From 920c0a3323f0344864053f750bfe3596b5fa51a1 Mon Sep 17 00:00:00 2001 From: Rishabh Tanwar Date: Tue, 19 Dec 2023 06:28:42 +0000 Subject: [PATCH 001/317] [BABELFISH] Add logic to dump grants of bbf_role_admin Signed-off-by: Rishabh Tanwar --- src/bin/pg_dump/dumpall_babel_utils.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/bin/pg_dump/dumpall_babel_utils.c b/src/bin/pg_dump/dumpall_babel_utils.c index e2bb24483dd..fc86b2fef82 100644 --- a/src/bin/pg_dump/dumpall_babel_utils.c +++ b/src/bin/pg_dump/dumpall_babel_utils.c @@ -236,7 +236,7 @@ getBabelfishRolesQuery(PGconn *conn, PQExpBuffer buf, char *role_catalog, "SELECT rolname " "FROM bbf_roles " "WHERE rolname !~ '^pg_' " - "AND rolname NOT IN ('sysadmin', " + "AND rolname NOT IN ('sysadmin', 'bbf_role_admin', " "'master_dbo', 'master_db_owner', 'master_guest', " "'msdb_dbo', 'msdb_db_owner', 'msdb_guest', " "'tempdb_dbo', 'tempdb_db_owner', 'tempdb_guest') " @@ -253,7 +253,7 @@ getBabelfishRolesQuery(PGconn *conn, PQExpBuffer buf, char *role_catalog, "rolname = current_user AS is_current_user " "FROM bbf_roles " "WHERE rolname !~ '^pg_' " - "AND rolname NOT IN ('sysadmin', " + "AND rolname NOT IN ('sysadmin', 'bbf_role_admin', " "'master_dbo', 'master_db_owner', 'master_guest', " "'msdb_dbo', 'msdb_db_owner', 'msdb_guest', " "'tempdb_dbo', 'tempdb_db_owner', 'tempdb_guest') " @@ -299,7 +299,8 @@ getBabelfishRoleMembershipQuery(PGconn *conn, PQExpBuffer buf, /* Just include sysadmin role memberships in case of Babelfish logical database dump. */ else appendPQExpBufferStr(buf, - "SELECT 'sysadmin' AS rolname UNION "); + "SELECT 'sysadmin' AS rolname UNION " + "SELECT 'bbf_role_admin' AS rolname UNION "); appendPQExpBuffer(buf, "SELECT rolname FROM sys.babelfish_authid_user_ext "); /* Only dump users of the specific logical database we are currently dumping. */ From bfd18c5e95c8a6defa85741ab1482e46020d1fd9 Mon Sep 17 00:00:00 2001 From: Rishabh Tanwar Date: Tue, 19 Dec 2023 10:26:02 +0000 Subject: [PATCH 002/317] [BABELFISH] Do not dump bbf_role_admin catalog entry Signed-off-by: Rishabh Tanwar --- src/bin/pg_dump/dump_babel_utils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/pg_dump/dump_babel_utils.c b/src/bin/pg_dump/dump_babel_utils.c index a60182c1b8d..4d3ebb2106b 100644 --- a/src/bin/pg_dump/dump_babel_utils.c +++ b/src/bin/pg_dump/dump_babel_utils.c @@ -1114,7 +1114,7 @@ addFromClauseForPhysicalDatabaseDump(PQExpBuffer buf, TableInfo *tbinfo) } else if(strcmp(tbinfo->dobj.name, "babelfish_authid_login_ext") == 0) appendPQExpBuffer(buf, " FROM ONLY %s a " - "WHERE a.rolname NOT IN ('sysadmin', '%s')", /* Do not dump sysadmin and Babelfish initialize user */ + "WHERE a.rolname NOT IN ('sysadmin', 'bbf_role_admin', '%s')", /* Do not dump sysadmin, bbf_role_admin and Babelfish initialize user */ fmtQualifiedDumpable(tbinfo), babel_init_user); else if(strcmp(tbinfo->dobj.name, "babelfish_domain_mapping") == 0 || strcmp(tbinfo->dobj.name, "babelfish_function_ext") == 0 || From 3c745b49e347ca30b8120e886b71d44fccd27201 Mon Sep 17 00:00:00 2001 From: Rishabh Tanwar Date: Wed, 20 Dec 2023 15:09:43 +0000 Subject: [PATCH 003/317] [BABELFISH] Do not dump default grants Signed-off-by: Rishabh Tanwar --- src/bin/pg_dump/dumpall_babel_utils.c | 30 +++++++++++++-------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/bin/pg_dump/dumpall_babel_utils.c b/src/bin/pg_dump/dumpall_babel_utils.c index fc86b2fef82..f6d74a52b80 100644 --- a/src/bin/pg_dump/dumpall_babel_utils.c +++ b/src/bin/pg_dump/dumpall_babel_utils.c @@ -35,6 +35,11 @@ typedef enum { static babelfish_status bbf_status = NONE; +static char default_bbf_roles[] = "('sysadmin', 'bbf_role_admin', " + "'master_dbo', 'master_db_owner', 'master_guest', " + "'msdb_dbo', 'msdb_db_owner', 'msdb_guest', " + "'tempdb_dbo', 'tempdb_db_owner', 'tempdb_guest')"; + /* * Run a query, return the results, exit program on failure. */ @@ -232,15 +237,12 @@ getBabelfishRolesQuery(PGconn *conn, PQExpBuffer buf, char *role_catalog, if (drop_query) { - appendPQExpBufferStr(buf, - "SELECT rolname " - "FROM bbf_roles " - "WHERE rolname !~ '^pg_' " - "AND rolname NOT IN ('sysadmin', 'bbf_role_admin', " - "'master_dbo', 'master_db_owner', 'master_guest', " - "'msdb_dbo', 'msdb_db_owner', 'msdb_guest', " - "'tempdb_dbo', 'tempdb_db_owner', 'tempdb_guest') " - "ORDER BY 1 "); + appendPQExpBuffer(buf, + "SELECT rolname " + "FROM bbf_roles " + "WHERE rolname !~ '^pg_' " + "AND rolname NOT IN %s " + "ORDER BY 1 ", default_bbf_roles); } else { @@ -253,11 +255,8 @@ getBabelfishRolesQuery(PGconn *conn, PQExpBuffer buf, char *role_catalog, "rolname = current_user AS is_current_user " "FROM bbf_roles " "WHERE rolname !~ '^pg_' " - "AND rolname NOT IN ('sysadmin', 'bbf_role_admin', " - "'master_dbo', 'master_db_owner', 'master_guest', " - "'msdb_dbo', 'msdb_db_owner', 'msdb_guest', " - "'tempdb_dbo', 'tempdb_db_owner', 'tempdb_guest') " - "ORDER BY 2 ", role_catalog); + "AND rolname NOT IN %s " + "ORDER BY 2 ", role_catalog, default_bbf_roles); } } @@ -334,5 +333,6 @@ getBabelfishRoleMembershipQuery(PGconn *conn, PQExpBuffer buf, "INNER JOIN bbf_roles um on um.oid = a.member " "LEFT JOIN bbf_roles ug on ug.oid = a.grantor " "WHERE NOT (ur.rolname ~ '^pg_' AND um.rolname ~ '^pg_') " - "ORDER BY 1,2,4"); + "AND NOT (ur.rolname IN %s AND um.rolname IN %s) " + "ORDER BY 1,2,4", default_bbf_roles, default_bbf_roles); } From b5582898b2f6a24749266a66131b225d04e3d387 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 29 Jun 2023 19:14:22 -0400 Subject: [PATCH 004/317] Arm gen_node_support.pl's nodetag ABI stability check in v16. Per RELEASE_CHANGES checklist. --- src/backend/nodes/gen_node_support.pl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/nodes/gen_node_support.pl b/src/backend/nodes/gen_node_support.pl index 7371502c83e..ddb11a69bf8 100644 --- a/src/backend/nodes/gen_node_support.pl +++ b/src/backend/nodes/gen_node_support.pl @@ -106,8 +106,8 @@ sub elem # In HEAD, these variables should be left undef, since we don't promise # ABI stability during development. -my $last_nodetag = undef; -my $last_nodetag_no = undef; +my $last_nodetag = 'WindowObjectData'; +my $last_nodetag_no = 454; # output file names my @output_files; From e7aea2787fcbf160923b8986452e4795b9676dfa Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Fri, 30 Jun 2023 13:54:53 +0900 Subject: [PATCH 005/317] Fix marking of indisvalid for partitioned indexes at creation The logic that introduced partitioned indexes missed a few things when invalidating a partitioned index when these are created, still the code is written to handle recursions: 1) If created from scratch because a mapping index could not be found, the new index created could be itself invalid, if for example it was a partitioned index with one of its leaves invalid. 2) A CCI was missing when indisvalid is set for a parent index, leading to inconsistent trees when recursing across more than one level for a partitioned index creation if an invalidation of the parent was required. This could lead to the creation of a partition index tree where some of the partitioned indexes are marked as invalid, but some of the parents are marked valid, which is not something that should happen (as validatePartitionedIndex() defines, indisvalid is switched to true for a partitioned index iff all its partitions are themselves valid). This patch makes sure that indisvalid is set to false on a partitioned index if at least one of its partition is invalid. The flag is set to true if *all* its partitions are valid. The regression test added in this commit abuses of a failed concurrent index creation, marked as invalid, that maps with an index created on its partitioned table afterwards. Reported-by: Alexander Lakhin Reviewed-by: Alexander Lakhin Discussion: https://postgr.es/m/14987634-43c0-0cb3-e075-94d423607e08@gmail.com Backpatch-through: 11 --- src/backend/commands/indexcmds.c | 31 +++++++++++++++++------ src/test/regress/expected/indexing.out | 35 ++++++++++++++++++++++++++ src/test/regress/sql/indexing.sql | 26 +++++++++++++++++++ 3 files changed, 85 insertions(+), 7 deletions(-) diff --git a/src/backend/commands/indexcmds.c b/src/backend/commands/indexcmds.c index 9bc97e1fc21..403f5fc143f 100644 --- a/src/backend/commands/indexcmds.c +++ b/src/backend/commands/indexcmds.c @@ -1416,6 +1416,7 @@ DefineIndex(Oid relationId, IndexStmt *childStmt = copyObject(stmt); bool found_whole_row; ListCell *lc; + ObjectAddress childAddr; /* * We can't use the same index name for the child index, @@ -1469,15 +1470,25 @@ DefineIndex(Oid relationId, Assert(GetUserId() == child_save_userid); SetUserIdAndSecContext(root_save_userid, root_save_sec_context); - DefineIndex(childRelid, childStmt, - InvalidOid, /* no predefined OID */ - indexRelationId, /* this is our child */ - createdConstraintId, - -1, - is_alter_table, check_rights, check_not_in_use, - skip_build, quiet); + childAddr = + DefineIndex(childRelid, childStmt, + InvalidOid, /* no predefined OID */ + indexRelationId, /* this is our child */ + createdConstraintId, + -1, + is_alter_table, check_rights, + check_not_in_use, + skip_build, quiet); SetUserIdAndSecContext(child_save_userid, child_save_sec_context); + + /* + * Check if the index just created is valid or not, as it + * could be possible that it has been switched as invalid + * when recursing across multiple partition levels. + */ + if (!get_index_isvalid(childAddr.objectId)) + invalidate_parent = true; } free_attrmap(attmap); @@ -1507,6 +1518,12 @@ DefineIndex(Oid relationId, ReleaseSysCache(tup); table_close(pg_index, RowExclusiveLock); heap_freetuple(newtup); + + /* + * CCI here to make this update visible, in case this recurses + * across multiple partition levels. + */ + CommandCounterIncrement(); } } diff --git a/src/test/regress/expected/indexing.out b/src/test/regress/expected/indexing.out index 64edc16a61a..3e5645c2ab6 100644 --- a/src/test/regress/expected/indexing.out +++ b/src/test/regress/expected/indexing.out @@ -1451,3 +1451,38 @@ select indexrelid::regclass, indisvalid, (5 rows) drop table parted_inval_tab; +-- Check setup of indisvalid across a complex partition tree on index +-- creation. If one index in a partition index is invalid, so should its +-- partitioned index. +create table parted_isvalid_tab (a int, b int) partition by range (a); +create table parted_isvalid_tab_1 partition of parted_isvalid_tab + for values from (1) to (10) partition by range (a); +create table parted_isvalid_tab_2 partition of parted_isvalid_tab + for values from (10) to (20) partition by range (a); +create table parted_isvalid_tab_11 partition of parted_isvalid_tab_1 + for values from (1) to (5); +create table parted_isvalid_tab_12 partition of parted_isvalid_tab_1 + for values from (5) to (10); +-- create an invalid index on one of the partitions. +insert into parted_isvalid_tab_11 values (1, 0); +create index concurrently parted_isvalid_idx_11 on parted_isvalid_tab_11 ((a/b)); +ERROR: division by zero +-- The previous invalid index is selected, invalidating all the indexes up to +-- the top-most parent. +create index parted_isvalid_idx on parted_isvalid_tab ((a/b)); +select indexrelid::regclass, indisvalid, + indrelid::regclass, inhparent::regclass + from pg_index idx left join + pg_inherits inh on (idx.indexrelid = inh.inhrelid) + where indexrelid::regclass::text like 'parted_isvalid%' + order by indexrelid::regclass::text collate "C"; + indexrelid | indisvalid | indrelid | inhparent +--------------------------------+------------+-----------------------+------------------------------- + parted_isvalid_idx | f | parted_isvalid_tab | + parted_isvalid_idx_11 | f | parted_isvalid_tab_11 | parted_isvalid_tab_1_expr_idx + parted_isvalid_tab_12_expr_idx | t | parted_isvalid_tab_12 | parted_isvalid_tab_1_expr_idx + parted_isvalid_tab_1_expr_idx | f | parted_isvalid_tab_1 | parted_isvalid_idx + parted_isvalid_tab_2_expr_idx | t | parted_isvalid_tab_2 | parted_isvalid_idx +(5 rows) + +drop table parted_isvalid_tab; diff --git a/src/test/regress/sql/indexing.sql b/src/test/regress/sql/indexing.sql index e0b4e130379..d6e5a06d95a 100644 --- a/src/test/regress/sql/indexing.sql +++ b/src/test/regress/sql/indexing.sql @@ -782,3 +782,29 @@ select indexrelid::regclass, indisvalid, where indexrelid::regclass::text like 'parted_inval%' order by indexrelid::regclass::text collate "C"; drop table parted_inval_tab; + +-- Check setup of indisvalid across a complex partition tree on index +-- creation. If one index in a partition index is invalid, so should its +-- partitioned index. +create table parted_isvalid_tab (a int, b int) partition by range (a); +create table parted_isvalid_tab_1 partition of parted_isvalid_tab + for values from (1) to (10) partition by range (a); +create table parted_isvalid_tab_2 partition of parted_isvalid_tab + for values from (10) to (20) partition by range (a); +create table parted_isvalid_tab_11 partition of parted_isvalid_tab_1 + for values from (1) to (5); +create table parted_isvalid_tab_12 partition of parted_isvalid_tab_1 + for values from (5) to (10); +-- create an invalid index on one of the partitions. +insert into parted_isvalid_tab_11 values (1, 0); +create index concurrently parted_isvalid_idx_11 on parted_isvalid_tab_11 ((a/b)); +-- The previous invalid index is selected, invalidating all the indexes up to +-- the top-most parent. +create index parted_isvalid_idx on parted_isvalid_tab ((a/b)); +select indexrelid::regclass, indisvalid, + indrelid::regclass, inhparent::regclass + from pg_index idx left join + pg_inherits inh on (idx.indexrelid = inh.inhrelid) + where indexrelid::regclass::text like 'parted_isvalid%' + order by indexrelid::regclass::text collate "C"; +drop table parted_isvalid_tab; From 38d486a68f3be3c4c17ed2c96f524a9f2ed11958 Mon Sep 17 00:00:00 2001 From: Amit Langote Date: Fri, 30 Jun 2023 15:48:54 +0900 Subject: [PATCH 006/317] Add a test case for a316a3bc a316a3bc fixed the code in build_simpl_rel() that propagates RelOptInfo.userid from parent to child rels so that it works correctly for the child rels of a UNION ALL subquery rel, though no tests were added in that commit. So do so here. As noted in the discussion, coming up with a test case in the core regression suite for this fix has turned out to be tricky, so the test case is added to the postgres_fdw's suite instead. postgresGetForeignRelSize()'s use of user mapping for the user specified in RelOptInfo.userid makes it relatively easier to craft a test case around. Discussion: https://postgr.es/m/CA%2BHiwqH91GaFNXcXbLAM9L%3DzBwUmSyv699Mtv3i1_xtk9Xec_A%40mail.gmail.com Backpatch-through: 16 --- .../postgres_fdw/expected/postgres_fdw.out | 42 +++++++++++++++++++ contrib/postgres_fdw/sql/postgres_fdw.sql | 23 ++++++++++ 2 files changed, 65 insertions(+) diff --git a/contrib/postgres_fdw/expected/postgres_fdw.out b/contrib/postgres_fdw/expected/postgres_fdw.out index c8c4614b547..6513b3fff23 100644 --- a/contrib/postgres_fdw/expected/postgres_fdw.out +++ b/contrib/postgres_fdw/expected/postgres_fdw.out @@ -2689,6 +2689,48 @@ SELECT t1.c1, t2.c2 FROM v4 t1 LEFT JOIN ft5 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c (10 rows) ALTER VIEW v4 OWNER TO regress_view_owner; +-- ==================================================================== +-- Check that userid to use when querying the remote table is correctly +-- propagated into foreign rels present in subqueries under an UNION ALL +-- ==================================================================== +CREATE ROLE regress_view_owner_another; +ALTER VIEW v4 OWNER TO regress_view_owner_another; +GRANT SELECT ON ft4 TO regress_view_owner_another; +ALTER FOREIGN TABLE ft4 OPTIONS (ADD use_remote_estimate 'true'); +-- The following should query the remote backing table of ft4 as user +-- regress_view_owner_another, the view owner, though it fails as expected +-- due to the lack of a user mapping for that user. +EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM v4; +ERROR: user mapping not found for "regress_view_owner_another" +-- Likewise, but with the query under an UNION ALL +EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM (SELECT * FROM v4 UNION ALL SELECT * FROM v4); +ERROR: user mapping not found for "regress_view_owner_another" +-- Should not get that error once a user mapping is created +CREATE USER MAPPING FOR regress_view_owner_another SERVER loopback OPTIONS (password_required 'false'); +EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM v4; + QUERY PLAN +-------------------------------------------------- + Foreign Scan on public.ft4 + Output: ft4.c1, ft4.c2, ft4.c3 + Remote SQL: SELECT c1, c2, c3 FROM "S 1"."T 3" +(3 rows) + +EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM (SELECT * FROM v4 UNION ALL SELECT * FROM v4); + QUERY PLAN +-------------------------------------------------------- + Append + -> Foreign Scan on public.ft4 + Output: ft4.c1, ft4.c2, ft4.c3 + Remote SQL: SELECT c1, c2, c3 FROM "S 1"."T 3" + -> Foreign Scan on public.ft4 ft4_1 + Output: ft4_1.c1, ft4_1.c2, ft4_1.c3 + Remote SQL: SELECT c1, c2, c3 FROM "S 1"."T 3" +(7 rows) + +DROP USER MAPPING FOR regress_view_owner_another SERVER loopback; +DROP OWNED BY regress_view_owner_another; +DROP ROLE regress_view_owner_another; +ALTER FOREIGN TABLE ft4 OPTIONS (SET use_remote_estimate 'false'); -- cleanup DROP OWNED BY regress_view_owner; DROP ROLE regress_view_owner; diff --git a/contrib/postgres_fdw/sql/postgres_fdw.sql b/contrib/postgres_fdw/sql/postgres_fdw.sql index b54903ad8fa..e94abb7da81 100644 --- a/contrib/postgres_fdw/sql/postgres_fdw.sql +++ b/contrib/postgres_fdw/sql/postgres_fdw.sql @@ -714,6 +714,29 @@ SELECT t1.c1, t2.c2 FROM v4 t1 LEFT JOIN ft5 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c SELECT t1.c1, t2.c2 FROM v4 t1 LEFT JOIN ft5 t2 ON (t1.c1 = t2.c1) ORDER BY t1.c1, t2.c1 OFFSET 10 LIMIT 10; ALTER VIEW v4 OWNER TO regress_view_owner; +-- ==================================================================== +-- Check that userid to use when querying the remote table is correctly +-- propagated into foreign rels present in subqueries under an UNION ALL +-- ==================================================================== +CREATE ROLE regress_view_owner_another; +ALTER VIEW v4 OWNER TO regress_view_owner_another; +GRANT SELECT ON ft4 TO regress_view_owner_another; +ALTER FOREIGN TABLE ft4 OPTIONS (ADD use_remote_estimate 'true'); +-- The following should query the remote backing table of ft4 as user +-- regress_view_owner_another, the view owner, though it fails as expected +-- due to the lack of a user mapping for that user. +EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM v4; +-- Likewise, but with the query under an UNION ALL +EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM (SELECT * FROM v4 UNION ALL SELECT * FROM v4); +-- Should not get that error once a user mapping is created +CREATE USER MAPPING FOR regress_view_owner_another SERVER loopback OPTIONS (password_required 'false'); +EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM v4; +EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM (SELECT * FROM v4 UNION ALL SELECT * FROM v4); +DROP USER MAPPING FOR regress_view_owner_another SERVER loopback; +DROP OWNED BY regress_view_owner_another; +DROP ROLE regress_view_owner_another; +ALTER FOREIGN TABLE ft4 OPTIONS (SET use_remote_estimate 'false'); + -- cleanup DROP OWNED BY regress_view_owner; DROP ROLE regress_view_owner; From ccc4e0e308385e2fd9ae3d3f60d688904e61aeed Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Fri, 30 Jun 2023 17:35:47 -0400 Subject: [PATCH 007/317] doc: PG 16 relnotes, remove "Have initdb use ICU by default" Item reverted. Backpatch-through: 16 only --- doc/src/sgml/release-16.sgml | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/doc/src/sgml/release-16.sgml b/doc/src/sgml/release-16.sgml index 21fe8bb4868..38eea97d240 100644 --- a/doc/src/sgml/release-16.sgml +++ b/doc/src/sgml/release-16.sgml @@ -2399,21 +2399,6 @@ Options like "--compress=gzip:5". - - - - -Have initdb use ICU by default if ICU is enabled in the binary (Jeff Davis) - - - -Option --locale-provider=libc can be used to disable ICU. - - - - - - -Create a predefined role and grantable privilege with permission to perform maintenance operations (Nathan Bossart) - - - -The predefined role is is called pg_maintain. - - - + + + +Allow huge pages to work on newer versions of Windows 10 (Thomas Munro) + + + +This adds the special handling required to enable huge pages on newer versions of Windows 10. + + + + + + +Restrict the privileges of CREATEROLE and its ability to modify other roles (Robert Haas) + + + +Previously roles with CREATEROLE privileges could change many aspects of any non-superuser role. Such changes, including adding members, now require the role requesting the change to have ADMIN OPTION +permission. For example, they can now change the CREATEDB, REPLICATION, and BYPASSRLS properties only if they also have those permissions. + + + - - - -Restrict the privileges of CREATEROLE roles (Robert Haas) - - - -Previously roles with CREATEROLE privileges could change many aspects of any non-superuser role. Such changes, including adding members, now require the role requesting the change to have ADMIN OPTION -permission. - - - - - - - -Improve logic of CREATEROLE roles ability to control other roles (Robert Haas) - - - -For example, they can change the CREATEDB, REPLICATION, and BYPASSRLS properties only if they also have those permissions. - - - - - - -Remove libpq support for SCM credential authentication (Michael Paquier) - - - -Backend support for this authentication method was removed in PostgreSQL 9.1. - - - - - - -Deprecate createuser option --role (Nathan Bossart) - - - -This option could be easily confused with new createuser role membership options, so option --member-of has been added with the same functionality. -The --role option can still be used. - - - + + + +Deprecate createuser option --role (Nathan Bossart) + + + +This option could be easily confused with new createuser role membership options, so option --member-of has been added with the same functionality. +The --role option can still be used. + + + + + + +Remove libpq support for SCM credential authentication (Michael Paquier) + + + +Backend support for this authentication method was removed in PostgreSQL 9.1. + + + + + + +Allow pg_hba.conf tokens to be of unlimited length (Tom Lane) + + + -Allow psql's access privilege commands to show system objects (Nathan Bossart) +Allow psql's access privilege commands to show system objects (Nathan Bossart, Pavel Luzanov) -The options are \dpS and \zS. +The options are \dpS, \zS, and \drg. From 9308f318f0cf168787733c75a4973fc8807635be Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Tue, 15 Aug 2023 10:20:11 +1200 Subject: [PATCH 098/317] De-pessimize ConditionVariableCancelSleep(). Commit b91dd9de was concerned with a theoretical problem with our non-atomic condition variable operations. If you stop sleeping, and then cancel the sleep in a separate step, you might be signaled in between, and that could be lost. That doesn't matter for callers of ConditionVariableBroadcast(), but callers of ConditionVariableSignal() might be upset if a signal went missing like this. Commit bc971f4025c interacted badly with that logic, because it doesn't use ConditionVariableSleep(), which would normally put us back in the wait list. ConditionVariableCancelSleep() would be confused and think we'd received an extra signal, and try to forward it to another backend, resulting in wakeup storms. New idea: ConditionVariableCancelSleep() can just return true if we've been signaled. Hypothetical users of ConditionVariableSignal() would then still have a way to deal with rare lost signals if they are concerned about that problem. Back-patch to 16, where bc971f4025c arrived. Reported-by: Tomas Vondra Reviewed-by: Andres Freund Discussion: https://postgr.es/m/2840876b-4cfe-240f-0a7e-29ffd66711e7%40enterprisedb.com --- src/backend/storage/lmgr/condition_variable.c | 16 ++++++---------- src/include/storage/condition_variable.h | 2 +- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/src/backend/storage/lmgr/condition_variable.c b/src/backend/storage/lmgr/condition_variable.c index 7e2bbf46d9d..910a768206f 100644 --- a/src/backend/storage/lmgr/condition_variable.c +++ b/src/backend/storage/lmgr/condition_variable.c @@ -223,15 +223,17 @@ ConditionVariableTimedSleep(ConditionVariable *cv, long timeout, * * Do nothing if nothing is pending; this allows this function to be called * during transaction abort to clean up any unfinished CV sleep. + * + * Return true if we've been signaled. */ -void +bool ConditionVariableCancelSleep(void) { ConditionVariable *cv = cv_sleep_target; bool signaled = false; if (cv == NULL) - return; + return false; SpinLockAcquire(&cv->mutex); if (proclist_contains(&cv->wakeup, MyProc->pgprocno, cvWaitLink)) @@ -240,15 +242,9 @@ ConditionVariableCancelSleep(void) signaled = true; SpinLockRelease(&cv->mutex); - /* - * If we've received a signal, pass it on to another waiting process, if - * there is one. Otherwise a call to ConditionVariableSignal() might get - * lost, despite there being another process ready to handle it. - */ - if (signaled) - ConditionVariableSignal(cv); - cv_sleep_target = NULL; + + return signaled; } /* diff --git a/src/include/storage/condition_variable.h b/src/include/storage/condition_variable.h index 589bdd323cb..e218cb2c499 100644 --- a/src/include/storage/condition_variable.h +++ b/src/include/storage/condition_variable.h @@ -56,7 +56,7 @@ extern void ConditionVariableInit(ConditionVariable *cv); extern void ConditionVariableSleep(ConditionVariable *cv, uint32 wait_event_info); extern bool ConditionVariableTimedSleep(ConditionVariable *cv, long timeout, uint32 wait_event_info); -extern void ConditionVariableCancelSleep(void); +extern bool ConditionVariableCancelSleep(void); /* * Optionally, ConditionVariablePrepareToSleep can be called before entering From b95301fda6c1466dcb05ca0a168072c4c4b5ff16 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 15 Aug 2023 09:15:21 -0400 Subject: [PATCH 099/317] doc: PG 16 relnotes, update "current as of" date Backpatch-through: 16 only --- doc/src/sgml/release-16.sgml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/sgml/release-16.sgml b/doc/src/sgml/release-16.sgml index 1f54f2c8dc3..6e86ffb3bac 100644 --- a/doc/src/sgml/release-16.sgml +++ b/doc/src/sgml/release-16.sgml @@ -6,7 +6,7 @@ Release date: - AS OF 2023-08-09, 2023-??-?? + AS OF 2023-08-14, 2023-??-?? From f10acecae445f45427079fe94aad0f078a2a59e8 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 16 Aug 2023 15:09:50 +0200 Subject: [PATCH 100/317] Improved CREATE SUBSCRIPTION message for clarity Discussion: https://www.postgresql.org/message-id/CAHut+PtfzQ7JRkb0-Y_UejAxaLQ17-bGMvV4MJJHcPoP3ML2bg@mail.gmail.com --- src/backend/commands/subscriptioncmds.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/commands/subscriptioncmds.c b/src/backend/commands/subscriptioncmds.c index d4e798baeb1..34d881fd94f 100644 --- a/src/backend/commands/subscriptioncmds.c +++ b/src/backend/commands/subscriptioncmds.c @@ -2023,8 +2023,8 @@ check_publications_origin(WalReceiverConn *wrconn, List *publications, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("subscription \"%s\" requested copy_data with origin = NONE but might copy data that had a different origin", subname), - errdetail_plural("Subscribed publication %s is subscribing to other publications.", - "Subscribed publications %s are subscribing to other publications.", + errdetail_plural("The subscription being created subscribes to a publication (%s) that contains tables that are written to by other subscriptions.", + "The subscription being created subscribes to publications (%s) that contain tables that are written to by other subscriptions.", list_length(publist), pubnames->data), errhint("Verify that initial data copied from the publisher tables did not come from other origins.")); } From b77f877c7be2fa2655f34a8f7267b0817ffdb431 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 16 Aug 2023 16:17:00 +0200 Subject: [PATCH 101/317] Unify some error messages We had essentially the same error in several different wordings. Unify that. --- src/backend/utils/adt/json.c | 4 ++-- src/backend/utils/adt/jsonb_util.c | 2 +- .../ecpg/test/expected/sql-sqljson.stderr | 6 ++--- src/test/regress/expected/sqljson.out | 22 +++++++++---------- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/backend/utils/adt/json.c b/src/backend/utils/adt/json.c index 86ee3521e4e..534fc08322b 100644 --- a/src/backend/utils/adt/json.c +++ b/src/backend/utils/adt/json.c @@ -1186,7 +1186,7 @@ json_object_agg_transfn_worker(FunctionCallInfo fcinfo, if (!json_unique_check_key(&state->unique_check.check, key, 0)) ereport(ERROR, errcode(ERRCODE_DUPLICATE_JSON_OBJECT_KEY_VALUE), - errmsg("duplicate JSON key %s", key)); + errmsg("duplicate JSON object key value: %s", key)); if (skip) PG_RETURN_POINTER(state); @@ -1349,7 +1349,7 @@ json_build_object_worker(int nargs, Datum *args, bool *nulls, Oid *types, if (!json_unique_check_key(&unique_check.check, key, 0)) ereport(ERROR, errcode(ERRCODE_DUPLICATE_JSON_OBJECT_KEY_VALUE), - errmsg("duplicate JSON key %s", key)); + errmsg("duplicate JSON object key value: %s", key)); if (skip) continue; diff --git a/src/backend/utils/adt/jsonb_util.c b/src/backend/utils/adt/jsonb_util.c index 9c8f20e8438..6bce2e92201 100644 --- a/src/backend/utils/adt/jsonb_util.c +++ b/src/backend/utils/adt/jsonb_util.c @@ -2073,7 +2073,7 @@ uniqueifyJsonbObject(JsonbValue *object, bool unique_keys, bool skip_nulls) if (hasNonUniq && unique_keys) ereport(ERROR, errcode(ERRCODE_DUPLICATE_JSON_OBJECT_KEY_VALUE), - errmsg("duplicate JSON object key")); + errmsg("duplicate JSON object key value")); if (hasNonUniq || skip_nulls) { diff --git a/src/interfaces/ecpg/test/expected/sql-sqljson.stderr b/src/interfaces/ecpg/test/expected/sql-sqljson.stderr index 1252cb3b66a..73dee297c04 100644 --- a/src/interfaces/ecpg/test/expected/sql-sqljson.stderr +++ b/src/interfaces/ecpg/test/expected/sql-sqljson.stderr @@ -42,11 +42,11 @@ [NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: ecpg_execute on line 33: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_check_PQresult on line 33: bad response - ERROR: duplicate JSON key "1" +[NO_PID]: ecpg_check_PQresult on line 33: bad response - ERROR: duplicate JSON object key value: "1" [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: raising sqlstate 22030 (sqlcode -400): duplicate JSON key "1" on line 33 +[NO_PID]: raising sqlstate 22030 (sqlcode -400): duplicate JSON object key value: "1" on line 33 [NO_PID]: sqlca: code: -400, state: 22030 -SQL error: duplicate JSON key "1" on line 33 +SQL error: duplicate JSON object key value: "1" on line 33 [NO_PID]: ecpg_execute on line 36: query: select json_object ( 1 : 1 , '2' : null , 1 : '2' absent on null without unique keys ); with 0 parameter(s) on connection ecpg1_regression [NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: ecpg_execute on line 36: using PQexec diff --git a/src/test/regress/expected/sqljson.out b/src/test/regress/expected/sqljson.out index d73c7e2c6cc..11ebf4403b0 100644 --- a/src/test/regress/expected/sqljson.out +++ b/src/test/regress/expected/sqljson.out @@ -254,17 +254,17 @@ SELECT JSON_OBJECT('a': '1', 'b': NULL, 'c': 2 ABSENT ON NULL); (1 row) SELECT JSON_OBJECT(1: 1, '1': NULL WITH UNIQUE); -ERROR: duplicate JSON key "1" +ERROR: duplicate JSON object key value: "1" SELECT JSON_OBJECT(1: 1, '1': NULL ABSENT ON NULL WITH UNIQUE); -ERROR: duplicate JSON key "1" +ERROR: duplicate JSON object key value: "1" SELECT JSON_OBJECT(1: 1, '1': NULL NULL ON NULL WITH UNIQUE RETURNING jsonb); -ERROR: duplicate JSON object key +ERROR: duplicate JSON object key value SELECT JSON_OBJECT(1: 1, '1': NULL ABSENT ON NULL WITH UNIQUE RETURNING jsonb); -ERROR: duplicate JSON object key +ERROR: duplicate JSON object key value SELECT JSON_OBJECT(1: 1, '2': NULL, '1': 1 NULL ON NULL WITH UNIQUE); -ERROR: duplicate JSON key "1" +ERROR: duplicate JSON object key value: "1" SELECT JSON_OBJECT(1: 1, '2': NULL, '1': 1 ABSENT ON NULL WITH UNIQUE); -ERROR: duplicate JSON key "1" +ERROR: duplicate JSON object key value: "1" SELECT JSON_OBJECT(1: 1, '2': NULL, '1': 1 ABSENT ON NULL WITHOUT UNIQUE); json_object -------------------- @@ -272,7 +272,7 @@ SELECT JSON_OBJECT(1: 1, '2': NULL, '1': 1 ABSENT ON NULL WITHOUT UNIQUE); (1 row) SELECT JSON_OBJECT(1: 1, '2': NULL, '1': 1 ABSENT ON NULL WITH UNIQUE RETURNING jsonb); -ERROR: duplicate JSON object key +ERROR: duplicate JSON object key value SELECT JSON_OBJECT(1: 1, '2': NULL, '1': 1 ABSENT ON NULL WITHOUT UNIQUE RETURNING jsonb); json_object ------------- @@ -613,10 +613,10 @@ FROM SELECT JSON_OBJECTAGG(k: v WITH UNIQUE KEYS) FROM (VALUES (1, 1), (1, NULL), (2, 2)) foo(k, v); -ERROR: duplicate JSON key "1" +ERROR: duplicate JSON object key value: "1" SELECT JSON_OBJECTAGG(k: v ABSENT ON NULL WITH UNIQUE KEYS) FROM (VALUES (1, 1), (1, NULL), (2, 2)) foo(k, v); -ERROR: duplicate JSON key "1" +ERROR: duplicate JSON object key value: "1" SELECT JSON_OBJECTAGG(k: v ABSENT ON NULL WITH UNIQUE KEYS) FROM (VALUES (1, 1), (0, NULL), (3, NULL), (2, 2), (4, NULL)) foo(k, v); json_objectagg @@ -626,10 +626,10 @@ FROM (VALUES (1, 1), (0, NULL), (3, NULL), (2, 2), (4, NULL)) foo(k, v); SELECT JSON_OBJECTAGG(k: v WITH UNIQUE KEYS RETURNING jsonb) FROM (VALUES (1, 1), (1, NULL), (2, 2)) foo(k, v); -ERROR: duplicate JSON object key +ERROR: duplicate JSON object key value SELECT JSON_OBJECTAGG(k: v ABSENT ON NULL WITH UNIQUE KEYS RETURNING jsonb) FROM (VALUES (1, 1), (1, NULL), (2, 2)) foo(k, v); -ERROR: duplicate JSON object key +ERROR: duplicate JSON object key value -- Test JSON_OBJECT deparsing EXPLAIN (VERBOSE, COSTS OFF) SELECT JSON_OBJECT('foo' : '1' FORMAT JSON, 'bar' : 'baz' RETURNING json); From a2545f47f66d2f587464dfb8d8ac0ccba482f0bb Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Wed, 16 Aug 2023 14:34:49 -0400 Subject: [PATCH 102/317] doc: PG 16 relnotes, initial markup Still need to add links to doc sections. Backpatch-through: 16 only --- doc/src/sgml/release-16.sgml | 547 +++++++++++++++++------------------ 1 file changed, 273 insertions(+), 274 deletions(-) diff --git a/doc/src/sgml/release-16.sgml b/doc/src/sgml/release-16.sgml index 6e86ffb3bac..a8e54bd137f 100644 --- a/doc/src/sgml/release-16.sgml +++ b/doc/src/sgml/release-16.sgml @@ -21,7 +21,7 @@ - Allow parallelization of FULL and internal right OUTER hash joins + Allow parallelization of FULL and internal right OUTER hash joins @@ -39,13 +39,13 @@ - Allow monitoring of I/O statistics using the new pg_stat_io view + Allow monitoring of I/O statistics using the new pg_stat_io view - Add SQL/JSON constructors and identity functions + Add SQL/JSON constructors and identity functions @@ -57,7 +57,7 @@ - Add support for regular expression matching of user and database names in pg_hba.conf, and user names in pg_ident.conf + Add support for regular expression matching of user and database names in pg_hba.conf, and user names in pg_ident.conf @@ -97,12 +97,12 @@ Author: Tom Lane -Change assignment rules for PL/pgSQL bound cursor variables (Tom Lane) +Change assignment rules for PL/pgSQL bound cursor variables (Tom Lane) -Previously, the string value of such variables was set to match the variable name during cursor assignment; now it will be assigned during OPEN, and will not match the variable name. -To restore the previous behavior, assign the desired portal name to the cursor variable before OPEN. +Previously, the string value of such variables was set to match the variable name during cursor assignment; now it will be assigned during OPEN, and will not match the variable name. +To restore the previous behavior, assign the desired portal name to the cursor variable before OPEN. @@ -113,7 +113,7 @@ Author: Daniel Gustafsson -Disallow NULLS NOT DISTINCT indexes for primary keys (Daniel Gustafsson) +Disallow NULLS NOT DISTINCT indexes for primary keys (Daniel Gustafsson) @@ -126,11 +126,11 @@ Author: Michael Paquier -Change REINDEX DATABASE and reindexdb to not process indexes on system catalogs (Simon Riggs) +Change REINDEX DATABASE and reindexdb to not process indexes on system catalogs (Simon Riggs) -Processing such indexes is still possible using REINDEX SYSTEM and reindexdb --system. +Processing such indexes is still possible using REINDEX SYSTEM and reindexdb --system. @@ -141,7 +141,7 @@ Author: Tom Lane -Tighten GENERATED expression restrictions on inherited and partitioned tables (Amit Langote, Tom Lane) +Tighten GENERATED expression restrictions on inherited and partitioned tables (Amit Langote, Tom Lane) @@ -156,7 +156,7 @@ Author: Michael Paquier -Remove pg_walinspect functions pg_get_wal_records_info_till_end_of_wal() and pg_get_wal_stats_till_end_of_wal() (Bharath Rupireddy) +Remove pg_walinspect functions pg_get_wal_records_info_till_end_of_wal() and pg_get_wal_stats_till_end_of_wal() (Bharath Rupireddy) @@ -169,7 +169,7 @@ Author: David Rowley -Rename server variable force_parallel_mode to debug_parallel_query (David Rowley) +Rename server variable force_parallel_mode to debug_parallel_query (David Rowley) @@ -180,7 +180,7 @@ Author: Tom Lane -Remove the ability to create views manually with ON SELECT rules (Tom Lane) +Remove the ability to create views manually with ON SELECT rules (Tom Lane) @@ -191,11 +191,11 @@ Author: Andres Freund -Remove the server variable vacuum_defer_cleanup_age (Andres Freund) +Remove the server variable vacuum_defer_cleanup_age (Andres Freund) -This has been unnecessary since hot_standby_feedback and replication slots were added. +This has been unnecessary since hot_standby_feedback and replication slots were added. @@ -206,11 +206,11 @@ Author: Thomas Munro -Remove server variable promote_trigger_file (Simon Riggs) +Remove server variable promote_trigger_file (Simon Riggs) -This was used to promote a standby to primary, but is now easier accomplished with pg_ctl promote or pg_promote(). +This was used to promote a standby to primary, but is now easier accomplished with pg_ctl promote or pg_promote(). @@ -221,7 +221,7 @@ Author: Peter Eisentraut -Remove read-only server variables lc_collate and lc_ctype (Peter Eisentraut) +Remove read-only server variables lc_collate and lc_ctype (Peter Eisentraut) @@ -238,12 +238,12 @@ Author: Robert Haas -Restrict the privileges of CREATEROLE and its ability to modify other roles (Robert Haas) +Restrict the privileges of CREATEROLE and its ability to modify other roles (Robert Haas) -Previously roles with CREATEROLE privileges could change many aspects of any non-superuser role. Such changes, including adding members, now require the role requesting the change to have ADMIN OPTION -permission. For example, they can now change the CREATEDB, REPLICATION, and BYPASSRLS properties only if they also have those permissions. +Previously roles with CREATEROLE privileges could change many aspects of any non-superuser role. Such changes, including adding members, now require the role requesting the change to have ADMIN OPTION +permission. For example, they can now change the CREATEDB, REPLICATION, and BYPASSRLS properties only if they also have those permissions. @@ -254,7 +254,7 @@ Author: Peter Eisentraut -Remove symbolic links for the postmaster binary (Peter Eisentraut) +Remove symbolic links for the postmaster binary (Peter Eisentraut) @@ -288,7 +288,7 @@ Author: David Rowley -Allow incremental sorts in more cases, including DISTINCT (David Rowley) +Allow incremental sorts in more cases, including DISTINCT (David Rowley) @@ -303,11 +303,11 @@ Author: David Rowley -Add the ability for aggregates having ORDER BY or DISTINCT to use pre-sorted data (David Rowley) +Add the ability for aggregates having ORDER BY or DISTINCT to use pre-sorted data (David Rowley) -This ability is new in this release and the server variable to disable it is called enable_presorted_aggregate. +The new server variable enable_presorted_aggregate can be used to disable this. @@ -318,7 +318,7 @@ Author: Tom Lane -Allow memoize atop a UNION ALL (Richard Guo) +Allow memoize atop a UNION ALL (Richard Guo) @@ -340,7 +340,7 @@ Author: Thomas Munro -Allow parallelization of FULL and internal right OUTER hash joins (Melanie Plageman, Thomas Munro) +Allow parallelization of FULL and internal right OUTER hash joins (Melanie Plageman, Thomas Munro) @@ -351,7 +351,7 @@ Author: Alexander Korotkov -Improve the accuracy of GIN index access optimizer costs (Ronan Dunklau) +Improve the accuracy of GIN index access optimizer costs (Ronan Dunklau) @@ -403,7 +403,7 @@ Author: David Rowley -Allow window functions to use ROWS mode internally when RANGE mode is specified but unnecessary (David Rowley) +Allow window functions to use ROWS mode internally when RANGE mode is specified but unnecessary (David Rowley) @@ -414,7 +414,7 @@ Author: David Rowley -Allow optimization of always-increasing window functions ntile(), cume_dist() and percent_rank() (David Rowley) +Allow optimization of always-increasing window functions ntile(), cume_dist() and percent_rank() (David Rowley) @@ -425,7 +425,7 @@ Author: David Rowley -Allow aggregate functions string_agg() and array_agg() to be parallelized (David Rowley) +Allow aggregate functions string_agg() and array_agg() to be parallelized (David Rowley) @@ -436,7 +436,7 @@ Author: David Rowley -Improve performance by caching RANGE and LIST partition lookups (Amit Langote, Hou Zhijie, David Rowley) +Improve performance by caching RANGE and LIST partition lookups (Amit Langote, Hou Zhijie, David Rowley) @@ -455,7 +455,7 @@ Allow control of the shared buffer usage by vacuum and analyze (Melanie Plageman -The VACUUM/ANALYZE option is BUFFER_USAGE_LIMIT, and the vacuumdb option is --buffer-usage-limit. The default value is set by server variable vacuum_buffer_usage_limit, which also controls autovacuum. +The VACUUM/ANALYZE option is BUFFER_USAGE_LIMIT, and the vacuumdb option is . The default value is set by server variable vacuum_buffer_usage_limit, which also controls autovacuum. @@ -466,7 +466,7 @@ Author: Thomas Munro -Support wal_sync_method=fdatasync on Windows (Thomas Munro) +Support wal_sync_method=fdatasync on Windows (Thomas Munro) @@ -477,7 +477,7 @@ Author: Tomas Vondra -Allow HOT updates if only BRIN-indexed columns are updated (Matthias van de Meent, Josef Simanek, Tomas Vondra) +Allow HOT updates if only BRIN-indexed columns are updated (Matthias van de Meent, Josef Simanek, Tomas Vondra) @@ -505,11 +505,11 @@ Author: John Naylor -Allow xid/subxid searches and ASCII string detection to use vector operations (Nathan Bossart, John Naylor) +Allow xid/subxid searches and ASCII string detection to use vector operations (Nathan Bossart, John Naylor) -ASCII detection is particularly useful for COPY FROM. Vector operations are also used for some C array searches. +ASCII detection is particularly useful for COPY FROM. Vector operations are also used for some C array searches. @@ -549,7 +549,7 @@ Author: Andres Freund -Add system view pg_stat_io view to track IO statistics (Melanie Plageman) +Add system view pg_stat_io view to track I/O statistics (Melanie Plageman) @@ -564,7 +564,7 @@ Record statistics on the last sequential and index scans on tables (Dave Page) -This information appears in pg_stat_all_tables and pg_stat_all_indexes. +This information appears in pg_stat_all_tables and pg_stat_all_indexes. @@ -579,7 +579,7 @@ Record statistics on the occurrence of updated rows moving to new pages (Corey H -The pg_stat_*_tables column is n_tup_newpage_upd. +The pg_stat_*_tables column is n_tup_newpage_upd. @@ -590,11 +590,11 @@ Author: Amit Kapila -Add speculative lock information to the pg_locks system view (Masahiko Sawada, Noriyoshi Shinoda) +Add speculative lock information to the pg_locks system view (Masahiko Sawada, Noriyoshi Shinoda) -The transaction id is displayed in the transactionid field and the speculative insertion token is displayed in the objid field. +The transaction id is displayed in the transactionid column and the speculative insertion token is displayed in the objid column. @@ -607,7 +607,7 @@ Author: Peter Eisentraut -Add the display of prepared statement result types to the pg_prepared_statements view (Dagfinn Ilmari Mannsåker) +Add the display of prepared statement result types to the pg_prepared_statements view (Dagfinn Ilmari Mannsåker) @@ -618,7 +618,7 @@ Author: Andres Freund -Create subscription statistics entries at subscription creation time so stats_reset is accurate (Andres Freund) +Create subscription statistics entries at subscription creation time so stats_reset is accurate (Andres Freund) @@ -633,7 +633,7 @@ Author: Andres Freund -Correct the IO accounting for temp relation writes shown in pg_stat_database (Melanie Plageman) +Correct the I/O accounting for temp relation writes shown in pg_stat_database (Melanie Plageman) @@ -644,7 +644,7 @@ Author: Robert Haas -Add function pg_stat_get_backend_subxact() to report on a session's subtransaction cache (Dilip Kumar) +Add function pg_stat_get_backend_subxact() to report on a session's subtransaction cache (Dilip Kumar) @@ -655,7 +655,7 @@ Author: Tom Lane -Have pg_stat_get_backend_idset(), pg_stat_get_backend_activity(), and related functions use the unchanging backend id (Nathan Bossart) +Have pg_stat_get_backend_idset(), pg_stat_get_backend_activity(), and related functions use the unchanging backend id (Nathan Bossart) @@ -681,7 +681,7 @@ Author: Andres Freund -Add wait event SpinDelay to report spinlock sleep delays (Andres Freund) +Add wait event SpinDelay to report spinlock sleep delays (Andres Freund) @@ -692,11 +692,11 @@ Author: Thomas Munro -Create new wait event "DSMAllocate" to indicate waiting for dynamic shared memory allocation (Thomas Munro) +Create new wait event DSMAllocate to indicate waiting for dynamic shared memory allocation (Thomas Munro) -Previously this type of wait was reported as "DSMFillZeroWrite", which was also used by mmap() allocations. +Previously this type of wait was reported as DSMFillZeroWrite, which was also used by mmap() allocations. @@ -707,11 +707,11 @@ Author: Michael Paquier -Add the database name to the process display of logical WAL senders (Tatsuhiro Nakamori) +Add the database name to the process display of logical WAL senders (Tatsuhiro Nakamori) -Physical WAL senders do not display a database name. +Physical WAL senders do not display a database name. @@ -722,7 +722,7 @@ Author: Fujii Masao -Add checkpoint and REDO LSN information to log_checkpoints messages (Bharath Rupireddy, Kyotaro Horiguchi) +Add checkpoint and REDO LSN information to log_checkpoints messages (Bharath Rupireddy, Kyotaro Horiguchi) @@ -753,7 +753,7 @@ Author: Robert Haas -Add predefined role pg_create_subscription with permission to create subscriptions (Robert Haas) +Add predefined role pg_create_subscription with permission to create subscriptions (Robert Haas) @@ -772,7 +772,7 @@ Allow subscriptions to not require passwords (Robert Haas) -This is accomplished with the option password_required=false. +This is accomplished with the option password_required=false. @@ -783,12 +783,12 @@ Author: Jeff Davis -Simplify permissions for LOCK TABLE (Jeff Davis) +Simplify permissions for LOCK TABLE (Jeff Davis) -Previously the ability to perform LOCK TABLE at various lock levels was bound to specific query-type permissions. For example, UPDATE could perform all lock levels except ACCESS SHARE, which -required SELECT permissions. Now UPDATE can issue all lock levels. MORE? +Previously the ability to perform LOCK TABLE at various lock levels was bound to specific query-type permissions. For example, UPDATE could perform all lock levels except ACCESS SHARE, which +required SELECT permissions. Now UPDATE can issue all lock levels. MORE? @@ -799,11 +799,11 @@ Author: Robert Haas -Allow "GRANT group_name TO user_name" to be performed with ADMIN OPTION (Robert Haas) +Allow GRANT group_name TO user_name to be performed with ADMIN OPTION (Robert Haas) -Previously CREATEROLE permission was required. +Previously CREATEROLE permission was required. @@ -814,11 +814,11 @@ Author: Robert Haas -Allow GRANT to control role inheritance behavior (Robert Haas) +Allow GRANT to control role inheritance behavior (Robert Haas) -By default, role inheritance is controlled by the inheritance status of the member role. The new GRANT clauses WITH INHERIT and WITH ADMIN can now override this. +By default, role inheritance is controlled by the inheritance status of the member role. The new GRANT clauses WITH INHERIT and WITH ADMIN can now override this. @@ -831,11 +831,11 @@ Author: Daniel Gustafsson -Allow roles that create other roles to automatically inherit the new role's rights or the ability to SET ROLE to the new role (Robert Haas, Shi Yu) +Allow roles that create other roles to automatically inherit the new role's rights or the ability to SET ROLE to the new role (Robert Haas, Shi Yu) -This is controlled by server variable createrole_self_grant. +This is controlled by server variable createrole_self_grant. @@ -891,11 +891,11 @@ Author: Robert Haas -Add GRANT to control permission to use SET ROLE (Robert Haas) +Add GRANT to control permission to use SET ROLE (Robert Haas) -This is controlled by a new GRANT ... SET option. +This is controlled by a new GRANT ... SET option. @@ -910,7 +910,7 @@ Add dependency tracking to roles which have granted privileges (Robert Haas) -For example, removing ADMIN OPTION will fail if there are privileges using that option; CASCADE must be used to revoke dependent permissions. +For example, removing ADMIN OPTION will fail if there are privileges using that option; CASCADE must be used to revoke dependent permissions. @@ -921,11 +921,11 @@ Author: Robert Haas -Add dependency tracking of grantors for GRANT records (Robert Haas) +Add dependency tracking of grantors for GRANT records (Robert Haas) -This guarantees that pg_auth_members.grantor values are always valid. +This guarantees that pg_auth_members.grantor values are always valid. @@ -968,11 +968,11 @@ Author: Tom Lane -Allow makeaclitem() to accept multiple privilege names (Robins Tharakan) +Allow makeaclitem() to accept multiple privilege names (Robins Tharakan) -Previously only a single privilege name, like SELECT, was accepted. +Previously only a single privilege name, like SELECT, was accepted. @@ -1002,8 +1002,7 @@ Add support for Kerberos credential delegation (Stephen Frost) -This is enabled with server variable gss_accept_delegation -and libpq connection parameter gssdelegation. +This is enabled with server variable gss_accept_delegation and libpq connection parameter gssdelegation. @@ -1014,7 +1013,7 @@ Author: Daniel Gustafsson -Allow the SCRAM iteration count to be set with server variable scram_iterations (Daniel Gustafsson) +Allow the SCRAM iteration count to be set with server variable scram_iterations (Daniel Gustafsson) @@ -1042,7 +1041,7 @@ Tighten restrictions on which server variables can be reset (Masahiko Sawada) -Previously, while certain variables, like transaction_isolation, were not affected by RESET ALL, they could be individually reset in inappropriate situations. +Previously, while certain variables, like transaction_isolation, were not affected by RESET ALL, they could be individually reset in inappropriate situations. @@ -1053,11 +1052,11 @@ Author: Michael Paquier -Move various postgresql.conf items into new categories (Shinya Kato) +Move various postgresql.conf items into new categories (Shinya Kato) -This also affects the categories displayed in the pg_settings view. +This also affects the categories displayed in the pg_settings view. @@ -1102,7 +1101,7 @@ Remove restrictions that archive files be durably renamed (Nathan Bossart) -The archive command is now more likely to be called with already-archived files after a crash. +The archive_command command is now more likely to be called with already-archived files after a crash. @@ -1113,11 +1112,11 @@ Author: Peter Eisentraut -Prevent archive_library and archive_command from being set at the same time (Nathan Bossart) +Prevent archive_library and archive_command from being set at the same time (Nathan Bossart) -Previously archive_library would override archive_command. +Previously archive_library would override archive_command. @@ -1133,8 +1132,8 @@ Allow the postmaster to terminate children with an abort signal (Tom Lane) This allows collection of a core dump for a stuck child process. -This is controlled by send_abort_for_crash and send_abort_for_kill. -The postmaster's -T switch is now the same as setting send_abort_for_crash. +This is controlled by send_abort_for_crash and send_abort_for_kill. +The postmaster's switch is now the same as setting send_abort_for_crash. @@ -1145,7 +1144,7 @@ Author: Tom Lane -Remove the non-functional postmaster -n option (Tom Lane) +Remove the non-functional postmaster option (Tom Lane) @@ -1156,11 +1155,11 @@ Author: Robert Haas -Allow the server to reserve backend slots for roles with pg_use_reserved_connections membership (Nathan Bossart) +Allow the server to reserve backend slots for roles with pg_use_reserved_connections membership (Nathan Bossart) -The number of reserved slots is set by server variable reserved_connections. +The number of reserved slots is set by server variable reserved_connections. @@ -1171,11 +1170,11 @@ Author: Michael Paquier -Allow huge pages to work on newer versions of Windows 10 (Thomas Munro) +Allow huge pages to work on newer versions of Windows 10 (Thomas Munro) -This adds the special handling required to enable huge pages on newer versions of Windows 10. +This adds the special handling required to enable huge pages on newer versions of Windows 10. @@ -1188,11 +1187,11 @@ Author: Thomas Munro -Add debug_io_direct setting for developer usage (Thomas Munro, Andres Freund, Bharath Rupireddy) +Add debug_io_direct setting for developer usage (Thomas Munro, Andres Freund, Bharath Rupireddy) -While primarily for developers, wal_sync_method=open_sync/open_datasync has been modified to not use direct I/O with wal_level=minimal; this is now enabled with debug_io_direct=wal. +While primarily for developers, wal_sync_method=open_sync/open_datasync has been modified to not use direct I/O with wal_level=minimal; this is now enabled with debug_io_direct=wal. @@ -1205,7 +1204,7 @@ Author: Michael Paquier -Add function pg_split_walfile_name() to report the segment and timeline values of WAL file names (Bharath Rupireddy) +Add function pg_split_walfile_name() to report the segment and timeline values of WAL file names (Bharath Rupireddy) @@ -1225,11 +1224,11 @@ Author: Michael Paquier -Add support for regular expression matching on database and role entries in pg_hba.conf (Bertrand Drouvot) +Add support for regular expression matching on database and role entries in pg_hba.conf (Bertrand Drouvot) -Regular expression patterns are prefixed with a slash. Database and role names that begin with slashes need to be double-quoted if referenced in pg_hba.conf. +Regular expression patterns are prefixed with a slash. Database and role names that begin with slashes need to be double-quoted if referenced in pg_hba.conf. @@ -1240,11 +1239,11 @@ Author: Michael Paquier -Improve user-column handling of pg_ident.conf to match pg_hba.conf (Jelte Fennema) +Improve user-column handling of pg_ident.conf to match pg_hba.conf (Jelte Fennema) -Specifically, add support for "all", role membership with "+", and regular expressions with a leading slash. Any user name that matches these patterns must be double-quoted. +Specifically, add support for all, role membership with +, and regular expressions with a leading slash. Any user name that matches these patterns must be double-quoted. @@ -1255,11 +1254,11 @@ Author: Michael Paquier -Allow include files in pg_hba.conf and pg_ident.conf (Julien Rouhaud) +Allow include files in pg_hba.conf and pg_ident.conf (Julien Rouhaud) -These are controlled by "include", "include_if_exists", and "include_dir". System views pg_hba_file_rules and pg_ident_file_mappings now display the file name. +These are controlled by include, include_if_exists, and include_dir. System views pg_hba_file_rules and pg_ident_file_mappings now display the file name. @@ -1270,7 +1269,7 @@ Author: Tom Lane -Allow pg_hba.conf tokens to be of unlimited length (Tom Lane) +Allow pg_hba.conf tokens to be of unlimited length (Tom Lane) @@ -1281,7 +1280,7 @@ Author: Michael Paquier -Add rule and map numbers to the system view pg_hba_file_rules (Julien Rouhaud) +Add rule and map numbers to the system view pg_hba_file_rules (Julien Rouhaud) @@ -1301,11 +1300,11 @@ Author: Jeff Davis -Determine the ICU default locale from the environment (Jeff Davis) +Determine the ICU default locale from the environment (Jeff Davis) -However, ICU doesn't support the C locale so UTF-8 is used in such cases. Previously the default was always UTF-8. +However, ICU doesn't support the C locale so UTF-8 is used in such cases. Previously the default was always UTF-8. @@ -1316,11 +1315,11 @@ Date: Fri Jun 16 10:27:32 2023 -0700 -Have CREATE DATABASE and CREATE COLLATION's LOCALE options, and initdb and createdb --locale options, control non-libc collation providers (Jeff Davis) +Have CREATE DATABASE and CREATE COLLATION's LOCALE options, and initdb and createdb options, control non-libc collation providers (Jeff Davis) -Previously they only controlled libc providers. +Previously they only controlled libc providers. @@ -1331,11 +1330,11 @@ Author: Peter Eisentraut -Add predefined collations "unicode" and "ucs_basic" (Peter Eisentraut) +Add predefined collations unicode and ucs_basic (Peter Eisentraut) -This only works if ICU support is enabled. +This only works if ICU support is enabled. @@ -1346,11 +1345,11 @@ Author: Peter Eisentraut -Allow custom ICU collation rules to be created (Peter Eisentraut) +Allow custom ICU collation rules to be created (Peter Eisentraut) -This is done using CREATE COLLATION's new RULES clause, as well as new options for CREATE DATABASE, createdb, and initdb. +This is done using CREATE COLLATION's new RULES clause, as well as new options for CREATE DATABASE, createdb, and initdb. @@ -1361,11 +1360,11 @@ Author: Peter Eisentraut -Allow Windows to import system locales automatically (Juan José Santamaría Flecha) +Allow Windows to import system locales automatically (Juan José Santamaría Flecha) -Previously, only ICU locales could be imported on Windows. +Previously, only ICU locales could be imported on Windows. @@ -1397,8 +1396,8 @@ Allow logical decoding on standbys (Bertrand Drouvot, Andres Freund, Amit Khande -Snapshot WAL records are required for logical slot creation but cannot be created on standbys. -To avoid delays, the new function pg_log_standby_snapshot() allows creation of such records. +Snapshot WAL records are required for logical slot creation but cannot be created on standbys. +To avoid delays, the new function pg_log_standby_snapshot() allows creation of such records. @@ -1417,7 +1416,7 @@ Add server variable to control how logical decoding publishers transfer changes -The variable is logical_replication_mode. +The variable is logical_replication_mode. @@ -1451,9 +1450,9 @@ Allow parallel application of logical replication (Hou Zhijie, Wang Wei, Amit Ka -The CREATE SUBSCRIPTION "streaming" option now supports "parallel" to enable application of large transactions by parallel workers. The number of parallel workers is controlled by -the new server variable max_parallel_apply_workers_per_subscription. Wait events LogicalParallelApplyMain, LogicalParallelApplyStateChange, and LogicalApplySendData were also added. Column leader_pid was -added to system view pg_stat_subscription to track parallel activity. +The CREATE SUBSCRIPTION option now supports parallel to enable application of large transactions by parallel workers. The number of parallel workers is controlled by +the new server variable max_parallel_apply_workers_per_subscription. Wait events LogicalParallelApplyMain, LogicalParallelApplyStateChange, and LogicalApplySendData were also added. Column leader_pid was +added to system view pg_stat_subscription to track parallel activity. @@ -1468,7 +1467,7 @@ Improve performance for logical replication apply without a primary key (Onder K -Specifically, REPLICA IDENTITY FULL can now use btree indexes rather than sequentially scanning the table to find matches. +Specifically, REPLICA IDENTITY FULL can now use btree indexes rather than sequentially scanning the table to find matches. @@ -1485,7 +1484,7 @@ Allow logical replication subscribers to process only changes that have no origi -This can be used to avoid replication loops. This is controlled by the new CREATE SUBSCRIPTION "origin" option. +This can be used to avoid replication loops. This is controlled by the new CREATE SUBSCRIPTION ... ORIGIN option. @@ -1498,12 +1497,12 @@ Author: Robert Haas -Perform logical replication SELECT and DML actions as the table owner (Robert Haas) +Perform logical replication SELECT and DML actions as the table owner (Robert Haas) -This improves security and now requires subscription owners to be either superusers or to have SET ROLE permissions on all tables in the replication set. The previous behavior of performing all operations -as the subscription owner can be enabled with the subscription run_as_owner option. +This improves security and now requires subscription owners to be either superusers or to have SET ROLE permissions on all tables in the replication set. The previous behavior of performing all operations +as the subscription owner can be enabled with the subscription option. @@ -1514,11 +1513,11 @@ Author: Tom Lane -Have wal_retrieve_retry_interval operate on a per-subscription basis (Nathan Bossart) +Have wal_retrieve_retry_interval operate on a per-subscription basis (Nathan Bossart) -Previously the retry time was applied globally. This also adds wait events LogicalRepLauncherDSA and LogicalRepLauncherHash. +Previously the retry time was applied globally. This also adds wait events LogicalRepLauncherDSA and LogicalRepLauncherHash. @@ -1538,7 +1537,7 @@ Author: Tom Lane -Add EXPLAIN option GENERIC_PLAN to display the generic plan for a parameterized query (Laurenz Albe) +Add EXPLAIN option GENERIC_PLAN to display the generic plan for a parameterized query (Laurenz Albe) @@ -1549,7 +1548,7 @@ Author: Andrew Dunstan -Allow a COPY FROM value to map to a column's DEFAULT (Israel Barth Rubio) +Allow a COPY FROM value to map to a column's DEFAULT (Israel Barth Rubio) @@ -1560,11 +1559,11 @@ Author: Etsuro Fujita -Allow COPY into foreign tables to add rows in batches (Andrey Lepikhov, Etsuro Fujita) +Allow COPY into foreign tables to add rows in batches (Andrey Lepikhov, Etsuro Fujita) -This is controlled by the postgres_fdw "batch_size" option. +This is controlled by the postgres_fdw option . @@ -1577,11 +1576,11 @@ Author: Tom Lane -Allow the STORAGE type to be specified by CREATE TABLE (Teodor Sigaev, Aleksander Alekseev) +Allow the STORAGE type to be specified by CREATE TABLE (Teodor Sigaev, Aleksander Alekseev) -Previously only ALTER TABLE could control this +Previously only ALTER TABLE could control this. @@ -1603,11 +1602,11 @@ Author: Michael Paquier -Allow VACUUM and vacuumdb to only process TOAST tables (Nathan Bossart) +Allow VACUUM and vacuumdb to only process TOAST tables (Nathan Bossart) -This is accomplished by having VACUUM turn off PROCESS_MAIN or by vacuumdb using the --no-process-main option. +This is accomplished by having VACUUM turn off PROCESS_MAIN or by vacuumdb using the option. @@ -1618,11 +1617,11 @@ Author: Tom Lane -Add VACUUM options to skip or update all frozen statistics (Tom Lane, Nathan Bossart) +Add VACUUM options to skip or update all frozen statistics (Tom Lane, Nathan Bossart) -The options are SKIP_DATABASE_STATS and ONLY_DATABASE_STATS. +The options are SKIP_DATABASE_STATS and ONLY_DATABASE_STATS. @@ -1635,7 +1634,7 @@ Author: Michael Paquier -Change REINDEX DATABASE and REINDEX SYSTEM to no longer require an argument (Simon Riggs) +Change REINDEX DATABASE and REINDEX SYSTEM to no longer require an argument (Simon Riggs) @@ -1650,7 +1649,7 @@ Author: Dean Rasheed -Allow CREATE STATISTICS to generate a statistics name if none is specified (Simon Riggs) +Allow CREATE STATISTICS to generate a statistics name if none is specified (Simon Riggs) @@ -1674,7 +1673,7 @@ Allow non-decimal integer literals (Peter Eisentraut) -For example, 0x42F, 0o273, and 0b100101. +For example, 0x42F, 0o273, and 0b100101. @@ -1685,7 +1684,7 @@ Author: Dean Rasheed -Allow NUMERIC to process hexadecimal, octal, and binary integers of any size (Dean Rasheed) +Allow NUMERIC to process hexadecimal, octal, and binary integers of any size (Dean Rasheed) @@ -1715,7 +1714,7 @@ Author: Tom Lane -Accept the spelling "+infinity" in datetime input (Vik Fearing) +Accept the spelling +infinity in datetime input (Vik Fearing) @@ -1726,7 +1725,7 @@ Author: Tom Lane -Prevent the specification of "epoch" and "infinity" together with other fields in datetime strings (Joseph Koshakow) +Prevent the specification of epoch and infinity together with other fields in datetime strings (Joseph Koshakow) @@ -1738,7 +1737,7 @@ Author: Tom Lane Remove undocumented support for date input in the form -"YyearMmonthDday" +YyearMmonthDday (Joseph Koshakow) @@ -1752,7 +1751,7 @@ Author: Michael Paquier -Add functions pg_input_is_valid() and pg_input_error_info() to check for type conversion errors (Tom Lane) +Add functions pg_input_is_valid() and pg_input_error_info() to check for type conversion errors (Tom Lane) @@ -1772,7 +1771,7 @@ Author: Dean Rasheed -Allow subqueries in the FROM clause to omit aliases (Dean Rasheed) +Allow subqueries in the FROM clause to omit aliases (Dean Rasheed) @@ -1783,7 +1782,7 @@ Author: Peter Eisentraut -Add support for enhanced numeric literals in SQL/JSON paths (Peter Eisentraut) +Add support for enhanced numeric literals in SQL/JSON paths (Peter Eisentraut) @@ -1807,11 +1806,11 @@ Author: Alvaro Herrera -Add SQL/JSON constructors (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Amit Langote) +Add SQL/JSON constructors (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Amit Langote) -The new functions JSON_ARRAY(), JSON_ARRAYAGG(), JSON_OBJECT(), and JSON_OBJECTAGG() are part of the SQL standard. +The new functions JSON_ARRAY(), JSON_ARRAYAGG(), JSON_OBJECT(), and JSON_OBJECTAGG() are part of the SQL standard. @@ -1822,11 +1821,11 @@ Author: Alvaro Herrera -Add SQL/JSON object checks (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Amit Langote, Andrew Dunstan) +Add SQL/JSON object checks (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Amit Langote, Andrew Dunstan) -The IS JSON checks include checks for values, arrays, objects, scalars, and unique keys. +The IS JSON checks include checks for values, arrays, objects, scalars, and unique keys. @@ -1837,7 +1836,7 @@ Author: John Naylor -Allow JSON string parsing to use vector operations (John Naylor) +Allow JSON string parsing to use vector operations (John Naylor) @@ -1848,7 +1847,7 @@ Author: Tom Lane -Improve the handling of full text highlighting function ts_headline() for OR and NOT expressions (Tom Lane) +Improve the handling of full text highlighting function ts_headline() for OR and NOT expressions (Tom Lane) @@ -1859,11 +1858,11 @@ Author: Tom Lane -Add functions to add, subtract, and generate timestamptz values in a specified time zone (Przemyslaw Sztoch, Gurjeet Singh) +Add functions to add, subtract, and generate timestamptz values in a specified time zone (Przemyslaw Sztoch, Gurjeet Singh) -The functions are date_add(), date_subtract(), and generate_series(). +The functions are date_add(), date_subtract(), and generate_series(). @@ -1874,7 +1873,7 @@ Author: Tom Lane -Change date_trunc(unit, timestamptz, time_zone) to be an immutable function (Przemyslaw Sztoch) +Change date_trunc(unit, timestamptz, time_zone) to be an immutable function (Przemyslaw Sztoch) @@ -1889,7 +1888,7 @@ Author: Michael Paquier -Add server variable SYSTEM_USER (Bertrand Drouvot) +Add server variable SYSTEM_USER (Bertrand Drouvot) @@ -1904,7 +1903,7 @@ Author: Tom Lane -Add functions array_sample() and array_shuffle() (Martin Kalcher) +Add functions array_sample() and array_shuffle() (Martin Kalcher) @@ -1915,7 +1914,7 @@ Author: Peter Eisentraut -Add aggregate function ANY_VALUE() which returns any value from a set (Vik Fearing) +Add aggregate function ANY_VALUE() which returns any value from a set (Vik Fearing) @@ -1926,7 +1925,7 @@ Author: Tom Lane -Add function random_normal() to supply normally-distributed random numbers (Paul Ramsey) +Add function random_normal() to supply normally-distributed random numbers (Paul Ramsey) @@ -1937,7 +1936,7 @@ Author: Dean Rasheed -Add error function erf() and its complement erfc() (Dean Rasheed) +Add error function erf() and its complement erfc() (Dean Rasheed) @@ -1948,7 +1947,7 @@ Author: Dean Rasheed -Improve the accuracy of numeric power() for integer exponents (Dean Rasheed) +Improve the accuracy of numeric power() for integer exponents (Dean Rasheed) @@ -1959,7 +1958,7 @@ Author: Tom Lane -Add XMLSERIALIZE() option INDENT to pretty-print its output (Jim Jones) +Add XMLSERIALIZE() option INDENT to pretty-print its output (Jim Jones) @@ -1970,11 +1969,11 @@ Author: Jeff Davis -Change pg_collation_actual_version() to return a reasonable value for the default collation (Jeff Davis) +Change pg_collation_actual_version() to return a reasonable value for the default collation (Jeff Davis) -Previously it returned NULL. +Previously it returned NULL. @@ -1985,7 +1984,7 @@ Author: Tom Lane -Allow pg_read_file() and pg_read_binary_file() to ignore missing files (Kyotaro Horiguchi) +Allow pg_read_file() and pg_read_binary_file() to ignore missing files (Kyotaro Horiguchi) @@ -1996,7 +1995,7 @@ Author: Peter Eisentraut -Add the byte specification ('B') to pg_size_bytes() (Peter Eisentraut) +Add byte specification (B) to pg_size_bytes() (Peter Eisentraut) @@ -2007,7 +2006,7 @@ Author: Tom Lane -Allow to_reg* functions to accept numeric OIDs as input (Tom Lane) +Allow to_reg* functions to accept numeric OIDs as input (Tom Lane) @@ -2027,11 +2026,11 @@ Author: Tom Lane -Add the ability to get the current function's OID in PL/pgSQL (Pavel Stehule) +Add the ability to get the current function's OID in PL/pgSQL (Pavel Stehule) -This is accomplished with GET DIAGNOSTICS variable = PG_ROUTINE_OID. +This is accomplished with GET DIAGNOSTICS variable = PG_ROUTINE_OID. @@ -2051,7 +2050,7 @@ Author: Michael Paquier -Add libpq connection option require_auth to specify a list of acceptable authentication methods (Jacob Champion) +Add libpq connection option to specify a list of acceptable authentication methods (Jacob Champion) @@ -2068,11 +2067,11 @@ Author: Fujii Masao -Allow multiple libpq-specified hosts to be randomly selected (Jelte Fennema) +Allow multiple libpq-specified hosts to be randomly selected (Jelte Fennema) -This is enabled with "load_balance_hosts=random". This can be used for load balancing. +This is enabled with load_balance_hosts=random and can be used for load balancing. @@ -2083,11 +2082,11 @@ Author: Michael Paquier -Add libpq option sslcertmode to control transmission of the client certificate (Jacob Champion) +Add libpq option to control transmission of the client certificate (Jacob Champion) -The option values are "disable", "allow", and "require". +The option values are disable, allow, and require. @@ -2098,11 +2097,11 @@ Author: Daniel Gustafsson -Allow libpq to use the system certificate pool for certificate verification (Jacob Champion, Thomas Habets) +Allow libpq to use the system certificate pool for certificate verification (Jacob Champion, Thomas Habets) -This is enabled with sslrootcert=system, which also enables sslmode=verify-full. +This is enabled with sslrootcert=system, which also enables sslmode=verify-full. @@ -2122,11 +2121,11 @@ Author: Tom Lane -Allow ECPG variable declarations to use typedef names that match unreserved SQL keywords (Tom Lane) +Allow ECPG variable declarations to use typedef names that match unreserved SQL keywords (Tom Lane) -This change does prevent keywords which match C typedef names from being processed as keywords in later EXEC SQL blocks. +This change does prevent keywords which match C typedef names from being processed as keywords in later EXEC SQL blocks. @@ -2144,11 +2143,11 @@ Author: Andrew Dunstan -Allow psql to control the maximum width of header lines in expanded format (Platon Pronko) +Allow psql to control the maximum width of header lines in expanded format (Platon Pronko) -This is controlled by xheader_width. +This is controlled by . @@ -2161,11 +2160,11 @@ Author: Tom Lane -Allow psql's access privilege commands to show system objects (Nathan Bossart, Pavel Luzanov) +Allow psql's access privilege commands to show system objects (Nathan Bossart, Pavel Luzanov) -The options are \dpS, \zS, and \drg. +The options are \dpS, \zS, and \drg. @@ -2176,7 +2175,7 @@ Author: Michael Paquier -Add "FOREIGN" designation to psql \d+ for foreign table children and partitions (Ian Lawrence Barwick) +Add FOREIGN designation to psql \d+ for foreign table children and partitions (Ian Lawrence Barwick) @@ -2187,11 +2186,11 @@ Author: Tom Lane -Prevent \df+ from showing function source code (Isaac Morland) +Prevent \df+ from showing function source code (Isaac Morland) -Function bodies are more easily viewed with \sf. +Function bodies are more easily viewed with \sf. @@ -2202,11 +2201,11 @@ Author: Peter Eisentraut -Allow psql to submit queries using the extended query protocol (Peter Eisentraut) +Allow psql to submit queries using the extended query protocol (Peter Eisentraut) -Passing arguments to such queries is done using the new psql \bind command. +Passing arguments to such queries is done using the new psql \bind command. @@ -2217,11 +2216,11 @@ Author: Tom Lane -Allow psql \watch to limit the number of executions (Andrey Borodin) +Allow psql \watch to limit the number of executions (Andrey Borodin) -The \watch options can now be named. +The \watch options can now be named when specified. @@ -2232,7 +2231,7 @@ Author: Michael Paquier -Detect invalid values for psql \watch, and allow zero to specify no delay (Andrey Borodin) +Detect invalid values for psql \watch, and allow zero to specify no delay (Andrey Borodin) @@ -2245,12 +2244,12 @@ Author: Tom Lane -Allow psql scripts to obtain the exit status of shell commands and queries +Allow psql scripts to obtain the exit status of shell commands and queries (Corey Huinker, Tom Lane) -The new psql control variables are SHELL_ERROR and SHELL_EXIT_CODE. +The new psql control variables are SHELL_ERROR and SHELL_EXIT_CODE. @@ -2283,7 +2282,7 @@ Author: Amit Kapila -Various psql tab completion improvements (Vignesh C, Aleksander Alekseev, Dagfinn Ilmari Mannsåker, Shi Yu, Michael Paquier, Ken Kato, Peter Smith) +Various psql tab completion improvements (Vignesh C, Aleksander Alekseev, Dagfinn Ilmari Mannsåker, Shi Yu, Michael Paquier, Ken Kato, Peter Smith) @@ -2303,11 +2302,11 @@ Author: Tom Lane -Add pg_dump control of dumping child tables and partitions (Gilles Darold) +Add pg_dump control of dumping child tables and partitions (Gilles Darold) -The new options are --table-and-children, --exclude-table-and-children, and --exclude-table-data-and-children. +The new options are , , and . @@ -2321,7 +2320,7 @@ Author: Tomas Vondra -Add LZ4 and Zstandard compression to pg_dump (Georgios Kokolatos, Justin Pryzby) +Add LZ4 and Zstandard compression to pg_dump (Georgios Kokolatos, Justin Pryzby) @@ -2332,7 +2331,7 @@ Author: Tomas Vondra -Allow pg_dump and pg_basebackup to use "long" mode for compression (Justin Pryzby) +Allow pg_dump and pg_basebackup to use long mode for compression (Justin Pryzby) @@ -2343,11 +2342,11 @@ Author: Michael Paquier -Improve pg_dump to accept a more consistent compression syntax (Georgios Kokolatos) +Improve pg_dump to accept a more consistent compression syntax (Georgios Kokolatos) -Options like "--compress=gzip:5". +Options like . @@ -2369,11 +2368,11 @@ Author: Tom Lane 2023-03-22 -Add initdb option to set server variables for the duration of initdb and all future server starts (Tom Lane) +Add initdb option to set server variables for the duration of initdb and all future server starts (Tom Lane) -The option is "-c name=value". +The option is . @@ -2386,7 +2385,7 @@ Author: Nathan Bossart -Add options to createuser to control more user options (Shinya Kato) +Add options to createuser to control more user options (Shinya Kato) @@ -2403,12 +2402,12 @@ Author: Nathan Bossart -Deprecate createuser option --role (Nathan Bossart) +Deprecate createuser option (Nathan Bossart) -This option could be easily confused with new createuser role membership options, so option --member-of has been added with the same functionality. -The --role option can still be used. +This option could be easily confused with new createuser role membership options, so option has been added with the same functionality. +The option can still be used. @@ -2419,11 +2418,11 @@ Author: Andrew Dunstan -Allow control of vacuumdb schema processing (Gilles Darold) +Allow control of vacuumdb schema processing (Gilles Darold) -These are controlled by options --schema and --exclude-schema. +These are controlled by options and . @@ -2434,7 +2433,7 @@ Author: Tom Lane -Use new VACUUM options to improve the performance of vacuumdb (Tom Lane, Nathan Bossart) +Use new VACUUM options to improve the performance of vacuumdb (Tom Lane, Nathan Bossart) @@ -2445,7 +2444,7 @@ Author: Jeff Davis -Have pg_upgrade set the new cluster's locale and encoding (Jeff Davis) +Have pg_upgrade set the new cluster's locale and encoding (Jeff Davis) @@ -2460,11 +2459,11 @@ Author: Peter Eisentraut -Add pg_upgrade option to specify the default transfer mode (Peter Eisentraut) +Add pg_upgrade option to specify the default transfer mode (Peter Eisentraut) -The option is --copy. +The option is . @@ -2475,11 +2474,11 @@ Author: Michael Paquier -Improve pg_basebackup to accept numeric compression options (Georgios Kokolatos, Michael Paquier) +Improve pg_basebackup to accept numeric compression options (Georgios Kokolatos, Michael Paquier) -Options like "--compress=server-5" are now supported. +Options like are now supported. @@ -2490,7 +2489,7 @@ Author: Robert Haas -Fix pg_basebackup to handle tablespaces stored in the PGDATA directory (Robert Haas) +Fix pg_basebackup to handle tablespaces stored in the PGDATA directory (Robert Haas) @@ -2501,7 +2500,7 @@ Author: Michael Paquier -Add pg_waldump option --save-fullpage to dump full page images (David Christensen) +Add pg_waldump option to dump full page images (David Christensen) @@ -2512,7 +2511,7 @@ Author: Peter Eisentraut -Allow pg_waldump options -t/--timeline to accept hexadecimal values (Peter Eisentraut) +Allow pg_waldump options / to accept hexadecimal values (Peter Eisentraut) @@ -2523,7 +2522,7 @@ Author: Michael Paquier -Add support for progress reporting to pg_verifybackup (Masahiko Sawada) +Add support for progress reporting to pg_verifybackup (Masahiko Sawada) @@ -2536,11 +2535,11 @@ Author: Heikki Linnakangas -Allow pg_rewind to properly track timeline changes (Heikki Linnakangas) +Allow pg_rewind to properly track timeline changes (Heikki Linnakangas) -Previously if pg_rewind was run after a timeline switch but before a checkpoint was issued, it might incorrectly determine that a rewind was unnecessary. +Previously if pg_rewind was run after a timeline switch but before a checkpoint was issued, it might incorrectly determine that a rewind was unnecessary. @@ -2551,11 +2550,11 @@ Author: Daniel Gustafsson -Have pg_receivewal and pg_recvlogical cleanly exit on SIGTERM (Christoph Berg) +Have pg_receivewal and pg_recvlogical cleanly exit on SIGTERM (Christoph Berg) -This signal is often used by systemd. +This signal is often used by systemd. @@ -2575,11 +2574,11 @@ Author: Jeff Davis -Build ICU support by default (Jeff Davis) +Build ICU support by default (Jeff Davis) -This removes build flag --with-icu and adds flag --without-icu. +This removes build flag and adds flag . @@ -2590,7 +2589,7 @@ Author: John Naylor -Add support for SSE2 (Streaming SIMD Extensions 2) vector operations on x86-64 architectures (John Naylor) +Add support for SSE2 (Streaming SIMD Extensions 2) vector operations on x86-64 architectures (John Naylor) @@ -2601,7 +2600,7 @@ Author: John Naylor -Add support for Advanced SIMD (Single Instruction Multiple Data) (NEON) instructions on ARM architectures (Nathan Bossart) +Add support for Advanced SIMD (Single Instruction Multiple Data) (NEON) instructions on ARM architectures (Nathan Bossart) @@ -2612,11 +2611,11 @@ Author: Michael Paquier -Have Windows binaries built with MSVC use RandomizedBaseAddress (ASLR) (Michael Paquier) +Have Windows binaries built with MSVC use RandomizedBaseAddress (ASLR) (Michael Paquier) -This was already enabled on MinGW builds. +This was already enabled on MinGW builds. @@ -2633,7 +2632,7 @@ Prevent extension libraries from exporting their symbols by default (Andres Freu -Functions that need to be called from the core backend or other extensions must now be explicitly marked PGDLLEXPORT. +Functions that need to be called from the core backend or other extensions must now be explicitly marked PGDLLEXPORT. @@ -2644,11 +2643,11 @@ Author: Michael Paquier -Require Windows 10 or newer versions (Michael Paquier, Juan José Santamaría Flecha) +Require Windows 10 or newer versions (Michael Paquier, Juan José Santamaría Flecha) -Previously Windows Vista and Windows XP were supported. +Previously Windows Vista and Windows XP were supported. @@ -2659,7 +2658,7 @@ Author: John Naylor -Require Perl version 5.14 or later (John Naylor) +Require Perl version 5.14 or later (John Naylor) @@ -2670,7 +2669,7 @@ Author: John Naylor -Require Bison version 2.3 or later (John Naylor) +Require Bison version 2.3 or later (John Naylor) @@ -2681,7 +2680,7 @@ Author: John Naylor -Require Flex version 2.5.35 or later (John Naylor) +Require Flex version 2.5.35 or later (John Naylor) @@ -2692,7 +2691,7 @@ Author: Stephen Frost -Require MIT Kerberos for GSSAPI support (Stephen Frost) +Require MIT Kerberos for GSSAPI support (Stephen Frost) @@ -2703,7 +2702,7 @@ Author: Michael Paquier -Remove support for Visual Studio 2013 (Michael Paquier) +Remove support for Visual Studio 2013 (Michael Paquier) @@ -2714,7 +2713,7 @@ Author: Thomas Munro -Remove support for HP-UX (Thomas Munro) +Remove support for HP-UX (Thomas Munro) @@ -2725,7 +2724,7 @@ Author: Thomas Munro -Remove support for HP/Intel Itanium (Thomas Munro) +Remove support for HP/Intel Itanium (Thomas Munro) @@ -2738,7 +2737,7 @@ Author: Thomas Munro -Remove support for M68K, M88K, M32R, and SuperH CPU architectures (Thomas Munro) +Remove support for M68K, M88K, M32R, and SuperH CPU architectures (Thomas Munro) @@ -2749,11 +2748,11 @@ Author: Michael Paquier -Remove libpq support for SCM credential authentication (Michael Paquier) +Remove libpq support for SCM credential authentication (Michael Paquier) -Backend support for this authentication method was removed in PostgreSQL 9.1. +Backend support for this authentication method was removed in PostgresSQL 9.1. @@ -2764,11 +2763,11 @@ Author: Andres Freund -Add meson build system (Andres Freund, Nazir Bilal Yavuz, Peter Eisentraut) +Add meson build system (Andres Freund, Nazir Bilal Yavuz, Peter Eisentraut) -This eventually will replace the Autoconf and Windows-based MSVC build systems. +This eventually will replace the Autoconf and Windows-based MSVC build systems. @@ -2779,11 +2778,11 @@ Author: Peter Eisentraut -Allow control of the location of the openssl binary used by the build system (Peter Eisentraut) +Allow control of the location of the openssl binary used by the build system (Peter Eisentraut) -Make finding openssl program a configure or meson option +Make finding openssl program a configure or meson option @@ -2794,11 +2793,11 @@ Author: Andres Freund -Add build option to allow testing of small segment sizes (Andres Freund) +Add build option to allow testing of small WAL segment sizes (Andres Freund) -The build options are --with-segsize-blocks and -Dsegsize_blocks. +The build options are and . @@ -2821,11 +2820,11 @@ Author: Andrew Dunstan -Add pgindent options (Andrew Dunstan) +Add pgindent options (Andrew Dunstan) -The new options are --show-diff, --silent-diff, --commit, and --help, and allow multiple --exclude options. Also require the typedef file to be explicitly specified. Options --code-base and --build were +The new options are , , , and , and allow multiple options. Also require the typedef file to be explicitly specified. Options and were also removed. @@ -2837,7 +2836,7 @@ Author: Tom Lane -Add pg_bsd_indent source code to the main tree (Tom Lane) +Add pg_bsd_indent source code to the main tree (Tom Lane) @@ -2848,7 +2847,7 @@ Author: Tatsuo Ishii -Improve make_ctags and make_etags (Yugo Nagata) +Improve make_ctags and make_etags (Yugo Nagata) @@ -2859,7 +2858,7 @@ Author: Peter Eisentraut -Adjust pg_attribute columns for efficiency (Peter Eisentraut) +Adjust pg_attribute columns for efficiency (Peter Eisentraut) @@ -2890,7 +2889,7 @@ Author: Tom Lane -Add support for Daitch-Mokotoff Soundex to fuzzystrmatch (Dag Lem) +Add support for Daitch-Mokotoff Soundex to fuzzystrmatch (Dag Lem) @@ -2901,11 +2900,11 @@ Author: Michael Paquier -Allow auto_explain to log values passed to parameterized statements (Dagfinn Ilmari Mannsåker) +Allow auto_explain to log values passed to parameterized statements (Dagfinn Ilmari Mannsåker) -This affects queries using server-side PREPARE/EXECUTE and client-side parse/bind. Logging is controlled by auto_explain.log_parameter_max_length; by default query parameters will +This affects queries using server-side PREPARE/EXECUTE and client-side parse/bind. Logging is controlled by auto_explain.log_parameter_max_length; by default query parameters will be logged with no length restriction. @@ -2917,11 +2916,11 @@ Author: Michael Paquier -Have auto_explain's log_verbose mode honor the value of compute_query_id (Atsushi Torikoshi) +Have auto_explain's mode honor the value of compute_query_id (Atsushi Torikoshi) -Previously even if compute_query_id was enabled, log_verbose was not showing the query identifier. +Previously even if compute_query_id was enabled, was not showing the query identifier. @@ -2932,7 +2931,7 @@ Author: Andrew Dunstan -Change the maximum length of ltree labels from 256 to 1000 and allow hyphens (Garen Torikian) +Change the maximum length of ltree labels from 256 to 1000 and allow hyphens (Garen Torikian) @@ -2943,11 +2942,11 @@ Author: Michael Paquier -Have pg_stat_statements normalize constants used in utility commands (Michael Paquier) +Have pg_stat_statements normalize constants used in utility commands (Michael Paquier) -Previously constants appeared instead of placeholders, e.g., $1. +Previously constants appeared instead of placeholders, e.g., $1. @@ -2964,7 +2963,7 @@ Author: Peter Geoghegan -Add pg_walinspect function pg_get_wal_block_info() to report WAL block information (Michael Paquier, Melanie Plageman, Bharath Rupireddy) +Add pg_walinspect function pg_get_wal_block_info() to report WAL block information (Michael Paquier, Melanie Plageman, Bharath Rupireddy) @@ -2975,11 +2974,11 @@ Author: Michael Paquier -Change how pg_walinspect functions pg_get_wal_records_info() and pg_get_wal_stats() interpret ending LSNs (Bharath Rupireddy) +Change how pg_walinspect functions pg_get_wal_records_info() and pg_get_wal_stats() interpret ending LSNs (Bharath Rupireddy) -Previously ending LSNs which represent nonexistent WAL locations would generate an error, while they will now be interpreted as the end of the WAL. +Previously ending LSNs which represent nonexistent WAL locations would generate an error, while they will now be interpreted as the end of the WAL. @@ -2996,7 +2995,7 @@ Author: Peter Geoghegan -Add detailed descriptions of WAL records in pg_walinspect and pg_waldump (Melanie Plageman, Peter Geoghegan) +Add detailed descriptions of WAL records in pg_walinspect and pg_waldump (Melanie Plageman, Peter Geoghegan) @@ -3007,11 +3006,11 @@ Author: Tom Lane -Add pageinspect function bt_multi_page_stats() to report statistics on multiple pages (Hamid Akhtar) +Add pageinspect function bt_multi_page_stats() to report statistics on multiple pages (Hamid Akhtar) -This is similar to bt_page_stats() except it can report on a range of pages. +This is similar to bt_page_stats() except it can report on a range of pages. @@ -3022,7 +3021,7 @@ Author: Tom Lane -Add empty range output column to pageinspect function brin_page_items() (Tomas Vondra) +Add empty range output column to pageinspect function brin_page_items() (Tomas Vondra) @@ -3048,7 +3047,7 @@ Author: Michael Paquier -Correct inaccurate pg_stat_statements row tracking extended query protocol statements (Sami Imseih) +Correct inaccurate pg_stat_statements row tracking extended query protocol statements (Sami Imseih) @@ -3059,7 +3058,7 @@ Author: Tom Lane -Add pg_buffercache function pg_buffercache_usage_counts() to report usage totals (Nathan Bossart) +Add pg_buffercache function pg_buffercache_usage_counts() to report usage totals (Nathan Bossart) @@ -3070,7 +3069,7 @@ Author: Andres Freund -Add pg_buffercache function pg_buffercache_summary() to report summarized buffer statistics (Melih Mutlu) +Add pg_buffercache function pg_buffercache_summary() to report summarized buffer statistics (Melih Mutlu) @@ -3081,7 +3080,7 @@ Author: Tom Lane -Allow the schemas of required extensions to be referenced in extension scripts using the new syntax @extschema:referenced_extension_name@ (Regina Obe) +Allow the schemas of required extensions to be referenced in extension scripts using the new syntax @extschema:referenced_extension_name@ (Regina Obe) @@ -3092,11 +3091,11 @@ Author: Tom Lane -Allow required extensions to be marked as non-relocatable using "no_relocate" (Regina Obe) +Allow required extensions to be marked as non-relocatable using no_relocate (Regina Obe) -This allows @extschema:referenced_extension_name@ to be treated as a constant for the lifetime of the extension. +This allows @extschema:referenced_extension_name@ to be treated as a constant for the lifetime of the extension. @@ -3114,11 +3113,11 @@ Author: Etsuro Fujita -Allow postgres_fdw to do aborts in parallel (Etsuro Fujita) +Allow postgres_fdw to do aborts in parallel (Etsuro Fujita) -This is enabled with postgres_fdw option "parallel_abort". +This is enabled with postgres_fdw option . @@ -3129,11 +3128,11 @@ Author: Tomas Vondra -Make ANALYZE on foreign postgres_fdw tables more efficient (Tomas Vondra) +Make ANALYZE on foreign postgres_fdw tables more efficient (Tomas Vondra) -The postgres_fdw option analyze_sampling controls the sampling method. +The postgres_fdw option controls the sampling method. @@ -3144,7 +3143,7 @@ Author: Tom Lane -Restrict shipment of reg* type constants in postgres_fdw to those referencing built-in objects or extensions marked as shippable (Tom Lane) +Restrict shipment of reg* type constants in postgres_fdw to those referencing built-in objects or extensions marked as shippable (Tom Lane) @@ -3155,7 +3154,7 @@ Author: Andres Freund -Have postgres_fdw and dblink handle interrupts during connection establishment (Andres Freund) +Have postgres_fdw and dblink handle interrupts during connection establishment (Andres Freund) From 4a3072cb54f2c47adf888dc6eafd551d8f47670f Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Wed, 16 Aug 2023 22:22:12 -0400 Subject: [PATCH 103/317] doc: PG 16 relnotes, add links to doc sections Backpatch-through: 16 only --- doc/src/sgml/release-16.sgml | 354 +++++++++++++++++------------------ 1 file changed, 176 insertions(+), 178 deletions(-) diff --git a/doc/src/sgml/release-16.sgml b/doc/src/sgml/release-16.sgml index a8e54bd137f..c9c4fc07ca3 100644 --- a/doc/src/sgml/release-16.sgml +++ b/doc/src/sgml/release-16.sgml @@ -97,11 +97,11 @@ Author: Tom Lane -Change assignment rules for PL/pgSQL bound cursor variables (Tom Lane) +Change assignment rules for PL/pgSQL bound cursor variables (Tom Lane) -Previously, the string value of such variables was set to match the variable name during cursor assignment; now it will be assigned during OPEN, and will not match the variable name. +Previously, the string value of such variables was set to match the variable name during cursor assignment; now it will be assigned during OPEN, and will not match the variable name. To restore the previous behavior, assign the desired portal name to the cursor variable before OPEN. @@ -113,7 +113,7 @@ Author: Daniel Gustafsson -Disallow NULLS NOT DISTINCT indexes for primary keys (Daniel Gustafsson) +Disallow NULLS NOT DISTINCT indexes for primary keys (Daniel Gustafsson) @@ -126,11 +126,11 @@ Author: Michael Paquier -Change REINDEX DATABASE and reindexdb to not process indexes on system catalogs (Simon Riggs) +Change REINDEX DATABASE and reindexdb to not process indexes on system catalogs (Simon Riggs) -Processing such indexes is still possible using REINDEX SYSTEM and reindexdb --system. +Processing such indexes is still possible using REINDEX SYSTEM and reindexdb --system. @@ -141,7 +141,7 @@ Author: Tom Lane -Tighten GENERATED expression restrictions on inherited and partitioned tables (Amit Langote, Tom Lane) +Tighten GENERATED expression restrictions on inherited and partitioned tables (Amit Langote, Tom Lane) @@ -156,7 +156,7 @@ Author: Michael Paquier -Remove pg_walinspect functions pg_get_wal_records_info_till_end_of_wal() and pg_get_wal_stats_till_end_of_wal() (Bharath Rupireddy) +Remove pg_walinspect functions pg_get_wal_records_info_till_end_of_wal() and pg_get_wal_stats_till_end_of_wal() (Bharath Rupireddy) @@ -169,7 +169,7 @@ Author: David Rowley -Rename server variable force_parallel_mode to debug_parallel_query (David Rowley) +Rename server variable force_parallel_mode to debug_parallel_query (David Rowley) @@ -180,7 +180,7 @@ Author: Tom Lane -Remove the ability to create views manually with ON SELECT rules (Tom Lane) +Remove the ability to create views manually with ON SELECT rules (Tom Lane) @@ -195,7 +195,7 @@ Remove the server variable vacuum_defer_cleanup_age (Andres F -This has been unnecessary since hot_standby_feedback and replication slots were added. +This has been unnecessary since hot_standby_feedback and replication slots were added. @@ -210,7 +210,7 @@ Remove server variable promote_trigger_file (Simon Riggs) -This was used to promote a standby to primary, but is now easier accomplished with pg_ctl promote or pg_promote(). +This was used to promote a standby to primary, but is now easier accomplished with pg_ctl promote or pg_promote(). @@ -238,7 +238,7 @@ Author: Robert Haas -Restrict the privileges of CREATEROLE and its ability to modify other roles (Robert Haas) +Restrict the privileges of CREATEROLE and its ability to modify other roles (Robert Haas) @@ -307,7 +307,7 @@ Add the ability for aggregates having ORDER BY or DI -The new server variable enable_presorted_aggregate can be used to disable this. +The new server variable enable_presorted_aggregate can be used to disable this. @@ -340,7 +340,7 @@ Author: Thomas Munro -Allow parallelization of FULL and internal right OUTER hash joins (Melanie Plageman, Thomas Munro) +Allow parallelization of FULL and internal right OUTER hash joins (Melanie Plageman, Thomas Munro) @@ -351,7 +351,7 @@ Author: Alexander Korotkov -Improve the accuracy of GIN index access optimizer costs (Ronan Dunklau) +Improve the accuracy of GIN index access optimizer costs (Ronan Dunklau) @@ -388,7 +388,7 @@ Author: Peter Geoghegan -During non-freeze operations, perform page freezing where appropriate (Peter Geoghegan) +During non-freeze operations, perform page freezing where appropriate (Peter Geoghegan) @@ -403,7 +403,7 @@ Author: David Rowley -Allow window functions to use ROWS mode internally when RANGE mode is specified but unnecessary (David Rowley) +Allow window functions to use ROWS mode internally when RANGE mode is specified but unnecessary (David Rowley) @@ -414,7 +414,7 @@ Author: David Rowley -Allow optimization of always-increasing window functions ntile(), cume_dist() and percent_rank() (David Rowley) +Allow optimization of always-increasing window functions ntile(), cume_dist() and percent_rank() (David Rowley) @@ -425,7 +425,7 @@ Author: David Rowley -Allow aggregate functions string_agg() and array_agg() to be parallelized (David Rowley) +Allow aggregate functions string_agg() and array_agg() to be parallelized (David Rowley) @@ -436,7 +436,7 @@ Author: David Rowley -Improve performance by caching RANGE and LIST partition lookups (Amit Langote, Hou Zhijie, David Rowley) +Improve performance by caching RANGE and LIST partition lookups (Amit Langote, Hou Zhijie, David Rowley) @@ -455,7 +455,7 @@ Allow control of the shared buffer usage by vacuum and analyze (Melanie Plageman -The VACUUM/ANALYZE option is BUFFER_USAGE_LIMIT, and the vacuumdb option is . The default value is set by server variable vacuum_buffer_usage_limit, which also controls autovacuum. +The VACUUM/ANALYZE option is BUFFER_USAGE_LIMIT, and the vacuumdb option is . The default value is set by server variable vacuum_buffer_usage_limit, which also controls autovacuum. @@ -466,7 +466,7 @@ Author: Thomas Munro -Support wal_sync_method=fdatasync on Windows (Thomas Munro) +Support wal_sync_method=fdatasync on Windows (Thomas Munro) @@ -477,7 +477,7 @@ Author: Tomas Vondra -Allow HOT updates if only BRIN-indexed columns are updated (Matthias van de Meent, Josef Simanek, Tomas Vondra) +Allow HOT updates if only BRIN-indexed columns are updated (Matthias van de Meent, Josef Simanek, Tomas Vondra) @@ -488,7 +488,7 @@ Author: David Rowley -Improve the speed of updating the process title (David Rowley) +Improve the speed of updating the process title (David Rowley) @@ -509,7 +509,7 @@ Allow xid/subxid searches and ASCII -ASCII detection is particularly useful for COPY FROM. Vector operations are also used for some C array searches. +ASCII detection is particularly useful for COPY FROM. Vector operations are also used for some C array searches. @@ -549,7 +549,7 @@ Author: Andres Freund -Add system view pg_stat_io view to track I/O statistics (Melanie Plageman) +Add system view pg_stat_io view to track I/O statistics (Melanie Plageman) @@ -564,7 +564,7 @@ Record statistics on the last sequential and index scans on tables (Dave Page) -This information appears in pg_stat_all_tables and pg_stat_all_indexes. +This information appears in pg_stat_all_tables and pg_stat_all_indexes. @@ -579,7 +579,7 @@ Record statistics on the occurrence of updated rows moving to new pages (Corey H -The pg_stat_*_tables column is n_tup_newpage_upd. +The pg_stat_*_tables column is n_tup_newpage_upd. @@ -590,7 +590,7 @@ Author: Amit Kapila -Add speculative lock information to the pg_locks system view (Masahiko Sawada, Noriyoshi Shinoda) +Add speculative lock information to the pg_locks system view (Masahiko Sawada, Noriyoshi Shinoda) @@ -607,7 +607,7 @@ Author: Peter Eisentraut -Add the display of prepared statement result types to the pg_prepared_statements view (Dagfinn Ilmari Mannsåker) +Add the display of prepared statement result types to the pg_prepared_statements view (Dagfinn Ilmari Mannsåker) @@ -618,7 +618,7 @@ Author: Andres Freund -Create subscription statistics entries at subscription creation time so stats_reset is accurate (Andres Freund) +Create subscription statistics entries at subscription creation time so stats_reset is accurate (Andres Freund) @@ -633,7 +633,7 @@ Author: Andres Freund -Correct the I/O accounting for temp relation writes shown in pg_stat_database (Melanie Plageman) +Correct the I/O accounting for temp relation writes shown in pg_stat_database (Melanie Plageman) @@ -644,7 +644,7 @@ Author: Robert Haas -Add function pg_stat_get_backend_subxact() to report on a session's subtransaction cache (Dilip Kumar) +Add function pg_stat_get_backend_subxact() to report on a session's subtransaction cache (Dilip Kumar) @@ -655,7 +655,7 @@ Author: Tom Lane -Have pg_stat_get_backend_idset(), pg_stat_get_backend_activity(), and related functions use the unchanging backend id (Nathan Bossart) +Have pg_stat_get_backend_idset(), pg_stat_get_backend_activity(), and related functions use the unchanging backend id (Nathan Bossart) @@ -681,7 +681,7 @@ Author: Andres Freund -Add wait event SpinDelay to report spinlock sleep delays (Andres Freund) +Add wait event SpinDelay to report spinlock sleep delays (Andres Freund) @@ -692,7 +692,7 @@ Author: Thomas Munro -Create new wait event DSMAllocate to indicate waiting for dynamic shared memory allocation (Thomas Munro) +Create new wait event DSMAllocate to indicate waiting for dynamic shared memory allocation (Thomas Munro) @@ -707,7 +707,7 @@ Author: Michael Paquier -Add the database name to the process display of logical WAL senders (Tatsuhiro Nakamori) +Add the database name to the process title of logical WAL senders (Tatsuhiro Nakamori) @@ -722,7 +722,7 @@ Author: Fujii Masao -Add checkpoint and REDO LSN information to log_checkpoints messages (Bharath Rupireddy, Kyotaro Horiguchi) +Add checkpoint and REDO LSN information to log_checkpoints messages (Bharath Rupireddy, Kyotaro Horiguchi) @@ -753,7 +753,7 @@ Author: Robert Haas -Add predefined role pg_create_subscription with permission to create subscriptions (Robert Haas) +Add predefined role pg_create_subscription with permission to create subscriptions (Robert Haas) @@ -772,7 +772,7 @@ Allow subscriptions to not require passwords (Robert Haas) -This is accomplished with the option password_required=false. +This is accomplished with the option password_required=false. @@ -783,12 +783,12 @@ Author: Jeff Davis -Simplify permissions for LOCK TABLE (Jeff Davis) +Simplify permissions for LOCK TABLE (Jeff Davis) -Previously the ability to perform LOCK TABLE at various lock levels was bound to specific query-type permissions. For example, UPDATE could perform all lock levels except ACCESS SHARE, which -required SELECT permissions. Now UPDATE can issue all lock levels. MORE? +Previously the ability to perform LOCK TABLE at various lock levels was bound to specific query-type permissions. For example, UPDATE could perform all lock levels except ACCESS SHARE, which +required SELECT permissions. Now UPDATE can issue all lock levels. MORE? @@ -799,7 +799,7 @@ Author: Robert Haas -Allow GRANT group_name TO user_name to be performed with ADMIN OPTION (Robert Haas) +Allow GRANT group_name TO user_name to be performed with ADMIN OPTION (Robert Haas) @@ -814,7 +814,7 @@ Author: Robert Haas -Allow GRANT to control role inheritance behavior (Robert Haas) +Allow GRANT to control role inheritance behavior (Robert Haas) @@ -831,11 +831,11 @@ Author: Daniel Gustafsson -Allow roles that create other roles to automatically inherit the new role's rights or the ability to SET ROLE to the new role (Robert Haas, Shi Yu) +Allow roles that create other roles to automatically inherit the new role's rights or the ability to SET ROLE to the new role (Robert Haas, Shi Yu) -This is controlled by server variable createrole_self_grant. +This is controlled by server variable createrole_self_grant. @@ -891,7 +891,7 @@ Author: Robert Haas -Add GRANT to control permission to use SET ROLE (Robert Haas) +Add GRANT to control permission to use SET ROLE (Robert Haas) @@ -921,11 +921,11 @@ Author: Robert Haas -Add dependency tracking of grantors for GRANT records (Robert Haas) +Add dependency tracking of grantors for GRANT records (Robert Haas) -This guarantees that pg_auth_members.grantor values are always valid. +This guarantees that pg_auth_members.grantor values are always valid. @@ -968,11 +968,11 @@ Author: Tom Lane -Allow makeaclitem() to accept multiple privilege names (Robins Tharakan) +Allow makeaclitem() to accept multiple privilege names (Robins Tharakan) -Previously only a single privilege name, like SELECT, was accepted. +Previously only a single privilege name, like SELECT, was accepted. @@ -998,11 +998,11 @@ Author: Tom Lane -Add support for Kerberos credential delegation (Stephen Frost) +Add support for Kerberos credential delegation (Stephen Frost) -This is enabled with server variable gss_accept_delegation and libpq connection parameter gssdelegation. +This is enabled with server variable gss_accept_delegation and libpq connection parameter gssdelegation. @@ -1013,7 +1013,7 @@ Author: Daniel Gustafsson -Allow the SCRAM iteration count to be set with server variable scram_iterations (Daniel Gustafsson) +Allow the SCRAM iteration count to be set with server variable scram_iterations (Daniel Gustafsson) @@ -1041,7 +1041,7 @@ Tighten restrictions on which server variables can be reset (Masahiko Sawada) -Previously, while certain variables, like transaction_isolation, were not affected by RESET ALL, they could be individually reset in inappropriate situations. +Previously, while certain variables, like transaction_isolation, were not affected by RESET ALL, they could be individually reset in inappropriate situations. @@ -1052,11 +1052,11 @@ Author: Michael Paquier -Move various postgresql.conf items into new categories (Shinya Kato) +Move various postgresql.conf items into new categories (Shinya Kato) -This also affects the categories displayed in the pg_settings view. +This also affects the categories displayed in the pg_settings view. @@ -1080,7 +1080,7 @@ Author: Daniel Gustafsson -Allow autovacuum to more frequently honor changes to delay settings (Melanie Plageman) +Allow autovacuum to more frequently honor changes to delay settings (Melanie Plageman) @@ -1101,7 +1101,7 @@ Remove restrictions that archive files be durably renamed (Nathan Bossart) -The archive_command command is now more likely to be called with already-archived files after a crash. +The archive_command command is now more likely to be called with already-archived files after a crash. @@ -1112,7 +1112,7 @@ Author: Peter Eisentraut -Prevent archive_library and archive_command from being set at the same time (Nathan Bossart) +Prevent archive_library and archive_command from being set at the same time (Nathan Bossart) @@ -1132,7 +1132,7 @@ Allow the postmaster to terminate children with an abort signal (Tom Lane) This allows collection of a core dump for a stuck child process. -This is controlled by send_abort_for_crash and send_abort_for_kill. +This is controlled by send_abort_for_crash and send_abort_for_kill. The postmaster's switch is now the same as setting send_abort_for_crash. @@ -1155,11 +1155,11 @@ Author: Robert Haas -Allow the server to reserve backend slots for roles with pg_use_reserved_connections membership (Nathan Bossart) +Allow the server to reserve backend slots for roles with pg_use_reserved_connections membership (Nathan Bossart) -The number of reserved slots is set by server variable reserved_connections. +The number of reserved slots is set by server variable reserved_connections. @@ -1170,7 +1170,7 @@ Author: Michael Paquier -Allow huge pages to work on newer versions of Windows 10 (Thomas Munro) +Allow huge pages to work on newer versions of Windows 10 (Thomas Munro) @@ -1187,11 +1187,11 @@ Author: Thomas Munro -Add debug_io_direct setting for developer usage (Thomas Munro, Andres Freund, Bharath Rupireddy) +Add debug_io_direct setting for developer usage (Thomas Munro, Andres Freund, Bharath Rupireddy) -While primarily for developers, wal_sync_method=open_sync/open_datasync has been modified to not use direct I/O with wal_level=minimal; this is now enabled with debug_io_direct=wal. +While primarily for developers, wal_sync_method=open_sync/open_datasync has been modified to not use direct I/O with wal_level=minimal; this is now enabled with debug_io_direct=wal. @@ -1204,7 +1204,7 @@ Author: Michael Paquier -Add function pg_split_walfile_name() to report the segment and timeline values of WAL file names (Bharath Rupireddy) +Add function pg_split_walfile_name() to report the segment and timeline values of WAL file names (Bharath Rupireddy) @@ -1239,7 +1239,7 @@ Author: Michael Paquier -Improve user-column handling of pg_ident.conf to match pg_hba.conf (Jelte Fennema) +Improve user-column handling of pg_ident.conf to match pg_hba.conf (Jelte Fennema) @@ -1258,7 +1258,7 @@ Allow include files in pg_hba.conf and pg_ident.c -These are controlled by include, include_if_exists, and include_dir. System views pg_hba_file_rules and pg_ident_file_mappings now display the file name. +These are controlled by include, include_if_exists, and include_dir. System views pg_hba_file_rules and pg_ident_file_mappings now display the file name. @@ -1280,7 +1280,7 @@ Author: Michael Paquier -Add rule and map numbers to the system view pg_hba_file_rules (Julien Rouhaud) +Add rule and map numbers to the system view pg_hba_file_rules (Julien Rouhaud) @@ -1304,7 +1304,7 @@ Determine the ICU default locale from the environment (Jeff D -However, ICU doesn't support the C locale so UTF-8 is used in such cases. Previously the default was always UTF-8. +However, ICU doesn't support the C locale so UTF-8 is used in such cases. Previously the default was always UTF-8. @@ -1315,7 +1315,7 @@ Date: Fri Jun 16 10:27:32 2023 -0700 -Have CREATE DATABASE and CREATE COLLATION's LOCALE options, and initdb and createdb options, control non-libc collation providers (Jeff Davis) +Have CREATE DATABASE and CREATE COLLATION's LOCALE options, and initdb and createdb options, control non-libc collation providers (Jeff Davis) @@ -1349,7 +1349,7 @@ Allow custom ICU collation rules to be created (Peter Eisentr -This is done using CREATE COLLATION's new RULES clause, as well as new options for CREATE DATABASE, createdb, and initdb. +This is done using CREATE COLLATION's new RULES clause, as well as new options for CREATE DATABASE, createdb, and initdb. @@ -1390,14 +1390,12 @@ Author: Andres Freund -Allow logical decoding on standbys (Bertrand Drouvot, Andres Freund, Amit Khandekar) +Allow logical decoding on standbys (Bertrand Drouvot, Andres Freund, Amit Khandekar) - - Snapshot WAL records are required for logical slot creation but cannot be created on standbys. -To avoid delays, the new function pg_log_standby_snapshot() allows creation of such records. +To avoid delays, the new function pg_log_standby_snapshot() allows creation of such records. @@ -1416,7 +1414,7 @@ Add server variable to control how logical decoding publishers transfer changes -The variable is logical_replication_mode. +The variable is logical_replication_mode. @@ -1450,9 +1448,9 @@ Allow parallel application of logical replication (Hou Zhijie, Wang Wei, Amit Ka -The CREATE SUBSCRIPTION option now supports parallel to enable application of large transactions by parallel workers. The number of parallel workers is controlled by -the new server variable max_parallel_apply_workers_per_subscription. Wait events LogicalParallelApplyMain, LogicalParallelApplyStateChange, and LogicalApplySendData were also added. Column leader_pid was -added to system view pg_stat_subscription to track parallel activity. +The CREATE SUBSCRIPTION option now supports parallel to enable application of large transactions by parallel workers. The number of parallel workers is controlled by +the new server variable max_parallel_apply_workers_per_subscription. Wait events LogicalParallelApplyMain, LogicalParallelApplyStateChange, and LogicalApplySendData were also added. Column leader_pid was +added to system view pg_stat_subscription to track parallel activity. @@ -1463,7 +1461,7 @@ Author: Amit Kapila -Improve performance for logical replication apply without a primary key (Onder Kalaci, Amit Kapila) +Improve performance for logical replication apply without a primary key (Onder Kalaci, Amit Kapila) @@ -1497,12 +1495,12 @@ Author: Robert Haas -Perform logical replication SELECT and DML actions as the table owner (Robert Haas) +Perform logical replication SELECT and DML actions as the table owner (Robert Haas) -This improves security and now requires subscription owners to be either superusers or to have SET ROLE permissions on all tables in the replication set. The previous behavior of performing all operations -as the subscription owner can be enabled with the subscription option. +This improves security and now requires subscription owners to be either superusers or to have SET ROLE permissions on all tables in the replication set. The previous behavior of performing all operations +as the subscription owner can be enabled with the subscription option. @@ -1513,11 +1511,11 @@ Author: Tom Lane -Have wal_retrieve_retry_interval operate on a per-subscription basis (Nathan Bossart) +Have wal_retrieve_retry_interval operate on a per-subscription basis (Nathan Bossart) -Previously the retry time was applied globally. This also adds wait events LogicalRepLauncherDSA and LogicalRepLauncherHash. +Previously the retry time was applied globally. This also adds wait events >LogicalRepLauncherDSA and LogicalRepLauncherHash. @@ -1537,7 +1535,7 @@ Author: Tom Lane -Add EXPLAIN option GENERIC_PLAN to display the generic plan for a parameterized query (Laurenz Albe) +Add EXPLAIN option GENERIC_PLAN to display the generic plan for a parameterized query (Laurenz Albe) @@ -1548,7 +1546,7 @@ Author: Andrew Dunstan -Allow a COPY FROM value to map to a column's DEFAULT (Israel Barth Rubio) +Allow a COPY FROM value to map to a column's DEFAULT (Israel Barth Rubio) @@ -1559,11 +1557,11 @@ Author: Etsuro Fujita -Allow COPY into foreign tables to add rows in batches (Andrey Lepikhov, Etsuro Fujita) +Allow COPY into foreign tables to add rows in batches (Andrey Lepikhov, Etsuro Fujita) -This is controlled by the postgres_fdw option . +This is controlled by the postgres_fdw option . @@ -1576,11 +1574,11 @@ Author: Tom Lane -Allow the STORAGE type to be specified by CREATE TABLE (Teodor Sigaev, Aleksander Alekseev) +Allow the STORAGE type to be specified by CREATE TABLE (Teodor Sigaev, Aleksander Alekseev) -Previously only ALTER TABLE could control this. +Previously only ALTER TABLE could control this. @@ -1591,7 +1589,7 @@ Author: Fujii Masao -Allow truncate triggers on foreign tables (Yugo Nagata) +Allow truncate triggers on foreign tables (Yugo Nagata) @@ -1602,11 +1600,11 @@ Author: Michael Paquier -Allow VACUUM and vacuumdb to only process TOAST tables (Nathan Bossart) +Allow VACUUM and vacuumdb to only process TOAST tables (Nathan Bossart) -This is accomplished by having VACUUM turn off PROCESS_MAIN or by vacuumdb using the option. +This is accomplished by having VACUUM turn off PROCESS_MAIN or by vacuumdb using the option. @@ -1617,7 +1615,7 @@ Author: Tom Lane -Add VACUUM options to skip or update all frozen statistics (Tom Lane, Nathan Bossart) +Add VACUUM options to skip or update all frozen statistics (Tom Lane, Nathan Bossart) @@ -1634,7 +1632,7 @@ Author: Michael Paquier -Change REINDEX DATABASE and REINDEX SYSTEM to no longer require an argument (Simon Riggs) +Change REINDEX DATABASE and REINDEX SYSTEM to no longer require an argument (Simon Riggs) @@ -1649,7 +1647,7 @@ Author: Dean Rasheed -Allow CREATE STATISTICS to generate a statistics name if none is specified (Simon Riggs) +Allow CREATE STATISTICS to generate a statistics name if none is specified (Simon Riggs) @@ -1669,7 +1667,7 @@ Author: Peter Eisentraut -Allow non-decimal integer literals (Peter Eisentraut) +Allow non-decimal integer literals (Peter Eisentraut) @@ -1684,7 +1682,7 @@ Author: Dean Rasheed -Allow NUMERIC to process hexadecimal, octal, and binary integers of any size (Dean Rasheed) +Allow NUMERIC to process hexadecimal, octal, and binary integers of any size (Dean Rasheed) @@ -1699,7 +1697,7 @@ Author: Dean Rasheed -Allow underscores in integer and numeric constants (Peter Eisentraut, Dean Rasheed) +Allow underscores in integer and numeric constants (Peter Eisentraut, Dean Rasheed) @@ -1751,7 +1749,7 @@ Author: Michael Paquier -Add functions pg_input_is_valid() and pg_input_error_info() to check for type conversion errors (Tom Lane) +Add functions pg_input_is_valid() and pg_input_error_info() to check for type conversion errors (Tom Lane) @@ -1810,7 +1808,7 @@ Add SQL/JSON constructors (Nikita Glukhov, Teodor Sigaev, Ole -The new functions JSON_ARRAY(), JSON_ARRAYAGG(), JSON_OBJECT(), and JSON_OBJECTAGG() are part of the SQL standard. +The new functions JSON_ARRAY(), JSON_ARRAYAGG(), JSON_OBJECT(), and JSON_OBJECTAGG() are part of the SQL standard. @@ -1825,7 +1823,7 @@ Add SQL/JSON object checks (Nikita Glukhov, Teodor Sigaev, Ol -The IS JSON checks include checks for values, arrays, objects, scalars, and unique keys. +The IS JSON checks include checks for values, arrays, objects, scalars, and unique keys. @@ -1847,7 +1845,7 @@ Author: Tom Lane -Improve the handling of full text highlighting function ts_headline() for OR and NOT expressions (Tom Lane) +Improve the handling of full text highlighting function ts_headline() for OR and NOT expressions (Tom Lane) @@ -1862,7 +1860,7 @@ Add functions to add, subtract, and generate timestamptz values in -The functions are date_add(), date_subtract(), and generate_series(). +The functions are date_add(), date_subtract(), and generate_series(). @@ -1873,7 +1871,7 @@ Author: Tom Lane -Change date_trunc(unit, timestamptz, time_zone) to be an immutable function (Przemyslaw Sztoch) +Change date_trunc(unit, timestamptz, time_zone) to be an immutable function (Przemyslaw Sztoch) @@ -1888,7 +1886,7 @@ Author: Michael Paquier -Add server variable SYSTEM_USER (Bertrand Drouvot) +Add server variable SYSTEM_USER (Bertrand Drouvot) @@ -1903,7 +1901,7 @@ Author: Tom Lane -Add functions array_sample() and array_shuffle() (Martin Kalcher) +Add functions array_sample() and array_shuffle() (Martin Kalcher) @@ -1914,7 +1912,7 @@ Author: Peter Eisentraut -Add aggregate function ANY_VALUE() which returns any value from a set (Vik Fearing) +Add aggregate function ANY_VALUE() which returns any value from a set (Vik Fearing) @@ -1925,7 +1923,7 @@ Author: Tom Lane -Add function random_normal() to supply normally-distributed random numbers (Paul Ramsey) +Add function random_normal() to supply normally-distributed random numbers (Paul Ramsey) @@ -1936,7 +1934,7 @@ Author: Dean Rasheed -Add error function erf() and its complement erfc() (Dean Rasheed) +Add error function erf() and its complement erfc() (Dean Rasheed) @@ -1947,7 +1945,7 @@ Author: Dean Rasheed -Improve the accuracy of numeric power() for integer exponents (Dean Rasheed) +Improve the accuracy of numeric power() for integer exponents (Dean Rasheed) @@ -1958,7 +1956,7 @@ Author: Tom Lane -Add XMLSERIALIZE() option INDENT to pretty-print its output (Jim Jones) +Add XMLSERIALIZE() option INDENT to pretty-print its output (Jim Jones) @@ -1969,7 +1967,7 @@ Author: Jeff Davis -Change pg_collation_actual_version() to return a reasonable value for the default collation (Jeff Davis) +Change pg_collation_actual_version() to return a reasonable value for the default collation (Jeff Davis) @@ -1984,7 +1982,7 @@ Author: Tom Lane -Allow pg_read_file() and pg_read_binary_file() to ignore missing files (Kyotaro Horiguchi) +Allow pg_read_file() and pg_read_binary_file() to ignore missing files (Kyotaro Horiguchi) @@ -1995,7 +1993,7 @@ Author: Peter Eisentraut -Add byte specification (B) to pg_size_bytes() (Peter Eisentraut) +Add byte specification (B) to pg_size_bytes() (Peter Eisentraut) @@ -2006,7 +2004,7 @@ Author: Tom Lane -Allow to_reg* functions to accept numeric OIDs as input (Tom Lane) +Allow to_reg* functions to accept numeric OIDs as input (Tom Lane) @@ -2030,7 +2028,7 @@ Add the ability to get the current function's OID in -This is accomplished with GET DIAGNOSTICS variable = PG_ROUTINE_OID. +This is accomplished with GET DIAGNOSTICS variable = PG_ROUTINE_OID. @@ -2050,7 +2048,7 @@ Author: Michael Paquier -Add libpq connection option to specify a list of acceptable authentication methods (Jacob Champion) +Add libpq connection option to specify a list of acceptable authentication methods (Jacob Champion) @@ -2071,7 +2069,7 @@ Allow multiple libpq-specified hosts to be randomly s -This is enabled with load_balance_hosts=random and can be used for load balancing. +This is enabled with load_balance_hosts=random and can be used for load balancing. @@ -2082,7 +2080,7 @@ Author: Michael Paquier -Add libpq option to control transmission of the client certificate (Jacob Champion) +Add libpq option to control transmission of the client certificate (Jacob Champion) @@ -2101,7 +2099,7 @@ Allow libpq to use the system certificate pool for ce -This is enabled with sslrootcert=system, which also enables sslmode=verify-full. +This is enabled with sslrootcert=system, which also enables sslmode=verify-full. @@ -2121,7 +2119,7 @@ Author: Tom Lane -Allow ECPG variable declarations to use typedef names that match unreserved SQL keywords (Tom Lane) +Allow ECPG variable declarations to use typedef names that match unreserved SQL keywords (Tom Lane) @@ -2147,7 +2145,7 @@ Allow psql to control the maximum width of header lin -This is controlled by . +This is controlled by . @@ -2164,7 +2162,7 @@ Allow psql's access privilege commands to show system -The options are \dpS, \zS, and \drg. +The options are \dpS, \zS, and \drg. @@ -2175,7 +2173,7 @@ Author: Michael Paquier -Add FOREIGN designation to psql \d+ for foreign table children and partitions (Ian Lawrence Barwick) +Add FOREIGN designation to psql \d+ for foreign table children and partitions (Ian Lawrence Barwick) @@ -2186,11 +2184,11 @@ Author: Tom Lane -Prevent \df+ from showing function source code (Isaac Morland) +Prevent \df+ from showing function source code (Isaac Morland) -Function bodies are more easily viewed with \sf. +Function bodies are more easily viewed with \sf. @@ -2205,7 +2203,7 @@ Allow psql to submit queries using the extended query -Passing arguments to such queries is done using the new psql \bind command. +Passing arguments to such queries is done using the new psql \bind command. @@ -2216,7 +2214,7 @@ Author: Tom Lane -Allow psql \watch to limit the number of executions (Andrey Borodin) +Allow psql \watch to limit the number of executions (Andrey Borodin) @@ -2231,7 +2229,7 @@ Author: Michael Paquier -Detect invalid values for psql \watch, and allow zero to specify no delay (Andrey Borodin) +Detect invalid values for psql \watch, and allow zero to specify no delay (Andrey Borodin) @@ -2249,7 +2247,7 @@ Allow psql scripts to obtain the exit status of shell -The new psql control variables are SHELL_ERROR and SHELL_EXIT_CODE. +The new psql control variables are SHELL_ERROR and SHELL_EXIT_CODE. @@ -2331,7 +2329,7 @@ Author: Tomas Vondra -Allow pg_dump and pg_basebackup to use long mode for compression (Justin Pryzby) +Allow pg_dump and pg_basebackup to use long mode for compression (Justin Pryzby) @@ -2368,7 +2366,7 @@ Author: Tom Lane 2023-03-22 -Add initdb option to set server variables for the duration of initdb and all future server starts (Tom Lane) +Add initdb option to set server variables for the duration of initdb and all future server starts (Tom Lane) @@ -2385,7 +2383,7 @@ Author: Nathan Bossart -Add options to createuser to control more user options (Shinya Kato) +Add options to createuser to control more user options (Shinya Kato) @@ -2402,7 +2400,7 @@ Author: Nathan Bossart -Deprecate createuser option (Nathan Bossart) +Deprecate createuser option (Nathan Bossart) @@ -2418,7 +2416,7 @@ Author: Andrew Dunstan -Allow control of vacuumdb schema processing (Gilles Darold) +Allow control of vacuumdb schema processing (Gilles Darold) @@ -2433,7 +2431,7 @@ Author: Tom Lane -Use new VACUUM options to improve the performance of vacuumdb (Tom Lane, Nathan Bossart) +Use new VACUUM options to improve the performance of vacuumdb (Tom Lane, Nathan Bossart) @@ -2444,7 +2442,7 @@ Author: Jeff Davis -Have pg_upgrade set the new cluster's locale and encoding (Jeff Davis) +Have pg_upgrade set the new cluster's locale and encoding (Jeff Davis) @@ -2459,7 +2457,7 @@ Author: Peter Eisentraut -Add pg_upgrade option to specify the default transfer mode (Peter Eisentraut) +Add pg_upgrade option to specify the default transfer mode (Peter Eisentraut) @@ -2474,7 +2472,7 @@ Author: Michael Paquier -Improve pg_basebackup to accept numeric compression options (Georgios Kokolatos, Michael Paquier) +Improve pg_basebackup to accept numeric compression options (Georgios Kokolatos, Michael Paquier) @@ -2489,7 +2487,7 @@ Author: Robert Haas -Fix pg_basebackup to handle tablespaces stored in the PGDATA directory (Robert Haas) +Fix pg_basebackup to handle tablespaces stored in the PGDATA directory (Robert Haas) @@ -2500,7 +2498,7 @@ Author: Michael Paquier -Add pg_waldump option to dump full page images (David Christensen) +Add pg_waldump option to dump full page images (David Christensen) @@ -2511,7 +2509,7 @@ Author: Peter Eisentraut -Allow pg_waldump options / to accept hexadecimal values (Peter Eisentraut) +Allow pg_waldump options / to accept hexadecimal values (Peter Eisentraut) @@ -2522,7 +2520,7 @@ Author: Michael Paquier -Add support for progress reporting to pg_verifybackup (Masahiko Sawada) +Add support for progress reporting to pg_verifybackup (Masahiko Sawada) @@ -2535,7 +2533,7 @@ Author: Heikki Linnakangas -Allow pg_rewind to properly track timeline changes (Heikki Linnakangas) +Allow pg_rewind to properly track timeline changes (Heikki Linnakangas) @@ -2550,7 +2548,7 @@ Author: Daniel Gustafsson -Have pg_receivewal and pg_recvlogical cleanly exit on SIGTERM (Christoph Berg) +Have pg_receivewal and pg_recvlogical cleanly exit on SIGTERM (Christoph Berg) @@ -2578,7 +2576,7 @@ Build ICU support by default (Jeff Davis) -This removes build flag and adds flag . +This removes build flag and adds flag . @@ -2748,7 +2746,7 @@ Author: Michael Paquier -Remove libpq support for SCM credential authentication (Michael Paquier) +Remove libpq support for SCM credential authentication (Michael Paquier) @@ -2763,7 +2761,7 @@ Author: Andres Freund -Add meson build system (Andres Freund, Nazir Bilal Yavuz, Peter Eisentraut) +Add meson build system (Andres Freund, Nazir Bilal Yavuz, Peter Eisentraut) @@ -2797,7 +2795,7 @@ Add build option to allow testing of small WAL segment sizes -The build options are and . +The build options are and . @@ -2820,7 +2818,7 @@ Author: Andrew Dunstan -Add pgindent options (Andrew Dunstan) +Add pgindent options (Andrew Dunstan) @@ -2836,7 +2834,7 @@ Author: Tom Lane -Add pg_bsd_indent source code to the main tree (Tom Lane) +Add pg_bsd_indent source code to the main tree (Tom Lane) @@ -2858,7 +2856,7 @@ Author: Peter Eisentraut -Adjust pg_attribute columns for efficiency (Peter Eisentraut) +Adjust pg_attribute columns for efficiency (Peter Eisentraut) @@ -2889,7 +2887,7 @@ Author: Tom Lane -Add support for Daitch-Mokotoff Soundex to fuzzystrmatch (Dag Lem) +Add support for Daitch-Mokotoff Soundex to fuzzystrmatch (Dag Lem) @@ -2900,11 +2898,11 @@ Author: Michael Paquier -Allow auto_explain to log values passed to parameterized statements (Dagfinn Ilmari Mannsåker) +Allow auto_explain to log values passed to parameterized statements (Dagfinn Ilmari Mannsåker) -This affects queries using server-side PREPARE/EXECUTE and client-side parse/bind. Logging is controlled by auto_explain.log_parameter_max_length; by default query parameters will +This affects queries using server-side PREPARE/EXECUTE and client-side parse/bind. Logging is controlled by auto_explain.log_parameter_max_length; by default query parameters will be logged with no length restriction. @@ -2916,11 +2914,11 @@ Author: Michael Paquier -Have auto_explain's mode honor the value of compute_query_id (Atsushi Torikoshi) +Have auto_explain's mode honor the value of compute_query_id (Atsushi Torikoshi) -Previously even if compute_query_id was enabled, was not showing the query identifier. +Previously even if compute_query_id was enabled, was not showing the query identifier. @@ -2931,7 +2929,7 @@ Author: Andrew Dunstan -Change the maximum length of ltree labels from 256 to 1000 and allow hyphens (Garen Torikian) +Change the maximum length of ltree labels from 256 to 1000 and allow hyphens (Garen Torikian) @@ -2942,7 +2940,7 @@ Author: Michael Paquier -Have pg_stat_statements normalize constants used in utility commands (Michael Paquier) +Have pg_stat_statements normalize constants used in utility commands (Michael Paquier) @@ -2963,7 +2961,7 @@ Author: Peter Geoghegan -Add pg_walinspect function pg_get_wal_block_info() to report WAL block information (Michael Paquier, Melanie Plageman, Bharath Rupireddy) +Add pg_walinspect function pg_get_wal_block_info() to report WAL block information (Michael Paquier, Melanie Plageman, Bharath Rupireddy) @@ -2974,7 +2972,7 @@ Author: Michael Paquier -Change how pg_walinspect functions pg_get_wal_records_info() and pg_get_wal_stats() interpret ending LSNs (Bharath Rupireddy) +Change how pg_walinspect functions pg_get_wal_records_info() and pg_get_wal_stats() interpret ending LSNs (Bharath Rupireddy) @@ -2995,7 +2993,7 @@ Author: Peter Geoghegan -Add detailed descriptions of WAL records in pg_walinspect and pg_waldump (Melanie Plageman, Peter Geoghegan) +Add detailed descriptions of WAL records in pg_walinspect and pg_waldump (Melanie Plageman, Peter Geoghegan) @@ -3006,7 +3004,7 @@ Author: Tom Lane -Add pageinspect function bt_multi_page_stats() to report statistics on multiple pages (Hamid Akhtar) +Add pageinspect function bt_multi_page_stats() to report statistics on multiple pages (Hamid Akhtar) @@ -3021,7 +3019,7 @@ Author: Tom Lane -Add empty range output column to pageinspect function brin_page_items() (Tomas Vondra) +Add empty range output column to pageinspect function brin_page_items() (Tomas Vondra) @@ -3047,7 +3045,7 @@ Author: Michael Paquier -Correct inaccurate pg_stat_statements row tracking extended query protocol statements (Sami Imseih) +Correct inaccurate pg_stat_statements row tracking extended query protocol statements (Sami Imseih) @@ -3058,7 +3056,7 @@ Author: Tom Lane -Add pg_buffercache function pg_buffercache_usage_counts() to report usage totals (Nathan Bossart) +Add pg_buffercache function pg_buffercache_usage_counts() to report usage totals (Nathan Bossart) @@ -3069,7 +3067,7 @@ Author: Andres Freund -Add pg_buffercache function pg_buffercache_summary() to report summarized buffer statistics (Melih Mutlu) +Add pg_buffercache function pg_buffercache_summary() to report summarized buffer statistics (Melih Mutlu) @@ -3091,7 +3089,7 @@ Author: Tom Lane -Allow required extensions to be marked as non-relocatable using no_relocate (Regina Obe) +Allow required extensions to be marked as non-relocatable using no_relocate (Regina Obe) @@ -3117,7 +3115,7 @@ Allow postgres_fdw to do aborts in parallel (Etsuro F -This is enabled with postgres_fdw option . +This is enabled with postgres_fdw option . @@ -3128,11 +3126,11 @@ Author: Tomas Vondra -Make ANALYZE on foreign postgres_fdw tables more efficient (Tomas Vondra) +Make ANALYZE on foreign postgres_fdw tables more efficient (Tomas Vondra) -The postgres_fdw option controls the sampling method. +The postgres_fdw option controls the sampling method. @@ -3143,7 +3141,7 @@ Author: Tom Lane -Restrict shipment of reg* type constants in postgres_fdw to those referencing built-in objects or extensions marked as shippable (Tom Lane) +Restrict shipment of reg* type constants in postgres_fdw to those referencing built-in objects or extensions marked as shippable (Tom Lane) @@ -3154,7 +3152,7 @@ Author: Andres Freund -Have postgres_fdw and dblink handle interrupts during connection establishment (Andres Freund) +Have postgres_fdw and dblink handle interrupts during connection establishment (Andres Freund) From f303020b809e2f3d3e82819b68e22dd0b0c4aa7f Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Thu, 17 Aug 2023 15:45:13 +1200 Subject: [PATCH 104/317] Invalidate smgr_targblock in smgrrelease(). In rare circumstances involving relfilenode reuse, it might have been possible for smgr_targblock to finish up pointing past the end. Oversight in b74e94dc. Back-patch to 15. Reviewed-by: Heikki Linnakangas Discussion: https://postgr.es/m/CA%2BhUKGJ8NTvqLHz6dqbQnt2c8XCki4r2QvXjBQcXpVwxTY_pvA%40mail.gmail.com --- src/backend/storage/smgr/smgr.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/backend/storage/smgr/smgr.c b/src/backend/storage/smgr/smgr.c index f76c4605dbb..5d0f3d515c3 100644 --- a/src/backend/storage/smgr/smgr.c +++ b/src/backend/storage/smgr/smgr.c @@ -296,6 +296,7 @@ smgrrelease(SMgrRelation reln) smgrsw[reln->smgr_which].smgr_close(reln, forknum); reln->smgr_cached_nblocks[forknum] = InvalidBlockNumber; } + reln->smgr_targblock = InvalidBlockNumber; } /* From 37485cf6c5ec9a044115387926037faf3db11234 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Fri, 18 Aug 2023 07:41:14 +0200 Subject: [PATCH 105/317] Remove dubious warning message from SQL/JSON functions There was a warning that FORMAT JSON has no effect on json/jsonb types, which is true, but it's not clear why we should issue a warning about it. The SQL standard does not say anything about this, which should generally govern the behavior here. So remove it. Discussion: https://www.postgresql.org/message-id/flat/dfec2cae-d17e-c508-6d16-c2dba82db486%40eisentraut.org --- src/backend/parser/parse_expr.c | 5 ----- src/test/regress/expected/sqljson.out | 6 ------ 2 files changed, 11 deletions(-) diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c index c4ab9738335..43fd288e1ee 100644 --- a/src/backend/parser/parse_expr.c +++ b/src/backend/parser/parse_expr.c @@ -3435,12 +3435,7 @@ transformJsonValueExpr(ParseState *pstate, const char *constructName, parser_errposition(pstate, ve->format->location)); if (exprtype == JSONOID || exprtype == JSONBOID) - { format = JS_FORMAT_DEFAULT; /* do not format json[b] types */ - ereport(WARNING, - errmsg("FORMAT JSON has no effect for json and jsonb types"), - parser_errposition(pstate, ve->format->location)); - } else format = ve->format->format_type; } diff --git a/src/test/regress/expected/sqljson.out b/src/test/regress/expected/sqljson.out index 11ebf4403b0..fa2abdb4a7f 100644 --- a/src/test/regress/expected/sqljson.out +++ b/src/test/regress/expected/sqljson.out @@ -84,9 +84,6 @@ ERROR: JSON ENCODING clause is only allowed for bytea input type LINE 1: SELECT JSON_OBJECT('foo': NULL::int FORMAT JSON ENCODING UTF... ^ SELECT JSON_OBJECT('foo': NULL::json FORMAT JSON); -WARNING: FORMAT JSON has no effect for json and jsonb types -LINE 1: SELECT JSON_OBJECT('foo': NULL::json FORMAT JSON); - ^ json_object ---------------- {"foo" : null} @@ -97,9 +94,6 @@ ERROR: JSON ENCODING clause is only allowed for bytea input type LINE 1: SELECT JSON_OBJECT('foo': NULL::json FORMAT JSON ENCODING UT... ^ SELECT JSON_OBJECT('foo': NULL::jsonb FORMAT JSON); -WARNING: FORMAT JSON has no effect for json and jsonb types -LINE 1: SELECT JSON_OBJECT('foo': NULL::jsonb FORMAT JSON); - ^ json_object --------------- {"foo": null} From 83f48f6107ea4b97338ab6ba32a96dbbf49d189d Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Sat, 19 Aug 2023 12:40:45 -0700 Subject: [PATCH 106/317] ci: macos: use cached macports install A significant chunk of the time on the macos CI task is spent installing packages using homebrew. The downloads of the packages are cached, but the installation needs to happen every time. We can't cache the whole homebrew installation, because it is too large due to pre-installed packages. Speed this up by installing packages using macports and caching the installation as .dmg. That's a lot faster than unpacking a tarball. In addition, don't install llvm - it wasn't enabled when building, so it's just a waste of time/space. This substantially speeds up the mac CI time, both in the cold cache and in the warm cache case (the latter from ~1m20s to ~5s). It doesn't seem great to have diverging sources of packages for CI between branches, so backpatch to 15 (where CI was added). Discussion: https://postgr.es/m/20230805202539.r3umyamsnctysdc7@awork3.anarazel.de Backpatch: 15-, where CI was added --- .cirrus.yml | 63 +++++++----------- src/tools/ci/ci_macports_packages.sh | 97 ++++++++++++++++++++++++++++ 2 files changed, 122 insertions(+), 38 deletions(-) create mode 100755 src/tools/ci/ci_macports_packages.sh diff --git a/.cirrus.yml b/.cirrus.yml index 626766e39f6..8203b2f90a6 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -435,8 +435,7 @@ task: CIRRUS_WORKING_DIR: ${HOME}/pgsql/ CCACHE_DIR: ${HOME}/ccache - HOMEBREW_CACHE: ${HOME}/homebrew-cache - PERL5LIB: ${HOME}/perl5/lib/perl5 + MACPORTS_CACHE: ${HOME}/macports-cache CC: ccache cc CXX: ccache c++ @@ -459,55 +458,43 @@ task: - mkdir ${HOME}/cores - sudo sysctl kern.corefile="${HOME}/cores/core.%P" - perl_cache: - folder: ~/perl5 - cpan_install_script: - - perl -mIPC::Run -e 1 || cpan -T IPC::Run - - perl -mIO::Pty -e 1 || cpan -T IO::Pty - upload_caches: perl - - - # XXX: Could we instead install homebrew into a cached directory? The - # homebrew installation takes a good bit of time every time, even if the - # packages do not need to be downloaded. - homebrew_cache: - folder: $HOMEBREW_CACHE + # Use macports, even though homebrew is installed. The installation + # of the additional packages we need would take quite a while with + # homebrew, even if we cache the downloads. We can't cache all of + # homebrew, because it's already large. So we use macports. To cache + # the installation we create a .dmg file that we mount if it already + # exists. + # XXX: The reason for the direct p5.34* references is that we'd need + # the large macport tree around to figure out that p5-io-tty is + # actually p5.34-io-tty. Using the unversioned name works, but + # updates macports every time. + macports_cache: + folder: ${MACPORTS_CACHE} setup_additional_packages_script: | - brew install \ + sh src/tools/ci/ci_macports_packages.sh \ ccache \ - icu4c \ - krb5 \ - llvm \ + icu \ + kerberos5 \ lz4 \ - make \ meson \ openldap \ openssl \ - python \ - tcl-tk \ + p5.34-io-tty \ + p5.34-ipc-run \ + tcl \ zstd - - brew cleanup -s # to reduce cache size - upload_caches: homebrew + # Make macports install visible for subsequent steps + echo PATH=/opt/local/sbin/:/opt/local/bin/:$PATH >> $CIRRUS_ENV + upload_caches: macports ccache_cache: folder: $CCACHE_DIR configure_script: | - brewpath="/opt/homebrew" - PKG_CONFIG_PATH="${brewpath}/lib/pkgconfig:${PKG_CONFIG_PATH}" - - for pkg in icu4c krb5 openldap openssl zstd ; do - pkgpath="${brewpath}/opt/${pkg}" - PKG_CONFIG_PATH="${pkgpath}/lib/pkgconfig:${PKG_CONFIG_PATH}" - PATH="${pkgpath}/bin:${pkgpath}/sbin:$PATH" - done - - export PKG_CONFIG_PATH PATH - + export PKG_CONFIG_PATH="/opt/local/lib/pkgconfig/" meson setup \ --buildtype=debug \ - -Dextra_include_dirs=${brewpath}/include \ - -Dextra_lib_dirs=${brewpath}/lib \ + -Dextra_include_dirs=/opt/local/include \ + -Dextra_lib_dirs=/opt/local/lib \ -Dcassert=true \ -Duuid=e2fs -Ddtrace=auto \ -DPG_TEST_EXTRA="$PG_TEST_EXTRA" \ diff --git a/src/tools/ci/ci_macports_packages.sh b/src/tools/ci/ci_macports_packages.sh new file mode 100755 index 00000000000..4bc594a31d1 --- /dev/null +++ b/src/tools/ci/ci_macports_packages.sh @@ -0,0 +1,97 @@ +#!/bin/sh + +# Installs the passed in packages via macports. To make it fast enough +# for CI, cache the installation as a .dmg file. To avoid +# unnecessarily updating the cache, the cached image is only modified +# when packages are installed or removed. Any package this script is +# not instructed to install, will be removed again. +# +# This currently expects to be run in a macos cirrus-ci environment. + +set -e +# set -x + +packages="$@" + +macports_url="https://github.com/macports/macports-base/releases/download/v2.8.1/MacPorts-2.8.1-13-Ventura.pkg" +cache_dmg="macports.hfs.dmg" + +if [ "$CIRRUS_CI" != "true" ]; then + echo "expect to be called within cirrus-ci" 1>2 + exit 1 +fi + +sudo mkdir -p /opt/local +mkdir -p ${MACPORTS_CACHE}/ + +# If we are starting from clean cache, perform a fresh macports +# install. Otherwise decompress the .dmg we created previously. +# +# After this we have a working macports installation, with an unknown set of +# packages installed. +new_install=0 +update_cached_image=0 +if [ -e ${MACPORTS_CACHE}/${cache_dmg}.zstd ]; then + time zstd -T0 -d ${MACPORTS_CACHE}/${cache_dmg}.zstd -o ${cache_dmg} + time sudo hdiutil attach -kernel ${cache_dmg} -owners on -shadow ${cache_dmg}.shadow -mountpoint /opt/local +else + new_install=1 + curl -fsSL -o macports.pkg "$macports_url" + time sudo installer -pkg macports.pkg -target / + # this is a throwaway environment, and it'd be a few lines to gin + # up a correct user / group when using the cache. + echo macportsuser root | sudo tee -a /opt/local/etc/macports/macports.conf +fi +export PATH=/opt/local/sbin/:/opt/local/bin/:$PATH + +# mark all installed packages unrequested, that allows us to detect +# packages that aren't needed anymore +if [ -n "$(port -q installed installed)" ] ; then + sudo port unsetrequested installed +fi + +# if setting all the required packages as requested fails, we need +# to install at least one of them +if ! sudo port setrequested $packages > /dev/null 2>&1 ; then + echo not all required packages installed, doing so now + update_cached_image=1 + # to keep the image small, we deleted the ports tree from the image... + sudo port selfupdate + # XXX likely we'll need some other way to force an upgrade at some + # point... + sudo port upgrade outdated + sudo port install -N $packages + sudo port setrequested $packages +fi + +# check if any ports should be uninstalled +if [ -n "$(port -q installed rleaves)" ] ; then + echo superflous packages installed + update_cached_image=1 + sudo port uninstall --follow-dependencies rleaves + + # remove prior cache contents, don't want to increase size + rm -f ${MACPORTS_CACHE}/* +fi + +# Shrink installation if we created / modified it +if [ "$new_install" -eq 1 -o "$update_cached_image" -eq 1 ]; then + sudo /opt/local/bin/port clean --all installed + sudo rm -rf /opt/local/var/macports/{software,sources}/* +fi + +# If we're starting from a clean cache, start a new image. If we have +# an image, but the contents changed, update the image in the cache +# location. +if [ "$new_install" -eq 1 ]; then + # use a generous size, so additional software can be installed later + time sudo hdiutil create -fs HFS+ -format UDRO -size 10g -layout NONE -srcfolder /opt/local/ ${cache_dmg} + time zstd -T -10 -z ${cache_dmg} -o ${MACPORTS_CACHE}/${cache_dmg}.zstd +elif [ "$update_cached_image" -eq 1 ]; then + sudo hdiutil detach /opt/local/ + time hdiutil convert -format UDRO ${cache_dmg} -shadow ${cache_dmg}.shadow -o updated.hfs.dmg + rm ${cache_dmg}.shadow + mv updated.hfs.dmg ${cache_dmg} + time zstd --force -T -10 -z ${cache_dmg} -o ${MACPORTS_CACHE}/${cache_dmg}.zstd + time sudo hdiutil attach -kernel ${cache_dmg} -owners on -shadow ${cache_dmg}.shadow -mountpoint /opt/local +fi From d2ef0e607629c2b16774173e78b59177ede9924e Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Mon, 21 Aug 2023 13:33:04 +0900 Subject: [PATCH 107/317] Fix pg_stat_reset_single_table_counters() for shared relations This commit fixes the function of $subject for shared relations. This feature has been added by e042678. Unfortunately, this new behavior got removed by 5891c7a when moving statistics to shared memory. Reported-by: Mitsuru Hinata Author: Masahiro Ikeda Reviewed-by: Kyotaro Horiguchi, Masahiko Sawada Discussion: https://postgr.es/m/7cc69f863d9b1bc677544e3accd0e4b4@oss.nttdata.com Backpatch-through: 15 --- src/backend/utils/adt/pgstatfuncs.c | 9 ++++-- src/test/regress/expected/stats.out | 46 +++++++++++++++++++++++++++++ src/test/regress/sql/stats.sql | 30 +++++++++++++++++++ 3 files changed, 83 insertions(+), 2 deletions(-) diff --git a/src/backend/utils/adt/pgstatfuncs.c b/src/backend/utils/adt/pgstatfuncs.c index c7e7321fa63..49caa13fe5c 100644 --- a/src/backend/utils/adt/pgstatfuncs.c +++ b/src/backend/utils/adt/pgstatfuncs.c @@ -17,6 +17,7 @@ #include "access/htup_details.h" #include "access/xlog.h" #include "access/xlogprefetcher.h" +#include "catalog/catalog.h" #include "catalog/pg_authid.h" #include "catalog/pg_type.h" #include "common/ip.h" @@ -1783,13 +1784,17 @@ pg_stat_reset_shared(PG_FUNCTION_ARGS) PG_RETURN_VOID(); } -/* Reset a single counter in the current database */ +/* + * Reset a statistics for a single object, which may be of current + * database or shared across all databases in the cluster. + */ Datum pg_stat_reset_single_table_counters(PG_FUNCTION_ARGS) { Oid taboid = PG_GETARG_OID(0); + Oid dboid = (IsSharedRelation(taboid) ? InvalidOid : MyDatabaseId); - pgstat_reset(PGSTAT_KIND_RELATION, MyDatabaseId, taboid); + pgstat_reset(PGSTAT_KIND_RELATION, dboid, taboid); PG_RETURN_VOID(); } diff --git a/src/test/regress/expected/stats.out b/src/test/regress/expected/stats.out index 319164a5e9e..94187e59cfb 100644 --- a/src/test/regress/expected/stats.out +++ b/src/test/regress/expected/stats.out @@ -764,6 +764,52 @@ FROM pg_stat_all_tables WHERE relid = 'test_last_scan'::regclass; 2 | t | 3 | t (1 row) +----- +-- Test reset of some stats for shared table +----- +-- This updates the comment of the database currently in use in +-- pg_shdescription with a fake value, then sets it back to its +-- original value. +SELECT shobj_description(d.oid, 'pg_database') as description_before + FROM pg_database d WHERE datname = current_database() \gset +-- force some stats in pg_shdescription. +BEGIN; +SELECT current_database() as datname \gset +COMMENT ON DATABASE :"datname" IS 'This is a test comment'; +SELECT pg_stat_force_next_flush(); + pg_stat_force_next_flush +-------------------------- + +(1 row) + +COMMIT; +-- check that the stats are reset. +SELECT (n_tup_ins + n_tup_upd) > 0 AS has_data FROM pg_stat_all_tables + WHERE relid = 'pg_shdescription'::regclass; + has_data +---------- + t +(1 row) + +SELECT pg_stat_reset_single_table_counters('pg_shdescription'::regclass); + pg_stat_reset_single_table_counters +------------------------------------- + +(1 row) + +SELECT (n_tup_ins + n_tup_upd) > 0 AS has_data FROM pg_stat_all_tables + WHERE relid = 'pg_shdescription'::regclass; + has_data +---------- + f +(1 row) + +-- set back comment +\if :{?description_before} + COMMENT ON DATABASE :"datname" IS :'description_before'; +\else + COMMENT ON DATABASE :"datname" IS NULL; +\endif ----- -- Test that various stats views are being properly populated ----- diff --git a/src/test/regress/sql/stats.sql b/src/test/regress/sql/stats.sql index 9a16df1c498..1e21e55c6d9 100644 --- a/src/test/regress/sql/stats.sql +++ b/src/test/regress/sql/stats.sql @@ -376,6 +376,36 @@ COMMIT; SELECT seq_scan, :'test_last_seq' = last_seq_scan AS seq_ok, idx_scan, :'test_last_idx' < last_idx_scan AS idx_ok FROM pg_stat_all_tables WHERE relid = 'test_last_scan'::regclass; +----- +-- Test reset of some stats for shared table +----- + +-- This updates the comment of the database currently in use in +-- pg_shdescription with a fake value, then sets it back to its +-- original value. +SELECT shobj_description(d.oid, 'pg_database') as description_before + FROM pg_database d WHERE datname = current_database() \gset + +-- force some stats in pg_shdescription. +BEGIN; +SELECT current_database() as datname \gset +COMMENT ON DATABASE :"datname" IS 'This is a test comment'; +SELECT pg_stat_force_next_flush(); +COMMIT; + +-- check that the stats are reset. +SELECT (n_tup_ins + n_tup_upd) > 0 AS has_data FROM pg_stat_all_tables + WHERE relid = 'pg_shdescription'::regclass; +SELECT pg_stat_reset_single_table_counters('pg_shdescription'::regclass); +SELECT (n_tup_ins + n_tup_upd) > 0 AS has_data FROM pg_stat_all_tables + WHERE relid = 'pg_shdescription'::regclass; + +-- set back comment +\if :{?description_before} + COMMENT ON DATABASE :"datname" IS :'description_before'; +\else + COMMENT ON DATABASE :"datname" IS NULL; +\endif ----- -- Test that various stats views are being properly populated From 6d70cd32bde4672085061b44143784145c4a67af Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Mon, 21 Aug 2023 17:54:29 -0400 Subject: [PATCH 108/317] doc: PG 16 relnotes: move role INHERIT item and clarify it Also split out new role ADMIN syntax entry. Reported-by: Pavel Luzanov Discussion: https://postgr.es/m/0ebcc8ea-7f5a-d014-d53f-e078622be35d@aklaver.com Backpatch-through: 16 only --- doc/src/sgml/release-16.sgml | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/release-16.sgml b/doc/src/sgml/release-16.sgml index c9c4fc07ca3..c4ae566900c 100644 --- a/doc/src/sgml/release-16.sgml +++ b/doc/src/sgml/release-16.sgml @@ -229,6 +229,24 @@ Collations and locales can vary between databases so having them as read-only se + + + + +Role inheritance now controls the default inheritance status of member roles added during GRANT (Robert Haas) + + + +The role's default inheritance behavior can be overridden with the new GRANT ... WITH INHERIT clause. +This allows inheritance of some roles and not others because the members' inheritance status is set at GRANT time. +Previously the inheritance status of member roles was controlled only by the role's inheritance status, and +changes to a role's inheritance status affected all previous and future member roles. + + + + + + +Allow psql's access privilege commands to show system objects (Nathan Bossart) + + + +The options are \dpS and \zS. From bea947c718eb2f38b5e1db6705826088686a79b3 Mon Sep 17 00:00:00 2001 From: Andrew Dunstan Date: Tue, 22 Aug 2023 11:57:08 -0400 Subject: [PATCH 112/317] Cache by-reference missing values in a long lived context Attribute missing values might be needed past the lifetime of the tuple descriptors from which they are extracted. To avoid possibly using pointers for by-reference values which might thus be left dangling, we cache a datumCopy'd version of the datum in the TopMemoryContext. Since we first search for the value this only needs to be done once per session for any such value. Original complaint from Tom Lane, idea for mitigation by Andrew Dunstan, tweaked by Tom Lane. Backpatch to version 11 where missing values were introduced. Discussion: https://postgr.es/m/1306569.1687978174@sss.pgh.pa.us --- src/backend/access/common/heaptuple.c | 90 ++++++++++++++++++++++++++- src/tools/pgindent/typedefs.list | 1 + 2 files changed, 90 insertions(+), 1 deletion(-) diff --git a/src/backend/access/common/heaptuple.c b/src/backend/access/common/heaptuple.c index cb2291ee360..ef246c901e7 100644 --- a/src/backend/access/common/heaptuple.c +++ b/src/backend/access/common/heaptuple.c @@ -60,8 +60,12 @@ #include "access/heaptoast.h" #include "access/sysattr.h" #include "access/tupdesc_details.h" +#include "common/hashfn.h" #include "executor/tuptable.h" +#include "utils/datum.h" #include "utils/expandeddatum.h" +#include "utils/hsearch.h" +#include "utils/memutils.h" /* Does att's datatype allow packing into the 1-byte-header varlena format? */ @@ -71,6 +75,57 @@ #define VARLENA_ATT_IS_PACKABLE(att) \ ((att)->attstorage != TYPSTORAGE_PLAIN) +/* + * Setup for cacheing pass-by-ref missing attributes in a way that survives + * tupleDesc destruction. + */ + +typedef struct +{ + int len; + Datum value; +} missing_cache_key; + +static HTAB *missing_cache = NULL; + +static uint32 +missing_hash(const void *key, Size keysize) +{ + const missing_cache_key *entry = (missing_cache_key *) key; + + return hash_bytes((const unsigned char *) entry->value, entry->len); +} + +static int +missing_match(const void *key1, const void *key2, Size keysize) +{ + const missing_cache_key *entry1 = (missing_cache_key *) key1; + const missing_cache_key *entry2 = (missing_cache_key *) key2; + + if (entry1->len != entry2->len) + return entry1->len > entry2->len ? 1 : -1; + + return memcmp(DatumGetPointer(entry1->value), + DatumGetPointer(entry2->value), + entry1->len); +} + +static void +init_missing_cache() +{ + HASHCTL hash_ctl; + + hash_ctl.keysize = sizeof(missing_cache_key); + hash_ctl.entrysize = sizeof(missing_cache_key); + hash_ctl.hcxt = TopMemoryContext; + hash_ctl.hash = missing_hash; + hash_ctl.match = missing_match; + missing_cache = + hash_create("Missing Values Cache", + 32, + &hash_ctl, + HASH_ELEM | HASH_CONTEXT | HASH_FUNCTION | HASH_COMPARE); +} /* ---------------------------------------------------------------- * misc support routines @@ -102,8 +157,41 @@ getmissingattr(TupleDesc tupleDesc, if (attrmiss->am_present) { + missing_cache_key key; + missing_cache_key *entry; + bool found; + MemoryContext oldctx; + *isnull = false; - return attrmiss->am_value; + + /* no need to cache by-value attributes */ + if (att->attbyval) + return attrmiss->am_value; + + /* set up cache if required */ + if (missing_cache == NULL) + init_missing_cache(); + + /* check if there's a cache entry */ + Assert(att->attlen > 0 || att->attlen == -1); + if (att->attlen > 0) + key.len = att->attlen; + else + key.len = VARSIZE_ANY(attrmiss->am_value); + key.value = attrmiss->am_value; + + entry = hash_search(missing_cache, &key, HASH_ENTER, &found); + + if (!found) + { + /* cache miss, so we need a non-transient copy of the datum */ + oldctx = MemoryContextSwitchTo(TopMemoryContext); + entry->value = + datumCopy(attrmiss->am_value, false, att->attlen); + MemoryContextSwitchTo(oldctx); + } + + return entry->value; } } diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list index bdff2141b4c..9a3b451b200 100644 --- a/src/tools/pgindent/typedefs.list +++ b/src/tools/pgindent/typedefs.list @@ -3472,6 +3472,7 @@ mbstr_verifier memoize_hash memoize_iterator metastring +missing_cache_key mix_data_t mixedStruct mode_t From 4585d2382e2f4f558d8be268ffc31dfdf2034bee Mon Sep 17 00:00:00 2001 From: Jeff Davis Date: Tue, 22 Aug 2023 11:21:36 -0700 Subject: [PATCH 113/317] Fix pg_dump assertion failure when dumping pg_catalog. Commit 396d348b04 did not account for the default collation. Also, use pg_log_warning() instead of Assert(). Discussion: https://postgr.es/m/ce071503fee88334aa70f360e6e4ea14d48305ee.camel%40j-davis.com Reviewed-by: Michael Paquier Backpatch-through: 15 --- src/bin/pg_dump/pg_dump.c | 69 ++++++++++++++++++++++++-------- src/bin/pg_dump/t/002_pg_dump.pl | 8 ++++ 2 files changed, 61 insertions(+), 16 deletions(-) diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index 09b4354559a..e178ad11a5c 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -13513,6 +13513,18 @@ dumpCollation(Archive *fout, const CollInfo *collinfo) else collctype = NULL; + /* + * Before version 15, collcollate and collctype were of type NAME and + * non-nullable. Treat empty strings as NULL for consistency. + */ + if (fout->remoteVersion < 150000) + { + if (collcollate[0] == '\0') + collcollate = NULL; + if (collctype[0] == '\0') + collctype = NULL; + } + if (!PQgetisnull(res, 0, i_colliculocale)) colliculocale = PQgetvalue(res, 0, i_colliculocale); else @@ -13544,35 +13556,60 @@ dumpCollation(Archive *fout, const CollInfo *collinfo) if (strcmp(PQgetvalue(res, 0, i_collisdeterministic), "f") == 0) appendPQExpBufferStr(q, ", deterministic = false"); - if (colliculocale != NULL) + if (collprovider[0] == 'd') { - appendPQExpBufferStr(q, ", locale = "); - appendStringLiteralAH(q, colliculocale, fout); + if (collcollate || collctype || colliculocale || collicurules) + pg_log_warning("invalid collation \"%s\"", qcollname); + + /* no locale -- the default collation cannot be reloaded anyway */ } - else + else if (collprovider[0] == 'i') { - Assert(collcollate != NULL); - Assert(collctype != NULL); + if (fout->remoteVersion >= 150000) + { + if (collcollate || collctype || !colliculocale) + pg_log_warning("invalid collation \"%s\"", qcollname); - if (strcmp(collcollate, collctype) == 0) + appendPQExpBufferStr(q, ", locale = "); + appendStringLiteralAH(q, colliculocale ? colliculocale : "", + fout); + } + else { + if (!collcollate || !collctype || colliculocale || + strcmp(collcollate, collctype) != 0) + pg_log_warning("invalid collation \"%s\"", qcollname); + appendPQExpBufferStr(q, ", locale = "); - appendStringLiteralAH(q, collcollate, fout); + appendStringLiteralAH(q, collcollate ? collcollate : "", fout); + } + + if (collicurules) + { + appendPQExpBufferStr(q, ", rules = "); + appendStringLiteralAH(q, collicurules ? collicurules : "", fout); + } + } + else if (collprovider[0] == 'c') + { + if (colliculocale || collicurules || !collcollate || !collctype) + pg_log_warning("invalid collation \"%s\"", qcollname); + + if (collcollate && collctype && strcmp(collcollate, collctype) == 0) + { + appendPQExpBufferStr(q, ", locale = "); + appendStringLiteralAH(q, collcollate ? collcollate : "", fout); } else { appendPQExpBufferStr(q, ", lc_collate = "); - appendStringLiteralAH(q, collcollate, fout); + appendStringLiteralAH(q, collcollate ? collcollate : "", fout); appendPQExpBufferStr(q, ", lc_ctype = "); - appendStringLiteralAH(q, collctype, fout); + appendStringLiteralAH(q, collctype ? collctype : "", fout); } } - - if (collicurules) - { - appendPQExpBufferStr(q, ", rules = "); - appendStringLiteralAH(q, collicurules, fout); - } + else + pg_fatal("unrecognized collation provider '%c'", collprovider[0]); /* * For binary upgrade, carry over the collation version. For normal diff --git a/src/bin/pg_dump/t/002_pg_dump.pl b/src/bin/pg_dump/t/002_pg_dump.pl index 0efeb3367d5..c74b7234f61 100644 --- a/src/bin/pg_dump/t/002_pg_dump.pl +++ b/src/bin/pg_dump/t/002_pg_dump.pl @@ -4753,6 +4753,14 @@ qr/pg_dumpall: error: improper qualified name \(too many dotted names\): myhost\.mydb/, 'pg_dumpall: option --exclude-database rejects multipart database names'); +############################################################## +# Test dumping pg_catalog (for research -- cannot be reloaded) + +$node->command_ok( + [ 'pg_dump', '-p', "$port", '-n', 'pg_catalog' ], + 'pg_dump: option -n pg_catalog' +); + ######################################### # Test valid database exclusion patterns From d389458de135ce0de061639d048404d2b7c26513 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 22 Aug 2023 19:37:26 -0400 Subject: [PATCH 114/317] doc: PG 16 relnotes: properly indent and word-wrap text Backpatch-through: 16 only --- doc/src/sgml/release-16.sgml | 3469 ++++++++++++++++++++-------------- 1 file changed, 2053 insertions(+), 1416 deletions(-) diff --git a/doc/src/sgml/release-16.sgml b/doc/src/sgml/release-16.sgml index c464be5ee13..db889127fea 100644 --- a/doc/src/sgml/release-16.sgml +++ b/doc/src/sgml/release-16.sgml @@ -75,18 +75,18 @@ Migration to Version 16 - - A dump/restore using or use of - or logical replication is required for - those wishing to migrate data from any previous release. See for general information on migrating to new - major releases. - + + A dump/restore using or use of + or logical replication is required for + those wishing to migrate data from any previous release. See for general information on migrating to new + major releases. + - - Version 16 contains a number of changes that may affect compatibility - with previous releases. Observe the following incompatibilities: - + + Version 16 contains a number of changes that may affect compatibility + with previous releases. Observe the following incompatibilities: + @@ -95,27 +95,36 @@ Author: Tom Lane 2023-01-01 [d747dc85a] In plpgsql, don't preassign portal names to bound cursor --> - - -Change assignment rules for PL/pgSQL bound cursor variables (Tom Lane) - + + + Change assignment rules for PL/pgSQL + bound cursor variables (Tom Lane) + - -Previously, the string value of such variables was set to match the variable name during cursor assignment; now it will be assigned during OPEN, and will not match the variable name. -To restore the previous behavior, assign the desired portal name to the cursor variable before OPEN. - - + + Previously, the string value of such variables + was set to match the variable name during cursor + assignment; now it will be assigned during OPEN, + and will not match the variable name. To restore the previous + behavior, assign the desired portal name to the cursor variable + before OPEN. + + - - -Disallow NULLS NOT DISTINCT indexes for primary keys (Daniel Gustafsson) - - + + + Disallow NULLS NOT + DISTINCT indexes for primary keys (Daniel + Gustafsson) + + - - -Change REINDEX DATABASE and reindexdb to not process indexes on system catalogs (Simon Riggs) - + + + Change REINDEX + DATABASE and reindexdb + to not process indexes on system catalogs (Simon Riggs) + - -Processing such indexes is still possible using REINDEX SYSTEM and reindexdb --system. - - + + Processing such indexes is still possible using REINDEX + SYSTEM and reindexdb + --system. + + - - -Tighten GENERATED expression restrictions on inherited and partitioned tables (Amit Langote, Tom Lane) - + + + Tighten GENERATED + expression restrictions on inherited and partitioned tables (Amit + Langote, Tom Lane) + - -Columns of parent/partitioned and child/partition tables must all have the same generation status, though now the actual generation expressions can be different. - - + + Columns of parent/partitioned and child/partition tables must all + have the same generation status, though now the actual generation + expressions can be different. + + - - -Remove pg_walinspect functions pg_get_wal_records_info_till_end_of_wal() and pg_get_wal_stats_till_end_of_wal() (Bharath Rupireddy) - - + + + Remove pg_walinspect + functions + pg_get_wal_records_info_till_end_of_wal() + and pg_get_wal_stats_till_end_of_wal() + (Bharath Rupireddy) + + - - -Rename server variable force_parallel_mode to debug_parallel_query (David Rowley) - - + + + Rename server variable + force_parallel_mode to debug_parallel_query + (David Rowley) + + - - -Remove the ability to create views manually with ON SELECT rules (Tom Lane) - - + + + Remove the ability to create + views manually with ON SELECT rules + (Tom Lane) + + - - -Remove the server variable vacuum_defer_cleanup_age (Andres Freund) - + + + Remove the server variable + vacuum_defer_cleanup_age (Andres Freund) + - -This has been unnecessary since hot_standby_feedback and replication slots were added. - - + + This has been unnecessary since hot_standby_feedback + and replication + slots were added. + + - - -Remove server variable promote_trigger_file (Simon Riggs) - + + + Remove server variable promote_trigger_file + (Simon Riggs) + - -This was used to promote a standby to primary, but is now easier accomplished with pg_ctl promote or pg_promote(). - - + + This was used to promote a standby to primary, but is now easier + accomplished with pg_ctl + promote or pg_promote(). + + - - -Remove read-only server variables lc_collate and lc_ctype (Peter Eisentraut) - + + + Remove read-only server variables lc_collate + and lc_ctype (Peter Eisentraut) + - -Collations and locales can vary between databases so having them as read-only server variables was unhelpful. - - + + Collations and locales can vary between databases so having them + as read-only server variables was unhelpful. + + - - -Role inheritance now controls the default inheritance status of member roles added during GRANT (Robert Haas) - + + + Role inheritance now controls the default + inheritance status of member roles added during GRANT (Robert Haas) + - -The role's default inheritance behavior can be overridden with the new GRANT ... WITH INHERIT clause. -This allows inheritance of some roles and not others because the members' inheritance status is set at GRANT time. -Previously the inheritance status of member roles was controlled only by the role's inheritance status, and -changes to a role's inheritance status affected all previous and future member roles. - - + + The role's default inheritance behavior can be overridden with the + new GRANT ... WITH INHERIT clause. This allows + inheritance of some roles and not others because the members' + inheritance status is set at GRANT time. + Previously the inheritance status of member roles was controlled + only by the role's inheritance status, and changes to a role's + inheritance status affected all previous and future member roles. + + - - -Restrict the privileges of CREATEROLE and its ability to modify other roles (Robert Haas) - + + + Restrict the privileges of CREATEROLE + and its ability to modify other roles (Robert Haas) + - -Previously roles with CREATEROLE privileges could change many aspects of any non-superuser role. Such changes, including adding members, now require the role requesting the change to have ADMIN OPTION -permission. For example, they can now change the CREATEDB, REPLICATION, and BYPASSRLS properties only if they also have those permissions. - - + + Previously roles with CREATEROLE privileges could + change many aspects of any non-superuser role. Such changes, + including adding members, now require the role requesting + the change to have ADMIN OPTION permission. + For example, they can now change the CREATEDB, + REPLICATION, and BYPASSRLS + properties only if they also have those permissions. + + - - -Remove symbolic links for the postmaster binary (Peter Eisentraut) - - + + + Remove symbolic links for the postmaster + binary (Peter Eisentraut) + + @@ -283,11 +335,11 @@ Remove symbolic links for the postmaster binary (Pete Changes - - Below you will find a detailed account of the changes between + + Below you will find a detailed account of the changes between PostgreSQL 16 and the previous major release. - + Server @@ -304,11 +356,12 @@ Author: David Rowley 2023-01-11 [3c6fc5820] Have the planner consider Incremental Sort for DISTINCT --> - - -Allow incremental sorts in more cases, including DISTINCT (David Rowley) - - + + + Allow incremental sorts in more cases, including + DISTINCT (David Rowley) + + - - -Add the ability for aggregates having ORDER BY or DISTINCT to use pre-sorted data (David Rowley) - + + + Add the ability for aggregates having ORDER BY + or DISTINCT to use pre-sorted data (David + Rowley) + - -The new server variable enable_presorted_aggregate can be used to disable this. - - + + The new server variable enable_presorted_aggregate + can be used to disable this. + + - - -Allow memoize atop a UNION ALL (Richard Guo) - - + + + Allow memoize atop a UNION ALL (Richard Guo) + + - - -Allow anti-joins to be performed with the non-nullable input as the inner relation (Richard Guo) - - + + + Allow anti-joins to be performed with the non-nullable input as + the inner relation (Richard Guo) + + - - -Allow parallelization of FULL and internal right OUTER hash joins (Melanie Plageman, Thomas Munro) - - + + + Allow parallelization of FULL and internal + right OUTER hash joins (Melanie Plageman, + Thomas Munro) + + - - -Improve the accuracy of GIN index access optimizer costs (Ronan Dunklau) - - + + + Improve the accuracy of GIN index access optimizer + costs (Ronan Dunklau) + + @@ -389,11 +452,12 @@ Author: Andres Freund 2023-04-06 [26158b852] Use ExtendBufferedRelTo() in XLogReadBufferExtended() --> - - -Allow more efficient addition of heap and index pages (Andres Freund) - - + + + Allow more efficient addition of heap and index pages (Andres + Freund) + + - - -During non-freeze operations, perform page freezing where appropriate (Peter Geoghegan) - + + + During non-freeze operations, perform page freezing where appropriate + (Peter Geoghegan) + - -This makes full-table freeze vacuums less necessary. - - + + This makes full-table freeze vacuums less necessary. + + - - -Allow window functions to use the faster ROWS mode internally when RANGE mode is active but unnecessary (David Rowley) - - + + + Allow window functions to use the faster ROWS + mode internally when RANGE mode is active but + unnecessary (David Rowley) + + - - -Allow optimization of always-increasing window functions ntile(), cume_dist() and percent_rank() (David Rowley) - - + + + Allow optimization of always-increasing window functions ntile(), + cume_dist() and + percent_rank() (David Rowley) + + - - -Allow aggregate functions string_agg() and array_agg() to be parallelized (David Rowley) - - + + + Allow aggregate functions string_agg() + and array_agg() to be parallelized (David + Rowley) + + - - -Improve performance by caching RANGE and LIST partition lookups (Amit Langote, Hou Zhijie, David Rowley) - - + + + Improve performance by caching RANGE + and LIST partition lookups (Amit Langote, + Hou Zhijie, David Rowley) + + - - -Allow control of the shared buffer usage by vacuum and analyze (Melanie Plageman) - + + + Allow control of the shared buffer usage by vacuum and analyze + (Melanie Plageman) + - -The VACUUM/ANALYZE option is BUFFER_USAGE_LIMIT, and the vacuumdb option is . The default value is set by server variable vacuum_buffer_usage_limit, which also controls autovacuum. - - + + The VACUUM/ANALYZE + option is BUFFER_USAGE_LIMIT, and the vacuumdb + option is . + The default value is set by server variable vacuum_buffer_usage_limit, + which also controls autovacuum. + + - - -Support wal_sync_method=fdatasync on Windows (Thomas Munro) - - + + + Support wal_sync_method=fdatasync + on Windows (Thomas Munro) + + - - -Allow HOT updates if only BRIN-indexed columns are updated (Matthias van de Meent, Josef Simanek, Tomas Vondra) - - + + + Allow HOT + updates if only BRIN-indexed columns are updated + (Matthias van de Meent, Josef Simanek, Tomas Vondra) + + - - -Improve the speed of updating the process title (David Rowley) - - + + + Improve the speed of updating the process title (David + Rowley) + + - - -Allow xid/subxid searches and ASCII string detection to use vector operations (Nathan Bossart, John Naylor) - + + + Allow xid/subxid searches and + ASCII string detection to use vector operations + (Nathan Bossart, John Naylor) + - -ASCII detection is particularly useful for COPY FROM. Vector operations are also used for some C array searches. - + + ASCII detection is particularly useful for + COPY FROM. + Vector operations are also used for some C array searches. + - + - - -Reduce overhead of memory allocations (Andres Freund, David Rowley) - - + + + Reduce overhead of memory allocations (Andres Freund, David Rowley) + + @@ -565,56 +662,69 @@ Author: Andres Freund 2023-05-17 [093e5c57d] Add writeback to pg_stat_io --> - - -Add system view pg_stat_io view to track I/O statistics (Melanie Plageman) - - + + + Add system view pg_stat_io + view to track I/O statistics (Melanie Plageman) + + - - -Record statistics on the last sequential and index scans on tables (Dave Page) - + + + Record statistics on the last sequential and index scans on tables + (Dave Page) + - -This information appears in pg_stat_all_tables and pg_stat_all_indexes. - - + + This information appears in pg_stat_all_tables + and pg_stat_all_indexes. + + - - -Record statistics on the occurrence of updated rows moving to new pages (Corey Huinker) - + + + Record statistics on the occurrence of updated rows moving to + new pages (Corey Huinker) + - -The pg_stat_*_tables column is n_tup_newpage_upd. - - + + The pg_stat_*_tables column is n_tup_newpage_upd. + + - - -Add speculative lock information to the pg_locks system view (Masahiko Sawada, Noriyoshi Shinoda) - + + + Add speculative lock information to the pg_locks + system view (Masahiko Sawada, Noriyoshi Shinoda) + - -The transaction id is displayed in the transactionid column and the speculative insertion token is displayed in the objid column. - - + + The transaction id is displayed in the + transactionid column and + the speculative insertion token is displayed in the + objid column. + + - - -Add the display of prepared statement result types to the pg_prepared_statements view (Dagfinn Ilmari Mannsåker) - - + + + Add the display of prepared statement result types to the pg_prepared_statements + view (Dagfinn Ilmari Mannsåker) + + - - -Create subscription statistics entries at subscription creation time so stats_reset is accurate (Andres Freund) - + + + Create subscription statistics + entries at subscription creation time so stats_reset + is accurate (Andres Freund) + - -Previously entries were created only when the first statistics were reported. - - + + Previously entries were created only when the first statistics + were reported. + + - - -Correct the I/O accounting for temp relation writes shown in pg_stat_database (Melanie Plageman) - - + + + Correct the I/O + accounting for temp relation writes shown in pg_stat_database + (Melanie Plageman) + + - - -Add function pg_stat_get_backend_subxact() to report on a session's subtransaction cache (Dilip Kumar) - - + + + Add function pg_stat_get_backend_subxact() + to report on a session's subtransaction cache (Dilip Kumar) + + - - -Have pg_stat_get_backend_idset(), pg_stat_get_backend_activity(), and related functions use the unchanging backend id (Nathan Bossart) - + + + Have pg_stat_get_backend_idset(), + pg_stat_get_backend_activity(), and related + functions use the unchanging backend id (Nathan Bossart) + - -Previously the index values might change during the lifetime of the session. - - + + Previously the index values might change during the lifetime of + the session. + + - - -Report stand-alone backends with a special backend type (Melanie Plageman) - - + + + Report stand-alone backends with a special backend type (Melanie + Plageman) + + - - -Add wait event SpinDelay to report spinlock sleep delays (Andres Freund) - - + + + Add wait event SpinDelay + to report spinlock sleep delays (Andres Freund) + + - - -Create new wait event DSMAllocate to indicate waiting for dynamic shared memory allocation (Thomas Munro) - + + + Create new wait event DSMAllocate + to indicate waiting for dynamic shared memory allocation (Thomas + Munro) + - -Previously this type of wait was reported as DSMFillZeroWrite, which was also used by mmap() allocations. - - + + Previously this type of wait was reported as + DSMFillZeroWrite, which was also used by + mmap() allocations. + + - - -Add the database name to the process title of logical WAL senders (Tatsuhiro Nakamori) - + + + Add the database name to the process title of logical + WAL senders (Tatsuhiro Nakamori) + - -Physical WAL senders do not display a database name. - - + + Physical WAL senders do not display a database + name. + + - - -Add checkpoint and REDO LSN information to log_checkpoints messages (Bharath Rupireddy, Kyotaro Horiguchi) - - + + + Add checkpoint and REDO LSN information to log_checkpoints + messages (Bharath Rupireddy, Kyotaro Horiguchi) + + - - -Provide additional details during client certificate failures (Jacob Champion) - - + + + Provide additional details during client certificate failures + (Jacob Champion) + + @@ -769,11 +908,13 @@ Author: Robert Haas 2023-03-30 [c3afe8cf5] Add new predefined role pg_create_subscription. --> - - -Add predefined role pg_create_subscription with permission to create subscriptions (Robert Haas) - - + + + Add predefined role pg_create_subscription + with permission to create subscriptions (Robert Haas) + + - - -Allow subscriptions to not require passwords (Robert Haas) - + + + Allow subscriptions to not require passwords (Robert Haas) + - -This is accomplished with the option password_required=false. - - + + This is accomplished with the option password_required=false. + + - - -Simplify permissions for LOCK TABLE (Jeff Davis) - + + + Simplify permissions for LOCK + TABLE (Jeff Davis) + - -Previously the ability to perform LOCK TABLE at various lock levels was bound to specific query-type permissions. For example, UPDATE could perform all lock levels except ACCESS SHARE, which -required SELECT permissions. Now UPDATE can issue all lock levels. MORE? - - + + Previously the ability to perform LOCK + TABLE at various lock levels was bound to + specific query-type permissions. For example, UPDATE + could perform all lock levels except + ACCESS SHARE, which required SELECT permissions. + Now UPDATE can issue all lock levels. MORE? + + - - -Allow GRANT group_name TO user_name to be performed with ADMIN OPTION (Robert Haas) - + + + Allow GRANT group_name TO + user_name to be performed with ADMIN + OPTION (Robert Haas) + - -Previously CREATEROLE permission was required. - - + + Previously CREATEROLE permission was required. + + - - -Allow GRANT to use WITH ADMIN TRUE/FALSE syntax (Robert Haas) - + + + Allow GRANT + to use WITH ADMIN TRUE/FALSE + syntax (Robert Haas) + - -Previously only the WITH ADMIN OPTION syntax was supported. - - + + Previously only the WITH ADMIN OPTION syntax + was supported. + + - - -Allow roles that create other roles to automatically inherit the new role's rights or the ability to SET ROLE to the new role (Robert Haas, Shi Yu) - + + + Allow roles that create other roles to automatically + inherit the new role's rights or the ability to SET ROLE to the + new role (Robert Haas, Shi Yu) + - -This is controlled by server variable createrole_self_grant. - - + + This is controlled by server variable createrole_self_grant. + + - - -Prevent users from changing the default privileges of non-inherited roles (Robert Haas) - + + + Prevent users from changing the default privileges of non-inherited + roles (Robert Haas) + - -This is now only allowed for inherited roles. - - + + This is now only allowed for inherited roles. + + - - -When granting role membership, require the granted-by role to be a role that has appropriate permissions (Robert Haas) - + + + When granting role membership, require the granted-by role to be + a role that has appropriate permissions (Robert Haas) + - -This is a requirement even when a non-bootstrap superuser is granting role membership. - - + + This is a requirement even when a non-bootstrap superuser is + granting role membership. + + - - -Allow non-superusers to grant permissions using a granted-by user that is not the current user (Robert Haas) - + + + Allow non-superusers to grant permissions using a granted-by user + that is not the current user (Robert Haas) + - -The current user still must have sufficient permissions given by the specified granted-by user. - - + + The current user still must have sufficient permissions given by + the specified granted-by user. + + - - -Add GRANT to control permission to use SET ROLE (Robert Haas) - + + + Add GRANT to + control permission to use SET + ROLE (Robert Haas) + - -This is controlled by a new GRANT ... SET option. - - + + This is controlled by a new GRANT ... SET + option. + + - - -Add dependency tracking to roles which have granted privileges (Robert Haas) - + + + Add dependency tracking to roles which have granted privileges + (Robert Haas) + - -For example, removing ADMIN OPTION will fail if there are privileges using that option; CASCADE must be used to revoke dependent permissions. - - + + For example, removing ADMIN OPTION will fail if + there are privileges using that option; CASCADE + must be used to revoke dependent permissions. + + - - -Add dependency tracking of grantors for GRANT records (Robert Haas) - + + + Add dependency tracking of grantors for GRANT records + (Robert Haas) + - -This guarantees that pg_auth_members.grantor values are always valid. - - + + This guarantees that pg_auth_members.grantor + values are always valid. + + - - -Allow multiple role membership records (Robert Haas) - + + + Allow multiple role membership records (Robert Haas) + - -Previously a new membership grant would remove a previous matching membership grant, even if other aspects of the grant did not match. - - + + Previously a new membership grant would remove a previous matching + membership grant, even if other aspects of the grant did not match. + + - - -Prevent removal of superuser privileges for the bootstrap user (Robert Haas) - + + + Prevent removal of superuser privileges for the bootstrap user + (Robert Haas) + - -Restoring such users could lead to errors. - - + + Restoring such users could lead to errors. + + - - -Allow makeaclitem() to accept multiple privilege names (Robins Tharakan) - + + + Allow makeaclitem() + to accept multiple privilege names (Robins Tharakan) + - -Previously only a single privilege name, like SELECT, was accepted. - - + + Previously only a single privilege name, like SELECT, was + accepted. + + @@ -1014,26 +1193,33 @@ Author: Tom Lane 2023-05-21 [a2eb99a01] Expand some more uses of "deleg" to "delegation" or "del --> - - -Add support for Kerberos credential delegation (Stephen Frost) - + + + Add support for Kerberos credential + delegation (Stephen Frost) + - -This is enabled with server variable gss_accept_delegation and libpq connection parameter gssdelegation. - - + + This is enabled with server variable gss_accept_delegation + and libpq connection parameter gssdelegation. + + - - -Allow the SCRAM iteration count to be set with server variable scram_iterations (Daniel Gustafsson) - - + + + Allow the SCRAM iteration + count to be set with server variable scram_iterations + (Daniel Gustafsson) + + - - -Improve performance of server variable management (Tom Lane) - - + + + Improve performance of server variable management (Tom Lane) + + - - -Tighten restrictions on which server variables can be reset (Masahiko Sawada) - + + + Tighten restrictions on which server variables can be reset + (Masahiko Sawada) + - -Previously, while certain variables, like transaction_isolation, were not affected by RESET ALL, they could be individually reset in inappropriate situations. - - + + Previously, while certain variables, like transaction_isolation, + were not affected by RESET + ALL, they could be individually reset in + inappropriate situations. + + - - -Move various postgresql.conf items into new categories (Shinya Kato) - + + + Move various postgresql.conf + items into new categories (Shinya Kato) + - -This also affects the categories displayed in the pg_settings view. - - + + This also affects the categories displayed in the pg_settings + view. + + - - -Prevent configuration file recursion beyond 10 levels (Julien Rouhaud) - - + + + Prevent configuration file recursion beyond 10 levels (Julien + Rouhaud) + + - - -Allow autovacuum to more frequently honor changes to delay settings (Melanie Plageman) - + + + Allow autovacuum to more + frequently honor changes to delay settings (Melanie Plageman) + - -Rather than honor changes only at the start of each relation, honor them at the start of each block. - - + + Rather than honor changes only at the start of each relation, + honor them at the start of each block. + + - - -Remove restrictions that archive files be durably renamed (Nathan Bossart) - + + + Remove restrictions that archive files be durably renamed + (Nathan Bossart) + - -The archive_command command is now more likely to be called with already-archived files after a crash. - - + + The archive_command + command is now more likely to be called with already-archived + files after a crash. + + - - -Prevent archive_library and archive_command from being set at the same time (Nathan Bossart) - + + + Prevent archive_library + and archive_command + from being set at the same time (Nathan Bossart) + - -Previously archive_library would override archive_command. - - + + Previously archive_library would override + archive_command. + + - - -Allow the postmaster to terminate children with an abort signal (Tom Lane) - + + + Allow the postmaster to terminate children with an abort signal + (Tom Lane) + - -This allows collection of a core dump for a stuck child process. -This is controlled by send_abort_for_crash and send_abort_for_kill. -The postmaster's switch is now the same as setting send_abort_for_crash. - - + + This allows collection of a core dump for a + stuck child process. This is controlled by send_abort_for_crash + and send_abort_for_kill. + The postmaster's switch is now the same as + setting send_abort_for_crash. + + - - -Remove the non-functional postmaster option (Tom Lane) - - + + + Remove the non-functional postmaster option + (Tom Lane) + + - - -Allow the server to reserve backend slots for roles with pg_use_reserved_connections membership (Nathan Bossart) - + + + Allow the server to reserve backend slots for roles with pg_use_reserved_connections + membership (Nathan Bossart) + - -The number of reserved slots is set by server variable reserved_connections. - - + + The number of reserved slots is set by server variable reserved_connections. + + - - -Allow huge pages to work on newer versions of Windows 10 (Thomas Munro) - + + + Allow huge pages to + work on newer versions of Windows + 10 (Thomas Munro) + - -This adds the special handling required to enable huge pages on newer versions of Windows 10. - - + + This adds the special handling required to enable huge pages + on newer versions of Windows + 10. + + - - -Add debug_io_direct setting for developer usage (Thomas Munro, Andres Freund, Bharath Rupireddy) - + + + Add debug_io_direct + setting for developer usage (Thomas Munro, Andres Freund, + Bharath Rupireddy) + - -While primarily for developers, wal_sync_method=open_sync/open_datasync has been modified to not use direct I/O with wal_level=minimal; this is now enabled with debug_io_direct=wal. - - + + While primarily for developers, wal_sync_method=open_sync/open_datasync + has been modified to not use direct I/O with + wal_level=minimal; this is now enabled with + debug_io_direct=wal. + + - - -Add function pg_split_walfile_name() to report the segment and timeline values of WAL file names (Bharath Rupireddy) - - + + + Add function pg_split_walfile_name() + to report the segment and timeline values of WAL + file names (Bharath Rupireddy) + + @@ -1240,67 +1470,85 @@ Author: Michael Paquier 2022-10-24 [8fea86830] Add support for regexps on database and user entries in --> - - -Add support for regular expression matching on database and role entries in pg_hba.conf (Bertrand Drouvot) - + + + Add support for regular expression matching on database and role + entries in pg_hba.conf (Bertrand Drouvot) + - -Regular expression patterns are prefixed with a slash. Database and role names that begin with slashes need to be double-quoted if referenced in pg_hba.conf. - - + + Regular expression patterns are prefixed with a slash. Database + and role names that begin with slashes need to be double-quoted + if referenced in pg_hba.conf. + + - - -Improve user-column handling of pg_ident.conf to match pg_hba.conf (Jelte Fennema) - + + + Improve user-column handling of pg_ident.conf + to match pg_hba.conf (Jelte Fennema) + - -Specifically, add support for all, role membership with +, and regular expressions with a leading slash. Any user name that matches these patterns must be double-quoted. - - + + Specifically, add support for all, role + membership with +, and regular expressions + with a leading slash. Any user name that matches these patterns + must be double-quoted. + + - - -Allow include files in pg_hba.conf and pg_ident.conf (Julien Rouhaud) - + + + Allow include files in pg_hba.conf and + pg_ident.conf (Julien Rouhaud) + - -These are controlled by include, include_if_exists, and include_dir. System views pg_hba_file_rules and pg_ident_file_mappings now display the file name. - - + + These are controlled by include, + include_if_exists, and + include_dir. System views pg_hba_file_rules + and pg_ident_file_mappings + now display the file name. + + - - -Allow pg_hba.conf tokens to be of unlimited length (Tom Lane) - - + + + Allow pg_hba.conf tokens to be of unlimited + length (Tom Lane) + + - - -Add rule and map numbers to the system view pg_hba_file_rules (Julien Rouhaud) - - + + + Add rule and map numbers to the system view pg_hba_file_rules + (Julien Rouhaud) + + @@ -1316,75 +1564,101 @@ Author: Jeff Davis 2023-03-10 [c45dc7ffb] initdb: derive encoding from locale for ICU; similar to --> - - -Determine the ICU default locale from the environment (Jeff Davis) - + + + Determine the ICU default locale from the + environment (Jeff Davis) + - -However, ICU doesn't support the C locale so UTF-8 is used in such cases. Previously the default was always UTF-8. - - + + However, ICU doesn't + support the C locale so UTF-8 is used in such + cases. Previously the default was always UTF-8. + + - - - -Have CREATE DATABASE and CREATE COLLATION's LOCALE options, and initdb and createdb options, control non-libc collation providers (Jeff Davis) - - - -Previously they only controlled libc providers. - - + Date: Fri Jun 16 10:27:32 2023 -0700 +--> + + + + Have CREATE + DATABASE and CREATE + COLLATION's LOCALE options, and + initdb + and createdb + options, control + non-libc collation providers (Jeff + Davis) + + + + Previously they only controlled libc + providers. + + - - -Add predefined collations unicode and ucs_basic (Peter Eisentraut) - + + + Add predefined collations unicode and + ucs_basic (Peter Eisentraut) + - -This only works if ICU support is enabled. - - + + This only works if ICU support is enabled. + + - - -Allow custom ICU collation rules to be created (Peter Eisentraut) - + + + Allow custom ICU collation rules to be created + (Peter Eisentraut) + - -This is done using CREATE COLLATION's new RULES clause, as well as new options for CREATE DATABASE, createdb, and initdb. - - + + This is done using CREATE + COLLATION's new RULES + clause, as well as new options for CREATE + DATABASE, createdb, + and initdb. + + - - -Allow Windows to import system locales automatically (Juan José Santamaría Flecha) - + + + Allow Windows to import + system locales automatically (Juan José Santamaría Flecha) + - -Previously, only ICU locales could be imported on Windows. - - + + Previously, only ICU locales could be imported + on Windows. + + @@ -1406,16 +1680,20 @@ Author: Andres Freund 2023-04-08 [26669757b] Handle logical slot conflicts on standby --> - - -Allow logical decoding on standbys (Bertrand Drouvot, Andres Freund, Amit Khandekar) - + + + Allow logical decoding + on standbys (Bertrand Drouvot, Andres Freund, Amit Khandekar) + - -Snapshot WAL records are required for logical slot creation but cannot be created on standbys. -To avoid delays, the new function pg_log_standby_snapshot() allows creation of such records. - - + + Snapshot WAL records are + required for logical slot creation but cannot be + created on standbys. To avoid delays, the new function pg_log_standby_snapshot() + allows creation of such records. + + - - -Add server variable to control how logical decoding publishers transfer changes and how subscribers apply them (Shi Yu) - + + + Add server variable to control how logical decoding publishers + transfer changes and how subscribers apply them (Shi Yu) + - -The variable is logical_replication_mode. - - + + The variable is logical_replication_mode. + + - - -Allow logical replication initial table synchronization to copy rows in binary format (Melih Mutlu) - + + + Allow logical replication initial table synchronization to copy + rows in binary format (Melih Mutlu) + - -This is only possible for subscriptions marked as binary. - - + + This is only possible for subscriptions marked as binary. + + - - -Allow parallel application of logical replication (Hou Zhijie, Wang Wei, Amit Kapila) - - - -The CREATE SUBSCRIPTION option now supports parallel to enable application of large transactions by parallel workers. The number of parallel workers is controlled by -the new server variable max_parallel_apply_workers_per_subscription. Wait events LogicalParallelApplyMain, LogicalParallelApplyStateChange, and LogicalApplySendData were also added. Column leader_pid was -added to system view pg_stat_subscription to track parallel activity. - - + + + Allow parallel application of logical replication (Hou Zhijie, + Wang Wei, Amit Kapila) + + + + The CREATE + SUBSCRIPTION + option now supports parallel to enable + application of large transactions by parallel workers. The number + of parallel workers is controlled by the new server variable max_parallel_apply_workers_per_subscription. + Wait events LogicalParallelApplyMain, + LogicalParallelApplyStateChange, and + LogicalApplySendData were also added. Column + leader_pid was added to system view pg_stat_subscription + to track parallel activity. + + - - -Improve performance for logical replication apply without a primary key (Onder Kalaci, Amit Kapila) - + + + Improve performance for logical replication + apply without a primary key (Onder Kalaci, Amit Kapila) + - -Specifically, REPLICA IDENTITY FULL can now use btree indexes rather than sequentially scanning the table to find matches. - - + + Specifically, REPLICA IDENTITY FULL can now + use btree indexes rather than sequentially scanning the table to + find matches. + + - - -Allow logical replication subscribers to process only changes that have no origin (Vignesh C, Amit Kapila) - + + + Allow logical replication subscribers to process only changes that + have no origin (Vignesh C, Amit Kapila) + - -This can be used to avoid replication loops. This is controlled by the new CREATE SUBSCRIPTION ... ORIGIN option. - - + + This can be used to avoid replication loops. This is controlled + by the new CREATE SUBSCRIPTION ... ORIGIN option. + + - - -Perform logical replication SELECT and DML actions as the table owner (Robert Haas) - + + + Perform logical replication SELECT and + DML actions as the table owner (Robert Haas) + - -This improves security and now requires subscription owners to be either superusers or to have SET ROLE permissions on all tables in the replication set. The previous behavior of performing all operations -as the subscription owner can be enabled with the subscription option. - - + + This improves security and now requires subscription + owners to be either superusers or to have SET ROLE + permissions on all tables in the replication set. + The previous behavior of performing all operations as the + subscription owner can be enabled with the subscription + option. + + - - -Have wal_retrieve_retry_interval operate on a per-subscription basis (Nathan Bossart) - + + + Have wal_retrieve_retry_interval + operate on a per-subscription basis (Nathan Bossart) + - -Previously the retry time was applied globally. This also adds wait events >LogicalRepLauncherDSA and LogicalRepLauncherHash. - - + + Previously the retry time was applied + globally. This also adds wait events >LogicalRepLauncherDSA + and LogicalRepLauncherHash. + + @@ -1551,37 +1862,46 @@ Author: Tom Lane 2023-03-24 [3c05284d8] Invent GENERIC_PLAN option for EXPLAIN. --> - - -Add EXPLAIN option GENERIC_PLAN to display the generic plan for a parameterized query (Laurenz Albe) - - + + + Add EXPLAIN + option GENERIC_PLAN to display the generic plan + for a parameterized query (Laurenz Albe) + + - - -Allow a COPY FROM value to map to a column's DEFAULT (Israel Barth Rubio) - - + + + Allow a COPY FROM + value to map to a column's DEFAULT (Israel + Barth Rubio) + + - - -Allow COPY into foreign tables to add rows in batches (Andrey Lepikhov, Etsuro Fujita) - + + + Allow COPY + into foreign tables to add rows in batches (Andrey Lepikhov, + Etsuro Fujita) + - -This is controlled by the postgres_fdw option . - - + + This is controlled by the postgres_fdw + option . + + - - -Allow the STORAGE type to be specified by CREATE TABLE (Teodor Sigaev, Aleksander Alekseev) - + + + Allow the STORAGE type to be specified by CREATE TABLE + (Teodor Sigaev, Aleksander Alekseev) + - -Previously only ALTER TABLE could control this. - - + + Previously only ALTER + TABLE could control this. + + - - -Allow truncate triggers on foreign tables (Yugo Nagata) - - + + + Allow truncate triggers + on foreign tables (Yugo Nagata) + + - - -Allow VACUUM and vacuumdb to only process TOAST tables (Nathan Bossart) - + + + Allow VACUUM and vacuumdb + to only process TOAST tables + (Nathan Bossart) + - -This is accomplished by having VACUUM turn off PROCESS_MAIN or by vacuumdb using the option. - - + + This is accomplished by having VACUUM + turn off PROCESS_MAIN or by vacuumdb + using the option. + + - - -Add VACUUM options to skip or update all frozen statistics (Tom Lane, Nathan Bossart) - + + + Add VACUUM + options to skip or update all frozen statistics (Tom Lane, + Nathan Bossart) + - -The options are SKIP_DATABASE_STATS and ONLY_DATABASE_STATS. - - + + The options are SKIP_DATABASE_STATS and + ONLY_DATABASE_STATS. + + - - -Change REINDEX DATABASE and REINDEX SYSTEM to no longer require an argument (Simon Riggs) - + + + Change REINDEX + DATABASE and REINDEX SYSTEM + to no longer require an argument (Simon Riggs) + - -Previously the database name had to be specified. - - + + Previously the database name had to be specified. + + - - -Allow CREATE STATISTICS to generate a statistics name if none is specified (Simon Riggs) - - + + + Allow CREATE + STATISTICS to generate a statistics name if none + is specified (Simon Riggs) + + @@ -1683,80 +2025,90 @@ Author: Peter Eisentraut 2022-12-14 [6fcda9aba] Non-decimal integer literals --> - - -Allow non-decimal integer literals (Peter Eisentraut) - + + + Allow non-decimal integer + literals (Peter Eisentraut) + - -For example, 0x42F, 0o273, and 0b100101. - - + + For example, 0x42F, 0o273, + and 0b100101. + + - - -Allow NUMERIC to process hexadecimal, octal, and binary integers of any size (Dean Rasheed) - + + + Allow NUMERIC + to process hexadecimal, octal, and binary integers of any size + (Dean Rasheed) + - -Previously only unquoted eight-byte integers were supported with these non-decimal bases. - - + + Previously only unquoted eight-byte integers were supported with + these non-decimal bases. + + - - -Allow underscores in integer and numeric constants (Peter Eisentraut, Dean Rasheed) - + + + Allow underscores in integer and numeric constants (Peter Eisentraut, + Dean Rasheed) + - -This can improve readability for long strings of digits. - - + + This can improve readability for long strings of digits. + + - - -Accept the spelling +infinity in datetime input (Vik Fearing) - - + + + Accept the spelling +infinity in datetime input + (Vik Fearing) + + - - -Prevent the specification of epoch and infinity together with other fields in datetime strings (Joseph Koshakow) - - + + + Prevent the specification of epoch and + infinity together with other fields in datetime + strings (Joseph Koshakow) + + - - -Remove undocumented support for date input in the form -YyearMmonthDday -(Joseph Koshakow) - - + + + Remove undocumented support for date input in the form + YyearMmonthDday + (Joseph Koshakow) + + - - -Add functions pg_input_is_valid() and pg_input_error_info() to check for type conversion errors (Tom Lane) - - + + + Add functions pg_input_is_valid() + and pg_input_error_info() to check for type + conversion errors (Tom Lane) + + @@ -1785,26 +2140,29 @@ Author: Dean Rasheed 2022-07-20 [bcedd8f5f] Make subquery aliases optional in the FROM clause. --> - - -Allow subqueries in the FROM clause to omit aliases (Dean Rasheed) - - + + + Allow subqueries in the FROM clause to omit + aliases (Dean Rasheed) + + - - -Add support for enhanced numeric literals in SQL/JSON paths (Peter Eisentraut) - + + + Add support for enhanced numeric literals in + SQL/JSON paths (Peter Eisentraut) + - -For example, allow hexadecimal, octal, and binary integers and underscores between digits. - - + + For example, allow hexadecimal, octal, and binary integers and + underscores between digits. + + @@ -1820,211 +2178,259 @@ Author: Alvaro Herrera 2023-03-29 [7081ac46a] SQL/JSON: add standard JSON constructor functions --> - - -Add SQL/JSON constructors (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Amit Langote) - + + + Add SQL/JSON constructors (Nikita Glukhov, + Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Amit Langote) + - -The new functions JSON_ARRAY(), JSON_ARRAYAGG(), JSON_OBJECT(), and JSON_OBJECTAGG() are part of the SQL standard. - - + + The new functions JSON_ARRAY(), + JSON_ARRAYAGG(), + JSON_OBJECT(), and + JSON_OBJECTAGG() are part of the + SQL standard. + + - - -Add SQL/JSON object checks (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Amit Langote, Andrew Dunstan) - + + + Add SQL/JSON object checks (Nikita Glukhov, + Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Amit Langote, + Andrew Dunstan) + - -The IS JSON checks include checks for values, arrays, objects, scalars, and unique keys. - - + + The IS + JSON checks include checks for values, arrays, + objects, scalars, and unique keys. + + - - -Allow JSON string parsing to use vector operations (John Naylor) - - + + + Allow JSON string parsing to use vector + operations (John Naylor) + + - - -Improve the handling of full text highlighting function ts_headline() for OR and NOT expressions (Tom Lane) - - + + + Improve the handling of full text highlighting function ts_headline() + for OR and NOT expressions + (Tom Lane) + + - - -Add functions to add, subtract, and generate timestamptz values in a specified time zone (Przemyslaw Sztoch, Gurjeet Singh) - + + + Add functions to add, subtract, and generate + timestamptz values in a specified time zone (Przemyslaw + Sztoch, Gurjeet Singh) + - -The functions are date_add(), date_subtract(), and generate_series(). - - + + The functions are date_add(), + date_subtract(), and generate_series(). + + - - -Change date_trunc(unit, timestamptz, time_zone) to be an immutable function (Przemyslaw Sztoch) - + + + Change date_trunc(unit, + timestamptz, time_zone) to be an immutable + function (Przemyslaw Sztoch) + - -This allows the creation of expression indexes using this function. - - + + This allows the creation of expression indexes using this function. + + - - -Add server variable SYSTEM_USER (Bertrand Drouvot) - + + + Add server variable SYSTEM_USER + (Bertrand Drouvot) + - -This reports the authentication method and its authenticated user. - - + + This reports the authentication method and its authenticated user. + + - - -Add functions array_sample() and array_shuffle() (Martin Kalcher) - - + + + Add functions array_sample() + and array_shuffle() (Martin Kalcher) + + - - -Add aggregate function ANY_VALUE() which returns any value from a set (Vik Fearing) - - + + + Add aggregate function ANY_VALUE() + which returns any value from a set (Vik Fearing) + + - - -Add function random_normal() to supply normally-distributed random numbers (Paul Ramsey) - - + + + Add function random_normal() + to supply normally-distributed random numbers (Paul Ramsey) + + - - -Add error function erf() and its complement erfc() (Dean Rasheed) - - + + + Add error function erf() + and its complement erfc() (Dean Rasheed) + + - - -Improve the accuracy of numeric power() for integer exponents (Dean Rasheed) - - + + + Improve the accuracy of numeric power() + for integer exponents (Dean Rasheed) + + - - -Add XMLSERIALIZE() option INDENT to pretty-print its output (Jim Jones) - - + + + Add XMLSERIALIZE() + option INDENT to pretty-print its output + (Jim Jones) + + - - -Change pg_collation_actual_version() to return a reasonable value for the default collation (Jeff Davis) - + + + Change pg_collation_actual_version() + to return a reasonable value for the default collation (Jeff Davis) + - -Previously it returned NULL. - - + + Previously it returned NULL. + + - - -Allow pg_read_file() and pg_read_binary_file() to ignore missing files (Kyotaro Horiguchi) - - + + + Allow pg_read_file() + and pg_read_binary_file() to ignore missing + files (Kyotaro Horiguchi) + + - - -Add byte specification (B) to pg_size_bytes() (Peter Eisentraut) - - + + + Add byte specification (B) to pg_size_bytes() + (Peter Eisentraut) + + - - -Allow to_reg* functions to accept numeric OIDs as input (Tom Lane) - - + + + Allow to_reg* + functions to accept numeric OIDs as input + (Tom Lane) + + @@ -2040,15 +2446,18 @@ Author: Tom Lane 2023-04-04 [d3d53f955] Add a way to get the current function's OID in pl/pgsql. --> - - -Add the ability to get the current function's OID in PL/pgSQL (Pavel Stehule) - + + + Add the ability to get the current function's OID + in PL/pgSQL (Pavel Stehule) + - -This is accomplished with GET DIAGNOSTICS variable = PG_ROUTINE_OID. - - + + This is accomplished with GET DIAGNOSTICS + variable = PG_ROUTINE_OID. + + @@ -2064,15 +2473,18 @@ Author: Michael Paquier 2023-03-14 [3a465cc67] libpq: Add support for require_auth to control authorize --> - - -Add libpq connection option to specify a list of acceptable authentication methods (Jacob Champion) - + + + Add libpq connection option + to specify a list of acceptable authentication methods (Jacob + Champion) + - -This can also be used to disallow certain authentication methods. - - + + This can also be used to disallow certain authentication methods. + + - - -Allow multiple libpq-specified hosts to be randomly selected (Jelte Fennema) - + + + Allow multiple libpq-specified hosts + to be randomly selected (Jelte Fennema) + - -This is enabled with load_balance_hosts=random and can be used for load balancing. - - + + This is enabled with load_balance_hosts=random + and can be used for load balancing. + + - - -Add libpq option to control transmission of the client certificate (Jacob Champion) - + + + Add libpq option + to control transmission of the client certificate (Jacob Champion) + - -The option values are disable, allow, and require. - - + + The option values are disable, + allow, and require. + + - - -Allow libpq to use the system certificate pool for certificate verification (Jacob Champion, Thomas Habets) - + + + Allow libpq to use the system certificate + pool for certificate verification (Jacob Champion, Thomas Habets) + - -This is enabled with sslrootcert=system, which also enables sslmode=verify-full. - - + + This is enabled with sslrootcert=system, + which also enables sslmode=verify-full. + + @@ -2135,15 +2557,19 @@ Author: Tom Lane 2022-07-12 [83f1c7b74] Fix ECPG's handling of type names that match SQL keyword --> - - -Allow ECPG variable declarations to use typedef names that match unreserved SQL keywords (Tom Lane) - + + + Allow ECPG + variable declarations to use typedef names that match unreserved + SQL keywords (Tom Lane) + - -This change does prevent keywords which match C typedef names from being processed as keywords in later EXEC SQL blocks. - - + + This change does prevent keywords which match C typedef names from + being processed as keywords in later EXEC SQL + blocks. + + @@ -2157,15 +2583,17 @@ Author: Andrew Dunstan 2022-07-25 [a45388d6e] Add xheader_width pset option to psql --> - - -Allow psql to control the maximum width of header lines in expanded format (Platon Pronko) - + + + Allow psql to control the maximum + width of header lines in expanded format (Platon Pronko) + - -This is controlled by . - - + + This is controlled by . + + - - -Add psql command \drg to show role membership details (Pavel Luzanov) - + + + Add psql command \drg + to show role membership details (Pavel Luzanov) + - -The Member of output column has been removed from \du and \dg because this new command displays this informaion in more detail. - - + + The Member of output column has been removed + from \du and \dg because + this new command displays this informaion in more detail. + + - - -Allow psql's access privilege commands to show system objects (Nathan Bossart) - + + + Allow psql's access privilege commands + to show system objects (Nathan Bossart) + - -The options are \dpS and \zS. - - + + The options are \dpS + and \zS. + + - - -Add FOREIGN designation to psql \d+ for foreign table children and partitions (Ian Lawrence Barwick) - - + + + Add FOREIGN designation + to psql \d+ + for foreign table children and partitions (Ian Lawrence Barwick) + + - - -Prevent \df+ from showing function source code (Isaac Morland) - + + + Prevent \df+ + from showing function source code (Isaac Morland) + - -Function bodies are more easily viewed with \sf. - - + + Function bodies are more easily viewed with \sf. + + - - -Allow psql to submit queries using the extended query protocol (Peter Eisentraut) - + + + Allow psql to submit queries using + the extended query protocol (Peter Eisentraut) + - -Passing arguments to such queries is done using the new psql \bind command. - - + + Passing arguments to such queries is done + using the new psql \bind + command. + + - - -Allow psql \watch to limit the number of executions (Andrey Borodin) - + + + Allow psql \watch + to limit the number of executions (Andrey Borodin) + - -The \watch options can now be named when specified. - - + + The \watch options can now be named when + specified. + + - - -Detect invalid values for psql \watch, and allow zero to specify no delay (Andrey Borodin) - - + + + Detect invalid values for psql \watch, + and allow zero to specify no delay (Andrey Borodin) + + - - -Allow psql scripts to obtain the exit status of shell commands and queries -(Corey Huinker, Tom Lane) - + + + Allow psql scripts to obtain the exit + status of shell commands and queries + (Corey Huinker, Tom Lane) + - -The new psql control variables are SHELL_ERROR and SHELL_EXIT_CODE. - - + + The new psql control variables are SHELL_ERROR + and SHELL_EXIT_CODE. + + - - -Various psql tab completion improvements (Vignesh C, Aleksander Alekseev, Dagfinn Ilmari Mannsåker, Shi Yu, Michael Paquier, Ken Kato, Peter Smith) - - + + + Various psql tab completion improvements + (Vignesh C, Aleksander Alekseev, Dagfinn Ilmari Mannsåker, + Shi Yu, Michael Paquier, Ken Kato, Peter Smith) + + @@ -2333,15 +2790,18 @@ Author: Tom Lane 2023-03-14 [a563c24c9] Allow pg_dump to include/exclude child tables automatica --> - - -Add pg_dump control of dumping child tables and partitions (Gilles Darold) - + + + Add pg_dump control of dumping child + tables and partitions (Gilles Darold) + - -The new options are , , and . - - + + The new options are , + , and + . + + - - -Add LZ4 and Zstandard compression to pg_dump (Georgios Kokolatos, Justin Pryzby) - - + + + Add LZ4 and + Zstandard compression to + pg_dump (Georgios Kokolatos, Justin + Pryzby) + + - - -Allow pg_dump and pg_basebackup to use long mode for compression (Justin Pryzby) - - + + + Allow pg_dump and pg_basebackup + to use long mode for compression (Justin Pryzby) + + - - -Improve pg_dump to accept a more consistent compression syntax (Georgios Kokolatos) - + + + Improve pg_dump to accept a more + consistent compression syntax (Georgios Kokolatos) + - -Options like . - - + + Options like . + + @@ -2396,18 +2862,22 @@ Options like . - - -Add initdb option to set server variables for the duration of initdb and all future server starts (Tom Lane) - + + + Add initdb + option to set server variables for the duration of + initdb and all future server starts + (Tom Lane) + - -The option is . - - + + The option is . + + - - -Add options to createuser to control more user options (Shinya Kato) - + + + Add options to createuser + to control more user options (Shinya Kato) + - -Specifically, the new options control the valid-until date, bypassing of row-level security, and role membership. - - + + Specifically, the new options control the valid-until date, + bypassing of row-level security, and role membership. + + - - -Deprecate createuser option (Nathan Bossart) - + + + Deprecate createuser + option (Nathan Bossart) + - -This option could be easily confused with new createuser role membership options, so option has been added with the same functionality. -The option can still be used. - - + + This option could be easily confused with new + createuser role membership options, + so option has been added with the + same functionality. The option can still + be used. + + - - -Allow control of vacuumdb schema processing (Gilles Darold) - + + + Allow control of vacuumdb + schema processing (Gilles Darold) + - -These are controlled by options and . - - + + These are controlled by options and + . + + - - -Use new VACUUM options to improve the performance of vacuumdb (Tom Lane, Nathan Bossart) - - + + + Use new VACUUM + options to improve the performance of vacuumdb + (Tom Lane, Nathan Bossart) + + - - -Have pg_upgrade set the new cluster's locale and encoding (Jeff Davis) - + + + Have pg_upgrade + set the new cluster's locale and encoding (Jeff Davis) + - -This removes the requirement that the new cluster be created with the same locale and encoding settings. - - + + This removes the requirement that the new cluster be created with + the same locale and encoding settings. + + - - -Add pg_upgrade option to specify the default transfer mode (Peter Eisentraut) - + + + Add pg_upgrade + option to specify the default transfer mode (Peter Eisentraut) + - -The option is . - - + + The option is . + + - - -Improve pg_basebackup to accept numeric compression options (Georgios Kokolatos, Michael Paquier) - + + + Improve pg_basebackup + to accept numeric compression options (Georgios Kokolatos, + Michael Paquier) + - -Options like are now supported. - - + + Options like are now supported. + + - - -Fix pg_basebackup to handle tablespaces stored in the PGDATA directory (Robert Haas) - - + + + Fix pg_basebackup + to handle tablespaces stored in the PGDATA directory + (Robert Haas) + + - - -Add pg_waldump option to dump full page images (David Christensen) - - + + + Add pg_waldump + option to dump full page images + (David Christensen) + + - - -Allow pg_waldump options / to accept hexadecimal values (Peter Eisentraut) - - + + + Allow pg_waldump + options / to accept + hexadecimal values (Peter Eisentraut) + + - - -Add support for progress reporting to pg_verifybackup (Masahiko Sawada) - - + + + Add support for progress reporting to pg_verifybackup + (Masahiko Sawada) + + - - -Allow pg_rewind to properly track timeline changes (Heikki Linnakangas) - + + + Allow pg_rewind + to properly track timeline changes (Heikki Linnakangas) + - -Previously if pg_rewind was run after a timeline switch but before a checkpoint was issued, it might incorrectly determine that a rewind was unnecessary. - - + + Previously if pg_rewind was run after + a timeline switch but before a checkpoint was issued, it might + incorrectly determine that a rewind was unnecessary. + + - - -Have pg_receivewal and pg_recvlogical cleanly exit on SIGTERM (Christoph Berg) - + + + Have pg_receivewal + and pg_recvlogical + cleanly exit on SIGTERM (Christoph Berg) + - -This signal is often used by systemd. - - + + This signal is often used by systemd. + + @@ -2605,52 +3116,60 @@ Author: Jeff Davis 2023-04-18 [fcb21b3ac] Build ICU support by default. --> - - -Build ICU support by default (Jeff Davis) - + + + Build ICU support by default (Jeff Davis) + - -This removes build flag and adds flag . - - + + This removes build + flag and adds flag + . + + - - -Add support for SSE2 (Streaming SIMD Extensions 2) vector operations on x86-64 architectures (John Naylor) - - + + + Add support for SSE2 (Streaming SIMD Extensions + 2) vector operations on x86-64 architectures (John Naylor) + + - - -Add support for Advanced SIMD (Single Instruction Multiple Data) (NEON) instructions on ARM architectures (Nathan Bossart) - - + + + Add support for Advanced SIMD (Single + Instruction Multiple Data) (NEON) instructions + on ARM architectures (Nathan Bossart) + + - - -Have Windows binaries built with MSVC use RandomizedBaseAddress (ASLR) (Michael Paquier) - + + + Have Windows + binaries built with MSVC use + RandomizedBaseAddress (ASLR) + (Michael Paquier) + - -This was already enabled on MinGW builds. - - + + This was already enabled on MinGW builds. + + - - -Prevent extension libraries from exporting their symbols by default (Andres Freund, Tom Lane) - + + + Prevent extension libraries from exporting their symbols by default + (Andres Freund, Tom Lane) + - -Functions that need to be called from the core backend or other extensions must now be explicitly marked PGDLLEXPORT. - - + + Functions that need to be called from the core backend + or other extensions must now be explicitly marked + PGDLLEXPORT. + + - - -Require Windows 10 or newer versions (Michael Paquier, Juan José Santamaría Flecha) - + + + Require Windows 10 or + newer versions (Michael Paquier, Juan José Santamaría Flecha) + - -Previously Windows Vista and Windows XP were supported. - - + + Previously Windows Vista and + Windows XP were supported. + + - - -Require Perl version 5.14 or later (John Naylor) - - + + + Require Perl version 5.14 or later + (John Naylor) + + - - -Require Bison version 2.3 or later (John Naylor) - - + + + Require Bison version 2.3 or later + (John Naylor) + + - - -Require Flex version 2.5.35 or later (John Naylor) - - + + + Require Flex version 2.5.35 or later + (John Naylor) + + - - -Require MIT Kerberos for GSSAPI support (Stephen Frost) - - + + + Require MIT Kerberos for + GSSAPI support (Stephen Frost) + + - - -Remove support for Visual Studio 2013 (Michael Paquier) - - + + + Remove support for Visual Studio 2013 + (Michael Paquier) + + - - -Remove support for HP-UX (Thomas Munro) - - + + + Remove support for HP-UX + (Thomas Munro) + + - - -Remove support for HP/Intel Itanium (Thomas Munro) - - + + + Remove support for HP/Intel Itanium + (Thomas Munro) + + - - -Remove support for M68K, M88K, M32R, and SuperH CPU architectures (Thomas Munro) - - + + + Remove support for M68K, + M88K, M32R, + and SuperH CPU + architectures (Thomas Munro) + + - - -Remove libpq support for SCM credential authentication (Michael Paquier) - + + + Remove libpq + support for SCM credential authentication + (Michael Paquier) + - -Backend support for this authentication method was removed in PostgresSQL 9.1. - - + + Backend support for this authentication method was removed in + PostgresSQL 9.1. + + - - -Add meson build system (Andres Freund, Nazir Bilal Yavuz, Peter Eisentraut) - + + + Add meson + build system (Andres Freund, Nazir Bilal Yavuz, Peter Eisentraut) + - -This eventually will replace the Autoconf and Windows-based MSVC build systems. - - + + This eventually will replace the Autoconf + and Windows-based + MSVC build systems. + + - - -Allow control of the location of the openssl binary used by the build system (Peter Eisentraut) - + + + Allow control of the location of the + openssl binary used by the build system + (Peter Eisentraut) + - -Make finding openssl program a configure or meson option - - + + Make finding openssl + program a configure or + meson option + + - - -Add build option to allow testing of small WAL segment sizes (Andres Freund) - + + + Add build option to allow testing of small WAL + segment sizes (Andres Freund) + - -The build options are and . - - + + The build options are + and . + + - - -Add pgindent options (Andrew Dunstan) - + + + Add pgindent options + (Andrew Dunstan) + - -The new options are , , , and , and allow multiple options. Also require the typedef file to be explicitly specified. Options and were -also removed. - - + + The new options are , + , , + and , and allow multiple + options. Also require the typedef file + to be explicitly specified. Options + and were also removed. + + - - -Add pg_bsd_indent source code to the main tree (Tom Lane) - - + + + Add pg_bsd_indent + source code to the main tree (Tom Lane) + + - - -Improve make_ctags and make_etags (Yugo Nagata) - - + + + Improve make_ctags and + make_etags (Yugo Nagata) + + - - -Adjust pg_attribute columns for efficiency (Peter Eisentraut) - - + + + Adjust pg_attribute + columns for efficiency (Peter Eisentraut) + + @@ -2909,79 +3468,102 @@ Author: Tom Lane 2022-09-02 [ff720a597] Fix planner to consider matches to boolean columns in ex --> - - -Improve use of extension-based indexes on boolean columns (Zongliang Quan, Tom Lane) - - + + + Improve use of extension-based indexes on boolean columns (Zongliang + Quan, Tom Lane) + + - - -Add support for Daitch-Mokotoff Soundex to fuzzystrmatch (Dag Lem) - - + + + Add support for Daitch-Mokotoff Soundex to fuzzystrmatch + (Dag Lem) + + - - -Allow auto_explain to log values passed to parameterized statements (Dagfinn Ilmari Mannsåker) - + + + Allow auto_explain + to log values passed to parameterized statements (Dagfinn Ilmari + Mannsåker) + - -This affects queries using server-side PREPARE/EXECUTE and client-side parse/bind. Logging is controlled by auto_explain.log_parameter_max_length; by default query parameters will -be logged with no length restriction. - - + + This affects queries using server-side PREPARE/EXECUTE + and client-side parse/bind. Logging is controlled by auto_explain.log_parameter_max_length; + by default query parameters will be logged with no length + restriction. + + - - -Have auto_explain's mode honor the value of compute_query_id (Atsushi Torikoshi) - + + + Have auto_explain's + mode honor the value of compute_query_id + (Atsushi Torikoshi) + - -Previously even if compute_query_id was enabled, was not showing the query identifier. - - + + Previously even if + compute_query_id was enabled, + was not showing the query identifier. + + - - -Change the maximum length of ltree labels from 256 to 1000 and allow hyphens (Garen Torikian) - - + + + Change the maximum length of ltree labels + from 256 to 1000 and allow hyphens (Garen Torikian) + + - - -Have pg_stat_statements normalize constants used in utility commands (Michael Paquier) - + + + Have pg_stat_statements + normalize constants used in utility commands (Michael Paquier) + - -Previously constants appeared instead of placeholders, e.g., $1. - - + + Previously constants appeared instead of placeholders, e.g., + $1. + + - - -Add pg_walinspect function pg_get_wal_block_info() to report WAL block information (Michael Paquier, Melanie Plageman, Bharath Rupireddy) - - + + + Add pg_walinspect + function pg_get_wal_block_info() + to report WAL block information (Michael Paquier, + Melanie Plageman, Bharath Rupireddy) + + - - -Change how pg_walinspect functions pg_get_wal_records_info() and pg_get_wal_stats() interpret ending LSNs (Bharath Rupireddy) - + + + Change how pg_walinspect + functions pg_get_wal_records_info() + and pg_get_wal_stats() + interpret ending LSNs (Bharath Rupireddy) + - -Previously ending LSNs which represent nonexistent WAL locations would generate an error, while they will now be interpreted as the end of the WAL. - - + + Previously ending LSNs which represent + nonexistent WAL locations would generate + an error, while they will now be interpreted as the end of the + WAL. + + - - -Add detailed descriptions of WAL records in pg_walinspect and pg_waldump (Melanie Plageman, Peter Geoghegan) - - + + + Add detailed descriptions of WAL records in pg_walinspect + and pg_waldump + (Melanie Plageman, Peter Geoghegan) + + - - -Add pageinspect function bt_multi_page_stats() to report statistics on multiple pages (Hamid Akhtar) - + + + Add pageinspect + function bt_multi_page_stats() + to report statistics on multiple pages (Hamid Akhtar) + - -This is similar to bt_page_stats() except it can report on a range of pages. - - + + This is similar to bt_page_stats() except it + can report on a range of pages. + + - - -Add empty range output column to pageinspect function brin_page_items() (Tomas Vondra) - - + + + Add empty range output column to pageinspect + function brin_page_items() + (Tomas Vondra) + + - - -Redesign archive modules to be more flexible (Nathan Bossart) - + + + Redesign archive modules to be more flexible (Nathan Bossart) + - -Initialization changes will require modules written for older versions of Postgres to be updated. - - + + Initialization changes will require modules written for older + versions of Postgres to be updated. + + - - -Correct inaccurate pg_stat_statements row tracking extended query protocol statements (Sami Imseih) - - + + + Correct inaccurate pg_stat_statements + row tracking extended query protocol statements (Sami Imseih) + + - - -Add pg_buffercache function pg_buffercache_usage_counts() to report usage totals (Nathan Bossart) - - + + + Add pg_buffercache + function pg_buffercache_usage_counts() to + report usage totals (Nathan Bossart) + + - - -Add pg_buffercache function pg_buffercache_summary() to report summarized buffer statistics (Melih Mutlu) - - + + + Add pg_buffercache + function pg_buffercache_summary() to report + summarized buffer statistics (Melih Mutlu) + + - - -Allow the schemas of required extensions to be referenced in extension scripts using the new syntax @extschema:referenced_extension_name@ (Regina Obe) - - + + + Allow the schemas of required extensions to be + referenced in extension scripts using the new syntax + @extschema:referenced_extension_name@ + (Regina Obe) + + - - -Allow required extensions to be marked as non-relocatable using no_relocate (Regina Obe) - + + + Allow required extensions to + be marked as non-relocatable using no_relocate + (Regina Obe) + - -This allows @extschema:referenced_extension_name@ to be treated as a constant for the lifetime of the extension. - - + + This allows @extschema:referenced_extension_name@ + to be treated as a constant for the lifetime of the extension. + + @@ -3144,52 +3769,64 @@ Author: Etsuro Fujita 2023-04-06 [983ec2300] postgres_fdw: Add support for parallel abort. --> - - -Allow postgres_fdw to do aborts in parallel (Etsuro Fujita) - + + + Allow postgres_fdw to do aborts in + parallel (Etsuro Fujita) + - -This is enabled with postgres_fdw option . - - + + This is enabled with + postgres_fdw option . + + - - -Make ANALYZE on foreign postgres_fdw tables more efficient (Tomas Vondra) - + + + Make ANALYZE + on foreign postgres_fdw tables more + efficient (Tomas Vondra) + - -The postgres_fdw option controls the sampling method. - - + + The postgres_fdw option + controls the sampling method. + + - - -Restrict shipment of reg* type constants in postgres_fdw to those referencing built-in objects or extensions marked as shippable (Tom Lane) - - + + + Restrict shipment of reg* type constants + in postgres_fdw to those referencing + built-in objects or extensions marked as shippable (Tom Lane) + + - - -Have postgres_fdw and dblink handle interrupts during connection establishment (Andres Freund) - - + + + Have postgres_fdw and dblink handle + interrupts during connection establishment (Andres Freund) + + From 052aae85072f0c12e7619f1e2b8c00b0798cda39 Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Wed, 23 Aug 2023 12:10:18 +1200 Subject: [PATCH 115/317] ExtendBufferedWhat -> BufferManagerRelation. Commit 31966b15 invented a way for functions dealing with relation extension to accept a Relation in online code and an SMgrRelation in recovery code. It seems highly likely that future bufmgr.c interfaces will face the same problem, and need to do something similar. Generalize the names so that each interface doesn't have to re-invent the wheel. Back-patch to 16. Since extension AM authors might start using the constructor macros once 16 ships, we agreed to do the rename in 16 rather than waiting for 17. Reviewed-by: Peter Geoghegan Reviewed-by: Andres Freund Discussion: https://postgr.es/m/CA%2BhUKG%2B6tLD2BhpRWycEoti6LVLyQq457UL4ticP5xd8LqHySA%40mail.gmail.com --- contrib/bloom/blutils.c | 2 +- src/backend/access/brin/brin.c | 4 +- src/backend/access/brin/brin_revmap.c | 2 +- src/backend/access/gin/gininsert.c | 4 +- src/backend/access/gin/ginutil.c | 2 +- src/backend/access/gist/gist.c | 2 +- src/backend/access/gist/gistutil.c | 2 +- src/backend/access/hash/hashpage.c | 2 +- src/backend/access/heap/hio.c | 2 +- src/backend/access/heap/visibilitymap.c | 2 +- src/backend/access/nbtree/nbtpage.c | 2 +- src/backend/access/spgist/spgutils.c | 2 +- src/backend/access/transam/xlogutils.c | 2 +- src/backend/commands/sequence.c | 2 +- src/backend/storage/buffer/bufmgr.c | 112 +++++++++++----------- src/backend/storage/buffer/localbuf.c | 10 +- src/backend/storage/freespace/freespace.c | 2 +- src/include/storage/buf_internals.h | 2 +- src/include/storage/bufmgr.h | 20 ++-- src/tools/pgindent/typedefs.list | 2 +- 20 files changed, 90 insertions(+), 90 deletions(-) diff --git a/contrib/bloom/blutils.c b/contrib/bloom/blutils.c index d935ed8fbdf..a017d58bbe4 100644 --- a/contrib/bloom/blutils.c +++ b/contrib/bloom/blutils.c @@ -386,7 +386,7 @@ BloomNewBuffer(Relation index) } /* Must extend the file */ - buffer = ExtendBufferedRel(EB_REL(index), MAIN_FORKNUM, NULL, + buffer = ExtendBufferedRel(BMR_REL(index), MAIN_FORKNUM, NULL, EB_LOCK_FIRST); return buffer; diff --git a/src/backend/access/brin/brin.c b/src/backend/access/brin/brin.c index 3c6a956eaa3..d4fec654bb6 100644 --- a/src/backend/access/brin/brin.c +++ b/src/backend/access/brin/brin.c @@ -848,7 +848,7 @@ brinbuild(Relation heap, Relation index, IndexInfo *indexInfo) * whole relation will be rolled back. */ - meta = ExtendBufferedRel(EB_REL(index), MAIN_FORKNUM, NULL, + meta = ExtendBufferedRel(BMR_REL(index), MAIN_FORKNUM, NULL, EB_LOCK_FIRST | EB_SKIP_EXTENSION_LOCK); Assert(BufferGetBlockNumber(meta) == BRIN_METAPAGE_BLKNO); @@ -915,7 +915,7 @@ brinbuildempty(Relation index) Buffer metabuf; /* An empty BRIN index has a metapage only. */ - metabuf = ExtendBufferedRel(EB_REL(index), INIT_FORKNUM, NULL, + metabuf = ExtendBufferedRel(BMR_REL(index), INIT_FORKNUM, NULL, EB_LOCK_FIRST | EB_SKIP_EXTENSION_LOCK); /* Initialize and xlog metabuffer. */ diff --git a/src/backend/access/brin/brin_revmap.c b/src/backend/access/brin/brin_revmap.c index f4271ba31c9..84d627cb5c9 100644 --- a/src/backend/access/brin/brin_revmap.c +++ b/src/backend/access/brin/brin_revmap.c @@ -569,7 +569,7 @@ revmap_physical_extend(BrinRevmap *revmap) } else { - buf = ExtendBufferedRel(EB_REL(irel), MAIN_FORKNUM, NULL, + buf = ExtendBufferedRel(BMR_REL(irel), MAIN_FORKNUM, NULL, EB_LOCK_FIRST); if (BufferGetBlockNumber(buf) != mapBlk) { diff --git a/src/backend/access/gin/gininsert.c b/src/backend/access/gin/gininsert.c index be1841de7bf..56968b95acf 100644 --- a/src/backend/access/gin/gininsert.c +++ b/src/backend/access/gin/gininsert.c @@ -440,9 +440,9 @@ ginbuildempty(Relation index) MetaBuffer; /* An empty GIN index has two pages. */ - MetaBuffer = ExtendBufferedRel(EB_REL(index), INIT_FORKNUM, NULL, + MetaBuffer = ExtendBufferedRel(BMR_REL(index), INIT_FORKNUM, NULL, EB_LOCK_FIRST | EB_SKIP_EXTENSION_LOCK); - RootBuffer = ExtendBufferedRel(EB_REL(index), INIT_FORKNUM, NULL, + RootBuffer = ExtendBufferedRel(BMR_REL(index), INIT_FORKNUM, NULL, EB_LOCK_FIRST | EB_SKIP_EXTENSION_LOCK); /* Initialize and xlog metabuffer and root buffer. */ diff --git a/src/backend/access/gin/ginutil.c b/src/backend/access/gin/ginutil.c index 437f24753c0..7a4cd93f301 100644 --- a/src/backend/access/gin/ginutil.c +++ b/src/backend/access/gin/ginutil.c @@ -327,7 +327,7 @@ GinNewBuffer(Relation index) } /* Must extend the file */ - buffer = ExtendBufferedRel(EB_REL(index), MAIN_FORKNUM, NULL, + buffer = ExtendBufferedRel(BMR_REL(index), MAIN_FORKNUM, NULL, EB_LOCK_FIRST); return buffer; diff --git a/src/backend/access/gist/gist.c b/src/backend/access/gist/gist.c index 516465f8b7d..b1f19f6a8e6 100644 --- a/src/backend/access/gist/gist.c +++ b/src/backend/access/gist/gist.c @@ -134,7 +134,7 @@ gistbuildempty(Relation index) Buffer buffer; /* Initialize the root page */ - buffer = ExtendBufferedRel(EB_REL(index), INIT_FORKNUM, NULL, + buffer = ExtendBufferedRel(BMR_REL(index), INIT_FORKNUM, NULL, EB_SKIP_EXTENSION_LOCK | EB_LOCK_FIRST); /* Initialize and xlog buffer */ diff --git a/src/backend/access/gist/gistutil.c b/src/backend/access/gist/gistutil.c index f9f51152b8e..b6bc8c2c56d 100644 --- a/src/backend/access/gist/gistutil.c +++ b/src/backend/access/gist/gistutil.c @@ -877,7 +877,7 @@ gistNewBuffer(Relation r, Relation heaprel) } /* Must extend the file */ - buffer = ExtendBufferedRel(EB_REL(r), MAIN_FORKNUM, NULL, + buffer = ExtendBufferedRel(BMR_REL(r), MAIN_FORKNUM, NULL, EB_LOCK_FIRST); return buffer; diff --git a/src/backend/access/hash/hashpage.c b/src/backend/access/hash/hashpage.c index af3a1542667..0c6e79f1bdc 100644 --- a/src/backend/access/hash/hashpage.c +++ b/src/backend/access/hash/hashpage.c @@ -209,7 +209,7 @@ _hash_getnewbuf(Relation rel, BlockNumber blkno, ForkNumber forkNum) /* smgr insists we explicitly extend the relation */ if (blkno == nblocks) { - buf = ExtendBufferedRel(EB_REL(rel), forkNum, NULL, + buf = ExtendBufferedRel(BMR_REL(rel), forkNum, NULL, EB_LOCK_FIRST | EB_SKIP_EXTENSION_LOCK); if (BufferGetBlockNumber(buf) != blkno) elog(ERROR, "unexpected hash relation size: %u, should be %u", diff --git a/src/backend/access/heap/hio.c b/src/backend/access/heap/hio.c index 21f808fecb5..caa62708aa5 100644 --- a/src/backend/access/heap/hio.c +++ b/src/backend/access/heap/hio.c @@ -339,7 +339,7 @@ RelationAddBlocks(Relation relation, BulkInsertState bistate, * [auto]vacuum trying to truncate later pages as REL_TRUNCATE_MINIMUM is * way larger. */ - first_block = ExtendBufferedRelBy(EB_REL(relation), MAIN_FORKNUM, + first_block = ExtendBufferedRelBy(BMR_REL(relation), MAIN_FORKNUM, bistate ? bistate->strategy : NULL, EB_LOCK_FIRST, extend_by_pages, diff --git a/src/backend/access/heap/visibilitymap.c b/src/backend/access/heap/visibilitymap.c index 7d54ec9c0f7..2e18cd88bcf 100644 --- a/src/backend/access/heap/visibilitymap.c +++ b/src/backend/access/heap/visibilitymap.c @@ -628,7 +628,7 @@ vm_extend(Relation rel, BlockNumber vm_nblocks) { Buffer buf; - buf = ExtendBufferedRelTo(EB_REL(rel), VISIBILITYMAP_FORKNUM, NULL, + buf = ExtendBufferedRelTo(BMR_REL(rel), VISIBILITYMAP_FORKNUM, NULL, EB_CREATE_FORK_IF_NEEDED | EB_CLEAR_SIZE_CACHE, vm_nblocks, diff --git a/src/backend/access/nbtree/nbtpage.c b/src/backend/access/nbtree/nbtpage.c index d78971bfe88..6558aea42ba 100644 --- a/src/backend/access/nbtree/nbtpage.c +++ b/src/backend/access/nbtree/nbtpage.c @@ -975,7 +975,7 @@ _bt_allocbuf(Relation rel, Relation heaprel) * otherwise would make, as we can't use _bt_lockbuf() without introducing * a race. */ - buf = ExtendBufferedRel(EB_REL(rel), MAIN_FORKNUM, NULL, EB_LOCK_FIRST); + buf = ExtendBufferedRel(BMR_REL(rel), MAIN_FORKNUM, NULL, EB_LOCK_FIRST); if (!RelationUsesLocalBuffers(rel)) VALGRIND_MAKE_MEM_DEFINED(BufferGetPage(buf), BLCKSZ); diff --git a/src/backend/access/spgist/spgutils.c b/src/backend/access/spgist/spgutils.c index 190e4f76a9e..8f32e46fb83 100644 --- a/src/backend/access/spgist/spgutils.c +++ b/src/backend/access/spgist/spgutils.c @@ -405,7 +405,7 @@ SpGistNewBuffer(Relation index) ReleaseBuffer(buffer); } - buffer = ExtendBufferedRel(EB_REL(index), MAIN_FORKNUM, NULL, + buffer = ExtendBufferedRel(BMR_REL(index), MAIN_FORKNUM, NULL, EB_LOCK_FIRST); return buffer; diff --git a/src/backend/access/transam/xlogutils.c b/src/backend/access/transam/xlogutils.c index e174a2a8919..43f7b31205d 100644 --- a/src/backend/access/transam/xlogutils.c +++ b/src/backend/access/transam/xlogutils.c @@ -524,7 +524,7 @@ XLogReadBufferExtended(RelFileLocator rlocator, ForkNumber forknum, /* OK to extend the file */ /* we do this in recovery only - no rel-extension lock needed */ Assert(InRecovery); - buffer = ExtendBufferedRelTo(EB_SMGR(smgr, RELPERSISTENCE_PERMANENT), + buffer = ExtendBufferedRelTo(BMR_SMGR(smgr, RELPERSISTENCE_PERMANENT), forknum, NULL, EB_PERFORMING_RECOVERY | diff --git a/src/backend/commands/sequence.c b/src/backend/commands/sequence.c index 4e4487900fa..982b9c0dca5 100644 --- a/src/backend/commands/sequence.c +++ b/src/backend/commands/sequence.c @@ -384,7 +384,7 @@ fill_seq_fork_with_data(Relation rel, HeapTuple tuple, ForkNumber forkNum) /* Initialize first page of relation with special magic number */ - buf = ExtendBufferedRel(EB_REL(rel), forkNum, NULL, + buf = ExtendBufferedRel(BMR_REL(rel), forkNum, NULL, EB_LOCK_FIRST | EB_SKIP_EXTENSION_LOCK); Assert(BufferGetBlockNumber(buf) == 0); diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c index bd203c21913..4343178ff96 100644 --- a/src/backend/storage/buffer/bufmgr.c +++ b/src/backend/storage/buffer/bufmgr.c @@ -451,7 +451,7 @@ static Buffer ReadBuffer_common(SMgrRelation smgr, char relpersistence, ForkNumber forkNum, BlockNumber blockNum, ReadBufferMode mode, BufferAccessStrategy strategy, bool *hit); -static BlockNumber ExtendBufferedRelCommon(ExtendBufferedWhat eb, +static BlockNumber ExtendBufferedRelCommon(BufferManagerRelation bmr, ForkNumber fork, BufferAccessStrategy strategy, uint32 flags, @@ -459,7 +459,7 @@ static BlockNumber ExtendBufferedRelCommon(ExtendBufferedWhat eb, BlockNumber extend_upto, Buffer *buffers, uint32 *extended_by); -static BlockNumber ExtendBufferedRelShared(ExtendBufferedWhat eb, +static BlockNumber ExtendBufferedRelShared(BufferManagerRelation bmr, ForkNumber fork, BufferAccessStrategy strategy, uint32 flags, @@ -809,7 +809,7 @@ ReadBufferWithoutRelcache(RelFileLocator rlocator, ForkNumber forkNum, * Convenience wrapper around ExtendBufferedRelBy() extending by one block. */ Buffer -ExtendBufferedRel(ExtendBufferedWhat eb, +ExtendBufferedRel(BufferManagerRelation bmr, ForkNumber forkNum, BufferAccessStrategy strategy, uint32 flags) @@ -817,7 +817,7 @@ ExtendBufferedRel(ExtendBufferedWhat eb, Buffer buf; uint32 extend_by = 1; - ExtendBufferedRelBy(eb, forkNum, strategy, flags, extend_by, + ExtendBufferedRelBy(bmr, forkNum, strategy, flags, extend_by, &buf, &extend_by); return buf; @@ -841,7 +841,7 @@ ExtendBufferedRel(ExtendBufferedWhat eb, * be empty. */ BlockNumber -ExtendBufferedRelBy(ExtendBufferedWhat eb, +ExtendBufferedRelBy(BufferManagerRelation bmr, ForkNumber fork, BufferAccessStrategy strategy, uint32 flags, @@ -849,17 +849,17 @@ ExtendBufferedRelBy(ExtendBufferedWhat eb, Buffer *buffers, uint32 *extended_by) { - Assert((eb.rel != NULL) != (eb.smgr != NULL)); - Assert(eb.smgr == NULL || eb.relpersistence != 0); + Assert((bmr.rel != NULL) != (bmr.smgr != NULL)); + Assert(bmr.smgr == NULL || bmr.relpersistence != 0); Assert(extend_by > 0); - if (eb.smgr == NULL) + if (bmr.smgr == NULL) { - eb.smgr = RelationGetSmgr(eb.rel); - eb.relpersistence = eb.rel->rd_rel->relpersistence; + bmr.smgr = RelationGetSmgr(bmr.rel); + bmr.relpersistence = bmr.rel->rd_rel->relpersistence; } - return ExtendBufferedRelCommon(eb, fork, strategy, flags, + return ExtendBufferedRelCommon(bmr, fork, strategy, flags, extend_by, InvalidBlockNumber, buffers, extended_by); } @@ -873,7 +873,7 @@ ExtendBufferedRelBy(ExtendBufferedWhat eb, * crash recovery). */ Buffer -ExtendBufferedRelTo(ExtendBufferedWhat eb, +ExtendBufferedRelTo(BufferManagerRelation bmr, ForkNumber fork, BufferAccessStrategy strategy, uint32 flags, @@ -885,14 +885,14 @@ ExtendBufferedRelTo(ExtendBufferedWhat eb, Buffer buffer = InvalidBuffer; Buffer buffers[64]; - Assert((eb.rel != NULL) != (eb.smgr != NULL)); - Assert(eb.smgr == NULL || eb.relpersistence != 0); + Assert((bmr.rel != NULL) != (bmr.smgr != NULL)); + Assert(bmr.smgr == NULL || bmr.relpersistence != 0); Assert(extend_to != InvalidBlockNumber && extend_to > 0); - if (eb.smgr == NULL) + if (bmr.smgr == NULL) { - eb.smgr = RelationGetSmgr(eb.rel); - eb.relpersistence = eb.rel->rd_rel->relpersistence; + bmr.smgr = RelationGetSmgr(bmr.rel); + bmr.relpersistence = bmr.rel->rd_rel->relpersistence; } /* @@ -901,21 +901,21 @@ ExtendBufferedRelTo(ExtendBufferedWhat eb, * an smgrexists call. */ if ((flags & EB_CREATE_FORK_IF_NEEDED) && - (eb.smgr->smgr_cached_nblocks[fork] == 0 || - eb.smgr->smgr_cached_nblocks[fork] == InvalidBlockNumber) && - !smgrexists(eb.smgr, fork)) + (bmr.smgr->smgr_cached_nblocks[fork] == 0 || + bmr.smgr->smgr_cached_nblocks[fork] == InvalidBlockNumber) && + !smgrexists(bmr.smgr, fork)) { - LockRelationForExtension(eb.rel, ExclusiveLock); + LockRelationForExtension(bmr.rel, ExclusiveLock); /* could have been closed while waiting for lock */ - if (eb.rel) - eb.smgr = RelationGetSmgr(eb.rel); + if (bmr.rel) + bmr.smgr = RelationGetSmgr(bmr.rel); /* recheck, fork might have been created concurrently */ - if (!smgrexists(eb.smgr, fork)) - smgrcreate(eb.smgr, fork, flags & EB_PERFORMING_RECOVERY); + if (!smgrexists(bmr.smgr, fork)) + smgrcreate(bmr.smgr, fork, flags & EB_PERFORMING_RECOVERY); - UnlockRelationForExtension(eb.rel, ExclusiveLock); + UnlockRelationForExtension(bmr.rel, ExclusiveLock); } /* @@ -923,13 +923,13 @@ ExtendBufferedRelTo(ExtendBufferedWhat eb, * kernel. */ if (flags & EB_CLEAR_SIZE_CACHE) - eb.smgr->smgr_cached_nblocks[fork] = InvalidBlockNumber; + bmr.smgr->smgr_cached_nblocks[fork] = InvalidBlockNumber; /* * Estimate how many pages we'll need to extend by. This avoids acquiring * unnecessarily many victim buffers. */ - current_size = smgrnblocks(eb.smgr, fork); + current_size = smgrnblocks(bmr.smgr, fork); /* * Since no-one else can be looking at the page contents yet, there is no @@ -948,7 +948,7 @@ ExtendBufferedRelTo(ExtendBufferedWhat eb, if ((uint64) current_size + num_pages > extend_to) num_pages = extend_to - current_size; - first_block = ExtendBufferedRelCommon(eb, fork, strategy, flags, + first_block = ExtendBufferedRelCommon(bmr, fork, strategy, flags, num_pages, extend_to, buffers, &extended_by); @@ -975,7 +975,7 @@ ExtendBufferedRelTo(ExtendBufferedWhat eb, bool hit; Assert(extended_by == 0); - buffer = ReadBuffer_common(eb.smgr, eb.relpersistence, + buffer = ReadBuffer_common(bmr.smgr, bmr.relpersistence, fork, extend_to - 1, mode, strategy, &hit); } @@ -1019,7 +1019,7 @@ ReadBuffer_common(SMgrRelation smgr, char relpersistence, ForkNumber forkNum, if (mode == RBM_ZERO_AND_LOCK || mode == RBM_ZERO_AND_CLEANUP_LOCK) flags |= EB_LOCK_FIRST; - return ExtendBufferedRel(EB_SMGR(smgr, relpersistence), + return ExtendBufferedRel(BMR_SMGR(smgr, relpersistence), forkNum, strategy, flags); } @@ -1779,7 +1779,7 @@ LimitAdditionalPins(uint32 *additional_pins) * avoid duplicating the tracing and relpersistence related logic. */ static BlockNumber -ExtendBufferedRelCommon(ExtendBufferedWhat eb, +ExtendBufferedRelCommon(BufferManagerRelation bmr, ForkNumber fork, BufferAccessStrategy strategy, uint32 flags, @@ -1791,27 +1791,27 @@ ExtendBufferedRelCommon(ExtendBufferedWhat eb, BlockNumber first_block; TRACE_POSTGRESQL_BUFFER_EXTEND_START(fork, - eb.smgr->smgr_rlocator.locator.spcOid, - eb.smgr->smgr_rlocator.locator.dbOid, - eb.smgr->smgr_rlocator.locator.relNumber, - eb.smgr->smgr_rlocator.backend, + bmr.smgr->smgr_rlocator.locator.spcOid, + bmr.smgr->smgr_rlocator.locator.dbOid, + bmr.smgr->smgr_rlocator.locator.relNumber, + bmr.smgr->smgr_rlocator.backend, extend_by); - if (eb.relpersistence == RELPERSISTENCE_TEMP) - first_block = ExtendBufferedRelLocal(eb, fork, flags, + if (bmr.relpersistence == RELPERSISTENCE_TEMP) + first_block = ExtendBufferedRelLocal(bmr, fork, flags, extend_by, extend_upto, buffers, &extend_by); else - first_block = ExtendBufferedRelShared(eb, fork, strategy, flags, + first_block = ExtendBufferedRelShared(bmr, fork, strategy, flags, extend_by, extend_upto, buffers, &extend_by); *extended_by = extend_by; TRACE_POSTGRESQL_BUFFER_EXTEND_DONE(fork, - eb.smgr->smgr_rlocator.locator.spcOid, - eb.smgr->smgr_rlocator.locator.dbOid, - eb.smgr->smgr_rlocator.locator.relNumber, - eb.smgr->smgr_rlocator.backend, + bmr.smgr->smgr_rlocator.locator.spcOid, + bmr.smgr->smgr_rlocator.locator.dbOid, + bmr.smgr->smgr_rlocator.locator.relNumber, + bmr.smgr->smgr_rlocator.backend, *extended_by, first_block); @@ -1823,7 +1823,7 @@ ExtendBufferedRelCommon(ExtendBufferedWhat eb, * shared buffers. */ static BlockNumber -ExtendBufferedRelShared(ExtendBufferedWhat eb, +ExtendBufferedRelShared(BufferManagerRelation bmr, ForkNumber fork, BufferAccessStrategy strategy, uint32 flags, @@ -1874,9 +1874,9 @@ ExtendBufferedRelShared(ExtendBufferedWhat eb, */ if (!(flags & EB_SKIP_EXTENSION_LOCK)) { - LockRelationForExtension(eb.rel, ExclusiveLock); - if (eb.rel) - eb.smgr = RelationGetSmgr(eb.rel); + LockRelationForExtension(bmr.rel, ExclusiveLock); + if (bmr.rel) + bmr.smgr = RelationGetSmgr(bmr.rel); } /* @@ -1884,9 +1884,9 @@ ExtendBufferedRelShared(ExtendBufferedWhat eb, * kernel. */ if (flags & EB_CLEAR_SIZE_CACHE) - eb.smgr->smgr_cached_nblocks[fork] = InvalidBlockNumber; + bmr.smgr->smgr_cached_nblocks[fork] = InvalidBlockNumber; - first_block = smgrnblocks(eb.smgr, fork); + first_block = smgrnblocks(bmr.smgr, fork); /* * Now that we have the accurate relation size, check if the caller wants @@ -1918,7 +1918,7 @@ ExtendBufferedRelShared(ExtendBufferedWhat eb, if (extend_by == 0) { if (!(flags & EB_SKIP_EXTENSION_LOCK)) - UnlockRelationForExtension(eb.rel, ExclusiveLock); + UnlockRelationForExtension(bmr.rel, ExclusiveLock); *extended_by = extend_by; return first_block; } @@ -1929,7 +1929,7 @@ ExtendBufferedRelShared(ExtendBufferedWhat eb, ereport(ERROR, (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), errmsg("cannot extend relation %s beyond %u blocks", - relpath(eb.smgr->smgr_rlocator, fork), + relpath(bmr.smgr->smgr_rlocator, fork), MaxBlockNumber))); /* @@ -1947,7 +1947,7 @@ ExtendBufferedRelShared(ExtendBufferedWhat eb, LWLock *partition_lock; int existing_id; - InitBufferTag(&tag, &eb.smgr->smgr_rlocator.locator, fork, first_block + i); + InitBufferTag(&tag, &bmr.smgr->smgr_rlocator.locator, fork, first_block + i); hash = BufTableHashCode(&tag); partition_lock = BufMappingPartitionLock(hash); @@ -1996,7 +1996,7 @@ ExtendBufferedRelShared(ExtendBufferedWhat eb, if (valid && !PageIsNew((Page) buf_block)) ereport(ERROR, (errmsg("unexpected data beyond EOF in block %u of relation %s", - existing_hdr->tag.blockNum, relpath(eb.smgr->smgr_rlocator, fork)), + existing_hdr->tag.blockNum, relpath(bmr.smgr->smgr_rlocator, fork)), errhint("This has been seen to occur with buggy kernels; consider updating your system."))); /* @@ -2030,7 +2030,7 @@ ExtendBufferedRelShared(ExtendBufferedWhat eb, victim_buf_hdr->tag = tag; buf_state |= BM_TAG_VALID | BUF_USAGECOUNT_ONE; - if (eb.relpersistence == RELPERSISTENCE_PERMANENT || fork == INIT_FORKNUM) + if (bmr.relpersistence == RELPERSISTENCE_PERMANENT || fork == INIT_FORKNUM) buf_state |= BM_PERMANENT; UnlockBufHdr(victim_buf_hdr, buf_state); @@ -2054,7 +2054,7 @@ ExtendBufferedRelShared(ExtendBufferedWhat eb, * * We don't need to set checksum for all-zero pages. */ - smgrzeroextend(eb.smgr, fork, first_block, extend_by, false); + smgrzeroextend(bmr.smgr, fork, first_block, extend_by, false); /* * Release the file-extension lock; it's now OK for someone else to extend @@ -2064,7 +2064,7 @@ ExtendBufferedRelShared(ExtendBufferedWhat eb, * take noticeable time. */ if (!(flags & EB_SKIP_EXTENSION_LOCK)) - UnlockRelationForExtension(eb.rel, ExclusiveLock); + UnlockRelationForExtension(bmr.rel, ExclusiveLock); pgstat_count_io_op_time(IOOBJECT_RELATION, io_context, IOOP_EXTEND, io_start, extend_by); diff --git a/src/backend/storage/buffer/localbuf.c b/src/backend/storage/buffer/localbuf.c index f684862d98c..1735ec71419 100644 --- a/src/backend/storage/buffer/localbuf.c +++ b/src/backend/storage/buffer/localbuf.c @@ -308,7 +308,7 @@ LimitAdditionalLocalPins(uint32 *additional_pins) * temporary buffers. */ BlockNumber -ExtendBufferedRelLocal(ExtendBufferedWhat eb, +ExtendBufferedRelLocal(BufferManagerRelation bmr, ForkNumber fork, uint32 flags, uint32 extend_by, @@ -338,7 +338,7 @@ ExtendBufferedRelLocal(ExtendBufferedWhat eb, MemSet((char *) buf_block, 0, BLCKSZ); } - first_block = smgrnblocks(eb.smgr, fork); + first_block = smgrnblocks(bmr.smgr, fork); if (extend_upto != InvalidBlockNumber) { @@ -357,7 +357,7 @@ ExtendBufferedRelLocal(ExtendBufferedWhat eb, ereport(ERROR, (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), errmsg("cannot extend relation %s beyond %u blocks", - relpath(eb.smgr->smgr_rlocator, fork), + relpath(bmr.smgr->smgr_rlocator, fork), MaxBlockNumber))); for (int i = 0; i < extend_by; i++) @@ -371,7 +371,7 @@ ExtendBufferedRelLocal(ExtendBufferedWhat eb, victim_buf_id = -buffers[i] - 1; victim_buf_hdr = GetLocalBufferDescriptor(victim_buf_id); - InitBufferTag(&tag, &eb.smgr->smgr_rlocator.locator, fork, first_block + i); + InitBufferTag(&tag, &bmr.smgr->smgr_rlocator.locator, fork, first_block + i); hresult = (LocalBufferLookupEnt *) hash_search(LocalBufHash, (void *) &tag, HASH_ENTER, &found); @@ -411,7 +411,7 @@ ExtendBufferedRelLocal(ExtendBufferedWhat eb, io_start = pgstat_prepare_io_time(); /* actually extend relation */ - smgrzeroextend(eb.smgr, fork, first_block, extend_by, false); + smgrzeroextend(bmr.smgr, fork, first_block, extend_by, false); pgstat_count_io_op_time(IOOBJECT_TEMP_RELATION, IOCONTEXT_NORMAL, IOOP_EXTEND, io_start, extend_by); diff --git a/src/backend/storage/freespace/freespace.c b/src/backend/storage/freespace/freespace.c index 2face615d07..fb9440ff72f 100644 --- a/src/backend/storage/freespace/freespace.c +++ b/src/backend/storage/freespace/freespace.c @@ -612,7 +612,7 @@ fsm_readbuf(Relation rel, FSMAddress addr, bool extend) static Buffer fsm_extend(Relation rel, BlockNumber fsm_nblocks) { - return ExtendBufferedRelTo(EB_REL(rel), FSM_FORKNUM, NULL, + return ExtendBufferedRelTo(BMR_REL(rel), FSM_FORKNUM, NULL, EB_CREATE_FORK_IF_NEEDED | EB_CLEAR_SIZE_CACHE, fsm_nblocks, diff --git a/src/include/storage/buf_internals.h b/src/include/storage/buf_internals.h index 30807d5d97e..bc79a329a1a 100644 --- a/src/include/storage/buf_internals.h +++ b/src/include/storage/buf_internals.h @@ -423,7 +423,7 @@ extern PrefetchBufferResult PrefetchLocalBuffer(SMgrRelation smgr, BlockNumber blockNum); extern BufferDesc *LocalBufferAlloc(SMgrRelation smgr, ForkNumber forkNum, BlockNumber blockNum, bool *foundPtr); -extern BlockNumber ExtendBufferedRelLocal(ExtendBufferedWhat eb, +extern BlockNumber ExtendBufferedRelLocal(BufferManagerRelation bmr, ForkNumber fork, uint32 flags, uint32 extend_by, diff --git a/src/include/storage/bufmgr.h b/src/include/storage/bufmgr.h index 0f5fb6be00e..b379c76e273 100644 --- a/src/include/storage/bufmgr.h +++ b/src/include/storage/bufmgr.h @@ -92,19 +92,19 @@ typedef enum ExtendBufferedFlags } ExtendBufferedFlags; /* - * To identify the relation - either relation or smgr + relpersistence has to - * be specified. Used via the EB_REL()/EB_SMGR() macros below. This allows us - * to use the same function for both crash recovery and normal operation. + * Some functions identify relations either by relation or smgr + + * relpersistence. Used via the BMR_REL()/BMR_SMGR() macros below. This + * allows us to use the same function for both recovery and normal operation. */ -typedef struct ExtendBufferedWhat +typedef struct BufferManagerRelation { Relation rel; struct SMgrRelationData *smgr; char relpersistence; -} ExtendBufferedWhat; +} BufferManagerRelation; -#define EB_REL(p_rel) ((ExtendBufferedWhat){.rel = p_rel}) -#define EB_SMGR(p_smgr, p_relpersistence) ((ExtendBufferedWhat){.smgr = p_smgr, .relpersistence = p_relpersistence}) +#define BMR_REL(p_rel) ((BufferManagerRelation){.rel = p_rel}) +#define BMR_SMGR(p_smgr, p_relpersistence) ((BufferManagerRelation){.smgr = p_smgr, .relpersistence = p_relpersistence}) /* forward declared, to avoid having to expose buf_internals.h here */ @@ -185,18 +185,18 @@ extern void CheckBufferIsPinnedOnce(Buffer buffer); extern Buffer ReleaseAndReadBuffer(Buffer buffer, Relation relation, BlockNumber blockNum); -extern Buffer ExtendBufferedRel(ExtendBufferedWhat eb, +extern Buffer ExtendBufferedRel(BufferManagerRelation bmr, ForkNumber forkNum, BufferAccessStrategy strategy, uint32 flags); -extern BlockNumber ExtendBufferedRelBy(ExtendBufferedWhat eb, +extern BlockNumber ExtendBufferedRelBy(BufferManagerRelation bmr, ForkNumber fork, BufferAccessStrategy strategy, uint32 flags, uint32 extend_by, Buffer *buffers, uint32 *extended_by); -extern Buffer ExtendBufferedRelTo(ExtendBufferedWhat eb, +extern Buffer ExtendBufferedRelTo(BufferManagerRelation bmr, ForkNumber fork, BufferAccessStrategy strategy, uint32 flags, diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list index 9a3b451b200..db833261f14 100644 --- a/src/tools/pgindent/typedefs.list +++ b/src/tools/pgindent/typedefs.list @@ -319,6 +319,7 @@ BufferDesc BufferDescPadded BufferHeapTupleTableSlot BufferLookupEnt +BufferManagerRelation BufferStrategyControl BufferTag BufferUsage @@ -714,7 +715,6 @@ ExprEvalStep ExprSetupInfo ExprState ExprStateEvalFunc -ExtendBufferedWhat ExtensibleNode ExtensibleNodeEntry ExtensibleNodeMethods From 970b502d28c492fd8dc0a27aeff4be424fd8c2bf Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 23 Aug 2023 08:12:50 +0200 Subject: [PATCH 116/317] Improve vertical spacing of documentation markup --- doc/src/sgml/charset.sgml | 60 ++++++++++++++++++++++++++++++--------- 1 file changed, 46 insertions(+), 14 deletions(-) diff --git a/doc/src/sgml/charset.sgml b/doc/src/sgml/charset.sgml index ed844659967..22721b105ff 100644 --- a/doc/src/sgml/charset.sgml +++ b/doc/src/sgml/charset.sgml @@ -377,10 +377,13 @@ initdb --locale-provider=icu --icu-locale=en variants and customization options. + ICU Locales + ICU Locale Names + The ICU format for the locale name is a Language Tag. @@ -412,16 +415,19 @@ NOTICE: using standard form "de-DE" for locale "de_DE.utf8" linkend="icu-language-tag">language tag instead of relying on the transformation. + A locale with no language name, or the special language name root, is transformed to have the language und ("undefined"). + ICU can transform most libc locale names, as well as some other formats, into language tags for easier transition to ICU. If a libc locale name is used in ICU, it may not have precisely the same behavior as in libc. + If there is a problem interpreting the locale name, or if the locale name represents a language or region that ICU does not recognize, you will see @@ -442,10 +448,12 @@ CREATE COLLATION Language Tag + A language tag, defined in BCP 47, is a standardized identifier used to identify languages, regions, and other information about a locale. + Basic language tags are simply language-region; @@ -457,6 +465,7 @@ CREATE COLLATION ja-JP, de, or fr-CA. + Collation settings may be included in the language tag to customize collation behavior. ICU allows extensive customization, such as @@ -464,6 +473,7 @@ CREATE COLLATION treatment of digits within text; and many other options to satisfy a variety of uses. + To include this additional collation information in a language tag, append -u, which indicates there are additional @@ -477,6 +487,7 @@ CREATE COLLATION -value, which implies a value of true. + For example, the language tag en-US-u-kn-ks-level2 means the locale with the English language in the US region, with @@ -500,6 +511,7 @@ SELECT 'N-45' < 'N-123' COLLATE mycollation5 as result; (1 row) + See for details and additional examples of using language tags with custom collation information for the @@ -507,6 +519,7 @@ SELECT 'N-45' < 'N-123' COLLATE mycollation5 as result; + Problems @@ -1100,6 +1113,7 @@ CREATE COLLATION ignore_accents (provider = icu, locale = 'und-u-ks-level1-kc-tr + ICU Custom Collations @@ -1129,8 +1143,10 @@ SELECT 'w;x*y-z' = 'wxyz' COLLATE num_ignore_punct; -- true linkend="icu-collation-settings"/>, or see for more details. + ICU Comparison Levels + Comparison of two strings (collation) in ICU is determined by a multi-level process, where textual features are grouped into @@ -1138,6 +1154,7 @@ SELECT 'w;x*y-z' = 'wxyz' COLLATE num_ignore_punct; -- true linkend="icu-collation-settings-table">collation settings. Higher levels correspond to finer textual features. + shows which textual feature differences are considered significant when determining equality at the @@ -1145,7 +1162,7 @@ SELECT 'w;x*y-z' = 'wxyz' COLLATE num_ignore_punct; -- true invisible separator, and as seen in the table, is ignored for at all levels of comparison less than identic. - + ICU Collation Levels @@ -1157,6 +1174,7 @@ SELECT 'w;x*y-z' = 'wxyz' COLLATE num_ignore_punct; -- true + Level @@ -1169,6 +1187,7 @@ SELECT 'w;x*y-z' = 'wxyz' COLLATE num_ignore_punct; -- true 'y' = 'z' + level1 @@ -1224,6 +1243,7 @@ SELECT 'w;x*y-z' = 'wxyz' COLLATE num_ignore_punct; -- true
+ At every level, even with full normalization off, basic normalization is performed. For example, 'á' may be composed of the code points U&'\0061\0301' or the single code @@ -1233,9 +1253,9 @@ SELECT 'w;x*y-z' = 'wxyz' COLLATE num_ignore_punct; -- true created with deterministic set to true. + Collation Level Examples - CREATE COLLATION level3 (provider = icu, deterministic = false, locale = 'und-u-ka-shifted-ks-level3'); @@ -1251,18 +1271,18 @@ SELECT 'x-y' = 'x_y' COLLATE level3; -- true SELECT 'x-y' = 'x_y' COLLATE level4; -- false -
Collation Settings for an ICU Locale + shows the available collation settings, which can be used as part of a language tag to customize a collation. - + ICU Collation Settings @@ -1270,6 +1290,7 @@ SELECT 'x-y' = 'x_y' COLLATE level4; -- false + Key @@ -1278,6 +1299,7 @@ SELECT 'x-y' = 'x_y' COLLATE level4; -- false Description + co @@ -1287,6 +1309,7 @@ SELECT 'x-y' = 'x_y' COLLATE level4; -- false Collation type. See for additional options and details. + ka noignore, shifted @@ -1299,6 +1322,7 @@ SELECT 'x-y' = 'x_y' COLLATE level4; -- false character classes are ignored. + kb true, false @@ -1309,6 +1333,7 @@ SELECT 'x-y' = 'x_y' COLLATE level4; -- false before 'aé'. + kc true, false @@ -1325,6 +1350,7 @@ SELECT 'x-y' = 'x_y' COLLATE level4; -- false + kf @@ -1339,6 +1365,7 @@ SELECT 'x-y' = 'x_y' COLLATE level4; -- false the rules of the locale. + kn true, false @@ -1350,6 +1377,7 @@ SELECT 'x-y' = 'x_y' COLLATE level4; -- false 'id-123'. + kk true, false @@ -1373,6 +1401,7 @@ SELECT 'x-y' = 'x_y' COLLATE level4; -- false + kr @@ -1398,6 +1427,7 @@ SELECT 'x-y' = 'x_y' COLLATE level4; -- false + ks level1, level2, level3, level4, identic @@ -1409,6 +1439,7 @@ SELECT 'x-y' = 'x_y' COLLATE level4; -- false for details. + kv @@ -1429,10 +1460,13 @@ SELECT 'x-y' = 'x_y' COLLATE level4; -- false
- Defaults may depend on locale. The above table is not meant to be - complete. See for additional - options and details. + + + Defaults may depend on locale. The above table is not meant to be + complete. See for additional + options and details. + For many collation settings, you must create the collation with @@ -1448,7 +1482,7 @@ SELECT 'x-y' = 'x_y' COLLATE level4; -- false Examples - + CREATE COLLATION "de-u-co-phonebk-x-icu" (provider = icu, locale = 'de-u-co-phonebk'); @@ -1494,22 +1528,21 @@ SELECT 'x-y' = 'x_y' COLLATE level4; -- false - External References for ICU + This section () is only a brief overview of ICU behavior and language tags. Refer to the following documents for technical details, additional options, and new behavior: + - Unicode - Technical Standard #35 + Unicode Technical Standard #35 @@ -1519,8 +1552,7 @@ SELECT 'x-y' = 'x_y' COLLATE level4; -- false - CLDR - repository + CLDR repository From 95f1a19df447eba3ef23a9edb914290b0445b4e6 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 23 Aug 2023 08:25:56 +0200 Subject: [PATCH 117/317] doc: Improve ICU external link It previously pointed to the collation API documentation, which our users don't need, but the containing chapter seems useful. --- doc/src/sgml/charset.sgml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/sgml/charset.sgml b/doc/src/sgml/charset.sgml index 22721b105ff..dd092fddd61 100644 --- a/doc/src/sgml/charset.sgml +++ b/doc/src/sgml/charset.sgml @@ -1562,7 +1562,7 @@ SELECT 'x-y' = 'x_y' COLLATE level4; -- false - + From 4d33979eea88703757025c0bc42f1043f5ed2cd9 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 23 Aug 2023 11:23:42 +0200 Subject: [PATCH 118/317] doc: Add more ICU rules examples In particular, add an example EBCDIC collation. Author: Daniel Verite Discussion: https://www.postgresql.org/message-id/flat/35cc1684-e516-4a01-a256-351632d47066@manitou-mail.org --- doc/src/sgml/charset.sgml | 58 +++++++++++++++++++++++++- doc/src/sgml/ref/create_collation.sgml | 13 ++---- doc/src/sgml/ref/create_database.sgml | 4 +- 3 files changed, 62 insertions(+), 13 deletions(-) diff --git a/doc/src/sgml/charset.sgml b/doc/src/sgml/charset.sgml index dd092fddd61..25febcac4c0 100644 --- a/doc/src/sgml/charset.sgml +++ b/doc/src/sgml/charset.sgml @@ -1481,7 +1481,7 @@ SELECT 'x-y' = 'x_y' COLLATE level4; -- false - Examples + Collation Settings Examples @@ -1530,6 +1530,62 @@ SELECT 'x-y' = 'x_y' COLLATE level4; -- false + + ICU Tailoring Rules + + + If the options provided by the collation settings shown above are not + sufficient, the order of collation elements can be changed with tailoring + rules, whose syntax is detailed at . + + + + This small example creates a collation based on the root locale with a + tailoring rule: + + + + With this rule, the letter W is sorted after + V, but is treated as a secondary difference similar to an + accent. Rules like this are contained in the locale definitions of some + languages. (Of course, if a locale definition already contains the + desired rules, then they don't need to be specified again explicitly.) + + + + Here is a more complex example. The following statement sets up a + collation named ebcdic with rules to sort US-ASCII + characters in the order of the EBCDIC encoding. + + +' < '?' +< '`' < ':' < '#' < '@' < \' < '=' < '"' +<*a-r < '~' <*s-z < '^' < '[' < ']' +< '{' <*A-I < '}' <*J-R < '\' <*S-Z <*0-9 +$$);]]> + +SELECT c +FROM (VALUES ('a'), ('b'), ('A'), ('B'), ('1'), ('2'), ('!'), ('^')) AS x(c) +ORDER BY c COLLATE ebcdic; + c +--- + ! + a + b + ^ + A + B + 1 + 2 + + + + External References for ICU diff --git a/doc/src/sgml/ref/create_collation.sgml b/doc/src/sgml/ref/create_collation.sgml index b86a9bbb9ce..5cf9777764b 100644 --- a/doc/src/sgml/ref/create_collation.sgml +++ b/doc/src/sgml/ref/create_collation.sgml @@ -165,9 +165,8 @@ CREATE COLLATION [ IF NOT EXISTS ] name FROM Specifies additional collation rules to customize the behavior of the - collation. This is supported for ICU only. See - for details on the syntax. + collation. This is supported for ICU only. See for details. @@ -257,12 +256,8 @@ CREATE COLLATION german_phonebook (provider = icu, locale = 'de-u-co-phonebk'); - With this rule, the letter W is sorted after - V, but is treated as a secondary difference similar to an - accent. Rules like this are contained in the locale definitions of some - languages. (Of course, if a locale definition already contains the desired - rules, then they don't need to be specified again explicitly.) See the ICU - documentation for further details and examples on the rules syntax. + See for further details and examples + on the rules syntax. diff --git a/doc/src/sgml/ref/create_database.sgml b/doc/src/sgml/ref/create_database.sgml index b2c8aef1ad2..ce7317f81ba 100644 --- a/doc/src/sgml/ref/create_database.sgml +++ b/doc/src/sgml/ref/create_database.sgml @@ -232,9 +232,7 @@ CREATE DATABASE name Specifies additional collation rules to customize the behavior of the default collation of this database. This is supported for ICU only. - See - for details on the syntax. + See for details. From 49054696acf739e4159bd4af73c60437b63e1c52 Mon Sep 17 00:00:00 2001 From: Daniel Gustafsson Date: Wed, 23 Aug 2023 14:13:07 +0200 Subject: [PATCH 119/317] doc: Replace list of drivers and PLs with wiki link The list of external language drivers and procedural languages was never complete or exhaustive, and rather than attempting to manage it the content has migrated to the wiki. This replaces the tables altogether with links to the wiki as we regularly get requests for adding various projects, which we reject without any clear policy for why or how the content should be managed. The threads linked to below are the most recent discussions about this, the archives contain many more. Backpatch to all supported branches since the list on the wiki applies to all branches. Author: Jonathan Katz Discussion: https://postgr.es/m/169165415312.635.10247434927885764880@wrigleys.postgresql.org Discussion: https://postgr.es/m/169177958824.635.11087800083040275266@wrigleys.postgresql.org Backpatch-through: v11 --- doc/src/sgml/external-projects.sgml | 158 ++++------------------------ 1 file changed, 18 insertions(+), 140 deletions(-) diff --git a/doc/src/sgml/external-projects.sgml b/doc/src/sgml/external-projects.sgml index 2d0fd723b29..50872dfd88e 100644 --- a/doc/src/sgml/external-projects.sgml +++ b/doc/src/sgml/external-projects.sgml @@ -40,99 +40,17 @@ All other language interfaces are external projects and are distributed - separately. includes a list of - some of these projects. Note that some of these packages might not be - released under the same license as PostgreSQL. For more - information on each language interface, including licensing terms, refer to - its website and documentation. + separately. A + list of language interfaces + is maintained on the PostgreSQL wiki. Note that some of these packages are + not released under the same license as PostgreSQL. + For more information on each language interface, including licensing terms, + refer to its website and documentation. - - Externally Maintained Client Interfaces - - - - - Name - Language - Comments - Website - - - - - - DBD::Pg - Perl - Perl DBI driver - - - - - JDBC - Java - Type 4 JDBC driver - - - - - libpqxx - C++ - C++ interface - - - - - node-postgres - JavaScript - Node.js driver - - - - - Npgsql - .NET - .NET data provider - - - - - pgtcl - Tcl - - - - - - pgtclng - Tcl - - - - - - pq - Go - Pure Go driver for Go's database/sql - - - - - psqlODBC - ODBC - ODBC driver - - - - - psycopg - Python - DB API 2.0-compliant - - - - -
+ + + @@ -170,58 +88,18 @@ In addition, there are a number of procedural languages that are developed and maintained outside the core PostgreSQL - distribution. lists some of these - packages. Note that some of these projects might not be released under the same - license as PostgreSQL. For more information on each - procedural language, including licensing information, refer to its website + distribution. A list of + procedural languages + is maintained on the PostgreSQL wiki. Note that some of these projects are + not released under the same license as PostgreSQL. + For more information on each procedural language, including licensing + information, refer to its website and documentation. - - Externally Maintained Procedural Languages - - - - - Name - Language - Website - - - - - - PL/Java - Java - - - - - PL/Lua - Lua - - - - - PL/R - R - - - - - PL/sh - Unix shell - - - - - PL/v8 - JavaScript - - - - -
+ + +
From 24956f17285b02e836c379ce0db8c0b08cd285e7 Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Wed, 23 Aug 2023 17:21:31 +0300 Subject: [PATCH 120/317] Use the buffer cache when initializing an unlogged index. Some of the ambuildempty functions used smgrwrite() directly, followed by smgrimmedsync(). A few small problems with that: Firstly, one is supposed to use smgrextend() when extending a relation, not smgrwrite(). It doesn't make much difference in production builds. smgrextend() updates the relation size cache, so you miss that, but that's harmless because we never use the cached relation size of an init fork. But if you compile with CHECK_WRITE_VS_EXTEND, you get an assertion failure. Secondly, the smgrwrite() calls were performed before WAL-logging, so the page image written to disk had 0/0 as the LSN, not the LSN of the WAL record. That's also harmless in practice, but seems sloppy. Thirdly, it's better to use the buffer cache, because then you don't need to smgrimmedsync() the relation to disk, which adds latency. Bypassing the cache makes sense for bulk operations like index creation, but not when you're just initializing an empty index. Creation of unlogged tables is hardly performance bottleneck in any real world applications, but nevertheless. Backpatch to v16, but no further. These issues should be harmless in practice, so better to not rock the boat in older branches. Reviewed-by: Robert Haas Discussion: https://www.postgresql.org/message-id/6e5bbc08-cdfc-b2b3-9e23-1a914b9850a9@iki.fi --- contrib/bloom/blinsert.c | 29 ++--------- contrib/bloom/bloom.h | 2 +- contrib/bloom/blutils.c | 8 +-- src/backend/access/nbtree/nbtree.c | 41 ++++++++-------- src/backend/access/spgist/spginsert.c | 71 ++++++++++++--------------- 5 files changed, 62 insertions(+), 89 deletions(-) diff --git a/contrib/bloom/blinsert.c b/contrib/bloom/blinsert.c index b42b9e6c41f..b90145148d4 100644 --- a/contrib/bloom/blinsert.c +++ b/contrib/bloom/blinsert.c @@ -129,7 +129,7 @@ blbuild(Relation heap, Relation index, IndexInfo *indexInfo) RelationGetRelationName(index)); /* Initialize the meta page */ - BloomInitMetapage(index); + BloomInitMetapage(index, MAIN_FORKNUM); /* Initialize the bloom build state */ memset(&buildstate, 0, sizeof(buildstate)); @@ -163,31 +163,8 @@ blbuild(Relation heap, Relation index, IndexInfo *indexInfo) void blbuildempty(Relation index) { - Page metapage; - - /* Construct metapage. */ - metapage = (Page) palloc_aligned(BLCKSZ, PG_IO_ALIGN_SIZE, 0); - BloomFillMetapage(index, metapage); - - /* - * Write the page and log it. It might seem that an immediate sync would - * be sufficient to guarantee that the file exists on disk, but recovery - * itself might remove it while replaying, for example, an - * XLOG_DBASE_CREATE* or XLOG_TBLSPC_CREATE record. Therefore, we need - * this even when wal_level=minimal. - */ - PageSetChecksumInplace(metapage, BLOOM_METAPAGE_BLKNO); - smgrwrite(RelationGetSmgr(index), INIT_FORKNUM, BLOOM_METAPAGE_BLKNO, - metapage, true); - log_newpage(&(RelationGetSmgr(index))->smgr_rlocator.locator, INIT_FORKNUM, - BLOOM_METAPAGE_BLKNO, metapage, true); - - /* - * An immediate sync is required even if we xlog'd the page, because the - * write did not go through shared_buffers and therefore a concurrent - * checkpoint may have moved the redo pointer past our xlog record. - */ - smgrimmedsync(RelationGetSmgr(index), INIT_FORKNUM); + /* Initialize the meta page */ + BloomInitMetapage(index, INIT_FORKNUM); } /* diff --git a/contrib/bloom/bloom.h b/contrib/bloom/bloom.h index efdf9415d15..330811ec608 100644 --- a/contrib/bloom/bloom.h +++ b/contrib/bloom/bloom.h @@ -177,7 +177,7 @@ typedef BloomScanOpaqueData *BloomScanOpaque; /* blutils.c */ extern void initBloomState(BloomState *state, Relation index); extern void BloomFillMetapage(Relation index, Page metaPage); -extern void BloomInitMetapage(Relation index); +extern void BloomInitMetapage(Relation index, ForkNumber forknum); extern void BloomInitPage(Page page, uint16 flags); extern Buffer BloomNewBuffer(Relation index); extern void signValue(BloomState *state, BloomSignatureWord *sign, Datum value, int attno); diff --git a/contrib/bloom/blutils.c b/contrib/bloom/blutils.c index a017d58bbe4..f23fbb1d9e0 100644 --- a/contrib/bloom/blutils.c +++ b/contrib/bloom/blutils.c @@ -443,7 +443,7 @@ BloomFillMetapage(Relation index, Page metaPage) * Initialize metapage for bloom index. */ void -BloomInitMetapage(Relation index) +BloomInitMetapage(Relation index, ForkNumber forknum) { Buffer metaBuffer; Page metaPage; @@ -451,9 +451,11 @@ BloomInitMetapage(Relation index) /* * Make a new page; since it is first page it should be associated with - * block number 0 (BLOOM_METAPAGE_BLKNO). + * block number 0 (BLOOM_METAPAGE_BLKNO). No need to hold the extension + * lock because there cannot be concurrent inserters yet. */ - metaBuffer = BloomNewBuffer(index); + metaBuffer = ReadBufferExtended(index, forknum, P_NEW, RBM_NORMAL, NULL); + LockBuffer(metaBuffer, BUFFER_LOCK_EXCLUSIVE); Assert(BufferGetBlockNumber(metaBuffer) == BLOOM_METAPAGE_BLKNO); /* Initialize contents of meta page */ diff --git a/src/backend/access/nbtree/nbtree.c b/src/backend/access/nbtree/nbtree.c index 4553aaee531..ad07b80f758 100644 --- a/src/backend/access/nbtree/nbtree.c +++ b/src/backend/access/nbtree/nbtree.c @@ -151,31 +151,32 @@ bthandler(PG_FUNCTION_ARGS) void btbuildempty(Relation index) { + Buffer metabuf; Page metapage; - /* Construct metapage. */ - metapage = (Page) palloc_aligned(BLCKSZ, PG_IO_ALIGN_SIZE, 0); - _bt_initmetapage(metapage, P_NONE, 0, _bt_allequalimage(index, false)); - /* - * Write the page and log it. It might seem that an immediate sync would - * be sufficient to guarantee that the file exists on disk, but recovery - * itself might remove it while replaying, for example, an - * XLOG_DBASE_CREATE* or XLOG_TBLSPC_CREATE record. Therefore, we need - * this even when wal_level=minimal. + * Initalize the metapage. + * + * Regular index build bypasses the buffer manager and uses smgr functions + * directly, with an smgrimmedsync() call at the end. That makes sense + * when the index is large, but for an empty index, it's better to use the + * buffer cache to avoid the smgrimmedsync(). */ - PageSetChecksumInplace(metapage, BTREE_METAPAGE); - smgrwrite(RelationGetSmgr(index), INIT_FORKNUM, BTREE_METAPAGE, - metapage, true); - log_newpage(&RelationGetSmgr(index)->smgr_rlocator.locator, INIT_FORKNUM, - BTREE_METAPAGE, metapage, true); + metabuf = ReadBufferExtended(index, INIT_FORKNUM, P_NEW, RBM_NORMAL, NULL); + Assert(BufferGetBlockNumber(metabuf) == BTREE_METAPAGE); + _bt_lockbuf(index, metabuf, BT_WRITE); - /* - * An immediate sync is required even if we xlog'd the page, because the - * write did not go through shared_buffers and therefore a concurrent - * checkpoint may have moved the redo pointer past our xlog record. - */ - smgrimmedsync(RelationGetSmgr(index), INIT_FORKNUM); + START_CRIT_SECTION(); + + metapage = BufferGetPage(metabuf); + _bt_initmetapage(metapage, P_NONE, 0, _bt_allequalimage(index, false)); + MarkBufferDirty(metabuf); + log_newpage_buffer(metabuf, true); + + END_CRIT_SECTION(); + + _bt_unlockbuf(index, metabuf); + ReleaseBuffer(metabuf); } /* diff --git a/src/backend/access/spgist/spginsert.c b/src/backend/access/spgist/spginsert.c index 72d2e1551cd..4443f1918df 100644 --- a/src/backend/access/spgist/spginsert.c +++ b/src/backend/access/spgist/spginsert.c @@ -155,49 +155,42 @@ spgbuild(Relation heap, Relation index, IndexInfo *indexInfo) void spgbuildempty(Relation index) { - Page page; - - /* Construct metapage. */ - page = (Page) palloc_aligned(BLCKSZ, PG_IO_ALIGN_SIZE, 0); - SpGistInitMetapage(page); + Buffer metabuffer, + rootbuffer, + nullbuffer; /* - * Write the page and log it unconditionally. This is important - * particularly for indexes created on tablespaces and databases whose - * creation happened after the last redo pointer as recovery removes any - * of their existing content when the corresponding create records are - * replayed. + * Initialize the meta page and root pages */ - PageSetChecksumInplace(page, SPGIST_METAPAGE_BLKNO); - smgrwrite(RelationGetSmgr(index), INIT_FORKNUM, SPGIST_METAPAGE_BLKNO, - page, true); - log_newpage(&(RelationGetSmgr(index))->smgr_rlocator.locator, INIT_FORKNUM, - SPGIST_METAPAGE_BLKNO, page, true); - - /* Likewise for the root page. */ - SpGistInitPage(page, SPGIST_LEAF); - - PageSetChecksumInplace(page, SPGIST_ROOT_BLKNO); - smgrwrite(RelationGetSmgr(index), INIT_FORKNUM, SPGIST_ROOT_BLKNO, - page, true); - log_newpage(&(RelationGetSmgr(index))->smgr_rlocator.locator, INIT_FORKNUM, - SPGIST_ROOT_BLKNO, page, true); - - /* Likewise for the null-tuples root page. */ - SpGistInitPage(page, SPGIST_LEAF | SPGIST_NULLS); - - PageSetChecksumInplace(page, SPGIST_NULL_BLKNO); - smgrwrite(RelationGetSmgr(index), INIT_FORKNUM, SPGIST_NULL_BLKNO, - page, true); - log_newpage(&(RelationGetSmgr(index))->smgr_rlocator.locator, INIT_FORKNUM, - SPGIST_NULL_BLKNO, page, true); + metabuffer = ReadBufferExtended(index, INIT_FORKNUM, P_NEW, RBM_NORMAL, NULL); + LockBuffer(metabuffer, BUFFER_LOCK_EXCLUSIVE); + rootbuffer = ReadBufferExtended(index, INIT_FORKNUM, P_NEW, RBM_NORMAL, NULL); + LockBuffer(rootbuffer, BUFFER_LOCK_EXCLUSIVE); + nullbuffer = ReadBufferExtended(index, INIT_FORKNUM, P_NEW, RBM_NORMAL, NULL); + LockBuffer(nullbuffer, BUFFER_LOCK_EXCLUSIVE); - /* - * An immediate sync is required even if we xlog'd the pages, because the - * writes did not go through shared buffers and therefore a concurrent - * checkpoint may have moved the redo pointer past our xlog record. - */ - smgrimmedsync(RelationGetSmgr(index), INIT_FORKNUM); + Assert(BufferGetBlockNumber(metabuffer) == SPGIST_METAPAGE_BLKNO); + Assert(BufferGetBlockNumber(rootbuffer) == SPGIST_ROOT_BLKNO); + Assert(BufferGetBlockNumber(nullbuffer) == SPGIST_NULL_BLKNO); + + START_CRIT_SECTION(); + + SpGistInitMetapage(BufferGetPage(metabuffer)); + MarkBufferDirty(metabuffer); + SpGistInitBuffer(rootbuffer, SPGIST_LEAF); + MarkBufferDirty(rootbuffer); + SpGistInitBuffer(nullbuffer, SPGIST_LEAF | SPGIST_NULLS); + MarkBufferDirty(nullbuffer); + + log_newpage_buffer(metabuffer, true); + log_newpage_buffer(rootbuffer, true); + log_newpage_buffer(nullbuffer, true); + + END_CRIT_SECTION(); + + UnlockReleaseBuffer(metabuffer); + UnlockReleaseBuffer(rootbuffer); + UnlockReleaseBuffer(nullbuffer); } /* From c70114c7f264e957ddfbfa2055b432a3849003d2 Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Wed, 23 Aug 2023 18:08:40 +0300 Subject: [PATCH 121/317] Fix _bt_allequalimage() call within critical section. _bt_allequalimage() does complicated things, so it's not OK to call it in a critical section. Per buildfarm failure on 'prion', which uses -DRELCACHE_FORCE_RELEASE -DCATCACHE_FORCE_RELEASE options. Discussion: https://www.postgresql.org/message-id/6e5bbc08-cdfc-b2b3-9e23-1a914b9850a9@iki.fi Backpatch-through: 16, like commit ccadf73163 that introduced this --- src/backend/access/nbtree/nbtree.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/backend/access/nbtree/nbtree.c b/src/backend/access/nbtree/nbtree.c index ad07b80f758..62bc9917f13 100644 --- a/src/backend/access/nbtree/nbtree.c +++ b/src/backend/access/nbtree/nbtree.c @@ -151,6 +151,7 @@ bthandler(PG_FUNCTION_ARGS) void btbuildempty(Relation index) { + bool allequalimage = _bt_allequalimage(index, false); Buffer metabuf; Page metapage; @@ -169,7 +170,7 @@ btbuildempty(Relation index) START_CRIT_SECTION(); metapage = BufferGetPage(metabuf); - _bt_initmetapage(metapage, P_NONE, 0, _bt_allequalimage(index, false)); + _bt_initmetapage(metapage, P_NONE, 0, allequalimage); MarkBufferDirty(metabuf); log_newpage_buffer(metabuf, true); From 313095a9ff2e023df283188bf0f955c27e1eea09 Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Wed, 23 Aug 2023 12:27:29 -0700 Subject: [PATCH 122/317] ci: Don't specify amount of memory The number of CPUs is the cost-determining factor. Most instance types that run tests have more memory/core than what we specified, there's no real benefit in wasting that. Reviewed-by: Daniel Gustafsson Discussion: https://postgr.es/m/20230808021541.7lbzdefvma7qmn3w@awork3.anarazel.de Backpatch: 15-, where CI support was added --- .cirrus.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index 8203b2f90a6..ef9c504d249 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -149,7 +149,6 @@ task: image: family/pg-ci-freebsd-13 platform: freebsd cpu: $CPUS - memory: 4G disk: 50 sysinfo_script: | @@ -291,7 +290,6 @@ task: image: family/pg-ci-bullseye platform: linux cpu: $CPUS - memory: 4G ccache_cache: folder: ${CCACHE_DIR} @@ -558,7 +556,6 @@ task: image: family/pg-ci-windows-ci-vs-2019 platform: windows cpu: $CPUS - memory: 4G setup_additional_packages_script: | REM choco install -y --no-progress ... @@ -606,7 +603,6 @@ task: image: family/pg-ci-windows-ci-mingw64 platform: windows cpu: $CPUS - memory: 4G env: TEST_JOBS: 4 # higher concurrency causes occasional failures From 172b056bac97ba459441c6f9d67715ef1710a7cc Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Wed, 23 Aug 2023 12:27:40 -0700 Subject: [PATCH 123/317] ci: Move execution method of tasks into yaml templates This is done in preparation for making the compute resources for CI configurable. It also looks cleaner. Reviewed-by: Daniel Gustafsson Discussion: https://postgr.es/m/20230808021541.7lbzdefvma7qmn3w@awork3.anarazel.de Backpatch: 15-, where CI support was added --- .cirrus.yml | 85 +++++++++++++++++++++++++++++++++++------------------ 1 file changed, 57 insertions(+), 28 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index ef9c504d249..0fa3bc61d8a 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -9,6 +9,7 @@ env: GCP_PROJECT: pg-ci-images IMAGE_PROJECT: $GCP_PROJECT CONTAINER_REPO: us-docker.pkg.dev/${GCP_PROJECT}/ci + DISK_SIZE: 25 # The lower depth accelerates git clone. Use a bit of depth so that # concurrent tasks and retrying older jobs have a chance of working. @@ -28,6 +29,45 @@ env: PG_TEST_EXTRA: kerberos ldap ssl load_balance +# Define how to run various types of tasks. + +# VMs provided by cirrus-ci. Each user has a limited number of "free" credits +# for testing. +cirrus_community_vm_template: &cirrus_community_vm_template + compute_engine_instance: + image_project: $IMAGE_PROJECT + image: family/$IMAGE_FAMILY + platform: $PLATFORM + cpu: $CPUS + disk: $DISK_SIZE + + +default_linux_task_template: &linux_task_template + env: + PLATFORM: linux + <<: *cirrus_community_vm_template + + +default_freebsd_task_template: &freebsd_task_template + env: + PLATFORM: freebsd + <<: *cirrus_community_vm_template + + +default_windows_task_template: &windows_task_template + env: + PLATFORM: windows + <<: *cirrus_community_vm_template + + +# macos workers provided by cirrus-ci +default_macos_task_template: &macos_task_template + env: + PLATFORM: macos + macos_instance: + image: $IMAGE + + # What files to preserve in case tests fail on_failure_ac: &on_failure_ac log_artifacts: @@ -136,21 +176,18 @@ task: CPUS: 2 BUILD_JOBS: 3 TEST_JOBS: 3 + IMAGE_FAMILY: pg-ci-freebsd-13 + DISK_SIZE: 50 CCACHE_DIR: /tmp/ccache_dir CPPFLAGS: -DRELCACHE_FORCE_RELEASE -DCOPY_PARSE_PLAN_TREES -DWRITE_READ_PARSE_PLAN_TREES -DRAW_EXPRESSION_COVERAGE_TEST CFLAGS: -Og -ggdb + <<: *freebsd_task_template + depends_on: SanityCheck only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\nci-os-only:.*' || $CIRRUS_CHANGE_MESSAGE =~ '.*\nci-os-only:[^\n]*freebsd.*' - compute_engine_instance: - image_project: $IMAGE_PROJECT - image: family/pg-ci-freebsd-13 - platform: freebsd - cpu: $CPUS - disk: 50 - sysinfo_script: | id uname -a @@ -250,6 +287,7 @@ task: CPUS: 4 BUILD_JOBS: 4 TEST_JOBS: 8 # experimentally derived to be a decent choice + IMAGE_FAMILY: pg-ci-bullseye CCACHE_DIR: /tmp/ccache_dir DEBUGINFOD_URLS: "https://debuginfod.debian.net" @@ -282,15 +320,11 @@ task: LINUX_CONFIGURE_FEATURES: *LINUX_CONFIGURE_FEATURES LINUX_MESON_FEATURES: *LINUX_MESON_FEATURES + <<: *linux_task_template + depends_on: SanityCheck only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\nci-os-only:.*' || $CIRRUS_CHANGE_MESSAGE =~ '.*\nci-os-only:[^\n]*linux.*' - compute_engine_instance: - image_project: $IMAGE_PROJECT - image: family/pg-ci-bullseye - platform: linux - cpu: $CPUS - ccache_cache: folder: ${CCACHE_DIR} @@ -430,6 +464,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 CIRRUS_WORKING_DIR: ${HOME}/pgsql/ CCACHE_DIR: ${HOME}/ccache @@ -440,12 +475,11 @@ task: CFLAGS: -Og -ggdb CXXFLAGS: -Og -ggdb + <<: *macos_task_template + depends_on: SanityCheck only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\nci-os-only:.*' || $CIRRUS_CHANGE_MESSAGE =~ '.*\nci-os-only:[^\n]*(macos|darwin|osx).*' - macos_instance: - image: ghcr.io/cirruslabs/macos-ventura-base:latest - sysinfo_script: | id uname -a @@ -524,6 +558,7 @@ WINDOWS_ENVIRONMENT_BASE: &WINDOWS_ENVIRONMENT_BASE # Avoids port conflicts between concurrent tap test runs PG_TEST_USE_UNIX_SOCKETS: 1 PG_REGRESS_SOCK_DIR: "c:/cirrus/" + DISK_SIZE: 50 sysinfo_script: | chcp @@ -547,16 +582,13 @@ 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 depends_on: SanityCheck only_if: $CIRRUS_CHANGE_MESSAGE !=~ '.*\nci-os-only:.*' || $CIRRUS_CHANGE_MESSAGE =~ '.*\nci-os-only:[^\n]*windows.*' - compute_engine_instance: - image_project: $IMAGE_PROJECT - image: family/pg-ci-windows-ci-vs-2019 - platform: windows - cpu: $CPUS - setup_additional_packages_script: | REM choco install -y --no-progress ... @@ -598,12 +630,6 @@ task: # otherwise it'll be sorted before other tasks depends_on: SanityCheck - compute_engine_instance: - image_project: $IMAGE_PROJECT - image: family/pg-ci-windows-ci-mingw64 - platform: windows - cpu: $CPUS - env: TEST_JOBS: 4 # higher concurrency causes occasional failures CCACHE_DIR: C:/msys64/ccache @@ -617,6 +643,9 @@ 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 ccache_cache: folder: ${CCACHE_DIR} From c242e2ae53afad82e90199c026b593d54be635fb Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Wed, 23 Aug 2023 12:29:50 -0700 Subject: [PATCH 124/317] ci: Use VMs for SanityCheck and CompilerWarnings The main reason for this change is to reduce different ways of executing tasks, making it easier to use custom compute resources for cfbot. A secondary benefit is that the tasks seem slightly faster this way, apparently the increased startup overhead is outweighed by reduced runtime overhead. Reviewed-by: Daniel Gustafsson Discussion: https://postgr.es/m/20230808021541.7lbzdefvma7qmn3w@awork3.anarazel.de Backpatch: 15-, where CI support was added --- .cirrus.yml | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index 0fa3bc61d8a..d350db7f41e 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -110,15 +110,14 @@ task: CPUS: 4 BUILD_JOBS: 8 TEST_JOBS: 8 + IMAGE_FAMILY: pg-ci-bullseye CCACHE_DIR: ${CIRRUS_WORKING_DIR}/ccache_dir # no options enabled, should be small CCACHE_MAXSIZE: "150M" - # Container starts up quickly, but is slower at runtime, particularly for - # tests. Good for the briefly running sanity check. - container: - image: $CONTAINER_REPO/linux_debian_bullseye_ci:latest - cpu: $CPUS + # While containers would start up a bit quicker, building is a bit + # slower. This way we don't have to maintain a container image. + <<: *linux_task_template ccache_cache: folder: $CCACHE_DIR @@ -691,6 +690,7 @@ task: env: CPUS: 4 BUILD_JOBS: 4 + IMAGE_FAMILY: pg-ci-bullseye # Use larger ccache cache, as this task compiles with multiple compilers / # flag combinations @@ -700,9 +700,7 @@ task: LINUX_CONFIGURE_FEATURES: *LINUX_CONFIGURE_FEATURES LINUX_MESON_FEATURES: *LINUX_MESON_FEATURES - container: - image: $CONTAINER_REPO/linux_debian_bullseye_ci:latest - cpu: $CPUS + <<: *linux_task_template sysinfo_script: | id From bfb1818b5cabf7c471de0401db874fec266de398 Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Wed, 23 Aug 2023 15:15:28 -0700 Subject: [PATCH 125/317] ci: Prepare to make compute resources for CI configurable cirrus-ci will soon restrict the amount of free resources every user gets (as have many other CI providers). For most users of CI that should not be an issue. But e.g. for cfbot it will be an issue. To allow configuring different resources on a per-repository basis, introduce infrastructure for overriding the task execution environment. Unfortunately this is not entirely trivial, as yaml anchors have to be defined before their use, and cirrus-ci only allows injecting additional contents at the end of .cirrus.yml. To deal with that, move the definition of the CI tasks to .cirrus.tasks.yml. The main .cirrus.yml is loaded first, then, if defined, the file referenced by the REPO_CI_CONFIG_GIT_URL variable, will be added, followed by the contents of .cirrus.tasks.yml. That allows REPO_CI_CONFIG_GIT_URL to override the yaml anchors defined in .cirrus.yml. Unfortunately git's default merge / rebase strategy does not handle copied files, just renamed ones. To avoid painful rebasing over this change, this commit just renames .cirrus.yml to .cirrus.tasks.yml, without adding a new .cirrus.yml. That's done in the followup commit, which moves the relevant portion of .cirrus.tasks.yml to .cirrus.yml. Until that is done, REPO_CI_CONFIG_GIT_URL does not fully work. The subsequent commit adds documentation for how to configure custom compute resources to src/tools/ci/README Reviewed-by: Daniel Gustafsson Reviewed-by: Nazir Bilal Yavuz Discussion: https://postgr.es/m/20230808021541.7lbzdefvma7qmn3w@awork3.anarazel.de Backpatch: 15-, where CI support was added --- .cirrus.star | 63 ++++++++++++++++++++++++++++++++ .cirrus.yml => .cirrus.tasks.yml | 0 2 files changed, 63 insertions(+) create mode 100644 .cirrus.star rename .cirrus.yml => .cirrus.tasks.yml (100%) diff --git a/.cirrus.star b/.cirrus.star new file mode 100644 index 00000000000..d2d6ceca207 --- /dev/null +++ b/.cirrus.star @@ -0,0 +1,63 @@ +"""Additional CI configuration, using the starlark language. See +https://cirrus-ci.org/guide/programming-tasks/#introduction-into-starlark + +See also the starlark specification at +https://github.com/bazelbuild/starlark/blob/master/spec.md + +See also .cirrus.yml and src/tools/ci/README +""" + +load("cirrus", "env", "fs") + + +def main(): + """The main function is executed by cirrus-ci after loading .cirrus.yml and can + extend the CI definition further. + + As documented in .cirrus.yml, the final CI configuration is composed of + + 1) the contents of .cirrus.yml + + 2) if defined, the contents of the file referenced by the, repository + level, REPO_CI_CONFIG_GIT_URL variable (see + https://cirrus-ci.org/guide/programming-tasks/#fs for the accepted + format) + + 3) .cirrus.tasks.yml + """ + + output = "" + + # 1) is evaluated implicitly + + # Add 2) + repo_config_url = env.get("REPO_CI_CONFIG_GIT_URL") + if repo_config_url != None: + print("loading additional configuration from \"{}\"".format(repo_config_url)) + output += config_from(repo_config_url) + else: + output += "\n# REPO_CI_CONFIG_URL was not set\n" + + # Add 3) + output += config_from(".cirrus.tasks.yml") + + return output + + +def config_from(config_src): + """return contents of config file `config_src`, surrounded by markers + indicating start / end of the the included file + """ + + config_contents = fs.read(config_src) + config_fmt = """ + +### +# contents of config file `{0}` start here +### +{1} +### +# contents of config file `{0}` end here +### +""" + return config_fmt.format(config_src, config_contents) diff --git a/.cirrus.yml b/.cirrus.tasks.yml similarity index 100% rename from .cirrus.yml rename to .cirrus.tasks.yml From 95e6f551bf7b626180c180df02c891c24f114ba7 Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Wed, 23 Aug 2023 15:15:28 -0700 Subject: [PATCH 126/317] ci: Make compute resources for CI configurable See prior commit for an explanation for the goal of the change and why it had to be split into two commits. Reviewed-by: Daniel Gustafsson Reviewed-by: Nazir Bilal Yavuz Discussion: https://postgr.es/m/20230808021541.7lbzdefvma7qmn3w@awork3.anarazel.de Backpatch: 15-, where CI support was added --- .cirrus.tasks.yml | 45 ---------------------------- .cirrus.yml | 73 +++++++++++++++++++++++++++++++++++++++++++++ src/tools/ci/README | 17 +++++++++++ 3 files changed, 90 insertions(+), 45 deletions(-) create mode 100644 .cirrus.yml diff --git a/.cirrus.tasks.yml b/.cirrus.tasks.yml index d350db7f41e..e74cfa9bb52 100644 --- a/.cirrus.tasks.yml +++ b/.cirrus.tasks.yml @@ -5,12 +5,6 @@ env: - # Source of images / containers - GCP_PROJECT: pg-ci-images - IMAGE_PROJECT: $GCP_PROJECT - CONTAINER_REPO: us-docker.pkg.dev/${GCP_PROJECT}/ci - DISK_SIZE: 25 - # The lower depth accelerates git clone. Use a bit of depth so that # concurrent tasks and retrying older jobs have a chance of working. CIRRUS_CLONE_DEPTH: 500 @@ -29,45 +23,6 @@ env: PG_TEST_EXTRA: kerberos ldap ssl load_balance -# Define how to run various types of tasks. - -# VMs provided by cirrus-ci. Each user has a limited number of "free" credits -# for testing. -cirrus_community_vm_template: &cirrus_community_vm_template - compute_engine_instance: - image_project: $IMAGE_PROJECT - image: family/$IMAGE_FAMILY - platform: $PLATFORM - cpu: $CPUS - disk: $DISK_SIZE - - -default_linux_task_template: &linux_task_template - env: - PLATFORM: linux - <<: *cirrus_community_vm_template - - -default_freebsd_task_template: &freebsd_task_template - env: - PLATFORM: freebsd - <<: *cirrus_community_vm_template - - -default_windows_task_template: &windows_task_template - env: - PLATFORM: windows - <<: *cirrus_community_vm_template - - -# macos workers provided by cirrus-ci -default_macos_task_template: &macos_task_template - env: - PLATFORM: macos - macos_instance: - image: $IMAGE - - # What files to preserve in case tests fail on_failure_ac: &on_failure_ac log_artifacts: diff --git a/.cirrus.yml b/.cirrus.yml new file mode 100644 index 00000000000..a83129ae46d --- /dev/null +++ b/.cirrus.yml @@ -0,0 +1,73 @@ +# CI configuration file for CI utilizing cirrus-ci.org +# +# For instructions on how to enable the CI integration in a repository and +# further details, see src/tools/ci/README +# +# +# The actual CI tasks are defined in .cirrus.tasks.yml. To make the compute +# resources for CI configurable on a repository level, the "final" CI +# configuration is the combination of: +# +# 1) the contents of this file +# +# 2) if defined, the contents of the file referenced by the, repository +# level, REPO_CI_CONFIG_GIT_URL variable (see +# https://cirrus-ci.org/guide/programming-tasks/#fs for the accepted +# format) +# +# 3) .cirrus.tasks.yml +# +# This composition is done by .cirrus.star + + +env: + # Source of images / containers + GCP_PROJECT: pg-ci-images + IMAGE_PROJECT: $GCP_PROJECT + CONTAINER_REPO: us-docker.pkg.dev/${GCP_PROJECT}/ci + DISK_SIZE: 25 + + +# Define how to run various types of tasks. + +# VMs provided by cirrus-ci. Each user has a limited number of "free" credits +# for testing. +cirrus_community_vm_template: &cirrus_community_vm_template + compute_engine_instance: + image_project: $IMAGE_PROJECT + image: family/$IMAGE_FAMILY + platform: $PLATFORM + cpu: $CPUS + disk: $DISK_SIZE + + +default_linux_task_template: &linux_task_template + env: + PLATFORM: linux + <<: *cirrus_community_vm_template + + +default_freebsd_task_template: &freebsd_task_template + env: + PLATFORM: freebsd + <<: *cirrus_community_vm_template + + +default_windows_task_template: &windows_task_template + env: + PLATFORM: windows + <<: *cirrus_community_vm_template + + +# macos workers provided by cirrus-ci +default_macos_task_template: &macos_task_template + env: + PLATFORM: macos + macos_instance: + image: $IMAGE + + +# Contents of REPO_CI_CONFIG_GIT_URL, if defined, will be inserted here, +# followed by the contents .cirrus.tasks.yml. This allows +# REPO_CI_CONFIG_GIT_URL to override how the task types above will be +# executed, e.g. using a custom compute account or permanent workers. diff --git a/src/tools/ci/README b/src/tools/ci/README index 80d01939e84..30ddd200c96 100644 --- a/src/tools/ci/README +++ b/src/tools/ci/README @@ -65,3 +65,20 @@ messages. Currently the following controls are available: Only runs CI on operating systems specified. This can be useful when addressing portability issues affecting only a subset of platforms. + + +Using custom compute resources for CI +===================================== + +When running a lot of tests in a repository, cirrus-ci's free credits do not +suffice. In those cases a repository can be configured to use other +infrastructure for running tests. To do so, the REPO_CI_CONFIG_GIT_URL +variable can be configured for the repository in the cirrus-ci web interface, +at https://cirrus-ci.com/github/. The file referenced +(see https://cirrus-ci.org/guide/programming-tasks/#fs) by the variable can +overwrite the default execution method for different operating systems, +defined in .cirrus.yml, by redefining the relevant yaml anchors. + +Custom compute resources can be provided using +- https://cirrus-ci.org/guide/supported-computing-services/ +- https://cirrus-ci.org/guide/persistent-workers/ From 9919431543c91a4d4791fb495e012f766fb1d86d Mon Sep 17 00:00:00 2001 From: David Rowley Date: Thu, 24 Aug 2023 10:33:48 +1200 Subject: [PATCH 127/317] Meson: check for pg_config_paths.h left over from make The meson build scripts attempt to find files left over from configure and fail, mentioning that "make maintainer-clean" should be run to remove these. This seems to have been done for files generated from configure. pg_config_paths.h is generated during the actual make build, so seems to have been missed. This would result in compilation using the wrong pg_config_paths.h file. Here we just add this file to generated_sources_ac so that meson errors out if pg_config_paths.h exists. Likely this wasn't noticed before because make maintainer-clean will remove pg_config_paths.h, however, people using the MSVC build scripts are more likely to run into issues and they have to manually remove these files and pg_config_paths.h wasn't listed as a conflicting file to remove in the meson log. Backpatch-through: 16, where meson support was added Discussion: https://postgr.es/m/CAApHDvqjYOxZfmLKAOWKFEE7LOr9_E6UA6YNmx9r8nxStcS3gg@mail.gmail.com --- src/port/meson.build | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/port/meson.build b/src/port/meson.build index 24416b9bfc0..0a16f1c7f5f 100644 --- a/src/port/meson.build +++ b/src/port/meson.build @@ -192,3 +192,6 @@ endforeach pgport_srv = pgport['_srv'] pgport_static = pgport[''] pgport_shlib = pgport['_shlib'] + +# autoconf generates the file there, ensure we get a conflict +generated_sources_ac += {'src/port': ['pg_config_paths.h']} From 695acb123e59fd6ec2ed8ea8b4c9fb28e1fdfacd Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Wed, 23 Aug 2023 21:33:03 -0400 Subject: [PATCH 128/317] do: PG 16 relnotes: clarify last seq/index view names Backpatch-through: 16 only --- doc/src/sgml/release-16.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/release-16.sgml b/doc/src/sgml/release-16.sgml index db889127fea..488887c72bd 100644 --- a/doc/src/sgml/release-16.sgml +++ b/doc/src/sgml/release-16.sgml @@ -683,9 +683,9 @@ Author: Andres Freund This information appears in pg_stat_all_tables + linkend="pg-stat-all-tables-view">pg_stat_*_tables and pg_stat_all_indexes. + linkend="monitoring-pg-stat-all-indexes-view">pg_stat_*_indexes. From 1ce76a2dc545cd1d34074057c2e7ab8deb8e0668 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Thu, 24 Aug 2023 08:23:43 +0200 Subject: [PATCH 129/317] pg_upgrade: Improve one log message The parenthesized plural is unnecessary here and inconsistent with nearby similar messages. --- src/bin/pg_upgrade/check.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/pg_upgrade/check.c b/src/bin/pg_upgrade/check.c index 64024e3b9ec..5de13bdfe07 100644 --- a/src/bin/pg_upgrade/check.c +++ b/src/bin/pg_upgrade/check.c @@ -1133,7 +1133,7 @@ check_for_composite_data_type_usage(ClusterInfo *cluster) if (found) { pg_log(PG_REPORT, "fatal"); - pg_fatal("Your installation contains system-defined composite type(s) in user tables.\n" + pg_fatal("Your installation contains system-defined composite types in user tables.\n" "These type OIDs are not stable across PostgreSQL versions,\n" "so this cluster cannot currently be upgraded. You can\n" "drop the problem columns and restart the upgrade.\n" From 8e1c8298e95da08a104cfd1ee242a48632dc43cb Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Thu, 24 Aug 2023 10:24:38 +0200 Subject: [PATCH 130/317] Fix translation markers Conditionals cannot be inside gettext trigger functions, they must be applied outside. --- src/backend/parser/parse_expr.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c index 43fd288e1ee..f1e2d65dc7d 100644 --- a/src/backend/parser/parse_expr.c +++ b/src/backend/parser/parse_expr.c @@ -3452,9 +3452,9 @@ transformJsonValueExpr(ParseState *pstate, const char *constructName, if (exprtype != BYTEAOID && typcategory != TYPCATEGORY_STRING) ereport(ERROR, errcode(ERRCODE_DATATYPE_MISMATCH), - errmsg(ve->format->format_type == JS_FORMAT_DEFAULT ? - "cannot use non-string types with implicit FORMAT JSON clause" : - "cannot use non-string types with explicit FORMAT JSON clause"), + ve->format->format_type == JS_FORMAT_DEFAULT ? + errmsg("cannot use non-string types with implicit FORMAT JSON clause") : + errmsg("cannot use non-string types with explicit FORMAT JSON clause"), parser_errposition(pstate, ve->format->location >= 0 ? ve->format->location : location)); From 2a8f8365a6b009886e2a7d7f71c8ae7c64ec6ca0 Mon Sep 17 00:00:00 2001 From: Amit Kapila Date: Thu, 24 Aug 2023 14:51:57 +0530 Subject: [PATCH 131/317] Fix the error message when failing to restore the snapshot. The SnapBuildRestoreContents() used a const value in the error message to indicate the size in bytes it was expecting to read from the serialized snapshot file. Fix it by reporting the size that was actually passed. Author: Hou Zhijie Reviewed-by: Amit Kapila Backpatch-through: 16 Discussion: http://postgr.es/m/OS0PR01MB5716D408364F7DF32221C08D941FA@OS0PR01MB5716.jpnprd01.prod.outlook.com --- src/backend/replication/logical/snapbuild.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/replication/logical/snapbuild.c b/src/backend/replication/logical/snapbuild.c index e9b672ead28..7a7aba33e16 100644 --- a/src/backend/replication/logical/snapbuild.c +++ b/src/backend/replication/logical/snapbuild.c @@ -2034,7 +2034,7 @@ SnapBuildRestoreContents(int fd, char *dest, Size size, const char *path) ereport(ERROR, (errcode(ERRCODE_DATA_CORRUPTED), errmsg("could not read file \"%s\": read %d of %zu", - path, readBytes, sizeof(SnapBuild)))); + path, readBytes, size))); } } From f9fd05bd246be77f9464a5968e70e4a0b717df3a Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Tue, 22 Aug 2023 14:12:45 +0200 Subject: [PATCH 132/317] Rename hook functions for debug_io_direct to match variable name. Commit 319bae9a renamed the GUC. Rename the check and assign functions to match, and alphabetize. Back-patch to 16. Author: Peter Eisentraut Discussion: https://postgr.es/m/2769341e-fa28-c2ee-3e4b-53fdcaaf2271%40eisentraut.org --- src/backend/storage/file/fd.c | 6 +++--- src/backend/utils/misc/guc_tables.c | 6 +++--- src/include/utils/guc_hooks.h | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/backend/storage/file/fd.c b/src/backend/storage/file/fd.c index 3c2a2fbef73..16b3e8f9058 100644 --- a/src/backend/storage/file/fd.c +++ b/src/backend/storage/file/fd.c @@ -3886,7 +3886,7 @@ data_sync_elevel(int elevel) } bool -check_io_direct(char **newval, void **extra, GucSource source) +check_debug_io_direct(char **newval, void **extra, GucSource source) { bool result = true; int flags; @@ -3960,7 +3960,7 @@ check_io_direct(char **newval, void **extra, GucSource source) if (!result) return result; - /* Save the flags in *extra, for use by assign_io_direct */ + /* Save the flags in *extra, for use by assign_debug_io_direct */ *extra = guc_malloc(ERROR, sizeof(int)); *((int *) *extra) = flags; @@ -3968,7 +3968,7 @@ check_io_direct(char **newval, void **extra, GucSource source) } extern void -assign_io_direct(const char *newval, void *extra) +assign_debug_io_direct(const char *newval, void *extra) { int *flags = (int *) extra; diff --git a/src/backend/utils/misc/guc_tables.c b/src/backend/utils/misc/guc_tables.c index 69dec74d7b2..3cebbace1b3 100644 --- a/src/backend/utils/misc/guc_tables.c +++ b/src/backend/utils/misc/guc_tables.c @@ -571,7 +571,7 @@ static char *datestyle_string; static char *server_encoding_string; static char *server_version_string; static int server_version_num; -static char *io_direct_string; +static char *debug_io_direct_string; #ifdef HAVE_SYSLOG #define DEFAULT_SYSLOG_FACILITY LOG_LOCAL0 @@ -4562,9 +4562,9 @@ struct config_string ConfigureNamesString[] = NULL, GUC_LIST_INPUT | GUC_NOT_IN_SAMPLE }, - &io_direct_string, + &debug_io_direct_string, "", - check_io_direct, assign_io_direct, NULL + check_debug_io_direct, assign_debug_io_direct, NULL }, /* End-of-list marker */ diff --git a/src/include/utils/guc_hooks.h b/src/include/utils/guc_hooks.h index 1464b2ba13b..738ba6682ff 100644 --- a/src/include/utils/guc_hooks.h +++ b/src/include/utils/guc_hooks.h @@ -49,6 +49,8 @@ extern bool check_cluster_name(char **newval, void **extra, GucSource source); extern const char *show_data_directory_mode(void); extern bool check_datestyle(char **newval, void **extra, GucSource source); extern void assign_datestyle(const char *newval, void *extra); +extern bool check_debug_io_direct(char **newval, void **extra, GucSource source); +extern void assign_debug_io_direct(const char *newval, void *extra); extern bool check_default_table_access_method(char **newval, void **extra, GucSource source); extern bool check_default_tablespace(char **newval, void **extra, @@ -160,8 +162,6 @@ extern bool check_wal_consistency_checking(char **newval, void **extra, GucSource source); extern void assign_wal_consistency_checking(const char *newval, void *extra); extern void assign_xlog_sync_method(int new_sync_method, void *extra); -extern bool check_io_direct(char **newval, void **extra, GucSource source); -extern void assign_io_direct(const char *newval, void *extra); /* Babelfish-specific hook for updating GUCs */ typedef void (*guc_newval_hook_type) (const char *guc, bool boolVal, const char *strVal, int intVal); From f5f48b51cf2a5200e80167247ec6e166c29c92e3 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Thu, 24 Aug 2023 13:59:40 +0200 Subject: [PATCH 133/317] Update DECLARE_INDEX documentation Update source code comment changes belonging to the changes in 6a6389a08b. Discussion: https://www.postgresql.org/message-id/flat/75ae5875-3abc-dafc-8aec-73247ed41cde@eisentraut.org --- src/include/catalog/genbki.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/include/catalog/genbki.h b/src/include/catalog/genbki.h index 50518cbbf53..c42ba0cea50 100644 --- a/src/include/catalog/genbki.h +++ b/src/include/catalog/genbki.h @@ -71,12 +71,13 @@ * DECLARE_UNIQUE_INDEX_PKEY. ("PKEY" marks the index as being the catalog's * primary key; currently this is only cosmetically different from a regular * unique index. By convention, we usually make a catalog's OID column its - * pkey, if it has one.) The first two arguments are the index's name and - * OID, the rest is much like a standard 'create index' SQL command. + * pkey, if it has one.) * - * For each index, we also provide a #define for its OID. References to - * the index in the C code should always use these #defines, not the actual - * index name (much less the numeric OID). + * The first two arguments are the index's name and OID. The third argument + * is the name of a #define to generate for its OID. References to the index + * in the C code should always use these #defines, not the actual index name + * (much less the numeric OID). The rest is much like a standard 'create + * index' SQL command. * * The macro definitions are just to keep the C compiler from spitting up. */ From 937d5e9343ed5e3ad74a31d94b1fbfc6770cdae6 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Thu, 24 Aug 2023 14:22:02 +0200 Subject: [PATCH 134/317] Fix lack of message pluralization --- src/backend/replication/slot.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/backend/replication/slot.c b/src/backend/replication/slot.c index 1dc27264f61..bb09c4010f8 100644 --- a/src/backend/replication/slot.c +++ b/src/backend/replication/slot.c @@ -1263,11 +1263,18 @@ ReportSlotInvalidation(ReplicationSlotInvalidationCause cause, switch (cause) { case RS_INVAL_WAL_REMOVED: - hint = true; - appendStringInfo(&err_detail, _("The slot's restart_lsn %X/%X exceeds the limit by %llu bytes."), - LSN_FORMAT_ARGS(restart_lsn), - (unsigned long long) (oldestLSN - restart_lsn)); - break; + { + unsigned long long ex = oldestLSN - restart_lsn; + + hint = true; + appendStringInfo(&err_detail, + ngettext("The slot's restart_lsn %X/%X exceeds the limit by %llu byte.", + "The slot's restart_lsn %X/%X exceeds the limit by %llu bytes.", + ex), + LSN_FORMAT_ARGS(restart_lsn), + ex); + break; + } case RS_INVAL_HORIZON: appendStringInfo(&err_detail, _("The slot conflicted with xid horizon %u."), snapshotConflictHorizon); From 8937b33dc8858d846d6c30b1f3dedfe87003e579 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 24 Aug 2023 12:02:40 -0400 Subject: [PATCH 135/317] Avoid unnecessary plancache revalidation of utility statements. Revalidation of a plancache entry (after a cache invalidation event) requires acquiring a snapshot. Normally that is harmless, but not if the cached statement is one that needs to run without acquiring a snapshot. We were already aware of that for TransactionStmts, but for some reason hadn't extrapolated to the other statements that PlannedStmtRequiresSnapshot() knows mustn't set a snapshot. This can lead to unexpected failures of commands such as SET TRANSACTION ISOLATION LEVEL. We can fix it in the same way, by excluding those command types from revalidation. However, we can do even better than that: there is no need to revalidate for any statement type for which parse analysis, rewrite, and plan steps do nothing interesting, which is nearly all utility commands. To mechanize this, invent a parser function stmt_requires_parse_analysis() that tells whether parse analysis does anything beyond wrapping a CMD_UTILITY Query around the raw parse tree. If that's what it does, then rewrite and plan will just skip the Query, so that it is not possible for the same raw parse tree to produce a different plan tree after cache invalidation. stmt_requires_parse_analysis() is basically equivalent to the existing function analyze_requires_snapshot(), except that for obscure reasons that function omits ReturnStmt and CallStmt. It is unclear whether those were oversights or intentional. I have not been able to demonstrate a bug from not acquiring a snapshot while analyzing these commands, but at best it seems mighty fragile. It seems safer to acquire a snapshot for parse analysis of these commands too, which allows making stmt_requires_parse_analysis and analyze_requires_snapshot equivalent. In passing this fixes a second bug, which is that ResetPlanCache would exclude ReturnStmts and CallStmts from revalidation. That's surely *not* safe, since they contain parsable expressions. Per bug #18059 from Pavel Kulakov. Back-patch to all supported branches. Discussion: https://postgr.es/m/18059-79c692f036b25346@postgresql.org --- src/backend/parser/analyze.c | 52 +++++++++++++-- src/backend/utils/cache/plancache.c | 69 ++++++++------------ src/include/parser/analyze.h | 1 + src/pl/plpgsql/src/expected/plpgsql_call.out | 17 +++++ src/pl/plpgsql/src/sql/plpgsql_call.sql | 18 +++++ 5 files changed, 108 insertions(+), 49 deletions(-) diff --git a/src/backend/parser/analyze.c b/src/backend/parser/analyze.c index abb45ac247a..9f03bc7fa51 100644 --- a/src/backend/parser/analyze.c +++ b/src/backend/parser/analyze.c @@ -376,6 +376,11 @@ transformStmt(ParseState *pstate, Node *parseTree) } #endif /* RAW_EXPRESSION_COVERAGE_TEST */ + /* + * Caution: when changing the set of statement types that have non-default + * processing here, see also stmt_requires_parse_analysis() and + * analyze_requires_snapshot(). + */ switch (nodeTag(parseTree)) { /* @@ -462,14 +467,22 @@ transformStmt(ParseState *pstate, Node *parseTree) } /* - * analyze_requires_snapshot - * Returns true if a snapshot must be set before doing parse analysis - * on the given raw parse tree. + * stmt_requires_parse_analysis + * Returns true if parse analysis will do anything non-trivial + * with the given raw parse tree. + * + * Generally, this should return true for any statement type for which + * transformStmt() does more than wrap a CMD_UTILITY Query around it. + * When it returns false, the caller can assume that there is no situation + * in which parse analysis of the raw statement could need to be re-done. * - * Classification here should match transformStmt(). + * Currently, since the rewriter and planner do nothing for CMD_UTILITY + * Queries, a false result means that the entire parse analysis/rewrite/plan + * pipeline will never need to be re-done. If that ever changes, callers + * will likely need adjustment. */ bool -analyze_requires_snapshot(RawStmt *parseTree) +stmt_requires_parse_analysis(RawStmt *parseTree) { bool result; @@ -483,6 +496,7 @@ analyze_requires_snapshot(RawStmt *parseTree) case T_UpdateStmt: case T_MergeStmt: case T_SelectStmt: + case T_ReturnStmt: case T_PLAssignStmt: result = true; break; @@ -493,12 +507,12 @@ analyze_requires_snapshot(RawStmt *parseTree) case T_DeclareCursorStmt: case T_ExplainStmt: case T_CreateTableAsStmt: - /* yes, because we must analyze the contained statement */ + case T_CallStmt: result = true; break; default: - /* other utility statements don't have any real parse analysis */ + /* all other statements just get wrapped in a CMD_UTILITY Query */ result = false; break; } @@ -506,6 +520,30 @@ analyze_requires_snapshot(RawStmt *parseTree) return result; } +/* + * analyze_requires_snapshot + * Returns true if a snapshot must be set before doing parse analysis + * on the given raw parse tree. + */ +bool +analyze_requires_snapshot(RawStmt *parseTree) +{ + /* + * Currently, this should return true in exactly the same cases that + * stmt_requires_parse_analysis() does, so we just invoke that function + * rather than duplicating it. We keep the two entry points separate for + * clarity of callers, since from the callers' standpoint these are + * different conditions. + * + * While there may someday be a statement type for which transformStmt() + * does something nontrivial and yet no snapshot is needed for that + * processing, it seems likely that making such a choice would be fragile. + * If you want to install an exception, document the reasoning for it in a + * comment. + */ + return stmt_requires_parse_analysis(parseTree); +} + /* * transformDeleteStmt - * transforms a Delete Statement diff --git a/src/backend/utils/cache/plancache.c b/src/backend/utils/cache/plancache.c index 32f41f1a04b..34caea3823b 100644 --- a/src/backend/utils/cache/plancache.c +++ b/src/backend/utils/cache/plancache.c @@ -77,13 +77,15 @@ /* * We must skip "overhead" operations that involve database access when the - * cached plan's subject statement is a transaction control command. - * For the convenience of postgres.c, treat empty statements as control - * commands too. + * cached plan's subject statement is a transaction control command or one + * that requires a snapshot not to be set yet (such as SET or LOCK). More + * generally, statements that do not require parse analysis/rewrite/plan + * activity never need to be revalidated, so we can treat them all like that. + * For the convenience of postgres.c, treat empty statements that way too. */ -#define IsTransactionStmtPlan(plansource) \ - ((plansource)->raw_parse_tree == NULL || \ - IsA((plansource)->raw_parse_tree->stmt, TransactionStmt)) +#define StmtPlanRequiresRevalidation(plansource) \ + ((plansource)->raw_parse_tree != NULL && \ + stmt_requires_parse_analysis((plansource)->raw_parse_tree)) plansource_complete_hook_type plansource_complete_hook = NULL; plansource_revalidate_hook_type plansource_revalidate_hook = NULL; @@ -388,13 +390,13 @@ CompleteCachedPlan(CachedPlanSource *plansource, plansource->query_context = querytree_context; plansource->query_list = querytree_list; - if (!plansource->is_oneshot && !IsTransactionStmtPlan(plansource)) + if (!plansource->is_oneshot && StmtPlanRequiresRevalidation(plansource)) { /* * Use the planner machinery to extract dependencies. Data is saved * in query_context. (We assume that not a lot of extra cruft is * created by this call.) We can skip this for one-shot plans, and - * transaction control commands have no such dependencies anyway. + * plans not needing revalidation have no such dependencies anyway. */ extract_query_dependencies((Node *) querytree_list, &plansource->relationOids, @@ -576,11 +578,11 @@ RevalidateCachedQuery(CachedPlanSource *plansource, /* * For one-shot plans, we do not support revalidation checking; it's * assumed the query is parsed, planned, and executed in one transaction, - * so that no lock re-acquisition is necessary. Also, there is never any - * need to revalidate plans for transaction control commands (and we - * mustn't risk any catalog accesses when handling those). + * so that no lock re-acquisition is necessary. Also, if the statement + * type can't require revalidation, we needn't do anything (and we mustn't + * risk catalog accesses when handling, eg, transaction control commands). */ - if (plansource->is_oneshot || IsTransactionStmtPlan(plansource)) + if (plansource->is_oneshot || !StmtPlanRequiresRevalidation(plansource)) { Assert(plansource->is_valid); return NIL; @@ -1046,8 +1048,8 @@ choose_custom_plan(CachedPlanSource *plansource, ParamListInfo boundParams) /* Otherwise, never any point in a custom plan if there's no parameters */ if (boundParams == NULL) return false; - /* ... nor for transaction control statements */ - if (IsTransactionStmtPlan(plansource)) + /* ... nor when planning would be a no-op */ + if (!StmtPlanRequiresRevalidation(plansource)) return false; /* Let settings force the decision */ @@ -1991,8 +1993,8 @@ PlanCacheRelCallback(Datum arg, Oid relid) if (!plansource->is_valid) continue; - /* Never invalidate transaction control commands */ - if (IsTransactionStmtPlan(plansource)) + /* Never invalidate if parse/plan would be a no-op anyway */ + if (!StmtPlanRequiresRevalidation(plansource)) continue; /* @@ -2076,8 +2078,8 @@ PlanCacheObjectCallback(Datum arg, int cacheid, uint32 hashvalue) if (!plansource->is_valid) continue; - /* Never invalidate transaction control commands */ - if (IsTransactionStmtPlan(plansource)) + /* Never invalidate if parse/plan would be a no-op anyway */ + if (!StmtPlanRequiresRevalidation(plansource)) continue; /* @@ -2186,7 +2188,6 @@ ResetPlanCache(void) { CachedPlanSource *plansource = dlist_container(CachedPlanSource, node, iter.cur); - ListCell *lc; Assert(plansource->magic == CACHEDPLANSOURCE_MAGIC); @@ -2198,32 +2199,16 @@ ResetPlanCache(void) * We *must not* mark transaction control statements as invalid, * particularly not ROLLBACK, because they may need to be executed in * aborted transactions when we can't revalidate them (cf bug #5269). + * In general there's no point in invalidating statements for which a + * new parse analysis/rewrite/plan cycle would certainly give the same + * results. */ - if (IsTransactionStmtPlan(plansource)) + if (!StmtPlanRequiresRevalidation(plansource)) continue; - /* - * In general there is no point in invalidating utility statements - * since they have no plans anyway. So invalidate it only if it - * contains at least one non-utility statement, or contains a utility - * statement that contains a pre-analyzed query (which could have - * dependencies.) - */ - foreach(lc, plansource->query_list) - { - Query *query = lfirst_node(Query, lc); - - if (query->commandType != CMD_UTILITY || - UtilityContainsQuery(query->utilityStmt)) - { - /* non-utility statement, so invalidate */ - plansource->is_valid = false; - if (plansource->gplan) - plansource->gplan->is_valid = false; - /* no need to look further */ - break; - } - } + plansource->is_valid = false; + if (plansource->gplan) + plansource->gplan->is_valid = false; } /* Likewise invalidate cached expressions */ diff --git a/src/include/parser/analyze.h b/src/include/parser/analyze.h index 8e7a96b94d9..2a54e302fd4 100644 --- a/src/include/parser/analyze.h +++ b/src/include/parser/analyze.h @@ -92,6 +92,7 @@ extern List *transformUpdateTargetList(ParseState *pstate, extern Query *transformTopLevelStmt(ParseState *pstate, RawStmt *parseTree); extern Query *transformStmt(ParseState *pstate, Node *parseTree); +extern bool stmt_requires_parse_analysis(RawStmt *parseTree); extern bool analyze_requires_snapshot(RawStmt *parseTree); extern const char *LCS_asString(LockClauseStrength strength); diff --git a/src/pl/plpgsql/src/expected/plpgsql_call.out b/src/pl/plpgsql/src/expected/plpgsql_call.out index 1ec6182a8da..7ab23c6a21f 100644 --- a/src/pl/plpgsql/src/expected/plpgsql_call.out +++ b/src/pl/plpgsql/src/expected/plpgsql_call.out @@ -35,6 +35,23 @@ SELECT * FROM test1; 55 (1 row) +-- Check that plan revalidation doesn't prevent setting transaction properties +-- (bug #18059). This test must include the first temp-object creation in +-- this script, or it won't exercise the bug scenario. Hence we put it early. +CREATE PROCEDURE test_proc3a() +LANGUAGE plpgsql +AS $$ +BEGIN + COMMIT; + SET TRANSACTION ISOLATION LEVEL REPEATABLE READ; + RAISE NOTICE 'done'; +END; +$$; +CALL test_proc3a(); +NOTICE: done +CREATE TEMP TABLE tt1(f1 int); +CALL test_proc3a(); +NOTICE: done -- nested CALL TRUNCATE TABLE test1; CREATE PROCEDURE test_proc4(y int) diff --git a/src/pl/plpgsql/src/sql/plpgsql_call.sql b/src/pl/plpgsql/src/sql/plpgsql_call.sql index 50283983480..14bbffa0b2e 100644 --- a/src/pl/plpgsql/src/sql/plpgsql_call.sql +++ b/src/pl/plpgsql/src/sql/plpgsql_call.sql @@ -38,6 +38,24 @@ CALL test_proc3(55); SELECT * FROM test1; +-- Check that plan revalidation doesn't prevent setting transaction properties +-- (bug #18059). This test must include the first temp-object creation in +-- this script, or it won't exercise the bug scenario. Hence we put it early. +CREATE PROCEDURE test_proc3a() +LANGUAGE plpgsql +AS $$ +BEGIN + COMMIT; + SET TRANSACTION ISOLATION LEVEL REPEATABLE READ; + RAISE NOTICE 'done'; +END; +$$; + +CALL test_proc3a(); +CREATE TEMP TABLE tt1(f1 int); +CALL test_proc3a(); + + -- nested CALL TRUNCATE TABLE test1; From de9dd58802aedd499b79ee71410a640b92141457 Mon Sep 17 00:00:00 2001 From: Nathan Bossart Date: Thu, 24 Aug 2023 10:13:31 -0700 Subject: [PATCH 136/317] pg_upgrade: Bump MESSAGE_WIDTH. Commit 7b378237aa added a status message to pg_upgrade that is 60 characters wide. Since the MESSAGE_WIDTH macro is currently set to 60, there is no space between this new status message and the "ok" or "failed" indicator appended when the step completes. To fix this problem, this commit increases the value of MESSAGE_WIDTH to 62. Suggested-by: Bharath Rupireddy Reviewed-by: Peter Eisentraut Discussion: https://postgr.es/m/CALj2ACVVvk1cYLtWVxHv%3DZ1Ubq%3DUES9fhKbUU4c9k4W%2BfEDnbw%40mail.gmail.com Backpatch-through: 16 --- src/bin/pg_upgrade/pg_upgrade.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/pg_upgrade/pg_upgrade.h b/src/bin/pg_upgrade/pg_upgrade.h index 3eea0139c74..7afa96716ec 100644 --- a/src/bin/pg_upgrade/pg_upgrade.h +++ b/src/bin/pg_upgrade/pg_upgrade.h @@ -22,7 +22,7 @@ #define MAX_STRING 1024 #define QUERY_ALLOC 8192 -#define MESSAGE_WIDTH 60 +#define MESSAGE_WIDTH 62 #define GET_MAJOR_VERSION(v) ((v) / 100) From c3e3bab56bbd802e301c7a2664f9e70b71b85749 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Thu, 24 Aug 2023 21:44:31 -0400 Subject: [PATCH 137/317] doc: PG 16 relnotes: fix initdb encoding/locale item Reported-by: Jeff Davis Discussion: https://postgr.es/m/c5369641862637c71a6c1c440ac7f122068ca4e7.camel@j-davis.com Backpatch-through: 16 only --- doc/src/sgml/release-16.sgml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/doc/src/sgml/release-16.sgml b/doc/src/sgml/release-16.sgml index 488887c72bd..ddd8bc3f3be 100644 --- a/doc/src/sgml/release-16.sgml +++ b/doc/src/sgml/release-16.sgml @@ -1566,15 +1566,12 @@ Author: Jeff Davis - Determine the ICU default locale from the - environment (Jeff Davis) + Determine the default encoding from the locale when using + ICU (Jeff Davis) - However, ICU doesn't - support the C locale so UTF-8 is used in such - cases. Previously the default was always UTF-8. + Previously the default was always UTF-8. From 274aa6835047fb9ca57633c327e6e754c5ccb68c Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Sun, 27 Aug 2023 20:27:32 +0200 Subject: [PATCH 138/317] Remove incorrect/duplicate name from list of acknowledgments Reported-by: Vik Fearing --- doc/src/sgml/release-16.sgml | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/src/sgml/release-16.sgml b/doc/src/sgml/release-16.sgml index ddd8bc3f3be..f2ee2146fa1 100644 --- a/doc/src/sgml/release-16.sgml +++ b/doc/src/sgml/release-16.sgml @@ -4200,7 +4200,6 @@ Author: Andres Freund Zheng Li Zhihong Yu Zhijie Hou - Zihong Yu Zongliang Quan Zuming Jiang From 01ce468d0daf57b17c359359eb3833f8af177e6f Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Sun, 27 Aug 2023 20:29:05 +0200 Subject: [PATCH 139/317] Remove incorrect name from release notes This name was incorrect in the underlying commit message. (The correct name is already listed.) Reported-by: Denis Laxalde --- doc/src/sgml/release-16.sgml | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/src/sgml/release-16.sgml b/doc/src/sgml/release-16.sgml index f2ee2146fa1..c9246c7f389 100644 --- a/doc/src/sgml/release-16.sgml +++ b/doc/src/sgml/release-16.sgml @@ -3965,7 +3965,6 @@ Author: Andres Freund Farias de Oliveira Florin Irion Franz-Josef Färber - Gabriele Varrazzo Garen Torikian Georgios Kokolatos Gilles Darold From 2410fbe86e49151607ef6ec6b5a16e178b8e9326 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Sun, 27 Aug 2023 20:30:53 +0200 Subject: [PATCH 140/317] Update list of acknowledgments in release notes current through a842ba407c --- doc/src/sgml/release-16.sgml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/src/sgml/release-16.sgml b/doc/src/sgml/release-16.sgml index c9246c7f389..21843618ee7 100644 --- a/doc/src/sgml/release-16.sgml +++ b/doc/src/sgml/release-16.sgml @@ -4050,6 +4050,7 @@ Author: Andres Freund Martin Kalcher Mary Xu Masahiko Sawada + Masahiro Ikeda Masao Fujii Mason Sharp Matheus Alcantara @@ -4070,6 +4071,7 @@ Author: Andres Freund Mikhail Gribkov Mingli Zhang Miroslav Bendik + Mitsuru Hinata Myo Wai Thant Naeem Akhter Naoki Okano @@ -4099,6 +4101,7 @@ Author: Andres Freund Paul Jungwirth Paul Ramsey Pavel Borisov + Pavel Kulakov Pavel Luzanov Pavel Stehule Peifeng Qiu From cc9e1726226bcd8f8af15466c4cc27900dc79ac3 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Mon, 28 Aug 2023 09:23:57 +0200 Subject: [PATCH 141/317] Translation updates Source-Git-URL: https://git.postgresql.org/git/pgtranslation/messages.git Source-Git-Hash: a58360c10bd5a0f0153fcf75d0b5291ac1acecb0 --- src/backend/po/LINGUAS | 2 +- src/backend/po/de.po | 376 +- src/backend/po/ka.po | 29246 ++++++++++++++++++++++++ src/backend/po/sv.po | 1049 +- src/backend/po/uk.po | 6 +- src/bin/initdb/po/pt_BR.po | 4 +- src/bin/pg_archivecleanup/po/pt_BR.po | 4 +- src/bin/pg_checksums/po/pt_BR.po | 4 +- src/bin/pg_controldata/po/pt_BR.po | 4 +- src/bin/pg_ctl/po/pt_BR.po | 8 +- src/bin/pg_dump/po/ka.po | 90 +- src/bin/pg_dump/po/sv.po | 76 +- src/bin/pg_resetwal/po/pt_BR.po | 4 +- src/bin/pg_upgrade/po/de.po | 6 +- src/bin/pg_upgrade/po/ka.po | 6 +- src/bin/pg_upgrade/po/sv.po | 26 +- src/bin/psql/po/ka.po | 964 +- src/bin/scripts/po/pt_BR.po | 4 +- 18 files changed, 30522 insertions(+), 1357 deletions(-) create mode 100644 src/backend/po/ka.po diff --git a/src/backend/po/LINGUAS b/src/backend/po/LINGUAS index a27ddd5ceaf..77f03dafcf6 100644 --- a/src/backend/po/LINGUAS +++ b/src/backend/po/LINGUAS @@ -1 +1 @@ -de es fr id it ja ko pl pt_BR ru sv tr uk zh_CN +de es fr id it ja ka ko pl pt_BR ru sv tr uk zh_CN diff --git a/src/backend/po/de.po b/src/backend/po/de.po index 0a9e668c384..64cdc99afbb 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: 2023-08-03 15:41+0000\n" -"PO-Revision-Date: 2023-08-04 18:04+0200\n" +"POT-Creation-Date: 2023-08-25 02:11+0000\n" +"PO-Revision-Date: 2023-08-25 08:39+0200\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -75,7 +75,7 @@ msgid "not recorded" msgstr "nicht aufgezeichnet" #: ../common/controldata_utils.c:69 ../common/controldata_utils.c:73 -#: commands/copyfrom.c:1670 commands/extension.c:3453 utils/adt/genfile.c:123 +#: commands/copyfrom.c:1670 commands/extension.c:3480 utils/adt/genfile.c:123 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "konnte Datei »%s« nicht zum Lesen öffnen: %m" @@ -86,10 +86,10 @@ msgstr "konnte Datei »%s« nicht zum Lesen öffnen: %m" #: 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:3463 libpq/hba.c:769 replication/logical/origin.c:745 +#: 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:1946 -#: replication/slot.c:1987 replication/walsender.c:643 +#: 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 #, c-format @@ -100,7 +100,7 @@ msgstr "konnte Datei »%s« nicht lesen: %m" #: 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:1950 replication/slot.c:1991 replication/walsender.c:648 +#: replication/slot.c:1957 replication/slot.c:1998 replication/walsender.c:648 #: utils/cache/relmapper.c:831 #, c-format msgid "could not read file \"%s\": read %d of %zu" @@ -119,7 +119,7 @@ msgstr "konnte Datei »%s« nicht lesen: %d von %zu gelesen" #: 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 +#: 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 @@ -160,7 +160,7 @@ msgstr "" #: 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/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 @@ -190,8 +190,8 @@ msgstr "konnte Datei »%s« nicht schreiben: %m" #: 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:1823 -#: replication/slot.c:1928 storage/file/fd.c:774 storage/file/fd.c:3798 +#: 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 #, c-format @@ -293,7 +293,7 @@ msgstr "kann NULL-Zeiger nicht kopieren (interner Fehler)\n" #: ../common/file_utils.c:451 access/transam/twophase.c:1315 #: access/transam/xlogarchive.c:112 access/transam/xlogarchive.c:229 #: backup/basebackup.c:346 backup/basebackup.c:544 backup/basebackup.c:615 -#: commands/copyfrom.c:1680 commands/copyto.c:702 commands/extension.c:3442 +#: commands/copyfrom.c:1680 commands/copyto.c:702 commands/extension.c:3469 #: commands/tablespace.c:810 commands/tablespace.c:899 postmaster/pgarch.c:590 #: replication/logical/snapbuild.c:1649 storage/file/fd.c:1922 #: storage/file/fd.c:2008 storage/file/fd.c:3511 utils/adt/dbsize.c:106 @@ -320,7 +320,7 @@ msgstr "konnte Verzeichnis »%s« nicht lesen: %m" #: ../common/file_utils.c:379 access/transam/xlogarchive.c:383 #: postmaster/pgarch.c:746 postmaster/syslogger.c:1608 #: replication/logical/snapbuild.c:1810 replication/slot.c:723 -#: replication/slot.c:1709 replication/slot.c:1851 storage/file/fd.c:792 +#: replication/slot.c:1716 replication/slot.c:1858 storage/file/fd.c:792 #: utils/time/snapmgr.c:1284 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" @@ -508,7 +508,7 @@ msgstr "konnte Statuscode des Subprozesses nicht ermitteln: Fehlercode %lu" #: 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:1902 storage/file/fd.c:832 storage/file/fd.c:3325 +#: replication/slot.c:1909 storage/file/fd.c:832 storage/file/fd.c:3325 #: storage/file/fd.c:3387 storage/file/reinit.c:262 storage/ipc/dsm.c:316 #: storage/smgr/md.c:383 storage/smgr/md.c:442 storage/sync/sync.c:248 #: utils/time/snapmgr.c:1608 @@ -845,7 +845,7 @@ msgstr "Attribut »%s« von Typ %s stimmt nicht mit dem entsprechenden Attribut msgid "Attribute \"%s\" of type %s does not exist in type %s." msgstr "Attribut »%s« von Typ %s existiert nicht in Typ %s." -#: access/common/heaptuple.c:1036 access/common/heaptuple.c:1371 +#: access/common/heaptuple.c:1124 access/common/heaptuple.c:1459 #, c-format msgid "number of columns (%d) exceeds limit (%d)" msgstr "Anzahl der Spalten (%d) überschreitet Maximum (%d)" @@ -1154,33 +1154,33 @@ msgstr "in Operatorfamilie »%s« für Zugriffsmethode %s fehlt Support-Funktion msgid "operator family \"%s\" of access method %s is missing cross-type operator(s)" msgstr "in Operatorfamilie »%s« für Zugriffsmethode %s fehlen typübergreifende Operatoren" -#: access/heap/heapam.c:2026 +#: access/heap/heapam.c:2027 #, c-format msgid "cannot insert tuples in a parallel worker" msgstr "in einem parallelen Arbeitsprozess können keine Tupel eingefügt werden" -#: access/heap/heapam.c:2545 +#: access/heap/heapam.c:2546 #, c-format msgid "cannot delete tuples during a parallel operation" msgstr "während einer parallelen Operation können keine Tupel gelöscht werden" -#: access/heap/heapam.c:2592 +#: access/heap/heapam.c:2593 #, c-format msgid "attempted to delete invisible tuple" msgstr "Versuch ein unsichtbares Tupel zu löschen" -#: access/heap/heapam.c:3035 access/heap/heapam.c:5902 +#: access/heap/heapam.c:3036 access/heap/heapam.c:5903 #, c-format msgid "cannot update tuples during a parallel operation" msgstr "während einer parallelen Operation können keine Tupel aktualisiert werden" -#: access/heap/heapam.c:3163 +#: access/heap/heapam.c:3164 #, c-format msgid "attempted to update invisible tuple" msgstr "Versuch ein unsichtbares Tupel zu aktualisieren" -#: 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:4551 access/heap/heapam.c:4589 +#: access/heap/heapam.c:4854 access/heap/heapam_handler.c:467 #, c-format msgid "could not obtain lock on row in relation \"%s\"" msgstr "konnte Sperre für Zeile in Relation »%s« nicht setzen" @@ -1190,7 +1190,7 @@ msgstr "konnte Sperre für Zeile in Relation »%s« nicht setzen" msgid "tuple to be locked was already moved to another partition due to concurrent update" msgstr "das zu sperrende Tupel wurde schon durch ein gleichzeitiges Update in eine andere Partition verschoben" -#: 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 "Zeile ist zu groß: Größe ist %zu, Maximalgröße ist %zu" @@ -1207,7 +1207,7 @@ msgstr "konnte nicht in Datei »%s« schreiben, %d von %d geschrieben: %m" #: 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 +#: replication/logical/origin.c:603 replication/slot.c:1777 #: storage/file/copydir.c:157 storage/smgr/md.c:232 utils/time/snapmgr.c:1263 #, c-format msgid "could not create file \"%s\": %m" @@ -1225,7 +1225,7 @@ msgstr "konnte Datei »%s« nicht auf %u kürzen: %m" #: postmaster/postmaster.c:4564 postmaster/postmaster.c:4574 #: 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 +#: 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 @@ -3648,7 +3648,7 @@ msgstr "relativer Pfad nicht erlaubt für auf dem Server abgelegtes Backup" #: backup/basebackup_server.c:104 commands/dbcommands.c:501 #: commands/tablespace.c:163 commands/tablespace.c:179 -#: commands/tablespace.c:599 commands/tablespace.c:644 replication/slot.c:1697 +#: commands/tablespace.c:599 commands/tablespace.c:644 replication/slot.c:1704 #: storage/file/copydir.c:47 #, c-format msgid "could not create directory \"%s\": %m" @@ -3890,7 +3890,7 @@ msgstr "Klausel IN SCHEMA kann nicht verwendet werden, wenn GRANT/REVOKE ON SCHE #: 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 +#: 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 @@ -4625,7 +4625,7 @@ msgstr "Generierungsausdruck ist nicht »immutable«" 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:2801 commands/prepare.c:334 parser/analyze.c:2704 +#: 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 #, c-format @@ -4786,8 +4786,8 @@ msgstr "Relation »%s.%s« existiert nicht" msgid "relation \"%s\" does not exist" msgstr "Relation »%s« existiert nicht" -#: 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 "kein Schema für die Objekterzeugung ausgewählt" @@ -5616,12 +5616,12 @@ msgstr "Konversion »%s« existiert bereits" msgid "default conversion for %s to %s already exists" msgstr "Standardumwandlung von %s nach %s existiert bereits" -#: catalog/pg_depend.c:222 commands/extension.c:3341 +#: catalog/pg_depend.c:222 commands/extension.c:3368 #, c-format msgid "%s is already a member of extension \"%s\"" msgstr "%s ist schon Mitglied der Erweiterung »%s«" -#: catalog/pg_depend.c:229 catalog/pg_depend.c:280 commands/extension.c:3381 +#: 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 ist kein Mitglied der Erweiterung »%s«" @@ -7895,7 +7895,7 @@ msgstr "EXPLAIN-Option TIMING erfordert ANALYZE" msgid "EXPLAIN options ANALYZE and GENERIC_PLAN cannot be used together" msgstr "EXPLAIN-Optionen ANALYZE und GENERIC_PLAN können nicht zusammen verwendet werden" -#: commands/extension.c:177 commands/extension.c:3006 +#: commands/extension.c:177 commands/extension.c:3033 #, c-format msgid "extension \"%s\" does not exist" msgstr "Erweiterung »%s« existiert nicht" @@ -8038,127 +8038,137 @@ msgstr "CREATE-Privileg für die aktuelle Datenbank wird benötigt, um diese Erw msgid "Must be superuser to update this extension." msgstr "Nur Superuser können diese Erweiterung aktualisieren." -#: commands/extension.c:1265 +#: commands/extension.c:1046 +#, c-format +msgid "invalid character in extension owner: must not contain any of \"%s\"" +msgstr "ungültiges Zeichen im Erweiterungseigentümer: darf keins aus »%s« enthalten" + +#: commands/extension.c:1070 commands/extension.c:1097 +#, c-format +msgid "invalid character in extension \"%s\" schema: must not contain any of \"%s\"" +msgstr "ungültiges Zeichen in Schema von Erweiterung »%s«: darf keins aus »%s« enthalten" + +#: commands/extension.c:1292 #, c-format msgid "extension \"%s\" has no update path from version \"%s\" to version \"%s\"" msgstr "Erweiterung »%s« hat keinen Aktualisierungspfad von Version »%s« auf Version »%s«" -#: commands/extension.c:1473 commands/extension.c:3064 +#: commands/extension.c:1500 commands/extension.c:3091 #, c-format msgid "version to install must be specified" msgstr "die zu installierende Version muss angegeben werden" -#: commands/extension.c:1510 +#: commands/extension.c:1537 #, c-format msgid "extension \"%s\" has no installation script nor update path for version \"%s\"" msgstr "Erweiterung »%s« hat kein Installationsskript und keinen Aktualisierungspfad für Version »%s«" -#: commands/extension.c:1544 +#: commands/extension.c:1571 #, c-format msgid "extension \"%s\" must be installed in schema \"%s\"" msgstr "Erweiterung »%s« muss in Schema »%s« installiert werden" -#: commands/extension.c:1704 +#: commands/extension.c:1731 #, c-format msgid "cyclic dependency detected between extensions \"%s\" and \"%s\"" msgstr "zyklische Abhängigkeit zwischen Erweiterungen »%s« und »%s« entdeckt" -#: commands/extension.c:1709 +#: commands/extension.c:1736 #, c-format msgid "installing required extension \"%s\"" msgstr "installiere benötigte Erweiterung »%s«" -#: commands/extension.c:1732 +#: commands/extension.c:1759 #, c-format msgid "required extension \"%s\" is not installed" msgstr "benötigte Erweiterung »%s« ist nicht installiert" -#: commands/extension.c:1735 +#: commands/extension.c:1762 #, c-format msgid "Use CREATE EXTENSION ... CASCADE to install required extensions too." msgstr "Verwenden Sie CREATE EXTENSION ... CASCADE, um die benötigten Erweiterungen ebenfalls zu installieren." -#: commands/extension.c:1770 +#: commands/extension.c:1797 #, c-format msgid "extension \"%s\" already exists, skipping" msgstr "Erweiterung »%s« existiert bereits, wird übersprungen" -#: commands/extension.c:1777 +#: commands/extension.c:1804 #, c-format msgid "extension \"%s\" already exists" msgstr "Erweiterung »%s« existiert bereits" -#: commands/extension.c:1788 +#: commands/extension.c:1815 #, c-format msgid "nested CREATE EXTENSION is not supported" msgstr "geschachteltes CREATE EXTENSION wird nicht unterstützt" -#: commands/extension.c:1952 +#: commands/extension.c:1979 #, c-format msgid "cannot drop extension \"%s\" because it is being modified" msgstr "Erweiterung »%s« kann nicht gelöscht werden, weil sie gerade geändert wird" -#: 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 kann nur von einem SQL-Skript aufgerufen werden, das von CREATE EXTENSION ausgeführt wird" -#: commands/extension.c:2439 +#: commands/extension.c:2466 #, c-format msgid "OID %u does not refer to a table" msgstr "OID %u bezieht sich nicht auf eine Tabelle" -#: commands/extension.c:2444 +#: commands/extension.c:2471 #, c-format msgid "table \"%s\" is not a member of the extension being created" msgstr "Tabelle »%s« ist kein Mitglied der anzulegenden Erweiterung" -#: 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 "kann Erweiterung »%s« nicht in Schema »%s« verschieben, weil die Erweiterung das Schema enthält" -#: commands/extension.c:2831 commands/extension.c:2925 +#: commands/extension.c:2858 commands/extension.c:2952 #, c-format msgid "extension \"%s\" does not support SET SCHEMA" msgstr "Erweiterung »%s« unterstützt SET SCHEMA nicht" -#: commands/extension.c:2888 +#: commands/extension.c:2915 #, c-format msgid "cannot SET SCHEMA of extension \"%s\" because other extensions prevent it" msgstr "SET SCHEMA für Erweiterung »%s« ist nicht möglich, weil andere Erweiterungen es verhindern" -#: commands/extension.c:2890 +#: commands/extension.c:2917 #, c-format msgid "Extension \"%s\" requests no relocation of extension \"%s\"." msgstr "Erweiterung »%s« verhindert Verlagerung von Erweiterung »%s«." -#: commands/extension.c:2927 +#: commands/extension.c:2954 #, c-format msgid "%s is not in the extension's schema \"%s\"" msgstr "%s ist nicht im Schema der Erweiterung (»%s«)" -#: commands/extension.c:2986 +#: commands/extension.c:3013 #, c-format msgid "nested ALTER EXTENSION is not supported" msgstr "geschachteltes ALTER EXTENSION wird nicht unterstützt" -#: commands/extension.c:3075 +#: commands/extension.c:3102 #, c-format msgid "version \"%s\" of extension \"%s\" is already installed" msgstr "Version »%s« von Erweiterung »%s« ist bereits installiert" -#: commands/extension.c:3287 +#: commands/extension.c:3314 #, c-format msgid "cannot add an object of this type to an extension" msgstr "ein Objekt dieses Typs kann nicht zu einer Erweiterung hinzugefügt werden" -#: commands/extension.c:3353 +#: commands/extension.c:3380 #, c-format msgid "cannot add schema \"%s\" to extension \"%s\" because the schema contains the extension" msgstr "kann Schema »%s« nicht zu Erweiterung »%s« hinzufügen, weil das Schema die Erweiterung enthält" -#: commands/extension.c:3447 +#: commands/extension.c:3474 #, c-format msgid "file \"%s\" is too large" msgstr "Datei »%s« ist zu groß" @@ -9948,20 +9958,19 @@ msgstr "konnte Liste der replizierten Tabellen nicht vom Publikationsserver empf #: commands/subscriptioncmds.c:2024 #, c-format msgid "subscription \"%s\" requested copy_data with origin = NONE but might copy data that had a different origin" -msgstr "" +msgstr "Subskription »%s« verlangte copy_data mit origin = NONE, aber könnte Daten kopieren, die einen anderen Origin hatten" #: 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] "Relation »%s« ist nicht Teil der Publikation" -msgstr[1] "Relation »%s« ist nicht Teil der Publikation" +#, 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] "Die zu erzeugende Subskription hat eine Publikation (%s) abonniert, die Tabellen enthält, in die von anderen Subskriptionen geschrieben wird." +msgstr[1] "Die zu erzeugende Subskription hat Publikationen (%s) abonniert, die Tabellen enthalten, in die von anderen Subskriptionen geschrieben wird." #: commands/subscriptioncmds.c:2029 #, c-format msgid "Verify that initial data copied from the publisher tables did not come from other origins." -msgstr "" +msgstr "Überprüfen Sie, dass die von den publizierten Tabellen kopierten initialen Daten nicht von anderen Origins kamen." #: commands/subscriptioncmds.c:2135 replication/logical/tablesync.c:876 #: replication/pgoutput/pgoutput.c:1115 @@ -11822,7 +11831,7 @@ msgstr "das zu aktualisierende Tupel wurde schon durch eine vom aktuellen Befehl #: commands/trigger.c:3330 executor/nodeModifyTable.c:1531 #: executor/nodeModifyTable.c:1605 executor/nodeModifyTable.c:2364 -#: executor/nodeModifyTable.c:2447 executor/nodeModifyTable.c:3077 +#: executor/nodeModifyTable.c:2447 executor/nodeModifyTable.c:3078 #, 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." @@ -11837,7 +11846,7 @@ msgstr "konnte Zugriff nicht serialisieren wegen gleichzeitiger Aktualisierung" #: commands/trigger.c:3379 executor/nodeModifyTable.c:1637 #: executor/nodeModifyTable.c:2464 executor/nodeModifyTable.c:2613 -#: executor/nodeModifyTable.c:2965 +#: executor/nodeModifyTable.c:2966 #, c-format msgid "could not serialize access due to concurrent delete" msgstr "konnte Zugriff nicht serialisieren wegen gleichzeitigem Löschen" @@ -13657,7 +13666,7 @@ msgid "Consider defining the foreign key on table \"%s\"." msgstr "Definieren Sie den Fremdschlüssel eventuell für Tabelle »%s«." #. translator: %s is a SQL command name -#: executor/nodeModifyTable.c:2567 executor/nodeModifyTable.c:2954 +#: executor/nodeModifyTable.c:2567 executor/nodeModifyTable.c:2955 #, c-format msgid "%s command cannot affect row a second time" msgstr "Befehl in %s kann eine Zeile nicht ein zweites Mal ändern" @@ -13667,17 +13676,17 @@ msgstr "Befehl in %s kann eine Zeile nicht ein zweites Mal ändern" 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:2956 +#: executor/nodeModifyTable.c:2957 #, 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:3037 +#: executor/nodeModifyTable.c:3038 #, 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" -#: executor/nodeModifyTable.c:3076 +#: 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 "das zu aktualisierende oder zu löschende Tupel wurde schon durch eine vom aktuellen Befehl ausgelöste Operation verändert" @@ -13799,7 +13808,7 @@ msgstr "%s kann nicht als Cursor geöffnet werden" msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported" msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE wird nicht unterstützt" -#: executor/spi.c:1717 parser/analyze.c:2874 +#: executor/spi.c:1717 parser/analyze.c:2912 #, c-format msgid "Scrollable cursors must be READ ONLY." msgstr "Scrollbare Cursor müssen READ ONLY sein." @@ -16348,8 +16357,8 @@ msgid "%s cannot be applied to the nullable side of an outer join" msgstr "%s kann nicht auf die nullbare Seite eines äußeren Verbundes angewendet werden" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: optimizer/plan/planner.c:1361 parser/analyze.c:1723 parser/analyze.c:1980 -#: parser/analyze.c:3193 +#: optimizer/plan/planner.c:1361 parser/analyze.c:1761 parser/analyze.c:2018 +#: parser/analyze.c:3231 #, c-format msgid "%s is not allowed with UNION/INTERSECT/EXCEPT" msgstr "%s ist nicht in UNION/INTERSECT/EXCEPT erlaubt" @@ -16436,217 +16445,217 @@ msgstr "ON CONFLICT DO UPDATE nicht unterstützt mit Exclusion-Constraints" 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" -#: parser/analyze.c:788 parser/analyze.c:1502 +#: parser/analyze.c:826 parser/analyze.c:1540 #, c-format msgid "VALUES lists must all be the same length" msgstr "VALUES-Listen müssen alle die gleiche Länge haben" -#: parser/analyze.c:990 +#: parser/analyze.c:1028 #, c-format msgid "INSERT has more expressions than target columns" msgstr "INSERT hat mehr Ausdrücke als Zielspalten" -#: parser/analyze.c:1008 +#: parser/analyze.c:1046 #, c-format msgid "INSERT has more target columns than expressions" msgstr "INSERT hat mehr Zielspalten als Ausdrücke" -#: 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 "Der einzufügende Wert ist ein Zeilenausdruck mit der gleichen Anzahl Spalten wie von INSERT erwartet. Haben Sie versehentlich zu viele Klammern gesetzt?" -#: parser/analyze.c:1309 parser/analyze.c:1696 +#: parser/analyze.c:1347 parser/analyze.c:1734 #, c-format msgid "SELECT ... INTO is not allowed here" msgstr "SELECT ... INTO ist hier nicht erlaubt" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:1625 parser/analyze.c:3425 +#: parser/analyze.c:1663 parser/analyze.c:3463 #, c-format msgid "%s cannot be applied to VALUES" msgstr "%s kann nicht auf VALUES angewendet werden" -#: parser/analyze.c:1862 +#: parser/analyze.c:1900 #, c-format msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause" msgstr "ungültige ORDER-BY-Klausel mit UNION/INTERSECT/EXCEPT" -#: parser/analyze.c:1863 +#: parser/analyze.c:1901 #, c-format msgid "Only result column names can be used, not expressions or functions." msgstr "Es können nur Ergebnisspaltennamen verwendet werden, keine Ausdrücke oder Funktionen." -#: parser/analyze.c:1864 +#: parser/analyze.c:1902 #, c-format msgid "Add the expression/function to every SELECT, or move the UNION into a FROM clause." msgstr "Fügen Sie den Ausdrück/die Funktion jedem SELECT hinzu oder verlegen Sie die UNION in eine FROM-Klausel." -#: parser/analyze.c:1970 +#: parser/analyze.c:2008 #, c-format msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT" msgstr "INTO ist nur im ersten SELECT von UNION/INTERSECT/EXCEPT erlaubt" -#: parser/analyze.c:2042 +#: parser/analyze.c:2080 #, c-format msgid "UNION/INTERSECT/EXCEPT member statement cannot refer to other relations of same query level" msgstr "Teilanweisung von UNION/INTERSECT/EXCEPT kann nicht auf andere Relationen auf der selben Anfrageebene verweisen" -#: parser/analyze.c:2129 +#: parser/analyze.c:2167 #, c-format msgid "each %s query must have the same number of columns" msgstr "jede %s-Anfrage muss die gleiche Anzahl Spalten haben" -#: parser/analyze.c:2535 +#: parser/analyze.c:2573 #, c-format msgid "RETURNING must have at least one column" msgstr "RETURNING muss mindestens eine Spalte haben" -#: parser/analyze.c:2638 +#: parser/analyze.c:2676 #, c-format msgid "assignment source returned %d column" msgid_plural "assignment source returned %d columns" msgstr[0] "Quelle der Wertzuweisung hat %d Spalte zurückgegeben" msgstr[1] "Quelle der Wertzuweisung hat %d Spalten zurückgegeben" -#: parser/analyze.c:2699 +#: parser/analyze.c:2737 #, c-format msgid "variable \"%s\" is of type %s but expression is of type %s" msgstr "Variable »%s« hat Typ %s, aber der Ausdruck hat Typ %s" #. translator: %s is a SQL keyword -#: parser/analyze.c:2824 parser/analyze.c:2832 +#: parser/analyze.c:2862 parser/analyze.c:2870 #, c-format msgid "cannot specify both %s and %s" msgstr "%s und %s können nicht beide angegeben werden" -#: parser/analyze.c:2852 +#: parser/analyze.c:2890 #, c-format msgid "DECLARE CURSOR must not contain data-modifying statements in WITH" msgstr "DECLARE CURSOR darf keine datenmodifizierenden Anweisungen in WITH enthalten" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2860 +#: parser/analyze.c:2898 #, c-format msgid "DECLARE CURSOR WITH HOLD ... %s is not supported" msgstr "DECLARE CURSOR WITH HOLD ... %s wird nicht unterstützt" -#: parser/analyze.c:2863 +#: parser/analyze.c:2901 #, c-format msgid "Holdable cursors must be READ ONLY." msgstr "Haltbare Cursor müssen READ ONLY sein." #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2871 +#: parser/analyze.c:2909 #, c-format msgid "DECLARE SCROLL CURSOR ... %s is not supported" msgstr "DECLARE SCROLL CURSOR ... %s wird nicht unterstützt" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2882 +#: parser/analyze.c:2920 #, c-format msgid "DECLARE INSENSITIVE CURSOR ... %s is not valid" msgstr "DECLARE INSENSITIVE CURSOR ... %s ist nicht gültig" -#: parser/analyze.c:2885 +#: parser/analyze.c:2923 #, c-format msgid "Insensitive cursors must be READ ONLY." msgstr "Insensitive Cursor müssen READ ONLY sein." -#: parser/analyze.c:2979 +#: parser/analyze.c:3017 #, c-format msgid "materialized views must not use data-modifying statements in WITH" msgstr "materialisierte Sichten dürfen keine datenmodifizierenden Anweisungen in WITH verwenden" -#: parser/analyze.c:2989 +#: parser/analyze.c:3027 #, c-format msgid "materialized views must not use temporary tables or views" msgstr "materialisierte Sichten dürfen keine temporären Tabellen oder Sichten verwenden" -#: parser/analyze.c:2999 +#: parser/analyze.c:3037 #, c-format msgid "materialized views may not be defined using bound parameters" msgstr "materialisierte Sichten können nicht unter Verwendung von gebundenen Parametern definiert werden" -#: parser/analyze.c:3011 +#: parser/analyze.c:3049 #, c-format msgid "materialized views cannot be unlogged" msgstr "materialisierte Sichten können nicht ungeloggt sein" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3200 +#: parser/analyze.c:3238 #, c-format msgid "%s is not allowed with DISTINCT clause" msgstr "%s ist nicht mit DISTINCT-Klausel erlaubt" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3207 +#: parser/analyze.c:3245 #, c-format msgid "%s is not allowed with GROUP BY clause" msgstr "%s ist nicht mit GROUP-BY-Klausel erlaubt" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3214 +#: parser/analyze.c:3252 #, c-format msgid "%s is not allowed with HAVING clause" msgstr "%s ist nicht mit HAVING-Klausel erlaubt" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3221 +#: parser/analyze.c:3259 #, c-format msgid "%s is not allowed with aggregate functions" msgstr "%s ist nicht mit Aggregatfunktionen erlaubt" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3228 +#: parser/analyze.c:3266 #, c-format msgid "%s is not allowed with window functions" msgstr "%s ist nicht mit Fensterfunktionen erlaubt" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3235 +#: parser/analyze.c:3273 #, c-format msgid "%s is not allowed with set-returning functions in the target list" msgstr "%s ist nicht mit Funktionen mit Ergebnismenge in der Targetliste erlaubt" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3334 +#: parser/analyze.c:3372 #, c-format msgid "%s must specify unqualified relation names" msgstr "%s muss unqualifizierte Relationsnamen angeben" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3398 +#: parser/analyze.c:3436 #, c-format msgid "%s cannot be applied to a join" msgstr "%s kann nicht auf einen Verbund angewendet werden" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3407 +#: parser/analyze.c:3445 #, c-format msgid "%s cannot be applied to a function" msgstr "%s kann nicht auf eine Funktion angewendet werden" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3416 +#: parser/analyze.c:3454 #, c-format msgid "%s cannot be applied to a table function" msgstr "%s kann nicht auf eine Tabellenfunktion angewendet werden" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3434 +#: parser/analyze.c:3472 #, c-format msgid "%s cannot be applied to a WITH query" msgstr "%s kann nicht auf eine WITH-Anfrage angewendet werden" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3443 +#: parser/analyze.c:3481 #, c-format msgid "%s cannot be applied to a named tuplestore" msgstr "%s kann nicht auf einen benannten Tupelstore angewendet werden" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3463 +#: parser/analyze.c:3501 #, c-format msgid "relation \"%s\" in %s clause not found in FROM clause" msgstr "Relation »%s« in %s nicht in der FROM-Klausel gefunden" @@ -17253,7 +17262,7 @@ msgstr "Wandeln Sie den Offset-Wert in den genauen beabsichtigten Typ um." #: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088 #: parser/parse_coerce.c:1106 parser/parse_coerce.c:1121 -#: parser/parse_expr.c:2083 parser/parse_expr.c:2691 parser/parse_expr.c:3502 +#: parser/parse_expr.c:2083 parser/parse_expr.c:2691 parser/parse_expr.c:3497 #: parser/parse_target.c:985 #, c-format msgid "cannot cast type %s to %s" @@ -17730,7 +17739,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:3633 +#: parser/parse_expr.c:1851 parser/parse_expr.c:3628 #, c-format msgid "subquery must return only one column" msgstr "Unteranfrage darf nur eine Spalte zurückgeben" @@ -17828,56 +17837,54 @@ msgstr "IS DISTINCT FROM erfordert, dass Operator = boolean ergibt" #: parser/parse_expr.c:3239 #, c-format msgid "JSON ENCODING clause is only allowed for bytea input type" -msgstr "" +msgstr "JSON-ENCODING-Klausel ist nur für Eingabetyp bytea erlaubt" -#: parser/parse_expr.c:3246 +#: 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 "implizite FORMAT-JSON-Klausel kann nicht mit Typen verwendet werden, die keine Zeichenketten sind" -#: parser/parse_expr.c:3266 +#: 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 "explizite FORMAT-JSON-Klausel kann nicht mit Typen verwendet werden, die keine Zeichenketten sind" -#: parser/parse_expr.c:3340 -#, 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 "kann jsonb-Zeichenkette nicht in Typ %s umwandeln" +msgstr "Format JSON kann nicht mit Ausgabetypen verwendet werden, die keine Zeichenketten sind" -#: parser/parse_expr.c:3353 +#: parser/parse_expr.c:3348 #, c-format msgid "cannot set JSON encoding for non-bytea output types" -msgstr "" +msgstr "JSON-Kodierung kann nur für Ausgabetyp bytea gesetzt werden" -#: parser/parse_expr.c:3358 -#, fuzzy, c-format -#| msgid "unsupported format code: %d" +#: parser/parse_expr.c:3353 +#, c-format msgid "unsupported JSON encoding" -msgstr "nicht unterstützter Formatcode: %d" +msgstr "nicht unterstützte JSON-Kodierung" -#: parser/parse_expr.c:3359 +#: parser/parse_expr.c:3354 #, c-format msgid "Only UTF8 JSON encoding is supported." -msgstr "" +msgstr "Nur die JSON-Kodierung UTF8 wird unterstützt." -#: parser/parse_expr.c:3396 +#: parser/parse_expr.c:3391 #, c-format msgid "returning SETOF types is not supported in SQL/JSON functions" msgstr "Rückgabe von SETOF-Typen wird in SQL/JSON-Funktionen nicht unterstützt" -#: parser/parse_expr.c:3717 parser/parse_func.c:865 +#: parser/parse_expr.c:3712 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:3939 +#: parser/parse_expr.c:3934 #, c-format msgid "cannot use JSON FORMAT ENCODING clause for non-bytea input types" -msgstr "" +msgstr "JSON-FORMAT-ENCODING-Klausel kann nur für Eingabetyp bytea verwendet werden" -#: parser/parse_expr.c:3959 +#: parser/parse_expr.c:3954 #, c-format msgid "cannot use type %s in IS JSON predicate" msgstr "Typ %s kann nicht im IS-JSON-Prädikat verwendet werden" @@ -20243,7 +20250,7 @@ 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:1290 storage/lmgr/lock.c:964 storage/lmgr/lock.c:1002 +#: 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 @@ -20436,7 +20443,7 @@ msgid "could not find free replication state slot for replication origin with ID msgstr "konnte keinen freien Replication-State-Slot für Replication-Origin mit ID %d finden" #: replication/logical/origin.c:957 replication/logical/origin.c:1155 -#: replication/slot.c:2086 +#: replication/slot.c:2093 #, c-format msgid "Increase max_replication_slots and try again." msgstr "Erhöhen Sie max_replication_slots und versuchen Sie es erneut." @@ -20458,10 +20465,9 @@ msgid "replication origin name \"%s\" is reserved" msgstr "Replication-Origin-Name »%s« ist reserviert" #: replication/logical/origin.c:1284 -#, fuzzy, c-format -#| msgid "Origin names starting with \"pg_\" are reserved." +#, c-format msgid "Origin names \"%s\", \"%s\", and names starting with \"pg_\" are reserved." -msgstr "Replication-Origin-Namen, die mit »pg_« anfangen, sind reserviert." +msgstr "Replication-Origin-Namen »%s«, »%s« und Namen, die mit »pg_« anfangen, sind reserviert." #: replication/logical/relation.c:240 #, c-format @@ -20648,7 +20654,7 @@ msgstr "Parallel-Apply-Worker für logische Replikation für Subskription »%s« #: 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 "Gestreamte Replikationstransaktionen können erst mit parallelen Apply-Worker-Prozessen verarbeitet werden, wenn alle Tabellen synchronisiert worden sind." #: replication/logical/worker.c:863 replication/logical/worker.c:978 #, c-format @@ -20886,7 +20892,7 @@ msgstr "Replikations-Slot »%s« existiert nicht" msgid "replication slot \"%s\" is active for PID %d" msgstr "Replikations-Slot »%s« ist aktiv für PID %d" -#: replication/slot.c:756 replication/slot.c:1638 replication/slot.c:2021 +#: replication/slot.c:756 replication/slot.c:1645 replication/slot.c:2028 #, c-format msgid "could not remove directory \"%s\"" msgstr "konnte Verzeichnis »%s« nicht löschen" @@ -20911,71 +20917,73 @@ msgstr "keine Berechtigung, um Replikations-Slots zu verwenden" msgid "Only roles with the %s attribute may use replication slots." msgstr "Nur Rollen mit dem %s-Attribut können Replikations-Slots verwenden." -#: replication/slot.c:1267 +#: replication/slot.c:1271 #, c-format -msgid "The slot's restart_lsn %X/%X exceeds the limit by %llu bytes." -msgstr "Die restart_lsn des Slots %X/%X überschreitet das Maximum um %llu Bytes." +msgid "The slot's restart_lsn %X/%X exceeds the limit by %llu byte." +msgid_plural "The slot's restart_lsn %X/%X exceeds the limit by %llu bytes." +msgstr[0] "Die restart_lsn des Slots %X/%X überschreitet das Maximum um %llu Byte." +msgstr[1] "Die restart_lsn des Slots %X/%X überschreitet das Maximum um %llu Bytes." -#: replication/slot.c:1272 +#: replication/slot.c:1279 #, c-format msgid "The slot conflicted with xid horizon %u." msgstr "Der Slot kollidierte mit dem xid-Horizont %u." -#: replication/slot.c:1277 +#: replication/slot.c:1284 msgid "Logical decoding on standby requires wal_level >= logical on the primary server." msgstr "Logische Dekodierung auf dem Standby-Server erfordert wal_level >= logical auf dem Primärserver." -#: replication/slot.c:1285 +#: replication/slot.c:1292 #, c-format msgid "terminating process %d to release replication slot \"%s\"" msgstr "Prozess %d wird beendet, um Replikations-Slot »%s« freizugeben" -#: replication/slot.c:1287 +#: replication/slot.c:1294 #, c-format msgid "invalidating obsolete replication slot \"%s\"" msgstr "obsoleter Replikations-Slot »%s« wird ungültig gemacht" -#: replication/slot.c:1959 +#: replication/slot.c:1966 #, c-format msgid "replication slot file \"%s\" has wrong magic number: %u instead of %u" msgstr "Replikations-Slot-Datei »%s« hat falsche magische Zahl: %u statt %u" -#: replication/slot.c:1966 +#: replication/slot.c:1973 #, c-format msgid "replication slot file \"%s\" has unsupported version %u" msgstr "Replikations-Slot-Datei »%s« hat nicht unterstützte Version %u" -#: replication/slot.c:1973 +#: replication/slot.c:1980 #, c-format msgid "replication slot file \"%s\" has corrupted length %u" msgstr "Replikations-Slot-Datei »%s« hat falsche Länge %u" -#: replication/slot.c:2009 +#: replication/slot.c:2016 #, c-format msgid "checksum mismatch for replication slot file \"%s\": is %u, should be %u" msgstr "Prüfsummenfehler bei Replikations-Slot-Datei »%s«: ist %u, sollte %u sein" -#: replication/slot.c:2043 +#: replication/slot.c:2050 #, c-format msgid "logical replication slot \"%s\" exists, but wal_level < logical" msgstr "logischer Replikations-Slot »%s« existiert, aber wal_level < logical" -#: replication/slot.c:2045 +#: replication/slot.c:2052 #, c-format msgid "Change wal_level to be logical or higher." msgstr "Ändern Sie wal_level in logical oder höher." -#: replication/slot.c:2049 +#: replication/slot.c:2056 #, c-format msgid "physical replication slot \"%s\" exists, but wal_level < replica" msgstr "physischer Replikations-Slot »%s« existiert, aber wal_level < replica" -#: replication/slot.c:2051 +#: replication/slot.c:2058 #, c-format msgid "Change wal_level to be replica or higher." msgstr "Ändern Sie wal_level in replica oder höher." -#: replication/slot.c:2085 +#: replication/slot.c:2092 #, c-format msgid "too many replication slots active before shutdown" msgstr "zu viele aktive Replikations-Slots vor dem Herunterfahren" @@ -23441,10 +23449,9 @@ msgid "function \"%s\" does not exist" msgstr "Funktion »%s« existiert nicht" #: utils/adt/acl.c:5023 -#, fuzzy, c-format -#| msgid "must be member of role \"%s\"" +#, c-format msgid "must be able to SET ROLE \"%s\"" -msgstr "Berechtigung nur für Mitglied von Rolle »%s«" +msgstr "Berechtigung nur für Rollen, die SET ROLE \"%s\" ausführen können" #: 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 @@ -24602,10 +24609,9 @@ msgid "null value not allowed for object key" msgstr "NULL-Werte sind nicht als Objektschlüssel erlaubt" #: utils/adt/json.c:1189 utils/adt/json.c:1352 -#, fuzzy, c-format -#| msgid "Duplicate keys exist." -msgid "duplicate JSON key %s" -msgstr "Es existieren doppelte Schlüssel." +#, c-format +msgid "duplicate JSON object key value: %s" +msgstr "doppelter JSON-Objekt-Schlüsselwert: %s" #: utils/adt/json.c:1297 utils/adt/jsonb.c:1233 #, c-format @@ -24628,10 +24634,10 @@ msgstr "Array muss zwei Spalten haben" msgid "mismatched array dimensions" msgstr "Array-Dimensionen passen nicht" -#: 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 "doppelter JSON-Objekt-Schlüsselwert" #: utils/adt/jsonb.c:294 #, c-format @@ -24714,11 +24720,6 @@ msgstr "Gesamtgröße der jsonb-Array-Elemente überschreitet die maximale Grö msgid "total size of jsonb object elements exceeds the maximum of %d bytes" msgstr "Gesamtgröße der jsonb-Objektelemente überschreitet die maximale Größe von %d Bytes" -#: utils/adt/jsonb_util.c:1958 -#, c-format -msgid "duplicate JSON object key" -msgstr "" - #: utils/adt/jsonbsubs.c:70 utils/adt/jsonbsubs.c:151 #, c-format msgid "jsonb subscript does not support slices" @@ -25631,22 +25632,22 @@ msgstr "NaN kann nicht von pg_lsn subtrahiert werden" msgid "function can only be called when server is in binary upgrade mode" msgstr "Funktion kann nur aufgerufen werden, wenn der Server im Binary-Upgrade-Modus ist" -#: utils/adt/pgstatfuncs.c:253 +#: utils/adt/pgstatfuncs.c:254 #, c-format msgid "invalid command name: \"%s\"" msgstr "ungültiger Befehlsname: »%s«" -#: utils/adt/pgstatfuncs.c:1773 +#: utils/adt/pgstatfuncs.c:1774 #, c-format msgid "unrecognized reset target: \"%s\"" msgstr "unbekanntes Reset-Ziel: »%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 "Das Reset-Ziel muss »archiver«, »bgwriter«, »io«, »recovery_prefetch« oder »wal« sein." -#: utils/adt/pgstatfuncs.c:1852 +#: utils/adt/pgstatfuncs.c:1857 #, c-format msgid "invalid subscription OID %u" msgstr "ungültige Subskriptions-OID: %u" @@ -26611,7 +26612,7 @@ msgstr "keine Ausgabefunktion verfügbar für Typ %s" msgid "operator class \"%s\" of access method %s is missing support function %d for type %s" msgstr "in Operatorklasse »%s« für Zugriffsmethode %s fehlt Support-Funktion %d für Typ %s" -#: utils/cache/plancache.c:722 +#: utils/cache/plancache.c:724 #, c-format msgid "cached plan must not change result type" msgstr "gecachter Plan darf den Ergebnistyp nicht ändern" @@ -26626,17 +26627,17 @@ msgstr "Heap-Relfile-Nummer-Wert ist im Binary-Upgrade-Modus nicht gesetzt" msgid "unexpected request for new relfilenumber in binary upgrade mode" msgstr "unerwartete Anforderung einer neuen Relfile-Nummer im Binary-Upgrade-Modus" -#: utils/cache/relcache.c:6489 +#: utils/cache/relcache.c:6495 #, c-format msgid "could not create relation-cache initialization file \"%s\": %m" msgstr "konnte Initialisierungsdatei für Relationscache »%s« nicht erzeugen: %m" -#: utils/cache/relcache.c:6491 +#: utils/cache/relcache.c:6497 #, c-format msgid "Continuing anyway, but there's something wrong." msgstr "Setze trotzdem fort, aber irgendwas stimmt nicht." -#: utils/cache/relcache.c:6813 +#: utils/cache/relcache.c:6819 #, c-format msgid "could not remove cache file \"%s\": %m" msgstr "konnte Cache-Datei »%s« nicht löschen: %m" @@ -27268,10 +27269,9 @@ msgid "The database subdirectory \"%s\" is missing." msgstr "Das Datenbankunterverzeichnis »%s« fehlt." #: 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« kann nicht höher als »%s« sein" +msgstr "Rolle »%s« kann nicht SET ROLE auf »%s« durchführen" #: utils/mb/conv.c:522 utils/mb/conv.c:733 #, c-format diff --git a/src/backend/po/ka.po b/src/backend/po/ka.po new file mode 100644 index 00000000000..e64e6441f45 --- /dev/null +++ b/src/backend/po/ka.po @@ -0,0 +1,29246 @@ +# Georgian message translation file for postgres +# Copyright (C) 2023 PostgreSQL Global Development Group +# This file is distributed under the same license as the postgres (PostgreSQL) package. +# Temuri Doghonadze , 2022-2023. +# +msgid "" +msgstr "" +"Project-Id-Version: postgres (PostgreSQL) 16\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2023-08-24 08:42+0000\n" +"PO-Revision-Date: 2023-08-24 11:47+0200\n" +"Last-Translator: Temuri Doghonadze \n" +"Language-Team: Georgian \n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.3.2\n" + +#: ../common/compression.c:132 ../common/compression.c:141 ../common/compression.c:150 +#, c-format +msgid "this build does not support compression with %s" +msgstr "ამ აგებაში %s-ით შეკუმშვის მხარდაჭრა არ არსებობს" + +#: ../common/compression.c:205 +msgid "found empty string where a compression option was expected" +msgstr "შეკუმშვის პარამეტრების მაგიერ მოწოდებული სტრიქონი ცარიელია" + +#: ../common/compression.c:244 +#, c-format +msgid "unrecognized compression option: \"%s\"" +msgstr "შეკუმშვის უცნობი პარამეტრი: \"%s\"" + +#: ../common/compression.c:283 +#, c-format +msgid "compression option \"%s\" requires a value" +msgstr "შეკუმშვის პარამეტრ \"%s\"-ს მნიშვნელობა სჭირდება" + +#: ../common/compression.c:292 +#, c-format +msgid "value for compression option \"%s\" must be an integer" +msgstr "შემუმშვის პარამეტრ \"%s\"-ის ნიშვნელობა მთელი რიცხვი უნდა იყოს" + +#: ../common/compression.c:331 +#, c-format +msgid "value for compression option \"%s\" must be a Boolean value" +msgstr "შეკუმშვის პარამეტრის მნიშვნელობა \"%s\" ლოგიკურ მნიშვნელობას უნდა წარმოადგენდეს" + +#: ../common/compression.c:379 +#, c-format +msgid "compression algorithm \"%s\" does not accept a compression level" +msgstr "შეკუმშვის ალგორითმს \"%s\" შეკუმშვის დონე არ მიეთითება" + +#: ../common/compression.c:386 +#, c-format +msgid "compression algorithm \"%s\" expects a compression level between %d and %d (default at %d)" +msgstr "შეკუმშვის ალგორითმს \"%s\" შეკუმშვის დონე %d-სა და %d-ს შორის უნდა იყოს (ნაგულისხებია %d)" + +#: ../common/compression.c:397 +#, c-format +msgid "compression algorithm \"%s\" does not accept a worker count" +msgstr "შეკუმშვის ალგორითმს \"%s\" დამხმარე პროცესების რაოდენობა არ მიეთითება" + +#: ../common/compression.c:408 +#, c-format +msgid "compression algorithm \"%s\" does not support long-distance mode" +msgstr "შეკუმშვის ალგორითმს \"%s\" long-distance რეჟიმის მხარდაჭერა არ გააჩნია" + +#: ../common/config_info.c:134 ../common/config_info.c:142 ../common/config_info.c:150 ../common/config_info.c:158 ../common/config_info.c:166 ../common/config_info.c:174 ../common/config_info.c:182 ../common/config_info.c:190 +msgid "not recorded" +msgstr "ჩაწერილი არაა" + +#: ../common/controldata_utils.c:69 ../common/controldata_utils.c:73 commands/copyfrom.c:1670 commands/extension.c:3480 utils/adt/genfile.c:123 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "ფაილის (%s) გახსნის შეცდომა: %m" + +#: ../common/controldata_utils.c:84 ../common/controldata_utils.c:86 access/transam/timeline.c:143 access/transam/timeline.c:362 access/transam/twophase.c:1347 access/transam/xlog.c:3193 access/transam/xlog.c:3996 access/transam/xlogrecovery.c:1199 access/transam/xlogrecovery.c:1291 access/transam/xlogrecovery.c:1328 access/transam/xlogrecovery.c:1388 backup/basebackup.c:1842 commands/extension.c:3490 libpq/hba.c:769 replication/logical/origin.c:745 +#: replication/logical/origin.c:781 replication/logical/reorderbuffer.c:5050 replication/logical/snapbuild.c:2031 replication/slot.c:1946 replication/slot.c:1987 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 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "ფაილის (%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:1950 replication/slot.c:1991 replication/walsender.c:648 utils/cache/relmapper.c:831 +#, c-format +msgid "could not read file \"%s\": read %d of %zu" +msgstr "\"%s\"-ის წაკითხვის შეცდომა: წაკითხულია %d %zu-დან" + +#: ../common/controldata_utils.c:104 ../common/controldata_utils.c:108 ../common/controldata_utils.c:233 ../common/controldata_utils.c:236 access/heap/rewriteheap.c:1175 access/heap/rewriteheap.c:1280 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 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:782 storage/file/fd.c:3700 storage/file/fd.c:3806 utils/cache/relmapper.c:839 utils/cache/relmapper.c:945 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "ფაილის (%s) დახურვის შეცდომა: %m" + +#: ../common/controldata_utils.c:124 +msgid "byte ordering mismatch" +msgstr "ბაიტების მიმდევრობა არ ემთხვევა" + +#: ../common/controldata_utils.c:126 +#, c-format +msgid "" +"possible byte ordering mismatch\n" +"The byte ordering used to store the pg_control file might not match the one\n" +"used by this program. In that case the results below would be incorrect, and\n" +"the PostgreSQL installation would be incompatible with this data directory." +msgstr "" +"ბაიტების მიმდევრობის შესაძლო შეუსაბამობა pg_control ფაილის შესანახად გამოყენებული \n" +"ბაიტების მიმდევრობა შესაძლოა არ ემთხვეოდეს ამ პროგრამის მიერ გამოყენებულს. ამ შემთხვევაში ქვემოთ \n" +"მოცემული შედეგები არასწორი იქნება და PostgreSQL ეს აგება ამ მონაცემთა საქაღალდესთან შეუთავსებელი იქნება." + +#: ../common/controldata_utils.c:181 ../common/controldata_utils.c:186 ../common/file_utils.c:228 ../common/file_utils.c:287 ../common/file_utils.c:361 access/heap/rewriteheap.c:1263 access/transam/timeline.c:111 access/transam/timeline.c:251 access/transam/timeline.c:348 access/transam/twophase.c:1303 access/transam/xlog.c:2946 access/transam/xlog.c:3109 access/transam/xlog.c:3148 access/transam/xlog.c:3341 access/transam/xlog.c:3986 +#: access/transam/xlogrecovery.c:4179 access/transam/xlogrecovery.c:4282 access/transam/xlogutils.c:838 backup/basebackup.c:538 backup/basebackup.c:1512 libpq/hba.c:629 postmaster/syslogger.c:1560 replication/logical/origin.c:735 replication/logical/reorderbuffer.c:3706 replication/logical/reorderbuffer.c:4257 replication/logical/reorderbuffer.c:5030 replication/logical/snapbuild.c:1753 replication/logical/snapbuild.c:1863 replication/slot.c:1918 +#: 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 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "ფაილის (%s) გახსნის შეცდომა: %m" + +#: ../common/controldata_utils.c:202 ../common/controldata_utils.c:205 access/transam/twophase.c:1744 access/transam/twophase.c:1753 access/transam/xlog.c:8755 access/transam/xlogfuncs.c:708 backup/basebackup_server.c:175 backup/basebackup_server.c:268 postmaster/postmaster.c:5570 postmaster/syslogger.c:1571 postmaster/syslogger.c:1584 postmaster/syslogger.c:1597 utils/cache/relmapper.c:936 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "ფაილში (%s) ჩაწერის შეცდომა: %m" + +#: ../common/controldata_utils.c:219 ../common/controldata_utils.c:224 ../common/file_utils.c:299 ../common/file_utils.c:369 access/heap/rewriteheap.c:959 access/heap/rewriteheap.c:1169 access/heap/rewriteheap.c:1274 access/transam/timeline.c:432 access/transam/timeline.c:506 access/transam/twophase.c:1765 access/transam/xlog.c:3032 access/transam/xlog.c:3227 access/transam/xlog.c:3959 access/transam/xlog.c:8145 access/transam/xlog.c:8190 +#: backup/basebackup_server.c:209 replication/logical/snapbuild.c:1791 replication/slot.c:1823 replication/slot.c:1928 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 +#, 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:258 ../common/stringinfo.c:305 ../port/path.c:751 ../port/path.c:789 ../port/path.c:806 access/transam/twophase.c:1412 +#: access/transam/xlogrecovery.c:589 lib/dshash.c:253 libpq/auth.c:1345 libpq/auth.c:1389 libpq/auth.c:1946 libpq/be-secure-gssapi.c:524 postmaster/bgworker.c:352 postmaster/bgworker.c:934 postmaster/postmaster.c: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:866 storage/file/fd.c:1397 storage/file/fd.c:1558 storage/file/fd.c:2478 storage/ipc/procarray.c:1449 storage/ipc/procarray.c:2232 storage/ipc/procarray.c:2239 storage/ipc/procarray.c:2738 storage/ipc/procarray.c:3374 utils/adt/formatting.c:1690 utils/adt/formatting.c:1812 utils/adt/formatting.c:1935 utils/adt/pg_locale.c:469 utils/adt/pg_locale.c:633 utils/fmgr/dfmgr.c:229 utils/hash/dynahash.c:514 utils/hash/dynahash.c:614 +#: utils/hash/dynahash.c:1111 utils/mb/mbutils.c:402 utils/mb/mbutils.c:430 utils/mb/mbutils.c:815 utils/mb/mbutils.c:842 utils/misc/guc.c:640 utils/misc/guc.c:665 utils/misc/guc.c:1053 utils/misc/guc.c:4348 utils/misc/tzparser.c:476 utils/mmgr/aset.c:445 utils/mmgr/dsa.c: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 +msgid "out of memory" +msgstr "არასაკმარისი მეხსიერება" + +#: ../common/cryptohash.c:266 ../common/cryptohash.c:272 ../common/cryptohash_openssl.c:344 ../common/cryptohash_openssl.c:352 ../common/hmac.c:321 ../common/hmac.c:329 ../common/hmac_openssl.c:339 ../common/hmac_openssl.c:347 +msgid "success" +msgstr "წარმატება" + +#: ../common/cryptohash.c:268 ../common/cryptohash_openssl.c:346 ../common/hmac_openssl.c:341 +msgid "destination buffer too small" +msgstr "სამიზნე ბუფერი ძალიან პატარაა" + +#: ../common/cryptohash_openssl.c:348 ../common/hmac_openssl.c:343 +msgid "OpenSSL failure" +msgstr "OpenSSL -ის სეცდომა" + +#: ../common/exec.c:172 +#, c-format +msgid "invalid binary \"%s\": %m" +msgstr "არასწორი ბინარული ფაილი \"%s\": %m" + +#: ../common/exec.c:215 +#, c-format +msgid "could not read binary \"%s\": %m" +msgstr "ბინარული ფაილის (%s) წაკითხვის შეცდომა: %m" + +#: ../common/exec.c:223 +#, c-format +msgid "could not find a \"%s\" to execute" +msgstr "გასაშვებად ფაილის \"%s\" პოვნა შეუძლებელია" + +#: ../common/exec.c:250 +#, c-format +msgid "could not resolve path \"%s\" to absolute form: %m" +msgstr "ბილიკის (\"%s\") აბსოლუტურ ფორმაში ამოხსნის შეცდომა: %m" + +#: ../common/exec.c:412 libpq/pqcomm.c:728 storage/ipc/latch.c:1128 storage/ipc/latch.c:1308 storage/ipc/latch.c:1541 storage/ipc/latch.c:1703 storage/ipc/latch.c:1829 +#, 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 +#, c-format +msgid "out of memory\n" +msgstr "არასაკმარისი მეხსიერება\n" + +#: ../common/fe_memutils.c:92 ../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "ნულოვანი მაჩვენებლის დუბლირება შეუძლებელია (შიდა შეცდომა)\n" + +#: ../common/file_utils.c:87 ../common/file_utils.c:447 ../common/file_utils.c:451 access/transam/twophase.c:1315 access/transam/xlogarchive.c:112 access/transam/xlogarchive.c:229 backup/basebackup.c:346 backup/basebackup.c:544 backup/basebackup.c:615 commands/copyfrom.c:1680 commands/copyto.c:702 commands/extension.c:3469 commands/tablespace.c:810 commands/tablespace.c:899 postmaster/pgarch.c:590 replication/logical/snapbuild.c:1649 storage/file/fd.c:1922 +#: storage/file/fd.c:2008 storage/file/fd.c:3511 utils/adt/dbsize.c:106 utils/adt/dbsize.c:258 utils/adt/dbsize.c:338 utils/adt/genfile.c:483 utils/adt/genfile.c:658 utils/adt/misc.c:340 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "ფაილი \"%s\" არ არსებობს: %m" + +#: ../common/file_utils.c:162 ../common/pgfnames.c:48 ../common/rmtree.c:63 commands/tablespace.c:734 commands/tablespace.c:744 postmaster/postmaster.c:1561 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 "საქაღალდის (%s) გახსნის შეცდომა: %m" + +#: ../common/file_utils.c:196 ../common/pgfnames.c:69 ../common/rmtree.c:104 storage/file/fd.c:2892 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "საქაღალდის (%s) წაკითხვის შეცდომა: %m" + +#: ../common/file_utils.c:379 access/transam/xlogarchive.c:383 postmaster/pgarch.c:746 postmaster/syslogger.c:1608 replication/logical/snapbuild.c:1810 replication/slot.c:723 replication/slot.c:1709 replication/slot.c:1851 storage/file/fd.c:792 utils/time/snapmgr.c:1284 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "გადარქმევის შეცდომა %s - %s: %m" + +#: ../common/hmac.c:323 +msgid "internal error" +msgstr "შიდა შეცდომა" + +#: ../common/jsonapi.c:1144 +#, c-format +msgid "Escape sequence \"\\%s\" is invalid." +msgstr "სპეციალური მიმდევრობა \"\\%s\" არასწორია." + +#: ../common/jsonapi.c:1147 +#, c-format +msgid "Character with value 0x%02x must be escaped." +msgstr "სიმბოლო კოდით 0x%02x აუცილებლად ეკრანირებული უნდა იყოს." + +#: ../common/jsonapi.c:1150 +#, c-format +msgid "Expected end of input, but found \"%s\"." +msgstr "მოველოდი შეყვანის დასასრულს, მაგრამ მივიღე \"%s\"." + +#: ../common/jsonapi.c:1153 +#, c-format +msgid "Expected array element or \"]\", but found \"%s\"." +msgstr "მოველოდი მასივის ელემენტს ან \"]\", მაგრამ მივიღე \"%s\"." + +#: ../common/jsonapi.c:1156 +#, c-format +msgid "Expected \",\" or \"]\", but found \"%s\"." +msgstr "მოველოდი \",\" ან \"]\", მაგრამ მივიღე \"%s\"." + +#: ../common/jsonapi.c:1159 +#, c-format +msgid "Expected \":\", but found \"%s\"." +msgstr "მოველოდი \":\", მაგრამ მივიღე \"%s\"." + +#: ../common/jsonapi.c:1162 +#, c-format +msgid "Expected JSON value, but found \"%s\"." +msgstr "მოველოდი JSON მნიშვნელობას. მივიღე \"%s\"." + +#: ../common/jsonapi.c:1165 +msgid "The input string ended unexpectedly." +msgstr "შეყვანის სტრიქონი მოულოდნელად დასრულდა." + +#: ../common/jsonapi.c:1167 +#, c-format +msgid "Expected string or \"}\", but found \"%s\"." +msgstr "მოველოდი სტრიქონს ან \"}\", მაგრამ მივიღე \"%s\"." + +#: ../common/jsonapi.c:1170 +#, c-format +msgid "Expected \",\" or \"}\", but found \"%s\"." +msgstr "მოველოდი \",\", ან \"}\", მაგრამ მივიღე \"%s\"." + +#: ../common/jsonapi.c:1173 +#, c-format +msgid "Expected string, but found \"%s\"." +msgstr "მოველოდი სტრიქონს, მაგრამ მივიღე \"%s\"." + +#: ../common/jsonapi.c:1176 +#, c-format +msgid "Token \"%s\" is invalid." +msgstr "კოდი არასწორია: %s." + +#: ../common/jsonapi.c:1179 jsonpath_scan.l:597 +#, c-format +msgid "\\u0000 cannot be converted to text." +msgstr "\\u0000 ტექსტად ვერ გარდაიქმნება." + +#: ../common/jsonapi.c:1181 +msgid "\"\\u\" must be followed by four hexadecimal digits." +msgstr "\"\\u\" ს თექვსმეტობითი ციფრები უნდა მოჰყვებოდეს." + +#: ../common/jsonapi.c:1184 +msgid "Unicode escape values cannot be used for code point values above 007F when the encoding is not UTF8." +msgstr "უნიკოდის სპეციალური კოდების გამოყენება კოდის წერტილის მნიშვნელობებად 007F-ის ზემოთ შეუძლებელია, თუ კოდირება UTF-8 არაა." + +#: ../common/jsonapi.c:1187 +#, c-format +msgid "Unicode escape value could not be translated to the server's encoding %s." +msgstr "უნიკოდის სპეციალური კოდების სერვერის კოდირებაში (%s) თარგმნა შეუძლებელია." + +#: ../common/jsonapi.c:1190 jsonpath_scan.l:630 +#, c-format +msgid "Unicode high surrogate must not follow a high surrogate." +msgstr "უნიკოდის მაღალ სუროგატს მაღალი სუროგატი არ უნდა მოსდევდეს." + +#: ../common/jsonapi.c:1192 jsonpath_scan.l:641 jsonpath_scan.l:651 jsonpath_scan.l:702 +#, c-format +msgid "Unicode low surrogate must follow a high surrogate." +msgstr "უნიკოდის დაბალი სუროგატი მაღალ სუროგატს უნდა მისდევდეს." + +#: ../common/logging.c:276 +#, c-format +msgid "error: " +msgstr "შეცდომა: " + +#: ../common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "გაფრთხილება: " + +#: ../common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "დეტალები: " + +#: ../common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "მინიშნება: " + +#: ../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 +#, c-format +msgid "invalid value for parameter \"%s\": \"%s\"" +msgstr "არასწორი მნიშვნელობა პარამეტრისთვის \"%s\": \"%s\"" + +#: ../common/percentrepl.c:80 ../common/percentrepl.c:86 +#, c-format +msgid "String ends unexpectedly after escape character \"%%\"." +msgstr "სტრიქონი მოულოდნელად სრულდება სპეციალური სიმბოლოს \"%%\" შემდეგ." + +#: ../common/percentrepl.c:119 ../common/percentrepl.c:125 +#, c-format +msgid "String contains unexpected placeholder \"%%%c\"." +msgstr "სტრიქონი მოულოდნელ ადგილმჭერს \"%%%c\" შეიცავს." + +#: ../common/pgfnames.c:74 +#, c-format +msgid "could not close directory \"%s\": %m" +msgstr "საქაღალდის %s-ზე დახურვის შეცდომა: %m" + +#: ../common/relpath.c:61 +#, c-format +msgid "invalid fork name" +msgstr "ფორკის არასწორი სახელი" + +#: ../common/relpath.c:62 +#, c-format +msgid "Valid fork names are \"main\", \"fsm\", \"vm\", and \"init\"." +msgstr "ფორკის მისაღები სახელებია \"main\", \"fsm\", \"vm\" და \"init\"." + +#: ../common/restricted_token.c:60 +#, c-format +msgid "could not open process token: error code %lu" +msgstr "პროცესის კოდის გახსნა შეუძლებელია: შეცდომის კოდი %lu" + +#: ../common/restricted_token.c:74 +#, c-format +msgid "could not allocate SIDs: error code %lu" +msgstr "შეცდომა SSID-ების გამოყოფისას: შეცდომის კოდი %lu" + +#: ../common/restricted_token.c:94 +#, c-format +msgid "could not create restricted token: error code %lu" +msgstr "შეზღუდული კოდის შექმნა ვერ მოხერხდა: შეცდომის კოდი %lu" + +#: ../common/restricted_token.c:115 +#, c-format +msgid "could not start process for command \"%s\": error code %lu" +msgstr "„%s“ ბრძანების პროცესის დაწყება ვერ მოხერხდა: შეცდომის კოდი %lu" + +#: ../common/restricted_token.c:153 +#, c-format +msgid "could not re-execute with restricted token: error code %lu" +msgstr "შეზღუდულ კოდის ხელახლა შესრულება ვერ მოხერხდა: შეცდომის კოდი %lu" + +#: ../common/restricted_token.c:168 +#, c-format +msgid "could not get exit code from subprocess: error code %lu" +msgstr "ქვეპროცესიდან გასასვლელი კოდი ვერ მივიღე: შეცდომის კოდი %lu" + +#: ../common/rmtree.c:95 access/heap/rewriteheap.c:1248 access/transam/twophase.c:1704 access/transam/xlogarchive.c:120 access/transam/xlogarchive.c:393 postmaster/postmaster.c:1143 postmaster/syslogger.c:1537 replication/logical/origin.c:591 replication/logical/reorderbuffer.c:4526 replication/logical/snapbuild.c:1691 replication/logical/snapbuild.c:2125 replication/slot.c:1902 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 "ფაილის წაშლის შეცდომა \"%s\": %m" + +#: ../common/rmtree.c:122 commands/tablespace.c:773 commands/tablespace.c:786 commands/tablespace.c:821 commands/tablespace.c:911 storage/file/fd.c:3317 storage/file/fd.c:3726 +#, c-format +msgid "could not remove directory \"%s\": %m" +msgstr "საქაღალდის (\"%s\") წაშლის შეცდომა: %m" + +#: ../common/scram-common.c:271 +msgid "could not encode salt" +msgstr "მარილის კოდირების შეცდომა" + +#: ../common/scram-common.c:287 +msgid "could not encode stored key" +msgstr "დამახსოვრებული გასაღების კოდირების შეცდომა" + +#: ../common/scram-common.c:304 +msgid "could not encode server key" +msgstr "სერვერის გასაღების კოდირების შეცდომა" + +#: ../common/stringinfo.c:306 +#, c-format +msgid "Cannot enlarge string buffer containing %d bytes by %d more bytes." +msgstr "სტრიქონების ბაფერის, რომელიც უკვე შეიცავს %d ბაიტს, %d ბაიტით ვერ გავადიდებ." + +#: ../common/stringinfo.c:310 +#, c-format +msgid "" +"out of memory\n" +"\n" +"Cannot enlarge string buffer containing %d bytes by %d more bytes.\n" +msgstr "" +"არასაკმარისი მეხსიერების\n" +"\n" +"შეუძლებელია სტრიქონის ბუფერის (%d ბაიტიგ) აფართოება %d ბაიტით.\n" + +#: ../common/username.c:43 +#, c-format +msgid "could not look up effective user ID %ld: %s" +msgstr "მომხმარებლის ეფექტური ID-ის (%ld) ამოხსნა შეუძლებელია: %s" + +#: ../common/username.c:45 libpq/auth.c:1881 +msgid "user does not exist" +msgstr "მომხმარებელი არ არსებობს" + +#: ../common/username.c:60 +#, c-format +msgid "user name lookup failure: error code %lu" +msgstr "მომხარებლის სახელის ამოხსნის პრობლემა: შეცდომის კოდი: %lu" + +#: ../common/wait_error.c:55 +#, c-format +msgid "command not executable" +msgstr "ბრძანება გაშვებადი არაა" + +#: ../common/wait_error.c:59 +#, c-format +msgid "command not found" +msgstr "ბრძანება ვერ ვიპოვე" + +#: ../common/wait_error.c:64 +#, c-format +msgid "child process exited with exit code %d" +msgstr "შვილი პროცესი დასრულდა სტატუსით %d" + +#: ../common/wait_error.c:72 +#, c-format +msgid "child process was terminated by exception 0x%X" +msgstr "შვილი პროცესი დასრულდა გამონაკლისით 0x%X" + +#: ../common/wait_error.c:76 +#, c-format +msgid "child process was terminated by signal %d: %s" +msgstr "პროცესი გაჩერდა სიგნალით: %d: %s" + +#: ../common/wait_error.c:82 +#, c-format +msgid "child process exited with unrecognized status %d" +msgstr "შვილი პროცესი დასრულდა უცნობი სტატუსით %d" + +#: ../port/chklocale.c:283 +#, c-format +msgid "could not determine encoding for codeset \"%s\"" +msgstr "კოდირების დადგენა ვერ მოხერხდა \"%s\"-ისთვის" + +#: ../port/chklocale.c:404 ../port/chklocale.c:410 +#, c-format +msgid "could not determine encoding for locale \"%s\": codeset is \"%s\"" +msgstr "ენისთვის \"%s\" კოდირების დადგენა ვერ მოხერხდა: კოდების ნაკრები არის \"%s\"" + +#: ../port/dirmod.c:284 +#, c-format +msgid "could not set junction for \"%s\": %s" +msgstr "\"%s\"-ისთვის შეერთების დაყენება ვერ მოხერხდა: %s" + +#: ../port/dirmod.c:287 +#, c-format +msgid "could not set junction for \"%s\": %s\n" +msgstr "\"%s\"-ისთვის შეერთების დაყენება ვერ მოხერხდა: %s\n" + +#: ../port/dirmod.c:364 +#, c-format +msgid "could not get junction for \"%s\": %s" +msgstr "\"%s\"-ისთვის შეერთების მიღება ვერ მოხერხდა: %s" + +#: ../port/dirmod.c:367 +#, c-format +msgid "could not get junction for \"%s\": %s\n" +msgstr "\"%s\"-ისთვის შეერთების მიღება ვერ მოხერხდა: %s\n" + +#: ../port/open.c:115 +#, c-format +msgid "could not open file \"%s\": %s" +msgstr "ფაილის გახსნის შეცდომა \"%s\": %s" + +#: ../port/open.c:116 +msgid "lock violation" +msgstr "ბლოკის დარღვევა" + +#: ../port/open.c:116 +msgid "sharing violation" +msgstr "გაზიარების დარღვევა" + +#: ../port/open.c:117 +#, c-format +msgid "Continuing to retry for 30 seconds." +msgstr "ვაგრძელებ თავიდან ცდას 30 წამით." + +#: ../port/open.c:118 +#, c-format +msgid "You might have antivirus, backup, or similar software interfering with the database system." +msgstr "შეიძლება თქვენი ანტივირუსი, მარქაფი ან რამე სხვა პროგრამა ხელს უშლის მონაცემთა ბაზის სისტემის მუშაობას." + +#: ../port/path.c:775 +#, c-format +msgid "could not get current working directory: %s\n" +msgstr "მიმდინარე სამუშაო საქაღალდის მიღების შეცდომა: %s\n" + +#: ../port/strerror.c:72 +#, c-format +msgid "operating system error %d" +msgstr "ოპერაციული სისტემის შეცდომა %d" + +#: ../port/thread.c:50 ../port/thread.c:86 +#, c-format +msgid "could not look up local user ID %d: %s" +msgstr "ლოკალური მომხმარებლის ID-ის (%d) ამოხსნა შეუძლებელია: %s" + +#: ../port/thread.c:55 ../port/thread.c:91 +#, c-format +msgid "local user with ID %d does not exist" +msgstr "ლოკალური მომხმარებელი ID-ით %d არ არსებობს" + +#: ../port/win32security.c:62 +#, c-format +msgid "could not get SID for Administrators group: error code %lu\n" +msgstr "ვერ მივიღე SID ადმინისტრატორთა ჯგუფისთვის: შეცდომის კოდი %lu\n" + +#: ../port/win32security.c:72 +#, c-format +msgid "could not get SID for PowerUsers group: error code %lu\n" +msgstr "ვერ მივიღე SID PowerUsers ჯგუფისთვის: შეცდომის კოდი %lu\n" + +#: ../port/win32security.c:80 +#, c-format +msgid "could not check access token membership: error code %lu\n" +msgstr "კოდის წევრობის წვდომის შემოწმების შეცდომა: შეცდომის კოდი %lu\n" + +#: access/brin/brin.c:216 +#, c-format +msgid "request for BRIN range summarization for index \"%s\" page %u was not recorded" +msgstr "\"BRIN\" შეჯამების დიაპაზონის ინდექსისთვის \"%s\" გვერდი %u ჩაწერილი არაა" + +#: access/brin/brin.c:1036 access/brin/brin.c:1137 access/gin/ginfast.c:1040 access/transam/xlogfuncs.c:189 access/transam/xlogfuncs.c:214 access/transam/xlogfuncs.c:247 access/transam/xlogfuncs.c:286 access/transam/xlogfuncs.c:307 access/transam/xlogfuncs.c:328 access/transam/xlogfuncs.c:398 access/transam/xlogfuncs.c:456 +#, c-format +msgid "recovery is in progress" +msgstr "აღდგენა მიმდინარეობს" + +#: access/brin/brin.c:1037 access/brin/brin.c:1138 +#, c-format +msgid "BRIN control functions cannot be executed during recovery." +msgstr "აღდგენის დროს BRIN კონტროლის ფუნქციების შესრულება შეუძლებელია." + +#: access/brin/brin.c:1042 access/brin/brin.c:1143 +#, c-format +msgid "block number out of range: %lld" +msgstr "ბლოკების რაოდენობა დიაპაზონს გარეთაა: %lld" + +#: access/brin/brin.c:1086 access/brin/brin.c:1169 +#, c-format +msgid "\"%s\" is not a BRIN index" +msgstr "\"%s\" BRIN ინდექსი არაა" + +#: access/brin/brin.c:1102 access/brin/brin.c:1185 +#, c-format +msgid "could not open parent table of index \"%s\"" +msgstr "ინდექსის \"%s\" მშობელი ცხრილის გახსნის შეცდომა" + +#: access/brin/brin_bloom.c:750 access/brin/brin_bloom.c:792 access/brin/brin_minmax_multi.c:3011 access/brin/brin_minmax_multi.c:3148 statistics/dependencies.c:663 statistics/dependencies.c:716 statistics/mcv.c:1484 statistics/mcv.c:1515 statistics/mvdistinct.c:344 statistics/mvdistinct.c:397 utils/adt/pseudotypes.c:43 utils/adt/pseudotypes.c:77 utils/adt/tsgistidx.c:93 +#, c-format +msgid "cannot accept a value of type %s" +msgstr "მნიშვნელობის ეს ტიპი მიუღებელია: %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 "ინტერვალი საზღვრებს გარეთაა" + +#: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:362 access/brin/brin_pageops.c:852 access/gin/ginentrypage.c:110 access/gist/gist.c:1442 access/spgist/spgdoinsert.c:2002 access/spgist/spgdoinsert.c:2279 +#, c-format +msgid "index row size %zu exceeds maximum %zu for index \"%s\"" +msgstr "ინდექსის მწკრივის ზომა %zu მაქსიმუმზე (%zu) მეტია ინდექსისთვის \"%s\"" + +#: access/brin/brin_revmap.c:393 access/brin/brin_revmap.c:399 +#, c-format +msgid "corrupted BRIN index: inconsistent range map" +msgstr "დაზიანებული BRIN ინდექსი: დიაპაზონის რუკა არამდგრადია" + +#: access/brin/brin_revmap.c:593 +#, c-format +msgid "unexpected page type 0x%04X in BRIN index \"%s\" block %u" +msgstr "გვერდის მოულოდნელი ტიპი 0x%04X BRIN ინდექსში \"%s\" ბლოკში %u" + +#: access/brin/brin_validate.c:118 access/gin/ginvalidate.c:151 access/gist/gistvalidate.c:153 access/hash/hashvalidate.c:139 access/nbtree/nbtvalidate.c:120 access/spgist/spgvalidate.c:189 +#, c-format +msgid "operator family \"%s\" of access method %s contains function %s with invalid support number %d" +msgstr "ოპერატორის ოჯახი \"%s\" წვდომის მეთოდიდან %s შეიცავს ფუნქციას %s არასწორი მხარდაჭერის ნომრით %d" + +#: access/brin/brin_validate.c:134 access/gin/ginvalidate.c:163 access/gist/gistvalidate.c:165 access/hash/hashvalidate.c:118 access/nbtree/nbtvalidate.c:132 access/spgist/spgvalidate.c:201 +#, c-format +msgid "operator family \"%s\" of access method %s contains function %s with wrong signature for support number %d" +msgstr "ოპერატორის ოჯახი (\"%s\") (წვდომის მეთოდისგან %s) შეიცავს ფუნქციას %s, რომელსაც არასწორი ხელმოწერა აქვს მხარდაჭერის ნომრით %d" + +#: access/brin/brin_validate.c:156 access/gin/ginvalidate.c:182 access/gist/gistvalidate.c:185 access/hash/hashvalidate.c:160 access/nbtree/nbtvalidate.c:152 access/spgist/spgvalidate.c:221 +#, c-format +msgid "operator family \"%s\" of access method %s contains operator %s with invalid strategy number %d" +msgstr "ოპერატორის ოჯახი \"%s\" წვდომის მეთოდის %s შეიცავს ოპერატორს %s არასწორი სტრატეგიის ნომრით %d" + +#: access/brin/brin_validate.c:185 access/gin/ginvalidate.c:195 access/hash/hashvalidate.c:173 access/nbtree/nbtvalidate.c:165 access/spgist/spgvalidate.c:237 +#, c-format +msgid "operator family \"%s\" of access method %s contains invalid ORDER BY specification for operator %s" +msgstr "ოპერატორის ოჯახი \"%s\" წვდომის მეთოდის %s შეიცავს არასწორი ORDER BY სპეციფიკაციას ოპერატორისთვის %s" + +#: access/brin/brin_validate.c:198 access/gin/ginvalidate.c:208 access/gist/gistvalidate.c:233 access/hash/hashvalidate.c:186 access/nbtree/nbtvalidate.c:178 access/spgist/spgvalidate.c:253 +#, c-format +msgid "operator family \"%s\" of access method %s contains operator %s with wrong signature" +msgstr "წვდომის მეთოდის %s ოპერატორის ოჯახი \"%s\" შეიცავს ოპერატორს %s არასწორი ხელმოწერით" + +#: access/brin/brin_validate.c:236 access/hash/hashvalidate.c:226 access/nbtree/nbtvalidate.c:236 access/spgist/spgvalidate.c:280 +#, c-format +msgid "operator family \"%s\" of access method %s is missing operator(s) for types %s and %s" +msgstr "ოპერატორის ოჯახს \"%s\" ( წვდომის მეთოდისგან \"%s\") აკლია ოპერატორი ტიპებისთვის %s და %s" + +#: access/brin/brin_validate.c:246 +#, c-format +msgid "operator family \"%s\" of access method %s is missing support function(s) for types %s and %s" +msgstr "ოპერატორის ოჯახს \"%s\" ( წვდომის მეთოდისგან \"%s\") აკლია ოპერატორი ტიპებისთვის %s და %s" + +#: access/brin/brin_validate.c:259 access/hash/hashvalidate.c:240 access/nbtree/nbtvalidate.c:260 access/spgist/spgvalidate.c:315 +#, c-format +msgid "operator class \"%s\" of access method %s is missing operator(s)" +msgstr "ოპერატორის კლასს \"%s\" (წვდომის მეთოდიდან %s) ოპერატორები აკლია" + +#: access/brin/brin_validate.c:270 access/gin/ginvalidate.c:250 access/gist/gistvalidate.c:274 +#, c-format +msgid "operator class \"%s\" of access method %s is missing support function %d" +msgstr "ოპერატორის კლასს \"%s\" წვდომის მეთოდიდან %s აკლია მხარდაჭერის ფუნქცია %d" + +#: access/common/attmap.c:122 +#, c-format +msgid "Returned type %s does not match expected type %s in column %d." +msgstr "დაბრუნებული ტიპი %s არ ემთხვევა მოსალოდნელ ტიპს %s სვეტისთვის %d." + +#: access/common/attmap.c:150 +#, c-format +msgid "Number of returned columns (%d) does not match expected column count (%d)." +msgstr "სვეტების დაბრუნებული რაოდენობა (%d) არ ემთხვევა მოსალოდნელს (%d) არ ემთხვევა." + +#: access/common/attmap.c:234 access/common/attmap.c:246 +#, c-format +msgid "could not convert row type" +msgstr "მწკრივის ტიპის გადაყვანის შეცდომა" + +#: access/common/attmap.c:235 +#, c-format +msgid "Attribute \"%s\" of type %s does not match corresponding attribute of type %s." +msgstr "ატრიბუტი %s ტიპისთვის %s ტიპის(%s) შესაბამის ატრიბუტს არ ემთხვევა." + +#: access/common/attmap.c:247 +#, c-format +msgid "Attribute \"%s\" of type %s does not exist in type %s." +msgstr "ატრიბუტი \"%s\" ტიპისთვის \"%s\" არ არსებობს ტიპში \"%s\"." + +#: access/common/heaptuple.c:1124 access/common/heaptuple.c:1459 +#, c-format +msgid "number of columns (%d) exceeds limit (%d)" +msgstr "სვეტების რაოდენობა (%d) აღემატება ლიმიტს (%d)" + +#: access/common/indextuple.c:89 +#, c-format +msgid "number of index columns (%d) exceeds limit (%d)" +msgstr "ინდექსის სვეტების რაოდენობა (%d) აღემატება ლიმიტს (%d)" + +#: access/common/indextuple.c:209 access/spgist/spgutils.c:950 +#, c-format +msgid "index row requires %zu bytes, maximum size is %zu" +msgstr "ინდექსის მწკრივი მოითხოვს %zu ბაიტს, მაქსიმალური ზომა %zu" + +#: access/common/printtup.c:292 tcop/fastpath.c:107 tcop/fastpath.c:454 tcop/postgres.c:1944 +#, c-format +msgid "unsupported format code: %d" +msgstr "ფორმატის მხარდაუჭერელი კოდი: %d" + +#: access/common/reloptions.c:521 access/common/reloptions.c:532 +msgid "Valid values are \"on\", \"off\", and \"auto\"." +msgstr "სწორი მნიშვნელობებია \"on\", \"off\" და \"auto\"." + +#: access/common/reloptions.c:543 +msgid "Valid values are \"local\" and \"cascaded\"." +msgstr "სწორი მნიშვნელობებია \"local\" და \"cascaded\"." + +#: access/common/reloptions.c:691 +#, c-format +msgid "user-defined relation parameter types limit exceeded" +msgstr "მომხმარებლის მიერ განსაზღვრული ურთიერთობის პარამეტრის ტიპებმა ლიმიტს გადააჭარბა" + +#: access/common/reloptions.c:1233 +#, c-format +msgid "RESET must not include values for parameters" +msgstr "RESET პარამეტრების მნიშვნელობებს არ უნდა შეიცავდეს" + +#: access/common/reloptions.c:1265 +#, c-format +msgid "unrecognized parameter namespace \"%s\"" +msgstr "პარამეტრების სახელების უცნობი სივრცე: \"%s\"" + +#: access/common/reloptions.c:1302 commands/variable.c:1167 +#, c-format +msgid "tables declared WITH OIDS are not supported" +msgstr "ცხრილები, აღწერილი WITH OIDS-ით, მხარდაუჭერელია" + +#: access/common/reloptions.c:1470 +#, c-format +msgid "unrecognized parameter \"%s\"" +msgstr "უცნობი პარამეტრი\"%s\"" + +#: access/common/reloptions.c:1582 +#, c-format +msgid "parameter \"%s\" specified more than once" +msgstr "პარამეტრი \"%s\" ერთზე მეტჯერაა მითთებული" + +#: access/common/reloptions.c:1598 +#, c-format +msgid "invalid value for boolean option \"%s\": %s" +msgstr "არასწორი მნიშვნელობა ლოგიკური პარამეტრისთვის \"%s\": %s" + +#: access/common/reloptions.c:1610 +#, c-format +msgid "invalid value for integer option \"%s\": %s" +msgstr "არასწორი მნიშვნელობა მთელი რიცხვის პარამეტრისთვის \"%s\": %s" + +#: access/common/reloptions.c:1616 access/common/reloptions.c:1636 +#, c-format +msgid "value %s out of bounds for option \"%s\"" +msgstr "მნიშვნელობა %s პარამეტრისთვის \"%s\" საზღვრებს გარეთაა" + +#: access/common/reloptions.c:1618 +#, c-format +msgid "Valid values are between \"%d\" and \"%d\"." +msgstr "სწორი მნიშვნელობები \"%d\"-სა და \"%d\"-ს შორისაა." + +#: access/common/reloptions.c:1630 +#, c-format +msgid "invalid value for floating point option \"%s\": %s" +msgstr "წილადი პარამეტრის (\"%s\") არასწორი მნიშვნელობა: %s" + +#: access/common/reloptions.c:1638 +#, c-format +msgid "Valid values are between \"%f\" and \"%f\"." +msgstr "სწორი მნიშვნელობების დიაპაზონია \"%f\"-სა და \"%f\"-ს შორის." + +#: access/common/reloptions.c:1660 +#, c-format +msgid "invalid value for enum option \"%s\": %s" +msgstr "ჩამონათვალი პარამეტრის \"%s\" არასწორი მნიშვნელობა: %s" + +#: access/common/reloptions.c:1991 +#, c-format +msgid "cannot specify storage parameters for a partitioned table" +msgstr "დაყოფილი ცხრილისთვის საცავის პარამეტრების მითითება შეუძლებელია" + +#: access/common/reloptions.c:1992 +#, c-format +#| msgid "cannot specify storage parameters for a partitioned table" +msgid "Specify storage parameters for its leaf partitions instead." +msgstr "" + +#: access/common/toast_compression.c:33 +#, c-format +msgid "compression method lz4 not supported" +msgstr "შეკუმშვის მეთოდი lz4 მხარდაუჭერელია" + +#: access/common/toast_compression.c:34 +#, c-format +msgid "This functionality requires the server to be built with lz4 support." +msgstr "ეს ფუნქციონალი მოითხოვს, რომ სერვერი lz4-ის მხარდაჭერით იყოს აგებული." + +#: access/common/tupdesc.c:837 commands/tablecmds.c:6953 commands/tablecmds.c:12973 +#, c-format +msgid "too many array dimensions" +msgstr "მასივის მეტისმეტად ბევრი განზომილება" + +#: access/common/tupdesc.c:842 parser/parse_clause.c:772 parser/parse_relation.c:1913 +#, c-format +msgid "column \"%s\" cannot be declared SETOF" +msgstr "სვეტი \"%s\" არ შეიძლება გამოცხადდეს SETOF" + +#: access/gin/ginbulk.c:44 +#, c-format +msgid "posting list is too long" +msgstr "პოსტინგის სია ძალიან გრძელია" + +#: access/gin/ginbulk.c:45 +#, c-format +msgid "Reduce maintenance_work_mem." +msgstr "Maintenance_work_mem-ის შემცირება." + +#: access/gin/ginfast.c:1041 +#, c-format +msgid "GIN pending list cannot be cleaned up during recovery." +msgstr "GIN მოლოდინი სია აღდგენის დროს ვერ გაიწმინდება." + +#: access/gin/ginfast.c:1048 +#, c-format +msgid "\"%s\" is not a GIN index" +msgstr "\"%s\" GIN ინდექსი არაა" + +#: access/gin/ginfast.c:1059 +#, c-format +msgid "cannot access temporary indexes of other sessions" +msgstr "სხვა სესიების დროებით ინდექსებზე წვდომა შეუძლებელია" + +#: access/gin/ginget.c:273 access/nbtree/nbtinsert.c:762 +#, c-format +msgid "failed to re-find tuple within index \"%s\"" +msgstr "კორტეჟის თავიდან პოვნის შეცდომა ინდექსში \"%s\"" + +#: access/gin/ginscan.c:431 +#, c-format +msgid "old GIN indexes do not support whole-index scans nor searches for nulls" +msgstr "ძველ GIN ინდექსებს არც ინდექსების სრული სკანირების მხარდაჭერა აქვს, არც ნულების ძებნის" + +#: access/gin/ginscan.c:432 +#, c-format +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:3996 utils/adt/arrayfuncs.c:6683 utils/adt/rowtypes.c:984 +#, c-format +msgid "could not identify a comparison function for type %s" +msgstr "ტიპისთვის \"%s\" შედარების ფუნქცია ვერ ვიპოვე" + +#: access/gin/ginvalidate.c:92 access/gist/gistvalidate.c:93 access/hash/hashvalidate.c:102 access/spgist/spgvalidate.c:102 +#, c-format +msgid "operator family \"%s\" of access method %s contains support function %s with different left and right input types" +msgstr "ოპერატორის ოჯახი \"%s\" (წვდომის მეთოდიდან %s) შეიცავს მხარდაჭერის ფუნქციას %s, რომელსაც სხვადასხვა მარცხენა და მარჯვენა შეყვანები გააჩნია" + +#: access/gin/ginvalidate.c:260 +#, c-format +msgid "operator class \"%s\" of access method %s is missing support function %d or %d" +msgstr "ოპერატორის ოჯახი \"%s\" (წვდომის მეთოდიდან %s) აკლია მხარდაჭერის ფუნქია %d ან %d" + +#: access/gin/ginvalidate.c:333 access/gist/gistvalidate.c:350 access/spgist/spgvalidate.c:387 +#, c-format +msgid "support function number %d is invalid for access method %s" +msgstr "მხარდაჭერის ფუნქცია ნომრით %d არასწორია წვდომის მეთოდისთვის: %s" + +#: access/gist/gist.c:759 access/gist/gistvacuum.c:426 +#, c-format +msgid "index \"%s\" contains an inner tuple marked as invalid" +msgstr "ინდექსი (\"%s\") შეიცავს შიდა კორტეჟს, რომელიც მონიშნულია, როგორც არასწორი" + +#: access/gist/gist.c:761 access/gist/gistvacuum.c:428 +#, c-format +msgid "This is caused by an incomplete page split at crash recovery before upgrading to PostgreSQL 9.1." +msgstr "გამოწვეულია ავარიის აღდგენისას გვერდის არასწორი დაყოფისგან, PostgreSQL 9.1-მდე განახლებამდე." + +#: access/gist/gist.c:762 access/gist/gistutil.c:801 access/gist/gistutil.c:812 access/gist/gistvacuum.c:429 access/hash/hashutil.c:227 access/hash/hashutil.c:238 access/hash/hashutil.c:250 access/hash/hashutil.c:271 access/nbtree/nbtpage.c:813 access/nbtree/nbtpage.c:824 +#, c-format +msgid "Please REINDEX it." +msgstr "გადაატარეთ REINDEX." + +#: access/gist/gist.c:1176 +#, c-format +msgid "fixing incomplete split in index \"%s\", block %u" +msgstr "ინდექსის (%s) არასწორი დაყოფის გასწორება. ბლოკი %u" + +#: access/gist/gistsplit.c:446 +#, c-format +msgid "picksplit method for column %d of index \"%s\" failed" +msgstr "picksplit მეთოდის შეცდომა სვეტისთვის %d ინდექსიდან \"%s\"" + +#: access/gist/gistsplit.c:448 +#, c-format +msgid "The index is not optimal. To optimize it, contact a developer, or try to use the column as the second one in the CREATE INDEX command." +msgstr "ინდექსი ოპტიმალური არაა. ოპტიმიზაციისთვის დაუკავშირდით დეველოპერს ან სცადეთ ეს სვეტი CREATE INDEX ბრძანებაში, როგორც მეორე, ისე გამოიყენოთ." + +#: access/gist/gistutil.c:798 access/hash/hashutil.c:224 access/nbtree/nbtpage.c:810 +#, c-format +msgid "index \"%s\" contains unexpected zero page at block %u" +msgstr "ინდექსი \"%s\" ბლოკ %u-სთან მოულოდნელ ნულოვან გვერდს შეიცავს" + +#: access/gist/gistutil.c:809 access/hash/hashutil.c:235 access/hash/hashutil.c:247 access/nbtree/nbtpage.c:821 +#, c-format +msgid "index \"%s\" contains corrupted page at block %u" +msgstr "ინდექსი \"%s\" შეიცავს გაფუჭებულ გვერდს ბლოკთან %u" + +#: access/gist/gistvalidate.c:203 +#, c-format +msgid "operator family \"%s\" of access method %s contains unsupported ORDER BY specification for operator %s" +msgstr "ოპერატორის ოჯახი \"%s\" (წვდომის მეთოდიდან %s) ოპერატორისთვის %s მხარდაუჭერელ ORDER BY-ის სპეფიციკაციას შეიცავს" + +#: access/gist/gistvalidate.c:214 +#, c-format +msgid "operator family \"%s\" of access method %s contains incorrect ORDER BY opfamily specification for operator %s" +msgstr "ოპერატორის ოჯახი \"%s\" (წვდომის მეთოდიდან %s) ოპერატორისთვის %s არასწორ ORDER BY-ის სპეფიციკაციას შეიცავს" + +#: access/hash/hashfunc.c:279 access/hash/hashfunc.c:333 utils/adt/varchar.c:1009 utils/adt/varchar.c:1064 +#, c-format +msgid "could not determine which collation to use for string hashing" +msgstr "სტრიქონების ჰეშირებისთვის საჭირო კოლაციის გარკვევა შეუძლებელია" + +#: access/hash/hashfunc.c:280 access/hash/hashfunc.c:334 catalog/heap.c:668 catalog/heap.c:674 commands/createas.c:206 commands/createas.c:515 commands/indexcmds.c:2039 commands/tablecmds.c:17462 commands/view.c:86 regex/regc_pg_locale.c:243 utils/adt/formatting.c:1648 utils/adt/formatting.c:1770 utils/adt/formatting.c:1893 utils/adt/like.c:191 utils/adt/like_support.c:1025 utils/adt/varchar.c:739 utils/adt/varchar.c:1010 utils/adt/varchar.c:1065 +#: utils/adt/varlena.c:1518 +#, c-format +msgid "Use the COLLATE clause to set the collation explicitly." +msgstr "კოლაციის ხელით მისათითებლად გამოიყენეთ COLLATE." + +#: access/hash/hashinsert.c:86 +#, c-format +msgid "index row size %zu exceeds hash maximum %zu" +msgstr "ინდექსის მწკრივის ზომა %zu აჭარბებს ჰეშის მაქსიმუმს %zu" + +#: access/hash/hashinsert.c:88 access/spgist/spgdoinsert.c:2006 access/spgist/spgdoinsert.c:2283 access/spgist/spgutils.c:1011 +#, c-format +msgid "Values larger than a buffer page cannot be indexed." +msgstr "ბაფერის გვერდზე დიდი მნიშვნელობების დაინდექსება შეუძლებელია." + +#: access/hash/hashovfl.c:88 +#, c-format +msgid "invalid overflow block number %u" +msgstr "გადავსებული ბლოკის არასწორი ნომერი: \"%u\"" + +#: access/hash/hashovfl.c:284 access/hash/hashpage.c:454 +#, c-format +msgid "out of overflow pages in hash index \"%s\"" +msgstr "ჰეშ-ინდექსში \"%s\" გადავსების გვერდები საკმარისი არაა" + +#: access/hash/hashsearch.c:315 +#, c-format +msgid "hash indexes do not support whole-index scans" +msgstr "ჰეშის ინდექსებს სრული ინდექსების სკანირების მხარდაჭერა არ გააჩნიათ" + +#: access/hash/hashutil.c:263 +#, c-format +msgid "index \"%s\" is not a hash index" +msgstr "ინდექსი \"%s\" ჰეშ ინდექსი არაა" + +#: access/hash/hashutil.c:269 +#, c-format +msgid "index \"%s\" has wrong hash version" +msgstr "ინდექსს \"%s\" ჰეშის არასწორი ვერსია აქვს" + +#: access/hash/hashvalidate.c:198 +#, c-format +msgid "operator family \"%s\" of access method %s lacks support function for operator %s" +msgstr "ოპერატორის ოჯახს \"%s\" (წვდომის მეთოდიდან \"%s\") აკლია მხარდაჭერის ფუნქცია ოპერატორისთვის %s" + +#: access/hash/hashvalidate.c:256 access/nbtree/nbtvalidate.c:276 +#, c-format +msgid "operator family \"%s\" of access method %s is missing cross-type operator(s)" +msgstr "ოპერატორის ოჯახს \"%s\" წვდომის მეთოდში %s ჯვარედინი ტიპის ოპერატორები აკლია" + +#: access/heap/heapam.c:2027 +#, c-format +msgid "cannot insert tuples in a parallel worker" +msgstr "პარალელურ დამხმარე პროცესში კორტეჟებს ვერ ჩასვამთ" + +#: access/heap/heapam.c:2546 +#, c-format +msgid "cannot delete tuples during a parallel operation" +msgstr "პარალელური ოპერაციის დროს კორტეჟის წაშლა შეუძლებელია" + +#: access/heap/heapam.c:2593 +#, c-format +msgid "attempted to delete invisible tuple" +msgstr "უხილავი კორტეჟის წაშლის მცდელობა" + +#: access/heap/heapam.c:3036 access/heap/heapam.c:5903 +#, c-format +msgid "cannot update tuples during a parallel operation" +msgstr "პარალელური ოპერაციის დროს კორტეჟის განახლება შეუძლებელია" + +#: access/heap/heapam.c:3164 +#, c-format +msgid "attempted to update invisible tuple" +msgstr "უხილავი კორტეჟის განახლების მცდელობა" + +#: access/heap/heapam.c:4551 access/heap/heapam.c:4589 access/heap/heapam.c:4854 access/heap/heapam_handler.c:467 +#, c-format +msgid "could not obtain lock on row in relation \"%s\"" +msgstr "ურთიერთობაში \"%s\" მწკრივის დაბლოკვის შეცდომა" + +#: access/heap/heapam_handler.c:412 +#, c-format +msgid "tuple to be locked was already moved to another partition due to concurrent update" +msgstr "დასაბლოკი კორტეჟი პარალელური განახლების გამო უკვე სხვა დანაყოფშია გადატანილი" + +#: access/heap/hio.c:536 access/heap/rewriteheap.c:659 +#, c-format +msgid "row is too big: size %zu, maximum size %zu" +msgstr "მწკრივი ძალიან დიდია: ზომა %zu, მაქსიმალური ზომაა %zu" + +#: access/heap/rewriteheap.c:919 +#, c-format +msgid "could not write to file \"%s\", wrote %d of %d: %m" +msgstr "ფაილში \"%s\" ჩაწერა შეუძლებელია. ჩაწერილია %d %d-დან: %m" + +#: access/heap/rewriteheap.c:1011 access/heap/rewriteheap.c:1128 access/transam/timeline.c:329 access/transam/timeline.c:481 access/transam/xlog.c:2971 access/transam/xlog.c:3162 access/transam/xlog.c:3938 access/transam/xlog.c:8744 access/transam/xlogfuncs.c:702 backup/basebackup_server.c:151 backup/basebackup_server.c:244 commands/dbcommands.c:518 postmaster/postmaster.c:4554 postmaster/postmaster.c:5557 replication/logical/origin.c:603 replication/slot.c:1770 +#: storage/file/copydir.c:157 storage/smgr/md.c:232 utils/time/snapmgr.c:1263 +#, c-format +msgid "could not create file \"%s\": %m" +msgstr "ფაილის (%s) შექმნის შეცდომა: %m" + +#: access/heap/rewriteheap.c:1138 +#, c-format +msgid "could not truncate file \"%s\" to %u: %m" +msgstr "ფაილის (%s) %u-მდე მოკვეთის შეცდომა: %m" + +#: access/heap/rewriteheap.c:1156 access/transam/timeline.c:384 access/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 replication/logical/origin.c:615 replication/logical/origin.c:657 replication/logical/origin.c:676 replication/logical/snapbuild.c:1767 replication/slot.c:1805 +#: storage/file/buffile.c:545 storage/file/copydir.c:197 utils/init/miscinit.c:1605 utils/init/miscinit.c:1616 utils/init/miscinit.c:1624 utils/misc/guc.c:4331 utils/misc/guc.c:4362 utils/misc/guc.c:5490 utils/misc/guc.c:5508 utils/time/snapmgr.c:1268 utils/time/snapmgr.c:1275 +#, c-format +msgid "could not write to file \"%s\": %m" +msgstr "ფაილში (%s) ჩაწერის შეცდომა: %m" + +#: access/heap/vacuumlazy.c:482 +#, c-format +msgid "aggressively vacuuming \"%s.%s.%s\"" +msgstr "აგრესიული დამტვერსასრუტება \"%s.%s.%s\"" + +#: access/heap/vacuumlazy.c:487 +#, c-format +msgid "vacuuming \"%s.%s.%s\"" +msgstr "დამტვერსასრუტება \"%s.%s.%s\"" + +#: access/heap/vacuumlazy.c:635 +#, c-format +msgid "finished vacuuming \"%s.%s.%s\": index scans: %d\n" +msgstr "მომტვერსასრუტება დასრულებულია \"%s.%s.%s\": დასკანერებული ინდექსები: %d\n" + +#: access/heap/vacuumlazy.c:646 +#, c-format +msgid "automatic aggressive vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: %d\n" +msgstr "ჩაციკვლის თავიდან ასაცილებლად ავტომატური აგრესიული მომტვერსასრუტება ცხრილისთვის \"%s.%s.%s\": ინდექსის სკანირების რიცხვი: %d\n" + +#: access/heap/vacuumlazy.c:648 +#, c-format +msgid "automatic vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: %d\n" +msgstr "ჩაციკვლის თავიდან ასაცილებლად ავტომატური მომტვერსასრუტება ცხრილისთვის \"%s.%s.%s\": ინდექსის სკანირების რიცხვი: %d\n" + +#: access/heap/vacuumlazy.c:653 +#, c-format +msgid "automatic aggressive vacuum of table \"%s.%s.%s\": index scans: %d\n" +msgstr "ცხრილის (\"%s.%s.%s\") ავტომატური აგრესიული მომტვერსასრუტება: %d\n" + +#: access/heap/vacuumlazy.c:655 +#, c-format +msgid "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n" +msgstr "ცხრილის (\"%s.%s.%s\") ავტომატური მომტვერსასრუტება: ინდექსების სკანირება: %d\n" + +#: access/heap/vacuumlazy.c:662 +#, 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 +#, 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 +#, c-format +msgid "tuples missed: %lld dead from %u pages not removed due to cleanup lock contention\n" +msgstr "გასუფთავების ბლოკირების კონფლიქტის გამო გამოტოვებული სტრიქონების ვერსიები: %lld, %u გვერდიდან\n" + +#: access/heap/vacuumlazy.c:681 +#, 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 +#, 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 +#, c-format +msgid "new relminmxid: %u, which is %d MXIDs ahead of previous value\n" +msgstr "ახალი relminmxid: %u, რომელიც წინა მნიშვნელობაზე %d MXID-ით წინაა\n" + +#: access/heap/vacuumlazy.c:699 +#, 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 +msgid "index scan not needed: " +msgstr "ინდექსების სკანირება საჭირო არაა: " + +#: access/heap/vacuumlazy.c:709 +msgid "index scan needed: " +msgstr "ინდექსების სკანირება საჭიროა: " + +#: access/heap/vacuumlazy.c:711 +#, 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 +msgid "index scan bypassed: " +msgstr "სკანირებისას გამოტოვებული ინდექსები: " + +#: access/heap/vacuumlazy.c:718 +msgid "index scan bypassed by failsafe: " +msgstr "სკანირებისას უსაფრთხოების გამო გამოტოვებული ინდექსები: " + +#: access/heap/vacuumlazy.c:720 +#, 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 +#, 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 +#, 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 +#, c-format +msgid "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n" +msgstr "კითხვის საშ. სიჩქარე: %.3f მბ/წმ, ჩაწერის საშ. სიჩქარე: %.3f მბ/წმ\n" + +#: access/heap/vacuumlazy.c:760 commands/analyze.c:801 +#, c-format +msgid "buffer usage: %lld hits, %lld misses, %lld dirtied\n" +msgstr "ბაფერის გამოყენება: %lld მოხვედრა, %lld აცდენა, %lld ტურტლიანი\n" + +#: access/heap/vacuumlazy.c:765 +#, 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 +#, c-format +msgid "system usage: %s" +msgstr "სისტემური გამოყენება: %s" + +#: access/heap/vacuumlazy.c:2482 +#, c-format +msgid "table \"%s\": removed %lld dead item identifiers in %u pages" +msgstr "ცხრილი \"%s\": წაიშალა %lld მკვდარი ჩანაწერის იდენტიფიკატორი %u გვერდზე" + +#: access/heap/vacuumlazy.c:2642 +#, c-format +msgid "bypassing nonessential maintenance of table \"%s.%s.%s\" as a failsafe after %d index scans" +msgstr "ცხრილის \"%s.%s.%s\" უმნიშვნელო ოპერაციის გამოტოვება დაცვის მიზნით %d ინდექსის სკანირების შემდეგ" + +#: access/heap/vacuumlazy.c:2645 +#, c-format +msgid "The table's relfrozenxid or relminmxid is too far in the past." +msgstr "ცხრილის relfrozenxid -ის და relminmxid -ის მნიშვნელობები ძალიან უკანაა წარშულში." + +#: access/heap/vacuumlazy.c:2646 +#, c-format +msgid "" +"Consider increasing configuration parameter \"maintenance_work_mem\" or \"autovacuum_work_mem\".\n" +"You might also need to consider other ways for VACUUM to keep up with the allocation of transaction IDs." +msgstr "" +"მხედველობაში იქონიეთ, რომ საჭიროა კონფიგურაციის პარამეტრის \"maintenance_work_mem\" ან \"autovacuum_work_mem\" გაზრდა.\n" +"ასევე შეიძლება დაგჭირდეთ განიხილოთ მომტვერსასრუტების სხვა გზები, რომ დაეწიოთ ტრანზაქცების ID-ების გამოყოფას." + +#: access/heap/vacuumlazy.c:2891 +#, c-format +msgid "\"%s\": stopping truncate due to conflicting lock request" +msgstr "%s: წაკვეთის შეჩერება ბლოკირების კონფლიქტური მოთხოვნის გამო" + +#: access/heap/vacuumlazy.c:2961 +#, c-format +msgid "table \"%s\": truncated %u to %u pages" +msgstr "ცხრილი \"%s\": წაიკვეთა %u-დან %u გვერდზე" + +#: access/heap/vacuumlazy.c:3023 +#, c-format +msgid "table \"%s\": suspending truncate due to conflicting lock request" +msgstr "ცხრილი %s: წაკვეთის შეჩერება ბლოკირების კონფლიქტური მოთხოვნის გამო" + +#: access/heap/vacuumlazy.c:3183 +#, c-format +msgid "disabling parallel option of vacuum on \"%s\" --- cannot vacuum temporary tables in parallel" +msgstr "%s-ზე პარალელური მომტვერსასრუტების გამორთვა --- დროებითი ცხრილების პარალელური მომტვერსასრუტება შეუძლებელია" + +#: access/heap/vacuumlazy.c:3399 +#, c-format +msgid "while scanning block %u offset %u of relation \"%s.%s\"" +msgstr "ურთიერთობის(%3$s.%4$s) წანაცვლების(%2$u) ბლოკის(%1$u) სკანირებისას" + +#: access/heap/vacuumlazy.c:3402 +#, c-format +msgid "while scanning block %u of relation \"%s.%s\"" +msgstr "%u ბლოკის (ურთიერთობის %s.%s) სკანირებისას" + +#: access/heap/vacuumlazy.c:3406 +#, c-format +msgid "while scanning relation \"%s.%s\"" +msgstr "ურთიერთობის სკანირებისას \"%s.%s\"" + +#: access/heap/vacuumlazy.c:3414 +#, c-format +msgid "while vacuuming block %u offset %u of relation \"%s.%s\"" +msgstr "ბლოკის %u, წანაცვლება %u (ურთიერთობის \"%s.%s\") მომტვერსასრუტებისას" + +#: access/heap/vacuumlazy.c:3417 +#, c-format +msgid "while vacuuming block %u of relation \"%s.%s\"" +msgstr "ბლოკის (%u) მომტვერსასრუტებისას (ურთიერთობიდან \"%s.%s\")" + +#: access/heap/vacuumlazy.c:3421 +#, c-format +msgid "while vacuuming relation \"%s.%s\"" +msgstr "ურთერთობის დამტვერსასრუტებისას \"%s.%s\"" + +#: access/heap/vacuumlazy.c:3426 commands/vacuumparallel.c:1074 +#, c-format +msgid "while vacuuming index \"%s\" of relation \"%s.%s\"" +msgstr "ინდექსის (%s) მომტვერსასრუტებისას (ურთიერთობიდან \"%s.%s\")" + +#: access/heap/vacuumlazy.c:3431 commands/vacuumparallel.c:1080 +#, c-format +msgid "while cleaning up index \"%s\" of relation \"%s.%s\"" +msgstr "ინდექსის \"%s\" მოსუფთავებისას, რომელიც ეკუთვნის ურთიერთობას \"%s.%s\"" + +#: access/heap/vacuumlazy.c:3437 +#, c-format +msgid "while truncating relation \"%s.%s\" to %u blocks" +msgstr "ურთიერთობის \"%s.%s\" %u ბლოკამდე მოკვეთისას" + +#: access/index/amapi.c:83 commands/amcmds.c:143 +#, c-format +msgid "access method \"%s\" is not of type %s" +msgstr "წვდომის მეთოდი \"%s\" არ არის ტიპის %s" + +#: access/index/amapi.c:99 +#, c-format +msgid "index access method \"%s\" does not have a handler" +msgstr "ინდექსის წვდომის მეთოდს \"%s\" დამმუშავებელი არ აქვს" + +#: access/index/genam.c:490 +#, c-format +msgid "transaction aborted during system catalog scan" +msgstr "ტრანზაქცია გაუქმდა სისტემური კატალოგის სკანირებისას" + +#: 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 +#, c-format +msgid "\"%s\" is not an index" +msgstr "\"%s\" ინდექსი არაა" + +#: access/index/indexam.c:979 +#, c-format +msgid "operator class %s has no options" +msgstr "ოპერატორის კლასს %s პარამეტრები არ გააჩნია" + +#: access/nbtree/nbtinsert.c:668 +#, c-format +msgid "duplicate key value violates unique constraint \"%s\"" +msgstr "დუბლირებული გასაღების მნიშვნელობა არღვევს უნიკალურ შეზღუდვას \"%s\"" + +#: access/nbtree/nbtinsert.c:670 +#, c-format +msgid "Key %s already exists." +msgstr "გასაღები უკვე არსებობს: %s." + +#: access/nbtree/nbtinsert.c:764 +#, c-format +msgid "This may be because of a non-immutable index expression." +msgstr "შეიძლებa ინდექსის გამოსახულების შეცვლადობის ბრალი იყოს." + +#: access/nbtree/nbtpage.c:157 access/nbtree/nbtpage.c:611 parser/parse_utilcmd.c:2317 +#, c-format +msgid "index \"%s\" is not a btree" +msgstr "ინდექსი \"%s\" ორობითი ხე არაა" + +#: 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 "შეუთავსებელი ვერსია ინდექსში \"%s\": ფაილის ვერსია %d, მიმდინარე ვერსია %d, მინიმალურ მხარდაჭერილი ვერსია %d" + +#: access/nbtree/nbtpage.c:1866 +#, c-format +msgid "index \"%s\" contains a half-dead internal page" +msgstr "ინდექსი (\"%s\") ნახევრად მკვდარ შიდა გვერდს შეიცავს" + +#: 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 "შესაძლებელია გამოწვეული იყოს შეწყვეტილი მომტვერსასრუტების მიერ 9.3 ან უფრო ძველ ვერსიაში. განახლებამდე საჭიროა REINDEX-ის გადატარება." + +#: access/nbtree/nbtutils.c:2662 +#, c-format +msgid "index row size %zu exceeds btree version %u maximum %zu for index \"%s\"" +msgstr "ინდექსის სტრიქონის ზომა %zu btree-ის ვერსიის (%u) მაქსიმალურ (%zu) მნიშვნელობაზე მეტია, ინდექსისთვის \"%s\"" + +#: access/nbtree/nbtutils.c:2668 +#, c-format +msgid "Index row references tuple (%u,%u) in relation \"%s\"." +msgstr "ინდექსის მწკრივები გადაბმულია კორტეჟზე (%u, %u) ურთიერთობაში \"%s\"." + +#: access/nbtree/nbtutils.c:2672 +#, c-format +msgid "" +"Values larger than 1/3 of a buffer page cannot be indexed.\n" +"Consider a function index of an MD5 hash of the value, or use full text indexing." +msgstr "" +"ბუფერის გვერდის 1/3-ზე მეტი მნიშვნელობების ინდექსირება შეუძლებელია.\n" +"სჯობს დააყენოთ ამ მნიშვნელობის MD5 ჰეშის ფუნქციის ინდექსი ან სრული ტექსტური ინდექსირება გამოიყენეთ." + +#: access/nbtree/nbtvalidate.c:246 +#, c-format +msgid "operator family \"%s\" of access method %s is missing support function for types %s and %s" +msgstr "ოპერატორის ოჯახი \"%s\" წვდომის მეთოდის %s აკლია მხარდაჭერის ფუნქცია ტიპებისთვის %s და %s" + +#: access/spgist/spgutils.c:245 +#, c-format +msgid "compress method must be defined when leaf type is different from input type" +msgstr "როდესაც ფოთლის ტიპი შეყვანის ტიპისგან განსხვავდება, შეკუმშვის მეთოდის მითითება აუცილებელია" + +#: access/spgist/spgutils.c:1008 +#, c-format +msgid "SP-GiST inner tuple size %zu exceeds maximum %zu" +msgstr "SP-GiST-ის შიდა კორტეჟის ზომა%zu მაქსიმუმს %zu აჭარბებს" + +#: access/spgist/spgvalidate.c:136 +#, c-format +msgid "SP-GiST leaf data type %s does not match declared type %s" +msgstr "SP-GiST ფოთლის მონაცემების ტიპი %s არ ემთხვევა აღწერილ ტიპს: %s" + +#: access/spgist/spgvalidate.c:302 +#, c-format +msgid "operator family \"%s\" of access method %s is missing support function %d for type %s" +msgstr "ოპერატორის ოჯახს \"%s\" ( წვდომის მეთოდისგან \"%s\") აკლია მხარდაჭერის ფუნქცია (%d) ტიპისთვის: %s" + +#: access/table/table.c:145 optimizer/util/plancat.c:145 +#, c-format +msgid "cannot open relation \"%s\"" +msgstr "ურთიერთობის (\"%s\") გახსნა შეუძლებელია" + +#: access/table/tableam.c:265 +#, c-format +msgid "tid (%u, %u) is not valid for relation \"%s\"" +msgstr "კორტეჟის იდენტიფიკატორი (%u, %u) არასწორია ურთიერთობისთვის: \"%s\"" + +#: access/table/tableamapi.c:116 +#, c-format +msgid "%s cannot be empty." +msgstr "%s ცარიელი არ შეიძლება იყოს." + +#: access/table/tableamapi.c:123 access/transam/xlogrecovery.c:4774 +#, c-format +msgid "%s is too long (maximum %d characters)." +msgstr "%s ძალიან გრძელია (მაქს %d სიმბოლო)" + +#: access/table/tableamapi.c:146 +#, c-format +msgid "table access method \"%s\" does not exist" +msgstr "ცხრილის წვდომის მეთოდი \"%s\" არ არსებობს" + +#: access/table/tableamapi.c:151 +#, c-format +msgid "Table access method \"%s\" does not exist." +msgstr "ცხრილის წვდომის მეთოდი \"%s\" არ არსებობს." + +#: access/tablesample/bernoulli.c:148 access/tablesample/system.c:152 +#, c-format +msgid "sample percentage must be between 0 and 100" +msgstr "უბრალო პროცენტის დიაპაზონია 0-100" + +#: access/transam/commit_ts.c:279 +#, c-format +msgid "cannot retrieve commit timestamp for transaction %u" +msgstr "ტრანზაქციის (%u) გადაცემის დროის შტამპის მიღების შეცდომა" + +#: access/transam/commit_ts.c:377 +#, c-format +msgid "could not get commit timestamp data" +msgstr "მონაცემების გადაცემის დროის მიღების შეცდომა" + +#: access/transam/commit_ts.c:379 +#, c-format +msgid "Make sure the configuration parameter \"%s\" is set on the primary server." +msgstr "დარწმუნდით, რომ ძირითად სერვერზე კონფიგურაციის პარამეტრი \"%s\" დაყენებულია." + +#: access/transam/commit_ts.c:381 +#, c-format +msgid "Make sure the configuration parameter \"%s\" is set." +msgstr "დარწმუნდით, რომ კონფიგურაციის პარამეტრი \"%s\" დაყენებულია." + +#: access/transam/multixact.c:1023 +#, c-format +msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database \"%s\"" +msgstr "ბაზაში (\"%s\") მონაცემების ჩაციკვლის თავიდან ასაცილებლად მონაცემთა ბაზა ბრძანებებს, რომლებიც ახალ მულტიტრანზაქციებს აგენერირებენ, არ იღებს." + +#: access/transam/multixact.c:1025 access/transam/multixact.c:1032 access/transam/multixact.c:1056 access/transam/multixact.c:1065 +#, c-format +msgid "" +"Execute a database-wide VACUUM in that database.\n" +"You might also need to commit or roll back old prepared transactions, or drop stale replication slots." +msgstr "" +"გაუშვით მთელი ბაზის მომტვერსასრუტება.\n" +"ასევე შეიძლება დაგჭირდეთ ძველი მომზადებული ტრანზაქციების გადაცემა ან გაუქმება, ან წაშალეთ გაჭედილი რეპლიკაციის სლოტები." + +#: access/transam/multixact.c:1030 +#, c-format +msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database with OID %u" +msgstr "ბაზაში (OID-ით \"%u\") მონაცემების გადატანის თავიდან ასაცილებლად მონაცემთა ბაზა ბრძანებებს, რომლებიც ახალ მულტიტრანზაქციებს აგენერირებენ, არ იღებს" + +#: access/transam/multixact.c:1051 access/transam/multixact.c:2333 +#, c-format +msgid "database \"%s\" must be vacuumed before %u more MultiXactId is used" +msgid_plural "database \"%s\" must be vacuumed before %u more MultiXactIds are used" +msgstr[0] "კიდევ %2$u მულტიტრანზაქციის გამოსაყენებლად ბაზის (%1$s) მომტვერსასრუტებაა საჭირო" +msgstr[1] "კიდევ %2$u მულტიტრანზაქციის გამოსაყენებლად ბაზის (%1$s) მომტვერსასრუტებაა საჭირო" + +#: access/transam/multixact.c:1060 access/transam/multixact.c:2342 +#, c-format +msgid "database with OID %u must be vacuumed before %u more MultiXactId is used" +msgid_plural "database with OID %u must be vacuumed before %u more MultiXactIds are used" +msgstr[0] "კიდევ %2$u მულტიტრანზაქციის გამოსაყენებლად OID-ი %1$u -ის მქონე ბაზა ჯერ უნდა დამტვერსასრუტდეს" +msgstr[1] "კიდევ %2$u მულტიტრანზაქციის გამოსაყენებლად OID-ი %1$u -ის მქონე ბაზა ჯერ უნდა დამტვერსასრუტდეს" + +#: access/transam/multixact.c:1121 +#, c-format +msgid "multixact \"members\" limit exceeded" +msgstr "მულტიტრანზაქციული \"წევრების\" ლიმიტი გადაჭარბებულია" + +#: access/transam/multixact.c:1122 +#, c-format +msgid "This command would create a multixact with %u members, but the remaining space is only enough for %u member." +msgid_plural "This command would create a multixact with %u members, but the remaining space is only enough for %u members." +msgstr[0] "ბრძანება კი შექმნიდა %u-წევრიან მულტიტრანზაქციას, მაგრამ დარჩენილი ადგილი მხოლოდ %u წევრს ეყოფა." +msgstr[1] "ბრძანება კი შექმნიდა %u-წევრიან მულტიტრანზაქციას, მაგრამ დარჩენილი ადგილი მხოლოდ %u წევრს ეყოფა." + +#: access/transam/multixact.c:1127 +#, c-format +msgid "Execute a database-wide VACUUM in database with OID %u with reduced vacuum_multixact_freeze_min_age and vacuum_multixact_freeze_table_age settings." +msgstr "მთელ ბაზაზე მომტვერსასრუტების შესრულება ბაზაში OID-ით %u შემცირებული vacuum_multixact_freeze_min_age და vacuum_multixact_freeze_table_age პარამეტრებით." + +#: access/transam/multixact.c:1158 +#, c-format +msgid "database with OID %u must be vacuumed before %d more multixact member is used" +msgid_plural "database with OID %u must be vacuumed before %d more multixact members are used" +msgstr[0] "ბაზა OID-ით %u უნდა მომტვერსასრუტდეს მანამდე, სანამ კიდევ %d მულტიტრანზაქციული წევრი იქნება გამოყენებული" +msgstr[1] "ბაზა OID-ით %u უნდა მომტვერსასრუტდეს მანამდე, სანამ კიდევ %d მულტიტრანზაქციული წევრი იქნება გამოყენებული" + +#: access/transam/multixact.c:1163 +#, c-format +msgid "Execute a database-wide VACUUM in that database with reduced vacuum_multixact_freeze_min_age and vacuum_multixact_freeze_table_age settings." +msgstr "მთელ ბაზაზე მომტვერსასრუტების შესრულება მითითებულ ბაზაში შემცირებული vacuum_multixact_freeze_min_age და vacuum_multixact_freeze_table_age პარამეტრებით." + +#: access/transam/multixact.c:1302 +#, c-format +msgid "MultiXactId %u does no longer exist -- apparent wraparound" +msgstr "MultiXactId %u აღარ არსებობს - აშკარა გადატანა" + +#: access/transam/multixact.c:1308 +#, c-format +msgid "MultiXactId %u has not been created yet -- apparent wraparound" +msgstr "MultiXactId %u ჯერ არ არის შექმნილი - აშკარა გადატანა" + +#: access/transam/multixact.c:2338 access/transam/multixact.c:2347 access/transam/varsup.c:151 access/transam/varsup.c:158 access/transam/varsup.c:466 access/transam/varsup.c:473 +#, c-format +msgid "" +"To avoid a database shutdown, execute a database-wide VACUUM in that database.\n" +"You might also need to commit or roll back old prepared transactions, or drop stale replication slots." +msgstr "" +"მონაცემთა ბაზის გამორთვის თავიდან ასაცილებლად, შეასრულეთ მონაცემთა ბაზის მასშტაბით ვაკუუმი ამ მონაცემთა ბაზაში.\n" +"თქვენ ასევე შეიძლება დაგჭირდეთ ძველი მომზადებული ტრანზაქციების ჩადენა ან დაბრუნება, ან შემორჩენილი რეპლიკაციის სლოტების წაშლა." + +#: access/transam/multixact.c:2622 +#, c-format +msgid "MultiXact member wraparound protections are disabled because oldest checkpointed MultiXact %u does not exist on disk" +msgstr "მულტიტრანზაქციული წევრის გადატანის დაცვის ფუნქციები გათიშულია, რადგან უძველესი საკონტროლო წერტილის მქონე მულტიტრანზაქცია %u დისკზე არ არსებობს" + +#: access/transam/multixact.c:2644 +#, c-format +msgid "MultiXact member wraparound protections are now enabled" +msgstr "მულტიტრანზაქციების ჩაციკვლისგან დაცვის მექანიზმები ახლა ჩართულია" + +#: access/transam/multixact.c:3027 +#, c-format +msgid "oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation" +msgstr "უძველესი მულტიტრანზაქცია %u ვერ ვიპოვე. უახლესი მულტიტრანზაქციაა %u. წაკვეთა გამოტოვებული იქნება" + +#: access/transam/multixact.c:3045 +#, 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 +#, c-format +msgid "invalid MultiXactId: %u" +msgstr "არასწორი MultiXactId: %u" + +#: access/transam/parallel.c:729 access/transam/parallel.c:848 +#, c-format +msgid "parallel worker failed to initialize" +msgstr "პარალელური დამხმარე პროცესის ინიციალიზაციის შეცდომა" + +#: access/transam/parallel.c:730 access/transam/parallel.c:849 +#, c-format +msgid "More details may be available in the server log." +msgstr "მეტი დეტალები შეიძლება სერვერის ჟურნალში იყოს ხელმისაწვდომი." + +#: access/transam/parallel.c:910 +#, c-format +msgid "postmaster exited during a parallel transaction" +msgstr "postmaster-ი დასრულდა პარალელური ტრანზაქციისას" + +#: access/transam/parallel.c:1097 +#, c-format +msgid "lost connection to parallel worker" +msgstr "პარალელური დამხმარე პროცესთან კავშირი დაკარგულია" + +#: access/transam/parallel.c:1163 access/transam/parallel.c:1165 +msgid "parallel worker" +msgstr "პარალელური დამხმარე პროცესი" + +#: access/transam/parallel.c:1319 replication/logical/applyparallelworker.c:893 +#, c-format +msgid "could not map dynamic shared memory segment" +msgstr "დინამიური გაზიარებული მეხსიერების სეგმენტის მიბმის შეცდომა" + +#: access/transam/parallel.c:1324 replication/logical/applyparallelworker.c:899 +#, c-format +msgid "invalid magic number in dynamic shared memory segment" +msgstr "დინამიური გაზიარებული მეხსიერების სეგმენტის არასწორი მაგიური რიცხვი" + +#: access/transam/rmgr.c:84 +#, c-format +msgid "resource manager with ID %d not registered" +msgstr "რესურსის მმართველი ID-ით %d რეგისტრირებული არაა" + +#: access/transam/rmgr.c:85 +#, c-format +msgid "Include the extension module that implements this resource manager in shared_preload_libraries." +msgstr "ასევე ჩაირთვება გაფართოების მოდული, რომელიც ახორციელებს რესურსის ამ მმართველს shared_preload_libraries-ში." + +#: access/transam/rmgr.c:101 +#, c-format +msgid "custom resource manager name is invalid" +msgstr "რესურსების ხელით მითითებული მმართველის სახელი არასწორია" + +#: access/transam/rmgr.c:102 +#, c-format +msgid "Provide a non-empty name for the custom resource manager." +msgstr "მიუთითეთ რესურსების ხელით მითითებული მმართველის არაცარიელი სახელი." + +#: access/transam/rmgr.c:105 +#, c-format +msgid "custom resource manager ID %d is out of range" +msgstr "რესურსების ხელით მითითებული მმართველის ID %d დიაპაზონს გარეთაა" + +#: access/transam/rmgr.c:106 +#, c-format +msgid "Provide a custom resource manager ID between %d and %d." +msgstr "შეიყვანეთ რესურსების ხელით მითითებული მმართველის %d-დან %d-მდე დიაპაზონიდან." + +#: access/transam/rmgr.c:111 access/transam/rmgr.c:116 access/transam/rmgr.c:128 +#, c-format +msgid "failed to register custom resource manager \"%s\" with ID %d" +msgstr "ვერ დარეგისტრირდა მორგებული რესურსების მენეჯერი \"%s\" ID %d" + +#: access/transam/rmgr.c:112 +#, c-format +msgid "Custom resource manager must be registered while initializing modules in shared_preload_libraries." +msgstr "მომხმარებლის რესურსების მმართველის რეგისტრაცია shared_preload_libraries-ში მოდულების ინიციალიზაციისას უნდა მოხდეს." + +#: access/transam/rmgr.c:117 +#, c-format +msgid "Custom resource manager \"%s\" already registered with the same ID." +msgstr "მორგებული რესურსების მმართველი \"%s\" უკვე რეგისტრირებულია, იგივე ID-ით." + +#: access/transam/rmgr.c:129 +#, c-format +msgid "Existing resource manager with ID %d has the same name." +msgstr "რესურსის მმართველს ID-ით %d იგივე სახელი აქვს." + +#: access/transam/rmgr.c:135 +#, c-format +msgid "registered custom resource manager \"%s\" with ID %d" +msgstr "რეგისტრირებულია მორგებული რესურსის მმართველი \"%s\" ID-ით %d" + +#: access/transam/slru.c:714 +#, c-format +msgid "file \"%s\" doesn't exist, reading as zeroes" +msgstr "ფაილი \"%s\" არ არსებობს. წაკითხული იქნება, როგორც ნულებ" + +#: access/transam/slru.c:946 access/transam/slru.c:952 access/transam/slru.c:960 access/transam/slru.c:965 access/transam/slru.c:972 access/transam/slru.c:977 access/transam/slru.c:984 access/transam/slru.c:991 +#, c-format +msgid "could not access status of transaction %u" +msgstr "ტრანზაქციის %u სტატუსის წვდომის შეცდომა" + +#: access/transam/slru.c:947 +#, c-format +msgid "Could not open file \"%s\": %m." +msgstr "ფაილის (%s) გახსნის შეცდომა: %m." + +#: access/transam/slru.c:953 +#, c-format +msgid "Could not seek in file \"%s\" to offset %d: %m." +msgstr "ფაილში \"%s\" წანაცვლებაზე %d გადახვევის შეცდომა: %m." + +#: access/transam/slru.c:961 +#, c-format +msgid "Could not read from file \"%s\" at offset %d: %m." +msgstr "კითხვის შეცდომა ფაილიდან \"%s\" წანაცვლებასთან %d: %m." + +#: access/transam/slru.c:966 +#, c-format +msgid "Could not read from file \"%s\" at offset %d: read too few bytes." +msgstr "კითხვის შეცდომა ფაილიდან \"%s\" წანაცვლებასთან %d: ყველა ბაიტის წაკითხვა შეუძლებელია." + +#: access/transam/slru.c:973 +#, c-format +msgid "Could not write to file \"%s\" at offset %d: %m." +msgstr "ფაილში (\"%s\") ჩაწერის შეცდომა წანაცვლებასთან %d: %m." + +#: access/transam/slru.c:978 +#, c-format +msgid "Could not write to file \"%s\" at offset %d: wrote too few bytes." +msgstr "ფაილში (\"%s\") ჩაწერის შეცდომა წანაცვლებასთან %d: ყველა ბაიტის ჩაწერა შეუძლებელია." + +#: access/transam/slru.c:985 +#, c-format +msgid "Could not fsync file \"%s\": %m." +msgstr "ფაილის (%s) fsync-ის შეცდომა: %m." + +#: access/transam/slru.c:992 +#, c-format +msgid "Could not close file \"%s\": %m." +msgstr "ფაილის (%s) დახურვის შეცდომა: %m." + +#: access/transam/slru.c:1253 +#, c-format +msgid "could not truncate directory \"%s\": apparent wraparound" +msgstr "საქაღალდის გასუფთავების შეცდომა: \"%s\" აშკარა ჩაციკვლა" + +#: access/transam/timeline.c:163 access/transam/timeline.c:168 +#, c-format +msgid "syntax error in history file: %s" +msgstr "სინტაქსის შეცდომა ისტორიის ფაილში: %s" + +#: access/transam/timeline.c:164 +#, c-format +msgid "Expected a numeric timeline ID." +msgstr "მოველოდი დროის ხაზის რიცხვობრივ ID-ს." + +#: access/transam/timeline.c:169 +#, c-format +msgid "Expected a write-ahead log switchpoint location." +msgstr "მოველოდი წინასწარ-ჩაწერადი ჟურნალის გადართვის წერტილის მდებარეობას." + +#: access/transam/timeline.c:173 +#, c-format +msgid "invalid data in history file: %s" +msgstr "არასწორი მონაცემები ისტორიის ფაილში \"%s\"" + +#: access/transam/timeline.c:174 +#, c-format +msgid "Timeline IDs must be in increasing sequence." +msgstr "დროის ხაზის ID-ები ზრდადობით უნდა იყოს დალაგებული." + +#: access/transam/timeline.c:194 +#, c-format +msgid "invalid data in history file \"%s\"" +msgstr "არასწორი მონაცემები ისტორიის ფაილში \"%s\"" + +#: access/transam/timeline.c:195 +#, c-format +msgid "Timeline IDs must be less than child timeline's ID." +msgstr "დროის ხაზის ID-ები შვილი დროის ხაზის ID-ზე ნაკლები უნდა იყოს." + +#: access/transam/timeline.c:589 +#, c-format +msgid "requested timeline %u is not in this server's history" +msgstr "მოთხოვნილი დროის ხაზი %u სერვერს ისტორიაში არაა" + +#: access/transam/twophase.c:386 +#, c-format +msgid "transaction identifier \"%s\" is too long" +msgstr "ტრანზაქციის იდენტიფიკატორი \"%s\" ძალიან გრძელია" + +#: access/transam/twophase.c:393 +#, c-format +msgid "prepared transactions are disabled" +msgstr "მომზადებული ტრანზაქციები გამორთულია" + +#: access/transam/twophase.c:394 +#, c-format +msgid "Set max_prepared_transactions to a nonzero value." +msgstr "საჭიროა max_prepared_tranzactions-ის არანულოვან მნიშვნელობაზე დაყენება." + +#: access/transam/twophase.c:413 +#, c-format +msgid "transaction identifier \"%s\" is already in use" +msgstr "ტრანზაქციის იდენტიფიკატორი \"%s\" უკვე გამოიყენება" + +#: access/transam/twophase.c:422 access/transam/twophase.c:2517 +#, c-format +msgid "maximum number of prepared transactions reached" +msgstr "მიღწეულია მომზადებული ტრანზაქციების მაქსიმალური რაოდენობა" + +#: access/transam/twophase.c:423 access/transam/twophase.c:2518 +#, c-format +msgid "Increase max_prepared_transactions (currently %d)." +msgstr "გაზარდეთ max_prepared_transactions (ამჟამად %d)." + +#: access/transam/twophase.c:599 +#, c-format +msgid "prepared transaction with identifier \"%s\" is busy" +msgstr "მომზადებული ტრანზაქცია იდენტიფიკატორით \"%s\" დაკავებულია" + +#: access/transam/twophase.c:605 +#, c-format +msgid "permission denied to finish prepared transaction" +msgstr "მომზადებული ტრანზაქციის დასრულების წვდომა აკრძალულია" + +#: access/transam/twophase.c:606 +#, c-format +msgid "Must be superuser or the user that prepared the transaction." +msgstr "უნდა ბრძანდებოდეთ ზემომხმარებელი ან მომხმარებელი, რომელმაც ტრანზაქცია მოამზადა." + +#: access/transam/twophase.c:617 +#, c-format +msgid "prepared transaction belongs to another database" +msgstr "მომზადებული ტრანზაქცია სხვა ბაზას ეკუთვნის" + +#: access/transam/twophase.c:618 +#, c-format +msgid "Connect to the database where the transaction was prepared to finish it." +msgstr "ტრანზაქციის დასამთავრებლად დაუკავშირდით ბაზას, სადაც ის მომზადდა." + +#: access/transam/twophase.c:633 +#, c-format +msgid "prepared transaction with identifier \"%s\" does not exist" +msgstr "მომზადებული ტრანზაქცია იდენტიფიკატორით \"%s\" არ არსებობს" + +#: access/transam/twophase.c:1168 +#, c-format +msgid "two-phase state file maximum length exceeded" +msgstr "ორფაზიანი მდგომარეობის ფაილის მაქსიმალური სიგრძე გადაჭარბებულია" + +#: 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] "ფაილის არასწორი ზომა \"%s\": %lld ბაიტი" +msgstr[1] "ფაილის არასწორი ზომა \"%s\": %lld ბაიტი" + +#: access/transam/twophase.c:1332 +#, c-format +msgid "incorrect alignment of CRC offset for file \"%s\"" +msgstr "ფაილისთვის \"%s\" CRC-ს წანაცვლების არასწორი სწორება" + +#: access/transam/twophase.c:1350 +#, c-format +msgid "could not read file \"%s\": read %d of %lld" +msgstr "ფაილის \"%s\" წაკითხვა შეუძლებელია: წაკითხულია %d %lld-დან" + +#: access/transam/twophase.c:1365 +#, c-format +msgid "invalid magic number stored in file \"%s\"" +msgstr "ფაილში (\"%s\") დამახსოვრებული მაგიური რიცხვი არასწორია" + +#: access/transam/twophase.c:1371 +#, c-format +msgid "invalid size stored in file \"%s\"" +msgstr "ფაილში (\"%s\") დამახსოვრებული ზომა არასწორია" + +#: access/transam/twophase.c:1383 +#, c-format +msgid "calculated CRC checksum does not match value stored in file \"%s\"" +msgstr "გამოთვლილი CRC საკონტროლო ჯამი არ ემთხვევა მნიშვნელობას, რომელიც ფაილში \"%s\" წერია" + +#: access/transam/twophase.c:1413 access/transam/xlogrecovery.c:590 replication/logical/logical.c:209 replication/walsender.c:687 +#, c-format +msgid "Failed while allocating a WAL reading processor." +msgstr "შეცდომა WAL კითხვის პროცესორის გამოყოფისას." + +#: access/transam/twophase.c:1423 +#, c-format +msgid "could not read two-phase state from WAL at %X/%X: %s" +msgstr "\"WAL\"-დან 2ფაზიანი მდგომარეობის წაკითხვის შეცდომა მისამართზე %X/%X: %s" + +#: access/transam/twophase.c:1428 +#, c-format +msgid "could not read two-phase state from WAL at %X/%X" +msgstr "\"WAL\"-დან 2ფაზიანი მდგომარეობის წაკითხვის შეცდომა მისამართზე %X/%X" + +#: access/transam/twophase.c:1436 +#, c-format +msgid "expected two-phase state data is not present in WAL at %X/%X" +msgstr "\"WAL\"-ში მოსალოდნელი ორფაზიანი მდგომარეობის მონაცემები მისამართზე %X/%X არ არსებობს" + +#: access/transam/twophase.c:1732 +#, c-format +msgid "could not recreate file \"%s\": %m" +msgstr "ფაილის (\"%s\") თავიდან შექმნის შეცდომა: %m" + +#: 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" +msgstr[0] "დიდხანს-გაშვებული მომზადებული ტრანზაქციებისთვის %u ორფაზიანი მდგომარეობის ფაილი ჩაიწერა" +msgstr[1] "დიდხანს-გაშვებული მომზადებული ტრანზაქციებისთვის %u ორფაზიანი მდგომარეობის ფაილი ჩაიწერა" + +#: access/transam/twophase.c:2093 +#, c-format +msgid "recovering prepared transaction %u from shared memory" +msgstr "მიმდინარეობს გაზიარებული მეხსიერებიდან წინასწარ მომზადებული ტრანზაქციის აღდგენა: %u" + +#: access/transam/twophase.c:2186 +#, c-format +msgid "removing stale two-phase state file for transaction %u" +msgstr "ორფაზიანი მდგომარეობის გაჭედილი ფაილის მოცილება ტრანზაქციისთვის %u" + +#: access/transam/twophase.c:2193 +#, c-format +msgid "removing stale two-phase state from memory for transaction %u" +msgstr "ორფაზიანი მდგომარეობის გაჭედილი მდგომარეობის წაშლა ტრანზაქციისთვის: %u" + +#: access/transam/twophase.c:2206 +#, c-format +msgid "removing future two-phase state file for transaction %u" +msgstr "მომავალი ორფაზიანი მდგომარეობის ფაილის წაშლა ტრანზაქციისთვის %u" + +#: access/transam/twophase.c:2213 +#, c-format +msgid "removing future two-phase state from memory for transaction %u" +msgstr "მომავალი ორფაზიანი მდგომარეობის მეხსიერებიდან წაშლა ტრანზაქციისთვის %u" + +#: access/transam/twophase.c:2238 +#, c-format +msgid "corrupted two-phase state file for transaction %u" +msgstr "ორფაზიანი მდგომარეობის დაზიანებული ფაილი ტრანზაქციისთვის %u" + +#: access/transam/twophase.c:2243 +#, c-format +msgid "corrupted two-phase state in memory for transaction %u" +msgstr "ორფაზიანი მდგომარეობის დაზიანებული მეხსიერება ტრანზაქციისთვის %u" + +#: access/transam/twophase.c:2500 +#, c-format +msgid "could not recover two-phase state file for transaction %u" +msgstr "ორფაზიანი მდგომარეობის ფაილის აღდგენა ტრანზაქციისთვის %u შეუძლებელია" + +#: access/transam/twophase.c:2502 +#, 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 "" + +#: access/transam/twophase.c:2510 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" + +#: access/transam/varsup.c:129 +#, c-format +msgid "database is not accepting commands to avoid wraparound data loss in database \"%s\"" +msgstr "ბაზა ბრძანებებს არ იღებს, რათა თავიდან აიცილოს ჩაციკვლით მონაცემების კარგვა ბაზისთვის \"%s\"" + +#: access/transam/varsup.c:131 access/transam/varsup.c:138 +#, c-format +msgid "" +"Stop the postmaster and vacuum that database in single-user mode.\n" +"You might also need to commit or roll back old prepared transactions, or drop stale replication slots." +msgstr "" + +#: access/transam/varsup.c:136 +#, c-format +msgid "database is not accepting commands to avoid wraparound data loss in database with OID %u" +msgstr "ბაზა ბრძანებებს არ იღებს, რათა თავიდან აიცილოს ჩაციკვლით მონაცემების კარგვა ბაზისთვის OID-ით %u" + +#: access/transam/varsup.c:148 access/transam/varsup.c:463 +#, c-format +msgid "database \"%s\" must be vacuumed within %u transactions" +msgstr "ბაზა \"%s\" ტრანზაქციაში %u უნდა მომტვერსასრუტდეს" + +#: access/transam/varsup.c:155 access/transam/varsup.c:470 +#, c-format +msgid "database with OID %u must be vacuumed within %u transactions" +msgstr "ბაზა \"%u\" %u ტრანზაქციის განმავლობაში უნდა მომტვერსასრუტდეს" + +#: access/transam/xact.c:1102 +#, c-format +msgid "cannot have more than 2^32-2 commands in a transaction" +msgstr "ტრანზაქციაში 2^32-2 ბრძანებაზე მეტი ვერ იქნება" + +#: access/transam/xact.c:1643 +#, c-format +msgid "maximum number of committed subtransactions (%d) exceeded" +msgstr "გადაცილებულია გადაცემული ქვეტრანზაქციების მაქსიმალური რაოდენობა: %d" + +#: access/transam/xact.c:2513 +#, c-format +msgid "cannot PREPARE a transaction that has operated on temporary objects" +msgstr "ტრანზაქციაზე, რომელიც დროებით ობიექტებზე მუშაობდა, PREPARE-ს ვერ იზამთ" + +#: access/transam/xact.c:2523 +#, c-format +msgid "cannot PREPARE a transaction that has exported snapshots" +msgstr "ტრანზაქციაზე, რომლიდანაც სწრაფი ასლები გაიტანეს, PREPARE-ს ვერ გაუშვებთ" + +#. translator: %s represents an SQL statement name +#: access/transam/xact.c:3489 +#, c-format +msgid "%s cannot run inside a transaction block" +msgstr "%s ქვეტრანზაქციის ბლოკის შიგნით ვერ გაეშვება" + +#. translator: %s represents an SQL statement name +#: access/transam/xact.c:3499 +#, c-format +msgid "%s cannot run inside a subtransaction" +msgstr "%s ქვეტრანზაქციაში ვერ გაეშვება" + +#. translator: %s represents an SQL statement name +#: access/transam/xact.c:3509 +#, c-format +msgid "%s cannot be executed within a pipeline" +msgstr "%s ფუნქციიდან ვერ გაეშვება" + +#. translator: %s represents an SQL statement name +#: access/transam/xact.c:3519 +#, c-format +msgid "%s cannot be executed from a function" +msgstr "%s ფუნქციიდან ვერ გაეშვება" + +#. 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 +#, c-format +msgid "%s can only be used in transaction blocks" +msgstr "%s მხოლოდ ტრანზაქციის ბლოკში შეიძლება იყოს გამოყენებული" + +#: access/transam/xact.c:3801 +#, c-format +msgid "there is already a transaction in progress" +msgstr "ტრანზაქცია უკვე მიმდინარეობს" + +#: access/transam/xact.c:3920 access/transam/xact.c:3999 access/transam/xact.c:4122 +#, c-format +msgid "there is no transaction in progress" +msgstr "ტრანზაქცია გაშვებული არაა" + +#: access/transam/xact.c:4010 +#, c-format +msgid "cannot commit during a parallel operation" +msgstr "პარალელური ოპერაციის დროს გადაცემა შეუძლებელია" + +#: access/transam/xact.c:4133 +#, c-format +msgid "cannot abort during a parallel operation" +msgstr "პარალელური ოპერაციის დროს გაუქმება შეუძლებელია" + +#: access/transam/xact.c:4232 +#, c-format +msgid "cannot define savepoints during a parallel operation" +msgstr "პარალელური ოპერაციის დროს შესანახი წერტილების აღწერა შეუძლებელია" + +#: access/transam/xact.c:4319 +#, c-format +msgid "cannot release savepoints during a parallel operation" +msgstr "პარალელური ოპერაციის დროს შესანახი წერტილების წაშლა შეუძლებელია" + +#: access/transam/xact.c:4329 access/transam/xact.c:4380 access/transam/xact.c:4440 access/transam/xact.c:4489 +#, c-format +msgid "savepoint \"%s\" does not exist" +msgstr "შესანახი წერტილი არ არსებობს: %s" + +#: access/transam/xact.c:4386 access/transam/xact.c:4495 +#, c-format +msgid "savepoint \"%s\" does not exist within current savepoint level" +msgstr "შესანახი წერტილების მიმდინარე დონეზე შესანახი წერტილი არ არსებობს: %s" + +#: access/transam/xact.c:4428 +#, c-format +msgid "cannot rollback to savepoints during a parallel operation" +msgstr "პარალელური ოპერაციის დროს შენახულ წერტილზე დაბრუნება შეუძლებელია" + +#: access/transam/xact.c:4556 +#, c-format +msgid "cannot start subtransactions during a parallel operation" +msgstr "პარალელური ოპერაციის დროს ქვეტრანსაქციების დაწყება შეუძლებელია" + +#: access/transam/xact.c:4624 +#, c-format +msgid "cannot commit subtransactions during a parallel operation" +msgstr "პარალელური ოპერაციის დროს ქვეტრანსაქციების გადაგზავნა შეუძლებელია" + +#: access/transam/xact.c:5270 +#, c-format +msgid "cannot have more than 2^32-1 subtransactions in a transaction" +msgstr "ტრანზაქციაში 2^32-1 ქვეტრანზაქციაზე მეტი ვერ იქნება" + +#: access/transam/xlog.c:1466 +#, c-format +msgid "request to flush past end of generated WAL; request %X/%X, current position %X/%X" +msgstr "" + +#: access/transam/xlog.c:2228 +#, c-format +msgid "could not write to log file %s at offset %u, length %zu: %m" +msgstr "ჟურნალის ფაილში (%s) ჩაწერის შეცდომა წანაცვლება %u, სიგრძე %zu: %m" + +#: access/transam/xlog.c:3455 access/transam/xlogutils.c:833 replication/walsender.c:2725 +#, c-format +msgid "requested WAL segment %s has already been removed" +msgstr "მოთხოვნილი WAL სეგმენტი %s უკვე წაშლილია" + +#: access/transam/xlog.c:3739 +#, c-format +msgid "could not rename file \"%s\": %m" +msgstr "ფაილის გადარქმევის შეცდომა %s: %m" + +#: access/transam/xlog.c:3781 access/transam/xlog.c:3791 +#, c-format +msgid "required WAL directory \"%s\" does not exist" +msgstr "wal-ის აუცილებელი საქაღალდე \"%s\" არ არსებობს" + +#: access/transam/xlog.c:3797 +#, c-format +msgid "creating missing WAL directory \"%s\"" +msgstr "ნაკლული WAL საქაღალდის შექმნა: \"%s\"" + +#: access/transam/xlog.c:3800 commands/dbcommands.c:3172 +#, c-format +msgid "could not create missing directory \"%s\": %m" +msgstr "ნაკლული საქაღალდის (\"%s\") შექმნის შეცდომა: %m" + +#: access/transam/xlog.c:3867 +#, c-format +msgid "could not generate secret authorization token" +msgstr "ავთენტიკაციისთვის ერთჯერადი კოდის გენერაციის შეცდომა" + +#: 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 +#, c-format +msgid "database files are incompatible with server" +msgstr "ბაზის ფაილები სერვერთან თავსებადი არაა" + +#: access/transam/xlog.c:4018 +#, c-format +msgid "The database cluster was initialized with PG_CONTROL_VERSION %d (0x%08x), but the server was compiled with PG_CONTROL_VERSION %d (0x%08x)." +msgstr "ბაზის კლასტერის ინიციალიზაცია მოხდა PG_CONTROL_VERSION %d (0x%08x)-ით, მაგრამ სერვერის აგებისას PG_CONTROL_VERSION %d (0x%08x)." + +#: access/transam/xlog.c:4022 +#, c-format +msgid "This could be a problem of mismatched byte ordering. It looks like you need to initdb." +msgstr "ეს შეიძლება ბაიტების არასწორი დალაგების პრობლემაც იყოს. როგორც ჩანს, initdb გჭირდებათ." + +#: access/transam/xlog.c:4027 +#, c-format +msgid "The database cluster was initialized with PG_CONTROL_VERSION %d, but the server was compiled with PG_CONTROL_VERSION %d." +msgstr "ბაზის კლასტერის ინიციალიზაცია მოხდა PG_CONTROL_VERSION %d, მაგრამ სერვერის აგებისას PG_CONTROL_VERSION %d." + +#: access/transam/xlog.c:4030 access/transam/xlog.c:4054 access/transam/xlog.c:4061 access/transam/xlog.c:4066 +#, c-format +msgid "It looks like you need to initdb." +msgstr "როგორც ჩანს, initdb გჭირდებათ." + +#: access/transam/xlog.c:4041 +#, c-format +msgid "incorrect checksum in control file" +msgstr "არასწორი საკონტროლო ჯამი pg_control-ის ფაილში" + +#: access/transam/xlog.c:4051 +#, c-format +msgid "The database cluster was initialized with CATALOG_VERSION_NO %d, but the server was compiled with CATALOG_VERSION_NO %d." +msgstr "მონაცემთა ბაზის კლასტერის ინიციალიზაცია მოხდა CATALOG_VERSION_NO %d -ით, მაგრამ სერვერი აგებულია CATALOG_VERSION_NO %d-ით." + +#: access/transam/xlog.c:4058 +#, c-format +msgid "The database cluster was initialized with MAXALIGN %d, but the server was compiled with MAXALIGN %d." +msgstr "მონაცემთა ბაზის კლასტერის ინიციალიზაცია მოხდა MAXALIGN %d -ით, მაგრამ სერვერი აგებულია MAXALIGN %d-ით." + +#: access/transam/xlog.c:4065 +#, c-format +msgid "The database cluster appears to use a different floating-point number format than the server executable." +msgstr "როგორც ჩანს, ბაზის კლასტერი წილადი რიცხვების სხვა ფორმატს იყენებს, ვიდრე სერვერის გამშვები ფაილი." + +#: access/transam/xlog.c:4070 +#, c-format +msgid "The database cluster was initialized with BLCKSZ %d, but the server was compiled with BLCKSZ %d." +msgstr "მონაცემთა ბაზის კლასტერის ინიციალიზაცია მოხდა BLCKSZ %d -ით, მაგრამ სერვერი აგებულია BLCKSZ %d-ით." + +#: access/transam/xlog.c: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 +#, c-format +msgid "It looks like you need to recompile or initdb." +msgstr "როგორც ჩანს, გჭირდებათ თავიდან ააგოთ პროდუქტი, ან initdb." + +#: access/transam/xlog.c:4077 +#, c-format +msgid "The database cluster was initialized with RELSEG_SIZE %d, but the server was compiled with RELSEG_SIZE %d." +msgstr "მონაცემთა ბაზის კლასტერის ინიციალიზაცია მოხდა RELSEG_SIZE%d -ით, მაგრამ სერვერი აგებულია RELSEG_SIZE %d-ით." + +#: access/transam/xlog.c:4084 +#, c-format +msgid "The database cluster was initialized with XLOG_BLCKSZ %d, but the server was compiled with XLOG_BLCKSZ %d." +msgstr "მონაცემთა ბაზის კლასტერის ინიციალიზაცია მოხდა XLOG_BLCKSZ%d -ით, მაგრამ სერვერი აგებულია XLOG_BLCKSZ%d-ით." + +#: access/transam/xlog.c:4091 +#, c-format +msgid "The database cluster was initialized with NAMEDATALEN %d, but the server was compiled with NAMEDATALEN %d." +msgstr "მონაცემთა ბაზის კლასტერის ინიციალიზაცია მოხდა NAMEDATALEN %d -ით, მაგრამ სერვერი აგებულია NAMEDATALEN %d-ით." + +#: access/transam/xlog.c:4098 +#, c-format +msgid "The database cluster was initialized with INDEX_MAX_KEYS %d, but the server was compiled with INDEX_MAX_KEYS %d." +msgstr "მონაცემთა ბაზის კლასტერის ინიციალიზაცია მოხდა INDEX_MAX_KEYS %d -ით, მაგრამ სერვერი აგებულია INDEX_MAX_KEYS %d-ით." + +#: access/transam/xlog.c:4105 +#, c-format +msgid "The database cluster was initialized with TOAST_MAX_CHUNK_SIZE %d, but the server was compiled with TOAST_MAX_CHUNK_SIZE %d." +msgstr "მონაცემთა ბაზის კლასტერის ინიციალიზაცია მოხდა TOAST_MAX_CHUNK_SIZE %d -ით, მაგრამ სერვერი აგებულია TOAST_MAX_CHUNK_SIZE %d-ით." + +#: access/transam/xlog.c:4112 +#, c-format +msgid "The database cluster was initialized with LOBLKSIZE %d, but the server was compiled with LOBLKSIZE %d." +msgstr "მონაცემთა ბაზის კლასტერის ინიციალიზაცია მოხდა LOBLKSIZE %d -ით, მაგრამ სერვერი აგებულია LOBLKSIZE %d-ით." + +#: access/transam/xlog.c:4121 +#, c-format +msgid "The database cluster was initialized without USE_FLOAT8_BYVAL but the server was compiled with USE_FLOAT8_BYVAL." +msgstr "მონაცემთა ბაზის კლასტერის ინიციალიზაცია მოხდა USE_FLOAT8_BYVAL-ის გარეშე, მაგრამ სერვერი აგებულია USE_FLOAT8_BYVAL-ით." + +#: access/transam/xlog.c:4128 +#, c-format +msgid "The database cluster was initialized with USE_FLOAT8_BYVAL but the server was compiled without USE_FLOAT8_BYVAL." +msgstr "მონაცემთა ბაზის კლასტერის ინიციალიზაცია მოხდა USE_FLOAT8_BYVA -ის გარეშე, მაგრამ სერვერი აგებულია USE_FLOAT8_BYVAL-ით." + +#: access/transam/xlog.c:4137 +#, 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 სეგმენტის ზომა ორის ხარისხი უნდა იყოს, 1 მბ-სა და 1გბ-ს შორის, მაგრამ კონტროლის ფაილში მითითებულია %d ბაიტი" +msgstr[1] "WAL სეგმენტის ზომა ორის ხარისხი უნდა იყოს, 1 მბ-სა და 1გბ-ს შორის, მაგრამ კონტროლის ფაილში მითითებულია %d ბაიტი" + +#: access/transam/xlog.c:4149 +#, c-format +msgid "\"min_wal_size\" must be at least twice \"wal_segment_size\"" +msgstr "\"min_wal_size\"-ი \"wal_segment_size\"-ზე მინიმუმ ორჯერ მეტი უნდა იყოს" + +#: access/transam/xlog.c:4153 +#, c-format +msgid "\"max_wal_size\" must be at least twice \"wal_segment_size\"" +msgstr "\"max_wal_size\"-ი \"wal_segment_size\"-ზე მინიმუმ ორჯერ მეტი უნდა იყოს" + +#: access/transam/xlog.c:4308 catalog/namespace.c:4335 commands/tablespace.c:1216 commands/user.c:2536 commands/variable.c:72 utils/error/elog.c:2205 +#, c-format +msgid "List syntax is invalid." +msgstr "სია სინტაქსი არასწორია." + +#: access/transam/xlog.c:4354 commands/user.c:2552 commands/variable.c:173 utils/error/elog.c:2231 +#, c-format +msgid "Unrecognized key word: \"%s\"." +msgstr "უცნობი საკვანძო სიტყვა: \"%s\"." + +#: access/transam/xlog.c:4768 +#, c-format +msgid "could not write bootstrap write-ahead log file: %m" +msgstr "ფაილში წინასწარ-ჩაწერადი ჟურნალის ფაილის დასაწყისის ჩაწერის შეცდომა: %m" + +#: access/transam/xlog.c:4776 +#, c-format +msgid "could not fsync bootstrap write-ahead log file: %m" +msgstr "ფაილში წინასწარ-ჩაწერადი ჟურნალის ფაილის დასაწყისის fsync-ის შეცდომა: %m" + +#: access/transam/xlog.c:4782 +#, c-format +msgid "could not close bootstrap write-ahead log file: %m" +msgstr "ფაილში წინასწარ-ჩაწერადი ჟურნალის ფაილის დასაწყისის დახურვის შეცდომა: %m" + +#: access/transam/xlog.c:4999 +#, c-format +msgid "WAL was generated with wal_level=minimal, cannot continue recovering" +msgstr "WAL-ი გენერირებუი იყო wal_level=minimal -ით. აღდგენა ვერ გაგრძელდება" + +#: access/transam/xlog.c:5000 +#, c-format +msgid "This happens if you temporarily set wal_level=minimal on the server." +msgstr "ეს ხდება, თუ სერვერზე დროებით wal_level=minimal -ს დააყენებთ." + +#: access/transam/xlog.c:5001 +#, c-format +msgid "Use a backup taken after setting wal_level to higher than minimal." +msgstr "გამოიყენეთ მარქაფი, რომელიც wal_level-ის მინიმალურზე მეტზე დაყენების შემდეგ აიღეთ." + +#: access/transam/xlog.c:5065 +#, c-format +msgid "control file contains invalid checkpoint location" +msgstr "საკონტროლო ფაილი საკონტროლო წერტილის არასწორ მდებარეობას შეიცავს" + +#: access/transam/xlog.c:5076 +#, c-format +msgid "database system was shut down at %s" +msgstr "მონაცემთა ბაზის სისტემის გათიშვის დრო: %s" + +#: access/transam/xlog.c:5082 +#, c-format +msgid "database system was shut down in recovery at %s" +msgstr "მონაცემთა ბაზის სისტემის აღდგენისას გათიშვის დრო: %s" + +#: access/transam/xlog.c:5088 +#, c-format +msgid "database system shutdown was interrupted; last known up at %s" +msgstr "მონაცემთა ბაზა შეწყვეტილია; ბოლოს ჩართული იყო: %s" + +#: access/transam/xlog.c:5094 +#, c-format +msgid "database system was interrupted while in recovery at %s" +msgstr "მონაცემთა ბაზის სისტემის აღდგენისას გათიშვის დრო: %s" + +#: access/transam/xlog.c:5096 +#, c-format +msgid "This probably means that some data is corrupted and you will have to use the last backup for recovery." +msgstr "ეს ალბათ ნიშნავს, რომ ზოგიერთი მონაცემი დაზიანებულია და აღდგენისთვის ბოლო მარქაფის გამოყენება მოგიწევთ." + +#: access/transam/xlog.c:5102 +#, c-format +msgid "database system was interrupted while in recovery at log time %s" +msgstr "მონაცემთა ბაზის სისტემა გაითიშა აღდგენისას ჟურნალის დროს %s" + +#: access/transam/xlog.c:5104 +#, c-format +msgid "If this has occurred more than once some data might be corrupted and you might need to choose an earlier recovery target." +msgstr "თუ ეს კიდევ ერთხელ მაინც მოხდა, ეს ნიშნავს, რომ მონაცემები დაზიანებულია და უფრო ძველი აღდგენის სამიზნე უნდა აირჩიოთ." + +#: access/transam/xlog.c:5110 +#, c-format +msgid "database system was interrupted; last known up at %s" +msgstr "მონაცემთა ბაზა შეწყვეტილია; ბოლოს ჩართული იყო: %s" + +#: access/transam/xlog.c:5116 +#, c-format +msgid "control file contains invalid database cluster state" +msgstr "კონტროლის ფაილი ბაზის კლასტერის არასწორ მდგომარეობას შეიცავს" + +#: access/transam/xlog.c:5500 +#, c-format +msgid "WAL ends before end of online backup" +msgstr "WAL ონლაინ მარქაფის დასასრულამდე მთავრდება" + +#: access/transam/xlog.c:5501 +#, c-format +msgid "All WAL generated while online backup was taken must be available at recovery." +msgstr "აღდგენისას ონლაინ მარქაფის აღებისას გენერირებული ყველა WAL-ი ხელმისაწვდომი უნდა იყოს." + +#: access/transam/xlog.c:5504 +#, c-format +msgid "WAL ends before consistent recovery point" +msgstr "WAL აღდგენის შეთანხმებულ წერტილამდე მთავრდება" + +#: access/transam/xlog.c:5550 +#, c-format +msgid "selected new timeline ID: %u" +msgstr "დროის ახალი ხაზის არჩეული ID: %u" + +#: access/transam/xlog.c:5583 +#, c-format +msgid "archive recovery complete" +msgstr "არქივიდან აღდგენა დასრულდა" + +#: access/transam/xlog.c:6189 +#, c-format +msgid "shutting down" +msgstr "მიმდინარეობს გამორთვა" + +#. translator: the placeholders show checkpoint options +#: access/transam/xlog.c:6228 +#, 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:6240 +#, 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:6305 +#, 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 "" + +#: access/transam/xlog.c:6328 +#, 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 "" + +#: access/transam/xlog.c:6766 +#, c-format +msgid "concurrent write-ahead log activity while database system is shutting down" +msgstr "კონკურენტული წინასწარ-ჩაწერადი ჟურნალის აქტივობა, სანამ მონაცემთა ბაზა მუშაობას ასრულებს" + +#: access/transam/xlog.c:7327 +#, c-format +msgid "recovery restart point at %X/%X" +msgstr "აღდგენის გადატვირთვის წერტილი: %X/%X" + +#: access/transam/xlog.c:7329 +#, c-format +msgid "Last completed transaction was at log time %s." +msgstr "უკანასკნელად დასრულებული ტრანზაქცია მოხდა ჟურნალის დროით %s." + +#: access/transam/xlog.c:7577 +#, c-format +msgid "restore point \"%s\" created at %X/%X" +msgstr "აღდგენის წერტილი \"%s\" შექმნილია %X/%X -სთან" + +#: access/transam/xlog.c:7784 +#, c-format +msgid "online backup was canceled, recovery cannot continue" +msgstr "ონლაინ მარქაფი გაუქმდა. აღდგენა ვერ გაგრძელდება" + +#: access/transam/xlog.c:7841 +#, c-format +msgid "unexpected timeline ID %u (should be %u) in shutdown checkpoint record" +msgstr "გამორთვის საკონტროლო წერტილში ნაპოვნია დროის ხაზი %u მოულოდნელია (უნდა იყოს %u)" + +#: access/transam/xlog.c:7899 +#, c-format +msgid "unexpected timeline ID %u (should be %u) in online checkpoint record" +msgstr "ჩართვის საკონტროლო წერტილში ნაპოვნია დროის ხაზი %u მოულოდნელია (უნდა იყოს %u)" + +#: access/transam/xlog.c:7928 +#, c-format +msgid "unexpected timeline ID %u (should be %u) in end-of-recovery record" +msgstr "აღდგენის ბოლო საკონტროლო წერტილში ნაპოვნია დროის ხაზი %u მოულოდნელია (უნდა იყოს %u)" + +#: access/transam/xlog.c:8195 +#, c-format +msgid "could not fsync write-through file \"%s\": %m" +msgstr "გამჭოლად-ჩაწერადი ფაილის (%s) fsync-ის შეცდომა: %m" + +#: access/transam/xlog.c:8200 +#, c-format +msgid "could not fdatasync file \"%s\": %m" +msgstr "ფაილის \"%s\" fdatasync შეუძლებელია: %m" + +#: access/transam/xlog.c:8285 access/transam/xlog.c:8608 +#, c-format +msgid "WAL level not sufficient for making an online backup" +msgstr "ონლაინ მარქაფისთვის WAL-ის მიმდინარე დონე საკმარისი არაა" + +#: access/transam/xlog.c:8286 access/transam/xlog.c:8609 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:8291 +#, c-format +msgid "backup label too long (max %d bytes)" +msgstr "მარქაფის ჭდე ძალიან გრძელია (max %d ბაიტი)" + +#: access/transam/xlog.c:8412 +#, c-format +msgid "WAL generated with full_page_writes=off was replayed since last restartpoint" +msgstr "" + +#: access/transam/xlog.c:8414 access/transam/xlog.c:8697 +#, 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:8481 backup/basebackup.c:1351 utils/adt/misc.c:354 +#, c-format +msgid "could not read symbolic link \"%s\": %m" +msgstr "სიმბოლური ბმის \"%s\" წაკითხვის შეცდომა: %m" + +#: access/transam/xlog.c:8488 backup/basebackup.c:1356 utils/adt/misc.c:359 +#, c-format +msgid "symbolic link \"%s\" target is too long" +msgstr "%s: სიმბმული ძალიან გრძელია" + +#: access/transam/xlog.c:8647 backup/basebackup.c:1217 +#, c-format +msgid "the standby was promoted during online backup" +msgstr "უქმე წახალისდა ონლაინ მარქაფის მიმდინარეობის დროს" + +#: access/transam/xlog.c:8648 backup/basebackup.c:1218 +#, 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:8695 +#, c-format +msgid "WAL generated with full_page_writes=off was replayed during online backup" +msgstr "" + +#: access/transam/xlog.c:8811 +#, c-format +msgid "base backup done, waiting for required WAL segments to be archived" +msgstr "ძირითადი მარქაფი დასრულდა. ველოდები აუცილებელი WAL-ის სეგმენტების დაარქივებას" + +#: access/transam/xlog.c:8825 +#, c-format +msgid "still waiting for all required WAL segments to be archived (%d seconds elapsed)" +msgstr "ჯერ კიდევ ველოდები ყველა აუცილებელი WAL სეგმენტის დაარქივებას (გასულია %d წამი)" + +#: access/transam/xlog.c:8827 +#, 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 "" + +#: access/transam/xlog.c:8834 +#, c-format +msgid "all required WAL segments have been archived" +msgstr "ყველა საჭირო WAL სეგმენტი დაარქივებულია" + +#: access/transam/xlog.c:8838 +#, 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 "" + +#: access/transam/xlog.c:8877 +#, c-format +msgid "aborting backup due to backend exiting before pg_backup_stop was called" +msgstr "მარქაფი გაუქმდა, რადგან უკანაბოლომ მუშაობა pg_backup_stop-ის გამოძახებამდე დაასრულა" + +#: access/transam/xlogarchive.c:207 +#, c-format +msgid "archive file \"%s\" has wrong size: %lld instead of %lld" +msgstr "არქივის ფაილის \"%s\" არასწორი ზომა: %lld. უნდა იყოს %lld" + +#: access/transam/xlogarchive.c:216 +#, c-format +msgid "restored log file \"%s\" from archive" +msgstr "ჟურნალის ფაილი \"%s\" არქივიდან აღდგა" + +#: access/transam/xlogarchive.c:230 +#, c-format +msgid "restore_command returned a zero exit status, but stat() failed." +msgstr "restore_command -მა ნულოვანი სტატუსი დააბრუნა, მაგრამ stat()-მა შეცდომა." + +#: access/transam/xlogarchive.c:262 +#, c-format +msgid "could not restore file \"%s\" from archive: %s" +msgstr "ფაილის (\"%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 +#, c-format +msgid "%s \"%s\": %s" +msgstr "%s \"%s\": %s" + +#: access/transam/xlogarchive.c:450 access/transam/xlogarchive.c:530 +#, c-format +msgid "could not create archive status file \"%s\": %m" +msgstr "არქივის სტატუსის ფაილის (%s) შექმნის შეცდომა: %m" + +#: access/transam/xlogarchive.c:458 access/transam/xlogarchive.c:538 +#, c-format +msgid "could not write archive status file \"%s\": %m" +msgstr "არქივის სტატუსის ფაილის (%s) ჩაწერის შეცდომა: %m" + +#: access/transam/xlogfuncs.c:75 backup/basebackup.c:973 +#, c-format +msgid "a backup is already in progress in this session" +msgstr "ამ სესიაში მარქაფი უკვე მიმდინარეობს" + +#: access/transam/xlogfuncs.c:146 +#, c-format +msgid "backup is not in progress" +msgstr "მარქაფი არ მიმდინარეობს" + +#: access/transam/xlogfuncs.c:147 +#, c-format +msgid "Did you call pg_backup_start()?" +msgstr "თქვენ გამოიძახეთ pg_backup_start()?" + +#: access/transam/xlogfuncs.c:190 access/transam/xlogfuncs.c:248 access/transam/xlogfuncs.c:287 access/transam/xlogfuncs.c:308 access/transam/xlogfuncs.c:329 +#, c-format +msgid "WAL control functions cannot be executed during recovery." +msgstr "WAL კონტროლის ფუნქციების შესრულება აღდგენის დროს შეუძლებელია." + +#: access/transam/xlogfuncs.c:215 access/transam/xlogfuncs.c:399 access/transam/xlogfuncs.c:457 +#, c-format +msgid "%s cannot be executed during recovery." +msgstr "%s არ შეიძლება შესრულდეს აღდგენის დროს." + +#: access/transam/xlogfuncs.c:221 +#, c-format +msgid "pg_log_standby_snapshot() can only be used if wal_level >= replica" +msgstr "pg_log_standby_snapshot()-ის გამოყენება შესაძლებელია მხოლოდ მაშინ, როცა wal_level >= replica" + +#: access/transam/xlogfuncs.c:253 +#, c-format +msgid "WAL level not sufficient for creating a restore point" +msgstr "WAL დონე არ არის საკმარისი აღდგენის წერტილის შესაქმნელად" + +#: access/transam/xlogfuncs.c:261 +#, c-format +msgid "value too long for restore point (maximum %d characters)" +msgstr "აღდგენის წერტილისთვის მნიშვნელობა ძალიან გრძელია (მაქს. %d სიმბოლო)" + +#: access/transam/xlogfuncs.c:496 +#, c-format +msgid "invalid WAL file name \"%s\"" +msgstr "არასწორი WAL ფაილის სახელი \"%s\"" + +#: access/transam/xlogfuncs.c:532 access/transam/xlogfuncs.c:562 access/transam/xlogfuncs.c:586 access/transam/xlogfuncs.c:609 access/transam/xlogfuncs.c:689 +#, c-format +msgid "recovery is not in progress" +msgstr "აღდგენა არ მიმდინარეობს" + +#: access/transam/xlogfuncs.c:533 access/transam/xlogfuncs.c:563 access/transam/xlogfuncs.c:587 access/transam/xlogfuncs.c:610 access/transam/xlogfuncs.c:690 +#, c-format +msgid "Recovery control functions can only be executed during recovery." +msgstr "აღდგენის კონტროლის ფუნქციების შესრულება მხოლოდ აღდგენის დროს შეიძლება." + +#: access/transam/xlogfuncs.c:538 access/transam/xlogfuncs.c:568 +#, c-format +msgid "standby promotion is ongoing" +msgstr "მინდინარეობს უქმობის დაწინაურება" + +#: access/transam/xlogfuncs.c:539 access/transam/xlogfuncs.c:569 +#, c-format +msgid "%s cannot be executed after promotion is triggered." +msgstr "წახალისების დაწყების შემდეგ %s-ის შესრულება შეუძლებელია." + +#: access/transam/xlogfuncs.c:695 +#, c-format +msgid "\"wait_seconds\" must not be negative or zero" +msgstr "\"wait_seconds\" უარყოფითი ან ნულოვანი არ უნდა იყოს" + +#: access/transam/xlogfuncs.c:715 storage/ipc/signalfuncs.c:260 +#, c-format +msgid "failed to send signal to postmaster: %m" +msgstr "postmaster-ისთვის სიგნალის გაგზავნის შეცდომა: %m" + +#: access/transam/xlogfuncs.c:751 +#, c-format +msgid "server did not promote within %d second" +msgid_plural "server did not promote within %d seconds" +msgstr[0] "სერვერი არ წახალისდა %d წამში" +msgstr[1] "სერვერი არ წახალისდა %d წამში" + +#: access/transam/xlogprefetcher.c:1092 +#, c-format +msgid "recovery_prefetch is not supported on platforms that lack posix_fadvise()." +msgstr "recovery_prefetch პლატფორმებზე, რომლებსაც posix_fadvise() არ აქვთ, მხარდაჭერილი არაა." + +#: access/transam/xlogreader.c:626 +#, c-format +msgid "invalid record offset at %X/%X: expected at least %u, got %u" +msgstr "ჩანაწერის არასწორი წანაცვლება მისამართზე %X/%X: მოველოდი მინიმუმ %u, მივიღე %u" + +#: access/transam/xlogreader.c:635 +#, c-format +msgid "contrecord is requested by %X/%X" +msgstr "contrecord მოთხოვნილია %X/%X-ის მიერ" + +#: access/transam/xlogreader.c:676 access/transam/xlogreader.c:1119 +#, c-format +msgid "invalid record length at %X/%X: expected at least %u, got %u" +msgstr "ჩანაწერის არასწორი სიგრძე მისამართზე %X/%X: მოველოდი მინიმუმ %u, მივიღე %u" + +#: access/transam/xlogreader.c:705 +#, c-format +msgid "out of memory while trying to decode a record of length %u" +msgstr "%u სიგრძის მქონე ჩანაწერის დეკოდირებისთვის მეხსიერება საკმარისი არაა" + +#: access/transam/xlogreader.c:727 +#, c-format +msgid "record length %u at %X/%X too long" +msgstr "ჩანაწერის სიგრძე %u მისამართზე %X/%X ძალიან გრძელია" + +#: access/transam/xlogreader.c:776 +#, c-format +msgid "there is no contrecord flag at %X/%X" +msgstr "მისამართზე %X/%X contrecord ალამი არ არსებობს" + +#: access/transam/xlogreader.c:789 +#, c-format +msgid "invalid contrecord length %u (expected %lld) at %X/%X" +msgstr "contrecord -ის არასწორი სიგრძე %u (მოველოდი %lld) მისამართზე %X/%X" + +#: access/transam/xlogreader.c:1127 +#, c-format +msgid "invalid resource manager ID %u at %X/%X" +msgstr "რესურსის მმართველის არასწორი ID %u მისამართზე %X/%X" + +#: access/transam/xlogreader.c:1140 access/transam/xlogreader.c:1156 +#, c-format +msgid "record with incorrect prev-link %X/%X at %X/%X" +msgstr "ჩანაწერი არასწორი წინა ბმულით %X/%X მისამართზე %X/%X" + +#: access/transam/xlogreader.c:1192 +#, c-format +msgid "incorrect resource manager data checksum in record at %X/%X" +msgstr "რესურსის მმართველის მონაცემების არასწორი საკონტროლო რიცხვი ჩანაწერში მისამართზე %X/%X" + +#: access/transam/xlogreader.c:1226 +#, c-format +msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "არასწორი მაგიური რიცხვი %04X ჟურნალის სეგმენტში %s, LSN %X/%X, წანაცვლება %u" + +#: access/transam/xlogreader.c:1241 access/transam/xlogreader.c:1283 +#, c-format +msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "არასწორი საინფორმაციო ბიტები %04X ჟურნალის სეგმენტში %s, LSN %X/%X, წანაცვლება %u" + +#: access/transam/xlogreader.c:1257 +#, c-format +msgid "WAL file is from different database system: WAL file database system identifier is %llu, pg_control database system identifier is %llu" +msgstr "WAL ფაილი სხვა მონაცემთა ბაზის სისტემიდანაა: WAL ფაილის ბაზის სისტემის იდენტიფიკატორია %llu, pg_control-ის ბაზის სისტემის იდენტიფიკატორია %llu" + +#: access/transam/xlogreader.c:1265 +#, c-format +msgid "WAL file is from different database system: incorrect segment size in page header" +msgstr "WAL ფაილი სხვა მონაცემთა ბაზის სისტემიდანაა: გვერდის თავსართში მითითებული სეგმენტის ზომა არასწორია" + +#: access/transam/xlogreader.c:1271 +#, c-format +msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header" +msgstr "WAL ფაილი სხვა მონაცემთა ბაზის სისტემიდანაა: გვერდის თავსართში მითითებული XLOG_BLKSZ არასწორია" + +#: access/transam/xlogreader.c:1303 +#, c-format +msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "მოულოდნელი pageaddr %X/%X ჟურნალის სეგმენტში %s, LSN %X/%X, წანაცვლება %u" + +#: access/transam/xlogreader.c:1329 +#, c-format +msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u" +msgstr "მიმდევრობის-გარე დროის ხაზის ID %u (%u-ის შემდეგ) ჟურნალის სეგმენტში %s, LSN %X/%X, წანაცვლება %u" + +#: access/transam/xlogreader.c:1735 +#, c-format +msgid "out-of-order block_id %u at %X/%X" +msgstr "ურიგო block_id %u მისამართზე %X/%X" + +#: access/transam/xlogreader.c:1759 +#, c-format +msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X" +msgstr "BKPBLOCK_HAS_DATA დაყენებულია, მაგრამ მონაცემები მისამართზე %X/%X არ არსებობს" + +#: access/transam/xlogreader.c:1766 +#, c-format +msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X" +msgstr "BKPBLOCK_HAS_DATA დაყენებულია, მაგრამ არსებობს მონაცემები სიგრძით %u მისამართზე %X/%X" + +#: access/transam/xlogreader.c:1802 +#, c-format +msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X" +msgstr "BKPIMAGE_HAS_HOLE დაყენებულია, მაგრამ ნახვრეტის წანაცვლება %u სიგრძე %u ბლოკის ასლის სიგრძე %u მისამართზე %X/%X" + +#: access/transam/xlogreader.c:1818 +#, c-format +msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X" +msgstr "BKPIMAGE_HAS_HOLE დაყენებული არაა, მაგრამ ნახვრეტის წანაცვლება %u სიგრძე %u მისანართზე %X/%X" + +#: access/transam/xlogreader.c:1832 +#, c-format +msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" +msgstr "BKPIMAGE_COMPRESSED დაყენებულია, მაგრამ ბლოკის ასლის სიგრძეა %u მისამართზე %X/%X" + +#: access/transam/xlogreader.c:1847 +#, c-format +msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X" +msgstr "არც BKPIMAGE_HAS_HOLE და არც BKPIMAGE_COMPRESSED დაყენებული არაა, მაგრამ ბლოკის ასლის სიგრძე %u-ა, მისამართზე %X/%X" + +#: access/transam/xlogreader.c:1863 +#, c-format +msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X" +msgstr "BKPBLOCK_SAME_REL დაყენებულია, მაგრამ წინა მნიშვნელობა მითითებული არაა მისამართზე %X/%X" + +#: access/transam/xlogreader.c:1875 +#, c-format +msgid "invalid block_id %u at %X/%X" +msgstr "არასწორი block_id %u %X/%X" + +#: access/transam/xlogreader.c:1942 +#, c-format +msgid "record with invalid length at %X/%X" +msgstr "ჩანაწერი არასწორი სიგრძით მისამართზე %X/%X" + +#: access/transam/xlogreader.c:1968 +#, c-format +msgid "could not locate backup block with ID %d in WAL record" +msgstr "შეცდომა WAL ჩანაწერში მარქაფი ბლოკის, ID-ით %d, მოძებნისას" + +#: access/transam/xlogreader.c:2052 +#, c-format +msgid "could not restore image at %X/%X with invalid block %d specified" +msgstr "შეუძლებელია ასლის აღდგენა მისამართზე %X/%X, როცა მითითებულია არასწორი ბლოკი %d" + +#: access/transam/xlogreader.c:2059 +#, c-format +msgid "could not restore image at %X/%X with invalid state, block %d" +msgstr "არასწორად შეკუმშული ასლი მისამართზე %X/%X, ბლოკი %d" + +#: access/transam/xlogreader.c:2086 access/transam/xlogreader.c:2103 +#, c-format +msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d" +msgstr "%3$s მეთოდით შეკუმშული ასლი მისამართზე %1$X/%2$X, ბლოკი %4$d მხარდაუჭერელია ამ აგების მიერ" + +#: access/transam/xlogreader.c:2112 +#, c-format +msgid "could not restore image at %X/%X compressed with unknown method, block %d" +msgstr "ასლის აღდგენის შეცდომა მისამართზე %X/%X შეკუმშული უცნობი მეთოდით, ბლოკი %d" + +#: access/transam/xlogreader.c:2120 +#, c-format +msgid "could not decompress image at %X/%X, block %d" +msgstr "არასწორად შეკუმშული ასლი მისამართზე %X/%X, ბლოკი %d" + +#: access/transam/xlogrecovery.c:547 +#, c-format +msgid "entering standby mode" +msgstr "უქმე რეჟიმზე გადართვა" + +#: access/transam/xlogrecovery.c:550 +#, c-format +msgid "starting point-in-time recovery to XID %u" +msgstr "დროში-მითითებული-წერტილით აღდგენის დასაწყისი XID-მდე %u" + +#: access/transam/xlogrecovery.c:554 +#, c-format +msgid "starting point-in-time recovery to %s" +msgstr "დროში-მითითებული-წერტილით აღდგენის დასაწყისი %s" + +#: access/transam/xlogrecovery.c:558 +#, c-format +msgid "starting point-in-time recovery to \"%s\"" +msgstr "დროში-მითითებული-წერტილით აღდგენის დასაწყისი \"%s\"" + +#: access/transam/xlogrecovery.c:562 +#, c-format +msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\"" +msgstr "" + +#: access/transam/xlogrecovery.c:566 +#, c-format +msgid "starting point-in-time recovery to earliest consistent point" +msgstr "უახლოეს თანმიმდევრულ წერტილამდე დროში-მითითებული-წერტილით აღდგენის დასაწყისი" + +#: access/transam/xlogrecovery.c:569 +#, c-format +msgid "starting archive recovery" +msgstr "არქივიდან აღდგენა დაიწყო" + +#: access/transam/xlogrecovery.c:653 +#, c-format +msgid "could not find redo location referenced by checkpoint record" +msgstr "საკონტროლო წერტილის ჩანაწერის მიერ მითითებული დაბრუნების წერტილის პოვნა შეუძლებელია" + +#: access/transam/xlogrecovery.c:654 access/transam/xlogrecovery.c:664 +#, c-format +msgid "" +"If you are restoring from a backup, touch \"%s/recovery.signal\" and add required recovery options.\n" +"If you are not restoring from a backup, try removing the file \"%s/backup_label\".\n" +"Be careful: removing \"%s/backup_label\" will result in a corrupt cluster if restoring from a backup." +msgstr "" + +#: access/transam/xlogrecovery.c:663 +#, c-format +msgid "could not locate required checkpoint record" +msgstr "საკონტროლო წერტილის საჭირო ჩანაწერის მოძებნა შეუძლებელია" + +#: access/transam/xlogrecovery.c:692 commands/tablespace.c:670 +#, c-format +msgid "could not create symbolic link \"%s\": %m" +msgstr "სიმბმულის შექმნის შეცდომა %s: %m" + +#: access/transam/xlogrecovery.c:724 access/transam/xlogrecovery.c:730 +#, c-format +msgid "ignoring file \"%s\" because no file \"%s\" exists" +msgstr "ფაილის (\"%s\") იგნორირება იმიტომ, რომ ფაილი \"%s\" არ არსებობს" + +#: access/transam/xlogrecovery.c:726 +#, c-format +msgid "File \"%s\" was renamed to \"%s\"." +msgstr "სახელშეცვლილია '%s' -დან '%s'-ზე." + +#: access/transam/xlogrecovery.c:732 +#, c-format +msgid "Could not rename file \"%s\" to \"%s\": %m." +msgstr "გადარქმევის შეცდომა %s - %s: %m." + +#: access/transam/xlogrecovery.c:786 +#, c-format +msgid "could not locate a valid checkpoint record" +msgstr "სწორი საკონტროლო წერტილის ჩანაწერის მოძებნა შეუძლებელია" + +#: access/transam/xlogrecovery.c:810 +#, c-format +msgid "requested timeline %u is not a child of this server's history" +msgstr "მოთხოვნილი დროის ხაზი %u სერვერის ისტორიის შვილი არაა" + +#: access/transam/xlogrecovery.c:812 +#, 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 "" + +#: access/transam/xlogrecovery.c:826 +#, c-format +msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u" +msgstr "" + +#: access/transam/xlogrecovery.c:854 +#, c-format +msgid "invalid next transaction ID" +msgstr "შემდეგი ტრანზაქციის არასწორი ID" + +#: access/transam/xlogrecovery.c:859 +#, c-format +msgid "invalid redo in checkpoint record" +msgstr "არასწორი გამეორება საკონტროლო წერტილის ჩანაწერში" + +#: access/transam/xlogrecovery.c:870 +#, c-format +msgid "invalid redo record in shutdown checkpoint" +msgstr "გამეორების არასწორი ჩანაწერი გამორთვის საკონტროლო წერტილში" + +#: access/transam/xlogrecovery.c:899 +#, c-format +msgid "database system was not properly shut down; automatic recovery in progress" +msgstr "მონაცემთა ბაზა არასწორად გამოირთო; მიმდინარეობს ავტომატური აღდეგენა" + +#: access/transam/xlogrecovery.c:903 +#, c-format +msgid "crash recovery starts in timeline %u and has target timeline %u" +msgstr "ავარიიდან აღდგენა იწყება დროის ხაზზე %u და სამიზნედ დროის ხაზი %u აქვს" + +#: access/transam/xlogrecovery.c:946 +#, c-format +msgid "backup_label contains data inconsistent with control file" +msgstr "backup_label შეიცავს მონაცემებს, რომელიც კონტროლის ფაილს არ შეესაბამება" + +#: access/transam/xlogrecovery.c:947 +#, c-format +msgid "This means that the backup is corrupted and you will have to use another backup for recovery." +msgstr "ეს ნიშნავს, რომ მარქაფი დაზიანებულია და აღდგენისთვის სხვა მარქაფის გამოყენება მოგიწევთ." + +#: access/transam/xlogrecovery.c:1001 +#, c-format +msgid "using recovery command file \"%s\" is not supported" +msgstr "აღდგენის ბრძანების ფაილი \"%s\" მხარდაუჭერელია" + +#: access/transam/xlogrecovery.c:1066 +#, c-format +msgid "standby mode is not supported by single-user servers" +msgstr "ერთმომხმარებლიან სერვერებს უქმე რეჟიმი არ გააჩნიათ" + +#: access/transam/xlogrecovery.c:1083 +#, c-format +msgid "specified neither primary_conninfo nor restore_command" +msgstr "მითითებულია არც primary_conninfo და არც restore_command" + +#: access/transam/xlogrecovery.c:1084 +#, c-format +msgid "The database server will regularly poll the pg_wal subdirectory to check for files placed there." +msgstr "" + +#: access/transam/xlogrecovery.c:1092 +#, c-format +msgid "must specify restore_command when standby mode is not enabled" +msgstr "როცა უქმე რეჟიმი ჩართული არაა, restore_command პარამეტრის მითითება აუცილებელია" + +#: access/transam/xlogrecovery.c:1130 +#, c-format +msgid "recovery target timeline %u does not exist" +msgstr "აღდგენის სამიზნე დროის ხაზი არ არსებობს: %u" + +#: 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 +#, c-format +msgid "invalid data in file \"%s\"" +msgstr "არასწორი მონაცემები ფაილში \"%s\"" + +#: access/transam/xlogrecovery.c:1280 +#, c-format +msgid "Timeline ID parsed is %u, but expected %u." +msgstr "დროის დამუშავებული ID %u-ა. მოველოდი მნშვნელობას %u." + +#: access/transam/xlogrecovery.c:1662 +#, c-format +msgid "redo starts at %X/%X" +msgstr "გამეორება დაიწყება მისამართიდან %X/%X" + +#: access/transam/xlogrecovery.c:1675 +#, c-format +msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X" +msgstr "მიმდინარეობს გამეორება. გასული დრო: %ld.%02d მიმდინარე LSN: %X/%X" + +#: access/transam/xlogrecovery.c:1767 +#, c-format +msgid "requested recovery stop point is before consistent recovery point" +msgstr "მოთხოვნილი აღდგენის წერტილი მუდმივი აღდგენის წერტილამდეა" + +#: access/transam/xlogrecovery.c:1799 +#, c-format +msgid "redo done at %X/%X system usage: %s" +msgstr "გამეორება დასრულდა %X/%X -სთან. სისტემის დატვირთვა: %s" + +#: access/transam/xlogrecovery.c:1805 +#, c-format +msgid "last completed transaction was at log time %s" +msgstr "უკანასკნელად დასრულებული ტრანზაქცია მოხდა ჟურნალის დროით %s" + +#: access/transam/xlogrecovery.c:1814 +#, c-format +msgid "redo is not required" +msgstr "გამეორება საჭირო არაა" + +#: access/transam/xlogrecovery.c:1825 +#, c-format +msgid "recovery ended before configured recovery target was reached" +msgstr "აღდგენა მითითებული აღდგენის სამიზნის მიღწევამდე დასრულდა" + +#: access/transam/xlogrecovery.c:2019 +#, c-format +msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s" +msgstr "" + +#: access/transam/xlogrecovery.c:2086 +#, c-format +msgid "unexpected directory entry \"%s\" found in %s" +msgstr "%2$s-ში ნაპოვნია მოულოდნელი საქაღალდის ჩანაწერი \"%1$s\"" + +#: access/transam/xlogrecovery.c:2088 +#, c-format +msgid "All directory entries in pg_tblspc/ should be symbolic links." +msgstr "ყველა საქაღალდის ტიპის ელემენტი ph_tblspc/-ში სიმბმულს უნდა წარმოადგენდეს." + +#: access/transam/xlogrecovery.c:2089 +#, c-format +msgid "Remove those directories, or set allow_in_place_tablespaces to ON transiently to let recovery complete." +msgstr "" + +#: access/transam/xlogrecovery.c:2163 +#, c-format +msgid "consistent recovery state reached at %X/%X" +msgstr "თანმიმდევრული აღდგენის მდგომარეობა მიღწეულია მისამართზე %X/%X" + +#. translator: %s is a WAL record description +#: access/transam/xlogrecovery.c:2201 +#, c-format +msgid "WAL redo at %X/%X for %s" +msgstr "WAL გამეორება %X/%X %s-სთვის" + +#: access/transam/xlogrecovery.c:2299 +#, c-format +msgid "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint record" +msgstr "მოულოდნელი წინა დროის ხაზის ID %u (მიმდინარე დროის ხაზის ID %u) საკონტროლო წერტილის ჩანაწერში" + +#: access/transam/xlogrecovery.c:2308 +#, c-format +msgid "unexpected timeline ID %u (after %u) in checkpoint record" +msgstr "მოულოდნელი დროის ხაზის ID %u (%u-ის შემდეგ) საკონტროლო წერტილის ჩანაწერში" + +#: access/transam/xlogrecovery.c:2324 +#, c-format +msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u" +msgstr "" + +#: access/transam/xlogrecovery.c:2508 access/transam/xlogrecovery.c:2784 +#, c-format +msgid "recovery stopping after reaching consistency" +msgstr "აღდგენა შეთანხმებული მდგომარეობის მიღწევისას დასრულდება" + +#: access/transam/xlogrecovery.c:2529 +#, c-format +msgid "recovery stopping before WAL location (LSN) \"%X/%X\"" +msgstr "აღდგენა შეწყდა WAL-ის მდებარეობამდე (LSN) \"%X/%X\"" + +#: access/transam/xlogrecovery.c:2619 +#, c-format +msgid "recovery stopping before commit of transaction %u, time %s" +msgstr "აღდგენა შეწყდა ტრანზაქციის (%u) გადაცემამდე. დრო %s" + +#: access/transam/xlogrecovery.c:2626 +#, c-format +msgid "recovery stopping before abort of transaction %u, time %s" +msgstr "აღდგენა შეწყდა ტრანზაქციის (%u) გაუქმებამდე. დრო %s" + +#: access/transam/xlogrecovery.c:2679 +#, c-format +msgid "recovery stopping at restore point \"%s\", time %s" +msgstr "აღდგენა შეწყდა აღდგენის წერტილთან \"%s\". დრო %s" + +#: access/transam/xlogrecovery.c:2697 +#, c-format +msgid "recovery stopping after WAL location (LSN) \"%X/%X\"" +msgstr "აღდგენა შეწყდა WAL-ის მდებარეობამდე (LSN) \"%X/%X\"" + +#: access/transam/xlogrecovery.c:2764 +#, c-format +msgid "recovery stopping after commit of transaction %u, time %s" +msgstr "აღდგენა შეწყდა ტრანზაქციის (%u) გადაცემამდე. დრო %s" + +#: access/transam/xlogrecovery.c:2772 +#, c-format +msgid "recovery stopping after abort of transaction %u, time %s" +msgstr "აღდგენა ტრანზაქციის (%u) გაუქმების შემდეგ შეწყდა. დრო %s" + +#: access/transam/xlogrecovery.c:2853 +#, c-format +msgid "pausing at the end of recovery" +msgstr "შეჩერება აღდგენის ბოლოს" + +#: access/transam/xlogrecovery.c:2854 +#, c-format +msgid "Execute pg_wal_replay_resume() to promote." +msgstr "წასახალისებლად გაუშვით pg_wal_replay_resume()." + +#: access/transam/xlogrecovery.c:2857 access/transam/xlogrecovery.c:4594 +#, c-format +msgid "recovery has paused" +msgstr "აღდგენა შეჩერდა" + +#: access/transam/xlogrecovery.c:2858 +#, c-format +msgid "Execute pg_wal_replay_resume() to continue." +msgstr "გასაგრძელებლად გაუშვით pg_wal_replay_resume()." + +#: access/transam/xlogrecovery.c:3121 +#, c-format +msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%X, offset %u" +msgstr "მოულოდნელი დროის ხაზის ID %u WAL სეგმენტში %s, LSN %X/%X, წანაცვლება %u" + +#: access/transam/xlogrecovery.c:3329 +#, c-format +msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: %m" +msgstr "ჟურნალის სეგმენტიდან (%s, LSN %X/%X, წანაცვლება %u) წაკითხვის შეცდომა: %m" + +#: access/transam/xlogrecovery.c:3336 +#, c-format +msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: read %d of %zu" +msgstr "ჟურნალის სეგმენტიდან (%s, LSN %X/%X, წანაცვლება %u) წაკითხვის შეცდომა: წავიკითხე %d %zu-დან" + +#: access/transam/xlogrecovery.c:3976 +#, c-format +msgid "invalid checkpoint location" +msgstr "საკონტროლო წერტილის არასწორი მდებარეობა" + +#: access/transam/xlogrecovery.c:3986 +#, c-format +msgid "invalid checkpoint record" +msgstr "საკონტროლო წერტილის არასწორი ჩანაწერი" + +#: access/transam/xlogrecovery.c:3992 +#, c-format +msgid "invalid resource manager ID in checkpoint record" +msgstr "რესურსის მმართველის არასწორი ID საკონტროლო წერტილის ჩანაწერში" + +#: access/transam/xlogrecovery.c:4000 +#, c-format +msgid "invalid xl_info in checkpoint record" +msgstr "საკონტროლო წერტილის არასწორი xl_info" + +#: access/transam/xlogrecovery.c:4006 +#, c-format +msgid "invalid length of checkpoint record" +msgstr "საკონტროლო წერტილის ჩანაწერის არასწორი სიგრძე" + +#: access/transam/xlogrecovery.c:4060 +#, c-format +msgid "new timeline %u is not a child of database system timeline %u" +msgstr "ახალი დროის ხაზი %u ბაზის სისტემის დროის ხაზის %u შვილი არაა" + +#: access/transam/xlogrecovery.c:4074 +#, c-format +msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X" +msgstr "" + +#: access/transam/xlogrecovery.c:4093 +#, c-format +msgid "new target timeline is %u" +msgstr "ახალი სამიზნის დროის ხაზია %u" + +#: access/transam/xlogrecovery.c:4296 +#, c-format +msgid "WAL receiver process shutdown requested" +msgstr "მოთხოვნილია WAL-ის მიმღები პროცესის გამორთვა" + +#: access/transam/xlogrecovery.c:4356 +#, c-format +msgid "received promote request" +msgstr "მიღებულა დაწინაურების მოთხოვნა" + +#: access/transam/xlogrecovery.c:4585 +#, c-format +msgid "hot standby is not possible because of insufficient parameter settings" +msgstr "ცხელი მომლოდინე სერვერის არსებობა შეუძლებელია არასაკმარისი პარამეტრის მნიშვნელობების გამო" + +#: access/transam/xlogrecovery.c:4586 access/transam/xlogrecovery.c:4613 access/transam/xlogrecovery.c:4643 +#, c-format +msgid "%s = %d is a lower setting than on the primary server, where its value was %d." +msgstr "%s = %d ნაკლებია, ვიდრე ძირითად სერვერზე, სადაც მისი მნიშვნელობაა %d." + +#: access/transam/xlogrecovery.c:4595 +#, c-format +msgid "If recovery is unpaused, the server will shut down." +msgstr "თუ აღდგენა გაგრძელდება, სერვერი გამოირთვება." + +#: access/transam/xlogrecovery.c:4596 +#, c-format +msgid "You can then restart the server after making the necessary configuration changes." +msgstr "კონფიგურაციაში საჭირო ცვლილებების შეტანის შემდეგ შეგიძლიათ სერვერი დაარესტარტოთ." + +#: access/transam/xlogrecovery.c:4607 +#, c-format +msgid "promotion is not possible because of insufficient parameter settings" +msgstr "დაწინაურება შეუძლებელია არასაკმარისი პარამეტრების მნიშვნელობების გამო" + +#: access/transam/xlogrecovery.c:4617 +#, c-format +msgid "Restart the server after making the necessary configuration changes." +msgstr "კონფიგურაციაში საჭირო ცვლილებების შეტანის შემდეგ გადატვირთეთ სერვერი." + +#: access/transam/xlogrecovery.c:4641 +#, c-format +msgid "recovery aborted because of insufficient parameter settings" +msgstr "აღდგენა შეწყვეტილია არასაკმარისი პარამეტრების მნიშვნელობების გამო" + +#: access/transam/xlogrecovery.c:4647 +#, c-format +msgid "You can restart the server after making the necessary configuration changes." +msgstr "კონფიგურაციაში საჭირო ცვლილებების შეტანის შემდეგ შეგიძლიათ სერვერი დაარესტარტოთ." + +#: access/transam/xlogrecovery.c:4689 +#, c-format +msgid "multiple recovery targets specified" +msgstr "მითითებულია აღდგენის მრავალი სამიზნე" + +#: access/transam/xlogrecovery.c:4690 +#, c-format +msgid "At most one of recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time, recovery_target_xid may be set." +msgstr "პარამეტრებიდან recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time და recovery_target_xid მხოლოდ ერთის დაყენება შეგიძლიათ." + +#: access/transam/xlogrecovery.c:4701 +#, c-format +msgid "The only allowed value is \"immediate\"." +msgstr "დაშვებულია მხოლოდ ერთი მნიშვნელობა: \"immediate\"." + +#: access/transam/xlogrecovery.c:4853 utils/adt/timestamp.c:186 utils/adt/timestamp.c:439 +#, c-format +msgid "timestamp out of range: \"%s\"" +msgstr "დროის შტამპი დიაპაზონს გარეთაა: \"%s\"" + +#: access/transam/xlogrecovery.c:4898 +#, c-format +msgid "recovery_target_timeline is not a valid number." +msgstr "recovery_target_timeline სწორი რიცხვი არაა." + +#: access/transam/xlogutils.c:1039 +#, c-format +msgid "could not read from WAL segment %s, offset %d: %m" +msgstr "'WAL'-ის სეგმენტიდან წაკითხვის შეცდომა %s, წანაცვლება %d: %m" + +#: access/transam/xlogutils.c:1046 +#, c-format +msgid "could not read from WAL segment %s, offset %d: read %d of %d" +msgstr "'WAL'-ის სეგმენტიდან წაკითხვის შეცდომა %s, წანაცვლება %d: წაკითხულია %d %d-დან" + +#: archive/shell_archive.c:96 +#, c-format +msgid "archive command failed with exit code %d" +msgstr "არქივაციის ბრძანების შეცდომა. შეცდომის კოდი: %d" + +#: archive/shell_archive.c:98 archive/shell_archive.c:108 archive/shell_archive.c:114 archive/shell_archive.c:123 +#, c-format +msgid "The failed archive command was: %s" +msgstr "არქივირების წარუმატებლად გაშვებული ბრძანება იყო: %s" + +#: archive/shell_archive.c:105 +#, c-format +msgid "archive command was terminated by exception 0x%X" +msgstr "არქივაციის ბრძანება დასრულდა გამონაკლისით 0x%X" + +#: archive/shell_archive.c:107 postmaster/postmaster.c:3675 +#, c-format +msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value." +msgstr "თექვსმეტობითი მნიშვნელობის აღწერისთვის იხილეთ C-ის ჩასასმელი ფაილი \"ntstatus.h\"." + +#: archive/shell_archive.c:112 +#, c-format +msgid "archive command was terminated by signal %d: %s" +msgstr "არქივაციის ბრძანება დასრულდა სიგნალით %d: %s" + +#: archive/shell_archive.c:121 +#, c-format +msgid "archive command exited with unrecognized status %d" +msgstr "არქივის ბრძანება უცნობი სტატუსით დასრულდა: %d" + +#: backup/backup_manifest.c:253 +#, c-format +msgid "expected end timeline %u but found timeline %u" +msgstr "მოველოდი დროის ხაზის (%u) ბოლოს, მაგრამ ნაპოვნია დროის ხაზი %u" + +#: backup/backup_manifest.c:277 +#, c-format +msgid "expected start timeline %u but found timeline %u" +msgstr "მოველოდი დროის ხაზის (%u) დასაწყისს, მაგრამ ნაპოვნია დროის ხაზი %u" + +#: backup/backup_manifest.c:304 +#, c-format +msgid "start timeline %u not found in history of timeline %u" +msgstr "დროის ხაზის %u დასაწყისი დროის ხაზის %u ისტორიაში აღმოჩენილი არაა" + +#: backup/backup_manifest.c:355 +#, c-format +msgid "could not rewind temporary file" +msgstr "დროებითი ფაილის გადახვევის შეცდომა" + +#: backup/basebackup.c:470 +#, c-format +msgid "could not find any WAL files" +msgstr "ვერცერთი WAL ფაილი ვერ ვიპოვე" + +#: backup/basebackup.c:485 backup/basebackup.c:500 backup/basebackup.c:509 +#, c-format +msgid "could not find WAL file \"%s\"" +msgstr "\"WAL\" ფაილის (\"%s\") მოძებნა შეუძლებელია" + +#: backup/basebackup.c:551 backup/basebackup.c:576 +#, c-format +msgid "unexpected WAL file size \"%s\"" +msgstr "მოულოდნელი WAL ფაილის ზომა \"%s\"" + +#: backup/basebackup.c:646 +#, c-format +msgid "%lld total checksum verification failure" +msgid_plural "%lld total checksum verification failures" +msgstr[0] "ჯამში %lld საკონტროლო ჯამის გადამოწმების შეცდომა" +msgstr[1] "ჯამში %lld საკონტროლო ჯამის გადამოწმების შეცდომა" + +#: backup/basebackup.c:653 +#, c-format +msgid "checksum verification failure during base backup" +msgstr "ბაზის მარქაფისას საკონტროლო ჯამის შემოწმების შეცდომა" + +#: backup/basebackup.c:722 backup/basebackup.c:731 backup/basebackup.c:742 backup/basebackup.c:759 backup/basebackup.c:768 backup/basebackup.c:779 backup/basebackup.c:796 backup/basebackup.c:805 backup/basebackup.c:817 backup/basebackup.c:841 backup/basebackup.c:855 backup/basebackup.c:866 backup/basebackup.c:877 backup/basebackup.c:890 +#, c-format +msgid "duplicate option \"%s\"" +msgstr "დუბლიკატი პარამეტრი \"%s\"" + +#: backup/basebackup.c:750 +#, c-format +msgid "unrecognized checkpoint type: \"%s\"" +msgstr "საკონტროლო წერტილის უცნობი ტიპი: \"%s\"" + +#: backup/basebackup.c:785 +#, c-format +msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)" +msgstr "%d პარამეტრისთვის \"%s\" დასაშვებ დიაპაზონს (%d .. %d) გარეთაა" + +#: backup/basebackup.c:830 +#, c-format +msgid "unrecognized manifest option: \"%s\"" +msgstr "მანიფესტის უცნობი პარამეტრი: \"%s\"" + +#: backup/basebackup.c:846 +#, c-format +msgid "unrecognized checksum algorithm: \"%s\"" +msgstr "საკონტროლო ჯამის უცნობი ალგორითმი: \"%s\"" + +#: backup/basebackup.c:881 +#, c-format +msgid "unrecognized compression algorithm: \"%s\"" +msgstr "შეკუმშვის უცხო ალგორითმი: \"%s\"" + +#: backup/basebackup.c:897 +#, c-format +msgid "unrecognized base backup option: \"%s\"" +msgstr "ბაზის მარქაფის უცნობი პარამეტრი: \"%s\"" + +#: backup/basebackup.c:908 +#, c-format +msgid "manifest checksums require a backup manifest" +msgstr "მანიფესტის საკონტროლო ჯამებს მარქაფი მანიფესტი ესაჭიროება" + +#: backup/basebackup.c:917 +#, c-format +msgid "target detail cannot be used without target" +msgstr "სამიზნის დეტალს სამიზნის გარეშე ვერ გამოიყენებთ" + +#: backup/basebackup.c:926 backup/basebackup_target.c:218 +#, c-format +msgid "target \"%s\" does not accept a target detail" +msgstr "სამიზნეს \"%s\" სამიზნის დეტალების მხარდაჭერა არ გააჩნია" + +#: backup/basebackup.c:937 +#, c-format +msgid "compression detail cannot be specified unless compression is enabled" +msgstr "შეკუმშვის დეტალებს ვერ დააყენებთ, სანამ შეკუმშვა ჩართული არაა" + +#: backup/basebackup.c:950 +#, c-format +msgid "invalid compression specification: %s" +msgstr "შეკუმშვის არასწორი სპეციფიკაცია: %s" + +#: backup/basebackup.c:1116 backup/basebackup.c:1294 +#, c-format +msgid "could not stat file or directory \"%s\": %m" +msgstr "ფაილის ან საქაღალდის \"%s\" პოვნა შეუძლებელია: %m" + +#: backup/basebackup.c:1430 +#, c-format +msgid "skipping special file \"%s\"" +msgstr "სპეციალური ფაილის გამოტოვება \"%s\"" + +#: backup/basebackup.c:1542 +#, c-format +msgid "invalid segment number %d in file \"%s\"" +msgstr "არასწორი სეგმენტის ნომერი %d ფაილში \"%s\"" + +#: backup/basebackup.c:1574 +#, c-format +msgid "could not verify checksum in file \"%s\", block %u: read buffer size %d and page size %d differ" +msgstr "საკონტროლო ჯამის გადამოწმება შეუძლებელია ფაილში \"%s\", ბლოკი %u: წაკითხვის ბუფერის ზომა %d და გვერდის ზომა %d განსხვავდება" + +#: backup/basebackup.c:1658 +#, c-format +msgid "checksum verification failed in file \"%s\", block %u: calculated %X but expected %X" +msgstr "საკონტროლო ჯამის გამოთვლის შეცდომა ფაილში \"%s\", ბლოკი \"%u\": გამოთვლილი საკონტროლო ჯამია %X, მაგრამ მოველოდი: %X" + +#: backup/basebackup.c:1665 +#, c-format +msgid "further checksum verification failures in file \"%s\" will not be reported" +msgstr "ამის შემდეგ ფაილში \"%s\" შეხვედრილი საკონტროლო ჯამის გადამოწმების ჩავარდნები ანგარიშში აღარ გამოჩნდება" + +#: backup/basebackup.c:1721 +#, c-format +msgid "file \"%s\" has a total of %d checksum verification failure" +msgid_plural "file \"%s\" has a total of %d checksum verification failures" +msgstr[0] "ფაილს \"%s\" სულ %d საკონტროლო ჯამის გადამოწმების ჩავარდნა აღმოაჩნდა" +msgstr[1] "ფაილს \"%s\" სულ %d საკონტროლო ჯამის გადამოწმების ჩავარდნა აღმოაჩნდა" + +#: backup/basebackup.c:1767 +#, c-format +msgid "file name too long for tar format: \"%s\"" +msgstr "ფაილის სახელი ძალიან გრძელია tar ფორმატისთვის: \"%s\"" + +#: backup/basebackup.c:1772 +#, c-format +msgid "symbolic link target too long for tar format: file name \"%s\", target \"%s\"" +msgstr "სიმბოლური ბმულის სამიზნე ძალიან გრძელია tar ფორმატისთვის: ფაილის სახელი '%s', სამიზნე '%s'" + +#: backup/basebackup_gzip.c:67 +#, c-format +msgid "gzip compression is not supported by this build" +msgstr "ამ აგებაში gzip შეკუმშვის მხარდაჭერა არ არსებობს" + +#: backup/basebackup_gzip.c:143 +#, c-format +msgid "could not initialize compression library" +msgstr "შეკუმშვის ბიბლიოთეკის ინიციალიზაციის შეცდომა" + +#: backup/basebackup_lz4.c:67 +#, c-format +msgid "lz4 compression is not supported by this build" +msgstr "ამ აგებაში lz4 შეკუმშვის მხარდაჭერა არ არსებობს" + +#: backup/basebackup_server.c:75 +#, c-format +msgid "permission denied to create backup stored on server" +msgstr "სერვერზე დასამახსოვრებელი მარქაფის შექმნის წვდომა აკრძალულია" + +#: 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 "სერვერზე შენახული მარქაფის შესაქმნელად \"%s\" როლის პრივილეგიებია საჭირო." + +#: backup/basebackup_server.c:91 +#, c-format +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:1697 storage/file/copydir.c:47 +#, c-format +msgid "could not create directory \"%s\": %m" +msgstr "საქაღალდის (%s) შექმნის შეცდომა: %m" + +#: backup/basebackup_server.c:117 +#, c-format +msgid "directory \"%s\" exists but is not empty" +msgstr "საქაღალდე \"%s\" არსებობს, მაგრამ ცარიელი არაა" + +#: backup/basebackup_server.c:125 utils/init/postinit.c:1160 +#, c-format +msgid "could not access directory \"%s\": %m" +msgstr "საქაღალდის (%s) წვდომის შეცდომა: %m" + +#: backup/basebackup_server.c:177 backup/basebackup_server.c:184 backup/basebackup_server.c:270 backup/basebackup_server.c:277 storage/smgr/md.c:504 storage/smgr/md.c:511 storage/smgr/md.c:593 storage/smgr/md.c:615 storage/smgr/md.c:865 +#, c-format +msgid "Check free disk space." +msgstr "შეამოწმეთ, დისკზე ადგილი დარჩა, თუ არა." + +#: backup/basebackup_server.c:181 backup/basebackup_server.c:274 +#, c-format +msgid "could not write file \"%s\": wrote only %d of %d bytes at offset %u" +msgstr "ფაილში \"%s\" ჩაწერის შეცდომა: ჩავწერე მხოლოდ %d ბაიტი %d-დან , წანაცვლებაზე %u" + +#: backup/basebackup_target.c:146 +#, c-format +msgid "unrecognized target: \"%s\"" +msgstr "უცნობი სამიზნე: \"%s\"" + +#: backup/basebackup_target.c:237 +#, c-format +msgid "target \"%s\" requires a target detail" +msgstr "სამიზნეს \"%s\" სამიზნის დეტალები ესაჭიროება" + +#: backup/basebackup_zstd.c:66 +#, c-format +msgid "zstd compression is not supported by this build" +msgstr "ამ აგებაში zstd შეკუმშვის მხარდაჭერა არ არსებობს" + +#: backup/basebackup_zstd.c:117 +#, c-format +msgid "could not set compression worker count to %d: %s" +msgstr "შეკუმშვის დამხმარე პროცესების რიცხვის %d-ზე დაყენების შეცდომა: %s" + +#: backup/basebackup_zstd.c:129 +#, c-format +msgid "could not enable long-distance mode: %s" +msgstr "long-distance რეჟიმი ვერ ჩავრთე: %s" + +#: bootstrap/bootstrap.c:243 postmaster/postmaster.c:721 tcop/postgres.c:3819 +#, c-format +msgid "--%s requires a value" +msgstr "--%s მნიშვნელობა სჭირდება" + +#: bootstrap/bootstrap.c:248 postmaster/postmaster.c:726 tcop/postgres.c:3824 +#, c-format +msgid "-c %s requires a value" +msgstr "-c %s მნიშვნელობა სჭირდება" + +#: bootstrap/bootstrap.c:289 +#, c-format +msgid "-X requires a power of two value between 1 MB and 1 GB" +msgstr "-X მოითხოვს მნიშვნელობას, რომელიც ორის ხარისხია და არის 1 მბ-სა და 1გბ-ს შორის" + +#: bootstrap/bootstrap.c:295 postmaster/postmaster.c:844 postmaster/postmaster.c:857 +#, c-format +msgid "Try \"%s --help\" for more information.\n" +msgstr "მეტი ინფორმაციისთვის სცადეთ '%s --help'.\n" + +#: bootstrap/bootstrap.c:304 +#, c-format +msgid "%s: invalid command-line arguments\n" +msgstr "%s: არასწორი ბრძანების სტრიქონის არგუმენტები\n" + +#: catalog/aclchk.c:201 +#, c-format +msgid "grant options can only be granted to roles" +msgstr "უფლებების უფლების მიცემა მხოლოდ როლებზეა შესაძლებელი" + +#: catalog/aclchk.c:323 +#, c-format +msgid "no privileges were granted for column \"%s\" of relation \"%s\"" +msgstr "ურთიერთობის %2$s სვეტის %1$s პრივილეგიები მინიჭებული არაა" + +#: catalog/aclchk.c:328 +#, c-format +msgid "no privileges were granted for \"%s\"" +msgstr "ობიექტს \"%s\" პრივილეგიები მინიჭებული არ აქვს" + +#: catalog/aclchk.c:336 +#, c-format +msgid "not all privileges were granted for column \"%s\" of relation \"%s\"" +msgstr "ურთიერთობის %2$s სვეტის %1$s ყველა პრივილეგია მინიჭებული არაა" + +#: catalog/aclchk.c:341 +#, c-format +msgid "not all privileges were granted for \"%s\"" +msgstr "\"%s\"-სთვის საჭირო ყველა უფლება მინიჭებული არ ყოფილა" + +#: catalog/aclchk.c:352 +#, c-format +msgid "no privileges could be revoked for column \"%s\" of relation \"%s\"" +msgstr "ურთიერთობის %2$s სვეტის %1$s მოსახსნელი პრივილეგიები არ არსებობს" + +#: catalog/aclchk.c:357 +#, c-format +msgid "no privileges could be revoked for \"%s\"" +msgstr "%s-სთვის უფლებები არ გაუქმდება" + +#: catalog/aclchk.c:365 +#, c-format +msgid "not all privileges could be revoked for column \"%s\" of relation \"%s\"" +msgstr "ურთიერთობის %2$s სვეტს %1$s ყველა პრივილეგიას ვერ მოხსნით" + +#: catalog/aclchk.c:370 +#, c-format +msgid "not all privileges could be revoked for \"%s\"" +msgstr "\"%s\"-ზე ყველა პრივილეგიის გაუქმება შეუძლებელია" + +#: catalog/aclchk.c:402 +#, c-format +msgid "grantor must be current user" +msgstr "მიმნიჭებელი მიმდინარე მომხმარებელი უნდა იყოს" + +#: catalog/aclchk.c:470 catalog/aclchk.c:1045 +#, c-format +msgid "invalid privilege type %s for relation" +msgstr "ურთიერთობის პრივილეგიის არასწორი ტიპი: %s" + +#: catalog/aclchk.c:474 catalog/aclchk.c:1049 +#, c-format +msgid "invalid privilege type %s for sequence" +msgstr "მიმდევრობის პრივილეგიის არასწორი ტიპი: %s" + +#: catalog/aclchk.c:478 +#, c-format +msgid "invalid privilege type %s for database" +msgstr "ბაზის პრივილეგიის არასწორი ტიპი: %s" + +#: catalog/aclchk.c:482 +#, c-format +msgid "invalid privilege type %s for domain" +msgstr "დომენის პრივილეგიის არასწორი ტიპი: %s" + +#: catalog/aclchk.c:486 catalog/aclchk.c:1053 +#, c-format +msgid "invalid privilege type %s for function" +msgstr "ფუნქციის პრივილეგიის არასწორი ტიპი: %s" + +#: catalog/aclchk.c:490 +#, c-format +msgid "invalid privilege type %s for language" +msgstr "ენის პრივილეგიის არასწორი ტიპი: %s" + +#: catalog/aclchk.c:494 +#, c-format +msgid "invalid privilege type %s for large object" +msgstr "დიდი ობიექტის პრივილეგიის არასწორი ტიპი: %s" + +#: catalog/aclchk.c:498 catalog/aclchk.c:1069 +#, c-format +msgid "invalid privilege type %s for schema" +msgstr "სქემის პრივილეგიის არასწორი ტიპი: %s" + +#: catalog/aclchk.c:502 catalog/aclchk.c:1057 +#, c-format +msgid "invalid privilege type %s for procedure" +msgstr "პროცედურის პრივილეგიის არასწორი ტიპი: %s" + +#: catalog/aclchk.c:506 catalog/aclchk.c:1061 +#, c-format +msgid "invalid privilege type %s for routine" +msgstr "ქვეპროგრამის პრივილეგიის არასწორი ტიპი: %s" + +#: catalog/aclchk.c:510 +#, c-format +msgid "invalid privilege type %s for tablespace" +msgstr "ცხრილის სივრცის პრივილეგიის არასწორი ტიპი: %s" + +#: catalog/aclchk.c:514 catalog/aclchk.c:1065 +#, c-format +msgid "invalid privilege type %s for type" +msgstr "ტიპის პრივილეგიის არასწორი ტიპი: %s" + +#: catalog/aclchk.c:518 +#, c-format +msgid "invalid privilege type %s for foreign-data wrapper" +msgstr "გარე მონაცემების გადამტანის პრივილეგიის არასწორი ტიპი: %s" + +#: catalog/aclchk.c:522 +#, c-format +msgid "invalid privilege type %s for foreign server" +msgstr "გარე სერვერის პრივილეგიის არასწორი ტიპი: %s" + +#: catalog/aclchk.c:526 +#, c-format +msgid "invalid privilege type %s for parameter" +msgstr "პარამეტრის პრივილეგიის არასწორი ტიპი: %s" + +#: catalog/aclchk.c:565 +#, c-format +msgid "column privileges are only valid for relations" +msgstr "სვეტის პრივილეგიები მხოლოდ ურთიერთობებისთვის მოქმედებს" + +#: catalog/aclchk.c:728 catalog/aclchk.c:3555 catalog/objectaddress.c:1092 catalog/pg_largeobject.c:116 storage/large_object/inv_api.c:287 +#, c-format +msgid "large object %u does not exist" +msgstr "დიდი ობიექტი %u არ არსებობს" + +#: catalog/aclchk.c:1102 +#, c-format +msgid "default privileges cannot be set for columns" +msgstr "სვეტებისთვის ნაგულისხმები პრივილეგიების დაყენება შეუძლებელია" + +#: catalog/aclchk.c:1138 +#, c-format +msgid "permission denied to change default privileges" +msgstr "ნაგულისხმები პრივილეგიების შეცვლის წვდომა აკრძალულია" + +#: catalog/aclchk.c:1256 +#, c-format +msgid "cannot use IN SCHEMA clause when using GRANT/REVOKE ON SCHEMAS" +msgstr "'IN SCHEMA' პირობის გამოყენება GRANT/REVOKE ON SCHEMAS-ის გამოყენებისას შეუძლებელია" + +#: catalog/aclchk.c:1595 catalog/catalog.c:631 catalog/objectaddress.c:1561 catalog/pg_publication.c:533 commands/analyze.c:390 commands/copy.c:837 commands/sequence.c:1663 commands/tablecmds.c: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:2876 +#: utils/adt/ruleutils.c:2799 +#, c-format +msgid "column \"%s\" of relation \"%s\" does not exist" +msgstr "სვეტი \"%s\" ურთიერთობაში %s არ არსებობს" + +#: catalog/aclchk.c:1840 +#, c-format +msgid "\"%s\" is an index" +msgstr "\"%s\" ინდექსია" + +#: catalog/aclchk.c:1847 commands/tablecmds.c:13901 commands/tablecmds.c:17172 +#, 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:17136 utils/adt/acl.c:2084 utils/adt/acl.c:2114 utils/adt/acl.c:2146 utils/adt/acl.c:2178 utils/adt/acl.c:2206 utils/adt/acl.c:2236 +#, c-format +msgid "\"%s\" is not a sequence" +msgstr "\"%s\" მიმდევრობა არაა" + +#: catalog/aclchk.c:1893 +#, c-format +msgid "sequence \"%s\" only supports USAGE, SELECT, and UPDATE privileges" +msgstr "მიმდევრობა \"%s\"-ს მხოლოდ USAGE, SELECT და UPDATE პრივილეგიების მხარდაჭერა გააჩნიათ" + +#: catalog/aclchk.c:1910 +#, c-format +msgid "invalid privilege type %s for table" +msgstr "ცხრილის პრივილეგიის არასწორი ტიპი: %s" + +#: catalog/aclchk.c:2072 +#, c-format +msgid "invalid privilege type %s for column" +msgstr "სვეტის პრივილეგიის არასწორი ტიპი: %s" + +#: catalog/aclchk.c:2085 +#, c-format +msgid "sequence \"%s\" only supports SELECT column privileges" +msgstr "მიმდევრობა \"%s\"-ს მხოლოდ SELECT სვეტის პრივილეგიების მხარდაჭერა გააჩნია" + +#: catalog/aclchk.c:2275 +#, c-format +msgid "language \"%s\" is not trusted" +msgstr "ენა \"%s\" სანდო არაა" + +#: catalog/aclchk.c:2277 +#, c-format +msgid "GRANT and REVOKE are not allowed on untrusted languages, because only superusers can use untrusted languages." +msgstr "GRANT და REVOKE არასანდო ენებზე დაშვებული არაა, რადგან არასანდო ენების გამოყენება მხოლოდ ზემომხმარებლებს შეუძლიათ." + +#: catalog/aclchk.c:2427 +#, c-format +msgid "cannot set privileges of array types" +msgstr "მასივის ტიპების პრივილეგიის დაყენება შეუძლებელია" + +#: catalog/aclchk.c:2428 +#, c-format +msgid "Set the privileges of the element type instead." +msgstr "ნაცვლად დააყენეთ ელემენტის ტიპის პრივილეგიები." + +#: catalog/aclchk.c:2435 catalog/objectaddress.c:1667 +#, c-format +msgid "\"%s\" is not a domain" +msgstr "\"%s\" დომენი არაა" + +#: catalog/aclchk.c:2619 +#, c-format +msgid "unrecognized privilege type \"%s\"" +msgstr "პრივილეგიის უცნობი ტიპი \"%s\"" + +#: catalog/aclchk.c:2684 +#, c-format +msgid "permission denied for aggregate %s" +msgstr "წვდომა აკრძალულია აგრეგატზე: \"%s\"" + +#: catalog/aclchk.c:2687 +#, c-format +msgid "permission denied for collation %s" +msgstr "წვდომა აკრძალულია კოლაციაზე: \"%s\"" + +#: catalog/aclchk.c:2690 +#, c-format +msgid "permission denied for column %s" +msgstr "წვდომა აკრძალულია სვეტზე: \"%s\"" + +#: catalog/aclchk.c:2693 +#, c-format +msgid "permission denied for conversion %s" +msgstr "წვდომა აკრძალულია გადაყვანაზე: \"%s\"" + +#: catalog/aclchk.c:2696 +#, c-format +msgid "permission denied for database %s" +msgstr "წვდომა აკრძალულია აგრეგატზე: \"%s\"" + +#: catalog/aclchk.c:2699 +#, c-format +msgid "permission denied for domain %s" +msgstr "წვდომა აკრძალულია დომენზე: \"%s\"" + +#: catalog/aclchk.c:2702 +#, c-format +msgid "permission denied for event trigger %s" +msgstr "წვდომა აკრძალულია მოვლენის ტრიგერზე: \"%s\"" + +#: catalog/aclchk.c:2705 +#, c-format +msgid "permission denied for extension %s" +msgstr "წვდომა აკრძალულია გაფართოებაზე: \"%s\"" + +#: catalog/aclchk.c:2708 +#, c-format +msgid "permission denied for foreign-data wrapper %s" +msgstr "წვდომა აკრძალულია გარე მონაცემების გადამტანზე: \"%s\"" + +#: catalog/aclchk.c:2711 +#, c-format +msgid "permission denied for foreign server %s" +msgstr "წვდომა აკრძალულია გარე სერვერზე: \"%s\"" + +#: catalog/aclchk.c:2714 +#, c-format +msgid "permission denied for foreign table %s" +msgstr "წვდომა აკრძალულია გარე ცხრილზე: \"%s\"" + +#: catalog/aclchk.c:2717 +#, c-format +msgid "permission denied for function %s" +msgstr "წვდომა აკრძალულია ფუნქციაზე: \"%s\"" + +#: catalog/aclchk.c:2720 +#, c-format +msgid "permission denied for index %s" +msgstr "წვდომა აკრძალულია ინდექზე: \"%s\"" + +#: catalog/aclchk.c:2723 +#, c-format +msgid "permission denied for language %s" +msgstr "წვდომა აკრძალულია ენაზე: \"%s\"" + +#: catalog/aclchk.c:2726 +#, c-format +msgid "permission denied for large object %s" +msgstr "წვდომა აკრძალულია დიდ ობიექტზე: \"%s\"" + +#: catalog/aclchk.c:2729 +#, c-format +msgid "permission denied for materialized view %s" +msgstr "წვდომა აკრძალულია მატერიალიზებულ ხედზე: \"%s\"" + +#: catalog/aclchk.c:2732 +#, c-format +msgid "permission denied for operator class %s" +msgstr "წვდომა აკრძალულია ოპერატორის კლასზე: \"%s\"" + +#: catalog/aclchk.c:2735 +#, c-format +msgid "permission denied for operator %s" +msgstr "წვდომა აკრძალულია ოპერატორზე: \"%s\"" + +#: catalog/aclchk.c:2738 +#, c-format +msgid "permission denied for operator family %s" +msgstr "წვდომა აკრძალულია ოპერატორის ოჯახზე: \"%s\"" + +#: catalog/aclchk.c:2741 +#, c-format +msgid "permission denied for parameter %s" +msgstr "წვდომა აკრძალულია პარამეტრზე: \"%s\"" + +#: catalog/aclchk.c:2744 +#, c-format +msgid "permission denied for policy %s" +msgstr "წვდომა აკრძალულია წესზე: \"%s\"" + +#: catalog/aclchk.c:2747 +#, c-format +msgid "permission denied for procedure %s" +msgstr "წვდომა აკრძალულია პროცედურაზე: \"%s\"" + +#: catalog/aclchk.c:2750 +#, c-format +msgid "permission denied for publication %s" +msgstr "წვდომა აკრძალულია პუბლიკაციაზე: \"%s\"" + +#: catalog/aclchk.c:2753 +#, c-format +msgid "permission denied for routine %s" +msgstr "წვდომა აკრძალულია ქვეპროგრამაზე: \"%s\"" + +#: catalog/aclchk.c:2756 +#, c-format +msgid "permission denied for schema %s" +msgstr "წვდომა აკრძალულია სქემაზე: \"%s\"" + +#: catalog/aclchk.c:2759 commands/sequence.c:659 commands/sequence.c:885 commands/sequence.c:927 commands/sequence.c:968 commands/sequence.c:1761 commands/sequence.c:1810 +#, c-format +msgid "permission denied for sequence %s" +msgstr "წვდომა აკრძალულია მიმდევრობაზე: \"%s\"" + +#: catalog/aclchk.c:2762 +#, c-format +msgid "permission denied for statistics object %s" +msgstr "წვდომა აკრძალულია სტატისტიკის ობიექტზე: \"%s\"" + +#: catalog/aclchk.c:2765 +#, c-format +msgid "permission denied for subscription %s" +msgstr "წვდომა აკრძალულია გამოწერაზე: \"%s\"" + +#: catalog/aclchk.c:2768 +#, c-format +msgid "permission denied for table %s" +msgstr "წვდომა აკრძალულია ცხრილზე: \"%s\"" + +#: catalog/aclchk.c:2771 +#, c-format +msgid "permission denied for tablespace %s" +msgstr "წვდომა აკრძალულია ცხრილების სივრცეზე: \"%s\"" + +#: catalog/aclchk.c:2774 +#, c-format +msgid "permission denied for text search configuration %s" +msgstr "წვდომა აკრძალულია ტექსტის ძებნის კონფიგურაციაზე: \"%s\"" + +#: catalog/aclchk.c:2777 +#, c-format +msgid "permission denied for text search dictionary %s" +msgstr "წვდომა აკრძალულია ტექსტის ძებნის ლექსიკონზე: \"%s\"" + +#: catalog/aclchk.c:2780 +#, c-format +msgid "permission denied for type %s" +msgstr "წვდომა აკრძალულია ტიპტზე: \"%s\"" + +#: catalog/aclchk.c:2783 +#, c-format +msgid "permission denied for view %s" +msgstr "წვდომა აკრძალულია ხედზე: \"%s\"" + +#: catalog/aclchk.c:2819 +#, c-format +msgid "must be owner of aggregate %s" +msgstr "უნდა ბრძანდებოდეთ აგრეგატის მფლობელი: %s" + +#: catalog/aclchk.c:2822 +#, c-format +msgid "must be owner of collation %s" +msgstr "უნდა ბრძანდებოდეთ კოლაციის მფლობელი: %s" + +#: catalog/aclchk.c:2825 +#, c-format +msgid "must be owner of conversion %s" +msgstr "უნდა ბრძანდებოდეთ გადაყვანის მფლობელი: %s" + +#: catalog/aclchk.c:2828 +#, c-format +msgid "must be owner of database %s" +msgstr "უნდა ბრძანდებოდეთ ბაზის მფლობელი: %s" + +#: catalog/aclchk.c:2831 +#, c-format +msgid "must be owner of domain %s" +msgstr "უნდა ბრძანდებოდეთ დომენის მფლობელი: %s" + +#: catalog/aclchk.c:2834 +#, c-format +msgid "must be owner of event trigger %s" +msgstr "უნდა ბრძანდებოდეთ მოვლენის ტრიგერის მფლობელი: %s" + +#: catalog/aclchk.c:2837 +#, c-format +msgid "must be owner of extension %s" +msgstr "უნდა ბრძანდებოდეთ გაფართოების მფლობელი: %s" + +#: catalog/aclchk.c:2840 +#, c-format +msgid "must be owner of foreign-data wrapper %s" +msgstr "უნდა ბრძანდებოდეთ გარე ინფორმაციის გადამტანის მფლობელი: %s" + +#: catalog/aclchk.c:2843 +#, c-format +msgid "must be owner of foreign server %s" +msgstr "უნდა ბრძანდებოდეთ გარე სერვერის მფლობელი: %s" + +#: catalog/aclchk.c:2846 +#, c-format +msgid "must be owner of foreign table %s" +msgstr "უნდა ბრძანდებოდეთ გარე ცხრილის მფლობელი: %s" + +#: catalog/aclchk.c:2849 +#, c-format +msgid "must be owner of function %s" +msgstr "უნდა ბრძანდებოდეთ ფუნქციის მფლობელი: %s" + +#: catalog/aclchk.c:2852 +#, c-format +msgid "must be owner of index %s" +msgstr "უნდა ბრძანდებოდეთ ინდექსის მფლობელი: %s" + +#: catalog/aclchk.c:2855 +#, c-format +msgid "must be owner of language %s" +msgstr "უნდა ბრძანდებოდეთ ენის მფლობელი: %s" + +#: catalog/aclchk.c:2858 +#, c-format +msgid "must be owner of large object %s" +msgstr "უნდა ბრძანდებოდეთ დიდი ობიექტის მფლობელი: %s" + +#: catalog/aclchk.c:2861 +#, c-format +msgid "must be owner of materialized view %s" +msgstr "უნდა ბრძანდებოდეთ მატერიალიზებული ხედის მფლობელი: %s" + +#: catalog/aclchk.c:2864 +#, c-format +msgid "must be owner of operator class %s" +msgstr "უნდა ბრძანდებოდეთ ოპერატორის კლასის მფლობელი: %s" + +#: catalog/aclchk.c:2867 +#, c-format +msgid "must be owner of operator %s" +msgstr "უნდა ბრძანდებოდეთ ოპერატორის მფლობელი: %s" + +#: catalog/aclchk.c:2870 +#, c-format +msgid "must be owner of operator family %s" +msgstr "უნდა ბრძანდებოდეთ ოპერატორის ოჯახის მფლობელი: %s" + +#: catalog/aclchk.c:2873 +#, c-format +msgid "must be owner of procedure %s" +msgstr "უნდა ბრძანდებოდეთ პროცედურის მფლობელი: %s" + +#: catalog/aclchk.c:2876 +#, c-format +msgid "must be owner of publication %s" +msgstr "უნდა ბრძანდებოდეთ პუბლიკაციისმფლობელი: %s" + +#: catalog/aclchk.c:2879 +#, c-format +msgid "must be owner of routine %s" +msgstr "უნდა ბრძანდებოდეთ ქვეპროგრამის მფლობელი: %s" + +#: catalog/aclchk.c:2882 +#, c-format +msgid "must be owner of sequence %s" +msgstr "უნდა ბრძანდებოდეთ მიმდევრობის მფლობელი: %s" + +#: catalog/aclchk.c:2885 +#, c-format +msgid "must be owner of subscription %s" +msgstr "უნდა ბრძანდებოდეთ გამოწერის მფლობელი: %s" + +#: catalog/aclchk.c:2888 +#, c-format +msgid "must be owner of table %s" +msgstr "უნდა ბრძანდებოდეთ ცხრილის მფლობელი: %s" + +#: catalog/aclchk.c:2891 +#, c-format +msgid "must be owner of type %s" +msgstr "უნდა ბრძანდებოდეთ ტიპის მფლობელი: %s" + +#: catalog/aclchk.c:2894 +#, c-format +msgid "must be owner of view %s" +msgstr "უნდა ბრძანდებოდეთ ხედის მფლობელი: %s" + +#: catalog/aclchk.c:2897 +#, c-format +msgid "must be owner of schema %s" +msgstr "უნდა ბრძანდებოდეთ სქემის მფლობელი: %s" + +#: catalog/aclchk.c:2900 +#, c-format +msgid "must be owner of statistics object %s" +msgstr "უნდა ბრძანდებოდეთ სტატისტიკის ობიექტის მფლობელი: %s" + +#: catalog/aclchk.c:2903 +#, c-format +msgid "must be owner of tablespace %s" +msgstr "უნდა ბრძანდებოდეთ ცხრილების სივრცის მფლობელი: %s" + +#: catalog/aclchk.c:2906 +#, c-format +msgid "must be owner of text search configuration %s" +msgstr "უნდა ბრძანდებოდეთ ტექსტის ძებნის კონფიგურაციის მფლობელი: %s" + +#: catalog/aclchk.c:2909 +#, c-format +msgid "must be owner of text search dictionary %s" +msgstr "უნდა ბრძანდებოდეთ ტექსტის ძებნის ლექსიკონის მფლობელი: %s" + +#: catalog/aclchk.c:2923 +#, c-format +msgid "must be owner of relation %s" +msgstr "უნდა ბრძანდებოდეთ ურთიერთობის მფლობელი: %s" + +#: catalog/aclchk.c:2969 +#, c-format +msgid "permission denied for column \"%s\" of relation \"%s\"" +msgstr "რელაციის (%2$s) სვეტზე (%1$s) წვდომა აკრძალულია" + +#: catalog/aclchk.c:3104 catalog/aclchk.c:3979 catalog/aclchk.c:4011 +#, c-format +msgid "%s with OID %u does not exist" +msgstr "%s OID-ით %u არ არსებობს" + +#: catalog/aclchk.c:3188 catalog/aclchk.c:3207 +#, c-format +msgid "attribute %d of relation with OID %u does not exist" +msgstr "ურთერთობის (OID-ით %2$u) ატრიბუტი არ არსებობს: %1$d" + +#: catalog/aclchk.c:3302 +#, c-format +msgid "relation with OID %u does not exist" +msgstr "ურთიერთობა OID-ით %u არ არსებობს" + +#: catalog/aclchk.c:3476 +#, c-format +msgid "parameter ACL with OID %u does not exist" +msgstr "პარამეტრის ACL OID-ით %u არ არსებობს" + +#: catalog/aclchk.c:3640 commands/collationcmds.c:808 commands/publicationcmds.c:1746 +#, c-format +msgid "schema with OID %u does not exist" +msgstr "სქემა OID-ით %u არ არსებობს" + +#: catalog/aclchk.c:3705 utils/cache/typcache.c:385 utils/cache/typcache.c:440 +#, c-format +msgid "type with OID %u does not exist" +msgstr "ტიპი OID-ით %u არ არსებობს" + +#: catalog/catalog.c:449 +#, c-format +msgid "still searching for an unused OID in relation \"%s\"" +msgstr "ურთიერთობაში \"%s\" გამოუყენებელი OID-ების ძებნა ჯერ კიდევ მიმდინარეობს" + +#: catalog/catalog.c:451 +#, 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-ი ნაპოვნი არაა." +msgstr[1] "OID-ის კანდიდატები %llu-ჯერ შემოწმდა, მაგრამ გამოუყენებელი OID-ი ნაპოვნი არაა." + +#: catalog/catalog.c:476 +#, 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] "ახალი OID მინიჭებულია ურთიერთობაში \"%s\" %llu ცდის შემდეგ" +msgstr[1] "ახალი OID მინიჭებულია ურთიერთობაში \"%s\" %llu ცდის შემდეგ" + +#: catalog/catalog.c:609 catalog/catalog.c:676 +#, c-format +msgid "must be superuser to call %s()" +msgstr "%s()-ის გამოსაძახებლად ზემომხმარებელი უნდა იყოთ" + +#: catalog/catalog.c:618 +#, c-format +msgid "pg_nextoid() can only be used on system catalogs" +msgstr "pg_nextoid() მხოლოდ სისტემურ კატალოგებზე შეიძლება იყოს გამოყენებული" + +#: catalog/catalog.c:623 parser/parse_utilcmd.c:2264 +#, c-format +msgid "index \"%s\" does not belong to table \"%s\"" +msgstr "ინდექსი %s ცხრილს \"%s\" არ მიეკუთვნება" + +#: catalog/catalog.c:640 +#, c-format +msgid "column \"%s\" is not of type oid" +msgstr "სვეტი \"%s\" oild-ის ტიპი არაა" + +#: catalog/catalog.c:647 +#, c-format +msgid "index \"%s\" is not the index for column \"%s\"" +msgstr "ინდექსი \"%s\" სვეტის \"%s\" ინდექსი არაა" + +#: catalog/dependency.c:546 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 +#, c-format +msgid "cannot drop %s because %s requires it" +msgstr "%s-ის წაშლა შეუძლებელია. ის %s-ს სჭირდება" + +#: catalog/dependency.c:840 catalog/dependency.c:1067 +#, c-format +msgid "You can drop %s instead." +msgstr "სამაგიეროდ შეგიძლიათ %s წაშალოთ." + +#: catalog/dependency.c:1146 catalog/dependency.c:1155 +#, c-format +msgid "%s depends on %s" +msgstr "%s დამოკიდებულია %s -ზე" + +#: catalog/dependency.c:1170 catalog/dependency.c:1179 +#, c-format +msgid "drop cascades to %s" +msgstr "წაშლა %s-ზეც ვრცელდება" + +#: catalog/dependency.c:1187 catalog/pg_shdepend.c:823 +#, c-format +msgid "" +"\n" +"and %d other object (see server log for list)" +msgid_plural "" +"\n" +"and %d other objects (see server log for list)" +msgstr[0] "" +"\n" +"და %d სხვა ობიექტი (სიისთვის იხილეთ სერვერს ჟურნალი)" +msgstr[1] "" +"\n" +"და %d სხვა ობიექტი (სიისთვის იხილეთ სერვერს ჟურნალი)" + +#: catalog/dependency.c:1199 +#, 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:14386 commands/tablespace.c:466 commands/user.c:1309 commands/vacuum.c:211 commands/view.c:446 libpq/auth.c:326 replication/logical/applyparallelworker.c:1044 replication/syncrep.c:1017 storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1358 utils/misc/guc.c:3120 utils/misc/guc.c:3156 utils/misc/guc.c:3226 utils/misc/guc.c:6615 +#: utils/misc/guc.c:6649 utils/misc/guc.c:6683 utils/misc/guc.c:6726 utils/misc/guc.c:6768 +#, c-format +msgid "%s" +msgstr "%s" + +#: catalog/dependency.c:1203 catalog/dependency.c:1210 +#, c-format +msgid "Use DROP ... CASCADE to drop the dependent objects too." +msgstr "თუ გნებავთ, წაშალოთ დამოკიდებული ობიექტებიც, გამოიყენეთ DROP ... CASCADE ." + +#: catalog/dependency.c:1207 +#, c-format +msgid "cannot drop desired object(s) because other objects depend on them" +msgstr "სასურველი ობიექტის წაშლა შეუძლებელია, სანამ არსებობს ობიექტები, რომლებიც მას ეყრდნობიან" + +#: catalog/dependency.c:1215 +#, c-format +msgid "drop cascades to %d other object" +msgid_plural "drop cascades to %d other objects" +msgstr[0] "წაშლა გავრცელდება %d სხვა ობიექტზე" +msgstr[1] "წაშლა გავრცელდება %d სხვა ობიექტზე" + +#: catalog/dependency.c:1899 +#, 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 +#, c-format +msgid "column %d of relation \"%s\" does not exist" +msgstr "სვეტი \"%d\" ურთიერთობაში %s არ არსებობს" + +#: catalog/heap.c:324 +#, c-format +msgid "permission denied to create \"%s.%s\"" +msgstr "\"%s.%s\"-ის შექმნის წვდომა აკრძალულია" + +#: catalog/heap.c:326 +#, c-format +msgid "System catalog modifications are currently disallowed." +msgstr "სისტემური კატალოგების შეცვლა ამჟამად აკრძალულია." + +#: catalog/heap.c:466 commands/tablecmds.c:2374 commands/tablecmds.c:3047 commands/tablecmds.c:6922 +#, c-format +msgid "tables can have at most %d columns" +msgstr "ცხრილებს მაქსიმუმ %d სვეტი შეიძლება ჰქონდეს" + +#: catalog/heap.c:484 commands/tablecmds.c:7229 +#, c-format +msgid "column name \"%s\" conflicts with a system column name" +msgstr "სვეტის სახელი კონფლიქტშია სისტემური სვეტის სახელთან: \"%s\"" + +#: catalog/heap.c:500 +#, c-format +msgid "column name \"%s\" specified more than once" +msgstr "სვეტის სახელი ერთზე მეტჯერაა მითითებული: %s" + +#. translator: first %s is an integer not a name +#: catalog/heap.c:575 +#, c-format +msgid "partition key column %s has pseudo-type %s" +msgstr "დანაყოფის საკვანძო სვეტის %s ფსევდო ტიპია %s" + +#: catalog/heap.c:580 +#, c-format +msgid "column \"%s\" has pseudo-type %s" +msgstr "სვეტს \"%s\" გააჩნია ფსევდო ტიპი \"%s\"" + +#: catalog/heap.c:611 +#, 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 +#, c-format +msgid "no collation was derived for partition key column %s with collatable type %s" +msgstr "" + +#: catalog/heap.c:672 commands/createas.c:203 commands/createas.c:512 +#, c-format +msgid "no collation was derived for column \"%s\" with collatable type %s" +msgstr "" + +#: catalog/heap.c:1148 catalog/index.c:887 commands/createas.c:408 commands/tablecmds.c:3987 +#, 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 +#, c-format +msgid "type \"%s\" already exists" +msgstr "ტიპი \"%s\" უკვე არსებობს" + +#: catalog/heap.c:1165 +#, 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 +#, c-format +msgid "toast relfilenumber value not set when in binary upgrade mode" +msgstr "toast relfilenumber-ის მნიშვნელობა ბინარული განახლების დროს დაყენებული არაა" + +#: catalog/heap.c:1216 +#, c-format +msgid "pg_class heap OID value not set when in binary upgrade mode" +msgstr "ბინარული განახლების რეჟიმში pg_class-ის დროებითი მეხსიერების OID-ის მნიშვნელობა დაყენებული არაა" + +#: catalog/heap.c:1226 +#, c-format +msgid "relfilenumber value not set when in binary upgrade mode" +msgstr "relfilenumber-ის მნიშვნელობა ბინარული განახლების დროს დაყენებული არაა" + +#: catalog/heap.c:2119 +#, c-format +msgid "cannot add NO INHERIT constraint to partitioned table \"%s\"" +msgstr "დაყოფილი ცხრილს (\"%s\") NO INHERIT შეზღუდვას ვერ დაამატებთ" + +#: catalog/heap.c:2393 +#, c-format +msgid "check constraint \"%s\" already exists" +msgstr "შეზღუდვის შემმოწმებელი \"%s\" უკვე არსებობს" + +#: catalog/heap.c:2563 catalog/index.c:901 catalog/pg_constraint.c:682 commands/tablecmds.c:8900 +#, c-format +msgid "constraint \"%s\" for relation \"%s\" already exists" +msgstr "შეზღუდვა \"%s\" ურთიერთობისთვის \"%s\" უკვე არსებობს" + +#: catalog/heap.c:2570 +#, c-format +msgid "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\"" +msgstr "შეზღუდვა \"%s\" კონფლიქტშია არა-მემკვიდრეობით მიღებულ შეზღუდვასთან ურთიერთობაზე \"%s\"" + +#: catalog/heap.c:2581 +#, c-format +msgid "constraint \"%s\" conflicts with inherited constraint on relation \"%s\"" +msgstr "შეზღუდვა \"%s\" კონფლიქტშია მემკვიდრეობით მიღებულ შეზღუდვასთან ურთიერთობაზე \"%s\"" + +#: catalog/heap.c:2591 +#, c-format +msgid "constraint \"%s\" conflicts with NOT VALID constraint on relation \"%s\"" +msgstr "შეზღუდვა \"%s\" კონფლიქტშია შეზღუდვასთან NOT VALID ურთიერთობაზე \"%s\"" + +#: catalog/heap.c:2596 +#, c-format +msgid "merging constraint \"%s\" with inherited definition" +msgstr "შეზღუდვის (\"%s\") შერწყმა მემკვიდრეობითი აღწერით" + +#: 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 +#, c-format +msgid "too many inheritance parents" +msgstr "მეტისმეტად ბევრი მემკვიდრეობის მშობლები" + +#: catalog/heap.c:2706 +#, c-format +msgid "cannot use generated column \"%s\" in column generation expression" +msgstr "სვეტის გენერაციის გამოსახულებაში გენერირებული სვეტის (%s) გამოყენება შეუძლებელია" + +#: catalog/heap.c:2708 +#, c-format +msgid "A generated column cannot reference another generated column." +msgstr "გენერირებული სვეტი სხვა გენერირებული სვეტის მიმართვა ვერ იქნება." + +#: catalog/heap.c:2714 +#, c-format +msgid "cannot use whole-row variable in column generation expression" +msgstr "" + +#: catalog/heap.c:2715 +#, c-format +msgid "This would cause the generated column to depend on its own value." +msgstr "ამან შეიძლება დაგენერირებული სვეტის თავის საკუთარ მნიშვნელობაზე დამოკიდებულება გამოიწვიოს." + +#: catalog/heap.c:2768 +#, c-format +msgid "generation expression is not immutable" +msgstr "თაობის გამოსახულება უცვლელი არაა" + +#: catalog/heap.c:2796 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: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:1302 +#, c-format +msgid "You will need to rewrite or cast the expression." +msgstr "საჭიროა გამოსახულების გარდაქმნა ან გადაყვანა." + +#: catalog/heap.c:2848 +#, c-format +msgid "only table \"%s\" can be referenced in check constraint" +msgstr "შემოწმების შეზღუდვაში მხოლოდ %s ცხრილზე მიმართვა შეიძლება" + +#: catalog/heap.c:3154 +#, c-format +msgid "unsupported ON COMMIT and foreign key combination" +msgstr "\"ON COMMIT\"-ისა და გარე გასაღების წყვილი მხარდაუჭერელია" + +#: catalog/heap.c:3155 +#, 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:3160 +#, c-format +msgid "cannot truncate a table referenced in a foreign key constraint" +msgstr "გარე გასაღების შეზღუდვაში მიმართული ცხრილის შემცველობის დაცარიელება შეუძლებელია" + +#: catalog/heap.c:3161 +#, c-format +msgid "Table \"%s\" references \"%s\"." +msgstr "ცხრილი \"%s\" მიუთითებს \"%s\"." + +#: catalog/heap.c:3163 +#, 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:2170 +#, c-format +msgid "multiple primary keys for table \"%s\" are not allowed" +msgstr "ცხრილისთვის \"%s\" ერთზე მეტი ძირითადი გასაღები დაუშვებელია" + +#: catalog/index.c:239 +#, c-format +msgid "primary keys cannot use NULLS NOT DISTINCT indexes" +msgstr "ძირითად გასაღებებს NULLS NOT DISTINCT ინდექსების გამოყენება არ შეუძლიათ" + +#: catalog/index.c:256 +#, c-format +msgid "primary keys cannot be expressions" +msgstr "ძირითადი გასაღები გამოსახულება არ შეიძლება იყოს" + +#: catalog/index.c:273 +#, c-format +msgid "primary key column \"%s\" is not marked NOT NULL" +msgstr "ძირითადის გასაღების ტიპის სვეტი \"%s\" არაა აღწერილი, როგორც NOT NULL" + +#: catalog/index.c:786 catalog/index.c:1942 +#, c-format +msgid "user-defined indexes on system catalog tables are not supported" +msgstr "სისტემური კატალოგების ცხრილებზე მომხმარებლის მიერ აღწერილი ინდექსების დადება შეუძლებელია" + +#: catalog/index.c:826 +#, c-format +msgid "nondeterministic collations are not supported for operator class \"%s\"" +msgstr "არადეტერმინისტული კოლაციები ოპერატორის კლასისთვის \"%s\" მხარდაჭერილი არაა" + +#: catalog/index.c:841 +#, c-format +msgid "concurrent index creation on system catalog tables is not supported" +msgstr "სისტემური კატალოგების ცხრილებზე ინდექსების პარალელური შექმნა მხარდაუჭერელია" + +#: catalog/index.c:850 catalog/index.c:1318 +#, c-format +msgid "concurrent index creation for exclusion constraints is not supported" +msgstr "პარალელური ინდექსის შექმნა გამორიცხვის შეზღუდვებისთვის მხარდაჭერილი არაა" + +#: catalog/index.c:859 +#, c-format +msgid "shared indexes cannot be created after initdb" +msgstr "გაზიარებული ინდექსების შექმნა შეუძლებელია initdb-ის შემდეგ" + +#: 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 "შეერთება \"%s\" უკვე არსებობს, გამოტოვება" + +#: catalog/index.c:929 +#, c-format +msgid "pg_class index OID value not set when in binary upgrade mode" +msgstr "ბინარული განახლების რეჟიმში pg_class-ის ინდექსის OID-ის მნიშვნელობა დაყენებული არაა" + +#: catalog/index.c:939 utils/cache/relcache.c:3731 +#, c-format +msgid "index relfilenumber value not set when in binary upgrade mode" +msgstr "index relfilenumber-ის მნიშვნელობა ბინარული განახლების დროს დაყენებული არაა" + +#: catalog/index.c:2241 +#, c-format +msgid "DROP INDEX CONCURRENTLY must be first action in transaction" +msgstr "DROP INDEX CONCURRENTLY ტრანზაქციის პირველი ქმედება უნდა იყოს" + +#: catalog/index.c:3649 +#, c-format +msgid "cannot reindex temporary tables of other sessions" +msgstr "სხვა სესიების დროებითი ცხრილების რეინდექსი შეუძლებელია" + +#: catalog/index.c:3660 commands/indexcmds.c:3631 +#, c-format +msgid "cannot reindex invalid index on TOAST table" +msgstr "\"TOAST\" ცხრილზე არასწორი ინდექსის რეინდექსი შეუძლებელია" + +#: catalog/index.c:3676 commands/indexcmds.c:3511 commands/indexcmds.c:3655 commands/tablecmds.c:3402 +#, c-format +msgid "cannot move system relation \"%s\"" +msgstr "სისტემური ურთიერთობის გაადაადგილება არ შეიძლება: \"%s\"" + +#: catalog/index.c:3820 +#, c-format +msgid "index \"%s\" was reindexed" +msgstr "\"%s\"-ის რეინდექსი დასრულდა" + +#: catalog/index.c:3957 +#, 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:5718 +#, c-format +msgid "cross-database references are not implemented: \"%s.%s.%s\"" +msgstr "ბაზებს შორის ბმულები განხორციელებული არაა: \"%s.%s.%s\"" + +#: catalog/namespace.c:317 +#, c-format +msgid "temporary tables cannot specify a schema name" +msgstr "დროებით ცხრილებს სქემის სახელი არ მიეთითებათ" + +#: catalog/namespace.c:398 +#, c-format +msgid "could not obtain lock on relation \"%s.%s\"" +msgstr "ბლოკის მიღების შეცდომა ურთიერთობაზე %s.%s\"" + +#: catalog/namespace.c:403 commands/lockcmds.c:144 commands/lockcmds.c:224 +#, c-format +msgid "could not obtain lock on relation \"%s\"" +msgstr "ბლოკის მიღების შეცდომა ურთიერთობაზე %s\"" + +#: catalog/namespace.c:431 parser/parse_relation.c:1430 +#, c-format +msgid "relation \"%s.%s\" does not exist" +msgstr "ურთიერთობა \"%s.%s\" არ არსებობს" + +#: catalog/namespace.c:436 parser/parse_relation.c:1443 parser/parse_relation.c:1451 utils/adt/regproc.c:913 +#, c-format +msgid "relation \"%s\" does not exist" +msgstr "ურთიერთობა \"%s\" არ არსებობს" + +#: catalog/namespace.c:502 catalog/namespace.c:3073 commands/extension.c:1611 commands/extension.c:1617 +#, c-format +msgid "no schema has been selected to create in" +msgstr "შიგნით შესაქმნელი სქემა მონიშნული არაა" + +#: catalog/namespace.c:654 catalog/namespace.c:667 +#, c-format +msgid "cannot create relations in temporary schemas of other sessions" +msgstr "სხვა სესიების დროებით სქემებთან ურთიერთობის შექმნა შეუძლებელია" + +#: catalog/namespace.c:658 +#, c-format +msgid "cannot create temporary relation in non-temporary schema" +msgstr "დროებითი ურთიერთობების შექმნა არა-დროებით სქემაში შეუძლებელია" + +#: catalog/namespace.c:673 +#, c-format +msgid "only temporary relations may be created in temporary schemas" +msgstr "დროებით სქემებში მხოლოდ დროებითი ურთიერთობების შექმნა შეიძლება" + +#: catalog/namespace.c:2265 +#, c-format +msgid "statistics object \"%s\" does not exist" +msgstr "სტატისტიკის ობიექტი \"%s\" არ არსებობს" + +#: catalog/namespace.c:2388 +#, c-format +msgid "text search parser \"%s\" does not exist" +msgstr "ტექსტის ძებნის დამმუშავებელი \"%s\" არ არსებობს" + +#: catalog/namespace.c:2514 utils/adt/regproc.c:1439 +#, c-format +msgid "text search dictionary \"%s\" does not exist" +msgstr "ტექსტის ძებნის ლექსიკონი \"%s\" არ არსებობს" + +#: catalog/namespace.c:2641 +#, c-format +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 +#, 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 +#, 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 +#, c-format +msgid "improper qualified name (too many dotted names): %s" +msgstr "არასწორი სრული სახელი (ძალიან ბევრი წერტილიანი სახელი): %s" + +#: catalog/namespace.c:3016 +#, c-format +msgid "cannot move objects into or out of temporary schemas" +msgstr "ობიექტის დროებითი სქემიდან გამოტანა ან სქემაში შეტანა შეუძლებელია" + +#: catalog/namespace.c:3022 +#, c-format +msgid "cannot move objects into or out of TOAST schema" +msgstr "\"TOAST\" სქემიდან ობიექტს ვერც გამოიტანთ, ვერც შეიტანთ" + +#: catalog/namespace.c:3095 commands/schemacmds.c:264 commands/schemacmds.c:344 commands/tablecmds.c:1280 utils/adt/regproc.c:1668 +#, c-format +msgid "schema \"%s\" does not exist" +msgstr "სქემა \"%s\" არ არსებობს" + +#: catalog/namespace.c:3126 +#, c-format +msgid "improper relation name (too many dotted names): %s" +msgstr "ურთიერთობის არასწორი სახელი (ძალიან ბევრი წერტილიანი სახელი): %s" + +#: catalog/namespace.c:3693 utils/adt/regproc.c:1056 +#, c-format +msgid "collation \"%s\" for encoding \"%s\" does not exist" +msgstr "კოლაცია \"%s\" კოდირებისთვის \"%s\" არ არსებობს" + +#: catalog/namespace.c:3748 +#, c-format +msgid "conversion \"%s\" does not exist" +msgstr "გადაყვანა \"%s\" არ არსებობს" + +#: catalog/namespace.c:4012 +#, c-format +msgid "permission denied to create temporary tables in database \"%s\"" +msgstr "ბაზაში \"%s\" დროებითი ცხრილების შექმნის წვდომა აკრძალულია" + +#: catalog/namespace.c:4028 +#, c-format +msgid "cannot create temporary tables during recovery" +msgstr "აღდგენისას დროებითი ცხრილების შექმნა შეუძლებელია" + +#: catalog/namespace.c:4034 +#, c-format +msgid "cannot create temporary tables during a parallel operation" +msgstr "პარალელური ოპერაციის მიმდინარეობისას დროებითი ცხრილების შექმნა შეუძლებელია" + +#: catalog/objectaddress.c:1409 commands/policy.c:96 commands/policy.c:376 commands/tablecmds.c:248 commands/tablecmds.c:290 commands/tablecmds.c:2206 commands/tablecmds.c:12357 +#, c-format +msgid "\"%s\" is not a table" +msgstr "\"%s\" ცხრილი არაა" + +#: catalog/objectaddress.c:1416 commands/tablecmds.c:260 commands/tablecmds.c:17141 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:17146 +#, c-format +msgid "\"%s\" is not a materialized view" +msgstr "\"%s\" არ არის მატერიალიზებული ხედი" + +#: catalog/objectaddress.c:1430 commands/tablecmds.c:284 commands/tablecmds.c:17151 +#, c-format +msgid "\"%s\" is not a foreign table" +msgstr "\"%s\" გარე ცხრილი არაა" + +#: catalog/objectaddress.c:1471 +#, c-format +msgid "must specify relation and object name" +msgstr "ურთიერთობის და ობიექტის სახელის მითითება აუცილებელია" + +#: catalog/objectaddress.c:1547 catalog/objectaddress.c:1600 +#, c-format +msgid "column name must be qualified" +msgstr "სვეტს სახელი სრულად უნდა მიუთითოთ" + +#: catalog/objectaddress.c:1619 +#, c-format +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:3689 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\" არ არსებობს" + +#: catalog/objectaddress.c:1775 +#, c-format +msgid "operator %d (%s, %s) of %s does not exist" +msgstr "ოპერატორი %d (%s, %s) %s-დან არ არსებობს" + +#: catalog/objectaddress.c:1806 +#, c-format +msgid "function %d (%s, %s) of %s does not exist" +msgstr "ფუნქცია %d (%s, %s) %s-დან არ არსებობს" + +#: catalog/objectaddress.c:1857 catalog/objectaddress.c:1883 +#, c-format +msgid "user mapping for user \"%s\" on server \"%s\" does not exist" +msgstr "სერვერზე (%2$s) მომხმარებლის ბმა %1$s-სთვის არ არსებობს" + +#: catalog/objectaddress.c:1872 commands/foreigncmds.c:430 commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:700 +#, c-format +msgid "server \"%s\" does not exist" +msgstr "სერვერი \"%s\" არ არსებობს" + +#: catalog/objectaddress.c:1939 +#, c-format +msgid "publication relation \"%s\" in publication \"%s\" does not exist" +msgstr "პუბლიკაციის ურთიერთობა %s პუბლიკაციაში %s არ არსებობ" + +#: catalog/objectaddress.c:1986 +#, c-format +msgid "publication schema \"%s\" in publication \"%s\" does not exist" +msgstr "პუბლიკაციის სქემა %s პუბლიკაციაში %s არ არსებობს" + +#: catalog/objectaddress.c:2044 +#, c-format +msgid "unrecognized default ACL object type \"%c\"" +msgstr "ნაგულისხმები ACL ობიექტის უცნობი ტიპი \"%c\"" + +#: catalog/objectaddress.c:2045 +#, c-format +msgid "Valid object types are \"%c\", \"%c\", \"%c\", \"%c\", \"%c\"." +msgstr "ობიექტის სწორი ტიპებია \"%c\", \"%c\", \"%c\", \"%c\", \"%c\"." + +#: catalog/objectaddress.c:2096 +#, c-format +msgid "default ACL for user \"%s\" in schema \"%s\" on %s does not exist" +msgstr "ნაგულისხმები ACL მომხმარებლისთვის %s სქემაში %s %s-ზე არ არსებობს" + +#: catalog/objectaddress.c:2101 +#, c-format +msgid "default ACL for user \"%s\" on %s does not exist" +msgstr "ნაგულისხმები ACL მომხმარებლისთვის \"%s\" \"%s\"-ზე არ არსებობს" + +#: catalog/objectaddress.c:2127 catalog/objectaddress.c:2184 catalog/objectaddress.c:2239 +#, c-format +msgid "name or argument lists may not contain nulls" +msgstr "სახელი ან არგუმენტი არ შეიძლება ნულოვან სიმბოლოს შეიცავდეს" + +#: catalog/objectaddress.c:2161 +#, c-format +msgid "unsupported object type \"%s\"" +msgstr "ობიექტის მხარდაუჭერელი ტიპი: \"%s\"" + +#: catalog/objectaddress.c:2180 catalog/objectaddress.c:2197 catalog/objectaddress.c:2262 catalog/objectaddress.c:2346 +#, c-format +msgid "name list length must be exactly %d" +msgstr "სახელების სიის სიგრძე ზუსტად %d უნდა იყოს" + +#: catalog/objectaddress.c:2201 +#, c-format +msgid "large object OID may not be null" +msgstr "დიდი ობიექტის OID ნულის ტოლი არ შეიძლება იყოს" + +#: catalog/objectaddress.c:2210 catalog/objectaddress.c:2280 catalog/objectaddress.c:2287 +#, c-format +msgid "name list length must be at least %d" +msgstr "სახელების სიის სიგრძე ყველაზე ცოტა %d უნდა იყოს" + +#: catalog/objectaddress.c:2273 catalog/objectaddress.c:2294 +#, c-format +msgid "argument list length must be exactly %d" +msgstr "არგუმენტების სიის სიგრძე ზუსტად %d უნდა იყოს" + +#: catalog/objectaddress.c:2508 libpq/be-fsstubs.c:329 +#, c-format +msgid "must be owner of large object %u" +msgstr "უნდა ბრძანდებოდეთ დიდი ობიექტის მფლობელი: %u" + +#: catalog/objectaddress.c:2523 commands/functioncmds.c:1561 +#, c-format +msgid "must be owner of type %s or type %s" +msgstr "უნდა ბრძანდებოდეთ მფლობელი ტიპისა %s ან %s" + +#: catalog/objectaddress.c:2550 catalog/objectaddress.c:2559 catalog/objectaddress.c:2565 +#, c-format +msgid "permission denied" +msgstr "წვდომა აკრძალულია" + +#: catalog/objectaddress.c:2551 catalog/objectaddress.c:2560 +#, c-format +msgid "The current user must have the %s attribute." +msgstr "მიმდინარე მომხმარებელს %s ატრიბუტი აუცილებლად უნდა ჰქონდეს." + +#: catalog/objectaddress.c:2566 +#, c-format +msgid "The current user must have the %s option on role \"%s\"." +msgstr "მიმდინარე მომხმარებელს უნდა ჰქონდეს %s პარამეტრი როლზე \"%s\"." + +#: catalog/objectaddress.c:2580 +#, c-format +msgid "must be superuser" +msgstr "უნდა იყოს ზემომხმარებელი" + +#: catalog/objectaddress.c:2649 +#, c-format +msgid "unrecognized object type \"%s\"" +msgstr "ობიექტის უცნობი ტიპი: %s" + +#. translator: second %s is, e.g., "table %s" +#: catalog/objectaddress.c:2941 +#, c-format +msgid "column %s of %s" +msgstr "სვეტი %s %s-ზე" + +#: catalog/objectaddress.c:2956 +#, c-format +msgid "function %s" +msgstr "ფუნქცია %s" + +#: catalog/objectaddress.c:2969 +#, c-format +msgid "type %s" +msgstr "ტიპი %s" + +#: catalog/objectaddress.c:3006 +#, c-format +msgid "cast from %s to %s" +msgstr "%s-დან %s" + +#: catalog/objectaddress.c:3039 +#, c-format +msgid "collation %s" +msgstr "კოლაცია %s" + +#. translator: second %s is, e.g., "table %s" +#: catalog/objectaddress.c:3070 +#, c-format +msgid "constraint %s on %s" +msgstr "%s-ის შეზღუდვა %s-ზე" + +#: catalog/objectaddress.c:3076 +#, c-format +msgid "constraint %s" +msgstr "შეზღუდვა %s" + +#: catalog/objectaddress.c:3108 +#, c-format +msgid "conversion %s" +msgstr "გარდაქმნა: %s" + +#. translator: %s is typically "column %s of table %s" +#: catalog/objectaddress.c:3130 +#, c-format +msgid "default value for %s" +msgstr "%s-ის ნაგულისხმები მნიშვნელობა" + +#: catalog/objectaddress.c:3141 +#, c-format +msgid "language %s" +msgstr "ენა %s" + +#: catalog/objectaddress.c:3149 +#, c-format +msgid "large object %u" +msgstr "დიდი ობიექტი %u" + +#: catalog/objectaddress.c:3162 +#, c-format +msgid "operator %s" +msgstr "ოპერატორი %s" + +#: catalog/objectaddress.c:3199 +#, c-format +msgid "operator class %s for access method %s" +msgstr "ოპერატორის კლასის %s წვდომის მეთოდისთვის %s" + +#: catalog/objectaddress.c:3227 +#, c-format +msgid "access method %s" +msgstr "წვდომის მეთოდი: %s" + +#. translator: %d is the operator strategy (a number), the +#. first two %s's are data type names, the third %s is the +#. description of the operator family, and the last %s is the +#. textual form of the operator with arguments. +#: catalog/objectaddress.c:3276 +#, c-format +msgid "operator %d (%s, %s) of %s: %s" +msgstr "ოპერატორი %d (%s, %s) of %s: %s" + +#. translator: %d is the function number, the first two %s's +#. are data type names, the third %s is the description of the +#. operator family, and the last %s is the textual form of the +#. function with arguments. +#: catalog/objectaddress.c:3333 +#, c-format +msgid "function %d (%s, %s) of %s: %s" +msgstr "ფუნქცია %d (%s, %s) of %s: %s" + +#. translator: second %s is, e.g., "table %s" +#: catalog/objectaddress.c:3385 +#, c-format +msgid "rule %s on %s" +msgstr "წესი %s %s-ზე" + +#. translator: second %s is, e.g., "table %s" +#: catalog/objectaddress.c:3431 +#, c-format +msgid "trigger %s on %s" +msgstr "ტრიგერი %s %s-ზე" + +#: catalog/objectaddress.c:3451 +#, c-format +msgid "schema %s" +msgstr "სქემა %s" + +#: catalog/objectaddress.c:3479 +#, c-format +msgid "statistics object %s" +msgstr "სტატისტიკის ობიექტი %s" + +#: catalog/objectaddress.c:3510 +#, c-format +msgid "text search parser %s" +msgstr "ტექსტის ძებნის დამმუშავებელი \"%s\"" + +#: catalog/objectaddress.c:3541 +#, c-format +msgid "text search dictionary %s" +msgstr "ტექსტის ძებნის ლექსიკონი %s" + +#: catalog/objectaddress.c:3572 +#, c-format +msgid "text search template %s" +msgstr "ტექსტის ძებნის შაბლონი %s" + +#: catalog/objectaddress.c:3603 +#, c-format +msgid "text search configuration %s" +msgstr "ტექსტის ძებნის კონფიგურაცია \"%s\"" + +#: catalog/objectaddress.c:3616 +#, c-format +msgid "role %s" +msgstr "როლი %s" + +#: catalog/objectaddress.c:3653 catalog/objectaddress.c:5505 +#, c-format +msgid "membership of role %s in role %s" +msgstr "როლის (%s) წევრობა როლში %s" + +#: catalog/objectaddress.c:3674 +#, c-format +msgid "database %s" +msgstr "ბაზა: %s" + +#: catalog/objectaddress.c:3690 +#, c-format +msgid "tablespace %s" +msgstr "ცხრილების სივრცე %s" + +#: catalog/objectaddress.c:3701 +#, c-format +msgid "foreign-data wrapper %s" +msgstr "გარე-მონაცემების გადამტანი %s" + +#: catalog/objectaddress.c:3711 +#, c-format +msgid "server %s" +msgstr "სერვერი %s" + +#: catalog/objectaddress.c:3744 +#, c-format +msgid "user mapping for %s on server %s" +msgstr "მომხმარებლის ბმა %s-სთვის სერვერზე %s" + +#: catalog/objectaddress.c:3796 +#, c-format +msgid "default privileges on new relations belonging to role %s in schema %s" +msgstr "ნაგულისხმები პრივილეგიები ახალ ურთიერთობებზე, რომელიც ეკუთვნის როლს %s, სქემაში %s" + +#: catalog/objectaddress.c:3800 +#, c-format +msgid "default privileges on new relations belonging to role %s" +msgstr "ნაგულისხმები პრივილეგიები ახალ ურთიერთობებზე, რომელიც ეკუთვნის როლს %s" + +#: catalog/objectaddress.c:3806 +#, c-format +msgid "default privileges on new sequences belonging to role %s in schema %s" +msgstr "ნაგულისხმები პრივილეგიები ახალ მიმდევრობებზე, რომელიც ეკუთვნის როლს %s სქემაში %s" + +#: catalog/objectaddress.c:3810 +#, c-format +msgid "default privileges on new sequences belonging to role %s" +msgstr "ნაგულისხმები პრივილეგიები ახალ მიმდევრობებზე, რომელიც ეკუთვნის როლს %s" + +#: catalog/objectaddress.c:3816 +#, c-format +msgid "default privileges on new functions belonging to role %s in schema %s" +msgstr "ნაგულისხმები პრივილეგიები ახალ ფუნქციებზე, რომელიც ეკუთვნის როლს %s სქემაში %s" + +#: catalog/objectaddress.c:3820 +#, c-format +msgid "default privileges on new functions belonging to role %s" +msgstr "ნაგულისხმები პრივილეგიები ახალ ფუნქციებზე, რომელიც ეკუთვნის როლს %s" + +#: catalog/objectaddress.c:3826 +#, c-format +msgid "default privileges on new types belonging to role %s in schema %s" +msgstr "ნაგულისხმები პრივილეგიები ახალ სქემაზე, რომელიც ეკუთვნის როლს %s სქემაში %s" + +#: catalog/objectaddress.c:3830 +#, c-format +msgid "default privileges on new types belonging to role %s" +msgstr "ნაგულისხმები პრივილეგიები ახალ ტიპებზე, რომელიც ეკუთვნის როლს %s" + +#: catalog/objectaddress.c:3836 +#, c-format +msgid "default privileges on new schemas belonging to role %s" +msgstr "ნაგულისხმები პრივილეგიები ახალ სქემაზე, რომელიც ეკუთვნის როლს %s" + +#: catalog/objectaddress.c:3843 +#, c-format +msgid "default privileges belonging to role %s in schema %s" +msgstr "სქემაში (%s) როლის (%s) ნაგულისხმები პრივილეგიები" + +#: catalog/objectaddress.c:3847 +#, c-format +msgid "default privileges belonging to role %s" +msgstr "როლის (%s) ნაგულისხმები პრივილეგიები" + +#: catalog/objectaddress.c:3869 +#, c-format +msgid "extension %s" +msgstr "გაფართოებa %s" + +#: catalog/objectaddress.c:3886 +#, c-format +msgid "event trigger %s" +msgstr "მოვლენის ტრიგერი %s" + +#: catalog/objectaddress.c:3910 +#, c-format +msgid "parameter %s" +msgstr "პარამეტრი %s" + +#. translator: second %s is, e.g., "table %s" +#: catalog/objectaddress.c:3953 +#, c-format +msgid "policy %s on %s" +msgstr "წესი %s %s-ზე" + +#: catalog/objectaddress.c:3967 +#, c-format +msgid "publication %s" +msgstr "პუბლიკაცია %s" + +#: catalog/objectaddress.c:3980 +#, c-format +msgid "publication of schema %s in publication %s" +msgstr "სქემის (%s) პუბლიკაცია პუბლიკაციაში %s" + +#. translator: first %s is, e.g., "table %s" +#: catalog/objectaddress.c:4011 +#, c-format +msgid "publication of %s in publication %s" +msgstr "%s-ის პუბლიკაცია პუბლიკაციაში %s" + +#: catalog/objectaddress.c:4024 +#, c-format +msgid "subscription %s" +msgstr "გამოწერა %s" + +#: catalog/objectaddress.c:4045 +#, c-format +msgid "transform for %s language %s" +msgstr "გარდაქმნა %s-სთვის, ენისთვის %s" + +#: catalog/objectaddress.c:4116 +#, c-format +msgid "table %s" +msgstr "ცხრილი %s" + +#: catalog/objectaddress.c:4121 +#, c-format +msgid "index %s" +msgstr "ინდექსი %s" + +#: catalog/objectaddress.c:4125 +#, c-format +msgid "sequence %s" +msgstr "თანმიმდევრობა %s" + +#: catalog/objectaddress.c:4129 +#, c-format +msgid "toast table %s" +msgstr "toast ცხრილი \"%s\"" + +#: catalog/objectaddress.c:4133 +#, c-format +msgid "view %s" +msgstr "%s-ის ხედი" + +#: catalog/objectaddress.c:4137 +#, c-format +msgid "materialized view %s" +msgstr "მატერიალიზებული ხედი %s" + +#: catalog/objectaddress.c:4141 +#, c-format +msgid "composite type %s" +msgstr "კომპოზიტის ტიპი \"%s\"" + +#: catalog/objectaddress.c:4145 +#, c-format +msgid "foreign table %s" +msgstr "გარე ცხრილი \"%s\"" + +#: catalog/objectaddress.c:4150 +#, c-format +msgid "relation %s" +msgstr "ურთიერთობა %s" + +#: catalog/objectaddress.c:4191 +#, c-format +msgid "operator family %s for access method %s" +msgstr "ოპერატორის ოჯახი %s წვდომის მეთოდისთვის %s" + +#: catalog/pg_aggregate.c:129 +#, c-format +msgid "aggregates cannot have more than %d argument" +msgid_plural "aggregates cannot have more than %d arguments" +msgstr[0] "აგრეგატებს %d არგუმენტზე მეტი არ შეიძლება ჰქონდეთ" +msgstr[1] "აგრეგატებს %d არგუმენტზე მეტი არ შეიძლება ჰქონდეთ" + +#: catalog/pg_aggregate.c:144 catalog/pg_aggregate.c:158 +#, c-format +msgid "cannot determine transition data type" +msgstr "მონაცემების გარდამავალი ტიპის განსაზღვრა შეუძლებელია" + +#: catalog/pg_aggregate.c:173 +#, c-format +msgid "a variadic ordered-set aggregate must use VARIADIC type ANY" +msgstr "" + +#: catalog/pg_aggregate.c:199 +#, c-format +msgid "a hypothetical-set aggregate must have direct arguments matching its aggregated arguments" +msgstr "" + +#: catalog/pg_aggregate.c:246 catalog/pg_aggregate.c:290 +#, c-format +msgid "return type of transition function %s is not %s" +msgstr "ტიპი, რომელსაც გარდამავალი ფუნქცია %s-ი აბრუნებს, %s არაა" + +#: catalog/pg_aggregate.c:266 catalog/pg_aggregate.c:309 +#, c-format +msgid "must not omit initial value when transition function is strict and transition type is not compatible with input type" +msgstr "" + +#: catalog/pg_aggregate.c:335 +#, c-format +msgid "return type of inverse transition function %s is not %s" +msgstr "ინვერსიული გარდამავალი ფუნქციის (\"%s\") დაბრუნების ტიპი %s არაა" + +#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:3009 +#, c-format +msgid "strictness of aggregate's forward and inverse transition functions must match" +msgstr "" + +#: catalog/pg_aggregate.c:396 catalog/pg_aggregate.c:554 +#, c-format +msgid "final function with extra arguments must not be declared STRICT" +msgstr "დამატებითი არგუმენტებს მქონე ფინალური ფუნქცია არ შეიძლება STRICT-ით აღწეროთ" + +#: catalog/pg_aggregate.c:427 +#, c-format +msgid "return type of combine function %s is not %s" +msgstr "ტიპი, რომელსაც კომბინირებული ფუნქცია %s-ი აბრუნებს, %s არაა" + +#: catalog/pg_aggregate.c:439 executor/nodeAgg.c:3903 +#, c-format +msgid "combine function with transition type %s must not be declared STRICT" +msgstr "კომბინირებული ფუნქცია გარდასვლის ტიპით %s არ შეიძლება აღწერილი იყოს, როგორც STRICT" + +#: catalog/pg_aggregate.c:458 +#, c-format +msgid "return type of serialization function %s is not %s" +msgstr "სერიალიზაციის ფუნქციის (%s) დაბრუნების ტიპი %s არაა" + +#: catalog/pg_aggregate.c:479 +#, c-format +msgid "return type of deserialization function %s is not %s" +msgstr "დესერიალიზაციის ფუნქციის (%s) დაბრუნების ტიპი %s არაა" + +#: catalog/pg_aggregate.c:498 catalog/pg_proc.c:191 catalog/pg_proc.c:225 +#, c-format +msgid "cannot determine result data type" +msgstr "შედეგის მონაცემების ტიპის დადგენა შეუძლებელია" + +#: catalog/pg_aggregate.c:513 catalog/pg_proc.c:204 catalog/pg_proc.c:233 +#, c-format +msgid "unsafe use of pseudo-type \"internal\"" +msgstr "ფსევდო-ტიპი \"internal\" არაუსაფრთხოდ გამოიყენება" + +#: catalog/pg_aggregate.c:567 +#, c-format +msgid "moving-aggregate implementation returns type %s, but plain implementation returns type %s" +msgstr "" + +#: catalog/pg_aggregate.c:578 +#, c-format +msgid "sort operator can only be specified for single-argument aggregates" +msgstr "" + +#: catalog/pg_aggregate.c:706 catalog/pg_proc.c:386 +#, c-format +msgid "cannot change routine kind" +msgstr "ქვეპროგრამის ტიპის შეცვლა შეუძლებელია" + +#: catalog/pg_aggregate.c:708 +#, c-format +msgid "\"%s\" is an ordinary aggregate function." +msgstr "\"%s\" ჩვეულებრივი აგრეგატული ფუნქციაა." + +#: catalog/pg_aggregate.c:710 +#, c-format +msgid "\"%s\" is an ordered-set aggregate." +msgstr "\"%s\" დალაგებული-სეტის აგრეგატია." + +#: catalog/pg_aggregate.c:712 +#, c-format +msgid "\"%s\" is a hypothetical-set aggregate." +msgstr "\"%s\" ჰიპოთეტიკური-სეტის აგრეგატია." + +#: catalog/pg_aggregate.c:717 +#, c-format +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 +#: parser/parse_func.c:2171 parser/parse_func.c:2444 +#, c-format +msgid "function %s does not exist" +msgstr "ფუნქცია %s არ არსებობს" + +#: catalog/pg_aggregate.c:864 +#, c-format +msgid "function %s returns a set" +msgstr "ფუნქცია %s სეტს აბრუნებს" + +#: catalog/pg_aggregate.c:879 +#, c-format +msgid "function %s must accept VARIADIC ANY to be used in this aggregate" +msgstr "ამ აგრეგატში გამოსაყენებლად ფუნქცია (%s) VARIADIC ANY-ს უნდა იღებდეს" + +#: catalog/pg_aggregate.c:903 +#, c-format +msgid "function %s requires run-time type coercion" +msgstr "" + +#: catalog/pg_cast.c:75 +#, c-format +msgid "cast from type %s to type %s already exists" +msgstr "დაკასტვა ტიპიდან %s ტიპამდე %s უკვე არსებობს" + +#: catalog/pg_class.c:29 +#, c-format +msgid "This operation is not supported for tables." +msgstr "ეს ოპერაცია ცხრილებისთვის მხარდაჭერილი არაა." + +#: catalog/pg_class.c:31 +#, c-format +msgid "This operation is not supported for indexes." +msgstr "ეს ოპერაცია ინდექსებისთვის მხარდაჭერილი არაა." + +#: catalog/pg_class.c:33 +#, c-format +msgid "This operation is not supported for sequences." +msgstr "ეს ოპერაცია მიმდევრობებისთვის მხარდაჭერილი არაა." + +#: catalog/pg_class.c:35 +#, c-format +msgid "This operation is not supported for TOAST tables." +msgstr "ეს ოპერაცია TOAST ცხრილებისთვის მხარდაჭერილი არაა." + +#: catalog/pg_class.c:37 +#, c-format +msgid "This operation is not supported for views." +msgstr "ეს ოპერაცია ხედებისთვის მხარდაჭერილი არაა." + +#: catalog/pg_class.c:39 +#, c-format +msgid "This operation is not supported for materialized views." +msgstr "ეს ოპერაცია მატერიალიზებული ხედებისთვის მხარდაჭერილი არაა." + +#: catalog/pg_class.c:41 +#, c-format +msgid "This operation is not supported for composite types." +msgstr "ეს ოპერაცია კომპოზიტური ტიპებისთვის მხარდაჭერილი არაა." + +#: catalog/pg_class.c:43 +#, c-format +msgid "This operation is not supported for foreign tables." +msgstr "ეს ოპერაცია გარე ცხრილებისთვის მხარდაჭერილი არაა." + +#: catalog/pg_class.c:45 +#, c-format +msgid "This operation is not supported for partitioned tables." +msgstr "ეს ოპერაცია დაყოფილი ცხრილებისთვის მხარდაჭერილი არაა." + +#: catalog/pg_class.c:47 +#, c-format +msgid "This operation is not supported for partitioned indexes." +msgstr "ეს ოპერაცია დაყოფილი ინდექსებისთვის მხარდაჭერილი არაა." + +#: catalog/pg_collation.c:102 catalog/pg_collation.c:160 +#, c-format +msgid "collation \"%s\" already exists, skipping" +msgstr "კოლაცია \"%s\" უკვე არსებობს, გამოტოვება" + +#: catalog/pg_collation.c:104 +#, c-format +msgid "collation \"%s\" for encoding \"%s\" already exists, skipping" +msgstr "კოლაცია \"%s\" კოდირებისთვის \"%s\" უკვე არსებობს. გამოტოვება" + +#: catalog/pg_collation.c:112 catalog/pg_collation.c:167 +#, c-format +msgid "collation \"%s\" already exists" +msgstr "კოლაცია \"%s\" უკვე არსებობს" + +#: catalog/pg_collation.c:114 +#, c-format +msgid "collation \"%s\" for encoding \"%s\" already exists" +msgstr "კოლაცია \"%s\" კოდირებისთვის \"%s\" უკვე არსებობს" + +#: catalog/pg_constraint.c:690 +#, c-format +msgid "constraint \"%s\" for domain %s already exists" +msgstr "შეზღუდვა \"%s\" დომენისთვის %s უკვე არსებობს" + +#: catalog/pg_constraint.c:890 catalog/pg_constraint.c:983 +#, c-format +msgid "constraint \"%s\" for table \"%s\" does not exist" +msgstr "ცხრილის (%2$s) შეზღუდვა (%1$s) არ არსებობს" + +#: catalog/pg_constraint.c:1083 +#, c-format +msgid "constraint \"%s\" for domain %s does not exist" +msgstr "დომენის (%2$s) შეზღუდვა (%1$s) არ არსებობს" + +#: catalog/pg_conversion.c:67 +#, c-format +msgid "conversion \"%s\" already exists" +msgstr "გადაყვანა უკვე არსებობს: \"%s\"" + +#: catalog/pg_conversion.c:80 +#, c-format +msgid "default conversion for %s to %s already exists" +msgstr "%s-დან %s-ზე ნაგულისხმები გადაყვანა უკვე არსებობს" + +#: catalog/pg_depend.c:222 commands/extension.c:3368 +#, c-format +msgid "%s is already a member of extension \"%s\"" +msgstr "%s გაფართოების (\"%s\") წევრს უკვე წარმოადგენს" + +#: catalog/pg_depend.c:229 catalog/pg_depend.c:280 commands/extension.c:3408 +#, c-format +msgid "%s is not a member of extension \"%s\"" +msgstr "%s გაფართოების \"%s\"წევრი არაა" + +#: catalog/pg_depend.c:232 +#, c-format +msgid "An extension is not allowed to replace an object that it does not own." +msgstr "გაფართოებას უფლება, ჩაანაცვლოს ობიექტი, რომელიც მას არ ეკუთვნის, არ გააჩნია." + +#: catalog/pg_depend.c:283 +#, c-format +msgid "An extension may only use CREATE ... IF NOT EXISTS to skip object creation if the conflicting object is one that it already owns." +msgstr "გაფართოებას CREATE … IF NOT EXISTS-ის გამოყენება მხოლოდ იმისთვის შეუძლიათ, რომ გამოტოვონ ობიექტის შექმნა, თუ კონფლიქტური ობიექტი მას უკვე ეკუთვნის." + +#: catalog/pg_depend.c:646 +#, c-format +msgid "cannot remove dependency on %s because it is a system object" +msgstr "%s-ზე დამოკიდებულებას ვერ მოაცილებთ. ის სისტემური ობიექტია" + +#: catalog/pg_enum.c:137 catalog/pg_enum.c:259 catalog/pg_enum.c:554 +#, c-format +msgid "invalid enum label \"%s\"" +msgstr "ჩამონათვალის არასწორი ჭდე: \"%s\"" + +#: catalog/pg_enum.c:138 catalog/pg_enum.c:260 catalog/pg_enum.c:555 +#, c-format +msgid "Labels must be %d bytes or less." +msgstr "ჭდეები %d ან ნაკლები ბაიტი უნდა იყოს." + +#: catalog/pg_enum.c:288 +#, c-format +msgid "enum label \"%s\" already exists, skipping" +msgstr "ჩამონათვალის ჭდე (\"%s\") უკვე არსებობს, გამოტოვება" + +#: catalog/pg_enum.c:295 catalog/pg_enum.c:598 +#, c-format +msgid "enum label \"%s\" already exists" +msgstr "ჩამონათვალის ჭდე (\"%s\") უკვე არსებობს" + +#: catalog/pg_enum.c:350 catalog/pg_enum.c:593 +#, c-format +msgid "\"%s\" is not an existing enum label" +msgstr "\"%s\" ჩამონათვალის არსებულ ჭდეს არ წარმოადგენს" + +#: catalog/pg_enum.c:408 +#, c-format +msgid "pg_enum OID value not set when in binary upgrade mode" +msgstr "ბინარული განახლების რეჟიმში pg_enum-ის OID-ის მნიშვნელობა დაყენებული არაა" + +#: catalog/pg_enum.c:418 +#, c-format +msgid "ALTER TYPE ADD BEFORE/AFTER is incompatible with binary upgrade" +msgstr "ALTER TYPE ADD წინასწარ/ შემდეგ შეუთავსებელია ორობითი განახლებასთან" + +#: catalog/pg_inherits.c:593 +#, c-format +msgid "cannot detach partition \"%s\"" +msgstr "დანაყოფის \"%s\" მოხსნის შეცდომა" + +#: catalog/pg_inherits.c:595 +#, c-format +msgid "The partition is being detached concurrently or has an unfinished detach." +msgstr "ხდება დანაყოფის პარალელური მოხსნა ან მოხსნა დაუმთავრებელია." + +#: catalog/pg_inherits.c:596 commands/tablecmds.c:4583 commands/tablecmds.c:15464 +#, c-format +msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending detach operation." +msgstr "მოხსნის ოპერაციის დასასრულებლად გამოიყენეთ ALTER TABLE ... DETACH PARTITION ... FINALIZE ." + +#: catalog/pg_inherits.c:600 +#, c-format +msgid "cannot complete detaching partition \"%s\"" +msgstr "დანაყოფის \"%s\" მოხსნის დასრულების შეცდომა" + +#: catalog/pg_inherits.c:602 +#, c-format +msgid "There's no pending concurrent detach." +msgstr "დარჩენილი პარალელური მოხსნა რიგში არაა." + +#: catalog/pg_namespace.c:64 commands/schemacmds.c:273 +#, c-format +msgid "schema \"%s\" already exists" +msgstr "სქემა \"%s\" უკვე არსებობს" + +#: catalog/pg_operator.c:219 catalog/pg_operator.c:361 +#, c-format +msgid "\"%s\" is not a valid operator name" +msgstr "ოპერატორის არასწორი სახელი: \"%s\"" + +#: catalog/pg_operator.c:370 +#, c-format +msgid "only binary operators can have commutators" +msgstr "კომუტატორები მხოლოდ ბინარულ ოპერატორებს შეიძლება ჰქონდეთ" + +#: catalog/pg_operator.c:374 commands/operatorcmds.c:509 +#, c-format +msgid "only binary operators can have join selectivity" +msgstr "შეერთების არჩევადობა მხოლოდ" + +#: catalog/pg_operator.c:378 +#, c-format +msgid "only binary operators can merge join" +msgstr "შერწყმა მხოლოდ ბინარულ ოპერაციებს შეუძლიათ" + +#: catalog/pg_operator.c:382 +#, c-format +msgid "only binary operators can hash" +msgstr "ჰეში მხოლოდ ბინარულ ოპერატორებს შეუძლიათ" + +#: catalog/pg_operator.c:393 +#, c-format +msgid "only boolean operators can have negators" +msgstr "" + +#: catalog/pg_operator.c:397 commands/operatorcmds.c:517 +#, c-format +msgid "only boolean operators can have restriction selectivity" +msgstr "შეზღუდვის არჩევადობა მხოლოდ ლოგიკურ ოპერატორებს შეიძლება ჰქონდეთ" + +#: catalog/pg_operator.c:401 commands/operatorcmds.c:521 +#, c-format +msgid "only boolean operators can have join selectivity" +msgstr "შეერთების არჩევადობა მხოლოდ ლოგიკურ ოპერატორებს შეიძლება ჰქონდეთ" + +#: catalog/pg_operator.c:405 +#, c-format +msgid "only boolean operators can merge join" +msgstr "შეერთების შერწყმა მხოლოდ ლოგიკურ ოპერატორებს შეუძლიათ" + +#: catalog/pg_operator.c:409 +#, c-format +msgid "only boolean operators can hash" +msgstr "ჰეშობა მხოლოდ ლოგიკურ ოპერატორებს შეუძლიათ" + +#: catalog/pg_operator.c:421 +#, c-format +msgid "operator %s already exists" +msgstr "ოპერატორი %s უკვე არსებობს" + +#: catalog/pg_operator.c:621 +#, c-format +msgid "operator cannot be its own negator or sort operator" +msgstr "" + +#: catalog/pg_parameter_acl.c:53 +#, c-format +msgid "parameter ACL \"%s\" does not exist" +msgstr "პარამეტრი ACL \"%s\" არ არსებობს" + +#: catalog/pg_parameter_acl.c:88 +#, c-format +msgid "invalid parameter name \"%s\"" +msgstr "პარამეტრის არასწორი სახელი \"%s\"" + +#: catalog/pg_proc.c:132 parser/parse_func.c:2233 +#, c-format +msgid "functions cannot have more than %d argument" +msgid_plural "functions cannot have more than %d arguments" +msgstr[0] "ფუნქციებს %d-ზე მეტი არგუმენტი არ შეიძლება ჰქონდეთ" +msgstr[1] "ფუნქციებს %d-ზე მეტი არგუმენტი არ შეიძლება ჰქონდეთ" + +#: catalog/pg_proc.c:376 +#, c-format +msgid "function \"%s\" already exists with same argument types" +msgstr "ფუნქცია \"%s\" უკვე არსებობს იგივე არგუმენტის ტიპებით" + +#: catalog/pg_proc.c:388 +#, c-format +msgid "\"%s\" is an aggregate function." +msgstr "\"%s\" აგრეგატული ფუნქციაა." + +#: catalog/pg_proc.c:390 +#, c-format +msgid "\"%s\" is a function." +msgstr "\"%s\" ფუნქციაა." + +#: catalog/pg_proc.c:392 +#, c-format +msgid "\"%s\" is a procedure." +msgstr "\"%s\" პროცედურაა." + +#: catalog/pg_proc.c:394 +#, c-format +msgid "\"%s\" is a window function." +msgstr "\"%s\" ფანჯრის ფუნქციაა." + +#: catalog/pg_proc.c:414 +#, c-format +msgid "cannot change whether a procedure has output parameters" +msgstr "ფაქტს, აქვს თუ არა პროცედურას გამოტანის პარამეტრები, ვერ შეცვლით" + +#: catalog/pg_proc.c:415 catalog/pg_proc.c:445 +#, c-format +msgid "cannot change return type of existing function" +msgstr "არსებული ფუნქციის მნიშვნელობის დაბრუნების ტიპს ვერ შეცვლით" + +#. translator: first %s is DROP FUNCTION, DROP PROCEDURE, or DROP +#. AGGREGATE +#. +#. translator: first %s is DROP FUNCTION or DROP PROCEDURE +#: catalog/pg_proc.c:421 catalog/pg_proc.c:448 catalog/pg_proc.c:493 catalog/pg_proc.c:519 catalog/pg_proc.c:543 +#, c-format +msgid "Use %s %s first." +msgstr "ჯერ შეასრულეთ %s %s." + +#: catalog/pg_proc.c:446 +#, c-format +msgid "Row type defined by OUT parameters is different." +msgstr "OUT პარამეტრების მიერ აღწერილი მწკრივის ტიპი განსხვავებულია." + +#: catalog/pg_proc.c:490 +#, c-format +msgid "cannot change name of input parameter \"%s\"" +msgstr "შეყვანის პარამეტრის სახელის შეცვლა შეუძლებელია: \"%s\"" + +#: catalog/pg_proc.c:517 +#, c-format +msgid "cannot remove parameter defaults from existing function" +msgstr "არსებული ფუნქციიდან პარამეტრის ნაგულისხმები მნიშვნელობების წაშლა შეუძლებელია" + +#: catalog/pg_proc.c:541 +#, c-format +msgid "cannot change data type of existing parameter default value" +msgstr "არსებული პარამეტრის ნაგულისხმები მნიშვნელობის მონაცემის ტიპს ვერ შეცვლით" + +#: catalog/pg_proc.c:752 +#, c-format +msgid "there is no built-in function named \"%s\"" +msgstr "ჩაშენებული ფუნქცია სახელით \"%s\" არ არსებობს" + +#: catalog/pg_proc.c:845 +#, c-format +msgid "SQL functions cannot return type %s" +msgstr "SQL ფუნქციებს %s ტიპის დაბრუნება არ შეუძლიათ" + +#: catalog/pg_proc.c:860 +#, c-format +msgid "SQL functions cannot have arguments of type %s" +msgstr "SQL ფუნქციებს \"%s\" ტიპის არგუმენტები ვერ იქნება" + +#: catalog/pg_proc.c:987 executor/functions.c:1466 +#, c-format +msgid "SQL function \"%s\"" +msgstr "SQL ფუნქცია \"%s\"" + +#: catalog/pg_publication.c:71 catalog/pg_publication.c:79 catalog/pg_publication.c:87 catalog/pg_publication.c:93 +#, c-format +msgid "cannot add relation \"%s\" to publication" +msgstr "პუბლიკაციისთვის ურთიერთობის დამატება შეუძლებელია: %s" + +#: catalog/pg_publication.c:81 +#, c-format +msgid "This operation is not supported for system tables." +msgstr "ეს ოპერაცია სისტემური ცხრილებისთვის მხარდაჭერილი არაა." + +#: catalog/pg_publication.c:89 +#, c-format +msgid "This operation is not supported for temporary tables." +msgstr "ეს ოპერაცია დროებითი ცხრილებისთვის მხარდაჭერილი არაა." + +#: catalog/pg_publication.c:95 +#, c-format +msgid "This operation is not supported for unlogged tables." +msgstr "ეს ოპერაცია არაჟურნალირებადი ცხრილებისთვის მხარდაჭერილი არაა." + +#: catalog/pg_publication.c:109 catalog/pg_publication.c:117 +#, c-format +msgid "cannot add schema \"%s\" to publication" +msgstr "პუბლიკაციისთვის სქემის დამატება შეუძლებელია: %s" + +#: catalog/pg_publication.c:111 +#, c-format +msgid "This operation is not supported for system schemas." +msgstr "ეს ოპერაცია სისტემური სქემებისთვის მხარდაჭერილი არაა." + +#: catalog/pg_publication.c:119 +#, c-format +msgid "Temporary schemas cannot be replicated." +msgstr "დროებითი სქემების რეპლიკაცია შეუძლებელია." + +#: catalog/pg_publication.c:397 +#, c-format +msgid "relation \"%s\" is already member of publication \"%s\"" +msgstr "სქემა %s პუბლიკაციის (%s) ნაწილს უკვე წარმოადგენს" + +#: catalog/pg_publication.c:539 +#, c-format +msgid "cannot use system column \"%s\" in publication column list" +msgstr "პუბლიკაციის სვეტების სიაში სისტემური სვეტის (\"%s\") გამოყენება შეუძლებელია" + +#: catalog/pg_publication.c:545 +#, c-format +msgid "cannot use generated column \"%s\" in publication column list" +msgstr "პუბლიკაციის სვეტების სიაში გენერირებული სვეტის (\"%s\") გამოყენება შეუძლებელია" + +#: catalog/pg_publication.c:551 +#, c-format +msgid "duplicate column \"%s\" in publication column list" +msgstr "პუბლიკაციის სვეტების სიაში დუბლიკატია: %s" + +#: catalog/pg_publication.c:641 +#, c-format +msgid "schema \"%s\" is already member of publication \"%s\"" +msgstr "სქემა %s პუბლიკაციის (%s) ნაწილს უკვე წარმოადგენს" + +#: catalog/pg_shdepend.c:830 +#, c-format +msgid "" +"\n" +"and objects in %d other database (see server log for list)" +msgid_plural "" +"\n" +"and objects in %d other databases (see server log for list)" +msgstr[0] "" +"\n" +"და ობიექტები %d სხვა ბაზაში (სიისთვის იხილეთ სერვერის ჟურნალი)" +msgstr[1] "" +"\n" +"და ობიექტები %d სხვა ბაზაში (სიისთვის იხილეთ სერვერის ჟურნალი)" + +#: catalog/pg_shdepend.c:1177 +#, c-format +msgid "role %u was concurrently dropped" +msgstr "როლი %u სხვა პროცესის მიერ წაიშალა" + +#: catalog/pg_shdepend.c:1189 +#, c-format +msgid "tablespace %u was concurrently dropped" +msgstr "ცხრილების სივრცე %u სხვა პროცესის მიერ წაიშალა" + +#: catalog/pg_shdepend.c:1203 +#, c-format +msgid "database %u was concurrently dropped" +msgstr "ბაზა %u სხვა პროცესის მიერ წაიშალა" + +#: catalog/pg_shdepend.c:1254 +#, c-format +msgid "owner of %s" +msgstr "%s -ის მფლობელი" + +#: catalog/pg_shdepend.c:1256 +#, c-format +msgid "privileges for %s" +msgstr "პრივილეგიები %s-სთვის" + +#: catalog/pg_shdepend.c:1258 +#, c-format +msgid "target of %s" +msgstr "%s-ის სამიზნე" + +#: catalog/pg_shdepend.c:1260 +#, c-format +msgid "tablespace for %s" +msgstr "ცხრილების სივრცე %s-სთვის" + +#. translator: %s will always be "database %s" +#: catalog/pg_shdepend.c:1268 +#, c-format +msgid "%d object in %s" +msgid_plural "%d objects in %s" +msgstr[0] "%d ობიექტი %s-ში" +msgstr[1] "%d ობიექტი %s-ში" + +#: catalog/pg_shdepend.c:1332 +#, c-format +msgid "cannot drop objects owned by %s because they are required by the database system" +msgstr "%s-ის წაშლა შეუძლებელია. საჭიროა ბაზის სისტემისთვის" + +#: catalog/pg_shdepend.c:1498 +#, c-format +msgid "cannot reassign ownership of objects owned by %s because they are required by the database system" +msgstr "%s-ის მფლობელობაში მყოფი ობიექტების წვდომების თავიდან მინიჭება შეუძლებელია, რადგან ისინი ბაზის სისტემისთვისაა საჭირო" + +#: catalog/pg_subscription.c:424 +#, c-format +msgid "could not drop relation mapping for subscription \"%s\"" +msgstr "გამოწერისთვის \"%s\" ურთიერთობის მიბმის წაშლა შეუძლებელია" + +#: catalog/pg_subscription.c:426 +#, c-format +msgid "Table synchronization for relation \"%s\" is in progress and is in state \"%c\"." +msgstr "მიმდინარეობს ცხრილის სინქრონიზაცია ურთიერთობისთვის \"%s\" და მისი მდგომარეობაა \"%c\"." + +#. translator: first %s is a SQL ALTER command and second %s is a +#. SQL DROP command +#. +#: catalog/pg_subscription.c:433 +#, c-format +msgid "Use %s to enable subscription if not already enabled or use %s to drop the subscription." +msgstr "გამოწერის ჩასართავად, თუ ის უკვე ჩართული არაა, %s გამოიყენეთ, ან, %s, გამოწერის წასაშლელად." + +#: catalog/pg_type.c:134 catalog/pg_type.c:474 +#, c-format +msgid "pg_type OID value not set when in binary upgrade mode" +msgstr "ბინარული განახლების რეჟიმში pg_type-ის OID-ის მნიშვნელობა დაყენებული არაა" + +#: catalog/pg_type.c:254 +#, c-format +msgid "invalid type internal size %d" +msgstr "ტიპის არასწორი შიდა ზომა: %d" + +#: catalog/pg_type.c:270 catalog/pg_type.c:278 catalog/pg_type.c:286 catalog/pg_type.c:295 +#, c-format +msgid "alignment \"%c\" is invalid for passed-by-value type of size %d" +msgstr "სწორება \"%c\" არასწორია მნიშვნელობით-გადაცემული-ტიპისთვის ზომით %d" + +#: catalog/pg_type.c:302 +#, c-format +msgid "internal size %d is invalid for passed-by-value type" +msgstr "შიდა ზომა %d მნიშვნელობით-გადაცემული ტიპისთვის არასწორია" + +#: catalog/pg_type.c:312 catalog/pg_type.c:318 +#, c-format +msgid "alignment \"%c\" is invalid for variable-length type" +msgstr "სწორება \"%c\" არასწორია ცვლადი-სიგრძის ტიპისთვის" + +#: catalog/pg_type.c:326 commands/typecmds.c:4140 +#, c-format +msgid "fixed-size types must have storage PLAIN" +msgstr "ფიქსირებული ზომის ტიპებს უნდა PLAIN ტიპის საცავი უნდა ჰქონდეთ" + +#: catalog/pg_type.c:955 +#, c-format +msgid "Failed while creating a multirange type for type \"%s\"." +msgstr "შეცდომა მრავალდიაპაზონიანი ტიპის შექმნისას ტიპისთვის \"%s\"." + +#: catalog/pg_type.c:956 +#, c-format +msgid "You can manually specify a multirange type name using the \"multirange_type_name\" attribute." +msgstr "მრავალდიაპაზონიანი ტიპის სახელი ხელით, \"multirange_type_name\" ატრიბუტით უნდა მიუთითოთ." + +#: catalog/storage.c:505 storage/buffer/bufmgr.c:1145 +#, c-format +msgid "invalid page in block %u of relation %s" +msgstr "ურთიერთობის (%2$s) ბლოკის (%1$u) არასწორ გვერდი" + +#: commands/aggregatecmds.c:171 +#, c-format +msgid "only ordered-set aggregates can be hypothetical" +msgstr "ჰიპოთეზური მხოლოდ დალაგებული-სეტის აგრეგატები შეიძლება, იყოს" + +#: commands/aggregatecmds.c:196 +#, c-format +msgid "aggregate attribute \"%s\" not recognized" +msgstr "აგრეგატის უცნობი ატრიბუტი: %s" + +#: commands/aggregatecmds.c:206 +#, c-format +msgid "aggregate stype must be specified" +msgstr "აგრეგატის style-ის მითითება აუცილებელია" + +#: commands/aggregatecmds.c:210 +#, c-format +msgid "aggregate sfunc must be specified" +msgstr "აგრეგატის sfunc -ის მითითება აუცილებელია" + +#: commands/aggregatecmds.c:222 +#, c-format +msgid "aggregate msfunc must be specified when mstype is specified" +msgstr "როცა mstype მითითებულია, აგრეგატის msfunc-იც აუცილებლად უნდა იყოს მითითებული" + +#: commands/aggregatecmds.c:226 +#, c-format +msgid "aggregate minvfunc must be specified when mstype is specified" +msgstr "როცა minvfunc მითითებულია, აგრეგატის msfunc-იც აუცილებლად უნდა იყოს მითითებული" + +#: commands/aggregatecmds.c:233 +#, c-format +msgid "aggregate msfunc must not be specified without mstype" +msgstr "mstype-ის გარეშე აგრეგატი msfunc მითითებული არ უნდა იყოს" + +#: commands/aggregatecmds.c:237 +#, c-format +msgid "aggregate minvfunc must not be specified without mstype" +msgstr "mstype-ის გარეშე აგრეგატი minvfunc მითითებული არ უნდა იყოს" + +#: commands/aggregatecmds.c:241 +#, c-format +msgid "aggregate mfinalfunc must not be specified without mstype" +msgstr "mstype-ის გარეშე აგრეგატი mfinalfunc მითითებული არ უნდა იყოს" + +#: commands/aggregatecmds.c:245 +#, c-format +msgid "aggregate msspace must not be specified without mstype" +msgstr "mstype-ის გარეშე აგრეგატი msspace მითითებული არ უნდა იყოს" + +#: commands/aggregatecmds.c:249 +#, c-format +msgid "aggregate minitcond must not be specified without mstype" +msgstr "mstype-ის გარეშე აგრეგატი minitcond მითითებული არ უნდა იყოს" + +#: commands/aggregatecmds.c:278 +#, c-format +msgid "aggregate input type must be specified" +msgstr "აგრეგატის შეყვანის ტიპის მითითება აუცილებელია" + +#: commands/aggregatecmds.c:308 +#, c-format +msgid "basetype is redundant with aggregate input type specification" +msgstr "" + +#: commands/aggregatecmds.c:351 commands/aggregatecmds.c:392 +#, c-format +msgid "aggregate transition data type cannot be %s" +msgstr "აგრეგატის მონაცემების გარდამავალი ტიპი %s არ შეიძლება იყოს" + +#: commands/aggregatecmds.c:363 +#, c-format +msgid "serialization functions may be specified only when the aggregate transition data type is %s" +msgstr "სერიალიზაციის ფუნქციების მითითება მხოლოდ მაშინ შეგიძლიათ, როცა აგრეგატული გადასვლის მონაცემის ტიპი %s-ს წარმოადგენს" + +#: commands/aggregatecmds.c:373 +#, c-format +msgid "must specify both or neither of serialization and deserialization functions" +msgstr "აუცილებელია მიუთითოთ ან ორივე, სერიალიზაციის და დესერიალიზაციის ფუნქციები, ან არც ერთი" + +#: commands/aggregatecmds.c:438 commands/functioncmds.c:639 +#, c-format +msgid "parameter \"parallel\" must be SAFE, RESTRICTED, or UNSAFE" +msgstr "პარამეტრი \"parallel\" SAFE, RESTRICTED ან UNSAFE -ს შეიძლება უდრიდეს" + +#: commands/aggregatecmds.c:494 +#, c-format +msgid "parameter \"%s\" must be READ_ONLY, SHAREABLE, or READ_WRITE" +msgstr "პარამეტრი \"%s\" READ_ONLY, SHAREABLE, ან READ_WRITE უნდა იყოს" + +#: commands/alter.c:86 commands/event_trigger.c:174 +#, c-format +msgid "event trigger \"%s\" already exists" +msgstr "მოვლენის ტრიგერი უკვე არსებობს: %s" + +#: commands/alter.c:89 commands/foreigncmds.c:593 +#, c-format +msgid "foreign-data wrapper \"%s\" already exists" +msgstr "გარე მონაცემების გადამტანი უკვე არსებობს: %s" + +#: commands/alter.c:92 commands/foreigncmds.c:884 +#, c-format +msgid "server \"%s\" already exists" +msgstr "სერვერი \"%s\" უკვე არსებობს" + +#: commands/alter.c:95 commands/proclang.c:133 +#, c-format +msgid "language \"%s\" already exists" +msgstr "ენა \"%s\" უკვე არსებობს" + +#: commands/alter.c:98 commands/publicationcmds.c:771 +#, c-format +msgid "publication \"%s\" already exists" +msgstr "პუბლიკაცია \"%s\" უკვე არსებობს" + +#: commands/alter.c:101 commands/subscriptioncmds.c:657 +#, c-format +msgid "subscription \"%s\" already exists" +msgstr "გამოწერა \"%s\" უკვე არსებობს" + +#: commands/alter.c:124 +#, c-format +msgid "conversion \"%s\" already exists in schema \"%s\"" +msgstr "გადაყვანა \"%s\" უკვე არსებობს სქემაში \"%s\"" + +#: commands/alter.c:128 +#, c-format +msgid "statistics object \"%s\" already exists in schema \"%s\"" +msgstr "სტატისტიკის ობიექტი \"%s\" უკვე არსებობს სქემაში \"%s\"" + +#: commands/alter.c:132 +#, c-format +msgid "text search parser \"%s\" already exists in schema \"%s\"" +msgstr "ტექსტის ძებნის დამმუშავებელი \"%s\" უკვე არსებობს სქემაში \"%s\"" + +#: commands/alter.c:136 +#, c-format +msgid "text search dictionary \"%s\" already exists in schema \"%s\"" +msgstr "ტექსტის ძებნის ლექსიკონი \"%s\" უკვე არსებობს სქემაში \"%s\"" + +#: commands/alter.c:140 +#, c-format +msgid "text search template \"%s\" already exists in schema \"%s\"" +msgstr "ტექსტის ძიების შაბლონი \"%s\" უკვე არსებობს სქემაში \"%s\"" + +#: commands/alter.c:144 +#, c-format +msgid "text search configuration \"%s\" already exists in schema \"%s\"" +msgstr "ტექსტის ძიების კონფიგურაცია \"%s\" უკვე არსებობს სქემაში \"%s\"" + +#: commands/alter.c:217 +#, c-format +msgid "must be superuser to rename %s" +msgstr "%s -ის სახელის გადარქმევისთვის საჭიროა ზემომხმარებლის უფლებები" + +#: commands/alter.c:259 commands/subscriptioncmds.c:636 commands/subscriptioncmds.c:1116 commands/subscriptioncmds.c:1198 commands/subscriptioncmds.c:1830 +#, c-format +msgid "password_required=false is superuser-only" +msgstr "password_required=false მხოლოდ superuser-only-სთვისაა" + +#: commands/alter.c:260 commands/subscriptioncmds.c:637 commands/subscriptioncmds.c:1117 commands/subscriptioncmds.c:1199 commands/subscriptioncmds.c:1831 +#, c-format +msgid "Subscriptions with the password_required option set to false may only be created or modified by the superuser." +msgstr "გამოწერები, რომლის password_required პარამეტრი ჭეშმარიტი არაა, მხოლოდ ზემომხმარებლის მიერ შეიძლება შეიქმნას და შეიცვალოს." + +#: commands/alter.c:775 +#, c-format +msgid "must be superuser to set schema of %s" +msgstr "%s-ის სქემის დასაყენებლად საჭიროა ზემომხმარებლის უფლებები" + +#: commands/amcmds.c:60 +#, c-format +msgid "permission denied to create access method \"%s\"" +msgstr "წვდომის მეთოდის (\"%s\") შესაქმნელად წვდომა აკრძალულია" + +#: commands/amcmds.c:62 +#, c-format +msgid "Must be superuser to create an access method." +msgstr "წვდომის მეთოდის შესაქმნელად საჭიროა ზემომხმარებლის უფლებები." + +#: commands/amcmds.c:71 +#, c-format +msgid "access method \"%s\" already exists" +msgstr "წვდომის მეთოდი \"%s\" უკვე არსებობს" + +#: commands/amcmds.c:154 commands/indexcmds.c:216 commands/indexcmds.c:839 commands/opclasscmds.c:375 commands/opclasscmds.c:833 +#, c-format +msgid "access method \"%s\" does not exist" +msgstr "წვდომის მეთოდი \"%s\" არ არსებობს" + +#: commands/amcmds.c:243 +#, c-format +msgid "handler function is not specified" +msgstr "დამმუშავებელი ფუნქცია მითითებული არაა" + +#: commands/amcmds.c:264 commands/event_trigger.c:183 commands/foreigncmds.c:489 commands/proclang.c:80 commands/trigger.c:709 parser/parse_clause.c:941 +#, c-format +msgid "function %s must return type %s" +msgstr "ფუნქციამ (%s) აუცილებლად უნდა დააბრუნოს ტიპი %s" + +#: commands/analyze.c:228 +#, c-format +msgid "skipping \"%s\" --- cannot analyze this foreign table" +msgstr "%s-ის გამოტოვება --- გარე ცხრილის ანალიზი შეუძლებელია" + +#: commands/analyze.c:245 +#, c-format +msgid "skipping \"%s\" --- cannot analyze non-tables or special system tables" +msgstr "%s-ის გამოტოვება --- არაცხრილების და სპეციალური სისტემური ცხრილების ანალიზი შეუძლებელია" + +#: commands/analyze.c:325 +#, c-format +msgid "analyzing \"%s.%s\" inheritance tree" +msgstr "\"%s.%s\" -ის მემკვიდრეობითი ხის ანალიზი" + +#: commands/analyze.c:330 +#, c-format +msgid "analyzing \"%s.%s\"" +msgstr "\"%s.%s\"-ის ანალიზი" + +#: commands/analyze.c:395 +#, c-format +msgid "column \"%s\" of relation \"%s\" appears more than once" +msgstr "ურთიერთობის (%2$s) სვეტი (%1$s) ერთზე მეტჯერ ჩნდება" + +#: commands/analyze.c:787 +#, c-format +msgid "automatic analyze of table \"%s.%s.%s\"\n" +msgstr "ცხრილის ავტომატური ანალიზი \"%s.%s.%s\"\n" + +#: commands/analyze.c:1334 +#, c-format +msgid "\"%s\": scanned %d of %u pages, containing %.0f live rows and %.0f dead rows; %d rows in sample, %.0f estimated total rows" +msgstr "\"%s\": სკანირებული %d გვერდი %u-დან, შეიცავს %.0f ცოცხალ მწკრივს და %.0f მკვდარ მწკრივს; %d მწკრივს სემპლში, %.0f დაახლოებით მწკრივები სულ" + +#: commands/analyze.c:1418 +#, c-format +msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no child tables" +msgstr "\"%s.%s\"-ის მემკვიდრეობის ხის ანალიზის გამოტოვება --- მემკვიდრეობითობის ხე შვილ ცხრილებს არ შეიცავს" + +#: commands/analyze.c:1516 +#, c-format +msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no analyzable child tables" +msgstr "\"%s.%s\"-ის მემკვიდრეობის ხის ანალიზის გამოტოვება --- მემკვიდრეობითობის ხე გაანალიზებად შვილ ცხრილებს არ შეიცავს" + +#: commands/async.c:646 +#, c-format +msgid "channel name cannot be empty" +msgstr "არხის სახელი ცარიელი არ შეიძლება იყოს" + +#: commands/async.c:652 +#, c-format +msgid "channel name too long" +msgstr "არხის სახელი ძალიან გრძელია" + +#: commands/async.c:657 +#, c-format +msgid "payload string too long" +msgstr "სასარგებლო დატვირთვის სტრიქონი ძალიან გრძელია" + +#: commands/async.c:876 +#, c-format +msgid "cannot PREPARE a transaction that has executed LISTEN, UNLISTEN, or NOTIFY" +msgstr "შეუძლებელია განვახორციელო PREPARE ტრანზაქციაზე, რომელმაც შეასრულა LISTEN, UNLSTEN ან NOTIFY" + +#: commands/async.c:980 +#, c-format +msgid "too many notifications in the NOTIFY queue" +msgstr "\"NOTIFY\" რიგში მეტისმეტად ბევრი გაფრთხილებაა" + +#: commands/async.c:1602 +#, c-format +msgid "NOTIFY queue is %.0f%% full" +msgstr "NOTIFY-ის რიგი %.0f%% -ით სავსეა" + +#: commands/async.c:1604 +#, c-format +msgid "The server process with PID %d is among those with the oldest transactions." +msgstr "სერვერის პროცესი PID-ით %d უძველესი ტრანზაქციების მფლობელთა შორისაა." + +#: commands/async.c:1607 +#, c-format +msgid "The NOTIFY queue cannot be emptied until that process ends its current transaction." +msgstr "რიგის NOTIFY დაცარიელება პროცესის მიერ მიმდინარე ტრანზაქციის დასრულებამდე შეუძლებელია." + +#: commands/cluster.c:130 +#, c-format +msgid "unrecognized CLUSTER option \"%s\"" +msgstr "\"CLUSTER\"-ის უცნობი პარამეტრი \"%s\"" + +#: commands/cluster.c:160 commands/cluster.c:433 +#, c-format +msgid "cannot cluster temporary tables of other sessions" +msgstr "სხვა სესიების დროებით ცხრილების დაკლასტერება შეუძლებელია" + +#: commands/cluster.c:178 +#, c-format +msgid "there is no previously clustered index for table \"%s\"" +msgstr "ცხრილისთვის \"%s\" წინასწარ დაკლასტერებული ინდექსი არ არსებობს" + +#: commands/cluster.c:192 commands/tablecmds.c:14200 commands/tablecmds.c:16043 +#, c-format +msgid "index \"%s\" for table \"%s\" does not exist" +msgstr "ინდექსი %s ცხრილისთვის %s არ არსებობს" + +#: commands/cluster.c:422 +#, c-format +msgid "cannot cluster a shared catalog" +msgstr "გაზიარებული კატალოგის დაკლასტერება შეუძლებელია" + +#: commands/cluster.c:437 +#, c-format +msgid "cannot vacuum temporary tables of other sessions" +msgstr "სხვა სესიების დროებითი ცხრილების მომტვერსასრუტება შეუძლებელია" + +#: commands/cluster.c:513 commands/tablecmds.c:16053 +#, c-format +msgid "\"%s\" is not an index for table \"%s\"" +msgstr "\"%s\" არ წარმოადგენს ინდექსს ცხრილისთვის \"%s\"" + +#: commands/cluster.c:521 +#, c-format +msgid "cannot cluster on index \"%s\" because access method does not support clustering" +msgstr "" + +#: commands/cluster.c:533 +#, c-format +msgid "cannot cluster on partial index \"%s\"" +msgstr "ნაწილობრივი ინდექსის (\"%s\") დაკლასტერება შეუძლებელია" + +#: commands/cluster.c:547 +#, c-format +msgid "cannot cluster on invalid index \"%s\"" +msgstr "არასწორი ინდექსის (\"%s\") დაკლასტერება შეუძლებელია" + +#: commands/cluster.c:571 +#, c-format +msgid "cannot mark index clustered in partitioned table" +msgstr "დაყოფილ ცხრილში ინდექსის დაკლასტერებულად მონიშვნა შეუძლებელია" + +#: commands/cluster.c:950 +#, c-format +msgid "clustering \"%s.%s\" using index scan on \"%s\"" +msgstr "\"%s.%s\"-ის დაკლასტერება ინდექსის სკანირების გამოყენებით \"%s\"" + +#: commands/cluster.c:956 +#, c-format +msgid "clustering \"%s.%s\" using sequential scan and sort" +msgstr "\"%s.%s\"-ის დაკლასტერება თანმიმდევრული სკანირების და დახარისხების გამოყენებით" + +#: commands/cluster.c:961 +#, c-format +msgid "vacuuming \"%s.%s\"" +msgstr "დამტვერსასრუტება \"%s.%s\"" + +#: commands/cluster.c:988 +#, c-format +msgid "\"%s.%s\": found %.0f removable, %.0f nonremovable row versions in %u pages" +msgstr "\"%s.%s\": აღმოჩენილია %.0f წაშლადი და %.0f არაწაშლადი მწკრივის ვერსია %u გვერდში" + +#: commands/cluster.c:993 +#, c-format +msgid "" +"%.0f dead row versions cannot be removed yet.\n" +"%s." +msgstr "" +"%.0f მკვდარი მწკრივის ვერსების წაშლა ჯერჯერობით შეუძლებელია.\n" +"%s." + +#: commands/collationcmds.c:112 +#, c-format +msgid "collation attribute \"%s\" not recognized" +msgstr "კოლაციის უცნობი ატრიბუტი: \"%s\"" + +#: commands/collationcmds.c:125 commands/collationcmds.c:131 commands/define.c:389 commands/tablecmds.c:7876 replication/pgoutput/pgoutput.c:310 replication/pgoutput/pgoutput.c:333 replication/pgoutput/pgoutput.c:347 replication/pgoutput/pgoutput.c:357 replication/pgoutput/pgoutput.c:367 replication/pgoutput/pgoutput.c:377 replication/pgoutput/pgoutput.c:387 replication/walsender.c:996 replication/walsender.c:1018 replication/walsender.c:1028 +#, c-format +msgid "conflicting or redundant options" +msgstr "კონფლიქტური ან ზედმეტი პარამეტრები" + +#: commands/collationcmds.c:126 +#, c-format +msgid "LOCALE cannot be specified together with LC_COLLATE or LC_CTYPE." +msgstr "LC_COLLATE-სთან და LC_TYPE-სთან ერთად LOCALE-ს ვერ მიუთითებთ." + +#: commands/collationcmds.c:132 +#, c-format +msgid "FROM cannot be specified together with any other options." +msgstr "FROM-ის მითითება შეუძლებელია ნებისმიერ სხვა პარამეტრთან ერთად." + +#: commands/collationcmds.c:191 +#, c-format +msgid "collation \"default\" cannot be copied" +msgstr "კოლაციის \"ნაგულისხმები\" კოპირება შეუძლებელია" + +#: commands/collationcmds.c:225 +#, c-format +msgid "unrecognized collation provider: %s" +msgstr "კოლაციის უცნობი მომწოდებელი: %s" + +#: commands/collationcmds.c:253 +#, c-format +msgid "parameter \"lc_collate\" must be specified" +msgstr "უნდა იყოს მითითებული პარამეტრი \"lc_collate\"" + +#: commands/collationcmds.c:258 +#, c-format +msgid "parameter \"lc_ctype\" must be specified" +msgstr "უნდა იყოს მითითებული პარამეტრი \"lc_ctype\"" + +#: commands/collationcmds.c:265 +#, c-format +msgid "parameter \"locale\" must be specified" +msgstr "უნდა იყოს მითითებული პარამეტრი \"locale\"" + +#: commands/collationcmds.c:279 commands/dbcommands.c:1091 +#, c-format +msgid "using standard form \"%s\" for ICU locale \"%s\"" +msgstr "ვიყენებ სტანდარტულ ფორმას \"%s\" ICU ლოკალისთვის \"%s\"" + +#: commands/collationcmds.c:298 +#, c-format +msgid "nondeterministic collations not supported with this provider" +msgstr "არადემინისტური კოლაციები, რომლებიც არ არის მხარდაჭერილი ამ მომწოდებელთან" + +#: commands/collationcmds.c:303 commands/dbcommands.c:1110 +#, c-format +msgid "ICU rules cannot be specified unless locale provider is ICU" +msgstr "ICU-ის წესების მითითება მანამდე, სანამ ლოკალის მომწოდებელი ICU არაა, შეუძლებელია" + +#: commands/collationcmds.c:322 +#, c-format +msgid "current database's encoding is not supported with this provider" +msgstr "მონაცემთა ბაზის კოდირება არ არის მხარდაჭერილი ამ მომწოდებელთან" + +#: commands/collationcmds.c:382 +#, c-format +msgid "collation \"%s\" for encoding \"%s\" already exists in schema \"%s\"" +msgstr "კოლაცია \"%s\" კოდირებისთვის \"%s\" სქემაში \"%s\" უკვე არსებობს" + +#: commands/collationcmds.c:393 +#, c-format +msgid "collation \"%s\" already exists in schema \"%s\"" +msgstr "კოლაცია \"%s\" უკვე არსებობს სქემაში \"%s\"" + +#: commands/collationcmds.c:418 +#, c-format +msgid "cannot refresh version of default collation" +msgstr "ნაგულისხმები კოლაციის ვერსიის განახლება შეუძლებელია" + +#: commands/collationcmds.c:419 +#, c-format +msgid "Use ALTER DATABASE ... REFRESH COLLATION VERSION instead." +msgstr "სანაცვლოდ გამოიყენეთ ALTER DATABASE ... REFRESH COLLATION VERSION." + +#: commands/collationcmds.c:446 commands/dbcommands.c:2488 +#, c-format +msgid "changing version from %s to %s" +msgstr "ვერსიის შეცვლა %s-დან %s-ზე" + +#: commands/collationcmds.c:461 commands/dbcommands.c:2501 +#, c-format +msgid "version has not changed" +msgstr "ვერსია არ შეცვლილა" + +#: commands/collationcmds.c:494 commands/dbcommands.c:2667 +#, c-format +msgid "database with OID %u does not exist" +msgstr "ბაზა OID-ით %u არ არსებობს" + +#: commands/collationcmds.c:515 +#, c-format +msgid "collation with OID %u does not exist" +msgstr "კოლაცია OID-ით %u არ არსებობს" + +#: commands/collationcmds.c:803 +#, c-format +msgid "must be superuser to import system collations" +msgstr "სისტემური კოლაციების შემოსატანად საჭიროა ზემომხმარებლის უფლებები" + +#: commands/collationcmds.c:831 commands/copyfrom.c:1654 commands/copyto.c:656 libpq/be-secure-common.c:59 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "ბრძანების (\"%s\") შესრულების შეცდომა: %m" + +#: commands/collationcmds.c:923 commands/collationcmds.c:1008 +#, c-format +msgid "no usable system locales were found" +msgstr "გამოყენებადი სისტემური ენები ნაპოვნი არაა" + +#: commands/comment.c:61 commands/dbcommands.c:1612 commands/dbcommands.c:1824 commands/dbcommands.c:1934 commands/dbcommands.c:2132 commands/dbcommands.c:2370 commands/dbcommands.c:2461 commands/dbcommands.c:2571 commands/dbcommands.c:3071 utils/init/postinit.c:1021 utils/init/postinit.c:1127 utils/init/postinit.c:1153 +#, c-format +msgid "database \"%s\" does not exist" +msgstr "მონაცემთა ბაზა \"%s\" არ არსებობს" + +#: commands/comment.c:101 +#, c-format +msgid "cannot set comment on relation \"%s\"" +msgstr "ურთიერთობაზე \"%s\" კომენტარის დადება შეუძლებელია" + +#: commands/constraint.c:63 utils/adt/ri_triggers.c:2028 +#, c-format +msgid "function \"%s\" was not called by trigger manager" +msgstr "ფუნქცია ტრიგერის მმართველის მიერ არ გამოძახებულა: %s" + +#: commands/constraint.c:70 utils/adt/ri_triggers.c:2037 +#, c-format +msgid "function \"%s\" must be fired AFTER ROW" +msgstr "ფუნქცია %s AFTER-ის ტრიგერით უნდა გაეშვას" + +#: commands/constraint.c:84 +#, c-format +msgid "function \"%s\" must be fired for INSERT or UPDATE" +msgstr "ფუნქცია %s INSERT-ის ან UPDATE-ის ტრიგერით უნდა გაეშვას" + +#: commands/conversioncmds.c:69 +#, c-format +msgid "source encoding \"%s\" does not exist" +msgstr "საწყისი კოდირება არ არსებობს: \"%s\"" + +#: commands/conversioncmds.c:76 +#, c-format +msgid "destination encoding \"%s\" does not exist" +msgstr "სამიზნე კოდირება \"%s\" არ არსებობს" + +#: commands/conversioncmds.c:89 +#, c-format +msgid "encoding conversion to or from \"SQL_ASCII\" is not supported" +msgstr "\"SQL_ASCII\"-დან ან მასში კოდირების გადაყვანა მხარდაჭერილი არაა" + +#: commands/conversioncmds.c:102 +#, c-format +msgid "encoding conversion function %s must return type %s" +msgstr "კოდირების გადაყვანის ფუნქცია %s-ი %s ტიპს უნდა აბრუნებდეს" + +#: commands/conversioncmds.c:132 +#, c-format +msgid "encoding conversion function %s returned incorrect result for empty input" +msgstr "დაშიფვრის ფუნქციამ %s ცარიელი შეყვანისთვის არასწორი პასუხი დააბრუნა" + +#: commands/copy.c:86 +#, c-format +msgid "permission denied to COPY to or from an external program" +msgstr "გარე პროგრამიდან ან გარე პროგრამაში COPY-ის წვდომა აკრძალულია" + +#: commands/copy.c:87 +#, c-format +msgid "Only roles with privileges of the \"%s\" role may COPY to or from an external program." +msgstr "გარე პროგრამიდან/პროგრამაში COPY-ის უფლება მხოლოდ \"%s\" პრივილეგიების მქონე როლებს გააჩნიათ." + +#: commands/copy.c:89 commands/copy.c:100 commands/copy.c:109 +#, c-format +msgid "Anyone can COPY to stdout or from stdin. psql's \\copy command also works for anyone." +msgstr "COPY stdin-დან და stdout-ში ყველას შეუძლია. plsql-ის ბრძანება \\copy-იც ყველასთვის მუშაობს." + +#: commands/copy.c:97 +#, c-format +msgid "permission denied to COPY from a file" +msgstr "ფაილიდან COPY-ის წვდომა აკრძალულია" + +#: commands/copy.c:98 +#, c-format +msgid "Only roles with privileges of the \"%s\" role may COPY from a file." +msgstr "ფაილიდან COPY-ის უფლებები მხოლოდ '%s' როლს გააჩნია." + +#: commands/copy.c:106 +#, c-format +msgid "permission denied to COPY to a file" +msgstr "ფაილში COPY-ის წვდომა აკრძალულია" + +#: commands/copy.c:107 +#, c-format +msgid "Only roles with privileges of the \"%s\" role may COPY to a file." +msgstr "ფაილში COPY-ის უფლებები მხოლოდ '%s' როლს გააჩნია." + +#: commands/copy.c:195 +#, c-format +msgid "COPY FROM not supported with row-level security" +msgstr "მწკრივის-დონის უსაფრთხოებით COPY FROM მხარდაჭერილი არაა" + +#: commands/copy.c:196 +#, c-format +msgid "Use INSERT statements instead." +msgstr "უკეთესია გამოიყენოთ INSERT ოპერატორი." + +#: commands/copy.c:290 +#, c-format +msgid "MERGE not supported in COPY" +msgstr "COPY-ში MERGE მხარდაჭერილი არაა" + +#: commands/copy.c:383 +#, c-format +msgid "cannot use \"%s\" with HEADER in COPY TO" +msgstr "\"COPY TO\"-ში %s-ის HEADER-თან ერთად გამოყენება შეუძლებელია" + +#: commands/copy.c:392 +#, c-format +msgid "%s requires a Boolean value or \"match\"" +msgstr "%s -ს ლოგიკური მნიშვნელობა უნდა ჰქონდეს, ან \"match\"" + +#: commands/copy.c:451 +#, c-format +msgid "COPY format \"%s\" not recognized" +msgstr "COPY-ის უცნობი ფორმატი: \"%s\"" + +#: commands/copy.c:509 commands/copy.c:522 commands/copy.c:535 commands/copy.c:554 +#, c-format +msgid "argument to option \"%s\" must be a list of column names" +msgstr "პარამეტრის (%s) არგუმენტი სვეტების სახელების სია უნდა იყოს" + +#: commands/copy.c:566 +#, c-format +msgid "argument to option \"%s\" must be a valid encoding name" +msgstr "პარამეტრის (%s) არგუმენტი კოდირების სწორი სახელი უნდა იყოს" + +#: commands/copy.c:573 commands/dbcommands.c:859 commands/dbcommands.c:2318 +#, c-format +msgid "option \"%s\" not recognized" +msgstr "უცნობი პარამეტრი: %s" + +#: commands/copy.c:585 +#, c-format +msgid "cannot specify DELIMITER in BINARY mode" +msgstr "რეჟიმში BINARY \"DELIMITER\"-ს ვერ მიუთითებთ" + +#: commands/copy.c:590 +#, c-format +msgid "cannot specify NULL in BINARY mode" +msgstr "რეჟიმში BINARY \"NULL\"-ს ვერ მიუთითებთ" + +#: commands/copy.c:595 +#, c-format +msgid "cannot specify DEFAULT in BINARY mode" +msgstr "'BINARY' რეჟიმში DEFAULT-ს ვერ მიუთითებთ" + +#: commands/copy.c:617 +#, c-format +msgid "COPY delimiter must be a single one-byte character" +msgstr "COPY-ის გამყოფი ერთბაიტიანი სიმბოლო უნდა იყოს" + +#: commands/copy.c:624 +#, c-format +msgid "COPY delimiter cannot be newline or carriage return" +msgstr "COPY-ის გამყოფი ხაზის გადატანა ან კარეტის დაბრუნება არ უნდა იყოს" + +#: commands/copy.c:630 +#, c-format +msgid "COPY null representation cannot use newline or carriage return" +msgstr "COPY-ის ნულოვან რეპრეზენტაციას ახალი ხაზის ან კარეტის დაბრუნება გამოყენება არ შეუძლია" + +#: commands/copy.c:640 +#, c-format +msgid "COPY default representation cannot use newline or carriage return" +msgstr "COPY-ის ნაგულისხმებ რეპრეზენტაციას ახალი ხაზის ან კარეტის დაბრუნება გამოყენება არ შეუძლია" + +#: commands/copy.c:658 +#, c-format +msgid "COPY delimiter cannot be \"%s\"" +msgstr "COPY-ის გამყოფი \"%s\" არ შეიძლება იყოს" + +#: commands/copy.c:664 +#, c-format +msgid "cannot specify HEADER in BINARY mode" +msgstr "რეჟიმში BINARY \"HEADER\"-ს ვერ მიუთითებთ" + +#: commands/copy.c:670 +#, c-format +msgid "COPY quote available only in CSV mode" +msgstr "COPY-ის ბრჭყალი მხოლოდ CSV -ის რეჟიმშია ხელმისაწვდომი" + +#: commands/copy.c:675 +#, c-format +msgid "COPY quote must be a single one-byte character" +msgstr "COPY-ის ბრჭყალი ერთბაიტიანი სიმბოლო უნდა იყოს" + +#: commands/copy.c:680 +#, c-format +msgid "COPY delimiter and quote must be different" +msgstr "COPY-ის გამყოფი და ბრჭყალი სხვადასხვა სიმბოლო უნდა იყოს" + +#: commands/copy.c:686 +#, c-format +msgid "COPY escape available only in CSV mode" +msgstr "COPY-ის სპეცსიმბოლო მხოლოდ CSV -ის რეჟიმშია ხელმისაწვდომი" + +#: commands/copy.c:691 +#, c-format +msgid "COPY escape must be a single one-byte character" +msgstr "COPY-ის სპეცსიმბოლო ერთბაიტიანი სიმბოლო უნდა იყოს" + +#: commands/copy.c:697 +#, c-format +msgid "COPY force quote available only in CSV mode" +msgstr "COPY-ის პარამეტრი force quote მხოლოდ CSV რეჟიმში შეგიძლიათ, გამოიყენოთ" + +#: commands/copy.c:701 +#, c-format +msgid "COPY force quote only available using COPY TO" +msgstr "COPY-ის პარამეტრი force quote მხოლოდ COPY TO-ის გამოყენების დროსაა ხელმისაწვდომი" + +#: commands/copy.c:707 +#, c-format +msgid "COPY force not null available only in CSV mode" +msgstr "COPY-ის პარამეტრი force not null მხოლოდ CSV რეჟიმში შეგიძლიათ, გამოიყენოთ" + +#: commands/copy.c:711 +#, c-format +msgid "COPY force not null only available using COPY FROM" +msgstr "COPY-ის პარამეტრი force not null მხოლოდ COPY FROM-ის გამოყენების დროსაა ხელმისაწვდომი" + +#: commands/copy.c:717 +#, c-format +msgid "COPY force null available only in CSV mode" +msgstr "COPY-ის პარამეტრი force null მხოლოდ CSV რეჟიმში შეგიძლიათ, გამოიყენოთ" + +#: commands/copy.c:722 +#, c-format +msgid "COPY force null only available using COPY FROM" +msgstr "COPY-ის პარამეტრი force null მხოლოდ COPY FROM-ის გამოყენების დროსაა ხელმისაწვდომი" + +#: commands/copy.c:728 +#, c-format +msgid "COPY delimiter must not appear in the NULL specification" +msgstr "COPY-ის გამყოფი NULL-ის სპეციფიკაციაში არ უნდა გამოჩნდეს" + +#: commands/copy.c:735 +#, c-format +msgid "CSV quote character must not appear in the NULL specification" +msgstr "CSV-ის ბრჭყალის სიმბოლო NULL-ის სპეციფიკაციაში არ უნდა გამოჩნდეს" + +#: commands/copy.c:742 +#, c-format +msgid "COPY DEFAULT only available using COPY FROM" +msgstr "COPY DEFAULT მხოლოდ COPY FROM-ის გამოყენების დროსაა ხელმისაწვდომი" + +#: commands/copy.c:748 +#, c-format +msgid "COPY delimiter must not appear in the DEFAULT specification" +msgstr "COPY-ის გამყოფი DEFAULT-ის სპეციფიკაციაში არ უნდა გამოჩნდეს" + +#: commands/copy.c:755 +#, c-format +msgid "CSV quote character must not appear in the DEFAULT specification" +msgstr "CSV-ის ბრჭყალის სიმბოლო DEFAULT-ის სპეციფიკაციაში არ უნდა გამოჩნდეს" + +#: commands/copy.c:763 +#, c-format +msgid "NULL specification and DEFAULT specification cannot be the same" +msgstr "NULL-ის სპეციფიკაცია და DEFAULT-ის სპეციფიკაცია ერთი და იგივე ვერ იქნება" + +#: commands/copy.c:825 +#, c-format +msgid "column \"%s\" is a generated column" +msgstr "სვეტი \"%s\" გენერირებული სვეტია" + +#: commands/copy.c:827 +#, c-format +msgid "Generated columns cannot be used in COPY." +msgstr "გენერირებული სვეტები COPY-ში არ გამოიყენება." + +#: commands/copy.c:842 commands/indexcmds.c: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 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 +#, c-format +msgid "column \"%s\" specified more than once" +msgstr "სვეტი ერთზე მეტჯერაა მითითებული: \"%s\"" + +#: commands/copyfrom.c:122 +#, c-format +msgid "COPY %s" +msgstr "COPY %s" + +#: commands/copyfrom.c:130 +#, c-format +msgid "COPY %s, line %llu, column %s" +msgstr "COPY %s, ხაზი %llu, სვეტი %s" + +#: commands/copyfrom.c:135 commands/copyfrom.c:181 +#, c-format +msgid "COPY %s, line %llu" +msgstr "COPY %s, ხაზი %llu" + +#: commands/copyfrom.c:147 +#, c-format +msgid "COPY %s, line %llu, column %s: \"%s\"" +msgstr "COPY %s, ხაზი %llu, სვეტი %s: \"%s\"" + +#: commands/copyfrom.c:157 +#, c-format +msgid "COPY %s, line %llu, column %s: null input" +msgstr "COPY %s, ხაზი %llu, სვეტი %s: ნულოვანი შეყვანა" + +#: commands/copyfrom.c:174 +#, c-format +msgid "COPY %s, line %llu: \"%s\"" +msgstr "COPY %s, ხაზი %llu: \"%s\"" + +#: commands/copyfrom.c:673 +#, c-format +msgid "cannot copy to view \"%s\"" +msgstr "ხედზე კოპირების შეცდომა: \"%s\"" + +#: commands/copyfrom.c:675 +#, c-format +msgid "To enable copying to a view, provide an INSTEAD OF INSERT trigger." +msgstr "ხედში კოპირებისთვის INSTEAD OF INSERT ტრიგერი წარმოადგინეთ." + +#: commands/copyfrom.c:679 +#, c-format +msgid "cannot copy to materialized view \"%s\"" +msgstr "მატერიალიზებულ ხედში კოპირების შეცდომა: %s" + +#: commands/copyfrom.c:684 +#, c-format +msgid "cannot copy to sequence \"%s\"" +msgstr "მიმდევრობაში (%s) კოპირების შეცდომა" + +#: commands/copyfrom.c:689 +#, c-format +msgid "cannot copy to non-table relation \"%s\"" +msgstr "არა-ცხრილოვან ურთიერთობაში კოპირების შეცდომა: %s" + +#: commands/copyfrom.c:729 +#, c-format +msgid "cannot perform COPY FREEZE on a partitioned table" +msgstr "\"COPY FREEZE\"-ის გამოყენება დაყოფილ ცხრილზე შეუძლებელია" + +#: commands/copyfrom.c:744 +#, c-format +msgid "cannot perform COPY FREEZE because of prior transaction activity" +msgstr "\"COPY FREEZE\"-ის გამოყენება შეუძლებელია წინა ტრანზაქციის აქტივობის გამო" + +#: commands/copyfrom.c:750 +#, c-format +msgid "cannot perform COPY FREEZE because the table was not created or truncated in the current subtransaction" +msgstr "'COPY FREEZE'-ის განხორციელება შეუძლებელია, რადგან ცხრილი მიმდინარე ქვეტრანზაქციაში არც შექმნილა და არც მოკვეთილა" + +#: commands/copyfrom.c:1411 +#, c-format +msgid "FORCE_NOT_NULL column \"%s\" not referenced by COPY" +msgstr "FORCE_NOT_NULL სვეტი \"%s\" COPY-ის მიერ მითითებული არაა" + +#: commands/copyfrom.c:1434 +#, c-format +msgid "FORCE_NULL column \"%s\" not referenced by COPY" +msgstr "FORCE_NULL სვეტი \"%s\" COPY-ის მიერ მითითებული არაა" + +#: commands/copyfrom.c:1673 +#, 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 TO' PostgreSQL-ის სერვერის პროცესს ფაილიდან წაკითხვას უბრძანებს. შეიძლება გნებავთ კლიენტის მხარე, როგორიცაა psql-ის \\copy." + +#: commands/copyfrom.c:1686 commands/copyto.c:708 +#, c-format +msgid "\"%s\" is a directory" +msgstr "\"%s\" საქაღალდეა" + +#: commands/copyfrom.c:1754 commands/copyto.c:306 libpq/be-secure-common.c:83 +#, c-format +msgid "could not close pipe to external command: %m" +msgstr "გარე ბრძანებამდე ფაიფის დახურვის შეცდომა: %m" + +#: commands/copyfrom.c:1769 commands/copyto.c:311 +#, c-format +msgid "program \"%s\" failed" +msgstr "პროგრამის (\"%s\") შეცდომა" + +#: commands/copyfromparse.c:200 +#, c-format +msgid "COPY file signature not recognized" +msgstr "COPY-ის ფაილის უცნობი სიგნატურა" + +#: commands/copyfromparse.c:205 +#, c-format +msgid "invalid COPY file header (missing flags)" +msgstr "\"COPY\"-ის ფაილის არასწორი თავსართი (აკლია ალმები)" + +#: commands/copyfromparse.c:209 +#, c-format +msgid "invalid COPY file header (WITH OIDS)" +msgstr "\"COPY\"-ის ფაილის არასწორი თავსართი (WITH OIDS)" + +#: commands/copyfromparse.c:214 +#, c-format +msgid "unrecognized critical flags in COPY file header" +msgstr "აღმოჩენილია უცნობი კრიტიკული ალმები COPY ფაილის თავსართში" + +#: commands/copyfromparse.c:220 +#, c-format +msgid "invalid COPY file header (missing length)" +msgstr "\"COPY\"-ის ფაილის არასწორი თავსართი (აკლია სიგრძე)" + +#: commands/copyfromparse.c:227 +#, c-format +msgid "invalid COPY file header (wrong length)" +msgstr "\"COPY\"-ის ფაილის არასწორი თავსართი (არასწორი სიგრძე)" + +#: commands/copyfromparse.c:256 +#, c-format +msgid "could not read from COPY file: %m" +msgstr "\"COPY\" ფაილიდან წაკითხვის შეცდომა: %m" + +#: commands/copyfromparse.c:278 commands/copyfromparse.c:303 tcop/postgres.c:377 +#, c-format +msgid "unexpected EOF on client connection with an open transaction" +msgstr "მოულოდნელი EOF ღია ტრანზაქციის მქონე კლიენტის შეერთებაზე" + +#: commands/copyfromparse.c:294 +#, c-format +msgid "unexpected message type 0x%02X during COPY from stdin" +msgstr "stdin-დან COPY ოპერაციისას მიღებულია მოულოდნელი შეტყობინების ტიპი 0x%02X" + +#: commands/copyfromparse.c:317 +#, c-format +msgid "COPY from stdin failed: %s" +msgstr "COPY-ი stdin-დან წარუმატებელია: %s" + +#: commands/copyfromparse.c:785 +#, c-format +msgid "wrong number of fields in header line: got %d, expected %d" +msgstr "ველების არასწორი რაოდენობა თავსართის ხაზში: მივიღე %d, მოველოდი %d" + +#: commands/copyfromparse.c:801 +#, c-format +msgid "column name mismatch in header line field %d: got null value (\"%s\"), expected \"%s\"" +msgstr "სვეტი სახელი არ ემთხვევა თავსართის %d ხაზის ველზე: მიღებულია ნულოვანი მნიშვნელობა (\"%s\"). მოველოდი: \"%s\"" + +#: commands/copyfromparse.c:808 +#, c-format +msgid "column name mismatch in header line field %d: got \"%s\", expected \"%s\"" +msgstr "სვეტი სახელი არ ემთხვევა თავსართის %d ხაზის ველზე: მიღებულია მნიშვნელობა: \"%s\". მოველოდი: \"%s\"" + +#: commands/copyfromparse.c:892 commands/copyfromparse.c:1512 commands/copyfromparse.c:1768 +#, c-format +msgid "extra data after last expected column" +msgstr "დამატებითი მონაცემები ბოლო მოსალოდნელი სვეტის შემდეგ" + +#: commands/copyfromparse.c:906 +#, c-format +msgid "missing data for column \"%s\"" +msgstr "არ არსებობს მონაცემები სვეტისთვის \"%s\"" + +#: commands/copyfromparse.c:999 +#, c-format +msgid "received copy data after EOF marker" +msgstr "მიღებულია კოპირების მონაცემები EOF ნიშნის შემდეგ" + +#: commands/copyfromparse.c:1006 +#, c-format +msgid "row field count is %d, expected %d" +msgstr "მწკრივების ველის რაოდენობაა %d. ველოდებოდი %d" + +#: commands/copyfromparse.c:1294 commands/copyfromparse.c:1311 +#, c-format +msgid "literal carriage return found in data" +msgstr "მონაცემებში აღმოჩენილია აშკარა ხაზის გადატანის სიმბოლო" + +#: commands/copyfromparse.c:1295 commands/copyfromparse.c:1312 +#, c-format +msgid "unquoted carriage return found in data" +msgstr "მონაცემებში აღმოჩენილია ხაზის გადატანის სიმბოლო ბრჭყალების გარეშე" + +#: commands/copyfromparse.c:1297 commands/copyfromparse.c:1314 +#, c-format +msgid "Use \"\\r\" to represent carriage return." +msgstr "კარეტის დაბრუნების სიმბოლოსთვის გამოიყენეთ \"\\r\"." + +#: commands/copyfromparse.c:1298 commands/copyfromparse.c:1315 +#, c-format +msgid "Use quoted CSV field to represent carriage return." +msgstr "CSV-ის ველში კარეტის დაბრუნების სიმბოლოს ბრჭყალებში ჩასმა." + +#: commands/copyfromparse.c:1327 +#, c-format +msgid "literal newline found in data" +msgstr "მონაცემებში აღმოჩენილია ხაზის გადატანის სიმბოლო" + +#: commands/copyfromparse.c:1328 +#, c-format +msgid "unquoted newline found in data" +msgstr "მონაცემებში აღმოჩენილია ხაზის გადატანის სიმბოლო ბრჭყალების გარეშე" + +#: commands/copyfromparse.c:1330 +#, c-format +msgid "Use \"\\n\" to represent newline." +msgstr "ახალი ხაზს წარმოსადგენად გამოიყენეთ \"\\n\"." + +#: commands/copyfromparse.c:1331 +#, c-format +msgid "Use quoted CSV field to represent newline." +msgstr "CSV-ის ველში ახალი ხაზის სიმბოლოს ბრჭყალებში ჩასმა." + +#: commands/copyfromparse.c:1377 commands/copyfromparse.c:1413 +#, c-format +msgid "end-of-copy marker does not match previous newline style" +msgstr "კოპირების-დასასრულის მარკერი წინა ახალი ხაზის სტილს არ ემთხვევა" + +#: commands/copyfromparse.c:1386 commands/copyfromparse.c:1402 +#, c-format +msgid "end-of-copy marker corrupt" +msgstr "კოპირების-დასასრულის სანიშნი დაზიანებულია" + +#: commands/copyfromparse.c:1704 commands/copyfromparse.c:1919 +#, c-format +msgid "unexpected default marker in COPY data" +msgstr "მოულოდნელი ნაგულისხმევი მარკერი COPY-ის მონაცემებში" + +#: commands/copyfromparse.c:1705 commands/copyfromparse.c:1920 +#, c-format +msgid "Column \"%s\" has no default value." +msgstr "სვეტს \"%s\" DEFAULT მნიშვნელობა არ გააჩნია." + +#: commands/copyfromparse.c:1852 +#, c-format +msgid "unterminated CSV quoted field" +msgstr "\"CSV\"-ის ველის დამხურავი ბრჭყალი არ არსებობს" + +#: commands/copyfromparse.c:1954 commands/copyfromparse.c:1973 +#, c-format +msgid "unexpected EOF in COPY data" +msgstr "\"COPY\"-ის მონაცემებში ნაპოვნია მოულოდნელი EOF" + +#: commands/copyfromparse.c:1963 +#, c-format +msgid "invalid field size" +msgstr "ველის არასწორი ზომა" + +#: commands/copyfromparse.c:1986 +#, c-format +msgid "incorrect binary data format" +msgstr "ბინარულ მონაცემების არასწორი ფორმატი" + +#: commands/copyto.c:236 +#, c-format +msgid "could not write to COPY program: %m" +msgstr "\"COPY\"-ის პროგრამაში ჩაწერის შეცდომა: %m" + +#: commands/copyto.c:241 +#, c-format +msgid "could not write to COPY file: %m" +msgstr "\"COPY\"-ის ფაილში ჩაწერის შეცდომა: %m" + +#: commands/copyto.c:386 +#, c-format +msgid "cannot copy from view \"%s\"" +msgstr "ხედიდან კოპირების შეცდომა: \"%s\"" + +#: commands/copyto.c:388 commands/copyto.c:394 commands/copyto.c:400 commands/copyto.c:411 +#, c-format +msgid "Try the COPY (SELECT ...) TO variant." +msgstr "სცადეთ COPY (SELECT ...) TO ვარიანტი." + +#: commands/copyto.c:392 +#, c-format +msgid "cannot copy from materialized view \"%s\"" +msgstr "მატერიალიზებული ხედიდან კოპირების შეცდომა: %s" + +#: commands/copyto.c:398 +#, c-format +msgid "cannot copy from foreign table \"%s\"" +msgstr "გარე ცხრილიდან კოპირების შეცდომა: %s" + +#: commands/copyto.c:404 +#, c-format +msgid "cannot copy from sequence \"%s\"" +msgstr "მიმდევრობიდან კოპირების შეცდომა: %s" + +#: commands/copyto.c:409 +#, c-format +msgid "cannot copy from partitioned table \"%s\"" +msgstr "დაყოფილი ცხრილიდან კოპირების შეცდომა: %s" + +#: commands/copyto.c:415 +#, c-format +msgid "cannot copy from non-table relation \"%s\"" +msgstr "არა-ცხრილოვანი ურთიერთობიდან კოპირების შეცდომა: %s" + +#: commands/copyto.c:467 +#, c-format +msgid "DO INSTEAD NOTHING rules are not supported for COPY" +msgstr "DO INSTEAD NOTHING -ის წესები COPY-სთვის მხარდაუჭერელია" + +#: commands/copyto.c:481 +#, c-format +msgid "conditional DO INSTEAD rules are not supported for COPY" +msgstr "\"DO INSTEAD\" -ის პირობითი წესები COPY-სთვის მხარდაუჭერელია" + +#: commands/copyto.c:485 +#, c-format +msgid "DO ALSO rules are not supported for the COPY" +msgstr "DO ALSO -ის წესები COPY-სთვის მხარდაუჭერელია" + +#: commands/copyto.c:490 +#, c-format +msgid "multi-statement DO INSTEAD rules are not supported for COPY" +msgstr "ერთზე მეტი გამოსახულების მქონე DO INSTEAD-ის წესები COPY-ისთვის მხარდაუჭერელია" + +#: commands/copyto.c:500 +#, c-format +msgid "COPY (SELECT INTO) is not supported" +msgstr "COPY (SELECT INTO) მხარდაუჭერელია" + +#: commands/copyto.c:517 +#, c-format +msgid "COPY query must have a RETURNING clause" +msgstr "COPY მოთხოვნას RETURNING პირობა აუცილებლად უნდა გააჩნდეს" + +#: commands/copyto.c:546 +#, c-format +msgid "relation referenced by COPY statement has changed" +msgstr "" + +#: commands/copyto.c:605 +#, c-format +msgid "FORCE_QUOTE column \"%s\" not referenced by COPY" +msgstr "FORCE_QUOTE სვეტი \"%s\" COPY-ის მიერ მითითებული არაა" + +#: commands/copyto.c:673 +#, c-format +msgid "relative path not allowed for COPY to file" +msgstr "ფაილში COPY-სთვის შედარებითი ბილიკის მითითება დაუშვებელია" + +#: commands/copyto.c:692 +#, c-format +msgid "could not open file \"%s\" for writing: %m" +msgstr "ფაილის (\"%s\") ჩასაწერად გახსნა შეუძლებელია: %m" + +#: commands/copyto.c:695 +#, c-format +msgid "COPY TO instructs the PostgreSQL server process to write a file. You may want a client-side facility such as psql's \\copy." +msgstr "ინსტრუქცია 'COPY TO' PostgreSQL-ის სერვერის პროცესს ფაილში ჩაწერას უბრძანებს. შეიძლება გნებავთ კლიენტის მხარე, როგორიცაა psql-ის \\copy." + +#: commands/createas.c:215 commands/createas.c:523 +#, c-format +msgid "too many column names were specified" +msgstr "მითითებულია მეტისმეტად ბევრი სვეტის სახელი" + +#: commands/createas.c:546 +#, c-format +msgid "policies not yet implemented for this command" +msgstr "ამ ბრძანებისთვის წესები ჯერ არ არსებობს" + +#: commands/dbcommands.c:822 +#, c-format +msgid "LOCATION is not supported anymore" +msgstr "LOCATION მხარდაჭერილი აღარაა" + +#: commands/dbcommands.c:823 +#, c-format +msgid "Consider using tablespaces instead." +msgstr "მის მაგიერ სჯობს ცხრილის სივრცეები გამოიყენოთ." + +#: commands/dbcommands.c:848 +#, c-format +msgid "OIDs less than %u are reserved for system objects" +msgstr "%u-ზე მცირე OID-ები დაცულია სისტემური ობიექტებისთვის" + +#: commands/dbcommands.c:879 utils/adt/ascii.c:146 +#, c-format +msgid "%d is not a valid encoding code" +msgstr "\"%d\" კოდირების სწორ კოდს არ წარმოადგენს" + +#: commands/dbcommands.c:890 utils/adt/ascii.c:128 +#, c-format +msgid "%s is not a valid encoding name" +msgstr "\"%s\" კოდირების სწორ სახელს არ წარმოადგენს" + +#: commands/dbcommands.c:919 +#, c-format +msgid "unrecognized locale provider: %s" +msgstr "ენის უცნობი მომწოდებელი: %s" + +#: commands/dbcommands.c:932 commands/dbcommands.c:2351 commands/user.c:300 commands/user.c:740 +#, c-format +msgid "invalid connection limit: %d" +msgstr "კავშირის არასწორი ლიმიტი: %d" + +#: commands/dbcommands.c:953 +#, c-format +msgid "permission denied to create database" +msgstr "ბაზის შექმნის წვდომა აკრძალულია" + +#: commands/dbcommands.c:977 +#, c-format +msgid "template database \"%s\" does not exist" +msgstr "შაბლონური ბაზა \"%s\" არ არსებობს" + +#: commands/dbcommands.c:987 +#, c-format +msgid "cannot use invalid database \"%s\" as template" +msgstr "არასწორი მონაცემთა ბაზის \"%s\" შაბლონად გამოყენება შეუძლებელია" + +#: commands/dbcommands.c:988 commands/dbcommands.c:2380 utils/init/postinit.c:1136 +#, c-format +msgid "Use DROP DATABASE to drop invalid databases." +msgstr "არასწორი მონაცემთა ბაზების წასაშლელად გამოიყენეთ ბრძანება DROP DATABASE." + +#: commands/dbcommands.c:999 +#, c-format +msgid "permission denied to copy database \"%s\"" +msgstr "ბაზის (\"%s\") კოპირების წვდომა აკრძალულია" + +#: commands/dbcommands.c:1016 +#, c-format +msgid "invalid create database strategy \"%s\"" +msgstr "ბაზის შექმნის არასწორი სტრატეგია \"%s\"" + +#: commands/dbcommands.c:1017 +#, c-format +msgid "Valid strategies are \"wal_log\", and \"file_copy\"." +msgstr "სწორი სტრატეგიებია \"wal_log\" და \"file_copy\"." + +#: commands/dbcommands.c:1043 +#, c-format +msgid "invalid server encoding %d" +msgstr "სერვერის არასწორი კოდირება %d" + +#: commands/dbcommands.c:1049 +#, c-format +msgid "invalid LC_COLLATE locale name: \"%s\"" +msgstr "არასწორი LC_COLLATE ლოკალის სახელი: \"%s\"" + +#: commands/dbcommands.c:1050 commands/dbcommands.c:1056 +#, c-format +msgid "If the locale name is specific to ICU, use ICU_LOCALE." +msgstr "თუ ლოკალის სახელი მხოლოდ ICU-სთვისა დამახასიათებელი, ICU_LOCALE გამოიყენეთ." + +#: commands/dbcommands.c:1055 +#, c-format +msgid "invalid LC_CTYPE locale name: \"%s\"" +msgstr "არასწორი LC_TYPE ლოკალის სახელი: \"%s\"" + +#: commands/dbcommands.c:1066 +#, c-format +msgid "encoding \"%s\" is not supported with ICU provider" +msgstr "მონაცემთა ბაზის კოდირება \"%s\" ICU მომწოდებელთან ერთად მხარდაჭერილი არაა" + +#: commands/dbcommands.c:1076 +#, c-format +msgid "LOCALE or ICU_LOCALE must be specified" +msgstr "LOCALE-ის ან ICU_LOCALE-ის მითითება აუცილებელია" + +#: commands/dbcommands.c:1105 +#, c-format +msgid "ICU locale cannot be specified unless locale provider is ICU" +msgstr "ICU-ის ენის მითითება მანამდე, სანამ ლოკალის მომწოდებელი ICU არაა, შეუძლებელია" + +#: commands/dbcommands.c:1128 +#, c-format +msgid "new encoding (%s) is incompatible with the encoding of the template database (%s)" +msgstr "ახალი კოდირება (%s) შაბლონის ბაზის (%s) კოდირებასთან თავსებადი არაა" + +#: commands/dbcommands.c:1131 +#, c-format +msgid "Use the same encoding as in the template database, or use template0 as template." +msgstr "გამოიყენეთ იგივე კოდირება, რაც შაბლონის ბაზას გააჩნია, ან შაბლონად template0 გამოიყენეთ." + +#: commands/dbcommands.c:1136 +#, c-format +msgid "new collation (%s) is incompatible with the collation of the template database (%s)" +msgstr "ახალი კოლაცია (%s) შაბლონის ბაზის (%s) კოლაციასთან თავსებადი არაა" + +#: commands/dbcommands.c:1138 +#, c-format +msgid "Use the same collation as in the template database, or use template0 as template." +msgstr "გამოიყენეთ იგივე კოლაცია, რაც შაბლონის ბაზას გააჩნია, ან შაბლონად template0 გამოიყენეთ." + +#: commands/dbcommands.c:1143 +#, c-format +msgid "new LC_CTYPE (%s) is incompatible with the LC_CTYPE of the template database (%s)" +msgstr "ახალი LC_TYPE (%s) შაბლონის ბაზის (%s) LC_TYPE-სთან თავსებადი არაა" + +#: commands/dbcommands.c:1145 +#, c-format +msgid "Use the same LC_CTYPE as in the template database, or use template0 as template." +msgstr "გამოიყენეთ იგივე LC_CTYPE, რაც შაბლონის ბაზას გააჩნია, ან შაბლონად template0 გამოიყენეთ." + +#: commands/dbcommands.c:1150 +#, c-format +msgid "new locale provider (%s) does not match locale provider of the template database (%s)" +msgstr "ახალი ლოკალის მომწოდებელი (%s) შაბლონის ბაზის (%s) ლოკალის მომწოდებელს არ ემთხვევა" + +#: commands/dbcommands.c:1152 +#, c-format +msgid "Use the same locale provider as in the template database, or use template0 as template." +msgstr "გამოიყენეთ იგივე ლოკალის მომწოდებელი, რაც შაბლონის ბაზას გააჩნია, ან შაბლონად template0 გამოიყენეთ." + +#: commands/dbcommands.c:1164 +#, c-format +msgid "new ICU locale (%s) is incompatible with the ICU locale of the template database (%s)" +msgstr "ახალი ICU ლოკალი (%s) შაბლონის ბაზის (%s) ICU ლოკალთან თავსებადი არაა" + +#: commands/dbcommands.c:1166 +#, c-format +msgid "Use the same ICU locale as in the template database, or use template0 as template." +msgstr "გამოიყენეთ იგივე ICU ლოკალი, რაც შაბლონის ბაზას გააჩნია, ან შაბლონად template0 გამოიყენეთ." + +#: commands/dbcommands.c:1177 +#, c-format +msgid "new ICU collation rules (%s) are incompatible with the ICU collation rules of the template database (%s)" +msgstr "ახალი ICU კოლაციის წესები (%s) შაბლონის ბაზის (%s) ICU კოლაციის წესებთან თავსებადი არაა" + +#: commands/dbcommands.c:1179 +#, c-format +msgid "Use the same ICU collation rules as in the template database, or use template0 as template." +msgstr "გამოიყენეთ იგივე ICU კოლაციის წესები, რაც შაბლონის ბაზას გააჩნია, ან შაბლონად template0 გამოიყენეთ." + +#: commands/dbcommands.c:1202 +#, c-format +msgid "template database \"%s\" has a collation version, but no actual collation version could be determined" +msgstr "შაბლონის ბაზას \"%s\" კოლაცია გააჩნია, მაგრამ ნამდვილი კოლაციის ვერსიის დადგენა შეუძლებელია" + +#: commands/dbcommands.c:1207 +#, c-format +msgid "template database \"%s\" has a collation version mismatch" +msgstr "შაბლონული ბაზის (%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 "ნიმუში ბაზა შეიქმნა კოლაციის ვერსიით %s, მაგრამ ოპერაციული სისტემის ვერსიაა %s." + +#: 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 "სანიმუშე ბაზაში ყველა ობიექტი, რომლებიც ნაგულისხმევ კოლაციას იყენებს, თავიან ააგეთ და გაუშვით ALTER DATABASE %s REFRESH COLLATION VERSION, ან PostgreSQL სწორი ბიბლიოთეკის ვერსიით ააგეთ." + +#: commands/dbcommands.c:1248 commands/dbcommands.c:1980 +#, c-format +msgid "pg_global cannot be used as default tablespace" +msgstr "pg_global არ შეიძლება გამოყენებულ იქნას როგორც ნაგულისხმევი ცხრილის სივრცე" + +#: commands/dbcommands.c:1274 +#, c-format +msgid "cannot assign new default tablespace \"%s\"" +msgstr "ცხრილების ახალი ნაგულისხმები სივრცის \"%s\" მინიჭება შეუძლებელია" + +#: commands/dbcommands.c:1276 +#, c-format +msgid "There is a conflict because database \"%s\" already has some tables in this tablespace." +msgstr "არსებობს კონფლიქტი, რადგან მონაცემთა ბაზას \"%s\" ამ ცხრილების სივრცეში ცხრილები უკვე გააჩნია." + +#: commands/dbcommands.c:1306 commands/dbcommands.c:1853 +#, c-format +msgid "database \"%s\" already exists" +msgstr "ბაზა \"%s\" უკვე არსებობს" + +#: commands/dbcommands.c:1320 +#, c-format +msgid "source database \"%s\" is being accessed by other users" +msgstr "საწყის ბაზა %s-სთან ამჟამად სხვა მომხმარებლებიცაა მიერთებული" + +#: commands/dbcommands.c:1342 +#, c-format +msgid "database OID %u is already in use by database \"%s\"" +msgstr "ბაზის OID %u უკვე გამოიყენება ბაზის \"%s\" მიერ" + +#: commands/dbcommands.c:1348 +#, c-format +msgid "data directory with the specified OID %u already exists" +msgstr "მონაცემების საქაღალდე მითითებული OID-ით (%u) უკვე არსებობს" + +#: commands/dbcommands.c:1520 commands/dbcommands.c:1535 +#, c-format +msgid "encoding \"%s\" does not match locale \"%s\"" +msgstr "კოდირება (%s) ენას (%s) არ ემთხვევა" + +#: commands/dbcommands.c:1523 +#, c-format +msgid "The chosen LC_CTYPE setting requires encoding \"%s\"." +msgstr "\"LC_CTYPE\"-ის არჩეულ პარამეტრს სჭირდება კოდირება: \"%s\"." + +#: commands/dbcommands.c:1538 +#, c-format +msgid "The chosen LC_COLLATE setting requires encoding \"%s\"." +msgstr "\"LC_COLLATE\"-ის არჩეულ პარამეტრს სჭირდება კოდირება: \"%s\"." + +#: commands/dbcommands.c:1619 +#, c-format +msgid "database \"%s\" does not exist, skipping" +msgstr "მონაცემთა ბაზა \"%s\" არ არსებობს, გამოტოვება" + +#: commands/dbcommands.c:1643 +#, c-format +msgid "cannot drop a template database" +msgstr "შაბლონური ბაზის წაშლა შეუძლებელია" + +#: commands/dbcommands.c:1649 +#, c-format +msgid "cannot drop the currently open database" +msgstr "ღია ბაზის წაშლა შეუძლებელია" + +#: commands/dbcommands.c:1662 +#, c-format +msgid "database \"%s\" is used by an active logical replication slot" +msgstr "ბაზა %s აქტიური ლოგიკური რეპლიკაციის სლოტის მიერ გამოიყენება" + +#: commands/dbcommands.c:1664 +#, c-format +msgid "There is %d active slot." +msgid_plural "There are %d active slots." +msgstr[0] "ხელმისაწვდომია %d აქტიური სლოტი." +msgstr[1] "ხელმისაწვდომია %d აქტიური სლოტი." + +#: commands/dbcommands.c:1678 +#, c-format +msgid "database \"%s\" is being used by logical replication subscription" +msgstr "ბაზა %s ლოგიკური რეპლიკაციის გამოწერის მიერ გამოიყენება" + +#: commands/dbcommands.c:1680 +#, c-format +msgid "There is %d subscription." +msgid_plural "There are %d subscriptions." +msgstr[0] "აღმოჩენილია %d გამოწერა." +msgstr[1] "აღმოჩენილია %d გამოწერა." + +#: commands/dbcommands.c:1701 commands/dbcommands.c:1875 commands/dbcommands.c:2002 +#, c-format +msgid "database \"%s\" is being accessed by other users" +msgstr "ბაზა %s-სთან ამჟამად სხვა მომხმარებლებიცაა მიერთებული" + +#: commands/dbcommands.c:1835 +#, c-format +msgid "permission denied to rename database" +msgstr "ბაზის სახელის გადარქმევის წვდომა აკრძალულია" + +#: commands/dbcommands.c:1864 +#, c-format +msgid "current database cannot be renamed" +msgstr "მიმდინარე ბაზის სახელის გადარქმევა შეუძლებელია" + +#: commands/dbcommands.c:1958 +#, c-format +msgid "cannot change the tablespace of the currently open database" +msgstr "ღია ბაზის ცხრილების სივრცის შეცვლა შეუძლებელია" + +#: commands/dbcommands.c:2064 +#, c-format +msgid "some relations of database \"%s\" are already in tablespace \"%s\"" +msgstr "ბაზის (%s) ზოგიერთი ურთიერთობა ცხრილების სივრცეში \"%s\" უკვე იმყოფება" + +#: commands/dbcommands.c:2066 +#, c-format +msgid "You must move them back to the database's default tablespace before using this command." +msgstr "ამ ბრძანების გამოყენებამდე ბაზის ნაგულისხმევ ცხრილების სივრცეში უნდა დაბრუნდეთ." + +#: commands/dbcommands.c:2193 commands/dbcommands.c:2909 commands/dbcommands.c:3209 commands/dbcommands.c:3322 +#, c-format +msgid "some useless files may be left behind in old database directory \"%s\"" +msgstr "ძველი ბაზის საქაღალდეში \"%s\" შეიძლება რამდენიმე გამოუსადეგარი ფაილი დარჩა" + +#: commands/dbcommands.c:2254 +#, c-format +msgid "unrecognized DROP DATABASE option \"%s\"" +msgstr "\"DROP DATABASE\"-ის უცნობი პარამეტრი \"%s\"" + +#: commands/dbcommands.c:2332 +#, c-format +msgid "option \"%s\" cannot be specified with other options" +msgstr "პარამეტრის \"%s\" მითითება სხვა პარამეტრებთან ერთად აკრძალულია" + +#: commands/dbcommands.c:2379 +#, c-format +msgid "cannot alter invalid database \"%s\"" +msgstr "არასწორი ბაზის (\"%s\") შეცვლა შეუძლებელია" + +#: commands/dbcommands.c:2396 +#, c-format +msgid "cannot disallow connections for current database" +msgstr "მიმდინარე ბაზასთან დაკავშირების უარყოფა შეუძლებელია" + +#: commands/dbcommands.c:2611 +#, c-format +msgid "permission denied to change owner of database" +msgstr "ბაზის მფლობელის შეცვლის წვდომა აკრძალულია" + +#: commands/dbcommands.c:3015 +#, c-format +msgid "There are %d other session(s) and %d prepared transaction(s) using the database." +msgstr "ამ ბაზას %d სხვა სესია და %d მომზადებული ტრანზაქცია იყენებს." + +#: 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] "%d სხვა სესია, რომელიც ბაზას იყენებს." +msgstr[1] "%d სხვა სესია, რომელიც ბაზას იყენებს." + +#: commands/dbcommands.c:3023 storage/ipc/procarray.c:3798 +#, c-format +msgid "There is %d prepared transaction using the database." +msgid_plural "There are %d prepared transactions using the database." +msgstr[0] "ბაზას %d მომზადებული ტრანზაქცია იყენებს." +msgstr[1] "ბაზას %d მომზადებული ტრანზაქცია იყენებს." + +#: commands/dbcommands.c:3165 +#, c-format +msgid "missing directory \"%s\"" +msgstr "ნაკლული საქაღალდე \"%s\"" + +#: commands/dbcommands.c:3223 commands/tablespace.c:190 commands/tablespace.c:639 +#, c-format +msgid "could not stat directory \"%s\": %m" +msgstr "საქაღალდის \"%s\" პოვნა შეუძლებელია: %m" + +#: commands/define.c:54 commands/define.c:258 commands/define.c:290 commands/define.c:318 commands/define.c:364 +#, c-format +msgid "%s requires a parameter" +msgstr "%s მოითხოვს პარამეტრს" + +#: commands/define.c:87 commands/define.c:98 commands/define.c:192 commands/define.c:210 commands/define.c:225 commands/define.c:243 +#, c-format +msgid "%s requires a numeric value" +msgstr "%s მოითხოვს რიცხვით მნიშვნელობას" + +#: commands/define.c:154 +#, c-format +msgid "%s requires a Boolean value" +msgstr "%s მოითხოვს ლოგიკურ მნიშვნელობას" + +#: commands/define.c:168 commands/define.c:177 commands/define.c:327 +#, c-format +msgid "%s requires an integer value" +msgstr "%s-ის მნიშვნელობა მთელი რიცხვი უნდა იყოს" + +#: commands/define.c:272 +#, c-format +msgid "argument of %s must be a name" +msgstr "%s-ის არგუმენტი სახელი უნდა იყოს" + +#: commands/define.c:302 +#, c-format +msgid "argument of %s must be a type name" +msgstr "%s-ის არგუმენტი ტიპის სახელი უნდა იყოს" + +#: commands/define.c:348 +#, c-format +msgid "invalid argument for %s: \"%s\"" +msgstr "%s-ის არასწორი არგუმენტი: \"%s\"" + +#: commands/dropcmds.c:101 commands/functioncmds.c:1387 utils/adt/ruleutils.c:2897 +#, c-format +msgid "\"%s\" is an aggregate function" +msgstr "\"%s\" აგრეგატული ფუნქციაა" + +#: commands/dropcmds.c:103 +#, c-format +msgid "Use DROP AGGREGATE to drop aggregate functions." +msgstr "აგრეგირებული ფუნქციების წასაშლელად გამოიყენეთ DROP AGGREGATE." + +#: commands/dropcmds.c:158 commands/sequence.c:474 commands/tablecmds.c:3710 commands/tablecmds.c:3868 commands/tablecmds.c:3920 commands/tablecmds.c:16468 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 +#, c-format +msgid "schema \"%s\" does not exist, skipping" +msgstr "სქემა \"%s\" არ არსებობს, გამოტოვება" + +#: commands/dropcmds.c:228 commands/dropcmds.c:267 commands/tablecmds.c:277 +#, c-format +msgid "type \"%s\" does not exist, skipping" +msgstr "ტიპი \"%s\" არ არსებობს, გამოტოვება" + +#: commands/dropcmds.c:257 +#, c-format +msgid "access method \"%s\" does not exist, skipping" +msgstr "წვდომის მეთოდი \"%s\" არ არსებობს, გამოტოვება" + +#: commands/dropcmds.c:275 +#, c-format +msgid "collation \"%s\" does not exist, skipping" +msgstr "კოლაცია \"%s\" არ არსებობს, გამოტოვება" + +#: commands/dropcmds.c:282 +#, c-format +msgid "conversion \"%s\" does not exist, skipping" +msgstr "გადაყვანა\"%s\" არ არსებობს, გამოტოვება" + +#: commands/dropcmds.c:293 commands/statscmds.c:654 +#, c-format +msgid "statistics object \"%s\" does not exist, skipping" +msgstr "სტატისტიკის ობიექტი \"%s\" არ არსებობს, გამოტოვება" + +#: commands/dropcmds.c:300 +#, c-format +msgid "text search parser \"%s\" does not exist, skipping" +msgstr "ტექსტის ძებნის დამმუშავებელი \"%s\" არ არსებობს, გამოტოვება" + +#: commands/dropcmds.c:307 +#, c-format +msgid "text search dictionary \"%s\" does not exist, skipping" +msgstr "ტექსტის ძებნის ლექსიკონი \"%s\" არ არსებობს, გამოტოვება" + +#: commands/dropcmds.c:314 +#, c-format +msgid "text search template \"%s\" does not exist, skipping" +msgstr "ტექსტის ძებნის შაბლონი \"%s\" არ არსებობს, გამოტოვება" + +#: commands/dropcmds.c:321 +#, c-format +msgid "text search configuration \"%s\" does not exist, skipping" +msgstr "ტექსტის ძებნის კონფიგურაცია \"%s\" არ არსებობს, გამოტოვება" + +#: commands/dropcmds.c:326 +#, c-format +msgid "extension \"%s\" does not exist, skipping" +msgstr "გაფართოება \"%s\" არ არსებობს, გამოტოვება" + +#: commands/dropcmds.c:336 +#, c-format +msgid "function %s(%s) does not exist, skipping" +msgstr "ფუნქცია %s (%s) არ არსებობს, გამოტოვება" + +#: commands/dropcmds.c:349 +#, c-format +msgid "procedure %s(%s) does not exist, skipping" +msgstr "პროცედურა %s (%s) არ არსებობს, გამოტოვება" + +#: commands/dropcmds.c:362 +#, c-format +msgid "routine %s(%s) does not exist, skipping" +msgstr "ქვეპროგრამა %s (%s) არ არსებობს, გამოტოვება" + +#: commands/dropcmds.c:375 +#, c-format +msgid "aggregate %s(%s) does not exist, skipping" +msgstr "აგრეგატი %s (%s) არ არსებობს, გამოტოვება" + +#: commands/dropcmds.c:388 +#, c-format +msgid "operator %s does not exist, skipping" +msgstr "ოპერატორი %s არ არსებობს, გამოტოვება" + +#: commands/dropcmds.c:394 +#, c-format +msgid "language \"%s\" does not exist, skipping" +msgstr "ენა \"%s\" არ არსებობს, გამოტოვება" + +#: commands/dropcmds.c:403 +#, c-format +msgid "cast from type %s to type %s does not exist, skipping" +msgstr "დაკასტვა ტიპიდან %s ტიპამდე %s არ არსებობს. გამოტოვება" + +#: commands/dropcmds.c:412 +#, c-format +msgid "transform for type %s language \"%s\" does not exist, skipping" +msgstr "გადაყვანა ტიპისთვის %s ენა \"%s\" არ არსებობს, გამოტოვება" + +#: commands/dropcmds.c:420 +#, c-format +msgid "trigger \"%s\" for relation \"%s\" does not exist, skipping" +msgstr "ურთიერთობისთვის \"%2$s\" ტრიგერი \"%1$s\" არ არსებობს. გამოტოვება" + +#: commands/dropcmds.c:429 +#, c-format +msgid "policy \"%s\" for relation \"%s\" does not exist, skipping" +msgstr "ურთიერთობისთვის \"%2$s\" წესი \"%1$s\" არ არსებობს. გამოტოვება" + +#: commands/dropcmds.c:436 +#, c-format +msgid "event trigger \"%s\" does not exist, skipping" +msgstr "მოვლენის ტრიგერი (\"%s\") არ არსებობს. გამოტოვება" + +#: commands/dropcmds.c:442 +#, c-format +msgid "rule \"%s\" for relation \"%s\" does not exist, skipping" +msgstr "წესი %s ურთიერთობისთვის \"%s\" არ არსებობს. გამოტოვება" + +#: commands/dropcmds.c:449 +#, c-format +msgid "foreign-data wrapper \"%s\" does not exist, skipping" +msgstr "გარე მონაცემების გადამტანი \"%s\" არ არსებობს. გამოტოვება" + +#: commands/dropcmds.c:453 commands/foreigncmds.c:1360 +#, c-format +msgid "server \"%s\" does not exist, skipping" +msgstr "სერვერი \"%s\" არ არსებობს, გამოტოვება" + +#: commands/dropcmds.c:462 +#, c-format +msgid "operator class \"%s\" does not exist for access method \"%s\", skipping" +msgstr "ოპერატორის კლასი \"%s\" წვდომის მეთოდისთვის \"%s\" არ არსებობს. გამოტოვება" + +#: commands/dropcmds.c:474 +#, c-format +msgid "operator family \"%s\" does not exist for access method \"%s\", skipping" +msgstr "ოპერატორის ოჯახი \"%s\" წვდომის მეთოდისთვის \"%s\" არ არსებობს. გამოტოვება" + +#: commands/dropcmds.c:481 +#, c-format +msgid "publication \"%s\" does not exist, skipping" +msgstr "პუბლიკაცია \"%s\" არ არსებობს, გამოტოვება" + +#: commands/event_trigger.c:125 +#, c-format +msgid "permission denied to create event trigger \"%s\"" +msgstr "მოვლენის ტრიგერის (\"%s\") შექმნის წვდომა აკრძალულია" + +#: commands/event_trigger.c:127 +#, c-format +msgid "Must be superuser to create an event trigger." +msgstr "მოვლენის ტრიგერის შესაქმნელად საჭიროა ზემომხმარებლის პრივილეგიები." + +#: commands/event_trigger.c:136 +#, c-format +msgid "unrecognized event name \"%s\"" +msgstr "მოვლენის უცნობი სახელი \"%s\"" + +#: commands/event_trigger.c:153 +#, c-format +msgid "unrecognized filter variable \"%s\"" +msgstr "ფილტრის უცნობი ცვლადი \"%s\"" + +#: commands/event_trigger.c:207 +#, c-format +msgid "filter value \"%s\" not recognized for filter variable \"%s\"" +msgstr "ფილტრის მნიშვნელობა \"%s\" ფილტრის ცვლადისთვის \"%s\" უცნობია" + +#. translator: %s represents an SQL statement name +#: commands/event_trigger.c:213 commands/event_trigger.c:235 +#, c-format +msgid "event triggers are not supported for %s" +msgstr "მოვლენის ტრიგერები %s-ისთვის მხარდაჭერილი არაა" + +#: commands/event_trigger.c:248 +#, c-format +msgid "filter variable \"%s\" specified more than once" +msgstr "ფილტრის ცვლადი ერთზე მეტჯერაა მითითებული: %s" + +#: commands/event_trigger.c:376 commands/event_trigger.c:420 commands/event_trigger.c:514 +#, c-format +msgid "event trigger \"%s\" does not exist" +msgstr "მოვლენის ტრიგერი არ არსებობს: \"%s\"" + +#: commands/event_trigger.c:452 +#, c-format +msgid "event trigger with OID %u does not exist" +msgstr "მოვლენის ტრიგერი OID-ით %u არ არსებობს" + +#: commands/event_trigger.c:482 +#, c-format +msgid "permission denied to change owner of event trigger \"%s\"" +msgstr "მოვლენის ტრიგერის მფლობელის შეცვლის წვდომა აკრძალულია: %s" + +#: commands/event_trigger.c:484 +#, c-format +msgid "The owner of an event trigger must be a superuser." +msgstr "მოვლენის ტრიგერის მფლობელი ზემომხმარებელი უნდა იყოს." + +#: commands/event_trigger.c:1304 +#, c-format +msgid "%s can only be called in a sql_drop event trigger function" +msgstr "%s-ის გამოძახება sql_drop მოვლენის ტრიგერიდან შეგიძლიათ" + +#: commands/event_trigger.c:1397 commands/event_trigger.c:1418 +#, c-format +msgid "%s can only be called in a table_rewrite event trigger function" +msgstr "%s-ის გამოძახება table_rewrite მოვლენის ტრიგერიდან შეგიძლიათ" + +#: commands/event_trigger.c:1831 +#, c-format +msgid "%s can only be called in an event trigger function" +msgstr "%s-ის გამოძახება მხოლოდ მოვლენის ტრიგერის ფუნქციიდან შეგიძლიათ" + +#: commands/explain.c:220 +#, c-format +msgid "unrecognized value for EXPLAIN option \"%s\": \"%s\"" +msgstr "\"EXPLAIN\"-ის უცნობი პარამეტრი \"%s\": \"%s\"" + +#: commands/explain.c:227 +#, c-format +msgid "unrecognized EXPLAIN option \"%s\"" +msgstr "\"EXPLAIN\"-ის უცნობი პარამეტრი \"%s\"" + +#: commands/explain.c:236 +#, c-format +msgid "EXPLAIN option WAL requires ANALYZE" +msgstr "EXPLAIN -ის პარამეტრ WAL-ს ANALYZE სჭირდება" + +#: commands/explain.c:245 +#, c-format +msgid "EXPLAIN option TIMING requires ANALYZE" +msgstr "EXPLAIN -ის პარამეტრ TIMING-ს ANALYZE სჭირდება" + +#: commands/explain.c:251 +#, c-format +msgid "EXPLAIN options ANALYZE and GENERIC_PLAN cannot be used together" +msgstr "EXPLAIN-ის პარამეტრები ANALYZE და GENERIC_PLAN ერთად არ შეიძლება, გამოიყენოთ" + +#: commands/extension.c:177 commands/extension.c:3033 +#, c-format +msgid "extension \"%s\" does not exist" +msgstr "გაფართოება %s არ არსებობს" + +#: commands/extension.c:276 commands/extension.c:285 commands/extension.c:297 commands/extension.c:307 +#, c-format +msgid "invalid extension name: \"%s\"" +msgstr "გაფართოების არასწორი სახელი: \"%s\"" + +#: commands/extension.c:277 +#, c-format +msgid "Extension names must not be empty." +msgstr "გაფართოების სახელები ცარიელი არ უნდა იყოს." + +#: commands/extension.c:286 +#, c-format +msgid "Extension names must not contain \"--\"." +msgstr "გაფართოების სახელები არ უნდა შეიცავდეს \"---\"." + +#: commands/extension.c:298 +#, c-format +msgid "Extension names must not begin or end with \"-\"." +msgstr "გაფართოების სახელები არ უნდა დაიწყოს ან დასრულდეს \"-\"." + +#: commands/extension.c:308 +#, c-format +msgid "Extension names must not contain directory separator characters." +msgstr "გაფართოების სახელები არ უნდა შეიცავდეს საქაღალდის გამყოფი სიმბოლოს." + +#: commands/extension.c:323 commands/extension.c:332 commands/extension.c:341 commands/extension.c:351 +#, c-format +msgid "invalid extension version name: \"%s\"" +msgstr "გაფართოების არასწორი ვერსია: \"%s\"" + +#: commands/extension.c:324 +#, c-format +msgid "Version names must not be empty." +msgstr "ვერსიის სახელები არ უნდა იყოს ცარიელი." + +#: commands/extension.c:333 +#, c-format +msgid "Version names must not contain \"--\"." +msgstr "ვერსიის სახელები არ უნდა შეიცავდეს \"---\"." + +#: commands/extension.c:342 +#, c-format +msgid "Version names must not begin or end with \"-\"." +msgstr "ვერსიის სახელები არ უნდა დაიწყოს ან დასრულდეს \"-\"." + +#: commands/extension.c:352 +#, c-format +msgid "Version names must not contain directory separator characters." +msgstr "ვერსიის სახელები არ უნდა შეიცავდეს საქაღალდის გამყოფ სიმბოლოებს." + +#: commands/extension.c:506 +#, c-format +msgid "extension \"%s\" is not available" +msgstr "გაფართოება \"%s\" ხელმიუწვდომელია" + +#: commands/extension.c:507 +#, c-format +msgid "Could not open extension control file \"%s\": %m." +msgstr "გაფართოების კონტროლის ფაილის (\"%s\") გახსნის შეცდომა: %m." + +#: commands/extension.c:509 +#, c-format +msgid "The extension must first be installed on the system where PostgreSQL is running." +msgstr "ჯერ გაფართოება უნდა დააყენოთ სისტემაზე, სადაც PostgreSQL-ია გაშვებული." + +#: commands/extension.c:513 +#, c-format +msgid "could not open extension control file \"%s\": %m" +msgstr "გაფართოების კონტროლის ფაილის (\"%s\") გახსნის შეცდომა: %m" + +#: commands/extension.c:536 commands/extension.c:546 +#, c-format +msgid "parameter \"%s\" cannot be set in a secondary extension control file" +msgstr "პარამეტრს \"%s\" მეორადი გაფართოების კონტროლის ფაილში ვერ დააყენებთ" + +#: commands/extension.c:568 commands/extension.c:576 commands/extension.c:584 utils/misc/guc.c:3098 +#, c-format +msgid "parameter \"%s\" requires a Boolean value" +msgstr "პარამეტრს %s ლოგიკური მნიშვნელობა სჭირდება" + +#: commands/extension.c:593 +#, c-format +msgid "\"%s\" is not a valid encoding name" +msgstr "\"%s\" კოდირების სწორ სახელს არ წარმოადგენს" + +#: commands/extension.c:607 commands/extension.c:622 +#, c-format +msgid "parameter \"%s\" must be a list of extension names" +msgstr "პარამეტრი \"%s\" გაფართოებების სახელების სიას უნდა შეიცავდეს" + +#: commands/extension.c:629 +#, c-format +msgid "unrecognized parameter \"%s\" in file \"%s\"" +msgstr "უცნობი პარამეტრი \"%s\" ფაილში \"%s\"" + +#: commands/extension.c:638 +#, c-format +msgid "parameter \"schema\" cannot be specified when \"relocatable\" is true" +msgstr "როცა \"relocatable\" ჭეშმარიტია, პარამეტრს \"schema\" ვერ მიუთითებთ" + +#: commands/extension.c:816 +#, c-format +msgid "transaction control statements are not allowed within an extension script" +msgstr "გაფართოების სკრიპტში ტრანზაქციის კონტროლის გამოსახულებები დაშვებული არაა" + +#: commands/extension.c:896 +#, c-format +msgid "permission denied to create extension \"%s\"" +msgstr "გაფართოების (\"%s\") შექმნის წვდომა აკრძალულა" + +#: commands/extension.c:899 +#, c-format +msgid "Must have CREATE privilege on current database to create this extension." +msgstr "ამ გაფართოების შესაქმნელად აუცილებელია მიმდინარე ბაზაზე პრივილეგია CREATE-ის ქონა." + +#: commands/extension.c:900 +#, c-format +msgid "Must be superuser to create this extension." +msgstr "გაფართოების შესაქმნელად საჭიროა ზემომხმარებლის უფლებები." + +#: commands/extension.c:904 +#, c-format +msgid "permission denied to update extension \"%s\"" +msgstr "გაფართოების (\"%s\") განახლების წვდომა აკრძალულია" + +#: commands/extension.c:907 +#, c-format +msgid "Must have CREATE privilege on current database to update this extension." +msgstr "ამ გაფართოების განახლებისთვის აუცილებელია მიმდინარე ბაზაზე პრივილეგია CREATE-ის ქონა." + +#: commands/extension.c:908 +#, c-format +msgid "Must be superuser to update this extension." +msgstr "გაფართოების გასაახლებლად საჭიროა ზემომხმარებლის უფლებები." + +#: commands/extension.c:1046 +#, c-format +msgid "invalid character in extension owner: must not contain any of \"%s\"" +msgstr "არასწორი სიმბოლო გაფართოების მფლობელში: არ უნდა შეიცავდეს სიმბოლოებს სიიდან \"%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 "არასწორი სიმბოლო გაფართოებაში \"%s\": სქემა: არ უნდა შეიცავდეს სიმბოლოებს სიიდან \"%s\"" + +#: commands/extension.c:1292 +#, c-format +msgid "extension \"%s\" has no update path from version \"%s\" to version \"%s\"" +msgstr "გაფართოებას \"%s\" ვერსიიდან \"%s\" ვერსიამდე \"%s\" განახლების ბილიკი არ გააჩნია" + +#: commands/extension.c:1500 commands/extension.c:3091 +#, c-format +msgid "version to install must be specified" +msgstr "საჭიროა დასაყენებელი ვერსიის მითითება" + +#: commands/extension.c:1537 +#, c-format +msgid "extension \"%s\" has no installation script nor update path for version \"%s\"" +msgstr "გაფართოებას \"%s\" ვერსიისთვის \"%s\" არც დაყენების სკრიპტი გააჩნია, არც განახლების ბილიკი" + +#: commands/extension.c:1571 +#, c-format +msgid "extension \"%s\" must be installed in schema \"%s\"" +msgstr "გაფართოება \"%s\" დაყენებული უნდა იყოს სქემაში \"%s\"" + +#: commands/extension.c:1731 +#, c-format +msgid "cyclic dependency detected between extensions \"%s\" and \"%s\"" +msgstr "აღმოჩენილია ციკლური დამოკიდებულებები \"%s\" და \"%s\" გაფართოებებს შორის" + +#: commands/extension.c:1736 +#, c-format +msgid "installing required extension \"%s\"" +msgstr "მოთხოვნილი გაფართოების დაყენება: \"%s\"" + +#: commands/extension.c:1759 +#, c-format +msgid "required extension \"%s\" is not installed" +msgstr "მოთხოვნილი გაფართოება დაყენებული არაა: %s" + +#: commands/extension.c:1762 +#, c-format +msgid "Use CREATE EXTENSION ... CASCADE to install required extensions too." +msgstr "საჭირო გაფართოებების დასაყენებლად გამოიყენეთ CREATE EXTENSION ... CASCADE." + +#: commands/extension.c:1797 +#, c-format +msgid "extension \"%s\" already exists, skipping" +msgstr "გაფართოება \"%s\" უკვე არსებობს, გამოტოვება" + +#: commands/extension.c:1804 +#, c-format +msgid "extension \"%s\" already exists" +msgstr "გაფართოება \"%s\" უკვე არსებობს" + +#: commands/extension.c:1815 +#, c-format +msgid "nested CREATE EXTENSION is not supported" +msgstr "ჩადგმული CREATE EXTENSION მხარდაუჭერელია" + +#: commands/extension.c:1979 +#, c-format +msgid "cannot drop extension \"%s\" because it is being modified" +msgstr "გაფართოების \"%s\" წაშლა შეუძლებელია, რადგან მიმდინარეობს მისი ჩასწორება" + +#: commands/extension.c:2454 +#, c-format +msgid "%s can only be called from an SQL script executed by CREATE EXTENSION" +msgstr "%s-ის გამოძახება მხოლოდ CREATE EXTENSION-ის მიერ შესრულებულ SQL სკრიპტიდან შეგიძლიათ" + +#: commands/extension.c:2466 +#, c-format +msgid "OID %u does not refer to a table" +msgstr "OID %u ცხრილს არ ეხება" + +#: commands/extension.c:2471 +#, c-format +msgid "table \"%s\" is not a member of the extension being created" +msgstr "ცხრილი (%s) არ წარმოადგენს იმ გაფართოების წევრს, რომლის შექმნაც მიმდინარეობს" + +#: commands/extension.c:2817 +#, c-format +msgid "cannot move extension \"%s\" into schema \"%s\" because the extension contains the schema" +msgstr "გაფართოების (\"%s\") სქემაში (\"%s\") გადატანა შეუძლებელია იმიტომ, რომ გაფართოება სქემას შეიცავს" + +#: commands/extension.c:2858 commands/extension.c:2952 +#, c-format +msgid "extension \"%s\" does not support SET SCHEMA" +msgstr "გაფართოებას SET SCHEMA-ის მხარდაჭერა არ გააჩნია: %s" + +#: commands/extension.c:2915 +#, c-format +msgid "cannot SET SCHEMA of extension \"%s\" because other extensions prevent it" +msgstr "გაფართოება \"%s\"-ის SET SCHEMA შეუძლებელია, რადგან ეს იკრძალება სხვა გაფართოებების მიერ" + +#: commands/extension.c:2917 +#, c-format +msgid "Extension \"%s\" requests no relocation of extension \"%s\"." +msgstr "გაფართოება \"%s\" გაფართოების \"%s\" გადაადგილებას არ მოითხოვს." + +#: commands/extension.c:2954 +#, c-format +msgid "%s is not in the extension's schema \"%s\"" +msgstr "%s არ წარმოადგენს გაფართოების სქემას \"%s\"" + +#: commands/extension.c:3013 +#, c-format +msgid "nested ALTER EXTENSION is not supported" +msgstr "ჩადგმული ALTER EXTENSION მხარდაუჭერელია" + +#: commands/extension.c:3102 +#, c-format +msgid "version \"%s\" of extension \"%s\" is already installed" +msgstr "გაფართოების %2$s ვერსია %1$s უკვე დაყენებულია" + +#: commands/extension.c:3314 +#, c-format +msgid "cannot add an object of this type to an extension" +msgstr "ამ ტიპის ობიექტის გაფართოებაზე დამატება შეუძლებელია" + +#: commands/extension.c:3380 +#, c-format +msgid "cannot add schema \"%s\" to extension \"%s\" because the schema contains the extension" +msgstr "სქემის (\"%s\") გაფართოებაში (\"%s\") ჩამატება შეუძლებელია, რადგან სქემა გაფართოებას შეიცავს" + +#: commands/extension.c:3474 +#, c-format +msgid "file \"%s\" is too large" +msgstr "%s: ფაილი ძალიან დიდია" + +#: commands/foreigncmds.c:148 commands/foreigncmds.c:157 +#, c-format +msgid "option \"%s\" not found" +msgstr "პარამეტრი \"%s\" არ არსებობს" + +#: commands/foreigncmds.c:167 +#, c-format +msgid "option \"%s\" provided more than once" +msgstr "პარამეტრი ერთზე მეტჯერაა მითითებული: \"%s\"" + +#: commands/foreigncmds.c:221 commands/foreigncmds.c:229 +#, c-format +msgid "permission denied to change owner of foreign-data wrapper \"%s\"" +msgstr "გარე მონაცემების გადამტანის მფლობელის შეცვლის წვდომა აკრძალულია : \"%s\"" + +#: commands/foreigncmds.c:223 +#, c-format +msgid "Must be superuser to change owner of a foreign-data wrapper." +msgstr "გარე მონაცემების გადამტანის მფლობელის შეცვლას ზემომხმარებლის წვდომები სჭირდება." + +#: commands/foreigncmds.c:231 +#, c-format +msgid "The owner of a foreign-data wrapper must be a superuser." +msgstr "გარე მონაცემების გადამტანის მფლობელი ზემომხმარებელი უნდა იყოს." + +#: commands/foreigncmds.c:291 commands/foreigncmds.c:707 foreign/foreign.c:678 +#, c-format +msgid "foreign-data wrapper \"%s\" does not exist" +msgstr "გარე მონაცემების გადამტანი არ არსებობს: %s" + +#: commands/foreigncmds.c:325 +#, c-format +msgid "foreign-data wrapper with OID %u does not exist" +msgstr "გარე მონაცემების გადამტანი OID-ით %u არ არსებობს" + +#: commands/foreigncmds.c:462 +#, c-format +msgid "foreign server with OID %u does not exist" +msgstr "გარე სერვერი OID-ით %u არ არსებობს" + +#: commands/foreigncmds.c:580 +#, c-format +msgid "permission denied to create foreign-data wrapper \"%s\"" +msgstr "გარე მონაცემების გადამტანის შექმნის წვდომა აკრძალულია: %s" + +#: commands/foreigncmds.c:582 +#, c-format +msgid "Must be superuser to create a foreign-data wrapper." +msgstr "გარე მონაცემების გადამტანის შესაქმნელად ზემომხმარებელი უნდა ბრძანდებოდეთ." + +#: commands/foreigncmds.c:697 +#, c-format +msgid "permission denied to alter foreign-data wrapper \"%s\"" +msgstr "გარე მონაცემების გადამტანის შეცვლის წვდომა აკრძალულია: %s" + +#: commands/foreigncmds.c:699 +#, c-format +msgid "Must be superuser to alter a foreign-data wrapper." +msgstr "გარე მონაცემების გადამტანის შესაცვლელად ზემომხმარებელი უნდა ბრძანდებოდეთ." + +#: commands/foreigncmds.c:730 +#, c-format +msgid "changing the foreign-data wrapper handler can change behavior of existing foreign tables" +msgstr "გარე მონაცემების გადამტანის დამმუშავებლის შეცვლას შეუძლია არსებული გარე ცხრილების ქცევა შეცვალოს" + +#: commands/foreigncmds.c:745 +#, c-format +msgid "changing the foreign-data wrapper validator can cause the options for dependent objects to become invalid" +msgstr "" + +#: commands/foreigncmds.c:876 +#, c-format +msgid "server \"%s\" already exists, skipping" +msgstr "სერვერი \"%s\" უკვე არსებობს, გამოტოვება" + +#: commands/foreigncmds.c:1144 +#, c-format +msgid "user mapping for \"%s\" already exists for server \"%s\", skipping" +msgstr "მომხმარებლის ბმა %s სერვერისთვის %s უკვე არსებობს. გამოტოვება" + +#: commands/foreigncmds.c:1154 +#, c-format +msgid "user mapping for \"%s\" already exists for server \"%s\"" +msgstr "მომხმარებლის ბმა %s სერვერისთვის %s უკვე არსებობს" + +#: commands/foreigncmds.c:1254 commands/foreigncmds.c:1374 +#, c-format +msgid "user mapping for \"%s\" does not exist for server \"%s\"" +msgstr "მომხმარებლის ბმა %s სერვერისთვის %s არ არსებობს" + +#: commands/foreigncmds.c:1379 +#, c-format +msgid "user mapping for \"%s\" does not exist for server \"%s\", skipping" +msgstr "მომხმარებლის ბმა %s სერვერისთვის %s არ არსებობს, გამოტოვება" + +#: commands/foreigncmds.c:1507 foreign/foreign.c:391 +#, c-format +msgid "foreign-data wrapper \"%s\" has no handler" +msgstr "გარე-მონაცემების გადამტანს დამმუშავებელი არ გააჩნია: %s" + +#: commands/foreigncmds.c:1513 +#, c-format +msgid "foreign-data wrapper \"%s\" does not support IMPORT FOREIGN SCHEMA" +msgstr "გარე მონაცემების გადამტანს IMPORT FOREIGN SCHEMA-ის მხარდაჭერა არ გააჩნია: %s" + +#: commands/foreigncmds.c:1615 +#, c-format +msgid "importing foreign table \"%s\"" +msgstr "გარე ცხრილის შემოტანა (\"%s\")" + +#: commands/functioncmds.c:109 +#, c-format +msgid "SQL function cannot return shell type %s" +msgstr "SQL ფუნქციებს %s გარსის ტიპის დაბრუნება არ შეუძლიათ" + +#: commands/functioncmds.c:114 +#, c-format +msgid "return type %s is only a shell" +msgstr "დაბრუნებადი ტიპი %s ცარიელია" + +#: commands/functioncmds.c:143 parser/parse_type.c:354 +#, c-format +msgid "type modifier cannot be specified for shell type \"%s\"" +msgstr "ტიპის მოდიფიკატორს \"%s\" ტიპი გარემოსთვის ვერ მიუთითებთ" + +#: commands/functioncmds.c:149 +#, c-format +msgid "type \"%s\" is not yet defined" +msgstr "ტიპი \"%s\" ჯერ არ არის განსაზღვრული" + +#: commands/functioncmds.c:150 +#, c-format +msgid "Creating a shell type definition." +msgstr "გარსის ტიპის აღწერის შექმნა." + +#: commands/functioncmds.c:249 +#, c-format +msgid "SQL function cannot accept shell type %s" +msgstr "SQL ფუნქციებს %s გარსის ტიპის მიღება არ შეუძლიათ" + +#: commands/functioncmds.c:255 +#, c-format +msgid "aggregate cannot accept shell type %s" +msgstr "აგრეგატს არ შეუძლია ცარიელი ტიპის მიღება: %s" + +#: commands/functioncmds.c:260 +#, c-format +msgid "argument type %s is only a shell" +msgstr "არგუმენტის ტიპი %s მხოლოდ გარსია" + +#: commands/functioncmds.c:270 +#, c-format +msgid "type %s does not exist" +msgstr "ტიპი \"%s\" არ არსებობს" + +#: commands/functioncmds.c:284 +#, c-format +msgid "aggregates cannot accept set arguments" +msgstr "აგრეგატებს არგუმენტების სეტის მიღება არ შეუძლიათ" + +#: commands/functioncmds.c:288 +#, c-format +msgid "procedures cannot accept set arguments" +msgstr "პროცედურებს არგუმენტების სეტის მიღება არ შეუძლიათ" + +#: commands/functioncmds.c:292 +#, c-format +msgid "functions cannot accept set arguments" +msgstr "ფუნქციებს არგუმენტების სეტის მიღება არ შეუძლიათ" + +#: commands/functioncmds.c:302 +#, c-format +msgid "VARIADIC parameter must be the last input parameter" +msgstr "VARIADIC პარამეტრი ბოლო შეყვანის პარამეტრი უნდა იყოს" + +#: commands/functioncmds.c:322 +#, c-format +msgid "VARIADIC parameter must be the last parameter" +msgstr "VARIADIC პარამეტრი ბოლო უნდა იყოს" + +#: commands/functioncmds.c:347 +#, c-format +msgid "VARIADIC parameter must be an array" +msgstr "VARIADIC პარამეტრი მასივი უნდა იყოს" + +#: commands/functioncmds.c:392 +#, c-format +msgid "parameter name \"%s\" used more than once" +msgstr "პარამეტრის სახელი \"%s\" ერთზე მეტჯერ გამოიყენება" + +#: commands/functioncmds.c:410 +#, c-format +msgid "only input parameters can have default values" +msgstr "ნაგულისხმები მნიშვნელობების დაყენება მხოლოდ შემომავალ პარამეტრებზეა შესაძლებელი" + +#: commands/functioncmds.c:425 +#, c-format +msgid "cannot use table references in parameter default value" +msgstr "ცხრილის ბმის პარამეტრის ნაგულისხმებ მნიშვნელობად გამოყენება შეუძლებელია" + +#: commands/functioncmds.c:449 +#, c-format +msgid "input parameters after one with a default value must also have defaults" +msgstr "შეყვანის პარამეტრებში, მას შემდეგ, რაც ერთს აქვს ნაგულისხმევი მნიშვნელობა, ის სხვებსაც უნდა ჰქონდეთ" + +#: commands/functioncmds.c:459 +#, c-format +msgid "procedure OUT parameters cannot appear after one with a default value" +msgstr "პროცედური OUT პარამეტრები ვერ გამოჩნდება ერთის შემდეგ, რომელსაც ნაგულისხმევი მნიშვნელობა გააჩნია" + +#: commands/functioncmds.c:601 commands/functioncmds.c:780 +#, c-format +msgid "invalid attribute in procedure definition" +msgstr "პროცედურის აღწერაში ნაპოვნია არასწორი ატრიბუტი" + +#: commands/functioncmds.c:697 +#, c-format +msgid "support function %s must return type %s" +msgstr "მხარდაჭერის ფუნქციამ (%s) უნდა დააბრუნოს ტიპი %s" + +#: commands/functioncmds.c:708 +#, c-format +msgid "must be superuser to specify a support function" +msgstr "მხარდაჭერის ფუნქციის მისათითებლად ზემომხმარებლის წვდომელია საჭირო" + +#: commands/functioncmds.c:829 commands/functioncmds.c:1432 +#, c-format +msgid "COST must be positive" +msgstr "COST დადებითი უნდა იყოს" + +#: commands/functioncmds.c:837 commands/functioncmds.c:1440 +#, c-format +msgid "ROWS must be positive" +msgstr "ROWS დადებითი უნდა იყოს" + +#: commands/functioncmds.c:866 +#, c-format +msgid "no function body specified" +msgstr "ფუნქციის ტანი მითითებული არაა" + +#: commands/functioncmds.c:871 +#, c-format +msgid "duplicate function body specified" +msgstr "მითითებულია ფუნქციის დუბლირებული ტანი" + +#: commands/functioncmds.c:876 +#, c-format +msgid "inline SQL function body only valid for language SQL" +msgstr "" + +#: commands/functioncmds.c:918 +#, c-format +msgid "SQL function with unquoted function body cannot have polymorphic arguments" +msgstr "ბრჭყალების არმქონე ტანის მატარებელ SQL ფუნქციას პოლიმორფული არგუმენტები არ შეიძლება ჰქონდეს" + +#: commands/functioncmds.c:944 commands/functioncmds.c:963 +#, c-format +msgid "%s is not yet supported in unquoted SQL function body" +msgstr "%s ბრჭყალგარეშე SQL ფუნქციის სხეულში ჯერ მხარდაჭერილი არაა" + +#: commands/functioncmds.c:991 +#, c-format +msgid "only one AS item needed for language \"%s\"" +msgstr "ენისთვის მხოლოდ ერთი AS არის საჭირო: %s" + +#: commands/functioncmds.c:1096 +#, c-format +msgid "no language specified" +msgstr "ენა არ არის მითითებული" + +#: commands/functioncmds.c:1104 commands/functioncmds.c:2105 commands/proclang.c:237 +#, c-format +msgid "language \"%s\" does not exist" +msgstr "ენა \"%s\" არ არსებობს" + +#: commands/functioncmds.c:1106 commands/functioncmds.c:2107 +#, c-format +msgid "Use CREATE EXTENSION to load the language into the database." +msgstr "ენის ბაზაში შესატვირთად გამოიყენეთ CREATE EXTENSION." + +#: commands/functioncmds.c:1139 commands/functioncmds.c:1424 +#, c-format +msgid "only superuser can define a leakproof function" +msgstr "leakproof ატრიბუტის მქონე ფუნქციის აღწერა მხოლოდ ზემომხმარებელს შეუძლია" + +#: commands/functioncmds.c:1190 +#, c-format +msgid "function result type must be %s because of OUT parameters" +msgstr "\"OUT\" პარამეტრების გამო ფუნქციის შედეგის ტიპი %s უნდა იყოს" + +#: commands/functioncmds.c:1203 +#, c-format +msgid "function result type must be specified" +msgstr "ფუნქციის შედეგის ტიპის მითითება აუცილებელია" + +#: commands/functioncmds.c:1256 commands/functioncmds.c:1444 +#, c-format +msgid "ROWS is not applicable when function does not return a set" +msgstr "ROWS შესაფერისი არაა, როცა ფუნქცია სეტს არ აბრუნებს" + +#: commands/functioncmds.c:1547 +#, c-format +msgid "source data type %s is a pseudo-type" +msgstr "საწყისი მონაცემთა ტიპი %s ფსევდო ტიპია" + +#: commands/functioncmds.c:1553 +#, c-format +msgid "target data type %s is a pseudo-type" +msgstr "საბოლოო მონაცემთა ტიპი %s ფსევდო ტიპია" + +#: commands/functioncmds.c:1577 +#, c-format +msgid "cast will be ignored because the source data type is a domain" +msgstr "მოხდება გარდაქმნის დაიგნორება იმის გამო, რომ მონაცემების საწყისი ტიპი დომენს წარმოადგენს" + +#: commands/functioncmds.c:1582 +#, c-format +msgid "cast will be ignored because the target data type is a domain" +msgstr "მოხდება გარდაქმნის დაიგნორება იმის გამო, რომ მონაცემების სამიზნე ტიპი დომენს წარმოადგენს" + +#: commands/functioncmds.c:1607 +#, c-format +msgid "cast function must take one to three arguments" +msgstr "გარდაქმნის ფუნქციამ ერთიდან სამ არგუმენტამდე უნდა მიიღოს" + +#: commands/functioncmds.c:1613 +#, c-format +msgid "argument of cast function must match or be binary-coercible from source data type" +msgstr "" + +#: commands/functioncmds.c:1617 +#, c-format +msgid "second argument of cast function must be type %s" +msgstr "გარდაქმნის ფუნქციის მეორე არგუმენტის ტიპი %s უნდა იყოს" + +#: commands/functioncmds.c:1622 +#, c-format +msgid "third argument of cast function must be type %s" +msgstr "გარდაქმნის ფუნქციის მესამე არგუმენტის ტიპი %s უნდა იყოს" + +#: commands/functioncmds.c:1629 +#, c-format +msgid "return data type of cast function must match or be binary-coercible to target data type" +msgstr "" + +#: commands/functioncmds.c:1640 +#, c-format +msgid "cast function must not be volatile" +msgstr "გარდაქმნის ფუნქცია ცვალებადი არ უნდა იყოს" + +#: commands/functioncmds.c:1645 +#, c-format +msgid "cast function must be a normal function" +msgstr "გარდაქმნის ფუნქცია ნორმალური ფუნქცია უნდა იყოს" + +#: commands/functioncmds.c:1649 +#, c-format +msgid "cast function must not return a set" +msgstr "გარდაქმნის ფუნქციამ სეტი არ უნდა დააბრუნოს" + +#: commands/functioncmds.c:1675 +#, c-format +msgid "must be superuser to create a cast WITHOUT FUNCTION" +msgstr "\"WITHOUT FUNCTION\"-ის გარდაქმნის შესაქმნელად ზეომხმარებელი უნდა ბრძანდებოდეთ" + +#: commands/functioncmds.c:1690 +#, c-format +msgid "source and target data types are not physically compatible" +msgstr "საწყისი და სამიზნე მონაცემის ტიპები ფიზიკურად შეუთავსებელია" + +#: commands/functioncmds.c:1705 +#, c-format +msgid "composite data types are not binary-compatible" +msgstr "მონაცემების კომპოზიტური ტიპები შეუთავსებელია ორობით დონეზე" + +#: commands/functioncmds.c:1711 +#, c-format +msgid "enum data types are not binary-compatible" +msgstr "მონაცემების ჩამონათვალის ტიპები შეუთავსებელია ორობით დონეზე" + +#: commands/functioncmds.c:1717 +#, c-format +msgid "array data types are not binary-compatible" +msgstr "მასივის მონაცემების ტიპები შეუთავსებელია ორობით დონეზე" + +#: commands/functioncmds.c:1734 +#, c-format +msgid "domain data types must not be marked binary-compatible" +msgstr "დომენის მონაცემების ტიპები შეუთავსებელია ორობით დონეზე" + +#: commands/functioncmds.c:1744 +#, c-format +msgid "source data type and target data type are the same" +msgstr "საწყისი და სამიზნე მონაცემების ტიპები ერთი და იგივეა" + +#: commands/functioncmds.c:1777 +#, c-format +msgid "transform function must not be volatile" +msgstr "გარდაქმნის ფუნქცია ცვალებადი არ უნდა იყოს" + +#: commands/functioncmds.c:1781 +#, c-format +msgid "transform function must be a normal function" +msgstr "გარდაქმნის ფუნქცია ნორმალური ფუნქცია უნდა იყოს" + +#: commands/functioncmds.c:1785 +#, c-format +msgid "transform function must not return a set" +msgstr "გარდაქმნის ფუნქციამ სეტი არ უნდა დააბრუნოს" + +#: commands/functioncmds.c:1789 +#, c-format +msgid "transform function must take one argument" +msgstr "გარდაქმნის ფუნქციამ ერთი არგუმენტი უნდა მიიღოს" + +#: commands/functioncmds.c:1793 +#, c-format +msgid "first argument of transform function must be type %s" +msgstr "გარდაქმნის ფუნქციის პირველი არგუმენტის ტიპი %s უნდა იყოს" + +#: commands/functioncmds.c:1832 +#, c-format +msgid "data type %s is a pseudo-type" +msgstr "მონაცემთა ტიპი %s ფსევდო ტიპია" + +#: commands/functioncmds.c:1838 +#, c-format +msgid "data type %s is a domain" +msgstr "მონაცემების ტიპი %s დომენია" + +#: commands/functioncmds.c:1878 +#, c-format +msgid "return data type of FROM SQL function must be %s" +msgstr "\"FROM SQL\" ფუნქციის დაბრუნებული მონაცემები აუცილებლად უნდა იყოს: %s" + +#: commands/functioncmds.c:1904 +#, c-format +msgid "return data type of TO SQL function must be the transform data type" +msgstr "" + +#: commands/functioncmds.c:1931 +#, c-format +msgid "transform for type %s language \"%s\" already exists" +msgstr "გადაყვანა ტიპისთვის %s ენა \"%s\" უკვე არსებობს" + +#: commands/functioncmds.c:2017 +#, c-format +msgid "transform for type %s language \"%s\" does not exist" +msgstr "გადაყვანა ტიპისთვის %s ენა \"%s\" არ არსებობს" + +#: commands/functioncmds.c:2041 +#, c-format +msgid "function %s already exists in schema \"%s\"" +msgstr "ფუნქცია (%s) სქემაში (%s) უკვე არსებობს" + +#: commands/functioncmds.c:2092 +#, c-format +msgid "no inline code specified" +msgstr "ჩადგმული კოდი მითითებული არაა" + +#: commands/functioncmds.c:2138 +#, c-format +msgid "language \"%s\" does not support inline code execution" +msgstr "" + +#: commands/functioncmds.c:2233 +#, c-format +msgid "cannot pass more than %d argument to a procedure" +msgid_plural "cannot pass more than %d arguments to a procedure" +msgstr[0] "პროცედურისთვის %d-ზე მეტი არგუმენტის გადაცემა შეუძლებელია" +msgstr[1] "პროცედურისთვის %d-ზე მეტი არგუმენტის გადაცემა შეუძლებელია" + +#: commands/indexcmds.c:640 +#, c-format +msgid "must specify at least one column" +msgstr "უნდა მიეთითოს მინიმუმ ერთი სვეტი" + +#: commands/indexcmds.c:644 +#, c-format +msgid "cannot use more than %d columns in an index" +msgstr "ინდექსში %d სვეტზე მეტს ვერ გამოიყენებთ" + +#: commands/indexcmds.c:687 +#, c-format +msgid "cannot create index on relation \"%s\"" +msgstr "ურთიერთბაზე \"%s\" ინდექსის შექმნა შეიძლებელია" + +#: commands/indexcmds.c:713 +#, c-format +msgid "cannot create index on partitioned table \"%s\" concurrently" +msgstr "ინდექსს დაყოფილ ცხრილზე %s პარალელურად ვერ შექმნით" + +#: commands/indexcmds.c:718 +#, c-format +msgid "cannot create exclusion constraints on partitioned table \"%s\"" +msgstr "დაყოფილ ცხრილზე (\"%s\") ექსკლუზიური შეზღუდვების შექმნა შეუძლებელია" + +#: commands/indexcmds.c:728 +#, c-format +msgid "cannot create indexes on temporary tables of other sessions" +msgstr "სხვა სესიების დროებითი ცხრილებზე ინდექსების შექმნა შეუძლებელია" + +#: commands/indexcmds.c:766 commands/tablecmds.c:784 commands/tablespace.c:1184 +#, c-format +msgid "cannot specify default tablespace for partitioned relations" +msgstr "დაყოფილი ურთიერთობებისთვის ნაგულისხმები ცხრილის სივრცეების მითითება შეუძლებელია" + +#: commands/indexcmds.c:798 commands/tablecmds.c:819 commands/tablecmds.c:3409 +#, c-format +msgid "only shared relations can be placed in pg_global tablespace" +msgstr "pg_global ცხრილის სივრცეში მხოლოდ გაზიარებული ურთიერთობების მოთავსება შეგიძლიათ" + +#: commands/indexcmds.c:831 +#, c-format +msgid "substituting access method \"gist\" for obsolete method \"rtree\"" +msgstr "მოძველებული მეთოდი \"rtree\" წვდომის მეთოდით \"gist\" ჩანაცვლდება" + +#: commands/indexcmds.c:852 +#, c-format +msgid "access method \"%s\" does not support unique indexes" +msgstr "სწვდომის მეთოდს (%s) უნიკალური ინდექსების მხარდაჭერა არ გააჩნია" + +#: commands/indexcmds.c:857 +#, c-format +msgid "access method \"%s\" does not support included columns" +msgstr "სწვდომის მეთოდს (%s) ჩასმული სვეტების მხარდაჭერა არ გააჩნია" + +#: commands/indexcmds.c:862 +#, c-format +msgid "access method \"%s\" does not support multicolumn indexes" +msgstr "სწვდომის მეთოდს (%s) მრავალსვეტიანი ინდექსების მხარდაჭერა არ გააჩნია" + +#: commands/indexcmds.c:867 +#, c-format +msgid "access method \"%s\" does not support exclusion constraints" +msgstr "სწვდომის მეთოდს (%s) გამორიცხვის შეზღუდვების მხარდაჭერა არ გააჩნია" + +#: commands/indexcmds.c:994 +#, c-format +msgid "cannot match partition key to an index using access method \"%s\"" +msgstr "წვდომის მეთოდით \"%s\" დანაყოფის გასაღების ინდექსთან დამთხვევა შეუძლებელია" + +#: commands/indexcmds.c:1004 +#, c-format +msgid "unsupported %s constraint with partition key definition" +msgstr "მხარდაუჭერელი %s შეზღუდვა დანაყოფის გასაღების აღწერით" + +#: commands/indexcmds.c:1006 +#, c-format +msgid "%s constraints cannot be used when partition keys include expressions." +msgstr "" + +#: commands/indexcmds.c:1045 +#, c-format +msgid "unique constraint on partitioned table must include all partitioning columns" +msgstr "დაყოფილ ცხრილზე არსებული უნიკალური შეზღუდვა ყველა დაყოფის სვეტს უნდა შეიცავდეს" + +#: commands/indexcmds.c:1046 +#, c-format +msgid "%s constraint on table \"%s\" lacks column \"%s\" which is part of the partition key." +msgstr "" + +#: commands/indexcmds.c:1065 commands/indexcmds.c:1084 +#, c-format +msgid "index creation on system columns is not supported" +msgstr "სისტემური სვეტებზე ინდექსების შექმნა მხარდაუჭერელია" + +#: commands/indexcmds.c:1313 tcop/utility.c:1526 +#, c-format +msgid "cannot create unique index on partitioned table \"%s\"" +msgstr "დაყოფილ ცხრილზე (%s) უნიკალური ინდექსის შექმნა შეუძლებელია" + +#: commands/indexcmds.c:1315 tcop/utility.c:1528 +#, c-format +msgid "Table \"%s\" contains partitions that are foreign tables." +msgstr "ცხრილი (%s) შეიცავს დანაყოფებს, რომლებც გარე ცხრილებია." + +#: commands/indexcmds.c:1827 +#, c-format +msgid "functions in index predicate must be marked IMMUTABLE" +msgstr "ფუნქციები ინდექსის პრედიკატში მონიშნეთ, როგორც IMMUTABLE" + +#: commands/indexcmds.c:1905 parser/parse_utilcmd.c:2513 parser/parse_utilcmd.c:2648 +#, c-format +msgid "column \"%s\" named in key does not exist" +msgstr "გასაღებში დასახელებული სვეტი არ არსებობს: %s" + +#: commands/indexcmds.c:1929 parser/parse_utilcmd.c:1812 +#, c-format +msgid "expressions are not supported in included columns" +msgstr "ჩასმულ სვეტებში გამოსახულებები მხარდაჭერილი არაა" + +#: commands/indexcmds.c:1970 +#, c-format +msgid "functions in index expression must be marked IMMUTABLE" +msgstr "ფუნქციები ინდექსის გამოსახულებაში მონიშნეთ, როგორც IMMUTABLE" + +#: commands/indexcmds.c:1985 +#, c-format +msgid "including column does not support a collation" +msgstr "ჩასმულ სვეტს კოლაციის მხარდაჭერა არ გააჩნია" + +#: commands/indexcmds.c:1989 +#, c-format +msgid "including column does not support an operator class" +msgstr "ჩასმულ სვეტს ოპერატორის კლასის მხარდაჭერა არ გააჩნია" + +#: commands/indexcmds.c:1993 +#, c-format +msgid "including column does not support ASC/DESC options" +msgstr "ჩასმულ სვეტს ASC/DESC პარამეტრების მხარდაჭერა არ გააჩნია" + +#: commands/indexcmds.c:1997 +#, c-format +msgid "including column does not support NULLS FIRST/LAST options" +msgstr "ჩასმულ სვეტს NULLS FIRST/LAST მხარდაჭერა არ გააჩნია" + +#: commands/indexcmds.c:2038 +#, c-format +msgid "could not determine which collation to use for index expression" +msgstr "ინდექსის გამოსახულებისთვის გამოსაყენებელი კოლაციის გამოცნობა შეუძლებელია" + +#: 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 utils/adt/misc.c:586 +#, c-format +msgid "collations are not supported by type %s" +msgstr "ტიპის \"%s\" კოლაციების მხარდაჭერა არ გააჩნია" + +#: commands/indexcmds.c:2111 +#, c-format +msgid "operator %s is not commutative" +msgstr "ოპერატორი %s არაკომუტაციურია" + +#: commands/indexcmds.c:2113 +#, c-format +msgid "Only commutative operators can be used in exclusion constraints." +msgstr "გამორიცხვის შეზღუდვებში მხოლოდ კომუტაციური ოპერატორების გამოყენება შეგიძლიათ." + +#: commands/indexcmds.c:2139 +#, c-format +msgid "operator %s is not a member of operator family \"%s\"" +msgstr "ოპერატორი (%s) ოპერატორის ოჯახის (%s) წევრი არაა" + +#: commands/indexcmds.c:2142 +#, c-format +msgid "The exclusion operator must be related to the index operator class for the constraint." +msgstr "" + +#: commands/indexcmds.c:2177 +#, c-format +msgid "access method \"%s\" does not support ASC/DESC options" +msgstr "წვდომის მეთოდს \"%s\" ASC/DESC პარამეტრების მხარდაჭერა არ გააჩნია" + +#: commands/indexcmds.c:2182 +#, c-format +msgid "access method \"%s\" does not support NULLS FIRST/LAST options" +msgstr "წვდომის მეთოდს \"%s\" 'NULLS FIRST/LAST' პარამეტრების მხარდაჭერა არ გააჩნია" + +#: commands/indexcmds.c:2228 commands/tablecmds.c:17494 commands/tablecmds.c:17500 commands/typecmds.c:2301 +#, c-format +msgid "data type %s has no default operator class for access method \"%s\"" +msgstr "მონაცემის ტიპს %s წვდომის მეთოდისთვის \"%s\" ნაგულისხმევი ოპერატორის კლასი არ გააჩნია" + +#: commands/indexcmds.c:2230 +#, c-format +msgid "You must specify an operator class for the index or define a default operator class for the data type." +msgstr "აუცილებელია მიუთითოთ ოპერატორის კლასი ინდექსისთვის ან აღწეროთ ნაგულისხმევი ოპერატორის კლასი მონაცემის ტიპისთვის." + +#: commands/indexcmds.c:2259 commands/indexcmds.c:2267 commands/opclasscmds.c:205 +#, c-format +msgid "operator class \"%s\" does not exist for access method \"%s\"" +msgstr "ოპერატორის კლასი \"%s\" წვდომის მეთოდისთვის \"%s\" არ არსებობს" + +#: commands/indexcmds.c:2281 commands/typecmds.c:2289 +#, c-format +msgid "operator class \"%s\" does not accept data type %s" +msgstr "ოპერატორის კლასი \"%s\" მონაცემების ტიპს %s არ იღებს" + +#: commands/indexcmds.c:2371 +#, c-format +msgid "there are multiple default operator classes for data type %s" +msgstr "მონაცემის ტიპისთვის %s ერთზე მეტი ნაგულისხმევი ოპერატორის კლასი არსებობს" + +#: commands/indexcmds.c:2699 +#, c-format +msgid "unrecognized REINDEX option \"%s\"" +msgstr "\"REINDEX\"-ის უცნობი პარამეტრი \"%s\"" + +#: commands/indexcmds.c:2923 +#, c-format +msgid "table \"%s\" has no indexes that can be reindexed concurrently" +msgstr "ცხრილს \"%s\" არ გააჩნია ინდექსები, რომლების პარალელური რეინდექსიც შესაძლებელია" + +#: commands/indexcmds.c:2937 +#, c-format +msgid "table \"%s\" has no indexes to reindex" +msgstr "ცხრილს \"%s\" რეინდექსისთვის ცხრილები არ არ გააჩნია" + +#: commands/indexcmds.c:2982 commands/indexcmds.c:3492 commands/indexcmds.c:3620 +#, c-format +msgid "cannot reindex system catalogs concurrently" +msgstr "სისტემური კატალოგების ერთდროული რეინდექსი შეუძლებელია" + +#: commands/indexcmds.c:3005 +#, c-format +msgid "can only reindex the currently open database" +msgstr "შესაძლებელია მხოლოდ ამჟამად ღია ბაზის რეინდექსი" + +#: commands/indexcmds.c:3099 +#, c-format +msgid "cannot reindex system catalogs concurrently, skipping all" +msgstr "სისტემური კატალოგების ერთდროული რეინდექსი შეუძლებელია. ყველას გამოტოვება" + +#: commands/indexcmds.c:3132 +#, c-format +msgid "cannot move system relations, skipping all" +msgstr "სისტემური დანაყოფების გადაადგილება შეუძლებელია. ყველას გამოტოვება" + +#: commands/indexcmds.c:3178 +#, c-format +msgid "while reindexing partitioned table \"%s.%s\"" +msgstr "დაყოფილი ცხრილის რეინდექსისას: \"%s.%s\"" + +#: commands/indexcmds.c:3181 +#, c-format +msgid "while reindexing partitioned index \"%s.%s\"" +msgstr "დაყოფილი ინდექსის რეინდექსისას: \"%s.%s\"" + +#: commands/indexcmds.c:3372 commands/indexcmds.c:4228 +#, c-format +msgid "table \"%s.%s\" was reindexed" +msgstr "\"%s.%s\"-ის რეინდექსი დასრულდა" + +#: commands/indexcmds.c:3524 commands/indexcmds.c:3576 +#, c-format +msgid "cannot reindex invalid index \"%s.%s\" concurrently, skipping" +msgstr "არასწორი ინდექსის \"%s.%s\" პარალელური რეინდექსი შეუძლებელია. გამოტოვება" + +#: commands/indexcmds.c:3530 +#, c-format +msgid "cannot reindex exclusion constraint index \"%s.%s\" concurrently, skipping" +msgstr "გამორიცხვის შეზღუდვის ინდექსის \"%s.%s\" პარალელური რეინდექსი შეუძლებელია. გამოტოვება" + +#: commands/indexcmds.c:3685 +#, c-format +msgid "cannot reindex this type of relation concurrently" +msgstr "ამ ტიპის ურთიერთობის პარალელური რეინდექსი შეუძლებელია" + +#: commands/indexcmds.c:3706 +#, c-format +msgid "cannot move non-shared relation to tablespace \"%s\"" +msgstr "არაგაზიარებული ურთიერთობის ცხრილების სივრცეში \"%s\" გადატანა შეუძლებელია" + +#: commands/indexcmds.c:4209 commands/indexcmds.c:4221 +#, c-format +msgid "index \"%s.%s\" was reindexed" +msgstr "\"%s.%s\"-ის რეინდექსი დასრულდა" + +#: commands/indexcmds.c:4211 commands/indexcmds.c:4230 +#, c-format +msgid "%s." +msgstr "%s." + +#: commands/lockcmds.c:92 +#, c-format +msgid "cannot lock relation \"%s\"" +msgstr "ურთიერთობის დაბლოკვა (\"%s\") შეუძლებელია" + +#: commands/matview.c:193 +#, c-format +msgid "CONCURRENTLY cannot be used when the materialized view is not populated" +msgstr "CONCURRENTLY-ის გამოყენება შეუძლებელია, როცა მატერიალიზებული ხედი შევსებული არაა" + +#: commands/matview.c:199 gram.y:18306 +#, c-format +msgid "%s and %s options cannot be used together" +msgstr "პარამეტრები %s და %s შეუთავსებლებია" + +#: commands/matview.c:256 +#, c-format +msgid "cannot refresh materialized view \"%s\" concurrently" +msgstr "მატერიალიზებული ხედის (%s) პარალელური განახლება შეუძლებელია" + +#: 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 "" + +#: commands/matview.c:653 +#, c-format +msgid "new data for materialized view \"%s\" contains duplicate rows without any null columns" +msgstr "ახალი მონაცემები მატერიალიზებულ ხედისთვის \"%s\" დუბლირებულ მწკრივებს შეიცავს, ნულოვანი მწკრივების გარეშე" + +#: commands/matview.c:655 +#, c-format +msgid "Row: %s" +msgstr "მწკრივი: %s" + +#: commands/opclasscmds.c:124 +#, c-format +msgid "operator family \"%s\" does not exist for access method \"%s\"" +msgstr "წვდომის მეთოდისთვის (%2$s) ოპერატორის ოჯახი (%1$s) არ არსებობს" + +#: commands/opclasscmds.c:267 +#, c-format +msgid "operator family \"%s\" for access method \"%s\" already exists" +msgstr "წვდომის მეთოდისთვის (%2$s) ოპერატორის ოჯახი (%1$s) უკვე არსებობს" + +#: commands/opclasscmds.c:416 +#, c-format +msgid "must be superuser to create an operator class" +msgstr "ოპერატორის კლასის შესაქმნელად ზემომხმარებლის უფლებება საჭირო" + +#: commands/opclasscmds.c:493 commands/opclasscmds.c:910 commands/opclasscmds.c:1056 +#, c-format +msgid "invalid operator number %d, must be between 1 and %d" +msgstr "ოპერატორის არასწორი ნომერი: %d. უნდა იყოს დიაპაზონში 1..%d" + +#: commands/opclasscmds.c:538 commands/opclasscmds.c:960 commands/opclasscmds.c:1072 +#, c-format +msgid "invalid function number %d, must be between 1 and %d" +msgstr "ფუნქციის არასწორი ნომერი: %d. უნდა იყოს დიაპაზონში 1..%d" + +#: commands/opclasscmds.c:567 +#, c-format +msgid "storage type specified more than once" +msgstr "საცავის ტიპი ერთზე მეტჯერაა მითითებული" + +#: commands/opclasscmds.c:594 +#, c-format +msgid "storage type cannot be different from data type for access method \"%s\"" +msgstr "წვდომის მეთოდისთვის \"%s\" საცავის ტიპი არ შეიძლება, მონაცემის ტიპისგან განსხვავდებოდეს" + +#: commands/opclasscmds.c:610 +#, c-format +msgid "operator class \"%s\" for access method \"%s\" already exists" +msgstr "ოპერატორის კლასი \"%s\" წვდომის მეთოდისთვის \"%s\" უკვე არსებობს" + +#: commands/opclasscmds.c:638 +#, c-format +msgid "could not make operator class \"%s\" be default for type %s" +msgstr "ოპერატორის კლასის \"%s\" ტიპისთვის %s ნაგულისხმევად დაყენება შეუძლებელია" + +#: commands/opclasscmds.c:641 +#, c-format +msgid "Operator class \"%s\" already is the default." +msgstr "ოპერატორის კლასი \"%s\" უკვე ნაგულისხმებია." + +#: commands/opclasscmds.c:801 +#, c-format +msgid "must be superuser to create an operator family" +msgstr "ოპერატორის ოჯახის შესაქმნელად საჭიროა ზემომხმარებლის უფლებები" + +#: commands/opclasscmds.c:861 +#, c-format +msgid "must be superuser to alter an operator family" +msgstr "ოპერატორის ოჯახის შესაცვლელად საჭიროა ზემომხმარებლის უფლებები" + +#: commands/opclasscmds.c:919 +#, c-format +msgid "operator argument types must be specified in ALTER OPERATOR FAMILY" +msgstr "'ALTER OPERATOR FAMILY'-ში ოპერატორის არგუმენის ტიპების მითითება აუცილებელია" + +#: commands/opclasscmds.c:994 +#, c-format +msgid "STORAGE cannot be specified in ALTER OPERATOR FAMILY" +msgstr "ALTER OPERATOR FAMILY-ში STORAGE-ს ვერ მიუთითებთ" + +#: commands/opclasscmds.c:1128 +#, c-format +msgid "one or two argument types must be specified" +msgstr "უნდა იყოს მითითებული ერთი ან ორი არგუმენტის ტიპი" + +#: commands/opclasscmds.c:1154 +#, c-format +msgid "index operators must be binary" +msgstr "ინდექსის ოპერატორები ბინარული უნდა იყოს" + +#: commands/opclasscmds.c:1173 +#, c-format +msgid "access method \"%s\" does not support ordering operators" +msgstr "სწვდომის მეთოდს (%s) ოპერატორების დალაგების მხარდაჭერა არ გააჩნია" + +#: commands/opclasscmds.c:1184 +#, c-format +msgid "index search operators must return boolean" +msgstr "ინდექსის ძებნის ოპერატორებმა ლოგიკური მნიშვნელობა უნდა დააბრუნონ" + +#: commands/opclasscmds.c:1224 +#, c-format +msgid "associated data types for operator class options parsing functions must match opclass input type" +msgstr "ოპერატორის კლასის პარამეტრების დამუშავების ფუნქციებისთვის ასოცირებული მონაცემის ტიპები opclass-ის შეყვანის ტიპებს უნდა ემთხვეოდეს" + +#: commands/opclasscmds.c:1231 +#, c-format +msgid "left and right associated data types for operator class options parsing functions must match" +msgstr "" + +#: commands/opclasscmds.c:1239 +#, c-format +msgid "invalid operator class options parsing function" +msgstr "კლასის კლასის პარამეტრების დამუშავების ფუნქციის არასწორი ოპერატორი" + +#: commands/opclasscmds.c:1240 +#, c-format +msgid "Valid signature of operator class options parsing function is %s." +msgstr "ოპერატორის კლასის პარამეტრების დამმუშავებელი ფუნქციის სწორი სიგნატურაა %s." + +#: commands/opclasscmds.c:1259 +#, c-format +msgid "btree comparison functions must have two arguments" +msgstr "ორობითი ხის შედარებით ფუნქციებს ორი არგუმენტი უნდა ჰქონდეთ" + +#: commands/opclasscmds.c:1263 +#, c-format +msgid "btree comparison functions must return integer" +msgstr "ორობითი ხის შედარებით ფუნქციებმა ორი მთელი რიცხვი უნდა დააბრუნოს" + +#: commands/opclasscmds.c:1280 +#, c-format +msgid "btree sort support functions must accept type \"internal\"" +msgstr "ორობითი ხის დალაგების ფუნქციები უნდა იღებდნენ ტიპს \"internal\"" + +#: commands/opclasscmds.c:1284 +#, c-format +msgid "btree sort support functions must return void" +msgstr "ორობითი ხის დალაგების ფუნქციებმა არაფერი უნდა დააბრუნონ" + +#: commands/opclasscmds.c:1295 +#, c-format +msgid "btree in_range functions must have five arguments" +msgstr "btree in_range ფუნქციებს 5 არგუმენტი უნდა ჰქონდეთ" + +#: commands/opclasscmds.c:1299 +#, c-format +msgid "btree in_range functions must return boolean" +msgstr "ორობითი ხის in_range ფუნქციები ლოგიკურ მნიშვნელობებს უნდა აბრუნებდნენ" + +#: commands/opclasscmds.c:1315 +#, c-format +msgid "btree equal image functions must have one argument" +msgstr "ორობითი ტოლობის ასლის ფუნქციებს ერთი არგუმენტი უნდა ჰქონდეთ" + +#: commands/opclasscmds.c:1319 +#, c-format +msgid "btree equal image functions must return boolean" +msgstr "ორობითი ტოლობის ასლის ფუნქციებმა ლოგიკური მნიშვნელობა უნდა დააბრუნონ" + +#: commands/opclasscmds.c:1332 +#, c-format +msgid "btree equal image functions must not be cross-type" +msgstr "ორობითი ტოლობის ასლის ფუნქციები ჯვარედინი ტიპის არ უნდა იყოს" + +#: commands/opclasscmds.c:1342 +#, c-format +msgid "hash function 1 must have one argument" +msgstr "ჰეშის ფუნქცია 1-ს ერთი არგუმენტი უნდა ჰქონდეს" + +#: commands/opclasscmds.c:1346 +#, c-format +msgid "hash function 1 must return integer" +msgstr "ჰეშის ფუნქცია 1-მა მთელი რიცხვი უნდა დააბრუნოს" + +#: commands/opclasscmds.c:1353 +#, c-format +msgid "hash function 2 must have two arguments" +msgstr "ჰეშის ფუნქცია 2-ს ორი არგუმენტი უნდა ჰქონდეს" + +#: commands/opclasscmds.c:1357 +#, c-format +msgid "hash function 2 must return bigint" +msgstr "ჰეშის ფუნქცია 2-მა bigint უნდა დააბრინოს" + +#: commands/opclasscmds.c:1382 +#, c-format +msgid "associated data types must be specified for index support function" +msgstr "ინდექსის მხარდაჭერის ფუნქციისთვის ასოცირებული მონაცემის ტიპების მითითება აუცილებელია" + +#: commands/opclasscmds.c:1407 +#, c-format +msgid "function number %d for (%s,%s) appears more than once" +msgstr "ფუნქციის ნომერი %d (%s,%s)-სთვის ერთზე მეტჯერ ჩნდება" + +#: commands/opclasscmds.c:1414 +#, c-format +msgid "operator number %d for (%s,%s) appears more than once" +msgstr "ოპერატორის ნომერი %d (%s,%s)-სთვის ერთზე მეტჯერ ჩნდება" + +#: commands/opclasscmds.c:1460 +#, c-format +msgid "operator %d(%s,%s) already exists in operator family \"%s\"" +msgstr "ოპერატორი %d(%s,%s) ოპერატორის ოჯახში \"%s\" უკვე არსებობს" + +#: commands/opclasscmds.c:1566 +#, c-format +msgid "function %d(%s,%s) already exists in operator family \"%s\"" +msgstr "ფუნქცია %d(%s,%s) ოპერატორის ოჯახში \"%s\" უკვე არსებობს" + +#: commands/opclasscmds.c:1647 +#, c-format +msgid "operator %d(%s,%s) does not exist in operator family \"%s\"" +msgstr "ოპერატორი %d(%s,%s) ოპერატორის ოჯახში \"%s\" არ არსებობს" + +#: commands/opclasscmds.c:1687 +#, c-format +msgid "function %d(%s,%s) does not exist in operator family \"%s\"" +msgstr "ფუნქცია %d(%s,%s) ოპერატორის ოჯახში \"%s\" არ არსებობს" + +#: commands/opclasscmds.c:1718 +#, c-format +msgid "operator class \"%s\" for access method \"%s\" already exists in schema \"%s\"" +msgstr "ოპერატორის კლასი \"%s\" წვდომის მეთოდისთვის \"%s\" სქემაში \"%s\" უკვე არსებობს" + +#: commands/opclasscmds.c:1741 +#, c-format +msgid "operator family \"%s\" for access method \"%s\" already exists in schema \"%s\"" +msgstr "ოპერატორის ოჯახი \"%s\" წვდომის მეთოდისთვის \"%s\" სქემაში \"%s\" უკვე არსებობს" + +#: commands/operatorcmds.c:113 commands/operatorcmds.c:121 +#, c-format +msgid "SETOF type not allowed for operator argument" +msgstr "ტიპის \"SETOF\" ოპერატორის არგუმენტად გამოყენება აკრძალულია" + +#: commands/operatorcmds.c:154 commands/operatorcmds.c:481 +#, c-format +msgid "operator attribute \"%s\" not recognized" +msgstr "ოპერატორის ატრიბუტი უცნობია: \"%s\"" + +#: commands/operatorcmds.c:165 +#, c-format +msgid "operator function must be specified" +msgstr "ოპერატორის ფუნქციის მითითება აუცილებელია" + +#: commands/operatorcmds.c:183 +#, c-format +msgid "operator argument types must be specified" +msgstr "ოპერატორის არგუმენტის ტიპების მითითება აუცილებელია" + +#: commands/operatorcmds.c:187 +#, c-format +msgid "operator right argument type must be specified" +msgstr "საჭიროა ოპერატორის მარჯვენა არგუმენტის ტიპის მითითება" + +#: commands/operatorcmds.c:188 +#, c-format +msgid "Postfix operators are not supported." +msgstr "პოსტფიქსური ოპერატორები მხარდაუჭერელია." + +#: commands/operatorcmds.c:292 +#, c-format +msgid "restriction estimator function %s must return type %s" +msgstr "" + +#: commands/operatorcmds.c:335 +#, c-format +msgid "join estimator function %s has multiple matches" +msgstr "შეერთების შემფასებელ ფუნქციას %s ერთზე მეტი დამთხვევა გააჩნია" + +#: commands/operatorcmds.c:350 +#, c-format +msgid "join estimator function %s must return type %s" +msgstr "შეერთების შემფასებელ ფუნქცია %s ტიპს %s უნდა აბრუნებდეს" + +#: commands/operatorcmds.c:475 +#, c-format +msgid "operator attribute \"%s\" cannot be changed" +msgstr "ოპერატორის ატრიბუტის შეცვლა შეუძლებელია: %s" + +#: commands/policy.c:89 commands/policy.c:382 commands/statscmds.c:149 commands/tablecmds.c:1616 commands/tablecmds.c:2219 commands/tablecmds.c:3520 commands/tablecmds.c:6369 commands/tablecmds.c:9181 commands/tablecmds.c:17062 commands/tablecmds.c:17097 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\" სისტემური კატალოგია" + +#: commands/policy.c:172 +#, c-format +msgid "ignoring specified roles other than PUBLIC" +msgstr "'PUBLIC'-ის გარდა ყველა მითითებული როლი გამოტოვებული იქნება" + +#: commands/policy.c:173 +#, c-format +msgid "All roles are members of the PUBLIC role." +msgstr "ყველა როლი PUBLIC როლის წევრია." + +#: commands/policy.c:606 +#, c-format +msgid "WITH CHECK cannot be applied to SELECT or DELETE" +msgstr "SELECT-ზე და DELETE-ზე WITH CHECK-ის გადატარება შეუძლებელია" + +#: commands/policy.c:615 commands/policy.c:918 +#, c-format +msgid "only WITH CHECK expression allowed for INSERT" +msgstr "\"INSERT\"-სთვის მხოლოდ WITH CHECK გამოსახულებაა დაშვებული" + +#: commands/policy.c:689 commands/policy.c:1141 +#, c-format +msgid "policy \"%s\" for table \"%s\" already exists" +msgstr "წესი \"%s\" ცხრილისთვის \"%s\" უკვე არსებობს" + +#: commands/policy.c:890 commands/policy.c:1169 commands/policy.c:1240 +#, c-format +msgid "policy \"%s\" for table \"%s\" does not exist" +msgstr "წესი \"%s\" ცხრილისთვის \"%s\" არ არსებობს" + +#: commands/policy.c:908 +#, c-format +msgid "only USING expression allowed for SELECT, DELETE" +msgstr "\"SELECT\" და DELETE-სთვის მხოლოდ USING გამოსახულებაა ნებადართული" + +#: commands/portalcmds.c:60 commands/portalcmds.c:181 commands/portalcmds.c:232 +#, c-format +msgid "invalid cursor name: must not be empty" +msgstr "კურსორის არასწორი სახელი. ცარიელი არ უნდა იყოს" + +#: commands/portalcmds.c:72 +#, c-format +msgid "cannot create a cursor WITH HOLD within security-restricted operation" +msgstr "უსაფრთხოებაზე-შეზღუდული ოპერაციის შიგნით კურსორს WITH HOLD ვერ შექმნით" + +#: commands/portalcmds.c:189 commands/portalcmds.c:242 executor/execCurrent.c:70 utils/adt/xml.c:2844 utils/adt/xml.c:3014 +#, c-format +msgid "cursor \"%s\" does not exist" +msgstr "კურსორი \"%s\" არ არსებობს" + +#: commands/prepare.c:75 +#, c-format +msgid "invalid statement name: must not be empty" +msgstr "ოეპრატორის არასწორი სახელი: ცარიელი არ უნდა იყოს" + +#: commands/prepare.c:230 commands/prepare.c:235 +#, c-format +msgid "prepared statement is not a SELECT" +msgstr "მომზადებული ოპერატორი SELECT არაა" + +#: commands/prepare.c:295 +#, c-format +msgid "wrong number of parameters for prepared statement \"%s\"" +msgstr "პარამეტრების არასწორი რაოდენობა მომზადებული გამოსახულებისთვის \"%s\"" + +#: commands/prepare.c:297 +#, c-format +msgid "Expected %d parameters but got %d." +msgstr "მოსალოდნელი %d პარამეტრის მაგიერ მივიღე %d." + +#: commands/prepare.c:330 +#, c-format +msgid "parameter $%d of type %s cannot be coerced to the expected type %s" +msgstr "" + +#: commands/prepare.c:414 +#, c-format +msgid "prepared statement \"%s\" already exists" +msgstr "მომზადებული ოპერატორი \"%s\" უკვე არსებობს" + +#: commands/prepare.c:453 +#, c-format +msgid "prepared statement \"%s\" does not exist" +msgstr "მომზადებული ოპერატორი \"%s\" არ არსებობს" + +#: commands/proclang.c:68 +#, c-format +msgid "must be superuser to create custom procedural language" +msgstr "პროცედურული ენის ხელით მისათითებლად ზემომხმარებლის პრივილეგიებია საჭირო" + +#: commands/publicationcmds.c:131 postmaster/postmaster.c:1205 postmaster/postmaster.c:1303 storage/file/fd.c:3911 utils/init/miscinit.c:1815 +#, c-format +msgid "invalid list syntax in parameter \"%s\"" +msgstr "არასწორი სიის სინტაქსი პარამეტრში \"%s\"" + +#: commands/publicationcmds.c:150 +#, c-format +msgid "unrecognized value for publication option \"%s\": \"%s\"" +msgstr "პუბლიკაციის პარამეტრის (\"%s\") უცნობი მნიშვნელობა: \"%s\"" + +#: commands/publicationcmds.c:164 +#, c-format +msgid "unrecognized publication parameter: \"%s\"" +msgstr "პუბლიკაციის უცნობი პარამეტრი: \"%s\"" + +#: commands/publicationcmds.c:205 +#, c-format +msgid "no schema has been selected for CURRENT_SCHEMA" +msgstr "'CURRENT_SCHEMA'-სთვის სქემა არჩეული არაა" + +#: commands/publicationcmds.c:502 +msgid "System columns are not allowed." +msgstr "სისტემური სვეტები დაუშვებელია." + +#: commands/publicationcmds.c:509 commands/publicationcmds.c:514 commands/publicationcmds.c:531 +msgid "User-defined operators are not allowed." +msgstr "მომხმარებლის მიერ აღწერილი ოპერატორები დაშვებული არაა." + +#: 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 "დაშვებულია მხოლოდ სვეტები, მუდმივები, ჩაშენებული ოპერატორები, ჩაშენებული მონაცემის ტიპები, ჩაშენებული კოლაციები და არადადუმებადი ჩაშენებული ფუნქციები." + +#: commands/publicationcmds.c:567 +msgid "User-defined types are not allowed." +msgstr "მომხმარებლის მიერ განსაზღვრული ტიპები დაშვებული არაა." + +#: commands/publicationcmds.c:570 +msgid "User-defined or built-in mutable functions are not allowed." +msgstr "მომხმარებლის-მიერ-აღწერილი ან ჩაშენებული დადუმებადი ფუნქციები დაშვებული არაა." + +#: commands/publicationcmds.c:573 +msgid "User-defined collations are not allowed." +msgstr "მომხმარებლის მიერ განსაზღვრული კოლაციები დაუშვებელია." + +#: commands/publicationcmds.c:583 +#, c-format +msgid "invalid publication WHERE expression" +msgstr "პუბლიკაციის არასწორი WHERE გამოსახულება" + +#: commands/publicationcmds.c:636 +#, c-format +msgid "cannot use publication WHERE clause for relation \"%s\"" +msgstr "ურთიერთობისთვის \"%s\"გამოცემის პირობას WHERE ვერ გამოიყენებთ" + +#: commands/publicationcmds.c:638 +#, c-format +msgid "WHERE clause cannot be used for a partitioned table when %s is false." +msgstr "დაყოფილ ცხრილზე პირობის WHERE გამოყენება შეუძლებელია, როცა %s ჭეშმარიტი არაა." + +#: commands/publicationcmds.c:709 commands/publicationcmds.c:723 +#, c-format +msgid "cannot use column list for relation \"%s.%s\" in publication \"%s\"" +msgstr "შეუძლებელია სვეტების სიის გამოყენება ურთიერთობისთვის \"%s.%s\" პუბლიკაციაში \"%s\"" + +#: commands/publicationcmds.c:712 +#, c-format +msgid "Column lists cannot be specified in publications containing FOR TABLES IN SCHEMA elements." +msgstr "გამოცემებში რომლებიც ელემენტებს FOR TABLES IN SCHEMA შეიცავენ, სვეტების სიას ვერ მიუთითებთ." + +#: commands/publicationcmds.c:726 +#, c-format +msgid "Column lists cannot be specified for partitioned tables when %s is false." +msgstr "სვეტების სია შეუძლებელია მიუთითოთ დაყოფილ ცხრილს, როცა %s false-ა." + +#: commands/publicationcmds.c:761 +#, c-format +msgid "must be superuser to create FOR ALL TABLES publication" +msgstr "'FOR ALL TABLES' პუბლიკაციის შექმნისთვის ზემომხმარებლის უფლებები აუცილებელია" + +#: commands/publicationcmds.c:832 +#, c-format +msgid "must be superuser to create FOR TABLES IN SCHEMA publication" +msgstr "\"FOR TABLES IN SCHEMA\" პუბლიკაციის შესაქმნელად ზემომხმარებელი უნდა ბრძანდებოდეთ" + +#: commands/publicationcmds.c:868 +#, c-format +msgid "wal_level is insufficient to publish logical changes" +msgstr "wal_level არასაკმარისია ლოგიკური ცვლილებების გამოსაქვეყნებლად" + +#: commands/publicationcmds.c:869 +#, c-format +msgid "Set wal_level to \"logical\" before creating subscriptions." +msgstr "გამოწერების შექმნამდე საჭიროა wal_level -ის \"logical\" (ლოგიკურზე) დაყენება." + +#: commands/publicationcmds.c:965 commands/publicationcmds.c:973 +#, c-format +msgid "cannot set parameter \"%s\" to false for publication \"%s\"" +msgstr "პარამეტრის (\"%s\") false-ზე დაყენება პუბლიკაციისთვის \"%s\" შეუძლებელია" + +#: commands/publicationcmds.c:968 +#, c-format +msgid "The publication contains a WHERE clause for partitioned table \"%s\", which is not allowed when \"%s\" is false." +msgstr "გამოცემა შეიცავს პირობას WHERE დაყოფილი ცხრილისთვის \"%s\", რაც, მაშინ, როცა \"%s\" ჭეშმარიტი არა, დაშვებული არაა." + +#: commands/publicationcmds.c:976 +#, c-format +msgid "The publication contains a column list for partitioned table \"%s\", which is not allowed when \"%s\" is false." +msgstr "გამოცემა შეიცავს სვეტების სიას დაყოფილი ცხრილისთვის \"%s\", რაც მაშინ, როცა \"%s\" ჭეშმარიტი არაა, დაუშვებელია." + +#: commands/publicationcmds.c:1299 +#, c-format +msgid "cannot add schema to publication \"%s\"" +msgstr "პუბლიკაციისთვის (%s) სქემის დამატება შეუძლებელია" + +#: 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 "სქემების დამატება შეუძლებელია, თუ ნებისმიერი ცხრილი, რომელიც შეიცავს სვეტების სიას, რომელიც უკვე გამოცემის ნაწილია." + +#: commands/publicationcmds.c:1349 +#, c-format +msgid "must be superuser to add or set schemas" +msgstr "სქემის დამატების ან დაყენებისთვის ზემომხმარებლის უფლებებია საჭირო" + +#: commands/publicationcmds.c:1358 commands/publicationcmds.c:1366 +#, c-format +msgid "publication \"%s\" is defined as FOR ALL TABLES" +msgstr "პუბლიკაცია %s აღწერილია, როგორც FOR ALL TABLES" + +#: commands/publicationcmds.c:1360 +#, c-format +msgid "Schemas cannot be added to or dropped from FOR ALL TABLES publications." +msgstr "სქემების FOR ALL TABLES გამოცემებიდან წაშლა ან მასში ჩამატება შეუძლებელია." + +#: commands/publicationcmds.c:1368 +#, c-format +msgid "Tables cannot be added to or dropped from FOR ALL TABLES publications." +msgstr "FOR ALL TABLES გამოცემებში ცხრილების ჩამატება ან მათი წაშლა შეუძლებელია." + +#: commands/publicationcmds.c:1392 commands/publicationcmds.c:1431 commands/publicationcmds.c:1968 utils/cache/lsyscache.c:3592 +#, c-format +msgid "publication \"%s\" does not exist" +msgstr "პუბლიკაცია \"%s\" არ არსებობს" + +#: commands/publicationcmds.c:1594 commands/publicationcmds.c:1657 +#, c-format +msgid "conflicting or redundant WHERE clauses for table \"%s\"" +msgstr "კონფლიქტური ან ზედმეტი WHERE პირობები ცხრილისთვის \"%s\"" + +#: commands/publicationcmds.c:1601 commands/publicationcmds.c:1669 +#, c-format +msgid "conflicting or redundant column lists for table \"%s\"" +msgstr "კონფლიქტური ან ზედმეტი სვეტის სიები ცხრილისთვის \"%s\"" + +#: commands/publicationcmds.c:1803 +#, c-format +msgid "column list must not be specified in ALTER PUBLICATION ... DROP" +msgstr "column list must not be specified in ALTER PUBLICATION ... DROP" + +#: commands/publicationcmds.c:1815 +#, c-format +msgid "relation \"%s\" is not part of the publication" +msgstr "ურთიერთობა (%s) პუბლიკაციის ნაწილს არ წარმოადგენს" + +#: commands/publicationcmds.c:1822 +#, c-format +msgid "cannot use a WHERE clause when removing a table from a publication" +msgstr "გამოცემის ცხრილიდან წაშლისას პირობას WHERE ვერ გამოიყენებთ" + +#: commands/publicationcmds.c:1882 +#, c-format +msgid "tables from schema \"%s\" are not part of the publication" +msgstr "ცხრილი სქემიდან \"%s\" პუბლიკაციის ნაწილს არ წარმოადგენს" + +#: commands/publicationcmds.c:1925 commands/publicationcmds.c:1932 +#, c-format +msgid "permission denied to change owner of publication \"%s\"" +msgstr "პუბლიკაციის (%s) მფლობელის შეცვლის წვდომა აკრძალულია" + +#: commands/publicationcmds.c:1927 +#, c-format +msgid "The owner of a FOR ALL TABLES publication must be a superuser." +msgstr "FOR ALL TABLES გამოცემის მფლობელი ზემომხმარებელი უნდა იყოს." + +#: commands/publicationcmds.c:1934 +#, c-format +msgid "The owner of a FOR TABLES IN SCHEMA publication must be a superuser." +msgstr "FOR TABLES IN SCHEMA პუბლიკაციის მფლობელი ზემომხმარებელი უნდა იყოს." + +#: commands/publicationcmds.c:2000 +#, c-format +msgid "publication with OID %u does not exist" +msgstr "პუბლიკაცია OID-ით %u არ არსებობს" + +#: commands/schemacmds.c:109 commands/schemacmds.c:289 +#, c-format +msgid "unacceptable schema name \"%s\"" +msgstr "სქემის დაუშვებელი სახელი: \"%s\"" + +#: commands/schemacmds.c:110 commands/schemacmds.c:290 +#, c-format +msgid "The prefix \"pg_\" is reserved for system schemas." +msgstr "პრეფიქსი \"pg_\" დაცულია სისტემური სქემებისთვის." + +#: commands/schemacmds.c:134 +#, c-format +msgid "schema \"%s\" already exists, skipping" +msgstr "სქემა (\"%s\") უკვე არსებობს, გამოტოვება" + +#: commands/seclabel.c:131 +#, c-format +msgid "no security label providers have been loaded" +msgstr "უსაფრთხოების ჭდის მომწოდებლები არ ჩატვირთულა" + +#: commands/seclabel.c:135 +#, c-format +msgid "must specify provider when multiple security label providers have been loaded" +msgstr "როცა ჩატვირთულია ერთზე მეტი უსაფრთხოების ჭდის მომწოდებელი, მისი აშკარად მითითება აუცილებელია" + +#: commands/seclabel.c:153 +#, c-format +msgid "security label provider \"%s\" is not loaded" +msgstr "უსაფრთხოების ჭდის მომწოდებელი \"%s\" ჯერ ჩატვირთული არააა" + +#: commands/seclabel.c:160 +#, c-format +msgid "security labels are not supported for this type of object" +msgstr "ამ ტიპის ობიექტისთვის უსაფრთხოების ჭდეები მხარდაჭერილი არაა" + +#: commands/seclabel.c:193 +#, c-format +msgid "cannot set security label on relation \"%s\"" +msgstr "ურთიერთობაზე \"%s\" უსაფრთხოების ჭდის დადება შეუძლებელია" + +#: commands/sequence.c:754 +#, c-format +msgid "nextval: reached maximum value of sequence \"%s\" (%lld)" +msgstr "nextval: მიღწეულია მაქსიმალური მნიშვნელობა მიმდევრობისთვის \"%s\" (%lld)" + +#: commands/sequence.c:773 +#, c-format +msgid "nextval: reached minimum value of sequence \"%s\" (%lld)" +msgstr "nextval: მიღწეულია მინიმალური მნიშვნელობა მიმდევრობისთვის \"%s\" (%lld)" + +#: commands/sequence.c:891 +#, c-format +msgid "currval of sequence \"%s\" is not yet defined in this session" +msgstr "მიმდევრობის \"%s\" მიმდინარე მნიშვნელობა ამ სესიაში ჯერ აღწერილი არაა" + +#: commands/sequence.c:910 commands/sequence.c:916 +#, c-format +msgid "lastval is not yet defined in this session" +msgstr "ამ სესიაში lastval ჯერ აღწერილი არაა" + +#: commands/sequence.c:996 +#, 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 +#, c-format +msgid "invalid sequence option SEQUENCE NAME" +msgstr "მიმდევრობის არასწორი პარამეტრი SEQUENCE NAME" + +#: commands/sequence.c:1391 +#, c-format +msgid "identity column type must be smallint, integer, or bigint" +msgstr "იდენტიფიკაციის სვეტის ტიპი smallint, integer ან bigint უნდა იყოს" + +#: commands/sequence.c:1392 +#, c-format +msgid "sequence type must be smallint, integer, or bigint" +msgstr "მიმდევრობის ტიპი smallint, integer ან bigint უნდა იყოს" + +#: commands/sequence.c:1426 +#, c-format +msgid "INCREMENT must not be zero" +msgstr "INCREMENT ნული არ უნდა იყოს" + +#: commands/sequence.c:1474 +#, c-format +msgid "MAXVALUE (%lld) is out of range for sequence data type %s" +msgstr "MAXVALUE (%lld) მიმდევრობის მონაცემის ტიპის დიაპაზონს გარეთაა %s" + +#: commands/sequence.c:1506 +#, c-format +msgid "MINVALUE (%lld) is out of range for sequence data type %s" +msgstr "MINVALUE (%lld) მიმდევრობის მონაცემის ტიპის დიაპაზონს გარეთაა %s" + +#: commands/sequence.c:1514 +#, c-format +msgid "MINVALUE (%lld) must be less than MAXVALUE (%lld)" +msgstr "MINVALUE (%lld)-ი MAXVALUE (%lld)-ზე ნაკლები არ უნდა იყოს" + +#: commands/sequence.c:1535 +#, c-format +msgid "START value (%lld) cannot be less than MINVALUE (%lld)" +msgstr "START -ის მნიშვნელობა (%lld)-ი MINVALUE (%lld)-ზე ნაკლები არ უნდა იყოს" + +#: commands/sequence.c:1541 +#, c-format +msgid "START value (%lld) cannot be greater than MAXVALUE (%lld)" +msgstr "START -ის მნიშვნელობა (%lld)-ი MAXVALUE (%lld)-ზე მეტი არ უნდა იყოს" + +#: commands/sequence.c:1565 +#, c-format +msgid "RESTART value (%lld) cannot be less than MINVALUE (%lld)" +msgstr "RESTART -ის მნიშვნელობა (%lld) MINVALUE (%lld)-ზე ნაკლები არ უნდა იყოს" + +#: commands/sequence.c:1571 +#, c-format +msgid "RESTART value (%lld) cannot be greater than MAXVALUE (%lld)" +msgstr "RESTART -ის მნიშვნელობა (%lld) MAXVALUE (%lld)-ზე დიდი არ უნდა იყოს" + +#: commands/sequence.c:1582 +#, c-format +msgid "CACHE (%lld) must be greater than zero" +msgstr "CACHE (%lld) ნულზე მეტი უნდა იყოს" + +#: commands/sequence.c:1618 +#, c-format +msgid "invalid OWNED BY option" +msgstr "არასწორი პარამეტრი OWNED BY" + +#: commands/sequence.c:1619 +#, c-format +msgid "Specify OWNED BY table.column or OWNED BY NONE." +msgstr "მიუთითეთ OWNED BY ცხრილი.სვეტი ან OWNED BY NONE." + +#: commands/sequence.c:1644 +#, c-format +msgid "sequence cannot be owned by relation \"%s\"" +msgstr "მიმდევრობის მფლობელი ურთიერთობა %s ვერ იქნება" + +#: commands/sequence.c:1652 +#, c-format +msgid "sequence must have same owner as table it is linked to" +msgstr "მიმდევრობას იგივე მფლობელი უნდა ჰყავდეს, რაც ცხრილს, რომელზედაც ის მიბმულია" + +#: commands/sequence.c:1656 +#, c-format +msgid "sequence must be in same schema as table it is linked to" +msgstr "მიმდევრობას იგივე სქემა უნდა ჰქონდეს, რაც ცხრილს, რომელზედაც ის მიბმულია" + +#: commands/sequence.c:1678 +#, c-format +msgid "cannot change ownership of identity sequence" +msgstr "იდენტიფიკაციის მიმდევრობის მფლობელის შეცვლა შეუძლებელია" + +#: commands/sequence.c:1679 commands/tablecmds.c:13891 commands/tablecmds.c:16488 +#, c-format +msgid "Sequence \"%s\" is linked to table \"%s\"." +msgstr "მიმდევრობა %s მიბმულია ცხრილზე \"%s\"." + +#: commands/statscmds.c:109 commands/statscmds.c:118 tcop/utility.c:1887 +#, c-format +msgid "only a single relation is allowed in CREATE STATISTICS" +msgstr "'CREATE STATISTICS'-ში მხოლოდ ერთი ურთიერთობაა დაშვებული" + +#: commands/statscmds.c:136 +#, c-format +msgid "cannot define statistics for relation \"%s\"" +msgstr "სტატისტიკის აღწერა ურთიერთობისთვის %s შეუძლებელია" + +#: commands/statscmds.c:190 +#, c-format +msgid "statistics object \"%s\" already exists, skipping" +msgstr "სტატისტიკის ობიექტის %s უკვე არსებობს. გამოტოვება" + +#: commands/statscmds.c:198 +#, c-format +msgid "statistics object \"%s\" already exists" +msgstr "სტატისტიკის ობიექტი უკვე არსებობს: %s" + +#: commands/statscmds.c:209 +#, c-format +msgid "cannot have more than %d columns in statistics" +msgstr "სტატისტიკაში %d-ზე მეტი სვეტი ვერ გექნებათ" + +#: commands/statscmds.c:250 commands/statscmds.c:273 commands/statscmds.c:307 +#, c-format +msgid "statistics creation on system columns is not supported" +msgstr "სისტემურ სვეტებზე სტატისტიკის შექმნა შეუძლებელია" + +#: commands/statscmds.c:257 commands/statscmds.c:280 +#, c-format +msgid "column \"%s\" cannot be used in statistics because its type %s has no default btree operator class" +msgstr "სვეტს \"%s\" სტატისტიკაში ვერ გამოიყენებთ, რადგან მის ტიპს (\"%s\") ნაგულისხმევი ორობითი ხის ოპერატორის კლასი არ გააჩნია" + +#: commands/statscmds.c:324 +#, c-format +msgid "expression cannot be used in multivariate statistics because its type %s has no default btree operator class" +msgstr "" + +#: commands/statscmds.c:345 +#, c-format +msgid "when building statistics on a single expression, statistics kinds may not be specified" +msgstr "როცა სტატისტიკის აგება ერთ გამოსახულებაზე მიმდინარეობს, სტატისტიკის ტიპის მითითება შეუძლებელია" + +#: commands/statscmds.c:374 +#, c-format +msgid "unrecognized statistics kind \"%s\"" +msgstr "სტატისტიკის უცნობი ტიპი: \"%s\"" + +#: commands/statscmds.c:403 +#, c-format +msgid "extended statistics require at least 2 columns" +msgstr "გაფართოებულ სტატისტიკას მინიმუმ 2 სვეტი სჭირდება" + +#: commands/statscmds.c:421 +#, c-format +msgid "duplicate column name in statistics definition" +msgstr "სვეტის დუბლირებული სახელი სტატისტიკის აღწერაში" + +#: commands/statscmds.c:456 +#, c-format +msgid "duplicate expression in statistics definition" +msgstr "დუბლირებული გამოსახულება სტატისტიკის აღწერაში" + +#: commands/statscmds.c:619 commands/tablecmds.c:8180 +#, c-format +msgid "statistics target %d is too low" +msgstr "სტატისტიკის სამიზნე %d ძალიან დაბალია" + +#: commands/statscmds.c:627 commands/tablecmds.c:8188 +#, c-format +msgid "lowering statistics target to %d" +msgstr "სტატისტიკის სამიზნის ჩამოწევა %d-მდე" + +#: commands/statscmds.c:650 +#, c-format +msgid "statistics object \"%s.%s\" does not exist, skipping" +msgstr "სტატისტიკის ობიექტი \"%s.%s\" არ არსებობს, გამოტოვება" + +#: commands/subscriptioncmds.c:271 commands/subscriptioncmds.c:359 +#, c-format +msgid "unrecognized subscription parameter: \"%s\"" +msgstr "უცნობი გამოწერის პარამეტრი: \"%s\"" + +#: commands/subscriptioncmds.c:327 replication/pgoutput/pgoutput.c:398 +#, c-format +msgid "unrecognized origin value: \"%s\"" +msgstr "\"origin\"-ის უცნობი მნიშვნელობა: \"%s\"" + +#: commands/subscriptioncmds.c:350 +#, c-format +msgid "invalid WAL location (LSN): %s" +msgstr "\"WAL\"-ის არასწორი მდებარეობა (LSN): %s" + +#. translator: both %s are strings of the form "option = value" +#: commands/subscriptioncmds.c:374 commands/subscriptioncmds.c:381 commands/subscriptioncmds.c:388 commands/subscriptioncmds.c:410 commands/subscriptioncmds.c:426 +#, c-format +msgid "%s and %s are mutually exclusive options" +msgstr "%s და %s ურთიერთგამომრიცხავი პარამეტრებია" + +#. translator: both %s are strings of the form "option = value" +#: commands/subscriptioncmds.c:416 commands/subscriptioncmds.c:432 +#, c-format +msgid "subscription with %s must also set %s" +msgstr "%s-ის გამოწერამ %s-იც უნდა დააყენოს" + +#: commands/subscriptioncmds.c:494 +#, c-format +msgid "could not receive list of publications from the publisher: %s" +msgstr "გამომცემლისგან პუბლიკაციების სიის მიღება შეუძლებელია: %s" + +#: commands/subscriptioncmds.c:526 +#, c-format +msgid "publication %s does not exist on the publisher" +msgid_plural "publications %s do not exist on the publisher" +msgstr[0] "პუბლიკაცია \"%s\" არ არსებობს" +msgstr[1] "პუბლიკაცია \"%s\" არ არსებობს" + +#: commands/subscriptioncmds.c:614 +#, c-format +msgid "permission denied to create subscription" +msgstr "გამოწერის შექმნის წვდომა აკრძალულია" + +#: commands/subscriptioncmds.c:615 +#, c-format +msgid "Only roles with privileges of the \"%s\" role may create subscriptions." +msgstr "გამოწერების შექმნა მხოლოდ \"%s\" როლის პრივილეგიების მქონეებს შეუძლიათ." + +#: commands/subscriptioncmds.c:745 commands/subscriptioncmds.c:878 replication/logical/tablesync.c:1309 replication/logical/worker.c:4616 +#, c-format +msgid "could not connect to the publisher: %s" +msgstr "პუბლიკაციის სერვერთან მიერთების პრობლემა: %s" + +#: commands/subscriptioncmds.c:816 +#, c-format +msgid "created replication slot \"%s\" on publisher" +msgstr "გამომცემელზე შექმნილია რეპლიკაციის სეტი \"%s\"" + +#: commands/subscriptioncmds.c:828 +#, c-format +msgid "subscription was created, but is not connected" +msgstr "გამოწერა შეიქმნა, მაგრამ მიერთებული არაა" + +#: 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 "რეპლიკაციის დასაწყებად ხელით უნდა შექმნათ რეპლიკაციის სლოტი, ჩართოთ გამოწერა და განაახლოთ გამოწერა." + +#: commands/subscriptioncmds.c:1096 commands/subscriptioncmds.c:1502 commands/subscriptioncmds.c:1885 utils/cache/lsyscache.c:3642 +#, c-format +msgid "subscription \"%s\" does not exist" +msgstr "გამოწერა \"%s\" არ არსებობს" + +#: commands/subscriptioncmds.c:1152 +#, c-format +msgid "cannot set %s for enabled subscription" +msgstr "ჩართული გამოწერისთვის %s-ის დაყენება შეუძლებელია" + +#: commands/subscriptioncmds.c:1227 +#, c-format +msgid "cannot enable subscription that does not have a slot name" +msgstr "გამოწერების, რომლებსაც სლოტის სახელი არ აქვთ, ჩართვა შეუძლებელია" + +#: commands/subscriptioncmds.c:1271 commands/subscriptioncmds.c:1322 +#, c-format +msgid "ALTER SUBSCRIPTION with refresh is not allowed for disabled subscriptions" +msgstr "ALTER SUBSCRIPTION განახლებით დაუშვებელია გათიშული გამოწერებისთვის" + +#: commands/subscriptioncmds.c:1272 +#, c-format +msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)." +msgstr "გამოიყენეთ ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (განახლება = გამორთულია)." + +#: commands/subscriptioncmds.c:1281 commands/subscriptioncmds.c:1336 +#, c-format +msgid "ALTER SUBSCRIPTION with refresh and copy_data is not allowed when two_phase is enabled" +msgstr "ALTER SUBSCRIPTION ... განახლებით და copy_data-ით დაუშვებელია, როცა two_phase ჩართულია" + +#: commands/subscriptioncmds.c:1282 +#, c-format +msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION with refresh = false, or with copy_data = false, or use DROP/CREATE SUBSCRIPTION." +msgstr "გამოიყენეთ ALTER SUBSCRIPTION ... SET PUBLICATION refresh = false-ით, copy_data = false-ით ან გამოიყენეთ DROP/CREATE SUBSCRIPTION." + +#. translator: %s is an SQL ALTER command +#: commands/subscriptioncmds.c:1324 +#, c-format +msgid "Use %s instead." +msgstr "ამის ნაცვლად %s გამოიყენეთ." + +#. translator: %s is an SQL ALTER command +#: commands/subscriptioncmds.c:1338 +#, c-format +msgid "Use %s with refresh = false, or with copy_data = false, or use DROP/CREATE SUBSCRIPTION." +msgstr "გამოიყენეთ %s 'refresh = false'-ით ან 'copy_data = false'-ით ან გამოიყენეთ DROP/CREATE SUBSCRIPTION." + +#: commands/subscriptioncmds.c:1360 +#, c-format +msgid "ALTER SUBSCRIPTION ... REFRESH is not allowed for disabled subscriptions" +msgstr "ALTER SUBSCRIPTION ... REFRESH დაუშვებელია გათიშული გამოწერებისთვის" + +#: commands/subscriptioncmds.c:1385 +#, c-format +msgid "ALTER SUBSCRIPTION ... REFRESH with copy_data is not allowed when two_phase is enabled" +msgstr "ALTER SUBSCRIPTION ... REFRESH -ი copy_data-ით დაუშვებელია, როცა two_phase ჩართულია" + +#: commands/subscriptioncmds.c:1386 +#, c-format +msgid "Use ALTER SUBSCRIPTION ... REFRESH with copy_data = false, or use DROP/CREATE SUBSCRIPTION." +msgstr "გამოიყენეთ ALTER SUBSCRIPTION ... REFRESH 'copy_data = false'-ით ან DROP/CREATE SUBSCRIPTION." + +#: commands/subscriptioncmds.c:1421 +#, c-format +msgid "skip WAL location (LSN %X/%X) must be greater than origin LSN %X/%X" +msgstr "გამოტოვება WAL-ის მდებარეობა (LSN %X/%X) საწყის LSN-ზე %X/%X დიდი უნდა იყოს" + +#: commands/subscriptioncmds.c:1506 +#, c-format +msgid "subscription \"%s\" does not exist, skipping" +msgstr "გამოწერა \"%s\" არ არსებობს. გამოტოვება" + +#: commands/subscriptioncmds.c:1775 +#, c-format +msgid "dropped replication slot \"%s\" on publisher" +msgstr "გამომცემელზე რეპლიკაციის სეტი \"%s\" წაშლილია" + +#: commands/subscriptioncmds.c:1784 commands/subscriptioncmds.c:1792 +#, c-format +msgid "could not drop replication slot \"%s\" on publisher: %s" +msgstr "შეუძლებელია რეპლიკაციის სლოტის \"%s\" წაშლა გამომცემელზე: %s" + +#: commands/subscriptioncmds.c:1917 +#, c-format +msgid "subscription with OID %u does not exist" +msgstr "გამოწერა OID-ით %u არ არსებობს" + +#: commands/subscriptioncmds.c:1988 commands/subscriptioncmds.c:2113 +#, c-format +msgid "could not receive list of replicated tables from the publisher: %s" +msgstr "შეცდომა რეპლიცირებული ცხრილების სიის მიგება გამომცემლისგან: %s" + +#: commands/subscriptioncmds.c:2024 +#, c-format +msgid "subscription \"%s\" requested copy_data with origin = NONE but might copy data that had a different origin" +msgstr "" + +#: commands/subscriptioncmds.c:2026 +#, c-format +msgid "The subscription being created subscribes to a publication (%s) that contains tables that are written to by other subscriptions." +msgid_plural "The subscription being created subscribes to publications (%s) that contain tables that are written to by other subscriptions." +msgstr[0] "" +msgstr[1] "" + +#: commands/subscriptioncmds.c:2029 +#, c-format +msgid "Verify that initial data copied from the publisher tables did not come from other origins." +msgstr "" + +#: commands/subscriptioncmds.c:2135 replication/logical/tablesync.c:876 replication/pgoutput/pgoutput.c:1115 +#, c-format +msgid "cannot use different column lists for table \"%s.%s\" in different publications" +msgstr "" + +#: commands/subscriptioncmds.c:2185 +#, c-format +msgid "could not connect to publisher when attempting to drop replication slot \"%s\": %s" +msgstr "რეპლიკაციის სლოტის \"%s\" წაშლის მცდელობისას გამომცემელთან მიერთება შეუძლებელია: %s" + +#. translator: %s is an SQL ALTER command +#: commands/subscriptioncmds.c:2188 +#, c-format +msgid "Use %s to disable the subscription, and then use %s to disassociate it from the slot." +msgstr "გამოწერის გასათიშად გამოიყენეთ %s, შემდეგ კი, სლოტთან ასოცირების მოსახსნელად, %s გამოიყენეთ." + +#: commands/subscriptioncmds.c:2219 +#, c-format +msgid "publication name \"%s\" used more than once" +msgstr "პუბლიკაციის სახელი \"%s\" ერთზე მეტჯერ გამოიყენება" + +#: commands/subscriptioncmds.c:2263 +#, c-format +msgid "publication \"%s\" is already in subscription \"%s\"" +msgstr "პუბლიკაცია \"%s\" უკვე \"%s\" გამოწერაშია" + +#: commands/subscriptioncmds.c:2277 +#, c-format +msgid "publication \"%s\" is not in subscription \"%s\"" +msgstr "პუბლიკაცია \"%s\" \"%s\" გამოწერაში არაა" + +#: commands/subscriptioncmds.c:2288 +#, c-format +msgid "cannot drop all the publications from a subscription" +msgstr "გამოწერიდან ყველა პუბლიკაციას ვერ წაშლით" + +#: commands/subscriptioncmds.c:2345 +#, c-format +msgid "%s requires a Boolean value or \"parallel\"" +msgstr "%s -ს ლოგიკური მნიშვნელობა უნდა ჰქონდეს, ან \"parallel\"" + +#: commands/tablecmds.c:246 commands/tablecmds.c:288 +#, c-format +msgid "table \"%s\" does not exist" +msgstr "ცხრილი არ არსებობს: %s" + +#: commands/tablecmds.c:247 commands/tablecmds.c:289 +#, c-format +msgid "table \"%s\" does not exist, skipping" +msgstr "ცხრილი \"%s\" არ არსებობს. გამოტოვება" + +#: commands/tablecmds.c:249 commands/tablecmds.c:291 +msgid "Use DROP TABLE to remove a table." +msgstr "ცხრილის წასაშლელად გამოიყენეთ DROP TABLE." + +#: commands/tablecmds.c:252 +#, c-format +msgid "sequence \"%s\" does not exist" +msgstr "მიმდევრობა \"%s\" არ არსებობს" + +#: commands/tablecmds.c:253 +#, c-format +msgid "sequence \"%s\" does not exist, skipping" +msgstr "მიმდევრობა \"%s\" არ არსებობს. გამოტოვება" + +#: commands/tablecmds.c:255 +msgid "Use DROP SEQUENCE to remove a sequence." +msgstr "მიმდევრობის წასაშლელად გამოიყენეთ DROP SEQUENCE." + +#: commands/tablecmds.c:258 +#, c-format +msgid "view \"%s\" does not exist" +msgstr "ხედი \"%s\" არ არსებობს" + +#: commands/tablecmds.c:259 +#, c-format +msgid "view \"%s\" does not exist, skipping" +msgstr "ხედი \"%s\" არ არსებობს. გამოტოვება" + +#: commands/tablecmds.c:261 +msgid "Use DROP VIEW to remove a view." +msgstr "ხედის წასაშლელად გამოიყენეთ DROP VIEW." + +#: commands/tablecmds.c:264 +#, c-format +msgid "materialized view \"%s\" does not exist" +msgstr "მატერიალიზებული ხედი \"%s\" არ არსებობს" + +#: commands/tablecmds.c:265 +#, c-format +msgid "materialized view \"%s\" does not exist, skipping" +msgstr "მატერიალიზებული ხედი \"%s\" არ არსებობს. გამოტოვება" + +#: commands/tablecmds.c:267 +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:18978 parser/parse_utilcmd.c:2245 +#, c-format +msgid "index \"%s\" does not exist" +msgstr "ინდექსი \"%s\" არ არსებობს" + +#: commands/tablecmds.c:271 commands/tablecmds.c:295 +#, c-format +msgid "index \"%s\" does not exist, skipping" +msgstr "ინდექსი \"%s\" არ არსებობს, გამოტოვება" + +#: commands/tablecmds.c:273 commands/tablecmds.c:297 +msgid "Use DROP INDEX to remove an index." +msgstr "ინდექსის წასაშლელად გამოიყენეთ DROP INDEX." + +#: commands/tablecmds.c:278 +#, c-format +msgid "\"%s\" is not a type" +msgstr "\"%s\" ტიპი არაა" + +#: commands/tablecmds.c:279 +msgid "Use DROP TYPE to remove a type." +msgstr "ტიპის წასაშლელად გამოიყენეთ DROP TYPE." + +#: commands/tablecmds.c:282 commands/tablecmds.c:13730 commands/tablecmds.c:16193 +#, c-format +msgid "foreign table \"%s\" does not exist" +msgstr "გარე ცხრილი \"%s\" არ არსებობს" + +#: commands/tablecmds.c:283 +#, c-format +msgid "foreign table \"%s\" does not exist, skipping" +msgstr "გარე ცხრილი \"%s\" არ არსებობს. გამოტოვება" + +#: commands/tablecmds.c:285 +msgid "Use DROP FOREIGN TABLE to remove a foreign table." +msgstr "გარე ცხრილის წასაშლელად DROP FOREIGN TABLE გამოიყენეთ." + +#: commands/tablecmds.c:700 +#, c-format +msgid "ON COMMIT can only be used on temporary tables" +msgstr "ON COMMIT მხოლოდ დროებით ცხრილებზე გამოიყენება" + +#: commands/tablecmds.c:731 +#, c-format +msgid "cannot create temporary table within security-restricted operation" +msgstr "უსაფრთხოებაზე-შეზღუდული ოპერაციის შიგნით დროებითი ცხრილის შექმნა შეუძლებელია" + +#: commands/tablecmds.c:767 commands/tablecmds.c:15038 +#, c-format +msgid "relation \"%s\" would be inherited from more than once" +msgstr "ურთიერთობა \"%s\" მემკვირდრეობით ერზე მეტჯერ იქნებოდა მიღებული" + +#: commands/tablecmds.c:955 +#, c-format +msgid "specifying a table access method is not supported on a partitioned table" +msgstr "ცხრილთან წვდომის მითითება დაყოფილ ცხრილზე მხარდაჭერილი არაა" + +#: commands/tablecmds.c:1048 +#, c-format +msgid "\"%s\" is not partitioned" +msgstr "\"%s\" დაყოფილი არაა" + +#: commands/tablecmds.c:1142 +#, c-format +msgid "cannot partition using more than %d columns" +msgstr "%d-ზე მეტი სვეტის გამოყენებით დაყოფა შეუძლებელია" + +#: commands/tablecmds.c:1198 +#, c-format +msgid "cannot create foreign partition of partitioned table \"%s\"" +msgstr "დაყოფილი ცხრილის (%s) გარე დანაყოფს ვერ შექმნით" + +#: commands/tablecmds.c:1200 +#, c-format +msgid "Table \"%s\" contains indexes that are unique." +msgstr "ცხრილი %s შეიცავს სვეტებს, რომლებიც უნიკალურია." + +#: commands/tablecmds.c:1365 +#, c-format +msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects" +msgstr "DROP INDEX CONCURRENTLY-ს ერთზე მეტი ობიექტის წაშლის მხარდაჭერა არ გააჩნია" + +#: commands/tablecmds.c:1369 +#, c-format +msgid "DROP INDEX CONCURRENTLY does not support CASCADE" +msgstr "DROP INDEX CONCURRENTLY-ს CASCADE-ის მხარდაჭერა არ გააჩნია" + +#: commands/tablecmds.c:1473 +#, c-format +msgid "cannot drop partitioned index \"%s\" concurrently" +msgstr "დაყოფილ ინდექსს \"%s\" პარალელურად ვერ წაშლით" + +#: commands/tablecmds.c:1761 +#, c-format +msgid "cannot truncate only a partitioned table" +msgstr "თვითონ დაყოფილი ცხრილის დაცარიელება შეუძლებელია" + +#: commands/tablecmds.c:1762 +#, 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 +#, c-format +msgid "truncate cascades to table \"%s\"" +msgstr "მოკვეთა გადაეცემა ცხრილამდე %s" + +#: commands/tablecmds.c:2199 +#, c-format +msgid "cannot truncate foreign table \"%s\"" +msgstr "გარე ცხრილის (\"%s\") მოკვეთის შეცდომა" + +#: commands/tablecmds.c:2256 +#, c-format +msgid "cannot truncate temporary tables of other sessions" +msgstr "სხვა სესიების დროებითი ცხრილების მოკვეთის შეცდომა" + +#: commands/tablecmds.c:2488 commands/tablecmds.c:14935 +#, c-format +msgid "cannot inherit from partitioned table \"%s\"" +msgstr "დაყოფილი ცხრილიდან \"%s\" მემკვიდრეობის მიღება შეუძლებელია" + +#: commands/tablecmds.c:2493 +#, c-format +msgid "cannot inherit from partition \"%s\"" +msgstr "დანაყოფიდან \"%s\" მემკვიდრეობის მიღება შეუძლებელია" + +#: commands/tablecmds.c:2501 parser/parse_utilcmd.c:2475 parser/parse_utilcmd.c:2617 +#, c-format +msgid "inherited relation \"%s\" is not a table or foreign table" +msgstr "მემკვიდრეობით მიღებული ურთიერთობა \"%s\" ცხრილს ან გარე ცხრილს არ წარმოადგენს" + +#: commands/tablecmds.c:2513 +#, c-format +msgid "cannot create a temporary relation as partition of permanent relation \"%s\"" +msgstr "შეუძლებელია შექმნათ დროებით ურთიერთობა, რომელიც მუდმივი ურთიერთობის \"%s\" დანაყოფი იქნება" + +#: commands/tablecmds.c:2522 commands/tablecmds.c:14914 +#, c-format +msgid "cannot inherit from temporary relation \"%s\"" +msgstr "დროებითი ურთიერთობიდან (%s) მემკვიდრეობითობა შეუძლებელია" + +#: commands/tablecmds.c:2532 commands/tablecmds.c:14922 +#, c-format +msgid "cannot inherit from temporary relation of another session" +msgstr "სხვა სესიის დროებითი ურთიერთობიდან მემკვიდრეობითობა შეუძლებელია" + +#: commands/tablecmds.c:2585 +#, c-format +msgid "merging multiple inherited definitions of column \"%s\"" +msgstr "მიმდინარეობს სვეტის (\"%s\") მიერ მემკვიდრეობით მიღებული აღწერების შერწყმა" + +#: commands/tablecmds.c:2597 +#, 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 +#, c-format +msgid "%s versus %s" +msgstr "%s-ი %s-ის წინააღმდეგ" + +#: commands/tablecmds.c:2612 +#, c-format +msgid "inherited column \"%s\" has a collation conflict" +msgstr "მემკივდრეობითი სვეტის \"%s\" კოლაციის კონფლიქტი" + +#: commands/tablecmds.c:2614 commands/tablecmds.c:2935 commands/tablecmds.c:6849 +#, c-format +msgid "\"%s\" versus \"%s\"" +msgstr "'%s\" -ი \"%s\"-ის წინააღმდეგ" + +#: commands/tablecmds.c:2626 +#, c-format +msgid "inherited column \"%s\" has a storage parameter conflict" +msgstr "მემკივდრეობითი სვეტის \"%s\" საცავის პარამეტრის კონფლიქტი" + +#: commands/tablecmds.c:2645 commands/tablecmds.c:2969 +#, c-format +msgid "column \"%s\" has a compression method conflict" +msgstr "სვეტის (%s) შეკუმშვის მეთოდის კონფლიქტი" + +#: commands/tablecmds.c:2661 +#, c-format +msgid "inherited column \"%s\" has a generation conflict" +msgstr "მემკივდრეობითი სვეტის \"%s\" თაობის კონფლიქტი" + +#: 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 +#, c-format +msgid "cannot convert whole-row table reference" +msgstr "" + +#: commands/tablecmds.c:2768 parser/parse_utilcmd.c:1299 +#, c-format +msgid "Generation expression for column \"%s\" contains a whole-row reference to table \"%s\"." +msgstr "" + +#: commands/tablecmds.c:2823 parser/parse_utilcmd.c:1342 +#, c-format +msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"." +msgstr "" + +#: commands/tablecmds.c:2901 +#, c-format +msgid "merging column \"%s\" with inherited definition" +msgstr "სვეტის (\"%s\") შერწყმა მემკვიდრეობითი აღწერით" + +#: commands/tablecmds.c:2905 +#, c-format +msgid "moving and merging column \"%s\" with inherited definition" +msgstr "" + +#: commands/tablecmds.c:2906 +#, c-format +msgid "User-specified column moved to the position of the inherited column." +msgstr "" + +#: commands/tablecmds.c:2917 +#, c-format +msgid "column \"%s\" has a type conflict" +msgstr "ტიპის კონფლიქტი სვეტში \"%s\"" + +#: commands/tablecmds.c:2933 +#, c-format +msgid "column \"%s\" has a collation conflict" +msgstr "კოლაციის კონფლიქტი სვეტში \"%s\"" + +#: commands/tablecmds.c:2953 +#, c-format +msgid "column \"%s\" has a storage parameter conflict" +msgstr "საცავის პარამეტრის კონფლიქტი სვეტში \"%s\"" + +#: commands/tablecmds.c:2999 commands/tablecmds.c:3086 +#, c-format +msgid "column \"%s\" inherits from generated column but specifies default" +msgstr "ცხრილი \"%s\" მემკვიდრეობით იღებს გენერირებული ცხრილიდან, მაგრამ ნაგულისხმევიც მითითებულია" + +#: commands/tablecmds.c:3004 commands/tablecmds.c:3091 +#, c-format +msgid "column \"%s\" inherits from generated column but specifies identity" +msgstr "ცხრილი \"%s\" მემკვიდრეობით იღებს გენერირებული ცხრილიდან, მაგრამ იდენტიფიკაციაც მითითებულია" + +#: commands/tablecmds.c:3012 commands/tablecmds.c:3099 +#, c-format +msgid "child column \"%s\" specifies generation expression" +msgstr "შვილი სვეტისთვის \"%s\" მითითებულია გენერაციის გამოსახულება" + +#: commands/tablecmds.c:3014 commands/tablecmds.c:3101 +#, c-format +msgid "A child table column cannot be generated unless its parent column is." +msgstr "შვილი ცხრილის სვეტი არ შეიძლება, გენერირებული იყოს, თუ მისი მშობელიც არაა." + +#: commands/tablecmds.c:3147 +#, c-format +msgid "column \"%s\" inherits conflicting generation expressions" +msgstr "სვეტი \"%s\" მემკვიდრეობით კონფლიქტის მქონე გენერაციის გამოსახულებას იღებს" + +#: commands/tablecmds.c:3149 +#, c-format +msgid "To resolve the conflict, specify a generation expression explicitly." +msgstr "კონფლიქტის გადასაჭრელად გენერაციის გამოსახულება აშკარად მიუთითეთ." + +#: commands/tablecmds.c:3153 +#, c-format +msgid "column \"%s\" inherits conflicting default values" +msgstr "სვეტი \"%s\" მემკვიდრეობით ურთიერთგამომრიცხავ ნაგულისხმევ მნიშვნელობებს იღებს" + +#: commands/tablecmds.c:3155 +#, c-format +msgid "To resolve the conflict, specify a default explicitly." +msgstr "კონფლიქტის გადასაჭრელად ნაგულისხმევი აშკარად მიუთითეთ." + +#: commands/tablecmds.c:3205 +#, c-format +msgid "check constraint name \"%s\" appears multiple times but with different expressions" +msgstr "შემოწმების შეზღუდვის სახელი \"%s\" ბევრჯერ გამოჩნდა, მაგრამ სხვადასხვა გამოსახულებებთან ერთად" + +#: commands/tablecmds.c:3418 +#, c-format +msgid "cannot move temporary tables of other sessions" +msgstr "სხვა სესიების დროებითი ცხრილების გადაადგილება შეუძლებელია" + +#: commands/tablecmds.c:3488 +#, c-format +msgid "cannot rename column of typed table" +msgstr "ტიპიზირებული ცხრილის სვეტის გარდაქმნა შეუძლებელია" + +#: commands/tablecmds.c:3507 +#, c-format +msgid "cannot rename columns of relation \"%s\"" +msgstr "ურთიერთობის (\"%s\") სვეტების სახელის გადარქმევა შეუძლებელია" + +#: commands/tablecmds.c:3602 +#, c-format +msgid "inherited column \"%s\" must be renamed in child tables too" +msgstr "მემკვიდრეობით მიღებული სვეტს (\"%s\") სახელი შვილ ცხრილებშიც უნდა გადაერქვას" + +#: commands/tablecmds.c:3634 +#, c-format +msgid "cannot rename system column \"%s\"" +msgstr "სისტემური სვეტის \"%s\" გადარქმევა შეუძლებელია" + +#: commands/tablecmds.c:3649 +#, c-format +msgid "cannot rename inherited column \"%s\"" +msgstr "მემკვიდრეობითი სვეტის (\"%s\") სახელის გადარქმევა შეუძლებელია" + +#: commands/tablecmds.c:3801 +#, c-format +msgid "inherited constraint \"%s\" must be renamed in child tables too" +msgstr "მემკვიდრეობით მიღებული შეზღუდვას (\"%s\") სახელი შვილ ცხრილებშიც უნდა გადაერქვას" + +#: commands/tablecmds.c:3808 +#, c-format +msgid "cannot rename inherited constraint \"%s\"" +msgstr "მემკვიდრეობითი შეზღუდვის (\"%s\") სახელის გადარქმევა შეუძლებელია" + +#. translator: first %s is a SQL command, eg ALTER TABLE +#: commands/tablecmds.c:4105 +#, c-format +msgid "cannot %s \"%s\" because it is being used by active queries in this session" +msgstr "%s-ის \"%s\" შეუძლებელია, რადგან ის ამ სესიაში აქტიური მოთხოვნების მიერ გამოიყენება" + +#. translator: first %s is a SQL command, eg ALTER TABLE +#: commands/tablecmds.c:4114 +#, c-format +msgid "cannot %s \"%s\" because it has pending trigger events" +msgstr "%s-ის \"%s\" შეუძლებელია, რადგან მას დარჩენილი ტრიგერის მოვლენები გააჩნია" + +#: commands/tablecmds.c:4581 +#, c-format +msgid "cannot alter partition \"%s\" with an incomplete detach" +msgstr "არასრული მოხსნის მქონე დანაყოფის \"%s\" შეცვლა შეუძლებელია" + +#: commands/tablecmds.c:4774 commands/tablecmds.c:4789 +#, c-format +msgid "cannot change persistence setting twice" +msgstr "შენახვის პარამეტრების ორჯერ შეცვლა შეუძლებელია" + +#: commands/tablecmds.c:4810 +#, c-format +msgid "cannot change access method of a partitioned table" +msgstr "დაყოფილი ცხრილის წვდომის მეთოდის შეცვლა შეუძლებელია" + +#: commands/tablecmds.c:4816 +#, c-format +msgid "cannot have multiple SET ACCESS METHOD subcommands" +msgstr "ერთზე მეტი SET ACCESS METHOD ქვებრძანება ვერ გექნებათ" + +#: commands/tablecmds.c:5537 +#, c-format +msgid "cannot rewrite system relation \"%s\"" +msgstr "სისტემური შეერთების \"%s\" გადაწერა შეუძლებელია" + +#: commands/tablecmds.c:5543 +#, c-format +msgid "cannot rewrite table \"%s\" used as a catalog table" +msgstr "კატალოგის ცხრილად გამოყენებული ცხრილის \"%s\" თავიდან ჩაწერა შეუძლებელია" + +#: commands/tablecmds.c:5553 +#, c-format +msgid "cannot rewrite temporary tables of other sessions" +msgstr "სხვა სესიების დროებით ცხრილებს ვერ გადააწერთ" + +#: commands/tablecmds.c:6048 +#, c-format +msgid "column \"%s\" of relation \"%s\" contains null values" +msgstr "ურთიერთობის %2$s სვეტი %1$s ნულოვან მნიშვნელობებს შეიცავს" + +#: commands/tablecmds.c:6065 +#, 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 +#, c-format +msgid "updated partition constraint for default partition \"%s\" would be violated by some row" +msgstr "განახებული დანაყოფის შეზღუდვა ნაგულისხმევი დანაყოფისთვის \"%s\" რომელიღაც მწკრივის მიერ დაირღვეოდა" + +#: commands/tablecmds.c:6090 +#, 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 +#, c-format +msgid "ALTER action %s cannot be performed on relation \"%s\"" +msgstr "ALTER-ის ქმედებას %s ურთიერთობაზე \"%s\" ვერ შეასრულებთ" + +#: commands/tablecmds.c:6607 commands/tablecmds.c:6614 +#, c-format +msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it" +msgstr "ტიპის \"%s\" შეცვლა შეუძლებელია, რადგან მას სვეტი \"%s.%s\" იყენებს" + +#: commands/tablecmds.c:6621 +#, c-format +msgid "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type" +msgstr "გარე ცხრილის \"%s\" შეცვლა შეუძლებელია, რადგან სვეტი \"%s.%s\" თავისი მწკრივის ტიპს იყენებს" + +#: commands/tablecmds.c:6628 +#, c-format +msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type" +msgstr "ცხრილის \"%s\" შეცვლა შეუძლებელია, რადგან სვეტი \"%s.%s\" თავისი მწკრივის ტიპს იყენებს" + +#: commands/tablecmds.c:6684 +#, c-format +msgid "cannot alter type \"%s\" because it is the type of a typed table" +msgstr "ტიპის \"%s\" შეცვლა შეუძლებელია, რადგან ის ტიპიზირებული ცხრილის ტიპისაა" + +#: commands/tablecmds.c:6686 +#, c-format +msgid "Use ALTER ... CASCADE to alter the typed tables too." +msgstr "ტიპიზირებული ცხრილების ჩასასწორებლად გამოიყენეთ ALTER ... CASCADE." + +#: commands/tablecmds.c:6732 +#, c-format +msgid "type %s is not a composite type" +msgstr "ტიპი %s კომპოზიტური არაა" + +#: commands/tablecmds.c:6759 +#, c-format +msgid "cannot add column to typed table" +msgstr "ტიპიზირებულ ცხრილში სვეტების ჩამატება შეუძლებელია" + +#: commands/tablecmds.c:6812 +#, c-format +msgid "cannot add column to a partition" +msgstr "დანაყოფს სვეტს ვერ დაუმატებთ" + +#: commands/tablecmds.c:6841 commands/tablecmds.c:15165 +#, c-format +msgid "child table \"%s\" has different type for column \"%s\"" +msgstr "შვილ ცხრილს \"%s\" სვეტისთვის \"%s\" სხვა ტიპი გააჩნია" + +#: commands/tablecmds.c:6847 commands/tablecmds.c:15172 +#, c-format +msgid "child table \"%s\" has different collation for column \"%s\"" +msgstr "შვილ ცხრილს \"%s\" სვეტისთვის \"%s\" სხვა კოლაცია გააჩნია" + +#: commands/tablecmds.c:6865 +#, c-format +msgid "merging definition of column \"%s\" for child \"%s\"" +msgstr "მიმდინარეობს აღწერის შერწყმა სვეტისთვის \"%s\" შვილისთვის \"%s\"" + +#: commands/tablecmds.c:6908 +#, c-format +msgid "cannot recursively add identity column to table that has child tables" +msgstr "ცხრილისთვის, რომელსაც შვილი ცხრილები გააჩნია, იდენტიფიკაციის სვეტის რეკურსიული დამატება შეუძლებელია" + +#: commands/tablecmds.c:7159 +#, c-format +msgid "column must be added to child tables too" +msgstr "სვეტი შვილ ცხრილებსაც უნდა დაემატოთ" + +#: commands/tablecmds.c:7237 +#, c-format +msgid "column \"%s\" of relation \"%s\" already exists, skipping" +msgstr "ურთიერთობის (%2$s) სვეტი %1$s უკვე რსებობს. გამოტოვება" + +#: commands/tablecmds.c:7244 +#, c-format +msgid "column \"%s\" of relation \"%s\" already exists" +msgstr "ურთიერთობის (%2$s) სვეტი %1$s უკვე რსებობს" + +#: commands/tablecmds.c:7310 commands/tablecmds.c:12094 +#, c-format +msgid "cannot remove constraint from only the partitioned table when partitions exist" +msgstr "შეზღუდვის წაშლა მხოლოდ დაყოფილი ცხრილიდან მაშინ, როცა დანაყოფები არსებობს, შეუძლებელია" + +#: commands/tablecmds.c:7311 commands/tablecmds.c:7628 commands/tablecmds.c:8593 commands/tablecmds.c:12095 +#, c-format +msgid "Do not specify the ONLY keyword." +msgstr "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 +#, c-format +msgid "cannot alter system column \"%s\"" +msgstr "სისტემური სვეტის \"%s\" შეცვლა შეუძლებელია" + +#: commands/tablecmds.c:7354 commands/tablecmds.c:7702 +#, c-format +msgid "column \"%s\" of relation \"%s\" is an identity column" +msgstr "ურთიერთობის \"%2$s\" სვეტი \"%1$s\" იდენტიფიკატორი სვეტია" + +#: commands/tablecmds.c:7397 +#, c-format +msgid "column \"%s\" is in a primary key" +msgstr "სვეტი \"%s\" პირველადი გასაღებია" + +#: commands/tablecmds.c:7402 +#, c-format +msgid "column \"%s\" is in index used as replica identity" +msgstr "სვეტი \"%s\" რეპლიკის იდენტიფიკატორად გამოყენებული ინდექსია" + +#: commands/tablecmds.c:7425 +#, c-format +msgid "column \"%s\" is marked NOT NULL in parent table" +msgstr "სვეტი \"%s\" მშობელ ცხრილში NOT NULL-ით დანიშნული არაა" + +#: commands/tablecmds.c:7625 commands/tablecmds.c:9077 +#, c-format +msgid "constraint must be added to child tables too" +msgstr "შეზღუდვა შვილ ცხრილებსაც უნდა დაემატოთ" + +#: commands/tablecmds.c:7626 +#, c-format +msgid "Column \"%s\" of relation \"%s\" is not already NOT NULL." +msgstr "ურთიერთობის \"%2$s\" სვეტი \"%1$s\" უკვე NOT NULL არაა." + +#: commands/tablecmds.c:7704 +#, c-format +msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY instead." +msgstr "სანაცვლოდ გამოიყენეთ ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY." + +#: commands/tablecmds.c:7709 +#, c-format +msgid "column \"%s\" of relation \"%s\" is a generated column" +msgstr "ურთიერთობის \"%2$s\" სვეტი \"%1$s\" გენერირებული სვეტია" + +#: commands/tablecmds.c:7712 +#, c-format +msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION instead." +msgstr "სანაცვლოდ გამოიყენეთ ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION." + +#: commands/tablecmds.c:7821 +#, c-format +msgid "column \"%s\" of relation \"%s\" must be declared NOT NULL before identity can be added" +msgstr "ურთიერთობის \"%2$s\" სვეტი \"%1$s\" უნდა აღწეროთ როგორც NOT NULL მანამდე, სანამ იდენტიფიკაციას დაამატებთ" + +#: commands/tablecmds.c:7827 +#, c-format +msgid "column \"%s\" of relation \"%s\" is already an identity column" +msgstr "ურთიერთობის \"%2$s\" სვეტი \"%1$s\" უკვე იდენტიფიკატორი სვეტია" + +#: commands/tablecmds.c:7833 +#, c-format +msgid "column \"%s\" of relation \"%s\" already has a default value" +msgstr "ურთიერთობის \"%2$s\" სვეტს \"%1$s\" ნაგულისხმევი მნიშვნელობა უკვე გააჩნია" + +#: commands/tablecmds.c:7910 commands/tablecmds.c:7971 +#, c-format +msgid "column \"%s\" of relation \"%s\" is not an identity column" +msgstr "ურთიერთობის \"%2$s\" სვეტი \"%1$s\" იდენტიფიკატორი სვეტი არაა" + +#: commands/tablecmds.c:7976 +#, c-format +msgid "column \"%s\" of relation \"%s\" is not an identity column, skipping" +msgstr "ურთიერთობის \"%2$s\" სვეტი \"%1$s\" იდენტიფიკატორი სვეტი არაა. გამოტოვება" + +#: commands/tablecmds.c:8029 +#, c-format +msgid "ALTER TABLE / DROP EXPRESSION must be applied to child tables too" +msgstr "ALTER TABLE / DROP EXPRESSION შვილ ცხრილებზეც უნდა გადატარდეს" + +#: commands/tablecmds.c:8051 +#, c-format +msgid "cannot drop generation expression from inherited column" +msgstr "მემკვიდრეობითი სვეტიდან გენერაციის გამოსახულების წაშლა შეუძლებელია" + +#: commands/tablecmds.c:8090 +#, c-format +msgid "column \"%s\" of relation \"%s\" is not a stored generated column" +msgstr "ურთიერთობის \"%2$s\" სვეტი \"%1$s\" დამახსოვრებული გენერირებული სვეტი არაა" + +#: commands/tablecmds.c:8095 +#, c-format +msgid "column \"%s\" of relation \"%s\" is not a stored generated column, skipping" +msgstr "ურთიერთობის \"%2$s\" სვეტი \"%1$s\" დამახსოვრებული გენერირებული სვეტი არაა. გამოტოვება" + +#: commands/tablecmds.c:8168 +#, c-format +msgid "cannot refer to non-index column by number" +msgstr "არა-ინდექსი სვეტის ნომრით მიმართვა შეუძლებელია" + +#: commands/tablecmds.c:8211 +#, c-format +msgid "column number %d of relation \"%s\" does not exist" +msgstr "ურთიერთობის (%2$s) სვეტი (%1$d) არ არსებობს" + +#: commands/tablecmds.c:8230 +#, c-format +msgid "cannot alter statistics on included column \"%s\" of index \"%s\"" +msgstr "ინდექსის \"%2$s\" ჩასმული სვეტის \"%1$s\" სტატისტიკის შეცვლა შეუძლებელია" + +#: commands/tablecmds.c:8235 +#, c-format +msgid "cannot alter statistics on non-expression column \"%s\" of index \"%s\"" +msgstr "" + +#: commands/tablecmds.c:8237 +#, c-format +msgid "Alter statistics on table column instead." +msgstr "ამის ნაცვლად ცხრილის სვეტის სტატისტიკა შეცვალეთ." + +#: commands/tablecmds.c:8472 +#, c-format +msgid "cannot drop column from typed table" +msgstr "ტიპიზირებული ცხრილის სვეტის წაშლა შეუძლებელია" + +#: commands/tablecmds.c:8531 +#, c-format +msgid "column \"%s\" of relation \"%s\" does not exist, skipping" +msgstr "სვეტი \"%s\" ურთიერთობაში \"%s\" არ არსებობს. გამოტოვება" + +#: commands/tablecmds.c:8544 +#, c-format +msgid "cannot drop system column \"%s\"" +msgstr "სისტემური სვეტის \"%s\" წაშლა შეუძლებელია" + +#: commands/tablecmds.c:8554 +#, c-format +msgid "cannot drop inherited column \"%s\"" +msgstr "მემკვიდრეობით მიღებული სვეტის \"%s\" წაშლა შეუძლებელია" + +#: commands/tablecmds.c:8567 +#, c-format +msgid "cannot drop column \"%s\" because it is part of the partition key of relation \"%s\"" +msgstr "" + +#: commands/tablecmds.c:8592 +#, c-format +msgid "cannot drop column from only the partitioned table when partitions exist" +msgstr "" + +#: commands/tablecmds.c:8797 +#, 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:8822 +#, 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:9159 +#, c-format +msgid "cannot use ONLY for foreign key on partitioned table \"%s\" referencing relation \"%s\"" +msgstr "" + +#: commands/tablecmds.c:9165 +#, c-format +msgid "cannot add NOT VALID foreign key on partitioned table \"%s\" referencing relation \"%s\"" +msgstr "" + +#: commands/tablecmds.c:9168 +#, c-format +msgid "This feature is not yet supported on partitioned tables." +msgstr "ეს ოპერაცია დაყოფილი ცხრილებისთვის ჯერჯერობით მხარდაჭერილი არაა." + +#: commands/tablecmds.c:9175 commands/tablecmds.c:9631 +#, c-format +msgid "referenced relation \"%s\" is not a table" +msgstr "მითითებული ურთიერთობა \"%s\" ცხრილი არაა" + +#: commands/tablecmds.c:9198 +#, c-format +msgid "constraints on permanent tables may reference only permanent tables" +msgstr "მუდმივ ცხრილებზე არსებული შეზღუდვები მხოლოდ მუდმივ ცხრილებზე შეიძლება, მიუთითებდეს" + +#: commands/tablecmds.c:9205 +#, c-format +msgid "constraints on unlogged tables may reference only permanent or unlogged tables" +msgstr "ჟურნალის გარეშე მყოფი ცხრილების შეზღუდვები მხოლოდ მუდმივ ან ჟურნალის გარეშე მყოფ ცხრილებზე შეიძლება, მიუთითებდეს" + +#: commands/tablecmds.c:9211 +#, c-format +msgid "constraints on temporary tables may reference only temporary tables" +msgstr "დროებით ცხრილებზე არსებული შეზღუდვები მხოლოდ დროებით ცხრილებზე შეიძლება, მიუთითებდეს" + +#: commands/tablecmds.c:9215 +#, c-format +msgid "constraints on temporary tables must involve temporary tables of this session" +msgstr "დროებითი ცხრილის შეზღუდვები მიმდინარე სესიის დროებით ცხრილებს უნდა მიმართავდეს" + +#: commands/tablecmds.c:9279 commands/tablecmds.c:9285 +#, c-format +msgid "invalid %s action for foreign key constraint containing generated column" +msgstr "არასწორი ქმედება %s გარე გასაღების შეზღუდვის შემცველი გენერირებული სვეტისთვის" + +#: commands/tablecmds.c:9301 +#, c-format +msgid "number of referencing and referenced columns for foreign key disagree" +msgstr "" + +#: commands/tablecmds.c:9408 +#, c-format +msgid "foreign key constraint \"%s\" cannot be implemented" +msgstr "გარე გასაღების შეზღუდვის \"%s\" განხორციელება შეუძლებელია" + +#: commands/tablecmds.c:9410 +#, c-format +msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s." +msgstr "გასაღების სვეტები \"%s\" და \"%s\" შეუთავსებელი ტიპებისაა: %s და %s." + +#: commands/tablecmds.c:9567 +#, c-format +msgid "column \"%s\" referenced in ON DELETE SET action must be part of foreign key" +msgstr "" + +#: commands/tablecmds.c:9841 commands/tablecmds.c:10311 parser/parse_utilcmd.c:791 parser/parse_utilcmd.c:920 +#, c-format +msgid "foreign key constraints are not supported on foreign tables" +msgstr "გარე გასაღების შეზღუდვები გარე ცხრილებზე მხარდაჭერილი არაა" + +#: commands/tablecmds.c:10864 commands/tablecmds.c:11142 commands/tablecmds.c:12051 commands/tablecmds.c:12126 +#, c-format +msgid "constraint \"%s\" of relation \"%s\" does not exist" +msgstr "ურთიერთობის \"%2$s\" შეზღუდვა \"%1$s\" არ არსებობს" + +#: commands/tablecmds.c:10871 +#, c-format +msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint" +msgstr "ურთიერთობის (\"%2$s\") შეზღუდვა \"%1$s\" გარე გასაღების შეზღუდვა არაა" + +#: commands/tablecmds.c:10909 +#, c-format +msgid "cannot alter constraint \"%s\" on relation \"%s\"" +msgstr "ურთიერთობაზე \"%2$s\" შეზღუდვის \"%1$s\" შეცვლა შეუძლებელია" + +#: commands/tablecmds.c:10912 +#, c-format +msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"." +msgstr "შეზღუდვა \"%1$s\" ურთიერთობის \"%3$s\" შეზღუდვიდანა \"%2$s\"-ია ნაწარმოები." + +#: commands/tablecmds.c:10914 +#, c-format +msgid "You may alter the constraint it derives from instead." +msgstr "" + +#: commands/tablecmds.c:11150 +#, c-format +msgid "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint" +msgstr "ურთიერთობის (\"%2$s\") შეზღუდვა \"%1$s\" გარე გასაღები ან შემოწმების შეზღუდვა არაა" + +#: commands/tablecmds.c:11227 +#, c-format +msgid "constraint must be validated on child tables too" +msgstr "შეზღუდვა შვილ ცხრილებზეც უნდა გადამოწმდეს" + +#: commands/tablecmds.c:11314 +#, c-format +msgid "column \"%s\" referenced in foreign key constraint does not exist" +msgstr "გარე გასაღების შეზღუდვაში მითითებული სვეტი \"%s\" არ არსებობს" + +#: commands/tablecmds.c:11320 +#, c-format +msgid "system columns cannot be used in foreign keys" +msgstr "უცხო გასაღებებში სისტემურ სვეტებს ვერ გამოიყენებთ" + +#: commands/tablecmds.c:11324 +#, c-format +msgid "cannot have more than %d keys in a foreign key" +msgstr "გარე გასაღებში %d გასაღებზე მეტი ვერ გექნებათ" + +#: commands/tablecmds.c:11389 +#, c-format +msgid "cannot use a deferrable primary key for referenced table \"%s\"" +msgstr "" + +#: commands/tablecmds.c:11406 +#, c-format +msgid "there is no primary key for referenced table \"%s\"" +msgstr "მითითებული ცხრილისთვის \"%s\" ძირითადი გასაღები არ არსებობს" + +#: commands/tablecmds.c:11470 +#, c-format +msgid "foreign key referenced-columns list must not contain duplicates" +msgstr "" + +#: commands/tablecmds.c:11562 +#, c-format +msgid "cannot use a deferrable unique constraint for referenced table \"%s\"" +msgstr "" + +#: commands/tablecmds.c:11567 +#, c-format +msgid "there is no unique constraint matching given keys for referenced table \"%s\"" +msgstr "" + +#: commands/tablecmds.c:12007 +#, c-format +msgid "cannot drop inherited constraint \"%s\" of relation \"%s\"" +msgstr "მემკვიდრეობით მიღებული ურთიერთობის \"%2$s\" შეზღუდვის \"%1$s\" წაშლა შეუძლებელია" + +#: commands/tablecmds.c:12057 +#, c-format +msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping" +msgstr "ურთიერთობის (\"%2$s\") შეზღუდვა (\"%1$s\") არ არსებობს. გამოტოვება" + +#: commands/tablecmds.c:12233 +#, c-format +msgid "cannot alter column type of typed table" +msgstr "ტიპიზირებული ცხრილის სვეტის შეცვლა შეუძლებელია" + +#: commands/tablecmds.c:12260 +#, c-format +msgid "cannot alter inherited column \"%s\"" +msgstr "მემკვიდრეობით მიღებული სვეტის \"%s\" შეცვლა შეუძლებელია" + +#: commands/tablecmds.c:12269 +#, c-format +msgid "cannot alter column \"%s\" because it is part of the partition key of relation \"%s\"" +msgstr "სვეტის \"%s\" შეცვლა შეუძლებელია, რადგან ის ურთიერთობის \"%s\" დანაყოფის გასაღების ნაწილია" + +#: commands/tablecmds.c:12319 +#, c-format +msgid "result of USING clause for column \"%s\" cannot be cast automatically to type %s" +msgstr "" + +#: commands/tablecmds.c:12322 +#, c-format +msgid "You might need to add an explicit cast." +msgstr "შეიძლება აშკარა დაკასტვა უნდა დაამატოთ." + +#: commands/tablecmds.c:12326 +#, 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:12329 +#, c-format +msgid "You might need to specify \"USING %s::%s\"." +msgstr "შეიძლება, გჭირდებათ, მიუთითოთ \"USING %s::%s\"." + +#: commands/tablecmds.c:12428 +#, c-format +msgid "cannot alter inherited column \"%s\" of relation \"%s\"" +msgstr "ურთიერთობის \"%2$s\" სვეტის \"%1$s\" შეცვლა შეუძლებელია" + +#: commands/tablecmds.c:12457 +#, c-format +msgid "USING expression contains a whole-row table reference." +msgstr "" + +#: commands/tablecmds.c:12468 +#, c-format +msgid "type of inherited column \"%s\" must be changed in child tables too" +msgstr "" + +#: commands/tablecmds.c:12593 +#, c-format +msgid "cannot alter type of column \"%s\" twice" +msgstr "სვეტის (\"%s\") ტიპის ორჯერ შეცვლა შეუძლებელია" + +#: commands/tablecmds.c:12631 +#, c-format +msgid "generation expression for column \"%s\" cannot be cast automatically to type %s" +msgstr "" + +#: commands/tablecmds.c:12636 +#, c-format +msgid "default for column \"%s\" cannot be cast automatically to type %s" +msgstr "" + +#: commands/tablecmds.c:12717 +#, c-format +msgid "cannot alter type of a column used by a view or rule" +msgstr "ხედის ან წესის მიერ გამოყენებული სვეტის ტიპის შეცვლა შეუძლებელია" + +#: commands/tablecmds.c:12718 commands/tablecmds.c:12737 commands/tablecmds.c:12755 +#, c-format +msgid "%s depends on column \"%s\"" +msgstr "%s ეყრდნობა სვეტს \"%s\"" + +#: commands/tablecmds.c:12736 +#, c-format +msgid "cannot alter type of a column used in a trigger definition" +msgstr "ტრიგერის აღწერაში გამოყენებული სვეტის ტიპის შეცვლა შეუძლებელია" + +#: commands/tablecmds.c:12754 +#, c-format +msgid "cannot alter type of a column used in a policy definition" +msgstr "პოლიტიკის აღწერაში გამოყენებული სვეტის ტიპის შეცვლა შეუძლებელია" + +#: commands/tablecmds.c:12785 +#, c-format +msgid "cannot alter type of a column used by a generated column" +msgstr "გენერირებული სვეტის მიერ გამოყენებული სვეტის ტიპის შეცვლა შეუძლებელია" + +#: commands/tablecmds.c:12786 +#, c-format +msgid "Column \"%s\" is used by generated column \"%s\"." +msgstr "სვეტი (%s\") გენერირებული სვეტის (%s) მიერ გამოიყენება." + +#: commands/tablecmds.c:13861 commands/tablecmds.c:13873 +#, c-format +msgid "cannot change owner of index \"%s\"" +msgstr "ინდექსის \"%s\" მფლობელის შეცვლა შეუძლებელია" + +#: commands/tablecmds.c:13863 commands/tablecmds.c:13875 +#, c-format +msgid "Change the ownership of the index's table instead." +msgstr "ამის მაგიერ ინდექსის ცხრილის მფლობელი შეცვალეთ." + +#: commands/tablecmds.c:13889 +#, c-format +msgid "cannot change owner of sequence \"%s\"" +msgstr "მიმდევრობის \"%s\" მფლობელის შეცვლა შეუძლებელია" + +#: commands/tablecmds.c:13903 commands/tablecmds.c:17173 commands/tablecmds.c:17192 +#, c-format +msgid "Use ALTER TYPE instead." +msgstr "ამის ნაცვლად გამოიყენეთ ALTER TYPE." + +#: commands/tablecmds.c:13912 +#, c-format +msgid "cannot change owner of relation \"%s\"" +msgstr "ურთიერთობის \"%s\" მფლობელის შეცვლა შეუძლებელია" + +#: commands/tablecmds.c:14274 +#, c-format +msgid "cannot have multiple SET TABLESPACE subcommands" +msgstr "ერთზე მეტი SET TABLESPACE ქვებრძანება ვერ გექნებათ" + +#: commands/tablecmds.c:14351 +#, c-format +msgid "cannot set options for relation \"%s\"" +msgstr "ურთიერთობის (%s) პარამეტრების დაყენება შეუძლებელია" + +#: commands/tablecmds.c:14385 commands/view.c:445 +#, c-format +msgid "WITH CHECK OPTION is supported only on automatically updatable views" +msgstr "WITH CHECK OPTION მხოლოდ ავტომატურად განახლებად ხედებზეა მხარდაჭერილი" + +#: commands/tablecmds.c:14635 +#, c-format +msgid "only tables, indexes, and materialized views exist in tablespaces" +msgstr "ცხრილის სივრცეში მხოლოდ ცხრილები, ინდექსები და მატერიალიზებული ხედები შეიძლება არსებობდეს" + +#: commands/tablecmds.c:14647 +#, c-format +msgid "cannot move relations in to or out of pg_global tablespace" +msgstr "ცხრილების სივრცეში pg_globl ურთიერთობების შეტანა/გამოტანა შეუძლებელია" + +#: commands/tablecmds.c:14739 +#, c-format +msgid "aborting because lock on relation \"%s.%s\" is not available" +msgstr "შეწყვეტა, რადგან ბლოკი ურთიერთობაზე \"%s.%s\" ხელმისაწვდომი არაა" + +#: commands/tablecmds.c:14755 +#, c-format +msgid "no matching relations in tablespace \"%s\" found" +msgstr "ცხრილების სივრცეში \"%s\" ურთიერთობა, რომელიც ემთხვევა, ვერ ვიპოვე" + +#: commands/tablecmds.c:14873 +#, c-format +msgid "cannot change inheritance of typed table" +msgstr "ტიპიზირებული ცხრილის მემკვიდრეობითობის შეცვლა შეუძლებელია" + +#: commands/tablecmds.c:14878 commands/tablecmds.c:15396 +#, c-format +msgid "cannot change inheritance of a partition" +msgstr "დანაყოფის მემკვიდრეობითობის შეცვლა შეუძლებელია" + +#: commands/tablecmds.c:14883 +#, c-format +msgid "cannot change inheritance of partitioned table" +msgstr "დაყოფილი ცხრილის მემკვიდრეობითობის შეცვლა შეუძლებელია" + +#: commands/tablecmds.c:14929 +#, c-format +msgid "cannot inherit to temporary relation of another session" +msgstr "სხვა სესიის დროებითი ურთიერთობის მემკვიდრეობით მიღება შეუძლებელია" + +#: commands/tablecmds.c:14942 +#, c-format +msgid "cannot inherit from a partition" +msgstr "დანაყოფიდან მემკვიდრეობითობა შეუძლებელია" + +#: commands/tablecmds.c:14964 commands/tablecmds.c:17813 +#, c-format +msgid "circular inheritance not allowed" +msgstr "წრიული მემკვიდრეობითობა დაუშვებელია" + +#: commands/tablecmds.c:14965 commands/tablecmds.c:17814 +#, c-format +msgid "\"%s\" is already a child of \"%s\"." +msgstr "\"%s\" უკვე \"%s\"-ის შვილია." + +#: commands/tablecmds.c:14978 +#, c-format +msgid "trigger \"%s\" prevents table \"%s\" from becoming an inheritance child" +msgstr "ტრიგერი \"%s\" ხელს უშლის ცხრილს \"%s\" მემკვიდრეობის შვილად გადაიქცეს" + +#: commands/tablecmds.c:14980 +#, c-format +msgid "ROW triggers with transition tables are not supported in inheritance hierarchies." +msgstr "ROW ტრიგერები, რომლებსაც გარდამავალი ცხრილები გააჩნიათ, მემკვიდრეობითობის იერარქიებში მხარდაჭერილი არაა." + +#: commands/tablecmds.c:15183 +#, c-format +msgid "column \"%s\" in child table must be marked NOT NULL" +msgstr "სვეტი \"%s\" შვილ ცხრილში NOT NULL-ით უნდა იყოს დანიშნული" + +#: commands/tablecmds.c:15192 +#, c-format +msgid "column \"%s\" in child table must be a generated column" +msgstr "შვილ ცხრილში სვეტი \"%s\" გენერირებული სვეტი არ უნდა იყოს" + +#: commands/tablecmds.c:15197 +#, c-format +msgid "column \"%s\" in child table must not be a generated column" +msgstr "შვილ ცხრილში სვეტი \"%s\" გენერირებული სვეტი არ უნდა იყოს" + +#: commands/tablecmds.c:15228 +#, c-format +msgid "child table is missing column \"%s\"" +msgstr "შვილ ცხრილს აკლია სვეტი \"%s\"" + +#: commands/tablecmds.c:15316 +#, c-format +msgid "child table \"%s\" has different definition for check constraint \"%s\"" +msgstr "შვილ ცხრილს \"%s\" შემოწმების შეზღუდვისთვის \"%s\" სხვა განსაზღვრება გააჩნია" + +#: commands/tablecmds.c:15324 +#, c-format +msgid "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s\"" +msgstr "შეზღუდვა \"%s\" კონფლიქტშია არა-მემკვიდრეობით მიღებულ შეზღუდვასთან შვილ ცხრილზე \"%s\"" + +#: commands/tablecmds.c:15335 +#, c-format +msgid "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\"" +msgstr "შეზღუდვა \"%s\" კონფლიქტშია შეზღუდვასთან NOT VALID შვილ ცხრილზე \"%s\"" + +#: commands/tablecmds.c:15374 +#, c-format +msgid "child table is missing constraint \"%s\"" +msgstr "შვილ ცხრილს აკლია შეზღუდვა \"%s\"" + +#: commands/tablecmds.c:15460 +#, c-format +msgid "partition \"%s\" already pending detach in partitioned table \"%s.%s\"" +msgstr "დანაყოფი \"%s\" უკვე დაყოფილი ცხრილიდან \"%s.%s\" მოხსნის რიგშია" + +#: commands/tablecmds.c:15489 commands/tablecmds.c:15537 +#, c-format +msgid "relation \"%s\" is not a partition of relation \"%s\"" +msgstr "ურთიერთობა \"%s\" ურთიერთობის \"%s\" დანაყოფს არ წარმოადგენს" + +#: commands/tablecmds.c:15543 +#, c-format +msgid "relation \"%s\" is not a parent of relation \"%s\"" +msgstr "ურთიერთობა \"%s\" ურთიერთობის \"%s\" მშობელს არ წარმოადგენს" + +#: commands/tablecmds.c:15771 +#, c-format +msgid "typed tables cannot inherit" +msgstr "ტიპიზირებულ ცხრილებს მემკვიდრეობითობა არ შეუძლიათ" + +#: commands/tablecmds.c:15801 +#, c-format +msgid "table is missing column \"%s\"" +msgstr "ცხრილს აკლია სვეტი \"%s\"" + +#: commands/tablecmds.c:15812 +#, c-format +msgid "table has column \"%s\" where type requires \"%s\"" +msgstr "ცხრილს აქვს სვეტი \"%s\" მაშინ, როცა ტიპი \"%s\"-ს მოითხოვს" + +#: commands/tablecmds.c:15821 +#, c-format +msgid "table \"%s\" has different type for column \"%s\"" +msgstr "ცხრილს \"%s\" სვეტისთვის \"%s\" სხვა ტიპი აქვს" + +#: commands/tablecmds.c:15835 +#, c-format +msgid "table has extra column \"%s\"" +msgstr "ცხრილს აქვს დამატებითი სვეტი \"%s\"" + +#: commands/tablecmds.c:15887 +#, c-format +msgid "\"%s\" is not a typed table" +msgstr "\"%s\" ტიპიზირებული ცხრილი არაა" + +#: commands/tablecmds.c:16061 +#, c-format +msgid "cannot use non-unique index \"%s\" as replica identity" +msgstr "არაუნიკალურ ინდექსს \"%s\" რეპლიკის იდენტიფიკაციისთვის ვერ გამოიყენებთ" + +#: commands/tablecmds.c:16067 +#, c-format +msgid "cannot use non-immediate index \"%s\" as replica identity" +msgstr "არასაუყოვნებლივ ინდექსს \"%s\" რეპლიკის იდენფიტიკაციისთვის ვერ გამოიყენებთ" + +#: commands/tablecmds.c:16073 +#, c-format +msgid "cannot use expression index \"%s\" as replica identity" +msgstr "გამოსახულების ინდექსს \"%s\" რეპლიკის იდენტიფიკაციისთვის ვერ გამოიყენებთ" + +#: commands/tablecmds.c:16079 +#, c-format +msgid "cannot use partial index \"%s\" as replica identity" +msgstr "ნაწილობრივი ინდექსის (\"%s\") რეპლიკის იდენტიფიკატორად გამოყენება შეუძლებელია" + +#: commands/tablecmds.c:16096 +#, c-format +msgid "index \"%s\" cannot be used as replica identity because column %d is a system column" +msgstr "ინდექსს \"%s\" რეპლიკის იდენტიფიკაციისთვის ვერ გამოიყენებთ, რადგან სვეტი %d სისტემური სვეტია" + +#: commands/tablecmds.c:16103 +#, c-format +msgid "index \"%s\" cannot be used as replica identity because column \"%s\" is nullable" +msgstr "ინდექსს \"%s\" რეპლიკის იდენტიფიკაციისთვის ვერ გამოიყენებთ, რადგან სვეტი %s განულებადია" + +#: commands/tablecmds.c:16348 +#, c-format +msgid "cannot change logged status of table \"%s\" because it is temporary" +msgstr "ცხრილის \"%s\" ჟურნალში ჩაწერის სტატუსის შეცვლა შეუძლებელია, რადგან ის დროებითია" + +#: commands/tablecmds.c:16372 +#, c-format +msgid "cannot change table \"%s\" to unlogged because it is part of a publication" +msgstr "" + +#: commands/tablecmds.c:16374 +#, c-format +msgid "Unlogged relations cannot be replicated." +msgstr "უჟურნალო ურთიერთობების რეპლიკაცია შეუძლებელია." + +#: commands/tablecmds.c:16419 +#, c-format +msgid "could not change table \"%s\" to logged because it references unlogged table \"%s\"" +msgstr "" + +#: commands/tablecmds.c:16429 +#, c-format +msgid "could not change table \"%s\" to unlogged because it references logged table \"%s\"" +msgstr "" + +#: commands/tablecmds.c:16487 +#, c-format +msgid "cannot move an owned sequence into another schema" +msgstr "" + +#: commands/tablecmds.c:16594 +#, c-format +msgid "relation \"%s\" already exists in schema \"%s\"" +msgstr "სქემაში (%2$s) ურთიერთობა (%1$s) უკვე არსებობს" + +#: commands/tablecmds.c:17006 +#, c-format +msgid "\"%s\" is not a table or materialized view" +msgstr "\"%s\" ცხრილი ან მატერიალიზებული ხედი არაა" + +#: commands/tablecmds.c:17156 +#, c-format +msgid "\"%s\" is not a composite type" +msgstr "ტიპი %s კომპოზიტური არაა" + +#: commands/tablecmds.c:17184 +#, c-format +msgid "cannot change schema of index \"%s\"" +msgstr "ინდექსის (%s) სქემის შეცვლა შეუძლებელია" + +#: commands/tablecmds.c:17186 commands/tablecmds.c:17198 +#, c-format +msgid "Change the schema of the table instead." +msgstr "ამის მაგიერ ცხრილის სქემა შეცვლათ." + +#: commands/tablecmds.c:17190 +#, c-format +msgid "cannot change schema of composite type \"%s\"" +msgstr "კომპოზიტური ტიპის (%s) სქემის შეცვლა შეუძლებელია" + +#: commands/tablecmds.c:17196 +#, c-format +msgid "cannot change schema of TOAST table \"%s\"" +msgstr "\"TOAST\" ცხრილის (%s) სქემის შეცვლა შეუძლებელია" + +#: commands/tablecmds.c:17228 +#, c-format +msgid "cannot use \"list\" partition strategy with more than one column" +msgstr "ერთზე მეტ სვეტთან ერთად დაყოფის სტრატეგიას \"list\" ვერ გამოიყენებთ" + +#: commands/tablecmds.c:17294 +#, c-format +msgid "column \"%s\" named in partition key does not exist" +msgstr "დანაყოფის გასაღებში დასახელებული სვეტი \"%s\" არ არსებობს" + +#: commands/tablecmds.c:17302 +#, c-format +msgid "cannot use system column \"%s\" in partition key" +msgstr "დანაყოფის გასაღებში სისტემური სვეტის (%s) გამოყენება შეუძლებელია" + +#: commands/tablecmds.c:17313 commands/tablecmds.c:17427 +#, c-format +msgid "cannot use generated column in partition key" +msgstr "გენერირებულ სვეტს დანაყოფის გასაღებში ვერ გამოიყენებთ" + +#: commands/tablecmds.c:17314 commands/tablecmds.c:17428 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:17390 +#, c-format +msgid "functions in partition key expression must be marked IMMUTABLE" +msgstr "ფუნქცია დანაყოფის გასაღების გამოსახულებაში აუცილებლად უნდა იყოს მონიშნული, როგორც IMMUTABLE" + +#: commands/tablecmds.c:17410 +#, c-format +msgid "partition key expressions cannot contain system column references" +msgstr "დანაყოფის გასაღების გამოსახულებები, არ შეიძლება, სისტემურ სვეტზე მითითებებს შეიცავდნენ" + +#: commands/tablecmds.c:17440 +#, c-format +msgid "cannot use constant expression as partition key" +msgstr "დაყოფის გასაღების გამოსახულებაში მუდმივ გამოსახულებას ვერ გამოიყენებთ" + +#: commands/tablecmds.c:17461 +#, c-format +msgid "could not determine which collation to use for partition expression" +msgstr "დანაყოფის გამოსახულებისათვის კოლაციის დადგენა შეუძლებელია" + +#: commands/tablecmds.c:17496 +#, 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:17502 +#, c-format +msgid "You must specify a btree operator class or define a default btree operator class for the data type." +msgstr "" + +#: commands/tablecmds.c:17753 +#, c-format +msgid "\"%s\" is already a partition" +msgstr "\"%s\" უკვე დანაყოფია" + +#: commands/tablecmds.c:17759 +#, c-format +msgid "cannot attach a typed table as partition" +msgstr "ტიპიზირებული ცხრილის, როგორც დანაყოფის მიბმა შეუძლებელია" + +#: commands/tablecmds.c:17775 +#, c-format +msgid "cannot attach inheritance child as partition" +msgstr "მემკვიდრეობის შვილის დანაყოფად მიმაგრება შეუძლებელია" + +#: commands/tablecmds.c:17789 +#, c-format +msgid "cannot attach inheritance parent as partition" +msgstr "მემკვიდრეობის მშობლის დანაყოფად მიმაგრება შეუძლებელია" + +#: commands/tablecmds.c:17823 +#, c-format +msgid "cannot attach a temporary relation as partition of permanent relation \"%s\"" +msgstr "დროებითი ურითერთობის, როგორც მუდმივი ურთიერთობის (\"%s\") დანაყოფის მიმაგრება შეუძლებელია" + +#: commands/tablecmds.c:17831 +#, c-format +msgid "cannot attach a permanent relation as partition of temporary relation \"%s\"" +msgstr "მუდმივი ურთიერთობის, როგორც დროებითი ურთიერთობის (%s) დანაყოფის მიმაგრება შეუძლებელია" + +#: commands/tablecmds.c:17839 +#, c-format +msgid "cannot attach as partition of temporary relation of another session" +msgstr "სხვა სესიის დროებითი ურთიერთობის დანაყოფის მიმაგრება შეუძლებელია" + +#: commands/tablecmds.c:17846 +#, c-format +msgid "cannot attach temporary relation of another session as partition" +msgstr "სხვა სესიის დროებითი ურთიერთობის დანაყოფად მიმაგრება შეუძლებელია" + +#: commands/tablecmds.c:17866 +#, c-format +msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\"" +msgstr "ცხრილი \"%s\" შეიცავს სვეტს \"%s\", რომელიც მშობელში \"%s\" აღმოჩენილი არაა" + +#: commands/tablecmds.c:17869 +#, c-format +msgid "The new partition may contain only the columns present in parent." +msgstr "ახალი დანაყოფი მხოლოდ მშობელში არსებულ სვეტებს შეიძლება, შეიცავდეს." + +#: commands/tablecmds.c:17881 +#, c-format +msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition" +msgstr "ტრიგერი \"%s\" ხელს უშლის ცხრილს \"%s\" დანაყოფად გადაიქცეს" + +#: commands/tablecmds.c:17883 +#, c-format +msgid "ROW triggers with transition tables are not supported on partitions." +msgstr "დანაყოფებზე იდენტიფიკაციის სვეტები მხარდაჭერილი არაა." + +#: commands/tablecmds.c:18062 +#, c-format +msgid "cannot attach foreign table \"%s\" as partition of partitioned table \"%s\"" +msgstr "გარე ცხრილის \"%s\" დაყოფილი ცხრილის (\"%s\") დანაყოფის სახით მიმაგრება შეუძლებელია" + +#: commands/tablecmds.c:18065 +#, c-format +msgid "Partitioned table \"%s\" contains unique indexes." +msgstr "დაყოფილი ცხრილი \"%s\" უნიკალურ ცხრილებს შეიცავს." + +#: commands/tablecmds.c:18382 +#, c-format +msgid "cannot detach partitions concurrently when a default partition exists" +msgstr "ნაგულისხმები დანაყოფის არსებობის შემთხვევაში დანაყოფების ერთდროული მოხსნა შეუძლებელია" + +#: commands/tablecmds.c:18491 +#, c-format +msgid "partitioned table \"%s\" was removed concurrently" +msgstr "დაყოფილი ცხრილი \"%s\" ერთდროულად წაიშალა" + +#: commands/tablecmds.c:18497 +#, c-format +msgid "partition \"%s\" was removed concurrently" +msgstr "დანაყოფი \"%s\" ერთდროულად წაიშალა" + +#: commands/tablecmds.c:19012 commands/tablecmds.c:19032 commands/tablecmds.c:19053 commands/tablecmds.c:19072 commands/tablecmds.c:19114 +#, c-format +msgid "cannot attach index \"%s\" as a partition of index \"%s\"" +msgstr "ერთი ინდექსის ინდექსის (%s) მეორე ინდექსის (\"%s) დანაყოფად მიმაგრება შეუძლებელია" + +#: commands/tablecmds.c:19015 +#, c-format +msgid "Index \"%s\" is already attached to another index." +msgstr "ინდექსი %s სხვა ინდექსზეა უკვე მიმაგრებული." + +#: commands/tablecmds.c:19035 +#, c-format +msgid "Index \"%s\" is not an index on any partition of table \"%s\"." +msgstr "ინდექსი %s ცხრილის (%s) არცერთი დანაყოფის ინდექსი არაა." + +#: commands/tablecmds.c:19056 +#, c-format +msgid "The index definitions do not match." +msgstr "ინდექსის აღწერები არ ემთხვევა." + +#: commands/tablecmds.c:19075 +#, c-format +msgid "The index \"%s\" belongs to a constraint in table \"%s\" but no constraint exists for index \"%s\"." +msgstr "" + +#: commands/tablecmds.c:19117 +#, c-format +msgid "Another index is already attached for partition \"%s\"." +msgstr "ცხრილისთვის %s სხვა ინდექსი უკვე მიმაგრებულია." + +#: commands/tablecmds.c:19353 +#, c-format +msgid "column data type %s does not support compression" +msgstr "სვეტის მონაცემის ტიპს (%s) შეკუმშვის მხარდაჭერა არ გააჩნია" + +#: commands/tablecmds.c:19360 +#, c-format +msgid "invalid compression method \"%s\"" +msgstr "შეკუმშვის არასწორი მეთოდი \"%s\"" + +#: commands/tablecmds.c:19386 +#, c-format +msgid "invalid storage type \"%s\"" +msgstr "საცავის არასწორი ტიპი \"%s\"" + +#: commands/tablecmds.c:19396 +#, c-format +msgid "column data type %s can only have storage PLAIN" +msgstr "სვეტის მონაცემების ტიპს %s საცავის ტიპად მხოლოდ PLAIN შეიძლება, ჰქონდეს" + +#: commands/tablespace.c:199 commands/tablespace.c:650 +#, c-format +msgid "\"%s\" exists but is not a directory" +msgstr "%s არსებობს, მაგრამ საქაღალდე არაა" + +#: commands/tablespace.c:230 +#, c-format +msgid "permission denied to create tablespace \"%s\"" +msgstr "ცხრილების სივრცის შექმნის წვდომა აკრძალულია: \"%s\"" + +#: commands/tablespace.c:232 +#, c-format +msgid "Must be superuser to create a tablespace." +msgstr "ცხრილის სივრცეების შესაქმნელად საჭიროა ზემომხმარებლის უფლებები." + +#: commands/tablespace.c:248 +#, c-format +msgid "tablespace location cannot contain single quotes" +msgstr "ცხრილის სივრცის მდებარეობა ერთმაგ ფრჩხილებს არ შეიცავს" + +#: commands/tablespace.c:261 +#, c-format +msgid "tablespace location must be an absolute path" +msgstr "ცხრილის სივრცის მდებარეობა აბსოლუტური ბილიკი უნდა იყოს" + +#: commands/tablespace.c:273 +#, c-format +msgid "tablespace location \"%s\" is too long" +msgstr "ცხრილის სივრცის მდებარეობა \"%s\" ძალიან გრძელია" + +#: commands/tablespace.c:280 +#, c-format +msgid "tablespace location should not be inside the data directory" +msgstr "ცხრილის სივრცის მდებარეობა მონაცემების საქაღალდის შიგნით არ უნდა მდებარეობდეს" + +#: commands/tablespace.c:289 commands/tablespace.c:976 +#, c-format +msgid "unacceptable tablespace name \"%s\"" +msgstr "ცხრილის სივრცის დაუშვებელი სახელი: %s" + +#: commands/tablespace.c:291 commands/tablespace.c:977 +#, c-format +msgid "The prefix \"pg_\" is reserved for system tablespaces." +msgstr "პრეფიქსი \"pg_\" დაცულია სისტემური ცხრილის სივრცეებისთვის." + +#: commands/tablespace.c:310 commands/tablespace.c:998 +#, c-format +msgid "tablespace \"%s\" already exists" +msgstr "ცხრილის სივრცე უკვე არსებობს: %s" + +#: commands/tablespace.c:326 +#, c-format +msgid "pg_tablespace OID value not set when in binary upgrade mode" +msgstr "ბინარული განახლების რეჟიმში pg_tablespace-ის OID-ის მნიშვნელობა დაყენებული არაა" + +#: commands/tablespace.c:431 commands/tablespace.c:959 commands/tablespace.c:1048 commands/tablespace.c:1117 commands/tablespace.c:1263 commands/tablespace.c:1466 +#, c-format +msgid "tablespace \"%s\" does not exist" +msgstr "ცხრილის სივრცე არ არსებობს: %s" + +#: commands/tablespace.c:437 +#, c-format +msgid "tablespace \"%s\" does not exist, skipping" +msgstr "ცხრილის სივრცე არ არსებობს: %s, გამოტოვება" + +#: commands/tablespace.c:463 +#, c-format +msgid "tablespace \"%s\" cannot be dropped because some objects depend on it" +msgstr "ცხრილების სივრცის (%s) წაშლა შეუძლებელია. მას სხვა ობიექტები ეყრდნობა" + +#: commands/tablespace.c:530 +#, c-format +msgid "tablespace \"%s\" is not empty" +msgstr "ცხრილის სივრცე %s ცარიელი არაა" + +#: commands/tablespace.c:617 +#, c-format +msgid "directory \"%s\" does not exist" +msgstr "საქაღალდე არ არსებობს: %s" + +#: commands/tablespace.c:618 +#, c-format +msgid "Create this directory for the tablespace before restarting the server." +msgstr "სერვერის გადატვირთვამდე ცხრილის სივრცეებისთვის საქაღალდე შექმენით ." + +#: commands/tablespace.c:623 +#, c-format +msgid "could not set permissions on directory \"%s\": %m" +msgstr "საქაღალდეზე \"%s\" წვდომების დაყენების შეცდომა: %m" + +#: commands/tablespace.c:655 +#, c-format +msgid "directory \"%s\" already in use as a tablespace" +msgstr "საქაღალდე \"%s\" ცხრილების სივრცის მიერ უკვე გამოიყენება" + +#: commands/tablespace.c:833 commands/tablespace.c:919 +#, c-format +msgid "could not remove symbolic link \"%s\": %m" +msgstr "სიმბმულის წაშლის შეცდომა %s: %m" + +#: commands/tablespace.c:842 commands/tablespace.c:927 +#, c-format +msgid "\"%s\" is not a directory or symbolic link" +msgstr "%s საქაღალდეს ან სიმბმულს არ წარმოადგენს" + +#: commands/tablespace.c:1122 +#, c-format +msgid "Tablespace \"%s\" does not exist." +msgstr "ცხრილის სივრცე არ არსებობს: %s." + +#: commands/tablespace.c:1568 +#, c-format +msgid "directories for tablespace %u could not be removed" +msgstr "ცხრილების სივრცის (%u) საქაღალდეების წაშლა შეუძლებელია" + +#: commands/tablespace.c:1570 +#, c-format +msgid "You can remove the directories manually if necessary." +msgstr "თუ გჭირდებათ, საქაღალდეები შეგიძლიათ ხელითაც წაშალოთ." + +#: commands/trigger.c:232 commands/trigger.c:243 +#, c-format +msgid "\"%s\" is a table" +msgstr "\"%s\" ცხრილია" + +#: commands/trigger.c:234 commands/trigger.c:245 +#, c-format +msgid "Tables cannot have INSTEAD OF triggers." +msgstr "ცხრილებს INSTEAD OF ტიპის ტრიგერები ვერ ექნებათ." + +#: commands/trigger.c:266 +#, c-format +msgid "\"%s\" is a partitioned table" +msgstr "\"%s\" დაყოფილი ცხრილია" + +#: commands/trigger.c:268 +#, c-format +msgid "ROW triggers with transition tables are not supported on partitioned tables." +msgstr "დანაყოფებზე იდენტიფიკაციის სვეტები მხარდაჭერილი არაა." + +#: commands/trigger.c:280 commands/trigger.c:287 commands/trigger.c:451 +#, c-format +msgid "\"%s\" is a view" +msgstr "\"%s\" ხედია" + +#: commands/trigger.c:282 +#, c-format +msgid "Views cannot have row-level BEFORE or AFTER triggers." +msgstr "ხედებს მწკრივის დონის BEFORE და AFTER ტრიგერები ვერ ექნებათ." + +#: commands/trigger.c:289 +#, c-format +msgid "Views cannot have TRUNCATE triggers." +msgstr "ხედებს TRUNCATE ტიპის ტრიგერები ვერ ექნებათ." + +#: commands/trigger.c:297 commands/trigger.c:309 commands/trigger.c:444 +#, c-format +msgid "\"%s\" is a foreign table" +msgstr "\"%s\" გარე ცხრილია" + +#: commands/trigger.c:299 +#, c-format +msgid "Foreign tables cannot have INSTEAD OF triggers." +msgstr "გარე ცხრილებს INSTEAD OF ტრიგერები ვერ ექნებათ." + +#: commands/trigger.c:311 +#, c-format +msgid "Foreign tables cannot have constraint triggers." +msgstr "გარე ცხრილებს შეზღუდვის ტრიგერები ვერ ექნებათ." + +#: commands/trigger.c:316 commands/trigger.c:1332 commands/trigger.c:1439 +#, c-format +msgid "relation \"%s\" cannot have triggers" +msgstr "ურთიერთობას \"%s\" ტრიგერები არ შეიძლება ჰქონდეთ" + +#: commands/trigger.c:387 +#, c-format +msgid "TRUNCATE FOR EACH ROW triggers are not supported" +msgstr "TRUNCATE FOR EACH ROW ტრიგერები მხარდაუჭერელია" + +#: commands/trigger.c:395 +#, c-format +msgid "INSTEAD OF triggers must be FOR EACH ROW" +msgstr "INSTEAD OF ტრიგერები უნდა იყოს FOR EACH ROW" + +#: commands/trigger.c:399 +#, c-format +msgid "INSTEAD OF triggers cannot have WHEN conditions" +msgstr "INSTEAD OF ტრიგერებს WHEN პირობები არ შეიძლება ჰქონდეს" + +#: commands/trigger.c:403 +#, c-format +msgid "INSTEAD OF triggers cannot have column lists" +msgstr "INSTEAD OF ტრიგერებს სვეტების სიები არ შეიძლება ჰქონდეთ" + +#: commands/trigger.c:432 +#, c-format +msgid "ROW variable naming in the REFERENCING clause is not supported" +msgstr "" + +#: commands/trigger.c:433 +#, c-format +msgid "Use OLD TABLE or NEW TABLE for naming transition tables." +msgstr "გარდამავალი ცხრილების სახელებისთვის OLD TABLE ან NEW TABLE გამოიყენეთ." + +#: commands/trigger.c:446 +#, c-format +msgid "Triggers on foreign tables cannot have transition tables." +msgstr "გარე ცხრილებზე არსებულ ტრიგერებს გარდამავალი ცხრილები ვერ ექნებათ." + +#: commands/trigger.c:453 +#, c-format +msgid "Triggers on views cannot have transition tables." +msgstr "ხედებზე არსებულ ტრიგერებს გარდამავალი ცხრილები ვერ ექნებათ." + +#: commands/trigger.c:469 +#, c-format +msgid "ROW triggers with transition tables are not supported on partitions" +msgstr "ROW ტრიგერები გარდამავალი ცხრილებით დანაყოფებზე მხარდაჭერილი არაა" + +#: commands/trigger.c:473 +#, c-format +msgid "ROW triggers with transition tables are not supported on inheritance children" +msgstr "ROW ტრიგერები გარდამავალი ცხრილებით მემკვიდრეობის შვილებზე მხარდაჭერილი არაა" + +#: commands/trigger.c:479 +#, c-format +msgid "transition table name can only be specified for an AFTER trigger" +msgstr "გარდამავალი ცხრილის სახელი მხოლოდ ტრიგერისთვის AFTER შეგიძლიათ, მიუთითოთ" + +#: commands/trigger.c:484 +#, c-format +msgid "TRUNCATE triggers with transition tables are not supported" +msgstr "ტრიგერები TRUNCATE გარდამავალი ცხრილებით მხარდაჭერილი არაა" + +#: commands/trigger.c:501 +#, c-format +msgid "transition tables cannot be specified for triggers with more than one event" +msgstr "გარდამავალი ცხრილების მითითება ტრიგერებისთვის, რომლებსაც ერთზე მეტი მოვლენა გააჩნიათ, შეუძლებელია" + +#: commands/trigger.c:512 +#, c-format +msgid "transition tables cannot be specified for triggers with column lists" +msgstr "გარდამავალი ცხრილების მითითება ტრიგერებისთვის, რომლებსაც სვეტების სიები გააჩნიათ, შეუძლებელია" + +#: commands/trigger.c:529 +#, c-format +msgid "NEW TABLE can only be specified for an INSERT or UPDATE trigger" +msgstr "NEW TABLE მხოლოდ INSERT ან UPDATE ტრიგერისთვის შეგიძლიათ, მიუთითოთ" + +#: commands/trigger.c:534 +#, c-format +msgid "NEW TABLE cannot be specified multiple times" +msgstr "NEW TABLE -ის რამდენჯერმე მითითება აკრძალულია" + +#: commands/trigger.c:544 +#, c-format +msgid "OLD TABLE can only be specified for a DELETE or UPDATE trigger" +msgstr "OLD TABLE მხოლოდ DELETE ან UPDATE ტრიგერისთვის შეგიძლიათ, მიუთითოთ" + +#: commands/trigger.c:549 +#, c-format +msgid "OLD TABLE cannot be specified multiple times" +msgstr "OLD TABLE -ის რამდენჯერმე მითითება აკრძალულია" + +#: commands/trigger.c:559 +#, c-format +msgid "OLD TABLE name and NEW TABLE name cannot be the same" +msgstr "OLD TABLE-ის და NEW TABLE-ის სახელები ერთი და იგივე ვერ იქნება" + +#: commands/trigger.c:623 commands/trigger.c:636 +#, c-format +msgid "statement trigger's WHEN condition cannot reference column values" +msgstr "გამოსახულების ტრიგერის WHEN პირობა არ შეუძლება, სვეტის მნიშვნელობებზე მიუთითებდეს" + +#: commands/trigger.c:628 +#, c-format +msgid "INSERT trigger's WHEN condition cannot reference OLD values" +msgstr "INSERT-ის ტრიგერის WHEN პირობა არ შეიძლება, OLD მნიშვნელობებზე მიუთითებდეს" + +#: commands/trigger.c:641 +#, c-format +msgid "DELETE trigger's WHEN condition cannot reference NEW values" +msgstr "DELETE-ის ტრიგერის WHEN პირობა არ შეიძლება, NEW მნიშვნელობებზე მიუთითებდეს" + +#: commands/trigger.c:646 +#, c-format +msgid "BEFORE trigger's WHEN condition cannot reference NEW system columns" +msgstr "BEFORE-ის ტრიგერის WHEN პირობა არ შეიძლება, NEW სისტემურ სვეტებზე მიუთითებდეს" + +#: commands/trigger.c:654 commands/trigger.c:662 +#, c-format +msgid "BEFORE trigger's WHEN condition cannot reference NEW generated columns" +msgstr "BEFORE-ის ტრიგერის WHEN პირობა არ შეიძლება, NEW გენერირებულ სვეტებზე მიუთითებდეს" + +#: commands/trigger.c:655 +#, c-format +msgid "A whole-row reference is used and the table contains generated columns." +msgstr "" + +#: commands/trigger.c:770 commands/trigger.c:1614 +#, c-format +msgid "trigger \"%s\" for relation \"%s\" already exists" +msgstr "ტრიგერი \"%s\" ურთიერთობისთვის \"%s\" უკვე არსებობს" + +#: commands/trigger.c:783 +#, c-format +msgid "trigger \"%s\" for relation \"%s\" is an internal or a child trigger" +msgstr "ტრიგერი \"%s\" ურთიერთობისთვის \"%s\" შიდა ან შვილი ტრიგერია" + +#: commands/trigger.c:802 +#, c-format +msgid "trigger \"%s\" for relation \"%s\" is a constraint trigger" +msgstr "ტრიგერი \"%s\" ურთიერთობისთვის \"%s\", შეზღუდვის ტრიგერია" + +#: commands/trigger.c:1404 commands/trigger.c:1557 commands/trigger.c:1838 +#, c-format +msgid "trigger \"%s\" for table \"%s\" does not exist" +msgstr "ტრიგერი \"%s\" ცხრილისთვის \"%s\" არ არსებობს" + +#: commands/trigger.c:1529 +#, c-format +msgid "cannot rename trigger \"%s\" on table \"%s\"" +msgstr "ტრიგერის (%s) (ცხრილზე %s) სახელის გადარქმევა შეუძლებელია" + +#: commands/trigger.c:1531 +#, c-format +msgid "Rename the trigger on the partitioned table \"%s\" instead." +msgstr "ამის მაგიერ დაყოფილ ცხრილზე ('%s\") ტრიგერს გადაარქვით სახელი." + +#: commands/trigger.c:1631 +#, c-format +msgid "renamed trigger \"%s\" on relation \"%s\"" +msgstr "ურთიერთობაზე \"%2$s\" ტრიგერს \"%1$s\" სახელი გადაერქვა" + +#: commands/trigger.c:1777 +#, c-format +msgid "permission denied: \"%s\" is a system trigger" +msgstr "წვდომა აკრძალულია: %s სისტემური ტრიგერია" + +#: commands/trigger.c:2386 +#, c-format +msgid "trigger function %u returned null value" +msgstr "ტრიგერის ფუნქციამ %u ნულოვანი მნიშვნელობა დააბრუნა" + +#: commands/trigger.c:2446 commands/trigger.c:2664 commands/trigger.c:2917 commands/trigger.c:3252 +#, c-format +msgid "BEFORE STATEMENT trigger cannot return a value" +msgstr "BEFORE STATEMENT ტრიგერს მნიშვნელობის დაბრუნება არ შეუძლია" + +#: commands/trigger.c:2522 +#, c-format +msgid "moving row to another partition during a BEFORE FOR EACH ROW trigger is not supported" +msgstr "მწკრივის სხვა დანაყოფში გადატანა BEFORE FOR EACH ROW ტრიგერის დროს მხარდაჭერილი არაა" + +#: commands/trigger.c:2523 +#, c-format +msgid "Before executing trigger \"%s\", the row was to be in partition \"%s.%s\"." +msgstr "ტრიგერის \"%s\" შესრულებამდე სვეტი დანაყოფში \"%s.%s\" უნდა ყოფილიყო." + +#: commands/trigger.c:3329 executor/nodeModifyTable.c:2363 executor/nodeModifyTable.c:2446 +#, c-format +msgid "tuple to be updated was already modified by an operation triggered by the current command" +msgstr "" + +#: commands/trigger.c:3330 executor/nodeModifyTable.c:1531 executor/nodeModifyTable.c:1605 executor/nodeModifyTable.c:2364 executor/nodeModifyTable.c:2447 executor/nodeModifyTable.c:3078 +#, c-format +msgid "Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows." +msgstr "" + +#: 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 +#, c-format +msgid "could not serialize access due to concurrent update" +msgstr "ერთდროული განახლების გამო წვდომის სერიალიზაცია შეუძლებელია" + +#: commands/trigger.c:3379 executor/nodeModifyTable.c:1637 executor/nodeModifyTable.c:2464 executor/nodeModifyTable.c:2613 executor/nodeModifyTable.c:2966 +#, c-format +msgid "could not serialize access due to concurrent delete" +msgstr "ერთდროული წაშლის გამო წვდომის სერიალიზაცია შეუძლებელია" + +#: commands/trigger.c:4586 +#, c-format +msgid "cannot fire deferred trigger within security-restricted operation" +msgstr "" + +#: commands/trigger.c:5769 +#, c-format +msgid "constraint \"%s\" is not deferrable" +msgstr "შეზღუდვა გადადებადი არაა %s" + +#: commands/trigger.c:5792 +#, c-format +msgid "constraint \"%s\" does not exist" +msgstr "შეზღუდვა \"%s\" არ არსებობს" + +#: commands/tsearchcmds.c:118 commands/tsearchcmds.c:635 +#, c-format +msgid "function %s should return type %s" +msgstr "ფუნქციამ %s უნდა დააბრუნოს ტიპი %s" + +#: commands/tsearchcmds.c:194 +#, c-format +msgid "must be superuser to create text search parsers" +msgstr "ტექსტის ძებნის დამმუშავებლების შესაქმნელად საჭიროა ზემომხმარებლის წვდომელი" + +#: commands/tsearchcmds.c:247 +#, c-format +msgid "text search parser parameter \"%s\" not recognized" +msgstr "ტექსტის ძებნის დამმუშავებლის პარამეტრი \"%s\" უცნობია" + +#: commands/tsearchcmds.c:257 +#, c-format +msgid "text search parser start method is required" +msgstr "ტექსტის ძებნის დამმუშავებლის გაშვების მეთოდი აუცილებელია" + +#: commands/tsearchcmds.c:262 +#, c-format +msgid "text search parser gettoken method is required" +msgstr "ტექსტის ძებნის დამმუშავებლის gettoken მეთოდი აუცილებელია" + +#: commands/tsearchcmds.c:267 +#, c-format +msgid "text search parser end method is required" +msgstr "ტექსტის ძებნის დამმუშავებლის end მეთოდი აუცილებელია" + +#: commands/tsearchcmds.c:272 +#, c-format +msgid "text search parser lextypes method is required" +msgstr "" + +#: commands/tsearchcmds.c:366 +#, c-format +msgid "text search template \"%s\" does not accept options" +msgstr "ტექსტის ძებნის შაბლონი '%s\" პარამეტრებს არ იღებს" + +#: commands/tsearchcmds.c:440 +#, c-format +msgid "text search template is required" +msgstr "ტექსტის ძებნის შაბლონი აუცილებელია" + +#: commands/tsearchcmds.c:701 +#, c-format +msgid "must be superuser to create text search templates" +msgstr "ტექსტის ძებნის შაბლონების შესაქმნელად ზემომხმარებლის უფლებებია საჭირო" + +#: commands/tsearchcmds.c:743 +#, c-format +msgid "text search template parameter \"%s\" not recognized" +msgstr "ტექსტის ძებნის შაბლონის უცნობი პარამეტრი: \"%s\"" + +#: commands/tsearchcmds.c:753 +#, c-format +msgid "text search template lexize method is required" +msgstr "საჭიროა ტექსტის ძებნის შაბლონის lexize მეთოდი" + +#: commands/tsearchcmds.c:933 +#, c-format +msgid "text search configuration parameter \"%s\" not recognized" +msgstr "ტექსტის ძებნის კონფიგურაციის უცნობი პარამეტრი: \"%s\"" + +#: commands/tsearchcmds.c:940 +#, c-format +msgid "cannot specify both PARSER and COPY options" +msgstr "ორივე, PARSER და COPY პარამეტრებს ვერ მიუთითებთ" + +#: commands/tsearchcmds.c:976 +#, c-format +msgid "text search parser is required" +msgstr "საჭიროა ტექსტის ძებნის დამმუშავებლი" + +#: commands/tsearchcmds.c:1241 +#, c-format +msgid "token type \"%s\" does not exist" +msgstr "კოდის ტიპი არ არსებობს: %s" + +#: commands/tsearchcmds.c:1501 +#, c-format +msgid "mapping for token type \"%s\" does not exist" +msgstr "მიბმა კოდის ტიპისთვის %s არ არსებობს" + +#: commands/tsearchcmds.c:1507 +#, c-format +msgid "mapping for token type \"%s\" does not exist, skipping" +msgstr "მიბმა კოდის ტიპისთვის %s არ არსებობს, გამოტოვება" + +#: commands/tsearchcmds.c:1670 commands/tsearchcmds.c:1785 +#, c-format +msgid "invalid parameter list format: \"%s\"" +msgstr "პარამეტრების სიის არასწორი ფორმატი: \"%s\"" + +#: commands/typecmds.c:217 +#, c-format +msgid "must be superuser to create a base type" +msgstr "საბაზისო ტიპის შესაცვლელად საჭიროა ზემომხმარებლის პრივილეგიები" + +#: commands/typecmds.c:275 +#, c-format +msgid "Create the type as a shell type, then create its I/O functions, then do a full CREATE TYPE." +msgstr "" + +#: commands/typecmds.c:327 commands/typecmds.c:1450 commands/typecmds.c:4257 +#, c-format +msgid "type attribute \"%s\" not recognized" +msgstr "ტიპის უცნობი ატრიბუტი: %s" + +#: commands/typecmds.c:382 +#, c-format +msgid "invalid type category \"%s\": must be simple ASCII" +msgstr "არასწორი ტიპის კატეგორია \"%s\": უნდა წარმოადგენდეს უბრალო ASCII-ს" + +#: commands/typecmds.c:401 +#, c-format +msgid "array element type cannot be %s" +msgstr "%s მასივის ელემენტის ტიპი არ შეიძლება იყოს" + +#: commands/typecmds.c:433 +#, c-format +msgid "alignment \"%s\" not recognized" +msgstr "სწორება \"%s\" უცნობია" + +#: commands/typecmds.c:450 commands/typecmds.c:4131 +#, c-format +msgid "storage \"%s\" not recognized" +msgstr "საცავი \"%s\" უცნობია" + +#: commands/typecmds.c:461 +#, c-format +msgid "type input function must be specified" +msgstr "აუცილებელია ტიპის შეყვანის ფუნქციის მითითება" + +#: commands/typecmds.c:465 +#, c-format +msgid "type output function must be specified" +msgstr "აუცილებელია ტიპის გამოტანის ფუნქციის მითითება" + +#: commands/typecmds.c:470 +#, c-format +msgid "type modifier output function is useless without a type modifier input function" +msgstr "ტიპის მოდიფიკატორის გამოტანის ფუნქცია ტიპის მოდიფიკატორის შეყვანის ფუნქციის გარეშე უაზროა" + +#: commands/typecmds.c:512 +#, c-format +msgid "element type cannot be specified without a subscripting function" +msgstr "ელემენტის ტიპის მითითება გამომწერი ფუნქციის გარეშე შეუძლებელია" + +#: commands/typecmds.c:781 +#, c-format +msgid "\"%s\" is not a valid base type for a domain" +msgstr "%s დომენისთვის სწორ ბაზისურ ტიპს არ წარმოადგენს" + +#: commands/typecmds.c:879 +#, c-format +msgid "multiple default expressions" +msgstr "ერთზე მეტი ნაგულისხმები გამოსახულება" + +#: commands/typecmds.c:942 commands/typecmds.c:951 +#, c-format +msgid "conflicting NULL/NOT NULL constraints" +msgstr "კონფლიქტური NULL/NOT NULL შეზღუდვები" + +#: commands/typecmds.c:967 +#, c-format +msgid "check constraints for domains cannot be marked NO INHERIT" +msgstr "დომენის შემოწმების შეზღუდვების, როგორც NO INHERIT, მონიშვნა შეუძლებელია" + +#: commands/typecmds.c:976 commands/typecmds.c:2956 +#, c-format +msgid "unique constraints not possible for domains" +msgstr "უნიკალური შეზღუდვები დომენებისთვის შეუძლებელია" + +#: commands/typecmds.c:982 commands/typecmds.c:2962 +#, c-format +msgid "primary key constraints not possible for domains" +msgstr "ძირითადი გასაღების შეზღუდვა დომენებისთვის შეუძლებელია" + +#: commands/typecmds.c:988 commands/typecmds.c:2968 +#, c-format +msgid "exclusion constraints not possible for domains" +msgstr "გაშვების შეზღუდვა დომენებისთვის შეუძლებელია" + +#: commands/typecmds.c:994 commands/typecmds.c:2974 +#, c-format +msgid "foreign key constraints not possible for domains" +msgstr "გარე გასაღების შეზღუდვა დომენებისთვის შეუძლებელია" + +#: commands/typecmds.c:1003 commands/typecmds.c:2983 +#, c-format +msgid "specifying constraint deferrability not supported for domains" +msgstr "" + +#: commands/typecmds.c:1317 utils/cache/typcache.c:2561 +#, c-format +msgid "%s is not an enum" +msgstr "%s ჩამონათვალი არაა" + +#: commands/typecmds.c:1458 +#, c-format +msgid "type attribute \"subtype\" is required" +msgstr "ტიპის ატრიბუტი \"subtype\" აუცილებელია" + +#: commands/typecmds.c:1463 +#, c-format +msgid "range subtype cannot be %s" +msgstr "%s დიაპაზონის ქვეტიპი ვერ იქნება" + +#: commands/typecmds.c:1482 +#, c-format +msgid "range collation specified but subtype does not support collation" +msgstr "" + +#: commands/typecmds.c:1492 +#, c-format +msgid "cannot specify a canonical function without a pre-created shell type" +msgstr "" + +#: commands/typecmds.c:1493 +#, c-format +msgid "Create the type as a shell type, then create its canonicalization function, then do a full CREATE TYPE." +msgstr "" + +#: commands/typecmds.c:1965 +#, c-format +msgid "type input function %s has multiple matches" +msgstr "ტიპის შეყვანის ფუნქციის (%s) რამდენიმე ასლი არსებობს" + +#: commands/typecmds.c:1983 +#, c-format +msgid "type input function %s must return type %s" +msgstr "ტიპის შეყვანის ფუნქციამ (\"%s\") უნდა დააბრუნოს ტიპი \"%s\"" + +#: commands/typecmds.c:1999 +#, c-format +msgid "type input function %s should not be volatile" +msgstr "ტიპის შეყვანის ფუნქცია (%s) ცვალებადი არ უნდა იყოს" + +#: commands/typecmds.c:2027 +#, c-format +msgid "type output function %s must return type %s" +msgstr "ტიპის გამოტანის ფუნქციამ (%s) უნდა დააბრუნოს ტიპი \"%s\"" + +#: commands/typecmds.c:2034 +#, c-format +msgid "type output function %s should not be volatile" +msgstr "ტიპის გამოტანის ფუნქცია (%s) ცვალებადი არ უნდა იყოს" + +#: commands/typecmds.c:2063 +#, c-format +msgid "type receive function %s has multiple matches" +msgstr "ტიპის მიღების ფუქნციის (%s) რამდენიმე ასლი არსებობს" + +#: commands/typecmds.c:2081 +#, c-format +msgid "type receive function %s must return type %s" +msgstr "ტიპის მიღების ფუნქციამ (%s) უნდა დააბრუნოს ტიპი %s" + +#: commands/typecmds.c:2088 +#, c-format +msgid "type receive function %s should not be volatile" +msgstr "ტიპის მიღების ფუნქცია (%s) ცვალებადი არ უნდა იყოს" + +#: commands/typecmds.c:2116 +#, c-format +msgid "type send function %s must return type %s" +msgstr "ტიპის გაგზავნის ფუნქციამ (%s) უნდა დააბრუნოს ტიპი \"%s\"" + +#: commands/typecmds.c:2123 +#, c-format +msgid "type send function %s should not be volatile" +msgstr "ტიპის გაგზავნის ფუნქცია (%s) ცვალებადი არ უნდა იყოს" + +#: commands/typecmds.c:2150 +#, c-format +msgid "typmod_in function %s must return type %s" +msgstr "typmod_in ფუნქციამ (%s) უნდა დააბრუნოს ტიპი %s" + +#: commands/typecmds.c:2157 +#, c-format +msgid "type modifier input function %s should not be volatile" +msgstr "ტიპის მოდიფიკატორის შეყვანის ფუნქცია (%s) ცვალებადი არ უნდა იყოს" + +#: commands/typecmds.c:2184 +#, c-format +msgid "typmod_out function %s must return type %s" +msgstr "typmod_out ფუნქციამ (%s) უნდა დააბრუნოს ტიპი %s" + +#: commands/typecmds.c:2191 +#, c-format +msgid "type modifier output function %s should not be volatile" +msgstr "ტიპის მოდიფიკატორის გამოტანის ფუნქცია (%s) ცვალებადი არ უნდა იყოს" + +#: commands/typecmds.c:2218 +#, c-format +msgid "type analyze function %s must return type %s" +msgstr "ტიპის ანალიზის ფუნქციამ (%s) უნდა დააბრუნოს ტიპი %s" + +#: commands/typecmds.c:2247 +#, c-format +msgid "type subscripting function %s must return type %s" +msgstr "" + +#: commands/typecmds.c:2257 +#, c-format +msgid "user-defined types cannot use subscripting function %s" +msgstr "" + +#: commands/typecmds.c:2303 +#, c-format +msgid "You must specify an operator class for the range type or define a default operator class for the subtype." +msgstr "" + +#: commands/typecmds.c:2334 +#, c-format +msgid "range canonical function %s must return range type" +msgstr "კანონიკური დიაპაზონის ფუნქციამ (%s) დიაპაზონის ტიპი უნდა დააბრუნოს" + +#: commands/typecmds.c:2340 +#, c-format +msgid "range canonical function %s must be immutable" +msgstr "კანონიკური დიაპაზონის ფუნქცია (%s) მუდმივი უნდა იყოს" + +#: commands/typecmds.c:2376 +#, c-format +msgid "range subtype diff function %s must return type %s" +msgstr "დიაპაზონის ქვეტიპის განსხვავების ფუნქციამ (%s) უნდა დააბრუნოს ტიპი: %s" + +#: commands/typecmds.c:2383 +#, c-format +msgid "range subtype diff function %s must be immutable" +msgstr "დიაპაზონის ქვეტიპის განსხვავების ფუნქცია (%s) უცვლელი უნდა იყოს" + +#: commands/typecmds.c:2410 +#, c-format +msgid "pg_type array OID value not set when in binary upgrade mode" +msgstr "ბინარული განახლების რეჟიმში pg_type-ის მასივის OID-ის მნიშვნელობა დაყენებული არაა" + +#: commands/typecmds.c:2443 +#, c-format +msgid "pg_type multirange OID value not set when in binary upgrade mode" +msgstr "ბინარული განახლების რეჟიმში pg_type-ის მრავალდიაპაზონიანი OID-ის მნიშვნელობა დაყენებული არაა" + +#: commands/typecmds.c:2476 +#, c-format +msgid "pg_type multirange array OID value not set when in binary upgrade mode" +msgstr "ბინარული განახლების რეჟიმში pg_type-ის მრავალდიაპაზონიანი მასივის OID-ის მნიშვნელობა დაყენებული არაა" + +#: commands/typecmds.c:2772 +#, c-format +msgid "column \"%s\" of table \"%s\" contains null values" +msgstr "სვეტი \"%s\" (ცხრილში %s) ნულოვან მნიშვნელობებს შეიცავს" + +#: commands/typecmds.c:2885 commands/typecmds.c:3086 +#, c-format +msgid "constraint \"%s\" of domain \"%s\" does not exist" +msgstr "დომენის (\"%2$s\") შეზღუდვა (\"%1$s\") არ არსებობს" + +#: commands/typecmds.c:2889 +#, c-format +msgid "constraint \"%s\" of domain \"%s\" does not exist, skipping" +msgstr "დომენის (\"%2$s\") შეზღუდვა (\"%1$s\") არ არსებობს. გამოტოვება" + +#: commands/typecmds.c:3093 +#, c-format +msgid "constraint \"%s\" of domain \"%s\" is not a check constraint" +msgstr "დომენის (\"%2$s\") შეზღუდვა (\"%1$s\") შეზღუდვის შემოწმება არაა" + +#: commands/typecmds.c:3194 +#, c-format +msgid "column \"%s\" of table \"%s\" contains values that violate the new constraint" +msgstr "სვეტი \"%s\" ცხრილიდან \"%s\" შეიცავს მნიშვნელობებს, რომელიც ახალ შეზღუდვას არღვევს" + +#: commands/typecmds.c:3423 commands/typecmds.c:3622 commands/typecmds.c:3703 commands/typecmds.c:3889 +#, c-format +msgid "%s is not a domain" +msgstr "\"%s\" დომენი არაა" + +#: commands/typecmds.c:3455 +#, c-format +msgid "constraint \"%s\" for domain \"%s\" already exists" +msgstr "შეზღუდვა \"%s\" დომენისთვის %s უკვე არსებობს" + +#: commands/typecmds.c:3506 +#, c-format +msgid "cannot use table references in domain check constraint" +msgstr "" + +#: commands/typecmds.c:3634 commands/typecmds.c:3715 commands/typecmds.c:4006 +#, c-format +msgid "%s is a table's row type" +msgstr "%s ცხრილის მწკრივის ტიპია" + +#: commands/typecmds.c:3636 commands/typecmds.c:3717 commands/typecmds.c:4008 +#, c-format +msgid "Use ALTER TABLE instead." +msgstr "ამის ნაცვლად გამოიყენეთ ALTER TABLE." + +#: commands/typecmds.c:3642 commands/typecmds.c:3723 commands/typecmds.c:3921 +#, c-format +msgid "cannot alter array type %s" +msgstr "მასივის ტიპის (\"%s\") შეცვლა შეუძლებელია" + +#: commands/typecmds.c:3644 commands/typecmds.c:3725 commands/typecmds.c:3923 +#, c-format +msgid "You can alter type %s, which will alter the array type as well." +msgstr "ტიპი %s შეგიძლიათ, შეცვალოთ, რაც მასივის ტიპსაც შეცვლის." + +#: commands/typecmds.c:3991 +#, c-format +msgid "type \"%s\" already exists in schema \"%s\"" +msgstr "ტიპი \"%s\" სქემაში \"%s\" უკვე არსებობს" + +#: commands/typecmds.c:4159 +#, c-format +msgid "cannot change type's storage to PLAIN" +msgstr "ტიპის საცავს PLAIN-ზე ვერ შეცვლით" + +#: commands/typecmds.c:4252 +#, c-format +msgid "type attribute \"%s\" cannot be changed" +msgstr "ტიპის ატრიბუტის შეცვლა შეუძლებელია: %s" + +#: commands/typecmds.c:4270 +#, c-format +msgid "must be superuser to alter a type" +msgstr "ტიპის შესაცვლელად ზემომხმარებლის უფლებებია საჭირო" + +#: commands/typecmds.c:4291 commands/typecmds.c:4300 +#, c-format +msgid "%s is not a base type" +msgstr "%s საბაზისო ტიპი არაა" + +#: commands/user.c:201 +#, c-format +msgid "SYSID can no longer be specified" +msgstr "SYSID-ის შეცვლა ახლა უკვე შეუძლებელია" + +#: commands/user.c:319 commands/user.c:325 commands/user.c:331 commands/user.c:337 commands/user.c:343 +#, c-format +msgid "permission denied to create role" +msgstr "როლის შექმნის წვდომა აკრძალულია" + +#: commands/user.c:320 +#, c-format +msgid "Only roles with the %s attribute may create roles." +msgstr "როლების შექმნა მხოლოდ %s ატრიბუტის მქონე როლებს შეუძლიათ." + +#: commands/user.c:326 commands/user.c:332 commands/user.c:338 commands/user.c:344 +#, c-format +msgid "Only roles with the %s attribute may create roles with the %s attribute." +msgstr "მხოლოდ როლებს, რომლებსაც %s ატრიბუტი გააჩნიათ, შეუძლიათ როლის შექმნა, რომელსაც აქვს ატრიბუტი %s." + +#: commands/user.c:355 commands/user.c:1393 commands/user.c:1400 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 "როლის სახელი \"%s\" დაცულია" + +#: commands/user.c:357 commands/user.c:1395 commands/user.c:1402 +#, c-format +msgid "Role names starting with \"pg_\" are reserved." +msgstr "როლის სახელები, რომლებიც \"pg_\"-ით იწყება, დაცულია." + +#: commands/user.c:378 commands/user.c:1417 +#, c-format +msgid "role \"%s\" already exists" +msgstr "როლი \"%s\" უკვე არსებობს" + +#: commands/user.c:440 commands/user.c:925 +#, c-format +msgid "empty string is not a valid password, clearing password" +msgstr "ცარიელი სტრიქონი არ არის სწორი პაროლი, პაროლის გაწმენდა" + +#: commands/user.c:469 +#, c-format +msgid "pg_authid OID value not set when in binary upgrade mode" +msgstr "ბინარული განახლების რეჟიმში pg_authid-ის OID-ის მნიშვნელობა დაყენებული არაა" + +#: commands/user.c:653 commands/user.c:1011 +msgid "Cannot alter reserved roles." +msgstr "დარეზერვებულია როლების შეცვლა შეუძლებელია." + +#: commands/user.c:760 commands/user.c:766 commands/user.c:782 commands/user.c:790 commands/user.c:804 commands/user.c:810 commands/user.c:816 commands/user.c:825 commands/user.c:870 commands/user.c:1033 commands/user.c:1044 +#, c-format +msgid "permission denied to alter role" +msgstr "როლის შეცვლის წვდომა აკრძალულია" + +#: commands/user.c:761 commands/user.c:1034 +#, c-format +msgid "Only roles with the %s attribute may alter roles with the %s attribute." +msgstr "მხოლოდ როლებს რომლებსაც %s ატრიბუტი გააჩნიათ, შეუძლიათ შეცვალონ როლები, რომლებსაც %s ატრიბუტი გააჩნიათ." + +#: commands/user.c:767 commands/user.c:805 commands/user.c:811 commands/user.c:817 +#, c-format +msgid "Only roles with the %s attribute may change the %s attribute." +msgstr "მხოლოდ როლებს, რომლებსაც %s ატრიბუტი გააჩნიათ, შეუძლიათ %s ატრიბუტი შეცვალონ." + +#: commands/user.c:783 commands/user.c:1045 +#, c-format +msgid "Only roles with the %s attribute and the %s option on role \"%s\" may alter this role." +msgstr "მხოლოდ როლებს, რომლებსაც %s ატრიბუტი და %s პარამეტრი გააჩნიათ როლზე \"%s\", შეუძლიათ, ეს როლი შეცვალონ." + +#: commands/user.c:791 +#, c-format +msgid "To change another role's password, the current user must have the %s attribute and the %s option on the role." +msgstr "სხვა როლის პაროლის შესაცვლელად მიმდინარე მომხმარებელს ამ როლზე %s ატრიბუტი და %s პარამეტრი უნდა ჰქონდეს." + +#: commands/user.c:826 +#, c-format +msgid "Only roles with the %s option on role \"%s\" may add members." +msgstr "წევრების დამატება მხოლოდ \"%2$s\" როლზე %1$s პარამეტრის მქონე როლებს შეუძლიათ." + +#: commands/user.c:871 +#, c-format +msgid "The bootstrap user must have the %s attribute." +msgstr "" + +#: commands/user.c:1076 +#, c-format +msgid "permission denied to alter setting" +msgstr "პარამეტრის შეცვლის წვდომა აკრძალულია" + +#: commands/user.c:1077 +#, c-format +msgid "Only roles with the %s attribute may alter settings globally." +msgstr "გლობალური პარამეტრების შეცვლა მხოლოდ %s ატრიბუტის მქონე როლებს შეუძლიათ." + +#: commands/user.c:1101 commands/user.c:1173 commands/user.c:1179 +#, c-format +msgid "permission denied to drop role" +msgstr "როლის წაშლის წვდომა აკრძალულია" + +#: 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 "როლების წაშლა მხოლოდ სამიზნე როლზე %s ატრიბუტისა და %s პარამეტრის მქონე როლებს შეუძლიათ." + +#: commands/user.c:1127 +#, c-format +msgid "cannot use special role specifier in DROP ROLE" +msgstr "სპეციალური როლის მიმთითებლის გამოყენება DROP ROLE-ში შეუძლებელია" + +#: commands/user.c:1137 commands/user.c:1364 commands/variable.c:836 commands/variable.c:839 commands/variable.c:923 commands/variable.c:926 utils/adt/acl.c: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 +#, c-format +msgid "role \"%s\" does not exist" +msgstr "როლი არ არსებობს: \"%s\"" + +#: commands/user.c:1142 +#, c-format +msgid "role \"%s\" does not exist, skipping" +msgstr "როლი არ არსებობს: \"%s\". გამოტოვება" + +#: commands/user.c:1155 commands/user.c:1159 +#, c-format +msgid "current user cannot be dropped" +msgstr "მიმდინარე მომხმარებლის წაშლა შეუძლებელია" + +#: commands/user.c:1163 +#, c-format +msgid "session user cannot be dropped" +msgstr "სესიის მომხმარებლის წაშლა შეუძლებელია" + +#: commands/user.c:1174 +#, c-format +msgid "Only roles with the %s attribute may drop roles with the %s attribute." +msgstr "%2$s ატრიბუტის მქონე როლების წაშლა მხოლოდ %1$s ატრიბუტის მქონე როლებს შეუძლიათ." + +#: commands/user.c:1180 +#, c-format +msgid "Only roles with the %s attribute and the %s option on role \"%s\" may drop this role." +msgstr "ამ როლის წაშლა \"%3$s\" როლზე %1$s ატრიბუტისა და %2$s პარამეტრის მქონე როლებს შეუძლიათ." + +#: commands/user.c:1306 +#, c-format +msgid "role \"%s\" cannot be dropped because some objects depend on it" +msgstr "როლის (\"%s\") წაშლა შეუძლებელია, რადგან არსებობენ ობიექტები, რომლებიც მას ეყრდნობიან" + +#: commands/user.c:1380 +#, c-format +msgid "session user cannot be renamed" +msgstr "სესიის მომხმარებლის გადარქმევა შეუძლებელია" + +#: commands/user.c:1384 +#, c-format +msgid "current user cannot be renamed" +msgstr "იმდინარე მომხმარებლის გადარქმევა შეუძლებელია" + +#: commands/user.c:1428 commands/user.c:1438 +#, c-format +msgid "permission denied to rename role" +msgstr "როლის სახელის გადარქმევის წვდომა აკრძალულია" + +#: commands/user.c:1429 +#, c-format +msgid "Only roles with the %s attribute may rename roles with the %s attribute." +msgstr "%2$s ატრიბუტის მქონე როლების სახელის გადარქმევა მხოლოდ %1$s ატრიბუტის მქონე როლებს შეუძლიათ." + +#: commands/user.c:1439 +#, c-format +msgid "Only roles with the %s attribute and the %s option on role \"%s\" may rename this role." +msgstr "ამ როლის სახელის გადარქმევა მხოლოდ \"%3$s\" როლზე %1$s ატრიბუტისა და %2$s პარამეტრის მქონე როლებს შეუძლიათ." + +#: commands/user.c:1461 +#, c-format +msgid "MD5 password cleared because of role rename" +msgstr "MD5 პაროლი გასუფთავდა როლის სახელის შეცვლის გამო" + +#: commands/user.c:1525 gram.y:1260 +#, c-format +msgid "unrecognized role option \"%s\"" +msgstr "როლის უცნობი პარამეტრი: \"%s\"" + +#: commands/user.c:1530 +#, c-format +msgid "unrecognized value for role option \"%s\": \"%s\"" +msgstr "პარამეტრის (%s) უცნობი მნიშვნელობა: %s" + +#: commands/user.c:1563 +#, c-format +msgid "column names cannot be included in GRANT/REVOKE ROLE" +msgstr "'GRANT/REVOKE ROLE'-ში სვეტის სახელებს ვერ ჩასვამთ" + +#: commands/user.c:1603 +#, c-format +msgid "permission denied to drop objects" +msgstr "ობიექტების წაშლის წვდომა აკრძალულია" + +#: commands/user.c:1604 +#, c-format +msgid "Only roles with privileges of role \"%s\" may drop objects owned by it." +msgstr "მხოლოდ როლებს, რომლებსაც როლის, '%s' პრივილეგიები გააჩნია, შეუძლია, მის მფლობელობაში მყოფი ობიექტები წაშალოს." + +#: commands/user.c:1632 commands/user.c:1643 +#, c-format +msgid "permission denied to reassign objects" +msgstr "ობიექტების თავიდან მინიჭების უფლება აკრძალულია" + +#: commands/user.c:1633 +#, c-format +msgid "Only roles with privileges of role \"%s\" may reassign objects owned by it." +msgstr "მხოლოდ როლებს, რომლებსაც როლის, '%s' პრივილეგიები გააჩნია, შეუძლია, მის მფლობელობაში მყოფი ობიექტები თავიდან მიანიჭოს." + +#: commands/user.c:1644 +#, c-format +msgid "Only roles with privileges of role \"%s\" may reassign objects to it." +msgstr "მხოლოდ როლებს, რომლებსაც როლის, '%s' პრივილეგიები გააჩნია, შეუძლია, ობიექტები თავიდან მიანიჭოს." + +#: commands/user.c:1740 +#, c-format +msgid "role \"%s\" cannot be a member of any role" +msgstr "როლი \"%s\" სხვა როლის წევრი ვერ იქნება" + +#: commands/user.c:1753 +#, c-format +msgid "role \"%s\" is a member of role \"%s\"" +msgstr "როლი \"%s\" როლის \"%s\" წევრია" + +#: commands/user.c:1793 commands/user.c:1819 +#, c-format +msgid "%s option cannot be granted back to your own grantor" +msgstr "%s პარამეტრს მომნიჭებელს ვერ მიანიჭებთ" + +#: commands/user.c:1896 +#, c-format +msgid "role \"%s\" has already been granted membership in role \"%s\" by role \"%s\"" +msgstr "როლი \"%s\" უკვე გაწევრდა როლში \"%s\" \"%s\" როლის მიერ" + +#: commands/user.c:2031 +#, c-format +msgid "role \"%s\" has not been granted membership in role \"%s\" by role \"%s\"" +msgstr "როლს \"%s\" უარი ეთქვა როლში \"%s\" გაწევრებაზე \"%s\" როლის მიერ" + +#: commands/user.c:2131 +#, c-format +msgid "role \"%s\" cannot have explicit members" +msgstr "როლი \"%s\" არ შეიძლება, აშკარა წევრებს შეიცავდეს" + +#: commands/user.c:2142 commands/user.c:2165 +#, c-format +msgid "permission denied to grant role \"%s\"" +msgstr "როლის (\"%s\") დაყენების წვდომა აკრძალულია" + +#: commands/user.c:2144 +#, c-format +msgid "Only roles with the %s attribute may grant roles with the %s attribute." +msgstr "მხოლოდ როლებს, რომლებსაც %s ატრიბუტი გააჩნიათ, შეუძლიათ, როლებს %s ატრიბუტი მიანიჭონ." + +#: commands/user.c:2149 commands/user.c:2172 +#, c-format +msgid "permission denied to revoke role \"%s\"" +msgstr "როლის (\"%s\") გაუქმების წვდომა აკრძალულია" + +#: commands/user.c:2151 +#, c-format +msgid "Only roles with the %s attribute may revoke roles with the %s attribute." +msgstr "მხოლოდ როლებს, რომლებსაც %s ატრიბუტი გააჩნიათ, შეუძლიათ, როლებს %s ატრიბუტი მოაცილონ." + +#: commands/user.c:2167 +#, c-format +msgid "Only roles with the %s option on role \"%s\" may grant this role." +msgstr "მხოლოდ როლებს, რომლებსაც როლზე \"%2$s\" პარამეტრი \"%1$s\" გააჩნიათ, შეუძლიათ, მიანიჭონ ეს როლი." + +#: commands/user.c:2174 +#, c-format +msgid "Only roles with the %s option on role \"%s\" may revoke this role." +msgstr "მხოლოდ როლებს, რომლებსაც როლზე \"%2$s\" პარამეტრი \"%1$s\" გააჩნიათ, შეუძლიათ, მოაცილონ ეს როლი." + +#: commands/user.c:2254 commands/user.c:2263 +#, c-format +msgid "permission denied to grant privileges as role \"%s\"" +msgstr "როლის (\"%s\") მინიჭების წვდომა აკრძალულია" + +#: commands/user.c:2256 +#, c-format +msgid "Only roles with privileges of role \"%s\" may grant privileges as this role." +msgstr "მხოლოდ როლებს, რომლებსაც როლის \"%s\" პრივილეგიები გააჩნიათ, შეუძლიათ პრივილეგიები, როგორც, ამ როლმა, მიანიჭონ." + +#: commands/user.c:2265 +#, c-format +msgid "The grantor must have the %s option on role \"%s\"." +msgstr "მიმნიჭებელს უნდა ჰქონდეს %s პარამეტრი როლზე \"%s\"." + +#: commands/user.c:2273 +#, c-format +msgid "permission denied to revoke privileges granted by role \"%s\"" +msgstr "როლის (\"%s\") მიერ მინიჭებული პრივილეგიების გაუქმების წვდომა აკრძალულია" + +#: commands/user.c:2275 +#, c-format +msgid "Only roles with privileges of role \"%s\" may revoke privileges granted by this role." +msgstr "მხოლოდ როლებს, რომლებსაც როლის \"%s\" პრივილეგიები გააჩნიათ, შეუძლიათ ამ როლის მიერ მინიჭებული პრივილეგიები მოაცილონ." + +#: commands/user.c:2498 utils/adt/acl.c:1309 +#, c-format +msgid "dependent privileges exist" +msgstr "დამოკიდებული პრივილეგიები არსებობს" + +#: commands/user.c:2499 utils/adt/acl.c:1310 +#, c-format +msgid "Use CASCADE to revoke them too." +msgstr "მათ გასაუქმებლადაც CASCADE გამოიყენეთ." + +#: commands/vacuum.c:137 +#, c-format +msgid "\"vacuum_buffer_usage_limit\" must be 0 or between %d kB and %d kB" +msgstr "\"vacuum_buffer_usage_limit\"-ის მნიშვნელობა 0 ან %d კბ-სა და %d კბ-ს შორის უნდა იყოს" + +#: commands/vacuum.c:209 +#, c-format +msgid "BUFFER_USAGE_LIMIT option must be 0 or between %d kB and %d kB" +msgstr "BUFFER_USAGE_LIMIT პარამეტრი 0 ან %d კბ-სა და %d კბ-ს შორის უნდა იყოს" + +#: commands/vacuum.c:219 +#, c-format +msgid "unrecognized ANALYZE option \"%s\"" +msgstr "\"ANALYZE\"-ის უცნობი პარამეტრი: %s" + +#: commands/vacuum.c:259 +#, c-format +msgid "parallel option requires a value between 0 and %d" +msgstr "პარალელურ პარამეტრს ესაჭიროება მნიშვნელობა 0-სა და %d-ს შორის" + +#: commands/vacuum.c:271 +#, c-format +msgid "parallel workers for vacuum must be between 0 and %d" +msgstr "პარალელური დამხმარე პროცესების რაოდენობა მომტვერსასრუტებისთვის 0-სა და %d-ს შორის უნდა იყოს" + +#: commands/vacuum.c:292 +#, c-format +msgid "unrecognized VACUUM option \"%s\"" +msgstr "\"VACUUM\"-ის უცნობი პარამეტრი: %s" + +#: commands/vacuum.c:318 +#, c-format +msgid "VACUUM FULL cannot be performed in parallel" +msgstr "VACUUM FULL პარალელურად ვერ შესრულდება" + +#: commands/vacuum.c:329 +#, c-format +msgid "BUFFER_USAGE_LIMIT cannot be specified for VACUUM FULL" +msgstr "VACUUM FULL-სთვის BUFFER_USAGE_LIMIT-ს ვერ მიუთითებთ" + +#: commands/vacuum.c:343 +#, c-format +msgid "ANALYZE option must be specified when a column list is provided" +msgstr "როცა მიწოდებულია სვეტების სია, პარამეტრის ANALYZE მითითება აუცილებელია" + +#: commands/vacuum.c:355 +#, c-format +msgid "VACUUM option DISABLE_PAGE_SKIPPING cannot be used with FULL" +msgstr "VACUUM-ის პარამეტრს 'DISABLE_PAGE_SKIPPING' FULL-თან ერთად ვერ გამოიყენებთ" + +#: commands/vacuum.c:362 +#, c-format +msgid "PROCESS_TOAST required with VACUUM FULL" +msgstr "VACUUM FULL-თან ერთად PROCESS_TOAST აუცილებელია" + +#: commands/vacuum.c:371 +#, c-format +msgid "ONLY_DATABASE_STATS cannot be specified with a list of tables" +msgstr "ONLY_DATABASE_STATS -ის მითითება ცხრილების სიასთან ერთად შეუძლებელია" + +#: commands/vacuum.c:380 +#, c-format +msgid "ONLY_DATABASE_STATS cannot be specified with other VACUUM options" +msgstr "ONLY_DATABASE_STAT-ის მითითება სხვა VACUMM პარამეტრებთან ერთად შეუძლებელია" + +#: commands/vacuum.c:515 +#, c-format +msgid "%s cannot be executed from VACUUM or ANALYZE" +msgstr "%s-ს VACUUM-დან ან ANALYZE-დან ვერ შეასარულებთ" + +#: commands/vacuum.c:733 +#, c-format +msgid "permission denied to vacuum \"%s\", skipping it" +msgstr "\"%s\"-ის მომტვერსასრუტების წვდომა აკრძალულია. გამოტოვება" + +#: commands/vacuum.c:746 +#, c-format +msgid "permission denied to analyze \"%s\", skipping it" +msgstr "\"%s\"-ის ანალიზისთვის წვდომა აკრძალულია. გამოტოვება" + +#: commands/vacuum.c:824 commands/vacuum.c:921 +#, c-format +msgid "skipping vacuum of \"%s\" --- lock not available" +msgstr "\"%s\"-ის მომტვერსასრუტება გამოტოვებულია -- ბლოკი ხელმისაწვდომი არაა" + +#: commands/vacuum.c:829 +#, c-format +msgid "skipping vacuum of \"%s\" --- relation no longer exists" +msgstr "\"%s\"-ის მომტვერსასრუტება გამოტოვებულია -- ურთიერთობა აღარ არსებობს" + +#: commands/vacuum.c:845 commands/vacuum.c:926 +#, c-format +msgid "skipping analyze of \"%s\" --- lock not available" +msgstr "\"%s\"-ის ანალიზი გამოტოვებულია -- ბლოკი ხელმისაწვდომი არაა" + +#: commands/vacuum.c:850 +#, c-format +msgid "skipping analyze of \"%s\" --- relation no longer exists" +msgstr "\"%s\"-ის ანალიზი გამოტოვებულია -- ურთიერთობა აღარ არსებობს" + +#: commands/vacuum.c:1161 +#, c-format +msgid "cutoff for removing and freezing tuples is far in the past" +msgstr "" + +#: commands/vacuum.c:1162 commands/vacuum.c:1167 +#, c-format +msgid "" +"Close open transactions soon to avoid wraparound problems.\n" +"You might also need to commit or roll back old prepared transactions, or drop stale replication slots." +msgstr "" + +#: commands/vacuum.c:1166 +#, c-format +msgid "cutoff for freezing multixacts is far in the past" +msgstr "" + +#: commands/vacuum.c:1908 +#, c-format +msgid "some databases have not been vacuumed in over 2 billion transactions" +msgstr "ზოგიერთი ბაზა 2 მილიარდ ტრანზაქციაზე მეტია, რაც არ მომტვერსასრუტებულა" + +#: commands/vacuum.c:1909 +#, c-format +msgid "You might have already suffered transaction-wraparound data loss." +msgstr "" + +#: commands/vacuum.c:2078 +#, c-format +msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables" +msgstr "" + +#: commands/vacuum.c:2503 +#, c-format +msgid "scanned index \"%s\" to remove %d row versions" +msgstr "სკანირებული ინდექსი \"%s\" %d მწკრივის ვერსიას აპირებს" + +#: commands/vacuum.c:2522 +#, c-format +msgid "index \"%s\" now contains %.0f row versions in %u pages" +msgstr "ინდექსი \"%s\" ახლა %.0f მწკრივის ვერსიას შეიცავს, %u გვერდში" + +#: commands/vacuum.c:2526 +#, 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 "" + +#: commands/vacuumparallel.c:677 +#, c-format +msgid "launched %d parallel vacuum worker for index vacuuming (planned: %d)" +msgid_plural "launched %d parallel vacuum workers for index vacuuming (planned: %d)" +msgstr[0] "ინდექსის მომტვერსასრუტებისთვის გაშვებულია %d პარალელური მომტვერსასრუტების დამხმარე პროცესი (დაგეგმილია: %d)" +msgstr[1] "ინდექსის მომტვერსასრუტებისთვის გაშვებულია %d პარალელური მომტვერსასრუტების დამხმარე პროცესი (დაგეგმილია: %d)" + +#: commands/vacuumparallel.c:683 +#, c-format +msgid "launched %d parallel vacuum worker for index cleanup (planned: %d)" +msgid_plural "launched %d parallel vacuum workers for index cleanup (planned: %d)" +msgstr[0] "ინდექსის გასუფთავებისთვის გაშვებულია %d პარალელური მომტვერსასრუტების დამხმარე პროცესი (დაგეგმილია: %d)" +msgstr[1] "ინდექსის გასუფთავებისთვის გაშვებულია %d პარალელური მომტვერსასრუტების დამხმარე პროცესი (დაგეგმილია: %d)" + +#: commands/variable.c:185 +#, c-format +msgid "Conflicting \"datestyle\" specifications." +msgstr "კონფლიქტური \"datestyle\"-ის სპეციფიკაციები." + +#: commands/variable.c:307 +#, c-format +msgid "Cannot specify months in time zone interval." +msgstr "დროის სარტყელის ინტერვალში თვეებს ვერ მიუთითებთ." + +#: commands/variable.c:313 +#, c-format +msgid "Cannot specify days in time zone interval." +msgstr "დროის სარტყელის ინტერვალში დღეებს ვერ მიუთითებთ." + +#: commands/variable.c:351 commands/variable.c:433 +#, c-format +msgid "time zone \"%s\" appears to use leap seconds" +msgstr "დროის სარტყელი \"%s\", როგორც ჩანს, დამატებით წამებს იყენებს" + +#: commands/variable.c:353 commands/variable.c:435 +#, c-format +msgid "PostgreSQL does not support leap seconds." +msgstr "PostgreSQL-ს დამატებითი წამების მხარდაჭერა არ გააჩნია." + +#: commands/variable.c:362 +#, c-format +msgid "UTC timezone offset is out of range." +msgstr "UTC დროის სარტყელი ზღვარს მიღმაა." + +#: commands/variable.c:552 +#, c-format +msgid "cannot set transaction read-write mode inside a read-only transaction" +msgstr "მხოლოდ-კითხვადი ტრანზაქციის შიგნით ტრანზაქციის რეჟიმის ჩაწერა-წაკითხვის რეჟიმზე გადართვა შეუძლებელია" + +#: commands/variable.c:559 +#, c-format +msgid "transaction read-write mode must be set before any query" +msgstr "ტრანზაქცის ჩაწერა-წაკითხვის რეჟიმი ყველა მოთხოვნის წინ უნდა იქნეს დაყენებული" + +#: commands/variable.c:566 +#, c-format +msgid "cannot set transaction read-write mode during recovery" +msgstr "აღდგენისას ტრანზაქციის ჩაწერა-წაკითხვის რეჟიმის დაყენება შეუძლებელია" + +#: commands/variable.c:592 +#, c-format +msgid "SET TRANSACTION ISOLATION LEVEL must be called before any query" +msgstr "SET TRANSACTION ISOLATION LEVEL ყველა მოთხოვნაზე ადრე უნდა გამოიძახოთ" + +#: commands/variable.c:599 +#, c-format +msgid "SET TRANSACTION ISOLATION LEVEL must not be called in a subtransaction" +msgstr "SET TRANSACTION ISOLATION LEVEL ქვემოთხოვნაში არ უნდა გამოიძახოთ" + +#: commands/variable.c:606 storage/lmgr/predicate.c:1629 +#, c-format +msgid "cannot use serializable mode in a hot standby" +msgstr "ცხელი მოლოდინში სერიალიზებადი რეჟიმის გამოყენება შეუძლებელია" + +#: commands/variable.c:607 +#, c-format +msgid "You can use REPEATABLE READ instead." +msgstr "სამაგიეროდ, შეგიძლიათ, REPEATABLE READ გამოიყენოთ." + +#: commands/variable.c:625 +#, c-format +msgid "SET TRANSACTION [NOT] DEFERRABLE cannot be called within a subtransaction" +msgstr "SET TRANSACTION [NOT] DEFERRABLE-ს ქვეტრანზაქციაში ვერ გამოიძახებთ" + +#: commands/variable.c:631 +#, c-format +msgid "SET TRANSACTION [NOT] DEFERRABLE must be called before any query" +msgstr "SET TRANSACTION [NOT] DEFERRABLE ყველა მოთხოვნაზე ადრე უნდა გამოიძახოთ" + +#: commands/variable.c:713 +#, c-format +msgid "Conversion between %s and %s is not supported." +msgstr "%s-დან %s-ზე გადაყვანა მხარდაჭერილი არაა." + +#: commands/variable.c:720 +#, c-format +msgid "Cannot change \"client_encoding\" now." +msgstr "ახლა \"client_encoding\"-ს ვერ შეცვლით." + +#: commands/variable.c:781 +#, c-format +msgid "cannot change client_encoding during a parallel operation" +msgstr "პარალელური ოპერაციის დროს client_encoding პარამეტრს ვერ შეცვლით" + +#: commands/variable.c:948 +#, c-format +msgid "permission will be denied to set role \"%s\"" +msgstr "როლის (\"%s\") დაყენების წვდომა აკრძალული იქნება" + +#: commands/variable.c:953 +#, c-format +msgid "permission denied to set role \"%s\"" +msgstr "როლის (\"%s\") დაყენების წვდომა აკრძალულია" + +#: commands/variable.c:1153 +#, c-format +msgid "Bonjour is not supported by this build" +msgstr "ამ აგებაში Bonjour -ის მხარდაჭერა არ არსებბს" + +#: commands/variable.c:1181 +#, c-format +msgid "effective_io_concurrency must be set to 0 on platforms that lack posix_fadvise()." +msgstr "პლატფორმებზე, რომლებზეც posix_fadvise() ხელმისაწვდომი არაა, effective_io_concurrency-ის მნიშვნელობა 0-ის ტოლი უნდა ყოს." + +#: commands/variable.c:1194 +#, c-format +msgid "maintenance_io_concurrency must be set to 0 on platforms that lack posix_fadvise()." +msgstr "პლატფორმებზე, რომლებზეც posix_fadvise() ხელმისაწვდომი არაა, maintenance_io_concurrency-ის მნიშვნელობა 0-ის ტოლი უნდა ყოს." + +#: commands/variable.c:1207 +#, c-format +msgid "SSL is not supported by this build" +msgstr "ამ აგებაში SSL-ის მხარდაჭერა არ არსებბს" + +#: commands/view.c:84 +#, c-format +msgid "could not determine which collation to use for view column \"%s\"" +msgstr "კოლაციის გამოცნობის შეცდომა ხედის სვეტისთვის \"%s\"" + +#: commands/view.c:279 commands/view.c:290 +#, c-format +msgid "cannot drop columns from view" +msgstr "ხედიდან სვეტების წაშლა შეუძლებელია" + +#: commands/view.c:295 +#, c-format +msgid "cannot change name of view column \"%s\" to \"%s\"" +msgstr "ხედის სვეტის სახელის \"%s\" \"%s\"-ზე გადარქმევა შეუძლებელია" + +#: commands/view.c:298 +#, c-format +msgid "Use ALTER VIEW ... RENAME COLUMN ... to change name of view column instead." +msgstr "ხედის სვეტის სახელის შესაცვლელად შეგიძლიათ ALTER VIEW ... RENAME COLUMN ... გამოიყენოთ." + +#: commands/view.c:309 +#, c-format +msgid "cannot change data type of view column \"%s\" from %s to %s" +msgstr "ხედის სვეტის (\"%s\") მონაცემის ტიპის შეცვლა %s-დან %s-ზე შეუძლებელია" + +#: commands/view.c:323 +#, c-format +msgid "cannot change collation of view column \"%s\" from \"%s\" to \"%s\"" +msgstr "ხედის სვეტის (\"%s\") კოლაციის შეცვლა %s-დან %s-ზე შეუძლებელია" + +#: commands/view.c:392 +#, c-format +msgid "views must not contain SELECT INTO" +msgstr "ხედები SELECT INTO-ს არ უნდა შეიცავდნენ" + +#: commands/view.c:404 +#, c-format +msgid "views must not contain data-modifying statements in WITH" +msgstr "ხედები WITH-ში მონაცემების შემცვლელ გამოსახულებებს არ უნდა შეიცავდნენ" + +#: commands/view.c:474 +#, c-format +msgid "CREATE VIEW specifies more column names than columns" +msgstr "CREATE VIEW აღწერს მეტ სვეტის სახელს, ვიდრე სვეტს" + +#: commands/view.c:482 +#, c-format +msgid "views cannot be unlogged because they do not have storage" +msgstr "" + +#: commands/view.c:496 +#, c-format +msgid "view \"%s\" will be a temporary view" +msgstr "ხედი დროებითი იქნება: \"%s\"" + +#: executor/execCurrent.c:79 +#, c-format +msgid "cursor \"%s\" is not a SELECT query" +msgstr "კურსორი SELECT მოთხოვნა არაა: \"%s\"" + +#: executor/execCurrent.c:85 +#, c-format +msgid "cursor \"%s\" is held from a previous transaction" +msgstr "კურსორი \"%s\" წინა ტრანზაქციიდანაა შემორჩენილი" + +#: executor/execCurrent.c:118 +#, c-format +msgid "cursor \"%s\" has multiple FOR UPDATE/SHARE references to table \"%s\"" +msgstr "კურსორს \"%s\" ცხრილამდე \"%s\" ერთზე მეტი FOR UPDATE/SHARE მიმართვა გააჩნია" + +#: executor/execCurrent.c:127 +#, c-format +msgid "cursor \"%s\" does not have a FOR UPDATE/SHARE reference to table \"%s\"" +msgstr "კურსორს \"%s\" ცხრილამდე \"%s\" 'FOR UPDATE/SHARE' მიმართვა არ გააჩნია" + +#: executor/execCurrent.c:137 executor/execCurrent.c:182 +#, c-format +msgid "cursor \"%s\" is not positioned on a row" +msgstr "კურსორი \"%s\" მწკრივზე არ მდებარეობს" + +#: executor/execCurrent.c:169 executor/execCurrent.c:228 executor/execCurrent.c:239 +#, c-format +msgid "cursor \"%s\" is not a simply updatable scan of table \"%s\"" +msgstr "კურსორი \"%s\" ცხრილის (\"%s\") მარტივადი განახლებადი სკანირებას არ წარმოადგენს" + +#: 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 "პარამეტრის %d (%s) ტიპი არ ემთხვევა იმას, რომლითაც გეგმა მზადდებოდა (%s)" + +#: executor/execCurrent.c:292 executor/execExprInterp.c:2510 +#, c-format +msgid "no value found for parameter %d" +msgstr "პარამეტრისთვის მნიშვნელობების პოვნა შეუძლებელია: %d" + +#: executor/execExpr.c:637 executor/execExpr.c:644 executor/execExpr.c:650 executor/execExprInterp.c:4234 executor/execExprInterp.c:4251 executor/execExprInterp.c:4350 executor/nodeModifyTable.c:197 executor/nodeModifyTable.c:208 executor/nodeModifyTable.c:225 executor/nodeModifyTable.c:233 +#, c-format +msgid "table row type and query-specified row type do not match" +msgstr "" + +#: executor/execExpr.c:638 executor/nodeModifyTable.c:198 +#, c-format +msgid "Query has too many columns." +msgstr "მოთხოვნას მეტისმეტად ბევრი სვეტ აქვს." + +#: executor/execExpr.c:645 executor/nodeModifyTable.c:226 +#, c-format +msgid "Query provides a value for a dropped column at ordinal position %d." +msgstr "" + +#: executor/execExpr.c:651 executor/execExprInterp.c:4252 executor/nodeModifyTable.c:209 +#, c-format +msgid "Table has type %s at ordinal position %d, but query expects %s." +msgstr "" + +#: executor/execExpr.c:1099 parser/parse_agg.c:827 +#, c-format +msgid "window function calls cannot be nested" +msgstr "ფანჯრის ფუნქციის გამოძახებებს ერთმანეთში ვერ ჩადგამთ" + +#: executor/execExpr.c:1618 +#, c-format +msgid "target type is not an array" +msgstr "სამიზნე ტიპი მასივი არაა" + +#: executor/execExpr.c:1958 +#, c-format +msgid "ROW() column has type %s instead of type %s" +msgstr "ROW() სვეტს %s ტიპის მაგიერ %s აქვს" + +#: executor/execExpr.c:2574 executor/execSRF.c:719 parser/parse_func.c:138 parser/parse_func.c:655 parser/parse_func.c:1032 +#, c-format +msgid "cannot pass more than %d argument to a function" +msgid_plural "cannot pass more than %d arguments to a function" +msgstr[0] "ფუნქციისთვის %d -ზე მეტი არგუმენტის გადაცემა შეუძლებელია" +msgstr[1] "ფუნქციისთვის %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 +#, c-format +msgid "set-valued function called in context that cannot accept a set" +msgstr "ფუნქცია, რომელიც სეტს აბრუნებს, გამოძახებულია კონტექსტში, რომელიც სეტებს ვერ იღებს" + +#: executor/execExpr.c:3007 parser/parse_node.c:277 parser/parse_node.c:327 +#, c-format +msgid "cannot subscript type %s because it does not support subscripting" +msgstr "" + +#: executor/execExpr.c:3135 executor/execExpr.c:3157 +#, c-format +msgid "type %s does not support subscripted assignment" +msgstr "" + +#: executor/execExprInterp.c:1962 +#, c-format +msgid "attribute %d of type %s has been dropped" +msgstr "%2$s ტიპის ატრიბუტი %1$d წაიშალა" + +#: executor/execExprInterp.c:1968 +#, c-format +msgid "attribute %d of type %s has wrong type" +msgstr "%2$s ტიპის ატრიბუტის %1$d ტიპი არასწორია" + +#: executor/execExprInterp.c:1970 executor/execExprInterp.c:3104 executor/execExprInterp.c:3150 +#, c-format +msgid "Table has type %s, but query expects %s." +msgstr "ცხრილის ტიპია %s, მოთხოვნა კი %s-ს მოელოდა." + +#: executor/execExprInterp.c:2050 utils/adt/expandedrecord.c:99 utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1743 utils/cache/typcache.c:1902 utils/cache/typcache.c:2049 utils/fmgr/funcapi.c:561 +#, c-format +msgid "type %s is not composite" +msgstr "ტიპი %s კომპოზიტური არაა" + +#: executor/execExprInterp.c:2588 +#, c-format +msgid "WHERE CURRENT OF is not supported for this table type" +msgstr "WHERE CURRENT OF ამ ტიპის ცხრილისთვის მხარდაუჭერელია" + +#: executor/execExprInterp.c:2801 +#, c-format +msgid "cannot merge incompatible arrays" +msgstr "შეუთავსებელი მასივების შერწყმა შეუძლებელია" + +#: executor/execExprInterp.c:2802 +#, c-format +msgid "Array with element type %s cannot be included in ARRAY construct with element type %s." +msgstr "" + +#: 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 utils/adt/arraysubs.c:488 +#, c-format +msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" +msgstr "მასივის ზომების რაოდენობა (%d) მაქსიმუმ დასაშვებზე (%d) დიდია" + +#: executor/execExprInterp.c:2843 executor/execExprInterp.c:2878 +#, c-format +msgid "multidimensional arrays must have array expressions with matching dimensions" +msgstr "მრავალგანზომილებიან მასივებს უნდა ჰქონდეთ მასივის გამოსახულებები შესაბამისი ზომებით" + +#: executor/execExprInterp.c:2855 utils/adt/array_expanded.c:274 utils/adt/arrayfuncs.c: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 +#, c-format +msgid "array size exceeds the maximum allowed (%d)" +msgstr "მასივის ზომა მაქსიმალურ დასაშვებს(%d) აჭარბებს" + +#: executor/execExprInterp.c:3103 executor/execExprInterp.c:3149 +#, c-format +msgid "attribute %d has wrong type" +msgstr "ატრიბუტის არასწორი ტიპი: %d" + +#: executor/execExprInterp.c:3735 utils/adt/domains.c:155 +#, c-format +msgid "domain %s does not allow null values" +msgstr "დომენ %s-ს ნულოვანი მნიშვნელობების მხარდაჭერა არ გააჩნია" + +#: executor/execExprInterp.c:3750 utils/adt/domains.c:193 +#, c-format +msgid "value for domain %s violates check constraint \"%s\"" +msgstr "მნიშვნელობა დომენისთვის %s არღვევს შემოწმების შეზღუდვას \"%s\"" + +#: 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] "ცხრილის მწკრივი %d ატრიბუტს შეიცავს, მოთხოვნა კი %d-ს მოელოდა." +msgstr[1] "ცხრილის მწკრივი %d ატრიბუტს შეიცავს, მოთხოვნა კი %d-ს მოელოდა." + +#: executor/execExprInterp.c:4351 executor/execSRF.c:978 +#, c-format +msgid "Physical storage mismatch on dropped attribute at ordinal position %d." +msgstr "" + +#: executor/execIndexing.c:588 +#, c-format +msgid "ON CONFLICT does not support deferrable unique constraints/exclusion constraints as arbiters" +msgstr "" + +#: executor/execIndexing.c:865 +#, c-format +msgid "could not create exclusion constraint \"%s\"" +msgstr "გამორიცხვის შეზღუდვის (\"%s\") შექმნა შეუძლებელია" + +#: executor/execIndexing.c:868 +#, c-format +msgid "Key %s conflicts with key %s." +msgstr "გასაღები %s კონფლიქტობს გასაღებ %s-სთან." + +#: executor/execIndexing.c:870 +#, c-format +msgid "Key conflicts exist." +msgstr "აღმოჩენილია გასაღებების კონფლიქტი." + +#: executor/execIndexing.c:876 +#, c-format +msgid "conflicting key value violates exclusion constraint \"%s\"" +msgstr "კონფლიქტის მქონე გასაღების მნიშვნელობა არღვევს უნიკალურ შეზღუდვას \"%s\"" + +#: executor/execIndexing.c:879 +#, c-format +msgid "Key %s conflicts with existing key %s." +msgstr "გასაღები %s კონფლიქტობს არსებულ გასაღებ %s-სთან." + +#: executor/execIndexing.c:881 +#, c-format +msgid "Key conflicts with existing key." +msgstr "გასაღები აქტიურ გასაღებთან კონფლიქტობს." + +#: executor/execMain.c:1039 +#, c-format +msgid "cannot change sequence \"%s\"" +msgstr "მიმდევრობის შეცვლა შეუძლებელია: \"%s\"" + +#: executor/execMain.c:1045 +#, c-format +msgid "cannot change TOAST relation \"%s\"" +msgstr "'TOAST' ტიპის ურთიერთობის \"%s\" შეცვლა შეუძლებელია" + +#: executor/execMain.c:1063 rewrite/rewriteHandler.c:3079 rewrite/rewriteHandler.c:3966 +#, c-format +msgid "cannot insert into view \"%s\"" +msgstr "ხედში ჩამატება შეუძლებელია: %s" + +#: executor/execMain.c:1065 rewrite/rewriteHandler.c:3082 rewrite/rewriteHandler.c:3969 +#, c-format +msgid "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or an unconditional ON INSERT DO INSTEAD rule." +msgstr "" + +#: executor/execMain.c:1071 rewrite/rewriteHandler.c:3087 rewrite/rewriteHandler.c:3974 +#, c-format +msgid "cannot update view \"%s\"" +msgstr "ხედის განახლება შეუძლებელია: %s" + +#: executor/execMain.c:1073 rewrite/rewriteHandler.c:3090 rewrite/rewriteHandler.c:3977 +#, c-format +msgid "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an unconditional ON UPDATE DO INSTEAD rule." +msgstr "" + +#: executor/execMain.c:1079 rewrite/rewriteHandler.c:3095 rewrite/rewriteHandler.c:3982 +#, c-format +msgid "cannot delete from view \"%s\"" +msgstr "ხედიდან წაშლა შეუძლებელია: %s" + +#: executor/execMain.c:1081 rewrite/rewriteHandler.c:3098 rewrite/rewriteHandler.c:3985 +#, c-format +msgid "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an unconditional ON DELETE DO INSTEAD rule." +msgstr "" + +#: executor/execMain.c:1092 +#, c-format +msgid "cannot change materialized view \"%s\"" +msgstr "მატერიალიზებული ხედის შეცვლა შეუძლებელია: %s" + +#: executor/execMain.c:1104 +#, c-format +msgid "cannot insert into foreign table \"%s\"" +msgstr "გარე ცხრილში ჩამატების შეცდომა: %s" + +#: executor/execMain.c:1110 +#, c-format +msgid "foreign table \"%s\" does not allow inserts" +msgstr "გარე ცხრილი ჩამატების საშუალებას არ იძლევა: %s" + +#: executor/execMain.c:1117 +#, c-format +msgid "cannot update foreign table \"%s\"" +msgstr "გარე ცხრილის განახლების შეცდომა: %s" + +#: executor/execMain.c:1123 +#, c-format +msgid "foreign table \"%s\" does not allow updates" +msgstr "გარე ცხრილი განახლებების საშუალებას არ იძლევა: %s" + +#: executor/execMain.c:1130 +#, c-format +msgid "cannot delete from foreign table \"%s\"" +msgstr "გარე ცხრილიდან წაშლის შეცდომა: %s" + +#: executor/execMain.c:1136 +#, c-format +msgid "foreign table \"%s\" does not allow deletes" +msgstr "გარე ცხრილი წაშლის საშუალებას არ იძლევა: %s" + +#: executor/execMain.c:1147 +#, c-format +msgid "cannot change relation \"%s\"" +msgstr "ურთიერთობის შეცვლის შეცდომა: %s" + +#: executor/execMain.c:1174 +#, c-format +msgid "cannot lock rows in sequence \"%s\"" +msgstr "მიმდევრობაში მწკრივების ჩაკეტვა შეუძლებელია: %s" + +#: executor/execMain.c:1181 +#, c-format +msgid "cannot lock rows in TOAST relation \"%s\"" +msgstr "\"TOAST\" ურთიერთობაში მწკრივების ჩაკეტვა შეუძლებელია: %s" + +#: executor/execMain.c:1188 +#, c-format +msgid "cannot lock rows in view \"%s\"" +msgstr "ხედში მწკრივების ჩაკეტვა შეუძლებელია: %s" + +#: executor/execMain.c:1196 +#, c-format +msgid "cannot lock rows in materialized view \"%s\"" +msgstr "მატერიალიზებულ ხედში მწკრივების ჩაკეტვა შეუძლებელია: %s" + +#: executor/execMain.c:1205 executor/execMain.c:2708 executor/nodeLockRows.c:135 +#, c-format +msgid "cannot lock rows in foreign table \"%s\"" +msgstr "გარე ცხრილში მწკრივების ჩაკეტვა შეუძლებელია: %s" + +#: executor/execMain.c:1211 +#, c-format +msgid "cannot lock rows in relation \"%s\"" +msgstr "ურთიერთობაში მწკრივების ჩაკეტვა შეუძლებელია: %s" + +#: executor/execMain.c:1922 +#, c-format +msgid "new row for relation \"%s\" violates partition constraint" +msgstr "ახალი მწკრივი ურთიერთობისთვის \"%s\" დანაყოფის შეზღუდვას არღვევს" + +#: executor/execMain.c:1924 executor/execMain.c:2008 executor/execMain.c:2059 executor/execMain.c:2169 +#, c-format +msgid "Failing row contains %s." +msgstr "შეცდომიანი მწკრივი \"%s\"-ს შეიცავს." + +#: executor/execMain.c:2005 +#, c-format +msgid "null value in column \"%s\" of relation \"%s\" violates not-null constraint" +msgstr "ნულოვანი მნიშვნელობა სვეტში \"%s\" ურთიერთობისთვის \"%s\" არანულოვან შეზღუდვას არღვევს" + +#: executor/execMain.c:2057 +#, c-format +msgid "new row for relation \"%s\" violates check constraint \"%s\"" +msgstr "ახალი მწკრივი ურთიერთობისთვის \"%s\" არღვევს შემოწმების შეზღუდვას \"%s\"" + +#: executor/execMain.c:2167 +#, c-format +msgid "new row violates check option for view \"%s\"" +msgstr "ახალი მწკრივი არღვევს შემოწმების პარამეტრს ხედისთვის \"%s\"" + +#: executor/execMain.c:2177 +#, c-format +msgid "new row violates row-level security policy \"%s\" for table \"%s\"" +msgstr "ახალი მწკრივი არღვევს მწკრივის-დონის უსაფრთხოების პოლიტიკას \"%s\" ცხრილისთვის \"%s\"" + +#: executor/execMain.c:2182 +#, c-format +msgid "new row violates row-level security policy for table \"%s\"" +msgstr "ახალი მწკრივი ცხრილისთვის \"%s\" მწკრივის-დონის უსაფრთხოების პოლიტიკა არღვევს" + +#: executor/execMain.c:2190 +#, c-format +msgid "target row violates row-level security policy \"%s\" (USING expression) for table \"%s\"" +msgstr "" + +#: executor/execMain.c:2195 +#, c-format +msgid "target row violates row-level security policy (USING expression) for table \"%s\"" +msgstr "" + +#: executor/execMain.c:2202 +#, c-format +msgid "new row violates row-level security policy \"%s\" (USING expression) for table \"%s\"" +msgstr "" + +#: executor/execMain.c:2207 +#, c-format +msgid "new row violates row-level security policy (USING expression) for table \"%s\"" +msgstr "" + +#: executor/execPartition.c:330 +#, c-format +msgid "no partition of relation \"%s\" found for row" +msgstr "მწკრივისთვის ურთიერთობის \"%s\" დანაყოფი ვერ ვიპოვე" + +#: executor/execPartition.c:333 +#, c-format +msgid "Partition key of the failing row contains %s." +msgstr "შეცდომიანი მწკრივის დანაყოფის გასაღები \"%s\"-ს შეიცავს." + +#: 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 "დასაბლოკი კორტეჟი პარალელური განახლების გამო უკვე სხვა დანაყოფშია გადატანილი. თავიდან ვცდი" + +#: executor/execReplication.c:235 executor/execReplication.c:419 +#, c-format +msgid "concurrent update, retrying" +msgstr "ერთდროული განახლება. თავიდან ვცდი" + +#: executor/execReplication.c:241 executor/execReplication.c:425 +#, c-format +msgid "concurrent delete, retrying" +msgstr "ერთდროული წაშლა. თავიდან ვცდი" + +#: executor/execReplication.c:311 parser/parse_cte.c:308 parser/parse_oper.c:233 utils/adt/array_userfuncs.c:1348 utils/adt/array_userfuncs.c:1491 utils/adt/arrayfuncs.c:3832 utils/adt/arrayfuncs.c:4387 utils/adt/arrayfuncs.c:6397 utils/adt/rowtypes.c:1230 +#, c-format +msgid "could not identify an equality operator for type %s" +msgstr "ტიპისთვის \"%s\" ტოლობის ფუნქცია ვერ ვიპოვე" + +#: executor/execReplication.c:642 executor/execReplication.c:648 +#, c-format +msgid "cannot update table \"%s\"" +msgstr "ცხრილის განახლების შეცდომა: %s" + +#: 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 "გამოცემის WHERE გამოსახულებაში გამოყენებული სვეტი რეპლიკის იდენტიფიკაციის ნაწილს არ წარმოადგენს." + +#: executor/execReplication.c:650 executor/execReplication.c:662 +#, c-format +msgid "Column list used by the publication does not cover the replica identity." +msgstr "გამოცემის მიერ გამოყენებული სვეტების სია რეპლიკის იდენტიფიკაციას არ ფარავს." + +#: executor/execReplication.c:654 executor/execReplication.c:660 +#, c-format +msgid "cannot delete from table \"%s\"" +msgstr "ცხრილიდან წაშლის შეცდომა: %s" + +#: executor/execReplication.c:680 +#, c-format +msgid "cannot update table \"%s\" because it does not have a replica identity and publishes updates" +msgstr "ცხრილის \"%s\" განახლება შეუძლებელია, რადგან მას რეპლიკის იდენტიფიკაცია არ გააჩნია და განახლებებს აქვეყნებს" + +#: executor/execReplication.c:682 +#, c-format +msgid "To enable updating the table, set REPLICA IDENTITY using ALTER TABLE." +msgstr "ცხრილის განახლების ჩასართავად ALTER TABLE-ით REPLICA IDENTITY დააყენეთ." + +#: executor/execReplication.c:686 +#, c-format +msgid "cannot delete from table \"%s\" because it does not have a replica identity and publishes deletes" +msgstr "ცხრილიდან \"%s\" წაშლა შეუძლებელია, რადგან მას რეპლიკის იდენტიფიკაცია არ გააჩნია და წაშლებს აქვეყნებს" + +#: executor/execReplication.c:688 +#, c-format +msgid "To enable deleting from the table, set REPLICA IDENTITY using ALTER TABLE." +msgstr "ცხრილიდან წაშლის ჩასართავად ALTER TABLE-ის გამოყენებით REPLICA IDENTITY დააყენეთ." + +#: executor/execReplication.c:704 +#, c-format +msgid "cannot use relation \"%s.%s\" as logical replication target" +msgstr "ურთიერთობას \"%s.%s\" ლოგიკური რეპლიკაციის სამიზნედ ვერ გამოიყენებთ" + +#: executor/execSRF.c:316 +#, c-format +msgid "rows returned by function are not all of the same row type" +msgstr "ფუნქციის მიერ დაბრუნებული მწკრივები ერთი ტიპის არაა" + +#: executor/execSRF.c:366 +#, c-format +msgid "table-function protocol for value-per-call mode was not followed" +msgstr "" + +#: executor/execSRF.c:374 executor/execSRF.c:668 +#, c-format +msgid "table-function protocol for materialize mode was not followed" +msgstr "" + +#: executor/execSRF.c:381 executor/execSRF.c:686 +#, c-format +msgid "unrecognized table-function returnMode: %d" +msgstr "" + +#: executor/execSRF.c:895 +#, c-format +msgid "function returning setof record called in context that cannot accept type record" +msgstr "" + +#: executor/execSRF.c:951 executor/execSRF.c:967 executor/execSRF.c:977 +#, c-format +msgid "function return row and query-specified return row do not match" +msgstr "" + +#: executor/execSRF.c:952 +#, c-format +msgid "Returned row contains %d attribute, but query expects %d." +msgid_plural "Returned row contains %d attributes, but query expects %d." +msgstr[0] "" +msgstr[1] "" + +#: executor/execSRF.c:968 +#, c-format +msgid "Returned type %s at ordinal position %d, but query expects %s." +msgstr "" + +#: executor/execTuples.c:146 executor/execTuples.c:353 executor/execTuples.c:521 executor/execTuples.c:713 +#, c-format +msgid "cannot retrieve a system column in this context" +msgstr "ამ კონტექსტში სისტემური სვეტის მიღება შეუძლებელია" + +#: executor/execUtils.c:744 +#, c-format +msgid "materialized view \"%s\" has not been populated" +msgstr "მატერიალიზებული ხედი \"%s\" შევსებული არაა" + +#: executor/execUtils.c:746 +#, c-format +msgid "Use the REFRESH MATERIALIZED VIEW command." +msgstr "გამოიყენეთ ბრძანება REFRESH MATERIALIZED VIEW." + +#: executor/functions.c:217 +#, c-format +msgid "could not determine actual type of argument declared %s" +msgstr "არგუმენტის, აღწერილის, როგორც '%s' ტიპის დადგენა შეუძლებელია" + +#: executor/functions.c:512 +#, 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 +#, 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 +#, c-format +msgid "%s is not allowed in a non-volatile function" +msgstr "%s-ის გამოყენება არააქროლად ფუნქციაში დაუშვებელია" + +#: executor/functions.c:1450 +#, c-format +msgid "SQL function \"%s\" statement %d" +msgstr "SQL ფუნქცია \"%s\" გამოსახულება %d" + +#: executor/functions.c:1476 +#, c-format +msgid "SQL function \"%s\" during startup" +msgstr "SQL ფუნქცია \"%s\" გაშვებისას" + +#: executor/functions.c:1561 +#, 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 +#, c-format +msgid "return type mismatch in function declared to return %s" +msgstr "დაბრუნების ტიპის შეცდომა ფუნქციაში, რომელსაც აღწერილი აქვს, დააბრუნოს %s" + +#: executor/functions.c:1696 +#, 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 +#, c-format +msgid "Final statement must return exactly one column." +msgstr "პირველი გამოსახულება ზუსტად ერთ სვეტს უნდა აბრუნებდეს." + +#: executor/functions.c:1748 +#, c-format +msgid "Actual return type is %s." +msgstr "დაბრუნების ნამდვილი ტიპია %s." + +#: executor/functions.c:1838 +#, c-format +msgid "Final statement returns too many columns." +msgstr "პირველი გამოსახულება მეტისმეტად ბევრ სვეტს აბრუნებს." + +#: executor/functions.c:1871 +#, c-format +msgid "Final statement returns %s instead of %s at column %d." +msgstr "" + +#: executor/functions.c:1885 +#, c-format +msgid "Final statement returns too few columns." +msgstr "ბოლო გამოსახულება მეტისმეტად ცოტა სვეტს აბრუნებს." + +#: executor/functions.c:1913 +#, c-format +msgid "return type %s is not supported for SQL functions" +msgstr "დაბრუნების ტიპი %s SQL ფუნქციებში მხარდაჭერილი არაა" + +#: executor/nodeAgg.c:3937 executor/nodeWindowAgg.c:2993 +#, c-format +msgid "aggregate %u needs to have compatible input type and transition type" +msgstr "" + +#: executor/nodeAgg.c:3967 parser/parse_agg.c:669 parser/parse_agg.c:697 +#, c-format +msgid "aggregate function calls cannot be nested" +msgstr "აგრეგატულ ფუნქციებს ერთანეთში ვერ ჩადგამთ" + +#: executor/nodeCustom.c:154 executor/nodeCustom.c:165 +#, c-format +msgid "custom scan \"%s\" does not support MarkPos" +msgstr "" + +#: executor/nodeHashjoin.c:1143 executor/nodeHashjoin.c:1173 +#, c-format +msgid "could not rewind hash-join temporary file" +msgstr "" + +#: executor/nodeIndexonlyscan.c:238 +#, c-format +msgid "lossy distance functions are not supported in index-only scans" +msgstr "" + +#: executor/nodeLimit.c:374 +#, c-format +msgid "OFFSET must not be negative" +msgstr "OFFSET უარყოფითი უნდა იყოს" + +#: executor/nodeLimit.c:400 +#, c-format +msgid "LIMIT must not be negative" +msgstr "LIMIT უარყოფითი არ უნდა იყოს" + +#: executor/nodeMergejoin.c:1579 +#, c-format +msgid "RIGHT JOIN is only supported with merge-joinable join conditions" +msgstr "" + +#: executor/nodeMergejoin.c:1597 +#, c-format +msgid "FULL JOIN is only supported with merge-joinable join conditions" +msgstr "" + +#: executor/nodeModifyTable.c:234 +#, c-format +msgid "Query has too few columns." +msgstr "მოთხოვნას ძალიან ცოტა სვეტი აქვს." + +#: executor/nodeModifyTable.c:1530 executor/nodeModifyTable.c:1604 +#, c-format +msgid "tuple to be deleted was already modified by an operation triggered by the current command" +msgstr "" + +#: executor/nodeModifyTable.c:1758 +#, c-format +msgid "invalid ON UPDATE specification" +msgstr "\"ON UPDATE\"-ის არასწორი სპეციფიკაცია" + +#: executor/nodeModifyTable.c:1759 +#, c-format +msgid "The result tuple would appear in a different partition than the original tuple." +msgstr "" + +#: executor/nodeModifyTable.c:2217 +#, c-format +msgid "cannot move tuple across partitions when a non-root ancestor of the source partition is directly referenced in a foreign key" +msgstr "" + +#: executor/nodeModifyTable.c:2218 +#, c-format +msgid "A foreign key points to ancestor \"%s\" but not the root ancestor \"%s\"." +msgstr "" + +#: executor/nodeModifyTable.c:2221 +#, c-format +msgid "Consider defining the foreign key on table \"%s\"." +msgstr "განიხილეთ გარე გასაღების აღწერა ცხრილზე \"%s\"." + +#. translator: %s is a SQL command name +#: executor/nodeModifyTable.c:2567 executor/nodeModifyTable.c:2955 +#, c-format +msgid "%s command cannot affect row a second time" +msgstr "ბრძანებას %s მწკრივის მეორედ შეცვლა არ შეუძლია" + +#: executor/nodeModifyTable.c:2569 +#, c-format +msgid "Ensure that no rows proposed for insertion within the same command have duplicate constrained values." +msgstr "" + +#: executor/nodeModifyTable.c:2957 +#, c-format +msgid "Ensure that not more than one source row matches any one target row." +msgstr "" + +#: executor/nodeModifyTable.c:3038 +#, c-format +msgid "tuple to be deleted was already moved to another partition due to concurrent update" +msgstr "წასაშლელი კორტეჟები პარალელური განახლების გამო უკვე სხვა დანაყოფშია გადატანილი" + +#: 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 "გასაახლებელი ან წასაშლელ კორტეჟი მიმდინარე ბრძანების მიერ დატრიგერებულმა ოპერაციამ უკვე შეცვალა" + +#: executor/nodeSamplescan.c:260 +#, c-format +msgid "TABLESAMPLE parameter cannot be null" +msgstr "TABLESAMPLE პარამეტრი ნულოვანი ვერ იქნება" + +#: executor/nodeSamplescan.c:272 +#, c-format +msgid "TABLESAMPLE REPEATABLE parameter cannot be null" +msgstr "TABLESAMPLE REPEATABLE პარამეტრი ნულოვანი ვერ იქნება" + +#: executor/nodeSubplan.c:325 executor/nodeSubplan.c:351 executor/nodeSubplan.c:405 executor/nodeSubplan.c:1174 +#, c-format +msgid "more than one row returned by a subquery used as an expression" +msgstr "" + +#: executor/nodeTableFuncscan.c:375 +#, c-format +msgid "namespace URI must not be null" +msgstr "სახელების სივრცის URI ნულოვანი არ შეიძლება, იყოს" + +#: executor/nodeTableFuncscan.c:389 +#, c-format +msgid "row filter expression must not be null" +msgstr "მწკრივის ფილტრის გამოსახულება ნულოვანი არ შეიძლება, იყოს" + +#: executor/nodeTableFuncscan.c:415 +#, c-format +msgid "column filter expression must not be null" +msgstr "სვეტის ფილტრის გამოსახულება ნულოვანი არ შეიძლება, იყოს" + +#: executor/nodeTableFuncscan.c:416 +#, c-format +msgid "Filter for column \"%s\" is null." +msgstr "ფილტრი სვეტისთვის \"%s\" ნულოვანია." + +#: executor/nodeTableFuncscan.c:506 +#, c-format +msgid "null is not allowed in column \"%s\"" +msgstr "სვეტში \"%s\" ნულოვანი მნიშვნელობა დაშვებული არაა" + +#: executor/nodeWindowAgg.c:356 +#, c-format +msgid "moving-aggregate transition function must not return null" +msgstr "" + +#: executor/nodeWindowAgg.c:2083 +#, c-format +msgid "frame starting offset must not be null" +msgstr "ჩარჩოს საწყისი წანაცვლება ნულის ტოლი ვერ იქნება" + +#: executor/nodeWindowAgg.c:2096 +#, c-format +msgid "frame starting offset must not be negative" +msgstr "ჩარჩოს საწყისი წანაცვლება უარყოფითი ვერ იქნება" + +#: executor/nodeWindowAgg.c:2108 +#, c-format +msgid "frame ending offset must not be null" +msgstr "ჩარჩოს ბოლოს წანაცვლება ნულის ტოლი ვერ იქნება" + +#: executor/nodeWindowAgg.c:2121 +#, c-format +msgid "frame ending offset must not be negative" +msgstr "ჩარჩოს ბოლოს წანაცვლება უარყოფითი ვერ იქნება" + +#: executor/nodeWindowAgg.c:2909 +#, c-format +msgid "aggregate function %s does not support use as a window function" +msgstr "აგრეგატულ ფუნქციას %s ფანჯრის ფუნქციად გაშვების მხარდაჭერა არ გააჩნია" + +#: executor/spi.c:242 executor/spi.c:342 +#, c-format +msgid "invalid transaction termination" +msgstr "ტრანზაქციის არასწორი დასასრული" + +#: executor/spi.c:257 +#, c-format +msgid "cannot commit while a subtransaction is active" +msgstr "როცა ქვეტრანზაქცია აქტიურია, კომიტი შეუძლებელია" + +#: executor/spi.c:348 +#, c-format +msgid "cannot roll back while a subtransaction is active" +msgstr "როცა ქვეტრანზაქცია აქტიურია, ტრანზაქციის გაუქმება შეუძლებელია" + +#: executor/spi.c:472 +#, c-format +msgid "transaction left non-empty SPI stack" +msgstr "ტრანზაქცის შემდეგ დარჩენილი SPI სტეკი ცარიელი არაა" + +#: executor/spi.c:473 executor/spi.c:533 +#, c-format +msgid "Check for missing \"SPI_finish\" calls." +msgstr "ნაკლულ \"SPI_finish\" გამოძახებებზე შემოწმება." + +#: executor/spi.c:532 +#, c-format +msgid "subtransaction left non-empty SPI stack" +msgstr "ქვეტრანზაქცის შემდეგ დარჩენილი SPI სტეკი ცარიელი არაა" + +#: executor/spi.c:1600 +#, c-format +msgid "cannot open multi-query plan as cursor" +msgstr "მრავალმოთხოვნიანი გეგმის კურსორის სახით გახსნა შეუძლებელია" + +#. translator: %s is name of a SQL command, eg INSERT +#: executor/spi.c:1610 +#, c-format +msgid "cannot open %s query as cursor" +msgstr "%s გამოსახულების კურსორის სახით გახნა შეუძლებელია" + +#: executor/spi.c:1716 +#, c-format +msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported" +msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE მხარდაჭერილი არაა" + +#: executor/spi.c:1717 parser/analyze.c:2874 +#, c-format +msgid "Scrollable cursors must be READ ONLY." +msgstr "გადახვევადი კურსორები READ ONLY უნდა იყოს." + +#: executor/spi.c:2474 +#, c-format +msgid "empty query does not return tuples" +msgstr "ცარიელი მოთხოვნა კორტეჟებს არ აბრუნებს" + +#. translator: %s is name of a SQL command, eg INSERT +#: executor/spi.c:2548 +#, c-format +msgid "%s query does not return tuples" +msgstr "მოთხოვნა %s კორტეჟებს არ აბრუნებს" + +#: executor/spi.c:2963 +#, c-format +msgid "SQL expression \"%s\"" +msgstr "SQL გამოსახულება \"%s\"" + +#: executor/spi.c:2968 +#, c-format +msgid "PL/pgSQL assignment \"%s\"" +msgstr "PL/pgSQL მინიჭება \"%s\"" + +#: executor/spi.c:2971 +#, c-format +msgid "SQL statement \"%s\"" +msgstr "SQL ოპერატორი \"%s\"" + +#: executor/tqueue.c:74 +#, c-format +msgid "could not send tuple to shared-memory queue" +msgstr "გაზიარებული-მეხსიერების მქონე რიგში კორტეჟის გაგზავნა შეუძლებელია" + +#: foreign/foreign.c:222 +#, c-format +msgid "user mapping not found for \"%s\"" +msgstr "\"%s\"-სთვის მომხმარებლის მიბმა ვერ ვიპოვე" + +#: foreign/foreign.c:647 storage/file/fd.c:3931 +#, c-format +msgid "invalid option \"%s\"" +msgstr "არასწორი პარამეტრი \"%s\"" + +#: foreign/foreign.c:649 +#, c-format +msgid "Perhaps you meant the option \"%s\"." +msgstr "შესაძლოა, გულისხმობდით პარამეტრს \"%s\"." + +#: foreign/foreign.c:651 +#, c-format +msgid "There are no valid options in this context." +msgstr "ამ კონტექსტში სწორი პარამეტრები არ არსებობს." + +#: gram.y:1197 +#, c-format +msgid "UNENCRYPTED PASSWORD is no longer supported" +msgstr "UNENCRYPTED PASSWORD მხარდაჭერილი აღარაა" + +#: gram.y:1198 +#, c-format +msgid "Remove UNENCRYPTED to store the password in encrypted form instead." +msgstr "პაროლის დაშიფრულ ფორმაში დასამახსოვრებლად წაშალეთ UNENCRYPTED." + +#: gram.y:1525 gram.y:1541 +#, c-format +msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements" +msgstr "CREATE SCHEMA IF NOT EXISTS არ შეიძლება, სქემის ელემენტებს შეიცავდეს" + +#: gram.y:1693 +#, c-format +msgid "current database cannot be changed" +msgstr "მიმდინარე ბაზის შეცვლა შეუძლებელია" + +#: gram.y:1826 +#, c-format +msgid "time zone interval must be HOUR or HOUR TO MINUTE" +msgstr "დროის სარტყლის ინტერვალი HOUR ან HOUR TO MINUTE უნდა იყოს" + +#: gram.y:2443 +#, c-format +msgid "column number must be in range from 1 to %d" +msgstr "სვეტის ნომერი უნდა იყოს 1-დან %d-მდე" + +#: gram.y:3039 +#, c-format +msgid "sequence option \"%s\" not supported here" +msgstr "მიმდევრობის პარამეტრი \"%s\" აქ მხარდაჭერილი არაა" + +#: gram.y:3068 +#, c-format +msgid "modulus for hash partition provided more than once" +msgstr "ჰეშ-დანაყოფის მოდული ერთზე მეტჯერაა მითითებული" + +#: gram.y:3077 +#, c-format +msgid "remainder for hash partition provided more than once" +msgstr "დარჩენილი ნაწილი ჰეშ-დანაყოფისთვის ერთზე მეტჯერაა მითითებული" + +#: gram.y:3084 +#, c-format +msgid "unrecognized hash partition bound specification \"%s\"" +msgstr "" + +#: gram.y:3092 +#, c-format +msgid "modulus for hash partition must be specified" +msgstr "საჭიროა ჰეშ დანაყოფის მოდულის მითითება" + +#: gram.y:3096 +#, c-format +msgid "remainder for hash partition must be specified" +msgstr "საჭიროა ჰეშ დანაყოფის ნაშთის მითითება" + +#: gram.y:3304 gram.y:3338 +#, c-format +msgid "STDIN/STDOUT not allowed with PROGRAM" +msgstr "STDIN/STDOUT-ი PROGRAM-თან ერთად დაშვებული არაა" + +#: gram.y:3310 +#, c-format +msgid "WHERE clause not allowed with COPY TO" +msgstr "პირობა 'WHERE' 'COPY TO'-სთან ერთად დაშვებული არაა" + +#: gram.y:3649 gram.y:3656 gram.y:12821 gram.y:12829 +#, c-format +msgid "GLOBAL is deprecated in temporary table creation" +msgstr "დროებითი ცხრილის შექმნაში GLOBAL-ი მოძველებულია" + +#: gram.y:3932 +#, c-format +msgid "for a generated column, GENERATED ALWAYS must be specified" +msgstr "გენერირებული სვეტისთვის GENERATED ALWAYS-ის მითითება აუცილებელია" + +#: gram.y:4223 utils/adt/ri_triggers.c:2112 +#, c-format +msgid "MATCH PARTIAL not yet implemented" +msgstr "MATCH PARTIAL ჯერ განხორციელებული არაა" + +#: gram.y:4315 +#, c-format +msgid "a column list with %s is only supported for ON DELETE actions" +msgstr "" + +#: gram.y:5027 +#, c-format +msgid "CREATE EXTENSION ... FROM is no longer supported" +msgstr "CREATE EXTENSION ... FROM უკვე მხარდაუჭერელია" + +#: gram.y:5725 +#, c-format +msgid "unrecognized row security option \"%s\"" +msgstr "მწკრივის უსაფრთხოების უცნობი პარამეტრი:\"%s\"" + +#: gram.y:5726 +#, c-format +msgid "Only PERMISSIVE or RESTRICTIVE policies are supported currently." +msgstr "" + +#: gram.y:5811 +#, c-format +msgid "CREATE OR REPLACE CONSTRAINT TRIGGER is not supported" +msgstr "CREATE OR REPLACE CONSTRAINT TRIGGER მხარდაუჭერელია" + +#: gram.y:5848 +msgid "duplicate trigger events specified" +msgstr "მითითებულია ტრიგერი მეორდება" + +#: gram.y:5990 parser/parse_utilcmd.c:3695 parser/parse_utilcmd.c:3721 +#, c-format +msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" +msgstr "" + +#: gram.y:5997 +#, c-format +msgid "conflicting constraint properties" +msgstr "ერთმანეთთან შეუთავსებელი შეზღუდვის თვისებები" + +#: gram.y:6096 +#, c-format +msgid "CREATE ASSERTION is not yet implemented" +msgstr "CREATE ASSERTION ჯერ განუხორცელებია" + +#: gram.y:6504 +#, c-format +msgid "RECHECK is no longer required" +msgstr "RECHECK საჭირო აღარაა" + +#: gram.y:6505 +#, c-format +msgid "Update your data type." +msgstr "განაახლეთ თქვენი მონაცემთა ტიპი." + +#: gram.y:8378 +#, c-format +msgid "aggregates cannot have output arguments" +msgstr "აგრეგატებს გამოტანის არგუმენტები ვერ ექნება" + +#: gram.y:8841 utils/adt/regproc.c:670 +#, c-format +msgid "missing argument" +msgstr "ნაკლული არგუმენტი" + +#: gram.y:8842 utils/adt/regproc.c:671 +#, c-format +msgid "Use NONE to denote the missing argument of a unary operator." +msgstr "" + +#: gram.y:11054 gram.y:11073 +#, c-format +msgid "WITH CHECK OPTION not supported on recursive views" +msgstr "WITH CHECK OPTION რეკურსიულ ხედებზე მხარდაუჭერელია" + +#: gram.y:12960 +#, c-format +msgid "LIMIT #,# syntax is not supported" +msgstr "LIMIT #,# სინტაქსი მხარდაჭერილი არაა" + +#: gram.y:12961 +#, c-format +msgid "Use separate LIMIT and OFFSET clauses." +msgstr "გამოიყენეთ განცალკევებული LIMIT და OFFSET პირობები." + +#: gram.y:13821 +#, c-format +msgid "only one DEFAULT value is allowed" +msgstr "დასაშვებია DEFAULT_ის მხოლოდ ერთი მნიშვნელობა" + +#: gram.y:13830 +#, c-format +msgid "only one PATH value per column is allowed" +msgstr "ყოველ სვეტზე PATH-ის მხოლოდ ერთი მნიშვნელობაა დასაშვები" + +#: gram.y:13839 +#, c-format +msgid "conflicting or redundant NULL / NOT NULL declarations for column \"%s\"" +msgstr "" + +#: gram.y:13848 +#, c-format +msgid "unrecognized column option \"%s\"" +msgstr "სვეტის უცნობი პარამეტრი %s" + +#: gram.y:14102 +#, c-format +msgid "precision for type float must be at least 1 bit" +msgstr "წილადი რიცხვების სიზუსტე 1 ბიტი მაინც უნდა იყოს" + +#: gram.y:14111 +#, c-format +msgid "precision for type float must be less than 54 bits" +msgstr "წილადი რიცხვების სიზუსტე 54 ბიტზე მეტი ვერ იქნება" + +#: gram.y:14614 +#, c-format +msgid "wrong number of parameters on left side of OVERLAPS expression" +msgstr "" + +#: gram.y:14619 +#, c-format +msgid "wrong number of parameters on right side of OVERLAPS expression" +msgstr "" + +#: gram.y:14796 +#, c-format +msgid "UNIQUE predicate is not yet implemented" +msgstr "პრედიკატი UNIQUE ჯერ განხორციელებული არაა" + +#: gram.y:15212 +#, c-format +msgid "cannot use multiple ORDER BY clauses with WITHIN GROUP" +msgstr "'WITHIN GROUP'-თან ერთად ერთზე მეტი ORDER BY პირობის გამოყენება შეუძლებელია" + +#: gram.y:15217 +#, c-format +msgid "cannot use DISTINCT with WITHIN GROUP" +msgstr "\"DISTINCT\"-ს \"WITHIN GROUP\"-თან ერთად ვერ გამოიყენებთ" + +#: gram.y:15222 +#, c-format +msgid "cannot use VARIADIC with WITHIN GROUP" +msgstr "\"VARIADIC\"-ს \"WITHIN GROUP\"-თან ერთად ვერ გამოიყენებთ" + +#: gram.y:15856 gram.y:15880 +#, c-format +msgid "frame start cannot be UNBOUNDED FOLLOWING" +msgstr "ჩარჩოს დასაწყისი UNBOUNDED FOLLOWING ვერ იქნება" + +#: gram.y:15861 +#, c-format +msgid "frame starting from following row cannot end with current row" +msgstr "ჩარჩო, რომელიც შემდეგი მწკრივიდან იწყება, მიმდინარე მწკრივზე ვერ დასრულდება" + +#: gram.y:15885 +#, c-format +msgid "frame end cannot be UNBOUNDED PRECEDING" +msgstr "ჩარჩოს დასასრული UNBOUNDED PRECEDING ვერ იქნება" + +#: gram.y:15891 +#, c-format +msgid "frame starting from current row cannot have preceding rows" +msgstr "ჩარჩოს, რომელიც მიმდინარე მწკრივიდან იწყება, წინა ჩარჩოები ვერ ექნება" + +#: gram.y:15898 +#, c-format +msgid "frame starting from following row cannot have preceding rows" +msgstr "ჩარჩოს, რომელიც შემდეგი მწკრივიდან იწყება, წინა ჩარჩოები ვერ ექნება" + +#: gram.y:16659 +#, c-format +msgid "type modifier cannot have parameter name" +msgstr "ტიპის მოდიფიკატორს პარამეტრის სახელი ვერ ექნება" + +#: gram.y:16665 +#, c-format +msgid "type modifier cannot have ORDER BY" +msgstr "ტიპის მოდიფიკატორს ORDER BY ვერ ექნება" + +#: gram.y:16733 gram.y:16740 gram.y:16747 +#, c-format +msgid "%s cannot be used as a role name here" +msgstr "%s აქ როგორც როლის სახელს ვერ გამოიყენებთ" + +#: gram.y:16837 gram.y:18294 +#, c-format +msgid "WITH TIES cannot be specified without ORDER BY clause" +msgstr "WITH TIES-ს ORDER BY პირობის გარეშე ვერ მიუთითებთ" + +#: gram.y:17973 gram.y:18160 +msgid "improper use of \"*\"" +msgstr "\"*\"-ის არასათანადო გამოყენება" + +#: gram.y:18123 gram.y:18140 tsearch/spell.c:963 tsearch/spell.c:980 tsearch/spell.c:997 tsearch/spell.c:1014 tsearch/spell.c:1079 +#, c-format +msgid "syntax error" +msgstr "სინტაქსის შეცდომა" + +#: gram.y: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 "" + +#: gram.y:18261 +#, c-format +msgid "multiple ORDER BY clauses not allowed" +msgstr "\"ORDER BY\"-ის გამოყენება მხოლოდ ერთხელ შეგიძლიათ" + +#: gram.y:18272 +#, c-format +msgid "multiple OFFSET clauses not allowed" +msgstr "\"OFFSET\"-ის გამოყენება მხოლოდ ერთხელ შეგიძლიათ" + +#: gram.y:18281 +#, c-format +msgid "multiple LIMIT clauses not allowed" +msgstr "\"LIMIT\"-ის გამოყენება მხოლოდ ერთხელ შეგიძლიათ" + +#: gram.y:18290 +#, c-format +msgid "multiple limit options not allowed" +msgstr "ლიმიტის პარამეტრების მითითება მხოლოდ ერთხელ შეგიძლიათ" + +#: gram.y:18317 +#, c-format +msgid "multiple WITH clauses not allowed" +msgstr "\"WITH\"-ის გამოყენება მხოლოდ ერთხელ შეგიძლიათ" + +#: gram.y:18510 +#, c-format +msgid "OUT and INOUT arguments aren't allowed in TABLE functions" +msgstr "" + +#: gram.y:18643 +#, c-format +msgid "multiple COLLATE clauses not allowed" +msgstr "\"COLLATE\"-ის გამოყენება მხოლოდ ერთხელ შეგიძლიათ" + +#. translator: %s is CHECK, UNIQUE, or similar +#: gram.y:18681 gram.y:18694 +#, c-format +msgid "%s constraints cannot be marked DEFERRABLE" +msgstr "%s -ის შეზღუდვებიs, როგორც DEFERRABLE, მონიშვნა შეუძლებელია" + +#. translator: %s is CHECK, UNIQUE, or similar +#: gram.y:18707 +#, c-format +msgid "%s constraints cannot be marked NOT VALID" +msgstr "%s -ის შეზღუდვებიs, როგორც NOT VALID, მონიშვნა შეუძლებელია" + +#. translator: %s is CHECK, UNIQUE, or similar +#: gram.y:18720 +#, c-format +msgid "%s constraints cannot be marked NO INHERIT" +msgstr "%s -ის შეზღუდვებიs, როგორც NO INHERIT, მონიშვნა შეუძლებელია" + +#: gram.y:18742 +#, c-format +msgid "unrecognized partitioning strategy \"%s\"" +msgstr "დაყოფის უცნობი სტრატეგია: %s" + +#: gram.y:18766 +#, c-format +msgid "invalid publication object list" +msgstr "პუბლიკაციების ობიექტების არასწორი სია" + +#: gram.y:18767 +#, c-format +msgid "One of TABLE or TABLES IN SCHEMA must be specified before a standalone table or schema name." +msgstr "" + +#: gram.y:18783 +#, c-format +msgid "invalid table name" +msgstr "არასწორი ცხრილის სახელი" + +#: gram.y:18804 +#, c-format +msgid "WHERE clause not allowed for schema" +msgstr "WHERE პირობა სქემისთვის დაშვებული არაა" + +#: gram.y:18811 +#, c-format +msgid "column specification not allowed for schema" +msgstr "სქემისთვის სვეტის მითითება დაშვებული არაა" + +#: gram.y:18825 +#, c-format +msgid "invalid schema name" +msgstr "არასწორი სქემის სახელი" + +#: guc-file.l:192 +#, c-format +msgid "empty configuration file name: \"%s\"" +msgstr "კონფიგურაციის ფაილის ცარიელი სახელი: \"%s\"" + +#: guc-file.l:209 +#, c-format +msgid "could not open configuration file \"%s\": maximum nesting depth exceeded" +msgstr "კონფიგურაციის ფაილის (\"%s\") გახსნა შეუძლებელია: ჩალაგების სიღრმე გადაცილებულია" + +#: guc-file.l:229 +#, c-format +msgid "configuration file recursion in \"%s\"" +msgstr "კონფიგურაციის ფაილის რეკურსია \"%s\"-ში" + +#: guc-file.l:245 +#, c-format +msgid "could not open configuration file \"%s\": %m" +msgstr "კონფიგურაციის ფაილის ('%s') გახსნის შეცდომა: %m" + +#: guc-file.l:256 +#, c-format +msgid "skipping missing configuration file \"%s\"" +msgstr "კონფიგურაციის ფაილის გამოტოვება \"%s\"" + +#: guc-file.l:511 +#, c-format +msgid "syntax error in file \"%s\" line %u, near end of line" +msgstr "სინტაქსის შეცდომა ფაილში \"%s\" ხაზზე %u, ხაზის ბოლოსთან ახლოს" + +#: guc-file.l:521 +#, c-format +msgid "syntax error in file \"%s\" line %u, near token \"%s\"" +msgstr "სინტაქსის შეცდომა ფაილში \"%s\" ხაზზე %u, ახლოს კოდთან \"%s\"" + +#: guc-file.l:541 +#, c-format +msgid "too many syntax errors found, abandoning file \"%s\"" +msgstr "აღმოჩენილია მეტისმეტად ბევრი შეცდომა. ფაილი \"%s\" მიტოვებულია" + +#: jsonpath_gram.y:528 jsonpath_scan.l:629 jsonpath_scan.l:640 jsonpath_scan.l:650 jsonpath_scan.l:701 utils/adt/encode.c:492 utils/adt/encode.c:557 utils/adt/jsonfuncs.c:648 utils/adt/varlena.c:331 utils/adt/varlena.c:372 +#, c-format +msgid "invalid input syntax for type %s" +msgstr "არასწორი შეყვანის სინტაქსი ტიპისთვის %s" + +#: jsonpath_gram.y:529 +#, c-format +msgid "Unrecognized flag character \"%.*s\" in LIKE_REGEX predicate." +msgstr "უცნობი ალმის სიმბოლო \"%.*s\" LIKE_REGEX პრედიკატში." + +#: jsonpath_gram.y:559 tsearch/spell.c:749 utils/adt/regexp.c:224 +#, c-format +msgid "invalid regular expression: %s" +msgstr "არასწორი რეგულარული გამოსახულება: %s" + +#: jsonpath_gram.y:607 +#, c-format +msgid "XQuery \"x\" flag (expanded regular expressions) is not implemented" +msgstr "ენის XQuery ალამი \"x\" (გაფართოებული რეგულარული გამოსახულებები) განხორციელებული არაა" + +#: jsonpath_scan.l:174 +msgid "invalid Unicode escape sequence" +msgstr "უნიკოდის სპეცკოდის არასწორი მიმდევრობა" + +#: jsonpath_scan.l:180 +msgid "invalid hexadecimal character sequence" +msgstr "არასწორი თექვსმეტობითი სიმბოლოს მიმდევრობა" + +#: jsonpath_scan.l:195 +msgid "unexpected end after backslash" +msgstr "მოულოდნელი დასასრული '\\' სიმბოლოს შემდეგ" + +#: jsonpath_scan.l:201 repl_scanner.l:209 scan.l:741 +msgid "unterminated quoted string" +msgstr "ბრჭყალებში ჩასმული ციტატის დაუსრულებელი სტრიქონი" + +#: jsonpath_scan.l:228 +msgid "unexpected end of comment" +msgstr "კომენტარის მოულოდნელი დასასრული" + +#: jsonpath_scan.l:319 +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 +msgid "trailing junk after numeric literal" +msgstr "რიცხვითი მნიშვნელობის შემდეგ მონაცემები ნაგავია" + +#. translator: %s is typically "syntax error" +#: jsonpath_scan.l:375 +#, c-format +msgid "%s at end of jsonpath input" +msgstr "%s jsonpath-ის შეყვანის ბოლოში" + +#. translator: first %s is typically "syntax error" +#: jsonpath_scan.l:382 +#, c-format +msgid "%s at or near \"%s\" of jsonpath input" +msgstr "" + +#: jsonpath_scan.l:557 +msgid "invalid input" +msgstr "არასწორი შეყვანა" + +#: jsonpath_scan.l:583 +msgid "invalid hexadecimal digit" +msgstr "არასწორი თექვსმეტობითი ციფრი" + +#: jsonpath_scan.l:596 utils/adt/jsonfuncs.c:636 +#, c-format +msgid "unsupported Unicode escape sequence" +msgstr "უნიკოდის სპეცკოდის მხარდაუჭერელი მიმდევრობა" + +#: jsonpath_scan.l:614 +#, c-format +msgid "could not convert Unicode to server encoding" +msgstr "უნიკოდის სერვერის კოდირებაში გადაყვანა შეუძლებელია" + +#: 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 "შეცდომა DSA მეხსიერების გამოთხოვისას (ზომა %zu ბაიტი)." + +#: libpq/auth-sasl.c:97 +#, c-format +msgid "expected SASL response, got message type %d" +msgstr "მოველოდი SASL პასუხს. მიღებული შეტყობინების ტიპია %d" + +#: libpq/auth-scram.c:270 +#, c-format +msgid "client selected an invalid SASL authentication mechanism" +msgstr "კლიენტის არჩეული SASL ავთენტიკაციის მექანიზმი არასწორია" + +#: libpq/auth-scram.c:294 libpq/auth-scram.c:543 libpq/auth-scram.c:554 +#, c-format +msgid "invalid SCRAM secret for user \"%s\"" +msgstr "არასწორი SCRAM საიდუმლო მომხმარებლისთვის \"%s\"" + +#: libpq/auth-scram.c:305 +#, c-format +msgid "User \"%s\" does not have a valid SCRAM secret." +msgstr "მომხმარებელს \"%s\" სწორი SCRAM საიდუმლო არ გააჩნია." + +#: libpq/auth-scram.c:385 libpq/auth-scram.c:390 libpq/auth-scram.c:744 libpq/auth-scram.c:752 libpq/auth-scram.c:857 libpq/auth-scram.c:870 libpq/auth-scram.c:880 libpq/auth-scram.c:988 libpq/auth-scram.c:995 libpq/auth-scram.c:1010 libpq/auth-scram.c:1025 libpq/auth-scram.c:1039 libpq/auth-scram.c:1057 libpq/auth-scram.c:1072 libpq/auth-scram.c:1386 libpq/auth-scram.c:1394 +#, c-format +msgid "malformed SCRAM message" +msgstr "დამახინჯებული SCRAM-ის შეტყობინება" + +#: libpq/auth-scram.c:386 +#, c-format +msgid "The message is empty." +msgstr "შეტყობინება ცარიელია." + +#: libpq/auth-scram.c:391 +#, c-format +msgid "Message length does not match input length." +msgstr "შეტყობინების სიგრძე შეყვანის სიგრძეს არემთხვევა." + +#: libpq/auth-scram.c:423 +#, c-format +msgid "invalid SCRAM response" +msgstr "არასწორი SCRAM პასუხი" + +#: libpq/auth-scram.c:424 +#, c-format +msgid "Nonce does not match." +msgstr "ერთჯერადი რიცხვები არ ემთხვევა." + +#: libpq/auth-scram.c:500 +#, c-format +msgid "could not generate random salt" +msgstr "შემთხვევითი მარილის გენერაციის შეცდომა" + +#: libpq/auth-scram.c:745 +#, c-format +msgid "Expected attribute \"%c\" but found \"%s\"." +msgstr "მოველოდი ატრიბუტს \"%c\" მაგრამ მივიღე \"%s\"." + +#: libpq/auth-scram.c:753 libpq/auth-scram.c:881 +#, c-format +msgid "Expected character \"=\" for attribute \"%c\"." +msgstr "მოველოდი სიმბოლოს \"=\" ატრიბუტისთვის \"%c\"." + +#: libpq/auth-scram.c:858 +#, c-format +msgid "Attribute expected, but found end of string." +msgstr "მოველოდი ატრიბუტს, მაგრამ სტრიქონის ბოლო მივიღე." + +#: libpq/auth-scram.c:871 +#, c-format +msgid "Attribute expected, but found invalid character \"%s\"." +msgstr "მოველოდი ატრიბუტს, მაგრამ მივიღე არასწორი სიმბოლო \"%s\"." + +#: libpq/auth-scram.c:989 libpq/auth-scram.c:1011 +#, c-format +msgid "The client selected SCRAM-SHA-256-PLUS, but the SCRAM message does not include channel binding data." +msgstr "კლიენტმა აირჩია SCRAM-SHA-256-PLUS, მაგრამ SCRAM შეტყობინება არხზე მიბმის მონაცემებს არ შეიცავს." + +#: libpq/auth-scram.c:996 libpq/auth-scram.c:1026 +#, c-format +msgid "Comma expected, but found character \"%s\"." +msgstr "მოველოდი მძიმეს, მაგრამ აღმოჩენილია სიმბოლო \"%s\"." + +#: libpq/auth-scram.c:1017 +#, c-format +msgid "SCRAM channel binding negotiation error" +msgstr "SCRAM არხზე მიბმის მოლაპარაკების შეცდომა" + +#: libpq/auth-scram.c:1018 +#, c-format +msgid "The client supports SCRAM channel binding but thinks the server does not. However, this server does support channel binding." +msgstr "კლიენტს აქვს SCRAM არხზე მიბმის მხარდაჭერა, მაგრამ ფიქრობს, რომ სერვერს - არა. მაგრამ სერვერს აქვს არხზე მიბმის მხარდაჭერა." + +#: libpq/auth-scram.c:1040 +#, c-format +msgid "The client selected SCRAM-SHA-256 without channel binding, but the SCRAM message includes channel binding data." +msgstr "კლიენტმა SCRAM-SHA-256 არხზე მიბმის გარეშე აირჩია, მაგრამ SCRAM შეტყობინება არხზე მიბმის მონაცემებს შეიცავს." + +#: libpq/auth-scram.c:1051 +#, c-format +msgid "unsupported SCRAM channel-binding type \"%s\"" +msgstr "მხარდაუჭერელი SCRAM-ის არხზე მიბმის ტიპი \"%s\"" + +#: libpq/auth-scram.c:1058 +#, c-format +msgid "Unexpected channel-binding flag \"%s\"." +msgstr "არხზე მიბმის მოულოდნელი ალამი: \"%s\"." + +#: libpq/auth-scram.c:1068 +#, c-format +msgid "client uses authorization identity, but it is not supported" +msgstr "კლიენტი იყენებს ავტორიზაციის იდენტიფიკაციას, მაგრამ ის მხარდაჭერილი არაა" + +#: libpq/auth-scram.c:1073 +#, c-format +msgid "Unexpected attribute \"%s\" in client-first-message." +msgstr "" + +#: libpq/auth-scram.c:1089 +#, c-format +msgid "client requires an unsupported SCRAM extension" +msgstr "კლიენტი მოითხოვს SCRAM გაფართოებას, რომელიც მხარდაჭერილი არაა" + +#: libpq/auth-scram.c:1103 +#, c-format +msgid "non-printable characters in SCRAM nonce" +msgstr "" + +#: libpq/auth-scram.c:1234 +#, c-format +msgid "could not generate random nonce" +msgstr "ერთჯერადი კოდის გენერაციის შეცდომა" + +#: libpq/auth-scram.c:1244 +#, c-format +msgid "could not encode random nonce" +msgstr "ერთჯერადი კოდის კოდირების შეცდომა" + +#: libpq/auth-scram.c:1350 +#, c-format +msgid "SCRAM channel binding check failed" +msgstr "SCRAM არხზე მიბმის შემოწმების შეცდომა" + +#: libpq/auth-scram.c:1368 +#, c-format +msgid "unexpected SCRAM channel-binding attribute in client-final-message" +msgstr "" + +#: libpq/auth-scram.c:1387 +#, c-format +msgid "Malformed proof in client-final-message." +msgstr "" + +#: libpq/auth-scram.c:1395 +#, c-format +msgid "Garbage found at the end of client-final-message." +msgstr "კლიენტის-საბოლოო-შეტყობინების ბოლოში აღმოჩენილია ნაგავი." + +#: libpq/auth.c:271 +#, c-format +msgid "authentication failed for user \"%s\": host rejected" +msgstr "ავთენტიკაციის შეცდომა მომხმარებლისთვის \"%s\": ჰოსტმა ის უარყო" + +#: libpq/auth.c:274 +#, c-format +msgid "\"trust\" authentication failed for user \"%s\"" +msgstr "\"ნდობით\" ავთენტიფიკაცია მომხმარებლისთვის \"%s\" ვერ მოხერხდა" + +#: libpq/auth.c:277 +#, c-format +msgid "Ident authentication failed for user \"%s\"" +msgstr "იდენტიფიკაციით ავთენტიფიკაცია მომხმარებლისთვის \"%s\" ვერ მოხერხდა" + +#: libpq/auth.c:280 +#, c-format +msgid "Peer authentication failed for user \"%s\"" +msgstr "პარტნიორის ავთენტიფიკაცია მომხმარებლისთვის \"%s\" ვერ მოხერხდა" + +#: libpq/auth.c:285 +#, c-format +msgid "password authentication failed for user \"%s\"" +msgstr "პაროლით ავთენტიფიკაცია მომხმარებლისთვის \"%s\" ვერ მოხერხდა" + +#: libpq/auth.c:290 +#, c-format +msgid "GSSAPI authentication failed for user \"%s\"" +msgstr "GSSAPI ავთენტიფიკაცია მომხმარებლისთვის \"%s\" ვერ მოხერხდა" + +#: libpq/auth.c:293 +#, c-format +msgid "SSPI authentication failed for user \"%s\"" +msgstr "SSPI ავთენტიფიკაცია მომხმარებლისთვის \"%s\" ვერ მოხერხდა" + +#: libpq/auth.c:296 +#, c-format +msgid "PAM authentication failed for user \"%s\"" +msgstr "PAM ავთენტიფიკაცია მომხმარებლისთვის \"%s\" ვერ მოხერხდა" + +#: libpq/auth.c:299 +#, c-format +msgid "BSD authentication failed for user \"%s\"" +msgstr "BSD ავთენტიფიკაცია მომხმარებლისთვის \"%s\" ვერ მოხერხდა" + +#: libpq/auth.c:302 +#, c-format +msgid "LDAP authentication failed for user \"%s\"" +msgstr "LDAP ავთენტიფიკაცია მომხმარებლისთვის \"%s\" ვერ მოხერხდა" + +#: libpq/auth.c:305 +#, c-format +msgid "certificate authentication failed for user \"%s\"" +msgstr "სერტიფიკატით ავთენტიფიკაცია მომხმარებლისთვის \"%s\" ვერ მოხერხდა" + +#: libpq/auth.c:308 +#, c-format +msgid "RADIUS authentication failed for user \"%s\"" +msgstr "რადიუსით ავთენტიფიკაცია მომხმარებლისთვის \"%s\" ვერ მოხერხდა" + +#: libpq/auth.c:311 +#, c-format +msgid "authentication failed for user \"%s\": invalid authentication method" +msgstr "ავთენტიკაციის შეცდომა მომხმარებლისთვის \"%s\": არასწორი ავთენტიკაციის მეთოდი" + +#: libpq/auth.c:315 +#, c-format +msgid "Connection matched file \"%s\" line %d: \"%s\"" +msgstr "მიერთება დაემთხვა ფაილ %s-ს ხაზზე %d: \"%s\"" + +#: libpq/auth.c:359 +#, c-format +msgid "authentication identifier set more than once" +msgstr "ავთენტიფიკაციის იდენტიფიკატორი ერთზე მეტჯერაა დაყენებული" + +#: libpq/auth.c:360 +#, c-format +msgid "previous identifier: \"%s\"; new identifier: \"%s\"" +msgstr "წინა იდენტიფიკატორი: \"%s\"; ახალი იდენტიფიკატორი: \"%s\"" + +#: libpq/auth.c:370 +#, c-format +msgid "connection authenticated: identity=\"%s\" method=%s (%s:%d)" +msgstr "მიერთება ავთენტიფიცირებულია: იდენტიფიკატორი=\"%s\" მეთოდი=%s (%s:%d)" + +#: libpq/auth.c:410 +#, c-format +msgid "client certificates can only be checked if a root certificate store is available" +msgstr "კლიენტის სერტიფიკატების შემოწმება მხოლოდ მაშინაა შესაძლებელი, როცა ხელმისაწვდომია ძირითადი სერტიფიკატების საცავი" + +#: libpq/auth.c:421 +#, c-format +msgid "connection requires a valid client certificate" +msgstr "მიერთების მცდელობას კლიენტის სწორი სერტიფიკატი ესაჭიროება" + +#: libpq/auth.c:452 libpq/auth.c:498 +msgid "GSS encryption" +msgstr "GSS დაშიფვრა" + +#: libpq/auth.c:455 libpq/auth.c:501 +msgid "SSL encryption" +msgstr "SSL დაშიფვრა" + +#: libpq/auth.c:457 libpq/auth.c:503 +msgid "no encryption" +msgstr "დაშიფვრის გარეშე" + +#. translator: last %s describes encryption state +#: libpq/auth.c:463 +#, c-format +msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\", %s" +msgstr "pg_hba.conf უარყოფს რეპლიკაციის მიერთებას ჰოსტისთვის \"%s\", მომხმარებელი \"%s\", %s" + +#. translator: last %s describes encryption state +#: libpq/auth.c:470 +#, c-format +msgid "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\", %s" +msgstr "pg_hba.conf უარყოფს მიერთებას ჰოსტისთვის \"%s\", მომხმარებელი \"%s\", ბაზა \"%s\", %s" + +#: libpq/auth.c:508 +#, c-format +msgid "Client IP address resolved to \"%s\", forward lookup matches." +msgstr "კლიენტის IP მისამართი იხსნება \"%s\" პირდაპირი DNS ემთხვევა." + +#: libpq/auth.c:511 +#, c-format +msgid "Client IP address resolved to \"%s\", forward lookup not checked." +msgstr "კლიენტის IP მისამართი იხსნება \"%s\" პირდაპირი DNS არ შემოწმებულა." + +#: libpq/auth.c:514 +#, c-format +msgid "Client IP address resolved to \"%s\", forward lookup does not match." +msgstr "კლიენტის IP მისამართი იხსნება \"%s\" პირდაპირი DNS არ ემთხვევა." + +#: libpq/auth.c:517 +#, c-format +msgid "Could not translate client host name \"%s\" to IP address: %s." +msgstr "კლიენტის ჰოსტის სახელის (\"%s\") IP მისამართში თარგმნის შეცდომა: %s." + +#: libpq/auth.c:522 +#, c-format +msgid "Could not resolve client IP address to a host name: %s." +msgstr "კლიენტის IP მისამართიდან ჰოსტის სახელის ამოხსნის შეცდომა: %s." + +#. translator: last %s describes encryption state +#: libpq/auth.c:530 +#, c-format +msgid "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\", %s" +msgstr "pg_hba.conf-ში ჩანაწერი რეპლიკაციის შეერთების შესახებ ჰოსტიდან \"%s\" მომხმარებელი \"%s\", %s აღმოჩენილი არაა" + +#. translator: last %s describes encryption state +#: libpq/auth.c:538 +#, c-format +msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\", %s" +msgstr "pg_hba.conf-ში ჩანაწერი ჰოსტისთვის \"%s\" მომხმარებელი \"%s\", ბაზა \"%s\", %s აღმოჩენილი არაა" + +#: libpq/auth.c:711 +#, c-format +msgid "expected password response, got message type %d" +msgstr "მოველოდი პაროლის პასუხს, მივიღე შეტყობინების ტიპი %d" + +#: libpq/auth.c:732 +#, c-format +msgid "invalid password packet size" +msgstr "პაროლის პაკეტის არასწორი ზომა" + +#: libpq/auth.c:750 +#, c-format +msgid "empty password returned by client" +msgstr "კლიენტმა ცარიელი პაროლი დააბრუნა" + +#: libpq/auth.c:879 libpq/hba.c:1727 +#, c-format +msgid "MD5 authentication is not supported when \"db_user_namespace\" is enabled" +msgstr "MD5 ავთენტიკაცია მაშინ, როცა \"db_user_namespace\" ჩართულია, მხარდაჭერილი არაა" + +#: libpq/auth.c:885 +#, c-format +msgid "could not generate random MD5 salt" +msgstr "შემთხვევითი MD5 მარილის გენერაციის შეცდომა" + +#: libpq/auth.c:936 libpq/be-secure-gssapi.c:540 +#, c-format +msgid "could not set environment: %m" +msgstr "გარემოს მორგების შეცდომა: %m" + +#: libpq/auth.c:975 +#, c-format +msgid "expected GSS response, got message type %d" +msgstr "მოველოდი GSS პასუხს, მივიღე შეტყობინების ტიპი %d" + +#: libpq/auth.c:1041 +msgid "accepting GSS security context failed" +msgstr "'GSS'-ის უსაფრთხოების კონტექსტის მიღების შეცდომა" + +#: libpq/auth.c:1082 +msgid "retrieving GSS user name failed" +msgstr "'GSS'-ის მომხმარებლის სახელის მიღების შეცდომა" + +#: libpq/auth.c:1228 +msgid "could not acquire SSPI credentials" +msgstr "შეცდომა SSPI-ის მომხმ./პაროლის მიღებისას" + +#: libpq/auth.c:1253 +#, c-format +msgid "expected SSPI response, got message type %d" +msgstr "მოველოდი SSPI პასუხს, მივიღე შეტყობინების ტიპი %d" + +#: libpq/auth.c:1331 +msgid "could not accept SSPI security context" +msgstr "'SSPI'-ის უსაფრთხოების კონტექსტის მიღების შეცდომა" + +#: libpq/auth.c:1372 +msgid "could not get token from SSPI security context" +msgstr "'SSPI'-ის უსაფრთხოების კონტექსტიდან კოდის მიღების შეცდომა" + +#: libpq/auth.c:1508 libpq/auth.c:1527 +#, c-format +msgid "could not translate name" +msgstr "სახელის თარგმნა შეუძლებელია" + +#: libpq/auth.c:1540 +#, c-format +msgid "realm name too long" +msgstr "რეალმის სახელი ძალიან გრძელია" + +#: libpq/auth.c:1555 +#, c-format +msgid "translated account name too long" +msgstr "ანგარიშის ნათარგმნი სახელი ძალიან გრძელია" + +#: libpq/auth.c:1734 +#, c-format +msgid "could not create socket for Ident connection: %m" +msgstr "ident მიერთებისთვის სოკეტის შექმნა შეუძლებელია: %m" + +#: libpq/auth.c:1749 +#, c-format +msgid "could not bind to local address \"%s\": %m" +msgstr "ლოკალურ მისამართზე \"%s\" მიბმის შეცდომა: %m" + +#: libpq/auth.c:1761 +#, c-format +msgid "could not connect to Ident server at address \"%s\", port %s: %m" +msgstr "შეცდომა LDAP სერვერთან მიერთებისას. მისამართი - \"%s\",პორტი - %s: %m" + +#: libpq/auth.c:1783 +#, c-format +msgid "could not send query to Ident server at address \"%s\", port %s: %m" +msgstr "შეცდომა LDAP სერვერზე მოთხოვნის გაგზავნისას. მისამართი - \"%s\", პორტი - %s: %m" + +#: libpq/auth.c:1800 +#, c-format +msgid "could not receive response from Ident server at address \"%s\", port %s: %m" +msgstr "პასუხი Ident-ის სერვერიდან მისამართით \"%s\" პორტზე %s ვერ მივიღე: %m" + +#: libpq/auth.c:1810 +#, c-format +msgid "invalidly formatted response from Ident server: \"%s\"" +msgstr "არასწორად დაფორმატებული პასუხი Ident სერვერიდან: \"%s\"" + +#: libpq/auth.c:1863 +#, c-format +msgid "peer authentication is not supported on this platform" +msgstr "ამ პლატფორმაზე პარტნიორის ავთენტიკაცია მხარდაჭერილი არაა" + +#: libpq/auth.c:1867 +#, c-format +msgid "could not get peer credentials: %m" +msgstr "პარტნიორის ავტორიზაციის დეტალების მიღების შეცდომა: %m" + +#: libpq/auth.c:1879 +#, c-format +msgid "could not look up local user ID %ld: %s" +msgstr "ლოკალური მომხმარებლის ID-ით %ld მოძებნა შეუძლებელია: %s" + +#: libpq/auth.c:1981 +#, c-format +msgid "error from underlying PAM layer: %s" +msgstr "შეცდომა ქვედა PAM ფენიდან: %s" + +#: libpq/auth.c:1992 +#, c-format +msgid "unsupported PAM conversation %d/\"%s\"" +msgstr "მხარდაუჭერელი PAM საუბარი %d/\"%s\"" + +#: libpq/auth.c:2049 +#, c-format +msgid "could not create PAM authenticator: %s" +msgstr "შეცდომა PAM ავთენტიკატორის შექმნისას: %s" + +#: libpq/auth.c:2060 +#, c-format +msgid "pam_set_item(PAM_USER) failed: %s" +msgstr "pam_set_item(PAM_USER) -ის შეცდომა: %s" + +#: libpq/auth.c:2092 +#, c-format +msgid "pam_set_item(PAM_RHOST) failed: %s" +msgstr "pam_set_item(PAM_RHOST) -ის შეცდომა: %s" + +#: libpq/auth.c:2104 +#, c-format +msgid "pam_set_item(PAM_CONV) failed: %s" +msgstr "pam_set_item(PAM_CONV) -ის შეცდომა: %s" + +#: libpq/auth.c:2117 +#, c-format +msgid "pam_authenticate failed: %s" +msgstr "pam_authenticate -ის შეცდომა: %s" + +#: libpq/auth.c:2130 +#, c-format +msgid "pam_acct_mgmt failed: %s" +msgstr "pam_acct_mgmt-ის შეცდომა: %s" + +#: libpq/auth.c:2141 +#, c-format +msgid "could not release PAM authenticator: %s" +msgstr "შეცდომა PAM ავთენტიკატორის მოხსნისას: %s" + +#: libpq/auth.c:2221 +#, c-format +msgid "could not initialize LDAP: error code %d" +msgstr "შეცდომა LDAP-ის ინიციალიზაციისას: შეცდომის კოდი %d" + +#: libpq/auth.c:2258 +#, c-format +msgid "could not extract domain name from ldapbasedn" +msgstr "ldapbasedn-დან დომენის სახელის გამოღება შეუძლებელია" + +#: libpq/auth.c:2266 +#, c-format +msgid "LDAP authentication could not find DNS SRV records for \"%s\"" +msgstr "LDAP ავთენტიკაციამ \"%s\"-სთვის DNS SRV ჩანაწერები ვერ იპოვა" + +#: libpq/auth.c:2268 +#, c-format +msgid "Set an LDAP server name explicitly." +msgstr "LDAP სერვერის სახელი აშკარად უნდა დააყენოთ." + +#: libpq/auth.c:2320 +#, c-format +msgid "could not initialize LDAP: %s" +msgstr "\"LDAP\"-ის ინიციალიზაციის შეცდომა: %s" + +#: libpq/auth.c:2330 +#, c-format +msgid "ldaps not supported with this LDAP library" +msgstr "ამ LDAP ბიბლიოთეკას ldaps-ის მხარდაჭერა არ გააჩნია" + +#: libpq/auth.c:2338 +#, c-format +msgid "could not initialize LDAP: %m" +msgstr "\"LDAP\"-ის ინიციალიზაციის შეცდომა: %m" + +#: libpq/auth.c:2348 +#, c-format +msgid "could not set LDAP protocol version: %s" +msgstr "\"LDAP\"-ის ვერსიის დაყენების შეცდომა: %s" + +#: libpq/auth.c:2364 +#, c-format +msgid "could not start LDAP TLS session: %s" +msgstr "\"LDAP TLS\" სესიის დაწყების შეცდომა: %s" + +#: libpq/auth.c:2441 +#, c-format +msgid "LDAP server not specified, and no ldapbasedn" +msgstr "LDAP სერვერი და ldapbasedn მითითებული არაა" + +#: libpq/auth.c:2448 +#, c-format +msgid "LDAP server not specified" +msgstr "LDAP სერვერი მითითებული არაა" + +#: libpq/auth.c:2510 +#, c-format +msgid "invalid character in user name for LDAP authentication" +msgstr "არასწორი სიმბოლო მომხმარებლის სახელში LDAP-ით ავთენტიკაციისას" + +#: libpq/auth.c:2527 +#, c-format +msgid "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": %s" +msgstr "ldapbinddn \"%s\"-სთვის სერვერზე \"%s\" საწყისი LDAP მიბმა ვერ განვახორციელე: %s" + +#: libpq/auth.c:2557 +#, c-format +msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s" +msgstr "ფილტრისთვის \"%s\" სერვერზე \"%s\" LDAP ძებნის გაშვება შეუძლებელია: %s" + +#: libpq/auth.c:2573 +#, c-format +msgid "LDAP user \"%s\" does not exist" +msgstr "LDAP-ის მომხმარებელი \"%s\" არ არსებობს" + +#: libpq/auth.c:2574 +#, c-format +msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries." +msgstr "LDAP ძებნამ ფილტრისთვის \"%s\" სერვერზე \"%s\" ჩანაწერები არ დააბრუნა." + +#: libpq/auth.c:2578 +#, c-format +msgid "LDAP user \"%s\" is not unique" +msgstr "LDAP-ის მომხმარებელი \"%s\" უნიკალური არაა" + +#: libpq/auth.c:2579 +#, 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\" სერვერზე \"%s\" %d ჩანაწერი დააბრუნა." +msgstr[1] "LDAP ძებნამ ფილტრისთვის \"%s\" სერვერზე \"%s\" %d ჩანაწერი დააბრუნა." + +#: libpq/auth.c:2599 +#, c-format +msgid "could not get dn for the first entry matching \"%s\" on server \"%s\": %s" +msgstr "" + +#: libpq/auth.c:2620 +#, c-format +msgid "could not unbind after searching for user \"%s\" on server \"%s\"" +msgstr "" + +#: libpq/auth.c:2651 +#, c-format +msgid "LDAP login failed for user \"%s\" on server \"%s\": %s" +msgstr "LDAP-ით შესვლის შეცდომა მომხმარებლისთვის \"%s\" სერვერზე \"%s\": %s" + +#: libpq/auth.c:2683 +#, c-format +msgid "LDAP diagnostics: %s" +msgstr "LDAP-ის დიაგნოსტიკა: %s" + +#: libpq/auth.c:2721 +#, c-format +msgid "certificate authentication failed for user \"%s\": client certificate contains no user name" +msgstr "სერტიფიკატით ავთენტიკაციის შეცდომა მომხმარებლისთვის \"%s\": კლიენტის სერტიფიკატი მომხმარებლის სახელს არ შეიცავს" + +#: libpq/auth.c:2742 +#, c-format +msgid "certificate authentication failed for user \"%s\": unable to retrieve subject DN" +msgstr "სერტიფიკატით ავთენტიკაცია ჩავარდა მომხმარებლისთვის \"%s\": სათაურის DN-ის მიღება შეუძლებელა" + +#: libpq/auth.c:2765 +#, c-format +msgid "certificate validation (clientcert=verify-full) failed for user \"%s\": DN mismatch" +msgstr "სერტიფიკატის გადამოწმების (clientcert=verify-full) შეცდომა მომხმარებლისთვის \"%s\": DN არ ემთხვევა" + +#: libpq/auth.c:2770 +#, c-format +msgid "certificate validation (clientcert=verify-full) failed for user \"%s\": CN mismatch" +msgstr "სერტიფიკატის გადამოწმების (clientcert=verify-full) შეცდომა მომხმარებლისთვის \"%s\": CN არ ემთხვევა" + +#: libpq/auth.c:2872 +#, c-format +msgid "RADIUS server not specified" +msgstr "RADIUS სერვერი მითითებული არაა" + +#: libpq/auth.c:2879 +#, c-format +msgid "RADIUS secret not specified" +msgstr "RADIUS-ის პაროლი მითითებული არაა" + +#: libpq/auth.c:2893 +#, c-format +msgid "RADIUS authentication does not support passwords longer than %d characters" +msgstr "RADIUS-ით ავთენტიკაციისას %d სიმბოლოზე გრძელი პაროლები მხარდაჭერილი არაა" + +#: libpq/auth.c:2995 libpq/hba.c:2369 +#, c-format +msgid "could not translate RADIUS server name \"%s\" to address: %s" +msgstr "შეცდომა RADIUS სერვერის სახელის \"%s\" მისამართში თარგმნისას: %s" + +#: libpq/auth.c:3009 +#, c-format +msgid "could not generate random encryption vector" +msgstr "შემთხვევითი დაშიფვრის ვექტორის გენერაციის შეცდომა" + +#: libpq/auth.c:3046 +#, c-format +msgid "could not perform MD5 encryption of password: %s" +msgstr "პაროლის MD5-ით დაშიფვრა შეუძლებელია: %s" + +#: libpq/auth.c:3073 +#, c-format +msgid "could not create RADIUS socket: %m" +msgstr "შეცდომა RADIUS სოკეტის შექმნისას: %m" + +#: libpq/auth.c:3089 +#, c-format +msgid "could not bind local RADIUS socket: %m" +msgstr "ლოკალურ RADIUS სოკეტზე მიბმის შეცდომა: %m" + +#: libpq/auth.c:3099 +#, c-format +msgid "could not send RADIUS packet: %m" +msgstr "შეცდომა RADIUS პაკეტის გაგზავნისას: %m" + +#: libpq/auth.c:3133 libpq/auth.c:3159 +#, c-format +msgid "timeout waiting for RADIUS response from %s" +msgstr "%s-დან RADIUS პასუხის მოლოდინის ვადა ამოიწურა" + +#: libpq/auth.c:3152 +#, c-format +msgid "could not check status on RADIUS socket: %m" +msgstr "შეცდომა RADIUS სოკეტის სტატუსის შემოწმებისას: %m" + +#: libpq/auth.c:3182 +#, c-format +msgid "could not read RADIUS response: %m" +msgstr "შეცდომა RADIUS პასუხის წაკითხვისას: %m" + +#: libpq/auth.c:3190 +#, c-format +msgid "RADIUS response from %s was sent from incorrect port: %d" +msgstr "RADIUS პასუხი \"%s\" გამოგზავნილია არასწორი პორტიდან: %d" + +#: libpq/auth.c:3198 +#, c-format +msgid "RADIUS response from %s too short: %d" +msgstr "RADIUS პასუხი %s-დან მეტისმეტად მოკლეა: %d" + +#: libpq/auth.c:3205 +#, c-format +msgid "RADIUS response from %s has corrupt length: %d (actual length %d)" +msgstr "RADIUS პასუხს %s-დან დაზიანებული სიგრძე გააჩნია: %d (რეალური სიგრძე %d)" + +#: libpq/auth.c:3213 +#, c-format +msgid "RADIUS response from %s is to a different request: %d (should be %d)" +msgstr "RADIUS პასუხი %s-დან სხვა მოთხოვნას ეკუთვნის: %d (უნდა იყოს %d)" + +#: libpq/auth.c:3238 +#, c-format +msgid "could not perform MD5 encryption of received packet: %s" +msgstr "მიღებული პაკეტის MD5-ით დაშიფვრა შეუძლებელია: %s" + +#: libpq/auth.c:3248 +#, c-format +msgid "RADIUS response from %s has incorrect MD5 signature" +msgstr "%s-დან მიღებული RADIUS პასუხის MD5 ხელმოწერა არასწორია" + +#: libpq/auth.c:3266 +#, c-format +msgid "RADIUS response from %s has invalid code (%d) for user \"%s\"" +msgstr "%s-დან მიღებულ RADIUS-ს პასუხს არასწორი კოდი (%d) გააჩნია მომხმარებლისთვის \"%s\"" + +#: libpq/be-fsstubs.c:133 libpq/be-fsstubs.c:162 libpq/be-fsstubs.c:190 libpq/be-fsstubs.c:216 libpq/be-fsstubs.c:241 libpq/be-fsstubs.c:283 libpq/be-fsstubs.c:306 libpq/be-fsstubs.c:560 +#, c-format +msgid "invalid large-object descriptor: %d" +msgstr "დიდი ობიექტის არასწორი დესკრიპტორი: %d" + +#: libpq/be-fsstubs.c:173 +#, c-format +msgid "large object descriptor %d was not opened for reading" +msgstr "დიდი ობიექტის დესკრიპტორი %d წაკითხვისთვის არ გახსნილა" + +#: libpq/be-fsstubs.c:197 libpq/be-fsstubs.c:567 +#, c-format +msgid "large object descriptor %d was not opened for writing" +msgstr "დიდი ობიექტის დესკრიპტორი %d ჩაწერისთვის არ გახსნილა" + +#: libpq/be-fsstubs.c:224 +#, c-format +msgid "lo_lseek result out of range for large-object descriptor %d" +msgstr "lo_lseek-ის შედეგი დიაპაზონს გარეთაა დიდი-ობიექტის დესკრიპტორისთვის %d" + +#: libpq/be-fsstubs.c:291 +#, c-format +msgid "lo_tell result out of range for large-object descriptor %d" +msgstr "lo_tell-ის შედეგი დიაპაზონს გარეთაა დიდი-ობიექტის დესკრიპტორისთვის %d" + +#: libpq/be-fsstubs.c:439 +#, c-format +msgid "could not open server file \"%s\": %m" +msgstr "სერვერის ფაილის (\"%s\") გახსნის შეცდომა: %m" + +#: libpq/be-fsstubs.c:462 +#, c-format +msgid "could not read server file \"%s\": %m" +msgstr "სერვერის ფაილის (\"%s\") წაკითხვის შეცდომა: %m" + +#: libpq/be-fsstubs.c:521 +#, c-format +msgid "could not create server file \"%s\": %m" +msgstr "სერვერის ფაილის (\"%s\") შექმნის შეცდომა: %m" + +#: libpq/be-fsstubs.c:533 +#, c-format +msgid "could not write server file \"%s\": %m" +msgstr "სერვერის ფაილში (\"%s\") ჩაწერის შეცდომა: %m" + +#: libpq/be-fsstubs.c:774 +#, c-format +msgid "large object read request is too large" +msgstr "დიდი ობიექტის წაკითხვის მოთხოვნა მეტისმეტად დიდია" + +#: libpq/be-fsstubs.c:816 utils/adt/genfile.c:262 utils/adt/genfile.c:294 utils/adt/genfile.c:315 +#, c-format +msgid "requested length cannot be negative" +msgstr "მოთხოვნილი სიგრძე არ შეიძლება, უარყოფითი იყოს" + +#: libpq/be-fsstubs.c:871 storage/large_object/inv_api.c:299 storage/large_object/inv_api.c:311 storage/large_object/inv_api.c:508 storage/large_object/inv_api.c:619 storage/large_object/inv_api.c:809 +#, c-format +msgid "permission denied for large object %u" +msgstr "წვდომა აკრძალულია დიდ ობიექტზე: \"%u\"" + +#: libpq/be-secure-common.c:71 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "ბრძანებიდან \"%s\" წაკითხვის შეცდომა: %m" + +#: libpq/be-secure-common.c:91 +#, c-format +msgid "command \"%s\" failed" +msgstr "ბრძანების (\"%s\") შეცდომა" + +#: libpq/be-secure-common.c:119 +#, c-format +msgid "could not access private key file \"%s\": %m" +msgstr "პირადი გასაღების ფაილთან (%s) წვდომის შეცდომა: %m" + +#: libpq/be-secure-common.c:129 +#, c-format +msgid "private key file \"%s\" is not a regular file" +msgstr "პირადი გასაღების ფაილი \"%s\" ჩვეულებრივი ფაილი არაა" + +#: libpq/be-secure-common.c:155 +#, c-format +msgid "private key file \"%s\" must be owned by the database user or root" +msgstr "პირადი გასაღების ფაილის \"%s\" მფლობელი ბაზის მონაცემთა ბაზის მომხმარებელი ან root უნდა იყოს" + +#: libpq/be-secure-common.c:165 +#, c-format +msgid "private key file \"%s\" has group or world access" +msgstr "პირადი გასაღების ფაილზე \"%s\" ჯგუფისთვის ან დანარჩენი ყველასთვის წვდომა არსებობს" + +#: libpq/be-secure-common.c:167 +#, c-format +msgid "File must have permissions u=rw (0600) or less if owned by the database user, or permissions u=rw,g=r (0640) or less if owned by root." +msgstr "ფაილებს u=rw (0600) ან ნაკლები წვდომები უნდა ჰქონდეს, თუ მათი მფლობელი ბაზის მომხმარებელია, ან წვდომები u=rw,g=r (0640), თუ მფლობელი root-ია." + +#: libpq/be-secure-gssapi.c:204 +msgid "GSSAPI wrap error" +msgstr "GSSAPI -ის გადატანის შეცდომა" + +#: libpq/be-secure-gssapi.c:211 +#, c-format +msgid "outgoing GSSAPI message would not use confidentiality" +msgstr "გამავალი GSSAPI შეტყობინება კონფიდენციალობას ვერ იყენებს" + +#: libpq/be-secure-gssapi.c:218 libpq/be-secure-gssapi.c:634 +#, c-format +msgid "server tried to send oversize GSSAPI packet (%zu > %zu)" +msgstr "სერვერმა ძალიან დიდი GSSAPI პაკეტის გამოგზავნა სცადა (%zu > %zu)" + +#: libpq/be-secure-gssapi.c:351 +#, c-format +msgid "oversize GSSAPI packet sent by the client (%zu > %zu)" +msgstr "კლიენტის მიერ გამოგზავნილი GSSAPI-ის პაკეტი ძალიან დიდია (%zu > %zu)" + +#: libpq/be-secure-gssapi.c:389 +msgid "GSSAPI unwrap error" +msgstr "GSSAPI-ის გადატანის მოხსნის შეცდომა" + +#: libpq/be-secure-gssapi.c:396 +#, c-format +msgid "incoming GSSAPI message did not use confidentiality" +msgstr "შემომავალი GSSAPI შეტყობინება კონფიდენციალობას ვერ იყენებს" + +#: libpq/be-secure-gssapi.c:575 +#, c-format +msgid "oversize GSSAPI packet sent by the client (%zu > %d)" +msgstr "კლიენტის მიერ გამოგზავნილი GSSAPI-ის პაკეტი ძალიან დიდია (%zu > %d)" + +#: libpq/be-secure-gssapi.c:600 +msgid "could not accept GSSAPI security context" +msgstr "\"GSSAPI\"-ის უსაფრთხოების კონტექსტის მიღების შეცდომა" + +#: libpq/be-secure-gssapi.c:701 +msgid "GSSAPI size check error" +msgstr "GSSAPI-ის ზომის შემოწმების შეცდომა" + +#: libpq/be-secure-openssl.c:125 +#, c-format +msgid "could not create SSL context: %s" +msgstr "შეცდომა SSL კონტექსტის შექმნისას: %s" + +#: libpq/be-secure-openssl.c:151 +#, c-format +msgid "could not load server certificate file \"%s\": %s" +msgstr "სერვერის სერტიფიკატის ფაილის ჩატვირთვის შეცდომა \"%s\": %s" + +#: libpq/be-secure-openssl.c:171 +#, c-format +msgid "private key file \"%s\" cannot be reloaded because it requires a passphrase" +msgstr "პირადი გასაღების ფაილის \"%s\" თავიდან ჩატვირთვა შეუძლებელია, რადგან მას საკვანძო ფრაზა ესაჭიროება" + +#: libpq/be-secure-openssl.c:176 +#, c-format +msgid "could not load private key file \"%s\": %s" +msgstr "პირადი გასაღების ფაილის \"%s\" ჩატვირთვის შეცდომა: %s" + +#: libpq/be-secure-openssl.c:185 +#, c-format +msgid "check of private key failed: %s" +msgstr "პირადი გასაღების ფაილის შემოწმების შეცდომა: %s" + +#. translator: first %s is a GUC option name, second %s is its value +#: libpq/be-secure-openssl.c:198 libpq/be-secure-openssl.c:221 +#, c-format +msgid "\"%s\" setting \"%s\" not supported by this build" +msgstr "\"%s\"-ის პარამეტრი \"%s\" ამ პროგრამის აგებისას ჩართული არ იყო" + +#: libpq/be-secure-openssl.c:208 +#, c-format +msgid "could not set minimum SSL protocol version" +msgstr "'SSL' პროტოკოლის ვერსიის მინიმალური მნიშვნელობის დაყენების შეცდომა" + +#: libpq/be-secure-openssl.c:231 +#, c-format +msgid "could not set maximum SSL protocol version" +msgstr "'SSL' პროტოკოლის ვერსიის მაქსიმალური მნიშვნელობის დაყენების შეცდომა" + +#: libpq/be-secure-openssl.c:247 +#, c-format +msgid "could not set SSL protocol version range" +msgstr "'SSL' პროტოკოლის ვერსიის დიაპაზონის დაყენების შეცდომა" + +#: libpq/be-secure-openssl.c:248 +#, c-format +msgid "\"%s\" cannot be higher than \"%s\"" +msgstr "\"%s\"-ი \"%s\"-ზე დიდი ვერ იქნება" + +#: libpq/be-secure-openssl.c:285 +#, c-format +msgid "could not set the cipher list (no valid ciphers available)" +msgstr "შიფრების სიის დაყენება შეუძლებელია (სწორი შიფრები ხელმისაწვდომი არაა)" + +#: libpq/be-secure-openssl.c:305 +#, c-format +msgid "could not load root certificate file \"%s\": %s" +msgstr "root სერტიფიკატის ფაილის (\"%s\") წაკითხვის შეცდომა: %s" + +#: libpq/be-secure-openssl.c:354 +#, c-format +msgid "could not load SSL certificate revocation list file \"%s\": %s" +msgstr "" + +#: libpq/be-secure-openssl.c:362 +#, c-format +msgid "could not load SSL certificate revocation list directory \"%s\": %s" +msgstr "" + +#: libpq/be-secure-openssl.c:370 +#, c-format +msgid "could not load SSL certificate revocation list file \"%s\" or directory \"%s\": %s" +msgstr "" + +#: libpq/be-secure-openssl.c:428 +#, c-format +msgid "could not initialize SSL connection: SSL context not set up" +msgstr "" + +#: libpq/be-secure-openssl.c:439 +#, c-format +msgid "could not initialize SSL connection: %s" +msgstr "\"SSL\" შეერთების ინიციალიზაციის შეცდომა: %s" + +#: libpq/be-secure-openssl.c:447 +#, c-format +msgid "could not set SSL socket: %s" +msgstr "\"SSL\" სოკეტის დაყენების შეცდომა: %s" + +#: libpq/be-secure-openssl.c:502 +#, c-format +msgid "could not accept SSL connection: %m" +msgstr "'SSL' შეერთების მიღების შეცდომა: %m" + +#: libpq/be-secure-openssl.c:506 libpq/be-secure-openssl.c:561 +#, c-format +msgid "could not accept SSL connection: EOF detected" +msgstr "'SSL' შეერთების მიღების შეცდომა: აღმოჩენილია EOF" + +#: libpq/be-secure-openssl.c:545 +#, c-format +msgid "could not accept SSL connection: %s" +msgstr "'SSL' შეერთების მიღების შეცდომა: %s" + +#: libpq/be-secure-openssl.c:549 +#, c-format +msgid "This may indicate that the client does not support any SSL protocol version between %s and %s." +msgstr "" + +#: libpq/be-secure-openssl.c:566 libpq/be-secure-openssl.c:746 libpq/be-secure-openssl.c:810 +#, c-format +msgid "unrecognized SSL error code: %d" +msgstr "უცნობი SSL-ის შეცდომის კოდი: %d" + +#: libpq/be-secure-openssl.c:612 +#, c-format +msgid "SSL certificate's common name contains embedded null" +msgstr "SSL სერტიფიკატის საერთო სახელი ჩადგმულ ნულოვანს შეიცავს" + +#: libpq/be-secure-openssl.c:652 +#, c-format +msgid "SSL certificate's distinguished name contains embedded null" +msgstr "SSL სერტიფიკატის გამორჩეული სახელი ჩადგმულ ნულოვანს შეიცავს" + +#: libpq/be-secure-openssl.c:735 libpq/be-secure-openssl.c:794 +#, c-format +msgid "SSL error: %s" +msgstr "SSL-ის შეცდომა: %s" + +#: libpq/be-secure-openssl.c:976 +#, c-format +msgid "could not open DH parameters file \"%s\": %m" +msgstr "dh პარამეტრების ფაილის (\"%s\") გახსნის შეცდომა: %m" + +#: libpq/be-secure-openssl.c:988 +#, c-format +msgid "could not load DH parameters file: %s" +msgstr "dh პარამეტრების ფაილის ჩატვირთვის შეცდომა: %s" + +#: libpq/be-secure-openssl.c:998 +#, c-format +msgid "invalid DH parameters: %s" +msgstr "არასწორი DH-ის პარამეტრები: %s" + +#: libpq/be-secure-openssl.c:1007 +#, c-format +msgid "invalid DH parameters: p is not prime" +msgstr "არასწორი DH-ის პარამეტრები: p მარტივი რიცხვი არაა" + +#: libpq/be-secure-openssl.c:1016 +#, c-format +msgid "invalid DH parameters: neither suitable generator or safe prime" +msgstr "" + +#: libpq/be-secure-openssl.c:1152 +#, c-format +msgid "Client certificate verification failed at depth %d: %s." +msgstr "კლიენტის სერტიფიკატის გადამოწმების შეცდომა სიღრმეზე %d: %s." + +#: libpq/be-secure-openssl.c:1189 +#, c-format +msgid "Failed certificate data (unverified): subject \"%s\", serial number %s, issuer \"%s\"." +msgstr "შეცდომის მქონე სერტიფიკატის მონაცემების (გადაუმოწმებელი): სათაური \"%s\", სერიული ნომერი %s, გამომცემელი \"%s\"." + +#: libpq/be-secure-openssl.c:1190 +msgid "unknown" +msgstr "უცნობი" + +#: libpq/be-secure-openssl.c:1281 +#, c-format +msgid "DH: could not load DH parameters" +msgstr "DH: DH-ის პარამეტრების ჩატვირთვის შეცდომა" + +#: libpq/be-secure-openssl.c:1289 +#, c-format +msgid "DH: could not set DH parameters: %s" +msgstr "DH: DH-ის პარამეტრების დაყენების შეცდომა: %s" + +#: libpq/be-secure-openssl.c:1316 +#, c-format +msgid "ECDH: unrecognized curve name: %s" +msgstr "ECDH: მრუდის უცნობი სახელი: %s" + +#: libpq/be-secure-openssl.c:1325 +#, c-format +msgid "ECDH: could not create key" +msgstr "ECDH: გასაღების შექნის შეცდომა" + +#: libpq/be-secure-openssl.c:1353 +msgid "no SSL error reported" +msgstr "შეცდომა SSL-ში არ დაფიქსირებულა" + +#: libpq/be-secure-openssl.c:1357 +#, c-format +msgid "SSL error code %lu" +msgstr "SSL-ის შეცდომის კოდი %lu" + +#: libpq/be-secure-openssl.c:1516 +#, c-format +msgid "could not create BIO" +msgstr "\"BIO\"-ს შექმნის შეცდომა" + +#: libpq/be-secure-openssl.c:1526 +#, c-format +msgid "could not get NID for ASN1_OBJECT object" +msgstr "'ASN1_OBJECT' ტიპის ობიექტისთვის NID-ის მიღება შეუძლებელია" + +#: libpq/be-secure-openssl.c:1534 +#, c-format +msgid "could not convert NID %d to an ASN1_OBJECT structure" +msgstr "'NID %d'-ის ASN1_OBJECT ტიპის სტრუქტურად გარდაქნა შეუძლებელია" + +#: libpq/be-secure.c:207 libpq/be-secure.c:303 +#, c-format +msgid "terminating connection due to unexpected postmaster exit" +msgstr "მიერთების შეწყვეტა postmaster-ის მოულოდნელი გასვლის გამო" + +#: libpq/crypt.c:49 +#, c-format +msgid "Role \"%s\" does not exist." +msgstr "როლი არ არსებობს: \"%s\"." + +#: libpq/crypt.c:59 +#, c-format +msgid "User \"%s\" has no password assigned." +msgstr "მომხმარებელს პაროლი მინიჭებული არ აქვს: %s." + +#: libpq/crypt.c:77 +#, c-format +msgid "User \"%s\" has an expired password." +msgstr "მომხმარებლის პაროლის ვადა გასულია: %s." + +#: libpq/crypt.c:183 +#, c-format +msgid "User \"%s\" has a password that cannot be used with MD5 authentication." +msgstr "მომხმარებლის (\"%s\") პაროლის გამოყენება MD5-ით ავთენტიკაციისთვის შეუძლებელია." + +#: libpq/crypt.c:204 libpq/crypt.c:246 libpq/crypt.c:266 +#, c-format +msgid "Password does not match for user \"%s\"." +msgstr "პაროლი არ ემთხვევა მომხმარებელს \"%s." + +#: libpq/crypt.c:285 +#, c-format +msgid "Password of user \"%s\" is in unrecognized format." +msgstr "მომხმარებლის (\"%s\") პაროლის უცნობი ფორმატი." + +#: libpq/hba.c:332 +#, c-format +msgid "invalid regular expression \"%s\": %s" +msgstr "არასწორი რეგულარული გამოსახულება (%s): %s" + +#: libpq/hba.c:334 libpq/hba.c:666 libpq/hba.c:1250 libpq/hba.c:1270 libpq/hba.c:1293 libpq/hba.c:1306 libpq/hba.c:1359 libpq/hba.c:1387 libpq/hba.c:1395 libpq/hba.c:1407 libpq/hba.c:1428 libpq/hba.c:1441 libpq/hba.c:1466 libpq/hba.c:1493 libpq/hba.c:1505 libpq/hba.c:1564 libpq/hba.c:1584 libpq/hba.c:1598 libpq/hba.c:1618 libpq/hba.c:1629 libpq/hba.c:1644 libpq/hba.c:1663 libpq/hba.c:1679 libpq/hba.c:1691 libpq/hba.c:1728 libpq/hba.c:1769 libpq/hba.c:1782 +#: libpq/hba.c:1804 libpq/hba.c:1816 libpq/hba.c:1834 libpq/hba.c:1884 libpq/hba.c:1928 libpq/hba.c:1939 libpq/hba.c:1955 libpq/hba.c:1972 libpq/hba.c:1983 libpq/hba.c:2002 libpq/hba.c:2018 libpq/hba.c:2034 libpq/hba.c:2093 libpq/hba.c:2110 libpq/hba.c:2123 libpq/hba.c:2135 libpq/hba.c:2154 libpq/hba.c:2240 libpq/hba.c:2258 libpq/hba.c:2352 libpq/hba.c:2371 libpq/hba.c:2400 libpq/hba.c:2413 libpq/hba.c:2436 libpq/hba.c:2458 libpq/hba.c:2472 +#: tsearch/ts_locale.c:243 +#, c-format +msgid "line %d of configuration file \"%s\"" +msgstr "კონფიგურაციის ფაილის \"%2$s\" ხაზზე %1$d" + +#: libpq/hba.c:462 +#, c-format +msgid "skipping missing authentication file \"%s\"" +msgstr "ნაკლული ავთენტიკაციის ფაილის გამოტოვება \"%s\"" + +#: libpq/hba.c:614 +#, c-format +msgid "could not open file \"%s\": maximum nesting depth exceeded" +msgstr "ფაილის (\"%s\") გახსნა შეუძლებელია: გადაცილებულია ჩალაგების სიღრმე" + +#: libpq/hba.c:1221 +#, c-format +msgid "error enumerating network interfaces: %m" +msgstr "ქსელის ინტერფეისების ჩამონათვალის მიღების შეცდომა: %m" + +#. translator: the second %s is a list of auth methods +#: libpq/hba.c:1248 +#, c-format +msgid "authentication option \"%s\" is only valid for authentication methods %s" +msgstr "ავთენტიკაციის პარამეტრი \"%s\" მხოლოდ ავთენტიკაციის მეთოდებისთვის %s შეგიძლიათ, გამოიყენოთ" + +#: libpq/hba.c:1268 +#, c-format +msgid "authentication method \"%s\" requires argument \"%s\" to be set" +msgstr "ავთენტიკაციის მეთოდს \"%s\" არგუმენტის (\"%s\") დაყენება სჭირდება" + +#: libpq/hba.c:1292 +#, c-format +msgid "missing entry at end of line" +msgstr "ხაზის ბოლოში ჩანაწერი აღმოჩენილი არაა" + +#: libpq/hba.c:1305 +#, c-format +msgid "multiple values in ident field" +msgstr "ერთზე მეტი მნიშვნელობა ველში ident" + +#: libpq/hba.c:1357 +#, c-format +msgid "multiple values specified for connection type" +msgstr "მიერთების ტიპში მითითებულია ერთზე მეტი მნიშვნელობა" + +#: libpq/hba.c:1358 +#, c-format +msgid "Specify exactly one connection type per line." +msgstr "ერთ ხაზზე ზუსტად ერთი მიერთების ტიპი უნდა მიუთითოთ." + +#: libpq/hba.c:1385 +#, c-format +msgid "hostssl record cannot match because SSL is disabled" +msgstr "hostssl-ის ჩანაწერის დამთხვევა შეუძლებელია, რადგან SSL გათიშულია" + +#: libpq/hba.c:1386 +#, c-format +msgid "Set ssl = on in postgresql.conf." +msgstr "დააყენეთ ssl = on postgresql.conf-ში." + +#: libpq/hba.c:1394 +#, c-format +msgid "hostssl record cannot match because SSL is not supported by this build" +msgstr "hostssl-ის ჩანაწერის დამთხვევა შეუძლებელია, რადგან SSL-ის მხარდაჭერა ამ აგებისას ჩართული არ იყო" + +#: libpq/hba.c:1406 +#, c-format +msgid "hostgssenc record cannot match because GSSAPI is not supported by this build" +msgstr "hostgssenc-ის ჩანაწერის დამთხვევა შეუძლებელია, რადგან GSSAPI -ის მხარდაჭერა ამ აგებისას ჩართული არ იყო" + +#: libpq/hba.c:1426 +#, c-format +msgid "invalid connection type \"%s\"" +msgstr "შეერთების არასწორი ტიპი: %s" + +#: libpq/hba.c:1440 +#, c-format +msgid "end-of-line before database specification" +msgstr "ხაზის-დასასრული ბაზის მითითებამდე" + +#: libpq/hba.c:1465 +#, c-format +msgid "end-of-line before role specification" +msgstr "ხაზის-დასასრული როლის მითითებამდე" + +#: libpq/hba.c:1492 +#, c-format +msgid "end-of-line before IP address specification" +msgstr "ხაზის-დასასრული IP მისამართის მითითებამდე" + +#: libpq/hba.c:1503 +#, c-format +msgid "multiple values specified for host address" +msgstr "მითითებულია ჰოსტის მისამართის ერთზე მეტი მნიშვნელობა" + +#: libpq/hba.c:1504 +#, c-format +msgid "Specify one address range per line." +msgstr "ერთ ხაზზე ერთი მისამართების დიაპაზონი მიუთითეთ." + +#: libpq/hba.c:1562 +#, c-format +msgid "invalid IP address \"%s\": %s" +msgstr "არასწორი IP მისამართი \"%s\": %s" + +#: libpq/hba.c:1582 +#, c-format +msgid "specifying both host name and CIDR mask is invalid: \"%s\"" +msgstr "ორივეს, ჰოსტის სახელის და CIDR-ის ნიღბის მითითება არასწორია: \"%s\"" + +#: libpq/hba.c:1596 +#, c-format +msgid "invalid CIDR mask in address \"%s\"" +msgstr "არასწორი CIDR ნიღაბი მისამართში \"%s\"" + +#: libpq/hba.c:1616 +#, c-format +msgid "end-of-line before netmask specification" +msgstr "ხაზის-დასასრული ქსელური ნიღბის მითითებამდე" + +#: libpq/hba.c:1617 +#, c-format +msgid "Specify an address range in CIDR notation, or provide a separate netmask." +msgstr "" + +#: libpq/hba.c:1628 +#, c-format +msgid "multiple values specified for netmask" +msgstr "მითითებულია ქსელის ნიღბის ერთზე მეტი მნიშვნელობა" + +#: libpq/hba.c:1642 +#, c-format +msgid "invalid IP mask \"%s\": %s" +msgstr "არასწორი IP ნიღაბი \"%s\": %s" + +#: libpq/hba.c:1662 +#, c-format +msgid "IP address and mask do not match" +msgstr "IP მისამართი და ნიღაბი არ ემთხვევა" + +#: libpq/hba.c:1678 +#, c-format +msgid "end-of-line before authentication method" +msgstr "ხაზის-დასასრული ავთენტიკაციის მეთოდამდე" + +#: libpq/hba.c:1689 +#, c-format +msgid "multiple values specified for authentication type" +msgstr "ავთენტიკაციის ტიპში მითითებულია ერთზე მეტი მნიშვნელობა" + +#: libpq/hba.c:1690 +#, c-format +msgid "Specify exactly one authentication type per line." +msgstr "ერთ ხაზზე ზუსტად ერთი ავთენტიკაციის ტიპი უნდა მიუთითოთ." + +#: libpq/hba.c:1767 +#, c-format +msgid "invalid authentication method \"%s\"" +msgstr "არასწორი ავთენტიკაციის მეთოდი \"%s\"" + +#: libpq/hba.c:1780 +#, c-format +msgid "invalid authentication method \"%s\": not supported by this build" +msgstr "არასწორი ავთენტიკაციის მეთოდი \"%s\": მხარდაუჭერელია ამ ვერსიის მიერ" + +#: libpq/hba.c:1803 +#, c-format +msgid "gssapi authentication is not supported on local sockets" +msgstr "gssapi ავთენტიკაცია ლოკალურ სოკეტებზე მხარდაუჭერელია" + +#: libpq/hba.c:1815 +#, c-format +msgid "peer authentication is only supported on local sockets" +msgstr "პარტნიორის ავთენტიკაცია მხოლოდ ლოკალურ სოკეტებზეა მხარდაჭერილი" + +#: libpq/hba.c:1833 +#, c-format +msgid "cert authentication is only supported on hostssl connections" +msgstr "სერტიფიკატით ავთენტიკაცია მხოლოდ hostssl მიერთებებზეა მხარდაჭერილი" + +#: libpq/hba.c:1883 +#, c-format +msgid "authentication option not in name=value format: %s" +msgstr "ავთენტიკაციის პარამეტრი სახელი=მნიშვნელობა ფორმატში არაა: %s" + +#: libpq/hba.c:1927 +#, c-format +msgid "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, ldapsearchfilter, or ldapurl together with ldapprefix" +msgstr "ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, ldapsearchfilter, ან ldapurl-ის ldapprefix-სთან ერთად გამოყენება შეუძლებელია" + +#: libpq/hba.c:1938 +#, c-format +msgid "authentication method \"ldap\" requires argument \"ldapbasedn\", \"ldapprefix\", or \"ldapsuffix\" to be set" +msgstr "ავთენტიკაციის მეთოდს \"ldap\" არგუმენტების \"ldapbasedn\", \"ldapprefix\", ან \"ldapsuffix\" დაყენება სჭირდება" + +#: libpq/hba.c:1954 +#, c-format +msgid "cannot use ldapsearchattribute together with ldapsearchfilter" +msgstr "ldapsearchattribute-ს და ldapsearchfilter-ს ერთად ვერ გამოიყენებთ" + +#: libpq/hba.c:1971 +#, c-format +msgid "list of RADIUS servers cannot be empty" +msgstr "'RADIUS' სერვერების სია არ შეიძლება, ცარიელი იყოს" + +#: libpq/hba.c:1982 +#, c-format +msgid "list of RADIUS secrets cannot be empty" +msgstr "'RADIUS' საიდუმლოების სია არ შეიძლება, ცარიელი იყოს" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: libpq/hba.c:2083 +msgid "ident, peer, gssapi, sspi, and cert" +msgstr "ident, peer, gssapi, sspi, და cert" + +#: libpq/hba.c:2092 +#, c-format +msgid "clientcert can only be configured for \"hostssl\" rows" +msgstr "clientcert-ის მორგება მხოლოდ \"hostssl\" ხაზებისთვის შეგიძლიათ" + +#: libpq/hba.c:2109 +#, c-format +msgid "clientcert only accepts \"verify-full\" when using \"cert\" authentication" +msgstr "\"cert\" ტიპის ავთენტიკაციის გამოყენებისას clientcert-ს მხოლოდ \"verify-full\" შეგიძლიათ, მიუთითოთ" + +#: libpq/hba.c:2122 +#, c-format +msgid "invalid value for clientcert: \"%s\"" +msgstr "invalid value for clientcert: \"%s\"" + +#: libpq/hba.c:2134 +#, c-format +msgid "clientname can only be configured for \"hostssl\" rows" +msgstr "clientname-ის მორგება მხოლოდ \"hostssl\" ხაზებისთვის შეგიძლიათ" + +#: libpq/hba.c:2153 +#, c-format +msgid "invalid value for clientname: \"%s\"" +msgstr "არასწორი მნიშვნელობა კლიენტის სახელისთვის: \"%s\"" + +#: libpq/hba.c:2186 +#, c-format +msgid "could not parse LDAP URL \"%s\": %s" +msgstr "\"LDAP URL\"-ის (%s) დამუშავების შეცდომა: %s" + +#: libpq/hba.c:2197 +#, c-format +msgid "unsupported LDAP URL scheme: %s" +msgstr "\"LDAP URL\"-ის მხარდაუჭერელი სქემა: %s" + +#: libpq/hba.c:2221 +#, c-format +msgid "LDAP URLs not supported on this platform" +msgstr "ამ პლატფორმაზე LDAP URL მხარდაჭერილი არაა" + +#: libpq/hba.c:2239 +#, c-format +msgid "invalid ldapscheme value: \"%s\"" +msgstr "ldapscheme -ის არასწორი მნიშვნელობა: \"%s\"" + +#: libpq/hba.c:2257 +#, c-format +msgid "invalid LDAP port number: \"%s\"" +msgstr "\"LDAP\"-ის პორტის არასწორი ნომერი: %s" + +#: libpq/hba.c:2303 libpq/hba.c:2310 +msgid "gssapi and sspi" +msgstr "gssapi და sspi" + +#: libpq/hba.c:2319 libpq/hba.c:2328 +msgid "sspi" +msgstr "sspi" + +#: libpq/hba.c:2350 +#, c-format +msgid "could not parse RADIUS server list \"%s\"" +msgstr "\"RADIUS\"-ის სერვერების სიის დამუშავება შეუძლებელია: %s" + +#: libpq/hba.c:2398 +#, c-format +msgid "could not parse RADIUS port list \"%s\"" +msgstr "\"RADIUS\"-ის პორტების სიის დამუშავება შეუძლებელია: %s" + +#: libpq/hba.c:2412 +#, c-format +msgid "invalid RADIUS port number: \"%s\"" +msgstr "\"RADIUS\"-ის არასწორი პორტი: \"%s\"" + +#: libpq/hba.c:2434 +#, c-format +msgid "could not parse RADIUS secret list \"%s\"" +msgstr "'RADIUS'-ის საიდუმლოების სიის დამუშავება შეუძლებელია: %s" + +#: libpq/hba.c:2456 +#, c-format +msgid "could not parse RADIUS identifiers list \"%s\"" +msgstr "'RADIUS'-ის იდენტიფიკატორების ჩამონათვალის \"%s\" დამუშავება შეუძლებელია" + +#: libpq/hba.c:2470 +#, c-format +msgid "unrecognized authentication option name: \"%s\"" +msgstr "უცნობი ავთნტიკაციის პარამეტრის სახელი: \"%s\"" + +#: libpq/hba.c:2662 +#, c-format +msgid "configuration file \"%s\" contains no entries" +msgstr "კონფიგურაციის ფაილი \"%s\" ჩანაწერებს არ შეიცავს" + +#: libpq/hba.c:2815 +#, c-format +msgid "regular expression match for \"%s\" failed: %s" +msgstr "რეგულარული გამოსახულების დამთხვევა \"%s\"-სთვის ჩავარდა: %s" + +#: libpq/hba.c:2839 +#, c-format +msgid "regular expression \"%s\" has no subexpressions as requested by backreference in \"%s\"" +msgstr "" + +#: libpq/hba.c:2942 +#, c-format +msgid "provided user name (%s) and authenticated user name (%s) do not match" +msgstr "" + +#: libpq/hba.c:2962 +#, c-format +msgid "no match in usermap \"%s\" for user \"%s\" authenticated as \"%s\"" +msgstr "" + +#: libpq/pqcomm.c:200 +#, c-format +msgid "could not set socket to nonblocking mode: %m" +msgstr "სოკეტის არაბლოკირებული რეჟიმის დაყენების შეცდომა: %m" + +#: libpq/pqcomm.c:361 +#, c-format +msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)" +msgstr "Unix-დომენის სოკეტის მისამართი \"%s\" ძალიან გრძელია (დასაშვებია %d ბაიტი)" + +#: libpq/pqcomm.c:381 +#, c-format +msgid "could not translate host name \"%s\", service \"%s\" to address: %s" +msgstr "ჰოსტის სახელის \"%s\" და სერვისის სახელის \"%s\" მისამართში თარგმნა შეუძლებელია: %s" + +#: libpq/pqcomm.c:385 +#, c-format +msgid "could not translate service \"%s\" to address: %s" +msgstr "სერვისის \"%s\" მისამართში თარგმნა შეუძლებელია: %s" + +#: libpq/pqcomm.c:412 +#, c-format +msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded" +msgstr "ყველა მოთხოვნილ მისამართზე მიმაგრება შეუძლებელია: MAXLISTEN (%d) გადაცილებულია" + +#: libpq/pqcomm.c:421 +msgid "IPv4" +msgstr "IPv4" + +#: libpq/pqcomm.c:424 +msgid "IPv6" +msgstr "IPv6" + +#: libpq/pqcomm.c:427 +msgid "Unix" +msgstr "Unix" + +#: libpq/pqcomm.c:431 +#, c-format +msgid "unrecognized address family %d" +msgstr "მისამართის არასწორი ოჯახი %d" + +#. translator: first %s is IPv4, IPv6, or Unix +#: libpq/pqcomm.c:455 +#, 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 +#, c-format +msgid "%s(%s) failed for %s address \"%s\": %m" +msgstr "%s(%s)-ის შეცდომა %s-სთვის მისამართი \"%s\": %m" + +#. translator: first %s is IPv4, IPv6, or Unix +#: libpq/pqcomm.c:522 +#, c-format +msgid "could not bind %s address \"%s\": %m" +msgstr "%s მისამართზე \"%s\" მიბმის შეცდომა: %m" + +#: libpq/pqcomm.c:526 +#, c-format +msgid "Is another postmaster already running on port %d?" +msgstr "იქნებ პორტზე %d სხვა postmaster პროცესი უკვე უსმენს?" + +#: libpq/pqcomm.c:528 +#, c-format +msgid "Is another postmaster already running on port %d? If not, wait a few seconds and retry." +msgstr "იქნებ პორტზე %d სხვა postmaster პროცესი უკვე უსმენს? თუ არა, დაიცადეთ რამდენიმე წამი და თავიდან სცადეთ." + +#. translator: first %s is IPv4, IPv6, or Unix +#: libpq/pqcomm.c:557 +#, c-format +msgid "could not listen on %s address \"%s\": %m" +msgstr "%s მისამართზე \"%s\" მოსმენა შეუძლებელია: %m" + +#: libpq/pqcomm.c:565 +#, c-format +msgid "listening on Unix socket \"%s\"" +msgstr "ვუსმენ Unix სოკეტს \"%s\"" + +#. translator: first %s is IPv4 or IPv6 +#: libpq/pqcomm.c:570 +#, c-format +msgid "listening on %s address \"%s\", port %d" +msgstr "ვუსმენ %s მისამართი \"%s\", პორტი %d" + +#: libpq/pqcomm.c:659 +#, c-format +msgid "group \"%s\" does not exist" +msgstr "ჯგუფი \"%s\" არ არსებობს" + +#: libpq/pqcomm.c:669 +#, c-format +msgid "could not set group of file \"%s\": %m" +msgstr "ფაილის \"%s\" ჯგუფის დაყენება შეუძლებელია: %m" + +#: libpq/pqcomm.c:680 +#, c-format +msgid "could not set permissions of file \"%s\": %m" +msgstr "ფაილზე \"%s\" წვდომების დაყენების შეცდომა: %m" + +#: libpq/pqcomm.c:708 +#, 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:1624 libpq/pqcomm.c:1669 libpq/pqcomm.c:1709 libpq/pqcomm.c:1753 libpq/pqcomm.c:1792 libpq/pqcomm.c:1831 libpq/pqcomm.c:1867 libpq/pqcomm.c:1906 +#, c-format +msgid "%s(%s) failed: %m" +msgstr "%s(%s)-ის შეცდომა: %m" + +#: libpq/pqcomm.c:903 +#, c-format +msgid "there is no client connection" +msgstr "კლიენტის მიერთება არ არსებობს" + +#: libpq/pqcomm.c:954 libpq/pqcomm.c:1050 +#, c-format +msgid "could not receive data from client: %m" +msgstr "კლიენტიდან მონაცემების მიღების შეცდომა: %m" + +#: libpq/pqcomm.c:1155 tcop/postgres.c:4405 +#, c-format +msgid "terminating connection because protocol synchronization was lost" +msgstr "მიერთება შეწყდება, რადგან პროტოკოლის სინქრონიზაცია დაიკარგა" + +#: libpq/pqcomm.c:1221 +#, c-format +msgid "unexpected EOF within message length word" +msgstr "მოულოდნელი EOF შეტყობინების სიგრძის სიტყვაში" + +#: libpq/pqcomm.c:1231 +#, c-format +msgid "invalid message length" +msgstr "შეტყობინების არასწორი სიგრძე" + +#: libpq/pqcomm.c:1253 libpq/pqcomm.c:1266 +#, c-format +msgid "incomplete message from client" +msgstr "კლიენტიდან მიღებული შეტყობინება დაუსრულებელია" + +#: libpq/pqcomm.c:1377 +#, c-format +msgid "could not send data to client: %m" +msgstr "კლიენტისთვის მონაცემების გაგზავნის შეცდომა: %m" + +#: libpq/pqcomm.c:1592 +#, c-format +msgid "%s(%s) failed: error code %d" +msgstr "%s(%s) -ის შეცდომა: შეცდომის კოდი %d" + +#: libpq/pqcomm.c:1681 +#, c-format +msgid "setting the keepalive idle time is not supported" +msgstr "" + +#: libpq/pqcomm.c:1765 libpq/pqcomm.c:1840 libpq/pqcomm.c:1915 +#, c-format +msgid "%s(%s) not supported" +msgstr "%s (%s) მხარდაუჭერელია" + +#: libpq/pqformat.c:407 +#, c-format +msgid "no data left in message" +msgstr "შეტყობინებაში მონაცემები აღარ დარჩა" + +#: libpq/pqformat.c:518 libpq/pqformat.c:536 libpq/pqformat.c:557 utils/adt/array_userfuncs.c:799 utils/adt/arrayfuncs.c:1506 utils/adt/rowtypes.c:615 +#, c-format +msgid "insufficient data left in message" +msgstr "შეტყობინებაში დარჩენილი მონაცემები არასაკმარისია" + +#: libpq/pqformat.c:598 libpq/pqformat.c:627 +#, c-format +msgid "invalid string in message" +msgstr "არასწორი სტრიქონი შეტყობინებაში" + +#: libpq/pqformat.c:643 +#, c-format +msgid "invalid message format" +msgstr "არასწორი შეტყობინების ფორმატი" + +#: main/main.c:235 +#, c-format +msgid "%s: WSAStartup failed: %d\n" +msgstr "%s: WSAStartup-ის შეცდომა: %d\n" + +#: main/main.c:329 +#, c-format +msgid "" +"%s is the PostgreSQL server.\n" +"\n" +msgstr "" +"%s PostgreSQL სერვერია.\n" +"\n" + +#: main/main.c:330 +#, c-format +msgid "" +"Usage:\n" +" %s [OPTION]...\n" +"\n" +msgstr "" +"გამოყენება:\n" +"%s [პარამეტრი]..\n" +"\n" +"\n" + +#: main/main.c:331 +#, c-format +msgid "Options:\n" +msgstr "პარამეტრები:\n" + +#: main/main.c:332 +#, c-format +msgid " -B NBUFFERS number of shared buffers\n" +msgstr " -B NBUFFERS გაზიარებული ბაფერების რაოდენობა\n" + +#: main/main.c:333 +#, c-format +msgid " -c NAME=VALUE set run-time parameter\n" +msgstr " -c სახელი=მნიშვნელობა გაშვებული პროცესის პარამეტრის დაყენება\n" + +#: main/main.c:334 +#, c-format +msgid " -C NAME print value of run-time parameter, then exit\n" +msgstr " -C სახელი გაშვებული პროცესის პარამეტრის გამოტანა და გასვლა\n" + +#: main/main.c:335 +#, c-format +msgid " -d 1-5 debugging level\n" +msgstr " -d 1-5 გამართვის დონე\n" + +#: main/main.c:336 +#, c-format +msgid " -D DATADIR database directory\n" +msgstr " -D DATADIR მონაცემთა ბაზის დირექტორია\n" + +#: main/main.c:337 +#, c-format +msgid " -e use European date input format (DMY)\n" +msgstr " -e ევროპული თარიღის შეყვანის ფორმატის (DMY) გამოყენება\n" + +#: main/main.c:338 +#, c-format +msgid " -F turn fsync off\n" +msgstr " -F fsync-ის გამორთვა\n" + +#: main/main.c:339 +#, c-format +msgid " -h HOSTNAME host name or IP address to listen on\n" +msgstr " -h ჰოსტის სახელი ჰოსტის სახელი ან IP მისამართი, რომელზეც უნდა მოვუსმინო\n" + +#: main/main.c:340 +#, c-format +msgid " -i enable TCP/IP connections (deprecated)\n" +msgstr " -i TCP/IP-ის ჩართვა (მოძველებული)\n" + +#: main/main.c:341 +#, c-format +msgid " -k DIRECTORY Unix-domain socket location\n" +msgstr " -k საქაღალდე Unix-დომენის სოკეტის მდებარეობა\n" + +#: main/main.c:343 +#, c-format +msgid " -l enable SSL connections\n" +msgstr " -l SSL-ის ჩართვა\n" + +#: main/main.c:345 +#, c-format +msgid " -N MAX-CONNECT maximum number of allowed connections\n" +msgstr " -N მაქს-მიერთ მიერთებების დაშვებული მაქსიმალური რაოდენობა\n" + +#: main/main.c:346 +#, c-format +msgid " -p PORT port number to listen on\n" +msgstr " -p პორტი მოსასმენი პორტის ნომერი\n" + +#: main/main.c:347 +#, c-format +msgid " -s show statistics after each query\n" +msgstr " -s ყოველი მოთხოვნის შემდეგ სტატისტიკსი ჩვენება\n" + +#: main/main.c:348 +#, c-format +msgid " -S WORK-MEM set amount of memory for sorts (in kB)\n" +msgstr " -S სამუშ-მეხს დალაგებისთვის გამოყოფილი მეხსიერების დაყენება (კილობაიტებში)\n" + +#: main/main.c:349 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version ვერსიის ინფორმაციის გამოტანა და გასვლა\n" + +#: main/main.c:350 +#, c-format +msgid " --NAME=VALUE set run-time parameter\n" +msgstr " --სახელი=მნიშვნელობა გაშვებული პროცესის პარამეტრის დაყენება\n" + +#: main/main.c:351 +#, c-format +msgid " --describe-config describe configuration parameters, then exit\n" +msgstr " --describe-config კონფიგურაციის პარამეტრის ახსნის გამოტანა და გასვლა\n" + +#: main/main.c:352 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help ამ დახმარების ჩვენება და გასვლა\n" + +#: main/main.c:354 +#, c-format +msgid "" +"\n" +"Developer options:\n" +msgstr "" +"\n" +"პროგრამისტის პარამეტრები:\n" + +#: main/main.c:355 +#, c-format +msgid " -f s|i|o|b|t|n|m|h forbid use of some plan types\n" +msgstr " -f s|i|o|b|t|n|m|h ზოგიერთი გეგმის ტიპის გამოყენების აკრძალვა\n" + +#: main/main.c:356 +#, c-format +msgid " -O allow system table structure changes\n" +msgstr " -O სისტემური ცხრილის სტრუქტურის შეცვლის დაშვება\n" + +#: main/main.c:357 +#, c-format +msgid " -P disable system indexes\n" +msgstr " -P სისტემური ინდექსების გამორთვა\n" + +#: main/main.c:358 +#, c-format +msgid " -t pa|pl|ex show timings after each query\n" +msgstr " -t pa|pl|ex ყოველი მოთხოვნის დროის მნიშვნელობების ჩვენება\n" + +#: main/main.c:359 +#, c-format +msgid " -T send SIGABRT to all backend processes if one dies\n" +msgstr " -T ერთის სიკვდილის შემთხვევაში ყველა უკანაბოლოს პროცესისთვის SIGABRT სიგნალის გაგზავნა\n" + +#: main/main.c:360 +#, c-format +msgid " -W NUM wait NUM seconds to allow attach from a debugger\n" +msgstr " -W რიცხვი გამმართველისგან მიმაგრებისას მითითებული რაოდენობის წამების დაცდა\n" + +#: main/main.c:362 +#, c-format +msgid "" +"\n" +"Options for single-user mode:\n" +msgstr "" +"\n" +"ერთმომხმარებლიანი რეჟიმის პარამეტრები:\n" + +#: main/main.c:363 +#, c-format +msgid " --single selects single-user mode (must be first argument)\n" +msgstr " --single ერთმომხმარებლიანი რეჟიმი (უნდა იყოს პირველი არგუმენტი)\n" + +#: main/main.c:364 +#, c-format +msgid " DBNAME database name (defaults to user name)\n" +msgstr " DBNAME ბაზის სახელი (ნაგულისხმები მნიშვნელობა მომხმარებლის სახელია)\n" + +#: main/main.c:365 +#, c-format +msgid " -d 0-5 override debugging level\n" +msgstr " -d 0-5 პროგრამის გამართვის დონის მითითება\n" + +#: main/main.c:366 +#, c-format +msgid " -E echo statement before execution\n" +msgstr " -E ოპერატორის გამოტანა მის შესრულებამდე\n" + +#: main/main.c:367 +#, c-format +msgid " -j do not use newline as interactive query delimiter\n" +msgstr " -j ახალ ხაზზე გადატანა ინტერაქტიური მოთხოვნის გამყოფად გამოყენებული არ იქნება\n" + +#: main/main.c:368 main/main.c:374 +#, c-format +msgid " -r FILENAME send stdout and stderr to given file\n" +msgstr " -r FILENAME stdout-ის და stderr-ის მითითებულ ფაილში გაგზავნა\n" + +#: main/main.c:370 +#, c-format +msgid "" +"\n" +"Options for bootstrapping mode:\n" +msgstr "" +"\n" +"სამუშაოდ მომზადების პარამეტრები\n" + +#: main/main.c:371 +#, c-format +msgid " --boot selects bootstrapping mode (must be first argument)\n" +msgstr " --boot სამუშაოდ მომზადების რეჟიმი (უნდა იყოს პირველი არგუმენტი)\n" + +#: main/main.c:372 +#, c-format +msgid " --check selects check mode (must be first argument)\n" +msgstr " --check შემოწმების რეჟიმი (უნდა იყოს პირველი არგუმენტი)\n" + +#: main/main.c:373 +#, c-format +msgid " DBNAME database name (mandatory argument in bootstrapping mode)\n" +msgstr " DBNAME ბაზის სახელი (აუცილებელი არგუმენტი სამუშაოდ მომზადებისას)\n" + +#: main/main.c:376 +#, c-format +msgid "" +"\n" +"Please read the documentation for the complete list of run-time\n" +"configuration settings and how to set them on the command line or in\n" +"the configuration file.\n" +"\n" +"Report bugs to <%s>.\n" +msgstr "" + +#: main/main.c:380 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "%s-ის საწყისი გვერდია: <%s>\n" + +#: main/main.c:391 +#, c-format +msgid "" +"\"root\" execution of the PostgreSQL server is not permitted.\n" +"The server must be started under an unprivileged user ID to prevent\n" +"possible system security compromise. See the documentation for\n" +"more information on how to properly start the server.\n" +msgstr "" + +#: main/main.c:408 +#, c-format +msgid "%s: real and effective user IDs must match\n" +msgstr "%s: რეალური და მიმდინარე მომხმარებლის ID-ები უნდა ემთხვეოდეს\n" + +#: main/main.c:415 +#, c-format +msgid "" +"Execution of PostgreSQL by a user with administrative permissions is not\n" +"permitted.\n" +"The server must be started under an unprivileged user ID to prevent\n" +"possible system security compromises. See the documentation for\n" +"more information on how to properly start the server.\n" +msgstr "" + +#: nodes/extensible.c:66 +#, c-format +msgid "extensible node type \"%s\" already exists" +msgstr "გაფართოებადი კვანძის ტიპი \"%s\" უკვე არსებობს" + +#: nodes/extensible.c:114 +#, c-format +msgid "ExtensibleNodeMethods \"%s\" was not registered" +msgstr "ExtensibleNodeMethods \"%s\" რეგისტრირებული არ იყო" + +#: nodes/makefuncs.c:153 statistics/extended_stats.c:2335 +#, c-format +msgid "relation \"%s\" does not have a composite type" +msgstr "ურთიერთობას \"%s\" კომპოზიტური ტიპი არ გააჩნია" + +#: nodes/makefuncs.c:879 +#, c-format +msgid "unrecognized JSON encoding: %s" +msgstr "უცნობი JSON კოდირება \"%s\"" + +#: nodes/nodeFuncs.c:116 nodes/nodeFuncs.c:147 parser/parse_coerce.c:2567 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 +#, c-format +msgid "could not find array type for data type %s" +msgstr "მონაცემების ტიპისთვის %s მასივის ტიპი ვერ ვიპოვე" + +#: nodes/params.c:417 +#, c-format +msgid "portal \"%s\" with parameters: %s" +msgstr "პორტალი \"%s\" პარამეტრებით: %s" + +#: nodes/params.c:420 +#, c-format +msgid "unnamed portal with parameters: %s" +msgstr "უსახელო პორტალი პარამეტრებით: %s" + +#: optimizer/path/joinrels.c:973 +#, c-format +msgid "FULL JOIN is only supported with merge-joinable or hash-joinable join conditions" +msgstr "" + +#: optimizer/plan/createplan.c:7111 parser/parse_merge.c:182 parser/parse_merge.c:189 +#, c-format +msgid "cannot execute MERGE on relation \"%s\"" +msgstr "ურთიერთობაზე \"%s\" MERGE-ს ვერ გაუშვებთ" + +#. translator: %s is a SQL row locking clause such as FOR UPDATE +#: optimizer/plan/initsplan.c:1408 +#, c-format +msgid "%s cannot be applied to the nullable side of an outer join" +msgstr "" + +#. translator: %s is a SQL row locking clause such as FOR UPDATE +#: optimizer/plan/planner.c:1361 parser/analyze.c:1723 parser/analyze.c:1980 parser/analyze.c:3193 +#, c-format +msgid "%s is not allowed with UNION/INTERSECT/EXCEPT" +msgstr "%s აკრძალულია UNION/INTERSECT/EXCEPT-სთან ერთად" + +#: optimizer/plan/planner.c:2082 optimizer/plan/planner.c:4040 +#, c-format +msgid "could not implement GROUP BY" +msgstr "\"GROUP BY\"-ის განხორციელება შეუძლებელია" + +#: optimizer/plan/planner.c:2083 optimizer/plan/planner.c:4041 optimizer/plan/planner.c:4681 optimizer/prep/prepunion.c:1053 +#, c-format +msgid "Some of the datatypes only support hashing, while others only support sorting." +msgstr "ზოგიერთ მონაცემის ტიპს მხოლოდ ჰეშირების მხარდაჭერა გააჩნია, მაშინ, როცა სხვებს მხოლოდ დალაგება შეუძლიათ." + +#: optimizer/plan/planner.c:4680 +#, c-format +msgid "could not implement DISTINCT" +msgstr "\"DISTINCT\"-ის განხორციელება შეუძლებელია" + +#: optimizer/plan/planner.c:6019 +#, c-format +msgid "could not implement window PARTITION BY" +msgstr "ფანჯრის, \"PARTITION BY\" განხორციელება შეუძლებელია" + +#: optimizer/plan/planner.c:6020 +#, c-format +msgid "Window partitioning columns must be of sortable datatypes." +msgstr "ფანჯრის დამყოფი სვეტები დალაგებადი მონაცემის ტიპის უნდა იყოს." + +#: optimizer/plan/planner.c:6024 +#, c-format +msgid "could not implement window ORDER BY" +msgstr "ფანჯრის, \"ORDER BY\" განხორციელება შეუძლებელია" + +#: optimizer/plan/planner.c:6025 +#, c-format +msgid "Window ordering columns must be of sortable datatypes." +msgstr "ფანჯრის დამლაგებელი სვეტები დალაგებადი მონაცემის ტიპის უნდა იყოს." + +#: optimizer/prep/prepunion.c:516 +#, c-format +msgid "could not implement recursive UNION" +msgstr "რეკურსიული UNION_ის განხორციელება შეუძლებელია" + +#: optimizer/prep/prepunion.c:517 +#, c-format +msgid "All column datatypes must be hashable." +msgstr "ყველა სვეტის მონაცემის ტიპი ჰეშირებადი უნდა იყოს." + +#. translator: %s is UNION, INTERSECT, or EXCEPT +#: optimizer/prep/prepunion.c:1052 +#, c-format +msgid "could not implement %s" +msgstr "ვერ განხორციელდა %s" + +#: optimizer/util/clauses.c:4856 +#, c-format +msgid "SQL function \"%s\" during inlining" +msgstr "SQL ფუნქცია \"%s\" ხაზში ჩასმისას" + +#: optimizer/util/plancat.c:154 +#, c-format +msgid "cannot access temporary or unlogged relations during recovery" +msgstr "აღდგენისას დროებით ან უჟურნალო ურთიერთობებთან წვდომა შეუძლებელია" + +#: optimizer/util/plancat.c:726 +#, c-format +msgid "whole row unique index inference specifications are not supported" +msgstr "" + +#: optimizer/util/plancat.c:743 +#, c-format +msgid "constraint in ON CONFLICT clause has no associated index" +msgstr "შეზღუდვას ON CONFLICT პირობაში ასოცირებული ინდექსი არ გააჩნია" + +#: optimizer/util/plancat.c:793 +#, c-format +msgid "ON CONFLICT DO UPDATE not supported with exclusion constraints" +msgstr "ON CONFLICT DO UPDATE გამორიცხვის შეზღუდვებთან ერთად მხარდაჭერილი არაა" + +#: optimizer/util/plancat.c:898 +#, c-format +msgid "there is no unique or exclusion constraint matching the ON CONFLICT specification" +msgstr "უნიკალური ან გამორიცხვის შეზღუდვა, რომელიც ON CONFLICT-ის აღწერას ემთხვევა, არ არსებობს" + +#: parser/analyze.c:788 parser/analyze.c:1502 +#, c-format +msgid "VALUES lists must all be the same length" +msgstr "VALUES-ის სიები ყველა ტოლი სიგრძის უნდა იყოს" + +#: parser/analyze.c:990 +#, c-format +msgid "INSERT has more expressions than target columns" +msgstr "INSERT-ს მეტი გამოსახულება გააჩნია, ვიდრე სამიზნე სვეტი" + +#: parser/analyze.c:1008 +#, c-format +msgid "INSERT has more target columns than expressions" +msgstr "INSERT-ს მეტი სამიზნე სვეტი გააჩნია, ვიდრე გამოსახულება" + +#: parser/analyze.c:1012 +#, 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 "" + +#: parser/analyze.c:1309 parser/analyze.c:1696 +#, 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:1625 parser/analyze.c:3425 +#, c-format +msgid "%s cannot be applied to VALUES" +msgstr "%s-ს VALUES-ზე ვერ გამოიყენებთ" + +#: parser/analyze.c:1862 +#, c-format +msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause" +msgstr "არასწორი UNION/INTERSECT/EXCEPT ORDER BY პირობა" + +#: parser/analyze.c:1863 +#, c-format +msgid "Only result column names can be used, not expressions or functions." +msgstr "" + +#: parser/analyze.c:1864 +#, c-format +msgid "Add the expression/function to every SELECT, or move the UNION into a FROM clause." +msgstr "" + +#: parser/analyze.c:1970 +#, c-format +msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT" +msgstr "" + +#: parser/analyze.c:2042 +#, c-format +msgid "UNION/INTERSECT/EXCEPT member statement cannot refer to other relations of same query level" +msgstr "" + +#: parser/analyze.c:2129 +#, c-format +msgid "each %s query must have the same number of columns" +msgstr "ყოველ %s მოთხოვნას სვეტების ტოლი რაოდენობა უნდა ჰქონდეს" + +#: parser/analyze.c:2535 +#, c-format +msgid "RETURNING must have at least one column" +msgstr "RETURNING-ს ერთი სვეტი მაინც უნდა ჰქონდეს" + +#: parser/analyze.c:2638 +#, c-format +msgid "assignment source returned %d column" +msgid_plural "assignment source returned %d columns" +msgstr[0] "მინიჭების წყარომ %d სვეტი დააბრუნა" +msgstr[1] "მინიჭების წყარომ %d სვეტი დააბრუნა" + +#: parser/analyze.c:2699 +#, 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:2824 parser/analyze.c:2832 +#, c-format +msgid "cannot specify both %s and %s" +msgstr "ორივე, %s და %s ერთად მითითება შეუძლებელია" + +#: parser/analyze.c:2852 +#, 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:2860 +#, c-format +msgid "DECLARE CURSOR WITH HOLD ... %s is not supported" +msgstr "DECLARE CURSOR WITH HOLD ... %s მხარდაჭერილი არაა" + +#: parser/analyze.c:2863 +#, c-format +msgid "Holdable cursors must be READ ONLY." +msgstr "შენახვადი კურსორები READ ONLY ტიპის უნდა იყოს." + +#. translator: %s is a SQL row locking clause such as FOR UPDATE +#: parser/analyze.c:2871 +#, 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:2882 +#, c-format +msgid "DECLARE INSENSITIVE CURSOR ... %s is not valid" +msgstr "DECLARE INSENSITIVE CURSOR ... %s არასწორია" + +#: parser/analyze.c:2885 +#, c-format +msgid "Insensitive cursors must be READ ONLY." +msgstr "დამოუკიდებელი კურსორები READ ONLY ტიპის უნდა იყოს." + +#: parser/analyze.c:2979 +#, c-format +msgid "materialized views must not use data-modifying statements in WITH" +msgstr "მატერიალიზებულმა ხედებმა WITH-ში მონაცემების-შემცვლელი გამოსახულებები არ უნდა გამოიყენონ" + +#: parser/analyze.c:2989 +#, c-format +msgid "materialized views must not use temporary tables or views" +msgstr "მატერიალიზებულმა ხედებმა დროებითი ცხრილები ან ხედები არ უნდა გამოიყენონ" + +#: parser/analyze.c:2999 +#, c-format +msgid "materialized views may not be defined using bound parameters" +msgstr "მატერიალიზებული ხედის აღწერა მიმაგრებული პარამეტრების გამოყენებით შეუძლებელია" + +#: parser/analyze.c:3011 +#, c-format +msgid "materialized views cannot be unlogged" +msgstr "მატერიალიზებული ხედების ჟურნალის გამორთვა შეუძლებელია" + +#. translator: %s is a SQL row locking clause such as FOR UPDATE +#: parser/analyze.c:3200 +#, c-format +msgid "%s is not allowed with DISTINCT clause" +msgstr "%s-ი DISTINCT პირობასთან ერთად დაშვებული არაა" + +#. translator: %s is a SQL row locking clause such as FOR UPDATE +#: parser/analyze.c:3207 +#, c-format +msgid "%s is not allowed with GROUP BY clause" +msgstr "%s-ი GROUP BY პირობასთან ერთად დაშვებული არაა" + +#. translator: %s is a SQL row locking clause such as FOR UPDATE +#: parser/analyze.c:3214 +#, c-format +msgid "%s is not allowed with HAVING clause" +msgstr "%s-ი HAVING პირობასთან ერთად დაშვებული არაა" + +#. translator: %s is a SQL row locking clause such as FOR UPDATE +#: parser/analyze.c:3221 +#, 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:3228 +#, 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:3235 +#, 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:3334 +#, c-format +msgid "%s must specify unqualified relation names" +msgstr "" + +#. translator: %s is a SQL row locking clause such as FOR UPDATE +#: parser/analyze.c:3398 +#, c-format +msgid "%s cannot be applied to a join" +msgstr "%s join-ზე ვერ გადატარდება" + +#. translator: %s is a SQL row locking clause such as FOR UPDATE +#: parser/analyze.c:3407 +#, 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:3416 +#, 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:3434 +#, 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:3443 +#, c-format +msgid "%s cannot be applied to a named tuplestore" +msgstr "" + +#. translator: %s is a SQL row locking clause such as FOR UPDATE +#: parser/analyze.c:3463 +#, c-format +msgid "relation \"%s\" in %s clause not found in FROM clause" +msgstr "" + +#: parser/parse_agg.c:221 parser/parse_oper.c:227 +#, c-format +msgid "could not identify an ordering operator for type %s" +msgstr "ტიპისთვის %s დალაგების ოპერატორის იდენტიფიკაცია შეუძლებელია" + +#: parser/parse_agg.c:223 +#, c-format +msgid "Aggregates with DISTINCT must be able to sort their inputs." +msgstr "DISTINCT-ის მქონე აგრეგატებს შეყვანილი ინფორმაციის დალაგება თვითონ უნდა შეეძლოთ." + +#: parser/parse_agg.c:258 +#, c-format +msgid "GROUPING must have fewer than 32 arguments" +msgstr "GROUPING-ის არგუმენტების რიცხვი 32-ზე ნაკლები უნდა იყოს" + +#: parser/parse_agg.c:361 +msgid "aggregate functions are not allowed in JOIN conditions" +msgstr "აგრეგატულ ფუნქციებს JOIN-ის პირობებში ვერ გამოიყენებთ" + +#: parser/parse_agg.c:363 +msgid "grouping operations are not allowed in JOIN conditions" +msgstr "დაჯგუფების ოპერაციებს JOIN-ის პირობებში ვერ გამოიყენებთ" + +#: parser/parse_agg.c:375 +msgid "aggregate functions are not allowed in FROM clause of their own query level" +msgstr "აგრეგატული ფუნქციები მათი საკუთარი მოთხოვნის დონის FROM პირობაში დაშვებული არაა" + +#: parser/parse_agg.c:377 +msgid "grouping operations are not allowed in FROM clause of their own query level" +msgstr "დაჯგუფების ფუნქციები მათი საკუთარი მოთხოვნის დონის FROM პირობაში დაშვებული არაა" + +#: parser/parse_agg.c:382 +msgid "aggregate functions are not allowed in functions in FROM" +msgstr "აგრეგატულ ფუნქციებს FROM-ში ვერ გამოიყენებთ" + +#: parser/parse_agg.c:384 +msgid "grouping operations are not allowed in functions in FROM" +msgstr "დაჯგუფების ოპერაციებს FROM-ში ვერ გამოიყენებთ" + +#: parser/parse_agg.c:392 +msgid "aggregate functions are not allowed in policy expressions" +msgstr "წესის გამოსახულებებში აგრეგატული ფუნქციები დაუშვებელია" + +#: parser/parse_agg.c:394 +msgid "grouping operations are not allowed in policy expressions" +msgstr "წესის გამოსახულებებში დაჯგუფების ოპერაციები დაუშვებელია" + +#: parser/parse_agg.c:411 +msgid "aggregate functions are not allowed in window RANGE" +msgstr "ფანჯრის RANGE-ში აგრეგატული ფუნქციები დაუშვებელია" + +#: parser/parse_agg.c:413 +msgid "grouping operations are not allowed in window RANGE" +msgstr "ფანჯრის RANGE-ში დაჯგუფების ოპერაციები დაუშვებელია" + +#: parser/parse_agg.c:418 +msgid "aggregate functions are not allowed in window ROWS" +msgstr "ფანჯრის ROWS-ში აგრეგატული ფუნქციები დაუშვებელია" + +#: parser/parse_agg.c:420 +msgid "grouping operations are not allowed in window ROWS" +msgstr "ფანჯრის ROWS_ში დაჯგუფების ოპერაციები დაუშვებელია" + +#: parser/parse_agg.c:425 +msgid "aggregate functions are not allowed in window GROUPS" +msgstr "აგრეგატული ფუნქციები ფანჯრის GROUPS-ში დაშვებული არაა" + +#: parser/parse_agg.c:427 +msgid "grouping operations are not allowed in window GROUPS" +msgstr "დაჯგუფების ფუნქციები ფანჯრის GROUPS-ში დაშვებული არაა" + +#: parser/parse_agg.c:440 +msgid "aggregate functions are not allowed in MERGE WHEN conditions" +msgstr "აგრეგატული ფუნქციები MERGE WHEN-ის პირობებში დაშვებული არაა" + +#: parser/parse_agg.c:442 +msgid "grouping operations are not allowed in MERGE WHEN conditions" +msgstr "დაჯგუფების ფუნქციები MERGE WHEN-ის პირობებში დაშვებული არაა" + +#: parser/parse_agg.c:468 +msgid "aggregate functions are not allowed in check constraints" +msgstr "აგრეგატული ფუნქციები შეზღუდვის შემოწმებებში დაშვებული არაა" + +#: parser/parse_agg.c:470 +msgid "grouping operations are not allowed in check constraints" +msgstr "დაჯგუფების ფუნქციები შეზღუდვის შემოწმებებში დაშვებული არაა" + +#: parser/parse_agg.c:477 +msgid "aggregate functions are not allowed in DEFAULT expressions" +msgstr "აგრეგატული ფუნქციები DEFAULT გამოსახულებებში დაშვებული არაა" + +#: parser/parse_agg.c:479 +msgid "grouping operations are not allowed in DEFAULT expressions" +msgstr "დაჯგუფების ფუნქციები DEFAULT გამოსახულებებში დაშვებული არაა" + +#: parser/parse_agg.c:484 +msgid "aggregate functions are not allowed in index expressions" +msgstr "აგრეგატული ფუნქციები ინდექსის გამოსახულებებში დაშვებული არაა" + +#: parser/parse_agg.c:486 +msgid "grouping operations are not allowed in index expressions" +msgstr "დაჯგუფების ფუნქციები ინდექსის გამოსახულებებში დაშვებული არაა" + +#: parser/parse_agg.c:491 +msgid "aggregate functions are not allowed in index predicates" +msgstr "აგრეგატული ფუნქციები ინდექსის პრედიკატებში დაშვებული არაა" + +#: parser/parse_agg.c:493 +msgid "grouping operations are not allowed in index predicates" +msgstr "დაშვებული ფუნქციები ინდექსის პრედიკატებში დაშვებული არაა" + +#: parser/parse_agg.c:498 +msgid "aggregate functions are not allowed in statistics expressions" +msgstr "აგრეგატული ფუნქციები სტატისტიკის გამოსახულებებში დაშვებული არაა" + +#: parser/parse_agg.c:500 +msgid "grouping operations are not allowed in statistics expressions" +msgstr "დაჯგუფების ფუნქციები სტატისტიკის გამოსახულებებში დაშვებული არაა" + +#: parser/parse_agg.c:505 +msgid "aggregate functions are not allowed in transform expressions" +msgstr "აგრეგატული ფუნქციები გადაყვანის გამოსახულებებში დაშვებული არაა" + +#: parser/parse_agg.c:507 +msgid "grouping operations are not allowed in transform expressions" +msgstr "დაჯგუფების ფუნქციები გადაყვანის გამოსახულებებში დაშვებული არაა" + +#: parser/parse_agg.c:512 +msgid "aggregate functions are not allowed in EXECUTE parameters" +msgstr "აგრეგატული ფუნქციები EXECUTE-ის პარამეტრებში დაშვებული არაა" + +#: parser/parse_agg.c:514 +msgid "grouping operations are not allowed in EXECUTE parameters" +msgstr "დაჯგუფების ფუნქციები EXECUTE-ის პარამეტრებში დაშვებული არაა" + +#: parser/parse_agg.c:519 +msgid "aggregate functions are not allowed in trigger WHEN conditions" +msgstr "აგრეგატული ფუნქციები WHEN-ის ტრიგერის პირობებში დაშვებული არაა" + +#: parser/parse_agg.c:521 +msgid "grouping operations are not allowed in trigger WHEN conditions" +msgstr "დაჯგუფების ფუნქციები WHEN-ის ტრიგერის პირობებში დაშვებული არაა" + +#: parser/parse_agg.c:526 +msgid "aggregate functions are not allowed in partition bound" +msgstr "აგრეგატული ფუნქციები დანაყოფის საზღვარში დაშვებული არაა" + +#: parser/parse_agg.c:528 +msgid "grouping operations are not allowed in partition bound" +msgstr "დაჯგუფების ფუნქციები დანაყოფის საზღვარში დაშვებული არაა" + +#: parser/parse_agg.c:533 +msgid "aggregate functions are not allowed in partition key expressions" +msgstr "აგრეგატული ფუნქციები დანაყოფის გასაღების გამოსახულებებში დაშვებული არაა" + +#: parser/parse_agg.c:535 +msgid "grouping operations are not allowed in partition key expressions" +msgstr "დაჯგუფების ფუნქციები დანაყოფის გასაღების გამოსახულებებში დაშვებული არაა" + +#: parser/parse_agg.c:541 +msgid "aggregate functions are not allowed in column generation expressions" +msgstr "აგრეგატული ფუნქციები სვეტის გენერაციის გამოსახულებებში დაშვებული არაა" + +#: parser/parse_agg.c:543 +msgid "grouping operations are not allowed in column generation expressions" +msgstr "დაჯგუფების ფუნქციები სვეტის გენერაციის გამოსახულებებში დაშვებული არაა" + +#: parser/parse_agg.c:549 +msgid "aggregate functions are not allowed in CALL arguments" +msgstr "აგრეგატული ფუნქციები CALL-ის არგუმენტებში დაშვებული არაა" + +#: parser/parse_agg.c:551 +msgid "grouping operations are not allowed in CALL arguments" +msgstr "დაჯგუფების ფუნქციები CALL-ის არგუმენტებში დაშვებული არაა" + +#: parser/parse_agg.c:557 +msgid "aggregate functions are not allowed in COPY FROM WHERE conditions" +msgstr "აგრეგატული ფუნქციები COPY FROM WHERE პირობებში დაშვებული არაა" + +#: parser/parse_agg.c:559 +msgid "grouping operations are not allowed in COPY FROM WHERE conditions" +msgstr "დაჯგუფების ფუნქციები COPY FROM WHERE პირობებში დაშვებული არაა" + +#. translator: %s is name of a SQL construct, eg GROUP BY +#: parser/parse_agg.c:586 parser/parse_clause.c:1956 +#, c-format +msgid "aggregate functions are not allowed in %s" +msgstr "აგრეგატული ფუნქციები %s-ში დაშვებული არაა" + +#. translator: %s is name of a SQL construct, eg GROUP BY +#: parser/parse_agg.c:589 +#, c-format +msgid "grouping operations are not allowed in %s" +msgstr "დაჯგუფების ფუნქციები %s-ში დაშვებული არაა" + +#: parser/parse_agg.c:690 +#, c-format +msgid "outer-level aggregate cannot contain a lower-level variable in its direct arguments" +msgstr "" + +#: parser/parse_agg.c:768 +#, c-format +msgid "aggregate function calls cannot contain set-returning function calls" +msgstr "აგრეგატული ფუნქციის გამოძახებები არ შეძლება, სეტების დამბრუნებელი ფუნქციის გამოძახებებს შეიცავდეს" + +#: parser/parse_agg.c:769 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 "" + +#: parser/parse_agg.c:774 +#, c-format +msgid "aggregate function calls cannot contain window function calls" +msgstr "აგრეგატული ფუნქციის გამოძახებები არ შეიძლება, ფანჯრის ფუნქციის გამოძახებებს შეიცავდეს" + +#: parser/parse_agg.c:853 +msgid "window functions are not allowed in JOIN conditions" +msgstr "\"JOIN\"-ის პირობებში ფანჯრის ფუნქციები დაუშვებელია" + +#: parser/parse_agg.c:860 +msgid "window functions are not allowed in functions in FROM" +msgstr "\"FROM\"-ის ფუნქციებში ფანჯრების ფუნქციები დაუშვებელია" + +#: parser/parse_agg.c:866 +msgid "window functions are not allowed in policy expressions" +msgstr "წესების გამოსახულებებში ფანჯრის ფუნქციები დაუშვებელია" + +#: parser/parse_agg.c:879 +msgid "window functions are not allowed in window definitions" +msgstr "ფანჯრის აღწერებში ფანჯრის ფუნქციები დაუშვებელია" + +#: parser/parse_agg.c:890 +msgid "window functions are not allowed in MERGE WHEN conditions" +msgstr "\"MERGE WHEN\" პირობებში ფანჯრის ფუნქციები დაუშვებელია" + +#: parser/parse_agg.c:914 +msgid "window functions are not allowed in check constraints" +msgstr "შეზღუდვის შემოწმებაში ფანჯრის ფუნქციები დაუშვებელია" + +#: parser/parse_agg.c:918 +msgid "window functions are not allowed in DEFAULT expressions" +msgstr "ნაგულისხმებ გამოსახულებებში ფანჯრის ფუნქციები დაუშვებელია" + +#: parser/parse_agg.c:921 +msgid "window functions are not allowed in index expressions" +msgstr "ინდექსის გამოსახულებებში ფანჯრის ფუნქციები დაუშვებელია" + +#: parser/parse_agg.c:924 +msgid "window functions are not allowed in statistics expressions" +msgstr "სტატისტიკის გამოსახულებებში ფანჯრის ფუნქციები დაუშვებელია" + +#: parser/parse_agg.c:927 +msgid "window functions are not allowed in index predicates" +msgstr "ინდექსის პრედიკატებში ფანჯრის ფუნქციები დაუშვებელია" + +#: parser/parse_agg.c:930 +msgid "window functions are not allowed in transform expressions" +msgstr "გადაყვანის გამოსახულებებში ფანჯრის ფუნქციები დაუშვებელია" + +#: parser/parse_agg.c:933 +msgid "window functions are not allowed in EXECUTE parameters" +msgstr "\"EXECUTE\"-ის პარამეტრებში ფანჯრის ფუნქციები დაუშვებელია\"" + +#: parser/parse_agg.c:936 +msgid "window functions are not allowed in trigger WHEN conditions" +msgstr "\"WHEN\"-ის პირობების ტრიგერში ფანჯრის ფუნქციები დაუშვებელია" + +#: parser/parse_agg.c:939 +msgid "window functions are not allowed in partition bound" +msgstr "დანაყოფის საზღვარში ფანჯრის ფუნქციები დაუშვებელია" + +#: parser/parse_agg.c:942 +msgid "window functions are not allowed in partition key expressions" +msgstr "დანაყოფის გასაღების გამოსახულებებში ფანჯრის ფუნქციები დაუშვებელია" + +#: parser/parse_agg.c:945 +msgid "window functions are not allowed in CALL arguments" +msgstr "\"CALL\"-ის არგუმენტებში ფანჯრის ფუნქციები დაუშვებელია" + +#: parser/parse_agg.c:948 +msgid "window functions are not allowed in COPY FROM WHERE conditions" +msgstr "\"COPY FROM WHERE\"-ის პირობებში ფანჯრის ფუნქციები დაუშვებელია" + +#: parser/parse_agg.c:951 +msgid "window functions are not allowed in column generation expressions" +msgstr "სვეტის გენერაციის გამოსახულებებში ფანჯრის ფუნქციები დაუშვებელია" + +#. translator: %s is name of a SQL construct, eg GROUP BY +#: parser/parse_agg.c:974 parser/parse_clause.c:1965 +#, c-format +msgid "window functions are not allowed in %s" +msgstr "ფანჯრის ფუნქციები არ არის დაშვებული %s-ში" + +#: parser/parse_agg.c:1008 parser/parse_clause.c:2798 +#, c-format +msgid "window \"%s\" does not exist" +msgstr "ფანჯარა \"%s\" არ არსებობს" + +#: parser/parse_agg.c:1096 +#, c-format +msgid "too many grouping sets present (maximum 4096)" +msgstr "ძალიან ბევრი დაჯგუფების ნაკრებია (მაქსიმუმ 4096)" + +#: parser/parse_agg.c:1236 +#, c-format +msgid "aggregate functions are not allowed in a recursive query's recursive term" +msgstr "" + +#: parser/parse_agg.c:1429 +#, c-format +msgid "column \"%s.%s\" must appear in the GROUP BY clause or be used in an aggregate function" +msgstr "" + +#: parser/parse_agg.c:1432 +#, c-format +msgid "Direct arguments of an ordered-set aggregate must use only grouped columns." +msgstr "" + +#: parser/parse_agg.c:1437 +#, c-format +msgid "subquery uses ungrouped column \"%s.%s\" from outer query" +msgstr "ქვემოთხოვნა outer მოთხოვნიდან დაუჯგუფებელ სვეტს \"%s.%s\" იყენებს" + +#: parser/parse_agg.c:1601 +#, c-format +msgid "arguments to GROUPING must be grouping expressions of the associated query level" +msgstr "" + +#: parser/parse_clause.c:195 +#, c-format +msgid "relation \"%s\" cannot be the target of a modifying statement" +msgstr "ურთიერთობა \"%s\" არ შეიძლება, შემცვლელი გამოსახულების სამიზნეს წარმოადგენდეს" + +#: parser/parse_clause.c:571 parser/parse_clause.c:599 parser/parse_func.c:2552 +#, c-format +msgid "set-returning functions must appear at top level of FROM" +msgstr "სეტების დამბრუნებელი ფუნქციები FROM-ის ზედა დონეზე უნდა გამოჩნდნენ" + +#: parser/parse_clause.c:611 +#, c-format +msgid "multiple column definition lists are not allowed for the same function" +msgstr "იგივე ფუნქციისთვის ერთზე მეტი სვეტის აღწერის სიები დაშვებული არაა" + +#: parser/parse_clause.c:644 +#, c-format +msgid "ROWS FROM() with multiple functions cannot have a column definition list" +msgstr "ერთზე მეტი ფუნქციის მქონე ROW FROM ()-ს არ შეიძლება, სვეტის აღწერების სია ჰქონდეს" + +#: parser/parse_clause.c:645 +#, c-format +msgid "Put a separate column definition list for each function inside ROWS FROM()." +msgstr "" + +#: parser/parse_clause.c:651 +#, c-format +msgid "UNNEST() with multiple arguments cannot have a column definition list" +msgstr "" + +#: parser/parse_clause.c:652 +#, c-format +msgid "Use separate UNNEST() calls inside ROWS FROM(), and attach a column definition list to each one." +msgstr "" + +#: parser/parse_clause.c:659 +#, c-format +msgid "WITH ORDINALITY cannot be used with a column definition list" +msgstr "WITH ORDINALITY სვეტების აღწერის სიასთან ერთად არ უნდა გამოიყენოთ" + +#: parser/parse_clause.c:660 +#, c-format +msgid "Put the column definition list inside ROWS FROM()." +msgstr "სვეტის აღწერის სია ROWS FROM()-ის შიგნით გადაიტანეთ." + +#: parser/parse_clause.c:760 +#, c-format +msgid "only one FOR ORDINALITY column is allowed" +msgstr "დაშვებულია მხოლოდ FOR ORDINALITY სვეტი" + +#: parser/parse_clause.c:821 +#, c-format +msgid "column name \"%s\" is not unique" +msgstr "სვეტის სახელი \"%s\" არ არის უნიკალური" + +#: parser/parse_clause.c:863 +#, c-format +msgid "namespace name \"%s\" is not unique" +msgstr "სახელების სივრცის სახელი \"%s\" უნიკალური არაა" + +#: parser/parse_clause.c:873 +#, c-format +msgid "only one default namespace is allowed" +msgstr "დასაშვებია მხოლოდ ერთი ნაგულისხმები სახელის სივრცე" + +#: parser/parse_clause.c:933 +#, c-format +msgid "tablesample method %s does not exist" +msgstr "" + +#: parser/parse_clause.c:955 +#, c-format +msgid "tablesample method %s requires %d argument, not %d" +msgid_plural "tablesample method %s requires %d arguments, not %d" +msgstr[0] "" +msgstr[1] "" + +#: parser/parse_clause.c:989 +#, c-format +msgid "tablesample method %s does not support REPEATABLE" +msgstr "" + +#: parser/parse_clause.c:1138 +#, c-format +msgid "TABLESAMPLE clause can only be applied to tables and materialized views" +msgstr "" + +#: parser/parse_clause.c:1325 +#, c-format +msgid "column name \"%s\" appears more than once in USING clause" +msgstr "პირობაში USIN სვეტის სახელი \"%s\" ერთზე მეტჯერ გამოჩნდა" + +#: parser/parse_clause.c:1340 +#, c-format +msgid "common column name \"%s\" appears more than once in left table" +msgstr "საერთო სვეტის სახელი \"%s\" ერთხელ, მარცხენა ცხრილში გამოჩნდა" + +#: parser/parse_clause.c:1349 +#, c-format +msgid "column \"%s\" specified in USING clause does not exist in left table" +msgstr "სვეტი \"%s\", რომელიც USING პირობაშია მითითებული, მარცხენა ცხრილში არ არსებობს" + +#: parser/parse_clause.c:1364 +#, c-format +msgid "common column name \"%s\" appears more than once in right table" +msgstr "საერთო სვეტის სახელი \"%s\" ერთხელ, მარჯვენა ცხრილში გამოჩნდა" + +#: parser/parse_clause.c:1373 +#, c-format +msgid "column \"%s\" specified in USING clause does not exist in right table" +msgstr "სვეტი \"%s\", რომელიც USING პირობაშია მითითებული, მარჯვენა ცხრილში არ არსებობს" + +#: parser/parse_clause.c:1901 +#, c-format +msgid "row count cannot be null in FETCH FIRST ... WITH TIES clause" +msgstr "'FETCH FIRST ... WITH TIES' პირობაში მწკრივების რაოდენობა ნულოვანი ვერ იქნება" + +#. translator: %s is name of a SQL construct, eg LIMIT +#: parser/parse_clause.c:1926 +#, c-format +msgid "argument of %s must not contain variables" +msgstr "%s-ის არგუმენტი ცვლადებს არ უნდა შეიცავდეს" + +#. translator: first %s is name of a SQL construct, eg ORDER BY +#: parser/parse_clause.c:2091 +#, c-format +msgid "%s \"%s\" is ambiguous" +msgstr "%s \"%s\" გაურკვეველია" + +#. translator: %s is name of a SQL construct, eg ORDER BY +#: parser/parse_clause.c:2119 +#, c-format +msgid "non-integer constant in %s" +msgstr "არა-მთელი რიცხვის კონსტანტა %s -ში" + +#. translator: %s is name of a SQL construct, eg ORDER BY +#: parser/parse_clause.c:2141 +#, c-format +msgid "%s position %d is not in select list" +msgstr "" + +#: parser/parse_clause.c:2580 +#, c-format +msgid "CUBE is limited to 12 elements" +msgstr "CUBE-ის ლიმიტია 12 ელემენტი" + +#: parser/parse_clause.c:2786 +#, c-format +msgid "window \"%s\" is already defined" +msgstr "ფანჯარა \"%s\" უკვე განსაზღვრულია" + +#: parser/parse_clause.c:2847 +#, c-format +msgid "cannot override PARTITION BY clause of window \"%s\"" +msgstr "ფანჯრის \"%s\" 'PARTITION BY' პირობის გადაფარვა შეუძლებელია" + +#: parser/parse_clause.c:2859 +#, c-format +msgid "cannot override ORDER BY clause of window \"%s\"" +msgstr "ფანჯრის \"%s\" 'ORDER BY' პირობის გადაფარვა შეუძლებელია" + +#: parser/parse_clause.c:2889 parser/parse_clause.c:2895 +#, c-format +msgid "cannot copy window \"%s\" because it has a frame clause" +msgstr "ფანჯრის \"%s\" კოპირება შეუძლებელია, რადგან მას ჩარჩოს პირობა გააჩნია" + +#: parser/parse_clause.c:2897 +#, c-format +msgid "Omit the parentheses in this OVER clause." +msgstr "" + +#: parser/parse_clause.c:2917 +#, c-format +msgid "RANGE with offset PRECEDING/FOLLOWING requires exactly one ORDER BY column" +msgstr "PRECEDING/FOLLOWING წანაცვლებების მქონე RANGE-ებს ზუსტად ერთი ORDER BY სვეტი უნდა გქონდეთ" + +#: parser/parse_clause.c:2940 +#, c-format +msgid "GROUPS mode requires an ORDER BY clause" +msgstr "რეჟიმს 'GROUPS' 'ORDER BY' პირობა სჭირდება" + +#: parser/parse_clause.c:3011 +#, c-format +msgid "in an aggregate with DISTINCT, ORDER BY expressions must appear in argument list" +msgstr "აგრეგატში არგუმენტების სიაში DISTINCT და ORDER BY გამოსახულებების ქონა აუცილებელია" + +#: parser/parse_clause.c:3012 +#, c-format +msgid "for SELECT DISTINCT, ORDER BY expressions must appear in select list" +msgstr "" + +#: parser/parse_clause.c:3044 +#, c-format +msgid "an aggregate with DISTINCT must have at least one argument" +msgstr "აგრეგატს, რომელსაც DISTINCT აქვს, ერთი არგუმენტი მაინც უნდა ჰქონდეს" + +#: parser/parse_clause.c:3045 +#, c-format +msgid "SELECT DISTINCT must have at least one column" +msgstr "SELECT DISTINCT-ს ერთი სვეტი მაინც უნდა ჰქონდეს" + +#: parser/parse_clause.c:3111 parser/parse_clause.c:3143 +#, c-format +msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions" +msgstr "SELECT DISTINCT ON ტიპის გამოსახულებები საწყის ORDER BY გამოსახულებებს უნდა ემთხვეოდეს" + +#: parser/parse_clause.c:3221 +#, c-format +msgid "ASC/DESC is not allowed in ON CONFLICT clause" +msgstr "ASC/DESC პირობაზე ON CONFLICT დაშვებული არაა" + +#: parser/parse_clause.c:3227 +#, c-format +msgid "NULLS FIRST/LAST is not allowed in ON CONFLICT clause" +msgstr "NULLS FIRST/LAST პირობაზე ON CONFLICT დაშვებული არაა" + +#: parser/parse_clause.c:3306 +#, c-format +msgid "ON CONFLICT DO UPDATE requires inference specification or constraint name" +msgstr "" + +#: parser/parse_clause.c:3307 +#, c-format +msgid "For example, ON CONFLICT (column_name)." +msgstr "მაგალითად, ON CONFLICT (column_name)." + +#: parser/parse_clause.c:3318 +#, c-format +msgid "ON CONFLICT is not supported with system catalog tables" +msgstr "ON CONFLICT სისტემური კატალოგის ცხრილებთან ერთად მხარდაჭერილი არაა" + +#: parser/parse_clause.c:3326 +#, c-format +msgid "ON CONFLICT is not supported on table \"%s\" used as a catalog table" +msgstr "კატალოგის ცხრილად გამოყენებული ცხრილზე \"%s\" ბრძანება ON CONFLICT მხარდაჭერილი არაა" + +#: parser/parse_clause.c:3457 +#, c-format +msgid "operator %s is not a valid ordering operator" +msgstr "ოპერატორი %s სწორი დამლაგებელი ოპერატორი არაა" + +#: parser/parse_clause.c:3459 +#, c-format +msgid "Ordering operators must be \"<\" or \">\" members of btree operator families." +msgstr "" + +#: parser/parse_clause.c:3770 +#, c-format +msgid "RANGE with offset PRECEDING/FOLLOWING is not supported for column type %s" +msgstr "" + +#: 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 "" + +#: parser/parse_clause.c:3779 +#, c-format +msgid "Cast the offset value to an appropriate type." +msgstr "წანაცვლების მნიშვნელობის დამაკმაყოფილებელ ტიპში დაკასტვა." + +#: 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 "" + +#: parser/parse_clause.c:3787 +#, c-format +msgid "Cast the offset value to the exact intended type." +msgstr "წანაცვლების მნიშვნელობის ზუსტად განსაზღვრულ ტიპში დაკასტვა." + +#: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088 parser/parse_coerce.c:1106 parser/parse_coerce.c:1121 parser/parse_expr.c:2083 parser/parse_expr.c:2691 parser/parse_expr.c:3497 parser/parse_target.c:985 +#, c-format +msgid "cannot cast type %s to %s" +msgstr "%s ტიპის %s-ში გადაყვანა შეუძლებელია" + +#: parser/parse_coerce.c:1091 +#, c-format +msgid "Input has too few columns." +msgstr "შეყვანას ძალიან ცოტა სვეტი აქვს." + +#: parser/parse_coerce.c:1109 +#, c-format +msgid "Cannot cast type %s to %s in column %d." +msgstr "%3$d სვეტში %1$s ტიპის დაკასტვა ტიპამდე %2$s შეუძლებელია." + +#: parser/parse_coerce.c:1124 +#, c-format +msgid "Input has too many columns." +msgstr "შეყვანას ძალიან ბევრი სვეტი აქვს." + +#. translator: first %s is name of a SQL construct, eg WHERE +#. translator: first %s is name of a SQL construct, eg LIMIT +#: parser/parse_coerce.c:1179 parser/parse_coerce.c:1227 +#, c-format +msgid "argument of %s must be type %s, not type %s" +msgstr "%s-ის არგუმენტის ტიპი %s უნდა იყოს და არა %s" + +#. translator: %s is name of a SQL construct, eg WHERE +#. translator: %s is name of a SQL construct, eg LIMIT +#: parser/parse_coerce.c:1190 parser/parse_coerce.c:1239 +#, c-format +msgid "argument of %s must not return a set" +msgstr "%s-ის არგუმენტმა სეტი არ უნდა დააბრუნოს" + +#. translator: first %s is name of a SQL construct, eg CASE +#: parser/parse_coerce.c:1383 +#, c-format +msgid "%s types %s and %s cannot be matched" +msgstr "%s-ის ტიპები %s და %s არ შეიძლება, ერთმანეთს ემთხვეოდეს" + +#: parser/parse_coerce.c:1499 +#, c-format +msgid "argument types %s and %s cannot be matched" +msgstr "არგუმენტის ტიპებს %s და %s საერთო არაფერი გააჩნიათ" + +#. translator: first %s is name of a SQL construct, eg CASE +#: parser/parse_coerce.c:1551 +#, c-format +msgid "%s could not convert type %s to %s" +msgstr "%s-მა ტიპი %s-დან %s-ში ვერ გადაიყვანა" + +#: parser/parse_coerce.c:2154 parser/parse_coerce.c:2174 parser/parse_coerce.c:2194 parser/parse_coerce.c:2215 parser/parse_coerce.c:2270 parser/parse_coerce.c:2304 +#, c-format +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 +#, 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 +#, 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 +#, c-format +msgid "argument declared %s is not a multirange type but type %s" +msgstr "\"%s\"-ად აღწერილი არგუმენტი მრავალდიაპაზონის მაგიერ არის %s" + +#: parser/parse_coerce.c:2353 +#, c-format +msgid "cannot determine element type of \"anyarray\" argument" +msgstr "\"anyarray\" არგუმენტის ტიპის დადგენა შეუძლებელია" + +#: parser/parse_coerce.c:2379 parser/parse_coerce.c:2410 parser/parse_coerce.c:2449 parser/parse_coerce.c:2515 +#, c-format +msgid "argument declared %s is not consistent with argument declared %s" +msgstr "" + +#: parser/parse_coerce.c:2474 +#, c-format +msgid "could not determine polymorphic type because input has type %s" +msgstr "" + +#: parser/parse_coerce.c:2488 +#, c-format +msgid "type matched to anynonarray is an array type: %s" +msgstr "ტიპი, რომელიც anytoarray-ს ემთხვევა, მასივის ტიპისაა: %s" + +#: parser/parse_coerce.c:2498 +#, c-format +msgid "type matched to anyenum is not an enum type: %s" +msgstr "ტიპი, რომელიც anytoenum-ს ემთხვევა, ჩამონათვალის ტიპის არაა: %s" + +#: parser/parse_coerce.c:2559 +#, c-format +msgid "arguments of anycompatible family cannot be cast to a common type" +msgstr "" + +#: parser/parse_coerce.c:2577 parser/parse_coerce.c:2598 parser/parse_coerce.c:2648 parser/parse_coerce.c:2653 parser/parse_coerce.c:2717 parser/parse_coerce.c:2729 +#, c-format +msgid "could not determine polymorphic type %s because input has type %s" +msgstr "" + +#: parser/parse_coerce.c:2587 +#, c-format +msgid "anycompatiblerange type %s does not match anycompatible type %s" +msgstr "" + +#: parser/parse_coerce.c:2608 +#, c-format +msgid "anycompatiblemultirange type %s does not match anycompatible type %s" +msgstr "" + +#: parser/parse_coerce.c:2622 +#, c-format +msgid "type matched to anycompatiblenonarray is an array type: %s" +msgstr "" + +#: parser/parse_coerce.c:2857 +#, c-format +msgid "A result of type %s requires at least one input of type anyrange or anymultirange." +msgstr "" + +#: parser/parse_coerce.c:2874 +#, c-format +msgid "A result of type %s requires at least one input of type anycompatiblerange or anycompatiblemultirange." +msgstr "" + +#: parser/parse_coerce.c:2886 +#, c-format +msgid "A result of type %s requires at least one input of type anyelement, anyarray, anynonarray, anyenum, anyrange, or anymultirange." +msgstr "" + +#: parser/parse_coerce.c:2898 +#, c-format +msgid "A result of type %s requires at least one input of type anycompatible, anycompatiblearray, anycompatiblenonarray, anycompatiblerange, or anycompatiblemultirange." +msgstr "" + +#: parser/parse_coerce.c:2928 +msgid "A result of type internal requires at least one input of type internal." +msgstr "" + +#: parser/parse_collate.c:228 parser/parse_collate.c:475 parser/parse_collate.c:1005 +#, c-format +msgid "collation mismatch between implicit collations \"%s\" and \"%s\"" +msgstr "" + +#: parser/parse_collate.c:231 parser/parse_collate.c:478 parser/parse_collate.c:1008 +#, c-format +msgid "You can choose the collation by applying the COLLATE clause to one or both expressions." +msgstr "" + +#: parser/parse_collate.c:855 +#, c-format +msgid "collation mismatch between explicit collations \"%s\" and \"%s\"" +msgstr "" + +#: parser/parse_cte.c:46 +#, c-format +msgid "recursive reference to query \"%s\" must not appear within its non-recursive term" +msgstr "" + +#: parser/parse_cte.c:48 +#, c-format +msgid "recursive reference to query \"%s\" must not appear within a subquery" +msgstr "" + +#: parser/parse_cte.c:50 +#, c-format +msgid "recursive reference to query \"%s\" must not appear within an outer join" +msgstr "" + +#: parser/parse_cte.c:52 +#, c-format +msgid "recursive reference to query \"%s\" must not appear within INTERSECT" +msgstr "" + +#: parser/parse_cte.c:54 +#, c-format +msgid "recursive reference to query \"%s\" must not appear within EXCEPT" +msgstr "" + +#: parser/parse_cte.c:133 +#, c-format +msgid "MERGE not supported in WITH query" +msgstr "\"MERGE\"-ი \"WITH\" მოთხოვნაში მხარდაუჭერელია" + +#: parser/parse_cte.c:143 +#, c-format +msgid "WITH query name \"%s\" specified more than once" +msgstr "WITH მოთხოვნის სახელი \"%s\" ერთზე მეტჯერაა მითითებული" + +#: parser/parse_cte.c:314 +#, c-format +msgid "could not identify an inequality operator for type %s" +msgstr "" + +#: parser/parse_cte.c:341 +#, c-format +msgid "WITH clause containing a data-modifying statement must be at the top level" +msgstr "WITH პირობის შემცველი მონაცემების-შემცვლელი გამოსახულება უმაღლეს დონეზე უნდა იიყოს" + +#: parser/parse_cte.c:390 +#, c-format +msgid "recursive query \"%s\" column %d has type %s in non-recursive term but type %s overall" +msgstr "" + +#: parser/parse_cte.c:396 +#, c-format +msgid "Cast the output of the non-recursive term to the correct type." +msgstr "" + +#: parser/parse_cte.c:401 +#, c-format +msgid "recursive query \"%s\" column %d has collation \"%s\" in non-recursive term but collation \"%s\" overall" +msgstr "" + +#: parser/parse_cte.c:405 +#, c-format +msgid "Use the COLLATE clause to set the collation of the non-recursive term." +msgstr "" + +#: parser/parse_cte.c:426 +#, c-format +msgid "WITH query is not recursive" +msgstr "WITH მოთხოვნა რეკურსიული არაა" + +#: parser/parse_cte.c:457 +#, c-format +msgid "with a SEARCH or CYCLE clause, the left side of the UNION must be a SELECT" +msgstr "" + +#: parser/parse_cte.c:462 +#, c-format +msgid "with a SEARCH or CYCLE clause, the right side of the UNION must be a SELECT" +msgstr "" + +#: parser/parse_cte.c:477 +#, c-format +msgid "search column \"%s\" not in WITH query column list" +msgstr "ძებნის სვეტი \"%s\" WITH მოთხოვნის სვეტების სიაში არაა" + +#: parser/parse_cte.c:484 +#, c-format +msgid "search column \"%s\" specified more than once" +msgstr "ძებნის სვეტი \"%s\" ერთზე მეტჯერაა მითითებული" + +#: parser/parse_cte.c:493 +#, c-format +msgid "search sequence column name \"%s\" already used in WITH query column list" +msgstr "" + +#: parser/parse_cte.c:510 +#, c-format +msgid "cycle column \"%s\" not in WITH query column list" +msgstr "ციკლის სვეტი \"%s\" WITH მოთხოვნის სვეტების სიაში არაა" + +#: parser/parse_cte.c:517 +#, c-format +msgid "cycle column \"%s\" specified more than once" +msgstr "ციკლის სვეტი \"%s\" ერთზემეტჯერაა მითითებული" + +#: parser/parse_cte.c:526 +#, c-format +msgid "cycle mark column name \"%s\" already used in WITH query column list" +msgstr "" + +#: parser/parse_cte.c:533 +#, c-format +msgid "cycle path column name \"%s\" already used in WITH query column list" +msgstr "" + +#: parser/parse_cte.c:541 +#, c-format +msgid "cycle mark column name and cycle path column name are the same" +msgstr "" + +#: parser/parse_cte.c:551 +#, c-format +msgid "search sequence column name and cycle mark column name are the same" +msgstr "" + +#: parser/parse_cte.c:558 +#, c-format +msgid "search sequence column name and cycle path column name are the same" +msgstr "" + +#: parser/parse_cte.c:642 +#, c-format +msgid "WITH query \"%s\" has %d columns available but %d columns specified" +msgstr "" + +#: parser/parse_cte.c:822 +#, c-format +msgid "mutual recursion between WITH items is not implemented" +msgstr "\"WITH\"-ის ჩანაწერებს შორის ურთიერთრეკურსია მხარდაჭერილი არაა" + +#: parser/parse_cte.c:874 +#, c-format +msgid "recursive query \"%s\" must not contain data-modifying statements" +msgstr "" + +#: parser/parse_cte.c:882 +#, c-format +msgid "recursive query \"%s\" does not have the form non-recursive-term UNION [ALL] recursive-term" +msgstr "" + +#: parser/parse_cte.c:926 +#, c-format +msgid "ORDER BY in a recursive query is not implemented" +msgstr "რეკურსიულ მოთხოვნაში ORDER BY განხორციელებული არაა" + +#: parser/parse_cte.c:932 +#, c-format +msgid "OFFSET in a recursive query is not implemented" +msgstr "რეკურსიულ მოთხოვნაში OFFSET განხორციელებული არაა" + +#: parser/parse_cte.c:938 +#, c-format +msgid "LIMIT in a recursive query is not implemented" +msgstr "რეკურსიულ მოთხოვნაში LIMIT განხორციელებული არაა" + +#: parser/parse_cte.c:944 +#, c-format +msgid "FOR UPDATE/SHARE in a recursive query is not implemented" +msgstr "რეკურსიულ მოთხოვნაში FOR UPDATE/SHARE განხორციელებული არაა" + +#: parser/parse_cte.c:1001 +#, c-format +msgid "recursive reference to query \"%s\" must not appear more than once" +msgstr "" + +#: parser/parse_expr.c:294 +#, c-format +msgid "DEFAULT is not allowed in this context" +msgstr "ამ კონტექსტში ნაგულისხმებს ვერ გამოიყენებთ" + +#: 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 +#, c-format +msgid "column %s.%s does not exist" +msgstr "სვეტი %s.%s არ არსებობს" + +#: parser/parse_expr.c:383 +#, c-format +msgid "column \"%s\" not found in data type %s" +msgstr "სვეტი \"%s\" მონაცემის ტიპში %s აღმოჩენილი არაა" + +#: parser/parse_expr.c:389 +#, c-format +msgid "could not identify column \"%s\" in record data type" +msgstr "ჩანაწერის მონაცემის ტიპში სვეტის \"%s\" იდენტიფიკაცია შეუძლებელია" + +#: parser/parse_expr.c:395 +#, c-format +msgid "column notation .%s applied to type %s, which is not a composite type" +msgstr "" + +#: parser/parse_expr.c:426 parser/parse_target.c:733 +#, c-format +msgid "row expansion via \"*\" is not supported here" +msgstr "" + +#: parser/parse_expr.c:548 +msgid "cannot use column reference in DEFAULT expression" +msgstr "" + +#: parser/parse_expr.c:551 +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 +#, c-format +msgid "column reference \"%s\" is ambiguous" +msgstr "სვეტის მითითება \"%s\" ორაზროვანია" + +#: parser/parse_expr.c:866 parser/parse_param.c:110 parser/parse_param.c:142 parser/parse_param.c:204 parser/parse_param.c:303 +#, c-format +msgid "there is no parameter $%d" +msgstr "პარამეტრი $%d არ არსებობს" + +#: parser/parse_expr.c:1066 +#, c-format +msgid "NULLIF requires = operator to yield boolean" +msgstr "" + +#. translator: %s is name of a SQL construct, eg NULLIF +#: parser/parse_expr.c:1072 parser/parse_expr.c:3007 +#, c-format +msgid "%s must not return a set" +msgstr "%s -მა სეტი არ უნდა დააბრუნოს" + +#: parser/parse_expr.c:1457 parser/parse_expr.c:1489 +#, c-format +msgid "number of columns does not match number of values" +msgstr "" + +#: parser/parse_expr.c:1503 +#, c-format +msgid "source for a multiple-column UPDATE item must be a sub-SELECT or ROW() expression" +msgstr "" + +#. translator: %s is name of a SQL construct, eg GROUP BY +#: parser/parse_expr.c:1698 parser/parse_expr.c:2180 parser/parse_func.c:2677 +#, c-format +msgid "set-returning functions are not allowed in %s" +msgstr "%s-ში სეტის-დამბრუნებელი ფუნქციები დაშვებული არაა" + +#: parser/parse_expr.c:1761 +msgid "cannot use subquery in check constraint" +msgstr "შეზღუდვის შემმოწმებელში ქვემოთხოვნას ვერ გამოიყენებთ" + +#: parser/parse_expr.c:1765 +msgid "cannot use subquery in DEFAULT expression" +msgstr "ნაგულისხმებ გამოსახულებაში ქვემოთხოვნას ვერ გამოიყენებთ" + +#: parser/parse_expr.c:1768 +msgid "cannot use subquery in index expression" +msgstr "ინდექსის გამოსახულებაში ქვემოთხოვნას ვერ გამოიყენებთ" + +#: parser/parse_expr.c:1771 +msgid "cannot use subquery in index predicate" +msgstr "ინდექსის პრედიკატში ქვემოთხოვნას ვერ გამოიყენებთ" + +#: parser/parse_expr.c:1774 +msgid "cannot use subquery in statistics expression" +msgstr "სტატისტიკის გამოსახულებაში ქვემოთხოვნას ვერ გამოიყენებთ" + +#: parser/parse_expr.c:1777 +msgid "cannot use subquery in transform expression" +msgstr "გარდაქმნის გამოსახულებაში ქვემოთხოვნას ვერ გამოიყენებთ" + +#: parser/parse_expr.c:1780 +msgid "cannot use subquery in EXECUTE parameter" +msgstr "პარამეტრში \"EXECUTE\" ქვემოთხოვნას ვერ გამოიყენებთ" + +#: parser/parse_expr.c:1783 +msgid "cannot use subquery in trigger WHEN condition" +msgstr "\"WHEN\" პირობის ტრიგერში ქვემოთხოვნას ვერ გამოიყენებთ" + +#: parser/parse_expr.c:1786 +msgid "cannot use subquery in partition bound" +msgstr "დანაყოფის საზღვარში ქვემოთხოვნას ვერ გამოიყენებთ" + +#: parser/parse_expr.c:1789 +msgid "cannot use subquery in partition key expression" +msgstr "დანაყოფის გასაღების გამოსახულებაში ქვემოთხოვნას ვერ გამოიყენებთ" + +#: parser/parse_expr.c:1792 +msgid "cannot use subquery in CALL argument" +msgstr "\"CALL\"-ის არგუმენტში ქვემოთხოვნას ვერ გამოიყენებთ" + +#: parser/parse_expr.c:1795 +msgid "cannot use subquery in COPY FROM WHERE condition" +msgstr "\"COPY FROM WHERE\" პირობაში ქვემოთხოვნას ვერ გამოიყენებთ" + +#: parser/parse_expr.c:1798 +msgid "cannot use subquery in column generation expression" +msgstr "სვეტების გენერაციის გამოსახულებაში ქვემოთხოვნას ვერ გამოიყენებთ" + +#: parser/parse_expr.c:1851 parser/parse_expr.c:3628 +#, c-format +msgid "subquery must return only one column" +msgstr "ქვემოთხოვნამ მხოლოდ ერთი სვეტი უნდა დააბრუნოს" + +#: parser/parse_expr.c:1922 +#, c-format +msgid "subquery has too many columns" +msgstr "ქვემოთხოვნას ძალიან ბევრი სვეტი აქვს" + +#: parser/parse_expr.c:1927 +#, c-format +msgid "subquery has too few columns" +msgstr "ქვემოთხოვნას ძალიან ცოტა სვეტი აქვს" + +#: parser/parse_expr.c:2023 +#, c-format +msgid "cannot determine type of empty array" +msgstr "ცარიელი მასივის ტიპის დადგენა შეუძლებელია" + +#: parser/parse_expr.c:2024 +#, c-format +msgid "Explicitly cast to the desired type, for example ARRAY[]::integer[]." +msgstr "" + +#: parser/parse_expr.c:2038 +#, c-format +msgid "could not find element type for data type %s" +msgstr "" + +#: parser/parse_expr.c:2121 +#, c-format +msgid "ROW expressions can have at most %d entries" +msgstr "ROW გამოსახულებებს მაქსიმუმ %d ელემენტი შეიძლება ჰქონდეს" + +#: parser/parse_expr.c:2326 +#, c-format +msgid "unnamed XML attribute value must be a column reference" +msgstr "უსახელო XML ატრიბუტის მნიშვნელობა სვეტის მიმართვას უნდა წარმოადგენდეს" + +#: parser/parse_expr.c:2327 +#, c-format +msgid "unnamed XML element value must be a column reference" +msgstr "უსახელო XML ელემენტის მნიშვნელობა სვეტის მიმართვას უნდა წარმოადგენდეს" + +#: parser/parse_expr.c:2342 +#, c-format +msgid "XML attribute name \"%s\" appears more than once" +msgstr "XML ატრიბუტის სახელი \"%s\" ერთზე მეტჯერ გამოჩნდა" + +#: parser/parse_expr.c:2450 +#, c-format +msgid "cannot cast XMLSERIALIZE result to %s" +msgstr "'XMLSERIALIZE'-ის შედეგის %s-ში დაკასტვა შეუძლებელია" + +#: parser/parse_expr.c:2764 parser/parse_expr.c:2960 +#, c-format +msgid "unequal number of entries in row expressions" +msgstr "მწკრივის გამოსახულებებში ჩანაწერების რაოდენობა ტოლი არაა" + +#: parser/parse_expr.c:2774 +#, c-format +msgid "cannot compare rows of zero length" +msgstr "ნულოვანი სიგრძის მწკრივების შედარება შეუძლებელია" + +#: parser/parse_expr.c:2799 +#, c-format +msgid "row comparison operator must yield type boolean, not type %s" +msgstr "მწკრივის შედარების ოპერატორმა ლოგიკური მნიშვნელობა უნდა დააბრუნოს და არა ტიპი %s" + +#: parser/parse_expr.c:2806 +#, c-format +msgid "row comparison operator must not return a set" +msgstr "მწკრივის შედარების ოპერატორმა სეტი არ უნდა დააბრუნოს" + +#: parser/parse_expr.c:2865 parser/parse_expr.c:2906 +#, c-format +msgid "could not determine interpretation of row comparison operator %s" +msgstr "მწკრივის შედარების ოპერატორის %s ინტერპრეტაციის დადგენა შეუძლებელია" + +#: parser/parse_expr.c:2867 +#, c-format +msgid "Row comparison operators must be associated with btree operator families." +msgstr "მწკრივის შედარების ოპერატორები ბინარული ხის ოპერატორის ოჯახებთან უნდა იყოს ასოცირებული." + +#: parser/parse_expr.c:2908 +#, c-format +msgid "There are multiple equally-plausible candidates." +msgstr "" + +#: parser/parse_expr.c:3001 +#, c-format +msgid "IS DISTINCT FROM requires = operator to yield boolean" +msgstr "IS DISTINCT FROM-ს სჭირდება, რომ ოპერატორი '=' ლოგიკურ მნიშვნელობას აბრუნებდეს" + +#: parser/parse_expr.c:3239 +#, c-format +msgid "JSON ENCODING clause is only allowed for bytea input type" +msgstr "" + +#: parser/parse_expr.c:3261 +#, c-format +msgid "cannot use non-string types with implicit FORMAT JSON clause" +msgstr "" + +#: parser/parse_expr.c:3262 +#, c-format +msgid "cannot use non-string types with explicit FORMAT JSON clause" +msgstr "" + +#: parser/parse_expr.c:3335 +#, c-format +msgid "cannot use JSON format with non-string output types" +msgstr "'JSON' ფორმატის არა-სტრიქონის გამოტანის ტიპებთან ერთად გამოყენება შეუძლებელია" + +#: parser/parse_expr.c:3348 +#, c-format +msgid "cannot set JSON encoding for non-bytea output types" +msgstr "" + +#: parser/parse_expr.c:3353 +#, c-format +msgid "unsupported JSON encoding" +msgstr "\"JSON\"-ის არასწორი კოდირება" + +#: parser/parse_expr.c:3354 +#, c-format +msgid "Only UTF8 JSON encoding is supported." +msgstr "მხარდაჭერილია მხოლოდ UTF8 JSON კოდირება." + +#: parser/parse_expr.c:3391 +#, c-format +msgid "returning SETOF types is not supported in SQL/JSON functions" +msgstr "" + +#: parser/parse_expr.c:3712 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 +#, c-format +msgid "cannot use JSON FORMAT ENCODING clause for non-bytea input types" +msgstr "" + +#: parser/parse_expr.c:3954 +#, c-format +msgid "cannot use type %s in IS JSON predicate" +msgstr "%s ტიპის IS JSON პრედიკატში გამოყენება შეუძლებელია" + +#: parser/parse_func.c:194 +#, c-format +msgid "argument name \"%s\" used more than once" +msgstr "არგუმენტის სახელი \"%s\" ერთზე მეტჯერ გამოიყენება" + +#: parser/parse_func.c:205 +#, c-format +msgid "positional argument cannot follow named argument" +msgstr "" + +#: parser/parse_func.c:287 parser/parse_func.c:2367 +#, c-format +msgid "%s is not a procedure" +msgstr "%s არ არის პროცედურა" + +#: parser/parse_func.c:291 +#, c-format +msgid "To call a function, use SELECT." +msgstr "ფუნქციის გამოსაძახებლად გამოიყენეთ SELECT." + +#: parser/parse_func.c:297 +#, c-format +msgid "%s is a procedure" +msgstr "\"%s\" პროცედურაა" + +#: parser/parse_func.c:301 +#, c-format +msgid "To call a procedure, use CALL." +msgstr "პროცედურის გამოსაძახებლად გამოიყენეთ CALL." + +#: parser/parse_func.c:315 +#, c-format +msgid "%s(*) specified, but %s is not an aggregate function" +msgstr "%s(*) მითითებულია, მაგრამ %s აგრეგატული ფუნქცია არაა" + +#: parser/parse_func.c:322 +#, c-format +msgid "DISTINCT specified, but %s is not an aggregate function" +msgstr "DISTINCT მითითებულია, მაგრამ %s აგრეგატული ფუნქცია არაა" + +#: parser/parse_func.c:328 +#, c-format +msgid "WITHIN GROUP specified, but %s is not an aggregate function" +msgstr "WITHIN GROUP მითითებულია, მაგრამ %s აგრეგატული ფუნქცია არაა" + +#: parser/parse_func.c:334 +#, c-format +msgid "ORDER BY specified, but %s is not an aggregate function" +msgstr "ORDER BY მითითებულია, მაგრამ %s აგრეგატული ფუნქცია არაა" + +#: parser/parse_func.c:340 +#, c-format +msgid "FILTER specified, but %s is not an aggregate function" +msgstr "FILTER მითითებულია, მაგრამ %s აგრეგატული ფუნქცია არაა" + +#: parser/parse_func.c:346 +#, c-format +msgid "OVER specified, but %s is not a window function nor an aggregate function" +msgstr "" + +#: parser/parse_func.c:384 +#, c-format +msgid "WITHIN GROUP is required for ordered-set aggregate %s" +msgstr "" + +#: parser/parse_func.c:390 +#, c-format +msgid "OVER is not supported for ordered-set aggregate %s" +msgstr "" + +#: parser/parse_func.c:421 parser/parse_func.c:452 +#, c-format +msgid "There is an ordered-set aggregate %s, but it requires %d direct argument, not %d." +msgid_plural "There is an ordered-set aggregate %s, but it requires %d direct arguments, not %d." +msgstr[0] "" +msgstr[1] "" + +#: parser/parse_func.c:479 +#, c-format +msgid "To use the hypothetical-set aggregate %s, the number of hypothetical direct arguments (here %d) must match the number of ordering columns (here %d)." +msgstr "" + +#: parser/parse_func.c:493 +#, c-format +msgid "There is an ordered-set aggregate %s, but it requires at least %d direct argument." +msgid_plural "There is an ordered-set aggregate %s, but it requires at least %d direct arguments." +msgstr[0] "" +msgstr[1] "" + +#: parser/parse_func.c:514 +#, c-format +msgid "%s is not an ordered-set aggregate, so it cannot have WITHIN GROUP" +msgstr "" + +#: parser/parse_func.c:527 +#, c-format +msgid "window function %s requires an OVER clause" +msgstr "ფანჯრის ფუნქციას %s პირობა OVER ესაჭიროება" + +#: parser/parse_func.c:534 +#, c-format +msgid "window function %s cannot have WITHIN GROUP" +msgstr "ფანჯრის ფუნქციას '%s' 'WITHIN GROUP' ვერ ექნება" + +#: parser/parse_func.c:563 +#, c-format +msgid "procedure %s is not unique" +msgstr "პროცედურა უნიკალური არაა: %s" + +#: parser/parse_func.c:566 +#, c-format +msgid "Could not choose a best candidate procedure. You might need to add explicit type casts." +msgstr "" + +#: parser/parse_func.c:572 +#, c-format +msgid "function %s is not unique" +msgstr "ფუნქცია უნიკალური არაა: %s" + +#: parser/parse_func.c:575 +#, c-format +msgid "Could not choose a best candidate function. You might need to add explicit type casts." +msgstr "" + +#: parser/parse_func.c:614 +#, c-format +msgid "No aggregate function matches the given name and argument types. Perhaps you misplaced ORDER BY; ORDER BY must appear after all regular arguments of the aggregate." +msgstr "" + +#: parser/parse_func.c:622 parser/parse_func.c:2410 +#, c-format +msgid "procedure %s does not exist" +msgstr "პროცედურა %s არ არსებობს" + +#: parser/parse_func.c:625 +#, c-format +msgid "No procedure matches the given name and argument types. You might need to add explicit type casts." +msgstr "" + +#: parser/parse_func.c:634 +#, c-format +msgid "No function matches the given name and argument types. You might need to add explicit type casts." +msgstr "" + +#: parser/parse_func.c:736 +#, c-format +msgid "VARIADIC argument must be an array" +msgstr "VARIADIC -ის არგუმენტი მასივი უნდა იყოს" + +#: parser/parse_func.c:791 parser/parse_func.c:855 +#, c-format +msgid "%s(*) must be used to call a parameterless aggregate function" +msgstr "უპარამეტრო აგრეგატული ფუნქციის გამოსაძახებელად %s(*) უნდა გამოიყენოთ" + +#: parser/parse_func.c:798 +#, c-format +msgid "aggregates cannot return sets" +msgstr "აგრეგატებს სეტების დაბრუნება არ შეუძლიათ" + +#: parser/parse_func.c:813 +#, c-format +msgid "aggregates cannot use named arguments" +msgstr "აგრეგატები სახელიან არგუმენტებს ვერ იყენებენ" + +#: parser/parse_func.c:845 +#, c-format +msgid "DISTINCT is not implemented for window functions" +msgstr "ფანჯრის ფუნქციებისთვის DISTINCT განხორციელებული არაა" + +#: parser/parse_func.c:874 +#, c-format +msgid "FILTER is not implemented for non-aggregate window functions" +msgstr "არააგრეგატული ფანჯრის ფუნქციებისთვის FILTER განხორციელებული არაა" + +#: parser/parse_func.c:883 +#, c-format +msgid "window function calls cannot contain set-returning function calls" +msgstr "ფანჯრის ფუნქციის გამოძახებები არ შეიძლება, სეტების დამბრუნებელი ფუნქციის გამოძახებებს შეიცავდეს" + +#: parser/parse_func.c:891 +#, c-format +msgid "window functions cannot return sets" +msgstr "ფანჯრის ფუნქციებს სეტების დაბრუნება არ შეუძლიათ" + +#: parser/parse_func.c:2166 parser/parse_func.c:2439 +#, c-format +msgid "could not find a function named \"%s\"" +msgstr "ფუნქცია სახელით \"%s\" არ არსებობს" + +#: parser/parse_func.c:2180 parser/parse_func.c:2457 +#, c-format +msgid "function name \"%s\" is not unique" +msgstr "ფუნქციის სახელი უნიკალური არაა: %s" + +#: parser/parse_func.c:2182 parser/parse_func.c:2460 +#, c-format +msgid "Specify the argument list to select the function unambiguously." +msgstr "" + +#: parser/parse_func.c:2226 +#, c-format +msgid "procedures cannot have more than %d argument" +msgid_plural "procedures cannot have more than %d arguments" +msgstr[0] "პროცედურას %d-ზე მეტი არგუმენტი ვერ ექნება" +msgstr[1] "პროცედურას %d-ზე მეტი არგუმენტი ვერ ექნება" + +#: parser/parse_func.c:2357 +#, c-format +msgid "%s is not a function" +msgstr "%s არ არის ფუნქცია" + +#: parser/parse_func.c:2377 +#, c-format +msgid "function %s is not an aggregate" +msgstr "ფუნქცია %s არ არის აგრეგატი" + +#: parser/parse_func.c:2405 +#, c-format +msgid "could not find a procedure named \"%s\"" +msgstr "პროცედურა სახელით \"%s\" არ არსებობს" + +#: parser/parse_func.c:2419 +#, c-format +msgid "could not find an aggregate named \"%s\"" +msgstr "აგრეგატი სახელით \"%s\" არ არსებობს" + +#: parser/parse_func.c:2424 +#, c-format +msgid "aggregate %s(*) does not exist" +msgstr "აგრეგატი %s (*) არ არსებობს" + +#: parser/parse_func.c:2429 +#, c-format +msgid "aggregate %s does not exist" +msgstr "აგრეგატი %s არ არსებობს" + +#: parser/parse_func.c:2465 +#, c-format +msgid "procedure name \"%s\" is not unique" +msgstr "პროცედურის სახელი უნიკალური არაა: %s" + +#: parser/parse_func.c:2468 +#, c-format +msgid "Specify the argument list to select the procedure unambiguously." +msgstr "" + +#: parser/parse_func.c:2473 +#, c-format +msgid "aggregate name \"%s\" is not unique" +msgstr "აგრეგატის სახელი უნიკალური არაა: %s" + +#: parser/parse_func.c:2476 +#, c-format +msgid "Specify the argument list to select the aggregate unambiguously." +msgstr "" + +#: parser/parse_func.c:2481 +#, c-format +msgid "routine name \"%s\" is not unique" +msgstr "ქვეპროგრამის სახელი უნიკალური არაა: %s" + +#: parser/parse_func.c:2484 +#, c-format +msgid "Specify the argument list to select the routine unambiguously." +msgstr "" + +#: parser/parse_func.c:2539 +msgid "set-returning functions are not allowed in JOIN conditions" +msgstr "სეტების დამბრუნებელი ფუნქციების JOIN-ის პირობებში გამოყენება აკრძალულია" + +#: parser/parse_func.c:2560 +msgid "set-returning functions are not allowed in policy expressions" +msgstr "სეტების დამბრუნებელი ფუნქციების წესების გამოსახულების პირობებში გამოყენება აკრძალულია" + +#: parser/parse_func.c:2576 +msgid "set-returning functions are not allowed in window definitions" +msgstr "სეტების დამბრუნებელი ფუნქციების ფანჯრის აღწერებში გამოყენება აკრძალულია" + +#: parser/parse_func.c:2613 +msgid "set-returning functions are not allowed in MERGE WHEN conditions" +msgstr "სეტების დამბრუნებელი ფუნქციების MERGE WHEN-ის პირობებში გამოყენება აკრძალულია" + +#: parser/parse_func.c:2617 +msgid "set-returning functions are not allowed in check constraints" +msgstr "სეტების დამბრუნებელი ფუნქციების შეზღუდვების შემმოწმებელში გამოყენება აკრძალულია" + +#: parser/parse_func.c:2621 +msgid "set-returning functions are not allowed in DEFAULT expressions" +msgstr "ფუნქციები, რომლებიც სეტებს აბრუნებენ, DEFAULT გამოსახულებებში არ გამოიყენება" + +#: parser/parse_func.c:2624 +msgid "set-returning functions are not allowed in index expressions" +msgstr "სეტების დამბრუნებელი ფუნქციების ინდექსის გამოსახულებაში გამოყენება აკრძალულია" + +#: parser/parse_func.c:2627 +msgid "set-returning functions are not allowed in index predicates" +msgstr "სეტების დამბრუნებელი ფუნქციების ინდექსის პრედიკატებში გამოყენება აკრძალულია" + +#: parser/parse_func.c:2630 +msgid "set-returning functions are not allowed in statistics expressions" +msgstr "სეტების დამბრუნებელი ფუნქციების სტატისტიკის გამოსახულებებში გამოყენება აკრძალულია" + +#: parser/parse_func.c:2633 +msgid "set-returning functions are not allowed in transform expressions" +msgstr "სეტების დამბრუნებელი ფუნქციების გარდაქმნის გამოსახულებებში გამოყენება აკრძალულია" + +#: parser/parse_func.c:2636 +msgid "set-returning functions are not allowed in EXECUTE parameters" +msgstr "სეტების დამბრუნებელი ფუნქციების EXECUTE-ის პარამეტრებში გამოყენება აკრძალულია" + +#: parser/parse_func.c:2639 +msgid "set-returning functions are not allowed in trigger WHEN conditions" +msgstr "სეტების დამბრუნებელი ფუნქციების WHEN-ის ტრიგერში გამოყენება აკრძალულია" + +#: parser/parse_func.c:2642 +msgid "set-returning functions are not allowed in partition bound" +msgstr "სეტების დამბრუნებელი ფუნქციების დანაყოფის საზღვარში გამოყენება აკრძალულია" + +#: parser/parse_func.c:2645 +msgid "set-returning functions are not allowed in partition key expressions" +msgstr "სეტების დამბრუნებელი ფუნქციების დანაყოფის გასაღების გამოსახულებებში გამოყენება აკრძალულია" + +#: parser/parse_func.c:2648 +msgid "set-returning functions are not allowed in CALL arguments" +msgstr "სეტების დამბრუნებელი ფუნქციების CALL-ის არგუმენტებში გამოყენება აკრძალულია" + +#: parser/parse_func.c:2651 +msgid "set-returning functions are not allowed in COPY FROM WHERE conditions" +msgstr "სეტების დამბრუნებელი ფუნქციების COPY FROM WHERE-ის პირობებში გამოყენება აკრძალულია" + +#: parser/parse_func.c:2654 +msgid "set-returning functions are not allowed in column generation expressions" +msgstr "სეტების დამბრუნებელი ფუნქციების სვეტების გენერაციის გამოსახულებებში გამოყენება აკრძალულია" + +#: parser/parse_merge.c:119 +#, c-format +msgid "WITH RECURSIVE is not supported for MERGE statement" +msgstr "MERGE გამოსახულებისთვის WITH RECURSIVE მხარდაჭერილი არაა" + +#: parser/parse_merge.c:161 +#, c-format +msgid "unreachable WHEN clause specified after unconditional WHEN clause" +msgstr "" + +#: parser/parse_merge.c:191 +#, c-format +msgid "MERGE is not supported for relations with rules." +msgstr "წესების მქონე ურთიერთობებისთვის MERGE მხარდაჭერილი არაა." + +#: parser/parse_merge.c:208 +#, c-format +msgid "name \"%s\" specified more than once" +msgstr "სახელი ერთზე მეტჯერაა მითითებული: %s" + +#: parser/parse_merge.c:210 +#, c-format +msgid "The name is used both as MERGE target table and data source." +msgstr "სახელი გამოყენებულია ორივე, როგორც MERGE-ის სამიზნე ცხრილის, ისე მონაცემების წყაროს სახით." + +#: parser/parse_node.c:87 +#, c-format +msgid "target lists can have at most %d entries" +msgstr "სამიზნე სიაში მაქსიმუმ %d ჩანაწერი შეიძლება იყოს" + +#: parser/parse_oper.c:123 parser/parse_oper.c:690 +#, c-format +msgid "postfix operators are not supported" +msgstr "პოსტფიქსური ოპერატორები მხარდაუჭერელია" + +#: parser/parse_oper.c:130 parser/parse_oper.c:649 utils/adt/regproc.c:509 utils/adt/regproc.c:683 +#, c-format +msgid "operator does not exist: %s" +msgstr "ოპერატორი არ არსებობს: %s" + +#: parser/parse_oper.c:229 +#, c-format +msgid "Use an explicit ordering operator or modify the query." +msgstr "გამოიყენეთ აშკარა დალაგების ოპერატორი ან შეცვალეთ მოთხოვნა." + +#: parser/parse_oper.c:485 +#, c-format +msgid "operator requires run-time type coercion: %s" +msgstr "" + +#: parser/parse_oper.c:641 +#, c-format +msgid "operator is not unique: %s" +msgstr "ოპერატორი უნიკალური არაა: %s" + +#: parser/parse_oper.c:643 +#, c-format +msgid "Could not choose a best candidate operator. You might need to add explicit type casts." +msgstr "" + +#: parser/parse_oper.c:652 +#, c-format +msgid "No operator matches the given name and argument type. You might need to add an explicit type cast." +msgstr "" + +#: parser/parse_oper.c:654 +#, c-format +msgid "No operator matches the given name and argument types. You might need to add explicit type casts." +msgstr "" + +#: parser/parse_oper.c:714 parser/parse_oper.c:828 +#, c-format +msgid "operator is only a shell: %s" +msgstr "ოპერატორი მხოლოდ გარსია: %s" + +#: parser/parse_oper.c:816 +#, c-format +msgid "op ANY/ALL (array) requires array on right side" +msgstr "" + +#: parser/parse_oper.c:858 +#, c-format +msgid "op ANY/ALL (array) requires operator to yield boolean" +msgstr "" + +#: parser/parse_oper.c:863 +#, c-format +msgid "op ANY/ALL (array) requires operator not to return a set" +msgstr "" + +#: parser/parse_param.c:221 +#, c-format +msgid "inconsistent types deduced for parameter $%d" +msgstr "" + +#: parser/parse_param.c:309 tcop/postgres.c:740 +#, c-format +msgid "could not determine data type of parameter $%d" +msgstr "პარამეტრისთვის $%d მონაცემის ტიპის განსაზღვრა შეუძლებელია" + +#: parser/parse_relation.c:221 +#, c-format +msgid "table reference \"%s\" is ambiguous" +msgstr "" + +#: parser/parse_relation.c:265 +#, c-format +msgid "table reference %u is ambiguous" +msgstr "" + +#: parser/parse_relation.c:465 +#, c-format +msgid "table name \"%s\" specified more than once" +msgstr "" + +#: parser/parse_relation.c:494 parser/parse_relation.c:3630 parser/parse_relation.c:3639 +#, c-format +msgid "invalid reference to FROM-clause entry for table \"%s\"" +msgstr "" + +#: parser/parse_relation.c:498 parser/parse_relation.c:3641 +#, c-format +msgid "There is an entry for table \"%s\", but it cannot be referenced from this part of the query." +msgstr "" + +#: parser/parse_relation.c:500 +#, c-format +msgid "The combining JOIN type must be INNER or LEFT for a LATERAL reference." +msgstr "" + +#: parser/parse_relation.c:703 +#, c-format +msgid "system column \"%s\" reference in check constraint is invalid" +msgstr "" + +#: parser/parse_relation.c:712 +#, c-format +msgid "cannot use system column \"%s\" in column generation expression" +msgstr "სვეტის გენერაციის გამოსახულებაში სისტემურ სვეტს \"%s\" ვერ გამოიყენებთ" + +#: parser/parse_relation.c:723 +#, c-format +msgid "cannot use system column \"%s\" in MERGE WHEN condition" +msgstr "'MERGE WHEN' პირობაში სისტემურ სვეტს \"%s\" ვერ გამოიყენებთ" + +#: 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 "" + +#: 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 "" + +#: parser/parse_relation.c:1447 +#, c-format +msgid "Use WITH RECURSIVE, or re-order the WITH items to remove forward references." +msgstr "" + +#: parser/parse_relation.c:1834 +#, c-format +msgid "a column definition list is redundant for a function with OUT parameters" +msgstr "" + +#: parser/parse_relation.c:1840 +#, c-format +msgid "a column definition list is redundant for a function returning a named composite type" +msgstr "" + +#: parser/parse_relation.c:1847 +#, c-format +msgid "a column definition list is only allowed for functions returning \"record\"" +msgstr "" + +#: parser/parse_relation.c:1858 +#, c-format +msgid "a column definition list is required for functions returning \"record\"" +msgstr "" + +#: parser/parse_relation.c:1895 +#, c-format +msgid "column definition lists can have at most %d entries" +msgstr "სვეტის აღწერის სიებს მაქსიმუმ %d ჩანაწერი შეიძლება ჰქონდეს" + +#: parser/parse_relation.c:1955 +#, c-format +msgid "function \"%s\" in FROM has unsupported return type %s" +msgstr "" + +#: parser/parse_relation.c:1982 parser/parse_relation.c:2068 +#, c-format +msgid "functions in FROM can return at most %d columns" +msgstr "ფუნქციებს FROM-შ მაქსიმუმ %d სვეტის დაბრუნება შეუძლიათ" + +#: parser/parse_relation.c:2098 +#, c-format +msgid "%s function has %d columns available but %d columns specified" +msgstr "ფუნქციას %s %d სვეტი ჰქონდა ხელმისაწვდომი, მითითებული კი %d" + +#: parser/parse_relation.c:2180 +#, c-format +msgid "VALUES lists \"%s\" have %d columns available but %d columns specified" +msgstr "" + +#: parser/parse_relation.c:2246 +#, c-format +msgid "joins can have at most %d columns" +msgstr "შეერთებებს მაქსიმუმ %d სვეტი შეიძლება, ჰქონდეთ" + +#: parser/parse_relation.c:2271 +#, c-format +msgid "join expression \"%s\" has %d columns available but %d columns specified" +msgstr "" + +#: parser/parse_relation.c:2361 +#, c-format +msgid "WITH query \"%s\" does not have a RETURNING clause" +msgstr "WITH მოთხოვნას \"%s\" RETURNING პირობა არ გააჩნია" + +#: parser/parse_relation.c:3632 +#, c-format +msgid "Perhaps you meant to reference the table alias \"%s\"." +msgstr "" + +#: parser/parse_relation.c:3644 +#, c-format +msgid "To reference that table, you must mark this subquery with LATERAL." +msgstr "" + +#: parser/parse_relation.c:3650 +#, c-format +msgid "missing FROM-clause entry for table \"%s\"" +msgstr "" + +#: parser/parse_relation.c:3690 +#, c-format +msgid "There are columns named \"%s\", but they are in tables that cannot be referenced from this part of the query." +msgstr "" + +#: parser/parse_relation.c:3692 +#, c-format +msgid "Try using a table-qualified name." +msgstr "" + +#: parser/parse_relation.c:3700 +#, c-format +msgid "There is a column named \"%s\" in table \"%s\", but it cannot be referenced from this part of the query." +msgstr "" + +#: parser/parse_relation.c:3703 +#, c-format +msgid "To reference that column, you must mark this subquery with LATERAL." +msgstr "" + +#: parser/parse_relation.c:3705 +#, c-format +msgid "To reference that column, you must use a table-qualified name." +msgstr "" + +#: parser/parse_relation.c:3725 +#, c-format +msgid "Perhaps you meant to reference the column \"%s.%s\"." +msgstr "" + +#: parser/parse_relation.c:3739 +#, c-format +msgid "Perhaps you meant to reference the column \"%s.%s\" or the column \"%s.%s\"." +msgstr "" + +#: parser/parse_target.c:481 parser/parse_target.c:796 +#, c-format +msgid "cannot assign to system column \"%s\"" +msgstr "სისტემური სვეტზე (%s) მინიჭება შეუძლებელია" + +#: parser/parse_target.c:509 +#, c-format +msgid "cannot set an array element to DEFAULT" +msgstr "მასივის ელემენტების DEFAULT-ზე დაყენება შეუძლებელია" + +#: parser/parse_target.c:514 +#, c-format +msgid "cannot set a subfield to DEFAULT" +msgstr "ქვეველის DEFAULT მნიშვნელობის დაყენების შეცდომა" + +#: parser/parse_target.c:588 +#, c-format +msgid "column \"%s\" is of type %s but expression is of type %s" +msgstr "" + +#: parser/parse_target.c:780 +#, c-format +msgid "cannot assign to field \"%s\" of column \"%s\" because its type %s is not a composite type" +msgstr "" + +#: parser/parse_target.c:789 +#, c-format +msgid "cannot assign to field \"%s\" of column \"%s\" because there is no such column in data type %s" +msgstr "" + +#: parser/parse_target.c:869 +#, c-format +msgid "subscripted assignment to \"%s\" requires type %s but expression is of type %s" +msgstr "" + +#: parser/parse_target.c:879 +#, c-format +msgid "subfield \"%s\" is of type %s but expression is of type %s" +msgstr "" + +#: parser/parse_target.c:1314 +#, c-format +msgid "SELECT * with no tables specified is not valid" +msgstr "" + +#: parser/parse_type.c:100 +#, c-format +msgid "improper %%TYPE reference (too few dotted names): %s" +msgstr "" + +#: parser/parse_type.c:122 +#, c-format +msgid "improper %%TYPE reference (too many dotted names): %s" +msgstr "" + +#: parser/parse_type.c:157 +#, c-format +msgid "type reference %s converted to %s" +msgstr "ტიპის მიმართვა %s გადაყვანილია %s-ში" + +#: parser/parse_type.c:278 parser/parse_type.c:813 utils/cache/typcache.c:390 utils/cache/typcache.c:445 +#, c-format +msgid "type \"%s\" is only a shell" +msgstr "ტიპი \"%s\" მხოლოდ გარსია" + +#: parser/parse_type.c:363 +#, c-format +msgid "type modifier is not allowed for type \"%s\"" +msgstr "ტიპის მოდიფიკატორი ტიპისთვის \"%s\" დაუშვებელია" + +#: parser/parse_type.c:409 +#, c-format +msgid "type modifiers must be simple constants or identifiers" +msgstr "ტიპის მოდიფიკატორების მარტივი შეზღუდვები ან იდენტიფიკატორები უნდა იყოს" + +#: parser/parse_type.c:723 parser/parse_type.c:773 +#, c-format +msgid "invalid type name \"%s\"" +msgstr "ტიპის არასწორი სახელი: \"%s\"" + +#: parser/parse_utilcmd.c:264 +#, c-format +msgid "cannot create partitioned table as inheritance child" +msgstr "" + +#: parser/parse_utilcmd.c:580 +#, c-format +msgid "array of serial is not implemented" +msgstr "სერიალების მასივი განხორციელებული არაა" + +#: parser/parse_utilcmd.c:659 parser/parse_utilcmd.c:671 parser/parse_utilcmd.c:730 +#, c-format +msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\"" +msgstr "" + +#: parser/parse_utilcmd.c:683 +#, c-format +msgid "multiple default values specified for column \"%s\" of table \"%s\"" +msgstr "" + +#: parser/parse_utilcmd.c:700 +#, c-format +msgid "identity columns are not supported on typed tables" +msgstr "ტიპიზირებულ ცხრილებზე იდენტიფიკაციის სვეტები მხარდაჭერილი არაა" + +#: parser/parse_utilcmd.c:704 +#, c-format +msgid "identity columns are not supported on partitions" +msgstr "დანაყოფებზე იდენტიფიკაციის სვეტები მხარდაჭერილი არაა" + +#: parser/parse_utilcmd.c:713 +#, c-format +msgid "multiple identity specifications for column \"%s\" of table \"%s\"" +msgstr "" + +#: parser/parse_utilcmd.c:743 +#, c-format +msgid "generated columns are not supported on typed tables" +msgstr "ტიპიზირებულ ცხრილებზე გენერირებული სვეტები მხარდაჭერილი არაა" + +#: parser/parse_utilcmd.c:747 +#, c-format +msgid "multiple generation clauses specified for column \"%s\" of table \"%s\"" +msgstr "" + +#: parser/parse_utilcmd.c:765 parser/parse_utilcmd.c:880 +#, c-format +msgid "primary key constraints are not supported on foreign tables" +msgstr "ძირითადი გასაღების შეზღუდვები გარე ცხრილებზე მხარდაჭერილი არაა" + +#: parser/parse_utilcmd.c:774 parser/parse_utilcmd.c:890 +#, c-format +msgid "unique constraints are not supported on foreign tables" +msgstr "გარე ცხრილებზე უნიკალური შეზღუდვები მხარდაჭერილი არაა" + +#: parser/parse_utilcmd.c:819 +#, c-format +msgid "both default and identity specified for column \"%s\" of table \"%s\"" +msgstr "" + +#: parser/parse_utilcmd.c:827 +#, c-format +msgid "both default and generation expression specified for column \"%s\" of table \"%s\"" +msgstr "" + +#: parser/parse_utilcmd.c:835 +#, c-format +msgid "both identity and generation expression specified for column \"%s\" of table \"%s\"" +msgstr "" + +#: parser/parse_utilcmd.c:900 +#, c-format +msgid "exclusion constraints are not supported on foreign tables" +msgstr "" + +#: parser/parse_utilcmd.c:906 +#, c-format +msgid "exclusion constraints are not supported on partitioned tables" +msgstr "" + +#: parser/parse_utilcmd.c:971 +#, c-format +msgid "LIKE is not supported for creating foreign tables" +msgstr "გარე ცხრილების შექმნისთვის LIKE მხარდაჭერილი არაა" + +#: parser/parse_utilcmd.c:984 +#, c-format +msgid "relation \"%s\" is invalid in LIKE clause" +msgstr "პირობაში LIKE ურთიერთობა \"%s\" არასწორია" + +#: parser/parse_utilcmd.c:1741 parser/parse_utilcmd.c:1849 +#, c-format +msgid "Index \"%s\" contains a whole-row table reference." +msgstr "" + +#: parser/parse_utilcmd.c:2236 +#, c-format +msgid "cannot use an existing index in CREATE TABLE" +msgstr "'CREATE TABLE'-ში არსებულ ინდექსს ვერ გამოიყენებთ" + +#: parser/parse_utilcmd.c:2256 +#, c-format +msgid "index \"%s\" is already associated with a constraint" +msgstr "ინდექსი \"%s\" შეზღუდვასთან უკვე ასოცირებულია" + +#: parser/parse_utilcmd.c:2271 +#, c-format +msgid "index \"%s\" is not valid" +msgstr "ინდექსი არასწორია: \"%s\"" + +#: parser/parse_utilcmd.c:2277 +#, 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 +#, c-format +msgid "Cannot create a primary key or unique constraint using such an index." +msgstr "" + +#: parser/parse_utilcmd.c:2284 +#, c-format +msgid "index \"%s\" contains expressions" +msgstr "ინდექსი \"%s\" გამოსახულებებს შეიცავს" + +#: parser/parse_utilcmd.c:2291 +#, c-format +msgid "\"%s\" is a partial index" +msgstr "\"%s\" ნაწილობრივი ინდექსია" + +#: parser/parse_utilcmd.c:2303 +#, c-format +msgid "\"%s\" is a deferrable index" +msgstr "\"%s\" გადადებადი ინდექსია" + +#: parser/parse_utilcmd.c:2304 +#, c-format +msgid "Cannot create a non-deferrable constraint using a deferrable index." +msgstr "" + +#: parser/parse_utilcmd.c:2368 +#, c-format +msgid "index \"%s\" column number %d does not have default sorting behavior" +msgstr "" + +#: parser/parse_utilcmd.c:2525 +#, c-format +msgid "column \"%s\" appears twice in primary key constraint" +msgstr "" + +#: parser/parse_utilcmd.c:2531 +#, c-format +msgid "column \"%s\" appears twice in unique constraint" +msgstr "" + +#: parser/parse_utilcmd.c:2878 +#, c-format +msgid "index expressions and predicates can refer only to the table being indexed" +msgstr "" + +#: parser/parse_utilcmd.c:2950 +#, c-format +msgid "statistics expressions can refer only to the table being referenced" +msgstr "" + +#: parser/parse_utilcmd.c:2993 +#, c-format +msgid "rules on materialized views are not supported" +msgstr "მატერიალიზებულ ხედებზე წესები მხარდაჭერილი არაა" + +#: parser/parse_utilcmd.c:3053 +#, c-format +msgid "rule WHERE condition cannot contain references to other relations" +msgstr "" + +#: parser/parse_utilcmd.c:3125 +#, c-format +msgid "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE actions" +msgstr "" + +#: parser/parse_utilcmd.c:3143 parser/parse_utilcmd.c:3244 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 +#, c-format +msgid "ON SELECT rule cannot use OLD" +msgstr "ON SELECT წესში OLD-ს ვერ გამოიყენებთ" + +#: parser/parse_utilcmd.c:3165 +#, c-format +msgid "ON SELECT rule cannot use NEW" +msgstr "ON SELECT წესში NEW-ს ვერ გამოიყენებთ" + +#: parser/parse_utilcmd.c:3174 +#, c-format +msgid "ON INSERT rule cannot use OLD" +msgstr "ON INSERT წესში OLD-ს ვერ გამოიყენებთ" + +#: parser/parse_utilcmd.c:3180 +#, c-format +msgid "ON DELETE rule cannot use NEW" +msgstr "ON DELETE წესში NEW-ს ვერ გამოიყენებთ" + +#: parser/parse_utilcmd.c:3208 +#, c-format +msgid "cannot refer to OLD within WITH query" +msgstr "'WITH' მოთხოვნაში OLD-ზე მიმართვა შეუძლებელია" + +#: parser/parse_utilcmd.c:3215 +#, c-format +msgid "cannot refer to NEW within WITH query" +msgstr "'WITH' მოთხოვნაში NEW-ზე მიმართვა შეუძლებელია" + +#: parser/parse_utilcmd.c:3667 +#, c-format +msgid "misplaced DEFERRABLE clause" +msgstr "არასწორ ადგილას დასმული DEFERRABLE პირობა" + +#: parser/parse_utilcmd.c:3672 parser/parse_utilcmd.c:3687 +#, c-format +msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed" +msgstr "ერთზე მეტი DEFERRABLE/NOT DEFERRABLE პირობა დაშვებული არაა" + +#: parser/parse_utilcmd.c:3682 +#, c-format +msgid "misplaced NOT DEFERRABLE clause" +msgstr "არასწორ ადგილას დასმული NOT DEFERRABLE პირობა" + +#: parser/parse_utilcmd.c:3703 +#, c-format +msgid "misplaced INITIALLY DEFERRED clause" +msgstr "არასწორ ადგილას დასმული INITIALLY DEFERRABLE პირობა" + +#: parser/parse_utilcmd.c:3708 parser/parse_utilcmd.c:3734 +#, c-format +msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed" +msgstr "ერთზე მეტი INITIALLY IMMEDIATE/DEFERRED დაშვებული არაა" + +#: parser/parse_utilcmd.c:3729 +#, c-format +msgid "misplaced INITIALLY IMMEDIATE clause" +msgstr "არასწორ ადგილას დასმული INITIALLY IMMEDIATE პირობა" + +#: parser/parse_utilcmd.c:3922 +#, c-format +msgid "CREATE specifies a schema (%s) different from the one being created (%s)" +msgstr "" + +#: parser/parse_utilcmd.c:3957 +#, c-format +msgid "\"%s\" is not a partitioned table" +msgstr "\"%s\" დაყოფილი ცხრილი არაა" + +#: parser/parse_utilcmd.c:3964 +#, c-format +msgid "table \"%s\" is not partitioned" +msgstr "ცხრილი \"%s\" დაყოფილი არაა" + +#: parser/parse_utilcmd.c:3971 +#, c-format +msgid "index \"%s\" is not partitioned" +msgstr "ინდექსი \"%s\" დაყოფილი არაა" + +#: parser/parse_utilcmd.c:4011 +#, c-format +msgid "a hash-partitioned table may not have a default partition" +msgstr "" + +#: parser/parse_utilcmd.c:4028 +#, c-format +msgid "invalid bound specification for a hash partition" +msgstr "" + +#: parser/parse_utilcmd.c:4034 partitioning/partbounds.c:4803 +#, c-format +msgid "modulus for hash partition must be an integer value greater than zero" +msgstr "" + +#: parser/parse_utilcmd.c:4041 partitioning/partbounds.c:4811 +#, c-format +msgid "remainder for hash partition must be less than modulus" +msgstr "" + +#: parser/parse_utilcmd.c:4054 +#, c-format +msgid "invalid bound specification for a list partition" +msgstr "" + +#: parser/parse_utilcmd.c:4107 +#, c-format +msgid "invalid bound specification for a range partition" +msgstr "" + +#: parser/parse_utilcmd.c:4113 +#, c-format +msgid "FROM must specify exactly one value per partitioning column" +msgstr "" + +#: parser/parse_utilcmd.c:4117 +#, c-format +msgid "TO must specify exactly one value per partitioning column" +msgstr "" + +#: parser/parse_utilcmd.c:4231 +#, c-format +msgid "cannot specify NULL in range bound" +msgstr "დიაპაზონის საზღვრებში NULL-ის მითითება შეუძლებელია" + +#: parser/parse_utilcmd.c:4280 +#, c-format +msgid "every bound following MAXVALUE must also be MAXVALUE" +msgstr "ყოველი MAXVALUE საზღვის შემდეგ ყველა MAXVALUE უნდა იყოს" + +#: parser/parse_utilcmd.c:4287 +#, c-format +msgid "every bound following MINVALUE must also be MINVALUE" +msgstr "ყოველი MINVALUE საზღვის შემდეგ ყველა MINVALUE უნდა იყოს" + +#: parser/parse_utilcmd.c:4330 +#, c-format +msgid "specified value cannot be cast to type %s for column \"%s\"" +msgstr "" + +#: parser/parser.c:273 +msgid "UESCAPE must be followed by a simple string literal" +msgstr "" + +#: parser/parser.c:278 +msgid "invalid Unicode escape character" +msgstr "უნიკოდის სპეცკოდის არასწორი სიმბოლო" + +#: parser/parser.c:347 scan.l:1390 +#, c-format +msgid "invalid Unicode escape value" +msgstr "უნიკოდის სპეცკოდის არასწორი მნიშვნელობა" + +#: parser/parser.c:494 scan.l:701 utils/adt/varlena.c:6505 +#, c-format +msgid "invalid Unicode escape" +msgstr "უნიკოდის არასწორი სპეცკოდი" + +#: parser/parser.c:495 +#, c-format +msgid "Unicode escapes must be \\XXXX or \\+XXXXXX." +msgstr "უნიკოდის სპეცკოდების შესაძლო ვარიანტებია \\XXXX და \\+XXXXXXXX." + +#: parser/parser.c:523 scan.l:662 scan.l:678 scan.l:694 utils/adt/varlena.c:6530 +#, c-format +msgid "invalid Unicode surrogate pair" +msgstr "უნკოდის არასწორი სუროგატული წყვილი" + +#: parser/scansup.c:101 +#, c-format +msgid "identifier \"%s\" will be truncated to \"%.*s\"" +msgstr "" + +#: partitioning/partbounds.c:2921 +#, c-format +msgid "partition \"%s\" conflicts with existing default partition \"%s\"" +msgstr "" + +#: partitioning/partbounds.c:2973 partitioning/partbounds.c:2992 partitioning/partbounds.c:3014 +#, c-format +msgid "every hash partition modulus must be a factor of the next larger modulus" +msgstr "" + +#: partitioning/partbounds.c:2974 partitioning/partbounds.c:3015 +#, c-format +msgid "The new modulus %d is not a factor of %d, the modulus of existing partition \"%s\"." +msgstr "" + +#: partitioning/partbounds.c:2993 +#, c-format +msgid "The new modulus %d is not divisible by %d, the modulus of existing partition \"%s\"." +msgstr "" + +#: partitioning/partbounds.c:3128 +#, c-format +msgid "empty range bound specified for partition \"%s\"" +msgstr "" + +#: partitioning/partbounds.c:3130 +#, c-format +msgid "Specified lower bound %s is greater than or equal to upper bound %s." +msgstr "" + +#: partitioning/partbounds.c:3238 +#, c-format +msgid "partition \"%s\" would overlap partition \"%s\"" +msgstr "დანაყოფი \"%s\" გადაფარავდა დანაყოფს \"%s\"" + +#: partitioning/partbounds.c:3355 +#, c-format +msgid "skipped scanning foreign table \"%s\" which is a partition of default partition \"%s\"" +msgstr "" + +#: partitioning/partbounds.c:4807 +#, c-format +msgid "remainder for hash partition must be an integer value greater than or equal to zero" +msgstr "" + +#: partitioning/partbounds.c:4831 +#, c-format +msgid "\"%s\" is not a hash partitioned table" +msgstr "\"%s\" ჰეშით დაყოფილი ცხრილია" + +#: partitioning/partbounds.c:4842 partitioning/partbounds.c:4959 +#, c-format +msgid "number of partitioning columns (%d) does not match number of partition keys provided (%d)" +msgstr "დამყოფი სვეტების რაოდენობა (%d) მოწოდებული დაყოფის გასაღებების რაოდენობას (%d) არ ემთხვევა" + +#: partitioning/partbounds.c:4864 +#, c-format +msgid "column %d of the partition key has type %s, but supplied value is of type %s" +msgstr "" + +#: partitioning/partbounds.c:4896 +#, c-format +msgid "column %d of the partition key has type \"%s\", but supplied value is of type \"%s\"" +msgstr "" + +#: port/pg_sema.c:209 port/pg_shmem.c:708 port/posix_sema.c:209 port/sysv_sema.c:323 port/sysv_shmem.c:708 +#, c-format +msgid "could not stat data directory \"%s\": %m" +msgstr "მონაცემების საქაღალდის (%s) პოვნა შეუძლებელია: %m" + +#: port/pg_shmem.c:223 port/sysv_shmem.c:223 +#, c-format +msgid "could not create shared memory segment: %m" +msgstr "გაზიარებული მეხსიერების სეგმენტის შექმნა შეუძლებელია: %m" + +#: port/pg_shmem.c:224 port/sysv_shmem.c:224 +#, c-format +msgid "Failed system call was shmget(key=%lu, size=%zu, 0%o)." +msgstr "შეცდომის მქონე სისტემური ფუნქცია იყო shmget(გასაღები=%lu, ზომა=%zu, 0%o)." + +#: port/pg_shmem.c:228 port/sysv_shmem.c:228 +#, c-format +msgid "" +"This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter, or possibly that it is less than your kernel's SHMMIN parameter.\n" +"The PostgreSQL documentation contains more information about shared memory configuration." +msgstr "" + +#: port/pg_shmem.c:235 port/sysv_shmem.c:235 +#, c-format +msgid "" +"This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMALL parameter. You might need to reconfigure the kernel with larger SHMALL.\n" +"The PostgreSQL documentation contains more information about shared memory configuration." +msgstr "" + +#: port/pg_shmem.c:241 port/sysv_shmem.c:241 +#, c-format +msgid "" +"This error does *not* mean that you have run out of disk space. It occurs either if all available shared memory IDs have been taken, in which case you need to raise the SHMMNI parameter in your kernel, or because the system's overall limit for shared memory has been reached.\n" +"The PostgreSQL documentation contains more information about shared memory configuration." +msgstr "" + +#: port/pg_shmem.c:583 port/sysv_shmem.c:583 port/win32_shmem.c:641 +#, c-format +msgid "huge_page_size must be 0 on this platform." +msgstr "ამ პლატფორმაზე huge_page_size 0 უნდა იყოს." + +#: port/pg_shmem.c:646 port/sysv_shmem.c:646 +#, c-format +msgid "could not map anonymous shared memory: %m" +msgstr "ანონიმური გაზიარებული მეხსიერების მიბმა შეუძლებელია: %m" + +#: port/pg_shmem.c:648 port/sysv_shmem.c:648 +#, c-format +msgid "This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory, swap space, or huge pages. To reduce the request size (currently %zu bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections." +msgstr "ეს შეცდომა ჩვეულებრივ ნიშნავს, რომ PostgreSQL-ის მოთხოვნა გაზიარებული მეხსიერების სეგმენტის გამოსათხოვად ხელმისაწვდომ მეხსიერებაზე, სვოპის ადგილზე ან უზარმაზარ გვერდებზე დიდია. ამ მოთხოვნის ზომის შესამცირებლად შეამცირეთ (ამჟამად %zu ბაიტი) PostgreSQL-ის გაზიარებული მეხსიერების გამოყენება, ალბათ shared_buffers-ის ან max_connections-ის შემცირებით." + +#: port/pg_shmem.c:716 port/sysv_shmem.c:716 +#, c-format +msgid "huge pages not supported on this platform" +msgstr "ამ პლატფორმაზე უზარმაზარი გვერდები მხარდაჭერილი არაა" + +#: port/pg_shmem.c:723 port/sysv_shmem.c:723 +#, c-format +msgid "huge pages not supported with the current shared_memory_type setting" +msgstr "shared_memory_type პარამეტრთან ერთად უზარმაზარი გვერდები მხარდაჭერილი არაა" + +#: port/pg_shmem.c:783 port/sysv_shmem.c:783 utils/init/miscinit.c:1351 +#, c-format +msgid "pre-existing shared memory block (key %lu, ID %lu) is still in use" +msgstr "უკვე არსებული გაზიარებული მეხსიერების ბლოკი (გასაღები %lu, ID %lu) ჯერ კიდევ გამოიყენება" + +#: port/pg_shmem.c:786 port/sysv_shmem.c:786 utils/init/miscinit.c:1353 +#, c-format +msgid "Terminate any old server processes associated with data directory \"%s\"." +msgstr "" + +#: port/sysv_sema.c:120 +#, c-format +msgid "could not create semaphores: %m" +msgstr "სემაფორების შექმნის შეცდომა: %m" + +#: port/sysv_sema.c:121 +#, c-format +msgid "Failed system call was semget(%lu, %d, 0%o)." +msgstr "ავარიული სისტემური ფუნქცია იყო semget(%lu, %d, 0%o)." + +#: port/sysv_sema.c:125 +#, c-format +msgid "" +"This error does *not* mean that you have run out of disk space. It occurs when either the system limit for the maximum number of semaphore sets (SEMMNI), or the system wide maximum number of semaphores (SEMMNS), would be exceeded. You need to raise the respective kernel parameter. Alternatively, reduce PostgreSQL's consumption of semaphores by reducing its max_connections parameter.\n" +"The PostgreSQL documentation contains more information about configuring your system for PostgreSQL." +msgstr "" + +#: port/sysv_sema.c:155 +#, c-format +msgid "You possibly need to raise your kernel's SEMVMX value to be at least %d. Look into the PostgreSQL documentation for details." +msgstr "" + +#: port/win32/crashdump.c:119 +#, c-format +msgid "could not load dbghelp.dll, cannot write crash dump\n" +msgstr "dbghelp.dll-ის ჩატვირთვის შეცდომა. ავარიის დამპს ვერ ჩავწერ\n" + +#: port/win32/crashdump.c:127 +#, c-format +msgid "could not load required functions in dbghelp.dll, cannot write crash dump\n" +msgstr "dbghelp.dll-დან აუცილებელი ფუნქციების ჩატვირთვის შეცდომა. ავარიის დამპს ვერ ჩავწერ\n" + +#: port/win32/crashdump.c:158 +#, c-format +msgid "could not open crash dump file \"%s\" for writing: error code %lu\n" +msgstr "ავარიის დამპის ფაილის \"%s\" ჩასაწერად გახსნა შეუძლებელია: შეცდომის კოდი %lu\n" + +#: port/win32/crashdump.c:165 +#, c-format +msgid "wrote crash dump to file \"%s\"\n" +msgstr "ავარიის დამპი ჩაიწერა ფაილში \"%s\"\n" + +#: port/win32/crashdump.c:167 +#, c-format +msgid "could not write crash dump to file \"%s\": error code %lu\n" +msgstr "ავარის დამპის ფაილში \"%s\" ჩაწერა შეუძლებელია: შეცდომის კოდი %lu\n" + +#: port/win32/signal.c:240 +#, c-format +msgid "could not create signal listener pipe for PID %d: error code %lu" +msgstr "" + +#: port/win32/signal.c:295 +#, c-format +msgid "could not create signal listener pipe: error code %lu; retrying\n" +msgstr "" + +#: port/win32_sema.c:104 +#, c-format +msgid "could not create semaphore: error code %lu" +msgstr "სემაფორის შექმნა შეუძლებელია. შეცდომის კოდი %lu" + +#: port/win32_sema.c:180 +#, c-format +msgid "could not lock semaphore: error code %lu" +msgstr "სემაფორის დაბლოკვა შეუძლებელია. შეცდომის კოდი %lu" + +#: port/win32_sema.c:200 +#, c-format +msgid "could not unlock semaphore: error code %lu" +msgstr "სემაფორის განბლოკვა შეუძლებელია. შეცდომის კოდი %lu" + +#: port/win32_sema.c:230 +#, c-format +msgid "could not try-lock semaphore: error code %lu" +msgstr "" + +#: port/win32_shmem.c:146 port/win32_shmem.c:161 port/win32_shmem.c:173 port/win32_shmem.c:189 +#, c-format +msgid "could not enable user right \"%s\": error code %lu" +msgstr "მომხმარებლის უფლების ჩართვის შეცდომა: %s შეცდომის კოდი: %lu" + +#. translator: This is a term from Windows and should be translated to +#. match the Windows localization. +#. +#: port/win32_shmem.c:152 port/win32_shmem.c:161 port/win32_shmem.c:173 port/win32_shmem.c:184 port/win32_shmem.c:186 port/win32_shmem.c:189 +msgid "Lock pages in memory" +msgstr "გვერდების დაბლოკვა მეხსიერებაში" + +#: port/win32_shmem.c:154 port/win32_shmem.c:162 port/win32_shmem.c:174 port/win32_shmem.c:190 +#, c-format +msgid "Failed system call was %s." +msgstr "წარუმატებელი სისტემური ფუნქცია: %s." + +#: port/win32_shmem.c:184 +#, c-format +msgid "could not enable user right \"%s\"" +msgstr "მომხმარებლის უფლების ჩართვის შეცდომა: %s" + +#: port/win32_shmem.c:185 +#, c-format +msgid "Assign user right \"%s\" to the Windows user account which runs PostgreSQL." +msgstr "" + +#: port/win32_shmem.c:244 +#, c-format +msgid "the processor does not support large pages" +msgstr "პროცესორს დიდი გვერდების მხარდაჭერა არ გააჩნია" + +#: port/win32_shmem.c:313 port/win32_shmem.c:349 port/win32_shmem.c:374 +#, c-format +msgid "could not create shared memory segment: error code %lu" +msgstr "" + +#: port/win32_shmem.c:314 +#, c-format +msgid "Failed system call was CreateFileMapping(size=%zu, name=%s)." +msgstr "" + +#: port/win32_shmem.c:339 +#, c-format +msgid "pre-existing shared memory block is still in use" +msgstr "წინასწარ არსებული გაზიარებული მეხსიერების ბლოკ ჯერ კიდევ გამოიყენება" + +#: port/win32_shmem.c:340 +#, c-format +msgid "Check if there are any old server processes still running, and terminate them." +msgstr "" + +#: port/win32_shmem.c:350 +#, c-format +msgid "Failed system call was DuplicateHandle." +msgstr "წარუმატებლად გამოძახებული სისტემური ფუნქცია: DuplicateHandle." + +#: port/win32_shmem.c:375 +#, c-format +msgid "Failed system call was MapViewOfFileEx." +msgstr "წარუმატებლად გამოძახებული სისტემური ფუნქცია: MapViewOfFileEx." + +#: postmaster/autovacuum.c:417 +#, c-format +msgid "could not fork autovacuum launcher process: %m" +msgstr "გამშვების პროცესის ავტომომტვერსასრუტების პრობლემა: %m" + +#: postmaster/autovacuum.c:764 +#, c-format +msgid "autovacuum worker took too long to start; canceled" +msgstr "ავტომომტვერსასრუტების დამხმარე პროცესის გაშვებას მეტისმეტად დიდი დრო მოუნდა. ის გაუქმდა" + +#: postmaster/autovacuum.c:1489 +#, c-format +msgid "could not fork autovacuum worker process: %m" +msgstr "ავტომომტვერსასრუტების დამხმარე პროცესის ფორკის შეცდომა: %m" + +#: postmaster/autovacuum.c:2334 +#, c-format +msgid "autovacuum: dropping orphan temp table \"%s.%s.%s\"" +msgstr "ავტომომტვერსასრუტება: წაიშლება მიტოვებული დროებითი ცხრილი \"%s.%s.%s\"" + +#: postmaster/autovacuum.c:2570 +#, c-format +msgid "automatic vacuum of table \"%s.%s.%s\"" +msgstr "ცხრილის ავტოდამტვერსასრუტება: \"%s.%s.%s\"" + +#: postmaster/autovacuum.c:2573 +#, c-format +msgid "automatic analyze of table \"%s.%s.%s\"" +msgstr "ცხრილის ავტოანალიზი: \"%s.%s.%s\"" + +#: postmaster/autovacuum.c:2767 +#, c-format +msgid "processing work entry for relation \"%s.%s.%s\"" +msgstr "" + +#: postmaster/autovacuum.c:3381 +#, c-format +msgid "autovacuum not started because of misconfiguration" +msgstr "ავტომომტვერსასრუტება არ გაშვებულა კონფიგურაციის შეცდომის გამო" + +#: postmaster/autovacuum.c:3382 +#, c-format +msgid "Enable the \"track_counts\" option." +msgstr "ჩართეთ \"track_counts\" პარამეტრი." + +#: postmaster/bgworker.c:259 +#, c-format +msgid "inconsistent background worker state (max_worker_processes=%d, total_slots=%d)" +msgstr "" + +#: postmaster/bgworker.c:669 +#, c-format +msgid "background worker \"%s\": background workers without shared memory access are not supported" +msgstr "" + +#: postmaster/bgworker.c:680 +#, c-format +msgid "background worker \"%s\": cannot request database access if starting at postmaster start" +msgstr "" + +#: postmaster/bgworker.c:694 +#, c-format +msgid "background worker \"%s\": invalid restart interval" +msgstr "ფონური დამხმარე პროცესი \"%s\": არასწორი გადატვირთვის ინტერვალი" + +#: postmaster/bgworker.c:709 +#, c-format +msgid "background worker \"%s\": parallel workers may not be configured for restart" +msgstr "" + +#: postmaster/bgworker.c:733 tcop/postgres.c:3255 +#, c-format +msgid "terminating background worker \"%s\" due to administrator command" +msgstr "" + +#: postmaster/bgworker.c:890 +#, c-format +msgid "background worker \"%s\": must be registered in shared_preload_libraries" +msgstr "ფონური დამხმარე პროცესი \"%s\": shared_preload_libraries-ში დარეგისტრირებული უნდა იყოს" + +#: postmaster/bgworker.c:902 +#, c-format +msgid "background worker \"%s\": only dynamic background workers can request notification" +msgstr "ფონური დახმამრე პროცესი \"%s\": გაფრთხილების მოთხოვნა მხოლოდ დინამიკურ ფონურ დამხმარე პროცესებს შეუძლიათ" + +#: postmaster/bgworker.c:917 +#, c-format +msgid "too many background workers" +msgstr "მეტისმეტად ბევრი ფონური დამხმარე პროცესი" + +#: postmaster/bgworker.c:918 +#, c-format +msgid "Up to %d background worker can be registered with the current settings." +msgid_plural "Up to %d background workers can be registered with the current settings." +msgstr[0] "" +msgstr[1] "" + +#: postmaster/bgworker.c:922 +#, c-format +msgid "Consider increasing the configuration parameter \"max_worker_processes\"." +msgstr "გაითვალისწინეთ, რომ შეიძლება კონფიგურაციის პარამეტრის \"max_worker_processes\" გაზრდა გჭირდებათ." + +#: postmaster/checkpointer.c:431 +#, c-format +msgid "checkpoints are occurring too frequently (%d second apart)" +msgid_plural "checkpoints are occurring too frequently (%d seconds apart)" +msgstr[0] "საკონტროლო წერტილები მეტისმეტად ხშირად ხდება (%d წამიანი შუალედით)" +msgstr[1] "საკონტროლო წერტილები მეტისმეტად ხშირად ხდება (%d წამიანი შუალედით)" + +#: postmaster/checkpointer.c:435 +#, c-format +msgid "Consider increasing the configuration parameter \"max_wal_size\"." +msgstr "გაითვალისწინეთ, რომ შეიძლება კონფიგურაციის პარამეტრის \"max_wal_size\" გაზრდა გჭირდებათ." + +#: postmaster/checkpointer.c:1059 +#, c-format +msgid "checkpoint request failed" +msgstr "საკონტროლო წერტილის მოთხოვნის შეცდომა" + +#: postmaster/checkpointer.c:1060 +#, c-format +msgid "Consult recent messages in the server log for details." +msgstr "დეტალებისთვის იხილეთ სერვერის ჟურნალის უახლესი შეტყობინებები." + +#: postmaster/pgarch.c:416 +#, c-format +msgid "archive_mode enabled, yet archiving is not configured" +msgstr "archive_mode ჩართულია, მაგრამ დაარქივება ჯერ მორგებული არაა" + +#: postmaster/pgarch.c:438 +#, c-format +msgid "removed orphan archive status file \"%s\"" +msgstr "წაიშალა მიტოვებული არქივის სტატუსის ფაილი \"%s\"" + +#: postmaster/pgarch.c:448 +#, c-format +msgid "removal of orphan archive status file \"%s\" failed too many times, will try again later" +msgstr "" + +#: postmaster/pgarch.c:484 +#, c-format +msgid "archiving write-ahead log file \"%s\" failed too many times, will try again later" +msgstr "" + +#: postmaster/pgarch.c:791 postmaster/pgarch.c:830 +#, c-format +msgid "both archive_command and archive_library set" +msgstr "დაყენებულია ორივე, archive_command და archive_library" + +#: postmaster/pgarch.c:792 postmaster/pgarch.c:831 +#, c-format +msgid "Only one of archive_command, archive_library may be set." +msgstr "" + +#: postmaster/pgarch.c:809 +#, c-format +msgid "restarting archiver process because value of \"archive_library\" was changed" +msgstr "" + +#: postmaster/pgarch.c:846 +#, c-format +msgid "archive modules have to define the symbol %s" +msgstr "" + +#: postmaster/pgarch.c:852 +#, c-format +msgid "archive modules must register an archive callback" +msgstr "" + +#: postmaster/postmaster.c:759 +#, c-format +msgid "%s: invalid argument for option -f: \"%s\"\n" +msgstr "%s: -f პარამეტრის არასწორი არგუმენტი: \"%s\"\n" + +#: postmaster/postmaster.c:832 +#, c-format +msgid "%s: invalid argument for option -t: \"%s\"\n" +msgstr "%s: -t პარამეტრის არასწორი არგუმენტი: \"%s\"\n" + +#: postmaster/postmaster.c:855 +#, c-format +msgid "%s: invalid argument: \"%s\"\n" +msgstr "%s: არასწორი არგუმენტი: \"%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 "" + +#: postmaster/postmaster.c:931 +#, c-format +msgid "WAL archival cannot be enabled when wal_level is \"minimal\"" +msgstr "" + +#: postmaster/postmaster.c:934 +#, c-format +msgid "WAL streaming (max_wal_senders > 0) requires wal_level \"replica\" or \"logical\"" +msgstr "" + +#: postmaster/postmaster.c:942 +#, c-format +msgid "%s: invalid datetoken tables, please fix\n" +msgstr "" + +#: postmaster/postmaster.c:1099 +#, c-format +msgid "could not create I/O completion port for child queue" +msgstr "" + +#: postmaster/postmaster.c:1164 +#, c-format +msgid "ending log output to stderr" +msgstr "ჟურნალის stderr-ზე გამოტანის დასრულება" + +#: postmaster/postmaster.c:1165 +#, c-format +msgid "Future log output will go to log destination \"%s\"." +msgstr "" + +#: postmaster/postmaster.c:1176 +#, c-format +msgid "starting %s" +msgstr "\"%s\"-ის გაშვება" + +#: postmaster/postmaster.c:1236 +#, c-format +msgid "could not create listen socket for \"%s\"" +msgstr "მოსმენის სოკეტის შექმნა \"%s\"-სთვის შეუძლებელია" + +#: postmaster/postmaster.c:1242 +#, c-format +msgid "could not create any TCP/IP sockets" +msgstr "\"TCP/IP\" სოკეტების შექმნის შეცდომა" + +#: postmaster/postmaster.c:1274 +#, c-format +msgid "DNSServiceRegister() failed: error code %ld" +msgstr "DNSServiceRegister()-ის შეცდომა: შეცდომის კოდი %ld" + +#: postmaster/postmaster.c:1325 +#, c-format +msgid "could not create Unix-domain socket in directory \"%s\"" +msgstr "შეცდომა Unix სოკეტის შექმნისას საქაღალდეში \"%s\"" + +#: postmaster/postmaster.c:1331 +#, c-format +msgid "could not create any Unix-domain sockets" +msgstr "\"Unix-domain\" სოკეტების შექმნის შეცდომა" + +#: postmaster/postmaster.c:1342 +#, c-format +msgid "no socket created for listening" +msgstr "მოსასმენი სოკეტი არ შექმნილა" + +#: postmaster/postmaster.c:1373 +#, c-format +msgid "%s: could not change permissions of external PID file \"%s\": %s\n" +msgstr "%s: გარე PID ფაილის \"%s\" წვდომების შეცვლა შეუძლებელია: %s\n" + +#: postmaster/postmaster.c:1377 +#, c-format +msgid "%s: could not write external PID file \"%s\": %s\n" +msgstr "%s: გარე PID ფაილის ჩაწერის შეცდომა \"%s\": %s\n" + +#. translator: %s is a configuration file +#: postmaster/postmaster.c:1405 utils/init/postinit.c:221 +#, c-format +msgid "could not load %s" +msgstr "%s-ის ჩატვირთვა შეუძლებელია" + +#: postmaster/postmaster.c:1431 +#, c-format +msgid "postmaster became multithreaded during startup" +msgstr "პროცესი postmaster გაშვებისას მრავალნაკადიანი გახდა" + +#: postmaster/postmaster.c:1432 +#, c-format +msgid "Set the LC_ALL environment variable to a valid locale." +msgstr "დააყენეთ LC_ALL გარემოს ცვლადი სწორ ლოკალზე." + +#: postmaster/postmaster.c:1533 +#, c-format +msgid "%s: could not locate my own executable path" +msgstr "%s: ჩემი საკუთარი გამშვები ფაილის ბილიკის მოძებნა შეუძლებელია" + +#: postmaster/postmaster.c:1540 +#, c-format +msgid "%s: could not locate matching postgres executable" +msgstr "%s: გამშვები ფაილი postgres ვერ ვიპოვე" + +#: postmaster/postmaster.c:1563 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 "" + +#: postmaster/postmaster.c:1590 +#, c-format +msgid "" +"%s: could not find the database system\n" +"Expected to find it in the directory \"%s\",\n" +"but could not open file \"%s\": %s\n" +msgstr "" + +#. translator: %s is SIGKILL or SIGABRT +#: postmaster/postmaster.c:1887 +#, c-format +msgid "issuing %s to recalcitrant children" +msgstr "" + +#: postmaster/postmaster.c:1909 +#, c-format +msgid "performing immediate shutdown because data directory lock file is invalid" +msgstr "" + +#: postmaster/postmaster.c:1984 postmaster/postmaster.c:2012 +#, c-format +msgid "incomplete startup packet" +msgstr "გაშვების დაუსრულებელი პაკეტი" + +#: postmaster/postmaster.c:1996 postmaster/postmaster.c:2029 +#, c-format +msgid "invalid length of startup packet" +msgstr "გაშვების პაკეტის არასწორი სიგრძე" + +#: postmaster/postmaster.c:2058 +#, c-format +msgid "failed to send SSL negotiation response: %m" +msgstr "შეცდომა SSL მოლაპარაკების პასუხის გაგზავნისას: %m" + +#: postmaster/postmaster.c:2076 +#, c-format +msgid "received unencrypted data after SSL request" +msgstr "'SSL'-ის მოთხოვნის შემდეგ მიღებულია დაუშიფრავი მონაცემები" + +#: postmaster/postmaster.c:2077 postmaster/postmaster.c:2121 +#, c-format +msgid "This could be either a client-software bug or evidence of an attempted man-in-the-middle attack." +msgstr "" + +#: postmaster/postmaster.c:2102 +#, c-format +msgid "failed to send GSSAPI negotiation response: %m" +msgstr "შეცდომა GSSAPI მოლაპარაკების პასუხის გაგზავნისას: %m" + +#: postmaster/postmaster.c:2120 +#, c-format +msgid "received unencrypted data after GSSAPI encryption request" +msgstr "'GSSAPI' დაშიფვრის მოთხოვნის შემდეგ მიღებული მონაცემები დაუშიფრავია" + +#: postmaster/postmaster.c:2144 +#, c-format +msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u" +msgstr "" + +#: postmaster/postmaster.c:2211 +#, c-format +msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"." +msgstr "სწორი მნიშვნელობებია: \"false\", 0, \"true\", 1, \"database\"." + +#: postmaster/postmaster.c:2252 +#, c-format +msgid "invalid startup packet layout: expected terminator as last byte" +msgstr "" + +#: postmaster/postmaster.c:2269 +#, c-format +msgid "no PostgreSQL user name specified in startup packet" +msgstr "გაშვების პაკეტში PostgreSQL-ის მომხმარებლის სახელი მითითებული არაა" + +#: postmaster/postmaster.c:2333 +#, c-format +msgid "the database system is starting up" +msgstr "მიმდინარეობს მონაცემთა ბაზის სისტემის გაშვება" + +#: postmaster/postmaster.c:2339 +#, c-format +msgid "the database system is not yet accepting connections" +msgstr "მონაცემთა ბაზის სისტემა ჯერ მიერთებებს არ იღებს" + +#: postmaster/postmaster.c:2340 +#, c-format +msgid "Consistent recovery state has not been yet reached." +msgstr "" + +#: postmaster/postmaster.c:2344 +#, c-format +msgid "the database system is not accepting connections" +msgstr "მონაცემთა ბაზის სისტემა მიერთებებს არ იღებს" + +#: postmaster/postmaster.c:2345 +#, c-format +msgid "Hot standby mode is disabled." +msgstr "ცხელი ლოდინის რეჟიმი გამორთულია." + +#: postmaster/postmaster.c:2350 +#, c-format +msgid "the database system is shutting down" +msgstr "მონაცემთა ბაზის სისტემა ითიშება" + +#: postmaster/postmaster.c:2355 +#, c-format +msgid "the database system is in recovery mode" +msgstr "მონაცემთა ბაზის სისტემა აღდგენის რეჟიმშია" + +#: postmaster/postmaster.c:2360 storage/ipc/procarray.c:491 storage/ipc/sinvaladt.c:306 storage/lmgr/proc.c:353 +#, c-format +msgid "sorry, too many clients already" +msgstr "უკაცრავად, უკვე მეტისმეტად ბევრი კლიენტია" + +#: postmaster/postmaster.c:2447 +#, c-format +msgid "wrong key in cancel request for process %d" +msgstr "არასწორი გასაღები გაუქმების მოთხოვნაში პროცესისთვის %d" + +#: postmaster/postmaster.c:2459 +#, c-format +msgid "PID %d in cancel request did not match any process" +msgstr "PID %d, მოთხოვნილი გაუქმების მოთხოვნაში, არც ერთ პროცესს არ ემთხვევა" + +#: postmaster/postmaster.c:2726 +#, c-format +msgid "received SIGHUP, reloading configuration files" +msgstr "მიღებულია SIGHUP, მიმდინარეობს კონფიგურაციის ფაილების თავიდან ჩატვირთვა" + +#. translator: %s is a configuration file +#: postmaster/postmaster.c:2750 postmaster/postmaster.c:2754 +#, c-format +msgid "%s was not reloaded" +msgstr "%s არ გადატვირთულა" + +#: postmaster/postmaster.c:2764 +#, c-format +msgid "SSL configuration was not reloaded" +msgstr "SSL კონფიგურაცია არ იყო გადატვირთული" + +#: postmaster/postmaster.c:2854 +#, c-format +msgid "received smart shutdown request" +msgstr "მიღებულია ჭკვიანი გამორთვის მოთხოვნა" + +#: postmaster/postmaster.c:2895 +#, c-format +msgid "received fast shutdown request" +msgstr "მიღებულია სწრაფი გამორთვის მოთხოვნა" + +#: postmaster/postmaster.c:2913 +#, c-format +msgid "aborting any active transactions" +msgstr "ყველა აქტიური ტრანზაქციის შეწყვეტა" + +#: postmaster/postmaster.c:2937 +#, c-format +msgid "received immediate shutdown request" +msgstr "მიღებულია დაუყოვნებლივი გამორთვის მოთხოვნა" + +#: postmaster/postmaster.c:3013 +#, c-format +msgid "shutdown at recovery target" +msgstr "გამორთვა აღდგენის სამიზნეზე" + +#: postmaster/postmaster.c:3031 postmaster/postmaster.c:3067 +msgid "startup process" +msgstr "გაშვების პროცესი" + +#: postmaster/postmaster.c:3034 +#, c-format +msgid "aborting startup due to startup process failure" +msgstr "გაშვების გაუქმება გაშვების პროცესის შეცდომის გამო" + +#: postmaster/postmaster.c:3107 +#, c-format +msgid "database system is ready to accept connections" +msgstr "მონაცემთა ბაზის სისტემა მზადაა შეერთებების მისაღებად" + +#: postmaster/postmaster.c:3128 +msgid "background writer process" +msgstr "ფონური ჩამწერი პროცესი" + +#: postmaster/postmaster.c:3175 +msgid "checkpointer process" +msgstr "საკონტროლო წერტილის პროცესი" + +#: postmaster/postmaster.c:3191 +msgid "WAL writer process" +msgstr "WAL-ის ჩამწერი პროცესი" + +#: postmaster/postmaster.c:3206 +msgid "WAL receiver process" +msgstr "WAL-ის მიმღები პროცესი" + +#: postmaster/postmaster.c:3221 +msgid "autovacuum launcher process" +msgstr "ავტომომტვერსასრუტების გამშვები პროცესი" + +#: postmaster/postmaster.c:3239 +msgid "archiver process" +msgstr "არქივის პროცესი" + +#: postmaster/postmaster.c:3252 +msgid "system logger process" +msgstr "სისტემური ჟურნალის პროცესი" + +#: postmaster/postmaster.c:3309 +#, c-format +msgid "background worker \"%s\"" +msgstr "ფონური დამხმარე პროცესი \"%s\"" + +#: postmaster/postmaster.c:3388 postmaster/postmaster.c:3408 postmaster/postmaster.c:3415 postmaster/postmaster.c:3433 +msgid "server process" +msgstr "სერვერის პროცესი" + +#: postmaster/postmaster.c:3487 +#, c-format +msgid "terminating any other active server processes" +msgstr "სერვერის სხვა დანარჩენი აქტიური პროცესები შეჩერდება" + +#. translator: %s is a noun phrase describing a child process, such as +#. "server process" +#: postmaster/postmaster.c:3662 +#, c-format +msgid "%s (PID %d) exited with exit code %d" +msgstr "%s (PID %d) დასრულდა სტატუსით %d" + +#: postmaster/postmaster.c:3664 postmaster/postmaster.c:3676 postmaster/postmaster.c:3686 postmaster/postmaster.c:3697 +#, c-format +msgid "Failed process was running: %s" +msgstr "შეცდომის მქონე პროცესს გაშვებული ჰქონდა: %s" + +#. translator: %s is a noun phrase describing a child process, such as +#. "server process" +#: postmaster/postmaster.c:3673 +#, c-format +msgid "%s (PID %d) was terminated by exception 0x%X" +msgstr "%s (PID %d) დასრულდა შეცდომის კოდით 0x%X" + +#. translator: %s is a noun phrase describing a child process, such as +#. "server process" +#: postmaster/postmaster.c:3683 +#, c-format +msgid "%s (PID %d) was terminated by signal %d: %s" +msgstr "%s (PID %d) დასრულდა სიგნალით: %d: %s" + +#. translator: %s is a noun phrase describing a child process, such as +#. "server process" +#: postmaster/postmaster.c:3695 +#, c-format +msgid "%s (PID %d) exited with unrecognized status %d" +msgstr "%s (PID %d) დასრულდა უცნობი სტატუსით %d" + +#: postmaster/postmaster.c:3903 +#, c-format +msgid "abnormal database system shutdown" +msgstr "მონაცემთა ბაზის სისტემის არანორმალური გამორთვა" + +#: postmaster/postmaster.c:3929 +#, c-format +msgid "shutting down due to startup process failure" +msgstr "მუშაობის დასრულება გამშვები პროცესის შეცდომის გამო" + +#: postmaster/postmaster.c:3935 +#, c-format +msgid "shutting down because restart_after_crash is off" +msgstr "მუშაობა დასრულდება. restart_after_crash გამორთულია" + +#: postmaster/postmaster.c:3947 +#, c-format +msgid "all server processes terminated; reinitializing" +msgstr "სერვერის ყველა პროცესი დასრულდა; მიმდინარეობს რეინიციალიზაცია" + +#: postmaster/postmaster.c:4141 postmaster/postmaster.c:5459 postmaster/postmaster.c:5857 +#, c-format +msgid "could not generate random cancel key" +msgstr "შემთხვევითი გაუქმების გასაღების გენერაცია შეუძლებელია" + +#: postmaster/postmaster.c:4203 +#, c-format +msgid "could not fork new process for connection: %m" +msgstr "ახალი პროცესის ფორკის შეცდომა შეერთებისთვის: %m" + +#: postmaster/postmaster.c:4245 +msgid "could not fork new process for connection: " +msgstr "ახალი პროცესის ფორკის შეცდომა შეერთებისთვის: " + +#: postmaster/postmaster.c:4351 +#, c-format +msgid "connection received: host=%s port=%s" +msgstr "შემოსული დაკავშირება: ჰოსტი=%s პორტი=%s" + +#: postmaster/postmaster.c:4356 +#, c-format +msgid "connection received: host=%s" +msgstr "შემოსული დაკავშირება: ჰოსტი=%s" + +#: postmaster/postmaster.c:4593 +#, c-format +msgid "could not execute server process \"%s\": %m" +msgstr "სერვერის პროცესის (\"%s\") შესრულების შეცდომა: %m" + +#: postmaster/postmaster.c:4651 +#, c-format +msgid "could not create backend parameter file mapping: error code %lu" +msgstr "უკანაბოლოს პარამეტრის ფაილის მიბმის შექმნის შეცდომა. შეცდომის კოდი: %lu" + +#: postmaster/postmaster.c:4660 +#, c-format +msgid "could not map backend parameter memory: error code %lu" +msgstr "უკანაბოლოს პარამეტრის მეხსიერების მიმაგრების პრობლემა: შეცდომის კოდი %lu" + +#: postmaster/postmaster.c:4687 +#, c-format +msgid "subprocess command line too long" +msgstr "ქვეპროექტების ბრძანების სტრიქონი ძალიან გრძელია" + +#: postmaster/postmaster.c:4705 +#, c-format +msgid "CreateProcess() call failed: %m (error code %lu)" +msgstr "გამოძახების შეცდომა: CreateProcess(): %m (შეცდომის კოდი %lu)" + +#: postmaster/postmaster.c:4732 +#, c-format +msgid "could not unmap view of backend parameter file: error code %lu" +msgstr "უკანაბოლოს პარამეტრის ფაილის ხედის მოხსნის შეცდომა. შეცდომის კოდი: %lu" + +#: postmaster/postmaster.c:4736 +#, c-format +msgid "could not close handle to backend parameter file: error code %lu" +msgstr "უკანაბოლოს პარამეტრის ფაილის დამმუშავებლის დახურვა შეუძლებელია. შეცდომის კოდი: %lu" + +#: postmaster/postmaster.c:4758 +#, c-format +msgid "giving up after too many tries to reserve shared memory" +msgstr "გაზიარებული მეხსიერების გამოყოფის მეტისმეტად ბევრი ცდის შემდეგ შევეშვი ცდას" + +#: postmaster/postmaster.c:4759 +#, c-format +msgid "This might be caused by ASLR or antivirus software." +msgstr "ეს შეიძლება გამოწვეული იყოს ASLR ან ანტივირუსული პროგრამული უზრუნველყოფის მიერ." + +#: postmaster/postmaster.c:4932 +#, c-format +msgid "SSL configuration could not be loaded in child process" +msgstr "SSL კონფიგურაციის შვილ პროცესში შეტვირთვის შეცდომა" + +#: postmaster/postmaster.c:5057 +#, c-format +msgid "Please report this to <%s>." +msgstr "გთხოვთ, შეატყობინოთ <%s>." + +#: postmaster/postmaster.c:5125 +#, c-format +msgid "database system is ready to accept read-only connections" +msgstr "მონაცემთა ბაზის სისტემა მზადაა მხოლოდ-კითხვადი შეერთებების მისაღებად" + +#: postmaster/postmaster.c:5383 +#, c-format +msgid "could not fork startup process: %m" +msgstr "გამშვები პროცესის ფორკის შეცდომა: %m" + +#: postmaster/postmaster.c:5387 +#, c-format +msgid "could not fork archiver process: %m" +msgstr "არქივატორის პროცესის ფორკის შეცდომა: %m" + +#: postmaster/postmaster.c:5391 +#, c-format +msgid "could not fork background writer process: %m" +msgstr "ფონური ჩამწერის პროცესის ფორკის შეცდომა: %m" + +#: postmaster/postmaster.c:5395 +#, c-format +msgid "could not fork checkpointer process: %m" +msgstr "საკონტროლო წერტილების პროცესის ფორკის შეცდომა: %m" + +#: postmaster/postmaster.c:5399 +#, c-format +msgid "could not fork WAL writer process: %m" +msgstr "\"WAL\" -ის ჩამწერი პროცესის ფორკის შეცდომა: %m" + +#: postmaster/postmaster.c:5403 +#, c-format +msgid "could not fork WAL receiver process: %m" +msgstr "\"WAL\"-ის მიმღების პროცესის ფორკის შეცდომა: %m" + +#: postmaster/postmaster.c:5407 +#, c-format +msgid "could not fork process: %m" +msgstr "პროცესის ფორკის შეცდომა: %m" + +#: postmaster/postmaster.c:5608 postmaster/postmaster.c:5635 +#, c-format +msgid "database connection requirement not indicated during registration" +msgstr "" + +#: postmaster/postmaster.c:5619 postmaster/postmaster.c:5646 +#, c-format +msgid "invalid processing mode in background worker" +msgstr "არასწორი დამუშავების რეჟიმი ფონურ დამხმარე პროცესში" + +#: postmaster/postmaster.c:5731 +#, c-format +msgid "could not fork worker process: %m" +msgstr "დამხმარე პროცესის ფორკის შეცდომა: %m" + +#: postmaster/postmaster.c:5843 +#, c-format +msgid "no slot available for new worker process" +msgstr "ახალი დამხმარე პროცესისთვის სლოტები ხელმიუწვდომელია" + +#: postmaster/postmaster.c:6174 +#, c-format +msgid "could not duplicate socket %d for use in backend: error code %d" +msgstr "" + +#: postmaster/postmaster.c:6206 +#, c-format +msgid "could not create inherited socket: error code %d\n" +msgstr "მემკვიდრეობით მიღებული სოკეტის შექმნა შეუძლებელია: შეცდომის კოდი %d\n" + +#: postmaster/postmaster.c:6235 +#, c-format +msgid "could not open backend variables file \"%s\": %s\n" +msgstr "უკანაბოლოს ცვლადების ფაილის \"%s\" გახსნა შეუძლებელია: %s\n" + +#: postmaster/postmaster.c:6242 +#, c-format +msgid "could not read from backend variables file \"%s\": %s\n" +msgstr "უკანაბოლოს ცვლადების ფაილიდან \"%s\" წაკითხვა შეუძლებელია: %s\n" + +#: postmaster/postmaster.c:6251 +#, c-format +msgid "could not remove file \"%s\": %s\n" +msgstr "ფაილის წაშლის შეცდომა \"%s\": %s\n" + +#: postmaster/postmaster.c:6268 +#, c-format +msgid "could not map view of backend variables: error code %lu\n" +msgstr "უკანაბოლოს ცვლადების ხედის მიბმა შეუძლებელია: შეცდომის კოდი %lu\n" + +#: postmaster/postmaster.c:6277 +#, c-format +msgid "could not unmap view of backend variables: error code %lu\n" +msgstr "უკანაბოლოს ცვლადების ხედის მოხსნა შეუძლებელია: შეცდომის კოდი %lu\n" + +#: postmaster/postmaster.c:6284 +#, c-format +msgid "could not close handle to backend parameter variables: error code %lu\n" +msgstr "უკანაბოლოს პარამეტრის ცვლადების დამმუშავებლის დახურვა შეუძლებელია. შეცდომის კოდი: %lu\n" + +#: postmaster/postmaster.c:6443 +#, c-format +msgid "could not read exit code for process\n" +msgstr "პროცესის გამოსვლის კოდის წაკითხვის შეცდომა\n" + +#: postmaster/postmaster.c:6485 +#, c-format +msgid "could not post child completion status\n" +msgstr "შვილი პროცესის დასრულების სტატუსის წაკითხვის შეცდომა\n" + +#: postmaster/syslogger.c:501 postmaster/syslogger.c:1222 +#, c-format +msgid "could not read from logger pipe: %m" +msgstr "ჟურნალის ფაიფიდან წაკითხვა შეუძლებელია: %m" + +#: postmaster/syslogger.c:598 postmaster/syslogger.c:612 +#, c-format +msgid "could not create pipe for syslog: %m" +msgstr "სისტემური ჟურნალისთვის ფაიფის შექმნა შეუძლებელია: %m" + +#: postmaster/syslogger.c:677 +#, c-format +msgid "could not fork system logger: %m" +msgstr "სისტემის ჟურნალის ფორკის შეცდომა: %m" + +#: postmaster/syslogger.c:713 +#, c-format +msgid "redirecting log output to logging collector process" +msgstr "ჟურნალის გამოტანის გადამისამართება ჟურნალის შემგროვებლის პროცესისკენ" + +#: postmaster/syslogger.c:714 +#, c-format +msgid "Future log output will appear in directory \"%s\"." +msgstr "" + +#: postmaster/syslogger.c:722 +#, c-format +msgid "could not redirect stdout: %m" +msgstr "stdout-ის გადამისამართების შეცდომა: %m" + +#: postmaster/syslogger.c:727 postmaster/syslogger.c:744 +#, c-format +msgid "could not redirect stderr: %m" +msgstr "stderr-ის გადამისამართების შეცდომა: %m" + +#: postmaster/syslogger.c:1177 +#, c-format +msgid "could not write to log file: %s\n" +msgstr "ჟურნალის ფაილში ჩაწერის შეცდომა: %s\n" + +#: postmaster/syslogger.c:1295 +#, c-format +msgid "could not open log file \"%s\": %m" +msgstr "ჟურნალის ფაილის გახსნის შეცდომა \"%s\": %m" + +#: postmaster/syslogger.c:1385 +#, c-format +msgid "disabling automatic rotation (use SIGHUP to re-enable)" +msgstr "" + +#: regex/regc_pg_locale.c:242 +#, c-format +msgid "could not determine which collation to use for regular expression" +msgstr "" + +#: regex/regc_pg_locale.c:265 +#, c-format +msgid "nondeterministic collations are not supported for regular expressions" +msgstr "" + +#: repl_gram.y:301 repl_gram.y:333 +#, c-format +msgid "invalid timeline %u" +msgstr "დროის არასწორი ხაზი: %u" + +#: repl_scanner.l:152 +msgid "invalid streaming start location" +msgstr "ნაკადის დასაწყისის არასწორი მდებარეობა" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:197 replication/libpqwalreceiver/libpqwalreceiver.c:280 +#, c-format +msgid "password is required" +msgstr "პაროლი სავალდებულოა" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:198 +#, c-format +msgid "Non-superuser cannot connect if the server does not request a password." +msgstr "" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:199 +#, c-format +msgid "Target server's authentication method must be changed, or set password_required=false in the subscription parameters." +msgstr "" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:211 +#, c-format +msgid "could not clear search path: %s" +msgstr "ძებნის ბილიკების გასუფთავების შეცდომა: %s" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:257 +#, c-format +msgid "invalid connection string syntax: %s" +msgstr "შეერთების სტრიქონის არასწორი სინტაქსი: %s" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:281 +#, c-format +msgid "Non-superusers must provide a password in the connection string." +msgstr "" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:307 +#, c-format +msgid "could not parse connection string: %s" +msgstr "შეერთების სტრიქონის დამუშავების შეცდომა: %s" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:380 +#, c-format +msgid "could not receive database system identifier and timeline ID from the primary server: %s" +msgstr "" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:392 replication/libpqwalreceiver/libpqwalreceiver.c:635 +#, c-format +msgid "invalid response from primary server" +msgstr "ძირითადი სერვერის არასწორი პასუხი" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:393 +#, c-format +msgid "Could not identify system: got %d rows and %d fields, expected %d rows and %d or more fields." +msgstr "" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:478 replication/libpqwalreceiver/libpqwalreceiver.c:485 replication/libpqwalreceiver/libpqwalreceiver.c:515 +#, c-format +msgid "could not start WAL streaming: %s" +msgstr "wal ნაკადის დაწყების შეცდომა: %s" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:539 +#, c-format +msgid "could not send end-of-streaming message to primary: %s" +msgstr "" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:562 +#, c-format +msgid "unexpected result set after end-of-streaming" +msgstr "" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:577 +#, c-format +msgid "error while shutting down streaming COPY: %s" +msgstr "" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:587 +#, c-format +msgid "error reading result of streaming command: %s" +msgstr "" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:596 replication/libpqwalreceiver/libpqwalreceiver.c:832 +#, c-format +msgid "unexpected result after CommandComplete: %s" +msgstr "მოულოდნელი შედეგი CommandComplete-ის შემდეგ: %s" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:623 +#, c-format +msgid "could not receive timeline history file from the primary server: %s" +msgstr "" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:636 +#, c-format +msgid "Expected 1 tuple with 2 fields, got %d tuples with %d fields." +msgstr "" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:795 replication/libpqwalreceiver/libpqwalreceiver.c:848 replication/libpqwalreceiver/libpqwalreceiver.c:855 +#, c-format +msgid "could not receive data from WAL stream: %s" +msgstr "\"WAL\" ნაკადიდან მონაცემების მიღების შეცდომა: %s" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:875 +#, c-format +msgid "could not send data to WAL stream: %s" +msgstr "'WAL' ნაკადისთვის მონაცემების გაგზავნა შეუძლებელია: %s" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:967 +#, c-format +msgid "could not create replication slot \"%s\": %s" +msgstr "რეპლიკაციის სლოტის \"%s\" შექმნის შეცდომა: %s" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:1013 +#, c-format +msgid "invalid query response" +msgstr "მოთხოვნის არასწორი პასუხი" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:1014 +#, c-format +msgid "Expected %d fields, got %d fields." +msgstr "მოველოდი %d ველს. მივიღე %d." + +#: replication/libpqwalreceiver/libpqwalreceiver.c:1084 +#, c-format +msgid "the query interface requires a database connection" +msgstr "მოთხოვნის ინტერფეისს ბაზასთან მიერთება სჭირდება" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:1115 +msgid "empty query" +msgstr "ცარიელი მოთხოვნა" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:1121 +msgid "unexpected pipeline mode" +msgstr "არხის მოულოდნელი რეჟიმი" + +#: replication/logical/applyparallelworker.c:719 +#, c-format +msgid "logical replication parallel apply worker for subscription \"%s\" has finished" +msgstr "" + +#: replication/logical/applyparallelworker.c:825 +#, c-format +msgid "lost connection to the logical replication apply worker" +msgstr "ლოგიკური რეპლიკაციის გადატარების დამხმარე პროცესთან კავშირი დაკარგულია" + +#: replication/logical/applyparallelworker.c:1027 replication/logical/applyparallelworker.c:1029 +msgid "logical replication parallel apply worker" +msgstr "ლოგიკური რეპლიკაციის პარალელური გადატარების დამხმარე პროცესი" + +#: replication/logical/applyparallelworker.c:1043 +#, c-format +msgid "logical replication parallel apply worker exited due to error" +msgstr "" + +#: replication/logical/applyparallelworker.c:1130 replication/logical/applyparallelworker.c:1303 +#, c-format +msgid "lost connection to the logical replication parallel apply worker" +msgstr "ლოგიკური რეპლიკაციის პარალელური გადატარების დამხმარე პროცესთან კავშირი დაკარგულია" + +#: replication/logical/applyparallelworker.c:1183 +#, c-format +msgid "could not send data to shared-memory queue" +msgstr "გაზიარებული-მეხსიერების მქონე რიგში მონაცემების გაგზავნა შეუძლებელია" + +#: 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 "" + +#: replication/logical/decode.c:180 replication/logical/logical.c:140 +#, c-format +msgid "logical decoding on standby requires wal_level >= logical on the primary" +msgstr "" + +#: replication/logical/launcher.c:331 +#, c-format +msgid "cannot start logical replication workers when max_replication_slots = 0" +msgstr "" + +#: replication/logical/launcher.c:424 +#, c-format +msgid "out of logical replication worker slots" +msgstr "ლოგიკური რეპლიკაციის დამხმარე პროგრამის სლოტები არასაკმარისია" + +#: replication/logical/launcher.c:425 replication/logical/launcher.c:499 replication/slot.c:1290 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 +#, c-format +msgid "You might need to increase %s." +msgstr "როგორც ჩანს, გჭირდებათ %s გაზარდოთ." + +#: replication/logical/launcher.c:498 +#, c-format +msgid "out of background worker slots" +msgstr "ფონური დამხმარე პროცესების სლოტები არასაკმარისია" + +#: replication/logical/launcher.c:705 +#, c-format +msgid "logical replication worker slot %d is empty, cannot attach" +msgstr "" + +#: replication/logical/launcher.c:714 +#, c-format +msgid "logical replication worker slot %d is already used by another worker, cannot attach" +msgstr "" + +#: replication/logical/logical.c:120 +#, c-format +msgid "logical decoding requires wal_level >= logical" +msgstr "ლოგიკურ გაშიფვრას wal_level >= logical ესაჭიროება" + +#: replication/logical/logical.c:125 +#, c-format +msgid "logical decoding requires a database connection" +msgstr "ლოგიკურ გაშიფვრას ბაზასთან მიერთება ესაჭიროება" + +#: replication/logical/logical.c:363 replication/logical/logical.c:517 +#, c-format +msgid "cannot use physical replication slot for logical decoding" +msgstr "ლოგიკური გაშიფვრისთვის ფიზიკური რეპლიკაციის სლოტის გამოყენება შეუძლებელია" + +#: replication/logical/logical.c:368 replication/logical/logical.c:522 +#, c-format +msgid "replication slot \"%s\" was not created in this database" +msgstr "რეპლიკაციის სლოტი \"%s\" ამ ბაზაში არ შექმნილა" + +#: replication/logical/logical.c:375 +#, 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 +#, c-format +msgid "can no longer get changes from replication slot \"%s\"" +msgstr "რეპლიკაციის სლოტიდან \"%s\" ცვლილებების მიღება უკვე შეუძლებელია" + +#: replication/logical/logical.c:536 +#, c-format +msgid "This slot has been invalidated because it exceeded the maximum reserved size." +msgstr "" + +#: replication/logical/logical.c:543 +#, c-format +msgid "This slot has been invalidated because it was conflicting with recovery." +msgstr "" + +#: replication/logical/logical.c:608 +#, c-format +msgid "starting logical decoding for slot \"%s\"" +msgstr "იწყება ლოგიკური გაშიფვრა სლოტისთვის \"%s\"" + +#: replication/logical/logical.c:610 +#, c-format +msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X." +msgstr "" + +#: replication/logical/logical.c:758 +#, c-format +msgid "slot \"%s\", output plugin \"%s\", in the %s callback, associated LSN %X/%X" +msgstr "" + +#: replication/logical/logical.c:764 +#, c-format +msgid "slot \"%s\", output plugin \"%s\", in the %s callback" +msgstr "" + +#: replication/logical/logical.c:935 replication/logical/logical.c:980 replication/logical/logical.c:1025 replication/logical/logical.c:1071 +#, c-format +msgid "logical replication at prepare time requires a %s callback" +msgstr "" + +#: 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 +#, c-format +msgid "logical streaming requires a %s callback" +msgstr "" + +#: replication/logical/logical.c:1438 +#, c-format +msgid "logical streaming at prepare time requires a %s callback" +msgstr "" + +#: replication/logical/logicalfuncs.c:126 +#, c-format +msgid "slot name must not be null" +msgstr "სლოტის სახელი ნულოვანი ვერ იქნება" + +#: replication/logical/logicalfuncs.c:142 +#, c-format +msgid "options array must not be null" +msgstr "პარამეტრების მასივი ნულოვანი ვერ იქნება" + +#: replication/logical/logicalfuncs.c:159 +#, c-format +msgid "array must be one-dimensional" +msgstr "მასივი ერთგანზომილებიანი უნდა იყოს" + +#: replication/logical/logicalfuncs.c:165 +#, c-format +msgid "array must not contain nulls" +msgstr "მასივი ნულოვან მნიშვნელობებს არ უნდა შეიცავდეს" + +#: replication/logical/logicalfuncs.c:180 utils/adt/json.c:1484 utils/adt/jsonb.c:1403 +#, c-format +msgid "array must have even number of elements" +msgstr "მასივს ლუწი რაოდენობის ელემენტები უნდა ჰქონდეს" + +#: replication/logical/logicalfuncs.c:227 +#, c-format +msgid "logical decoding output plugin \"%s\" produces binary output, but function \"%s\" expects textual data" +msgstr "" + +#: replication/logical/origin.c:190 +#, c-format +msgid "cannot query or manipulate replication origin when max_replication_slots = 0" +msgstr "" + +#: replication/logical/origin.c:195 +#, c-format +msgid "cannot manipulate replication origins during recovery" +msgstr "აღდგენისა რეპლიკაციის წყაროებს ვერ შეცვლით" + +#: replication/logical/origin.c:240 +#, c-format +msgid "replication origin \"%s\" does not exist" +msgstr "რეპლიკაციის წყარო \"%s\" არ არსებობს" + +#: replication/logical/origin.c:331 +#, c-format +msgid "could not find free replication origin ID" +msgstr "თავისუფალი რეპლიკაციის წყაროს ID-ის პოვნა შეუძლებელია" + +#: replication/logical/origin.c:365 +#, c-format +msgid "could not drop replication origin with ID %d, in use by PID %d" +msgstr "რეპლიკაციის წყაროს, ID-ით %d გადაგდების შეცდომა. გამოიყენება PID-ის მიერ %d" + +#: replication/logical/origin.c:492 +#, c-format +msgid "replication origin with ID %d does not exist" +msgstr "რეპლიკაციის წყარო ID-ით %d არ არსებობს" + +#: replication/logical/origin.c:757 +#, c-format +msgid "replication checkpoint has wrong magic %u instead of %u" +msgstr "" + +#: replication/logical/origin.c:798 +#, c-format +msgid "could not find free replication state, increase max_replication_slots" +msgstr "" + +#: replication/logical/origin.c:806 +#, c-format +msgid "recovered replication state of node %d to %X/%X" +msgstr "აღდგენილია კვანძის %d რეპლიკაციის მდგომარეობა %X/%X-მდე" + +#: replication/logical/origin.c:816 +#, c-format +msgid "replication slot checkpoint has wrong checksum %u, expected %u" +msgstr "" + +#: replication/logical/origin.c:944 replication/logical/origin.c:1141 +#, c-format +msgid "replication origin with ID %d is already active for PID %d" +msgstr "რეპლიკაციის წყარო ID-ით %d უკვე აქტიურია PID-სთვის %d" + +#: replication/logical/origin.c:955 replication/logical/origin.c:1153 +#, c-format +msgid "could not find free replication state slot for replication origin with ID %d" +msgstr "" + +#: replication/logical/origin.c:957 replication/logical/origin.c:1155 replication/slot.c:2086 +#, c-format +msgid "Increase max_replication_slots and try again." +msgstr "გაზარდეთ max_replication_slots-ის მნიშვნელობა და თავიდან სცადეთ." + +#: replication/logical/origin.c:1112 +#, c-format +msgid "cannot setup replication origin when one is already setup" +msgstr "რეპლიკაციის წყაროს მორგება მაშინ, როცა ის უკვე მორგებულია, შეუძლებელია" + +#: replication/logical/origin.c:1196 replication/logical/origin.c:1412 replication/logical/origin.c:1432 +#, c-format +msgid "no replication origin is configured" +msgstr "რეპლიკაციის წყარო მორგებული არაა" + +#: replication/logical/origin.c:1282 +#, c-format +msgid "replication origin name \"%s\" is reserved" +msgstr "რეპლიკაციის წყაროს სახელი \"%s\" დაცულია" + +#: replication/logical/origin.c:1284 +#, c-format +msgid "Origin names \"%s\", \"%s\", and names starting with \"pg_\" are reserved." +msgstr "საწყისი სახელები, \"%s\", \"%s\" და სახელები, რომლებიც \"pg_\"-ით იწყება, დარეზერვებულია." + +#: replication/logical/relation.c:240 +#, c-format +msgid "\"%s\"" +msgstr "\"%s\"" + +#: replication/logical/relation.c:243 +#, c-format +msgid ", \"%s\"" +msgstr ", \"%s\"" + +#: replication/logical/relation.c:249 +#, c-format +msgid "logical replication target relation \"%s.%s\" is missing replicated column: %s" +msgid_plural "logical replication target relation \"%s.%s\" is missing replicated columns: %s" +msgstr[0] "" +msgstr[1] "" + +#: replication/logical/relation.c:304 +#, c-format +msgid "logical replication target relation \"%s.%s\" uses system columns in REPLICA IDENTITY index" +msgstr "" + +#: replication/logical/relation.c:396 +#, c-format +msgid "logical replication target relation \"%s.%s\" does not exist" +msgstr "" + +#: replication/logical/reorderbuffer.c:3936 +#, c-format +msgid "could not write to data file for XID %u: %m" +msgstr "შეცდომა მონაცემის ფაილში ჩაწერისას XID-სთვის %u: %m" + +#: replication/logical/reorderbuffer.c:4282 replication/logical/reorderbuffer.c:4307 +#, c-format +msgid "could not read from reorderbuffer spill file: %m" +msgstr "" + +#: replication/logical/reorderbuffer.c:4286 replication/logical/reorderbuffer.c:4311 +#, c-format +msgid "could not read from reorderbuffer spill file: read %d instead of %u bytes" +msgstr "" + +#: replication/logical/reorderbuffer.c:4561 +#, c-format +msgid "could not remove file \"%s\" during removal of pg_replslot/%s/xid*: %m" +msgstr "" + +#: replication/logical/reorderbuffer.c:5057 +#, c-format +msgid "could not read from file \"%s\": read %d instead of %d bytes" +msgstr "" + +#: replication/logical/snapbuild.c:639 +#, c-format +msgid "initial slot snapshot too large" +msgstr "საწყისი სლოტის სწრაფი ასლი ძალიან დიდია" + +#: replication/logical/snapbuild.c:693 +#, c-format +msgid "exported logical decoding snapshot: \"%s\" with %u transaction ID" +msgid_plural "exported logical decoding snapshot: \"%s\" with %u transaction IDs" +msgstr[0] "" +msgstr[1] "" + +#: replication/logical/snapbuild.c:1388 replication/logical/snapbuild.c:1480 replication/logical/snapbuild.c:1996 +#, c-format +msgid "logical decoding found consistent point at %X/%X" +msgstr "" + +#: replication/logical/snapbuild.c:1390 +#, c-format +msgid "There are no running transactions." +msgstr "გაშვებული ტრანზაქციების გარეშე." + +#: replication/logical/snapbuild.c:1432 +#, c-format +msgid "logical decoding found initial starting point at %X/%X" +msgstr "" + +#: replication/logical/snapbuild.c:1434 replication/logical/snapbuild.c:1458 +#, c-format +msgid "Waiting for transactions (approximately %d) older than %u to end." +msgstr "" + +#: replication/logical/snapbuild.c:1456 +#, c-format +msgid "logical decoding found initial consistent point at %X/%X" +msgstr "" + +#: replication/logical/snapbuild.c:1482 +#, c-format +msgid "There are no old transactions anymore." +msgstr "ძველი ტრანზაქციები აღარ დარჩა." + +#: replication/logical/snapbuild.c:1883 +#, c-format +msgid "snapbuild state file \"%s\" has wrong magic number: %u instead of %u" +msgstr "" + +#: replication/logical/snapbuild.c:1889 +#, c-format +msgid "snapbuild state file \"%s\" has unsupported version: %u instead of %u" +msgstr "" + +#: replication/logical/snapbuild.c:1930 +#, c-format +msgid "checksum mismatch for snapbuild state file \"%s\": is %u, should be %u" +msgstr "" + +#: replication/logical/snapbuild.c:1998 +#, c-format +msgid "Logical decoding will begin using saved snapshot." +msgstr "ლოგიკური გაშიფვრა შენახული სწრაფი ასლის გამოყენებას დაიწყებს." + +#: replication/logical/snapbuild.c:2105 +#, c-format +msgid "could not parse file name \"%s\"" +msgstr "ფაილის სახელის დამუშავების შეცდომა: \"%s\"" + +#: replication/logical/tablesync.c:153 +#, c-format +msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has finished" +msgstr "" + +#: replication/logical/tablesync.c:622 +#, c-format +msgid "logical replication apply worker for subscription \"%s\" will restart so that two_phase can be enabled" +msgstr "" + +#: replication/logical/tablesync.c:797 replication/logical/tablesync.c:939 +#, c-format +msgid "could not fetch table info for table \"%s.%s\" from publisher: %s" +msgstr "" + +#: replication/logical/tablesync.c:804 +#, c-format +msgid "table \"%s.%s\" not found on publisher" +msgstr "ცხრილი \"%s.%s\" გამომცემელზე ნაპოვნი არაა" + +#: replication/logical/tablesync.c:862 +#, c-format +msgid "could not fetch column list info for table \"%s.%s\" from publisher: %s" +msgstr "" + +#: replication/logical/tablesync.c:1041 +#, c-format +msgid "could not fetch table WHERE clause info for table \"%s.%s\" from publisher: %s" +msgstr "" + +#: replication/logical/tablesync.c:1192 +#, c-format +msgid "could not start initial contents copy for table \"%s.%s\": %s" +msgstr "" + +#: replication/logical/tablesync.c:1393 +#, c-format +msgid "table copy could not start transaction on publisher: %s" +msgstr "ცხრილის კოპირებამ ვერ გაუშვა ტრანზაქცია გამომცემელზე: %s" + +#: replication/logical/tablesync.c:1435 +#, c-format +msgid "replication origin \"%s\" already exists" +msgstr "რეპლიკაციის წყარო \"%s\" უკვე არსებობს" + +#: replication/logical/tablesync.c:1468 replication/logical/worker.c:2374 +#, c-format +msgid "user \"%s\" cannot replicate into relation with row-level security enabled: \"%s\"" +msgstr "" + +#: replication/logical/tablesync.c:1481 +#, c-format +msgid "table copy could not finish transaction on publisher: %s" +msgstr "ცხრილის კოპირებამ ვერ დაასრულა ტრანზაქცია გამომცემელზე: %s" + +#: replication/logical/worker.c:499 +#, c-format +msgid "logical replication parallel apply worker for subscription \"%s\" will stop" +msgstr "" + +#: replication/logical/worker.c:501 +#, c-format +msgid "Cannot handle streamed replication transactions using parallel apply workers until all tables have been synchronized." +msgstr "" + +#: replication/logical/worker.c:863 replication/logical/worker.c:978 +#, c-format +msgid "incorrect binary data format in logical replication column %d" +msgstr "" + +#: 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 "" + +#: 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 "" + +#: replication/logical/worker.c:3384 +#, c-format +msgid "invalid logical replication message type \"??? (%d)\"" +msgstr "არასწორი ლოგიკური რეპლიკაციის შეტყობინების ტიპი \"??? (%d)\"" + +#: replication/logical/worker.c:3556 +#, c-format +msgid "data stream from publisher has ended" +msgstr "გამომცემლის მონაცემების ნაკადი დასრულდა" + +#: replication/logical/worker.c:3713 +#, c-format +msgid "terminating logical replication worker due to timeout" +msgstr "ლოგიკური რეპლიკაციის დამხმარე პროცესის შეწყვეტა მოლოდინის ვადის ამოწურვის გამო" + +#: replication/logical/worker.c:3907 +#, c-format +msgid "logical replication worker for subscription \"%s\" will stop because the subscription was removed" +msgstr "" + +#: replication/logical/worker.c:3920 +#, c-format +msgid "logical replication worker for subscription \"%s\" will stop because the subscription was disabled" +msgstr "" + +#: replication/logical/worker.c:3951 +#, c-format +msgid "logical replication parallel apply worker for subscription \"%s\" will stop because of a parameter change" +msgstr "" + +#: replication/logical/worker.c:3955 +#, c-format +msgid "logical replication worker for subscription \"%s\" will restart because of a parameter change" +msgstr "" + +#: replication/logical/worker.c:4478 +#, c-format +msgid "logical replication worker for subscription %u will not start because the subscription was removed during startup" +msgstr "" + +#: replication/logical/worker.c:4493 +#, c-format +msgid "logical replication worker for subscription \"%s\" will not start because the subscription was disabled during startup" +msgstr "" + +#: replication/logical/worker.c:4510 +#, c-format +msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has started" +msgstr "" + +#: replication/logical/worker.c:4515 +#, c-format +msgid "logical replication apply worker for subscription \"%s\" has started" +msgstr "გაეშვა ლოგიკური რეპლიკაციის გადატარების დამხმარე პროცესი გამოწერისთვის \"%s\"" + +#: replication/logical/worker.c:4590 +#, c-format +msgid "subscription has no replication slot set" +msgstr "გამოწერას რეპლიკაციის სლოტი დაყენებული არ აქვს" + +#: replication/logical/worker.c:4757 +#, c-format +msgid "subscription \"%s\" has been disabled because of an error" +msgstr "გამოწერა \"%s\" გაითიშა შეცდომის გამო" + +#: replication/logical/worker.c:4805 +#, c-format +msgid "logical replication starts skipping transaction at LSN %X/%X" +msgstr "ლოგიკური რეპლიკაცია იწყებს ტრანზაქციის გამოტოვებას მისამართზე LSN %X/%X" + +#: replication/logical/worker.c:4819 +#, c-format +msgid "logical replication completed skipping transaction at LSN %X/%X" +msgstr "ლოგიკურმა რეპლიკაციამ დაასრულა ტრანზაქციის გამოტოვება მისამართზე LSN %X/%X" + +#: replication/logical/worker.c:4901 +#, c-format +msgid "skip-LSN of subscription \"%s\" cleared" +msgstr "skip-LSN გამოწერისთვის \"%s\" გასუფთავებულია" + +#: 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 "" + +#: replication/logical/worker.c:4928 +#, c-format +msgid "processing remote data for replication origin \"%s\" during message type \"%s\"" +msgstr "" + +#: replication/logical/worker.c:4932 +#, c-format +msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u" +msgstr "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: replication/pgoutput/pgoutput.c:318 +#, c-format +msgid "invalid proto_version" +msgstr "არასწორი proto_version" + +#: replication/pgoutput/pgoutput.c:323 +#, c-format +msgid "proto_version \"%s\" out of range" +msgstr "proto_version \"%s\" დიაპაზონს გარეთაა" + +#: replication/pgoutput/pgoutput.c:340 +#, c-format +msgid "invalid publication_names syntax" +msgstr "არასწორი publication_names syntax" + +#: replication/pgoutput/pgoutput.c:443 +#, c-format +msgid "client sent proto_version=%d but server only supports protocol %d or lower" +msgstr "კლიენტმა გამოაგზავნა proto_version=%d მაგრამ სერვერს მხოლოდ %d პროტოკოლის და ქვემოთ გააჩნია მხარდაჭერა" + +#: replication/pgoutput/pgoutput.c:449 +#, c-format +msgid "client sent proto_version=%d but server only supports protocol %d or higher" +msgstr "კლიენტმა გამოაგზავნა proto_version=%d მაგრამ სერვერს მხოლოდ %d პროტოკოლის და ზემოთ გააჩნია მხარდაჭერა" + +#: replication/pgoutput/pgoutput.c:455 +#, c-format +msgid "publication_names parameter missing" +msgstr "აკლა პარამეტრი publication_names" + +#: replication/pgoutput/pgoutput.c:469 +#, c-format +msgid "requested proto_version=%d does not support streaming, need %d or higher" +msgstr "" + +#: replication/pgoutput/pgoutput.c:475 +#, c-format +msgid "requested proto_version=%d does not support parallel streaming, need %d or higher" +msgstr "" + +#: replication/pgoutput/pgoutput.c:480 +#, c-format +msgid "streaming requested, but not supported by output plugin" +msgstr "" + +#: replication/pgoutput/pgoutput.c:497 +#, c-format +msgid "requested proto_version=%d does not support two-phase commit, need %d or higher" +msgstr "" + +#: replication/pgoutput/pgoutput.c:502 +#, c-format +msgid "two-phase commit requested, but not supported by output plugin" +msgstr "" + +#: replication/slot.c:207 +#, c-format +msgid "replication slot name \"%s\" is too short" +msgstr "რეპლიკაციის სლოტის სახელი \"%s\" ძალიან მოკლეა" + +#: replication/slot.c:216 +#, c-format +msgid "replication slot name \"%s\" is too long" +msgstr "რეპლიკაციის სლოტის სახელი \"%s\" ძალიან გრძელია" + +#: replication/slot.c:229 +#, c-format +msgid "replication slot name \"%s\" contains invalid character" +msgstr "რეპლიკაციის სლოტის სახელი \"%s\" არასწორ სიმბოლოს შეიცავს" + +#: replication/slot.c:231 +#, c-format +msgid "Replication slot names may only contain lower case letters, numbers, and the underscore character." +msgstr "" + +#: replication/slot.c:285 +#, c-format +msgid "replication slot \"%s\" already exists" +msgstr "რეპლიკაციის სლოტი \"%s\" უკვე არსებობს" + +#: replication/slot.c:295 +#, c-format +msgid "all replication slots are in use" +msgstr "ყველა რეპლიკაციის სლოტი გამოიყენება" + +#: replication/slot.c:296 +#, c-format +msgid "Free one or increase max_replication_slots." +msgstr "გაათავისუფლეთ ერთი მაინც ან გაზარდეთ max_replication_slots." + +#: replication/slot.c:474 replication/slotfuncs.c:736 utils/activity/pgstat_replslot.c:55 utils/adt/genfile.c:774 +#, c-format +msgid "replication slot \"%s\" does not exist" +msgstr "რეპლიკაციის სლოტი არ არსებობს: %s" + +#: replication/slot.c:520 replication/slot.c:1110 +#, c-format +msgid "replication slot \"%s\" is active for PID %d" +msgstr "რეპლიკაციის სლოტი (%s) აქტიურია PID-ისთვის %d" + +#: replication/slot.c:756 replication/slot.c:1638 replication/slot.c:2021 +#, c-format +msgid "could not remove directory \"%s\"" +msgstr "საქაღალდის (\"%s\") წაშლის შეცდომა" + +#: replication/slot.c:1145 +#, c-format +msgid "replication slots can only be used if max_replication_slots > 0" +msgstr "რეპლიკაციის სლოტების გამოყენება შესაძლებელია მხოლოდ როცა max_replication_slots > 0" + +#: replication/slot.c:1150 +#, c-format +msgid "replication slots can only be used if wal_level >= replica" +msgstr "რეპლიკაციის სლოტების გამოყენება შესაძლებელია მხოლოდ როცა wal_level >= replica" + +#: replication/slot.c:1162 +#, c-format +msgid "permission denied to use replication slots" +msgstr "რეპლიკაციის სლოტების გამოყენების წვდომა აკრძალულია" + +#: replication/slot.c:1163 +#, c-format +msgid "Only roles with the %s attribute may use replication slots." +msgstr "" + +#: replication/slot.c:1267 +#, c-format +msgid "The slot's restart_lsn %X/%X exceeds the limit by %llu bytes." +msgstr "" + +#: replication/slot.c:1272 +#, c-format +msgid "The slot conflicted with xid horizon %u." +msgstr "სლოტი კონფლიქტშია XID-ის ჰორიზონტთან %u." + +#: replication/slot.c:1277 +msgid "Logical decoding on standby requires wal_level >= logical on the primary server." +msgstr "" + +#: replication/slot.c:1285 +#, c-format +msgid "terminating process %d to release replication slot \"%s\"" +msgstr "რეპლიკაციის სლოტის (%2$s) გასათავისუფლებლად მოხდება პროცესის მოკვლა: %1$d" + +#: replication/slot.c:1287 +#, c-format +msgid "invalidating obsolete replication slot \"%s\"" +msgstr "მოძველებული რეპლიკაციის სლოტის (\"%s\") არასწორად გამოცხადება" + +#: replication/slot.c:1959 +#, c-format +msgid "replication slot file \"%s\" has wrong magic number: %u instead of %u" +msgstr "რეპლიკაციის სლოტის (%s) ფაილის არასწორი მაგიური რიცხვი: %u (უნდა იყოს %u)" + +#: replication/slot.c:1966 +#, c-format +msgid "replication slot file \"%s\" has unsupported version %u" +msgstr "რეპლიკაციის სლოტის ფაილის (%s) მხარდაუჭერელი ვერსია %u" + +#: replication/slot.c:1973 +#, c-format +msgid "replication slot file \"%s\" has corrupted length %u" +msgstr "რეპლიკაციის სლოტის ფაილის (%s) დაზიანებული სიგრძე: %u" + +#: replication/slot.c:2009 +#, c-format +msgid "checksum mismatch for replication slot file \"%s\": is %u, should be %u" +msgstr "" + +#: replication/slot.c:2043 +#, c-format +msgid "logical replication slot \"%s\" exists, but wal_level < logical" +msgstr "ლოგიკური რეპლიკაციის სლოტი\"%s\" აარსებობს, მაგრამ wal_level < logical" + +#: replication/slot.c:2045 +#, c-format +msgid "Change wal_level to be logical or higher." +msgstr "შეცვალეთ wal_level ლოგიკურზე ან უფრო მაღალზე." + +#: replication/slot.c:2049 +#, c-format +msgid "physical replication slot \"%s\" exists, but wal_level < replica" +msgstr "ფიზიკური რეპლიკაციის სლოტი\"%s\" აარსებობს, მაგრამ wal_level < replica" + +#: replication/slot.c:2051 +#, c-format +msgid "Change wal_level to be replica or higher." +msgstr "შეცვალეთ wal_level replica-ზე ან ზემოთ." + +#: replication/slot.c:2085 +#, c-format +msgid "too many replication slots active before shutdown" +msgstr "გამორთვამდე მეტისმეტად ბევრი რეპლიკაციის სლოტი იყო აქტიური" + +#: replication/slotfuncs.c:601 +#, c-format +msgid "invalid target WAL LSN" +msgstr "არასწორი სამიზნე WAL LSN" + +#: replication/slotfuncs.c:623 +#, c-format +msgid "replication slot \"%s\" cannot be advanced" +msgstr "რეპლიკაციის სლოტის (%s) წინ წაწევა შეუძლებელია" + +#: replication/slotfuncs.c:625 +#, c-format +msgid "This slot has never previously reserved WAL, or it has been invalidated." +msgstr "" + +#: replication/slotfuncs.c:641 +#, c-format +msgid "cannot advance replication slot to %X/%X, minimum is %X/%X" +msgstr "" + +#: replication/slotfuncs.c:748 +#, c-format +msgid "cannot copy physical replication slot \"%s\" as a logical replication slot" +msgstr "ფიზიკური რეპლიკაციის სლოტის (%s) ლოგიკურ სლოტად კოპირება შეუძლებელია" + +#: replication/slotfuncs.c:750 +#, c-format +msgid "cannot copy logical replication slot \"%s\" as a physical replication slot" +msgstr "ლოგიკური რეპლიკაციის სლოტის (%s) ფიზიკურ სლოტად კოპირება შეუძლებელია" + +#: replication/slotfuncs.c:757 +#, c-format +msgid "cannot copy a replication slot that doesn't reserve WAL" +msgstr "რეპლიკაციის სლოტის, რომელიც WAL რეზერვაციას არ აკეთებს, კოპირება შეუძლებელია" + +#: replication/slotfuncs.c:834 +#, c-format +msgid "could not copy replication slot \"%s\"" +msgstr "რეპლიკაციის სლოტის კოპირების შეცდომა: %s" + +#: replication/slotfuncs.c:836 +#, c-format +msgid "The source replication slot was modified incompatibly during the copy operation." +msgstr "კოპირების ოპერაციისას საწყისი რეპლიკაციის სლოტი შეუთავსებლად შეიცვალა." + +#: replication/slotfuncs.c:842 +#, c-format +msgid "cannot copy unfinished logical replication slot \"%s\"" +msgstr "დაუმთავრებელი ლოგიკური რეპლიკაციის სლოტის კოპირება შეუძლებელია: %s" + +#: replication/slotfuncs.c:844 +#, c-format +msgid "Retry when the source replication slot's confirmed_flush_lsn is valid." +msgstr "" + +#: replication/syncrep.c:262 +#, c-format +msgid "canceling the wait for synchronous replication and terminating connection due to administrator command" +msgstr "" + +#: replication/syncrep.c:263 replication/syncrep.c:280 +#, c-format +msgid "The transaction has already committed locally, but might not have been replicated to the standby." +msgstr "ტრანზაქცია უკვე გადაცემულია ლოკალურად, მაგრამ შეიძლება მომლოდინეზე ჯერ რეპლიცირებული არაა." + +#: replication/syncrep.c:279 +#, c-format +msgid "canceling wait for synchronous replication due to user request" +msgstr "სინქრონული რეპლიკაციის მოლოდინის გაუქმება მომხმარებლის მოთხოვნის გამო" + +#: replication/syncrep.c:486 +#, c-format +msgid "standby \"%s\" is now a synchronous standby with priority %u" +msgstr "" + +#: replication/syncrep.c:490 +#, c-format +msgid "standby \"%s\" is now a candidate for quorum synchronous standby" +msgstr "" + +#: replication/syncrep.c:1019 +#, c-format +msgid "synchronous_standby_names parser failed" +msgstr "synchronous_standby_names -ოს დამმუშავებლის შეცდომა" + +#: replication/syncrep.c:1025 +#, c-format +msgid "number of synchronous standbys (%d) must be greater than zero" +msgstr "სინქრონული მომლოდინეების რაოდენობა (%d) ნულზე მეტი უნდა იყოს" + +#: replication/walreceiver.c:180 +#, c-format +msgid "terminating walreceiver process due to administrator command" +msgstr "walreceiver პროგრამის შეწყვეტა ადმინისტრატორის ბრძანების გამო" + +#: replication/walreceiver.c:305 +#, c-format +msgid "could not connect to the primary server: %s" +msgstr "შეუძლებელია მიერთება ძირითად სერვერთან: %s" + +#: replication/walreceiver.c:352 +#, c-format +msgid "database system identifier differs between the primary and standby" +msgstr "ბაზის სისტემის იდენტიფიკატორი განსხვავდება ძირითადსა და მომლოდინეს შორის" + +#: replication/walreceiver.c:353 +#, c-format +msgid "The primary's identifier is %s, the standby's identifier is %s." +msgstr "ძირითადი სერვერის იდენტიფიკატორია %s, მომლოდინესი კი %s." + +#: replication/walreceiver.c:364 +#, c-format +msgid "highest timeline %u of the primary is behind recovery timeline %u" +msgstr "" + +#: replication/walreceiver.c:417 +#, c-format +msgid "started streaming WAL from primary at %X/%X on timeline %u" +msgstr "" + +#: replication/walreceiver.c:421 +#, c-format +msgid "restarted WAL streaming at %X/%X on timeline %u" +msgstr "" + +#: replication/walreceiver.c:457 +#, c-format +msgid "cannot continue WAL streaming, recovery has already ended" +msgstr "" + +#: replication/walreceiver.c:501 +#, c-format +msgid "replication terminated by primary server" +msgstr "რეპლიკაცია შეწყვეტილია ძირითადი სერვერის მიერ" + +#: replication/walreceiver.c:502 +#, c-format +msgid "End of WAL reached on timeline %u at %X/%X." +msgstr "" + +#: replication/walreceiver.c:592 +#, c-format +msgid "terminating walreceiver due to timeout" +msgstr "walreceiver პროგრამის შეწყვეტა მოლოდინის ვადის ამოწურვის გამო" + +#: replication/walreceiver.c:624 +#, c-format +msgid "primary server contains no more WAL on requested timeline %u" +msgstr "" + +#: replication/walreceiver.c:640 replication/walreceiver.c:1066 +#, c-format +msgid "could not close WAL segment %s: %m" +msgstr "'WAL' სეგმენტის %s დახურვის შეცდომა: %m" + +#: replication/walreceiver.c:759 +#, c-format +msgid "fetching timeline history file for timeline %u from primary server" +msgstr "" + +#: replication/walreceiver.c:954 +#, c-format +msgid "could not write to WAL segment %s at offset %u, length %lu: %m" +msgstr "'WAL'-ის სეგმენტში (%s) ჩაწერის შეცდომა წანაცვლება %u, სიგრძე %lu: %m" + +#: replication/walsender.c:519 +#, c-format +msgid "cannot use %s with a logical replication slot" +msgstr "%s-ის გამოყენება ლოგიკური რეპლიკაციის სლოტთან ერთად შეუძლებელია" + +#: replication/walsender.c:623 storage/smgr/md.c:1529 +#, c-format +msgid "could not seek to end of file \"%s\": %m" +msgstr "ფაილის (\"%s\") ბოლოში გადახვევის პრობლემა: %m" + +#: replication/walsender.c:627 +#, c-format +msgid "could not seek to beginning of file \"%s\": %m" +msgstr "ფაილის (\"%s\") დასაწყისში გადახვევის პრობლემა: %m" + +#: replication/walsender.c:704 +#, c-format +msgid "cannot use a logical replication slot for physical replication" +msgstr "" + +#: replication/walsender.c:770 +#, c-format +msgid "requested starting point %X/%X on timeline %u is not in this server's history" +msgstr "" + +#: replication/walsender.c:773 +#, c-format +msgid "This server's history forked from timeline %u at %X/%X." +msgstr "" + +#: replication/walsender.c:817 +#, c-format +msgid "requested starting point %X/%X is ahead of the WAL flush position of this server %X/%X" +msgstr "" + +#: replication/walsender.c:1010 +#, c-format +msgid "unrecognized value for CREATE_REPLICATION_SLOT option \"%s\": \"%s\"" +msgstr "უცნობი მნიშვნელობა CREATE_REPLICATION_SLOT-ის პარამეტრისთვის \"%s\": \"%s\"" + +#. translator: %s is a CREATE_REPLICATION_SLOT statement +#: replication/walsender.c:1095 +#, c-format +msgid "%s must not be called inside a transaction" +msgstr "%s ტრანზაქცის შიგნიდან არ უნდა გამოიძახოთ" + +#. translator: %s is a CREATE_REPLICATION_SLOT statement +#: replication/walsender.c:1105 +#, c-format +msgid "%s must be called inside a transaction" +msgstr "%s ტრანზაქციის შიგნიდან უნდა გამოიძახოთ" + +#. translator: %s is a CREATE_REPLICATION_SLOT statement +#: replication/walsender.c:1111 +#, c-format +msgid "%s must be called in REPEATABLE READ isolation mode transaction" +msgstr "" + +#. translator: %s is a CREATE_REPLICATION_SLOT statement +#: replication/walsender.c:1116 +#, c-format +msgid "%s must be called in a read-only transaction" +msgstr "%s მხოლოდ-წაკითხვად ტრანზაქციაში უნდა გამოიძახოთ" + +#. translator: %s is a CREATE_REPLICATION_SLOT statement +#: replication/walsender.c:1122 +#, c-format +msgid "%s must be called before any query" +msgstr "%s ყველა მოთხოვნაზე ადრე უნდა გამოიძახოთ" + +#. translator: %s is a CREATE_REPLICATION_SLOT statement +#: replication/walsender.c:1128 +#, c-format +msgid "%s must not be called in a subtransaction" +msgstr "%s ქვეტრანზაქციაში არ უნდა გამოიძახოთ" + +#: replication/walsender.c:1275 +#, c-format +msgid "terminating walsender process after promotion" +msgstr "walsender პროცესის შეწყვეტა დაწინაურების შემდეგ" + +#: replication/walsender.c:1696 +#, c-format +msgid "cannot execute new commands while WAL sender is in stopping mode" +msgstr "'WAL'-გამგზავნის გაჩერების რეჟიმში ყოფნის დროს ახალი ბრძანებების შესრულება შეუძლებელია" + +#: replication/walsender.c:1731 +#, c-format +msgid "cannot execute SQL commands in WAL sender for physical replication" +msgstr "ფიზიკური რეპლიკაციისთვის WAL-ის გამგზავნში SQL ბრძანებების შესრულება შეუძლებელია" + +#: replication/walsender.c:1764 +#, c-format +msgid "received replication command: %s" +msgstr "მიღებულია რეპლიკაციის ბრძანება: %s" + +#: replication/walsender.c:1772 tcop/fastpath.c:209 tcop/postgres.c:1138 tcop/postgres.c:1496 tcop/postgres.c:1736 tcop/postgres.c:2210 tcop/postgres.c:2648 tcop/postgres.c:2726 +#, c-format +msgid "current transaction is aborted, commands ignored until end of transaction block" +msgstr "" + +#: replication/walsender.c:1914 replication/walsender.c:1949 +#, c-format +msgid "unexpected EOF on standby connection" +msgstr "მოულოდნელი EOF მომლოდინის მიერთებაზე" + +#: replication/walsender.c:1937 +#, c-format +msgid "invalid standby message type \"%c\"" +msgstr "არასწორი მომლოდინის შეტყობინების ტიპი \"%c\"" + +#: replication/walsender.c:2026 +#, c-format +msgid "unexpected message type \"%c\"" +msgstr "შეტყობინების მოულოდნელი ტიპი: \"%c\"" + +#: replication/walsender.c:2439 +#, c-format +msgid "terminating walsender process due to replication timeout" +msgstr "walsender პროცესის შეწყვეტა რეპლიკაციის მოლოდინის ვადის ამოწურვის გამო" + +#: rewrite/rewriteDefine.c:111 rewrite/rewriteDefine.c:842 +#, c-format +msgid "rule \"%s\" for relation \"%s\" already exists" +msgstr "წესი \"%s\" ურთიერთობისთვის \"%s\" უკვე არსებობს" + +#: rewrite/rewriteDefine.c:268 rewrite/rewriteDefine.c:780 +#, c-format +msgid "relation \"%s\" cannot have rules" +msgstr "ურთიერთობას \"%s\" წესები ვერ ექნება" + +#: rewrite/rewriteDefine.c:299 +#, c-format +msgid "rule actions on OLD are not implemented" +msgstr "\"OLD\"-ზე წესის ქმედებები განხორციელებული არა" + +#: rewrite/rewriteDefine.c:300 +#, c-format +msgid "Use views or triggers instead." +msgstr "გამოიყენეთ ხედები ან ტრიგერები." + +#: rewrite/rewriteDefine.c:304 +#, c-format +msgid "rule actions on NEW are not implemented" +msgstr "\"NEW\"-ზე წესის ქმედებები განხორციელებული არა" + +#: rewrite/rewriteDefine.c:305 +#, c-format +msgid "Use triggers instead." +msgstr "ამის ნაცვლად ტრიგერები გამოიყენეთ." + +#: rewrite/rewriteDefine.c:319 +#, c-format +msgid "relation \"%s\" cannot have ON SELECT rules" +msgstr "ურთიერთობას \"%s\" ON SELECT წესები ვერ ექნება" + +#: rewrite/rewriteDefine.c:329 +#, c-format +msgid "INSTEAD NOTHING rules on SELECT are not implemented" +msgstr "SELECT-ზე INSTEAD NOTHING წესები განხორციელებული არაა" + +#: rewrite/rewriteDefine.c:330 +#, c-format +msgid "Use views instead." +msgstr "ამის ნაცვლად ხედები გამოიყენეთ." + +#: rewrite/rewriteDefine.c:338 +#, c-format +msgid "multiple actions for rules on SELECT are not implemented" +msgstr "\"SELECT\"-ზე ერთზე მეტი წესის ქმედება მხარდაუჭერელია" + +#: rewrite/rewriteDefine.c:348 +#, c-format +msgid "rules on SELECT must have action INSTEAD SELECT" +msgstr "\"SELECT\"-ზე არსებულ წესებს ქმედება INSTEAD SELECT აუცილებლად უნდა ჰქონდეთ" + +#: rewrite/rewriteDefine.c:356 +#, c-format +msgid "rules on SELECT must not contain data-modifying statements in WITH" +msgstr "\"SELECT\"-ზე არსებულ წესები \"WITH\"-ში მონაცემების შემცვლელ ოპერატორებს არ უნდა შეიცავდნენ" + +#: rewrite/rewriteDefine.c:364 +#, c-format +msgid "event qualifications are not implemented for rules on SELECT" +msgstr "'SELECT'-ზე წესებისთვის პირობების ქონა განხორციელებული არაა" + +#: rewrite/rewriteDefine.c:391 +#, c-format +msgid "\"%s\" is already a view" +msgstr "\"%s\" უკვე ხედია" + +#: rewrite/rewriteDefine.c:415 +#, c-format +msgid "view rule for \"%s\" must be named \"%s\"" +msgstr "ხედის წესის \"%s\" სახელი \"%s\" უნდა იყოს" + +#: rewrite/rewriteDefine.c:442 +#, c-format +msgid "cannot have multiple RETURNING lists in a rule" +msgstr "წესში ერთზე მეტი RETURNING ტიპის სია ვერ გექნებათ" + +#: rewrite/rewriteDefine.c:447 +#, c-format +msgid "RETURNING lists are not supported in conditional rules" +msgstr "RETURNING ტიპის სიები პირობის მქონე წესებში მხარდაჭერილი არაა" + +#: rewrite/rewriteDefine.c:451 +#, c-format +msgid "RETURNING lists are not supported in non-INSTEAD rules" +msgstr "სიები RETURNING არა-INSTEAD წესებში მხარდაჭერილი არაა" + +#: rewrite/rewriteDefine.c:465 +#, c-format +msgid "non-view rule for \"%s\" must not be named \"%s\"" +msgstr "კურსორს %s არგუმენტი სახელად %s არ გააჩნია" + +#: rewrite/rewriteDefine.c:539 +#, c-format +msgid "SELECT rule's target list has too many entries" +msgstr "SELECT-ის წესის სამიზნე სია მეტისმეტად ბევრ ელემენტს ჩანაწერს შეიცავს" + +#: rewrite/rewriteDefine.c:540 +#, c-format +msgid "RETURNING list has too many entries" +msgstr "RETURNING ტიპის სიაში მეტისმეტად ბევრი ჩანაწერია" + +#: rewrite/rewriteDefine.c:567 +#, c-format +msgid "cannot convert relation containing dropped columns to view" +msgstr "" + +#: rewrite/rewriteDefine.c:568 +#, c-format +msgid "cannot create a RETURNING list for a relation containing dropped columns" +msgstr "" + +#: rewrite/rewriteDefine.c:574 +#, c-format +msgid "SELECT rule's target entry %d has different column name from column \"%s\"" +msgstr "" + +#: rewrite/rewriteDefine.c:576 +#, c-format +msgid "SELECT target entry is named \"%s\"." +msgstr "SELECT-ის სამიზნე ჩანაწერის სახელია \"%s\"." + +#: rewrite/rewriteDefine.c:585 +#, c-format +msgid "SELECT rule's target entry %d has different type from column \"%s\"" +msgstr "" + +#: rewrite/rewriteDefine.c:587 +#, c-format +msgid "RETURNING list's entry %d has different type from column \"%s\"" +msgstr "" + +#: rewrite/rewriteDefine.c:590 rewrite/rewriteDefine.c:614 +#, c-format +msgid "SELECT target entry has type %s, but column has type %s." +msgstr "" + +#: rewrite/rewriteDefine.c:593 rewrite/rewriteDefine.c:618 +#, c-format +msgid "RETURNING list entry has type %s, but column has type %s." +msgstr "" + +#: rewrite/rewriteDefine.c:609 +#, c-format +msgid "SELECT rule's target entry %d has different size from column \"%s\"" +msgstr "" + +#: rewrite/rewriteDefine.c:611 +#, c-format +msgid "RETURNING list's entry %d has different size from column \"%s\"" +msgstr "" + +#: rewrite/rewriteDefine.c:628 +#, c-format +msgid "SELECT rule's target list has too few entries" +msgstr "" + +#: rewrite/rewriteDefine.c:629 +#, c-format +msgid "RETURNING list has too few entries" +msgstr "RETURNING ტიპის სიაში მეტისმეტად ცოტა ჩანაწერია" + +#: rewrite/rewriteDefine.c:718 rewrite/rewriteDefine.c:833 rewrite/rewriteSupport.c:109 +#, c-format +msgid "rule \"%s\" for relation \"%s\" does not exist" +msgstr "წესი %s ურთიერთობისთვის \"%s\" არ არსებობს" + +#: rewrite/rewriteDefine.c:852 +#, c-format +msgid "renaming an ON SELECT rule is not allowed" +msgstr "'ON SELECT' წესზე სახელის გადარქმევა დაუშვებელია" + +#: rewrite/rewriteHandler.c:583 +#, c-format +msgid "WITH query name \"%s\" appears in both a rule action and the query being rewritten" +msgstr "" + +#: rewrite/rewriteHandler.c:610 +#, c-format +msgid "INSERT ... SELECT rule actions are not supported for queries having data-modifying statements in WITH" +msgstr "INSERT … SELECT წესის ქმედებები მხარდაუჭერელია მოთხოვნებისთვის, რომლებსაც WITH-ის შემცველი მონაცემების შემცვლელი გამოსახულებები გააჩნიათ" + +#: rewrite/rewriteHandler.c:663 +#, c-format +msgid "cannot have RETURNING lists in multiple rules" +msgstr "" + +#: rewrite/rewriteHandler.c:895 rewrite/rewriteHandler.c:934 +#, c-format +msgid "cannot insert a non-DEFAULT value into column \"%s\"" +msgstr "" + +#: rewrite/rewriteHandler.c:897 rewrite/rewriteHandler.c:963 +#, c-format +msgid "Column \"%s\" is an identity column defined as GENERATED ALWAYS." +msgstr "" + +#: rewrite/rewriteHandler.c:899 +#, c-format +msgid "Use OVERRIDING SYSTEM VALUE to override." +msgstr "გადასაფარად გამოიყენეთ OVERRIDING SYSTEM VALUE." + +#: rewrite/rewriteHandler.c:961 rewrite/rewriteHandler.c:969 +#, c-format +msgid "column \"%s\" can only be updated to DEFAULT" +msgstr "სვეტი \"%s\" მხოლოდ DEFAULT-მდე შეიძლება, განახლდეს" + +#: rewrite/rewriteHandler.c:1116 rewrite/rewriteHandler.c:1134 +#, c-format +msgid "multiple assignments to same column \"%s\"" +msgstr "" + +#: rewrite/rewriteHandler.c:2119 rewrite/rewriteHandler.c:4040 +#, c-format +msgid "infinite recursion detected in rules for relation \"%s\"" +msgstr "" + +#: rewrite/rewriteHandler.c:2204 +#, c-format +msgid "infinite recursion detected in policy for relation \"%s\"" +msgstr "" + +#: rewrite/rewriteHandler.c:2524 +msgid "Junk view columns are not updatable." +msgstr "ნაგვის ნახვის სვეტები განახლებადი არაა." + +#: rewrite/rewriteHandler.c:2529 +msgid "View columns that are not columns of their base relation are not updatable." +msgstr "ხედის სვეტები, რომლებიც მათი საბაზისო ურთიერთობის სვეტები არიან, განახლებადი არაა." + +#: rewrite/rewriteHandler.c:2532 +msgid "View columns that refer to system columns are not updatable." +msgstr "ხედის სვეტები, რომლებიც სისტემურ სვეტებზეა მიბმული, განახლებადი არაა." + +#: rewrite/rewriteHandler.c:2535 +msgid "View columns that return whole-row references are not updatable." +msgstr "ხედის სვეტები, რომლებიც მთელ-მწკრივიან ბმებზე მიუთითებენ, განახლებადი არაა." + +#: rewrite/rewriteHandler.c:2596 +msgid "Views containing DISTINCT are not automatically updatable." +msgstr "\"DISTINCT\"-ის შემცველი ხედები განახლებადი არაა." + +#: rewrite/rewriteHandler.c:2599 +msgid "Views containing GROUP BY are not automatically updatable." +msgstr "\"GROUP BY\"-ის შემცველი ხედები თვითგანახლებადი არაა." + +#: rewrite/rewriteHandler.c:2602 +msgid "Views containing HAVING are not automatically updatable." +msgstr "\"HAVING\"-ის შემცველი ხედები თვითგანახლებადი არაა." + +#: rewrite/rewriteHandler.c:2605 +msgid "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable." +msgstr "\"UNION\"-ის, \"INTERSECT\"-ის და \"EXCEPT\"-ის შემცველი ხედები თვითგანახლებადი არაა." + +#: rewrite/rewriteHandler.c:2608 +msgid "Views containing WITH are not automatically updatable." +msgstr "\"WITH\"-ის შემცველი ხედები თვითგანახლებადი არაა." + +#: rewrite/rewriteHandler.c:2611 +msgid "Views containing LIMIT or OFFSET are not automatically updatable." +msgstr "\"LIMIT\"-ის და \"OFFSET\"-ის შემცველი ხედები თვითგანახლებადი არაა." + +#: rewrite/rewriteHandler.c:2623 +msgid "Views that return aggregate functions are not automatically updatable." +msgstr "ხედები, რომლებიც აგრეგატულ ფუნქციებს აბრუნებენ, თვითგანახლებადი არაა." + +#: rewrite/rewriteHandler.c:2626 +msgid "Views that return window functions are not automatically updatable." +msgstr "ხედები, რომლებიც ფანჯრის ფუნქციებს აბრუნებენ, თვითგანახლებადი არაა." + +#: rewrite/rewriteHandler.c:2629 +msgid "Views that return set-returning functions are not automatically updatable." +msgstr "ხედები, რომლებიც აბრუნებენ ფუნქციებს, რომლებიც სეტებს აბრუნებენ, თვითგანახლებადი არაა." + +#: 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 "" + +#: rewrite/rewriteHandler.c:2651 +msgid "Views containing TABLESAMPLE are not automatically updatable." +msgstr "" + +#: rewrite/rewriteHandler.c:2675 +msgid "Views that have no updatable columns are not automatically updatable." +msgstr "ხედები, რომლებსაც განახლებადი ცხრილები არ გააჩნია, ავტომატურად განახლებადები არ არიან." + +#: rewrite/rewriteHandler.c:3155 +#, c-format +msgid "cannot insert into column \"%s\" of view \"%s\"" +msgstr "ხედის (\"%2$s\") სვეტში \"%1$s\" მონაცემის ჩასმა შეუძლებელია" + +#: rewrite/rewriteHandler.c:3163 +#, c-format +msgid "cannot update column \"%s\" of view \"%s\"" +msgstr "ხედის (\"%2$s\") სვეტის \"%1$s\" განახლება შეუძლებელია" + +#: rewrite/rewriteHandler.c:3667 +#, c-format +msgid "DO INSTEAD NOTIFY rules are not supported for data-modifying statements in WITH" +msgstr "" + +#: rewrite/rewriteHandler.c:3678 +#, c-format +msgid "DO INSTEAD NOTHING rules are not supported for data-modifying statements in WITH" +msgstr "" + +#: rewrite/rewriteHandler.c:3692 +#, c-format +msgid "conditional DO INSTEAD rules are not supported for data-modifying statements in WITH" +msgstr "" + +#: rewrite/rewriteHandler.c:3696 +#, c-format +msgid "DO ALSO rules are not supported for data-modifying statements in WITH" +msgstr "" + +#: rewrite/rewriteHandler.c:3701 +#, c-format +msgid "multi-statement DO INSTEAD rules are not supported for data-modifying statements in WITH" +msgstr "" + +#: rewrite/rewriteHandler.c:3968 rewrite/rewriteHandler.c:3976 rewrite/rewriteHandler.c:3984 +#, c-format +msgid "Views with conditional DO INSTEAD rules are not automatically updatable." +msgstr "" + +#: rewrite/rewriteHandler.c:4089 +#, c-format +msgid "cannot perform INSERT RETURNING on relation \"%s\"" +msgstr "ურთიერთობაზე \"%s\" 'INSERT RETURNING'-ის განხორციელება შეუძლებელია" + +#: rewrite/rewriteHandler.c:4091 +#, c-format +msgid "You need an unconditional ON INSERT DO INSTEAD rule with a RETURNING clause." +msgstr "" + +#: rewrite/rewriteHandler.c:4096 +#, c-format +msgid "cannot perform UPDATE RETURNING on relation \"%s\"" +msgstr "ურთიერთობაზე \"%s\" 'UPDATE RETURNING'-ის განხორციელება შეუძლებელია" + +#: rewrite/rewriteHandler.c:4098 +#, c-format +msgid "You need an unconditional ON UPDATE DO INSTEAD rule with a RETURNING clause." +msgstr "" + +#: rewrite/rewriteHandler.c:4103 +#, c-format +msgid "cannot perform DELETE RETURNING on relation \"%s\"" +msgstr "ურთიერთობაზე \"%s\" 'DELETE RETURNING'-ის განხორციელება შეუძლებელია" + +#: rewrite/rewriteHandler.c:4105 +#, c-format +msgid "You need an unconditional ON DELETE DO INSTEAD rule with a RETURNING clause." +msgstr "" + +#: rewrite/rewriteHandler.c:4123 +#, c-format +msgid "INSERT with ON CONFLICT clause cannot be used with table that has INSERT or UPDATE rules" +msgstr "" + +#: rewrite/rewriteHandler.c:4180 +#, c-format +msgid "WITH cannot be used in a query that is rewritten by rules into multiple queries" +msgstr "" + +#: rewrite/rewriteManip.c:1075 +#, c-format +msgid "conditional utility statements are not implemented" +msgstr "პირობითი სამსახურეობრივი გამოსახულებები განხორციელებული არაა" + +#: rewrite/rewriteManip.c:1419 +#, c-format +msgid "WHERE CURRENT OF on a view is not implemented" +msgstr "WHERE CURRENT OF ხედზე განხორციელებული არაა" + +#: 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 "" + +#: rewrite/rewriteSearchCycle.c:410 +#, 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 "" + +#: scan.l:482 +msgid "unterminated /* comment" +msgstr "დაუსრულებელი /* კომენტარი" + +#: scan.l:502 +msgid "unterminated bit string literal" +msgstr "გაწყვეტილი ბიტური სტრიქონი" + +#: scan.l:516 +msgid "unterminated hexadecimal string literal" +msgstr "გაწყვეტილი თექვსმეტობითი სტრიქონი" + +#: scan.l:566 +#, c-format +msgid "unsafe use of string constant with Unicode escapes" +msgstr "" + +#: scan.l:567 +#, c-format +msgid "String constants with Unicode escapes cannot be used when standard_conforming_strings is off." +msgstr "" + +#: scan.l:628 +msgid "unhandled previous state in xqs" +msgstr "დაუმუშავებელი წინა მდგომარეობა დამხურავი ბრჭყალის აღმოჩენისას" + +#: scan.l:702 +#, c-format +msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX." +msgstr "უნიკოდის სპეცკოდების შესაძლო ვარიანტებია \\uXXXX და \\UXXXXXXXX." + +#: scan.l:713 +#, c-format +msgid "unsafe use of \\' in a string literal" +msgstr "სტრიქონში \\'-ის გამოყენება უსაფრთხო არაა" + +#: scan.l:714 +#, c-format +msgid "Use '' to write quotes in strings. \\' is insecure in client-only encodings." +msgstr "" + +#: scan.l:786 +msgid "unterminated dollar-quoted string" +msgstr "$-ით დაწყებული სტრიქონ დაუმთავრებელია" + +#: scan.l:803 scan.l:813 +msgid "zero-length delimited identifier" +msgstr "გამყოფის ნულოვანი სიგრძის იდენტიფიკატორი" + +#: scan.l:824 syncrep_scanner.l:101 +msgid "unterminated quoted identifier" +msgstr "დაუსრულებელი იდენტიფიკატორი ბრჭყალებში" + +#: scan.l:987 +msgid "operator too long" +msgstr "ოპერატორი ძალიან გრძელია" + +#: scan.l:1000 +msgid "trailing junk after parameter" +msgstr "პარამეტრის შემდეგ მოყოლილი მონაცემები ნაგავია" + +#: scan.l:1021 +msgid "invalid hexadecimal integer" +msgstr "არასწორი თექვსმეტობითი მთელი რიცხვი" + +#: scan.l:1025 +msgid "invalid octal integer" +msgstr "არასწორი რვაობითი მთელი რიცხვი" + +#: scan.l:1029 +msgid "invalid binary integer" +msgstr "არასწორი ბინარული მთელი რიცხვი" + +#. translator: %s is typically the translation of "syntax error" +#: scan.l:1236 +#, c-format +msgid "%s at end of input" +msgstr "%s შეყვანის ბოლოს" + +#. translator: first %s is typically the translation of "syntax error" +#: scan.l:1244 +#, c-format +msgid "%s at or near \"%s\"" +msgstr "%s \"%s\"-სთან ან ახლოს" + +#: scan.l:1434 +#, c-format +msgid "nonstandard use of \\' in a string literal" +msgstr "სტრიქონში \\' არასტანდარტულადაა გამოყენებული" + +#: scan.l:1435 +#, c-format +msgid "Use '' to write quotes in strings, or use the escape string syntax (E'...')." +msgstr "" + +#: scan.l:1444 +#, c-format +msgid "nonstandard use of \\\\ in a string literal" +msgstr "სტრიქონში \\\\ არასტანდარტულადაა გამოყენებული" + +#: scan.l:1445 +#, c-format +msgid "Use the escape string syntax for backslashes, e.g., E'\\\\'." +msgstr "" + +#: scan.l:1459 +#, c-format +msgid "nonstandard use of escape in a string literal" +msgstr "" + +#: scan.l:1460 +#, c-format +msgid "Use the escape string syntax for escapes, e.g., E'\\r\\n'." +msgstr "" + +#: snowball/dict_snowball.c:215 +#, c-format +msgid "no Snowball stemmer available for language \"%s\" and encoding \"%s\"" +msgstr "" + +#: snowball/dict_snowball.c:238 tsearch/dict_ispell.c:74 tsearch/dict_simple.c:49 +#, c-format +msgid "multiple StopWords parameters" +msgstr "გამეორებადი StopWords პარამეტრი" + +#: snowball/dict_snowball.c:247 +#, c-format +msgid "multiple Language parameters" +msgstr "გამეორებადი Language პარამეტრი" + +#: snowball/dict_snowball.c:254 +#, c-format +msgid "unrecognized Snowball parameter: \"%s\"" +msgstr "" + +#: snowball/dict_snowball.c:262 +#, c-format +msgid "missing Language parameter" +msgstr "აკლია პარამეტრი Language" + +#: statistics/extended_stats.c:179 +#, c-format +msgid "statistics object \"%s.%s\" could not be computed for relation \"%s.%s\"" +msgstr "" + +#: statistics/mcv.c:1372 +#, c-format +msgid "function returning record called in context that cannot accept type record" +msgstr "ფუნქცია, რომელიც ჩანაწერს აბრუნებს, გამოძახებულია კონტექსტში, რომელსაც ჩანაწერის მიღება არ შეუძლია" + +#: storage/buffer/bufmgr.c:612 storage/buffer/bufmgr.c:769 +#, c-format +msgid "cannot access temporary tables of other sessions" +msgstr "სხვა სესიების დროებით ცხრილებთან წვდომა შეუძლებელია" + +#: storage/buffer/bufmgr.c:1137 +#, c-format +msgid "invalid page in block %u of relation %s; zeroing out page" +msgstr "" + +#: storage/buffer/bufmgr.c:1931 storage/buffer/localbuf.c:359 +#, c-format +msgid "cannot extend relation %s beyond %u blocks" +msgstr "" + +#: storage/buffer/bufmgr.c:1998 +#, c-format +msgid "unexpected data beyond EOF in block %u of relation %s" +msgstr "" + +#: storage/buffer/bufmgr.c:2000 +#, c-format +msgid "This has been seen to occur with buggy kernels; consider updating your system." +msgstr "" + +#: storage/buffer/bufmgr.c:5219 +#, c-format +msgid "could not write block %u of %s" +msgstr "%2$s-ის %1$u ბლოკის ჩაწერა შეუძლებელია" + +#: storage/buffer/bufmgr.c:5221 +#, c-format +msgid "Multiple failures --- write error might be permanent." +msgstr "ბევრი შეცდომა --- ჩაწერის შეცდომა შეიძლება მუდმივი იყოს." + +#: storage/buffer/bufmgr.c:5243 storage/buffer/bufmgr.c:5263 +#, c-format +msgid "writing block %u of relation %s" +msgstr "" + +#: storage/buffer/bufmgr.c:5593 +#, c-format +msgid "snapshot too old" +msgstr "სწრაფი ასლი ძალიან ძველია" + +#: storage/buffer/localbuf.c:219 +#, c-format +msgid "no empty local buffer available" +msgstr "ცარიელი ლოკალური ბაფერები მიუწვდომელია" + +#: storage/buffer/localbuf.c:592 +#, c-format +msgid "cannot access temporary tables during a parallel operation" +msgstr "" + +#: storage/buffer/localbuf.c:699 +#, c-format +msgid "\"temp_buffers\" cannot be changed after any temporary tables have been accessed in the session." +msgstr "" + +#: storage/file/buffile.c:338 +#, c-format +msgid "could not open temporary file \"%s\" from BufFile \"%s\": %m" +msgstr "" + +#: storage/file/buffile.c:632 +#, c-format +msgid "could not read from file set \"%s\": read only %zu of %zu bytes" +msgstr "ფაილების სეტიდან (\"%s\") წაკითხვის შეცდომა: წავიკითხე მხოლოდ %zu ბაიტი %zu-დან" + +#: storage/file/buffile.c:634 +#, c-format +msgid "could not read from temporary file: read only %zu of %zu bytes" +msgstr "დროებით ფაილიდან წაკითხვის შეცდომა: წავიკითხე მხოლოდ %zu ბაიტი %zu-დან" + +#: storage/file/buffile.c:774 storage/file/buffile.c:895 +#, c-format +msgid "could not determine size of temporary file \"%s\" from BufFile \"%s\": %m" +msgstr "" + +#: storage/file/buffile.c:974 +#, c-format +msgid "could not delete fileset \"%s\": %m" +msgstr "ფაილების სეტის (\"%s\") წაშლის შეცდომა: %m" + +#: storage/file/buffile.c:992 storage/smgr/md.c:338 storage/smgr/md.c:1041 +#, c-format +msgid "could not truncate file \"%s\": %m" +msgstr "ფაილის (%s) მოკვეთის შეცდომა: %m" + +#: storage/file/fd.c:537 storage/file/fd.c:609 storage/file/fd.c:645 +#, c-format +msgid "could not flush dirty data: %m" +msgstr "" + +#: storage/file/fd.c:567 +#, c-format +msgid "could not determine dirty data size: %m" +msgstr "" + +#: storage/file/fd.c:619 +#, c-format +msgid "could not munmap() while flushing data: %m" +msgstr "" + +#: storage/file/fd.c:937 +#, c-format +msgid "getrlimit failed: %m" +msgstr "getrlimit-ის შეცდომა: %m" + +#: storage/file/fd.c:1027 +#, c-format +msgid "insufficient file descriptors available to start server process" +msgstr "სერვერის პროცესის გასაშვებად საკმარისი ფაილის დესკრიპტორების ხელმისაწვდომი არაა" + +#: storage/file/fd.c:1028 +#, c-format +msgid "System allows %d, server needs at least %d." +msgstr "სისტემა გვიშვებს %d, სერვერს კი სჭირდება %d." + +#: storage/file/fd.c:1116 storage/file/fd.c:2565 storage/file/fd.c:2674 storage/file/fd.c:2825 +#, c-format +msgid "out of file descriptors: %m; release and retry" +msgstr "ფაილების დესკრიპტორების საკმარისი არაა: %m. გაათავისუფლეთ და თავიდან სცადეთ" + +#: storage/file/fd.c:1490 +#, c-format +msgid "temporary file: path \"%s\", size %lu" +msgstr "დროებითი ფაილი: ბილიკი \"%s\", ზომა %lu" + +#: storage/file/fd.c:1629 +#, c-format +msgid "cannot create temporary directory \"%s\": %m" +msgstr "დროებითი საქაღალდის (%s) შექმნის შეცდომა: %m" + +#: storage/file/fd.c:1636 +#, c-format +msgid "cannot create temporary subdirectory \"%s\": %m" +msgstr "დროებითი ქვესაქაღალდის (%s) შექმნის შეცდომა: %m" + +#: storage/file/fd.c:1833 +#, c-format +msgid "could not create temporary file \"%s\": %m" +msgstr "დროებითი ფაილის (%s) შექმნის შეცდომა: %m" + +#: storage/file/fd.c:1869 +#, c-format +msgid "could not open temporary file \"%s\": %m" +msgstr "დროებითი ფაილის (\"%s\") გახსნის შეცდომა: %m" + +#: storage/file/fd.c:1910 +#, c-format +msgid "could not unlink temporary file \"%s\": %m" +msgstr "დროებითი ფაილის (%s) ბმულის მოხსნის შეცდომა: %m" + +#: storage/file/fd.c:1998 +#, c-format +msgid "could not delete file \"%s\": %m" +msgstr "ფაილის (\"%s\") წაშლის შეცდომა: %m" + +#: storage/file/fd.c:2185 +#, c-format +msgid "temporary file size exceeds temp_file_limit (%dkB)" +msgstr "დროებითი ფაილის ზომა temp_file_limit-ს (%dკბ) აჭარბებს" + +#: storage/file/fd.c:2541 storage/file/fd.c:2600 +#, c-format +msgid "exceeded maxAllocatedDescs (%d) while trying to open file \"%s\"" +msgstr "გადაცილებულია maxAllocatedDescs (%d) როცა ვცდილობდი, გამეხსნა ფაილი \"%s\"" + +#: storage/file/fd.c:2645 +#, c-format +msgid "exceeded maxAllocatedDescs (%d) while trying to execute command \"%s\"" +msgstr "გადაცილებულია maxAllocatedDescs (%d) როცა ვცდილობდი, გამეშვა ბრძანება \"%s\"" + +#: storage/file/fd.c:2801 +#, c-format +msgid "exceeded maxAllocatedDescs (%d) while trying to open directory \"%s\"" +msgstr "გადაცილებულია maxAllocatedDescs (%d) როცა ვცდილობდი, გამეხსნა საქაღალდე \"%s\"" + +#: storage/file/fd.c:3331 +#, c-format +msgid "unexpected file found in temporary-files directory: \"%s\"" +msgstr "დროებითი ფაილების საქაღალდეში აღმოჩენილია მოულოდნელი ფაილი: \"%s\"" + +#: storage/file/fd.c:3449 +#, c-format +msgid "syncing data directory (syncfs), elapsed time: %ld.%02d s, current path: %s" +msgstr "" + +#: storage/file/fd.c:3463 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "" + +#: storage/file/fd.c:3676 +#, c-format +msgid "syncing data directory (pre-fsync), elapsed time: %ld.%02d s, current path: %s" +msgstr "" + +#: storage/file/fd.c:3708 +#, c-format +msgid "syncing data directory (fsync), elapsed time: %ld.%02d s, current path: %s" +msgstr "" + +#: storage/file/fd.c:3897 +#, c-format +msgid "debug_io_direct is not supported on this platform." +msgstr "debu_io_direct ამ პლატფორმაზე მხარდაჭერილი არაა." + +#: storage/file/fd.c:3944 +#, c-format +msgid "debug_io_direct is not supported for WAL because XLOG_BLCKSZ is too small" +msgstr "" + +#: storage/file/fd.c:3951 +#, c-format +msgid "debug_io_direct is not supported for data because BLCKSZ is too small" +msgstr "debug_io_direct მონაცემებისთვის მხარდაჭერილი არაა, რადგან BLCKSZ ძალიან პატარაა" + +#: storage/file/reinit.c:145 +#, c-format +msgid "resetting unlogged relations (init), elapsed time: %ld.%02d s, current path: %s" +msgstr "" + +#: storage/file/reinit.c:148 +#, c-format +msgid "resetting unlogged relations (cleanup), elapsed time: %ld.%02d s, current path: %s" +msgstr "" + +#: storage/file/sharedfileset.c:79 +#, c-format +msgid "could not attach to a SharedFileSet that is already destroyed" +msgstr "" + +#: storage/ipc/dsm.c:352 +#, c-format +msgid "dynamic shared memory control segment is corrupt" +msgstr "დინამიური გაზიარებული მეხსიერების კონტროლის სეგმენტი დაზიანებულია" + +#: storage/ipc/dsm.c:417 +#, c-format +msgid "dynamic shared memory control segment is not valid" +msgstr "დინამიური გაზიარებული მეხსიერების კონტროლის სეგმენტი არასწორია" + +#: storage/ipc/dsm.c:599 +#, c-format +msgid "too many dynamic shared memory segments" +msgstr "მეტისმეტად ბევრი დინამიური გაზიარებული მეხსიერების სეგმენტი" + +#: storage/ipc/dsm_impl.c:231 storage/ipc/dsm_impl.c:537 storage/ipc/dsm_impl.c:641 storage/ipc/dsm_impl.c:812 +#, c-format +msgid "could not unmap shared memory segment \"%s\": %m" +msgstr "მეხსიერების გაზიარებული სეგმენტის (\"%s\") მიბმის მოხსნის შეცდომა: %m" + +#: storage/ipc/dsm_impl.c:241 storage/ipc/dsm_impl.c:547 storage/ipc/dsm_impl.c:651 storage/ipc/dsm_impl.c:822 +#, c-format +msgid "could not remove shared memory segment \"%s\": %m" +msgstr "მეხსიერების გაზიარებული სეგმენტის (\"%s\") წაშლის შეცდომა: %m" + +#: storage/ipc/dsm_impl.c:265 storage/ipc/dsm_impl.c:722 storage/ipc/dsm_impl.c:836 +#, c-format +msgid "could not open shared memory segment \"%s\": %m" +msgstr "მეხსიერების გაზიარებული სეგმენტის (\"%s\") გახსნის შეცდომა: %m" + +#: storage/ipc/dsm_impl.c:290 storage/ipc/dsm_impl.c:563 storage/ipc/dsm_impl.c:767 storage/ipc/dsm_impl.c:860 +#, c-format +msgid "could not stat shared memory segment \"%s\": %m" +msgstr "მეხსიერების გაზიარებული სეგმენტის (\"%s\") პოვნის შეცდომა: %m" + +#: storage/ipc/dsm_impl.c:309 storage/ipc/dsm_impl.c:911 +#, c-format +msgid "could not resize shared memory segment \"%s\" to %zu bytes: %m" +msgstr "მეხსიერების გაზიარებული სეგმენტის (\"%s\") ზომის %zu ბაიტამე გაზრდის შეცდომა: %m" + +#: storage/ipc/dsm_impl.c:331 storage/ipc/dsm_impl.c:584 storage/ipc/dsm_impl.c:743 storage/ipc/dsm_impl.c:933 +#, c-format +msgid "could not map shared memory segment \"%s\": %m" +msgstr "მეხსიერების გაზიარებული სეგმენტის (\"%s\") მიბმის შეცდომა: %m" + +#: storage/ipc/dsm_impl.c:519 +#, c-format +msgid "could not get shared memory segment: %m" +msgstr "მეხსიერების გაზიარებული სეგმენტის მიღების შეცდომა: %m" + +#: storage/ipc/dsm_impl.c:707 +#, c-format +msgid "could not create shared memory segment \"%s\": %m" +msgstr "მეხსიერების გაზიარებული სეგმენტის (\"%s\") შექმნის შეცდომა: %m" + +#: storage/ipc/dsm_impl.c:944 +#, c-format +msgid "could not close shared memory segment \"%s\": %m" +msgstr "მეხსიერების გაზიარებული სეგმენტის (\"%s\") დახურვის შეცდომა: %m" + +#: storage/ipc/dsm_impl.c:984 storage/ipc/dsm_impl.c:1033 +#, c-format +msgid "could not duplicate handle for \"%s\": %m" +msgstr "\"%s\"-ის დამმუშავებლის დუბლირება შეუძლებელია: %m" + +#: storage/ipc/procarray.c:3796 +#, c-format +msgid "database \"%s\" is being used by prepared transactions" +msgstr "მონაცემთა ბაზა \"%s\" მომზადებული ტრანზაქციების მიერ გამოიყენება" + +#: storage/ipc/procarray.c:3828 storage/ipc/procarray.c:3837 storage/ipc/signalfuncs.c:230 storage/ipc/signalfuncs.c:237 +#, c-format +msgid "permission denied to terminate process" +msgstr "პროცესის შეწყვეტის წვდომა აკრძალულია" + +#: storage/ipc/procarray.c:3829 storage/ipc/signalfuncs.c:231 +#, c-format +msgid "Only roles with the %s attribute may terminate processes of roles with the %s attribute." +msgstr "" + +#: storage/ipc/procarray.c:3838 storage/ipc/signalfuncs.c:238 +#, 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 "" + +#: storage/ipc/procsignal.c:420 +#, c-format +msgid "still waiting for backend with PID %d to accept ProcSignalBarrier" +msgstr "" + +#: storage/ipc/shm_mq.c:384 +#, c-format +msgid "cannot send a message of size %zu via shared memory queue" +msgstr "გაზიარებული მეხსიერების რიგის გავლით %zu ბაიტის ზომის მქონე შეტყობინების გაგზავნა შეუძლებელია" + +#: storage/ipc/shm_mq.c:719 +#, c-format +msgid "invalid message size %zu in shared memory queue" +msgstr "გაზიარებული მეხსიერების რიგში არსებული შეტყობინების ზომა %zu არასწორია" + +#: storage/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:963 storage/lmgr/lock.c:1001 storage/lmgr/lock.c:2786 storage/lmgr/lock.c:4171 storage/lmgr/lock.c:4236 storage/lmgr/lock.c:4586 storage/lmgr/predicate.c:2412 storage/lmgr/predicate.c:2427 storage/lmgr/predicate.c:3824 storage/lmgr/predicate.c:4871 utils/hash/dynahash.c:1107 +#, c-format +msgid "out of shared memory" +msgstr "არასაკმარისი გაზიარებული მეხსიერება" + +#: storage/ipc/shmem.c:170 storage/ipc/shmem.c:266 +#, c-format +msgid "out of shared memory (%zu bytes requested)" +msgstr "არასაკმარისი გაზიარებული მეხსიერება (მოთხოვნილი იყო %zu ბაიტი)" + +#: storage/ipc/shmem.c:445 +#, c-format +msgid "could not create ShmemIndex entry for data structure \"%s\"" +msgstr "" + +#: storage/ipc/shmem.c:460 +#, c-format +msgid "ShmemIndex entry size is wrong for data structure \"%s\": expected %zu, actual %zu" +msgstr "" + +#: storage/ipc/shmem.c:479 +#, c-format +msgid "not enough shared memory for data structure \"%s\" (%zu bytes requested)" +msgstr "" + +#: storage/ipc/shmem.c:511 storage/ipc/shmem.c:530 +#, c-format +msgid "requested shared memory size overflows size_t" +msgstr "მოთხოვნილი გაზიარებული მეხსიერების ზომა site_t-ის გადავსებას იწვევს" + +#: storage/ipc/signalfuncs.c:72 +#, c-format +msgid "PID %d is not a PostgreSQL backend process" +msgstr "პროცესი PID-ით %d PostgreSQL-ის უკანაბოლოს პროცესს არ წარმოადგენს" + +#: storage/ipc/signalfuncs.c:104 storage/lmgr/proc.c:1379 utils/adt/mcxtfuncs.c:190 +#, c-format +msgid "could not send signal to process %d: %m" +msgstr "პროცესისთვის %d სიგნალის გაგზავნა შეუძლებელია: %m" + +#: storage/ipc/signalfuncs.c:124 storage/ipc/signalfuncs.c:131 +#, c-format +msgid "permission denied to cancel query" +msgstr "მოთხოვნის გაუქმების წვდომა აკრძალულია" + +#: storage/ipc/signalfuncs.c:125 +#, c-format +msgid "Only roles with the %s attribute may cancel queries of roles with the %s attribute." +msgstr "" + +#: storage/ipc/signalfuncs.c:132 +#, 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 "" + +#: storage/ipc/signalfuncs.c:174 +#, c-format +msgid "could not check the existence of the backend with PID %d: %m" +msgstr "" + +#: storage/ipc/signalfuncs.c:192 +#, 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] "" +msgstr[1] "" + +#: storage/ipc/signalfuncs.c:223 +#, c-format +msgid "\"timeout\" must not be negative" +msgstr "\"timeout\" უარყოფითი არ შეიძლება, იყოს" + +#: storage/ipc/signalfuncs.c:279 +#, c-format +msgid "must be superuser to rotate log files with adminpack 1.0" +msgstr "" + +#. translator: %s is a SQL function name +#: storage/ipc/signalfuncs.c:281 utils/adt/genfile.c:250 +#, c-format +msgid "Consider using %s, which is part of core, instead." +msgstr "" + +#: storage/ipc/signalfuncs.c:287 storage/ipc/signalfuncs.c:307 +#, c-format +msgid "rotation not possible because log collection not active" +msgstr "" + +#: storage/ipc/standby.c:330 +#, c-format +msgid "recovery still waiting after %ld.%03d ms: %s" +msgstr "" + +#: storage/ipc/standby.c:339 +#, c-format +msgid "recovery finished waiting after %ld.%03d ms: %s" +msgstr "" + +#: storage/ipc/standby.c:921 tcop/postgres.c:3384 +#, c-format +msgid "canceling statement due to conflict with recovery" +msgstr "გამოსახულების გაუქმება აღდგენასთან კონფლიქტის გამო" + +#: storage/ipc/standby.c:922 tcop/postgres.c:2533 +#, c-format +msgid "User transaction caused buffer deadlock with recovery." +msgstr "" + +#: storage/ipc/standby.c:1488 +msgid "unknown reason" +msgstr "უცნობი მიზეზი" + +#: storage/ipc/standby.c:1493 +msgid "recovery conflict on buffer pin" +msgstr "აღდგენის კონფლიქტი ბაფერის მიმაგრებისას" + +#: storage/ipc/standby.c:1496 +msgid "recovery conflict on lock" +msgstr "აღდგენის კონფლიქტი ბლოკირებისას" + +#: storage/ipc/standby.c:1499 +msgid "recovery conflict on tablespace" +msgstr "აღდგენის კონფლიქტი ცხრილების სივრცეზე" + +#: storage/ipc/standby.c:1502 +msgid "recovery conflict on snapshot" +msgstr "აღდგენის კონფლიქტი სწრაფ ასლზე" + +#: storage/ipc/standby.c:1505 +msgid "recovery conflict on replication slot" +msgstr "აღდგენის კონფლიქტი რეპლიკაციის სლოტზე" + +#: storage/ipc/standby.c:1508 +msgid "recovery conflict on buffer deadlock" +msgstr "აღდგენის კონფლიქტი ბაფერის ურთერთბლოკირებისას" + +#: storage/ipc/standby.c:1511 +msgid "recovery conflict on database" +msgstr "აღდგენის კონფლიქტი მონაცემთა ბაზაზე" + +#: storage/large_object/inv_api.c:191 +#, c-format +msgid "pg_largeobject entry for OID %u, page %d has invalid data field size %d" +msgstr "" + +#: storage/large_object/inv_api.c:274 +#, c-format +msgid "invalid flags for opening a large object: %d" +msgstr "დიდი ობიექტის არასწორი ალმები: %d" + +#: storage/large_object/inv_api.c:457 +#, c-format +msgid "invalid whence setting: %d" +msgstr "არასწორი ორიენტირის პარამეტრი: %d" + +#: storage/large_object/inv_api.c:629 +#, c-format +msgid "invalid large object write request size: %d" +msgstr "არასწორი დიდი ობიექტის ჩაწერის ზომა: %d" + +#: storage/lmgr/deadlock.c:1104 +#, c-format +msgid "Process %d waits for %s on %s; blocked by process %d." +msgstr "" + +#: storage/lmgr/deadlock.c:1123 +#, c-format +msgid "Process %d: %s" +msgstr "პროცესი %d: %s" + +#: storage/lmgr/deadlock.c:1132 +#, c-format +msgid "deadlock detected" +msgstr "ნაპოვნია ურთიერთბლოკირება" + +#: storage/lmgr/deadlock.c:1135 +#, c-format +msgid "See server log for query details." +msgstr "მოთხოვნის დეტალებისთვის იხილეთ სერვერის ჟურნალი." + +#: storage/lmgr/lmgr.c:859 +#, c-format +msgid "while updating tuple (%u,%u) in relation \"%s\"" +msgstr "კორტეჟის (%u,%u) განახლებისას ურთიერთობაში \"%s\"" + +#: storage/lmgr/lmgr.c:862 +#, c-format +msgid "while deleting tuple (%u,%u) in relation \"%s\"" +msgstr "კორტეჟის (%u,%u) წაშლისას ურთიერთობაში \"%s\"" + +#: storage/lmgr/lmgr.c:865 +#, c-format +msgid "while locking tuple (%u,%u) in relation \"%s\"" +msgstr "კორტეჟის (%u,%u) დაბლოკვისას ურთიერთობაში \"%s\"" + +#: storage/lmgr/lmgr.c:868 +#, c-format +msgid "while locking updated version (%u,%u) of tuple in relation \"%s\"" +msgstr "კორტეჟის (%u,%u) განახლებული ვერსიის დაბლოკვისას ურთიერთობაში \"%s\"" + +#: storage/lmgr/lmgr.c:871 +#, c-format +msgid "while inserting index tuple (%u,%u) in relation \"%s\"" +msgstr "" + +#: storage/lmgr/lmgr.c:874 +#, c-format +msgid "while checking uniqueness of tuple (%u,%u) in relation \"%s\"" +msgstr "" + +#: storage/lmgr/lmgr.c:877 +#, c-format +msgid "while rechecking updated tuple (%u,%u) in relation \"%s\"" +msgstr "" + +#: storage/lmgr/lmgr.c:880 +#, c-format +msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\"" +msgstr "" + +#: storage/lmgr/lmgr.c:1174 +#, c-format +msgid "relation %u of database %u" +msgstr "ურთიერთობა %u ბაზისთვის %u" + +#: storage/lmgr/lmgr.c:1180 +#, c-format +msgid "extension of relation %u of database %u" +msgstr "ურთიერთობის %u გაფართოება ბაზისთვის %u" + +#: storage/lmgr/lmgr.c:1186 +#, c-format +msgid "pg_database.datfrozenxid of database %u" +msgstr "pg_database.datfrozenxid ბაზისთვის %u" + +#: storage/lmgr/lmgr.c:1191 +#, c-format +msgid "page %u of relation %u of database %u" +msgstr "გვერდი %u ურთიერთობისთვის %u ბაზისთვის %u" + +#: storage/lmgr/lmgr.c:1198 +#, c-format +msgid "tuple (%u,%u) of relation %u of database %u" +msgstr "" + +#: storage/lmgr/lmgr.c:1206 +#, c-format +msgid "transaction %u" +msgstr "ტრანზაქცია %u" + +#: storage/lmgr/lmgr.c:1211 +#, c-format +msgid "virtual transaction %d/%u" +msgstr "ვირტუალური ტრანზაქცია %d/%u" + +#: storage/lmgr/lmgr.c:1217 +#, c-format +msgid "speculative token %u of transaction %u" +msgstr "" + +#: storage/lmgr/lmgr.c:1223 +#, c-format +msgid "object %u of class %u of database %u" +msgstr "" + +#: storage/lmgr/lmgr.c:1231 +#, c-format +msgid "user lock [%u,%u,%u]" +msgstr "მომხმარებლის ბლოკი [%u,%u,%u]" + +#: storage/lmgr/lmgr.c:1238 +#, c-format +msgid "advisory lock [%u,%u,%u,%u]" +msgstr "რეკომენდებული ბლოკი [%u,%u,%u,%u]" + +#: storage/lmgr/lmgr.c:1246 +#, c-format +msgid "remote transaction %u of subscription %u of database %u" +msgstr "დაშორებული ტრანზაქცია %u გამოწერა %u ბაზისთვის %u" + +#: storage/lmgr/lmgr.c:1253 +#, c-format +msgid "unrecognized locktag type %d" +msgstr "locktag-ის უცნობი ტიპი %d" + +#: storage/lmgr/lock.c:791 +#, c-format +msgid "cannot acquire lock mode %s on database objects while recovery is in progress" +msgstr "" + +#: storage/lmgr/lock.c:793 +#, c-format +msgid "Only RowExclusiveLock or less can be acquired on database objects during recovery." +msgstr "" + +#: storage/lmgr/lock.c:3235 storage/lmgr/lock.c:3303 storage/lmgr/lock.c:3419 +#, c-format +msgid "cannot PREPARE while holding both session-level and transaction-level locks on the same object" +msgstr "" + +#: storage/lmgr/predicate.c:649 +#, c-format +msgid "not enough elements in RWConflictPool to record a read/write conflict" +msgstr "" + +#: storage/lmgr/predicate.c:650 storage/lmgr/predicate.c:675 +#, c-format +msgid "You might need to run fewer transactions at a time or increase max_connections." +msgstr "" + +#: storage/lmgr/predicate.c:674 +#, c-format +msgid "not enough elements in RWConflictPool to record a potential read/write conflict" +msgstr "" + +#: storage/lmgr/predicate.c:1630 +#, c-format +msgid "\"default_transaction_isolation\" is set to \"serializable\"." +msgstr "\"default_transaction_isolation\"-ი \"serializable\"-ზეა დაყენებული." + +#: storage/lmgr/predicate.c:1631 +#, c-format +msgid "You can use \"SET default_transaction_isolation = 'repeatable read'\" to change the default." +msgstr "" + +#: storage/lmgr/predicate.c:1682 +#, c-format +msgid "a snapshot-importing transaction must not be READ ONLY DEFERRABLE" +msgstr "" + +#: storage/lmgr/predicate.c:1761 utils/time/snapmgr.c:570 utils/time/snapmgr.c:576 +#, c-format +msgid "could not import the requested snapshot" +msgstr "მოთხოვნილი სწრაფი ასლის შემოტანა შეუძლებელია" + +#: storage/lmgr/predicate.c:1762 utils/time/snapmgr.c:577 +#, c-format +msgid "The source process with PID %d is not running anymore." +msgstr "საწყისი პროცესი PID-ით %d გაშვებული აღარაა." + +#: storage/lmgr/predicate.c:3935 storage/lmgr/predicate.c:3971 storage/lmgr/predicate.c:4004 storage/lmgr/predicate.c:4012 storage/lmgr/predicate.c:4051 storage/lmgr/predicate.c:4281 storage/lmgr/predicate.c:4600 storage/lmgr/predicate.c:4612 storage/lmgr/predicate.c:4659 storage/lmgr/predicate.c:4695 +#, c-format +msgid "could not serialize access due to read/write dependencies among transactions" +msgstr "" + +#: storage/lmgr/predicate.c:3937 storage/lmgr/predicate.c:3973 storage/lmgr/predicate.c:4006 storage/lmgr/predicate.c:4014 storage/lmgr/predicate.c:4053 storage/lmgr/predicate.c:4283 storage/lmgr/predicate.c:4602 storage/lmgr/predicate.c:4614 storage/lmgr/predicate.c:4661 storage/lmgr/predicate.c:4697 +#, c-format +msgid "The transaction might succeed if retried." +msgstr "ტრანზაქცია შეიძლება გაიტანოს, თუ გაიმეორებთ." + +#: storage/lmgr/proc.c:349 +#, c-format +msgid "number of requested standby connections exceeds max_wal_senders (currently %d)" +msgstr "" + +#: storage/lmgr/proc.c:1472 +#, c-format +msgid "process %d avoided deadlock for %s on %s by rearranging queue order after %ld.%03d ms" +msgstr "" + +#: storage/lmgr/proc.c:1487 +#, c-format +msgid "process %d detected deadlock while waiting for %s on %s after %ld.%03d ms" +msgstr "" + +#: storage/lmgr/proc.c:1496 +#, c-format +msgid "process %d still waiting for %s on %s after %ld.%03d ms" +msgstr "" + +#: storage/lmgr/proc.c:1503 +#, c-format +msgid "process %d acquired %s on %s after %ld.%03d ms" +msgstr "" + +#: storage/lmgr/proc.c:1520 +#, c-format +msgid "process %d failed to acquire %s on %s after %ld.%03d ms" +msgstr "" + +#: storage/page/bufpage.c:152 +#, c-format +msgid "page verification failed, calculated checksum %u but expected %u" +msgstr "" + +#: storage/page/bufpage.c:217 storage/page/bufpage.c:730 storage/page/bufpage.c:1073 storage/page/bufpage.c:1208 storage/page/bufpage.c:1314 storage/page/bufpage.c:1426 +#, c-format +msgid "corrupted page pointers: lower = %u, upper = %u, special = %u" +msgstr "" + +#: storage/page/bufpage.c:759 +#, c-format +msgid "corrupted line pointer: %u" +msgstr "ხაზის დაზიანებული მაჩვენებელი: %u" + +#: storage/page/bufpage.c:789 storage/page/bufpage.c:1266 +#, c-format +msgid "corrupted item lengths: total %u, available space %u" +msgstr "" + +#: storage/page/bufpage.c:1092 storage/page/bufpage.c:1233 storage/page/bufpage.c:1330 storage/page/bufpage.c:1442 +#, c-format +msgid "corrupted line pointer: offset = %u, size = %u" +msgstr "" + +#: storage/smgr/md.c:487 storage/smgr/md.c:549 +#, c-format +msgid "cannot extend file \"%s\" beyond %u blocks" +msgstr "" + +#: storage/smgr/md.c:502 storage/smgr/md.c:613 +#, c-format +msgid "could not extend file \"%s\": %m" +msgstr "ფაილის გაფართოების შეცდომა \"%s\": %m" + +#: storage/smgr/md.c:508 +#, c-format +msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u" +msgstr "" + +#: storage/smgr/md.c:591 +#, c-format +msgid "could not extend file \"%s\" with FileFallocate(): %m" +msgstr "ფაილის (\"%s\") FileFallocate()-ით გაფართოების შეცდომა: %m" + +#: storage/smgr/md.c:782 +#, c-format +msgid "could not read block %u in file \"%s\": %m" +msgstr "ბლოკის %u წაკითხვის შეცდომა ფაილში \"%s\": %m" + +#: storage/smgr/md.c:798 +#, c-format +msgid "could not read block %u in file \"%s\": read only %d of %d bytes" +msgstr "" + +#: storage/smgr/md.c:856 +#, c-format +msgid "could not write block %u in file \"%s\": %m" +msgstr "ბლოკის %u ჩაწერის შეცდომა ფაილში \"%s\": %m" + +#: storage/smgr/md.c:861 +#, c-format +msgid "could not write block %u in file \"%s\": wrote only %d of %d bytes" +msgstr "" + +#: storage/smgr/md.c:1012 +#, c-format +msgid "could not truncate file \"%s\" to %u blocks: it's only %u blocks now" +msgstr "" + +#: storage/smgr/md.c:1067 +#, c-format +msgid "could not truncate file \"%s\" to %u blocks: %m" +msgstr "" + +#: storage/smgr/md.c:1494 +#, c-format +msgid "could not open file \"%s\" (target block %u): previous segment is only %u blocks" +msgstr "" + +#: storage/smgr/md.c:1508 +#, c-format +msgid "could not open file \"%s\" (target block %u): %m" +msgstr "" + +#: tcop/fastpath.c:142 utils/fmgr/fmgr.c:2132 +#, c-format +msgid "function with OID %u does not exist" +msgstr "ფუნქცია OID-ით %u არ არსებობს" + +#: tcop/fastpath.c:149 +#, c-format +msgid "cannot call function \"%s\" via fastpath interface" +msgstr "" + +#: tcop/fastpath.c:234 +#, c-format +msgid "fastpath function call: \"%s\" (OID %u)" +msgstr "" + +#: tcop/fastpath.c:313 tcop/postgres.c:1365 tcop/postgres.c:1601 tcop/postgres.c:2059 tcop/postgres.c:2309 +#, c-format +msgid "duration: %s ms" +msgstr "ხანგრძლივობა: %s მწმ" + +#: tcop/fastpath.c:317 +#, c-format +msgid "duration: %s ms fastpath function call: \"%s\" (OID %u)" +msgstr "" + +#: tcop/fastpath.c:353 +#, c-format +msgid "function call message contains %d arguments but function requires %d" +msgstr "" + +#: tcop/fastpath.c:361 +#, c-format +msgid "function call message contains %d argument formats but %d arguments" +msgstr "" + +#: tcop/fastpath.c:385 +#, c-format +msgid "invalid argument size %d in function call message" +msgstr "" + +#: tcop/fastpath.c:448 +#, c-format +msgid "incorrect binary data format in function argument %d" +msgstr "" + +#: tcop/postgres.c:463 tcop/postgres.c:4882 +#, c-format +msgid "invalid frontend message type %d" +msgstr "არასწორი წინაბოლოს შეტყობინების ტიპი %d" + +#: tcop/postgres.c:1072 +#, c-format +msgid "statement: %s" +msgstr "ოპერატორი: %s" + +#: tcop/postgres.c:1370 +#, c-format +msgid "duration: %s ms statement: %s" +msgstr "ხანგრძლივობა: %s მწმ გამოსახულება: %s" + +#: tcop/postgres.c:1476 +#, c-format +msgid "cannot insert multiple commands into a prepared statement" +msgstr "" + +#: tcop/postgres.c:1606 +#, c-format +msgid "duration: %s ms parse %s: %s" +msgstr "ხანგრძლივობა: %s მწმ %s-ის დამუშავება: %s" + +#: tcop/postgres.c:1672 tcop/postgres.c:2629 +#, c-format +msgid "unnamed prepared statement does not exist" +msgstr "" + +#: tcop/postgres.c:1713 +#, c-format +msgid "bind message has %d parameter formats but %d parameters" +msgstr "" + +#: tcop/postgres.c:1719 +#, c-format +msgid "bind message supplies %d parameters, but prepared statement \"%s\" requires %d" +msgstr "" + +#: tcop/postgres.c:1937 +#, c-format +msgid "incorrect binary data format in bind parameter %d" +msgstr "" + +#: tcop/postgres.c:2064 +#, c-format +msgid "duration: %s ms bind %s%s%s: %s" +msgstr "ხანგრძლივობა: %s მწმ მიბმა %s%s%s: %s" + +#: tcop/postgres.c:2118 tcop/postgres.c:2712 +#, c-format +msgid "portal \"%s\" does not exist" +msgstr "პორტალი \"%s\" არ არსებობს" + +#: tcop/postgres.c:2189 +#, c-format +msgid "%s %s%s%s: %s" +msgstr "%s %s%s%s: %s" + +#: tcop/postgres.c:2191 tcop/postgres.c:2317 +msgid "execute fetch from" +msgstr "" + +#: tcop/postgres.c:2192 tcop/postgres.c:2318 +msgid "execute" +msgstr "გაშვება" + +#: tcop/postgres.c:2314 +#, c-format +msgid "duration: %s ms %s %s%s%s: %s" +msgstr "ხანგრძლივობა: %s მწმs %s %s%s%s: %s" + +#: tcop/postgres.c:2462 +#, c-format +msgid "prepare: %s" +msgstr "მომზადება: %s" + +#: tcop/postgres.c:2487 +#, c-format +msgid "parameters: %s" +msgstr "პარამეტრები: %s" + +#: tcop/postgres.c:2502 +#, c-format +msgid "abort reason: recovery conflict" +msgstr "გაუქმების მიზეზი: აღდგენის კონფლიქტი" + +#: tcop/postgres.c:2518 +#, c-format +msgid "User was holding shared buffer pin for too long." +msgstr "" + +#: tcop/postgres.c:2521 +#, c-format +msgid "User was holding a relation lock for too long." +msgstr "" + +#: tcop/postgres.c:2524 +#, c-format +msgid "User was or might have been using tablespace that must be dropped." +msgstr "" + +#: tcop/postgres.c:2527 +#, c-format +msgid "User query might have needed to see row versions that must be removed." +msgstr "" + +#: tcop/postgres.c:2530 +#, c-format +msgid "User was using a logical replication slot that must be invalidated." +msgstr "" + +#: tcop/postgres.c:2536 +#, c-format +msgid "User was connected to a database that must be dropped." +msgstr "" + +#: tcop/postgres.c:2575 +#, c-format +msgid "portal \"%s\" parameter $%d = %s" +msgstr "პორტალის \"%s\" პარამეტრი $%d = %s" + +#: tcop/postgres.c:2578 +#, c-format +msgid "portal \"%s\" parameter $%d" +msgstr "პორტალის \"%s\" პარამეტრი $%d" + +#: tcop/postgres.c:2584 +#, c-format +msgid "unnamed portal parameter $%d = %s" +msgstr "უსახელო პორტალის პარამეტრი $%d = %s" + +#: tcop/postgres.c:2587 +#, c-format +msgid "unnamed portal parameter $%d" +msgstr "უსახელო პორტალის პარამეტრი $%d" + +#: tcop/postgres.c:2932 +#, c-format +msgid "terminating connection because of unexpected SIGQUIT signal" +msgstr "" + +#: tcop/postgres.c:2938 +#, c-format +msgid "terminating connection because of crash of another server process" +msgstr "" + +#: tcop/postgres.c:2939 +#, c-format +msgid "The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory." +msgstr "" + +#: tcop/postgres.c:2943 tcop/postgres.c:3310 +#, c-format +msgid "In a moment you should be able to reconnect to the database and repeat your command." +msgstr "" + +#: tcop/postgres.c:2950 +#, c-format +msgid "terminating connection due to immediate shutdown command" +msgstr "მიერთების შეწყვეტა დაუყოვნებლივი გამორთვის ბრძანების გამო" + +#: tcop/postgres.c:3036 +#, c-format +msgid "floating-point exception" +msgstr "წილადი რიცხვების ანგარიშის შეცდომა" + +#: tcop/postgres.c:3037 +#, c-format +msgid "An invalid floating-point operation was signaled. This probably means an out-of-range result or an invalid operation, such as division by zero." +msgstr "" + +#: tcop/postgres.c:3214 +#, c-format +msgid "canceling authentication due to timeout" +msgstr "ავთენტიკაცია გაუქმდა მოლოდინის ვადის ამოწურვის გამო" + +#: tcop/postgres.c:3218 +#, c-format +msgid "terminating autovacuum process due to administrator command" +msgstr "ავტომომტვერსასრუტების პროცესის შეწყვეტა ადმინისტრატორის ბრძანების გამო" + +#: tcop/postgres.c:3222 +#, c-format +msgid "terminating logical replication worker due to administrator command" +msgstr "ლოგიკური რეპლიკაციის დამხმარე პროცესის შეწყვეტა ადმინისტრატორის ბრძანების გამო" + +#: tcop/postgres.c:3239 tcop/postgres.c:3249 tcop/postgres.c:3308 +#, c-format +msgid "terminating connection due to conflict with recovery" +msgstr "მიერთების შეწყვეტა აღდგენასთან კონფლიქტის გამო" + +#: tcop/postgres.c:3260 +#, c-format +msgid "terminating connection due to administrator command" +msgstr "მიერთების შეწყვეტა ადმინისტრატორის ბრძანების გამო" + +#: tcop/postgres.c:3291 +#, c-format +msgid "connection to client lost" +msgstr "კლიენტთან შეერთების შეცდომა" + +#: tcop/postgres.c:3361 +#, c-format +msgid "canceling statement due to lock timeout" +msgstr "გამოსახულება გაუქმდება ბლოკის მოლოდინის ვადის ამოწურვის გამო" + +#: tcop/postgres.c:3368 +#, c-format +msgid "canceling statement due to statement timeout" +msgstr "" + +#: tcop/postgres.c:3375 +#, c-format +msgid "canceling autovacuum task" +msgstr "ავტომომტვერსასრუტების ამოცანის გაუქმება" + +#: tcop/postgres.c:3398 +#, c-format +msgid "canceling statement due to user request" +msgstr "" + +#: tcop/postgres.c:3412 +#, c-format +msgid "terminating connection due to idle-in-transaction timeout" +msgstr "" + +#: tcop/postgres.c:3423 +#, c-format +msgid "terminating connection due to idle-session timeout" +msgstr "" + +#: tcop/postgres.c:3514 +#, c-format +msgid "stack depth limit exceeded" +msgstr "გადაცილებულია სტეკის სიღრმის ლიმიტი" + +#: tcop/postgres.c:3515 +#, c-format +msgid "Increase the configuration parameter \"max_stack_depth\" (currently %dkB), after ensuring the platform's stack depth limit is adequate." +msgstr "" + +#: tcop/postgres.c:3562 +#, c-format +msgid "\"max_stack_depth\" must not exceed %ldkB." +msgstr "\"max_stack_depth\" %ldკბ-ს არ უნდა ცდებოდეს." + +#: tcop/postgres.c:3564 +#, c-format +msgid "Increase the platform's stack depth limit via \"ulimit -s\" or local equivalent." +msgstr "" + +#: tcop/postgres.c:3587 +#, c-format +msgid "client_connection_check_interval must be set to 0 on this platform." +msgstr "ამ პლატფორმაზე huge_page_size 0 უნდა იყოს." + +#: tcop/postgres.c:3608 +#, c-format +msgid "Cannot enable parameter when \"log_statement_stats\" is true." +msgstr "პარამეტრის ჩართვა მაშინ, როცა \"log_statement_stats\" ჩართულია, შეუძლებელია." + +#: tcop/postgres.c:3623 +#, c-format +msgid "Cannot enable \"log_statement_stats\" when \"log_parser_stats\", \"log_planner_stats\", or \"log_executor_stats\" is true." +msgstr "" + +#: tcop/postgres.c:3971 +#, c-format +msgid "invalid command-line argument for server process: %s" +msgstr "" + +#: tcop/postgres.c:3972 tcop/postgres.c:3978 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "მეტი ინფორმაციისთვის სცადეთ '%s --help'." + +#: tcop/postgres.c:3976 +#, c-format +msgid "%s: invalid command-line argument: %s" +msgstr "%s: არასწორი ბრძანების სტრიქონის არგუმენტი: %s" + +#: tcop/postgres.c:4029 +#, c-format +msgid "%s: no database nor user name specified" +msgstr "%s: არც ბაზა, არც მომხმარებელი მითითებული არაა" + +#: tcop/postgres.c:4779 +#, c-format +msgid "invalid CLOSE message subtype %d" +msgstr "არასწორი CLOSE შეტყობინების ქვეტიპი %d" + +#: tcop/postgres.c:4816 +#, c-format +msgid "invalid DESCRIBE message subtype %d" +msgstr "არასწორი DESCRIBE შეტყობინების ქვეტიპი %d" + +#: tcop/postgres.c:4903 +#, c-format +msgid "fastpath function calls not supported in a replication connection" +msgstr "" + +#: tcop/postgres.c:4907 +#, c-format +msgid "extended query protocol not supported in a replication connection" +msgstr "" + +#: tcop/postgres.c:5087 +#, c-format +msgid "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s host=%s%s%s" +msgstr "" + +#: tcop/pquery.c:641 +#, c-format +msgid "bind message has %d result formats but query has %d columns" +msgstr "" + +#: tcop/pquery.c:944 tcop/pquery.c:1701 +#, c-format +msgid "cursor can only scan forward" +msgstr "კურსორს მხოლოდ წინ სკანირება შეუძლია" + +#: tcop/pquery.c:945 tcop/pquery.c:1702 +#, c-format +msgid "Declare it with SCROLL option to enable backward scan." +msgstr "" + +#. translator: %s is name of a SQL command, eg CREATE +#: tcop/utility.c:417 +#, c-format +msgid "cannot execute %s in a read-only transaction" +msgstr "" + +#. translator: %s is name of a SQL command, eg CREATE +#: tcop/utility.c:435 +#, c-format +msgid "cannot execute %s during a parallel operation" +msgstr "პარალელური ოპერაციის დროს %s შესრულება შეუძლებელია" + +#. translator: %s is name of a SQL command, eg CREATE +#: tcop/utility.c:454 +#, c-format +msgid "cannot execute %s during recovery" +msgstr "აღდგენის დროს %s შესრულება შეუძლებელია" + +#. translator: %s is name of a SQL command, eg PREPARE +#: tcop/utility.c:472 +#, c-format +msgid "cannot execute %s within security-restricted operation" +msgstr "" + +#. translator: %s is name of a SQL command, eg LISTEN +#: tcop/utility.c:828 +#, c-format +msgid "cannot execute %s within a background process" +msgstr "ფონის პროცესში %s-ის შესრულება შეუძლებელია" + +#. translator: %s is name of a SQL command, eg CHECKPOINT +#: tcop/utility.c:954 +#, c-format +msgid "permission denied to execute %s command" +msgstr "ბრძანების შესრულების წვდომა აკრძალულია: %s" + +#: tcop/utility.c:956 +#, c-format +msgid "Only roles with privileges of the \"%s\" role may execute this command." +msgstr "ამ ბრძანების შესრულება მხოლოდ \"%s\" როლის პრივილეგიების მქონეებს შეუძლიათ." + +#: tsearch/dict_ispell.c:52 tsearch/dict_thesaurus.c:616 +#, c-format +msgid "multiple DictFile parameters" +msgstr "გამეორებადი DictFile პარამეტრი" + +#: tsearch/dict_ispell.c:63 +#, c-format +msgid "multiple AffFile parameters" +msgstr "გამეორებადი AffFile პარამეტრი" + +#: tsearch/dict_ispell.c:82 +#, c-format +msgid "unrecognized Ispell parameter: \"%s\"" +msgstr "უცნობი lspell-ის პარამეტრი: \"%s\"" + +#: tsearch/dict_ispell.c:96 +#, c-format +msgid "missing AffFile parameter" +msgstr "აკლია პარამეტრი AffFile" + +#: tsearch/dict_ispell.c:102 tsearch/dict_thesaurus.c:640 +#, c-format +msgid "missing DictFile parameter" +msgstr "აკლია პარამეტრი DictFile" + +#: tsearch/dict_simple.c:58 +#, c-format +msgid "multiple Accept parameters" +msgstr "გამეორებადი Accept პარამეტრი" + +#: tsearch/dict_simple.c:66 +#, c-format +msgid "unrecognized simple dictionary parameter: \"%s\"" +msgstr "უცნობი მარტივი ლექსიკონის პარამეტრი: \"%s\"" + +#: tsearch/dict_synonym.c:118 +#, c-format +msgid "unrecognized synonym parameter: \"%s\"" +msgstr "უცნობი სინონიმის პარამეტრი: \"%s\"" + +#: tsearch/dict_synonym.c:125 +#, c-format +msgid "missing Synonyms parameter" +msgstr "აკლია პარამეტრი Synonyms" + +#: tsearch/dict_synonym.c:132 +#, c-format +msgid "could not open synonym file \"%s\": %m" +msgstr "სინონიმს ფაილი \"%s\" ვერ გავხსენი: %m" + +#: tsearch/dict_thesaurus.c:179 +#, c-format +msgid "could not open thesaurus file \"%s\": %m" +msgstr "განმარტებითი ლექსიკონის ფაილი \"%s\" ვერ გავხსენი: %m" + +#: tsearch/dict_thesaurus.c:212 +#, c-format +msgid "unexpected delimiter" +msgstr "მოულოდნელი გამყოფი" + +#: tsearch/dict_thesaurus.c:262 tsearch/dict_thesaurus.c:278 +#, c-format +msgid "unexpected end of line or lexeme" +msgstr "" + +#: tsearch/dict_thesaurus.c:287 +#, c-format +msgid "unexpected end of line" +msgstr "ხაზის მოულოდნელი დასასრული" + +#: tsearch/dict_thesaurus.c:292 +#, c-format +msgid "too many lexemes in thesaurus entry" +msgstr "" + +#: tsearch/dict_thesaurus.c:416 +#, c-format +msgid "thesaurus sample word \"%s\" isn't recognized by subdictionary (rule %d)" +msgstr "" + +#: tsearch/dict_thesaurus.c:422 +#, c-format +msgid "thesaurus sample word \"%s\" is a stop word (rule %d)" +msgstr "" + +#: tsearch/dict_thesaurus.c:425 +#, c-format +msgid "Use \"?\" to represent a stop word within a sample phrase." +msgstr "" + +#: tsearch/dict_thesaurus.c:567 +#, c-format +msgid "thesaurus substitute word \"%s\" is a stop word (rule %d)" +msgstr "" + +#: tsearch/dict_thesaurus.c:574 +#, c-format +msgid "thesaurus substitute word \"%s\" isn't recognized by subdictionary (rule %d)" +msgstr "" + +#: tsearch/dict_thesaurus.c:586 +#, c-format +msgid "thesaurus substitute phrase is empty (rule %d)" +msgstr "" + +#: tsearch/dict_thesaurus.c:625 +#, c-format +msgid "multiple Dictionary parameters" +msgstr "განმეორებადი პარამეტრი Dictionary" + +#: tsearch/dict_thesaurus.c:632 +#, c-format +msgid "unrecognized Thesaurus parameter: \"%s\"" +msgstr "გამოუცნობი განმარტებითი ლექსიკონის პარამეტრი: \"%s\"" + +#: tsearch/dict_thesaurus.c:644 +#, c-format +msgid "missing Dictionary parameter" +msgstr "აკლია პარამეტრი Dictionary" + +#: tsearch/spell.c:381 tsearch/spell.c:398 tsearch/spell.c:407 tsearch/spell.c:1043 +#, c-format +msgid "invalid affix flag \"%s\"" +msgstr "აფიქსის არასწორი ალამი: %s" + +#: tsearch/spell.c:385 tsearch/spell.c:1047 +#, c-format +msgid "affix flag \"%s\" is out of range" +msgstr "აფიქსის ალამი დიაპაზონს გარეთაა: %s" + +#: tsearch/spell.c:415 +#, c-format +msgid "invalid character in affix flag \"%s\"" +msgstr "არასწორი სიმბოლო აფიქსის ალამში: %s" + +#: tsearch/spell.c:435 +#, c-format +msgid "invalid affix flag \"%s\" with \"long\" flag value" +msgstr "აფიქსის არასწორი ალამი \"%s\" ალამის მნიშვნელობით \"long\"" + +#: tsearch/spell.c:525 +#, c-format +msgid "could not open dictionary file \"%s\": %m" +msgstr "ლექსიკონის ფაილის (%s) გახსნის შეცდომა: %m" + +#: tsearch/spell.c:1170 tsearch/spell.c:1182 tsearch/spell.c:1742 tsearch/spell.c:1747 tsearch/spell.c:1752 +#, c-format +msgid "invalid affix alias \"%s\"" +msgstr "აფისქსის არასწორი მეტსახელი: %s" + +#: tsearch/spell.c:1223 tsearch/spell.c:1294 tsearch/spell.c:1443 +#, c-format +msgid "could not open affix file \"%s\": %m" +msgstr "აფიქსის ფაილის (%s) გახსნის შეცდომა: %m" + +#: tsearch/spell.c:1277 +#, c-format +msgid "Ispell dictionary supports only \"default\", \"long\", and \"num\" flag values" +msgstr "" + +#: tsearch/spell.c:1321 +#, c-format +msgid "invalid number of flag vector aliases" +msgstr "ალმის ვექტორის მეტსახელების არასწორი რიცხვი" + +#: tsearch/spell.c:1344 +#, c-format +msgid "number of aliases exceeds specified number %d" +msgstr "მეტსახელების რიცხვი მითითებულ მნიშვნელობაზე მეტია: %d" + +#: tsearch/spell.c:1559 +#, c-format +msgid "affix file contains both old-style and new-style commands" +msgstr "აფიქსის ფაილი ორივე, ახალი და ძველი სტილის ბრძანებებს შეიცავს" + +#: tsearch/to_tsany.c:195 utils/adt/tsvector.c:278 utils/adt/tsvector_op.c:1128 +#, c-format +msgid "string is too long for tsvector (%d bytes, max %d bytes)" +msgstr "სტრიქონი tsvector-ისთვის ძალიანგრძელია (%d ბაიტი, მაქს %d ბაიტი)" + +#: tsearch/ts_locale.c:238 +#, c-format +msgid "line %d of configuration file \"%s\": \"%s\"" +msgstr "კონფიგურაციის ფაილის \"%2$s\" %1$d-ე ხაზზე: \"%3$s\"" + +#: tsearch/ts_locale.c:317 +#, c-format +msgid "conversion from wchar_t to server encoding failed: %m" +msgstr "" + +#: tsearch/ts_parse.c:387 tsearch/ts_parse.c:394 tsearch/ts_parse.c:573 tsearch/ts_parse.c:580 +#, c-format +msgid "word is too long to be indexed" +msgstr "სიტყვა ძალიან გრძელია, რომ დაინდექსდეს" + +#: tsearch/ts_parse.c:388 tsearch/ts_parse.c:395 tsearch/ts_parse.c:574 tsearch/ts_parse.c:581 +#, c-format +msgid "Words longer than %d characters are ignored." +msgstr "%d სიმბოლოზე გრძელი სიტყვები იგნორირდება." + +#: tsearch/ts_utils.c:51 +#, c-format +msgid "invalid text search configuration file name \"%s\"" +msgstr "ტექსტის ძებნის კონფიგურაციის ფაილის არასწორი სახელი: \"%s\"" + +#: tsearch/ts_utils.c:83 +#, c-format +msgid "could not open stop-word file \"%s\": %m" +msgstr "" + +#: tsearch/wparser.c:308 tsearch/wparser.c:396 tsearch/wparser.c:473 +#, c-format +msgid "text search parser does not support headline creation" +msgstr "" + +#: tsearch/wparser_def.c:2663 +#, c-format +msgid "unrecognized headline parameter: \"%s\"" +msgstr "" + +#: tsearch/wparser_def.c:2673 +#, c-format +msgid "MinWords should be less than MaxWords" +msgstr "MinWords MaxWords-ზე ნაკლები უნდა იყოს" + +#: tsearch/wparser_def.c:2677 +#, c-format +msgid "MinWords should be positive" +msgstr "MinWords დადებით უნდა იყოს" + +#: tsearch/wparser_def.c:2681 +#, c-format +msgid "ShortWord should be >= 0" +msgstr "ShortWord >= 0 უნდა იყოს" + +#: tsearch/wparser_def.c:2685 +#, c-format +msgid "MaxFragments should be >= 0" +msgstr "MaxFragments >= 0 უნდა იყოს" + +#: utils/activity/pgstat.c:438 +#, c-format +msgid "could not unlink permanent statistics file \"%s\": %m" +msgstr "" + +#: utils/activity/pgstat.c:1252 +#, c-format +msgid "invalid statistics kind: \"%s\"" +msgstr "სტატისტიკის არასწორი ტიპი: \"%s\"" + +#: utils/activity/pgstat.c:1332 +#, c-format +msgid "could not open temporary statistics file \"%s\": %m" +msgstr "სტატისტიკის დროებითი ფაილის (\"%s\") გახსნა შეუძლებელია: %m" + +#: utils/activity/pgstat.c:1444 +#, c-format +msgid "could not write temporary statistics file \"%s\": %m" +msgstr "სტატისტიკის დროებითი ფაილში (\"%s\") ჩაწერა შეუძლებელია: %m" + +#: utils/activity/pgstat.c:1453 +#, c-format +msgid "could not close temporary statistics file \"%s\": %m" +msgstr "სტატისტიკის დროებითი ფაილის (\"%s\") დახურვა შეუძლებელია: %m" + +#: utils/activity/pgstat.c:1461 +#, c-format +msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m" +msgstr "სტატისტიკის დროებითი ფაილის \"%s\"-დან \"%s\" -მდე სახელის გადარქმევა შეუძლებელია: %m" + +#: utils/activity/pgstat.c:1510 +#, c-format +msgid "could not open statistics file \"%s\": %m" +msgstr "სტატისტიკის ფაილის (\"%s\") გახსნა შეუძლებელია: %m" + +#: utils/activity/pgstat.c:1672 +#, c-format +msgid "corrupted statistics file \"%s\"" +msgstr "სტატისტიკის დაზიანებული ფაილი \"%s\"" + +#: utils/activity/pgstat_function.c:118 +#, c-format +msgid "function call to dropped function" +msgstr "ფუნქცია წაშლილ ფუნქციას იძახებს" + +#: utils/activity/pgstat_xact.c:363 +#, c-format +msgid "resetting existing statistics for kind %s, db=%u, oid=%u" +msgstr "" + +#: utils/adt/acl.c:177 utils/adt/name.c:93 +#, c-format +msgid "identifier too long" +msgstr "იდენტიფიკატორი ძალიან გრძელია" + +#: utils/adt/acl.c:178 utils/adt/name.c:94 +#, c-format +msgid "Identifier must be less than %d characters." +msgstr "" + +#: utils/adt/acl.c:266 +#, c-format +msgid "unrecognized key word: \"%s\"" +msgstr "უცნობი საკვანძო სიტყვა: \"%s\"" + +#: utils/adt/acl.c:267 +#, c-format +msgid "ACL key word must be \"group\" or \"user\"." +msgstr "ACL-ის საკვანძო სიტყვა უნდა იყოს \"group\" ან \"user\"." + +#: utils/adt/acl.c:275 +#, c-format +msgid "missing name" +msgstr "სახელი აკლია" + +#: utils/adt/acl.c:276 +#, c-format +msgid "A name must follow the \"group\" or \"user\" key word." +msgstr "" + +#: utils/adt/acl.c:282 +#, c-format +msgid "missing \"=\" sign" +msgstr "აკლია \"=\" ნიშანი" + +#: utils/adt/acl.c:341 +#, c-format +msgid "invalid mode character: must be one of \"%s\"" +msgstr "არასწორი რეჟიმის სიმბოლო: უნდა იყოს ერთ-ერთი სიიდან \"%s\"" + +#: utils/adt/acl.c:371 +#, c-format +msgid "a name must follow the \"/\" sign" +msgstr "\"/\" სიმბოლოს სახელი უნდა მოჰყვებოდეს" + +#: utils/adt/acl.c:383 +#, c-format +msgid "defaulting grantor to user ID %u" +msgstr "" + +#: utils/adt/acl.c:569 +#, c-format +msgid "ACL array contains wrong data type" +msgstr "ACL-ის მასივი მონაცემების არასწორ ტიპს შეიცავს" + +#: utils/adt/acl.c:573 +#, c-format +msgid "ACL arrays must be one-dimensional" +msgstr "ACL-ის მასივები ერთგანზომილებიანი უნდა იყოს" + +#: utils/adt/acl.c:577 +#, c-format +msgid "ACL arrays must not contain null values" +msgstr "ACL-ის მასივები ნულოვან მნიშვნელობებს არ უნდა შეიცავდეს" + +#: utils/adt/acl.c:606 +#, c-format +msgid "extra garbage at the end of the ACL specification" +msgstr "" + +#: utils/adt/acl.c:1248 +#, c-format +msgid "grant options cannot be granted back to your own grantor" +msgstr "" + +#: utils/adt/acl.c:1564 +#, c-format +msgid "aclinsert is no longer supported" +msgstr "aclinsert მხარდაჭერილი აღარაა" + +#: utils/adt/acl.c:1574 +#, c-format +msgid "aclremove is no longer supported" +msgstr "aclremove მხარდაჭერილი აღარაა" + +#: utils/adt/acl.c:1693 +#, c-format +msgid "unrecognized privilege type: \"%s\"" +msgstr "პრივილეგიის უცნობი ტიპი \"%s\"" + +#: utils/adt/acl.c:3476 utils/adt/regproc.c:100 utils/adt/regproc.c:265 +#, c-format +msgid "function \"%s\" does not exist" +msgstr "ფუნქცია არ არსებობს: \"%s\"" + +#: utils/adt/acl.c:5023 +#, c-format +msgid "must be able to SET ROLE \"%s\"" +msgstr "უნდა შეეძლოს SET ROLE \"%s\"" + +#: utils/adt/array_userfuncs.c:102 utils/adt/array_userfuncs.c:489 utils/adt/array_userfuncs.c:878 utils/adt/json.c:694 utils/adt/json.c:831 utils/adt/json.c:869 utils/adt/jsonb.c:1139 utils/adt/jsonb.c:1211 utils/adt/jsonb.c:1629 utils/adt/jsonb.c:1817 utils/adt/jsonb.c:1827 +#, c-format +msgid "could not determine input data type" +msgstr "შეყვანილი მონაცემების ტიპის განსაზღვრა შეუძლებელია" + +#: utils/adt/array_userfuncs.c:107 +#, c-format +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 +#, c-format +msgid "integer out of range" +msgstr "მთელი მნიშვნელობა დიაპაზონს გარეთაა" + +#: utils/adt/array_userfuncs.c:158 utils/adt/array_userfuncs.c:213 +#, c-format +msgid "argument must be empty or one-dimensional array" +msgstr "არგუმენტი ცარიელი ან ერთგანზომილებიანი მასივი უნდა იყოს" + +#: utils/adt/array_userfuncs.c:295 utils/adt/array_userfuncs.c:334 utils/adt/array_userfuncs.c:371 utils/adt/array_userfuncs.c:400 utils/adt/array_userfuncs.c:428 +#, c-format +msgid "cannot concatenate incompatible arrays" +msgstr "შეუთავსებელი მასივების შერწყმა შეუძლებელია" + +#: utils/adt/array_userfuncs.c:296 +#, c-format +msgid "Arrays with element types %s and %s are not compatible for concatenation." +msgstr "%s და %s ტიპის ელემენტების მქონე მასივები შერწყმისთვის თავსებადები არ არიან." + +#: utils/adt/array_userfuncs.c:335 +#, c-format +msgid "Arrays of %d and %d dimensions are not compatible for concatenation." +msgstr "" + +#: utils/adt/array_userfuncs.c:372 +#, c-format +msgid "Arrays with differing element dimensions are not compatible for concatenation." +msgstr "" + +#: utils/adt/array_userfuncs.c:401 utils/adt/array_userfuncs.c:429 +#, c-format +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:5590 utils/adt/arrayfuncs.c:5596 +#, c-format +msgid "cannot accumulate arrays of different dimensionality" +msgstr "სხვადასხვა განსაზღვრების მქონე მასივების შეგროვება შეუძლებელია" + +#: utils/adt/array_userfuncs.c:1286 utils/adt/array_userfuncs.c:1440 +#, c-format +msgid "searching for elements in multidimensional arrays is not supported" +msgstr "" + +#: utils/adt/array_userfuncs.c:1315 +#, c-format +msgid "initial position must not be null" +msgstr "საწყისი მდებარეობა ნულოვან ვერ იქნება" + +#: utils/adt/array_userfuncs.c:1688 +#, c-format +msgid "sample size must be between 0 and %d" +msgstr "სემპლის ზომა 0-სა და %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 +#, c-format +msgid "malformed array literal: \"%s\"" +msgstr "" + +#: utils/adt/arrayfuncs.c:274 +#, c-format +msgid "\"[\" must introduce explicitly-specified array dimensions." +msgstr "" + +#: utils/adt/arrayfuncs.c:288 +#, c-format +msgid "Missing array dimension value." +msgstr "აკლია მასივის განზომილების მნიშვნელობა." + +#: utils/adt/arrayfuncs.c:299 utils/adt/arrayfuncs.c:338 +#, c-format +msgid "Missing \"%s\" after array dimensions." +msgstr "მასივის განზომილებების შემდეგ აკლია \"%s\"." + +#: utils/adt/arrayfuncs.c:308 utils/adt/arrayfuncs.c:2933 utils/adt/arrayfuncs.c:2965 utils/adt/arrayfuncs.c:2980 +#, c-format +msgid "upper bound cannot be less than lower bound" +msgstr "" + +#: utils/adt/arrayfuncs.c:321 +#, c-format +msgid "Array value must start with \"{\" or dimension information." +msgstr "მასივის მნიშვნელობა \"{\"-ით ან მასივის ინფორმაციით უნდა იწყებოდეს." + +#: utils/adt/arrayfuncs.c:352 +#, c-format +msgid "Array contents must start with \"{\"." +msgstr "მასივის შემცველობა \"{\"-ით უნდა დაიწყოს." + +#: utils/adt/arrayfuncs.c:360 utils/adt/arrayfuncs.c:367 +#, c-format +msgid "Specified array dimensions do not match array contents." +msgstr "მითითებული მასივის ზომები მასივის შემცველობას არ ემთხვევა." + +#: utils/adt/arrayfuncs.c:507 utils/adt/arrayfuncs.c:533 utils/adt/multirangetypes.c:166 utils/adt/rangetypes.c:2405 utils/adt/rangetypes.c:2413 utils/adt/rowtypes.c:219 utils/adt/rowtypes.c:230 +#, c-format +msgid "Unexpected end of input." +msgstr "შეყვანის მოულოდნელი დასასრული." + +#: utils/adt/arrayfuncs.c:522 utils/adt/arrayfuncs.c:569 utils/adt/arrayfuncs.c:599 utils/adt/arrayfuncs.c:648 +#, c-format +msgid "Unexpected \"%c\" character." +msgstr "მოულოდნელი სიმბოლო \"%c\"." + +#: utils/adt/arrayfuncs.c:548 utils/adt/arrayfuncs.c:671 +#, c-format +msgid "Unexpected array element." +msgstr "მასივის მოულოდნელი ელემენტი." + +#: utils/adt/arrayfuncs.c:606 +#, c-format +msgid "Unmatched \"%c\" character." +msgstr "სიმბოლო \"%c\" არ ემთხვევა." + +#: utils/adt/arrayfuncs.c:614 utils/adt/jsonfuncs.c:2553 +#, c-format +msgid "Multidimensional arrays must have sub-arrays with matching dimensions." +msgstr "მრავალგანზომილებიან მასივებს უნდა ჰქონდეთ ქვე-მასივები იგივე ზომებით." + +#: utils/adt/arrayfuncs.c:691 utils/adt/multirangetypes.c:293 +#, c-format +msgid "Junk after closing right brace." +msgstr "ნაგავი დამხურავი მარჯვენა ფრჩხილის შემდეგ." + +#: utils/adt/arrayfuncs.c:1325 utils/adt/arrayfuncs.c:3479 utils/adt/arrayfuncs.c:6080 +#, c-format +msgid "invalid number of dimensions: %d" +msgstr "განზომილებების არასწორი რაოდენობა: %d" + +#: utils/adt/arrayfuncs.c:1336 +#, c-format +msgid "invalid array flags" +msgstr "მასივის არასწორი ალმები" + +#: utils/adt/arrayfuncs.c:1358 +#, c-format +msgid "binary data has array element type %u (%s) instead of expected %u (%s)" +msgstr "" + +#: utils/adt/arrayfuncs.c:1402 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 "" + +#: utils/adt/arrayfuncs.c:1542 +#, c-format +msgid "improper binary format in array element %d" +msgstr "" + +#: utils/adt/arrayfuncs.c:1623 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 "" + +#: utils/adt/arrayfuncs.c:2102 +#, c-format +msgid "slices of fixed-length arrays not implemented" +msgstr "" + +#: utils/adt/arrayfuncs.c:2280 utils/adt/arrayfuncs.c:2302 utils/adt/arrayfuncs.c:2351 utils/adt/arrayfuncs.c:2589 utils/adt/arrayfuncs.c:2911 utils/adt/arrayfuncs.c:6066 utils/adt/arrayfuncs.c:6092 utils/adt/arrayfuncs.c:6103 utils/adt/json.c:1497 utils/adt/json.c:1569 utils/adt/jsonb.c:1416 utils/adt/jsonb.c:1500 utils/adt/jsonfuncs.c:4434 utils/adt/jsonfuncs.c:4587 utils/adt/jsonfuncs.c:4698 utils/adt/jsonfuncs.c:4746 +#, c-format +msgid "wrong number of array subscripts" +msgstr "მასივის ქვესკრიპტების არასწორი რაოდენობა" + +#: utils/adt/arrayfuncs.c:2285 utils/adt/arrayfuncs.c:2393 utils/adt/arrayfuncs.c:2656 utils/adt/arrayfuncs.c:2970 +#, c-format +msgid "array subscript out of range" +msgstr "მასივის ინდექსი დიაპაზონს გარეთაა" + +#: utils/adt/arrayfuncs.c:2290 +#, c-format +msgid "cannot assign null value to an element of a fixed-length array" +msgstr "" + +#: utils/adt/arrayfuncs.c:2858 +#, c-format +msgid "updates on slices of fixed-length arrays not implemented" +msgstr "" + +#: utils/adt/arrayfuncs.c:2889 +#, c-format +msgid "array slice subscript must provide both boundaries" +msgstr "" + +#: utils/adt/arrayfuncs.c:2890 +#, c-format +msgid "When assigning to a slice of an empty array value, slice boundaries must be fully specified." +msgstr "" + +#: utils/adt/arrayfuncs.c:2901 utils/adt/arrayfuncs.c:2997 +#, c-format +msgid "source array too small" +msgstr "საწყისი მასივი ძალიან პატარაა" + +#: utils/adt/arrayfuncs.c:3637 +#, c-format +msgid "null array element not allowed in this context" +msgstr "ნულოვანი მასივის ელემენტი ამ კონტექსტში დაშვებული არაა" + +#: utils/adt/arrayfuncs.c:3808 utils/adt/arrayfuncs.c:3979 utils/adt/arrayfuncs.c:4370 +#, c-format +msgid "cannot compare arrays of different element types" +msgstr "განსხვავებული ელემენტის ტიპების მქონე მასივების შედარება შეუძლებელია" + +#: utils/adt/arrayfuncs.c:4157 utils/adt/multirangetypes.c:2806 utils/adt/multirangetypes.c:2878 utils/adt/rangetypes.c:1354 utils/adt/rangetypes.c:1418 utils/adt/rowtypes.c:1885 +#, c-format +msgid "could not identify a hash function for type %s" +msgstr "ტიპისთვის \"%s\" ჰეშის ფუნქცია ვერ ვიპოვე" + +#: utils/adt/arrayfuncs.c:4285 utils/adt/rowtypes.c:2006 +#, c-format +msgid "could not identify an extended hash function for type %s" +msgstr "ტიპისთვის \"%s\" გაფართოებული ჰეშის ფუნქცია ვერ ვიპოვე" + +#: utils/adt/arrayfuncs.c:5480 +#, c-format +msgid "data type %s is not an array type" +msgstr "მონაცემის ტიპი %s მასივის ტიპი არაა" + +#: utils/adt/arrayfuncs.c:5535 +#, c-format +msgid "cannot accumulate null arrays" +msgstr "ნულოვანი მასივების დაგროვება შეუძლებელია" + +#: utils/adt/arrayfuncs.c:5563 +#, c-format +msgid "cannot accumulate empty arrays" +msgstr "ცარიელი მასივების დაგროვება შეუძლებელია" + +#: utils/adt/arrayfuncs.c:5964 utils/adt/arrayfuncs.c:6004 +#, c-format +msgid "dimension array or low bound array cannot be null" +msgstr "" + +#: utils/adt/arrayfuncs.c:6067 utils/adt/arrayfuncs.c:6093 +#, c-format +msgid "Dimension array must be one dimensional." +msgstr "განზომილების მასივი ერთგანზომილებიანი უნდა იყოს." + +#: utils/adt/arrayfuncs.c:6072 utils/adt/arrayfuncs.c:6098 +#, c-format +msgid "dimension values cannot be null" +msgstr "განზომილების მნიშვნელობები ნულოვანი ვერ იქნება" + +#: utils/adt/arrayfuncs.c:6104 +#, c-format +msgid "Low bound array has different size than dimensions array." +msgstr "" + +#: utils/adt/arrayfuncs.c:6382 +#, c-format +msgid "removing elements from multidimensional arrays is not supported" +msgstr "" + +#: utils/adt/arrayfuncs.c:6659 +#, c-format +msgid "thresholds must be one-dimensional array" +msgstr "" + +#: utils/adt/arrayfuncs.c:6664 +#, c-format +msgid "thresholds array must not contain NULLs" +msgstr "" + +#: utils/adt/arrayfuncs.c:6897 +#, c-format +msgid "number of elements to trim must be between 0 and %d" +msgstr "" + +#: utils/adt/arraysubs.c:93 utils/adt/arraysubs.c:130 +#, c-format +msgid "array subscript must have type integer" +msgstr "მასივის ქვესკრიპტის ტიპი integer უნდა ჰქონდეს" + +#: utils/adt/arraysubs.c:198 utils/adt/arraysubs.c:217 +#, c-format +msgid "array subscript in assignment must not be null" +msgstr "" + +#: utils/adt/arrayutils.c:161 +#, c-format +msgid "array lower bound is too large: %d" +msgstr "მასივის ქვედა საზღვარი მეტისმეტად დიდია: %d" + +#: utils/adt/arrayutils.c:263 +#, c-format +msgid "typmod array must be type cstring[]" +msgstr "typmod ტიპის მასივი cstring[] ტიპის უნდა იყოს" + +#: utils/adt/arrayutils.c:268 +#, c-format +msgid "typmod array must be one-dimensional" +msgstr "typmod ტიპის მასივი ერთგანზომილებიანი უნდა იყოს" + +#: utils/adt/arrayutils.c:273 +#, c-format +msgid "typmod array must not contain nulls" +msgstr "typmod ტიპის მასივი ნულოვან მონაცემებს არ შეიძლება, შეიცავდეს" + +#: utils/adt/ascii.c:77 +#, c-format +msgid "encoding conversion from %s to ASCII not supported" +msgstr "" + +#. 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 +#, 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 +#, c-format +msgid "value \"%s\" is out of range for type %s" +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:3406 +#, c-format +msgid "division by zero" +msgstr "ნულზე გაყოფა" + +#: utils/adt/char.c:197 +#, c-format +msgid "\"char\" out of range" +msgstr "\"char\" დიაპაზონს გარეთაა" + +#: utils/adt/cryptohashfuncs.c:48 utils/adt/cryptohashfuncs.c:70 +#, c-format +msgid "could not compute %s hash: %s" +msgstr "%s ჰეშის გამოთვლა შეუძლებელია: %s" + +#: utils/adt/date.c:63 utils/adt/timestamp.c:100 utils/adt/varbit.c:105 utils/adt/varchar.c:49 +#, c-format +msgid "invalid type modifier" +msgstr "ტიპის არასწორი მოდიფიკატორი" + +#: utils/adt/date.c:75 +#, c-format +msgid "TIME(%d)%s precision must not be negative" +msgstr "TIME(%d)%s-ის სიზუსტე უარყოფით არ უნდა იყოს" + +#: utils/adt/date.c:81 +#, c-format +msgid "TIME(%d)%s precision reduced to maximum allowed, %d" +msgstr "" + +#: utils/adt/date.c:166 utils/adt/date.c:174 utils/adt/formatting.c:4241 utils/adt/formatting.c:4250 utils/adt/formatting.c:4363 utils/adt/formatting.c:4373 +#, c-format +msgid "date out of range: \"%s\"" +msgstr "თარიღი დიაპაზონს გარეთაა: \"%s\"" + +#: utils/adt/date.c:221 utils/adt/date.c:519 utils/adt/date.c:543 utils/adt/rangetypes.c:1577 utils/adt/rangetypes.c:1592 utils/adt/xml.c:2460 +#, c-format +msgid "date out of range" +msgstr "თარიღი დიაპაზონს გარეთაა" + +#: utils/adt/date.c:267 utils/adt/timestamp.c:582 +#, c-format +msgid "date field value out of range: %d-%02d-%02d" +msgstr "მონაცემის ველის მნიშვნელობა დიაპაზონს გარეთაა: %d-%02d-%02d" + +#: utils/adt/date.c:274 utils/adt/date.c:283 utils/adt/timestamp.c:588 +#, c-format +msgid "date out of range: %d-%02d-%02d" +msgstr "თარიღი დიაპაზონს გარეთაა: %d-%02d-%02d" + +#: utils/adt/date.c:494 +#, c-format +msgid "cannot subtract infinite dates" +msgstr "უსასრულო თარიღების გამოკლება შეუძლებელია" + +#: utils/adt/date.c:592 utils/adt/date.c:655 utils/adt/date.c:691 utils/adt/date.c:2885 utils/adt/date.c:2895 +#, c-format +msgid "date out of range for timestamp" +msgstr "თარიღი დროის შტამპის დიაპაზონს მიღმაა" + +#: utils/adt/date.c:1121 utils/adt/date.c:1204 utils/adt/date.c:1220 utils/adt/date.c:2206 utils/adt/date.c:2990 utils/adt/timestamp.c: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 +#, 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: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 +#, 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: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 +#, c-format +msgid "timestamp out of range" +msgstr "დროის შტამპი დიაპაზონს გარეთაა" + +#: utils/adt/date.c:1535 utils/adt/date.c:2343 utils/adt/formatting.c:4431 +#, c-format +msgid "time out of range" +msgstr "დროის მნიშვნელობა დიაპაზონს გარეთაა" + +#: utils/adt/date.c:1587 utils/adt/timestamp.c:597 +#, c-format +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:3455 utils/adt/timestamp.c:3482 utils/adt/timestamp.c:3513 +#, c-format +msgid "invalid preceding or following size in window function" +msgstr "" + +#: utils/adt/date.c:2351 +#, c-format +msgid "time zone displacement out of range" +msgstr "დროის სარტყლის წანაცვლება დიაპაზონს გარეთაა" + +#: utils/adt/date.c:3110 utils/adt/timestamp.c:5506 utils/adt/timestamp.c:5736 +#, c-format +msgid "interval time zone \"%s\" must not include months or days" +msgstr "ინტერვალის დროის სარტყელი \"%s\" თვეებს ან დღეებს არ უნდა შეიცავდეს" + +#: utils/adt/datetime.c:3223 utils/adt/datetime.c:4002 utils/adt/datetime.c:4008 utils/adt/timestamp.c:512 +#, c-format +msgid "time zone \"%s\" not recognized" +msgstr "უცნობი დროის სარტყელი: %s" + +#: utils/adt/datetime.c:3976 utils/adt/datetime.c:3983 +#, c-format +msgid "date/time field value out of range: \"%s\"" +msgstr "დროის/თარიღის ველის მნიშვნელობა დიაპაზონს გარეთაა: \"%s\"" + +#: utils/adt/datetime.c:3985 +#, c-format +msgid "Perhaps you need a different \"datestyle\" setting." +msgstr "" + +#: utils/adt/datetime.c:3990 +#, c-format +msgid "interval field value out of range: \"%s\"" +msgstr "ინტერვალის ველის მნიშვნელობა დიაპაზონს გარეთაა: \"%s\"" + +#: utils/adt/datetime.c:3996 +#, c-format +msgid "time zone displacement out of range: \"%s\"" +msgstr "" + +#: utils/adt/datetime.c:4010 +#, c-format +msgid "This time zone name appears in the configuration file for time zone abbreviation \"%s\"." +msgstr "" + +#: utils/adt/datum.c:90 utils/adt/datum.c:102 +#, c-format +msgid "invalid Datum pointer" +msgstr "არასწორი მაჩვენებელი: Datum" + +#: utils/adt/dbsize.c:761 utils/adt/dbsize.c:837 +#, c-format +msgid "invalid size: \"%s\"" +msgstr "არასწორი ზომა: %s" + +#: utils/adt/dbsize.c:838 +#, c-format +msgid "Invalid size unit: \"%s\"." +msgstr "ერთეულის არასწორი ზომა: \"%s\"." + +#: utils/adt/dbsize.c:839 +#, c-format +msgid "Valid units are \"bytes\", \"B\", \"kB\", \"MB\", \"GB\", \"TB\", and \"PB\"." +msgstr "პარამეტრის სწორი ერთეულებია \"ბ\", \"კბ\", \"მბ\", \"გბ\", \"ტბ\" და \"პბ\"." + +#: utils/adt/domains.c:92 +#, c-format +msgid "type %s is not a domain" +msgstr "ტიპი \"%s\" დომენი არაა" + +#: utils/adt/encode.c:66 utils/adt/encode.c:114 +#, c-format +msgid "unrecognized encoding: \"%s\"" +msgstr "უცნობი კოდირება \"%s\"" + +#: utils/adt/encode.c:80 +#, c-format +msgid "result of encoding conversion is too large" +msgstr "დაშიფვრის შედეგი ძალიან დიდია" + +#: utils/adt/encode.c:128 +#, c-format +msgid "result of decoding conversion is too large" +msgstr "გაშიფვრის შედეგი ძალიან დიდია" + +#: utils/adt/encode.c:217 utils/adt/encode.c:227 +#, c-format +msgid "invalid hexadecimal digit: \"%.*s\"" +msgstr "არასწორი თექვსმეტობითი რიცხვი: \"%.*s\"" + +#: utils/adt/encode.c:223 +#, c-format +msgid "invalid hexadecimal data: odd number of digits" +msgstr "არასწორი თექვსმეტობითი მონაცემები: ციფრების კენტი რაოდენობა" + +#: utils/adt/encode.c:344 +#, c-format +msgid "unexpected \"=\" while decoding base64 sequence" +msgstr "base64 მიმდევრობის გაშიფვრისას აღმოჩენილია მოულოდნელი \"=\"" + +#: utils/adt/encode.c:356 +#, c-format +msgid "invalid symbol \"%.*s\" found while decoding base64 sequence" +msgstr "base64 მიმდევრობის გაშიფვრისას აღმოჩენილია არასწორი სიმბოლო \"%.*s\"" + +#: utils/adt/encode.c:377 +#, c-format +msgid "invalid base64 end sequence" +msgstr "base64-ის არასწორი დასრულების მიმდევრობა" + +#: utils/adt/encode.c:378 +#, c-format +msgid "Input data is missing padding, is truncated, or is otherwise corrupted." +msgstr "" + +#: utils/adt/enum.c:99 +#, c-format +msgid "unsafe use of new value \"%s\" of enum type %s" +msgstr "" + +#: utils/adt/enum.c:102 +#, c-format +msgid "New enum values must be committed before they can be used." +msgstr "" + +#: utils/adt/enum.c:121 utils/adt/enum.c:131 utils/adt/enum.c:194 utils/adt/enum.c:204 +#, c-format +msgid "invalid input value for enum %s: \"%s\"" +msgstr "არასწორი შეყვანილი მნიშვნელობა ჩამონათვალისთვის %s: \"%s\"" + +#: utils/adt/enum.c:166 utils/adt/enum.c:232 utils/adt/enum.c:291 +#, c-format +msgid "invalid internal value for enum: %u" +msgstr "არასწორი შიდა მნიშვნელობა ჩამონათვალისთვის: %u" + +#: utils/adt/enum.c:451 utils/adt/enum.c:480 utils/adt/enum.c:520 utils/adt/enum.c:540 +#, c-format +msgid "could not determine actual enum type" +msgstr "ჩამონათვალის მიმდინარე ტიპის დადგენა შეუძლებელია" + +#: utils/adt/enum.c:459 utils/adt/enum.c:488 +#, c-format +msgid "enum %s contains no values" +msgstr "ჩამონათვალი %s მნიშვნელობებს არ შეიცავს" + +#: utils/adt/float.c:89 +#, c-format +msgid "value out of range: overflow" +msgstr "მნიშვნელობა დიაპაზონს გარეთაა: გადავსება" + +#: utils/adt/float.c:97 +#, c-format +msgid "value out of range: underflow" +msgstr "მნიშვნელობა დიაპაზონს გარეთაა: არშევსება" + +#: utils/adt/float.c:286 +#, c-format +msgid "\"%s\" is out of range for type real" +msgstr "%s დიაპაზონს გარეთაა ტიპისთვის: real" + +#: utils/adt/float.c:488 +#, c-format +msgid "\"%s\" is out of range for type double precision" +msgstr "%s დიაპაზონს გარეთაა ტიპისთვის: double precision" + +#: utils/adt/float.c:1253 utils/adt/float.c:1327 utils/adt/int.c:355 utils/adt/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 +#, c-format +msgid "smallint out of range" +msgstr "smallint დიაპაზონს გარეთაა" + +#: utils/adt/float.c:1453 utils/adt/numeric.c:3693 utils/adt/numeric.c:10027 +#, 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 +#, 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 +#, 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 +#, 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 +#, c-format +msgid "cannot take logarithm of a negative number" +msgstr "უარყოფითი რიცხვის ლოგარითმის აღება შეუძლებელია" + +#: utils/adt/float.c:1771 utils/adt/float.c:1802 utils/adt/float.c:1897 utils/adt/float.c:1924 utils/adt/float.c:1952 utils/adt/float.c:1979 utils/adt/float.c:2126 utils/adt/float.c:2163 utils/adt/float.c:2333 utils/adt/float.c:2389 utils/adt/float.c:2454 utils/adt/float.c:2511 utils/adt/float.c:2702 utils/adt/float.c:2726 +#, c-format +msgid "input is out of range" +msgstr "შეყვანილი მნიშვნელობა დიაპაზონის გარეთაა" + +#: utils/adt/float.c:2867 +#, c-format +msgid "setseed parameter %g is out of allowed range [-1,1]" +msgstr "" + +#: utils/adt/float.c:4095 utils/adt/numeric.c:1841 +#, c-format +msgid "count must be greater than zero" +msgstr "რაოდენობა ნულზე მეტი უნდა იყოს" + +#: utils/adt/float.c:4100 utils/adt/numeric.c:1852 +#, c-format +msgid "operand, lower bound, and upper bound cannot be NaN" +msgstr "" + +#: utils/adt/float.c:4106 utils/adt/numeric.c:1857 +#, c-format +msgid "lower and upper bounds must be finite" +msgstr "ქვედა და ზედა ზღვრები სასრული უნდა ყოს" + +#: utils/adt/float.c:4172 utils/adt/numeric.c:1871 +#, c-format +msgid "lower bound cannot equal upper bound" +msgstr "ქვედა ზღვარი ზედა ზღვარის ტოლი ვერ იქნება" + +#: utils/adt/formatting.c:519 +#, c-format +msgid "invalid format specification for an interval value" +msgstr "ინტერვალის მნიშვნელობის ფორმატის არასწორი სპეციფიკაცია" + +#: utils/adt/formatting.c:520 +#, c-format +msgid "Intervals are not tied to specific calendar dates." +msgstr "" + +#: utils/adt/formatting.c:1150 +#, c-format +msgid "\"EEEE\" must be the last pattern used" +msgstr "\"EEEE\" ბოლო გამოყენებული შაბლონი უნდა იყოს" + +#: utils/adt/formatting.c:1158 +#, c-format +msgid "\"9\" must be ahead of \"PR\"" +msgstr "\"9\" \"PR\"-ზე წინ უნდა იყოს" + +#: utils/adt/formatting.c:1174 +#, c-format +msgid "\"0\" must be ahead of \"PR\"" +msgstr "\"0\" \"PR\"-ზე წინ უნდა იყოს" + +#: utils/adt/formatting.c:1201 +#, c-format +msgid "multiple decimal points" +msgstr "ბევრი ათობითი წერტილი" + +#: utils/adt/formatting.c:1205 utils/adt/formatting.c:1288 +#, c-format +msgid "cannot use \"V\" and decimal point together" +msgstr "\"V\"-ს და ათობით წერტილს ერთად ვერ გამოიყენებთ" + +#: utils/adt/formatting.c:1217 +#, c-format +msgid "cannot use \"S\" twice" +msgstr "\"S\"-ს ორჯერ ვერ გამოიყენებთ" + +#: utils/adt/formatting.c:1221 +#, c-format +msgid "cannot use \"S\" and \"PL\"/\"MI\"/\"SG\"/\"PR\" together" +msgstr "\"S\"-ის და \"PL\"/\"MI\"/\"SG\"/\"PR\"-ის ერთად გამოყენება შეუძლებელია" + +#: utils/adt/formatting.c:1241 +#, c-format +msgid "cannot use \"S\" and \"MI\" together" +msgstr "\"S\"-ის და \"MI\"-ის ერთად გამოყენება შეუძლებელია" + +#: utils/adt/formatting.c:1251 +#, c-format +msgid "cannot use \"S\" and \"PL\" together" +msgstr "\"S\"-ის და \"PL\"-ის ერთად გამოყენება შეუძლებელია" + +#: utils/adt/formatting.c:1261 +#, c-format +msgid "cannot use \"S\" and \"SG\" together" +msgstr "\"S\"-ის და \"SG\"-ის ერთად გამოყენება შეუძლებელია" + +#: utils/adt/formatting.c:1270 +#, c-format +msgid "cannot use \"PR\" and \"S\"/\"PL\"/\"MI\"/\"SG\" together" +msgstr "\"PR\"-ის და \"S\"/\"PL\"/\"MI\"/\"SG\"-ის ერთად გამოყენება შეუძლებელია" + +#: utils/adt/formatting.c:1296 +#, c-format +msgid "cannot use \"EEEE\" twice" +msgstr "\"EEEE\"-ს ორჯერ ვერ გამოყენებთ" + +#: utils/adt/formatting.c:1302 +#, c-format +msgid "\"EEEE\" is incompatible with other formats" +msgstr "\"EEEE\" სხვა ფორმატებთან შეუთავსებელია" + +#: utils/adt/formatting.c:1303 +#, c-format +msgid "\"EEEE\" may only be used together with digit and decimal point patterns." +msgstr "" + +#: utils/adt/formatting.c:1387 +#, c-format +msgid "invalid datetime format separator: \"%s\"" +msgstr "თარიღი/დროის არასწორი გამყოფი: \"%s\"" + +#: utils/adt/formatting.c:1514 +#, c-format +msgid "\"%s\" is not a number" +msgstr "\"%s\" რიცხვი არაა" + +#: utils/adt/formatting.c:1592 +#, c-format +msgid "case conversion failed: %s" +msgstr "სიმბოლოების ზომის გარდაქმნის შეცდომა: %s" + +#: utils/adt/formatting.c:1646 utils/adt/formatting.c:1768 utils/adt/formatting.c:1891 +#, c-format +msgid "could not determine which collation to use for %s function" +msgstr "" + +#: utils/adt/formatting.c:2274 +#, c-format +msgid "invalid combination of date conventions" +msgstr "თარიღის გარდაქმნის არასწორი კომბინაცია" + +#: utils/adt/formatting.c:2275 +#, c-format +msgid "Do not mix Gregorian and ISO week date conventions in a formatting template." +msgstr "" + +#: utils/adt/formatting.c:2297 +#, c-format +msgid "conflicting values for \"%s\" field in formatting string" +msgstr "" + +#: utils/adt/formatting.c:2299 +#, c-format +msgid "This value contradicts a previous setting for the same field type." +msgstr "ეს მნიშვნელობა იგივე ველის ტიპისთვის წინა პარამეტრს ეწინააღმდეგება." + +#: utils/adt/formatting.c:2366 +#, c-format +msgid "source string too short for \"%s\" formatting field" +msgstr "" + +#: utils/adt/formatting.c:2368 +#, c-format +msgid "Field requires %d characters, but only %d remain." +msgstr "ველს %d სიმბოლო სჭირდება, მაგრამ მხოლოდ %d-ღაა დარჩენილი." + +#: utils/adt/formatting.c:2370 utils/adt/formatting.c:2384 +#, c-format +msgid "If your source string is not fixed-width, try using the \"FM\" modifier." +msgstr "" + +#: utils/adt/formatting.c:2380 utils/adt/formatting.c:2393 utils/adt/formatting.c:2614 +#, c-format +msgid "invalid value \"%s\" for \"%s\"" +msgstr "მნიშვნელობა \"%s\" \"%s\"-თვის არასწორია" + +#: utils/adt/formatting.c:2382 +#, c-format +msgid "Field requires %d characters, but only %d could be parsed." +msgstr "" + +#: utils/adt/formatting.c:2395 +#, c-format +msgid "Value must be an integer." +msgstr "მნიშვნელობა მთელი რიცხვი უნდა იყოს." + +#: utils/adt/formatting.c:2400 +#, c-format +msgid "value for \"%s\" in source string is out of range" +msgstr "საწყის სტრიქონში \"%s\"-ის მნიშვნელობა დიაპაზონს გარეთაა" + +#: utils/adt/formatting.c:2402 +#, c-format +msgid "Value must be in the range %d to %d." +msgstr "მნიშვნელობა უნდა იყოს დიაპაზონიდან %d-%d." + +#: utils/adt/formatting.c:2616 +#, c-format +msgid "The given value did not match any of the allowed values for this field." +msgstr "" + +#: utils/adt/formatting.c:2832 utils/adt/formatting.c:2852 utils/adt/formatting.c:2872 utils/adt/formatting.c:2892 utils/adt/formatting.c:2911 utils/adt/formatting.c:2930 utils/adt/formatting.c:2954 utils/adt/formatting.c:2972 utils/adt/formatting.c:2990 utils/adt/formatting.c:3008 utils/adt/formatting.c:3025 utils/adt/formatting.c:3042 +#, c-format +msgid "localized string format value too long" +msgstr "ლოკალიზებული სტრიქონის ფორმატის მნიშვნელობა მეტისმეტად გრძელია" + +#: utils/adt/formatting.c:3322 +#, c-format +msgid "unmatched format separator \"%c\"" +msgstr "" + +#: utils/adt/formatting.c:3383 +#, c-format +msgid "unmatched format character \"%s\"" +msgstr "" + +#: utils/adt/formatting.c:3491 +#, c-format +msgid "formatting field \"%s\" is only supported in to_char" +msgstr "" + +#: utils/adt/formatting.c:3665 +#, c-format +msgid "invalid input string for \"Y,YYY\"" +msgstr "არასწორი შეყვანილი სტრიქონი \"Y,YYY\"-სთვის" + +#: utils/adt/formatting.c:3754 +#, c-format +msgid "input string is too short for datetime format" +msgstr "შეყვანილი სტრიქონი datetime ფორმატისთვის მეტისმეტად მოკლეა" + +#: utils/adt/formatting.c:3762 +#, c-format +msgid "trailing characters remain in input string after datetime format" +msgstr "" + +#: utils/adt/formatting.c:4319 +#, c-format +msgid "missing time zone in input string for type timestamptz" +msgstr "" + +#: utils/adt/formatting.c:4325 +#, c-format +msgid "timestamptz out of range" +msgstr "timestamptz დიაპაზონს გარეთაა" + +#: utils/adt/formatting.c:4353 +#, c-format +msgid "datetime format is zoned but not timed" +msgstr "" + +#: utils/adt/formatting.c:4411 +#, c-format +msgid "missing time zone in input string for type timetz" +msgstr "" + +#: utils/adt/formatting.c:4417 +#, c-format +msgid "timetz out of range" +msgstr "timetz დიაპაზონს გარეთაა" + +#: utils/adt/formatting.c:4443 +#, c-format +msgid "datetime format is not dated and not timed" +msgstr "" + +#: utils/adt/formatting.c:4575 +#, c-format +msgid "hour \"%d\" is invalid for the 12-hour clock" +msgstr "საათი \"%d\" არასწორია 12-საათიანი ათვლისთვის" + +#: utils/adt/formatting.c:4577 +#, c-format +msgid "Use the 24-hour clock, or give an hour between 1 and 12." +msgstr "გამოიყენეთ 24-საათიანი ათვლა ან მიუთითეთ საათი დიაპაზონიდან 1-12." + +#: utils/adt/formatting.c:4689 +#, c-format +msgid "cannot calculate day of year without year information" +msgstr "წლის დღის გამოთვლა წლის მითითების გარეშე შეუძლებელია" + +#: utils/adt/formatting.c:5621 +#, c-format +msgid "\"EEEE\" not supported for input" +msgstr "\"EEEE\" შეყვანისთვის მხარდაჭერილი არაა" + +#: utils/adt/formatting.c:5633 +#, c-format +msgid "\"RN\" not supported for input" +msgstr "\"RN\" შეყვანისთვის მხარდაჭერილი არაა" + +#: utils/adt/genfile.c:84 +#, c-format +msgid "absolute path not allowed" +msgstr "აბსოლუტური ბილიკი დაშვებული არაა" + +#: utils/adt/genfile.c:89 +#, c-format +msgid "path must be in or below the data directory" +msgstr "ბილიკი მონაცემების საქაღალდეში ან უფრო ქვემოთ უნდა იყოს" + +#: utils/adt/genfile.c:114 utils/adt/oracle_compat.c:190 utils/adt/oracle_compat.c:288 utils/adt/oracle_compat.c:839 utils/adt/oracle_compat.c:1142 +#, c-format +msgid "requested length too large" +msgstr "მოთხოვნილი სიგრძე ძალიან დიდია" + +#: utils/adt/genfile.c:131 +#, c-format +msgid "could not seek in file \"%s\": %m" +msgstr "ფაილში (%s) გადახვევის პრობლემა: %m" + +#: utils/adt/genfile.c:171 +#, c-format +msgid "file length too large" +msgstr "ფალის სიგრძე მეტისმეად დიდია" + +#: utils/adt/genfile.c:248 +#, c-format +msgid "must be superuser to read files with adminpack 1.0" +msgstr "" + +#: utils/adt/genfile.c:702 +#, c-format +msgid "tablespace with OID %u does not exist" +msgstr "ცხრილების სივრცე OID-ით %u არ არსებობს" + +#: utils/adt/geo_ops.c:998 utils/adt/geo_ops.c:1052 +#, c-format +msgid "invalid line specification: A and B cannot both be zero" +msgstr "არასწორი ხაზის განსაზღვრება: A და B ორივე ნულის ტოლი ვერ იქნება" + +#: utils/adt/geo_ops.c:1008 utils/adt/geo_ops.c:1124 +#, c-format +msgid "invalid line specification: must be two distinct points" +msgstr "" + +#: utils/adt/geo_ops.c:1438 utils/adt/geo_ops.c:3438 utils/adt/geo_ops.c:4368 utils/adt/geo_ops.c:5253 +#, c-format +msgid "too many points requested" +msgstr "მოთხოვნილია მეტისმეტად ბევრი წერტილი" + +#: utils/adt/geo_ops.c:1502 +#, c-format +msgid "invalid number of points in external \"path\" value" +msgstr "არასწორი წერტილების რაოდენობა გარე ცვლადის \"path\" მნიშვნელობაში" + +#: utils/adt/geo_ops.c:3487 +#, c-format +msgid "invalid number of points in external \"polygon\" value" +msgstr "არასწორი წერტილების რაოდენობა გარე ცვლადის \"polygon\" მნიშვნელობაში" + +#: utils/adt/geo_ops.c:4463 +#, c-format +msgid "open path cannot be converted to polygon" +msgstr "გახსნილ ბილიკს პოლიგონად ვერ გადააკეთებთ" + +#: utils/adt/geo_ops.c:4718 +#, c-format +msgid "invalid radius in external \"circle\" value" +msgstr "არასწორი რადიუსი გარე ცვლადის \"circle\" მნიშვნელობაში" + +#: utils/adt/geo_ops.c:5239 +#, c-format +msgid "cannot convert circle with radius zero to polygon" +msgstr "" + +#: utils/adt/geo_ops.c:5244 +#, c-format +msgid "must request at least 2 points" +msgstr "უნდა მოითხოვოთ სულ ცოტა 2 წერტილი" + +#: utils/adt/int.c:264 +#, c-format +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:5797 utils/adt/timestamp.c:5879 +#, 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 +#, c-format +msgid "bigint out of range" +msgstr "bigint დიაპაზონს გარეთაა" + +#: utils/adt/int8.c:1361 +#, c-format +msgid "OID out of range" +msgstr "OID დიაპაზონს გარეთაა" + +#: utils/adt/json.c:320 utils/adt/jsonb.c:781 +#, c-format +msgid "key value must be scalar, not array, composite, or json" +msgstr "" + +#: utils/adt/json.c:1113 utils/adt/json.c:1123 utils/fmgr/funcapi.c:2082 +#, c-format +msgid "could not determine data type for argument %d" +msgstr "არგუმენტისთვის %d მონაცემების ტიპის განსაზღვრა შეუძლებელია" + +#: utils/adt/json.c:1146 utils/adt/json.c:1337 utils/adt/json.c:1513 utils/adt/json.c:1591 utils/adt/jsonb.c:1432 utils/adt/jsonb.c:1522 +#, c-format +msgid "null value not allowed for object key" +msgstr "ობიექტის გასაღებისთვის ნულოვანი მნიშვნელობა დაშვებული არაა" + +#: utils/adt/json.c:1189 utils/adt/json.c:1352 +#, c-format +msgid "duplicate JSON object key value: %s" +msgstr "დუბლირებული JSON ობიექტის გასაღების მნიშვნელობა: %s" + +#: utils/adt/json.c:1297 utils/adt/jsonb.c:1233 +#, c-format +msgid "argument list must have even number of elements" +msgstr "არგუმენტების სიას ლუწი რაოდენობის ელემენტები უნდა ჰქონდეს" + +#. translator: %s is a SQL function name +#: utils/adt/json.c:1299 utils/adt/jsonb.c:1235 +#, c-format +msgid "The arguments of %s must consist of alternating keys and values." +msgstr "%s-ის არგუმენტები პარამეტრებისა და მნიშვნელობების მონაცვლეობით სიას უნდა წარმოადგენდეს." + +#: utils/adt/json.c:1491 utils/adt/jsonb.c:1410 +#, c-format +msgid "array must have two columns" +msgstr "მასივს ორი სვეტი უნდა ჰქონდეს" + +#: utils/adt/json.c:1580 utils/adt/jsonb.c:1511 +#, c-format +msgid "mismatched array dimensions" +msgstr "მასივის ზომები არ ემთხვევა" + +#: utils/adt/json.c:1764 utils/adt/jsonb_util.c:1958 +#, c-format +msgid "duplicate JSON object key value" +msgstr "დუბლირებული JSON ობიექტის გასაღების მნიშვნელობა" + +#: utils/adt/jsonb.c:294 +#, c-format +msgid "string too long to represent as jsonb string" +msgstr "" + +#: utils/adt/jsonb.c:295 +#, c-format +msgid "Due to an implementation restriction, jsonb strings cannot exceed %d bytes." +msgstr "" + +#: utils/adt/jsonb.c:1252 +#, c-format +msgid "argument %d: key must not be null" +msgstr "არგუმენტი %d: გასაღები ნულოვან ვერ იქნება" + +#: utils/adt/jsonb.c:1843 +#, c-format +msgid "field name must not be null" +msgstr "ველის სახელი ნულოვანი ვერ იქნება" + +#: utils/adt/jsonb.c:1905 +#, c-format +msgid "object keys must be strings" +msgstr "ობიექტის გასაღებები სტრიქონები უნდა იყოს" + +#: utils/adt/jsonb.c:2116 +#, c-format +msgid "cannot cast jsonb null to type %s" +msgstr "jsonb null-ის %s-ის ტიპში გადაყვანა შეუძლებელია" + +#: utils/adt/jsonb.c:2117 +#, c-format +msgid "cannot cast jsonb string to type %s" +msgstr "jsonb სტრიქონის %s-ის ტიპში გადაყვანა შეუძლებელია" + +#: utils/adt/jsonb.c:2118 +#, c-format +msgid "cannot cast jsonb numeric to type %s" +msgstr "jsonb რიცხვის %s-ის ტიპში გადაყვანა შეუძლებელია" + +#: utils/adt/jsonb.c:2119 +#, c-format +msgid "cannot cast jsonb boolean to type %s" +msgstr "jsonb ლოგიკური მნიშვნელობის %s-ის ტიპში გადაყვანა შეუძლებელია" + +#: utils/adt/jsonb.c:2120 +#, c-format +msgid "cannot cast jsonb array to type %s" +msgstr "jsonb მასივის %s-ის ტიპში გადაყვანა შეუძლებელია" + +#: utils/adt/jsonb.c:2121 +#, c-format +msgid "cannot cast jsonb object to type %s" +msgstr "jsonb ობიექტის %s-ის ტიპში გადაყვანა შეუძლებელია" + +#: utils/adt/jsonb.c:2122 +#, c-format +msgid "cannot cast jsonb array or object to type %s" +msgstr "jsonb ობიექტის ან მასივის %s-ის ტიპში გადაყვანა შეუძლებელია" + +#: utils/adt/jsonb_util.c:758 +#, c-format +msgid "number of jsonb object pairs exceeds the maximum allowed (%zu)" +msgstr "" + +#: utils/adt/jsonb_util.c:799 +#, c-format +msgid "number of jsonb array elements exceeds the maximum allowed (%zu)" +msgstr "" + +#: utils/adt/jsonb_util.c:1673 utils/adt/jsonb_util.c:1693 +#, c-format +msgid "total size of jsonb array elements exceeds the maximum of %d bytes" +msgstr "jsonb მასივის ელემენტების სრული ზომება მაქსიმუმ დასაშვებზე (%d ბაიტი) დიდია" + +#: utils/adt/jsonb_util.c:1754 utils/adt/jsonb_util.c:1789 utils/adt/jsonb_util.c:1809 +#, c-format +msgid "total size of jsonb object elements exceeds the maximum of %d bytes" +msgstr "" + +#: utils/adt/jsonbsubs.c:70 utils/adt/jsonbsubs.c:151 +#, c-format +msgid "jsonb subscript does not support slices" +msgstr "" + +#: utils/adt/jsonbsubs.c:103 utils/adt/jsonbsubs.c:117 +#, c-format +msgid "subscript type %s is not supported" +msgstr "ქვეკრიპტის ტიპი %s მხარდაჭერილი არაა" + +#: utils/adt/jsonbsubs.c:104 +#, c-format +msgid "jsonb subscript must be coercible to only one type, integer or text." +msgstr "" + +#: utils/adt/jsonbsubs.c:118 +#, c-format +msgid "jsonb subscript must be coercible to either integer or text." +msgstr "" + +#: utils/adt/jsonbsubs.c:139 +#, c-format +msgid "jsonb subscript must have text type" +msgstr "jsonb ქვესკრიპტს ტექსტური ტიპი უნდა ჰქონდეს" + +#: utils/adt/jsonbsubs.c:207 +#, c-format +msgid "jsonb subscript in assignment must not be null" +msgstr "" + +#: utils/adt/jsonfuncs.c:572 utils/adt/jsonfuncs.c:821 utils/adt/jsonfuncs.c:2429 utils/adt/jsonfuncs.c:2881 utils/adt/jsonfuncs.c:3676 utils/adt/jsonfuncs.c:4018 +#, c-format +msgid "cannot call %s on a scalar" +msgstr "%s-ის გამოძახება სკალარზე შეუძლებელია" + +#: utils/adt/jsonfuncs.c:577 utils/adt/jsonfuncs.c:806 utils/adt/jsonfuncs.c:2883 utils/adt/jsonfuncs.c:3663 +#, c-format +msgid "cannot call %s on an array" +msgstr "%s-ის გამოძახება მასივზე შეუძლებელია" + +#: utils/adt/jsonfuncs.c:713 +#, c-format +msgid "JSON data, line %d: %s%s%s" +msgstr "JSON მონაცემი, ხაზი %d: %s%s%s" + +#: utils/adt/jsonfuncs.c:1875 utils/adt/jsonfuncs.c:1912 +#, c-format +msgid "cannot get array length of a scalar" +msgstr "სკალარის მასივის სიგრძის მიღება შეუძლებელია" + +#: utils/adt/jsonfuncs.c:1879 utils/adt/jsonfuncs.c:1898 +#, c-format +msgid "cannot get array length of a non-array" +msgstr "არა-მასივის მასივის სიგრძის მიღება შეუძლებელია" + +#: utils/adt/jsonfuncs.c:1978 +#, c-format +msgid "cannot call %s on a non-object" +msgstr "არა-ობიექტზე %s-ის გამოძახება შეუძლებელია" + +#: utils/adt/jsonfuncs.c:2166 +#, c-format +msgid "cannot deconstruct an array as an object" +msgstr "მასივის დეკონსტრუქცია ობიექტად შეუძლებელია" + +#: utils/adt/jsonfuncs.c:2180 +#, c-format +msgid "cannot deconstruct a scalar" +msgstr "სკალარის დეკონსტრუქცია შეუძლებელია" + +#: utils/adt/jsonfuncs.c:2225 +#, c-format +msgid "cannot extract elements from a scalar" +msgstr "სკალარიდან ელემენტების გამოღება შეუძლებელია" + +#: utils/adt/jsonfuncs.c:2229 +#, c-format +msgid "cannot extract elements from an object" +msgstr "ობიექტიდან ელემენტების გამოღება შეუძლებელია" + +#: utils/adt/jsonfuncs.c:2414 utils/adt/jsonfuncs.c:3896 +#, c-format +msgid "cannot call %s on a non-array" +msgstr "არა-მასივზე %s-ს ვერ გამოიძახებთ" + +#: utils/adt/jsonfuncs.c:2488 utils/adt/jsonfuncs.c:2493 utils/adt/jsonfuncs.c:2510 utils/adt/jsonfuncs.c:2516 +#, c-format +msgid "expected JSON array" +msgstr "მოველოდი JSON მასივს" + +#: utils/adt/jsonfuncs.c:2489 +#, c-format +msgid "See the value of key \"%s\"." +msgstr "იხილეთ მასივის ელემენტი \"%s\"." + +#: utils/adt/jsonfuncs.c:2511 +#, c-format +msgid "See the array element %s of key \"%s\"." +msgstr "იხილეთ მასივის ელემენტი %s გასაღებიდან \"%s\"." + +#: utils/adt/jsonfuncs.c:2517 +#, c-format +msgid "See the array element %s." +msgstr "იხილეთ მასივის ელემენტი %s." + +#: utils/adt/jsonfuncs.c:2552 +#, c-format +msgid "malformed JSON array" +msgstr "დამახინჯებული JSON მასივი" + +#. translator: %s is a function name, eg json_to_record +#: utils/adt/jsonfuncs.c:3389 +#, c-format +msgid "first argument of %s must be a row type" +msgstr "%s-ის პირველი არგუმენტი მწკრივის ტიპის უნდა იყოს" + +#. translator: %s is a function name, eg json_to_record +#: utils/adt/jsonfuncs.c:3413 +#, c-format +msgid "could not determine row type for result of %s" +msgstr "%s-ის შედეგის მწკრივის ტიპის დადგენა შეუძლებელია" + +#: utils/adt/jsonfuncs.c:3415 +#, c-format +msgid "Provide a non-null record argument, or call the function in the FROM clause using a column definition list." +msgstr "" + +#: utils/adt/jsonfuncs.c:3785 utils/fmgr/funcapi.c:94 +#, c-format +msgid "materialize mode required, but it is not allowed in this context" +msgstr "საჭიროა მატერიალიზებული რეჟიმი, მაგრამ ამ კონტექსტში ეს დაუშვებელია" + +#: utils/adt/jsonfuncs.c:3913 utils/adt/jsonfuncs.c:3997 +#, c-format +msgid "argument of %s must be an array of objects" +msgstr "%s-ის არგუმენტი ობიექტების მასივს უნდა წარმოადგენდეს" + +#: utils/adt/jsonfuncs.c:3946 +#, c-format +msgid "cannot call %s on an object" +msgstr "%s-ს ობიექტზე ვერ გამოიძახებთ" + +#: utils/adt/jsonfuncs.c:4380 utils/adt/jsonfuncs.c:4439 utils/adt/jsonfuncs.c:4519 +#, c-format +msgid "cannot delete from scalar" +msgstr "სკალარიდან წაშლა შეუძლებელია" + +#: utils/adt/jsonfuncs.c:4524 +#, c-format +msgid "cannot delete from object using integer index" +msgstr "ობიექტიდან წაშლა მთელი რიცხვის ინდექსის გამოყენებით შეუძლებელია" + +#: utils/adt/jsonfuncs.c:4592 utils/adt/jsonfuncs.c:4751 +#, c-format +msgid "cannot set path in scalar" +msgstr "სკალარში ბილიკის დაყენება შეუძლებელია" + +#: utils/adt/jsonfuncs.c:4633 utils/adt/jsonfuncs.c:4675 +#, c-format +msgid "null_value_treatment must be \"delete_key\", \"return_target\", \"use_json_null\", or \"raise_exception\"" +msgstr "" + +#: utils/adt/jsonfuncs.c:4646 +#, c-format +msgid "JSON value must not be null" +msgstr "JSON მნიშვნელობა ნულოვანი ვერ იქნება" + +#: utils/adt/jsonfuncs.c:4647 +#, c-format +msgid "Exception was raised because null_value_treatment is \"raise_exception\"." +msgstr "" + +#: utils/adt/jsonfuncs.c:4648 +#, c-format +msgid "To avoid, either change the null_value_treatment argument or ensure that an SQL NULL is not passed." +msgstr "" + +#: utils/adt/jsonfuncs.c:4703 +#, c-format +msgid "cannot delete path in scalar" +msgstr "სკალარში ბილიკის წაშლა შეუძლებელია" + +#: utils/adt/jsonfuncs.c:4917 +#, c-format +msgid "path element at position %d is null" +msgstr "ბილიკის ელემენტი პოზიციაზე %d ნულოვანია" + +#: utils/adt/jsonfuncs.c:4936 utils/adt/jsonfuncs.c:4967 utils/adt/jsonfuncs.c:5040 +#, c-format +msgid "cannot replace existing key" +msgstr "არსებული გასაღების ჩანაცვლება შეუძლებელია" + +#: utils/adt/jsonfuncs.c:4937 utils/adt/jsonfuncs.c:4968 +#, c-format +msgid "The path assumes key is a composite object, but it is a scalar value." +msgstr "" + +#: utils/adt/jsonfuncs.c:5041 +#, c-format +msgid "Try using the function jsonb_set to replace key value." +msgstr "" + +#: utils/adt/jsonfuncs.c:5145 +#, c-format +msgid "path element at position %d is not an integer: \"%s\"" +msgstr "" + +#: utils/adt/jsonfuncs.c:5162 +#, c-format +msgid "path element at position %d is out of range: %d" +msgstr "" + +#: utils/adt/jsonfuncs.c:5314 +#, c-format +msgid "wrong flag type, only arrays and scalars are allowed" +msgstr "არასწორი ალმის ტიპი. დაშვებულია მხოლოდ მასივები და სკალარები" + +#: utils/adt/jsonfuncs.c:5321 +#, c-format +msgid "flag array element is not a string" +msgstr "ალმის მასივის ელემენტი სტრიქონი არაა" + +#: utils/adt/jsonfuncs.c:5322 utils/adt/jsonfuncs.c:5344 +#, c-format +msgid "Possible values are: \"string\", \"numeric\", \"boolean\", \"key\", and \"all\"." +msgstr "" + +#: utils/adt/jsonfuncs.c:5342 +#, c-format +msgid "wrong flag in flag array: \"%s\"" +msgstr "არასწორი ალამი ალმების მასივში: \"%s\"" + +#: utils/adt/jsonpath.c:382 +#, c-format +msgid "@ is not allowed in root expressions" +msgstr "" + +#: utils/adt/jsonpath.c:388 +#, c-format +msgid "LAST is allowed only in array subscripts" +msgstr "" + +#: utils/adt/jsonpath_exec.c:361 +#, c-format +msgid "single boolean result is expected" +msgstr "მოველოდი ერთ ლოგიკურ შედეგს" + +#: utils/adt/jsonpath_exec.c:557 +#, c-format +msgid "\"vars\" argument is not an object" +msgstr "არგუმენტი \"vars\" ობიექტი არაა" + +#: utils/adt/jsonpath_exec.c:558 +#, c-format +msgid "Jsonpath parameters should be encoded as key-value pairs of \"vars\" object." +msgstr "" + +#: utils/adt/jsonpath_exec.c:675 +#, c-format +msgid "JSON object does not contain key \"%s\"" +msgstr "JSON ობიექტი არ შეიცავს გასაღებს \"%s\"" + +#: utils/adt/jsonpath_exec.c:687 +#, c-format +msgid "jsonpath member accessor can only be applied to an object" +msgstr "" + +#: utils/adt/jsonpath_exec.c:716 +#, c-format +msgid "jsonpath wildcard array accessor can only be applied to an array" +msgstr "" + +#: utils/adt/jsonpath_exec.c:764 +#, c-format +msgid "jsonpath array subscript is out of bounds" +msgstr "" + +#: utils/adt/jsonpath_exec.c:821 +#, c-format +msgid "jsonpath array accessor can only be applied to an array" +msgstr "" + +#: utils/adt/jsonpath_exec.c:873 +#, c-format +msgid "jsonpath wildcard member accessor can only be applied to an object" +msgstr "" + +#: utils/adt/jsonpath_exec.c:1007 +#, c-format +msgid "jsonpath item method .%s() can only be applied to an array" +msgstr "" + +#: utils/adt/jsonpath_exec.c:1060 +#, c-format +msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision" +msgstr "" + +#: utils/adt/jsonpath_exec.c:1081 +#, c-format +msgid "string argument of jsonpath item method .%s() is not a valid representation of a double precision number" +msgstr "" + +#: utils/adt/jsonpath_exec.c:1094 +#, c-format +msgid "jsonpath item method .%s() can only be applied to a string or numeric value" +msgstr "" + +#: utils/adt/jsonpath_exec.c:1584 +#, c-format +msgid "left operand of jsonpath operator %s is not a single numeric value" +msgstr "" + +#: utils/adt/jsonpath_exec.c:1591 +#, c-format +msgid "right operand of jsonpath operator %s is not a single numeric value" +msgstr "" + +#: utils/adt/jsonpath_exec.c:1659 +#, c-format +msgid "operand of unary jsonpath operator %s is not a numeric value" +msgstr "" + +#: utils/adt/jsonpath_exec.c:1758 +#, c-format +msgid "jsonpath item method .%s() can only be applied to a numeric value" +msgstr "" + +#: utils/adt/jsonpath_exec.c:1798 +#, c-format +msgid "jsonpath item method .%s() can only be applied to a string" +msgstr "" + +#: utils/adt/jsonpath_exec.c:1901 +#, c-format +msgid "datetime format is not recognized: \"%s\"" +msgstr "datetime-ის ფორმატი უცნობია: \"%s\"" + +#: utils/adt/jsonpath_exec.c:1903 +#, c-format +msgid "Use a datetime template argument to specify the input data format." +msgstr "" + +#: utils/adt/jsonpath_exec.c:1971 +#, c-format +msgid "jsonpath item method .%s() can only be applied to an object" +msgstr "" + +#: utils/adt/jsonpath_exec.c:2153 +#, c-format +msgid "could not find jsonpath variable \"%s\"" +msgstr "" + +#: utils/adt/jsonpath_exec.c:2417 +#, c-format +msgid "jsonpath array subscript is not a single numeric value" +msgstr "" + +#: utils/adt/jsonpath_exec.c:2429 +#, c-format +msgid "jsonpath array subscript is out of integer range" +msgstr "" + +#: utils/adt/jsonpath_exec.c:2606 +#, c-format +msgid "cannot convert value from %s to %s without time zone usage" +msgstr "" + +#: utils/adt/jsonpath_exec.c:2608 +#, c-format +msgid "Use *_tz() function for time zone support." +msgstr "" + +#: utils/adt/levenshtein.c:132 +#, c-format +msgid "levenshtein argument exceeds maximum length of %d characters" +msgstr "" + +#: utils/adt/like.c:161 +#, c-format +msgid "nondeterministic collations are not supported for LIKE" +msgstr "" + +#: utils/adt/like.c:190 utils/adt/like_support.c:1024 +#, c-format +msgid "could not determine which collation to use for ILIKE" +msgstr "" + +#: utils/adt/like.c:202 +#, c-format +msgid "nondeterministic collations are not supported for ILIKE" +msgstr "" + +#: utils/adt/like_match.c:108 utils/adt/like_match.c:168 +#, c-format +msgid "LIKE pattern must not end with escape character" +msgstr "" + +#: utils/adt/like_match.c:293 utils/adt/regexp.c:801 +#, c-format +msgid "invalid escape string" +msgstr "არასწორი სპეციალური სიმბოლო" + +#: utils/adt/like_match.c:294 utils/adt/regexp.c:802 +#, c-format +msgid "Escape string must be empty or one character." +msgstr "" + +#: utils/adt/like_support.c:1014 +#, c-format +msgid "case insensitive matching not supported on type bytea" +msgstr "" + +#: utils/adt/like_support.c:1115 +#, c-format +msgid "regular-expression matching not supported on type bytea" +msgstr "" + +#: utils/adt/mac.c:102 +#, c-format +msgid "invalid octet value in \"macaddr\" value: \"%s\"" +msgstr "" + +#: utils/adt/mac8.c:554 +#, c-format +msgid "macaddr8 data out of range to convert to macaddr" +msgstr "" + +#: utils/adt/mac8.c:555 +#, c-format +msgid "Only addresses that have FF and FE as values in the 4th and 5th bytes from the left, for example xx:xx:xx:ff:fe:xx:xx:xx, are eligible to be converted from macaddr8 to macaddr." +msgstr "" + +#: utils/adt/mcxtfuncs.c:182 +#, c-format +msgid "PID %d is not a PostgreSQL server process" +msgstr "პროცესი PID-ით %d PostgreSQL-ის სერვერის პროცესს არ წარმოადგენს" + +#: utils/adt/misc.c:237 +#, c-format +msgid "global tablespace never has databases" +msgstr "ცხრილების სივრცეში 'global' მონაცემთა ბაზები არასოდეს ყოფილა" + +#: utils/adt/misc.c:259 +#, c-format +msgid "%u is not a tablespace OID" +msgstr "ცხრილების სივრცე OID-ით %u არ არსებობს" + +#: utils/adt/misc.c:454 +msgid "unreserved" +msgstr "რეზერვირებული არაა" + +#: utils/adt/misc.c:458 +msgid "unreserved (cannot be function or type name)" +msgstr "რეზერვირებული არაა (ფუნქციის ან ტიპის სახელი არ შეიძლება იყოს)" + +#: utils/adt/misc.c:462 +msgid "reserved (can be function or type name)" +msgstr "რეზერვირებული (შეიძლება იყოს ფუნქციის ან ტიპის სახელი)" + +#: utils/adt/misc.c:466 +msgid "reserved" +msgstr "რეზერვირებული" + +#: utils/adt/misc.c:477 +msgid "can be bare label" +msgstr "შეიძლება იყოს შიშველი ჭდე" + +#: utils/adt/misc.c:482 +msgid "requires AS" +msgstr "მოითხოვს \"AS\"" + +#: utils/adt/misc.c:853 utils/adt/misc.c:867 utils/adt/misc.c:906 utils/adt/misc.c:912 utils/adt/misc.c:918 utils/adt/misc.c:941 +#, c-format +msgid "string is not a valid identifier: \"%s\"" +msgstr "სტრიქონი არასწორი იდენტიფიკატორია: \"%s\"" + +#: utils/adt/misc.c:855 +#, c-format +msgid "String has unclosed double quotes." +msgstr "სტრიქონს დაუხურავი ორმაგი ბრჭყალი გააჩნია." + +#: utils/adt/misc.c:869 +#, c-format +msgid "Quoted identifier must not be empty." +msgstr "" + +#: utils/adt/misc.c:908 +#, c-format +msgid "No valid identifier before \".\"." +msgstr "" + +#: utils/adt/misc.c:914 +#, c-format +msgid "No valid identifier after \".\"." +msgstr "" + +#: utils/adt/misc.c:974 +#, c-format +msgid "log format \"%s\" is not supported" +msgstr "ჟურნალის ფორმატი \"%s\" მხარდაჭერილი არაა" + +#: utils/adt/misc.c:975 +#, c-format +msgid "The supported log formats are \"stderr\", \"csvlog\", and \"jsonlog\"." +msgstr "" + +#: utils/adt/multirangetypes.c:151 utils/adt/multirangetypes.c:164 utils/adt/multirangetypes.c:193 utils/adt/multirangetypes.c:267 utils/adt/multirangetypes.c:291 +#, c-format +msgid "malformed multirange literal: \"%s\"" +msgstr "" + +#: utils/adt/multirangetypes.c:153 +#, c-format +msgid "Missing left brace." +msgstr "აკლია მარცხენა ფრჩხილი." + +#: utils/adt/multirangetypes.c:195 +#, c-format +msgid "Expected range start." +msgstr "მოველოდი დიაპაზონის დასაწყისს." + +#: utils/adt/multirangetypes.c:269 +#, c-format +msgid "Expected comma or end of multirange." +msgstr "მოველოდი მძიმეს ან მულტიდიაპაზონის დასასრულს." + +#: utils/adt/multirangetypes.c:982 +#, c-format +msgid "multiranges cannot be constructed from multidimensional arrays" +msgstr "მულტიდიაპაზონი მრავალგანზომილებიანი მასივებისგან ვერ შეიქმნება" + +#: utils/adt/multirangetypes.c:1008 +#, c-format +msgid "multirange values cannot contain null members" +msgstr "მულტიდიაპაზონიანი მნიშვნელობები ნულოვან მწკრივებს არ შეიძლება შეიცავდეს" + +#: utils/adt/network.c:110 +#, c-format +msgid "invalid cidr value: \"%s\"" +msgstr "cidr-ის არასწორი მნიშვნელობა: %s" + +#: utils/adt/network.c:111 utils/adt/network.c:241 +#, c-format +msgid "Value has bits set to right of mask." +msgstr "" + +#: utils/adt/network.c:152 utils/adt/network.c:1184 utils/adt/network.c:1209 utils/adt/network.c:1234 +#, c-format +msgid "could not format inet value: %m" +msgstr "inet-ის მნიშვნელობის ფორმატის შეცდომა: %m" + +#. translator: %s is inet or cidr +#: utils/adt/network.c:209 +#, c-format +msgid "invalid address family in external \"%s\" value" +msgstr "არასწორი მისამართის ოჯახი გარე \"%s\"-ის მნიშვნელობაში" + +#. translator: %s is inet or cidr +#: utils/adt/network.c:216 +#, c-format +msgid "invalid bits in external \"%s\" value" +msgstr "არასწორი ბიტები გარე \"%s\"-ის მნიშვნელობაში" + +#. translator: %s is inet or cidr +#: utils/adt/network.c:225 +#, c-format +msgid "invalid length in external \"%s\" value" +msgstr "არასწორი სიგრძე გარე \"%s\"-ის მნიშვნელობაში" + +#: utils/adt/network.c:240 +#, c-format +msgid "invalid external \"cidr\" value" +msgstr "გარე cidr-ს არასწორი მნიშვნელობა" + +#: utils/adt/network.c:336 utils/adt/network.c:359 +#, c-format +msgid "invalid mask length: %d" +msgstr "ნიღბის არასწორი სიგრძე: %d" + +#: utils/adt/network.c:1252 +#, c-format +msgid "could not format cidr value: %m" +msgstr "cird-ის მნიშვნელობის ფორმატის შეცდომა: %m" + +#: utils/adt/network.c:1485 +#, c-format +msgid "cannot merge addresses from different families" +msgstr "სხვადასხვა ოჯახის მისამართების შერწყმა შეუძლებელია" + +#: utils/adt/network.c:1893 +#, c-format +msgid "cannot AND inet values of different sizes" +msgstr "განსხვავებული ზომის მქონე inet-ის მნიშვნელობების AND შეუძლებელია" + +#: utils/adt/network.c:1925 +#, c-format +msgid "cannot OR inet values of different sizes" +msgstr "განსხვავებული ზომის მქონე inet-ის მნიშვნელობების OR შეუძლებელია" + +#: utils/adt/network.c:1986 utils/adt/network.c:2062 +#, c-format +msgid "result is out of range" +msgstr "შედეგი დიაპაზონს გარეთაა" + +#: utils/adt/network.c:2027 +#, c-format +msgid "cannot subtract inet values of different sizes" +msgstr "" + +#: 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 +#, c-format +msgid "value overflows numeric format" +msgstr "მნიშვნელობა გადაავსებს რიცხვის ფორმატს" + +#: utils/adt/numeric.c:1098 +#, c-format +msgid "invalid sign in external \"numeric\" value" +msgstr "" + +#: utils/adt/numeric.c:1104 +#, c-format +msgid "invalid scale in external \"numeric\" value" +msgstr "" + +#: utils/adt/numeric.c:1113 +#, c-format +msgid "invalid digit in external \"numeric\" value" +msgstr "" + +#: utils/adt/numeric.c:1328 utils/adt/numeric.c:1342 +#, c-format +msgid "NUMERIC precision %d must be between 1 and %d" +msgstr "" + +#: utils/adt/numeric.c:1333 +#, c-format +msgid "NUMERIC scale %d must be between %d and %d" +msgstr "" + +#: utils/adt/numeric.c:1351 +#, c-format +msgid "invalid NUMERIC type modifier" +msgstr "არასწორი NUMERIC ტიპის მოდიფიკატორი" + +#: utils/adt/numeric.c:1709 +#, c-format +msgid "start value cannot be NaN" +msgstr "საწყისი მნიშვნელობა NaN ვერ იქნება" + +#: utils/adt/numeric.c:1713 +#, c-format +msgid "start value cannot be infinity" +msgstr "საწყისი მნიშვნელობა უსასრულო ვერ იქნება" + +#: utils/adt/numeric.c:1720 +#, c-format +msgid "stop value cannot be NaN" +msgstr "საბოლოო მნიშვნელობა NaN ვერ იქნება" + +#: utils/adt/numeric.c:1724 +#, c-format +msgid "stop value cannot be infinity" +msgstr "საბოლოო მნიშვნელობა უსასრულო ვერ იქნება" + +#: utils/adt/numeric.c:1737 +#, c-format +msgid "step size cannot be NaN" +msgstr "ბიჯის ზომა NaN ვერ იქნება" + +#: utils/adt/numeric.c:1741 +#, c-format +msgid "step size cannot be infinity" +msgstr "ბიჯის ზომა უსასრულო ვერ იქნება" + +#: utils/adt/numeric.c:3633 +#, 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 +#, 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 +#, c-format +msgid "cannot convert infinity to %s" +msgstr "უსასრულობის %s-ში გადაყვანა შეუძლებელია" + +#: utils/adt/numeric.c:4696 +#, c-format +msgid "pg_lsn out of range" +msgstr "pg_lsn დიაპაზონს გარეთაა" + +#: utils/adt/numeric.c:7896 utils/adt/numeric.c:7947 +#, c-format +msgid "numeric field overflow" +msgstr "რიცხვითი ველის გადავსება" + +#: utils/adt/numeric.c:7897 +#, c-format +msgid "A field with precision %d, scale %d must round to an absolute value less than %s%d." +msgstr "" + +#: utils/adt/numeric.c:7948 +#, c-format +msgid "A field with precision %d, scale %d cannot hold an infinite value." +msgstr "" + +#: utils/adt/oid.c:216 +#, c-format +msgid "invalid oidvector data" +msgstr "oidvevtor-ის არასწორი მონაცემები" + +#: utils/adt/oracle_compat.c:976 +#, c-format +msgid "requested character too large" +msgstr "მოთხოვნილი სიმბოლო ძალიან დიდია" + +#: utils/adt/oracle_compat.c:1020 +#, c-format +msgid "character number must be positive" +msgstr "cost დადებით უნდა იყოს" + +#: utils/adt/oracle_compat.c:1024 +#, c-format +msgid "null character not permitted" +msgstr "ნულოვანი სიმბოლო ადუშვებელია" + +#: utils/adt/oracle_compat.c:1042 utils/adt/oracle_compat.c:1095 +#, c-format +msgid "requested character too large for encoding: %u" +msgstr "მოთხოვნილი სიმბოლო ძალიან დიდია კოდირებისთვის: %u" + +#: utils/adt/oracle_compat.c:1083 +#, c-format +msgid "requested character not valid for encoding: %u" +msgstr "მოთხოვნილი სიმბოლო არასწორია კოდირებისთვის: %u" + +#: utils/adt/orderedsetaggs.c:448 utils/adt/orderedsetaggs.c:553 utils/adt/orderedsetaggs.c:693 +#, c-format +msgid "percentile value %g is not between 0 and 1" +msgstr "" + +#: utils/adt/pg_locale.c:1406 +#, c-format +msgid "could not open collator for locale \"%s\" with rules \"%s\": %s" +msgstr "ლოკალისთვის \"%s\" წესებით \"%s\" კოლატორის გახსნის შეცდომა: %s" + +#: utils/adt/pg_locale.c:1417 utils/adt/pg_locale.c:2831 utils/adt/pg_locale.c:2904 +#, c-format +msgid "ICU is not supported in this build" +msgstr "ამ აგებაში ICU-ის მხარდაჭერა არ არსებბს" + +#: utils/adt/pg_locale.c:1446 +#, c-format +msgid "could not create locale \"%s\": %m" +msgstr "ლოკალის \"%s\" შექმნა შეუძლებელია: %m" + +#: utils/adt/pg_locale.c:1449 +#, c-format +msgid "The operating system could not find any locale data for the locale name \"%s\"." +msgstr "" + +#: utils/adt/pg_locale.c:1564 +#, c-format +msgid "collations with different collate and ctype values are not supported on this platform" +msgstr "" + +#: utils/adt/pg_locale.c:1573 +#, c-format +msgid "collation provider LIBC is not supported on this platform" +msgstr "კოლაციის მომწოდებელი LIBC ამ პლატფორმაზე მხარდაჭერილი არაა" + +#: utils/adt/pg_locale.c:1614 +#, c-format +msgid "collation \"%s\" has no actual version, but a version was recorded" +msgstr "" + +#: utils/adt/pg_locale.c:1620 +#, c-format +msgid "collation \"%s\" has version mismatch" +msgstr "კოლაციის ვერსია არ ემთხვევა: %s" + +#: utils/adt/pg_locale.c:1622 +#, c-format +msgid "The collation in the database was created using version %s, but the operating system provides version %s." +msgstr "" + +#: utils/adt/pg_locale.c:1625 +#, 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 "" + +#: utils/adt/pg_locale.c:1691 +#, c-format +msgid "could not load locale \"%s\"" +msgstr "ენის ჩატვირთვის შეცდომა: %s" + +#: utils/adt/pg_locale.c:1716 +#, c-format +msgid "could not get collation version for locale \"%s\": error code %lu" +msgstr "" + +#: utils/adt/pg_locale.c:1772 utils/adt/pg_locale.c:1785 +#, c-format +msgid "could not convert string to UTF-16: error code %lu" +msgstr "" + +#: utils/adt/pg_locale.c:1799 +#, c-format +msgid "could not compare Unicode strings: %m" +msgstr "უნიკოდის სტრიქონების შედარება შეუძლებელია: %m" + +#: utils/adt/pg_locale.c:1980 +#, c-format +msgid "collation failed: %s" +msgstr "კოლაციის შეცდომა: %s" + +#: utils/adt/pg_locale.c:2201 utils/adt/pg_locale.c:2233 +#, c-format +msgid "sort key generation failed: %s" +msgstr "დალაგების გასაღების გენერაციის შეცდომა: %s" + +#: utils/adt/pg_locale.c:2474 +#, c-format +msgid "could not get language from locale \"%s\": %s" +msgstr "ლოკალიდან \"%s\" ენის მიღების შეცდომა: %s" + +#: utils/adt/pg_locale.c:2495 utils/adt/pg_locale.c:2511 +#, c-format +msgid "could not open collator for locale \"%s\": %s" +msgstr "" + +#: utils/adt/pg_locale.c:2536 +#, c-format +msgid "encoding \"%s\" not supported by ICU" +msgstr "კოდირება \"%s\" ICU-ის მიერ მხარდაჭერილი არაა" + +#: utils/adt/pg_locale.c:2543 +#, c-format +msgid "could not open ICU converter for encoding \"%s\": %s" +msgstr "შეცდომა ICU გარდამქმნელის გახსნისას კოდირებისთვის \"%s\": %s" + +#: utils/adt/pg_locale.c:2561 utils/adt/pg_locale.c:2580 utils/adt/pg_locale.c:2636 utils/adt/pg_locale.c:2647 +#, c-format +msgid "%s failed: %s" +msgstr "%s ვერ მოხერხდა: %s" + +#: utils/adt/pg_locale.c:2822 +#, c-format +msgid "could not convert locale name \"%s\" to language tag: %s" +msgstr "მდებარეობის კოდის \"%s\" ენის ჭდეში (%s) გადაყვანის შეცდომა" + +#: utils/adt/pg_locale.c:2863 +#, c-format +msgid "could not get language from ICU locale \"%s\": %s" +msgstr "'ICU' ლოკალიდან \"%s\" ენის მიღების შეცდომა: %s" + +#: utils/adt/pg_locale.c:2865 utils/adt/pg_locale.c:2894 +#, c-format +msgid "To disable ICU locale validation, set the parameter \"%s\" to \"%s\"." +msgstr "ICU ლოკალის გადამოწმების გასათიშად პარამეტრი \"%s\" დააყენეთ მნიშვნელობაზე \"%s\"." + +#: utils/adt/pg_locale.c:2892 +#, c-format +msgid "ICU locale \"%s\" has unknown language \"%s\"" +msgstr "ICU ლოკალს \"%s\" გააჩნია უცნობი ენა \"%s\"" + +#: utils/adt/pg_locale.c:3073 +#, c-format +msgid "invalid multibyte character for locale" +msgstr "არასწორი მრავალბაიტიანი სიმბოლო ლოკალისთვის" + +#: utils/adt/pg_locale.c:3074 +#, c-format +msgid "The server's LC_CTYPE locale is probably incompatible with the database encoding." +msgstr "" + +#: utils/adt/pg_lsn.c:263 +#, c-format +msgid "cannot add NaN to pg_lsn" +msgstr "pg_lsn-ში NaN-ის დამატება შეუძლებელია" + +#: utils/adt/pg_lsn.c:297 +#, c-format +msgid "cannot subtract NaN from pg_lsn" +msgstr "pg_lsn-დან NaN-ის გამოკლება შეუძლებელია" + +#: utils/adt/pg_upgrade_support.c:29 +#, c-format +msgid "function can only be called when server is in binary upgrade mode" +msgstr "" + +#: utils/adt/pgstatfuncs.c:254 +#, c-format +msgid "invalid command name: \"%s\"" +msgstr "არასწორი ბრძანების სახელი: \"%s\"" + +#: utils/adt/pgstatfuncs.c:1774 +#, c-format +msgid "unrecognized reset target: \"%s\"" +msgstr "მოთხოვნილია უცნობი მთვლელის განულება: %s" + +#: utils/adt/pgstatfuncs.c:1775 +#, c-format +msgid "Target must be \"archiver\", \"bgwriter\", \"io\", \"recovery_prefetch\", or \"wal\"." +msgstr "სამიზნე უნდა იყოს ერთ-ერთი სიიდან: \"archiver\", \"bgwriter\", \"io\", \"recovery_prefetch\", ან \"wal\"." + +#: utils/adt/pgstatfuncs.c:1857 +#, c-format +msgid "invalid subscription OID %u" +msgstr "არასწორი გამოწერის OID %u" + +#: utils/adt/pseudotypes.c:58 utils/adt/pseudotypes.c:92 +#, c-format +msgid "cannot display a value of type %s" +msgstr "ტიპის (%s) მნიშვნელობის ჩვენების შეცდომა" + +#: utils/adt/pseudotypes.c:310 +#, c-format +msgid "cannot accept a value of a shell type" +msgstr "გარსის ტიპის მნიშვნელობის მიღება შეუძლებელია" + +#: utils/adt/pseudotypes.c:320 +#, c-format +msgid "cannot display a value of a shell type" +msgstr "გარსის ტიპის მნიშვნელობის ჩვენება შეუძლებელია" + +#: utils/adt/rangetypes.c:415 +#, c-format +msgid "range constructor flags argument must not be null" +msgstr "" + +#: utils/adt/rangetypes.c:1014 +#, c-format +msgid "result of range difference would not be contiguous" +msgstr "" + +#: utils/adt/rangetypes.c:1075 +#, c-format +msgid "result of range union would not be contiguous" +msgstr "" + +#: utils/adt/rangetypes.c:1750 +#, c-format +msgid "range lower bound must be less than or equal to range upper bound" +msgstr "" + +#: utils/adt/rangetypes.c:2197 utils/adt/rangetypes.c:2210 utils/adt/rangetypes.c:2224 +#, c-format +msgid "invalid range bound flags" +msgstr "" + +#: utils/adt/rangetypes.c:2198 utils/adt/rangetypes.c:2211 utils/adt/rangetypes.c:2225 +#, c-format +msgid "Valid values are \"[]\", \"[)\", \"(]\", and \"()\"." +msgstr "სწორი მნიშვნელობებია \"[]\", \"[)\", \"(]\" და \"()\"." + +#: utils/adt/rangetypes.c:2293 utils/adt/rangetypes.c:2310 utils/adt/rangetypes.c:2325 utils/adt/rangetypes.c:2345 utils/adt/rangetypes.c:2356 utils/adt/rangetypes.c:2403 utils/adt/rangetypes.c:2411 +#, c-format +msgid "malformed range literal: \"%s\"" +msgstr "დიაპაზონის არასწორი სტრიქონი: %s" + +#: utils/adt/rangetypes.c:2295 +#, c-format +msgid "Junk after \"empty\" key word." +msgstr "ნაგავი საკვანძო სიტყვა \"empty\"-ის შემდეგ." + +#: utils/adt/rangetypes.c:2312 +#, c-format +msgid "Missing left parenthesis or bracket." +msgstr "აკლია მარცხენა ფრჩხილი ან მრგვალი ფრჩხილი." + +#: utils/adt/rangetypes.c:2327 +#, c-format +msgid "Missing comma after lower bound." +msgstr "ქვედა ზღვარის შემდეგ მძიმე აკლია." + +#: utils/adt/rangetypes.c:2347 +#, c-format +msgid "Too many commas." +msgstr "ძალიან ბევრი მძიმე." + +#: utils/adt/rangetypes.c:2358 +#, c-format +msgid "Junk after right parenthesis or bracket." +msgstr "ნაგავი მარჯვენა ფრჩხილის ან მრგვალი ფრჩხილის შემდეგ." + +#: utils/adt/regexp.c:305 utils/adt/regexp.c:1997 utils/adt/varlena.c:4270 +#, c-format +msgid "regular expression failed: %s" +msgstr "რეგულარული გამოსახულების შეცდომა: %s" + +#: utils/adt/regexp.c:446 utils/adt/regexp.c:681 +#, c-format +msgid "invalid regular expression option: \"%.*s\"" +msgstr "რეგულარული გამოსახულების არასწორი პარამეტრი: \"%.*s\"" + +#: utils/adt/regexp.c:683 +#, c-format +msgid "If you meant to use regexp_replace() with a start parameter, cast the fourth argument to integer explicitly." +msgstr "" + +#: 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 +#, c-format +msgid "invalid value for parameter \"%s\": %d" +msgstr "არასწორი მნიშვნელობა პარამეტრისთვის \"%s\": %d" + +#: utils/adt/regexp.c:937 +#, c-format +msgid "SQL regular expression may not contain more than two escape-double-quote separators" +msgstr "" + +#. translator: %s is a SQL function name +#: utils/adt/regexp.c:1094 utils/adt/regexp.c:1185 utils/adt/regexp.c:1272 utils/adt/regexp.c:1311 utils/adt/regexp.c:1699 utils/adt/regexp.c:1754 utils/adt/regexp.c:1883 +#, c-format +msgid "%s does not support the \"global\" option" +msgstr "%s-ს პარამეტრის \"global\" მხარდაჭერა არ გააჩნია" + +#: utils/adt/regexp.c:1313 +#, c-format +msgid "Use the regexp_matches function instead." +msgstr "სამაგიეროდ ფუნქცია regexp_matches გამოიყენეთ." + +#: utils/adt/regexp.c:1501 +#, c-format +msgid "too many regular expression matches" +msgstr "რეგულარული გამოსახულების ძალიან ბევრი დამთხვევა" + +#: utils/adt/regproc.c:104 +#, c-format +msgid "more than one function named \"%s\"" +msgstr "ერთზე მეტი ფუნქცია სახელწოდებით \"%s\"" + +#: utils/adt/regproc.c:513 +#, c-format +msgid "more than one operator named %s" +msgstr "ერთზე მეტი ოპერატორი, სახელად %s" + +#: utils/adt/regproc.c:675 utils/adt/regproc.c:2009 utils/adt/ruleutils.c:10013 utils/adt/ruleutils.c:10226 +#, c-format +msgid "too many arguments" +msgstr "მეტისმეტად ბევრი არგუმენტი" + +#: utils/adt/regproc.c:676 +#, c-format +msgid "Provide two argument types for operator." +msgstr "ოპერატორისთვის ორი არგუმენტის ტიპი მიაწოდეთ." + +#: utils/adt/regproc.c:1544 utils/adt/regproc.c:1661 utils/adt/regproc.c:1790 utils/adt/regproc.c:1795 utils/adt/varlena.c:3410 utils/adt/varlena.c:3415 +#, c-format +msgid "invalid name syntax" +msgstr "სახელის არასწორი სინტაქსი" + +#: utils/adt/regproc.c:1904 +#, c-format +msgid "expected a left parenthesis" +msgstr "მოველოდი მარცხენა ფრჩხილს" + +#: utils/adt/regproc.c:1922 +#, c-format +msgid "expected a right parenthesis" +msgstr "მოველოდი მარჯვენა ფრჩხილს" + +#: utils/adt/regproc.c:1941 +#, c-format +msgid "expected a type name" +msgstr "მოველოდი ტიპის სახელს" + +#: utils/adt/regproc.c:1973 +#, c-format +msgid "improper type name" +msgstr "არასწორი ტიპის სახელი" + +#: utils/adt/ri_triggers.c:306 utils/adt/ri_triggers.c:1625 utils/adt/ri_triggers.c:2610 +#, c-format +msgid "insert or update on table \"%s\" violates foreign key constraint \"%s\"" +msgstr "" + +#: utils/adt/ri_triggers.c:309 utils/adt/ri_triggers.c:1628 +#, c-format +msgid "MATCH FULL does not allow mixing of null and nonnull key values." +msgstr "" + +#: utils/adt/ri_triggers.c:2045 +#, c-format +msgid "function \"%s\" must be fired for INSERT" +msgstr "\"INSERT\"-ისთვის საჭიროა %s ფუნქციის გაშვება" + +#: utils/adt/ri_triggers.c:2051 +#, c-format +msgid "function \"%s\" must be fired for UPDATE" +msgstr "\"UPDATE\"-ისთვის საჭიროა %s ფუნქციის გაშვება" + +#: utils/adt/ri_triggers.c:2057 +#, c-format +msgid "function \"%s\" must be fired for DELETE" +msgstr "\"DELETE\"-ისთვის საჭიროა %s ფუნქციის გაშვება" + +#: utils/adt/ri_triggers.c:2080 +#, c-format +msgid "no pg_constraint entry for trigger \"%s\" on table \"%s\"" +msgstr "" + +#: utils/adt/ri_triggers.c:2082 +#, c-format +msgid "Remove this referential integrity trigger and its mates, then do ALTER TABLE ADD CONSTRAINT." +msgstr "" + +#: utils/adt/ri_triggers.c:2435 +#, c-format +msgid "referential integrity query on \"%s\" from constraint \"%s\" on \"%s\" gave unexpected result" +msgstr "" + +#: utils/adt/ri_triggers.c:2439 +#, c-format +msgid "This is most likely due to a rule having rewritten the query." +msgstr "დიდი შანსია, ეს გამოიწვია წესმა, რომელმაც მოთხოვნა თავიდან დაწერა." + +#: utils/adt/ri_triggers.c:2600 +#, c-format +msgid "removing partition \"%s\" violates foreign key constraint \"%s\"" +msgstr "" + +#: utils/adt/ri_triggers.c:2603 utils/adt/ri_triggers.c:2628 +#, c-format +msgid "Key (%s)=(%s) is still referenced from table \"%s\"." +msgstr "" + +#: utils/adt/ri_triggers.c:2614 +#, c-format +msgid "Key (%s)=(%s) is not present in table \"%s\"." +msgstr "" + +#: utils/adt/ri_triggers.c:2617 +#, c-format +msgid "Key is not present in table \"%s\"." +msgstr "ცხრილში \"%s\" გასაღები არ არსებობს." + +#: utils/adt/ri_triggers.c:2623 +#, c-format +msgid "update or delete on table \"%s\" violates foreign key constraint \"%s\" on table \"%s\"" +msgstr "" + +#: utils/adt/ri_triggers.c:2631 +#, c-format +msgid "Key is still referenced from table \"%s\"." +msgstr "" + +#: utils/adt/rowtypes.c:106 utils/adt/rowtypes.c:510 +#, c-format +msgid "input of anonymous composite types is not implemented" +msgstr "" + +#: utils/adt/rowtypes.c:159 utils/adt/rowtypes.c:191 utils/adt/rowtypes.c:217 utils/adt/rowtypes.c:228 utils/adt/rowtypes.c:286 utils/adt/rowtypes.c:297 +#, c-format +msgid "malformed record literal: \"%s\"" +msgstr "ჩანაწერის არასწორი სტრიქონი: %s" + +#: utils/adt/rowtypes.c:160 +#, c-format +msgid "Missing left parenthesis." +msgstr "აკლია მარცხენა ფრჩხილი." + +#: utils/adt/rowtypes.c:192 +#, c-format +msgid "Too few columns." +msgstr "მეტისმეტად ცოტა სვეტი." + +#: utils/adt/rowtypes.c:287 +#, c-format +msgid "Too many columns." +msgstr "მეტისმეტად ბევრი სვეტი." + +#: utils/adt/rowtypes.c:298 +#, c-format +msgid "Junk after right parenthesis." +msgstr "ნაგავი მარჯვენა დამხურავი ფრჩხილის შემდეგ." + +#: utils/adt/rowtypes.c:559 +#, c-format +msgid "wrong number of columns: %d, expected %d" +msgstr "სვეტების არასწორი რაოდენობა: %d, მოველოდი %d" + +#: utils/adt/rowtypes.c:601 +#, c-format +msgid "binary data has type %u (%s) instead of expected %u (%s) in record column %d" +msgstr "" + +#: utils/adt/rowtypes.c:668 +#, c-format +msgid "improper binary format in record column %d" +msgstr "" + +#: utils/adt/rowtypes.c:959 utils/adt/rowtypes.c:1205 utils/adt/rowtypes.c:1463 utils/adt/rowtypes.c:1709 +#, c-format +msgid "cannot compare dissimilar column types %s and %s at record column %d" +msgstr "" + +#: utils/adt/rowtypes.c:1050 utils/adt/rowtypes.c:1275 utils/adt/rowtypes.c:1560 utils/adt/rowtypes.c:1745 +#, c-format +msgid "cannot compare record types with different numbers of columns" +msgstr "" + +#: utils/adt/ruleutils.c:2694 +#, c-format +msgid "input is a query, not an expression" +msgstr "შეყვანა არის მოთხოვნა და არა გამოსახულება" + +#: utils/adt/ruleutils.c:2706 +#, c-format +msgid "expression contains variables of more than one relation" +msgstr "" + +#: utils/adt/ruleutils.c:2713 +#, c-format +msgid "expression contains variables" +msgstr "გამოხატულება შეიცავს ცვლადებს" + +#: utils/adt/ruleutils.c:5227 +#, c-format +msgid "rule \"%s\" has unsupported event type %d" +msgstr "წესს \"%s\" გააჩნია მხარდაუჭერელი მოვლენის ტიპი %d" + +#: utils/adt/timestamp.c:112 +#, c-format +msgid "TIMESTAMP(%d)%s precision must not be negative" +msgstr "TIMESTAMP(%d)%s-ის სიზუსტე უარყოფით არ უნდა იყოს" + +#: utils/adt/timestamp.c:118 +#, c-format +msgid "TIMESTAMP(%d)%s precision reduced to maximum allowed, %d" +msgstr "" + +#: utils/adt/timestamp.c:378 +#, c-format +msgid "timestamp(%d) precision must be between %d and %d" +msgstr "" + +#: utils/adt/timestamp.c:496 +#, c-format +msgid "Numeric time zones must have \"-\" or \"+\" as first character." +msgstr "" + +#: utils/adt/timestamp.c:508 +#, c-format +msgid "numeric time zone \"%s\" out of range" +msgstr "რიცხვითი დროის სარტყელი \"%s\" დიაპაზონს გარეთაა" + +#: utils/adt/timestamp.c:609 utils/adt/timestamp.c:619 utils/adt/timestamp.c:627 +#, c-format +msgid "timestamp out of range: %d-%02d-%02d %d:%02d:%02g" +msgstr "დროის შტამპი დიაპაზონს გარეთაა: %d-%02d-%02d %d:%02d:%02g" + +#: utils/adt/timestamp.c:728 +#, c-format +msgid "timestamp cannot be NaN" +msgstr "დროის შტამპი NaN ვერ იქნება" + +#: utils/adt/timestamp.c:746 utils/adt/timestamp.c:758 +#, c-format +msgid "timestamp out of range: \"%g\"" +msgstr "დროის შტამპი დიაპაზონს გარეთაა: \"%g\"" + +#: utils/adt/timestamp.c:1065 utils/adt/timestamp.c:1098 +#, c-format +msgid "invalid INTERVAL type modifier" +msgstr "\"INTERVAL\" ტიპის არასწორი მოდიფიკატორი" + +#: utils/adt/timestamp.c:1081 +#, c-format +msgid "INTERVAL(%d) precision must not be negative" +msgstr "INTERVAL(%d)-ის სიზუსტე უარყოფით არ უნდა იყოს" + +#: utils/adt/timestamp.c:1087 +#, c-format +msgid "INTERVAL(%d) precision reduced to maximum allowed, %d" +msgstr "" + +#: utils/adt/timestamp.c:1473 +#, c-format +msgid "interval(%d) precision must be between %d and %d" +msgstr "" + +#: utils/adt/timestamp.c:2703 +#, c-format +msgid "cannot subtract infinite timestamps" +msgstr "უსასრულო დროის შტამპების გამოკლება შეუძლებელია" + +#: utils/adt/timestamp.c:3956 utils/adt/timestamp.c:4139 +#, c-format +msgid "origin out of range" +msgstr "წყარო დიაპაზონს გარეთაა" + +#: utils/adt/timestamp.c:3961 utils/adt/timestamp.c:4144 +#, c-format +msgid "timestamps cannot be binned into intervals containing months or years" +msgstr "" + +#: utils/adt/timestamp.c:3968 utils/adt/timestamp.c:4151 +#, c-format +msgid "stride must be greater than zero" +msgstr "ბიჯი ნულზე მეტი უნდა იყოს" + +#: utils/adt/timestamp.c:4434 +#, c-format +msgid "Months usually have fractional weeks." +msgstr "თვეში როგორც წესი გაყოფადი რაოდენობის კვირებია." + +#: utils/adt/trigfuncs.c:42 +#, c-format +msgid "suppress_redundant_updates_trigger: must be called as trigger" +msgstr "suppress_redundant_updates_trigger: უნდა გამოიძახოთ, როგორც ტრიგერი" + +#: utils/adt/trigfuncs.c:48 +#, c-format +msgid "suppress_redundant_updates_trigger: must be called on update" +msgstr "suppress_redundant_updates_trigger: უნდა გამოიძახოთ განახლებისას" + +#: utils/adt/trigfuncs.c:54 +#, c-format +msgid "suppress_redundant_updates_trigger: must be called before update" +msgstr "suppress_redundant_updates_trigger: უნდა გამოიძახოთ განახლებამდე" + +#: utils/adt/trigfuncs.c:60 +#, c-format +msgid "suppress_redundant_updates_trigger: must be called for each row" +msgstr "suppress_redundant_updates_trigger: უნდა გამოიძახოთ თითოეული მწკრივისთვის" + +#: utils/adt/tsquery.c:210 utils/adt/tsquery_op.c:125 +#, c-format +msgid "distance in phrase operator must be an integer value between zero and %d inclusive" +msgstr "" + +#: utils/adt/tsquery.c:344 +#, c-format +msgid "no operand in tsquery: \"%s\"" +msgstr "tsquery-ში ოპერანდი არ არსებობს: \"%s\"" + +#: utils/adt/tsquery.c:558 +#, c-format +msgid "value is too big in tsquery: \"%s\"" +msgstr "tsquery-ის მნიშვნელობა ძალიან დიდია: %s" + +#: utils/adt/tsquery.c:563 +#, c-format +msgid "operand is too long in tsquery: \"%s\"" +msgstr "tsquery-ში ოპერანდი ძალიან გრძელია: %s" + +#: utils/adt/tsquery.c:591 +#, c-format +msgid "word is too long in tsquery: \"%s\"" +msgstr "tsquery-ში სიტყვა ძალიან გრძელია: %s" + +#: utils/adt/tsquery.c:717 utils/adt/tsvector_parser.c:147 +#, c-format +msgid "syntax error in tsquery: \"%s\"" +msgstr "სინტაქსის შეცდომა tsquery-ში: \"%s\"" + +#: utils/adt/tsquery.c:883 +#, c-format +msgid "text-search query doesn't contain lexemes: \"%s\"" +msgstr "" + +#: utils/adt/tsquery.c:894 utils/adt/tsquery_util.c:376 +#, c-format +msgid "tsquery is too large" +msgstr "tsquery ძალიან დიდია" + +#: utils/adt/tsquery_cleanup.c:409 +#, c-format +msgid "text-search query contains only stop words or doesn't contain lexemes, ignored" +msgstr "" + +#: utils/adt/tsquery_rewrite.c:321 +#, c-format +msgid "ts_rewrite query must return two tsquery columns" +msgstr "ts_rewrite მოთხოვნამ ორი tsquery სვეტი უნდა დააბრუნოს" + +#: utils/adt/tsrank.c:412 +#, c-format +msgid "array of weight must be one-dimensional" +msgstr "წონის მასივი ერთგანზომილებიანი უნდა იყოს" + +#: utils/adt/tsrank.c:417 +#, c-format +msgid "array of weight is too short" +msgstr "წონის მასივი ძალიან მოკლეა" + +#: utils/adt/tsrank.c:422 +#, c-format +msgid "array of weight must not contain nulls" +msgstr "წონის მასივი არ შეიძლება, ნულოვან მნიშვნელობებს შეიცავდეს" + +#: utils/adt/tsrank.c:431 utils/adt/tsrank.c:871 +#, c-format +msgid "weight out of range" +msgstr "სიმძიმე დიაპაზონს გარეთაა" + +#: utils/adt/tsvector.c:217 +#, c-format +msgid "word is too long (%ld bytes, max %ld bytes)" +msgstr "სიტყვა მეტისმეტად მოკლეა (%ld ბაიტი, მაქს %ld ბაიტი)" + +#: utils/adt/tsvector.c:224 +#, c-format +msgid "string is too long for tsvector (%ld bytes, max %ld bytes)" +msgstr "" + +#: utils/adt/tsvector_op.c:773 +#, c-format +msgid "lexeme array may not contain nulls" +msgstr "ლექსემის მასივი არ შეიძლება, ნულოვან მნიშვნელობებს შეიცავდეს" + +#: utils/adt/tsvector_op.c:778 +#, c-format +msgid "lexeme array may not contain empty strings" +msgstr "ლექსემის მასივი არ შეიძლება, ცარიელ სტრიქონებს შეიცავდეს" + +#: utils/adt/tsvector_op.c:847 +#, c-format +msgid "weight array may not contain nulls" +msgstr "წონების მასივი არ შეიძლება ნულოვან მნიშვნელობებს შეიცავდეს" + +#: utils/adt/tsvector_op.c:871 +#, c-format +msgid "unrecognized weight: \"%c\"" +msgstr "უცნობი სიმძიმე: \"%c\"" + +#: utils/adt/tsvector_op.c:2601 +#, c-format +msgid "ts_stat query must return one tsvector column" +msgstr "მოთხოვნამ ts_stat ერთი tsvector სვეტი უნდა დააბრუნოს" + +#: utils/adt/tsvector_op.c:2790 +#, c-format +msgid "tsvector column \"%s\" does not exist" +msgstr "tsvector სვეტი %s არ არსებობს" + +#: utils/adt/tsvector_op.c:2797 +#, c-format +msgid "column \"%s\" is not of tsvector type" +msgstr "სვეტი \"%s\" tsvector-ის ტიპის არაა" + +#: utils/adt/tsvector_op.c:2809 +#, c-format +msgid "configuration column \"%s\" does not exist" +msgstr "კონფიგურაციის სვეტი \"%s\" არ არსებობს" + +#: utils/adt/tsvector_op.c:2815 +#, c-format +msgid "column \"%s\" is not of regconfig type" +msgstr "სვეტი regconfig ტიპის არაა: %s" + +#: utils/adt/tsvector_op.c:2822 +#, c-format +msgid "configuration column \"%s\" must not be null" +msgstr "კონფიგურაციის სვეტ %s ნულოვანი არ უნდა იყოს" + +#: utils/adt/tsvector_op.c:2835 +#, c-format +msgid "text search configuration name \"%s\" must be schema-qualified" +msgstr "" + +#: utils/adt/tsvector_op.c:2860 +#, c-format +msgid "column \"%s\" is not of a character type" +msgstr "სვეტი სტრიქონის ტიპის არაა: %s" + +#: utils/adt/tsvector_parser.c:148 +#, c-format +msgid "syntax error in tsvector: \"%s\"" +msgstr "სინტაქსის შეცდომა tsvector-ში: \"%s\"" + +#: utils/adt/tsvector_parser.c:221 +#, c-format +msgid "there is no escaped character: \"%s\"" +msgstr "სპეციალური სიმბოლო \"%s\" ვერ ვიპოვე" + +#: utils/adt/tsvector_parser.c:339 +#, c-format +msgid "wrong position info in tsvector: \"%s\"" +msgstr "" + +#: utils/adt/uuid.c:413 +#, c-format +msgid "could not generate random values" +msgstr "შემთხვევითი რიცხვების გენერაციის შეცდომა" + +#: utils/adt/varbit.c:110 utils/adt/varchar.c:54 +#, c-format +msgid "length for type %s must be at least 1" +msgstr "ტიპის (%s) სიგრძე 1 მაინც უნდა იყოს" + +#: utils/adt/varbit.c:115 utils/adt/varchar.c:58 +#, c-format +msgid "length for type %s cannot exceed %d" +msgstr "ტიპის (%s) სიგრძე %d-ზე მეტი ვერ იქნება" + +#: utils/adt/varbit.c:198 utils/adt/varbit.c:499 utils/adt/varbit.c:994 +#, c-format +msgid "bit string length exceeds the maximum allowed (%d)" +msgstr "" + +#: utils/adt/varbit.c:212 utils/adt/varbit.c:356 utils/adt/varbit.c:406 +#, c-format +msgid "bit string length %d does not match type bit(%d)" +msgstr "" + +#: utils/adt/varbit.c:234 utils/adt/varbit.c:535 +#, c-format +msgid "\"%.*s\" is not a valid binary digit" +msgstr "\"%.*s\" არასწორი ორობითი რიცხვია" + +#: utils/adt/varbit.c:259 utils/adt/varbit.c:560 +#, c-format +msgid "\"%.*s\" is not a valid hexadecimal digit" +msgstr "\"%.*s\" არასწორი თექვსმეტობითი რიცხვია" + +#: utils/adt/varbit.c:347 utils/adt/varbit.c:652 +#, c-format +msgid "invalid length in external bit string" +msgstr "გარე ბიტური სტრიქონის არასწორი სიგრძე" + +#: utils/adt/varbit.c:513 utils/adt/varbit.c:661 utils/adt/varbit.c:757 +#, c-format +msgid "bit string too long for type bit varying(%d)" +msgstr "" + +#: utils/adt/varbit.c:1081 utils/adt/varbit.c:1191 utils/adt/varlena.c:908 utils/adt/varlena.c:971 utils/adt/varlena.c:1128 utils/adt/varlena.c:3052 utils/adt/varlena.c:3130 +#, c-format +msgid "negative substring length not allowed" +msgstr "ქვესტრიქონის სიგრძე უარყოფითი არ შეიძლება იყოს" + +#: utils/adt/varbit.c:1261 +#, c-format +msgid "cannot AND bit strings of different sizes" +msgstr "განსხვავებული სიგრძის სტრიქონებზე AND ოპერაციას ვერ განახორციელებთ" + +#: utils/adt/varbit.c:1302 +#, c-format +msgid "cannot OR bit strings of different sizes" +msgstr "განსხვავებული სიგრძის სტრიქონებზე OR ოპერაციას ვერ განახორციელებთ" + +#: utils/adt/varbit.c:1342 +#, c-format +msgid "cannot XOR bit strings of different sizes" +msgstr "განსხვავებული სიგრძის სტრიქონებზე XOR ოპერაციას ვერ განახორციელებთ" + +#: utils/adt/varbit.c:1824 utils/adt/varbit.c:1882 +#, c-format +msgid "bit index %d out of valid range (0..%d)" +msgstr "" + +#: utils/adt/varbit.c:1833 utils/adt/varlena.c:3334 +#, c-format +msgid "new bit must be 0 or 1" +msgstr "ახალი ბიტი უნდა იყოს 0 ან 1" + +#: utils/adt/varchar.c:162 utils/adt/varchar.c:313 +#, c-format +msgid "value too long for type character(%d)" +msgstr "მნიშვნელობა სიმბოლოს ტიპისთვის ძალიან გრძელია (%d)" + +#: utils/adt/varchar.c:476 utils/adt/varchar.c:640 +#, c-format +msgid "value too long for type character varying(%d)" +msgstr "" + +#: utils/adt/varchar.c:738 utils/adt/varlena.c:1517 +#, c-format +msgid "could not determine which collation to use for string comparison" +msgstr "" + +#: utils/adt/varlena.c:1227 utils/adt/varlena.c:1806 +#, c-format +msgid "nondeterministic collations are not supported for substring searches" +msgstr "" + +#: utils/adt/varlena.c:3218 utils/adt/varlena.c:3285 +#, c-format +msgid "index %d out of valid range, 0..%d" +msgstr "ინდექსი %d დასაშვებ დიაპაზონს (0..%d) გარეთაა" + +#: utils/adt/varlena.c:3249 utils/adt/varlena.c:3321 +#, c-format +msgid "index %lld out of valid range, 0..%lld" +msgstr "ინდექსი %lld დასაშვებ დიაპაზონს (0..%lld) გარეთაა" + +#: utils/adt/varlena.c:4382 +#, c-format +msgid "field position must not be zero" +msgstr "ველის მდებარეობა ნულოვანი ვერ იქნება" + +#: utils/adt/varlena.c:5554 +#, c-format +msgid "unterminated format() type specifier" +msgstr "" + +#: utils/adt/varlena.c:5555 utils/adt/varlena.c:5689 utils/adt/varlena.c:5810 +#, c-format +msgid "For a single \"%%\" use \"%%%%\"." +msgstr "ერთი \"%%\"-სთვის გამოიყენეთ \"%%%%\"." + +#: utils/adt/varlena.c:5687 utils/adt/varlena.c:5808 +#, c-format +msgid "unrecognized format() type specifier \"%.*s\"" +msgstr "" + +#: utils/adt/varlena.c:5700 utils/adt/varlena.c:5757 +#, c-format +msgid "too few arguments for format()" +msgstr "format()-ის არგუმენტები საკმარისი არაა" + +#: utils/adt/varlena.c:5853 utils/adt/varlena.c:6035 +#, c-format +msgid "number is out of range" +msgstr "რიცხვი დიაპაზონს გარეთაა" + +#: utils/adt/varlena.c:5916 utils/adt/varlena.c:5944 +#, c-format +msgid "format specifies argument 0, but arguments are numbered from 1" +msgstr "" + +#: utils/adt/varlena.c:5937 +#, c-format +msgid "width argument position must be ended by \"$\"" +msgstr "" + +#: utils/adt/varlena.c:5982 +#, c-format +msgid "null values cannot be formatted as an SQL identifier" +msgstr "" + +#: utils/adt/varlena.c:6190 +#, c-format +msgid "Unicode normalization can only be performed if server encoding is UTF8" +msgstr "" + +#: utils/adt/varlena.c:6203 +#, c-format +msgid "invalid normalization form: %s" +msgstr "ნორმალიზაციის არასწორი ფორმა: %s" + +#: utils/adt/varlena.c:6406 utils/adt/varlena.c:6441 utils/adt/varlena.c:6476 +#, c-format +msgid "invalid Unicode code point: %04X" +msgstr "უნიკოდის კოდის არასწორი წერტილი: %04X" + +#: utils/adt/varlena.c:6506 +#, c-format +msgid "Unicode escapes must be \\XXXX, \\+XXXXXX, \\uXXXX, or \\UXXXXXXXX." +msgstr "" + +#: utils/adt/windowfuncs.c:442 +#, c-format +msgid "argument of ntile must be greater than zero" +msgstr "ntile -ის არგუმენტი ნულზე მეტი უნდა იყოს" + +#: utils/adt/windowfuncs.c:706 +#, c-format +msgid "argument of nth_value must be greater than zero" +msgstr "nth_value-ის არგუმენტი ნულზე მეტი უნდა იყოს" + +#: utils/adt/xid8funcs.c:125 +#, c-format +msgid "transaction ID %llu is in the future" +msgstr "ტრანზაქციის ID მომავალშია: %llu" + +#: utils/adt/xid8funcs.c:547 +#, c-format +msgid "invalid external pg_snapshot data" +msgstr "pg_snapshot-ის არასწორი გარე მონაცემები" + +#: utils/adt/xml.c:228 +#, c-format +msgid "unsupported XML feature" +msgstr "\"XML\"-ის მხარდაუჭერელი ფუნქცია" + +#: utils/adt/xml.c:229 +#, c-format +msgid "This functionality requires the server to be built with libxml support." +msgstr "" + +#: utils/adt/xml.c:248 utils/mb/mbutils.c:628 +#, c-format +msgid "invalid encoding name \"%s\"" +msgstr "კოდირების არასწორი სახელი: \"%s\"" + +#: utils/adt/xml.c:496 utils/adt/xml.c:501 +#, c-format +msgid "invalid XML comment" +msgstr "არასწორი XML კომენტარი" + +#: utils/adt/xml.c:660 +#, c-format +msgid "not an XML document" +msgstr "არ არის XML დოკუმენტი" + +#: utils/adt/xml.c:956 utils/adt/xml.c:979 +#, c-format +msgid "invalid XML processing instruction" +msgstr "xml-ის დამუშავების არასწორი ინსტრუქცია" + +#: utils/adt/xml.c:957 +#, c-format +msgid "XML processing instruction target name cannot be \"%s\"." +msgstr "" + +#: utils/adt/xml.c:980 +#, c-format +msgid "XML processing instruction cannot contain \"?>\"." +msgstr "" + +#: utils/adt/xml.c:1059 +#, c-format +msgid "xmlvalidate is not implemented" +msgstr "xmlvalidate განხორციელებული არაა" + +#: utils/adt/xml.c:1115 +#, c-format +msgid "could not initialize XML library" +msgstr "xml ბიბლიოთეკის ინიციალიზება ვერ მოხერხდა" + +#: utils/adt/xml.c:1116 +#, c-format +msgid "libxml2 has incompatible char type: sizeof(char)=%zu, sizeof(xmlChar)=%zu." +msgstr "libxml2 აქვს შეუთავსებელი char ტიპის: ზომა (char)=%zu, sizeof(xmlChar)=%zu." + +#: utils/adt/xml.c:1202 +#, c-format +msgid "could not set up XML error handler" +msgstr "\"XML\" შეცდომების დამმუშავებლის მორგების შეცდომა" + +#: utils/adt/xml.c:1203 +#, 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 "" + +#: utils/adt/xml.c:2189 +msgid "Invalid character value." +msgstr "სტრიქონის არასწორი მნშვნელობა." + +#: utils/adt/xml.c:2192 +msgid "Space required." +msgstr "საჭიროა გამოტოვება." + +#: utils/adt/xml.c:2195 +msgid "standalone accepts only 'yes' or 'no'." +msgstr "standalone-ის მნიშვნელობა შეიძლება იყოს \"yes\"(დიახ) ან \"no\"(არა)." + +#: utils/adt/xml.c:2198 +msgid "Malformed declaration: missing version." +msgstr "არასწორი აღწერა: ვერსია მითითებული არაა." + +#: utils/adt/xml.c:2201 +msgid "Missing encoding in text declaration." +msgstr "ტექსტის აღწერაში კოდირება მითითებული არაა." + +#: utils/adt/xml.c:2204 +msgid "Parsing XML declaration: '?>' expected." +msgstr "" + +#: utils/adt/xml.c:2207 +#, c-format +msgid "Unrecognized libxml error code: %d." +msgstr "Libxml-ის შეცდომის უცნობი კოდი: %d." + +#: utils/adt/xml.c:2461 +#, c-format +msgid "XML does not support infinite date values." +msgstr "XML-ს უსასრულო თარიღის მნიშვნელობების მხარდაჭერა არ გააჩნია." + +#: utils/adt/xml.c:2483 utils/adt/xml.c:2510 +#, c-format +msgid "XML does not support infinite timestamp values." +msgstr "XML-ს უსასრულო დროის შტამპის მნიშვნელობების მხარდაჭერა არ გააჩნია." + +#: utils/adt/xml.c:2926 +#, c-format +msgid "invalid query" +msgstr "არასწორი მოთხოვნა" + +#: utils/adt/xml.c:4266 +#, c-format +msgid "invalid array for XML namespace mapping" +msgstr "" + +#: utils/adt/xml.c:4267 +#, c-format +msgid "The array must be two-dimensional with length of the second axis equal to 2." +msgstr "" + +#: utils/adt/xml.c:4291 +#, c-format +msgid "empty XPath expression" +msgstr "ცარიელი XPath გამოხატულება" + +#: utils/adt/xml.c:4343 +#, c-format +msgid "neither namespace name nor URI may be null" +msgstr "სახელების სივრცის სახელი და URI ნულოვანი არ შეიძლება, იყოს" + +#: utils/adt/xml.c:4350 +#, c-format +msgid "could not register XML namespace with name \"%s\" and URI \"%s\"" +msgstr "" + +#: utils/adt/xml.c:4693 +#, c-format +msgid "DEFAULT namespace is not supported" +msgstr "სახელების სივრცე DEFAULT მხარდაუჭერელია" + +#: utils/adt/xml.c:4722 +#, c-format +msgid "row path filter must not be empty string" +msgstr "მწკრივის ბილიკის ფილტრი ცარიელი სტრიქონი არ შეიძლება იყოს" + +#: utils/adt/xml.c:4753 +#, c-format +msgid "column path filter must not be empty string" +msgstr "სვეტის ბილიკის ფილტრი ცარიელი სტრიქონი არ შეიძლება იყოს" + +#: utils/adt/xml.c:4897 +#, c-format +msgid "more than one value returned by column XPath expression" +msgstr "" + +#: utils/cache/lsyscache.c:1043 +#, c-format +msgid "cast from type %s to type %s does not exist" +msgstr "" + +#: utils/cache/lsyscache.c:2845 utils/cache/lsyscache.c:2878 utils/cache/lsyscache.c:2911 utils/cache/lsyscache.c:2944 +#, c-format +msgid "type %s is only a shell" +msgstr "ტიპი %s ცარიელია" + +#: utils/cache/lsyscache.c:2850 +#, c-format +msgid "no input function available for type %s" +msgstr "ტიპისთვის %s შეყვანის ფუნქცია არ არ ასებობს" + +#: utils/cache/lsyscache.c:2883 +#, c-format +msgid "no output function available for type %s" +msgstr "ტიპისთვის %s გამოტანის ფუნქცია არ არ ასებობს" + +#: utils/cache/partcache.c:219 +#, c-format +msgid "operator class \"%s\" of access method %s is missing support function %d for type %s" +msgstr "" + +#: utils/cache/plancache.c:722 +#, c-format +msgid "cached plan must not change result type" +msgstr "დაკეშილი გეგმა შედეგის ტიპს არ უნდა ცვლიდეს" + +#: utils/cache/relcache.c:3741 +#, c-format +msgid "heap relfilenumber value not set when in binary upgrade mode" +msgstr "heap relfilenumber-ის მნიშვნელობა ბინარული განახლების დროს დაყენებული არაა" + +#: utils/cache/relcache.c:3749 +#, c-format +msgid "unexpected request for new relfilenumber in binary upgrade mode" +msgstr "ახალი relfilenumber-ის მოულოდნელი მოთხოვნა ბინარული განახლების რეჟიმში" + +#: utils/cache/relcache.c:6495 +#, c-format +msgid "could not create relation-cache initialization file \"%s\": %m" +msgstr "" + +#: utils/cache/relcache.c:6497 +#, c-format +msgid "Continuing anyway, but there's something wrong." +msgstr "მაინც ვაგრძელებ, მაგრამ რაღაც ცუდი ხდება." + +#: utils/cache/relcache.c:6819 +#, c-format +msgid "could not remove cache file \"%s\": %m" +msgstr "კეშის ფაილის \"%s\" წაშლის შეცდომა: %m" + +#: utils/cache/relmapper.c:596 +#, c-format +msgid "cannot PREPARE a transaction that modified relation mapping" +msgstr "" + +#: utils/cache/relmapper.c:850 +#, c-format +msgid "relation mapping file \"%s\" contains invalid data" +msgstr "ურთიერთობის მიბმის ფაილი \"%s\" არასწორ მონაცემებს შეიცავს" + +#: utils/cache/relmapper.c:860 +#, c-format +msgid "relation mapping file \"%s\" contains incorrect checksum" +msgstr "ურთიერთობის მიბმის ფაილი \"%s\" არასწორ საკონტროლო ჯამს შეიცავს" + +#: utils/cache/typcache.c:1803 utils/fmgr/funcapi.c:566 +#, c-format +msgid "record type has not been registered" +msgstr "ჩანაწერის ტიპი რეგისტრირებული არ არის" + +#: utils/error/assert.c:37 +#, c-format +msgid "TRAP: ExceptionalCondition: bad arguments in PID %d\n" +msgstr "" + +#: utils/error/assert.c:40 +#, c-format +msgid "TRAP: failed Assert(\"%s\"), File: \"%s\", Line: %d, PID: %d\n" +msgstr "ხაფანგი: გამოთხოვის შეცდომა (\"%s\"), ფაილი: \"%s\", ხაზი: %d, PID: %d\n" + +#: utils/error/elog.c:416 +#, c-format +msgid "error occurred before error message processing is available\n" +msgstr "აღმოჩენილია შეცდომა მანამდე, სანამ შეცდომის შეტყობინებების დამუშავება ხელმისაწვდომი გახდებოდა\n" + +#: utils/error/elog.c:2092 +#, c-format +msgid "could not reopen file \"%s\" as stderr: %m" +msgstr "" + +#: utils/error/elog.c:2105 +#, c-format +msgid "could not reopen file \"%s\" as stdout: %m" +msgstr "" + +#: utils/error/elog.c:2141 +#, c-format +msgid "invalid character" +msgstr "არასწორი სიმბოლო" + +#: utils/error/elog.c:2847 utils/error/elog.c:2874 utils/error/elog.c:2890 +msgid "[unknown]" +msgstr "[უცნობი]" + +#: utils/error/elog.c:3163 utils/error/elog.c:3484 utils/error/elog.c:3591 +msgid "missing error text" +msgstr "შეცდომის ტექსტი ხელმიუწვდომელია" + +#: utils/error/elog.c:3166 utils/error/elog.c:3169 +#, c-format +msgid " at character %d" +msgstr " სიმბოლოსთან %d" + +#: utils/error/elog.c:3179 utils/error/elog.c:3186 +msgid "DETAIL: " +msgstr "დეტალები: " + +#: utils/error/elog.c:3193 +msgid "HINT: " +msgstr "მინიშნება: " + +#: utils/error/elog.c:3200 +msgid "QUERY: " +msgstr "მოთხოვნა: " + +#: utils/error/elog.c:3207 +msgid "CONTEXT: " +msgstr "კონტექსტი: " + +#: utils/error/elog.c:3217 +#, c-format +msgid "LOCATION: %s, %s:%d\n" +msgstr "მდებარეობა: %s, %s:%d\n" + +#: utils/error/elog.c:3224 +#, c-format +msgid "LOCATION: %s:%d\n" +msgstr "მდებარეობა: %s:%d\n" + +#: utils/error/elog.c:3231 +msgid "BACKTRACE: " +msgstr "სტეკი: " + +#: utils/error/elog.c:3243 +msgid "STATEMENT: " +msgstr "ოპერატორი: " + +#: utils/error/elog.c:3636 +msgid "DEBUG" +msgstr "გამართვა" + +#: utils/error/elog.c:3640 +msgid "LOG" +msgstr "ჟურნალი" + +#: utils/error/elog.c:3643 +msgid "INFO" +msgstr "ინფორმაცია" + +#: utils/error/elog.c:3646 +msgid "NOTICE" +msgstr "გაფრთხილება" + +#: utils/error/elog.c:3650 +msgid "WARNING" +msgstr "გაფრთხილება" + +#: utils/error/elog.c:3653 +msgid "ERROR" +msgstr "შეცდომა" + +#: utils/error/elog.c:3656 +msgid "FATAL" +msgstr "ფატალური" + +#: utils/error/elog.c:3659 +msgid "PANIC" +msgstr "პანიკა" + +#: utils/fmgr/dfmgr.c:128 +#, c-format +msgid "could not find function \"%s\" in file \"%s\"" +msgstr "ფაილში \"%1$s\" ფუნქცია \"%2$s\" არ არსებობს" + +#: utils/fmgr/dfmgr.c:247 +#, c-format +msgid "could not load library \"%s\": %s" +msgstr "ბიბლიოთეკის (\"%s\") ჩატვირთვის შეცდომა: %s" + +#: utils/fmgr/dfmgr.c:279 +#, c-format +msgid "incompatible library \"%s\": missing magic block" +msgstr "არათავსებადი ბიბლიოთეკა \"%s\": მაგიური ბლოკი აღმოჩენილი არაა" + +#: utils/fmgr/dfmgr.c:281 +#, c-format +msgid "Extension libraries are required to use the PG_MODULE_MAGIC macro." +msgstr "გაფართოების ბიბლიოთეკების მიერ PG_MODULE_MAGIC მაკროს გამოყენება აუცილებელია." + +#: utils/fmgr/dfmgr.c:327 +#, c-format +msgid "incompatible library \"%s\": version mismatch" +msgstr "არათავსებადი ბიბლიოთეკა \"%s\": შეუსაბამო ვერსია" + +#: utils/fmgr/dfmgr.c:329 +#, c-format +msgid "Server is version %d, library is version %s." +msgstr "სერვერის ვერსიაა %d. ბიბლიოთეკის კი %s." + +#: utils/fmgr/dfmgr.c:341 +#, c-format +msgid "incompatible library \"%s\": ABI mismatch" +msgstr "არათავსებადი ბიბლიოთეკა \"%s\": ABI არ ემთხვევა" + +#: utils/fmgr/dfmgr.c:343 +#, c-format +msgid "Server has ABI \"%s\", library has \"%s\"." +msgstr "სერვერის ABI \"%s\"-ა, ბიბლიოთეკის კი \"%s\"." + +#: utils/fmgr/dfmgr.c:361 +#, c-format +msgid "Server has FUNC_MAX_ARGS = %d, library has %d." +msgstr "სერვერის FUNC_MAX_ARGS = %d, ბიბლიოთეკას კი %d." + +#: utils/fmgr/dfmgr.c:370 +#, c-format +msgid "Server has INDEX_MAX_KEYS = %d, library has %d." +msgstr "სერვერის INDEX_MAX_KEYS = %d, ბიბლიოთეკას კი %d." + +#: utils/fmgr/dfmgr.c:379 +#, c-format +msgid "Server has NAMEDATALEN = %d, library has %d." +msgstr "სერვერის NAMEDATALEN = %d, ბიბლიოთეკას კი %d." + +#: utils/fmgr/dfmgr.c:388 +#, c-format +msgid "Server has FLOAT8PASSBYVAL = %s, library has %s." +msgstr "სერვერის FLOAT8PASSBYVAL = %s, ბიბლიოთეკას კი %s." + +#: utils/fmgr/dfmgr.c:395 +msgid "Magic block has unexpected length or padding difference." +msgstr "" + +#: utils/fmgr/dfmgr.c:398 +#, c-format +msgid "incompatible library \"%s\": magic block mismatch" +msgstr "არათავსებადი ბიბლიოთეკა \"%s\": მაგიური ბლოკი არ ემთხვევა" + +#: utils/fmgr/dfmgr.c:492 +#, c-format +msgid "access to library \"%s\" is not allowed" +msgstr "წვდომა ბიბლიოთეკასთან \"%s\"" + +#: utils/fmgr/dfmgr.c:518 +#, c-format +msgid "invalid macro name in dynamic library path: %s" +msgstr "მაკროს არასწორი სახელი დინამიკური ბიბლიოთეკის ბილიკში: %s" + +#: utils/fmgr/dfmgr.c:558 +#, c-format +msgid "zero-length component in parameter \"dynamic_library_path\"" +msgstr "" + +#: utils/fmgr/dfmgr.c:577 +#, c-format +msgid "component in parameter \"dynamic_library_path\" is not an absolute path" +msgstr "პარამეტრში \"dynamic_library_path\" კომპონენტი აბსოლუტური ბილიკი არაა" + +#: utils/fmgr/fmgr.c:236 +#, c-format +msgid "internal function \"%s\" is not in internal lookup table" +msgstr "შიდა ფუნქცია \"%s\" შიდა ძებნის ცხრილში აღმოჩენილი არაა" + +#: utils/fmgr/fmgr.c:470 +#, c-format +msgid "could not find function information for function \"%s\"" +msgstr "ფუნქციისთვის \"%s\" ფუნქციის ინფორმაციის პოვნა შეუძლებელია" + +#: utils/fmgr/fmgr.c:472 +#, c-format +msgid "SQL-callable functions need an accompanying PG_FUNCTION_INFO_V1(funcname)." +msgstr "" + +#: utils/fmgr/fmgr.c:490 +#, c-format +msgid "unrecognized API version %d reported by info function \"%s\"" +msgstr "" + +#: utils/fmgr/fmgr.c:2080 +#, c-format +msgid "operator class options info is absent in function call context" +msgstr "" + +#: utils/fmgr/fmgr.c:2147 +#, c-format +msgid "language validation function %u called for language %u instead of %u" +msgstr "" + +#: utils/fmgr/funcapi.c:489 +#, c-format +msgid "could not determine actual result type for function \"%s\" declared to return type %s" +msgstr "" + +#: utils/fmgr/funcapi.c:634 +#, c-format +msgid "argument declared %s does not contain a range type but type %s" +msgstr "" + +#: utils/fmgr/funcapi.c:717 +#, c-format +msgid "could not find multirange type for data type %s" +msgstr "მონაცემების ტიპისთვის %s მრავალდიაპაზონიანი ტიპი ვერ ვიპოვე" + +#: utils/fmgr/funcapi.c:1921 utils/fmgr/funcapi.c:1953 +#, c-format +msgid "number of aliases does not match number of columns" +msgstr "მეტსახელების რიცხვი სვეტების რაოდენობას არ ემთხვევა" + +#: utils/fmgr/funcapi.c:1947 +#, c-format +msgid "no column alias was provided" +msgstr "სვეტის მეტსახელი მითითებული არაა" + +#: utils/fmgr/funcapi.c:1971 +#, c-format +msgid "could not determine row description for function returning record" +msgstr "ჩანაწერის დამბრუნებელი ფუნქციისთვის მწკრივის აღწერის დადგენა შეუძლებელია" + +#: utils/init/miscinit.c:347 +#, c-format +msgid "data directory \"%s\" does not exist" +msgstr "მონაცემების საქაღალდე არ არსებობს: \"%s\"" + +#: utils/init/miscinit.c:352 +#, c-format +msgid "could not read permissions of directory \"%s\": %m" +msgstr "საქაღალდის წვდომების წაკითხვა შეუძლებელია \"%s\": %m" + +#: utils/init/miscinit.c:360 +#, c-format +msgid "specified data directory \"%s\" is not a directory" +msgstr "მონაცემების მითითებული საქაღალდე \"%s\" საქაღალდე არაა" + +#: utils/init/miscinit.c:376 +#, c-format +msgid "data directory \"%s\" has wrong ownership" +msgstr "მონაცემების მითითებული საქაღალდის (\"%s\") მფლობელი არასწორია" + +#: utils/init/miscinit.c:378 +#, c-format +msgid "The server must be started by the user that owns the data directory." +msgstr "სერვერი იმ მომხმარებლით უნდა გაეშვას, რომელიც მონაცემების საქაღალდის მფლობელია." + +#: utils/init/miscinit.c:396 +#, c-format +msgid "data directory \"%s\" has invalid permissions" +msgstr "მონაცემების საქაღალდის \"%s\" წვდომები არასწორია" + +#: utils/init/miscinit.c:398 +#, c-format +msgid "Permissions should be u=rwx (0700) or u=rwx,g=rx (0750)." +msgstr "წვდომები უნდა იყოს u=rwx (0700) ან u=rwx,g=rx (0750)." + +#: utils/init/miscinit.c:456 +#, c-format +msgid "could not change directory to \"%s\": %m" +msgstr "საქაღალდის %s-ზე შეცვლის შეცდომა: %m" + +#: utils/init/miscinit.c:693 utils/misc/guc.c:3548 +#, c-format +msgid "cannot set parameter \"%s\" within security-restricted operation" +msgstr "" + +#: utils/init/miscinit.c:765 +#, c-format +msgid "role with OID %u does not exist" +msgstr "როლი OID-ით %u არ არსებობს" + +#: utils/init/miscinit.c:795 +#, c-format +msgid "role \"%s\" is not permitted to log in" +msgstr "როლს შესვლის უფლება არ აქვს: %s" + +#: utils/init/miscinit.c:813 +#, c-format +msgid "too many connections for role \"%s\"" +msgstr "მეტისმეტად ბევრი კავშირი როლისთვის \"%s\"" + +#: utils/init/miscinit.c:912 +#, c-format +msgid "permission denied to set session authorization" +msgstr "სესიის ავტორიზაციის დასაყენებლად წვდომა აკრძალულია" + +#: utils/init/miscinit.c:995 +#, c-format +msgid "invalid role OID: %u" +msgstr "როლის არასწორი OID: %u" + +#: utils/init/miscinit.c:1142 +#, c-format +msgid "database system is shut down" +msgstr "მონაცემთა ბაზის სისტემა გათიშულია" + +#: utils/init/miscinit.c:1229 +#, c-format +msgid "could not create lock file \"%s\": %m" +msgstr "ბლოკის ფაილის (%s) შექმნის შეცდომა: %m" + +#: utils/init/miscinit.c:1243 +#, c-format +msgid "could not open lock file \"%s\": %m" +msgstr "ბლოკის ფაილის (%s) გახსნის შეცდომა: %m" + +#: utils/init/miscinit.c:1250 +#, c-format +msgid "could not read lock file \"%s\": %m" +msgstr "ბლოკის ფაილის (%s) წაკითხვის შეცდომა: %m" + +#: utils/init/miscinit.c:1259 +#, c-format +msgid "lock file \"%s\" is empty" +msgstr "ბლოკის ფაილი (\"%s\") ცარიელია" + +#: utils/init/miscinit.c:1260 +#, c-format +msgid "Either another server is starting, or the lock file is the remnant of a previous server startup crash." +msgstr "" + +#: utils/init/miscinit.c:1304 +#, c-format +msgid "lock file \"%s\" already exists" +msgstr "ბლოკის ფაილი (\"%s\") უკვე არსებობს" + +#: utils/init/miscinit.c:1308 +#, c-format +msgid "Is another postgres (PID %d) running in data directory \"%s\"?" +msgstr "არის სხვა postgres (PID %d) გაშვებული მონაცემების საქაღალდეში \"%s\"?" + +#: utils/init/miscinit.c:1310 +#, c-format +msgid "Is another postmaster (PID %d) running in data directory \"%s\"?" +msgstr "არის სხვა postmaster (PID %d) გაშვებული მონაცემების საქაღლდეში \"%s\"?" + +#: utils/init/miscinit.c:1313 +#, c-format +msgid "Is another postgres (PID %d) using socket file \"%s\"?" +msgstr "იყენებს სხვა postgres (PID %d) სოკეტის ფაილს \"%s\"?" + +#: utils/init/miscinit.c:1315 +#, c-format +msgid "Is another postmaster (PID %d) using socket file \"%s\"?" +msgstr "იყენებს სხვა postmaster (PID %d) სოკეტის ფაილს \"%s\"?" + +#: utils/init/miscinit.c:1366 +#, c-format +msgid "could not remove old lock file \"%s\": %m" +msgstr "ბლოკის ძველი ფაილის წაშლის შეცდომა \"%s\": %m" + +#: utils/init/miscinit.c:1368 +#, c-format +msgid "The file seems accidentally left over, but it could not be removed. Please remove the file by hand and try again." +msgstr "" + +#: utils/init/miscinit.c:1405 utils/init/miscinit.c:1419 utils/init/miscinit.c:1430 +#, c-format +msgid "could not write lock file \"%s\": %m" +msgstr "ბლოკის ფაილში (%s) ჩაწერის შეცდომა: %m" + +#: utils/init/miscinit.c:1541 utils/init/miscinit.c:1683 utils/misc/guc.c:5580 +#, c-format +msgid "could not read from file \"%s\": %m" +msgstr "ფაილიდან (\"%s\") წაკითხვის შეცდომა: %m" + +#: utils/init/miscinit.c:1671 +#, c-format +msgid "could not open file \"%s\": %m; continuing anyway" +msgstr "შეცდომა ფაილის (\"%s\") გახსნისას: %m; მაინც ვაგრძელებ" + +#: utils/init/miscinit.c:1696 +#, c-format +msgid "lock file \"%s\" contains wrong PID: %ld instead of %ld" +msgstr "ბლოკის ფაილი \"%s\" შეიცავს არასწორ PID-ს: %ld-ს %ld-ის მაგიერ" + +#: utils/init/miscinit.c:1735 utils/init/miscinit.c:1751 +#, c-format +msgid "\"%s\" is not a valid data directory" +msgstr "%s მონაცემების არასწორი საქაღალდეა" + +#: utils/init/miscinit.c:1737 +#, c-format +msgid "File \"%s\" is missing." +msgstr "ფაილი \"%s\" აკლია." + +#: utils/init/miscinit.c:1753 +#, c-format +msgid "File \"%s\" does not contain valid data." +msgstr "ფაილი \"%s\" სწორ მონაცემებს არ შეიცავს." + +#: utils/init/miscinit.c:1755 +#, c-format +msgid "You might need to initdb." +msgstr "როგორც ჩანს, initdb გჭირდებათ." + +#: utils/init/miscinit.c:1763 +#, c-format +msgid "The data directory was initialized by PostgreSQL version %s, which is not compatible with this version %s." +msgstr "მონაცემის საქაღალდე ინიციალიზებული იყო PostgreSQL-ის %s ვერსიით, რომელიც ამ ვერსიასთან, %s, თავსებადი არაა." + +#: utils/init/postinit.c:259 +#, c-format +msgid "replication connection authorized: user=%s" +msgstr "რეპლიკაციის შეერთება ავტორიზებულია: მომხმარებელი=%s" + +#: utils/init/postinit.c:262 +#, c-format +msgid "connection authorized: user=%s" +msgstr "შეერთება ავტორიზებულია: მომხმარებელი=%s" + +#: utils/init/postinit.c:265 +#, c-format +msgid " database=%s" +msgstr " ბაზა=%s" + +#: utils/init/postinit.c:268 +#, c-format +msgid " application_name=%s" +msgstr " აპლიკაციის_სახელი=%s" + +#: utils/init/postinit.c:273 +#, c-format +msgid " SSL enabled (protocol=%s, cipher=%s, bits=%d)" +msgstr " SSL ჩართულია (პროტოკოლი=%s, შიფრი=%s, ბიტები=%d)" + +#: utils/init/postinit.c:285 +#, c-format +msgid " GSS (authenticated=%s, encrypted=%s, delegated_credentials=%s, principal=%s)" +msgstr " GSS (ავთენტიფიცირებული=%s, დაშიფრული=%s, delegated_credentials=%s, პრინციპალი=%s)" + +#: utils/init/postinit.c:286 utils/init/postinit.c:287 utils/init/postinit.c:288 utils/init/postinit.c:293 utils/init/postinit.c:294 utils/init/postinit.c:295 +msgid "no" +msgstr "არა" + +#: utils/init/postinit.c:286 utils/init/postinit.c:287 utils/init/postinit.c:288 utils/init/postinit.c:293 utils/init/postinit.c:294 utils/init/postinit.c:295 +msgid "yes" +msgstr "დიახ" + +#: utils/init/postinit.c:292 +#, c-format +msgid " GSS (authenticated=%s, encrypted=%s, delegated_credentials=%s)" +msgstr " GSS (ავთენტიფიცირებული=%s, დაშიფრული=%s, delegated_credentials=%s)" + +#: utils/init/postinit.c:333 +#, c-format +msgid "database \"%s\" has disappeared from pg_database" +msgstr "ბაზა \"%s\" pg_database-დან გაქრა" + +#: utils/init/postinit.c:335 +#, c-format +msgid "Database OID %u now seems to belong to \"%s\"." +msgstr "ბაზის OID %u, როგორც ჩანს, ახლა \"%s\"-ს ეკუთვნის." + +#: utils/init/postinit.c:355 +#, c-format +msgid "database \"%s\" is not currently accepting connections" +msgstr "ბაზა \"%s\" ამჟამად მიერთებებს არ იღებს" + +#: utils/init/postinit.c:368 +#, c-format +msgid "permission denied for database \"%s\"" +msgstr "წვდომა აკრძალულია ბაზაზე: \"%s\"" + +#: utils/init/postinit.c:369 +#, c-format +msgid "User does not have CONNECT privilege." +msgstr "მომხმარებელს CONNECT პრივილეგია არ გააჩნია." + +#: utils/init/postinit.c:386 +#, c-format +msgid "too many connections for database \"%s\"" +msgstr "ძალიან ბევრი კავშირი ბაზისთვის \"%s\"" + +#: utils/init/postinit.c:410 utils/init/postinit.c:417 +#, c-format +msgid "database locale is incompatible with operating system" +msgstr "ბაზის ენა ოპერაციულ სისტემასთან შეუთავსებელია" + +#: utils/init/postinit.c:411 +#, c-format +msgid "The database was initialized with LC_COLLATE \"%s\", which is not recognized by setlocale()." +msgstr "ბაზა ინიციალიზებული იყო LC_COLLATE \"%s\"-ით, რომელსაც setlocale() ვერ ცნობს." + +#: utils/init/postinit.c:413 utils/init/postinit.c:420 +#, c-format +msgid "Recreate the database with another locale or install the missing locale." +msgstr "თავიდან შექმენით ბაზა სხვა ლოკალით ან დააყენეთ ლოკალი, რომელიც ვერ ვიპოვე." + +#: utils/init/postinit.c:418 +#, c-format +msgid "The database was initialized with LC_CTYPE \"%s\", which is not recognized by setlocale()." +msgstr "ბაზა ინიციალიზებული იყო LC_CTYPE \"%s\"-ით, რომელსაც setlocale() ვერ ცნობს." + +#: utils/init/postinit.c:475 +#, c-format +msgid "database \"%s\" has a collation version mismatch" +msgstr "ბაზის \"%s\" კოლაციის ვერსია არ ემთხვევა" + +#: utils/init/postinit.c:477 +#, c-format +msgid "The database was created using collation version %s, but the operating system provides version %s." +msgstr "" + +#: utils/init/postinit.c:480 +#, 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 "" + +#: utils/init/postinit.c:891 +#, c-format +msgid "no roles are defined in this database system" +msgstr "ამ მონაცემთა ბაზაში როლები აღწერილი არაა" + +#: utils/init/postinit.c:892 +#, c-format +msgid "You should immediately run CREATE USER \"%s\" SUPERUSER;." +msgstr "მაშინვე უნდა გაუშვათ CREATE USER \"%s\" SUPERUSER;." + +#: utils/init/postinit.c:928 +#, c-format +msgid "must be superuser to connect in binary upgrade mode" +msgstr "ორობითი განახლებისას მისაერთებლად ზემომხმარებელი უნდა ბრძანდებოდეთ" + +#: utils/init/postinit.c:949 +#, c-format +msgid "remaining connection slots are reserved for roles with the %s attribute" +msgstr "დარჩენილი მიერთების სლოტები დაცულია %s ატრიბუტის მქონე როლებისთვის" + +#: utils/init/postinit.c:955 +#, c-format +msgid "remaining connection slots are reserved for roles with privileges of the \"%s\" role" +msgstr "დარჩენილი მიერთების სლოტები დაცულია %s როლის პრივილეგიების მქონე როლებისთვის" + +#: utils/init/postinit.c:967 +#, c-format +msgid "permission denied to start WAL sender" +msgstr "'WAL' გამგზავნის გაშვების წვდომა აკრძალულია" + +#: utils/init/postinit.c:968 +#, c-format +msgid "Only roles with the %s attribute may start a WAL sender process." +msgstr "" + +#: utils/init/postinit.c:1038 +#, c-format +msgid "database %u does not exist" +msgstr "ბაზა არ არსებობს: %u" + +#: utils/init/postinit.c:1128 +#, c-format +msgid "It seems to have just been dropped or renamed." +msgstr "როგორც ჩანს, ახლახანს წაიშალა ან სახელი გადაერქვა." + +#: utils/init/postinit.c:1135 +#, c-format +msgid "cannot connect to invalid database \"%s\"" +msgstr "არასწორ მონაცემთა ბაზასთან \"%s\" დაკავშირება ვერ მოხერხდა" + +#: utils/init/postinit.c:1155 +#, c-format +msgid "The database subdirectory \"%s\" is missing." +msgstr "ბაზის ქვესაქაღალდე არ არსებობს: %s." + +#: utils/init/usercontext.c:43 +#, c-format +msgid "role \"%s\" cannot SET ROLE to \"%s\"" +msgstr "როლს \"%s\" \"%s\"-ზე SET ROLE არ შეუძლია" + +#: utils/mb/conv.c:522 utils/mb/conv.c:733 +#, c-format +msgid "invalid encoding number: %d" +msgstr "კოდირების არასწორი ნომერი: %d" + +#: utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:129 utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:165 +#, c-format +msgid "unexpected encoding ID %d for ISO 8859 character sets" +msgstr "მოულოდნელი დაშიფვრის ID %d 'ISO 8859' სიმბოლოების ნაკრებებისთვის" + +#: utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:110 utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:146 +#, c-format +msgid "unexpected encoding ID %d for WIN character sets" +msgstr "მოულოდნელი დაშიფვრის ID %d WIN სიმბოლოების ნაკრებებისთვის" + +#: utils/mb/mbutils.c:298 utils/mb/mbutils.c:901 +#, c-format +msgid "conversion between %s and %s is not supported" +msgstr "%s-დან %s-ზე გადაყვანა მხარდაჭერილი არაა" + +#: utils/mb/mbutils.c:386 +#, c-format +msgid "default conversion function for encoding \"%s\" to \"%s\" does not exist" +msgstr "" + +#: utils/mb/mbutils.c:403 utils/mb/mbutils.c:431 utils/mb/mbutils.c:816 utils/mb/mbutils.c:843 +#, c-format +msgid "String of %d bytes is too long for encoding conversion." +msgstr "%d ბაიტიანი სტრიქონი კოდირების გადაყვანისთვის მეტისმეტად გრძელია." + +#: utils/mb/mbutils.c:569 +#, c-format +msgid "invalid source encoding name \"%s\"" +msgstr "წყაროს კოდირების არასწორი სახელი: \"%s\"" + +#: utils/mb/mbutils.c:574 +#, c-format +msgid "invalid destination encoding name \"%s\"" +msgstr "სამიზნის კოდირების არასწორი სახელი: \"%s\"" + +#: utils/mb/mbutils.c:714 +#, c-format +msgid "invalid byte value for encoding \"%s\": 0x%02x" +msgstr "არასწორი ბაიტის მნიშვნელობა კოდირებისთვის \"%s\": 0x%02x" + +#: utils/mb/mbutils.c:878 +#, c-format +msgid "invalid Unicode code point" +msgstr "უნიკოდის კოდის არასწორი წერტილი" + +#: utils/mb/mbutils.c:1204 +#, c-format +msgid "bind_textdomain_codeset failed" +msgstr "bind_textdomain_codeset-ის შეცდომა" + +#: utils/mb/mbutils.c:1725 +#, c-format +msgid "invalid byte sequence for encoding \"%s\": %s" +msgstr "ბაიტების არასწორი მიმდევრობა კოდირებისთვის \"%s\": %s" + +#: utils/mb/mbutils.c:1758 +#, c-format +msgid "character with byte sequence %s in encoding \"%s\" has no equivalent in encoding \"%s\"" +msgstr "" + +#: utils/misc/conffiles.c:88 +#, c-format +msgid "empty configuration directory name: \"%s\"" +msgstr "კონფიგურაციის საქაღალდის სახელი ცარიელია: \"%s\"" + +#: utils/misc/conffiles.c:100 +#, c-format +msgid "could not open configuration directory \"%s\": %m" +msgstr "კონფიგურაციის საქაღალდის (\"%s\") გახსნის შეცდომა: %m" + +#: utils/misc/guc.c:115 +msgid "Valid units for this parameter are \"B\", \"kB\", \"MB\", \"GB\", and \"TB\"." +msgstr "პარამეტრის სწორი ერთეულებია \"ბ\", \"კბ\", \"მბ\", \"გბ\" და \"ტბ\"." + +#: utils/misc/guc.c:152 +msgid "Valid units for this parameter are \"us\", \"ms\", \"s\", \"min\", \"h\", and \"d\"." +msgstr "პარამეტრის სწორი ერთეულებია \"მკწმ\", \"მწმ\", \"წმ\", \"წთ\", \"სთ\" და \"დღე\"." + +#: utils/misc/guc.c:421 +#, c-format +msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %d" +msgstr "უცნობი კონფიგურაციის პარამეტრი \"%s\" ფაილში \"%s\" ხაზზე %d" + +#: utils/misc/guc.c:461 utils/misc/guc.c: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 +#, c-format +msgid "parameter \"%s\" cannot be changed without restarting the server" +msgstr "პარამეტრი \"%s\" -ის შეცვლა სერვერის გადატვირთვის გარეშე შეუძლებელია" + +#: utils/misc/guc.c:497 +#, c-format +msgid "parameter \"%s\" removed from configuration file, reset to default" +msgstr "პარამეტრი \"%s\" წაიშალა კონფიგურაციის ფაილიდან. დაბრუნდა ნაგულისხმევ მნიშვნელობაზე" + +#: utils/misc/guc.c:562 +#, c-format +msgid "parameter \"%s\" changed to \"%s\"" +msgstr "პარამეტრი \"%s\" შეიცვალა \"%s\"-ზე" + +#: utils/misc/guc.c:604 +#, c-format +msgid "configuration file \"%s\" contains errors" +msgstr "კონფიგურაციის ფაილი \"%s\" შეცდომებს შეიცავს" + +#: utils/misc/guc.c:609 +#, c-format +msgid "configuration file \"%s\" contains errors; unaffected changes were applied" +msgstr "კონფიგურაციის ფაილი \"%s\" შეცდომებს შეიცავს; გამოყენებული იქნება მხოლოდ სწორი ნაწილი" + +#: utils/misc/guc.c:614 +#, c-format +msgid "configuration file \"%s\" contains errors; no changes were applied" +msgstr "კონფიგურაციის ფაილი \"%s\" შეცდომებს შეიცავს; ცვლილებები არ მოხდება" + +#: utils/misc/guc.c:1211 utils/misc/guc.c:1227 +#, c-format +msgid "invalid configuration parameter name \"%s\"" +msgstr "კონფიგურაციის პარამეტრის არასწორი სახელი: %s" + +#: utils/misc/guc.c:1213 +#, c-format +msgid "Custom parameter names must be two or more simple identifiers separated by dots." +msgstr "მომხმარებლის პარამეტრის სახელები ორი ან მეტი მარტივი, წერტილებით გამოყოფილი იდენტიფიკატორი უნდა იყოს." + +#: utils/misc/guc.c:1229 +#, c-format +msgid "\"%s\" is a reserved prefix." +msgstr "\"%s\" დაცული პრეფიქსია." + +#: utils/misc/guc.c:1243 +#, c-format +msgid "unrecognized configuration parameter \"%s\"" +msgstr "კონფიგურაციის უცნობი პარამეტრი: \"%s\"" + +#: utils/misc/guc.c:1765 +#, c-format +msgid "%s: could not access directory \"%s\": %s\n" +msgstr "%s საქაღალდესთან %s წვდომის უფლება არ გაქვთ: %s\n" + +#: utils/misc/guc.c:1770 +#, c-format +msgid "Run initdb or pg_basebackup to initialize a PostgreSQL data directory.\n" +msgstr "PostgreSQL-ის მონაცემების საქაღალდის ინიციალიზაციისთვის initdb ან pg_basebackup გაუშვით.\n" + +#: utils/misc/guc.c:1794 +#, c-format +msgid "" +"%s does not know where to find the server configuration file.\n" +"You must specify the --config-file or -D invocation option or set the PGDATA environment variable.\n" +msgstr "" + +#: utils/misc/guc.c:1817 +#, c-format +msgid "%s: could not access the server configuration file \"%s\": %s\n" +msgstr "" + +#: utils/misc/guc.c:1845 +#, c-format +msgid "" +"%s does not know where to find the database system data.\n" +"This can be specified as \"data_directory\" in \"%s\", or by the -D invocation option, or by the PGDATA environment variable.\n" +msgstr "" + +#: utils/misc/guc.c:1897 +#, c-format +msgid "" +"%s does not know where to find the \"hba\" configuration file.\n" +"This can be specified as \"hba_file\" in \"%s\", or by the -D invocation option, or by the PGDATA environment variable.\n" +msgstr "" + +#: utils/misc/guc.c:1928 +#, c-format +msgid "" +"%s does not know where to find the \"ident\" configuration file.\n" +"This can be specified as \"ident_file\" in \"%s\", or by the -D invocation option, or by the PGDATA environment variable.\n" +msgstr "" + +#: utils/misc/guc.c:2894 +msgid "Value exceeds integer range." +msgstr "\"lo_write\" -ის არგუმენტიმთელი რიცხვის დასაშვებ საზღვრებს სცდება." + +#: utils/misc/guc.c:3130 +#, c-format +msgid "%d%s%s is outside the valid range for parameter \"%s\" (%d .. %d)" +msgstr "%d%s%s დაშვებულ დიაპაზონს გარეთაა პარამეტრისთვის \"%s\" (%d .. %d)" + +#: utils/misc/guc.c:3166 +#, c-format +msgid "%g%s%s is outside the valid range for parameter \"%s\" (%g .. %g)" +msgstr "%g%s%s დაშვებულ დიაპაზონს გარეთაა პარამეტრისთვის \"%s\" (%g .. %g)" + +#: utils/misc/guc.c:3366 utils/misc/guc_funcs.c:54 +#, c-format +msgid "cannot set parameters during a parallel operation" +msgstr "პარალელური ოპერაციის დროს პარამეტრების დაყენება შეუძლებელია" + +#: utils/misc/guc.c:3383 utils/misc/guc.c:4530 +#, c-format +msgid "parameter \"%s\" cannot be changed" +msgstr "პარამეტრი \"%s\" არ შეიძლება შეიცვალოს" + +#: utils/misc/guc.c:3416 +#, c-format +msgid "parameter \"%s\" cannot be changed now" +msgstr "პარამეტრი \"%s\" ახლა არ შეიძლება შეიცვალოს" + +#: utils/misc/guc.c:3443 utils/misc/guc.c:3501 utils/misc/guc.c:4506 utils/misc/guc.c:6546 +#, c-format +msgid "permission denied to set parameter \"%s\"" +msgstr "პარამეტრის (\"%s\") დაყენების წვდომა აკრძალულია" + +#: utils/misc/guc.c:3481 +#, c-format +msgid "parameter \"%s\" cannot be set after connection start" +msgstr "პარამეტრი \"%s\"-ის დაყენება კავშირის დამყარების შემდეგ შეუძლებელია" + +#: utils/misc/guc.c:3540 +#, c-format +msgid "cannot set parameter \"%s\" within security-definer function" +msgstr "უსაფრთხოების აღმწერ ფუნქციაში პარამეტრ \"%s\"-ს ვერ გამოიყენებთ" + +#: utils/misc/guc.c:3561 +#, c-format +msgid "parameter \"%s\" cannot be reset" +msgstr "პარამეტრის საწყის მნიშვნელობაზე დაბრუნების შეცდომა: \"%s\"" + +#: utils/misc/guc.c:3568 +#, c-format +msgid "parameter \"%s\" cannot be set locally in functions" +msgstr "პარამეტრი \"%s\"-ის ფუნქციებში ლოკალურად დაყენება შეუძლებელია" + +#: utils/misc/guc.c:4212 utils/misc/guc.c:4259 utils/misc/guc.c:5266 +#, c-format +msgid "permission denied to examine \"%s\"" +msgstr "\"%s\"-ის მოსინჯვის წვდომა აკრძალულია" + +#: utils/misc/guc.c:4213 utils/misc/guc.c:4260 utils/misc/guc.c:5267 +#, c-format +msgid "Only roles with privileges of the \"%s\" role may examine this parameter." +msgstr "ამ პარამეტრის შემოწმება მხოლოდ \"%s\" პრივილეგიის მქონე როლებს შეუძლიათ." + +#: utils/misc/guc.c:4496 +#, c-format +msgid "permission denied to perform ALTER SYSTEM RESET ALL" +msgstr "\"ALTER SYSTEM RESET ALL\"-ის შესრულების წვდომა აკრძალულია" + +#: utils/misc/guc.c:4562 +#, c-format +msgid "parameter value for ALTER SYSTEM must not contain a newline" +msgstr "პარამეტრის მნიშვნელობა ALTER SYSTEM-სთვის არ შეიძლება, ახალი ხაზის სიმბოლოს შეიცავდეს" + +#: utils/misc/guc.c:4608 +#, c-format +msgid "could not parse contents of file \"%s\"" +msgstr "ფაილის დშემცველობის ამუშავების შეცდომა \"%s\"" + +#: utils/misc/guc.c:4790 +#, c-format +msgid "attempt to redefine parameter \"%s\"" +msgstr "პარამეტრის თავიდან აღწერის მცდელობა: \"%s\"" + +#: utils/misc/guc.c:5129 +#, c-format +msgid "invalid configuration parameter name \"%s\", removing it" +msgstr "კონფიგურაციის პარამეტრის არასწორი სახელი: \"%s\". წაიშლება" + +#: utils/misc/guc.c:5131 +#, c-format +msgid "\"%s\" is now a reserved prefix." +msgstr "\"%s\" ახლა დაცული პრეფიქსია." + +#: utils/misc/guc.c:6000 +#, c-format +msgid "while setting parameter \"%s\" to \"%s\"" +msgstr "პარამეტრის \"%s\" \"%s\"-ზე დაყენებისას" + +#: utils/misc/guc.c:6169 +#, c-format +msgid "parameter \"%s\" could not be set" +msgstr "პარამეტრის დაყენების შეცდომა: \"%s\"" + +#: utils/misc/guc.c:6259 +#, c-format +msgid "could not parse setting for parameter \"%s\"" +msgstr "პარამეტრის მნიშვნელობის დამუშავების შეცდომა: %s" + +#: utils/misc/guc.c:6678 +#, c-format +msgid "invalid value for parameter \"%s\": %g" +msgstr "არასწორი მნიშვნელობა პარამეტრისთვის \"%s\": %g" + +#: utils/misc/guc_funcs.c:130 +#, c-format +msgid "SET LOCAL TRANSACTION SNAPSHOT is not implemented" +msgstr "SET LOCAL TRANSACTION SNAPSHOT განხორციელებული არაა" + +#: utils/misc/guc_funcs.c:218 +#, c-format +msgid "SET %s takes only one argument" +msgstr "SET %s მხოლოდ ერთ არგუმენტს იღებს" + +#: utils/misc/guc_funcs.c:342 +#, c-format +msgid "SET requires parameter name" +msgstr "SET მოითხოვს პარამეტრის სახელს" + +#: utils/misc/guc_tables.c:662 +msgid "Ungrouped" +msgstr "დაჯგუფება მოხსნილია" + +#: utils/misc/guc_tables.c:664 +msgid "File Locations" +msgstr "ფაილის მდებარეობები" + +#: utils/misc/guc_tables.c:666 +msgid "Connections and Authentication / Connection Settings" +msgstr "დაკავშირება და ავთენტიკაცია / შეერთების პარამეტრები" + +#: utils/misc/guc_tables.c:668 +msgid "Connections and Authentication / TCP Settings" +msgstr "დაკავშირება და ავთენტიკაცია / TCP-ის პარამეტრები" + +#: utils/misc/guc_tables.c:670 +msgid "Connections and Authentication / Authentication" +msgstr "დაკავშირება და ავთენტიკაცია / ავთენტიკაცია" + +#: utils/misc/guc_tables.c:672 +msgid "Connections and Authentication / SSL" +msgstr "დაკავშირება და ავთენტიკაცია / SSL" + +#: utils/misc/guc_tables.c:674 +msgid "Resource Usage / Memory" +msgstr "რესურსების გამოყენება / მეხსიერება" + +#: utils/misc/guc_tables.c:676 +msgid "Resource Usage / Disk" +msgstr "რესურსების გამოყენება / დისკი" + +#: utils/misc/guc_tables.c:678 +msgid "Resource Usage / Kernel Resources" +msgstr "რესურსების გამოყენება / ბირთვის რესურსები" + +#: utils/misc/guc_tables.c:680 +msgid "Resource Usage / Cost-Based Vacuum Delay" +msgstr "რესურსების გამოყენება / ფასზე-დამოკიდებული დამტვერსასრუტების დაყოვნება" + +#: utils/misc/guc_tables.c:682 +msgid "Resource Usage / Background Writer" +msgstr "რესურსების გამოყენება / ფონური ჩამწერი" + +#: utils/misc/guc_tables.c:684 +msgid "Resource Usage / Asynchronous Behavior" +msgstr "რესურსების გამოყენება / ასინქრონული ქცევა" + +#: utils/misc/guc_tables.c:686 +msgid "Write-Ahead Log / Settings" +msgstr "წინასწარ-ჩაწერი ჟურნალი / მორგება" + +#: utils/misc/guc_tables.c:688 +msgid "Write-Ahead Log / Checkpoints" +msgstr "წინასწარ-ჩაწერი ჟურნალი / საკონტროლო წერტილები" + +#: utils/misc/guc_tables.c:690 +msgid "Write-Ahead Log / Archiving" +msgstr "წინასწარ-ჩაწერი ჟურნალი / არქივირება" + +#: utils/misc/guc_tables.c:692 +msgid "Write-Ahead Log / Recovery" +msgstr "წინასწარ-ჩაწერი ჟურნალი / აღდგენა" + +#: utils/misc/guc_tables.c:694 +msgid "Write-Ahead Log / Archive Recovery" +msgstr "წინასწარ-ჩაწერი ჟურნალი / არქივის აღდგენა" + +#: utils/misc/guc_tables.c:696 +msgid "Write-Ahead Log / Recovery Target" +msgstr "წინასწარ-ჩაწერი ჟურნალი / სამიზნის აღდგენა" + +#: utils/misc/guc_tables.c:698 +msgid "Replication / Sending Servers" +msgstr "რეპლიკაცია / სერვერების გაგზავნა" + +#: utils/misc/guc_tables.c:700 +msgid "Replication / Primary Server" +msgstr "რეპლიკაცია / ძირითადი სერვერი" + +#: utils/misc/guc_tables.c:702 +msgid "Replication / Standby Servers" +msgstr "რეპლიკაცია / უქმე სერვერები" + +#: utils/misc/guc_tables.c:704 +msgid "Replication / Subscribers" +msgstr "რეპლიკაცია / გამომწერები" + +#: utils/misc/guc_tables.c:706 +msgid "Query Tuning / Planner Method Configuration" +msgstr "მოთხოვნის მორგება / დამგეგმავის მეთოდის კონფიგურაცია" + +#: utils/misc/guc_tables.c:708 +msgid "Query Tuning / Planner Cost Constants" +msgstr "მოთხოვნის მორგება / დამგეგმავის ფასის შეზღუდვები" + +#: utils/misc/guc_tables.c:710 +msgid "Query Tuning / Genetic Query Optimizer" +msgstr "მოთხოვნის მორგება / მოთხოვნის ზოგადი ოპტიმიზატორი" + +#: utils/misc/guc_tables.c:712 +msgid "Query Tuning / Other Planner Options" +msgstr "მოთხოვნის მორგება / დამგეგმავის სხვა პარამეტრები" + +#: utils/misc/guc_tables.c:714 +msgid "Reporting and Logging / Where to Log" +msgstr "ანგარიშები და ჟურნალი / სად ჩავწერო ჟურნალი" + +#: utils/misc/guc_tables.c:716 +msgid "Reporting and Logging / When to Log" +msgstr "ანგარიშები და ჟურნალი / როდის ჩავწერო ჟურნალი" + +#: utils/misc/guc_tables.c:718 +msgid "Reporting and Logging / What to Log" +msgstr "ანგარიშები და ჟურნალი / რა ჩავწერო ჟურნალში" + +#: utils/misc/guc_tables.c:720 +msgid "Reporting and Logging / Process Title" +msgstr "ანგარიშები და ჟურნალი / პროცესის სათაური" + +#: utils/misc/guc_tables.c:722 +msgid "Statistics / Monitoring" +msgstr "სტატისტიკა / მონიტორინგი" + +#: utils/misc/guc_tables.c:724 +msgid "Statistics / Cumulative Query and Index Statistics" +msgstr "სტატისტიკა / კუმულაციური მოთხოვნისა და ინდექსის სტატისტიკა" + +#: utils/misc/guc_tables.c:726 +msgid "Autovacuum" +msgstr "ავტომომტვერსასრუტება" + +#: utils/misc/guc_tables.c:728 +msgid "Client Connection Defaults / Statement Behavior" +msgstr "კლიენტის შეერთების ნაგულისხმები პარამეტრები / ბრძანების ქცევა" + +#: utils/misc/guc_tables.c:730 +msgid "Client Connection Defaults / Locale and Formatting" +msgstr "კლიენტის შეერთების ნაგულისხმები პარამეტრები / ენა და ფორმატირება" + +#: utils/misc/guc_tables.c:732 +msgid "Client Connection Defaults / Shared Library Preloading" +msgstr "კლიენტის შეერთების ნაგულისხმები პარამეტრები / გაზიარებული ბიბლიოთეკის წინასწარი ჩატვირთვა" + +#: utils/misc/guc_tables.c:734 +msgid "Client Connection Defaults / Other Defaults" +msgstr "კლიენტის შეერთების ნაგულისხმები პარამეტრები / სხვა ნაგულისხმები პარამეტრები" + +#: utils/misc/guc_tables.c:736 +msgid "Lock Management" +msgstr "ბლოკის მართვა" + +#: utils/misc/guc_tables.c:738 +msgid "Version and Platform Compatibility / Previous PostgreSQL Versions" +msgstr "ვერსიისა და პლატფორმის თავსებადობა / PostgreSQL-ის წინა ვერსიები" + +#: utils/misc/guc_tables.c:740 +msgid "Version and Platform Compatibility / Other Platforms and Clients" +msgstr "ვერსიისა და პლატფორმის თავსებადობა / სხვა პლატფორმები და კლიენტები" + +#: utils/misc/guc_tables.c:742 +msgid "Error Handling" +msgstr "შეცდომების დამუშავება" + +#: utils/misc/guc_tables.c:744 +msgid "Preset Options" +msgstr "პრესეტის მორგება" + +#: utils/misc/guc_tables.c:746 +msgid "Customized Options" +msgstr "ხელით მითითებული პარამეტრები" + +#: utils/misc/guc_tables.c:748 +msgid "Developer Options" +msgstr "პროგრამისტის პარამეტრები" + +#: utils/misc/guc_tables.c:805 +msgid "Enables the planner's use of sequential-scan plans." +msgstr "დამგეგმავისთვის მიმდევრობითი სკანირების გეგმების გამოყენების უფლების მიცემა." + +#: utils/misc/guc_tables.c:815 +msgid "Enables the planner's use of index-scan plans." +msgstr "დამგეგმავისთვის ინდექსის სკანირების გეგმების გამოყენების უფლების მიცემა." + +#: utils/misc/guc_tables.c:825 +msgid "Enables the planner's use of index-only-scan plans." +msgstr "დამგეგმავისთვის მხოლოდ ინდექსის სკანირების გეგმების გამოყენების უფლების მიცემა." + +#: utils/misc/guc_tables.c:835 +msgid "Enables the planner's use of bitmap-scan plans." +msgstr "დამგეგმავისთვის ბიტური რუკების სკანირების გეგმების გამოყენების უფლების მიცემა." + +#: utils/misc/guc_tables.c:845 +msgid "Enables the planner's use of TID scan plans." +msgstr "დამგეგმავისთვის TID-ის სკანირების გეგმების გამოყენების უფლები მიცემა." + +#: utils/misc/guc_tables.c:855 +msgid "Enables the planner's use of explicit sort steps." +msgstr "დამგეგმავისთვის აშკარა დალაგების ნაბიჯების გამოყენების უფლების მიცემა." + +#: utils/misc/guc_tables.c:865 +msgid "Enables the planner's use of incremental sort steps." +msgstr "დამგეგმავისთვის ინკრემენტული დალაგების ნაბიჯების გამოყენების უფლების მიცემა." + +#: utils/misc/guc_tables.c:875 +msgid "Enables the planner's use of hashed aggregation plans." +msgstr "დამგეგმავისთვის დაჰეშიილი აგრეგაციის გეგმების გამოყენების უფლების მიცემა." + +#: utils/misc/guc_tables.c:885 +msgid "Enables the planner's use of materialization." +msgstr "დამგეგმავისთვის მატერიალიზაციის გამოყენების უფლების მიცემა." + +#: utils/misc/guc_tables.c:895 +msgid "Enables the planner's use of memoization." +msgstr "დამგეგმავისთვის მემოიზაციის გამოყენების უფლების მიცემა." + +#: utils/misc/guc_tables.c:905 +msgid "Enables the planner's use of nested-loop join plans." +msgstr "დამგეგმავისთვის ერთმანეთში ჩალაგებული მარყუჟი შერწყმის გეგმების გამოყენების უფლების მიცემა." + +#: utils/misc/guc_tables.c:915 +msgid "Enables the planner's use of merge join plans." +msgstr "დამგეგმავისთვის შეერთების გეგმების შერწყმის გამოყენების უფლების მიცემა." + +#: utils/misc/guc_tables.c:925 +msgid "Enables the planner's use of hash join plans." +msgstr "დამგეგმავისთვის ჰეშის შეერთების გეგმების გამოყენების უფლების მიცემა." + +#: utils/misc/guc_tables.c:935 +msgid "Enables the planner's use of gather merge plans." +msgstr "დამგეგმავისთვის შერწყმის გეგმების შეგროვების გამოყენების უფლების მიცემა." + +#: utils/misc/guc_tables.c:945 +msgid "Enables partitionwise join." +msgstr "დანაყოფის გათვალისწინებით შეერთების ჩართვა." + +#: utils/misc/guc_tables.c:955 +msgid "Enables partitionwise aggregation and grouping." +msgstr "დანაყოფის გათვალისწინებით აგრეგაციისა და დაჯგუფებს ჩართვა." + +#: utils/misc/guc_tables.c:965 +msgid "Enables the planner's use of parallel append plans." +msgstr "დამგეგმავისთვის პარალელური ბოლოში მიწერის გეგმების გამოყენების უფლების მიცემა." + +#: utils/misc/guc_tables.c:975 +msgid "Enables the planner's use of parallel hash plans." +msgstr "დამგეგმავისთვის პარალელური ჰეშის გეგმების გამოყენების უფლების მიცემა." + +#: utils/misc/guc_tables.c:985 +msgid "Enables plan-time and execution-time partition pruning." +msgstr "" + +#: 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 "" + +#: 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 "" + +#: 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 "" + +#: utils/misc/guc_tables.c:1012 +msgid "Enables the planner's use of async append plans." +msgstr "" + +#: utils/misc/guc_tables.c:1022 +msgid "Enables genetic query optimization." +msgstr "მოთხოვნების ზოგადი ოპტიმიზაციის ჩართვა." + +#: utils/misc/guc_tables.c:1023 +msgid "This algorithm attempts to do planning without exhaustive searching." +msgstr "" + +#: utils/misc/guc_tables.c:1034 +msgid "Shows whether the current user is a superuser." +msgstr "აჩვენებს, არის მიმდინარე მომხმარებელი ზემომხმარებელი, თუ არა." + +#: utils/misc/guc_tables.c:1044 +msgid "Enables advertising the server via Bonjour." +msgstr "სერვისის Bonjour-ით გამოქვეყნების ჩართვა." + +#: utils/misc/guc_tables.c:1053 +msgid "Collects transaction commit time." +msgstr "აგროვებს ტრანზაქციის გადაცემის დროს." + +#: utils/misc/guc_tables.c:1062 +msgid "Enables SSL connections." +msgstr "SSL შეერთებების ჩართვა." + +#: utils/misc/guc_tables.c:1071 +msgid "Controls whether ssl_passphrase_command is called during server reload." +msgstr "" + +#: utils/misc/guc_tables.c:1080 +msgid "Give priority to server ciphersuite order." +msgstr "" + +#: utils/misc/guc_tables.c:1089 +msgid "Forces synchronization of updates to disk." +msgstr "დისკის განახლებების ნაძალადევი სინქრონიზაცია." + +#: 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 insures that a database cluster will recover to a consistent state after an operating system or hardware crash." +msgstr "" + +#: utils/misc/guc_tables.c:1101 +msgid "Continues processing after a checksum failure." +msgstr "აგრძელებს დამუშავებას საკონტროლო ჯამის ჩავარდნის შემდეგ." + +#: 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 "" + +#: utils/misc/guc_tables.c:1116 +msgid "Continues processing past damaged page headers." +msgstr "აგრძელებს დამუშავებას დაზიანებული გვერდის თავსართების შემდეგ." + +#: utils/misc/guc_tables.c:1117 +msgid "Detection of a damaged page header normally causes PostgreSQL to report an error, aborting the current transaction. Setting zero_damaged_pages to true causes the system to instead report a warning, zero out the damaged page, and continue processing. This behavior will destroy data, namely all the rows on the damaged page." +msgstr "" + +#: utils/misc/guc_tables.c:1130 +msgid "Continues recovery after an invalid pages failure." +msgstr "აგრძელებს აღდგენას არასწორი გვერდის ჩავარდნების შემდეგ." + +#: utils/misc/guc_tables.c:1131 +msgid "Detection of WAL records having references to invalid pages during recovery causes PostgreSQL to raise a PANIC-level error, aborting the recovery. Setting ignore_invalid_pages to true causes the system to ignore invalid page references in WAL records (but still report a warning), and continue recovery. This behavior may cause crashes, data loss, propagate or hide corruption, or other serious problems. Only has an effect during recovery or in standby mode." +msgstr "" + +#: utils/misc/guc_tables.c:1149 +msgid "Writes full pages to WAL when first modified after a checkpoint." +msgstr "" + +#: 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 "" + +#: 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 "" + +#: utils/misc/guc_tables.c:1173 +msgid "Writes zeroes to new WAL files before first use." +msgstr "ახალ WAL-ის ფაილებში მათ პირველ გამოყენებამდე ნულიანების ჩაწერა." + +#: utils/misc/guc_tables.c:1183 +msgid "Recycles WAL files by renaming them." +msgstr "WAL-ის ფაილების თავიდან გამოყენება მათი სახელის გადარქმევით." + +#: utils/misc/guc_tables.c:1193 +msgid "Logs each checkpoint." +msgstr "საკონტროლო წერტილების ჟურნალში ჩაწერა." + +#: utils/misc/guc_tables.c:1202 +msgid "Logs each successful connection." +msgstr "ყოველი წარმატებული შესვლის ჟურნალში ჩაწერა." + +#: utils/misc/guc_tables.c:1211 +msgid "Logs end of a session, including duration." +msgstr "სესიის დასრულების ჟურნალში ჩაწერა, ხანგრძლივობის ჩართვლით." + +#: utils/misc/guc_tables.c:1220 +msgid "Logs each replication command." +msgstr "რეპლიკაციის ყოველი ბრძანების ჟურნალში ჩაწერა." + +#: utils/misc/guc_tables.c:1229 +msgid "Shows whether the running server has assertion checks enabled." +msgstr "" + +#: utils/misc/guc_tables.c:1240 +msgid "Terminate session on any error." +msgstr "სესიის დასრულება ნებისმიერი შეცდომის შემთხვევაში." + +#: utils/misc/guc_tables.c:1249 +msgid "Reinitialize server after backend crash." +msgstr "უკანაბოლოს ავარიის შემდეგ სერვერის თავიდან ინიციალიზაცია." + +#: utils/misc/guc_tables.c:1258 +msgid "Remove temporary files after backend crash." +msgstr "უკანაბოლოს ავარიის შემდეგ დროებითი ფაილების წაშლა." + +#: utils/misc/guc_tables.c:1268 +msgid "Send SIGABRT not SIGQUIT to child processes after backend crash." +msgstr "უკანაბოლოს ავარიის შემდეგ შვილი პროცესებისთვის SIGQUIT-ის მაგიერ SIGABRT-ის გაგზავნა." + +#: utils/misc/guc_tables.c:1278 +msgid "Send SIGABRT not SIGKILL to stuck child processes." +msgstr "გაჭედილი შვილი პროცესებისთვის SIGKILL-ის მაგიერ SIGABRT-ის გაგზავნა." + +#: utils/misc/guc_tables.c:1289 +msgid "Logs the duration of each completed SQL statement." +msgstr "თითოეული დასრულებული SQL გამოსახულების ხანგრძლივობის ჟურნალში ჩაწერა." + +#: utils/misc/guc_tables.c:1298 +msgid "Logs each query's parse tree." +msgstr "ჟურნალში თითოეული მოთხოვნის დამუშავების ხის ჩაწერა." + +#: utils/misc/guc_tables.c:1307 +msgid "Logs each query's rewritten parse tree." +msgstr "ჟურნალში თითოეული მოთხოვნის გადაწერილი დამუშავების ხის ჩაწერა." + +#: utils/misc/guc_tables.c:1316 +msgid "Logs each query's execution plan." +msgstr "ჟურნალში თითოეული მოთხოვნის შესრულების გეგმის ჩაწერა." + +#: utils/misc/guc_tables.c:1325 +msgid "Indents parse and plan tree displays." +msgstr "" + +#: utils/misc/guc_tables.c:1334 +msgid "Writes parser performance statistics to the server log." +msgstr "დამმუშავებლის წარმადობის სტატისტიკას სერვერის ჟურნალში ჩაწერს." + +#: utils/misc/guc_tables.c:1343 +msgid "Writes planner performance statistics to the server log." +msgstr "დამგეგმავის წარმადობის სტატისტიკას სერვერის ჟურნალში ჩაწერს." + +#: utils/misc/guc_tables.c:1352 +msgid "Writes executor performance statistics to the server log." +msgstr "შემსრულებლის წარმადობის სტატისტიკას სერვერის ჟურნალში ჩაწერს." + +#: utils/misc/guc_tables.c:1361 +msgid "Writes cumulative performance statistics to the server log." +msgstr "საერთო წარმადობის სტატისტიკას სერვერის ჟურნალში ჩაწერს." + +#: utils/misc/guc_tables.c:1371 +msgid "Logs system resource usage statistics (memory and CPU) on various B-tree operations." +msgstr "" + +#: utils/misc/guc_tables.c:1383 +msgid "Collects information about executing commands." +msgstr "აგროვებს ინფორმაციას ბრძანებების შესრულების შესახებ." + +#: 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 "" + +#: utils/misc/guc_tables.c:1394 +msgid "Collects statistics on database activity." +msgstr "აგროვებს სტატისტიკას ბაზის აქტივობების შესახებ." + +#: utils/misc/guc_tables.c:1403 +msgid "Collects timing statistics for database I/O activity." +msgstr "აგროვებს ბაზის შეყვანა/გამოტანის აქტივობების დროით სტატისტიკას." + +#: utils/misc/guc_tables.c:1412 +msgid "Collects timing statistics for WAL I/O activity." +msgstr "აგროვებს WAL-ის შეყვანა/გამოტანის აქტივობების დროით სტატისტიკას." + +#: utils/misc/guc_tables.c:1422 +msgid "Updates the process title to show the active SQL command." +msgstr "განახლებს პროცესის სათაურს, რათა მან აქტიური SQL ბრძანება აჩვენოს." + +#: 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 "" + +#: utils/misc/guc_tables.c:1432 +msgid "Starts the autovacuum subprocess." +msgstr "ავტომომტვერსასრუტების ქვეპროცესის გაშვება." + +#: utils/misc/guc_tables.c:1442 +msgid "Generates debugging output for LISTEN and NOTIFY." +msgstr "LISTEN-ის და NOTIFY-ის გამართვის შეტყობინებების გენერაცია." + +#: utils/misc/guc_tables.c:1454 +msgid "Emits information about lock usage." +msgstr "ბლოკის გამოყენების შესახებ ინფორმაციის გამოტანა." + +#: utils/misc/guc_tables.c:1464 +msgid "Emits information about user lock usage." +msgstr "მომხმარებლის ბლოკის გამოყენების შესახებ ინფორმაციის გამოტანა." + +#: utils/misc/guc_tables.c:1474 +msgid "Emits information about lightweight lock usage." +msgstr "მსუბუქი ბლოკის გამოყენების შესახებ ინფორმაციის გამოტანა." + +#: utils/misc/guc_tables.c:1484 +msgid "Dumps information about all current locks when a deadlock timeout occurs." +msgstr "" + +#: utils/misc/guc_tables.c:1496 +msgid "Logs long lock waits." +msgstr "ბლოკირების დიდხნიანია ლოდინის ჟურნალში ჩაწერა." + +#: utils/misc/guc_tables.c:1505 +msgid "Logs standby recovery conflict waits." +msgstr "მომლოდინის აღდგენის კონფლიქტის ლოდინების ჟურნალში ჩაწერა." + +#: utils/misc/guc_tables.c:1514 +msgid "Logs the host name in the connection logs." +msgstr "ჟურნალში ჰოსტის სახელის ჩაწერა." + +#: 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 "" + +#: utils/misc/guc_tables.c:1526 +msgid "Treats \"expr=NULL\" as \"expr IS NULL\"." +msgstr "\"expr=NULL\" მიღებული იქნება, როგორც \"expr IS NULL\"." + +#: 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 "" + +#: utils/misc/guc_tables.c:1539 +msgid "Enables per-database user names." +msgstr "თითოეული ბაზისთვის საკუთარი მომხმარებლის სახელების ჩართვა." + +#: utils/misc/guc_tables.c:1548 +msgid "Sets the default read-only status of new transactions." +msgstr "ახალი ტრანზაქციების მხოლოდ კითხვადობის სტატუსის ნაგულისხმევად დაყენება." + +#: utils/misc/guc_tables.c:1558 +msgid "Sets the current transaction's read-only status." +msgstr "მიმდინარე ტრანზაქციის მხოლოდ-კითხვადობის სტატუსის დაყენება." + +#: utils/misc/guc_tables.c:1568 +msgid "Sets the default deferrable status of new transactions." +msgstr "" + +#: 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 "" + +#: utils/misc/guc_tables.c:1587 +msgid "Enable row security." +msgstr "მწკრივების უსაფრთხოების ჩართვა." + +#: utils/misc/guc_tables.c:1588 +msgid "When enabled, row security will be applied to all users." +msgstr "თუ ჩართავთ, მწკრივის უსაფრთხოება ყველა მომხმარებელზე გადატარდება." + +#: utils/misc/guc_tables.c:1596 +msgid "Check routine bodies during CREATE FUNCTION and CREATE PROCEDURE." +msgstr "ქვეპროგრამის სხეულების შემოწმება CREATE FUNCTION-ის და CREATE PROCEDURE-ის დროს." + +#: utils/misc/guc_tables.c:1605 +msgid "Enable input of NULL elements in arrays." +msgstr "მასივებში NULL ტიპის ელემენტების შეყვანის ჩართვა." + +#: 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 "" + +#: utils/misc/guc_tables.c:1622 +msgid "WITH OIDS is no longer supported; this can only be false." +msgstr "WITH OIDS მხარდაჭერილი აღარაა. ის ყოველთვის ნულის ტოლია." + +#: utils/misc/guc_tables.c:1632 +msgid "Start a subprocess to capture stderr output and/or csvlogs into log files." +msgstr "" + +#: utils/misc/guc_tables.c:1641 +msgid "Truncate existing log files of same name during log rotation." +msgstr "" + +#: utils/misc/guc_tables.c:1652 +msgid "Emit information about resource usage in sorting." +msgstr "ინფორმაციის გამოტანა დალაგების მიერ რესურსების გამოყენების შესახებ." + +#: utils/misc/guc_tables.c:1666 +msgid "Generate debugging output for synchronized scanning." +msgstr "სინქრონიზებული სკანირების შესახებ გამართვის ინფორმაციის გამოტანა." + +#: utils/misc/guc_tables.c:1681 +msgid "Enable bounded sorting using heap sort." +msgstr "" + +#: utils/misc/guc_tables.c:1694 +msgid "Emit WAL-related debugging output." +msgstr "'WAL'-თან დაკავშირებული გამართვის ინფორმაციის გამოტანა." + +#: utils/misc/guc_tables.c:1706 +msgid "Shows whether datetimes are integer based." +msgstr "აჩვენებს, არის თუ არა თარიღი და დრო მთელი რიცხვი." + +#: utils/misc/guc_tables.c:1717 +msgid "Sets whether Kerberos and GSSAPI user names should be treated as case-insensitive." +msgstr "იქნება Kerberos-ის და GSSAPI-ის მომხმარებლის სახელები რეგისტრზე-დამოკიდებული, თუ არა." + +#: utils/misc/guc_tables.c:1727 +msgid "Sets whether GSSAPI delegation should be accepted from the client." +msgstr "მივიღებთ კლიენტიდან GSSAPI-ის დელეგაციას, თუ არა." + +#: utils/misc/guc_tables.c:1737 +msgid "Warn about backslash escapes in ordinary string literals." +msgstr "" + +#: utils/misc/guc_tables.c:1747 +msgid "Causes '...' strings to treat backslashes literally." +msgstr "" + +#: utils/misc/guc_tables.c:1758 +msgid "Enable synchronized sequential scans." +msgstr "სინქრონული მიმდევრობითი სკანირებების ჩართვა." + +#: utils/misc/guc_tables.c:1768 +msgid "Sets whether to include or exclude transaction with recovery target." +msgstr "აყენებს იქნება ჩასმული ტრანზაქცია აღდგენის სამიზნესთან ერთად, თუ არა." + +#: utils/misc/guc_tables.c:1778 +msgid "Allows connections and queries during recovery." +msgstr "აღდგენისას მიერთებების და მოთხოვნების დაშვება." + +#: utils/misc/guc_tables.c:1788 +msgid "Allows feedback from a hot standby to the primary that will avoid query conflicts." +msgstr "" + +#: utils/misc/guc_tables.c:1798 +msgid "Shows whether hot standby is currently active." +msgstr "აჩვენებს, ამჟამად ცხელი მომლოდინე აქტიურია, თუ არა." + +#: utils/misc/guc_tables.c:1809 +msgid "Allows modifications of the structure of system tables." +msgstr "სისტემური ცხრილების სტრუქტურის ცვლილების დაშვება." + +#: utils/misc/guc_tables.c:1820 +msgid "Disables reading from system indexes." +msgstr "სისტემური ინდექსებიდან კითხვის გამორთვა." + +#: 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 "ის ინდექსების განახლებას ხელს არ უშლის, ასე რომ, გამოსაყენებლად უსაფრთხოა. ყველაზე ცუდი, რაც სჭირს, ნელია." + +#: utils/misc/guc_tables.c:1832 +msgid "Allows tablespaces directly inside pg_tblspc, for testing." +msgstr "გამოსაცდელად ცხრილის სივრცეების პირდაპირ ph_tblspc-ში დაშვება." + +#: utils/misc/guc_tables.c:1843 +msgid "Enables backward compatibility mode for privilege checks on large objects." +msgstr "დიდი ობიექტების პრივილეგიების შემოწმების წინა ვერსიებთან თავსებადი რეჟიმის ჩართვა." + +#: 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 "PostgreSQL-ის 9.0 და უფრო ძველ ვერსიებთან თავსებადობისთვის პრივილეგიების შემოწმების გამოტოვება, დიდი ობიექტების კითხვისა და შეცვლისას." + +#: utils/misc/guc_tables.c:1854 +msgid "When generating SQL fragments, quote all identifiers." +msgstr "SQL ფრაგმენტების გენერაციისას ყველა იდენტიფიკატორის ბრჭყალებში ჩასმა." + +#: utils/misc/guc_tables.c:1864 +msgid "Shows whether data checksums are turned on for this cluster." +msgstr "აჩვენებს, ამ კლასტერზე მონაცემების საკონტროლო ჯამები ჩართულია, თუ არა." + +#: utils/misc/guc_tables.c:1875 +msgid "Add sequence number to syslog messages to avoid duplicate suppression." +msgstr "დუბლირებული შეტყობინებების შეკვეცის თავიდან ასაცილებლად ჟურნალში გაგზავნილი შეტყობინებებისთვის მიმდევრობის ნომრის დამატება." + +#: utils/misc/guc_tables.c:1885 +msgid "Split messages sent to syslog by lines and to fit into 1024 bytes." +msgstr "Syslog-ისთვის გაგზავნილი შეტყობინებების დაჭრა და 1024 ბაიტში ჩატევა." + +#: utils/misc/guc_tables.c:1895 +msgid "Controls whether Gather and Gather Merge also run subplans." +msgstr "" + +#: utils/misc/guc_tables.c:1896 +msgid "Should gather nodes also run subplans or just gather tuples?" +msgstr "" + +#: utils/misc/guc_tables.c:1906 +msgid "Allow JIT compilation." +msgstr "JIT კომპილაციის ჩართვა." + +#: utils/misc/guc_tables.c:1917 +msgid "Register JIT-compiled functions with debugger." +msgstr "JIT-ით კომპილირებული ფუნქციების გამმართველთან რეგისტრაცია." + +#: utils/misc/guc_tables.c:1934 +msgid "Write out LLVM bitcode to facilitate JIT debugging." +msgstr "" + +#: utils/misc/guc_tables.c:1945 +msgid "Allow JIT compilation of expressions." +msgstr "გამოსახულებების JIT კომპილაციის დაშვება." + +#: utils/misc/guc_tables.c:1956 +msgid "Register JIT-compiled functions with perf profiler." +msgstr "" + +#: utils/misc/guc_tables.c:1973 +msgid "Allow JIT compilation of tuple deforming." +msgstr "კორტეჟის დეფორმაციის JIT კომპილაციის დაშვება." + +#: utils/misc/guc_tables.c:1984 +msgid "Whether to continue running after a failure to sync data files." +msgstr "გაგრძელდება მუშაობა მონაცემის ფაილების სინქრონიზაციის ჩავარდნის შემდეგ, თუ არა." + +#: 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 "" + +#: utils/misc/guc_tables.c:2011 +msgid "Sets the amount of time to wait before forcing a switch to the next WAL file." +msgstr "" + +#: utils/misc/guc_tables.c:2022 +msgid "Sets the amount of time to wait after authentication on connection startup." +msgstr "" + +#: utils/misc/guc_tables.c:2024 utils/misc/guc_tables.c:2658 +msgid "This allows attaching a debugger to the process." +msgstr "პროცესისთვის გამმართველის მიბმის უფლების მიცემა." + +#: utils/misc/guc_tables.c:2033 +msgid "Sets the default statistics target." +msgstr "სტატისტიკის ნაგულისხმები სამიზნის დაყენება." + +#: 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 "" + +#: utils/misc/guc_tables.c:2043 +msgid "Sets the FROM-list size beyond which subqueries are not collapsed." +msgstr "" + +#: 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 "" + +#: utils/misc/guc_tables.c:2056 +msgid "Sets the FROM-list size beyond which JOIN constructs are not flattened." +msgstr "" + +#: utils/misc/guc_tables.c:2058 +msgid "The planner will flatten explicit JOIN constructs into lists of FROM items whenever a list of no more than this many items would result." +msgstr "" + +#: utils/misc/guc_tables.c:2069 +msgid "Sets the threshold of FROM items beyond which GEQO is used." +msgstr "" + +#: utils/misc/guc_tables.c:2079 +msgid "GEQO: effort is used to set the default for other GEQO parameters." +msgstr "" + +#: utils/misc/guc_tables.c:2089 +msgid "GEQO: number of individuals in the population." +msgstr "GEQO: ინდივიდების რაოდენობა პოპულაციაში." + +#: utils/misc/guc_tables.c:2090 utils/misc/guc_tables.c:2100 +msgid "Zero selects a suitable default value." +msgstr "ნული შესაბამის ნაგულისხმებ მნიშვნელობას აირჩევს." + +#: utils/misc/guc_tables.c:2099 +msgid "GEQO: number of iterations of the algorithm." +msgstr "GEQO: ალგორითმის იტერაციების რაოდენობა." + +#: utils/misc/guc_tables.c:2111 +msgid "Sets the time to wait on a lock before checking for deadlock." +msgstr "" + +#: 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 "" + +#: 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 "" + +#: utils/misc/guc_tables.c:2144 +msgid "Sets the minimum delay for applying changes during recovery." +msgstr "აღდგენისას ცვლილებების გადატარების მინიმალური დაყოვნების დაყენება." + +#: utils/misc/guc_tables.c:2155 +msgid "Sets the maximum interval between WAL receiver status reports to the sending server." +msgstr "" + +#: utils/misc/guc_tables.c:2166 +msgid "Sets the maximum wait time to receive data from the sending server." +msgstr "" + +#: utils/misc/guc_tables.c:2177 +msgid "Sets the maximum number of concurrent connections." +msgstr "აყენებს ერთდროული შეერთებების მაქსიმალურ რაოდენობას." + +#: utils/misc/guc_tables.c:2188 +msgid "Sets the number of connection slots reserved for superusers." +msgstr "აყენებს ზემომხმარებლებისთვის რეზერვირებული შეერთების სლოტებს." + +#: utils/misc/guc_tables.c:2198 +msgid "Sets the number of connection slots reserved for roles with privileges of pg_use_reserved_connections." +msgstr "" + +#: utils/misc/guc_tables.c:2209 +msgid "Amount of dynamic shared memory reserved at startup." +msgstr "გაშვებისას დარეზერვებული დინამიური გაზიარებული მეხსიერების რაოდენობა." + +#: utils/misc/guc_tables.c:2224 +msgid "Sets the number of shared memory buffers used by the server." +msgstr "სერვერის მიერ გამოყენებული გაზიარებული მეხსიერების ბაფერების რაოდენობის დაყენება." + +#: utils/misc/guc_tables.c:2235 +msgid "Sets the buffer pool size for VACUUM, ANALYZE, and autovacuum." +msgstr "ბუფერი პულის ზომა VACUUM, ANALYZE და ავტომომტვერსასრუტებისთვის." + +#: 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 "" + +#: utils/misc/guc_tables.c:2257 +msgid "Shows the number of huge pages needed for the main shared memory area." +msgstr "" + +#: utils/misc/guc_tables.c:2258 +msgid "-1 indicates that the value could not be determined." +msgstr "-1 ნიშნავს, რომ მნიშვნელობა ვერ განისაზღვრა." + +#: utils/misc/guc_tables.c:2268 +msgid "Sets the maximum number of temporary buffers used by each session." +msgstr "" + +#: utils/misc/guc_tables.c:2279 +msgid "Sets the TCP port the server listens on." +msgstr "TCP პორტის მითითება, რომელზეც სერვერი უსმენს." + +#: utils/misc/guc_tables.c:2289 +msgid "Sets the access permissions of the Unix-domain socket." +msgstr "Unix-დომენის სოკეტზე წვდომის უფლებების დაყენება." + +#: 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 "" + +#: utils/misc/guc_tables.c:2304 +msgid "Sets the file permissions for log files." +msgstr "ჟურნალის ფაილების წვდომების დაყენება." + +#: 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 "" + +#: utils/misc/guc_tables.c:2319 +msgid "Shows the mode of the data directory." +msgstr "მონაცემების საქაღალდის წვდომის ჩვენება." + +#: 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 "" + +#: utils/misc/guc_tables.c:2333 +msgid "Sets the maximum memory to be used for query workspaces." +msgstr "მოთხოვნის სამუშაო სივრცის მიერ გამოყენებული მეხსიერების მაქსიმალური რაოდენობის დაყენება." + +#: 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 "" + +#: utils/misc/guc_tables.c:2346 +msgid "Sets the maximum memory to be used for maintenance operations." +msgstr "ტექნიკური ოპერაციებისთვის გამოყენებული მეხსიერების მაქსიმალური რაოდენობის დაყენება." + +#: utils/misc/guc_tables.c:2347 +msgid "This includes operations such as VACUUM and CREATE INDEX." +msgstr "მოიცავს ისეთ ოპერაციებს, როგორებიცაა VACUUM და CREATE INDEX." + +#: utils/misc/guc_tables.c:2357 +msgid "Sets the maximum memory to be used for logical decoding." +msgstr "ლოგიკური გაშიფვრისთვის გამოყენებული მეხსიერების მაქსიმალური რაოდენობის დაყენება." + +#: utils/misc/guc_tables.c:2358 +msgid "This much memory can be used by each internal reorder buffer before spilling to disk." +msgstr "" + +#: utils/misc/guc_tables.c:2374 +msgid "Sets the maximum stack depth, in kilobytes." +msgstr "სტეკის მაქსიმალური სიღრმე კილობაიტებში." + +#: utils/misc/guc_tables.c:2385 +msgid "Limits the total size of all temporary files used by each process." +msgstr "" + +#: utils/misc/guc_tables.c:2386 +msgid "-1 means no limit." +msgstr "-1 ნიშნავს ლიმიტის გარეშე." + +#: utils/misc/guc_tables.c:2396 +msgid "Vacuum cost for a page found in the buffer cache." +msgstr "ბაფერის ქეშში ნაპოვნი გვერდის მომტვერსასრუტების ფასი." + +#: utils/misc/guc_tables.c:2406 +msgid "Vacuum cost for a page not found in the buffer cache." +msgstr "ბაფერის ქეშში გვერდის მომტვერსასრუტების ფასი ნაპოვნი არაა." + +#: utils/misc/guc_tables.c:2416 +msgid "Vacuum cost for a page dirtied by vacuum." +msgstr "" + +#: utils/misc/guc_tables.c:2426 +msgid "Vacuum cost amount available before napping." +msgstr "" + +#: utils/misc/guc_tables.c:2436 +msgid "Vacuum cost amount available before napping, for autovacuum." +msgstr "" + +#: utils/misc/guc_tables.c:2446 +msgid "Sets the maximum number of simultaneously open files for each server process." +msgstr "" + +#: utils/misc/guc_tables.c:2459 +msgid "Sets the maximum number of simultaneously prepared transactions." +msgstr "" + +#: utils/misc/guc_tables.c:2470 +msgid "Sets the minimum OID of tables for tracking locks." +msgstr "" + +#: utils/misc/guc_tables.c:2471 +msgid "Is used to avoid output on system tables." +msgstr "გამოიყენება სისტემურ ცხრილებზე გამოტანის თავიდან ასაცილებლად." + +#: utils/misc/guc_tables.c:2480 +msgid "Sets the OID of the table with unconditionally lock tracing." +msgstr "" + +#: utils/misc/guc_tables.c:2492 +msgid "Sets the maximum allowed duration of any statement." +msgstr "აყენებს ნებისმიერი გამოსახულების დაშვებულ მაქსიმალურ ხანგრძლივობას." + +#: utils/misc/guc_tables.c:2493 utils/misc/guc_tables.c:2504 utils/misc/guc_tables.c:2515 utils/misc/guc_tables.c:2526 +msgid "A value of 0 turns off the timeout." +msgstr "0 მოლოდინის ვადას გამორთავს." + +#: utils/misc/guc_tables.c:2503 +msgid "Sets the maximum allowed duration of any wait for a lock." +msgstr "აყენებს ბლოკირების ნებისმიერი მოლოდინისთვის დაშვებულ მაქსიმალურ ხანგრძლივობას." + +#: utils/misc/guc_tables.c:2514 +msgid "Sets the maximum allowed idle time between queries, when in a transaction." +msgstr "აყენებს მაქსიმალურ დაყოვნებას მოთხოვნებს შორის, როცა ის ტრანზაქციაშია." + +#: utils/misc/guc_tables.c:2525 +msgid "Sets the maximum allowed idle time between queries, when not in a transaction." +msgstr "აყენებს მაქსიმალურ დაყოვნებას მოთხოვნებს შორის, როცა ის ტრანზაქციაში არაა." + +#: utils/misc/guc_tables.c:2536 +msgid "Minimum age at which VACUUM should freeze a table row." +msgstr "" + +#: utils/misc/guc_tables.c:2546 +msgid "Age at which VACUUM should scan whole table to freeze tuples." +msgstr "" + +#: utils/misc/guc_tables.c:2556 +msgid "Minimum age at which VACUUM should freeze a MultiXactId in a table row." +msgstr "" + +#: utils/misc/guc_tables.c:2566 +msgid "Multixact age at which VACUUM should scan whole table to freeze tuples." +msgstr "" + +#: utils/misc/guc_tables.c:2576 +msgid "Age at which VACUUM should trigger failsafe to avoid a wraparound outage." +msgstr "" + +#: utils/misc/guc_tables.c:2585 +msgid "Multixact age at which VACUUM should trigger failsafe to avoid a wraparound outage." +msgstr "" + +#: utils/misc/guc_tables.c:2598 +msgid "Sets the maximum number of locks per transaction." +msgstr "ტრანზაქციაში ბლოკების მაქსიმალური რაოდენობის დაყენება." + +#: utils/misc/guc_tables.c:2599 +msgid "The shared lock table is sized on the assumption that at most max_locks_per_transaction objects per server process or prepared transaction will need to be locked at any one time." +msgstr "" + +#: utils/misc/guc_tables.c:2610 +msgid "Sets the maximum number of predicate locks per transaction." +msgstr "" + +#: utils/misc/guc_tables.c:2611 +msgid "The shared predicate lock table is sized on the assumption that at most max_pred_locks_per_transaction objects per server process or prepared transaction will need to be locked at any one time." +msgstr "" + +#: utils/misc/guc_tables.c:2622 +msgid "Sets the maximum number of predicate-locked pages and tuples per relation." +msgstr "" + +#: 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 "" + +#: utils/misc/guc_tables.c:2633 +msgid "Sets the maximum number of predicate-locked tuples per page." +msgstr "" + +#: 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 "" + +#: utils/misc/guc_tables.c:2644 +msgid "Sets the maximum allowed time to complete client authentication." +msgstr "კლიენტის ავთენტიკაციის დასრულებისთვის დაშვებული მაქსიმალური დროის დაყენება." + +#: utils/misc/guc_tables.c:2656 +msgid "Sets the amount of time to wait before authentication on connection startup." +msgstr "" + +#: utils/misc/guc_tables.c:2668 +msgid "Buffer size for reading ahead in the WAL during recovery." +msgstr "აღდგენისას WAL-ში წინასწარ-კითხვის ბაფერის ზომა." + +#: utils/misc/guc_tables.c:2669 +msgid "Maximum distance to read ahead in the WAL to prefetch referenced data blocks." +msgstr "" + +#: utils/misc/guc_tables.c:2679 +msgid "Sets the size of WAL files held for standby servers." +msgstr "მომლოდინე სერვერებისთვის WAL ფაილებისთვის შენახული ზომის დაყენება." + +#: utils/misc/guc_tables.c:2690 +msgid "Sets the minimum size to shrink the WAL to." +msgstr "WAL-ის შემცირების მინიმალური ზომის დაყენება." + +#: utils/misc/guc_tables.c:2702 +msgid "Sets the WAL size that triggers a checkpoint." +msgstr "აყენებს WAL-ის ზომას, რომელიც საკონტროლო წერტილს ატრიგერებს." + +#: utils/misc/guc_tables.c:2714 +msgid "Sets the maximum time between automatic WAL checkpoints." +msgstr "ავტომატური WAL საკონტროლო წერტილებს შორის მაქსიმალური დროის დაყენება." + +#: utils/misc/guc_tables.c:2725 +msgid "Sets the maximum time before warning if checkpoints triggered by WAL volume happen too frequently." +msgstr "" + +#: 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 "" + +#: 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 "" + +#: utils/misc/guc_tables.c:2751 +msgid "Sets the number of disk-page buffers in shared memory for WAL." +msgstr "" + +#: utils/misc/guc_tables.c:2762 +msgid "Time between WAL flushes performed in the WAL writer." +msgstr "" + +#: utils/misc/guc_tables.c:2773 +msgid "Amount of WAL written out by WAL writer that triggers a flush." +msgstr "" + +#: utils/misc/guc_tables.c:2784 +msgid "Minimum size of new file to fsync instead of writing WAL." +msgstr "" + +#: utils/misc/guc_tables.c:2795 +msgid "Sets the maximum number of simultaneously running WAL sender processes." +msgstr "" + +#: utils/misc/guc_tables.c:2806 +msgid "Sets the maximum number of simultaneously defined replication slots." +msgstr "" + +#: utils/misc/guc_tables.c:2816 +msgid "Sets the maximum WAL size that can be reserved by replication slots." +msgstr "" + +#: 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 "" + +#: utils/misc/guc_tables.c:2829 +msgid "Sets the maximum time to wait for WAL replication." +msgstr "WAL რეპლიკაციის მოლოდინის მაქსიმალური ვადის დაყენება." + +#: utils/misc/guc_tables.c:2840 +msgid "Sets the delay in microseconds between transaction commit and flushing WAL to disk." +msgstr "" + +#: utils/misc/guc_tables.c:2852 +msgid "Sets the minimum number of concurrent open transactions required before performing commit_delay." +msgstr "" + +#: utils/misc/guc_tables.c:2863 +msgid "Sets the number of digits displayed for floating-point values." +msgstr "" + +#: 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 "" + +#: 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 "" + +#: utils/misc/guc_tables.c:2879 +msgid "Zero logs a sample of all queries. -1 turns this feature off." +msgstr "" + +#: utils/misc/guc_tables.c:2889 +msgid "Sets the minimum execution time above which all statements will be logged." +msgstr "" + +#: utils/misc/guc_tables.c:2891 +msgid "Zero prints all queries. -1 turns this feature off." +msgstr "0-ს ყველა მოთხოვნა გამოაქვს, -1 გამორთავს ამ ფუნქციას." + +#: utils/misc/guc_tables.c:2901 +msgid "Sets the minimum execution time above which autovacuum actions will be logged." +msgstr "" + +#: utils/misc/guc_tables.c:2903 +msgid "Zero prints all actions. -1 turns autovacuum logging off." +msgstr "0-ს ყველა ქმედება გამოაქვს. -1 გამორთავს ავტომომტვერსასრუტებას." + +#: utils/misc/guc_tables.c:2913 +msgid "Sets the maximum length in bytes of data logged for bind parameter values when logging statements." +msgstr "" + +#: utils/misc/guc_tables.c:2915 utils/misc/guc_tables.c:2927 +msgid "-1 to print values in full." +msgstr "-1 მნიშვნელობების სრულად გამოსატანად." + +#: 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 "" + +#: utils/misc/guc_tables.c:2937 +msgid "Background writer sleep time between rounds." +msgstr "" + +#: utils/misc/guc_tables.c:2948 +msgid "Background writer maximum number of LRU pages to flush per round." +msgstr "" + +#: utils/misc/guc_tables.c:2971 +msgid "Number of simultaneous requests that can be handled efficiently by the disk subsystem." +msgstr "" + +#: utils/misc/guc_tables.c:2985 +msgid "A variant of effective_io_concurrency that is used for maintenance work." +msgstr "" + +#: utils/misc/guc_tables.c:3011 +msgid "Maximum number of concurrent worker processes." +msgstr "ერთდროულად გაშვებული დამხმარე პროცესების მაქსიმალური რაოდენობა." + +#: utils/misc/guc_tables.c:3023 +msgid "Maximum number of logical replication worker processes." +msgstr "ლოგიკური რეპლიკაციის დამხმარე პროცესების მაქსიმალური რაოდენობა." + +#: utils/misc/guc_tables.c:3035 +msgid "Maximum number of table synchronization workers per subscription." +msgstr "თითოეული გამოწერის ცხრილის სინქრონიზაციის დამხმარე პროცესების მაქსიმალური რაოდენობა." + +#: utils/misc/guc_tables.c:3047 +msgid "Maximum number of parallel apply workers per subscription." +msgstr "თითოეული გამოწერის პარალელური გადატარების დამხმარე პროცესების მაქსიმალური რაოდენობა." + +#: utils/misc/guc_tables.c:3057 +msgid "Sets the amount of time to wait before forcing log file rotation." +msgstr "" + +#: utils/misc/guc_tables.c:3069 +msgid "Sets the maximum size a log file can reach before being rotated." +msgstr "" + +#: utils/misc/guc_tables.c:3081 +msgid "Shows the maximum number of function arguments." +msgstr "ფუნქციის არგუმენტების მაქსიმალური რაოდენობის ჩვენება." + +#: utils/misc/guc_tables.c:3092 +msgid "Shows the maximum number of index keys." +msgstr "ინდექსის გასაღებების მაქსიმალური რაოდენობის ჩვენება." + +#: utils/misc/guc_tables.c:3103 +msgid "Shows the maximum identifier length." +msgstr "იდენტიფიკატორის მაქსიმალური სიგრძის ჩვენება." + +#: utils/misc/guc_tables.c:3114 +msgid "Shows the size of a disk block." +msgstr "დისკის ბლოკის ზომის ჩვენება." + +#: utils/misc/guc_tables.c:3125 +msgid "Shows the number of pages per disk file." +msgstr "ფაილში არსებული გვერდების რაოდენობის ჩვენება." + +#: utils/misc/guc_tables.c:3136 +msgid "Shows the block size in the write ahead log." +msgstr "წინასწარ-ჩაწერადი ჟურნალის ბლოკის ზომის ჩვენება." + +#: utils/misc/guc_tables.c:3147 +msgid "Sets the time to wait before retrying to retrieve WAL after a failed attempt." +msgstr "" + +#: utils/misc/guc_tables.c:3159 +msgid "Shows the size of write ahead log segments." +msgstr "წინასწარ-ჩაწერადი ჟურნალის სეგმენტების ზომის ჩვენება." + +#: utils/misc/guc_tables.c:3172 +msgid "Time to sleep between autovacuum runs." +msgstr "ძილის დრო ავტომომტვერსასრუტებების გაშვებებს შორის." + +#: utils/misc/guc_tables.c:3182 +msgid "Minimum number of tuple updates or deletes prior to vacuum." +msgstr "" + +#: utils/misc/guc_tables.c:3191 +msgid "Minimum number of tuple inserts prior to vacuum, or -1 to disable insert vacuums." +msgstr "" + +#: utils/misc/guc_tables.c:3200 +msgid "Minimum number of tuple inserts, updates, or deletes prior to analyze." +msgstr "" + +#: utils/misc/guc_tables.c:3210 +msgid "Age at which to autovacuum a table to prevent transaction ID wraparound." +msgstr "" + +#: utils/misc/guc_tables.c:3222 +msgid "Multixact age at which to autovacuum a table to prevent multixact wraparound." +msgstr "" + +#: utils/misc/guc_tables.c:3232 +msgid "Sets the maximum number of simultaneously running autovacuum worker processes." +msgstr "ერთდროულად გაშვებული ავტომომტვერსასრუტების დამხმარე პროცესების რაოდენობის დაყენება." + +#: utils/misc/guc_tables.c:3242 +msgid "Sets the maximum number of parallel processes per maintenance operation." +msgstr "თითოეული რემონტის ოპერაციისთვის პარალელური პროცესების მაქსიმალური რაოდენობის დაყენება." + +#: utils/misc/guc_tables.c:3252 +msgid "Sets the maximum number of parallel processes per executor node." +msgstr "თითოეული შემსრულებელი კვანძისთვის პარალელურად გაშვებული პროცესების მაქსიმალური რაოდენობის დაყენება." + +#: utils/misc/guc_tables.c:3263 +msgid "Sets the maximum number of parallel workers that can be active at one time." +msgstr "ერთდროულად აქტიური პარალელური დამხმარე პროცესების მაქსიმალური რაოდენობის დაყენება." + +#: utils/misc/guc_tables.c:3274 +msgid "Sets the maximum memory to be used by each autovacuum worker process." +msgstr "თითოეული ავტომომტვერსასრუტების დამხმარე პროცესის მიერ გამოყენებული მაქსიმალური მეხსიერების რაოდენობის დაყენება." + +#: utils/misc/guc_tables.c:3285 +msgid "Time before a snapshot is too old to read pages changed after the snapshot was taken." +msgstr "" + +#: utils/misc/guc_tables.c:3286 +msgid "A value of -1 disables this feature." +msgstr "მნიშვნელობა -1 გამორთავს ამ ფუნქციას." + +#: utils/misc/guc_tables.c:3296 +msgid "Time between issuing TCP keepalives." +msgstr "დაყოვნება TCP keepalive პაკეტებს შორის." + +#: 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 "სისტემური ნაგულისხმები მნიშვნელობის გამოსაყენებლად მიუთითეთ 0." + +#: utils/misc/guc_tables.c:3307 +msgid "Time between TCP keepalive retransmits." +msgstr "დაყოვნება TCP keepalive პაკეტების გადაგზავნებს შორის." + +#: utils/misc/guc_tables.c:3318 +msgid "SSL renegotiation is no longer supported; this can only be 0." +msgstr "SSL-ის თავიდან დაყენება უკვე მხარდაუჭერელია. შეგიძლიათ დააყენოთ მხოლოდ 0." + +#: utils/misc/guc_tables.c:3329 +msgid "Maximum number of TCP keepalive retransmits." +msgstr "TCP Keepalive-ების გადაგზავნის მაქსიმალური რაოდენობა." + +#: 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 "" + +#: utils/misc/guc_tables.c:3341 +msgid "Sets the maximum allowed result for exact search by GIN." +msgstr "" + +#: utils/misc/guc_tables.c:3352 +msgid "Sets the planner's assumption about the total size of the data caches." +msgstr "" + +#: 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 "" + +#: utils/misc/guc_tables.c:3364 +msgid "Sets the minimum amount of table data for a parallel scan." +msgstr "ცხრილის მონაცემების მინიმალური რაოდენობა პარალელური სკანირებისთვის." + +#: 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 "" + +#: utils/misc/guc_tables.c:3375 +msgid "Sets the minimum amount of index data for a parallel scan." +msgstr "" + +#: 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 "" + +#: utils/misc/guc_tables.c:3387 +msgid "Shows the server version as an integer." +msgstr "სერვერის ვერსიას, როგორც მთელ რიცხვს, ისე აჩვენებს." + +#: utils/misc/guc_tables.c:3398 +msgid "Log the use of temporary files larger than this number of kilobytes." +msgstr "მითითებული რაოდენობა კილობაიტზე უფრო დიდი დროებითი ფაილების გამოყენების ჟურნალში ჩაწერა." + +#: utils/misc/guc_tables.c:3399 +msgid "Zero logs all files. The default is -1 (turning this feature off)." +msgstr "" + +#: utils/misc/guc_tables.c:3409 +msgid "Sets the size reserved for pg_stat_activity.query, in bytes." +msgstr "'pg_stat_activity.query'-სთვის დაცული მეხსიერების ზომის დაყნება, ბაიტებში." + +#: utils/misc/guc_tables.c:3420 +msgid "Sets the maximum size of the pending list for GIN index." +msgstr "" + +#: utils/misc/guc_tables.c:3431 +msgid "TCP user timeout." +msgstr "TCP მომხმარებლის ლოდინის ვადა." + +#: utils/misc/guc_tables.c:3442 +msgid "The size of huge page that should be requested." +msgstr "მოსათხოვი უზარმაზარი გვერდების (hugepages) ზომა." + +#: utils/misc/guc_tables.c:3453 +msgid "Aggressively flush system caches for debugging purposes." +msgstr "" + +#: utils/misc/guc_tables.c:3476 +msgid "Sets the time interval between checks for disconnection while running queries." +msgstr "" + +#: utils/misc/guc_tables.c:3487 +msgid "Time between progress updates for long-running startup operations." +msgstr "" + +#: utils/misc/guc_tables.c:3489 +msgid "0 turns this feature off." +msgstr "0 გამორთავს ამ ფუნქციას." + +#: utils/misc/guc_tables.c:3499 +msgid "Sets the iteration count for SCRAM secret generation." +msgstr "აყენებს იტერაციების რიცხვს SCRAM-ის პაროლის გენერაციისთვის." + +#: utils/misc/guc_tables.c:3519 +msgid "Sets the planner's estimate of the cost of a sequentially fetched disk page." +msgstr "" + +#: utils/misc/guc_tables.c:3530 +msgid "Sets the planner's estimate of the cost of a nonsequentially fetched disk page." +msgstr "" + +#: utils/misc/guc_tables.c:3541 +msgid "Sets the planner's estimate of the cost of processing each tuple (row)." +msgstr "" + +#: 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 "" + +#: utils/misc/guc_tables.c:3563 +msgid "Sets the planner's estimate of the cost of processing each operator or function call." +msgstr "" + +#: 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 "" + +#: utils/misc/guc_tables.c:3585 +msgid "Sets the planner's estimate of the cost of starting up worker processes for parallel query." +msgstr "" + +#: utils/misc/guc_tables.c:3597 +msgid "Perform JIT compilation if query is more expensive." +msgstr "თუ მოთხოვნა უფრო ძვირია, JIT კომპილაციის შესრულება." + +#: utils/misc/guc_tables.c:3598 +msgid "-1 disables JIT compilation." +msgstr "-1 JIT კომპილაციას გამორთავს." + +#: utils/misc/guc_tables.c:3608 +msgid "Optimize JIT-compiled functions if query is more expensive." +msgstr "" + +#: utils/misc/guc_tables.c:3609 +msgid "-1 disables optimization." +msgstr "-1 ოპტიმიზაციას გამორთავს." + +#: utils/misc/guc_tables.c:3619 +msgid "Perform JIT inlining if query is more expensive." +msgstr "" + +#: utils/misc/guc_tables.c:3620 +msgid "-1 disables inlining." +msgstr "-1 გამორთავს კოდის ჩადგმას." + +#: 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 "" + +#: utils/misc/guc_tables.c:3642 +msgid "Sets the planner's estimate of the average size of a recursive query's working table." +msgstr "" + +#: utils/misc/guc_tables.c:3654 +msgid "GEQO: selective pressure within the population." +msgstr "GEQO: შერჩევითი ზეწოლა პოპულაციაში." + +#: utils/misc/guc_tables.c:3665 +msgid "GEQO: seed for random path selection." +msgstr "" + +#: utils/misc/guc_tables.c:3676 +msgid "Multiple of work_mem to use for hash tables." +msgstr "" + +#: utils/misc/guc_tables.c:3687 +msgid "Multiple of the average buffer usage to free per round." +msgstr "" + +#: utils/misc/guc_tables.c:3697 +msgid "Sets the seed for random-number generation." +msgstr "" + +#: utils/misc/guc_tables.c:3708 +msgid "Vacuum cost delay in milliseconds." +msgstr "დამტვერსასრუტების დაყოვნება მილიწამებში." + +#: utils/misc/guc_tables.c:3719 +msgid "Vacuum cost delay in milliseconds, for autovacuum." +msgstr "დამტვერსასრუტების დაყოვნება მილიწამებში, ავტოდამტვერსასრუტებისთვის." + +#: utils/misc/guc_tables.c:3730 +msgid "Number of tuple updates or deletes prior to vacuum as a fraction of reltuples." +msgstr "" + +#: utils/misc/guc_tables.c:3740 +msgid "Number of tuple inserts prior to vacuum as a fraction of reltuples." +msgstr "" + +#: utils/misc/guc_tables.c:3750 +msgid "Number of tuple inserts, updates, or deletes prior to analyze as a fraction of reltuples." +msgstr "" + +#: utils/misc/guc_tables.c:3760 +msgid "Time spent flushing dirty buffers during checkpoint, as fraction of checkpoint interval." +msgstr "" + +#: utils/misc/guc_tables.c:3770 +msgid "Fraction of statements exceeding log_min_duration_sample to be logged." +msgstr "" + +#: utils/misc/guc_tables.c:3771 +msgid "Use a value between 0.0 (never log) and 1.0 (always log)." +msgstr "გამოიყენეთ მნიშვნელობები 0.0-დან (არასოდეს ჩაწერო ჟურნალში) და 1.0-ს (ჟურნალში ყოველთვის ჩაწერა) შუა." + +#: utils/misc/guc_tables.c:3780 +msgid "Sets the fraction of transactions from which to log all statements." +msgstr "ადგენს ტრანზაქციის ნაწილს, რომლის შემდეგაც ყველა ოპერატორი ჟურნალში ჩაიწერება." + +#: 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 "" + +#: utils/misc/guc_tables.c:3800 +msgid "Sets the shell command that will be called to archive a WAL file." +msgstr "" + +#: utils/misc/guc_tables.c:3801 +msgid "This is used only if \"archive_library\" is not set." +msgstr "" + +#: utils/misc/guc_tables.c:3810 +msgid "Sets the library that will be called to archive a WAL file." +msgstr "" + +#: utils/misc/guc_tables.c:3811 +msgid "An empty string indicates that \"archive_command\" should be used." +msgstr "" + +#: utils/misc/guc_tables.c:3820 +msgid "Sets the shell command that will be called to retrieve an archived WAL file." +msgstr "არქივირებული WAL ფაილის მისაღებად გამოსაძახებელი გარსის ბრძანების დაყენება." + +#: utils/misc/guc_tables.c:3830 +msgid "Sets the shell command that will be executed at every restart point." +msgstr "ყოველ გადატვირთვის წერტილზე გასაშვები გარსის ბრძანების დაყენება." + +#: utils/misc/guc_tables.c:3840 +msgid "Sets the shell command that will be executed once at the end of recovery." +msgstr "" + +#: utils/misc/guc_tables.c:3850 +msgid "Specifies the timeline to recover into." +msgstr "აღდგენისთვის დროის მითითება." + +#: utils/misc/guc_tables.c:3860 +msgid "Set to \"immediate\" to end recovery as soon as a consistent state is reached." +msgstr "" + +#: utils/misc/guc_tables.c:3869 +msgid "Sets the transaction ID up to which recovery will proceed." +msgstr "ტრანზაქციის ID, რომლამდეც აღდგენა მოხდება." + +#: utils/misc/guc_tables.c:3878 +msgid "Sets the time stamp up to which recovery will proceed." +msgstr "" + +#: utils/misc/guc_tables.c:3887 +msgid "Sets the named restore point up to which recovery will proceed." +msgstr "" + +#: utils/misc/guc_tables.c:3896 +msgid "Sets the LSN of the write-ahead log location up to which recovery will proceed." +msgstr "" + +#: utils/misc/guc_tables.c:3906 +msgid "Sets the connection string to be used to connect to the sending server." +msgstr "" + +#: utils/misc/guc_tables.c:3917 +msgid "Sets the name of the replication slot to use on the sending server." +msgstr "" + +#: utils/misc/guc_tables.c:3927 +msgid "Sets the client's character set encoding." +msgstr "კლიენტის სიმბოლოების კოდირების დაყენება." + +#: utils/misc/guc_tables.c:3938 +msgid "Controls information prefixed to each log line." +msgstr "ჟურნალის თითოეული ჩანაწერის პრეფიქსის კონტროლი." + +#: utils/misc/guc_tables.c:3939 +msgid "If blank, no prefix is used." +msgstr "თუ ცარიელია, პრეფიქსი არ გამოიყენება." + +#: utils/misc/guc_tables.c:3948 +msgid "Sets the time zone to use in log messages." +msgstr "ჟურნალის შეტყობინებების დასამახსოვრებლად გამოყენებული დროის სარტყლის დაყენება." + +#: utils/misc/guc_tables.c:3958 +msgid "Sets the display format for date and time values." +msgstr "თარიღისა და დროის მნიშვნელობების ფორმატის დაყენება." + +#: utils/misc/guc_tables.c:3959 +msgid "Also controls interpretation of ambiguous date inputs." +msgstr "" + +#: utils/misc/guc_tables.c:3970 +msgid "Sets the default table access method for new tables." +msgstr "ახალი ცხრილების ნაგულისხმები წვდომის უფლებების მითითება." + +#: utils/misc/guc_tables.c:3981 +msgid "Sets the default tablespace to create tables and indexes in." +msgstr "" + +#: utils/misc/guc_tables.c:3982 +msgid "An empty string selects the database's default tablespace." +msgstr "ცარიელი სტრიქონი ბაზის ნაგულისხმებ ცხრილების სივრცეს აირჩევს." + +#: utils/misc/guc_tables.c:3992 +msgid "Sets the tablespace(s) to use for temporary tables and sort files." +msgstr "" + +#: utils/misc/guc_tables.c:4003 +msgid "Sets whether a CREATEROLE user automatically grants the role to themselves, and with which options." +msgstr "" + +#: utils/misc/guc_tables.c:4015 +msgid "Sets the path for dynamically loadable modules." +msgstr "დინამიურად ჩატვირთული მოდულების ბილიკის დაყენება." + +#: 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 "თუ საჭიროა დინამიურად ჩატვირთვადი მოდულის გახსნა და მითითებულ სახელს არ გააჩნია საქაღალდის კომპონენტი (ანუ სახელი არ შეიცავს დახრილ ხაზს), სისტემა მითითებულ ფაილს ამ ბილიკებში მოძებნის." + +#: utils/misc/guc_tables.c:4029 +msgid "Sets the location of the Kerberos server key file." +msgstr "Kerberos-ის სერვერის გასაღების ფაილის მდებარეობის მითითება." + +#: utils/misc/guc_tables.c:4040 +msgid "Sets the Bonjour service name." +msgstr "Bonjour-ის სერვისის სახელის დაყენება." + +#: utils/misc/guc_tables.c:4050 +msgid "Sets the language in which messages are displayed." +msgstr "შეტყობინებების საჩვენებელი ენის მითითება." + +#: utils/misc/guc_tables.c:4060 +msgid "Sets the locale for formatting monetary amounts." +msgstr "თანხის რიცხვების ფორმატირების სტანდარტის დაყენება." + +#: utils/misc/guc_tables.c:4070 +msgid "Sets the locale for formatting numbers." +msgstr "რიცხვების ფორმატირების ენის დაყენება." + +#: utils/misc/guc_tables.c:4080 +msgid "Sets the locale for formatting date and time values." +msgstr "თარიღისა და დროის ფორმატირების ენის დაყენება." + +#: utils/misc/guc_tables.c:4090 +msgid "Lists shared libraries to preload into each backend." +msgstr "თითოეული უკანაბოლოსთვის გაშვებამდე ჩასატვირთი გაზიარებული ბიბლიოთეკების სია." + +#: utils/misc/guc_tables.c:4101 +msgid "Lists shared libraries to preload into server." +msgstr "სერვერის გაშვებამდე ჩასატვირთი გაზიარებული ბიბლიოთეკების სია." + +#: utils/misc/guc_tables.c:4112 +msgid "Lists unprivileged shared libraries to preload into each backend." +msgstr "თითოეული უკანაბოლოსთვის გაშვებამდე ჩასატვირთი არაპრივილეგირებული გაზიარებული ბიბლიოთეკების სია." + +#: utils/misc/guc_tables.c:4123 +msgid "Sets the schema search order for names that are not schema-qualified." +msgstr "" + +#: utils/misc/guc_tables.c:4135 +msgid "Shows the server (database) character set encoding." +msgstr "სერვერის (ბაზის) სიმბოლოების კოდირების ჩვენება." + +#: utils/misc/guc_tables.c:4147 +msgid "Shows the server version." +msgstr "სერვერის ვერსიის ჩვენება." + +#: utils/misc/guc_tables.c:4159 +msgid "Sets the current role." +msgstr "მიმდინარე როლის დაყენება." + +#: utils/misc/guc_tables.c:4171 +msgid "Sets the session user name." +msgstr "სესიის მომხმარებლი სახელის დაყენება." + +#: utils/misc/guc_tables.c:4182 +msgid "Sets the destination for server log output." +msgstr "სერვერის ჟურნალის გამოტანის სამიზნის დაყენება." + +#: utils/misc/guc_tables.c:4183 +msgid "Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", \"jsonlog\", and \"eventlog\", depending on the platform." +msgstr "" + +#: utils/misc/guc_tables.c:4194 +msgid "Sets the destination directory for log files." +msgstr "ჟურნალის ფაილების საქაღალდის დაყენება." + +#: utils/misc/guc_tables.c:4195 +msgid "Can be specified as relative to the data directory or as absolute path." +msgstr "" + +#: utils/misc/guc_tables.c:4205 +msgid "Sets the file name pattern for log files." +msgstr "ჟურნალის ფაილების სახელის შაბლონის დაყენება." + +#: utils/misc/guc_tables.c:4216 +msgid "Sets the program name used to identify PostgreSQL messages in syslog." +msgstr "Syslog-ში PostgreSQL-ის შეტყობინებების იდენტიფიკატორი პროგრამის სახელის დაყენება." + +#: utils/misc/guc_tables.c:4227 +msgid "Sets the application name used to identify PostgreSQL messages in the event log." +msgstr "მოვლენების ჟურნალში PostgreSQL-ის შეტყობინებების იდენტიფიკატორი აპლიკაციის სახელის დაყენება." + +#: utils/misc/guc_tables.c:4238 +msgid "Sets the time zone for displaying and interpreting time stamps." +msgstr "" + +#: utils/misc/guc_tables.c:4248 +msgid "Selects a file of time zone abbreviations." +msgstr "დროის სარტყლების აბრევიატურების ფაილის მითითება." + +#: utils/misc/guc_tables.c:4258 +msgid "Sets the owning group of the Unix-domain socket." +msgstr "Unix-დომენის სოკეტის მფლობლის ჯგუფის დაყენება." + +#: utils/misc/guc_tables.c:4259 +msgid "The owning user of the socket is always the user that starts the server." +msgstr "სოკეტის მფლობელი მომხმარებელი ყოველთვის იგივე მომხმარებელია, ვინც სერვერი გაუშვა." + +#: utils/misc/guc_tables.c:4269 +msgid "Sets the directories where Unix-domain sockets will be created." +msgstr "აყენებს საქაღალდეებს, სადაც Unix-ის სოკეტები შეიქმნება." + +#: utils/misc/guc_tables.c:4280 +msgid "Sets the host name or IP address(es) to listen to." +msgstr "მოსასმენი IP მისამართი ან ჰოსტის სახელი." + +#: utils/misc/guc_tables.c:4295 +msgid "Sets the server's data directory." +msgstr "სერვერის მონაცმების საქაღალდის დაყენება." + +#: utils/misc/guc_tables.c:4306 +msgid "Sets the server's main configuration file." +msgstr "სერვერის კონფიგურაციის მთავარი ფაილის დაყენება." + +#: utils/misc/guc_tables.c:4317 +msgid "Sets the server's \"hba\" configuration file." +msgstr "სერვერის hba კონფიგურაციის ფაილის დაყენება." + +#: utils/misc/guc_tables.c:4328 +msgid "Sets the server's \"ident\" configuration file." +msgstr "სერვერის ident კონფიგურაციის ფაილის დაყენება." + +#: utils/misc/guc_tables.c:4339 +msgid "Writes the postmaster PID to the specified file." +msgstr "Postmaster-ის PID-ის მითითებულ ფაილში ჩაწერა." + +#: utils/misc/guc_tables.c:4350 +msgid "Shows the name of the SSL library." +msgstr "SSL ბიბლიოთეკის სახელის ჩვენება." + +#: utils/misc/guc_tables.c:4365 +msgid "Location of the SSL server certificate file." +msgstr "SSL სერვერის სერტიფიკატის ფაილის მდებარეობა." + +#: utils/misc/guc_tables.c:4375 +msgid "Location of the SSL server private key file." +msgstr "SSL სერვერის პირადი გასაღების ფაილის მდებარეობა." + +#: utils/misc/guc_tables.c:4385 +msgid "Location of the SSL certificate authority file." +msgstr "SSL სერვერის CA ფაილის მდებარეობა." + +#: utils/misc/guc_tables.c:4395 +msgid "Location of the SSL certificate revocation list file." +msgstr "SSL სერვერის გაუქმებული სერტიფიკატების სიის ფაილის მდებარეობა." + +#: utils/misc/guc_tables.c:4405 +msgid "Location of the SSL certificate revocation list directory." +msgstr "SSL სერვერის გაუქმებული სერტიფიკატების სიის საქაღალდის მდებარეობა." + +#: utils/misc/guc_tables.c:4415 +msgid "Number of synchronous standbys and list of names of potential synchronous ones." +msgstr "" + +#: utils/misc/guc_tables.c:4426 +msgid "Sets default text search configuration." +msgstr "ტექსტის ძებნის ნაგულისხმები კონფიგურაციის დაყენება." + +#: utils/misc/guc_tables.c:4436 +msgid "Sets the list of allowed SSL ciphers." +msgstr "ჩართული SSL შიფრაციების სიის დაყენება." + +#: utils/misc/guc_tables.c:4451 +msgid "Sets the curve to use for ECDH." +msgstr "ECDH-სთვის გამოყენებული მრუდის დაყენება." + +#: utils/misc/guc_tables.c:4466 +msgid "Location of the SSL DH parameters file." +msgstr "SSH DH პარამეტრების ფაილის მდებარეობა." + +#: utils/misc/guc_tables.c:4477 +msgid "Command to obtain passphrases for SSL." +msgstr "SSL-ის საკვანძო ფრაზების მისაღები ბრძანება." + +#: utils/misc/guc_tables.c:4488 +msgid "Sets the application name to be reported in statistics and logs." +msgstr "" + +#: utils/misc/guc_tables.c:4499 +msgid "Sets the name of the cluster, which is included in the process title." +msgstr "" + +#: utils/misc/guc_tables.c:4510 +msgid "Sets the WAL resource managers for which WAL consistency checks are done." +msgstr "" + +#: 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 "" + +#: utils/misc/guc_tables.c:4521 +msgid "JIT provider to use." +msgstr "JIT სერვისის მომწოდებელი." + +#: utils/misc/guc_tables.c:4532 +msgid "Log backtrace for errors in these functions." +msgstr "მითითებულ ფუნქციებში შეცდომის შემთხვევაში სტეკის ჟურნალში ჩაწერა." + +#: utils/misc/guc_tables.c:4543 +msgid "Use direct I/O for file access." +msgstr "ფაილებთან წვდომისთვის პირდაპირი შეტანა/გამოტანის გამოყენება." + +#: utils/misc/guc_tables.c:4563 +msgid "Sets whether \"\\'\" is allowed in string literals." +msgstr "შეიძლება თუ არა ტექსტურ სტრიქონებში \"\\\" სიმბოლოს გამოყენება." + +#: utils/misc/guc_tables.c:4573 +msgid "Sets the output format for bytea." +msgstr "\"bytea\"-ის გამოსატანი ფორმატის დაყენება." + +#: utils/misc/guc_tables.c:4583 +msgid "Sets the message levels that are sent to the client." +msgstr "კლიენტთან გაგზავნილი შეტყობინების დონეების დაყენება." + +#: utils/misc/guc_tables.c:4584 utils/misc/guc_tables.c:4680 utils/misc/guc_tables.c:4691 utils/misc/guc_tables.c:4763 +msgid "Each level includes all the levels that follow it. The later the level, the fewer messages are sent." +msgstr "" + +#: utils/misc/guc_tables.c:4594 +msgid "Enables in-core computation of query identifiers." +msgstr "მოთხოვნის იდენტიფიკატორის ბირთვის-შიდა გამოთვლის ჩართვა." + +#: utils/misc/guc_tables.c:4604 +msgid "Enables the planner to use constraints to optimize queries." +msgstr "მგეგმავისთვის შეზღუდვების ჩართვა, მოთხოვნების ოპტიმიზაციისთვის." + +#: utils/misc/guc_tables.c:4605 +msgid "Table scans will be skipped if their constraints guarantee that no rows match the query." +msgstr "" + +#: utils/misc/guc_tables.c:4616 +msgid "Sets the default compression method for compressible values." +msgstr "შეკუმშვადი მნიშვნელობების ნაგულისხმევი შეკუმშვის მეთოდის დაყენება." + +#: utils/misc/guc_tables.c:4627 +msgid "Sets the transaction isolation level of each new transaction." +msgstr "ახალი ტრანზაქციების იზოლაციის დონის დაყენება." + +#: utils/misc/guc_tables.c:4637 +msgid "Sets the current transaction's isolation level." +msgstr "მიმდინარე ტრანზაქციის იზოლაციის დონის დაყენება." + +#: utils/misc/guc_tables.c:4648 +msgid "Sets the display format for interval values." +msgstr "ინტერვალის მნიშვნელობების საჩვენებელი ფორმატის დაყენება." + +#: utils/misc/guc_tables.c:4659 +msgid "Log level for reporting invalid ICU locale strings." +msgstr "ჟურნალის დონე არასწორი ICU ლოკალის სტრიქონების ანგარიშისთვის." + +#: utils/misc/guc_tables.c:4669 +msgid "Sets the verbosity of logged messages." +msgstr "ჟურნალში ჩაწერილი შეტყობინებების დეტალურობის დაყენება." + +#: utils/misc/guc_tables.c:4679 +msgid "Sets the message levels that are logged." +msgstr "ჟურნალში ჩასაწერი შეტყობინების დონეების დაყენება." + +#: utils/misc/guc_tables.c:4690 +msgid "Causes all statements generating error at or above this level to be logged." +msgstr "შეცდომის მითითებული ან უფრო ზედა კოდების ჟურნალში ჩაწერის მითითება." + +#: utils/misc/guc_tables.c:4701 +msgid "Sets the type of statements logged." +msgstr "ჟურნალში ჩასაწერი ოპერატორის ტიპების დაყენება." + +#: utils/misc/guc_tables.c:4711 +msgid "Sets the syslog \"facility\" to be used when syslog enabled." +msgstr "თუ სისტემურ ჟურნალში ჩაწერა ჩართულია, მიუთითებს syslog-ის \"facility\"-ის." + +#: utils/misc/guc_tables.c:4722 +msgid "Sets the session's behavior for triggers and rewrite rules." +msgstr "სესიის ქცევის დაყენება ტრიგერებისა და გადაწერის წესებისთვის." + +#: utils/misc/guc_tables.c:4732 +msgid "Sets the current transaction's synchronization level." +msgstr "მიმდინარე ტრანზაქციის სინქრონიზაციის დონის დაყენება." + +#: utils/misc/guc_tables.c:4742 +msgid "Allows archiving of WAL files using archive_command." +msgstr "'WAL' ფაილების დაარქივების დაშვება 'archive_command'-ის გამოყენებით." + +#: utils/misc/guc_tables.c:4752 +msgid "Sets the action to perform upon reaching the recovery target." +msgstr "" + +#: utils/misc/guc_tables.c:4762 +msgid "Enables logging of recovery-related debugging information." +msgstr "აღდგენასთან კავშირში მყოფი გამართვის ინფორმაციის ჟურნალში ჩაწერის ჩართვა." + +#: utils/misc/guc_tables.c:4779 +msgid "Collects function-level statistics on database activity." +msgstr "აგროვებს ფუნქციის დონის სტატისტიკას ბაზის აქტივობების შესახებ." + +#: utils/misc/guc_tables.c:4790 +msgid "Sets the consistency of accesses to statistics data." +msgstr "სტატისტიკის მონაცემებთან წვდომის მიმდევრობის დაყენება." + +#: utils/misc/guc_tables.c:4800 +msgid "Compresses full-page writes written in WAL file with specified method." +msgstr "'WAL' ფაილში მითითებული მეთოდით ჩაწერილი სრული გვერდის ჩაწერების შეკუმშვა." + +#: utils/misc/guc_tables.c:4810 +msgid "Sets the level of information written to the WAL." +msgstr "WAL-ში ჩაწერილი ინფორმაციის დონის დაყენება." + +#: utils/misc/guc_tables.c:4820 +msgid "Selects the dynamic shared memory implementation used." +msgstr "გამოყენებული გაზიარებული მეხსიერების განხორციელების არჩევა." + +#: utils/misc/guc_tables.c:4830 +msgid "Selects the shared memory implementation used for the main shared memory region." +msgstr "" + +#: utils/misc/guc_tables.c:4840 +msgid "Selects the method used for forcing WAL updates to disk." +msgstr "WAL-ისთვის დისკზე განახლებების ნაძალადევად ჩაწერის მეთოდის დაყენება." + +#: utils/misc/guc_tables.c:4850 +msgid "Sets how binary values are to be encoded in XML." +msgstr "XML-ში ბინარული მნიშვნელობების კოდირების ტიპის დაყენება." + +#: 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 "" + +#: utils/misc/guc_tables.c:4871 +msgid "Use of huge pages on Linux or Windows." +msgstr "Linux-ზე და Windows-ზე უზარმაზარი გვერდების გამოყენება." + +#: utils/misc/guc_tables.c:4881 +msgid "Prefetch referenced blocks during recovery." +msgstr "აღდგენისას მიბმული ბლოკების წინასწარ გამოთხოვა." + +#: utils/misc/guc_tables.c:4882 +msgid "Look ahead in the WAL to find references to uncached data." +msgstr "" + +#: utils/misc/guc_tables.c:4891 +msgid "Forces the planner's use parallel query nodes." +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 "" + +#: utils/misc/guc_tables.c:4904 +msgid "Chooses the algorithm for encrypting passwords." +msgstr "აირჩიეთ პაროლების დასაშიფრად გამოყენებული ალგორითმი." + +#: utils/misc/guc_tables.c:4914 +msgid "Controls the planner's selection of custom or generic plan." +msgstr "" + +#: 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 "" + +#: utils/misc/guc_tables.c:4927 +msgid "Sets the minimum SSL/TLS protocol version to use." +msgstr "SSL/TLS-ის პროტოკოლის მინიმალური ვერსიის დაყენება." + +#: utils/misc/guc_tables.c:4939 +msgid "Sets the maximum SSL/TLS protocol version to use." +msgstr "SSL/TLS-ის პროტოკოლის მაქსიმალური ვერსიის დაყენება." + +#: utils/misc/guc_tables.c:4951 +msgid "Sets the method for synchronizing the data directory before crash recovery." +msgstr "" + +#: utils/misc/guc_tables.c:4960 +msgid "Controls when to replicate or apply each change." +msgstr "აკონტროლებს, როდის მოხდება თითოეული ცვლილების რეპლიკაცია ან გადატარება." + +#: 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 "" + +#: utils/misc/help_config.c:129 +#, c-format +msgid "internal error: unrecognized run-time parameter type\n" +msgstr "შიდა შეცდომა: გაშვების დროს გამოყენებული ტიპი უცნობია\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 +#, c-format +msgid "calculated CRC checksum does not match value stored in file" +msgstr "გამოთვლილი CRC საკონტროლო ჯამი ფაილში დამახსოვრებულ მნიშვნელობას არ ემთხვევა" + +#: utils/misc/pg_rusage.c:64 +#, c-format +msgid "CPU: user: %d.%02d s, system: %d.%02d s, elapsed: %d.%02d s" +msgstr "CPU: მომხმარებელი: %d.%02d წმ, სისტემა: %d.%02d წმ, გავიდა: %d.%02d წმ" + +#: utils/misc/rls.c:127 +#, c-format +msgid "query would be affected by row-level security policy for table \"%s\"" +msgstr "" + +#: utils/misc/rls.c:129 +#, c-format +msgid "To disable the policy for the table's owner, use ALTER TABLE NO FORCE ROW LEVEL SECURITY." +msgstr "" + +#: utils/misc/timeout.c:524 +#, c-format +msgid "cannot add more timeout reasons" +msgstr "კავშირის დროის გასვლის მეტი მიზეზის დამატება შეუძლებელია" + +#: utils/misc/tzparser.c:60 +#, c-format +msgid "time zone abbreviation \"%s\" is too long (maximum %d characters) in time zone file \"%s\", line %d" +msgstr "" + +#: utils/misc/tzparser.c:72 +#, c-format +msgid "time zone offset %d is out of range in time zone file \"%s\", line %d" +msgstr "" + +#: utils/misc/tzparser.c:111 +#, c-format +msgid "missing time zone abbreviation in time zone file \"%s\", line %d" +msgstr "" + +#: utils/misc/tzparser.c:120 +#, c-format +msgid "missing time zone offset in time zone file \"%s\", line %d" +msgstr "" + +#: utils/misc/tzparser.c:132 +#, c-format +msgid "invalid number for time zone offset in time zone file \"%s\", line %d" +msgstr "" + +#: utils/misc/tzparser.c:168 +#, c-format +msgid "invalid syntax in time zone file \"%s\", line %d" +msgstr "დროის სარტყელის ფაილის (\"%s\") არასწორი სინტაქსი ხაზზე %d" + +#: utils/misc/tzparser.c:236 +#, c-format +msgid "time zone abbreviation \"%s\" is multiply defined" +msgstr "დროის სარტყელის აბრევიატურა ერთზე მეტჯერაა აღწერილი: %s" + +#: utils/misc/tzparser.c:238 +#, c-format +msgid "Entry in time zone file \"%s\", line %d, conflicts with entry in file \"%s\", line %d." +msgstr "" + +#: utils/misc/tzparser.c:300 +#, c-format +msgid "invalid time zone file name \"%s\"" +msgstr "დროის სარტყელის ფაილის არასწორი ფაილი\"%s\"" + +#: utils/misc/tzparser.c:313 +#, c-format +msgid "time zone file recursion limit exceeded in file \"%s\"" +msgstr "დროის სარტყლის ფაილის რეკურსიის ლიმიტი გადაცილებულია ფაილში \"%s\"" + +#: utils/misc/tzparser.c:352 utils/misc/tzparser.c:365 +#, c-format +msgid "could not read time zone file \"%s\": %m" +msgstr "დროის სარტყელის ფაილის წაკითხვის შეცდომა \"%s\": %m" + +#: utils/misc/tzparser.c:376 +#, c-format +msgid "line is too long in time zone file \"%s\", line %d" +msgstr "დროის სარტყელის ფაილის (\"%s\") ძალიან გრძელი ხაზი (\"%d\")" + +#: utils/misc/tzparser.c:400 +#, c-format +msgid "@INCLUDE without file name in time zone file \"%s\", line %d" +msgstr "" + +#: utils/mmgr/aset.c:446 utils/mmgr/generation.c:206 utils/mmgr/slab.c:367 +#, c-format +msgid "Failed while creating memory context \"%s\"." +msgstr "შეცდომა მეხსიერების კონტექსტის შექმნისას \"%s\"." + +#: utils/mmgr/dsa.c:532 utils/mmgr/dsa.c:1346 +#, c-format +msgid "could not attach to dynamic shared area" +msgstr "დინამიური გაზიარებული მეხსიერების მიმაგრების შეცდომა" + +#: utils/mmgr/mcxt.c:1047 utils/mmgr/mcxt.c:1083 utils/mmgr/mcxt.c:1121 utils/mmgr/mcxt.c:1159 utils/mmgr/mcxt.c:1247 utils/mmgr/mcxt.c:1278 utils/mmgr/mcxt.c:1314 utils/mmgr/mcxt.c:1503 utils/mmgr/mcxt.c:1548 utils/mmgr/mcxt.c:1605 +#, c-format +msgid "Failed on request of size %zu in memory context \"%s\"." +msgstr "%zu ზომის მეხსიერების კონტექსტიდან \"%s\" გამოთხოვა ჩავარდა." + +#: utils/mmgr/mcxt.c:1210 +#, c-format +msgid "logging memory contexts of PID %d" +msgstr "პროცესის, PID-ით %d მეხსიერების კონტექსტები ჟურნალში ჩაიწერება" + +#: utils/mmgr/portalmem.c:188 +#, c-format +msgid "cursor \"%s\" already exists" +msgstr "კურსორი \"%s\" უკვე არსებობს" + +#: utils/mmgr/portalmem.c:192 +#, c-format +msgid "closing existing cursor \"%s\"" +msgstr "არსებული კურსორის დახურვა \"%s\"" + +#: utils/mmgr/portalmem.c:402 +#, c-format +msgid "portal \"%s\" cannot be run" +msgstr "პორტალის \"%s\" გაშვება შეუძლებელია" + +#: utils/mmgr/portalmem.c:480 +#, c-format +msgid "cannot drop pinned portal \"%s\"" +msgstr "მიჭიკარტებული პორტალის წაშლა შეუძლებელია:\"%s\"" + +#: utils/mmgr/portalmem.c:488 +#, c-format +msgid "cannot drop active portal \"%s\"" +msgstr "აქტიური პორტალის წაშლა სეუძლებელია: %s" + +#: utils/mmgr/portalmem.c:739 +#, c-format +msgid "cannot PREPARE a transaction that has created a cursor WITH HOLD" +msgstr "" + +#: utils/mmgr/portalmem.c:1230 +#, c-format +msgid "cannot perform transaction commands inside a cursor loop that is not read-only" +msgstr "" + +#: utils/sort/logtape.c:266 utils/sort/logtape.c:287 +#, c-format +msgid "could not seek to block %ld of temporary file" +msgstr "დროებითი ფაილის %ld-ე ბაიტზე გადახვევა შეუძლებელია" + +#: utils/sort/sharedtuplestore.c:467 +#, c-format +msgid "unexpected chunk in shared tuplestore temporary file" +msgstr "" + +#: utils/sort/sharedtuplestore.c:549 +#, c-format +msgid "could not seek to block %u in shared tuplestore temporary file" +msgstr "" + +#: utils/sort/tuplesort.c:2372 +#, c-format +msgid "cannot have more than %d runs for an external sort" +msgstr "" + +#: utils/sort/tuplesortvariants.c:1363 +#, c-format +msgid "could not create unique index \"%s\"" +msgstr "უნიკალური ინდექსის შექმნა შეუძლებელია: \"%s\"" + +#: utils/sort/tuplesortvariants.c:1365 +#, c-format +msgid "Key %s is duplicated." +msgstr "გასაღები %s დუბლირებულია." + +#: utils/sort/tuplesortvariants.c:1366 +#, c-format +msgid "Duplicate keys exist." +msgstr "არსებობს დუბლიკატი გასაღებები." + +#: utils/sort/tuplestore.c:518 utils/sort/tuplestore.c:528 utils/sort/tuplestore.c:869 utils/sort/tuplestore.c:973 utils/sort/tuplestore.c:1037 utils/sort/tuplestore.c:1054 utils/sort/tuplestore.c:1256 utils/sort/tuplestore.c:1321 utils/sort/tuplestore.c:1330 +#, c-format +msgid "could not seek in tuplestore temporary file" +msgstr "კორტეჟების საცავი დროებითი ფაილის გადახვევა შეუძლებელია" + +#: utils/time/snapmgr.c:571 +#, c-format +msgid "The source transaction is not running anymore." +msgstr "საწყისი ტრანზაქცია გაშვებული აღარაა." + +#: utils/time/snapmgr.c:1166 +#, c-format +msgid "cannot export a snapshot from a subtransaction" +msgstr "ქვეტრანზაქციიდან სწრაფი ასლის გამოტანა შეუძლებელია" + +#: utils/time/snapmgr.c:1325 utils/time/snapmgr.c:1330 utils/time/snapmgr.c:1335 utils/time/snapmgr.c:1350 utils/time/snapmgr.c:1355 utils/time/snapmgr.c:1360 utils/time/snapmgr.c:1375 utils/time/snapmgr.c:1380 utils/time/snapmgr.c:1385 utils/time/snapmgr.c:1487 utils/time/snapmgr.c:1503 utils/time/snapmgr.c:1528 +#, c-format +msgid "invalid snapshot data in file \"%s\"" +msgstr "სწრაფი ასლის არასწორი მონაცემები ფაილში \"%s\"" + +#: utils/time/snapmgr.c:1422 +#, c-format +msgid "SET TRANSACTION SNAPSHOT must be called before any query" +msgstr "SET TRANSACTION SNAPSHOT ყველა მოთხოვნაზე ადრე უნდა გამოიძახოთ" + +#: utils/time/snapmgr.c:1431 +#, c-format +msgid "a snapshot-importing transaction must have isolation level SERIALIZABLE or REPEATABLE READ" +msgstr "" + +#: utils/time/snapmgr.c:1440 utils/time/snapmgr.c:1449 +#, c-format +msgid "invalid snapshot identifier: \"%s\"" +msgstr "სწრაფი ასლის არასწორი იდენტიფიკატორი: \"%s\"" + +#: utils/time/snapmgr.c:1541 +#, c-format +msgid "a serializable transaction cannot import a snapshot from a non-serializable transaction" +msgstr "" + +#: utils/time/snapmgr.c:1545 +#, c-format +msgid "a non-read-only serializable transaction cannot import a snapshot from a read-only transaction" +msgstr "" + +#: utils/time/snapmgr.c:1560 +#, c-format +msgid "cannot import a snapshot from a different database" +msgstr "სხვა ბაზიდან სწრაფი ასლის შემოტანა შეუძლებელია" + +#, c-format +#~ msgid " GSS (authenticated=%s, encrypted=%s)" +#~ msgstr " GSS (ავთენტიფიცირებული=%s, დაშიფრული=%s)" + +#~ msgid "Enables reordering of GROUP BY keys." +#~ msgstr "გასაღების (GROUP BY) გადალაგების ჩართვა." + +#, c-format +#~ msgid "For example, FROM (SELECT ...) [AS] foo." +#~ msgstr "მაგალითად, FROM (SELECT ...) [AS] foo." + +#, c-format +#~ msgid "For example, FROM (VALUES ...) [AS] foo." +#~ msgstr "მაგალითად, FROM (VALUES ...) [AS] foo." + +#, c-format +#~ msgid "Foreign tables cannot have TRUNCATE triggers." +#~ msgstr "გარე ცხრილებს TRUNCATE ტრიგერები ვერ ექნებათ." + +#, c-format +#~ msgid "JSON_TABLE column names must be distinct from one another" +#~ msgstr "JSON_TABLE-ის სვეტის სახელები ერთმანეთისგან უნდა განსხვავდებოდნენ" + +#, c-format +#~ msgid "Object keys should be text." +#~ msgstr "ობიექტის გასაღებები ტექსტი უნდა იყოს." + +#, c-format +#~ msgid "SQL/JSON item cannot be cast to target type" +#~ msgstr "SQL/JSON ჩანაწერი მითითებულ ტიპში ვერ გადავა" + +#~ msgid "Shows the character classification and case conversion locale." +#~ msgstr "სიმბოლოების ზომის გადაყვანისა და სიმბოლოების კლასიფიკაციის ენის ჩვენება." + +#~ msgid "Shows the collation order locale." +#~ msgstr "დალაგების წესის ჩვენება." + +#, c-format +#~ msgid "Subscribed publication %s is subscribing to other publications." +#~ msgid_plural "Subscribed publications %s are subscribing to other publications." +#~ msgstr[0] "გამოწერილი პუბლიკაცია %s სხვა პუბლიკაციებს იწერს." +#~ msgstr[1] "გამოწერილი პუბლიკაცია %s სხვა პუბლიკაციებს იწერს." + +#, c-format +#~ msgid "Triggers on partitioned tables cannot have transition tables." +#~ msgstr "დაყოფილ ცხრილებზე არსებულ ტრიგერებს გარდამავალი ცხრილები ვერ ექნებათ." + +#, c-format +#~ msgid "VALUES in FROM must have an alias" +#~ msgstr "FROM-ში VALUES-ს აუცილებელია მეტსახელი ჰქონდეს" + +#, c-format +#~ msgid "argument %d cannot be null" +#~ msgstr "არგუმენტი %d ნულოვანი ვერ იქნება" + +#, c-format +#~ msgid "authentication file token too long, skipping: \"%s\"" +#~ msgstr "ავთენტიკაციის ფაილის კოდი ძალიან გრძელია. გამოტოვება: \"%s\"" + +#, c-format +#~ msgid "bad magic number in dynamic shared memory segment" +#~ msgstr "არასწორი მაგიური რიცხვი დინამიურ გაზიარებულ მეხსიერების სეგმენტში" + +#~ msgid "bogus input" +#~ msgstr "საეჭვო შეყვანა" + +#, c-format +#~ msgid "cannot create restricted tokens on this platform: error code %lu" +#~ msgstr "ამ პლატფორმაზე შეზღუდული კოდების შექმნა შეუძლებელია: შეცდომის კოდი %lu" + +#, c-format +#~ msgid "cannot move table \"%s\" to schema \"%s\"" +#~ msgstr "ცხრილის (%s) სქემაში (%s) გადატანა შეუძლებელია" + +#, c-format +#~ msgid "conversion with OID %u does not exist" +#~ msgstr "გადაყვანა OID-ით %u არ არსებობს" + +#, c-format +#~ msgid "could not form array type name for type \"%s\"" +#~ msgstr "ტიპისთვის (%s) მასივის ტიპის სახელის ფორმირება შეუძლებელია" + +#, c-format +#~ msgid "could not identify current directory: %m" +#~ msgstr "მიმდინარე საქაღალდის იდენტიფიკაციის პრობლემა: %m" + +#, c-format +#~ msgid "could not load library \"%s\": error code %lu" +#~ msgstr "ბიბლიოთეკის (\"%s\") ჩატვირთვის შეცდომა: შეცდომის კოდი: %lu" + +#, c-format +#~ msgid "could not load pg_hba.conf" +#~ msgstr "pg_hba.conf -ის ჩატვირთვის სეცდომა" + +#, c-format +#~ msgid "could not read from streaming transaction's changes file \"%s\": read only %zu of %zu bytes" +#~ msgstr "შეკუმშული ფაილის (\"%s\") წაკითხვის შეცდომა: წაკითხულია %zu %zu-დან" + +#, c-format +#~ msgid "could not read from streaming transaction's subxact file \"%s\": read only %zu of %zu bytes" +#~ msgstr "შეკუმშული ფაილის (\"%s\") წაკითხვის შეცდომა: წაკითხულია %zu ბაიტი %zu-დან" + +#, c-format +#~ msgid "could not remove file or directory \"%s\": %m" +#~ msgstr "ფაილის ან საქაღალდე „%s“ ვერ წაიშალა: %m" + +#, c-format +#~ msgid "could not set compression flag for %s: %s" +#~ msgstr "%s-სთვის შეკუმშვის დონის დაყენების შეცდომა: %s" + +#, c-format +#~ msgid "could not stat promote trigger file \"%s\": %m" +#~ msgstr "წახალისების ტრიგერის ფაილი (\"%s\") არ არსებობს: %m" + +#, c-format +#~ msgid "could not unlink file \"%s\": %m" +#~ msgstr "ფაილის (%s) ბმულის მოხსნის შეცდომა: %m" + +#, c-format +#~ msgid "duplicate JSON key %s" +#~ msgstr "დუბლირებული JSON გასაღები %s" + +#, c-format +#~ msgid "duplicate JSON object key" +#~ msgstr "დუბლირებული JSON ობიექტის გასაღები" + +#, c-format +#~ msgid "duplicate JSON_TABLE column name: %s" +#~ msgstr "სვეტის (JSON_TABLE ) დუბლიკატი სახელი: %s" + +#, c-format +#~ msgid "extension with OID %u does not exist" +#~ msgstr "გაფართოება OID-ით %u არ არსებობს" + +#, c-format +#~ msgid "gtsvector_in not implemented" +#~ msgstr "gtsvector_in განხორციელებული არაა" + +#, c-format +#~ msgid "int2vector has too many elements" +#~ msgstr "int2vector -ს მეტისმეტად ბევრი ელემენტი აქვს" + +#, c-format +#~ msgid "invalid JSON_TABLE expression" +#~ msgstr "\"JSON_TABLE\"-ის არასწორი გამოსახულება" + +#, c-format +#~ msgid "invalid JSON_TABLE plan" +#~ msgstr "\"JSON_TABLE\"-ის არასწორი გეგმა" + +#, c-format +#~ msgid "invalid checkpoint link in backup_label file" +#~ msgstr "backup_label ფაილში არსებული საკონტროლო წერტილი არასწორია" + +#, c-format +#~ msgid "invalid length of primary checkpoint record" +#~ msgstr "ძირითადი საკონტროლო წერტილის ჩანაწერის არასწორი სიგრძე" + +#, c-format +#~ msgid "invalid primary checkpoint link in control file" +#~ msgstr "ძირითადი საკონტროლო წერტილის არასწორი ბმული საკონტროლო ფაილში" + +#, c-format +#~ msgid "invalid primary checkpoint record" +#~ msgstr "პირველადი საკონტროლო წერტილის არასწორი ჩანაწერი" + +#, c-format +#~ msgid "invalid record offset at %X/%X" +#~ msgstr "ჩანაწერის არასწორი წანაცვლება მისამართზე %X/%X" + +#, c-format +#~ msgid "invalid resource manager ID in primary checkpoint record" +#~ msgstr "ძირითად საკონტროლო წერტილში აღწერილი რესურსის მმართველის ID არასწორია" + +#~ msgid "invalid unicode sequence" +#~ msgstr "უნიკოდის არასწორი მიმდევრობა" + +#, c-format +#~ msgid "invalid xl_info in primary checkpoint record" +#~ msgstr "ძირითადი საკონტროლო წერტილის არასწორი xl_info" + +#, c-format +#~ msgid "language with OID %u does not exist" +#~ msgstr "ენა OID-ით %u არ არსებობს" + +#~ msgid "logical replication apply worker" +#~ msgstr "ლოგიკური რეპლიკაციის გადატარების დამხმარე პროცესი" + +#~ msgid "logical replication table synchronization worker" +#~ msgstr "ლოგიკური რეპლიკაციის ცხრილის სინქრონიზაციის დამხმარე პროცესი" + +#, c-format +#~ msgid "missing contrecord at %X/%X" +#~ msgstr "მისამართზე %X/%X contrecord ალამი არ არსებობს" + +#, c-format +#~ msgid "must be a superuser to terminate superuser process" +#~ msgstr "ზემომხმარებლის პროცესის დასასრულებლად ზემომხმარებელი უნდა ბრძანდებოდეთ" + +#, c-format +#~ msgid "must be superuser or have privileges of pg_checkpoint to do CHECKPOINT" +#~ msgstr "\"COPY\"-ის ფაილში ჩასაწერად ზემომხმარებლის ან pg_write_server_files როლის პრივილეგიებია საჭირო" + +#, c-format +#~ msgid "must be superuser or replication role to use replication slots" +#~ msgstr "რეპლიკაციის სლოტების შექმნისთვის ზემომხმარებლის ან რეპლიკაციის წვდომებია საჭირო" + +#, c-format +#~ msgid "must be superuser to alter superusers" +#~ msgstr "ზემომხმარებლის შესაცვლელად ზემომხმარებელი უნდა ბრძანდებოდეთ" + +#, c-format +#~ msgid "must be superuser to create bypassrls users" +#~ msgstr "bypassrls მომხმარებლების შესაქმნელად ზემომხმარებელი უნდა ბრძანდებოდეთ" + +#, c-format +#~ msgid "must be superuser to create replication users" +#~ msgstr "რეპლიკაციის მომხმარებლების შესაქმნელად ზემომხმარებელი უნდა ბრძანდებოდეთ" + +#, c-format +#~ msgid "must be superuser to create superusers" +#~ msgstr "ზემომხმარებლის შესაქმნელად ზემომხმარებელი უნდა ბრძანდებოდეთ" + +#, c-format +#~ msgid "must be superuser to drop superusers" +#~ msgstr "ზემომხმარებლის წასაშლელად ზემომხმარებელი უნდა ბრძანდებოდეთ" + +#, c-format +#~ msgid "must be superuser to rename superusers" +#~ msgstr "ზემომხმარებლის სახელის გადასარქმევად ზემომხმარებელი უნდა ბრძანდებოდეთ" + +#, c-format +#~ msgid "must be superuser to set grantor" +#~ msgstr "მიმნიჭებლის დასაყენებლად ზემომხმარებელი უნდა ბრძანდებოდეთ" + +#, c-format +#~ msgid "must be superuser to skip transaction" +#~ msgstr "ტრანზაქციის გამოსატოვებლად ზემომხმარებლის უფლებებია საჭირო" + +#, c-format +#~ msgid "must have CREATEROLE privilege" +#~ msgstr "უნდა გქონდეთ CREATEROLE პრივილეგია" + +#, c-format +#~ msgid "must have privileges of pg_create_subscription to create subscriptions" +#~ msgstr "გამოწერების შესაქმნელად pg_create_subscription-ის პრივილეგიები გჭიდებათ" + +#, c-format +#~ msgid "no SQL/JSON item" +#~ msgstr "\"SQL/JSON\" ჩანაწერების გარეშე" + +#, c-format +#~ msgid "oidvector has too many elements" +#~ msgstr "oidvector-ს მეტისმეტად ბევრი ელემენტი აქვს" + +#, c-format +#~ msgid "operator class with OID %u does not exist" +#~ msgstr "ოპერატორის კლასი OID-ით %u არ არსებობს" + +#, c-format +#~ msgid "operator family with OID %u does not exist" +#~ msgstr "ოპერატორის ოჯახი OID-ით %u არ არსებობს" + +#, c-format +#~ msgid "operator with OID %u does not exist" +#~ msgstr "ოპერატორი OID-ით %u არ არსებობს" + +#, c-format +#~ msgid "permission denied to cluster \"%s\", skipping it" +#~ msgstr "კლასტერისთვის \"%s\" წვდომა აკრძალულია. გამოტოვება" + +#, c-format +#~ msgid "promote trigger file found: %s" +#~ msgstr "ნაპოვნია წახალისების ტრიგერის ფაილი: %s" + +#, c-format +#~ msgid "statistics object with OID %u does not exist" +#~ msgstr "სტატისტიკის ობიექტი OID-ით %u არ არსებობს" + +#, c-format +#~ msgid "subquery in FROM must have an alias" +#~ msgstr "ქვემოთხოვნას \"FROM\"-ში მეტსახელი უნდა ჰქონდეს" + +#, c-format +#~ msgid "tablespaces are not supported on this platform" +#~ msgstr "ამ პლატფორმაზე ცხრილის სივრცეები მხარდაჭერილი არაა" + +#, c-format +#~ msgid "text search configuration with OID %u does not exist" +#~ msgstr "ტექსტის ძებნის კონფიგურაცია OID-ით \"%u\" არ არსებობს" + +#, c-format +#~ msgid "text search dictionary with OID %u does not exist" +#~ msgstr "ტექსტის ძებნის ლექსიკონი OID-ით \"%u\" არ არსებობს" + +#, c-format +#~ msgid "unable to map dynamic shared memory segment" +#~ msgstr "დინამიური გაზიარებული მეხსიერების სეგმენტის მიბმის შეცდომა" + +#, c-format +#~ msgid "unexpected DEFAULT in COPY data" +#~ msgstr "\"COPY\"-ის მონაცემებში ნაპოვნია მოულოდნელი DEFAULT" + +#~ msgid "unexpected end of quoted string" +#~ msgstr "ციტირებული სტრიქონის მოულოდნელი დასასრული" + +#, c-format +#~ msgid "unknown compression option \"%s\"" +#~ msgstr "შეკუმშვის უცნობი პარამეტრი: \"%s\"" + +#, c-format +#~ msgid "unlinked permanent statistics file \"%s\"" +#~ msgstr "სტატისტიკის მუდმივი ფაილი მოხსნილია: %s" diff --git a/src/backend/po/sv.po b/src/backend/po/sv.po index 0da20b6d436..7a4675cc1c1 100644 --- a/src/backend/po/sv.po +++ b/src/backend/po/sv.po @@ -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-08-02 08:15+0000\n" -"PO-Revision-Date: 2023-08-03 11:18+0200\n" +"POT-Creation-Date: 2023-08-25 07:16+0000\n" +"PO-Revision-Date: 2023-08-27 10:31+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -91,7 +91,7 @@ msgid "not recorded" msgstr "ej sparad" #: ../common/controldata_utils.c:69 ../common/controldata_utils.c:73 -#: commands/copyfrom.c:1670 commands/extension.c:3453 utils/adt/genfile.c:123 +#: commands/copyfrom.c:1670 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" @@ -102,10 +102,10 @@ msgstr "kunde inte öppna filen \"%s\" för läsning: %m" #: 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:3463 libpq/hba.c:769 replication/logical/origin.c:745 +#: 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:1946 -#: replication/slot.c:1987 replication/walsender.c:643 +#: 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 #, c-format @@ -116,7 +116,7 @@ msgstr "kunde inte läsa fil \"%s\": %m" #: 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:1950 replication/slot.c:1991 replication/walsender.c:648 +#: replication/slot.c:1957 replication/slot.c:1998 replication/walsender.c:648 #: utils/cache/relmapper.c:831 #, c-format msgid "could not read file \"%s\": read %d of %zu" @@ -135,7 +135,7 @@ msgstr "kunde inte läsa fil \"%s\": läste %d av %zu" #: 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 +#: 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 @@ -175,7 +175,7 @@ msgstr "" #: 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/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 @@ -205,8 +205,8 @@ msgstr "kunde inte skriva fil \"%s\": %m" #: 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:1823 -#: replication/slot.c:1928 storage/file/fd.c:774 storage/file/fd.c:3798 +#: 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 #, c-format @@ -308,7 +308,7 @@ msgstr "kan inte duplicera null-pekare (internt fel)\n" #: ../common/file_utils.c:451 access/transam/twophase.c:1315 #: access/transam/xlogarchive.c:112 access/transam/xlogarchive.c:229 #: backup/basebackup.c:346 backup/basebackup.c:544 backup/basebackup.c:615 -#: commands/copyfrom.c:1680 commands/copyto.c:702 commands/extension.c:3442 +#: commands/copyfrom.c:1680 commands/copyto.c:702 commands/extension.c:3469 #: commands/tablespace.c:810 commands/tablespace.c:899 postmaster/pgarch.c:590 #: replication/logical/snapbuild.c:1649 storage/file/fd.c:1922 #: storage/file/fd.c:2008 storage/file/fd.c:3511 utils/adt/dbsize.c:106 @@ -335,7 +335,7 @@ msgstr "kunde inte läsa katalog \"%s\": %m" #: ../common/file_utils.c:379 access/transam/xlogarchive.c:383 #: postmaster/pgarch.c:746 postmaster/syslogger.c:1608 #: replication/logical/snapbuild.c:1810 replication/slot.c:723 -#: replication/slot.c:1709 replication/slot.c:1851 storage/file/fd.c:792 +#: replication/slot.c:1716 replication/slot.c:1858 storage/file/fd.c:792 #: utils/time/snapmgr.c:1284 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" @@ -523,7 +523,7 @@ msgstr "kunde inte hämta statuskod för underprocess: felkod %lu" #: 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:1902 storage/file/fd.c:832 storage/file/fd.c:3325 +#: replication/slot.c:1909 storage/file/fd.c:832 storage/file/fd.c:3325 #: storage/file/fd.c:3387 storage/file/reinit.c:262 storage/ipc/dsm.c:316 #: storage/smgr/md.c:383 storage/smgr/md.c:442 storage/sync/sync.c:248 #: utils/time/snapmgr.c:1608 @@ -860,7 +860,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:1036 access/common/heaptuple.c:1371 +#: access/common/heaptuple.c:1124 access/common/heaptuple.c:1459 #, c-format msgid "number of columns (%d) exceeds limit (%d)" msgstr "antalet kolumner (%d) överskrider gränsen (%d)" @@ -962,7 +962,7 @@ msgstr "kan inte ange lagringsparametrar för partitionerad tabell" #: access/common/reloptions.c:1992 #, c-format msgid "Specify storage parameters for its leaf partitions instead." -msgstr "" +msgstr "Ange lagringsparametrar för dess löv-partition istället." #: access/common/toast_compression.c:33 #, c-format @@ -1169,33 +1169,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:2026 +#: access/heap/heapam.c:2027 #, 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:2545 +#: access/heap/heapam.c:2546 #, c-format msgid "cannot delete tuples during a parallel operation" msgstr "kan inte radera tupler under en parallell operation" -#: access/heap/heapam.c:2592 +#: access/heap/heapam.c:2593 #, c-format msgid "attempted to delete invisible tuple" msgstr "försökte ta bort en osynlig tuple" -#: access/heap/heapam.c:3035 access/heap/heapam.c:5902 +#: access/heap/heapam.c:3036 access/heap/heapam.c:5903 #, c-format msgid "cannot update tuples during a parallel operation" msgstr "kan inte uppdatera tupler under en parallell operation" -#: access/heap/heapam.c:3163 +#: access/heap/heapam.c:3164 #, c-format msgid "attempted to update invisible tuple" msgstr "försökte uppdatera en osynlig tuple" -#: 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:4551 access/heap/heapam.c:4589 +#: access/heap/heapam.c:4854 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\"" @@ -1205,7 +1205,7 @@ msgstr "kunde inte låsa rad i relationen \"%s\"" msgid "tuple to be locked was already moved to another partition due to concurrent update" msgstr "tupel som skall låsas har redan flyttats till en annan partition av en samtida uppdatering" -#: access/heap/hio.c: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 "raden är för stor: storlek %zu, maximal storlek %zu" @@ -1222,7 +1222,7 @@ msgstr "kunde inte skriva till fil \"%s\", skrev %d av %d: %m." #: 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 +#: replication/logical/origin.c:603 replication/slot.c:1777 #: storage/file/copydir.c:157 storage/smgr/md.c:232 utils/time/snapmgr.c:1263 #, c-format msgid "could not create file \"%s\": %m" @@ -1240,7 +1240,7 @@ msgstr "kunde inte trunkera fil \"%s\" till %u: %m" #: postmaster/postmaster.c:4564 postmaster/postmaster.c:4574 #: 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 +#: 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 @@ -2097,7 +2097,7 @@ msgstr "kunde inte återställa tvåfas-statusfil för transaktion %u" #: access/transam/twophase.c:2502 #, 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 "" +msgstr "Statefil för tvåfas har hittats i WAL-post %X/%X men denna transaktion har redan återställts från disk." #: access/transam/twophase.c:2510 jit/jit.c:205 utils/fmgr/dfmgr.c:209 #: utils/fmgr/dfmgr.c:415 @@ -3665,7 +3665,7 @@ msgstr "relativ sökväg tillåts inte för backup som sparas på servern" #: backup/basebackup_server.c:104 commands/dbcommands.c:501 #: commands/tablespace.c:163 commands/tablespace.c:179 -#: commands/tablespace.c:599 commands/tablespace.c:644 replication/slot.c:1697 +#: commands/tablespace.c:599 commands/tablespace.c:644 replication/slot.c:1704 #: storage/file/copydir.c:47 #, c-format msgid "could not create directory \"%s\": %m" @@ -3907,7 +3907,7 @@ msgstr "kan inte använda IN SCHEMA-klausul samtidigt som GRANT/REVOKE ON SCHEMA #: 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 +#: 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 @@ -4642,7 +4642,7 @@ msgstr "genereringsuttryck är inte immutable" 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:2704 +#: 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 #, c-format @@ -4803,8 +4803,8 @@ msgstr "relationen \"%s.%s\" existerar inte" msgid "relation \"%s\" does not exist" msgstr "relationen \"%s\" existerar inte" -#: 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 "inget schema har valts för att skapa i" @@ -5633,12 +5633,12 @@ msgstr "konvertering \"%s\" finns redan" msgid "default conversion for %s to %s already exists" msgstr "standardkonvertering från %s till %s finns redan" -#: catalog/pg_depend.c:222 commands/extension.c:3341 +#: catalog/pg_depend.c:222 commands/extension.c:3368 #, c-format msgid "%s is already a member of extension \"%s\"" msgstr "%s är redan en medlem i utökningen \"%s\"" -#: catalog/pg_depend.c:229 catalog/pg_depend.c:280 commands/extension.c:3381 +#: 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 är inte en medlem av utökning \"%s\"" @@ -7912,7 +7912,7 @@ msgstr "EXPLAIN-flagga TIMING kräver ANALYZE" msgid "EXPLAIN options ANALYZE and GENERIC_PLAN cannot be used together" msgstr "EXPLAIN-flaggorna ANALYZE och GENERIC_PLAN kan inte användas ihop" -#: commands/extension.c:177 commands/extension.c:3006 +#: commands/extension.c:177 commands/extension.c:3033 #, c-format msgid "extension \"%s\" does not exist" msgstr "utökning \"%s\" finns inte" @@ -8055,127 +8055,137 @@ msgstr "Måste ha CREATE-rättighet på den aktuella databasen för att uppdater msgid "Must be superuser to update this extension." msgstr "Måste vara superuser för att uppdatera denna utökning." -#: commands/extension.c:1265 +#: commands/extension.c:1046 +#, c-format +msgid "invalid character in extension owner: must not contain any of \"%s\"" +msgstr "ogiltigt tecken i utökningsägare: får inte innehålla någon av \"%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 "ogiltigt tecken i schema för utökning \"%s\": får inte innehålla någon av \"%s\"" + +#: commands/extension.c:1292 #, c-format msgid "extension \"%s\" has no update path from version \"%s\" to version \"%s\"" msgstr "utökningen \"%s\" saknar uppdateringsmöjlighet från version \"%s\" till version \"%s\"" -#: commands/extension.c:1473 commands/extension.c:3064 +#: commands/extension.c:1500 commands/extension.c:3091 #, c-format msgid "version to install must be specified" msgstr "installationversion måste anges" -#: commands/extension.c:1510 +#: commands/extension.c:1537 #, c-format msgid "extension \"%s\" has no installation script nor update path for version \"%s\"" msgstr "utökning \"%s\" saknar installationsskript samt uppdateringsmöjlighet till version \"%s\"" -#: commands/extension.c:1544 +#: commands/extension.c:1571 #, c-format msgid "extension \"%s\" must be installed in schema \"%s\"" msgstr "utökning \"%s\" måste vara installerat i schema \"%s\"" -#: commands/extension.c:1704 +#: commands/extension.c:1731 #, c-format msgid "cyclic dependency detected between extensions \"%s\" and \"%s\"" msgstr "cirkulärt beroende upptäckt mellan utökningar \"%s\" och \"%s\"" -#: commands/extension.c:1709 +#: commands/extension.c:1736 #, c-format msgid "installing required extension \"%s\"" msgstr "installerar krävd utökning \"%s\"" -#: commands/extension.c:1732 +#: commands/extension.c:1759 #, c-format msgid "required extension \"%s\" is not installed" msgstr "krävd utökning \"%s\" är inte installerad" -#: commands/extension.c:1735 +#: commands/extension.c:1762 #, c-format msgid "Use CREATE EXTENSION ... CASCADE to install required extensions too." msgstr "Använd CREATE EXTENSION ... CASCADE för att installera alla krävda utökningar också." -#: commands/extension.c:1770 +#: commands/extension.c:1797 #, c-format msgid "extension \"%s\" already exists, skipping" msgstr "utökning \"%s\" finns redan, hoppar över" -#: commands/extension.c:1777 +#: commands/extension.c:1804 #, c-format msgid "extension \"%s\" already exists" msgstr "utökning \"%s\" finns redan" -#: commands/extension.c:1788 +#: commands/extension.c:1815 #, c-format msgid "nested CREATE EXTENSION is not supported" msgstr "nästlade CREATE EXTENSION stöds inte" -#: commands/extension.c:1952 +#: commands/extension.c:1979 #, c-format msgid "cannot drop extension \"%s\" because it is being modified" msgstr "kan inte ta bort utökning \"%s\" eftersom det håller på att modifieras" -#: 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 kan bara anropas från ett SQL-skript som körs av CREATE EXTENSION" -#: commands/extension.c:2439 +#: commands/extension.c:2466 #, c-format msgid "OID %u does not refer to a table" msgstr "OID %u refererar inte till en tabell" -#: commands/extension.c:2444 +#: commands/extension.c:2471 #, c-format msgid "table \"%s\" is not a member of the extension being created" msgstr "tabell \"%s\" är inte en del av utökningen som skapas" -#: 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 "kan inte flytta utökning \"%s\" till schema \"%s\" eftersom utökningen innehåller schemat" -#: commands/extension.c:2831 commands/extension.c:2925 +#: commands/extension.c:2858 commands/extension.c:2952 #, c-format msgid "extension \"%s\" does not support SET SCHEMA" msgstr "utökning \"%s\" stöder inte SET SCHEMA" -#: commands/extension.c:2888 +#: commands/extension.c:2915 #, c-format msgid "cannot SET SCHEMA of extension \"%s\" because other extensions prevent it" msgstr "kan inte göra SET SCHEMA på utökning \"%s\" då andra utökningar förhindrar det" -#: commands/extension.c:2890 +#: commands/extension.c:2917 #, c-format msgid "Extension \"%s\" requests no relocation of extension \"%s\"." msgstr "Utökningen \"%s\" begär ingen omlokalisering av utökningen \"%s\"" -#: commands/extension.c:2927 +#: commands/extension.c:2954 #, c-format msgid "%s is not in the extension's schema \"%s\"" msgstr "%s är inte utökningens schema \"%s\"" -#: commands/extension.c:2986 +#: commands/extension.c:3013 #, c-format msgid "nested ALTER EXTENSION is not supported" msgstr "nästlade ALTER EXTENSION stöds inte" -#: commands/extension.c:3075 +#: commands/extension.c:3102 #, c-format msgid "version \"%s\" of extension \"%s\" is already installed" msgstr "version \"%s\" av utökning \"%s\" är redan installerad" -#: commands/extension.c:3287 +#: commands/extension.c:3314 #, c-format msgid "cannot add an object of this type to an extension" msgstr "kan inte lägga till ett objekt av denna typ till en utökning" -#: commands/extension.c:3353 +#: commands/extension.c:3380 #, c-format msgid "cannot add schema \"%s\" to extension \"%s\" because the schema contains the extension" msgstr "kan inte lägga till schema \"%s\" till utökningen \"%s\" eftersom schemat innehåller utökningen" -#: commands/extension.c:3447 +#: commands/extension.c:3474 #, c-format msgid "file \"%s\" is too large" msgstr "filen \"%s\" är för stor" @@ -9867,7 +9877,7 @@ msgstr "prenumeration har skapats men är ej ansluten" #: 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 "För att initiera en replikering så måste du manuellt skapa replikeringsslot:en, aktivera prenumerationen samt refresh:a prenumerationen." #: commands/subscriptioncmds.c:1096 commands/subscriptioncmds.c:1502 #: commands/subscriptioncmds.c:1885 utils/cache/lsyscache.c:3642 @@ -9965,19 +9975,19 @@ msgstr "kunde inte ta emot lista med replikerade tabeller från publiceraren: %s #: commands/subscriptioncmds.c:2024 #, c-format msgid "subscription \"%s\" requested copy_data with origin = NONE but might copy data that had a different origin" -msgstr "" +msgstr "prenumeration \"%s\" begärde copy_data med origin = NONE men kan kopiera data från en annan källa" #: commands/subscriptioncmds.c:2026 #, 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." +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] "Prenumerationen som skapas läser från publlicering (%s) som innehåller tabell som skrivs till från andra prenumerationer." +msgstr[1] "Prenumerationen som skapas läser från publliceringar (%s) som innehåller tabell som skrivs till från andra prenumerationer." #: commands/subscriptioncmds.c:2029 #, c-format msgid "Verify that initial data copied from the publisher tables did not come from other origins." -msgstr "" +msgstr "Kontrollera att den initiala datan som kopieras från publicerade tabeller inte kom från andra källor." #: commands/subscriptioncmds.c:2135 replication/logical/tablesync.c:876 #: replication/pgoutput/pgoutput.c:1115 @@ -10827,8 +10837,7 @@ 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 -#, fuzzy, c-format -#| msgid "You may alter the constraint it derives from, instead." +#, 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." @@ -10848,10 +10857,9 @@ 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 -#, fuzzy, c-format -#| msgid "Generated columns cannot be used in COPY." +#, c-format msgid "system columns cannot be used in foreign keys" -msgstr "Genererade kolumner kan inte användas i COPY." +msgstr "systemkolumner kan inte användas i främmande nycklar" #: commands/tablecmds.c:11324 #, c-format @@ -10996,8 +11004,7 @@ msgid "cannot change owner of index \"%s\"" msgstr "kan inte byta ägare på index \"%s\"" #: commands/tablecmds.c:13863 commands/tablecmds.c:13875 -#, fuzzy, c-format -#| msgid "Change the ownership of the index's table, instead." +#, c-format msgid "Change the ownership of the index's table instead." msgstr "Byt ägare på indexets tabell istället." @@ -11108,10 +11115,9 @@ 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 -#, fuzzy, c-format -#| msgid "column \"%s\" in child table must be a generated column" +#, c-format msgid "column \"%s\" in child table must not be a generated column" -msgstr "kolumn \"%s\" i barntabell måste vara en genererad kolumn" +msgstr "kolumn \"%s\" i barntabell kan inte vara en genererad kolumn" #: commands/tablecmds.c:15228 #, c-format @@ -11842,7 +11848,7 @@ msgstr "tupel som skall uppdateras hade redan ändrats av en operation som trigg #: commands/trigger.c:3330 executor/nodeModifyTable.c:1531 #: executor/nodeModifyTable.c:1605 executor/nodeModifyTable.c:2364 -#: executor/nodeModifyTable.c:2447 executor/nodeModifyTable.c:3077 +#: executor/nodeModifyTable.c:2447 executor/nodeModifyTable.c:3078 #, 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." @@ -11857,7 +11863,7 @@ 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:2965 +#: executor/nodeModifyTable.c:2966 #, c-format msgid "could not serialize access due to concurrent delete" msgstr "kunde inte serialisera åtkomst på grund av samtidig borttagning" @@ -12369,10 +12375,9 @@ msgstr "Kan inte ändra på reserverade roller." #: 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 "rättighet saknas för att skapa roll" +msgstr "rättighet saknas för att ändra roll" #: commands/user.c:761 commands/user.c:1034 #, c-format @@ -12423,7 +12428,7 @@ msgstr "rättighet saknas för att ta bort roll" #: 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 "Bara roller med attributet %s och flaggan %s på målrollen får slänga roller." #: commands/user.c:1127 #, c-format @@ -12457,12 +12462,12 @@ msgstr "sessionsanvändaren kan inte tas bort" #: commands/user.c:1174 #, c-format msgid "Only roles with the %s attribute may drop roles with the %s attribute." -msgstr "" +msgstr "Bara roller med attributet %s kan slänga roller med attributet %s." #: commands/user.c:1180 #, c-format msgid "Only roles with the %s attribute and the %s option on role \"%s\" may drop this role." -msgstr "" +msgstr "Bara roller med attributet %s och flaggan %s på rollen \"%s\" kan slänga denna roll." #: commands/user.c:1306 #, c-format @@ -12487,12 +12492,12 @@ msgstr "rättighet saknas för att döpa om roll" #: commands/user.c:1429 #, c-format msgid "Only roles with the %s attribute may rename roles with the %s attribute." -msgstr "" +msgstr "Bara roller med attributet %s kan byta namn på roller med attributet %s." #: commands/user.c:1439 #, c-format msgid "Only roles with the %s attribute and the %s option on role \"%s\" may rename this role." -msgstr "" +msgstr "Bara roller med attributet %s och med flaggan %s på rollen \"%s\" får byta namn på denna roll." #: commands/user.c:1461 #, c-format @@ -12505,10 +12510,9 @@ msgid "unrecognized role option \"%s\"" msgstr "okänd rollflagga \"%s\"" #: commands/user.c:1530 -#, fuzzy, c-format -#| msgid "unrecognized value for option %s: %s" +#, c-format msgid "unrecognized value for role option \"%s\": \"%s\"" -msgstr "okänt värde för flaggan %s: %s" +msgstr "okänt värde för rollflaggan \"%s\": \"%s\"" #: commands/user.c:1563 #, c-format @@ -12551,22 +12555,19 @@ 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 -#, fuzzy, c-format -#| msgid "grant options cannot be granted back to your own grantor" +#, c-format msgid "%s option cannot be granted back to your own grantor" -msgstr "fullmaksgivarflaggor kan inte ges tillbaka till den som givit det till dig" +msgstr "flaggan %s kan inte ges tillbaka till den som givit det till dig" #: commands/user.c:1896 -#, fuzzy, c-format -#| msgid "role \"%s\" is already a member of role \"%s\"" +#, c-format msgid "role \"%s\" has already been granted membership in role \"%s\" by role \"%s\"" -msgstr "roll \"%s\" är redan en medlem i rollen \"%s\"" +msgstr "rollen \"%s\" har redan fått medlemskap i rollen \"%s\" av rollen \"%s\"" #: commands/user.c:2031 -#, fuzzy, c-format -#| msgid "role \"%s\" is not a member of role \"%s\"" +#, c-format msgid "role \"%s\" has not been granted membership in role \"%s\" by role \"%s\"" -msgstr "roll \"%s\" är inte en medlem i rollen \"%s\"" +msgstr "rollen \"%s\" har inte fått medlemskap i rollen \"%s\" av rollen \"%s\"" #: commands/user.c:2131 #, c-format @@ -12574,42 +12575,39 @@ msgid "role \"%s\" cannot have explicit members" msgstr "rollen \"%s\" kan inte ha explicita medlemmar" #: commands/user.c:2142 commands/user.c:2165 -#, fuzzy, c-format -#| msgid "permission denied to set role \"%s\"" +#, c-format msgid "permission denied to grant role \"%s\"" -msgstr "nekad tillåtelse att sätta roll \"%s\"" +msgstr "rättighet saknas för att dela ut rollen \"%s\"" #: commands/user.c:2144 #, c-format msgid "Only roles with the %s attribute may grant roles with the %s attribute." -msgstr "" +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 -#, fuzzy, c-format -#| msgid "permission denied to set role \"%s\"" +#, c-format msgid "permission denied to revoke role \"%s\"" -msgstr "nekad tillåtelse att sätta roll \"%s\"" +msgstr "rättighet saknas för att ta tillbaka rollen \"%s\"" #: commands/user.c:2151 #, c-format msgid "Only roles with the %s attribute may revoke roles with the %s attribute." -msgstr "" +msgstr "Bara roller med attributet %s får ta tillbaka rättigheter med roller som har attributet %s." #: commands/user.c:2167 #, c-format msgid "Only roles with the %s option on role \"%s\" may grant this role." -msgstr "" +msgstr "Bara roller med flaggan %s på rollen \"%s\" för dela ut denna roll." #: commands/user.c:2174 #, c-format msgid "Only roles with the %s option on role \"%s\" may revoke this role." -msgstr "" +msgstr "Bara roller med flaggan %s på rollen \"%s\" kan dra tillbaka denna roll." #: commands/user.c:2254 commands/user.c:2263 -#, fuzzy, c-format -#| msgid "permission denied to set role \"%s\"" +#, c-format msgid "permission denied to grant privileges as role \"%s\"" -msgstr "nekad tillåtelse att sätta roll \"%s\"" +msgstr "rättighet saknas att dela ut rättigheter som rollen \"%s\"" #: commands/user.c:2256 #, c-format @@ -12617,16 +12615,14 @@ msgid "Only roles with privileges of role \"%s\" may grant privileges as this ro msgstr "Bara roller med rättigheter från rollen \"%s\" får dela ut rättigheter för den rollen." #: commands/user.c:2265 -#, fuzzy, c-format -#| msgid "must have admin option on role \"%s\"" +#, c-format msgid "The grantor must have the %s option on role \"%s\"." -msgstr "måste ha \"admin option\" på roll \"%s\"" +msgstr "Utfärdaren måste ha flaggan %s på roll \"%s\"" #: commands/user.c:2273 -#, fuzzy, c-format -#| msgid "permission denied to set role \"%s\"" +#, c-format msgid "permission denied to revoke privileges granted by role \"%s\"" -msgstr "nekad tillåtelse att sätta roll \"%s\"" +msgstr "rättighet saknas att ta bort rättighet som utfärdats av roll \"%s\"" #: commands/user.c:2275 #, c-format @@ -12649,10 +12645,9 @@ msgid "\"vacuum_buffer_usage_limit\" must be 0 or between %d kB and %d kB" msgstr "\"vacuum_buffer_usage_limit\" måste vara 0 eller mellan %d kB och %d kB" #: commands/vacuum.c:209 -#, fuzzy, c-format -#| msgid "NUMERIC precision %d must be between 1 and %d" +#, c-format msgid "BUFFER_USAGE_LIMIT option must be 0 or between %d kB and %d kB" -msgstr "Precisionen %d för NUMERIC måste vara mellan 1 och %d" +msgstr "flaggan BUFFER_USAGE_LIMIT måste vara 0 eller mellan %d kB och %d kB" #: commands/vacuum.c:219 #, c-format @@ -12682,7 +12677,7 @@ msgstr "'VACUUM FULL kan inte köras parallellt" #: commands/vacuum.c:329 #, c-format msgid "BUFFER_USAGE_LIMIT cannot be specified for VACUUM FULL" -msgstr "" +msgstr "BUFFER_USAGE_LIMIT kan inte anges för VACUUM FULL" #: commands/vacuum.c:343 #, c-format @@ -12700,16 +12695,14 @@ msgid "PROCESS_TOAST required with VACUUM FULL" msgstr "PROCESS_TOAST krävs med VACUUM FULL" #: commands/vacuum.c:371 -#, fuzzy, c-format -#| msgid "OLD TABLE cannot be specified multiple times" +#, c-format msgid "ONLY_DATABASE_STATS cannot be specified with a list of tables" -msgstr "OLD TABLE får inte anges flera gånger" +msgstr "ONLY_DATABASE_STATS kan inte anges med en lista av tabeller" #: commands/vacuum.c:380 -#, fuzzy, c-format -#| msgid "option \"%s\" cannot be specified with other options" +#, c-format msgid "ONLY_DATABASE_STATS cannot be specified with other VACUUM options" -msgstr "flaggan \"%s\" kan inte anges tillsammans med andra flaggor" +msgstr "ONLY_DATABASE_STATS kan inte anges tillsammans med andra VACUUM-flaggor" #: commands/vacuum.c:515 #, c-format @@ -12717,16 +12710,14 @@ msgid "%s cannot be executed from VACUUM or ANALYZE" msgstr "%s kan inte köras från VACUUM eller ANALYZE" #: commands/vacuum.c:733 -#, fuzzy, c-format -#| msgid "permission denied for column %s" +#, c-format msgid "permission denied to vacuum \"%s\", skipping it" -msgstr "rättighet saknas för kolumn %s" +msgstr "rättighet saknas för att städa \"%s\", hoppar över det" #: commands/vacuum.c:746 -#, fuzzy, c-format -#| msgid "permission denied to set role \"%s\"" +#, c-format msgid "permission denied to analyze \"%s\", skipping it" -msgstr "nekad tillåtelse att sätta roll \"%s\"" +msgstr "rättighet saknas för att analysera \"%s\", hoppar över det" #: commands/vacuum.c:824 commands/vacuum.c:921 #, c-format @@ -12751,7 +12742,7 @@ msgstr "hoppar över analys av \"%s\" --- relationen finns inte längre" #: commands/vacuum.c:1161 #, c-format msgid "cutoff for removing and freezing tuples is far in the past" -msgstr "" +msgstr "gräns för borttagning och frysande av tupler är i dåtid" #: commands/vacuum.c:1162 commands/vacuum.c:1167 #, c-format @@ -12763,10 +12754,9 @@ msgstr "" "Du kan också behöva commit:a eller rulla tillbaka gamla förberedda transaktiooner alternativt slänga stillastående replikeringsslottar." #: commands/vacuum.c:1166 -#, fuzzy, c-format -#| msgid "oldest multixact is far in the past" +#, c-format msgid "cutoff for freezing multixacts is far in the past" -msgstr "äldsta multixact är från lång tid tillbaka" +msgstr "gräns för frysning av multixact är från dåtid" #: commands/vacuum.c:1908 #, c-format @@ -13693,7 +13683,7 @@ 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:2954 +#: executor/nodeModifyTable.c:2567 executor/nodeModifyTable.c:2955 #, c-format msgid "%s command cannot affect row a second time" msgstr "%s-kommandot kan inte påverka raden en andra gång" @@ -13703,17 +13693,17 @@ msgstr "%s-kommandot kan inte påverka raden en andra gång" 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:2956 +#: executor/nodeModifyTable.c:2957 #, 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:3037 +#: executor/nodeModifyTable.c:3038 #, 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:3076 +#: 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" @@ -13835,7 +13825,7 @@ 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:2874 +#: executor/spi.c:1717 parser/analyze.c:2912 #, c-format msgid "Scrollable cursors must be READ ONLY." msgstr "Scrollbara markörer måste vara READ ONLY." @@ -13882,10 +13872,9 @@ msgid "invalid option \"%s\"" msgstr "ogiltig flagga \"%s\"" #: 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 "Kanske tänkte du referera till kolumnen \"%s.%s\"." +msgstr "Kanske menade du flaggan \"%s\"." #: foreign/foreign.c:651 #, c-format @@ -14250,10 +14239,9 @@ msgid "One of TABLE or TABLES IN SCHEMA must be specified before a standalone ta msgstr "En av TABLE eller ALL TABLES IN SCHEMA måste anges innan en enskild tabell eller ett schemanamn." #: gram.y:18783 -#, fuzzy, c-format -#| msgid "invalid table name at or near" +#, c-format msgid "invalid table name" -msgstr "ogiltigt tabellnamn nära vid" +msgstr "ogiltigt tabellnamn" #: gram.y:18804 #, c-format @@ -14266,10 +14254,9 @@ msgid "column specification not allowed for schema" msgstr "kolumnspecifikation tillåts inte för schema" #: gram.y:18825 -#, fuzzy, c-format -#| msgid "invalid schema name at or near" +#, c-format msgid "invalid schema name" -msgstr "ogiltigt schemanamn nära vid" +msgstr "ogiltigt schemanamn" #: guc-file.l:192 #, c-format @@ -14335,38 +14322,28 @@ msgid "XQuery \"x\" flag (expanded regular expressions) is not implemented" msgstr "XQuery \"x\"-flagga (expanderat reguljärt uttryck) är inte implementerat" #: jsonpath_scan.l:174 -#, fuzzy -#| msgid "invalid Unicode escape value" msgid "invalid Unicode escape sequence" -msgstr "ogiltigt Unicode-escapevärde" +msgstr "ogiltigt Unicode-escapesekvens" #: jsonpath_scan.l:180 -#, fuzzy -#| msgid "invalid hexadecimal string literal" msgid "invalid hexadecimal character sequence" -msgstr "ogiltig hexdecimal sträng-literal" +msgstr "ogiltig hexdecimal teckensekvens" #: jsonpath_scan.l:195 -#, fuzzy -#| msgid "unexpected end of line" msgid "unexpected end after backslash" -msgstr "oväntat slut på raden" +msgstr "oväntat slut efter bakstreck" #: jsonpath_scan.l:201 repl_scanner.l:209 scan.l:741 msgid "unterminated quoted string" msgstr "icketerminerad citerad sträng" #: jsonpath_scan.l:228 -#, fuzzy -#| msgid "unexpected end of line" msgid "unexpected end of comment" -msgstr "oväntat slut på raden" +msgstr "oväntat slut på kommentar" #: jsonpath_scan.l:319 -#, fuzzy -#| msgid "numeric_literal" msgid "invalid numeric literal" -msgstr "numerisk_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 @@ -14386,16 +14363,12 @@ msgid "%s at or near \"%s\" of jsonpath input" msgstr "%s vid eller nära \"%s\" i jsonpath-indata" #: jsonpath_scan.l:557 -#, fuzzy -#| msgid "invalid query" msgid "invalid input" -msgstr "ogiltig fråga" +msgstr "ogiltig indata" #: jsonpath_scan.l:583 -#, fuzzy -#| msgid "invalid hexadecimal digit: \"%.*s\"" msgid "invalid hexadecimal digit" -msgstr "ogiltigt hexdecimal siffra: \"%.*s\"" +msgstr "ogiltigt hexdecimal siffra" #: jsonpath_scan.l:596 utils/adt/jsonfuncs.c:636 #, c-format @@ -14403,10 +14376,9 @@ msgid "unsupported Unicode escape sequence" msgstr "Unicode escape-sekvens som inte stöds" #: jsonpath_scan.l:614 -#, fuzzy, c-format -#| msgid "could not encode server key" +#, c-format msgid "could not convert Unicode to server encoding" -msgstr "kunde inte koda servernyckeln" +msgstr "kunde inte konvertera Unicode till serverns teckenkodning" #: lib/dshash.c:254 utils/mmgr/dsa.c:715 utils/mmgr/dsa.c:737 #: utils/mmgr/dsa.c:818 @@ -14640,10 +14612,9 @@ msgid "authentication failed for user \"%s\": invalid authentication method" msgstr "autentisering misslyckades för användare \"%s\": okänd autentiseringsmetod" #: libpq/auth.c:315 -#, fuzzy, c-format -#| msgid "Connection matched pg_hba.conf line %d: \"%s\"" +#, c-format msgid "Connection matched file \"%s\" line %d: \"%s\"" -msgstr "Anslutning matched rad %d i pg_hba.conf: \"%s\"" +msgstr "Anslutning matchade filen \"%s\", rad %d: \"%s\"" #: libpq/auth.c:359 #, c-format @@ -15422,15 +15393,14 @@ 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:1152 -#, fuzzy, c-format -#| msgid "certificate authentication failed for user \"%s\"" +#, c-format msgid "Client certificate verification failed at depth %d: %s." -msgstr "certifikat-autentisering misslyckades för användare \"%s\"" +msgstr "Klientcertifikat-autentisering misslyckades vid djupet %d: %s." #: libpq/be-secure-openssl.c:1189 #, c-format msgid "Failed certificate data (unverified): subject \"%s\", serial number %s, issuer \"%s\"." -msgstr "" +msgstr "Felaktig certifikatdata (ej verifierad): ämne \"%s\", serienummer %s, utställare \"%s\"." #: libpq/be-secure-openssl.c:1190 msgid "unknown" @@ -15539,16 +15509,14 @@ msgid "line %d of configuration file \"%s\"" msgstr "rad %d i konfigurationsfil \"%s\"" #: libpq/hba.c:462 -#, fuzzy, c-format -#| msgid "skipping missing configuration file \"%s\"" +#, c-format msgid "skipping missing authentication file \"%s\"" -msgstr "hoppar över saknad konfigureringsfil \"%s\"" +msgstr "hoppar över saknad autentiseringsfil \"%s\"" #: libpq/hba.c:614 -#, fuzzy, c-format -#| msgid "could not open configuration file \"%s\": maximum nesting depth exceeded" +#, c-format msgid "could not open file \"%s\": maximum nesting depth exceeded" -msgstr "kunde inte öppna konfigureringsfil \"%s\": maximalt nästlingsdjup överskridet" +msgstr "kunde inte öppna filen \"%s\": maximalt nästlingsdjup överskridet" #: libpq/hba.c:1221 #, c-format @@ -15567,10 +15535,9 @@ msgid "authentication method \"%s\" requires argument \"%s\" to be set" msgstr "autentiseringsmetod \"%s\" kräver att argumentet \"%s\" är satt" #: libpq/hba.c:1292 -#, fuzzy, c-format -#| msgid "missing entry in file \"%s\" at end of line %d" +#, c-format msgid "missing entry at end of line" -msgstr "saknar post i fil \"%s\" vid slutet av rad %d" +msgstr "saknar post vid slutet av raden" #: libpq/hba.c:1305 #, c-format @@ -16137,10 +16104,9 @@ msgid " -h HOSTNAME host name or IP address to listen on\n" msgstr " -h VÄRDNAMN värdnamn eller IP-adress att lyssna på\n" #: main/main.c:340 -#, fuzzy, c-format -#| msgid " -i enable TCP/IP connections\n" +#, c-format msgid " -i enable TCP/IP connections (deprecated)\n" -msgstr " -i tillåt TCP/IP-uppkopplingar\n" +msgstr " -i tillåt TCP/IP-uppkopplingar (obsolet)\n" #: main/main.c:341 #, c-format @@ -16222,10 +16188,9 @@ msgid " -t pa|pl|ex show timings after each query\n" msgstr " -t pa|pl|ex visa tidtagning efter varje fråga\n" #: main/main.c:359 -#, fuzzy, c-format -#| msgid " -T send SIGSTOP to all backend processes if one dies\n" +#, c-format msgid " -T send SIGABRT to all backend processes if one dies\n" -msgstr " -T skicka SIGSTOP till alla serverprocesser om en dör\n" +msgstr " -T skicka SIGABRT till alla serverprocesser om en dör\n" #: main/main.c:360 #, c-format @@ -16365,10 +16330,9 @@ msgid "relation \"%s\" does not have a composite type" msgstr "relationen \"%s\" har ingen composite-typ" #: nodes/makefuncs.c:879 -#, fuzzy, c-format -#| msgid "unrecognized encoding: \"%s\"" +#, c-format msgid "unrecognized JSON encoding: %s" -msgstr "okänd kodning: \"%s\"" +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 @@ -16406,8 +16370,8 @@ 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:1723 parser/analyze.c:1980 -#: parser/analyze.c:3193 +#: optimizer/plan/planner.c:1361 parser/analyze.c:1761 parser/analyze.c:2018 +#: parser/analyze.c:3231 #, c-format msgid "%s is not allowed with UNION/INTERSECT/EXCEPT" msgstr "%s tillåẗs inte med UNION/INTERSECT/EXCEPT" @@ -16494,217 +16458,217 @@ msgstr "ON CONFLICT DO UPDATE stöds inte med uteslutningsvillkor" 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:788 parser/analyze.c:1502 +#: parser/analyze.c:826 parser/analyze.c:1540 #, c-format msgid "VALUES lists must all be the same length" msgstr "VÄRDE-listor måste alla ha samma längd" -#: parser/analyze.c:990 +#: parser/analyze.c:1028 #, c-format msgid "INSERT has more expressions than target columns" msgstr "INSERT har fler uttryck än målkolumner" -#: parser/analyze.c:1008 +#: parser/analyze.c:1046 #, c-format msgid "INSERT has more target columns than expressions" msgstr "INSERT har fler målkolumner än uttryck" -#: 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 "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:1309 parser/analyze.c:1696 +#: parser/analyze.c:1347 parser/analyze.c:1734 #, 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:1625 parser/analyze.c:3425 +#: parser/analyze.c:1663 parser/analyze.c:3463 #, c-format msgid "%s cannot be applied to VALUES" msgstr "%s kan inte appliceras på VÄRDEN" -#: parser/analyze.c:1862 +#: parser/analyze.c:1900 #, c-format msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause" msgstr "ogiltig UNION/INTERSECT/EXCEPT ORDER BY-klausul" -#: parser/analyze.c:1863 +#: parser/analyze.c:1901 #, 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:1864 +#: parser/analyze.c:1902 #, 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:1970 +#: parser/analyze.c:2008 #, 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:2042 +#: parser/analyze.c:2080 #, 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:2129 +#: parser/analyze.c:2167 #, 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:2535 +#: parser/analyze.c:2573 #, c-format msgid "RETURNING must have at least one column" msgstr "RETURNING måste ha minst en kolumn" -#: parser/analyze.c:2638 +#: parser/analyze.c:2676 #, 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:2699 +#: parser/analyze.c:2737 #, 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:2824 parser/analyze.c:2832 +#: parser/analyze.c:2862 parser/analyze.c:2870 #, c-format msgid "cannot specify both %s and %s" msgstr "kan inte ange både %s och %s" -#: parser/analyze.c:2852 +#: parser/analyze.c:2890 #, 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:2860 +#: parser/analyze.c:2898 #, c-format msgid "DECLARE CURSOR WITH HOLD ... %s is not supported" msgstr "DECLARE CURSOR WITH HOLD ... %s stöds inte" -#: parser/analyze.c:2863 +#: parser/analyze.c:2901 #, 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:2871 +#: parser/analyze.c:2909 #, 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:2882 +#: parser/analyze.c:2920 #, c-format msgid "DECLARE INSENSITIVE CURSOR ... %s is not valid" msgstr "DECLARE INSENSITIVE CURSOR ... %s är inte giltig" -#: parser/analyze.c:2885 +#: parser/analyze.c:2923 #, c-format msgid "Insensitive cursors must be READ ONLY." msgstr "Okänsliga markörer måste vara READ ONLY." -#: parser/analyze.c:2979 +#: parser/analyze.c:3017 #, 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:2989 +#: parser/analyze.c:3027 #, 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:2999 +#: parser/analyze.c:3037 #, c-format msgid "materialized views may not be defined using bound parameters" msgstr "materialiserade vyer kan inte defineras med bundna parametrar" -#: parser/analyze.c:3011 +#: parser/analyze.c:3049 #, 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:3200 +#: parser/analyze.c:3238 #, 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:3207 +#: parser/analyze.c:3245 #, 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:3214 +#: parser/analyze.c:3252 #, 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:3221 +#: parser/analyze.c:3259 #, 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:3228 +#: parser/analyze.c:3266 #, 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:3235 +#: parser/analyze.c:3273 #, 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:3334 +#: parser/analyze.c:3372 #, 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:3398 +#: parser/analyze.c:3436 #, 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:3407 +#: parser/analyze.c:3445 #, 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:3416 +#: parser/analyze.c:3454 #, 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:3434 +#: parser/analyze.c:3472 #, 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:3443 +#: parser/analyze.c:3481 #, 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:3463 +#: parser/analyze.c:3501 #, c-format msgid "relation \"%s\" in %s clause not found in FROM clause" msgstr "relationen \"%s\" i %s-klausul hittades inte i FROM-klausul" @@ -17311,7 +17275,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:3502 +#: parser/parse_expr.c:2083 parser/parse_expr.c:2691 parser/parse_expr.c:3497 #: parser/parse_target.c:985 #, c-format msgid "cannot cast type %s to %s" @@ -17788,7 +17752,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:3633 +#: parser/parse_expr.c:1851 parser/parse_expr.c:3628 #, c-format msgid "subquery must return only one column" msgstr "underfråga kan bara returnera en kolumn" @@ -17886,61 +17850,57 @@ msgstr "IS DISTINCT FROM kräver att operatorn = ger tillbaka en boolean" #: parser/parse_expr.c:3239 #, c-format msgid "JSON ENCODING clause is only allowed for bytea input type" -msgstr "" +msgstr "JSON ENCODING tillåts bara för input-typen bytea" -#: parser/parse_expr.c:3246 +#: 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 "kan inte använda icke-strängtyper med implicit FORMAT JSON-klausul" -#: parser/parse_expr.c:3266 +#: 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 "kan inte använda icke-strängtyper med explicit FORMAT JSON-klausul" -#: parser/parse_expr.c:3340 -#, 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 "kan inte typomvandla jsonb-sträng till typ %s" +msgstr "kan inte använda JSON-formatet för utddata som inte är strängar" -#: parser/parse_expr.c:3353 +#: parser/parse_expr.c:3348 #, c-format msgid "cannot set JSON encoding for non-bytea output types" -msgstr "" +msgstr "kan inte sätta JSON-kodning för utdata-typer som inte är bytea" -#: parser/parse_expr.c:3358 -#, fuzzy, c-format -#| msgid "unsupported format code: %d" +#: parser/parse_expr.c:3353 +#, c-format msgid "unsupported JSON encoding" -msgstr "ej stödd formatkod: %d" +msgstr "ej stödd JSON-kodning" -#: parser/parse_expr.c:3359 +#: parser/parse_expr.c:3354 #, c-format msgid "Only UTF8 JSON encoding is supported." -msgstr "" +msgstr "Enbart JSON-kodningen UTF8 stöds." -#: parser/parse_expr.c:3396 -#, 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 "returtyp %s stöds inte för SQL-funktioner" +msgstr "returtyp SETOF stöds inte för SQL/JSON-funktioner" -#: parser/parse_expr.c:3717 parser/parse_func.c:865 +#: parser/parse_expr.c:3712 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:3939 +#: parser/parse_expr.c:3934 #, c-format msgid "cannot use JSON FORMAT ENCODING clause for non-bytea input types" -msgstr "" +msgstr "kan inte använda JSON FORMAT ENCODING för indatatyper som inte är bytea" -#: parser/parse_expr.c:3959 -#, fuzzy, c-format -#| msgid "cannot use subquery in index predicate" +#: parser/parse_expr.c:3954 +#, c-format msgid "cannot use type %s in IS JSON predicate" -msgstr "kan inte använda subfråga i indexpredikat" +msgstr "kan inte använda typen %s i ett IS JSON-predikat" #: parser/parse_func.c:194 #, c-format @@ -18515,15 +18475,14 @@ msgid "missing FROM-clause entry for table \"%s\"" msgstr "saknar FROM-klausulpost för tabell \"%s\"" #: parser/parse_relation.c:3690 -#, fuzzy, c-format -#| msgid "There is a column named \"%s\" in table \"%s\", but it cannot be referenced from this part of the query." +#, 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 en kolumn med namn \"%s\" i tabell \"%s\" men den kan inte refereras till från denna del av frågan." +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 #, c-format msgid "Try using a table-qualified name." -msgstr "" +msgstr "Försök med ett tabell-prefixat namn." #: parser/parse_relation.c:3700 #, c-format @@ -18538,7 +18497,7 @@ msgstr "För att referera till den kolumnen så måste denna subfråga markeras #: parser/parse_relation.c:3705 #, c-format msgid "To reference that column, you must use a table-qualified name." -msgstr "" +msgstr "För att referera till den kolumnen så måste du använda ett tabell-prefixat namn." #: parser/parse_relation.c:3725 #, c-format @@ -19464,10 +19423,9 @@ msgid "%s: invalid argument: \"%s\"\n" msgstr "%s: ogiltigt argument: \"%s\"\n" #: postmaster/postmaster.c:923 -#, fuzzy, c-format -#| msgid "%s: superuser_reserved_connections (%d) must be less than max_connections (%d)\n" +#, c-format msgid "%s: superuser_reserved_connections (%d) plus reserved_connections (%d) must be less than max_connections (%d)\n" -msgstr "%s: superuser_reserved_connections (%d) måste vara mindre än max_connections (%d)\n" +msgstr "%s: superuser_reserved_connections (%d) plus reserved_connections (%d) måste vara mindre än max_connections (%d)\n" #: postmaster/postmaster.c:931 #, c-format @@ -19546,10 +19504,9 @@ msgstr "%s: kunde inte skriva extern PID-fil \"%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\"" +#, c-format msgid "could not load %s" -msgstr "kunde inte skapa locale \"%s\"" +msgstr "kunde inte ladda \"%s\"" #: postmaster/postmaster.c:1431 #, c-format @@ -19589,10 +19546,9 @@ msgstr "" #. translator: %s is SIGKILL or SIGABRT #: postmaster/postmaster.c:1887 -#, fuzzy, c-format -#| msgid "issuing SIGKILL to recalcitrant children" +#, c-format msgid "issuing %s to recalcitrant children" -msgstr "skickar SIGKILL till motsträviga barn" +msgstr "skickar %s till motsträviga barn" #: postmaster/postmaster.c:1909 #, c-format @@ -20118,20 +20074,19 @@ msgstr "ogiltig startposition för strömning" #: replication/libpqwalreceiver/libpqwalreceiver.c:197 #: replication/libpqwalreceiver/libpqwalreceiver.c:280 -#, fuzzy, c-format -#| msgid "redo is not required" +#, c-format msgid "password is required" -msgstr "redo behövs inte" +msgstr "lösenord krävs" #: replication/libpqwalreceiver/libpqwalreceiver.c:198 #, c-format msgid "Non-superuser cannot connect if the server does not request a password." -msgstr "" +msgstr "Icke superanvändare kan inte ansluta till servern om den inte kräver lösenord." #: replication/libpqwalreceiver/libpqwalreceiver.c:199 #, c-format msgid "Target server's authentication method must be changed, or set password_required=false in the subscription parameters." -msgstr "" +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 #, c-format @@ -20146,7 +20101,7 @@ msgstr "ogiltig anslutningssträngsyntax %s" #: replication/libpqwalreceiver/libpqwalreceiver.c:281 #, c-format msgid "Non-superusers must provide a password in the connection string." -msgstr "" +msgstr "Icke superanvändare måste ange ett lösenord i anslutningssträngen." #: replication/libpqwalreceiver/libpqwalreceiver.c:307 #, c-format @@ -20253,54 +20208,45 @@ msgid "unexpected pipeline mode" msgstr "oväntat pipeline-läge" #: replication/logical/applyparallelworker.c:719 -#, fuzzy, c-format -#| msgid "logical replication apply worker for subscription \"%s\" has started" +#, c-format msgid "logical replication parallel apply worker for subscription \"%s\" has finished" -msgstr "logisk replikerings uppspelningsarbetare för prenumeration \"%s\" har startat" +msgstr "logisk replikerings parallella ändringsapplicerare för prenumeration \"%s\" har avslutat" #: 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 "tappad kopplingen till parallell arbetare" +msgstr "tappade anslutning till den logiska replikeringens ändringsapplicerare" #: replication/logical/applyparallelworker.c:1027 #: replication/logical/applyparallelworker.c:1029 -#, fuzzy -#| msgid "lost connection to parallel worker" msgid "logical replication parallel apply worker" -msgstr "tappad kopplingen till parallell arbetare" +msgstr "logisk replikerings ändringsapplicerare" #: 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 "avslutar logisk replikeringsarbetare på grund av timeout" +msgstr "logiska replikeringens ändringsappliceraren avslutade på grund av ett fel" #: 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 "tappad kopplingen till parallell arbetare" +msgstr "tappade anslutning till den logiska replikeringens parallella ändringsapplicerare" #: 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 "kunde inte skicka tupel till kö i delat minne: %m" +msgstr "kunde inte skicka data till kö i delat minne" #: replication/logical/applyparallelworker.c:1218 -#, fuzzy, c-format -#| msgid "logical replication apply worker for subscription %u will not start because the subscription was removed during startup" +#, c-format msgid "logical replication apply worker will serialize the remaining changes of remote transaction %u to a file" -msgstr "logisk replikerings uppspelningsarbetare för prenumeration %u kommer inte starta då prenumerationen togs bort under uppstart" +msgstr "logiska replikeringens ändringsapplicerare kommer spara ner återstående ändringarna av fjärrtransaktion %u til en fil" #: replication/logical/decode.c:180 replication/logical/logical.c:140 -#, 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 "logisk avkodning kräver wal_level >= logical" +msgstr "logisk avkodning på standby kräver wal_level >= logical på primären" #: replication/logical/launcher.c:331 #, c-format @@ -20313,14 +20259,13 @@ 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:1290 storage/lmgr/lock.c:964 storage/lmgr/lock.c:1002 +#: 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 -#, fuzzy, c-format -#| msgid "You might need to initdb." +#, c-format msgid "You might need to increase %s." -msgstr "Du kan behöva köra initdb." +msgstr "Du kan behöva öka %s." #: replication/logical/launcher.c:498 #, c-format @@ -20373,10 +20318,9 @@ msgid "This slot has been invalidated because it exceeded the maximum reserved s msgstr "Denna slot har invaliderats då den överskred maximal reserverad storlek." #: replication/logical/logical.c:543 -#, fuzzy, c-format -#| msgid "This slot has been invalidated because it exceeded the maximum reserved size." +#, c-format msgid "This slot has been invalidated because it was conflicting with recovery." -msgstr "Denna slot har invaliderats då den överskred maximal reserverad storlek." +msgstr "Denna slot har invaliderats den var i konflikt med återställningen." #: replication/logical/logical.c:608 #, c-format @@ -20508,7 +20452,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:2086 +#: replication/slot.c:2093 #, c-format msgid "Increase max_replication_slots and try again." msgstr "Öka max_replication_slots och försök igen." @@ -20530,10 +20474,9 @@ msgid "replication origin name \"%s\" is reserved" msgstr "replikeringskällnamn \"%s\" är reserverat" #: replication/logical/origin.c:1284 -#, fuzzy, c-format -#| msgid "Origin names starting with \"pg_\" are reserved." +#, c-format msgid "Origin names \"%s\", \"%s\", and names starting with \"pg_\" are reserved." -msgstr "Källnamn som startar med \"pg_\" är reserverade." +msgstr "Källnamn \"%s\", \"%s\" och namn som startar med \"pg_\" är reserverade." #: replication/logical/relation.c:240 #, c-format @@ -20713,15 +20656,14 @@ msgid "table copy could not finish transaction on publisher: %s" msgstr "tabellkopiering kunde inte slutföra transaktion på publiceraren: %s" #: replication/logical/worker.c:499 -#, fuzzy, c-format -#| msgid "logical replication apply worker for subscription \"%s\" has started" +#, c-format msgid "logical replication parallel apply worker for subscription \"%s\" will stop" -msgstr "logisk replikerings uppspelningsarbetare för prenumeration \"%s\" har startat" +msgstr "logiska replikeringens parallella ändringsapplicerare för prenumeration \"%s\" kommer stoppa" #: 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 "Kan inte hantera strömmade replikerade transaktioner med parallell ändringsapplicerare innan alla tabeller har synkroniserats." #: replication/logical/worker.c:863 replication/logical/worker.c:978 #, c-format @@ -20739,10 +20681,9 @@ msgid "logical replication target relation \"%s.%s\" has neither REPLICA IDENTIT msgstr "logisk replikeringsmålrelation \"%s.%s\" har varken REPLICA IDENTITY-index eller PRIMARY KEY och den publicerade relationen har inte REPLICA IDENTITY FULL" #: replication/logical/worker.c:3384 -#, fuzzy, c-format -#| msgid "invalid logical replication message type \"%c\"" +#, c-format msgid "invalid logical replication message type \"??? (%d)\"" -msgstr "ogiltig logisk replikeringsmeddelandetyp \"%c\"" +msgstr "ogiltig logisk replikeringsmeddelandetyp \"??? (%d)\"" #: replication/logical/worker.c:3556 #, c-format @@ -20755,40 +20696,34 @@ msgid "terminating logical replication worker due to timeout" msgstr "avslutar logisk replikeringsarbetare på grund av timeout" #: replication/logical/worker.c:3907 -#, fuzzy, c-format -#| msgid "logical replication apply worker for subscription \"%s\" will stop because the subscription was removed" +#, c-format msgid "logical replication worker for subscription \"%s\" will stop because the subscription was removed" -msgstr "logisk replikerings uppspelningsarbetare för prenumeration \"%s\" kommer stoppa då prenumerationen har tagits bort" +msgstr "logiska replikerings ändringsapplicerare för prenumeration \"%s\" kommer att stoppa då prenumerationen har tagits bort" #: replication/logical/worker.c:3920 -#, fuzzy, c-format -#| msgid "logical replication apply worker for subscription \"%s\" will stop because the subscription was disabled" +#, c-format msgid "logical replication worker for subscription \"%s\" will stop because the subscription was disabled" -msgstr "logisk replikerings uppspelningsarbetare för prenumeration \"%s\" kommer stoppa då prenumerationen har stängts av" +msgstr "logiska replikerings ändringsapplicerare för prenumeration \"%s\" kommer att stoppa då prenumerationen har stängts av" #: replication/logical/worker.c:3951 -#, fuzzy, c-format -#| msgid "logical replication apply worker for subscription \"%s\" will restart because of a parameter change" +#, c-format msgid "logical replication parallel apply worker for subscription \"%s\" will stop because of a parameter change" -msgstr "arbetarprocess för uppspelning av logisk replikering av prenumeration \"%s\" kommer starta om på grund av ändrade parametrar" +msgstr "logiska replikeringens ändringsapplicerare för prenumeration \"%s\" kommer att stoppa på grund av ändrade parametrar" #: replication/logical/worker.c:3955 -#, fuzzy, c-format -#| msgid "logical replication apply worker for subscription \"%s\" will restart because of a parameter change" +#, c-format msgid "logical replication worker for subscription \"%s\" will restart because of a parameter change" -msgstr "arbetarprocess för uppspelning av logisk replikering av prenumeration \"%s\" kommer starta om på grund av ändrade parametrar" +msgstr "logiska replikeringens ändringsapplicerare för prenumeration \"%s\" kommer att startas om på grund av ändrade parametrar" #: replication/logical/worker.c:4478 -#, fuzzy, c-format -#| msgid "logical replication apply worker for subscription %u will not start because the subscription was removed during startup" +#, c-format msgid "logical replication worker for subscription %u will not start because the subscription was removed during startup" -msgstr "logisk replikerings uppspelningsarbetare för prenumeration %u kommer inte starta då prenumerationen togs bort under uppstart" +msgstr "logiska replikeringens ändringsapplicerare för prenumeration %u kommer inte att startas då prenumerationen togs bort i uppstarten" #: replication/logical/worker.c:4493 -#, fuzzy, c-format -#| msgid "logical replication apply worker for subscription \"%s\" will not start because the subscription was disabled during startup" +#, c-format msgid "logical replication worker for subscription \"%s\" will not start because the subscription was disabled during startup" -msgstr "logisk replikerings uppspelningsarbetare för prenumeration \"%s\" kommer inte starta då prenumerationen stänges av under uppstart" +msgstr "logiska replikeringens ändringsapplicerare för prenumeration \"%s\" kommer inte att startas då prenumerationen stängdes av i uppstarten" #: replication/logical/worker.c:4510 #, c-format @@ -20798,7 +20733,7 @@ msgstr "logisk replikerings tabellsynkroniseringsarbetare för prenumeration \"% #: replication/logical/worker.c:4515 #, c-format msgid "logical replication apply worker for subscription \"%s\" has started" -msgstr "logisk replikerings uppspelningsarbetare för prenumeration \"%s\" har startat" +msgstr "logiska replikeringens ändringsapplicerare för prenumeration \"%s\" har startat" #: replication/logical/worker.c:4590 #, c-format @@ -20846,10 +20781,9 @@ msgid "processing remote data for replication origin \"%s\" during message type msgstr "processande av fjärrdata för replikeringskälla \"%s\" vid meddelandetyp \"%s\" i transaktion %u blev klar vid %X/%X" #: replication/logical/worker.c:4948 -#, fuzzy, 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" +#, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u" -msgstr "processande av fjärrdata för replikeringskälla \"%s\" vid meddelandetyp \"%s\" för replikeringsmålrelation \"%s.%s\" i transaktion %u blev klart vid %X/%X" +msgstr "processande av fjärrdata för replikeringskälla \"%s\" vid meddelandetyp \"%s\" för replikeringsmålrelation \"%s.%s\" i transaktion %u" #: replication/logical/worker.c:4955 #, c-format @@ -20857,10 +20791,9 @@ msgid "processing remote data for replication origin \"%s\" during message type msgstr "processande av fjärrdata för replikeringskälla \"%s\" vid meddelandetyp \"%s\" för replikeringsmålrelation \"%s.%s\" i transaktion %u blev klart vid %X/%X" #: replication/logical/worker.c:4966 -#, fuzzy, 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" +#, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" column \"%s\" in transaction %u" -msgstr "processande av fjärrdata för replikeringskälla \"%s\" vid meddelandetyp \"%s\" för replikeringsmålrelation \"%s.%s\" kolumn \"%s\" i transaktion %u blev klart vid %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" #: replication/logical/worker.c:4974 #, c-format @@ -20883,16 +20816,14 @@ msgid "invalid publication_names syntax" msgstr "ogiltig publication_names-syntax" #: replication/pgoutput/pgoutput.c:443 -#, fuzzy, c-format -#| msgid "client sent proto_version=%d but we only support protocol %d or lower" +#, c-format msgid "client sent proto_version=%d but server only supports protocol %d or lower" -msgstr "klienten skickade proto_version=%d men vi stöder bara protokoll %d eller lägre" +msgstr "klienten skickade proto_version=%d men servern stöder bara protokoll %d eller lägre" #: replication/pgoutput/pgoutput.c:449 -#, fuzzy, c-format -#| msgid "client sent proto_version=%d but we only support protocol %d or higher" +#, c-format msgid "client sent proto_version=%d but server only supports protocol %d or higher" -msgstr "klienten skickade proto_version=%d men vi stöder bara protokoll %d eller högre" +msgstr "klienten skickade proto_version=%d men servern stöder bara protokoll %d eller högre" #: replication/pgoutput/pgoutput.c:455 #, c-format @@ -20905,10 +20836,9 @@ 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 -#, fuzzy, c-format -#| msgid "requested proto_version=%d does not support streaming, need %d or higher" +#, 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 strömning, kräver %d eller högre" +msgstr "efterfrågade proto_version=%d stöder inte parallell strömning, kräver %d eller högre" #: replication/pgoutput/pgoutput.c:480 #, c-format @@ -20971,7 +20901,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:1638 replication/slot.c:2021 +#: replication/slot.c:756 replication/slot.c:1645 replication/slot.c:2028 #, c-format msgid "could not remove directory \"%s\"" msgstr "kunde inte ta bort katalog \"%s\"" @@ -20987,85 +20917,82 @@ msgid "replication slots can only be used if wal_level >= replica" msgstr "replikeringsslots kan bara användas om wal_level >= replica" #: replication/slot.c:1162 -#, fuzzy, c-format -#| msgid "permission denied for publication %s" +#, c-format msgid "permission denied to use replication slots" -msgstr "rättighet saknas för publicering %s" +msgstr "rättighet saknas för att använda replikeringsslottar" #: replication/slot.c:1163 #, c-format msgid "Only roles with the %s attribute may use replication slots." -msgstr "" +msgstr "Bara roller med attributet %s får använda replikeringsslottar." -#: 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] "Slottens restart_lsn %X/%X överskrider gränsen på %llu byte." +msgstr[1] "Slottens restart_lsn %X/%X överskrider gränsen på %llu bytes." -#: replication/slot.c: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 "Nyckel %s står i konflilkt med existerande nyckel %s." +msgstr "Slotten är i konflikt med xid-horisont %u." -#: 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 "logisk avkodning kräver wal_level >= logical" +msgstr "logisk avkodning på standby kräver wal_level >= logical på primären" -#: replication/slot.c:1285 +#: replication/slot.c:1292 #, c-format msgid "terminating process %d to release replication slot \"%s\"" msgstr "avslutar process %d för att frigöra replikeringsslot \"%s\"" -#: replication/slot.c:1287 -#, fuzzy, c-format -#| msgid "creating replication slot \"%s\"" +#: replication/slot.c:1294 +#, c-format msgid "invalidating obsolete replication slot \"%s\"" -msgstr "skapar replikeringsslot \"%s\"" +msgstr "invaliderar obsolet replikeringssslot \"%s\"" -#: replication/slot.c:1959 +#: replication/slot.c:1966 #, 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:1966 +#: replication/slot.c:1973 #, c-format msgid "replication slot file \"%s\" has unsupported version %u" msgstr "replikeringsslotfil \"%s\" har en icke stödd version %u" -#: replication/slot.c:1973 +#: replication/slot.c:1980 #, c-format msgid "replication slot file \"%s\" has corrupted length %u" msgstr "replikeringsslotfil \"%s\" har felaktig längd %u" -#: replication/slot.c:2009 +#: replication/slot.c:2016 #, 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:2043 +#: replication/slot.c:2050 #, c-format msgid "logical replication slot \"%s\" exists, but wal_level < logical" msgstr "logisk replikeringsslot \"%s\" finns men wal_level < replica" -#: replication/slot.c:2045 +#: replication/slot.c:2052 #, c-format msgid "Change wal_level to be logical or higher." msgstr "Ändra wal_level till logical eller högre." -#: replication/slot.c:2049 +#: replication/slot.c:2056 #, c-format msgid "physical replication slot \"%s\" exists, but wal_level < replica" msgstr "fysisk replikeringsslot \"%s\" finns men wal_level < replica" -#: replication/slot.c:2051 +#: replication/slot.c:2058 #, c-format msgid "Change wal_level to be replica or higher." msgstr "Ändra wal_level till replica eller högre." -#: replication/slot.c:2085 +#: replication/slot.c:2092 #, c-format msgid "too many replication slots active before shutdown" msgstr "för många aktiva replikeringsslottar innan nerstängning" @@ -21221,10 +21148,9 @@ msgid "primary server contains no more WAL on requested timeline %u" msgstr "primär server har ingen mer WAL på efterfrågad tidslinje %u" #: replication/walreceiver.c:640 replication/walreceiver.c:1066 -#, fuzzy, c-format -#| msgid "could not close log segment %s: %m" +#, c-format msgid "could not close WAL segment %s: %m" -msgstr "kunde inte stänga loggsegment %s: %m" +msgstr "kunde inte stänga WAL-segment %s: %m" #: replication/walreceiver.c:759 #, c-format @@ -21232,10 +21158,9 @@ msgid "fetching timeline history file for timeline %u from primary server" msgstr "hämtar tidslinjehistorikfil för tidslinje %u från primära servern" #: replication/walreceiver.c:954 -#, fuzzy, c-format -#| msgid "could not write to log segment %s at offset %u, length %lu: %m" +#, c-format msgid "could not write to WAL segment %s at offset %u, length %lu: %m" -msgstr "kunde inte skriva till loggfilsegment %s på offset %u, längd %lu: %m" +msgstr "kunde inte skriva till WAL-segment %s på offset %u, längd %lu: %m" #: replication/walsender.c:519 #, c-format @@ -21297,10 +21222,9 @@ msgstr "%s måste anropas i transaktions REPEATABLE READ-isolationsläge" #. translator: %s is a CREATE_REPLICATION_SLOT statement #: replication/walsender.c:1116 -#, fuzzy, c-format -#| msgid "%s must be called inside a transaction" +#, c-format msgid "%s must be called in a read-only transaction" -msgstr "%s måste anropas i en transaktion" +msgstr "%s måste anropas i en read-only-transaktion" #. translator: %s is a CREATE_REPLICATION_SLOT statement #: replication/walsender.c:1122 @@ -21369,7 +21293,7 @@ msgstr "regel \"%s\" för relation \"%s\" existerar redan" #: rewrite/rewriteDefine.c:268 rewrite/rewriteDefine.c:780 #, c-format msgid "relation \"%s\" cannot have rules" -msgstr "relationen \"%s\" kan inte regler" +msgstr "relationen \"%s\" kan inte ha regler" #: rewrite/rewriteDefine.c:299 #, c-format @@ -21392,10 +21316,9 @@ msgid "Use triggers instead." msgstr "Använd triggrar istället." #: rewrite/rewriteDefine.c:319 -#, fuzzy, c-format -#| msgid "relation \"%s\" cannot have rules" +#, c-format msgid "relation \"%s\" cannot have ON SELECT rules" -msgstr "relationen \"%s\" kan inte regler" +msgstr "relationen \"%s\" kan inte ha ON SELECT-regler" #: rewrite/rewriteDefine.c:329 #, c-format @@ -21544,10 +21467,9 @@ msgid "WITH query name \"%s\" appears in both a rule action and the query being msgstr "WITH-frågenamn \"%s\" finns både i en regelhändelse och i frågan som skrivs om" #: rewrite/rewriteHandler.c:610 -#, fuzzy, c-format -#| msgid "INSERT...SELECT rule actions are not supported for queries having data-modifying statements in WITH" +#, c-format msgid "INSERT ... SELECT rule actions are not supported for queries having data-modifying statements in WITH" -msgstr "INSERT...SELECT-regler stöds inte för frågor som har datamodifierande satser i WITH" +msgstr "INSERT ... SELECT-regler stöds inte för frågor som har datamodifierande satser i WITH" #: rewrite/rewriteHandler.c:663 #, c-format @@ -21817,22 +21739,16 @@ msgid "trailing junk after parameter" msgstr "skräptecken kommer efter parameter" #: scan.l:1021 -#, fuzzy -#| msgid "invalid hexadecimal string literal" msgid "invalid hexadecimal integer" -msgstr "ogiltig hexdecimal sträng-literal" +msgstr "ogiltigt hexdecimalt heltal" #: scan.l:1025 -#, fuzzy -#| msgid "invalid Datum pointer" msgid "invalid octal integer" -msgstr "ogiltigt Datum-pekare" +msgstr "ogiltigt oktalt heltal" #: scan.l:1029 -#, fuzzy -#| msgid "invalid binary \"%s\"" msgid "invalid binary integer" -msgstr "ogiltig binär \"%s\"" +msgstr "ogiltigt binärt heltal" #. translator: %s is typically the translation of "syntax error" #: scan.l:1236 @@ -21978,10 +21894,9 @@ msgid "could not open temporary file \"%s\" from BufFile \"%s\": %m" msgstr "kunde inte öppna temporär fil \"%s\" från BufFile \"%s\": %m" #: storage/file/buffile.c:632 -#, fuzzy, c-format -#| msgid "could not read from temporary file: read only %zu of %zu bytes" +#, c-format msgid "could not read from file set \"%s\": read only %zu of %zu bytes" -msgstr "kunde inte läsa från temporärfil: läste bara %zu av %zu byte" +msgstr "kunde inte läsa från filmängd \"%s\": läste bara %zu av %zu byte" #: storage/file/buffile.c:634 #, c-format @@ -22029,10 +21944,9 @@ msgid "insufficient file descriptors available to start server process" msgstr "otillräckligt antal fildeskriptorer tillgängligt för att starta serverprocessen" #: storage/file/fd.c:1028 -#, fuzzy, c-format -#| msgid "System allows %d, we need at least %d." +#, c-format msgid "System allows %d, server needs at least %d." -msgstr "Systemet tillåter %d, vi behöver minst %d." +msgstr "Systemet tillåter %d, servern behöver minst %d." #: storage/file/fd.c:1116 storage/file/fd.c:2565 storage/file/fd.c:2674 #: storage/file/fd.c:2825 @@ -22122,20 +22036,19 @@ msgid "syncing data directory (fsync), elapsed time: %ld.%02d s, current path: % msgstr "synkroniserar datakatalog (fsync), förbrukad tid: %ld.%02d s, aktuell sökväg: %s" #: storage/file/fd.c:3897 -#, fuzzy, c-format -#| msgid "Direct I/O is not supported on this platform.\n" +#, c-format msgid "debug_io_direct is not supported on this platform." -msgstr "Direkt I/O stöds inte på denna plattform.\n" +msgstr "debug_io_direct stöds inte på denna plattform." #: 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 stöds inte för WAL då XLOG_BLCKSZ är för liten" #: 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 stöds inte för data då BLCKSZ är för liten" #: storage/file/reinit.c:145 #, c-format @@ -22229,15 +22142,14 @@ 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 -#, fuzzy, c-format -#| msgid "permission denied to create role" +#, c-format msgid "permission denied to terminate process" -msgstr "rättighet saknas för att skapa roll" +msgstr "rättighet saknas för att avsluta process" #: storage/ipc/procarray.c:3829 storage/ipc/signalfuncs.c:231 #, c-format msgid "Only roles with the %s attribute may terminate processes of roles with the %s attribute." -msgstr "" +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 #, c-format @@ -22245,10 +22157,9 @@ msgid "Only roles with privileges of the role whose process is being terminated msgstr "Bara roller med rättigheter från rollen vars process kommer termineras eller med rättigheter från rollen \"%s\" får terminera denna process." #: storage/ipc/procsignal.c:420 -#, fuzzy, c-format -#| msgid "still waiting for backend with PID %lu to accept ProcSignalBarrier" +#, c-format msgid "still waiting for backend with PID %d to accept ProcSignalBarrier" -msgstr "väntare fortfarande på att backend:en med PID %lu skall acceptera ProcSignalBarrier" +msgstr "väntare fortfarande på att backend:en med PID %d skall acceptera ProcSignalBarrier" #: storage/ipc/shm_mq.c:384 #, c-format @@ -22307,15 +22218,14 @@ 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 -#, fuzzy, c-format -#| msgid "permission denied to create role" +#, c-format msgid "permission denied to cancel query" -msgstr "rättighet saknas för att skapa roll" +msgstr "rättighet saknas för att avbryta fråga" #: storage/ipc/signalfuncs.c:125 #, c-format msgid "Only roles with the %s attribute may cancel queries of roles with the %s attribute." -msgstr "" +msgstr "Bara roller med attributet %s får avbryta frågor åt roller med attributet %s." #: storage/ipc/signalfuncs.c:132 #, c-format @@ -22396,10 +22306,8 @@ msgid "recovery conflict on snapshot" msgstr "återställningskonflikt vid snapshot" #: storage/ipc/standby.c:1505 -#, fuzzy -#| msgid "recovery conflict on snapshot" msgid "recovery conflict on replication slot" -msgstr "återställningskonflikt vid snapshot" +msgstr "återställningskonflikt vid replikeringsslot" #: storage/ipc/standby.c:1508 msgid "recovery conflict on buffer deadlock" @@ -22545,10 +22453,9 @@ msgid "advisory lock [%u,%u,%u,%u]" msgstr "rådgivande lås [%u,%u,%u,%u]" #: storage/lmgr/lmgr.c:1246 -#, fuzzy, c-format -#| msgid "extension of relation %u of database %u" +#, c-format msgid "remote transaction %u of subscription %u of database %u" -msgstr "utökning av relation %u i databas %u" +msgstr "fjärrtransaktion %u för prenumeration %u i databas %u" #: storage/lmgr/lmgr.c:1253 #, c-format @@ -22703,10 +22610,9 @@ msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u" msgstr "kunde inte utöka fil \"%s\": skrev bara %d av %d byte vid block %u" #: storage/smgr/md.c:591 -#, fuzzy, c-format -#| msgid "could not extend file \"%s\": %m" +#, c-format msgid "could not extend file \"%s\" with FileFallocate(): %m" -msgstr "kunde inte utöka fil \"%s\": %m" +msgstr "kunde inte utöka fil \"%s\" med FileFallocate(): %m" #: storage/smgr/md.c:782 #, c-format @@ -22903,10 +22809,9 @@ msgid "User query might have needed to see row versions that must be removed." msgstr "Användarfrågan kan ha behövt se radversioner som har tagits bort." #: tcop/postgres.c:2530 -#, fuzzy, c-format -#| msgid "cannot use a logical replication slot for physical replication" +#, c-format msgid "User was using a logical replication slot that must be invalidated." -msgstr "kan inte använda logisk replikeringsslot för fysisk replikering" +msgstr "Användaren använde en logisk replikeringsslot som måste invalideras." #: tcop/postgres.c:2536 #, c-format @@ -23155,10 +23060,9 @@ msgstr "kan inte köra %s i en bakgrundsprocess" #. translator: %s is name of a SQL command, eg CHECKPOINT #: tcop/utility.c:954 -#, fuzzy, c-format -#| msgid "permission denied for sequence %s" +#, c-format msgid "permission denied to execute %s command" -msgstr "rättighet saknas för sekvens %s" +msgstr "rättighet saknas för köra kommandot %s" #: tcop/utility.c:956 #, c-format @@ -23555,10 +23459,9 @@ msgid "function \"%s\" does not exist" msgstr "funktionen \"%s\" finns inte" #: utils/adt/acl.c:5023 -#, fuzzy, c-format -#| msgid "must be member of role \"%s\"" +#, c-format msgid "must be able to SET ROLE \"%s\"" -msgstr "måste vara medlem i rollen \"%s\"" +msgstr "måste kunna utföra SET ROLE \"%s\"" #: utils/adt/array_userfuncs.c:102 utils/adt/array_userfuncs.c:489 #: utils/adt/array_userfuncs.c:878 utils/adt/json.c:694 utils/adt/json.c:831 @@ -23638,10 +23541,9 @@ msgid "initial position must not be null" msgstr "initiala positionen får ej vara 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 "urvalsprocent måste vara mellan 0 och 100" +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 @@ -24148,10 +24050,9 @@ msgid "Invalid size unit: \"%s\"." msgstr "Ogiltig storleksenhet: \"%s\"." #: utils/adt/dbsize.c:839 -#, fuzzy, c-format -#| msgid "Valid units are \"bytes\", \"kB\", \"MB\", \"GB\", \"TB\", and \"PB\"." +#, c-format msgid "Valid units are \"bytes\", \"B\", \"kB\", \"MB\", \"GB\", \"TB\", and \"PB\"." -msgstr "Giltiga enheter är \"bytes\", \"kB\", \"MB\", \"GB\", \"TB\" och \"PB\"." +msgstr "Giltiga enheter är \"bytes\", \"B\", \"kB\", \"MB\", \"GB\", \"TB\" och \"PB\"." #: utils/adt/domains.c:92 #, c-format @@ -24718,10 +24619,9 @@ msgid "null value not allowed for object key" msgstr "null-värde tillåts inte som objektnyckel" #: utils/adt/json.c:1189 utils/adt/json.c:1352 -#, fuzzy, c-format -#| msgid "Duplicate keys exist." -msgid "duplicate JSON key %s" -msgstr "Duplicerade nycklar existerar." +#, c-format +msgid "duplicate JSON object key value: %s" +msgstr "duplicerat nyckelvärde i JSON objekt: %s" #: utils/adt/json.c:1297 utils/adt/jsonb.c:1233 #, c-format @@ -24744,10 +24644,10 @@ msgstr "array:en måste ha två kolumner" msgid "mismatched array dimensions" msgstr "array-dimensionerna stämmer inte" -#: 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 "duplicerat nyckelvärde i JSON objekt" #: utils/adt/jsonb.c:294 #, c-format @@ -24820,22 +24720,15 @@ msgid "number of jsonb array elements exceeds the maximum allowed (%zu)" msgstr "antalet jsonb-array-element överskrider det maximalt tillåtna (%zu)" #: utils/adt/jsonb_util.c:1673 utils/adt/jsonb_util.c:1693 -#, fuzzy, c-format -#| msgid "total size of jsonb array elements exceeds the maximum of %u bytes" +#, c-format msgid "total size of jsonb array elements exceeds the maximum of %d bytes" -msgstr "total storlek på elementen i jsonb-array överskrider maximala %u byte" +msgstr "total storleken på element i jsonb-array överskrider maximala %d byte" #: utils/adt/jsonb_util.c:1754 utils/adt/jsonb_util.c:1789 #: utils/adt/jsonb_util.c:1809 -#, fuzzy, c-format -#| msgid "total size of jsonb object elements exceeds the maximum of %u bytes" -msgid "total size of jsonb object elements exceeds the maximum of %d bytes" -msgstr "total storlek på element i jsonb-objekt överskrider maximum på %u byte" - -#: utils/adt/jsonb_util.c:1958 #, c-format -msgid "duplicate JSON object key" -msgstr "" +msgid "total size of jsonb object elements exceeds the maximum of %d bytes" +msgstr "total storleken på element i jsonb-objekt överskrider maximala %d byte" #: utils/adt/jsonbsubs.c:70 utils/adt/jsonbsubs.c:151 #, c-format @@ -25598,10 +25491,9 @@ msgid "percentile value %g is not between 0 and 1" msgstr "percentil-värde %g är inte mellan 0 och 1" #: utils/adt/pg_locale.c:1406 -#, fuzzy, c-format -#| msgid "could not open collator for locale \"%s\": %s" +#, c-format msgid "could not open collator for locale \"%s\" with rules \"%s\": %s" -msgstr "kunde inte öppna jämförelse för lokal \"%s\": %s" +msgstr "kunde inte öppna jämförelse för lokal \"%s\" med regler \"%s\": %s" #: utils/adt/pg_locale.c:1417 utils/adt/pg_locale.c:2831 #: utils/adt/pg_locale.c:2904 @@ -25711,22 +25603,19 @@ msgid "could not convert locale name \"%s\" to language tag: %s" msgstr "kunde inte konvertera lokalnamn \"%s\" till språktagg: %s" #: utils/adt/pg_locale.c:2863 -#, fuzzy, c-format -#| msgid "could not get language from locale \"%s\": %s" +#, c-format msgid "could not get language from ICU locale \"%s\": %s" -msgstr "kunde inte härleda språk från lokalen \"%s\": %s" +msgstr "kunde inte härleda språk från ICU-lokalen \"%s\": %s" #: utils/adt/pg_locale.c:2865 utils/adt/pg_locale.c:2894 -#, fuzzy, c-format -#| msgid "while setting parameter \"%s\" to \"%s\"" +#, c-format msgid "To disable ICU locale validation, set the parameter \"%s\" to \"%s\"." -msgstr "vid sättande av parameter \"%s\" till \"%s\"" +msgstr "För att stänga av validering av ICU-lokal, sätt parameter \"%s\" till \"%s\"" #: utils/adt/pg_locale.c:2892 -#, fuzzy, c-format -#| msgid "locale \"%s\" has unknown language \"%s\"" +#, c-format msgid "ICU locale \"%s\" has unknown language \"%s\"" -msgstr "lokalen \"%s\" har ett okänt språk \"%s\"" +msgstr "ICU-lokalen \"%s\" har ett okänt språk \"%s\"" #: utils/adt/pg_locale.c:3073 #, c-format @@ -25753,23 +25642,22 @@ msgstr "kan inte subtrahera Nan från pg_lsn" msgid "function can only be called when server is in binary upgrade mode" msgstr "funktionen kan bara anropas när servern är i binärt uppgraderingsläge" -#: utils/adt/pgstatfuncs.c:253 +#: utils/adt/pgstatfuncs.c:254 #, c-format msgid "invalid command name: \"%s\"" msgstr "ogiltigt kommandonamn: \"%s\"" -#: utils/adt/pgstatfuncs.c:1773 +#: utils/adt/pgstatfuncs.c:1774 #, c-format msgid "unrecognized reset target: \"%s\"" msgstr "okänt återställningsmål \"%s\"" -#: utils/adt/pgstatfuncs.c:1774 -#, fuzzy, c-format -#| msgid "Target must be \"archiver\", \"bgwriter\", \"recovery_prefetch\", or \"wal\"." +#: utils/adt/pgstatfuncs.c:1775 +#, c-format msgid "Target must be \"archiver\", \"bgwriter\", \"io\", \"recovery_prefetch\", or \"wal\"." -msgstr "Målet måste vara \"archiver\", \"bgwriter\", \"recovery_prefetch\" eller \"wal\"." +msgstr "Målet måste vara \"archiver\", \"bgwriter\", \"io\", \"recovery_prefetch\" eller \"wal\"." -#: utils/adt/pgstatfuncs.c:1852 +#: utils/adt/pgstatfuncs.c:1857 #, c-format msgid "invalid subscription OID %u" msgstr "ogiltigt prenumerations-OID: %u" @@ -26734,34 +26622,32 @@ msgstr "ingen utmatningsfunktion finns för typ %s" msgid "operator class \"%s\" of access method %s is missing support function %d for type %s" msgstr "operatorklass \"%s\" för accessmetod %s saknar supportfunktion %d för typ %s" -#: utils/cache/plancache.c:722 +#: utils/cache/plancache.c:724 #, c-format msgid "cached plan must not change result type" msgstr "cache:ad plan får inte ändra resultattyp" #: utils/cache/relcache.c:3741 -#, fuzzy, c-format -#| msgid "heap relfilenode value not set when in binary upgrade mode" +#, c-format msgid "heap relfilenumber value not set when in binary upgrade mode" -msgstr "relfilenode-värde för heap är inte satt i binärt uppgraderingsläge" +msgstr "relfile-nummer för heap är inte satt i binärt uppgraderingsläge" #: utils/cache/relcache.c:3749 -#, fuzzy, c-format -#| msgid "unexpected request for new relfilenode in binary upgrade mode" +#, c-format msgid "unexpected request for new relfilenumber in binary upgrade mode" -msgstr "oväntad begäran av ny relfilenode i binärt uppgraderingsläge" +msgstr "oväntad begäran av nytt relfile-nummer i binärt uppgraderingsläge" -#: utils/cache/relcache.c:6489 +#: utils/cache/relcache.c:6495 #, c-format msgid "could not create relation-cache initialization file \"%s\": %m" msgstr "kunde inte skapa initieringsfil \"%s\" för relations-cache: %m" -#: utils/cache/relcache.c:6491 +#: utils/cache/relcache.c:6497 #, c-format msgid "Continuing anyway, but there's something wrong." msgstr "Fortsätter ändå, trots att något är fel." -#: utils/cache/relcache.c:6813 +#: utils/cache/relcache.c:6819 #, c-format msgid "could not remove cache file \"%s\": %m" msgstr "kunde inte ta bort cache-fil \"%s\": %m" @@ -26792,10 +26678,9 @@ msgid "TRAP: ExceptionalCondition: bad arguments in PID %d\n" msgstr "TRAP: ExceptionalCondition: fel argument i PID %d\n" #: utils/error/assert.c:40 -#, fuzzy, c-format -#| msgid "TRAP: %s(\"%s\", File: \"%s\", Line: %d, PID: %d)\n" +#, c-format msgid "TRAP: failed Assert(\"%s\"), File: \"%s\", Line: %d, PID: %d\n" -msgstr "TRAP: %s(\"%s\", Fil: \"%s\", Rad: %d, PID: %d)\n" +msgstr "TRAP: misslyckad Assert(\"%s\"), Fil: \"%s\", Rad: %d, PID: %d)\n" #: utils/error/elog.c:416 #, c-format @@ -27252,10 +27137,9 @@ msgid " SSL enabled (protocol=%s, cipher=%s, bits=%d)" msgstr "SSL påslagen (protokoll=%s, krypto=%s, bitar=%d)" #: utils/init/postinit.c:285 -#, fuzzy, c-format -#| msgid " GSS (authenticated=%s, encrypted=%s, principal=%s)" +#, c-format msgid " GSS (authenticated=%s, encrypted=%s, delegated_credentials=%s, principal=%s)" -msgstr " GSS (autentiserad=%s, krypterad=%s, principal=%s)" +msgstr " GSS (autentiserad=%s, krypterad=%s, delegerade_referenser=%s, principal=%s)" #: utils/init/postinit.c:286 utils/init/postinit.c:287 #: utils/init/postinit.c:288 utils/init/postinit.c:293 @@ -27270,10 +27154,9 @@ msgid "yes" msgstr "ja" #: utils/init/postinit.c:292 -#, fuzzy, c-format -#| msgid " GSS (authenticated=%s, encrypted=%s, principal=%s)" +#, c-format msgid " GSS (authenticated=%s, encrypted=%s, delegated_credentials=%s)" -msgstr " GSS (autentiserad=%s, krypterad=%s, principal=%s)" +msgstr " GSS (autentiserad=%s, krypterad=%s, delegerade_referenser=%s)" #: utils/init/postinit.c:333 #, c-format @@ -27356,27 +27239,24 @@ msgid "must be superuser to connect in binary upgrade mode" msgstr "måste vara superuser för att ansluta i binärt uppgraderingsläger" #: utils/init/postinit.c:949 -#, fuzzy, c-format -#| msgid "remaining connection slots are reserved for non-replication superuser connections" +#, c-format msgid "remaining connection slots are reserved for roles with the %s attribute" -msgstr "resterande anslutningsslottar är reserverade för superuser-anslutningar utan replikering" +msgstr "resterande anslutningsslottar är reserverade för roller med attributet %s" #: utils/init/postinit.c:955 -#, fuzzy, c-format -#| msgid "remaining connection slots are reserved for non-replication superuser connections" +#, c-format msgid "remaining connection slots are reserved for roles with privileges of the \"%s\" role" -msgstr "resterande anslutningsslottar är reserverade för superuser-anslutningar utan replikering" +msgstr "resterande anslutningsslottar är reserverade för roller med rättigheter från rollen \"%s\"" #: utils/init/postinit.c:967 -#, fuzzy, c-format -#| msgid "permission denied to rename role" +#, c-format msgid "permission denied to start WAL sender" -msgstr "rättighet saknas för att döpa om roll" +msgstr "rättighet saknas för att starta WAL-skickare" #: utils/init/postinit.c:968 #, c-format msgid "Only roles with the %s attribute may start a WAL sender process." -msgstr "" +msgstr "Bara roller med attributet %s får starta en process för WAL-skickande." #: utils/init/postinit.c:1038 #, c-format @@ -27389,10 +27269,9 @@ msgid "It seems to have just been dropped or renamed." msgstr "Det verkar precis ha tagits bort eller döpts om." #: utils/init/postinit.c:1135 -#, fuzzy, c-format -#| msgid "could not connect to database \"%s\"" +#, c-format msgid "cannot connect to invalid database \"%s\"" -msgstr "kunde inte ansluta till databasen \"%s\"" +msgstr "kan inte ansluta till ogiltig databas \"%s\"" #: utils/init/postinit.c:1155 #, c-format @@ -27400,10 +27279,9 @@ msgid "The database subdirectory \"%s\" is missing." msgstr "Databasens underbibliotek \"%s\" saknas." #: 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\" får inte vara högre än \"%s\"" +msgstr "rollen \"%s\" kan inte göra SET ROLE till \"%s\"" #: utils/mb/conv.c:522 utils/mb/conv.c:733 #, c-format @@ -27645,22 +27523,19 @@ 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 -#, fuzzy, c-format -#| msgid "parameter \"%s\" could not be set" +#, c-format msgid "parameter \"%s\" cannot be reset" -msgstr "parameter \"%s\" kunde inte sättas" +msgstr "parametern \"%s\" kunde inte återställas" #: utils/misc/guc.c:3568 -#, fuzzy, c-format -#| msgid "parameter \"%s\" cannot be set after connection start" +#, c-format msgid "parameter \"%s\" cannot be set locally in functions" -msgstr "parameter \"%s\" kan inte ändras efter uppkopplingen startats" +msgstr "parametern \"%s\" kan inte ändras lokalt i funktioner" #: 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\"" +#, c-format msgid "permission denied to examine \"%s\"" -msgstr "rättighet saknas för att skapa \"%s.%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 #, c-format @@ -27745,10 +27620,8 @@ msgid "Connections and Authentication / Connection Settings" msgstr "Uppkopplingar och Autentisering / Uppkopplingsinställningar" #: utils/misc/guc_tables.c:668 -#, fuzzy -#| msgid "Connections and Authentication / Connection Settings" msgid "Connections and Authentication / TCP Settings" -msgstr "Uppkopplingar och Autentisering / Uppkopplingsinställningar" +msgstr "Uppkopplingar och Autentisering / TCP-inställningar" #: utils/misc/guc_tables.c:670 msgid "Connections and Authentication / Authentication" @@ -27992,11 +27865,11 @@ msgstr "Tillåter att frågeplaneraren och exekveraren jämför partitionsgräns #: 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 "" +msgstr "Slår på planerarens möjlighet att skapa planer som tillhandahåller försorterad indata till aggregatfunktioner med ORDER BY / DISTINCT." #: utils/misc/guc_tables.c:1000 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 "" +msgstr "Tillåter att planeraren kan skapa planer som tillhandahåller försorterad indata till aggregatfunktioner med en ORDER BY / DISTINCT-klausul. Om avstängd så kommer implicita sorteringar alltid utföras vid exekvering." #: utils/misc/guc_tables.c:1012 msgid "Enables the planner's use of async append plans." @@ -28120,11 +27993,11 @@ msgstr "Ta bort temporära filer efter en backend-krash." #: utils/misc/guc_tables.c:1268 msgid "Send SIGABRT not SIGQUIT to child processes after backend crash." -msgstr "" +msgstr "Skicka SIGABRT och inte SIGQUIT till barnprocesser efter att backend:en krashat." #: utils/misc/guc_tables.c:1278 msgid "Send SIGABRT not SIGKILL to stuck child processes." -msgstr "" +msgstr "Skicka SIGABRT och inte SIGKILL till barnprocesser som fastnat." #: utils/misc/guc_tables.c:1289 msgid "Logs the duration of each completed SQL statement." @@ -28319,10 +28192,8 @@ msgid "Sets whether Kerberos and GSSAPI user names should be treated as case-ins msgstr "Anger hurvida Kerberos- och GSSAPI-användarnamn skall tolkas skiftlägesokänsligt." #: utils/misc/guc_tables.c:1727 -#, fuzzy -#| msgid "Sets whether Kerberos and GSSAPI user names should be treated as case-insensitive." msgid "Sets whether GSSAPI delegation should be accepted from the client." -msgstr "Anger hurvida Kerberos- och GSSAPI-användarnamn skall tolkas skiftlägesokänsligt." +msgstr "Anger hurvida GSSAPI-delegering skall accpeteras från klienten." #: utils/misc/guc_tables.c:1737 msgid "Warn about backslash escapes in ordinary string literals." @@ -28521,10 +28392,8 @@ msgid "Sets the number of connection slots reserved for superusers." msgstr "Sätter antalet anslutningsslottar som reserverats för superusers." #: utils/misc/guc_tables.c:2198 -#, fuzzy -#| msgid "Sets the number of connection slots reserved for superusers." msgid "Sets the number of connection slots reserved for roles with privileges of pg_use_reserved_connections." -msgstr "Sätter antalet anslutningsslottar som reserverats för superusers." +msgstr "Sätter antalet anslutningsslottar som reserverats för roller med rättigheter från pg_use_reserved_connections." #: utils/misc/guc_tables.c:2209 msgid "Amount of dynamic shared memory reserved at startup." @@ -28536,7 +28405,7 @@ msgstr "Sätter antalet delade minnesbuffrar som används av servern." #: utils/misc/guc_tables.c:2235 msgid "Sets the buffer pool size for VACUUM, ANALYZE, and autovacuum." -msgstr "" +msgstr "Sätter buffer-poolens storlek för VACUUM, ANALYZE och autovacuum." #: utils/misc/guc_tables.c:2246 msgid "Shows the size of the server's main shared memory area (rounded up to the nearest MB)." @@ -28708,20 +28577,16 @@ msgid "Sets the maximum number of locks per transaction." msgstr "Sätter det maximala antalet lås per transaktion." #: utils/misc/guc_tables.c:2599 -#, fuzzy -#| msgid "The shared lock table is sized on the assumption that at most max_locks_per_transaction * max_connections distinct objects will need to be locked at any one time." msgid "The shared lock table is sized on the assumption that at most max_locks_per_transaction objects per server process or prepared transaction will need to be locked at any one time." -msgstr "Den delade låstabellen har storlek efter antagandet att maximalt max_locks_per_transaction * max_connections olika objekt kommer behöva låsas vid en tidpunkt." +msgstr "Den delade låstabellen har storlek efter antagandet att maximalt max_locks_per_transaction objekt per serverprocess eller per förberedd transaktion kommer behöva låsas vid varje enskild tidpunkt." #: utils/misc/guc_tables.c:2610 msgid "Sets the maximum number of predicate locks per transaction." msgstr "Sätter det maximala antalet predikatlås per transaktion." #: utils/misc/guc_tables.c:2611 -#, fuzzy -#| msgid "The shared predicate lock table is sized on the assumption that at most max_pred_locks_per_transaction * max_connections distinct objects will need to be locked at any one time." msgid "The shared predicate lock table is sized on the assumption that at most max_pred_locks_per_transaction objects per server process or prepared transaction will need to be locked at any one time." -msgstr "Den delade predikatlåstabellen har storlek efter antagandet att maximalt max_pred_locks_per_transaction * max_connections olika objekt kommer behöva låsas vid en tidpunkt." +msgstr "Den delade predikatlåstabellen har storlek efter antagandet att maximalt max_pred_locks_per_transaction objekt per serverprocess eller per förberedd transaktion kommer behöva låsas vid varje enskild tidpunkt." #: utils/misc/guc_tables.c:2622 msgid "Sets the maximum number of predicate-locked pages and tuples per relation." @@ -28898,13 +28763,11 @@ msgstr "Maximalt antal arbetsprocesser för logisk replikering." #: utils/misc/guc_tables.c:3035 msgid "Maximum number of table synchronization workers per subscription." -msgstr "Maximalt antal tabellsynkroniseringsarbetare per prenumeration." +msgstr "Maximalt antal arbetare som synkroniserar tabeller per prenumeration." #: utils/misc/guc_tables.c:3047 -#, fuzzy -#| msgid "Maximum number of table synchronization workers per subscription." msgid "Maximum number of parallel apply workers per subscription." -msgstr "Maximalt antal tabellsynkroniseringsarbetare per prenumeration." +msgstr "Maximalt antal parallella arbetare som applicerar ändring per prenumeration." #: utils/misc/guc_tables.c:3057 msgid "Sets the amount of time to wait before forcing log file rotation." @@ -29096,10 +28959,8 @@ msgid "0 turns this feature off." msgstr "0 stänger av denna finess." #: utils/misc/guc_tables.c:3499 -#, fuzzy -#| msgid "Sets the seed for random-number generation." msgid "Sets the iteration count for SCRAM secret generation." -msgstr "Sätter fröet för slumptalsgeneratorn." +msgstr "Sätter iterationsräknare för generering av SCRAM-hemlighet." #: utils/misc/guc_tables.c:3519 msgid "Sets the planner's estimate of the cost of a sequentially fetched disk page." @@ -29323,7 +29184,7 @@ msgstr "Ställer in tablespace för temporära tabeller och sorteringsfiler." #: utils/misc/guc_tables.c:4003 msgid "Sets whether a CREATEROLE user automatically grants the role to themselves, and with which options." -msgstr "" +msgstr "Sätter hurvida en CREATEROLE-användare automatiskt får rollen själva, och med vilka flaggor." #: utils/misc/guc_tables.c:4015 msgid "Sets the path for dynamically loadable modules." @@ -29584,7 +29445,7 @@ msgstr "Ställer in visningsformat för intervallvärden." #: utils/misc/guc_tables.c:4659 msgid "Log level for reporting invalid ICU locale strings." -msgstr "" +msgstr "Loggnivå för rapportering av ogiltiga ICU-lokalsträngar." #: utils/misc/guc_tables.c:4669 msgid "Sets the verbosity of logged messages." @@ -29675,14 +29536,12 @@ msgid "Look ahead in the WAL to find references to uncached data." msgstr "Sök framåt i WAL för att hitta referenser till icke cache:ad data." #: utils/misc/guc_tables.c:4891 -#, fuzzy -#| msgid "Enables the planner's use of parallel append plans." msgid "Forces the planner's use parallel query nodes." -msgstr "Aktiverar planerarens användning av planer med parallell append." +msgstr "Tvingar planeraren att använda parallella frågenoder." #: 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 "" +msgstr "Detta är användbart för att testa infrastrukturen för parallella frågor genom att tvinga planeraren att generera planer som innehåller noder som skickar tupler mellan arbetare och huvudprocessen." #: utils/misc/guc_tables.c:4904 msgid "Chooses the algorithm for encrypting passwords." @@ -29710,11 +29569,11 @@ msgstr "Ställer in metoden för att synkronisera datakatalogen innan kraschåte #: utils/misc/guc_tables.c:4960 msgid "Controls when to replicate or apply each change." -msgstr "" +msgstr "Styr när man skall replikera eller applicera en ändring." #: 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 "På publiceringssidan så tillåter detta strömming eller serialisering av varje ändring i den logiska kodningen. På prenumerationsstidan så tillåter det serialisering av alla ändringar till filer samt notifiering till den parallella appliceraren att läsa in och applicera dem i slutet av transaktionen." #: utils/misc/help_config.c:129 #, c-format @@ -29980,6 +29839,10 @@ msgstr "kan inte importera en snapshot från en annan databas" #~ msgid "Close open transactions with multixacts soon to avoid wraparound problems." #~ msgstr "Stäng öppna transaktioner med multixacts snart för att undvika \"wraparound\"." +#, 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" @@ -30026,6 +29889,12 @@ msgstr "kan inte importera en snapshot från en annan databas" #~ 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." @@ -30186,6 +30055,14 @@ msgstr "kan inte importera en snapshot från en annan databas" #~ 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" diff --git a/src/backend/po/uk.po b/src/backend/po/uk.po index 1095fd9139f..a3ff4cb207d 100644 --- a/src/backend/po/uk.po +++ b/src/backend/po/uk.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-08-12 10:40+0000\n" -"PO-Revision-Date: 2022-09-13 14:35+0200\n" +"PO-Revision-Date: 2023-08-17 17:06+0200\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14359,7 +14359,7 @@ msgstr "не вдалось отримати доступ до файла зак #: libpq/be-secure-common.c:151 #, c-format msgid "private key file \"%s\" is not a regular file" -msgstr "файл закритого ключа \"%s\" не є звичайним" +msgstr "файл закритого ключа \"%s\" не є звичайним файлом" #: libpq/be-secure-common.c:177 #, c-format @@ -14435,7 +14435,7 @@ msgstr "файл закритого ключа \"%s\" не можна перез #: libpq/be-secure-openssl.c:173 #, c-format msgid "could not load private key file \"%s\": %s" -msgstr "не вдалось завантажити файл закритого ключа \"%s\": %s" +msgstr "не вдалося завантажити файл закритого ключа \"%s\": %s" #: libpq/be-secure-openssl.c:182 #, c-format diff --git a/src/bin/initdb/po/pt_BR.po b/src/bin/initdb/po/pt_BR.po index acb4cbb1dff..b7a2a457307 100644 --- a/src/bin/initdb/po/pt_BR.po +++ b/src/bin/initdb/po/pt_BR.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-09-27 13:15-0300\n" -"PO-Revision-Date: 2010-09-25 00:45-0300\n" +"PO-Revision-Date: 2023-08-17 16:33+0200\n" "Last-Translator: Euler Taveira \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" @@ -697,7 +697,7 @@ msgstr "" #: initdb.c:2229 #, c-format msgid "%s home page: <%s>\n" -msgstr "página web do %s: <%s>\n" +msgstr "Página web do %s: <%s>\n" #: initdb.c:2257 #, c-format diff --git a/src/bin/pg_archivecleanup/po/pt_BR.po b/src/bin/pg_archivecleanup/po/pt_BR.po index d31c83e3819..9e6eb51b319 100644 --- a/src/bin/pg_archivecleanup/po/pt_BR.po +++ b/src/bin/pg_archivecleanup/po/pt_BR.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-09-27 13:15-0300\n" -"PO-Revision-Date: 2022-09-27 19:00-0300\n" +"PO-Revision-Date: 2023-08-17 16:32+0200\n" "Last-Translator: Euler Taveira \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" @@ -167,7 +167,7 @@ msgstr "" #: pg_archivecleanup.c:270 #, c-format msgid "%s home page: <%s>\n" -msgstr "página web do %s: <%s>\n" +msgstr "Página web do %s: <%s>\n" #: pg_archivecleanup.c:332 #, c-format diff --git a/src/bin/pg_checksums/po/pt_BR.po b/src/bin/pg_checksums/po/pt_BR.po index d310b37dac5..c0ebf5dbafe 100644 --- a/src/bin/pg_checksums/po/pt_BR.po +++ b/src/bin/pg_checksums/po/pt_BR.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-09-27 13:15-0300\n" -"PO-Revision-Date: 2022-09-27 20:27-0300\n" +"PO-Revision-Date: 2023-08-17 16:33+0200\n" "Last-Translator: Euler Taveira \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" @@ -145,7 +145,7 @@ msgstr "Relate erros a <%s>.\n" #: pg_checksums.c:96 #, c-format msgid "%s home page: <%s>\n" -msgstr "página web do %s: <%s>\n" +msgstr "Página web do %s: <%s>\n" #: pg_checksums.c:153 #, c-format diff --git a/src/bin/pg_controldata/po/pt_BR.po b/src/bin/pg_controldata/po/pt_BR.po index 14f8bd2caef..40a36b3c7a2 100644 --- a/src/bin/pg_controldata/po/pt_BR.po +++ b/src/bin/pg_controldata/po/pt_BR.po @@ -12,7 +12,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-09-27 13:15-0300\n" -"PO-Revision-Date: 2005-10-04 23:00-0300\n" +"PO-Revision-Date: 2023-08-17 16:32+0200\n" "Last-Translator: Euler Taveira \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" @@ -137,7 +137,7 @@ msgstr "Relate erros a <%s>.\n" #: pg_controldata.c:45 #, c-format msgid "%s home page: <%s>\n" -msgstr "página web do %s: <%s>\n" +msgstr "Página web do %s: <%s>\n" #: pg_controldata.c:55 msgid "starting up" diff --git a/src/bin/pg_ctl/po/pt_BR.po b/src/bin/pg_ctl/po/pt_BR.po index ba9da96b93c..bff812e234e 100644 --- a/src/bin/pg_ctl/po/pt_BR.po +++ b/src/bin/pg_ctl/po/pt_BR.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2023-04-24 03:48+0000\n" -"PO-Revision-Date: 2023-04-24 09:16+0200\n" +"PO-Revision-Date: 2023-08-17 16:37+0200\n" "Last-Translator: Euler Taveira \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" @@ -68,7 +68,7 @@ msgstr "comando não é executável" #: ../../common/wait_error.c:59 #, c-format msgid "command not found" -msgstr "comando não foi encontrado" +msgstr "comando não encontrado" #: ../../common/wait_error.c:64 #, c-format @@ -452,7 +452,7 @@ msgstr "%s: não pôde iniciar serviço \"%s\": código de erro %lu\n" #: pg_ctl.c:1789 #, c-format msgid "%s: could not open process token: error code %lu\n" -msgstr "%s: não pôde abrir token de processo: código de erro %lu\n" +msgstr "%s: não pôde abrir informação sobre processo: código de erro %lu\n" #: pg_ctl.c:1803 #, c-format @@ -462,7 +462,7 @@ msgstr "%s: não pôde alocar SIDs: código de erro %lu\n" #: pg_ctl.c:1829 #, c-format msgid "%s: could not create restricted token: error code %lu\n" -msgstr "%s: não pôde criar token restrito: código de erro %lu\n" +msgstr "%s: não pôde criar informação restrita: código de erro %lu\n" #: pg_ctl.c:1911 #, c-format diff --git a/src/bin/pg_dump/po/ka.po b/src/bin/pg_dump/po/ka.po index 62636af3d7d..6764bd32cb2 100644 --- a/src/bin/pg_dump/po/ka.po +++ b/src/bin/pg_dump/po/ka.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_dump (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-07-05 06:20+0000\n" -"PO-Revision-Date: 2023-07-05 12:41+0200\n" +"POT-Creation-Date: 2023-08-24 08:51+0000\n" +"PO-Revision-Date: 2023-08-24 11:23+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" "Language: ka\n" @@ -263,7 +263,7 @@ msgstr "მომხმარებლის მიერ განსაზღ #: common.c:196 #, c-format msgid "reading default privileges" -msgstr "ნაგულისხმები წვდომების კითხვა" +msgstr "ნაგულისხმევი წვდომების კითხვა" #: common.c:199 #, c-format @@ -1464,7 +1464,7 @@ msgid "" " plain text (default))\n" msgstr "" " -F, --format=c|d|t|p გამოტანის ფაილის ფორმატი (custom, directory, tar\n" -" უბრალო ტექსტი (ნაგულისხმები))\n" +" უბრალო ტექსტი (ნაგულისხმევი))\n" #: pg_dump.c:1064 #, c-format @@ -1662,7 +1662,7 @@ msgstr "" #: pg_dump.c:1105 pg_dumpall.c:655 #, c-format msgid " --extra-float-digits=NUM override default setting for extra_float_digits\n" -msgstr " --extra-float-digits=NUM extra_float_digits-ის ნაგულისხმები პარამეტრის გადაფარვა\n" +msgstr " --extra-float-digits=NUM extra_float_digits-ის ნაგულისხმევი პარამეტრის გადაფარვა\n" #: pg_dump.c:1106 pg_dumpall.c:656 pg_restore.c:466 #, c-format @@ -1996,8 +1996,8 @@ msgstr "მწკრივის დონის უსაფრთხოებ msgid "unexpected policy command type: %c" msgstr "წესების ბრძანების მოულოდნელი ტიპი: %c" -#: pg_dump.c:4425 pg_dump.c:4760 pg_dump.c:11984 pg_dump.c:17857 -#: pg_dump.c:17859 pg_dump.c:18480 +#: pg_dump.c:4425 pg_dump.c:4760 pg_dump.c:11984 pg_dump.c:17894 +#: pg_dump.c:17896 pg_dump.c:18517 #, c-format msgid "could not parse %s array" msgstr "მასივის დამუშავების შეცდომა: %s" @@ -2017,7 +2017,7 @@ msgstr "%s-სთვის მშობელი გაფართოება msgid "schema with OID %u does not exist" msgstr "სქემა OID-ით %u არ არსებობს" -#: pg_dump.c:6776 pg_dump.c:17121 +#: pg_dump.c:6776 pg_dump.c:17158 #, c-format msgid "failed sanity check, parent table with OID %u of sequence with OID %u not found" msgstr "სისწორის შემოწმების შეცდომა. მშობელი ცხრილი OID-ით %u მიმდევრობიდან OID-ით %u არ არსებობს" @@ -2061,7 +2061,7 @@ msgstr "ცხრილში \"%s\" სვეტები არასწორ #: pg_dump.c:8633 #, c-format msgid "finding table default expressions" -msgstr "ვეძებ ცხრილის ნაგულისხმებ გამოსახულებებს" +msgstr "ვეძებ ცხრილის ნაგულისხმევ გამოსახულებებს" #: pg_dump.c:8675 #, c-format @@ -2105,7 +2105,7 @@ msgstr "მონაცემის ტიპი %s-ის typetype თურმ msgid "unrecognized provolatile value for function \"%s\"" msgstr "უცნობი provolatile მნიშვნელობა ფუნქციისთვის \"%s\"" -#: pg_dump.c:12103 pg_dump.c:13948 +#: pg_dump.c:12103 pg_dump.c:13985 #, c-format msgid "unrecognized proparallel value for function \"%s\"" msgstr "უცნობი proparallel მნიშვნელობა ფუნქციისთვის \"%s\"" @@ -2155,139 +2155,149 @@ msgstr "ოპერატორი OID-ით %s არ არსებობ msgid "invalid type \"%c\" of access method \"%s\"" msgstr "წვდომის მეთოდის (%2$s) არასწორი ტიპი: %1$c" -#: pg_dump.c:13443 +#: pg_dump.c:13455 #, c-format msgid "unrecognized collation provider: %s" msgstr "კოლაციის უცნობი მომწოდებელი: %s" -#: pg_dump.c:13867 +#: pg_dump.c:13464 pg_dump.c:13473 pg_dump.c:13483 pg_dump.c:13498 +#, c-format +msgid "invalid collation \"%s\"" +msgstr "არასწორი კოლაცია \"%s\"" + +#: pg_dump.c:13514 +#, c-format +msgid "unrecognized collation provider '%c'" +msgstr "უცნობი კოლაციის მომწოდებელი '%c'" + +#: pg_dump.c:13904 #, c-format msgid "unrecognized aggfinalmodify value for aggregate \"%s\"" msgstr "აგრეგატის (%s) aggfinalmodify -ის უცნობი ტიპი" -#: pg_dump.c:13923 +#: pg_dump.c:13960 #, c-format msgid "unrecognized aggmfinalmodify value for aggregate \"%s\"" msgstr "აგრეგატის (%s) aggmfinalmodify -ის უცნობი ტიპი" -#: pg_dump.c:14640 +#: pg_dump.c:14677 #, c-format msgid "unrecognized object type in default privileges: %d" -msgstr "ნაგულისხმებ პრივილეგიებში არსებული ობიექტის უცნობი ტიპი: %d" +msgstr "ნაგულისხმევ პრივილეგიებში არსებული ობიექტის უცნობი ტიპი: %d" -#: pg_dump.c:14656 +#: pg_dump.c:14693 #, c-format msgid "could not parse default ACL list (%s)" msgstr "ნაგულიხმები ACL სიის ანალიზი შეუძლებელია: %s" -#: pg_dump.c:14738 +#: pg_dump.c:14775 #, c-format msgid "could not parse initial ACL list (%s) or default (%s) for object \"%s\" (%s)" -msgstr "საწყისი ACL სიის (%s) დამუშავების შეცდომა ან ნაგულისხმები (%s) ობიექტისთვის \"%s\" (%s)" +msgstr "საწყისი ACL სიის (%s) დამუშავების შეცდომა ან ნაგულისხმევი (%s) ობიექტისთვის \"%s\" (%s)" -#: pg_dump.c:14763 +#: pg_dump.c:14800 #, c-format msgid "could not parse ACL list (%s) or default (%s) for object \"%s\" (%s)" -msgstr "შეცდომა ACL სიის (%s) დამუშავებისას ან ნაგულისხმები (%s) ობიექტისთვის \"%s\" (%s)" +msgstr "შეცდომა ACL სიის (%s) დამუშავებისას ან ნაგულისხმევი (%s) ობიექტისთვის \"%s\" (%s)" -#: pg_dump.c:15304 +#: pg_dump.c:15341 #, c-format msgid "query to obtain definition of view \"%s\" returned no data" msgstr "ხედის (%s) აღწერის გამოთხოვამ მონაცემები არ დააბრუნა" -#: pg_dump.c:15307 +#: pg_dump.c:15344 #, c-format msgid "query to obtain definition of view \"%s\" returned more than one definition" msgstr "ხედის (%s) აღწერის გამოთხოვამ ერთზე მეტი აღწერა დააბრუნა" -#: pg_dump.c:15314 +#: pg_dump.c:15351 #, c-format msgid "definition of view \"%s\" appears to be empty (length zero)" msgstr "ხედის (%s) აღწერა, როგორც ჩანს, ცარიელია (ნულოვანი სიგრძე)" -#: pg_dump.c:15398 +#: pg_dump.c:15435 #, c-format msgid "WITH OIDS is not supported anymore (table \"%s\")" msgstr "WITH OIDS-ები უკვე მხარდაუჭერელია (ცხრილი \"%s\")" -#: pg_dump.c:16322 +#: pg_dump.c:16359 #, c-format msgid "invalid column number %d for table \"%s\"" msgstr "სვეტების არასწორი რიცხვი %d ცხრილისთვის %s" -#: pg_dump.c:16400 +#: pg_dump.c:16437 #, c-format msgid "could not parse index statistic columns" msgstr "ინდექსის სტატისტიკის სვეტების დამუშავების შეცდომა" -#: pg_dump.c:16402 +#: pg_dump.c:16439 #, c-format msgid "could not parse index statistic values" msgstr "ინდექსის სტატისტიკის მნიშვნელობების დამუშავების შეცდომა" -#: pg_dump.c:16404 +#: pg_dump.c:16441 #, c-format msgid "mismatched number of columns and values for index statistics" msgstr "ინდექსის სტატისტიკისთვის სვეტებისა და მნიშვნელობების რაოდენობა არ ემთხვევა" -#: pg_dump.c:16620 +#: pg_dump.c:16657 #, c-format msgid "missing index for constraint \"%s\"" msgstr "შეზღუდვას ინდექსი აკლია: \"%s\"" -#: pg_dump.c:16855 +#: pg_dump.c:16892 #, c-format msgid "unrecognized constraint type: %c" msgstr "შეზღუდვის უცნობი ტიპი: %c" -#: pg_dump.c:16956 pg_dump.c:17185 +#: pg_dump.c:16993 pg_dump.c:17222 #, c-format msgid "query to get data of sequence \"%s\" returned %d row (expected 1)" msgid_plural "query to get data of sequence \"%s\" returned %d rows (expected 1)" msgstr[0] "მოთხოვნამ, რომელსაც მონაცემები მიმდევრობიდან (%s) უნდა მიეღო, %d მწკრივი დააბრუნა. (მოველოდი: 1)" msgstr[1] "მოთხოვნამ, რომელსაც მონაცემები მიმდევრობიდან (%s) უნდა მიეღო, %d მწკრივი დააბრუნა. (მოველოდი: 1)" -#: pg_dump.c:16988 +#: pg_dump.c:17025 #, c-format msgid "unrecognized sequence type: %s" msgstr "მიმდევრობის უცნობი ტიპი: %s" -#: pg_dump.c:17277 +#: pg_dump.c:17314 #, c-format msgid "unexpected tgtype value: %d" msgstr "tgtype -ის არასწორი მნიშვნელობა: %d" -#: pg_dump.c:17349 +#: pg_dump.c:17386 #, c-format msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"" msgstr "არასწორი არგუმენტის სტრიქონი (%s) ტრიგერისთვის \"%s\" ცხრილზე \"%s\"" -#: pg_dump.c:17618 +#: pg_dump.c:17655 #, c-format msgid "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows returned" msgstr "მოთხოვნის შეცდომა, რომელსაც ცხრილისთვის \"%2$s\" წესი \"%1$s\" უნდა მიეღო: დაბრუნებულია მწკრივების არასწორი რაოდენობა" -#: pg_dump.c:17771 +#: pg_dump.c:17808 #, c-format msgid "could not find referenced extension %u" msgstr "მიბმული გაფართოება (%u) ვერ ვიპოვე" -#: pg_dump.c:17861 +#: pg_dump.c:17898 #, c-format msgid "mismatched number of configurations and conditions for extension" msgstr "კონფიგურაციებისა და პირობების რაოდენობა გაფართოებისთვის არ ემთხვევა" -#: pg_dump.c:17993 +#: pg_dump.c:18030 #, c-format msgid "reading dependency data" msgstr "დამოკიდებულების მონაცემების კითხვა" -#: pg_dump.c:18079 +#: pg_dump.c:18116 #, c-format msgid "no referencing object %u %u" msgstr "მიბმადი ობიექტის გარეშე %u %u" -#: pg_dump.c:18090 +#: pg_dump.c:18127 #, c-format msgid "no referenced object %u %u" msgstr "მიბმული ობიექტის გარეშე %u %u" diff --git a/src/bin/pg_dump/po/sv.po b/src/bin/pg_dump/po/sv.po index 4701256856e..2d86236c631 100644 --- a/src/bin/pg_dump/po/sv.po +++ b/src/bin/pg_dump/po/sv.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-08-02 03:20+0000\n" -"PO-Revision-Date: 2023-08-02 07:41+0200\n" +"POT-Creation-Date: 2023-08-23 12:51+0000\n" +"PO-Revision-Date: 2023-08-23 15:31+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -1995,8 +1995,8 @@ msgstr "läser säkerhetspolicy på radnivå" msgid "unexpected policy command type: %c" msgstr "oväntad kommandotyp för policy: %c" -#: pg_dump.c:4425 pg_dump.c:4760 pg_dump.c:11984 pg_dump.c:17857 -#: pg_dump.c:17859 pg_dump.c:18480 +#: pg_dump.c:4425 pg_dump.c:4760 pg_dump.c:11984 pg_dump.c:17894 +#: pg_dump.c:17896 pg_dump.c:18517 #, c-format msgid "could not parse %s array" msgstr "kunde inte parsa arrayen %s" @@ -2016,7 +2016,7 @@ msgstr "kunde inte hitta föräldrautökning för %s %s" msgid "schema with OID %u does not exist" msgstr "schema med OID %u existerar inte" -#: pg_dump.c:6776 pg_dump.c:17121 +#: pg_dump.c:6776 pg_dump.c:17158 #, c-format msgid "failed sanity check, parent table with OID %u of sequence with OID %u not found" msgstr "misslyckades med riktighetskontroll, föräldratabell med OID %u för sekvens med OID %u hittas inte" @@ -2104,7 +2104,7 @@ msgstr "typtype för datatyp \"%s\" verkar vara ogiltig" msgid "unrecognized provolatile value for function \"%s\"" msgstr "okänt provolatile-värde för funktion \"%s\"" -#: pg_dump.c:12103 pg_dump.c:13948 +#: pg_dump.c:12103 pg_dump.c:13985 #, c-format msgid "unrecognized proparallel value for function \"%s\"" msgstr "okänt proparallel-värde för funktion \"%s\"" @@ -2154,139 +2154,149 @@ msgstr "kunde inte hitta en operator med OID %s." msgid "invalid type \"%c\" of access method \"%s\"" msgstr "ogiltig typ \"%c\" för accessmetod \"%s\"" -#: pg_dump.c:13443 +#: pg_dump.c:13455 #, c-format msgid "unrecognized collation provider: %s" msgstr "okänd jämförelseleverantör: %s" -#: pg_dump.c:13867 +#: pg_dump.c:13464 pg_dump.c:13473 pg_dump.c:13483 pg_dump.c:13498 +#, c-format +msgid "invalid collation \"%s\"" +msgstr "ogiltig jämförelse \"%s\"" + +#: pg_dump.c:13514 +#, c-format +msgid "unrecognized collation provider '%c'" +msgstr "okänd jämförelseleverantör: '%c'" + +#: pg_dump.c:13904 #, c-format msgid "unrecognized aggfinalmodify value for aggregate \"%s\"" msgstr "okänt aggfinalmodify-värde för aggregat \"%s\"" -#: pg_dump.c:13923 +#: pg_dump.c:13960 #, c-format msgid "unrecognized aggmfinalmodify value for aggregate \"%s\"" msgstr "okänt aggmfinalmodify-värde för aggregat \"%s\"" -#: pg_dump.c:14640 +#: pg_dump.c:14677 #, c-format msgid "unrecognized object type in default privileges: %d" msgstr "okänd objekttyp i standardrättigheter: %d" -#: pg_dump.c:14656 +#: pg_dump.c:14693 #, c-format msgid "could not parse default ACL list (%s)" msgstr "kunde inte parsa standard-ACL-lista (%s)" -#: pg_dump.c:14738 +#: pg_dump.c:14775 #, c-format msgid "could not parse initial ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "kunde inte parsa initial ACL-lista (%s) eller default (%s) för objekt \"%s\" (%s)" -#: pg_dump.c:14763 +#: pg_dump.c:14800 #, c-format msgid "could not parse ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "kunde inte parsa ACL-lista (%s) eller default (%s) för objekt \"%s\" (%s)" -#: pg_dump.c:15304 +#: pg_dump.c:15341 #, c-format msgid "query to obtain definition of view \"%s\" returned no data" msgstr "fråga för att hämta definition av vy \"%s\" returnerade ingen data" -#: pg_dump.c:15307 +#: pg_dump.c:15344 #, c-format msgid "query to obtain definition of view \"%s\" returned more than one definition" msgstr "fråga för att hämta definition av vy \"%s\" returnerade mer än en definition" -#: pg_dump.c:15314 +#: pg_dump.c:15351 #, c-format msgid "definition of view \"%s\" appears to be empty (length zero)" msgstr "definition av vy \"%s\" verkar vara tom (längd noll)" -#: pg_dump.c:15398 +#: pg_dump.c:15435 #, c-format msgid "WITH OIDS is not supported anymore (table \"%s\")" msgstr "WITH OIDS stöds inte längre (tabell \"%s\")" -#: pg_dump.c:16322 +#: pg_dump.c:16359 #, c-format msgid "invalid column number %d for table \"%s\"" msgstr "ogiltigt kolumnnummer %d för tabell \"%s\"" -#: pg_dump.c:16400 +#: pg_dump.c:16437 #, c-format msgid "could not parse index statistic columns" msgstr "kunde inte parsa kolumn i indexstatistik" -#: pg_dump.c:16402 +#: pg_dump.c:16439 #, c-format msgid "could not parse index statistic values" msgstr "kunde inte parsa värden i indexstatistik" -#: pg_dump.c:16404 +#: pg_dump.c:16441 #, c-format msgid "mismatched number of columns and values for index statistics" msgstr "antal kolumner och värden stämmer inte i indexstatistik" -#: pg_dump.c:16620 +#: pg_dump.c:16657 #, c-format msgid "missing index for constraint \"%s\"" msgstr "saknar index för integritetsvillkor \"%s\"" -#: pg_dump.c:16855 +#: pg_dump.c:16892 #, c-format msgid "unrecognized constraint type: %c" msgstr "oväntad integritetsvillkorstyp: %c" -#: pg_dump.c:16956 pg_dump.c:17185 +#: pg_dump.c:16993 pg_dump.c:17222 #, c-format msgid "query to get data of sequence \"%s\" returned %d row (expected 1)" msgid_plural "query to get data of sequence \"%s\" returned %d rows (expected 1)" msgstr[0] "fråga för att hämta data för sekvens \"%s\" returnerade %d rad (förväntade 1)" msgstr[1] "fråga för att hämta data för sekvens \"%s\" returnerade %d rader (förväntade 1)" -#: pg_dump.c:16988 +#: pg_dump.c:17025 #, c-format msgid "unrecognized sequence type: %s" msgstr "okänd sekvenstyp: %s" -#: pg_dump.c:17277 +#: pg_dump.c:17314 #, c-format msgid "unexpected tgtype value: %d" msgstr "oväntat tgtype-värde: %d" -#: pg_dump.c:17349 +#: pg_dump.c:17386 #, c-format msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"" msgstr "felaktig argumentsträng (%s) för trigger \"%s\" i tabell \"%s\"" -#: pg_dump.c:17618 +#: pg_dump.c:17655 #, c-format msgid "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows returned" msgstr "fråga för att hämta regel \"%s\" för tabell \"%s\" misslyckades: fel antal rader returnerades" -#: pg_dump.c:17771 +#: pg_dump.c:17808 #, c-format msgid "could not find referenced extension %u" msgstr "kunde inte hitta refererad utökning %u" -#: pg_dump.c:17861 +#: pg_dump.c:17898 #, c-format msgid "mismatched number of configurations and conditions for extension" msgstr "antal konfigurationer och villkor stämmer inte för utökning" -#: pg_dump.c:17993 +#: pg_dump.c:18030 #, c-format msgid "reading dependency data" msgstr "läser beroendedata" -#: pg_dump.c:18079 +#: pg_dump.c:18116 #, c-format msgid "no referencing object %u %u" msgstr "inget refererande objekt %u %u" -#: pg_dump.c:18090 +#: pg_dump.c:18127 #, c-format msgid "no referenced object %u %u" msgstr "inget refererat objekt %u %u" diff --git a/src/bin/pg_resetwal/po/pt_BR.po b/src/bin/pg_resetwal/po/pt_BR.po index 952b83eb389..d0ee9adeecd 100644 --- a/src/bin/pg_resetwal/po/pt_BR.po +++ b/src/bin/pg_resetwal/po/pt_BR.po @@ -12,7 +12,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-09-27 13:15-0300\n" -"PO-Revision-Date: 2022-09-27 20:17-0300\n" +"PO-Revision-Date: 2023-08-17 16:32+0200\n" "Last-Translator: Euler Taveira \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" @@ -664,4 +664,4 @@ msgstr "" #: pg_resetwal.c:1154 #, c-format msgid "%s home page: <%s>\n" -msgstr "página web do %s: <%s>\n" +msgstr "Página web do %s: <%s>\n" diff --git a/src/bin/pg_upgrade/po/de.po b/src/bin/pg_upgrade/po/de.po index 50b1882a9d1..47cbb74a4bb 100644 --- a/src/bin/pg_upgrade/po/de.po +++ b/src/bin/pg_upgrade/po/de.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_upgrade (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-05-19 17:19+0000\n" -"PO-Revision-Date: 2023-05-19 20:51+0200\n" +"POT-Creation-Date: 2023-08-25 02:19+0000\n" +"PO-Revision-Date: 2023-08-25 08:36+0200\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -343,7 +343,7 @@ msgstr "Prüfe auf systemdefinierte zusammengesetzte Typen in Benutzertabellen" #: check.c:1136 #, c-format msgid "" -"Your installation contains system-defined composite type(s) in user tables.\n" +"Your installation contains system-defined composite types in user tables.\n" "These type OIDs are not stable across PostgreSQL versions,\n" "so this cluster cannot currently be upgraded. You can\n" "drop the problem columns and restart the upgrade.\n" diff --git a/src/bin/pg_upgrade/po/ka.po b/src/bin/pg_upgrade/po/ka.po index 69f3c8b1f0c..d27e6d4de9b 100644 --- a/src/bin/pg_upgrade/po/ka.po +++ b/src/bin/pg_upgrade/po/ka.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_upgrade (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-07-05 06:18+0000\n" -"PO-Revision-Date: 2023-07-05 12:44+0200\n" +"POT-Creation-Date: 2023-08-24 08:49+0000\n" +"PO-Revision-Date: 2023-08-24 11:25+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" "Language: ka\n" @@ -339,7 +339,7 @@ msgstr "მომხმარებლის ცხრილებში სი #: check.c:1136 #, c-format msgid "" -"Your installation contains system-defined composite type(s) in user tables.\n" +"Your installation contains system-defined composite types in user tables.\n" "These type OIDs are not stable across PostgreSQL versions,\n" "so this cluster cannot currently be upgraded. You can\n" "drop the problem columns and restart the upgrade.\n" diff --git a/src/bin/pg_upgrade/po/sv.po b/src/bin/pg_upgrade/po/sv.po index c8dbe9e9d90..89cfa95e255 100644 --- a/src/bin/pg_upgrade/po/sv.po +++ b/src/bin/pg_upgrade/po/sv.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: 2023-08-02 03:18+0000\n" -"PO-Revision-Date: 2023-08-02 12:02+0200\n" +"POT-Creation-Date: 2023-08-25 07:19+0000\n" +"PO-Revision-Date: 2023-08-27 10:30+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -40,7 +40,9 @@ msgstr "" msgid "" "\n" "*Clusters are compatible*" -msgstr "\n*Klustren är kompatibla*" +msgstr "" +"\n" +"*Klustren är kompatibla*" #: check.c:229 #, c-format @@ -141,14 +143,18 @@ msgstr "i klustret finns redan ny tablespace-katalog: \"%s\"" msgid "" "\n" "WARNING: new data directory should not be inside the old data directory, i.e. %s" -msgstr "\nVARNING: nya datakatalogen skall inte ligga inuti den gamla datakatalogen, dvs. %s" +msgstr "" +"\n" +"VARNING: nya datakatalogen skall inte ligga inuti den gamla datakatalogen, dvs. %s" #: check.c:453 #, c-format msgid "" "\n" "WARNING: user-defined tablespace locations should not be inside the data directory, i.e. %s" -msgstr "\nVARNING: användardefinierade tabellutrymmens plats skall inte vara i datakatalogen, dvs. %s" +msgstr "" +"\n" +"VARNING: användardefinierade tabellutrymmens plats skall inte vara i datakatalogen, dvs. %s" #: check.c:463 #, c-format @@ -337,7 +343,7 @@ msgstr "Letar i användartabeller efter systemdefinierade typer av sorten \"comp #: check.c:1136 #, c-format msgid "" -"Your installation contains system-defined composite type(s) in user tables.\n" +"Your installation contains system-defined composite types in user tables.\n" "These type OIDs are not stable across PostgreSQL versions,\n" "so this cluster cannot currently be upgraded. You can\n" "drop the problem columns and restart the upgrade.\n" @@ -984,14 +990,18 @@ msgstr "Ingen träff hittad i nya klustret för gammal relation med OID %u i dat msgid "" "\n" "source databases:" -msgstr "\nkälldatabaser:" +msgstr "" +"\n" +"källdatabaser:" #: info.c:291 #, c-format msgid "" "\n" "target databases:" -msgstr "\nmåldatabaser:" +msgstr "" +"\n" +"måldatabaser:" #: info.c:329 #, c-format diff --git a/src/bin/psql/po/ka.po b/src/bin/psql/po/ka.po index 6b9e32074cb..108db3c31ea 100644 --- a/src/bin/psql/po/ka.po +++ b/src/bin/psql/po/ka.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: psql (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-07-05 06:17+0000\n" -"PO-Revision-Date: 2023-07-05 12:57+0200\n" +"POT-Creation-Date: 2023-08-01 10:47+0000\n" +"PO-Revision-Date: 2023-08-01 13:46+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" "Language: ka\n" @@ -64,7 +64,7 @@ msgid "%s() failed: %m" msgstr "%s()-ის შეცდომა: %m" #: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 -#: command.c:1352 command.c:3437 command.c:3486 command.c:3610 input.c:226 +#: command.c:1354 command.c:3439 command.c:3488 command.c:3612 input.c:226 #: mainloop.c:80 mainloop.c:398 #, c-format msgid "out of memory" @@ -230,26 +230,26 @@ msgstr "ახლა მიერთებული ბრძანდები msgid "You are connected to database \"%s\" as user \"%s\" on host \"%s\" at port \"%s\".\n" msgstr "ახლა მიერთებული ბრძანდებით ბაზასთან \"%s\" როგორც მომხმარებელი \"%s\" ჰოსტზე \"%s\" და პორტზე \"%s\".\n" -#: command.c:1064 command.c:1157 command.c:2680 +#: command.c:1066 command.c:1159 command.c:2682 #, c-format msgid "no query buffer" msgstr "მოთხოვნების ბაფერის გარეშე" -#: command.c:1097 command.c:5687 +#: command.c:1099 command.c:5689 #, c-format msgid "invalid line number: %s" msgstr "ხაზის არასწორი ნომერი: %s" -#: command.c:1235 +#: command.c:1237 msgid "No changes" msgstr "ცვლილებების გარეშე" -#: command.c:1313 +#: command.c:1315 #, c-format msgid "%s: invalid encoding name or conversion procedure not found" msgstr "%s: კოდირების არასწორი სახელი ან გადაყვანის პროცედურა არ არსებობს" -#: command.c:1348 command.c:2150 command.c:3433 command.c:3630 command.c:5793 +#: 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 @@ -258,199 +258,199 @@ msgstr "%s: კოდირების არასწორი სახელ msgid "%s" msgstr "%s" -#: command.c:1355 +#: command.c:1357 msgid "There is no previous error." msgstr "წინა შეცდომის გარეშე." -#: command.c:1468 +#: command.c:1470 #, c-format msgid "\\%s: missing right parenthesis" msgstr "\\%s: აკლია მარჯვენა მრგვალი ფრჩხილი" -#: command.c:1552 command.c:1682 command.c:1986 command.c:2000 command.c:2019 -#: command.c:2201 command.c:2442 command.c:2647 command.c:2687 +#: command.c:1554 command.c:1684 command.c:1988 command.c:2002 command.c:2021 +#: command.c:2203 command.c:2444 command.c:2649 command.c:2689 #, c-format msgid "\\%s: missing required argument" msgstr "\\%s: აკლია საჭირო არგუმენტი" -#: command.c:1813 +#: command.c:1815 #, c-format msgid "\\elif: cannot occur after \\else" msgstr "\\elif: არ შეიძლება \\else -ის შემდეგ იყოს" -#: command.c:1818 +#: command.c:1820 #, c-format msgid "\\elif: no matching \\if" msgstr "\\elif: შესაბამისი \\if -ის გარეშე" -#: command.c:1882 +#: command.c:1884 #, c-format msgid "\\else: cannot occur after \\else" msgstr "\\else: ვერ გაჩნდება \\else -ის შემდეგ" -#: command.c:1887 +#: command.c:1889 #, c-format msgid "\\else: no matching \\if" msgstr "\\else: შესაბამისი \\if -ის გარეშე" -#: command.c:1927 +#: command.c:1929 #, c-format msgid "\\endif: no matching \\if" msgstr "\\endif: შესაბამისი \\if -ის გარეშე" -#: command.c:2083 +#: command.c:2085 msgid "Query buffer is empty." msgstr "მოთხოვნის ბაფერი ცარიელია." -#: command.c:2126 +#: command.c:2128 #, c-format msgid "Enter new password for user \"%s\": " msgstr "შეიყვანეთ მომხმარებლის (\"%s\") ახალი პაროლი: " -#: command.c:2130 +#: command.c:2132 msgid "Enter it again: " msgstr "შეიყვანეთ კდევ ერთხელ: " -#: command.c:2139 +#: command.c:2141 #, c-format msgid "Passwords didn't match." msgstr "პაროლები არ ემთხვევა." -#: command.c:2236 +#: command.c:2238 #, c-format msgid "\\%s: could not read value for variable" msgstr "\\%s: ცვლადის მნიშვნელობის წაკითხვის შეცდომა" -#: command.c:2338 +#: command.c:2340 msgid "Query buffer reset (cleared)." msgstr "მოთხოვნის ბაფერი ცარიელია(გასუფთავდა)." -#: command.c:2360 +#: command.c:2362 #, c-format msgid "Wrote history to file \"%s\".\n" msgstr "ისტორია ჩაწერილია ფაილში \"%s\".\n" -#: command.c:2447 +#: command.c:2449 #, c-format msgid "\\%s: environment variable name must not contain \"=\"" msgstr "\\%s: გარემოს ცვლადის სახელი \"=\" -ს არ შეიძლება შეიცავდეს" -#: command.c:2495 +#: command.c:2497 #, c-format msgid "function name is required" msgstr "ფუნქციის სახელი აუცილებელია" -#: command.c:2497 +#: command.c:2499 #, c-format msgid "view name is required" msgstr "საჭიროა ხედის სახელი" -#: command.c:2619 +#: command.c:2621 msgid "Timing is on." msgstr "დროის დათვლა ჩართულია." -#: command.c:2621 +#: command.c:2623 msgid "Timing is off." msgstr "დროის დათვლა გამორთულია." -#: command.c:2707 command.c:2745 command.c:4072 command.c:4075 command.c:4078 -#: command.c:4084 command.c:4086 command.c:4112 command.c:4122 command.c:4134 -#: command.c:4148 command.c:4175 command.c:4233 common.c:78 copy.c:329 +#: command.c:2709 command.c:2747 command.c:4074 command.c:4077 command.c:4080 +#: command.c:4086 command.c:4088 command.c:4114 command.c:4124 command.c:4136 +#: command.c:4150 command.c:4177 command.c:4235 common.c:78 copy.c:329 #: copy.c:401 psqlscanslash.l:788 psqlscanslash.l:800 psqlscanslash.l:818 #, c-format msgid "%s: %m" msgstr "%s: %m" -#: command.c:2734 copy.c:388 +#: command.c:2736 copy.c:388 #, c-format msgid "%s: %s" msgstr "%s: %s" -#: command.c:2804 command.c:2850 +#: command.c:2806 command.c:2852 #, c-format msgid "\\watch: interval value is specified more than once" msgstr "\\watch: ინტერვალის მნიშვნელობა ერთზე მეტჯერაა მითითებული" -#: command.c:2814 command.c:2860 +#: command.c:2816 command.c:2862 #, c-format msgid "\\watch: incorrect interval value \"%s\"" msgstr "\\watch: არასწორი ინტერვალის მნიშვნელობა \"%s\"" -#: command.c:2824 +#: command.c:2826 #, c-format msgid "\\watch: iteration count is specified more than once" msgstr "\\watch: იტერაციის რაოდენობა ერთზე მეტჯერაა მითითებული" -#: command.c:2834 +#: command.c:2836 #, c-format msgid "\\watch: incorrect iteration count \"%s\"" msgstr "\\watch: არასწორი იტერაციების რაოდენობა \"%s\"" -#: command.c:2841 +#: command.c:2843 #, c-format msgid "\\watch: unrecognized parameter \"%s\"" msgstr "\\watch: უცნობი პარამეტრი \"%s\"" -#: command.c:3234 startup.c:243 startup.c:293 +#: command.c:3236 startup.c:243 startup.c:293 msgid "Password: " msgstr "პაროლი: " -#: command.c:3239 startup.c:290 +#: command.c:3241 startup.c:290 #, c-format msgid "Password for user %s: " msgstr "პაროლი მომხმარებლისთვის %s: " -#: command.c:3295 +#: command.c:3297 #, c-format msgid "Do not give user, host, or port separately when using a connection string" msgstr "შეერთების სტრიქონის გამოყენებისას მომხმარებლის, ჰოსტისა და და პორტის არ მითითება" -#: command.c:3330 +#: command.c:3332 #, c-format msgid "No database connection exists to re-use parameters from" msgstr "მონაცემთა ბაზის კავშირი პარამეტრების ხელახლა გამოსაყენებლად არ არსებობს" -#: command.c:3636 +#: command.c:3638 #, c-format msgid "Previous connection kept" msgstr "წინა შეერთება ჯერ კიდევ არსებობს" -#: command.c:3642 +#: command.c:3644 #, c-format msgid "\\connect: %s" msgstr "\\connect: %s" -#: command.c:3698 +#: command.c:3700 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" on address \"%s\" at port \"%s\".\n" msgstr "ახლა მიერთებული ბრძანდებით ბაზასთან \"%s\" როგორც მომხმარებელი \"%s\" მისამართზე \"%s\" და პორტზე \"%s\".\n" -#: command.c:3701 +#: command.c:3703 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" via socket in \"%s\" at port \"%s\".\n" msgstr "ახლა მიერთებული ბრძანდებით ბაზასთან \"%s\" როგორც მომხმარებელი \"%s\" სოკეტით \"%s\" და პორტზე \"%s\".\n" -#: command.c:3707 +#: command.c:3709 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" on host \"%s\" (address \"%s\") at port \"%s\".\n" msgstr "ახლა მიერთებული ბრძანდებით ბაზასთან \"%s\" როგორც მომხმარებელი \"%s\" ჰოსტზე \"%s\" (მისამართით \"%s\") და პორტზე \"%s\".\n" -#: command.c:3710 +#: command.c:3712 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" on host \"%s\" at port \"%s\".\n" msgstr "ახლა მიერთებული ბრძანდებით ბაზასთან \"%s\" როგორც მომხმარებელი \"%s\" ჰოსტზე \"%s\" და პორტზე \"%s\".\n" -#: command.c:3715 +#: command.c:3717 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\".\n" msgstr "ახლა მიერთებული ბრძანდებით ბაზასთან \"%s\" როგორც მომხმარებელი \"%s\"\n" -#: command.c:3755 +#: command.c:3757 #, c-format msgid "%s (%s, server %s)\n" msgstr "%s (%s, სერვერი %s)\n" -#: command.c:3768 +#: command.c:3770 #, c-format msgid "" "WARNING: %s major version %s, server major version %s.\n" @@ -459,29 +459,29 @@ msgstr "" "გაფრთხილება: %s ძირითადი ვერსია %s, სერვერის ძირითადი ვერსია %s.\n" " psql-ის ზოგიერთმა ფუნქციამ შეიძლება არ იმუშაოს.\n" -#: command.c:3805 +#: command.c:3807 #, c-format msgid "SSL connection (protocol: %s, cipher: %s, compression: %s)\n" msgstr "SSL შეერთება (პროდოკოლი: %s, შიფრაცა: %s, შეკუშმვა: %s)\n" -#: command.c:3806 command.c:3807 +#: command.c:3808 command.c:3809 msgid "unknown" msgstr "უცნობი" -#: command.c:3808 help.c:42 +#: command.c:3810 help.c:42 msgid "off" msgstr "გამორთული" -#: command.c:3808 help.c:42 +#: command.c:3810 help.c:42 msgid "on" msgstr "ჩართ" -#: command.c:3822 +#: command.c:3824 #, c-format msgid "GSSAPI-encrypted connection\n" msgstr "GSSAPI-ით დაშიფრული შეერთება\n" -#: command.c:3842 +#: command.c:3844 #, c-format msgid "" "WARNING: Console code page (%u) differs from Windows code page (%u)\n" @@ -492,284 +492,284 @@ msgstr "" " 8-ბიტიანი სიმბოლოებმა შეიძლება სწორად არ იმუშაოს. მეტი დეტალებისთვის\n" " იხილეთ psql-ის დოკუმენტაციის გვერდი გვერდი \"შენიშვნები Windows-ის მომხმარებლებისთვის\".\n" -#: command.c:3947 +#: command.c:3949 #, c-format msgid "environment variable PSQL_EDITOR_LINENUMBER_ARG must be set to specify a line number" msgstr "საჭიროა გარემოს ცვლადის PSQL_EDITOR_LINENUMBER_ARG დაყენება ხაზის ნომერზე" -#: command.c:3977 +#: command.c:3979 #, c-format msgid "could not start editor \"%s\"" msgstr "რედაქტორის გაშვების შეცდომა: \"%s\"" -#: command.c:3979 +#: command.c:3981 #, c-format msgid "could not start /bin/sh" msgstr "/bin/sh-ის გაშვების შეცდომა" -#: command.c:4029 +#: command.c:4031 #, c-format msgid "could not locate temporary directory: %s" msgstr "დროებითი საქაღალდის მოძებნის შეცდომა: %s" -#: command.c:4056 +#: command.c:4058 #, c-format msgid "could not open temporary file \"%s\": %m" msgstr "დროებითი ფაილის (\"%s\") გახსნის შეცდომა: %m" -#: command.c:4392 +#: command.c:4394 #, c-format msgid "\\pset: ambiguous abbreviation \"%s\" matches both \"%s\" and \"%s\"" msgstr "\\pset: \"%s\"-ის არასწორი აბრევიატურა ორივეს, \"%s\"-ს და \"%s-ს ემთხვევა\"" -#: command.c:4412 +#: command.c:4414 #, c-format msgid "\\pset: allowed formats are aligned, asciidoc, csv, html, latex, latex-longtable, troff-ms, unaligned, wrapped" msgstr "\\pset: დასაშვები ფორმატებია: aligned, asciidoc, csv, html, latex, latex-longtable, troff-ms, unaligned, wrapped" -#: command.c:4431 +#: command.c:4433 #, c-format msgid "\\pset: allowed line styles are ascii, old-ascii, unicode" msgstr "\\pset: ხაზის ნებადართული სტილებია ascii, old-ascii და unicode" -#: command.c:4446 +#: command.c:4448 #, c-format msgid "\\pset: allowed Unicode border line styles are single, double" msgstr "\\pset: უნიკოდის საზღვრის ხაზის ნებადართული სტილებია single და double" -#: command.c:4461 +#: command.c:4463 #, c-format msgid "\\pset: allowed Unicode column line styles are single, double" msgstr "\\pset: უნიკოდის სვეტის ხაზის ნებადართული სტილებია single და double" -#: command.c:4476 +#: command.c:4478 #, c-format msgid "\\pset: allowed Unicode header line styles are single, double" msgstr "\\pset:უნიკოდის თავსართის ხაზების ნებადართულ სტილებია single და double" -#: command.c:4528 +#: command.c:4530 #, c-format msgid "\\pset: allowed xheader_width values are \"%s\" (default), \"%s\", \"%s\", or a number specifying the exact width" msgstr "\\pset: xheader_width-ის დაშვებული მნიშვნელობებია \"%s\" (ნაგულისხმები), \"%s\", \"%s\", ან რიცხვი, რომელიც ზუსტ სიგანეზე მიუთითებს" -#: command.c:4545 +#: command.c:4547 #, c-format msgid "\\pset: csv_fieldsep must be a single one-byte character" msgstr "\\pset: csv_fieldsep ერთი ერთბაიტიანი სიმბოლო უნდა იყოს" -#: command.c:4550 +#: command.c:4552 #, c-format msgid "\\pset: csv_fieldsep cannot be a double quote, a newline, or a carriage return" msgstr "\\pset: csv_fieldsep არ შეიძლება იყოს ორმაგი ბრჭყალი, ხაზის დასასრული და კარეტის გადატანა" -#: command.c:4688 command.c:4889 +#: command.c:4690 command.c:4891 #, c-format msgid "\\pset: unknown option: %s" msgstr "\\pset: არასწორი პარამეტრი: %s" -#: command.c:4708 +#: command.c:4710 #, c-format msgid "Border style is %d.\n" msgstr "საზღვრის სტილი: %d\n" -#: command.c:4714 +#: command.c:4716 #, c-format msgid "Target width is unset.\n" msgstr "სამიზნის სიგანე დაყენებული არაა.\n" -#: command.c:4716 +#: command.c:4718 #, c-format msgid "Target width is %d.\n" msgstr "სამიზნის სიგანეა %d.\n" -#: command.c:4723 +#: command.c:4725 #, c-format msgid "Expanded display is on.\n" msgstr "გაფართოებული ეკრანი ჩართულია.\n" -#: command.c:4725 +#: command.c:4727 #, c-format msgid "Expanded display is used automatically.\n" msgstr "გაფართოებული ეკრანი ავტომატურად გამოიყენება.\n" -#: command.c:4727 +#: command.c:4729 #, c-format msgid "Expanded display is off.\n" msgstr "გაფართოებული ეკრანი გამორთულია.\n" -#: command.c:4734 command.c:4736 command.c:4738 +#: command.c:4736 command.c:4738 command.c:4740 #, c-format msgid "Expanded header width is \"%s\".\n" msgstr "გაფართოებული თავსართის სიგანეა \"%s\".\n" -#: command.c:4740 +#: command.c:4742 #, c-format msgid "Expanded header width is %d.\n" msgstr "გაფართოებული თავსართია %d.\n" -#: command.c:4746 +#: command.c:4748 #, c-format msgid "Field separator for CSV is \"%s\".\n" msgstr "CSV-ში ველების განმაცალკევებელია \"%s\".\n" -#: command.c:4754 command.c:4762 +#: command.c:4756 command.c:4764 #, c-format msgid "Field separator is zero byte.\n" msgstr "ველების განმაცალკევებელი ნულოვანი ბაიტია.\n" -#: command.c:4756 +#: command.c:4758 #, c-format msgid "Field separator is \"%s\".\n" msgstr "ველების განმაცალკევებელია \"%s\".\n" -#: command.c:4769 +#: command.c:4771 #, c-format msgid "Default footer is on.\n" msgstr "მდგომარეობის ზოლი ჩართულია.\n" -#: command.c:4771 +#: command.c:4773 #, c-format msgid "Default footer is off.\n" msgstr "ნაგულისხმები ქვესართი გამორთულია\n" -#: command.c:4777 +#: command.c:4779 #, c-format msgid "Output format is %s.\n" msgstr "გამოტანის ფორმატია %s.\n" -#: command.c:4783 +#: command.c:4785 #, c-format msgid "Line style is %s.\n" msgstr "ხაზის სტილია %s.\n" -#: command.c:4790 +#: command.c:4792 #, c-format msgid "Null display is \"%s\".\n" msgstr "ნულოვანია ეკრანია \"%s\".\n" -#: command.c:4798 +#: command.c:4800 #, c-format msgid "Locale-adjusted numeric output is on.\n" msgstr "რიცხვების ენაზე მორგებული გამოტანა ჩართულია.\n" -#: command.c:4800 +#: command.c:4802 #, c-format msgid "Locale-adjusted numeric output is off.\n" msgstr "რიცხვების ენაზე მორგებული გამოტანა გამორთულა.\n" -#: command.c:4807 +#: command.c:4809 #, c-format msgid "Pager is used for long output.\n" msgstr "გრძელი გამოტანისას გამოიყენება გვერდების გადამრთველი.\n" -#: command.c:4809 +#: command.c:4811 #, c-format msgid "Pager is always used.\n" msgstr "გვერდების გადამრთველი ყოველთვის გამოიყენება.\n" -#: command.c:4811 +#: command.c:4813 #, c-format msgid "Pager usage is off.\n" msgstr "გვერდების გადამრთველი გამორთულია.\n" -#: command.c:4817 +#: command.c:4819 #, c-format msgid "Pager won't be used for less than %d line.\n" msgid_plural "Pager won't be used for less than %d lines.\n" msgstr[0] "გვერდების გადამრთველი %d-ზე ნაკლებ ხაზზე არ მუშაობს.\n" msgstr[1] "გვერდების გადამრთველი %d-ზე ნაკლებ ხაზზე არ მუშაობს.\n" -#: command.c:4827 command.c:4837 +#: command.c:4829 command.c:4839 #, c-format msgid "Record separator is zero byte.\n" msgstr "ჩანაწერის გამყოფი ნული ბაიტია.\n" -#: command.c:4829 +#: command.c:4831 #, c-format msgid "Record separator is .\n" msgstr "ჩანაწერის გამყოფია .\n" -#: command.c:4831 +#: command.c:4833 #, c-format msgid "Record separator is \"%s\".\n" msgstr "ჩანაწერის გამყოფია \"%s\".\n" -#: command.c:4844 +#: command.c:4846 #, c-format msgid "Table attributes are \"%s\".\n" msgstr "ცხრილის ატრიბუტებია \"%s\".\n" -#: command.c:4847 +#: command.c:4849 #, c-format msgid "Table attributes unset.\n" msgstr "ცხრილის ატრიბუტები მოხსნილია.\n" -#: command.c:4854 +#: command.c:4856 #, c-format msgid "Title is \"%s\".\n" msgstr "სათაურია \"%s\".\n" -#: command.c:4856 +#: command.c:4858 #, c-format msgid "Title is unset.\n" msgstr "სათაურის დაყენება გაუქმდა.\n" -#: command.c:4863 +#: command.c:4865 #, c-format msgid "Tuples only is on.\n" msgstr "მხოლოდ სტრუქტურები ჩართულია.\n" -#: command.c:4865 +#: command.c:4867 #, c-format msgid "Tuples only is off.\n" msgstr "მხოლოდ სტრუქტურები გამორთულია.\n" -#: command.c:4871 +#: command.c:4873 #, c-format msgid "Unicode border line style is \"%s\".\n" msgstr "უნიკოდის საზღვრის ხაზის სტილია \"%s\".\n" -#: command.c:4877 +#: command.c:4879 #, c-format msgid "Unicode column line style is \"%s\".\n" msgstr "უნიკოდის სვეტის ხაზის სტილია \"%s\".\n" -#: command.c:4883 +#: command.c:4885 #, c-format msgid "Unicode header line style is \"%s\".\n" msgstr "უნიკოდის თავსართის ხაზის სტილია \"%s\".\n" -#: command.c:5132 +#: command.c:5134 #, c-format msgid "\\!: failed" msgstr "\\!: შეცდომა" -#: command.c:5166 +#: command.c:5168 #, c-format msgid "\\watch cannot be used with an empty query" msgstr "\\watch ცარიელი მოთხოვნით გამოყენებული ვერ იქნება" -#: command.c:5198 +#: command.c:5200 #, c-format msgid "could not set timer: %m" msgstr "დროის აღმრიცხველის დაყენების შეცდომა: %m" -#: command.c:5267 +#: command.c:5269 #, c-format msgid "%s\t%s (every %gs)\n" msgstr "%s\t%s (ყოველ %g-ში)\n" -#: command.c:5270 +#: command.c:5272 #, c-format msgid "%s (every %gs)\n" msgstr "%s (ყოველ %g-ში)\n" -#: command.c:5338 +#: command.c:5340 #, c-format msgid "could not wait for signals: %m" msgstr "სიგნალებისთვის დალოდება შეუძლებელია: %m" -#: command.c:5396 command.c:5403 common.c:592 common.c:599 common.c:1083 +#: command.c:5398 command.c:5405 common.c:592 common.c:599 common.c:1083 #, c-format msgid "" "********* QUERY **********\n" @@ -782,12 +782,12 @@ msgstr "" "**************************\n" "\n" -#: command.c:5582 +#: command.c:5584 #, c-format msgid "\"%s.%s\" is not a view" msgstr "\"%s.%s\" ხედი არაა" -#: command.c:5598 +#: command.c:5600 #, c-format msgid "could not parse reloptions array" msgstr "reloptions მასივის დამუშავების შეცდომა" @@ -847,7 +847,7 @@ msgstr "დრო: %.3f მწმ (%02d:%02d:%06.3f)\n" msgid "Time: %.3f ms (%.0f d %02d:%02d:%06.3f)\n" msgstr "დრო: %.3f მწმ (%.0f დღე %02d:%02d:%06.3f)\n" -#: common.c:586 common.c:643 common.c:1054 describe.c:6153 +#: common.c:586 common.c:643 common.c:1054 describe.c:6214 #, c-format msgid "You are currently not connected to a database." msgstr "ამჟამად მონაცემთა ბაზასთან მიერთებული არ ბრძანდებით." @@ -909,8 +909,8 @@ msgstr "სვეტი" #: common.c:1336 describe.c:170 describe.c:358 describe.c:376 describe.c:1046 #: describe.c:1200 describe.c:1732 describe.c:1756 describe.c:2027 -#: describe.c:3897 describe.c:4109 describe.c:4348 describe.c:4510 -#: describe.c:5785 +#: describe.c:3958 describe.c:4170 describe.c:4409 describe.c:4571 +#: describe.c:5846 msgid "Type" msgstr "ტიპი" @@ -1030,20 +1030,20 @@ msgid "\\crosstabview: column name not found: \"%s\"" msgstr "\\crosstabview: სვეტის სახელი არ არსებობს: \"%s\"" #: describe.c:87 describe.c:338 describe.c:630 describe.c:807 describe.c:1038 -#: describe.c:1189 describe.c:1264 describe.c:3886 describe.c:4096 -#: describe.c:4346 describe.c:4428 describe.c:4663 describe.c:4871 -#: describe.c:5113 describe.c:5357 describe.c:5427 describe.c:5438 -#: describe.c:5495 describe.c:5899 describe.c:5977 +#: describe.c:1189 describe.c:1264 describe.c:3947 describe.c:4157 +#: describe.c:4407 describe.c:4489 describe.c:4724 describe.c:4932 +#: describe.c:5174 describe.c:5418 describe.c:5488 describe.c:5499 +#: describe.c:5556 describe.c:5960 describe.c:6038 msgid "Schema" msgstr "სქემა" #: describe.c:88 describe.c:167 describe.c:229 describe.c:339 describe.c:631 #: describe.c:808 describe.c:930 describe.c:1039 describe.c:1265 -#: describe.c:3887 describe.c:4097 describe.c:4262 describe.c:4347 -#: describe.c:4429 describe.c:4592 describe.c:4664 describe.c:4872 -#: describe.c:4985 describe.c:5114 describe.c:5358 describe.c:5428 -#: describe.c:5439 describe.c:5496 describe.c:5695 describe.c:5766 -#: describe.c:5975 describe.c:6204 describe.c:6512 +#: describe.c:3948 describe.c:4158 describe.c:4323 describe.c:4408 +#: describe.c:4490 describe.c:4653 describe.c:4725 describe.c:4933 +#: describe.c:5046 describe.c:5175 describe.c:5419 describe.c:5489 +#: describe.c:5500 describe.c:5557 describe.c:5756 describe.c:5827 +#: describe.c:6036 describe.c:6265 describe.c:6573 msgid "Name" msgstr "სახელი" @@ -1057,12 +1057,12 @@ msgstr "არგუმენტის მონაცემების ტი #: describe.c:98 describe.c:105 describe.c:178 describe.c:243 describe.c:418 #: describe.c:662 describe.c:823 describe.c:974 describe.c:1267 describe.c:2047 -#: describe.c:3682 describe.c:3941 describe.c:4143 describe.c:4286 -#: describe.c:4360 describe.c:4438 describe.c:4605 describe.c:4783 -#: describe.c:4921 describe.c:4994 describe.c:5115 describe.c:5266 -#: describe.c:5308 describe.c:5374 describe.c:5431 describe.c:5440 -#: describe.c:5497 describe.c:5713 describe.c:5788 describe.c:5913 -#: describe.c:5978 describe.c:7032 +#: describe.c:3676 describe.c:4002 describe.c:4204 describe.c:4347 +#: describe.c:4421 describe.c:4499 describe.c:4666 describe.c:4844 +#: describe.c:4982 describe.c:5055 describe.c:5176 describe.c:5327 +#: describe.c:5369 describe.c:5435 describe.c:5492 describe.c:5501 +#: describe.c:5558 describe.c:5774 describe.c:5849 describe.c:5974 +#: describe.c:6039 describe.c:7093 msgid "Description" msgstr "აღწერა" @@ -1079,11 +1079,11 @@ msgstr "სერვერს (ვერსია %s) წვდომის მ msgid "Index" msgstr "ინდექსი" -#: describe.c:169 describe.c:3905 describe.c:4122 describe.c:5900 +#: describe.c:169 describe.c:3966 describe.c:4183 describe.c:5961 msgid "Table" msgstr "ცხრილი" -#: describe.c:177 describe.c:5697 +#: describe.c:177 describe.c:5758 msgid "Handler" msgstr "დამმუშავებელი" @@ -1092,10 +1092,10 @@ msgid "List of access methods" msgstr "წვდომის მეთოდების სია" #: describe.c:230 describe.c:404 describe.c:655 describe.c:931 describe.c:1188 -#: describe.c:3898 describe.c:4098 describe.c:4263 describe.c:4594 -#: describe.c:4986 describe.c:5696 describe.c:5767 describe.c:6205 -#: describe.c:6393 describe.c:6513 describe.c:6672 describe.c:6758 -#: describe.c:7020 +#: describe.c:3959 describe.c:4159 describe.c:4324 describe.c:4655 +#: describe.c:5047 describe.c:5757 describe.c:5828 describe.c:6266 +#: describe.c:6454 describe.c:6574 describe.c:6733 describe.c:6819 +#: describe.c:7081 msgid "Owner" msgstr "მფლობელი" @@ -1103,11 +1103,11 @@ msgstr "მფლობელი" msgid "Location" msgstr "მდებარეობა" -#: describe.c:241 describe.c:3517 +#: describe.c:241 describe.c:3517 describe.c:3858 msgid "Options" msgstr "პარამეტრები" -#: describe.c:242 describe.c:653 describe.c:972 describe.c:3940 +#: describe.c:242 describe.c:653 describe.c:972 describe.c:4001 msgid "Size" msgstr "ზომა" @@ -1222,8 +1222,8 @@ msgstr "მარჯვენა არგუმენტის ტიპი" msgid "Result type" msgstr "შედეგის ტიპი" -#: describe.c:816 describe.c:4600 describe.c:4766 describe.c:5265 -#: describe.c:6949 describe.c:6953 +#: describe.c:816 describe.c:4661 describe.c:4827 describe.c:5326 +#: describe.c:7010 describe.c:7014 msgid "Function" msgstr "ფუნქცია" @@ -1239,19 +1239,19 @@ msgstr "კოდირება" msgid "Locale Provider" msgstr "ენის მომწოდებელი" -#: describe.c:944 describe.c:4886 +#: describe.c:944 describe.c:4947 msgid "Collate" msgstr "დაშლა" -#: describe.c:945 describe.c:4887 +#: describe.c:945 describe.c:4948 msgid "Ctype" msgstr "Ctype" -#: describe.c:949 describe.c:953 describe.c:4892 describe.c:4896 +#: describe.c:949 describe.c:953 describe.c:4953 describe.c:4957 msgid "ICU Locale" msgstr "ICU ენა" -#: describe.c:957 describe.c:961 describe.c:4901 describe.c:4905 +#: describe.c:957 describe.c:961 describe.c:4962 describe.c:4966 msgid "ICU Rules" msgstr "ICU წესები" @@ -1263,27 +1263,27 @@ msgstr "ცხრილების სივრცე" msgid "List of databases" msgstr "მონაცემთა ბაზების სია" -#: describe.c:1040 describe.c:1191 describe.c:3888 +#: describe.c:1040 describe.c:1191 describe.c:3949 msgid "table" msgstr "ცხრილი" -#: describe.c:1041 describe.c:3889 +#: describe.c:1041 describe.c:3950 msgid "view" msgstr "ხედი" -#: describe.c:1042 describe.c:3890 +#: describe.c:1042 describe.c:3951 msgid "materialized view" msgstr "მატერიალიზებული ხედი" -#: describe.c:1043 describe.c:1193 describe.c:3892 +#: describe.c:1043 describe.c:1193 describe.c:3953 msgid "sequence" msgstr "მიმდევრობა" -#: describe.c:1044 describe.c:3894 +#: describe.c:1044 describe.c:3955 msgid "foreign table" msgstr "გარე ცხრილი" -#: describe.c:1045 describe.c:3895 describe.c:4107 +#: describe.c:1045 describe.c:3956 describe.c:4168 msgid "partitioned table" msgstr "დაყოფილი ცხრილი" @@ -1295,7 +1295,7 @@ msgstr "სვეტის წვდომები" msgid "Policies" msgstr "წესები" -#: describe.c:1150 describe.c:4516 describe.c:6617 +#: describe.c:1150 describe.c:4577 describe.c:6678 msgid "Access privileges" msgstr "წვდომები" @@ -1343,12 +1343,12 @@ msgstr "წესი" msgid "Object descriptions" msgstr "ობიექტების აღწერა" -#: describe.c:1486 describe.c:4013 +#: describe.c:1486 describe.c:4074 #, c-format msgid "Did not find any relation named \"%s\"." msgstr "ურთიერთობა სახელით \"%s\" არ არსებობს." -#: describe.c:1489 describe.c:4016 +#: describe.c:1489 describe.c:4077 #, c-format msgid "Did not find any relations." msgstr "ურთიერთობები ნაპოვნი არაა." @@ -1374,13 +1374,13 @@ msgstr "მაქსიმუმი" msgid "Increment" msgstr "გაზრდა" -#: describe.c:1737 describe.c:1761 describe.c:1890 describe.c:4432 -#: describe.c:4777 describe.c:4910 describe.c:4915 describe.c:6660 +#: describe.c:1737 describe.c:1761 describe.c:1890 describe.c:4493 +#: describe.c:4838 describe.c:4971 describe.c:4976 describe.c:6721 msgid "yes" msgstr "დიახ" -#: describe.c:1738 describe.c:1762 describe.c:1891 describe.c:4432 -#: describe.c:4774 describe.c:4910 describe.c:6661 +#: describe.c:1738 describe.c:1762 describe.c:1891 describe.c:4493 +#: describe.c:4835 describe.c:4971 describe.c:6722 msgid "no" msgstr "არა" @@ -1482,15 +1482,15 @@ msgstr "ჟურნალში არ-ჩაწერილი დაყოფ msgid "Partitioned table \"%s.%s\"" msgstr "დაყოფილი ცხრილი \"%s.%s\"" -#: describe.c:2030 describe.c:4349 +#: describe.c:2030 describe.c:4410 msgid "Collation" msgstr "კოლაცია" -#: describe.c:2031 describe.c:4350 +#: describe.c:2031 describe.c:4411 msgid "Nullable" msgstr "განულებადი" -#: describe.c:2032 describe.c:4351 +#: describe.c:2032 describe.c:4412 msgid "Default" msgstr "ნაგულისხმევი" @@ -1498,12 +1498,12 @@ msgstr "ნაგულისხმევი" msgid "Key?" msgstr "გასაღები?" -#: describe.c:2037 describe.c:4671 describe.c:4682 +#: describe.c:2037 describe.c:4732 describe.c:4743 msgid "Definition" msgstr "განმარტება" -#: describe.c:2039 describe.c:5712 describe.c:5787 describe.c:5853 -#: describe.c:5912 +#: describe.c:2039 describe.c:5773 describe.c:5848 describe.c:5914 +#: describe.c:5973 msgid "FDW options" msgstr "FDW -ის მორგება" @@ -1645,7 +1645,7 @@ msgstr "ყოველთვის გაშვებადი წესებ msgid "Rules firing on replica only:" msgstr "მხოლოდ რეპლიკაზე გაშვებადი წესები:" -#: describe.c:3031 describe.c:5048 +#: describe.c:3031 describe.c:5109 msgid "Publications:" msgstr "გამოცემები:" @@ -1740,442 +1740,450 @@ msgstr "ცხრილების სივრცე: \"%s\"" msgid ", tablespace \"%s\"" msgstr ", ცხრილების სივრცე: \"%s\"" -#: describe.c:3674 +#: describe.c:3670 msgid "List of roles" msgstr "როლების სია" -#: describe.c:3676 +#: describe.c:3672 describe.c:3841 msgid "Role name" msgstr "როლის სახელი" -#: describe.c:3677 +#: describe.c:3673 msgid "Attributes" msgstr "ატრიბუტები" -#: describe.c:3679 -msgid "Member of" -msgstr "წარმოადგენს წევრს" - -#: describe.c:3690 +#: describe.c:3684 msgid "Superuser" msgstr "ზემომხმარებელი" -#: describe.c:3693 +#: describe.c:3687 msgid "No inheritance" msgstr "მემკვიდრეობითობის გარეშე" -#: describe.c:3696 +#: describe.c:3690 msgid "Create role" msgstr "როლის შექმნა" -#: describe.c:3699 +#: describe.c:3693 msgid "Create DB" msgstr "ბაზის შექმნა" -#: describe.c:3702 +#: describe.c:3696 msgid "Cannot login" msgstr "შესვლა შეუძლებელია" -#: describe.c:3705 +#: describe.c:3699 msgid "Replication" msgstr "რეპლიკაცია" -#: describe.c:3709 +#: describe.c:3703 msgid "Bypass RLS" msgstr "RLS-ის გამოტოვება" -#: describe.c:3718 +#: describe.c:3712 msgid "No connections" msgstr "შეერთებების გარეშე" -#: describe.c:3720 +#: describe.c:3714 #, c-format msgid "%d connection" msgid_plural "%d connections" msgstr[0] "%d შეერთება" msgstr[1] "%d შეერთება" -#: describe.c:3730 +#: describe.c:3724 msgid "Password valid until " msgstr "პაროლს ვადა " -#: describe.c:3783 +#: describe.c:3775 msgid "Role" msgstr "როლი" -#: describe.c:3784 +#: describe.c:3776 msgid "Database" msgstr "მონაცემთა ბაზა" -#: describe.c:3785 +#: describe.c:3777 msgid "Settings" msgstr "მორგება" -#: describe.c:3809 +#: describe.c:3801 #, c-format msgid "Did not find any settings for role \"%s\" and database \"%s\"." msgstr "როლისთვის \"%s\" და ბაზისთვის \"%s\" პარამეტრები ნაპოვნი არაა." -#: describe.c:3812 +#: describe.c:3804 #, c-format msgid "Did not find any settings for role \"%s\"." msgstr "როლისთვის (\"%s\") პარამეტრები ნაპოვნი არაა." -#: describe.c:3815 +#: describe.c:3807 #, c-format msgid "Did not find any settings." msgstr "პარამეტრები ნაპოვნი არაა." -#: describe.c:3820 +#: describe.c:3812 msgid "List of settings" msgstr "პარამეტრების სია" -#: describe.c:3891 +#: describe.c:3842 +msgid "Member of" +msgstr "წარმოადგენს წევრს" + +#: describe.c:3859 +msgid "Grantor" +msgstr "მიმნიჭებელი" + +#: describe.c:3886 +msgid "List of role grants" +msgstr "როლების მინიჭებების სია" + +#: describe.c:3952 msgid "index" msgstr "ინდექსი" -#: describe.c:3893 +#: describe.c:3954 msgid "TOAST table" msgstr "TOAST ცხრილი" -#: describe.c:3896 describe.c:4108 +#: describe.c:3957 describe.c:4169 msgid "partitioned index" msgstr "დაყოფილი ინდექსი" -#: describe.c:3916 +#: describe.c:3977 msgid "permanent" msgstr "მუდმივი" -#: describe.c:3917 +#: describe.c:3978 msgid "temporary" msgstr "დროებითი" -#: describe.c:3918 +#: describe.c:3979 msgid "unlogged" msgstr "ჟურნალში არ-ჩაწერილი" -#: describe.c:3919 +#: describe.c:3980 msgid "Persistence" msgstr "შენახვა" -#: describe.c:3935 +#: describe.c:3996 msgid "Access method" msgstr "წვდომის მეთოდი" -#: describe.c:4021 +#: describe.c:4082 msgid "List of relations" msgstr "ურთიერთობების სია" -#: describe.c:4069 +#: describe.c:4130 #, c-format msgid "The server (version %s) does not support declarative table partitioning." msgstr "სერვერს (ვერსია %s) ცხრილების დეკლარატიულ დაყოფის მხარდაჭერა არ გააჩნია." -#: describe.c:4080 +#: describe.c:4141 msgid "List of partitioned indexes" msgstr "დაყოფილი ინდექსების სია" -#: describe.c:4082 +#: describe.c:4143 msgid "List of partitioned tables" msgstr "დაყოფილი ცხრილების სია" -#: describe.c:4086 +#: describe.c:4147 msgid "List of partitioned relations" msgstr "დაყოფილი ურთიერთობების სია" -#: describe.c:4117 +#: describe.c:4178 msgid "Parent name" msgstr "მშობლის სახელი" -#: describe.c:4130 +#: describe.c:4191 msgid "Leaf partition size" msgstr "ბოლო დანაყოფის ზომა" -#: describe.c:4133 describe.c:4139 +#: describe.c:4194 describe.c:4200 msgid "Total size" msgstr "ჯამური ზომა" -#: describe.c:4264 +#: describe.c:4325 msgid "Trusted" msgstr "სანდო" -#: describe.c:4273 +#: describe.c:4334 msgid "Internal language" msgstr "შიდა ენა" -#: describe.c:4274 +#: describe.c:4335 msgid "Call handler" msgstr "გამოძახების დამმუშავებელი" -#: describe.c:4275 describe.c:5698 +#: describe.c:4336 describe.c:5759 msgid "Validator" msgstr "შემმოწმებელი" -#: describe.c:4276 +#: describe.c:4337 msgid "Inline handler" msgstr "ჩადგმული კოდის დამმუშავებელი" -#: describe.c:4311 +#: describe.c:4372 msgid "List of languages" msgstr "ენების სია" -#: describe.c:4352 +#: describe.c:4413 msgid "Check" msgstr "შემოწმება" -#: describe.c:4396 +#: describe.c:4457 msgid "List of domains" msgstr "დომენების სია" -#: describe.c:4430 +#: describe.c:4491 msgid "Source" msgstr "წყარო" -#: describe.c:4431 +#: describe.c:4492 msgid "Destination" msgstr "დანიშნულება" -#: describe.c:4433 describe.c:6662 +#: describe.c:4494 describe.c:6723 msgid "Default?" msgstr "ნაგულისხმები?" -#: describe.c:4475 +#: describe.c:4536 msgid "List of conversions" msgstr "გადაყვანების სია" -#: describe.c:4503 +#: describe.c:4564 msgid "Parameter" msgstr "პარამეტრი" -#: describe.c:4504 +#: describe.c:4565 msgid "Value" msgstr "მნიშვნელობა" -#: describe.c:4511 +#: describe.c:4572 msgid "Context" msgstr "კონტექსტი" -#: describe.c:4544 +#: describe.c:4605 msgid "List of configuration parameters" msgstr "კონფიგურაციის პარამეტრების სია" -#: describe.c:4546 +#: describe.c:4607 msgid "List of non-default configuration parameters" msgstr "კონფიგურაციის არანაგულისხმებადი პარამეტრების სია" -#: describe.c:4573 +#: describe.c:4634 #, c-format msgid "The server (version %s) does not support event triggers." msgstr "სერვერს (ვერსია %s) მოვლენის ტრიგერების მხარდაჭერა არ გააჩნია." -#: describe.c:4593 +#: describe.c:4654 msgid "Event" msgstr "მოვლენა" -#: describe.c:4595 +#: describe.c:4656 msgid "enabled" msgstr "ჩართულია" -#: describe.c:4596 +#: describe.c:4657 msgid "replica" msgstr "რეპლიკა" -#: describe.c:4597 +#: describe.c:4658 msgid "always" msgstr "ყოველთვის" -#: describe.c:4598 +#: describe.c:4659 msgid "disabled" msgstr "გამორთულია" -#: describe.c:4599 describe.c:6514 +#: describe.c:4660 describe.c:6575 msgid "Enabled" msgstr "ჩართულია" -#: describe.c:4601 +#: describe.c:4662 msgid "Tags" msgstr "ჭდეები" -#: describe.c:4625 +#: describe.c:4686 msgid "List of event triggers" msgstr "მოვლენების ტრიგერების სია" -#: describe.c:4652 +#: describe.c:4713 #, c-format msgid "The server (version %s) does not support extended statistics." msgstr "სერვერს (ვერსია %s) გაფართოებული სტატისტიკის მხარდაჭერა არ გააჩნია." -#: describe.c:4689 +#: describe.c:4750 msgid "Ndistinct" msgstr "Ndistinct" -#: describe.c:4690 +#: describe.c:4751 msgid "Dependencies" msgstr "დამოკიდებულებები" -#: describe.c:4700 +#: describe.c:4761 msgid "MCV" msgstr "MCV" -#: describe.c:4724 +#: describe.c:4785 msgid "List of extended statistics" msgstr "გაფართოებული სტატისტიკის სია" -#: describe.c:4751 +#: describe.c:4812 msgid "Source type" msgstr "წყაროს ტიპი" -#: describe.c:4752 +#: describe.c:4813 msgid "Target type" msgstr "სამიზნის ტიპი" -#: describe.c:4776 +#: describe.c:4837 msgid "in assignment" msgstr "მინიჭებაში" -#: describe.c:4778 +#: describe.c:4839 msgid "Implicit?" msgstr "აშკარა?" -#: describe.c:4837 +#: describe.c:4898 msgid "List of casts" msgstr "კასტების სია" -#: describe.c:4877 describe.c:4881 +#: describe.c:4938 describe.c:4942 msgid "Provider" msgstr "სერვისის მომწოდებელი" -#: describe.c:4911 describe.c:4916 +#: describe.c:4972 describe.c:4977 msgid "Deterministic?" msgstr "დეტერმნისტული?" -#: describe.c:4956 +#: describe.c:5017 msgid "List of collations" msgstr "კოლაციების სია" -#: describe.c:5018 +#: describe.c:5079 msgid "List of schemas" msgstr "სქემების სია" -#: describe.c:5135 +#: describe.c:5196 msgid "List of text search parsers" msgstr "ტექსტური ძებნის დამმუშავებლების სია" -#: describe.c:5185 +#: describe.c:5246 #, c-format msgid "Did not find any text search parser named \"%s\"." msgstr "ტექსტის ძებნის დამმუშავებელი სახელით \"%s\" არ არსებობს." -#: describe.c:5188 +#: describe.c:5249 #, c-format msgid "Did not find any text search parsers." msgstr "ტექსტის ძებნის დამმუშავებლები ვერ ვიპოვე." -#: describe.c:5263 +#: describe.c:5324 msgid "Start parse" msgstr "დამუშავების დაწყება" -#: describe.c:5264 +#: describe.c:5325 msgid "Method" msgstr "მეთოდი" -#: describe.c:5268 +#: describe.c:5329 msgid "Get next token" msgstr "შემდეგი კოდის მიღება" -#: describe.c:5270 +#: describe.c:5331 msgid "End parse" msgstr "დამუშავების დასასრული" -#: describe.c:5272 +#: describe.c:5333 msgid "Get headline" msgstr "ამონაწერის მიღება" -#: describe.c:5274 +#: describe.c:5335 msgid "Get token types" msgstr "კოდის ტიპების მიღება" -#: describe.c:5285 +#: describe.c:5346 #, c-format msgid "Text search parser \"%s.%s\"" msgstr "ტექსტის ძებნის დამმუშავებელი \"%s.%s\"" -#: describe.c:5288 +#: describe.c:5349 #, c-format msgid "Text search parser \"%s\"" msgstr "ტექსტის ძებნის დამმუშავებელი \"%s\"" -#: describe.c:5307 +#: describe.c:5368 msgid "Token name" msgstr "კოდის სახელი" -#: describe.c:5321 +#: describe.c:5382 #, c-format msgid "Token types for parser \"%s.%s\"" msgstr "კოდის ტიპები დამმუშავებლისთვის \"%s.%s\"" -#: describe.c:5324 +#: describe.c:5385 #, c-format msgid "Token types for parser \"%s\"" msgstr "კოდის ტიპები დამმუშავებლისთვის \"%s\"" -#: describe.c:5368 +#: describe.c:5429 msgid "Template" msgstr "ნიმუში" -#: describe.c:5369 +#: describe.c:5430 msgid "Init options" msgstr "ინიციალიზაციის პარამეტრები" -#: describe.c:5396 +#: describe.c:5457 msgid "List of text search dictionaries" msgstr "ტექსტის ძებნის ლექსიკონების სია" -#: describe.c:5429 +#: describe.c:5490 msgid "Init" msgstr "ერთეული" -#: describe.c:5430 +#: describe.c:5491 msgid "Lexize" msgstr "ლექსით გამოყოფა" -#: describe.c:5462 +#: describe.c:5523 msgid "List of text search templates" msgstr "ტექსტის ძებნის შაბლონების სია" -#: describe.c:5517 +#: describe.c:5578 msgid "List of text search configurations" msgstr "ტექსტის ძებნის კონფიგურაციების სია" -#: describe.c:5568 +#: describe.c:5629 #, c-format msgid "Did not find any text search configuration named \"%s\"." msgstr "ტექსტის ძებნის კონფიგურაცია სახელით \"%s\" არ არსებობს." -#: describe.c:5571 +#: describe.c:5632 #, c-format msgid "Did not find any text search configurations." msgstr "ტექსტის ძებნის არცერთი კონფიგურაცია ნაპოვნი არაა." -#: describe.c:5637 +#: describe.c:5698 msgid "Token" msgstr "ტოკენი" -#: describe.c:5638 +#: describe.c:5699 msgid "Dictionaries" msgstr "ლექსიკონები" -#: describe.c:5649 +#: describe.c:5710 #, c-format msgid "Text search configuration \"%s.%s\"" msgstr "ტექსტის ძებნის კონფიგურაცია \"%s.%s\"" -#: describe.c:5652 +#: describe.c:5713 #, c-format msgid "Text search configuration \"%s\"" msgstr "ტექსტის ძებნის კონფიგურაცია \"%s\"" -#: describe.c:5656 +#: describe.c:5717 #, c-format msgid "" "\n" @@ -2184,7 +2192,7 @@ msgstr "" "\n" "დამმუშავებელი: \"%s.%s\"" -#: describe.c:5659 +#: describe.c:5720 #, c-format msgid "" "\n" @@ -2193,261 +2201,261 @@ msgstr "" "\n" "დამუშავებელი: \"%s\"" -#: describe.c:5740 +#: describe.c:5801 msgid "List of foreign-data wrappers" msgstr "გარე მონაცემების გადამტანების სია" -#: describe.c:5768 +#: describe.c:5829 msgid "Foreign-data wrapper" msgstr "გარე-მონაცემების გადამტანი" -#: describe.c:5786 describe.c:5976 +#: describe.c:5847 describe.c:6037 msgid "Version" msgstr "ვერსია" -#: describe.c:5817 +#: describe.c:5878 msgid "List of foreign servers" msgstr "გარე სერვერების სია" -#: describe.c:5842 describe.c:5901 +#: describe.c:5903 describe.c:5962 msgid "Server" msgstr "სერვერი" -#: describe.c:5843 +#: describe.c:5904 msgid "User name" msgstr "მომხმარებლის სახელი" -#: describe.c:5873 +#: describe.c:5934 msgid "List of user mappings" msgstr "მომხმარებლების მიმაგრებების სია" -#: describe.c:5946 +#: describe.c:6007 msgid "List of foreign tables" msgstr "გარე ცხრილების სია" -#: describe.c:5998 +#: describe.c:6059 msgid "List of installed extensions" msgstr "დაყენებული გაფართოებების სია" -#: describe.c:6046 +#: describe.c:6107 #, c-format msgid "Did not find any extension named \"%s\"." msgstr "გაფართოება სახელით \"%s\" არ არსებობს." -#: describe.c:6049 +#: describe.c:6110 #, c-format msgid "Did not find any extensions." msgstr "გაფართოებების პოვნა შეუძლებელია." -#: describe.c:6093 +#: describe.c:6154 msgid "Object description" msgstr "ობიექტის აღწერა" -#: describe.c:6103 +#: describe.c:6164 #, c-format msgid "Objects in extension \"%s\"" msgstr "ობიექტები გაფართებაში \"%s\"" -#: describe.c:6144 +#: describe.c:6205 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "არასწორი სრული სახელი (ძალიან ბევრი წერტილიანი სახელი): %s" -#: describe.c:6158 +#: describe.c:6219 #, c-format msgid "cross-database references are not implemented: %s" msgstr "ბაზებს შორის ბმულები განხორციელებული არაა: %s" -#: describe.c:6189 describe.c:6316 +#: describe.c:6250 describe.c:6377 #, c-format msgid "The server (version %s) does not support publications." msgstr "სერვერს (ვერსია %s) გამოცემების მხარდაჭერა არ გააჩნია." -#: describe.c:6206 describe.c:6394 +#: describe.c:6267 describe.c:6455 msgid "All tables" msgstr "ყველა ცხრილი" -#: describe.c:6207 describe.c:6395 +#: describe.c:6268 describe.c:6456 msgid "Inserts" msgstr "ჩასმები" -#: describe.c:6208 describe.c:6396 +#: describe.c:6269 describe.c:6457 msgid "Updates" msgstr "განახლებები" -#: describe.c:6209 describe.c:6397 +#: describe.c:6270 describe.c:6458 msgid "Deletes" msgstr "წაშლები" -#: describe.c:6213 describe.c:6399 +#: describe.c:6274 describe.c:6460 msgid "Truncates" msgstr "შეკვეცები" -#: describe.c:6217 describe.c:6401 +#: describe.c:6278 describe.c:6462 msgid "Via root" msgstr "Root-ის გავლით" -#: describe.c:6239 +#: describe.c:6300 msgid "List of publications" msgstr "გამოცემების სია" -#: describe.c:6363 +#: describe.c:6424 #, c-format msgid "Did not find any publication named \"%s\"." msgstr "გამოცემა სახელით \"%s\" არ არსებობს." -#: describe.c:6366 +#: describe.c:6427 #, c-format msgid "Did not find any publications." msgstr "გამოცემების გარეშე." -#: describe.c:6390 +#: describe.c:6451 #, c-format msgid "Publication %s" msgstr "პუბლიკაცია %s" -#: describe.c:6443 +#: describe.c:6504 msgid "Tables:" msgstr "ცხრილები:" -#: describe.c:6455 +#: describe.c:6516 msgid "Tables from schemas:" msgstr "ცხრილები სქემებიდან:" -#: describe.c:6499 +#: describe.c:6560 #, c-format msgid "The server (version %s) does not support subscriptions." msgstr "სერვერს (ვერსია %s) გამოწერების მხარდაჭერა არ გააჩნია." -#: describe.c:6515 +#: describe.c:6576 msgid "Publication" msgstr "გამოცება" -#: describe.c:6524 +#: describe.c:6585 msgid "Binary" msgstr "ბინარული" -#: describe.c:6533 describe.c:6537 +#: describe.c:6594 describe.c:6598 msgid "Streaming" msgstr "გაადაცემა" -#: describe.c:6545 +#: describe.c:6606 msgid "Two-phase commit" msgstr "ორ-ფაზიანი გადაცემა" -#: describe.c:6546 +#: describe.c:6607 msgid "Disable on error" msgstr "გამორთვა შეცდომის შემთხვევაში" -#: describe.c:6553 +#: describe.c:6614 msgid "Origin" msgstr "საწყისი" -#: describe.c:6554 +#: describe.c:6615 msgid "Password required" msgstr "პაროლი აუცილებელია" -#: describe.c:6555 +#: describe.c:6616 msgid "Run as owner?" msgstr "გავუშვა მფლობელით?" -#: describe.c:6560 +#: describe.c:6621 msgid "Synchronous commit" msgstr "სინქრონული გადაგზავნა" -#: describe.c:6561 +#: describe.c:6622 msgid "Conninfo" msgstr "შეერთ. ინფო" -#: describe.c:6567 +#: describe.c:6628 msgid "Skip LSN" msgstr "LSN-ის გამოტოვება" -#: describe.c:6594 +#: describe.c:6655 msgid "List of subscriptions" msgstr "გამოწერების სია" -#: describe.c:6656 describe.c:6752 describe.c:6845 describe.c:6940 +#: describe.c:6717 describe.c:6813 describe.c:6906 describe.c:7001 msgid "AM" msgstr "AM" -#: describe.c:6657 +#: describe.c:6718 msgid "Input type" msgstr "შეყვანის ტიპი" -#: describe.c:6658 +#: describe.c:6719 msgid "Storage type" msgstr "საცავის ტიპი" -#: describe.c:6659 +#: describe.c:6720 msgid "Operator class" msgstr "ოპერატორის კლასი" -#: describe.c:6671 describe.c:6753 describe.c:6846 describe.c:6941 +#: describe.c:6732 describe.c:6814 describe.c:6907 describe.c:7002 msgid "Operator family" msgstr "ოპერატორის ოჯახი" -#: describe.c:6707 +#: describe.c:6768 msgid "List of operator classes" msgstr "ოპერატორის კლასების სია" -#: describe.c:6754 +#: describe.c:6815 msgid "Applicable types" msgstr "განკუთვნილი ტიპები" -#: describe.c:6796 +#: describe.c:6857 msgid "List of operator families" msgstr "ოპერატორის ოჯახების სია" -#: describe.c:6847 +#: describe.c:6908 msgid "Operator" msgstr "ოპერატორი" -#: describe.c:6848 +#: describe.c:6909 msgid "Strategy" msgstr "სტრატეგია" -#: describe.c:6849 +#: describe.c:6910 msgid "ordering" msgstr "დალაგება" -#: describe.c:6850 +#: describe.c:6911 msgid "search" msgstr "ძებნა" -#: describe.c:6851 +#: describe.c:6912 msgid "Purpose" msgstr "მიზანი" -#: describe.c:6856 +#: describe.c:6917 msgid "Sort opfamily" msgstr "ოპერატორის ოჯახის დალაგება" -#: describe.c:6895 +#: describe.c:6956 msgid "List of operators of operator families" msgstr "ოპერატორის ოჯახების ოპერატორების სია" -#: describe.c:6942 +#: describe.c:7003 msgid "Registered left type" msgstr "რეგისტრირებული მარცხენა ტიპი" -#: describe.c:6943 +#: describe.c:7004 msgid "Registered right type" msgstr "რეგისტრირებული მარჯვენა ტიპი" -#: describe.c:6944 +#: describe.c:7005 msgid "Number" msgstr "რიცხვი" -#: describe.c:6988 +#: describe.c:7049 msgid "List of support functions of operator families" msgstr "ოპერატორის ოჯახების ფუნქციების სია" -#: describe.c:7019 +#: describe.c:7080 msgid "ID" msgstr "ID" -#: describe.c:7040 +#: describe.c:7101 msgid "Large objects" msgstr "დიდი ობიექტები" @@ -2459,7 +2467,7 @@ msgstr "" "psql PostgreSQL-ის ინტერაქტიური ტერმინალია.\n" "\n" -#: help.c:76 help.c:394 help.c:478 help.c:521 +#: help.c:76 help.c:395 help.c:479 help.c:522 msgid "Usage:\n" msgstr "გამოყენება:\n" @@ -2758,8 +2766,8 @@ msgstr " \\q psql-დან გასვლა\n" msgid " \\watch [[i=]SEC] [c=N] execute query every SEC seconds, up to N times\n" msgstr " \\watch [[i=]SEC] [c=N] მოთხოვნის ყოველ SEC წამში ერთხელ გაშვება, N-ჯერ\n" -#: help.c:204 help.c:212 help.c:224 help.c:234 help.c:241 help.c:297 help.c:305 -#: help.c:325 help.c:338 help.c:347 +#: help.c:204 help.c:212 help.c:224 help.c:234 help.c:241 help.c:298 help.c:306 +#: help.c:326 help.c:339 help.c:348 msgid "\n" msgstr "\n" @@ -3028,70 +3036,74 @@ msgid " \\drds [ROLEPTRN [DBPTRN]] list per-database role settings\n" msgstr " \\drds [ROLEPTRN [DBPTRN]] თითოეული ბაზის როლის პარამეტრების სია\n" #: help.c:283 +msgid " \\drg[S] [PATTERN] list role grants\n" +msgstr " \\dg[S] [შაბლონი] როლების მინიჭებების სია\n" + +#: help.c:284 msgid " \\dRp[+] [PATTERN] list replication publications\n" msgstr " \\dRp[+] [შაბლონი] რეპლიკაციის გამოცემების სია\n" -#: help.c:284 +#: help.c:285 msgid " \\dRs[+] [PATTERN] list replication subscriptions\n" msgstr " \\dRs[+] [შაბლონი] რეპლიკაციის გამოწერების სია\n" -#: help.c:285 +#: help.c:286 msgid " \\ds[S+] [PATTERN] list sequences\n" msgstr " \\ds[S+] [შაბლონი] მიმდევრობების სია\n" -#: help.c:286 +#: help.c:287 msgid " \\dt[S+] [PATTERN] list tables\n" msgstr " \\dt[S+] [შაბლონი] ცხრილების სია\n" -#: help.c:287 +#: help.c:288 msgid " \\dT[S+] [PATTERN] list data types\n" msgstr " \\dT[S+] [შაბლონი] მონაცემის ტიპების სია\n" -#: help.c:288 +#: help.c:289 msgid " \\du[S+] [PATTERN] list roles\n" msgstr " \\du[S+] [შაბლონი] როლების სია\n" -#: help.c:289 +#: help.c:290 msgid " \\dv[S+] [PATTERN] list views\n" msgstr " \\dv[S+] [შაბლონი] ხედების სია\n" -#: help.c:290 +#: help.c:291 msgid " \\dx[+] [PATTERN] list extensions\n" msgstr " \\dx[+] [შაბლონი] გაფართოებების სია\n" -#: help.c:291 +#: help.c:292 msgid " \\dX [PATTERN] list extended statistics\n" msgstr " \\dX [შაბლონი] გაფართოებული სტატისტიკის სია\n" -#: help.c:292 +#: help.c:293 msgid " \\dy[+] [PATTERN] list event triggers\n" msgstr " \\dy[+] [შაბლონი] მოვლენის ტრიგერების სია\n" -#: help.c:293 +#: help.c:294 msgid " \\l[+] [PATTERN] list databases\n" msgstr " \\l[+] [შაბლონი] მონაცემთა ბაზების სია\n" -#: help.c:294 +#: help.c:295 msgid " \\sf[+] FUNCNAME show a function's definition\n" msgstr " \\sf[+] FUNCNAME ფუნქციის აღწერის ჩვენება\n" -#: help.c:295 +#: help.c:296 msgid " \\sv[+] VIEWNAME show a view's definition\n" msgstr " \\sv[+] ხედისსახელი ხედის აღწერის ჩვენება\n" -#: help.c:296 +#: help.c:297 msgid " \\z[S] [PATTERN] same as \\dp\n" msgstr " \\z[S] [შაბლონი] იგივე, რაც \\dp\n" -#: help.c:299 +#: help.c:300 msgid "Large Objects\n" msgstr "დიდი ობიექტები\n" -#: help.c:300 +#: help.c:301 msgid " \\lo_export LOBOID FILE write large object to file\n" msgstr " \\lo_export LOBOID FILE დიდი ობიექტის ფაილში ჩაწერა\n" -#: help.c:301 +#: help.c:302 msgid "" " \\lo_import FILE [COMMENT]\n" " read large object from file\n" @@ -3099,36 +3111,36 @@ msgstr "" " \\lo_import ფაილი [კომენტარი]\n" " დიდი ობიექტის ფაილიდან წაკითხვა\n" -#: help.c:303 +#: help.c:304 msgid " \\lo_list[+] list large objects\n" msgstr " \\lo_list[+] დიდი ობიექტების სია\n" -#: help.c:304 +#: help.c:305 msgid " \\lo_unlink LOBOID delete a large object\n" msgstr " \\lo_unlink LOBOID დიდი ობიექტის წაშლა\n" -#: help.c:307 +#: help.c:308 msgid "Formatting\n" msgstr "ფორმატირება\n" -#: help.c:308 +#: help.c:309 msgid " \\a toggle between unaligned and aligned output mode\n" msgstr " \\a სწორებულ და გაუსწორებელ რეჟიმებს შორის გადართვა\n" -#: help.c:309 +#: help.c:310 msgid " \\C [STRING] set table title, or unset if none\n" msgstr " \\C [სტრიქონი] ცხრილის სათაურის დაყენება. ან წაშლა, თუ მითითებული არაა\n" -#: help.c:310 +#: help.c:311 msgid " \\f [STRING] show or set field separator for unaligned query output\n" msgstr " \\f [სტრიქონი] მოთხოვნის შედეგის დაულაგებელი გამოტანის ველების გამყოფის დაყენება ან ჩვენება\n" -#: help.c:311 +#: help.c:312 #, c-format msgid " \\H toggle HTML output mode (currently %s)\n" msgstr " \\H HTML გამოტანის რეჟიმის გადართვა (მიმდინარე %s)\n" -#: help.c:313 +#: help.c:314 msgid "" " \\pset [NAME [VALUE]] set table output option\n" " (border|columns|csv_fieldsep|expanded|fieldsep|\n" @@ -3146,29 +3158,29 @@ msgstr "" " unicode_border_linestyle|unicode_column_linestyle|\n" " unicode_header_linestyle)\n" -#: help.c:320 +#: help.c:321 #, c-format msgid " \\t [on|off] show only rows (currently %s)\n" msgstr " \\t [on|off] მხოლოდ მწკრივების ჩვენება(ამჟამად %s)\n" -#: help.c:322 +#: help.c:323 msgid " \\T [STRING] set HTML tag attributes, or unset if none\n" msgstr " \\T [STRING] HTML-ის
ჭდის ატრიბუტების დაყენება. ან გასუფთავება, თუ მითითებული არაფერია\n" -#: help.c:323 +#: help.c:324 #, c-format msgid " \\x [on|off|auto] toggle expanded output (currently %s)\n" msgstr " \\x [on|off|auto] გაფართოებული გამოტანის გადართვა (ამჟამად %s)\n" -#: help.c:324 +#: help.c:325 msgid "auto" msgstr "ავტომატური" -#: help.c:327 +#: help.c:328 msgid "Connection\n" msgstr "შეერთება\n" -#: help.c:329 +#: help.c:330 #, c-format msgid "" " \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n" @@ -3177,7 +3189,7 @@ msgstr "" " \\c[onnect] {[ბაზისსახელი|- მომხმარებელი|- ჰოსტი|- პორტ|-] | conninfo}\n" " ახალ ბაზასთან მიერთება (მიმდინარე \"%s\")\n" -#: help.c:333 +#: help.c:334 msgid "" " \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n" " connect to new database (currently no connection)\n" @@ -3185,60 +3197,60 @@ msgstr "" " \\c[onnect] {[ბაზისსახელი|- მომხმარებელი|- ჰოსტი|- პორტ|-] | conninfo}\n" " ახალ ბაზასთან მიერთება (მიმდინარე შეერთება არ არსებობს)\n" -#: help.c:335 +#: help.c:336 msgid " \\conninfo display information about current connection\n" msgstr " \\conninfo მიმდინარე შეერთების შესახებ ინფორმაციის გამოტანა\n" -#: help.c:336 +#: help.c:337 msgid " \\encoding [ENCODING] show or set client encoding\n" msgstr " \\encoding [კოდირება] კლიენტის კოდირების ჩვენება ან დაყენება\n" -#: help.c:337 +#: help.c:338 msgid " \\password [USERNAME] securely change the password for a user\n" msgstr " \\password [მომხმარებელი] მომხმარებლის პაროლის უსაფრთხოდ შეცვლა\n" -#: help.c:340 +#: help.c:341 msgid "Operating System\n" msgstr "ოპერაციული სისტემა\n" -#: help.c:341 +#: help.c:342 msgid " \\cd [DIR] change the current working directory\n" msgstr " \\cd [საქ] მიმდინარე საქაღალდის შეცვლა\n" -#: help.c:342 +#: help.c:343 msgid " \\getenv PSQLVAR ENVVAR fetch environment variable\n" msgstr " \\getenv PSQLVAR ENVVAR გარემოს ცვლადის გამოთხოვა\n" -#: help.c:343 +#: help.c:344 msgid " \\setenv NAME [VALUE] set or unset environment variable\n" msgstr " \\setenv სახელი [მნიშვნელობა] გარემოს ცვლადის დაყენება ან მოხსნა\n" -#: help.c:344 +#: help.c:345 #, c-format msgid " \\timing [on|off] toggle timing of commands (currently %s)\n" msgstr " \\timing [on|off] ბრძანებების ტაიმერის გადართვა (ამჟამად %s)\n" -#: help.c:346 +#: help.c:347 msgid " \\! [COMMAND] execute command in shell or start interactive shell\n" msgstr " \\! [ბრძანება] გარსის ბრძანების შესრულება ან ინტერაქტიური გარსის გაშვება\n" -#: help.c:349 +#: help.c:350 msgid "Variables\n" msgstr "ცვლადები\n" -#: help.c:350 +#: help.c:351 msgid " \\prompt [TEXT] NAME prompt user to set internal variable\n" msgstr " \\prompt [ტექსტი] სახელი მომხმარებლისთვის შიდა ცვლადის დაყენების შეთავაზება\n" -#: help.c:351 +#: help.c:352 msgid " \\set [NAME [VALUE]] set internal variable, or list all if no parameters\n" msgstr " \\set [სახელი [მნიშვნელობა]] დააყენებს შიდა ცვლადს, ან, თუ პარამეტრები მითითებული არაა, მათ სიას გამოიტანს\n" -#: help.c:352 +#: help.c:353 msgid " \\unset NAME unset (delete) internal variable\n" msgstr " \\unset სახელი შიდა ცვლადის მოხსნა (წაშლა)\n" -#: help.c:391 +#: help.c:392 msgid "" "List of specially treated variables\n" "\n" @@ -3246,11 +3258,11 @@ msgstr "" "განსაკუთრებულად მოსაპყრობი ცვლადების სია\n" "\n" -#: help.c:393 +#: help.c:394 msgid "psql variables:\n" msgstr "psql-ის ცვლადები:\n" -#: help.c:395 +#: help.c:396 msgid "" " psql --set=NAME=VALUE\n" " or \\set NAME VALUE inside psql\n" @@ -3260,7 +3272,7 @@ msgstr "" " ან \\set სახელი მნიშვნელობა psql-ის შიგნით\n" "\n" -#: help.c:397 +#: help.c:398 msgid "" " AUTOCOMMIT\n" " if set, successful SQL commands are automatically committed\n" @@ -3268,7 +3280,7 @@ msgstr "" " AUTOCOMMIT\n" " iთუ დაყენებულია, წარმატებული SQL ბრძანებები ავტომატურად იქნება გადაცემული\n" -#: help.c:399 +#: help.c:400 msgid "" " COMP_KEYWORD_CASE\n" " determines the case used to complete SQL key words\n" @@ -3278,7 +3290,7 @@ msgstr "" " განსაზღვრავს სიმბოლოების ზომას SQL-ის საკვანძო სიტყვების დასრულებისას\n" " [პატარა (lower), upper (დიდი), პატარის_შენარჩუნება (preserve-lower), დიდის_შენარჩუნება (preserve-upper)]\n" -#: help.c:402 +#: help.c:403 msgid "" " DBNAME\n" " the currently connected database name\n" @@ -3286,7 +3298,7 @@ msgstr "" " DBNAME\n" " ბაზის სახელი, რომელთანაც ამჟამად მიერთებული ბრძანდებით\n" -#: help.c:404 +#: help.c:405 msgid "" " ECHO\n" " controls what input is written to standard output\n" @@ -3296,7 +3308,7 @@ msgstr "" " აკონტროლებს, შეყვანილიდან რა გამოჩნდება სტანდარტულ გამოტანაზე\n" " [all(ყველაფერი), errors(შეცდომები), none(არაფერი), queries(მოთხოვნები)]\n" -#: help.c:407 +#: help.c:408 msgid "" " ECHO_HIDDEN\n" " if set, display internal queries executed by backslash commands;\n" @@ -3306,7 +3318,7 @@ msgstr "" " თუ დაყენებულია, \\-ით დაწყებული შიდა მოთხოვნები ნაჩვენები იქნება;\n" " თუ მნიშვნელობაა 'noexe', შიდა ბრძანებები ნაჩვენები იქნება, მაგრამ შესრულებული არა\n" -#: help.c:410 +#: help.c:411 msgid "" " ENCODING\n" " current client character set encoding\n" @@ -3314,7 +3326,7 @@ msgstr "" " ENCODING\n" " მიმდინარე კლიენტის სიმბოლოების კოდირება\n" -#: help.c:412 +#: help.c:413 msgid "" " ERROR\n" " \"true\" if last query failed, else \"false\"\n" @@ -3322,7 +3334,7 @@ msgstr "" " ERROR\n" " \"true\" თუ ბოლო მოთხოვნა ავარიული იყო. არადა \"false\"\n" -#: help.c:414 +#: help.c:415 msgid "" " FETCH_COUNT\n" " the number of result rows to fetch and display at a time (0 = unlimited)\n" @@ -3330,7 +3342,7 @@ msgstr "" " FETCH_COUNT\n" " შედეგის გამოსათხოვი მწკრივების რაოდენობა ერთი ჩვენებისთვის (0=უსასრულო)\n" -#: help.c:416 +#: help.c:417 msgid "" " HIDE_TABLEAM\n" " if set, table access methods are not displayed\n" @@ -3338,7 +3350,7 @@ msgstr "" " HIDE_TABLEAM\n" " თუ დაყენებულა, ცხრილის წვდომის მეთოდები ნაჩვენები არ იქნება\n" -#: help.c:418 +#: help.c:419 msgid "" " HIDE_TOAST_COMPRESSION\n" " if set, compression methods are not displayed\n" @@ -3346,7 +3358,7 @@ msgstr "" " HIDE_TOAST_COMPRESSION\n" " თუ ჩართულია, შეკუმშვის მეთოდები ნაჩვენები არ იქნება\n" -#: help.c:420 +#: help.c:421 msgid "" " HISTCONTROL\n" " controls command history [ignorespace, ignoredups, ignoreboth]\n" @@ -3354,7 +3366,7 @@ msgstr "" " HISTCONTROL\n" " ბრძანებების ისტორიის კონროლი[ignorespace, ignoredups, ignoreboth]\n" -#: help.c:422 +#: help.c:423 msgid "" " HISTFILE\n" " file name used to store the command history\n" @@ -3362,7 +3374,7 @@ msgstr "" " HISTFILE\n" " ბრძანებების ისტორიის შესანახი ფაილის სახელი\n" -#: help.c:424 +#: help.c:425 msgid "" " HISTSIZE\n" " maximum number of commands to store in the command history\n" @@ -3370,7 +3382,7 @@ msgstr "" " HISTSIZE\n" " ისტორიაში შენახული ბრძანებების მაქსიმალური რაოდენობა\n" -#: help.c:426 +#: help.c:427 msgid "" " HOST\n" " the currently connected database server host\n" @@ -3378,7 +3390,7 @@ msgstr "" " HOST\n" " ამჟამად მიერთებული მონაცემთა ბაზის სერვერის ჰოსტი\n" -#: help.c:428 +#: help.c:429 msgid "" " IGNOREEOF\n" " number of EOFs needed to terminate an interactive session\n" @@ -3386,7 +3398,7 @@ msgstr "" " IGNOREEOF\n" " ინტერაქტიური სესიის დასამთავრებლად საჭირო EOF-ების რაოდენობა\n" -#: help.c:430 +#: help.c:431 msgid "" " LASTOID\n" " value of the last affected OID\n" @@ -3394,7 +3406,7 @@ msgstr "" " LASTOID\n" " უკანასკნელად შეცვლილი OID-ის მნიშვნელობა\n" -#: help.c:432 +#: help.c:433 msgid "" " LAST_ERROR_MESSAGE\n" " LAST_ERROR_SQLSTATE\n" @@ -3404,7 +3416,7 @@ msgstr "" " LAST_ERROR_SQLSTATE\n" " უკანასკნელი შეცდომის შეტყობინება და SQLSTATE. თუ შეცდომა არ არსებობს, დაბრუნდება ცარიელი სტრიქონი და \"00000\"\n" -#: help.c:435 +#: help.c:436 msgid "" " ON_ERROR_ROLLBACK\n" " if set, an error doesn't stop a transaction (uses implicit savepoints)\n" @@ -3412,7 +3424,7 @@ msgstr "" " ON_ERROR_ROLLBACK\n" " თუ დაყენებულია, შეცდომა ტრანზაქციას არ გააჩერებს (გამოიყენება არაპირდაპირი შესანახი წერტილები)\n" -#: help.c:437 +#: help.c:438 msgid "" " ON_ERROR_STOP\n" " stop batch execution after error\n" @@ -3420,7 +3432,7 @@ msgstr "" " ON_ERROR_STOP\n" " ბრძანებების პაკეტის შესრულების შეწყვეტა პირველივე შეცდომის შემდეგ\n" -#: help.c:439 +#: help.c:440 msgid "" " PORT\n" " server port of the current connection\n" @@ -3428,7 +3440,7 @@ msgstr "" " პორტი\n" " სერვერის პორტი მიმდინარე შეერთებისთვის\n" -#: help.c:441 +#: help.c:442 msgid "" " PROMPT1\n" " specifies the standard psql prompt\n" @@ -3436,7 +3448,7 @@ msgstr "" " PROMPT1\n" " psql-ის ბრძანების სტრიქონის აღწერა\n" -#: help.c:443 +#: help.c:444 msgid "" " PROMPT2\n" " specifies the prompt used when a statement continues from a previous line\n" @@ -3444,7 +3456,7 @@ msgstr "" " PROMPT2\n" " ბრძანების სტრიქონის მითითება, როცა ბრძანება წინა ხაზიდან გრძელდება\n" -#: help.c:445 +#: help.c:446 msgid "" " PROMPT3\n" " specifies the prompt used during COPY ... FROM STDIN\n" @@ -3452,7 +3464,7 @@ msgstr "" " PROMPT3\n" " specifies the prompt used during COPY ... FROM STDIN\n" -#: help.c:447 +#: help.c:448 msgid "" " QUIET\n" " run quietly (same as -q option)\n" @@ -3460,7 +3472,7 @@ msgstr "" " QUIET\n" " ჩუმი ოპერაციები(იგივე, რაც პარამეტრი -q)\n" -#: help.c:449 +#: help.c:450 msgid "" " ROW_COUNT\n" " number of rows returned or affected by last query, or 0\n" @@ -3468,7 +3480,7 @@ msgstr "" " ROW_COUNT\n" " ბოლო მოთხოვნის მიერ დაბრუნებული ან შეცვლილი მწკრივები. ან 0\n" -#: help.c:451 +#: help.c:452 msgid "" " SERVER_VERSION_NAME\n" " SERVER_VERSION_NUM\n" @@ -3478,7 +3490,7 @@ msgstr "" " SERVER_VERSION_NUM\n" " სერვერის ვერსია(მოკლე სტრიქონის ან რიცხვით ფორმატში)\n" -#: help.c:454 +#: help.c:455 msgid "" " SHELL_ERROR\n" " \"true\" if the last shell command failed, \"false\" if it succeeded\n" @@ -3486,7 +3498,7 @@ msgstr "" " SHELL_ERROR\n" " \"true\", თუ ბოლო მოთხოვნა ავარიული იყო. არადა \"false\"\n" -#: help.c:456 +#: help.c:457 msgid "" " SHELL_EXIT_CODE\n" " exit status of the last shell command\n" @@ -3494,7 +3506,7 @@ msgstr "" " SHELL_EXIT_CODE\n" " გარსის ბოლო ბრძანების გამოსვლის სტატუსი\n" -#: help.c:458 +#: help.c:459 msgid "" " SHOW_ALL_RESULTS\n" " show all results of a combined query (\\;) instead of only the last\n" @@ -3502,7 +3514,7 @@ msgstr "" " SHOW_ALL_RESULTS\n" " მხოლოდ ბოლოს მაგიერ კომბინირებული მოთხოვნის ყველა შედეგის ჩვენება (\\;)\n" -#: help.c:460 +#: help.c:461 msgid "" " SHOW_CONTEXT\n" " controls display of message context fields [never, errors, always]\n" @@ -3510,7 +3522,7 @@ msgstr "" " SHOW_CONTEXT\n" " შეტყობინების კონტექსტის ველების ჩვენების კონტროლი[never, errors, always]\n" -#: help.c:462 +#: help.c:463 msgid "" " SINGLELINE\n" " if set, end of line terminates SQL commands (same as -S option)\n" @@ -3518,7 +3530,7 @@ msgstr "" " SINGLELINE\n" " iთუ დაყენებულია, ხაზის დაბოლოება SQL-ის ბრძანებასაც დაასრულებს (იგივე, რაც -S პარამეტრი)\n" -#: help.c:464 +#: help.c:465 msgid "" " SINGLESTEP\n" " single-step mode (same as -s option)\n" @@ -3526,7 +3538,7 @@ msgstr "" " SINGLESTEP\n" " ერთნაბიჯიანი რეჟიმი. (იგივე, რაც -s პარამეტრი)\n" -#: help.c:466 +#: help.c:467 msgid "" " SQLSTATE\n" " SQLSTATE of last query, or \"00000\" if no error\n" @@ -3534,7 +3546,7 @@ msgstr "" " SQLSTATE\n" " უკანასკნელი მოთხოვნის SQLSTATE. \"00000\", თუ შეცდომა არ მომხდარა\n" -#: help.c:468 +#: help.c:469 msgid "" " USER\n" " the currently connected database user\n" @@ -3542,7 +3554,7 @@ msgstr "" " USER\n" " ბაზასთან მიერთებული მომხმარებლის სახელი\n" -#: help.c:470 +#: help.c:471 msgid "" " VERBOSITY\n" " controls verbosity of error reports [default, verbose, terse, sqlstate]\n" @@ -3550,7 +3562,7 @@ msgstr "" " VERBOSITY\n" " შეცდომის ანგარშების დეტალურობის კონტროლი [default, verbose, terse, sqlstate]\n" -#: help.c:472 +#: help.c:473 msgid "" " VERSION\n" " VERSION_NAME\n" @@ -3562,7 +3574,7 @@ msgstr "" " VERSION_NUM\n" " psql-ის ვერსია (სრული ვერსია, მოკლე ვერსია თუ რიცხვითი ფორმატი)\n" -#: help.c:477 +#: help.c:478 msgid "" "\n" "Display settings:\n" @@ -3570,7 +3582,7 @@ msgstr "" "\n" "ჩვენების პარამეტრები:\n" -#: help.c:479 +#: help.c:480 msgid "" " psql --pset=NAME[=VALUE]\n" " or \\pset NAME [VALUE] inside psql\n" @@ -3580,7 +3592,7 @@ msgstr "" " ან \\pset სახ [მიშნვნ] psql-ში\n" "\n" -#: help.c:481 +#: help.c:482 msgid "" " border\n" " border style (number)\n" @@ -3588,7 +3600,7 @@ msgstr "" " border\n" " საზღვრის სტილი (რიცხვი)\n" -#: help.c:483 +#: help.c:484 msgid "" " columns\n" " target width for the wrapped format\n" @@ -3596,7 +3608,7 @@ msgstr "" " columns\n" " სამიზნის სიგანე გადატანილი ფორმატისთვის\n" -#: help.c:485 +#: help.c:486 msgid "" " expanded (or x)\n" " expanded output [on, off, auto]\n" @@ -3604,7 +3616,7 @@ msgstr "" " expanded (or x)\n" " გაფართოებული გამოტანა [on, off, auto]\n" -#: help.c:487 +#: help.c:488 #, c-format msgid "" " fieldsep\n" @@ -3613,7 +3625,7 @@ msgstr "" " fieldsep\n" " ველების გამყოფი დაულაგების გამოტანისათვის (ნაგულისხმები \"%s\")\n" -#: help.c:490 +#: help.c:491 msgid "" " fieldsep_zero\n" " set field separator for unaligned output to a zero byte\n" @@ -3621,7 +3633,7 @@ msgstr "" " fieldsep_zero\n" " დაულაგებელი გამოტანის ველების გამყოფის ნულოვან ბაიტზე დაყენება\n" -#: help.c:492 +#: help.c:493 msgid "" " footer\n" " enable or disable display of the table footer [on, off]\n" @@ -3629,7 +3641,7 @@ msgstr "" " footer\n" " ცხრილის მინაწერების ჩვენების ჩაართ/გამორთ[on, off]\n" -#: help.c:494 +#: help.c:495 msgid "" " format\n" " set output format [unaligned, aligned, wrapped, html, asciidoc, ...]\n" @@ -3637,7 +3649,7 @@ msgstr "" " format\n" " გამოტანის ფორმატის დაყენება [unaligned, aligned, wrapped, html, asciidoc, ...]\n" -#: help.c:496 +#: help.c:497 msgid "" " linestyle\n" " set the border line drawing style [ascii, old-ascii, unicode]\n" @@ -3645,7 +3657,7 @@ msgstr "" " linestyle\n" " საზღვრის ხაზის ხატვის სტილი [ascii, old-ascii, unicode]\n" -#: help.c:498 +#: help.c:499 msgid "" " null\n" " set the string to be printed in place of a null value\n" @@ -3653,7 +3665,7 @@ msgstr "" " null\n" " ნულოვანი ბაიტის მიერ ნაჩვენები სიმბოლო\n" -#: help.c:500 +#: help.c:501 msgid "" " numericlocale\n" " enable display of a locale-specific character to separate groups of digits\n" @@ -3661,7 +3673,7 @@ msgstr "" " numericlocale\n" " ციფრის ჯგუფების გასაყოფად ენის სპეციფიკური სიმბოლოს გამოყენება\n" -#: help.c:502 +#: help.c:503 msgid "" " pager\n" " control when an external pager is used [yes, no, always]\n" @@ -3669,7 +3681,7 @@ msgstr "" " pager\n" " გვერდების გარე გადამრთველის გამოყენება[yes, no, always]\n" -#: help.c:504 +#: help.c:505 msgid "" " recordsep\n" " record (line) separator for unaligned output\n" @@ -3677,7 +3689,7 @@ msgstr "" " recordsep\n" " დაულაგებელი გამოტანის ჩანაწერების(ხაზების) გამყოფი\n" -#: help.c:506 +#: help.c:507 msgid "" " recordsep_zero\n" " set record separator for unaligned output to a zero byte\n" @@ -3685,7 +3697,7 @@ msgstr "" " recordsep_zero\n" " დაულაგებელი გამოტანის ველების გამყოფის ნულოვან ბაიტზე დაყენება\n" -#: help.c:508 +#: help.c:509 msgid "" " tableattr (or T)\n" " specify attributes for table tag in html format, or proportional\n" @@ -3695,7 +3707,7 @@ msgstr "" " მიუთითებს HTML ფორმატის table ჭდის ატრიბუტებს ან სვეტების პოპორციულ სიგანეს\n" " მარცხნივ სწორებული მონაცემების ტიპებისთვის latex-longtable ფორმატში\n" -#: help.c:511 +#: help.c:512 msgid "" " title\n" " set the table title for subsequently printed tables\n" @@ -3703,7 +3715,7 @@ msgstr "" " title\n" " ცხრილის სათაურის დაყენება შემდგომ დაბეჭდილი ცხრილებისთვის\n" -#: help.c:513 +#: help.c:514 msgid "" " tuples_only\n" " if set, only actual table data is shown\n" @@ -3711,7 +3723,7 @@ msgstr "" " tuples_only\n" " თუ დაყენებულია, ნაჩვენები იქნება მხოლოდ მიმდინარე მონაცემები\n" -#: help.c:515 +#: help.c:516 msgid "" " unicode_border_linestyle\n" " unicode_column_linestyle\n" @@ -3723,7 +3735,7 @@ msgstr "" " unicode_header_linestyle\n" " უნიკოდის ხაზის დახატვის სტილი [single, double]\n" -#: help.c:520 +#: help.c:521 msgid "" "\n" "Environment variables:\n" @@ -3731,7 +3743,7 @@ msgstr "" "\n" "გარემოს ცვლადები:\n" -#: help.c:524 +#: help.c:525 msgid "" " NAME=VALUE [NAME=VALUE] psql ...\n" " or \\setenv NAME [VALUE] inside psql\n" @@ -3741,7 +3753,7 @@ msgstr "" " ან \\setenv სახელი[მნიშვნელობა ] psql-ის სიგნით\n" "\n" -#: help.c:526 +#: help.c:527 msgid "" " set NAME=VALUE\n" " psql ...\n" @@ -3753,7 +3765,7 @@ msgstr "" " ან \\setenv სახელი [მნიშვნელობა] psql-ში\n" "\n" -#: help.c:529 +#: help.c:530 msgid "" " COLUMNS\n" " number of columns for wrapped format\n" @@ -3761,7 +3773,7 @@ msgstr "" " COLUMNS\n" " გადასატანი ფორმატის სვეტების რაოდენობა\n" -#: help.c:531 +#: help.c:532 msgid "" " PGAPPNAME\n" " same as the application_name connection parameter\n" @@ -3769,7 +3781,7 @@ msgstr "" " PGAPPNAME\n" " იგივე, რაც შეერთების პარამეტრი აპლიკაციის_სახელი\n" -#: help.c:533 +#: help.c:534 msgid "" " PGDATABASE\n" " same as the dbname connection parameter\n" @@ -3777,7 +3789,7 @@ msgstr "" " PGDATABASE\n" " იგივე, რაც შეერთების dbname პარამეტრი\n" -#: help.c:535 +#: help.c:536 msgid "" " PGHOST\n" " same as the host connection parameter\n" @@ -3785,7 +3797,7 @@ msgstr "" " PGHOST\n" " იგივე, რაც ჰოსტი შეერთების პარამეტრებში\n" -#: help.c:537 +#: help.c:538 msgid "" " PGPASSFILE\n" " password file name\n" @@ -3793,7 +3805,7 @@ msgstr "" " PGPASSFILE\n" " პაროლების ფაილის სახელი\n" -#: help.c:539 +#: help.c:540 msgid "" " PGPASSWORD\n" " connection password (not recommended)\n" @@ -3801,7 +3813,7 @@ msgstr "" " PGPASSWORD\n" " შეერთების პაროლი (რეკომენდებული არაა)\n" -#: help.c:541 +#: help.c:542 msgid "" " PGPORT\n" " same as the port connection parameter\n" @@ -3809,7 +3821,7 @@ msgstr "" " PGPORT\n" " იგივე, რაც პორტი შეერთების პარამეტრებში\n" -#: help.c:543 +#: help.c:544 msgid "" " PGUSER\n" " same as the user connection parameter\n" @@ -3817,7 +3829,7 @@ msgstr "" " PGUSER\n" " იგივე, რაც მომხმარებლის სახელი შეერთების პარამეტრებში\n" -#: help.c:545 +#: help.c:546 msgid "" " PSQL_EDITOR, EDITOR, VISUAL\n" " editor used by the \\e, \\ef, and \\ev commands\n" @@ -3825,7 +3837,7 @@ msgstr "" " PSQL_EDITOR, EDITOR, VISUAL\n" " \\e, \\ef, და \\ev ბრძანების მიერ გამოყენებული რედაქტორი\n" -#: help.c:547 +#: help.c:548 msgid "" " PSQL_EDITOR_LINENUMBER_ARG\n" " how to specify a line number when invoking the editor\n" @@ -3833,7 +3845,7 @@ msgstr "" " PSQL_EDITOR_LINENUMBER_ARG\n" " რედაქტორის გამოძახებისას ხაზის ნომრის მითითების ხერხი\n" -#: help.c:549 +#: help.c:550 msgid "" " PSQL_HISTORY\n" " alternative location for the command history file\n" @@ -3841,7 +3853,7 @@ msgstr "" " PSQL_HISTORY\n" " ბრძანებების ისტორიის ფაილის ალტერნატიული მდებარეობა\n" -#: help.c:551 +#: help.c:552 msgid "" " PSQL_PAGER, PAGER\n" " name of external pager program\n" @@ -3849,7 +3861,7 @@ msgstr "" " PSQL_PAGER, PAGER\n" " გვერდების გადამრთველი გარე პროგრამის სახელი\n" -#: help.c:554 +#: help.c:555 msgid "" " PSQL_WATCH_PAGER\n" " name of external pager program used for \\watch\n" @@ -3857,7 +3869,7 @@ msgstr "" " PSQL_WATCH_PAGER\n" " \\watch-ისთვის გამოყენებული გვერდების გადამრთველი გარე პროგრამა\n" -#: help.c:557 +#: help.c:558 msgid "" " PSQLRC\n" " alternative location for the user's .psqlrc file\n" @@ -3865,7 +3877,7 @@ msgstr "" " PSQLRC\n" " მომხმარებლის .psqlrc ფაილის ალტერნატიული მდებარეობა\n" -#: help.c:559 +#: help.c:560 msgid "" " SHELL\n" " shell used by the \\! command\n" @@ -3873,7 +3885,7 @@ msgstr "" " SHELL\n" " \\! ბრძანების მიერ გამოყენებული გარსი\n" -#: help.c:561 +#: help.c:562 msgid "" " TMPDIR\n" " directory for temporary files\n" @@ -3881,11 +3893,11 @@ msgstr "" " TMPDIR\n" " დროებითი ფაილების საქაღალდე\n" -#: help.c:621 +#: help.c:622 msgid "Available help:\n" msgstr "ხელმისაწვდომი დახმარება:\n" -#: help.c:716 +#: help.c:717 #, c-format msgid "" "Command: %s\n" @@ -3904,7 +3916,7 @@ msgstr "" "URL: %s\n" "\n" -#: help.c:739 +#: help.c:740 #, c-format msgid "" "No help available for \"%s\".\n" @@ -4411,8 +4423,8 @@ msgstr "ქმედება" #: 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:1986 sql_help.c:1987 -#: sql_help.c:1988 sql_help.c:2333 sql_help.c:2346 sql_help.c:2399 +#: 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 @@ -4883,7 +4895,7 @@ msgid "where option can be one of:" msgstr "სადაც option შეიძლება იყოს ერთ-ერთი სიიდან:" #: sql_help.c:1723 sql_help.c:1724 sql_help.c:1787 sql_help.c:1980 -#: sql_help.c:1983 sql_help.c:2164 sql_help.c:3755 sql_help.c:3756 +#: 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 @@ -4972,22 +4984,22 @@ msgstr "გამყოფი_სიმბოლო" msgid "null_string" msgstr "ნულოვანი_სტრიქონი" -#: sql_help.c:1984 +#: sql_help.c:1983 +msgid "default_string" +msgstr "default_string" + +#: sql_help.c:1985 msgid "quote_character" msgstr "ციტატის_სიმბოლო" -#: sql_help.c:1985 +#: sql_help.c:1986 msgid "escape_character" msgstr "სპეციალური_სიმბოლო" -#: sql_help.c:1989 +#: sql_help.c:1990 msgid "encoding_name" msgstr "კოდირების-სახელი" -#: sql_help.c:1990 -msgid "default_string" -msgstr "default_string" - #: sql_help.c:2001 msgid "access_method_type" msgstr "წვდომის_მეთოდის_ტიპი" @@ -6486,7 +6498,7 @@ msgstr "ბრძანების სტრიქონის დამატ msgid "could not find own program executable" msgstr "საკუთარი პროგრამის გამშვები ფაილის პოვნა შეუძლებელია" -#: tab-complete.c:6076 +#: tab-complete.c:6078 #, c-format msgid "" "tab completion query failed: %s\n" diff --git a/src/bin/scripts/po/pt_BR.po b/src/bin/scripts/po/pt_BR.po index e6abb54d6f0..0eccd72b480 100644 --- a/src/bin/scripts/po/pt_BR.po +++ b/src/bin/scripts/po/pt_BR.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-09-27 13:15-0300\n" -"PO-Revision-Date: 2016-06-07 06:54-0400\n" +"PO-Revision-Date: 2023-08-17 16:32+0200\n" "Last-Translator: Euler Taveira \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" @@ -315,7 +315,7 @@ msgstr "" #: pg_isready.c:241 reindexdb.c:786 vacuumdb.c:1000 #, c-format msgid "%s home page: <%s>\n" -msgstr "página web do %s: <%s>\n" +msgstr "Página web do %s: <%s>\n" #: common.c:107 #, c-format From d0354966354b3bd598a1299761499276031416bc Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 28 Aug 2023 16:26:56 -0400 Subject: [PATCH 142/317] Stamp 16rc1. --- configure | 18 +++++++++--------- configure.ac | 2 +- meson.build | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/configure b/configure index 14a6ce26bd4..0727eabf2ec 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 16beta3. +# Generated by GNU Autoconf 2.69 for PostgreSQL 16rc1. # # Report bugs to . # @@ -582,8 +582,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='PostgreSQL' PACKAGE_TARNAME='postgresql' -PACKAGE_VERSION='16beta3' -PACKAGE_STRING='PostgreSQL 16beta3' +PACKAGE_VERSION='16rc1' +PACKAGE_STRING='PostgreSQL 16rc1' 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 16beta3 to adapt to many kinds of systems. +\`configure' configures PostgreSQL 16rc1 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 16beta3:";; + short | recursive ) echo "Configuration of PostgreSQL 16rc1:";; 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 16beta3 +PostgreSQL configure 16rc1 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 16beta3, which was +It was created by PostgreSQL $as_me 16rc1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -19957,7 +19957,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 16beta3, which was +This file was extended by PostgreSQL $as_me 16rc1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -20028,7 +20028,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 16beta3 +PostgreSQL config.status 16rc1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 393dd9f061b..b00abb9466b 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], [16beta3], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) +AC_INIT([PostgreSQL], [16rc1], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required. Untested combinations of 'autoconf' and PostgreSQL versions are not diff --git a/meson.build b/meson.build index 5484663d067..07d3c454fe1 100644 --- a/meson.build +++ b/meson.build @@ -8,7 +8,7 @@ project('postgresql', ['c'], - version: '16beta3', + version: '16rc1', license: 'PostgreSQL', # We want < 0.56 for python 3.5 compatibility on old platforms. EPEL for From d972f4a267791ea97ac5b5b509405cff9c25543b Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Tue, 29 Aug 2023 09:09:40 +0300 Subject: [PATCH 143/317] Initialize ListenSocket array earlier. After commit b0bea38705, syslogger prints 63 warnings about failing to close a listen socket at postmaster startup. That's because the syslogger process forks before the ListenSockets array is initialized, so ClosePostmasterPorts() calls "close(0)" 64 times. The first call succeeds, because fd 0 is stdin. This has been like this since commit 9a86f03b4e in version 13, which moved the SysLogger_Start() call to before initializing ListenSockets. We just didn't notice until commit b0bea38705 added the LOG message. Reported by Michael Paquier and Jeff Janes. Author: Michael Paquier Discussion: https://www.postgresql.org/message-id/ZOvvuQe0rdj2slA9%40paquier.xyz Discussion: https://www.postgresql.org/message-id/ZO0fgDwVw2SUJiZx@paquier.xyz#482670177eb4eaf4c9f03c1eed963e5f Backpatch-through: 13 --- src/backend/postmaster/postmaster.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index 85a40e292cc..cf4ef8c4d47 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -1169,6 +1169,17 @@ PostmasterMain(int argc, char *argv[]) errmsg("could not remove file \"%s\": %m", LOG_METAINFO_DATAFILE))); + /* + * Initialize input sockets. + * + * Mark them all closed, and set up an on_proc_exit function that's + * charged with closing the sockets again at postmaster shutdown. + */ + for (i = 0; i < MAXLISTEN; i++) + ListenSocket[i] = PGINVALID_SOCKET; + + on_proc_exit(CloseServerPorts, 0); + /* * If enabled, start up syslogger collection subprocess */ @@ -1203,15 +1214,7 @@ PostmasterMain(int argc, char *argv[]) /* * Establish input sockets. - * - * First, mark them all closed, and set up an on_proc_exit function that's - * charged with closing the sockets again at postmaster shutdown. */ - for (i = 0; i < MAXLISTEN; i++) - ListenSocket[i] = PGINVALID_SOCKET; - - on_proc_exit(CloseServerPorts, 0); - if (ListenAddresses) { char *rawstring; From e40315121b0d12f91eeb14ffceae0b1969b68763 Mon Sep 17 00:00:00 2001 From: Daniel Gustafsson Date: Tue, 29 Aug 2023 14:27:40 +0200 Subject: [PATCH 144/317] Reword user-facing message for "power of two" While there are numerous instances of using "power of 2" in the code, translated user-facing messages use "power of two". Fix two instances which used "power of 2" instead. This is a backpatch of 95fff2abee in master. Author: Kyotaro Horiguchi Discussion: https://postgr.es/m/20230829.175615.682972421946735863.horikyota.ntt@gmail.com Backpatch-through: v16 --- src/bin/initdb/initdb.c | 2 +- src/bin/pg_resetwal/pg_resetwal.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c index fc1fb363e74..8b84e230f1c 100644 --- a/src/bin/initdb/initdb.c +++ b/src/bin/initdb/initdb.c @@ -3356,7 +3356,7 @@ main(int argc, char *argv[]) if (endptr == str_wal_segment_size_mb || *endptr != '\0') pg_fatal("argument of --wal-segsize must be a number"); if (!IsValidWalSegSize(wal_segment_size_mb * 1024 * 1024)) - pg_fatal("argument of --wal-segsize must be a power of 2 between 1 and 1024"); + pg_fatal("argument of --wal-segsize must be a power of two between 1 and 1024"); } get_restricted_token(); diff --git a/src/bin/pg_resetwal/pg_resetwal.c b/src/bin/pg_resetwal/pg_resetwal.c index e7ef2b8bd0c..ca57713f63b 100644 --- a/src/bin/pg_resetwal/pg_resetwal.c +++ b/src/bin/pg_resetwal/pg_resetwal.c @@ -295,7 +295,7 @@ main(int argc, char *argv[]) if (endptr == optarg || *endptr != '\0' || errno != 0) pg_fatal("argument of --wal-segsize must be a number"); if (!IsValidWalSegSize(set_wal_segsize)) - pg_fatal("argument of --wal-segsize must be a power of 2 between 1 and 1024"); + pg_fatal("argument of --wal-segsize must be a power of two between 1 and 1024"); break; default: From 168d4e467787d51a7cc19d6a8c0fc9383e91d2f1 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Tue, 29 Aug 2023 15:15:54 +0200 Subject: [PATCH 145/317] Rename logical_replication_mode to debug_logical_replication_streaming The logical_replication_mode GUC is intended for testing and debugging purposes, but its current name may be misleading and encourage users to make unnecessary changes. To avoid confusion, renaming the GUC to a less misleading name debug_logical_replication_streaming that casual users are less likely to mistakenly assume needs to be modified in a regular logical replication setup. Author: Hou Zhijie Reviewed-by: Peter Smith Discussion: https://www.postgresql.org/message-id/flat/d672d774-c44b-6fec-f993-793e744f169a%40eisentraut.org --- doc/src/sgml/config.sgml | 12 ++++---- doc/src/sgml/release-16.sgml | 2 +- .../replication/logical/applyparallelworker.c | 2 +- .../replication/logical/reorderbuffer.c | 30 +++++++++---------- src/backend/utils/misc/guc_tables.c | 14 ++++----- src/include/replication/reorderbuffer.h | 10 +++---- src/test/subscription/t/015_stream.pl | 2 +- src/test/subscription/t/016_stream_subxact.pl | 2 +- .../t/018_stream_subxact_abort.pl | 4 +-- .../t/019_stream_subxact_ddl_abort.pl | 2 +- .../subscription/t/023_twophase_stream.pl | 4 +-- 11 files changed, 42 insertions(+), 42 deletions(-) diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 3bb4f776011..cb615ac4241 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -11743,10 +11743,10 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) - - logical_replication_mode (enum) + + debug_logical_replication_streaming (enum) - logical_replication_mode configuration parameter + debug_logical_replication_streaming configuration parameter @@ -11755,12 +11755,12 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) immediate. The default is buffered. This parameter is intended to be used to test logical decoding and replication of large transactions. The effect of - logical_replication_mode is different for the + debug_logical_replication_streaming is different for the publisher and subscriber: - On the publisher side, logical_replication_mode + On the publisher side, debug_logical_replication_streaming allows streaming or serializing changes immediately in logical decoding. When set to immediate, stream each change if the streaming @@ -11773,7 +11773,7 @@ LOG: CleanUpLock: deleting: lock(0xb7acd844) id(24688,24696,0,0,0,1) On the subscriber side, if the streaming option is set to - parallel, logical_replication_mode + parallel, debug_logical_replication_streaming can be used to direct the leader apply worker to send changes to the shared memory queue or to serialize all changes to the file. When set to buffered, the leader sends changes to parallel apply diff --git a/doc/src/sgml/release-16.sgml b/doc/src/sgml/release-16.sgml index 21843618ee7..2eb172eaa63 100644 --- a/doc/src/sgml/release-16.sgml +++ b/doc/src/sgml/release-16.sgml @@ -1709,7 +1709,7 @@ Author: Amit Kapila The variable is logical_replication_mode. + linkend="guc-debug-logical-replication-streaming">debug_logical_replication_streaming. diff --git a/src/backend/replication/logical/applyparallelworker.c b/src/backend/replication/logical/applyparallelworker.c index 6fb96148f4a..a24709ec7a5 100644 --- a/src/backend/replication/logical/applyparallelworker.c +++ b/src/backend/replication/logical/applyparallelworker.c @@ -1159,7 +1159,7 @@ pa_send_data(ParallelApplyWorkerInfo *winfo, Size nbytes, const void *data) * We don't try to send data to parallel worker for 'immediate' mode. This * is primarily used for testing purposes. */ - if (unlikely(logical_replication_mode == LOGICAL_REP_MODE_IMMEDIATE)) + if (unlikely(debug_logical_replication_streaming == DEBUG_LOGICAL_REP_STREAMING_IMMEDIATE)) return false; /* diff --git a/src/backend/replication/logical/reorderbuffer.c b/src/backend/replication/logical/reorderbuffer.c index 87a4d2a24b7..0dab0bb64e8 100644 --- a/src/backend/replication/logical/reorderbuffer.c +++ b/src/backend/replication/logical/reorderbuffer.c @@ -210,7 +210,7 @@ int logical_decoding_work_mem; static const Size max_changes_in_memory = 4096; /* XXX for restore only */ /* GUC variable */ -int logical_replication_mode = LOGICAL_REP_MODE_BUFFERED; +int debug_logical_replication_streaming = DEBUG_LOGICAL_REP_STREAMING_BUFFERED; /* --------------------------------------- * primary reorderbuffer support routines @@ -3566,8 +3566,8 @@ ReorderBufferLargestStreamableTopTXN(ReorderBuffer *rb) * pick the largest (sub)transaction at-a-time to evict and spill its changes to * disk or send to the output plugin until we reach under the memory limit. * - * If logical_replication_mode is set to "immediate", stream or serialize the - * changes immediately. + * If debug_logical_replication_streaming is set to "immediate", stream or + * serialize the changes immediately. * * XXX At this point we select the transactions until we reach under the memory * limit, but we might also adapt a more elaborate eviction strategy - for example @@ -3580,25 +3580,25 @@ ReorderBufferCheckMemoryLimit(ReorderBuffer *rb) ReorderBufferTXN *txn; /* - * Bail out if logical_replication_mode is buffered and we haven't - * exceeded the memory limit. + * Bail out if debug_logical_replication_streaming is buffered and we + * haven't exceeded the memory limit. */ - if (logical_replication_mode == LOGICAL_REP_MODE_BUFFERED && + if (debug_logical_replication_streaming == DEBUG_LOGICAL_REP_STREAMING_BUFFERED && rb->size < logical_decoding_work_mem * 1024L) return; /* - * If logical_replication_mode is immediate, loop until there's no change. - * Otherwise, loop until we reach under the memory limit. One might think - * that just by evicting the largest (sub)transaction we will come under - * the memory limit based on assumption that the selected transaction is - * at least as large as the most recent change (which caused us to go over - * the memory limit). However, that is not true because a user can reduce - * the logical_decoding_work_mem to a smaller value before the most recent - * change. + * If debug_logical_replication_streaming is immediate, loop until there's + * no change. Otherwise, loop until we reach under the memory limit. One + * might think that just by evicting the largest (sub)transaction we will + * come under the memory limit based on assumption that the selected + * transaction is at least as large as the most recent change (which + * caused us to go over the memory limit). However, that is not true + * because a user can reduce the logical_decoding_work_mem to a smaller + * value before the most recent change. */ while (rb->size >= logical_decoding_work_mem * 1024L || - (logical_replication_mode == LOGICAL_REP_MODE_IMMEDIATE && + (debug_logical_replication_streaming == DEBUG_LOGICAL_REP_STREAMING_IMMEDIATE && rb->size > 0)) { /* diff --git a/src/backend/utils/misc/guc_tables.c b/src/backend/utils/misc/guc_tables.c index 3cebbace1b3..aca8cd69ebf 100644 --- a/src/backend/utils/misc/guc_tables.c +++ b/src/backend/utils/misc/guc_tables.c @@ -414,9 +414,9 @@ static const struct config_enum_entry ssl_protocol_versions_info[] = { {NULL, 0, false} }; -static const struct config_enum_entry logical_replication_mode_options[] = { - {"buffered", LOGICAL_REP_MODE_BUFFERED, false}, - {"immediate", LOGICAL_REP_MODE_IMMEDIATE, false}, +static const struct config_enum_entry debug_logical_replication_streaming_options[] = { + {"buffered", DEBUG_LOGICAL_REP_STREAMING_BUFFERED, false}, + {"immediate", DEBUG_LOGICAL_REP_STREAMING_IMMEDIATE, false}, {NULL, 0, false} }; @@ -4989,15 +4989,15 @@ struct config_enum ConfigureNamesEnum[] = }, { - {"logical_replication_mode", PGC_USERSET, DEVELOPER_OPTIONS, - gettext_noop("Controls when to replicate or apply each change."), + {"debug_logical_replication_streaming", PGC_USERSET, DEVELOPER_OPTIONS, + gettext_noop("Forces immediate streaming or serialization of changes in large transactions."), gettext_noop("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."), GUC_NOT_IN_SAMPLE }, - &logical_replication_mode, - LOGICAL_REP_MODE_BUFFERED, logical_replication_mode_options, + &debug_logical_replication_streaming, + DEBUG_LOGICAL_REP_STREAMING_BUFFERED, debug_logical_replication_streaming_options, NULL, NULL, NULL }, diff --git a/src/include/replication/reorderbuffer.h b/src/include/replication/reorderbuffer.h index 1b9db22acbd..3cb03168de2 100644 --- a/src/include/replication/reorderbuffer.h +++ b/src/include/replication/reorderbuffer.h @@ -19,14 +19,14 @@ /* GUC variables */ extern PGDLLIMPORT int logical_decoding_work_mem; -extern PGDLLIMPORT int logical_replication_mode; +extern PGDLLIMPORT int debug_logical_replication_streaming; -/* possible values for logical_replication_mode */ +/* possible values for debug_logical_replication_streaming */ typedef enum { - LOGICAL_REP_MODE_BUFFERED, - LOGICAL_REP_MODE_IMMEDIATE -} LogicalRepMode; + DEBUG_LOGICAL_REP_STREAMING_BUFFERED, + DEBUG_LOGICAL_REP_STREAMING_IMMEDIATE +} DebugLogicalRepStreamingMode; /* an individual tuple, stored in one chunk of memory */ typedef struct ReorderBufferTupleBuf diff --git a/src/test/subscription/t/015_stream.pl b/src/test/subscription/t/015_stream.pl index 5c00711ef2d..be70b869466 100644 --- a/src/test/subscription/t/015_stream.pl +++ b/src/test/subscription/t/015_stream.pl @@ -295,7 +295,7 @@ sub test_streaming # Test serializing changes to files and notify the parallel apply worker to # apply them at the end of the transaction. $node_subscriber->append_conf('postgresql.conf', - 'logical_replication_mode = immediate'); + 'debug_logical_replication_streaming = immediate'); # Reset the log_min_messages to default. $node_subscriber->append_conf('postgresql.conf', "log_min_messages = warning"); diff --git a/src/test/subscription/t/016_stream_subxact.pl b/src/test/subscription/t/016_stream_subxact.pl index d830f26e06f..a962cd844b1 100644 --- a/src/test/subscription/t/016_stream_subxact.pl +++ b/src/test/subscription/t/016_stream_subxact.pl @@ -79,7 +79,7 @@ sub test_streaming my $node_publisher = PostgreSQL::Test::Cluster->new('publisher'); $node_publisher->init(allows_streaming => 'logical'); $node_publisher->append_conf('postgresql.conf', - 'logical_replication_mode = immediate'); + 'debug_logical_replication_streaming = immediate'); $node_publisher->start; # Create subscriber node diff --git a/src/test/subscription/t/018_stream_subxact_abort.pl b/src/test/subscription/t/018_stream_subxact_abort.pl index 91d19ae672a..91730d9b7c3 100644 --- a/src/test/subscription/t/018_stream_subxact_abort.pl +++ b/src/test/subscription/t/018_stream_subxact_abort.pl @@ -130,7 +130,7 @@ sub test_streaming my $node_publisher = PostgreSQL::Test::Cluster->new('publisher'); $node_publisher->init(allows_streaming => 'logical'); $node_publisher->append_conf('postgresql.conf', - 'logical_replication_mode = immediate'); + 'debug_logical_replication_streaming = immediate'); $node_publisher->start; # Create subscriber node @@ -203,7 +203,7 @@ sub test_streaming # Test serializing changes to files and notify the parallel apply worker to # apply them at the end of the transaction. $node_subscriber->append_conf('postgresql.conf', - 'logical_replication_mode = immediate'); + 'debug_logical_replication_streaming = immediate'); # Reset the log_min_messages to default. $node_subscriber->append_conf('postgresql.conf', "log_min_messages = warning"); diff --git a/src/test/subscription/t/019_stream_subxact_ddl_abort.pl b/src/test/subscription/t/019_stream_subxact_ddl_abort.pl index d0e556c8b83..420b9a7b516 100644 --- a/src/test/subscription/t/019_stream_subxact_ddl_abort.pl +++ b/src/test/subscription/t/019_stream_subxact_ddl_abort.pl @@ -16,7 +16,7 @@ my $node_publisher = PostgreSQL::Test::Cluster->new('publisher'); $node_publisher->init(allows_streaming => 'logical'); $node_publisher->append_conf('postgresql.conf', - 'logical_replication_mode = immediate'); + 'debug_logical_replication_streaming = immediate'); $node_publisher->start; # Create subscriber node diff --git a/src/test/subscription/t/023_twophase_stream.pl b/src/test/subscription/t/023_twophase_stream.pl index fdcc4b359d2..0303807846e 100644 --- a/src/test/subscription/t/023_twophase_stream.pl +++ b/src/test/subscription/t/023_twophase_stream.pl @@ -301,7 +301,7 @@ sub test_streaming $node_publisher->append_conf( 'postgresql.conf', qq( max_prepared_transactions = 10 -logical_replication_mode = immediate +debug_logical_replication_streaming = immediate )); $node_publisher->start; @@ -389,7 +389,7 @@ sub test_streaming # Test serializing changes to files and notify the parallel apply worker to # apply them at the end of the transaction. $node_subscriber->append_conf('postgresql.conf', - 'logical_replication_mode = immediate'); + 'debug_logical_replication_streaming = immediate'); # Reset the log_min_messages to default. $node_subscriber->append_conf('postgresql.conf', "log_min_messages = warning"); From 8298cc6e28defbf1beadecbcbd314d06d319caca Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Wed, 30 Aug 2023 08:03:48 +0900 Subject: [PATCH 146/317] Avoid possible overflow with ltsGetFreeBlock() in logtape.c nFreeBlocks, defined as a long, stores the number of free blocks in a logical tape. ltsGetFreeBlock() has been using an int to store the value of nFreeBlocks, which could lead to overflows on platforms where long and int are not the same size (in short everything except Windows where long is 4 bytes). The problematic intermediate variable is switched to be a long instead of an int. Issue introduced by c02fdc9223015, so backpatch down to 13. Author: Ranier vilela Reviewed-by: Peter Geoghegan, David Rowley Discussion: https://postgr.es/m/CAEudQApLDWCBR_xmwNjGBrDo+f+S4E87x3s7-+hoaKqYdtC4JQ@mail.gmail.com Backpatch-through: 13 --- src/backend/utils/sort/logtape.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/utils/sort/logtape.c b/src/backend/utils/sort/logtape.c index 52b8898d5ed..f31878bdee1 100644 --- a/src/backend/utils/sort/logtape.c +++ b/src/backend/utils/sort/logtape.c @@ -372,7 +372,7 @@ ltsGetFreeBlock(LogicalTapeSet *lts) { long *heap = lts->freeBlocks; long blocknum; - int heapsize; + long heapsize; long holeval; unsigned long holepos; From 6ea91ba4bae0faeda399a159465f2c3f73d73c1a Mon Sep 17 00:00:00 2001 From: Etsuro Fujita Date: Wed, 30 Aug 2023 17:15:01 +0900 Subject: [PATCH 147/317] postgres_fdw: Fix test for parameterized foreign scan. Commit e4106b252 should have updated this test, but did not; back-patch to all supported branches. Reviewed by Richard Guo. Discussion: http://postgr.es/m/CAPmGK15nR0NXLSCKQAcqbZbTzrzd5MozowWnTnGfPkayndF43Q%40mail.gmail.com --- contrib/postgres_fdw/expected/postgres_fdw.out | 8 ++++---- contrib/postgres_fdw/sql/postgres_fdw.sql | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/contrib/postgres_fdw/expected/postgres_fdw.out b/contrib/postgres_fdw/expected/postgres_fdw.out index f6d3b8ec08e..b1b22e3a286 100644 --- a/contrib/postgres_fdw/expected/postgres_fdw.out +++ b/contrib/postgres_fdw/expected/postgres_fdw.out @@ -744,10 +744,10 @@ EXPLAIN (VERBOSE, COSTS OFF) Remote SQL: SELECT "C 1", c2, c3, c4, c5, c6, c7, c8 FROM "S 1"."T 1" WHERE (("C 1" = $1::integer)) (8 rows) -SELECT * FROM ft2 a, ft2 b WHERE a.c1 = 47 AND b.c1 = a.c2; - c1 | c2 | c3 | c4 | c5 | c6 | c7 | c8 | c1 | c2 | c3 | c4 | c5 | c6 | c7 | c8 -----+----+-------+------------------------------+--------------------------+----+------------+-----+----+----+-------+------------------------------+--------------------------+----+------------+----- - 47 | 7 | 00047 | Tue Feb 17 00:00:00 1970 PST | Tue Feb 17 00:00:00 1970 | 7 | 7 | foo | 7 | 7 | 00007 | Thu Jan 08 00:00:00 1970 PST | Thu Jan 08 00:00:00 1970 | 7 | 7 | foo +SELECT * FROM "S 1"."T 1" a, ft2 b WHERE a."C 1" = 47 AND b.c1 = a.c2; + C 1 | c2 | c3 | c4 | c5 | c6 | c7 | c8 | c1 | c2 | c3 | c4 | c5 | c6 | c7 | c8 +-----+----+-------+------------------------------+--------------------------+----+------------+-----+----+----+-------+------------------------------+--------------------------+----+------------+----- + 47 | 7 | 00047 | Tue Feb 17 00:00:00 1970 PST | Tue Feb 17 00:00:00 1970 | 7 | 7 | foo | 7 | 7 | 00007 | Thu Jan 08 00:00:00 1970 PST | Thu Jan 08 00:00:00 1970 | 7 | 7 | foo (1 row) -- check both safe and unsafe join conditions diff --git a/contrib/postgres_fdw/sql/postgres_fdw.sql b/contrib/postgres_fdw/sql/postgres_fdw.sql index 436feee396b..848229bf31a 100644 --- a/contrib/postgres_fdw/sql/postgres_fdw.sql +++ b/contrib/postgres_fdw/sql/postgres_fdw.sql @@ -344,7 +344,7 @@ EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM ft1 t1 WHERE c8 = 'foo'; -- can't be -- parameterized remote path for foreign table EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM "S 1"."T 1" a, ft2 b WHERE a."C 1" = 47 AND b.c1 = a.c2; -SELECT * FROM ft2 a, ft2 b WHERE a.c1 = 47 AND b.c1 = a.c2; +SELECT * FROM "S 1"."T 1" a, ft2 b WHERE a."C 1" = 47 AND b.c1 = a.c2; -- check both safe and unsafe join conditions EXPLAIN (VERBOSE, COSTS OFF) From f0c3971b88850dcfd7c8157d1b3afe3c1fc87a8d Mon Sep 17 00:00:00 2001 From: Nathan Bossart Date: Wed, 30 Aug 2023 14:47:14 -0700 Subject: [PATCH 148/317] Rename some support functions for pgstat* views. Presently, pgstat_fetch_stat_beentry() accepts a session's backend ID as its argument, and pgstat_fetch_stat_local_beentry() accepts a 1-based index in an internal array as its argument. The former is typically used wherever a user must provide a backend ID, and the latter is usually used internally when looping over all entries in the array. This difference was first introduced by d7e39d72ca. Before that commit, both functions accepted a 1-based index to the internal array. This commit renames these two functions to make it clear whether they use the backend ID or the 1-based index to look up the entry. This is preparatory work for a follow-up change that will introduce a function for looking up a LocalPgBackendStatus using a backend ID. Reviewed-by: Ian Barwick, Sami Imseih, Michael Paquier, Robert Haas Discussion: https://postgr.es/m/CAB8KJ%3Dj-ACb3H4L9a_b3ZG3iCYDW5aEu3WsPAzkm2S7JzS1Few%40mail.gmail.com Backpatch-through: 16 --- src/backend/utils/activity/backend_status.c | 28 ++++++++-------- src/backend/utils/adt/pgstatfuncs.c | 36 ++++++++++----------- src/include/utils/backend_status.h | 4 +-- 3 files changed, 34 insertions(+), 34 deletions(-) diff --git a/src/backend/utils/activity/backend_status.c b/src/backend/utils/activity/backend_status.c index 38f91a495b8..a4860b10fc6 100644 --- a/src/backend/utils/activity/backend_status.c +++ b/src/backend/utils/activity/backend_status.c @@ -849,8 +849,8 @@ pgstat_read_current_status(void) /* * The BackendStatusArray index is exactly the BackendId of the * source backend. Note that this means localBackendStatusTable - * is in order by backend_id. pgstat_fetch_stat_beentry() depends - * on that. + * is in order by backend_id. pgstat_get_beentry_by_backend_id() + * depends on that. */ localentry->backend_id = i; BackendIdGetTransactionIds(i, @@ -1073,21 +1073,21 @@ cmp_lbestatus(const void *a, const void *b) } /* ---------- - * pgstat_fetch_stat_beentry() - + * pgstat_get_beentry_by_backend_id() - * * Support function for the SQL-callable pgstat* functions. Returns * our local copy of the current-activity entry for one backend, * or NULL if the given beid doesn't identify any known session. * * The beid argument is the BackendId of the desired session - * (note that this is unlike pgstat_fetch_stat_local_beentry()). + * (note that this is unlike pgstat_get_local_beentry_by_index()). * * NB: caller is responsible for a check if the user is permitted to see * this info (especially the querystring). * ---------- */ PgBackendStatus * -pgstat_fetch_stat_beentry(BackendId beid) +pgstat_get_beentry_by_backend_id(BackendId beid) { LocalPgBackendStatus key; LocalPgBackendStatus *ret; @@ -1111,13 +1111,13 @@ pgstat_fetch_stat_beentry(BackendId beid) /* ---------- - * pgstat_fetch_stat_local_beentry() - + * pgstat_get_local_beentry_by_index() - * - * Like pgstat_fetch_stat_beentry() but with locally computed additions (like - * xid and xmin values of the backend) + * Like pgstat_get_beentry_by_backend_id() but with locally computed additions + * (like xid and xmin values of the backend) * - * The beid argument is a 1-based index in the localBackendStatusTable - * (note that this is unlike pgstat_fetch_stat_beentry()). + * The idx argument is a 1-based index in the localBackendStatusTable + * (note that this is unlike pgstat_get_beentry_by_backend_id()). * Returns NULL if the argument is out of range (no current caller does that). * * NB: caller is responsible for a check if the user is permitted to see @@ -1125,14 +1125,14 @@ pgstat_fetch_stat_beentry(BackendId beid) * ---------- */ LocalPgBackendStatus * -pgstat_fetch_stat_local_beentry(int beid) +pgstat_get_local_beentry_by_index(int idx) { pgstat_read_current_status(); - if (beid < 1 || beid > localNumBackends) + if (idx < 1 || idx > localNumBackends) return NULL; - return &localBackendStatusTable[beid - 1]; + return &localBackendStatusTable[idx - 1]; } @@ -1141,7 +1141,7 @@ pgstat_fetch_stat_local_beentry(int beid) * * Support function for the SQL-callable pgstat* functions. Returns * the number of sessions known in the localBackendStatusTable, i.e. - * the maximum 1-based index to pass to pgstat_fetch_stat_local_beentry(). + * the maximum 1-based index to pass to pgstat_get_local_beentry_by_index(). * ---------- */ int diff --git a/src/backend/utils/adt/pgstatfuncs.c b/src/backend/utils/adt/pgstatfuncs.c index 49caa13fe5c..7df436de4b4 100644 --- a/src/backend/utils/adt/pgstatfuncs.c +++ b/src/backend/utils/adt/pgstatfuncs.c @@ -218,7 +218,7 @@ pg_stat_get_backend_idset(PG_FUNCTION_ARGS) if (fctx[0] <= pgstat_fetch_stat_numbackends()) { /* do when there is more left to send */ - LocalPgBackendStatus *local_beentry = pgstat_fetch_stat_local_beentry(fctx[0]); + LocalPgBackendStatus *local_beentry = pgstat_get_local_beentry_by_index(fctx[0]); SRF_RETURN_NEXT(funcctx, Int32GetDatum(local_beentry->backend_id)); } @@ -271,7 +271,7 @@ pg_stat_get_progress_info(PG_FUNCTION_ARGS) bool nulls[PG_STAT_GET_PROGRESS_COLS] = {0}; int i; - local_beentry = pgstat_fetch_stat_local_beentry(curr_backend); + local_beentry = pgstat_get_local_beentry_by_index(curr_backend); beentry = &local_beentry->backendStatus; /* @@ -332,7 +332,7 @@ pg_stat_get_activity(PG_FUNCTION_ARGS) const char *wait_event = NULL; /* Get the next one in the list */ - local_beentry = pgstat_fetch_stat_local_beentry(curr_backend); + local_beentry = pgstat_get_local_beentry_by_index(curr_backend); beentry = &local_beentry->backendStatus; /* If looking for specific PID, ignore all the others */ @@ -679,7 +679,7 @@ pg_stat_get_backend_pid(PG_FUNCTION_ARGS) int32 beid = PG_GETARG_INT32(0); PgBackendStatus *beentry; - if ((beentry = pgstat_fetch_stat_beentry(beid)) == NULL) + if ((beentry = pgstat_get_beentry_by_backend_id(beid)) == NULL) PG_RETURN_NULL(); PG_RETURN_INT32(beentry->st_procpid); @@ -692,7 +692,7 @@ pg_stat_get_backend_dbid(PG_FUNCTION_ARGS) int32 beid = PG_GETARG_INT32(0); PgBackendStatus *beentry; - if ((beentry = pgstat_fetch_stat_beentry(beid)) == NULL) + if ((beentry = pgstat_get_beentry_by_backend_id(beid)) == NULL) PG_RETURN_NULL(); PG_RETURN_OID(beentry->st_databaseid); @@ -705,7 +705,7 @@ pg_stat_get_backend_userid(PG_FUNCTION_ARGS) int32 beid = PG_GETARG_INT32(0); PgBackendStatus *beentry; - if ((beentry = pgstat_fetch_stat_beentry(beid)) == NULL) + if ((beentry = pgstat_get_beentry_by_backend_id(beid)) == NULL) PG_RETURN_NULL(); PG_RETURN_OID(beentry->st_userid); @@ -734,7 +734,7 @@ pg_stat_get_backend_subxact(PG_FUNCTION_ARGS) BlessTupleDesc(tupdesc); - if ((local_beentry = pgstat_fetch_stat_local_beentry(beid)) != NULL) + if ((local_beentry = pgstat_get_local_beentry_by_index(beid)) != NULL) { /* Fill values and NULLs */ values[0] = Int32GetDatum(local_beentry->backend_subxact_count); @@ -759,7 +759,7 @@ pg_stat_get_backend_activity(PG_FUNCTION_ARGS) char *clipped_activity; text *ret; - if ((beentry = pgstat_fetch_stat_beentry(beid)) == NULL) + if ((beentry = pgstat_get_beentry_by_backend_id(beid)) == NULL) activity = ""; else if (!HAS_PGSTAT_PERMISSIONS(beentry->st_userid)) activity = ""; @@ -783,7 +783,7 @@ pg_stat_get_backend_wait_event_type(PG_FUNCTION_ARGS) PGPROC *proc; const char *wait_event_type = NULL; - if ((beentry = pgstat_fetch_stat_beentry(beid)) == NULL) + if ((beentry = pgstat_get_beentry_by_backend_id(beid)) == NULL) wait_event_type = ""; else if (!HAS_PGSTAT_PERMISSIONS(beentry->st_userid)) wait_event_type = ""; @@ -804,7 +804,7 @@ pg_stat_get_backend_wait_event(PG_FUNCTION_ARGS) PGPROC *proc; const char *wait_event = NULL; - if ((beentry = pgstat_fetch_stat_beentry(beid)) == NULL) + if ((beentry = pgstat_get_beentry_by_backend_id(beid)) == NULL) wait_event = ""; else if (!HAS_PGSTAT_PERMISSIONS(beentry->st_userid)) wait_event = ""; @@ -825,7 +825,7 @@ pg_stat_get_backend_activity_start(PG_FUNCTION_ARGS) TimestampTz result; PgBackendStatus *beentry; - if ((beentry = pgstat_fetch_stat_beentry(beid)) == NULL) + if ((beentry = pgstat_get_beentry_by_backend_id(beid)) == NULL) PG_RETURN_NULL(); else if (!HAS_PGSTAT_PERMISSIONS(beentry->st_userid)) @@ -851,7 +851,7 @@ pg_stat_get_backend_xact_start(PG_FUNCTION_ARGS) TimestampTz result; PgBackendStatus *beentry; - if ((beentry = pgstat_fetch_stat_beentry(beid)) == NULL) + if ((beentry = pgstat_get_beentry_by_backend_id(beid)) == NULL) PG_RETURN_NULL(); else if (!HAS_PGSTAT_PERMISSIONS(beentry->st_userid)) @@ -873,7 +873,7 @@ pg_stat_get_backend_start(PG_FUNCTION_ARGS) TimestampTz result; PgBackendStatus *beentry; - if ((beentry = pgstat_fetch_stat_beentry(beid)) == NULL) + if ((beentry = pgstat_get_beentry_by_backend_id(beid)) == NULL) PG_RETURN_NULL(); else if (!HAS_PGSTAT_PERMISSIONS(beentry->st_userid)) @@ -897,7 +897,7 @@ pg_stat_get_backend_client_addr(PG_FUNCTION_ARGS) char remote_host[NI_MAXHOST]; int ret; - if ((beentry = pgstat_fetch_stat_beentry(beid)) == NULL) + if ((beentry = pgstat_get_beentry_by_backend_id(beid)) == NULL) PG_RETURN_NULL(); else if (!HAS_PGSTAT_PERMISSIONS(beentry->st_userid)) @@ -942,7 +942,7 @@ pg_stat_get_backend_client_port(PG_FUNCTION_ARGS) char remote_port[NI_MAXSERV]; int ret; - if ((beentry = pgstat_fetch_stat_beentry(beid)) == NULL) + if ((beentry = pgstat_get_beentry_by_backend_id(beid)) == NULL) PG_RETURN_NULL(); else if (!HAS_PGSTAT_PERMISSIONS(beentry->st_userid)) @@ -985,12 +985,12 @@ pg_stat_get_db_numbackends(PG_FUNCTION_ARGS) Oid dbid = PG_GETARG_OID(0); int32 result; int tot_backends = pgstat_fetch_stat_numbackends(); - int beid; + int idx; result = 0; - for (beid = 1; beid <= tot_backends; beid++) + for (idx = 1; idx <= tot_backends; idx++) { - LocalPgBackendStatus *local_beentry = pgstat_fetch_stat_local_beentry(beid); + LocalPgBackendStatus *local_beentry = pgstat_get_local_beentry_by_index(idx); if (local_beentry->backendStatus.st_databaseid == dbid) result++; diff --git a/src/include/utils/backend_status.h b/src/include/utils/backend_status.h index 77939a0aede..1718ff7ce66 100644 --- a/src/include/utils/backend_status.h +++ b/src/include/utils/backend_status.h @@ -333,8 +333,8 @@ extern uint64 pgstat_get_my_query_id(void); * ---------- */ extern int pgstat_fetch_stat_numbackends(void); -extern PgBackendStatus *pgstat_fetch_stat_beentry(BackendId beid); -extern LocalPgBackendStatus *pgstat_fetch_stat_local_beentry(int beid); +extern PgBackendStatus *pgstat_get_beentry_by_backend_id(BackendId beid); +extern LocalPgBackendStatus *pgstat_get_local_beentry_by_index(int idx); extern char *pgstat_clip_activity(const char *raw_activity); From 7946e2c3422f57db2c6150a3a5e18d04dfb2fcc2 Mon Sep 17 00:00:00 2001 From: Nathan Bossart Date: Wed, 30 Aug 2023 14:47:20 -0700 Subject: [PATCH 149/317] Use actual backend IDs in pg_stat_get_backend_subxact(). Unlike the other pg_stat_get_backend* functions, pg_stat_get_backend_subxact() looks up the backend entry by using its integer argument as a 1-based index in an internal array. The other functions look for the entry with the matching session backend ID. These numbers often match, but that isn't reliably true. This commit resolves this discrepancy by introducing pgstat_get_local_beentry_by_backend_id() and using it in pg_stat_get_backend_subxact(). We cannot use pgstat_get_beentry_by_backend_id() because it returns a PgBackendStatus, which lacks the locally computed additions available in LocalPgBackendStatus that are required by pg_stat_get_backend_subxact(). Author: Ian Barwick Reviewed-by: Sami Imseih, Michael Paquier, Robert Haas Discussion: https://postgr.es/m/CAB8KJ%3Dj-ACb3H4L9a_b3ZG3iCYDW5aEu3WsPAzkm2S7JzS1Few%40mail.gmail.com Backpatch-through: 16 --- src/backend/utils/activity/backend_status.c | 36 +++++++++++++++------ src/backend/utils/adt/pgstatfuncs.c | 2 +- src/include/utils/backend_status.h | 1 + 3 files changed, 29 insertions(+), 10 deletions(-) diff --git a/src/backend/utils/activity/backend_status.c b/src/backend/utils/activity/backend_status.c index a4860b10fc6..722c5acf38d 100644 --- a/src/backend/utils/activity/backend_status.c +++ b/src/backend/utils/activity/backend_status.c @@ -1088,9 +1088,33 @@ cmp_lbestatus(const void *a, const void *b) */ PgBackendStatus * pgstat_get_beentry_by_backend_id(BackendId beid) +{ + LocalPgBackendStatus *ret = pgstat_get_local_beentry_by_backend_id(beid); + + if (ret) + return &ret->backendStatus; + + return NULL; +} + + +/* ---------- + * pgstat_get_local_beentry_by_backend_id() - + * + * Like pgstat_get_beentry_by_backend_id() but with locally computed additions + * (like xid and xmin values of the backend) + * + * The beid argument is the BackendId of the desired session + * (note that this is unlike pgstat_get_local_beentry_by_index()). + * + * NB: caller is responsible for checking if the user is permitted to see this + * info (especially the querystring). + * ---------- + */ +LocalPgBackendStatus * +pgstat_get_local_beentry_by_backend_id(BackendId beid) { LocalPgBackendStatus key; - LocalPgBackendStatus *ret; pgstat_read_current_status(); @@ -1099,14 +1123,8 @@ pgstat_get_beentry_by_backend_id(BackendId beid) * bsearch() to search it efficiently. */ key.backend_id = beid; - ret = (LocalPgBackendStatus *) bsearch(&key, localBackendStatusTable, - localNumBackends, - sizeof(LocalPgBackendStatus), - cmp_lbestatus); - if (ret) - return &ret->backendStatus; - - return NULL; + return bsearch(&key, localBackendStatusTable, localNumBackends, + sizeof(LocalPgBackendStatus), cmp_lbestatus); } diff --git a/src/backend/utils/adt/pgstatfuncs.c b/src/backend/utils/adt/pgstatfuncs.c index 7df436de4b4..e10384f5372 100644 --- a/src/backend/utils/adt/pgstatfuncs.c +++ b/src/backend/utils/adt/pgstatfuncs.c @@ -734,7 +734,7 @@ pg_stat_get_backend_subxact(PG_FUNCTION_ARGS) BlessTupleDesc(tupdesc); - if ((local_beentry = pgstat_get_local_beentry_by_index(beid)) != NULL) + if ((local_beentry = pgstat_get_local_beentry_by_backend_id(beid)) != NULL) { /* Fill values and NULLs */ values[0] = Int32GetDatum(local_beentry->backend_subxact_count); diff --git a/src/include/utils/backend_status.h b/src/include/utils/backend_status.h index 1718ff7ce66..d51c840dafb 100644 --- a/src/include/utils/backend_status.h +++ b/src/include/utils/backend_status.h @@ -334,6 +334,7 @@ extern uint64 pgstat_get_my_query_id(void); */ extern int pgstat_fetch_stat_numbackends(void); extern PgBackendStatus *pgstat_get_beentry_by_backend_id(BackendId beid); +extern LocalPgBackendStatus *pgstat_get_local_beentry_by_backend_id(BackendId beid); extern LocalPgBackendStatus *pgstat_get_local_beentry_by_index(int idx); extern char *pgstat_clip_activity(const char *raw_activity); From 10ba36abc58cbc612b80a75a75b37c09d6b4de14 Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Thu, 31 Aug 2023 13:02:15 +0300 Subject: [PATCH 150/317] Report syncscan position at end of scan. The comment in heapgettup_advance_block() says that it reports the scan position before checking for end of scan, but that didn't match the code. The code was refactored in commit 7ae0ab0ad9, which inadvertently changed the order of the check and reporting. Change it back. This caused a few regression test failures with a small shared_buffers setting like 10 MB. The 'portals' and 'cluster' tests perform seqscans that are large enough that sync seqscans kick in. When the sync scan position is not updated at end of scan, the next seq scan doesn't start at the beginning of the table, and the test queries are sensitive to that. Reviewed-by: Melanie Plageman, David Rowley Discussion: https://www.postgresql.org/message-id/6f991389-ae22-d844-a9d8-9aceb7c01a9a@iki.fi Backpatch-through: 16 --- src/backend/access/heap/heapam.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c index f7ba4cfeab3..e8176aa7c8e 100644 --- a/src/backend/access/heap/heapam.c +++ b/src/backend/access/heap/heapam.c @@ -648,17 +648,6 @@ heapgettup_advance_block(HeapScanDesc scan, BlockNumber block, ScanDirection dir if (block >= scan->rs_nblocks) block = 0; - /* we're done if we're back at where we started */ - if (block == scan->rs_startblock) - return InvalidBlockNumber; - - /* check if the limit imposed by heap_setscanlimits() is met */ - if (scan->rs_numblocks != InvalidBlockNumber) - { - if (--scan->rs_numblocks == 0) - return InvalidBlockNumber; - } - /* * Report our new scan position for synchronization purposes. We * don't do that when moving backwards, however. That would just @@ -674,6 +663,17 @@ heapgettup_advance_block(HeapScanDesc scan, BlockNumber block, ScanDirection dir if (scan->rs_base.rs_flags & SO_ALLOW_SYNC) ss_report_location(scan->rs_base.rs_rd, block); + /* we're done if we're back at where we started */ + if (block == scan->rs_startblock) + return InvalidBlockNumber; + + /* check if the limit imposed by heap_setscanlimits() is met */ + if (scan->rs_numblocks != InvalidBlockNumber) + { + if (--scan->rs_numblocks == 0) + return InvalidBlockNumber; + } + return block; } else From f156a29444605e1812f0b4acec288c6452ca4bcf Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Thu, 31 Aug 2023 15:14:18 -0400 Subject: [PATCH 151/317] doc: PG 16 relnotes: clarify LOCK TABLE description Backpatch-through: 16 only --- doc/src/sgml/release-16.sgml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/doc/src/sgml/release-16.sgml b/doc/src/sgml/release-16.sgml index 2eb172eaa63..9816012631c 100644 --- a/doc/src/sgml/release-16.sgml +++ b/doc/src/sgml/release-16.sgml @@ -948,14 +948,15 @@ Author: Jeff Davis - Previously the ability to perform LOCK - TABLE at various lock levels was bound to - specific query-type permissions. For example, LOCK + TABLE at various lock levels was limited to the + lock levels required by the commands they had permission + to execute on the table. For example, someone with UPDATE - could perform all lock levels except - ACCESS SHARE, which required SELECT permissions. - Now UPDATE can issue all lock levels. MORE? + permission could perform all lock levels except ACCESS + SHARE, even though it was a lesser lock level. Now users + can issue lesser lock levels if they already have permission for + greater lock levels. From 73864b414b3b67dbaa96dcc0e3de9d9d8e0b9780 Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Mon, 4 Sep 2023 08:04:40 +0900 Subject: [PATCH 152/317] Fix handling of shared statistics with dropped databases Dropping a database while a connection is attempted on it was able to lead to the presence of valid database entries in shared statistics. The issue is that MyDatabaseId was getting set too early than it should, as, if the connection attempted on the dropped database fails when renamed or dropped, the shutdown callback of the shared statistics would finish by re-inserting a correct entry related to the database already dropped. As analyzed by the bug reporters, this issue could lead to phantom entries in the database list maintained by the autovacuum launcher (in rebuild_database_list()) if the database dropped was part of the database list when it was still valid. After the database was dropped, it would remain the highest on the list of databases to considered by the autovacuum worker as things to process. This would prevent autovacuum jobs to happen on all the other databases still present. The commit fixes this issue by delaying setting MyDatabaseId until the database existence has been re-checked with the second scan on pg_database after getting a shared lock on it, and by switching pgstat_update_dbstats() so as nothing happens if MyDatabaseId is not valid. Issue introduced by 5891c7a8ed8f, so backpatch down to 15. Reported-by: Will Mortensen, Jacob Speidel Analyzed-by: Will Mortensen, Jacob Speidel Author: Andres Freund Discussion: https://postgr.es/m/17973-bca1f7d5c14f601e@postgresql.org Backpatch-through: 15 --- src/backend/utils/activity/pgstat_database.c | 13 ++ src/backend/utils/init/postinit.c | 118 ++++++++++--------- 2 files changed, 74 insertions(+), 57 deletions(-) diff --git a/src/backend/utils/activity/pgstat_database.c b/src/backend/utils/activity/pgstat_database.c index 7149f22f729..d04426f53f0 100644 --- a/src/backend/utils/activity/pgstat_database.c +++ b/src/backend/utils/activity/pgstat_database.c @@ -271,6 +271,13 @@ pgstat_update_dbstats(TimestampTz ts) { PgStat_StatDBEntry *dbentry; + /* + * If not connected to a database yet, don't attribute time to "shared + * state" (InvalidOid is used to track stats for shared relations, etc.). + */ + if (!OidIsValid(MyDatabaseId)) + return; + dbentry = pgstat_prep_database_pending(MyDatabaseId); /* @@ -327,6 +334,12 @@ pgstat_prep_database_pending(Oid dboid) { PgStat_EntryRef *entry_ref; + /* + * This should not report stats on database objects before having + * connected to a database. + */ + Assert(!OidIsValid(dboid) || OidIsValid(MyDatabaseId)); + entry_ref = pgstat_prep_pending_entry(PGSTAT_KIND_DATABASE, dboid, InvalidOid, NULL); diff --git a/src/backend/utils/init/postinit.c b/src/backend/utils/init/postinit.c index d586ea01324..60e70bcc31d 100644 --- a/src/backend/utils/init/postinit.c +++ b/src/backend/utils/init/postinit.c @@ -1005,7 +1005,7 @@ InitPostgres(const char *in_dbname, Oid dboid, */ if (bootstrap) { - MyDatabaseId = Template1DbOid; + dboid = Template1DbOid; MyDatabaseTableSpace = DEFAULTTABLESPACE_OID; } else if (in_dbname != NULL) @@ -1019,32 +1019,9 @@ InitPostgres(const char *in_dbname, Oid dboid, (errcode(ERRCODE_UNDEFINED_DATABASE), errmsg("database \"%s\" does not exist", in_dbname))); dbform = (Form_pg_database) GETSTRUCT(tuple); - MyDatabaseId = dbform->oid; - MyDatabaseTableSpace = dbform->dattablespace; - /* take database name from the caller, just for paranoia */ - strlcpy(dbname, in_dbname, sizeof(dbname)); + dboid = dbform->oid; } - else if (OidIsValid(dboid)) - { - /* caller specified database by OID */ - HeapTuple tuple; - Form_pg_database dbform; - - tuple = GetDatabaseTupleByOid(dboid); - if (!HeapTupleIsValid(tuple)) - ereport(FATAL, - (errcode(ERRCODE_UNDEFINED_DATABASE), - errmsg("database %u does not exist", dboid))); - dbform = (Form_pg_database) GETSTRUCT(tuple); - MyDatabaseId = dbform->oid; - MyDatabaseTableSpace = dbform->dattablespace; - Assert(MyDatabaseId == dboid); - strlcpy(dbname, NameStr(dbform->datname), sizeof(dbname)); - /* pass the database name back to the caller */ - if (out_dbname) - strcpy(out_dbname, dbname); - } - else + else if (!OidIsValid(dboid)) { /* * If this is a background worker not bound to any particular @@ -1082,8 +1059,64 @@ InitPostgres(const char *in_dbname, Oid dboid, * CREATE DATABASE. */ if (!bootstrap) - LockSharedObject(DatabaseRelationId, MyDatabaseId, 0, - RowExclusiveLock); + LockSharedObject(DatabaseRelationId, dboid, 0, RowExclusiveLock); + + /* + * Recheck pg_database to make sure the target database hasn't gone away. + * If there was a concurrent DROP DATABASE, this ensures we will die + * cleanly without creating a mess. + */ + if (!bootstrap) + { + HeapTuple tuple; + Form_pg_database datform; + + tuple = GetDatabaseTupleByOid(dboid); + if (HeapTupleIsValid(tuple)) + datform = (Form_pg_database) GETSTRUCT(tuple); + + if (!HeapTupleIsValid(tuple) || + (in_dbname && namestrcmp(&datform->datname, in_dbname))) + { + if (in_dbname) + ereport(FATAL, + (errcode(ERRCODE_UNDEFINED_DATABASE), + errmsg("database \"%s\" does not exist", in_dbname), + errdetail("It seems to have just been dropped or renamed."))); + else + ereport(FATAL, + (errcode(ERRCODE_UNDEFINED_DATABASE), + errmsg("database %u does not exist", dboid))); + } + + strlcpy(dbname, NameStr(datform->datname), sizeof(dbname)); + + if (database_is_invalid_form(datform)) + { + ereport(FATAL, + errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("cannot connect to invalid database \"%s\"", dbname), + errhint("Use DROP DATABASE to drop invalid databases.")); + } + + MyDatabaseTableSpace = datform->dattablespace; + /* pass the database name back to the caller */ + if (out_dbname) + strcpy(out_dbname, dbname); + } + + /* + * Now that we rechecked, we are certain to be connected to a database and + * thus can set MyDatabaseId. + * + * It is important that MyDatabaseId only be set once we are sure that the + * target database can no longer be concurrently dropped or renamed. For + * example, without this guarantee, pgstat_update_dbstats() could create + * entries for databases that were just dropped in the pgstat shutdown + * callback, which could confuse other code paths like the autovacuum + * scheduler. + */ + MyDatabaseId = dboid; /* * Now we can mark our PGPROC entry with the database ID. @@ -1107,35 +1140,6 @@ InitPostgres(const char *in_dbname, Oid dboid, */ InvalidateCatalogSnapshot(); - /* - * Recheck pg_database to make sure the target database hasn't gone away. - * If there was a concurrent DROP DATABASE, this ensures we will die - * cleanly without creating a mess. - */ - if (!bootstrap) - { - HeapTuple tuple; - Form_pg_database datform; - - tuple = GetDatabaseTuple(dbname); - if (!HeapTupleIsValid(tuple) || - MyDatabaseId != ((Form_pg_database) GETSTRUCT(tuple))->oid || - MyDatabaseTableSpace != ((Form_pg_database) GETSTRUCT(tuple))->dattablespace) - ereport(FATAL, - (errcode(ERRCODE_UNDEFINED_DATABASE), - errmsg("database \"%s\" does not exist", dbname), - errdetail("It seems to have just been dropped or renamed."))); - - datform = (Form_pg_database) GETSTRUCT(tuple); - if (database_is_invalid_form(datform)) - { - ereport(FATAL, - errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot connect to invalid database \"%s\"", dbname), - errhint("Use DROP DATABASE to drop invalid databases.")); - } - } - /* * Now we should be able to access the database directory safely. Verify * it's there and looks reasonable. From c541f0875948f3e71071814a41c2950ff70039cd Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Mon, 4 Sep 2023 14:55:49 +0900 Subject: [PATCH 153/317] Fix out-of-bound read in gtsvector_picksplit() This could lead to an imprecise choice when splitting an index page of a GiST index on a tsvector, deciding which entries should remain on the old page and which entries should move to a new page. This is wrong since tsearch2 has been moved into core with commit 140d4ebcb46e, so backpatch all the way down. This error has been spotted by valgrind. Author: Alexander Lakhin Discussion: https://postgr.es/m/17950-6c80a8d2b94ec695@postgresql.org Backpatch-through: 11 --- src/backend/utils/adt/tsgistidx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/utils/adt/tsgistidx.c b/src/backend/utils/adt/tsgistidx.c index f0cd2866ff5..12a4111e99a 100644 --- a/src/backend/utils/adt/tsgistidx.c +++ b/src/backend/utils/adt/tsgistidx.c @@ -730,7 +730,7 @@ gtsvector_picksplit(PG_FUNCTION_ARGS) size_alpha = SIGLENBIT(siglen) - sizebitvec((cache[j].allistrue) ? GETSIGN(datum_l) : - GETSIGN(cache[j].sign), + cache[j].sign, siglen); } else @@ -744,7 +744,7 @@ gtsvector_picksplit(PG_FUNCTION_ARGS) size_beta = SIGLENBIT(siglen) - sizebitvec((cache[j].allistrue) ? GETSIGN(datum_r) : - GETSIGN(cache[j].sign), + cache[j].sign, siglen); } else From b2c60258675a6b90689675f987f9f789133badfc Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Tue, 5 Sep 2023 11:36:55 +0200 Subject: [PATCH 154/317] Unify gratuitously different error messages Fixup for commit 37188cea0c. --- src/bin/pg_dump/pg_dump.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index e178ad11a5c..12a0ce15caa 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -13609,7 +13609,7 @@ dumpCollation(Archive *fout, const CollInfo *collinfo) } } else - pg_fatal("unrecognized collation provider '%c'", collprovider[0]); + pg_fatal("unrecognized collation provider: %s", collprovider); /* * For binary upgrade, carry over the collation version. For normal From 9fcc409c0a32229cf51ed20f81d013539b520ec7 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 5 Sep 2023 13:05:28 -0400 Subject: [PATCH 155/317] doc: mention libpq regression tests Reported-by: Ryo Matsumura Discussion: https://postgr.es/m/TYCPR01MB11316B3FB56EE54D70BF0CEF6E8E4A@TYCPR01MB11316.jpnprd01.prod.outlook.com Backpatch-through: 11 --- doc/src/sgml/regress.sgml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/regress.sgml b/doc/src/sgml/regress.sgml index 675db86e4d7..de065c0564a 100644 --- a/doc/src/sgml/regress.sgml +++ b/doc/src/sgml/regress.sgml @@ -196,8 +196,9 @@ make check-world -j8 >/dev/null - Regression tests for the ECPG interface library, - located in src/interfaces/ecpg/test. + Regression tests for the interface libraries, + located in src/interfaces/libpq/test and + src/interfaces/ecpg/test. From 5015e2e8dba87592c2e46c083c2265b9111a0d63 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 6 Sep 2023 08:11:22 +0200 Subject: [PATCH 156/317] Update list of acknowledgments in release notes current through 57a011b666 --- doc/src/sgml/release-16.sgml | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/src/sgml/release-16.sgml b/doc/src/sgml/release-16.sgml index 9816012631c..0fa0d25fe12 100644 --- a/doc/src/sgml/release-16.sgml +++ b/doc/src/sgml/release-16.sgml @@ -3994,6 +3994,7 @@ Author: Andres Freund Isaac Morland Israel Barth Rubio Jacob Champion + Jacob Speidel Jaime Casanova Jakub Wartak James Coleman From 18493e195a033723af410f7264d2ae3f4fd1cf16 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Wed, 6 Sep 2023 09:04:30 +0200 Subject: [PATCH 157/317] Translation updates Source-Git-URL: https://git.postgresql.org/git/pgtranslation/messages.git Source-Git-Hash: c5b5ab1da828e1d7a012431e417f0b75b2450c8f --- src/backend/po/de.po | 254 +- src/backend/po/es.po | 2 +- src/backend/po/fr.po | 8 +- src/backend/po/ja.po | 837 +- src/backend/po/ka.po | 4 +- src/backend/po/ru.po | 15666 +++++++++++++------------ src/backend/po/sv.po | 283 +- src/bin/initdb/po/de.po | 6 +- src/bin/initdb/po/es.po | 2 +- src/bin/initdb/po/fr.po | 6 +- src/bin/initdb/po/it.po | 4 +- src/bin/initdb/po/ja.po | 8 +- src/bin/initdb/po/ka.po | 6 +- src/bin/initdb/po/pt_BR.po | 14 +- src/bin/initdb/po/ru.po | 513 +- src/bin/initdb/po/sv.po | 6 +- src/bin/pg_amcheck/po/it.po | 50 +- src/bin/pg_amcheck/po/ru.po | 4 +- src/bin/pg_amcheck/po/sv.po | 4 +- src/bin/pg_archivecleanup/po/it.po | 8 +- src/bin/pg_archivecleanup/po/ru.po | 16 +- src/bin/pg_basebackup/po/it.po | 10 +- src/bin/pg_basebackup/po/ru.po | 728 +- src/bin/pg_basebackup/po/sv.po | 8 +- src/bin/pg_checksums/po/es.po | 2 +- src/bin/pg_checksums/po/it.po | 18 +- src/bin/pg_checksums/po/ru.po | 54 +- src/bin/pg_checksums/po/uk.po | 37 +- src/bin/pg_config/po/ru.po | 56 +- src/bin/pg_config/po/sv.po | 4 +- src/bin/pg_controldata/po/cs.po | 4 +- src/bin/pg_controldata/po/fr.po | 4 +- src/bin/pg_controldata/po/it.po | 8 +- src/bin/pg_controldata/po/pt_BR.po | 4 +- src/bin/pg_controldata/po/ru.po | 14 +- src/bin/pg_controldata/po/sv.po | 38 +- src/bin/pg_ctl/po/fr.po | 2 +- src/bin/pg_ctl/po/it.po | 19 +- src/bin/pg_ctl/po/pl.po | 4 +- src/bin/pg_ctl/po/ru.po | 161 +- src/bin/pg_ctl/po/sv.po | 8 +- src/bin/pg_ctl/po/tr.po | 8 +- src/bin/pg_dump/po/cs.po | 8 +- src/bin/pg_dump/po/de.po | 302 +- src/bin/pg_dump/po/fr.po | 77 +- src/bin/pg_dump/po/it.po | 14 +- src/bin/pg_dump/po/ja.po | 145 +- src/bin/pg_dump/po/ru.po | 1221 +- src/bin/pg_resetwal/po/cs.po | 4 +- src/bin/pg_resetwal/po/de.po | 92 +- src/bin/pg_resetwal/po/es.po | 2 +- src/bin/pg_resetwal/po/fr.po | 104 +- src/bin/pg_resetwal/po/it.po | 28 +- src/bin/pg_resetwal/po/ja.po | 60 +- src/bin/pg_resetwal/po/ka.po | 171 +- src/bin/pg_resetwal/po/ru.po | 96 +- src/bin/pg_resetwal/po/sv.po | 96 +- src/bin/pg_rewind/po/fr.po | 5 +- src/bin/pg_rewind/po/it.po | 14 +- src/bin/pg_rewind/po/ru.po | 333 +- src/bin/pg_rewind/po/sv.po | 29 +- src/bin/pg_test_fsync/po/ru.po | 52 +- src/bin/pg_test_timing/po/ru.po | 4 +- src/bin/pg_upgrade/po/fr.po | 10 +- src/bin/pg_upgrade/po/ja.po | 6 +- src/bin/pg_upgrade/po/ru.po | 1818 +-- src/bin/pg_verifybackup/po/fr.po | 4 +- src/bin/pg_verifybackup/po/it.po | 10 +- src/bin/pg_verifybackup/po/ru.po | 221 +- src/bin/pg_waldump/po/es.po | 4 +- src/bin/pg_waldump/po/fr.po | 12 +- src/bin/pg_waldump/po/it.po | 32 +- src/bin/pg_waldump/po/ru.po | 284 +- src/bin/pg_waldump/po/sv.po | 20 +- src/bin/pg_waldump/po/uk.po | 426 +- src/bin/psql/po/cs.po | 17 +- src/bin/psql/po/el.po | 3 +- src/bin/psql/po/es.po | 2 +- src/bin/psql/po/fr.po | 5 +- src/bin/psql/po/it.po | 56 +- src/bin/psql/po/ja.po | 4 +- src/bin/psql/po/ru.po | 3075 ++--- src/bin/scripts/po/cs.po | 4 +- src/bin/scripts/po/es.po | 4 +- src/bin/scripts/po/fr.po | 6 +- src/bin/scripts/po/it.po | 52 +- src/bin/scripts/po/ru.po | 461 +- src/interfaces/ecpg/ecpglib/po/ru.po | 8 +- src/interfaces/ecpg/preproc/po/pl.po | 4 +- src/interfaces/ecpg/preproc/po/ru.po | 205 +- src/interfaces/libpq/po/ru.po | 1712 +-- src/pl/plperl/po/ru.po | 102 +- src/pl/plpgsql/src/po/ru.po | 334 +- src/pl/plpython/po/ru.po | 148 +- src/pl/tcl/po/fr.po | 4 +- src/pl/tcl/po/ru.po | 44 +- 96 files changed, 16652 insertions(+), 14194 deletions(-) diff --git a/src/backend/po/de.po b/src/backend/po/de.po index 64cdc99afbb..a4ab8196fc8 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: 2023-08-25 02:11+0000\n" -"PO-Revision-Date: 2023-08-25 08:39+0200\n" +"POT-Creation-Date: 2023-08-29 23:11+0000\n" +"PO-Revision-Date: 2023-08-30 08:22+0200\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -175,7 +175,7 @@ msgstr "konnte Datei »%s« nicht öffnen: %m" #: access/transam/twophase.c:1744 access/transam/twophase.c:1753 #: access/transam/xlog.c:8755 access/transam/xlogfuncs.c:708 #: backup/basebackup_server.c:175 backup/basebackup_server.c:268 -#: postmaster/postmaster.c: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 #, c-format @@ -208,8 +208,8 @@ msgstr "konnte Datei »%s« nicht fsyncen: %m" #: access/transam/xlogrecovery.c:589 lib/dshash.c:253 libpq/auth.c:1345 #: libpq/auth.c:1389 libpq/auth.c:1946 libpq/be-secure-gssapi.c:524 #: postmaster/bgworker.c:352 postmaster/bgworker.c:934 -#: postmaster/postmaster.c:2534 postmaster/postmaster.c:4127 -#: postmaster/postmaster.c:5495 postmaster/postmaster.c:5866 +#: postmaster/postmaster.c:2537 postmaster/postmaster.c:4130 +#: postmaster/postmaster.c:5498 postmaster/postmaster.c:5869 #: replication/libpqwalreceiver/libpqwalreceiver.c:308 #: replication/logical/logical.c:208 replication/walsender.c:686 #: storage/buffer/localbuf.c:601 storage/file/fd.c:866 storage/file/fd.c:1397 @@ -305,7 +305,7 @@ msgstr "konnte »stat« für Datei »%s« nicht ausführen: %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:2880 +#: 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" @@ -440,7 +440,7 @@ msgstr "Tipp: " #: ../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 +#: 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 #, c-format @@ -1206,7 +1206,7 @@ msgstr "konnte nicht in Datei »%s« schreiben, %d von %d geschrieben: %m" #: access/transam/xlog.c:3938 access/transam/xlog.c:8744 #: access/transam/xlogfuncs.c:702 backup/basebackup_server.c:151 #: backup/basebackup_server.c:244 commands/dbcommands.c:518 -#: postmaster/postmaster.c:4554 postmaster/postmaster.c:5557 +#: postmaster/postmaster.c:4557 postmaster/postmaster.c:5560 #: replication/logical/origin.c:603 replication/slot.c:1777 #: storage/file/copydir.c:157 storage/smgr/md.c:232 utils/time/snapmgr.c:1263 #, c-format @@ -1222,7 +1222,7 @@ msgstr "konnte Datei »%s« nicht auf %u kürzen: %m" #: 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 +#: 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 @@ -3443,7 +3443,7 @@ msgstr "Der fehlgeschlagene Archivbefehl war: %s" msgid "archive command was terminated by exception 0x%X" msgstr "Archivbefehl wurde durch Ausnahme 0x%X beendet" -#: 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 "Sehen Sie die Beschreibung des Hexadezimalwerts in der C-Include-Datei »ntstatus.h« nach." @@ -9351,8 +9351,8 @@ msgstr "vorbereitete Anweisung »%s« existiert nicht" msgid "must be superuser to create custom procedural language" msgstr "nur Superuser können maßgeschneiderte prozedurale Sprachen erzeugen" -#: commands/publicationcmds.c:131 postmaster/postmaster.c:1205 -#: postmaster/postmaster.c:1303 storage/file/fd.c:3911 +#: commands/publicationcmds.c:131 postmaster/postmaster.c:1208 +#: postmaster/postmaster.c:1306 storage/file/fd.c:3911 #: utils/init/miscinit.c:1815 #, c-format msgid "invalid list syntax in parameter \"%s\"" @@ -19438,93 +19438,93 @@ msgstr "%s: ungültige datetoken-Tabellen, bitte reparieren\n" msgid "could not create I/O completion port for child queue" msgstr "konnte Ein-/Ausgabe-Completion-Port für Child-Queue nicht erzeugen" -#: postmaster/postmaster.c:1164 +#: postmaster/postmaster.c:1175 #, c-format msgid "ending log output to stderr" msgstr "Logausgabe nach stderr endet" -#: postmaster/postmaster.c:1165 +#: postmaster/postmaster.c:1176 #, c-format msgid "Future log output will go to log destination \"%s\"." msgstr "Die weitere Logausgabe geht an Logziel »%s«." -#: postmaster/postmaster.c:1176 +#: postmaster/postmaster.c:1187 #, c-format msgid "starting %s" msgstr "%s startet" -#: postmaster/postmaster.c:1236 +#: postmaster/postmaster.c:1239 #, c-format msgid "could not create listen socket for \"%s\"" msgstr "konnte Listen-Socket für »%s« nicht erzeugen" -#: postmaster/postmaster.c:1242 +#: postmaster/postmaster.c:1245 #, c-format msgid "could not create any TCP/IP sockets" msgstr "konnte keine TCP/IP-Sockets erstellen" -#: postmaster/postmaster.c:1274 +#: postmaster/postmaster.c:1277 #, c-format msgid "DNSServiceRegister() failed: error code %ld" msgstr "DNSServiceRegister() fehlgeschlagen: Fehlercode %ld" -#: postmaster/postmaster.c:1325 +#: postmaster/postmaster.c:1328 #, c-format msgid "could not create Unix-domain socket in directory \"%s\"" msgstr "konnte Unix-Domain-Socket in Verzeichnis »%s« nicht erzeugen" -#: postmaster/postmaster.c:1331 +#: postmaster/postmaster.c:1334 #, c-format msgid "could not create any Unix-domain sockets" msgstr "konnte keine Unix-Domain-Sockets erzeugen" -#: postmaster/postmaster.c:1342 +#: postmaster/postmaster.c:1345 #, c-format msgid "no socket created for listening" msgstr "keine Listen-Socket erzeugt" -#: 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: konnte Rechte der externen PID-Datei »%s« nicht ändern: %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: konnte externe PID-Datei »%s« nicht schreiben: %s\n" #. translator: %s is a configuration file -#: postmaster/postmaster.c:1405 utils/init/postinit.c:221 +#: postmaster/postmaster.c:1408 utils/init/postinit.c:221 #, c-format msgid "could not load %s" msgstr "konnte %s nicht laden" -#: postmaster/postmaster.c:1431 +#: postmaster/postmaster.c:1434 #, c-format msgid "postmaster became multithreaded during startup" msgstr "Postmaster ist während des Starts multithreaded geworden" -#: postmaster/postmaster.c:1432 +#: postmaster/postmaster.c:1435 #, c-format msgid "Set the LC_ALL environment variable to a valid locale." msgstr "Setzen Sie die Umgebungsvariable LC_ALL auf eine gültige Locale." -#: postmaster/postmaster.c:1533 +#: postmaster/postmaster.c:1536 #, c-format msgid "%s: could not locate my own executable path" msgstr "%s: konnte Pfad des eigenen Programs nicht finden" -#: postmaster/postmaster.c:1540 +#: postmaster/postmaster.c:1543 #, c-format msgid "%s: could not locate matching postgres executable" msgstr "%s: konnte kein passendes Programm »postgres« finden" -#: 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 "Dies kann auf eine unvollständige PostgreSQL-Installation hindeuten, oder darauf, dass die Datei »%s« von ihrer richtigen Stelle verschoben worden ist." -#: postmaster/postmaster.c:1590 +#: postmaster/postmaster.c:1593 #, c-format msgid "" "%s: could not find the database system\n" @@ -19536,460 +19536,460 @@ msgstr "" "aber die Datei »%s« konnte nicht geöffnet werden: %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 "%s wird an ungehorsame Kinder gesendet" -#: postmaster/postmaster.c:1909 +#: postmaster/postmaster.c:1912 #, c-format msgid "performing immediate shutdown because data directory lock file is invalid" msgstr "führe sofortiges Herunterfahren durch, weil Sperrdatei im Datenverzeichnis ungültig ist" -#: postmaster/postmaster.c:1984 postmaster/postmaster.c:2012 +#: postmaster/postmaster.c:1987 postmaster/postmaster.c:2015 #, c-format msgid "incomplete startup packet" msgstr "unvollständiges Startpaket" -#: 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 "ungültige Länge des Startpakets" -#: postmaster/postmaster.c:2058 +#: postmaster/postmaster.c:2061 #, c-format msgid "failed to send SSL negotiation response: %m" msgstr "konnte SSL-Verhandlungsantwort nicht senden: %m" -#: postmaster/postmaster.c:2076 +#: postmaster/postmaster.c:2079 #, c-format msgid "received unencrypted data after SSL request" msgstr "unverschlüsselte Daten nach SSL-Anforderung empfangen" -#: 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 "Das könnte entweder ein Fehler in der Client-Software oder ein Hinweis auf einen versuchten Man-in-the-Middle-Angriff sein." -#: postmaster/postmaster.c:2102 +#: postmaster/postmaster.c:2105 #, c-format msgid "failed to send GSSAPI negotiation response: %m" msgstr "konnte GSSAPI-Verhandlungsantwort nicht senden: %m" -#: postmaster/postmaster.c:2120 +#: postmaster/postmaster.c:2123 #, c-format msgid "received unencrypted data after GSSAPI encryption request" msgstr "unverschlüsselte Daten nach GSSAPI-Verschlüsselungsanforderung empfangen" -#: postmaster/postmaster.c:2144 +#: postmaster/postmaster.c:2147 #, c-format msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u" msgstr "nicht unterstütztes Frontend-Protokoll %u.%u: Server unterstützt %u.0 bis %u.%u" -#: postmaster/postmaster.c:2211 +#: postmaster/postmaster.c:2214 #, c-format msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"." msgstr "Gültige Werte sind: »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 "ungültiges Layout des Startpakets: Abschluss als letztes Byte erwartet" -#: postmaster/postmaster.c:2269 +#: postmaster/postmaster.c:2272 #, c-format msgid "no PostgreSQL user name specified in startup packet" msgstr "kein PostgreSQL-Benutzername im Startpaket angegeben" -#: postmaster/postmaster.c:2333 +#: postmaster/postmaster.c:2336 #, c-format msgid "the database system is starting up" msgstr "das Datenbanksystem startet" -#: postmaster/postmaster.c:2339 +#: postmaster/postmaster.c:2342 #, c-format msgid "the database system is not yet accepting connections" msgstr "das Datenbanksystem nimmt noch keine Verbindungen an" -#: postmaster/postmaster.c:2340 +#: postmaster/postmaster.c:2343 #, c-format msgid "Consistent recovery state has not been yet reached." msgstr "Konsistenter Wiederherstellungszustand wurde noch nicht erreicht." -#: postmaster/postmaster.c:2344 +#: postmaster/postmaster.c:2347 #, c-format msgid "the database system is not accepting connections" msgstr "das Datenbanksystem nimmt keine Verbindungen an" -#: postmaster/postmaster.c:2345 +#: postmaster/postmaster.c:2348 #, c-format msgid "Hot standby mode is disabled." msgstr "Hot-Standby-Modus ist deaktiviert." -#: postmaster/postmaster.c:2350 +#: postmaster/postmaster.c:2353 #, c-format msgid "the database system is shutting down" msgstr "das Datenbanksystem fährt herunter" -#: postmaster/postmaster.c:2355 +#: postmaster/postmaster.c:2358 #, c-format msgid "the database system is in recovery mode" msgstr "das Datenbanksystem ist im Wiederherstellungsmodus" -#: 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 "tut mir leid, schon zu viele Verbindungen" -#: postmaster/postmaster.c:2447 +#: postmaster/postmaster.c:2450 #, c-format msgid "wrong key in cancel request for process %d" msgstr "falscher Schlüssel in Stornierungsanfrage für Prozess %d" -#: postmaster/postmaster.c:2459 +#: postmaster/postmaster.c:2462 #, c-format msgid "PID %d in cancel request did not match any process" msgstr "PID %d in Stornierungsanfrage stimmte mit keinem Prozess überein" -#: postmaster/postmaster.c:2726 +#: postmaster/postmaster.c:2729 #, c-format msgid "received SIGHUP, reloading configuration files" msgstr "SIGHUP empfangen, Konfigurationsdateien werden neu geladen" #. 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 wurde nicht neu geladen" -#: postmaster/postmaster.c:2764 +#: postmaster/postmaster.c:2767 #, c-format msgid "SSL configuration was not reloaded" msgstr "SSL-Konfiguration wurde nicht neu geladen" -#: postmaster/postmaster.c:2854 +#: postmaster/postmaster.c:2857 #, c-format msgid "received smart shutdown request" msgstr "intelligentes Herunterfahren verlangt" -#: postmaster/postmaster.c:2895 +#: postmaster/postmaster.c:2898 #, c-format msgid "received fast shutdown request" msgstr "schnelles Herunterfahren verlangt" -#: postmaster/postmaster.c:2913 +#: postmaster/postmaster.c:2916 #, c-format msgid "aborting any active transactions" msgstr "etwaige aktive Transaktionen werden abgebrochen" -#: postmaster/postmaster.c:2937 +#: postmaster/postmaster.c:2940 #, c-format msgid "received immediate shutdown request" msgstr "sofortiges Herunterfahren verlangt" -#: postmaster/postmaster.c:3013 +#: postmaster/postmaster.c:3016 #, c-format msgid "shutdown at recovery target" msgstr "Herunterfahren beim Wiederherstellungsziel" -#: postmaster/postmaster.c:3031 postmaster/postmaster.c:3067 +#: postmaster/postmaster.c:3034 postmaster/postmaster.c:3070 msgid "startup process" msgstr "Startprozess" -#: postmaster/postmaster.c:3034 +#: postmaster/postmaster.c:3037 #, c-format msgid "aborting startup due to startup process failure" msgstr "Serverstart abgebrochen wegen Startprozessfehler" -#: postmaster/postmaster.c:3107 +#: postmaster/postmaster.c:3110 #, c-format msgid "database system is ready to accept connections" msgstr "Datenbanksystem ist bereit, um Verbindungen anzunehmen" -#: postmaster/postmaster.c:3128 +#: postmaster/postmaster.c:3131 msgid "background writer process" msgstr "Background-Writer-Prozess" -#: postmaster/postmaster.c:3175 +#: postmaster/postmaster.c:3178 msgid "checkpointer process" msgstr "Checkpointer-Prozess" -#: postmaster/postmaster.c:3191 +#: postmaster/postmaster.c:3194 msgid "WAL writer process" msgstr "WAL-Schreibprozess" -#: postmaster/postmaster.c:3206 +#: postmaster/postmaster.c:3209 msgid "WAL receiver process" msgstr "WAL-Receiver-Prozess" -#: postmaster/postmaster.c:3221 +#: postmaster/postmaster.c:3224 msgid "autovacuum launcher process" msgstr "Autovacuum-Launcher-Prozess" -#: postmaster/postmaster.c:3239 +#: postmaster/postmaster.c:3242 msgid "archiver process" msgstr "Archivierprozess" -#: postmaster/postmaster.c:3252 +#: postmaster/postmaster.c:3255 msgid "system logger process" msgstr "Systemlogger-Prozess" -#: postmaster/postmaster.c:3309 +#: postmaster/postmaster.c:3312 #, c-format msgid "background worker \"%s\"" msgstr "Background-Worker »%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 "Serverprozess" -#: postmaster/postmaster.c:3487 +#: postmaster/postmaster.c:3490 #, c-format msgid "terminating any other active server processes" msgstr "aktive Serverprozesse werden abgebrochen" #. 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) beendete mit Status %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 "Der fehlgeschlagene Prozess führte aus: %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) wurde durch Ausnahme 0x%X beendet" #. 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) wurde von Signal %d beendet: %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) beendete mit unbekanntem Status %d" -#: postmaster/postmaster.c:3903 +#: postmaster/postmaster.c:3906 #, c-format msgid "abnormal database system shutdown" msgstr "abnormales Herunterfahren des Datenbanksystems" -#: postmaster/postmaster.c:3929 +#: postmaster/postmaster.c:3932 #, c-format msgid "shutting down due to startup process failure" msgstr "fahre herunter wegen Startprozessfehler" -#: postmaster/postmaster.c:3935 +#: postmaster/postmaster.c:3938 #, c-format msgid "shutting down because restart_after_crash is off" msgstr "fahre herunter, weil restart_after_crash aus ist" -#: postmaster/postmaster.c:3947 +#: postmaster/postmaster.c:3950 #, c-format msgid "all server processes terminated; reinitializing" msgstr "alle Serverprozesse beendet; initialisiere neu" -#: 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 "konnte zufälligen Stornierungsschlüssel nicht erzeugen" -#: postmaster/postmaster.c:4203 +#: postmaster/postmaster.c:4206 #, c-format msgid "could not fork new process for connection: %m" msgstr "konnte neuen Prozess für Verbindung nicht starten (fork-Fehler): %m" -#: postmaster/postmaster.c:4245 +#: postmaster/postmaster.c:4248 msgid "could not fork new process for connection: " msgstr "konnte neuen Prozess für Verbindung nicht starten (fork-Fehler): " -#: postmaster/postmaster.c:4351 +#: postmaster/postmaster.c:4354 #, c-format msgid "connection received: host=%s port=%s" msgstr "Verbindung empfangen: Host=%s Port=%s" -#: postmaster/postmaster.c:4356 +#: postmaster/postmaster.c:4359 #, c-format msgid "connection received: host=%s" msgstr "Verbindung empfangen: Host=%s" -#: postmaster/postmaster.c:4593 +#: postmaster/postmaster.c:4596 #, c-format msgid "could not execute server process \"%s\": %m" msgstr "konnte Serverprozess »%s« nicht ausführen: %m" -#: postmaster/postmaster.c:4651 +#: postmaster/postmaster.c:4654 #, c-format msgid "could not create backend parameter file mapping: error code %lu" msgstr "konnte Backend-Parameter-Datei-Mapping nicht erzeugen: Fehlercode %lu" -#: postmaster/postmaster.c:4660 +#: postmaster/postmaster.c:4663 #, c-format msgid "could not map backend parameter memory: error code %lu" msgstr "konnte Backend-Parameter-Speicher nicht mappen: Fehlercode %lu" -#: postmaster/postmaster.c:4687 +#: postmaster/postmaster.c:4690 #, c-format msgid "subprocess command line too long" msgstr "Kommandozeile für Subprozess zu lang" -#: postmaster/postmaster.c:4705 +#: postmaster/postmaster.c:4708 #, c-format msgid "CreateProcess() call failed: %m (error code %lu)" msgstr "Aufruf von CreateProcess() fehlgeschlagen: %m (Fehlercode %lu)" -#: postmaster/postmaster.c:4732 +#: postmaster/postmaster.c:4735 #, c-format msgid "could not unmap view of backend parameter file: error code %lu" msgstr "konnte Sicht der Backend-Parameter-Datei nicht unmappen: Fehlercode %lu" -#: postmaster/postmaster.c:4736 +#: postmaster/postmaster.c:4739 #, c-format msgid "could not close handle to backend parameter file: error code %lu" msgstr "konnte Handle für Backend-Parameter-Datei nicht schließen: Fehlercode %lu" -#: postmaster/postmaster.c:4758 +#: postmaster/postmaster.c:4761 #, c-format msgid "giving up after too many tries to reserve shared memory" msgstr "Aufgabe nach zu vielen Versuchen, Shared Memory zu reservieren" -#: postmaster/postmaster.c:4759 +#: postmaster/postmaster.c:4762 #, c-format msgid "This might be caused by ASLR or antivirus software." msgstr "Dies kann durch ASLR oder Antivirus-Software verursacht werden." -#: postmaster/postmaster.c:4932 +#: postmaster/postmaster.c:4935 #, c-format msgid "SSL configuration could not be loaded in child process" msgstr "SSL-Konfiguration konnte im Kindprozess nicht geladen werden" -#: postmaster/postmaster.c:5057 +#: postmaster/postmaster.c:5060 #, c-format msgid "Please report this to <%s>." msgstr "Bitte berichten Sie dies an <%s>." -#: postmaster/postmaster.c:5125 +#: postmaster/postmaster.c:5128 #, c-format msgid "database system is ready to accept read-only connections" msgstr "Datenbanksystem ist bereit, um lesende Verbindungen anzunehmen" -#: postmaster/postmaster.c:5383 +#: postmaster/postmaster.c:5386 #, c-format msgid "could not fork startup process: %m" msgstr "konnte Startprozess nicht starten (fork-Fehler): %m" -#: postmaster/postmaster.c:5387 +#: postmaster/postmaster.c:5390 #, c-format msgid "could not fork archiver process: %m" msgstr "konnte Archivierer-Prozess nicht starten (fork-Fehler): %m" -#: postmaster/postmaster.c:5391 +#: postmaster/postmaster.c:5394 #, c-format msgid "could not fork background writer process: %m" msgstr "konnte Background-Writer-Prozess nicht starten (fork-Fehler): %m" -#: postmaster/postmaster.c:5395 +#: postmaster/postmaster.c:5398 #, c-format msgid "could not fork checkpointer process: %m" msgstr "konnte Checkpointer-Prozess nicht starten (fork-Fehler): %m" -#: postmaster/postmaster.c:5399 +#: postmaster/postmaster.c:5402 #, c-format msgid "could not fork WAL writer process: %m" msgstr "konnte WAL-Writer-Prozess nicht starten (fork-Fehler): %m" -#: postmaster/postmaster.c:5403 +#: postmaster/postmaster.c:5406 #, c-format msgid "could not fork WAL receiver process: %m" msgstr "konnte WAL-Receiver-Prozess nicht starten (fork-Fehler): %m" -#: postmaster/postmaster.c:5407 +#: postmaster/postmaster.c:5410 #, c-format msgid "could not fork process: %m" msgstr "konnte Prozess nicht starten (fork-Fehler): %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 "die Notwendigkeit, Datenbankverbindungen zu erzeugen, wurde bei der Registrierung nicht angezeigt" -#: 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 "ungültiger Verarbeitungsmodus in Background-Worker" -#: postmaster/postmaster.c:5731 +#: postmaster/postmaster.c:5734 #, c-format msgid "could not fork worker process: %m" msgstr "konnte Worker-Prozess nicht starten (fork-Fehler): %m" -#: postmaster/postmaster.c:5843 +#: postmaster/postmaster.c:5846 #, c-format msgid "no slot available for new worker process" msgstr "kein Slot für neuen Worker-Prozess verfügbar" -#: postmaster/postmaster.c:6174 +#: postmaster/postmaster.c:6177 #, c-format msgid "could not duplicate socket %d for use in backend: error code %d" msgstr "konnte Socket %d nicht für Verwendung in Backend duplizieren: Fehlercode %d" -#: postmaster/postmaster.c:6206 +#: postmaster/postmaster.c:6209 #, c-format msgid "could not create inherited socket: error code %d\n" msgstr "konnte geerbtes Socket nicht erzeugen: Fehlercode %d\n" -#: postmaster/postmaster.c:6235 +#: postmaster/postmaster.c:6238 #, c-format msgid "could not open backend variables file \"%s\": %s\n" msgstr "konnte Servervariablendatei »%s« nicht öffnen: %s\n" -#: postmaster/postmaster.c:6242 +#: postmaster/postmaster.c:6245 #, c-format msgid "could not read from backend variables file \"%s\": %s\n" msgstr "konnte nicht aus Servervariablendatei »%s« lesen: %s\n" -#: postmaster/postmaster.c:6251 +#: postmaster/postmaster.c:6254 #, c-format msgid "could not remove file \"%s\": %s\n" msgstr "konnte Datei »%s« nicht löschen: %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 "konnte Sicht der Backend-Variablen nicht mappen: Fehlercode %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 "konnte Sicht der Backend-Variablen nicht unmappen: Fehlercode %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 "konnte Handle für Backend-Parametervariablen nicht schließen: Fehlercode %lu\n" -#: postmaster/postmaster.c:6443 +#: postmaster/postmaster.c:6446 #, c-format msgid "could not read exit code for process\n" msgstr "konnte Exitcode des Prozesses nicht lesen\n" -#: postmaster/postmaster.c:6485 +#: postmaster/postmaster.c:6488 #, c-format msgid "could not post child completion status\n" msgstr "konnte Child-Completion-Status nicht versenden\n" @@ -29562,12 +29562,12 @@ msgid "Sets the method for synchronizing the data directory before crash recover msgstr "Setzt die Methode für das Synchronisieren des Datenverzeichnisses vor der Wiederherstellung nach einem Absturz." #: utils/misc/guc_tables.c:4960 -msgid "Controls when to replicate or apply each change." -msgstr "" +msgid "Forces immediate streaming or serialization of changes in large transactions." +msgstr "Erzwingt sofortiges Streaming oder sofortige Serialisierung von Änderungen in großen Transaktionen." #: utils/misc/guc_tables.c: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 "Auf dem Publikationsserver erlaubt es Streaming oder Serialisierung jeder Änderung aus logischer Dekodierung. Auf dem Subskriptionsserver erlaubt es die Serialisierung aller Änderungen in Dateien und benachrichtigt die Parallel-Apply-Worker, sie nach dem Ende der Transaktion zu lesen und anzuwenden." #: utils/misc/help_config.c:129 #, c-format diff --git a/src/backend/po/es.po b/src/backend/po/es.po index e50a9350336..a05b7adee99 100644 --- a/src/backend/po/es.po +++ b/src/backend/po/es.po @@ -399,7 +399,7 @@ msgstr "La secuencia de escape «%s» no es válida." #: ../common/jsonapi.c:1147 #, c-format msgid "Character with value 0x%02x must be escaped." -msgstr "Los caracteres con valor 0x%02x deben ser escapados" +msgstr "Los caracteres con valor 0x%02x deben ser escapados." #: ../common/jsonapi.c:1150 #, c-format diff --git a/src/backend/po/fr.po b/src/backend/po/fr.po index fd51500b938..041bb1d1b51 100644 --- a/src/backend/po/fr.po +++ b/src/backend/po/fr.po @@ -407,7 +407,7 @@ msgstr "« \\u » doit être suivi par quatre chiffres hexadécimaux." #: ../common/jsonapi.c:1115 msgid "Unicode escape values cannot be used for code point values above 007F when the encoding is not UTF8." -msgstr "les valeurs d'échappement Unicode ne peuvent pas être utilisées pour des valeurs de point code au-dessus de 007F quand l'encodage n'est pas UTF8." +msgstr "Les valeurs d'échappement Unicode ne peuvent pas être utilisées pour des valeurs de point code au-dessus de 007F quand l'encodage n'est pas UTF8." #: ../common/jsonapi.c:1117 jsonpath_scan.l:516 #, c-format @@ -3042,7 +3042,7 @@ msgstr "n'a pas pu localiser le bloc de sauvegarde d'ID %d dans l'enregistrement #: access/transam/xlogreader.c:2051 #, c-format msgid "could not restore image at %X/%X with invalid block %d specified" -msgstr "n'a pas pu restaurer l'image ) %X/%X avec le bloc invalide %d indiqué" +msgstr "n'a pas pu restaurer l'image à %X/%X avec le bloc invalide %d indiqué" #: access/transam/xlogreader.c:2058 #, c-format @@ -13127,9 +13127,7 @@ msgstr[1] "ne peut pas passer plus de %d arguments à une fonction" #: utils/adt/jsonfuncs.c:3698 utils/fmgr/funcapi.c:98 utils/fmgr/funcapi.c:152 #, 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\n" -"un ensemble" +msgstr "la fonction renvoyant un ensemble a été appelée dans un contexte qui n'accepte pas un ensemble" #: executor/execExpr.c:2865 parser/parse_node.c:276 parser/parse_node.c:326 #, c-format diff --git a/src/backend/po/ja.po b/src/backend/po/ja.po index 1ab9f7f68f5..0700a972fa7 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: 2023-07-25 14:38+0900\n" -"PO-Revision-Date: 2023-07-25 14:44+0900\n" +"POT-Creation-Date: 2023-08-30 09:19+0900\n" +"PO-Revision-Date: 2023-08-30 09:49+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: jpug-doc \n" "Language: ja\n" @@ -77,24 +77,24 @@ msgstr "圧縮アルゴリズム\"%s\"は長距離モードをサポートしま msgid "not recorded" msgstr "記録されていません" -#: ../common/controldata_utils.c:69 ../common/controldata_utils.c:73 commands/copyfrom.c:1669 commands/extension.c:3453 utils/adt/genfile.c:123 +#: ../common/controldata_utils.c:69 ../common/controldata_utils.c:73 commands/copyfrom.c:1670 commands/extension.c:3480 utils/adt/genfile.c:123 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "ファイル\"%s\"を読み込み用にオープンできませんでした: %m" -#: ../common/controldata_utils.c:84 ../common/controldata_utils.c:86 access/transam/timeline.c:143 access/transam/timeline.c:362 access/transam/twophase.c:1347 access/transam/xlog.c:3193 access/transam/xlog.c:3996 access/transam/xlogrecovery.c:1199 access/transam/xlogrecovery.c:1291 access/transam/xlogrecovery.c:1328 access/transam/xlogrecovery.c:1388 backup/basebackup.c:1842 commands/extension.c:3463 libpq/hba.c:791 replication/logical/origin.c:745 -#: replication/logical/origin.c:781 replication/logical/reorderbuffer.c:5050 replication/logical/snapbuild.c:2031 replication/slot.c:1946 replication/slot.c:1987 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:84 ../common/controldata_utils.c:86 access/transam/timeline.c:143 access/transam/timeline.c:362 access/transam/twophase.c:1347 access/transam/xlog.c:3193 access/transam/xlog.c:3996 access/transam/xlogrecovery.c:1199 access/transam/xlogrecovery.c:1291 access/transam/xlogrecovery.c:1328 access/transam/xlogrecovery.c:1388 backup/basebackup.c:1842 commands/extension.c:3490 libpq/hba.c:769 replication/logical/origin.c:745 +#: replication/logical/origin.c:781 replication/logical/reorderbuffer.c:5050 replication/logical/snapbuild.c:2031 replication/slot.c:1953 replication/slot.c:1994 replication/walsender.c:643 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 #, c-format msgid "could not read file \"%s\": %m" msgstr "ファイル\"%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:1950 replication/slot.c:1991 replication/walsender.c:648 utils/cache/relmapper.c:831 +#: ../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 #, c-format msgid "could not read file \"%s\": read %d of %zu" msgstr "ファイル\"%1$s\"を読み込めませんでした: %3$zuバイトのうち%2$dバイトを読み込みました" #: ../common/controldata_utils.c:104 ../common/controldata_utils.c:108 ../common/controldata_utils.c:233 ../common/controldata_utils.c:236 access/heap/rewriteheap.c:1175 access/heap/rewriteheap.c:1280 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:1729 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 +#: access/transam/xlog.c:3966 access/transam/xlog.c:4885 commands/copyfrom.c:1730 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 #, c-format msgid "could not close file \"%s\": %m" @@ -118,25 +118,25 @@ msgstr "" "PostgreSQLインストレーションはこのデータディレクトリと互換性がなくなります。" #: ../common/controldata_utils.c:181 ../common/controldata_utils.c:186 ../common/file_utils.c:228 ../common/file_utils.c:287 ../common/file_utils.c:361 access/heap/rewriteheap.c:1263 access/transam/timeline.c:111 access/transam/timeline.c:251 access/transam/timeline.c:348 access/transam/twophase.c:1303 access/transam/xlog.c:2946 access/transam/xlog.c:3109 access/transam/xlog.c:3148 access/transam/xlog.c:3341 access/transam/xlog.c:3986 -#: access/transam/xlogrecovery.c:4179 access/transam/xlogrecovery.c:4282 access/transam/xlogutils.c:838 backup/basebackup.c:538 backup/basebackup.c:1512 libpq/hba.c:651 postmaster/syslogger.c:1560 replication/logical/origin.c:735 replication/logical/reorderbuffer.c:3706 replication/logical/reorderbuffer.c:4257 replication/logical/reorderbuffer.c:5030 replication/logical/snapbuild.c:1753 replication/logical/snapbuild.c:1863 replication/slot.c:1918 +#: access/transam/xlogrecovery.c:4179 access/transam/xlogrecovery.c:4282 access/transam/xlogutils.c:838 backup/basebackup.c:538 backup/basebackup.c:1512 libpq/hba.c:629 postmaster/syslogger.c:1560 replication/logical/origin.c:735 replication/logical/reorderbuffer.c:3706 replication/logical/reorderbuffer.c:4257 replication/logical/reorderbuffer.c:5030 replication/logical/snapbuild.c:1753 replication/logical/snapbuild.c:1863 replication/slot.c:1925 #: replication/walsender.c:616 replication/walsender.c:2731 storage/file/copydir.c:151 storage/file/fd.c:757 storage/file/fd.c:3457 storage/file/fd.c:3687 storage/file/fd.c:3777 storage/smgr/md.c:663 utils/cache/relmapper.c:816 utils/cache/relmapper.c:924 utils/error/elog.c:2082 utils/init/miscinit.c:1530 utils/init/miscinit.c:1664 utils/init/miscinit.c:1741 utils/misc/guc.c:4600 utils/misc/guc.c:4650 #, c-format msgid "could not open file \"%s\": %m" msgstr "ファイル\"%s\"をオープンできませんでした: %m" -#: ../common/controldata_utils.c:202 ../common/controldata_utils.c:205 access/transam/twophase.c:1744 access/transam/twophase.c:1753 access/transam/xlog.c:8755 access/transam/xlogfuncs.c:708 backup/basebackup_server.c:175 backup/basebackup_server.c:268 postmaster/postmaster.c:5570 postmaster/syslogger.c:1571 postmaster/syslogger.c:1584 postmaster/syslogger.c:1597 utils/cache/relmapper.c:936 +#: ../common/controldata_utils.c:202 ../common/controldata_utils.c:205 access/transam/twophase.c:1744 access/transam/twophase.c:1753 access/transam/xlog.c:8755 access/transam/xlogfuncs.c:708 backup/basebackup_server.c:175 backup/basebackup_server.c:268 postmaster/postmaster.c:5573 postmaster/syslogger.c:1571 postmaster/syslogger.c:1584 postmaster/syslogger.c:1597 utils/cache/relmapper.c:936 #, c-format msgid "could not write file \"%s\": %m" msgstr "ファイル\"%s\"を書き出せませんでした: %m" #: ../common/controldata_utils.c:219 ../common/controldata_utils.c:224 ../common/file_utils.c:299 ../common/file_utils.c:369 access/heap/rewriteheap.c:959 access/heap/rewriteheap.c:1169 access/heap/rewriteheap.c:1274 access/transam/timeline.c:432 access/transam/timeline.c:506 access/transam/twophase.c:1765 access/transam/xlog.c:3032 access/transam/xlog.c:3227 access/transam/xlog.c:3959 access/transam/xlog.c:8145 access/transam/xlog.c:8190 -#: backup/basebackup_server.c:209 replication/logical/snapbuild.c:1791 replication/slot.c:1823 replication/slot.c:1928 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 +#: 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 #, 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:258 ../common/stringinfo.c:305 ../port/path.c:751 ../port/path.c:789 ../port/path.c:806 access/transam/twophase.c:1412 -#: access/transam/xlogrecovery.c:589 lib/dshash.c:253 libpq/auth.c:1345 libpq/auth.c:1389 libpq/auth.c:1946 libpq/be-secure-gssapi.c:524 postmaster/bgworker.c:352 postmaster/bgworker.c:934 postmaster/postmaster.c: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 +#: access/transam/xlogrecovery.c:589 lib/dshash.c:253 libpq/auth.c:1345 libpq/auth.c:1389 libpq/auth.c:1946 libpq/be-secure-gssapi.c:524 postmaster/bgworker.c:352 postmaster/bgworker.c:934 postmaster/postmaster.c:2537 postmaster/postmaster.c:4130 postmaster/postmaster.c:5498 postmaster/postmaster.c:5869 replication/libpqwalreceiver/libpqwalreceiver.c:308 replication/logical/logical.c:208 replication/walsender.c:686 storage/buffer/localbuf.c:601 #: storage/file/fd.c:866 storage/file/fd.c:1397 storage/file/fd.c:1558 storage/file/fd.c:2478 storage/ipc/procarray.c:1449 storage/ipc/procarray.c:2232 storage/ipc/procarray.c:2239 storage/ipc/procarray.c:2738 storage/ipc/procarray.c:3374 utils/adt/formatting.c:1690 utils/adt/formatting.c:1812 utils/adt/formatting.c:1935 utils/adt/pg_locale.c:469 utils/adt/pg_locale.c:633 utils/fmgr/dfmgr.c:229 utils/hash/dynahash.c:514 utils/hash/dynahash.c:614 #: utils/hash/dynahash.c:1111 utils/mb/mbutils.c:402 utils/mb/mbutils.c:430 utils/mb/mbutils.c:815 utils/mb/mbutils.c:842 utils/misc/guc.c:640 utils/misc/guc.c:665 utils/misc/guc.c:1053 utils/misc/guc.c:4348 utils/misc/tzparser.c:476 utils/mmgr/aset.c:445 utils/mmgr/dsa.c: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 @@ -191,13 +191,13 @@ 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:229 backup/basebackup.c:346 backup/basebackup.c:544 backup/basebackup.c:615 commands/copyfrom.c:1679 commands/copyto.c:702 commands/extension.c:3442 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:229 backup/basebackup.c:346 backup/basebackup.c:544 backup/basebackup.c:615 commands/copyfrom.c:1680 commands/copyto.c:702 commands/extension.c:3469 commands/tablespace.c:810 commands/tablespace.c:899 postmaster/pgarch.c:590 replication/logical/snapbuild.c:1649 storage/file/fd.c:1922 #: storage/file/fd.c:2008 storage/file/fd.c:3511 utils/adt/dbsize.c:106 utils/adt/dbsize.c:258 utils/adt/dbsize.c:338 utils/adt/genfile.c:483 utils/adt/genfile.c:658 utils/adt/misc.c:340 #, c-format msgid "could not stat file \"%s\": %m" msgstr "ファイル\"%s\"のstatに失敗しました: %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:2880 storage/file/reinit.c:126 utils/adt/misc.c:256 utils/misc/tzparser.c:338 +#: ../common/file_utils.c:162 ../common/pgfnames.c:48 ../common/rmtree.c:63 commands/tablespace.c:734 commands/tablespace.c:744 postmaster/postmaster.c:1564 storage/file/fd.c:2880 storage/file/reinit.c:126 utils/adt/misc.c:256 utils/misc/tzparser.c:338 #, c-format msgid "could not open directory \"%s\": %m" msgstr "ディレクトリ\"%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:383 postmaster/pgarch.c:746 postmaster/syslogger.c:1608 replication/logical/snapbuild.c:1810 replication/slot.c:723 replication/slot.c:1709 replication/slot.c:1851 storage/file/fd.c:792 utils/time/snapmgr.c:1284 +#: ../common/file_utils.c:379 access/transam/xlogarchive.c:383 postmaster/pgarch.c:746 postmaster/syslogger.c:1608 replication/logical/snapbuild.c:1810 replication/slot.c:723 replication/slot.c:1716 replication/slot.c:1858 storage/file/fd.c:792 utils/time/snapmgr.c:1284 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "ファイル\"%s\"の名前を\"%s\"に変更できませんでした: %m" @@ -323,7 +323,7 @@ msgstr "詳細: " msgid "hint: " msgstr "ヒント: " -#: ../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 +#: ../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 #, c-format msgid "invalid value for parameter \"%s\": \"%s\"" msgstr "パラメータ\"%s\"の値が不正です: \"%s\"" @@ -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:393 postmaster/postmaster.c:1143 postmaster/syslogger.c:1537 replication/logical/origin.c:591 replication/logical/reorderbuffer.c:4526 replication/logical/snapbuild.c:1691 replication/logical/snapbuild.c:2125 replication/slot.c:1902 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:393 postmaster/postmaster.c:1143 postmaster/syslogger.c:1537 replication/logical/origin.c:591 replication/logical/reorderbuffer.c:4526 replication/logical/snapbuild.c:1691 replication/logical/snapbuild.c:2125 replication/slot.c:1909 storage/file/fd.c:832 storage/file/fd.c:3325 storage/file/fd.c:3387 #: storage/file/reinit.c:262 storage/ipc/dsm.c:316 storage/smgr/md.c:383 storage/smgr/md.c:442 storage/sync/sync.c:248 utils/time/snapmgr.c:1608 #, c-format msgid "could not remove file \"%s\": %m" @@ -680,7 +680,7 @@ msgstr "%2$s型の属性\"%1$s\"が%3$s型の対応する属性と合致しま msgid "Attribute \"%s\" of type %s does not exist in type %s." msgstr "%2$s型の属性\"%1$s\"が%3$s型の中に存在しません。" -#: access/common/heaptuple.c:1036 access/common/heaptuple.c:1371 +#: access/common/heaptuple.c:1124 access/common/heaptuple.c:1459 #, c-format msgid "number of columns (%d) exceeds limit (%d)" msgstr "列数(%d)が上限(%d)を超えています" @@ -969,32 +969,32 @@ msgstr "アクセスメソッド\"%2$s\"の演算子族\"%1$s\"は演算子%3$s msgid "operator family \"%s\" of access method %s is missing cross-type operator(s)" msgstr "アクセスメソッド\"%2$s\"の演算子族\"%1$s\"は異なる型間に対応する演算子を含んでいません" -#: access/heap/heapam.c:2026 +#: access/heap/heapam.c:2027 #, c-format msgid "cannot insert tuples in a parallel worker" msgstr "並列ワーカーではタプルの挿入はできません" -#: access/heap/heapam.c:2545 +#: access/heap/heapam.c:2546 #, c-format msgid "cannot delete tuples during a parallel operation" msgstr "並列処理中はタプルの削除はできません" -#: access/heap/heapam.c:2592 +#: access/heap/heapam.c:2593 #, c-format msgid "attempted to delete invisible tuple" msgstr "不可視のタプルを削除しようとしました" -#: access/heap/heapam.c:3035 access/heap/heapam.c:5902 +#: access/heap/heapam.c:3036 access/heap/heapam.c:5903 #, c-format msgid "cannot update tuples during a parallel operation" msgstr "並列処理中はタプルの更新はできません" -#: access/heap/heapam.c:3163 +#: access/heap/heapam.c:3164 #, c-format msgid "attempted to update invisible tuple" msgstr "不可視のタプルを更新しようとしました" -#: 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:4551 access/heap/heapam.c:4589 access/heap/heapam.c:4854 access/heap/heapam_handler.c:467 #, c-format msgid "could not obtain lock on row in relation \"%s\"" msgstr "リレーション\"%s\"の行ロックを取得できませんでした" @@ -1004,7 +1004,7 @@ msgstr "リレーション\"%s\"の行ロックを取得できませんでした msgid "tuple to be locked was already moved to another partition due to concurrent update" msgstr "ロック対象のタプルは同時に行われた更新によってすでに他の子テーブルに移動されています" -#: 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 "行が大きすぎます: サイズは%zu、上限は%zu" @@ -1014,7 +1014,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:2971 access/transam/xlog.c:3162 access/transam/xlog.c:3938 access/transam/xlog.c:8744 access/transam/xlogfuncs.c:702 backup/basebackup_server.c:151 backup/basebackup_server.c:244 commands/dbcommands.c:518 postmaster/postmaster.c:4554 postmaster/postmaster.c:5557 replication/logical/origin.c:603 replication/slot.c:1770 +#: 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/xlogfuncs.c:702 backup/basebackup_server.c:151 backup/basebackup_server.c:244 commands/dbcommands.c:518 postmaster/postmaster.c:4557 postmaster/postmaster.c:5560 replication/logical/origin.c:603 replication/slot.c:1777 #: storage/file/copydir.c:157 storage/smgr/md.c:232 utils/time/snapmgr.c:1263 #, c-format msgid "could not create file \"%s\": %m" @@ -1025,7 +1025,7 @@ 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:3021 access/transam/xlog.c:3218 access/transam/xlog.c:3950 commands/dbcommands.c:530 postmaster/postmaster.c:4564 postmaster/postmaster.c:4574 replication/logical/origin.c:615 replication/logical/origin.c:657 replication/logical/origin.c:676 replication/logical/snapbuild.c:1767 replication/slot.c:1805 +#: 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: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 utils/time/snapmgr.c:1268 utils/time/snapmgr.c:1275 #, c-format msgid "could not write to file \"%s\": %m" @@ -3188,7 +3188,7 @@ msgstr "失敗したアーカイブコマンドは次のとおりです: %s" msgid "archive command was terminated by exception 0x%X" msgstr "アーカイブコマンドが例外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 "16進値の説明についてはC インクルードファイル\"ntstatus.h\"を参照してください。" @@ -3385,7 +3385,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:1697 storage/file/copydir.c:47 +#: 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 #, c-format msgid "could not create directory \"%s\": %m" msgstr "ディレクトリ\"%s\"を作成できませんでした: %m" @@ -3611,7 +3611,7 @@ 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: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:2876 +#: 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 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" @@ -4315,7 +4315,7 @@ msgstr "生成式は不変ではありません" msgid "column \"%s\" is of type %s but default expression is of type %s" msgstr "列\"%s\"の型は%sですが、デフォルト式の型は%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:1302 +#: 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 #, c-format msgid "You will need to rewrite or cast the expression." msgstr "式を書き換えるかキャストする必要があります。" @@ -4470,7 +4470,7 @@ msgstr "リレーション\"%s.%s\"は存在しません" msgid "relation \"%s\" does not exist" msgstr "リレーション\"%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 "作成先のスキーマが選択されていません" @@ -5277,12 +5277,12 @@ msgstr "変換\"%s\"はすでに存在します" msgid "default conversion for %s to %s already exists" msgstr "%sから%sへのデフォルトの変換はすでに存在します" -#: catalog/pg_depend.c:222 commands/extension.c:3341 +#: catalog/pg_depend.c:222 commands/extension.c:3368 #, c-format msgid "%s is already a member of extension \"%s\"" msgstr "%sはすでに機能拡張\"%s\"のメンバです" -#: catalog/pg_depend.c:229 catalog/pg_depend.c:280 commands/extension.c:3381 +#: 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 は機能拡張\"%s\"のメンバではありません" @@ -6195,7 +6195,7 @@ msgstr "OID %uの照合順序は存在しません" msgid "must be superuser to import system collations" msgstr "システム照合順序をインポートするにはスーパーユーザーである必要があります" -#: commands/collationcmds.c:831 commands/copyfrom.c:1653 commands/copyto.c:656 libpq/be-secure-common.c:59 +#: commands/collationcmds.c:831 commands/copyfrom.c:1654 commands/copyto.c:656 libpq/be-secure-common.c:59 #, c-format msgid "could not execute command \"%s\": %m" msgstr "コマンド\"%s\"を実行できませんでした: %m" @@ -6565,22 +6565,22 @@ msgstr "FORCE_NOT_NULL指定された列\"%s\"はCOPYで参照されません" msgid "FORCE_NULL column \"%s\" not referenced by COPY" msgstr "FORCE_NULL指定された列\"%s\"はCOPYで参照されません" -#: commands/copyfrom.c:1672 +#: commands/copyfrom.c:1673 #, c-format msgid "COPY FROM instructs the PostgreSQL server process to read a file. You may want a client-side facility such as psql's \\copy." msgstr "COPY FROMによってPostgreSQLサーバープロセスはファイルを読み込みます。psqlの \\copy のようなクライアント側の仕組みが必要かもしれません" -#: commands/copyfrom.c:1685 commands/copyto.c:708 +#: commands/copyfrom.c:1686 commands/copyto.c:708 #, c-format msgid "\"%s\" is a directory" msgstr "\"%s\"はディレクトリです" -#: commands/copyfrom.c:1753 commands/copyto.c:306 libpq/be-secure-common.c:83 +#: commands/copyfrom.c:1754 commands/copyto.c:306 libpq/be-secure-common.c:83 #, c-format msgid "could not close pipe to external command: %m" msgstr "外部コマンドに対するパイプをクローズできませんでした: %m" -#: commands/copyfrom.c:1768 commands/copyto.c:311 +#: commands/copyfrom.c:1769 commands/copyto.c:311 #, c-format msgid "program \"%s\" failed" msgstr "プログラム\"%s\"の実行に失敗しました" @@ -6650,7 +6650,7 @@ msgstr "ヘッダ行フィールド%dでカラム名の不一致: NULL値(\"%s\" msgid "column name mismatch in header line field %d: got \"%s\", expected \"%s\"" msgstr "ヘッダ行フィールド%dでカラム名の不一致: \"%s\"を検出, 予期していた値\"%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 "推定最終列の後に余計なデータがありました" @@ -6670,82 +6670,82 @@ msgstr "EOF マーカーの後ろでコピーデータを受信しました" msgid "row field count is %d, expected %d" msgstr "行のフィールド数は%d、その期待値は%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 "データの中に復帰記号そのものがありました" -#: 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 "データの中に引用符のない復帰記号がありました" -#: 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 "復帰記号は\"\\r\"と表現してください" -#: 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 "復帰記号を表現するにはCSVフィールドを引用符で括ってください" -#: commands/copyfromparse.c:1329 +#: commands/copyfromparse.c:1327 #, c-format msgid "literal newline found in data" msgstr "データの中に改行記号そのものがありました" -#: commands/copyfromparse.c:1330 +#: commands/copyfromparse.c:1328 #, c-format msgid "unquoted newline found in data" msgstr "データの中に引用符のない改行記号がありました" -#: commands/copyfromparse.c:1332 +#: commands/copyfromparse.c:1330 #, c-format msgid "Use \"\\n\" to represent newline." msgstr "改行記号は\"\\n\"と表現してください" -#: commands/copyfromparse.c:1333 +#: commands/copyfromparse.c:1331 #, c-format msgid "Use quoted CSV field to represent newline." msgstr "改行記号を表現するにはCSVフィールドを引用符で括ってください" -#: 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 "コピー終端記号がこれまでの改行方式と一致しません" -#: 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 "コピー終端記号が破損しています" -#: commands/copyfromparse.c:1706 commands/copyfromparse.c:1921 +#: commands/copyfromparse.c:1704 commands/copyfromparse.c:1919 #, c-format msgid "unexpected default marker in COPY data" msgstr "COPYデータの中に想定外のデフォルトマーカーがあります" -#: commands/copyfromparse.c:1707 commands/copyfromparse.c:1922 +#: commands/copyfromparse.c:1705 commands/copyfromparse.c:1920 #, c-format msgid "Column \"%s\" has no default value." msgstr "列\"%s\"はデフォルト値を持ちません。" -#: commands/copyfromparse.c:1854 +#: commands/copyfromparse.c:1852 #, c-format msgid "unterminated CSV quoted field" msgstr "CSV引用符が閉じていません" -#: 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 "COPYデータの中に想定外のEOFがあります" -#: commands/copyfromparse.c:1965 +#: commands/copyfromparse.c:1963 #, c-format msgid "invalid field size" msgstr "フィールドサイズが不正です" -#: commands/copyfromparse.c:1988 +#: commands/copyfromparse.c:1986 #, c-format msgid "incorrect binary data format" msgstr "バイナリデータ書式が不正です" @@ -7505,7 +7505,7 @@ msgstr "EXPLAINオプションのTIMINGにはANALYZE指定が必要です" msgid "EXPLAIN options ANALYZE and GENERIC_PLAN cannot be used together" msgstr "EXPLAINのオプションANALYZEとGENERIC_PLANは同時に使用できません" -#: commands/extension.c:177 commands/extension.c:3006 +#: commands/extension.c:177 commands/extension.c:3033 #, c-format msgid "extension \"%s\" does not exist" msgstr "機能拡張\"%s\"は存在しません" @@ -7645,127 +7645,137 @@ msgstr "この機能拡張を更新するには現在のデータベースのCRE msgid "Must be superuser to update this extension." msgstr "この機能拡張を更新するにはスーパーユーザーである必要があります。" -#: commands/extension.c:1265 +#: commands/extension.c:1046 +#, c-format +msgid "invalid character in extension owner: must not contain any of \"%s\"" +msgstr "機能拡張の所有者名に不正な文字: \"%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 "機能拡張\"%s\"のスキーマ名に不正な文字: \"%s\"のいずれの文字も含むことはできません" + +#: commands/extension.c:1292 #, c-format msgid "extension \"%s\" has no update path from version \"%s\" to version \"%s\"" msgstr "機能拡張\"%s\"について、バージョン\"%s\"からバージョン\"%s\"へのアップデートパスがありません" -#: commands/extension.c:1473 commands/extension.c:3064 +#: commands/extension.c:1500 commands/extension.c:3091 #, c-format msgid "version to install must be specified" msgstr "インストールするバージョンを指定してください" -#: commands/extension.c:1510 +#: commands/extension.c:1537 #, c-format msgid "extension \"%s\" has no installation script nor update path for version \"%s\"" msgstr "機能拡張\"%s\"にはバージョン\"%s\"のインストールスクリプトもアップデートパスもありません" -#: commands/extension.c:1544 +#: commands/extension.c:1571 #, c-format msgid "extension \"%s\" must be installed in schema \"%s\"" msgstr "機能拡張\"%s\"はスキーマ\"%s\"内にインストールされていなければなりません" -#: commands/extension.c:1704 +#: commands/extension.c:1731 #, c-format msgid "cyclic dependency detected between extensions \"%s\" and \"%s\"" msgstr "機能拡張\"%s\"と\"%s\"の間に循環依存関係が検出されました" -#: commands/extension.c:1709 +#: commands/extension.c:1736 #, c-format msgid "installing required extension \"%s\"" msgstr "必要な機能拡張をインストールします:\"%s\"" -#: commands/extension.c:1732 +#: commands/extension.c:1759 #, c-format msgid "required extension \"%s\" is not installed" msgstr "要求された機能拡張\"%s\"はインストールされていません" -#: commands/extension.c:1735 +#: commands/extension.c:1762 #, c-format msgid "Use CREATE EXTENSION ... CASCADE to install required extensions too." msgstr "必要な機能拡張を一緒にインストールするには CREATE EXTENSION ... CASCADE を使ってください。" -#: commands/extension.c:1770 +#: commands/extension.c:1797 #, c-format msgid "extension \"%s\" already exists, skipping" msgstr "機能拡張\"%s\"はすでに存在します、スキップします" -#: commands/extension.c:1777 +#: commands/extension.c:1804 #, c-format msgid "extension \"%s\" already exists" msgstr "機能拡張\"%s\"はすでに存在します" -#: commands/extension.c:1788 +#: commands/extension.c:1815 #, c-format msgid "nested CREATE EXTENSION is not supported" msgstr "入れ子の CREATE EXTENSION はサポートされません" -#: commands/extension.c:1952 +#: commands/extension.c:1979 #, c-format msgid "cannot drop extension \"%s\" because it is being modified" msgstr "変更されているため拡張\"%s\"を削除できません" -#: 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 はCREATE EXTENSIONにより実行されるSQLスクリプトからのみ呼び出すことができます" -#: commands/extension.c:2439 +#: commands/extension.c:2466 #, c-format msgid "OID %u does not refer to a table" msgstr "OID %u がテーブルを参照していません" -#: commands/extension.c:2444 +#: commands/extension.c:2471 #, c-format msgid "table \"%s\" is not a member of the extension being created" msgstr "テーブル\"%s\"は生成されようとしている機能拡張のメンバではありません" -#: 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 "機能拡張がそのスキーマを含んでいるため、機能拡張\"%s\"をスキーマ\"%s\"に移動できません" -#: commands/extension.c:2831 commands/extension.c:2925 +#: commands/extension.c:2858 commands/extension.c:2952 #, c-format msgid "extension \"%s\" does not support SET SCHEMA" msgstr "機能拡張\"%s\"は SET SCHEMA をサポートしていません" -#: commands/extension.c:2888 +#: commands/extension.c:2915 #, c-format msgid "cannot SET SCHEMA of extension \"%s\" because other extensions prevent it" msgstr "他の機能拡張によって禁止されているため、機能拡張\"%s\"の SET SCHEMAが実行できません" -#: commands/extension.c:2890 +#: commands/extension.c:2917 #, c-format msgid "Extension \"%s\" requests no relocation of extension \"%s\"." msgstr "機能拡張\"%s\"は機能拡張\"%s\"の再配置禁止を要求しています。" -#: commands/extension.c:2927 +#: commands/extension.c:2954 #, c-format msgid "%s is not in the extension's schema \"%s\"" msgstr "機能拡張のスキーマ\"%2$s\"に%1$sが見つかりません" -#: commands/extension.c:2986 +#: commands/extension.c:3013 #, c-format msgid "nested ALTER EXTENSION is not supported" msgstr "入れ子になった ALTER EXTENSION はサポートされていません" -#: commands/extension.c:3075 +#: commands/extension.c:3102 #, c-format msgid "version \"%s\" of extension \"%s\" is already installed" msgstr "機能拡張 \"%2$s\"のバージョン\"%1$s\"はすでにインストールされています" -#: commands/extension.c:3287 +#: commands/extension.c:3314 #, c-format msgid "cannot add an object of this type to an extension" msgstr "この型のオブジェクトは機能拡張に追加できません" -#: commands/extension.c:3353 +#: commands/extension.c:3380 #, c-format msgid "cannot add schema \"%s\" to extension \"%s\" because the schema contains the extension" msgstr "スキーマ\"%s\"を拡張\"%s\"に追加できません。そのスキーマにその拡張が含まれているためです" -#: commands/extension.c:3447 +#: commands/extension.c:3474 #, c-format msgid "file \"%s\" is too large" msgstr "ファイル\"%s\"は大きすぎます" @@ -8931,7 +8941,7 @@ msgstr "準備された文\"%s\"は存在しません" msgid "must be superuser to create custom procedural language" msgstr "手続き言語を生成するためにはスーパーユーザーである必要があります" -#: commands/publicationcmds.c:131 postmaster/postmaster.c:1205 postmaster/postmaster.c:1303 storage/file/fd.c:3911 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:1815 #, c-format msgid "invalid list syntax in parameter \"%s\"" msgstr "パラメータ\"%s\"のリスト構文が不正です" @@ -9414,7 +9424,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:1309 replication/logical/worker.c:4602 +#: commands/subscriptioncmds.c:745 commands/subscriptioncmds.c:878 replication/logical/tablesync.c:1309 replication/logical/worker.c:4616 #, c-format msgid "could not connect to the publisher: %s" msgstr "発行サーバーへの接続ができませんでした: %s" @@ -9533,9 +9543,9 @@ msgstr "サブスクリプション\"%s\"がcopy_dataをorigin = NONEで要求 #: commands/subscriptioncmds.c:2026 #, c-format -msgid "Subscribed publication %s is subscribing to other publications." -msgid_plural "Subscribed publications %s are subscribing to other publications." -msgstr[0] "購読しているパブリケーション%sは他のパブリケーションを購読しています。" +msgid "The subscription being created subscribes to a publication (%s) that contains tables that are written to by other subscriptions." +msgid_plural "The subscription being created subscribes to publications (%s) that contain tables that are written to by other subscriptions." +msgstr[0] "作成中のサブスクリプションは他のサブスクリプションによって書き込まれるテーブルを含むパブリケーション(%s)を購読します" #: commands/subscriptioncmds.c:2029 #, c-format @@ -11365,7 +11375,7 @@ msgstr "トリガ\"%s\"の実行前には、この行はパーティション\"% msgid "tuple to be updated was already modified by an operation triggered by the current command" msgstr "更新対象のタプルはすでに現在のコマンドによって発行された操作によって変更されています" -#: 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:3330 executor/nodeModifyTable.c:1531 executor/nodeModifyTable.c:1605 executor/nodeModifyTable.c:2364 executor/nodeModifyTable.c:2447 executor/nodeModifyTable.c:3078 #, c-format msgid "Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows." msgstr "他の行への変更を伝搬させるためにBEFOREトリガではなくAFTERトリガの使用を検討してください" @@ -11375,7 +11385,7 @@ msgstr "他の行への変更を伝搬させるためにBEFOREトリガではな msgid "could not serialize access due to concurrent update" msgstr "更新が同時に行われたためアクセスの直列化ができませんでした" -#: commands/trigger.c:3379 executor/nodeModifyTable.c:1637 executor/nodeModifyTable.c:2464 executor/nodeModifyTable.c:2613 executor/nodeModifyTable.c:2965 +#: commands/trigger.c:3379 executor/nodeModifyTable.c:1637 executor/nodeModifyTable.c:2464 executor/nodeModifyTable.c:2613 executor/nodeModifyTable.c:2966 #, c-format msgid "could not serialize access due to concurrent delete" msgstr "削除が同時に行われたためアクセスの直列化ができませんでした" @@ -12863,67 +12873,67 @@ msgstr "行に対応するパーティションがリレーション\"%s\"に見 msgid "Partition key of the failing row contains %s." msgstr "失敗した行のパーティションキーは%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 "ロック対象のタプルは同時に行われた更新によって他の子テーブルに移動されています、再試行しています" -#: executor/execReplication.c:244 executor/execReplication.c:428 +#: executor/execReplication.c:235 executor/execReplication.c:419 #, c-format msgid "concurrent update, retrying" msgstr "同時更新がありました、リトライします" -#: executor/execReplication.c:250 executor/execReplication.c:434 +#: executor/execReplication.c:241 executor/execReplication.c:425 #, c-format msgid "concurrent delete, retrying" msgstr "並行する削除がありました、リトライします" -#: executor/execReplication.c:320 parser/parse_cte.c:308 parser/parse_oper.c:233 utils/adt/array_userfuncs.c:1348 utils/adt/array_userfuncs.c:1491 utils/adt/arrayfuncs.c:3832 utils/adt/arrayfuncs.c:4387 utils/adt/arrayfuncs.c:6397 utils/adt/rowtypes.c:1230 +#: executor/execReplication.c: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/rowtypes.c:1230 #, c-format msgid "could not identify an equality operator for type %s" msgstr "型%sの等価演算子を識別できませんでした" -#: executor/execReplication.c:651 executor/execReplication.c:657 +#: executor/execReplication.c:642 executor/execReplication.c:648 #, c-format msgid "cannot update table \"%s\"" msgstr "テーブル\"%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 "このパブリケーションのWHERE式で使用されている列は識別列の一部ではありません。" -#: 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 "このパブリケーションで使用されてる列リストは識別列を包含していません。" -#: executor/execReplication.c:663 executor/execReplication.c:669 +#: executor/execReplication.c:654 executor/execReplication.c:660 #, c-format msgid "cannot delete from table \"%s\"" msgstr "テーブル\"%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 "テーブル\"%s\"は複製識別を持たずかつ更新を発行しているため、更新できません" -#: executor/execReplication.c:691 +#: executor/execReplication.c:682 #, c-format msgid "To enable updating the table, set REPLICA IDENTITY using ALTER TABLE." msgstr "テーブルの更新を可能にするには ALTER TABLE で REPLICA IDENTITY を設定してください。" -#: 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 "テーブル\"%s\"は複製識別がなくかつ削除を発行しているため、このテーブルでは行の削除ができません" -#: executor/execReplication.c:697 +#: executor/execReplication.c:688 #, c-format msgid "To enable deleting from the table, set REPLICA IDENTITY using ALTER TABLE." msgstr "このテーブルでの行削除を可能にするには ALTER TABLE で REPLICA IDENTITY を設定してください。" -#: executor/execReplication.c:713 +#: executor/execReplication.c:704 #, c-format msgid "cannot use relation \"%s.%s\" as logical replication target" msgstr "リレーション\"%s.%s\"は論理レプリケーション先としては使用できません" @@ -13142,7 +13152,7 @@ msgid "Consider defining the foreign key on table \"%s\"." msgstr "テーブル\"%s\"上に外部キー制約を定義することを検討してください。" #. translator: %s is a SQL command name -#: executor/nodeModifyTable.c:2567 executor/nodeModifyTable.c:2954 +#: executor/nodeModifyTable.c:2567 executor/nodeModifyTable.c:2955 #, c-format msgid "%s command cannot affect row a second time" msgstr "%sコマンドは単一の行に2度は適用できません" @@ -13152,17 +13162,17 @@ msgstr "%sコマンドは単一の行に2度は適用できません" msgid "Ensure that no rows proposed for insertion within the same command have duplicate constrained values." msgstr "同じコマンドでの挿入候補の行が同じ制約値を持つことがないようにしてください" -#: executor/nodeModifyTable.c:2956 +#: executor/nodeModifyTable.c:2957 #, c-format msgid "Ensure that not more than one source row matches any one target row." msgstr "ソース行が2行以上ターゲット行に合致しないようにしてください。" -#: executor/nodeModifyTable.c:3037 +#: executor/nodeModifyTable.c:3038 #, c-format msgid "tuple to be deleted was already moved to another partition due to concurrent update" msgstr "削除対象のタプルは同時に行われた更新によってすでに他の子テーブルに移動されています" -#: executor/nodeModifyTable.c:3076 +#: 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 "更新または削除対象のタプルは、現在のコマンドによって発火した操作トリガーによってすでに更新されています" @@ -13283,7 +13293,7 @@ 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:2874 +#: executor/spi.c:1717 parser/analyze.c:2912 #, c-format msgid "Scrollable cursors must be READ ONLY." msgstr "スクロール可能カーソルは読み取り専用である必要があります。" @@ -14164,7 +14174,7 @@ msgstr "パスワードパケットのサイズが不正です" msgid "empty password returned by client" msgstr "クライアントから空のパスワードが返されました" -#: libpq/auth.c:879 libpq/hba.c:1749 +#: libpq/auth.c:879 libpq/hba.c:1727 #, c-format msgid "MD5 authentication is not supported when \"db_user_namespace\" is enabled" msgstr "\"db_user_namespace\"が有効の場合、MD5 認証はサポートされません" @@ -14460,7 +14470,7 @@ msgstr "RADIUS secret が指定されていません" msgid "RADIUS authentication does not support passwords longer than %d characters" msgstr "RADIUS認証では%d文字より長いパスワードはサポートしていません" -#: libpq/auth.c:2995 libpq/hba.c:2391 +#: libpq/auth.c:2995 libpq/hba.c:2369 #, c-format msgid "could not translate RADIUS server name \"%s\" to address: %s" msgstr "RADIUS サーバー名\"%s\"をアドレスに変換できませんでした: %s" @@ -14925,359 +14935,354 @@ msgstr "ユーザー\"%s\"のパスワードが合致しません。" msgid "Password of user \"%s\" is in unrecognized format." msgstr "ユーザー\"%s\"のパスワードは識別不能な形式です。" -#: libpq/hba.c:234 -#, c-format -msgid "authentication file token too long, skipping: \"%s\"" -msgstr "認証ファイルのトークンが長すぎますので、飛ばします: \"%s\"" - -#: libpq/hba.c:357 +#: libpq/hba.c:332 #, c-format msgid "invalid regular expression \"%s\": %s" msgstr "不正な正規表現\"%s\": %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 +#: 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 "設定ファイル \"%2$s\" の %1$d 行目" -#: libpq/hba.c:484 +#: libpq/hba.c:462 #, c-format msgid "skipping missing authentication file \"%s\"" msgstr "存在しない認証設定ファイル\"%s\"をスキップします" -#: libpq/hba.c:636 +#: libpq/hba.c:614 #, c-format msgid "could not open file \"%s\": maximum nesting depth exceeded" msgstr "ファイル\"%s\"をオープンできませんでした: 入れ子の深さが上限を超えています" -#: libpq/hba.c:1243 +#: libpq/hba.c:1221 #, c-format msgid "error enumerating network interfaces: %m" msgstr "ネットワークインターフェース列挙中のエラー: %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 "認証オプション\"%s\"は認証方式%sでのみ有効です" -#: libpq/hba.c:1290 +#: libpq/hba.c:1268 #, c-format msgid "authentication method \"%s\" requires argument \"%s\" to be set" msgstr "認証方式\"%s\"の場合は引数\"%s\"がセットされなければなりません" -#: libpq/hba.c:1314 +#: libpq/hba.c:1292 #, c-format msgid "missing entry at end of line" msgstr "行末の要素が足りません" -#: libpq/hba.c:1327 +#: libpq/hba.c:1305 #, c-format msgid "multiple values in ident field" msgstr "identヂールド内の複数の値" -#: libpq/hba.c:1379 +#: libpq/hba.c:1357 #, c-format msgid "multiple values specified for connection type" msgstr "接続タイプで複数の値が指定されました" -#: libpq/hba.c:1380 +#: libpq/hba.c:1358 #, c-format msgid "Specify exactly one connection type per line." msgstr "1行に1つの接続タイプだけを指定してください" -#: libpq/hba.c:1407 +#: libpq/hba.c:1385 #, c-format msgid "hostssl record cannot match because SSL is disabled" msgstr "SSLが無効なため、hostssl行は照合できません" -#: libpq/hba.c:1408 +#: libpq/hba.c:1386 #, c-format msgid "Set ssl = on in postgresql.conf." msgstr "postgresql.confで ssl = on に設定してください。" -#: libpq/hba.c:1416 +#: libpq/hba.c:1394 #, c-format msgid "hostssl record cannot match because SSL is not supported by this build" msgstr "このビルドではhostsslはサポートされていないため、hostssl行は照合できません" -#: libpq/hba.c:1428 +#: libpq/hba.c:1406 #, c-format msgid "hostgssenc record cannot match because GSSAPI is not supported by this build" msgstr "このビルドでは GSSAPI をサポートしていないため hostgssenc レコードは照合できません" -#: libpq/hba.c:1448 +#: libpq/hba.c:1426 #, c-format msgid "invalid connection type \"%s\"" msgstr "接続オプションタイプ \"%s\" は不正です" -#: libpq/hba.c:1462 +#: libpq/hba.c:1440 #, c-format msgid "end-of-line before database specification" msgstr "データベース指定の前に行末を検出しました" -#: libpq/hba.c:1487 +#: libpq/hba.c:1465 #, c-format msgid "end-of-line before role specification" msgstr "ロール指定の前に行末を検出しました" -#: libpq/hba.c:1514 +#: libpq/hba.c:1492 #, c-format msgid "end-of-line before IP address specification" msgstr "IP アドレス指定の前に行末を検出しました" -#: libpq/hba.c:1525 +#: libpq/hba.c:1503 #, c-format msgid "multiple values specified for host address" msgstr "ホストアドレスで複数の値が指定されました" -#: libpq/hba.c:1526 +#: libpq/hba.c:1504 #, c-format msgid "Specify one address range per line." msgstr "1行に1つのアドレス範囲を指定してください" -#: libpq/hba.c:1584 +#: libpq/hba.c:1562 #, c-format msgid "invalid IP address \"%s\": %s" msgstr "不正なIPアドレス\"%s\": %s" -#: libpq/hba.c:1604 +#: libpq/hba.c:1582 #, c-format msgid "specifying both host name and CIDR mask is invalid: \"%s\"" msgstr "ホスト名とCIDRマスクを両方指定するのは不正です: \"%s\"" -#: libpq/hba.c:1618 +#: libpq/hba.c:1596 #, c-format msgid "invalid CIDR mask in address \"%s\"" msgstr "IPアドレス\"%s\"内の CIDR マスクが不正です" -#: libpq/hba.c:1638 +#: libpq/hba.c:1616 #, c-format msgid "end-of-line before netmask specification" msgstr "ネットマスク指定の前に行末を検出しました" -#: libpq/hba.c:1639 +#: libpq/hba.c:1617 #, c-format msgid "Specify an address range in CIDR notation, or provide a separate netmask." msgstr "CIDR記法でアドレス範囲を指定してするか、ネットマスクを分けて指定してください。" -#: libpq/hba.c:1650 +#: libpq/hba.c:1628 #, c-format msgid "multiple values specified for netmask" msgstr "ネットマスクで複数の値が指定されました" -#: libpq/hba.c:1664 +#: libpq/hba.c:1642 #, c-format msgid "invalid IP mask \"%s\": %s" msgstr "不正なIPマスク\"%s\": %s" -#: libpq/hba.c:1684 +#: libpq/hba.c:1662 #, c-format msgid "IP address and mask do not match" msgstr "IPアドレスとマスクが一致しません" -#: libpq/hba.c:1700 +#: libpq/hba.c:1678 #, c-format msgid "end-of-line before authentication method" msgstr "認証方式指定の前に行末を検出しました" -#: libpq/hba.c:1711 +#: libpq/hba.c:1689 #, c-format msgid "multiple values specified for authentication type" msgstr "認証タイプで複数の値が指定されました" -#: libpq/hba.c:1712 +#: libpq/hba.c:1690 #, c-format msgid "Specify exactly one authentication type per line." msgstr "認証タイプは1行に1つだけ指定してください。" -#: libpq/hba.c:1789 +#: libpq/hba.c:1767 #, c-format msgid "invalid authentication method \"%s\"" msgstr "不正な認証方式\"%s\"" -#: libpq/hba.c:1802 +#: libpq/hba.c:1780 #, c-format msgid "invalid authentication method \"%s\": not supported by this build" msgstr "不正な認証方式\"%s\": このビルドではサポートされていません" -#: libpq/hba.c:1825 +#: libpq/hba.c:1803 #, c-format msgid "gssapi authentication is not supported on local sockets" msgstr "ローカルソケットではgssapi認証はサポートしていません" -#: libpq/hba.c:1837 +#: libpq/hba.c:1815 #, c-format msgid "peer authentication is only supported on local sockets" msgstr "peer認証はローカルソケットでのみサポートしています" -#: libpq/hba.c:1855 +#: libpq/hba.c:1833 #, c-format msgid "cert authentication is only supported on hostssl connections" msgstr "hostssl接続では証明書認証のみをサポートしています" -#: libpq/hba.c:1905 +#: libpq/hba.c:1883 #, c-format msgid "authentication option not in name=value format: %s" msgstr "認証オプションが 名前=値 形式になっていません: %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 "ldapbasedn、 ldapbinddn、ldapbindpasswd、ldapsearchattribute、, ldapsearchfilter またはldapurlは、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 "\"ldap\"認証方式の場合は引数 \"ldapbasedn\"、\"ldapprefix\"、\"ldapsuffix\"のいずれかを指定してください" -#: libpq/hba.c:1976 +#: libpq/hba.c:1954 #, c-format msgid "cannot use ldapsearchattribute together with ldapsearchfilter" msgstr "ldapsearchattribute、ldapsearchfilter と同時には指定できません" -#: libpq/hba.c:1993 +#: libpq/hba.c:1971 #, c-format msgid "list of RADIUS servers cannot be empty" msgstr "RADIUSサーバーのリストは空にはできません" -#: libpq/hba.c:2004 +#: libpq/hba.c:1982 #, c-format msgid "list of RADIUS secrets cannot be empty" msgstr "RADIUSシークレットのリストは空にはできません" -#: 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 "RADIUSシークレットの数(%d)は1または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 "RADIUSポートの数(%d)は1または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 "RADIUS識別子の数(%d)は1またはRADIUSサーバーの数(%d)と同じである必要があります" # -#: libpq/hba.c:2105 +#: libpq/hba.c:2083 msgid "ident, peer, gssapi, sspi, and cert" msgstr "ident、peer、gssapi、sspiおよびcert" -#: libpq/hba.c:2114 +#: libpq/hba.c:2092 #, c-format msgid "clientcert can only be configured for \"hostssl\" rows" msgstr "クライアント証明書は\"hostssl\"の行でのみ設定できます" -#: libpq/hba.c:2131 +#: libpq/hba.c:2109 #, c-format msgid "clientcert only accepts \"verify-full\" when using \"cert\" authentication" msgstr "\"cert\"認証使用時はclientcertは\"verify-full\"にしか設定できません" -#: libpq/hba.c:2144 +#: libpq/hba.c:2122 #, c-format msgid "invalid value for clientcert: \"%s\"" msgstr "clientcertの値が不正です: \"%s\"" -#: libpq/hba.c:2156 +#: libpq/hba.c:2134 #, c-format msgid "clientname can only be configured for \"hostssl\" rows" msgstr "クライアント名は\"hostssl\"の行でのみ設定できます" -#: libpq/hba.c:2175 +#: libpq/hba.c:2153 #, c-format msgid "invalid value for clientname: \"%s\"" msgstr "clientnameの値が不正です: \"%s\"" -#: libpq/hba.c:2208 +#: libpq/hba.c:2186 #, c-format msgid "could not parse LDAP URL \"%s\": %s" msgstr "LDAP URL\"%s\"をパースできませんでした: %s" -#: libpq/hba.c:2219 +#: libpq/hba.c:2197 #, c-format msgid "unsupported LDAP URL scheme: %s" msgstr "非サポートのLDAP URLコード: %s" -#: libpq/hba.c:2243 +#: libpq/hba.c:2221 #, c-format msgid "LDAP URLs not supported on this platform" msgstr "このプラットフォームではLDAP URLをサポートしていません。" -#: libpq/hba.c:2261 +#: libpq/hba.c:2239 #, c-format msgid "invalid ldapscheme value: \"%s\"" msgstr "不正な ldapscheme の値: \"%s\"" -#: libpq/hba.c:2279 +#: libpq/hba.c:2257 #, c-format msgid "invalid LDAP port number: \"%s\"" msgstr "不正なLDAPポート番号です: \"%s\"" # -#: libpq/hba.c:2325 libpq/hba.c:2332 +#: libpq/hba.c:2303 libpq/hba.c:2310 msgid "gssapi and sspi" msgstr "gssapiおよび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 "RADIUSサーバーのリスト\"%s\"のパースに失敗しました" -#: libpq/hba.c:2420 +#: libpq/hba.c:2398 #, c-format msgid "could not parse RADIUS port list \"%s\"" msgstr "RADIUSポートのリスト\"%s\"のパースに失敗しました" -#: libpq/hba.c:2434 +#: libpq/hba.c:2412 #, c-format msgid "invalid RADIUS port number: \"%s\"" msgstr "不正なRADIUSポート番号: \"%s\"" -#: libpq/hba.c:2456 +#: libpq/hba.c:2434 #, c-format msgid "could not parse RADIUS secret list \"%s\"" msgstr "RADIUSシークレットのリスト\"%s\"のパースに失敗しました" -#: libpq/hba.c:2478 +#: libpq/hba.c:2456 #, c-format msgid "could not parse RADIUS identifiers list \"%s\"" msgstr "RADIUS識別子のリスト\"%s\"のパースに失敗しました" -#: libpq/hba.c:2492 +#: libpq/hba.c:2470 #, c-format msgid "unrecognized authentication option name: \"%s\"" msgstr "認証オプション名を認識できません: \"%s\"" -#: libpq/hba.c:2684 +#: libpq/hba.c:2662 #, c-format msgid "configuration file \"%s\" contains no entries" msgstr "設定ファイル\"%s\"には何も含まれていません" -#: libpq/hba.c:2837 +#: libpq/hba.c:2815 #, c-format msgid "regular expression match for \"%s\" failed: %s" msgstr "正規表現\"%s\"で照合に失敗しました: %s" -#: libpq/hba.c:2861 +#: libpq/hba.c:2839 #, c-format msgid "regular expression \"%s\" has no subexpressions as requested by backreference in \"%s\"" msgstr "正規表現\"%s\"には\"%s\"における後方参照が要求する副表現が含まれていません" -#: libpq/hba.c:2964 +#: libpq/hba.c:2942 #, c-format msgid "provided user name (%s) and authenticated user name (%s) do not match" msgstr "与えられたユーザー名 (%s) と認証されたユーザー名 (%s) が一致しません" -#: libpq/hba.c:2984 +#: libpq/hba.c:2962 #, c-format msgid "no match in usermap \"%s\" for user \"%s\" authenticated as \"%s\"" msgstr "\"%3$s\"として認証されたユーザー\"%2$s\"はユーザーマップ\"%1$s\"に一致しません" @@ -15800,7 +15805,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:1723 parser/analyze.c:1980 parser/analyze.c:3193 +#: optimizer/plan/planner.c:1361 parser/analyze.c:1761 parser/analyze.c:2018 parser/analyze.c:3231 #, c-format msgid "%s is not allowed with UNION/INTERSECT/EXCEPT" msgstr "UNION/INTERSECT/EXCEPTでは%sを使用できません" @@ -15886,216 +15891,216 @@ msgstr "ON CONFLICT DO UPDATEでの排除制約の使用はサポートされて msgid "there is no unique or exclusion constraint matching the ON CONFLICT specification" msgstr "ON CONFLICT 指定に合致するユニーク制約または排除制約がありません" -#: parser/analyze.c:788 parser/analyze.c:1502 +#: parser/analyze.c:826 parser/analyze.c:1540 #, c-format msgid "VALUES lists must all be the same length" msgstr "VALUESリストはすべて同じ長さでなければなりません" -#: parser/analyze.c:990 +#: parser/analyze.c:1028 #, c-format msgid "INSERT has more expressions than target columns" msgstr "INSERTに対象列よりも多くの式があります" -#: parser/analyze.c:1008 +#: parser/analyze.c:1046 #, c-format msgid "INSERT has more target columns than expressions" msgstr "INSERTに式よりも多くの対象列があります" -#: 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 "挿入ソースがINSERTが期待するのと同じ列数を含む行表現になっています。うっかり余計なカッコをつけたりしませんでしたか?" -#: parser/analyze.c:1309 parser/analyze.c:1696 +#: parser/analyze.c:1347 parser/analyze.c:1734 #, 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:1625 parser/analyze.c:3425 +#: parser/analyze.c:1663 parser/analyze.c:3463 #, c-format msgid "%s cannot be applied to VALUES" msgstr "%sをVALUESに使用できません" -#: parser/analyze.c:1862 +#: parser/analyze.c:1900 #, c-format msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause" msgstr "不正なUNION/INTERSECT/EXCEPT ORDER BY句です" -#: parser/analyze.c:1863 +#: parser/analyze.c:1901 #, c-format msgid "Only result column names can be used, not expressions or functions." msgstr "式や関数ではなく、結果列の名前のみが使用できます。" -#: parser/analyze.c:1864 +#: parser/analyze.c:1902 #, 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:1970 +#: parser/analyze.c:2008 #, c-format msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT" msgstr "INTOはUNION/INTERSECT/EXCEPTの最初のSELECTでのみ使用できます" -#: parser/analyze.c:2042 +#: parser/analyze.c:2080 #, c-format msgid "UNION/INTERSECT/EXCEPT member statement cannot refer to other relations of same query level" msgstr "UNION/INTERSECT/EXCEPTの要素となる文では同一問い合わせレベルの他のリレーションを参照できません" -#: parser/analyze.c:2129 +#: parser/analyze.c:2167 #, c-format msgid "each %s query must have the same number of columns" msgstr "すべての%s問い合わせは同じ列数を返す必要があります" -#: parser/analyze.c:2535 +#: parser/analyze.c:2573 #, c-format msgid "RETURNING must have at least one column" msgstr "RETURNINGには少なくとも1つの列が必要です" -#: parser/analyze.c:2638 +#: parser/analyze.c:2676 #, c-format msgid "assignment source returned %d column" msgid_plural "assignment source returned %d columns" msgstr[0] "代入元が%d個の列を返しました" -#: parser/analyze.c:2699 +#: parser/analyze.c:2737 #, 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:2824 parser/analyze.c:2832 +#: parser/analyze.c:2862 parser/analyze.c:2870 #, c-format msgid "cannot specify both %s and %s" msgstr "%sと%sの両方を同時には指定できません" -#: parser/analyze.c:2852 +#: parser/analyze.c:2890 #, 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:2860 +#: parser/analyze.c:2898 #, c-format msgid "DECLARE CURSOR WITH HOLD ... %s is not supported" msgstr "DECLARE CURSOR WITH HOLD ... %sはサポートされていません" -#: parser/analyze.c:2863 +#: parser/analyze.c:2901 #, 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:2871 +#: parser/analyze.c:2909 #, 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:2882 +#: parser/analyze.c:2920 #, c-format msgid "DECLARE INSENSITIVE CURSOR ... %s is not valid" msgstr "DECLARE INSENSITIVE CURSOR ... %sはが不正です" -#: parser/analyze.c:2885 +#: parser/analyze.c:2923 #, c-format msgid "Insensitive cursors must be READ ONLY." msgstr "INSENSITIVEカーソルは読み取り専用である必要があります。" -#: parser/analyze.c:2979 +#: parser/analyze.c:3017 #, c-format msgid "materialized views must not use data-modifying statements in WITH" msgstr "実体化ビューではWITH句にデータを変更する文を含んではなりません" -#: parser/analyze.c:2989 +#: parser/analyze.c:3027 #, c-format msgid "materialized views must not use temporary tables or views" msgstr "実体化ビューでは一時テーブルやビューを使用してはいけません" -#: parser/analyze.c:2999 +#: parser/analyze.c:3037 #, c-format msgid "materialized views may not be defined using bound parameters" msgstr "実体化ビューは境界パラメータを用いて定義してはなりません" -#: parser/analyze.c:3011 +#: parser/analyze.c:3049 #, c-format msgid "materialized views cannot be unlogged" msgstr "実体化ビューをログ非取得にはできません" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3200 +#: parser/analyze.c:3238 #, 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:3207 +#: parser/analyze.c:3245 #, 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:3214 +#: parser/analyze.c:3252 #, 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:3221 +#: parser/analyze.c:3259 #, 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:3228 +#: parser/analyze.c:3266 #, 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:3235 +#: parser/analyze.c:3273 #, 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:3334 +#: parser/analyze.c:3372 #, 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:3398 +#: parser/analyze.c:3436 #, 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:3407 +#: parser/analyze.c:3445 #, 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:3416 +#: parser/analyze.c:3454 #, 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:3434 +#: parser/analyze.c:3472 #, 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:3443 +#: parser/analyze.c:3481 #, 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:3463 +#: parser/analyze.c:3501 #, c-format msgid "relation \"%s\" in %s clause not found in FROM clause" msgstr "%2$s句のリレーション\"%1$s\"はFROM句にありません" @@ -16698,7 +16703,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:3502 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:985 #, c-format msgid "cannot cast type %s to %s" msgstr "型%sから%sへの型変換ができません" @@ -17160,7 +17165,7 @@ msgstr "副問い合わせは COPY FROM の WHERE 条件では使用できませ msgid "cannot use subquery in column generation expression" msgstr "副問い合わせはカラム生成式では使用できません" -#: parser/parse_expr.c:1851 parser/parse_expr.c:3633 +#: parser/parse_expr.c:1851 parser/parse_expr.c:3628 #, c-format msgid "subquery must return only one column" msgstr "副問い合わせは1列のみを返さなければなりません" @@ -17260,52 +17265,52 @@ msgstr "IS DISTINCT FROMでは=演算子はbooleanを返さなければなりま msgid "JSON ENCODING clause is only allowed for bytea input type" msgstr "JSON ENCODING句は入力型がbyteaの場合にのみ使用可能です" -#: parser/parse_expr.c:3246 -#, c-format -msgid "FORMAT JSON has no effect for json and jsonb types" -msgstr "FORMAT JSONはjsonおよびjsonb型に対しては効果がありません" - -#: parser/parse_expr.c:3266 +#: parser/parse_expr.c:3261 #, c-format msgid "cannot use non-string types with implicit FORMAT JSON clause" msgstr "非文字列型は暗黙のFORMAT JSON句とともには使用できません" -#: parser/parse_expr.c:3340 +#: parser/parse_expr.c:3262 +#, c-format +msgid "cannot use non-string types with explicit FORMAT JSON clause" +msgstr "非文字列型は明示的なFORMAT JSON句とともには使用できません" + +#: parser/parse_expr.c:3335 #, c-format msgid "cannot use JSON format with non-string output types" msgstr "JSONフォーマットは非文字列出力型とともには使用できません" -#: parser/parse_expr.c:3353 +#: parser/parse_expr.c:3348 #, c-format msgid "cannot set JSON encoding for non-bytea output types" msgstr "bytrea以外の出力型に対してはJSON符号化方式は設定できません" -#: parser/parse_expr.c:3358 +#: parser/parse_expr.c:3353 #, c-format msgid "unsupported JSON encoding" msgstr "サポートされてないJSON符号化方式" -#: parser/parse_expr.c:3359 +#: parser/parse_expr.c:3354 #, c-format msgid "Only UTF8 JSON encoding is supported." msgstr "JSON符号化方式ではUTF8のみがサポートされています。" -#: parser/parse_expr.c:3396 +#: parser/parse_expr.c:3391 #, c-format msgid "returning SETOF types is not supported in SQL/JSON functions" msgstr "SQL/JSON関数ではSETOF型の返却はサポートされていません" -#: parser/parse_expr.c:3717 parser/parse_func.c:865 +#: parser/parse_expr.c:3712 parser/parse_func.c:865 #, c-format msgid "aggregate ORDER BY is not implemented for window functions" msgstr "ウィンドウ関数に対する集約の ORDER BY は実装されていません" -#: parser/parse_expr.c:3939 +#: parser/parse_expr.c:3934 #, c-format msgid "cannot use JSON FORMAT ENCODING clause for non-bytea input types" msgstr "bytrea以外の入力型に対しては JSON FORMAT ENCODING句は使用できません" -#: parser/parse_expr.c:3959 +#: parser/parse_expr.c:3954 #, c-format msgid "cannot use type %s in IS JSON predicate" msgstr "JSON述語では型%sを使用できません" @@ -18841,93 +18846,93 @@ msgstr "%s: データトークンテーブルが不正です、修復してく msgid "could not create I/O completion port for child queue" msgstr "子キュー向けのI/O終了ポートを作成できませんでした" -#: postmaster/postmaster.c:1164 +#: postmaster/postmaster.c:1175 #, c-format msgid "ending log output to stderr" msgstr "標準エラー出力へのログ出力を終了しています" -#: postmaster/postmaster.c:1165 +#: postmaster/postmaster.c:1176 #, c-format msgid "Future log output will go to log destination \"%s\"." msgstr "この後のログ出力はログ配送先\"%s\"に出力されます。" -#: postmaster/postmaster.c:1176 +#: postmaster/postmaster.c:1187 #, c-format msgid "starting %s" msgstr "%s を起動しています" -#: postmaster/postmaster.c:1236 +#: postmaster/postmaster.c:1239 #, c-format msgid "could not create listen socket for \"%s\"" msgstr "\"%s\"に関する監視用ソケットを作成できませんでした" -#: postmaster/postmaster.c:1242 +#: postmaster/postmaster.c:1245 #, c-format msgid "could not create any TCP/IP sockets" msgstr "TCP/IPソケットを作成できませんでした" -#: postmaster/postmaster.c:1274 +#: postmaster/postmaster.c:1277 #, c-format msgid "DNSServiceRegister() failed: error code %ld" msgstr "DNSServiceRegister()が失敗しました: エラーコード %ld" -#: postmaster/postmaster.c:1325 +#: postmaster/postmaster.c:1328 #, c-format msgid "could not create Unix-domain socket in directory \"%s\"" msgstr "ディレクトリ\"%s\"においてUnixドメインソケットを作成できませんでした" -#: postmaster/postmaster.c:1331 +#: postmaster/postmaster.c:1334 #, c-format msgid "could not create any Unix-domain sockets" msgstr "Unixドメインソケットを作成できませんでした" -#: postmaster/postmaster.c:1342 +#: postmaster/postmaster.c:1345 #, c-format msgid "no socket created for listening" msgstr "監視用に作成するソケットはありません" -#: 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: 外部PIDファイル\"%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: 外部PIDファイル\"%s\"に書き出せませんでした: %s\n" #. translator: %s is a configuration file -#: postmaster/postmaster.c:1405 utils/init/postinit.c:221 +#: postmaster/postmaster.c:1408 utils/init/postinit.c:221 #, c-format msgid "could not load %s" msgstr "%s\"をロードできませんでした" -#: postmaster/postmaster.c:1431 +#: postmaster/postmaster.c:1434 #, c-format msgid "postmaster became multithreaded during startup" msgstr "postmasterは起動値処理中はマルチスレッドで動作します" -#: postmaster/postmaster.c:1432 +#: postmaster/postmaster.c:1435 #, c-format msgid "Set the LC_ALL environment variable to a valid locale." msgstr "LC_ALL環境変数を使用可能なロケールに設定してください。" -#: postmaster/postmaster.c:1533 +#: postmaster/postmaster.c:1536 #, c-format msgid "%s: could not locate my own executable path" msgstr "%s: 自身の実行ファイルのパスが特定できません" -#: postmaster/postmaster.c:1540 +#: postmaster/postmaster.c:1543 #, c-format msgid "%s: could not locate matching postgres executable" msgstr "%s: 一致するpostgres実行ファイルがありませんでした" -#: 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 "これは、PostgreSQLのインストールが不完全であるかまたは、ファイル\"%s\"が本来の場所からなくなってしまったことを示しています。" -#: postmaster/postmaster.c:1590 +#: postmaster/postmaster.c:1593 #, c-format msgid "" "%s: could not find the database system\n" @@ -18939,456 +18944,456 @@ msgstr "" "ファイル\"%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 "手に負えない子プロセスに%sを送出します" -#: postmaster/postmaster.c:1909 +#: postmaster/postmaster.c:1912 #, c-format msgid "performing immediate shutdown because data directory lock file is invalid" msgstr "データディレクトリのロックファイルが不正なため、即時シャットダウンを実行中です" -#: postmaster/postmaster.c:1984 postmaster/postmaster.c:2012 +#: postmaster/postmaster.c:1987 postmaster/postmaster.c:2015 #, c-format msgid "incomplete startup packet" msgstr "開始パケットが不完全です" -#: 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 "不正な開始パケット長" -#: postmaster/postmaster.c:2058 +#: postmaster/postmaster.c:2061 #, c-format msgid "failed to send SSL negotiation response: %m" msgstr "SSLネゴシエーション応答の送信に失敗しました: %m" -#: postmaster/postmaster.c:2076 +#: postmaster/postmaster.c:2079 #, c-format msgid "received unencrypted data after SSL request" msgstr "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 "これはクライアントソフトウェアのバグであるか、man-in-the-middle攻撃の証左である可能性があります。" -#: postmaster/postmaster.c:2102 +#: postmaster/postmaster.c:2105 #, c-format msgid "failed to send GSSAPI negotiation response: %m" msgstr "GSSAPIネゴシエーション応答の送信に失敗しました: %m" -#: postmaster/postmaster.c:2120 +#: postmaster/postmaster.c:2123 #, c-format msgid "received unencrypted data after GSSAPI encryption request" msgstr "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 "フロントエンドプロトコル%u.%uをサポートしていません: サーバーは%u.0から %u.%uまでをサポートします" -#: postmaster/postmaster.c:2211 +#: postmaster/postmaster.c:2214 #, c-format msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"." msgstr "有効な値: \"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 "開始パケットの配置が不正です: 最終バイトはターミネータであるはずです" -#: postmaster/postmaster.c:2269 +#: postmaster/postmaster.c:2272 #, c-format msgid "no PostgreSQL user name specified in startup packet" msgstr "開始パケットで指定されたPostgreSQLユーザー名は存在しません" -#: postmaster/postmaster.c:2333 +#: postmaster/postmaster.c:2336 #, c-format msgid "the database system is starting up" msgstr "データベースシステムは起動処理中です" -#: postmaster/postmaster.c:2339 +#: postmaster/postmaster.c:2342 #, c-format msgid "the database system is not yet accepting connections" msgstr "データベースシステムはまだ接続を受け付けていません" -#: postmaster/postmaster.c:2340 +#: postmaster/postmaster.c:2343 #, c-format msgid "Consistent recovery state has not been yet reached." msgstr "リカバリの一貫性はまだ確保されていません。" -#: postmaster/postmaster.c:2344 +#: postmaster/postmaster.c:2347 #, c-format msgid "the database system is not accepting connections" msgstr "データベースシステムは接続を受け付けていません" -#: postmaster/postmaster.c:2345 +#: postmaster/postmaster.c:2348 #, c-format msgid "Hot standby mode is disabled." msgstr "ホットスタンバイモードは無効です。" -#: postmaster/postmaster.c:2350 +#: postmaster/postmaster.c:2353 #, c-format msgid "the database system is shutting down" msgstr "データベースシステムはシャットダウンしています" -#: postmaster/postmaster.c:2355 +#: postmaster/postmaster.c:2358 #, c-format msgid "the database system is in recovery mode" msgstr "データベースシステムはリカバリモードです" -#: postmaster/postmaster.c:2360 storage/ipc/procarray.c:491 storage/ipc/sinvaladt.c:306 storage/lmgr/proc.c:353 +#: postmaster/postmaster.c:2363 storage/ipc/procarray.c:491 storage/ipc/sinvaladt.c:306 storage/lmgr/proc.c:353 #, c-format msgid "sorry, too many clients already" msgstr "現在クライアント数が多すぎます" -#: postmaster/postmaster.c:2447 +#: postmaster/postmaster.c:2450 #, c-format msgid "wrong key in cancel request for process %d" msgstr "プロセス%dに対するキャンセル要求においてキーが間違っています" -#: postmaster/postmaster.c:2459 +#: postmaster/postmaster.c:2462 #, c-format msgid "PID %d in cancel request did not match any process" msgstr "キャンセル要求内のPID %dがどのプロセスにも一致しません" -#: postmaster/postmaster.c:2726 +#: postmaster/postmaster.c:2729 #, c-format msgid "received SIGHUP, reloading configuration files" msgstr "SIGHUPを受け取りました。設定ファイルをリロードしています" #. 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 は再読み込みされていません" -#: postmaster/postmaster.c:2764 +#: postmaster/postmaster.c:2767 #, c-format msgid "SSL configuration was not reloaded" msgstr "SSL設定は再読み込みされていません" -#: postmaster/postmaster.c:2854 +#: postmaster/postmaster.c:2857 #, c-format msgid "received smart shutdown request" msgstr "スマートシャットダウン要求を受け取りました" -#: postmaster/postmaster.c:2895 +#: postmaster/postmaster.c:2898 #, c-format msgid "received fast shutdown request" msgstr "高速シャットダウン要求を受け取りました" -#: postmaster/postmaster.c:2913 +#: postmaster/postmaster.c:2916 #, c-format msgid "aborting any active transactions" msgstr "活動中の全トランザクションをアボートしています" -#: postmaster/postmaster.c:2937 +#: postmaster/postmaster.c:2940 #, c-format msgid "received immediate shutdown request" msgstr "即時シャットダウン要求を受け取りました" -#: postmaster/postmaster.c:3013 +#: postmaster/postmaster.c:3016 #, c-format msgid "shutdown at recovery target" msgstr "リカバリ目標でシャットダウンします" -#: postmaster/postmaster.c:3031 postmaster/postmaster.c:3067 +#: postmaster/postmaster.c:3034 postmaster/postmaster.c:3070 msgid "startup process" msgstr "起動プロセス" -#: postmaster/postmaster.c:3034 +#: postmaster/postmaster.c:3037 #, c-format msgid "aborting startup due to startup process failure" msgstr "起動プロセスの失敗のため起動を中断しています" -#: postmaster/postmaster.c:3107 +#: postmaster/postmaster.c:3110 #, c-format msgid "database system is ready to accept connections" msgstr "データベースシステムの接続受け付け準備が整いました" -#: postmaster/postmaster.c:3128 +#: postmaster/postmaster.c:3131 msgid "background writer process" msgstr "バックグランドライタプロセス" -#: postmaster/postmaster.c:3175 +#: postmaster/postmaster.c:3178 msgid "checkpointer process" msgstr "チェックポイント処理プロセス" -#: postmaster/postmaster.c:3191 +#: postmaster/postmaster.c:3194 msgid "WAL writer process" msgstr "WALライタプロセス" -#: postmaster/postmaster.c:3206 +#: postmaster/postmaster.c:3209 msgid "WAL receiver process" msgstr "WAL 受信プロセス" -#: postmaster/postmaster.c:3221 +#: postmaster/postmaster.c:3224 msgid "autovacuum launcher process" msgstr "自動VACUUM起動プロセス" -#: postmaster/postmaster.c:3239 +#: postmaster/postmaster.c:3242 msgid "archiver process" msgstr "アーカイバプロセス" -#: postmaster/postmaster.c:3252 +#: postmaster/postmaster.c:3255 msgid "system logger process" msgstr "システムログ取得プロセス" -#: postmaster/postmaster.c:3309 +#: postmaster/postmaster.c:3312 #, c-format msgid "background worker \"%s\"" msgstr "バックグラウンドワーカー\"%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 "サーバープロセス" -#: postmaster/postmaster.c:3487 +#: postmaster/postmaster.c:3490 #, c-format msgid "terminating any other active server processes" msgstr "他の活動中のサーバープロセスを終了しています" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3662 +#: postmaster/postmaster.c:3665 #, c-format msgid "%s (PID %d) exited with exit code %d" msgstr "%s (PID %d)は終了コード%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 "失敗したプロセスが実行していました: %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)は例外%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)はシグナル%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)は認識できないステータス%dで終了しました" -#: postmaster/postmaster.c:3903 +#: postmaster/postmaster.c:3906 #, c-format msgid "abnormal database system shutdown" msgstr "データベースシステムは異常にシャットダウンしました" -#: postmaster/postmaster.c:3929 +#: postmaster/postmaster.c:3932 #, c-format msgid "shutting down due to startup process failure" msgstr "起動プロセスの失敗のためシャットダウンしています" -#: postmaster/postmaster.c:3935 +#: postmaster/postmaster.c:3938 #, c-format msgid "shutting down because restart_after_crash is off" msgstr "restart_after_crashがoffであるためシャットダウンします" -#: postmaster/postmaster.c:3947 +#: postmaster/postmaster.c:3950 #, c-format msgid "all server processes terminated; reinitializing" msgstr "全てのサーバープロセスが終了しました: 再初期化しています" -#: 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 "ランダムなキャンセルキーを生成できませんでした" -#: postmaster/postmaster.c:4203 +#: postmaster/postmaster.c:4206 #, c-format msgid "could not fork new process for connection: %m" msgstr "接続用の新しいプロセスをforkできませんでした: %m" -#: postmaster/postmaster.c:4245 +#: postmaster/postmaster.c:4248 msgid "could not fork new process for connection: " msgstr "接続用の新しいプロセスをforkできませんでした" -#: postmaster/postmaster.c:4351 +#: postmaster/postmaster.c:4354 #, c-format msgid "connection received: host=%s port=%s" msgstr "接続を受け付けました: ホスト=%s ポート番号=%s" -#: postmaster/postmaster.c:4356 +#: postmaster/postmaster.c:4359 #, c-format msgid "connection received: host=%s" msgstr "接続を受け付けました: ホスト=%s" -#: postmaster/postmaster.c:4593 +#: postmaster/postmaster.c:4596 #, c-format msgid "could not execute server process \"%s\": %m" msgstr "サーバープロセス\"%s\"を実行できませんでした: %m" -#: postmaster/postmaster.c:4651 +#: postmaster/postmaster.c:4654 #, c-format msgid "could not create backend parameter file mapping: error code %lu" msgstr "バックエンドパラメータファイルのファイルマッピングを作成できませんでした: エラーコード%lu" -#: postmaster/postmaster.c:4660 +#: postmaster/postmaster.c:4663 #, c-format msgid "could not map backend parameter memory: error code %lu" msgstr "バックエンドパラメータのメモリをマップできませんでした: エラーコード %lu" -#: postmaster/postmaster.c:4687 +#: postmaster/postmaster.c:4690 #, c-format msgid "subprocess command line too long" msgstr "サブプロセスのコマンドラインが長すぎます" -#: postmaster/postmaster.c:4705 +#: postmaster/postmaster.c:4708 #, c-format msgid "CreateProcess() call failed: %m (error code %lu)" msgstr "CreateProcess() の呼び出しが失敗しました: %m (エラーコード %lu)" -#: postmaster/postmaster.c:4732 +#: postmaster/postmaster.c:4735 #, c-format msgid "could not unmap view of backend parameter file: error code %lu" msgstr "バックエンドパラメータファイルのビューをアンマップできませんでした: エラーコード %lu" -#: postmaster/postmaster.c:4736 +#: postmaster/postmaster.c:4739 #, c-format msgid "could not close handle to backend parameter file: error code %lu" msgstr "バックエンドパラメータファイルのハンドルをクローズできませんでした: エラーコード%lu" -#: postmaster/postmaster.c:4758 +#: postmaster/postmaster.c:4761 #, c-format msgid "giving up after too many tries to reserve shared memory" msgstr "共有メモリの確保のリトライ回数が多すぎるため中断します" -#: postmaster/postmaster.c:4759 +#: postmaster/postmaster.c:4762 #, c-format msgid "This might be caused by ASLR or antivirus software." msgstr "これはASLRまたはアンチウイルスソフトウェアが原因である可能性があります。" -#: postmaster/postmaster.c:4932 +#: postmaster/postmaster.c:4935 #, c-format msgid "SSL configuration could not be loaded in child process" msgstr "SSL構成は子プロセスでは読み込めません" -#: postmaster/postmaster.c:5057 +#: postmaster/postmaster.c:5060 #, c-format msgid "Please report this to <%s>." msgstr "これを<%s>まで報告してください。" -#: postmaster/postmaster.c:5125 +#: postmaster/postmaster.c:5128 #, c-format msgid "database system is ready to accept read-only connections" msgstr "データベースシステムはリードオンリー接続の受け付け準備ができました" -#: postmaster/postmaster.c:5383 +#: postmaster/postmaster.c:5386 #, c-format msgid "could not fork startup process: %m" msgstr "起動プロセスをforkできませんでした: %m" -#: postmaster/postmaster.c:5387 +#: postmaster/postmaster.c:5390 #, c-format msgid "could not fork archiver process: %m" msgstr "アーカイバプロセスをforkできませんでした: %m" -#: postmaster/postmaster.c:5391 +#: postmaster/postmaster.c:5394 #, c-format msgid "could not fork background writer process: %m" msgstr "バックグランドライタプロセスをforkできませんでした: %m" -#: postmaster/postmaster.c:5395 +#: postmaster/postmaster.c:5398 #, c-format msgid "could not fork checkpointer process: %m" msgstr "チェックポイント処理プロセスをforkできませんでした: %m" -#: postmaster/postmaster.c:5399 +#: postmaster/postmaster.c:5402 #, c-format msgid "could not fork WAL writer process: %m" msgstr "WALライタプロセスをforkできませんでした: %m" -#: postmaster/postmaster.c:5403 +#: postmaster/postmaster.c:5406 #, c-format msgid "could not fork WAL receiver process: %m" msgstr "WAL 受信プロセスを fork できませんでした: %m" -#: postmaster/postmaster.c:5407 +#: postmaster/postmaster.c:5410 #, c-format msgid "could not fork process: %m" msgstr "プロセスをforkできませんでした: %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 "登録時にデータベース接続の必要性が示されていません" -#: 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 "バックグラウンドワーカー内の不正な処理モード" -#: postmaster/postmaster.c:5731 +#: postmaster/postmaster.c:5734 #, c-format msgid "could not fork worker process: %m" msgstr "ワーカープロセスをforkできませんでした: %m" -#: postmaster/postmaster.c:5843 +#: postmaster/postmaster.c:5846 #, c-format msgid "no slot available for new worker process" msgstr "新しいワーカープロセスに割り当て可能なスロットがありません" -#: postmaster/postmaster.c:6174 +#: postmaster/postmaster.c:6177 #, c-format msgid "could not duplicate socket %d for use in backend: error code %d" msgstr "バックエンドで使用するためにソケット%dを複製できませんでした: エラーコード %d" -#: postmaster/postmaster.c:6206 +#: postmaster/postmaster.c:6209 #, c-format msgid "could not create inherited socket: error code %d\n" msgstr "継承したソケットを作成できませんでした: エラーコード %d\n" -#: postmaster/postmaster.c:6235 +#: postmaster/postmaster.c:6238 #, c-format msgid "could not open backend variables file \"%s\": %s\n" msgstr "バックエンド変数ファイル\"%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 "バックエンド変数ファイル\"%s\"から読み取れませんでした: %s\n" -#: postmaster/postmaster.c:6251 +#: postmaster/postmaster.c:6254 #, c-format msgid "could not remove file \"%s\": %s\n" msgstr "ファイル\"%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 "バックエンド変数のビューをマップできませんでした: エラーコード %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 "バックエンド変数のビューをアンマップできませんでした: エラーコード %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 "バックエンドパラメータ変数のハンドルをクローズできませんでした: エラーコード%lu\n" -#: postmaster/postmaster.c:6443 +#: postmaster/postmaster.c:6446 #, c-format msgid "could not read exit code for process\n" msgstr "子プロセスの終了コードの読み込みができませんでした\n" -#: postmaster/postmaster.c:6485 +#: postmaster/postmaster.c:6488 #, c-format msgid "could not post child completion status\n" msgstr "個プロセスの終了コードを投稿できませんでした\n" @@ -19639,7 +19644,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:1290 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: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 #, c-format msgid "You might need to increase %s." msgstr "%sを大きくする必要があるかもしれません。" @@ -19824,7 +19829,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:2086 +#: replication/logical/origin.c:957 replication/logical/origin.c:1155 replication/slot.c:2093 #, c-format msgid "Increase max_replication_slots and try again." msgstr "max_replication_slotsを増やして再度試してください" @@ -20011,7 +20016,7 @@ msgstr "テーブルコピー中に発行サーバー上でのトランザクシ msgid "replication origin \"%s\" already exists" msgstr "レプリケーション基点\"%s\"はすでに存在します" -#: replication/logical/tablesync.c:1468 replication/logical/worker.c:2373 +#: replication/logical/tablesync.c:1468 replication/logical/worker.c:2374 #, c-format msgid "user \"%s\" cannot replicate into relation with row-level security enabled: \"%s\"" msgstr "ユーザー\"%s\"は行レベルセキュリティが有効なリレーションへのレプリケーションはできません: \"%s\"" @@ -20021,147 +20026,147 @@ msgstr "ユーザー\"%s\"は行レベルセキュリティが有効なリレー msgid "table copy could not finish transaction on publisher: %s" msgstr "テーブルコピー中に発行サーバー上でのトランザクション終了に失敗しました: %s" -#: replication/logical/worker.c:498 +#: replication/logical/worker.c:499 #, c-format msgid "logical replication parallel apply worker for subscription \"%s\" will stop" msgstr "サブスクリプション\"%s\"に対応する論理レプリケーション並列適用ワーカーが停止します" -#: replication/logical/worker.c:500 +#: replication/logical/worker.c:501 #, c-format msgid "Cannot handle streamed replication transactions using parallel apply workers until all tables have been synchronized." msgstr "すべてのテーブルの同期が完了するまでは、ストリームされたトランザクションを適用ワーカーで扱うことはできません。" -#: replication/logical/worker.c:862 replication/logical/worker.c:977 +#: replication/logical/worker.c:863 replication/logical/worker.c:978 #, c-format msgid "incorrect binary data format in logical replication column %d" msgstr "論理レプリケーション列%dのバイナリデータ書式が不正です" -#: replication/logical/worker.c:2512 +#: 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 "論理レプリケーション先のリレーション\"%s.%s\"は複製の識別列を期待していましたが、発行サーバーは送信しませんでした" -#: replication/logical/worker.c:2519 +#: 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 "論理レプリケーション先のリレーション\"%s.%s\"が識別列インデックスも主キーをもっておらず、かつ発行されたリレーションがREPLICA IDENTITY FULLとなっていません" -#: replication/logical/worker.c:3370 +#: replication/logical/worker.c:3384 #, c-format msgid "invalid logical replication message type \"??? (%d)\"" msgstr "不正な論理レプリケーションのメッセージタイプ \"??? (%d)\"" -#: replication/logical/worker.c:3542 +#: replication/logical/worker.c:3556 #, c-format msgid "data stream from publisher has ended" msgstr "発行サーバーからのデータストリームが終了しました" -#: replication/logical/worker.c:3699 +#: replication/logical/worker.c:3713 #, c-format msgid "terminating logical replication worker due to timeout" msgstr "タイムアウトにより論理レプリケーションワーカーを終了しています" -#: replication/logical/worker.c:3893 +#: replication/logical/worker.c:3907 #, c-format msgid "logical replication worker for subscription \"%s\" will stop because the subscription was removed" msgstr "サブスクリプション\"%s\"が削除されたため、このサブスクリプションに対応する論理レプリケーションワーカーが停止します" -#: replication/logical/worker.c:3906 +#: replication/logical/worker.c:3920 #, c-format msgid "logical replication worker for subscription \"%s\" will stop because the subscription was disabled" msgstr "サブスクリプション\"%s\"が無効化されたため、このサブスクリプションに対応する論理レプリケーションワーカーが停止します" -#: replication/logical/worker.c:3937 +#: replication/logical/worker.c:3951 #, c-format msgid "logical replication parallel apply worker for subscription \"%s\" will stop because of a parameter change" msgstr "パラメータの変更があったため、サブスクリプション\"%s\"に対応する論理レプリケーション並列適用ワーカーが停止します" -#: replication/logical/worker.c:3941 +#: replication/logical/worker.c:3955 #, c-format msgid "logical replication worker for subscription \"%s\" will restart because of a parameter change" msgstr "パラメータの変更があったため、サブスクリプション\"%s\"に対応する論理レプリケーションワーカーが再起動します" -#: replication/logical/worker.c:4464 +#: replication/logical/worker.c:4478 #, c-format msgid "logical replication worker for subscription %u will not start because the subscription was removed during startup" msgstr "サブスクリプション%uが起動中に削除されたため、このサブスクリプションに対応する論理レプリケーションワーカーは起動しません" -#: replication/logical/worker.c:4479 +#: replication/logical/worker.c:4493 #, c-format msgid "logical replication worker for subscription \"%s\" will not start because the subscription was disabled during startup" msgstr "サブスクリプション\"%s\"が起動中に無効化されたため、このサブスクリプションに対応する論理レプリケーションワーカーは起動しません" -#: replication/logical/worker.c:4496 +#: replication/logical/worker.c:4510 #, c-format msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has started" msgstr "サブスクリプション\"%s\"、テーブル\"%s\"に対応する論理レプリケーションテーブル同期ワーカーが起動しました" -#: replication/logical/worker.c:4501 +#: replication/logical/worker.c:4515 #, c-format msgid "logical replication apply worker for subscription \"%s\" has started" msgstr "サブスクリプション\"%s\"に対応する論理レプリケーション適用ワーカーが起動しました" -#: replication/logical/worker.c:4576 +#: replication/logical/worker.c:4590 #, c-format msgid "subscription has no replication slot set" msgstr "サブスクリプションにレプリケーションスロットが設定されていません" -#: replication/logical/worker.c:4743 +#: replication/logical/worker.c:4757 #, c-format msgid "subscription \"%s\" has been disabled because of an error" msgstr "サブスクリプション\"%s\"はエラーのため無効化されました" -#: replication/logical/worker.c:4791 +#: replication/logical/worker.c:4805 #, c-format msgid "logical replication starts skipping transaction at LSN %X/%X" msgstr "論理レプリケーションは%X/%Xででトランザクションのスキップを開始します" -#: replication/logical/worker.c:4805 +#: replication/logical/worker.c:4819 #, c-format msgid "logical replication completed skipping transaction at LSN %X/%X" msgstr "論理レプリケーションは%X/%Xでトランザクションのスキップを完了しました" -#: replication/logical/worker.c:4887 +#: replication/logical/worker.c:4901 #, c-format msgid "skip-LSN of subscription \"%s\" cleared" msgstr "サブスクリプションの\"%s\"スキップLSNをクリアしました" -#: replication/logical/worker.c:4888 +#: 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 "リモートトランザクションの完了WAL位置(LSN) %X/%XがスキップLSN %X/%X と一致しません。" -#: replication/logical/worker.c:4914 +#: replication/logical/worker.c:4928 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\"" msgstr "メッセージタイプ \"%2$s\"でレプリケーション基点\"%1$s\"のリモートからのデータを処理中" -#: replication/logical/worker.c:4918 +#: replication/logical/worker.c:4932 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u" msgstr "トランザクション%3$u中、メッセージタイプ\"%2$s\"でレプリケーション基点\"%1$s\"のリモートからのデータを処理中" -#: replication/logical/worker.c:4923 +#: 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 "%4$X/%5$Xで終了したトランザクション%3$u中、メッセージタイプ\"%2$s\"でレプリケーション基点\"%1$s\"のリモートからのデータを処理中" -#: replication/logical/worker.c:4934 +#: 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 "レプリケーション起点\"%1$s\"のリモートデータ処理中、トランザクション%5$uのレプリケーション対象リレーション\"%3$s.%4$s\"に対するメッセージタイプ\"%2$s\"内" -#: replication/logical/worker.c:4941 +#: 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 "%6$X/%7$Xで終了したトランザクション%5$u中、レプリケーション先リレーション\"%3$s.%4$s\"に対するメッセージタイプ\"%2$s\"でレプリケーション基点\"%1$s\"のリモートからのデータを処理中" -#: replication/logical/worker.c:4952 +#: 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 "レプリケーション起点\"%1$s\"のリモートデータ処理中、トランザクション%6$uのレプリケーション対象リレーション\"%3$s.%4$s\"、列\"%5$s\"に対するメッセージタイプ\"%2$s\"内" -#: replication/logical/worker.c:4960 +#: 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 "%7$X/%8$Xで終了したトランザクション%6$u中、レプリケーション先リレーション\"%3$s.%4$s\"、列\"%5$s\"に対するメッセージタイプ\"%2$s\"でレプリケーション基点\"%1$s\"のリモートからのデータを処理中" @@ -20266,7 +20271,7 @@ msgstr "レプリケーションスロット\"%s\"は存在しません" msgid "replication slot \"%s\" is active for PID %d" msgstr "レプリケーションスロット\"%s\"はPID%dで使用中です" -#: replication/slot.c:756 replication/slot.c:1638 replication/slot.c:2021 +#: replication/slot.c:756 replication/slot.c:1645 replication/slot.c:2028 #, c-format msgid "could not remove directory \"%s\"" msgstr "ディレクトリ\"%s\"を削除できませんでした" @@ -20291,71 +20296,72 @@ msgstr "レプリケーションスロットを使用する権限がありませ msgid "Only roles with the %s attribute may use replication slots." msgstr "%s属性を持つロールのみがレプリケーションスロットを使用できます。" -#: 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 "このスロットのrestart_lsn %X/%Xは制限を%lluバイト超過しています。" +msgid "The slot's restart_lsn %X/%X exceeds the limit by %llu byte." +msgid_plural "The slot's restart_lsn %X/%X exceeds the limit by %llu bytes." +msgstr[0] "このスロットのrestart_lsn %X/%Xは制限を%lluバイト超過しています。" -#: replication/slot.c:1272 +#: replication/slot.c:1279 #, c-format msgid "The slot conflicted with xid horizon %u." msgstr "このスロットはXID地平線%uと競合しました。" -#: replication/slot.c:1277 +#: replication/slot.c:1284 msgid "Logical decoding on standby requires wal_level >= logical on the primary server." msgstr "論理デコードを行うためにはプライマリサーバー上でwal_level >= logical である必要があります。" -#: replication/slot.c:1285 +#: replication/slot.c:1292 #, c-format msgid "terminating process %d to release replication slot \"%s\"" msgstr "プロセス%dを終了してレプリケーションスロット\"%s\"を解放します" -#: replication/slot.c:1287 +#: replication/slot.c:1294 #, c-format msgid "invalidating obsolete replication slot \"%s\"" msgstr "使用不能のレプリケーションスロット\"%s\"を無効化します" -#: replication/slot.c:1959 +#: replication/slot.c:1966 #, 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:1966 +#: replication/slot.c:1973 #, c-format msgid "replication slot file \"%s\" has unsupported version %u" msgstr "レプリケーションスロットファイル\"%s\"はサポート外のバージョン%uです" -#: replication/slot.c:1973 +#: replication/slot.c:1980 #, c-format msgid "replication slot file \"%s\" has corrupted length %u" msgstr "レプリケーションスロットファイル\"%s\"のサイズ%uは異常です" -#: replication/slot.c:2009 +#: replication/slot.c:2016 #, c-format msgid "checksum mismatch for replication slot file \"%s\": is %u, should be %u" msgstr "レプリケーションスロットファイル\"%s\"のチェックサムが一致しません: %uですが、%uであるべきです" -#: replication/slot.c:2043 +#: replication/slot.c:2050 #, c-format msgid "logical replication slot \"%s\" exists, but wal_level < logical" msgstr "論理レプリケーションスロット\"%s\"がありますが、wal_level < logical です" -#: replication/slot.c:2045 +#: replication/slot.c:2052 #, c-format msgid "Change wal_level to be logical or higher." msgstr "wal_level を logical もしくはそれより上位の設定にしてください。" -#: replication/slot.c:2049 +#: replication/slot.c:2056 #, c-format msgid "physical replication slot \"%s\" exists, but wal_level < replica" msgstr "物理レプリケーションスロット\"%s\"がありますが、wal_level < replica です" -#: replication/slot.c:2051 +#: replication/slot.c:2058 #, c-format msgid "Change wal_level to be replica or higher." msgstr "wal_level を replica もしくはそれより上位の設定にしてください。" -#: replication/slot.c:2085 +#: replication/slot.c:2092 #, c-format msgid "too many replication slots active before shutdown" msgstr "シャットダウン前のアクティブなレプリケーションスロットの数が多すぎます" @@ -23111,13 +23117,13 @@ 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:273 utils/adt/numutils.c:451 utils/adt/numutils.c:629 utils/adt/numutils.c:668 utils/adt/numutils.c:690 utils/adt/numutils.c:754 utils/adt/numutils.c:776 utils/adt/pg_lsn.c:74 utils/adt/tid.c:72 utils/adt/tid.c:80 +#: utils/adt/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 #, 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: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: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 #, c-format msgid "value \"%s\" is out of range for type %s" msgstr "値\"%s\"は型%sの範囲外です" @@ -23809,8 +23815,8 @@ msgstr "オブジェクトキーにnullは使えません" #: utils/adt/json.c:1189 utils/adt/json.c:1352 #, c-format -msgid "duplicate JSON key %s" -msgstr "重複したJSONキー %s" +msgid "duplicate JSON object key value: %s" +msgstr "JSONオブジェクトキー値の重複: %s" #: utils/adt/json.c:1297 utils/adt/jsonb.c:1233 #, c-format @@ -23833,7 +23839,7 @@ msgstr "配列は最低でも2つの列が必要です" msgid "mismatched array dimensions" msgstr "配列の次元が合っていません" -#: 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 "JSONオブジェクトキー値の重複" @@ -23918,11 +23924,6 @@ msgstr "jsonb配列全体のサイズが最大値%dバイトを超えていま msgid "total size of jsonb object elements exceeds the maximum of %d bytes" msgstr "jsonbオブジェクト要素全体のサイズが最大値%dを超えています" -#: utils/adt/jsonb_util.c:1958 -#, c-format -msgid "duplicate JSON object key" -msgstr "JSONオブジェクトキーの重複" - #: utils/adt/jsonbsubs.c:70 utils/adt/jsonbsubs.c:151 #, c-format msgid "jsonb subscript does not support slices" @@ -24817,22 +24818,22 @@ msgstr "pg_lsnからNaNは減算できません" msgid "function can only be called when server is in binary upgrade mode" msgstr "関数はサーバーがバイナリアップグレードモードであるときのみ呼び出せます" -#: utils/adt/pgstatfuncs.c:253 +#: utils/adt/pgstatfuncs.c:254 #, c-format msgid "invalid command name: \"%s\"" msgstr "不正なコマンド名: \"%s\"" -#: utils/adt/pgstatfuncs.c:1773 +#: utils/adt/pgstatfuncs.c:1774 #, c-format msgid "unrecognized reset target: \"%s\"" msgstr "認識できないリセットターゲット: \"%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 "対象は\"archiver\"、\"bgwriter\"、\"io\"、\"recovery_prefetch\"または\"wal\"でなければなりません。" -#: utils/adt/pgstatfuncs.c:1852 +#: utils/adt/pgstatfuncs.c:1857 #, c-format msgid "invalid subscription OID %u" msgstr "不正なサブスクリプションOID %u" @@ -25777,7 +25778,7 @@ msgstr "型%sの利用可能な出力関数がありません" msgid "operator class \"%s\" of access method %s is missing support function %d for type %s" msgstr "アクセスメソッド %2$s の演算子クラス\"%1$s\"は%4$s型に対応するサポート関数%3$dを含んでいません" -#: utils/cache/plancache.c:722 +#: utils/cache/plancache.c:724 #, c-format msgid "cached plan must not change result type" msgstr "キャッシュした実行計画は結果型を変更してはなりません" @@ -25792,17 +25793,17 @@ msgstr "バイナリアップグレードモード中にヒープのrelfilenumbe msgid "unexpected request for new relfilenumber in binary upgrade mode" msgstr "バイナリアップグレードモード中に、予期しない新規relfilenumberの要求がありました" -#: utils/cache/relcache.c:6489 +#: utils/cache/relcache.c:6495 #, c-format msgid "could not create relation-cache initialization file \"%s\": %m" msgstr "リレーションキャッシュ初期化ファイル\"%sを作成できません: %m" -#: utils/cache/relcache.c:6491 +#: utils/cache/relcache.c:6497 #, c-format msgid "Continuing anyway, but there's something wrong." msgstr "とりあえず続行しますが、何かがおかしいです。" -#: utils/cache/relcache.c:6813 +#: utils/cache/relcache.c:6819 #, c-format msgid "could not remove cache file \"%s\": %m" msgstr "キャッシュファイル\"%s\"を削除できませんでした: %m" @@ -28717,8 +28718,8 @@ msgid "Sets the method for synchronizing the data directory before crash recover msgstr "クラシュリカバリ前に行うデータディレクトリの同期の方法を設定する。" #: utils/misc/guc_tables.c:4960 -msgid "Controls when to replicate or apply each change." -msgstr "個々の更新をいつ複製または適用するかを制御します。" +msgid "Forces immediate streaming or serialization of changes in large transactions." +msgstr "大きなトランザクションにおいて、即時ストリーミングまたは変更のシリアライズを強制します。" #: 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." diff --git a/src/backend/po/ka.po b/src/backend/po/ka.po index e64e6441f45..145bd33057b 100644 --- a/src/backend/po/ka.po +++ b/src/backend/po/ka.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: postgres (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2023-08-24 08:42+0000\n" -"PO-Revision-Date: 2023-08-24 11:47+0200\n" +"PO-Revision-Date: 2023-09-04 07:17+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" "Language: ka\n" @@ -8416,7 +8416,7 @@ msgstr "ინდექსის გამოსახულებისთვ #: 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 utils/adt/misc.c:586 #, c-format msgid "collations are not supported by type %s" -msgstr "ტიპის \"%s\" კოლაციების მხარდაჭერა არ გააჩნია" +msgstr "ტიპს \"%s\" კოლაციების მხარდაჭერა არ გააჩნია" #: commands/indexcmds.c:2111 #, c-format diff --git a/src/backend/po/ru.po b/src/backend/po/ru.po index ae9c50eed73..c682ddf682c 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: 2023-02-03 15:07+0300\n" -"PO-Revision-Date: 2023-01-30 07:55+0300\n" +"POT-Creation-Date: 2023-08-28 07:59+0300\n" +"PO-Revision-Date: 2023-08-31 10:13+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -21,37 +21,42 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: ../common/compression.c:130 ../common/compression.c:139 -#: ../common/compression.c:148 +#: ../common/compression.c:132 ../common/compression.c:141 +#: ../common/compression.c:150 #, c-format msgid "this build does not support compression with %s" msgstr "эта сборка программы не поддерживает сжатие %s" -#: ../common/compression.c:203 +#: ../common/compression.c:205 msgid "found empty string where a compression option was expected" msgstr "вместо указания параметра сжатия получена пустая строка" -#: ../common/compression.c:237 +#: ../common/compression.c:244 #, c-format msgid "unrecognized compression option: \"%s\"" msgstr "нераспознанный параметр сжатия: \"%s\"" -#: ../common/compression.c:276 +#: ../common/compression.c:283 #, c-format msgid "compression option \"%s\" requires a value" msgstr "для параметра сжатия \"%s\" требуется значение" -#: ../common/compression.c:285 +#: ../common/compression.c:292 #, c-format msgid "value for compression option \"%s\" must be an integer" msgstr "значение параметра сжатия \"%s\" должно быть целочисленным" -#: ../common/compression.c:335 +#: ../common/compression.c:331 +#, c-format +msgid "value for compression option \"%s\" must be a Boolean value" +msgstr "значение параметра сжатия \"%s\" должно быть булевским" + +#: ../common/compression.c:379 #, c-format msgid "compression algorithm \"%s\" does not accept a compression level" msgstr "для алгоритма сжатия \"%s\" нельзя задать уровень сжатия" -#: ../common/compression.c:342 +#: ../common/compression.c:386 #, c-format msgid "" "compression algorithm \"%s\" expects a compression level between %d and %d " @@ -60,11 +65,16 @@ msgstr "" "для алгоритма сжатия \"%s\" ожидается уровень сжатия от %d до %d (по " "умолчанию %d)" -#: ../common/compression.c:353 +#: ../common/compression.c:397 #, c-format msgid "compression algorithm \"%s\" does not accept a worker count" msgstr "для алгоритма сжатия \"%s\" нельзя задать число потоков" +#: ../common/compression.c:408 +#, c-format +msgid "compression algorithm \"%s\" does not support long-distance mode" +msgstr "алгоритм сжатия \"%s\" не поддерживает режим большой дистанции" + #: ../common/config_info.c:134 ../common/config_info.c:142 #: ../common/config_info.c:150 ../common/config_info.c:158 #: ../common/config_info.c:166 ../common/config_info.c:174 @@ -73,56 +83,54 @@ msgid "not recorded" msgstr "не записано" #: ../common/controldata_utils.c:69 ../common/controldata_utils.c:73 -#: commands/copyfrom.c:1515 commands/extension.c:3383 utils/adt/genfile.c:123 +#: commands/copyfrom.c:1670 commands/extension.c:3480 utils/adt/genfile.c:123 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "не удалось открыть файл \"%s\" для чтения: %m" #: ../common/controldata_utils.c:84 ../common/controldata_utils.c:86 #: access/transam/timeline.c:143 access/transam/timeline.c:362 -#: access/transam/twophase.c:1348 access/transam/xlog.c:3207 -#: access/transam/xlog.c:4022 access/transam/xlogrecovery.c:1178 -#: access/transam/xlogrecovery.c:1270 access/transam/xlogrecovery.c:1307 -#: access/transam/xlogrecovery.c:1367 backup/basebackup.c:1843 -#: commands/extension.c:3393 libpq/hba.c:505 replication/logical/origin.c:729 -#: replication/logical/origin.c:765 replication/logical/reorderbuffer.c:4948 -#: replication/logical/snapbuild.c:1858 replication/logical/snapbuild.c:1900 -#: replication/logical/snapbuild.c:1927 replication/slot.c:1807 -#: replication/slot.c:1848 replication/walsender.c:658 -#: storage/file/buffile.c:463 storage/file/copydir.c:195 -#: utils/adt/genfile.c:197 utils/adt/misc.c:863 utils/cache/relmapper.c:813 +#: access/transam/twophase.c:1347 access/transam/xlog.c:3193 +#: access/transam/xlog.c:3996 access/transam/xlogrecovery.c:1199 +#: access/transam/xlogrecovery.c:1291 access/transam/xlogrecovery.c:1328 +#: access/transam/xlogrecovery.c:1388 backup/basebackup.c:1842 +#: commands/extension.c:3490 libpq/hba.c:769 replication/logical/origin.c:745 +#: replication/logical/origin.c:781 replication/logical/reorderbuffer.c:5050 +#: replication/logical/snapbuild.c:2031 replication/slot.c:1953 +#: replication/slot.c:1994 replication/walsender.c:643 +#: 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 #, c-format msgid "could not read file \"%s\": %m" msgstr "не удалось прочитать файл \"%s\": %m" #: ../common/controldata_utils.c:92 ../common/controldata_utils.c:95 -#: access/transam/xlog.c:3212 access/transam/xlog.c:4027 -#: backup/basebackup.c:1847 replication/logical/origin.c:734 -#: replication/logical/origin.c:773 replication/logical/snapbuild.c:1863 -#: replication/logical/snapbuild.c:1905 replication/logical/snapbuild.c:1932 -#: replication/slot.c:1811 replication/slot.c:1852 replication/walsender.c:663 -#: utils/cache/relmapper.c:817 +#: 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 #, c-format msgid "could not read file \"%s\": read %d of %zu" msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %zu)" #: ../common/controldata_utils.c:104 ../common/controldata_utils.c:108 -#: ../common/controldata_utils.c:241 ../common/controldata_utils.c:244 -#: access/heap/rewriteheap.c:1178 access/heap/rewriteheap.c:1281 +#: ../common/controldata_utils.c:233 ../common/controldata_utils.c:236 +#: access/heap/rewriteheap.c:1175 access/heap/rewriteheap.c:1280 #: access/transam/timeline.c:392 access/transam/timeline.c:438 -#: access/transam/timeline.c:516 access/transam/twophase.c:1360 -#: access/transam/twophase.c:1772 access/transam/xlog.c:3054 -#: access/transam/xlog.c:3247 access/transam/xlog.c:3252 -#: access/transam/xlog.c:3390 access/transam/xlog.c:3992 -#: access/transam/xlog.c:4738 commands/copyfrom.c:1575 commands/copyto.c:327 -#: libpq/be-fsstubs.c:455 libpq/be-fsstubs.c:525 -#: replication/logical/origin.c:667 replication/logical/origin.c:806 -#: replication/logical/reorderbuffer.c:5006 -#: replication/logical/snapbuild.c:1767 replication/logical/snapbuild.c:1940 -#: replication/slot.c:1698 replication/slot.c:1859 replication/walsender.c:673 -#: storage/file/copydir.c:218 storage/file/copydir.c:223 storage/file/fd.c:745 -#: storage/file/fd.c:3643 storage/file/fd.c:3749 utils/cache/relmapper.c:828 -#: utils/cache/relmapper.c:956 +#: 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 +#: 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 #, c-format msgid "could not close file \"%s\": %m" msgstr "не удалось закрыть файл \"%s\": %m" @@ -145,102 +153,101 @@ msgstr "" "этой программой. В этом случае результаты будут неверными и\n" "установленный PostgreSQL будет несовместим с этим каталогом данных." -#: ../common/controldata_utils.c:189 ../common/controldata_utils.c:194 -#: ../common/file_utils.c:232 ../common/file_utils.c:291 -#: ../common/file_utils.c:365 access/heap/rewriteheap.c:1264 +#: ../common/controldata_utils.c:181 ../common/controldata_utils.c:186 +#: ../common/file_utils.c:228 ../common/file_utils.c:287 +#: ../common/file_utils.c:361 access/heap/rewriteheap.c:1263 #: access/transam/timeline.c:111 access/transam/timeline.c:251 -#: access/transam/timeline.c:348 access/transam/twophase.c:1304 -#: access/transam/xlog.c:2941 access/transam/xlog.c:3123 -#: access/transam/xlog.c:3162 access/transam/xlog.c:3357 -#: access/transam/xlog.c:4012 access/transam/xlogrecovery.c:4190 -#: access/transam/xlogrecovery.c:4293 access/transam/xlogutils.c:852 -#: backup/basebackup.c:522 backup/basebackup.c:1520 postmaster/syslogger.c:1560 -#: replication/logical/origin.c:719 replication/logical/reorderbuffer.c:3601 -#: replication/logical/reorderbuffer.c:4152 -#: replication/logical/reorderbuffer.c:4928 -#: replication/logical/snapbuild.c:1722 replication/logical/snapbuild.c:1829 -#: replication/slot.c:1779 replication/walsender.c:631 -#: replication/walsender.c:2722 storage/file/copydir.c:161 -#: storage/file/fd.c:720 storage/file/fd.c:3395 storage/file/fd.c:3630 -#: storage/file/fd.c:3720 storage/smgr/md.c:538 utils/cache/relmapper.c:792 -#: utils/cache/relmapper.c:900 utils/error/elog.c:1933 -#: utils/init/miscinit.c:1366 utils/init/miscinit.c:1500 -#: utils/init/miscinit.c:1577 utils/misc/guc.c:8991 utils/misc/guc.c:9040 +#: access/transam/timeline.c:348 access/transam/twophase.c:1303 +#: access/transam/xlog.c:2946 access/transam/xlog.c:3109 +#: access/transam/xlog.c:3148 access/transam/xlog.c:3341 +#: access/transam/xlog.c:3986 access/transam/xlogrecovery.c:4179 +#: access/transam/xlogrecovery.c:4282 access/transam/xlogutils.c:838 +#: backup/basebackup.c:538 backup/basebackup.c:1512 libpq/hba.c:629 +#: postmaster/syslogger.c:1560 replication/logical/origin.c:735 +#: replication/logical/reorderbuffer.c:3706 +#: replication/logical/reorderbuffer.c:4257 +#: replication/logical/reorderbuffer.c:5030 +#: replication/logical/snapbuild.c:1753 replication/logical/snapbuild.c:1863 +#: replication/slot.c:1925 replication/walsender.c:616 +#: replication/walsender.c:2731 storage/file/copydir.c:151 +#: storage/file/fd.c:757 storage/file/fd.c:3457 storage/file/fd.c:3687 +#: storage/file/fd.c:3777 storage/smgr/md.c:663 utils/cache/relmapper.c:816 +#: utils/cache/relmapper.c:924 utils/error/elog.c:2082 +#: utils/init/miscinit.c:1530 utils/init/miscinit.c:1664 +#: utils/init/miscinit.c:1741 utils/misc/guc.c:4600 utils/misc/guc.c:4650 #, c-format msgid "could not open file \"%s\": %m" msgstr "не удалось открыть файл \"%s\": %m" -#: ../common/controldata_utils.c:210 ../common/controldata_utils.c:213 -#: access/transam/twophase.c:1745 access/transam/twophase.c:1754 -#: access/transam/xlog.c:8670 access/transam/xlogfuncs.c:600 -#: backup/basebackup_server.c:173 backup/basebackup_server.c:266 -#: postmaster/postmaster.c:5638 postmaster/syslogger.c:1571 +#: ../common/controldata_utils.c:202 ../common/controldata_utils.c:205 +#: access/transam/twophase.c:1744 access/transam/twophase.c:1753 +#: access/transam/xlog.c:8755 access/transam/xlogfuncs.c:708 +#: backup/basebackup_server.c:175 backup/basebackup_server.c:268 +#: postmaster/postmaster.c:5570 postmaster/syslogger.c:1571 #: postmaster/syslogger.c:1584 postmaster/syslogger.c:1597 -#: utils/cache/relmapper.c:934 +#: utils/cache/relmapper.c:936 #, c-format msgid "could not write file \"%s\": %m" msgstr "не удалось записать файл \"%s\": %m" -#: ../common/controldata_utils.c:227 ../common/controldata_utils.c:232 -#: ../common/file_utils.c:303 ../common/file_utils.c:373 -#: access/heap/rewriteheap.c:960 access/heap/rewriteheap.c:1172 -#: access/heap/rewriteheap.c:1275 access/transam/timeline.c:432 -#: access/transam/timeline.c:510 access/transam/twophase.c:1766 -#: access/transam/xlog.c:3047 access/transam/xlog.c:3241 -#: access/transam/xlog.c:3985 access/transam/xlog.c:7973 -#: access/transam/xlog.c:8016 backup/basebackup_server.c:207 -#: replication/logical/snapbuild.c:1760 replication/slot.c:1684 -#: replication/slot.c:1789 storage/file/fd.c:737 storage/file/fd.c:3741 -#: storage/smgr/md.c:989 storage/smgr/md.c:1030 storage/sync/sync.c:453 -#: utils/cache/relmapper.c:949 utils/misc/guc.c:8760 +#: ../common/controldata_utils.c:219 ../common/controldata_utils.c:224 +#: ../common/file_utils.c:299 ../common/file_utils.c:369 +#: access/heap/rewriteheap.c:959 access/heap/rewriteheap.c:1169 +#: access/heap/rewriteheap.c:1274 access/transam/timeline.c:432 +#: access/transam/timeline.c:506 access/transam/twophase.c:1765 +#: access/transam/xlog.c:3032 access/transam/xlog.c:3227 +#: access/transam/xlog.c:3959 access/transam/xlog.c:8145 +#: access/transam/xlog.c:8190 backup/basebackup_server.c:209 +#: replication/logical/snapbuild.c:1791 replication/slot.c:1830 +#: replication/slot.c:1935 storage/file/fd.c:774 storage/file/fd.c:3798 +#: storage/smgr/md.c:1135 storage/smgr/md.c:1180 storage/sync/sync.c:451 +#: utils/misc/guc.c:4370 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "не удалось синхронизировать с ФС файл \"%s\": %m" -#: ../common/cryptohash.c:266 ../common/cryptohash_openssl.c:133 -#: ../common/cryptohash_openssl.c:332 ../common/exec.c:560 ../common/exec.c:605 -#: ../common/exec.c:697 ../common/hmac.c:309 ../common/hmac.c:325 +#: ../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:247 ../common/stringinfo.c:305 ../port/path.c:751 -#: ../port/path.c:789 ../port/path.c:806 access/transam/twophase.c:1413 -#: access/transam/xlogrecovery.c:568 lib/dshash.c:253 libpq/auth.c:1338 -#: libpq/auth.c:1406 libpq/auth.c:1964 libpq/be-secure-gssapi.c:520 -#: postmaster/bgworker.c:349 postmaster/bgworker.c:931 -#: postmaster/postmaster.c:2591 postmaster/postmaster.c:4177 -#: postmaster/postmaster.c:4849 postmaster/postmaster.c:5563 -#: postmaster/postmaster.c:5934 -#: replication/libpqwalreceiver/libpqwalreceiver.c:300 -#: replication/logical/logical.c:205 replication/walsender.c:701 -#: storage/buffer/localbuf.c:442 storage/file/fd.c:892 storage/file/fd.c:1434 -#: storage/file/fd.c:1595 storage/file/fd.c:2409 storage/ipc/procarray.c:1448 -#: storage/ipc/procarray.c:2260 storage/ipc/procarray.c:2267 -#: storage/ipc/procarray.c:2770 storage/ipc/procarray.c:3401 -#: utils/adt/formatting.c:1732 utils/adt/formatting.c:1854 -#: utils/adt/formatting.c:1977 utils/adt/pg_locale.c:450 -#: utils/adt/pg_locale.c:614 utils/adt/regexp.c:224 utils/fmgr/dfmgr.c:229 -#: utils/hash/dynahash.c:513 utils/hash/dynahash.c:613 -#: utils/hash/dynahash.c:1116 utils/mb/mbutils.c:401 utils/mb/mbutils.c:429 -#: utils/mb/mbutils.c:814 utils/mb/mbutils.c:841 utils/misc/guc.c:5192 -#: utils/misc/guc.c:5208 utils/misc/guc.c:5221 utils/misc/guc.c:8738 -#: utils/misc/tzparser.c:476 utils/mmgr/aset.c:476 utils/mmgr/dsa.c:701 -#: utils/mmgr/dsa.c:723 utils/mmgr/dsa.c:804 utils/mmgr/generation.c:266 -#: utils/mmgr/mcxt.c:888 utils/mmgr/mcxt.c:924 utils/mmgr/mcxt.c:962 -#: utils/mmgr/mcxt.c:1000 utils/mmgr/mcxt.c:1088 utils/mmgr/mcxt.c:1119 -#: utils/mmgr/mcxt.c:1155 utils/mmgr/mcxt.c:1207 utils/mmgr/mcxt.c:1242 -#: utils/mmgr/mcxt.c:1277 utils/mmgr/slab.c:238 +#: ../common/scram-common.c:258 ../common/stringinfo.c:305 ../port/path.c:751 +#: ../port/path.c:789 ../port/path.c:806 access/transam/twophase.c:1412 +#: access/transam/xlogrecovery.c:589 lib/dshash.c:253 libpq/auth.c:1345 +#: libpq/auth.c:1389 libpq/auth.c:1946 libpq/be-secure-gssapi.c:524 +#: postmaster/bgworker.c:352 postmaster/bgworker.c:934 +#: postmaster/postmaster.c: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:866 storage/file/fd.c:1397 +#: storage/file/fd.c:1558 storage/file/fd.c:2478 storage/ipc/procarray.c:1449 +#: storage/ipc/procarray.c:2232 storage/ipc/procarray.c:2239 +#: storage/ipc/procarray.c:2738 storage/ipc/procarray.c:3374 +#: utils/adt/formatting.c:1690 utils/adt/formatting.c:1812 +#: utils/adt/formatting.c:1935 utils/adt/pg_locale.c:469 +#: utils/adt/pg_locale.c:633 utils/fmgr/dfmgr.c:229 utils/hash/dynahash.c:514 +#: utils/hash/dynahash.c:614 utils/hash/dynahash.c:1111 utils/mb/mbutils.c:402 +#: utils/mb/mbutils.c:430 utils/mb/mbutils.c:815 utils/mb/mbutils.c:842 +#: utils/misc/guc.c:640 utils/misc/guc.c:665 utils/misc/guc.c:1053 +#: utils/misc/guc.c:4348 utils/misc/tzparser.c:476 utils/mmgr/aset.c:445 +#: utils/mmgr/dsa.c: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 msgid "out of memory" msgstr "нехватка памяти" -#: ../common/cryptohash.c:271 ../common/cryptohash.c:277 +#: ../common/cryptohash.c:266 ../common/cryptohash.c:272 #: ../common/cryptohash_openssl.c:344 ../common/cryptohash_openssl.c:352 #: ../common/hmac.c:321 ../common/hmac.c:329 ../common/hmac_openssl.c:339 #: ../common/hmac_openssl.c:347 msgid "success" msgstr "успех" -#: ../common/cryptohash.c:273 ../common/cryptohash_openssl.c:346 +#: ../common/cryptohash.c:268 ../common/cryptohash_openssl.c:346 #: ../common/hmac_openssl.c:341 msgid "destination buffer too small" msgstr "буфер назначения слишком мал" @@ -249,90 +256,80 @@ msgstr "буфер назначения слишком мал" msgid "OpenSSL failure" msgstr "ошибка OpenSSL" -#: ../common/exec.c:149 ../common/exec.c:266 ../common/exec.c:312 +#: ../common/exec.c:172 #, c-format -msgid "could not identify current directory: %m" -msgstr "не удалось определить текущий каталог: %m" +msgid "invalid binary \"%s\": %m" +msgstr "неверный исполняемый файл \"%s\": %m" -#: ../common/exec.c:168 +#: ../common/exec.c:215 #, c-format -msgid "invalid binary \"%s\"" -msgstr "неверный исполняемый файл \"%s\"" +msgid "could not read binary \"%s\": %m" +msgstr "не удалось прочитать исполняемый файл \"%s\": %m" -#: ../common/exec.c:218 -#, c-format -msgid "could not read binary \"%s\"" -msgstr "не удалось прочитать исполняемый файл \"%s\"" - -#: ../common/exec.c:226 +#: ../common/exec.c:223 #, c-format msgid "could not find a \"%s\" to execute" msgstr "не удалось найти запускаемый файл \"%s\"" -#: ../common/exec.c:282 ../common/exec.c:321 utils/init/miscinit.c:439 -#, c-format -msgid "could not change directory to \"%s\": %m" -msgstr "не удалось перейти в каталог \"%s\": %m" - -#: ../common/exec.c:299 access/transam/xlog.c:8319 backup/basebackup.c:1340 -#: utils/adt/misc.c:342 +#: ../common/exec.c:250 #, c-format -msgid "could not read symbolic link \"%s\": %m" -msgstr "не удалось прочитать символическую ссылку \"%s\": %m" +msgid "could not resolve path \"%s\" to absolute form: %m" +msgstr "не удалось преобразовать относительный путь \"%s\" в абсолютный: %m" -#: ../common/exec.c:422 libpq/pqcomm.c:746 storage/ipc/latch.c:1092 -#: storage/ipc/latch.c:1272 storage/ipc/latch.c:1501 storage/ipc/latch.c:1663 -#: storage/ipc/latch.c:1789 +#: ../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 #, 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:162 +#: ../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:181 utils/misc/ps_status.c:189 -#: utils/misc/ps_status.c:219 utils/misc/ps_status.c:227 +#: ../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 #, c-format msgid "out of memory\n" msgstr "нехватка памяти\n" -#: ../common/fe_memutils.c:92 ../common/fe_memutils.c:154 +#: ../common/fe_memutils.c:92 ../common/fe_memutils.c:153 #, c-format msgid "cannot duplicate null pointer (internal error)\n" msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n" -#: ../common/file_utils.c:87 ../common/file_utils.c:451 -#: ../common/file_utils.c:455 access/transam/twophase.c:1316 -#: access/transam/xlogarchive.c:111 access/transam/xlogarchive.c:230 -#: backup/basebackup.c:338 backup/basebackup.c:528 backup/basebackup.c:599 -#: commands/copyfrom.c:1525 commands/copyto.c:725 commands/extension.c:3372 -#: commands/tablespace.c:826 commands/tablespace.c:917 postmaster/pgarch.c:597 -#: replication/logical/snapbuild.c:1639 storage/file/copydir.c:68 -#: storage/file/copydir.c:107 storage/file/fd.c:1951 storage/file/fd.c:2037 -#: storage/file/fd.c:3243 storage/file/fd.c:3450 utils/adt/dbsize.c:92 -#: utils/adt/dbsize.c:244 utils/adt/dbsize.c:324 utils/adt/genfile.c:413 -#: utils/adt/genfile.c:588 utils/adt/misc.c:327 guc-file.l:1061 +#: ../common/file_utils.c:87 ../common/file_utils.c:447 +#: ../common/file_utils.c:451 access/transam/twophase.c:1315 +#: access/transam/xlogarchive.c:112 access/transam/xlogarchive.c:229 +#: backup/basebackup.c:346 backup/basebackup.c:544 backup/basebackup.c:615 +#: commands/copyfrom.c:1680 commands/copyto.c:702 commands/extension.c:3469 +#: commands/tablespace.c:810 commands/tablespace.c:899 postmaster/pgarch.c:590 +#: replication/logical/snapbuild.c:1649 storage/file/fd.c:1922 +#: storage/file/fd.c:2008 storage/file/fd.c:3511 utils/adt/dbsize.c:106 +#: utils/adt/dbsize.c:258 utils/adt/dbsize.c:338 utils/adt/genfile.c:483 +#: utils/adt/genfile.c:658 utils/adt/misc.c:340 #, c-format msgid "could not stat file \"%s\": %m" msgstr "не удалось получить информацию о файле \"%s\": %m" -#: ../common/file_utils.c:166 ../common/pgfnames.c:48 commands/tablespace.c:749 -#: commands/tablespace.c:759 postmaster/postmaster.c:1576 -#: storage/file/fd.c:2812 storage/file/reinit.c:126 utils/adt/misc.c:235 -#: utils/misc/tzparser.c:338 +#: ../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: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 "не удалось открыть каталог \"%s\": %m" -#: ../common/file_utils.c:200 ../common/pgfnames.c:69 storage/file/fd.c:2824 +#: ../common/file_utils.c:196 ../common/pgfnames.c:69 ../common/rmtree.c:104 +#: storage/file/fd.c:2892 #, c-format msgid "could not read directory \"%s\": %m" msgstr "не удалось прочитать каталог \"%s\": %m" -#: ../common/file_utils.c:383 access/transam/xlogarchive.c:419 -#: postmaster/syslogger.c:1608 replication/logical/snapbuild.c:1779 -#: replication/slot.c:721 replication/slot.c:1570 replication/slot.c:1712 -#: storage/file/fd.c:755 storage/file/fd.c:853 utils/time/snapmgr.c:1282 +#: ../common/file_utils.c:379 access/transam/xlogarchive.c:383 +#: postmaster/pgarch.c:746 postmaster/syslogger.c:1608 +#: replication/logical/snapbuild.c:1810 replication/slot.c:723 +#: replication/slot.c:1716 replication/slot.c:1858 storage/file/fd.c:792 +#: utils/time/snapmgr.c:1284 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "не удалось переименовать файл \"%s\" в \"%s\": %m" @@ -341,75 +338,75 @@ msgstr "не удалось переименовать файл \"%s\" в \"%s\" msgid "internal error" msgstr "внутренняя ошибка" -#: ../common/jsonapi.c:1075 +#: ../common/jsonapi.c:1144 #, c-format msgid "Escape sequence \"\\%s\" is invalid." msgstr "Неверная спецпоследовательность: \"\\%s\"." -#: ../common/jsonapi.c:1078 +#: ../common/jsonapi.c:1147 #, c-format msgid "Character with value 0x%02x must be escaped." msgstr "Символ с кодом 0x%02x необходимо экранировать." -#: ../common/jsonapi.c:1081 +#: ../common/jsonapi.c:1150 #, c-format msgid "Expected end of input, but found \"%s\"." msgstr "Ожидался конец текста, но обнаружено продолжение \"%s\"." -#: ../common/jsonapi.c:1084 +#: ../common/jsonapi.c:1153 #, c-format msgid "Expected array element or \"]\", but found \"%s\"." msgstr "Ожидался элемент массива или \"]\", но обнаружено \"%s\"." -#: ../common/jsonapi.c:1087 +#: ../common/jsonapi.c:1156 #, c-format msgid "Expected \",\" or \"]\", but found \"%s\"." msgstr "Ожидалась \",\" или \"]\", но обнаружено \"%s\"." -#: ../common/jsonapi.c:1090 +#: ../common/jsonapi.c:1159 #, c-format msgid "Expected \":\", but found \"%s\"." msgstr "Ожидалось \":\", но обнаружено \"%s\"." -#: ../common/jsonapi.c:1093 +#: ../common/jsonapi.c:1162 #, c-format msgid "Expected JSON value, but found \"%s\"." msgstr "Ожидалось значение JSON, но обнаружено \"%s\"." -#: ../common/jsonapi.c:1096 +#: ../common/jsonapi.c:1165 msgid "The input string ended unexpectedly." msgstr "Неожиданный конец входной строки." -#: ../common/jsonapi.c:1098 +#: ../common/jsonapi.c:1167 #, c-format msgid "Expected string or \"}\", but found \"%s\"." msgstr "Ожидалась строка или \"}\", но обнаружено \"%s\"." -#: ../common/jsonapi.c:1101 +#: ../common/jsonapi.c:1170 #, c-format msgid "Expected \",\" or \"}\", but found \"%s\"." msgstr "Ожидалась \",\" или \"}\", но обнаружено \"%s\"." -#: ../common/jsonapi.c:1104 +#: ../common/jsonapi.c:1173 #, c-format msgid "Expected string, but found \"%s\"." msgstr "Ожидалась строка, но обнаружено \"%s\"." -#: ../common/jsonapi.c:1107 +#: ../common/jsonapi.c:1176 #, c-format msgid "Token \"%s\" is invalid." msgstr "Ошибочный элемент текста \"%s\"." -#: ../common/jsonapi.c:1110 jsonpath_scan.l:495 +#: ../common/jsonapi.c:1179 jsonpath_scan.l:597 #, c-format msgid "\\u0000 cannot be converted to text." msgstr "\\u0000 нельзя преобразовать в текст." -#: ../common/jsonapi.c:1112 +#: ../common/jsonapi.c:1181 msgid "\"\\u\" must be followed by four hexadecimal digits." msgstr "За \"\\u\" должны следовать четыре шестнадцатеричные цифры." -#: ../common/jsonapi.c:1115 +#: ../common/jsonapi.c:1184 msgid "" "Unicode escape values cannot be used for code point values above 007F when " "the encoding is not UTF8." @@ -417,14 +414,20 @@ msgstr "" "Спецкоды Unicode для значений выше 007F можно использовать только с " "кодировкой UTF8." -#: ../common/jsonapi.c:1117 jsonpath_scan.l:516 +#: ../common/jsonapi.c:1187 +#, c-format +msgid "" +"Unicode escape value could not be translated to the server's encoding %s." +msgstr "Спецкод Unicode нельзя преобразовать в серверную кодировку %s." + +#: ../common/jsonapi.c:1190 jsonpath_scan.l:630 #, c-format msgid "Unicode high surrogate must not follow a high surrogate." msgstr "" "Старшее слово суррогата Unicode не может следовать за другим старшим словом." -#: ../common/jsonapi.c:1119 jsonpath_scan.l:527 jsonpath_scan.l:537 -#: jsonpath_scan.l:579 +#: ../common/jsonapi.c:1192 jsonpath_scan.l:641 jsonpath_scan.l:651 +#: jsonpath_scan.l:702 #, c-format msgid "Unicode low surrogate must follow a high surrogate." msgstr "Младшее слово суррогата Unicode должно следовать за старшим словом." @@ -449,6 +452,26 @@ msgstr "подробности: " msgid "hint: " msgstr "подсказка: " +#: ../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 +#, c-format +msgid "invalid value for parameter \"%s\": \"%s\"" +msgstr "неверное значение для параметра \"%s\": \"%s\"" + +# skip-rule: capital-letter-first +#: ../common/percentrepl.c:80 ../common/percentrepl.c:86 +#, c-format +msgid "String ends unexpectedly after escape character \"%%\"." +msgstr "Строка неожиданно закончилась после спецсимвола \"%%\"." + +#: ../common/percentrepl.c:119 ../common/percentrepl.c:125 +#, c-format +msgid "String contains unexpected placeholder \"%%%c\"." +msgstr "Строка содержит неожиданный местозаполнитель \"%%%c\"." + #: ../common/pgfnames.c:74 #, c-format msgid "could not close directory \"%s\": %m" @@ -464,65 +487,66 @@ msgstr "неверное имя слоя" msgid "Valid fork names are \"main\", \"fsm\", \"vm\", and \"init\"." msgstr "Допустимые имена слоёв: \"main\", \"fsm\", \"vm\" и \"init\"." -#: ../common/restricted_token.c:64 libpq/auth.c:1368 libpq/auth.c:2400 -#, c-format -msgid "could not load library \"%s\": error code %lu" -msgstr "не удалось загрузить библиотеку \"%s\" (код ошибки: %lu)" - -#: ../common/restricted_token.c:73 -#, c-format -msgid "cannot create restricted tokens on this platform: error code %lu" -msgstr "в этой ОС нельзя создавать ограниченные маркеры (код ошибки: %lu)" - -#: ../common/restricted_token.c:82 +#: ../common/restricted_token.c:60 #, c-format msgid "could not open process token: error code %lu" msgstr "не удалось открыть маркер процесса (код ошибки: %lu)" -#: ../common/restricted_token.c:97 +#: ../common/restricted_token.c:74 #, c-format msgid "could not allocate SIDs: error code %lu" msgstr "не удалось подготовить структуры SID (код ошибки: %lu)" -#: ../common/restricted_token.c:119 +#: ../common/restricted_token.c:94 #, c-format msgid "could not create restricted token: error code %lu" msgstr "не удалось создать ограниченный маркер (код ошибки: %lu)" -#: ../common/restricted_token.c:140 +#: ../common/restricted_token.c:115 #, c-format msgid "could not start process for command \"%s\": error code %lu" msgstr "не удалось запустить процесс для команды \"%s\" (код ошибки: %lu)" -#: ../common/restricted_token.c:178 +#: ../common/restricted_token.c:153 #, c-format msgid "could not re-execute with restricted token: error code %lu" msgstr "не удалось перезапуститься с ограниченным маркером (код ошибки: %lu)" -#: ../common/restricted_token.c:193 +#: ../common/restricted_token.c:168 #, c-format msgid "could not get exit code from subprocess: error code %lu" msgstr "не удалось получить код выхода от подпроцесса (код ошибки: %lu)" -#: ../common/rmtree.c:79 backup/basebackup.c:1100 backup/basebackup.c:1276 +#: ../common/rmtree.c:95 access/heap/rewriteheap.c:1248 +#: access/transam/twophase.c:1704 access/transam/xlogarchive.c:120 +#: access/transam/xlogarchive.c:393 postmaster/postmaster.c:1143 +#: postmaster/syslogger.c:1537 replication/logical/origin.c:591 +#: replication/logical/reorderbuffer.c:4526 +#: replication/logical/snapbuild.c:1691 replication/logical/snapbuild.c:2125 +#: replication/slot.c:1909 storage/file/fd.c:832 storage/file/fd.c:3325 +#: storage/file/fd.c:3387 storage/file/reinit.c:262 storage/ipc/dsm.c:316 +#: storage/smgr/md.c:383 storage/smgr/md.c:442 storage/sync/sync.c:248 +#: utils/time/snapmgr.c:1608 #, c-format -msgid "could not stat file or directory \"%s\": %m" -msgstr "не удалось получить информацию о файле или каталоге \"%s\": %m" +msgid "could not remove file \"%s\": %m" +msgstr "не удалось стереть файл \"%s\": %m" -#: ../common/rmtree.c:101 ../common/rmtree.c:113 +#: ../common/rmtree.c:122 commands/tablespace.c:773 commands/tablespace.c:786 +#: commands/tablespace.c:821 commands/tablespace.c:911 storage/file/fd.c:3317 +#: storage/file/fd.c:3726 #, c-format -msgid "could not remove file or directory \"%s\": %m" -msgstr "ошибка при удалении файла или каталога \"%s\": %m" +msgid "could not remove directory \"%s\": %m" +msgstr "ошибка при удалении каталога \"%s\": %m" -#: ../common/scram-common.c:260 +#: ../common/scram-common.c:271 msgid "could not encode salt" msgstr "не удалось закодировать соль" -#: ../common/scram-common.c:276 +#: ../common/scram-common.c:287 msgid "could not encode stored key" msgstr "не удалось закодировать сохранённый ключ" -#: ../common/scram-common.c:293 +#: ../common/scram-common.c:304 msgid "could not encode server key" msgstr "не удалось закодировать ключ сервера" @@ -549,7 +573,7 @@ msgstr "" msgid "could not look up effective user ID %ld: %s" msgstr "выяснить эффективный идентификатор пользователя (%ld) не удалось: %s" -#: ../common/username.c:45 libpq/auth.c:1900 +#: ../common/username.c:45 libpq/auth.c:1881 msgid "user does not exist" msgstr "пользователь не существует" @@ -558,86 +582,86 @@ msgstr "пользователь не существует" msgid "user name lookup failure: error code %lu" msgstr "распознать имя пользователя не удалось (код ошибки: %lu)" -#: ../common/wait_error.c:45 +#: ../common/wait_error.c:55 #, c-format msgid "command not executable" msgstr "неисполняемая команда" -#: ../common/wait_error.c:49 +#: ../common/wait_error.c:59 #, c-format msgid "command not found" msgstr "команда не найдена" -#: ../common/wait_error.c:54 +#: ../common/wait_error.c:64 #, c-format msgid "child process exited with exit code %d" msgstr "дочерний процесс завершился с кодом возврата %d" -#: ../common/wait_error.c:62 +#: ../common/wait_error.c:72 #, c-format msgid "child process was terminated by exception 0x%X" msgstr "дочерний процесс прерван исключением 0x%X" -#: ../common/wait_error.c:66 +#: ../common/wait_error.c:76 #, c-format msgid "child process was terminated by signal %d: %s" msgstr "дочерний процесс завершён по сигналу %d: %s" -#: ../common/wait_error.c:72 +#: ../common/wait_error.c:82 #, c-format msgid "child process exited with unrecognized status %d" msgstr "дочерний процесс завершился с нераспознанным состоянием %d" -#: ../port/chklocale.c:306 +#: ../port/chklocale.c:283 #, c-format msgid "could not determine encoding for codeset \"%s\"" msgstr "не удалось определить кодировку для набора символов \"%s\"" -#: ../port/chklocale.c:427 ../port/chklocale.c:433 +#: ../port/chklocale.c:404 ../port/chklocale.c:410 #, c-format msgid "could not determine encoding for locale \"%s\": codeset is \"%s\"" msgstr "" "не удалось определить кодировку для локали \"%s\": набор символов - \"%s\"" -#: ../port/dirmod.c:218 +#: ../port/dirmod.c:284 #, c-format msgid "could not set junction for \"%s\": %s" msgstr "не удалось создать связь для каталога \"%s\": %s" -#: ../port/dirmod.c:221 +#: ../port/dirmod.c:287 #, c-format msgid "could not set junction for \"%s\": %s\n" msgstr "не удалось создать связь для каталога \"%s\": %s\n" -#: ../port/dirmod.c:295 +#: ../port/dirmod.c:364 #, c-format msgid "could not get junction for \"%s\": %s" msgstr "не удалось получить связь для каталога \"%s\": %s" -#: ../port/dirmod.c:298 +#: ../port/dirmod.c:367 #, c-format msgid "could not get junction for \"%s\": %s\n" msgstr "не удалось получить связь для каталога \"%s\": %s\n" -#: ../port/open.c:117 +#: ../port/open.c:115 #, c-format msgid "could not open file \"%s\": %s" msgstr "не удалось открыть файл \"%s\": %s" -#: ../port/open.c:118 +#: ../port/open.c:116 msgid "lock violation" msgstr "нарушение блокировки" -#: ../port/open.c:118 +#: ../port/open.c:116 msgid "sharing violation" msgstr "нарушение совместного доступа" -#: ../port/open.c:119 +#: ../port/open.c:117 #, c-format msgid "Continuing to retry for 30 seconds." msgstr "Попытки будут продолжены в течение 30 секунд." -#: ../port/open.c:120 +#: ../port/open.c:118 #, c-format msgid "" "You might have antivirus, backup, or similar software interfering with the " @@ -656,12 +680,12 @@ msgstr "не удалось определить текущий рабочий msgid "operating system error %d" msgstr "ошибка ОС %d" -#: ../port/thread.c:100 ../port/thread.c:136 +#: ../port/thread.c:50 ../port/thread.c:86 #, c-format msgid "could not look up local user ID %d: %s" msgstr "найти локального пользователя по идентификатору (%d) не удалось: %s" -#: ../port/thread.c:105 ../port/thread.c:141 +#: ../port/thread.c:55 ../port/thread.c:91 #, c-format msgid "local user with ID %d does not exist" msgstr "локальный пользователь с ID %d не существует" @@ -683,7 +707,7 @@ msgid "could not check access token membership: error code %lu\n" msgstr "" "не удалось проверить вхождение в маркере безопасности (код ошибки: %lu)\n" -#: access/brin/brin.c:214 +#: access/brin/brin.c:216 #, c-format msgid "" "request for BRIN range summarization for index \"%s\" page %u was not " @@ -692,65 +716,66 @@ msgstr "" "запрос на расчёт сводки диапазона BRIN для индекса \"%s\" страницы %u не был " "записан" -#: access/brin/brin.c:1018 access/brin/brin.c:1119 access/gin/ginfast.c:1038 -#: access/transam/xlogfuncs.c:165 access/transam/xlogfuncs.c:192 -#: access/transam/xlogfuncs.c:231 access/transam/xlogfuncs.c:252 -#: access/transam/xlogfuncs.c:273 access/transam/xlogfuncs.c:343 -#: access/transam/xlogfuncs.c:401 +#: access/brin/brin.c:1036 access/brin/brin.c:1137 access/gin/ginfast.c:1040 +#: access/transam/xlogfuncs.c:189 access/transam/xlogfuncs.c:214 +#: access/transam/xlogfuncs.c:247 access/transam/xlogfuncs.c:286 +#: access/transam/xlogfuncs.c:307 access/transam/xlogfuncs.c:328 +#: access/transam/xlogfuncs.c:398 access/transam/xlogfuncs.c:456 #, c-format msgid "recovery is in progress" msgstr "идёт процесс восстановления" -#: access/brin/brin.c:1019 access/brin/brin.c:1120 +#: access/brin/brin.c:1037 access/brin/brin.c:1138 #, c-format msgid "BRIN control functions cannot be executed during recovery." msgstr "Функции управления BRIN нельзя использовать в процессе восстановления." -#: access/brin/brin.c:1024 access/brin/brin.c:1125 +#: access/brin/brin.c:1042 access/brin/brin.c:1143 #, c-format msgid "block number out of range: %lld" msgstr "номер блока вне диапазона: %lld" -#: access/brin/brin.c:1068 access/brin/brin.c:1151 +#: access/brin/brin.c:1086 access/brin/brin.c:1169 #, c-format msgid "\"%s\" is not a BRIN index" msgstr "\"%s\" - это не индекс BRIN" -#: access/brin/brin.c:1084 access/brin/brin.c:1167 +#: access/brin/brin.c:1102 access/brin/brin.c:1185 #, c-format msgid "could not open parent table of index \"%s\"" msgstr "не удалось открыть родительскую таблицу индекса \"%s\"" #: access/brin/brin_bloom.c:750 access/brin/brin_bloom.c:792 -#: access/brin/brin_minmax_multi.c:3012 access/brin/brin_minmax_multi.c:3155 +#: access/brin/brin_minmax_multi.c:3011 access/brin/brin_minmax_multi.c:3148 #: statistics/dependencies.c:663 statistics/dependencies.c:716 #: statistics/mcv.c:1484 statistics/mcv.c:1515 statistics/mvdistinct.c:344 #: statistics/mvdistinct.c:397 utils/adt/pseudotypes.c:43 -#: utils/adt/pseudotypes.c:77 utils/adt/pseudotypes.c:252 +#: utils/adt/pseudotypes.c:77 utils/adt/tsgistidx.c:93 #, c-format msgid "cannot accept a value of type %s" msgstr "значение типа %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:938 -#: utils/adt/timestamp.c:1509 utils/adt/timestamp.c:2761 -#: utils/adt/timestamp.c:2778 utils/adt/timestamp.c:2831 -#: utils/adt/timestamp.c:2870 utils/adt/timestamp.c:3115 -#: utils/adt/timestamp.c:3120 utils/adt/timestamp.c:3125 -#: utils/adt/timestamp.c:3175 utils/adt/timestamp.c:3182 -#: utils/adt/timestamp.c:3189 utils/adt/timestamp.c:3209 -#: utils/adt/timestamp.c:3216 utils/adt/timestamp.c:3223 -#: utils/adt/timestamp.c:3253 utils/adt/timestamp.c:3261 -#: utils/adt/timestamp.c:3305 utils/adt/timestamp.c:3731 -#: utils/adt/timestamp.c:3855 utils/adt/timestamp.c:4405 +#: 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 вне диапазона" #: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:362 -#: access/brin/brin_pageops.c:848 access/gin/ginentrypage.c:110 -#: access/gist/gist.c:1442 access/spgist/spgdoinsert.c:2001 -#: access/spgist/spgdoinsert.c:2278 +#: access/brin/brin_pageops.c:852 access/gin/ginentrypage.c:110 +#: access/gist/gist.c:1442 access/spgist/spgdoinsert.c:2002 +#: access/spgist/spgdoinsert.c:2279 #, c-format msgid "index row size %zu exceeds maximum %zu for index \"%s\"" msgstr "" @@ -761,7 +786,7 @@ msgstr "" msgid "corrupted BRIN index: inconsistent range map" msgstr "испорченный индекс BRIN: несогласованность в карте диапазонов" -#: access/brin/brin_revmap.c:602 +#: access/brin/brin_revmap.c:593 #, c-format msgid "unexpected page type 0x%04X in BRIN index \"%s\" block %u" msgstr "неожиданный тип страницы 0x%04X в BRIN-индексе \"%s\" (блок: %u)" @@ -865,12 +890,12 @@ msgid "" msgstr "" "Число возвращённых столбцов (%d) не соответствует ожидаемому числу (%d)." -#: access/common/attmap.c:229 access/common/attmap.c:241 +#: access/common/attmap.c:234 access/common/attmap.c:246 #, c-format msgid "could not convert row type" msgstr "не удалось преобразовать тип строки" -#: access/common/attmap.c:230 +#: access/common/attmap.c:235 #, c-format msgid "" "Attribute \"%s\" of type %s does not match corresponding attribute of type " @@ -878,12 +903,12 @@ msgid "" msgstr "" "Атрибут \"%s\" типа %s несовместим с соответствующим атрибутом типа %s." -#: access/common/attmap.c:242 +#: access/common/attmap.c:247 #, c-format msgid "Attribute \"%s\" of type %s does not exist in type %s." msgstr "Атрибут \"%s\" типа %s не существует в типе %s." -#: access/common/heaptuple.c:1036 access/common/heaptuple.c:1371 +#: access/common/heaptuple.c:1124 access/common/heaptuple.c:1459 #, c-format msgid "number of columns (%d) exceeds limit (%d)" msgstr "число столбцов (%d) превышает предел (%d)" @@ -893,13 +918,13 @@ msgstr "число столбцов (%d) превышает предел (%d)" msgid "number of index columns (%d) exceeds limit (%d)" msgstr "число столбцов индекса (%d) превышает предел (%d)" -#: access/common/indextuple.c:209 access/spgist/spgutils.c:958 +#: access/common/indextuple.c:209 access/spgist/spgutils.c:950 #, c-format msgid "index row requires %zu bytes, maximum size is %zu" msgstr "строка индекса требует байт: %zu, при максимуме: %zu" -#: access/common/printtup.c:292 tcop/fastpath.c:106 tcop/fastpath.c:453 -#: tcop/postgres.c:1921 +#: access/common/printtup.c:292 tcop/fastpath.c:107 tcop/fastpath.c:454 +#: tcop/postgres.c:1944 #, c-format msgid "unsupported format code: %d" msgstr "неподдерживаемый код формата: %d" @@ -917,78 +942,94 @@ msgstr "Допускаются только значения \"local\" и \"casc msgid "user-defined relation parameter types limit exceeded" msgstr "превышен предел пользовательских типов реляционных параметров" -#: access/common/reloptions.c:1234 +#: access/common/reloptions.c:1233 #, c-format msgid "RESET must not include values for parameters" msgstr "В RESET не должно передаваться значение параметров" -#: access/common/reloptions.c:1266 +#: access/common/reloptions.c:1265 #, c-format msgid "unrecognized parameter namespace \"%s\"" msgstr "нераспознанное пространство имён параметров \"%s\"" -#: access/common/reloptions.c:1303 utils/misc/guc.c:12986 +#: access/common/reloptions.c:1302 commands/variable.c:1167 #, c-format msgid "tables declared WITH OIDS are not supported" msgstr "таблицы со свойством WITH OIDS не поддерживаются" -#: access/common/reloptions.c:1473 +#: access/common/reloptions.c:1470 #, c-format msgid "unrecognized parameter \"%s\"" msgstr "нераспознанный параметр \"%s\"" -#: access/common/reloptions.c:1585 +#: access/common/reloptions.c:1582 #, c-format msgid "parameter \"%s\" specified more than once" msgstr "параметр \"%s\" указан неоднократно" -#: access/common/reloptions.c:1601 +#: access/common/reloptions.c:1598 #, c-format msgid "invalid value for boolean option \"%s\": %s" msgstr "неверное значение для логического параметра \"%s\": %s" -#: access/common/reloptions.c:1613 +#: access/common/reloptions.c:1610 #, c-format msgid "invalid value for integer option \"%s\": %s" msgstr "неверное значение для целочисленного параметра \"%s\": %s" -#: access/common/reloptions.c:1619 access/common/reloptions.c:1639 +#: access/common/reloptions.c:1616 access/common/reloptions.c:1636 #, c-format msgid "value %s out of bounds for option \"%s\"" msgstr "значение %s вне допустимых пределов параметра \"%s\"" -#: access/common/reloptions.c:1621 +#: access/common/reloptions.c:1618 #, c-format msgid "Valid values are between \"%d\" and \"%d\"." msgstr "Допускаются значения только от \"%d\" до \"%d\"." -#: access/common/reloptions.c:1633 +#: access/common/reloptions.c:1630 #, c-format msgid "invalid value for floating point option \"%s\": %s" msgstr "неверное значение для численного параметра \"%s\": %s" -#: access/common/reloptions.c:1641 +#: access/common/reloptions.c:1638 #, c-format msgid "Valid values are between \"%f\" and \"%f\"." msgstr "Допускаются значения только от \"%f\" до \"%f\"." -#: access/common/reloptions.c:1663 +#: access/common/reloptions.c:1660 #, c-format msgid "invalid value for enum option \"%s\": %s" msgstr "неверное значение для параметра-перечисления \"%s\": %s" -#: access/common/toast_compression.c:32 +#: access/common/reloptions.c:1991 +#, c-format +msgid "cannot specify storage parameters for a partitioned table" +msgstr "задать параметры хранения для секционированной таблицы нельзя" + +#: access/common/reloptions.c:1992 +#, c-format +msgid "Specify storage parameters for its leaf partitions instead." +msgstr "Задайте параметры хранения для её конечных секций." + +#: access/common/toast_compression.c:33 #, c-format msgid "compression method lz4 not supported" msgstr "метод сжатия lz4 не поддерживается" -#: access/common/toast_compression.c:33 +#: access/common/toast_compression.c:34 #, c-format msgid "This functionality requires the server to be built with lz4 support." msgstr "Для этой функциональности в сервере не хватает поддержки lz4." -#: access/common/tupdesc.c:825 parser/parse_clause.c:773 -#: parser/parse_relation.c:1857 +#: access/common/tupdesc.c:837 commands/tablecmds.c:6953 +#: commands/tablecmds.c:12973 +#, c-format +msgid "too many array dimensions" +msgstr "слишком много размерностей массива" + +#: access/common/tupdesc.c:842 parser/parse_clause.c:772 +#: parser/parse_relation.c:1913 #, c-format msgid "column \"%s\" cannot be declared SETOF" msgstr "столбец \"%s\" не может быть объявлен как SETOF" @@ -1003,22 +1044,22 @@ msgstr "слишком длинный список указателей" msgid "Reduce maintenance_work_mem." msgstr "Уменьшите maintenance_work_mem." -#: access/gin/ginfast.c:1039 +#: access/gin/ginfast.c:1041 #, c-format msgid "GIN pending list cannot be cleaned up during recovery." msgstr "Очередь записей GIN нельзя очистить в процессе восстановления." -#: access/gin/ginfast.c:1046 +#: access/gin/ginfast.c:1048 #, c-format msgid "\"%s\" is not a GIN index" msgstr "\"%s\" - это не индекс GIN" -#: access/gin/ginfast.c:1057 +#: access/gin/ginfast.c:1059 #, c-format msgid "cannot access temporary indexes of other sessions" msgstr "обращаться к временным индексам других сеансов нельзя" -#: access/gin/ginget.c:271 access/nbtree/nbtinsert.c:760 +#: access/gin/ginget.c:273 access/nbtree/nbtinsert.c:762 #, c-format msgid "failed to re-find tuple within index \"%s\"" msgstr "не удалось повторно найти кортеж в индексе \"%s\"" @@ -1034,9 +1075,9 @@ msgstr "" msgid "To fix this, do REINDEX INDEX \"%s\"." msgstr "Для исправления выполните REINDEX INDEX \"%s\"." -#: access/gin/ginutil.c:145 executor/execExpr.c:2165 -#: utils/adt/arrayfuncs.c:3819 utils/adt/arrayfuncs.c:6488 -#: utils/adt/rowtypes.c:957 +#: access/gin/ginutil.c:146 executor/execExpr.c:2169 +#: utils/adt/arrayfuncs.c:3996 utils/adt/arrayfuncs.c:6683 +#: utils/adt/rowtypes.c:984 #, c-format msgid "could not identify a comparison function for type %s" msgstr "не удалось найти функцию сравнения для типа %s" @@ -1082,8 +1123,8 @@ msgstr "" #: 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:810 -#: access/nbtree/nbtpage.c:821 +#: access/hash/hashutil.c:271 access/nbtree/nbtpage.c:813 +#: access/nbtree/nbtpage.c:824 #, c-format msgid "Please REINDEX it." msgstr "Пожалуйста, выполните REINDEX для него." @@ -1109,13 +1150,13 @@ msgstr "" "вторым." #: access/gist/gistutil.c:798 access/hash/hashutil.c:224 -#: access/nbtree/nbtpage.c:807 +#: access/nbtree/nbtpage.c:810 #, c-format msgid "index \"%s\" contains unexpected zero page at block %u" msgstr "в индексе \"%s\" неожиданно оказалась нулевая страница в блоке %u" #: access/gist/gistutil.c:809 access/hash/hashutil.c:235 -#: access/hash/hashutil.c:247 access/nbtree/nbtpage.c:818 +#: access/hash/hashutil.c:247 access/nbtree/nbtpage.c:821 #, c-format msgid "index \"%s\" contains corrupted page at block %u" msgstr "индекс \"%s\" содержит испорченную страницу в блоке %u" @@ -1138,32 +1179,32 @@ msgstr "" "семейство операторов \"%s\" метода доступа %s содержит некорректное " "определение ORDER BY для оператора %s" -#: access/hash/hashfunc.c:278 access/hash/hashfunc.c:335 -#: utils/adt/varchar.c:1003 utils/adt/varchar.c:1064 +#: access/hash/hashfunc.c:279 access/hash/hashfunc.c:333 +#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1064 #, c-format msgid "could not determine which collation to use for string hashing" msgstr "" "не удалось определить, какое правило сортировки использовать для хеширования " "строк" -#: access/hash/hashfunc.c:279 access/hash/hashfunc.c:336 catalog/heap.c:668 +#: 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:1962 commands/tablecmds.c:17443 commands/view.c:86 -#: regex/regc_pg_locale.c:243 utils/adt/formatting.c:1690 -#: utils/adt/formatting.c:1812 utils/adt/formatting.c:1935 utils/adt/like.c:190 -#: utils/adt/like_support.c:1025 utils/adt/varchar.c:733 -#: utils/adt/varchar.c:1004 utils/adt/varchar.c:1065 utils/adt/varlena.c:1499 +#: commands/indexcmds.c:2039 commands/tablecmds.c:17462 commands/view.c:86 +#: regex/regc_pg_locale.c:243 utils/adt/formatting.c:1648 +#: utils/adt/formatting.c:1770 utils/adt/formatting.c:1893 utils/adt/like.c:191 +#: utils/adt/like_support.c:1025 utils/adt/varchar.c:739 +#: utils/adt/varchar.c:1010 utils/adt/varchar.c:1065 utils/adt/varlena.c:1518 #, c-format msgid "Use the COLLATE clause to set the collation explicitly." msgstr "Задайте правило сортировки явно в предложении COLLATE." -#: access/hash/hashinsert.c:83 +#: access/hash/hashinsert.c:86 #, c-format msgid "index row size %zu exceeds hash maximum %zu" msgstr "размер строки индекса (%zu) больше предельного размера хеша (%zu)" -#: access/hash/hashinsert.c:85 access/spgist/spgdoinsert.c:2005 -#: access/spgist/spgdoinsert.c:2282 access/spgist/spgutils.c:1019 +#: access/hash/hashinsert.c:88 access/spgist/spgdoinsert.c:2006 +#: access/spgist/spgdoinsert.c:2283 access/spgist/spgutils.c:1011 #, c-format msgid "Values larger than a buffer page cannot be indexed." msgstr "Значения, не умещающиеся в страницу буфера, нельзя проиндексировать." @@ -1209,38 +1250,38 @@ msgid "" msgstr "" "в семействе операторов \"%s\" метода доступа %s нет межтипового оператора(ов)" -#: access/heap/heapam.c:2226 +#: access/heap/heapam.c:2027 #, c-format msgid "cannot insert tuples in a parallel worker" msgstr "вставлять кортежи в параллельном исполнителе нельзя" -#: access/heap/heapam.c:2697 +#: access/heap/heapam.c:2546 #, c-format msgid "cannot delete tuples during a parallel operation" msgstr "удалять кортежи во время параллельных операций нельзя" -#: access/heap/heapam.c:2743 +#: access/heap/heapam.c:2593 #, c-format msgid "attempted to delete invisible tuple" msgstr "попытка удаления невидимого кортежа" -#: access/heap/heapam.c:3183 access/heap/heapam.c:6025 +#: access/heap/heapam.c:3036 access/heap/heapam.c:5903 #, c-format msgid "cannot update tuples during a parallel operation" msgstr "изменять кортежи во время параллельных операций нельзя" -#: access/heap/heapam.c:3307 +#: access/heap/heapam.c:3164 #, c-format msgid "attempted to update invisible tuple" msgstr "попытка изменения невидимого кортежа" -#: access/heap/heapam.c:4669 access/heap/heapam.c:4707 -#: access/heap/heapam.c:4972 access/heap/heapam_handler.c:456 +#: access/heap/heapam.c:4551 access/heap/heapam.c:4589 +#: access/heap/heapam.c:4854 access/heap/heapam_handler.c:467 #, c-format msgid "could not obtain lock on row in relation \"%s\"" msgstr "не удалось получить блокировку строки в таблице \"%s\"" -#: access/heap/heapam_handler.c:401 +#: access/heap/heapam_handler.c:412 #, c-format msgid "" "tuple to be locked was already moved to another partition due to concurrent " @@ -1249,79 +1290,66 @@ msgstr "" "кортеж, подлежащий блокировке, был перемещён в другую секцию в результате " "параллельного изменения" -#: access/heap/hio.c:360 access/heap/rewriteheap.c:660 +#: access/heap/hio.c:536 access/heap/rewriteheap.c:659 #, c-format msgid "row is too big: size %zu, maximum size %zu" msgstr "размер строки (%zu) превышает предел (%zu)" -#: access/heap/rewriteheap.c:920 +#: access/heap/rewriteheap.c:919 #, c-format msgid "could not write to file \"%s\", wrote %d of %d: %m" msgstr "не удалось записать в файл \"%s\" (записано байт: %d из %d): %m" -#: access/heap/rewriteheap.c:1013 access/heap/rewriteheap.c:1131 -#: access/transam/timeline.c:329 access/transam/timeline.c:485 -#: access/transam/xlog.c:2963 access/transam/xlog.c:3176 -#: access/transam/xlog.c:3964 access/transam/xlog.c:8653 -#: access/transam/xlogfuncs.c:594 backup/basebackup_server.c:149 -#: backup/basebackup_server.c:242 commands/dbcommands.c:517 -#: postmaster/postmaster.c:4604 postmaster/postmaster.c:5625 -#: replication/logical/origin.c:587 replication/slot.c:1631 -#: storage/file/copydir.c:167 storage/smgr/md.c:222 utils/time/snapmgr.c:1261 +#: 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/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:1777 +#: storage/file/copydir.c:157 storage/smgr/md.c:232 utils/time/snapmgr.c:1263 #, c-format msgid "could not create file \"%s\": %m" msgstr "не удалось создать файл \"%s\": %m" -#: access/heap/rewriteheap.c:1141 +#: access/heap/rewriteheap.c:1138 #, c-format msgid "could not truncate file \"%s\" to %u: %m" msgstr "не удалось обрезать файл \"%s\" до нужного размера (%u): %m" -#: access/heap/rewriteheap.c:1159 access/transam/timeline.c:384 -#: access/transam/timeline.c:424 access/transam/timeline.c:502 -#: access/transam/xlog.c:3035 access/transam/xlog.c:3232 -#: access/transam/xlog.c:3976 commands/dbcommands.c:529 -#: postmaster/postmaster.c:4614 postmaster/postmaster.c:4624 -#: replication/logical/origin.c:599 replication/logical/origin.c:641 -#: replication/logical/origin.c:660 replication/logical/snapbuild.c:1736 -#: replication/slot.c:1666 storage/file/buffile.c:537 -#: storage/file/copydir.c:207 utils/init/miscinit.c:1441 -#: utils/init/miscinit.c:1452 utils/init/miscinit.c:1460 utils/misc/guc.c:8721 -#: utils/misc/guc.c:8752 utils/misc/guc.c:10741 utils/misc/guc.c:10755 -#: utils/time/snapmgr.c:1266 utils/time/snapmgr.c:1273 +#: 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 +#: replication/logical/origin.c:615 replication/logical/origin.c:657 +#: replication/logical/origin.c:676 replication/logical/snapbuild.c:1767 +#: replication/slot.c:1812 storage/file/buffile.c:545 +#: storage/file/copydir.c:197 utils/init/miscinit.c:1605 +#: utils/init/miscinit.c:1616 utils/init/miscinit.c:1624 utils/misc/guc.c:4331 +#: utils/misc/guc.c:4362 utils/misc/guc.c:5490 utils/misc/guc.c:5508 +#: utils/time/snapmgr.c:1268 utils/time/snapmgr.c:1275 #, c-format msgid "could not write to file \"%s\": %m" msgstr "не удалось записать в файл \"%s\": %m" -#: access/heap/rewriteheap.c:1249 access/transam/twophase.c:1705 -#: access/transam/xlogarchive.c:119 access/transam/xlogarchive.c:429 -#: postmaster/postmaster.c:1157 postmaster/syslogger.c:1537 -#: replication/logical/origin.c:575 replication/logical/reorderbuffer.c:4421 -#: replication/logical/snapbuild.c:1681 replication/logical/snapbuild.c:2097 -#: replication/slot.c:1763 storage/file/fd.c:795 storage/file/fd.c:3263 -#: storage/file/fd.c:3325 storage/file/reinit.c:262 storage/ipc/dsm.c:317 -#: storage/smgr/md.c:370 storage/smgr/md.c:429 storage/sync/sync.c:250 -#: utils/time/snapmgr.c:1606 -#, c-format -msgid "could not remove file \"%s\": %m" -msgstr "не удалось стереть файл \"%s\": %m" - -#: access/heap/vacuumlazy.c:407 +#: access/heap/vacuumlazy.c:482 #, c-format msgid "aggressively vacuuming \"%s.%s.%s\"" msgstr "агрессивная очистка \"%s.%s.%s\"" -#: access/heap/vacuumlazy.c:412 +#: access/heap/vacuumlazy.c:487 #, c-format msgid "vacuuming \"%s.%s.%s\"" msgstr "очистка \"%s.%s.%s\"" -#: access/heap/vacuumlazy.c:663 +#: access/heap/vacuumlazy.c:635 #, c-format msgid "finished vacuuming \"%s.%s.%s\": index scans: %d\n" msgstr "закончена очистка \"%s.%s.%s\": сканирований индекса: %d\n" -#: access/heap/vacuumlazy.c:674 +#: access/heap/vacuumlazy.c:646 #, c-format msgid "" "automatic aggressive vacuum to prevent wraparound of table \"%s.%s.%s\": " @@ -1330,7 +1358,7 @@ msgstr "" "автоматическая агрессивная очистка, предотвращающая зацикливание, таблицы " "\"%s.%s.%s\": сканирований индекса: %d\n" -#: access/heap/vacuumlazy.c:676 +#: access/heap/vacuumlazy.c:648 #, c-format msgid "" "automatic vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: " @@ -1339,27 +1367,27 @@ msgstr "" "автоматическая очистка, предотвращающая зацикливание, таблицы \"%s.%s.%s\": " "сканирований индекса: %d\n" -#: access/heap/vacuumlazy.c:681 +#: access/heap/vacuumlazy.c:653 #, c-format msgid "automatic aggressive vacuum of table \"%s.%s.%s\": index scans: %d\n" msgstr "" "автоматическая агрессивная очистка таблицы \"%s.%s.%s\": сканирований " "индекса: %d\n" -#: access/heap/vacuumlazy.c:683 +#: access/heap/vacuumlazy.c:655 #, c-format msgid "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n" msgstr "" "автоматическая очистка таблицы \"%s.%s.%s\": сканирований индекса: %d\n" -#: access/heap/vacuumlazy.c:690 +#: access/heap/vacuumlazy.c:662 #, c-format msgid "pages: %u removed, %u remain, %u scanned (%.2f%% of total)\n" msgstr "" "страниц удалено: %u, осталось: %u, просканировано: %u (%.2f%% от общего " "числа)\n" -#: access/heap/vacuumlazy.c:697 +#: access/heap/vacuumlazy.c:669 #, c-format msgid "" "tuples: %lld removed, %lld remain, %lld are dead but not yet removable\n" @@ -1367,7 +1395,7 @@ msgstr "" "версий строк: удалено: %lld, осталось: %lld, «мёртвых», но ещё не подлежащих " "удалению: %lld\n" -#: access/heap/vacuumlazy.c:703 +#: access/heap/vacuumlazy.c:675 #, c-format msgid "" "tuples missed: %lld dead from %u pages not removed due to cleanup lock " @@ -1376,36 +1404,43 @@ msgstr "" "из-за конфликта блокировки очистки пропущено версий строк: %lld, на " "страницах: %u\n" -#: access/heap/vacuumlazy.c:708 +#: access/heap/vacuumlazy.c:681 #, c-format msgid "removable cutoff: %u, which was %d XIDs old when operation ended\n" msgstr "" "XID отсечки удаления: %u, на момент завершения операции он имел возраст: %d " "XID\n" -#: access/heap/vacuumlazy.c:714 +#: access/heap/vacuumlazy.c:688 #, 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:721 +#: access/heap/vacuumlazy.c:696 #, c-format msgid "new relminmxid: %u, which is %d MXIDs ahead of previous value\n" msgstr "" "новое значение relminmxid: %u, оно продвинулось вперёд от предыдущего " "значения на %d MXID\n" -#: access/heap/vacuumlazy.c:727 +#: access/heap/vacuumlazy.c:699 +#, 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 msgid "index scan not needed: " msgstr "сканирование индекса не требуется: " -#: access/heap/vacuumlazy.c:729 +#: access/heap/vacuumlazy.c:709 msgid "index scan needed: " msgstr "сканирование индекса требуется: " -#: access/heap/vacuumlazy.c:731 +#: access/heap/vacuumlazy.c:711 #, c-format msgid "" "%u pages from table (%.2f%% of total) had %lld dead item identifiers " @@ -1414,22 +1449,22 @@ msgstr "" "на страницах таблицы (%u, %.2f%% от общего числа) удалено мёртвых " "идентификаторов элементов: %lld\n" -#: access/heap/vacuumlazy.c:736 +#: access/heap/vacuumlazy.c:716 msgid "index scan bypassed: " msgstr "сканирование индекса пропущено: " -#: access/heap/vacuumlazy.c:738 +#: access/heap/vacuumlazy.c:718 msgid "index scan bypassed by failsafe: " msgstr "сканирование индекса пропущено из-за защиты: " -#: access/heap/vacuumlazy.c:740 +#: access/heap/vacuumlazy.c:720 #, 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:755 +#: access/heap/vacuumlazy.c:735 #, c-format msgid "" "index \"%s\": pages: %u in total, %u newly deleted, %u currently deleted, %u " @@ -1438,43 +1473,43 @@ msgstr "" "индекс \"%s\": всего страниц: %u, сейчас удалено: %u, удалено на данный " "момент: %u, свободно: %u\n" -#: access/heap/vacuumlazy.c:767 commands/analyze.c:796 +#: access/heap/vacuumlazy.c:747 commands/analyze.c:796 #, c-format msgid "I/O timings: read: %.3f ms, write: %.3f ms\n" msgstr "время ввода/вывода: чтение: %.3f мс, запись: %.3f мс\n" -#: access/heap/vacuumlazy.c:777 commands/analyze.c:799 +#: access/heap/vacuumlazy.c:757 commands/analyze.c:799 #, c-format msgid "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n" msgstr "" "средняя скорость чтения: %.3f МБ/с, средняя скорость записи: %.3f МБ/с\n" -#: access/heap/vacuumlazy.c:780 commands/analyze.c:801 +#: access/heap/vacuumlazy.c:760 commands/analyze.c:801 #, c-format msgid "buffer usage: %lld hits, %lld misses, %lld dirtied\n" msgstr "" "использование буфера: попаданий: %lld, промахов: %lld, «грязных» записей: " "%lld\n" -#: access/heap/vacuumlazy.c:785 +#: access/heap/vacuumlazy.c:765 #, c-format msgid "WAL usage: %lld records, %lld full page images, %llu bytes\n" msgstr "" "использование WAL: записей: %lld, полных образов страниц: %lld, байт: %llu\n" -#: access/heap/vacuumlazy.c:789 commands/analyze.c:805 +#: access/heap/vacuumlazy.c:769 commands/analyze.c:805 #, c-format msgid "system usage: %s" msgstr "нагрузка системы: %s" -#: access/heap/vacuumlazy.c:2463 +#: access/heap/vacuumlazy.c:2482 #, c-format msgid "table \"%s\": removed %lld dead item identifiers in %u pages" msgstr "" "таблица \"%s\": удалено мёртвых идентификаторов элементов: %lld, на " "страницах: %u" -#: access/heap/vacuumlazy.c:2629 +#: access/heap/vacuumlazy.c:2642 #, c-format msgid "" "bypassing nonessential maintenance of table \"%s.%s.%s\" as a failsafe after " @@ -1483,12 +1518,12 @@ msgstr "" "несущественная операция обслуживания таблицы \"%s.%s.%s\" пропускается в " "качестве меры защиты после %d сканирований индекса" -#: access/heap/vacuumlazy.c:2634 +#: access/heap/vacuumlazy.c:2645 #, c-format msgid "The table's relfrozenxid or relminmxid is too far in the past." msgstr "Значение relfrozenxid или relminmxid таблицы слишком далеко в прошлом." -#: access/heap/vacuumlazy.c:2635 +#: access/heap/vacuumlazy.c:2646 #, c-format msgid "" "Consider increasing configuration parameter \"maintenance_work_mem\" or " @@ -1501,23 +1536,23 @@ msgstr "" "Также можно рассмотреть другие способы обеспечения производительности " "VACUUM, соответствующей скорости выделения идентификаторов транзакций." -#: access/heap/vacuumlazy.c:2878 +#: access/heap/vacuumlazy.c:2891 #, c-format msgid "\"%s\": stopping truncate due to conflicting lock request" msgstr "\"%s\": остановка усечения из-за конфликтующего запроса блокировки" -#: access/heap/vacuumlazy.c:2948 +#: access/heap/vacuumlazy.c:2961 #, c-format msgid "table \"%s\": truncated %u to %u pages" msgstr "таблица \"%s\": усечение (было страниц: %u, стало: %u)" -#: access/heap/vacuumlazy.c:3010 +#: access/heap/vacuumlazy.c:3023 #, c-format msgid "table \"%s\": suspending truncate due to conflicting lock request" msgstr "" "таблица \"%s\": приостановка усечения из-за конфликтующего запроса блокировки" -#: access/heap/vacuumlazy.c:3170 +#: access/heap/vacuumlazy.c:3183 #, c-format msgid "" "disabling parallel option of vacuum on \"%s\" --- cannot vacuum temporary " @@ -1526,47 +1561,47 @@ msgstr "" "отключение параллельного режима очистки \"%s\" --- создавать временные " "таблицы в параллельном режиме нельзя" -#: access/heap/vacuumlazy.c:3383 +#: access/heap/vacuumlazy.c:3399 #, c-format msgid "while scanning block %u offset %u of relation \"%s.%s\"" msgstr "при сканировании блока %u (смещение %u) отношения \"%s.%s\"" -#: access/heap/vacuumlazy.c:3386 +#: access/heap/vacuumlazy.c:3402 #, c-format msgid "while scanning block %u of relation \"%s.%s\"" msgstr "при сканировании блока %u отношения \"%s.%s\"" -#: access/heap/vacuumlazy.c:3390 +#: access/heap/vacuumlazy.c:3406 #, c-format msgid "while scanning relation \"%s.%s\"" msgstr "при сканировании отношения \"%s.%s\"" -#: access/heap/vacuumlazy.c:3398 +#: access/heap/vacuumlazy.c:3414 #, c-format msgid "while vacuuming block %u offset %u of relation \"%s.%s\"" msgstr "при очистке блока %u (смещение %u) отношения \"%s.%s\"" -#: access/heap/vacuumlazy.c:3401 +#: access/heap/vacuumlazy.c:3417 #, c-format msgid "while vacuuming block %u of relation \"%s.%s\"" msgstr "при очистке блока %u отношения \"%s.%s\"" -#: access/heap/vacuumlazy.c:3405 +#: access/heap/vacuumlazy.c:3421 #, c-format msgid "while vacuuming relation \"%s.%s\"" msgstr "при очистке отношения \"%s.%s\"" -#: access/heap/vacuumlazy.c:3410 commands/vacuumparallel.c:1058 +#: access/heap/vacuumlazy.c:3426 commands/vacuumparallel.c:1074 #, c-format msgid "while vacuuming index \"%s\" of relation \"%s.%s\"" msgstr "при очистке индекса \"%s\" отношения \"%s.%s\"" -#: access/heap/vacuumlazy.c:3415 commands/vacuumparallel.c:1064 +#: access/heap/vacuumlazy.c:3431 commands/vacuumparallel.c:1080 #, c-format msgid "while cleaning up index \"%s\" of relation \"%s.%s\"" msgstr "при уборке индекса \"%s\" отношения \"%s.%s\"" -#: access/heap/vacuumlazy.c:3421 +#: access/heap/vacuumlazy.c:3437 #, c-format msgid "while truncating relation \"%s.%s\" to %u blocks" msgstr "при усечении отношения \"%s.%s\" до %u блок." @@ -1581,45 +1616,45 @@ msgstr "метод доступа \"%s\" имеет не тип %s" msgid "index access method \"%s\" does not have a handler" msgstr "для метода доступа индекса \"%s\" не задан обработчик" -#: access/index/genam.c:489 +#: access/index/genam.c:490 #, c-format msgid "transaction aborted during system catalog scan" msgstr "транзакция прервана во время сканирования системного каталога" -#: access/index/indexam.c:142 catalog/objectaddress.c:1376 -#: commands/indexcmds.c:2790 commands/tablecmds.c:271 commands/tablecmds.c:295 -#: commands/tablecmds.c:17131 commands/tablecmds.c:18910 +#: 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 #, c-format msgid "\"%s\" is not an index" msgstr "\"%s\" - это не индекс" -#: access/index/indexam.c:973 +#: access/index/indexam.c:979 #, c-format msgid "operator class %s has no options" msgstr "у класса операторов %s нет параметров" -#: access/nbtree/nbtinsert.c:666 +#: access/nbtree/nbtinsert.c:668 #, c-format msgid "duplicate key value violates unique constraint \"%s\"" msgstr "повторяющееся значение ключа нарушает ограничение уникальности \"%s\"" -#: access/nbtree/nbtinsert.c:668 +#: access/nbtree/nbtinsert.c:670 #, c-format msgid "Key %s already exists." msgstr "Ключ \"%s\" уже существует." -#: access/nbtree/nbtinsert.c:762 +#: access/nbtree/nbtinsert.c:764 #, c-format msgid "This may be because of a non-immutable index expression." msgstr "Возможно, это вызвано переменной природой индексного выражения." -#: access/nbtree/nbtpage.c:159 access/nbtree/nbtpage.c:608 -#: parser/parse_utilcmd.c:2332 +#: access/nbtree/nbtpage.c:157 access/nbtree/nbtpage.c:611 +#: parser/parse_utilcmd.c:2317 #, c-format msgid "index \"%s\" is not a btree" msgstr "индекс \"%s\" не является b-деревом" -#: access/nbtree/nbtpage.c:166 access/nbtree/nbtpage.c:615 +#: access/nbtree/nbtpage.c:164 access/nbtree/nbtpage.c:618 #, c-format msgid "" "version mismatch in index \"%s\": file version %d, current version %d, " @@ -1628,12 +1663,12 @@ msgstr "" "несовпадение версии в индексе \"%s\": версия файла: %d, версия кода: %d, " "минимальная поддерживаемая версия: %d" -#: access/nbtree/nbtpage.c:1874 +#: access/nbtree/nbtpage.c:1866 #, c-format msgid "index \"%s\" contains a half-dead internal page" msgstr "индекс \"%s\" содержит полумёртвую внутреннюю страницу" -#: access/nbtree/nbtpage.c:1876 +#: access/nbtree/nbtpage.c:1868 #, c-format msgid "" "This can be caused by an interrupted VACUUM in version 9.3 or older, before " @@ -1642,7 +1677,7 @@ msgstr "" "Причиной тому могло быть прерывание операции VACUUM в версии 9.3 или старее, " "до обновления. Этот индекс нужно перестроить (REINDEX)." -#: access/nbtree/nbtutils.c:2669 +#: access/nbtree/nbtutils.c:2662 #, c-format msgid "" "index row size %zu exceeds btree version %u maximum %zu for index \"%s\"" @@ -1650,12 +1685,12 @@ msgstr "" "размер строки индекса (%zu) больше предельного для btree версии %u размера " "(%zu) (индекс \"%s\")" -#: access/nbtree/nbtutils.c:2675 +#: access/nbtree/nbtutils.c:2668 #, c-format msgid "Index row references tuple (%u,%u) in relation \"%s\"." msgstr "Строка индекса ссылается на кортеж (%u,%u) в отношении \"%s\"." -#: access/nbtree/nbtutils.c:2679 +#: access/nbtree/nbtutils.c:2672 #, c-format msgid "" "Values larger than 1/3 of a buffer page cannot be indexed.\n" @@ -1676,7 +1711,7 @@ msgstr "" "в семействе операторов \"%s\" метода доступа %s нет опорной функции для " "типов %s и %s" -#: access/spgist/spgutils.c:244 +#: access/spgist/spgutils.c:245 #, c-format msgid "" "compress method must be defined when leaf type is different from input type" @@ -1684,7 +1719,7 @@ msgstr "" "метод сжатия должен быть определён, когда тип листьев отличается от входного " "типа" -#: access/spgist/spgutils.c:1016 +#: access/spgist/spgutils.c:1008 #, c-format msgid "SP-GiST inner tuple size %zu exceeds maximum %zu" msgstr "внутренний размер кортежа SP-GiST (%zu) превышает максимум (%zu)" @@ -1705,41 +1740,33 @@ msgstr "" "в семействе операторов \"%s\" метода доступа %s нет опорной функции %d для " "типа %s" -#: access/table/table.c:49 access/table/table.c:83 access/table/table.c:112 -#: access/table/table.c:145 catalog/aclchk.c:1835 -#, c-format -msgid "\"%s\" is an index" -msgstr "\"%s\" - это индекс" - -#: access/table/table.c:54 access/table/table.c:88 access/table/table.c:117 -#: access/table/table.c:150 catalog/aclchk.c:1842 commands/tablecmds.c:13829 -#: commands/tablecmds.c:17140 +#: access/table/table.c:145 optimizer/util/plancat.c:145 #, c-format -msgid "\"%s\" is a composite type" -msgstr "\"%s\" - это составной тип" +msgid "cannot open relation \"%s\"" +msgstr "открыть отношение \"%s\" нельзя" -#: access/table/tableam.c:266 +#: access/table/tableam.c:265 #, c-format msgid "tid (%u, %u) is not valid for relation \"%s\"" msgstr "идентификатор кортежа (%u, %u) недопустим для отношения \"%s\"" -#: access/table/tableamapi.c:115 +#: access/table/tableamapi.c:116 #, c-format msgid "%s cannot be empty." msgstr "Значение %s не может быть пустым." # well-spelled: симв -#: access/table/tableamapi.c:122 utils/misc/guc.c:12910 +#: access/table/tableamapi.c:123 access/transam/xlogrecovery.c:4774 #, c-format msgid "%s is too long (maximum %d characters)." msgstr "Длина %s превышает предел (%d симв.)." -#: access/table/tableamapi.c:145 +#: access/table/tableamapi.c:146 #, c-format msgid "table access method \"%s\" does not exist" msgstr "табличный метод доступа \"%s\" не существует" -#: access/table/tableamapi.c:150 +#: access/table/tableamapi.c:151 #, c-format msgid "Table access method \"%s\" does not exist." msgstr "Табличный метод доступа \"%s\" не существует." @@ -1749,29 +1776,29 @@ msgstr "Табличный метод доступа \"%s\" не существ msgid "sample percentage must be between 0 and 100" msgstr "процент выборки должен задаваться числом от 0 до 100" -#: access/transam/commit_ts.c:282 +#: access/transam/commit_ts.c:279 #, c-format msgid "cannot retrieve commit timestamp for transaction %u" msgstr "не удалось получить метку времени фиксации транзакции %u" -#: access/transam/commit_ts.c:380 +#: access/transam/commit_ts.c:377 #, c-format msgid "could not get commit timestamp data" msgstr "не удалось получить отметку времени фиксации" -#: access/transam/commit_ts.c:382 +#: access/transam/commit_ts.c:379 #, c-format msgid "" "Make sure the configuration parameter \"%s\" is set on the primary server." msgstr "" "Убедитесь, что в конфигурации ведущего сервера установлен параметр \"%s\"." -#: access/transam/commit_ts.c:384 +#: access/transam/commit_ts.c:381 #, c-format msgid "Make sure the configuration parameter \"%s\" is set." msgstr "Убедитесь, что в конфигурации установлен параметр \"%s\"." -#: access/transam/multixact.c:1022 +#: access/transam/multixact.c:1023 #, c-format msgid "" "database is not accepting commands that generate new MultiXactIds to avoid " @@ -1780,8 +1807,8 @@ msgstr "" "база данных не принимает команды, создающие новые MultiXactId, во избежание " "потери данных из-за зацикливания в базе данных \"%s\"" -#: access/transam/multixact.c:1024 access/transam/multixact.c:1031 -#: access/transam/multixact.c:1055 access/transam/multixact.c:1064 +#: access/transam/multixact.c:1025 access/transam/multixact.c:1032 +#: access/transam/multixact.c:1056 access/transam/multixact.c:1065 #, c-format msgid "" "Execute a database-wide VACUUM in that database.\n" @@ -1792,7 +1819,7 @@ msgstr "" "Возможно, вам также придётся зафиксировать или откатить старые " "подготовленные транзакции и удалить неиспользуемые слоты репликации." -#: access/transam/multixact.c:1029 +#: access/transam/multixact.c:1030 #, c-format msgid "" "database is not accepting commands that generate new MultiXactIds to avoid " @@ -1801,7 +1828,7 @@ msgstr "" "база данных не принимает команды, создающие новые MultiXactId, во избежание " "потери данных из-за зацикливания в базе данных с OID %u" -#: access/transam/multixact.c:1050 access/transam/multixact.c:2334 +#: access/transam/multixact.c:1051 access/transam/multixact.c:2333 #, c-format msgid "database \"%s\" must be vacuumed before %u more MultiXactId is used" msgid_plural "" @@ -1816,7 +1843,7 @@ msgstr[2] "" "база данных \"%s\" должна быть очищена, прежде чем будут использованы " "оставшиеся MultiXactId (%u)" -#: access/transam/multixact.c:1059 access/transam/multixact.c:2343 +#: access/transam/multixact.c:1060 access/transam/multixact.c:2342 #, c-format msgid "" "database with OID %u must be vacuumed before %u more MultiXactId is used" @@ -1832,12 +1859,12 @@ msgstr[2] "" "база данных с OID %u должна быть очищена, прежде чем будут использованы " "оставшиеся MultiXactId (%u)" -#: access/transam/multixact.c:1120 +#: access/transam/multixact.c:1121 #, c-format msgid "multixact \"members\" limit exceeded" msgstr "слишком много членов мультитранзакции" -#: access/transam/multixact.c:1121 +#: access/transam/multixact.c:1122 #, c-format msgid "" "This command would create a multixact with %u members, but the remaining " @@ -1855,7 +1882,7 @@ msgstr[2] "" "Мультитранзакция, создаваемая этой командой, должна включать членов: %u, но " "оставшегося места хватает только для %u." -#: access/transam/multixact.c:1126 +#: access/transam/multixact.c:1127 #, c-format msgid "" "Execute a database-wide VACUUM in database with OID %u with reduced " @@ -1865,7 +1892,7 @@ msgstr "" "Выполните очистку (VACUUM) всей базы данных с OID %u, уменьшив значения " "vacuum_multixact_freeze_min_age и vacuum_multixact_freeze_table_age." -#: access/transam/multixact.c:1157 +#: access/transam/multixact.c:1158 #, c-format msgid "" "database with OID %u must be vacuumed before %d more multixact member is used" @@ -1882,7 +1909,7 @@ msgstr[2] "" "база данных с OID %u должна быть очищена, пока не использованы оставшиеся " "члены мультитранзакций (%d)" -#: access/transam/multixact.c:1162 +#: access/transam/multixact.c:1163 #, c-format msgid "" "Execute a database-wide VACUUM in that database with reduced " @@ -1892,17 +1919,17 @@ msgstr "" "Выполните очистку (VACUUM) всей этой базы данных, уменьшив значения " "vacuum_multixact_freeze_min_age и vacuum_multixact_freeze_table_age." -#: access/transam/multixact.c:1301 +#: access/transam/multixact.c:1302 #, c-format msgid "MultiXactId %u does no longer exist -- apparent wraparound" msgstr "MultiXactId %u прекратил существование: видимо, произошло зацикливание" -#: access/transam/multixact.c:1307 +#: access/transam/multixact.c:1308 #, c-format msgid "MultiXactId %u has not been created yet -- apparent wraparound" msgstr "MultiXactId %u ещё не был создан: видимо, произошло зацикливание" -#: access/transam/multixact.c:2339 access/transam/multixact.c:2348 +#: access/transam/multixact.c:2338 access/transam/multixact.c:2347 #: access/transam/varsup.c:151 access/transam/varsup.c:158 #: access/transam/varsup.c:466 access/transam/varsup.c:473 #, c-format @@ -1930,7 +1957,7 @@ msgstr "" msgid "MultiXact member wraparound protections are now enabled" msgstr "Защита от зацикливания мультитранзакций сейчас включена" -#: access/transam/multixact.c:3031 +#: access/transam/multixact.c:3027 #, c-format msgid "" "oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation" @@ -1938,7 +1965,7 @@ msgstr "" "старейшая мультитранзакция %u не найдена, новейшая мультитранзакция: %u, " "усечение пропускается" -#: access/transam/multixact.c:3049 +#: access/transam/multixact.c:3045 #, c-format msgid "" "cannot truncate up to MultiXact %u because it does not exist on disk, " @@ -1947,41 +1974,41 @@ msgstr "" "выполнить усечение до мультитранзакции %u нельзя ввиду её отсутствия на " "диске, усечение пропускается" -#: access/transam/multixact.c:3363 +#: access/transam/multixact.c:3359 #, c-format msgid "invalid MultiXactId: %u" msgstr "неверный MultiXactId: %u" -#: access/transam/parallel.c:718 access/transam/parallel.c:837 +#: access/transam/parallel.c:729 access/transam/parallel.c:848 #, c-format msgid "parallel worker failed to initialize" msgstr "не удалось инициализировать параллельный исполнитель" -#: access/transam/parallel.c:719 access/transam/parallel.c:838 +#: access/transam/parallel.c:730 access/transam/parallel.c:849 #, c-format msgid "More details may be available in the server log." msgstr "Дополнительная информация может быть в журнале сервера." -#: access/transam/parallel.c:899 +#: access/transam/parallel.c:910 #, c-format msgid "postmaster exited during a parallel transaction" msgstr "postmaster завершился в процессе параллельной транзакции" -#: access/transam/parallel.c:1086 +#: access/transam/parallel.c:1097 #, c-format msgid "lost connection to parallel worker" msgstr "потеряно подключение к параллельному исполнителю" -#: access/transam/parallel.c:1152 access/transam/parallel.c:1154 +#: access/transam/parallel.c:1163 access/transam/parallel.c:1165 msgid "parallel worker" msgstr "параллельный исполнитель" -#: access/transam/parallel.c:1307 +#: access/transam/parallel.c:1319 replication/logical/applyparallelworker.c:893 #, c-format msgid "could not map dynamic shared memory segment" msgstr "не удалось отобразить динамический сегмент разделяемой памяти" -#: access/transam/parallel.c:1312 +#: access/transam/parallel.c:1324 replication/logical/applyparallelworker.c:899 #, c-format msgid "invalid magic number in dynamic shared memory segment" msgstr "неверное магическое число в динамическом сегменте разделяемой памяти" @@ -2148,64 +2175,64 @@ msgid "Timeline IDs must be less than child timeline's ID." msgstr "" "Идентификаторы линий времени должны быть меньше идентификатора линии-потомка." -#: access/transam/timeline.c:597 +#: access/transam/timeline.c:589 #, c-format msgid "requested timeline %u is not in this server's history" msgstr "в истории сервера нет запрошенной линии времени %u" -#: access/transam/twophase.c:385 +#: access/transam/twophase.c:386 #, c-format msgid "transaction identifier \"%s\" is too long" msgstr "идентификатор транзакции \"%s\" слишком длинный" -#: access/transam/twophase.c:392 +#: access/transam/twophase.c:393 #, c-format msgid "prepared transactions are disabled" msgstr "подготовленные транзакции отключены" -#: access/transam/twophase.c:393 +#: access/transam/twophase.c:394 #, c-format msgid "Set max_prepared_transactions to a nonzero value." msgstr "Установите ненулевое значение параметра max_prepared_transactions." -#: access/transam/twophase.c:412 +#: access/transam/twophase.c:413 #, c-format msgid "transaction identifier \"%s\" is already in use" msgstr "идентификатор транзакции \"%s\" уже используется" -#: access/transam/twophase.c:421 access/transam/twophase.c:2486 +#: access/transam/twophase.c:422 access/transam/twophase.c:2517 #, c-format msgid "maximum number of prepared transactions reached" msgstr "достигнут предел числа подготовленных транзакций" -#: access/transam/twophase.c:422 access/transam/twophase.c:2487 +#: access/transam/twophase.c:423 access/transam/twophase.c:2518 #, c-format msgid "Increase max_prepared_transactions (currently %d)." msgstr "Увеличьте параметр max_prepared_transactions (текущее значение %d)." -#: access/transam/twophase.c:598 +#: access/transam/twophase.c:599 #, c-format msgid "prepared transaction with identifier \"%s\" is busy" msgstr "подготовленная транзакция с идентификатором \"%s\" занята" -#: access/transam/twophase.c:604 +#: access/transam/twophase.c:605 #, c-format msgid "permission denied to finish prepared transaction" msgstr "нет доступа для завершения подготовленной транзакции" -#: access/transam/twophase.c:605 +#: access/transam/twophase.c:606 #, c-format msgid "Must be superuser or the user that prepared the transaction." msgstr "" "Это разрешено только суперпользователю и пользователю, подготовившему " "транзакцию." -#: access/transam/twophase.c:616 +#: access/transam/twophase.c:617 #, c-format msgid "prepared transaction belongs to another database" msgstr "подготовленная транзакция относится к другой базе данных" -#: 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." @@ -2214,17 +2241,17 @@ msgstr "" "подготовлена." # [SM]: TO REVIEW -#: access/transam/twophase.c:632 +#: access/transam/twophase.c:633 #, c-format msgid "prepared transaction with identifier \"%s\" does not exist" msgstr "подготовленной транзакции с идентификатором \"%s\" нет" -#: access/transam/twophase.c:1169 +#: access/transam/twophase.c:1168 #, c-format msgid "two-phase state file maximum length exceeded" msgstr "превышен предельный размер файла состояния 2PC" -#: access/transam/twophase.c:1324 +#: access/transam/twophase.c:1323 #, c-format msgid "incorrect size of file \"%s\": %lld byte" msgid_plural "incorrect size of file \"%s\": %lld bytes" @@ -2232,62 +2259,62 @@ msgstr[0] "некорректный размер файла \"%s\": %lld Б" msgstr[1] "некорректный размер файла \"%s\": %lld Б" msgstr[2] "некорректный размер файла \"%s\": %lld Б" -#: access/transam/twophase.c:1333 +#: access/transam/twophase.c:1332 #, c-format msgid "incorrect alignment of CRC offset for file \"%s\"" msgstr "некорректное выравнивание смещения CRC для файла \"%s\"" -#: access/transam/twophase.c:1351 +#: access/transam/twophase.c:1350 #, c-format msgid "could not read file \"%s\": read %d of %lld" msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %lld)" -#: access/transam/twophase.c:1366 +#: access/transam/twophase.c:1365 #, c-format msgid "invalid magic number stored in file \"%s\"" msgstr "в файле \"%s\" содержится неверная сигнатура" -#: access/transam/twophase.c:1372 +#: access/transam/twophase.c:1371 #, c-format msgid "invalid size stored in file \"%s\"" msgstr "в файле \"%s\" содержится неверный размер" -#: access/transam/twophase.c:1384 +#: access/transam/twophase.c:1383 #, c-format msgid "calculated CRC checksum does not match value stored in file \"%s\"" msgstr "" "вычисленная контрольная сумма (CRC) не соответствует значению, сохранённому " "в файле \"%s\"" -#: access/transam/twophase.c:1414 access/transam/xlogrecovery.c:569 -#: replication/logical/logical.c:206 replication/walsender.c:702 +#: access/transam/twophase.c:1413 access/transam/xlogrecovery.c:590 +#: replication/logical/logical.c:209 replication/walsender.c:687 #, c-format msgid "Failed while allocating a WAL reading processor." msgstr "Не удалось разместить обработчик журнала транзакций." -#: access/transam/twophase.c:1424 +#: access/transam/twophase.c:1423 #, c-format msgid "could not read two-phase state from WAL at %X/%X: %s" msgstr "не удалось прочитать состояние 2PC из WAL в позиции %X/%X: %s" -#: access/transam/twophase.c:1429 +#: access/transam/twophase.c:1428 #, c-format msgid "could not read two-phase state from WAL at %X/%X" msgstr "не удалось прочитать состояние 2PC из WAL в позиции %X/%X" -#: access/transam/twophase.c:1437 +#: access/transam/twophase.c:1436 #, c-format msgid "expected two-phase state data is not present in WAL at %X/%X" msgstr "" "ожидаемые данные состояния двухфазной фиксации отсутствуют в WAL в позиции " "%X/%X" -#: access/transam/twophase.c:1733 +#: access/transam/twophase.c:1732 #, c-format msgid "could not recreate file \"%s\": %m" msgstr "пересоздать файл \"%s\" не удалось: %m" -#: access/transam/twophase.c:1860 +#: access/transam/twophase.c:1859 #, c-format msgid "" "%u two-phase state file was written for a long-running prepared transaction" @@ -2300,41 +2327,61 @@ msgstr[1] "" msgstr[2] "" "для длительных подготовленных транзакций записано файлов состояния 2PC: %u" -#: access/transam/twophase.c:2094 +#: access/transam/twophase.c:2093 #, c-format msgid "recovering prepared transaction %u from shared memory" msgstr "восстановление подготовленной транзакции %u из разделяемой памяти" -#: access/transam/twophase.c:2187 +#: access/transam/twophase.c:2186 #, c-format msgid "removing stale two-phase state file for transaction %u" msgstr "удаление устаревшего файла состояния 2PC для транзакции %u" -#: access/transam/twophase.c:2194 +#: access/transam/twophase.c:2193 #, c-format msgid "removing stale two-phase state from memory for transaction %u" msgstr "удаление из памяти устаревшего состояния 2PC для транзакции %u" -#: access/transam/twophase.c:2207 +#: access/transam/twophase.c:2206 #, c-format msgid "removing future two-phase state file for transaction %u" msgstr "удаление файла будущего состояния 2PC для транзакции %u" -#: access/transam/twophase.c:2214 +#: access/transam/twophase.c:2213 #, c-format msgid "removing future two-phase state from memory for transaction %u" msgstr "удаление из памяти будущего состояния 2PC для транзакции %u" -#: access/transam/twophase.c:2239 +#: access/transam/twophase.c:2238 #, c-format msgid "corrupted two-phase state file for transaction %u" msgstr "испорчен файл состояния 2PC для транзакции %u" -#: access/transam/twophase.c:2244 +#: access/transam/twophase.c:2243 #, c-format msgid "corrupted two-phase state in memory for transaction %u" msgstr "испорчено состояние 2PC в памяти для транзакции %u" +#: access/transam/twophase.c:2500 +#, c-format +msgid "could not recover two-phase state file for transaction %u" +msgstr "не удалось восстановить файл состояния 2PC для транзакции %u" + +#: access/transam/twophase.c:2502 +#, 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 "" +"Для WAL-записи %X/%X найден файл состояния двухфазной фиксации, но эта " +"транзакция уже была восстановлена с диска." + +#: access/transam/twophase.c:2510 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" + #: access/transam/varsup.c:129 #, c-format msgid "" @@ -2377,124 +2424,124 @@ msgid "database with OID %u must be vacuumed within %u transactions" msgstr "" "база данных с OID %u должна быть очищена (предельное число транзакций: %u)" -#: access/transam/xact.c:1098 +#: access/transam/xact.c:1102 #, c-format msgid "cannot have more than 2^32-2 commands in a transaction" msgstr "в одной транзакции не может быть больше 2^32-2 команд" -#: access/transam/xact.c:1644 +#: access/transam/xact.c:1643 #, c-format msgid "maximum number of committed subtransactions (%d) exceeded" msgstr "превышен предел числа зафиксированных подтранзакций (%d)" -#: access/transam/xact.c:2501 +#: access/transam/xact.c:2513 #, c-format msgid "cannot PREPARE a transaction that has operated on temporary objects" msgstr "" "нельзя выполнить PREPARE для транзакции, оперирующей с временными объектами" -#: access/transam/xact.c:2511 +#: access/transam/xact.c:2523 #, c-format msgid "cannot PREPARE a transaction that has exported snapshots" msgstr "нельзя выполнить PREPARE для транзакции, снимки которой экспортированы" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3478 +#: access/transam/xact.c:3489 #, c-format msgid "%s cannot run inside a transaction block" msgstr "%s не может выполняться внутри блока транзакции" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3488 +#: access/transam/xact.c:3499 #, c-format msgid "%s cannot run inside a subtransaction" msgstr "%s не может выполняться внутри подтранзакции" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3498 +#: access/transam/xact.c:3509 #, c-format msgid "%s cannot be executed within a pipeline" msgstr "%s нельзя выполнять в конвейере" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3508 +#: access/transam/xact.c:3519 #, c-format msgid "%s cannot be executed from a function" msgstr "%s нельзя выполнять внутри функции" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3579 access/transam/xact.c:3894 -#: access/transam/xact.c:3973 access/transam/xact.c:4096 -#: access/transam/xact.c:4247 access/transam/xact.c:4316 -#: access/transam/xact.c:4427 +#: 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 #, c-format msgid "%s can only be used in transaction blocks" msgstr "%s может выполняться только внутри блоков транзакций" -#: access/transam/xact.c:3780 +#: access/transam/xact.c:3801 #, c-format msgid "there is already a transaction in progress" msgstr "транзакция уже выполняется" -#: access/transam/xact.c:3899 access/transam/xact.c:3978 -#: access/transam/xact.c:4101 +#: access/transam/xact.c:3920 access/transam/xact.c:3999 +#: access/transam/xact.c:4122 #, c-format msgid "there is no transaction in progress" msgstr "нет незавершённой транзакции" -#: access/transam/xact.c:3989 +#: access/transam/xact.c:4010 #, c-format msgid "cannot commit during a parallel operation" msgstr "фиксировать транзакции во время параллельных операций нельзя" -#: access/transam/xact.c:4112 +#: access/transam/xact.c:4133 #, c-format msgid "cannot abort during a parallel operation" msgstr "прерывание во время параллельных операций невозможно" -#: access/transam/xact.c:4211 +#: access/transam/xact.c:4232 #, c-format msgid "cannot define savepoints during a parallel operation" msgstr "определять точки сохранения во время параллельных операций нельзя" -#: access/transam/xact.c:4298 +#: access/transam/xact.c:4319 #, c-format msgid "cannot release savepoints during a parallel operation" msgstr "высвобождать точки сохранения во время параллельных операций нельзя" -#: access/transam/xact.c:4308 access/transam/xact.c:4359 -#: access/transam/xact.c:4419 access/transam/xact.c:4468 +#: access/transam/xact.c:4329 access/transam/xact.c:4380 +#: access/transam/xact.c:4440 access/transam/xact.c:4489 #, c-format msgid "savepoint \"%s\" does not exist" msgstr "точка сохранения \"%s\" не существует" -#: access/transam/xact.c:4365 access/transam/xact.c:4474 +#: access/transam/xact.c:4386 access/transam/xact.c:4495 #, c-format msgid "savepoint \"%s\" does not exist within current savepoint level" msgstr "" "точка сохранения \"%s\" на текущем уровне точек сохранения не существует" -#: access/transam/xact.c:4407 +#: access/transam/xact.c:4428 #, c-format msgid "cannot rollback to savepoints during a parallel operation" msgstr "откатиться к точке сохранения во время параллельных операций нельзя" -#: access/transam/xact.c:4535 +#: access/transam/xact.c:4556 #, c-format msgid "cannot start subtransactions during a parallel operation" msgstr "запускать подтранзакции во время параллельных операций нельзя" -#: access/transam/xact.c:4603 +#: access/transam/xact.c:4624 #, c-format msgid "cannot commit subtransactions during a parallel operation" msgstr "фиксировать подтранзакции во время параллельных операций нельзя" -#: access/transam/xact.c:5250 +#: access/transam/xact.c:5270 #, c-format msgid "cannot have more than 2^32-1 subtransactions in a transaction" msgstr "в одной транзакции не может быть больше 2^32-1 подтранзакций" -#: access/transam/xlog.c:1463 +#: access/transam/xlog.c:1466 #, c-format msgid "" "request to flush past end of generated WAL; request %X/%X, current position " @@ -2503,55 +2550,55 @@ msgstr "" "запрос на сброс данных за концом сгенерированного WAL; запрошена позиция %X/" "%X, текущая позиция %X/%X" -#: access/transam/xlog.c:2224 +#: access/transam/xlog.c:2228 #, c-format msgid "could not write to log file %s at offset %u, length %zu: %m" msgstr "не удалось записать в файл журнала %s (смещение: %u, длина: %zu): %m" -#: access/transam/xlog.c:3471 access/transam/xlogutils.c:847 -#: replication/walsender.c:2716 +#: access/transam/xlog.c:3455 access/transam/xlogutils.c:833 +#: replication/walsender.c:2725 #, c-format msgid "requested WAL segment %s has already been removed" msgstr "запрошенный сегмент WAL %s уже удалён" -#: access/transam/xlog.c:3756 +#: access/transam/xlog.c:3739 #, c-format msgid "could not rename file \"%s\": %m" msgstr "не удалось переименовать файл \"%s\": %m" -#: access/transam/xlog.c:3798 access/transam/xlog.c:3808 +#: access/transam/xlog.c:3781 access/transam/xlog.c:3791 #, c-format msgid "required WAL directory \"%s\" does not exist" msgstr "требуемый каталог WAL \"%s\" не существует" -#: access/transam/xlog.c:3814 +#: access/transam/xlog.c:3797 #, c-format msgid "creating missing WAL directory \"%s\"" msgstr "создаётся отсутствующий каталог WAL \"%s\"" -#: access/transam/xlog.c:3817 commands/dbcommands.c:3045 +#: access/transam/xlog.c:3800 commands/dbcommands.c:3172 #, c-format msgid "could not create missing directory \"%s\": %m" msgstr "не удалось создать отсутствующий каталог \"%s\": %m" -#: access/transam/xlog.c:3884 +#: access/transam/xlog.c:3867 #, c-format msgid "could not generate secret authorization token" msgstr "не удалось сгенерировать случайное число для аутентификации" -#: access/transam/xlog.c:4043 access/transam/xlog.c:4052 +#: 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:4095 -#: access/transam/xlog.c:4102 access/transam/xlog.c:4109 -#: access/transam/xlog.c:4116 access/transam/xlog.c:4123 -#: access/transam/xlog.c:4130 access/transam/xlog.c:4137 -#: access/transam/xlog.c:4146 access/transam/xlog.c:4153 -#: utils/init/miscinit.c:1598 +#: 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 #, c-format msgid "database files are incompatible with server" msgstr "файлы базы данных несовместимы с сервером" -#: access/transam/xlog.c:4044 +#: access/transam/xlog.c:4018 #, c-format msgid "" "The database cluster was initialized with PG_CONTROL_VERSION %d (0x%08x), " @@ -2560,7 +2607,7 @@ msgstr "" "Кластер баз данных был инициализирован с PG_CONTROL_VERSION %d (0x%08x), но " "сервер скомпилирован с PG_CONTROL_VERSION %d (0x%08x)." -#: access/transam/xlog.c:4048 +#: access/transam/xlog.c:4022 #, c-format msgid "" "This could be a problem of mismatched byte ordering. It looks like you need " @@ -2569,7 +2616,7 @@ msgstr "" "Возможно, проблема вызвана разным порядком байт. Кажется, вам надо выполнить " "initdb." -#: access/transam/xlog.c:4053 +#: access/transam/xlog.c:4027 #, c-format msgid "" "The database cluster was initialized with PG_CONTROL_VERSION %d, but the " @@ -2578,18 +2625,18 @@ msgstr "" "Кластер баз данных был инициализирован с PG_CONTROL_VERSION %d, но сервер " "скомпилирован с PG_CONTROL_VERSION %d." -#: access/transam/xlog.c:4056 access/transam/xlog.c:4080 -#: access/transam/xlog.c:4087 access/transam/xlog.c:4092 +#: access/transam/xlog.c:4030 access/transam/xlog.c:4054 +#: access/transam/xlog.c:4061 access/transam/xlog.c:4066 #, c-format msgid "It looks like you need to initdb." msgstr "Кажется, вам надо выполнить initdb." -#: access/transam/xlog.c:4067 +#: access/transam/xlog.c:4041 #, c-format msgid "incorrect checksum in control file" msgstr "ошибка контрольной суммы в файле pg_control" -#: access/transam/xlog.c:4077 +#: access/transam/xlog.c:4051 #, c-format msgid "" "The database cluster was initialized with CATALOG_VERSION_NO %d, but the " @@ -2598,7 +2645,7 @@ msgstr "" "Кластер баз данных был инициализирован с CATALOG_VERSION_NO %d, но сервер " "скомпилирован с CATALOG_VERSION_NO %d." -#: access/transam/xlog.c:4084 +#: access/transam/xlog.c:4058 #, c-format msgid "" "The database cluster was initialized with MAXALIGN %d, but the server was " @@ -2607,7 +2654,7 @@ msgstr "" "Кластер баз данных был инициализирован с MAXALIGN %d, но сервер " "скомпилирован с MAXALIGN %d." -#: access/transam/xlog.c:4091 +#: access/transam/xlog.c:4065 #, c-format msgid "" "The database cluster appears to use a different floating-point number format " @@ -2616,7 +2663,7 @@ msgstr "" "Кажется, в кластере баз данных и в программе сервера используются разные " "форматы чисел с плавающей точкой." -#: access/transam/xlog.c:4096 +#: access/transam/xlog.c:4070 #, c-format msgid "" "The database cluster was initialized with BLCKSZ %d, but the server was " @@ -2625,16 +2672,16 @@ msgstr "" "Кластер баз данных был инициализирован с BLCKSZ %d, но сервер скомпилирован " "с BLCKSZ %d." -#: access/transam/xlog.c:4099 access/transam/xlog.c:4106 -#: access/transam/xlog.c:4113 access/transam/xlog.c:4120 -#: access/transam/xlog.c:4127 access/transam/xlog.c:4134 -#: access/transam/xlog.c:4141 access/transam/xlog.c:4149 -#: access/transam/xlog.c:4156 +#: 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 #, c-format msgid "It looks like you need to recompile or initdb." msgstr "Кажется, вам надо перекомпилировать сервер или выполнить initdb." -#: access/transam/xlog.c:4103 +#: access/transam/xlog.c:4077 #, c-format msgid "" "The database cluster was initialized with RELSEG_SIZE %d, but the server was " @@ -2643,7 +2690,7 @@ msgstr "" "Кластер баз данных был инициализирован с RELSEG_SIZE %d, но сервер " "скомпилирован с RELSEG_SIZE %d." -#: access/transam/xlog.c:4110 +#: access/transam/xlog.c:4084 #, c-format msgid "" "The database cluster was initialized with XLOG_BLCKSZ %d, but the server was " @@ -2652,7 +2699,7 @@ msgstr "" "Кластер баз данных был инициализирован с XLOG_BLCKSZ %d, но сервер " "скомпилирован с XLOG_BLCKSZ %d." -#: access/transam/xlog.c:4117 +#: access/transam/xlog.c:4091 #, c-format msgid "" "The database cluster was initialized with NAMEDATALEN %d, but the server was " @@ -2661,7 +2708,7 @@ msgstr "" "Кластер баз данных был инициализирован с NAMEDATALEN %d, но сервер " "скомпилирован с NAMEDATALEN %d." -#: access/transam/xlog.c:4124 +#: access/transam/xlog.c:4098 #, c-format msgid "" "The database cluster was initialized with INDEX_MAX_KEYS %d, but the server " @@ -2670,7 +2717,7 @@ msgstr "" "Кластер баз данных был инициализирован с INDEX_MAX_KEYS %d, но сервер " "скомпилирован с INDEX_MAX_KEYS %d." -#: access/transam/xlog.c:4131 +#: access/transam/xlog.c:4105 #, c-format msgid "" "The database cluster was initialized with TOAST_MAX_CHUNK_SIZE %d, but the " @@ -2679,7 +2726,7 @@ msgstr "" "Кластер баз данных был инициализирован с TOAST_MAX_CHUNK_SIZE %d, но сервер " "скомпилирован с TOAST_MAX_CHUNK_SIZE %d." -#: access/transam/xlog.c:4138 +#: access/transam/xlog.c:4112 #, c-format msgid "" "The database cluster was initialized with LOBLKSIZE %d, but the server was " @@ -2688,7 +2735,7 @@ msgstr "" "Кластер баз данных был инициализирован с LOBLKSIZE %d, но сервер " "скомпилирован с LOBLKSIZE %d." -#: access/transam/xlog.c:4147 +#: access/transam/xlog.c:4121 #, c-format msgid "" "The database cluster was initialized without USE_FLOAT8_BYVAL but the server " @@ -2697,7 +2744,7 @@ msgstr "" "Кластер баз данных был инициализирован без USE_FLOAT8_BYVAL, но сервер " "скомпилирован с USE_FLOAT8_BYVAL." -#: access/transam/xlog.c:4154 +#: access/transam/xlog.c:4128 #, c-format msgid "" "The database cluster was initialized with USE_FLOAT8_BYVAL but the server " @@ -2706,7 +2753,7 @@ msgstr "" "Кластер баз данных был инициализирован с USE_FLOAT8_BYVAL, но сервер был " "скомпилирован без USE_FLOAT8_BYVAL." -#: access/transam/xlog.c:4163 +#: access/transam/xlog.c:4137 #, c-format msgid "" "WAL segment size must be a power of two between 1 MB and 1 GB, but the " @@ -2724,76 +2771,89 @@ msgstr[2] "" "размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 " "ГБ, но в управляющем файле указано значение: %d" -#: access/transam/xlog.c:4175 +#: access/transam/xlog.c:4149 #, c-format msgid "\"min_wal_size\" must be at least twice \"wal_segment_size\"" msgstr "\"min_wal_size\" должен быть минимум вдвое больше \"wal_segment_size\"" -#: access/transam/xlog.c:4179 +#: access/transam/xlog.c:4153 #, c-format msgid "\"max_wal_size\" must be at least twice \"wal_segment_size\"" msgstr "\"max_wal_size\" должен быть минимум вдвое больше \"wal_segment_size\"" -#: access/transam/xlog.c:4620 +#: 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 +#, c-format +msgid "List syntax is invalid." +msgstr "Ошибка синтаксиса в списке." + +#: access/transam/xlog.c:4354 commands/user.c:2552 commands/variable.c:173 +#: utils/error/elog.c:2231 +#, c-format +msgid "Unrecognized key word: \"%s\"." +msgstr "нераспознанное ключевое слово: \"%s\"." + +#: access/transam/xlog.c:4768 #, c-format msgid "could not write bootstrap write-ahead log file: %m" msgstr "не удалось записать начальный файл журнала предзаписи: %m" -#: access/transam/xlog.c:4628 +#: access/transam/xlog.c:4776 #, c-format msgid "could not fsync bootstrap write-ahead log file: %m" msgstr "не удалось сбросить на диск начальный файл журнала предзаписи: %m" -#: access/transam/xlog.c:4634 +#: access/transam/xlog.c:4782 #, c-format msgid "could not close bootstrap write-ahead log file: %m" msgstr "не удалось закрыть начальный файл журнала предзаписи: %m" -#: access/transam/xlog.c:4852 +#: access/transam/xlog.c:4999 #, c-format msgid "WAL was generated with wal_level=minimal, cannot continue recovering" msgstr "" "WAL был создан с параметром wal_level=minimal, продолжение восстановления " "невозможно" -#: access/transam/xlog.c:4853 +#: access/transam/xlog.c:5000 #, c-format msgid "This happens if you temporarily set wal_level=minimal on the server." msgstr "Это происходит, если вы на время устанавливали wal_level=minimal." -#: access/transam/xlog.c:4854 +#: access/transam/xlog.c:5001 #, c-format msgid "Use a backup taken after setting wal_level to higher than minimal." msgstr "" "Используйте резервную копию, сделанную после переключения wal_level на любой " "уровень выше minimal." -#: access/transam/xlog.c:4918 +#: access/transam/xlog.c:5065 #, c-format msgid "control file contains invalid checkpoint location" msgstr "файл pg_control содержит неправильную позицию контрольной точки" -#: access/transam/xlog.c:4929 +#: access/transam/xlog.c:5076 #, c-format msgid "database system was shut down at %s" msgstr "система БД была выключена: %s" -#: access/transam/xlog.c:4935 +#: access/transam/xlog.c:5082 #, c-format msgid "database system was shut down in recovery at %s" msgstr "система БД была выключена в процессе восстановления: %s" -#: access/transam/xlog.c:4941 +#: access/transam/xlog.c:5088 #, c-format msgid "database system shutdown was interrupted; last known up at %s" msgstr "выключение системы БД было прервано; последний момент работы: %s" -#: access/transam/xlog.c:4947 +#: access/transam/xlog.c:5094 #, c-format msgid "database system was interrupted while in recovery at %s" msgstr "работа системы БД была прервана во время восстановления: %s" -#: access/transam/xlog.c:4949 +#: access/transam/xlog.c:5096 #, c-format msgid "" "This probably means that some data is corrupted and you will have to use the " @@ -2802,14 +2862,14 @@ msgstr "" "Это скорее всего означает, что некоторые данные повреждены и вам придётся " "восстановить БД из последней резервной копии." -#: access/transam/xlog.c:4955 +#: access/transam/xlog.c:5102 #, c-format msgid "database system was interrupted while in recovery at log time %s" msgstr "" "работа системы БД была прервана в процессе восстановления, время в журнале: " "%s" -#: access/transam/xlog.c:4957 +#: access/transam/xlog.c:5104 #, c-format msgid "" "If this has occurred more than once some data might be corrupted and you " @@ -2818,22 +2878,22 @@ msgstr "" "Если это происходит постоянно, возможно, какие-то данные были испорчены и " "для восстановления стоит выбрать более раннюю точку." -#: access/transam/xlog.c:4963 +#: access/transam/xlog.c:5110 #, c-format msgid "database system was interrupted; last known up at %s" msgstr "работа системы БД была прервана; последний момент работы: %s" -#: access/transam/xlog.c:4969 +#: access/transam/xlog.c:5116 #, c-format msgid "control file contains invalid database cluster state" msgstr "файл pg_control содержит неверный код состояния кластера" -#: access/transam/xlog.c:5353 +#: access/transam/xlog.c:5500 #, c-format msgid "WAL ends before end of online backup" msgstr "WAL закончился без признака окончания копирования" -#: access/transam/xlog.c:5354 +#: access/transam/xlog.c:5501 #, c-format msgid "" "All WAL generated while online backup was taken must be available at " @@ -2842,67 +2902,69 @@ msgstr "" "Все журналы WAL, созданные во время резервного копирования \"на ходу\", " "должны быть в наличии для восстановления." -#: access/transam/xlog.c:5357 +#: access/transam/xlog.c:5504 #, c-format msgid "WAL ends before consistent recovery point" msgstr "WAL закончился до согласованной точки восстановления" -#: access/transam/xlog.c:5405 +#: access/transam/xlog.c:5550 #, c-format msgid "selected new timeline ID: %u" msgstr "выбранный ID новой линии времени: %u" -#: access/transam/xlog.c:5438 +#: access/transam/xlog.c:5583 #, c-format msgid "archive recovery complete" msgstr "восстановление архива завершено" -#: access/transam/xlog.c:6040 +#: access/transam/xlog.c:6189 #, c-format msgid "shutting down" msgstr "выключение" #. translator: the placeholders show checkpoint options -#: access/transam/xlog.c:6079 +#: access/transam/xlog.c:6228 #, 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:6091 +#: access/transam/xlog.c:6240 #, 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:6151 +#: access/transam/xlog.c:6305 #, 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" +"estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X" msgstr "" "точка перезапуска завершена: записано буферов: %d (%.1f%%); добавлено файлов " "WAL %d, удалено: %d, переработано: %d; запись=%ld.%03d сек., синхр.=%ld.%03d " "сек., всего=%ld.%03d сек.; синхронизировано_файлов=%d, самая_долгая_синхр." -"=%ld.%03d сек., средняя=%ld.%03d сек.; расстояние=%d kB, ожидалось=%d kB" +"=%ld.%03d сек., средняя=%ld.%03d сек.; расстояние=%d kB, ожидалось=%d kB; " +"lsn=%X/%X, lsn redo=%X/%X" # well-spelled: синхр -#: access/transam/xlog.c:6171 +#: access/transam/xlog.c:6328 #, 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" +"estimate=%d kB; lsn=%X/%X, redo lsn=%X/%X" msgstr "" "контрольная точка завершена: записано буферов: %d (%.1f%%); добавлено файлов " "WAL %d, удалено: %d, переработано: %d; запись=%ld.%03d сек., синхр.=%ld.%03d " "сек., всего=%ld.%03d сек.; синхронизировано_файлов=%d, самая_долгая_синхр." -"=%ld.%03d сек., средняя=%ld.%03d сек.; расстояние=%d kB, ожидалось=%d kB" +"=%ld.%03d сек., средняя=%ld.%03d сек.; расстояние=%d kB, ожидалось=%d kB; " +"lsn=%X/%X, lsn redo=%X/%X" -#: access/transam/xlog.c:6606 +#: access/transam/xlog.c:6766 #, c-format msgid "" "concurrent write-ahead log activity while database system is shutting down" @@ -2910,75 +2972,75 @@ msgstr "" "во время выключения системы баз данных отмечена активность в журнале " "предзаписи" -#: access/transam/xlog.c:7163 +#: access/transam/xlog.c:7327 #, c-format msgid "recovery restart point at %X/%X" -msgstr "точка перезапуска восстановления по смещению %X/%X" +msgstr "точка перезапуска восстановления в позиции %X/%X" -#: access/transam/xlog.c:7165 +#: access/transam/xlog.c:7329 #, c-format msgid "Last completed transaction was at log time %s." msgstr "Последняя завершённая транзакция была выполнена в %s." -#: access/transam/xlog.c:7412 +#: access/transam/xlog.c:7577 #, c-format msgid "restore point \"%s\" created at %X/%X" -msgstr "точка восстановления \"%s\" создана по смещению %X/%X" +msgstr "точка восстановления \"%s\" создана в позиции %X/%X" -#: access/transam/xlog.c:7619 +#: access/transam/xlog.c:7784 #, c-format msgid "online backup was canceled, recovery cannot continue" msgstr "" "резервное копирование \"на ходу\" было отменено, продолжить восстановление " "нельзя" -#: access/transam/xlog.c:7676 +#: access/transam/xlog.c:7841 #, c-format msgid "unexpected timeline ID %u (should be %u) in shutdown checkpoint record" msgstr "" "неожиданный ID линии времени %u (должен быть %u) в записи точки выключения" -#: access/transam/xlog.c:7734 +#: access/transam/xlog.c:7899 #, c-format msgid "unexpected timeline ID %u (should be %u) in online checkpoint record" msgstr "" "неожиданный ID линии времени %u (должен быть %u) в записи точки активности" -#: access/transam/xlog.c:7763 +#: access/transam/xlog.c:7928 #, c-format msgid "unexpected timeline ID %u (should be %u) in end-of-recovery record" msgstr "" "неожиданный ID линии времени %u (должен быть %u) в записи конец-" "восстановления" -#: access/transam/xlog.c:8021 +#: access/transam/xlog.c:8195 #, c-format msgid "could not fsync write-through file \"%s\": %m" msgstr "не удалось синхронизировать с ФС файл сквозной записи %s: %m" -#: access/transam/xlog.c:8027 +#: access/transam/xlog.c:8200 #, c-format msgid "could not fdatasync file \"%s\": %m" msgstr "не удалось синхронизировать с ФС данные (fdatasync) файла \"%s\": %m" -#: access/transam/xlog.c:8122 access/transam/xlog.c:8489 +#: access/transam/xlog.c:8285 access/transam/xlog.c:8608 #, c-format msgid "WAL level not sufficient for making an online backup" msgstr "" "Выбранный уровень WAL недостаточен для резервного копирования \"на ходу\"" -#: access/transam/xlog.c:8123 access/transam/xlog.c:8490 -#: access/transam/xlogfuncs.c:199 +#: access/transam/xlog.c:8286 access/transam/xlog.c:8609 +#: 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:8128 +#: access/transam/xlog.c:8291 #, c-format msgid "backup label too long (max %d bytes)" msgstr "длина метки резервной копии превышает предел (%d байт)" -#: access/transam/xlog.c:8244 +#: access/transam/xlog.c:8412 #, c-format msgid "" "WAL generated with full_page_writes=off was replayed since last restartpoint" @@ -2986,7 +3048,7 @@ msgstr "" "После последней точки перезапуска был воспроизведён WAL, созданный в режиме " "full_page_writes=off." -#: access/transam/xlog.c:8246 access/transam/xlog.c:8602 +#: access/transam/xlog.c:8414 access/transam/xlog.c:8697 #, c-format msgid "" "This means that the backup being taken on the standby is corrupt and should " @@ -2998,32 +3060,23 @@ msgstr "" "CHECKPOINT на ведущем сервере, а затем попробуйте резервное копирование \"на " "ходу\" ещё раз." -#: access/transam/xlog.c:8326 backup/basebackup.c:1345 utils/adt/misc.c:347 -#, c-format -msgid "symbolic link \"%s\" target is too long" -msgstr "целевой путь символической ссылки \"%s\" слишком длинный" - -#: access/transam/xlog.c:8376 backup/basebackup.c:1360 -#: commands/tablespace.c:399 commands/tablespace.c:581 utils/adt/misc.c:355 +#: access/transam/xlog.c:8481 backup/basebackup.c:1351 utils/adt/misc.c:354 #, c-format -msgid "tablespaces are not supported on this platform" -msgstr "табличные пространства не поддерживаются на этой платформе" +msgid "could not read symbolic link \"%s\": %m" +msgstr "не удалось прочитать символическую ссылку \"%s\": %m" -#: access/transam/xlog.c:8535 access/transam/xlog.c:8548 -#: access/transam/xlogrecovery.c:1192 access/transam/xlogrecovery.c:1199 -#: access/transam/xlogrecovery.c:1258 access/transam/xlogrecovery.c:1338 -#: access/transam/xlogrecovery.c:1362 +#: access/transam/xlog.c:8488 backup/basebackup.c:1356 utils/adt/misc.c:359 #, c-format -msgid "invalid data in file \"%s\"" -msgstr "неверные данные в файле \"%s\"" +msgid "symbolic link \"%s\" target is too long" +msgstr "целевой путь символической ссылки \"%s\" слишком длинный" -#: access/transam/xlog.c:8552 backup/basebackup.c:1200 +#: access/transam/xlog.c:8647 backup/basebackup.c:1217 #, c-format msgid "the standby was promoted during online backup" msgstr "" "дежурный сервер был повышен в процессе резервного копирования \"на ходу\"" -#: access/transam/xlog.c:8553 backup/basebackup.c:1201 +#: access/transam/xlog.c:8648 backup/basebackup.c:1218 #, c-format msgid "" "This means that the backup being taken is corrupt and should not be used. " @@ -3032,7 +3085,7 @@ msgstr "" "Это означает, что создаваемая резервная копия испорчена и использовать её не " "следует. Попробуйте резервное копирование \"на ходу\" ещё раз." -#: access/transam/xlog.c:8600 +#: access/transam/xlog.c:8695 #, c-format msgid "" "WAL generated with full_page_writes=off was replayed during online backup" @@ -3040,13 +3093,13 @@ msgstr "" "В процессе резервного копирования \"на ходу\" был воспроизведён WAL, " "созданный в режиме full_page_writes=off" -#: access/transam/xlog.c:8725 +#: access/transam/xlog.c:8811 #, c-format msgid "base backup done, waiting for required WAL segments to be archived" msgstr "" "базовое копирование выполнено, ожидается архивация нужных сегментов WAL" -#: access/transam/xlog.c:8739 +#: access/transam/xlog.c:8825 #, c-format msgid "" "still waiting for all required WAL segments to be archived (%d seconds " @@ -3054,7 +3107,7 @@ msgid "" msgstr "" "продолжается ожидание архивации всех нужных сегментов WAL (прошло %d сек.)" -#: access/transam/xlog.c:8741 +#: access/transam/xlog.c:8827 #, c-format msgid "" "Check that your archive_command is executing properly. You can safely " @@ -3065,12 +3118,12 @@ msgstr "" "копирования можно отменить безопасно, но резервная копия базы будет " "непригодна без всех сегментов WAL." -#: access/transam/xlog.c:8748 +#: access/transam/xlog.c:8834 #, c-format msgid "all required WAL segments have been archived" msgstr "все нужные сегменты WAL заархивированы" -#: access/transam/xlog.c:8752 +#: access/transam/xlog.c:8838 #, c-format msgid "" "WAL archiving is not enabled; you must ensure that all required WAL segments " @@ -3079,31 +3132,31 @@ msgstr "" "архивация WAL не настроена; вы должны обеспечить копирование всех требуемых " "сегментов WAL другими средствами для получения резервной копии" -#: access/transam/xlog.c:8801 +#: access/transam/xlog.c:8877 #, c-format msgid "aborting backup due to backend exiting before pg_backup_stop was called" msgstr "" "прерывание резервного копирования из-за завершения обслуживающего процесса " "до вызова pg_backup_stop" -#: access/transam/xlogarchive.c:208 +#: access/transam/xlogarchive.c:207 #, c-format msgid "archive file \"%s\" has wrong size: %lld instead of %lld" msgstr "файл архива \"%s\" имеет неправильный размер: %lld вместо %lld" -#: access/transam/xlogarchive.c:217 +#: access/transam/xlogarchive.c:216 #, c-format msgid "restored log file \"%s\" from archive" msgstr "файл журнала \"%s\" восстановлен из архива" -#: access/transam/xlogarchive.c:231 +#: access/transam/xlogarchive.c:230 #, c-format msgid "restore_command returned a zero exit status, but stat() failed." msgstr "" "Команда restore_command возвратила нулевой код состояния, но stat() выдала " "ошибку." -#: access/transam/xlogarchive.c:263 +#: access/transam/xlogarchive.c:262 #, c-format msgid "could not restore file \"%s\" from archive: %s" msgstr "восстановить файл \"%s\" из архива не удалось: %s" @@ -3111,96 +3164,109 @@ msgstr "восстановить файл \"%s\" из архива не удал #. translator: First %s represents a postgresql.conf parameter name like #. "recovery_end_command", the 2nd is the value of that parameter, the #. third an already translated error message. -#: access/transam/xlogarchive.c:376 +#: access/transam/xlogarchive.c:340 #, c-format msgid "%s \"%s\": %s" msgstr "%s \"%s\": %s" -#: access/transam/xlogarchive.c:486 access/transam/xlogarchive.c:566 +#: access/transam/xlogarchive.c:450 access/transam/xlogarchive.c:530 #, c-format msgid "could not create archive status file \"%s\": %m" msgstr "не удалось создать файл состояния архива \"%s\": %m" -#: access/transam/xlogarchive.c:494 access/transam/xlogarchive.c:574 +#: access/transam/xlogarchive.c:458 access/transam/xlogarchive.c:538 #, c-format msgid "could not write archive status file \"%s\": %m" msgstr "не удалось записать файл состояния архива \"%s\": %m" -#: access/transam/xlogfuncs.c:74 backup/basebackup.c:957 +#: access/transam/xlogfuncs.c:75 backup/basebackup.c:973 #, c-format msgid "a backup is already in progress in this session" msgstr "резервное копирование уже выполняется в этом сеансе" -#: access/transam/xlogfuncs.c:126 +#: access/transam/xlogfuncs.c:146 #, c-format msgid "backup is not in progress" msgstr "резервное копирование не выполняется" -#: access/transam/xlogfuncs.c:127 +#: access/transam/xlogfuncs.c:147 #, c-format msgid "Did you call pg_backup_start()?" msgstr "Вы вызывали pg_backup_start()?" -#: access/transam/xlogfuncs.c:166 access/transam/xlogfuncs.c:193 -#: access/transam/xlogfuncs.c:232 access/transam/xlogfuncs.c:253 -#: access/transam/xlogfuncs.c:274 +#: access/transam/xlogfuncs.c:190 access/transam/xlogfuncs.c:248 +#: access/transam/xlogfuncs.c:287 access/transam/xlogfuncs.c:308 +#: access/transam/xlogfuncs.c:329 #, c-format msgid "WAL control functions cannot be executed during recovery." msgstr "Функции управления WAL нельзя использовать в процессе восстановления." -#: access/transam/xlogfuncs.c:198 +#: access/transam/xlogfuncs.c:215 access/transam/xlogfuncs.c:399 +#: access/transam/xlogfuncs.c:457 +#, c-format +msgid "%s cannot be executed during recovery." +msgstr "выполнить %s во время восстановления нельзя." + +#: access/transam/xlogfuncs.c:221 +#, c-format +msgid "pg_log_standby_snapshot() can only be used if wal_level >= replica" +msgstr "" +"pg_log_standby_snapshot() можно использовать, только если wal_level >= " +"replica" + +#: access/transam/xlogfuncs.c:253 #, c-format msgid "WAL level not sufficient for creating a restore point" msgstr "Выбранный уровень WAL не достаточен для создания точки восстановления" # well-spelled: симв -#: access/transam/xlogfuncs.c:206 +#: access/transam/xlogfuncs.c:261 #, c-format msgid "value too long for restore point (maximum %d characters)" msgstr "значение для точки восстановления превышает предел (%d симв.)" -#: access/transam/xlogfuncs.c:344 access/transam/xlogfuncs.c:402 +#: access/transam/xlogfuncs.c:496 #, c-format -msgid "%s cannot be executed during recovery." -msgstr "выполнить %s во время восстановления нельзя." +msgid "invalid WAL file name \"%s\"" +msgstr "неправильное имя файла WAL \"%s\"" -#: access/transam/xlogfuncs.c:424 access/transam/xlogfuncs.c:454 -#: access/transam/xlogfuncs.c:478 access/transam/xlogfuncs.c:501 -#: access/transam/xlogfuncs.c:581 +#: access/transam/xlogfuncs.c:532 access/transam/xlogfuncs.c:562 +#: access/transam/xlogfuncs.c:586 access/transam/xlogfuncs.c:609 +#: access/transam/xlogfuncs.c:689 #, c-format msgid "recovery is not in progress" msgstr "восстановление не выполняется" -#: access/transam/xlogfuncs.c:425 access/transam/xlogfuncs.c:455 -#: access/transam/xlogfuncs.c:479 access/transam/xlogfuncs.c:502 -#: access/transam/xlogfuncs.c:582 +#: access/transam/xlogfuncs.c:533 access/transam/xlogfuncs.c:563 +#: access/transam/xlogfuncs.c:587 access/transam/xlogfuncs.c:610 +#: access/transam/xlogfuncs.c:690 #, c-format msgid "Recovery control functions can only be executed during recovery." msgstr "" "Функции управления восстановлением можно использовать только в процессе " "восстановления." -#: access/transam/xlogfuncs.c:430 access/transam/xlogfuncs.c:460 +#: access/transam/xlogfuncs.c:538 access/transam/xlogfuncs.c:568 #, c-format msgid "standby promotion is ongoing" msgstr "производится повышение ведомого" -#: access/transam/xlogfuncs.c:431 access/transam/xlogfuncs.c:461 +#: access/transam/xlogfuncs.c:539 access/transam/xlogfuncs.c:569 #, c-format msgid "%s cannot be executed after promotion is triggered." msgstr "%s нельзя выполнять, когда производится повышение." -#: access/transam/xlogfuncs.c:587 +#: access/transam/xlogfuncs.c:695 #, c-format msgid "\"wait_seconds\" must not be negative or zero" msgstr "значение \"wait_seconds\" не должно быть отрицательным или нулевым" -#: access/transam/xlogfuncs.c:607 storage/ipc/signalfuncs.c:252 +#: access/transam/xlogfuncs.c:715 storage/ipc/signalfuncs.c:260 #, c-format msgid "failed to send signal to postmaster: %m" msgstr "отправить сигнал процессу postmaster не удалось: %m" -#: access/transam/xlogfuncs.c:643 +#: access/transam/xlogfuncs.c:751 #, c-format msgid "server did not promote within %d second" msgid_plural "server did not promote within %d seconds" @@ -3208,7 +3274,7 @@ msgstr[0] "повышение сервера не завершилось за %d msgstr[1] "повышение сервера не завершилось за %d секунды" msgstr[2] "повышение сервера не завершилось за %d секунд" -#: access/transam/xlogprefetcher.c:1090 +#: access/transam/xlogprefetcher.c:1092 #, c-format msgid "" "recovery_prefetch is not supported on platforms that lack posix_fadvise()." @@ -3216,74 +3282,73 @@ msgstr "" "recovery_prefetch не поддерживается на платформах, где отсутствует " "posix_fadvise()." -#: access/transam/xlogreader.c:625 +#: access/transam/xlogreader.c:626 #, c-format -msgid "invalid record offset at %X/%X" -msgstr "неверное смещение записи: %X/%X" +msgid "invalid record offset at %X/%X: expected at least %u, got %u" +msgstr "" +"неверное смещение записи в позиции %X/%X: ожидалось минимум %u, получено %u" -#: access/transam/xlogreader.c:633 +#: access/transam/xlogreader.c:635 #, c-format msgid "contrecord is requested by %X/%X" -msgstr "по смещению %X/%X запрошено продолжение записи" +msgstr "в позиции %X/%X запрошено продолжение записи" -#: access/transam/xlogreader.c:674 access/transam/xlogreader.c:1121 +#: access/transam/xlogreader.c:676 access/transam/xlogreader.c:1119 #, c-format -msgid "invalid record length at %X/%X: wanted %u, got %u" -msgstr "неверная длина записи по смещению %X/%X: ожидалось %u, получено %u" +msgid "invalid record length at %X/%X: expected at least %u, got %u" +msgstr "" +"неверная длина записи в позиции %X/%X: ожидалось минимум %u, получено %u" -#: access/transam/xlogreader.c:703 +#: access/transam/xlogreader.c:705 #, c-format msgid "out of memory while trying to decode a record of length %u" msgstr "не удалось выделить память для декодирования записи длины %u" -#: access/transam/xlogreader.c:725 +#: access/transam/xlogreader.c:727 #, c-format msgid "record length %u at %X/%X too long" -msgstr "длина записи %u по смещению %X/%X слишком велика" +msgstr "длина записи %u в позиции %X/%X слишком велика" -#: access/transam/xlogreader.c:774 +#: access/transam/xlogreader.c:776 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "нет флага contrecord в позиции %X/%X" -#: access/transam/xlogreader.c:787 +#: access/transam/xlogreader.c:789 #, c-format msgid "invalid contrecord length %u (expected %lld) at %X/%X" msgstr "неверная длина contrecord: %u (ожидалась %lld) в позиции %X/%X" -#: access/transam/xlogreader.c:922 -#, c-format -msgid "missing contrecord at %X/%X" -msgstr "нет записи contrecord в %X/%X" - -#: access/transam/xlogreader.c:1129 +#: access/transam/xlogreader.c:1127 #, c-format msgid "invalid resource manager ID %u at %X/%X" -msgstr "неверный ID менеджера ресурсов %u по смещению %X/%X" +msgstr "неверный ID менеджера ресурсов %u в позиции %X/%X" -#: access/transam/xlogreader.c:1142 access/transam/xlogreader.c:1158 +#: access/transam/xlogreader.c:1140 access/transam/xlogreader.c:1156 #, c-format msgid "record with incorrect prev-link %X/%X at %X/%X" -msgstr "запись с неверной ссылкой назад %X/%X по смещению %X/%X" +msgstr "запись с неверной ссылкой назад %X/%X в позиции %X/%X" -#: access/transam/xlogreader.c:1194 +#: access/transam/xlogreader.c:1192 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "" -"некорректная контрольная сумма данных менеджера ресурсов в записи по " -"смещению %X/%X" +"некорректная контрольная сумма данных менеджера ресурсов в записи в позиции " +"%X/%X" -#: access/transam/xlogreader.c:1231 +#: access/transam/xlogreader.c:1226 #, c-format -msgid "invalid magic number %04X in log segment %s, offset %u" -msgstr "неверное магическое число %04X в сегменте журнала %s, смещение %u" +msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "" +"неверное магическое число %04X в сегменте WAL %s, LSN %X/%X, смещение %u" -#: access/transam/xlogreader.c:1245 access/transam/xlogreader.c:1286 +#: access/transam/xlogreader.c:1241 access/transam/xlogreader.c:1283 #, c-format -msgid "invalid info bits %04X in log segment %s, offset %u" -msgstr "неверные информационные биты %04X в сегменте журнала %s, смещение %u" +msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "" +"неверные информационные биты %04X в сегменте WAL %s, LSN %X/%X, смещение %u" -#: access/transam/xlogreader.c:1260 +#: access/transam/xlogreader.c:1257 #, c-format msgid "" "WAL file is from different database system: WAL file database system " @@ -3292,7 +3357,7 @@ msgstr "" "файл WAL принадлежит другой СУБД: в нём указан идентификатор системы БД " "%llu, а идентификатор системы pg_control: %llu" -#: access/transam/xlogreader.c:1268 +#: access/transam/xlogreader.c:1265 #, c-format msgid "" "WAL file is from different database system: incorrect segment size in page " @@ -3301,7 +3366,7 @@ msgstr "" "файл WAL принадлежит другой СУБД: некорректный размер сегмента в заголовке " "страницы" -#: access/transam/xlogreader.c:1274 +#: access/transam/xlogreader.c:1271 #, c-format msgid "" "WAL file is from different database system: incorrect XLOG_BLCKSZ in page " @@ -3310,17 +3375,19 @@ msgstr "" "файл WAL принадлежит другой СУБД: некорректный XLOG_BLCKSZ в заголовке " "страницы" -#: access/transam/xlogreader.c:1305 +#: access/transam/xlogreader.c:1303 #, c-format -msgid "unexpected pageaddr %X/%X in log segment %s, offset %u" -msgstr "неожиданный pageaddr %X/%X в сегменте журнала %s, смещение %u" +msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "неожиданный pageaddr %X/%X в сегменте WAL %s, LSN %X/%X, смещение %u" -#: access/transam/xlogreader.c:1330 +#: access/transam/xlogreader.c:1329 #, c-format -msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u" +msgid "" +"out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, " +"offset %u" msgstr "" -"нарушение последовательности ID линии времени %u (после %u) в сегменте " -"журнала %s, смещение %u" +"нарушение последовательности ID линии времени %u (после %u) в сегменте WAL " +"%s, LSN %X/%X, смещение %u" #: access/transam/xlogreader.c:1735 #, c-format @@ -3387,24 +3454,24 @@ msgstr "неверный идентификатор блока %u в позиц msgid "record with invalid length at %X/%X" msgstr "запись с неверной длиной в позиции %X/%X" -#: access/transam/xlogreader.c:1967 +#: access/transam/xlogreader.c:1968 #, c-format msgid "could not locate backup block with ID %d in WAL record" msgstr "не удалось найти копию блока с ID %d в записи журнала WAL" -#: access/transam/xlogreader.c:2051 +#: access/transam/xlogreader.c:2052 #, c-format msgid "could not restore image at %X/%X with invalid block %d specified" msgstr "" "не удалось восстановить образ в позиции %X/%X с указанным неверным блоком %d" -#: access/transam/xlogreader.c:2058 +#: access/transam/xlogreader.c:2059 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" msgstr "" "не удалось восстановить образ в позиции %X/%X с неверным состоянием, блок %d" -#: access/transam/xlogreader.c:2085 access/transam/xlogreader.c:2102 +#: access/transam/xlogreader.c:2086 access/transam/xlogreader.c:2103 #, c-format msgid "" "could not restore image at %X/%X compressed with %s not supported by build, " @@ -3413,7 +3480,7 @@ msgstr "" "не удалось восстановить образ в позиции %X/%X, сжатый методом %s, который не " "поддерживается этой сборкой, блок %d" -#: access/transam/xlogreader.c:2111 +#: access/transam/xlogreader.c:2112 #, c-format msgid "" "could not restore image at %X/%X compressed with unknown method, block %d" @@ -3421,54 +3488,54 @@ msgstr "" "не удалось восстановить образ в позиции %X/%X, сжатый неизвестным методом, " "блок %d" -#: access/transam/xlogreader.c:2119 +#: access/transam/xlogreader.c:2120 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "не удалось развернуть образ в позиции %X/%X, блок %d" -#: access/transam/xlogrecovery.c:526 +#: access/transam/xlogrecovery.c:547 #, c-format msgid "entering standby mode" msgstr "переход в режим резервного сервера" -#: access/transam/xlogrecovery.c:529 +#: access/transam/xlogrecovery.c:550 #, c-format msgid "starting point-in-time recovery to XID %u" msgstr "начинается восстановление точки во времени до XID %u" -#: access/transam/xlogrecovery.c:533 +#: access/transam/xlogrecovery.c:554 #, c-format msgid "starting point-in-time recovery to %s" msgstr "начинается восстановление точки во времени до %s" -#: access/transam/xlogrecovery.c:537 +#: access/transam/xlogrecovery.c:558 #, c-format msgid "starting point-in-time recovery to \"%s\"" msgstr "начинается восстановление точки во времени до \"%s\"" -#: access/transam/xlogrecovery.c:541 +#: access/transam/xlogrecovery.c:562 #, c-format msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\"" msgstr "" "начинается восстановление точки во времени до позиции в WAL (LSN) \"%X/%X\"" -#: access/transam/xlogrecovery.c:545 +#: access/transam/xlogrecovery.c:566 #, c-format msgid "starting point-in-time recovery to earliest consistent point" msgstr "" "начинается восстановление точки во времени до первой точки согласованности" -#: access/transam/xlogrecovery.c:548 +#: access/transam/xlogrecovery.c:569 #, c-format msgid "starting archive recovery" msgstr "начинается восстановление архива" -#: access/transam/xlogrecovery.c:632 +#: access/transam/xlogrecovery.c:653 #, c-format msgid "could not find redo location referenced by checkpoint record" msgstr "не удалось найти положение REDO, указанное записью контрольной точки" -#: access/transam/xlogrecovery.c:633 access/transam/xlogrecovery.c:643 +#: access/transam/xlogrecovery.c:654 access/transam/xlogrecovery.c:664 #, c-format msgid "" "If you are restoring from a backup, touch \"%s/recovery.signal\" and add " @@ -3484,42 +3551,42 @@ msgstr "" "Будьте осторожны: при восстановлении резервной копии удаление \"%s/" "backup_label\" приведёт к повреждению кластера." -#: access/transam/xlogrecovery.c:642 +#: access/transam/xlogrecovery.c:663 #, c-format msgid "could not locate required checkpoint record" msgstr "не удалось считать нужную запись контрольной точки" -#: access/transam/xlogrecovery.c:671 commands/tablespace.c:685 +#: access/transam/xlogrecovery.c:692 commands/tablespace.c:670 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "не удалось создать символическую ссылку \"%s\": %m" -#: access/transam/xlogrecovery.c:703 access/transam/xlogrecovery.c:709 +#: access/transam/xlogrecovery.c:724 access/transam/xlogrecovery.c:730 #, c-format msgid "ignoring file \"%s\" because no file \"%s\" exists" msgstr "файл \"%s\" игнорируется ввиду отсутствия файла \"%s\"" -#: access/transam/xlogrecovery.c:705 +#: access/transam/xlogrecovery.c:726 #, c-format msgid "File \"%s\" was renamed to \"%s\"." msgstr "Файл \"%s\" был переименован в \"%s\"." -#: access/transam/xlogrecovery.c:711 +#: access/transam/xlogrecovery.c:732 #, c-format msgid "Could not rename file \"%s\" to \"%s\": %m." msgstr "Не удалось переименовать файл \"%s\" в \"%s\" (%m)." -#: access/transam/xlogrecovery.c:765 +#: access/transam/xlogrecovery.c:786 #, c-format msgid "could not locate a valid checkpoint record" msgstr "не удалось считать правильную запись контрольной точки" -#: access/transam/xlogrecovery.c:789 +#: access/transam/xlogrecovery.c:810 #, c-format msgid "requested timeline %u is not a child of this server's history" msgstr "в истории сервера нет ответвления запрошенной линии времени %u" -#: access/transam/xlogrecovery.c:791 +#: access/transam/xlogrecovery.c:812 #, c-format msgid "" "Latest checkpoint is at %X/%X on timeline %u, but in the history of the " @@ -3528,7 +3595,7 @@ msgstr "" "Последняя контрольная точка: %X/%X на линии времени %u, но в истории " "запрошенной линии времени сервер ответвился с этой линии в %X/%X." -#: access/transam/xlogrecovery.c:805 +#: access/transam/xlogrecovery.c:826 #, c-format msgid "" "requested timeline %u does not contain minimum recovery point %X/%X on " @@ -3537,22 +3604,22 @@ msgstr "" "запрошенная линия времени %u не содержит минимальную точку восстановления %X/" "%X на линии времени %u" -#: access/transam/xlogrecovery.c:833 +#: access/transam/xlogrecovery.c:854 #, c-format msgid "invalid next transaction ID" msgstr "неверный ID следующей транзакции" -#: access/transam/xlogrecovery.c:838 +#: access/transam/xlogrecovery.c:859 #, c-format msgid "invalid redo in checkpoint record" msgstr "неверная запись REDO в контрольной точке" -#: access/transam/xlogrecovery.c:849 +#: access/transam/xlogrecovery.c:870 #, c-format msgid "invalid redo record in shutdown checkpoint" msgstr "неверная запись REDO в контрольной точке выключения" -#: access/transam/xlogrecovery.c:878 +#: access/transam/xlogrecovery.c:899 #, c-format msgid "" "database system was not properly shut down; automatic recovery in progress" @@ -3560,19 +3627,19 @@ msgstr "" "система БД была остановлена нештатно; производится автоматическое " "восстановление" -#: access/transam/xlogrecovery.c:882 +#: access/transam/xlogrecovery.c:903 #, c-format msgid "crash recovery starts in timeline %u and has target timeline %u" msgstr "" "восстановление после сбоя начинается на линии времени %u, целевая линия " "времени: %u" -#: access/transam/xlogrecovery.c:925 +#: access/transam/xlogrecovery.c:946 #, c-format msgid "backup_label contains data inconsistent with control file" msgstr "backup_label содержит данные, не согласованные с файлом pg_control" -#: access/transam/xlogrecovery.c:926 +#: access/transam/xlogrecovery.c:947 #, c-format msgid "" "This means that the backup is corrupted and you will have to use another " @@ -3581,24 +3648,24 @@ msgstr "" "Это означает, что резервная копия повреждена и для восстановления БД " "придётся использовать другую копию." -#: access/transam/xlogrecovery.c:980 +#: access/transam/xlogrecovery.c:1001 #, c-format msgid "using recovery command file \"%s\" is not supported" msgstr "" "использование файла с конфигурацией восстановления \"%s\" не поддерживается" -#: access/transam/xlogrecovery.c:1045 +#: access/transam/xlogrecovery.c:1066 #, c-format msgid "standby mode is not supported by single-user servers" msgstr "" "режим резервного сервера не поддерживается однопользовательским сервером" -#: access/transam/xlogrecovery.c:1062 +#: access/transam/xlogrecovery.c:1083 #, c-format msgid "specified neither primary_conninfo nor restore_command" msgstr "не указано ни primary_conninfo, ни restore_command" -#: access/transam/xlogrecovery.c:1063 +#: access/transam/xlogrecovery.c:1084 #, c-format msgid "" "The database server will regularly poll the pg_wal subdirectory to check for " @@ -3607,79 +3674,86 @@ msgstr "" "Сервер БД будет регулярно опрашивать подкаталог pg_wal и проверять " "содержащиеся в нём файлы." -#: access/transam/xlogrecovery.c:1071 +#: access/transam/xlogrecovery.c:1092 #, c-format msgid "must specify restore_command when standby mode is not enabled" msgstr "" "необходимо задать restore_command, если не выбран режим резервного сервера" -#: access/transam/xlogrecovery.c:1109 +#: access/transam/xlogrecovery.c:1130 #, c-format msgid "recovery target timeline %u does not exist" msgstr "целевая линия времени для восстановления %u не существует" -#: access/transam/xlogrecovery.c:1259 +#: 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 +#, c-format +msgid "invalid data in file \"%s\"" +msgstr "неверные данные в файле \"%s\"" + +#: access/transam/xlogrecovery.c:1280 #, c-format msgid "Timeline ID parsed is %u, but expected %u." msgstr "Получен идентификатор линии времени %u, но ожидался %u." -#: access/transam/xlogrecovery.c:1641 +#: access/transam/xlogrecovery.c:1662 #, c-format msgid "redo starts at %X/%X" msgstr "запись REDO начинается со смещения %X/%X" -#: access/transam/xlogrecovery.c:1654 +#: access/transam/xlogrecovery.c:1675 #, c-format msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X" msgstr "" "выполняется воспроизведение, прошло времени: %ld.%02d с, текущий LSN: %X/%X" -#: access/transam/xlogrecovery.c:1746 +#: access/transam/xlogrecovery.c:1767 #, c-format msgid "requested recovery stop point is before consistent recovery point" msgstr "" "запрошенная точка остановки восстановления предшествует согласованной точке " "восстановления" -#: access/transam/xlogrecovery.c:1778 +#: access/transam/xlogrecovery.c:1799 #, c-format msgid "redo done at %X/%X system usage: %s" msgstr "записи REDO обработаны до смещения %X/%X, нагрузка системы: %s" -#: access/transam/xlogrecovery.c:1784 +#: access/transam/xlogrecovery.c:1805 #, c-format msgid "last completed transaction was at log time %s" msgstr "последняя завершённая транзакция была выполнена в %s" -#: access/transam/xlogrecovery.c:1793 +#: access/transam/xlogrecovery.c:1814 #, c-format msgid "redo is not required" msgstr "данные REDO не требуются" -#: access/transam/xlogrecovery.c:1804 +#: access/transam/xlogrecovery.c:1825 #, c-format msgid "recovery ended before configured recovery target was reached" msgstr "восстановление окончилось до достижения заданной цели восстановления" -#: access/transam/xlogrecovery.c:1979 +#: access/transam/xlogrecovery.c:2019 #, c-format msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s" msgstr "" "успешно пропущена отсутствующая запись contrecord в %X/%X, перезаписанная в " "%s" -#: access/transam/xlogrecovery.c:2046 +#: access/transam/xlogrecovery.c:2086 #, c-format msgid "unexpected directory entry \"%s\" found in %s" msgstr "в %2$s обнаружен недопустимый элемент-каталог \"%1$s\"" -#: access/transam/xlogrecovery.c:2048 +#: access/transam/xlogrecovery.c:2088 #, c-format msgid "All directory entries in pg_tblspc/ should be symbolic links." msgstr "" "Все элементы-каталоги в pg_tblspc/ должны быть символическими ссылками." -#: access/transam/xlogrecovery.c:2049 +#: access/transam/xlogrecovery.c:2089 #, c-format msgid "" "Remove those directories, or set allow_in_place_tablespaces to ON " @@ -3688,18 +3762,18 @@ msgstr "" "Удалите эти каталоги или на время установите в allow_in_place_tablespaces " "значение ON, чтобы восстановление завершилось." -#: access/transam/xlogrecovery.c:2123 +#: access/transam/xlogrecovery.c:2163 #, c-format msgid "consistent recovery state reached at %X/%X" -msgstr "согласованное состояние восстановления достигнуто по смещению %X/%X" +msgstr "согласованное состояние восстановления достигнуто в позиции %X/%X" #. translator: %s is a WAL record description -#: access/transam/xlogrecovery.c:2161 +#: access/transam/xlogrecovery.c:2201 #, c-format msgid "WAL redo at %X/%X for %s" msgstr "запись REDO в WAL в позиции %X/%X для %s" -#: access/transam/xlogrecovery.c:2257 +#: access/transam/xlogrecovery.c:2299 #, c-format msgid "" "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint " @@ -3708,13 +3782,13 @@ msgstr "" "неожиданный ID предыдущей линии времени %u (ID текущей линии времени %u) в " "записи контрольной точки" -#: access/transam/xlogrecovery.c:2266 +#: access/transam/xlogrecovery.c:2308 #, c-format msgid "unexpected timeline ID %u (after %u) in checkpoint record" msgstr "неожиданный ID линии времени %u (после %u) в записи контрольной точки" # skip-rule: capital-letter-first -#: access/transam/xlogrecovery.c:2282 +#: access/transam/xlogrecovery.c:2324 #, c-format msgid "" "unexpected timeline ID %u in checkpoint record, before reaching minimum " @@ -3723,145 +3797,122 @@ msgstr "" "неожиданный ID линии времени %u в записи контрольной точки, до достижения " "минимальной к. т. %X/%X на линии времени %u" -#: access/transam/xlogrecovery.c:2466 access/transam/xlogrecovery.c:2742 +#: access/transam/xlogrecovery.c:2508 access/transam/xlogrecovery.c:2784 #, c-format msgid "recovery stopping after reaching consistency" msgstr "" "восстановление останавливается после достижения согласованного состояния" -#: access/transam/xlogrecovery.c:2487 +#: access/transam/xlogrecovery.c:2529 #, c-format msgid "recovery stopping before WAL location (LSN) \"%X/%X\"" msgstr "восстановление останавливается перед позицией в WAL (LSN) \"%X/%X\"" -#: access/transam/xlogrecovery.c:2577 +#: access/transam/xlogrecovery.c:2619 #, c-format msgid "recovery stopping before commit of transaction %u, time %s" msgstr "" "восстановление останавливается перед фиксированием транзакции %u, время %s" -#: access/transam/xlogrecovery.c:2584 +#: access/transam/xlogrecovery.c:2626 #, c-format msgid "recovery stopping before abort of transaction %u, time %s" msgstr "" "восстановление останавливается перед прерыванием транзакции %u, время %s" -#: access/transam/xlogrecovery.c:2637 +#: access/transam/xlogrecovery.c:2679 #, c-format msgid "recovery stopping at restore point \"%s\", time %s" msgstr "восстановление останавливается в точке восстановления \"%s\", время %s" -#: access/transam/xlogrecovery.c:2655 +#: access/transam/xlogrecovery.c:2697 #, c-format msgid "recovery stopping after WAL location (LSN) \"%X/%X\"" msgstr "восстановление останавливается после позиции в WAL (LSN) \"%X/%X\"" -#: access/transam/xlogrecovery.c:2722 +#: access/transam/xlogrecovery.c:2764 #, c-format msgid "recovery stopping after commit of transaction %u, time %s" msgstr "" "восстановление останавливается после фиксирования транзакции %u, время %s" -#: access/transam/xlogrecovery.c:2730 +#: access/transam/xlogrecovery.c:2772 #, c-format msgid "recovery stopping after abort of transaction %u, time %s" msgstr "" "восстановление останавливается после прерывания транзакции %u, время %s" -#: access/transam/xlogrecovery.c:2811 +#: access/transam/xlogrecovery.c:2853 #, c-format msgid "pausing at the end of recovery" msgstr "остановка в конце восстановления" -#: access/transam/xlogrecovery.c:2812 +#: access/transam/xlogrecovery.c:2854 #, c-format msgid "Execute pg_wal_replay_resume() to promote." msgstr "Выполните pg_wal_replay_resume() для повышения." -#: access/transam/xlogrecovery.c:2815 access/transam/xlogrecovery.c:4625 +#: access/transam/xlogrecovery.c:2857 access/transam/xlogrecovery.c:4594 #, c-format msgid "recovery has paused" msgstr "восстановление приостановлено" -#: access/transam/xlogrecovery.c:2816 +#: access/transam/xlogrecovery.c:2858 #, c-format msgid "Execute pg_wal_replay_resume() to continue." msgstr "Выполните pg_wal_replay_resume() для продолжения." -#: access/transam/xlogrecovery.c:3082 +#: access/transam/xlogrecovery.c:3121 #, c-format -msgid "unexpected timeline ID %u in log segment %s, offset %u" -msgstr "неожиданный ID линии времени %u в сегменте журнала %s, смещение %u" +msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%X, offset %u" +msgstr "" +"неожиданный ID линии времени %u в сегменте WAL %s, LSN %X/%X, смещение %u" -#: access/transam/xlogrecovery.c:3287 +#: access/transam/xlogrecovery.c:3329 #, c-format -msgid "could not read from log segment %s, offset %u: %m" -msgstr "не удалось прочитать сегмент журнала %s, смещение %u: %m" +msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: %m" +msgstr "не удалось прочитать сегмент WAL %s, LSN %X/%X, смещение %u: %m" -#: access/transam/xlogrecovery.c:3293 +#: access/transam/xlogrecovery.c:3336 #, c-format -msgid "could not read from log segment %s, offset %u: read %d of %zu" +msgid "" +"could not read from WAL segment %s, LSN %X/%X, offset %u: read %d of %zu" msgstr "" -"не удалось прочитать из сегмента журнала %s по смещению %u (прочитано байт: " +"не удалось прочитать сегмент WAL %s, LSN %X/%X, смещение %u (прочитано байт: " "%d из %zu)" -#: access/transam/xlogrecovery.c:3942 -#, c-format -msgid "invalid primary checkpoint link in control file" -msgstr "неверная ссылка на первичную контрольную точку в файле pg_control" - -#: access/transam/xlogrecovery.c:3946 -#, c-format -msgid "invalid checkpoint link in backup_label file" -msgstr "неверная ссылка на контрольную точку в файле backup_label" - -#: access/transam/xlogrecovery.c:3964 +#: access/transam/xlogrecovery.c:3976 #, c-format -msgid "invalid primary checkpoint record" -msgstr "неверная запись первичной контрольной точки" +msgid "invalid checkpoint location" +msgstr "неверное положение контрольной точки" -#: access/transam/xlogrecovery.c:3968 +#: access/transam/xlogrecovery.c:3986 #, c-format msgid "invalid checkpoint record" msgstr "неверная запись контрольной точки" -#: access/transam/xlogrecovery.c:3979 -#, c-format -msgid "invalid resource manager ID in primary checkpoint record" -msgstr "неверный ID менеджера ресурсов в записи первичной контрольной точки" - -#: access/transam/xlogrecovery.c:3983 +#: access/transam/xlogrecovery.c:3992 #, c-format msgid "invalid resource manager ID in checkpoint record" msgstr "неверный ID менеджера ресурсов в записи контрольной точки" -#: access/transam/xlogrecovery.c:3996 -#, c-format -msgid "invalid xl_info in primary checkpoint record" -msgstr "неверные флаги xl_info в записи первичной контрольной точки" - #: access/transam/xlogrecovery.c:4000 #, c-format msgid "invalid xl_info in checkpoint record" msgstr "неверные флаги xl_info в записи контрольной точки" -#: access/transam/xlogrecovery.c:4011 -#, c-format -msgid "invalid length of primary checkpoint record" -msgstr "неверная длина записи первичной контрольной точки" - -#: access/transam/xlogrecovery.c:4015 +#: access/transam/xlogrecovery.c:4006 #, c-format msgid "invalid length of checkpoint record" msgstr "неверная длина записи контрольной точки" -#: access/transam/xlogrecovery.c:4071 +#: access/transam/xlogrecovery.c:4060 #, c-format msgid "new timeline %u is not a child of database system timeline %u" msgstr "" "новая линия времени %u не является ответвлением линии времени системы БД %u" -#: access/transam/xlogrecovery.c:4085 +#: access/transam/xlogrecovery.c:4074 #, c-format msgid "" "new timeline %u forked off current database system timeline %u before " @@ -3870,40 +3921,30 @@ msgstr "" "новая линия времени %u ответвилась от текущей линии времени базы данных %u " "до текущей точки восстановления %X/%X" -#: access/transam/xlogrecovery.c:4104 +#: access/transam/xlogrecovery.c:4093 #, c-format msgid "new target timeline is %u" msgstr "новая целевая линия времени %u" -#: access/transam/xlogrecovery.c:4307 +#: access/transam/xlogrecovery.c:4296 #, c-format msgid "WAL receiver process shutdown requested" msgstr "получен запрос на выключение процесса приёмника WAL" -#: access/transam/xlogrecovery.c:4370 +#: access/transam/xlogrecovery.c:4356 #, c-format msgid "received promote request" msgstr "получен запрос повышения статуса" -#: access/transam/xlogrecovery.c:4383 -#, c-format -msgid "promote trigger file found: %s" -msgstr "найден файл триггера повышения: %s" - -#: access/transam/xlogrecovery.c:4391 -#, c-format -msgid "could not stat promote trigger file \"%s\": %m" -msgstr "не удалось получить информацию о файле триггера повышения \"%s\": %m" - -#: access/transam/xlogrecovery.c:4616 +#: access/transam/xlogrecovery.c:4585 #, c-format msgid "hot standby is not possible because of insufficient parameter settings" msgstr "" "режим горячего резерва невозможен из-за отсутствия достаточных значений " "параметров" -#: access/transam/xlogrecovery.c:4617 access/transam/xlogrecovery.c:4644 -#: access/transam/xlogrecovery.c:4674 +#: access/transam/xlogrecovery.c:4586 access/transam/xlogrecovery.c:4613 +#: access/transam/xlogrecovery.c:4643 #, c-format msgid "" "%s = %d is a lower setting than on the primary server, where its value was " @@ -3911,12 +3952,12 @@ msgid "" msgstr "" "Параметр %s = %d меньше, чем на ведущем сервере, где его значение было %d." -#: access/transam/xlogrecovery.c:4626 +#: access/transam/xlogrecovery.c:4595 #, c-format msgid "If recovery is unpaused, the server will shut down." msgstr "В случае возобновления восстановления сервер отключится." -#: access/transam/xlogrecovery.c:4627 +#: access/transam/xlogrecovery.c:4596 #, c-format msgid "" "You can then restart the server after making the necessary configuration " @@ -3925,24 +3966,24 @@ msgstr "" "Затем вы можете перезапустить сервер после внесения необходимых изменений " "конфигурации." -#: access/transam/xlogrecovery.c:4638 +#: access/transam/xlogrecovery.c:4607 #, c-format msgid "promotion is not possible because of insufficient parameter settings" msgstr "повышение невозможно из-за отсутствия достаточных значений параметров" -#: access/transam/xlogrecovery.c:4648 +#: access/transam/xlogrecovery.c:4617 #, c-format msgid "Restart the server after making the necessary configuration changes." msgstr "" "Перезапустите сервер после внесения необходимых изменений конфигурации." -#: access/transam/xlogrecovery.c:4672 +#: access/transam/xlogrecovery.c:4641 #, c-format msgid "recovery aborted because of insufficient parameter settings" msgstr "" "восстановление прервано из-за отсутствия достаточных значений параметров" -#: access/transam/xlogrecovery.c:4678 +#: access/transam/xlogrecovery.c:4647 #, c-format msgid "" "You can restart the server after making the necessary configuration changes." @@ -3950,17 +3991,82 @@ msgstr "" "Вы можете перезапустить сервер после внесения необходимых изменений " "конфигурации." -#: access/transam/xlogutils.c:1053 +#: access/transam/xlogrecovery.c:4689 +#, c-format +msgid "multiple recovery targets specified" +msgstr "указано несколько целей восстановления" + +#: access/transam/xlogrecovery.c:4690 +#, c-format +msgid "" +"At most one of recovery_target, recovery_target_lsn, recovery_target_name, " +"recovery_target_time, recovery_target_xid may be set." +msgstr "" +"Может быть указана только одна из целей: recovery_target, " +"recovery_target_lsn, recovery_target_name, recovery_target_time, " +"recovery_target_xid." + +#: access/transam/xlogrecovery.c:4701 +#, c-format +msgid "The only allowed value is \"immediate\"." +msgstr "Единственное допустимое значение: \"immediate\"." + +#: access/transam/xlogrecovery.c:4853 utils/adt/timestamp.c:186 +#: utils/adt/timestamp.c:439 +#, c-format +msgid "timestamp out of range: \"%s\"" +msgstr "timestamp вне диапазона: \"%s\"" + +#: access/transam/xlogrecovery.c:4898 +#, c-format +msgid "recovery_target_timeline is not a valid number." +msgstr "recovery_target_timeline не является допустимым числом." + +#: access/transam/xlogutils.c:1039 +#, c-format +msgid "could not read from WAL segment %s, offset %d: %m" +msgstr "не удалось прочитать из сегмента WAL %s по смещению %d: %m" + +#: access/transam/xlogutils.c:1046 #, c-format -msgid "could not read from log segment %s, offset %d: %m" -msgstr "не удалось прочитать сегмент журнала %s, смещение %d: %m" +msgid "could not read from WAL segment %s, offset %d: read %d of %d" +msgstr "" +"не удалось прочитать из сегмента WAL %s по смещению %d (прочитано байт: %d " +"из %d)" + +#: archive/shell_archive.c:96 +#, c-format +msgid "archive command failed with exit code %d" +msgstr "команда архивации завершилась ошибкой с кодом %d" + +#: archive/shell_archive.c:98 archive/shell_archive.c:108 +#: archive/shell_archive.c:114 archive/shell_archive.c:123 +#, c-format +msgid "The failed archive command was: %s" +msgstr "Команда архивации с ошибкой: %s" + +#: archive/shell_archive.c:105 +#, c-format +msgid "archive command was terminated by exception 0x%X" +msgstr "команда архивации была прервана исключением 0x%X" -#: access/transam/xlogutils.c:1060 +#: archive/shell_archive.c:107 postmaster/postmaster.c:3675 #, c-format -msgid "could not read from log segment %s, offset %d: read %d of %d" +msgid "" +"See C include file \"ntstatus.h\" for a description of the hexadecimal value." msgstr "" -"не удалось прочитать из сегмента журнала %s по смещению %d (прочитано байт: " -"%d из %d)" +"Описание этого шестнадцатеричного значения ищите во включаемом C-файле " +"\"ntstatus.h\"" + +#: archive/shell_archive.c:112 +#, c-format +msgid "archive command was terminated by signal %d: %s" +msgstr "команда архивации завершена по сигналу %d: %s" + +#: archive/shell_archive.c:121 +#, c-format +msgid "archive command exited with unrecognized status %d" +msgstr "команда архивации завершилась с неизвестным кодом состояния %d" #: backup/backup_manifest.c:253 #, c-format @@ -3982,27 +4088,22 @@ msgstr "начальная линия времени %u не найдена в msgid "could not rewind temporary file" msgstr "не удалось переместиться во временном файле" -#: backup/backup_manifest.c:374 -#, c-format -msgid "could not read from temporary file: read only %zu of %zu bytes" -msgstr "не удалось прочитать временный файл (прочитано байт: %zu из %zu)" - -#: backup/basebackup.c:454 +#: backup/basebackup.c:470 #, c-format msgid "could not find any WAL files" msgstr "не удалось найти ни одного файла WAL" -#: backup/basebackup.c:469 backup/basebackup.c:484 backup/basebackup.c:493 +#: backup/basebackup.c:485 backup/basebackup.c:500 backup/basebackup.c:509 #, c-format msgid "could not find WAL file \"%s\"" msgstr "не удалось найти файл WAL \"%s\"" -#: backup/basebackup.c:535 backup/basebackup.c:560 +#: backup/basebackup.c:551 backup/basebackup.c:576 #, c-format msgid "unexpected WAL file size \"%s\"" msgstr "неприемлемый размер файла WAL \"%s\"" -#: backup/basebackup.c:630 +#: backup/basebackup.c:646 #, c-format msgid "%lld total checksum verification failure" msgid_plural "%lld total checksum verification failures" @@ -4010,88 +4111,93 @@ msgstr[0] "всего ошибок контрольных сумм: %lld" msgstr[1] "всего ошибок контрольных сумм: %lld" msgstr[2] "всего ошибок контрольных сумм: %lld" -#: backup/basebackup.c:637 +#: backup/basebackup.c:653 #, c-format msgid "checksum verification failure during base backup" msgstr "при базовом резервном копировании выявлены ошибки контрольных сумм" -#: backup/basebackup.c:706 backup/basebackup.c:715 backup/basebackup.c:726 -#: backup/basebackup.c:743 backup/basebackup.c:752 backup/basebackup.c:763 -#: backup/basebackup.c:780 backup/basebackup.c:789 backup/basebackup.c:801 -#: backup/basebackup.c:825 backup/basebackup.c:839 backup/basebackup.c:850 -#: backup/basebackup.c:861 backup/basebackup.c:874 +#: backup/basebackup.c:722 backup/basebackup.c:731 backup/basebackup.c:742 +#: backup/basebackup.c:759 backup/basebackup.c:768 backup/basebackup.c:779 +#: backup/basebackup.c:796 backup/basebackup.c:805 backup/basebackup.c:817 +#: backup/basebackup.c:841 backup/basebackup.c:855 backup/basebackup.c:866 +#: backup/basebackup.c:877 backup/basebackup.c:890 #, c-format msgid "duplicate option \"%s\"" msgstr "повторяющийся параметр \"%s\"" -#: backup/basebackup.c:734 +#: backup/basebackup.c:750 #, c-format msgid "unrecognized checkpoint type: \"%s\"" msgstr "нераспознанный тип контрольной точки: \"%s\"" -#: backup/basebackup.c:769 +#: backup/basebackup.c:785 #, c-format msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)" msgstr "%d вне диапазона, допустимого для параметра \"%s\" (%d .. %d)" -#: backup/basebackup.c:814 +#: backup/basebackup.c:830 #, c-format msgid "unrecognized manifest option: \"%s\"" msgstr "нераспознанный параметр в манифесте: \"%s\"" -#: backup/basebackup.c:830 +#: backup/basebackup.c:846 #, c-format msgid "unrecognized checksum algorithm: \"%s\"" msgstr "нераспознанный алгоритм расчёта контрольных сумм: \"%s\"" -#: backup/basebackup.c:865 +#: backup/basebackup.c:881 #, c-format msgid "unrecognized compression algorithm: \"%s\"" msgstr "нераспознанный алгоритм сжатия: \"%s\"" -#: backup/basebackup.c:881 +#: backup/basebackup.c:897 #, c-format msgid "unrecognized base backup option: \"%s\"" msgstr "нераспознанный параметр операции базового копирования: \"%s\"" -#: backup/basebackup.c:892 +#: backup/basebackup.c:908 #, c-format msgid "manifest checksums require a backup manifest" msgstr "контрольные суммы не могут рассчитываться без манифеста копии" # skip-rule: capital-letter-first -#: backup/basebackup.c:901 +#: backup/basebackup.c:917 #, c-format msgid "target detail cannot be used without target" msgstr "доп. информацию о получателе нельзя задать без указания получателя" # skip-rule: capital-letter-first -#: backup/basebackup.c:910 backup/basebackup_target.c:218 +#: backup/basebackup.c:926 backup/basebackup_target.c:218 #, c-format msgid "target \"%s\" does not accept a target detail" msgstr "получатель \"%s\" не принимает доп. информацию" -#: backup/basebackup.c:921 +#: backup/basebackup.c:937 #, c-format msgid "compression detail cannot be specified unless compression is enabled" msgstr "параметры сжатия нельзя указывать, если не включено сжатие" -#: backup/basebackup.c:934 +#: backup/basebackup.c:950 #, c-format msgid "invalid compression specification: %s" msgstr "неправильное указание сжатия: %s" -#: backup/basebackup.c:1431 +#: backup/basebackup.c:1116 backup/basebackup.c:1294 +#, c-format +msgid "could not stat file or directory \"%s\": %m" +msgstr "не удалось получить информацию о файле или каталоге \"%s\": %m" + +#: backup/basebackup.c:1430 #, c-format msgid "skipping special file \"%s\"" msgstr "специальный файл \"%s\" пропускается" -#: backup/basebackup.c:1550 +#: backup/basebackup.c:1542 #, c-format msgid "invalid segment number %d in file \"%s\"" msgstr "неверный номер сегмента %d в файле \"%s\"" -#: backup/basebackup.c:1590 +#: backup/basebackup.c:1574 #, c-format msgid "" "could not verify checksum in file \"%s\", block %u: read buffer size %d and " @@ -4100,7 +4206,7 @@ msgstr "" "не удалось проверить контрольную сумму в файле \"%s\", блоке %u: размер " "прочитанного буфера (%d) отличается от размера страницы (%d)" -#: backup/basebackup.c:1664 +#: backup/basebackup.c:1658 #, c-format msgid "" "checksum verification failed in file \"%s\", block %u: calculated %X but " @@ -4109,14 +4215,14 @@ msgstr "" "ошибка контрольной суммы в файле \"%s\", блоке %u: вычислено значение %X, но " "ожидалось %X" -#: backup/basebackup.c:1671 +#: backup/basebackup.c:1665 #, c-format msgid "" "further checksum verification failures in file \"%s\" will not be reported" msgstr "" "о дальнейших ошибках контрольных сумм в файле \"%s\" сообщаться не будет" -#: backup/basebackup.c:1718 +#: backup/basebackup.c:1721 #, c-format msgid "file \"%s\" has a total of %d checksum verification failure" msgid_plural "file \"%s\" has a total of %d checksum verification failures" @@ -4124,12 +4230,12 @@ msgstr[0] "всего в файле \"%s\" обнаружено ошибок к msgstr[1] "всего в файле \"%s\" обнаружено ошибок контрольных сумм: %d" msgstr[2] "всего в файле \"%s\" обнаружено ошибок контрольных сумм: %d" -#: backup/basebackup.c:1764 +#: backup/basebackup.c:1767 #, c-format msgid "file name too long for tar format: \"%s\"" msgstr "слишком длинное имя файла для формата tar: \"%s\"" -#: backup/basebackup.c:1769 +#: backup/basebackup.c:1772 #, c-format msgid "" "symbolic link target too long for tar format: file name \"%s\", target \"%s\"" @@ -4154,46 +4260,52 @@ msgstr "сжатие lz4 не поддерживается в данной сб #: backup/basebackup_server.c:75 #, c-format +msgid "permission denied to create backup stored on server" +msgstr "нет прав для создания копии, сохраняемой на сервере" + +#: backup/basebackup_server.c:76 +#, c-format msgid "" -"must be superuser or a role with privileges of the pg_write_server_files " -"role to create backup stored on server" +"Only roles with privileges of the \"%s\" role may create a backup stored on " +"the server." msgstr "" -"для создания копии, сохраняемой на стороне сервера, нужно быть " -"суперпользователем или иметь права роли pg_write_server_files" +"Создавать копии, сохраняемые на сервере, могут только роли с правами роли " +"\"%s\"." -#: backup/basebackup_server.c:89 +#: backup/basebackup_server.c:91 #, c-format msgid "relative path not allowed for backup stored on server" msgstr "" "для копии, сохраняемой на стороне сервера, нельзя указывать относительный " "путь" -#: backup/basebackup_server.c:102 commands/dbcommands.c:500 +#: backup/basebackup_server.c:104 commands/dbcommands.c:501 #: commands/tablespace.c:163 commands/tablespace.c:179 -#: commands/tablespace.c:614 commands/tablespace.c:659 replication/slot.c:1558 +#: commands/tablespace.c:599 commands/tablespace.c:644 replication/slot.c:1704 #: storage/file/copydir.c:47 #, c-format msgid "could not create directory \"%s\": %m" msgstr "не удалось создать каталог \"%s\": %m" -#: backup/basebackup_server.c:115 +#: backup/basebackup_server.c:117 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "каталог \"%s\" существует, но он не пуст" -#: backup/basebackup_server.c:123 utils/init/postinit.c:1072 +#: backup/basebackup_server.c:125 utils/init/postinit.c:1160 #, c-format msgid "could not access directory \"%s\": %m" msgstr "ошибка доступа к каталогу \"%s\": %m" -#: backup/basebackup_server.c:175 backup/basebackup_server.c:182 -#: backup/basebackup_server.c:268 backup/basebackup_server.c:275 -#: storage/smgr/md.c:487 storage/smgr/md.c:494 storage/smgr/md.c:785 +#: backup/basebackup_server.c:177 backup/basebackup_server.c:184 +#: backup/basebackup_server.c:270 backup/basebackup_server.c:277 +#: storage/smgr/md.c:504 storage/smgr/md.c:511 storage/smgr/md.c:593 +#: storage/smgr/md.c:615 storage/smgr/md.c:865 #, c-format msgid "Check free disk space." msgstr "Проверьте, есть ли место на диске." -#: backup/basebackup_server.c:179 backup/basebackup_server.c:272 +#: backup/basebackup_server.c:181 backup/basebackup_server.c:274 #, c-format msgid "could not write file \"%s\": wrote only %d of %d bytes at offset %u" msgstr "" @@ -4220,238 +4332,257 @@ msgstr "сжатие zstd не поддерживается в данной сб msgid "could not set compression worker count to %d: %s" msgstr "не удалось установить для zstd число потоков %d: %s" -#: bootstrap/bootstrap.c:263 +#: backup/basebackup_zstd.c:129 #, c-format -msgid "-X requires a power of two value between 1 MB and 1 GB" -msgstr "" -"для -X требуется число, равное степени двух, в интервале от 1 МБ до 1 ГБ" +msgid "could not enable long-distance mode: %s" +msgstr "не удалось включить режим большой дистанции: %s" -#: bootstrap/bootstrap.c:280 postmaster/postmaster.c:846 tcop/postgres.c:3906 +#: bootstrap/bootstrap.c:243 postmaster/postmaster.c:721 tcop/postgres.c:3819 #, c-format msgid "--%s requires a value" msgstr "для --%s требуется значение" -#: bootstrap/bootstrap.c:285 postmaster/postmaster.c:851 tcop/postgres.c:3911 +#: bootstrap/bootstrap.c:248 postmaster/postmaster.c:726 tcop/postgres.c:3824 #, c-format msgid "-c %s requires a value" msgstr "для -c %s требуется значение" -#: bootstrap/bootstrap.c:296 postmaster/postmaster.c:863 -#: postmaster/postmaster.c:876 +#: bootstrap/bootstrap.c:289 +#, c-format +msgid "-X requires a power of two value between 1 MB and 1 GB" +msgstr "" +"для -X требуется число, равное степени двух, в интервале от 1 МБ до 1 ГБ" + +#: bootstrap/bootstrap.c:295 postmaster/postmaster.c:844 +#: postmaster/postmaster.c:857 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Для дополнительной информации попробуйте \"%s --help\".\n" -#: bootstrap/bootstrap.c:305 +#: bootstrap/bootstrap.c:304 #, c-format msgid "%s: invalid command-line arguments\n" msgstr "%s: неверные аргументы командной строки\n" -#: catalog/aclchk.c:185 +#: catalog/aclchk.c:201 #, c-format msgid "grant options can only be granted to roles" msgstr "право назначения прав можно давать только ролям" -#: catalog/aclchk.c:307 +#: catalog/aclchk.c:323 #, c-format msgid "no privileges were granted for column \"%s\" of relation \"%s\"" msgstr "для столбца \"%s\" отношения \"%s\" не были назначены никакие права" -#: catalog/aclchk.c:312 +#: catalog/aclchk.c:328 #, c-format msgid "no privileges were granted for \"%s\"" msgstr "для объекта \"%s\" не были назначены никакие права" -#: catalog/aclchk.c:320 +#: catalog/aclchk.c:336 #, c-format msgid "not all privileges were granted for column \"%s\" of relation \"%s\"" msgstr "" "для столбца \"%s\" отношения \"%s\" были назначены не все запрошенные права" -#: catalog/aclchk.c:325 +#: catalog/aclchk.c:341 #, c-format msgid "not all privileges were granted for \"%s\"" msgstr "для объекта \"%s\" были назначены не все запрошенные права" -#: catalog/aclchk.c:336 +#: catalog/aclchk.c:352 #, c-format msgid "no privileges could be revoked for column \"%s\" of relation \"%s\"" msgstr "для столбца \"%s\" отношения \"%s\" не были отозваны никакие права" -#: catalog/aclchk.c:341 +#: catalog/aclchk.c:357 #, c-format msgid "no privileges could be revoked for \"%s\"" msgstr "для объекта \"%s\" не были отозваны никакие права" -#: catalog/aclchk.c:349 +#: catalog/aclchk.c:365 #, c-format msgid "" "not all privileges could be revoked for column \"%s\" of relation \"%s\"" msgstr "для столбца \"%s\" отношения \"%s\" были отозваны не все права" -#: catalog/aclchk.c:354 +#: catalog/aclchk.c:370 #, c-format msgid "not all privileges could be revoked for \"%s\"" msgstr "для объекта \"%s\" были отозваны не все права" -#: catalog/aclchk.c:386 +#: catalog/aclchk.c:402 #, c-format msgid "grantor must be current user" msgstr "праводателем должен быть текущий пользователь" -#: catalog/aclchk.c:454 catalog/aclchk.c:1029 +#: catalog/aclchk.c:470 catalog/aclchk.c:1045 #, c-format msgid "invalid privilege type %s for relation" msgstr "право %s неприменимо для отношений" -#: catalog/aclchk.c:458 catalog/aclchk.c:1033 +#: catalog/aclchk.c:474 catalog/aclchk.c:1049 #, c-format msgid "invalid privilege type %s for sequence" msgstr "право %s неприменимо для последовательностей" -#: catalog/aclchk.c:462 +#: catalog/aclchk.c:478 #, c-format msgid "invalid privilege type %s for database" msgstr "право %s неприменимо для баз данных" -#: catalog/aclchk.c:466 +#: catalog/aclchk.c:482 #, c-format msgid "invalid privilege type %s for domain" msgstr "право %s неприменимо для домена" -#: catalog/aclchk.c:470 catalog/aclchk.c:1037 +#: catalog/aclchk.c:486 catalog/aclchk.c:1053 #, c-format msgid "invalid privilege type %s for function" msgstr "право %s неприменимо для функций" -#: catalog/aclchk.c:474 +#: catalog/aclchk.c:490 #, c-format msgid "invalid privilege type %s for language" msgstr "право %s неприменимо для языков" -#: catalog/aclchk.c:478 +#: catalog/aclchk.c:494 #, c-format msgid "invalid privilege type %s for large object" msgstr "право %s неприменимо для больших объектов" -#: catalog/aclchk.c:482 catalog/aclchk.c:1053 +#: catalog/aclchk.c:498 catalog/aclchk.c:1069 #, c-format msgid "invalid privilege type %s for schema" msgstr "право %s неприменимо для схем" -#: catalog/aclchk.c:486 catalog/aclchk.c:1041 +#: catalog/aclchk.c:502 catalog/aclchk.c:1057 #, c-format msgid "invalid privilege type %s for procedure" msgstr "право %s неприменимо для процедур" -#: catalog/aclchk.c:490 catalog/aclchk.c:1045 +#: catalog/aclchk.c:506 catalog/aclchk.c:1061 #, c-format msgid "invalid privilege type %s for routine" msgstr "право %s неприменимо для подпрограмм" -#: catalog/aclchk.c:494 +#: catalog/aclchk.c:510 #, c-format msgid "invalid privilege type %s for tablespace" msgstr "право %s неприменимо для табличных пространств" -#: catalog/aclchk.c:498 catalog/aclchk.c:1049 +#: catalog/aclchk.c:514 catalog/aclchk.c:1065 #, c-format msgid "invalid privilege type %s for type" msgstr "право %s неприменимо для типа" -#: catalog/aclchk.c:502 +#: catalog/aclchk.c:518 #, c-format msgid "invalid privilege type %s for foreign-data wrapper" msgstr "право %s неприменимо для обёрток сторонних данных" -#: catalog/aclchk.c:506 +#: catalog/aclchk.c:522 #, c-format msgid "invalid privilege type %s for foreign server" msgstr "право %s неприменимо для сторонних серверов" -#: catalog/aclchk.c:510 +#: catalog/aclchk.c:526 #, c-format msgid "invalid privilege type %s for parameter" msgstr "неверный тип прав %s для параметра" -#: catalog/aclchk.c:549 +#: catalog/aclchk.c:565 #, c-format msgid "column privileges are only valid for relations" msgstr "права для столбцов применимы только к отношениям" -#: catalog/aclchk.c:712 catalog/aclchk.c:4486 catalog/aclchk.c:5333 -#: catalog/objectaddress.c:1072 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:287 #, c-format msgid "large object %u does not exist" msgstr "большой объект %u не существует" -#: catalog/aclchk.c:1086 +#: catalog/aclchk.c:1102 #, c-format msgid "default privileges cannot be set for columns" msgstr "права по умолчанию нельзя определить для столбцов" -#: catalog/aclchk.c:1246 +#: catalog/aclchk.c:1138 +#, c-format +msgid "permission denied to change default privileges" +msgstr "нет полномочий для изменения прав доступа по умолчанию" + +#: catalog/aclchk.c:1256 #, c-format msgid "cannot use IN SCHEMA clause when using GRANT/REVOKE ON SCHEMAS" msgstr "предложение IN SCHEMA нельзя использовать в GRANT/REVOKE ON SCHEMAS" -#: catalog/aclchk.c:1587 catalog/catalog.c:627 catalog/objectaddress.c:1543 -#: catalog/pg_publication.c:510 commands/analyze.c:391 commands/copy.c:776 -#: commands/sequence.c:1663 commands/tablecmds.c:7231 commands/tablecmds.c:7387 -#: commands/tablecmds.c:7437 commands/tablecmds.c:7511 -#: commands/tablecmds.c:7581 commands/tablecmds.c:7693 -#: commands/tablecmds.c:7787 commands/tablecmds.c:7846 -#: commands/tablecmds.c:7935 commands/tablecmds.c:7965 -#: commands/tablecmds.c:8093 commands/tablecmds.c:8175 -#: commands/tablecmds.c:8331 commands/tablecmds.c:8449 -#: commands/tablecmds.c:12167 commands/tablecmds.c:12348 -#: commands/tablecmds.c:12508 commands/tablecmds.c:13672 -#: commands/tablecmds.c:16240 commands/trigger.c:958 parser/analyze.c:2468 -#: parser/parse_relation.c:725 parser/parse_target.c:1063 -#: parser/parse_type.c:144 parser/parse_utilcmd.c:3434 -#: parser/parse_utilcmd.c:3470 parser/parse_utilcmd.c:3512 utils/adt/acl.c:2869 -#: utils/adt/ruleutils.c:2810 +#: catalog/aclchk.c:1595 catalog/catalog.c:631 catalog/objectaddress.c:1561 +#: catalog/pg_publication.c:533 commands/analyze.c:390 commands/copy.c:837 +#: commands/sequence.c:1663 commands/tablecmds.c:7339 commands/tablecmds.c:7495 +#: commands/tablecmds.c:7545 commands/tablecmds.c:7619 +#: commands/tablecmds.c:7689 commands/tablecmds.c:7801 +#: commands/tablecmds.c:7895 commands/tablecmds.c:7954 +#: commands/tablecmds.c:8043 commands/tablecmds.c:8073 +#: commands/tablecmds.c:8201 commands/tablecmds.c:8283 +#: commands/tablecmds.c:8417 commands/tablecmds.c:8525 +#: commands/tablecmds.c:12240 commands/tablecmds.c:12421 +#: commands/tablecmds.c:12582 commands/tablecmds.c:13744 +#: commands/tablecmds.c:16273 commands/trigger.c:949 parser/analyze.c:2518 +#: parser/parse_relation.c:737 parser/parse_target.c:1054 +#: parser/parse_type.c:144 parser/parse_utilcmd.c:3413 +#: parser/parse_utilcmd.c:3449 parser/parse_utilcmd.c:3491 utils/adt/acl.c:2876 +#: utils/adt/ruleutils.c:2799 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" msgstr "столбец \"%s\" в таблице \"%s\" не существует" -#: catalog/aclchk.c:1850 catalog/objectaddress.c:1383 commands/sequence.c:1172 -#: commands/tablecmds.c:253 commands/tablecmds.c:17104 utils/adt/acl.c:2077 -#: utils/adt/acl.c:2107 utils/adt/acl.c:2139 utils/adt/acl.c:2171 -#: utils/adt/acl.c:2199 utils/adt/acl.c:2229 +#: catalog/aclchk.c:1840 +#, c-format +msgid "\"%s\" is an index" +msgstr "\"%s\" - это индекс" + +#: catalog/aclchk.c:1847 commands/tablecmds.c:13901 commands/tablecmds.c:17172 +#, 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:17136 utils/adt/acl.c:2084 +#: utils/adt/acl.c:2114 utils/adt/acl.c:2146 utils/adt/acl.c:2178 +#: utils/adt/acl.c:2206 utils/adt/acl.c:2236 #, c-format msgid "\"%s\" is not a sequence" msgstr "\"%s\" - это не последовательность" -#: catalog/aclchk.c:1888 +#: catalog/aclchk.c:1893 #, c-format msgid "sequence \"%s\" only supports USAGE, SELECT, and UPDATE privileges" msgstr "" "для последовательности \"%s\" применимы только права USAGE, SELECT и UPDATE" -#: catalog/aclchk.c:1905 +#: catalog/aclchk.c:1910 #, c-format msgid "invalid privilege type %s for table" msgstr "право %s неприменимо для таблиц" -#: catalog/aclchk.c:2071 +#: catalog/aclchk.c:2072 #, c-format msgid "invalid privilege type %s for column" msgstr "право %s неприменимо для столбцов" -#: catalog/aclchk.c:2084 +#: catalog/aclchk.c:2085 #, c-format msgid "sequence \"%s\" only supports SELECT column privileges" msgstr "для последовательности \"%s\" применимо только право SELECT" # TO REVIEW -#: catalog/aclchk.c:2666 +#: catalog/aclchk.c:2275 #, c-format msgid "language \"%s\" is not trusted" msgstr "язык \"%s\" не является доверенным" -#: catalog/aclchk.c:2668 +#: catalog/aclchk.c:2277 #, c-format msgid "" "GRANT and REVOKE are not allowed on untrusted languages, because only " @@ -4460,487 +4591,400 @@ msgstr "" "GRANT и REVOKE не допускаются для недоверенных языков, так как использовать " "такие языки могут только суперпользователи." -#: catalog/aclchk.c:3182 +#: catalog/aclchk.c:2427 #, c-format msgid "cannot set privileges of array types" msgstr "для типов массивов нельзя определить права" -#: catalog/aclchk.c:3183 +#: catalog/aclchk.c:2428 #, c-format msgid "Set the privileges of the element type instead." msgstr "Вместо этого установите права для типа элемента." -#: catalog/aclchk.c:3190 catalog/objectaddress.c:1649 +#: catalog/aclchk.c:2435 catalog/objectaddress.c:1667 #, c-format msgid "\"%s\" is not a domain" msgstr "\"%s\" - это не домен" -#: catalog/aclchk.c:3462 +#: catalog/aclchk.c:2619 #, c-format msgid "unrecognized privilege type \"%s\"" msgstr "нераспознанное право: \"%s\"" -#: catalog/aclchk.c:3527 +#: catalog/aclchk.c:2684 #, c-format msgid "permission denied for aggregate %s" msgstr "нет доступа к агрегату %s" -#: catalog/aclchk.c:3530 +#: catalog/aclchk.c:2687 #, c-format msgid "permission denied for collation %s" msgstr "нет доступа к правилу сортировки %s" -#: catalog/aclchk.c:3533 +#: catalog/aclchk.c:2690 #, c-format msgid "permission denied for column %s" msgstr "нет доступа к столбцу %s" -#: catalog/aclchk.c:3536 +#: catalog/aclchk.c:2693 #, c-format msgid "permission denied for conversion %s" msgstr "нет доступа к преобразованию %s" -#: catalog/aclchk.c:3539 +#: catalog/aclchk.c:2696 #, c-format msgid "permission denied for database %s" msgstr "нет доступа к базе данных %s" -#: catalog/aclchk.c:3542 +#: catalog/aclchk.c:2699 #, c-format msgid "permission denied for domain %s" msgstr "нет доступа к домену %s" -#: catalog/aclchk.c:3545 +#: catalog/aclchk.c:2702 #, c-format msgid "permission denied for event trigger %s" msgstr "нет доступа к событийному триггеру %s" -#: catalog/aclchk.c:3548 +#: catalog/aclchk.c:2705 #, c-format msgid "permission denied for extension %s" msgstr "нет доступа к расширению %s" -#: catalog/aclchk.c:3551 +#: catalog/aclchk.c:2708 #, c-format msgid "permission denied for foreign-data wrapper %s" msgstr "нет доступа к обёртке сторонних данных %s" -#: catalog/aclchk.c:3554 +#: catalog/aclchk.c:2711 #, c-format msgid "permission denied for foreign server %s" msgstr "нет доступа к стороннему серверу %s" -#: catalog/aclchk.c:3557 +#: catalog/aclchk.c:2714 #, c-format msgid "permission denied for foreign table %s" msgstr "нет доступа к сторонней таблице %s" -#: catalog/aclchk.c:3560 +#: catalog/aclchk.c:2717 #, c-format msgid "permission denied for function %s" msgstr "нет доступа к функции %s" -#: catalog/aclchk.c:3563 +#: catalog/aclchk.c:2720 #, c-format msgid "permission denied for index %s" msgstr "нет доступа к индексу %s" -#: catalog/aclchk.c:3566 +#: catalog/aclchk.c:2723 #, c-format msgid "permission denied for language %s" msgstr "нет доступа к языку %s" -#: catalog/aclchk.c:3569 +#: catalog/aclchk.c:2726 #, c-format msgid "permission denied for large object %s" msgstr "нет доступа к большому объекту %s" -#: catalog/aclchk.c:3572 +#: catalog/aclchk.c:2729 #, c-format msgid "permission denied for materialized view %s" msgstr "нет доступа к материализованному представлению %s" -#: catalog/aclchk.c:3575 +#: catalog/aclchk.c:2732 #, c-format msgid "permission denied for operator class %s" msgstr "нет доступа к классу операторов %s" -#: catalog/aclchk.c:3578 +#: catalog/aclchk.c:2735 #, c-format msgid "permission denied for operator %s" msgstr "нет доступа к оператору %s" -#: catalog/aclchk.c:3581 +#: catalog/aclchk.c:2738 #, c-format msgid "permission denied for operator family %s" msgstr "нет доступа к семейству операторов %s" -#: catalog/aclchk.c:3584 +#: catalog/aclchk.c:2741 #, c-format msgid "permission denied for parameter %s" msgstr "нет доступа к параметру %s" -#: catalog/aclchk.c:3587 +#: catalog/aclchk.c:2744 #, c-format msgid "permission denied for policy %s" msgstr "нет доступа к политике %s" -#: catalog/aclchk.c:3590 +#: catalog/aclchk.c:2747 #, c-format msgid "permission denied for procedure %s" msgstr "нет доступа к процедуре %s" -#: catalog/aclchk.c:3593 +#: catalog/aclchk.c:2750 #, c-format msgid "permission denied for publication %s" msgstr "нет доступа к публикации %s" -#: catalog/aclchk.c:3596 +#: catalog/aclchk.c:2753 #, c-format msgid "permission denied for routine %s" msgstr "нет доступа к подпрограмме %s" -#: catalog/aclchk.c:3599 +#: catalog/aclchk.c:2756 #, c-format msgid "permission denied for schema %s" msgstr "нет доступа к схеме %s" -#: catalog/aclchk.c:3602 commands/sequence.c:660 commands/sequence.c:886 -#: commands/sequence.c:928 commands/sequence.c:969 commands/sequence.c:1761 -#: commands/sequence.c:1825 +#: 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 #, c-format msgid "permission denied for sequence %s" msgstr "нет доступа к последовательности %s" -#: catalog/aclchk.c:3605 +#: catalog/aclchk.c:2762 #, c-format msgid "permission denied for statistics object %s" msgstr "нет доступа к объекту статистики %s" -#: catalog/aclchk.c:3608 +#: catalog/aclchk.c:2765 #, c-format msgid "permission denied for subscription %s" msgstr "нет доступа к подписке %s" -#: catalog/aclchk.c:3611 +#: catalog/aclchk.c:2768 #, c-format msgid "permission denied for table %s" msgstr "нет доступа к таблице %s" -#: catalog/aclchk.c:3614 +#: catalog/aclchk.c:2771 #, c-format msgid "permission denied for tablespace %s" msgstr "нет доступа к табличному пространству %s" -#: catalog/aclchk.c:3617 +#: catalog/aclchk.c:2774 #, c-format msgid "permission denied for text search configuration %s" msgstr "нет доступа к конфигурации текстового поиска %s" -#: catalog/aclchk.c:3620 +#: catalog/aclchk.c:2777 #, c-format msgid "permission denied for text search dictionary %s" msgstr "нет доступа к словарю текстового поиска %s" -#: catalog/aclchk.c:3623 +#: catalog/aclchk.c:2780 #, c-format msgid "permission denied for type %s" msgstr "нет доступа к типу %s" -#: catalog/aclchk.c:3626 +#: catalog/aclchk.c:2783 #, c-format msgid "permission denied for view %s" msgstr "нет доступа к представлению %s" -#: catalog/aclchk.c:3662 +#: catalog/aclchk.c:2819 #, c-format msgid "must be owner of aggregate %s" msgstr "нужно быть владельцем агрегата %s" -#: catalog/aclchk.c:3665 +#: catalog/aclchk.c:2822 #, c-format msgid "must be owner of collation %s" msgstr "нужно быть владельцем правила сортировки %s" -#: catalog/aclchk.c:3668 +#: catalog/aclchk.c:2825 #, c-format msgid "must be owner of conversion %s" msgstr "нужно быть владельцем преобразования %s" -#: catalog/aclchk.c:3671 +#: catalog/aclchk.c:2828 #, c-format msgid "must be owner of database %s" msgstr "нужно быть владельцем базы %s" -#: catalog/aclchk.c:3674 +#: catalog/aclchk.c:2831 #, c-format msgid "must be owner of domain %s" msgstr "нужно быть владельцем домена %s" -#: catalog/aclchk.c:3677 +#: catalog/aclchk.c:2834 #, c-format msgid "must be owner of event trigger %s" msgstr "нужно быть владельцем событийного триггера %s" -#: catalog/aclchk.c:3680 +#: catalog/aclchk.c:2837 #, c-format msgid "must be owner of extension %s" msgstr "нужно быть владельцем расширения %s" -#: catalog/aclchk.c:3683 +#: catalog/aclchk.c:2840 #, c-format msgid "must be owner of foreign-data wrapper %s" msgstr "нужно быть владельцем обёртки сторонних данных %s" -#: catalog/aclchk.c:3686 +#: catalog/aclchk.c:2843 #, c-format msgid "must be owner of foreign server %s" msgstr "нужно быть \"владельцем\" стороннего сервера %s" -#: catalog/aclchk.c:3689 +#: catalog/aclchk.c:2846 #, c-format msgid "must be owner of foreign table %s" msgstr "нужно быть владельцем сторонней таблицы %s" -#: catalog/aclchk.c:3692 +#: catalog/aclchk.c:2849 #, c-format msgid "must be owner of function %s" msgstr "нужно быть владельцем функции %s" -#: catalog/aclchk.c:3695 +#: catalog/aclchk.c:2852 #, c-format msgid "must be owner of index %s" msgstr "нужно быть владельцем индекса %s" -#: catalog/aclchk.c:3698 +#: catalog/aclchk.c:2855 #, c-format msgid "must be owner of language %s" msgstr "нужно быть владельцем языка %s" -#: catalog/aclchk.c:3701 +#: catalog/aclchk.c:2858 #, c-format msgid "must be owner of large object %s" msgstr "нужно быть владельцем большого объекта %s" -#: catalog/aclchk.c:3704 +#: catalog/aclchk.c:2861 #, c-format msgid "must be owner of materialized view %s" msgstr "нужно быть владельцем материализованного представления %s" -#: catalog/aclchk.c:3707 +#: catalog/aclchk.c:2864 #, c-format msgid "must be owner of operator class %s" msgstr "нужно быть владельцем класса операторов %s" -#: catalog/aclchk.c:3710 +#: catalog/aclchk.c:2867 #, c-format msgid "must be owner of operator %s" msgstr "нужно быть владельцем оператора %s" -#: catalog/aclchk.c:3713 +#: catalog/aclchk.c:2870 #, c-format msgid "must be owner of operator family %s" msgstr "нужно быть владельцем семейства операторов %s" -#: catalog/aclchk.c:3716 +#: catalog/aclchk.c:2873 #, c-format msgid "must be owner of procedure %s" msgstr "нужно быть владельцем процедуры %s" -#: catalog/aclchk.c:3719 +#: catalog/aclchk.c:2876 #, c-format msgid "must be owner of publication %s" msgstr "нужно быть владельцем публикации %s" -#: catalog/aclchk.c:3722 +#: catalog/aclchk.c:2879 #, c-format msgid "must be owner of routine %s" msgstr "нужно быть владельцем подпрограммы %s" -#: catalog/aclchk.c:3725 +#: catalog/aclchk.c:2882 #, c-format msgid "must be owner of sequence %s" msgstr "нужно быть владельцем последовательности %s" -#: catalog/aclchk.c:3728 +#: catalog/aclchk.c:2885 #, c-format msgid "must be owner of subscription %s" msgstr "нужно быть владельцем подписки %s" -#: catalog/aclchk.c:3731 +#: catalog/aclchk.c:2888 #, c-format msgid "must be owner of table %s" msgstr "нужно быть владельцем таблицы %s" -#: catalog/aclchk.c:3734 +#: catalog/aclchk.c:2891 #, c-format msgid "must be owner of type %s" msgstr "нужно быть владельцем типа %s" -#: catalog/aclchk.c:3737 +#: catalog/aclchk.c:2894 #, c-format msgid "must be owner of view %s" msgstr "нужно быть владельцем представления %s" -#: catalog/aclchk.c:3740 +#: catalog/aclchk.c:2897 #, c-format msgid "must be owner of schema %s" msgstr "нужно быть владельцем схемы %s" -#: catalog/aclchk.c:3743 +#: catalog/aclchk.c:2900 #, c-format msgid "must be owner of statistics object %s" msgstr "нужно быть владельцем объекта статистики %s" -#: catalog/aclchk.c:3746 +#: catalog/aclchk.c:2903 #, c-format msgid "must be owner of tablespace %s" msgstr "нужно быть владельцем табличного пространства %s" -#: catalog/aclchk.c:3749 +#: catalog/aclchk.c:2906 #, c-format msgid "must be owner of text search configuration %s" msgstr "нужно быть владельцем конфигурации текстового поиска %s" -#: catalog/aclchk.c:3752 +#: catalog/aclchk.c:2909 #, c-format msgid "must be owner of text search dictionary %s" msgstr "нужно быть владельцем словаря текстового поиска %s" -#: catalog/aclchk.c:3766 +#: catalog/aclchk.c:2923 #, c-format msgid "must be owner of relation %s" msgstr "нужно быть владельцем отношения %s" -#: catalog/aclchk.c:3812 +#: catalog/aclchk.c:2969 #, c-format msgid "permission denied for column \"%s\" of relation \"%s\"" msgstr "нет доступа к столбцу \"%s\" отношения \"%s\"" -#: catalog/aclchk.c:3957 catalog/aclchk.c:3976 +#: catalog/aclchk.c:3104 catalog/aclchk.c:3979 catalog/aclchk.c:4011 +#, c-format +msgid "%s with OID %u does not exist" +msgstr "%s с OID %u не существует" + +#: catalog/aclchk.c:3188 catalog/aclchk.c:3207 #, c-format msgid "attribute %d of relation with OID %u does not exist" msgstr "атрибут %d отношения с OID %u не существует" -#: catalog/aclchk.c:4071 catalog/aclchk.c:5184 +#: catalog/aclchk.c:3302 #, c-format msgid "relation with OID %u does not exist" msgstr "отношение с OID %u не существует" -#: catalog/aclchk.c:4184 catalog/aclchk.c:5602 commands/dbcommands.c:2581 -#, c-format -msgid "database with OID %u does not exist" -msgstr "база данных с OID %u не существует" - -#: catalog/aclchk.c:4299 +#: catalog/aclchk.c:3476 #, c-format msgid "parameter ACL with OID %u does not exist" msgstr "ACL параметра с OID %u не существует" -#: catalog/aclchk.c:4353 catalog/aclchk.c:5262 tcop/fastpath.c:141 -#: utils/fmgr/fmgr.c:2037 -#, c-format -msgid "function with OID %u does not exist" -msgstr "функция с OID %u не существует" - -#: catalog/aclchk.c:4407 catalog/aclchk.c:5288 -#, c-format -msgid "language with OID %u does not exist" -msgstr "язык с OID %u не существует" - -#: catalog/aclchk.c:4571 catalog/aclchk.c:5360 commands/collationcmds.c:595 -#: commands/publicationcmds.c:1745 +#: catalog/aclchk.c:3640 commands/collationcmds.c:808 +#: commands/publicationcmds.c:1746 #, c-format msgid "schema with OID %u does not exist" msgstr "схема с OID %u не существует" -#: catalog/aclchk.c:4635 catalog/aclchk.c:5387 utils/adt/genfile.c:632 -#, c-format -msgid "tablespace with OID %u does not exist" -msgstr "табличное пространство с OID %u не существует" - -#: catalog/aclchk.c:4694 catalog/aclchk.c:5521 commands/foreigncmds.c:325 -#, c-format -msgid "foreign-data wrapper with OID %u does not exist" -msgstr "обёртка сторонних данных с OID %u не существует" - -#: catalog/aclchk.c:4756 catalog/aclchk.c:5548 commands/foreigncmds.c:462 -#, c-format -msgid "foreign server with OID %u does not exist" -msgstr "сторонний сервер с OID %u не существует" - -#: catalog/aclchk.c:4816 catalog/aclchk.c:5210 utils/cache/typcache.c:385 -#: utils/cache/typcache.c:440 +#: catalog/aclchk.c:3705 utils/cache/typcache.c:385 utils/cache/typcache.c:440 #, c-format msgid "type with OID %u does not exist" msgstr "тип с OID %u не существует" -#: catalog/aclchk.c:5236 -#, c-format -msgid "operator with OID %u does not exist" -msgstr "оператор с OID %u не существует" - -#: catalog/aclchk.c:5413 -#, c-format -msgid "operator class with OID %u does not exist" -msgstr "класс операторов с OID %u не существует" - -#: catalog/aclchk.c:5440 -#, c-format -msgid "operator family with OID %u does not exist" -msgstr "семейство операторов с OID %u не существует" - -#: catalog/aclchk.c:5467 -#, c-format -msgid "text search dictionary with OID %u does not exist" -msgstr "словарь текстового поиска с OID %u не существует" - -#: catalog/aclchk.c:5494 -#, c-format -msgid "text search configuration with OID %u does not exist" -msgstr "конфигурация текстового поиска с OID %u не существует" - -#: catalog/aclchk.c:5575 commands/event_trigger.c:453 -#, c-format -msgid "event trigger with OID %u does not exist" -msgstr "событийный триггер с OID %u не существует" - -#: catalog/aclchk.c:5628 commands/collationcmds.c:439 -#, c-format -msgid "collation with OID %u does not exist" -msgstr "правило сортировки с OID %u не существует" - -#: catalog/aclchk.c:5654 -#, c-format -msgid "conversion with OID %u does not exist" -msgstr "преобразование с OID %u не существует" - -#: catalog/aclchk.c:5695 -#, c-format -msgid "extension with OID %u does not exist" -msgstr "расширение с OID %u не существует" - -#: catalog/aclchk.c:5722 commands/publicationcmds.c:1999 -#, c-format -msgid "publication with OID %u does not exist" -msgstr "публикация с OID %u не существует" - -#: catalog/aclchk.c:5748 commands/subscriptioncmds.c:1742 -#, c-format -msgid "subscription with OID %u does not exist" -msgstr "подписка с OID %u не существует" - -#: catalog/aclchk.c:5774 -#, c-format -msgid "statistics object with OID %u does not exist" -msgstr "объект статистики с OID %u не существует" - -#: catalog/catalog.c:447 +#: catalog/catalog.c:449 #, c-format msgid "still searching for an unused OID in relation \"%s\"" msgstr "продолжается поиск неиспользованного OID в отношении \"%s\"" -#: catalog/catalog.c:449 +#: catalog/catalog.c:451 #, c-format msgid "" "OID candidates have been checked %llu time, but no unused OID has been found " @@ -4958,7 +5002,7 @@ msgstr[2] "" "Потенциальные OID были проверены %llu раз, но неиспользуемые OID ещё не были " "найдены." -#: catalog/catalog.c:474 +#: catalog/catalog.c:476 #, 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" @@ -4966,57 +5010,57 @@ msgstr[0] "новый OID был назначен в отношении \"%s\" msgstr[1] "новый OID был назначен в отношении \"%s\" после %llu попыток" msgstr[2] "новый OID был назначен в отношении \"%s\" после %llu попыток" -#: catalog/catalog.c:605 catalog/catalog.c:672 +#: catalog/catalog.c:609 catalog/catalog.c:676 #, c-format msgid "must be superuser to call %s()" msgstr "вызывать %s() может только суперпользователь" -#: catalog/catalog.c:614 +#: catalog/catalog.c:618 #, c-format msgid "pg_nextoid() can only be used on system catalogs" msgstr "pg_nextoid() можно использовать только для системных каталогов" -#: catalog/catalog.c:619 parser/parse_utilcmd.c:2279 +#: catalog/catalog.c:623 parser/parse_utilcmd.c:2264 #, c-format msgid "index \"%s\" does not belong to table \"%s\"" msgstr "индекс \"%s\" не принадлежит таблице \"%s\"" -#: catalog/catalog.c:636 +#: catalog/catalog.c:640 #, c-format msgid "column \"%s\" is not of type oid" msgstr "столбец \"%s\" имеет тип не oid" -#: catalog/catalog.c:643 +#: catalog/catalog.c:647 #, c-format msgid "index \"%s\" is not the index for column \"%s\"" msgstr "индекс \"%s\" не является индексом столбца \"%s\"" -#: catalog/dependency.c:538 catalog/pg_shdepend.c:657 +#: catalog/dependency.c:546 catalog/pg_shdepend.c:658 #, c-format msgid "cannot drop %s because it is required by the database system" msgstr "удалить объект %s нельзя, так как он нужен системе баз данных" -#: catalog/dependency.c:830 catalog/dependency.c:1057 +#: catalog/dependency.c:838 catalog/dependency.c:1065 #, c-format msgid "cannot drop %s because %s requires it" msgstr "удалить объект %s нельзя, так как он нужен объекту %s" -#: catalog/dependency.c:832 catalog/dependency.c:1059 +#: catalog/dependency.c:840 catalog/dependency.c:1067 #, c-format msgid "You can drop %s instead." msgstr "Однако можно удалить %s." -#: catalog/dependency.c:1138 catalog/dependency.c:1147 +#: catalog/dependency.c:1146 catalog/dependency.c:1155 #, c-format msgid "%s depends on %s" msgstr "%s зависит от объекта %s" -#: catalog/dependency.c:1162 catalog/dependency.c:1171 +#: catalog/dependency.c:1170 catalog/dependency.c:1179 #, c-format msgid "drop cascades to %s" msgstr "удаление распространяется на объект %s" -#: catalog/dependency.c:1179 catalog/pg_shdepend.c:822 +#: catalog/dependency.c:1187 catalog/pg_shdepend.c:823 #, c-format msgid "" "\n" @@ -5034,35 +5078,36 @@ msgstr[2] "" "\n" "и ещё %d объектов (см. список в протоколе сервера)" -#: catalog/dependency.c:1191 +#: catalog/dependency.c:1199 #, c-format msgid "cannot drop %s because other objects depend on it" msgstr "удалить объект %s нельзя, так как от него зависят другие объекты" -#: catalog/dependency.c:1194 catalog/dependency.c:1201 -#: catalog/dependency.c:1212 commands/tablecmds.c:1328 -#: commands/tablecmds.c:14314 commands/tablespace.c:476 commands/user.c:1008 -#: commands/view.c:522 libpq/auth.c:329 replication/syncrep.c:1043 -#: storage/lmgr/deadlock.c:1152 storage/lmgr/proc.c:1413 utils/misc/guc.c:7402 -#: utils/misc/guc.c:7438 utils/misc/guc.c:7508 utils/misc/guc.c:11864 -#: utils/misc/guc.c:11898 utils/misc/guc.c:11932 utils/misc/guc.c:11975 -#: utils/misc/guc.c:12017 +#: catalog/dependency.c:1202 catalog/dependency.c:1209 +#: catalog/dependency.c:1220 commands/tablecmds.c:1335 +#: commands/tablecmds.c:14386 commands/tablespace.c:466 commands/user.c:1309 +#: commands/vacuum.c:211 commands/view.c:446 libpq/auth.c:326 +#: replication/logical/applyparallelworker.c:1044 replication/syncrep.c:1017 +#: storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1358 utils/misc/guc.c:3120 +#: utils/misc/guc.c:3156 utils/misc/guc.c:3226 utils/misc/guc.c:6615 +#: utils/misc/guc.c:6649 utils/misc/guc.c:6683 utils/misc/guc.c:6726 +#: utils/misc/guc.c:6768 #, c-format msgid "%s" msgstr "%s" -#: catalog/dependency.c:1195 catalog/dependency.c:1202 +#: catalog/dependency.c:1203 catalog/dependency.c:1210 #, c-format msgid "Use DROP ... CASCADE to drop the dependent objects too." msgstr "Для удаления зависимых объектов используйте DROP ... CASCADE." -#: catalog/dependency.c:1199 +#: catalog/dependency.c:1207 #, c-format msgid "cannot drop desired object(s) because other objects depend on them" msgstr "" "удалить запрошенные объекты нельзя, так как от них зависят другие объекты" -#: catalog/dependency.c:1207 +#: catalog/dependency.c:1215 #, c-format msgid "drop cascades to %d other object" msgid_plural "drop cascades to %d other objects" @@ -5070,13 +5115,13 @@ msgstr[0] "удаление распространяется на ещё %d об msgstr[1] "удаление распространяется на ещё %d объекта" msgstr[2] "удаление распространяется на ещё %d объектов" -#: catalog/dependency.c:1889 +#: catalog/dependency.c:1899 #, c-format msgid "constant of the type %s cannot be used here" msgstr "константу типа %s здесь использовать нельзя" -#: catalog/dependency.c:2410 parser/parse_relation.c:3369 -#: parser/parse_relation.c:3379 +#: catalog/dependency.c:2420 parser/parse_relation.c:3404 +#: parser/parse_relation.c:3414 #, c-format msgid "column %d of relation \"%s\" does not exist" msgstr "столбец %d отношения \"%s\" не существует" @@ -5091,13 +5136,13 @@ msgstr "нет прав для создания отношения \"%s.%s\"" msgid "System catalog modifications are currently disallowed." msgstr "Изменение системного каталога в текущем состоянии запрещено." -#: catalog/heap.c:466 commands/tablecmds.c:2348 commands/tablecmds.c:2985 -#: commands/tablecmds.c:6821 +#: catalog/heap.c:466 commands/tablecmds.c:2374 commands/tablecmds.c:3047 +#: commands/tablecmds.c:6922 #, c-format msgid "tables can have at most %d columns" msgstr "максимальное число столбцов в таблице: %d" -#: catalog/heap.c:484 commands/tablecmds.c:7121 +#: catalog/heap.c:484 commands/tablecmds.c:7229 #, c-format msgid "column name \"%s\" conflicts with a system column name" msgstr "имя столбца \"%s\" конфликтует с системным столбцом" @@ -5139,16 +5184,16 @@ msgstr "" "для столбца \"%s\" с сортируемым типом %s не удалось получить правило " "сортировки" -#: catalog/heap.c:1148 catalog/index.c:874 commands/createas.c:408 -#: commands/tablecmds.c:3890 +#: catalog/heap.c:1148 catalog/index.c:887 commands/createas.c:408 +#: commands/tablecmds.c:3987 #, c-format msgid "relation \"%s\" already exists" msgstr "отношение \"%s\" уже существует" -#: catalog/heap.c:1164 catalog/pg_type.c:436 catalog/pg_type.c:784 -#: catalog/pg_type.c:931 commands/typecmds.c:249 commands/typecmds.c:261 +#: 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:2547 +#: commands/typecmds.c:1575 commands/typecmds.c:2546 #, c-format msgid "type \"%s\" already exists" msgstr "тип \"%s\" уже существует" @@ -5164,8 +5209,9 @@ msgstr "" #: catalog/heap.c:1205 #, c-format -msgid "toast relfilenode value not set when in binary upgrade mode" -msgstr "значение relfilenode для TOAST не задано в режиме двоичного обновления" +msgid "toast relfilenumber value not set when in binary upgrade mode" +msgstr "" +"значение relfilenumber для TOAST не задано в режиме двоичного обновления" #: catalog/heap.c:1216 #, c-format @@ -5174,41 +5220,41 @@ msgstr "значение OID кучи в pg_class не задано в режи #: catalog/heap.c:1226 #, c-format -msgid "relfilenode value not set when in binary upgrade mode" -msgstr "значение relfilenode не задано в режиме двоичного обновления" +msgid "relfilenumber value not set when in binary upgrade mode" +msgstr "значение relfilenumber не задано в режиме двоичного обновления" -#: catalog/heap.c:2127 +#: catalog/heap.c:2119 #, c-format msgid "cannot add NO INHERIT constraint to partitioned table \"%s\"" msgstr "" "добавить ограничение NO INHERIT к секционированной таблице \"%s\" нельзя" -#: catalog/heap.c:2401 +#: catalog/heap.c:2393 #, c-format msgid "check constraint \"%s\" already exists" msgstr "ограничение-проверка \"%s\" уже существует" -#: catalog/heap.c:2571 catalog/index.c:888 catalog/pg_constraint.c:689 -#: commands/tablecmds.c:8823 +#: catalog/heap.c:2563 catalog/index.c:901 catalog/pg_constraint.c:682 +#: commands/tablecmds.c:8900 #, c-format msgid "constraint \"%s\" for relation \"%s\" already exists" msgstr "ограничение \"%s\" для отношения \"%s\" уже существует" -#: catalog/heap.c:2578 +#: catalog/heap.c:2570 #, c-format msgid "" "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\"" msgstr "" "ограничение \"%s\" конфликтует с ненаследуемым ограничением таблицы \"%s\"" -#: catalog/heap.c:2589 +#: catalog/heap.c:2581 #, c-format msgid "" "constraint \"%s\" conflicts with inherited constraint on relation \"%s\"" msgstr "" "ограничение \"%s\" конфликтует с наследуемым ограничением таблицы \"%s\"" -#: catalog/heap.c:2599 +#: catalog/heap.c:2591 #, c-format msgid "" "constraint \"%s\" conflicts with NOT VALID constraint on relation \"%s\"" @@ -5216,64 +5262,71 @@ msgstr "" "ограничение \"%s\" конфликтует с непроверенным (NOT VALID) ограничением " "таблицы \"%s\"" -#: catalog/heap.c:2604 +#: catalog/heap.c:2596 #, c-format msgid "merging constraint \"%s\" with inherited definition" msgstr "слияние ограничения \"%s\" с унаследованным определением" -#: catalog/heap.c:2709 +#: 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 +#, c-format +msgid "too many inheritance parents" +msgstr "слишком много родителей в иерархии наследования" + +#: catalog/heap.c:2706 #, c-format msgid "cannot use generated column \"%s\" in column generation expression" msgstr "" "использовать генерируемый столбец \"%s\" в выражении генерируемого столбца " "нельзя" -#: catalog/heap.c:2711 +#: catalog/heap.c:2708 #, c-format msgid "A generated column cannot reference another generated column." msgstr "" "Генерируемый столбец не может ссылаться на другой генерируемый столбец." -#: catalog/heap.c:2717 +#: catalog/heap.c:2714 #, c-format msgid "cannot use whole-row variable in column generation expression" msgstr "" "в выражении генерируемого столбца нельзя использовать переменные «вся строка»" -#: catalog/heap.c:2718 +#: catalog/heap.c:2715 #, c-format msgid "This would cause the generated column to depend on its own value." msgstr "" "Это сделало бы генерируемый столбец зависимым от собственного значения." -#: catalog/heap.c:2771 +#: catalog/heap.c:2768 #, c-format msgid "generation expression is not immutable" msgstr "генерирующее выражение не является постоянным" -#: catalog/heap.c:2799 rewrite/rewriteHandler.c:1273 +#: catalog/heap.c:2796 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:2692 -#: parser/parse_target.c:594 parser/parse_target.c:882 -#: parser/parse_target.c:892 rewrite/rewriteHandler.c:1278 +#: 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 #, c-format msgid "You will need to rewrite or cast the expression." msgstr "Перепишите выражение или преобразуйте его тип." -#: catalog/heap.c:2851 +#: catalog/heap.c:2848 #, c-format msgid "only table \"%s\" can be referenced in check constraint" msgstr "в ограничении-проверке можно ссылаться только на таблицу \"%s\"" -#: catalog/heap.c:3149 +#: catalog/heap.c:3154 #, c-format msgid "unsupported ON COMMIT and foreign key combination" msgstr "неподдерживаемое сочетание внешнего ключа с ON COMMIT" -#: catalog/heap.c:3150 +#: catalog/heap.c:3155 #, c-format msgid "" "Table \"%s\" references \"%s\", but they do not have the same ON COMMIT " @@ -5281,491 +5334,501 @@ msgid "" msgstr "" "Таблица \"%s\" ссылается на \"%s\", и для них задан разный режим ON COMMIT." -#: catalog/heap.c:3155 +#: catalog/heap.c:3160 #, c-format msgid "cannot truncate a table referenced in a foreign key constraint" msgstr "опустошить таблицу, на которую ссылается внешний ключ, нельзя" -#: catalog/heap.c:3156 +#: catalog/heap.c:3161 #, c-format msgid "Table \"%s\" references \"%s\"." msgstr "Таблица \"%s\" ссылается на \"%s\"." -#: catalog/heap.c:3158 +#: catalog/heap.c:3163 #, c-format msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE." msgstr "" "Опустошите таблицу \"%s\" параллельно или используйте TRUNCATE ... CASCADE." -#: catalog/index.c:223 parser/parse_utilcmd.c:2184 +#: catalog/index.c:225 parser/parse_utilcmd.c:2170 #, c-format msgid "multiple primary keys for table \"%s\" are not allowed" msgstr "таблица \"%s\" не может иметь несколько первичных ключей" -#: catalog/index.c:241 +#: catalog/index.c:239 +#, c-format +msgid "primary keys cannot use NULLS NOT DISTINCT indexes" +msgstr "для первичных ключей нельзя использовать индексы с NULLS NOT DISTINCT" + +#: catalog/index.c:256 #, c-format msgid "primary keys cannot be expressions" msgstr "первичные ключи не могут быть выражениями" -#: catalog/index.c:258 +#: catalog/index.c:273 #, c-format msgid "primary key column \"%s\" is not marked NOT NULL" msgstr "столбец первичного ключа \"%s\" не помечен как NOT NULL" -#: catalog/index.c:773 catalog/index.c:1932 +#: catalog/index.c:786 catalog/index.c:1942 #, c-format msgid "user-defined indexes on system catalog tables are not supported" msgstr "" "пользовательские индексы в таблицах системного каталога не поддерживаются" -#: catalog/index.c:813 +#: catalog/index.c:826 #, c-format msgid "nondeterministic collations are not supported for operator class \"%s\"" msgstr "" "недетерминированные правила сортировки не поддерживаются для класса " "операторов \"%s\"" -#: catalog/index.c:828 +#: catalog/index.c:841 #, c-format msgid "concurrent index creation on system catalog tables is not supported" msgstr "" "параллельное создание индекса в таблицах системного каталога не " "поддерживается" -#: catalog/index.c:837 catalog/index.c:1305 +#: catalog/index.c:850 catalog/index.c:1318 #, c-format msgid "concurrent index creation for exclusion constraints is not supported" msgstr "" "параллельное создание индекса для ограничений-исключений не поддерживается" -#: catalog/index.c:846 +#: catalog/index.c:859 #, c-format msgid "shared indexes cannot be created after initdb" msgstr "нельзя создать разделяемые индексы после initdb" -#: catalog/index.c:866 commands/createas.c:423 commands/sequence.c:158 -#: parser/parse_utilcmd.c:211 +#: 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 "отношение \"%s\" уже существует, пропускается" -#: catalog/index.c:916 +#: catalog/index.c:929 #, c-format msgid "pg_class index OID value not set when in binary upgrade mode" msgstr "" "значение OID индекса в pg_class не задано в режиме двоичного обновления" -#: catalog/index.c:926 utils/cache/relcache.c:3743 +#: catalog/index.c:939 utils/cache/relcache.c:3731 #, c-format -msgid "index relfilenode value not set when in binary upgrade mode" +msgid "index relfilenumber value not set when in binary upgrade mode" msgstr "" -"значение relfilenode для индекса не задано в режиме двоичного обновления" +"значение relfilenumber для индекса не задано в режиме двоичного обновления" -#: catalog/index.c:2231 +#: catalog/index.c:2241 #, c-format msgid "DROP INDEX CONCURRENTLY must be first action in transaction" msgstr "DROP INDEX CONCURRENTLY должен быть первым действием в транзакции" -#: catalog/index.c:3635 +#: catalog/index.c:3649 #, c-format msgid "cannot reindex temporary tables of other sessions" msgstr "переиндексировать временные таблицы других сеансов нельзя" -#: catalog/index.c:3646 commands/indexcmds.c:3543 +#: catalog/index.c:3660 commands/indexcmds.c:3631 #, c-format msgid "cannot reindex invalid index on TOAST table" msgstr "перестроить нерабочий индекс в таблице TOAST нельзя" -#: catalog/index.c:3662 commands/indexcmds.c:3423 commands/indexcmds.c:3567 -#: commands/tablecmds.c:3305 +#: catalog/index.c:3676 commands/indexcmds.c:3511 commands/indexcmds.c:3655 +#: commands/tablecmds.c:3402 #, c-format msgid "cannot move system relation \"%s\"" msgstr "переместить системную таблицу \"%s\" нельзя" -#: catalog/index.c:3806 +#: catalog/index.c:3820 #, c-format msgid "index \"%s\" was reindexed" msgstr "индекс \"%s\" был перестроен" -#: catalog/index.c:3943 +#: catalog/index.c:3957 #, c-format msgid "cannot reindex invalid index \"%s.%s\" on TOAST table, skipping" msgstr "" "перестроить нерабочий индекс \"%s.%s\" в таблице TOAST нельзя, он " "пропускается" -#: catalog/namespace.c:259 catalog/namespace.c:463 catalog/namespace.c:555 +#: catalog/namespace.c:260 catalog/namespace.c:464 catalog/namespace.c:556 #: commands/trigger.c:5718 #, c-format msgid "cross-database references are not implemented: \"%s.%s.%s\"" msgstr "ссылки между базами не реализованы: \"%s.%s.%s\"" -#: catalog/namespace.c:316 +#: catalog/namespace.c:317 #, c-format msgid "temporary tables cannot specify a schema name" msgstr "для временных таблиц имя схемы не указывается" -#: catalog/namespace.c:397 +#: catalog/namespace.c:398 #, c-format msgid "could not obtain lock on relation \"%s.%s\"" msgstr "не удалось получить блокировку таблицы \"%s.%s\"" -#: catalog/namespace.c:402 commands/lockcmds.c:144 commands/lockcmds.c:233 +#: catalog/namespace.c:403 commands/lockcmds.c:144 commands/lockcmds.c:224 #, c-format msgid "could not obtain lock on relation \"%s\"" msgstr "не удалось получить блокировку таблицы \"%s\"" -#: catalog/namespace.c:430 parser/parse_relation.c:1373 +#: catalog/namespace.c:431 parser/parse_relation.c:1430 #, c-format msgid "relation \"%s.%s\" does not exist" msgstr "отношение \"%s.%s\" не существует" -#: catalog/namespace.c:435 parser/parse_relation.c:1386 -#: parser/parse_relation.c:1394 +#: 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 "отношение \"%s\" не существует" -#: catalog/namespace.c:501 catalog/namespace.c:3076 commands/extension.c:1535 -#: commands/extension.c:1541 +#: 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 "схема для создания объектов не выбрана" -#: catalog/namespace.c:653 catalog/namespace.c:666 +#: catalog/namespace.c:654 catalog/namespace.c:667 #, c-format msgid "cannot create relations in temporary schemas of other sessions" msgstr "во временных схемах других сеансов нельзя создавать отношения" -#: catalog/namespace.c:657 +#: catalog/namespace.c:658 #, c-format msgid "cannot create temporary relation in non-temporary schema" msgstr "создавать временные отношения можно только во временных схемах" -#: catalog/namespace.c:672 +#: catalog/namespace.c:673 #, c-format msgid "only temporary relations may be created in temporary schemas" msgstr "во временных схемах можно создавать только временные отношения" -#: catalog/namespace.c:2268 +#: catalog/namespace.c:2265 #, c-format msgid "statistics object \"%s\" does not exist" msgstr "объект статистики \"%s\" не существует" -#: catalog/namespace.c:2391 +#: catalog/namespace.c:2388 #, c-format msgid "text search parser \"%s\" does not exist" msgstr "анализатор текстового поиска \"%s\" не существует" -#: catalog/namespace.c:2517 +#: catalog/namespace.c:2514 utils/adt/regproc.c:1439 #, c-format msgid "text search dictionary \"%s\" does not exist" msgstr "словарь текстового поиска \"%s\" не существует" -#: catalog/namespace.c:2644 +#: catalog/namespace.c:2641 #, c-format msgid "text search template \"%s\" does not exist" msgstr "шаблон текстового поиска \"%s\" не существует" -#: catalog/namespace.c:2770 commands/tsearchcmds.c:1121 -#: utils/cache/ts_cache.c:613 +#: catalog/namespace.c:2767 commands/tsearchcmds.c:1162 +#: 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:2883 parser/parse_expr.c:806 parser/parse_target.c:1255 +#: catalog/namespace.c:2880 parser/parse_expr.c:832 parser/parse_target.c:1246 #, c-format msgid "cross-database references are not implemented: %s" msgstr "ссылки между базами не реализованы: %s" -#: catalog/namespace.c:2889 parser/parse_expr.c:813 parser/parse_target.c:1262 -#: gram.y:18258 gram.y:18298 +#: catalog/namespace.c:2886 parser/parse_expr.c:839 parser/parse_target.c:1253 +#: gram.y:18569 gram.y:18609 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "неверное полное имя (слишком много компонентов): %s" -#: catalog/namespace.c:3019 +#: catalog/namespace.c:3016 #, c-format msgid "cannot move objects into or out of temporary schemas" msgstr "перемещать объекты в/из внутренних схем нельзя" -#: catalog/namespace.c:3025 +#: catalog/namespace.c:3022 #, c-format msgid "cannot move objects into or out of TOAST schema" msgstr "перемещать объекты в/из схем TOAST нельзя" -#: catalog/namespace.c:3098 commands/schemacmds.c:245 commands/schemacmds.c:325 -#: commands/tablecmds.c:1273 +#: catalog/namespace.c:3095 commands/schemacmds.c:264 commands/schemacmds.c:344 +#: commands/tablecmds.c:1280 utils/adt/regproc.c:1668 #, c-format msgid "schema \"%s\" does not exist" msgstr "схема \"%s\" не существует" -#: catalog/namespace.c:3129 +#: catalog/namespace.c:3126 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "неверное имя отношения (слишком много компонентов): %s" -#: catalog/namespace.c:3692 +#: catalog/namespace.c:3693 utils/adt/regproc.c:1056 #, c-format msgid "collation \"%s\" for encoding \"%s\" does not exist" msgstr "правило сортировки \"%s\" для кодировки \"%s\" не существует" -#: catalog/namespace.c:3747 +#: catalog/namespace.c:3748 #, c-format msgid "conversion \"%s\" does not exist" msgstr "преобразование \"%s\" не существует" -#: catalog/namespace.c:4011 +#: catalog/namespace.c:4012 #, c-format msgid "permission denied to create temporary tables in database \"%s\"" msgstr "нет прав для создания временных таблиц в базе \"%s\"" -#: catalog/namespace.c:4027 +#: catalog/namespace.c:4028 #, c-format msgid "cannot create temporary tables during recovery" msgstr "создавать временные таблицы в процессе восстановления нельзя" -#: catalog/namespace.c:4033 +#: catalog/namespace.c:4034 #, c-format msgid "cannot create temporary tables during a parallel operation" msgstr "создавать временные таблицы во время параллельных операций нельзя" -#: catalog/namespace.c:4334 commands/tablespace.c:1236 commands/variable.c:64 -#: utils/misc/guc.c:12049 utils/misc/guc.c:12151 -#, c-format -msgid "List syntax is invalid." -msgstr "Ошибка синтаксиса в списке." - -#: catalog/objectaddress.c:1391 commands/policy.c:96 commands/policy.c:376 -#: commands/tablecmds.c:247 commands/tablecmds.c:289 commands/tablecmds.c:2184 -#: commands/tablecmds.c:12284 +#: 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 #, c-format msgid "\"%s\" is not a table" msgstr "\"%s\" - это не таблица" -#: catalog/objectaddress.c:1398 commands/tablecmds.c:259 -#: commands/tablecmds.c:17109 commands/view.c:119 +#: catalog/objectaddress.c:1416 commands/tablecmds.c:260 +#: commands/tablecmds.c:17141 commands/view.c:119 #, c-format msgid "\"%s\" is not a view" msgstr "\"%s\" - это не представление" -#: catalog/objectaddress.c:1405 commands/matview.c:186 commands/tablecmds.c:265 -#: commands/tablecmds.c:17114 +#: catalog/objectaddress.c:1423 commands/matview.c:186 commands/tablecmds.c:266 +#: commands/tablecmds.c:17146 #, c-format msgid "\"%s\" is not a materialized view" msgstr "\"%s\" - это не материализованное представление" -#: catalog/objectaddress.c:1412 commands/tablecmds.c:283 -#: commands/tablecmds.c:17119 +#: catalog/objectaddress.c:1430 commands/tablecmds.c:284 +#: commands/tablecmds.c:17151 #, c-format msgid "\"%s\" is not a foreign table" msgstr "\"%s\" - это не сторонняя таблица" -#: catalog/objectaddress.c:1453 +#: catalog/objectaddress.c:1471 #, c-format msgid "must specify relation and object name" msgstr "необходимо указать имя отношения и объекта" -#: catalog/objectaddress.c:1529 catalog/objectaddress.c:1582 +#: catalog/objectaddress.c:1547 catalog/objectaddress.c:1600 #, c-format msgid "column name must be qualified" msgstr "имя столбца нужно указать в полной форме" -#: catalog/objectaddress.c:1601 +#: catalog/objectaddress.c:1619 #, c-format msgid "default value for column \"%s\" of relation \"%s\" does not exist" msgstr "" "значение по умолчанию для столбца \"%s\" отношения \"%s\" не существует" -#: catalog/objectaddress.c:1638 commands/functioncmds.c:138 -#: commands/tablecmds.c:275 commands/typecmds.c:274 commands/typecmds.c:3700 -#: parser/parse_type.c:243 parser/parse_type.c:272 parser/parse_type.c:795 -#: utils/adt/acl.c:4434 +#: catalog/objectaddress.c:1656 commands/functioncmds.c:137 +#: commands/tablecmds.c:276 commands/typecmds.c:274 commands/typecmds.c:3689 +#: 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\" не существует" -#: catalog/objectaddress.c:1757 +#: catalog/objectaddress.c:1775 #, c-format msgid "operator %d (%s, %s) of %s does not exist" msgstr "оператор %d (%s, %s) из семейства %s не существует" -#: catalog/objectaddress.c:1788 +#: catalog/objectaddress.c:1806 #, c-format msgid "function %d (%s, %s) of %s does not exist" msgstr "функция %d (%s, %s) из семейства %s не существует" -#: catalog/objectaddress.c:1839 catalog/objectaddress.c:1865 +#: catalog/objectaddress.c:1857 catalog/objectaddress.c:1883 #, c-format msgid "user mapping for user \"%s\" on server \"%s\" does not exist" msgstr "сопоставление для пользователя \"%s\" на сервере \"%s\" не существует" -#: catalog/objectaddress.c:1854 commands/foreigncmds.c:430 -#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:691 +#: catalog/objectaddress.c:1872 commands/foreigncmds.c:430 +#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:700 #, c-format msgid "server \"%s\" does not exist" msgstr "сервер \"%s\" не существует" -#: catalog/objectaddress.c:1921 +#: catalog/objectaddress.c:1939 #, c-format msgid "publication relation \"%s\" in publication \"%s\" does not exist" msgstr "публикуемое отношение \"%s\" в публикации \"%s\" не существует" -#: catalog/objectaddress.c:1968 +#: catalog/objectaddress.c:1986 #, c-format msgid "publication schema \"%s\" in publication \"%s\" does not exist" msgstr "публикуемая схема \"%s\" в публикации \"%s\" не существует" -#: catalog/objectaddress.c:2026 +#: catalog/objectaddress.c:2044 #, c-format msgid "unrecognized default ACL object type \"%c\"" msgstr "нераспознанный тип объекта ACL по умолчанию: \"%c\"" -#: catalog/objectaddress.c:2027 +#: catalog/objectaddress.c:2045 #, c-format msgid "Valid object types are \"%c\", \"%c\", \"%c\", \"%c\", \"%c\"." msgstr "Допустимые типы объектов: \"%c\", \"%c\", \"%c\", \"%c\", \"%c\"." -#: catalog/objectaddress.c:2078 +#: catalog/objectaddress.c:2096 #, c-format msgid "default ACL for user \"%s\" in schema \"%s\" on %s does not exist" msgstr "" "ACL по умолчанию для пользователя \"%s\" в схеме \"%s\" для объекта %s не " "существует" -#: catalog/objectaddress.c:2083 +#: catalog/objectaddress.c:2101 #, c-format msgid "default ACL for user \"%s\" on %s does not exist" msgstr "" "ACL по умолчанию для пользователя \"%s\" и для объекта %s не существует" -#: catalog/objectaddress.c:2110 catalog/objectaddress.c:2168 -#: catalog/objectaddress.c:2225 +#: catalog/objectaddress.c:2127 catalog/objectaddress.c:2184 +#: catalog/objectaddress.c:2239 #, c-format msgid "name or argument lists may not contain nulls" msgstr "списки имён и аргументов не должны содержать NULL" -#: catalog/objectaddress.c:2144 +#: catalog/objectaddress.c:2161 #, c-format msgid "unsupported object type \"%s\"" msgstr "неподдерживаемый тип объекта: \"%s\"" -#: catalog/objectaddress.c:2164 catalog/objectaddress.c:2182 -#: catalog/objectaddress.c:2247 catalog/objectaddress.c:2331 +#: catalog/objectaddress.c:2180 catalog/objectaddress.c:2197 +#: catalog/objectaddress.c:2262 catalog/objectaddress.c:2346 #, c-format msgid "name list length must be exactly %d" msgstr "длина списка имён должна быть равна %d" -#: catalog/objectaddress.c:2186 +#: catalog/objectaddress.c:2201 #, c-format msgid "large object OID may not be null" msgstr "OID большого объекта не может быть NULL" -#: catalog/objectaddress.c:2195 catalog/objectaddress.c:2265 -#: catalog/objectaddress.c:2272 +#: catalog/objectaddress.c:2210 catalog/objectaddress.c:2280 +#: catalog/objectaddress.c:2287 #, c-format msgid "name list length must be at least %d" msgstr "длина списка аргументов должна быть не меньше %d" -#: catalog/objectaddress.c:2258 catalog/objectaddress.c:2279 +#: catalog/objectaddress.c:2273 catalog/objectaddress.c:2294 #, c-format msgid "argument list length must be exactly %d" msgstr "длина списка аргументов должна быть равна %d" -#: catalog/objectaddress.c:2533 libpq/be-fsstubs.c:318 +#: catalog/objectaddress.c:2508 libpq/be-fsstubs.c:329 #, c-format msgid "must be owner of large object %u" msgstr "нужно быть владельцем большого объекта %u" -#: catalog/objectaddress.c:2548 commands/functioncmds.c:1566 +#: catalog/objectaddress.c:2523 commands/functioncmds.c:1561 #, c-format msgid "must be owner of type %s or type %s" msgstr "это разрешено только владельцу типа %s или %s" -#: catalog/objectaddress.c:2598 catalog/objectaddress.c:2616 +#: catalog/objectaddress.c:2550 catalog/objectaddress.c:2559 +#: catalog/objectaddress.c:2565 #, c-format -msgid "must be superuser" -msgstr "требуются права суперпользователя" +msgid "permission denied" +msgstr "нет доступа" + +#: catalog/objectaddress.c:2551 catalog/objectaddress.c:2560 +#, c-format +msgid "The current user must have the %s attribute." +msgstr "Текущий пользователь должен иметь атрибут %s." + +#: catalog/objectaddress.c:2566 +#, c-format +msgid "The current user must have the %s option on role \"%s\"." +msgstr "Текущий пользователь должен иметь привилегию %s для роли \"%s\"." -#: catalog/objectaddress.c:2605 +#: catalog/objectaddress.c:2580 #, c-format -msgid "must have CREATEROLE privilege" -msgstr "требуется право CREATEROLE" +msgid "must be superuser" +msgstr "требуются права суперпользователя" -#: catalog/objectaddress.c:2686 +#: catalog/objectaddress.c:2649 #, c-format msgid "unrecognized object type \"%s\"" msgstr "нераспознанный тип объекта \"%s\"" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:2978 +#: catalog/objectaddress.c:2941 #, c-format msgid "column %s of %s" msgstr "столбец %s отношения %s" -#: catalog/objectaddress.c:2993 +#: catalog/objectaddress.c:2956 #, c-format msgid "function %s" msgstr "функция %s" -#: catalog/objectaddress.c:3006 +#: catalog/objectaddress.c:2969 #, c-format msgid "type %s" msgstr "тип %s" -#: catalog/objectaddress.c:3043 +#: catalog/objectaddress.c:3006 #, c-format msgid "cast from %s to %s" msgstr "приведение %s к %s" -#: catalog/objectaddress.c:3076 +#: catalog/objectaddress.c:3039 #, c-format msgid "collation %s" msgstr "правило сортировки %s" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:3107 +#: catalog/objectaddress.c:3070 #, c-format msgid "constraint %s on %s" msgstr "ограничение %s в отношении %s" -#: catalog/objectaddress.c:3113 +#: catalog/objectaddress.c:3076 #, c-format msgid "constraint %s" msgstr "ограничение %s" -#: catalog/objectaddress.c:3145 +#: catalog/objectaddress.c:3108 #, c-format msgid "conversion %s" msgstr "преобразование %s" #. translator: %s is typically "column %s of table %s" -#: catalog/objectaddress.c:3167 +#: catalog/objectaddress.c:3130 #, c-format msgid "default value for %s" msgstr "значение по умолчанию для %s" -#: catalog/objectaddress.c:3178 +#: catalog/objectaddress.c:3141 #, c-format msgid "language %s" msgstr "язык %s" -#: catalog/objectaddress.c:3186 +#: catalog/objectaddress.c:3149 #, c-format msgid "large object %u" msgstr "большой объект %u" -#: catalog/objectaddress.c:3199 +#: catalog/objectaddress.c:3162 #, c-format msgid "operator %s" msgstr "оператор %s" -#: catalog/objectaddress.c:3236 +#: catalog/objectaddress.c:3199 #, c-format msgid "operator class %s for access method %s" msgstr "класс операторов %s для метода доступа %s" -#: catalog/objectaddress.c:3264 +#: catalog/objectaddress.c:3227 #, c-format msgid "access method %s" msgstr "метод доступа %s" @@ -5774,7 +5837,7 @@ msgstr "метод доступа %s" #. first two %s's are data type names, the third %s is the #. description of the operator family, and the last %s is the #. textual form of the operator with arguments. -#: catalog/objectaddress.c:3313 +#: catalog/objectaddress.c:3276 #, c-format msgid "operator %d (%s, %s) of %s: %s" msgstr "оператор %d (%s, %s) из семейства \"%s\": %s" @@ -5783,236 +5846,241 @@ msgstr "оператор %d (%s, %s) из семейства \"%s\": %s" #. are data type names, the third %s is the description of the #. operator family, and the last %s is the textual form of the #. function with arguments. -#: catalog/objectaddress.c:3370 +#: catalog/objectaddress.c:3333 #, c-format msgid "function %d (%s, %s) of %s: %s" msgstr "функция %d (%s, %s) из семейства \"%s\": %s" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:3422 +#: catalog/objectaddress.c:3385 #, c-format msgid "rule %s on %s" msgstr "правило %s для отношения %s" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:3468 +#: catalog/objectaddress.c:3431 #, c-format msgid "trigger %s on %s" msgstr "триггер %s в отношении %s" -#: catalog/objectaddress.c:3488 +#: catalog/objectaddress.c:3451 #, c-format msgid "schema %s" msgstr "схема %s" -#: catalog/objectaddress.c:3516 +#: catalog/objectaddress.c:3479 #, c-format msgid "statistics object %s" msgstr "объект статистики %s" -#: catalog/objectaddress.c:3547 +#: catalog/objectaddress.c:3510 #, c-format msgid "text search parser %s" msgstr "анализатор текстового поиска %s" -#: catalog/objectaddress.c:3578 +#: catalog/objectaddress.c:3541 #, c-format msgid "text search dictionary %s" msgstr "словарь текстового поиска %s" -#: catalog/objectaddress.c:3609 +#: catalog/objectaddress.c:3572 #, c-format msgid "text search template %s" msgstr "шаблон текстового поиска %s" -#: catalog/objectaddress.c:3640 +#: catalog/objectaddress.c:3603 #, c-format msgid "text search configuration %s" msgstr "конфигурация текстового поиска %s" -#: catalog/objectaddress.c:3653 +#: catalog/objectaddress.c:3616 #, c-format msgid "role %s" msgstr "роль %s" -#: catalog/objectaddress.c:3669 +#: catalog/objectaddress.c:3653 catalog/objectaddress.c:5505 +#, c-format +msgid "membership of role %s in role %s" +msgstr "членство роли %s в роли %s" + +#: catalog/objectaddress.c:3674 #, c-format msgid "database %s" msgstr "база данных %s" -#: catalog/objectaddress.c:3685 +#: catalog/objectaddress.c:3690 #, c-format msgid "tablespace %s" msgstr "табличное пространство %s" -#: catalog/objectaddress.c:3696 +#: catalog/objectaddress.c:3701 #, c-format msgid "foreign-data wrapper %s" msgstr "обёртка сторонних данных %s" -#: catalog/objectaddress.c:3706 +#: catalog/objectaddress.c:3711 #, c-format msgid "server %s" msgstr "сервер %s" -#: catalog/objectaddress.c:3739 +#: catalog/objectaddress.c:3744 #, c-format msgid "user mapping for %s on server %s" msgstr "сопоставление для пользователя %s на сервере %s" -#: catalog/objectaddress.c:3791 +#: catalog/objectaddress.c:3796 #, c-format msgid "default privileges on new relations belonging to role %s in schema %s" msgstr "" "права по умолчанию для новых отношений, принадлежащих роли %s в схеме %s" -#: catalog/objectaddress.c:3795 +#: catalog/objectaddress.c:3800 #, c-format msgid "default privileges on new relations belonging to role %s" msgstr "права по умолчанию для новых отношений, принадлежащих роли %s" -#: catalog/objectaddress.c:3801 +#: catalog/objectaddress.c:3806 #, c-format msgid "default privileges on new sequences belonging to role %s in schema %s" msgstr "" "права по умолчанию для новых последовательностей, принадлежащих роли %s в " "схеме %s" -#: catalog/objectaddress.c:3805 +#: catalog/objectaddress.c:3810 #, c-format msgid "default privileges on new sequences belonging to role %s" msgstr "" "права по умолчанию для новых последовательностей, принадлежащих роли %s" -#: catalog/objectaddress.c:3811 +#: catalog/objectaddress.c:3816 #, c-format msgid "default privileges on new functions belonging to role %s in schema %s" msgstr "права по умолчанию для новых функций, принадлежащих роли %s в схеме %s" -#: catalog/objectaddress.c:3815 +#: catalog/objectaddress.c:3820 #, c-format msgid "default privileges on new functions belonging to role %s" msgstr "права по умолчанию для новых функций, принадлежащих роли %s" -#: catalog/objectaddress.c:3821 +#: catalog/objectaddress.c:3826 #, c-format msgid "default privileges on new types belonging to role %s in schema %s" msgstr "права по умолчанию для новых типов, принадлежащих роли %s в схеме %s" -#: catalog/objectaddress.c:3825 +#: catalog/objectaddress.c:3830 #, c-format msgid "default privileges on new types belonging to role %s" msgstr "права по умолчанию для новых типов, принадлежащих роли %s" -#: catalog/objectaddress.c:3831 +#: catalog/objectaddress.c:3836 #, c-format msgid "default privileges on new schemas belonging to role %s" msgstr "права по умолчанию для новых схем, принадлежащих роли %s" -#: catalog/objectaddress.c:3838 +#: catalog/objectaddress.c:3843 #, c-format msgid "default privileges belonging to role %s in schema %s" msgstr "" "права по умолчанию для новых объектов, принадлежащих роли %s в схеме %s" -#: catalog/objectaddress.c:3842 +#: catalog/objectaddress.c:3847 #, c-format msgid "default privileges belonging to role %s" msgstr "права по умолчанию для новых объектов, принадлежащих роли %s" -#: catalog/objectaddress.c:3864 +#: catalog/objectaddress.c:3869 #, c-format msgid "extension %s" msgstr "расширение %s" -#: catalog/objectaddress.c:3881 +#: catalog/objectaddress.c:3886 #, c-format msgid "event trigger %s" msgstr "событийный триггер %s" -#: catalog/objectaddress.c:3908 +#: catalog/objectaddress.c:3910 #, c-format msgid "parameter %s" msgstr "параметр %s" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:3951 +#: catalog/objectaddress.c:3953 #, c-format msgid "policy %s on %s" msgstr "политика %s отношения %s" -#: catalog/objectaddress.c:3965 +#: catalog/objectaddress.c:3967 #, c-format msgid "publication %s" msgstr "публикация %s" -#: catalog/objectaddress.c:3978 +#: catalog/objectaddress.c:3980 #, c-format msgid "publication of schema %s in publication %s" msgstr "публикация схемы %s в публикации %s" #. translator: first %s is, e.g., "table %s" -#: catalog/objectaddress.c:4009 +#: catalog/objectaddress.c:4011 #, c-format msgid "publication of %s in publication %s" msgstr "публикуемое отношение %s в публикации %s" -#: catalog/objectaddress.c:4022 +#: catalog/objectaddress.c:4024 #, c-format msgid "subscription %s" msgstr "подписка %s" -#: catalog/objectaddress.c:4043 +#: catalog/objectaddress.c:4045 #, c-format msgid "transform for %s language %s" msgstr "преобразование для %s, языка %s" -#: catalog/objectaddress.c:4114 +#: catalog/objectaddress.c:4116 #, c-format msgid "table %s" msgstr "таблица %s" -#: catalog/objectaddress.c:4119 +#: catalog/objectaddress.c:4121 #, c-format msgid "index %s" msgstr "индекс %s" -#: catalog/objectaddress.c:4123 +#: catalog/objectaddress.c:4125 #, c-format msgid "sequence %s" msgstr "последовательность %s" -#: catalog/objectaddress.c:4127 +#: catalog/objectaddress.c:4129 #, c-format msgid "toast table %s" msgstr "TOAST-таблица %s" -#: catalog/objectaddress.c:4131 +#: catalog/objectaddress.c:4133 #, c-format msgid "view %s" msgstr "представление %s" -#: catalog/objectaddress.c:4135 +#: catalog/objectaddress.c:4137 #, c-format msgid "materialized view %s" msgstr "материализованное представление %s" -#: catalog/objectaddress.c:4139 +#: catalog/objectaddress.c:4141 #, c-format msgid "composite type %s" msgstr "составной тип %s" -#: catalog/objectaddress.c:4143 +#: catalog/objectaddress.c:4145 #, c-format msgid "foreign table %s" msgstr "сторонняя таблица %s" -#: catalog/objectaddress.c:4148 +#: catalog/objectaddress.c:4150 #, c-format msgid "relation %s" msgstr "отношение %s" -#: catalog/objectaddress.c:4189 +#: catalog/objectaddress.c:4191 #, c-format msgid "operator family %s for access method %s" msgstr "семейство операторов %s для метода доступа %s" @@ -6065,7 +6133,7 @@ msgstr "" msgid "return type of inverse transition function %s is not %s" msgstr "обратная функция перехода %s должна возвращать тип %s" -#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:2998 +#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:3009 #, c-format msgid "" "strictness of aggregate's forward and inverse transition functions must match" @@ -6084,7 +6152,7 @@ msgstr "" msgid "return type of combine function %s is not %s" msgstr "комбинирующая функция %s должна возвращать тип %s" -#: catalog/pg_aggregate.c:439 executor/nodeAgg.c:3888 +#: catalog/pg_aggregate.c:439 executor/nodeAgg.c:3903 #, c-format msgid "combine function with transition type %s must not be declared STRICT" msgstr "" @@ -6152,13 +6220,13 @@ msgstr "\"%s\" — гипотезирующая агрегатная функц msgid "cannot change number of direct arguments of an aggregate function" msgstr "изменить число непосредственных аргументов агрегатной функции нельзя" -#: catalog/pg_aggregate.c:858 commands/functioncmds.c:695 -#: commands/typecmds.c:1976 commands/typecmds.c:2022 commands/typecmds.c:2074 -#: commands/typecmds.c:2111 commands/typecmds.c:2145 commands/typecmds.c:2179 -#: commands/typecmds.c:2213 commands/typecmds.c:2242 commands/typecmds.c:2329 -#: commands/typecmds.c:2371 parser/parse_func.c:417 parser/parse_func.c:448 +#: 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 parser/parse_func.c:2173 parser/parse_func.c:2446 +#: parser/parse_func.c:631 parser/parse_func.c:2171 parser/parse_func.c:2444 #, c-format msgid "function %s does not exist" msgstr "функция %s не существует" @@ -6180,7 +6248,7 @@ msgstr "" msgid "function %s requires run-time type coercion" msgstr "функции %s требуется приведение типов во время выполнения" -#: catalog/pg_cast.c:68 +#: catalog/pg_cast.c:75 #, c-format msgid "cast from type %s to type %s already exists" msgstr "приведение типа %s к типу %s уже существует" @@ -6235,38 +6303,38 @@ msgstr "Эта операция не поддерживается для сек msgid "This operation is not supported for partitioned indexes." msgstr "Эта операция не поддерживается для секционированных индексов." -#: catalog/pg_collation.c:101 catalog/pg_collation.c:159 +#: catalog/pg_collation.c:102 catalog/pg_collation.c:160 #, c-format msgid "collation \"%s\" already exists, skipping" msgstr "правило сортировки \"%s\" уже существует, пропускается" -#: catalog/pg_collation.c:103 +#: catalog/pg_collation.c:104 #, c-format msgid "collation \"%s\" for encoding \"%s\" already exists, skipping" msgstr "" "правило сортировки \"%s\" для кодировки \"%s\" уже существует, пропускается" -#: catalog/pg_collation.c:111 catalog/pg_collation.c:166 +#: catalog/pg_collation.c:112 catalog/pg_collation.c:167 #, c-format msgid "collation \"%s\" already exists" msgstr "правило сортировки \"%s\" уже существует" -#: catalog/pg_collation.c:113 +#: catalog/pg_collation.c:114 #, c-format msgid "collation \"%s\" for encoding \"%s\" already exists" msgstr "правило сортировки \"%s\" для кодировки \"%s\" уже существует" -#: catalog/pg_constraint.c:697 +#: catalog/pg_constraint.c:690 #, c-format msgid "constraint \"%s\" for domain %s already exists" msgstr "ограничение \"%s\" для домена %s уже существует" -#: catalog/pg_constraint.c:893 catalog/pg_constraint.c:986 +#: catalog/pg_constraint.c:890 catalog/pg_constraint.c:983 #, c-format msgid "constraint \"%s\" for table \"%s\" does not exist" msgstr "ограничение \"%s\" для таблицы \"%s\" не существует" -#: catalog/pg_constraint.c:1086 +#: catalog/pg_constraint.c:1083 #, c-format msgid "constraint \"%s\" for domain %s does not exist" msgstr "ограничение \"%s\" для домена %s не существует" @@ -6281,12 +6349,12 @@ msgstr "преобразование \"%s\" уже существует" msgid "default conversion for %s to %s already exists" msgstr "преобразование по умолчанию из %s в %s уже существует" -#: catalog/pg_depend.c:222 commands/extension.c:3271 +#: catalog/pg_depend.c:222 commands/extension.c:3368 #, c-format msgid "%s is already a member of extension \"%s\"" msgstr "%s уже относится к расширению \"%s\"" -#: catalog/pg_depend.c:229 catalog/pg_depend.c:280 commands/extension.c:3311 +#: 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 не относится к расширению \"%s\"" @@ -6312,37 +6380,37 @@ msgid "cannot remove dependency on %s because it is a system object" msgstr "" "ликвидировать зависимость от объекта %s нельзя, так как это системный объект" -#: catalog/pg_enum.c:128 catalog/pg_enum.c:230 catalog/pg_enum.c:525 +#: catalog/pg_enum.c:137 catalog/pg_enum.c:259 catalog/pg_enum.c:554 #, c-format msgid "invalid enum label \"%s\"" msgstr "неверная метка в перечислении \"%s\"" -#: catalog/pg_enum.c:129 catalog/pg_enum.c:231 catalog/pg_enum.c:526 +#: catalog/pg_enum.c:138 catalog/pg_enum.c:260 catalog/pg_enum.c:555 #, c-format msgid "Labels must be %d bytes or less." msgstr "Длина метки не должна превышать %d байт." -#: catalog/pg_enum.c:259 +#: catalog/pg_enum.c:288 #, c-format msgid "enum label \"%s\" already exists, skipping" msgstr "метка перечисления \"%s\" уже существует, пропускается" -#: catalog/pg_enum.c:266 catalog/pg_enum.c:569 +#: catalog/pg_enum.c:295 catalog/pg_enum.c:598 #, c-format msgid "enum label \"%s\" already exists" msgstr "метка перечисления \"%s\" уже существует" -#: catalog/pg_enum.c:321 catalog/pg_enum.c:564 +#: catalog/pg_enum.c:350 catalog/pg_enum.c:593 #, c-format msgid "\"%s\" is not an existing enum label" msgstr "в перечислении нет метки\"%s\"" -#: catalog/pg_enum.c:379 +#: catalog/pg_enum.c:408 #, c-format msgid "pg_enum OID value not set when in binary upgrade mode" msgstr "значение OID в pg_enum не задано в режиме двоичного обновления" -#: catalog/pg_enum.c:389 +#: catalog/pg_enum.c:418 #, c-format msgid "ALTER TYPE ADD BEFORE/AFTER is incompatible with binary upgrade" msgstr "" @@ -6362,8 +6430,8 @@ msgstr "" "Эта секция отсоединяется параллельно или для неё не была завершена операция " "отсоединения." -#: catalog/pg_inherits.c:596 commands/tablecmds.c:4488 -#: commands/tablecmds.c:15429 +#: catalog/pg_inherits.c:596 commands/tablecmds.c:4583 +#: commands/tablecmds.c:15464 #, c-format msgid "" "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending " @@ -6382,7 +6450,7 @@ msgstr "завершить отсоединение секции \"%s\" нель msgid "There's no pending concurrent detach." msgstr "На данный момент все операции отсоединения завершены." -#: catalog/pg_namespace.c:64 commands/schemacmds.c:254 +#: catalog/pg_namespace.c:64 commands/schemacmds.c:273 #, c-format msgid "schema \"%s\" already exists" msgstr "схема \"%s\" уже существует" @@ -6397,7 +6465,7 @@ msgstr "имя \"%s\" недопустимо для оператора" msgid "only binary operators can have commutators" msgstr "коммутативную операцию можно определить только для бинарных операторов" -#: catalog/pg_operator.c:374 commands/operatorcmds.c:507 +#: catalog/pg_operator.c:374 commands/operatorcmds.c:509 #, c-format msgid "only binary operators can have join selectivity" msgstr "" @@ -6419,13 +6487,13 @@ msgstr "поддержку хеша можно обозначить только msgid "only boolean operators can have negators" msgstr "обратную операцию можно определить только для логических операторов" -#: catalog/pg_operator.c:397 commands/operatorcmds.c:515 +#: catalog/pg_operator.c:397 commands/operatorcmds.c:517 #, c-format msgid "only boolean operators can have restriction selectivity" msgstr "" "функцию оценки ограничения можно определить только для логических операторов" -#: catalog/pg_operator.c:401 commands/operatorcmds.c:519 +#: catalog/pg_operator.c:401 commands/operatorcmds.c:521 #, c-format msgid "only boolean operators can have join selectivity" msgstr "" @@ -6454,17 +6522,17 @@ msgid "operator cannot be its own negator or sort operator" msgstr "" "оператор не может быть обратным к себе или собственным оператором сортировки" -#: catalog/pg_parameter_acl.c:52 +#: catalog/pg_parameter_acl.c:53 #, c-format msgid "parameter ACL \"%s\" does not exist" msgstr "ACL параметра \"%s\" не существует" -#: catalog/pg_parameter_acl.c:87 +#: catalog/pg_parameter_acl.c:88 #, c-format msgid "invalid parameter name \"%s\"" msgstr "неверное имя параметра \"%s\"" -#: catalog/pg_proc.c:132 parser/parse_func.c:2235 +#: catalog/pg_proc.c:132 parser/parse_func.c:2233 #, c-format msgid "functions cannot have more than %d argument" msgid_plural "functions cannot have more than %d arguments" @@ -6512,7 +6580,7 @@ msgstr "изменить тип возврата существующей фун #. #. translator: first %s is DROP FUNCTION or DROP PROCEDURE #: catalog/pg_proc.c:421 catalog/pg_proc.c:448 catalog/pg_proc.c:493 -#: catalog/pg_proc.c:519 catalog/pg_proc.c:545 +#: catalog/pg_proc.c:519 catalog/pg_proc.c:543 #, c-format msgid "Use %s %s first." msgstr "Сначала выполните %s %s." @@ -6533,102 +6601,96 @@ msgid "cannot remove parameter defaults from existing function" msgstr "" "для существующей функции нельзя убрать значения параметров по умолчанию" -#: catalog/pg_proc.c:543 +#: catalog/pg_proc.c:541 #, c-format msgid "cannot change data type of existing parameter default value" msgstr "" "для существующего значения параметра по умолчанию нельзя изменить тип данных" -#: catalog/pg_proc.c:757 +#: catalog/pg_proc.c:752 #, c-format msgid "there is no built-in function named \"%s\"" msgstr "встроенной функции \"%s\" нет" -#: catalog/pg_proc.c:855 +#: catalog/pg_proc.c:845 #, c-format msgid "SQL functions cannot return type %s" msgstr "SQL-функции не могут возвращать тип %s" -#: catalog/pg_proc.c:870 +#: catalog/pg_proc.c:860 #, c-format msgid "SQL functions cannot have arguments of type %s" msgstr "SQL-функции не могут иметь аргументы типа %s" -#: catalog/pg_proc.c:1000 executor/functions.c:1473 +#: catalog/pg_proc.c:987 executor/functions.c:1466 #, c-format msgid "SQL function \"%s\"" msgstr "SQL-функция \"%s\"" -#: catalog/pg_publication.c:63 catalog/pg_publication.c:71 -#: catalog/pg_publication.c:79 catalog/pg_publication.c:85 +#: catalog/pg_publication.c:71 catalog/pg_publication.c:79 +#: catalog/pg_publication.c:87 catalog/pg_publication.c:93 #, c-format msgid "cannot add relation \"%s\" to publication" msgstr "добавить отношение \"%s\" в публикацию нельзя" -#: catalog/pg_publication.c:73 +#: catalog/pg_publication.c:81 #, c-format msgid "This operation is not supported for system tables." msgstr "Эта операция не поддерживается для системных таблиц." -#: catalog/pg_publication.c:81 +#: catalog/pg_publication.c:89 #, c-format msgid "This operation is not supported for temporary tables." msgstr "Эта операция не поддерживается для временных таблиц." -#: catalog/pg_publication.c:87 +#: catalog/pg_publication.c:95 #, c-format msgid "This operation is not supported for unlogged tables." msgstr "Эта операция не поддерживается для нежурналируемых таблиц." -#: catalog/pg_publication.c:101 catalog/pg_publication.c:109 +#: catalog/pg_publication.c:109 catalog/pg_publication.c:117 #, c-format msgid "cannot add schema \"%s\" to publication" msgstr "добавить схему \"%s\" в публикацию нельзя" -#: catalog/pg_publication.c:103 +#: catalog/pg_publication.c:111 #, c-format msgid "This operation is not supported for system schemas." msgstr "Эта операция не поддерживается для системных схем." -#: catalog/pg_publication.c:111 +#: catalog/pg_publication.c:119 #, c-format msgid "Temporary schemas cannot be replicated." msgstr "Временные схемы нельзя реплицировать." -#: catalog/pg_publication.c:374 +#: catalog/pg_publication.c:397 #, c-format msgid "relation \"%s\" is already member of publication \"%s\"" msgstr "отношение \"%s\" уже включено в публикацию \"%s\"" -#: catalog/pg_publication.c:516 +#: catalog/pg_publication.c:539 #, c-format msgid "cannot use system column \"%s\" in publication column list" msgstr "" "в списке публикуемых столбцов нельзя использовать системный столбец \"%s\"" -#: catalog/pg_publication.c:522 +#: catalog/pg_publication.c:545 #, c-format msgid "cannot use generated column \"%s\" in publication column list" msgstr "" "в списке публикуемых столбцов нельзя использовать генерируемый столбец \"%s\"" -#: catalog/pg_publication.c:528 +#: catalog/pg_publication.c:551 #, c-format msgid "duplicate column \"%s\" in publication column list" msgstr "в списке публикуемых столбцов повторяется столбец \"%s\"" -#: catalog/pg_publication.c:618 +#: catalog/pg_publication.c:641 #, c-format msgid "schema \"%s\" is already member of publication \"%s\"" msgstr "схема \"%s\" уже включена в публикацию \"%s\"" -#: catalog/pg_publication.c:1045 commands/publicationcmds.c:1391 -#: commands/publicationcmds.c:1430 commands/publicationcmds.c:1967 -#, c-format -msgid "publication \"%s\" does not exist" -msgstr "публикация \"%s\" не существует" - -#: catalog/pg_shdepend.c:829 +#: catalog/pg_shdepend.c:830 #, c-format msgid "" "\n" @@ -6646,43 +6708,43 @@ msgstr[2] "" "\n" "и объекты в %d других базах данных (см. список в протоколе сервера)" -#: catalog/pg_shdepend.c:1176 +#: catalog/pg_shdepend.c:1177 #, c-format msgid "role %u was concurrently dropped" msgstr "роль %u удалена другим процессом" -#: catalog/pg_shdepend.c:1188 +#: catalog/pg_shdepend.c:1189 #, c-format msgid "tablespace %u was concurrently dropped" msgstr "табличное пространство %u удалено другим процессом" -#: catalog/pg_shdepend.c:1202 +#: catalog/pg_shdepend.c:1203 #, c-format msgid "database %u was concurrently dropped" msgstr "база данных %u удалена другим процессом" -#: catalog/pg_shdepend.c:1253 +#: catalog/pg_shdepend.c:1254 #, c-format msgid "owner of %s" msgstr "владелец объекта %s" -#: catalog/pg_shdepend.c:1255 +#: catalog/pg_shdepend.c:1256 #, c-format msgid "privileges for %s" msgstr "права доступа к объекту %s" -#: catalog/pg_shdepend.c:1257 +#: catalog/pg_shdepend.c:1258 #, c-format msgid "target of %s" msgstr "субъект политики %s" -#: catalog/pg_shdepend.c:1259 +#: catalog/pg_shdepend.c:1260 #, c-format msgid "tablespace for %s" msgstr "табличное пространство для %s" #. translator: %s will always be "database %s" -#: catalog/pg_shdepend.c:1267 +#: catalog/pg_shdepend.c:1268 #, c-format msgid "%d object in %s" msgid_plural "%d objects in %s" @@ -6690,7 +6752,7 @@ msgstr[0] "%d объект (%s)" msgstr[1] "%d объекта (%s)" msgstr[2] "%d объектов (%s)" -#: catalog/pg_shdepend.c:1331 +#: catalog/pg_shdepend.c:1332 #, c-format msgid "" "cannot drop objects owned by %s because they are required by the database " @@ -6699,7 +6761,7 @@ msgstr "" "удалить объекты, принадлежащие роли %s, нельзя, так как они нужны системе " "баз данных" -#: catalog/pg_shdepend.c:1477 +#: catalog/pg_shdepend.c:1498 #, c-format msgid "" "cannot reassign ownership of objects owned by %s because they are required " @@ -6708,18 +6770,12 @@ msgstr "" "изменить владельца объектов, принадлежащих роли %s, нельзя, так как они " "нужны системе баз данных" -#: catalog/pg_subscription.c:216 commands/subscriptioncmds.c:989 -#: commands/subscriptioncmds.c:1359 commands/subscriptioncmds.c:1710 -#, c-format -msgid "subscription \"%s\" does not exist" -msgstr "подписка \"%s\" не существует" - -#: catalog/pg_subscription.c:474 +#: catalog/pg_subscription.c:424 #, c-format msgid "could not drop relation mapping for subscription \"%s\"" msgstr "удалить сопоставление отношений для подписки \"%s\" не получилось" -#: catalog/pg_subscription.c:476 +#: catalog/pg_subscription.c:426 #, c-format msgid "" "Table synchronization for relation \"%s\" is in progress and is in state " @@ -6729,7 +6785,7 @@ msgstr "Выполняется синхронизация отношения \"% #. translator: first %s is a SQL ALTER command and second %s is a #. SQL DROP command #. -#: catalog/pg_subscription.c:483 +#: catalog/pg_subscription.c:433 #, c-format msgid "" "Use %s to enable subscription if not already enabled or use %s to drop the " @@ -6738,50 +6794,45 @@ msgstr "" "Выполните %s, чтобы включить подписку, если она ещё не включена, либо %s, " "чтобы удалить её." -#: catalog/pg_type.c:136 catalog/pg_type.c:476 +#: catalog/pg_type.c:134 catalog/pg_type.c:474 #, c-format msgid "pg_type OID value not set when in binary upgrade mode" msgstr "значение OID в pg_type не задано в режиме двоичного обновления" -#: catalog/pg_type.c:256 +#: catalog/pg_type.c:254 #, c-format msgid "invalid type internal size %d" msgstr "неверный внутренний размер типа: %d" -#: catalog/pg_type.c:272 catalog/pg_type.c:280 catalog/pg_type.c:288 -#: catalog/pg_type.c:297 +#: catalog/pg_type.c:270 catalog/pg_type.c:278 catalog/pg_type.c:286 +#: catalog/pg_type.c:295 #, c-format msgid "alignment \"%c\" is invalid for passed-by-value type of size %d" msgstr "" "выравнивание \"%c\" не подходит для типа, передаваемого по значению (с " "размером: %d)" -#: catalog/pg_type.c:304 +#: catalog/pg_type.c:302 #, c-format msgid "internal size %d is invalid for passed-by-value type" msgstr "внутренний размер %d не подходит для типа, передаваемого по значению" -#: catalog/pg_type.c:314 catalog/pg_type.c:320 +#: catalog/pg_type.c:312 catalog/pg_type.c:318 #, c-format msgid "alignment \"%c\" is invalid for variable-length type" msgstr "выравнивание \"%c\" не подходит для типа переменной длины" -#: catalog/pg_type.c:328 commands/typecmds.c:4151 +#: catalog/pg_type.c:326 commands/typecmds.c:4140 #, c-format msgid "fixed-size types must have storage PLAIN" msgstr "для типов постоянного размера применим только режим хранения PLAIN" -#: catalog/pg_type.c:827 -#, c-format -msgid "could not form array type name for type \"%s\"" -msgstr "не удалось сформировать имя типа массива для типа \"%s\"" - -#: catalog/pg_type.c:932 +#: catalog/pg_type.c:955 #, c-format msgid "Failed while creating a multirange type for type \"%s\"." msgstr "Ошибка при создании мультидиапазонного типа для типа \"%s\"." -#: catalog/pg_type.c:933 +#: catalog/pg_type.c:956 #, c-format msgid "" "You can manually specify a multirange type name using the " @@ -6790,82 +6841,82 @@ msgstr "" "Имя мультидиапазонного типа можно указать вручную, воспользовавшись " "атрибутом \"multirange_type_name\"." -#: catalog/storage.c:505 storage/buffer/bufmgr.c:1047 +#: catalog/storage.c:505 storage/buffer/bufmgr.c:1145 #, c-format msgid "invalid page in block %u of relation %s" msgstr "неверная страница в блоке %u отношения %s" -#: commands/aggregatecmds.c:170 +#: commands/aggregatecmds.c:171 #, c-format msgid "only ordered-set aggregates can be hypothetical" msgstr "гипотезирующими могут быть только сортирующие агрегатные функции" -#: commands/aggregatecmds.c:195 +#: commands/aggregatecmds.c:196 #, c-format msgid "aggregate attribute \"%s\" not recognized" msgstr "нераспознанный атрибут \"%s\" в определении агрегатной функции" -#: commands/aggregatecmds.c:205 +#: commands/aggregatecmds.c:206 #, c-format msgid "aggregate stype must be specified" msgstr "в определении агрегата требуется stype" -#: commands/aggregatecmds.c:209 +#: commands/aggregatecmds.c:210 #, c-format msgid "aggregate sfunc must be specified" msgstr "в определении агрегата требуется sfunc" -#: commands/aggregatecmds.c:221 +#: commands/aggregatecmds.c:222 #, c-format msgid "aggregate msfunc must be specified when mstype is specified" msgstr "в определении агрегата требуется msfunc, если указан mstype" -#: commands/aggregatecmds.c:225 +#: commands/aggregatecmds.c:226 #, c-format msgid "aggregate minvfunc must be specified when mstype is specified" msgstr "в определении агрегата требуется minvfunc, если указан mstype" -#: commands/aggregatecmds.c:232 +#: commands/aggregatecmds.c:233 #, c-format msgid "aggregate msfunc must not be specified without mstype" msgstr "msfunc для агрегата не должна указываться без mstype" -#: commands/aggregatecmds.c:236 +#: commands/aggregatecmds.c:237 #, c-format msgid "aggregate minvfunc must not be specified without mstype" msgstr "minvfunc для агрегата не должна указываться без mstype" -#: commands/aggregatecmds.c:240 +#: commands/aggregatecmds.c:241 #, c-format msgid "aggregate mfinalfunc must not be specified without mstype" msgstr "mfinalfunc для агрегата не должна указываться без mstype" -#: commands/aggregatecmds.c:244 +#: commands/aggregatecmds.c:245 #, c-format msgid "aggregate msspace must not be specified without mstype" msgstr "msspace для агрегата не должна указываться без mstype" -#: commands/aggregatecmds.c:248 +#: commands/aggregatecmds.c:249 #, c-format msgid "aggregate minitcond must not be specified without mstype" msgstr "minitcond для агрегата не должна указываться без mstype" -#: commands/aggregatecmds.c:277 +#: commands/aggregatecmds.c:278 #, c-format msgid "aggregate input type must be specified" msgstr "в определении агрегата требуется входной тип" -#: commands/aggregatecmds.c:307 +#: commands/aggregatecmds.c:308 #, c-format msgid "basetype is redundant with aggregate input type specification" msgstr "в определении агрегата с указанием входного типа не нужен базовый тип" -#: commands/aggregatecmds.c:350 commands/aggregatecmds.c:391 +#: commands/aggregatecmds.c:351 commands/aggregatecmds.c:392 #, c-format msgid "aggregate transition data type cannot be %s" msgstr "переходным типом агрегата не может быть %s" -#: commands/aggregatecmds.c:362 +#: commands/aggregatecmds.c:363 #, c-format msgid "" "serialization functions may be specified only when the aggregate transition " @@ -6874,91 +6925,109 @@ msgstr "" "функции сериализации могут задаваться, только когда переходный тип данных " "агрегата - %s" -#: commands/aggregatecmds.c:372 +#: commands/aggregatecmds.c:373 #, c-format msgid "" "must specify both or neither of serialization and deserialization functions" msgstr "функции сериализации и десериализации должны задаваться совместно" -#: commands/aggregatecmds.c:437 commands/functioncmds.c:643 +#: commands/aggregatecmds.c:438 commands/functioncmds.c:639 #, c-format msgid "parameter \"parallel\" must be SAFE, RESTRICTED, or UNSAFE" msgstr "" "параметр \"parallel\" должен иметь значение SAFE, RESTRICTED или UNSAFE" -#: commands/aggregatecmds.c:493 +#: commands/aggregatecmds.c:494 #, c-format msgid "parameter \"%s\" must be READ_ONLY, SHAREABLE, or READ_WRITE" msgstr "" "параметр \"%s\" должен иметь характеристику READ_ONLY, SHAREABLE или " "READ_WRITE" -#: commands/alter.c:84 commands/event_trigger.c:174 +#: commands/alter.c:86 commands/event_trigger.c:174 #, c-format msgid "event trigger \"%s\" already exists" msgstr "событийный триггер \"%s\" уже существует" -#: commands/alter.c:87 commands/foreigncmds.c:593 +#: commands/alter.c:89 commands/foreigncmds.c:593 #, c-format msgid "foreign-data wrapper \"%s\" already exists" msgstr "обёртка сторонних данных \"%s\" уже существует" -#: commands/alter.c:90 commands/foreigncmds.c:884 +#: commands/alter.c:92 commands/foreigncmds.c:884 #, c-format msgid "server \"%s\" already exists" msgstr "сервер \"%s\" уже существует" -#: commands/alter.c:93 commands/proclang.c:133 +#: commands/alter.c:95 commands/proclang.c:133 #, c-format msgid "language \"%s\" already exists" msgstr "язык \"%s\" уже существует" -#: commands/alter.c:96 commands/publicationcmds.c:770 +#: commands/alter.c:98 commands/publicationcmds.c:771 #, c-format msgid "publication \"%s\" already exists" msgstr "публикация \"%s\" уже существует" -#: commands/alter.c:99 commands/subscriptioncmds.c:567 +#: commands/alter.c:101 commands/subscriptioncmds.c:657 #, c-format msgid "subscription \"%s\" already exists" msgstr "подписка \"%s\" уже существует" -#: commands/alter.c:122 +#: commands/alter.c:124 #, c-format msgid "conversion \"%s\" already exists in schema \"%s\"" msgstr "преобразование \"%s\" уже существует в схеме \"%s\"" -#: commands/alter.c:126 +#: commands/alter.c:128 #, c-format msgid "statistics object \"%s\" already exists in schema \"%s\"" msgstr "объект статистики \"%s\" уже существует в схеме \"%s\"" -#: commands/alter.c:130 +#: commands/alter.c:132 #, c-format msgid "text search parser \"%s\" already exists in schema \"%s\"" msgstr "анализатор текстового поиска \"%s\" уже существует в схеме \"%s\"" -#: commands/alter.c:134 +#: commands/alter.c:136 #, c-format msgid "text search dictionary \"%s\" already exists in schema \"%s\"" msgstr "словарь текстового поиска \"%s\" уже существует в схеме \"%s\"" -#: commands/alter.c:138 +#: commands/alter.c:140 #, c-format msgid "text search template \"%s\" already exists in schema \"%s\"" msgstr "шаблон текстового поиска \"%s\" уже существует в схеме \"%s\"" -#: commands/alter.c:142 +#: commands/alter.c:144 #, c-format msgid "text search configuration \"%s\" already exists in schema \"%s\"" msgstr "конфигурация текстового поиска \"%s\" уже существует в схеме \"%s\"" -#: commands/alter.c:215 +#: commands/alter.c:217 #, c-format msgid "must be superuser to rename %s" msgstr "переименовать \"%s\" может только суперпользователь" -#: commands/alter.c:746 +#: commands/alter.c:259 commands/subscriptioncmds.c:636 +#: commands/subscriptioncmds.c:1116 commands/subscriptioncmds.c:1198 +#: commands/subscriptioncmds.c:1830 +#, c-format +msgid "password_required=false is superuser-only" +msgstr "задать password_required=false может только суперпользователь" + +#: commands/alter.c:260 commands/subscriptioncmds.c:637 +#: commands/subscriptioncmds.c:1117 commands/subscriptioncmds.c:1199 +#: commands/subscriptioncmds.c:1831 +#, c-format +msgid "" +"Subscriptions with the password_required option set to false may only be " +"created or modified by the superuser." +msgstr "" +"Подписки с параметром password_required option, равным false, могут " +"создавать или изменять только суперпользователи." + +#: commands/alter.c:775 #, c-format msgid "must be superuser to set schema of %s" msgstr "для назначения схемы объекта %s нужно быть суперпользователем" @@ -6978,7 +7047,7 @@ msgstr "Для создания метода доступа нужно быть msgid "access method \"%s\" already exists" msgstr "метод доступа \"%s\" уже существует" -#: commands/amcmds.c:154 commands/indexcmds.c:213 commands/indexcmds.c:833 +#: 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" @@ -6990,8 +7059,8 @@ msgid "handler function is not specified" msgstr "не указана функция-обработчик" #: commands/amcmds.c:264 commands/event_trigger.c:183 -#: commands/foreigncmds.c:489 commands/proclang.c:80 commands/trigger.c:713 -#: parser/parse_clause.c:942 +#: commands/foreigncmds.c:489 commands/proclang.c:80 commands/trigger.c:709 +#: parser/parse_clause.c:941 #, c-format msgid "function %s must return type %s" msgstr "функция %s должна возвращать тип %s" @@ -7018,7 +7087,7 @@ msgstr "анализируется дерево наследования \"%s.%s msgid "analyzing \"%s.%s\"" msgstr "анализируется \"%s.%s\"" -#: commands/analyze.c:396 +#: commands/analyze.c:395 #, c-format msgid "column \"%s\" of relation \"%s\" appears more than once" msgstr "столбец \"%s\" отношения \"%s\" указан неоднократно" @@ -7038,7 +7107,7 @@ msgstr "" "%.0f, \"мёртвых\" строк: %.0f; строк в выборке: %d, примерное общее число " "строк: %.0f" -#: commands/analyze.c:1414 +#: commands/analyze.c:1418 #, c-format msgid "" "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree " @@ -7047,7 +7116,7 @@ msgstr "" "пропускается анализ дерева наследования \"%s.%s\" --- это дерево " "наследования не содержит дочерних таблиц" -#: commands/analyze.c:1512 +#: commands/analyze.c:1516 #, c-format msgid "" "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree " @@ -7106,42 +7175,42 @@ msgstr "" "Очередь NOTIFY можно будет освободить, только когда этот процесс завершит " "текущую транзакцию." -#: commands/cluster.c:128 +#: commands/cluster.c:130 #, c-format msgid "unrecognized CLUSTER option \"%s\"" msgstr "нераспознанный параметр CLUSTER: \"%s\"" -#: commands/cluster.c:158 commands/cluster.c:431 +#: commands/cluster.c:160 commands/cluster.c:433 #, c-format msgid "cannot cluster temporary tables of other sessions" msgstr "кластеризовать временные таблицы других сеансов нельзя" -#: commands/cluster.c:176 +#: commands/cluster.c:178 #, c-format msgid "there is no previously clustered index for table \"%s\"" msgstr "таблица \"%s\" ранее не кластеризовалась по какому-либо индексу" -#: commands/cluster.c:190 commands/tablecmds.c:14128 commands/tablecmds.c:16008 +#: commands/cluster.c:192 commands/tablecmds.c:14200 commands/tablecmds.c:16043 #, c-format msgid "index \"%s\" for table \"%s\" does not exist" msgstr "индекс \"%s\" для таблицы \"%s\" не существует" -#: commands/cluster.c:420 +#: commands/cluster.c:422 #, c-format msgid "cannot cluster a shared catalog" msgstr "кластеризовать разделяемый каталог нельзя" -#: commands/cluster.c:435 +#: commands/cluster.c:437 #, c-format msgid "cannot vacuum temporary tables of other sessions" msgstr "очищать временные таблицы других сеансов нельзя" -#: commands/cluster.c:511 commands/tablecmds.c:16018 +#: commands/cluster.c:513 commands/tablecmds.c:16053 #, c-format msgid "\"%s\" is not an index for table \"%s\"" msgstr "\"%s\" не является индексом таблицы \"%s\"" -#: commands/cluster.c:519 +#: commands/cluster.c:521 #, c-format msgid "" "cannot cluster on index \"%s\" because access method does not support " @@ -7149,38 +7218,38 @@ msgid "" msgstr "" "кластеризация по индексу \"%s\" невозможна, её не поддерживает метод доступа" -#: commands/cluster.c:531 +#: commands/cluster.c:533 #, c-format msgid "cannot cluster on partial index \"%s\"" msgstr "кластеризовать по частичному индексу \"%s\" нельзя" -#: commands/cluster.c:545 +#: commands/cluster.c:547 #, c-format msgid "cannot cluster on invalid index \"%s\"" msgstr "нельзя кластеризовать таблицу по неверному индексу \"%s\"" -#: commands/cluster.c:569 +#: commands/cluster.c:571 #, c-format msgid "cannot mark index clustered in partitioned table" msgstr "пометить индекс как кластеризованный в секционированной таблице нельзя" -#: commands/cluster.c:948 +#: commands/cluster.c:950 #, c-format msgid "clustering \"%s.%s\" using index scan on \"%s\"" msgstr "кластеризация \"%s.%s\" путём сканирования индекса \"%s\"" -#: commands/cluster.c:954 +#: commands/cluster.c:956 #, c-format msgid "clustering \"%s.%s\" using sequential scan and sort" msgstr "" "кластеризация \"%s.%s\" путём последовательного сканирования и сортировки" -#: commands/cluster.c:959 +#: commands/cluster.c:961 #, c-format msgid "vacuuming \"%s.%s\"" msgstr "очистка \"%s.%s\"" -#: commands/cluster.c:985 +#: commands/cluster.c:988 #, c-format msgid "" "\"%s.%s\": found %.0f removable, %.0f nonremovable row versions in %u pages" @@ -7188,7 +7257,7 @@ msgstr "" "\"%s.%s\": найдено удаляемых версий строк: %.0f, неудаляемых: %.0f, " "просмотрено страниц: %u" -#: commands/cluster.c:990 +#: commands/cluster.c:993 #, c-format msgid "" "%.0f dead row versions cannot be removed yet.\n" @@ -7197,117 +7266,142 @@ msgstr "" "В данный момент нельзя удалить \"мёртвых\" строк %.0f.\n" "%s." -#: commands/collationcmds.c:106 +#: commands/collationcmds.c:112 #, c-format msgid "collation attribute \"%s\" not recognized" msgstr "атрибут COLLATION \"%s\" не распознан" -#: commands/collationcmds.c:119 commands/collationcmds.c:125 -#: commands/define.c:389 commands/tablecmds.c:7768 -#: replication/pgoutput/pgoutput.c:311 replication/pgoutput/pgoutput.c:334 -#: replication/pgoutput/pgoutput.c:348 replication/pgoutput/pgoutput.c:358 -#: replication/pgoutput/pgoutput.c:368 replication/pgoutput/pgoutput.c:378 -#: replication/walsender.c:1001 replication/walsender.c:1023 -#: replication/walsender.c:1033 +#: commands/collationcmds.c:125 commands/collationcmds.c:131 +#: commands/define.c:389 commands/tablecmds.c:7876 +#: replication/pgoutput/pgoutput.c:310 replication/pgoutput/pgoutput.c:333 +#: replication/pgoutput/pgoutput.c:347 replication/pgoutput/pgoutput.c:357 +#: replication/pgoutput/pgoutput.c:367 replication/pgoutput/pgoutput.c:377 +#: replication/pgoutput/pgoutput.c:387 replication/walsender.c:996 +#: replication/walsender.c:1018 replication/walsender.c:1028 #, c-format msgid "conflicting or redundant options" msgstr "конфликтующие или избыточные параметры" -#: commands/collationcmds.c:120 +#: commands/collationcmds.c:126 #, c-format msgid "LOCALE cannot be specified together with LC_COLLATE or LC_CTYPE." msgstr "LOCALE нельзя указать вместе с LC_COLLATE или LC_CTYPE." -#: commands/collationcmds.c:126 +#: commands/collationcmds.c:132 #, c-format msgid "FROM cannot be specified together with any other options." msgstr "FROM нельзя задать вместе с каким-либо другим параметром." -#: commands/collationcmds.c:174 +#: commands/collationcmds.c:191 #, c-format msgid "collation \"default\" cannot be copied" msgstr "правило сортировки \"default\" нельзя скопировать" -#: commands/collationcmds.c:204 +#: commands/collationcmds.c:225 #, c-format msgid "unrecognized collation provider: %s" msgstr "нераспознанный провайдер правил сортировки: %s" -#: commands/collationcmds.c:232 +#: commands/collationcmds.c:253 #, c-format msgid "parameter \"lc_collate\" must be specified" msgstr "необходимо указать параметр \"lc_collate\"" -#: commands/collationcmds.c:237 +#: commands/collationcmds.c:258 #, c-format msgid "parameter \"lc_ctype\" must be specified" msgstr "необходимо указать параметр \"lc_ctype\"" -#: commands/collationcmds.c:244 +#: commands/collationcmds.c:265 #, c-format msgid "parameter \"locale\" must be specified" msgstr "необходимо указать параметр \"locale\"" -#: commands/collationcmds.c:256 +#: commands/collationcmds.c:279 commands/dbcommands.c:1091 +#, c-format +msgid "using standard form \"%s\" for ICU locale \"%s\"" +msgstr "используется стандартная форма \"%s\" локали ICU \"%s\"" + +#: commands/collationcmds.c:298 #, c-format msgid "nondeterministic collations not supported with this provider" msgstr "" "недетерминированные правила сортировки не поддерживаются данным провайдером" -#: commands/collationcmds.c:275 +#: commands/collationcmds.c:303 commands/dbcommands.c:1110 +#, c-format +msgid "ICU rules cannot be specified unless locale provider is ICU" +msgstr "правила ICU можно указать, только если выбран провайдер локали ICU" + +#: commands/collationcmds.c:322 #, c-format msgid "current database's encoding is not supported with this provider" msgstr "кодировка текущей БД не поддерживается данным провайдером" -#: commands/collationcmds.c:334 +#: commands/collationcmds.c:382 #, c-format msgid "collation \"%s\" for encoding \"%s\" already exists in schema \"%s\"" msgstr "" "правило сортировки \"%s\" для кодировки \"%s\" уже существует в схеме \"%s\"" -#: commands/collationcmds.c:345 +#: commands/collationcmds.c:393 #, c-format msgid "collation \"%s\" already exists in schema \"%s\"" msgstr "правило сортировки \"%s\" уже существует в схеме \"%s\"" -#: commands/collationcmds.c:395 commands/dbcommands.c:2398 +#: commands/collationcmds.c:418 +#, c-format +msgid "cannot refresh version of default collation" +msgstr "нельзя обновить версию правила сортировки по умолчанию" + +#: commands/collationcmds.c:419 +#, c-format +msgid "Use ALTER DATABASE ... REFRESH COLLATION VERSION instead." +msgstr "Вместо этого выполните ALTER DATABASE ... REFRESH COLLATION VERSION." + +#: commands/collationcmds.c:446 commands/dbcommands.c:2488 #, c-format msgid "changing version from %s to %s" msgstr "изменение версии с %s на %s" -#: commands/collationcmds.c:410 commands/dbcommands.c:2411 +#: commands/collationcmds.c:461 commands/dbcommands.c:2501 #, c-format msgid "version has not changed" msgstr "версия не была изменена" -#: commands/collationcmds.c:532 +#: commands/collationcmds.c:494 commands/dbcommands.c:2667 #, c-format -msgid "could not convert locale name \"%s\" to language tag: %s" -msgstr "не удалось получить из названия локали \"%s\" метку языка: %s" +msgid "database with OID %u does not exist" +msgstr "база данных с OID %u не существует" + +#: commands/collationcmds.c:515 +#, c-format +msgid "collation with OID %u does not exist" +msgstr "правило сортировки с OID %u не существует" -#: commands/collationcmds.c:590 +#: commands/collationcmds.c:803 #, c-format msgid "must be superuser to import system collations" msgstr "" "импортировать системные правила сортировки может только суперпользователь" -#: commands/collationcmds.c:618 commands/copyfrom.c:1499 commands/copyto.c:679 -#: libpq/be-secure-common.c:81 +#: commands/collationcmds.c:831 commands/copyfrom.c:1654 commands/copyto.c:656 +#: libpq/be-secure-common.c:59 #, c-format msgid "could not execute command \"%s\": %m" msgstr "не удалось выполнить команду \"%s\": %m" -#: commands/collationcmds.c:753 +#: commands/collationcmds.c:923 commands/collationcmds.c:1008 #, c-format msgid "no usable system locales were found" msgstr "пригодные системные локали не найдены" -#: commands/comment.c:61 commands/dbcommands.c:1538 commands/dbcommands.c:1735 -#: commands/dbcommands.c:1848 commands/dbcommands.c:2042 -#: commands/dbcommands.c:2284 commands/dbcommands.c:2371 -#: commands/dbcommands.c:2481 commands/dbcommands.c:2980 -#: utils/init/postinit.c:943 utils/init/postinit.c:1048 -#: utils/init/postinit.c:1065 +#: 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:1127 +#: utils/init/postinit.c:1153 #, c-format msgid "database \"%s\" does not exist" msgstr "база данных \"%s\" не существует" @@ -7317,12 +7411,12 @@ msgstr "база данных \"%s\" не существует" msgid "cannot set comment on relation \"%s\"" msgstr "задать комментарий для отношения \"%s\" нельзя" -#: commands/constraint.c:63 utils/adt/ri_triggers.c:2014 +#: commands/constraint.c:63 utils/adt/ri_triggers.c:2028 #, c-format msgid "function \"%s\" was not called by trigger manager" msgstr "функция \"%s\" была вызвана не менеджером триггеров" -#: commands/constraint.c:70 utils/adt/ri_triggers.c:2023 +#: commands/constraint.c:70 utils/adt/ri_triggers.c:2037 #, c-format msgid "function \"%s\" must be fired AFTER ROW" msgstr "функция \"%s\" должна запускаться в триггере AFTER для строк" @@ -7332,27 +7426,27 @@ msgstr "функция \"%s\" должна запускаться в тригг msgid "function \"%s\" must be fired for INSERT or UPDATE" msgstr "функция \"%s\" должна запускаться для INSERT или UPDATE" -#: commands/conversioncmds.c:67 +#: commands/conversioncmds.c:69 #, c-format msgid "source encoding \"%s\" does not exist" msgstr "исходная кодировка \"%s\" не существует" -#: commands/conversioncmds.c:74 +#: commands/conversioncmds.c:76 #, c-format msgid "destination encoding \"%s\" does not exist" msgstr "целевая кодировка \"%s\" не существует" -#: commands/conversioncmds.c:87 +#: commands/conversioncmds.c:89 #, c-format msgid "encoding conversion to or from \"SQL_ASCII\" is not supported" msgstr "преобразование кодировки из/в \"SQL_ASCII\" не поддерживается" -#: commands/conversioncmds.c:100 +#: commands/conversioncmds.c:102 #, c-format msgid "encoding conversion function %s must return type %s" msgstr "функция преобразования кодировки %s должна возвращать тип %s" -#: commands/conversioncmds.c:130 +#: commands/conversioncmds.c:132 #, c-format msgid "" "encoding conversion function %s returned incorrect result for empty input" @@ -7362,14 +7456,19 @@ msgstr "" #: commands/copy.c:86 #, c-format +msgid "permission denied to COPY to or from an external program" +msgstr "нет прав для выполнения COPY с внешней программой" + +#: commands/copy.c:87 +#, c-format msgid "" -"must be superuser or have privileges of the pg_execute_server_program role " -"to COPY to or from an external program" +"Only roles with privileges of the \"%s\" role may COPY to or from an " +"external program." msgstr "" -"для использования COPY с внешними программами нужно быть суперпользователем " -"или иметь права роли pg_execute_server_program" +"Использовать COPY с внешними программами могут только роли с правами роли " +"\"%s\"." -#: commands/copy.c:87 commands/copy.c:96 commands/copy.c:103 +#: commands/copy.c:89 commands/copy.c:100 commands/copy.c:109 #, c-format msgid "" "Anyone can COPY to stdout or from stdin. psql's \\copy command also works " @@ -7378,261 +7477,304 @@ msgstr "" "Не имея административных прав, можно использовать COPY с stdout и stdin (а " "также команду psql \\copy)." -#: commands/copy.c:95 +#: commands/copy.c:97 #, c-format -msgid "" -"must be superuser or have privileges of the pg_read_server_files role to " -"COPY from a file" +msgid "permission denied to COPY from a file" +msgstr "нет прав для выполнения COPY с чтением файла" + +#: commands/copy.c:98 +#, c-format +msgid "Only roles with privileges of the \"%s\" role may COPY from a file." msgstr "" -"для выполнения COPY с чтением файла нужно быть суперпользователем или иметь " -"права роли pg_read_server_files" +"Выполнять COPY с чтением файла могут только роли с правами роли \"%s\"." -#: commands/copy.c:102 +#: commands/copy.c:106 #, c-format -msgid "" -"must be superuser or have privileges of the pg_write_server_files role to " -"COPY to a file" +msgid "permission denied to COPY to a file" +msgstr "нет прав для выполнения COPY с записью в файл" + +#: commands/copy.c:107 +#, c-format +msgid "Only roles with privileges of the \"%s\" role may COPY to a file." msgstr "" -"для выполнения COPY с записью в файл нужно быть суперпользователем или иметь " -"права роли pg_write_server_files" +"Выполнять COPY с записью в файл могут только роли с правами роли \"%s\"." -#: commands/copy.c:188 +#: commands/copy.c:195 #, c-format msgid "COPY FROM not supported with row-level security" msgstr "COPY FROM не поддерживается с защитой на уровне строк." -#: commands/copy.c:189 +#: commands/copy.c:196 #, c-format msgid "Use INSERT statements instead." msgstr "Используйте операторы INSERT." -#: commands/copy.c:280 +#: commands/copy.c:290 #, c-format msgid "MERGE not supported in COPY" msgstr "MERGE не поддерживается в COPY" -#: commands/copy.c:373 +#: commands/copy.c:383 #, c-format msgid "cannot use \"%s\" with HEADER in COPY TO" msgstr "использовать \"%s\" с параметром HEADER в COPY TO нельзя" -#: commands/copy.c:382 +#: commands/copy.c:392 #, c-format msgid "%s requires a Boolean value or \"match\"" msgstr "%s требует логическое значение или \"match\"" -#: commands/copy.c:441 +#: commands/copy.c:451 #, c-format msgid "COPY format \"%s\" not recognized" msgstr "формат \"%s\" для COPY не распознан" -#: commands/copy.c:493 commands/copy.c:506 commands/copy.c:519 -#: commands/copy.c:538 +#: commands/copy.c:509 commands/copy.c:522 commands/copy.c:535 +#: commands/copy.c:554 #, c-format msgid "argument to option \"%s\" must be a list of column names" msgstr "аргументом параметра \"%s\" должен быть список имён столбцов" -#: commands/copy.c:550 +#: commands/copy.c:566 #, c-format msgid "argument to option \"%s\" must be a valid encoding name" msgstr "аргументом параметра \"%s\" должно быть название допустимой кодировки" -#: commands/copy.c:557 commands/dbcommands.c:849 commands/dbcommands.c:2232 +#: commands/copy.c:573 commands/dbcommands.c:859 commands/dbcommands.c:2318 #, c-format msgid "option \"%s\" not recognized" msgstr "параметр \"%s\" не распознан" -#: commands/copy.c:569 +#: commands/copy.c:585 #, c-format msgid "cannot specify DELIMITER in BINARY mode" msgstr "в режиме BINARY нельзя указывать DELIMITER" -#: commands/copy.c:574 +#: commands/copy.c:590 #, c-format msgid "cannot specify NULL in BINARY mode" msgstr "в режиме BINARY нельзя указывать NULL" -#: commands/copy.c:596 +#: commands/copy.c:595 +#, c-format +msgid "cannot specify DEFAULT in BINARY mode" +msgstr "в режиме BINARY нельзя указывать DEFAULT" + +#: commands/copy.c:617 #, c-format msgid "COPY delimiter must be a single one-byte character" msgstr "разделитель для COPY должен быть однобайтным символом" -#: commands/copy.c:603 +#: commands/copy.c:624 #, c-format msgid "COPY delimiter cannot be newline or carriage return" msgstr "" "разделителем для COPY не может быть символ новой строки или возврата каретки" -#: commands/copy.c:609 +#: commands/copy.c:630 #, c-format msgid "COPY null representation cannot use newline or carriage return" msgstr "" "представление NULL для COPY не может включать символ новой строки или " "возврата каретки" -#: commands/copy.c:626 +#: commands/copy.c:640 +#, c-format +msgid "COPY default representation cannot use newline or carriage return" +msgstr "" +"представление DEFAULT для COPY не может включать символ новой строки или " +"возврата каретки" + +#: commands/copy.c:658 #, c-format msgid "COPY delimiter cannot be \"%s\"" msgstr "\"%s\" не может быть разделителем для COPY" -#: commands/copy.c:632 +#: commands/copy.c:664 #, c-format msgid "cannot specify HEADER in BINARY mode" msgstr "в режиме BINARY нельзя использовать HEADER" -#: commands/copy.c:638 +#: commands/copy.c:670 #, c-format msgid "COPY quote available only in CSV mode" msgstr "определить кавычки для COPY можно только в режиме CSV" -#: commands/copy.c:643 +#: commands/copy.c:675 #, c-format msgid "COPY quote must be a single one-byte character" msgstr "символ кавычек для COPY должен быть однобайтным" -#: commands/copy.c:648 +#: commands/copy.c:680 #, c-format msgid "COPY delimiter and quote must be different" msgstr "символ кавычек для COPY должен отличаться от разделителя" -#: commands/copy.c:654 +#: commands/copy.c:686 #, c-format msgid "COPY escape available only in CSV mode" msgstr "определить спецсимвол для COPY можно только в режиме CSV" -#: commands/copy.c:659 +#: commands/copy.c:691 #, c-format msgid "COPY escape must be a single one-byte character" msgstr "спецсимвол для COPY должен быть однобайтным" -#: commands/copy.c:665 +#: commands/copy.c:697 #, c-format msgid "COPY force quote available only in CSV mode" msgstr "параметр force quote для COPY можно использовать только в режиме CSV" -#: commands/copy.c:669 +#: commands/copy.c:701 #, c-format msgid "COPY force quote only available using COPY TO" msgstr "параметр force quote для COPY можно использовать только с COPY TO" -#: commands/copy.c:675 +#: commands/copy.c:707 #, c-format msgid "COPY force not null available only in CSV mode" msgstr "" "параметр force not null для COPY можно использовать только в режиме CSV" -#: commands/copy.c:679 +#: commands/copy.c:711 #, c-format msgid "COPY force not null only available using COPY FROM" msgstr "параметр force not null для COPY можно использовать только с COPY FROM" -#: commands/copy.c:685 +#: commands/copy.c:717 #, c-format msgid "COPY force null available only in CSV mode" msgstr "параметр force null для COPY можно использовать только в режиме CSV" -#: commands/copy.c:690 +#: commands/copy.c:722 #, c-format msgid "COPY force null only available using COPY FROM" msgstr "параметр force null для COPY можно использовать только с COPY FROM" -#: commands/copy.c:696 +#: commands/copy.c:728 #, c-format msgid "COPY delimiter must not appear in the NULL specification" msgstr "разделитель для COPY не должен присутствовать в представлении NULL" -#: commands/copy.c:703 +#: commands/copy.c:735 #, c-format msgid "CSV quote character must not appear in the NULL specification" msgstr "символ кавычек в CSV не должен присутствовать в представлении NULL" -#: commands/copy.c:764 +#: commands/copy.c:742 +#, c-format +msgid "COPY DEFAULT only available using COPY FROM" +msgstr "параметр DEFAULT для COPY можно использовать только с COPY FROM" + +#: commands/copy.c:748 +#, c-format +msgid "COPY delimiter must not appear in the DEFAULT specification" +msgstr "разделитель для COPY не должен присутствовать в представлении DEFAULT" + +#: commands/copy.c:755 +#, c-format +msgid "CSV quote character must not appear in the DEFAULT specification" +msgstr "символ кавычек в CSV не должен присутствовать в представлении DEFAULT" + +#: commands/copy.c:763 +#, c-format +msgid "NULL specification and DEFAULT specification cannot be the same" +msgstr "представления NULL и DEFAULT не могут быть одинаковыми" + +#: commands/copy.c:825 #, c-format msgid "column \"%s\" is a generated column" msgstr "столбец \"%s\" — генерируемый" -#: commands/copy.c:766 +#: commands/copy.c:827 #, c-format msgid "Generated columns cannot be used in COPY." msgstr "Генерируемые столбцы нельзя использовать в COPY." -#: commands/copy.c:781 commands/indexcmds.c:1833 commands/statscmds.c:243 -#: commands/tablecmds.c:2379 commands/tablecmds.c:3035 -#: commands/tablecmds.c:3529 parser/parse_relation.c:3655 -#: parser/parse_relation.c:3675 utils/adt/tsvector_op.c:2688 +#: 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 +#: utils/adt/tsvector_op.c:2855 #, c-format msgid "column \"%s\" does not exist" msgstr "столбец \"%s\" не существует" -#: commands/copy.c:788 commands/tablecmds.c:2405 commands/trigger.c:967 -#: parser/parse_target.c:1079 parser/parse_target.c:1090 +#: commands/copy.c:849 commands/tablecmds.c:2431 commands/trigger.c:958 +#: parser/parse_target.c:1070 parser/parse_target.c:1081 #, c-format msgid "column \"%s\" specified more than once" msgstr "столбец \"%s\" указан неоднократно" -#: commands/copyfrom.c:123 +#: commands/copyfrom.c:122 +#, c-format +msgid "COPY %s" +msgstr "COPY %s" + +#: commands/copyfrom.c:130 #, c-format msgid "COPY %s, line %llu, column %s" msgstr "COPY %s, строка %llu, столбец %s" -#: commands/copyfrom.c:128 commands/copyfrom.c:174 +#: commands/copyfrom.c:135 commands/copyfrom.c:181 #, c-format msgid "COPY %s, line %llu" msgstr "COPY %s, строка %llu" -#: commands/copyfrom.c:140 +#: commands/copyfrom.c:147 #, c-format msgid "COPY %s, line %llu, column %s: \"%s\"" msgstr "COPY %s, строка %llu, столбец %s: \"%s\"" -#: commands/copyfrom.c:150 +#: commands/copyfrom.c:157 #, c-format msgid "COPY %s, line %llu, column %s: null input" msgstr "COPY %s, строка %llu, столбец %s: значение NULL" -#: commands/copyfrom.c:167 +#: commands/copyfrom.c:174 #, c-format msgid "COPY %s, line %llu: \"%s\"" msgstr "COPY %s, строка %llu: \"%s\"" -#: commands/copyfrom.c:569 +#: commands/copyfrom.c:673 #, c-format msgid "cannot copy to view \"%s\"" msgstr "копировать в представление \"%s\" нельзя" -#: commands/copyfrom.c:571 +#: commands/copyfrom.c:675 #, c-format msgid "To enable copying to a view, provide an INSTEAD OF INSERT trigger." msgstr "" "Чтобы представление допускало копирование данных в него, установите триггер " "INSTEAD OF INSERT." -#: commands/copyfrom.c:575 +#: commands/copyfrom.c:679 #, c-format msgid "cannot copy to materialized view \"%s\"" msgstr "копировать в материализованное представление \"%s\" нельзя" -#: commands/copyfrom.c:580 +#: commands/copyfrom.c:684 #, c-format msgid "cannot copy to sequence \"%s\"" msgstr "копировать в последовательность \"%s\" нельзя" -#: commands/copyfrom.c:585 +#: commands/copyfrom.c:689 #, c-format msgid "cannot copy to non-table relation \"%s\"" msgstr "копировать в отношение \"%s\", не являющееся таблицей, нельзя" -#: commands/copyfrom.c:625 +#: commands/copyfrom.c:729 #, c-format msgid "cannot perform COPY FREEZE on a partitioned table" msgstr "выполнить COPY FREEZE в секционированной таблице нельзя" -#: commands/copyfrom.c:640 +#: commands/copyfrom.c:744 #, c-format msgid "cannot perform COPY FREEZE because of prior transaction activity" msgstr "выполнить COPY FREEZE нельзя из-за предыдущей активности в транзакции" -#: commands/copyfrom.c:646 +#: commands/copyfrom.c:750 #, c-format msgid "" "cannot perform COPY FREEZE because the table was not created or truncated in " @@ -7641,17 +7783,17 @@ msgstr "" "выполнить COPY FREEZE нельзя, так как таблица не была создана или усечена в " "текущей подтранзакции" -#: commands/copyfrom.c:1267 commands/copyto.c:611 +#: commands/copyfrom.c:1411 #, c-format msgid "FORCE_NOT_NULL column \"%s\" not referenced by COPY" msgstr "столбец FORCE_NOT_NULL \"%s\" не фигурирует в COPY" -#: commands/copyfrom.c:1290 commands/copyto.c:634 +#: commands/copyfrom.c:1434 #, c-format msgid "FORCE_NULL column \"%s\" not referenced by COPY" msgstr "столбец FORCE_NULL \"%s\" не фигурирует в COPY" -#: commands/copyfrom.c:1518 +#: commands/copyfrom.c:1673 #, c-format msgid "" "COPY FROM instructs the PostgreSQL server process to read a file. You may " @@ -7661,17 +7803,17 @@ msgstr "" "файла. Возможно, на самом деле вам нужно клиентское средство, например, " "\\copy в psql." -#: commands/copyfrom.c:1531 commands/copyto.c:731 +#: commands/copyfrom.c:1686 commands/copyto.c:708 #, c-format msgid "\"%s\" is a directory" msgstr "\"%s\" - это каталог" -#: commands/copyfrom.c:1599 commands/copyto.c:301 libpq/be-secure-common.c:105 +#: commands/copyfrom.c:1754 commands/copyto.c:306 libpq/be-secure-common.c:83 #, c-format msgid "could not close pipe to external command: %m" msgstr "не удалось закрыть канал сообщений с внешней командой: %m" -#: commands/copyfrom.c:1614 commands/copyto.c:306 +#: commands/copyfrom.c:1769 commands/copyto.c:311 #, c-format msgid "program \"%s\" failed" msgstr "сбой программы \"%s\"" @@ -7712,7 +7854,7 @@ msgid "could not read from COPY file: %m" msgstr "не удалось прочитать файл COPY: %m" #: commands/copyfromparse.c:278 commands/copyfromparse.c:303 -#: tcop/postgres.c:358 +#: tcop/postgres.c:377 #, c-format msgid "unexpected EOF on client connection with an open transaction" msgstr "неожиданный обрыв соединения с клиентом при открытой транзакции" @@ -7749,194 +7891,204 @@ msgstr "" "несоответствие имени столбца в поле %d строки заголовка: получено \"%s\", " "ожидалось \"%s\"" -#: commands/copyfromparse.c:890 commands/copyfromparse.c:1495 -#: commands/copyfromparse.c:1725 +#: commands/copyfromparse.c:892 commands/copyfromparse.c:1512 +#: commands/copyfromparse.c:1768 #, c-format msgid "extra data after last expected column" msgstr "лишние данные после содержимого последнего столбца" -#: commands/copyfromparse.c:904 +#: commands/copyfromparse.c:906 #, c-format msgid "missing data for column \"%s\"" msgstr "нет данных для столбца \"%s\"" -#: commands/copyfromparse.c:982 +#: commands/copyfromparse.c:999 #, c-format msgid "received copy data after EOF marker" msgstr "после маркера конца файла продолжаются данные COPY" -#: commands/copyfromparse.c:989 +#: commands/copyfromparse.c:1006 #, c-format msgid "row field count is %d, expected %d" msgstr "количество полей в строке: %d, ожидалось: %d" -#: commands/copyfromparse.c:1277 commands/copyfromparse.c:1294 +#: commands/copyfromparse.c:1294 commands/copyfromparse.c:1311 #, c-format msgid "literal carriage return found in data" msgstr "в данных обнаружен явный возврат каретки" -#: commands/copyfromparse.c:1278 commands/copyfromparse.c:1295 +#: commands/copyfromparse.c:1295 commands/copyfromparse.c:1312 #, c-format msgid "unquoted carriage return found in data" msgstr "в данных обнаружен возврат каретки не в кавычках" -#: commands/copyfromparse.c:1280 commands/copyfromparse.c:1297 +#: commands/copyfromparse.c:1297 commands/copyfromparse.c:1314 #, c-format msgid "Use \"\\r\" to represent carriage return." msgstr "Представьте возврат каретки как \"\\r\"." -#: commands/copyfromparse.c:1281 commands/copyfromparse.c:1298 +#: commands/copyfromparse.c:1298 commands/copyfromparse.c:1315 #, c-format msgid "Use quoted CSV field to represent carriage return." msgstr "Заключите возврат каретки в кавычки CSV." -#: commands/copyfromparse.c:1310 +#: commands/copyfromparse.c:1327 #, c-format msgid "literal newline found in data" msgstr "в данных обнаружен явный символ новой строки" -#: commands/copyfromparse.c:1311 +#: commands/copyfromparse.c:1328 #, c-format msgid "unquoted newline found in data" msgstr "в данных обнаружен явный символ новой строки не в кавычках" -#: commands/copyfromparse.c:1313 +#: commands/copyfromparse.c:1330 #, c-format msgid "Use \"\\n\" to represent newline." msgstr "Представьте символ новой строки как \"\\n\"." -#: commands/copyfromparse.c:1314 +#: commands/copyfromparse.c:1331 #, c-format msgid "Use quoted CSV field to represent newline." msgstr "Заключите символ новой строки в кавычки CSV." -#: commands/copyfromparse.c:1360 commands/copyfromparse.c:1396 +#: commands/copyfromparse.c:1377 commands/copyfromparse.c:1413 #, c-format msgid "end-of-copy marker does not match previous newline style" msgstr "маркер \"конец копии\" не соответствует предыдущему стилю новой строки" -#: commands/copyfromparse.c:1369 commands/copyfromparse.c:1385 +#: commands/copyfromparse.c:1386 commands/copyfromparse.c:1402 #, c-format msgid "end-of-copy marker corrupt" msgstr "маркер \"конец копии\" испорчен" -#: commands/copyfromparse.c:1809 +#: commands/copyfromparse.c:1704 commands/copyfromparse.c:1919 +#, c-format +msgid "unexpected default marker in COPY data" +msgstr "неожиданный маркер DEFAULT в данных COPY" + +#: commands/copyfromparse.c:1705 commands/copyfromparse.c:1920 +#, c-format +msgid "Column \"%s\" has no default value." +msgstr "Для столбца \"%s\" не определено значение по умолчанию." + +#: commands/copyfromparse.c:1852 #, c-format msgid "unterminated CSV quoted field" msgstr "незавершённое поле в кавычках CSV" -#: commands/copyfromparse.c:1885 commands/copyfromparse.c:1904 +#: commands/copyfromparse.c:1954 commands/copyfromparse.c:1973 #, c-format msgid "unexpected EOF in COPY data" msgstr "неожиданный конец данных COPY" -#: commands/copyfromparse.c:1894 +#: commands/copyfromparse.c:1963 #, c-format msgid "invalid field size" msgstr "неверный размер поля" -#: commands/copyfromparse.c:1917 +#: commands/copyfromparse.c:1986 #, c-format msgid "incorrect binary data format" msgstr "неверный двоичный формат данных" -#: commands/copyto.c:234 +#: commands/copyto.c:236 #, c-format msgid "could not write to COPY program: %m" msgstr "не удалось записать в канал программы COPY: %m" -#: commands/copyto.c:239 +#: commands/copyto.c:241 #, c-format msgid "could not write to COPY file: %m" msgstr "не удалось записать в файл COPY: %m" -#: commands/copyto.c:369 +#: commands/copyto.c:386 #, c-format msgid "cannot copy from view \"%s\"" msgstr "копировать из представления \"%s\" нельзя" -#: commands/copyto.c:371 commands/copyto.c:377 commands/copyto.c:383 -#: commands/copyto.c:394 +#: commands/copyto.c:388 commands/copyto.c:394 commands/copyto.c:400 +#: commands/copyto.c:411 #, c-format msgid "Try the COPY (SELECT ...) TO variant." msgstr "Попробуйте вариацию COPY (SELECT ...) TO." -#: commands/copyto.c:375 +#: commands/copyto.c:392 #, c-format msgid "cannot copy from materialized view \"%s\"" msgstr "копировать из материализованного представления \"%s\" нельзя" -#: commands/copyto.c:381 +#: commands/copyto.c:398 #, c-format msgid "cannot copy from foreign table \"%s\"" msgstr "копировать из сторонней таблицы \"%s\" нельзя" -#: commands/copyto.c:387 +#: commands/copyto.c:404 #, c-format msgid "cannot copy from sequence \"%s\"" msgstr "копировать из последовательности \"%s\" нельзя" -#: commands/copyto.c:392 +#: commands/copyto.c:409 #, c-format msgid "cannot copy from partitioned table \"%s\"" msgstr "копировать из секционированной таблицы \"%s\" нельзя" -#: commands/copyto.c:398 +#: commands/copyto.c:415 #, c-format msgid "cannot copy from non-table relation \"%s\"" msgstr "копировать из отношения \"%s\", не являющегося таблицей, нельзя" -#: commands/copyto.c:450 +#: commands/copyto.c:467 #, c-format msgid "DO INSTEAD NOTHING rules are not supported for COPY" msgstr "правила DO INSTEAD NOTHING не поддерживаются с COPY" -#: commands/copyto.c:464 +#: commands/copyto.c:481 #, c-format msgid "conditional DO INSTEAD rules are not supported for COPY" msgstr "условные правила DO INSTEAD не поддерживаются с COPY" -#: commands/copyto.c:468 +#: commands/copyto.c:485 #, c-format msgid "DO ALSO rules are not supported for the COPY" msgstr "правила DO ALSO не поддерживаются с COPY" -#: commands/copyto.c:473 +#: commands/copyto.c:490 #, c-format msgid "multi-statement DO INSTEAD rules are not supported for COPY" msgstr "составные правила DO INSTEAD не поддерживаются с COPY" -#: commands/copyto.c:483 +#: commands/copyto.c:500 #, c-format msgid "COPY (SELECT INTO) is not supported" msgstr "COPY (SELECT INTO) не поддерживается" -#: commands/copyto.c:500 +#: commands/copyto.c:517 #, c-format msgid "COPY query must have a RETURNING clause" msgstr "в запросе COPY должно быть предложение RETURNING" -#: commands/copyto.c:529 +#: commands/copyto.c:546 #, c-format msgid "relation referenced by COPY statement has changed" msgstr "отношение, задействованное в операторе COPY, изменилось" -#: commands/copyto.c:588 +#: commands/copyto.c:605 #, c-format msgid "FORCE_QUOTE column \"%s\" not referenced by COPY" msgstr "столбец FORCE_QUOTE \"%s\" не фигурирует в COPY" -#: commands/copyto.c:696 +#: commands/copyto.c:673 #, c-format msgid "relative path not allowed for COPY to file" msgstr "при выполнении COPY в файл нельзя указывать относительный путь" -#: commands/copyto.c:715 +#: commands/copyto.c:692 #, c-format msgid "could not open file \"%s\" for writing: %m" msgstr "не удалось открыть файл \"%s\" для записи: %m" -#: commands/copyto.c:718 +#: commands/copyto.c:695 #, c-format msgid "" "COPY TO instructs the PostgreSQL server process to write a file. You may " @@ -7956,93 +8108,114 @@ msgstr "указано слишком много имён столбцов" msgid "policies not yet implemented for this command" msgstr "политики для этой команды ещё не реализованы" -#: commands/dbcommands.c:812 +#: commands/dbcommands.c:822 #, c-format msgid "LOCATION is not supported anymore" msgstr "LOCATION больше не поддерживается" -#: commands/dbcommands.c:813 +#: commands/dbcommands.c:823 #, c-format msgid "Consider using tablespaces instead." msgstr "Рассмотрите возможность использования табличных пространств." -#: commands/dbcommands.c:838 +#: commands/dbcommands.c:848 #, c-format msgid "OIDs less than %u are reserved for system objects" msgstr "значения OID меньше %u зарезервированы для системных объектов" -#: commands/dbcommands.c:869 utils/adt/ascii.c:145 +#: commands/dbcommands.c:879 utils/adt/ascii.c:146 #, c-format msgid "%d is not a valid encoding code" msgstr "%d не является верным кодом кодировки" -#: commands/dbcommands.c:880 utils/adt/ascii.c:127 +#: commands/dbcommands.c:890 utils/adt/ascii.c:128 #, c-format msgid "%s is not a valid encoding name" msgstr "%s не является верным названием кодировки" -#: commands/dbcommands.c:907 +#: commands/dbcommands.c:919 #, c-format msgid "unrecognized locale provider: %s" msgstr "нераспознанный провайдер локали: %s" -#: commands/dbcommands.c:920 commands/dbcommands.c:2265 commands/user.c:237 -#: commands/user.c:611 +#: commands/dbcommands.c:932 commands/dbcommands.c:2351 commands/user.c:300 +#: commands/user.c:740 #, c-format msgid "invalid connection limit: %d" msgstr "неверный предел подключений: %d" -#: commands/dbcommands.c:941 +#: commands/dbcommands.c:953 #, c-format msgid "permission denied to create database" msgstr "нет прав на создание базы данных" -#: commands/dbcommands.c:965 +#: commands/dbcommands.c:977 #, c-format msgid "template database \"%s\" does not exist" msgstr "шаблон базы данных \"%s\" не существует" -#: commands/dbcommands.c:977 +#: commands/dbcommands.c:987 +#, c-format +msgid "cannot use invalid database \"%s\" as template" +msgstr "использовать некорректную базу \"%s\" в качестве шаблона нельзя" + +#: commands/dbcommands.c:988 commands/dbcommands.c:2380 +#: utils/init/postinit.c:1136 +#, c-format +msgid "Use DROP DATABASE to drop invalid databases." +msgstr "Выполните DROP DATABASE для удаления некорректных баз данных." + +#: commands/dbcommands.c:999 #, c-format msgid "permission denied to copy database \"%s\"" msgstr "нет прав на копирование базы данных \"%s\"" -#: commands/dbcommands.c:994 +#: commands/dbcommands.c:1016 #, c-format msgid "invalid create database strategy \"%s\"" msgstr "неверная стратегия создания БД \"%s\"" -#: commands/dbcommands.c:995 +#: commands/dbcommands.c:1017 #, c-format msgid "Valid strategies are \"wal_log\", and \"file_copy\"." msgstr "Возможные стратегии: \"wal_log\" и \"file_copy\"." -#: commands/dbcommands.c:1014 +#: commands/dbcommands.c:1043 #, c-format msgid "invalid server encoding %d" msgstr "неверная кодировка для сервера: %d" -#: commands/dbcommands.c:1020 commands/dbcommands.c:1025 +#: commands/dbcommands.c:1049 #, c-format -msgid "invalid locale name: \"%s\"" -msgstr "неверное имя локали: \"%s\"" +msgid "invalid LC_COLLATE locale name: \"%s\"" +msgstr "неверное имя локали LC_COLLATE: \"%s\"" -#: commands/dbcommands.c:1035 +#: commands/dbcommands.c:1050 commands/dbcommands.c:1056 +#, c-format +msgid "If the locale name is specific to ICU, use ICU_LOCALE." +msgstr "Если эта локаль свойственна ICU, используйте ICU_LOCALE." + +#: commands/dbcommands.c:1055 +#, c-format +msgid "invalid LC_CTYPE locale name: \"%s\"" +msgstr "неверное имя локали LC_CTYPE: \"%s\"" + +#: commands/dbcommands.c:1066 #, c-format msgid "encoding \"%s\" is not supported with ICU provider" msgstr "кодировка \"%s\" не поддерживается провайдером ICU" -#: commands/dbcommands.c:1045 +#: commands/dbcommands.c:1076 #, c-format -msgid "ICU locale must be specified" -msgstr "необходимо задать локаль ICU" +msgid "LOCALE or ICU_LOCALE must be specified" +msgstr "необходимо задать LOCALE или ICU_LOCALE" -#: commands/dbcommands.c:1054 +#: commands/dbcommands.c:1105 #, c-format msgid "ICU locale cannot be specified unless locale provider is ICU" msgstr "локаль ICU можно указать, только если выбран провайдер локали ICU" -#: commands/dbcommands.c:1072 +#: commands/dbcommands.c:1128 #, c-format msgid "" "new encoding (%s) is incompatible with the encoding of the template database " @@ -8050,7 +8223,7 @@ msgid "" msgstr "" "новая кодировка (%s) несовместима с кодировкой шаблона базы данных (%s)" -#: commands/dbcommands.c:1075 +#: commands/dbcommands.c:1131 #, c-format msgid "" "Use the same encoding as in the template database, or use template0 as " @@ -8059,7 +8232,7 @@ msgstr "" "Используйте кодировку шаблона базы данных или выберите в качестве шаблона " "template0." -#: commands/dbcommands.c:1080 +#: commands/dbcommands.c:1136 #, c-format msgid "" "new collation (%s) is incompatible with the collation of the template " @@ -8068,7 +8241,7 @@ msgstr "" "новое правило сортировки (%s) несовместимо с правилом в шаблоне базы данных " "(%s)" -#: commands/dbcommands.c:1082 +#: commands/dbcommands.c:1138 #, c-format msgid "" "Use the same collation as in the template database, or use template0 as " @@ -8077,7 +8250,7 @@ msgstr "" "Используйте то же правило сортировки, что и в шаблоне базы данных, или " "выберите в качестве шаблона template0." -#: commands/dbcommands.c:1087 +#: commands/dbcommands.c:1143 #, c-format msgid "" "new LC_CTYPE (%s) is incompatible with the LC_CTYPE of the template database " @@ -8086,7 +8259,7 @@ msgstr "" "новый параметр LC_CTYPE (%s) несовместим с LC_CTYPE в шаблоне базы данных " "(%s)" -#: commands/dbcommands.c:1089 +#: commands/dbcommands.c:1145 #, c-format msgid "" "Use the same LC_CTYPE as in the template database, or use template0 as " @@ -8095,7 +8268,7 @@ msgstr "" "Используйте тот же LC_CTYPE, что и в шаблоне базы данных, или выберите в " "качестве шаблона template0." -#: commands/dbcommands.c:1094 +#: commands/dbcommands.c:1150 #, c-format msgid "" "new locale provider (%s) does not match locale provider of the template " @@ -8104,7 +8277,7 @@ msgstr "" "новый провайдер локали (%s) не соответствует провайдеру локали в базе-" "шаблоне (%s)" -#: commands/dbcommands.c:1096 +#: commands/dbcommands.c:1152 #, c-format msgid "" "Use the same locale provider as in the template database, or use template0 " @@ -8113,14 +8286,14 @@ msgstr "" "Используйте тот же провайдер локали, что и в базе-шаблоне, или выберите в " "качестве шаблона template0." -#: commands/dbcommands.c:1105 +#: commands/dbcommands.c:1164 #, c-format msgid "" "new ICU locale (%s) is incompatible with the ICU locale of the template " "database (%s)" msgstr "новая локаль ICU (%s) несовместима с локалью ICU в базе-шаблоне (%s)" -#: commands/dbcommands.c:1107 +#: commands/dbcommands.c:1166 #, c-format msgid "" "Use the same ICU locale as in the template database, or use template0 as " @@ -8129,7 +8302,25 @@ msgstr "" "Используйте ту же локаль ICU, что и в базе-шаблоне, или выберите в качестве " "шаблона template0." -#: commands/dbcommands.c:1130 +#: 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 "" +"новые правила сортировки ICU (%s) несовместимы с правилами сортировки в " +"шаблоне базы данных (%s)" + +#: commands/dbcommands.c:1179 +#, c-format +msgid "" +"Use the same ICU collation rules as in the template database, or use " +"template0 as template." +msgstr "" +"Используйте те же правила сортировки, что и в шаблоне базы данных, или " +"выберите в качестве шаблона template0." + +#: commands/dbcommands.c:1202 #, c-format msgid "" "template database \"%s\" has a collation version, but no actual collation " @@ -8138,13 +8329,13 @@ msgstr "" "в шаблоне \"%s\" имеется версия правила сортировки, но фактическую версию " "правила сортировки определить нельзя" -#: commands/dbcommands.c:1135 +#: commands/dbcommands.c:1207 #, c-format msgid "template database \"%s\" has a collation version mismatch" msgstr "" "в базе-шаблоне \"%s\" обнаружено несоответствие версии правила сортировки" -#: commands/dbcommands.c:1137 +#: commands/dbcommands.c:1209 #, c-format msgid "" "The template database was created using collation version %s, but the " @@ -8153,7 +8344,7 @@ msgstr "" "База-шаблон была создана с версией правила сортировки %s, но операционная " "система предоставляет версию %s." -#: commands/dbcommands.c:1140 +#: commands/dbcommands.c:1212 #, c-format msgid "" "Rebuild all objects in the template database that use the default collation " @@ -8164,18 +8355,18 @@ msgstr "" "сортировки, и выполните ALTER DATABASE %s REFRESH COLLATION VERSION, либо " "соберите PostgreSQL с правильной версией библиотеки." -#: commands/dbcommands.c:1176 commands/dbcommands.c:1894 +#: commands/dbcommands.c:1248 commands/dbcommands.c:1980 #, c-format msgid "pg_global cannot be used as default tablespace" msgstr "" "pg_global нельзя использовать в качестве табличного пространства по умолчанию" -#: commands/dbcommands.c:1202 +#: commands/dbcommands.c:1274 #, c-format msgid "cannot assign new default tablespace \"%s\"" msgstr "не удалось назначить новое табличное пространство по умолчанию \"%s\"" -#: commands/dbcommands.c:1204 +#: commands/dbcommands.c:1276 #, c-format msgid "" "There is a conflict because database \"%s\" already has some tables in this " @@ -8184,62 +8375,62 @@ msgstr "" "База данных \"%s\" содержит таблицы, которые уже находятся в этом табличном " "пространстве." -#: commands/dbcommands.c:1234 commands/dbcommands.c:1764 +#: commands/dbcommands.c:1306 commands/dbcommands.c:1853 #, c-format msgid "database \"%s\" already exists" msgstr "база данных \"%s\" уже существует" -#: commands/dbcommands.c:1248 +#: commands/dbcommands.c:1320 #, c-format msgid "source database \"%s\" is being accessed by other users" msgstr "исходная база \"%s\" занята другими пользователями" -#: commands/dbcommands.c:1270 +#: commands/dbcommands.c:1342 #, c-format msgid "database OID %u is already in use by database \"%s\"" msgstr "OID базы данных %u уже используется базой данных \"%s\"" -#: commands/dbcommands.c:1276 +#: commands/dbcommands.c:1348 #, c-format msgid "data directory with the specified OID %u already exists" msgstr "каталог данных с указанным OID %u уже существует" -#: commands/dbcommands.c:1447 commands/dbcommands.c:1462 +#: commands/dbcommands.c:1520 commands/dbcommands.c:1535 #, c-format msgid "encoding \"%s\" does not match locale \"%s\"" msgstr "кодировка \"%s\" не соответствует локали \"%s\"" -#: commands/dbcommands.c:1450 +#: commands/dbcommands.c:1523 #, c-format msgid "The chosen LC_CTYPE setting requires encoding \"%s\"." msgstr "Для выбранного параметра LC_CTYPE требуется кодировка \"%s\"." -#: commands/dbcommands.c:1465 +#: commands/dbcommands.c:1538 #, c-format msgid "The chosen LC_COLLATE setting requires encoding \"%s\"." msgstr "Для выбранного параметра LC_COLLATE требуется кодировка \"%s\"." -#: commands/dbcommands.c:1545 +#: commands/dbcommands.c:1619 #, c-format msgid "database \"%s\" does not exist, skipping" msgstr "база данных \"%s\" не существует, пропускается" -#: commands/dbcommands.c:1569 +#: commands/dbcommands.c:1643 #, c-format msgid "cannot drop a template database" msgstr "удалить шаблон базы данных нельзя" -#: commands/dbcommands.c:1575 +#: commands/dbcommands.c:1649 #, c-format msgid "cannot drop the currently open database" msgstr "удалить базу данных, открытую в данный момент, нельзя" -#: commands/dbcommands.c:1588 +#: commands/dbcommands.c:1662 #, c-format msgid "database \"%s\" is used by an active logical replication slot" msgstr "база \"%s\" используется активным слотом логической репликации" -#: commands/dbcommands.c:1590 +#: commands/dbcommands.c:1664 #, c-format msgid "There is %d active slot." msgid_plural "There are %d active slots." @@ -8247,12 +8438,12 @@ msgstr[0] "Обнаружен %d активный слот." msgstr[1] "Обнаружены %d активных слота." msgstr[2] "Обнаружено %d активных слотов." -#: commands/dbcommands.c:1604 +#: commands/dbcommands.c:1678 #, c-format msgid "database \"%s\" is being used by logical replication subscription" msgstr "база \"%s\" используется в подписке с логической репликацией" -#: commands/dbcommands.c:1606 +#: commands/dbcommands.c:1680 #, c-format msgid "There is %d subscription." msgid_plural "There are %d subscriptions." @@ -8260,36 +8451,36 @@ msgstr[0] "Обнаружена %d подписка." msgstr[1] "Обнаружены %d подписки." msgstr[2] "Обнаружено %d подписок." -#: commands/dbcommands.c:1627 commands/dbcommands.c:1786 -#: commands/dbcommands.c:1916 +#: commands/dbcommands.c:1701 commands/dbcommands.c:1875 +#: commands/dbcommands.c:2002 #, c-format msgid "database \"%s\" is being accessed by other users" msgstr "база данных \"%s\" занята другими пользователями" -#: commands/dbcommands.c:1746 +#: commands/dbcommands.c:1835 #, c-format msgid "permission denied to rename database" msgstr "нет прав на переименование базы данных" -#: commands/dbcommands.c:1775 +#: commands/dbcommands.c:1864 #, c-format msgid "current database cannot be renamed" msgstr "нельзя переименовать текущую базу данных" -#: commands/dbcommands.c:1872 +#: commands/dbcommands.c:1958 #, c-format msgid "cannot change the tablespace of the currently open database" msgstr "" "изменить табличное пространство открытой в данный момент базы данных нельзя" -#: commands/dbcommands.c:1978 +#: commands/dbcommands.c:2064 #, c-format msgid "some relations of database \"%s\" are already in tablespace \"%s\"" msgstr "" "некоторые отношения базы данных \"%s\" уже находятся в табличном " "пространстве \"%s\"" -#: commands/dbcommands.c:1980 +#: commands/dbcommands.c:2066 #, c-format msgid "" "You must move them back to the database's default tablespace before using " @@ -8298,33 +8489,38 @@ msgstr "" "Прежде чем выполнять эту команду, вы должны вернуть их назад в табличное " "пространство по умолчанию для этой базы данных." -#: commands/dbcommands.c:2107 commands/dbcommands.c:2818 -#: commands/dbcommands.c:3082 commands/dbcommands.c:3196 +#: 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 "в старом каталоге базы данных \"%s\" могли остаться ненужные файлы" -#: commands/dbcommands.c:2168 +#: commands/dbcommands.c:2254 #, c-format msgid "unrecognized DROP DATABASE option \"%s\"" msgstr "нераспознанный параметр DROP DATABASE: \"%s\"" -#: commands/dbcommands.c:2246 +#: commands/dbcommands.c:2332 #, c-format msgid "option \"%s\" cannot be specified with other options" msgstr "параметр \"%s\" нельзя задать с другими параметрами" -#: commands/dbcommands.c:2302 +#: commands/dbcommands.c:2379 +#, c-format +msgid "cannot alter invalid database \"%s\"" +msgstr "изменить свойства некорректной базы \"%s\" нельзя" + +#: commands/dbcommands.c:2396 #, c-format msgid "cannot disallow connections for current database" msgstr "запретить подключения к текущей базе данных нельзя" -#: commands/dbcommands.c:2521 +#: commands/dbcommands.c:2611 #, c-format msgid "permission denied to change owner of database" msgstr "нет прав на изменение владельца базы данных" -#: commands/dbcommands.c:2924 +#: commands/dbcommands.c:3015 #, c-format msgid "" "There are %d other session(s) and %d prepared transaction(s) using the " @@ -8333,7 +8529,7 @@ msgstr "" "С этой базой данных связаны другие сеансы (%d) и подготовленные транзакции " "(%d)." -#: commands/dbcommands.c:2927 +#: 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." @@ -8341,7 +8537,7 @@ msgstr[0] "Эта база данных используется ещё в %d с msgstr[1] "Эта база данных используется ещё в %d сеансах." msgstr[2] "Эта база данных используется ещё в %d сеансах." -#: commands/dbcommands.c:2932 storage/ipc/procarray.c:3825 +#: commands/dbcommands.c:3023 storage/ipc/procarray.c:3798 #, c-format msgid "There is %d prepared transaction using the database." msgid_plural "There are %d prepared transactions using the database." @@ -8349,13 +8545,13 @@ msgstr[0] "С этой базой данных связана %d подгото msgstr[1] "С этой базой данных связаны %d подготовленные транзакции." msgstr[2] "С этой базой данных связаны %d подготовленных транзакций." -#: commands/dbcommands.c:3038 +#: commands/dbcommands.c:3165 #, c-format msgid "missing directory \"%s\"" msgstr "отсутствует каталог \"%s\"" -#: commands/dbcommands.c:3098 commands/tablespace.c:190 -#: commands/tablespace.c:654 +#: commands/dbcommands.c:3223 commands/tablespace.c:190 +#: commands/tablespace.c:639 #, c-format msgid "could not stat directory \"%s\": %m" msgstr "не удалось получить информацию о каталоге \"%s\": %m" @@ -8397,30 +8593,30 @@ msgstr "аргументом %s должно быть имя типа" msgid "invalid argument for %s: \"%s\"" msgstr "неверный аргумент для %s: \"%s\"" -#: commands/dropcmds.c:100 commands/functioncmds.c:1394 -#: utils/adt/ruleutils.c:2908 +#: commands/dropcmds.c:101 commands/functioncmds.c:1387 +#: utils/adt/ruleutils.c:2897 #, c-format msgid "\"%s\" is an aggregate function" msgstr "функция \"%s\" является агрегатной" -#: commands/dropcmds.c:102 +#: commands/dropcmds.c:103 #, c-format msgid "Use DROP AGGREGATE to drop aggregate functions." msgstr "Используйте DROP AGGREGATE для удаления агрегатных функций." -#: commands/dropcmds.c:158 commands/sequence.c:475 commands/tablecmds.c:3613 -#: commands/tablecmds.c:3771 commands/tablecmds.c:3823 -#: commands/tablecmds.c:16435 tcop/utility.c:1332 +#: 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 #, c-format msgid "relation \"%s\" does not exist, skipping" msgstr "отношение \"%s\" не существует, пропускается" -#: commands/dropcmds.c:188 commands/dropcmds.c:287 commands/tablecmds.c:1278 +#: commands/dropcmds.c:188 commands/dropcmds.c:287 commands/tablecmds.c:1285 #, c-format msgid "schema \"%s\" does not exist, skipping" msgstr "схема \"%s\" не существует, пропускается" -#: commands/dropcmds.c:228 commands/dropcmds.c:267 commands/tablecmds.c:276 +#: commands/dropcmds.c:228 commands/dropcmds.c:267 commands/tablecmds.c:277 #, c-format msgid "type \"%s\" does not exist, skipping" msgstr "тип \"%s\" не существует, пропускается" @@ -8440,7 +8636,7 @@ msgstr "правило сортировки \"%s\" не существует, п msgid "conversion \"%s\" does not exist, skipping" msgstr "преобразование \"%s\" не существует, пропускается" -#: commands/dropcmds.c:293 commands/statscmds.c:655 +#: commands/dropcmds.c:293 commands/statscmds.c:654 #, c-format msgid "statistics object \"%s\" does not exist, skipping" msgstr "объект статистики \"%s\" не существует, пропускается" @@ -8595,18 +8791,23 @@ msgstr "для %s событийные триггеры не поддержив msgid "filter variable \"%s\" specified more than once" msgstr "переменная фильтра \"%s\" указана больше одного раза" -#: commands/event_trigger.c:377 commands/event_trigger.c:421 -#: commands/event_trigger.c:515 +#: commands/event_trigger.c:376 commands/event_trigger.c:420 +#: commands/event_trigger.c:514 #, c-format msgid "event trigger \"%s\" does not exist" msgstr "событийный триггер \"%s\" не существует" -#: commands/event_trigger.c:483 +#: commands/event_trigger.c:452 +#, c-format +msgid "event trigger with OID %u does not exist" +msgstr "событийный триггер с OID %u не существует" + +#: commands/event_trigger.c:482 #, c-format msgid "permission denied to change owner of event trigger \"%s\"" msgstr "нет прав на изменение владельца событийного триггера \"%s\"" -#: commands/event_trigger.c:485 +#: commands/event_trigger.c:484 #, c-format msgid "The owner of an event trigger must be a superuser." msgstr "Владельцем событийного триггера должен быть суперпользователь." @@ -8616,105 +8817,112 @@ msgstr "Владельцем событийного триггера долже msgid "%s can only be called in a sql_drop event trigger function" msgstr "%s можно вызывать только в событийной триггерной функции sql_drop" -#: commands/event_trigger.c:1400 commands/event_trigger.c:1421 +#: commands/event_trigger.c:1397 commands/event_trigger.c:1418 #, c-format msgid "%s can only be called in a table_rewrite event trigger function" msgstr "%s можно вызывать только в событийной триггерной функции table_rewrite" -#: commands/event_trigger.c:1834 +#: commands/event_trigger.c:1831 #, c-format msgid "%s can only be called in an event trigger function" msgstr "%s можно вызывать только в событийной триггерной функции" -#: commands/explain.c:218 +#: commands/explain.c:220 #, c-format msgid "unrecognized value for EXPLAIN option \"%s\": \"%s\"" msgstr "нераспознанное значение параметра EXPLAIN \"%s\": \"%s\"" -#: commands/explain.c:225 +#: commands/explain.c:227 #, c-format msgid "unrecognized EXPLAIN option \"%s\"" msgstr "нераспознанный параметр EXPLAIN: \"%s\"" -#: commands/explain.c:233 +#: commands/explain.c:236 #, c-format msgid "EXPLAIN option WAL requires ANALYZE" msgstr "параметр WAL оператора EXPLAIN требует указания ANALYZE" -#: commands/explain.c:242 +#: commands/explain.c:245 #, c-format msgid "EXPLAIN option TIMING requires ANALYZE" msgstr "параметр TIMING оператора EXPLAIN требует указания ANALYZE" -#: commands/extension.c:173 commands/extension.c:2936 +#: commands/explain.c:251 +#, c-format +msgid "EXPLAIN options ANALYZE and GENERIC_PLAN cannot be used together" +msgstr "" +"параметры ANALYZE и GENERIC_PLAN оператора EXPLAIN нельзя использовать " +"одновременно" + +#: commands/extension.c:177 commands/extension.c:3033 #, c-format msgid "extension \"%s\" does not exist" msgstr "расширение \"%s\" не существует" -#: commands/extension.c:272 commands/extension.c:281 commands/extension.c:293 -#: commands/extension.c:303 +#: commands/extension.c:276 commands/extension.c:285 commands/extension.c:297 +#: commands/extension.c:307 #, c-format msgid "invalid extension name: \"%s\"" msgstr "неверное имя расширения: \"%s\"" -#: commands/extension.c:273 +#: commands/extension.c:277 #, c-format msgid "Extension names must not be empty." msgstr "Имя расширения не может быть пустым." -#: commands/extension.c:282 +#: commands/extension.c:286 #, c-format msgid "Extension names must not contain \"--\"." msgstr "Имя расширения не может содержать \"--\"." -#: commands/extension.c:294 +#: commands/extension.c:298 #, c-format msgid "Extension names must not begin or end with \"-\"." msgstr "Имя расширения не может начинаться или заканчиваться символом \"-\"." -#: commands/extension.c:304 +#: commands/extension.c:308 #, c-format msgid "Extension names must not contain directory separator characters." msgstr "Имя расширения не может содержать разделители пути." -#: commands/extension.c:319 commands/extension.c:328 commands/extension.c:337 -#: commands/extension.c:347 +#: commands/extension.c:323 commands/extension.c:332 commands/extension.c:341 +#: commands/extension.c:351 #, c-format msgid "invalid extension version name: \"%s\"" msgstr "неверный идентификатор версии расширения: \"%s\"" -#: commands/extension.c:320 +#: commands/extension.c:324 #, c-format msgid "Version names must not be empty." msgstr "Идентификатор версии не может быть пустым." -#: commands/extension.c:329 +#: commands/extension.c:333 #, c-format msgid "Version names must not contain \"--\"." msgstr "Идентификатор версии не может содержать \"--\"." -#: commands/extension.c:338 +#: commands/extension.c:342 #, c-format msgid "Version names must not begin or end with \"-\"." msgstr "" "Идентификатор версии не может начинаться или заканчиваться символом \"-\"." -#: commands/extension.c:348 +#: commands/extension.c:352 #, c-format msgid "Version names must not contain directory separator characters." msgstr "Идентификатор версии не может содержать разделители пути." -#: commands/extension.c:502 +#: commands/extension.c:506 #, c-format msgid "extension \"%s\" is not available" msgstr "расширение \"%s\" отсутствует" -#: commands/extension.c:503 +#: commands/extension.c:507 #, c-format msgid "Could not open extension control file \"%s\": %m." msgstr "Не удалось открыть управляющий файл расширения \"%s\": %m." -#: commands/extension.c:505 +#: commands/extension.c:509 #, c-format msgid "" "The extension must first be installed on the system where PostgreSQL is " @@ -8722,84 +8930,99 @@ msgid "" msgstr "" "Сначала расширение нужно установить в системе, где работает PostgreSQL." -#: commands/extension.c:509 +#: commands/extension.c:513 #, c-format msgid "could not open extension control file \"%s\": %m" msgstr "не удалось открыть управляющий файл расширения \"%s\": %m" -#: commands/extension.c:531 commands/extension.c:541 +#: commands/extension.c:536 commands/extension.c:546 #, c-format msgid "parameter \"%s\" cannot be set in a secondary extension control file" msgstr "" "параметр \"%s\" нельзя задавать в дополнительном управляющем файле расширения" -#: commands/extension.c:563 commands/extension.c:571 commands/extension.c:579 -#: utils/misc/guc.c:7380 +#: commands/extension.c:568 commands/extension.c:576 commands/extension.c:584 +#: utils/misc/guc.c:3098 #, c-format msgid "parameter \"%s\" requires a Boolean value" msgstr "параметр \"%s\" требует логическое значение" -#: commands/extension.c:588 +#: commands/extension.c:593 #, c-format msgid "\"%s\" is not a valid encoding name" msgstr "\"%s\" не является верным названием кодировки" -#: commands/extension.c:602 +#: commands/extension.c:607 commands/extension.c:622 #, c-format msgid "parameter \"%s\" must be a list of extension names" msgstr "параметр \"%s\" должен содержать список имён расширений" -#: commands/extension.c:609 +#: commands/extension.c:629 #, c-format msgid "unrecognized parameter \"%s\" in file \"%s\"" msgstr "нераспознанный параметр \"%s\" в файле \"%s\"" -#: commands/extension.c:618 +#: commands/extension.c:638 #, c-format msgid "parameter \"schema\" cannot be specified when \"relocatable\" is true" msgstr "" "параметр \"schema\" не может быть указан вместе с \"relocatable\" = true" -#: commands/extension.c:796 +#: commands/extension.c:816 #, c-format msgid "" "transaction control statements are not allowed within an extension script" msgstr "в скрипте расширения не должно быть операторов управления транзакциями" -#: commands/extension.c:873 +#: commands/extension.c:896 #, c-format msgid "permission denied to create extension \"%s\"" msgstr "нет прав на создание расширения \"%s\"" -#: commands/extension.c:876 +#: commands/extension.c:899 #, c-format msgid "" "Must have CREATE privilege on current database to create this extension." msgstr "Для создания этого расширения нужно иметь право CREATE в текущей базе." -#: commands/extension.c:877 +#: commands/extension.c:900 #, c-format msgid "Must be superuser to create this extension." msgstr "Для создания этого расширения нужно быть суперпользователем." -#: commands/extension.c:881 +#: commands/extension.c:904 #, c-format msgid "permission denied to update extension \"%s\"" msgstr "нет прав на изменение расширения \"%s\"" -#: commands/extension.c:884 +#: commands/extension.c:907 #, c-format msgid "" "Must have CREATE privilege on current database to update this extension." msgstr "" "Для обновления этого расширения нужно иметь право CREATE в текущей базе." -#: commands/extension.c:885 +#: commands/extension.c:908 #, c-format msgid "Must be superuser to update this extension." msgstr "Для изменения этого расширения нужно быть суперпользователем." -#: commands/extension.c:1216 +#: commands/extension.c:1046 +#, c-format +msgid "invalid character in extension owner: must not contain any of \"%s\"" +msgstr "" +"недопустимый символ в имени владельца расширения: имя не должно содержать " +"\"%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 "" +"недопустимый символ в имени схемы расширения \"%s\": имя не должно содержать " +"\"%s\"" + +#: commands/extension.c:1292 #, c-format msgid "" "extension \"%s\" has no update path from version \"%s\" to version \"%s\"" @@ -8807,12 +9030,12 @@ msgstr "" "для расширения \"%s\" не определён путь обновления с версии \"%s\" до версии " "\"%s\"" -#: commands/extension.c:1424 commands/extension.c:2994 +#: commands/extension.c:1500 commands/extension.c:3091 #, c-format msgid "version to install must be specified" msgstr "нужно указать версию для установки" -#: commands/extension.c:1461 +#: commands/extension.c:1537 #, c-format msgid "" "extension \"%s\" has no installation script nor update path for version " @@ -8821,71 +9044,71 @@ msgstr "" "для расширения \"%s\" не определён путь установки или обновления для версии " "\"%s\"" -#: commands/extension.c:1495 +#: commands/extension.c:1571 #, c-format msgid "extension \"%s\" must be installed in schema \"%s\"" msgstr "расширение \"%s\" должно устанавливаться в схему \"%s\"" -#: commands/extension.c:1655 +#: commands/extension.c:1731 #, c-format msgid "cyclic dependency detected between extensions \"%s\" and \"%s\"" msgstr "выявлена циклическая зависимость между расширениями \"%s\" и \"%s\"" -#: commands/extension.c:1660 +#: commands/extension.c:1736 #, c-format msgid "installing required extension \"%s\"" msgstr "установка требуемого расширения \"%s\"" -#: commands/extension.c:1683 +#: commands/extension.c:1759 #, c-format msgid "required extension \"%s\" is not installed" msgstr "требуемое расширение \"%s\" не установлено" -#: commands/extension.c:1686 +#: commands/extension.c:1762 #, c-format msgid "Use CREATE EXTENSION ... CASCADE to install required extensions too." msgstr "" "Выполните CREATE EXTENSION ... CASCADE, чтобы установить также требуемые " "расширения." -#: commands/extension.c:1721 +#: commands/extension.c:1797 #, c-format msgid "extension \"%s\" already exists, skipping" msgstr "расширение \"%s\" уже существует, пропускается" -#: commands/extension.c:1728 +#: commands/extension.c:1804 #, c-format msgid "extension \"%s\" already exists" msgstr "расширение \"%s\" уже существует" -#: commands/extension.c:1739 +#: commands/extension.c:1815 #, c-format msgid "nested CREATE EXTENSION is not supported" msgstr "вложенные операторы CREATE EXTENSION не поддерживаются" -#: commands/extension.c:1903 +#: commands/extension.c:1979 #, c-format msgid "cannot drop extension \"%s\" because it is being modified" msgstr "удалить расширение \"%s\" нельзя, так как это модифицируемый объект" -#: commands/extension.c:2380 +#: commands/extension.c:2454 #, c-format msgid "%s can only be called from an SQL script executed by CREATE EXTENSION" msgstr "" "%s можно вызывать только из SQL-скрипта, запускаемого командой CREATE " "EXTENSION" -#: commands/extension.c:2392 +#: commands/extension.c:2466 #, c-format msgid "OID %u does not refer to a table" msgstr "OID %u не относится к таблице" -#: commands/extension.c:2397 +#: commands/extension.c:2471 #, c-format msgid "table \"%s\" is not a member of the extension being created" msgstr "таблица \"%s\" не относится к созданному расширению" -#: commands/extension.c:2751 +#: commands/extension.c:2817 #, c-format msgid "" "cannot move extension \"%s\" into schema \"%s\" because the extension " @@ -8894,32 +9117,45 @@ msgstr "" "переместить расширение \"%s\" в схему \"%s\" нельзя, так как оно содержит " "схему" -#: commands/extension.c:2792 commands/extension.c:2855 +#: commands/extension.c:2858 commands/extension.c:2952 #, c-format msgid "extension \"%s\" does not support SET SCHEMA" msgstr "расширение \"%s\" не поддерживает SET SCHEMA" -#: commands/extension.c:2857 +#: commands/extension.c:2915 +#, c-format +msgid "" +"cannot SET SCHEMA of extension \"%s\" because other extensions prevent it" +msgstr "" +"выполнить SET SCHEMA для расширения \"%s\" нельзя, так как этому " +"препятствуют другие расширения" + +#: commands/extension.c:2917 +#, c-format +msgid "Extension \"%s\" requests no relocation of extension \"%s\"." +msgstr "Расширение \"%s\" не допускает перемещения расширения \"%s\"." + +#: commands/extension.c:2954 #, c-format msgid "%s is not in the extension's schema \"%s\"" msgstr "объект %s не принадлежит схеме расширения \"%s\"" -#: commands/extension.c:2916 +#: commands/extension.c:3013 #, c-format msgid "nested ALTER EXTENSION is not supported" msgstr "вложенные операторы ALTER EXTENSION не поддерживаются" -#: commands/extension.c:3005 +#: commands/extension.c:3102 #, c-format msgid "version \"%s\" of extension \"%s\" is already installed" msgstr "версия \"%s\" расширения \"%s\" уже установлена" -#: commands/extension.c:3217 +#: commands/extension.c:3314 #, c-format msgid "cannot add an object of this type to an extension" msgstr "добавить объект этого типа к расширению нельзя" -#: commands/extension.c:3283 +#: commands/extension.c:3380 #, c-format msgid "" "cannot add schema \"%s\" to extension \"%s\" because the schema contains the " @@ -8928,7 +9164,7 @@ msgstr "" "добавить схему \"%s\" к расширению \"%s\" нельзя, так как схема содержит " "расширение" -#: commands/extension.c:3377 +#: commands/extension.c:3474 #, c-format msgid "file \"%s\" is too large" msgstr "файл \"%s\" слишком большой" @@ -8959,11 +9195,21 @@ msgstr "" msgid "The owner of a foreign-data wrapper must be a superuser." msgstr "Владельцем обёртки сторонних данных должен быть суперпользователь." -#: commands/foreigncmds.c:291 commands/foreigncmds.c:707 foreign/foreign.c:669 +#: commands/foreigncmds.c:291 commands/foreigncmds.c:707 foreign/foreign.c:678 #, c-format msgid "foreign-data wrapper \"%s\" does not exist" msgstr "обёртка сторонних данных \"%s\" не существует" +#: commands/foreigncmds.c:325 +#, c-format +msgid "foreign-data wrapper with OID %u does not exist" +msgstr "обёртка сторонних данных с OID %u не существует" + +#: commands/foreigncmds.c:462 +#, c-format +msgid "foreign server with OID %u does not exist" +msgstr "сторонний сервер с OID %u не существует" + #: commands/foreigncmds.c:580 #, c-format msgid "permission denied to create foreign-data wrapper \"%s\"" @@ -9031,7 +9277,7 @@ msgstr "" "сопоставление пользователя \"%s\" для сервера \"%s\" не существует, " "пропускается" -#: commands/foreigncmds.c:1507 foreign/foreign.c:390 +#: commands/foreigncmds.c:1507 foreign/foreign.c:391 #, c-format msgid "foreign-data wrapper \"%s\" has no handler" msgstr "обёртка сторонних данных \"%s\" не имеет обработчика" @@ -9056,141 +9302,141 @@ msgstr "SQL-функция не может возвращать тип-пуст msgid "return type %s is only a shell" msgstr "возвращаемый тип %s - лишь пустышка" -#: commands/functioncmds.c:144 parser/parse_type.c:354 +#: commands/functioncmds.c:143 parser/parse_type.c:354 #, c-format msgid "type modifier cannot be specified for shell type \"%s\"" msgstr "для типа-пустышки \"%s\" нельзя указать модификатор типа" -#: commands/functioncmds.c:150 +#: commands/functioncmds.c:149 #, c-format msgid "type \"%s\" is not yet defined" msgstr "тип \"%s\" ещё не определён" -#: commands/functioncmds.c:151 +#: commands/functioncmds.c:150 #, c-format msgid "Creating a shell type definition." msgstr "Создание определения типа-пустышки." -#: commands/functioncmds.c:250 +#: commands/functioncmds.c:249 #, c-format msgid "SQL function cannot accept shell type %s" msgstr "SQL-функция не может принимать значение типа-пустышки %s" -#: commands/functioncmds.c:256 +#: commands/functioncmds.c:255 #, c-format msgid "aggregate cannot accept shell type %s" msgstr "агрегатная функция не может принимать значение типа-пустышки %s" -#: commands/functioncmds.c:261 +#: commands/functioncmds.c:260 #, c-format msgid "argument type %s is only a shell" msgstr "тип аргумента %s - лишь пустышка" -#: commands/functioncmds.c:271 +#: commands/functioncmds.c:270 #, c-format msgid "type %s does not exist" msgstr "тип %s не существует" -#: commands/functioncmds.c:285 +#: commands/functioncmds.c:284 #, c-format msgid "aggregates cannot accept set arguments" msgstr "агрегатные функции не принимают в аргументах множества" -#: commands/functioncmds.c:289 +#: commands/functioncmds.c:288 #, c-format msgid "procedures cannot accept set arguments" msgstr "процедуры не принимают в аргументах множества" -#: commands/functioncmds.c:293 +#: commands/functioncmds.c:292 #, c-format msgid "functions cannot accept set arguments" msgstr "функции не принимают аргументы-множества" -#: commands/functioncmds.c:303 +#: commands/functioncmds.c:302 #, c-format msgid "VARIADIC parameter must be the last input parameter" msgstr "параметр VARIADIC должен быть последним в списке входных параметров" -#: commands/functioncmds.c:323 +#: commands/functioncmds.c:322 #, c-format msgid "VARIADIC parameter must be the last parameter" msgstr "параметр VARIADIC должен быть последним в списке параметров" -#: commands/functioncmds.c:348 +#: commands/functioncmds.c:347 #, c-format msgid "VARIADIC parameter must be an array" msgstr "параметр VARIADIC должен быть массивом" -#: commands/functioncmds.c:393 +#: commands/functioncmds.c:392 #, c-format msgid "parameter name \"%s\" used more than once" msgstr "имя параметра \"%s\" указано неоднократно" -#: commands/functioncmds.c:411 +#: commands/functioncmds.c:410 #, c-format msgid "only input parameters can have default values" msgstr "значения по умолчанию могут быть только у входных параметров" -#: commands/functioncmds.c:426 +#: commands/functioncmds.c:425 #, c-format msgid "cannot use table references in parameter default value" msgstr "в значениях параметров по умолчанию нельзя ссылаться на таблицы" -#: commands/functioncmds.c:450 +#: commands/functioncmds.c:449 #, c-format msgid "input parameters after one with a default value must also have defaults" msgstr "" "входные параметры, следующие за параметром со значением по умолчанию, также " "должны иметь значения по умолчанию" -#: commands/functioncmds.c:460 +#: commands/functioncmds.c:459 #, c-format msgid "procedure OUT parameters cannot appear after one with a default value" msgstr "" "в объявлении процедуры параметры OUT не могут находиться после параметра со " "значением по умолчанию" -#: commands/functioncmds.c:605 commands/functioncmds.c:784 +#: commands/functioncmds.c:601 commands/functioncmds.c:780 #, c-format msgid "invalid attribute in procedure definition" msgstr "некорректный атрибут в определении процедуры" -#: commands/functioncmds.c:701 +#: commands/functioncmds.c:697 #, c-format msgid "support function %s must return type %s" msgstr "вспомогательная функция %s должна возвращать тип %s" -#: commands/functioncmds.c:712 +#: commands/functioncmds.c:708 #, c-format msgid "must be superuser to specify a support function" msgstr "для указания вспомогательной функции нужно быть суперпользователем" -#: commands/functioncmds.c:833 commands/functioncmds.c:1439 +#: commands/functioncmds.c:829 commands/functioncmds.c:1432 #, c-format msgid "COST must be positive" msgstr "значение COST должно быть положительным" -#: commands/functioncmds.c:841 commands/functioncmds.c:1447 +#: commands/functioncmds.c:837 commands/functioncmds.c:1440 #, c-format msgid "ROWS must be positive" msgstr "значение ROWS должно быть положительным" -#: commands/functioncmds.c:870 +#: commands/functioncmds.c:866 #, c-format msgid "no function body specified" msgstr "не указано тело функции" -#: commands/functioncmds.c:875 +#: commands/functioncmds.c:871 #, c-format msgid "duplicate function body specified" msgstr "тело функции задано неоднократно" -#: commands/functioncmds.c:880 +#: commands/functioncmds.c:876 #, c-format msgid "inline SQL function body only valid for language SQL" msgstr "встроенное тело функции SQL допускается только для языка SQL" -#: commands/functioncmds.c:922 +#: commands/functioncmds.c:918 #, c-format msgid "" "SQL function with unquoted function body cannot have polymorphic arguments" @@ -9198,84 +9444,84 @@ msgstr "" "у SQL-функции с телом, задаваемым не в кавычках, не может быть полиморфных " "аргументов" -#: commands/functioncmds.c:948 commands/functioncmds.c:967 +#: commands/functioncmds.c:944 commands/functioncmds.c:963 #, c-format msgid "%s is not yet supported in unquoted SQL function body" msgstr "" "%s на данный момент не поддерживается в теле SQL-функции, задаваемом не в " "кавычках" -#: commands/functioncmds.c:995 +#: commands/functioncmds.c:991 #, c-format msgid "only one AS item needed for language \"%s\"" msgstr "для языка \"%s\" нужно только одно выражение AS" -#: commands/functioncmds.c:1100 +#: commands/functioncmds.c:1096 #, c-format msgid "no language specified" msgstr "язык не указан" -#: commands/functioncmds.c:1108 commands/functioncmds.c:2109 +#: commands/functioncmds.c:1104 commands/functioncmds.c:2105 #: commands/proclang.c:237 #, c-format msgid "language \"%s\" does not exist" msgstr "язык \"%s\" не существует" -#: commands/functioncmds.c:1110 commands/functioncmds.c:2111 +#: commands/functioncmds.c:1106 commands/functioncmds.c:2107 #, c-format msgid "Use CREATE EXTENSION to load the language into the database." msgstr "Выполните CREATE EXTENSION, чтобы загрузить язык в базу данных." -#: commands/functioncmds.c:1145 commands/functioncmds.c:1431 +#: commands/functioncmds.c:1139 commands/functioncmds.c:1424 #, c-format msgid "only superuser can define a leakproof function" msgstr "" "только суперпользователь может определить функцию с атрибутом LEAKPROOF" -#: commands/functioncmds.c:1196 +#: commands/functioncmds.c:1190 #, c-format msgid "function result type must be %s because of OUT parameters" msgstr "" "результат функции должен иметь тип %s (в соответствии с параметрами OUT)" -#: commands/functioncmds.c:1209 +#: commands/functioncmds.c:1203 #, c-format msgid "function result type must be specified" msgstr "необходимо указать тип результата функции" -#: commands/functioncmds.c:1263 commands/functioncmds.c:1451 +#: commands/functioncmds.c:1256 commands/functioncmds.c:1444 #, c-format msgid "ROWS is not applicable when function does not return a set" msgstr "указание ROWS неприменимо, когда функция возвращает не множество" -#: commands/functioncmds.c:1552 +#: commands/functioncmds.c:1547 #, c-format msgid "source data type %s is a pseudo-type" msgstr "исходный тип данных %s является псевдотипом" -#: commands/functioncmds.c:1558 +#: commands/functioncmds.c:1553 #, c-format msgid "target data type %s is a pseudo-type" msgstr "целевой тип данных %s является псевдотипом" -#: commands/functioncmds.c:1582 +#: commands/functioncmds.c:1577 #, c-format msgid "cast will be ignored because the source data type is a domain" msgstr "" "приведение будет проигнорировано, так как исходные данные имеют тип домен" -#: commands/functioncmds.c:1587 +#: commands/functioncmds.c:1582 #, c-format msgid "cast will be ignored because the target data type is a domain" msgstr "" "приведение будет проигнорировано, так как целевые данные имеют тип домен" -#: commands/functioncmds.c:1612 +#: commands/functioncmds.c:1607 #, c-format msgid "cast function must take one to three arguments" msgstr "функция приведения должна принимать от одного до трёх аргументов" -#: commands/functioncmds.c:1616 +#: commands/functioncmds.c:1613 #, c-format msgid "" "argument of cast function must match or be binary-coercible from source data " @@ -9284,17 +9530,17 @@ msgstr "" "аргумент функции приведения должен совпадать или быть двоично-совместимым с " "исходным типом данных" -#: commands/functioncmds.c:1620 +#: commands/functioncmds.c:1617 #, c-format msgid "second argument of cast function must be type %s" msgstr "второй аргумент функции приведения должен иметь тип %s" -#: commands/functioncmds.c:1625 +#: commands/functioncmds.c:1622 #, c-format msgid "third argument of cast function must be type %s" msgstr "третий аргумент функции приведения должен иметь тип %s" -#: commands/functioncmds.c:1630 +#: commands/functioncmds.c:1629 #, c-format msgid "" "return data type of cast function must match or be binary-coercible to " @@ -9303,127 +9549,127 @@ msgstr "" "тип возвращаемых данных функции приведения должен совпадать или быть двоично-" "совместимым с целевым типом данных" -#: commands/functioncmds.c:1641 +#: commands/functioncmds.c:1640 #, c-format msgid "cast function must not be volatile" msgstr "функция приведения не может быть изменчивой (volatile)" -#: commands/functioncmds.c:1646 +#: commands/functioncmds.c:1645 #, c-format msgid "cast function must be a normal function" msgstr "функция приведения должна быть обычной функцией" -#: commands/functioncmds.c:1650 +#: commands/functioncmds.c:1649 #, c-format msgid "cast function must not return a set" msgstr "функция приведения не может возвращать множество" -#: commands/functioncmds.c:1676 +#: commands/functioncmds.c:1675 #, c-format msgid "must be superuser to create a cast WITHOUT FUNCTION" msgstr "для создания приведения WITHOUT FUNCTION нужно быть суперпользователем" -#: commands/functioncmds.c:1691 +#: commands/functioncmds.c:1690 #, c-format msgid "source and target data types are not physically compatible" msgstr "исходный и целевой типы данных несовместимы физически" -#: commands/functioncmds.c:1706 +#: commands/functioncmds.c:1705 #, c-format msgid "composite data types are not binary-compatible" msgstr "составные типы данных несовместимы на двоичном уровне" -#: commands/functioncmds.c:1712 +#: commands/functioncmds.c:1711 #, c-format msgid "enum data types are not binary-compatible" msgstr "типы-перечисления несовместимы на двоичном уровне" -#: commands/functioncmds.c:1718 +#: commands/functioncmds.c:1717 #, c-format msgid "array data types are not binary-compatible" msgstr "типы-массивы несовместимы на двоичном уровне" -#: commands/functioncmds.c:1735 +#: commands/functioncmds.c:1734 #, c-format msgid "domain data types must not be marked binary-compatible" msgstr "типы-домены не могут считаться двоично-совместимыми" -#: commands/functioncmds.c:1745 +#: commands/functioncmds.c:1744 #, c-format msgid "source data type and target data type are the same" msgstr "исходный тип данных совпадает с целевым" -#: commands/functioncmds.c:1778 +#: commands/functioncmds.c:1777 #, c-format msgid "transform function must not be volatile" msgstr "функция преобразования не может быть изменчивой" -#: commands/functioncmds.c:1782 +#: commands/functioncmds.c:1781 #, c-format msgid "transform function must be a normal function" msgstr "функция преобразования должна быть обычной функцией" -#: commands/functioncmds.c:1786 +#: commands/functioncmds.c:1785 #, c-format msgid "transform function must not return a set" msgstr "функция преобразования не может возвращать множество" -#: commands/functioncmds.c:1790 +#: commands/functioncmds.c:1789 #, c-format msgid "transform function must take one argument" msgstr "функция преобразования должна принимать один аргумент" -#: commands/functioncmds.c:1794 +#: commands/functioncmds.c:1793 #, c-format msgid "first argument of transform function must be type %s" msgstr "первый аргумент функции преобразования должен иметь тип %s" -#: commands/functioncmds.c:1833 +#: commands/functioncmds.c:1832 #, c-format msgid "data type %s is a pseudo-type" msgstr "тип данных %s является псевдотипом" -#: commands/functioncmds.c:1839 +#: commands/functioncmds.c:1838 #, c-format msgid "data type %s is a domain" msgstr "тип данных \"%s\" является доменом" -#: commands/functioncmds.c:1879 +#: commands/functioncmds.c:1878 #, c-format msgid "return data type of FROM SQL function must be %s" msgstr "результат функции FROM SQL должен иметь тип %s" -#: commands/functioncmds.c:1905 +#: commands/functioncmds.c:1904 #, c-format msgid "return data type of TO SQL function must be the transform data type" msgstr "результат функции TO SQL должен иметь тип данных преобразования" -#: commands/functioncmds.c:1934 +#: commands/functioncmds.c:1931 #, c-format msgid "transform for type %s language \"%s\" already exists" msgstr "преобразование для типа %s, языка \"%s\" уже существует" -#: commands/functioncmds.c:2021 +#: commands/functioncmds.c:2017 #, c-format msgid "transform for type %s language \"%s\" does not exist" msgstr "преобразование для типа %s, языка \"%s\" не существует" -#: commands/functioncmds.c:2045 +#: commands/functioncmds.c:2041 #, c-format msgid "function %s already exists in schema \"%s\"" msgstr "функция %s уже существует в схеме \"%s\"" -#: commands/functioncmds.c:2096 +#: commands/functioncmds.c:2092 #, c-format msgid "no inline code specified" msgstr "нет внедрённого кода" -#: commands/functioncmds.c:2142 +#: commands/functioncmds.c:2138 #, c-format msgid "language \"%s\" does not support inline code execution" msgstr "язык \"%s\" не поддерживает выполнение внедрённого кода" -#: commands/functioncmds.c:2237 +#: commands/functioncmds.c:2233 #, c-format msgid "cannot pass more than %d argument to a procedure" msgid_plural "cannot pass more than %d arguments to a procedure" @@ -9431,97 +9677,97 @@ msgstr[0] "процедуре нельзя передать больше %d ар msgstr[1] "процедуре нельзя передать больше %d аргументов" msgstr[2] "процедуре нельзя передать больше %d аргументов" -#: commands/indexcmds.c:634 +#: commands/indexcmds.c:640 #, c-format msgid "must specify at least one column" msgstr "нужно указать минимум один столбец" -#: commands/indexcmds.c:638 +#: commands/indexcmds.c:644 #, c-format msgid "cannot use more than %d columns in an index" msgstr "число столбцов в индексе не может превышать %d" -#: commands/indexcmds.c:681 +#: commands/indexcmds.c:687 #, c-format msgid "cannot create index on relation \"%s\"" msgstr "создать индекс для отношения \"%s\" нельзя" -#: commands/indexcmds.c:707 +#: commands/indexcmds.c:713 #, c-format msgid "cannot create index on partitioned table \"%s\" concurrently" msgstr "" "создать индекс в секционированной таблице \"%s\" параллельным способом нельзя" -#: commands/indexcmds.c:712 +#: commands/indexcmds.c:718 #, c-format msgid "cannot create exclusion constraints on partitioned table \"%s\"" msgstr "" "создать ограничение-исключение в секционированной таблице \"%s\" нельзя" -#: commands/indexcmds.c:722 +#: commands/indexcmds.c:728 #, c-format msgid "cannot create indexes on temporary tables of other sessions" msgstr "создавать индексы во временных таблицах других сеансов нельзя" -#: commands/indexcmds.c:760 commands/tablecmds.c:781 commands/tablespace.c:1204 +#: commands/indexcmds.c:766 commands/tablecmds.c:784 commands/tablespace.c:1184 #, c-format msgid "cannot specify default tablespace for partitioned relations" msgstr "" "для секционированных отношений нельзя назначить табличное пространство по " "умолчанию" -#: commands/indexcmds.c:792 commands/tablecmds.c:816 commands/tablecmds.c:3312 +#: commands/indexcmds.c:798 commands/tablecmds.c:819 commands/tablecmds.c:3409 #, c-format msgid "only shared relations can be placed in pg_global tablespace" msgstr "" "в табличное пространство pg_global можно поместить только разделяемые таблицы" -#: commands/indexcmds.c:825 +#: commands/indexcmds.c:831 #, c-format msgid "substituting access method \"gist\" for obsolete method \"rtree\"" msgstr "устаревший метод доступа \"rtree\" подменяется методом \"gist\"" -#: commands/indexcmds.c:846 +#: commands/indexcmds.c:852 #, c-format msgid "access method \"%s\" does not support unique indexes" msgstr "метод доступа \"%s\" не поддерживает уникальные индексы" -#: commands/indexcmds.c:851 +#: commands/indexcmds.c:857 #, c-format msgid "access method \"%s\" does not support included columns" msgstr "метод доступа \"%s\" не поддерживает включаемые столбцы" -#: commands/indexcmds.c:856 +#: commands/indexcmds.c:862 #, c-format msgid "access method \"%s\" does not support multicolumn indexes" msgstr "метод доступа \"%s\" не поддерживает индексы по многим столбцам" -#: commands/indexcmds.c:861 +#: commands/indexcmds.c:867 #, c-format msgid "access method \"%s\" does not support exclusion constraints" msgstr "метод доступа \"%s\" не поддерживает ограничения-исключения" -#: commands/indexcmds.c:986 +#: commands/indexcmds.c:994 #, c-format msgid "cannot match partition key to an index using access method \"%s\"" msgstr "" "сопоставить ключ секционирования с индексом, использующим метод доступа " "\"%s\", нельзя" -#: commands/indexcmds.c:996 +#: commands/indexcmds.c:1004 #, c-format msgid "unsupported %s constraint with partition key definition" msgstr "" "неподдерживаемое ограничение \"%s\" с определением ключа секционирования" -#: commands/indexcmds.c:998 +#: commands/indexcmds.c:1006 #, c-format msgid "%s constraints cannot be used when partition keys include expressions." msgstr "" "Ограничения %s не могут использоваться, когда ключи секционирования включают " "выражения." -#: commands/indexcmds.c:1037 +#: commands/indexcmds.c:1045 #, c-format msgid "" "unique constraint on partitioned table must include all partitioning columns" @@ -9529,7 +9775,7 @@ msgstr "" "ограничение уникальности в секционированной таблице должно включать все " "секционирующие столбцы" -#: commands/indexcmds.c:1038 +#: commands/indexcmds.c:1046 #, c-format msgid "" "%s constraint on table \"%s\" lacks column \"%s\" which is part of the " @@ -9538,92 +9784,92 @@ msgstr "" "В ограничении %s таблицы \"%s\" не хватает столбца \"%s\", входящего в ключ " "секционирования." -#: commands/indexcmds.c:1057 commands/indexcmds.c:1076 +#: commands/indexcmds.c:1065 commands/indexcmds.c:1084 #, c-format msgid "index creation on system columns is not supported" msgstr "создание индекса для системных столбцов не поддерживается" -#: commands/indexcmds.c:1276 tcop/utility.c:1518 +#: commands/indexcmds.c:1313 tcop/utility.c:1526 #, c-format msgid "cannot create unique index on partitioned table \"%s\"" msgstr "создать уникальный индекс в секционированной таблице \"%s\" нельзя" -#: commands/indexcmds.c:1278 tcop/utility.c:1520 +#: commands/indexcmds.c:1315 tcop/utility.c:1528 #, c-format msgid "Table \"%s\" contains partitions that are foreign tables." msgstr "Таблица \"%s\" содержит секции, являющиеся сторонними таблицами." -#: commands/indexcmds.c:1750 +#: commands/indexcmds.c:1827 #, c-format msgid "functions in index predicate must be marked IMMUTABLE" msgstr "функции в предикате индекса должны быть помечены как IMMUTABLE" -#: commands/indexcmds.c:1828 parser/parse_utilcmd.c:2528 -#: parser/parse_utilcmd.c:2663 +#: commands/indexcmds.c:1905 parser/parse_utilcmd.c:2513 +#: parser/parse_utilcmd.c:2648 #, c-format msgid "column \"%s\" named in key does not exist" msgstr "указанный в ключе столбец \"%s\" не существует" -#: commands/indexcmds.c:1852 parser/parse_utilcmd.c:1825 +#: commands/indexcmds.c:1929 parser/parse_utilcmd.c:1812 #, c-format msgid "expressions are not supported in included columns" msgstr "выражения во включаемых столбцах не поддерживаются" -#: commands/indexcmds.c:1893 +#: commands/indexcmds.c:1970 #, c-format msgid "functions in index expression must be marked IMMUTABLE" msgstr "функции в индексном выражении должны быть помечены как IMMUTABLE" -#: commands/indexcmds.c:1908 +#: commands/indexcmds.c:1985 #, c-format msgid "including column does not support a collation" msgstr "включаемые столбцы не поддерживают правила сортировки" -#: commands/indexcmds.c:1912 +#: commands/indexcmds.c:1989 #, c-format msgid "including column does not support an operator class" msgstr "включаемые столбцы не поддерживают классы операторов" -#: commands/indexcmds.c:1916 +#: commands/indexcmds.c:1993 #, c-format msgid "including column does not support ASC/DESC options" msgstr "включаемые столбцы не поддерживают сортировку ASC/DESC" -#: commands/indexcmds.c:1920 +#: commands/indexcmds.c:1997 #, c-format msgid "including column does not support NULLS FIRST/LAST options" msgstr "включаемые столбцы не поддерживают указания NULLS FIRST/LAST" -#: commands/indexcmds.c:1961 +#: commands/indexcmds.c:2038 #, c-format msgid "could not determine which collation to use for index expression" msgstr "не удалось определить правило сортировки для индексного выражения" -#: commands/indexcmds.c:1969 commands/tablecmds.c:17450 commands/typecmds.c:807 -#: parser/parse_expr.c:2690 parser/parse_type.c:570 parser/parse_utilcmd.c:3795 -#: utils/adt/misc.c:601 +#: 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 +#: utils/adt/misc.c:586 #, c-format msgid "collations are not supported by type %s" msgstr "тип %s не поддерживает сортировку (COLLATION)" -#: commands/indexcmds.c:2034 +#: commands/indexcmds.c:2111 #, c-format msgid "operator %s is not commutative" msgstr "оператор %s не коммутативен" -#: commands/indexcmds.c:2036 +#: commands/indexcmds.c:2113 #, c-format msgid "Only commutative operators can be used in exclusion constraints." msgstr "" "В ограничениях-исключениях могут использоваться только коммутативные " "операторы." -#: commands/indexcmds.c:2062 +#: commands/indexcmds.c:2139 #, c-format msgid "operator %s is not a member of operator family \"%s\"" msgstr "оператор \"%s\" не входит в семейство операторов \"%s\"" -#: commands/indexcmds.c:2065 +#: commands/indexcmds.c:2142 #, c-format msgid "" "The exclusion operator must be related to the index operator class for the " @@ -9632,25 +9878,25 @@ msgstr "" "Оператор исключения для ограничения должен относиться к классу операторов " "индекса." -#: commands/indexcmds.c:2100 +#: commands/indexcmds.c:2177 #, c-format msgid "access method \"%s\" does not support ASC/DESC options" msgstr "метод доступа \"%s\" не поддерживает сортировку ASC/DESC" -#: commands/indexcmds.c:2105 +#: commands/indexcmds.c:2182 #, c-format msgid "access method \"%s\" does not support NULLS FIRST/LAST options" msgstr "метод доступа \"%s\" не поддерживает параметр NULLS FIRST/LAST" -#: commands/indexcmds.c:2151 commands/tablecmds.c:17475 -#: commands/tablecmds.c:17481 commands/typecmds.c:2302 +#: commands/indexcmds.c:2228 commands/tablecmds.c:17494 +#: commands/tablecmds.c:17500 commands/typecmds.c:2301 #, c-format msgid "data type %s has no default operator class for access method \"%s\"" msgstr "" "для типа данных %s не определён класс операторов по умолчанию для метода " "доступа \"%s\"" -#: commands/indexcmds.c:2153 +#: commands/indexcmds.c:2230 #, c-format msgid "" "You must specify an operator class for the index or define a default " @@ -9659,86 +9905,86 @@ msgstr "" "Вы должны указать класс операторов для индекса или определить класс " "операторов по умолчанию для этого типа данных." -#: commands/indexcmds.c:2182 commands/indexcmds.c:2190 +#: commands/indexcmds.c:2259 commands/indexcmds.c:2267 #: commands/opclasscmds.c:205 #, c-format msgid "operator class \"%s\" does not exist for access method \"%s\"" msgstr "класс операторов \"%s\" для метода доступа \"%s\" не существует" -#: commands/indexcmds.c:2204 commands/typecmds.c:2290 +#: commands/indexcmds.c:2281 commands/typecmds.c:2289 #, c-format msgid "operator class \"%s\" does not accept data type %s" msgstr "класс операторов \"%s\" не принимает тип данных %s" -#: commands/indexcmds.c:2294 +#: commands/indexcmds.c:2371 #, c-format msgid "there are multiple default operator classes for data type %s" msgstr "" "для типа данных %s определено несколько классов операторов по умолчанию" -#: commands/indexcmds.c:2622 +#: commands/indexcmds.c:2699 #, c-format msgid "unrecognized REINDEX option \"%s\"" msgstr "нераспознанный параметр REINDEX: \"%s\"" -#: commands/indexcmds.c:2846 +#: commands/indexcmds.c:2923 #, c-format msgid "table \"%s\" has no indexes that can be reindexed concurrently" msgstr "" "в таблице \"%s\" нет индексов, которые можно переиндексировать неблокирующим " "способом" -#: commands/indexcmds.c:2860 +#: commands/indexcmds.c:2937 #, c-format msgid "table \"%s\" has no indexes to reindex" msgstr "в таблице \"%s\" нет индексов для переиндексации" -#: commands/indexcmds.c:2900 commands/indexcmds.c:3404 -#: commands/indexcmds.c:3532 +#: commands/indexcmds.c:2982 commands/indexcmds.c:3492 +#: commands/indexcmds.c:3620 #, c-format msgid "cannot reindex system catalogs concurrently" msgstr "Переиндексировать системные каталоги неблокирующим способом нельзя" -#: commands/indexcmds.c:2923 +#: commands/indexcmds.c:3005 #, c-format msgid "can only reindex the currently open database" msgstr "переиндексировать можно только текущую базу данных" -#: commands/indexcmds.c:3011 +#: commands/indexcmds.c:3099 #, c-format msgid "cannot reindex system catalogs concurrently, skipping all" msgstr "" "все системные каталоги пропускаются, так как их нельзя переиндексировать " "неблокирующим способом" -#: commands/indexcmds.c:3044 +#: commands/indexcmds.c:3132 #, c-format msgid "cannot move system relations, skipping all" msgstr "переместить системные отношения нельзя, все они пропускаются" -#: commands/indexcmds.c:3090 +#: commands/indexcmds.c:3178 #, c-format msgid "while reindexing partitioned table \"%s.%s\"" msgstr "при переиндексировании секционированной таблицы \"%s.%s\"" -#: commands/indexcmds.c:3093 +#: commands/indexcmds.c:3181 #, c-format msgid "while reindexing partitioned index \"%s.%s\"" msgstr "при перестроении секционированного индекса \"%s.%s\"" -#: commands/indexcmds.c:3284 commands/indexcmds.c:4140 +#: commands/indexcmds.c:3372 commands/indexcmds.c:4228 #, c-format msgid "table \"%s.%s\" was reindexed" msgstr "таблица \"%s.%s\" переиндексирована" -#: commands/indexcmds.c:3436 commands/indexcmds.c:3488 +#: commands/indexcmds.c:3524 commands/indexcmds.c:3576 #, c-format msgid "cannot reindex invalid index \"%s.%s\" concurrently, skipping" msgstr "" "перестроить нерабочий индекс \"%s.%s\" неблокирующим способом нельзя, он " "пропускается" -#: commands/indexcmds.c:3442 +#: commands/indexcmds.c:3530 #, c-format msgid "" "cannot reindex exclusion constraint index \"%s.%s\" concurrently, skipping" @@ -9746,24 +9992,24 @@ msgstr "" "перестроить индекс ограничения-исключения \"%s.%s\" неблокирующим способом " "нельзя, он пропускается" -#: commands/indexcmds.c:3597 +#: commands/indexcmds.c:3685 #, c-format msgid "cannot reindex this type of relation concurrently" msgstr "переиндексировать отношение такого типа неблокирующим способом нельзя" -#: commands/indexcmds.c:3618 +#: commands/indexcmds.c:3706 #, c-format msgid "cannot move non-shared relation to tablespace \"%s\"" msgstr "" "переместить отношение, не являющееся разделяемым, в табличное пространство " "\"%s\" нельзя" -#: commands/indexcmds.c:4121 commands/indexcmds.c:4133 +#: commands/indexcmds.c:4209 commands/indexcmds.c:4221 #, c-format msgid "index \"%s.%s\" was reindexed" msgstr "индекс \"%s.%s\" был перестроен" -#: commands/indexcmds.c:4123 commands/indexcmds.c:4142 +#: commands/indexcmds.c:4211 commands/indexcmds.c:4230 #, c-format msgid "%s." msgstr "%s." @@ -9780,7 +10026,7 @@ msgstr "" "CONCURRENTLY нельзя использовать, когда материализованное представление не " "наполнено" -#: commands/matview.c:199 gram.y:17995 +#: commands/matview.c:199 gram.y:18306 #, c-format msgid "%s and %s options cannot be used together" msgstr "параметры %s и %s исключают друг друга" @@ -10056,63 +10302,63 @@ msgstr "" "семейство операторов \"%s\" для метода доступа \"%s\" уже существует в схеме " "\"%s\"" -#: commands/operatorcmds.c:111 commands/operatorcmds.c:119 +#: commands/operatorcmds.c:113 commands/operatorcmds.c:121 #, c-format msgid "SETOF type not allowed for operator argument" msgstr "аргументом оператора не может быть тип SETOF" -#: commands/operatorcmds.c:152 commands/operatorcmds.c:479 +#: commands/operatorcmds.c:154 commands/operatorcmds.c:481 #, c-format msgid "operator attribute \"%s\" not recognized" msgstr "атрибут оператора \"%s\" не распознан" -#: commands/operatorcmds.c:163 +#: commands/operatorcmds.c:165 #, c-format msgid "operator function must be specified" msgstr "необходимо указать функцию оператора" -#: commands/operatorcmds.c:181 +#: commands/operatorcmds.c:183 #, c-format msgid "operator argument types must be specified" msgstr "нужно указать типы аргументов оператора" -#: commands/operatorcmds.c:185 +#: commands/operatorcmds.c:187 #, c-format msgid "operator right argument type must be specified" msgstr "нужно указать тип правого аргумента оператора" -#: commands/operatorcmds.c:186 +#: commands/operatorcmds.c:188 #, c-format msgid "Postfix operators are not supported." msgstr "Постфиксные операторы не поддерживаются." -#: commands/operatorcmds.c:290 +#: commands/operatorcmds.c:292 #, c-format msgid "restriction estimator function %s must return type %s" msgstr "функция оценки ограничения %s должна возвращать тип %s" -#: commands/operatorcmds.c:333 +#: commands/operatorcmds.c:335 #, c-format msgid "join estimator function %s has multiple matches" msgstr "функция оценки соединения %s присутствует в нескольких экземплярах" -#: commands/operatorcmds.c:348 +#: commands/operatorcmds.c:350 #, c-format msgid "join estimator function %s must return type %s" msgstr "функция оценки соединения %s должна возвращать тип %s" -#: commands/operatorcmds.c:473 +#: commands/operatorcmds.c:475 #, c-format msgid "operator attribute \"%s\" cannot be changed" msgstr "атрибут оператора \"%s\" нельзя изменить" #: commands/policy.c:89 commands/policy.c:382 commands/statscmds.c:149 -#: commands/tablecmds.c:1609 commands/tablecmds.c:2197 -#: commands/tablecmds.c:3423 commands/tablecmds.c:6312 -#: commands/tablecmds.c:9104 commands/tablecmds.c:17030 -#: commands/tablecmds.c:17065 commands/trigger.c:327 commands/trigger.c:1382 -#: commands/trigger.c:1492 rewrite/rewriteDefine.c:278 -#: rewrite/rewriteDefine.c:957 rewrite/rewriteRemove.c:80 +#: 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/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\" - это системный каталог" @@ -10127,27 +10373,27 @@ msgstr "все указанные роли, кроме PUBLIC, игнориру msgid "All roles are members of the PUBLIC role." msgstr "Роль PUBLIC включает в себя все остальные роли." -#: commands/policy.c:607 +#: commands/policy.c:606 #, c-format msgid "WITH CHECK cannot be applied to SELECT or DELETE" msgstr "WITH CHECK нельзя применить к SELECT или DELETE" -#: commands/policy.c:616 commands/policy.c:921 +#: commands/policy.c:615 commands/policy.c:918 #, c-format msgid "only WITH CHECK expression allowed for INSERT" msgstr "для INSERT допускается только выражение WITH CHECK" -#: commands/policy.c:691 commands/policy.c:1144 +#: commands/policy.c:689 commands/policy.c:1141 #, c-format msgid "policy \"%s\" for table \"%s\" already exists" msgstr "политика \"%s\" для таблицы \"%s\" уже существует" -#: commands/policy.c:893 commands/policy.c:1172 commands/policy.c:1243 +#: commands/policy.c:890 commands/policy.c:1169 commands/policy.c:1240 #, c-format msgid "policy \"%s\" for table \"%s\" does not exist" msgstr "политика \"%s\" для таблицы \"%s\" не существует" -#: commands/policy.c:911 +#: commands/policy.c:908 #, c-format msgid "only USING expression allowed for SELECT, DELETE" msgstr "для SELECT, DELETE допускается только выражение USING" @@ -10165,7 +10411,7 @@ msgstr "" "HOLD" #: commands/portalcmds.c:189 commands/portalcmds.c:242 -#: executor/execCurrent.c:70 utils/adt/xml.c:2593 utils/adt/xml.c:2763 +#: executor/execCurrent.c:70 utils/adt/xml.c:2844 utils/adt/xml.c:3014 #, c-format msgid "cursor \"%s\" does not exist" msgstr "курсор \"%s\" не существует" @@ -10214,37 +10460,38 @@ msgid "must be superuser to create custom procedural language" msgstr "" "для создания дополнительного процедурного языка нужно быть суперпользователем" -#: commands/publicationcmds.c:130 postmaster/postmaster.c:1219 -#: postmaster/postmaster.c:1318 utils/init/miscinit.c:1651 +#: commands/publicationcmds.c:131 postmaster/postmaster.c:1205 +#: postmaster/postmaster.c:1303 storage/file/fd.c:3911 +#: utils/init/miscinit.c:1815 #, c-format msgid "invalid list syntax in parameter \"%s\"" msgstr "неверный формат списка в параметре \"%s\"" -#: commands/publicationcmds.c:149 +#: commands/publicationcmds.c:150 #, c-format msgid "unrecognized value for publication option \"%s\": \"%s\"" msgstr "нераспознанное значение параметра публикации \"%s\": \"%s\"" -#: commands/publicationcmds.c:163 +#: commands/publicationcmds.c:164 #, c-format msgid "unrecognized publication parameter: \"%s\"" msgstr "нераспознанный параметр репликации: \"%s\"" -#: commands/publicationcmds.c:204 +#: commands/publicationcmds.c:205 #, c-format msgid "no schema has been selected for CURRENT_SCHEMA" msgstr "для CURRENT_SCHEMA требуется, чтобы была выбрана схема" -#: commands/publicationcmds.c:501 +#: commands/publicationcmds.c:502 msgid "System columns are not allowed." msgstr "Системные столбцы не допускаются." -#: commands/publicationcmds.c:508 commands/publicationcmds.c:513 -#: commands/publicationcmds.c:530 +#: commands/publicationcmds.c:509 commands/publicationcmds.c:514 +#: commands/publicationcmds.c:531 msgid "User-defined operators are not allowed." msgstr "Пользовательские операторы не допускаются." -#: commands/publicationcmds.c:554 +#: 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." @@ -10252,43 +10499,43 @@ msgstr "" "Допускаются только столбцы, константы, встроенные операторы, встроенные типы " "данных, встроенные правила сортировки и встроенные постоянные функции." -#: commands/publicationcmds.c:566 +#: commands/publicationcmds.c:567 msgid "User-defined types are not allowed." msgstr "Пользовательские типы не допускаются." -#: commands/publicationcmds.c:569 +#: commands/publicationcmds.c:570 msgid "User-defined or built-in mutable functions are not allowed." msgstr "Пользовательские или встроенные непостоянные функции не допускаются." -#: commands/publicationcmds.c:572 +#: commands/publicationcmds.c:573 msgid "User-defined collations are not allowed." msgstr "Пользовательские правила сортировки не допускаются." -#: commands/publicationcmds.c:582 +#: commands/publicationcmds.c:583 #, c-format msgid "invalid publication WHERE expression" msgstr "неверное выражение в предложении WHERE публикации" -#: commands/publicationcmds.c:635 +#: commands/publicationcmds.c:636 #, c-format msgid "cannot use publication WHERE clause for relation \"%s\"" msgstr "" "использовать в публикации предложение WHERE для отношения \"%s\" нельзя" -#: commands/publicationcmds.c:637 +#: commands/publicationcmds.c:638 #, c-format msgid "WHERE clause cannot be used for a partitioned table when %s is false." msgstr "" "Предложение WHERE нельзя использовать для секционированной таблицы, когда %s " "равен false." -#: commands/publicationcmds.c:708 commands/publicationcmds.c:722 +#: commands/publicationcmds.c:709 commands/publicationcmds.c:723 #, c-format msgid "cannot use column list for relation \"%s.%s\" in publication \"%s\"" msgstr "" "использовать список столбцов отношения \"%s.%s\" в публикации \"%s\" нельзя" -#: commands/publicationcmds.c:711 +#: commands/publicationcmds.c:712 #, c-format msgid "" "Column lists cannot be specified in publications containing FOR TABLES IN " @@ -10297,7 +10544,7 @@ msgstr "" "Списки столбцов нельзя задавать в публикациях, содержащих элементы FOR " "TABLES IN SCHEMA." -#: commands/publicationcmds.c:725 +#: commands/publicationcmds.c:726 #, c-format msgid "" "Column lists cannot be specified for partitioned tables when %s is false." @@ -10305,34 +10552,34 @@ msgstr "" "Списки столбцов нельзя задавать для секционированных таблиц, когда %s равен " "false." -#: commands/publicationcmds.c:760 +#: commands/publicationcmds.c:761 #, c-format msgid "must be superuser to create FOR ALL TABLES publication" msgstr "для создания публикации всех таблиц нужно быть суперпользователем" -#: commands/publicationcmds.c:831 +#: commands/publicationcmds.c:832 #, c-format msgid "must be superuser to create FOR TABLES IN SCHEMA publication" msgstr "" "для создания публикации вида FOR ALL TABLES IN SCHEMA нужно быть " "суперпользователем" -#: commands/publicationcmds.c:867 +#: commands/publicationcmds.c:868 #, c-format msgid "wal_level is insufficient to publish logical changes" msgstr "уровень wal_level недостаточен для публикации логических изменений" -#: commands/publicationcmds.c:868 +#: commands/publicationcmds.c:869 #, c-format msgid "Set wal_level to \"logical\" before creating subscriptions." msgstr "Задайте для wal_level значение \"logical\" до создания подписок." -#: commands/publicationcmds.c:964 commands/publicationcmds.c:972 +#: commands/publicationcmds.c:965 commands/publicationcmds.c:973 #, c-format msgid "cannot set parameter \"%s\" to false for publication \"%s\"" msgstr "параметру \"%s\" публикации \"%s\" нельзя присвоить false" -#: commands/publicationcmds.c:967 +#: commands/publicationcmds.c:968 #, c-format msgid "" "The publication contains a WHERE clause for partitioned table \"%s\", which " @@ -10341,7 +10588,7 @@ msgstr "" "Публикация содержит предложение WHERE для секционированной таблицы \"%s\", " "что не допускается, когда \"%s\" равен false." -#: commands/publicationcmds.c:975 +#: commands/publicationcmds.c:976 #, c-format msgid "" "The publication contains a column list for partitioned table \"%s\", which " @@ -10350,12 +10597,12 @@ msgstr "" "Публикация содержит список столбцов для секционированной таблицы \"%s\", что " "не допускается, когда \"%s\" равен false." -#: commands/publicationcmds.c:1298 +#: commands/publicationcmds.c:1299 #, c-format msgid "cannot add schema to publication \"%s\"" msgstr "добавить схему в публикацию \"%s\" нельзя" -#: commands/publicationcmds.c:1300 +#: commands/publicationcmds.c:1301 #, c-format msgid "" "Schemas cannot be added if any tables that specify a column list are already " @@ -10364,86 +10611,97 @@ msgstr "" "Схемы нельзя добавлять в публикацию, если в неё уже добавлены таблицы, для " "которых задан список столбцов." -#: commands/publicationcmds.c:1348 +#: commands/publicationcmds.c:1349 #, c-format msgid "must be superuser to add or set schemas" msgstr "для добавления или замены схем нужно быть суперпользователем" -#: commands/publicationcmds.c:1357 commands/publicationcmds.c:1365 +#: commands/publicationcmds.c:1358 commands/publicationcmds.c:1366 #, c-format msgid "publication \"%s\" is defined as FOR ALL TABLES" msgstr "публикация \"%s\" определена для всех таблиц (FOR ALL TABLES)" -#: commands/publicationcmds.c:1359 +#: commands/publicationcmds.c:1360 #, c-format msgid "Schemas cannot be added to or dropped from FOR ALL TABLES publications." msgstr "В публикации вида FOR ALL TABLES нельзя добавлять или удалять таблицы." -#: commands/publicationcmds.c:1367 +#: commands/publicationcmds.c:1368 #, c-format msgid "Tables cannot be added to or dropped from FOR ALL TABLES publications." msgstr "В публикации всех таблиц нельзя добавлять или удалять таблицы." -#: commands/publicationcmds.c:1593 commands/publicationcmds.c:1656 +#: commands/publicationcmds.c:1392 commands/publicationcmds.c:1431 +#: commands/publicationcmds.c:1968 utils/cache/lsyscache.c:3592 +#, c-format +msgid "publication \"%s\" does not exist" +msgstr "публикация \"%s\" не существует" + +#: commands/publicationcmds.c:1594 commands/publicationcmds.c:1657 #, c-format msgid "conflicting or redundant WHERE clauses for table \"%s\"" msgstr "конфликтующие или избыточные предложения WHERE для таблицы \"%s\"" -#: commands/publicationcmds.c:1600 commands/publicationcmds.c:1668 +#: commands/publicationcmds.c:1601 commands/publicationcmds.c:1669 #, c-format msgid "conflicting or redundant column lists for table \"%s\"" msgstr "конфликтующие или избыточные списки столбцов для таблицы \"%s\"" -#: commands/publicationcmds.c:1802 +#: commands/publicationcmds.c:1803 #, c-format msgid "column list must not be specified in ALTER PUBLICATION ... DROP" msgstr "в ALTER PUBLICATION ... DROP не должен задаваться список столбцов" -#: commands/publicationcmds.c:1814 +#: commands/publicationcmds.c:1815 #, c-format msgid "relation \"%s\" is not part of the publication" msgstr "отношение \"%s\" не включено в публикацию" -#: commands/publicationcmds.c:1821 +#: commands/publicationcmds.c:1822 #, c-format msgid "cannot use a WHERE clause when removing a table from a publication" msgstr "использовать WHERE при удалении таблицы из публикации нельзя" -#: commands/publicationcmds.c:1881 +#: commands/publicationcmds.c:1882 #, c-format msgid "tables from schema \"%s\" are not part of the publication" msgstr "таблицы из схемы \"%s\" не являются частью публикации" -#: commands/publicationcmds.c:1924 commands/publicationcmds.c:1931 +#: commands/publicationcmds.c:1925 commands/publicationcmds.c:1932 #, c-format msgid "permission denied to change owner of publication \"%s\"" msgstr "нет прав на изменение владельца публикации \"%s\"" -#: commands/publicationcmds.c:1926 +#: commands/publicationcmds.c:1927 #, c-format msgid "The owner of a FOR ALL TABLES publication must be a superuser." msgstr "" "Владельцем публикации всех таблиц (FOR ALL TABLES) должен быть " "суперпользователь." -#: commands/publicationcmds.c:1933 +#: commands/publicationcmds.c:1934 #, c-format msgid "The owner of a FOR TABLES IN SCHEMA publication must be a superuser." msgstr "" "Владельцем публикации вида FOR TABLES IN SCHEMA должен быть " "суперпользователь." -#: commands/schemacmds.c:105 commands/schemacmds.c:270 +#: commands/publicationcmds.c:2000 +#, c-format +msgid "publication with OID %u does not exist" +msgstr "публикация с OID %u не существует" + +#: commands/schemacmds.c:109 commands/schemacmds.c:289 #, c-format msgid "unacceptable schema name \"%s\"" msgstr "неприемлемое имя схемы: \"%s\"" -#: commands/schemacmds.c:106 commands/schemacmds.c:271 +#: commands/schemacmds.c:110 commands/schemacmds.c:290 #, c-format msgid "The prefix \"pg_\" is reserved for system schemas." msgstr "Префикс \"pg_\" зарезервирован для системных схем." -#: commands/schemacmds.c:130 +#: commands/schemacmds.c:134 #, c-format msgid "schema \"%s\" already exists, skipping" msgstr "схема \"%s\" уже существует, пропускается" @@ -10476,30 +10734,30 @@ msgstr "метки безопасности не поддерживаются д msgid "cannot set security label on relation \"%s\"" msgstr "задать метку безопасности для отношения \"%s\" нельзя" -#: commands/sequence.c:755 +#: commands/sequence.c:754 #, c-format msgid "nextval: reached maximum value of sequence \"%s\" (%lld)" msgstr "" "функция nextval достигла максимума для последовательности \"%s\" (%lld)" -#: commands/sequence.c:774 +#: commands/sequence.c:773 #, c-format msgid "nextval: reached minimum value of sequence \"%s\" (%lld)" msgstr "функция nextval достигла минимума для последовательности \"%s\" (%lld)" -#: commands/sequence.c:892 +#: commands/sequence.c:891 #, c-format msgid "currval of sequence \"%s\" is not yet defined in this session" msgstr "" "текущее значение (currval) для последовательности \"%s\" ещё не определено в " "этом сеансе" -#: commands/sequence.c:911 commands/sequence.c:917 +#: commands/sequence.c:910 commands/sequence.c:916 #, c-format msgid "lastval is not yet defined in this session" msgstr "последнее значение (lastval) ещё не определено в этом сеансе" -#: commands/sequence.c:997 +#: commands/sequence.c:996 #, c-format msgid "setval: value %lld is out of bounds for sequence \"%s\" (%lld..%lld)" msgstr "" @@ -10603,13 +10861,13 @@ msgstr "" msgid "cannot change ownership of identity sequence" msgstr "сменить владельца последовательности идентификации нельзя" -#: commands/sequence.c:1679 commands/tablecmds.c:13819 -#: commands/tablecmds.c:16455 +#: commands/sequence.c:1679 commands/tablecmds.c:13891 +#: commands/tablecmds.c:16488 #, c-format msgid "Sequence \"%s\" is linked to table \"%s\"." msgstr "Последовательность \"%s\" связана с таблицей \"%s\"." -#: commands/statscmds.c:109 commands/statscmds.c:118 tcop/utility.c:1876 +#: 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 "в CREATE STATISTICS можно указать только одно отношение" @@ -10619,27 +10877,27 @@ msgstr "в CREATE STATISTICS можно указать только одно о msgid "cannot define statistics for relation \"%s\"" msgstr "для отношения \"%s\" нельзя определить объект статистики" -#: commands/statscmds.c:191 +#: commands/statscmds.c:190 #, c-format msgid "statistics object \"%s\" already exists, skipping" msgstr "объект статистики \"%s\" уже существует, пропускается" -#: commands/statscmds.c:199 +#: commands/statscmds.c:198 #, c-format msgid "statistics object \"%s\" already exists" msgstr "объект статистики \"%s\" уже существует" -#: commands/statscmds.c:210 +#: commands/statscmds.c:209 #, c-format msgid "cannot have more than %d columns in statistics" msgstr "в статистике не может быть больше %d столбцов" -#: commands/statscmds.c:251 commands/statscmds.c:274 commands/statscmds.c:308 +#: commands/statscmds.c:250 commands/statscmds.c:273 commands/statscmds.c:307 #, c-format msgid "statistics creation on system columns is not supported" msgstr "создание статистики для системных столбцов не поддерживается" -#: commands/statscmds.c:258 commands/statscmds.c:281 +#: commands/statscmds.c:257 commands/statscmds.c:280 #, c-format msgid "" "column \"%s\" cannot be used in statistics because its type %s has no " @@ -10648,7 +10906,7 @@ msgstr "" "столбец \"%s\" нельзя использовать в статистике, так как для его типа %s не " "определён класс операторов B-дерева по умолчанию" -#: commands/statscmds.c:325 +#: commands/statscmds.c:324 #, c-format msgid "" "expression cannot be used in multivariate statistics because its type %s has " @@ -10657,7 +10915,7 @@ msgstr "" "выражение нельзя использовать в многовариантной статистике, так как для его " "типа %s не определён класс операторов btree по умолчанию" -#: commands/statscmds.c:346 +#: commands/statscmds.c:345 #, c-format msgid "" "when building statistics on a single expression, statistics kinds may not be " @@ -10666,71 +10924,76 @@ msgstr "" "при построении статистики по единственному выражению указывать виды " "статистики нельзя" -#: commands/statscmds.c:375 +#: commands/statscmds.c:374 #, c-format msgid "unrecognized statistics kind \"%s\"" msgstr "нераспознанный вид статистики \"%s\"" -#: commands/statscmds.c:404 +#: commands/statscmds.c:403 #, c-format msgid "extended statistics require at least 2 columns" msgstr "для расширенной статистики требуются минимум 2 столбца" -#: commands/statscmds.c:422 +#: commands/statscmds.c:421 #, c-format msgid "duplicate column name in statistics definition" msgstr "повторяющееся имя столбца в определении статистики" -#: commands/statscmds.c:457 +#: commands/statscmds.c:456 #, c-format msgid "duplicate expression in statistics definition" msgstr "повторяющееся выражение в определении статистики" -#: commands/statscmds.c:620 commands/tablecmds.c:8072 +#: commands/statscmds.c:619 commands/tablecmds.c:8180 #, c-format msgid "statistics target %d is too low" msgstr "ориентир статистики слишком мал (%d)" -#: commands/statscmds.c:628 commands/tablecmds.c:8080 +#: commands/statscmds.c:627 commands/tablecmds.c:8188 #, c-format msgid "lowering statistics target to %d" msgstr "ориентир статистики снижается до %d" -#: commands/statscmds.c:651 +#: commands/statscmds.c:650 #, c-format msgid "statistics object \"%s.%s\" does not exist, skipping" msgstr "объект статистики \"%s.%s\" не существует, пропускается" -#: commands/subscriptioncmds.c:251 commands/subscriptioncmds.c:298 +#: commands/subscriptioncmds.c:271 commands/subscriptioncmds.c:359 #, c-format msgid "unrecognized subscription parameter: \"%s\"" msgstr "нераспознанный параметр подписки: \"%s\"" -#: commands/subscriptioncmds.c:289 +#: commands/subscriptioncmds.c:327 replication/pgoutput/pgoutput.c:398 +#, c-format +msgid "unrecognized origin value: \"%s\"" +msgstr "нераспознанное значение origin: \"%s\"" + +#: commands/subscriptioncmds.c:350 #, c-format msgid "invalid WAL location (LSN): %s" msgstr "неверная позиция в WAL (LSN): %s" #. translator: both %s are strings of the form "option = value" -#: commands/subscriptioncmds.c:313 commands/subscriptioncmds.c:320 -#: commands/subscriptioncmds.c:327 commands/subscriptioncmds.c:349 -#: commands/subscriptioncmds.c:365 +#: commands/subscriptioncmds.c:374 commands/subscriptioncmds.c:381 +#: commands/subscriptioncmds.c:388 commands/subscriptioncmds.c:410 +#: commands/subscriptioncmds.c:426 #, c-format msgid "%s and %s are mutually exclusive options" msgstr "указания %s и %s являются взаимоисключающими" #. translator: both %s are strings of the form "option = value" -#: commands/subscriptioncmds.c:355 commands/subscriptioncmds.c:371 +#: commands/subscriptioncmds.c:416 commands/subscriptioncmds.c:432 #, c-format msgid "subscription with %s must also set %s" msgstr "для подписки с параметром %s необходимо также задать %s" -#: commands/subscriptioncmds.c:433 +#: commands/subscriptioncmds.c:494 #, c-format msgid "could not receive list of publications from the publisher: %s" msgstr "не удалось получить список публикаций с публикующего сервера: %s" -#: commands/subscriptioncmds.c:465 +#: commands/subscriptioncmds.c:526 #, c-format msgid "publication %s does not exist on the publisher" msgid_plural "publications %s do not exist on the publisher" @@ -10738,55 +11001,71 @@ msgstr[0] "публикация %s не существует на публику msgstr[1] "публикации %s не существуют на публикующем сервере" msgstr[2] "публикации %s не существуют на публикующем сервере" -#: commands/subscriptioncmds.c:547 +#: commands/subscriptioncmds.c:614 +#, c-format +msgid "permission denied to create subscription" +msgstr "нет прав для создания подписки" + +#: commands/subscriptioncmds.c:615 #, c-format -msgid "must be superuser to create subscriptions" -msgstr "для создания подписок нужно быть суперпользователем" +msgid "Only roles with privileges of the \"%s\" role may create subscriptions." +msgstr "Создавать подписки могут только роли с правами роли \"%s\"." -#: commands/subscriptioncmds.c:648 commands/subscriptioncmds.c:776 -#: replication/logical/tablesync.c:1229 replication/logical/worker.c:3738 +#: commands/subscriptioncmds.c:745 commands/subscriptioncmds.c:878 +#: replication/logical/tablesync.c:1309 replication/logical/worker.c:4616 #, c-format msgid "could not connect to the publisher: %s" msgstr "не удалось подключиться к серверу публикации: %s" -#: commands/subscriptioncmds.c:717 +#: commands/subscriptioncmds.c:816 #, c-format msgid "created replication slot \"%s\" on publisher" msgstr "на сервере публикации создан слот репликации \"%s\"" -#. translator: %s is an SQL ALTER statement -#: commands/subscriptioncmds.c:730 +#: commands/subscriptioncmds.c:828 +#, c-format +msgid "subscription was created, but is not connected" +msgstr "подписка создана, но не подключена" + +#: commands/subscriptioncmds.c:829 #, c-format msgid "" -"tables were not subscribed, you will have to run %s to subscribe the tables" +"To initiate replication, you must manually create the replication slot, " +"enable the subscription, and refresh the subscription." msgstr "" -"в подписке отсутствуют таблицы; потребуется выполнить %s, чтобы подписаться " -"на таблицы" +"Чтобы начать репликацию, вы должны вручную создать слот репликации, включить " +"подписку, а затем обновить её." + +#: commands/subscriptioncmds.c:1096 commands/subscriptioncmds.c:1502 +#: commands/subscriptioncmds.c:1885 utils/cache/lsyscache.c:3642 +#, c-format +msgid "subscription \"%s\" does not exist" +msgstr "подписка \"%s\" не существует" -#: commands/subscriptioncmds.c:1033 +#: commands/subscriptioncmds.c:1152 #, c-format msgid "cannot set %s for enabled subscription" msgstr "для включённой подписки нельзя задать %s" -#: commands/subscriptioncmds.c:1086 +#: commands/subscriptioncmds.c:1227 #, c-format msgid "cannot enable subscription that does not have a slot name" msgstr "включить подписку, для которой не задано имя слота, нельзя" -#: commands/subscriptioncmds.c:1129 commands/subscriptioncmds.c:1180 +#: commands/subscriptioncmds.c:1271 commands/subscriptioncmds.c:1322 #, c-format msgid "" "ALTER SUBSCRIPTION with refresh is not allowed for disabled subscriptions" msgstr "" "ALTER SUBSCRIPTION с обновлением для отключённых подписок не допускается" -#: commands/subscriptioncmds.c:1130 +#: commands/subscriptioncmds.c:1272 #, c-format msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)." msgstr "" "Выполните ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)." -#: commands/subscriptioncmds.c:1139 commands/subscriptioncmds.c:1194 +#: commands/subscriptioncmds.c:1281 commands/subscriptioncmds.c:1336 #, c-format msgid "" "ALTER SUBSCRIPTION with refresh and copy_data is not allowed when two_phase " @@ -10795,7 +11074,7 @@ msgstr "" "ALTER SUBSCRIPTION с параметром публикации refresh в режиме copy_data не " "допускается, когда включён параметр two_phase" -#: commands/subscriptioncmds.c:1140 +#: commands/subscriptioncmds.c:1282 #, c-format msgid "" "Use ALTER SUBSCRIPTION ... SET PUBLICATION with refresh = false, or with " @@ -10805,13 +11084,13 @@ msgstr "" "copy_data = false либо выполните DROP/CREATE SUBSCRIPTION." #. translator: %s is an SQL ALTER command -#: commands/subscriptioncmds.c:1182 +#: commands/subscriptioncmds.c:1324 #, c-format msgid "Use %s instead." msgstr "Выполните %s." #. translator: %s is an SQL ALTER command -#: commands/subscriptioncmds.c:1196 +#: commands/subscriptioncmds.c:1338 #, c-format msgid "" "Use %s with refresh = false, or with copy_data = false, or use DROP/CREATE " @@ -10820,13 +11099,13 @@ msgstr "" "Выполните %s с refresh = false или с copy_data = false либо выполните DROP/" "CREATE SUBSCRIPTION." -#: commands/subscriptioncmds.c:1218 +#: commands/subscriptioncmds.c:1360 #, c-format msgid "" "ALTER SUBSCRIPTION ... REFRESH is not allowed for disabled subscriptions" msgstr "ALTER SUBSCRIPTION ... REFRESH для отключённых подписок не допускается" -#: commands/subscriptioncmds.c:1243 +#: commands/subscriptioncmds.c:1385 #, c-format msgid "" "ALTER SUBSCRIPTION ... REFRESH with copy_data is not allowed when two_phase " @@ -10835,7 +11114,7 @@ msgstr "" "ALTER SUBSCRIPTION ... REFRESH в режиме copy_data не допускается, когда " "включён параметр two_phase" -#: commands/subscriptioncmds.c:1244 +#: commands/subscriptioncmds.c:1386 #, c-format msgid "" "Use ALTER SUBSCRIPTION ... REFRESH with copy_data = false, or use DROP/" @@ -10844,208 +11123,243 @@ msgstr "" "Выполните ALTER SUBSCRIPTION ... REFRESH с copy_data = false либо выполните " "DROP/CREATE SUBSCRIPTION." -#: commands/subscriptioncmds.c:1263 -#, c-format -msgid "must be superuser to skip transaction" -msgstr "чтобы пропустить транзакцию, нужно быть суперпользователем" - -#: commands/subscriptioncmds.c:1283 +#: commands/subscriptioncmds.c:1421 #, c-format msgid "skip WAL location (LSN %X/%X) must be greater than origin LSN %X/%X" msgstr "" "позиция пропуска в WAL (LSN %X/%X) должна быть больше начального LSN %X/%X" -#: commands/subscriptioncmds.c:1363 +#: commands/subscriptioncmds.c:1506 #, c-format msgid "subscription \"%s\" does not exist, skipping" msgstr "подписка \"%s\" не существует, пропускается" -#: commands/subscriptioncmds.c:1621 +#: commands/subscriptioncmds.c:1775 #, c-format msgid "dropped replication slot \"%s\" on publisher" msgstr "слот репликации \"%s\" удалён на сервере репликации" -#: commands/subscriptioncmds.c:1630 commands/subscriptioncmds.c:1638 +#: commands/subscriptioncmds.c:1784 commands/subscriptioncmds.c:1792 #, c-format msgid "could not drop replication slot \"%s\" on publisher: %s" msgstr "слот репликации \"%s\" на сервере публикации не был удалён: %s" -#: commands/subscriptioncmds.c:1672 -#, c-format -msgid "permission denied to change owner of subscription \"%s\"" -msgstr "нет прав на изменение владельца подписки \"%s\"" - -#: commands/subscriptioncmds.c:1674 +#: commands/subscriptioncmds.c:1917 #, c-format -msgid "The owner of a subscription must be a superuser." -msgstr "Владельцем подписки должен быть суперпользователь." +msgid "subscription with OID %u does not exist" +msgstr "подписка с OID %u не существует" -#: commands/subscriptioncmds.c:1788 +#: commands/subscriptioncmds.c:1988 commands/subscriptioncmds.c:2113 #, c-format msgid "could not receive list of replicated tables from the publisher: %s" msgstr "" "не удалось получить список реплицируемых таблиц с сервера репликации: %s" -#: commands/subscriptioncmds.c:1810 replication/logical/tablesync.c:809 -#: replication/pgoutput/pgoutput.c:1062 +#: commands/subscriptioncmds.c:2024 #, c-format msgid "" -"cannot use different column lists for table \"%s.%s\" in different " -"publications" +"subscription \"%s\" requested copy_data with origin = NONE but might copy " +"data that had a different origin" msgstr "" -"использовать различные списки столбцов таблицы \"%s.%s\" в разных " -"публикациях нельзя" +"для подписки \"%s\" выбран режим copy_data с origin = NONE, но в неё могут " +"попасть данные из другого источника" -#: commands/subscriptioncmds.c:1860 +#: commands/subscriptioncmds.c:2026 #, c-format msgid "" -"could not connect to publisher when attempting to drop replication slot " -"\"%s\": %s" -msgstr "" -"не удалось подключиться к серверу публикации для удаления слота репликации " -"\"%s\": %s" - -#. translator: %s is an SQL ALTER command -#: commands/subscriptioncmds.c:1863 +"The subscription being created subscribes to a publication (%s) that " +"contains tables that are written to by other subscriptions." +msgid_plural "" +"The subscription being created subscribes to publications (%s) that contain " +"tables that are written to by other subscriptions." +msgstr[0] "" +"Создаваемая подписка связана с публикацией (%s), содержащей таблицы, в " +"которые записывают другие подписки." +msgstr[1] "" +"Создаваемая подписка связана с публикациями (%s), содержащими таблицы, в " +"которые записывают другие подписки." +msgstr[2] "" +"Создаваемая подписка связана с публикациями (%s), содержащими таблицы, в " +"которые записывают другие подписки." + +#: commands/subscriptioncmds.c:2029 +#, c-format +msgid "" +"Verify that initial data copied from the publisher tables did not come from " +"other origins." +msgstr "" +"Убедитесь, что начальные данные, скопированные из таблиц публикации, " +"поступили не из других источников." + +#: commands/subscriptioncmds.c:2135 replication/logical/tablesync.c:876 +#: replication/pgoutput/pgoutput.c:1115 +#, c-format +msgid "" +"cannot use different column lists for table \"%s.%s\" in different " +"publications" +msgstr "" +"использовать различные списки столбцов таблицы \"%s.%s\" в разных " +"публикациях нельзя" + +#: commands/subscriptioncmds.c:2185 +#, c-format +msgid "" +"could not connect to publisher when attempting to drop replication slot " +"\"%s\": %s" +msgstr "" +"не удалось подключиться к серверу публикации для удаления слота репликации " +"\"%s\": %s" + +#. translator: %s is an SQL ALTER command +#: commands/subscriptioncmds.c:2188 #, c-format -msgid "Use %s to disassociate the subscription from the slot." -msgstr "Выполните %s, чтобы отвязать подписку от слота." +msgid "" +"Use %s to disable the subscription, and then use %s to disassociate it from " +"the slot." +msgstr "" +"Выполните %s, чтобы отключить подписку, а затем выполните %s, чтобы отвязать " +"её от слота." -#: commands/subscriptioncmds.c:1893 +#: commands/subscriptioncmds.c:2219 #, c-format msgid "publication name \"%s\" used more than once" msgstr "имя публикации \"%s\" используется неоднократно" -#: commands/subscriptioncmds.c:1937 +#: commands/subscriptioncmds.c:2263 #, c-format msgid "publication \"%s\" is already in subscription \"%s\"" msgstr "публикация \"%s\" уже имеется в подписке \"%s\"" -#: commands/subscriptioncmds.c:1951 +#: commands/subscriptioncmds.c:2277 #, c-format msgid "publication \"%s\" is not in subscription \"%s\"" msgstr "публикация \"%s\" отсутствует в подписке \"%s\"" -#: commands/subscriptioncmds.c:1962 +#: commands/subscriptioncmds.c:2288 #, c-format msgid "cannot drop all the publications from a subscription" msgstr "удалить все публикации из подписки нельзя" -#: commands/tablecmds.c:245 commands/tablecmds.c:287 +#: commands/subscriptioncmds.c:2345 +#, c-format +msgid "%s requires a Boolean value or \"parallel\"" +msgstr "%s требует логическое значение или \"parallel\"" + +#: commands/tablecmds.c:246 commands/tablecmds.c:288 #, c-format msgid "table \"%s\" does not exist" msgstr "таблица \"%s\" не существует" -#: commands/tablecmds.c:246 commands/tablecmds.c:288 +#: commands/tablecmds.c:247 commands/tablecmds.c:289 #, c-format msgid "table \"%s\" does not exist, skipping" msgstr "таблица \"%s\" не существует, пропускается" -#: commands/tablecmds.c:248 commands/tablecmds.c:290 +#: commands/tablecmds.c:249 commands/tablecmds.c:291 msgid "Use DROP TABLE to remove a table." msgstr "Выполните DROP TABLE для удаления таблицы." -#: commands/tablecmds.c:251 +#: commands/tablecmds.c:252 #, c-format msgid "sequence \"%s\" does not exist" msgstr "последовательность \"%s\" не существует" -#: commands/tablecmds.c:252 +#: commands/tablecmds.c:253 #, c-format msgid "sequence \"%s\" does not exist, skipping" msgstr "последовательность \"%s\" не существует, пропускается" -#: commands/tablecmds.c:254 +#: commands/tablecmds.c:255 msgid "Use DROP SEQUENCE to remove a sequence." msgstr "Выполните DROP SEQUENCE для удаления последовательности." -#: commands/tablecmds.c:257 +#: commands/tablecmds.c:258 #, c-format msgid "view \"%s\" does not exist" msgstr "представление \"%s\" не существует" -#: commands/tablecmds.c:258 +#: commands/tablecmds.c:259 #, c-format msgid "view \"%s\" does not exist, skipping" msgstr "представление \"%s\" не существует, пропускается" -#: commands/tablecmds.c:260 +#: commands/tablecmds.c:261 msgid "Use DROP VIEW to remove a view." msgstr "Выполните DROP VIEW для удаления представления." -#: commands/tablecmds.c:263 +#: commands/tablecmds.c:264 #, c-format msgid "materialized view \"%s\" does not exist" msgstr "материализованное представление \"%s\" не существует" -#: commands/tablecmds.c:264 +#: commands/tablecmds.c:265 #, c-format msgid "materialized view \"%s\" does not exist, skipping" msgstr "материализованное представление \"%s\" не существует, пропускается" -#: commands/tablecmds.c:266 +#: commands/tablecmds.c:267 msgid "Use DROP MATERIALIZED VIEW to remove a materialized view." msgstr "" "Выполните DROP MATERIALIZED VIEW для удаления материализованного " "представления." -#: commands/tablecmds.c:269 commands/tablecmds.c:293 commands/tablecmds.c:18953 -#: parser/parse_utilcmd.c:2260 +#: commands/tablecmds.c:270 commands/tablecmds.c:294 commands/tablecmds.c:18978 +#: parser/parse_utilcmd.c:2245 #, c-format msgid "index \"%s\" does not exist" msgstr "индекс \"%s\" не существует" -#: commands/tablecmds.c:270 commands/tablecmds.c:294 +#: commands/tablecmds.c:271 commands/tablecmds.c:295 #, c-format msgid "index \"%s\" does not exist, skipping" msgstr "индекс \"%s\" не существует, пропускается" -#: commands/tablecmds.c:272 commands/tablecmds.c:296 +#: commands/tablecmds.c:273 commands/tablecmds.c:297 msgid "Use DROP INDEX to remove an index." msgstr "Выполните DROP INDEX для удаления индекса." -#: commands/tablecmds.c:277 +#: commands/tablecmds.c:278 #, c-format msgid "\"%s\" is not a type" msgstr "\"%s\" - это не тип" -#: commands/tablecmds.c:278 +#: commands/tablecmds.c:279 msgid "Use DROP TYPE to remove a type." msgstr "Выполните DROP TYPE для удаления типа." -#: commands/tablecmds.c:281 commands/tablecmds.c:13658 -#: commands/tablecmds.c:16158 +#: commands/tablecmds.c:282 commands/tablecmds.c:13730 +#: commands/tablecmds.c:16193 #, c-format msgid "foreign table \"%s\" does not exist" msgstr "сторонняя таблица \"%s\" не существует" -#: commands/tablecmds.c:282 +#: commands/tablecmds.c:283 #, c-format msgid "foreign table \"%s\" does not exist, skipping" msgstr "сторонняя таблица \"%s\" не существует, пропускается" -#: commands/tablecmds.c:284 +#: commands/tablecmds.c:285 msgid "Use DROP FOREIGN TABLE to remove a foreign table." msgstr "Выполните DROP FOREIGN TABLE для удаления сторонней таблицы." -#: commands/tablecmds.c:697 +#: commands/tablecmds.c:700 #, c-format msgid "ON COMMIT can only be used on temporary tables" msgstr "ON COMMIT можно использовать только для временных таблиц" -#: commands/tablecmds.c:728 +#: commands/tablecmds.c:731 #, c-format msgid "cannot create temporary table within security-restricted operation" msgstr "" "в рамках операции с ограничениями по безопасности нельзя создать временную " "таблицу" -#: commands/tablecmds.c:764 commands/tablecmds.c:14965 +#: commands/tablecmds.c:767 commands/tablecmds.c:15038 #, c-format msgid "relation \"%s\" would be inherited from more than once" msgstr "отношение \"%s\" наследуется неоднократно" -#: commands/tablecmds.c:949 +#: commands/tablecmds.c:955 #, c-format msgid "" "specifying a table access method is not supported on a partitioned table" @@ -11053,47 +11367,47 @@ msgstr "" "указание табличного метода доступа для секционированных таблиц не " "поддерживаются" -#: commands/tablecmds.c:1042 +#: commands/tablecmds.c:1048 #, c-format msgid "\"%s\" is not partitioned" msgstr "отношение \"%s\" не является секционированным" -#: commands/tablecmds.c:1137 +#: commands/tablecmds.c:1142 #, c-format msgid "cannot partition using more than %d columns" msgstr "число столбцов в ключе секционирования не может превышать %d" -#: commands/tablecmds.c:1193 +#: commands/tablecmds.c:1198 #, c-format msgid "cannot create foreign partition of partitioned table \"%s\"" msgstr "создать стороннюю секцию для секционированной таблицы \"%s\" нельзя" -#: commands/tablecmds.c:1195 +#: commands/tablecmds.c:1200 #, c-format msgid "Table \"%s\" contains indexes that are unique." msgstr "Таблица \"%s\" содержит индексы, являющиеся уникальными." -#: commands/tablecmds.c:1358 +#: commands/tablecmds.c:1365 #, c-format msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects" msgstr "DROP INDEX CONCURRENTLY не поддерживает удаление нескольких объектов" -#: commands/tablecmds.c:1362 +#: commands/tablecmds.c:1369 #, c-format msgid "DROP INDEX CONCURRENTLY does not support CASCADE" msgstr "DROP INDEX CONCURRENTLY не поддерживает режим CASCADE" -#: commands/tablecmds.c:1466 +#: commands/tablecmds.c:1473 #, c-format msgid "cannot drop partitioned index \"%s\" concurrently" msgstr "удалить секционированный индекс \"%s\" параллельным способом нельзя" -#: commands/tablecmds.c:1754 +#: commands/tablecmds.c:1761 #, c-format msgid "cannot truncate only a partitioned table" msgstr "опустошить собственно секционированную таблицу нельзя" -#: commands/tablecmds.c:1755 +#: commands/tablecmds.c:1762 #, c-format msgid "" "Do not specify the ONLY keyword, or use TRUNCATE ONLY on the partitions " @@ -11102,39 +11416,39 @@ msgstr "" "Не указывайте ключевое слово ONLY или выполните TRUNCATE ONLY " "непосредственно для секций." -#: commands/tablecmds.c:1827 +#: commands/tablecmds.c:1835 #, c-format msgid "truncate cascades to table \"%s\"" msgstr "опустошение распространяется на таблицу %s" -#: commands/tablecmds.c:2177 +#: commands/tablecmds.c:2199 #, c-format msgid "cannot truncate foreign table \"%s\"" msgstr "опустошить стороннюю таблицу \"%s\" нельзя" -#: commands/tablecmds.c:2234 +#: commands/tablecmds.c:2256 #, c-format msgid "cannot truncate temporary tables of other sessions" msgstr "временные таблицы других сеансов нельзя опустошить" -#: commands/tablecmds.c:2462 commands/tablecmds.c:14862 +#: commands/tablecmds.c:2488 commands/tablecmds.c:14935 #, c-format msgid "cannot inherit from partitioned table \"%s\"" msgstr "наследование от секционированной таблицы \"%s\" не допускается" -#: commands/tablecmds.c:2467 +#: commands/tablecmds.c:2493 #, c-format msgid "cannot inherit from partition \"%s\"" msgstr "наследование от секции \"%s\" не допускается" -#: commands/tablecmds.c:2475 parser/parse_utilcmd.c:2490 -#: parser/parse_utilcmd.c:2632 +#: commands/tablecmds.c:2501 parser/parse_utilcmd.c:2475 +#: parser/parse_utilcmd.c:2617 #, c-format msgid "inherited relation \"%s\" is not a table or foreign table" msgstr "" "наследуемое отношение \"%s\" не является таблицей или сторонней таблицей" -#: commands/tablecmds.c:2487 +#: commands/tablecmds.c:2513 #, c-format msgid "" "cannot create a temporary relation as partition of permanent relation \"%s\"" @@ -11142,74 +11456,74 @@ msgstr "" "создать временное отношение в качестве секции постоянного отношения \"%s\" " "нельзя" -#: commands/tablecmds.c:2496 commands/tablecmds.c:14841 +#: commands/tablecmds.c:2522 commands/tablecmds.c:14914 #, c-format msgid "cannot inherit from temporary relation \"%s\"" msgstr "временное отношение \"%s\" не может наследоваться" -#: commands/tablecmds.c:2506 commands/tablecmds.c:14849 +#: commands/tablecmds.c:2532 commands/tablecmds.c:14922 #, c-format msgid "cannot inherit from temporary relation of another session" msgstr "наследование от временного отношения другого сеанса невозможно" -#: commands/tablecmds.c:2560 +#: commands/tablecmds.c:2585 #, c-format msgid "merging multiple inherited definitions of column \"%s\"" msgstr "слияние нескольких наследованных определений столбца \"%s\"" -#: commands/tablecmds.c:2568 +#: commands/tablecmds.c:2597 #, c-format msgid "inherited column \"%s\" has a type conflict" msgstr "конфликт типов в наследованном столбце \"%s\"" -#: commands/tablecmds.c:2570 commands/tablecmds.c:2593 -#: commands/tablecmds.c:2610 commands/tablecmds.c:2866 -#: commands/tablecmds.c:2896 commands/tablecmds.c:2910 +#: 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:227 +#: parser/parse_param.c:223 #, c-format msgid "%s versus %s" msgstr "%s и %s" -#: commands/tablecmds.c:2579 +#: commands/tablecmds.c:2612 #, c-format msgid "inherited column \"%s\" has a collation conflict" msgstr "конфликт правил сортировки в наследованном столбце \"%s\"" -#: commands/tablecmds.c:2581 commands/tablecmds.c:2878 -#: commands/tablecmds.c:6752 +#: commands/tablecmds.c:2614 commands/tablecmds.c:2935 +#: commands/tablecmds.c:6849 #, c-format msgid "\"%s\" versus \"%s\"" msgstr "\"%s\" и \"%s\"" -#: commands/tablecmds.c:2591 +#: commands/tablecmds.c:2626 #, c-format msgid "inherited column \"%s\" has a storage parameter conflict" msgstr "конфликт параметров хранения в наследованном столбце \"%s\"" -#: commands/tablecmds.c:2608 commands/tablecmds.c:2908 +#: commands/tablecmds.c:2645 commands/tablecmds.c:2969 #, c-format msgid "column \"%s\" has a compression method conflict" msgstr "в столбце \"%s\" возник конфликт методов сжатия" -#: commands/tablecmds.c:2623 +#: commands/tablecmds.c:2661 #, c-format msgid "inherited column \"%s\" has a generation conflict" msgstr "конфликт свойства генерирования в наследованном столбце \"%s\"" -#: commands/tablecmds.c:2717 commands/tablecmds.c:2772 -#: commands/tablecmds.c:12382 parser/parse_utilcmd.c:1301 -#: parser/parse_utilcmd.c:1344 parser/parse_utilcmd.c:1753 -#: parser/parse_utilcmd.c:1861 +#: 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 #, c-format msgid "cannot convert whole-row table reference" msgstr "преобразовать ссылку на тип всей строки таблицы нельзя" -#: commands/tablecmds.c:2718 parser/parse_utilcmd.c:1302 +#: commands/tablecmds.c:2768 parser/parse_utilcmd.c:1299 #, c-format msgid "" "Generation expression for column \"%s\" contains a whole-row reference to " @@ -11218,86 +11532,89 @@ msgstr "" "Генерирующее выражение столбца \"%s\" ссылается на тип всей строки в таблице " "\"%s\"." -#: commands/tablecmds.c:2773 parser/parse_utilcmd.c:1345 +#: commands/tablecmds.c:2823 parser/parse_utilcmd.c:1342 #, c-format msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"." msgstr "Ограничение \"%s\" ссылается на тип всей строки в таблице \"%s\"." -#: commands/tablecmds.c:2852 +#: commands/tablecmds.c:2901 #, c-format msgid "merging column \"%s\" with inherited definition" msgstr "слияние столбца \"%s\" с наследованным определением" -#: commands/tablecmds.c:2856 +#: commands/tablecmds.c:2905 #, c-format msgid "moving and merging column \"%s\" with inherited definition" msgstr "перемещение и слияние столбца \"%s\" с наследуемым определением" -#: commands/tablecmds.c:2857 +#: commands/tablecmds.c:2906 #, c-format msgid "User-specified column moved to the position of the inherited column." msgstr "" "Определённый пользователем столбец перемещён в позицию наследуемого столбца." -#: commands/tablecmds.c:2864 +#: commands/tablecmds.c:2917 #, c-format msgid "column \"%s\" has a type conflict" msgstr "конфликт типов в столбце \"%s\"" -#: commands/tablecmds.c:2876 +#: commands/tablecmds.c:2933 #, c-format msgid "column \"%s\" has a collation conflict" msgstr "конфликт правил сортировки в столбце \"%s\"" -#: commands/tablecmds.c:2894 +#: commands/tablecmds.c:2953 #, c-format msgid "column \"%s\" has a storage parameter conflict" msgstr "конфликт параметров хранения в столбце \"%s\"" -#: commands/tablecmds.c:2935 -#, c-format -msgid "child column \"%s\" specifies generation expression" -msgstr "для дочернего столбца \"%s\" указано генерирующее выражение" - -#: commands/tablecmds.c:2937 -#, 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 "" -"Уберите генерирующее выражение из определения столбца в дочерней таблице, " -"чтобы это выражение наследовалось из родительской." - -#: commands/tablecmds.c:2941 +#: commands/tablecmds.c:2999 commands/tablecmds.c:3086 #, c-format msgid "column \"%s\" inherits from generated column but specifies default" msgstr "" "столбец \"%s\" наследуется от генерируемого столбца, но для него задано " "значение по умолчанию" -#: commands/tablecmds.c:2946 +#: commands/tablecmds.c:3004 commands/tablecmds.c:3091 #, c-format msgid "column \"%s\" inherits from generated column but specifies identity" msgstr "" "столбец \"%s\" наследуется от генерируемого столбца, но для него задано " "свойство идентификации" -#: commands/tablecmds.c:3055 +#: commands/tablecmds.c:3012 commands/tablecmds.c:3099 +#, c-format +msgid "child column \"%s\" specifies generation expression" +msgstr "для дочернего столбца \"%s\" указано генерирующее выражение" + +#: commands/tablecmds.c:3014 commands/tablecmds.c:3101 +#, c-format +msgid "A child table column cannot be generated unless its parent column is." +msgstr "" +"Дочерний столбец может быть генерируемым, только если родительский столбец " +"является таковым." + +#: commands/tablecmds.c:3147 #, c-format msgid "column \"%s\" inherits conflicting generation expressions" msgstr "столбец \"%s\" наследует конфликтующие генерирующие выражения" -#: commands/tablecmds.c:3060 +#: commands/tablecmds.c:3149 +#, c-format +msgid "To resolve the conflict, specify a generation expression explicitly." +msgstr "Для разрешения конфликта укажите генерирующее выражение явно." + +#: commands/tablecmds.c:3153 #, c-format msgid "column \"%s\" inherits conflicting default values" msgstr "столбец \"%s\" наследует конфликтующие значения по умолчанию" -#: commands/tablecmds.c:3062 +#: commands/tablecmds.c:3155 #, c-format msgid "To resolve the conflict, specify a default explicitly." msgstr "Для решения конфликта укажите желаемое значение по умолчанию." -#: commands/tablecmds.c:3108 +#: commands/tablecmds.c:3205 #, c-format msgid "" "check constraint name \"%s\" appears multiple times but with different " @@ -11306,52 +11623,52 @@ msgstr "" "имя ограничения-проверки \"%s\" фигурирует несколько раз, но с разными " "выражениями" -#: commands/tablecmds.c:3321 +#: commands/tablecmds.c:3418 #, c-format msgid "cannot move temporary tables of other sessions" msgstr "перемещать временные таблицы других сеансов нельзя" -#: commands/tablecmds.c:3391 +#: commands/tablecmds.c:3488 #, c-format msgid "cannot rename column of typed table" msgstr "переименовать столбец типизированной таблицы нельзя" -#: commands/tablecmds.c:3410 +#: commands/tablecmds.c:3507 #, c-format msgid "cannot rename columns of relation \"%s\"" msgstr "переименовывать столбцы отношения \"%s\" нельзя" -#: commands/tablecmds.c:3505 +#: commands/tablecmds.c:3602 #, c-format msgid "inherited column \"%s\" must be renamed in child tables too" msgstr "" "наследованный столбец \"%s\" должен быть также переименован в дочерних " "таблицах" -#: commands/tablecmds.c:3537 +#: commands/tablecmds.c:3634 #, c-format msgid "cannot rename system column \"%s\"" msgstr "нельзя переименовать системный столбец \"%s\"" -#: commands/tablecmds.c:3552 +#: commands/tablecmds.c:3649 #, c-format msgid "cannot rename inherited column \"%s\"" msgstr "нельзя переименовать наследованный столбец \"%s\"" -#: commands/tablecmds.c:3704 +#: commands/tablecmds.c:3801 #, c-format msgid "inherited constraint \"%s\" must be renamed in child tables too" msgstr "" "наследуемое ограничение \"%s\" должно быть также переименовано в дочерних " "таблицах" -#: commands/tablecmds.c:3711 +#: commands/tablecmds.c:3808 #, c-format msgid "cannot rename inherited constraint \"%s\"" msgstr "нельзя переименовать наследованное ограничение \"%s\"" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4008 +#: commands/tablecmds.c:4105 #, c-format msgid "" "cannot %s \"%s\" because it is being used by active queries in this session" @@ -11360,59 +11677,59 @@ msgstr "" "запросами в данном сеансе" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4017 +#: commands/tablecmds.c:4114 #, c-format msgid "cannot %s \"%s\" because it has pending trigger events" msgstr "" "нельзя выполнить %s \"%s\", так как с этим объектом связаны отложенные " "события триггеров" -#: commands/tablecmds.c:4486 +#: commands/tablecmds.c:4581 #, c-format msgid "cannot alter partition \"%s\" with an incomplete detach" msgstr "нельзя изменить секцию \"%s\", которая не полностью отсоединена" -#: commands/tablecmds.c:4679 commands/tablecmds.c:4694 +#: commands/tablecmds.c:4774 commands/tablecmds.c:4789 #, c-format msgid "cannot change persistence setting twice" msgstr "изменить характеристику хранения дважды нельзя" -#: commands/tablecmds.c:4715 +#: commands/tablecmds.c:4810 #, c-format msgid "cannot change access method of a partitioned table" msgstr "менять метод доступа для секционированной таблицы нельзя" -#: commands/tablecmds.c:4721 +#: commands/tablecmds.c:4816 #, c-format msgid "cannot have multiple SET ACCESS METHOD subcommands" msgstr "множественные подкоманды SET ACCESS METHOD не допускаются" -#: commands/tablecmds.c:5476 +#: commands/tablecmds.c:5537 #, c-format msgid "cannot rewrite system relation \"%s\"" msgstr "перезаписать системное отношение \"%s\" нельзя" -#: commands/tablecmds.c:5482 +#: commands/tablecmds.c:5543 #, c-format msgid "cannot rewrite table \"%s\" used as a catalog table" msgstr "перезаписать таблицу \"%s\", используемую как таблицу каталога, нельзя" -#: commands/tablecmds.c:5492 +#: commands/tablecmds.c:5553 #, c-format msgid "cannot rewrite temporary tables of other sessions" msgstr "перезаписывать временные таблицы других сеансов нельзя" -#: commands/tablecmds.c:5986 +#: commands/tablecmds.c:6048 #, c-format msgid "column \"%s\" of relation \"%s\" contains null values" msgstr "столбец \"%s\" отношения \"%s\" содержит значения NULL" -#: commands/tablecmds.c:6003 +#: commands/tablecmds.c:6065 #, c-format msgid "check constraint \"%s\" of relation \"%s\" is violated by some row" msgstr "ограничение-проверку \"%s\" отношения \"%s\" нарушает некоторая строка" -#: commands/tablecmds.c:6022 partitioning/partbounds.c:3404 +#: commands/tablecmds.c:6084 partitioning/partbounds.c:3388 #, c-format msgid "" "updated partition constraint for default partition \"%s\" would be violated " @@ -11421,24 +11738,24 @@ msgstr "" "изменённое ограничение секции для секции по умолчанию \"%s\" будет нарушено " "некоторыми строками" -#: commands/tablecmds.c:6028 +#: commands/tablecmds.c:6090 #, 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:6295 +#: commands/tablecmds.c:6352 #, c-format msgid "ALTER action %s cannot be performed on relation \"%s\"" msgstr "действие ALTER %s нельзя выполнить с отношением \"%s\"" -#: commands/tablecmds.c:6510 commands/tablecmds.c:6517 +#: commands/tablecmds.c:6607 commands/tablecmds.c:6614 #, c-format msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it" msgstr "" "изменить тип \"%s\" нельзя, так как он задействован в столбце \"%s.%s\"" -#: commands/tablecmds.c:6524 +#: commands/tablecmds.c:6621 #, c-format msgid "" "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type" @@ -11446,77 +11763,77 @@ msgstr "" "изменить стороннюю таблицу \"%s\" нельзя, так как столбец \"%s.%s\" " "задействует тип её строки" -#: commands/tablecmds.c:6531 +#: commands/tablecmds.c:6628 #, c-format msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type" msgstr "" "изменить таблицу \"%s\" нельзя, так как столбец \"%s.%s\" задействует тип её " "строки" -#: commands/tablecmds.c:6587 +#: commands/tablecmds.c:6684 #, c-format msgid "cannot alter type \"%s\" because it is the type of a typed table" msgstr "изменить тип \"%s\", так как это тип типизированной таблицы" -#: commands/tablecmds.c:6589 +#: commands/tablecmds.c:6686 #, c-format msgid "Use ALTER ... CASCADE to alter the typed tables too." msgstr "" "Чтобы изменить также типизированные таблицы, выполните ALTER ... CASCADE." -#: commands/tablecmds.c:6635 +#: commands/tablecmds.c:6732 #, c-format msgid "type %s is not a composite type" msgstr "тип %s не является составным" -#: commands/tablecmds.c:6662 +#: commands/tablecmds.c:6759 #, c-format msgid "cannot add column to typed table" msgstr "добавить столбец в типизированную таблицу нельзя" -#: commands/tablecmds.c:6715 +#: commands/tablecmds.c:6812 #, c-format msgid "cannot add column to a partition" msgstr "добавить столбец в секцию нельзя" -#: commands/tablecmds.c:6744 commands/tablecmds.c:15092 +#: commands/tablecmds.c:6841 commands/tablecmds.c:15165 #, c-format msgid "child table \"%s\" has different type for column \"%s\"" msgstr "дочерняя таблица \"%s\" имеет другой тип для столбца \"%s\"" -#: commands/tablecmds.c:6750 commands/tablecmds.c:15099 +#: commands/tablecmds.c:6847 commands/tablecmds.c:15172 #, c-format msgid "child table \"%s\" has different collation for column \"%s\"" msgstr "" "дочерняя таблица \"%s\" имеет другое правило сортировки для столбца \"%s\"" -#: commands/tablecmds.c:6764 +#: commands/tablecmds.c:6865 #, c-format msgid "merging definition of column \"%s\" for child \"%s\"" msgstr "объединение определений столбца \"%s\" для потомка \"%s\"" -#: commands/tablecmds.c:6807 +#: commands/tablecmds.c:6908 #, c-format msgid "cannot recursively add identity column to table that has child tables" msgstr "" "добавить столбец идентификации в таблицу, у которой есть дочерние, нельзя" -#: commands/tablecmds.c:7051 +#: commands/tablecmds.c:7159 #, c-format msgid "column must be added to child tables too" msgstr "столбец также должен быть добавлен к дочерним таблицам" -#: commands/tablecmds.c:7129 +#: commands/tablecmds.c:7237 #, c-format msgid "column \"%s\" of relation \"%s\" already exists, skipping" msgstr "столбец \"%s\" отношения \"%s\" уже существует, пропускается" -#: commands/tablecmds.c:7136 +#: commands/tablecmds.c:7244 #, c-format msgid "column \"%s\" of relation \"%s\" already exists" msgstr "столбец \"%s\" отношения \"%s\" уже существует" -#: commands/tablecmds.c:7202 commands/tablecmds.c:12021 +#: commands/tablecmds.c:7310 commands/tablecmds.c:12094 #, c-format msgid "" "cannot remove constraint from only the partitioned table when partitions " @@ -11525,70 +11842,70 @@ msgstr "" "удалить ограничение только из секционированной таблицы, когда существуют " "секции, нельзя" -#: commands/tablecmds.c:7203 commands/tablecmds.c:7520 -#: commands/tablecmds.c:8517 commands/tablecmds.c:12022 +#: commands/tablecmds.c:7311 commands/tablecmds.c:7628 +#: commands/tablecmds.c:8593 commands/tablecmds.c:12095 #, c-format msgid "Do not specify the ONLY keyword." msgstr "Не указывайте ключевое слово ONLY." -#: commands/tablecmds.c:7240 commands/tablecmds.c:7446 -#: commands/tablecmds.c:7588 commands/tablecmds.c:7702 -#: commands/tablecmds.c:7796 commands/tablecmds.c:7855 -#: commands/tablecmds.c:7974 commands/tablecmds.c:8113 -#: commands/tablecmds.c:8183 commands/tablecmds.c:8339 -#: commands/tablecmds.c:12176 commands/tablecmds.c:13681 -#: commands/tablecmds.c:16249 +#: 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 #, c-format msgid "cannot alter system column \"%s\"" msgstr "системный столбец \"%s\" нельзя изменить" -#: commands/tablecmds.c:7246 commands/tablecmds.c:7594 +#: commands/tablecmds.c:7354 commands/tablecmds.c:7702 #, c-format msgid "column \"%s\" of relation \"%s\" is an identity column" msgstr "столбец \"%s\" отношения \"%s\" является столбцом идентификации" -#: commands/tablecmds.c:7289 +#: commands/tablecmds.c:7397 #, c-format msgid "column \"%s\" is in a primary key" msgstr "столбец \"%s\" входит в первичный ключ" -#: commands/tablecmds.c:7294 +#: commands/tablecmds.c:7402 #, c-format msgid "column \"%s\" is in index used as replica identity" msgstr "столбец \"%s\" входит в индекс, используемый для идентификации реплики" -#: commands/tablecmds.c:7317 +#: commands/tablecmds.c:7425 #, c-format msgid "column \"%s\" is marked NOT NULL in parent table" msgstr "столбец \"%s\" в родительской таблице помечен как NOT NULL" -#: commands/tablecmds.c:7517 commands/tablecmds.c:9000 +#: commands/tablecmds.c:7625 commands/tablecmds.c:9077 #, c-format msgid "constraint must be added to child tables too" msgstr "ограничение также должно быть добавлено к дочерним таблицам" -#: commands/tablecmds.c:7518 +#: commands/tablecmds.c:7626 #, c-format msgid "Column \"%s\" of relation \"%s\" is not already NOT NULL." msgstr "Столбец \"%s\" отношения \"%s\" уже имеет свойство NOT NULL." -#: commands/tablecmds.c:7596 +#: commands/tablecmds.c:7704 #, c-format msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY instead." msgstr "Вместо этого выполните ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY." -#: commands/tablecmds.c:7601 +#: commands/tablecmds.c:7709 #, c-format msgid "column \"%s\" of relation \"%s\" is a generated column" msgstr "столбец \"%s\" отношения \"%s\" является генерируемым" -#: commands/tablecmds.c:7604 +#: commands/tablecmds.c:7712 #, c-format msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION instead." msgstr "" "Вместо этого выполните ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION." -#: commands/tablecmds.c:7713 +#: commands/tablecmds.c:7821 #, c-format msgid "" "column \"%s\" of relation \"%s\" must be declared NOT NULL before identity " @@ -11597,46 +11914,46 @@ msgstr "" "столбец \"%s\" отношения \"%s\" должен быть объявлен как NOT NULL, чтобы его " "можно было сделать столбцом идентификации" -#: commands/tablecmds.c:7719 +#: commands/tablecmds.c:7827 #, c-format msgid "column \"%s\" of relation \"%s\" is already an identity column" msgstr "столбец \"%s\" отношения \"%s\" уже является столбцом идентификации" -#: commands/tablecmds.c:7725 +#: commands/tablecmds.c:7833 #, c-format msgid "column \"%s\" of relation \"%s\" already has a default value" msgstr "столбец \"%s\" отношения \"%s\" уже имеет значение по умолчанию" -#: commands/tablecmds.c:7802 commands/tablecmds.c:7863 +#: commands/tablecmds.c:7910 commands/tablecmds.c:7971 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column" msgstr "столбец \"%s\" отношения \"%s\" не является столбцом идентификации" -#: commands/tablecmds.c:7868 +#: commands/tablecmds.c:7976 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column, skipping" msgstr "" "столбец \"%s\" отношения \"%s\" не является столбцом идентификации, " "пропускается" -#: commands/tablecmds.c:7921 +#: commands/tablecmds.c:8029 #, c-format msgid "ALTER TABLE / DROP EXPRESSION must be applied to child tables too" msgstr "" "ALTER TABLE / DROP EXPRESSION нужно применять также к дочерним таблицам" -#: commands/tablecmds.c:7943 +#: commands/tablecmds.c:8051 #, c-format msgid "cannot drop generation expression from inherited column" msgstr "нельзя удалить генерирующее выражение из наследуемого столбца" -#: commands/tablecmds.c:7982 +#: commands/tablecmds.c:8090 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column" msgstr "" "столбец \"%s\" отношения \"%s\" не является сохранённым генерируемым столбцом" -#: commands/tablecmds.c:7987 +#: commands/tablecmds.c:8095 #, c-format msgid "" "column \"%s\" of relation \"%s\" is not a stored generated column, skipping" @@ -11644,63 +11961,53 @@ msgstr "" "столбец \"%s\" отношения \"%s\" пропускается, так как не является " "сохранённым генерируемым столбцом" -#: commands/tablecmds.c:8060 +#: commands/tablecmds.c:8168 #, c-format msgid "cannot refer to non-index column by number" msgstr "по номеру можно ссылаться только на столбец в индексе" -#: commands/tablecmds.c:8103 +#: commands/tablecmds.c:8211 #, c-format msgid "column number %d of relation \"%s\" does not exist" msgstr "столбец с номером %d отношения \"%s\" не существует" -#: commands/tablecmds.c:8122 +#: commands/tablecmds.c:8230 #, c-format msgid "cannot alter statistics on included column \"%s\" of index \"%s\"" msgstr "изменить статистику включённого столбца \"%s\" индекса \"%s\" нельзя" -#: commands/tablecmds.c:8127 +#: commands/tablecmds.c:8235 #, c-format msgid "cannot alter statistics on non-expression column \"%s\" of index \"%s\"" msgstr "" "изменить статистику столбца \"%s\" (не выражения) индекса \"%s\" нельзя" -#: commands/tablecmds.c:8129 +#: commands/tablecmds.c:8237 #, c-format msgid "Alter statistics on table column instead." msgstr "Вместо этого измените статистику для столбца в таблице." -#: commands/tablecmds.c:8319 -#, c-format -msgid "invalid storage type \"%s\"" -msgstr "неверный тип хранилища \"%s\"" - -#: commands/tablecmds.c:8351 -#, c-format -msgid "column data type %s can only have storage PLAIN" -msgstr "тип данных столбца %s совместим только с хранилищем PLAIN" - -#: commands/tablecmds.c:8396 +#: commands/tablecmds.c:8472 #, c-format msgid "cannot drop column from typed table" msgstr "нельзя удалить столбец в типизированной таблице" -#: commands/tablecmds.c:8455 +#: commands/tablecmds.c:8531 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist, skipping" msgstr "столбец \"%s\" в таблице\"%s\" не существует, пропускается" -#: commands/tablecmds.c:8468 +#: commands/tablecmds.c:8544 #, c-format msgid "cannot drop system column \"%s\"" msgstr "нельзя удалить системный столбец \"%s\"" -#: commands/tablecmds.c:8478 +#: commands/tablecmds.c:8554 #, c-format msgid "cannot drop inherited column \"%s\"" msgstr "нельзя удалить наследованный столбец \"%s\"" -#: commands/tablecmds.c:8491 +#: commands/tablecmds.c:8567 #, c-format msgid "" "cannot drop column \"%s\" because it is part of the partition key of " @@ -11709,7 +12016,7 @@ msgstr "" "удалить столбец \"%s\" нельзя, так как он входит в ключ разбиения отношения " "\"%s\"" -#: commands/tablecmds.c:8516 +#: commands/tablecmds.c:8592 #, c-format msgid "" "cannot drop column from only the partitioned table when partitions exist" @@ -11717,7 +12024,7 @@ msgstr "" "удалить столбец только из секционированной таблицы, когда существуют секции, " "нельзя" -#: commands/tablecmds.c:8720 +#: commands/tablecmds.c:8797 #, c-format msgid "" "ALTER TABLE / ADD CONSTRAINT USING INDEX is not supported on partitioned " @@ -11726,14 +12033,14 @@ msgstr "" "ALTER TABLE / ADD CONSTRAINT USING INDEX не поддерживается с " "секционированными таблицами" -#: commands/tablecmds.c:8745 +#: commands/tablecmds.c:8822 #, 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:9082 +#: commands/tablecmds.c:9159 #, c-format msgid "" "cannot use ONLY for foreign key on partitioned table \"%s\" referencing " @@ -11742,7 +12049,7 @@ msgstr "" "нельзя использовать ONLY для стороннего ключа в секционированной таблице " "\"%s\", ссылающегося на отношение \"%s\"" -#: commands/tablecmds.c:9088 +#: commands/tablecmds.c:9165 #, c-format msgid "" "cannot add NOT VALID foreign key on partitioned table \"%s\" referencing " @@ -11751,25 +12058,25 @@ msgstr "" "нельзя добавить с характеристикой NOT VALID сторонний ключ в " "секционированной таблице \"%s\", ссылающийся на отношение \"%s\"" -#: commands/tablecmds.c:9091 +#: commands/tablecmds.c:9168 #, c-format msgid "This feature is not yet supported on partitioned tables." msgstr "" "Эта функциональность с секционированными таблицами пока не поддерживается." -#: commands/tablecmds.c:9098 commands/tablecmds.c:9564 +#: commands/tablecmds.c:9175 commands/tablecmds.c:9631 #, c-format msgid "referenced relation \"%s\" is not a table" msgstr "указанный объект \"%s\" не является таблицей" -#: commands/tablecmds.c:9121 +#: commands/tablecmds.c:9198 #, c-format msgid "constraints on permanent tables may reference only permanent tables" msgstr "" "ограничения в постоянных таблицах могут ссылаться только на постоянные " "таблицы" -#: commands/tablecmds.c:9128 +#: commands/tablecmds.c:9205 #, c-format msgid "" "constraints on unlogged tables may reference only permanent or unlogged " @@ -11778,13 +12085,13 @@ msgstr "" "ограничения в нежурналируемых таблицах могут ссылаться только на постоянные " "или нежурналируемые таблицы" -#: commands/tablecmds.c:9134 +#: commands/tablecmds.c:9211 #, c-format msgid "constraints on temporary tables may reference only temporary tables" msgstr "" "ограничения во временных таблицах могут ссылаться только на временные таблицы" -#: commands/tablecmds.c:9138 +#: commands/tablecmds.c:9215 #, c-format msgid "" "constraints on temporary tables must involve temporary tables of this session" @@ -11792,7 +12099,7 @@ msgstr "" "ограничения во временных таблицах должны ссылаться только на временные " "таблицы текущего сеанса" -#: commands/tablecmds.c:9212 commands/tablecmds.c:9218 +#: commands/tablecmds.c:9279 commands/tablecmds.c:9285 #, c-format msgid "" "invalid %s action for foreign key constraint containing generated column" @@ -11800,22 +12107,22 @@ msgstr "" "некорректное действие %s для ограничения внешнего ключа, содержащего " "генерируемый столбец" -#: commands/tablecmds.c:9234 +#: commands/tablecmds.c:9301 #, c-format msgid "number of referencing and referenced columns for foreign key disagree" msgstr "число столбцов в источнике и назначении внешнего ключа не совпадает" -#: commands/tablecmds.c:9341 +#: commands/tablecmds.c:9408 #, c-format msgid "foreign key constraint \"%s\" cannot be implemented" msgstr "ограничение внешнего ключа \"%s\" нельзя реализовать" -#: commands/tablecmds.c:9343 +#: commands/tablecmds.c:9410 #, c-format msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s." msgstr "Столбцы ключа \"%s\" и \"%s\" имеют несовместимые типы: %s и %s." -#: commands/tablecmds.c:9500 +#: commands/tablecmds.c:9567 #, c-format msgid "" "column \"%s\" referenced in ON DELETE SET action must be part of foreign key" @@ -11823,40 +12130,40 @@ msgstr "" "столбец \"%s\", фигурирующий в действии ON DELETE SET, должен входить во " "внешний ключ" -#: commands/tablecmds.c:9773 commands/tablecmds.c:10241 -#: parser/parse_utilcmd.c:795 parser/parse_utilcmd.c:924 +#: commands/tablecmds.c:9841 commands/tablecmds.c:10311 +#: parser/parse_utilcmd.c:791 parser/parse_utilcmd.c:920 #, c-format msgid "foreign key constraints are not supported on foreign tables" msgstr "ограничения внешнего ключа для сторонних таблиц не поддерживаются" -#: commands/tablecmds.c:10793 commands/tablecmds.c:11071 -#: commands/tablecmds.c:11978 commands/tablecmds.c:12053 +#: commands/tablecmds.c:10864 commands/tablecmds.c:11142 +#: commands/tablecmds.c:12051 commands/tablecmds.c:12126 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist" msgstr "ограничение \"%s\" в таблице \"%s\" не существует" -#: commands/tablecmds.c:10800 +#: commands/tablecmds.c:10871 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint" msgstr "ограничение \"%s\" в таблице \"%s\" не является внешним ключом" -#: commands/tablecmds.c:10838 +#: commands/tablecmds.c:10909 #, c-format msgid "cannot alter constraint \"%s\" on relation \"%s\"" msgstr "изменить ограничение \"%s\" таблицы \"%s\" нельзя" -#: commands/tablecmds.c:10841 +#: commands/tablecmds.c:10912 #, c-format msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"." msgstr "" "Ограничение \"%s\" является производным от ограничения \"%s\" таблицы \"%s\"." -#: commands/tablecmds.c:10843 +#: commands/tablecmds.c:10914 #, c-format -msgid "You may alter the constraint it derives from, instead." +msgid "You may alter the constraint it derives from instead." msgstr "Вместо этого вы можете изменить родительское ограничение." -#: commands/tablecmds.c:11079 +#: commands/tablecmds.c:11150 #, c-format msgid "" "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint" @@ -11864,46 +12171,51 @@ msgstr "" "ограничение \"%s\" в таблице \"%s\" не является внешним ключом или " "ограничением-проверкой" -#: commands/tablecmds.c:11157 +#: commands/tablecmds.c:11227 #, c-format msgid "constraint must be validated on child tables too" msgstr "ограничение также должно соблюдаться в дочерних таблицах" -#: commands/tablecmds.c:11241 +#: commands/tablecmds.c:11314 #, c-format msgid "column \"%s\" referenced in foreign key constraint does not exist" msgstr "столбец \"%s\", указанный в ограничении внешнего ключа, не существует" -#: commands/tablecmds.c:11246 +#: commands/tablecmds.c:11320 +#, c-format +msgid "system columns cannot be used in foreign keys" +msgstr "системные столбцы нельзя использовать во внешних ключах" + +#: commands/tablecmds.c:11324 #, c-format msgid "cannot have more than %d keys in a foreign key" msgstr "во внешнем ключе не может быть больше %d столбцов" -#: commands/tablecmds.c:11312 +#: commands/tablecmds.c:11389 #, c-format msgid "cannot use a deferrable primary key for referenced table \"%s\"" msgstr "" "использовать откладываемый первичный ключ в целевой внешней таблице \"%s\" " "нельзя" -#: commands/tablecmds.c:11329 +#: commands/tablecmds.c:11406 #, c-format msgid "there is no primary key for referenced table \"%s\"" msgstr "в целевой внешней таблице \"%s\" нет первичного ключа" -#: commands/tablecmds.c:11394 +#: commands/tablecmds.c:11470 #, c-format msgid "foreign key referenced-columns list must not contain duplicates" msgstr "в списке столбцов внешнего ключа не должно быть повторений" -#: commands/tablecmds.c:11488 +#: commands/tablecmds.c:11562 #, c-format msgid "cannot use a deferrable unique constraint for referenced table \"%s\"" msgstr "" "использовать откладываемое ограничение уникальности в целевой внешней " "таблице \"%s\" нельзя" -#: commands/tablecmds.c:11493 +#: commands/tablecmds.c:11567 #, c-format msgid "" "there is no unique constraint matching given keys for referenced table \"%s\"" @@ -11911,27 +12223,27 @@ msgstr "" "в целевой внешней таблице \"%s\" нет ограничения уникальности, " "соответствующего данным ключам" -#: commands/tablecmds.c:11934 +#: commands/tablecmds.c:12007 #, c-format msgid "cannot drop inherited constraint \"%s\" of relation \"%s\"" msgstr "удалить наследованное ограничение \"%s\" таблицы \"%s\" нельзя" -#: commands/tablecmds.c:11984 +#: commands/tablecmds.c:12057 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping" msgstr "ограничение \"%s\" в таблице \"%s\" не существует, пропускается" -#: commands/tablecmds.c:12160 +#: commands/tablecmds.c:12233 #, c-format msgid "cannot alter column type of typed table" msgstr "изменить тип столбца в типизированной таблице нельзя" -#: commands/tablecmds.c:12187 +#: commands/tablecmds.c:12260 #, c-format msgid "cannot alter inherited column \"%s\"" msgstr "изменить наследованный столбец \"%s\" нельзя" -#: commands/tablecmds.c:12196 +#: commands/tablecmds.c:12269 #, c-format msgid "" "cannot alter column \"%s\" because it is part of the partition key of " @@ -11940,7 +12252,7 @@ msgstr "" "изменить столбец \"%s\" нельзя, так как он входит в ключ разбиения отношения " "\"%s\"" -#: commands/tablecmds.c:12246 +#: commands/tablecmds.c:12319 #, c-format msgid "" "result of USING clause for column \"%s\" cannot be cast automatically to " @@ -11948,45 +12260,45 @@ msgid "" msgstr "" "результат USING для столбца \"%s\" нельзя автоматически привести к типу %s" -#: commands/tablecmds.c:12249 +#: commands/tablecmds.c:12322 #, c-format msgid "You might need to add an explicit cast." msgstr "Возможно, необходимо добавить явное приведение." -#: commands/tablecmds.c:12253 +#: commands/tablecmds.c:12326 #, 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:12256 +#: commands/tablecmds.c:12329 #, c-format msgid "You might need to specify \"USING %s::%s\"." msgstr "Возможно, необходимо указать \"USING %s::%s\"." -#: commands/tablecmds.c:12355 +#: commands/tablecmds.c:12428 #, c-format msgid "cannot alter inherited column \"%s\" of relation \"%s\"" msgstr "изменить наследованный столбец \"%s\" отношения \"%s\" нельзя" -#: commands/tablecmds.c:12383 +#: commands/tablecmds.c:12457 #, c-format msgid "USING expression contains a whole-row table reference." msgstr "Выражение USING ссылается на тип всей строки таблицы." -#: commands/tablecmds.c:12394 +#: commands/tablecmds.c:12468 #, c-format msgid "type of inherited column \"%s\" must be changed in child tables too" msgstr "" "тип наследованного столбца \"%s\" должен быть изменён и в дочерних таблицах" -#: commands/tablecmds.c:12519 +#: commands/tablecmds.c:12593 #, c-format msgid "cannot alter type of column \"%s\" twice" msgstr "нельзя изменить тип столбца \"%s\" дважды" -#: commands/tablecmds.c:12557 +#: commands/tablecmds.c:12631 #, c-format msgid "" "generation expression for column \"%s\" cannot be cast automatically to type " @@ -11995,153 +12307,153 @@ msgstr "" "генерирующее выражение для столбца \"%s\" нельзя автоматически привести к " "типу %s" -#: commands/tablecmds.c:12562 +#: commands/tablecmds.c:12636 #, c-format msgid "default for column \"%s\" cannot be cast automatically to type %s" msgstr "" "значение по умолчанию для столбца \"%s\" нельзя автоматически привести к " "типу %s" -#: commands/tablecmds.c:12643 +#: commands/tablecmds.c:12717 #, c-format msgid "cannot alter type of a column used by a view or rule" msgstr "" "изменить тип столбца, задействованного в представлении или правиле, нельзя" -#: commands/tablecmds.c:12644 commands/tablecmds.c:12663 -#: commands/tablecmds.c:12681 +#: commands/tablecmds.c:12718 commands/tablecmds.c:12737 +#: commands/tablecmds.c:12755 #, c-format msgid "%s depends on column \"%s\"" msgstr "%s зависит от столбца \"%s\"" -#: commands/tablecmds.c:12662 +#: commands/tablecmds.c:12736 #, c-format msgid "cannot alter type of a column used in a trigger definition" msgstr "изменить тип столбца, задействованного в определении триггера, нельзя" -#: commands/tablecmds.c:12680 +#: commands/tablecmds.c:12754 #, c-format msgid "cannot alter type of a column used in a policy definition" msgstr "изменить тип столбца, задействованного в определении политики, нельзя" -#: commands/tablecmds.c:12711 +#: commands/tablecmds.c:12785 #, c-format msgid "cannot alter type of a column used by a generated column" msgstr "изменить тип столбца, задействованного в генерируемом столбце, нельзя" -#: commands/tablecmds.c:12712 +#: commands/tablecmds.c:12786 #, c-format msgid "Column \"%s\" is used by generated column \"%s\"." msgstr "Столбец \"%s\" используется генерируемым столбцом \"%s\"." -#: commands/tablecmds.c:13789 commands/tablecmds.c:13801 +#: commands/tablecmds.c:13861 commands/tablecmds.c:13873 #, c-format msgid "cannot change owner of index \"%s\"" msgstr "сменить владельца индекса \"%s\" нельзя" -#: commands/tablecmds.c:13791 commands/tablecmds.c:13803 +#: commands/tablecmds.c:13863 commands/tablecmds.c:13875 #, c-format -msgid "Change the ownership of the index's table, instead." +msgid "Change the ownership of the index's table instead." msgstr "Однако возможно сменить владельца таблицы, содержащей этот индекс." -#: commands/tablecmds.c:13817 +#: commands/tablecmds.c:13889 #, c-format msgid "cannot change owner of sequence \"%s\"" msgstr "сменить владельца последовательности \"%s\" нельзя" -#: commands/tablecmds.c:13831 commands/tablecmds.c:17141 -#: commands/tablecmds.c:17160 +#: commands/tablecmds.c:13903 commands/tablecmds.c:17173 +#: commands/tablecmds.c:17192 #, c-format msgid "Use ALTER TYPE instead." msgstr "Используйте ALTER TYPE." -#: commands/tablecmds.c:13840 +#: commands/tablecmds.c:13912 #, c-format msgid "cannot change owner of relation \"%s\"" msgstr "сменить владельца отношения \"%s\" нельзя" -#: commands/tablecmds.c:14202 +#: commands/tablecmds.c:14274 #, c-format msgid "cannot have multiple SET TABLESPACE subcommands" msgstr "в одной инструкции не может быть несколько подкоманд SET TABLESPACE" -#: commands/tablecmds.c:14279 +#: commands/tablecmds.c:14351 #, c-format msgid "cannot set options for relation \"%s\"" msgstr "задать параметры отношения \"%s\" нельзя" -#: commands/tablecmds.c:14313 commands/view.c:521 +#: commands/tablecmds.c:14385 commands/view.c:445 #, c-format msgid "WITH CHECK OPTION is supported only on automatically updatable views" msgstr "" "WITH CHECK OPTION поддерживается только с автообновляемыми представлениями" -#: commands/tablecmds.c:14563 +#: commands/tablecmds.c:14635 #, c-format msgid "only tables, indexes, and materialized views exist in tablespaces" msgstr "" "в табличных пространствах есть только таблицы, индексы и материализованные " "представления" -#: commands/tablecmds.c:14575 +#: commands/tablecmds.c:14647 #, c-format msgid "cannot move relations in to or out of pg_global tablespace" msgstr "перемещать объекты в/из табличного пространства pg_global нельзя" -#: commands/tablecmds.c:14667 +#: commands/tablecmds.c:14739 #, c-format msgid "aborting because lock on relation \"%s.%s\" is not available" msgstr "" "обработка прерывается из-за невозможности заблокировать отношение \"%s.%s\"" -#: commands/tablecmds.c:14683 +#: commands/tablecmds.c:14755 #, c-format msgid "no matching relations in tablespace \"%s\" found" msgstr "в табличном пространстве \"%s\" не найдены подходящие отношения" -#: commands/tablecmds.c:14800 +#: commands/tablecmds.c:14873 #, c-format msgid "cannot change inheritance of typed table" msgstr "изменить наследование типизированной таблицы нельзя" -#: commands/tablecmds.c:14805 commands/tablecmds.c:15361 +#: commands/tablecmds.c:14878 commands/tablecmds.c:15396 #, c-format msgid "cannot change inheritance of a partition" msgstr "изменить наследование секции нельзя" -#: commands/tablecmds.c:14810 +#: commands/tablecmds.c:14883 #, c-format msgid "cannot change inheritance of partitioned table" msgstr "изменить наследование секционированной таблицы нельзя" -#: commands/tablecmds.c:14856 +#: commands/tablecmds.c:14929 #, c-format msgid "cannot inherit to temporary relation of another session" msgstr "наследование для временного отношения другого сеанса невозможно" -#: commands/tablecmds.c:14869 +#: commands/tablecmds.c:14942 #, c-format msgid "cannot inherit from a partition" msgstr "наследование от секции невозможно" -#: commands/tablecmds.c:14891 commands/tablecmds.c:17794 +#: commands/tablecmds.c:14964 commands/tablecmds.c:17813 #, c-format msgid "circular inheritance not allowed" msgstr "циклическое наследование недопустимо" -#: commands/tablecmds.c:14892 commands/tablecmds.c:17795 +#: commands/tablecmds.c:14965 commands/tablecmds.c:17814 #, c-format msgid "\"%s\" is already a child of \"%s\"." msgstr "\"%s\" уже является потомком \"%s\"." -#: commands/tablecmds.c:14905 +#: commands/tablecmds.c:14978 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming an inheritance child" msgstr "" "триггер \"%s\" не позволяет таблице \"%s\" стать потомком в иерархии " "наследования" -#: commands/tablecmds.c:14907 +#: commands/tablecmds.c:14980 #, c-format msgid "" "ROW triggers with transition tables are not supported in inheritance " @@ -12150,36 +12462,34 @@ msgstr "" "Триггеры ROW с переходными таблицами не поддерживаются в иерархиях " "наследования." -#: commands/tablecmds.c:15110 +#: commands/tablecmds.c:15183 #, c-format msgid "column \"%s\" in child table must be marked NOT NULL" msgstr "столбец \"%s\" в дочерней таблице должен быть помечен как NOT NULL" -#: commands/tablecmds.c:15119 +#: commands/tablecmds.c:15192 #, c-format msgid "column \"%s\" in child table must be a generated column" msgstr "столбец \"%s\" в дочерней таблице должен быть генерируемым" -#: commands/tablecmds.c:15169 +#: commands/tablecmds.c:15197 #, c-format -msgid "column \"%s\" in child table has a conflicting generation expression" -msgstr "" -"столбец \"%s\" в дочерней таблице содержит конфликтующее генерирующее " -"выражение" +msgid "column \"%s\" in child table must not be a generated column" +msgstr "столбец \"%s\" в дочерней таблице должен быть не генерируемым" -#: commands/tablecmds.c:15197 +#: commands/tablecmds.c:15228 #, c-format msgid "child table is missing column \"%s\"" msgstr "в дочерней таблице не хватает столбца \"%s\"" -#: commands/tablecmds.c:15285 +#: commands/tablecmds.c:15316 #, c-format msgid "child table \"%s\" has different definition for check constraint \"%s\"" msgstr "" "дочерняя таблица \"%s\" содержит другое определение ограничения-проверки " "\"%s\"" -#: commands/tablecmds.c:15293 +#: commands/tablecmds.c:15324 #, c-format msgid "" "constraint \"%s\" conflicts with non-inherited constraint on child table " @@ -12188,7 +12498,7 @@ msgstr "" "ограничение \"%s\" конфликтует с ненаследуемым ограничением дочерней таблицы " "\"%s\"" -#: commands/tablecmds.c:15304 +#: commands/tablecmds.c:15335 #, c-format msgid "" "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\"" @@ -12196,82 +12506,82 @@ msgstr "" "ограничение \"%s\" конфликтует с непроверенным (NOT VALID) ограничением " "дочерней таблицы \"%s\"" -#: commands/tablecmds.c:15339 +#: commands/tablecmds.c:15374 #, c-format msgid "child table is missing constraint \"%s\"" msgstr "в дочерней таблице не хватает ограничения \"%s\"" -#: commands/tablecmds.c:15425 +#: commands/tablecmds.c:15460 #, c-format msgid "partition \"%s\" already pending detach in partitioned table \"%s.%s\"" msgstr "" "секция \"%s\" уже ожидает отсоединения от секционированной таблицы \"%s.%s\"" -#: commands/tablecmds.c:15454 commands/tablecmds.c:15502 +#: commands/tablecmds.c:15489 commands/tablecmds.c:15537 #, c-format msgid "relation \"%s\" is not a partition of relation \"%s\"" msgstr "отношение \"%s\" не является секцией отношения \"%s\"" -#: commands/tablecmds.c:15508 +#: commands/tablecmds.c:15543 #, c-format msgid "relation \"%s\" is not a parent of relation \"%s\"" msgstr "отношение \"%s\" не является предком отношения \"%s\"" -#: commands/tablecmds.c:15736 +#: commands/tablecmds.c:15771 #, c-format msgid "typed tables cannot inherit" msgstr "типизированные таблицы не могут наследоваться" -#: commands/tablecmds.c:15766 +#: commands/tablecmds.c:15801 #, c-format msgid "table is missing column \"%s\"" msgstr "в таблице не хватает столбца \"%s\"" -#: commands/tablecmds.c:15777 +#: commands/tablecmds.c:15812 #, c-format msgid "table has column \"%s\" where type requires \"%s\"" msgstr "таблица содержит столбец \"%s\", тогда как тип требует \"%s\"" -#: commands/tablecmds.c:15786 +#: commands/tablecmds.c:15821 #, c-format msgid "table \"%s\" has different type for column \"%s\"" msgstr "таблица \"%s\" содержит столбец \"%s\" другого типа" -#: commands/tablecmds.c:15800 +#: commands/tablecmds.c:15835 #, c-format msgid "table has extra column \"%s\"" msgstr "таблица содержит лишний столбец \"%s\"" -#: commands/tablecmds.c:15852 +#: commands/tablecmds.c:15887 #, c-format msgid "\"%s\" is not a typed table" msgstr "\"%s\" - это не типизированная таблица" -#: commands/tablecmds.c:16026 +#: commands/tablecmds.c:16061 #, c-format msgid "cannot use non-unique index \"%s\" as replica identity" msgstr "" "для идентификации реплики нельзя использовать неуникальный индекс \"%s\"" -#: commands/tablecmds.c:16032 +#: commands/tablecmds.c:16067 #, c-format msgid "cannot use non-immediate index \"%s\" as replica identity" msgstr "" "для идентификации реплики нельзя использовать не непосредственный индекс " "\"%s\"" -#: commands/tablecmds.c:16038 +#: commands/tablecmds.c:16073 #, c-format msgid "cannot use expression index \"%s\" as replica identity" msgstr "" "для идентификации реплики нельзя использовать индекс с выражением \"%s\"" -#: commands/tablecmds.c:16044 +#: commands/tablecmds.c:16079 #, c-format msgid "cannot use partial index \"%s\" as replica identity" msgstr "для идентификации реплики нельзя использовать частичный индекс \"%s\"" -#: commands/tablecmds.c:16061 +#: commands/tablecmds.c:16096 #, c-format msgid "" "index \"%s\" cannot be used as replica identity because column %d is a " @@ -12280,7 +12590,7 @@ msgstr "" "индекс \"%s\" нельзя использовать для идентификации реплики, так как столбец " "%d - системный" -#: commands/tablecmds.c:16068 +#: commands/tablecmds.c:16103 #, c-format msgid "" "index \"%s\" cannot be used as replica identity because column \"%s\" is " @@ -12289,13 +12599,13 @@ msgstr "" "индекс \"%s\" нельзя использовать для идентификации реплики, так как столбец " "\"%s\" допускает NULL" -#: commands/tablecmds.c:16315 +#: commands/tablecmds.c:16348 #, c-format msgid "cannot change logged status of table \"%s\" because it is temporary" msgstr "" "изменить состояние журналирования таблицы %s нельзя, так как она временная" -#: commands/tablecmds.c:16339 +#: commands/tablecmds.c:16372 #, c-format msgid "" "cannot change table \"%s\" to unlogged because it is part of a publication" @@ -12303,12 +12613,12 @@ msgstr "" "таблицу \"%s\" нельзя сделать нежурналируемой, так как она включена в " "публикацию" -#: commands/tablecmds.c:16341 +#: commands/tablecmds.c:16374 #, c-format msgid "Unlogged relations cannot be replicated." msgstr "Нежурналируемые отношения не поддерживают репликацию." -#: commands/tablecmds.c:16386 +#: commands/tablecmds.c:16419 #, c-format msgid "" "could not change table \"%s\" to logged because it references unlogged table " @@ -12317,7 +12627,7 @@ msgstr "" "не удалось сделать таблицу \"%s\" журналируемой, так как она ссылается на " "нежурналируемую таблицу \"%s\"" -#: commands/tablecmds.c:16396 +#: commands/tablecmds.c:16429 #, c-format msgid "" "could not change table \"%s\" to unlogged because it references logged table " @@ -12326,102 +12636,97 @@ msgstr "" "не удалось сделать таблицу \"%s\" нежурналируемой, так как она ссылается на " "журналируемую таблицу \"%s\"" -#: commands/tablecmds.c:16454 +#: commands/tablecmds.c:16487 #, c-format msgid "cannot move an owned sequence into another schema" msgstr "переместить последовательность с владельцем в другую схему нельзя" -#: commands/tablecmds.c:16561 +#: commands/tablecmds.c:16594 #, c-format msgid "relation \"%s\" already exists in schema \"%s\"" msgstr "отношение \"%s\" уже существует в схеме \"%s\"" -#: commands/tablecmds.c:16974 +#: commands/tablecmds.c:17006 #, c-format msgid "\"%s\" is not a table or materialized view" msgstr "\"%s\" - это не таблица и не материализованное представление" -#: commands/tablecmds.c:17124 +#: commands/tablecmds.c:17156 #, c-format msgid "\"%s\" is not a composite type" msgstr "\"%s\" - это не составной тип" -#: commands/tablecmds.c:17152 +#: commands/tablecmds.c:17184 #, c-format msgid "cannot change schema of index \"%s\"" msgstr "сменить схему индекса \"%s\" нельзя" -#: commands/tablecmds.c:17154 commands/tablecmds.c:17166 +#: commands/tablecmds.c:17186 commands/tablecmds.c:17198 #, c-format msgid "Change the schema of the table instead." msgstr "Однако возможно сменить владельца таблицы." -#: commands/tablecmds.c:17158 +#: commands/tablecmds.c:17190 #, c-format msgid "cannot change schema of composite type \"%s\"" msgstr "сменить схему составного типа \"%s\" нельзя" -#: commands/tablecmds.c:17164 +#: commands/tablecmds.c:17196 #, c-format msgid "cannot change schema of TOAST table \"%s\"" msgstr "сменить схему TOAST-таблицы \"%s\" нельзя" -#: commands/tablecmds.c:17201 -#, c-format -msgid "unrecognized partitioning strategy \"%s\"" -msgstr "нераспознанная стратегия секционирования \"%s\"" - -#: commands/tablecmds.c:17209 +#: commands/tablecmds.c:17228 #, c-format msgid "cannot use \"list\" partition strategy with more than one column" msgstr "стратегия секционирования по списку не поддерживает несколько столбцов" -#: commands/tablecmds.c:17275 +#: commands/tablecmds.c:17294 #, c-format msgid "column \"%s\" named in partition key does not exist" msgstr "столбец \"%s\", упомянутый в ключе секционирования, не существует" -#: commands/tablecmds.c:17283 +#: commands/tablecmds.c:17302 #, c-format msgid "cannot use system column \"%s\" in partition key" msgstr "системный столбец \"%s\" нельзя использовать в ключе секционирования" -#: commands/tablecmds.c:17294 commands/tablecmds.c:17408 +#: commands/tablecmds.c:17313 commands/tablecmds.c:17427 #, c-format msgid "cannot use generated column in partition key" msgstr "генерируемый столбец нельзя использовать в ключе секционирования" -#: commands/tablecmds.c:17295 commands/tablecmds.c:17409 commands/trigger.c:667 -#: rewrite/rewriteHandler.c:912 rewrite/rewriteHandler.c:947 +#: commands/tablecmds.c:17314 commands/tablecmds.c:17428 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:17371 +#: commands/tablecmds.c:17390 #, c-format msgid "functions in partition key expression must be marked IMMUTABLE" msgstr "" "функции в выражении ключа секционирования должны быть помечены как IMMUTABLE" -#: commands/tablecmds.c:17391 +#: commands/tablecmds.c:17410 #, c-format msgid "partition key expressions cannot contain system column references" msgstr "" "выражения ключей секционирования не могут содержать ссылки на системный " "столбец" -#: commands/tablecmds.c:17421 +#: commands/tablecmds.c:17440 #, c-format msgid "cannot use constant expression as partition key" msgstr "" "в качестве ключа секционирования нельзя использовать константное выражение" -#: commands/tablecmds.c:17442 +#: commands/tablecmds.c:17461 #, c-format msgid "could not determine which collation to use for partition expression" msgstr "не удалось определить правило сортировки для выражения секционирования" -#: commands/tablecmds.c:17477 +#: commands/tablecmds.c:17496 #, c-format msgid "" "You must specify a hash operator class or define a default hash operator " @@ -12430,7 +12735,7 @@ msgstr "" "Вы должны указать класс операторов хеширования или определить класс " "операторов хеширования по умолчанию для этого типа данных." -#: commands/tablecmds.c:17483 +#: commands/tablecmds.c:17502 #, c-format msgid "" "You must specify a btree operator class or define a default btree operator " @@ -12439,27 +12744,27 @@ msgstr "" "Вы должны указать класс операторов B-дерева или определить класс операторов " "B-дерева по умолчанию для этого типа данных." -#: commands/tablecmds.c:17734 +#: commands/tablecmds.c:17753 #, c-format msgid "\"%s\" is already a partition" msgstr "\"%s\" уже является секцией" -#: commands/tablecmds.c:17740 +#: commands/tablecmds.c:17759 #, c-format msgid "cannot attach a typed table as partition" msgstr "подключить типизированную таблицу в качестве секции нельзя" -#: commands/tablecmds.c:17756 +#: commands/tablecmds.c:17775 #, c-format msgid "cannot attach inheritance child as partition" msgstr "подключить потомок в иерархии наследования в качестве секции нельзя" -#: commands/tablecmds.c:17770 +#: commands/tablecmds.c:17789 #, c-format msgid "cannot attach inheritance parent as partition" msgstr "подключить родитель в иерархии наследования в качестве секции нельзя" -#: commands/tablecmds.c:17804 +#: commands/tablecmds.c:17823 #, c-format msgid "" "cannot attach a temporary relation as partition of permanent relation \"%s\"" @@ -12467,7 +12772,7 @@ msgstr "" "подключить временное отношение в качестве секции постоянного отношения " "\"%s\" нельзя" -#: commands/tablecmds.c:17812 +#: commands/tablecmds.c:17831 #, c-format msgid "" "cannot attach a permanent relation as partition of temporary relation \"%s\"" @@ -12475,92 +12780,92 @@ msgstr "" "подключить постоянное отношение в качестве секции временного отношения " "\"%s\" нельзя" -#: commands/tablecmds.c:17820 +#: commands/tablecmds.c:17839 #, c-format msgid "cannot attach as partition of temporary relation of another session" msgstr "подключить секцию к временному отношению в другом сеансе нельзя" -#: commands/tablecmds.c:17827 +#: commands/tablecmds.c:17846 #, c-format msgid "cannot attach temporary relation of another session as partition" msgstr "" "подключить временное отношение из другого сеанса в качестве секции нельзя" -#: commands/tablecmds.c:17847 +#: commands/tablecmds.c:17866 #, c-format msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\"" msgstr "" "таблица \"%s\" содержит столбец \"%s\", отсутствующий в родителе \"%s\"" -#: commands/tablecmds.c:17850 +#: commands/tablecmds.c:17869 #, c-format msgid "The new partition may contain only the columns present in parent." msgstr "" "Новая секция может содержать только столбцы, имеющиеся в родительской " "таблице." -#: commands/tablecmds.c:17862 +#: commands/tablecmds.c:17881 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition" msgstr "триггер \"%s\" не позволяет сделать таблицу \"%s\" секцией" -#: commands/tablecmds.c:17864 +#: commands/tablecmds.c:17883 #, c-format msgid "ROW triggers with transition tables are not supported on partitions." msgstr "Триггеры ROW с переходными таблицами для секций не поддерживаются." -#: commands/tablecmds.c:18043 +#: commands/tablecmds.c:18062 #, c-format msgid "" "cannot attach foreign table \"%s\" as partition of partitioned table \"%s\"" msgstr "" "нельзя присоединить стороннюю таблицу \"%s\" в качестве секции таблицы \"%s\"" -#: commands/tablecmds.c:18046 +#: commands/tablecmds.c:18065 #, c-format msgid "Partitioned table \"%s\" contains unique indexes." msgstr "Секционированная таблица \"%s\" содержит уникальные индексы." -#: commands/tablecmds.c:18357 +#: commands/tablecmds.c:18382 #, c-format msgid "cannot detach partitions concurrently when a default partition exists" msgstr "" "секции нельзя отсоединять в режиме CONCURRENTLY, когда существует секция по " "умолчанию" -#: commands/tablecmds.c:18466 +#: commands/tablecmds.c:18491 #, c-format msgid "partitioned table \"%s\" was removed concurrently" msgstr "секционированная таблица \"%s\" была параллельно удалена" -#: commands/tablecmds.c:18472 +#: commands/tablecmds.c:18497 #, c-format msgid "partition \"%s\" was removed concurrently" msgstr "секция \"%s\" была параллельно удалена" -#: commands/tablecmds.c:18987 commands/tablecmds.c:19007 -#: commands/tablecmds.c:19027 commands/tablecmds.c:19046 -#: commands/tablecmds.c:19088 +#: commands/tablecmds.c:19012 commands/tablecmds.c:19032 +#: commands/tablecmds.c:19053 commands/tablecmds.c:19072 +#: commands/tablecmds.c:19114 #, c-format msgid "cannot attach index \"%s\" as a partition of index \"%s\"" msgstr "нельзя присоединить индекс \"%s\" в качестве секции индекса \"%s\"" -#: commands/tablecmds.c:18990 +#: commands/tablecmds.c:19015 #, c-format msgid "Index \"%s\" is already attached to another index." msgstr "Индекс \"%s\" уже присоединён к другому индексу." -#: commands/tablecmds.c:19010 +#: commands/tablecmds.c:19035 #, c-format msgid "Index \"%s\" is not an index on any partition of table \"%s\"." msgstr "Индекс \"%s\" не является индексом какой-либо секции таблицы \"%s\"." -#: commands/tablecmds.c:19030 +#: commands/tablecmds.c:19056 #, c-format msgid "The index definitions do not match." msgstr "Определения индексов не совпадают." -#: commands/tablecmds.c:19049 +#: commands/tablecmds.c:19075 #, c-format msgid "" "The index \"%s\" belongs to a constraint in table \"%s\" but no constraint " @@ -12569,169 +12874,172 @@ msgstr "" "Индекс \"%s\" принадлежит ограничению в таблице \"%s\", но для индекса " "\"%s\" ограничения нет." -#: commands/tablecmds.c:19091 +#: commands/tablecmds.c:19117 #, c-format msgid "Another index is already attached for partition \"%s\"." msgstr "К секции \"%s\" уже присоединён другой индекс." -#: commands/tablecmds.c:19321 +#: commands/tablecmds.c:19353 #, c-format msgid "column data type %s does not support compression" msgstr "тим данных столбца %s не поддерживает сжатие" -#: commands/tablecmds.c:19328 +#: commands/tablecmds.c:19360 #, c-format msgid "invalid compression method \"%s\"" msgstr "неверный метод сжатия \"%s\"" -#: commands/tablespace.c:199 commands/tablespace.c:665 +#: commands/tablecmds.c:19386 +#, c-format +msgid "invalid storage type \"%s\"" +msgstr "неверный тип хранилища \"%s\"" + +#: commands/tablecmds.c:19396 +#, c-format +msgid "column data type %s can only have storage PLAIN" +msgstr "тип данных столбца %s совместим только с хранилищем PLAIN" + +#: commands/tablespace.c:199 commands/tablespace.c:650 #, c-format msgid "\"%s\" exists but is not a directory" msgstr "\"%s\" существует, но это не каталог" -#: commands/tablespace.c:231 +#: commands/tablespace.c:230 #, c-format msgid "permission denied to create tablespace \"%s\"" msgstr "нет прав на создание табличного пространства \"%s\"" -#: commands/tablespace.c:233 +#: commands/tablespace.c:232 #, c-format msgid "Must be superuser to create a tablespace." msgstr "Для создания табличного пространства нужно быть суперпользователем." -#: commands/tablespace.c:249 +#: commands/tablespace.c:248 #, c-format msgid "tablespace location cannot contain single quotes" msgstr "в пути к табличному пространству не должно быть одинарных кавычек" -#: commands/tablespace.c:262 +#: commands/tablespace.c:261 #, c-format msgid "tablespace location must be an absolute path" msgstr "путь к табличному пространству должен быть абсолютным" -#: commands/tablespace.c:274 +#: commands/tablespace.c:273 #, c-format msgid "tablespace location \"%s\" is too long" msgstr "путь к табличному пространству \"%s\" слишком длинный" -#: commands/tablespace.c:281 +#: commands/tablespace.c:280 #, c-format msgid "tablespace location should not be inside the data directory" msgstr "табличное пространство не должно располагаться внутри каталога данных" -#: commands/tablespace.c:290 commands/tablespace.c:996 +#: commands/tablespace.c:289 commands/tablespace.c:976 #, c-format msgid "unacceptable tablespace name \"%s\"" msgstr "неприемлемое имя табличного пространства: \"%s\"" -#: commands/tablespace.c:292 commands/tablespace.c:997 +#: commands/tablespace.c:291 commands/tablespace.c:977 #, c-format msgid "The prefix \"pg_\" is reserved for system tablespaces." msgstr "Префикс \"pg_\" зарезервирован для системных табличных пространств." -#: commands/tablespace.c:311 commands/tablespace.c:1018 +#: commands/tablespace.c:310 commands/tablespace.c:998 #, c-format msgid "tablespace \"%s\" already exists" msgstr "табличное пространство \"%s\" уже существует" -#: commands/tablespace.c:329 +#: commands/tablespace.c:326 #, c-format msgid "pg_tablespace OID value not set when in binary upgrade mode" msgstr "значение OID в pg_tablespace не задано в режиме двоичного обновления" -#: commands/tablespace.c:441 commands/tablespace.c:979 -#: commands/tablespace.c:1068 commands/tablespace.c:1137 -#: commands/tablespace.c:1283 commands/tablespace.c:1486 +#: commands/tablespace.c:431 commands/tablespace.c:959 +#: commands/tablespace.c:1048 commands/tablespace.c:1117 +#: commands/tablespace.c:1263 commands/tablespace.c:1466 #, c-format msgid "tablespace \"%s\" does not exist" msgstr "табличное пространство \"%s\" не существует" -#: commands/tablespace.c:447 +#: commands/tablespace.c:437 #, c-format msgid "tablespace \"%s\" does not exist, skipping" msgstr "табличное пространство \"%s\" не существует, пропускается" -#: commands/tablespace.c:473 +#: commands/tablespace.c:463 #, c-format msgid "tablespace \"%s\" cannot be dropped because some objects depend on it" msgstr "" "табличное пространство \"%s\" нельзя удалить, так как есть зависящие от него " "объекты" -#: commands/tablespace.c:540 +#: commands/tablespace.c:530 #, c-format msgid "tablespace \"%s\" is not empty" msgstr "табличное пространство \"%s\" не пусто" -#: commands/tablespace.c:632 +#: commands/tablespace.c:617 #, c-format msgid "directory \"%s\" does not exist" msgstr "каталог \"%s\" не существует" -#: commands/tablespace.c:633 +#: commands/tablespace.c:618 #, c-format msgid "Create this directory for the tablespace before restarting the server." msgstr "" "Создайте этот каталог для табличного пространства до перезапуска сервера." -#: commands/tablespace.c:638 +#: commands/tablespace.c:623 #, c-format msgid "could not set permissions on directory \"%s\": %m" msgstr "не удалось установить права для каталога \"%s\": %m" -#: commands/tablespace.c:670 +#: commands/tablespace.c:655 #, c-format msgid "directory \"%s\" already in use as a tablespace" msgstr "каталог \"%s\" уже используется как табличное пространство" -#: commands/tablespace.c:788 commands/tablespace.c:801 -#: commands/tablespace.c:837 commands/tablespace.c:929 storage/file/fd.c:3255 -#: storage/file/fd.c:3669 -#, c-format -msgid "could not remove directory \"%s\": %m" -msgstr "ошибка при удалении каталога \"%s\": %m" - -#: commands/tablespace.c:850 commands/tablespace.c:938 +#: commands/tablespace.c:833 commands/tablespace.c:919 #, c-format msgid "could not remove symbolic link \"%s\": %m" msgstr "ошибка при удалении символической ссылки \"%s\": %m" -#: commands/tablespace.c:860 commands/tablespace.c:947 +#: commands/tablespace.c:842 commands/tablespace.c:927 #, c-format msgid "\"%s\" is not a directory or symbolic link" msgstr "\"%s\" - это не каталог или символическая ссылка" -#: commands/tablespace.c:1142 +#: commands/tablespace.c:1122 #, c-format msgid "Tablespace \"%s\" does not exist." msgstr "Табличное пространство \"%s\" не существует." -#: commands/tablespace.c:1588 +#: commands/tablespace.c:1568 #, c-format msgid "directories for tablespace %u could not be removed" msgstr "удалить каталоги табличного пространства %u не удалось" -#: commands/tablespace.c:1590 +#: commands/tablespace.c:1570 #, c-format msgid "You can remove the directories manually if necessary." msgstr "При необходимости вы можете удалить их вручную." -#: commands/trigger.c:229 commands/trigger.c:240 +#: commands/trigger.c:232 commands/trigger.c:243 #, c-format msgid "\"%s\" is a table" msgstr "\"%s\" - это таблица" -#: commands/trigger.c:231 commands/trigger.c:242 +#: commands/trigger.c:234 commands/trigger.c:245 #, c-format msgid "Tables cannot have INSTEAD OF triggers." msgstr "У таблиц не может быть триггеров INSTEAD OF." -#: commands/trigger.c:263 +#: commands/trigger.c:266 #, c-format msgid "\"%s\" is a partitioned table" msgstr "\"%s\" - секционированная таблица" -#: commands/trigger.c:265 +#: commands/trigger.c:268 #, c-format msgid "" "ROW triggers with transition tables are not supported on partitioned tables." @@ -12739,94 +13047,88 @@ msgstr "" "Триггеры ROW с переходными таблицами не поддерживаются в секционированных " "таблицах." -#: commands/trigger.c:277 commands/trigger.c:284 commands/trigger.c:455 +#: commands/trigger.c:280 commands/trigger.c:287 commands/trigger.c:451 #, c-format msgid "\"%s\" is a view" msgstr "\"%s\" - это представление" -#: commands/trigger.c:279 +#: commands/trigger.c:282 #, c-format msgid "Views cannot have row-level BEFORE or AFTER triggers." msgstr "У представлений не может быть строковых триггеров BEFORE/AFTER." -#: commands/trigger.c:286 +#: commands/trigger.c:289 #, c-format msgid "Views cannot have TRUNCATE triggers." msgstr "У представлений не может быть триггеров TRUNCATE." -#: commands/trigger.c:294 commands/trigger.c:301 commands/trigger.c:313 -#: commands/trigger.c:448 +#: commands/trigger.c:297 commands/trigger.c:309 commands/trigger.c:444 #, c-format msgid "\"%s\" is a foreign table" msgstr "\"%s\" - сторонняя таблица" -#: commands/trigger.c:296 +#: commands/trigger.c:299 #, c-format msgid "Foreign tables cannot have INSTEAD OF triggers." msgstr "У сторонних таблиц не может быть триггеров INSTEAD OF." -#: commands/trigger.c:303 -#, c-format -msgid "Foreign tables cannot have TRUNCATE triggers." -msgstr "У сторонних таблиц не может быть триггеров TRUNCATE." - -#: commands/trigger.c:315 +#: commands/trigger.c:311 #, c-format msgid "Foreign tables cannot have constraint triggers." msgstr "У сторонних таблиц не может быть ограничивающих триггеров." -#: commands/trigger.c:320 commands/trigger.c:1375 commands/trigger.c:1482 +#: commands/trigger.c:316 commands/trigger.c:1332 commands/trigger.c:1439 #, c-format msgid "relation \"%s\" cannot have triggers" msgstr "в отношении \"%s\" не может быть триггеров" -#: commands/trigger.c:391 +#: commands/trigger.c:387 #, c-format msgid "TRUNCATE FOR EACH ROW triggers are not supported" msgstr "триггеры TRUNCATE FOR EACH ROW не поддерживаются" -#: commands/trigger.c:399 +#: commands/trigger.c:395 #, c-format msgid "INSTEAD OF triggers must be FOR EACH ROW" msgstr "триггеры INSTEAD OF должны иметь тип FOR EACH ROW" -#: commands/trigger.c:403 +#: commands/trigger.c:399 #, c-format msgid "INSTEAD OF triggers cannot have WHEN conditions" msgstr "триггеры INSTEAD OF несовместимы с условиями WHEN" -#: commands/trigger.c:407 +#: commands/trigger.c:403 #, c-format msgid "INSTEAD OF triggers cannot have column lists" msgstr "для триггеров INSTEAD OF нельзя задать список столбцов" -#: commands/trigger.c:436 +#: commands/trigger.c:432 #, c-format msgid "ROW variable naming in the REFERENCING clause is not supported" msgstr "" "указание переменной типа кортеж в предложении REFERENCING не поддерживается" -#: commands/trigger.c:437 +#: commands/trigger.c:433 #, c-format msgid "Use OLD TABLE or NEW TABLE for naming transition tables." msgstr "Используйте OLD TABLE или NEW TABLE для именования переходных таблиц." -#: commands/trigger.c:450 +#: commands/trigger.c:446 #, c-format msgid "Triggers on foreign tables cannot have transition tables." msgstr "Триггеры сторонних таблиц не могут использовать переходные таблицы." -#: commands/trigger.c:457 +#: commands/trigger.c:453 #, c-format msgid "Triggers on views cannot have transition tables." msgstr "Триггеры представлений не могут использовать переходные таблицы." -#: commands/trigger.c:473 +#: commands/trigger.c:469 #, c-format msgid "ROW triggers with transition tables are not supported on partitions" msgstr "триггеры ROW с переходными таблицами для секций не поддерживаются" -#: commands/trigger.c:477 +#: commands/trigger.c:473 #, c-format msgid "" "ROW triggers with transition tables are not supported on inheritance children" @@ -12834,17 +13136,17 @@ msgstr "" "триггеры ROW с переходными таблицами для потомков в иерархии наследования не " "поддерживаются" -#: commands/trigger.c:483 +#: commands/trigger.c:479 #, c-format msgid "transition table name can only be specified for an AFTER trigger" msgstr "имя переходной таблицы можно задать только для триггера AFTER" -#: commands/trigger.c:488 +#: commands/trigger.c:484 #, c-format msgid "TRUNCATE triggers with transition tables are not supported" msgstr "триггеры TRUNCATE с переходными таблицами не поддерживаются" -#: commands/trigger.c:505 +#: commands/trigger.c:501 #, c-format msgid "" "transition tables cannot be specified for triggers with more than one event" @@ -12852,127 +13154,127 @@ msgstr "" "переходные таблицы нельзя задать для триггеров, назначаемых для нескольких " "событий" -#: commands/trigger.c:516 +#: commands/trigger.c:512 #, c-format msgid "transition tables cannot be specified for triggers with column lists" msgstr "переходные таблицы нельзя задать для триггеров со списками столбцов" -#: commands/trigger.c:533 +#: commands/trigger.c:529 #, c-format msgid "NEW TABLE can only be specified for an INSERT or UPDATE trigger" msgstr "NEW TABLE можно задать только для триггеров INSERT или UPDATE" -#: commands/trigger.c:538 +#: commands/trigger.c:534 #, c-format msgid "NEW TABLE cannot be specified multiple times" msgstr "NEW TABLE нельзя задать несколько раз" -#: commands/trigger.c:548 +#: commands/trigger.c:544 #, c-format msgid "OLD TABLE can only be specified for a DELETE or UPDATE trigger" msgstr "OLD TABLE можно задать только для триггеров DELETE или UPDATE" -#: commands/trigger.c:553 +#: commands/trigger.c:549 #, c-format msgid "OLD TABLE cannot be specified multiple times" msgstr "OLD TABLE нельзя задать несколько раз" -#: commands/trigger.c:563 +#: commands/trigger.c:559 #, c-format msgid "OLD TABLE name and NEW TABLE name cannot be the same" msgstr "имя OLD TABLE не должно совпадать с именем NEW TABLE" -#: commands/trigger.c:627 commands/trigger.c:640 +#: commands/trigger.c:623 commands/trigger.c:636 #, c-format msgid "statement trigger's WHEN condition cannot reference column values" msgstr "" "в условии WHEN для операторного триггера нельзя ссылаться на значения " "столбцов" -#: commands/trigger.c:632 +#: commands/trigger.c:628 #, c-format msgid "INSERT trigger's WHEN condition cannot reference OLD values" msgstr "в условии WHEN для триггера INSERT нельзя ссылаться на значения OLD" -#: commands/trigger.c:645 +#: commands/trigger.c:641 #, c-format msgid "DELETE trigger's WHEN condition cannot reference NEW values" msgstr "в условии WHEN для триггера DELETE нельзя ссылаться на значения NEW" -#: commands/trigger.c:650 +#: commands/trigger.c:646 #, c-format msgid "BEFORE trigger's WHEN condition cannot reference NEW system columns" msgstr "" "в условии WHEN для триггера BEFORE нельзя ссылаться на системные столбцы NEW" -#: commands/trigger.c:658 commands/trigger.c:666 +#: commands/trigger.c:654 commands/trigger.c:662 #, c-format msgid "BEFORE trigger's WHEN condition cannot reference NEW generated columns" msgstr "" "в условии WHEN для триггера BEFORE нельзя ссылаться на генерируемые столбцы " "NEW" -#: commands/trigger.c:659 +#: commands/trigger.c:655 #, c-format msgid "A whole-row reference is used and the table contains generated columns." msgstr "" "Используется ссылка на всю строку таблицы, а таблица содержит генерируемые " "столбцы." -#: commands/trigger.c:774 commands/trigger.c:1657 +#: commands/trigger.c:770 commands/trigger.c:1614 #, c-format msgid "trigger \"%s\" for relation \"%s\" already exists" msgstr "триггер \"%s\" для отношения \"%s\" уже существует" -#: commands/trigger.c:787 +#: commands/trigger.c:783 #, c-format msgid "trigger \"%s\" for relation \"%s\" is an internal or a child trigger" msgstr "триггер \"%s\" для отношения \"%s\" является внутренним или дочерним" -#: commands/trigger.c:806 +#: commands/trigger.c:802 #, c-format msgid "trigger \"%s\" for relation \"%s\" is a constraint trigger" msgstr "" "триггер \"%s\" для отношения \"%s\" является триггером, реализующим " "ограничение" -#: commands/trigger.c:1447 commands/trigger.c:1600 commands/trigger.c:1876 +#: commands/trigger.c:1404 commands/trigger.c:1557 commands/trigger.c:1838 #, c-format msgid "trigger \"%s\" for table \"%s\" does not exist" msgstr "триггер \"%s\" для таблицы \"%s\" не существует" -#: commands/trigger.c:1572 +#: commands/trigger.c:1529 #, c-format msgid "cannot rename trigger \"%s\" on table \"%s\"" msgstr "переименовать триггер \"%s\" в таблице \"%s\" нельзя" -#: commands/trigger.c:1574 +#: commands/trigger.c:1531 #, c-format msgid "Rename the trigger on the partitioned table \"%s\" instead." msgstr "Однако можно переименовать триггер в секционированной таблице \"%s\"." -#: commands/trigger.c:1674 +#: commands/trigger.c:1631 #, c-format msgid "renamed trigger \"%s\" on relation \"%s\"" msgstr "триггер \"%s\" в отношении \"%s\" переименован" -#: commands/trigger.c:1816 +#: commands/trigger.c:1777 #, c-format msgid "permission denied: \"%s\" is a system trigger" msgstr "нет доступа: \"%s\" - это системный триггер" -#: commands/trigger.c:2437 +#: commands/trigger.c:2386 #, c-format msgid "trigger function %u returned null value" msgstr "триггерная функция %u вернула значение NULL" -#: commands/trigger.c:2497 commands/trigger.c:2715 commands/trigger.c:2965 -#: commands/trigger.c:3298 +#: commands/trigger.c:2446 commands/trigger.c:2664 commands/trigger.c:2917 +#: commands/trigger.c:3252 #, c-format msgid "BEFORE STATEMENT trigger cannot return a value" msgstr "триггер BEFORE STATEMENT не может возвращать значение" -#: commands/trigger.c:2573 +#: commands/trigger.c:2522 #, c-format msgid "" "moving row to another partition during a BEFORE FOR EACH ROW trigger is not " @@ -12980,7 +13282,7 @@ msgid "" msgstr "" "в триггере BEFORE FOR EACH ROW нельзя перемещать строку в другую секцию" -#: commands/trigger.c:2574 +#: commands/trigger.c:2523 #, c-format msgid "" "Before executing trigger \"%s\", the row was to be in partition \"%s.%s\"." @@ -12988,8 +13290,8 @@ msgstr "" "До выполнения триггера \"%s\" строка должна была находиться в секции \"%s." "%s\"." -#: commands/trigger.c:3372 executor/nodeModifyTable.c:2349 -#: executor/nodeModifyTable.c:2432 +#: commands/trigger.c:3329 executor/nodeModifyTable.c:2363 +#: executor/nodeModifyTable.c:2446 #, c-format msgid "" "tuple to be updated was already modified by an operation triggered by the " @@ -12998,9 +13300,9 @@ msgstr "" "кортеж, который должен быть изменён, уже модифицирован в операции, вызванной " "текущей командой" -#: commands/trigger.c:3373 executor/nodeModifyTable.c:1535 -#: executor/nodeModifyTable.c:1609 executor/nodeModifyTable.c:2350 -#: executor/nodeModifyTable.c:2433 executor/nodeModifyTable.c:3091 +#: commands/trigger.c:3330 executor/nodeModifyTable.c:1531 +#: executor/nodeModifyTable.c:1605 executor/nodeModifyTable.c:2364 +#: executor/nodeModifyTable.c:2447 executor/nodeModifyTable.c:3078 #, c-format msgid "" "Consider using an AFTER trigger instead of a BEFORE trigger to propagate " @@ -13009,17 +13311,17 @@ msgstr "" "Возможно, для распространения изменений в другие строки следует использовать " "триггер AFTER вместо BEFORE." -#: commands/trigger.c:3402 executor/nodeLockRows.c:229 -#: executor/nodeLockRows.c:238 executor/nodeModifyTable.c:331 -#: executor/nodeModifyTable.c:1551 executor/nodeModifyTable.c:2367 -#: executor/nodeModifyTable.c:2577 +#: 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 #, c-format msgid "could not serialize access due to concurrent update" msgstr "не удалось сериализовать доступ из-за параллельного изменения" -#: commands/trigger.c:3410 executor/nodeModifyTable.c:1641 -#: executor/nodeModifyTable.c:2450 executor/nodeModifyTable.c:2601 -#: executor/nodeModifyTable.c:2957 +#: commands/trigger.c:3379 executor/nodeModifyTable.c:1637 +#: executor/nodeModifyTable.c:2464 executor/nodeModifyTable.c:2613 +#: executor/nodeModifyTable.c:2966 #, c-format msgid "could not serialize access due to concurrent delete" msgstr "не удалось сериализовать доступ из-за параллельного удаления" @@ -13117,22 +13419,22 @@ msgstr "указать и PARSER, и COPY одновременно нельзя" msgid "text search parser is required" msgstr "требуется анализатор текстового поиска" -#: commands/tsearchcmds.c:1200 +#: commands/tsearchcmds.c:1241 #, c-format msgid "token type \"%s\" does not exist" msgstr "тип фрагмента \"%s\" не существует" -#: commands/tsearchcmds.c:1427 +#: commands/tsearchcmds.c:1501 #, c-format msgid "mapping for token type \"%s\" does not exist" msgstr "сопоставление для типа фрагмента \"%s\" не существует" -#: commands/tsearchcmds.c:1433 +#: commands/tsearchcmds.c:1507 #, c-format msgid "mapping for token type \"%s\" does not exist, skipping" msgstr "сопоставление для типа фрагмента \"%s\" не существует, пропускается" -#: commands/tsearchcmds.c:1596 commands/tsearchcmds.c:1711 +#: commands/tsearchcmds.c:1670 commands/tsearchcmds.c:1785 #, c-format msgid "invalid parameter list format: \"%s\"" msgstr "неверный формат списка параметров: \"%s\"" @@ -13151,7 +13453,7 @@ msgstr "" "Создайте тип в виде оболочки, затем определите для него функции ввода-вывода " "и в завершение выполните полноценную команду CREATE TYPE." -#: commands/typecmds.c:327 commands/typecmds.c:1450 commands/typecmds.c:4268 +#: commands/typecmds.c:327 commands/typecmds.c:1450 commands/typecmds.c:4257 #, c-format msgid "type attribute \"%s\" not recognized" msgstr "атрибут типа \"%s\" не распознан" @@ -13171,7 +13473,7 @@ msgstr "типом элемента массива не может быть %s" msgid "alignment \"%s\" not recognized" msgstr "тип выравнивания \"%s\" не распознан" -#: commands/typecmds.c:450 commands/typecmds.c:4142 +#: commands/typecmds.c:450 commands/typecmds.c:4131 #, c-format msgid "storage \"%s\" not recognized" msgstr "неизвестная стратегия хранения \"%s\"" @@ -13222,33 +13524,33 @@ msgid "check constraints for domains cannot be marked NO INHERIT" msgstr "" "ограничения-проверки для доменов не могут иметь характеристики NO INHERIT" -#: commands/typecmds.c:976 commands/typecmds.c:2960 +#: commands/typecmds.c:976 commands/typecmds.c:2956 #, c-format msgid "unique constraints not possible for domains" msgstr "ограничения уникальности невозможны для доменов" -#: commands/typecmds.c:982 commands/typecmds.c:2966 +#: commands/typecmds.c:982 commands/typecmds.c:2962 #, c-format msgid "primary key constraints not possible for domains" msgstr "ограничения первичного ключа невозможны для доменов" -#: commands/typecmds.c:988 commands/typecmds.c:2972 +#: commands/typecmds.c:988 commands/typecmds.c:2968 #, c-format msgid "exclusion constraints not possible for domains" msgstr "ограничения-исключения невозможны для доменов" -#: commands/typecmds.c:994 commands/typecmds.c:2978 +#: commands/typecmds.c:994 commands/typecmds.c:2974 #, c-format msgid "foreign key constraints not possible for domains" msgstr "ограничения внешних ключей невозможны для доменов" -#: commands/typecmds.c:1003 commands/typecmds.c:2987 +#: commands/typecmds.c:1003 commands/typecmds.c:2983 #, c-format msgid "specifying constraint deferrability not supported for domains" msgstr "" "возможность определения отложенных ограничений для доменов не поддерживается" -#: commands/typecmds.c:1317 utils/cache/typcache.c:2567 +#: commands/typecmds.c:1317 utils/cache/typcache.c:2561 #, c-format msgid "%s is not an enum" msgstr "\"%s\" не является перечислением" @@ -13286,96 +13588,96 @@ msgstr "" "Создайте тип в виде оболочки, затем определите для него функции приведения к " "каноническому виду и в завершение выполните полноценную команду CREATE TYPE." -#: commands/typecmds.c:1966 +#: commands/typecmds.c:1965 #, c-format msgid "type input function %s has multiple matches" msgstr "функция ввода типа %s присутствует в нескольких экземплярах" -#: commands/typecmds.c:1984 +#: commands/typecmds.c:1983 #, c-format msgid "type input function %s must return type %s" msgstr "функция ввода типа %s должна возвращать тип %s" -#: commands/typecmds.c:2000 +#: commands/typecmds.c:1999 #, c-format msgid "type input function %s should not be volatile" msgstr "функция ввода типа %s не должна быть изменчивой" -#: commands/typecmds.c:2028 +#: commands/typecmds.c:2027 #, c-format msgid "type output function %s must return type %s" msgstr "функция вывода типа %s должна возвращать тип %s" -#: commands/typecmds.c:2035 +#: commands/typecmds.c:2034 #, c-format msgid "type output function %s should not be volatile" msgstr "функция вывода типа %s не должна быть изменчивой" -#: commands/typecmds.c:2064 +#: commands/typecmds.c:2063 #, c-format msgid "type receive function %s has multiple matches" msgstr "функция получения типа %s присутствует в нескольких экземплярах" -#: commands/typecmds.c:2082 +#: commands/typecmds.c:2081 #, c-format msgid "type receive function %s must return type %s" msgstr "функция получения типа %s должна возвращать тип %s" -#: commands/typecmds.c:2089 +#: commands/typecmds.c:2088 #, c-format msgid "type receive function %s should not be volatile" msgstr "функция получения типа %s не должна быть изменчивой" -#: commands/typecmds.c:2117 +#: commands/typecmds.c:2116 #, c-format msgid "type send function %s must return type %s" msgstr "функция отправки типа %s должна возвращать тип %s" -#: commands/typecmds.c:2124 +#: commands/typecmds.c:2123 #, c-format msgid "type send function %s should not be volatile" msgstr "функция отправки типа %s не должна быть изменчивой" -#: commands/typecmds.c:2151 +#: commands/typecmds.c:2150 #, c-format msgid "typmod_in function %s must return type %s" msgstr "функция TYPMOD_IN %s должна возвращать тип %s" -#: commands/typecmds.c:2158 +#: commands/typecmds.c:2157 #, c-format msgid "type modifier input function %s should not be volatile" msgstr "функция ввода модификатора типа %s не должна быть изменчивой" -#: commands/typecmds.c:2185 +#: commands/typecmds.c:2184 #, c-format msgid "typmod_out function %s must return type %s" msgstr "функция TYPMOD_OUT %s должна возвращать тип %s" -#: commands/typecmds.c:2192 +#: commands/typecmds.c:2191 #, c-format msgid "type modifier output function %s should not be volatile" msgstr "функция вывода модификатора типа %s не должна быть изменчивой" -#: commands/typecmds.c:2219 +#: commands/typecmds.c:2218 #, c-format msgid "type analyze function %s must return type %s" msgstr "функция анализа типа %s должна возвращать тип %s" -#: commands/typecmds.c:2248 +#: commands/typecmds.c:2247 #, c-format msgid "type subscripting function %s must return type %s" msgstr "" "функция %s, реализующая для типа обращение по индексу, должна возвращать тип " "%s" -#: commands/typecmds.c:2258 +#: commands/typecmds.c:2257 #, c-format msgid "user-defined types cannot use subscripting function %s" msgstr "" "для пользовательских типов нельзя использовать функцию-обработчик обращения " "по индексу %s" -#: commands/typecmds.c:2304 +#: commands/typecmds.c:2303 #, c-format msgid "" "You must specify an operator class for the range type or define a default " @@ -13384,464 +13686,609 @@ msgstr "" "Вы должны указать класс операторов для типа диапазона или определить класс " "операторов по умолчанию для этого подтипа." -#: commands/typecmds.c:2335 +#: commands/typecmds.c:2334 #, c-format msgid "range canonical function %s must return range type" msgstr "" "функция получения канонического диапазона %s должна возвращать диапазон" -#: commands/typecmds.c:2341 +#: commands/typecmds.c:2340 #, c-format msgid "range canonical function %s must be immutable" msgstr "" "функция получения канонического диапазона %s должна быть постоянной " "(IMMUTABLE)" -#: commands/typecmds.c:2377 +#: commands/typecmds.c:2376 #, c-format msgid "range subtype diff function %s must return type %s" msgstr "функция различий для подтипа диапазона (%s) должна возвращать тип %s" -#: commands/typecmds.c:2384 +#: commands/typecmds.c:2383 #, c-format msgid "range subtype diff function %s must be immutable" msgstr "" "функция различий для подтипа диапазона (%s) должна быть постоянной " "(IMMUTABLE)" -#: commands/typecmds.c:2411 +#: commands/typecmds.c:2410 #, c-format msgid "pg_type array OID value not set when in binary upgrade mode" msgstr "значение OID массива в pg_type не задано в режиме двоичного обновления" -#: commands/typecmds.c:2444 +#: commands/typecmds.c:2443 #, c-format msgid "pg_type multirange OID value not set when in binary upgrade mode" msgstr "" "значение OID мультидиапазона в pg_type не задано в режиме двоичного " "обновления" -#: commands/typecmds.c:2477 +#: commands/typecmds.c:2476 #, c-format msgid "pg_type multirange array OID value not set when in binary upgrade mode" msgstr "" "значение OID массива мультидиапазонов в pg_type не задано в режиме двоичного " "обновления" -#: commands/typecmds.c:2776 +#: commands/typecmds.c:2772 #, c-format msgid "column \"%s\" of table \"%s\" contains null values" msgstr "столбец \"%s\" таблицы \"%s\" содержит значения NULL" -#: commands/typecmds.c:2889 commands/typecmds.c:3091 +#: commands/typecmds.c:2885 commands/typecmds.c:3086 #, c-format msgid "constraint \"%s\" of domain \"%s\" does not exist" msgstr "ограничение \"%s\" для домена \"%s\" не существует" -#: commands/typecmds.c:2893 +#: commands/typecmds.c:2889 #, c-format msgid "constraint \"%s\" of domain \"%s\" does not exist, skipping" msgstr "ограничение \"%s\" для домена \"%s\" не существует, пропускается" -#: commands/typecmds.c:3098 +#: commands/typecmds.c:3093 #, c-format msgid "constraint \"%s\" of domain \"%s\" is not a check constraint" msgstr "" "ограничение \"%s\" для домена \"%s\" не является ограничением-проверкой" -#: commands/typecmds.c:3204 +#: commands/typecmds.c:3194 #, c-format msgid "" "column \"%s\" of table \"%s\" contains values that violate the new constraint" msgstr "" "столбец \"%s\" таблицы \"%s\" содержит значения, нарушающие новое ограничение" -#: commands/typecmds.c:3433 commands/typecmds.c:3633 commands/typecmds.c:3714 -#: commands/typecmds.c:3900 +#: commands/typecmds.c:3423 commands/typecmds.c:3622 commands/typecmds.c:3703 +#: commands/typecmds.c:3889 #, c-format msgid "%s is not a domain" msgstr "\"%s\" - это не домен" -#: commands/typecmds.c:3465 +#: commands/typecmds.c:3455 #, c-format msgid "constraint \"%s\" for domain \"%s\" already exists" msgstr "ограничение \"%s\" для домена \"%s\" уже существует" -#: commands/typecmds.c:3516 +#: commands/typecmds.c:3506 #, c-format msgid "cannot use table references in domain check constraint" msgstr "в ограничении-проверке для домена нельзя ссылаться на таблицы" -#: commands/typecmds.c:3645 commands/typecmds.c:3726 commands/typecmds.c:4017 +#: commands/typecmds.c:3634 commands/typecmds.c:3715 commands/typecmds.c:4006 #, c-format msgid "%s is a table's row type" msgstr "%s - это тип строк таблицы" -#: commands/typecmds.c:3647 commands/typecmds.c:3728 commands/typecmds.c:4019 +#: commands/typecmds.c:3636 commands/typecmds.c:3717 commands/typecmds.c:4008 #, c-format msgid "Use ALTER TABLE instead." msgstr "Изменить его можно с помощью ALTER TABLE." -#: commands/typecmds.c:3653 commands/typecmds.c:3734 commands/typecmds.c:3932 +#: commands/typecmds.c:3642 commands/typecmds.c:3723 commands/typecmds.c:3921 #, c-format msgid "cannot alter array type %s" msgstr "изменить тип массива \"%s\" нельзя" -#: commands/typecmds.c:3655 commands/typecmds.c:3736 commands/typecmds.c:3934 +#: commands/typecmds.c:3644 commands/typecmds.c:3725 commands/typecmds.c:3923 #, c-format msgid "You can alter type %s, which will alter the array type as well." msgstr "Однако можно изменить тип %s, что повлечёт изменение типа массива." -#: commands/typecmds.c:4002 +#: commands/typecmds.c:3991 #, c-format msgid "type \"%s\" already exists in schema \"%s\"" msgstr "тип \"%s\" уже существует в схеме \"%s\"" -#: commands/typecmds.c:4170 +#: commands/typecmds.c:4159 #, c-format msgid "cannot change type's storage to PLAIN" msgstr "сменить вариант хранения типа на PLAIN нельзя" -#: commands/typecmds.c:4263 +#: commands/typecmds.c:4252 #, c-format msgid "type attribute \"%s\" cannot be changed" msgstr "у типа нельзя изменить атрибут \"%s\"" -#: commands/typecmds.c:4281 +#: commands/typecmds.c:4270 #, c-format msgid "must be superuser to alter a type" msgstr "для модификации типа нужно быть суперпользователем" -#: commands/typecmds.c:4302 commands/typecmds.c:4311 +#: commands/typecmds.c:4291 commands/typecmds.c:4300 #, c-format msgid "%s is not a base type" msgstr "%s — не базовый тип" -#: commands/user.c:138 +#: commands/user.c:201 #, c-format msgid "SYSID can no longer be specified" msgstr "SYSID уже не нужно указывать" -#: commands/user.c:256 -#, c-format -msgid "must be superuser to create superusers" -msgstr "для создания суперпользователей нужно быть суперпользователем" - -#: commands/user.c:263 +#: commands/user.c:319 commands/user.c:325 commands/user.c:331 +#: commands/user.c:337 commands/user.c:343 #, c-format -msgid "must be superuser to create replication users" -msgstr "для создания пользователей-репликаторов нужно быть суперпользователем" +msgid "permission denied to create role" +msgstr "нет прав для создания роли" -#: commands/user.c:270 +#: commands/user.c:320 #, c-format -msgid "must be superuser to create bypassrls users" -msgstr "" -"для создания пользователей c атрибутом bypassrls нужно быть " -"суперпользователем" +msgid "Only roles with the %s attribute may create roles." +msgstr "Создавать роли могут только роли с атрибутом %s." -#: commands/user.c:277 +#: commands/user.c:326 commands/user.c:332 commands/user.c:338 +#: commands/user.c:344 #, c-format -msgid "permission denied to create role" -msgstr "нет прав для создания роли" +msgid "" +"Only roles with the %s attribute may create roles with the %s attribute." +msgstr "Создавать роли с атрибутом %s могут только роли с атрибутом %s." -#: commands/user.c:287 commands/user.c:1139 commands/user.c:1146 -#: utils/adt/acl.c:5331 utils/adt/acl.c:5337 gram.y:16437 gram.y:16483 +#: commands/user.c:355 commands/user.c:1393 commands/user.c:1400 +#: 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 "имя роли \"%s\" зарезервировано" -#: commands/user.c:289 commands/user.c:1141 commands/user.c:1148 +#: commands/user.c:357 commands/user.c:1395 commands/user.c:1402 #, c-format msgid "Role names starting with \"pg_\" are reserved." msgstr "Имена ролей, начинающиеся с \"pg_\", зарезервированы." -#: commands/user.c:310 commands/user.c:1163 +#: commands/user.c:378 commands/user.c:1417 #, c-format msgid "role \"%s\" already exists" msgstr "роль \"%s\" уже существует" -#: commands/user.c:376 commands/user.c:754 +#: commands/user.c:440 commands/user.c:925 #, c-format msgid "empty string is not a valid password, clearing password" msgstr "пустая строка не является допустимым паролем; пароль сбрасывается" -#: commands/user.c:405 +#: commands/user.c:469 #, c-format msgid "pg_authid OID value not set when in binary upgrade mode" msgstr "значение OID в pg_authid не задано в режиме двоичного обновления" -#: commands/user.c:524 commands/user.c:838 +#: commands/user.c:653 commands/user.c:1011 msgid "Cannot alter reserved roles." msgstr "Изменять зарезервированные роли нельзя." -# skip-rule: translate-superuser -#: commands/user.c:638 +#: 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 +#, c-format +msgid "permission denied to alter role" +msgstr "нет прав для изменения роли" + +#: commands/user.c:761 commands/user.c:1034 +#, c-format +msgid "Only roles with the %s attribute may alter roles with the %s attribute." +msgstr "Изменять роли с атрибутом %s могут только роли с атрибутом %s." + +#: commands/user.c:767 commands/user.c:805 commands/user.c:811 +#: commands/user.c:817 +#, c-format +msgid "Only roles with the %s attribute may change the %s attribute." +msgstr "Изменять атрибут %s могут только роли с атрибутом %s." + +#: commands/user.c:783 commands/user.c:1045 #, c-format msgid "" -"must be superuser to alter superuser roles or change superuser attribute" +"Only roles with the %s attribute and the %s option on role \"%s\" may alter " +"this role." msgstr "" -"для модификации ролей суперпользователей или изменения атрибута superuser " -"нужно быть суперпользователем" +"Изменять эту роль могут только роли с атрибутом %s и привилегией %s для роли " +"\"%s\"." -#: commands/user.c:645 +#: commands/user.c:791 #, c-format msgid "" -"must be superuser to alter replication roles or change replication attribute" +"To change another role's password, the current user must have the %s " +"attribute and the %s option on the role." msgstr "" -"для модификации ролей репликации или изменения атрибута replication нужно " -"быть суперпользователем" +"Чтобы сменить пароль другой роли, текущий пользователь должен иметь атрибут " +"%s и привилегию %s для этой роли." -#: commands/user.c:652 +#: commands/user.c:826 #, c-format -msgid "must be superuser to change bypassrls attribute" -msgstr "для изменения атрибута bypassrls нужно быть суперпользователем" +msgid "Only roles with the %s option on role \"%s\" may add members." +msgstr "Добавлять членов могут только роли с привилегией %s для роли \"%s\"." -#: commands/user.c:661 commands/user.c:866 +#: commands/user.c:871 #, c-format -msgid "permission denied" -msgstr "нет доступа" +msgid "The bootstrap user must have the %s attribute." +msgstr "Стартовый пользователь должен иметь атрибут %s." -#: commands/user.c:859 commands/user.c:1400 commands/user.c:1573 +#: commands/user.c:1076 #, c-format -msgid "must be superuser to alter superusers" -msgstr "для модификации суперпользователей нужно быть суперпользователем" +msgid "permission denied to alter setting" +msgstr "нет прав для изменения параметров" -#: commands/user.c:896 +#: commands/user.c:1077 #, c-format -msgid "must be superuser to alter settings globally" -msgstr "для глобального изменения параметров нужно быть суперпользователем" +msgid "Only roles with the %s attribute may alter settings globally." +msgstr "Изменять параметры глобально могут только роли с атрибутом %s." -#: commands/user.c:918 +#: commands/user.c:1101 commands/user.c:1173 commands/user.c:1179 #, c-format msgid "permission denied to drop role" msgstr "нет прав для удаления роли" -#: commands/user.c:943 +#: 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 "" +"Удалять роли могут только роли с атрибутом %s и с привилегией %s для целевых " +"ролей." + +#: commands/user.c:1127 #, c-format msgid "cannot use special role specifier in DROP ROLE" msgstr "использовать специальную роль в DROP ROLE нельзя" -#: commands/user.c:953 commands/user.c:1110 commands/variable.c:778 -#: commands/variable.c:781 commands/variable.c:865 commands/variable.c:868 -#: utils/adt/acl.c:5186 utils/adt/acl.c:5234 utils/adt/acl.c:5262 -#: utils/adt/acl.c:5281 utils/init/miscinit.c:725 +#: commands/user.c:1137 commands/user.c:1364 commands/variable.c:836 +#: commands/variable.c:839 commands/variable.c:923 commands/variable.c:926 +#: utils/adt/acl.c: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 #, c-format msgid "role \"%s\" does not exist" msgstr "роль \"%s\" не существует" -#: commands/user.c:958 +#: commands/user.c:1142 #, c-format msgid "role \"%s\" does not exist, skipping" msgstr "роль \"%s\" не существует, пропускается" -#: commands/user.c:971 commands/user.c:975 +#: commands/user.c:1155 commands/user.c:1159 #, c-format msgid "current user cannot be dropped" msgstr "пользователь не может удалить сам себя" -#: commands/user.c:979 +#: commands/user.c:1163 #, c-format msgid "session user cannot be dropped" msgstr "пользователя текущего сеанса нельзя удалить" -#: commands/user.c:989 +#: commands/user.c:1174 #, c-format -msgid "must be superuser to drop superusers" -msgstr "для удаления суперпользователей нужно быть суперпользователем" +msgid "Only roles with the %s attribute may drop roles with the %s attribute." +msgstr "Только роли с атрибутом %s могут удалять роли с атрибутом %s." -#: commands/user.c:1005 +#: commands/user.c:1180 +#, c-format +msgid "" +"Only roles with the %s attribute and the %s option on role \"%s\" may drop " +"this role." +msgstr "" +"Эту роль могут удалить только роли с атрибутом %s и привилегией %s для роли " +"\"%s\"." + +#: commands/user.c:1306 #, c-format msgid "role \"%s\" cannot be dropped because some objects depend on it" msgstr "роль \"%s\" нельзя удалить, так как есть зависящие от неё объекты" -#: commands/user.c:1126 +#: commands/user.c:1380 #, c-format msgid "session user cannot be renamed" msgstr "пользователя текущего сеанса нельзя переименовать" -#: commands/user.c:1130 +#: commands/user.c:1384 #, c-format msgid "current user cannot be renamed" msgstr "пользователь не может переименовать сам себя" -#: commands/user.c:1173 -#, c-format -msgid "must be superuser to rename superusers" -msgstr "для переименования суперпользователей нужно быть суперпользователем" - -#: commands/user.c:1180 +#: commands/user.c:1428 commands/user.c:1438 #, c-format msgid "permission denied to rename role" msgstr "нет прав на переименование роли" -#: commands/user.c:1201 +#: commands/user.c:1429 +#, c-format +msgid "" +"Only roles with the %s attribute may rename roles with the %s attribute." +msgstr "Только роли с атрибутом %s могут переименовывать роли с атрибутом %s." + +#: commands/user.c:1439 +#, c-format +msgid "" +"Only roles with the %s attribute and the %s option on role \"%s\" may rename " +"this role." +msgstr "" +"Переименовать эту роль могут только роли с атрибутом %s и привилегией %s для " +"роли \"%s\"." + +#: commands/user.c:1461 #, c-format msgid "MD5 password cleared because of role rename" msgstr "в результате переименования роли очищен MD5-хеш пароля" -#: commands/user.c:1261 +#: commands/user.c:1525 gram.y:1260 +#, c-format +msgid "unrecognized role option \"%s\"" +msgstr "нераспознанный параметр роли \"%s\"" + +#: commands/user.c:1530 +#, c-format +msgid "unrecognized value for role option \"%s\": \"%s\"" +msgstr "нераспознанное значение для параметра роли \"%s\": \"%s\"" + +#: commands/user.c:1563 #, c-format msgid "column names cannot be included in GRANT/REVOKE ROLE" msgstr "в GRANT/REVOKE ROLE нельзя включать названия столбцов" -#: commands/user.c:1299 +#: commands/user.c:1603 #, c-format msgid "permission denied to drop objects" msgstr "нет прав на удаление объектов" -#: commands/user.c:1326 commands/user.c:1335 +#: commands/user.c:1604 #, c-format -msgid "permission denied to reassign objects" -msgstr "нет прав для переназначения объектов" +msgid "Only roles with privileges of role \"%s\" may drop objects owned by it." +msgstr "" +"Только роли с правами роли \"%s\" могут удалять принадлежащие ей объекты." -#: commands/user.c:1408 commands/user.c:1581 +#: commands/user.c:1632 commands/user.c:1643 #, c-format -msgid "must have admin option on role \"%s\"" -msgstr "требуется право admin для роли \"%s\"" +msgid "permission denied to reassign objects" +msgstr "нет прав для переназначения объектов" -#: commands/user.c:1422 +#: commands/user.c:1633 #, c-format -msgid "role \"%s\" cannot have explicit members" -msgstr "роль \"%s\" не может содержать явных членов" +msgid "" +"Only roles with privileges of role \"%s\" may reassign objects owned by it." +msgstr "" +"Только роли с правами роли \"%s\" могут поменять владельца принадлежащих ей " +"объектов." -#: commands/user.c:1432 +#: commands/user.c:1644 #, c-format -msgid "must be superuser to set grantor" -msgstr "для назначения права управления правами нужно быть суперпользователем" +msgid "Only roles with privileges of role \"%s\" may reassign objects to it." +msgstr "" +"Только роли с правами роли \"%s\" могут назначать её владельцем объектов." -#: commands/user.c:1468 +#: commands/user.c:1740 #, c-format msgid "role \"%s\" cannot be a member of any role" msgstr "роль \"%s\" не может быть членом другой роли" -#: commands/user.c:1481 +#: commands/user.c:1753 #, c-format msgid "role \"%s\" is a member of role \"%s\"" msgstr "роль \"%s\" включена в роль \"%s\"" -#: commands/user.c:1496 +#: commands/user.c:1793 commands/user.c:1819 #, c-format -msgid "role \"%s\" is already a member of role \"%s\"" -msgstr "роль \"%s\" уже включена в роль \"%s\"" +msgid "%s option cannot be granted back to your own grantor" +msgstr "привилегию %s нельзя вернуть тому, кто назначил её вам" -#: commands/user.c:1603 +#: commands/user.c:1896 +#, c-format +msgid "" +"role \"%s\" has already been granted membership in role \"%s\" by role \"%s\"" +msgstr "роль \"%s\" уже назначена членом роли \"%s\" ролью \"%s\"" + +#: commands/user.c:2031 +#, c-format +msgid "" +"role \"%s\" has not been granted membership in role \"%s\" by role \"%s\"" +msgstr "роль \"%s\" не была назначена членом роли \"%s\" ролью \"%s\"" + +#: commands/user.c:2131 +#, c-format +msgid "role \"%s\" cannot have explicit members" +msgstr "роль \"%s\" не может содержать явных членов" + +#: commands/user.c:2142 commands/user.c:2165 +#, c-format +msgid "permission denied to grant role \"%s\"" +msgstr "нет прав для назначения членства в роли \"%s\"" + +#: commands/user.c:2144 +#, c-format +msgid "Only roles with the %s attribute may grant roles with the %s attribute." +msgstr "" +"Только роли с атрибутом %s могут назначать членов в ролях с атрибутов %s." + +#: commands/user.c:2149 commands/user.c:2172 +#, c-format +msgid "permission denied to revoke role \"%s\"" +msgstr "нет прав для лишения членства в роли \"%s\"" + +#: commands/user.c:2151 +#, c-format +msgid "" +"Only roles with the %s attribute may revoke roles with the %s attribute." +msgstr "" +"Только роли с атрибутом %s могут лишать членства в ролях с атрибутом %s." + +#: commands/user.c:2167 +#, c-format +msgid "Only roles with the %s option on role \"%s\" may grant this role." +msgstr "" +"Только роли с привилегией %s для роли \"%s\" могут назначать членов в ней." + +#: commands/user.c:2174 +#, c-format +msgid "Only roles with the %s option on role \"%s\" may revoke this role." +msgstr "" +"Только роли с привилегией %s для роли \"%s\" могут лишать членства в ней." + +#: commands/user.c:2254 commands/user.c:2263 +#, c-format +msgid "permission denied to grant privileges as role \"%s\"" +msgstr "нет полномочий для назначения прав доступа роли \"%s\"" + +#: commands/user.c:2256 +#, c-format +msgid "" +"Only roles with privileges of role \"%s\" may grant privileges as this role." +msgstr "" +"Только роли с правами роли \"%s\" могут назначать права от имени этой роли." + +#: commands/user.c:2265 +#, c-format +msgid "The grantor must have the %s option on role \"%s\"." +msgstr "Праводатель должен иметь привилегию %s для роли \"%s\"." + +#: commands/user.c:2273 +#, c-format +msgid "permission denied to revoke privileges granted by role \"%s\"" +msgstr "нет полномочий для отзыва прав доступа, назначенных ролью \"%s\"" + +#: commands/user.c:2275 #, c-format -msgid "role \"%s\" is not a member of role \"%s\"" -msgstr "роль \"%s\" не включена в роль \"%s\"" +msgid "" +"Only roles with privileges of role \"%s\" may revoke privileges granted by " +"this role." +msgstr "" +"Только роли с правами роли \"%s\" могут отзывать права от имени этой роли." + +#: commands/user.c:2498 utils/adt/acl.c:1309 +#, c-format +msgid "dependent privileges exist" +msgstr "существуют зависимые права" + +#: commands/user.c:2499 utils/adt/acl.c:1310 +#, c-format +msgid "Use CASCADE to revoke them too." +msgstr "Используйте CASCADE, чтобы отозвать и их." + +#: commands/vacuum.c:137 +#, c-format +msgid "\"vacuum_buffer_usage_limit\" must be 0 or between %d kB and %d kB" +msgstr "" +"значение \"vacuum_buffer_usage_limit\" должно быть нулевым или лежать в " +"диапазоне от %d kB до %d kB" + +#: commands/vacuum.c:209 +#, c-format +msgid "BUFFER_USAGE_LIMIT option must be 0 or between %d kB and %d kB" +msgstr "" +"параметр BUFFER_USAGE_LIMIT должен быть нулевым или лежать в диапазоне от %d " +"kB до %d kB" -#: commands/vacuum.c:139 +#: commands/vacuum.c:219 #, c-format msgid "unrecognized ANALYZE option \"%s\"" msgstr "нераспознанный параметр ANALYZE: \"%s\"" -#: commands/vacuum.c:177 +#: commands/vacuum.c:259 #, c-format msgid "parallel option requires a value between 0 and %d" msgstr "для параметра parallel требуется значение от 0 до %d" -#: commands/vacuum.c:189 +#: commands/vacuum.c:271 #, c-format msgid "parallel workers for vacuum must be between 0 and %d" msgstr "" "число параллельных исполнителей для выполнения очистки должно быть от 0 до %d" -#: commands/vacuum.c:206 +#: commands/vacuum.c:292 #, c-format msgid "unrecognized VACUUM option \"%s\"" msgstr "нераспознанный параметр VACUUM: \"%s\"" -#: commands/vacuum.c:229 +#: commands/vacuum.c:318 #, c-format msgid "VACUUM FULL cannot be performed in parallel" msgstr "VACUUM FULL нельзя выполнять в параллельном режиме" -#: commands/vacuum.c:245 +#: commands/vacuum.c:329 #, c-format -msgid "ANALYZE option must be specified when a column list is provided" -msgstr "если задаётся список столбцов, необходимо указать ANALYZE" +msgid "BUFFER_USAGE_LIMIT cannot be specified for VACUUM FULL" +msgstr "параметр BUFFER_USAGE_LIMIT нельзя задавать для VACUUM FULL" -#: commands/vacuum.c:335 +#: commands/vacuum.c:343 #, c-format -msgid "%s cannot be executed from VACUUM or ANALYZE" -msgstr "%s нельзя выполнить в ходе VACUUM или ANALYZE" +msgid "ANALYZE option must be specified when a column list is provided" +msgstr "если задаётся список столбцов, необходимо указать ANALYZE" -#: commands/vacuum.c:345 +#: commands/vacuum.c:355 #, c-format msgid "VACUUM option DISABLE_PAGE_SKIPPING cannot be used with FULL" msgstr "Параметр VACUUM DISABLE_PAGE_SKIPPING нельзя использовать с FULL" -#: commands/vacuum.c:352 +#: commands/vacuum.c:362 #, c-format msgid "PROCESS_TOAST required with VACUUM FULL" msgstr "VACUUM FULL работает только с PROCESS_TOAST" -#: commands/vacuum.c:586 -#, c-format -msgid "skipping \"%s\" --- only superuser can vacuum it" -msgstr "" -"\"%s\" пропускается --- только суперпользователь может очистить эту таблицу" - -#: commands/vacuum.c:590 +#: commands/vacuum.c:371 #, c-format -msgid "skipping \"%s\" --- only superuser or database owner can vacuum it" -msgstr "" -"пропускается \"%s\" --- только суперпользователь или владелец БД может " -"очистить эту таблицу" +msgid "ONLY_DATABASE_STATS cannot be specified with a list of tables" +msgstr "ONLY_DATABASE_STATS нельзя задавать со списком таблиц" -#: commands/vacuum.c:594 +#: commands/vacuum.c:380 #, c-format -msgid "skipping \"%s\" --- only table or database owner can vacuum it" -msgstr "" -"\"%s\" пропускается --- только владелец базы данных или этой таблицы может " -"очистить её" +msgid "ONLY_DATABASE_STATS cannot be specified with other VACUUM options" +msgstr "ONLY_DATABASE_STATS нельзя задавать с другими параметрами VACUUM" -#: commands/vacuum.c:609 +#: commands/vacuum.c:515 #, c-format -msgid "skipping \"%s\" --- only superuser can analyze it" -msgstr "" -"\"%s\" пропускается --- только суперпользователь может анализировать этот " -"объект" +msgid "%s cannot be executed from VACUUM or ANALYZE" +msgstr "%s нельзя выполнить в ходе VACUUM или ANALYZE" -#: commands/vacuum.c:613 +#: commands/vacuum.c:733 #, c-format -msgid "skipping \"%s\" --- only superuser or database owner can analyze it" -msgstr "" -"\"%s\" пропускается --- только суперпользователь или владелец БД может " -"анализировать этот объект" +msgid "permission denied to vacuum \"%s\", skipping it" +msgstr "нет доступа для очистки отношения \"%s\", оно пропускается" -#: commands/vacuum.c:617 +#: commands/vacuum.c:746 #, c-format -msgid "skipping \"%s\" --- only table or database owner can analyze it" -msgstr "" -"\"%s\" пропускается --- только владелец таблицы или БД может анализировать " -"этот объект" +msgid "permission denied to analyze \"%s\", skipping it" +msgstr "нет доступа для анализа отношения \"%s\", оно пропускается" -#: commands/vacuum.c:696 commands/vacuum.c:792 +#: commands/vacuum.c:824 commands/vacuum.c:921 #, c-format msgid "skipping vacuum of \"%s\" --- lock not available" msgstr "очистка \"%s\" пропускается --- блокировка недоступна" -#: commands/vacuum.c:701 +#: commands/vacuum.c:829 #, c-format msgid "skipping vacuum of \"%s\" --- relation no longer exists" msgstr "очистка \"%s\" пропускается --- это отношение более не существует" -#: commands/vacuum.c:717 commands/vacuum.c:797 +#: commands/vacuum.c:845 commands/vacuum.c:926 #, c-format msgid "skipping analyze of \"%s\" --- lock not available" msgstr "анализ \"%s\" пропускается --- блокировка недоступна" -#: commands/vacuum.c:722 +#: commands/vacuum.c:850 #, c-format msgid "skipping analyze of \"%s\" --- relation no longer exists" msgstr "анализ \"%s\" пропускается --- это отношение более не существует" -#: commands/vacuum.c:1041 +#: commands/vacuum.c:1161 #, c-format -msgid "oldest xmin is far in the past" -msgstr "самый старый xmin далеко в прошлом" +msgid "cutoff for removing and freezing tuples is far in the past" +msgstr "момент отсечки для удаления и замораживания кортежей далеко в прошлом" -#: commands/vacuum.c:1042 +#: commands/vacuum.c:1162 commands/vacuum.c:1167 #, c-format msgid "" "Close open transactions soon to avoid wraparound problems.\n" @@ -13853,50 +14300,42 @@ msgstr "" "Возможно, вам также придётся зафиксировать или откатить старые " "подготовленные транзакции и удалить неиспользуемые слоты репликации." -#: commands/vacuum.c:1085 +#: commands/vacuum.c:1166 #, c-format -msgid "oldest multixact is far in the past" -msgstr "самый старый multixact далеко в прошлом" +msgid "cutoff for freezing multixacts is far in the past" +msgstr "момент отсечки для замораживания мультитранзакций далеко в прошлом" -#: commands/vacuum.c:1086 -#, c-format -msgid "" -"Close open transactions with multixacts soon to avoid wraparound problems." -msgstr "" -"Скорее закройте открытые транзакции в мультитранзакциях, чтобы избежать " -"проблемы зацикливания." - -#: commands/vacuum.c:1792 +#: commands/vacuum.c:1908 #, c-format msgid "some databases have not been vacuumed in over 2 billion transactions" msgstr "" "есть базы данных, которые не очищались на протяжении более чем 2 миллиардов " "транзакций" -#: commands/vacuum.c:1793 +#: commands/vacuum.c:1909 #, c-format msgid "You might have already suffered transaction-wraparound data loss." msgstr "" "Возможно, вы уже потеряли данные в результате зацикливания ID транзакций." -#: commands/vacuum.c:1957 +#: commands/vacuum.c:2078 #, c-format msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables" msgstr "" "\"%s\" пропускается --- очищать не таблицы или специальные системные таблицы " "нельзя" -#: commands/vacuum.c:2328 +#: commands/vacuum.c:2503 #, c-format msgid "scanned index \"%s\" to remove %d row versions" msgstr "просканирован индекс \"%s\", удалено версий строк: %d" -#: commands/vacuum.c:2347 +#: commands/vacuum.c:2522 #, c-format msgid "index \"%s\" now contains %.0f row versions in %u pages" msgstr "индекс \"%s\" теперь содержит версий строк: %.0f, в страницах: %u" -#: commands/vacuum.c:2351 +#: commands/vacuum.c:2526 #, c-format msgid "" "%.0f index row versions were removed.\n" @@ -13908,7 +14347,7 @@ msgstr "" "На данный момент удалено страниц индекса: %u, из них свободны для " "использования: %u." -#: commands/vacuumparallel.c:664 +#: commands/vacuumparallel.c:677 #, c-format msgid "launched %d parallel vacuum worker for index vacuuming (planned: %d)" msgid_plural "" @@ -13923,7 +14362,7 @@ msgstr[2] "" "запущено %d параллельных процессов очистки для очистки индекса " "(планировалось: %d)" -#: commands/vacuumparallel.c:670 +#: commands/vacuumparallel.c:683 #, c-format msgid "launched %d parallel vacuum worker for index cleanup (planned: %d)" msgid_plural "" @@ -13938,121 +14377,144 @@ msgstr[2] "" "запущено %d параллельных процессов очистки для уборки индекса " "(планировалось: %d)" -#: commands/variable.c:165 utils/misc/guc.c:12099 utils/misc/guc.c:12177 -#, c-format -msgid "Unrecognized key word: \"%s\"." -msgstr "нераспознанное ключевое слово: \"%s\"." - -#: commands/variable.c:177 +#: commands/variable.c:185 #, c-format msgid "Conflicting \"datestyle\" specifications." msgstr "Конфликтующие спецификации стиля дат." -#: commands/variable.c:299 +#: commands/variable.c:307 #, c-format msgid "Cannot specify months in time zone interval." msgstr "В интервале, задающем часовой пояс, нельзя указывать месяцы." -#: commands/variable.c:305 +#: commands/variable.c:313 #, c-format msgid "Cannot specify days in time zone interval." msgstr "В интервале, задающем часовой пояс, нельзя указывать дни." -#: commands/variable.c:343 commands/variable.c:425 +#: commands/variable.c:351 commands/variable.c:433 #, c-format msgid "time zone \"%s\" appears to use leap seconds" msgstr "часовой пояс \"%s\" видимо использует координационные секунды" -#: commands/variable.c:345 commands/variable.c:427 +#: commands/variable.c:353 commands/variable.c:435 #, c-format msgid "PostgreSQL does not support leap seconds." msgstr "PostgreSQL не поддерживает координационные секунды." -#: commands/variable.c:354 +#: commands/variable.c:362 #, c-format msgid "UTC timezone offset is out of range." msgstr "смещение часового пояса UTC вне диапазона" -#: commands/variable.c:494 +#: commands/variable.c:552 #, c-format msgid "cannot set transaction read-write mode inside a read-only transaction" msgstr "" "нельзя установить режим транзакции \"чтение-запись\" внутри транзакции " "\"только чтение\"" -#: commands/variable.c:501 +#: commands/variable.c:559 #, c-format msgid "transaction read-write mode must be set before any query" msgstr "" "режим транзакции \"чтение-запись\" должен быть установлен до выполнения " "запросов" -#: commands/variable.c:508 +#: commands/variable.c:566 #, c-format msgid "cannot set transaction read-write mode during recovery" msgstr "" "нельзя установить режим транзакции \"чтение-запись\" в процессе " "восстановления" -#: commands/variable.c:534 +#: commands/variable.c:592 #, c-format msgid "SET TRANSACTION ISOLATION LEVEL must be called before any query" msgstr "команда SET TRANSACTION ISOLATION LEVEL должна выполняться до запросов" -#: commands/variable.c:541 +#: commands/variable.c:599 #, c-format msgid "SET TRANSACTION ISOLATION LEVEL must not be called in a subtransaction" msgstr "" "команда SET TRANSACTION ISOLATION LEVEL не должна вызываться в подтранзакции" -#: commands/variable.c:548 storage/lmgr/predicate.c:1694 +#: commands/variable.c:606 storage/lmgr/predicate.c:1629 #, c-format msgid "cannot use serializable mode in a hot standby" msgstr "использовать сериализуемый режим в горячем резерве нельзя" -#: commands/variable.c:549 +#: commands/variable.c:607 #, c-format msgid "You can use REPEATABLE READ instead." msgstr "Используйте REPEATABLE READ." -#: commands/variable.c:567 +#: commands/variable.c:625 #, c-format msgid "" "SET TRANSACTION [NOT] DEFERRABLE cannot be called within a subtransaction" msgstr "" "команда SET TRANSACTION [NOT] DEFERRABLE не может вызываться в подтранзакции" -#: commands/variable.c:573 +#: commands/variable.c:631 #, c-format msgid "SET TRANSACTION [NOT] DEFERRABLE must be called before any query" msgstr "" "команда SET TRANSACTION [NOT] DEFERRABLE должна выполняться до запросов" -#: commands/variable.c:655 +#: commands/variable.c:713 #, c-format msgid "Conversion between %s and %s is not supported." msgstr "Преобразование кодировок %s <-> %s не поддерживается." -#: commands/variable.c:662 +#: commands/variable.c:720 #, c-format msgid "Cannot change \"client_encoding\" now." msgstr "Изменить клиентскую кодировку сейчас нельзя." -#: commands/variable.c:723 +#: commands/variable.c:781 #, c-format msgid "cannot change client_encoding during a parallel operation" msgstr "изменить клиентскую кодировку во время параллельной операции нельзя" -#: commands/variable.c:890 +#: commands/variable.c:948 #, c-format msgid "permission will be denied to set role \"%s\"" msgstr "нет прав установить роль \"%s\"" -#: commands/variable.c:895 +#: commands/variable.c:953 #, c-format msgid "permission denied to set role \"%s\"" msgstr "нет прав установить роль \"%s\"" +#: commands/variable.c:1153 +#, c-format +msgid "Bonjour is not supported by this build" +msgstr "Bonjour не поддерживается в данной сборке" + +#: commands/variable.c:1181 +#, c-format +msgid "" +"effective_io_concurrency must be set to 0 on platforms that lack " +"posix_fadvise()." +msgstr "" +"Значение effective_io_concurrency должно равняться 0 на платформах, где " +"отсутствует lack posix_fadvise()." + +#: commands/variable.c:1194 +#, c-format +msgid "" +"maintenance_io_concurrency must be set to 0 on platforms that lack " +"posix_fadvise()." +msgstr "" +"Значение maintenance_io_concurrency должно равняться 0 на платформах, где " +"отсутствует lack posix_fadvise()." + +#: commands/variable.c:1207 +#, c-format +msgid "SSL is not supported by this build" +msgstr "SSL не поддерживается в данной сборке" + #: commands/view.c:84 #, c-format msgid "could not determine which collation to use for view column \"%s\"" @@ -14090,28 +14552,28 @@ msgstr "" "изменить правило сортировки для столбца представления \"%s\" с \"%s\" на " "\"%s\" нельзя" -#: commands/view.c:468 +#: commands/view.c:392 #, c-format msgid "views must not contain SELECT INTO" msgstr "представления не должны содержать SELECT INTO" -#: commands/view.c:480 +#: commands/view.c:404 #, c-format msgid "views must not contain data-modifying statements in WITH" msgstr "представления не должны содержать операторы, изменяющие данные в WITH" -#: commands/view.c:550 +#: commands/view.c:474 #, c-format msgid "CREATE VIEW specifies more column names than columns" msgstr "в CREATE VIEW указано больше имён столбцов, чем самих столбцов" -#: commands/view.c:558 +#: commands/view.c:482 #, c-format msgid "views cannot be unlogged because they do not have storage" msgstr "" "представления не могут быть нежурналируемыми, так как они нигде не хранятся" -#: commands/view.c:572 +#: commands/view.c:496 #, c-format msgid "view \"%s\" will be a temporary view" msgstr "представление \"%s\" будет создано как временное" @@ -14149,7 +14611,7 @@ msgid "cursor \"%s\" is not a simply updatable scan of table \"%s\"" msgstr "" "для курсора \"%s\" не выполняется обновляемое сканирование таблицы \"%s\"" -#: executor/execCurrent.c:280 executor/execExprInterp.c:2453 +#: 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)" @@ -14157,56 +14619,56 @@ msgstr "" "тип параметра %d (%s) не соответствует тому, с которым подготавливался план " "(%s)" -#: executor/execCurrent.c:292 executor/execExprInterp.c:2465 +#: executor/execCurrent.c:292 executor/execExprInterp.c:2510 #, c-format msgid "no value found for parameter %d" msgstr "не найдено значение параметра %d" -#: executor/execExpr.c:632 executor/execExpr.c:639 executor/execExpr.c:645 -#: executor/execExprInterp.c:4052 executor/execExprInterp.c:4069 -#: executor/execExprInterp.c:4168 executor/nodeModifyTable.c:220 -#: executor/nodeModifyTable.c:231 executor/nodeModifyTable.c:248 -#: executor/nodeModifyTable.c:256 +#: 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 #, c-format msgid "table row type and query-specified row type do not match" msgstr "тип строки таблицы отличается от типа строки-результата запроса" -#: executor/execExpr.c:633 executor/nodeModifyTable.c:221 +#: executor/execExpr.c:638 executor/nodeModifyTable.c:198 #, c-format msgid "Query has too many columns." msgstr "Запрос возвращает больше столбцов." -#: executor/execExpr.c:640 executor/nodeModifyTable.c:249 +#: executor/execExpr.c:645 executor/nodeModifyTable.c:226 #, c-format msgid "Query provides a value for a dropped column at ordinal position %d." msgstr "" "Запрос выдаёт значение для удалённого столбца (с порядковым номером %d)." -#: executor/execExpr.c:646 executor/execExprInterp.c:4070 -#: executor/nodeModifyTable.c:232 +#: executor/execExpr.c:651 executor/execExprInterp.c:4252 +#: executor/nodeModifyTable.c:209 #, c-format msgid "Table has type %s at ordinal position %d, but query expects %s." msgstr "" "В таблице определён тип %s (номер столбца: %d), а в запросе предполагается " "%s." -#: executor/execExpr.c:1110 parser/parse_agg.c:827 +#: executor/execExpr.c:1099 parser/parse_agg.c:827 #, c-format msgid "window function calls cannot be nested" msgstr "вложенные вызовы оконных функций недопустимы" -#: executor/execExpr.c:1614 +#: executor/execExpr.c:1618 #, c-format msgid "target type is not an array" msgstr "целевой тип не является массивом" -#: executor/execExpr.c:1954 +#: executor/execExpr.c:1958 #, c-format msgid "ROW() column has type %s instead of type %s" msgstr "столбец ROW() имеет тип %s, а должен - %s" -#: executor/execExpr.c:2479 executor/execSRF.c:718 parser/parse_func.c:138 -#: parser/parse_func.c:655 parser/parse_func.c:1031 +#: 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" msgid_plural "cannot pass more than %d arguments to a function" @@ -14214,60 +14676,60 @@ msgstr[0] "функции нельзя передать больше %d аргу msgstr[1] "функции нельзя передать больше %d аргументов" msgstr[2] "функции нельзя передать больше %d аргументов" -#: executor/execExpr.c:2506 executor/execSRF.c:738 executor/functions.c:1073 -#: utils/adt/jsonfuncs.c:3698 utils/fmgr/funcapi.c:98 utils/fmgr/funcapi.c:152 +#: 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 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "" "функция, возвращающая множество, вызвана в контексте, где ему нет места" -#: executor/execExpr.c:2865 parser/parse_node.c:276 parser/parse_node.c:326 +#: 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 "" "к элементам типа %s нельзя обращаться по индексам, так как он это не " "поддерживает" -#: executor/execExpr.c:2993 executor/execExpr.c:3015 +#: executor/execExpr.c:3135 executor/execExpr.c:3157 #, c-format msgid "type %s does not support subscripted assignment" msgstr "тип %s не поддерживает изменение элемента по индексу" -#: executor/execExprInterp.c:1918 +#: executor/execExprInterp.c:1962 #, c-format msgid "attribute %d of type %s has been dropped" msgstr "атрибут %d типа %s был удалён" -#: executor/execExprInterp.c:1924 +#: executor/execExprInterp.c:1968 #, c-format msgid "attribute %d of type %s has wrong type" msgstr "атрибут %d типа %s имеет неправильный тип" -#: executor/execExprInterp.c:1926 executor/execExprInterp.c:3054 -#: executor/execExprInterp.c:3100 +#: executor/execExprInterp.c:1970 executor/execExprInterp.c:3104 +#: executor/execExprInterp.c:3150 #, c-format msgid "Table has type %s, but query expects %s." msgstr "В таблице задан тип %s, а в запросе ожидается %s." -#: executor/execExprInterp.c:2005 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:570 +#: executor/execExprInterp.c:2050 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 #, c-format msgid "type %s is not composite" msgstr "тип %s не является составным" -#: executor/execExprInterp.c:2543 +#: executor/execExprInterp.c:2588 #, c-format msgid "WHERE CURRENT OF is not supported for this table type" msgstr "WHERE CURRENT OF для таблиц такого типа не поддерживается" -#: executor/execExprInterp.c:2756 +#: executor/execExprInterp.c:2801 #, c-format msgid "cannot merge incompatible arrays" msgstr "не удалось объединить несовместимые массивы" -#: executor/execExprInterp.c:2757 +#: executor/execExprInterp.c:2802 #, c-format msgid "" "Array with element type %s cannot be included in ARRAY construct with " @@ -14276,16 +14738,16 @@ msgstr "" "Массив с типом элементов %s нельзя включить в конструкцию ARRAY с типом " "элементов %s." -#: executor/execExprInterp.c:2778 utils/adt/arrayfuncs.c:263 -#: utils/adt/arrayfuncs.c:563 utils/adt/arrayfuncs.c:1305 -#: utils/adt/arrayfuncs.c:3375 utils/adt/arrayfuncs.c:5372 -#: utils/adt/arrayfuncs.c:5889 utils/adt/arraysubs.c:150 +#: 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 #: utils/adt/arraysubs.c:488 #, c-format msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" msgstr "число размерностей массива (%d) превышает предел (%d)" -#: executor/execExprInterp.c:2798 executor/execExprInterp.c:2828 +#: executor/execExprInterp.c:2843 executor/execExprInterp.c:2878 #, c-format msgid "" "multidimensional arrays must have array expressions with matching dimensions" @@ -14293,22 +14755,32 @@ msgstr "" "для многомерных массивов должны задаваться выражения с соответствующими " "размерностями" -#: executor/execExprInterp.c:3053 executor/execExprInterp.c:3099 +#: 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 +#, c-format +msgid "array size exceeds the maximum allowed (%d)" +msgstr "размер массива превышает предел (%d)" + +#: executor/execExprInterp.c:3103 executor/execExprInterp.c:3149 #, c-format msgid "attribute %d has wrong type" msgstr "атрибут %d имеет неверный тип" -#: executor/execExprInterp.c:3681 utils/adt/domains.c:149 +#: executor/execExprInterp.c:3735 utils/adt/domains.c:155 #, c-format msgid "domain %s does not allow null values" msgstr "домен %s не допускает значения null" -#: executor/execExprInterp.c:3696 utils/adt/domains.c:184 +#: executor/execExprInterp.c:3750 utils/adt/domains.c:193 #, c-format msgid "value for domain %s violates check constraint \"%s\"" msgstr "значение домена %s нарушает ограничение-проверку \"%s\"" -#: executor/execExprInterp.c:4053 +#: 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." @@ -14316,14 +14788,14 @@ msgstr[0] "Строка таблицы содержит %d атрибут, а в msgstr[1] "Строка таблицы содержит %d атрибута, а в запросе ожидается %d." msgstr[2] "Строка таблицы содержит %d атрибутов, а в запросе ожидается %d." -#: executor/execExprInterp.c:4169 executor/execSRF.c:977 +#: executor/execExprInterp.c:4351 executor/execSRF.c:978 #, c-format msgid "Physical storage mismatch on dropped attribute at ordinal position %d." msgstr "" "Несоответствие параметров физического хранения удалённого атрибута (под " "номером %d)." -#: executor/execIndexing.c:571 +#: executor/execIndexing.c:588 #, c-format msgid "" "ON CONFLICT does not support deferrable unique constraints/exclusion " @@ -14332,54 +14804,54 @@ msgstr "" "ON CONFLICT не поддерживает откладываемые ограничения уникальности/" "ограничения-исключения в качестве определяющего индекса" -#: executor/execIndexing.c:848 +#: executor/execIndexing.c:865 #, c-format msgid "could not create exclusion constraint \"%s\"" msgstr "не удалось создать ограничение-исключение \"%s\"" -#: executor/execIndexing.c:851 +#: executor/execIndexing.c:868 #, c-format msgid "Key %s conflicts with key %s." msgstr "Ключ %s конфликтует с ключом %s." -#: executor/execIndexing.c:853 +#: executor/execIndexing.c:870 #, c-format msgid "Key conflicts exist." msgstr "Обнаружен конфликт ключей." -#: executor/execIndexing.c:859 +#: executor/execIndexing.c:876 #, c-format msgid "conflicting key value violates exclusion constraint \"%s\"" msgstr "конфликтующее значение ключа нарушает ограничение-исключение \"%s\"" -#: executor/execIndexing.c:862 +#: executor/execIndexing.c:879 #, c-format msgid "Key %s conflicts with existing key %s." msgstr "Ключ %s конфликтует с существующим ключом %s." -#: executor/execIndexing.c:864 +#: executor/execIndexing.c:881 #, c-format msgid "Key conflicts with existing key." msgstr "Ключ конфликтует с уже существующим." -#: executor/execMain.c:1009 +#: executor/execMain.c:1039 #, c-format msgid "cannot change sequence \"%s\"" msgstr "последовательность \"%s\" изменить нельзя" -#: executor/execMain.c:1015 +#: executor/execMain.c:1045 #, c-format msgid "cannot change TOAST relation \"%s\"" msgstr "TOAST-отношение \"%s\" изменить нельзя" -#: executor/execMain.c:1033 rewrite/rewriteHandler.c:3069 -#: rewrite/rewriteHandler.c:3916 +#: executor/execMain.c:1063 rewrite/rewriteHandler.c:3079 +#: rewrite/rewriteHandler.c:3966 #, c-format msgid "cannot insert into view \"%s\"" msgstr "вставить данные в представление \"%s\" нельзя" -#: executor/execMain.c:1035 rewrite/rewriteHandler.c:3072 -#: rewrite/rewriteHandler.c:3919 +#: executor/execMain.c:1065 rewrite/rewriteHandler.c:3082 +#: rewrite/rewriteHandler.c:3969 #, c-format msgid "" "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or " @@ -14388,14 +14860,14 @@ msgstr "" "Чтобы представление допускало добавление данных, установите триггер INSTEAD " "OF INSERT или безусловное правило ON INSERT DO INSTEAD." -#: executor/execMain.c:1041 rewrite/rewriteHandler.c:3077 -#: rewrite/rewriteHandler.c:3924 +#: executor/execMain.c:1071 rewrite/rewriteHandler.c:3087 +#: rewrite/rewriteHandler.c:3974 #, c-format msgid "cannot update view \"%s\"" msgstr "изменить данные в представлении \"%s\" нельзя" -#: executor/execMain.c:1043 rewrite/rewriteHandler.c:3080 -#: rewrite/rewriteHandler.c:3927 +#: executor/execMain.c:1073 rewrite/rewriteHandler.c:3090 +#: rewrite/rewriteHandler.c:3977 #, c-format msgid "" "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an " @@ -14404,14 +14876,14 @@ msgstr "" "Чтобы представление допускало изменение данных, установите триггер INSTEAD " "OF UPDATE или безусловное правило ON UPDATE DO INSTEAD." -#: executor/execMain.c:1049 rewrite/rewriteHandler.c:3085 -#: rewrite/rewriteHandler.c:3932 +#: executor/execMain.c:1079 rewrite/rewriteHandler.c:3095 +#: rewrite/rewriteHandler.c:3982 #, c-format msgid "cannot delete from view \"%s\"" msgstr "удалить данные из представления \"%s\" нельзя" -#: executor/execMain.c:1051 rewrite/rewriteHandler.c:3088 -#: rewrite/rewriteHandler.c:3935 +#: executor/execMain.c:1081 rewrite/rewriteHandler.c:3098 +#: rewrite/rewriteHandler.c:3985 #, c-format msgid "" "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an " @@ -14420,119 +14892,119 @@ msgstr "" "Чтобы представление допускало удаление данных, установите триггер INSTEAD OF " "DELETE или безусловное правило ON DELETE DO INSTEAD." -#: executor/execMain.c:1062 +#: executor/execMain.c:1092 #, c-format msgid "cannot change materialized view \"%s\"" msgstr "изменить материализованное представление \"%s\" нельзя" -#: executor/execMain.c:1074 +#: executor/execMain.c:1104 #, c-format msgid "cannot insert into foreign table \"%s\"" msgstr "вставлять данные в стороннюю таблицу \"%s\" нельзя" -#: executor/execMain.c:1080 +#: executor/execMain.c:1110 #, c-format msgid "foreign table \"%s\" does not allow inserts" msgstr "сторонняя таблица \"%s\" не допускает добавления" -#: executor/execMain.c:1087 +#: executor/execMain.c:1117 #, c-format msgid "cannot update foreign table \"%s\"" msgstr "изменять данные в сторонней таблице \"%s\"" -#: executor/execMain.c:1093 +#: executor/execMain.c:1123 #, c-format msgid "foreign table \"%s\" does not allow updates" msgstr "сторонняя таблица \"%s\" не допускает изменения" -#: executor/execMain.c:1100 +#: executor/execMain.c:1130 #, c-format msgid "cannot delete from foreign table \"%s\"" msgstr "удалять данные из сторонней таблицы \"%s\" нельзя" -#: executor/execMain.c:1106 +#: executor/execMain.c:1136 #, c-format msgid "foreign table \"%s\" does not allow deletes" msgstr "сторонняя таблица \"%s\" не допускает удаления" -#: executor/execMain.c:1117 +#: executor/execMain.c:1147 #, c-format msgid "cannot change relation \"%s\"" msgstr "отношение \"%s\" изменить нельзя" -#: executor/execMain.c:1144 +#: executor/execMain.c:1174 #, c-format msgid "cannot lock rows in sequence \"%s\"" msgstr "блокировать строки в последовательности \"%s\" нельзя" -#: executor/execMain.c:1151 +#: executor/execMain.c:1181 #, c-format msgid "cannot lock rows in TOAST relation \"%s\"" msgstr "блокировать строки в TOAST-отношении \"%s\" нельзя" -#: executor/execMain.c:1158 +#: executor/execMain.c:1188 #, c-format msgid "cannot lock rows in view \"%s\"" msgstr "блокировать строки в представлении \"%s\" нельзя" -#: executor/execMain.c:1166 +#: executor/execMain.c:1196 #, c-format msgid "cannot lock rows in materialized view \"%s\"" msgstr "блокировать строки в материализованном представлении \"%s\" нельзя" -#: executor/execMain.c:1175 executor/execMain.c:2653 -#: executor/nodeLockRows.c:136 +#: executor/execMain.c:1205 executor/execMain.c:2708 +#: executor/nodeLockRows.c:135 #, c-format msgid "cannot lock rows in foreign table \"%s\"" msgstr "блокировать строки в сторонней таблице \"%s\" нельзя" -#: executor/execMain.c:1181 +#: executor/execMain.c:1211 #, c-format msgid "cannot lock rows in relation \"%s\"" msgstr "блокировать строки в отношении \"%s\" нельзя" -#: executor/execMain.c:1888 +#: executor/execMain.c:1922 #, c-format msgid "new row for relation \"%s\" violates partition constraint" msgstr "новая строка в отношении \"%s\" нарушает ограничение секции" -#: executor/execMain.c:1890 executor/execMain.c:1973 executor/execMain.c:2023 -#: executor/execMain.c:2132 +#: executor/execMain.c:1924 executor/execMain.c:2008 executor/execMain.c:2059 +#: executor/execMain.c:2169 #, c-format msgid "Failing row contains %s." msgstr "Ошибочная строка содержит %s." -#: executor/execMain.c:1970 +#: executor/execMain.c:2005 #, c-format msgid "" "null value in column \"%s\" of relation \"%s\" violates not-null constraint" msgstr "" "значение NULL в столбце \"%s\" отношения \"%s\" нарушает ограничение NOT NULL" -#: executor/execMain.c:2021 +#: executor/execMain.c:2057 #, c-format msgid "new row for relation \"%s\" violates check constraint \"%s\"" msgstr "новая строка в отношении \"%s\" нарушает ограничение-проверку \"%s\"" -#: executor/execMain.c:2130 +#: executor/execMain.c:2167 #, c-format msgid "new row violates check option for view \"%s\"" msgstr "новая строка нарушает ограничение-проверку для представления \"%s\"" -#: executor/execMain.c:2140 +#: executor/execMain.c:2177 #, c-format msgid "new row violates row-level security policy \"%s\" for table \"%s\"" msgstr "" "новая строка нарушает политику защиты на уровне строк \"%s\" для таблицы " "\"%s\"" -#: executor/execMain.c:2145 +#: executor/execMain.c:2182 #, c-format msgid "new row violates row-level security policy for table \"%s\"" msgstr "" "новая строка нарушает политику защиты на уровне строк для таблицы \"%s\"" -#: executor/execMain.c:2153 +#: executor/execMain.c:2190 #, c-format msgid "" "target row violates row-level security policy \"%s\" (USING expression) for " @@ -14541,7 +15013,7 @@ msgstr "" "целевая строка нарушает политику защиты на уровне строк \"%s\" (выражение " "USING) для таблицы \"%s\"" -#: executor/execMain.c:2158 +#: executor/execMain.c:2195 #, c-format msgid "" "target row violates row-level security policy (USING expression) for table " @@ -14550,7 +15022,7 @@ msgstr "" "новая строка нарушает политику защиты на уровне строк (выражение USING) для " "таблицы \"%s\"" -#: executor/execMain.c:2165 +#: executor/execMain.c:2202 #, c-format msgid "" "new row violates row-level security policy \"%s\" (USING expression) for " @@ -14559,7 +15031,7 @@ msgstr "" "новая строка нарушает политику защиты на уровне строк \"%s\" (выражение " "USING) для таблицы \"%s\"" -#: executor/execMain.c:2170 +#: executor/execMain.c:2207 #, c-format msgid "" "new row violates row-level security policy (USING expression) for table " @@ -14578,7 +15050,7 @@ msgstr "для строки не найдена секция в отношени msgid "Partition key of the failing row contains %s." msgstr "Ключ секционирования для неподходящей строки содержит %s." -#: executor/execReplication.c:196 executor/execReplication.c:373 +#: executor/execReplication.c:231 executor/execReplication.c:415 #, c-format msgid "" "tuple to be locked was already moved to another partition due to concurrent " @@ -14587,31 +15059,31 @@ msgstr "" "кортеж, подлежащий блокировке, был перемещён в другую секцию в результате " "параллельного изменения; следует повторная попытка" -#: executor/execReplication.c:200 executor/execReplication.c:377 +#: executor/execReplication.c:235 executor/execReplication.c:419 #, c-format msgid "concurrent update, retrying" msgstr "параллельное изменение; следует повторная попытка" -#: executor/execReplication.c:206 executor/execReplication.c:383 +#: executor/execReplication.c:241 executor/execReplication.c:425 #, c-format msgid "concurrent delete, retrying" msgstr "параллельное удаление; следует повторная попытка" -#: executor/execReplication.c:269 parser/parse_cte.c:308 -#: parser/parse_oper.c:233 utils/adt/array_userfuncs.c:720 -#: utils/adt/array_userfuncs.c:859 utils/adt/arrayfuncs.c:3655 -#: utils/adt/arrayfuncs.c:4210 utils/adt/arrayfuncs.c:6202 -#: utils/adt/rowtypes.c:1203 +#: 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/rowtypes.c:1230 #, c-format msgid "could not identify an equality operator for type %s" msgstr "не удалось найти оператор равенства для типа %s" -#: executor/execReplication.c:599 executor/execReplication.c:605 +#: executor/execReplication.c:642 executor/execReplication.c:648 #, c-format msgid "cannot update table \"%s\"" msgstr "изменять данные в таблице \"%s\" нельзя" -#: executor/execReplication.c:601 executor/execReplication.c:613 +#: executor/execReplication.c:644 executor/execReplication.c:656 #, c-format msgid "" "Column used in the publication WHERE expression is not part of the replica " @@ -14620,7 +15092,7 @@ msgstr "" "Столбец, фигурирующий в выражении WHERE публикации, не входит в " "идентификатор реплики." -#: executor/execReplication.c:607 executor/execReplication.c:619 +#: executor/execReplication.c:650 executor/execReplication.c:662 #, c-format msgid "" "Column list used by the publication does not cover the replica identity." @@ -14628,12 +15100,12 @@ msgstr "" "Список столбцов, используемых в публикации, не покрывает идентификатор " "реплики." -#: executor/execReplication.c:611 executor/execReplication.c:617 +#: executor/execReplication.c:654 executor/execReplication.c:660 #, c-format msgid "cannot delete from table \"%s\"" msgstr "удалять данные из таблицы \"%s\" нельзя" -#: executor/execReplication.c:637 +#: executor/execReplication.c:680 #, c-format msgid "" "cannot update table \"%s\" because it does not have a replica identity and " @@ -14642,14 +15114,14 @@ msgstr "" "изменение в таблице \"%s\" невозможно, так как в ней отсутствует " "идентификатор реплики, но она публикует изменения" -#: executor/execReplication.c:639 +#: executor/execReplication.c:682 #, c-format msgid "To enable updating the table, set REPLICA IDENTITY using ALTER TABLE." msgstr "" "Чтобы эта таблица поддерживала изменение, установите REPLICA IDENTITY, " "выполнив ALTER TABLE." -#: executor/execReplication.c:643 +#: executor/execReplication.c:686 #, c-format msgid "" "cannot delete from table \"%s\" because it does not have a replica identity " @@ -14658,7 +15130,7 @@ msgstr "" "удаление из таблицы \"%s\" невозможно, так как в ней отсутствует " "идентификатор реплики, но она публикует удаления" -#: executor/execReplication.c:645 +#: executor/execReplication.c:688 #, c-format msgid "" "To enable deleting from the table, set REPLICA IDENTITY using ALTER TABLE." @@ -14666,34 +15138,34 @@ msgstr "" "Чтобы эта таблица поддерживала удаление, установите REPLICA IDENTITY, " "выполнив ALTER TABLE." -#: executor/execReplication.c:661 +#: executor/execReplication.c:704 #, c-format msgid "cannot use relation \"%s.%s\" as logical replication target" msgstr "" "в качестве целевого отношения для логической репликации нельзя использовать " "\"%s.%s\"" -#: executor/execSRF.c:315 +#: executor/execSRF.c:316 #, c-format msgid "rows returned by function are not all of the same row type" msgstr "строки, возвращённые функцией, имеют разные типы" -#: executor/execSRF.c:365 +#: executor/execSRF.c:366 #, c-format msgid "table-function protocol for value-per-call mode was not followed" msgstr "нарушение протокола табличной функции в режиме вызов-значение" -#: executor/execSRF.c:373 executor/execSRF.c:667 +#: executor/execSRF.c:374 executor/execSRF.c:668 #, c-format msgid "table-function protocol for materialize mode was not followed" msgstr "нарушение протокола табличной функции в режиме материализации" -#: executor/execSRF.c:380 executor/execSRF.c:685 +#: executor/execSRF.c:381 executor/execSRF.c:686 #, c-format msgid "unrecognized table-function returnMode: %d" msgstr "нераспознанный режим возврата табличной функции: %d" -#: executor/execSRF.c:894 +#: executor/execSRF.c:895 #, c-format msgid "" "function returning setof record called in context that cannot accept type " @@ -14702,12 +15174,12 @@ msgstr "" "функция, возвращающая запись SET OF, вызвана в контексте, не допускающем " "этот тип" -#: executor/execSRF.c:950 executor/execSRF.c:966 executor/execSRF.c:976 +#: executor/execSRF.c:951 executor/execSRF.c:967 executor/execSRF.c:977 #, c-format msgid "function return row and query-specified return row do not match" msgstr "тип результат функции отличается от типа строки-результата запроса" -#: executor/execSRF.c:951 +#: executor/execSRF.c:952 #, c-format msgid "Returned row contains %d attribute, but query expects %d." msgid_plural "Returned row contains %d attributes, but query expects %d." @@ -14717,23 +15189,23 @@ msgstr[1] "" msgstr[2] "" "Возвращённая строка содержит %d атрибутов, но запрос предполагает %d." -#: executor/execSRF.c:967 +#: executor/execSRF.c:968 #, c-format msgid "Returned type %s at ordinal position %d, but query expects %s." msgstr "Возвращён тип %s (номер столбца: %d), а в запросе предполагается %s." #: executor/execTuples.c:146 executor/execTuples.c:353 -#: executor/execTuples.c:521 executor/execTuples.c:712 +#: executor/execTuples.c:521 executor/execTuples.c:713 #, c-format msgid "cannot retrieve a system column in this context" msgstr "системный столбец нельзя получить в данном контексте" -#: executor/execUtils.c:742 +#: executor/execUtils.c:744 #, c-format msgid "materialized view \"%s\" has not been populated" msgstr "материализованное представление \"%s\" не было наполнено" -#: executor/execUtils.c:744 +#: executor/execUtils.c:746 #, c-format msgid "Use the REFRESH MATERIALIZED VIEW command." msgstr "Примените команду REFRESH MATERIALIZED VIEW." @@ -14743,48 +15215,48 @@ msgstr "Примените команду REFRESH MATERIALIZED VIEW." msgid "could not determine actual type of argument declared %s" msgstr "не удалось определить фактический тип аргумента, объявленного как %s" -#: executor/functions.c:514 +#: executor/functions.c:512 #, 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:520 +#: executor/functions.c:518 #, c-format msgid "%s is not allowed in an SQL function" msgstr "%s нельзя использовать в SQL-функции" #. translator: %s is a SQL statement name -#: executor/functions.c:528 executor/spi.c:1742 executor/spi.c:2631 +#: executor/functions.c:526 executor/spi.c:1742 executor/spi.c:2635 #, c-format msgid "%s is not allowed in a non-volatile function" msgstr "%s нельзя использовать в не изменчивой (volatile) функции" -#: executor/functions.c:1457 +#: executor/functions.c:1450 #, c-format msgid "SQL function \"%s\" statement %d" msgstr "SQL-функция \"%s\", оператор %d" -#: executor/functions.c:1483 +#: executor/functions.c:1476 #, c-format msgid "SQL function \"%s\" during startup" msgstr "SQL-функция \"%s\" (при старте)" -#: executor/functions.c:1568 +#: executor/functions.c:1561 #, c-format msgid "" "calling procedures with output arguments is not supported in SQL functions" msgstr "" "вызов процедур с выходными аргументами в функциях SQL не поддерживается" -#: executor/functions.c:1701 executor/functions.c:1739 -#: executor/functions.c:1753 executor/functions.c:1843 -#: executor/functions.c:1876 executor/functions.c:1890 +#: executor/functions.c:1694 executor/functions.c:1732 +#: executor/functions.c:1746 executor/functions.c:1836 +#: executor/functions.c:1869 executor/functions.c:1883 #, c-format msgid "return type mismatch in function declared to return %s" msgstr "несовпадение типа возврата в функции (в объявлении указан тип %s)" -#: executor/functions.c:1703 +#: executor/functions.c:1696 #, c-format msgid "" "Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING." @@ -14792,72 +15264,58 @@ msgstr "" "Последним оператором в функции должен быть SELECT или INSERT/UPDATE/DELETE " "RETURNING." -#: executor/functions.c:1741 +#: executor/functions.c:1734 #, c-format msgid "Final statement must return exactly one column." msgstr "Последний оператор должен возвращать один столбец." -#: executor/functions.c:1755 +#: executor/functions.c:1748 #, c-format msgid "Actual return type is %s." msgstr "Фактический тип возврата: %s." -#: executor/functions.c:1845 +#: executor/functions.c:1838 #, c-format msgid "Final statement returns too many columns." msgstr "Последний оператор возвращает слишком много столбцов." -#: executor/functions.c:1878 +#: executor/functions.c:1871 #, c-format msgid "Final statement returns %s instead of %s at column %d." msgstr "Последний оператор возвращает %s вместо %s для столбца %d." -#: executor/functions.c:1892 +#: executor/functions.c:1885 #, c-format msgid "Final statement returns too few columns." msgstr "Последний оператор возвращает слишком мало столбцов." -#: executor/functions.c:1920 +#: executor/functions.c:1913 #, c-format msgid "return type %s is not supported for SQL functions" msgstr "для SQL-функций тип возврата %s не поддерживается" -#: executor/nodeAgg.c:3006 executor/nodeAgg.c:3015 executor/nodeAgg.c:3027 -#, c-format -msgid "unexpected EOF for tape %p: requested %zu bytes, read %zu bytes" -msgstr "" -"неожиданный конец файла для ленты %p: запрашивалось байт: %zu, прочитано: %zu" - -#: executor/nodeAgg.c:3922 executor/nodeWindowAgg.c:2982 +#: executor/nodeAgg.c:3937 executor/nodeWindowAgg.c:2993 #, c-format msgid "aggregate %u needs to have compatible input type and transition type" msgstr "" "агрегатная функция %u должна иметь совместимые входной и переходный типы" -#: executor/nodeAgg.c:3952 parser/parse_agg.c:668 parser/parse_agg.c:696 +#: executor/nodeAgg.c:3967 parser/parse_agg.c:669 parser/parse_agg.c:697 #, c-format msgid "aggregate function calls cannot be nested" msgstr "вложенные вызовы агрегатных функций недопустимы" -#: executor/nodeCustom.c:145 executor/nodeCustom.c:156 +#: executor/nodeCustom.c:154 executor/nodeCustom.c:165 #, c-format msgid "custom scan \"%s\" does not support MarkPos" msgstr "нестандартное сканирование \"%s\" не поддерживает MarkPos" -#: executor/nodeHashjoin.c:1046 executor/nodeHashjoin.c:1076 +#: executor/nodeHashjoin.c:1143 executor/nodeHashjoin.c:1173 #, c-format msgid "could not rewind hash-join temporary file" msgstr "не удалось переместиться во временном файле хеш-соединения" -#: executor/nodeHashjoin.c:1272 executor/nodeHashjoin.c:1283 -#, c-format -msgid "" -"could not read from hash-join temporary file: read only %zu of %zu bytes" -msgstr "" -"не удалось прочитать временный файл хеш-соединения (прочитано байт: %zu из " -"%zu)" - -#: executor/nodeIndexonlyscan.c:240 +#: executor/nodeIndexonlyscan.c:238 #, c-format msgid "lossy distance functions are not supported in index-only scans" msgstr "" @@ -14874,25 +15332,25 @@ msgstr "OFFSET не может быть отрицательным" msgid "LIMIT must not be negative" msgstr "LIMIT не может быть отрицательным" -#: executor/nodeMergejoin.c:1570 +#: executor/nodeMergejoin.c:1579 #, c-format msgid "RIGHT JOIN is only supported with merge-joinable join conditions" msgstr "" "RIGHT JOIN поддерживается только с условиями, допускающими соединение " "слиянием" -#: executor/nodeMergejoin.c:1588 +#: executor/nodeMergejoin.c:1597 #, c-format msgid "FULL JOIN is only supported with merge-joinable join conditions" msgstr "" "FULL JOIN поддерживается только с условиями, допускающими соединение слиянием" -#: executor/nodeModifyTable.c:257 +#: executor/nodeModifyTable.c:234 #, c-format msgid "Query has too few columns." msgstr "Запрос возвращает меньше столбцов." -#: executor/nodeModifyTable.c:1534 executor/nodeModifyTable.c:1608 +#: executor/nodeModifyTable.c:1530 executor/nodeModifyTable.c:1604 #, c-format msgid "" "tuple to be deleted was already modified by an operation triggered by the " @@ -14901,12 +15359,12 @@ msgstr "" "кортеж, который должен быть удалён, уже модифицирован в операции, вызванной " "текущей командой" -#: executor/nodeModifyTable.c:1759 +#: executor/nodeModifyTable.c:1758 #, c-format msgid "invalid ON UPDATE specification" msgstr "неверное указание ON UPDATE" -#: executor/nodeModifyTable.c:1760 +#: executor/nodeModifyTable.c:1759 #, c-format msgid "" "The result tuple would appear in a different partition than the original " @@ -14915,7 +15373,7 @@ msgstr "" "Результирующий кортеж окажется перемещённым из секции исходного кортежа в " "другую." -#: executor/nodeModifyTable.c:2207 +#: executor/nodeModifyTable.c:2217 #, c-format msgid "" "cannot move tuple across partitions when a non-root ancestor of the source " @@ -14924,25 +15382,25 @@ msgstr "" "нельзя переместить кортеж между секциями, когда внешний ключ непосредственно " "ссылается на предка исходной секции, который не является корнем иерархии" -#: executor/nodeModifyTable.c:2208 +#: executor/nodeModifyTable.c:2218 #, c-format msgid "" "A foreign key points to ancestor \"%s\" but not the root ancestor \"%s\"." msgstr "" "Внешний ключ ссылается на предка \"%s\", а не на корневого предка \"%s\"." -#: executor/nodeModifyTable.c:2211 +#: executor/nodeModifyTable.c:2221 #, c-format msgid "Consider defining the foreign key on table \"%s\"." msgstr "Возможно, имеет смысл перенацелить внешний ключ на таблицу \"%s\"." #. translator: %s is a SQL command name -#: executor/nodeModifyTable.c:2555 executor/nodeModifyTable.c:2946 +#: executor/nodeModifyTable.c:2567 executor/nodeModifyTable.c:2955 #, c-format msgid "%s command cannot affect row a second time" msgstr "команда %s не может подействовать на строку дважды" -#: executor/nodeModifyTable.c:2557 +#: executor/nodeModifyTable.c:2569 #, c-format msgid "" "Ensure that no rows proposed for insertion within the same command have " @@ -14951,14 +15409,14 @@ msgstr "" "Проверьте, не содержат ли строки, которые должна добавить команда, " "дублирующиеся значения, подпадающие под ограничения." -#: executor/nodeModifyTable.c:2948 +#: executor/nodeModifyTable.c:2957 #, c-format msgid "Ensure that not more than one source row matches any one target row." msgstr "" "Проверьте, не может ли какой-либо целевой строке соответствовать более одной " "исходной строки." -#: executor/nodeModifyTable.c:3051 +#: executor/nodeModifyTable.c:3038 #, c-format msgid "" "tuple to be deleted was already moved to another partition due to concurrent " @@ -14967,7 +15425,7 @@ msgstr "" "кортеж, подлежащий удалению, был перемещён в другую секцию в результате " "параллельного изменения" -#: executor/nodeModifyTable.c:3090 +#: executor/nodeModifyTable.c:3077 #, c-format msgid "" "tuple to be updated or deleted was already modified by an operation " @@ -14986,8 +15444,8 @@ msgstr "параметр TABLESAMPLE не может быть NULL" msgid "TABLESAMPLE REPEATABLE parameter cannot be null" msgstr "параметр TABLESAMPLE REPEATABLE не может быть NULL" -#: executor/nodeSubplan.c:346 executor/nodeSubplan.c:385 -#: executor/nodeSubplan.c:1159 +#: executor/nodeSubplan.c:325 executor/nodeSubplan.c:351 +#: executor/nodeSubplan.c:405 executor/nodeSubplan.c:1174 #, c-format msgid "more than one row returned by a subquery used as an expression" msgstr "подзапрос в выражении вернул больше одной строки" @@ -15017,32 +15475,32 @@ msgstr "Для столбца \"%s\" задано выражение NULL." msgid "null is not allowed in column \"%s\"" msgstr "в столбце \"%s\" не допускается NULL" -#: executor/nodeWindowAgg.c:355 +#: executor/nodeWindowAgg.c:356 #, c-format msgid "moving-aggregate transition function must not return null" msgstr "функция перехода движимого агрегата не должна возвращать NULL" -#: executor/nodeWindowAgg.c:2080 +#: executor/nodeWindowAgg.c:2083 #, c-format msgid "frame starting offset must not be null" msgstr "смещение начала рамки не может быть NULL" -#: executor/nodeWindowAgg.c:2093 +#: executor/nodeWindowAgg.c:2096 #, c-format msgid "frame starting offset must not be negative" msgstr "смещение начала рамки не может быть отрицательным" -#: executor/nodeWindowAgg.c:2105 +#: executor/nodeWindowAgg.c:2108 #, c-format msgid "frame ending offset must not be null" msgstr "смещение конца рамки не может быть NULL" -#: executor/nodeWindowAgg.c:2118 +#: executor/nodeWindowAgg.c:2121 #, c-format msgid "frame ending offset must not be negative" msgstr "смещение конца рамки не может быть отрицательным" -#: executor/nodeWindowAgg.c:2898 +#: executor/nodeWindowAgg.c:2909 #, c-format msgid "aggregate function %s does not support use as a window function" msgstr "" @@ -15095,33 +15553,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:2861 +#: executor/spi.c:1717 parser/analyze.c:2912 #, c-format msgid "Scrollable cursors must be READ ONLY." msgstr "Прокручиваемые курсоры должны быть READ ONLY." -#: executor/spi.c:2470 +#: executor/spi.c:2474 #, c-format msgid "empty query does not return tuples" msgstr "пустой запрос не возвращает кортежи" #. translator: %s is name of a SQL command, eg INSERT -#: executor/spi.c:2544 +#: executor/spi.c:2548 #, c-format msgid "%s query does not return tuples" msgstr "запрос %s не возвращает кортежи" -#: executor/spi.c:2959 +#: executor/spi.c:2963 #, c-format msgid "SQL expression \"%s\"" msgstr "SQL-выражение \"%s\"" -#: executor/spi.c:2964 +#: executor/spi.c:2968 #, c-format msgid "PL/pgSQL assignment \"%s\"" msgstr "присваивание PL/pgSQL \"%s\"" -#: executor/spi.c:2967 +#: executor/spi.c:2971 #, c-format msgid "SQL statement \"%s\"" msgstr "SQL-оператор: \"%s\"" @@ -15131,33 +15589,28 @@ msgstr "SQL-оператор: \"%s\"" msgid "could not send tuple to shared-memory queue" msgstr "не удалось передать кортеж в очередь в разделяемой памяти" -#: foreign/foreign.c:221 +#: foreign/foreign.c:222 #, c-format msgid "user mapping not found for \"%s\"" msgstr "сопоставление пользователя для \"%s\" не найдено" -#: foreign/foreign.c:638 +#: foreign/foreign.c:647 storage/file/fd.c:3931 #, c-format msgid "invalid option \"%s\"" msgstr "неверный параметр \"%s\"" -#: foreign/foreign.c:640 +#: foreign/foreign.c:649 #, c-format -msgid "Valid options in this context are: %s" -msgstr "В данном контексте допустимы параметры: %s" +msgid "Perhaps you meant the option \"%s\"." +msgstr "Возможно, предполагался параметр \"%s\"." -#: foreign/foreign.c:642 +#: foreign/foreign.c:651 #, c-format msgid "There are no valid options in this context." msgstr "В данном контексте недопустимы никакие параметры." -#: 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" - -#: lib/dshash.c:254 utils/mmgr/dsa.c:702 utils/mmgr/dsa.c:724 -#: utils/mmgr/dsa.c:805 +#: 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 "Ошибка при запросе памяти DSA (%zu Б)." @@ -15167,77 +15620,77 @@ msgstr "Ошибка при запросе памяти DSA (%zu Б)." msgid "expected SASL response, got message type %d" msgstr "ожидался ответ SASL, но получено сообщение %d" -#: libpq/auth-scram.c:258 +#: libpq/auth-scram.c:270 #, c-format msgid "client selected an invalid SASL authentication mechanism" msgstr "клиент выбрал неверный механизм аутентификации SASL" -#: libpq/auth-scram.c:279 libpq/auth-scram.c:523 libpq/auth-scram.c:534 +#: libpq/auth-scram.c:294 libpq/auth-scram.c:543 libpq/auth-scram.c:554 #, c-format msgid "invalid SCRAM secret for user \"%s\"" msgstr "неверная запись секрета SCRAM для пользователя \"%s\"" -#: libpq/auth-scram.c:290 +#: libpq/auth-scram.c:305 #, c-format msgid "User \"%s\" does not have a valid SCRAM secret." msgstr "Для пользователя \"%s\" нет подходящей записи секрета SCRAM." -#: libpq/auth-scram.c:368 libpq/auth-scram.c:373 libpq/auth-scram.c:714 -#: libpq/auth-scram.c:722 libpq/auth-scram.c:827 libpq/auth-scram.c:840 -#: libpq/auth-scram.c:850 libpq/auth-scram.c:958 libpq/auth-scram.c:965 -#: libpq/auth-scram.c:980 libpq/auth-scram.c:995 libpq/auth-scram.c:1009 -#: libpq/auth-scram.c:1027 libpq/auth-scram.c:1042 libpq/auth-scram.c:1355 -#: libpq/auth-scram.c:1363 +#: libpq/auth-scram.c:385 libpq/auth-scram.c:390 libpq/auth-scram.c:744 +#: libpq/auth-scram.c:752 libpq/auth-scram.c:857 libpq/auth-scram.c:870 +#: libpq/auth-scram.c:880 libpq/auth-scram.c:988 libpq/auth-scram.c:995 +#: libpq/auth-scram.c:1010 libpq/auth-scram.c:1025 libpq/auth-scram.c:1039 +#: libpq/auth-scram.c:1057 libpq/auth-scram.c:1072 libpq/auth-scram.c:1386 +#: libpq/auth-scram.c:1394 #, c-format msgid "malformed SCRAM message" msgstr "неправильное сообщение SCRAM" -#: libpq/auth-scram.c:369 +#: libpq/auth-scram.c:386 #, c-format msgid "The message is empty." msgstr "Сообщение пустое." -#: libpq/auth-scram.c:374 +#: libpq/auth-scram.c:391 #, c-format msgid "Message length does not match input length." msgstr "Длина сообщения не соответствует входной длине." -#: libpq/auth-scram.c:406 +#: libpq/auth-scram.c:423 #, c-format msgid "invalid SCRAM response" msgstr "неверный ответ SCRAM" -#: libpq/auth-scram.c:407 +#: libpq/auth-scram.c:424 #, c-format msgid "Nonce does not match." msgstr "Разовый код не совпадает." -#: libpq/auth-scram.c:483 +#: libpq/auth-scram.c:500 #, c-format msgid "could not generate random salt" msgstr "не удалось сгенерировать случайную соль" -#: libpq/auth-scram.c:715 +#: libpq/auth-scram.c:745 #, c-format msgid "Expected attribute \"%c\" but found \"%s\"." msgstr "Ожидался атрибут \"%c\", но обнаружено \"%s\"." -#: libpq/auth-scram.c:723 libpq/auth-scram.c:851 +#: libpq/auth-scram.c:753 libpq/auth-scram.c:881 #, c-format msgid "Expected character \"=\" for attribute \"%c\"." msgstr "Ожидался символ \"=\" для атрибута \"%c\"." -#: libpq/auth-scram.c:828 +#: libpq/auth-scram.c:858 #, c-format msgid "Attribute expected, but found end of string." msgstr "Ожидался атрибут, но обнаружен конец строки." -#: libpq/auth-scram.c:841 +#: libpq/auth-scram.c:871 #, c-format msgid "Attribute expected, but found invalid character \"%s\"." msgstr "Ожидался атрибут, но обнаружен неправильный символ \"%s\"." -#: libpq/auth-scram.c:959 libpq/auth-scram.c:981 +#: libpq/auth-scram.c:989 libpq/auth-scram.c:1011 #, c-format msgid "" "The client selected SCRAM-SHA-256-PLUS, but the SCRAM message does not " @@ -15246,17 +15699,17 @@ msgstr "" "Клиент выбрал алгоритм SCRAM-SHA-256-PLUS, но в сообщении SCRAM отсутствуют " "данные связывания каналов." -#: libpq/auth-scram.c:966 libpq/auth-scram.c:996 +#: libpq/auth-scram.c:996 libpq/auth-scram.c:1026 #, c-format msgid "Comma expected, but found character \"%s\"." msgstr "Ожидалась запятая, но обнаружен символ \"%s\"." -#: libpq/auth-scram.c:987 +#: libpq/auth-scram.c:1017 #, c-format msgid "SCRAM channel binding negotiation error" msgstr "Ошибка согласования связывания каналов SCRAM" -#: libpq/auth-scram.c:988 +#: libpq/auth-scram.c:1018 #, c-format msgid "" "The client supports SCRAM channel binding but thinks the server does not. " @@ -15265,7 +15718,7 @@ msgstr "" "Клиент поддерживает связывание каналов SCRAM, но полагает, что оно не " "поддерживается сервером. Однако сервер тоже поддерживает связывание каналов." -#: libpq/auth-scram.c:1010 +#: libpq/auth-scram.c:1040 #, c-format msgid "" "The client selected SCRAM-SHA-256 without channel binding, but the SCRAM " @@ -15274,155 +15727,155 @@ msgstr "" "Клиент выбрал алгоритм SCRAM-SHA-256 без связывания каналов, но сообщение " "SCRAM содержит данные связывания каналов." -#: libpq/auth-scram.c:1021 +#: libpq/auth-scram.c:1051 #, c-format msgid "unsupported SCRAM channel-binding type \"%s\"" msgstr "неподдерживаемый тип связывания каналов SCRAM \"%s\"" -#: libpq/auth-scram.c:1028 +#: libpq/auth-scram.c:1058 #, c-format msgid "Unexpected channel-binding flag \"%s\"." msgstr "Неожиданный флаг связывания каналов \"%s\"." -#: libpq/auth-scram.c:1038 +#: libpq/auth-scram.c:1068 #, c-format msgid "client uses authorization identity, but it is not supported" msgstr "клиент передал идентификатор для авторизации, но это не поддерживается" -#: libpq/auth-scram.c:1043 +#: libpq/auth-scram.c:1073 #, c-format msgid "Unexpected attribute \"%s\" in client-first-message." msgstr "Неожиданный атрибут \"%s\" в первом сообщении клиента." -#: libpq/auth-scram.c:1059 +#: libpq/auth-scram.c:1089 #, c-format msgid "client requires an unsupported SCRAM extension" msgstr "клиенту требуется неподдерживаемое расширение SCRAM" -#: libpq/auth-scram.c:1073 +#: libpq/auth-scram.c:1103 #, c-format msgid "non-printable characters in SCRAM nonce" msgstr "непечатаемые символы в разовом коде SCRAM" -#: libpq/auth-scram.c:1203 +#: libpq/auth-scram.c:1234 #, c-format msgid "could not generate random nonce" msgstr "не удалось сгенерировать разовый код" -#: libpq/auth-scram.c:1213 +#: libpq/auth-scram.c:1244 #, c-format msgid "could not encode random nonce" msgstr "не удалось оформить разовый код" -#: libpq/auth-scram.c:1319 +#: libpq/auth-scram.c:1350 #, c-format msgid "SCRAM channel binding check failed" msgstr "ошибка проверки связывания каналов SCRAM" -#: libpq/auth-scram.c:1337 +#: libpq/auth-scram.c:1368 #, c-format msgid "unexpected SCRAM channel-binding attribute in client-final-message" msgstr "" "неожиданный атрибут связывания каналов в последнем сообщении клиента SCRAM" -#: libpq/auth-scram.c:1356 +#: libpq/auth-scram.c:1387 #, c-format msgid "Malformed proof in client-final-message." msgstr "Некорректное подтверждение в последнем сообщении клиента." -#: libpq/auth-scram.c:1364 +#: libpq/auth-scram.c:1395 #, c-format msgid "Garbage found at the end of client-final-message." msgstr "Мусор в конце последнего сообщения клиента." -#: libpq/auth.c:275 +#: libpq/auth.c:271 #, c-format msgid "authentication failed for user \"%s\": host rejected" msgstr "" "пользователь \"%s\" не прошёл проверку подлинности: не разрешённый компьютер" -#: libpq/auth.c:278 +#: libpq/auth.c:274 #, c-format msgid "\"trust\" authentication failed for user \"%s\"" msgstr "пользователь \"%s\" не прошёл проверку подлинности (\"trust\")" -#: libpq/auth.c:281 +#: libpq/auth.c:277 #, c-format msgid "Ident authentication failed for user \"%s\"" msgstr "пользователь \"%s\" не прошёл проверку подлинности (Ident)" -#: libpq/auth.c:284 +#: libpq/auth.c:280 #, c-format msgid "Peer authentication failed for user \"%s\"" msgstr "пользователь \"%s\" не прошёл проверку подлинности (Peer)" -#: libpq/auth.c:289 +#: libpq/auth.c:285 #, c-format msgid "password authentication failed for user \"%s\"" msgstr "пользователь \"%s\" не прошёл проверку подлинности (по паролю)" -#: libpq/auth.c:294 +#: libpq/auth.c:290 #, c-format msgid "GSSAPI authentication failed for user \"%s\"" msgstr "пользователь \"%s\" не прошёл проверку подлинности (GSSAPI)" -#: libpq/auth.c:297 +#: libpq/auth.c:293 #, c-format msgid "SSPI authentication failed for user \"%s\"" msgstr "пользователь \"%s\" не прошёл проверку подлинности (SSPI)" -#: libpq/auth.c:300 +#: libpq/auth.c:296 #, c-format msgid "PAM authentication failed for user \"%s\"" msgstr "пользователь \"%s\" не прошёл проверку подлинности (PAM)" -#: libpq/auth.c:303 +#: libpq/auth.c:299 #, c-format msgid "BSD authentication failed for user \"%s\"" msgstr "пользователь \"%s\" не прошёл проверку подлинности (BSD)" -#: libpq/auth.c:306 +#: libpq/auth.c:302 #, c-format msgid "LDAP authentication failed for user \"%s\"" msgstr "пользователь \"%s\" не прошёл проверку подлинности (LDAP)" -#: libpq/auth.c:309 +#: libpq/auth.c:305 #, c-format msgid "certificate authentication failed for user \"%s\"" msgstr "пользователь \"%s\" не прошёл проверку подлинности (по сертификату)" -#: libpq/auth.c:312 +#: libpq/auth.c:308 #, c-format msgid "RADIUS authentication failed for user \"%s\"" msgstr "пользователь \"%s\" не прошёл проверку подлинности (RADIUS)" -#: libpq/auth.c:315 +#: libpq/auth.c:311 #, c-format msgid "authentication failed for user \"%s\": invalid authentication method" msgstr "" "пользователь \"%s\" не прошёл проверку подлинности: неверный метод проверки" -#: libpq/auth.c:319 +#: libpq/auth.c:315 #, c-format -msgid "Connection matched pg_hba.conf line %d: \"%s\"" -msgstr "Подключение соответствует строке %d в pg_hba.conf: \"%s\"" +msgid "Connection matched file \"%s\" line %d: \"%s\"" +msgstr "Подключение соответствует строке %2$d в \"%1$s\": \"%3$s\"" -#: libpq/auth.c:362 +#: libpq/auth.c:359 #, c-format msgid "authentication identifier set more than once" msgstr "аутентификационный идентификатор указан повторно" -#: libpq/auth.c:363 +#: libpq/auth.c:360 #, c-format msgid "previous identifier: \"%s\"; new identifier: \"%s\"" msgstr "предыдущий идентификатор: \"%s\"; новый: \"%s\"" -#: libpq/auth.c:372 +#: libpq/auth.c:370 #, c-format msgid "connection authenticated: identity=\"%s\" method=%s (%s:%d)" msgstr "соединение аутентифицировано: идентификатор=\"%s\" метод=%s (%s:%d)" -#: libpq/auth.c:411 +#: libpq/auth.c:410 #, c-format msgid "" "client certificates can only be checked if a root certificate store is " @@ -15431,25 +15884,25 @@ msgstr "" "сертификаты клиентов могут проверяться, только если доступно хранилище " "корневых сертификатов" -#: libpq/auth.c:422 +#: libpq/auth.c:421 #, c-format msgid "connection requires a valid client certificate" msgstr "для подключения требуется годный сертификат клиента" -#: libpq/auth.c:453 libpq/auth.c:499 +#: libpq/auth.c:452 libpq/auth.c:498 msgid "GSS encryption" msgstr "Шифрование GSS" -#: libpq/auth.c:456 libpq/auth.c:502 +#: libpq/auth.c:455 libpq/auth.c:501 msgid "SSL encryption" msgstr "Шифрование SSL" -#: libpq/auth.c:458 libpq/auth.c:504 +#: libpq/auth.c:457 libpq/auth.c:503 msgid "no encryption" msgstr "без шифрования" #. translator: last %s describes encryption state -#: libpq/auth.c:464 +#: libpq/auth.c:463 #, c-format msgid "" "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\", %s" @@ -15458,7 +15911,7 @@ msgstr "" "пользователь \"%s\", \"%s\"" #. translator: last %s describes encryption state -#: libpq/auth.c:471 +#: libpq/auth.c:470 #, c-format msgid "" "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database " @@ -15467,38 +15920,38 @@ msgstr "" "pg_hba.conf отвергает подключение: компьютер \"%s\", пользователь \"%s\", " "база данных \"%s\", %s" -#: libpq/auth.c:509 +#: libpq/auth.c:508 #, c-format msgid "Client IP address resolved to \"%s\", forward lookup matches." msgstr "" "IP-адрес клиента разрешается в \"%s\", соответствует прямому преобразованию." -#: libpq/auth.c:512 +#: libpq/auth.c:511 #, c-format msgid "Client IP address resolved to \"%s\", forward lookup not checked." msgstr "" "IP-адрес клиента разрешается в \"%s\", прямое преобразование не проверялось." -#: libpq/auth.c:515 +#: libpq/auth.c:514 #, c-format msgid "Client IP address resolved to \"%s\", forward lookup does not match." msgstr "" "IP-адрес клиента разрешается в \"%s\", это не соответствует прямому " "преобразованию." -#: libpq/auth.c:518 +#: libpq/auth.c:517 #, c-format msgid "Could not translate client host name \"%s\" to IP address: %s." msgstr "" "Преобразовать имя клиентского компьютера \"%s\" в IP-адрес не удалось: %s." -#: libpq/auth.c:523 +#: libpq/auth.c:522 #, c-format msgid "Could not resolve client IP address to a host name: %s." msgstr "Получить имя компьютера из IP-адреса клиента не удалось: %s." #. translator: last %s describes encryption state -#: libpq/auth.c:531 +#: libpq/auth.c:530 #, c-format msgid "" "no pg_hba.conf entry for replication connection from host \"%s\", user " @@ -15508,29 +15961,29 @@ msgstr "" "компьютера \"%s\" для пользователя \"%s\", %s" #. translator: last %s describes encryption state -#: libpq/auth.c:539 +#: libpq/auth.c:538 #, c-format msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\", %s" msgstr "" "в pg_hba.conf нет записи для компьютера \"%s\", пользователя \"%s\", базы " "\"%s\", %s" -#: libpq/auth.c:712 +#: libpq/auth.c:711 #, c-format msgid "expected password response, got message type %d" msgstr "ожидался ответ с паролем, но получено сообщение %d" -#: libpq/auth.c:733 +#: libpq/auth.c:732 #, c-format msgid "invalid password packet size" msgstr "неверный размер пакета с паролем" -#: libpq/auth.c:751 +#: libpq/auth.c:750 #, c-format msgid "empty password returned by client" msgstr "клиент возвратил пустой пароль" -#: libpq/auth.c:880 libpq/hba.c:1335 +#: libpq/auth.c:879 libpq/hba.c:1727 #, c-format msgid "" "MD5 authentication is not supported when \"db_user_namespace\" is enabled" @@ -15538,225 +15991,215 @@ msgstr "" "проверка подлинности MD5 не поддерживается, когда включён режим " "\"db_user_namespace\"" -#: libpq/auth.c:886 +#: libpq/auth.c:885 #, c-format msgid "could not generate random MD5 salt" msgstr "не удалось сгенерировать случайную соль для MD5" -#: libpq/auth.c:935 libpq/be-secure-gssapi.c:535 +#: libpq/auth.c:936 libpq/be-secure-gssapi.c:540 #, c-format msgid "could not set environment: %m" msgstr "не удалось задать переменную окружения: %m" -#: libpq/auth.c:971 +#: libpq/auth.c:975 #, c-format msgid "expected GSS response, got message type %d" msgstr "ожидался ответ GSS, но получено сообщение %d" -#: libpq/auth.c:1031 +#: libpq/auth.c:1041 msgid "accepting GSS security context failed" msgstr "принять контекст безопасности GSS не удалось" -#: libpq/auth.c:1072 +#: libpq/auth.c:1082 msgid "retrieving GSS user name failed" msgstr "получить имя пользователя GSS не удалось" -#: libpq/auth.c:1221 +#: libpq/auth.c:1228 msgid "could not acquire SSPI credentials" msgstr "не удалось получить удостоверение SSPI" -#: libpq/auth.c:1246 +#: libpq/auth.c:1253 #, c-format msgid "expected SSPI response, got message type %d" msgstr "ожидался ответ SSPI, но получено сообщение %d" -#: libpq/auth.c:1324 +#: libpq/auth.c:1331 msgid "could not accept SSPI security context" msgstr "принять контекст безопасности SSPI не удалось" -#: libpq/auth.c:1386 +#: libpq/auth.c:1372 msgid "could not get token from SSPI security context" msgstr "не удалось получить маркер из контекста безопасности SSPI" -#: libpq/auth.c:1525 libpq/auth.c:1544 +#: libpq/auth.c:1508 libpq/auth.c:1527 #, c-format msgid "could not translate name" msgstr "не удалось преобразовать имя" -#: libpq/auth.c:1557 +#: libpq/auth.c:1540 #, c-format msgid "realm name too long" msgstr "имя области слишком длинное" -#: libpq/auth.c:1572 +#: libpq/auth.c:1555 #, c-format msgid "translated account name too long" msgstr "преобразованное имя учётной записи слишком длинное" -#: libpq/auth.c:1753 +#: libpq/auth.c:1734 #, c-format msgid "could not create socket for Ident connection: %m" msgstr "не удалось создать сокет для подключения к серверу Ident: %m" -#: libpq/auth.c:1768 +#: libpq/auth.c:1749 #, c-format msgid "could not bind to local address \"%s\": %m" msgstr "не удалось привязаться к локальному адресу \"%s\": %m" -#: libpq/auth.c:1780 +#: libpq/auth.c:1761 #, c-format msgid "could not connect to Ident server at address \"%s\", port %s: %m" msgstr "не удалось подключиться к серверу Ident по адресу \"%s\", порт %s: %m" -#: libpq/auth.c:1802 +#: libpq/auth.c:1783 #, c-format msgid "could not send query to Ident server at address \"%s\", port %s: %m" msgstr "" "не удалось отправить запрос серверу Ident по адресу \"%s\", порт %s: %m" -#: libpq/auth.c:1819 +#: libpq/auth.c:1800 #, c-format msgid "" "could not receive response from Ident server at address \"%s\", port %s: %m" msgstr "" "не удалось получить ответ от сервера Ident по адресу \"%s\", порт %s: %m" -#: libpq/auth.c:1829 +#: libpq/auth.c:1810 #, c-format msgid "invalidly formatted response from Ident server: \"%s\"" msgstr "неверно форматированный ответ от сервера Ident: \"%s\"" -#: libpq/auth.c:1882 +#: libpq/auth.c:1863 #, c-format msgid "peer authentication is not supported on this platform" msgstr "проверка подлинности peer в этой ОС не поддерживается" -#: libpq/auth.c:1886 +#: libpq/auth.c:1867 #, c-format msgid "could not get peer credentials: %m" msgstr "не удалось получить данные пользователя через механизм peer: %m" -#: libpq/auth.c:1898 +#: libpq/auth.c:1879 #, c-format msgid "could not look up local user ID %ld: %s" msgstr "найти локального пользователя по идентификатору (%ld) не удалось: %s" -#: libpq/auth.c:1999 +#: libpq/auth.c:1981 #, c-format msgid "error from underlying PAM layer: %s" msgstr "ошибка в нижележащем слое PAM: %s" -#: libpq/auth.c:2010 +#: libpq/auth.c:1992 #, c-format msgid "unsupported PAM conversation %d/\"%s\"" msgstr "неподдерживаемое сообщение ответа PAM %d/\"%s\"" -#: libpq/auth.c:2070 +#: libpq/auth.c:2049 #, c-format msgid "could not create PAM authenticator: %s" msgstr "не удалось создать аутентификатор PAM: %s" -#: libpq/auth.c:2081 +#: libpq/auth.c:2060 #, c-format msgid "pam_set_item(PAM_USER) failed: %s" msgstr "ошибка в pam_set_item(PAM_USER): %s" -#: libpq/auth.c:2113 +#: libpq/auth.c:2092 #, c-format msgid "pam_set_item(PAM_RHOST) failed: %s" msgstr "ошибка в pam_set_item(PAM_RHOST): %s" -#: libpq/auth.c:2125 +#: libpq/auth.c:2104 #, c-format msgid "pam_set_item(PAM_CONV) failed: %s" msgstr "ошибка в pam_set_item(PAM_CONV): %s" -#: libpq/auth.c:2138 +#: libpq/auth.c:2117 #, c-format msgid "pam_authenticate failed: %s" msgstr "ошибка в pam_authenticate: %s" -#: libpq/auth.c:2151 +#: libpq/auth.c:2130 #, c-format msgid "pam_acct_mgmt failed: %s" msgstr "ошибка в pam_acct_mgmt: %s" -#: libpq/auth.c:2162 +#: libpq/auth.c:2141 #, c-format msgid "could not release PAM authenticator: %s" msgstr "не удалось освободить аутентификатор PAM: %s" -#: libpq/auth.c:2242 +#: libpq/auth.c:2221 #, c-format msgid "could not initialize LDAP: error code %d" msgstr "не удалось инициализировать LDAP (код ошибки: %d)" -#: libpq/auth.c:2279 +#: libpq/auth.c:2258 #, c-format msgid "could not extract domain name from ldapbasedn" msgstr "не удалось извлечь имя домена из ldapbasedn" -#: libpq/auth.c:2287 +#: libpq/auth.c:2266 #, c-format msgid "LDAP authentication could not find DNS SRV records for \"%s\"" msgstr "для аутентификации LDAP не удалось найти записи DNS SRV для \"%s\"" -#: libpq/auth.c:2289 +#: libpq/auth.c:2268 #, c-format msgid "Set an LDAP server name explicitly." msgstr "Задайте имя сервера LDAP явным образом." -#: libpq/auth.c:2341 +#: libpq/auth.c:2320 #, c-format msgid "could not initialize LDAP: %s" msgstr "не удалось инициализировать LDAP: %s" -#: libpq/auth.c:2351 +#: libpq/auth.c:2330 #, c-format msgid "ldaps not supported with this LDAP library" msgstr "протокол ldaps с текущей библиотекой LDAP не поддерживается" -#: libpq/auth.c:2359 +#: libpq/auth.c:2338 #, c-format msgid "could not initialize LDAP: %m" msgstr "не удалось инициализировать LDAP: %m" -#: libpq/auth.c:2369 +#: libpq/auth.c:2348 #, c-format msgid "could not set LDAP protocol version: %s" msgstr "не удалось задать версию протокола LDAP: %s" -#: libpq/auth.c:2409 -#, c-format -msgid "could not load function _ldap_start_tls_sA in wldap32.dll" -msgstr "не удалось найти функцию _ldap_start_tls_sA в wldap32.dll" - -#: libpq/auth.c:2410 -#, c-format -msgid "LDAP over SSL is not supported on this platform." -msgstr "LDAP через SSL не поддерживается в этой ОС." - -#: libpq/auth.c:2426 +#: libpq/auth.c:2364 #, c-format msgid "could not start LDAP TLS session: %s" msgstr "не удалось начать сеанс LDAP TLS: %s" -#: libpq/auth.c:2497 +#: libpq/auth.c:2441 #, c-format msgid "LDAP server not specified, and no ldapbasedn" msgstr "LDAP-сервер не задан и значение ldapbasedn не определено" -#: libpq/auth.c:2504 +#: libpq/auth.c:2448 #, c-format msgid "LDAP server not specified" msgstr "LDAP-сервер не определён" -#: libpq/auth.c:2566 +#: libpq/auth.c:2510 #, c-format msgid "invalid character in user name for LDAP authentication" msgstr "недопустимый символ в имени пользователя для проверки подлинности LDAP" -#: libpq/auth.c:2583 +#: libpq/auth.c:2527 #, c-format msgid "" "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": " @@ -15765,28 +16208,28 @@ msgstr "" "не удалось выполнить начальную привязку LDAP для ldapbinddn \"%s\" на " "сервере \"%s\": %s" -#: libpq/auth.c:2612 +#: libpq/auth.c:2557 #, c-format msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s" msgstr "" "не удалось выполнить LDAP-поиск по фильтру \"%s\" на сервере \"%s\": %s" -#: libpq/auth.c:2626 +#: libpq/auth.c:2573 #, c-format msgid "LDAP user \"%s\" does not exist" msgstr "в LDAP нет пользователя \"%s\"" -#: libpq/auth.c:2627 +#: libpq/auth.c:2574 #, c-format msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries." msgstr "LDAP-поиск по фильтру \"%s\" на сервере \"%s\" не вернул результатов" -#: libpq/auth.c:2631 +#: libpq/auth.c:2578 #, c-format msgid "LDAP user \"%s\" is not unique" msgstr "пользователь LDAP \"%s\" не уникален" -#: libpq/auth.c:2632 +#: libpq/auth.c:2579 #, c-format msgid "LDAP search for filter \"%s\" on server \"%s\" returned %d entry." msgid_plural "" @@ -15795,7 +16238,7 @@ msgstr[0] "LDAP-поиск по фильтру \"%s\" на сервере \"%s\" msgstr[1] "LDAP-поиск по фильтру \"%s\" на сервере \"%s\" вернул %d записи." msgstr[2] "LDAP-поиск по фильтру \"%s\" на сервере \"%s\" вернул %d записей." -#: libpq/auth.c:2652 +#: libpq/auth.c:2599 #, c-format msgid "" "could not get dn for the first entry matching \"%s\" on server \"%s\": %s" @@ -15803,24 +16246,24 @@ msgstr "" "не удалось получить dn для первого результата, соответствующего \"%s\" на " "сервере \"%s\": %s" -#: libpq/auth.c:2673 +#: libpq/auth.c:2620 #, c-format msgid "could not unbind after searching for user \"%s\" on server \"%s\"" msgstr "" "не удалось отвязаться после поиска пользователя \"%s\" на сервере \"%s\"" -#: libpq/auth.c:2704 +#: libpq/auth.c:2651 #, c-format msgid "LDAP login failed for user \"%s\" on server \"%s\": %s" msgstr "" "ошибка при регистрации в LDAP пользователя \"%s\" на сервере \"%s\": %s" -#: libpq/auth.c:2736 +#: libpq/auth.c:2683 #, c-format msgid "LDAP diagnostics: %s" msgstr "Диагностика LDAP: %s" -#: libpq/auth.c:2774 +#: libpq/auth.c:2721 #, c-format msgid "" "certificate authentication failed for user \"%s\": client certificate " @@ -15829,7 +16272,7 @@ msgstr "" "ошибка проверки подлинности пользователя \"%s\" по сертификату: сертификат " "клиента не содержит имя пользователя" -#: libpq/auth.c:2795 +#: libpq/auth.c:2742 #, c-format msgid "" "certificate authentication failed for user \"%s\": unable to retrieve " @@ -15838,7 +16281,7 @@ msgstr "" "пользователь \"%s\" не прошёл проверку подлинности по сертификату: не " "удалось получить DN субъекта" -#: libpq/auth.c:2818 +#: libpq/auth.c:2765 #, c-format msgid "" "certificate validation (clientcert=verify-full) failed for user \"%s\": DN " @@ -15847,7 +16290,7 @@ msgstr "" "проверка сертификата (clientcert=verify-full) для пользователя \"%s\" не " "прошла: отличается DN" -#: libpq/auth.c:2823 +#: libpq/auth.c:2770 #, c-format msgid "" "certificate validation (clientcert=verify-full) failed for user \"%s\": CN " @@ -15856,205 +16299,205 @@ msgstr "" "проверка сертификата (clientcert=verify-full) для пользователя \"%s\" не " "прошла: отличается CN" -#: libpq/auth.c:2925 +#: libpq/auth.c:2872 #, c-format msgid "RADIUS server not specified" msgstr "RADIUS-сервер не определён" -#: libpq/auth.c:2932 +#: libpq/auth.c:2879 #, c-format msgid "RADIUS secret not specified" msgstr "секрет RADIUS не определён" # well-spelled: симв -#: libpq/auth.c:2946 +#: libpq/auth.c:2893 #, c-format msgid "" "RADIUS authentication does not support passwords longer than %d characters" msgstr "проверка подлинности RADIUS не поддерживает пароли длиннее %d симв." -#: libpq/auth.c:3053 libpq/hba.c:1976 +#: libpq/auth.c:2995 libpq/hba.c:2369 #, c-format msgid "could not translate RADIUS server name \"%s\" to address: %s" msgstr "не удалось преобразовать имя сервера RADIUS \"%s\" в адрес: %s" -#: libpq/auth.c:3067 +#: libpq/auth.c:3009 #, c-format msgid "could not generate random encryption vector" msgstr "не удалось сгенерировать случайный вектор шифрования" -#: libpq/auth.c:3104 +#: libpq/auth.c:3046 #, c-format msgid "could not perform MD5 encryption of password: %s" msgstr "не удалось вычислить MD5-хеш пароля: %s" -#: libpq/auth.c:3131 +#: libpq/auth.c:3073 #, c-format msgid "could not create RADIUS socket: %m" msgstr "не удалось создать сокет RADIUS: %m" -#: libpq/auth.c:3153 +#: libpq/auth.c:3089 #, c-format msgid "could not bind local RADIUS socket: %m" msgstr "не удалось привязаться к локальному сокету RADIUS: %m" -#: libpq/auth.c:3163 +#: libpq/auth.c:3099 #, c-format msgid "could not send RADIUS packet: %m" msgstr "не удалось отправить пакет RADIUS: %m" -#: libpq/auth.c:3197 libpq/auth.c:3223 +#: libpq/auth.c:3133 libpq/auth.c:3159 #, c-format msgid "timeout waiting for RADIUS response from %s" msgstr "превышено время ожидания ответа RADIUS от %s" -#: libpq/auth.c:3216 +#: libpq/auth.c:3152 #, c-format msgid "could not check status on RADIUS socket: %m" msgstr "не удалось проверить состояние сокета RADIUS: %m" -#: libpq/auth.c:3246 +#: libpq/auth.c:3182 #, c-format msgid "could not read RADIUS response: %m" msgstr "не удалось прочитать ответ RADIUS: %m" -#: libpq/auth.c:3259 libpq/auth.c:3263 +#: libpq/auth.c:3190 #, c-format msgid "RADIUS response from %s was sent from incorrect port: %d" msgstr "ответ RADIUS от %s был отправлен с неверного порта: %d" -#: libpq/auth.c:3272 +#: libpq/auth.c:3198 #, c-format msgid "RADIUS response from %s too short: %d" msgstr "слишком короткий ответ RADIUS от %s: %d" -#: libpq/auth.c:3279 +#: libpq/auth.c:3205 #, c-format msgid "RADIUS response from %s has corrupt length: %d (actual length %d)" msgstr "в ответе RADIUS от %s испорчена длина: %d (фактическая длина %d)" -#: libpq/auth.c:3287 +#: libpq/auth.c:3213 #, c-format msgid "RADIUS response from %s is to a different request: %d (should be %d)" msgstr "пришёл ответ RADIUS от %s на другой запрос: %d (ожидался %d)" -#: libpq/auth.c:3312 +#: libpq/auth.c:3238 #, c-format msgid "could not perform MD5 encryption of received packet: %s" msgstr "не удалось вычислить MD5-хеш для принятого пакета: %s" -#: libpq/auth.c:3322 +#: libpq/auth.c:3248 #, c-format msgid "RADIUS response from %s has incorrect MD5 signature" msgstr "ответ RADIUS от %s содержит неверную подпись MD5" -#: libpq/auth.c:3340 +#: libpq/auth.c:3266 #, c-format msgid "RADIUS response from %s has invalid code (%d) for user \"%s\"" msgstr "ответ RADIUS от %s содержит неверный код (%d) для пользователя \"%s\"" -#: libpq/be-fsstubs.c:128 libpq/be-fsstubs.c:157 libpq/be-fsstubs.c:185 -#: libpq/be-fsstubs.c:211 libpq/be-fsstubs.c:236 libpq/be-fsstubs.c:274 -#: libpq/be-fsstubs.c:297 libpq/be-fsstubs.c:545 +#: libpq/be-fsstubs.c:133 libpq/be-fsstubs.c:162 libpq/be-fsstubs.c:190 +#: libpq/be-fsstubs.c:216 libpq/be-fsstubs.c:241 libpq/be-fsstubs.c:283 +#: libpq/be-fsstubs.c:306 libpq/be-fsstubs.c:560 #, c-format msgid "invalid large-object descriptor: %d" msgstr "неверный дескриптор большого объекта: %d" -#: libpq/be-fsstubs.c:168 +#: libpq/be-fsstubs.c:173 #, c-format msgid "large object descriptor %d was not opened for reading" msgstr "дескриптор большого объекта %d не был открыт для чтения" -#: libpq/be-fsstubs.c:192 libpq/be-fsstubs.c:552 +#: libpq/be-fsstubs.c:197 libpq/be-fsstubs.c:567 #, c-format msgid "large object descriptor %d was not opened for writing" msgstr "дескриптор большого объекта %d не был открыт для записи" -#: libpq/be-fsstubs.c:219 +#: libpq/be-fsstubs.c:224 #, c-format msgid "lo_lseek result out of range for large-object descriptor %d" msgstr "" "результат lo_lseek для дескриптора большого объекта %d вне допустимого " "диапазона" -#: libpq/be-fsstubs.c:282 +#: libpq/be-fsstubs.c:291 #, c-format msgid "lo_tell result out of range for large-object descriptor %d" msgstr "" "результат lo_tell для дескриптора большого объекта %d вне допустимого " "диапазона" -#: libpq/be-fsstubs.c:424 +#: libpq/be-fsstubs.c:439 #, c-format msgid "could not open server file \"%s\": %m" msgstr "не удалось открыть файл сервера \"%s\": %m" -#: libpq/be-fsstubs.c:447 +#: libpq/be-fsstubs.c:462 #, c-format msgid "could not read server file \"%s\": %m" msgstr "не удалось прочитать файл сервера \"%s\": %m" -#: libpq/be-fsstubs.c:506 +#: libpq/be-fsstubs.c:521 #, c-format msgid "could not create server file \"%s\": %m" msgstr "не удалось создать файл сервера \"%s\": %m" -#: libpq/be-fsstubs.c:518 +#: libpq/be-fsstubs.c:533 #, c-format msgid "could not write server file \"%s\": %m" msgstr "не удалось записать файл сервера \"%s\": %m" -#: libpq/be-fsstubs.c:758 +#: libpq/be-fsstubs.c:774 #, c-format msgid "large object read request is too large" msgstr "при чтении большого объекта запрошен чрезмерный размер" -#: libpq/be-fsstubs.c:800 utils/adt/genfile.c:262 utils/adt/genfile.c:301 -#: utils/adt/genfile.c:337 +#: libpq/be-fsstubs.c:816 utils/adt/genfile.c:262 utils/adt/genfile.c:294 +#: utils/adt/genfile.c:315 #, c-format msgid "requested length cannot be negative" msgstr "запрошенная длина не может быть отрицательной" -#: libpq/be-fsstubs.c:851 storage/large_object/inv_api.c:299 +#: libpq/be-fsstubs.c:871 storage/large_object/inv_api.c:299 #: storage/large_object/inv_api.c:311 storage/large_object/inv_api.c:508 #: storage/large_object/inv_api.c:619 storage/large_object/inv_api.c:809 #, c-format msgid "permission denied for large object %u" msgstr "нет доступа к большому объекту %u" -#: libpq/be-secure-common.c:93 +#: libpq/be-secure-common.c:71 #, c-format msgid "could not read from command \"%s\": %m" msgstr "не удалось прочитать вывод команды \"%s\": %m" -#: libpq/be-secure-common.c:113 +#: libpq/be-secure-common.c:91 #, c-format msgid "command \"%s\" failed" msgstr "ошибка команды \"%s\"" -#: libpq/be-secure-common.c:141 +#: libpq/be-secure-common.c:119 #, c-format msgid "could not access private key file \"%s\": %m" msgstr "не удалось обратиться к файлу закрытого ключа \"%s\": %m" -#: libpq/be-secure-common.c:151 +#: libpq/be-secure-common.c:129 #, c-format msgid "private key file \"%s\" is not a regular file" msgstr "файл закрытого ключа \"%s\" - не обычный файл" -#: libpq/be-secure-common.c:177 +#: libpq/be-secure-common.c:155 #, c-format msgid "private key file \"%s\" must be owned by the database user or root" msgstr "" "файл закрытого ключа \"%s\" должен принадлежать пользователю, запускающему " "сервер, или root" -#: libpq/be-secure-common.c:187 +#: libpq/be-secure-common.c:165 #, c-format msgid "private key file \"%s\" has group or world access" msgstr "к файлу закрытого ключа \"%s\" имеют доступ все или группа" -#: libpq/be-secure-common.c:189 +#: libpq/be-secure-common.c:167 #, c-format msgid "" "File must have permissions u=rw (0600) or less if owned by the database " @@ -16073,7 +16516,7 @@ msgstr "ошибка обёртывания сообщения в GSSAPI" msgid "outgoing GSSAPI message would not use confidentiality" msgstr "исходящее сообщение GSSAPI не будет защищено" -#: libpq/be-secure-gssapi.c:218 libpq/be-secure-gssapi.c:622 +#: libpq/be-secure-gssapi.c:218 libpq/be-secure-gssapi.c:634 #, c-format msgid "server tried to send oversize GSSAPI packet (%zu > %zu)" msgstr "сервер попытался передать чрезмерно большой пакет GSSAPI (%zu > %zu)" @@ -16092,95 +16535,95 @@ msgstr "ошибка развёртывания сообщения в GSSAPI" msgid "incoming GSSAPI message did not use confidentiality" msgstr "входящее сообщение GSSAPI не защищено" -#: libpq/be-secure-gssapi.c:570 +#: libpq/be-secure-gssapi.c:575 #, c-format msgid "oversize GSSAPI packet sent by the client (%zu > %d)" msgstr "клиент передал чрезмерно большой пакет GSSAPI (%zu > %d)" -#: libpq/be-secure-gssapi.c:594 +#: libpq/be-secure-gssapi.c:600 msgid "could not accept GSSAPI security context" msgstr "принять контекст безопасности GSSAPI не удалось" -#: libpq/be-secure-gssapi.c:689 +#: libpq/be-secure-gssapi.c:701 msgid "GSSAPI size check error" msgstr "ошибка проверки размера в GSSAPI" -#: libpq/be-secure-openssl.c:122 +#: libpq/be-secure-openssl.c:125 #, c-format msgid "could not create SSL context: %s" msgstr "не удалось создать контекст SSL: %s" -#: libpq/be-secure-openssl.c:148 +#: libpq/be-secure-openssl.c:151 #, c-format msgid "could not load server certificate file \"%s\": %s" msgstr "не удалось загрузить сертификат сервера \"%s\": %s" -#: libpq/be-secure-openssl.c:168 +#: libpq/be-secure-openssl.c:171 #, c-format msgid "" "private key file \"%s\" cannot be reloaded because it requires a passphrase" msgstr "" "файл закрытого ключа \"%s\" нельзя перезагрузить, так как он защищён паролем" -#: libpq/be-secure-openssl.c:173 +#: libpq/be-secure-openssl.c:176 #, c-format msgid "could not load private key file \"%s\": %s" msgstr "не удалось загрузить файл закрытого ключа \"%s\": %s" -#: libpq/be-secure-openssl.c:182 +#: libpq/be-secure-openssl.c:185 #, c-format msgid "check of private key failed: %s" msgstr "ошибка при проверке закрытого ключа: %s" #. translator: first %s is a GUC option name, second %s is its value -#: libpq/be-secure-openssl.c:195 libpq/be-secure-openssl.c:218 +#: libpq/be-secure-openssl.c:198 libpq/be-secure-openssl.c:221 #, c-format msgid "\"%s\" setting \"%s\" not supported by this build" msgstr "для параметра \"%s\" значение \"%s\" не поддерживается в данной сборке" -#: libpq/be-secure-openssl.c:205 +#: libpq/be-secure-openssl.c:208 #, c-format msgid "could not set minimum SSL protocol version" msgstr "не удалось задать минимальную версию протокола SSL" -#: libpq/be-secure-openssl.c:228 +#: libpq/be-secure-openssl.c:231 #, c-format msgid "could not set maximum SSL protocol version" msgstr "не удалось задать максимальную версию протокола SSL" -#: libpq/be-secure-openssl.c:244 +#: libpq/be-secure-openssl.c:247 #, c-format msgid "could not set SSL protocol version range" msgstr "не удалось задать диапазон версий протокола SSL" -#: libpq/be-secure-openssl.c:245 +#: libpq/be-secure-openssl.c:248 #, c-format msgid "\"%s\" cannot be higher than \"%s\"" msgstr "Версия \"%s\" не может быть выше \"%s\"" -#: libpq/be-secure-openssl.c:282 +#: libpq/be-secure-openssl.c:285 #, c-format msgid "could not set the cipher list (no valid ciphers available)" msgstr "не удалось установить список шифров (подходящие шифры отсутствуют)" -#: libpq/be-secure-openssl.c:302 +#: libpq/be-secure-openssl.c:305 #, c-format msgid "could not load root certificate file \"%s\": %s" msgstr "не удалось загрузить файл корневых сертификатов \"%s\": %s" -#: libpq/be-secure-openssl.c:351 +#: libpq/be-secure-openssl.c:354 #, c-format msgid "could not load SSL certificate revocation list file \"%s\": %s" msgstr "" "не удалось загрузить список отзыва сертификатов SSL из файла \"%s\": %s" -#: libpq/be-secure-openssl.c:359 +#: libpq/be-secure-openssl.c:362 #, c-format msgid "could not load SSL certificate revocation list directory \"%s\": %s" msgstr "" "не удалось загрузить списки отзыва сертификатов SSL из каталога \"%s\": %s" -#: libpq/be-secure-openssl.c:367 +#: libpq/be-secure-openssl.c:370 #, c-format msgid "" "could not load SSL certificate revocation list file \"%s\" or directory " @@ -16189,38 +16632,38 @@ msgstr "" "не удалось загрузить списки отзыва сертификатов SSL из файла \"%s\" или " "каталога \"%s\": %s" -#: libpq/be-secure-openssl.c:425 +#: libpq/be-secure-openssl.c:428 #, c-format msgid "could not initialize SSL connection: SSL context not set up" msgstr "" "инициализировать SSL-подключение не удалось: контекст SSL не установлен" -#: libpq/be-secure-openssl.c:436 +#: libpq/be-secure-openssl.c:439 #, c-format msgid "could not initialize SSL connection: %s" msgstr "инициализировать SSL-подключение не удалось: %s" -#: libpq/be-secure-openssl.c:444 +#: libpq/be-secure-openssl.c:447 #, c-format msgid "could not set SSL socket: %s" msgstr "не удалось создать SSL-сокет: %s" -#: libpq/be-secure-openssl.c:499 +#: libpq/be-secure-openssl.c:502 #, c-format msgid "could not accept SSL connection: %m" msgstr "не удалось принять SSL-подключение: %m" -#: libpq/be-secure-openssl.c:503 libpq/be-secure-openssl.c:556 +#: libpq/be-secure-openssl.c:506 libpq/be-secure-openssl.c:561 #, c-format msgid "could not accept SSL connection: EOF detected" msgstr "не удалось принять SSL-подключение: обрыв данных" -#: libpq/be-secure-openssl.c:542 +#: libpq/be-secure-openssl.c:545 #, c-format msgid "could not accept SSL connection: %s" msgstr "не удалось принять SSL-подключение: %s" -#: libpq/be-secure-openssl.c:545 +#: libpq/be-secure-openssl.c:549 #, c-format msgid "" "This may indicate that the client does not support any SSL protocol version " @@ -16229,99 +16672,117 @@ msgstr "" "Это может указывать на то, что клиент не поддерживает ни одну версию " "протокола SSL между %s и %s." -#: libpq/be-secure-openssl.c:561 libpq/be-secure-openssl.c:741 -#: libpq/be-secure-openssl.c:805 +#: libpq/be-secure-openssl.c:566 libpq/be-secure-openssl.c:746 +#: libpq/be-secure-openssl.c:810 #, c-format msgid "unrecognized SSL error code: %d" msgstr "нераспознанный код ошибки SSL: %d" -#: libpq/be-secure-openssl.c:607 +#: libpq/be-secure-openssl.c:612 #, c-format msgid "SSL certificate's common name contains embedded null" msgstr "Имя SSL-сертификата включает нулевой байт" -#: libpq/be-secure-openssl.c:647 +#: libpq/be-secure-openssl.c:652 #, c-format msgid "SSL certificate's distinguished name contains embedded null" msgstr "уникальное имя (DN) в SSL-сертификате содержит нулевой байт" -#: libpq/be-secure-openssl.c:730 libpq/be-secure-openssl.c:789 +#: libpq/be-secure-openssl.c:735 libpq/be-secure-openssl.c:794 #, c-format msgid "SSL error: %s" msgstr "ошибка SSL: %s" -#: libpq/be-secure-openssl.c:971 +#: libpq/be-secure-openssl.c:976 #, c-format msgid "could not open DH parameters file \"%s\": %m" msgstr "не удалось открыть файл параметров DH \"%s\": %m" -#: libpq/be-secure-openssl.c:983 +#: libpq/be-secure-openssl.c:988 #, c-format msgid "could not load DH parameters file: %s" msgstr "не удалось загрузить файл параметров DH: %s" -#: libpq/be-secure-openssl.c:993 +#: libpq/be-secure-openssl.c:998 #, c-format msgid "invalid DH parameters: %s" msgstr "неверные параметры DH: %s" -#: libpq/be-secure-openssl.c:1002 +#: libpq/be-secure-openssl.c:1007 #, c-format msgid "invalid DH parameters: p is not prime" msgstr "неверные параметры DH: p - не простое число" -#: libpq/be-secure-openssl.c:1011 +#: libpq/be-secure-openssl.c:1016 #, c-format msgid "invalid DH parameters: neither suitable generator or safe prime" msgstr "" "неверные параметры DH: нет подходящего генератора или небезопасное простое " "число" -#: libpq/be-secure-openssl.c:1172 +#: libpq/be-secure-openssl.c:1152 +#, c-format +msgid "Client certificate verification failed at depth %d: %s." +msgstr "Ошибка при проверке клиентского сертификата на глубине %d: %s." + +#: libpq/be-secure-openssl.c:1189 +#, c-format +msgid "" +"Failed certificate data (unverified): subject \"%s\", serial number %s, " +"issuer \"%s\"." +msgstr "" +"Данные ошибочного сертификата (непроверенные): субъект \"%s\", серийный " +"номер %s, издатель \"%s\"." + +#: libpq/be-secure-openssl.c:1190 +msgid "unknown" +msgstr "н/д" + +#: libpq/be-secure-openssl.c:1281 #, c-format msgid "DH: could not load DH parameters" msgstr "DH: не удалось загрузить параметры DH" -#: libpq/be-secure-openssl.c:1180 +#: libpq/be-secure-openssl.c:1289 #, c-format msgid "DH: could not set DH parameters: %s" msgstr "DH: не удалось задать параметры DH: %s" -#: libpq/be-secure-openssl.c:1207 +#: libpq/be-secure-openssl.c:1316 #, c-format msgid "ECDH: unrecognized curve name: %s" msgstr "ECDH: нераспознанное имя кривой: %s" -#: libpq/be-secure-openssl.c:1216 +#: libpq/be-secure-openssl.c:1325 #, c-format msgid "ECDH: could not create key" msgstr "ECDH: не удалось создать ключ" -#: libpq/be-secure-openssl.c:1244 +#: libpq/be-secure-openssl.c:1353 msgid "no SSL error reported" msgstr "нет сообщения об ошибке SSL" -#: libpq/be-secure-openssl.c:1248 +#: libpq/be-secure-openssl.c:1357 #, c-format msgid "SSL error code %lu" msgstr "код ошибки SSL: %lu" -#: libpq/be-secure-openssl.c:1402 +#: libpq/be-secure-openssl.c:1516 #, c-format msgid "could not create BIO" msgstr "не удалось создать BIO" -#: libpq/be-secure-openssl.c:1412 +#: libpq/be-secure-openssl.c:1526 #, c-format msgid "could not get NID for ASN1_OBJECT object" msgstr "не удалось получить NID для объекта ASN1_OBJECT" -#: libpq/be-secure-openssl.c:1420 +#: libpq/be-secure-openssl.c:1534 #, c-format msgid "could not convert NID %d to an ASN1_OBJECT structure" msgstr "не удалось преобразовать NID %d в структуру ASN1_OBJECT" -#: libpq/be-secure.c:209 libpq/be-secure.c:305 +#: libpq/be-secure.c:207 libpq/be-secure.c:303 #, c-format msgid "terminating connection due to unexpected postmaster exit" msgstr "закрытие подключения из-за неожиданного завершения главного процесса" @@ -16341,113 +16802,110 @@ msgstr "Пользователь \"%s\" не имеет пароля." msgid "User \"%s\" has an expired password." msgstr "Срок действия пароля пользователя \"%s\" истёк." -#: libpq/crypt.c:181 +#: libpq/crypt.c:183 #, c-format msgid "User \"%s\" has a password that cannot be used with MD5 authentication." msgstr "" "Пользователь \"%s\" имеет пароль, неподходящий для аутентификации по MD5." -#: libpq/crypt.c:202 libpq/crypt.c:244 libpq/crypt.c:264 +#: libpq/crypt.c:204 libpq/crypt.c:246 libpq/crypt.c:266 #, c-format msgid "Password does not match for user \"%s\"." msgstr "Пароль не подходит для пользователя \"%s\"." -#: libpq/crypt.c:283 +#: libpq/crypt.c:285 #, c-format msgid "Password of user \"%s\" is in unrecognized format." msgstr "Пароль пользователя \"%s\" представлен в неизвестном формате." -#: libpq/hba.c:209 +#: libpq/hba.c:332 #, c-format -msgid "authentication file token too long, skipping: \"%s\"" -msgstr "" -"слишком длинный элемент в файле конфигурации безопасности пропускается: " -"\"%s\"" +msgid "invalid regular expression \"%s\": %s" +msgstr "неверное регулярное выражение \"%s\": %s" -#: libpq/hba.c:381 +#: 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 "could not open secondary authentication file \"@%s\" as \"%s\": %m" -msgstr "" -"не удалось открыть дополнительный файл конфигурации безопасности \"@%s\" как " -"\"%s\": %m" +msgid "line %d of configuration file \"%s\"" +msgstr "строка %d файла конфигурации \"%s\"" + +#: libpq/hba.c:462 +#, c-format +msgid "skipping missing authentication file \"%s\"" +msgstr "отсутствующий файл настройки аутентификации \"%s\" пропускается" + +#: libpq/hba.c:614 +#, c-format +msgid "could not open file \"%s\": maximum nesting depth exceeded" +msgstr "открыть файл \"%s\" не удалось: превышен предел вложенности" -#: libpq/hba.c:832 +#: libpq/hba.c:1221 #, c-format msgid "error enumerating network interfaces: %m" msgstr "ошибка при перечислении сетевых интерфейсов: %m" #. translator: the second %s is a list of auth methods -#: libpq/hba.c:859 +#: libpq/hba.c:1248 #, c-format msgid "" "authentication option \"%s\" is only valid for authentication methods %s" msgstr "параметр проверки подлинности \"%s\" допускается только для методов %s" -#: libpq/hba.c:861 libpq/hba.c:881 libpq/hba.c:916 libpq/hba.c:967 -#: libpq/hba.c:981 libpq/hba.c:1005 libpq/hba.c:1013 libpq/hba.c:1025 -#: libpq/hba.c:1046 libpq/hba.c:1059 libpq/hba.c:1079 libpq/hba.c:1101 -#: libpq/hba.c:1113 libpq/hba.c:1172 libpq/hba.c:1192 libpq/hba.c:1206 -#: libpq/hba.c:1226 libpq/hba.c:1237 libpq/hba.c:1252 libpq/hba.c:1271 -#: libpq/hba.c:1287 libpq/hba.c:1299 libpq/hba.c:1336 libpq/hba.c:1377 -#: libpq/hba.c:1390 libpq/hba.c:1412 libpq/hba.c:1424 libpq/hba.c:1442 -#: libpq/hba.c:1492 libpq/hba.c:1536 libpq/hba.c:1547 libpq/hba.c:1563 -#: libpq/hba.c:1580 libpq/hba.c:1591 libpq/hba.c:1610 libpq/hba.c:1626 -#: libpq/hba.c:1642 libpq/hba.c:1700 libpq/hba.c:1717 libpq/hba.c:1730 -#: libpq/hba.c:1742 libpq/hba.c:1761 libpq/hba.c:1847 libpq/hba.c:1865 -#: libpq/hba.c:1959 libpq/hba.c:1978 libpq/hba.c:2007 libpq/hba.c:2020 -#: libpq/hba.c:2043 libpq/hba.c:2065 libpq/hba.c:2079 tsearch/ts_locale.c:232 -#, c-format -msgid "line %d of configuration file \"%s\"" -msgstr "строка %d файла конфигурации \"%s\"" - -#: libpq/hba.c:879 +#: libpq/hba.c:1268 #, c-format msgid "authentication method \"%s\" requires argument \"%s\" to be set" msgstr "" "для метода проверки подлинности \"%s\" требуется определить аргумент \"%s\"" -#: libpq/hba.c:903 +#: libpq/hba.c:1292 #, c-format -msgid "missing entry in file \"%s\" at end of line %d" -msgstr "отсутствует запись в файле \"%s\" в конце строки %d" +msgid "missing entry at end of line" +msgstr "отсутствует запись в конце строки" -#: libpq/hba.c:915 +#: libpq/hba.c:1305 #, c-format msgid "multiple values in ident field" msgstr "множественные значения в поле ident" -#: libpq/hba.c:965 +#: libpq/hba.c:1357 #, c-format msgid "multiple values specified for connection type" msgstr "для типа подключения указано несколько значений" -#: libpq/hba.c:966 +#: libpq/hba.c:1358 #, c-format msgid "Specify exactly one connection type per line." msgstr "Определите в строке единственный тип подключения." -#: libpq/hba.c:980 -#, c-format -msgid "local connections are not supported by this build" -msgstr "локальные подключения не поддерживаются в этой сборке" - -#: libpq/hba.c:1003 +#: libpq/hba.c:1385 #, c-format msgid "hostssl record cannot match because SSL is disabled" msgstr "запись с hostssl недействительна, так как поддержка SSL отключена" -#: libpq/hba.c:1004 +#: libpq/hba.c:1386 #, c-format msgid "Set ssl = on in postgresql.conf." msgstr "Установите ssl = on в postgresql.conf." -#: libpq/hba.c:1012 +#: libpq/hba.c:1394 #, c-format msgid "hostssl record cannot match because SSL is not supported by this build" msgstr "" "запись с hostssl недействительна, так как SSL не поддерживается в этой сборке" -#: libpq/hba.c:1024 +#: libpq/hba.c:1406 #, c-format msgid "" "hostgssenc record cannot match because GSSAPI is not supported by this build" @@ -16455,126 +16913,126 @@ msgstr "" "запись с hostgssenc недействительна, так как GSSAPI не поддерживается в этой " "сборке" -#: libpq/hba.c:1044 +#: libpq/hba.c:1426 #, c-format msgid "invalid connection type \"%s\"" msgstr "неверный тип подключения \"%s\"" -#: libpq/hba.c:1058 +#: libpq/hba.c:1440 #, c-format msgid "end-of-line before database specification" msgstr "конец строки перед определением базы данных" -#: libpq/hba.c:1078 +#: libpq/hba.c:1465 #, c-format msgid "end-of-line before role specification" msgstr "конец строки перед определением роли" -#: libpq/hba.c:1100 +#: libpq/hba.c:1492 #, c-format msgid "end-of-line before IP address specification" msgstr "конец строки перед определением IP-адресов" -#: libpq/hba.c:1111 +#: libpq/hba.c:1503 #, c-format msgid "multiple values specified for host address" msgstr "для адреса узла указано несколько значений" -#: libpq/hba.c:1112 +#: libpq/hba.c:1504 #, c-format msgid "Specify one address range per line." msgstr "Определите в строке один диапазон адресов." -#: libpq/hba.c:1170 +#: libpq/hba.c:1562 #, c-format msgid "invalid IP address \"%s\": %s" msgstr "неверный IP-адрес \"%s\": %s" -#: libpq/hba.c:1190 +#: libpq/hba.c:1582 #, c-format msgid "specifying both host name and CIDR mask is invalid: \"%s\"" msgstr "указать одновременно и имя узла, и маску CIDR нельзя: \"%s\"" -#: libpq/hba.c:1204 +#: libpq/hba.c:1596 #, c-format msgid "invalid CIDR mask in address \"%s\"" msgstr "неверная маска CIDR в адресе \"%s\"" -#: libpq/hba.c:1224 +#: libpq/hba.c:1616 #, c-format msgid "end-of-line before netmask specification" msgstr "конец строки перед определением маски сети" -#: libpq/hba.c:1225 +#: libpq/hba.c:1617 #, c-format msgid "" "Specify an address range in CIDR notation, or provide a separate netmask." msgstr "" "Укажите диапазон адресов в формате CIDR или задайте отдельную маску сети." -#: libpq/hba.c:1236 +#: libpq/hba.c:1628 #, c-format msgid "multiple values specified for netmask" msgstr "для сетевой маски указано несколько значений" -#: libpq/hba.c:1250 +#: libpq/hba.c:1642 #, c-format msgid "invalid IP mask \"%s\": %s" msgstr "неверная маска IP \"%s\": %s" -#: libpq/hba.c:1270 +#: libpq/hba.c:1662 #, c-format msgid "IP address and mask do not match" msgstr "IP-адрес не соответствует маске" -#: libpq/hba.c:1286 +#: libpq/hba.c:1678 #, c-format msgid "end-of-line before authentication method" msgstr "конец строки перед методом проверки подлинности" -#: libpq/hba.c:1297 +#: libpq/hba.c:1689 #, c-format msgid "multiple values specified for authentication type" msgstr "для типа проверки подлинности указано несколько значений" -#: libpq/hba.c:1298 +#: libpq/hba.c:1690 #, c-format msgid "Specify exactly one authentication type per line." msgstr "Определите в строке единственный тип проверки подлинности." -#: libpq/hba.c:1375 +#: libpq/hba.c:1767 #, c-format msgid "invalid authentication method \"%s\"" msgstr "неверный метод проверки подлинности \"%s\"" -#: libpq/hba.c:1388 +#: libpq/hba.c:1780 #, c-format msgid "invalid authentication method \"%s\": not supported by this build" msgstr "" "неверный метод проверки подлинности \"%s\": не поддерживается в этой сборке" -#: libpq/hba.c:1411 +#: libpq/hba.c:1803 #, c-format msgid "gssapi authentication is not supported on local sockets" msgstr "проверка подлинности gssapi для локальных сокетов не поддерживается" -#: libpq/hba.c:1423 +#: libpq/hba.c:1815 #, c-format msgid "peer authentication is only supported on local sockets" msgstr "проверка подлинности peer поддерживается только для локальных сокетов" -#: libpq/hba.c:1441 +#: libpq/hba.c:1833 #, c-format msgid "cert authentication is only supported on hostssl connections" msgstr "" "проверка подлинности cert поддерживается только для подключений hostssl" -#: libpq/hba.c:1491 +#: libpq/hba.c:1883 #, c-format msgid "authentication option not in name=value format: %s" msgstr "параметр проверки подлинности указан не в формате имя=значение: %s" -#: libpq/hba.c:1535 +#: libpq/hba.c:1927 #, c-format msgid "" "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, " @@ -16583,7 +17041,7 @@ msgstr "" "нельзя использовать ldapbasedn, ldapbinddn, ldapbindpasswd, " "ldapsearchattribute, ldapsearchfilter или ldapurl вместе с ldapprefix" -#: libpq/hba.c:1546 +#: libpq/hba.c:1938 #, c-format msgid "" "authentication method \"ldap\" requires argument \"ldapbasedn\", " @@ -16592,22 +17050,22 @@ msgstr "" "для метода проверки подлинности \"ldap\" требуется установить аргументы " "\"ldapbasedn\" и \"ldapprefix\" или \"ldapsuffix\"" -#: libpq/hba.c:1562 +#: libpq/hba.c:1954 #, c-format msgid "cannot use ldapsearchattribute together with ldapsearchfilter" msgstr "нельзя использовать ldapsearchattribute вместе с ldapsearchfilter" -#: libpq/hba.c:1579 +#: libpq/hba.c:1971 #, c-format msgid "list of RADIUS servers cannot be empty" msgstr "список серверов RADIUS не может быть пустым" -#: libpq/hba.c:1590 +#: libpq/hba.c:1982 #, c-format msgid "list of RADIUS secrets cannot be empty" msgstr "список секретов RADIUS не может быть пустым" -#: libpq/hba.c:1607 +#: libpq/hba.c:1999 #, c-format msgid "" "the number of RADIUS secrets (%d) must be 1 or the same as the number of " @@ -16616,7 +17074,7 @@ msgstr "" "количество секретов RADIUS (%d) должно равняться 1 или количеству серверов " "RADIUS (%d)" -#: libpq/hba.c:1623 +#: libpq/hba.c:2015 #, c-format msgid "" "the number of RADIUS ports (%d) must be 1 or the same as the number of " @@ -16625,7 +17083,7 @@ msgstr "" "количество портов RADIUS (%d) должно равняться 1 или количеству серверов " "RADIUS (%d)" -#: libpq/hba.c:1639 +#: libpq/hba.c:2031 #, c-format msgid "" "the number of RADIUS identifiers (%d) must be 1 or the same as the number of " @@ -16634,16 +17092,16 @@ msgstr "" "количество идентификаторов RADIUS (%d) должно равняться 1 или количеству " "серверов RADIUS (%d)" -#: libpq/hba.c:1690 +#: libpq/hba.c:2083 msgid "ident, peer, gssapi, sspi, and cert" msgstr "ident, peer, gssapi, sspi и cert" -#: libpq/hba.c:1699 +#: libpq/hba.c:2092 #, c-format msgid "clientcert can only be configured for \"hostssl\" rows" msgstr "clientcert можно определить только в строках \"hostssl\"" -#: libpq/hba.c:1716 +#: libpq/hba.c:2109 #, c-format msgid "" "clientcert only accepts \"verify-full\" when using \"cert\" authentication" @@ -16651,105 +17109,95 @@ msgstr "" "с проверкой подлинности \"cert\" для clientcert допускается только значение " "\"verify-full\"" -#: libpq/hba.c:1729 +#: libpq/hba.c:2122 #, c-format msgid "invalid value for clientcert: \"%s\"" msgstr "неверное значение для clientcert: \"%s\"" -#: libpq/hba.c:1741 +#: libpq/hba.c:2134 #, c-format msgid "clientname can only be configured for \"hostssl\" rows" msgstr "clientname можно определить только в строках \"hostssl\"" -#: libpq/hba.c:1760 +#: libpq/hba.c:2153 #, c-format msgid "invalid value for clientname: \"%s\"" msgstr "неверное значение для clientname: \"%s\"" -#: libpq/hba.c:1793 +#: libpq/hba.c:2186 #, c-format msgid "could not parse LDAP URL \"%s\": %s" msgstr "не удалось разобрать URL-адрес LDAP \"%s\": %s" -#: libpq/hba.c:1804 +#: libpq/hba.c:2197 #, c-format msgid "unsupported LDAP URL scheme: %s" msgstr "неподдерживаемая схема в URL-адресе LDAP: %s" -#: libpq/hba.c:1828 +#: libpq/hba.c:2221 #, c-format msgid "LDAP URLs not supported on this platform" msgstr "URL-адреса LDAP не поддерживаются в этой ОС" -#: libpq/hba.c:1846 +#: libpq/hba.c:2239 #, c-format msgid "invalid ldapscheme value: \"%s\"" msgstr "неверное значение ldapscheme: \"%s\"" -#: libpq/hba.c:1864 +#: libpq/hba.c:2257 #, c-format msgid "invalid LDAP port number: \"%s\"" msgstr "неверный номер порта LDAP: \"%s\"" -#: libpq/hba.c:1910 libpq/hba.c:1917 +#: libpq/hba.c:2303 libpq/hba.c:2310 msgid "gssapi and sspi" msgstr "gssapi и sspi" -#: libpq/hba.c:1926 libpq/hba.c:1935 +#: libpq/hba.c:2319 libpq/hba.c:2328 msgid "sspi" msgstr "sspi" -#: libpq/hba.c:1957 +#: libpq/hba.c:2350 #, c-format msgid "could not parse RADIUS server list \"%s\"" msgstr "не удалось разобрать список серверов RADIUS \"%s\"" -#: libpq/hba.c:2005 +#: libpq/hba.c:2398 #, c-format msgid "could not parse RADIUS port list \"%s\"" msgstr "не удалось разобрать список портов RADIUS \"%s\"" -#: libpq/hba.c:2019 +#: libpq/hba.c:2412 #, c-format msgid "invalid RADIUS port number: \"%s\"" msgstr "неверный номер порта RADIUS: \"%s\"" -#: libpq/hba.c:2041 +#: libpq/hba.c:2434 #, c-format msgid "could not parse RADIUS secret list \"%s\"" msgstr "не удалось разобрать список секретов RADIUS \"%s\"" -#: libpq/hba.c:2063 +#: libpq/hba.c:2456 #, c-format msgid "could not parse RADIUS identifiers list \"%s\"" msgstr "не удалось разобрать список идентификаторов RADIUS \"%s\"" -#: libpq/hba.c:2077 +#: libpq/hba.c:2470 #, c-format msgid "unrecognized authentication option name: \"%s\"" msgstr "нераспознанное имя атрибута проверки подлинности: \"%s\"" -#: libpq/hba.c:2223 utils/adt/hbafuncs.c:376 guc-file.l:631 -#, c-format -msgid "could not open configuration file \"%s\": %m" -msgstr "открыть файл конфигурации \"%s\" не удалось: %m" - -#: libpq/hba.c:2274 +#: libpq/hba.c:2662 #, c-format msgid "configuration file \"%s\" contains no entries" msgstr "файл конфигурации \"%s\" не содержит записей" -#: libpq/hba.c:2374 -#, c-format -msgid "invalid regular expression \"%s\": %s" -msgstr "неверное регулярное выражение \"%s\": %s" - -#: libpq/hba.c:2437 +#: libpq/hba.c:2815 #, c-format msgid "regular expression match for \"%s\" failed: %s" msgstr "ошибка при поиске по регулярному выражению для \"%s\": %s" -#: libpq/hba.c:2456 +#: libpq/hba.c:2839 #, c-format msgid "" "regular expression \"%s\" has no subexpressions as requested by " @@ -16758,93 +17206,88 @@ msgstr "" "в регулярном выражении \"%s\" нет подвыражений, требуемых для обратной " "ссылки в \"%s\"" -#: libpq/hba.c:2552 +#: libpq/hba.c:2942 #, c-format msgid "provided user name (%s) and authenticated user name (%s) do not match" msgstr "" "указанное имя пользователя (%s) не совпадает с именем прошедшего проверку " "(%s)" -#: libpq/hba.c:2572 +#: libpq/hba.c:2962 #, c-format msgid "no match in usermap \"%s\" for user \"%s\" authenticated as \"%s\"" msgstr "" "нет соответствия в файле сопоставлений \"%s\" для пользователя \"%s\", " "прошедшего проверку как \"%s\"" -#: libpq/hba.c:2605 utils/adt/hbafuncs.c:512 -#, c-format -msgid "could not open usermap file \"%s\": %m" -msgstr "не удалось открыть файл сопоставлений пользователей \"%s\": %m" - -#: libpq/pqcomm.c:204 +#: libpq/pqcomm.c:200 #, c-format msgid "could not set socket to nonblocking mode: %m" msgstr "не удалось перевести сокет в неблокирующий режим: %m" -#: libpq/pqcomm.c:362 +#: libpq/pqcomm.c:361 #, c-format msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)" msgstr "длина пути Unix-сокета \"%s\" превышает предел (%d байт)" -#: libpq/pqcomm.c:383 +#: libpq/pqcomm.c:381 #, c-format msgid "could not translate host name \"%s\", service \"%s\" to address: %s" msgstr "перевести имя узла \"%s\", службы \"%s\" в адрес не удалось: %s" -#: libpq/pqcomm.c:387 +#: libpq/pqcomm.c:385 #, c-format msgid "could not translate service \"%s\" to address: %s" msgstr "не удалось перевести имя службы \"%s\" в адрес: %s" -#: libpq/pqcomm.c:414 +#: libpq/pqcomm.c:412 #, c-format msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded" msgstr "" "не удалось привязаться ко всем запрошенным адресам: превышен предел " "MAXLISTEN (%d)" -#: libpq/pqcomm.c:423 +#: libpq/pqcomm.c:421 msgid "IPv4" msgstr "IPv4" -#: libpq/pqcomm.c:427 +#: libpq/pqcomm.c:424 msgid "IPv6" msgstr "IPv6" -#: libpq/pqcomm.c:432 +#: libpq/pqcomm.c:427 msgid "Unix" msgstr "Unix" -#: libpq/pqcomm.c:437 +#: libpq/pqcomm.c:431 #, c-format msgid "unrecognized address family %d" msgstr "нераспознанное семейство адресов: %d" #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:463 +#: libpq/pqcomm.c:455 #, 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:489 libpq/pqcomm.c:507 +#: libpq/pqcomm.c:481 libpq/pqcomm.c:499 #, c-format msgid "%s(%s) failed for %s address \"%s\": %m" msgstr "ошибка в %s(%s) для адреса %s \"%s\": %m" #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:530 +#: libpq/pqcomm.c:522 #, c-format msgid "could not bind %s address \"%s\": %m" msgstr "не удалось привязаться к адресу %s \"%s\": %m" -#: libpq/pqcomm.c:534 +#: libpq/pqcomm.c:526 #, c-format msgid "Is another postmaster already running on port %d?" msgstr "Возможно, порт %d занят другим процессом postmaster?" -#: libpq/pqcomm.c:536 +#: libpq/pqcomm.c:528 #, c-format msgid "" "Is another postmaster already running on port %d? If not, wait a few seconds " @@ -16854,127 +17297,128 @@ msgstr "" "попытку через несколько секунд." #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:569 +#: libpq/pqcomm.c:557 #, c-format msgid "could not listen on %s address \"%s\": %m" msgstr "не удалось привязаться к адресу %s \"%s\": %m" -#: libpq/pqcomm.c:578 +#: libpq/pqcomm.c:565 #, c-format msgid "listening on Unix socket \"%s\"" msgstr "для приёма подключений открыт Unix-сокет \"%s\"" #. translator: first %s is IPv4 or IPv6 -#: libpq/pqcomm.c:584 +#: libpq/pqcomm.c:570 #, c-format msgid "listening on %s address \"%s\", port %d" msgstr "для приёма подключений по адресу %s \"%s\" открыт порт %d" -#: libpq/pqcomm.c:675 +#: libpq/pqcomm.c:659 #, c-format msgid "group \"%s\" does not exist" msgstr "группа \"%s\" не существует" -#: libpq/pqcomm.c:685 +#: libpq/pqcomm.c:669 #, c-format msgid "could not set group of file \"%s\": %m" msgstr "не удалось установить группу для файла \"%s\": %m" -#: libpq/pqcomm.c:696 +#: libpq/pqcomm.c:680 #, c-format msgid "could not set permissions of file \"%s\": %m" msgstr "не удалось установить права доступа для файла \"%s\": %m" -#: libpq/pqcomm.c:726 +#: libpq/pqcomm.c:708 #, c-format msgid "could not accept new connection: %m" msgstr "не удалось принять новое подключение: %m" -#: libpq/pqcomm.c:766 libpq/pqcomm.c:775 libpq/pqcomm.c:807 libpq/pqcomm.c:817 -#: libpq/pqcomm.c:1642 libpq/pqcomm.c:1687 libpq/pqcomm.c:1727 -#: libpq/pqcomm.c:1771 libpq/pqcomm.c:1810 libpq/pqcomm.c:1849 -#: libpq/pqcomm.c:1885 libpq/pqcomm.c:1924 +#: libpq/pqcomm.c:748 libpq/pqcomm.c:757 libpq/pqcomm.c:789 libpq/pqcomm.c:799 +#: libpq/pqcomm.c:1624 libpq/pqcomm.c:1669 libpq/pqcomm.c:1709 +#: libpq/pqcomm.c:1753 libpq/pqcomm.c:1792 libpq/pqcomm.c:1831 +#: libpq/pqcomm.c:1867 libpq/pqcomm.c:1906 #, c-format msgid "%s(%s) failed: %m" msgstr "ошибка в %s(%s): %m" -#: libpq/pqcomm.c:921 +#: libpq/pqcomm.c:903 #, c-format msgid "there is no client connection" msgstr "нет клиентского подключения" -#: libpq/pqcomm.c:972 libpq/pqcomm.c:1068 +#: libpq/pqcomm.c:954 libpq/pqcomm.c:1050 #, c-format msgid "could not receive data from client: %m" msgstr "не удалось получить данные от клиента: %m" -#: libpq/pqcomm.c:1173 tcop/postgres.c:4371 +#: libpq/pqcomm.c:1155 tcop/postgres.c:4405 #, c-format msgid "terminating connection because protocol synchronization was lost" msgstr "закрытие подключения из-за потери синхронизации протокола" -#: libpq/pqcomm.c:1239 +#: libpq/pqcomm.c:1221 #, c-format msgid "unexpected EOF within message length word" msgstr "неожиданный обрыв данных в слове длины сообщения" -#: libpq/pqcomm.c:1249 +#: libpq/pqcomm.c:1231 #, c-format msgid "invalid message length" msgstr "неверная длина сообщения" -#: libpq/pqcomm.c:1271 libpq/pqcomm.c:1284 +#: libpq/pqcomm.c:1253 libpq/pqcomm.c:1266 #, c-format msgid "incomplete message from client" msgstr "неполное сообщение от клиента" -#: libpq/pqcomm.c:1395 +#: libpq/pqcomm.c:1377 #, c-format msgid "could not send data to client: %m" msgstr "не удалось послать данные клиенту: %m" -#: libpq/pqcomm.c:1610 +#: libpq/pqcomm.c:1592 #, c-format msgid "%s(%s) failed: error code %d" msgstr "ошибка в %s(%s): код ошибки %d" -#: libpq/pqcomm.c:1699 +#: libpq/pqcomm.c:1681 #, c-format msgid "setting the keepalive idle time is not supported" msgstr "изменение значения keepalives_idle не поддерживается" -#: libpq/pqcomm.c:1783 libpq/pqcomm.c:1858 libpq/pqcomm.c:1933 +#: libpq/pqcomm.c:1765 libpq/pqcomm.c:1840 libpq/pqcomm.c:1915 #, c-format msgid "%s(%s) not supported" msgstr "%s(%s) не поддерживается" -#: libpq/pqformat.c:406 +#: libpq/pqformat.c:407 #, c-format msgid "no data left in message" msgstr "в сообщении не осталось данных" -#: libpq/pqformat.c:517 libpq/pqformat.c:535 libpq/pqformat.c:556 -#: utils/adt/arrayfuncs.c:1482 utils/adt/rowtypes.c:588 +#: libpq/pqformat.c:518 libpq/pqformat.c:536 libpq/pqformat.c:557 +#: utils/adt/array_userfuncs.c:799 utils/adt/arrayfuncs.c:1506 +#: utils/adt/rowtypes.c:615 #, c-format msgid "insufficient data left in message" msgstr "недостаточно данных осталось в сообщении" -#: libpq/pqformat.c:597 libpq/pqformat.c:626 +#: libpq/pqformat.c:598 libpq/pqformat.c:627 #, c-format msgid "invalid string in message" msgstr "неверная строка в сообщении" -#: libpq/pqformat.c:642 +#: libpq/pqformat.c:643 #, c-format msgid "invalid message format" msgstr "неверный формат сообщения" -#: main/main.c:239 +#: main/main.c:235 #, c-format msgid "%s: WSAStartup failed: %d\n" msgstr "%s: ошибка WSAStartup: %d\n" -#: main/main.c:350 +#: main/main.c:329 #, c-format msgid "" "%s is the PostgreSQL server.\n" @@ -16983,7 +17427,7 @@ msgstr "" "%s - сервер PostgreSQL.\n" "\n" -#: main/main.c:351 +#: main/main.c:330 #, c-format msgid "" "Usage:\n" @@ -16994,109 +17438,110 @@ msgstr "" " %s [ПАРАМЕТР]...\n" "\n" -#: main/main.c:352 +#: main/main.c:331 #, c-format msgid "Options:\n" msgstr "Параметры:\n" -#: main/main.c:353 +#: main/main.c:332 #, c-format msgid " -B NBUFFERS number of shared buffers\n" msgstr " -B ЧИСЛО_БУФ число разделяемых буферов\n" -#: main/main.c:354 +#: main/main.c:333 #, c-format msgid " -c NAME=VALUE set run-time parameter\n" msgstr " -c ИМЯ=ЗНАЧЕНИЕ установить параметр выполнения\n" -#: main/main.c:355 +#: main/main.c:334 #, c-format msgid " -C NAME print value of run-time parameter, then exit\n" msgstr " -C ИМЯ вывести значение параметра выполнения и выйти\n" -#: main/main.c:356 +#: main/main.c:335 #, c-format msgid " -d 1-5 debugging level\n" msgstr " -d 1-5 уровень отладочных сообщений\n" -#: main/main.c:357 +#: main/main.c:336 #, c-format msgid " -D DATADIR database directory\n" msgstr " -D КАТАЛОГ каталог с данными\n" # well-spelled: ДМГ -#: main/main.c:358 +#: main/main.c:337 #, c-format msgid " -e use European date input format (DMY)\n" msgstr " -e использовать европейский формат дат (ДМГ)\n" -#: main/main.c:359 +#: main/main.c:338 #, c-format msgid " -F turn fsync off\n" msgstr " -F выключить синхронизацию с ФС\n" -#: main/main.c:360 +#: main/main.c:339 #, c-format msgid " -h HOSTNAME host name or IP address to listen on\n" msgstr " -h ИМЯ имя или IP-адрес для приёма сетевых соединений\n" -#: main/main.c:361 +#: main/main.c:340 #, c-format -msgid " -i enable TCP/IP connections\n" -msgstr " -i включить соединения TCP/IP\n" +msgid " -i enable TCP/IP connections (deprecated)\n" +msgstr "" +" -i включить соединения TCP/IP (устаревший параметр)\n" -#: main/main.c:362 +#: main/main.c:341 #, c-format msgid " -k DIRECTORY Unix-domain socket location\n" msgstr " -k КАТАЛОГ расположение Unix-сокетов\n" -#: main/main.c:364 +#: main/main.c:343 #, c-format msgid " -l enable SSL connections\n" msgstr " -l разрешить SSL-подключения\n" # well-spelled: ПОДКЛ -#: main/main.c:366 +#: main/main.c:345 #, c-format msgid " -N MAX-CONNECT maximum number of allowed connections\n" msgstr " -N МАКС_ПОДКЛ предельное число подключений\n" -#: main/main.c:367 +#: main/main.c:346 #, c-format msgid " -p PORT port number to listen on\n" msgstr " -p ПОРТ номер порта для приёма подключений\n" -#: main/main.c:368 +#: main/main.c:347 #, c-format msgid " -s show statistics after each query\n" msgstr " -s показывать статистику после каждого запроса\n" -#: main/main.c:369 +#: main/main.c:348 #, c-format msgid " -S WORK-MEM set amount of memory for sorts (in kB)\n" msgstr " -S РАБ_ПАМЯТЬ задать объём памяти для сортировки (в КБ)\n" -#: main/main.c:370 +#: main/main.c:349 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: main/main.c:371 +#: main/main.c:350 #, c-format msgid " --NAME=VALUE set run-time parameter\n" msgstr " --ИМЯ=ЗНАЧЕНИЕ установить параметр выполнения\n" -#: main/main.c:372 +#: main/main.c:351 #, c-format msgid " --describe-config describe configuration parameters, then exit\n" msgstr " --describe-config вывести параметры конфигурации и выйти\n" -#: main/main.c:373 +#: main/main.c:352 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: main/main.c:375 +#: main/main.c:354 #, c-format msgid "" "\n" @@ -17105,49 +17550,41 @@ msgstr "" "\n" "Параметры для разработчиков:\n" -#: main/main.c:376 +#: main/main.c:355 #, c-format msgid " -f s|i|o|b|t|n|m|h forbid use of some plan types\n" msgstr " -f s|i|o|b|t|n|m|h запретить некоторые типы планов\n" -#: main/main.c:377 -#, c-format -msgid "" -" -n do not reinitialize shared memory after abnormal exit\n" -msgstr "" -" -n не переинициализировать разделяемую память после\n" -" аварийного выхода\n" - -#: main/main.c:378 +#: main/main.c:356 #, c-format msgid " -O allow system table structure changes\n" msgstr " -O разрешить изменять структуру системных таблиц\n" -#: main/main.c:379 +#: main/main.c:357 #, c-format msgid " -P disable system indexes\n" msgstr " -P отключить системные индексы\n" -#: main/main.c:380 +#: main/main.c:358 #, c-format msgid " -t pa|pl|ex show timings after each query\n" msgstr " -t pa|pl|ex показать время каждого запроса\n" -#: main/main.c:381 +#: main/main.c:359 #, c-format msgid "" -" -T send SIGSTOP to all backend processes if one dies\n" +" -T send SIGABRT to all backend processes if one dies\n" msgstr "" -" -T посылать сигнал SIGSTOP всем серверным процессам\n" +" -T посылать сигнал SIGABRT всем серверным процессам\n" " при отключении одного\n" -#: main/main.c:382 +#: main/main.c:360 #, c-format msgid " -W NUM wait NUM seconds to allow attach from a debugger\n" msgstr "" " -W СЕК ждать заданное число секунд для подключения отладчика\n" -#: main/main.c:384 +#: main/main.c:362 #, c-format msgid "" "\n" @@ -17156,7 +17593,7 @@ msgstr "" "\n" "Параметры для монопольного режима:\n" -#: main/main.c:385 +#: main/main.c:363 #, c-format msgid "" " --single selects single-user mode (must be first argument)\n" @@ -17164,22 +17601,22 @@ msgstr "" " --single включить монопольный режим\n" " (этот аргумент должен быть первым)\n" -#: main/main.c:386 +#: main/main.c:364 #, c-format msgid " DBNAME database name (defaults to user name)\n" msgstr " ИМЯ_БД база данных (по умолчанию - имя пользователя)\n" -#: main/main.c:387 +#: main/main.c:365 #, c-format msgid " -d 0-5 override debugging level\n" msgstr " -d 0-5 переопределить уровень отладочных сообщений\n" -#: main/main.c:388 +#: main/main.c:366 #, c-format msgid " -E echo statement before execution\n" msgstr " -E выводить SQL-операторы перед выполнением\n" -#: main/main.c:389 +#: main/main.c:367 #, c-format msgid "" " -j do not use newline as interactive query delimiter\n" @@ -17187,12 +17624,12 @@ msgstr "" " -j не считать конец строки разделителем интерактивных " "запросов\n" -#: main/main.c:390 main/main.c:396 +#: main/main.c:368 main/main.c:374 #, c-format msgid " -r FILENAME send stdout and stderr to given file\n" msgstr " -r ИМЯ_ФАЙЛА перенаправить STDOUT и STDERR в указанный файл\n" -#: main/main.c:392 +#: main/main.c:370 #, c-format msgid "" "\n" @@ -17201,7 +17638,7 @@ msgstr "" "\n" "Параметры для режима инициализации:\n" -#: main/main.c:393 +#: main/main.c:371 #, c-format msgid "" " --boot selects bootstrapping mode (must be first argument)\n" @@ -17209,14 +17646,14 @@ msgstr "" " --boot включить режим инициализации\n" " (этот аргумент должен быть первым)\n" -#: main/main.c:394 +#: main/main.c:372 #, c-format msgid " --check selects check mode (must be first argument)\n" msgstr "" " --check включить режим проверки (этот аргумент должен быть " "первым)\n" -#: main/main.c:395 +#: main/main.c:373 #, c-format msgid "" " DBNAME database name (mandatory argument in bootstrapping " @@ -17224,7 +17661,7 @@ msgid "" msgstr "" " ИМЯ_БД имя базы данных (необходимо в режиме инициализации)\n" -#: main/main.c:398 +#: main/main.c:376 #, c-format msgid "" "\n" @@ -17241,12 +17678,12 @@ msgstr "" "\n" "Об ошибках сообщайте по адресу <%s>.\n" -#: main/main.c:402 +#: main/main.c:380 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашняя страница %s: <%s>\n" -#: main/main.c:413 +#: main/main.c:391 #, c-format msgid "" "\"root\" execution of the PostgreSQL server is not permitted.\n" @@ -17259,12 +17696,12 @@ msgstr "" "должен запускать обычный пользователь. Подробнее о том, как\n" "правильно запускать сервер, вы можете узнать в документации.\n" -#: main/main.c:430 +#: main/main.c:408 #, c-format msgid "%s: real and effective user IDs must match\n" msgstr "%s: фактический и эффективный ID пользователя должны совпадать\n" -#: main/main.c:437 +#: main/main.c:415 #, c-format msgid "" "Execution of PostgreSQL by a user with administrative permissions is not\n" @@ -17289,15 +17726,20 @@ msgstr "расширенный тип узла \"%s\" уже существуе msgid "ExtensibleNodeMethods \"%s\" was not registered" msgstr "методы расширенного узла \"%s\" не зарегистрированы" -#: nodes/makefuncs.c:150 statistics/extended_stats.c:2336 +#: nodes/makefuncs.c:153 statistics/extended_stats.c:2335 #, c-format msgid "relation \"%s\" does not have a composite type" msgstr "отношение \"%s\" не имеет составного типа" -#: nodes/nodeFuncs.c:114 nodes/nodeFuncs.c:145 parser/parse_coerce.c:2567 +#: nodes/makefuncs.c:879 +#, c-format +msgid "unrecognized JSON encoding: %s" +msgstr "нераспознанная кодировка JSON: %s" + +#: nodes/nodeFuncs.c:116 nodes/nodeFuncs.c:147 parser/parse_coerce.c:2567 #: parser/parse_coerce.c:2705 parser/parse_coerce.c:2752 -#: parser/parse_expr.c:2023 parser/parse_func.c:710 parser/parse_oper.c:883 -#: utils/fmgr/funcapi.c:670 +#: parser/parse_expr.c:2049 parser/parse_func.c:710 parser/parse_oper.c:883 +#: utils/fmgr/funcapi.c:661 #, c-format msgid "could not find array type for data type %s" msgstr "тип массива для типа данных %s не найден" @@ -17312,7 +17754,7 @@ msgstr "портал \"%s\" с параметрами: %s" msgid "unnamed portal with parameters: %s" msgstr "неименованный портал с параметрами: %s" -#: optimizer/path/joinrels.c:855 +#: optimizer/path/joinrels.c:973 #, c-format msgid "" "FULL JOIN is only supported with merge-joinable or hash-joinable join " @@ -17321,32 +17763,32 @@ msgstr "" "FULL JOIN поддерживается только с условиями, допускающими соединение " "слиянием или хеш-соединение" -#: optimizer/plan/createplan.c:7101 parser/parse_merge.c:182 +#: optimizer/plan/createplan.c:7111 parser/parse_merge.c:182 #: parser/parse_merge.c:189 #, c-format msgid "cannot execute MERGE on relation \"%s\"" msgstr "выполнить MERGE для отношение \"%s\" нельзя" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: optimizer/plan/initsplan.c:1192 +#: optimizer/plan/initsplan.c:1408 #, c-format msgid "%s cannot be applied to the nullable side of an outer join" msgstr "%s не может применяться к NULL-содержащей стороне внешнего соединения" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: optimizer/plan/planner.c:1344 parser/analyze.c:1714 parser/analyze.c:1970 -#: parser/analyze.c:3152 +#: optimizer/plan/planner.c:1361 parser/analyze.c:1761 parser/analyze.c:2018 +#: parser/analyze.c:3231 #, c-format msgid "%s is not allowed with UNION/INTERSECT/EXCEPT" msgstr "%s несовместимо с UNION/INTERSECT/EXCEPT" -#: optimizer/plan/planner.c:2051 optimizer/plan/planner.c:3707 +#: optimizer/plan/planner.c:2082 optimizer/plan/planner.c:4040 #, c-format msgid "could not implement GROUP BY" msgstr "не удалось реализовать GROUP BY" -#: optimizer/plan/planner.c:2052 optimizer/plan/planner.c:3708 -#: optimizer/plan/planner.c:4351 optimizer/prep/prepunion.c:1046 +#: optimizer/plan/planner.c:2083 optimizer/plan/planner.c:4041 +#: optimizer/plan/planner.c:4681 optimizer/prep/prepunion.c:1053 #, c-format msgid "" "Some of the datatypes only support hashing, while others only support " @@ -17355,82 +17797,77 @@ msgstr "" "Одни типы данных поддерживают только хеширование, а другие - только " "сортировку." -#: optimizer/plan/planner.c:4350 +#: optimizer/plan/planner.c:4680 #, c-format msgid "could not implement DISTINCT" msgstr "не удалось реализовать DISTINCT" -#: optimizer/plan/planner.c:5471 +#: optimizer/plan/planner.c:6019 #, c-format msgid "could not implement window PARTITION BY" msgstr "не удалось реализовать PARTITION BY для окна" -#: optimizer/plan/planner.c:5472 +#: optimizer/plan/planner.c:6020 #, c-format msgid "Window partitioning columns must be of sortable datatypes." msgstr "Столбцы, разбивающие окна, должны иметь сортируемые типы данных." -#: optimizer/plan/planner.c:5476 +#: optimizer/plan/planner.c:6024 #, c-format msgid "could not implement window ORDER BY" msgstr "не удалось реализовать ORDER BY для окна" -#: optimizer/plan/planner.c:5477 +#: optimizer/plan/planner.c:6025 #, c-format msgid "Window ordering columns must be of sortable datatypes." msgstr "Столбцы, сортирующие окна, должны иметь сортируемые типы данных." -#: optimizer/prep/prepunion.c:509 +#: optimizer/prep/prepunion.c:516 #, c-format msgid "could not implement recursive UNION" msgstr "не удалось реализовать рекурсивный UNION" -#: optimizer/prep/prepunion.c:510 +#: optimizer/prep/prepunion.c:517 #, c-format msgid "All column datatypes must be hashable." msgstr "Все столбцы должны иметь хешируемые типы данных." #. translator: %s is UNION, INTERSECT, or EXCEPT -#: optimizer/prep/prepunion.c:1045 +#: optimizer/prep/prepunion.c:1052 #, c-format msgid "could not implement %s" msgstr "не удалось реализовать %s" -#: optimizer/util/clauses.c:4777 +#: optimizer/util/clauses.c:4856 #, c-format msgid "SQL function \"%s\" during inlining" msgstr "внедрённая в код SQL-функция \"%s\"" -#: optimizer/util/plancat.c:142 -#, c-format -msgid "cannot open relation \"%s\"" -msgstr "открыть отношение \"%s\" нельзя" - -#: optimizer/util/plancat.c:151 +#: optimizer/util/plancat.c:154 #, c-format msgid "cannot access temporary or unlogged relations during recovery" msgstr "" "обращаться к временным или нежурналируемым отношениям в процессе " "восстановления нельзя" -#: optimizer/util/plancat.c:691 +#: optimizer/util/plancat.c:726 #, c-format msgid "whole row unique index inference specifications are not supported" msgstr "" "указания со ссылкой на всю строку для выбора уникального индекса не " "поддерживаются" -#: optimizer/util/plancat.c:708 +#: optimizer/util/plancat.c:743 #, c-format msgid "constraint in ON CONFLICT clause has no associated index" msgstr "ограничению в ON CONFLICT не соответствует индекс" -#: optimizer/util/plancat.c:758 +#: optimizer/util/plancat.c:793 #, c-format msgid "ON CONFLICT DO UPDATE not supported with exclusion constraints" msgstr "ON CONFLICT DO UPDATE не поддерживается с ограничениями-исключениями" -#: optimizer/util/plancat.c:863 +#: optimizer/util/plancat.c:898 #, c-format msgid "" "there is no unique or exclusion constraint matching the ON CONFLICT " @@ -17439,22 +17876,22 @@ msgstr "" "нет уникального ограничения или ограничения-исключения, соответствующего " "указанию ON CONFLICT" -#: parser/analyze.c:780 parser/analyze.c:1494 +#: parser/analyze.c:826 parser/analyze.c:1540 #, c-format msgid "VALUES lists must all be the same length" msgstr "списки VALUES должны иметь одинаковую длину" -#: parser/analyze.c:981 +#: parser/analyze.c:1028 #, c-format msgid "INSERT has more expressions than target columns" msgstr "INSERT содержит больше выражений, чем целевых столбцов" -#: parser/analyze.c:999 +#: parser/analyze.c:1046 #, c-format msgid "INSERT has more target columns than expressions" msgstr "INSERT содержит больше целевых столбцов, чем выражений" -#: parser/analyze.c:1003 +#: parser/analyze.c:1050 #, c-format msgid "" "The insertion source is a row expression containing the same number of " @@ -17463,29 +17900,29 @@ msgstr "" "Источником данных является строка, включающая столько же столбцов, сколько " "требуется для INSERT. Вы намеренно использовали скобки?" -#: parser/analyze.c:1302 parser/analyze.c:1687 +#: parser/analyze.c:1347 parser/analyze.c:1734 #, 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:1617 parser/analyze.c:3363 +#: parser/analyze.c:1663 parser/analyze.c:3463 #, c-format msgid "%s cannot be applied to VALUES" msgstr "%s нельзя применять к VALUES" -#: parser/analyze.c:1853 +#: parser/analyze.c:1900 #, c-format msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause" msgstr "неверное предложение UNION/INTERSECT/EXCEPT ORDER BY" -#: parser/analyze.c:1854 +#: parser/analyze.c:1901 #, c-format msgid "Only result column names can be used, not expressions or functions." msgstr "" "Допустимо использование только имён столбцов, но не выражений или функций." -#: parser/analyze.c:1855 +#: parser/analyze.c:1902 #, c-format msgid "" "Add the expression/function to every SELECT, or move the UNION into a FROM " @@ -17494,12 +17931,12 @@ msgstr "" "Добавьте выражение/функцию в каждый SELECT или перенесите UNION в " "предложение FROM." -#: parser/analyze.c:1960 +#: parser/analyze.c:2008 #, c-format msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT" msgstr "INTO можно добавить только в первый SELECT в UNION/INTERSECT/EXCEPT" -#: parser/analyze.c:2032 +#: parser/analyze.c:2080 #, c-format msgid "" "UNION/INTERSECT/EXCEPT member statement cannot refer to other relations of " @@ -17508,17 +17945,17 @@ msgstr "" "оператор, составляющий UNION/INTERSECT/EXCEPT, не может ссылаться на другие " "отношения на том же уровне запроса" -#: parser/analyze.c:2119 +#: parser/analyze.c:2167 #, c-format msgid "each %s query must have the same number of columns" msgstr "все запросы в %s должны возвращать одинаковое число столбцов" -#: parser/analyze.c:2523 +#: parser/analyze.c:2573 #, c-format msgid "RETURNING must have at least one column" msgstr "в RETURNING должен быть минимум один столбец" -#: parser/analyze.c:2626 +#: parser/analyze.c:2676 #, c-format msgid "assignment source returned %d column" msgid_plural "assignment source returned %d columns" @@ -17526,356 +17963,356 @@ msgstr[0] "источник присваиваемого значения выд msgstr[1] "источник присваиваемого значения выдал %d столбца" msgstr[2] "источник присваиваемого значения выдал %d столбцов" -#: parser/analyze.c:2687 +#: parser/analyze.c:2737 #, 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:2811 parser/analyze.c:2819 +#: parser/analyze.c:2862 parser/analyze.c:2870 #, c-format msgid "cannot specify both %s and %s" msgstr "указать %s и %s одновременно нельзя" -#: parser/analyze.c:2839 +#: parser/analyze.c:2890 #, 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:2847 +#: parser/analyze.c:2898 #, c-format msgid "DECLARE CURSOR WITH HOLD ... %s is not supported" msgstr "DECLARE CURSOR WITH HOLD ... %s не поддерживается" -#: parser/analyze.c:2850 +#: parser/analyze.c:2901 #, c-format msgid "Holdable cursors must be READ ONLY." msgstr "Сохраняемые курсоры должны быть READ ONLY." #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2858 +#: parser/analyze.c:2909 #, 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:2869 +#: parser/analyze.c:2920 #, c-format msgid "DECLARE INSENSITIVE CURSOR ... %s is not valid" msgstr "DECLARE INSENSITIVE CURSOR ... %s не допускается" -#: parser/analyze.c:2872 +#: parser/analyze.c:2923 #, c-format msgid "Insensitive cursors must be READ ONLY." msgstr "Независимые курсоры должны быть READ ONLY." -#: parser/analyze.c:2938 +#: parser/analyze.c:3017 #, c-format msgid "materialized views must not use data-modifying statements in WITH" msgstr "" "в материализованных представлениях не должны использоваться операторы, " "изменяющие данные в WITH" -#: parser/analyze.c:2948 +#: parser/analyze.c:3027 #, c-format msgid "materialized views must not use temporary tables or views" msgstr "" "в материализованных представлениях не должны использоваться временные " "таблицы и представления" -#: parser/analyze.c:2958 +#: parser/analyze.c:3037 #, c-format msgid "materialized views may not be defined using bound parameters" msgstr "" "определять материализованные представления со связанными параметрами нельзя" -#: parser/analyze.c:2970 +#: parser/analyze.c:3049 #, c-format msgid "materialized views cannot be unlogged" msgstr "материализованные представления не могут быть нежурналируемыми" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3159 +#: parser/analyze.c:3238 #, c-format msgid "%s is not allowed with DISTINCT clause" msgstr "%s несовместимо с предложением DISTINCT" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3166 +#: parser/analyze.c:3245 #, c-format msgid "%s is not allowed with GROUP BY clause" msgstr "%s несовместимо с предложением GROUP BY" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3173 +#: parser/analyze.c:3252 #, c-format msgid "%s is not allowed with HAVING clause" msgstr "%s несовместимо с предложением HAVING" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3180 +#: parser/analyze.c:3259 #, 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:3187 +#: parser/analyze.c:3266 #, 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:3194 +#: parser/analyze.c:3273 #, 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:3286 +#: parser/analyze.c:3372 #, 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:3336 +#: parser/analyze.c:3436 #, 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:3345 +#: parser/analyze.c:3445 #, 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:3354 +#: parser/analyze.c:3454 #, 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:3372 +#: parser/analyze.c:3472 #, 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:3381 +#: parser/analyze.c:3481 #, 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:3401 +#: parser/analyze.c:3501 #, c-format msgid "relation \"%s\" in %s clause not found in FROM clause" msgstr "отношение \"%s\" в определении %s отсутствует в предложении FROM" -#: parser/parse_agg.c:220 parser/parse_oper.c:227 +#: parser/parse_agg.c:221 parser/parse_oper.c:227 #, c-format msgid "could not identify an ordering operator for type %s" msgstr "для типа %s не удалось найти оператор сортировки" -#: parser/parse_agg.c:222 +#: parser/parse_agg.c:223 #, c-format msgid "Aggregates with DISTINCT must be able to sort their inputs." msgstr "Агрегатным функциям с DISTINCT необходимо сортировать входные данные." -#: parser/parse_agg.c:257 +#: parser/parse_agg.c:258 #, c-format msgid "GROUPING must have fewer than 32 arguments" msgstr "у GROUPING должно быть меньше 32 аргументов" -#: parser/parse_agg.c:360 +#: parser/parse_agg.c:361 msgid "aggregate functions are not allowed in JOIN conditions" msgstr "агрегатные функции нельзя применять в условиях JOIN" -#: parser/parse_agg.c:362 +#: parser/parse_agg.c:363 msgid "grouping operations are not allowed in JOIN conditions" msgstr "операции группировки нельзя применять в условиях JOIN" -#: parser/parse_agg.c:374 +#: parser/parse_agg.c:375 msgid "" "aggregate functions are not allowed in FROM clause of their own query level" msgstr "" "агрегатные функции нельзя применять в предложении FROM их уровня запроса" -#: parser/parse_agg.c:376 +#: parser/parse_agg.c:377 msgid "" "grouping operations are not allowed in FROM clause of their own query level" msgstr "" "операции группировки нельзя применять в предложении FROM их уровня запроса" -#: parser/parse_agg.c:381 +#: parser/parse_agg.c:382 msgid "aggregate functions are not allowed in functions in FROM" msgstr "агрегатные функции нельзя применять в функциях во FROM" -#: parser/parse_agg.c:383 +#: parser/parse_agg.c:384 msgid "grouping operations are not allowed in functions in FROM" msgstr "операции группировки нельзя применять в функциях во FROM" -#: parser/parse_agg.c:391 +#: parser/parse_agg.c:392 msgid "aggregate functions are not allowed in policy expressions" msgstr "агрегатные функции нельзя применять в выражениях политик" -#: parser/parse_agg.c:393 +#: parser/parse_agg.c:394 msgid "grouping operations are not allowed in policy expressions" msgstr "операции группировки нельзя применять в выражениях политик" -#: parser/parse_agg.c:410 +#: parser/parse_agg.c:411 msgid "aggregate functions are not allowed in window RANGE" msgstr "агрегатные функции нельзя применять в указании RANGE для окна" -#: parser/parse_agg.c:412 +#: parser/parse_agg.c:413 msgid "grouping operations are not allowed in window RANGE" msgstr "операции группировки нельзя применять в указании RANGE для окна" -#: parser/parse_agg.c:417 +#: parser/parse_agg.c:418 msgid "aggregate functions are not allowed in window ROWS" msgstr "агрегатные функции нельзя применять в указании ROWS для окна" -#: parser/parse_agg.c:419 +#: parser/parse_agg.c:420 msgid "grouping operations are not allowed in window ROWS" msgstr "операции группировки нельзя применять в указании ROWS для окна" -#: parser/parse_agg.c:424 +#: parser/parse_agg.c:425 msgid "aggregate functions are not allowed in window GROUPS" msgstr "агрегатные функции нельзя применять в указании GROUPS для окна" -#: parser/parse_agg.c:426 +#: parser/parse_agg.c:427 msgid "grouping operations are not allowed in window GROUPS" msgstr "операции группировки нельзя применять в указании GROUPS для окна" -#: parser/parse_agg.c:439 +#: parser/parse_agg.c:440 msgid "aggregate functions are not allowed in MERGE WHEN conditions" msgstr "агрегатные функции нельзя применять в условиях MERGE WHEN" -#: parser/parse_agg.c:441 +#: parser/parse_agg.c:442 msgid "grouping operations are not allowed in MERGE WHEN conditions" msgstr "операции группировки нельзя применять в условиях MERGE WHEN" -#: parser/parse_agg.c:467 +#: parser/parse_agg.c:468 msgid "aggregate functions are not allowed in check constraints" msgstr "агрегатные функции нельзя применять в ограничениях-проверках" -#: parser/parse_agg.c:469 +#: parser/parse_agg.c:470 msgid "grouping operations are not allowed in check constraints" msgstr "операции группировки нельзя применять в ограничениях-проверках" -#: parser/parse_agg.c:476 +#: parser/parse_agg.c:477 msgid "aggregate functions are not allowed in DEFAULT expressions" msgstr "агрегатные функции нельзя применять в выражениях DEFAULT" -#: parser/parse_agg.c:478 +#: parser/parse_agg.c:479 msgid "grouping operations are not allowed in DEFAULT expressions" msgstr "операции группировки нельзя применять в выражениях DEFAULT" -#: parser/parse_agg.c:483 +#: parser/parse_agg.c:484 msgid "aggregate functions are not allowed in index expressions" msgstr "агрегатные функции нельзя применять в выражениях индексов" -#: parser/parse_agg.c:485 +#: parser/parse_agg.c:486 msgid "grouping operations are not allowed in index expressions" msgstr "операции группировки нельзя применять в выражениях индексов" -#: parser/parse_agg.c:490 +#: parser/parse_agg.c:491 msgid "aggregate functions are not allowed in index predicates" msgstr "агрегатные функции нельзя применять в предикатах индексов" -#: parser/parse_agg.c:492 +#: parser/parse_agg.c:493 msgid "grouping operations are not allowed in index predicates" msgstr "операции группировки нельзя применять в предикатах индексов" -#: parser/parse_agg.c:497 +#: parser/parse_agg.c:498 msgid "aggregate functions are not allowed in statistics expressions" msgstr "агрегатные функции нельзя применять в выражениях статистики" -#: parser/parse_agg.c:499 +#: parser/parse_agg.c:500 msgid "grouping operations are not allowed in statistics expressions" msgstr "операции группировки нельзя применять в выражениях статистики" -#: parser/parse_agg.c:504 +#: parser/parse_agg.c:505 msgid "aggregate functions are not allowed in transform expressions" msgstr "агрегатные функции нельзя применять в выражениях преобразований" -#: parser/parse_agg.c:506 +#: parser/parse_agg.c:507 msgid "grouping operations are not allowed in transform expressions" msgstr "операции группировки нельзя применять в выражениях преобразований" -#: parser/parse_agg.c:511 +#: parser/parse_agg.c:512 msgid "aggregate functions are not allowed in EXECUTE parameters" msgstr "агрегатные функции нельзя применять в параметрах EXECUTE" -#: parser/parse_agg.c:513 +#: parser/parse_agg.c:514 msgid "grouping operations are not allowed in EXECUTE parameters" msgstr "операции группировки нельзя применять в параметрах EXECUTE" -#: parser/parse_agg.c:518 +#: parser/parse_agg.c:519 msgid "aggregate functions are not allowed in trigger WHEN conditions" msgstr "агрегатные функции нельзя применять в условиях WHEN для триггеров" -#: parser/parse_agg.c:520 +#: parser/parse_agg.c:521 msgid "grouping operations are not allowed in trigger WHEN conditions" msgstr "операции группировки нельзя применять в условиях WHEN для триггеров" -#: parser/parse_agg.c:525 +#: parser/parse_agg.c:526 msgid "aggregate functions are not allowed in partition bound" msgstr "агрегатные функции нельзя применять в выражении границы секции" -#: parser/parse_agg.c:527 +#: parser/parse_agg.c:528 msgid "grouping operations are not allowed in partition bound" msgstr "операции группировки нельзя применять в выражении границы секции" -#: parser/parse_agg.c:532 +#: parser/parse_agg.c:533 msgid "aggregate functions are not allowed in partition key expressions" msgstr "агрегатные функции нельзя применять в выражениях ключа секционирования" -#: parser/parse_agg.c:534 +#: parser/parse_agg.c:535 msgid "grouping operations are not allowed in partition key expressions" msgstr "" "операции группировки нельзя применять в выражениях ключа секционирования" -#: parser/parse_agg.c:540 +#: parser/parse_agg.c:541 msgid "aggregate functions are not allowed in column generation expressions" msgstr "агрегатные функции нельзя применять в выражениях генерируемых столбцов" -#: parser/parse_agg.c:542 +#: parser/parse_agg.c:543 msgid "grouping operations are not allowed in column generation expressions" msgstr "" "операции группировки нельзя применять в выражениях генерируемых столбцов" -#: parser/parse_agg.c:548 +#: parser/parse_agg.c:549 msgid "aggregate functions are not allowed in CALL arguments" msgstr "агрегатные функции нельзя применять в аргументах CALL" -#: parser/parse_agg.c:550 +#: parser/parse_agg.c:551 msgid "grouping operations are not allowed in CALL arguments" msgstr "операции группировки нельзя применять в аргументах CALL" -#: parser/parse_agg.c:556 +#: parser/parse_agg.c:557 msgid "aggregate functions are not allowed in COPY FROM WHERE conditions" msgstr "агрегатные функции нельзя применять в условиях COPY FROM WHERE" -#: parser/parse_agg.c:558 +#: parser/parse_agg.c:559 msgid "grouping operations are not allowed in COPY FROM WHERE conditions" msgstr "операции группировки нельзя применять в условиях COPY FROM WHERE" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:585 parser/parse_clause.c:1836 +#: parser/parse_agg.c:586 parser/parse_clause.c:1956 #, c-format msgid "aggregate functions are not allowed in %s" msgstr "агрегатные функции нельзя применять в конструкции %s" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:588 +#: parser/parse_agg.c:589 #, c-format msgid "grouping operations are not allowed in %s" msgstr "операции группировки нельзя применять в конструкции %s" -#: parser/parse_agg.c:689 +#: parser/parse_agg.c:690 #, c-format msgid "" "outer-level aggregate cannot contain a lower-level variable in its direct " @@ -17891,8 +18328,8 @@ msgstr "" "вызовы агрегатных функций не могут включать вызовы функций, возвращающих " "множества" -#: parser/parse_agg.c:769 parser/parse_expr.c:1674 parser/parse_expr.c:2156 -#: parser/parse_func.c:883 +#: parser/parse_agg.c:769 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 " @@ -17979,29 +18416,29 @@ msgid "window functions are not allowed in column generation expressions" msgstr "оконные функции нельзя применять в выражениях генерируемых столбцов" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:974 parser/parse_clause.c:1845 +#: parser/parse_agg.c:974 parser/parse_clause.c:1965 #, c-format msgid "window functions are not allowed in %s" msgstr "оконные функции нельзя применять в конструкции %s" -#: parser/parse_agg.c:1008 parser/parse_clause.c:2678 +#: parser/parse_agg.c:1008 parser/parse_clause.c:2798 #, c-format msgid "window \"%s\" does not exist" msgstr "окно \"%s\" не существует" -#: parser/parse_agg.c:1092 +#: parser/parse_agg.c:1096 #, c-format msgid "too many grouping sets present (maximum 4096)" msgstr "слишком много наборов группирования (при максимуме 4096)" -#: parser/parse_agg.c:1232 +#: parser/parse_agg.c:1236 #, c-format msgid "" "aggregate functions are not allowed in a recursive query's recursive term" msgstr "" "в рекурсивной части рекурсивного запроса агрегатные функции недопустимы" -#: parser/parse_agg.c:1425 +#: parser/parse_agg.c:1429 #, c-format msgid "" "column \"%s.%s\" must appear in the GROUP BY clause or be used in an " @@ -18010,7 +18447,7 @@ msgstr "" "столбец \"%s.%s\" должен фигурировать в предложении GROUP BY или " "использоваться в агрегатной функции" -#: parser/parse_agg.c:1428 +#: parser/parse_agg.c:1432 #, c-format msgid "" "Direct arguments of an ordered-set aggregate must use only grouped columns." @@ -18018,13 +18455,13 @@ msgstr "" "Прямые аргументы сортирующей агрегатной функции могут включать только " "группируемые столбцы." -#: parser/parse_agg.c:1433 +#: parser/parse_agg.c:1437 #, c-format msgid "subquery uses ungrouped column \"%s.%s\" from outer query" msgstr "" "подзапрос использует негруппированный столбец \"%s.%s\" из внешнего запроса" -#: parser/parse_agg.c:1597 +#: parser/parse_agg.c:1601 #, c-format msgid "" "arguments to GROUPING must be grouping expressions of the associated query " @@ -18033,25 +18470,25 @@ msgstr "" "аргументами GROUPING должны быть выражения группирования для " "соответствующего уровня запроса" -#: parser/parse_clause.c:192 +#: parser/parse_clause.c:195 #, c-format msgid "relation \"%s\" cannot be the target of a modifying statement" msgstr "отношение \"%s\" не может быть целевым в операторе, изменяющем данные" -#: parser/parse_clause.c:572 parser/parse_clause.c:600 parser/parse_func.c:2554 +#: parser/parse_clause.c:571 parser/parse_clause.c:599 parser/parse_func.c:2552 #, c-format msgid "set-returning functions must appear at top level of FROM" msgstr "" "функции, возвращающие множества, должны находиться на верхнем уровне FROM" -#: parser/parse_clause.c:612 +#: parser/parse_clause.c:611 #, c-format msgid "multiple column definition lists are not allowed for the same function" msgstr "" "для одной и той же функции нельзя задать разные списки с определениями " "столбцов" -#: parser/parse_clause.c:645 +#: parser/parse_clause.c:644 #, c-format msgid "" "ROWS FROM() with multiple functions cannot have a column definition list" @@ -18059,7 +18496,7 @@ msgstr "" "у ROWS FROM() с несколькими функциями не может быть списка с определениями " "столбцов" -#: parser/parse_clause.c:646 +#: parser/parse_clause.c:645 #, c-format msgid "" "Put a separate column definition list for each function inside ROWS FROM()." @@ -18067,14 +18504,14 @@ msgstr "" "Добавьте отдельные списки с определениями столбцов для каждой функции в ROWS " "FROM()." -#: parser/parse_clause.c:652 +#: parser/parse_clause.c:651 #, c-format msgid "UNNEST() with multiple arguments cannot have a column definition list" msgstr "" "у UNNEST() с несколькими аргументами не может быть списка с определениями " "столбцов" -#: parser/parse_clause.c:653 +#: parser/parse_clause.c:652 #, c-format msgid "" "Use separate UNNEST() calls inside ROWS FROM(), and attach a column " @@ -18083,43 +18520,43 @@ msgstr "" "Напишите отдельные вызовы UNNEST() внутри ROWS FROM() и добавьте список " "определений столбцов к каждому." -#: parser/parse_clause.c:660 +#: parser/parse_clause.c:659 #, c-format msgid "WITH ORDINALITY cannot be used with a column definition list" msgstr "" "WITH ORDINALITY нельзя использовать со списком с определениями столбцов" -#: parser/parse_clause.c:661 +#: parser/parse_clause.c:660 #, c-format msgid "Put the column definition list inside ROWS FROM()." msgstr "Поместите список определений столбцов внутрь ROWS FROM()." -#: parser/parse_clause.c:761 +#: parser/parse_clause.c:760 #, c-format msgid "only one FOR ORDINALITY column is allowed" msgstr "FOR ORDINALITY допускается только для одного столбца" -#: parser/parse_clause.c:822 +#: parser/parse_clause.c:821 #, c-format msgid "column name \"%s\" is not unique" msgstr "имя столбца \"%s\" не уникально" -#: parser/parse_clause.c:864 +#: parser/parse_clause.c:863 #, c-format msgid "namespace name \"%s\" is not unique" msgstr "имя пространства имён \"%s\" не уникально" -#: parser/parse_clause.c:874 +#: parser/parse_clause.c:873 #, c-format msgid "only one default namespace is allowed" msgstr "допускается только одно пространство имён по умолчанию" -#: parser/parse_clause.c:934 +#: parser/parse_clause.c:933 #, c-format msgid "tablesample method %s does not exist" msgstr "метод %s для получения выборки не существует" -#: parser/parse_clause.c:956 +#: parser/parse_clause.c:955 #, c-format msgid "tablesample method %s requires %d argument, not %d" msgid_plural "tablesample method %s requires %d arguments, not %d" @@ -18127,104 +18564,104 @@ msgstr[0] "метод %s для получения выборки требует msgstr[1] "метод %s для получения выборки требует аргументов: %d, получено: %d" msgstr[2] "метод %s для получения выборки требует аргументов: %d, получено: %d" -#: parser/parse_clause.c:990 +#: parser/parse_clause.c:989 #, c-format msgid "tablesample method %s does not support REPEATABLE" msgstr "метод %s для получения выборки не поддерживает REPEATABLE" -#: parser/parse_clause.c:1139 +#: parser/parse_clause.c:1138 #, c-format msgid "TABLESAMPLE clause can only be applied to tables and materialized views" msgstr "" "предложение TABLESAMPLE можно применять только к таблицам и " "материализованным представлениям" -#: parser/parse_clause.c:1329 +#: parser/parse_clause.c:1325 #, c-format msgid "column name \"%s\" appears more than once in USING clause" msgstr "имя столбца \"%s\" фигурирует в предложении USING неоднократно" -#: parser/parse_clause.c:1344 +#: parser/parse_clause.c:1340 #, c-format msgid "common column name \"%s\" appears more than once in left table" msgstr "имя общего столбца \"%s\" фигурирует в таблице слева неоднократно" -#: parser/parse_clause.c:1353 +#: parser/parse_clause.c:1349 #, c-format msgid "column \"%s\" specified in USING clause does not exist in left table" msgstr "в таблице слева нет столбца \"%s\", указанного в предложении USING" -#: parser/parse_clause.c:1368 +#: parser/parse_clause.c:1364 #, c-format msgid "common column name \"%s\" appears more than once in right table" msgstr "имя общего столбца \"%s\" фигурирует в таблице справа неоднократно" -#: parser/parse_clause.c:1377 +#: parser/parse_clause.c:1373 #, c-format msgid "column \"%s\" specified in USING clause does not exist in right table" msgstr "в таблице справа нет столбца \"%s\", указанного в предложении USING" -#: parser/parse_clause.c:1781 +#: parser/parse_clause.c:1901 #, c-format msgid "row count cannot be null in FETCH FIRST ... WITH TIES clause" msgstr "" "количество строк в FETCH FIRST ... WITH TIES должно быть отличным от NULL" #. translator: %s is name of a SQL construct, eg LIMIT -#: parser/parse_clause.c:1806 +#: parser/parse_clause.c:1926 #, c-format msgid "argument of %s must not contain variables" msgstr "аргумент %s не может содержать переменные" #. translator: first %s is name of a SQL construct, eg ORDER BY -#: parser/parse_clause.c:1971 +#: parser/parse_clause.c:2091 #, c-format msgid "%s \"%s\" is ambiguous" msgstr "выражение %s \"%s\" неоднозначно" #. translator: %s is name of a SQL construct, eg ORDER BY -#: parser/parse_clause.c:1999 +#: parser/parse_clause.c:2119 #, c-format msgid "non-integer constant in %s" msgstr "не целочисленная константа в %s" #. translator: %s is name of a SQL construct, eg ORDER BY -#: parser/parse_clause.c:2021 +#: parser/parse_clause.c:2141 #, c-format msgid "%s position %d is not in select list" msgstr "в списке выборки %s нет элемента %d" -#: parser/parse_clause.c:2460 +#: parser/parse_clause.c:2580 #, c-format msgid "CUBE is limited to 12 elements" msgstr "CUBE имеет ограничение в 12 элементов" -#: parser/parse_clause.c:2666 +#: parser/parse_clause.c:2786 #, c-format msgid "window \"%s\" is already defined" msgstr "окно \"%s\" уже определено" -#: parser/parse_clause.c:2727 +#: parser/parse_clause.c:2847 #, c-format msgid "cannot override PARTITION BY clause of window \"%s\"" msgstr "переопределить предложение PARTITION BY для окна \"%s\" нельзя" -#: parser/parse_clause.c:2739 +#: parser/parse_clause.c:2859 #, c-format msgid "cannot override ORDER BY clause of window \"%s\"" msgstr "переопределить предложение ORDER BY для окна \"%s\" нельзя" -#: parser/parse_clause.c:2769 parser/parse_clause.c:2775 +#: parser/parse_clause.c:2889 parser/parse_clause.c:2895 #, c-format msgid "cannot copy window \"%s\" because it has a frame clause" msgstr "скопировать окно \"%s\", имеющее предложение рамки, нельзя" -#: parser/parse_clause.c:2777 +#: parser/parse_clause.c:2897 #, c-format msgid "Omit the parentheses in this OVER clause." msgstr "Уберите скобки в предложении OVER." -#: parser/parse_clause.c:2797 +#: parser/parse_clause.c:2917 #, c-format msgid "" "RANGE with offset PRECEDING/FOLLOWING requires exactly one ORDER BY column" @@ -18232,12 +18669,12 @@ msgstr "" "для RANGE со смещением PRECEDING/FOLLOWING требуется ровно один столбец в " "ORDER BY" -#: parser/parse_clause.c:2820 +#: parser/parse_clause.c:2940 #, c-format msgid "GROUPS mode requires an ORDER BY clause" msgstr "для режима GROUPS требуется предложение ORDER BY" -#: parser/parse_clause.c:2891 +#: parser/parse_clause.c:3011 #, c-format msgid "" "in an aggregate with DISTINCT, ORDER BY expressions must appear in argument " @@ -18246,68 +18683,68 @@ msgstr "" "для агрегатной функции с DISTINCT, выражения ORDER BY должны быть в списке " "аргументов" -#: parser/parse_clause.c:2892 +#: parser/parse_clause.c:3012 #, c-format msgid "for SELECT DISTINCT, ORDER BY expressions must appear in select list" msgstr "" "в конструкции SELECT DISTINCT выражения ORDER BY должны быть в списке выборки" -#: parser/parse_clause.c:2924 +#: parser/parse_clause.c:3044 #, c-format msgid "an aggregate with DISTINCT must have at least one argument" msgstr "агрегатной функции с DISTINCT нужен минимум один аргумент" -#: parser/parse_clause.c:2925 +#: parser/parse_clause.c:3045 #, c-format msgid "SELECT DISTINCT must have at least one column" msgstr "в SELECT DISTINCT нужен минимум один столбец" -#: parser/parse_clause.c:2991 parser/parse_clause.c:3023 +#: parser/parse_clause.c:3111 parser/parse_clause.c:3143 #, c-format msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions" msgstr "" "выражения SELECT DISTINCT ON должны соответствовать начальным выражениям " "ORDER BY" -#: parser/parse_clause.c:3101 +#: parser/parse_clause.c:3221 #, c-format msgid "ASC/DESC is not allowed in ON CONFLICT clause" msgstr "ASC/DESC нельзя использовать в ON CONFLICT" -#: parser/parse_clause.c:3107 +#: parser/parse_clause.c:3227 #, c-format msgid "NULLS FIRST/LAST is not allowed in ON CONFLICT clause" msgstr "NULLS FIRST/LAST нельзя использовать в ON CONFLICT" -#: parser/parse_clause.c:3186 +#: parser/parse_clause.c:3306 #, c-format msgid "" "ON CONFLICT DO UPDATE requires inference specification or constraint name" msgstr "" "в ON CONFLICT DO UPDATE требуется наводящее указание или имя ограничения" -#: parser/parse_clause.c:3187 +#: parser/parse_clause.c:3307 #, c-format msgid "For example, ON CONFLICT (column_name)." msgstr "Например: ON CONFLICT (имя_столбца)." -#: parser/parse_clause.c:3198 +#: parser/parse_clause.c:3318 #, c-format msgid "ON CONFLICT is not supported with system catalog tables" msgstr "ON CONFLICT с таблицами системного каталога не поддерживается" -#: parser/parse_clause.c:3206 +#: parser/parse_clause.c:3326 #, c-format msgid "ON CONFLICT is not supported on table \"%s\" used as a catalog table" msgstr "" "ON CONFLICT не поддерживается для таблицы \"%s\", служащей таблицей каталога" -#: parser/parse_clause.c:3336 +#: parser/parse_clause.c:3457 #, c-format msgid "operator %s is not a valid ordering operator" msgstr "оператор %s не годится для сортировки" -#: parser/parse_clause.c:3338 +#: parser/parse_clause.c:3459 #, c-format msgid "" "Ordering operators must be \"<\" or \">\" members of btree operator families." @@ -18315,14 +18752,14 @@ msgstr "" "Операторы сортировки должны быть членами \"<\" или \">\" семейств операторов " "btree." -#: parser/parse_clause.c:3649 +#: parser/parse_clause.c:3770 #, c-format msgid "" "RANGE with offset PRECEDING/FOLLOWING is not supported for column type %s" msgstr "" "RANGE со смещением PRECEDING/FOLLOWING не поддерживается для типа столбца %s" -#: parser/parse_clause.c:3655 +#: parser/parse_clause.c:3776 #, c-format msgid "" "RANGE with offset PRECEDING/FOLLOWING is not supported for column type %s " @@ -18331,12 +18768,12 @@ msgstr "" "RANGE со смещением PRECEDING/FOLLOWING не поддерживается для типа столбца %s " "и типа смещения %s" -#: parser/parse_clause.c:3658 +#: parser/parse_clause.c:3779 #, c-format msgid "Cast the offset value to an appropriate type." msgstr "Приведите значение смещения к подходящему типу." -#: parser/parse_clause.c:3663 +#: parser/parse_clause.c:3784 #, c-format msgid "" "RANGE with offset PRECEDING/FOLLOWING has multiple interpretations for " @@ -18345,14 +18782,15 @@ msgstr "" "RANGE со смещением PRECEDING/FOLLOWING допускает несколько интерпретаций для " "типа столбца %s и типа смещения %s" -#: parser/parse_clause.c:3666 +#: parser/parse_clause.c:3787 #, c-format msgid "Cast the offset value to the exact intended type." msgstr "Приведите значение смещения в точности к желаемому типу." #: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088 #: parser/parse_coerce.c:1106 parser/parse_coerce.c:1121 -#: parser/parse_expr.c:2057 parser/parse_expr.c:2659 parser/parse_target.c:994 +#: parser/parse_expr.c:2083 parser/parse_expr.c:2691 parser/parse_expr.c:3497 +#: parser/parse_target.c:985 #, c-format msgid "cannot cast type %s to %s" msgstr "привести тип %s к %s нельзя" @@ -18411,19 +18849,19 @@ msgid "arguments declared \"%s\" are not all alike" msgstr "аргументы, объявленные как \"%s\", должны быть однотипными" #: parser/parse_coerce.c:2249 parser/parse_coerce.c:2362 -#: utils/fmgr/funcapi.c:601 +#: utils/fmgr/funcapi.c:592 #, 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:615 +#: utils/fmgr/funcapi.c:606 #, 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:633 utils/fmgr/funcapi.c:698 +#: parser/parse_coerce.c:2529 utils/fmgr/funcapi.c:624 utils/fmgr/funcapi.c:689 #, c-format msgid "argument declared %s is not a multirange type but type %s" msgstr "аргумент, объявленный как \"%s\", имеет не мультидиапазонный тип, а %s" @@ -18770,76 +19208,77 @@ msgstr "FOR UPDATE/SHARE в рекурсивном запросе не подд msgid "recursive reference to query \"%s\" must not appear more than once" msgstr "рекурсивная ссылка на запрос \"%s\" указана неоднократно" -#: parser/parse_expr.c:282 +#: parser/parse_expr.c:294 #, c-format msgid "DEFAULT is not allowed in this context" msgstr "DEFAULT не допускается в данном контексте" -#: parser/parse_expr.c:335 parser/parse_relation.c:3654 -#: parser/parse_relation.c:3674 +#: 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 #, c-format msgid "column %s.%s does not exist" msgstr "столбец %s.%s не существует" -#: parser/parse_expr.c:347 +#: parser/parse_expr.c:383 #, c-format msgid "column \"%s\" not found in data type %s" msgstr "столбец \"%s\" не найден в типе данных %s" -#: parser/parse_expr.c:353 +#: parser/parse_expr.c:389 #, c-format msgid "could not identify column \"%s\" in record data type" msgstr "не удалось идентифицировать столбец \"%s\" в типе записи" # skip-rule: space-before-period -#: parser/parse_expr.c:359 +#: parser/parse_expr.c:395 #, c-format msgid "column notation .%s applied to type %s, which is not a composite type" msgstr "" "запись имени столбца .%s применена к типу %s, который не является составным" -#: parser/parse_expr.c:390 parser/parse_target.c:739 +#: parser/parse_expr.c:426 parser/parse_target.c:733 #, c-format msgid "row expansion via \"*\" is not supported here" msgstr "расширение строки через \"*\" здесь не поддерживается" -#: parser/parse_expr.c:512 +#: parser/parse_expr.c:548 msgid "cannot use column reference in DEFAULT expression" msgstr "в выражении DEFAULT (по умолчанию) нельзя ссылаться на столбцы" -#: parser/parse_expr.c:515 +#: parser/parse_expr.c:551 msgid "cannot use column reference in partition bound expression" msgstr "в выражении границы секции нельзя ссылаться на столбцы" -#: parser/parse_expr.c:784 parser/parse_relation.c:818 -#: parser/parse_relation.c:900 parser/parse_target.c:1234 +#: parser/parse_expr.c:810 parser/parse_relation.c:833 +#: parser/parse_relation.c:915 parser/parse_target.c:1225 #, c-format msgid "column reference \"%s\" is ambiguous" msgstr "неоднозначная ссылка на столбец \"%s\"" -#: parser/parse_expr.c:840 parser/parse_param.c:110 parser/parse_param.c:142 -#: parser/parse_param.c:208 parser/parse_param.c:307 +#: parser/parse_expr.c:866 parser/parse_param.c:110 parser/parse_param.c:142 +#: parser/parse_param.c:204 parser/parse_param.c:303 #, c-format msgid "there is no parameter $%d" msgstr "параметр $%d не существует" -#: parser/parse_expr.c:1040 +#: parser/parse_expr.c:1066 #, c-format msgid "NULLIF requires = operator to yield boolean" msgstr "для NULLIF требуется, чтобы оператор = возвращал логическое значение" #. translator: %s is name of a SQL construct, eg NULLIF -#: parser/parse_expr.c:1046 parser/parse_expr.c:2975 +#: parser/parse_expr.c:1072 parser/parse_expr.c:3007 #, c-format msgid "%s must not return a set" msgstr "%s не должна возвращать множество" -#: parser/parse_expr.c:1431 parser/parse_expr.c:1463 +#: parser/parse_expr.c:1457 parser/parse_expr.c:1489 #, c-format msgid "number of columns does not match number of values" msgstr "число столбцов не равно числу значений" -#: parser/parse_expr.c:1477 +#: parser/parse_expr.c:1503 #, c-format msgid "" "source for a multiple-column UPDATE item must be a sub-SELECT or ROW() " @@ -18849,164 +19288,224 @@ msgstr "" "SELECT или выражение ROW()" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_expr.c:1672 parser/parse_expr.c:2154 parser/parse_func.c:2679 +#: parser/parse_expr.c:1698 parser/parse_expr.c:2180 parser/parse_func.c:2677 #, c-format msgid "set-returning functions are not allowed in %s" msgstr "функции, возвращающие множества, нельзя применять в конструкции %s" -#: parser/parse_expr.c:1735 +#: parser/parse_expr.c:1761 msgid "cannot use subquery in check constraint" msgstr "в ограничении-проверке нельзя использовать подзапросы" -#: parser/parse_expr.c:1739 +#: parser/parse_expr.c:1765 msgid "cannot use subquery in DEFAULT expression" msgstr "в выражении DEFAULT нельзя использовать подзапросы" -#: parser/parse_expr.c:1742 +#: parser/parse_expr.c:1768 msgid "cannot use subquery in index expression" msgstr "в индексном выражении нельзя использовать подзапросы" -#: parser/parse_expr.c:1745 +#: parser/parse_expr.c:1771 msgid "cannot use subquery in index predicate" msgstr "в предикате индекса нельзя использовать подзапросы" -#: parser/parse_expr.c:1748 +#: parser/parse_expr.c:1774 msgid "cannot use subquery in statistics expression" msgstr "в выражении статистики нельзя использовать подзапросы" -#: parser/parse_expr.c:1751 +#: parser/parse_expr.c:1777 msgid "cannot use subquery in transform expression" msgstr "нельзя использовать подзапрос в выражении преобразования" -#: parser/parse_expr.c:1754 +#: parser/parse_expr.c:1780 msgid "cannot use subquery in EXECUTE parameter" msgstr "в качестве параметра EXECUTE нельзя использовать подзапрос" -#: parser/parse_expr.c:1757 +#: parser/parse_expr.c:1783 msgid "cannot use subquery in trigger WHEN condition" msgstr "в условии WHEN для триггера нельзя использовать подзапросы" -#: parser/parse_expr.c:1760 +#: parser/parse_expr.c:1786 msgid "cannot use subquery in partition bound" msgstr "в выражении границы секции нельзя использовать подзапросы" -#: parser/parse_expr.c:1763 +#: parser/parse_expr.c:1789 msgid "cannot use subquery in partition key expression" msgstr "в выражении ключа секционирования нельзя использовать подзапросы" -#: parser/parse_expr.c:1766 +#: parser/parse_expr.c:1792 msgid "cannot use subquery in CALL argument" msgstr "в качестве аргумента CALL нельзя использовать подзапрос" -#: parser/parse_expr.c:1769 +#: parser/parse_expr.c:1795 msgid "cannot use subquery in COPY FROM WHERE condition" msgstr "в условии COPY FROM WHERE нельзя использовать подзапросы" -#: parser/parse_expr.c:1772 +#: parser/parse_expr.c:1798 msgid "cannot use subquery in column generation expression" msgstr "в выражении генерируемого столбца нельзя использовать подзапросы" -#: parser/parse_expr.c:1825 +#: parser/parse_expr.c:1851 parser/parse_expr.c:3628 #, c-format msgid "subquery must return only one column" msgstr "подзапрос должен вернуть только один столбец" -#: parser/parse_expr.c:1896 +#: parser/parse_expr.c:1922 #, c-format msgid "subquery has too many columns" msgstr "в подзапросе слишком много столбцов" -#: parser/parse_expr.c:1901 +#: parser/parse_expr.c:1927 #, c-format msgid "subquery has too few columns" msgstr "в подзапросе недостаточно столбцов" -#: parser/parse_expr.c:1997 +#: parser/parse_expr.c:2023 #, c-format msgid "cannot determine type of empty array" msgstr "тип пустого массива определить нельзя" -#: parser/parse_expr.c:1998 +#: parser/parse_expr.c:2024 #, c-format msgid "Explicitly cast to the desired type, for example ARRAY[]::integer[]." msgstr "" "Приведите его к желаемому типу явным образом, например ARRAY[]::integer[]." -#: parser/parse_expr.c:2012 +#: parser/parse_expr.c:2038 #, c-format msgid "could not find element type for data type %s" msgstr "не удалось определить тип элемента для типа данных %s" -#: parser/parse_expr.c:2095 +#: parser/parse_expr.c:2121 #, c-format msgid "ROW expressions can have at most %d entries" msgstr "число элементов в выражениях ROW ограничено %d" -#: parser/parse_expr.c:2300 +#: parser/parse_expr.c:2326 #, c-format msgid "unnamed XML attribute value must be a column reference" msgstr "вместо значения XML-атрибута без имени должен указываться столбец" -#: parser/parse_expr.c:2301 +#: parser/parse_expr.c:2327 #, c-format msgid "unnamed XML element value must be a column reference" msgstr "вместо значения XML-элемента без имени должен указываться столбец" -#: parser/parse_expr.c:2316 +#: parser/parse_expr.c:2342 #, c-format msgid "XML attribute name \"%s\" appears more than once" msgstr "имя XML-атрибута \"%s\" указано неоднократно" -#: parser/parse_expr.c:2423 +#: parser/parse_expr.c:2450 #, c-format msgid "cannot cast XMLSERIALIZE result to %s" msgstr "привести результат XMLSERIALIZE к типу %s нельзя" -#: parser/parse_expr.c:2732 parser/parse_expr.c:2928 +#: parser/parse_expr.c:2764 parser/parse_expr.c:2960 #, c-format msgid "unequal number of entries in row expressions" msgstr "разное число элементов в строках" -#: parser/parse_expr.c:2742 +#: parser/parse_expr.c:2774 #, c-format msgid "cannot compare rows of zero length" msgstr "строки нулевой длины сравнивать нельзя" -#: parser/parse_expr.c:2767 +#: parser/parse_expr.c:2799 #, c-format msgid "row comparison operator must yield type boolean, not type %s" msgstr "" "оператор сравнения строк должен выдавать результат логического типа, а не %s" -#: parser/parse_expr.c:2774 +#: parser/parse_expr.c:2806 #, c-format msgid "row comparison operator must not return a set" msgstr "оператор сравнения строк не должен возвращать множество" -#: parser/parse_expr.c:2833 parser/parse_expr.c:2874 +#: parser/parse_expr.c:2865 parser/parse_expr.c:2906 #, c-format msgid "could not determine interpretation of row comparison operator %s" msgstr "не удалось выбрать интерпретацию оператора сравнения строк %s" -#: parser/parse_expr.c:2835 +#: parser/parse_expr.c:2867 #, c-format msgid "" "Row comparison operators must be associated with btree operator families." msgstr "" "Операторы сравнения строк должны быть связаны с семейством операторов btree." -#: parser/parse_expr.c:2876 +#: parser/parse_expr.c:2908 #, c-format msgid "There are multiple equally-plausible candidates." msgstr "Оказалось несколько равноценных кандидатур." -#: parser/parse_expr.c:2969 +#: parser/parse_expr.c:3001 #, c-format msgid "IS DISTINCT FROM requires = operator to yield boolean" msgstr "" "для IS DISTINCT FROM требуется, чтобы оператор = возвращал логическое " "значение" +#: parser/parse_expr.c:3239 +#, c-format +msgid "JSON ENCODING clause is only allowed for bytea input type" +msgstr "" +"предложение JSON ENCODING можно добавить только для входного типа bytea" + +#: parser/parse_expr.c:3261 +#, c-format +msgid "cannot use non-string types with implicit FORMAT JSON clause" +msgstr "" +"с неявным предложением FORMAT JSON можно использовать только строковые типы" + +#: parser/parse_expr.c:3262 +#, c-format +msgid "cannot use non-string types with explicit FORMAT JSON clause" +msgstr "" +"с явным предложением FORMAT JSON можно использовать только строковые типы" + +#: parser/parse_expr.c:3335 +#, c-format +msgid "cannot use JSON format with non-string output types" +msgstr "формат JSON можно использовать, только если возвращаемый тип строковый" + +#: parser/parse_expr.c:3348 +#, c-format +msgid "cannot set JSON encoding for non-bytea output types" +msgstr "" +"кодировку JSON можно использовать, только если возвращаемый тип — bytea" + +#: parser/parse_expr.c:3353 +#, c-format +msgid "unsupported JSON encoding" +msgstr "неподдерживаемая кодировка JSON" + +#: parser/parse_expr.c:3354 +#, c-format +msgid "Only UTF8 JSON encoding is supported." +msgstr "Для JSON поддерживается только кодировка UTF-8." + +#: parser/parse_expr.c:3391 +#, c-format +msgid "returning SETOF types is not supported in SQL/JSON functions" +msgstr "функции SQL/JSON не могут возвращать типы SETOF" + +#: parser/parse_expr.c:3712 parser/parse_func.c:865 +#, c-format +msgid "aggregate ORDER BY is not implemented for window functions" +msgstr "агрегатное предложение ORDER BY для оконных функций не реализовано" + +#: parser/parse_expr.c:3934 +#, c-format +msgid "cannot use JSON FORMAT ENCODING clause for non-bytea input types" +msgstr "" +"предложение JSON FORMAT ENCODING можно использовать только с типом bytea" + +#: parser/parse_expr.c:3954 +#, c-format +msgid "cannot use type %s in IS JSON predicate" +msgstr "в предикате IS JSON нельзя использовать тип %s" + #: parser/parse_func.c:194 #, c-format msgid "argument name \"%s\" used more than once" @@ -19017,7 +19516,7 @@ msgstr "имя аргумента \"%s\" используется неоднок msgid "positional argument cannot follow named argument" msgstr "нумерованный аргумент не может следовать за именованным аргументом" -#: parser/parse_func.c:287 parser/parse_func.c:2369 +#: parser/parse_func.c:287 parser/parse_func.c:2367 #, c-format msgid "%s is not a procedure" msgstr "\"%s\" — не процедура" @@ -19179,7 +19678,7 @@ msgstr "" "Возможно, неверно расположено предложение ORDER BY - оно должно следовать за " "всеми обычными аргументами функции." -#: parser/parse_func.c:622 parser/parse_func.c:2412 +#: parser/parse_func.c:622 parser/parse_func.c:2410 #, c-format msgid "procedure %s does not exist" msgstr "процедура %s не существует" @@ -19207,64 +19706,59 @@ msgstr "" msgid "VARIADIC argument must be an array" msgstr "параметр VARIADIC должен быть массивом" -#: parser/parse_func.c:790 parser/parse_func.c:854 +#: parser/parse_func.c:791 parser/parse_func.c:855 #, c-format msgid "%s(*) must be used to call a parameterless aggregate function" msgstr "агрегатная функция без параметров должна вызываться так: %s(*)" -#: parser/parse_func.c:797 +#: parser/parse_func.c:798 #, c-format msgid "aggregates cannot return sets" msgstr "агрегатные функции не могут возвращать множества" -#: parser/parse_func.c:812 +#: parser/parse_func.c:813 #, c-format msgid "aggregates cannot use named arguments" msgstr "у агрегатных функций не может быть именованных аргументов" -#: parser/parse_func.c:844 +#: parser/parse_func.c:845 #, c-format msgid "DISTINCT is not implemented for window functions" msgstr "предложение DISTINCT для оконных функций не реализовано" -#: parser/parse_func.c:864 -#, c-format -msgid "aggregate ORDER BY is not implemented for window functions" -msgstr "агрегатное предложение ORDER BY для оконных функций не реализовано" - -#: parser/parse_func.c:873 +#: parser/parse_func.c:874 #, c-format msgid "FILTER is not implemented for non-aggregate window functions" msgstr "предложение FILTER для не агрегатных оконных функций не реализовано" -#: parser/parse_func.c:882 +#: parser/parse_func.c:883 #, c-format msgid "window function calls cannot contain set-returning function calls" msgstr "" "вызовы оконных функций не могут включать вызовы функций, возвращающих " "множества" -#: parser/parse_func.c:890 +#: parser/parse_func.c:891 #, c-format msgid "window functions cannot return sets" msgstr "оконные функции не могут возвращать множества" -#: parser/parse_func.c:2168 parser/parse_func.c:2441 +#: parser/parse_func.c:2166 parser/parse_func.c:2439 #, c-format msgid "could not find a function named \"%s\"" msgstr "не удалось найти функцию с именем \"%s\"" -#: parser/parse_func.c:2182 parser/parse_func.c:2459 +#: parser/parse_func.c:2180 parser/parse_func.c:2457 #, c-format msgid "function name \"%s\" is not unique" msgstr "имя функции \"%s\" не уникально" -#: parser/parse_func.c:2184 parser/parse_func.c:2462 +#: parser/parse_func.c:2182 parser/parse_func.c:2460 #, c-format msgid "Specify the argument list to select the function unambiguously." msgstr "Задайте список аргументов для однозначного выбора функции." -#: parser/parse_func.c:2228 +#: parser/parse_func.c:2226 #, c-format msgid "procedures cannot have more than %d argument" msgid_plural "procedures cannot have more than %d arguments" @@ -19272,143 +19766,143 @@ msgstr[0] "процедуры допускают не более %d аргуме msgstr[1] "процедуры допускают не более %d аргументов" msgstr[2] "процедуры допускают не более %d аргументов" -#: parser/parse_func.c:2359 +#: parser/parse_func.c:2357 #, c-format msgid "%s is not a function" msgstr "%s — не функция" -#: parser/parse_func.c:2379 +#: parser/parse_func.c:2377 #, c-format msgid "function %s is not an aggregate" msgstr "функция \"%s\" не является агрегатной" -#: parser/parse_func.c:2407 +#: parser/parse_func.c:2405 #, c-format msgid "could not find a procedure named \"%s\"" msgstr "не удалось найти процедуру с именем \"%s\"" -#: parser/parse_func.c:2421 +#: parser/parse_func.c:2419 #, c-format msgid "could not find an aggregate named \"%s\"" msgstr "не удалось найти агрегат с именем \"%s\"" -#: parser/parse_func.c:2426 +#: parser/parse_func.c:2424 #, c-format msgid "aggregate %s(*) does not exist" msgstr "агрегатная функция %s(*) не существует" -#: parser/parse_func.c:2431 +#: parser/parse_func.c:2429 #, c-format msgid "aggregate %s does not exist" msgstr "агрегатная функция %s не существует" -#: parser/parse_func.c:2467 +#: parser/parse_func.c:2465 #, c-format msgid "procedure name \"%s\" is not unique" msgstr "имя процедуры \"%s\" не уникально" -#: parser/parse_func.c:2470 +#: parser/parse_func.c:2468 #, c-format msgid "Specify the argument list to select the procedure unambiguously." msgstr "Задайте список аргументов для однозначного выбора процедуры." -#: parser/parse_func.c:2475 +#: parser/parse_func.c:2473 #, c-format msgid "aggregate name \"%s\" is not unique" msgstr "имя агрегатной функции \"%s\" не уникально" -#: parser/parse_func.c:2478 +#: parser/parse_func.c:2476 #, c-format msgid "Specify the argument list to select the aggregate unambiguously." msgstr "Задайте список аргументов для однозначного выбора агрегатной функции." -#: parser/parse_func.c:2483 +#: parser/parse_func.c:2481 #, c-format msgid "routine name \"%s\" is not unique" msgstr "имя подпрограммы \"%s\" не уникально" -#: parser/parse_func.c:2486 +#: parser/parse_func.c:2484 #, c-format msgid "Specify the argument list to select the routine unambiguously." msgstr "Задайте список аргументов для однозначного выбора подпрограммы." -#: parser/parse_func.c:2541 +#: parser/parse_func.c:2539 msgid "set-returning functions are not allowed in JOIN conditions" msgstr "функции, возвращающие множества, нельзя применять в условиях JOIN" -#: parser/parse_func.c:2562 +#: parser/parse_func.c:2560 msgid "set-returning functions are not allowed in policy expressions" msgstr "функции, возвращающие множества, нельзя применять в выражениях политик" -#: parser/parse_func.c:2578 +#: parser/parse_func.c:2576 msgid "set-returning functions are not allowed in window definitions" msgstr "функции, возвращающие множества, нельзя применять в определении окна" -#: parser/parse_func.c:2615 +#: parser/parse_func.c:2613 msgid "set-returning functions are not allowed in MERGE WHEN conditions" msgstr "" "функции, возвращающие множества, нельзя применять в условиях MERGE WHEN" -#: parser/parse_func.c:2619 +#: parser/parse_func.c:2617 msgid "set-returning functions are not allowed in check constraints" msgstr "" "функции, возвращающие множества, нельзя применять в ограничениях-проверках" -#: parser/parse_func.c:2623 +#: parser/parse_func.c:2621 msgid "set-returning functions are not allowed in DEFAULT expressions" msgstr "функции, возвращающие множества, нельзя применять в выражениях DEFAULT" -#: parser/parse_func.c:2626 +#: parser/parse_func.c:2624 msgid "set-returning functions are not allowed in index expressions" msgstr "" "функции, возвращающие множества, нельзя применять в выражениях индексов" -#: parser/parse_func.c:2629 +#: parser/parse_func.c:2627 msgid "set-returning functions are not allowed in index predicates" msgstr "" "функции, возвращающие множества, нельзя применять в предикатах индексов" -#: parser/parse_func.c:2632 +#: parser/parse_func.c:2630 msgid "set-returning functions are not allowed in statistics expressions" msgstr "" "функции, возвращающие множества, нельзя применять в выражениях статистики" -#: parser/parse_func.c:2635 +#: parser/parse_func.c:2633 msgid "set-returning functions are not allowed in transform expressions" msgstr "" "функции, возвращающие множества, нельзя применять в выражениях преобразований" -#: parser/parse_func.c:2638 +#: parser/parse_func.c:2636 msgid "set-returning functions are not allowed in EXECUTE parameters" msgstr "функции, возвращающие множества, нельзя применять в параметрах EXECUTE" -#: parser/parse_func.c:2641 +#: parser/parse_func.c:2639 msgid "set-returning functions are not allowed in trigger WHEN conditions" msgstr "" "функции, возвращающие множества, нельзя применять в условиях WHEN для " "триггеров" -#: parser/parse_func.c:2644 +#: parser/parse_func.c:2642 msgid "set-returning functions are not allowed in partition bound" msgstr "" "функции, возвращающие множества, нельзя применять в выражении границы секции" -#: parser/parse_func.c:2647 +#: parser/parse_func.c:2645 msgid "set-returning functions are not allowed in partition key expressions" msgstr "" "функции, возвращающие множества, нельзя применять в выражениях ключа " "секционирования" -#: parser/parse_func.c:2650 +#: parser/parse_func.c:2648 msgid "set-returning functions are not allowed in CALL arguments" msgstr "функции, возвращающие множества, нельзя применять в аргументах CALL" -#: parser/parse_func.c:2653 +#: parser/parse_func.c:2651 msgid "set-returning functions are not allowed in COPY FROM WHERE conditions" msgstr "" "функции, возвращающие множества, нельзя применять в условиях COPY FROM WHERE" -#: parser/parse_func.c:2656 +#: parser/parse_func.c:2654 msgid "" "set-returning functions are not allowed in column generation expressions" msgstr "" @@ -19441,7 +19935,7 @@ msgstr "имя \"%s\" указано больше одного раза" msgid "The name is used both as MERGE target table and data source." msgstr "Это имя используется и в целевой таблице, и в источнике данных MERGE." -#: parser/parse_node.c:86 +#: parser/parse_node.c:87 #, c-format msgid "target lists can have at most %d entries" msgstr "число элементов в целевом списке ограничено %d" @@ -19451,8 +19945,8 @@ msgstr "число элементов в целевом списке огран msgid "postfix operators are not supported" msgstr "постфиксные операторы не поддерживаются" -#: parser/parse_oper.c:130 parser/parse_oper.c:649 utils/adt/regproc.c:539 -#: utils/adt/regproc.c:723 +#: parser/parse_oper.c:130 parser/parse_oper.c:649 utils/adt/regproc.c:509 +#: utils/adt/regproc.c:683 #, c-format msgid "operator does not exist: %s" msgstr "оператор не существует: %s" @@ -19523,37 +20017,38 @@ msgstr "" "для операторов ANY/ALL (с массивом) требуется, чтобы оператор возвращал не " "множество" -#: parser/parse_param.c:225 +#: parser/parse_param.c:221 #, c-format msgid "inconsistent types deduced for parameter $%d" msgstr "для параметра $%d выведены несогласованные типы" -#: parser/parse_param.c:313 tcop/postgres.c:709 +#: parser/parse_param.c:309 tcop/postgres.c:740 #, c-format msgid "could not determine data type of parameter $%d" msgstr "не удалось определить тип данных параметра $%d" -#: parser/parse_relation.c:201 +#: parser/parse_relation.c:221 #, c-format msgid "table reference \"%s\" is ambiguous" msgstr "ссылка на таблицу \"%s\" неоднозначна" -#: parser/parse_relation.c:245 +#: parser/parse_relation.c:265 #, c-format msgid "table reference %u is ambiguous" msgstr "ссылка на таблицу %u неоднозначна" -#: parser/parse_relation.c:445 +#: parser/parse_relation.c:465 #, c-format msgid "table name \"%s\" specified more than once" msgstr "имя таблицы \"%s\" указано больше одного раза" -#: parser/parse_relation.c:474 parser/parse_relation.c:3594 +#: parser/parse_relation.c:494 parser/parse_relation.c:3630 +#: parser/parse_relation.c:3639 #, c-format msgid "invalid reference to FROM-clause entry for table \"%s\"" msgstr "в элементе предложения FROM неверная ссылка на таблицу \"%s\"" -#: parser/parse_relation.c:478 parser/parse_relation.c:3599 +#: parser/parse_relation.c:498 parser/parse_relation.c:3641 #, c-format msgid "" "There is an entry for table \"%s\", but it cannot be referenced from this " @@ -19562,35 +20057,35 @@ msgstr "" "Таблица \"%s\" присутствует в запросе, но сослаться на неё из этой части " "запроса нельзя." -#: parser/parse_relation.c:480 +#: parser/parse_relation.c:500 #, c-format msgid "The combining JOIN type must be INNER or LEFT for a LATERAL reference." msgstr "Для ссылки LATERAL тип JOIN должен быть INNER или LEFT." -#: parser/parse_relation.c:691 +#: parser/parse_relation.c:703 #, c-format msgid "system column \"%s\" reference in check constraint is invalid" msgstr "в ограничении-проверке указан недопустимый системный столбец \"%s\"" -#: parser/parse_relation.c:700 +#: parser/parse_relation.c:712 #, c-format msgid "cannot use system column \"%s\" in column generation expression" msgstr "" "системный столбец \"%s\" нельзя использовать в выражении генерируемого " "столбца" -#: parser/parse_relation.c:711 +#: parser/parse_relation.c:723 #, c-format msgid "cannot use system column \"%s\" in MERGE WHEN condition" msgstr "системный столбец \"%s\" нельзя использовать в условии MERGE WHEN" -#: parser/parse_relation.c:1184 parser/parse_relation.c:1636 -#: parser/parse_relation.c:2357 +#: 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 "в таблице \"%s\" содержится столбцов: %d, но указано: %d" -#: parser/parse_relation.c:1388 +#: parser/parse_relation.c:1445 #, c-format msgid "" "There is a WITH item named \"%s\", but it cannot be referenced from this " @@ -19599,7 +20094,7 @@ msgstr "" "В WITH есть элемент \"%s\", но на него нельзя ссылаться из этой части " "запроса." -#: parser/parse_relation.c:1390 +#: parser/parse_relation.c:1447 #, c-format msgid "" "Use WITH RECURSIVE, or re-order the WITH items to remove forward references." @@ -19607,13 +20102,13 @@ msgstr "" "Используйте WITH RECURSIVE или исключите ссылки вперёд, переупорядочив " "элементы WITH." -#: parser/parse_relation.c:1778 +#: parser/parse_relation.c:1834 #, c-format msgid "" "a column definition list is redundant for a function with OUT parameters" msgstr "список определений столбцов не нужен для функции с параметрами OUT" -#: parser/parse_relation.c:1784 +#: parser/parse_relation.c:1840 #, c-format msgid "" "a column definition list is redundant for a function returning a named " @@ -19622,77 +20117,93 @@ msgstr "" "список определений столбцов не нужен для функции, возвращающий именованный " "составной тип" -#: parser/parse_relation.c:1791 +#: parser/parse_relation.c:1847 #, c-format msgid "" "a column definition list is only allowed for functions returning \"record\"" msgstr "" "список определений столбцов может быть только у функций, возвращающих запись" -#: parser/parse_relation.c:1802 +#: parser/parse_relation.c:1858 #, c-format msgid "a column definition list is required for functions returning \"record\"" msgstr "" "у функций, возвращающих запись, должен быть список определений столбцов" -#: parser/parse_relation.c:1839 +#: parser/parse_relation.c:1895 #, c-format msgid "column definition lists can have at most %d entries" msgstr "число элементов в списках определения столбцов ограничено %d" -#: parser/parse_relation.c:1899 +#: parser/parse_relation.c:1955 #, c-format msgid "function \"%s\" in FROM has unsupported return type %s" msgstr "" "функция \"%s\", используемая во FROM, возвращает неподдерживаемый тип %s" -#: parser/parse_relation.c:1926 parser/parse_relation.c:2019 +#: parser/parse_relation.c:1982 parser/parse_relation.c:2068 #, c-format msgid "functions in FROM can return at most %d columns" msgstr "число столбцов, возвращаемых функциями во FROM, ограничено %d" -#: parser/parse_relation.c:2049 +#: parser/parse_relation.c:2098 #, c-format msgid "%s function has %d columns available but %d columns specified" msgstr "функция %s выдаёт столбцов: %d, но указано: %d" -#: parser/parse_relation.c:2138 +#: parser/parse_relation.c:2180 #, c-format msgid "VALUES lists \"%s\" have %d columns available but %d columns specified" msgstr "в списках VALUES \"%s\" содержится столбцов: %d, но указано: %d" -#: parser/parse_relation.c:2210 +#: parser/parse_relation.c:2246 #, c-format msgid "joins can have at most %d columns" msgstr "число столбцов в соединениях ограничено %d" -#: parser/parse_relation.c:2235 +#: parser/parse_relation.c:2271 #, c-format msgid "" "join expression \"%s\" has %d columns available but %d columns specified" msgstr "в выражении соединения \"%s\" имеется столбцов: %d, но указано: %d" -#: parser/parse_relation.c:2330 +#: parser/parse_relation.c:2361 #, c-format msgid "WITH query \"%s\" does not have a RETURNING clause" msgstr "в запросе \"%s\" в WITH нет предложения RETURNING" -#: parser/parse_relation.c:3597 +#: parser/parse_relation.c:3632 #, c-format msgid "Perhaps you meant to reference the table alias \"%s\"." msgstr "Возможно, предполагалась ссылка на псевдоним таблицы \"%s\"." -#: parser/parse_relation.c:3605 +#: parser/parse_relation.c:3644 +#, c-format +msgid "To reference that table, you must mark this subquery with LATERAL." +msgstr "" +"Чтобы обратиться к этой таблице, нужно добавить для данного подзапроса " +"пометку LATERAL." + +#: parser/parse_relation.c:3650 #, c-format msgid "missing FROM-clause entry for table \"%s\"" msgstr "таблица \"%s\" отсутствует в предложении FROM" -#: parser/parse_relation.c:3657 +#: parser/parse_relation.c:3690 #, c-format -msgid "Perhaps you meant to reference the column \"%s.%s\"." -msgstr "Возможно, предполагалась ссылка на столбец \"%s.%s\"." +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:3659 +#: parser/parse_relation.c:3692 +#, c-format +msgid "Try using a table-qualified name." +msgstr "Попробуйте использовать имя с указанием таблицы." + +#: parser/parse_relation.c:3700 #, c-format msgid "" "There is a column named \"%s\" in table \"%s\", but it cannot be referenced " @@ -19701,34 +20212,52 @@ msgstr "" "Столбец \"%s\" есть в таблице \"%s\", но на него нельзя ссылаться из этой " "части запроса." -#: parser/parse_relation.c:3676 +#: parser/parse_relation.c:3703 +#, c-format +msgid "To reference that column, you must mark this subquery with LATERAL." +msgstr "" +"Чтобы обратиться к этому столбцу, нужно добавить для данного подзапроса " +"пометку LATERAL." + +#: parser/parse_relation.c:3705 +#, c-format +msgid "To reference that column, you must use a table-qualified name." +msgstr "" +"Чтобы обратиться к этому столбцу, нужно использовать имя с указанием таблицы." + +#: parser/parse_relation.c:3725 +#, c-format +msgid "Perhaps you meant to reference the column \"%s.%s\"." +msgstr "Возможно, предполагалась ссылка на столбец \"%s.%s\"." + +#: parser/parse_relation.c:3739 #, c-format msgid "" "Perhaps you meant to reference the column \"%s.%s\" or the column \"%s.%s\"." msgstr "" "Возможно, предполагалась ссылка на столбец \"%s.%s\" или столбец \"%s.%s\"." -#: parser/parse_target.c:482 parser/parse_target.c:803 +#: parser/parse_target.c:481 parser/parse_target.c:796 #, c-format msgid "cannot assign to system column \"%s\"" msgstr "присвоить значение системному столбцу \"%s\" нельзя" -#: parser/parse_target.c:510 +#: parser/parse_target.c:509 #, c-format msgid "cannot set an array element to DEFAULT" msgstr "элементу массива нельзя присвоить значение по умолчанию" -#: parser/parse_target.c:515 +#: parser/parse_target.c:514 #, c-format msgid "cannot set a subfield to DEFAULT" msgstr "вложенному полю нельзя присвоить значение по умолчанию" -#: parser/parse_target.c:589 +#: parser/parse_target.c:588 #, c-format msgid "column \"%s\" is of type %s but expression is of type %s" msgstr "столбец \"%s\" имеет тип %s, а выражение - %s" -#: parser/parse_target.c:787 +#: parser/parse_target.c:780 #, c-format msgid "" "cannot assign to field \"%s\" of column \"%s\" because its type %s is not a " @@ -19737,7 +20266,7 @@ msgstr "" "присвоить значение полю \"%s\" столбца \"%s\" нельзя, так как тип %s не " "является составным" -#: parser/parse_target.c:796 +#: parser/parse_target.c:789 #, c-format msgid "" "cannot assign to field \"%s\" of column \"%s\" because there is no such " @@ -19746,7 +20275,7 @@ msgstr "" "присвоить значение полю \"%s\" столбца \"%s\" нельзя, так как в типе данных " "%s нет такого столбца" -#: parser/parse_target.c:877 +#: parser/parse_target.c:869 #, c-format msgid "" "subscripted assignment to \"%s\" requires type %s but expression is of type " @@ -19755,12 +20284,12 @@ msgstr "" "для присваивания \"%s\" значения по индексу требуется тип %s, однако " "выражение имеет тип %s" -#: parser/parse_target.c:887 +#: parser/parse_target.c:879 #, c-format msgid "subfield \"%s\" is of type %s but expression is of type %s" msgstr "вложенное поле \"%s\" имеет тип %s, а выражение - %s" -#: parser/parse_target.c:1323 +#: parser/parse_target.c:1314 #, c-format msgid "SELECT * with no tables specified is not valid" msgstr "SELECT * должен ссылаться на таблицы" @@ -19780,7 +20309,7 @@ msgstr "неправильное указание %%TYPE (слишком мно msgid "type reference %s converted to %s" msgstr "ссылка на тип %s преобразована в тип %s" -#: parser/parse_type.c:278 parser/parse_type.c:807 utils/cache/typcache.c:390 +#: parser/parse_type.c:278 parser/parse_type.c:813 utils/cache/typcache.c:390 #: utils/cache/typcache.c:445 #, c-format msgid "type \"%s\" is only a shell" @@ -19796,84 +20325,79 @@ msgstr "у типа \"%s\" не может быть модификаторов" msgid "type modifiers must be simple constants or identifiers" msgstr "модификатором типа должна быть простая константа или идентификатор" -#: parser/parse_type.c:725 parser/parse_type.c:770 +#: parser/parse_type.c:723 parser/parse_type.c:773 #, c-format msgid "invalid type name \"%s\"" msgstr "неверное имя типа \"%s\"" -#: parser/parse_utilcmd.c:266 +#: parser/parse_utilcmd.c:264 #, c-format msgid "cannot create partitioned table as inheritance child" msgstr "создать секционированную таблицу в виде потомка нельзя" -#: parser/parse_utilcmd.c:579 +#: parser/parse_utilcmd.c:580 #, c-format msgid "array of serial is not implemented" msgstr "массивы с типом serial не реализованы" -#: parser/parse_utilcmd.c:658 parser/parse_utilcmd.c:670 -#: parser/parse_utilcmd.c:729 +#: parser/parse_utilcmd.c:659 parser/parse_utilcmd.c:671 +#: parser/parse_utilcmd.c:730 #, c-format msgid "" "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\"" msgstr "конфликт NULL/NOT NULL в объявлении столбца \"%s\" таблицы \"%s\"" -#: parser/parse_utilcmd.c:682 +#: parser/parse_utilcmd.c:683 #, c-format msgid "multiple default values specified for column \"%s\" of table \"%s\"" msgstr "" "для столбца \"%s\" таблицы \"%s\" указано несколько значений по умолчанию" -#: parser/parse_utilcmd.c:699 +#: parser/parse_utilcmd.c:700 #, c-format msgid "identity columns are not supported on typed tables" msgstr "столбцы идентификации не поддерживаются с типизированными таблицами" -#: parser/parse_utilcmd.c:703 +#: parser/parse_utilcmd.c:704 #, c-format msgid "identity columns are not supported on partitions" msgstr "столбцы идентификации не поддерживаются с секциями" -#: parser/parse_utilcmd.c:712 +#: parser/parse_utilcmd.c:713 #, c-format msgid "multiple identity specifications for column \"%s\" of table \"%s\"" msgstr "" "для столбца \"%s\" таблицы \"%s\" свойство identity задано неоднократно" -#: parser/parse_utilcmd.c:742 +#: parser/parse_utilcmd.c:743 #, c-format msgid "generated columns are not supported on typed tables" msgstr "генерируемые столбцы не поддерживаются с типизированными таблицами" -#: parser/parse_utilcmd.c:746 -#, c-format -msgid "generated columns are not supported on partitions" -msgstr "генерируемые столбцы не поддерживаются с секциями" - -#: parser/parse_utilcmd.c:751 +#: parser/parse_utilcmd.c:747 #, c-format msgid "multiple generation clauses specified for column \"%s\" of table \"%s\"" msgstr "" "для столбца \"%s\" таблицы \"%s\" указано несколько генерирующих выражений" -#: parser/parse_utilcmd.c:769 parser/parse_utilcmd.c:884 +#: parser/parse_utilcmd.c:765 parser/parse_utilcmd.c:880 #, c-format msgid "primary key constraints are not supported on foreign tables" msgstr "ограничения первичного ключа для сторонних таблиц не поддерживаются" -#: parser/parse_utilcmd.c:778 parser/parse_utilcmd.c:894 +#: parser/parse_utilcmd.c:774 parser/parse_utilcmd.c:890 #, c-format msgid "unique constraints are not supported on foreign tables" msgstr "ограничения уникальности для сторонних таблиц не поддерживаются" -#: parser/parse_utilcmd.c:823 +#: parser/parse_utilcmd.c:819 #, c-format msgid "both default and identity specified for column \"%s\" of table \"%s\"" msgstr "" "для столбца \"%s\" таблицы \"%s\" задано и значение по умолчанию, и свойство " "identity" -#: parser/parse_utilcmd.c:831 +#: parser/parse_utilcmd.c:827 #, c-format msgid "" "both default and generation expression specified for column \"%s\" of table " @@ -19882,7 +20406,7 @@ msgstr "" "для столбца \"%s\" таблицы \"%s\" задано и значение по умолчанию, и " "генерирующее выражение" -#: parser/parse_utilcmd.c:839 +#: parser/parse_utilcmd.c:835 #, c-format msgid "" "both identity and generation expression specified for column \"%s\" of table " @@ -19891,98 +20415,98 @@ msgstr "" "для столбца \"%s\" таблицы \"%s\" задано и генерирующее выражение, и " "свойство identity" -#: parser/parse_utilcmd.c:904 +#: parser/parse_utilcmd.c:900 #, c-format msgid "exclusion constraints are not supported on foreign tables" msgstr "ограничения-исключения для сторонних таблиц не поддерживаются" -#: parser/parse_utilcmd.c:910 +#: parser/parse_utilcmd.c:906 #, c-format msgid "exclusion constraints are not supported on partitioned tables" msgstr "ограничения-исключения для секционированных таблиц не поддерживаются" -#: parser/parse_utilcmd.c:975 +#: parser/parse_utilcmd.c:971 #, c-format msgid "LIKE is not supported for creating foreign tables" msgstr "LIKE при создании сторонних таблиц не поддерживается" -#: parser/parse_utilcmd.c:988 +#: parser/parse_utilcmd.c:984 #, c-format msgid "relation \"%s\" is invalid in LIKE clause" msgstr "отношение \"%s\" не подходит для предложения LIKE" -#: parser/parse_utilcmd.c:1754 parser/parse_utilcmd.c:1862 +#: parser/parse_utilcmd.c:1741 parser/parse_utilcmd.c:1849 #, c-format msgid "Index \"%s\" contains a whole-row table reference." msgstr "Индекс \"%s\" ссылается на тип всей строки таблицы." -#: parser/parse_utilcmd.c:2251 +#: parser/parse_utilcmd.c:2236 #, c-format msgid "cannot use an existing index in CREATE TABLE" msgstr "в CREATE TABLE нельзя использовать существующий индекс" -#: parser/parse_utilcmd.c:2271 +#: parser/parse_utilcmd.c:2256 #, c-format msgid "index \"%s\" is already associated with a constraint" msgstr "индекс \"%s\" уже связан с ограничением" -#: parser/parse_utilcmd.c:2286 +#: parser/parse_utilcmd.c:2271 #, c-format msgid "index \"%s\" is not valid" msgstr "индекс \"%s\" - нерабочий" -#: parser/parse_utilcmd.c:2292 +#: parser/parse_utilcmd.c:2277 #, c-format msgid "\"%s\" is not a unique index" msgstr "\"%s\" не является уникальным индексом" -#: parser/parse_utilcmd.c:2293 parser/parse_utilcmd.c:2300 -#: parser/parse_utilcmd.c:2307 parser/parse_utilcmd.c:2384 +#: parser/parse_utilcmd.c:2278 parser/parse_utilcmd.c:2285 +#: parser/parse_utilcmd.c:2292 parser/parse_utilcmd.c:2369 #, c-format msgid "Cannot create a primary key or unique constraint using such an index." msgstr "" "Создать первичный ключ или ограничение уникальности для такого индекса " "нельзя." -#: parser/parse_utilcmd.c:2299 +#: parser/parse_utilcmd.c:2284 #, c-format msgid "index \"%s\" contains expressions" msgstr "индекс \"%s\" содержит выражения" -#: parser/parse_utilcmd.c:2306 +#: parser/parse_utilcmd.c:2291 #, c-format msgid "\"%s\" is a partial index" msgstr "\"%s\" - частичный индекс" -#: parser/parse_utilcmd.c:2318 +#: parser/parse_utilcmd.c:2303 #, c-format msgid "\"%s\" is a deferrable index" msgstr "\"%s\" - откладываемый индекс" -#: parser/parse_utilcmd.c:2319 +#: parser/parse_utilcmd.c:2304 #, c-format msgid "Cannot create a non-deferrable constraint using a deferrable index." msgstr "" "Создать не откладываемое ограничение на базе откладываемого индекса нельзя." -#: parser/parse_utilcmd.c:2383 +#: parser/parse_utilcmd.c:2368 #, c-format msgid "index \"%s\" column number %d does not have default sorting behavior" msgstr "" "в индексе \"%s\" для столбца номер %d не определено поведение сортировки по " "умолчанию" -#: parser/parse_utilcmd.c:2540 +#: parser/parse_utilcmd.c:2525 #, c-format msgid "column \"%s\" appears twice in primary key constraint" msgstr "столбец \"%s\" фигурирует в первичном ключе дважды" -#: parser/parse_utilcmd.c:2546 +#: parser/parse_utilcmd.c:2531 #, c-format msgid "column \"%s\" appears twice in unique constraint" msgstr "столбец \"%s\" фигурирует в ограничении уникальности дважды" -#: parser/parse_utilcmd.c:2893 +#: parser/parse_utilcmd.c:2878 #, c-format msgid "" "index expressions and predicates can refer only to the table being indexed" @@ -19990,22 +20514,22 @@ msgstr "" "индексные выражения и предикаты могут ссылаться только на индексируемую " "таблицу" -#: parser/parse_utilcmd.c:2965 +#: parser/parse_utilcmd.c:2950 #, c-format msgid "statistics expressions can refer only to the table being referenced" msgstr "выражения статистики могут ссылаться только на целевую таблицу" -#: parser/parse_utilcmd.c:3008 +#: parser/parse_utilcmd.c:2993 #, c-format msgid "rules on materialized views are not supported" msgstr "правила для материализованных представлений не поддерживаются" -#: parser/parse_utilcmd.c:3071 +#: parser/parse_utilcmd.c:3053 #, c-format msgid "rule WHERE condition cannot contain references to other relations" msgstr "в условиях WHERE для правил нельзя ссылаться на другие отношения" -#: parser/parse_utilcmd.c:3144 +#: parser/parse_utilcmd.c:3125 #, c-format msgid "" "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE " @@ -20014,187 +20538,187 @@ msgstr "" "правила с условиями WHERE могут содержать только действия SELECT, INSERT, " "UPDATE или DELETE" -#: parser/parse_utilcmd.c:3162 parser/parse_utilcmd.c:3263 -#: rewrite/rewriteHandler.c:513 rewrite/rewriteManip.c:1018 +#: parser/parse_utilcmd.c:3143 parser/parse_utilcmd.c:3244 +#: 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:3180 +#: parser/parse_utilcmd.c:3161 #, c-format msgid "ON SELECT rule cannot use OLD" msgstr "в правиле ON SELECT нельзя использовать OLD" -#: parser/parse_utilcmd.c:3184 +#: parser/parse_utilcmd.c:3165 #, c-format msgid "ON SELECT rule cannot use NEW" msgstr "в правиле ON SELECT нельзя использовать NEW" -#: parser/parse_utilcmd.c:3193 +#: parser/parse_utilcmd.c:3174 #, c-format msgid "ON INSERT rule cannot use OLD" msgstr "в правиле ON INSERT нельзя использовать OLD" -#: parser/parse_utilcmd.c:3199 +#: parser/parse_utilcmd.c:3180 #, c-format msgid "ON DELETE rule cannot use NEW" msgstr "в правиле ON DELETE нельзя использовать NEW" -#: parser/parse_utilcmd.c:3227 +#: parser/parse_utilcmd.c:3208 #, c-format msgid "cannot refer to OLD within WITH query" msgstr "в запросе WITH нельзя ссылаться на OLD" -#: parser/parse_utilcmd.c:3234 +#: parser/parse_utilcmd.c:3215 #, c-format msgid "cannot refer to NEW within WITH query" msgstr "в запросе WITH нельзя ссылаться на NEW" -#: parser/parse_utilcmd.c:3688 +#: parser/parse_utilcmd.c:3667 #, c-format msgid "misplaced DEFERRABLE clause" msgstr "предложение DEFERRABLE расположено неправильно" -#: parser/parse_utilcmd.c:3693 parser/parse_utilcmd.c:3708 +#: parser/parse_utilcmd.c:3672 parser/parse_utilcmd.c:3687 #, c-format msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed" msgstr "DEFERRABLE/NOT DEFERRABLE можно указать только один раз" -#: parser/parse_utilcmd.c:3703 +#: parser/parse_utilcmd.c:3682 #, c-format msgid "misplaced NOT DEFERRABLE clause" msgstr "предложение NOT DEFERRABLE расположено неправильно" -#: parser/parse_utilcmd.c:3716 parser/parse_utilcmd.c:3742 gram.y:5937 +#: parser/parse_utilcmd.c:3695 parser/parse_utilcmd.c:3721 gram.y:5990 #, c-format msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" msgstr "" "ограничение с характеристикой INITIALLY DEFERRED должно быть объявлено как " "DEFERRABLE" -#: parser/parse_utilcmd.c:3724 +#: parser/parse_utilcmd.c:3703 #, c-format msgid "misplaced INITIALLY DEFERRED clause" msgstr "предложение INITIALLY DEFERRED расположено неправильно" -#: parser/parse_utilcmd.c:3729 parser/parse_utilcmd.c:3755 +#: parser/parse_utilcmd.c:3708 parser/parse_utilcmd.c:3734 #, c-format msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed" msgstr "INITIALLY IMMEDIATE/DEFERRED можно указать только один раз" -#: parser/parse_utilcmd.c:3750 +#: parser/parse_utilcmd.c:3729 #, c-format msgid "misplaced INITIALLY IMMEDIATE clause" msgstr "предложение INITIALLY IMMEDIATE расположено неправильно" -#: parser/parse_utilcmd.c:3941 +#: parser/parse_utilcmd.c:3922 #, c-format msgid "" "CREATE specifies a schema (%s) different from the one being created (%s)" msgstr "в CREATE указана схема (%s), отличная от создаваемой (%s)" -#: parser/parse_utilcmd.c:3976 +#: parser/parse_utilcmd.c:3957 #, c-format msgid "\"%s\" is not a partitioned table" msgstr "\"%s\" — не секционированная таблица" -#: parser/parse_utilcmd.c:3983 +#: parser/parse_utilcmd.c:3964 #, c-format msgid "table \"%s\" is not partitioned" msgstr "таблица \"%s\" не является секционированной" -#: parser/parse_utilcmd.c:3990 +#: parser/parse_utilcmd.c:3971 #, c-format msgid "index \"%s\" is not partitioned" msgstr "индекс \"%s\" не секционирован" -#: parser/parse_utilcmd.c:4030 +#: parser/parse_utilcmd.c:4011 #, c-format msgid "a hash-partitioned table may not have a default partition" msgstr "у секционированной по хешу таблицы не может быть секции по умолчанию" -#: parser/parse_utilcmd.c:4047 +#: parser/parse_utilcmd.c:4028 #, c-format msgid "invalid bound specification for a hash partition" msgstr "неправильное указание ограничения для хеш-секции" -#: parser/parse_utilcmd.c:4053 partitioning/partbounds.c:4824 +#: parser/parse_utilcmd.c:4034 partitioning/partbounds.c:4803 #, c-format msgid "modulus for hash partition must be an integer value greater than zero" msgstr "модуль для хеш-секции должен быть положительным целым" -#: parser/parse_utilcmd.c:4060 partitioning/partbounds.c:4832 +#: parser/parse_utilcmd.c:4041 partitioning/partbounds.c:4811 #, c-format msgid "remainder for hash partition must be less than modulus" msgstr "остаток для хеш-секции должен быть меньше модуля" -#: parser/parse_utilcmd.c:4073 +#: parser/parse_utilcmd.c:4054 #, c-format msgid "invalid bound specification for a list partition" msgstr "неправильное указание ограничения для секции по списку" -#: parser/parse_utilcmd.c:4126 +#: parser/parse_utilcmd.c:4107 #, c-format msgid "invalid bound specification for a range partition" msgstr "неправильное указание ограничения для секции по диапазону" -#: parser/parse_utilcmd.c:4132 +#: parser/parse_utilcmd.c:4113 #, c-format msgid "FROM must specify exactly one value per partitioning column" msgstr "" "во FROM должно указываться ровно одно значение для секционирующего столбца" -#: parser/parse_utilcmd.c:4136 +#: parser/parse_utilcmd.c:4117 #, c-format msgid "TO must specify exactly one value per partitioning column" msgstr "" "в TO должно указываться ровно одно значение для секционирующего столбца" -#: parser/parse_utilcmd.c:4250 +#: parser/parse_utilcmd.c:4231 #, c-format msgid "cannot specify NULL in range bound" msgstr "указать NULL в диапазонном ограничении нельзя" -#: parser/parse_utilcmd.c:4299 +#: parser/parse_utilcmd.c:4280 #, c-format msgid "every bound following MAXVALUE must also be MAXVALUE" msgstr "за границей MAXVALUE могут следовать только границы MAXVALUE" -#: parser/parse_utilcmd.c:4306 +#: parser/parse_utilcmd.c:4287 #, c-format msgid "every bound following MINVALUE must also be MINVALUE" msgstr "за границей MINVALUE могут следовать только границы MINVALUE" -#: parser/parse_utilcmd.c:4349 +#: parser/parse_utilcmd.c:4330 #, c-format msgid "specified value cannot be cast to type %s for column \"%s\"" msgstr "указанное значение нельзя привести к типу %s столбца \"%s\"" -#: parser/parser.c:247 +#: parser/parser.c:273 msgid "UESCAPE must be followed by a simple string literal" msgstr "За UESCAPE должна следовать простая строковая константа" -#: parser/parser.c:252 +#: parser/parser.c:278 msgid "invalid Unicode escape character" msgstr "неверный символ спецкода Unicode" -#: parser/parser.c:321 scan.l:1338 +#: parser/parser.c:347 scan.l:1390 #, c-format msgid "invalid Unicode escape value" msgstr "неверное значение спецкода Unicode" -#: parser/parser.c:468 utils/adt/varlena.c:6529 scan.l:684 +#: parser/parser.c:494 utils/adt/varlena.c:6505 scan.l:701 #, c-format msgid "invalid Unicode escape" msgstr "неверный спецкод Unicode" -#: parser/parser.c:469 +#: parser/parser.c:495 #, c-format msgid "Unicode escapes must be \\XXXX or \\+XXXXXX." msgstr "Спецкоды Unicode должны иметь вид \\XXXX или \\+XXXXXX." -#: parser/parser.c:497 utils/adt/varlena.c:6554 scan.l:645 scan.l:661 -#: scan.l:677 +#: parser/parser.c:523 utils/adt/varlena.c:6530 scan.l:662 scan.l:678 +#: scan.l:694 #, c-format msgid "invalid Unicode surrogate pair" msgstr "неверная суррогатная пара Unicode" @@ -20204,20 +20728,20 @@ msgstr "неверная суррогатная пара Unicode" msgid "identifier \"%s\" will be truncated to \"%.*s\"" msgstr "идентификатор \"%s\" будет усечён до \"%.*s\"" -#: partitioning/partbounds.c:2933 +#: partitioning/partbounds.c:2921 #, c-format msgid "partition \"%s\" conflicts with existing default partition \"%s\"" msgstr "секция \"%s\" конфликтует с существующей секцией по умолчанию \"%s\"" -#: partitioning/partbounds.c:2985 partitioning/partbounds.c:3004 -#: partitioning/partbounds.c:3026 +#: partitioning/partbounds.c:2973 partitioning/partbounds.c:2992 +#: partitioning/partbounds.c:3014 #, c-format msgid "" "every hash partition modulus must be a factor of the next larger modulus" msgstr "" "модуль каждой хеш-секции должен быть делителем модулей, превышающих его" -#: partitioning/partbounds.c:2986 partitioning/partbounds.c:3027 +#: partitioning/partbounds.c:2974 partitioning/partbounds.c:3015 #, c-format msgid "" "The new modulus %d is not a factor of %d, the modulus of existing partition " @@ -20225,29 +20749,29 @@ msgid "" msgstr "" "Новый модуль %d не является делителем %d, модуля существующей секции \"%s\"." -#: partitioning/partbounds.c:3005 +#: partitioning/partbounds.c:2993 #, c-format msgid "" "The new modulus %d is not divisible by %d, the modulus of existing partition " "\"%s\"." msgstr "Новый модуль %d не делится на %d, модуль существующей секции \"%s\"." -#: partitioning/partbounds.c:3140 +#: partitioning/partbounds.c:3128 #, c-format msgid "empty range bound specified for partition \"%s\"" msgstr "для секции \"%s\" заданы границы, образующие пустой диапазон" -#: partitioning/partbounds.c:3142 +#: partitioning/partbounds.c:3130 #, c-format msgid "Specified lower bound %s is greater than or equal to upper bound %s." msgstr "Указанная нижняя граница %s больше или равна верхней границе %s." -#: partitioning/partbounds.c:3254 +#: partitioning/partbounds.c:3238 #, c-format msgid "partition \"%s\" would overlap partition \"%s\"" msgstr "секция \"%s\" пересекается с секцией \"%s\"" -#: partitioning/partbounds.c:3371 +#: partitioning/partbounds.c:3355 #, c-format msgid "" "skipped scanning foreign table \"%s\" which is a partition of default " @@ -20256,19 +20780,19 @@ msgstr "" "пропущено сканирование сторонней таблицы \"%s\", являющейся секцией секции " "по умолчанию \"%s\"" -#: partitioning/partbounds.c:4828 +#: partitioning/partbounds.c:4807 #, c-format msgid "" "remainder for hash partition must be an integer value greater than or equal " "to zero" msgstr "значение остатка для хеш-секции должно быть неотрицательным целым" -#: partitioning/partbounds.c:4852 +#: partitioning/partbounds.c:4831 #, c-format msgid "\"%s\" is not a hash partitioned table" msgstr "\"%s\" не является таблицей, секционированной по хешу" -#: partitioning/partbounds.c:4863 partitioning/partbounds.c:4980 +#: partitioning/partbounds.c:4842 partitioning/partbounds.c:4959 #, c-format msgid "" "number of partitioning columns (%d) does not match number of partition keys " @@ -20277,7 +20801,7 @@ msgstr "" "число секционирующих столбцов (%d) не равно числу представленных ключей " "секционирования (%d)" -#: partitioning/partbounds.c:4885 +#: partitioning/partbounds.c:4864 #, c-format msgid "" "column %d of the partition key has type %s, but supplied value is of type %s" @@ -20285,7 +20809,7 @@ msgstr "" "столбец %d ключа секционирования имеет тип %s, но для него передано значение " "типа %s" -#: partitioning/partbounds.c:4917 +#: partitioning/partbounds.c:4896 #, c-format msgid "" "column %d of the partition key has type \"%s\", but supplied value is of " @@ -20294,23 +20818,23 @@ msgstr "" "столбец %d ключа секционирования имеет тип \"%s\", но для него передано " "значение типа \"%s\"" -#: port/pg_sema.c:209 port/pg_shmem.c:695 port/posix_sema.c:209 -#: port/sysv_sema.c:327 port/sysv_shmem.c:695 +#: port/pg_sema.c:209 port/pg_shmem.c:708 port/posix_sema.c:209 +#: port/sysv_sema.c:323 port/sysv_shmem.c:708 #, c-format msgid "could not stat data directory \"%s\": %m" msgstr "не удалось получить информацию о каталоге данных \"%s\": %m" -#: port/pg_shmem.c:227 port/sysv_shmem.c:227 +#: port/pg_shmem.c:223 port/sysv_shmem.c:223 #, c-format msgid "could not create shared memory segment: %m" msgstr "не удалось создать сегмент разделяемой памяти: %m" -#: port/pg_shmem.c:228 port/sysv_shmem.c:228 +#: port/pg_shmem.c:224 port/sysv_shmem.c:224 #, c-format msgid "Failed system call was shmget(key=%lu, size=%zu, 0%o)." msgstr "Ошибка в системном вызове shmget(ключ=%lu, размер=%zu, 0%o)." -#: port/pg_shmem.c:232 port/sysv_shmem.c:232 +#: port/pg_shmem.c:228 port/sysv_shmem.c:228 #, c-format msgid "" "This error usually means that PostgreSQL's request for a shared memory " @@ -20324,7 +20848,7 @@ msgstr "" "Подробная информация о настройке разделяемой памяти содержится в " "документации PostgreSQL." -#: port/pg_shmem.c:239 port/sysv_shmem.c:239 +#: port/pg_shmem.c:235 port/sysv_shmem.c:235 #, c-format msgid "" "This error usually means that PostgreSQL's request for a shared memory " @@ -20339,7 +20863,7 @@ msgstr "" "Подробная информация о настройке разделяемой памяти содержится в " "документации PostgreSQL." -#: port/pg_shmem.c:245 port/sysv_shmem.c:245 +#: port/pg_shmem.c:241 port/sysv_shmem.c:241 #, c-format msgid "" "This error does *not* mean that you have run out of disk space. It occurs " @@ -20356,12 +20880,17 @@ msgstr "" "Подробная информация о настройке разделяемой памяти содержится в " "документации PostgreSQL." -#: port/pg_shmem.c:633 port/sysv_shmem.c:633 +#: port/pg_shmem.c:583 port/sysv_shmem.c:583 port/win32_shmem.c:641 +#, c-format +msgid "huge_page_size must be 0 on this platform." +msgstr "Значение huge_page_size должно равняться 0 на этой платформе." + +#: port/pg_shmem.c:646 port/sysv_shmem.c:646 #, c-format msgid "could not map anonymous shared memory: %m" msgstr "не удалось получить анонимную разделяемую память: %m" -#: port/pg_shmem.c:635 port/sysv_shmem.c:635 +#: port/pg_shmem.c:648 port/sysv_shmem.c:648 #, c-format msgid "" "This error usually means that PostgreSQL's request for a shared memory " @@ -20375,25 +20904,25 @@ msgstr "" "можно снизить использование разделяемой памяти, возможно, уменьшив " "shared_buffers или max_connections." -#: port/pg_shmem.c:703 port/sysv_shmem.c:703 +#: port/pg_shmem.c:716 port/sysv_shmem.c:716 #, c-format msgid "huge pages not supported on this platform" msgstr "огромные страницы на этой платформе не поддерживаются" -#: port/pg_shmem.c:710 port/sysv_shmem.c:710 +#: port/pg_shmem.c:723 port/sysv_shmem.c:723 #, c-format msgid "huge pages not supported with the current shared_memory_type setting" msgstr "" "огромные страницы не поддерживаются с текущим значением shared_memory_type" -#: port/pg_shmem.c:770 port/sysv_shmem.c:770 utils/init/miscinit.c:1187 +#: port/pg_shmem.c:783 port/sysv_shmem.c:783 utils/init/miscinit.c:1351 #, c-format msgid "pre-existing shared memory block (key %lu, ID %lu) is still in use" msgstr "" "ранее выделенный блок разделяемой памяти (ключ %lu, ID %lu) по-прежнему " "используется" -#: port/pg_shmem.c:773 port/sysv_shmem.c:773 utils/init/miscinit.c:1189 +#: port/pg_shmem.c:786 port/sysv_shmem.c:786 utils/init/miscinit.c:1353 #, c-format msgid "" "Terminate any old server processes associated with data directory \"%s\"." @@ -20401,17 +20930,17 @@ msgstr "" "Завершите все старые серверные процессы, работающие с каталогом данных " "\"%s\"." -#: port/sysv_sema.c:124 +#: port/sysv_sema.c:120 #, c-format msgid "could not create semaphores: %m" msgstr "не удалось создать семафоры: %m" -#: port/sysv_sema.c:125 +#: port/sysv_sema.c:121 #, c-format msgid "Failed system call was semget(%lu, %d, 0%o)." msgstr "Ошибка в системном вызове semget(%lu, %d, 0%o)." -#: port/sysv_sema.c:129 +#: port/sysv_sema.c:125 #, c-format msgid "" "This error does *not* mean that you have run out of disk space. It occurs " @@ -20430,7 +20959,7 @@ msgstr "" "Подробная информация о настройке разделяемой памяти содержится в " "документации PostgreSQL." -#: port/sysv_sema.c:159 +#: port/sysv_sema.c:155 #, c-format msgid "" "You possibly need to raise your kernel's SEMVMX value to be at least %d. " @@ -20467,14 +20996,14 @@ msgstr "аварийный дамп записан в файл\"%s\"\n" msgid "could not write crash dump to file \"%s\": error code %lu\n" msgstr "не удалось записать аварийный дамп в файл \"%s\" (код ошибки: %lu)\n" -#: port/win32/signal.c:206 +#: port/win32/signal.c:240 #, c-format msgid "could not create signal listener pipe for PID %d: error code %lu" msgstr "" "не удалось создать канал приёма сигналов для процесса с PID %d (код ошибки: " "%lu)" -#: port/win32/signal.c:261 +#: port/win32/signal.c:295 #, c-format msgid "could not create signal listener pipe: error code %lu; retrying\n" msgstr "" @@ -20501,8 +21030,8 @@ msgstr "не удалось разблокировать семафор (код msgid "could not try-lock semaphore: error code %lu" msgstr "не удалось попытаться заблокировать семафор (код ошибки: %lu)" -#: port/win32_shmem.c:144 port/win32_shmem.c:159 port/win32_shmem.c:171 -#: port/win32_shmem.c:187 +#: port/win32_shmem.c:146 port/win32_shmem.c:161 port/win32_shmem.c:173 +#: port/win32_shmem.c:189 #, c-format msgid "could not enable user right \"%s\": error code %lu" msgstr "не удалось активировать право пользователя \"%s\": код ошибки %lu" @@ -20510,23 +21039,23 @@ msgstr "не удалось активировать право пользова #. translator: This is a term from Windows and should be translated to #. match the Windows localization. #. -#: port/win32_shmem.c:150 port/win32_shmem.c:159 port/win32_shmem.c:171 -#: port/win32_shmem.c:182 port/win32_shmem.c:184 port/win32_shmem.c:187 +#: port/win32_shmem.c:152 port/win32_shmem.c:161 port/win32_shmem.c:173 +#: port/win32_shmem.c:184 port/win32_shmem.c:186 port/win32_shmem.c:189 msgid "Lock pages in memory" msgstr "Блокировка страниц в памяти" -#: port/win32_shmem.c:152 port/win32_shmem.c:160 port/win32_shmem.c:172 -#: port/win32_shmem.c:188 +#: port/win32_shmem.c:154 port/win32_shmem.c:162 port/win32_shmem.c:174 +#: port/win32_shmem.c:190 #, c-format msgid "Failed system call was %s." msgstr "Ошибка в системном вызове %s." -#: port/win32_shmem.c:182 +#: port/win32_shmem.c:184 #, c-format msgid "could not enable user right \"%s\"" msgstr "не удалось активировать право пользователя \"%s\"" -#: port/win32_shmem.c:183 +#: port/win32_shmem.c:185 #, c-format msgid "" "Assign user right \"%s\" to the Windows user account which runs PostgreSQL." @@ -20534,27 +21063,27 @@ msgstr "" "Назначьте право \"%s\" учётной записи пользователя, используемой для запуска " "PostgreSQL." -#: port/win32_shmem.c:241 +#: port/win32_shmem.c:244 #, c-format msgid "the processor does not support large pages" msgstr "процессор не поддерживает большие страницы" -#: port/win32_shmem.c:310 port/win32_shmem.c:346 port/win32_shmem.c:364 +#: port/win32_shmem.c:313 port/win32_shmem.c:349 port/win32_shmem.c:374 #, c-format msgid "could not create shared memory segment: error code %lu" msgstr "не удалось создать сегмент разделяемой памяти (код ошибки: %lu)" -#: port/win32_shmem.c:311 +#: port/win32_shmem.c:314 #, c-format msgid "Failed system call was CreateFileMapping(size=%zu, name=%s)." msgstr "Ошибка в системном вызове CreateFileMapping (размер=%zu, имя=%s)." -#: port/win32_shmem.c:336 +#: port/win32_shmem.c:339 #, c-format msgid "pre-existing shared memory block is still in use" msgstr "ранее созданный блок разделяемой памяти всё ещё используется" -#: port/win32_shmem.c:337 +#: port/win32_shmem.c:340 #, c-format msgid "" "Check if there are any old server processes still running, and terminate " @@ -20562,63 +21091,63 @@ msgid "" msgstr "" "Если по-прежнему работают какие-то старые серверные процессы, снимите их." -#: port/win32_shmem.c:347 +#: port/win32_shmem.c:350 #, c-format msgid "Failed system call was DuplicateHandle." msgstr "Ошибка в системном вызове DuplicateHandle." -#: port/win32_shmem.c:365 +#: port/win32_shmem.c:375 #, c-format msgid "Failed system call was MapViewOfFileEx." msgstr "Ошибка в системном вызове MapViewOfFileEx." -#: postmaster/autovacuum.c:404 +#: postmaster/autovacuum.c:417 #, c-format msgid "could not fork autovacuum launcher process: %m" msgstr "породить процесс запуска автоочистки не удалось: %m" -#: postmaster/autovacuum.c:752 +#: postmaster/autovacuum.c:764 #, c-format msgid "autovacuum worker took too long to start; canceled" msgstr "процесс автоочистки запускался слишком долго; его запуск отменён" -#: postmaster/autovacuum.c:1482 +#: postmaster/autovacuum.c:1489 #, c-format msgid "could not fork autovacuum worker process: %m" msgstr "не удалось породить рабочий процесс автоочистки: %m" # skip-rule: capital-letter-first -#: postmaster/autovacuum.c:2265 +#: postmaster/autovacuum.c:2334 #, c-format msgid "autovacuum: dropping orphan temp table \"%s.%s.%s\"" msgstr "автоочистка: удаление устаревшей врем. таблицы \"%s.%s.%s\"" -#: postmaster/autovacuum.c:2490 +#: postmaster/autovacuum.c:2570 #, c-format msgid "automatic vacuum of table \"%s.%s.%s\"" msgstr "автоматическая очистка таблицы \"%s.%s.%s\"" -#: postmaster/autovacuum.c:2493 +#: postmaster/autovacuum.c:2573 #, c-format msgid "automatic analyze of table \"%s.%s.%s\"" msgstr "автоматический анализ таблицы \"%s.%s.%s\"" -#: postmaster/autovacuum.c:2686 +#: postmaster/autovacuum.c:2767 #, c-format msgid "processing work entry for relation \"%s.%s.%s\"" msgstr "обработка рабочей записи для отношения \"%s.%s.%s\"" -#: postmaster/autovacuum.c:3297 +#: postmaster/autovacuum.c:3381 #, c-format msgid "autovacuum not started because of misconfiguration" msgstr "автоочистка не запущена из-за неправильной конфигурации" -#: postmaster/autovacuum.c:3298 +#: postmaster/autovacuum.c:3382 #, c-format msgid "Enable the \"track_counts\" option." msgstr "Включите параметр \"track_counts\"." -#: postmaster/bgworker.c:256 +#: postmaster/bgworker.c:259 #, c-format msgid "" "inconsistent background worker state (max_worker_processes=%d, " @@ -20627,7 +21156,7 @@ msgstr "" "несогласованное состояние фонового рабочего процесса " "(max_worker_processes=%d, total_slots=%d)" -#: postmaster/bgworker.c:666 +#: postmaster/bgworker.c:669 #, c-format msgid "" "background worker \"%s\": background workers without shared memory access " @@ -20636,7 +21165,7 @@ msgstr "" "фоновый процесс \"%s\": фоновые процессы, не обращающиеся к общей памяти, не " "поддерживаются" -#: postmaster/bgworker.c:677 +#: postmaster/bgworker.c:680 #, c-format msgid "" "background worker \"%s\": cannot request database access if starting at " @@ -20645,12 +21174,12 @@ msgstr "" "фоновый процесс \"%s\" не может получить доступ к БД, если он запущен при " "старте главного процесса" -#: postmaster/bgworker.c:691 +#: postmaster/bgworker.c:694 #, c-format msgid "background worker \"%s\": invalid restart interval" msgstr "фоновый процесс \"%s\": неправильный интервал перезапуска" -#: postmaster/bgworker.c:706 +#: postmaster/bgworker.c:709 #, c-format msgid "" "background worker \"%s\": parallel workers may not be configured for restart" @@ -20658,19 +21187,19 @@ msgstr "" "фоновый процесс \"%s\": параллельные исполнители не могут быть настроены для " "перезапуска" -#: postmaster/bgworker.c:730 tcop/postgres.c:3215 +#: postmaster/bgworker.c:733 tcop/postgres.c:3255 #, c-format msgid "terminating background worker \"%s\" due to administrator command" msgstr "завершение фонового процесса \"%s\" по команде администратора" -#: postmaster/bgworker.c:887 +#: postmaster/bgworker.c:890 #, c-format msgid "" "background worker \"%s\": must be registered in shared_preload_libraries" msgstr "" "фоновой процесс \"%s\" должен быть зарегистрирован в shared_preload_libraries" -#: postmaster/bgworker.c:899 +#: postmaster/bgworker.c:902 #, c-format msgid "" "background worker \"%s\": only dynamic background workers can request " @@ -20679,12 +21208,12 @@ msgstr "" "фоновый процесс \"%s\": только динамические фоновые процессы могут " "запрашивать уведомление" -#: postmaster/bgworker.c:914 +#: postmaster/bgworker.c:917 #, c-format msgid "too many background workers" msgstr "слишком много фоновых процессов" -#: postmaster/bgworker.c:915 +#: postmaster/bgworker.c:918 #, c-format msgid "Up to %d background worker can be registered with the current settings." msgid_plural "" @@ -20696,13 +21225,13 @@ msgstr[1] "" msgstr[2] "" "Максимально возможное число фоновых процессов при текущих параметрах: %d." -#: postmaster/bgworker.c:919 +#: postmaster/bgworker.c:922 #, c-format msgid "" "Consider increasing the configuration parameter \"max_worker_processes\"." msgstr "Возможно, стоит увеличить параметр \"max_worker_processes\"." -#: postmaster/checkpointer.c:432 +#: postmaster/checkpointer.c:431 #, c-format msgid "checkpoints are occurring too frequently (%d second apart)" msgid_plural "checkpoints are occurring too frequently (%d seconds apart)" @@ -20710,32 +21239,32 @@ msgstr[0] "контрольные точки происходят слишком msgstr[1] "контрольные точки происходят слишком часто (через %d сек.)" msgstr[2] "контрольные точки происходят слишком часто (через %d сек.)" -#: postmaster/checkpointer.c:436 +#: postmaster/checkpointer.c:435 #, c-format msgid "Consider increasing the configuration parameter \"max_wal_size\"." msgstr "Возможно, стоит увеличить параметр \"max_wal_size\"." -#: postmaster/checkpointer.c:1060 +#: postmaster/checkpointer.c:1059 #, c-format msgid "checkpoint request failed" msgstr "сбой при запросе контрольной точки" -#: postmaster/checkpointer.c:1061 +#: postmaster/checkpointer.c:1060 #, c-format msgid "Consult recent messages in the server log for details." msgstr "Смотрите подробности в протоколе сервера." -#: postmaster/pgarch.c:423 +#: postmaster/pgarch.c:416 #, c-format msgid "archive_mode enabled, yet archiving is not configured" msgstr "режим архивации включён, но архивирование ещё не настроено" -#: postmaster/pgarch.c:445 +#: postmaster/pgarch.c:438 #, c-format msgid "removed orphan archive status file \"%s\"" msgstr "удалён ненужный файл состояния архива \"%s\"" -#: postmaster/pgarch.c:455 +#: postmaster/pgarch.c:448 #, c-format msgid "" "removal of orphan archive status file \"%s\" failed too many times, will try " @@ -20744,7 +21273,7 @@ msgstr "" "удалить ненужный файл состояния архива \"%s\" не получилось много раз " "подряд; следующая попытка будет сделана позже" -#: postmaster/pgarch.c:491 +#: postmaster/pgarch.c:484 #, c-format msgid "" "archiving write-ahead log file \"%s\" failed too many times, will try again " @@ -20753,7 +21282,19 @@ msgstr "" "заархивировать файл журнала предзаписи \"%s\" не удалось много раз подряд; " "следующая попытка будет сделана позже" -#: postmaster/pgarch.c:798 +#: postmaster/pgarch.c:791 postmaster/pgarch.c:830 +#, c-format +msgid "both archive_command and archive_library set" +msgstr "archive_command и archive_library заданы одновременно" + +#: postmaster/pgarch.c:792 postmaster/pgarch.c:831 +#, c-format +msgid "Only one of archive_command, archive_library may be set." +msgstr "" +"Только один из параметров archive_command, archive_library может иметь " +"значение." + +#: postmaster/pgarch.c:809 #, c-format msgid "" "restarting archiver process because value of \"archive_library\" was changed" @@ -20761,46 +21302,46 @@ msgstr "" "процесс архиватора перезапускается, так как было изменено значение " "\"archive_library\"" -#: postmaster/pgarch.c:831 +#: postmaster/pgarch.c:846 #, c-format msgid "archive modules have to define the symbol %s" msgstr "в модулях архивирования должен объявляться символ %s" -#: postmaster/pgarch.c:837 +#: postmaster/pgarch.c:852 #, c-format msgid "archive modules must register an archive callback" msgstr "модули архивирования должны регистрировать обработчик вызова архивации" -#: postmaster/postmaster.c:744 +#: postmaster/postmaster.c:759 #, c-format msgid "%s: invalid argument for option -f: \"%s\"\n" msgstr "%s: неверный аргумент для параметра -f: \"%s\"\n" -#: postmaster/postmaster.c:823 +#: postmaster/postmaster.c:832 #, c-format msgid "%s: invalid argument for option -t: \"%s\"\n" msgstr "%s: неверный аргумент для параметра -t: \"%s\"\n" -#: postmaster/postmaster.c:874 +#: postmaster/postmaster.c:855 #, c-format msgid "%s: invalid argument: \"%s\"\n" msgstr "%s: неверный аргумент: \"%s\"\n" -#: postmaster/postmaster.c:942 +#: postmaster/postmaster.c:923 #, c-format msgid "" -"%s: superuser_reserved_connections (%d) must be less than max_connections " -"(%d)\n" +"%s: superuser_reserved_connections (%d) plus reserved_connections (%d) must " +"be less than max_connections (%d)\n" msgstr "" -"%s: значение superuser_reserved_connections (%d) должно быть меньше " -"max_connections (%d)\n" +"%s: значение superuser_reserved_connections (%d) плюс reserved_connections " +"(%d) должно быть меньше max_connections (%d)\n" -#: postmaster/postmaster.c:949 +#: postmaster/postmaster.c:931 #, c-format msgid "WAL archival cannot be enabled when wal_level is \"minimal\"" msgstr "Архивацию WAL нельзя включить, если установлен wal_level \"minimal\"" -#: postmaster/postmaster.c:952 +#: postmaster/postmaster.c:934 #, c-format msgid "" "WAL streaming (max_wal_senders > 0) requires wal_level \"replica\" or " @@ -20809,97 +21350,98 @@ msgstr "" "Для потоковой трансляции WAL (max_wal_senders > 0) wal_level должен быть " "\"replica\" или \"logical\"" -#: postmaster/postmaster.c:960 +#: postmaster/postmaster.c:942 #, c-format msgid "%s: invalid datetoken tables, please fix\n" msgstr "%s: ошибка в таблицах маркеров времени, требуется исправление\n" -#: postmaster/postmaster.c:1113 +#: postmaster/postmaster.c:1099 #, c-format msgid "could not create I/O completion port for child queue" msgstr "не удалось создать порт завершения ввода/вывода для очереди потомков" -#: postmaster/postmaster.c:1178 +#: postmaster/postmaster.c:1164 #, c-format msgid "ending log output to stderr" msgstr "завершение вывода в stderr" -#: postmaster/postmaster.c:1179 +#: postmaster/postmaster.c:1165 #, c-format msgid "Future log output will go to log destination \"%s\"." msgstr "В дальнейшем протокол будет выводиться в \"%s\"." -#: postmaster/postmaster.c:1190 +#: postmaster/postmaster.c:1176 #, c-format msgid "starting %s" msgstr "запускается %s" -#: postmaster/postmaster.c:1250 +#: postmaster/postmaster.c:1236 #, c-format msgid "could not create listen socket for \"%s\"" msgstr "не удалось создать принимающий сокет для \"%s\"" -#: postmaster/postmaster.c:1256 +#: postmaster/postmaster.c:1242 #, c-format msgid "could not create any TCP/IP sockets" msgstr "не удалось создать сокеты TCP/IP" -#: postmaster/postmaster.c:1288 +#: postmaster/postmaster.c:1274 #, c-format msgid "DNSServiceRegister() failed: error code %ld" msgstr "функция DNSServiceRegister() выдала ошибку с кодом %ld" -#: postmaster/postmaster.c:1340 +#: postmaster/postmaster.c:1325 #, c-format msgid "could not create Unix-domain socket in directory \"%s\"" msgstr "не удалось создать Unix-сокет в каталоге \"%s\"" -#: postmaster/postmaster.c:1346 +#: postmaster/postmaster.c:1331 #, c-format msgid "could not create any Unix-domain sockets" msgstr "ни один Unix-сокет создать не удалось" -#: postmaster/postmaster.c:1358 +#: postmaster/postmaster.c:1342 #, c-format msgid "no socket created for listening" msgstr "отсутствуют принимающие сокеты" -#: postmaster/postmaster.c:1389 +#: postmaster/postmaster.c:1373 #, c-format msgid "%s: could not change permissions of external PID file \"%s\": %s\n" msgstr "%s: не удалось поменять права для внешнего файла PID \"%s\": %s\n" -#: postmaster/postmaster.c:1393 +#: postmaster/postmaster.c:1377 #, c-format msgid "%s: could not write external PID file \"%s\": %s\n" msgstr "%s: не удалось записать внешний файл PID \"%s\": %s\n" -#: postmaster/postmaster.c:1420 utils/init/postinit.c:220 +#. translator: %s is a configuration file +#: postmaster/postmaster.c:1405 utils/init/postinit.c:221 #, c-format -msgid "could not load pg_hba.conf" -msgstr "не удалось загрузить pg_hba.conf" +msgid "could not load %s" +msgstr "не удалось загрузить %s" -#: postmaster/postmaster.c:1446 +#: postmaster/postmaster.c:1431 #, c-format msgid "postmaster became multithreaded during startup" msgstr "процесс postmaster стал многопоточным при запуске" -#: postmaster/postmaster.c:1447 +#: postmaster/postmaster.c:1432 #, c-format msgid "Set the LC_ALL environment variable to a valid locale." msgstr "Установите в переменной окружения LC_ALL правильную локаль." -#: postmaster/postmaster.c:1548 +#: postmaster/postmaster.c:1533 #, c-format msgid "%s: could not locate my own executable path" msgstr "%s: не удалось найти путь к собственному исполняемому файлу" -#: postmaster/postmaster.c:1555 +#: postmaster/postmaster.c:1540 #, c-format msgid "%s: could not locate matching postgres executable" msgstr "%s: подходящий исполняемый файл postgres не найден" -#: postmaster/postmaster.c:1578 utils/misc/tzparser.c:340 +#: postmaster/postmaster.c:1563 utils/misc/tzparser.c:340 #, c-format msgid "" "This may indicate an incomplete PostgreSQL installation, or that the file " @@ -20908,7 +21450,7 @@ msgstr "" "Возможно, PostgreSQL установлен не полностью или файла \"%s\" нет в " "положенном месте." -#: postmaster/postmaster.c:1605 +#: postmaster/postmaster.c:1590 #, c-format msgid "" "%s: could not find the database system\n" @@ -20919,45 +21461,41 @@ msgstr "" "Ожидалось найти её в каталоге \"%s\",\n" "но открыть файл \"%s\" не удалось: %s\n" -#: postmaster/postmaster.c:1782 -#, c-format -msgid "select() failed in postmaster: %m" -msgstr "сбой select() в postmaster'е: %m" - # well-spelled: неподчиняющимся -#: postmaster/postmaster.c:1913 +#. translator: %s is SIGKILL or SIGABRT +#: postmaster/postmaster.c:1887 #, c-format -msgid "issuing SIGKILL to recalcitrant children" -msgstr "неподчиняющимся потомкам посылается SIGKILL" +msgid "issuing %s to recalcitrant children" +msgstr "неподчиняющимся потомкам посылается %s" -#: postmaster/postmaster.c:1934 +#: postmaster/postmaster.c:1909 #, c-format msgid "" "performing immediate shutdown because data directory lock file is invalid" msgstr "" "немедленное отключение из-за ошибочного файла блокировки каталога данных" -#: postmaster/postmaster.c:2037 postmaster/postmaster.c:2065 +#: postmaster/postmaster.c:1984 postmaster/postmaster.c:2012 #, c-format msgid "incomplete startup packet" msgstr "неполный стартовый пакет" -#: postmaster/postmaster.c:2049 postmaster/postmaster.c:2082 +#: postmaster/postmaster.c:1996 postmaster/postmaster.c:2029 #, c-format msgid "invalid length of startup packet" msgstr "неверная длина стартового пакета" -#: postmaster/postmaster.c:2111 +#: postmaster/postmaster.c:2058 #, c-format msgid "failed to send SSL negotiation response: %m" msgstr "не удалось отправить ответ в процессе SSL-согласования: %m" -#: postmaster/postmaster.c:2129 +#: postmaster/postmaster.c:2076 #, c-format msgid "received unencrypted data after SSL request" msgstr "после запроса SSL получены незашифрованные данные" -#: postmaster/postmaster.c:2130 postmaster/postmaster.c:2174 +#: postmaster/postmaster.c:2077 postmaster/postmaster.c:2121 #, c-format msgid "" "This could be either a client-software bug or evidence of an attempted man-" @@ -20966,484 +21504,443 @@ msgstr "" "Это может свидетельствовать об ошибке в клиентском ПО или о попытке атаки " "MITM." -#: postmaster/postmaster.c:2155 +#: postmaster/postmaster.c:2102 #, c-format msgid "failed to send GSSAPI negotiation response: %m" msgstr "не удалось отправить ответ в процессе согласования GSSAPI: %m" -#: postmaster/postmaster.c:2173 +#: postmaster/postmaster.c:2120 #, c-format msgid "received unencrypted data after GSSAPI encryption request" msgstr "после запроса шифрования GSSAPI получены незашифрованные данные" -#: postmaster/postmaster.c:2197 +#: postmaster/postmaster.c:2144 #, c-format msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u" msgstr "" "неподдерживаемый протокол клиентского приложения %u.%u; сервер поддерживает " "%u.0 - %u.%u" -#: postmaster/postmaster.c:2261 utils/misc/guc.c:7400 utils/misc/guc.c:7436 -#: utils/misc/guc.c:7506 utils/misc/guc.c:8937 utils/misc/guc.c:11970 -#: utils/misc/guc.c:12011 -#, c-format -msgid "invalid value for parameter \"%s\": \"%s\"" -msgstr "неверное значение для параметра \"%s\": \"%s\"" - -#: postmaster/postmaster.c:2264 +#: postmaster/postmaster.c:2211 #, c-format msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"." msgstr "Допустимые значения: \"false\", 0, \"true\", 1, \"database\"." -#: postmaster/postmaster.c:2309 +#: postmaster/postmaster.c:2252 #, c-format msgid "invalid startup packet layout: expected terminator as last byte" msgstr "" "неверная структура стартового пакета: последним байтом должен быть терминатор" -#: postmaster/postmaster.c:2326 +#: postmaster/postmaster.c:2269 #, c-format msgid "no PostgreSQL user name specified in startup packet" msgstr "в стартовом пакете не указано имя пользователя PostgreSQL" -#: postmaster/postmaster.c:2390 +#: postmaster/postmaster.c:2333 #, c-format msgid "the database system is starting up" msgstr "система баз данных запускается" -#: postmaster/postmaster.c:2396 +#: postmaster/postmaster.c:2339 #, c-format msgid "the database system is not yet accepting connections" msgstr "система БД ещё не принимает подключения" -#: postmaster/postmaster.c:2397 +#: postmaster/postmaster.c:2340 #, c-format msgid "Consistent recovery state has not been yet reached." msgstr "Согласованное состояние восстановления ещё не достигнуто." -#: postmaster/postmaster.c:2401 +#: postmaster/postmaster.c:2344 #, c-format msgid "the database system is not accepting connections" msgstr "система БД не принимает подключения" -#: postmaster/postmaster.c:2402 +#: postmaster/postmaster.c:2345 #, c-format msgid "Hot standby mode is disabled." msgstr "Режим горячего резерва отключён." -#: postmaster/postmaster.c:2407 +#: postmaster/postmaster.c:2350 #, c-format msgid "the database system is shutting down" msgstr "система баз данных останавливается" -#: postmaster/postmaster.c:2412 +#: postmaster/postmaster.c:2355 #, c-format msgid "the database system is in recovery mode" msgstr "система баз данных в режиме восстановления" -#: postmaster/postmaster.c:2417 storage/ipc/procarray.c:490 -#: storage/ipc/sinvaladt.c:306 storage/lmgr/proc.c:359 +#: postmaster/postmaster.c:2360 storage/ipc/procarray.c:491 +#: storage/ipc/sinvaladt.c:306 storage/lmgr/proc.c:353 #, c-format msgid "sorry, too many clients already" msgstr "извините, уже слишком много клиентов" -#: postmaster/postmaster.c:2504 +#: postmaster/postmaster.c:2447 #, c-format msgid "wrong key in cancel request for process %d" msgstr "неправильный ключ в запросе на отмену процесса %d" -#: postmaster/postmaster.c:2516 +#: postmaster/postmaster.c:2459 #, c-format msgid "PID %d in cancel request did not match any process" msgstr "процесс с кодом %d, полученным в запросе на отмену, не найден" -#: postmaster/postmaster.c:2770 +#: postmaster/postmaster.c:2726 #, c-format msgid "received SIGHUP, reloading configuration files" msgstr "получен SIGHUP, файлы конфигурации перезагружаются" #. translator: %s is a configuration file -#: postmaster/postmaster.c:2794 postmaster/postmaster.c:2798 +#: postmaster/postmaster.c:2750 postmaster/postmaster.c:2754 #, c-format msgid "%s was not reloaded" msgstr "%s не был перезагружен" -#: postmaster/postmaster.c:2808 +#: postmaster/postmaster.c:2764 #, c-format msgid "SSL configuration was not reloaded" msgstr "конфигурация SSL не была перезагружена" -#: postmaster/postmaster.c:2864 +#: postmaster/postmaster.c:2854 #, c-format msgid "received smart shutdown request" msgstr "получен запрос на \"вежливое\" выключение" -#: postmaster/postmaster.c:2905 +#: postmaster/postmaster.c:2895 #, c-format msgid "received fast shutdown request" msgstr "получен запрос на быстрое выключение" -#: postmaster/postmaster.c:2923 +#: postmaster/postmaster.c:2913 #, c-format msgid "aborting any active transactions" msgstr "прерывание всех активных транзакций" -#: postmaster/postmaster.c:2947 +#: postmaster/postmaster.c:2937 #, c-format msgid "received immediate shutdown request" msgstr "получен запрос на немедленное выключение" -#: postmaster/postmaster.c:3024 +#: postmaster/postmaster.c:3013 #, c-format msgid "shutdown at recovery target" msgstr "выключение при достижении цели восстановления" -#: postmaster/postmaster.c:3042 postmaster/postmaster.c:3078 +#: postmaster/postmaster.c:3031 postmaster/postmaster.c:3067 msgid "startup process" msgstr "стартовый процесс" -#: postmaster/postmaster.c:3045 +#: postmaster/postmaster.c:3034 #, c-format msgid "aborting startup due to startup process failure" msgstr "прерывание запуска из-за ошибки в стартовом процессе" -#: postmaster/postmaster.c:3118 +#: postmaster/postmaster.c:3107 #, c-format msgid "database system is ready to accept connections" msgstr "система БД готова принимать подключения" -#: postmaster/postmaster.c:3139 +#: postmaster/postmaster.c:3128 msgid "background writer process" msgstr "процесс фоновой записи" -#: postmaster/postmaster.c:3186 +#: postmaster/postmaster.c:3175 msgid "checkpointer process" msgstr "процесс контрольных точек" -#: postmaster/postmaster.c:3202 +#: postmaster/postmaster.c:3191 msgid "WAL writer process" msgstr "процесс записи WAL" -#: postmaster/postmaster.c:3217 +#: postmaster/postmaster.c:3206 msgid "WAL receiver process" msgstr "процесс считывания WAL" -#: postmaster/postmaster.c:3232 +#: postmaster/postmaster.c:3221 msgid "autovacuum launcher process" msgstr "процесс запуска автоочистки" -#: postmaster/postmaster.c:3250 +#: postmaster/postmaster.c:3239 msgid "archiver process" msgstr "процесс архивации" -#: postmaster/postmaster.c:3263 +#: postmaster/postmaster.c:3252 msgid "system logger process" msgstr "процесс системного протоколирования" -#: postmaster/postmaster.c:3327 +#: postmaster/postmaster.c:3309 #, c-format msgid "background worker \"%s\"" msgstr "фоновый процесс \"%s\"" -#: postmaster/postmaster.c:3406 postmaster/postmaster.c:3426 -#: postmaster/postmaster.c:3433 postmaster/postmaster.c:3451 +#: postmaster/postmaster.c:3388 postmaster/postmaster.c:3408 +#: postmaster/postmaster.c:3415 postmaster/postmaster.c:3433 msgid "server process" msgstr "процесс сервера" -#: postmaster/postmaster.c:3505 +#: postmaster/postmaster.c:3487 #, c-format msgid "terminating any other active server processes" msgstr "завершение всех остальных активных серверных процессов" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3742 +#: postmaster/postmaster.c:3662 #, c-format msgid "%s (PID %d) exited with exit code %d" msgstr "%s (PID %d) завершился с кодом выхода %d" -#: postmaster/postmaster.c:3744 postmaster/postmaster.c:3756 -#: postmaster/postmaster.c:3766 postmaster/postmaster.c:3777 +#: postmaster/postmaster.c:3664 postmaster/postmaster.c:3676 +#: postmaster/postmaster.c:3686 postmaster/postmaster.c:3697 #, c-format msgid "Failed process was running: %s" msgstr "Завершившийся процесс выполнял действие: %s" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3753 +#: postmaster/postmaster.c:3673 #, c-format msgid "%s (PID %d) was terminated by exception 0x%X" msgstr "%s (PID %d) был прерван исключением 0x%X" -#: postmaster/postmaster.c:3755 postmaster/shell_archive.c:134 -#, c-format -msgid "" -"See C include file \"ntstatus.h\" for a description of the hexadecimal value." -msgstr "" -"Описание этого шестнадцатеричного значения ищите во включаемом C-файле " -"\"ntstatus.h\"" - #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3763 +#: postmaster/postmaster.c:3683 #, c-format msgid "%s (PID %d) was terminated by signal %d: %s" msgstr "%s (PID %d) был завершён по сигналу %d: %s" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3775 +#: postmaster/postmaster.c:3695 #, c-format msgid "%s (PID %d) exited with unrecognized status %d" msgstr "%s (PID %d) завершился с неизвестным кодом состояния %d" -#: postmaster/postmaster.c:3975 +#: postmaster/postmaster.c:3903 #, c-format msgid "abnormal database system shutdown" msgstr "аварийное выключение системы БД" -#: postmaster/postmaster.c:4001 +#: postmaster/postmaster.c:3929 #, c-format msgid "shutting down due to startup process failure" msgstr "сервер останавливается из-за ошибки в стартовом процессе" -#: postmaster/postmaster.c:4007 +#: postmaster/postmaster.c:3935 #, c-format msgid "shutting down because restart_after_crash is off" msgstr "сервер останавливается, так как параметр restart_after_crash равен off" -#: postmaster/postmaster.c:4019 +#: postmaster/postmaster.c:3947 #, c-format msgid "all server processes terminated; reinitializing" msgstr "все серверные процессы завершены... переинициализация" -#: postmaster/postmaster.c:4191 postmaster/postmaster.c:5527 -#: postmaster/postmaster.c:5925 +#: postmaster/postmaster.c:4141 postmaster/postmaster.c:5459 +#: postmaster/postmaster.c:5857 #, c-format msgid "could not generate random cancel key" msgstr "не удалось сгенерировать случайный ключ отмены" -#: postmaster/postmaster.c:4253 +#: postmaster/postmaster.c:4203 #, c-format msgid "could not fork new process for connection: %m" msgstr "породить новый процесс для соединения не удалось: %m" -#: postmaster/postmaster.c:4295 +#: postmaster/postmaster.c:4245 msgid "could not fork new process for connection: " msgstr "породить новый процесс для соединения не удалось: " -#: postmaster/postmaster.c:4401 +#: postmaster/postmaster.c:4351 #, c-format msgid "connection received: host=%s port=%s" msgstr "принято подключение: узел=%s порт=%s" -#: postmaster/postmaster.c:4406 +#: postmaster/postmaster.c:4356 #, c-format msgid "connection received: host=%s" msgstr "принято подключение: узел=%s" -#: postmaster/postmaster.c:4643 +#: postmaster/postmaster.c:4593 #, c-format msgid "could not execute server process \"%s\": %m" msgstr "запустить серверный процесс \"%s\" не удалось: %m" -#: postmaster/postmaster.c:4701 +#: postmaster/postmaster.c:4651 #, c-format msgid "could not create backend parameter file mapping: error code %lu" msgstr "" "создать отображение файла серверных параметров не удалось (код ошибки: %lu)" -#: postmaster/postmaster.c:4710 +#: postmaster/postmaster.c:4660 #, c-format msgid "could not map backend parameter memory: error code %lu" msgstr "" "отобразить файл серверных параметров в память не удалось (код ошибки: %lu)" -#: postmaster/postmaster.c:4737 +#: postmaster/postmaster.c:4687 #, c-format msgid "subprocess command line too long" msgstr "слишком длинная командная строка подпроцесса" -#: postmaster/postmaster.c:4755 +#: postmaster/postmaster.c:4705 #, c-format msgid "CreateProcess() call failed: %m (error code %lu)" msgstr "ошибка в CreateProcess(): %m (код ошибки: %lu)" -#: postmaster/postmaster.c:4782 +#: postmaster/postmaster.c:4732 #, c-format msgid "could not unmap view of backend parameter file: error code %lu" msgstr "" "отключить отображение файла серверных параметров не удалось (код ошибки: %lu)" -#: postmaster/postmaster.c:4786 +#: postmaster/postmaster.c:4736 #, c-format msgid "could not close handle to backend parameter file: error code %lu" msgstr "" "закрыть указатель файла серверных параметров не удалось (код ошибки: %lu)" -#: postmaster/postmaster.c:4808 +#: postmaster/postmaster.c:4758 #, c-format msgid "giving up after too many tries to reserve shared memory" msgstr "" "число повторных попыток резервирования разделяемой памяти достигло предела" -#: postmaster/postmaster.c:4809 +#: postmaster/postmaster.c:4759 #, c-format msgid "This might be caused by ASLR or antivirus software." msgstr "Это может быть вызвано антивирусным ПО или механизмом ASLR." -#: postmaster/postmaster.c:4990 +#: postmaster/postmaster.c:4932 #, c-format msgid "SSL configuration could not be loaded in child process" msgstr "не удалось загрузить конфигурацию SSL в дочерний процесс" -#: postmaster/postmaster.c:5115 +#: postmaster/postmaster.c:5057 #, c-format msgid "Please report this to <%s>." msgstr "Пожалуйста, напишите об этой ошибке по адресу <%s>." -#: postmaster/postmaster.c:5187 +#: postmaster/postmaster.c:5125 #, c-format msgid "database system is ready to accept read-only connections" msgstr "система БД готова принимать подключения в режиме \"только чтение\"" -#: postmaster/postmaster.c:5451 +#: postmaster/postmaster.c:5383 #, c-format msgid "could not fork startup process: %m" msgstr "породить стартовый процесс не удалось: %m" -#: postmaster/postmaster.c:5455 +#: postmaster/postmaster.c:5387 #, c-format msgid "could not fork archiver process: %m" msgstr "породить процесс архиватора не удалось: %m" -#: postmaster/postmaster.c:5459 +#: postmaster/postmaster.c:5391 #, c-format msgid "could not fork background writer process: %m" msgstr "породить процесс фоновой записи не удалось: %m" -#: postmaster/postmaster.c:5463 +#: postmaster/postmaster.c:5395 #, c-format msgid "could not fork checkpointer process: %m" msgstr "породить процесс контрольных точек не удалось: %m" -#: postmaster/postmaster.c:5467 +#: postmaster/postmaster.c:5399 #, c-format msgid "could not fork WAL writer process: %m" msgstr "породить процесс записи WAL не удалось: %m" -#: postmaster/postmaster.c:5471 +#: postmaster/postmaster.c:5403 #, c-format msgid "could not fork WAL receiver process: %m" msgstr "породить процесс считывания WAL не удалось: %m" -#: postmaster/postmaster.c:5475 +#: postmaster/postmaster.c:5407 #, c-format msgid "could not fork process: %m" msgstr "породить процесс не удалось: %m" -#: postmaster/postmaster.c:5676 postmaster/postmaster.c:5703 +#: postmaster/postmaster.c:5608 postmaster/postmaster.c:5635 #, c-format msgid "database connection requirement not indicated during registration" msgstr "" "при регистрации фонового процесса не указывалось, что ему требуется " "подключение к БД" -#: postmaster/postmaster.c:5687 postmaster/postmaster.c:5714 +#: postmaster/postmaster.c:5619 postmaster/postmaster.c:5646 #, c-format msgid "invalid processing mode in background worker" msgstr "неправильный режим обработки в фоновом процессе" -#: postmaster/postmaster.c:5799 +#: postmaster/postmaster.c:5731 #, c-format msgid "could not fork worker process: %m" msgstr "породить рабочий процесс не удалось: %m" -#: postmaster/postmaster.c:5911 +#: postmaster/postmaster.c:5843 #, c-format msgid "no slot available for new worker process" msgstr "для нового рабочего процесса не нашлось свободного слота" -#: postmaster/postmaster.c:6242 +#: postmaster/postmaster.c:6174 #, c-format msgid "could not duplicate socket %d for use in backend: error code %d" msgstr "" "продублировать сокет %d для серверного процесса не удалось (код ошибки: %d)" -#: postmaster/postmaster.c:6274 +#: postmaster/postmaster.c:6206 #, c-format msgid "could not create inherited socket: error code %d\n" msgstr "создать наследуемый сокет не удалось (код ошибки: %d)\n" -#: postmaster/postmaster.c:6303 +#: postmaster/postmaster.c:6235 #, c-format msgid "could not open backend variables file \"%s\": %s\n" msgstr "открыть файл серверных переменных \"%s\" не удалось: %s\n" -#: postmaster/postmaster.c:6310 +#: postmaster/postmaster.c:6242 #, c-format msgid "could not read from backend variables file \"%s\": %s\n" msgstr "прочитать файл серверных переменных \"%s\" не удалось: %s\n" -#: postmaster/postmaster.c:6319 +#: postmaster/postmaster.c:6251 #, c-format msgid "could not remove file \"%s\": %s\n" msgstr "не удалось стереть файл \"%s\": %s\n" -#: postmaster/postmaster.c:6336 +#: postmaster/postmaster.c:6268 #, c-format msgid "could not map view of backend variables: error code %lu\n" msgstr "отобразить файл серверных переменных не удалось (код ошибки: %lu)\n" -#: postmaster/postmaster.c:6345 +#: postmaster/postmaster.c:6277 #, c-format msgid "could not unmap view of backend variables: error code %lu\n" msgstr "" "отключить отображение файла серверных переменных не удалось (код ошибки: " "%lu)\n" -#: postmaster/postmaster.c:6352 +#: postmaster/postmaster.c:6284 #, c-format msgid "could not close handle to backend parameter variables: error code %lu\n" msgstr "" "закрыть указатель файла серверных переменных не удалось (код ошибки: %lu)\n" -#: postmaster/postmaster.c:6526 +#: postmaster/postmaster.c:6443 #, c-format msgid "could not read exit code for process\n" msgstr "прочитать код завершения процесса не удалось\n" -#: postmaster/postmaster.c:6531 +#: postmaster/postmaster.c:6485 #, c-format msgid "could not post child completion status\n" msgstr "отправить состояние завершения потомка не удалось\n" -#: postmaster/shell_archive.c:123 -#, c-format -msgid "archive command failed with exit code %d" -msgstr "команда архивации завершилась ошибкой с кодом %d" - -#: postmaster/shell_archive.c:125 postmaster/shell_archive.c:135 -#: postmaster/shell_archive.c:141 postmaster/shell_archive.c:150 -#, c-format -msgid "The failed archive command was: %s" -msgstr "Команда архивации с ошибкой: %s" - -#: postmaster/shell_archive.c:132 -#, c-format -msgid "archive command was terminated by exception 0x%X" -msgstr "команда архивации была прервана исключением 0x%X" - -#: postmaster/shell_archive.c:139 -#, c-format -msgid "archive command was terminated by signal %d: %s" -msgstr "команда архивации завершена по сигналу %d: %s" - -#: postmaster/shell_archive.c:148 -#, c-format -msgid "archive command exited with unrecognized status %d" -msgstr "команда архивации завершилась с неизвестным кодом состояния %d" - #: postmaster/syslogger.c:501 postmaster/syslogger.c:1222 #, c-format msgid "could not read from logger pipe: %m" @@ -21508,22 +22005,50 @@ msgstr "" "недетерминированные правила сортировки не поддерживаются для регулярных " "выражений" -#: replication/libpqwalreceiver/libpqwalreceiver.c:233 +#: replication/libpqwalreceiver/libpqwalreceiver.c:197 +#: replication/libpqwalreceiver/libpqwalreceiver.c:280 #, c-format -msgid "could not clear search path: %s" -msgstr "не удалось очистить путь поиска: %s" +msgid "password is required" +msgstr "требуется пароль" -#: replication/libpqwalreceiver/libpqwalreceiver.c:273 +#: replication/libpqwalreceiver/libpqwalreceiver.c:198 #, c-format -msgid "invalid connection string syntax: %s" +msgid "Non-superuser cannot connect if the server does not request a password." +msgstr "" +"Только суперпользователи могут подключаться к серверу, не требующему пароль." + +#: replication/libpqwalreceiver/libpqwalreceiver.c:199 +#, c-format +msgid "" +"Target server's authentication method must be changed, or set " +"password_required=false in the subscription parameters." +msgstr "" +"Необходимо сменить метод аутентификации на целевом сервере или задать " +"password_required=false в параметрах подписки." + +#: replication/libpqwalreceiver/libpqwalreceiver.c:211 +#, c-format +msgid "could not clear search path: %s" +msgstr "не удалось очистить путь поиска: %s" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:257 +#, c-format +msgid "invalid connection string syntax: %s" msgstr "ошибочный синтаксис строки подключения: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:299 +#: replication/libpqwalreceiver/libpqwalreceiver.c:281 +#, c-format +msgid "Non-superusers must provide a password in the connection string." +msgstr "" +"Пользователи, не являющиеся суперпользователями, должны задавать пароль в " +"строке соединения." + +#: replication/libpqwalreceiver/libpqwalreceiver.c:307 #, c-format msgid "could not parse connection string: %s" msgstr "не удалось разобрать строку подключения: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:372 +#: replication/libpqwalreceiver/libpqwalreceiver.c:380 #, c-format msgid "" "could not receive database system identifier and timeline ID from the " @@ -21532,13 +22057,13 @@ msgstr "" "не удалось получить идентификатор СУБД и код линии времени с главного " "сервера: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:384 -#: replication/libpqwalreceiver/libpqwalreceiver.c:622 +#: replication/libpqwalreceiver/libpqwalreceiver.c:392 +#: replication/libpqwalreceiver/libpqwalreceiver.c:635 #, c-format msgid "invalid response from primary server" msgstr "неверный ответ главного сервера" -#: replication/libpqwalreceiver/libpqwalreceiver.c:385 +#: replication/libpqwalreceiver/libpqwalreceiver.c:393 #, c-format msgid "" "Could not identify system: got %d rows and %d fields, expected %d rows and " @@ -21547,123 +22072,176 @@ msgstr "" "Не удалось идентифицировать систему, получено строк: %d, полей: %d " "(ожидалось: %d и %d (или более))." -#: replication/libpqwalreceiver/libpqwalreceiver.c:465 -#: replication/libpqwalreceiver/libpqwalreceiver.c:472 -#: replication/libpqwalreceiver/libpqwalreceiver.c:502 +#: replication/libpqwalreceiver/libpqwalreceiver.c:478 +#: replication/libpqwalreceiver/libpqwalreceiver.c:485 +#: replication/libpqwalreceiver/libpqwalreceiver.c:515 #, c-format msgid "could not start WAL streaming: %s" msgstr "не удалось начать трансляцию WAL: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:526 +#: replication/libpqwalreceiver/libpqwalreceiver.c:539 #, c-format msgid "could not send end-of-streaming message to primary: %s" msgstr "не удалось отправить главному серверу сообщение о конце передачи: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:549 +#: replication/libpqwalreceiver/libpqwalreceiver.c:562 #, c-format msgid "unexpected result set after end-of-streaming" msgstr "неожиданный набор данных после конца передачи" -#: replication/libpqwalreceiver/libpqwalreceiver.c:564 +#: replication/libpqwalreceiver/libpqwalreceiver.c:577 #, c-format msgid "error while shutting down streaming COPY: %s" msgstr "ошибка при остановке потоковой операции COPY: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:574 +#: replication/libpqwalreceiver/libpqwalreceiver.c:587 #, c-format msgid "error reading result of streaming command: %s" msgstr "ошибка при чтении результата команды передачи: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:583 -#: replication/libpqwalreceiver/libpqwalreceiver.c:821 +#: replication/libpqwalreceiver/libpqwalreceiver.c:596 +#: replication/libpqwalreceiver/libpqwalreceiver.c:832 #, c-format msgid "unexpected result after CommandComplete: %s" msgstr "неожиданный результат после CommandComplete: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:610 +#: replication/libpqwalreceiver/libpqwalreceiver.c:623 #, c-format msgid "could not receive timeline history file from the primary server: %s" msgstr "не удалось получить файл истории линии времени с главного сервера: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:623 +#: replication/libpqwalreceiver/libpqwalreceiver.c:636 #, c-format msgid "Expected 1 tuple with 2 fields, got %d tuples with %d fields." msgstr "Ожидался 1 кортеж с 2 полями, однако получено кортежей: %d, полей: %d." -#: replication/libpqwalreceiver/libpqwalreceiver.c:784 -#: replication/libpqwalreceiver/libpqwalreceiver.c:837 -#: replication/libpqwalreceiver/libpqwalreceiver.c:844 +#: replication/libpqwalreceiver/libpqwalreceiver.c:795 +#: replication/libpqwalreceiver/libpqwalreceiver.c:848 +#: replication/libpqwalreceiver/libpqwalreceiver.c:855 #, c-format msgid "could not receive data from WAL stream: %s" msgstr "не удалось получить данные из потока WAL: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:864 +#: replication/libpqwalreceiver/libpqwalreceiver.c:875 #, c-format msgid "could not send data to WAL stream: %s" msgstr "не удалось отправить данные в поток WAL: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:956 +#: replication/libpqwalreceiver/libpqwalreceiver.c:967 #, c-format msgid "could not create replication slot \"%s\": %s" msgstr "не удалось создать слот репликации \"%s\": %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1002 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1013 #, c-format msgid "invalid query response" msgstr "неверный ответ на запрос" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1003 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1014 #, c-format msgid "Expected %d fields, got %d fields." msgstr "Ожидалось полей: %d, получено: %d." -#: replication/libpqwalreceiver/libpqwalreceiver.c:1073 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1084 #, c-format msgid "the query interface requires a database connection" msgstr "для интерфейса запросов требуется подключение к БД" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1104 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1115 msgid "empty query" msgstr "пустой запрос" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1110 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1121 msgid "unexpected pipeline mode" msgstr "неожиданный режим канала" -#: replication/logical/launcher.c:285 +#: replication/logical/applyparallelworker.c:719 +#, c-format +msgid "" +"logical replication parallel apply worker for subscription \"%s\" has " +"finished" +msgstr "" +"параллельный применяющий процесс логической репликации для подписки \"%s\" " +"завершён" + +#: replication/logical/applyparallelworker.c:825 +#, c-format +msgid "lost connection to the logical replication apply worker" +msgstr "потеряна связь с применяющим процессом логической репликации" + +#: replication/logical/applyparallelworker.c:1027 +#: replication/logical/applyparallelworker.c:1029 +msgid "logical replication parallel apply worker" +msgstr "параллельный применяющий процесс логической репликации" + +#: replication/logical/applyparallelworker.c:1043 +#, c-format +msgid "logical replication parallel apply worker exited due to error" +msgstr "" +"параллельный применяющий процесс логической репликации завершён из-за ошибки" + +#: replication/logical/applyparallelworker.c:1130 +#: replication/logical/applyparallelworker.c:1303 +#, c-format +msgid "lost connection to the logical replication parallel apply worker" +msgstr "" +"потеряна связь с параллельным применяющим процессом логическим репликации" + +#: replication/logical/applyparallelworker.c:1183 +#, c-format +msgid "could not send data to shared-memory queue" +msgstr "не удалось передать данные в очередь в разделяемой памяти" + +#: 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 "" +"применяющий процесс логической репликации будет сериализовывать остальное " +"содержимое удалённой транзакции %u в файл" + +#: replication/logical/decode.c:180 replication/logical/logical.c:140 +#, c-format +msgid "" +"logical decoding on standby requires wal_level >= logical on the primary" +msgstr "" +"для логического декодирования на ведомом сервере требуется wal_level >= " +"logical на ведущем" + +#: replication/logical/launcher.c:331 #, c-format msgid "cannot start logical replication workers when max_replication_slots = 0" msgstr "" "нельзя запустить процессы-обработчики логической репликации при " "max_replication_slots = 0" -#: replication/logical/launcher.c:365 +#: replication/logical/launcher.c:424 #, c-format msgid "out of logical replication worker slots" msgstr "недостаточно слотов для процессов логической репликации" -#: replication/logical/launcher.c:366 +#: 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 #, c-format -msgid "You might need to increase max_logical_replication_workers." -msgstr "Возможно, следует увеличить параметр max_logical_replication_workers." +msgid "You might need to increase %s." +msgstr "Возможно, следует увеличить параметр %s." -#: replication/logical/launcher.c:422 +#: replication/logical/launcher.c:498 #, c-format msgid "out of background worker slots" msgstr "недостаточно слотов для фоновых рабочих процессов" -#: replication/logical/launcher.c:423 -#, c-format -msgid "You might need to increase max_worker_processes." -msgstr "Возможно, следует увеличить параметр max_worker_processes." - -#: replication/logical/launcher.c:577 +#: replication/logical/launcher.c:705 #, c-format msgid "logical replication worker slot %d is empty, cannot attach" msgstr "" "слот обработчика логической репликации %d пуст, подключиться к нему нельзя" -#: replication/logical/launcher.c:586 +#: replication/logical/launcher.c:714 #, c-format msgid "" "logical replication worker slot %d is already used by another worker, cannot " @@ -21672,33 +22250,28 @@ msgstr "" "слот обработчика логической репликации %d уже занят другим процессом, " "подключиться к нему нельзя" -#: replication/logical/logical.c:115 +#: replication/logical/logical.c:120 #, c-format msgid "logical decoding requires wal_level >= logical" msgstr "для логического декодирования требуется wal_level >= logical" -#: replication/logical/logical.c:120 +#: replication/logical/logical.c:125 #, c-format msgid "logical decoding requires a database connection" msgstr "для логического декодирования требуется подключение к БД" -#: replication/logical/logical.c:138 -#, c-format -msgid "logical decoding cannot be used while in recovery" -msgstr "логическое декодирование нельзя использовать в процессе восстановления" - -#: replication/logical/logical.c:348 replication/logical/logical.c:502 +#: replication/logical/logical.c:363 replication/logical/logical.c:517 #, c-format msgid "cannot use physical replication slot for logical decoding" msgstr "" "физический слот репликации нельзя использовать для логического декодирования" -#: replication/logical/logical.c:353 replication/logical/logical.c:507 +#: replication/logical/logical.c:368 replication/logical/logical.c:522 #, c-format msgid "replication slot \"%s\" was not created in this database" msgstr "слот репликации \"%s\" создан не в этой базе данных" -#: replication/logical/logical.c:360 +#: replication/logical/logical.c:375 #, c-format msgid "" "cannot create logical replication slot in transaction that has performed " @@ -21706,42 +22279,61 @@ msgid "" msgstr "" "нельзя создать слот логической репликации в транзакции, осуществляющей запись" -#: replication/logical/logical.c:570 +#: replication/logical/logical.c:534 replication/logical/logical.c:541 +#, c-format +msgid "can no longer get changes from replication slot \"%s\"" +msgstr "из слота репликации \"%s\" больше нельзя получать изменения" + +#: replication/logical/logical.c:536 +#, c-format +msgid "" +"This slot has been invalidated because it exceeded the maximum reserved size." +msgstr "" +"Этот слот был аннулирован из-за превышения максимального зарезервированного " +"размера." + +#: replication/logical/logical.c:543 +#, c-format +msgid "" +"This slot has been invalidated because it was conflicting with recovery." +msgstr "Этот слот был аннулирован из-за конфликта с восстановлением." + +#: replication/logical/logical.c:608 #, c-format msgid "starting logical decoding for slot \"%s\"" msgstr "начинается логическое декодирование для слота \"%s\"" -#: replication/logical/logical.c:572 +#: replication/logical/logical.c:610 #, c-format msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X." msgstr "Передача транзакций, фиксируемых после %X/%X, чтение WAL с %X/%X." -#: replication/logical/logical.c:720 +#: replication/logical/logical.c:758 #, 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:726 +#: replication/logical/logical.c:764 #, c-format msgid "slot \"%s\", output plugin \"%s\", in the %s callback" msgstr "слот \"%s\", модуль вывода \"%s\", в обработчике %s" -#: replication/logical/logical.c:897 replication/logical/logical.c:942 -#: replication/logical/logical.c:987 replication/logical/logical.c:1033 +#: replication/logical/logical.c:935 replication/logical/logical.c:980 +#: replication/logical/logical.c:1025 replication/logical/logical.c:1071 #, c-format msgid "logical replication at prepare time requires a %s callback" msgstr "для логической репликации во время подготовки требуется обработчик %s" -#: replication/logical/logical.c:1265 replication/logical/logical.c:1314 -#: replication/logical/logical.c:1355 replication/logical/logical.c:1441 -#: replication/logical/logical.c:1490 +#: 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 #, c-format msgid "logical streaming requires a %s callback" msgstr "для логической потоковой репликации требуется обработчик %s" -#: replication/logical/logical.c:1400 +#: replication/logical/logical.c:1438 #, c-format msgid "logical streaming at prepare time requires a %s callback" msgstr "" @@ -21768,25 +22360,14 @@ msgstr "массив должен быть одномерным" msgid "array must not contain nulls" msgstr "массив не должен содержать элементы null" -#: replication/logical/logicalfuncs.c:181 utils/adt/json.c:1128 -#: utils/adt/jsonb.c:1302 +#: replication/logical/logicalfuncs.c:180 utils/adt/json.c:1484 +#: utils/adt/jsonb.c:1403 #, c-format msgid "array must have even number of elements" msgstr "в массиве должно быть чётное число элементов" #: replication/logical/logicalfuncs.c:227 #, c-format -msgid "can no longer get changes from replication slot \"%s\"" -msgstr "из слота репликации \"%s\" больше нельзя получать изменения" - -#: replication/logical/logicalfuncs.c:229 replication/slotfuncs.c:616 -#, c-format -msgid "" -"This slot has never previously reserved WAL, or it has been invalidated." -msgstr "Для этого слота ранее не резервировался WAL либо слот был аннулирован." - -#: replication/logical/logicalfuncs.c:241 -#, c-format msgid "" "logical decoding output plugin \"%s\" produces binary output, but function " "\"%s\" expects textual data" @@ -21794,7 +22375,7 @@ msgstr "" "модуль вывода логического декодирования \"%s\" выдаёт двоичные данные, но " "функция \"%s\" ожидает текстовые" -#: replication/logical/origin.c:189 +#: replication/logical/origin.c:190 #, c-format msgid "" "cannot query or manipulate replication origin when max_replication_slots = 0" @@ -21802,64 +22383,64 @@ msgstr "" "запрашивать или модифицировать источники репликации при " "max_replication_slots = 0 нельзя" -#: replication/logical/origin.c:194 +#: replication/logical/origin.c:195 #, c-format msgid "cannot manipulate replication origins during recovery" msgstr "модифицировать источники репликации во время восстановления нельзя" -#: replication/logical/origin.c:228 +#: replication/logical/origin.c:240 #, c-format msgid "replication origin \"%s\" does not exist" msgstr "источник репликации \"%s\" не существует" -#: replication/logical/origin.c:319 +#: replication/logical/origin.c:331 #, c-format msgid "could not find free replication origin ID" msgstr "найти свободный ID для источника репликации не удалось" -#: replication/logical/origin.c:355 +#: replication/logical/origin.c:365 #, c-format msgid "could not drop replication origin with ID %d, in use by PID %d" msgstr "" "удалить источник репликации с ID %d нельзя, он используется процессом с PID " "%d" -#: replication/logical/origin.c:476 +#: replication/logical/origin.c:492 #, c-format msgid "replication origin with ID %d does not exist" msgstr "источник репликации с ID %d не существует" -#: replication/logical/origin.c:741 +#: replication/logical/origin.c:757 #, c-format msgid "replication checkpoint has wrong magic %u instead of %u" msgstr "" "контрольная точка репликации имеет неправильную сигнатуру (%u вместо %u)" -#: replication/logical/origin.c:782 +#: replication/logical/origin.c:798 #, c-format msgid "could not find free replication state, increase max_replication_slots" msgstr "" "не удалось найти свободную ячейку для состояния репликации, увеличьте " "max_replication_slots" -#: replication/logical/origin.c:790 +#: replication/logical/origin.c:806 #, c-format msgid "recovered replication state of node %d to %X/%X" msgstr "состояние репликации узла %d восстановлено до %X/%X" -#: replication/logical/origin.c:800 +#: replication/logical/origin.c:816 #, c-format msgid "replication slot checkpoint has wrong checksum %u, expected %u" msgstr "" "неверная контрольная сумма файла контрольной точки для слота репликации (%u " "вместо %u)" -#: replication/logical/origin.c:928 replication/logical/origin.c:1117 +#: replication/logical/origin.c:944 replication/logical/origin.c:1141 #, c-format msgid "replication origin with ID %d is already active for PID %d" msgstr "источник репликации с ID %d уже занят процессом с PID %d" -#: replication/logical/origin.c:939 replication/logical/origin.c:1129 +#: replication/logical/origin.c:955 replication/logical/origin.c:1153 #, c-format msgid "" "could not find free replication state slot for replication origin with ID %d" @@ -21867,44 +22448,47 @@ msgstr "" "не удалось найти свободный слот состояния репликации для источника " "репликации с ID %d" -#: replication/logical/origin.c:941 replication/logical/origin.c:1131 -#: replication/slot.c:1947 +#: replication/logical/origin.c:957 replication/logical/origin.c:1155 +#: replication/slot.c:2093 #, c-format msgid "Increase max_replication_slots and try again." msgstr "Увеличьте параметр max_replication_slots и повторите попытку." -#: replication/logical/origin.c:1088 +#: replication/logical/origin.c:1112 #, c-format msgid "cannot setup replication origin when one is already setup" msgstr "нельзя настроить источник репликации, когда он уже настроен" -#: replication/logical/origin.c:1168 replication/logical/origin.c:1380 -#: replication/logical/origin.c:1400 +#: replication/logical/origin.c:1196 replication/logical/origin.c:1412 +#: replication/logical/origin.c:1432 #, c-format msgid "no replication origin is configured" msgstr "ни один источник репликации не настроен" -#: replication/logical/origin.c:1251 +#: replication/logical/origin.c:1282 #, c-format msgid "replication origin name \"%s\" is reserved" msgstr "имя источника репликации \"%s\" зарезервировано" -#: replication/logical/origin.c:1253 +#: replication/logical/origin.c:1284 #, c-format -msgid "Origin names starting with \"pg_\" are reserved." -msgstr "Имена источников, начинающиеся с \"pg_\", зарезервированы." +msgid "" +"Origin names \"%s\", \"%s\", and names starting with \"pg_\" are reserved." +msgstr "" +"Имена источников \"%s\", \"%s\", а также имена, начинающиеся с \"pg_\", " +"зарезервированы." -#: replication/logical/relation.c:234 +#: replication/logical/relation.c:240 #, c-format msgid "\"%s\"" msgstr "\"%s\"" -#: replication/logical/relation.c:237 +#: replication/logical/relation.c:243 #, c-format msgid ", \"%s\"" msgstr ", \"%s\"" -#: replication/logical/relation.c:243 +#: replication/logical/relation.c:249 #, c-format msgid "" "logical replication target relation \"%s.%s\" is missing replicated column: " @@ -21922,7 +22506,7 @@ msgstr[2] "" "в целевом отношении логической репликации (\"%s.%s\") отсутствуют " "реплицируемые столбцы: %s" -#: replication/logical/relation.c:298 +#: replication/logical/relation.c:304 #, c-format msgid "" "logical replication target relation \"%s.%s\" uses system columns in REPLICA " @@ -21931,24 +22515,24 @@ msgstr "" "в целевом отношении логической репликации (\"%s.%s\") в индексе REPLICA " "IDENTITY используются системные столбцы" -#: replication/logical/relation.c:390 +#: replication/logical/relation.c:396 #, c-format msgid "logical replication target relation \"%s.%s\" does not exist" msgstr "целевое отношение логической репликации \"%s.%s\" не существует" -#: replication/logical/reorderbuffer.c:3831 +#: replication/logical/reorderbuffer.c:3936 #, c-format msgid "could not write to data file for XID %u: %m" msgstr "не удалось записать в файл данных для XID %u: %m" -#: replication/logical/reorderbuffer.c:4177 -#: replication/logical/reorderbuffer.c:4202 +#: replication/logical/reorderbuffer.c:4282 +#: replication/logical/reorderbuffer.c:4307 #, c-format msgid "could not read from reorderbuffer spill file: %m" msgstr "не удалось прочитать из файла подкачки буфера пересортировки: %m" -#: replication/logical/reorderbuffer.c:4181 -#: replication/logical/reorderbuffer.c:4206 +#: replication/logical/reorderbuffer.c:4286 +#: replication/logical/reorderbuffer.c:4311 #, c-format msgid "" "could not read from reorderbuffer spill file: read %d instead of %u bytes" @@ -21956,25 +22540,25 @@ msgstr "" "не удалось прочитать из файла подкачки буфера пересортировки (прочитано " "байт: %d, требовалось: %u)" -#: replication/logical/reorderbuffer.c:4456 +#: replication/logical/reorderbuffer.c:4561 #, c-format msgid "could not remove file \"%s\" during removal of pg_replslot/%s/xid*: %m" msgstr "" "ошибка при удалении файла \"%s\" в процессе удаления pg_replslot/%s/xid*: %m" -#: replication/logical/reorderbuffer.c:4955 +#: replication/logical/reorderbuffer.c:5057 #, c-format msgid "could not read from file \"%s\": read %d instead of %d bytes" msgstr "" "не удалось прочитать из файла \"%s\" (прочитано байт: %d, требовалось: %d)" -#: replication/logical/snapbuild.c:634 +#: replication/logical/snapbuild.c:639 #, c-format msgid "initial slot snapshot too large" msgstr "изначальный снимок слота слишком большой" # skip-rule: capital-letter-first -#: replication/logical/snapbuild.c:688 +#: replication/logical/snapbuild.c:693 #, c-format msgid "exported logical decoding snapshot: \"%s\" with %u transaction ID" msgid_plural "" @@ -21986,68 +22570,68 @@ msgstr[1] "" msgstr[2] "" "экспортирован снимок логического декодирования: \"%s\" (ид. транзакций: %u)" -#: replication/logical/snapbuild.c:1367 replication/logical/snapbuild.c:1474 -#: replication/logical/snapbuild.c:2003 +#: replication/logical/snapbuild.c:1388 replication/logical/snapbuild.c:1480 +#: replication/logical/snapbuild.c:1996 #, c-format msgid "logical decoding found consistent point at %X/%X" msgstr "процесс логического декодирования достиг точки согласованности в %X/%X" -#: replication/logical/snapbuild.c:1369 +#: replication/logical/snapbuild.c:1390 #, c-format msgid "There are no running transactions." msgstr "Больше активных транзакций нет." -#: replication/logical/snapbuild.c:1425 +#: replication/logical/snapbuild.c:1432 #, c-format msgid "logical decoding found initial starting point at %X/%X" msgstr "" "процесс логического декодирования нашёл начальную стартовую точку в %X/%X" -#: replication/logical/snapbuild.c:1427 replication/logical/snapbuild.c:1451 +#: replication/logical/snapbuild.c:1434 replication/logical/snapbuild.c:1458 #, c-format msgid "Waiting for transactions (approximately %d) older than %u to end." msgstr "Ожидание транзакций (примерно %d), старее %u до конца." -#: replication/logical/snapbuild.c:1449 +#: replication/logical/snapbuild.c:1456 #, c-format msgid "logical decoding found initial consistent point at %X/%X" msgstr "" "при логическом декодировании найдена начальная точка согласованности в %X/%X" -#: replication/logical/snapbuild.c:1476 +#: replication/logical/snapbuild.c:1482 #, c-format msgid "There are no old transactions anymore." msgstr "Больше старых транзакций нет." -#: replication/logical/snapbuild.c:1871 +#: replication/logical/snapbuild.c:1883 #, c-format msgid "snapbuild state file \"%s\" has wrong magic number: %u instead of %u" msgstr "" "файл состояния snapbuild \"%s\" имеет неправильную сигнатуру (%u вместо %u)" -#: replication/logical/snapbuild.c:1877 +#: replication/logical/snapbuild.c:1889 #, c-format msgid "snapbuild state file \"%s\" has unsupported version: %u instead of %u" msgstr "" "файл состояния snapbuild \"%s\" имеет неправильную версию (%u вместо %u)" -#: replication/logical/snapbuild.c:1948 +#: replication/logical/snapbuild.c:1930 #, c-format msgid "checksum mismatch for snapbuild state file \"%s\": is %u, should be %u" msgstr "" "в файле состояния snapbuild \"%s\" неверная контрольная сумма (%u вместо %u)" -#: replication/logical/snapbuild.c:2005 +#: replication/logical/snapbuild.c:1998 #, c-format msgid "Logical decoding will begin using saved snapshot." msgstr "Логическое декодирование начнётся с сохранённого снимка." -#: replication/logical/snapbuild.c:2077 +#: replication/logical/snapbuild.c:2105 #, c-format msgid "could not parse file name \"%s\"" msgstr "не удалось разобрать имя файла \"%s\"" -#: replication/logical/tablesync.c:151 +#: replication/logical/tablesync.c:153 #, c-format msgid "" "logical replication table synchronization worker for subscription \"%s\", " @@ -22056,7 +22640,7 @@ msgstr "" "процесс синхронизации таблицы при логической репликации для подписки \"%s\", " "таблицы \"%s\" закончил обработку" -#: replication/logical/tablesync.c:422 +#: replication/logical/tablesync.c:622 #, c-format msgid "" "logical replication apply worker for subscription \"%s\" will restart so " @@ -22065,25 +22649,25 @@ msgstr "" "применяющий процесс логической репликации для подписки \"%s\" будет " "перезапущен, чтобы можно было включить режим two_phase" -#: replication/logical/tablesync.c:731 replication/logical/tablesync.c:872 +#: replication/logical/tablesync.c:797 replication/logical/tablesync.c:939 #, c-format msgid "could not fetch table info for table \"%s.%s\" from publisher: %s" msgstr "" "не удалось получить информацию о таблице \"%s.%s\" с сервера публикации: %s" -#: replication/logical/tablesync.c:738 +#: replication/logical/tablesync.c:804 #, c-format msgid "table \"%s.%s\" not found on publisher" msgstr "таблица \"%s.%s\" не найдена на сервере публикации" -#: replication/logical/tablesync.c:795 +#: replication/logical/tablesync.c:862 #, c-format msgid "could not fetch column list info for table \"%s.%s\" from publisher: %s" msgstr "" "не удалось получить информацию о списке столбцов таблицы \"%s.%s\" с сервера " "публикации: %s" -#: replication/logical/tablesync.c:974 +#: replication/logical/tablesync.c:1041 #, c-format msgid "" "could not fetch table WHERE clause info for table \"%s.%s\" from publisher: " @@ -22092,56 +22676,65 @@ msgstr "" "не удалось получить информацию о предложении WHERE таблицы \"%s.%s\" с " "сервера публикации: %s" -#: replication/logical/tablesync.c:1111 +#: replication/logical/tablesync.c:1192 #, c-format msgid "could not start initial contents copy for table \"%s.%s\": %s" msgstr "" "не удалось начать копирование начального содержимого таблицы \"%s.%s\": %s" -#: replication/logical/tablesync.c:1323 replication/logical/worker.c:1635 -#, c-format -msgid "" -"user \"%s\" cannot replicate into relation with row-level security enabled: " -"\"%s\"" -msgstr "" -"пользователь \"%s\" не может реплицировать данные в отношение с включённой " -"защитой на уровне строк: \"%s\"" - -#: replication/logical/tablesync.c:1338 +#: replication/logical/tablesync.c:1393 #, c-format msgid "table copy could not start transaction on publisher: %s" msgstr "" "при копировании таблицы не удалось начать транзакцию на сервере публикации: " "%s" -#: replication/logical/tablesync.c:1380 +#: replication/logical/tablesync.c:1435 #, c-format msgid "replication origin \"%s\" already exists" msgstr "источник репликации \"%s\" уже существует" -#: replication/logical/tablesync.c:1393 +#: replication/logical/tablesync.c:1468 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:1481 #, c-format msgid "table copy could not finish transaction on publisher: %s" msgstr "" "при копировании таблицы не удалось завершить транзакцию на сервере " "публикации: %s" -#: replication/logical/worker.c:671 replication/logical/worker.c:786 +#: replication/logical/worker.c:499 #, c-format -msgid "incorrect binary data format in logical replication column %d" +msgid "" +"logical replication parallel apply worker for subscription \"%s\" will stop" msgstr "" -"неправильный формат двоичных данных для столбца логической репликации %d" +"параллельный применяющий процесс логической репликации для подписки \"%s\" " +"будет остановлен" -#: replication/logical/worker.c:1417 replication/logical/worker.c:1432 +#: replication/logical/worker.c:501 #, c-format msgid "" -"could not read from streaming transaction's changes file \"%s\": read only " -"%zu of %zu bytes" +"Cannot handle streamed replication transactions using parallel apply workers " +"until all tables have been synchronized." +msgstr "" +"Параллельные применяющие процессы не могут использоваться для обработки " +"транзакций репликации, передаваемых в потоке, пока все таблицы не " +"синхронизированы." + +#: replication/logical/worker.c:863 replication/logical/worker.c:978 +#, c-format +msgid "incorrect binary data format in logical replication column %d" msgstr "" -"не удалось прочитать файл изменений потоковых транзакций \"%s\" (прочитано " -"байт: %zu из %zu)" +"неправильный формат двоичных данных для столбца логической репликации %d" -#: replication/logical/worker.c:1761 +#: replication/logical/worker.c:2513 #, c-format msgid "" "publisher did not send replica identity column expected by the logical " @@ -22150,7 +22743,7 @@ msgstr "" "сервер публикации не передал столбец идентификации реплики, ожидаемый для " "целевого отношения логической репликации \"%s.%s\"" -#: replication/logical/worker.c:1768 +#: replication/logical/worker.c:2520 #, c-format msgid "" "logical replication target relation \"%s.%s\" has neither REPLICA IDENTITY " @@ -22161,76 +22754,76 @@ msgstr "" "IDENTITY, ни ключа PRIMARY KEY, и публикуемое отношение не имеет " "характеристики REPLICA IDENTITY FULL" -#: replication/logical/worker.c:2582 +#: replication/logical/worker.c:3384 #, c-format -msgid "invalid logical replication message type \"%c\"" -msgstr "неверный тип сообщения логической репликации \"%c\"" +msgid "invalid logical replication message type \"??? (%d)\"" +msgstr "неверный тип сообщения логической репликации \"??? (%d)\"" -#: replication/logical/worker.c:2746 +#: replication/logical/worker.c:3556 #, c-format msgid "data stream from publisher has ended" msgstr "поток данных с сервера публикации закончился" -#: replication/logical/worker.c:2897 +#: replication/logical/worker.c:3713 #, c-format msgid "terminating logical replication worker due to timeout" msgstr "завершение обработчика логической репликации из-за тайм-аута" -#: replication/logical/worker.c:3059 +#: replication/logical/worker.c:3907 #, c-format msgid "" -"logical replication apply worker for subscription \"%s\" will stop because " -"the subscription was removed" +"logical replication worker for subscription \"%s\" will stop because the " +"subscription was removed" msgstr "" -"применяющий процесс логической репликации для подписки \"%s\" будет " -"остановлен, так как подписка была удалена" +"процесс логической репликации для подписки \"%s\" будет остановлен, так как " +"подписка была удалена" -#: replication/logical/worker.c:3070 +#: replication/logical/worker.c:3920 #, c-format msgid "" -"logical replication apply worker for subscription \"%s\" will stop because " -"the subscription was disabled" +"logical replication worker for subscription \"%s\" will stop because the " +"subscription was disabled" msgstr "" -"применяющий процесс логической репликации для подписки \"%s\" будет " -"остановлен, так как подписка была отключена" +"процесс логической репликации для подписки \"%s\" будет остановлен, так как " +"подписка была отключена" -#: replication/logical/worker.c:3096 +#: replication/logical/worker.c:3951 #, c-format msgid "" -"logical replication apply worker for subscription \"%s\" will restart " +"logical replication parallel apply worker for subscription \"%s\" will stop " "because of a parameter change" msgstr "" -"применяющий процесс логической репликации для подписки \"%s\" будет " -"перезапущен вследствие изменения параметров" +"параллельный применяющий процесс логической репликации для подписки \"%s\" " +"будет остановлен вследствие изменения параметров" -#: replication/logical/worker.c:3220 replication/logical/worker.c:3245 +#: replication/logical/worker.c:3955 #, c-format msgid "" -"could not read from streaming transaction's subxact file \"%s\": read only " -"%zu of %zu bytes" +"logical replication worker for subscription \"%s\" will restart because of a " +"parameter change" msgstr "" -"не удалось прочитать файл потоковых подтранзакций \"%s\" (прочитано байт: " -"%zu из %zu)" +"процесс логической репликации для подписки \"%s\" будет перезапущен " +"вследствие изменения параметров" -#: replication/logical/worker.c:3645 +#: replication/logical/worker.c:4478 #, c-format msgid "" -"logical replication apply worker for subscription %u will not start because " -"the subscription was removed during startup" +"logical replication worker for subscription %u will not start because the " +"subscription was removed during startup" msgstr "" -"применяющий процесс логической репликации для подписки %u не будет запущен, " -"так как подписка была удалена при старте" +"процесс логической репликации для подписки %u не будет запущен, так как " +"подписка была удалена при старте" -#: replication/logical/worker.c:3657 +#: replication/logical/worker.c:4493 #, c-format msgid "" -"logical replication apply worker for subscription \"%s\" will not start " -"because the subscription was disabled during startup" +"logical replication worker for subscription \"%s\" will not start because " +"the subscription was disabled during startup" msgstr "" -"применяющий процесс логической репликации для подписки \"%s\" не будет " -"запущен, так как подписка была отключена при старте" +"процесс логической репликации для подписки \"%s\" не будет запущен, так как " +"подписка была отключена при старте" -#: replication/logical/worker.c:3675 +#: replication/logical/worker.c:4510 #, c-format msgid "" "logical replication table synchronization worker for subscription \"%s\", " @@ -22239,40 +22832,40 @@ msgstr "" "процесс синхронизации таблицы при логической репликации для подписки \"%s\", " "таблицы \"%s\" запущен" -#: replication/logical/worker.c:3679 +#: replication/logical/worker.c:4515 #, c-format msgid "logical replication apply worker for subscription \"%s\" has started" msgstr "" "запускается применяющий процесс логической репликации для подписки \"%s\"" -#: replication/logical/worker.c:3720 +#: replication/logical/worker.c:4590 #, c-format msgid "subscription has no replication slot set" msgstr "для подписки не задан слот репликации" -#: replication/logical/worker.c:3856 +#: replication/logical/worker.c:4757 #, c-format msgid "subscription \"%s\" has been disabled because of an error" msgstr "подписка \"%s\" была отключена из-за ошибки" -#: replication/logical/worker.c:3895 +#: replication/logical/worker.c:4805 #, c-format msgid "logical replication starts skipping transaction at LSN %X/%X" msgstr "" "обработчик логической репликации начинает пропускать транзакцию с LSN %X/%X" -#: replication/logical/worker.c:3909 +#: replication/logical/worker.c:4819 #, c-format msgid "logical replication completed skipping transaction at LSN %X/%X" msgstr "" "обработчик логической репликации завершил пропуск транзакции с LSN %X/%X" -#: replication/logical/worker.c:3991 +#: replication/logical/worker.c:4901 #, c-format msgid "skip-LSN of subscription \"%s\" cleared" msgstr "значение skip-LSN для подписки \"%s\" очищено" -#: replication/logical/worker.c:3992 +#: replication/logical/worker.c:4902 #, c-format msgid "" "Remote transaction's finish WAL location (LSN) %X/%X did not match skip-LSN " @@ -22281,7 +22874,7 @@ msgstr "" "Позиция завершения удалённой транзакции в WAL (LSN) %X/%X не совпала со " "значением skip-LSN %X/%X." -#: replication/logical/worker.c:4018 +#: replication/logical/worker.c:4928 #, c-format msgid "" "processing remote data for replication origin \"%s\" during message type " @@ -22290,7 +22883,7 @@ msgstr "" "обработка внешних данных для источника репликации \"%s\" в контексте " "сообщения типа \"%s\"" -#: replication/logical/worker.c:4022 +#: replication/logical/worker.c:4932 #, c-format msgid "" "processing remote data for replication origin \"%s\" during message type " @@ -22299,16 +22892,26 @@ msgstr "" "обработка внешних данных из источника репликации \"%s\" в контексте " "сообщения типа \"%s\" в транзакции %u" -#: replication/logical/worker.c:4027 +#: 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 "" "обработка внешних данных для источника репликации \"%s\" в контексте " -"сообщения типа \"%s\" в транзакции %u завершена в %X/%X" +"сообщения типа \"%s\" в транзакции %u, конечная позиция %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 "" +"обработка внешних данных для источника репликации \"%s\" в контексте " +"сообщения типа \"%s\" для целевого отношения репликации \"%s.%s\" в " +"транзакции %u" -#: replication/logical/worker.c:4034 +#: replication/logical/worker.c:4955 #, c-format msgid "" "processing remote data for replication origin \"%s\" during message type " @@ -22317,9 +22920,20 @@ msgid "" msgstr "" "обработка внешних данных для источника репликации \"%s\" в контексте " "сообщения типа \"%s\" для целевого отношения репликации \"%s.%s\" в " -"транзакции %u завершена в %X/%X" +"транзакции %u, конечная позиция %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 "" +"обработка внешних данных для источника репликации \"%s\" в контексте " +"сообщения типа \"%s\" для целевого отношения репликации \"%s.%s\", столбца " +"\"%s\", в транзакции %u" -#: replication/logical/worker.c:4042 +#: replication/logical/worker.c:4974 #, c-format msgid "" "processing remote data for replication origin \"%s\" during message type " @@ -22328,41 +22942,45 @@ msgid "" msgstr "" "обработка внешних данных для источника репликации \"%s\" в контексте " "сообщения типа \"%s\" для целевого отношения репликации \"%s.%s\", столбца " -"\"%s\", в транзакции %u завершена в %X/%X" +"\"%s\", в транзакции %u, конечная позиция %X/%X" -#: replication/pgoutput/pgoutput.c:319 +#: replication/pgoutput/pgoutput.c:318 #, c-format msgid "invalid proto_version" msgstr "неверное значение proto_version" -#: replication/pgoutput/pgoutput.c:324 +#: replication/pgoutput/pgoutput.c:323 #, c-format msgid "proto_version \"%s\" out of range" msgstr "значение proto_verson \"%s\" вне диапазона" -#: replication/pgoutput/pgoutput.c:341 +#: replication/pgoutput/pgoutput.c:340 #, c-format msgid "invalid publication_names syntax" msgstr "неверный синтаксис publication_names" -#: replication/pgoutput/pgoutput.c:425 +#: replication/pgoutput/pgoutput.c:443 #, c-format -msgid "client sent proto_version=%d but we only support protocol %d or lower" +msgid "" +"client sent proto_version=%d but server only supports protocol %d or lower" msgstr "" -"клиент передал proto_version=%d, но мы поддерживаем только протокол %d и ниже" +"клиент передал proto_version=%d, но сервер поддерживает только протокол %d и " +"ниже" -#: replication/pgoutput/pgoutput.c:431 +#: replication/pgoutput/pgoutput.c:449 #, c-format -msgid "client sent proto_version=%d but we only support protocol %d or higher" +msgid "" +"client sent proto_version=%d but server only supports protocol %d or higher" msgstr "" -"клиент передал proto_version=%d, но мы поддерживает только протокол %d и выше" +"клиент передал proto_version=%d, но сервер поддерживает только протокол %d и " +"выше" -#: replication/pgoutput/pgoutput.c:437 +#: replication/pgoutput/pgoutput.c:455 #, c-format msgid "publication_names parameter missing" msgstr "отсутствует параметр publication_names" -#: replication/pgoutput/pgoutput.c:450 +#: replication/pgoutput/pgoutput.c:469 #, c-format msgid "" "requested proto_version=%d does not support streaming, need %d or higher" @@ -22370,12 +22988,21 @@ msgstr "" "запрошенная версия proto_version=%d не поддерживает потоковую передачу, " "требуется версия %d или выше" -#: replication/pgoutput/pgoutput.c:455 +#: replication/pgoutput/pgoutput.c:475 +#, c-format +msgid "" +"requested proto_version=%d does not support parallel streaming, need %d or " +"higher" +msgstr "" +"запрошенная версия proto_version=%d не поддерживает параллельную потоковую " +"передачу, требуется версия %d или выше" + +#: replication/pgoutput/pgoutput.c:480 #, c-format msgid "streaming requested, but not supported by output plugin" msgstr "запрошена потоковая передача, но она не поддерживается модулем вывода" -#: replication/pgoutput/pgoutput.c:472 +#: replication/pgoutput/pgoutput.c:497 #, c-format msgid "" "requested proto_version=%d does not support two-phase commit, need %d or " @@ -22384,27 +23011,27 @@ msgstr "" "запрошенная версия proto_version=%d не поддерживает двухфазную фиксацию, " "требуется версия %d или выше" -#: replication/pgoutput/pgoutput.c:477 +#: replication/pgoutput/pgoutput.c:502 #, c-format msgid "two-phase commit requested, but not supported by output plugin" msgstr "запрошена двухфазная фиксация, но она не поддерживается модулем вывода" -#: replication/slot.c:205 +#: replication/slot.c:207 #, c-format msgid "replication slot name \"%s\" is too short" msgstr "имя слота репликации \"%s\" слишком короткое" -#: replication/slot.c:214 +#: replication/slot.c:216 #, c-format msgid "replication slot name \"%s\" is too long" msgstr "имя слота репликации \"%s\" слишком длинное" -#: replication/slot.c:227 +#: replication/slot.c:229 #, c-format msgid "replication slot name \"%s\" contains invalid character" msgstr "имя слота репликации \"%s\" содержит недопустимый символ" -#: replication/slot.c:229 +#: replication/slot.c:231 #, c-format msgid "" "Replication slot names may only contain lower case letters, numbers, and the " @@ -22413,133 +23040,159 @@ msgstr "" "Имя слота репликации может содержать только буквы в нижнем регистре, цифры и " "знак подчёркивания." -#: replication/slot.c:283 +#: replication/slot.c:285 #, c-format msgid "replication slot \"%s\" already exists" msgstr "слот репликации \"%s\" уже существует" -#: replication/slot.c:293 +#: replication/slot.c:295 #, c-format msgid "all replication slots are in use" msgstr "используются все слоты репликации" -#: replication/slot.c:294 +#: replication/slot.c:296 #, c-format msgid "Free one or increase max_replication_slots." msgstr "Освободите ненужные или увеличьте параметр max_replication_slots." -#: replication/slot.c:472 replication/slotfuncs.c:727 -#: utils/activity/pgstat_replslot.c:55 utils/adt/genfile.c:704 +#: replication/slot.c:474 replication/slotfuncs.c:736 +#: utils/activity/pgstat_replslot.c:55 utils/adt/genfile.c:774 #, c-format msgid "replication slot \"%s\" does not exist" msgstr "слот репликации \"%s\" не существует" -#: replication/slot.c:518 replication/slot.c:1093 +#: replication/slot.c:520 replication/slot.c:1110 #, c-format msgid "replication slot \"%s\" is active for PID %d" msgstr "слот репликации \"%s\" занят процессом с PID %d" -#: replication/slot.c:754 replication/slot.c:1499 replication/slot.c:1882 +#: replication/slot.c:756 replication/slot.c:1645 replication/slot.c:2028 #, c-format msgid "could not remove directory \"%s\"" msgstr "ошибка при удалении каталога \"%s\"" -#: replication/slot.c:1128 +#: replication/slot.c:1145 #, c-format msgid "replication slots can only be used if max_replication_slots > 0" msgstr "" "слоты репликации можно использовать, только если max_replication_slots > 0" -#: replication/slot.c:1133 +#: replication/slot.c:1150 #, c-format msgid "replication slots can only be used if wal_level >= replica" msgstr "слоты репликации можно использовать, только если wal_level >= replica" -#: replication/slot.c:1145 +#: replication/slot.c:1162 +#, c-format +msgid "permission denied to use replication slots" +msgstr "нет прав для использования слотов репликации" + +#: replication/slot.c:1163 +#, c-format +msgid "Only roles with the %s attribute may use replication slots." +msgstr "Использовать слоты репликации могут только роли с атрибутом %s." + +#: replication/slot.c:1271 +#, c-format +msgid "The slot's restart_lsn %X/%X exceeds the limit by %llu byte." +msgid_plural "The slot's restart_lsn %X/%X exceeds the limit by %llu bytes." +msgstr[0] "Позиция restart_lsn %X/%X слота превысила предел на %llu Б." +msgstr[1] "Позиция restart_lsn %X/%X слота превысила предел на %llu Б." +msgstr[2] "Позиция restart_lsn %X/%X слота превысила предел на %llu Б." + +#: replication/slot.c:1279 #, c-format -msgid "must be superuser or replication role to use replication slots" +msgid "The slot conflicted with xid horizon %u." +msgstr "Слот конфликтует с горизонтом xid %u." + +#: replication/slot.c:1284 +msgid "" +"Logical decoding on standby requires wal_level >= logical on the primary " +"server." msgstr "" -"для использования слотов репликации требуется роль репликации или права " -"суперпользователя" +"Для логического декодирования на ведомом сервере требуется wal_level >= " +"logical на ведущем." -#: replication/slot.c:1330 +#: replication/slot.c:1292 #, c-format msgid "terminating process %d to release replication slot \"%s\"" msgstr "завершение процесса %d для освобождения слота репликации \"%s\"" -#: replication/slot.c:1368 +#: replication/slot.c:1294 #, c-format -msgid "" -"invalidating slot \"%s\" because its restart_lsn %X/%X exceeds " -"max_slot_wal_keep_size" -msgstr "" -"слот \"%s\" аннулируется, так как его позиция restart_lsn %X/%X превышает " -"max_slot_wal_keep_size" +msgid "invalidating obsolete replication slot \"%s\"" +msgstr "аннулирование устаревшего слота репликации \"%s\"" -#: replication/slot.c:1820 +#: replication/slot.c:1966 #, c-format msgid "replication slot file \"%s\" has wrong magic number: %u instead of %u" msgstr "" "файл слота репликации \"%s\" имеет неправильную сигнатуру (%u вместо %u)" -#: replication/slot.c:1827 +#: replication/slot.c:1973 #, c-format msgid "replication slot file \"%s\" has unsupported version %u" msgstr "файл состояния snapbuild \"%s\" имеет неподдерживаемую версию %u" -#: replication/slot.c:1834 +#: replication/slot.c:1980 #, c-format msgid "replication slot file \"%s\" has corrupted length %u" msgstr "у файла слота репликации \"%s\" неверная длина: %u" -#: replication/slot.c:1870 +#: replication/slot.c:2016 #, c-format msgid "checksum mismatch for replication slot file \"%s\": is %u, should be %u" msgstr "" "в файле слота репликации \"%s\" неверная контрольная сумма (%u вместо %u)" -#: replication/slot.c:1904 +#: replication/slot.c:2050 #, c-format msgid "logical replication slot \"%s\" exists, but wal_level < logical" msgstr "существует слот логической репликации \"%s\", но wal_level < logical" -#: replication/slot.c:1906 +#: replication/slot.c:2052 #, c-format msgid "Change wal_level to be logical or higher." msgstr "Смените wal_level на logical или более высокий уровень." -#: replication/slot.c:1910 +#: replication/slot.c:2056 #, c-format msgid "physical replication slot \"%s\" exists, but wal_level < replica" msgstr "существует слот физической репликации \"%s\", но wal_level < replica" -#: replication/slot.c:1912 +#: replication/slot.c:2058 #, c-format msgid "Change wal_level to be replica or higher." msgstr "Смените wal_level на replica или более высокий уровень." -#: replication/slot.c:1946 +#: replication/slot.c:2092 #, c-format msgid "too many replication slots active before shutdown" msgstr "перед завершением активно слишком много слотов репликации" -#: replication/slotfuncs.c:592 +#: replication/slotfuncs.c:601 #, c-format msgid "invalid target WAL LSN" msgstr "неверный целевой LSN" -#: replication/slotfuncs.c:614 +#: replication/slotfuncs.c:623 #, c-format msgid "replication slot \"%s\" cannot be advanced" msgstr "слот репликации \"%s\" нельзя продвинуть вперёд" -#: replication/slotfuncs.c:632 +#: replication/slotfuncs.c:625 +#, c-format +msgid "" +"This slot has never previously reserved WAL, or it has been invalidated." +msgstr "Для этого слота ранее не резервировался WAL либо слот был аннулирован." + +#: replication/slotfuncs.c:641 #, c-format msgid "cannot advance replication slot to %X/%X, minimum is %X/%X" msgstr "" "продвинуть слот репликации к позиции %X/%X нельзя, минимальная позиция: %X/%X" -#: replication/slotfuncs.c:739 +#: replication/slotfuncs.c:748 #, c-format msgid "" "cannot copy physical replication slot \"%s\" as a logical replication slot" @@ -22547,7 +23200,7 @@ msgstr "" "слот физической репликации \"%s\" нельзя скопировать как слот логической " "репликации" -#: replication/slotfuncs.c:741 +#: replication/slotfuncs.c:750 #, c-format msgid "" "cannot copy logical replication slot \"%s\" as a physical replication slot" @@ -22555,17 +23208,17 @@ msgstr "" "слот логической репликации \"%s\" нельзя скопировать как слот физической " "репликации" -#: replication/slotfuncs.c:748 +#: replication/slotfuncs.c:757 #, c-format msgid "cannot copy a replication slot that doesn't reserve WAL" msgstr "скопировать слот репликации, для которого не резервируется WAL, нельзя" -#: replication/slotfuncs.c:825 +#: replication/slotfuncs.c:834 #, c-format msgid "could not copy replication slot \"%s\"" msgstr "не удалось скопировать слот репликации \"%s\"" -#: replication/slotfuncs.c:827 +#: replication/slotfuncs.c:836 #, c-format msgid "" "The source replication slot was modified incompatibly during the copy " @@ -22574,21 +23227,21 @@ msgstr "" "Исходный слот репликации был модифицирован несовместимым образом во время " "копирования." -#: replication/slotfuncs.c:833 +#: replication/slotfuncs.c:842 #, c-format msgid "cannot copy unfinished logical replication slot \"%s\"" msgstr "" "скопировать слот логической репликации \"%s\" в незавершённом состоянии " "нельзя" -#: replication/slotfuncs.c:835 +#: replication/slotfuncs.c:844 #, c-format msgid "Retry when the source replication slot's confirmed_flush_lsn is valid." msgstr "" "Повторите попытку, когда для исходного слота репликации будет определена " "позиция confirmed_flush_lsn." -#: replication/syncrep.c:268 +#: replication/syncrep.c:262 #, c-format msgid "" "canceling the wait for synchronous replication and terminating connection " @@ -22597,7 +23250,7 @@ msgstr "" "отмена ожидания синхронной репликации и закрытие соединения по команде " "администратора" -#: replication/syncrep.c:269 replication/syncrep.c:286 +#: replication/syncrep.c:263 replication/syncrep.c:280 #, c-format msgid "" "The transaction has already committed locally, but might not have been " @@ -22606,147 +23259,147 @@ msgstr "" "Транзакция уже была зафиксирована локально, но, возможно, не была " "реплицирована на резервный сервер." -#: replication/syncrep.c:285 +#: replication/syncrep.c:279 #, c-format msgid "canceling wait for synchronous replication due to user request" msgstr "отмена ожидания синхронной репликации по запросу пользователя" -#: replication/syncrep.c:494 +#: replication/syncrep.c:486 #, c-format msgid "standby \"%s\" is now a synchronous standby with priority %u" msgstr "резервный сервер \"%s\" стал синхронным с приоритетом %u" -#: replication/syncrep.c:498 +#: replication/syncrep.c:490 #, c-format msgid "standby \"%s\" is now a candidate for quorum synchronous standby" msgstr "" "резервный сервер \"%s\" стал кандидатом для включения в кворум синхронных " "резервных" -#: replication/syncrep.c:1045 +#: replication/syncrep.c:1019 #, c-format msgid "synchronous_standby_names parser failed" msgstr "ошибка при разборе synchronous_standby_names" -#: replication/syncrep.c:1051 +#: replication/syncrep.c:1025 #, c-format msgid "number of synchronous standbys (%d) must be greater than zero" msgstr "число синхронных резервных серверов (%d) должно быть больше нуля" -#: replication/walreceiver.c:164 +#: replication/walreceiver.c:180 #, c-format msgid "terminating walreceiver process due to administrator command" msgstr "завершение процесса считывания журнала по команде администратора" -#: replication/walreceiver.c:292 +#: replication/walreceiver.c:305 #, c-format msgid "could not connect to the primary server: %s" msgstr "не удалось подключиться к главному серверу: %s" -#: replication/walreceiver.c:339 +#: replication/walreceiver.c:352 #, c-format msgid "database system identifier differs between the primary and standby" msgstr "идентификаторы СУБД на главном и резервном серверах различаются" -#: replication/walreceiver.c:340 +#: replication/walreceiver.c:353 #, c-format msgid "The primary's identifier is %s, the standby's identifier is %s." msgstr "Идентификатор на главном сервере: %s, на резервном: %s." -#: replication/walreceiver.c:351 +#: replication/walreceiver.c:364 #, c-format msgid "highest timeline %u of the primary is behind recovery timeline %u" msgstr "" "последняя линия времени %u на главном сервере отстаёт от восстанавливаемой " "линии времени %u" -#: replication/walreceiver.c:404 +#: replication/walreceiver.c:417 #, c-format msgid "started streaming WAL from primary at %X/%X on timeline %u" msgstr "" "начало передачи журнала с главного сервера, с позиции %X/%X на линии времени " "%u" -#: replication/walreceiver.c:408 +#: replication/walreceiver.c:421 #, c-format msgid "restarted WAL streaming at %X/%X on timeline %u" msgstr "перезапуск передачи журнала с позиции %X/%X на линии времени %u" -#: replication/walreceiver.c:437 +#: replication/walreceiver.c:457 #, c-format msgid "cannot continue WAL streaming, recovery has already ended" msgstr "продолжить передачу WAL нельзя, восстановление уже окончено" -#: replication/walreceiver.c:475 +#: replication/walreceiver.c:501 #, c-format msgid "replication terminated by primary server" msgstr "репликация прекращена главным сервером" -#: replication/walreceiver.c:476 +#: replication/walreceiver.c:502 #, c-format msgid "End of WAL reached on timeline %u at %X/%X." msgstr "На линии времени %u в %X/%X достигнут конец журнала." -#: replication/walreceiver.c:565 +#: replication/walreceiver.c:592 #, c-format msgid "terminating walreceiver due to timeout" msgstr "завершение приёма журнала из-за тайм-аута" -#: replication/walreceiver.c:603 +#: replication/walreceiver.c:624 #, c-format msgid "primary server contains no more WAL on requested timeline %u" msgstr "" "на главном сервере больше нет журналов для запрошенной линии времени %u" -#: replication/walreceiver.c:619 replication/walreceiver.c:1045 +#: replication/walreceiver.c:640 replication/walreceiver.c:1066 #, c-format -msgid "could not close log segment %s: %m" -msgstr "не удалось закрыть сегмент журнала %s: %m" +msgid "could not close WAL segment %s: %m" +msgstr "не удалось закрыть сегмент WAL %s: %m" -#: replication/walreceiver.c:738 +#: replication/walreceiver.c:759 #, c-format msgid "fetching timeline history file for timeline %u from primary server" msgstr "загрузка файла истории для линии времени %u с главного сервера" -#: replication/walreceiver.c:933 +#: replication/walreceiver.c:954 #, c-format -msgid "could not write to log segment %s at offset %u, length %lu: %m" -msgstr "не удалось записать в сегмент журнала %s (смещение %u, длина %lu): %m" +msgid "could not write to WAL segment %s at offset %u, length %lu: %m" +msgstr "не удалось записать в сегмент WAL %s (смещение %u, длина %lu): %m" -#: replication/walsender.c:521 +#: replication/walsender.c:519 #, c-format msgid "cannot use %s with a logical replication slot" msgstr "использовать %s со слотом логической репликации нельзя" -#: replication/walsender.c:638 storage/smgr/md.c:1364 +#: replication/walsender.c:623 storage/smgr/md.c:1529 #, c-format msgid "could not seek to end of file \"%s\": %m" msgstr "не удалось перейти к концу файла \"%s\": %m" -#: replication/walsender.c:642 +#: replication/walsender.c:627 #, c-format msgid "could not seek to beginning of file \"%s\": %m" msgstr "не удалось перейти к началу файла \"%s\": %m" -#: replication/walsender.c:719 +#: replication/walsender.c:704 #, c-format msgid "cannot use a logical replication slot for physical replication" msgstr "" "слот логической репликации нельзя использовать для физической репликации" -#: replication/walsender.c:785 +#: replication/walsender.c:770 #, c-format msgid "" "requested starting point %X/%X on timeline %u is not in this server's history" msgstr "" "в истории сервера нет запрошенной начальной точки %X/%X на линии времени %u" -#: replication/walsender.c:788 +#: replication/walsender.c:773 #, c-format msgid "This server's history forked from timeline %u at %X/%X." msgstr "История этого сервера ответвилась от линии времени %u в %X/%X." -#: replication/walsender.c:832 +#: replication/walsender.c:817 #, c-format msgid "" "requested starting point %X/%X is ahead of the WAL flush position of this " @@ -22755,30 +23408,36 @@ msgstr "" "запрошенная начальная точка %X/%X впереди позиции сброшенных данных журнала " "на этом сервере (%X/%X)" -#: replication/walsender.c:1015 +#: replication/walsender.c:1010 #, c-format msgid "unrecognized value for CREATE_REPLICATION_SLOT option \"%s\": \"%s\"" msgstr "" "нераспознанное значение для параметра CREATE_REPLICATION_SLOT \"%s\": \"%s\"" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1100 +#: replication/walsender.c:1095 #, c-format msgid "%s must not be called inside a transaction" msgstr "%s требуется выполнять не в транзакции" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1110 +#: replication/walsender.c:1105 #, c-format msgid "%s must be called inside a transaction" msgstr "%s требуется выполнять внутри транзакции" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1116 +#: replication/walsender.c:1111 #, c-format msgid "%s must be called in REPEATABLE READ isolation mode transaction" msgstr "%s требуется выполнять в транзакции уровня изоляции REPEATABLE READ" +#. translator: %s is a CREATE_REPLICATION_SLOT statement +#: replication/walsender.c:1116 +#, c-format +msgid "%s must be called in a read-only transaction" +msgstr "%s требуется выполнять внутри транзакции только для чтения" + #. translator: %s is a CREATE_REPLICATION_SLOT statement #: replication/walsender.c:1122 #, c-format @@ -22791,46 +23450,33 @@ msgstr "%s требуется выполнять до каких-либо зап msgid "%s must not be called in a subtransaction" msgstr "%s требуется вызывать не в подтранзакции" -#: replication/walsender.c:1271 -#, c-format -msgid "cannot read from logical replication slot \"%s\"" -msgstr "прочитать из слота логической репликации \"%s\" нельзя" - -#: replication/walsender.c:1273 -#, c-format -msgid "" -"This slot has been invalidated because it exceeded the maximum reserved size." -msgstr "" -"Этот слот был аннулирован из-за превышения максимального зарезервированного " -"размера." - -#: replication/walsender.c:1283 +#: replication/walsender.c:1275 #, c-format msgid "terminating walsender process after promotion" msgstr "завершение процесса передачи журнала после повышения" -#: replication/walsender.c:1704 +#: replication/walsender.c:1696 #, c-format msgid "cannot execute new commands while WAL sender is in stopping mode" msgstr "" "нельзя выполнять новые команды, пока процесс передачи WAL находится в режиме " "остановки" -#: replication/walsender.c:1739 +#: replication/walsender.c:1731 #, c-format msgid "cannot execute SQL commands in WAL sender for physical replication" msgstr "" "нельзя выполнять команды SQL в процессе, передающем WAL для физической " "репликации" -#: replication/walsender.c:1772 +#: replication/walsender.c:1764 #, c-format msgid "received replication command: %s" msgstr "получена команда репликации: %s" -#: replication/walsender.c:1780 tcop/fastpath.c:208 tcop/postgres.c:1114 -#: tcop/postgres.c:1472 tcop/postgres.c:1712 tcop/postgres.c:2181 -#: tcop/postgres.c:2614 tcop/postgres.c:2692 +#: replication/walsender.c:1772 tcop/fastpath.c:209 tcop/postgres.c:1138 +#: tcop/postgres.c:1496 tcop/postgres.c:1736 tcop/postgres.c:2210 +#: tcop/postgres.c:2648 tcop/postgres.c:2726 #, c-format msgid "" "current transaction is aborted, commands ignored until end of transaction " @@ -22838,210 +23484,147 @@ msgid "" msgstr "" "текущая транзакция прервана, команды до конца блока транзакции игнорируются" -#: replication/walsender.c:1922 replication/walsender.c:1957 +#: replication/walsender.c:1914 replication/walsender.c:1949 #, c-format msgid "unexpected EOF on standby connection" msgstr "неожиданный обрыв соединения с резервным сервером" -#: replication/walsender.c:1945 +#: replication/walsender.c:1937 #, c-format msgid "invalid standby message type \"%c\"" msgstr "неверный тип сообщения резервного сервера: \"%c\"" -#: replication/walsender.c:2034 +#: replication/walsender.c:2026 #, c-format msgid "unexpected message type \"%c\"" msgstr "неожиданный тип сообщения \"%c\"" -#: replication/walsender.c:2447 +#: replication/walsender.c:2439 #, c-format msgid "terminating walsender process due to replication timeout" msgstr "завершение процесса передачи журнала из-за тайм-аута репликации" -#: rewrite/rewriteDefine.c:112 rewrite/rewriteDefine.c:1013 +#: rewrite/rewriteDefine.c:111 rewrite/rewriteDefine.c:842 #, c-format msgid "rule \"%s\" for relation \"%s\" already exists" msgstr "правило \"%s\" для отношения \"%s\" уже существует" -#: rewrite/rewriteDefine.c:271 rewrite/rewriteDefine.c:951 +#: rewrite/rewriteDefine.c:268 rewrite/rewriteDefine.c:780 #, c-format msgid "relation \"%s\" cannot have rules" msgstr "к отношению \"%s\" не могут применяться правила" -#: rewrite/rewriteDefine.c:302 +#: rewrite/rewriteDefine.c:299 #, c-format msgid "rule actions on OLD are not implemented" msgstr "действия правил для OLD не реализованы" -#: rewrite/rewriteDefine.c:303 +#: rewrite/rewriteDefine.c:300 #, c-format msgid "Use views or triggers instead." msgstr "Воспользуйтесь представлениями или триггерами." -#: rewrite/rewriteDefine.c:307 +#: rewrite/rewriteDefine.c:304 #, c-format msgid "rule actions on NEW are not implemented" msgstr "действия правил для NEW не реализованы" -#: rewrite/rewriteDefine.c:308 +#: rewrite/rewriteDefine.c:305 #, c-format msgid "Use triggers instead." msgstr "Воспользуйтесь триггерами." -#: rewrite/rewriteDefine.c:321 +#: rewrite/rewriteDefine.c:319 +#, c-format +msgid "relation \"%s\" cannot have ON SELECT rules" +msgstr "к отношению \"%s\" не могут применяться правила ON SELECT" + +#: rewrite/rewriteDefine.c:329 #, c-format msgid "INSTEAD NOTHING rules on SELECT are not implemented" msgstr "правила INSTEAD NOTHING для SELECT не реализованы" -#: rewrite/rewriteDefine.c:322 +#: rewrite/rewriteDefine.c:330 #, c-format msgid "Use views instead." msgstr "Воспользуйтесь представлениями." -#: rewrite/rewriteDefine.c:330 +#: rewrite/rewriteDefine.c:338 #, c-format msgid "multiple actions for rules on SELECT are not implemented" msgstr "множественные действия в правилах для SELECT не поддерживаются" -#: rewrite/rewriteDefine.c:340 +#: rewrite/rewriteDefine.c:348 #, c-format msgid "rules on SELECT must have action INSTEAD SELECT" msgstr "в правилах для SELECT должно быть действие INSTEAD SELECT" -#: rewrite/rewriteDefine.c:348 +#: rewrite/rewriteDefine.c:356 #, c-format msgid "rules on SELECT must not contain data-modifying statements in WITH" msgstr "" "правила для SELECT не должны содержать операторы, изменяющие данные, в WITH" -#: rewrite/rewriteDefine.c:356 +#: rewrite/rewriteDefine.c:364 #, c-format msgid "event qualifications are not implemented for rules on SELECT" msgstr "в правилах для SELECT не может быть условий" -#: rewrite/rewriteDefine.c:383 +#: rewrite/rewriteDefine.c:391 #, c-format msgid "\"%s\" is already a view" msgstr "\"%s\" уже является представлением" -#: rewrite/rewriteDefine.c:407 +#: rewrite/rewriteDefine.c:415 #, c-format msgid "view rule for \"%s\" must be named \"%s\"" msgstr "правило представления для \"%s\" должно называться \"%s\"" -#: rewrite/rewriteDefine.c:436 -#, c-format -msgid "cannot convert partitioned table \"%s\" to a view" -msgstr "преобразовать секционированную таблицу \"%s\" в представление нельзя" - -#: rewrite/rewriteDefine.c:445 -#, c-format -msgid "cannot convert partition \"%s\" to a view" -msgstr "преобразовать секцию \"%s\" в представление нельзя" - -#: rewrite/rewriteDefine.c:454 -#, c-format -msgid "could not convert table \"%s\" to a view because it is not empty" -msgstr "" -"не удалось преобразовать таблицу \"%s\" в представление, так как она не " -"пуста1" - -#: rewrite/rewriteDefine.c:463 -#, c-format -msgid "could not convert table \"%s\" to a view because it has triggers" -msgstr "" -"не удалось преобразовать таблицу \"%s\" в представление, так как она " -"содержит триггеры" - -#: rewrite/rewriteDefine.c:465 -#, c-format -msgid "" -"In particular, the table cannot be involved in any foreign key relationships." -msgstr "" -"Кроме того, таблица не может быть задействована в ссылках по внешнему ключу." - -#: rewrite/rewriteDefine.c:470 -#, c-format -msgid "could not convert table \"%s\" to a view because it has indexes" -msgstr "" -"не удалось преобразовать таблицу \"%s\" в представление, так как она имеет " -"индексы" - -#: rewrite/rewriteDefine.c:476 -#, c-format -msgid "could not convert table \"%s\" to a view because it has child tables" -msgstr "" -"не удалось преобразовать таблицу \"%s\" в представление, так как она имеет " -"подчинённые таблицы" - -#: rewrite/rewriteDefine.c:482 -#, c-format -msgid "could not convert table \"%s\" to a view because it has parent tables" -msgstr "" -"не удалось преобразовать таблицу \"%s\" в представление, так как она имеет " -"родительские таблицы" - -#: rewrite/rewriteDefine.c:488 -#, c-format -msgid "" -"could not convert table \"%s\" to a view because it has row security enabled" -msgstr "" -"не удалось преобразовать таблицу \"%s\" в представление, так как для неё " -"включена защита на уровне строк" - -#: rewrite/rewriteDefine.c:494 -#, c-format -msgid "" -"could not convert table \"%s\" to a view because it has row security policies" -msgstr "" -"не удалось преобразовать таблицу \"%s\" в представление, так как к ней " -"применены политики защиты строк" - -#: rewrite/rewriteDefine.c:521 +#: rewrite/rewriteDefine.c:442 #, c-format msgid "cannot have multiple RETURNING lists in a rule" msgstr "в правиле нельзя указать несколько списков RETURNING" -#: rewrite/rewriteDefine.c:526 +#: rewrite/rewriteDefine.c:447 #, c-format msgid "RETURNING lists are not supported in conditional rules" msgstr "списки RETURNING в условных правилах не поддерживаются" -#: rewrite/rewriteDefine.c:530 +#: rewrite/rewriteDefine.c:451 #, c-format msgid "RETURNING lists are not supported in non-INSTEAD rules" msgstr "списки RETURNING поддерживаются только в правилах INSTEAD" -#: rewrite/rewriteDefine.c:544 +#: rewrite/rewriteDefine.c:465 #, c-format msgid "non-view rule for \"%s\" must not be named \"%s\"" msgstr "" "не относящееся к представлению правило для \"%s\" не может называться \"%s\"" -#: rewrite/rewriteDefine.c:706 +#: rewrite/rewriteDefine.c:539 #, c-format msgid "SELECT rule's target list has too many entries" msgstr "список результата правила для SELECT содержит слишком много столбцов" -#: rewrite/rewriteDefine.c:707 +#: rewrite/rewriteDefine.c:540 #, c-format msgid "RETURNING list has too many entries" msgstr "список RETURNING содержит слишком много столбцов" -#: rewrite/rewriteDefine.c:734 +#: rewrite/rewriteDefine.c:567 #, c-format msgid "cannot convert relation containing dropped columns to view" msgstr "" "преобразовать отношение, содержащее удалённые столбцы, в представление нельзя" -#: rewrite/rewriteDefine.c:735 +#: rewrite/rewriteDefine.c:568 #, c-format msgid "" "cannot create a RETURNING list for a relation containing dropped columns" msgstr "" "создать список RETURNING для отношения, содержащего удалённые столбцы, нельзя" -#: rewrite/rewriteDefine.c:741 +#: rewrite/rewriteDefine.c:574 #, c-format msgid "" "SELECT rule's target entry %d has different column name from column \"%s\"" @@ -23049,67 +23632,67 @@ msgstr "" "элементу %d результата правила для SELECT присвоено имя, отличное от имени " "столбца \"%s\"" -#: rewrite/rewriteDefine.c:743 +#: rewrite/rewriteDefine.c:576 #, c-format msgid "SELECT target entry is named \"%s\"." msgstr "Имя элемента результата SELECT: \"%s\"." -#: rewrite/rewriteDefine.c:752 +#: rewrite/rewriteDefine.c:585 #, c-format msgid "SELECT rule's target entry %d has different type from column \"%s\"" msgstr "" "элемент %d результата правила для SELECT имеет тип, отличный от типа столбца " "\"%s\"" -#: rewrite/rewriteDefine.c:754 +#: rewrite/rewriteDefine.c:587 #, c-format msgid "RETURNING list's entry %d has different type from column \"%s\"" msgstr "элемент %d списка RETURNING имеет тип, отличный от типа столбца \"%s\"" -#: rewrite/rewriteDefine.c:757 rewrite/rewriteDefine.c:781 +#: rewrite/rewriteDefine.c:590 rewrite/rewriteDefine.c:614 #, c-format msgid "SELECT target entry has type %s, but column has type %s." msgstr "Элемент результата SELECT имеет тип %s, тогда как тип столбца - %s." -#: rewrite/rewriteDefine.c:760 rewrite/rewriteDefine.c:785 +#: rewrite/rewriteDefine.c:593 rewrite/rewriteDefine.c:618 #, c-format msgid "RETURNING list entry has type %s, but column has type %s." msgstr "Элемент списка RETURNING имеет тип %s, тогда как тип столбца - %s." -#: rewrite/rewriteDefine.c:776 +#: rewrite/rewriteDefine.c:609 #, c-format msgid "SELECT rule's target entry %d has different size from column \"%s\"" msgstr "" "элемент %d результата правила для SELECT имеет размер, отличный от столбца " "\"%s\"" -#: rewrite/rewriteDefine.c:778 +#: rewrite/rewriteDefine.c:611 #, c-format msgid "RETURNING list's entry %d has different size from column \"%s\"" msgstr "элемент %d списка RETURNING имеет размер, отличный от столбца \"%s\"" -#: rewrite/rewriteDefine.c:795 +#: rewrite/rewriteDefine.c:628 #, c-format msgid "SELECT rule's target list has too few entries" msgstr "список результата правила для SELECT содержит недостаточно элементов" -#: rewrite/rewriteDefine.c:796 +#: rewrite/rewriteDefine.c:629 #, c-format msgid "RETURNING list has too few entries" msgstr "список RETURNING содержит недостаточно элементов" -#: rewrite/rewriteDefine.c:889 rewrite/rewriteDefine.c:1004 +#: rewrite/rewriteDefine.c:718 rewrite/rewriteDefine.c:833 #: rewrite/rewriteSupport.c:109 #, c-format msgid "rule \"%s\" for relation \"%s\" does not exist" msgstr "правило \"%s\" для отношения\"%s\" не существует" -#: rewrite/rewriteDefine.c:1023 +#: rewrite/rewriteDefine.c:852 #, c-format msgid "renaming an ON SELECT rule is not allowed" msgstr "переименовывать правило ON SELECT нельзя" -#: rewrite/rewriteHandler.c:559 +#: rewrite/rewriteHandler.c:583 #, c-format msgid "" "WITH query name \"%s\" appears in both a rule action and the query being " @@ -23118,122 +23701,122 @@ msgstr "" "имя запроса WITH \"%s\" оказалось и в действии правила, и в переписываемом " "запросе" -#: rewrite/rewriteHandler.c:586 +#: rewrite/rewriteHandler.c:610 #, c-format msgid "" -"INSERT...SELECT rule actions are not supported for queries having data-" +"INSERT ... SELECT rule actions are not supported for queries having data-" "modifying statements in WITH" msgstr "" -"правила INSERT...SELECT не поддерживаются для запросов с операторами, " +"правила INSERT ... SELECT не поддерживаются для запросов с операторами, " "изменяющими данные, в WITH" -#: rewrite/rewriteHandler.c:639 +#: rewrite/rewriteHandler.c:663 #, c-format msgid "cannot have RETURNING lists in multiple rules" msgstr "RETURNING можно определить только для одного правила" -#: rewrite/rewriteHandler.c:871 rewrite/rewriteHandler.c:910 +#: rewrite/rewriteHandler.c:895 rewrite/rewriteHandler.c:934 #, c-format msgid "cannot insert a non-DEFAULT value into column \"%s\"" msgstr "в столбец \"%s\" можно вставить только значение по умолчанию" -#: rewrite/rewriteHandler.c:873 rewrite/rewriteHandler.c:939 +#: rewrite/rewriteHandler.c:897 rewrite/rewriteHandler.c:963 #, c-format msgid "Column \"%s\" is an identity column defined as GENERATED ALWAYS." msgstr "" "Столбец \"%s\" является столбцом идентификации со свойством GENERATED ALWAYS." -#: rewrite/rewriteHandler.c:875 +#: rewrite/rewriteHandler.c:899 #, c-format msgid "Use OVERRIDING SYSTEM VALUE to override." msgstr "Для переопределения укажите OVERRIDING SYSTEM VALUE." -#: rewrite/rewriteHandler.c:937 rewrite/rewriteHandler.c:945 +#: rewrite/rewriteHandler.c:961 rewrite/rewriteHandler.c:969 #, c-format msgid "column \"%s\" can only be updated to DEFAULT" msgstr "столбцу \"%s\" можно присвоить только значение DEFAULT" -#: rewrite/rewriteHandler.c:1092 rewrite/rewriteHandler.c:1110 +#: rewrite/rewriteHandler.c:1116 rewrite/rewriteHandler.c:1134 #, c-format msgid "multiple assignments to same column \"%s\"" msgstr "многочисленные присвоения одному столбцу \"%s\"" -#: rewrite/rewriteHandler.c:2112 rewrite/rewriteHandler.c:3990 +#: rewrite/rewriteHandler.c:2119 rewrite/rewriteHandler.c:4040 #, c-format msgid "infinite recursion detected in rules for relation \"%s\"" msgstr "обнаружена бесконечная рекурсия в правилах для отношения \"%s\"" -#: rewrite/rewriteHandler.c:2197 +#: rewrite/rewriteHandler.c:2204 #, c-format msgid "infinite recursion detected in policy for relation \"%s\"" msgstr "обнаружена бесконечная рекурсия в политике для отношения \"%s\"" -#: rewrite/rewriteHandler.c:2517 +#: rewrite/rewriteHandler.c:2524 msgid "Junk view columns are not updatable." msgstr "Утилизируемые столбцы представлений не обновляются." -#: rewrite/rewriteHandler.c:2522 +#: rewrite/rewriteHandler.c:2529 msgid "" "View columns that are not columns of their base relation are not updatable." msgstr "" "Столбцы представлений, не являющиеся столбцами базовых отношений, не " "обновляются." -#: rewrite/rewriteHandler.c:2525 +#: rewrite/rewriteHandler.c:2532 msgid "View columns that refer to system columns are not updatable." msgstr "" "Столбцы представлений, ссылающиеся на системные столбцы, не обновляются." -#: rewrite/rewriteHandler.c:2528 +#: rewrite/rewriteHandler.c:2535 msgid "View columns that return whole-row references are not updatable." msgstr "" "Столбцы представлений, возвращающие ссылки на всю строку, не обновляются." -#: rewrite/rewriteHandler.c:2589 +#: rewrite/rewriteHandler.c:2596 msgid "Views containing DISTINCT are not automatically updatable." msgstr "Представления с DISTINCT не обновляются автоматически." -#: rewrite/rewriteHandler.c:2592 +#: rewrite/rewriteHandler.c:2599 msgid "Views containing GROUP BY are not automatically updatable." msgstr "Представления с GROUP BY не обновляются автоматически." -#: rewrite/rewriteHandler.c:2595 +#: rewrite/rewriteHandler.c:2602 msgid "Views containing HAVING are not automatically updatable." msgstr "Представления с HAVING не обновляются автоматически." -#: rewrite/rewriteHandler.c:2598 +#: rewrite/rewriteHandler.c:2605 msgid "" "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable." msgstr "" "Представления с UNION, INTERSECT или EXCEPT не обновляются автоматически." -#: rewrite/rewriteHandler.c:2601 +#: rewrite/rewriteHandler.c:2608 msgid "Views containing WITH are not automatically updatable." msgstr "Представления с WITH не обновляются автоматически." -#: rewrite/rewriteHandler.c:2604 +#: rewrite/rewriteHandler.c:2611 msgid "Views containing LIMIT or OFFSET are not automatically updatable." msgstr "Представления с LIMIT или OFFSET не обновляются автоматически." -#: rewrite/rewriteHandler.c:2616 +#: rewrite/rewriteHandler.c:2623 msgid "Views that return aggregate functions are not automatically updatable." msgstr "" "Представления, возвращающие агрегатные функции, не обновляются автоматически." -#: rewrite/rewriteHandler.c:2619 +#: rewrite/rewriteHandler.c:2626 msgid "Views that return window functions are not automatically updatable." msgstr "" "Представления, возвращающие оконные функции, не обновляются автоматически." -#: rewrite/rewriteHandler.c:2622 +#: rewrite/rewriteHandler.c:2629 msgid "" "Views that return set-returning functions are not automatically updatable." msgstr "" "Представления, возвращающие функции с результатом-множеством, не обновляются " "автоматически." -#: rewrite/rewriteHandler.c:2629 rewrite/rewriteHandler.c:2633 -#: rewrite/rewriteHandler.c:2641 +#: 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." @@ -23241,27 +23824,27 @@ msgstr "" "Представления, выбирающие данные не из одной таблицы или представления, не " "обновляются автоматически." -#: rewrite/rewriteHandler.c:2644 +#: rewrite/rewriteHandler.c:2651 msgid "Views containing TABLESAMPLE are not automatically updatable." msgstr "Представления, содержащие TABLESAMPLE, не обновляются автоматически." -#: rewrite/rewriteHandler.c:2668 +#: rewrite/rewriteHandler.c:2675 msgid "Views that have no updatable columns are not automatically updatable." msgstr "" "Представления, не содержащие обновляемых столбцов, не обновляются " "автоматически." -#: rewrite/rewriteHandler.c:3145 +#: rewrite/rewriteHandler.c:3155 #, c-format msgid "cannot insert into column \"%s\" of view \"%s\"" msgstr "вставить данные в столбец \"%s\" представления \"%s\" нельзя" -#: rewrite/rewriteHandler.c:3153 +#: rewrite/rewriteHandler.c:3163 #, c-format msgid "cannot update column \"%s\" of view \"%s\"" msgstr "изменить данные в столбце \"%s\" представления \"%s\" нельзя" -#: rewrite/rewriteHandler.c:3644 +#: rewrite/rewriteHandler.c:3667 #, c-format msgid "" "DO INSTEAD NOTIFY rules are not supported for data-modifying statements in " @@ -23270,7 +23853,7 @@ msgstr "" "правила DO INSTEAD NOTIFY не поддерживаются в операторах, изменяющих данные, " "в WITH" -#: rewrite/rewriteHandler.c:3655 +#: rewrite/rewriteHandler.c:3678 #, c-format msgid "" "DO INSTEAD NOTHING rules are not supported for data-modifying statements in " @@ -23279,7 +23862,7 @@ msgstr "" "правила DO INSTEAD NOTHING не поддерживаются в операторах, изменяющих " "данные, в WITH" -#: rewrite/rewriteHandler.c:3669 +#: rewrite/rewriteHandler.c:3692 #, c-format msgid "" "conditional DO INSTEAD rules are not supported for data-modifying statements " @@ -23288,13 +23871,13 @@ msgstr "" "условные правила DO INSTEAD не поддерживаются для операторов, изменяющих " "данные, в WITH" -#: rewrite/rewriteHandler.c:3673 +#: rewrite/rewriteHandler.c:3696 #, c-format msgid "DO ALSO rules are not supported for data-modifying statements in WITH" msgstr "" "правила DO ALSO не поддерживаются для операторов, изменяющих данные, в WITH" -#: rewrite/rewriteHandler.c:3678 +#: rewrite/rewriteHandler.c:3701 #, c-format msgid "" "multi-statement DO INSTEAD rules are not supported for data-modifying " @@ -23303,8 +23886,8 @@ msgstr "" "составные правила DO INSTEAD не поддерживаются для операторов, изменяющих " "данные, в WITH" -#: rewrite/rewriteHandler.c:3918 rewrite/rewriteHandler.c:3926 -#: rewrite/rewriteHandler.c:3934 +#: rewrite/rewriteHandler.c:3968 rewrite/rewriteHandler.c:3976 +#: rewrite/rewriteHandler.c:3984 #, c-format msgid "" "Views with conditional DO INSTEAD rules are not automatically updatable." @@ -23312,43 +23895,43 @@ msgstr "" "Представления в сочетании с правилами DO INSTEAD с условиями не обновляются " "автоматически." -#: rewrite/rewriteHandler.c:4039 +#: rewrite/rewriteHandler.c:4089 #, c-format msgid "cannot perform INSERT RETURNING on relation \"%s\"" msgstr "выполнить INSERT RETURNING для отношения \"%s\" нельзя" -#: rewrite/rewriteHandler.c:4041 +#: rewrite/rewriteHandler.c:4091 #, 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:4046 +#: rewrite/rewriteHandler.c:4096 #, c-format msgid "cannot perform UPDATE RETURNING on relation \"%s\"" msgstr "выполнить UPDATE RETURNING для отношения \"%s\" нельзя" -#: rewrite/rewriteHandler.c:4048 +#: rewrite/rewriteHandler.c:4098 #, 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:4053 +#: rewrite/rewriteHandler.c:4103 #, c-format msgid "cannot perform DELETE RETURNING on relation \"%s\"" msgstr "выполнить DELETE RETURNING для отношения \"%s\" нельзя" -#: rewrite/rewriteHandler.c:4055 +#: rewrite/rewriteHandler.c:4105 #, 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:4073 +#: rewrite/rewriteHandler.c:4123 #, c-format msgid "" "INSERT with ON CONFLICT clause cannot be used with table that has INSERT or " @@ -23357,7 +23940,7 @@ msgstr "" "INSERT c предложением ON CONFLICT нельзя использовать с таблицей, для " "которой заданы правила INSERT или UPDATE" -#: rewrite/rewriteHandler.c:4130 +#: rewrite/rewriteHandler.c:4180 #, c-format msgid "" "WITH cannot be used in a query that is rewritten by rules into multiple " @@ -23366,17 +23949,17 @@ msgstr "" "WITH нельзя использовать в запросе, преобразованном правилами в несколько " "запросов" -#: rewrite/rewriteManip.c:1006 +#: rewrite/rewriteManip.c:1075 #, c-format msgid "conditional utility statements are not implemented" msgstr "условные служебные операторы не реализованы" -#: rewrite/rewriteManip.c:1172 +#: rewrite/rewriteManip.c:1419 #, c-format msgid "WHERE CURRENT OF on a view is not implemented" msgstr "условие WHERE CURRENT OF для представлений не реализовано" -#: rewrite/rewriteManip.c:1507 +#: rewrite/rewriteManip.c:1754 #, c-format msgid "" "NEW variables in ON UPDATE rules cannot reference columns that are part of a " @@ -23434,22 +24017,27 @@ msgid "" msgstr "" "функция, возвращающая запись, вызвана в контексте, не допускающем этот тип" -#: storage/buffer/bufmgr.c:603 storage/buffer/bufmgr.c:773 +#: storage/buffer/bufmgr.c:612 storage/buffer/bufmgr.c:769 #, c-format msgid "cannot access temporary tables of other sessions" msgstr "обращаться к временным таблицам других сеансов нельзя" -#: storage/buffer/bufmgr.c:851 +#: storage/buffer/bufmgr.c:1137 +#, c-format +msgid "invalid page in block %u of relation %s; zeroing out page" +msgstr "неверная страница в блоке %u отношения %s; страница обнуляется" + +#: storage/buffer/bufmgr.c:1931 storage/buffer/localbuf.c:359 #, c-format msgid "cannot extend relation %s beyond %u blocks" msgstr "не удалось увеличить отношение \"%s\" до блока %u" -#: storage/buffer/bufmgr.c:938 +#: storage/buffer/bufmgr.c:1998 #, c-format msgid "unexpected data beyond EOF in block %u of relation %s" msgstr "неожиданные данные после EOF в блоке %u отношения %s" -#: storage/buffer/bufmgr.c:940 +#: storage/buffer/bufmgr.c:2000 #, c-format msgid "" "This has been seen to occur with buggy kernels; consider updating your " @@ -23458,48 +24046,63 @@ msgstr "" "Эта ситуация может возникать из-за ошибок в ядре; возможно, вам следует " "обновить ОС." -#: storage/buffer/bufmgr.c:1039 -#, c-format -msgid "invalid page in block %u of relation %s; zeroing out page" -msgstr "неверная страница в блоке %u отношения %s; страница обнуляется" - -#: storage/buffer/bufmgr.c:4669 +#: storage/buffer/bufmgr.c:5219 #, c-format msgid "could not write block %u of %s" msgstr "не удалось запись блок %u файла %s" -#: storage/buffer/bufmgr.c:4671 +#: storage/buffer/bufmgr.c:5221 #, c-format msgid "Multiple failures --- write error might be permanent." msgstr "Множественные сбои - возможно, постоянная ошибка записи." -#: storage/buffer/bufmgr.c:4692 storage/buffer/bufmgr.c:4711 +#: storage/buffer/bufmgr.c:5243 storage/buffer/bufmgr.c:5263 #, c-format msgid "writing block %u of relation %s" msgstr "запись блока %u отношения %s" -#: storage/buffer/bufmgr.c:5015 +#: storage/buffer/bufmgr.c:5593 #, c-format msgid "snapshot too old" msgstr "снимок слишком стар" -#: storage/buffer/localbuf.c:205 +#: storage/buffer/localbuf.c:219 #, c-format msgid "no empty local buffer available" msgstr "нет пустого локального буфера" -#: storage/buffer/localbuf.c:433 +#: storage/buffer/localbuf.c:592 #, c-format msgid "cannot access temporary tables during a parallel operation" msgstr "обращаться к временным таблицам во время параллельных операций нельзя" -#: storage/file/buffile.c:333 +#: storage/buffer/localbuf.c:699 +#, c-format +msgid "" +"\"temp_buffers\" cannot be changed after any temporary tables have been " +"accessed in the session." +msgstr "" +"параметр \"temp_buffers\" нельзя изменить после обращения к временным " +"таблицам в текущем сеансе." + +#: storage/file/buffile.c:338 #, c-format msgid "could not open temporary file \"%s\" from BufFile \"%s\": %m" msgstr "" "не удалось открыть временный файл \"%s\", входящий в BufFile \"%s\": %m" -#: storage/file/buffile.c:723 storage/file/buffile.c:844 +#: storage/file/buffile.c:632 +#, c-format +msgid "could not read from file set \"%s\": read only %zu of %zu bytes" +msgstr "" +"не удалось прочитать файловый набор \"%s\" (прочитано байт: %zu из %zu)" + +#: storage/file/buffile.c:634 +#, c-format +msgid "could not read from temporary file: read only %zu of %zu bytes" +msgstr "не удалось прочитать временный файл (прочитано байт: %zu из %zu)" + +#: storage/file/buffile.c:774 storage/file/buffile.c:895 #, c-format msgid "" "could not determine size of temporary file \"%s\" from BufFile \"%s\": %m" @@ -23507,120 +24110,115 @@ msgstr "" "не удалось определить размер временного файла \"%s\", входящего в BufFile " "\"%s\": %m" -#: storage/file/buffile.c:923 +#: storage/file/buffile.c:974 #, c-format msgid "could not delete fileset \"%s\": %m" msgstr "ошибка удаления набора файлов \"%s\": %m" -#: storage/file/buffile.c:941 storage/smgr/md.c:325 storage/smgr/md.c:904 +#: 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 "не удалось обрезать файл \"%s\": %m" -#: storage/file/fd.c:522 storage/file/fd.c:594 storage/file/fd.c:630 +#: 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 "не удалось сбросить грязные данные: %m" -#: storage/file/fd.c:552 +#: storage/file/fd.c:567 #, c-format msgid "could not determine dirty data size: %m" msgstr "не удалось определить размер грязных данных: %m" -#: storage/file/fd.c:604 +#: storage/file/fd.c:619 #, c-format msgid "could not munmap() while flushing data: %m" msgstr "ошибка в munmap() при сбросе данных на диск: %m" -#: storage/file/fd.c:843 -#, c-format -msgid "could not link file \"%s\" to \"%s\": %m" -msgstr "для файла \"%s\" не удалось создать ссылку \"%s\": %m" - -#: storage/file/fd.c:967 +#: storage/file/fd.c:937 #, c-format msgid "getrlimit failed: %m" msgstr "ошибка в getrlimit(): %m" -#: storage/file/fd.c:1057 +#: storage/file/fd.c:1027 #, c-format msgid "insufficient file descriptors available to start server process" msgstr "недостаточно дескрипторов файлов для запуска серверного процесса" -#: storage/file/fd.c:1058 +#: storage/file/fd.c:1028 #, c-format -msgid "System allows %d, we need at least %d." -msgstr "Система выделяет: %d, а требуется минимум: %d." +msgid "System allows %d, server needs at least %d." +msgstr "Система может выделить: %d, серверу требуется минимум: %d." -#: storage/file/fd.c:1153 storage/file/fd.c:2496 storage/file/fd.c:2606 -#: storage/file/fd.c:2757 +#: 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 "нехватка дескрипторов файлов: %m; освободите их и повторите попытку" -#: storage/file/fd.c:1527 +#: storage/file/fd.c:1490 #, c-format msgid "temporary file: path \"%s\", size %lu" msgstr "временный файл: путь \"%s\", размер %lu" -#: storage/file/fd.c:1658 +#: storage/file/fd.c:1629 #, c-format msgid "cannot create temporary directory \"%s\": %m" msgstr "не удалось создать временный каталог \"%s\": %m" -#: storage/file/fd.c:1665 +#: storage/file/fd.c:1636 #, c-format msgid "cannot create temporary subdirectory \"%s\": %m" msgstr "не удалось создать временный подкаталог \"%s\": %m" -#: storage/file/fd.c:1862 +#: storage/file/fd.c:1833 #, c-format msgid "could not create temporary file \"%s\": %m" msgstr "не удалось создать временный файл \"%s\": %m" -#: storage/file/fd.c:1898 +#: storage/file/fd.c:1869 #, c-format msgid "could not open temporary file \"%s\": %m" msgstr "не удалось открыть временный файл \"%s\": %m" -#: storage/file/fd.c:1939 +#: storage/file/fd.c:1910 #, c-format msgid "could not unlink temporary file \"%s\": %m" msgstr "ошибка удаления временного файла \"%s\": %m" -#: storage/file/fd.c:2027 +#: storage/file/fd.c:1998 #, c-format msgid "could not delete file \"%s\": %m" msgstr "ошибка удаления файла \"%s\": %m" -#: storage/file/fd.c:2207 +#: storage/file/fd.c:2185 #, c-format msgid "temporary file size exceeds temp_file_limit (%dkB)" msgstr "размер временного файла превышает предел temp_file_limit (%d КБ)" -#: storage/file/fd.c:2472 storage/file/fd.c:2531 +#: storage/file/fd.c:2541 storage/file/fd.c:2600 #, c-format msgid "exceeded maxAllocatedDescs (%d) while trying to open file \"%s\"" msgstr "превышен предел maxAllocatedDescs (%d) при попытке открыть файл \"%s\"" -#: storage/file/fd.c:2576 +#: storage/file/fd.c:2645 #, c-format msgid "exceeded maxAllocatedDescs (%d) while trying to execute command \"%s\"" msgstr "" "превышен предел maxAllocatedDescs (%d) при попытке выполнить команду \"%s\"" -#: storage/file/fd.c:2733 +#: storage/file/fd.c:2801 #, c-format msgid "exceeded maxAllocatedDescs (%d) while trying to open directory \"%s\"" msgstr "" "превышен предел maxAllocatedDescs (%d) при попытке открыть каталог \"%s\"" -#: storage/file/fd.c:3269 +#: storage/file/fd.c:3331 #, c-format msgid "unexpected file found in temporary-files directory: \"%s\"" msgstr "в каталоге временных файлов обнаружен неуместный файл: \"%s\"" -#: storage/file/fd.c:3387 +#: storage/file/fd.c:3449 #, c-format msgid "" "syncing data directory (syncfs), elapsed time: %ld.%02d s, current path: %s" @@ -23628,12 +24226,12 @@ msgstr "" "синхронизация каталога данных (syncfs), прошло времени: %ld.%02d с, текущий " "путь: %s" -#: storage/file/fd.c:3401 +#: storage/file/fd.c:3463 #, c-format msgid "could not synchronize file system for file \"%s\": %m" msgstr "не удалось синхронизировать с ФС файл \"%s\": %m" -#: storage/file/fd.c:3619 +#: storage/file/fd.c:3676 #, c-format msgid "" "syncing data directory (pre-fsync), elapsed time: %ld.%02d s, current path: " @@ -23642,7 +24240,7 @@ msgstr "" "синхронизация каталога данных (подготовка к fsync), прошло времени: %ld.%02d " "с, текущий путь: %s" -#: storage/file/fd.c:3651 +#: storage/file/fd.c:3708 #, c-format msgid "" "syncing data directory (fsync), elapsed time: %ld.%02d s, current path: %s" @@ -23650,6 +24248,26 @@ msgstr "" "синхронизация каталога данных (fsync), прошло времени: %ld.%02d с, текущий " "путь: %s" +#: storage/file/fd.c:3897 +#, c-format +msgid "debug_io_direct is not supported on this platform." +msgstr "Параметр debug_io_direct на этой платформе не поддерживается." + +#: storage/file/fd.c:3944 +#, c-format +msgid "" +"debug_io_direct is not supported for WAL because XLOG_BLCKSZ is too small" +msgstr "" +"режим debug_io_direct не поддерживается для WAL из-за слишком маленького " +"размера XLOG_BLCKSZ" + +#: storage/file/fd.c:3951 +#, c-format +msgid "debug_io_direct is not supported for data because BLCKSZ is too small" +msgstr "" +"режим debug_io_direct не поддерживается для данных из-за слишком маленького " +"размера BLCKSZ" + #: storage/file/reinit.c:145 #, c-format msgid "" @@ -23673,102 +24291,112 @@ msgstr "" msgid "could not attach to a SharedFileSet that is already destroyed" msgstr "не удалось подключиться к уже уничтоженному набору SharedFileSet" -#: storage/ipc/dsm.c:353 +#: storage/ipc/dsm.c:352 #, c-format msgid "dynamic shared memory control segment is corrupt" msgstr "сегмент управления динамической разделяемой памятью испорчен" -#: storage/ipc/dsm.c:418 +#: storage/ipc/dsm.c:417 #, c-format msgid "dynamic shared memory control segment is not valid" msgstr "сегмент управления динамической разделяемой памятью не в порядке" -#: storage/ipc/dsm.c:600 +#: storage/ipc/dsm.c:599 #, c-format msgid "too many dynamic shared memory segments" msgstr "слишком много сегментов динамической разделяемой памяти" -#: storage/ipc/dsm_impl.c:235 storage/ipc/dsm_impl.c:544 -#: storage/ipc/dsm_impl.c:648 storage/ipc/dsm_impl.c:819 +#: storage/ipc/dsm_impl.c:231 storage/ipc/dsm_impl.c:537 +#: storage/ipc/dsm_impl.c:641 storage/ipc/dsm_impl.c:812 #, c-format msgid "could not unmap shared memory segment \"%s\": %m" msgstr "не удалось освободить сегмент разделяемой памяти %s: %m" -#: storage/ipc/dsm_impl.c:245 storage/ipc/dsm_impl.c:554 -#: storage/ipc/dsm_impl.c:658 storage/ipc/dsm_impl.c:829 +#: storage/ipc/dsm_impl.c:241 storage/ipc/dsm_impl.c:547 +#: storage/ipc/dsm_impl.c:651 storage/ipc/dsm_impl.c:822 #, c-format msgid "could not remove shared memory segment \"%s\": %m" msgstr "ошибка при удалении сегмента разделяемой памяти \"%s\": %m" -#: storage/ipc/dsm_impl.c:269 storage/ipc/dsm_impl.c:729 -#: storage/ipc/dsm_impl.c:843 +#: storage/ipc/dsm_impl.c:265 storage/ipc/dsm_impl.c:722 +#: storage/ipc/dsm_impl.c:836 #, c-format msgid "could not open shared memory segment \"%s\": %m" msgstr "не удалось открыть сегмент разделяемой памяти \"%s\": %m" -#: storage/ipc/dsm_impl.c:294 storage/ipc/dsm_impl.c:570 -#: storage/ipc/dsm_impl.c:774 storage/ipc/dsm_impl.c:867 +#: storage/ipc/dsm_impl.c:290 storage/ipc/dsm_impl.c:563 +#: storage/ipc/dsm_impl.c:767 storage/ipc/dsm_impl.c:860 #, c-format msgid "could not stat shared memory segment \"%s\": %m" msgstr "не удалось обратиться к сегменту разделяемой памяти \"%s\": %m" -#: storage/ipc/dsm_impl.c:313 storage/ipc/dsm_impl.c:918 +#: storage/ipc/dsm_impl.c:309 storage/ipc/dsm_impl.c:911 #, c-format msgid "could not resize shared memory segment \"%s\" to %zu bytes: %m" msgstr "" "не удалось изменить размер сегмента разделяемой памяти \"%s\" до %zu байт: %m" -#: storage/ipc/dsm_impl.c:335 storage/ipc/dsm_impl.c:591 -#: storage/ipc/dsm_impl.c:750 storage/ipc/dsm_impl.c:940 +#: storage/ipc/dsm_impl.c:331 storage/ipc/dsm_impl.c:584 +#: storage/ipc/dsm_impl.c:743 storage/ipc/dsm_impl.c:933 #, c-format msgid "could not map shared memory segment \"%s\": %m" msgstr "не удалось отобразить сегмент разделяемой памяти \"%s\": %m" -#: storage/ipc/dsm_impl.c:526 +#: storage/ipc/dsm_impl.c:519 #, c-format msgid "could not get shared memory segment: %m" msgstr "не удалось получить сегмент разделяемой памяти: %m" -#: storage/ipc/dsm_impl.c:714 +#: storage/ipc/dsm_impl.c:707 #, c-format msgid "could not create shared memory segment \"%s\": %m" msgstr "не удалось создать сегмент разделяемой памяти \"%s\": %m" -#: storage/ipc/dsm_impl.c:951 +#: storage/ipc/dsm_impl.c:944 #, c-format msgid "could not close shared memory segment \"%s\": %m" msgstr "не удалось закрыть сегмент разделяемой памяти \"%s\": %m" -#: storage/ipc/dsm_impl.c:991 storage/ipc/dsm_impl.c:1040 +#: storage/ipc/dsm_impl.c:984 storage/ipc/dsm_impl.c:1033 #, c-format msgid "could not duplicate handle for \"%s\": %m" msgstr "не удалось продублировать указатель для \"%s\": %m" -#: storage/ipc/procarray.c:3823 +#: storage/ipc/procarray.c:3796 #, c-format msgid "database \"%s\" is being used by prepared transactions" msgstr "база \"%s\" используется подготовленными транзакциями" -#: storage/ipc/procarray.c:3855 storage/ipc/signalfuncs.c:226 +#: storage/ipc/procarray.c:3828 storage/ipc/procarray.c:3837 +#: storage/ipc/signalfuncs.c:230 storage/ipc/signalfuncs.c:237 +#, c-format +msgid "permission denied to terminate process" +msgstr "нет прав для завершения процесса" + +#: storage/ipc/procarray.c:3829 storage/ipc/signalfuncs.c:231 #, c-format -msgid "must be a superuser to terminate superuser process" -msgstr "прерывать процесс суперпользователя может только суперпользователь" +msgid "" +"Only roles with the %s attribute may terminate processes of roles with the " +"%s attribute." +msgstr "" +"Только роли с атрибутом %s могут завершать процессы, принадлежащие ролям с " +"атрибутом %s." -#: storage/ipc/procarray.c:3862 storage/ipc/signalfuncs.c:231 +#: storage/ipc/procarray.c:3838 storage/ipc/signalfuncs.c:238 #, c-format msgid "" -"must be a member of the role whose process is being terminated or member of " -"pg_signal_backend" +"Only roles with privileges of the role whose process is being terminated or " +"with privileges of the \"%s\" role may terminate this process." msgstr "" -"необходимо быть членом роли, процесс которой прерывается, или роли " -"pg_signal_backend" +"Только роли с правами роли, которой принадлежит процесс, или с правами роли " +"\"%s\" могут завершить этот процесс." -#: storage/ipc/procsignal.c:419 +#: storage/ipc/procsignal.c:420 #, c-format -msgid "still waiting for backend with PID %lu to accept ProcSignalBarrier" +msgid "still waiting for backend with PID %d to accept ProcSignalBarrier" msgstr "" "продолжается ожидание получения сигнала ProcSignalBarrier обслуживающим " -"процессом с PID %lu" +"процессом с PID %d" #: storage/ipc/shm_mq.c:384 #, c-format @@ -23781,12 +24409,12 @@ 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:982 -#: storage/lmgr/lock.c:1020 storage/lmgr/lock.c:2845 storage/lmgr/lock.c:4259 -#: storage/lmgr/lock.c:4324 storage/lmgr/lock.c:4674 -#: storage/lmgr/predicate.c:2472 storage/lmgr/predicate.c:2487 -#: storage/lmgr/predicate.c:3969 storage/lmgr/predicate.c:5081 -#: utils/hash/dynahash.c:1112 +#: 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 #, c-format msgid "out of shared memory" msgstr "нехватка разделяемой памяти" @@ -23828,33 +24456,41 @@ msgstr "запрошенный размер разделяемой памяти msgid "PID %d is not a PostgreSQL backend process" msgstr "PID %d не относится к обслуживающему процессу PostgreSQL" -#: storage/ipc/signalfuncs.c:104 storage/lmgr/proc.c:1434 +#: storage/ipc/signalfuncs.c:104 storage/lmgr/proc.c:1379 #: utils/adt/mcxtfuncs.c:190 #, c-format msgid "could not send signal to process %d: %m" msgstr "отправить сигнал процессу %d не удалось: %m" -#: storage/ipc/signalfuncs.c:124 +#: storage/ipc/signalfuncs.c:124 storage/ipc/signalfuncs.c:131 +#, c-format +msgid "permission denied to cancel query" +msgstr "нет прав для отмены запроса" + +#: storage/ipc/signalfuncs.c:125 #, c-format -msgid "must be a superuser to cancel superuser query" -msgstr "для отмены запроса суперпользователя нужно быть суперпользователем" +msgid "" +"Only roles with the %s attribute may cancel queries of roles with the %s " +"attribute." +msgstr "" +"Только роли с атрибутом %s могут отменять запросы ролей с атрибутом %s." -#: storage/ipc/signalfuncs.c:129 +#: storage/ipc/signalfuncs.c:132 #, c-format msgid "" -"must be a member of the role whose query is being canceled or member of " -"pg_signal_backend" +"Only roles with privileges of the role whose query is being canceled or with " +"privileges of the \"%s\" role may cancel this query." msgstr "" -"необходимо быть членом роли, запрос которой отменяется, или роли " -"pg_signal_backend" +"Только роли с правами роли, которая выполняет запрос, или с правами роли " +"\"%s\" могут отменить этот запрос." -#: storage/ipc/signalfuncs.c:170 +#: storage/ipc/signalfuncs.c:174 #, c-format msgid "could not check the existence of the backend with PID %d: %m" msgstr "" "не удалось проверить существование обслуживающего процесса с PID %d: %m" -#: storage/ipc/signalfuncs.c:188 +#: storage/ipc/signalfuncs.c:192 #, 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" @@ -23862,12 +24498,12 @@ msgstr[0] "обслуживающий процесс с PID %d не заверш msgstr[1] "обслуживающий процесс с PID %d не завершился за %lld мс" msgstr[2] "обслуживающий процесс с PID %d не завершился за %lld мс" -#: storage/ipc/signalfuncs.c:219 +#: storage/ipc/signalfuncs.c:223 #, c-format msgid "\"timeout\" must not be negative" msgstr "\"timeout\" не может быть отрицательным" -#: storage/ipc/signalfuncs.c:271 +#: storage/ipc/signalfuncs.c:279 #, c-format msgid "must be superuser to rotate log files with adminpack 1.0" msgstr "" @@ -23875,64 +24511,68 @@ msgstr "" "суперпользователь" #. translator: %s is a SQL function name -#: storage/ipc/signalfuncs.c:273 utils/adt/genfile.c:250 +#: storage/ipc/signalfuncs.c:281 utils/adt/genfile.c:250 #, c-format msgid "Consider using %s, which is part of core, instead." msgstr "Рассмотрите возможность использования функции %s, включённой в ядро." -#: storage/ipc/signalfuncs.c:279 storage/ipc/signalfuncs.c:299 +#: storage/ipc/signalfuncs.c:287 storage/ipc/signalfuncs.c:307 #, c-format msgid "rotation not possible because log collection not active" msgstr "прокрутка невозможна, так как протоколирование отключено" -#: storage/ipc/standby.c:307 +#: storage/ipc/standby.c:330 #, c-format msgid "recovery still waiting after %ld.%03d ms: %s" msgstr "процесс восстановления продолжает ожидание после %ld.%03d мс: %s" -#: storage/ipc/standby.c:316 +#: storage/ipc/standby.c:339 #, c-format msgid "recovery finished waiting after %ld.%03d ms: %s" msgstr "процесс восстановления завершил ожидание после %ld.%03d мс: %s" -#: storage/ipc/standby.c:883 tcop/postgres.c:3344 +#: storage/ipc/standby.c:921 tcop/postgres.c:3384 #, c-format msgid "canceling statement due to conflict with recovery" msgstr "" "выполнение оператора отменено из-за конфликта с процессом восстановления" -#: storage/ipc/standby.c:884 tcop/postgres.c:2499 +#: storage/ipc/standby.c:922 tcop/postgres.c:2533 #, c-format msgid "User transaction caused buffer deadlock with recovery." msgstr "" "Транзакция пользователя привела к взаимоблокировке с процессом " "восстановления." -#: storage/ipc/standby.c:1423 +#: storage/ipc/standby.c:1488 msgid "unknown reason" msgstr "причина неизвестна" -#: storage/ipc/standby.c:1428 +#: storage/ipc/standby.c:1493 msgid "recovery conflict on buffer pin" msgstr "конфликт восстановления при закреплении буфера" -#: storage/ipc/standby.c:1431 +#: storage/ipc/standby.c:1496 msgid "recovery conflict on lock" msgstr "конфликт восстановления при получении блокировки" -#: storage/ipc/standby.c:1434 +#: storage/ipc/standby.c:1499 msgid "recovery conflict on tablespace" msgstr "конфликт восстановления при обращении к табличному пространству" -#: storage/ipc/standby.c:1437 +#: storage/ipc/standby.c:1502 msgid "recovery conflict on snapshot" msgstr "конфликт восстановления при получении снимка" -#: storage/ipc/standby.c:1440 +#: storage/ipc/standby.c:1505 +msgid "recovery conflict on replication slot" +msgstr "конфликт восстановления со слотом репликации" + +#: storage/ipc/standby.c:1508 msgid "recovery conflict on buffer deadlock" msgstr "конфликт восстановления из-за взаимной блокировки буфера" -#: storage/ipc/standby.c:1443 +#: storage/ipc/standby.c:1511 msgid "recovery conflict on database" msgstr "конфликт восстановления при обращении к базе данных" @@ -23957,23 +24597,23 @@ msgstr "неверное значение ориентира: %d" msgid "invalid large object write request size: %d" msgstr "неверный размер записи большого объекта: %d" -#: storage/lmgr/deadlock.c:1122 +#: storage/lmgr/deadlock.c:1104 #, c-format msgid "Process %d waits for %s on %s; blocked by process %d." msgstr "" "Процесс %d ожидает в режиме %s блокировку \"%s\"; заблокирован процессом %d." -#: storage/lmgr/deadlock.c:1141 +#: storage/lmgr/deadlock.c:1123 #, c-format msgid "Process %d: %s" msgstr "Процесс %d: %s" -#: storage/lmgr/deadlock.c:1150 +#: storage/lmgr/deadlock.c:1132 #, c-format msgid "deadlock detected" msgstr "обнаружена взаимоблокировка" -#: storage/lmgr/deadlock.c:1153 +#: storage/lmgr/deadlock.c:1135 #, c-format msgid "See server log for query details." msgstr "Подробности запроса смотрите в протоколе сервера." @@ -24019,67 +24659,72 @@ msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\"" msgstr "" "при проверке ограничения-исключения для кортежа (%u,%u) в отношении \"%s\"" -#: storage/lmgr/lmgr.c:1135 +#: storage/lmgr/lmgr.c:1174 #, c-format msgid "relation %u of database %u" msgstr "отношение %u базы данных %u" -#: storage/lmgr/lmgr.c:1141 +#: storage/lmgr/lmgr.c:1180 #, c-format msgid "extension of relation %u of database %u" msgstr "расширение отношения %u базы данных %u" -#: storage/lmgr/lmgr.c:1147 +#: storage/lmgr/lmgr.c:1186 #, c-format msgid "pg_database.datfrozenxid of database %u" msgstr "pg_database.datfrozenxid базы %u" -#: storage/lmgr/lmgr.c:1152 +#: storage/lmgr/lmgr.c:1191 #, c-format msgid "page %u of relation %u of database %u" msgstr "страница %u отношения %u базы данных %u" -#: storage/lmgr/lmgr.c:1159 +#: storage/lmgr/lmgr.c:1198 #, c-format msgid "tuple (%u,%u) of relation %u of database %u" msgstr "кортеж (%u,%u) отношения %u базы данных %u" -#: storage/lmgr/lmgr.c:1167 +#: storage/lmgr/lmgr.c:1206 #, c-format msgid "transaction %u" msgstr "транзакция %u" -#: storage/lmgr/lmgr.c:1172 +#: storage/lmgr/lmgr.c:1211 #, c-format msgid "virtual transaction %d/%u" msgstr "виртуальная транзакция %d/%u" -#: storage/lmgr/lmgr.c:1178 +#: storage/lmgr/lmgr.c:1217 #, c-format msgid "speculative token %u of transaction %u" msgstr "спекулятивный маркер %u транзакции %u" -#: storage/lmgr/lmgr.c:1184 +#: storage/lmgr/lmgr.c:1223 #, c-format msgid "object %u of class %u of database %u" msgstr "объект %u класса %u базы данных %u" -#: storage/lmgr/lmgr.c:1192 +#: storage/lmgr/lmgr.c:1231 #, c-format msgid "user lock [%u,%u,%u]" msgstr "пользовательская блокировка [%u,%u,%u]" -#: storage/lmgr/lmgr.c:1199 +#: storage/lmgr/lmgr.c:1238 #, c-format msgid "advisory lock [%u,%u,%u,%u]" msgstr "рекомендательная блокировка [%u,%u,%u,%u]" -#: storage/lmgr/lmgr.c:1207 +#: storage/lmgr/lmgr.c:1246 +#, c-format +msgid "remote transaction %u of subscription %u of database %u" +msgstr "удалённая транзакция %u подписки %u в базе данных %u" + +#: storage/lmgr/lmgr.c:1253 #, c-format msgid "unrecognized locktag type %d" msgstr "нераспознанный тип блокировки %d" -#: storage/lmgr/lock.c:803 +#: storage/lmgr/lock.c:791 #, c-format msgid "" "cannot acquire lock mode %s on database objects while recovery is in progress" @@ -24087,7 +24732,7 @@ msgstr "" "пока выполняется восстановление, нельзя получить блокировку объектов базы " "данных в режиме %s" -#: storage/lmgr/lock.c:805 +#: storage/lmgr/lock.c:793 #, c-format msgid "" "Only RowExclusiveLock or less can be acquired on database objects during " @@ -24096,13 +24741,7 @@ msgstr "" "В процессе восстановления для объектов базы данных может быть получена " "только блокировка RowExclusiveLock или менее сильная." -#: storage/lmgr/lock.c:983 storage/lmgr/lock.c:1021 storage/lmgr/lock.c:2846 -#: storage/lmgr/lock.c:4260 storage/lmgr/lock.c:4325 storage/lmgr/lock.c:4675 -#, c-format -msgid "You might need to increase max_locks_per_transaction." -msgstr "Возможно, следует увеличить параметр max_locks_per_transaction." - -#: storage/lmgr/lock.c:3301 storage/lmgr/lock.c:3369 storage/lmgr/lock.c:3485 +#: storage/lmgr/lock.c:3235 storage/lmgr/lock.c:3303 storage/lmgr/lock.c:3419 #, c-format msgid "" "cannot PREPARE while holding both session-level and transaction-level locks " @@ -24111,12 +24750,12 @@ msgstr "" "нельзя выполнить PREPARE, удерживая блокировки на уровне сеанса и на уровне " "транзакции для одного объекта" -#: storage/lmgr/predicate.c:700 +#: storage/lmgr/predicate.c:649 #, c-format msgid "not enough elements in RWConflictPool to record a read/write conflict" msgstr "в пуле недостаточно элементов для записи о конфликте чтения/записи" -#: storage/lmgr/predicate.c:701 storage/lmgr/predicate.c:729 +#: storage/lmgr/predicate.c:650 storage/lmgr/predicate.c:675 #, c-format msgid "" "You might need to run fewer transactions at a time or increase " @@ -24125,7 +24764,7 @@ msgstr "" "Попробуйте уменьшить число транзакций в секунду или увеличить параметр " "max_connections." -#: storage/lmgr/predicate.c:728 +#: storage/lmgr/predicate.c:674 #, c-format msgid "" "not enough elements in RWConflictPool to record a potential read/write " @@ -24134,13 +24773,13 @@ msgstr "" "в пуле недостаточно элементов для записи о потенциальном конфликте чтения/" "записи" -#: storage/lmgr/predicate.c:1695 +#: storage/lmgr/predicate.c:1630 #, c-format msgid "\"default_transaction_isolation\" is set to \"serializable\"." msgstr "" "Параметр \"default_transaction_isolation\" имеет значение \"serializable\"." -#: storage/lmgr/predicate.c:1696 +#: storage/lmgr/predicate.c:1631 #, c-format msgid "" "You can use \"SET default_transaction_isolation = 'repeatable read'\" to " @@ -24149,34 +24788,27 @@ msgstr "" "Чтобы изменить режим по умолчанию, выполните \"SET " "default_transaction_isolation = 'repeatable read'\"." -#: storage/lmgr/predicate.c:1747 +#: storage/lmgr/predicate.c:1682 #, c-format msgid "a snapshot-importing transaction must not be READ ONLY DEFERRABLE" msgstr "транзакция, импортирующая снимок, не должна быть READ ONLY DEFERRABLE" -#: storage/lmgr/predicate.c:1826 utils/time/snapmgr.c:569 -#: utils/time/snapmgr.c:575 +#: storage/lmgr/predicate.c:1761 utils/time/snapmgr.c:570 +#: utils/time/snapmgr.c:576 #, c-format msgid "could not import the requested snapshot" msgstr "не удалось импортировать запрошенный снимок" -#: storage/lmgr/predicate.c:1827 utils/time/snapmgr.c:576 +#: storage/lmgr/predicate.c:1762 utils/time/snapmgr.c:577 #, c-format msgid "The source process with PID %d is not running anymore." msgstr "Исходный процесс с PID %d уже не работает." -#: storage/lmgr/predicate.c:2473 storage/lmgr/predicate.c:2488 -#: storage/lmgr/predicate.c:3970 -#, c-format -msgid "You might need to increase max_pred_locks_per_transaction." -msgstr "" -"Возможно, следует увеличить значение параметра max_locks_per_transaction." - -#: storage/lmgr/predicate.c:4101 storage/lmgr/predicate.c:4137 -#: storage/lmgr/predicate.c:4170 storage/lmgr/predicate.c:4178 -#: storage/lmgr/predicate.c:4217 storage/lmgr/predicate.c:4459 -#: storage/lmgr/predicate.c:4796 storage/lmgr/predicate.c:4808 -#: storage/lmgr/predicate.c:4851 storage/lmgr/predicate.c:4889 +#: storage/lmgr/predicate.c:3935 storage/lmgr/predicate.c:3971 +#: storage/lmgr/predicate.c:4004 storage/lmgr/predicate.c:4012 +#: storage/lmgr/predicate.c:4051 storage/lmgr/predicate.c:4281 +#: storage/lmgr/predicate.c:4600 storage/lmgr/predicate.c:4612 +#: storage/lmgr/predicate.c:4659 storage/lmgr/predicate.c:4695 #, c-format msgid "" "could not serialize access due to read/write dependencies among transactions" @@ -24184,16 +24816,16 @@ msgstr "" "не удалось сериализовать доступ из-за зависимостей чтения/записи между " "транзакциями" -#: storage/lmgr/predicate.c:4103 storage/lmgr/predicate.c:4139 -#: storage/lmgr/predicate.c:4172 storage/lmgr/predicate.c:4180 -#: storage/lmgr/predicate.c:4219 storage/lmgr/predicate.c:4461 -#: storage/lmgr/predicate.c:4798 storage/lmgr/predicate.c:4810 -#: storage/lmgr/predicate.c:4853 storage/lmgr/predicate.c:4891 +#: storage/lmgr/predicate.c:3937 storage/lmgr/predicate.c:3973 +#: storage/lmgr/predicate.c:4006 storage/lmgr/predicate.c:4014 +#: storage/lmgr/predicate.c:4053 storage/lmgr/predicate.c:4283 +#: storage/lmgr/predicate.c:4602 storage/lmgr/predicate.c:4614 +#: storage/lmgr/predicate.c:4661 storage/lmgr/predicate.c:4697 #, c-format msgid "The transaction might succeed if retried." msgstr "Транзакция может завершиться успешно при следующей попытке." -#: storage/lmgr/proc.c:355 +#: storage/lmgr/proc.c:349 #, c-format msgid "" "number of requested standby connections exceeds max_wal_senders (currently " @@ -24202,7 +24834,7 @@ msgstr "" "число запрошенных подключений резервных серверов превосходит max_wal_senders " "(сейчас: %d)" -#: storage/lmgr/proc.c:1531 +#: storage/lmgr/proc.c:1472 #, c-format msgid "" "process %d avoided deadlock for %s on %s by rearranging queue order after " @@ -24211,7 +24843,7 @@ msgstr "" "процесс %d избежал взаимоблокировки, ожидая в режиме %s блокировку \"%s\", " "изменив порядок очереди через %ld.%03d мс" -#: storage/lmgr/proc.c:1546 +#: storage/lmgr/proc.c:1487 #, c-format msgid "" "process %d detected deadlock while waiting for %s on %s after %ld.%03d ms" @@ -24219,19 +24851,19 @@ msgstr "" "процесс %d обнаружил взаимоблокировку, ожидая в режиме %s блокировку \"%s\" " "в течение %ld.%03d мс" -#: storage/lmgr/proc.c:1555 +#: storage/lmgr/proc.c:1496 #, c-format msgid "process %d still waiting for %s on %s after %ld.%03d ms" msgstr "" "процесс %d продолжает ожидать в режиме %s блокировку \"%s\" в течение %ld." "%03d мс" -#: storage/lmgr/proc.c:1562 +#: storage/lmgr/proc.c:1503 #, c-format msgid "process %d acquired %s on %s after %ld.%03d ms" msgstr "процесс %d получил в режиме %s блокировку \"%s\" через %ld.%03d мс" -#: storage/lmgr/proc.c:1579 +#: storage/lmgr/proc.c:1520 #, c-format msgid "process %d failed to acquire %s on %s after %ld.%03d ms" msgstr "" @@ -24267,54 +24899,59 @@ msgstr "испорченный размер элемента (общий раз msgid "corrupted line pointer: offset = %u, size = %u" msgstr "испорченный линейный указатель: смещение = %u, размер = %u" -#: storage/smgr/md.c:470 +#: storage/smgr/md.c:487 storage/smgr/md.c:549 #, c-format msgid "cannot extend file \"%s\" beyond %u blocks" msgstr "не удалось увеличить файл \"%s\" до блока %u" -#: storage/smgr/md.c:485 +#: storage/smgr/md.c:502 storage/smgr/md.c:613 #, c-format msgid "could not extend file \"%s\": %m" msgstr "не удалось увеличить файл \"%s\": %m" -#: storage/smgr/md.c:491 +#: storage/smgr/md.c:508 #, c-format msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u" msgstr "не удалось увеличить файл \"%s\" (записано байт: %d из %d) в блоке %u" -#: storage/smgr/md.c:706 +#: storage/smgr/md.c:591 #, c-format -msgid "could not read block %u in file \"%s\": %m" +msgid "could not extend file \"%s\" with FileFallocate(): %m" +msgstr "не удалось увеличить файл \"%s\" посредством FileFallocate(): %m" + +#: storage/smgr/md.c:782 +#, c-format +msgid "could not read block %u in file \"%s\": %m" msgstr "не удалось прочитать блок %u в файле \"%s\": %m" -#: storage/smgr/md.c:722 +#: storage/smgr/md.c:798 #, c-format msgid "could not read block %u in file \"%s\": read only %d of %d bytes" msgstr "не удалось прочитать блок %u в файле \"%s\" (прочитано байт: %d из %d)" -#: storage/smgr/md.c:776 +#: storage/smgr/md.c:856 #, c-format msgid "could not write block %u in file \"%s\": %m" msgstr "не удалось записать блок %u в файл \"%s\": %m" -#: storage/smgr/md.c:781 +#: storage/smgr/md.c:861 #, c-format msgid "could not write block %u in file \"%s\": wrote only %d of %d bytes" msgstr "не удалось записать блок %u в файл \"%s\" (записано байт: %d из %d)" -#: storage/smgr/md.c:875 +#: storage/smgr/md.c:1012 #, c-format msgid "could not truncate file \"%s\" to %u blocks: it's only %u blocks now" msgstr "" "не удалось обрезать файл \"%s\" (требуемая длина в блоках: %u, но сейчас он " "содержит %u)" -#: storage/smgr/md.c:930 +#: storage/smgr/md.c:1067 #, c-format msgid "could not truncate file \"%s\" to %u blocks: %m" msgstr "не удалось обрезать файл \"%s\" до нужного числа блоков (%u): %m" -#: storage/smgr/md.c:1329 +#: storage/smgr/md.c:1494 #, c-format msgid "" "could not open file \"%s\" (target block %u): previous segment is only %u " @@ -24323,95 +24960,100 @@ msgstr "" "не удалось открыть файл file \"%s\" (целевой блок %u): недостаточно блоков в " "предыдущем сегменте (всего %u)" -#: storage/smgr/md.c:1343 +#: storage/smgr/md.c:1508 #, c-format msgid "could not open file \"%s\" (target block %u): %m" msgstr "не удалось открыть файл file \"%s\" (целевой блок %u): %m" -#: tcop/fastpath.c:148 +#: tcop/fastpath.c:142 utils/fmgr/fmgr.c:2132 +#, c-format +msgid "function with OID %u does not exist" +msgstr "функция с OID %u не существует" + +#: tcop/fastpath.c:149 #, c-format msgid "cannot call function \"%s\" via fastpath interface" msgstr "вызвать функцию \"%s\" через интерфейс fastpath нельзя" -#: tcop/fastpath.c:233 +#: tcop/fastpath.c:234 #, c-format msgid "fastpath function call: \"%s\" (OID %u)" msgstr "вызов функции (через fastpath): \"%s\" (OID %u)" -#: tcop/fastpath.c:312 tcop/postgres.c:1341 tcop/postgres.c:1577 -#: tcop/postgres.c:2036 tcop/postgres.c:2280 +#: tcop/fastpath.c:313 tcop/postgres.c:1365 tcop/postgres.c:1601 +#: tcop/postgres.c:2059 tcop/postgres.c:2309 #, c-format msgid "duration: %s ms" msgstr "продолжительность: %s мс" -#: tcop/fastpath.c:316 +#: tcop/fastpath.c:317 #, c-format msgid "duration: %s ms fastpath function call: \"%s\" (OID %u)" msgstr "" "продолжительность %s мс, вызов функции (через fastpath): \"%s\" (OID %u)" -#: tcop/fastpath.c:352 +#: tcop/fastpath.c:353 #, c-format msgid "function call message contains %d arguments but function requires %d" msgstr "" "сообщение вызова функции содержит неверное число аргументов (%d, а требуется " "%d)" -#: tcop/fastpath.c:360 +#: tcop/fastpath.c:361 #, c-format msgid "function call message contains %d argument formats but %d arguments" msgstr "" "сообщение вызова функции содержит неверное число форматов (%d, а аргументов " "%d)" -#: tcop/fastpath.c:384 +#: tcop/fastpath.c:385 #, c-format msgid "invalid argument size %d in function call message" msgstr "неверный размер аргумента (%d) в сообщении вызова функции" -#: tcop/fastpath.c:447 +#: tcop/fastpath.c:448 #, c-format msgid "incorrect binary data format in function argument %d" msgstr "неправильный формат двоичных данных в аргументе функции %d" -#: tcop/postgres.c:444 tcop/postgres.c:4823 +#: tcop/postgres.c:463 tcop/postgres.c:4882 #, c-format msgid "invalid frontend message type %d" msgstr "неправильный тип клиентского сообщения %d" -#: tcop/postgres.c:1051 +#: tcop/postgres.c:1072 #, c-format msgid "statement: %s" msgstr "оператор: %s" -#: tcop/postgres.c:1346 +#: tcop/postgres.c:1370 #, c-format msgid "duration: %s ms statement: %s" msgstr "продолжительность: %s мс, оператор: %s" -#: tcop/postgres.c:1452 +#: tcop/postgres.c:1476 #, c-format msgid "cannot insert multiple commands into a prepared statement" msgstr "в подготовленный оператор нельзя вставить несколько команд" -#: tcop/postgres.c:1582 +#: tcop/postgres.c:1606 #, c-format msgid "duration: %s ms parse %s: %s" msgstr "продолжительность: %s мс, разбор %s: %s" # [SM]: TO REVIEW -#: tcop/postgres.c:1648 tcop/postgres.c:2595 +#: tcop/postgres.c:1672 tcop/postgres.c:2629 #, c-format msgid "unnamed prepared statement does not exist" msgstr "безымянный подготовленный оператор не существует" -#: tcop/postgres.c:1689 +#: tcop/postgres.c:1713 #, c-format msgid "bind message has %d parameter formats but %d parameters" msgstr "" "неверное число форматов параметров в сообщении Bind (%d, а параметров %d)" -#: tcop/postgres.c:1695 +#: tcop/postgres.c:1719 #, c-format msgid "" "bind message supplies %d parameters, but prepared statement \"%s\" requires " @@ -24420,113 +25062,120 @@ msgstr "" "в сообщении Bind передано неверное число параметров (%d, а подготовленный " "оператор \"%s\" требует %d)" -#: tcop/postgres.c:1914 +#: tcop/postgres.c:1937 #, c-format msgid "incorrect binary data format in bind parameter %d" msgstr "неверный формат двоичных данных в параметре Bind %d" -#: tcop/postgres.c:2041 +#: tcop/postgres.c:2064 #, c-format msgid "duration: %s ms bind %s%s%s: %s" msgstr "продолжительность: %s мс, сообщение Bind %s%s%s: %s" -#: tcop/postgres.c:2091 tcop/postgres.c:2678 +#: tcop/postgres.c:2118 tcop/postgres.c:2712 #, c-format msgid "portal \"%s\" does not exist" msgstr "портал \"%s\" не существует" -#: tcop/postgres.c:2160 +#: tcop/postgres.c:2189 #, c-format msgid "%s %s%s%s: %s" msgstr "%s %s%s%s: %s" -#: tcop/postgres.c:2162 tcop/postgres.c:2288 +#: tcop/postgres.c:2191 tcop/postgres.c:2317 msgid "execute fetch from" msgstr "выборка из" -#: tcop/postgres.c:2163 tcop/postgres.c:2289 +#: tcop/postgres.c:2192 tcop/postgres.c:2318 msgid "execute" msgstr "выполнение" -#: tcop/postgres.c:2285 +#: tcop/postgres.c:2314 #, c-format msgid "duration: %s ms %s %s%s%s: %s" msgstr "продолжительность: %s мс %s %s%s%s: %s" -#: tcop/postgres.c:2431 +#: tcop/postgres.c:2462 #, c-format msgid "prepare: %s" msgstr "подготовка: %s" -#: tcop/postgres.c:2456 +#: tcop/postgres.c:2487 #, c-format msgid "parameters: %s" msgstr "параметры: %s" -#: tcop/postgres.c:2471 +#: tcop/postgres.c:2502 #, c-format msgid "abort reason: recovery conflict" msgstr "причина прерывания: конфликт при восстановлении" -#: tcop/postgres.c:2487 +#: tcop/postgres.c:2518 #, c-format msgid "User was holding shared buffer pin for too long." msgstr "Пользователь удерживал фиксатор разделяемого буфера слишком долго." -#: tcop/postgres.c:2490 +#: tcop/postgres.c:2521 #, c-format msgid "User was holding a relation lock for too long." msgstr "Пользователь удерживал блокировку таблицы слишком долго." -#: tcop/postgres.c:2493 +#: tcop/postgres.c:2524 #, c-format msgid "User was or might have been using tablespace that must be dropped." msgstr "" "Пользователь использовал табличное пространство, которое должно быть удалено." -#: tcop/postgres.c:2496 +#: tcop/postgres.c:2527 #, c-format msgid "User query might have needed to see row versions that must be removed." msgstr "" "Запросу пользователя нужно было видеть версии строк, которые должны быть " "удалены." -#: tcop/postgres.c:2502 +#: tcop/postgres.c:2530 +#, c-format +msgid "User was using a logical replication slot that must be invalidated." +msgstr "" +"Пользователь использовал слот логической репликации, который должен быть " +"аннулирован." + +#: tcop/postgres.c:2536 #, c-format msgid "User was connected to a database that must be dropped." msgstr "Пользователь был подключён к базе данных, которая должна быть удалена." -#: tcop/postgres.c:2541 +#: tcop/postgres.c:2575 #, c-format msgid "portal \"%s\" parameter $%d = %s" msgstr "портал \"%s\", параметр $%d = %s" -#: tcop/postgres.c:2544 +#: tcop/postgres.c:2578 #, c-format msgid "portal \"%s\" parameter $%d" msgstr "портал \"%s\", параметр $%d" -#: tcop/postgres.c:2550 +#: tcop/postgres.c:2584 #, c-format msgid "unnamed portal parameter $%d = %s" msgstr "неименованный портал, параметр $%d = %s" -#: tcop/postgres.c:2553 +#: tcop/postgres.c:2587 #, c-format msgid "unnamed portal parameter $%d" msgstr "неименованный портал, параметр $%d" -#: tcop/postgres.c:2898 +#: tcop/postgres.c:2932 #, c-format msgid "terminating connection because of unexpected SIGQUIT signal" msgstr "закрытие подключения из-за неожиданного сигнала SIGQUIT" -#: tcop/postgres.c:2904 +#: tcop/postgres.c:2938 #, c-format msgid "terminating connection because of crash of another server process" msgstr "закрытие подключения из-за краха другого серверного процесса" -#: tcop/postgres.c:2905 +#: tcop/postgres.c:2939 #, c-format msgid "" "The postmaster has commanded this server process to roll back the current " @@ -24537,7 +25186,7 @@ msgstr "" "транзакцию и завершиться, так как другой серверный процесс завершился " "аварийно и, возможно, разрушил разделяемую память." -#: tcop/postgres.c:2909 tcop/postgres.c:3270 +#: tcop/postgres.c:2943 tcop/postgres.c:3310 #, c-format msgid "" "In a moment you should be able to reconnect to the database and repeat your " @@ -24546,18 +25195,18 @@ msgstr "" "Вы сможете переподключиться к базе данных и повторить вашу команду сию " "минуту." -#: tcop/postgres.c:2916 +#: tcop/postgres.c:2950 #, c-format msgid "terminating connection due to immediate shutdown command" msgstr "" "закрытие подключения вследствие получения команды для немедленного отключения" -#: tcop/postgres.c:3002 +#: tcop/postgres.c:3036 #, c-format msgid "floating-point exception" msgstr "исключение в операции с плавающей точкой" -#: tcop/postgres.c:3003 +#: tcop/postgres.c:3037 #, c-format msgid "" "An invalid floating-point operation was signaled. This probably means an out-" @@ -24567,72 +25216,72 @@ msgstr "" "оказался вне допустимых рамок или произошла ошибка вычисления, например, " "деление на ноль." -#: tcop/postgres.c:3174 +#: tcop/postgres.c:3214 #, c-format msgid "canceling authentication due to timeout" msgstr "отмена проверки подлинности из-за тайм-аута" -#: tcop/postgres.c:3178 +#: tcop/postgres.c:3218 #, c-format msgid "terminating autovacuum process due to administrator command" msgstr "прекращение процесса автоочистки по команде администратора" -#: tcop/postgres.c:3182 +#: tcop/postgres.c:3222 #, c-format msgid "terminating logical replication worker due to administrator command" msgstr "завершение обработчика логической репликации по команде администратора" -#: tcop/postgres.c:3199 tcop/postgres.c:3209 tcop/postgres.c:3268 +#: tcop/postgres.c:3239 tcop/postgres.c:3249 tcop/postgres.c:3308 #, c-format msgid "terminating connection due to conflict with recovery" msgstr "закрытие подключения из-за конфликта с процессом восстановления" -#: tcop/postgres.c:3220 +#: tcop/postgres.c:3260 #, c-format msgid "terminating connection due to administrator command" msgstr "закрытие подключения по команде администратора" -#: tcop/postgres.c:3251 +#: tcop/postgres.c:3291 #, c-format msgid "connection to client lost" msgstr "подключение к клиенту потеряно" -#: tcop/postgres.c:3321 +#: tcop/postgres.c:3361 #, c-format msgid "canceling statement due to lock timeout" msgstr "выполнение оператора отменено из-за тайм-аута блокировки" -#: tcop/postgres.c:3328 +#: tcop/postgres.c:3368 #, c-format msgid "canceling statement due to statement timeout" msgstr "выполнение оператора отменено из-за тайм-аута" -#: tcop/postgres.c:3335 +#: tcop/postgres.c:3375 #, c-format msgid "canceling autovacuum task" msgstr "отмена задачи автоочистки" -#: tcop/postgres.c:3358 +#: tcop/postgres.c:3398 #, c-format msgid "canceling statement due to user request" msgstr "выполнение оператора отменено по запросу пользователя" -#: tcop/postgres.c:3372 +#: tcop/postgres.c:3412 #, c-format msgid "terminating connection due to idle-in-transaction timeout" msgstr "закрытие подключения из-за тайм-аута простоя в транзакции" -#: tcop/postgres.c:3383 +#: tcop/postgres.c:3423 #, c-format msgid "terminating connection due to idle-session timeout" msgstr "закрытие подключения из-за тайм-аута простоя сеанса" -#: tcop/postgres.c:3523 +#: tcop/postgres.c:3514 #, c-format msgid "stack depth limit exceeded" msgstr "превышен предел глубины стека" -#: tcop/postgres.c:3524 +#: tcop/postgres.c:3515 #, c-format msgid "" "Increase the configuration parameter \"max_stack_depth\" (currently %dkB), " @@ -24642,12 +25291,12 @@ msgstr "" "КБ), предварительно убедившись, что ОС предоставляет достаточный размер " "стека." -#: tcop/postgres.c:3587 +#: tcop/postgres.c:3562 #, c-format msgid "\"max_stack_depth\" must not exceed %ldkB." msgstr "Значение \"max_stack_depth\" не должно превышать %ld КБ." -#: tcop/postgres.c:3589 +#: tcop/postgres.c:3564 #, c-format msgid "" "Increase the platform's stack depth limit via \"ulimit -s\" or local " @@ -24656,49 +25305,72 @@ msgstr "" "Увеличьте предел глубины стека в системе с помощью команды \"ulimit -s\" или " "эквивалента в вашей ОС." -#: tcop/postgres.c:3945 +#: tcop/postgres.c:3587 +#, c-format +msgid "client_connection_check_interval must be set to 0 on this platform." +msgstr "" +"Значение client_connection_check_interval должно равняться 0 на этой " +"платформе." + +#: tcop/postgres.c:3608 +#, c-format +msgid "Cannot enable parameter when \"log_statement_stats\" is true." +msgstr "" +"Этот параметр нельзя включить, когда \"log_statement_stats\" равен true." + +#: tcop/postgres.c:3623 +#, c-format +msgid "" +"Cannot enable \"log_statement_stats\" when \"log_parser_stats\", " +"\"log_planner_stats\", or \"log_executor_stats\" is true." +msgstr "" +"Параметр \"log_statement_stats\" нельзя включить, когда " +"\"log_parser_stats\", \"log_planner_stats\" или \"log_executor_stats\" равны " +"true." + +#: tcop/postgres.c:3971 #, c-format msgid "invalid command-line argument for server process: %s" msgstr "неверный аргумент командной строки для серверного процесса: %s" -#: tcop/postgres.c:3946 tcop/postgres.c:3952 +#: tcop/postgres.c:3972 tcop/postgres.c:3978 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Для дополнительной информации попробуйте \"%s --help\"." -#: tcop/postgres.c:3950 +#: tcop/postgres.c:3976 #, c-format msgid "%s: invalid command-line argument: %s" msgstr "%s: неверный аргумент командной строки: %s" -#: tcop/postgres.c:4003 +#: tcop/postgres.c:4029 #, c-format msgid "%s: no database nor user name specified" msgstr "%s: не указаны ни база данных, ни пользователь" -#: tcop/postgres.c:4725 +#: tcop/postgres.c:4779 #, c-format msgid "invalid CLOSE message subtype %d" msgstr "неверный подтип сообщения CLOSE: %d" -#: tcop/postgres.c:4760 +#: tcop/postgres.c:4816 #, c-format msgid "invalid DESCRIBE message subtype %d" msgstr "неверный подтип сообщения DESCRIBE: %d" -#: tcop/postgres.c:4844 +#: tcop/postgres.c:4903 #, c-format msgid "fastpath function calls not supported in a replication connection" msgstr "" "вызовы функций через fastpath не поддерживаются для реплицирующих соединений" -#: tcop/postgres.c:4848 +#: tcop/postgres.c:4907 #, c-format msgid "extended query protocol not supported in a replication connection" msgstr "" "протокол расширенных запросов не поддерживается для реплицирующих соединений" -#: tcop/postgres.c:5025 +#: tcop/postgres.c:5087 #, c-format msgid "" "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s " @@ -24754,14 +25426,18 @@ msgstr "в рамках операции с ограничениями по бе msgid "cannot execute %s within a background process" msgstr "выполнять %s в фоновом процессе нельзя" -#: tcop/utility.c:953 +#. translator: %s is name of a SQL command, eg CHECKPOINT +#: tcop/utility.c:954 #, c-format -msgid "must be superuser or have privileges of pg_checkpoint to do CHECKPOINT" -msgstr "" -"для выполнения CHECKPOINT нужно быть суперпользователем или иметь права роли " -"pg_checkpoint" +msgid "permission denied to execute %s command" +msgstr "нет прав для выполнения команды %s" + +#: tcop/utility.c:956 +#, c-format +msgid "Only roles with privileges of the \"%s\" role may execute this command." +msgstr "Выполнять эту команду могут только роли с правами роли \"%s\"." -#: tsearch/dict_ispell.c:52 tsearch/dict_thesaurus.c:615 +#: tsearch/dict_ispell.c:52 tsearch/dict_thesaurus.c:616 #, c-format msgid "multiple DictFile parameters" msgstr "повторяющийся параметр DictFile" @@ -24781,7 +25457,7 @@ msgstr "нераспознанный параметр ispell: \"%s\"" msgid "missing AffFile parameter" msgstr "отсутствует параметр AffFile" -#: tsearch/dict_ispell.c:102 tsearch/dict_thesaurus.c:639 +#: tsearch/dict_ispell.c:102 tsearch/dict_thesaurus.c:640 #, c-format msgid "missing DictFile parameter" msgstr "отсутствует параметр DictFile" @@ -24870,28 +25546,28 @@ msgstr "" msgid "thesaurus substitute phrase is empty (rule %d)" msgstr "Фраза подстановки в тезаурусе не определена (правило %d)" -#: tsearch/dict_thesaurus.c:624 +#: tsearch/dict_thesaurus.c:625 #, c-format msgid "multiple Dictionary parameters" msgstr "повторяющийся параметр Dictionary" -#: tsearch/dict_thesaurus.c:631 +#: tsearch/dict_thesaurus.c:632 #, c-format msgid "unrecognized Thesaurus parameter: \"%s\"" msgstr "нераспознанный параметр тезауруса: \"%s\"" -#: tsearch/dict_thesaurus.c:643 +#: tsearch/dict_thesaurus.c:644 #, c-format msgid "missing Dictionary parameter" msgstr "отсутствует параметр Dictionary" #: tsearch/spell.c:381 tsearch/spell.c:398 tsearch/spell.c:407 -#: tsearch/spell.c:1063 +#: tsearch/spell.c:1043 #, c-format msgid "invalid affix flag \"%s\"" msgstr "неверный флаг аффиксов \"%s\"" -#: tsearch/spell.c:385 tsearch/spell.c:1067 +#: tsearch/spell.c:385 tsearch/spell.c:1047 #, c-format msgid "affix flag \"%s\" is out of range" msgstr "флаг аффикса \"%s\" вне диапазона" @@ -24911,29 +25587,29 @@ msgstr "неверный флаг аффиксов \"%s\" со значение msgid "could not open dictionary file \"%s\": %m" msgstr "не удалось открыть файл словаря \"%s\": %m" -#: tsearch/spell.c:764 utils/adt/regexp.c:209 +#: tsearch/spell.c:749 utils/adt/regexp.c:224 jsonpath_gram.y:559 #, c-format msgid "invalid regular expression: %s" msgstr "неверное регулярное выражение: %s" -#: tsearch/spell.c:983 tsearch/spell.c:1000 tsearch/spell.c:1017 -#: tsearch/spell.c:1034 tsearch/spell.c:1099 gram.y:17812 gram.y:17829 +#: tsearch/spell.c:963 tsearch/spell.c:980 tsearch/spell.c:997 +#: tsearch/spell.c:1014 tsearch/spell.c:1079 gram.y:18123 gram.y:18140 #, c-format msgid "syntax error" msgstr "ошибка синтаксиса" -#: tsearch/spell.c:1190 tsearch/spell.c:1202 tsearch/spell.c:1762 -#: tsearch/spell.c:1767 tsearch/spell.c:1772 +#: tsearch/spell.c:1170 tsearch/spell.c:1182 tsearch/spell.c:1742 +#: tsearch/spell.c:1747 tsearch/spell.c:1752 #, c-format msgid "invalid affix alias \"%s\"" msgstr "неверное указание аффикса \"%s\"" -#: tsearch/spell.c:1243 tsearch/spell.c:1314 tsearch/spell.c:1463 +#: tsearch/spell.c:1223 tsearch/spell.c:1294 tsearch/spell.c:1443 #, c-format msgid "could not open affix file \"%s\": %m" msgstr "не удалось открыть файл аффиксов \"%s\": %m" -#: tsearch/spell.c:1297 +#: tsearch/spell.c:1277 #, c-format msgid "" "Ispell dictionary supports only \"default\", \"long\", and \"num\" flag " @@ -24942,44 +25618,44 @@ msgstr "" "словарь Ispell поддерживает для флага только значения \"default\", \"long\" " "и \"num\"" -#: tsearch/spell.c:1341 +#: tsearch/spell.c:1321 #, c-format msgid "invalid number of flag vector aliases" msgstr "неверное количество векторов флагов" -#: tsearch/spell.c:1364 +#: tsearch/spell.c:1344 #, c-format msgid "number of aliases exceeds specified number %d" msgstr "количество псевдонимов превышает заданное число %d" -#: tsearch/spell.c:1579 +#: tsearch/spell.c:1559 #, c-format msgid "affix file contains both old-style and new-style commands" msgstr "файл аффиксов содержит команды и в старом, и в новом стиле" -#: tsearch/to_tsany.c:195 utils/adt/tsvector.c:272 utils/adt/tsvector_op.c:1127 +#: tsearch/to_tsany.c:195 utils/adt/tsvector.c:278 utils/adt/tsvector_op.c:1128 #, c-format msgid "string is too long for tsvector (%d bytes, max %d bytes)" msgstr "строка слишком длинна для tsvector (%d Б, при максимуме %d)" -#: tsearch/ts_locale.c:227 +#: tsearch/ts_locale.c:238 #, c-format msgid "line %d of configuration file \"%s\": \"%s\"" msgstr "строка %d файла конфигурации \"%s\": \"%s\"" -#: tsearch/ts_locale.c:307 +#: tsearch/ts_locale.c:317 #, c-format msgid "conversion from wchar_t to server encoding failed: %m" msgstr "преобразовать wchar_t в кодировку сервера не удалось: %m" -#: tsearch/ts_parse.c:386 tsearch/ts_parse.c:393 tsearch/ts_parse.c:572 -#: tsearch/ts_parse.c:579 +#: tsearch/ts_parse.c:387 tsearch/ts_parse.c:394 tsearch/ts_parse.c:573 +#: tsearch/ts_parse.c:580 #, c-format msgid "word is too long to be indexed" msgstr "слишком длинное слово для индексации" -#: tsearch/ts_parse.c:387 tsearch/ts_parse.c:394 tsearch/ts_parse.c:573 -#: tsearch/ts_parse.c:580 +#: tsearch/ts_parse.c:388 tsearch/ts_parse.c:395 tsearch/ts_parse.c:574 +#: tsearch/ts_parse.c:581 #, c-format msgid "Words longer than %d characters are ignored." msgstr "Слова длиннее %d символов игнорируются." @@ -24994,73 +25670,73 @@ msgstr "неверное имя файла конфигурации тексто msgid "could not open stop-word file \"%s\": %m" msgstr "не удалось открыть файл стоп-слов \"%s\": %m" -#: tsearch/wparser.c:313 tsearch/wparser.c:401 tsearch/wparser.c:478 +#: tsearch/wparser.c:308 tsearch/wparser.c:396 tsearch/wparser.c:473 #, c-format msgid "text search parser does not support headline creation" msgstr "анализатор текстового поиска не поддерживает создание выдержек" -#: tsearch/wparser_def.c:2574 +#: tsearch/wparser_def.c:2663 #, c-format msgid "unrecognized headline parameter: \"%s\"" msgstr "нераспознанный параметр функции выдержки: \"%s\"" -#: tsearch/wparser_def.c:2593 +#: tsearch/wparser_def.c:2673 #, c-format msgid "MinWords should be less than MaxWords" msgstr "Значение MinWords должно быть меньше MaxWords" -#: tsearch/wparser_def.c:2597 +#: tsearch/wparser_def.c:2677 #, c-format msgid "MinWords should be positive" msgstr "Значение MinWords должно быть положительным" -#: tsearch/wparser_def.c:2601 +#: tsearch/wparser_def.c:2681 #, c-format msgid "ShortWord should be >= 0" msgstr "Значение ShortWord должно быть >= 0" -#: tsearch/wparser_def.c:2605 +#: tsearch/wparser_def.c:2685 #, c-format msgid "MaxFragments should be >= 0" msgstr "Значение MaxFragments должно быть >= 0" -#: utils/activity/pgstat.c:421 +#: utils/activity/pgstat.c:438 #, c-format msgid "could not unlink permanent statistics file \"%s\": %m" msgstr "ошибка удаления постоянного файла статистики \"%s\": %m" -#: utils/activity/pgstat.c:1209 +#: utils/activity/pgstat.c:1252 #, c-format msgid "invalid statistics kind: \"%s\"" msgstr "неверный вид статистики: \"%s\"" -#: utils/activity/pgstat.c:1289 +#: utils/activity/pgstat.c:1332 #, c-format msgid "could not open temporary statistics file \"%s\": %m" msgstr "не удалось открыть временный файл статистики \"%s\": %m" -#: utils/activity/pgstat.c:1395 +#: utils/activity/pgstat.c:1444 #, c-format msgid "could not write temporary statistics file \"%s\": %m" msgstr "не удалось записать во временный файл статистики \"%s\": %m" -#: utils/activity/pgstat.c:1404 +#: utils/activity/pgstat.c:1453 #, c-format msgid "could not close temporary statistics file \"%s\": %m" msgstr "не удалось закрыть временный файл статистики \"%s\": %m" -#: utils/activity/pgstat.c:1412 +#: utils/activity/pgstat.c:1461 #, c-format msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m" msgstr "" "не удалось переименовать временный файл статистики из \"%s\" в \"%s\": %m" -#: utils/activity/pgstat.c:1461 +#: utils/activity/pgstat.c:1510 #, c-format msgid "could not open statistics file \"%s\": %m" msgstr "не удалось открыть файл статистики \"%s\": %m" -#: utils/activity/pgstat.c:1617 +#: utils/activity/pgstat.c:1672 #, c-format msgid "corrupted statistics file \"%s\"" msgstr "файл статистики \"%s\" испорчен" @@ -25070,364 +25746,357 @@ msgstr "файл статистики \"%s\" испорчен" msgid "function call to dropped function" msgstr "вызвана функция, которая была удалена" -#: utils/activity/pgstat_xact.c:371 +#: utils/activity/pgstat_xact.c:363 #, c-format msgid "resetting existing statistics for kind %s, db=%u, oid=%u" msgstr "сбрасывается существующая статистика вида %s, db=%u, oid=%u" -#: utils/adt/acl.c:168 utils/adt/name.c:93 +#: utils/adt/acl.c:177 utils/adt/name.c:93 #, c-format msgid "identifier too long" msgstr "слишком длинный идентификатор" -#: utils/adt/acl.c:169 utils/adt/name.c:94 +#: utils/adt/acl.c:178 utils/adt/name.c:94 #, c-format msgid "Identifier must be less than %d characters." msgstr "Идентификатор должен быть короче %d байт." -#: utils/adt/acl.c:252 +#: utils/adt/acl.c:266 #, c-format msgid "unrecognized key word: \"%s\"" msgstr "нераспознанное ключевое слово: \"%s\"" -#: utils/adt/acl.c:253 +#: utils/adt/acl.c:267 #, c-format msgid "ACL key word must be \"group\" or \"user\"." msgstr "Ключевым словом ACL должно быть \"group\" или \"user\"." -#: utils/adt/acl.c:258 +#: utils/adt/acl.c:275 #, c-format msgid "missing name" msgstr "отсутствует имя" -#: utils/adt/acl.c:259 +#: utils/adt/acl.c:276 #, c-format msgid "A name must follow the \"group\" or \"user\" key word." msgstr "За ключевыми словами \"group\" или \"user\" должно следовать имя." -#: utils/adt/acl.c:265 +#: utils/adt/acl.c:282 #, c-format msgid "missing \"=\" sign" msgstr "отсутствует знак \"=\"" -#: utils/adt/acl.c:324 +#: utils/adt/acl.c:341 #, c-format msgid "invalid mode character: must be one of \"%s\"" msgstr "неверный символ режима: должен быть один из \"%s\"" -#: utils/adt/acl.c:346 +#: utils/adt/acl.c:371 #, c-format msgid "a name must follow the \"/\" sign" msgstr "за знаком \"/\" должно следовать имя" -#: utils/adt/acl.c:354 +#: utils/adt/acl.c:383 #, c-format msgid "defaulting grantor to user ID %u" msgstr "назначившим права считается пользователь с ID %u" -#: utils/adt/acl.c:540 +#: utils/adt/acl.c:569 #, c-format msgid "ACL array contains wrong data type" msgstr "Массив ACL содержит неверный тип данных" -#: utils/adt/acl.c:544 +#: utils/adt/acl.c:573 #, c-format msgid "ACL arrays must be one-dimensional" msgstr "Массивы ACL должны быть одномерными" -#: utils/adt/acl.c:548 +#: utils/adt/acl.c:577 #, c-format msgid "ACL arrays must not contain null values" msgstr "Массивы ACL не должны содержать значения null" -#: utils/adt/acl.c:572 +#: utils/adt/acl.c:606 #, c-format msgid "extra garbage at the end of the ACL specification" msgstr "лишний мусор в конце спецификации ACL" -#: utils/adt/acl.c:1214 +#: utils/adt/acl.c:1248 #, c-format msgid "grant options cannot be granted back to your own grantor" msgstr "привилегию назначения прав нельзя вернуть тому, кто назначил её вам" -#: utils/adt/acl.c:1275 -#, c-format -msgid "dependent privileges exist" -msgstr "существуют зависимые права" - -#: utils/adt/acl.c:1276 -#, c-format -msgid "Use CASCADE to revoke them too." -msgstr "Используйте CASCADE, чтобы отозвать и их." - -#: utils/adt/acl.c:1530 +#: utils/adt/acl.c:1564 #, c-format msgid "aclinsert is no longer supported" msgstr "aclinsert больше не поддерживается" -#: utils/adt/acl.c:1540 +#: utils/adt/acl.c:1574 #, c-format msgid "aclremove is no longer supported" msgstr "aclremove больше не поддерживается" -#: utils/adt/acl.c:1630 utils/adt/acl.c:1684 +#: utils/adt/acl.c:1693 #, c-format msgid "unrecognized privilege type: \"%s\"" msgstr "нераспознанный тип прав: \"%s\"" -#: utils/adt/acl.c:3469 utils/adt/regproc.c:101 utils/adt/regproc.c:277 +#: utils/adt/acl.c:3476 utils/adt/regproc.c:100 utils/adt/regproc.c:265 #, c-format msgid "function \"%s\" does not exist" msgstr "функция \"%s\" не существует" -#: utils/adt/acl.c:5008 -#, c-format -msgid "must be member of role \"%s\"" -msgstr "нужно быть членом роли \"%s\"" - -#: utils/adt/array_expanded.c:274 utils/adt/arrayfuncs.c:936 -#: utils/adt/arrayfuncs.c:1544 utils/adt/arrayfuncs.c:3263 -#: utils/adt/arrayfuncs.c:3405 utils/adt/arrayfuncs.c:5981 -#: utils/adt/arrayfuncs.c:6322 utils/adt/arrayutils.c:94 -#: utils/adt/arrayutils.c:103 utils/adt/arrayutils.c:110 +#: utils/adt/acl.c:5023 #, c-format -msgid "array size exceeds the maximum allowed (%d)" -msgstr "размер массива превышает предел (%d)" +msgid "must be able to SET ROLE \"%s\"" +msgstr "нужны права для выполнения SET ROLE \"%s\"" -#: utils/adt/array_userfuncs.c:80 utils/adt/array_userfuncs.c:467 -#: utils/adt/array_userfuncs.c:547 utils/adt/json.c:645 utils/adt/json.c:740 -#: utils/adt/json.c:778 utils/adt/jsonb.c:1114 utils/adt/jsonb.c:1143 -#: utils/adt/jsonb.c:1537 utils/adt/jsonb.c:1701 utils/adt/jsonb.c:1711 +#: utils/adt/array_userfuncs.c:102 utils/adt/array_userfuncs.c:489 +#: utils/adt/array_userfuncs.c:878 utils/adt/json.c:694 utils/adt/json.c:831 +#: utils/adt/json.c:869 utils/adt/jsonb.c:1139 utils/adt/jsonb.c:1211 +#: utils/adt/jsonb.c:1629 utils/adt/jsonb.c:1817 utils/adt/jsonb.c:1827 #, c-format msgid "could not determine input data type" msgstr "не удалось определить тип входных данных" -#: utils/adt/array_userfuncs.c:85 +#: utils/adt/array_userfuncs.c:107 #, c-format msgid "input data type is not an array" msgstr "тип входных данных не является массивом" -#: utils/adt/array_userfuncs.c:129 utils/adt/array_userfuncs.c:181 -#: utils/adt/float.c:1234 utils/adt/float.c:1308 utils/adt/float.c:4046 -#: utils/adt/float.c:4060 utils/adt/int.c:777 utils/adt/int.c:799 -#: utils/adt/int.c:813 utils/adt/int.c:827 utils/adt/int.c:858 -#: utils/adt/int.c:879 utils/adt/int.c:996 utils/adt/int.c:1010 -#: utils/adt/int.c:1024 utils/adt/int.c:1057 utils/adt/int.c:1071 -#: utils/adt/int.c:1085 utils/adt/int.c:1116 utils/adt/int.c:1198 -#: utils/adt/int.c:1262 utils/adt/int.c:1330 utils/adt/int.c:1336 -#: utils/adt/int8.c:1257 utils/adt/numeric.c:1830 utils/adt/numeric.c:4293 -#: utils/adt/varbit.c:1195 utils/adt/varbit.c:1596 utils/adt/varlena.c:1113 -#: utils/adt/varlena.c:3391 +#: 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 #, c-format msgid "integer out of range" msgstr "целое вне диапазона" -#: utils/adt/array_userfuncs.c:136 utils/adt/array_userfuncs.c:191 +#: utils/adt/array_userfuncs.c:158 utils/adt/array_userfuncs.c:213 #, c-format msgid "argument must be empty or one-dimensional array" msgstr "аргумент должен быть одномерным массивом или пустым" -#: utils/adt/array_userfuncs.c:273 utils/adt/array_userfuncs.c:312 -#: utils/adt/array_userfuncs.c:349 utils/adt/array_userfuncs.c:378 -#: utils/adt/array_userfuncs.c:406 +#: utils/adt/array_userfuncs.c:295 utils/adt/array_userfuncs.c:334 +#: utils/adt/array_userfuncs.c:371 utils/adt/array_userfuncs.c:400 +#: utils/adt/array_userfuncs.c:428 #, c-format msgid "cannot concatenate incompatible arrays" msgstr "соединять несовместимые массивы нельзя" -#: utils/adt/array_userfuncs.c:274 +#: utils/adt/array_userfuncs.c:296 #, c-format msgid "" "Arrays with element types %s and %s are not compatible for concatenation." msgstr "Массивы с элементами типов %s и %s несовместимы для соединения." -#: utils/adt/array_userfuncs.c:313 +#: utils/adt/array_userfuncs.c:335 #, c-format msgid "Arrays of %d and %d dimensions are not compatible for concatenation." msgstr "Массивы с размерностями %d и %d несовместимы для соединения." -#: utils/adt/array_userfuncs.c:350 +#: utils/adt/array_userfuncs.c:372 #, c-format msgid "" "Arrays with differing element dimensions are not compatible for " "concatenation." msgstr "Массивы с разными размерностями элементов несовместимы для соединения." -#: utils/adt/array_userfuncs.c:379 utils/adt/array_userfuncs.c:407 +#: utils/adt/array_userfuncs.c:401 utils/adt/array_userfuncs.c:429 #, c-format msgid "Arrays with differing dimensions are not compatible for concatenation." msgstr "Массивы с разными размерностями несовместимы для соединения." -#: utils/adt/array_userfuncs.c:663 utils/adt/array_userfuncs.c:815 +#: utils/adt/array_userfuncs.c:987 utils/adt/array_userfuncs.c:995 +#: utils/adt/arrayfuncs.c:5590 utils/adt/arrayfuncs.c:5596 +#, c-format +msgid "cannot accumulate arrays of different dimensionality" +msgstr "аккумулировать массивы различной размерности нельзя" + +#: utils/adt/array_userfuncs.c:1286 utils/adt/array_userfuncs.c:1440 #, c-format msgid "searching for elements in multidimensional arrays is not supported" msgstr "поиск элементов в многомерных массивах не поддерживается" -#: utils/adt/array_userfuncs.c:687 +#: utils/adt/array_userfuncs.c:1315 #, c-format msgid "initial position must not be null" msgstr "начальная позиция не может быть NULL" -#: utils/adt/arrayfuncs.c:271 utils/adt/arrayfuncs.c:285 -#: utils/adt/arrayfuncs.c:296 utils/adt/arrayfuncs.c:318 -#: utils/adt/arrayfuncs.c:333 utils/adt/arrayfuncs.c:347 -#: utils/adt/arrayfuncs.c:353 utils/adt/arrayfuncs.c:360 -#: utils/adt/arrayfuncs.c:493 utils/adt/arrayfuncs.c:509 -#: utils/adt/arrayfuncs.c:520 utils/adt/arrayfuncs.c:535 -#: utils/adt/arrayfuncs.c:556 utils/adt/arrayfuncs.c:586 -#: utils/adt/arrayfuncs.c:593 utils/adt/arrayfuncs.c:601 -#: utils/adt/arrayfuncs.c:635 utils/adt/arrayfuncs.c:658 -#: utils/adt/arrayfuncs.c:678 utils/adt/arrayfuncs.c:790 -#: utils/adt/arrayfuncs.c:799 utils/adt/arrayfuncs.c:829 -#: utils/adt/arrayfuncs.c:844 utils/adt/arrayfuncs.c:897 +#: utils/adt/array_userfuncs.c:1688 +#, c-format +msgid "sample size must be between 0 and %d" +msgstr "размер выборки должен задаваться числом от 0 до %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 #, c-format msgid "malformed array literal: \"%s\"" msgstr "ошибочный литерал массива: \"%s\"" -#: utils/adt/arrayfuncs.c:272 +#: utils/adt/arrayfuncs.c:274 #, c-format msgid "\"[\" must introduce explicitly-specified array dimensions." msgstr "За \"[\" должны следовать явно задаваемые размерности массива." -#: utils/adt/arrayfuncs.c:286 +#: utils/adt/arrayfuncs.c:288 #, c-format msgid "Missing array dimension value." msgstr "Отсутствует значение размерности массива." -#: utils/adt/arrayfuncs.c:297 utils/adt/arrayfuncs.c:334 +#: utils/adt/arrayfuncs.c:299 utils/adt/arrayfuncs.c:338 #, c-format msgid "Missing \"%s\" after array dimensions." msgstr "После размерностей массива отсутствует \"%s\"." -#: utils/adt/arrayfuncs.c:306 utils/adt/arrayfuncs.c:2910 -#: utils/adt/arrayfuncs.c:2942 utils/adt/arrayfuncs.c:2957 +#: utils/adt/arrayfuncs.c:308 utils/adt/arrayfuncs.c:2933 +#: utils/adt/arrayfuncs.c:2965 utils/adt/arrayfuncs.c:2980 #, c-format msgid "upper bound cannot be less than lower bound" msgstr "верхняя граница не может быть меньше нижней" -#: utils/adt/arrayfuncs.c:319 +#: utils/adt/arrayfuncs.c:321 #, c-format msgid "Array value must start with \"{\" or dimension information." msgstr "Значение массива должно начинаться с \"{\" или указания размерности." -#: utils/adt/arrayfuncs.c:348 +#: utils/adt/arrayfuncs.c:352 #, c-format msgid "Array contents must start with \"{\"." msgstr "Содержимое массива должно начинаться с \"{\"." -#: utils/adt/arrayfuncs.c:354 utils/adt/arrayfuncs.c:361 +#: utils/adt/arrayfuncs.c:360 utils/adt/arrayfuncs.c:367 #, c-format msgid "Specified array dimensions do not match array contents." msgstr "Указанные размерности массива не соответствуют его содержимому." -#: utils/adt/arrayfuncs.c:494 utils/adt/arrayfuncs.c:521 -#: utils/adt/multirangetypes.c:164 utils/adt/rangetypes.c:2310 -#: utils/adt/rangetypes.c:2318 utils/adt/rowtypes.c:211 -#: utils/adt/rowtypes.c:219 +#: utils/adt/arrayfuncs.c:507 utils/adt/arrayfuncs.c:533 +#: utils/adt/multirangetypes.c:166 utils/adt/rangetypes.c:2405 +#: utils/adt/rangetypes.c:2413 utils/adt/rowtypes.c:219 +#: utils/adt/rowtypes.c:230 #, c-format msgid "Unexpected end of input." msgstr "Неожиданный конец ввода." -#: utils/adt/arrayfuncs.c:510 utils/adt/arrayfuncs.c:557 -#: utils/adt/arrayfuncs.c:587 utils/adt/arrayfuncs.c:636 +#: utils/adt/arrayfuncs.c:522 utils/adt/arrayfuncs.c:569 +#: utils/adt/arrayfuncs.c:599 utils/adt/arrayfuncs.c:648 #, c-format msgid "Unexpected \"%c\" character." msgstr "Неожиданный знак \"%c\"." -#: utils/adt/arrayfuncs.c:536 utils/adt/arrayfuncs.c:659 +#: utils/adt/arrayfuncs.c:548 utils/adt/arrayfuncs.c:671 #, c-format msgid "Unexpected array element." msgstr "Неожиданный элемент массива." -#: utils/adt/arrayfuncs.c:594 +#: utils/adt/arrayfuncs.c:606 #, c-format msgid "Unmatched \"%c\" character." msgstr "Непарный знак \"%c\"." -#: utils/adt/arrayfuncs.c:602 utils/adt/jsonfuncs.c:2489 +#: utils/adt/arrayfuncs.c:614 utils/adt/jsonfuncs.c:2553 #, c-format msgid "Multidimensional arrays must have sub-arrays with matching dimensions." msgstr "" "Для многомерных массивов должны задаваться вложенные массивы с " "соответствующими размерностями." -#: utils/adt/arrayfuncs.c:679 utils/adt/multirangetypes.c:287 +#: utils/adt/arrayfuncs.c:691 utils/adt/multirangetypes.c:293 #, c-format msgid "Junk after closing right brace." msgstr "Мусор после закрывающей фигурной скобки." -#: utils/adt/arrayfuncs.c:1301 utils/adt/arrayfuncs.c:3371 -#: utils/adt/arrayfuncs.c:5885 +#: utils/adt/arrayfuncs.c:1325 utils/adt/arrayfuncs.c:3479 +#: utils/adt/arrayfuncs.c:6080 #, c-format msgid "invalid number of dimensions: %d" msgstr "неверное число размерностей: %d" -#: utils/adt/arrayfuncs.c:1312 +#: utils/adt/arrayfuncs.c:1336 #, c-format msgid "invalid array flags" msgstr "неверные флаги массива" -#: utils/adt/arrayfuncs.c:1334 +#: utils/adt/arrayfuncs.c:1358 #, c-format msgid "binary data has array element type %u (%s) instead of expected %u (%s)" msgstr "" "с бинарными данными связан тип элемента массива %u (%s) вместо ожидаемого %u " "(%s)" -#: utils/adt/arrayfuncs.c:1378 utils/adt/multirangetypes.c:445 -#: utils/adt/rangetypes.c:333 utils/cache/lsyscache.c:2915 +#: utils/adt/arrayfuncs.c:1402 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 "для типа %s нет функции ввода двоичных данных" -#: utils/adt/arrayfuncs.c:1518 +#: utils/adt/arrayfuncs.c:1542 #, c-format msgid "improper binary format in array element %d" msgstr "неподходящий двоичный формат в элементе массива %d" -#: utils/adt/arrayfuncs.c:1599 utils/adt/multirangetypes.c:450 -#: utils/adt/rangetypes.c:338 utils/cache/lsyscache.c:2948 +#: utils/adt/arrayfuncs.c:1623 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 "для типа %s нет функции вывода двоичных данных" -#: utils/adt/arrayfuncs.c:2078 +#: utils/adt/arrayfuncs.c:2102 #, c-format msgid "slices of fixed-length arrays not implemented" msgstr "разрезание массивов постоянной длины не поддерживается" -#: utils/adt/arrayfuncs.c:2256 utils/adt/arrayfuncs.c:2278 -#: utils/adt/arrayfuncs.c:2327 utils/adt/arrayfuncs.c:2566 -#: utils/adt/arrayfuncs.c:2888 utils/adt/arrayfuncs.c:5871 -#: utils/adt/arrayfuncs.c:5897 utils/adt/arrayfuncs.c:5908 -#: utils/adt/json.c:1141 utils/adt/json.c:1215 utils/adt/jsonb.c:1315 -#: utils/adt/jsonb.c:1401 utils/adt/jsonfuncs.c:4325 utils/adt/jsonfuncs.c:4479 -#: utils/adt/jsonfuncs.c:4591 utils/adt/jsonfuncs.c:4640 +#: utils/adt/arrayfuncs.c:2280 utils/adt/arrayfuncs.c:2302 +#: utils/adt/arrayfuncs.c:2351 utils/adt/arrayfuncs.c:2589 +#: utils/adt/arrayfuncs.c:2911 utils/adt/arrayfuncs.c:6066 +#: utils/adt/arrayfuncs.c:6092 utils/adt/arrayfuncs.c:6103 +#: utils/adt/json.c:1497 utils/adt/json.c:1569 utils/adt/jsonb.c:1416 +#: utils/adt/jsonb.c:1500 utils/adt/jsonfuncs.c:4434 utils/adt/jsonfuncs.c:4587 +#: utils/adt/jsonfuncs.c:4698 utils/adt/jsonfuncs.c:4746 #, c-format msgid "wrong number of array subscripts" msgstr "неверное число индексов массива" -#: utils/adt/arrayfuncs.c:2261 utils/adt/arrayfuncs.c:2369 -#: utils/adt/arrayfuncs.c:2633 utils/adt/arrayfuncs.c:2947 +#: utils/adt/arrayfuncs.c:2285 utils/adt/arrayfuncs.c:2393 +#: utils/adt/arrayfuncs.c:2656 utils/adt/arrayfuncs.c:2970 #, c-format msgid "array subscript out of range" msgstr "индекс массива вне диапазона" -#: utils/adt/arrayfuncs.c:2266 +#: utils/adt/arrayfuncs.c:2290 #, c-format msgid "cannot assign null value to an element of a fixed-length array" msgstr "нельзя присвоить значение null элементу массива фиксированной длины" -#: utils/adt/arrayfuncs.c:2835 +#: utils/adt/arrayfuncs.c:2858 #, c-format msgid "updates on slices of fixed-length arrays not implemented" msgstr "изменения в срезах массивов фиксированной длины не поддерживаются" -#: utils/adt/arrayfuncs.c:2866 +#: utils/adt/arrayfuncs.c:2889 #, c-format msgid "array slice subscript must provide both boundaries" msgstr "в указании среза массива должны быть заданы обе границы" -#: utils/adt/arrayfuncs.c:2867 +#: utils/adt/arrayfuncs.c:2890 #, c-format msgid "" "When assigning to a slice of an empty array value, slice boundaries must be " @@ -25436,90 +26105,85 @@ msgstr "" "При присвоении значений срезу в пустом массиве, должны полностью задаваться " "обе границы." -#: utils/adt/arrayfuncs.c:2878 utils/adt/arrayfuncs.c:2974 +#: utils/adt/arrayfuncs.c:2901 utils/adt/arrayfuncs.c:2997 #, c-format msgid "source array too small" msgstr "исходный массив слишком мал" -#: utils/adt/arrayfuncs.c:3529 +#: utils/adt/arrayfuncs.c:3637 #, c-format msgid "null array element not allowed in this context" msgstr "элемент массива null недопустим в данном контексте" -#: utils/adt/arrayfuncs.c:3631 utils/adt/arrayfuncs.c:3802 -#: utils/adt/arrayfuncs.c:4193 +#: utils/adt/arrayfuncs.c:3808 utils/adt/arrayfuncs.c:3979 +#: utils/adt/arrayfuncs.c:4370 #, c-format msgid "cannot compare arrays of different element types" msgstr "нельзя сравнивать массивы с элементами разных типов" -#: utils/adt/arrayfuncs.c:3980 utils/adt/multirangetypes.c:2799 -#: utils/adt/multirangetypes.c:2871 utils/adt/rangetypes.c:1343 -#: utils/adt/rangetypes.c:1407 utils/adt/rowtypes.c:1858 +#: utils/adt/arrayfuncs.c:4157 utils/adt/multirangetypes.c:2806 +#: utils/adt/multirangetypes.c:2878 utils/adt/rangetypes.c:1354 +#: utils/adt/rangetypes.c:1418 utils/adt/rowtypes.c:1885 #, c-format msgid "could not identify a hash function for type %s" msgstr "не удалось найти функцию хеширования для типа %s" -#: utils/adt/arrayfuncs.c:4108 utils/adt/rowtypes.c:1979 +#: utils/adt/arrayfuncs.c:4285 utils/adt/rowtypes.c:2006 #, c-format msgid "could not identify an extended hash function for type %s" msgstr "не удалось найти функцию расширенного хеширования для типа %s" -#: utils/adt/arrayfuncs.c:5285 +#: utils/adt/arrayfuncs.c:5480 #, c-format msgid "data type %s is not an array type" msgstr "тип данных %s не является типом массива" -#: utils/adt/arrayfuncs.c:5340 +#: utils/adt/arrayfuncs.c:5535 #, c-format msgid "cannot accumulate null arrays" msgstr "аккумулировать NULL-массивы нельзя" -#: utils/adt/arrayfuncs.c:5368 +#: utils/adt/arrayfuncs.c:5563 #, c-format msgid "cannot accumulate empty arrays" msgstr "аккумулировать пустые массивы нельзя" -#: utils/adt/arrayfuncs.c:5395 utils/adt/arrayfuncs.c:5401 -#, c-format -msgid "cannot accumulate arrays of different dimensionality" -msgstr "аккумулировать массивы различной размерности нельзя" - -#: utils/adt/arrayfuncs.c:5769 utils/adt/arrayfuncs.c:5809 +#: utils/adt/arrayfuncs.c:5964 utils/adt/arrayfuncs.c:6004 #, c-format msgid "dimension array or low bound array cannot be null" msgstr "массив размерностей или массив нижних границ не может быть null" -#: utils/adt/arrayfuncs.c:5872 utils/adt/arrayfuncs.c:5898 +#: utils/adt/arrayfuncs.c:6067 utils/adt/arrayfuncs.c:6093 #, c-format msgid "Dimension array must be one dimensional." msgstr "Массив размерностей должен быть одномерным." -#: utils/adt/arrayfuncs.c:5877 utils/adt/arrayfuncs.c:5903 +#: utils/adt/arrayfuncs.c:6072 utils/adt/arrayfuncs.c:6098 #, c-format msgid "dimension values cannot be null" msgstr "значения размерностей не могут быть null" -#: utils/adt/arrayfuncs.c:5909 +#: utils/adt/arrayfuncs.c:6104 #, c-format msgid "Low bound array has different size than dimensions array." msgstr "Массив нижних границ и массив размерностей имеют разные размеры." -#: utils/adt/arrayfuncs.c:6187 +#: utils/adt/arrayfuncs.c:6382 #, c-format msgid "removing elements from multidimensional arrays is not supported" msgstr "удаление элементов из многомерных массивов не поддерживается" -#: utils/adt/arrayfuncs.c:6464 +#: utils/adt/arrayfuncs.c:6659 #, c-format msgid "thresholds must be one-dimensional array" msgstr "границы должны задаваться одномерным массивом" -#: utils/adt/arrayfuncs.c:6469 +#: utils/adt/arrayfuncs.c:6664 #, c-format msgid "thresholds array must not contain NULLs" msgstr "массив границ не должен содержать NULL" -#: utils/adt/arrayfuncs.c:6702 +#: utils/adt/arrayfuncs.c:6897 #, c-format msgid "number of elements to trim must be between 0 and %d" msgstr "число удаляемых элементов должно быть от 0 до %d" @@ -25534,88 +26198,86 @@ msgstr "индекс элемента массива должен быть це msgid "array subscript in assignment must not be null" msgstr "индекс элемента массива в присваивании не может быть NULL" -#: utils/adt/arrayutils.c:140 +#: utils/adt/arrayutils.c:161 #, c-format msgid "array lower bound is too large: %d" msgstr "нижняя граница массива слишком велика: %d" -#: utils/adt/arrayutils.c:240 +#: utils/adt/arrayutils.c:263 #, c-format msgid "typmod array must be type cstring[]" msgstr "массив typmod должен иметь тип cstring[]" -#: utils/adt/arrayutils.c:245 +#: utils/adt/arrayutils.c:268 #, c-format msgid "typmod array must be one-dimensional" msgstr "массив typmod должен быть одномерным" -#: utils/adt/arrayutils.c:250 +#: utils/adt/arrayutils.c:273 #, c-format msgid "typmod array must not contain nulls" msgstr "массив typmod не должен содержать элементы null" -#: utils/adt/ascii.c:76 +#: utils/adt/ascii.c:77 #, c-format 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:276 utils/adt/datetime.c:4058 -#: utils/adt/float.c:188 utils/adt/float.c:272 utils/adt/float.c:284 -#: utils/adt/float.c:401 utils/adt/float.c:486 utils/adt/float.c:502 -#: utils/adt/geo_ops.c:220 utils/adt/geo_ops.c:230 utils/adt/geo_ops.c:242 -#: utils/adt/geo_ops.c:274 utils/adt/geo_ops.c:316 utils/adt/geo_ops.c:326 -#: utils/adt/geo_ops.c:974 utils/adt/geo_ops.c:1389 utils/adt/geo_ops.c:1424 -#: utils/adt/geo_ops.c:1432 utils/adt/geo_ops.c:3392 utils/adt/geo_ops.c:4607 -#: utils/adt/geo_ops.c:4622 utils/adt/geo_ops.c:4629 utils/adt/int.c:173 -#: utils/adt/int.c:185 utils/adt/jsonpath.c:182 utils/adt/mac.c:93 -#: utils/adt/mac8.c:93 utils/adt/mac8.c:166 utils/adt/mac8.c:184 -#: utils/adt/mac8.c:202 utils/adt/mac8.c:221 utils/adt/network.c:99 -#: utils/adt/numeric.c:698 utils/adt/numeric.c:717 utils/adt/numeric.c:6882 -#: utils/adt/numeric.c:6906 utils/adt/numeric.c:6930 utils/adt/numeric.c:7932 -#: utils/adt/numutils.c:158 utils/adt/numutils.c:234 utils/adt/numutils.c:318 -#: utils/adt/oid.c:44 utils/adt/oid.c:58 utils/adt/oid.c:64 utils/adt/oid.c:86 -#: utils/adt/pg_lsn.c:74 utils/adt/tid.c:76 utils/adt/tid.c:84 -#: utils/adt/tid.c:98 utils/adt/tid.c:107 utils/adt/timestamp.c:497 -#: utils/adt/uuid.c:135 utils/adt/xid8funcs.c:346 +#: 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 #, c-format msgid "invalid input syntax for type %s: \"%s\"" msgstr "неверный синтаксис для типа %s: \"%s\"" -#: utils/adt/cash.c:214 utils/adt/cash.c:239 utils/adt/cash.c:249 -#: utils/adt/cash.c:289 utils/adt/int.c:179 utils/adt/numutils.c:152 -#: utils/adt/numutils.c:228 utils/adt/numutils.c:312 utils/adt/oid.c:70 -#: utils/adt/oid.c:109 +#: 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 #, c-format msgid "value \"%s\" is out of range for type %s" msgstr "значение \"%s\" вне диапазона для типа %s" -#: utils/adt/cash.c:651 utils/adt/cash.c:701 utils/adt/cash.c:752 -#: utils/adt/cash.c:801 utils/adt/cash.c:853 utils/adt/cash.c:903 -#: utils/adt/float.c:105 utils/adt/int.c:842 utils/adt/int.c:958 -#: utils/adt/int.c:1038 utils/adt/int.c:1100 utils/adt/int.c:1138 -#: utils/adt/int.c:1166 utils/adt/int8.c:515 utils/adt/int8.c:573 +#: 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:3093 utils/adt/numeric.c:3116 -#: utils/adt/numeric.c:3201 utils/adt/numeric.c:3219 utils/adt/numeric.c:3315 -#: utils/adt/numeric.c:8481 utils/adt/numeric.c:8771 utils/adt/numeric.c:9096 -#: utils/adt/numeric.c:10553 utils/adt/timestamp.c:3337 +#: 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 #, c-format msgid "division by zero" msgstr "деление на ноль" -#: utils/adt/char.c:196 +#: utils/adt/char.c:197 #, c-format msgid "\"char\" out of range" msgstr "значение \"char\" вне диапазона" -#: utils/adt/cryptohashfuncs.c:47 utils/adt/cryptohashfuncs.c:69 +#: utils/adt/cryptohashfuncs.c:48 utils/adt/cryptohashfuncs.c:70 #, c-format msgid "could not compute %s hash: %s" msgstr "не удалось вычислить хеш %s: %s" -#: utils/adt/date.c:63 utils/adt/timestamp.c:98 utils/adt/varbit.c:105 -#: utils/adt/varchar.c:48 +#: utils/adt/date.c:63 utils/adt/timestamp.c:100 utils/adt/varbit.c:105 +#: utils/adt/varchar.c:49 #, c-format msgid "invalid type modifier" msgstr "неверный модификатор типа" @@ -25630,146 +26292,144 @@ msgstr "TIME(%d)%s: точность должна быть неотрицате msgid "TIME(%d)%s precision reduced to maximum allowed, %d" msgstr "TIME(%d)%s: точность уменьшена до дозволенного максимума: %d" -#: utils/adt/date.c:160 utils/adt/date.c:168 utils/adt/formatting.c:4299 -#: utils/adt/formatting.c:4308 utils/adt/formatting.c:4414 -#: utils/adt/formatting.c:4424 +#: utils/adt/date.c:166 utils/adt/date.c:174 utils/adt/formatting.c:4241 +#: utils/adt/formatting.c:4250 utils/adt/formatting.c:4363 +#: utils/adt/formatting.c:4373 #, c-format msgid "date out of range: \"%s\"" msgstr "дата вне диапазона: \"%s\"" -#: utils/adt/date.c:215 utils/adt/date.c:513 utils/adt/date.c:537 -#: utils/adt/xml.c:2209 +#: 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 #, c-format msgid "date out of range" msgstr "дата вне диапазона" -#: utils/adt/date.c:261 utils/adt/timestamp.c:581 +#: utils/adt/date.c:267 utils/adt/timestamp.c:582 #, c-format msgid "date field value out of range: %d-%02d-%02d" msgstr "значение поля типа date вне диапазона: %d-%02d-%02d" -#: utils/adt/date.c:268 utils/adt/date.c:277 utils/adt/timestamp.c:587 +#: utils/adt/date.c:274 utils/adt/date.c:283 utils/adt/timestamp.c:588 #, c-format msgid "date out of range: %d-%02d-%02d" msgstr "дата вне диапазона: %d-%02d-%02d" -#: utils/adt/date.c:488 +#: utils/adt/date.c:494 #, c-format msgid "cannot subtract infinite dates" msgstr "вычитать бесконечные даты нельзя" -#: utils/adt/date.c:586 utils/adt/date.c:649 utils/adt/date.c:685 -#: utils/adt/date.c:2868 utils/adt/date.c:2878 +#: utils/adt/date.c:592 utils/adt/date.c:655 utils/adt/date.c:691 +#: utils/adt/date.c:2885 utils/adt/date.c:2895 #, c-format msgid "date out of range for timestamp" msgstr "дата вне диапазона для типа timestamp" -#: utils/adt/date.c:1115 utils/adt/date.c:1198 utils/adt/date.c:1214 -#: utils/adt/date.c:2195 utils/adt/date.c:2973 utils/adt/timestamp.c:4032 -#: utils/adt/timestamp.c:4225 utils/adt/timestamp.c:4397 -#: utils/adt/timestamp.c:4650 utils/adt/timestamp.c:4851 -#: utils/adt/timestamp.c:4898 utils/adt/timestamp.c:5122 -#: utils/adt/timestamp.c:5169 utils/adt/timestamp.c:5299 +#: 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 #, c-format msgid "unit \"%s\" not supported for type %s" msgstr "единица \"%s\" для типа %s не поддерживается" -#: utils/adt/date.c:1223 utils/adt/date.c:2211 utils/adt/date.c:2993 -#: utils/adt/timestamp.c:4046 utils/adt/timestamp.c:4242 -#: utils/adt/timestamp.c:4411 utils/adt/timestamp.c:4610 -#: utils/adt/timestamp.c:4907 utils/adt/timestamp.c:5178 -#: utils/adt/timestamp.c:5360 +#: 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 #, c-format msgid "unit \"%s\" not recognized for type %s" msgstr "единица \"%s\" для типа %s не распознана" -#: utils/adt/date.c:1307 utils/adt/date.c:1353 utils/adt/date.c:1907 -#: utils/adt/date.c:1938 utils/adt/date.c:1967 utils/adt/date.c:2831 -#: utils/adt/date.c:3078 utils/adt/datetime.c:420 utils/adt/datetime.c:1869 -#: utils/adt/formatting.c:4141 utils/adt/formatting.c:4177 -#: utils/adt/formatting.c:4268 utils/adt/formatting.c:4390 utils/adt/json.c:418 -#: utils/adt/json.c:457 utils/adt/timestamp.c:225 utils/adt/timestamp.c:257 -#: utils/adt/timestamp.c:699 utils/adt/timestamp.c:708 -#: utils/adt/timestamp.c:786 utils/adt/timestamp.c:819 -#: utils/adt/timestamp.c:2916 utils/adt/timestamp.c:2937 -#: utils/adt/timestamp.c:2950 utils/adt/timestamp.c:2959 -#: utils/adt/timestamp.c:2967 utils/adt/timestamp.c:3022 -#: utils/adt/timestamp.c:3045 utils/adt/timestamp.c:3058 -#: utils/adt/timestamp.c:3069 utils/adt/timestamp.c:3077 -#: utils/adt/timestamp.c:3736 utils/adt/timestamp.c:3860 -#: utils/adt/timestamp.c:3950 utils/adt/timestamp.c:4040 -#: utils/adt/timestamp.c:4133 utils/adt/timestamp.c:4236 -#: utils/adt/timestamp.c:4715 utils/adt/timestamp.c:4989 -#: utils/adt/timestamp.c:5439 utils/adt/timestamp.c:5453 -#: utils/adt/timestamp.c:5458 utils/adt/timestamp.c:5472 -#: utils/adt/timestamp.c:5505 utils/adt/timestamp.c:5592 -#: utils/adt/timestamp.c:5633 utils/adt/timestamp.c:5637 -#: utils/adt/timestamp.c:5706 utils/adt/timestamp.c:5710 -#: utils/adt/timestamp.c:5724 utils/adt/timestamp.c:5758 utils/adt/xml.c:2231 -#: utils/adt/xml.c:2238 utils/adt/xml.c:2258 utils/adt/xml.c:2265 +#: utils/adt/date.c:1313 utils/adt/date.c:1359 utils/adt/date.c:1918 +#: utils/adt/date.c:1949 utils/adt/date.c:1978 utils/adt/date.c:2848 +#: utils/adt/date.c:3080 utils/adt/datetime.c:424 utils/adt/datetime.c:1809 +#: utils/adt/formatting.c:4081 utils/adt/formatting.c:4117 +#: utils/adt/formatting.c:4210 utils/adt/formatting.c:4339 utils/adt/json.c:467 +#: utils/adt/json.c:506 utils/adt/timestamp.c:232 utils/adt/timestamp.c:264 +#: utils/adt/timestamp.c:700 utils/adt/timestamp.c:709 +#: utils/adt/timestamp.c:787 utils/adt/timestamp.c:820 +#: utils/adt/timestamp.c:2933 utils/adt/timestamp.c:2954 +#: utils/adt/timestamp.c:2967 utils/adt/timestamp.c:2976 +#: utils/adt/timestamp.c:2984 utils/adt/timestamp.c:3045 +#: utils/adt/timestamp.c:3068 utils/adt/timestamp.c:3081 +#: utils/adt/timestamp.c:3092 utils/adt/timestamp.c:3100 +#: utils/adt/timestamp.c:3801 utils/adt/timestamp.c:3925 +#: utils/adt/timestamp.c:4015 utils/adt/timestamp.c:4105 +#: utils/adt/timestamp.c:4198 utils/adt/timestamp.c:4301 +#: utils/adt/timestamp.c:4750 utils/adt/timestamp.c:5024 +#: utils/adt/timestamp.c:5463 utils/adt/timestamp.c:5473 +#: utils/adt/timestamp.c:5478 utils/adt/timestamp.c:5484 +#: utils/adt/timestamp.c:5517 utils/adt/timestamp.c:5604 +#: utils/adt/timestamp.c:5645 utils/adt/timestamp.c:5649 +#: utils/adt/timestamp.c:5703 utils/adt/timestamp.c:5707 +#: utils/adt/timestamp.c:5713 utils/adt/timestamp.c:5747 utils/adt/xml.c:2482 +#: utils/adt/xml.c:2489 utils/adt/xml.c:2509 utils/adt/xml.c:2516 #, c-format msgid "timestamp out of range" msgstr "timestamp вне диапазона" -#: utils/adt/date.c:1524 utils/adt/date.c:2326 utils/adt/formatting.c:4476 +#: utils/adt/date.c:1535 utils/adt/date.c:2343 utils/adt/formatting.c:4431 #, c-format msgid "time out of range" msgstr "время вне диапазона" -#: utils/adt/date.c:1576 utils/adt/timestamp.c:596 +#: utils/adt/date.c:1587 utils/adt/timestamp.c:597 #, c-format msgid "time field value out of range: %d:%02d:%02g" msgstr "значение поля типа time вне диапазона: %d:%02d:%02g" -#: utils/adt/date.c:2096 utils/adt/date.c:2630 utils/adt/float.c:1048 -#: utils/adt/float.c:1124 utils/adt/int.c:634 utils/adt/int.c:681 -#: utils/adt/int.c:716 utils/adt/int8.c:414 utils/adt/numeric.c:2497 -#: utils/adt/timestamp.c:3386 utils/adt/timestamp.c:3417 -#: utils/adt/timestamp.c:3448 +#: 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 #, c-format msgid "invalid preceding or following size in window function" msgstr "неверное смещение PRECEDING или FOLLOWING в оконной функции" -#: utils/adt/date.c:2334 +#: utils/adt/date.c:2351 #, c-format msgid "time zone displacement out of range" msgstr "смещение часового пояса вне диапазона" -#: utils/adt/date.c:3084 utils/adt/datetime.c:1121 utils/adt/datetime.c:2027 -#: utils/adt/datetime.c:4906 utils/adt/timestamp.c:516 -#: utils/adt/timestamp.c:543 utils/adt/timestamp.c:4319 -#: utils/adt/timestamp.c:5464 utils/adt/timestamp.c:5716 -#, c-format -msgid "time zone \"%s\" not recognized" -msgstr "часовой пояс \"%s\" не распознан" - -#: utils/adt/date.c:3116 utils/adt/timestamp.c:5494 utils/adt/timestamp.c:5747 +#: utils/adt/date.c:3110 utils/adt/timestamp.c:5506 utils/adt/timestamp.c:5736 #, c-format msgid "interval time zone \"%s\" must not include months or days" msgstr "" "интервал \"%s\", задающий часовой пояс, не должен содержать дней или месяцев" -#: utils/adt/datetime.c:4031 utils/adt/datetime.c:4038 +#: utils/adt/datetime.c:3223 utils/adt/datetime.c:4002 +#: utils/adt/datetime.c:4008 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 #, c-format msgid "date/time field value out of range: \"%s\"" msgstr "значение поля типа date/time вне диапазона: \"%s\"" -#: utils/adt/datetime.c:4040 +#: utils/adt/datetime.c:3985 #, c-format msgid "Perhaps you need a different \"datestyle\" setting." msgstr "Возможно, вам нужно изменить настройку \"datestyle\"." -#: utils/adt/datetime.c:4045 +#: utils/adt/datetime.c:3990 #, c-format msgid "interval field value out of range: \"%s\"" msgstr "значение поля interval вне диапазона: \"%s\"" -#: utils/adt/datetime.c:4051 +#: utils/adt/datetime.c:3996 #, c-format msgid "time zone displacement out of range: \"%s\"" msgstr "смещение часового пояса вне диапазона: \"%s\"" -#: utils/adt/datetime.c:4908 +#: utils/adt/datetime.c:4010 #, c-format msgid "" "This time zone name appears in the configuration file for time zone " @@ -25783,78 +26443,79 @@ msgstr "" msgid "invalid Datum pointer" msgstr "неверный указатель Datum" -#: utils/adt/dbsize.c:747 utils/adt/dbsize.c:813 +#: utils/adt/dbsize.c:761 utils/adt/dbsize.c:837 #, c-format msgid "invalid size: \"%s\"" msgstr "некорректная величина: \"%s\"" -#: utils/adt/dbsize.c:814 +#: utils/adt/dbsize.c:838 #, c-format msgid "Invalid size unit: \"%s\"." msgstr "Неверная единица измерения величины: \"%s\"." -#: utils/adt/dbsize.c:815 +#: utils/adt/dbsize.c:839 #, c-format -msgid "Valid units are \"bytes\", \"kB\", \"MB\", \"GB\", \"TB\", and \"PB\"." +msgid "" +"Valid units are \"bytes\", \"B\", \"kB\", \"MB\", \"GB\", \"TB\", and \"PB\"." msgstr "" -"Допустимые единицы измерения: \"bytes\", \"kB\", \"MB\", \"GB\", \"TB\" и " -"\"PB\"." +"Допустимые единицы измерения: \"bytes\", \"B\", \"kB\", \"MB\", \"GB\", " +"\"TB\" и \"PB\"." #: utils/adt/domains.c:92 #, c-format msgid "type %s is not a domain" msgstr "тип \"%s\" не является доменом" -#: utils/adt/encode.c:65 utils/adt/encode.c:113 +#: utils/adt/encode.c:66 utils/adt/encode.c:114 #, c-format msgid "unrecognized encoding: \"%s\"" msgstr "нераспознанная кодировка: \"%s\"" -#: utils/adt/encode.c:79 +#: utils/adt/encode.c:80 #, c-format msgid "result of encoding conversion is too large" msgstr "результат кодирования слишком объёмный" -#: utils/adt/encode.c:127 +#: utils/adt/encode.c:128 #, c-format msgid "result of decoding conversion is too large" msgstr "результат декодирования слишком объёмный" -#: utils/adt/encode.c:186 +#: utils/adt/encode.c:217 utils/adt/encode.c:227 #, c-format msgid "invalid hexadecimal digit: \"%.*s\"" msgstr "неверная шестнадцатеричная цифра: \"%.*s\"" -#: utils/adt/encode.c:216 +#: utils/adt/encode.c:223 #, c-format msgid "invalid hexadecimal data: odd number of digits" msgstr "неверные шестнадцатеричные данные: нечётное число цифр" -#: utils/adt/encode.c:334 +#: utils/adt/encode.c:344 #, c-format msgid "unexpected \"=\" while decoding base64 sequence" msgstr "неожиданный знак \"=\" при декодировании base64" -#: utils/adt/encode.c:346 +#: utils/adt/encode.c:356 #, c-format msgid "invalid symbol \"%.*s\" found while decoding base64 sequence" msgstr "при декодировании base64 обнаружен неверный символ \"%.*s\"" -#: utils/adt/encode.c:367 +#: utils/adt/encode.c:377 #, c-format msgid "invalid base64 end sequence" msgstr "неверная конечная последовательность base64" -#: utils/adt/encode.c:368 +#: utils/adt/encode.c:378 #, c-format msgid "Input data is missing padding, is truncated, or is otherwise corrupted." msgstr "" "Входные данные лишены выравнивания, обрезаны или повреждены иным образом." -#: utils/adt/encode.c:482 utils/adt/encode.c:547 utils/adt/jsonfuncs.c:629 -#: utils/adt/varlena.c:335 utils/adt/varlena.c:376 jsonpath_gram.y:529 -#: jsonpath_scan.l:515 jsonpath_scan.l:526 jsonpath_scan.l:536 -#: jsonpath_scan.l:578 +#: utils/adt/encode.c:492 utils/adt/encode.c:557 utils/adt/jsonfuncs.c:648 +#: utils/adt/varlena.c:331 utils/adt/varlena.c:372 jsonpath_gram.y:528 +#: jsonpath_scan.l:629 jsonpath_scan.l:640 jsonpath_scan.l:650 +#: jsonpath_scan.l:701 #, c-format msgid "invalid input syntax for type %s" msgstr "неверный синтаксис для типа %s" @@ -25870,24 +26531,24 @@ msgid "New enum values must be committed before they can be used." msgstr "" "Новые значения перечисления должны быть зафиксированы перед использованием." -#: utils/adt/enum.c:120 utils/adt/enum.c:130 utils/adt/enum.c:188 -#: utils/adt/enum.c:198 +#: utils/adt/enum.c:121 utils/adt/enum.c:131 utils/adt/enum.c:194 +#: utils/adt/enum.c:204 #, c-format msgid "invalid input value for enum %s: \"%s\"" msgstr "неверное значение для перечисления %s: \"%s\"" -#: utils/adt/enum.c:160 utils/adt/enum.c:226 utils/adt/enum.c:285 +#: utils/adt/enum.c:166 utils/adt/enum.c:232 utils/adt/enum.c:291 #, c-format msgid "invalid internal value for enum: %u" msgstr "неверное внутреннее значение для перечисления: %u" -#: utils/adt/enum.c:445 utils/adt/enum.c:474 utils/adt/enum.c:514 -#: utils/adt/enum.c:534 +#: utils/adt/enum.c:451 utils/adt/enum.c:480 utils/adt/enum.c:520 +#: utils/adt/enum.c:540 #, c-format msgid "could not determine actual enum type" msgstr "не удалось определить фактический тип перечисления" -#: utils/adt/enum.c:453 utils/adt/enum.c:482 +#: utils/adt/enum.c:459 utils/adt/enum.c:488 #, c-format msgid "enum %s contains no values" msgstr "перечисление %s не содержит значений" @@ -25902,195 +26563,195 @@ msgstr "значение вне диапазона: переполнение" msgid "value out of range: underflow" msgstr "значение вне диапазона: антипереполнение" -#: utils/adt/float.c:266 +#: utils/adt/float.c:286 #, c-format msgid "\"%s\" is out of range for type real" msgstr "\"%s\" вне диапазона для типа real" -#: utils/adt/float.c:478 +#: utils/adt/float.c:488 #, c-format msgid "\"%s\" is out of range for type double precision" msgstr "\"%s\" вне диапазона для типа double precision" -#: utils/adt/float.c:1259 utils/adt/float.c:1333 utils/adt/int.c:354 -#: utils/adt/int.c:892 utils/adt/int.c:914 utils/adt/int.c:928 -#: utils/adt/int.c:942 utils/adt/int.c:974 utils/adt/int.c:1212 -#: utils/adt/int8.c:1278 utils/adt/numeric.c:4405 utils/adt/numeric.c:4410 +#: 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 #, c-format msgid "smallint out of range" msgstr "smallint вне диапазона" -#: utils/adt/float.c:1459 utils/adt/numeric.c:3611 utils/adt/numeric.c:9510 +#: utils/adt/float.c:1453 utils/adt/numeric.c:3693 utils/adt/numeric.c:10027 #, c-format msgid "cannot take square root of a negative number" msgstr "извлечь квадратный корень отрицательного числа нельзя" -#: utils/adt/float.c:1527 utils/adt/numeric.c:3886 utils/adt/numeric.c:3998 +#: utils/adt/float.c:1521 utils/adt/numeric.c:3981 utils/adt/numeric.c:4093 #, c-format msgid "zero raised to a negative power is undefined" msgstr "ноль в отрицательной степени даёт неопределённость" -#: utils/adt/float.c:1531 utils/adt/numeric.c:3890 utils/adt/numeric.c:10406 +#: utils/adt/float.c:1525 utils/adt/numeric.c:3985 utils/adt/numeric.c:10918 #, c-format msgid "a negative number raised to a non-integer power yields a complex result" msgstr "отрицательное число в дробной степени даёт комплексный результат" -#: utils/adt/float.c:1707 utils/adt/float.c:1740 utils/adt/numeric.c:3798 -#: utils/adt/numeric.c:10181 +#: utils/adt/float.c:1701 utils/adt/float.c:1734 utils/adt/numeric.c:3893 +#: utils/adt/numeric.c:10698 #, c-format msgid "cannot take logarithm of zero" msgstr "вычислить логарифм нуля нельзя" -#: utils/adt/float.c:1711 utils/adt/float.c:1744 utils/adt/numeric.c:3736 -#: utils/adt/numeric.c:3793 utils/adt/numeric.c:10185 +#: 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 #, c-format msgid "cannot take logarithm of a negative number" msgstr "вычислить логарифм отрицательного числа нельзя" -#: utils/adt/float.c:1777 utils/adt/float.c:1808 utils/adt/float.c:1903 -#: utils/adt/float.c:1930 utils/adt/float.c:1958 utils/adt/float.c:1985 -#: utils/adt/float.c:2132 utils/adt/float.c:2169 utils/adt/float.c:2339 -#: utils/adt/float.c:2395 utils/adt/float.c:2460 utils/adt/float.c:2517 -#: utils/adt/float.c:2708 utils/adt/float.c:2732 +#: utils/adt/float.c:1771 utils/adt/float.c:1802 utils/adt/float.c:1897 +#: utils/adt/float.c:1924 utils/adt/float.c:1952 utils/adt/float.c:1979 +#: utils/adt/float.c:2126 utils/adt/float.c:2163 utils/adt/float.c:2333 +#: utils/adt/float.c:2389 utils/adt/float.c:2454 utils/adt/float.c:2511 +#: utils/adt/float.c:2702 utils/adt/float.c:2726 #, c-format msgid "input is out of range" msgstr "введённое значение вне диапазона" -#: utils/adt/float.c:2796 +#: utils/adt/float.c:2867 #, c-format msgid "setseed parameter %g is out of allowed range [-1,1]" msgstr "параметр setseed %g вне допустимого диапазона [-1,1]" -#: utils/adt/float.c:4024 utils/adt/numeric.c:1770 +#: utils/adt/float.c:4095 utils/adt/numeric.c:1841 #, c-format msgid "count must be greater than zero" msgstr "счётчик должен быть больше нуля" -#: utils/adt/float.c:4029 utils/adt/numeric.c:1781 +#: utils/adt/float.c:4100 utils/adt/numeric.c:1852 #, c-format msgid "operand, lower bound, and upper bound cannot be NaN" msgstr "операнд, нижняя и верхняя границы не могут быть NaN" -#: utils/adt/float.c:4035 utils/adt/numeric.c:1786 +#: utils/adt/float.c:4106 utils/adt/numeric.c:1857 #, c-format msgid "lower and upper bounds must be finite" msgstr "нижняя и верхняя границы должны быть конечными" -#: utils/adt/float.c:4069 utils/adt/numeric.c:1800 +#: utils/adt/float.c:4172 utils/adt/numeric.c:1871 #, c-format msgid "lower bound cannot equal upper bound" msgstr "нижняя граница не может равняться верхней" -#: utils/adt/formatting.c:561 +#: utils/adt/formatting.c:519 #, c-format msgid "invalid format specification for an interval value" msgstr "неправильная спецификация формата для целого числа" -#: utils/adt/formatting.c:562 +#: utils/adt/formatting.c:520 #, c-format msgid "Intervals are not tied to specific calendar dates." msgstr "Интервалы не привязываются к определённым календарным датам." -#: utils/adt/formatting.c:1192 +#: utils/adt/formatting.c:1150 #, c-format msgid "\"EEEE\" must be the last pattern used" msgstr "\"EEEE\" может быть только последним шаблоном" -#: utils/adt/formatting.c:1200 +#: utils/adt/formatting.c:1158 #, c-format msgid "\"9\" must be ahead of \"PR\"" msgstr "\"9\" должна стоять до \"PR\"" -#: utils/adt/formatting.c:1216 +#: utils/adt/formatting.c:1174 #, c-format msgid "\"0\" must be ahead of \"PR\"" msgstr "\"0\" должен стоять до \"PR\"" -#: utils/adt/formatting.c:1243 +#: utils/adt/formatting.c:1201 #, c-format msgid "multiple decimal points" msgstr "многочисленные десятичные точки" -#: utils/adt/formatting.c:1247 utils/adt/formatting.c:1330 +#: utils/adt/formatting.c:1205 utils/adt/formatting.c:1288 #, c-format msgid "cannot use \"V\" and decimal point together" msgstr "нельзя использовать \"V\" вместе с десятичной точкой" -#: utils/adt/formatting.c:1259 +#: utils/adt/formatting.c:1217 #, c-format msgid "cannot use \"S\" twice" msgstr "нельзя использовать \"S\" дважды" -#: utils/adt/formatting.c:1263 +#: utils/adt/formatting.c:1221 #, c-format msgid "cannot use \"S\" and \"PL\"/\"MI\"/\"SG\"/\"PR\" together" msgstr "нельзя использовать \"S\" вместе с \"PL\"/\"MI\"/\"SG\"/\"PR\"" -#: utils/adt/formatting.c:1283 +#: utils/adt/formatting.c:1241 #, c-format msgid "cannot use \"S\" and \"MI\" together" msgstr "нельзя использовать \"S\" вместе с \"MI\"" -#: utils/adt/formatting.c:1293 +#: utils/adt/formatting.c:1251 #, c-format msgid "cannot use \"S\" and \"PL\" together" msgstr "нельзя использовать \"S\" вместе с \"PL\"" -#: utils/adt/formatting.c:1303 +#: utils/adt/formatting.c:1261 #, c-format msgid "cannot use \"S\" and \"SG\" together" msgstr "нельзя использовать \"S\" вместе с \"SG\"" -#: utils/adt/formatting.c:1312 +#: utils/adt/formatting.c:1270 #, c-format msgid "cannot use \"PR\" and \"S\"/\"PL\"/\"MI\"/\"SG\" together" msgstr "нельзя использовать \"PR\" вместе с \"S\"/\"PL\"/\"MI\"/\"SG\"" -#: utils/adt/formatting.c:1338 +#: utils/adt/formatting.c:1296 #, c-format msgid "cannot use \"EEEE\" twice" msgstr "нельзя использовать \"EEEE\" дважды" -#: utils/adt/formatting.c:1344 +#: utils/adt/formatting.c:1302 #, c-format msgid "\"EEEE\" is incompatible with other formats" msgstr "\"EEEE\" несовместим с другими форматами" -#: utils/adt/formatting.c:1345 +#: utils/adt/formatting.c:1303 #, c-format msgid "" "\"EEEE\" may only be used together with digit and decimal point patterns." msgstr "" "\"EEEE\" может использоваться только с шаблонами цифр и десятичной точки." -#: utils/adt/formatting.c:1429 +#: utils/adt/formatting.c:1387 #, c-format msgid "invalid datetime format separator: \"%s\"" msgstr "неверный разделитель в формате datetime: \"%s\"" -#: utils/adt/formatting.c:1556 +#: utils/adt/formatting.c:1514 #, c-format msgid "\"%s\" is not a number" msgstr "\"%s\" не является числом" -#: utils/adt/formatting.c:1634 +#: utils/adt/formatting.c:1592 #, c-format msgid "case conversion failed: %s" msgstr "преобразовать регистр не удалось: %s" -#: utils/adt/formatting.c:1688 utils/adt/formatting.c:1810 -#: utils/adt/formatting.c:1933 +#: utils/adt/formatting.c:1646 utils/adt/formatting.c:1768 +#: utils/adt/formatting.c:1891 #, c-format msgid "could not determine which collation to use for %s function" msgstr "" "не удалось определить, какое правило сортировки использовать для функции %s" -#: utils/adt/formatting.c:2314 +#: utils/adt/formatting.c:2274 #, c-format msgid "invalid combination of date conventions" msgstr "неверное сочетание стилей дат" -#: utils/adt/formatting.c:2315 +#: utils/adt/formatting.c:2275 #, c-format msgid "" "Do not mix Gregorian and ISO week date conventions in a formatting template." @@ -26098,27 +26759,27 @@ msgstr "" "Не смешивайте Григорианский стиль дат (недель) с ISO в одном шаблоне " "форматирования." -#: utils/adt/formatting.c:2338 +#: utils/adt/formatting.c:2297 #, c-format msgid "conflicting values for \"%s\" field in formatting string" msgstr "конфликтующие значения поля \"%s\" в строке форматирования" -#: utils/adt/formatting.c:2341 +#: utils/adt/formatting.c:2299 #, c-format msgid "This value contradicts a previous setting for the same field type." msgstr "Это значение противоречит предыдущему значению поля того же типа." -#: utils/adt/formatting.c:2412 +#: utils/adt/formatting.c:2366 #, c-format msgid "source string too short for \"%s\" formatting field" msgstr "входная строка короче, чем требует поле форматирования \"%s\"" -#: utils/adt/formatting.c:2415 +#: utils/adt/formatting.c:2368 #, c-format msgid "Field requires %d characters, but only %d remain." msgstr "Требуется символов: %d, а осталось только %d." -#: utils/adt/formatting.c:2418 utils/adt/formatting.c:2433 +#: utils/adt/formatting.c:2370 utils/adt/formatting.c:2384 #, c-format msgid "" "If your source string is not fixed-width, try using the \"FM\" modifier." @@ -26126,132 +26787,132 @@ msgstr "" "Если входная строка имеет переменную длину, попробуйте использовать " "модификатор \"FM\"." -#: utils/adt/formatting.c:2428 utils/adt/formatting.c:2442 -#: utils/adt/formatting.c:2665 +#: utils/adt/formatting.c:2380 utils/adt/formatting.c:2393 +#: utils/adt/formatting.c:2614 #, c-format msgid "invalid value \"%s\" for \"%s\"" msgstr "неверное значение \"%s\" для \"%s\"" -#: utils/adt/formatting.c:2430 +#: utils/adt/formatting.c:2382 #, c-format msgid "Field requires %d characters, but only %d could be parsed." msgstr "Поле должно поглотить символов: %d, но удалось разобрать только %d." -#: utils/adt/formatting.c:2444 +#: utils/adt/formatting.c:2395 #, c-format msgid "Value must be an integer." msgstr "Значение должно быть целым числом." -#: utils/adt/formatting.c:2449 +#: utils/adt/formatting.c:2400 #, c-format msgid "value for \"%s\" in source string is out of range" msgstr "значение \"%s\" во входной строке вне диапазона" -#: utils/adt/formatting.c:2451 +#: utils/adt/formatting.c:2402 #, c-format msgid "Value must be in the range %d to %d." msgstr "Значение должно быть в интервале %d..%d." -#: utils/adt/formatting.c:2667 +#: utils/adt/formatting.c:2616 #, c-format msgid "The given value did not match any of the allowed values for this field." msgstr "" "Данное значение не соответствует ни одному из допустимых значений для этого " "поля." -#: utils/adt/formatting.c:2886 utils/adt/formatting.c:2906 -#: utils/adt/formatting.c:2926 utils/adt/formatting.c:2946 -#: utils/adt/formatting.c:2965 utils/adt/formatting.c:2984 -#: utils/adt/formatting.c:3008 utils/adt/formatting.c:3026 -#: utils/adt/formatting.c:3044 utils/adt/formatting.c:3062 -#: utils/adt/formatting.c:3079 utils/adt/formatting.c:3096 +#: utils/adt/formatting.c:2832 utils/adt/formatting.c:2852 +#: utils/adt/formatting.c:2872 utils/adt/formatting.c:2892 +#: utils/adt/formatting.c:2911 utils/adt/formatting.c:2930 +#: utils/adt/formatting.c:2954 utils/adt/formatting.c:2972 +#: utils/adt/formatting.c:2990 utils/adt/formatting.c:3008 +#: utils/adt/formatting.c:3025 utils/adt/formatting.c:3042 #, c-format msgid "localized string format value too long" msgstr "слишком длинное значение формата локализованной строки" -#: utils/adt/formatting.c:3373 +#: utils/adt/formatting.c:3322 #, c-format msgid "unmatched format separator \"%c\"" msgstr "нет соответствия для заданного в формате разделителя \"%c\"" -#: utils/adt/formatting.c:3434 +#: utils/adt/formatting.c:3383 #, c-format msgid "unmatched format character \"%s\"" msgstr "нет соответствия для заданного в формате символа \"%s\"" -#: utils/adt/formatting.c:3540 utils/adt/formatting.c:3884 +#: utils/adt/formatting.c:3491 #, c-format msgid "formatting field \"%s\" is only supported in to_char" msgstr "поле форматирования \"%s\" поддерживается только в функции to_char" -#: utils/adt/formatting.c:3715 +#: utils/adt/formatting.c:3665 #, c-format msgid "invalid input string for \"Y,YYY\"" msgstr "ошибка синтаксиса в значении для шаблона \"Y,YYY\"" -#: utils/adt/formatting.c:3801 +#: utils/adt/formatting.c:3754 #, c-format msgid "input string is too short for datetime format" msgstr "входная строка короче, чем требует формат datetime" -#: utils/adt/formatting.c:3809 +#: utils/adt/formatting.c:3762 #, c-format msgid "trailing characters remain in input string after datetime format" msgstr "" "после разбора формата datetime во входной строке остались дополнительные " "символы" -#: utils/adt/formatting.c:4370 +#: utils/adt/formatting.c:4319 #, c-format msgid "missing time zone in input string for type timestamptz" msgstr "во входной строке для типа timestamptz нет указания часового пояса" -#: utils/adt/formatting.c:4376 +#: utils/adt/formatting.c:4325 #, c-format msgid "timestamptz out of range" msgstr "значение timestamptz вне диапазона" -#: utils/adt/formatting.c:4404 +#: utils/adt/formatting.c:4353 #, c-format msgid "datetime format is zoned but not timed" msgstr "в формате datetime указан часовой пояс, но отсутствует время" -#: utils/adt/formatting.c:4456 +#: utils/adt/formatting.c:4411 #, c-format msgid "missing time zone in input string for type timetz" msgstr "во входной строке для типа timetz нет указания часового пояса" -#: utils/adt/formatting.c:4462 +#: utils/adt/formatting.c:4417 #, c-format msgid "timetz out of range" msgstr "значение timetz вне диапазона" -#: utils/adt/formatting.c:4488 +#: utils/adt/formatting.c:4443 #, c-format msgid "datetime format is not dated and not timed" msgstr "в формате datetime нет ни даты, ни времени" -#: utils/adt/formatting.c:4621 +#: utils/adt/formatting.c:4575 #, c-format msgid "hour \"%d\" is invalid for the 12-hour clock" msgstr "час \"%d\" не соответствует 12-часовому формату времени" -#: utils/adt/formatting.c:4623 +#: utils/adt/formatting.c:4577 #, c-format msgid "Use the 24-hour clock, or give an hour between 1 and 12." msgstr "Используйте 24-часовой формат или передавайте часы от 1 до 12." -#: utils/adt/formatting.c:4734 +#: utils/adt/formatting.c:4689 #, c-format msgid "cannot calculate day of year without year information" msgstr "нельзя рассчитать день года без информации о годе" -#: utils/adt/formatting.c:5653 +#: utils/adt/formatting.c:5621 #, c-format msgid "\"EEEE\" not supported for input" msgstr "\"EEEE\" не поддерживается при вводе" -#: utils/adt/formatting.c:5665 +#: utils/adt/formatting.c:5633 #, c-format msgid "\"RN\" not supported for input" msgstr "\"RN\" не поддерживается при вводе" @@ -26263,12 +26924,12 @@ msgstr "абсолютный путь недопустим" #: utils/adt/genfile.c:89 #, c-format -msgid "path must be in or below the current directory" -msgstr "путь должен указывать в текущий или вложенный каталог" +msgid "path must be in or below the data directory" +msgstr "путь должен указывать на каталог данных или вложенный в него" -#: utils/adt/genfile.c:114 utils/adt/oracle_compat.c:189 -#: utils/adt/oracle_compat.c:287 utils/adt/oracle_compat.c:836 -#: utils/adt/oracle_compat.c:1139 +#: utils/adt/genfile.c:114 utils/adt/oracle_compat.c:190 +#: utils/adt/oracle_compat.c:288 utils/adt/oracle_compat.c:839 +#: utils/adt/oracle_compat.c:1142 #, c-format msgid "requested length too large" msgstr "запрошенная длина слишком велика" @@ -26288,59 +26949,64 @@ msgstr "длина файла слишком велика" msgid "must be superuser to read files with adminpack 1.0" msgstr "читать файлы, используя adminpack 1.0, может только суперпользователь" -#: utils/adt/geo_ops.c:979 utils/adt/geo_ops.c:1025 +#: utils/adt/genfile.c:702 +#, c-format +msgid "tablespace with OID %u does not exist" +msgstr "табличное пространство с OID %u не существует" + +#: utils/adt/geo_ops.c:998 utils/adt/geo_ops.c:1052 #, c-format msgid "invalid line specification: A and B cannot both be zero" msgstr "неверное определение линии: A и B вдвоём не могут быть нулевыми" -#: utils/adt/geo_ops.c:987 utils/adt/geo_ops.c:1097 +#: utils/adt/geo_ops.c:1008 utils/adt/geo_ops.c:1124 #, c-format msgid "invalid line specification: must be two distinct points" msgstr "неверное определение линии: требуются две различных точки" -#: utils/adt/geo_ops.c:1410 utils/adt/geo_ops.c:3402 utils/adt/geo_ops.c:4330 -#: utils/adt/geo_ops.c:5210 +#: utils/adt/geo_ops.c:1438 utils/adt/geo_ops.c:3438 utils/adt/geo_ops.c:4368 +#: utils/adt/geo_ops.c:5253 #, c-format msgid "too many points requested" msgstr "запрошено слишком много точек" -#: utils/adt/geo_ops.c:1472 +#: utils/adt/geo_ops.c:1502 #, c-format msgid "invalid number of points in external \"path\" value" msgstr "недопустимое число точек во внешнем представлении типа \"path\"" -#: utils/adt/geo_ops.c:3449 +#: utils/adt/geo_ops.c:3487 #, c-format msgid "invalid number of points in external \"polygon\" value" msgstr "недопустимое число точек во внешнем представлении типа \"polygon\"" -#: utils/adt/geo_ops.c:4425 +#: utils/adt/geo_ops.c:4463 #, c-format msgid "open path cannot be converted to polygon" msgstr "открытый путь нельзя преобразовать во многоугольник" -#: utils/adt/geo_ops.c:4675 +#: utils/adt/geo_ops.c:4718 #, c-format msgid "invalid radius in external \"circle\" value" msgstr "недопустимый радиус во внешнем представлении типа \"circle\"" -#: utils/adt/geo_ops.c:5196 +#: utils/adt/geo_ops.c:5239 #, c-format msgid "cannot convert circle with radius zero to polygon" msgstr "круг с нулевым радиусом нельзя преобразовать в многоугольник" -#: utils/adt/geo_ops.c:5201 +#: utils/adt/geo_ops.c:5244 #, c-format msgid "must request at least 2 points" msgstr "точек должно быть минимум 2" -#: utils/adt/int.c:263 +#: utils/adt/int.c:264 #, c-format msgid "invalid int2vector data" msgstr "неверные данные int2vector" -#: utils/adt/int.c:1528 utils/adt/int8.c:1404 utils/adt/numeric.c:1678 -#: utils/adt/timestamp.c:5809 utils/adt/timestamp.c:5889 +#: 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 #, c-format msgid "step size cannot equal zero" msgstr "размер шага не может быть нулевым" @@ -26354,7 +27020,8 @@ msgstr "размер шага не может быть нулевым" #: 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:4364 +#: 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 #, c-format msgid "bigint out of range" @@ -26365,136 +27032,136 @@ msgstr "bigint вне диапазона" msgid "OID out of range" msgstr "OID вне диапазона" -#: utils/adt/json.c:271 utils/adt/jsonb.c:757 +#: utils/adt/json.c:320 utils/adt/jsonb.c:781 #, c-format msgid "key value must be scalar, not array, composite, or json" msgstr "" "значением ключа должен быть скаляр (не массив, композитный тип или json)" -#: utils/adt/json.c:892 utils/adt/json.c:902 utils/fmgr/funcapi.c:2104 +#: utils/adt/json.c:1113 utils/adt/json.c:1123 utils/fmgr/funcapi.c:2082 #, c-format msgid "could not determine data type for argument %d" msgstr "не удалось определить тип данных аргумента %d" -#: utils/adt/json.c:926 utils/adt/jsonb.c:1727 +#: utils/adt/json.c:1146 utils/adt/json.c:1337 utils/adt/json.c:1513 +#: utils/adt/json.c:1591 utils/adt/jsonb.c:1432 utils/adt/jsonb.c:1522 #, c-format -msgid "field name must not be null" -msgstr "имя поля не может быть NULL" +msgid "null value not allowed for object key" +msgstr "значение null не может быть ключом объекта" + +#: utils/adt/json.c:1189 utils/adt/json.c:1352 +#, c-format +msgid "duplicate JSON object key value: %s" +msgstr "повторяющийся ключ в объекте JSON: %s" -#: utils/adt/json.c:1010 utils/adt/jsonb.c:1177 +#: utils/adt/json.c:1297 utils/adt/jsonb.c:1233 #, c-format msgid "argument list must have even number of elements" msgstr "в списке аргументов должно быть чётное число элементов" #. translator: %s is a SQL function name -#: utils/adt/json.c:1012 utils/adt/jsonb.c:1179 +#: utils/adt/json.c:1299 utils/adt/jsonb.c:1235 #, c-format msgid "The arguments of %s must consist of alternating keys and values." msgstr "Аргументы %s должны состоять из пар ключ-значение." -#: utils/adt/json.c:1028 -#, c-format -msgid "argument %d cannot be null" -msgstr "аргумент %d не может быть NULL" - -#: utils/adt/json.c:1029 -#, c-format -msgid "Object keys should be text." -msgstr "Ключи объектов должны быть текстовыми." - -#: utils/adt/json.c:1135 utils/adt/jsonb.c:1309 +#: utils/adt/json.c:1491 utils/adt/jsonb.c:1410 #, c-format msgid "array must have two columns" msgstr "массив должен иметь два столбца" -#: utils/adt/json.c:1159 utils/adt/json.c:1242 utils/adt/jsonb.c:1333 -#: utils/adt/jsonb.c:1428 -#, c-format -msgid "null value not allowed for object key" -msgstr "значение null не может быть ключом объекта" - -#: utils/adt/json.c:1231 utils/adt/jsonb.c:1417 +#: utils/adt/json.c:1580 utils/adt/jsonb.c:1511 #, c-format msgid "mismatched array dimensions" msgstr "неподходящие размерности массива" -#: utils/adt/jsonb.c:287 +#: utils/adt/json.c:1764 utils/adt/jsonb_util.c:1958 +#, c-format +msgid "duplicate JSON object key value" +msgstr "повторяющиеся ключи в объекте JSON" + +#: utils/adt/jsonb.c:294 #, c-format msgid "string too long to represent as jsonb string" msgstr "слишком длинная строка для представления в виде строки jsonb" -#: utils/adt/jsonb.c:288 +#: utils/adt/jsonb.c:295 #, c-format msgid "" "Due to an implementation restriction, jsonb strings cannot exceed %d bytes." msgstr "" "Из-за ограничений реализации строки jsonb не могут быть длиннее %d байт." -#: utils/adt/jsonb.c:1192 +#: utils/adt/jsonb.c:1252 #, c-format msgid "argument %d: key must not be null" msgstr "аргумент %d: ключ не может быть NULL" -#: utils/adt/jsonb.c:1780 +#: utils/adt/jsonb.c:1843 +#, c-format +msgid "field name must not be null" +msgstr "имя поля не может быть NULL" + +#: utils/adt/jsonb.c:1905 #, c-format msgid "object keys must be strings" msgstr "ключи объектов должны быть строковыми" -#: utils/adt/jsonb.c:1943 +#: utils/adt/jsonb.c:2116 #, c-format msgid "cannot cast jsonb null to type %s" msgstr "привести значение jsonb null к типу %s нельзя" -#: utils/adt/jsonb.c:1944 +#: utils/adt/jsonb.c:2117 #, c-format msgid "cannot cast jsonb string to type %s" msgstr "привести строку jsonb к типу %s нельзя" -#: utils/adt/jsonb.c:1945 +#: utils/adt/jsonb.c:2118 #, c-format msgid "cannot cast jsonb numeric to type %s" msgstr "привести числовое значение jsonb к типу %s нельзя" -#: utils/adt/jsonb.c:1946 +#: utils/adt/jsonb.c:2119 #, c-format msgid "cannot cast jsonb boolean to type %s" msgstr "привести логическое значение jsonb к типу %s нельзя" -#: utils/adt/jsonb.c:1947 +#: utils/adt/jsonb.c:2120 #, c-format msgid "cannot cast jsonb array to type %s" msgstr "привести массив jsonb к типу %s нельзя" -#: utils/adt/jsonb.c:1948 +#: utils/adt/jsonb.c:2121 #, c-format msgid "cannot cast jsonb object to type %s" msgstr "привести объект jsonb к типу %s нельзя" -#: utils/adt/jsonb.c:1949 +#: utils/adt/jsonb.c:2122 #, c-format msgid "cannot cast jsonb array or object to type %s" msgstr "привести массив или объект jsonb к типу %s нельзя" -#: utils/adt/jsonb_util.c:752 +#: utils/adt/jsonb_util.c:758 #, c-format msgid "number of jsonb object pairs exceeds the maximum allowed (%zu)" msgstr "число пар объекта jsonb превышает предел (%zu)" -#: utils/adt/jsonb_util.c:793 +#: utils/adt/jsonb_util.c:799 #, c-format msgid "number of jsonb array elements exceeds the maximum allowed (%zu)" msgstr "число элементов массива jsonb превышает предел (%zu)" -#: utils/adt/jsonb_util.c:1667 utils/adt/jsonb_util.c:1687 +#: utils/adt/jsonb_util.c:1673 utils/adt/jsonb_util.c:1693 #, c-format -msgid "total size of jsonb array elements exceeds the maximum of %u bytes" -msgstr "общий размер элементов массива jsonb превышает предел (%u байт)" +msgid "total size of jsonb array elements exceeds the maximum of %d bytes" +msgstr "общий размер элементов массива jsonb превышает предел (%d байт)" -#: utils/adt/jsonb_util.c:1748 utils/adt/jsonb_util.c:1783 -#: utils/adt/jsonb_util.c:1803 +#: utils/adt/jsonb_util.c:1754 utils/adt/jsonb_util.c:1789 +#: utils/adt/jsonb_util.c:1809 #, c-format -msgid "total size of jsonb object elements exceeds the maximum of %u bytes" -msgstr "общий размер элементов объекта jsonb превышает предел (%u байт)" +msgid "total size of jsonb object elements exceeds the maximum of %d bytes" +msgstr "общий размер элементов объекта jsonb превышает предел (%d байт)" #: utils/adt/jsonbsubs.c:70 utils/adt/jsonbsubs.c:151 #, c-format @@ -26528,108 +27195,108 @@ msgstr "индекс элемента jsonb должен иметь тексто msgid "jsonb subscript in assignment must not be null" msgstr "индекс элемента jsonb в присваивании не может быть NULL" -#: utils/adt/jsonfuncs.c:561 utils/adt/jsonfuncs.c:797 -#: utils/adt/jsonfuncs.c:2367 utils/adt/jsonfuncs.c:2807 -#: utils/adt/jsonfuncs.c:3596 utils/adt/jsonfuncs.c:3929 +#: utils/adt/jsonfuncs.c:572 utils/adt/jsonfuncs.c:821 +#: utils/adt/jsonfuncs.c:2429 utils/adt/jsonfuncs.c:2881 +#: utils/adt/jsonfuncs.c:3676 utils/adt/jsonfuncs.c:4018 #, c-format msgid "cannot call %s on a scalar" msgstr "вызывать %s со скаляром нельзя" -#: utils/adt/jsonfuncs.c:566 utils/adt/jsonfuncs.c:784 -#: utils/adt/jsonfuncs.c:2809 utils/adt/jsonfuncs.c:3585 +#: utils/adt/jsonfuncs.c:577 utils/adt/jsonfuncs.c:806 +#: utils/adt/jsonfuncs.c:2883 utils/adt/jsonfuncs.c:3663 #, c-format msgid "cannot call %s on an array" msgstr "вызывать %s с массивом нельзя" -#: utils/adt/jsonfuncs.c:623 jsonpath_scan.l:494 +#: utils/adt/jsonfuncs.c:636 jsonpath_scan.l:596 #, c-format msgid "unsupported Unicode escape sequence" msgstr "неподдерживаемая спецпоследовательность Unicode" -#: utils/adt/jsonfuncs.c:693 +#: utils/adt/jsonfuncs.c:713 #, c-format msgid "JSON data, line %d: %s%s%s" msgstr "данные JSON, строка %d: %s%s%s" -#: utils/adt/jsonfuncs.c:1833 utils/adt/jsonfuncs.c:1868 +#: utils/adt/jsonfuncs.c:1875 utils/adt/jsonfuncs.c:1912 #, c-format msgid "cannot get array length of a scalar" msgstr "получить длину скаляра нельзя" -#: utils/adt/jsonfuncs.c:1837 utils/adt/jsonfuncs.c:1856 +#: utils/adt/jsonfuncs.c:1879 utils/adt/jsonfuncs.c:1898 #, c-format msgid "cannot get array length of a non-array" msgstr "получить длину массива для не массива нельзя" -#: utils/adt/jsonfuncs.c:1930 +#: utils/adt/jsonfuncs.c:1978 #, c-format msgid "cannot call %s on a non-object" msgstr "вызывать %s с не объектом нельзя" -#: utils/adt/jsonfuncs.c:2114 +#: utils/adt/jsonfuncs.c:2166 #, c-format msgid "cannot deconstruct an array as an object" msgstr "извлечь массив в виде объекта нельзя" -#: utils/adt/jsonfuncs.c:2126 +#: utils/adt/jsonfuncs.c:2180 #, c-format msgid "cannot deconstruct a scalar" msgstr "извлечь скаляр нельзя" -#: utils/adt/jsonfuncs.c:2169 +#: utils/adt/jsonfuncs.c:2225 #, c-format msgid "cannot extract elements from a scalar" msgstr "извлечь элементы из скаляра нельзя" -#: utils/adt/jsonfuncs.c:2173 +#: utils/adt/jsonfuncs.c:2229 #, c-format msgid "cannot extract elements from an object" msgstr "извлечь элементы из объекта нельзя" -#: utils/adt/jsonfuncs.c:2354 utils/adt/jsonfuncs.c:3814 +#: utils/adt/jsonfuncs.c:2414 utils/adt/jsonfuncs.c:3896 #, c-format msgid "cannot call %s on a non-array" msgstr "вызывать %s с не массивом нельзя" -#: utils/adt/jsonfuncs.c:2424 utils/adt/jsonfuncs.c:2429 -#: utils/adt/jsonfuncs.c:2446 utils/adt/jsonfuncs.c:2452 +#: utils/adt/jsonfuncs.c:2488 utils/adt/jsonfuncs.c:2493 +#: utils/adt/jsonfuncs.c:2510 utils/adt/jsonfuncs.c:2516 #, c-format msgid "expected JSON array" msgstr "ожидался массив JSON" -#: utils/adt/jsonfuncs.c:2425 +#: utils/adt/jsonfuncs.c:2489 #, c-format msgid "See the value of key \"%s\"." msgstr "Проверьте значение ключа \"%s\"." -#: utils/adt/jsonfuncs.c:2447 +#: utils/adt/jsonfuncs.c:2511 #, c-format msgid "See the array element %s of key \"%s\"." msgstr "Проверьте элемент массива %s ключа \"%s\"." -#: utils/adt/jsonfuncs.c:2453 +#: utils/adt/jsonfuncs.c:2517 #, c-format msgid "See the array element %s." msgstr "Проверьте элемент массива %s." -#: utils/adt/jsonfuncs.c:2488 +#: utils/adt/jsonfuncs.c:2552 #, c-format msgid "malformed JSON array" msgstr "неправильный массив JSON" #. translator: %s is a function name, eg json_to_record -#: utils/adt/jsonfuncs.c:3315 +#: utils/adt/jsonfuncs.c:3389 #, c-format msgid "first argument of %s must be a row type" msgstr "первым аргументом %s должен быть кортеж" #. translator: %s is a function name, eg json_to_record -#: utils/adt/jsonfuncs.c:3339 +#: utils/adt/jsonfuncs.c:3413 #, c-format msgid "could not determine row type for result of %s" msgstr "не удалось определить тип строки для результата %s" -#: utils/adt/jsonfuncs.c:3341 +#: utils/adt/jsonfuncs.c:3415 #, c-format msgid "" "Provide a non-null record argument, or call the function in the FROM clause " @@ -26638,38 +27305,38 @@ msgstr "" "Передайте отличный от NULL аргумент-запись или вызовите эту функцию в " "предложении FROM, используя список определений столбцов." -#: utils/adt/jsonfuncs.c:3703 utils/fmgr/funcapi.c:103 +#: utils/adt/jsonfuncs.c:3785 utils/fmgr/funcapi.c:94 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "требуется режим материализации, но он недопустим в этом контексте" -#: utils/adt/jsonfuncs.c:3831 utils/adt/jsonfuncs.c:3911 +#: utils/adt/jsonfuncs.c:3913 utils/adt/jsonfuncs.c:3997 #, c-format msgid "argument of %s must be an array of objects" msgstr "аргументом %s должен быть массив объектов" -#: utils/adt/jsonfuncs.c:3864 +#: utils/adt/jsonfuncs.c:3946 #, c-format msgid "cannot call %s on an object" msgstr "вызывать %s с объектом нельзя" -#: utils/adt/jsonfuncs.c:4271 utils/adt/jsonfuncs.c:4330 -#: utils/adt/jsonfuncs.c:4411 +#: utils/adt/jsonfuncs.c:4380 utils/adt/jsonfuncs.c:4439 +#: utils/adt/jsonfuncs.c:4519 #, c-format msgid "cannot delete from scalar" msgstr "удаление из скаляра невозможно" -#: utils/adt/jsonfuncs.c:4416 +#: utils/adt/jsonfuncs.c:4524 #, c-format msgid "cannot delete from object using integer index" msgstr "удаление из объекта по числовому индексу невозможно" -#: utils/adt/jsonfuncs.c:4484 utils/adt/jsonfuncs.c:4645 +#: utils/adt/jsonfuncs.c:4592 utils/adt/jsonfuncs.c:4751 #, c-format msgid "cannot set path in scalar" msgstr "задать путь в скаляре нельзя" -#: utils/adt/jsonfuncs.c:4526 utils/adt/jsonfuncs.c:4568 +#: utils/adt/jsonfuncs.c:4633 utils/adt/jsonfuncs.c:4675 #, c-format msgid "" "null_value_treatment must be \"delete_key\", \"return_target\", " @@ -26678,12 +27345,12 @@ msgstr "" "значением null_value_treatment должно быть \"delete_key\", " "\"return_target\", \"use_json_null\" или \"raise_exception\"" -#: utils/adt/jsonfuncs.c:4539 +#: utils/adt/jsonfuncs.c:4646 #, c-format msgid "JSON value must not be null" msgstr "значение JSON не может быть NULL" -#: utils/adt/jsonfuncs.c:4540 +#: utils/adt/jsonfuncs.c:4647 #, c-format msgid "" "Exception was raised because null_value_treatment is \"raise_exception\"." @@ -26691,7 +27358,7 @@ msgstr "" "Выдано исключение, так как значением null_value_treatment является " "\"raise_exception\"." -#: utils/adt/jsonfuncs.c:4541 +#: utils/adt/jsonfuncs.c:4648 #, c-format msgid "" "To avoid, either change the null_value_treatment argument or ensure that an " @@ -26700,55 +27367,55 @@ msgstr "" "Чтобы исключения не было, либо измените аргумент null_value_treatment, либо " "не допускайте передачи SQL NULL." -#: utils/adt/jsonfuncs.c:4596 +#: utils/adt/jsonfuncs.c:4703 #, c-format msgid "cannot delete path in scalar" msgstr "удалить путь в скаляре нельзя" -#: utils/adt/jsonfuncs.c:4812 +#: utils/adt/jsonfuncs.c:4917 #, c-format msgid "path element at position %d is null" msgstr "элемент пути в позиции %d равен NULL" -#: utils/adt/jsonfuncs.c:4831 utils/adt/jsonfuncs.c:4862 -#: utils/adt/jsonfuncs.c:4935 +#: utils/adt/jsonfuncs.c:4936 utils/adt/jsonfuncs.c:4967 +#: utils/adt/jsonfuncs.c:5040 #, c-format msgid "cannot replace existing key" msgstr "заменить существующий ключ нельзя" -#: utils/adt/jsonfuncs.c:4832 utils/adt/jsonfuncs.c:4863 +#: utils/adt/jsonfuncs.c:4937 utils/adt/jsonfuncs.c:4968 #, c-format msgid "The path assumes key is a composite object, but it is a scalar value." msgstr "" "Для заданного пути значение ключа должно быть составным объектом, но оно " "оказалось скаляром." -#: utils/adt/jsonfuncs.c:4936 +#: utils/adt/jsonfuncs.c:5041 #, c-format msgid "Try using the function jsonb_set to replace key value." msgstr "Попробуйте применить функцию jsonb_set для замены значения ключа." -#: utils/adt/jsonfuncs.c:5040 +#: utils/adt/jsonfuncs.c:5145 #, c-format msgid "path element at position %d is not an integer: \"%s\"" msgstr "элемент пути в позиции %d - не целочисленный: \"%s\"" -#: utils/adt/jsonfuncs.c:5057 +#: utils/adt/jsonfuncs.c:5162 #, c-format msgid "path element at position %d is out of range: %d" msgstr "элемент пути в позиции %d вне диапазона: %d" -#: utils/adt/jsonfuncs.c:5209 +#: utils/adt/jsonfuncs.c:5314 #, c-format msgid "wrong flag type, only arrays and scalars are allowed" msgstr "неверный тип флага, допускаются только массивы и скаляры" -#: utils/adt/jsonfuncs.c:5216 +#: utils/adt/jsonfuncs.c:5321 #, c-format msgid "flag array element is not a string" msgstr "элемент массива флагов не является строкой" -#: utils/adt/jsonfuncs.c:5217 utils/adt/jsonfuncs.c:5239 +#: utils/adt/jsonfuncs.c:5322 utils/adt/jsonfuncs.c:5344 #, c-format msgid "" "Possible values are: \"string\", \"numeric\", \"boolean\", \"key\", and " @@ -26756,32 +27423,32 @@ msgid "" msgstr "" "Допустимые значения: \"string\", \"numeric\", \"boolean\", \"key\" и \"all\"." -#: utils/adt/jsonfuncs.c:5237 +#: utils/adt/jsonfuncs.c:5342 #, c-format msgid "wrong flag in flag array: \"%s\"" msgstr "неверный флаг в массиве флагов: \"%s\"" -#: utils/adt/jsonpath.c:362 +#: utils/adt/jsonpath.c:382 #, c-format msgid "@ is not allowed in root expressions" msgstr "@ не допускается в корневых выражениях" -#: utils/adt/jsonpath.c:368 +#: utils/adt/jsonpath.c:388 #, c-format msgid "LAST is allowed only in array subscripts" msgstr "LAST принимается только в качестве индекса массива" -#: utils/adt/jsonpath_exec.c:360 +#: utils/adt/jsonpath_exec.c:361 #, c-format msgid "single boolean result is expected" msgstr "ожидался единственный булевский результат" -#: utils/adt/jsonpath_exec.c:556 +#: utils/adt/jsonpath_exec.c:557 #, c-format msgid "\"vars\" argument is not an object" msgstr "аргумент \"vars\" не является объектом" -#: utils/adt/jsonpath_exec.c:557 +#: utils/adt/jsonpath_exec.c:558 #, c-format msgid "" "Jsonpath parameters should be encoded as key-value pairs of \"vars\" object." @@ -26789,36 +27456,36 @@ msgstr "" "Параметры jsonpath должны передаваться в виде пар ключ-значение в объекте " "\"vars\"." -#: utils/adt/jsonpath_exec.c:674 +#: utils/adt/jsonpath_exec.c:675 #, c-format msgid "JSON object does not contain key \"%s\"" msgstr "JSON-объект не содержит ключ \"%s\"" -#: utils/adt/jsonpath_exec.c:686 +#: utils/adt/jsonpath_exec.c:687 #, c-format msgid "jsonpath member accessor can only be applied to an object" msgstr "" "выражение обращения к члену в jsonpath может применяться только к объекту" -#: utils/adt/jsonpath_exec.c:715 +#: utils/adt/jsonpath_exec.c:716 #, c-format msgid "jsonpath wildcard array accessor can only be applied to an array" msgstr "" "выражение обращения по звёздочке в jsonpath может применяться только к " "массиву" -#: utils/adt/jsonpath_exec.c:763 +#: utils/adt/jsonpath_exec.c:764 #, c-format msgid "jsonpath array subscript is out of bounds" msgstr "индекс массива в jsonpath вне диапазона" -#: utils/adt/jsonpath_exec.c:820 +#: utils/adt/jsonpath_exec.c:821 #, c-format msgid "jsonpath array accessor can only be applied to an array" msgstr "" "выражение обращения к массиву в jsonpath может применяться только к массиву" -#: utils/adt/jsonpath_exec.c:872 +#: utils/adt/jsonpath_exec.c:873 #, c-format msgid "jsonpath wildcard member accessor can only be applied to an object" msgstr "" @@ -26826,12 +27493,12 @@ msgstr "" "объекту" # skip-rule: space-before-period -#: utils/adt/jsonpath_exec.c:1006 +#: utils/adt/jsonpath_exec.c:1007 #, c-format msgid "jsonpath item method .%s() can only be applied to an array" msgstr "метод .%s() в jsonpath может применяться только к массиву" -#: utils/adt/jsonpath_exec.c:1059 +#: utils/adt/jsonpath_exec.c:1060 #, c-format msgid "" "numeric argument of jsonpath item method .%s() is out of range for type " @@ -26840,7 +27507,7 @@ msgstr "" "числовой аргумент метода элемента jsonpath .%s() вне диапазона для типа " "double precision" -#: utils/adt/jsonpath_exec.c:1080 +#: utils/adt/jsonpath_exec.c:1081 #, c-format msgid "" "string argument of jsonpath item method .%s() is not a valid representation " @@ -26850,7 +27517,7 @@ msgstr "" "значения double precision" # skip-rule: space-before-period -#: utils/adt/jsonpath_exec.c:1093 +#: utils/adt/jsonpath_exec.c:1094 #, c-format msgid "" "jsonpath item method .%s() can only be applied to a string or numeric value" @@ -26858,95 +27525,95 @@ msgstr "" "метод .%s() в jsonpath может применяться только к строковому или числовому " "значению" -#: utils/adt/jsonpath_exec.c:1583 +#: utils/adt/jsonpath_exec.c:1584 #, c-format msgid "left operand of jsonpath operator %s is not a single numeric value" msgstr "" "левый операнд оператора %s в jsonpath не является одним числовым значением" -#: utils/adt/jsonpath_exec.c:1590 +#: utils/adt/jsonpath_exec.c:1591 #, c-format msgid "right operand of jsonpath operator %s is not a single numeric value" msgstr "" "правый операнд оператора %s в jsonpath не является одним числовым значением" -#: utils/adt/jsonpath_exec.c:1658 +#: utils/adt/jsonpath_exec.c:1659 #, c-format msgid "operand of unary jsonpath operator %s is not a numeric value" msgstr "" "операнд унарного оператора %s в jsonpath не является числовым значением" # skip-rule: space-before-period -#: utils/adt/jsonpath_exec.c:1756 +#: utils/adt/jsonpath_exec.c:1758 #, c-format msgid "jsonpath item method .%s() can only be applied to a numeric value" msgstr "метод .%s() в jsonpath может применяться только к числовому значению" # skip-rule: space-before-period -#: utils/adt/jsonpath_exec.c:1796 +#: utils/adt/jsonpath_exec.c:1798 #, c-format msgid "jsonpath item method .%s() can only be applied to a string" msgstr "метод .%s() в jsonpath может применяться только к строке" -#: utils/adt/jsonpath_exec.c:1890 +#: utils/adt/jsonpath_exec.c:1901 #, c-format msgid "datetime format is not recognized: \"%s\"" msgstr "формат datetime не распознан: \"%s\"" -#: utils/adt/jsonpath_exec.c:1892 +#: utils/adt/jsonpath_exec.c:1903 #, c-format msgid "Use a datetime template argument to specify the input data format." msgstr "" "Воспользуйтесь аргументом datetime для указания формата входных данных." # skip-rule: space-before-period -#: utils/adt/jsonpath_exec.c:1960 +#: utils/adt/jsonpath_exec.c:1971 #, c-format msgid "jsonpath item method .%s() can only be applied to an object" msgstr "метод .%s() в jsonpath может применяться только к объекту" -#: utils/adt/jsonpath_exec.c:2142 +#: utils/adt/jsonpath_exec.c:2153 #, c-format msgid "could not find jsonpath variable \"%s\"" msgstr "не удалось найти в jsonpath переменную \"%s\"" -#: utils/adt/jsonpath_exec.c:2406 +#: utils/adt/jsonpath_exec.c:2417 #, c-format msgid "jsonpath array subscript is not a single numeric value" msgstr "индекс элемента в jsonpath не является одним числовым значением" -#: utils/adt/jsonpath_exec.c:2418 +#: utils/adt/jsonpath_exec.c:2429 #, c-format msgid "jsonpath array subscript is out of integer range" msgstr "индекс массива в jsonpath вне целочисленного диапазона" -#: utils/adt/jsonpath_exec.c:2595 +#: utils/adt/jsonpath_exec.c:2606 #, c-format msgid "cannot convert value from %s to %s without time zone usage" msgstr "значение %s нельзя преобразовать в %s без сведений о часовом поясе" -#: utils/adt/jsonpath_exec.c:2597 +#: utils/adt/jsonpath_exec.c:2608 #, c-format msgid "Use *_tz() function for time zone support." msgstr "Для передачи часового пояса используйте функцию *_tz()." # well-spelled: симв -#: utils/adt/levenshtein.c:133 +#: utils/adt/levenshtein.c:132 #, c-format msgid "levenshtein argument exceeds maximum length of %d characters" msgstr "длина аргумента levenshtein() превышает максимум (%d симв.)" -#: utils/adt/like.c:160 +#: utils/adt/like.c:161 #, c-format msgid "nondeterministic collations are not supported for LIKE" msgstr "недетерминированные правила сортировки не поддерживаются для LIKE" -#: utils/adt/like.c:189 utils/adt/like_support.c:1024 +#: utils/adt/like.c:190 utils/adt/like_support.c:1024 #, c-format msgid "could not determine which collation to use for ILIKE" msgstr "не удалось определить, какой порядок сортировки использовать для ILIKE" -#: utils/adt/like.c:201 +#: utils/adt/like.c:202 #, c-format msgid "nondeterministic collations are not supported for ILIKE" msgstr "недетерминированные правила сортировки не поддерживаются для ILIKE" @@ -26956,12 +27623,12 @@ msgstr "недетерминированные правила сортировк msgid "LIKE pattern must not end with escape character" msgstr "шаблон LIKE не должен заканчиваться защитным символом" -#: utils/adt/like_match.c:293 utils/adt/regexp.c:786 +#: utils/adt/like_match.c:293 utils/adt/regexp.c:801 #, c-format msgid "invalid escape string" msgstr "неверный защитный символ" -#: utils/adt/like_match.c:294 utils/adt/regexp.c:787 +#: utils/adt/like_match.c:294 utils/adt/regexp.c:802 #, c-format msgid "Escape string must be empty or one character." msgstr "Защитный символ должен быть пустым или состоять из одного байта." @@ -26976,17 +27643,17 @@ msgstr "регистронезависимое сравнение не подд msgid "regular-expression matching not supported on type bytea" msgstr "сравнение с регулярными выражениями не поддерживается для типа bytea" -#: utils/adt/mac.c:101 +#: utils/adt/mac.c:102 #, c-format msgid "invalid octet value in \"macaddr\" value: \"%s\"" msgstr "неверный октет в значении типа macaddr: \"%s\"" -#: utils/adt/mac8.c:563 +#: utils/adt/mac8.c:554 #, c-format msgid "macaddr8 data out of range to convert to macaddr" msgstr "значение в macaddr8 не допускает преобразование в macaddr" -#: utils/adt/mac8.c:564 +#: utils/adt/mac8.c:555 #, c-format msgid "" "Only addresses that have FF and FE as values in the 4th and 5th bytes from " @@ -27001,104 +27668,104 @@ msgstr "" msgid "PID %d is not a PostgreSQL server process" msgstr "PID %d не относится к серверному процессу PostgreSQL" -#: utils/adt/misc.c:216 +#: utils/adt/misc.c:237 #, c-format msgid "global tablespace never has databases" msgstr "в табличном пространстве global никогда не было баз данных" -#: utils/adt/misc.c:238 +#: utils/adt/misc.c:259 #, c-format msgid "%u is not a tablespace OID" msgstr "%u - это не OID табличного пространства" -#: utils/adt/misc.c:457 +#: utils/adt/misc.c:454 msgid "unreserved" msgstr "не зарезервировано" -#: utils/adt/misc.c:461 +#: utils/adt/misc.c:458 msgid "unreserved (cannot be function or type name)" msgstr "не зарезервировано (но не может быть именем типа или функции)" -#: utils/adt/misc.c:465 +#: utils/adt/misc.c:462 msgid "reserved (can be function or type name)" msgstr "зарезервировано (но может быть именем типа или функции)" -#: utils/adt/misc.c:469 +#: utils/adt/misc.c:466 msgid "reserved" msgstr "зарезервировано" -#: utils/adt/misc.c:480 +#: utils/adt/misc.c:477 msgid "can be bare label" msgstr "может быть открытой меткой" -#: utils/adt/misc.c:485 +#: utils/adt/misc.c:482 msgid "requires AS" msgstr "требует AS" -#: utils/adt/misc.c:732 utils/adt/misc.c:746 utils/adt/misc.c:785 -#: utils/adt/misc.c:791 utils/adt/misc.c:797 utils/adt/misc.c:820 +#: utils/adt/misc.c:853 utils/adt/misc.c:867 utils/adt/misc.c:906 +#: utils/adt/misc.c:912 utils/adt/misc.c:918 utils/adt/misc.c:941 #, c-format msgid "string is not a valid identifier: \"%s\"" msgstr "строка не является допустимым идентификатором: \"%s\"" -#: utils/adt/misc.c:734 +#: utils/adt/misc.c:855 #, c-format msgid "String has unclosed double quotes." msgstr "В строке не закрыты кавычки." -#: utils/adt/misc.c:748 +#: utils/adt/misc.c:869 #, c-format msgid "Quoted identifier must not be empty." msgstr "Идентификатор в кавычках не может быть пустым." -#: utils/adt/misc.c:787 +#: utils/adt/misc.c:908 #, c-format msgid "No valid identifier before \".\"." msgstr "Перед \".\" нет допустимого идентификатора." -#: utils/adt/misc.c:793 +#: utils/adt/misc.c:914 #, c-format msgid "No valid identifier after \".\"." msgstr "После \".\" нет допустимого идентификатора." -#: utils/adt/misc.c:853 +#: utils/adt/misc.c:974 #, c-format msgid "log format \"%s\" is not supported" msgstr "формат журнала \"%s\" не поддерживается" -#: utils/adt/misc.c:854 +#: utils/adt/misc.c:975 #, c-format msgid "The supported log formats are \"stderr\", \"csvlog\", and \"jsonlog\"." msgstr "Поддерживаются форматы журналов \"stderr\", \"csvlog\" и \"jsonlog\"." -#: utils/adt/multirangetypes.c:149 utils/adt/multirangetypes.c:162 -#: utils/adt/multirangetypes.c:191 utils/adt/multirangetypes.c:261 -#: utils/adt/multirangetypes.c:285 +#: utils/adt/multirangetypes.c:151 utils/adt/multirangetypes.c:164 +#: utils/adt/multirangetypes.c:193 utils/adt/multirangetypes.c:267 +#: utils/adt/multirangetypes.c:291 #, c-format msgid "malformed multirange literal: \"%s\"" msgstr "ошибочный литерал мультидиапазона: \"%s\"" -#: utils/adt/multirangetypes.c:151 +#: utils/adt/multirangetypes.c:153 #, c-format msgid "Missing left brace." msgstr "Отсутствует левая фигурная скобка." -#: utils/adt/multirangetypes.c:193 +#: utils/adt/multirangetypes.c:195 #, c-format msgid "Expected range start." msgstr "Ожидалось начало диапазона." -#: utils/adt/multirangetypes.c:263 +#: utils/adt/multirangetypes.c:269 #, c-format msgid "Expected comma or end of multirange." msgstr "Ожидалась запятая или конец мультидиапазона." -#: utils/adt/multirangetypes.c:976 +#: utils/adt/multirangetypes.c:982 #, c-format msgid "multiranges cannot be constructed from multidimensional arrays" msgstr "мультидиапазоны нельзя получить из массивов мультидиапазонов" -#: utils/adt/multirangetypes.c:1002 +#: utils/adt/multirangetypes.c:1008 #, c-format msgid "multirange values cannot contain null members" msgstr "мультидиапазоны не могут содержать элементы NULL" @@ -27157,121 +27824,122 @@ msgstr "не удалось отформатировать значение cidr msgid "cannot merge addresses from different families" msgstr "объединять адреса разных семейств нельзя" -#: utils/adt/network.c:1901 +#: utils/adt/network.c:1893 #, c-format msgid "cannot AND inet values of different sizes" msgstr "нельзя использовать \"И\" (AND) для значений inet разного размера" -#: utils/adt/network.c:1933 +#: utils/adt/network.c:1925 #, c-format msgid "cannot OR inet values of different sizes" msgstr "нельзя использовать \"ИЛИ\" (OR) для значений inet разного размера" -#: utils/adt/network.c:1994 utils/adt/network.c:2070 +#: utils/adt/network.c:1986 utils/adt/network.c:2062 #, c-format msgid "result is out of range" msgstr "результат вне диапазона" -#: utils/adt/network.c:2035 +#: utils/adt/network.c:2027 #, c-format msgid "cannot subtract inet values of different sizes" msgstr "нельзя вычитать значения inet разного размера" -#: utils/adt/numeric.c:1027 +#: 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 +#, c-format +msgid "value overflows numeric format" +msgstr "значение переполняет формат numeric" + +#: utils/adt/numeric.c:1098 #, c-format msgid "invalid sign in external \"numeric\" value" msgstr "неверный знак во внешнем значении \"numeric\"" -#: utils/adt/numeric.c:1033 +#: utils/adt/numeric.c:1104 #, c-format msgid "invalid scale in external \"numeric\" value" msgstr "неверный порядок числа во внешнем значении \"numeric\"" -#: utils/adt/numeric.c:1042 +#: utils/adt/numeric.c:1113 #, c-format msgid "invalid digit in external \"numeric\" value" msgstr "неверная цифра во внешнем значении \"numeric\"" -#: utils/adt/numeric.c:1257 utils/adt/numeric.c:1271 +#: utils/adt/numeric.c:1328 utils/adt/numeric.c:1342 #, c-format msgid "NUMERIC precision %d must be between 1 and %d" msgstr "точность NUMERIC %d должна быть между 1 и %d" -#: utils/adt/numeric.c:1262 +#: utils/adt/numeric.c:1333 #, c-format msgid "NUMERIC scale %d must be between %d and %d" msgstr "порядок NUMERIC %d должен быть между %d и %d" -#: utils/adt/numeric.c:1280 +#: utils/adt/numeric.c:1351 #, c-format msgid "invalid NUMERIC type modifier" msgstr "неверный модификатор типа NUMERIC" -#: utils/adt/numeric.c:1638 +#: utils/adt/numeric.c:1709 #, c-format msgid "start value cannot be NaN" msgstr "начальное значение не может быть NaN" -#: utils/adt/numeric.c:1642 +#: utils/adt/numeric.c:1713 #, c-format msgid "start value cannot be infinity" msgstr "начальное значение не может быть бесконечностью" -#: utils/adt/numeric.c:1649 +#: utils/adt/numeric.c:1720 #, c-format msgid "stop value cannot be NaN" msgstr "конечное значение не может быть NaN" -#: utils/adt/numeric.c:1653 +#: utils/adt/numeric.c:1724 #, c-format msgid "stop value cannot be infinity" msgstr "конечное значение не может быть бесконечностью" -#: utils/adt/numeric.c:1666 +#: utils/adt/numeric.c:1737 #, c-format msgid "step size cannot be NaN" msgstr "размер шага не может быть NaN" -#: utils/adt/numeric.c:1670 +#: utils/adt/numeric.c:1741 #, c-format msgid "step size cannot be infinity" msgstr "размер шага не может быть бесконечностью" -#: utils/adt/numeric.c:3551 +#: utils/adt/numeric.c:3633 #, c-format msgid "factorial of a negative number is undefined" msgstr "факториал отрицательного числа даёт неопределённость" -#: utils/adt/numeric.c:3561 utils/adt/numeric.c:6945 utils/adt/numeric.c:7460 -#: utils/adt/numeric.c:9984 utils/adt/numeric.c:10463 utils/adt/numeric.c:10589 -#: utils/adt/numeric.c:10662 -#, c-format -msgid "value overflows numeric format" -msgstr "значение переполняет формат numeric" - -#: utils/adt/numeric.c:4271 utils/adt/numeric.c:4351 utils/adt/numeric.c:4392 -#: utils/adt/numeric.c:4586 +#: utils/adt/numeric.c:4366 utils/adt/numeric.c:4446 utils/adt/numeric.c:4487 +#: utils/adt/numeric.c:4683 #, c-format msgid "cannot convert NaN to %s" msgstr "нельзя преобразовать NaN в %s" -#: utils/adt/numeric.c:4275 utils/adt/numeric.c:4355 utils/adt/numeric.c:4396 -#: utils/adt/numeric.c:4590 +#: utils/adt/numeric.c:4370 utils/adt/numeric.c:4450 utils/adt/numeric.c:4491 +#: utils/adt/numeric.c:4687 #, c-format msgid "cannot convert infinity to %s" msgstr "нельзя представить бесконечность в %s" -#: utils/adt/numeric.c:4599 +#: utils/adt/numeric.c:4696 #, c-format msgid "pg_lsn out of range" msgstr "pg_lsn вне диапазона" -#: utils/adt/numeric.c:7547 utils/adt/numeric.c:7593 +#: utils/adt/numeric.c:7896 utils/adt/numeric.c:7947 #, c-format msgid "numeric field overflow" msgstr "переполнение поля numeric" -#: utils/adt/numeric.c:7548 +#: utils/adt/numeric.c:7897 #, c-format msgid "" "A field with precision %d, scale %d must round to an absolute value less " @@ -27280,77 +27948,73 @@ msgstr "" "Поле с точностью %d, порядком %d должно округляться до абсолютного значения " "меньше чем %s%d." -#: utils/adt/numeric.c:7594 +#: utils/adt/numeric.c:7948 #, c-format msgid "A field with precision %d, scale %d cannot hold an infinite value." msgstr "" "Поле с точностью %d, порядком %d не может содержать значение бесконечности." -#: utils/adt/oid.c:293 +#: utils/adt/oid.c:216 #, c-format msgid "invalid oidvector data" msgstr "неверные данные oidvector" -#: utils/adt/oracle_compat.c:973 +#: utils/adt/oracle_compat.c:976 #, c-format msgid "requested character too large" msgstr "запрошенный символ больше допустимого" -#: utils/adt/oracle_compat.c:1017 +#: utils/adt/oracle_compat.c:1020 #, c-format msgid "character number must be positive" msgstr "номер символа должен быть положительным" -#: utils/adt/oracle_compat.c:1021 +#: utils/adt/oracle_compat.c:1024 #, c-format msgid "null character not permitted" msgstr "символ не может быть null" -#: utils/adt/oracle_compat.c:1039 utils/adt/oracle_compat.c:1092 +#: utils/adt/oracle_compat.c:1042 utils/adt/oracle_compat.c:1095 #, c-format msgid "requested character too large for encoding: %u" msgstr "код запрошенного символа слишком велик для кодировки: %u" -#: utils/adt/oracle_compat.c:1080 +#: utils/adt/oracle_compat.c:1083 #, c-format msgid "requested character not valid for encoding: %u" msgstr "запрошенный символ не подходит для кодировки: %u" -#: utils/adt/orderedsetaggs.c:448 utils/adt/orderedsetaggs.c:552 -#: utils/adt/orderedsetaggs.c:690 +#: utils/adt/orderedsetaggs.c:448 utils/adt/orderedsetaggs.c:553 +#: utils/adt/orderedsetaggs.c:693 #, c-format msgid "percentile value %g is not between 0 and 1" msgstr "значение перцентиля %g лежит не в диапазоне 0..1" -#: utils/adt/pg_locale.c:1228 -#, c-format -msgid "Apply system library package updates." -msgstr "Обновите пакет с системной библиотекой." - -#: utils/adt/pg_locale.c:1452 utils/adt/pg_locale.c:1700 -#: utils/adt/pg_locale.c:1979 utils/adt/pg_locale.c:2001 +#: utils/adt/pg_locale.c:1406 #, c-format -msgid "could not open collator for locale \"%s\": %s" -msgstr "не удалось открыть сортировщик для локали \"%s\": %s" +msgid "could not open collator for locale \"%s\" with rules \"%s\": %s" +msgstr "" +"не удалось открыть сортировщик для локали \"%s\" с правилами \"%s\": %s" -#: utils/adt/pg_locale.c:1465 utils/adt/pg_locale.c:2010 +#: utils/adt/pg_locale.c:1417 utils/adt/pg_locale.c:2831 +#: utils/adt/pg_locale.c:2904 #, c-format msgid "ICU is not supported in this build" msgstr "ICU не поддерживается в данной сборке" -#: utils/adt/pg_locale.c:1494 +#: utils/adt/pg_locale.c:1446 #, c-format msgid "could not create locale \"%s\": %m" msgstr "не удалось создать локаль \"%s\": %m" -#: utils/adt/pg_locale.c:1497 +#: utils/adt/pg_locale.c:1449 #, c-format msgid "" "The operating system could not find any locale data for the locale name " "\"%s\"." msgstr "Операционная система не может найти данные локали с именем \"%s\"." -#: utils/adt/pg_locale.c:1605 +#: utils/adt/pg_locale.c:1564 #, c-format msgid "" "collations with different collate and ctype values are not supported on this " @@ -27359,22 +28023,22 @@ msgstr "" "правила сортировки с разными значениями collate и ctype не поддерживаются на " "этой платформе" -#: utils/adt/pg_locale.c:1614 +#: utils/adt/pg_locale.c:1573 #, c-format msgid "collation provider LIBC is not supported on this platform" msgstr "провайдер правил сортировки LIBC не поддерживается на этой платформе" -#: utils/adt/pg_locale.c:1649 +#: utils/adt/pg_locale.c:1614 #, c-format msgid "collation \"%s\" has no actual version, but a version was recorded" msgstr "для правила сортировки \"%s\", лишённого версии, была записана версия" -#: utils/adt/pg_locale.c:1655 +#: utils/adt/pg_locale.c:1620 #, c-format msgid "collation \"%s\" has version mismatch" msgstr "несовпадение версии для правила сортировки \"%s\"" -#: utils/adt/pg_locale.c:1657 +#: utils/adt/pg_locale.c:1622 #, c-format msgid "" "The collation in the database was created using version %s, but the " @@ -27383,7 +28047,7 @@ msgstr "" "Правило сортировки в базе данных было создано с версией %s, но операционная " "система предоставляет версию %s." -#: utils/adt/pg_locale.c:1660 +#: utils/adt/pg_locale.c:1625 #, c-format msgid "" "Rebuild all objects affected by this collation and run ALTER COLLATION %s " @@ -27393,40 +28057,92 @@ msgstr "" "ALTER COLLATION %s REFRESH VERSION либо соберите PostgreSQL с правильной " "версией библиотеки." -#: utils/adt/pg_locale.c:1731 +#: utils/adt/pg_locale.c:1691 #, c-format msgid "could not load locale \"%s\"" msgstr "не удалось загрузить локаль \"%s\"" -#: utils/adt/pg_locale.c:1756 +#: utils/adt/pg_locale.c:1716 #, c-format msgid "could not get collation version for locale \"%s\": error code %lu" msgstr "" "не удалось получить версию правила сортировки для локали \"%s\" (код ошибки: " "%lu)" -#: utils/adt/pg_locale.c:1794 +#: utils/adt/pg_locale.c:1772 utils/adt/pg_locale.c:1785 +#, c-format +msgid "could not convert string to UTF-16: error code %lu" +msgstr "не удалось преобразовать строку в UTF-16 (код ошибки: %lu)" + +#: utils/adt/pg_locale.c:1799 +#, c-format +msgid "could not compare Unicode strings: %m" +msgstr "не удалось сравнить строки в Unicode: %m" + +#: utils/adt/pg_locale.c:1980 +#, c-format +msgid "collation failed: %s" +msgstr "ошибка в библиотеке сортировки: %s" + +#: utils/adt/pg_locale.c:2201 utils/adt/pg_locale.c:2233 +#, c-format +msgid "sort key generation failed: %s" +msgstr "не удалось сгенерировать ключ сортировки: %s" + +#: utils/adt/pg_locale.c:2474 +#, c-format +msgid "could not get language from locale \"%s\": %s" +msgstr "не удалось определить язык для локали \"%s\": %s" + +#: utils/adt/pg_locale.c:2495 utils/adt/pg_locale.c:2511 +#, c-format +msgid "could not open collator for locale \"%s\": %s" +msgstr "не удалось открыть сортировщик для локали \"%s\": %s" + +#: utils/adt/pg_locale.c:2536 #, c-format msgid "encoding \"%s\" not supported by ICU" msgstr "ICU не поддерживает кодировку \"%s\"" -#: utils/adt/pg_locale.c:1801 +#: utils/adt/pg_locale.c:2543 #, c-format msgid "could not open ICU converter for encoding \"%s\": %s" msgstr "не удалось открыть преобразователь ICU для кодировки \"%s\": %s" -#: utils/adt/pg_locale.c:1832 utils/adt/pg_locale.c:1841 -#: utils/adt/pg_locale.c:1870 utils/adt/pg_locale.c:1880 +#: utils/adt/pg_locale.c:2561 utils/adt/pg_locale.c:2580 +#: utils/adt/pg_locale.c:2636 utils/adt/pg_locale.c:2647 #, c-format msgid "%s failed: %s" msgstr "ошибка %s: %s" -#: utils/adt/pg_locale.c:2179 +#: utils/adt/pg_locale.c:2822 +#, c-format +msgid "could not convert locale name \"%s\" to language tag: %s" +msgstr "не удалось получить из названия локали \"%s\" метку языка: %s" + +#: utils/adt/pg_locale.c:2863 +#, c-format +msgid "could not get language from ICU locale \"%s\": %s" +msgstr "не удалось определить язык для локали ICU \"%s\": %s" + +#: utils/adt/pg_locale.c:2865 utils/adt/pg_locale.c:2894 +#, c-format +msgid "To disable ICU locale validation, set the parameter \"%s\" to \"%s\"." +msgstr "" +"Чтобы отключить проверку локалей ICU, установите для параметра \"%s\" " +"значение \"%s\"." + +#: utils/adt/pg_locale.c:2892 +#, c-format +msgid "ICU locale \"%s\" has unknown language \"%s\"" +msgstr "для локали ICU \"%s\" получен неизвестный язык \"%s\"" + +#: utils/adt/pg_locale.c:3073 #, c-format msgid "invalid multibyte character for locale" msgstr "неверный многобайтный символ для локали" -#: utils/adt/pg_locale.c:2180 +#: utils/adt/pg_locale.c:3074 #, c-format msgid "" "The server's LC_CTYPE locale is probably incompatible with the database " @@ -27450,25 +28166,26 @@ msgid "function can only be called when server is in binary upgrade mode" msgstr "" "функцию можно вызывать только когда сервер в режиме двоичного обновления" -#: utils/adt/pgstatfuncs.c:482 +#: utils/adt/pgstatfuncs.c:254 #, c-format msgid "invalid command name: \"%s\"" msgstr "неверное имя команды: \"%s\"" -#: utils/adt/pgstatfuncs.c:2114 +#: utils/adt/pgstatfuncs.c:1774 #, c-format msgid "unrecognized reset target: \"%s\"" msgstr "запрошен сброс неизвестного счётчика: \"%s\"" -#: utils/adt/pgstatfuncs.c:2115 +#: utils/adt/pgstatfuncs.c:1775 #, c-format msgid "" -"Target must be \"archiver\", \"bgwriter\", \"recovery_prefetch\", or \"wal\"." -msgstr "" -"Допустимый счётчик: \"archiver\", \"bgwriter\", \"recovery_prefetch\" или " +"Target must be \"archiver\", \"bgwriter\", \"io\", \"recovery_prefetch\", or " "\"wal\"." +msgstr "" +"Допустимые счётчики: \"archiver\", \"bgwriter\", \"io\", " +"\"recovery_prefetch\" и \"wal\"." -#: utils/adt/pgstatfuncs.c:2193 +#: utils/adt/pgstatfuncs.c:1857 #, c-format msgid "invalid subscription OID %u" msgstr "неверный OID подписки %u" @@ -27478,92 +28195,92 @@ msgstr "неверный OID подписки %u" msgid "cannot display a value of type %s" msgstr "значение типа %s нельзя вывести" -#: utils/adt/pseudotypes.c:321 +#: utils/adt/pseudotypes.c:310 #, c-format msgid "cannot accept a value of a shell type" msgstr "значение типа shell нельзя ввести" -#: utils/adt/pseudotypes.c:331 +#: utils/adt/pseudotypes.c:320 #, c-format msgid "cannot display a value of a shell type" msgstr "значение типа shell нельзя вывести" -#: utils/adt/rangetypes.c:404 +#: utils/adt/rangetypes.c:415 #, c-format msgid "range constructor flags argument must not be null" msgstr "аргумент flags конструктора диапазона не может быть NULL" -#: utils/adt/rangetypes.c:1003 +#: utils/adt/rangetypes.c:1014 #, c-format msgid "result of range difference would not be contiguous" msgstr "результат вычитания диапазонов будет не непрерывным" -#: utils/adt/rangetypes.c:1064 +#: utils/adt/rangetypes.c:1075 #, c-format msgid "result of range union would not be contiguous" msgstr "результат объединения диапазонов будет не непрерывным" -#: utils/adt/rangetypes.c:1689 +#: utils/adt/rangetypes.c:1750 #, c-format msgid "range lower bound must be less than or equal to range upper bound" msgstr "нижняя граница диапазона должна быть меньше или равна верхней" -#: utils/adt/rangetypes.c:2112 utils/adt/rangetypes.c:2125 -#: utils/adt/rangetypes.c:2139 +#: utils/adt/rangetypes.c:2197 utils/adt/rangetypes.c:2210 +#: utils/adt/rangetypes.c:2224 #, c-format msgid "invalid range bound flags" msgstr "неверные флаги границ диапазона" -#: utils/adt/rangetypes.c:2113 utils/adt/rangetypes.c:2126 -#: utils/adt/rangetypes.c:2140 +#: utils/adt/rangetypes.c:2198 utils/adt/rangetypes.c:2211 +#: utils/adt/rangetypes.c:2225 #, c-format msgid "Valid values are \"[]\", \"[)\", \"(]\", and \"()\"." msgstr "Допустимые значения: \"[]\", \"[)\", \"(]\" и \"()\"." -#: utils/adt/rangetypes.c:2205 utils/adt/rangetypes.c:2222 -#: utils/adt/rangetypes.c:2235 utils/adt/rangetypes.c:2253 -#: utils/adt/rangetypes.c:2264 utils/adt/rangetypes.c:2308 -#: utils/adt/rangetypes.c:2316 +#: utils/adt/rangetypes.c:2293 utils/adt/rangetypes.c:2310 +#: utils/adt/rangetypes.c:2325 utils/adt/rangetypes.c:2345 +#: utils/adt/rangetypes.c:2356 utils/adt/rangetypes.c:2403 +#: utils/adt/rangetypes.c:2411 #, c-format msgid "malformed range literal: \"%s\"" msgstr "ошибочный литерал диапазона: \"%s\"" -#: utils/adt/rangetypes.c:2207 +#: utils/adt/rangetypes.c:2295 #, c-format msgid "Junk after \"empty\" key word." msgstr "Мусор после ключевого слова \"empty\"." -#: utils/adt/rangetypes.c:2224 +#: utils/adt/rangetypes.c:2312 #, c-format msgid "Missing left parenthesis or bracket." msgstr "Отсутствует левая скобка (круглая или квадратная)." -#: utils/adt/rangetypes.c:2237 +#: utils/adt/rangetypes.c:2327 #, c-format msgid "Missing comma after lower bound." msgstr "Отсутствует запятая после нижней границы." -#: utils/adt/rangetypes.c:2255 +#: utils/adt/rangetypes.c:2347 #, c-format msgid "Too many commas." msgstr "Слишком много запятых." -#: utils/adt/rangetypes.c:2266 +#: utils/adt/rangetypes.c:2358 #, c-format msgid "Junk after right parenthesis or bracket." msgstr "Мусор после правой скобки." -#: utils/adt/regexp.c:290 utils/adt/regexp.c:1983 utils/adt/varlena.c:4528 +#: utils/adt/regexp.c:305 utils/adt/regexp.c:1997 utils/adt/varlena.c:4270 #, c-format msgid "regular expression failed: %s" msgstr "ошибка в регулярном выражении: %s" -#: utils/adt/regexp.c:431 utils/adt/regexp.c:666 +#: utils/adt/regexp.c:446 utils/adt/regexp.c:681 #, c-format msgid "invalid regular expression option: \"%.*s\"" msgstr "неверный параметр регулярного выражения: \"%.*s\"" -#: utils/adt/regexp.c:668 +#: utils/adt/regexp.c:683 #, c-format msgid "" "If you meant to use regexp_replace() with a start parameter, cast the fourth " @@ -27572,15 +28289,15 @@ msgstr "" "Если вы хотите вызвать regexp_replace() с параметром start, явно приведите " "четвёртый аргумент к целочисленному типу." -#: utils/adt/regexp.c:702 utils/adt/regexp.c:711 utils/adt/regexp.c:1068 -#: utils/adt/regexp.c:1132 utils/adt/regexp.c:1141 utils/adt/regexp.c:1150 -#: utils/adt/regexp.c:1159 utils/adt/regexp.c:1839 utils/adt/regexp.c:1848 -#: utils/adt/regexp.c:1857 utils/misc/guc.c:11859 utils/misc/guc.c:11893 +#: 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 #, c-format msgid "invalid value for parameter \"%s\": %d" msgstr "неверное значение параметра \"%s\": %d" -#: utils/adt/regexp.c:922 +#: utils/adt/regexp.c:937 #, c-format msgid "" "SQL regular expression may not contain more than two escape-double-quote " @@ -27590,115 +28307,114 @@ msgstr "" "(экранированных кавычек)" #. translator: %s is a SQL function name -#: utils/adt/regexp.c:1079 utils/adt/regexp.c:1170 utils/adt/regexp.c:1257 -#: utils/adt/regexp.c:1296 utils/adt/regexp.c:1684 utils/adt/regexp.c:1739 -#: utils/adt/regexp.c:1868 +#: utils/adt/regexp.c:1094 utils/adt/regexp.c:1185 utils/adt/regexp.c:1272 +#: utils/adt/regexp.c:1311 utils/adt/regexp.c:1699 utils/adt/regexp.c:1754 +#: utils/adt/regexp.c:1883 #, c-format msgid "%s does not support the \"global\" option" msgstr "%s не поддерживает режим \"global\"" -#: utils/adt/regexp.c:1298 +#: utils/adt/regexp.c:1313 #, c-format msgid "Use the regexp_matches function instead." msgstr "Вместо неё используйте функцию regexp_matches." -#: utils/adt/regexp.c:1486 +#: utils/adt/regexp.c:1501 #, c-format msgid "too many regular expression matches" msgstr "слишком много совпадений для регулярного выражения" -#: utils/adt/regproc.c:105 +#: utils/adt/regproc.c:104 #, c-format msgid "more than one function named \"%s\"" msgstr "имя \"%s\" имеют несколько функций" -#: utils/adt/regproc.c:543 +#: utils/adt/regproc.c:513 #, c-format msgid "more than one operator named %s" msgstr "имя %s имеют несколько операторов" -#: utils/adt/regproc.c:710 utils/adt/regproc.c:751 gram.y:8771 +#: utils/adt/regproc.c:670 gram.y:8841 #, c-format msgid "missing argument" msgstr "отсутствует аргумент" -#: utils/adt/regproc.c:711 utils/adt/regproc.c:752 gram.y:8772 +#: utils/adt/regproc.c:671 gram.y:8842 #, c-format msgid "Use NONE to denote the missing argument of a unary operator." msgstr "" "Чтобы обозначить отсутствующий аргумент унарного оператора, укажите NONE." -#: utils/adt/regproc.c:715 utils/adt/regproc.c:756 utils/adt/regproc.c:2055 -#: utils/adt/ruleutils.c:9872 utils/adt/ruleutils.c:10041 +#: utils/adt/regproc.c:675 utils/adt/regproc.c:2009 utils/adt/ruleutils.c:10013 +#: utils/adt/ruleutils.c:10226 #, c-format msgid "too many arguments" msgstr "слишком много аргументов" -#: utils/adt/regproc.c:716 utils/adt/regproc.c:757 +#: utils/adt/regproc.c:676 #, c-format msgid "Provide two argument types for operator." msgstr "Предоставьте для оператора два типа аргументов." -#: utils/adt/regproc.c:1639 utils/adt/regproc.c:1663 utils/adt/regproc.c:1764 -#: utils/adt/regproc.c:1788 utils/adt/regproc.c:1890 utils/adt/regproc.c:1895 -#: utils/adt/varlena.c:3667 utils/adt/varlena.c:3672 +#: utils/adt/regproc.c:1544 utils/adt/regproc.c:1661 utils/adt/regproc.c:1790 +#: utils/adt/regproc.c:1795 utils/adt/varlena.c:3410 utils/adt/varlena.c:3415 #, c-format msgid "invalid name syntax" msgstr "ошибка синтаксиса в имени" -#: utils/adt/regproc.c:1953 +#: utils/adt/regproc.c:1904 #, c-format msgid "expected a left parenthesis" msgstr "ожидалась левая скобка" -#: utils/adt/regproc.c:1969 +#: utils/adt/regproc.c:1922 #, c-format msgid "expected a right parenthesis" msgstr "ожидалась правая скобка" -#: utils/adt/regproc.c:1988 +#: utils/adt/regproc.c:1941 #, c-format msgid "expected a type name" msgstr "ожидалось имя типа" -#: utils/adt/regproc.c:2020 +#: utils/adt/regproc.c:1973 #, c-format msgid "improper type name" msgstr "ошибочное имя типа" -#: utils/adt/ri_triggers.c:307 utils/adt/ri_triggers.c:1611 -#: utils/adt/ri_triggers.c:2598 +#: utils/adt/ri_triggers.c:306 utils/adt/ri_triggers.c:1625 +#: utils/adt/ri_triggers.c:2610 #, c-format msgid "insert or update on table \"%s\" violates foreign key constraint \"%s\"" msgstr "" "INSERT или UPDATE в таблице \"%s\" нарушает ограничение внешнего ключа \"%s\"" -#: utils/adt/ri_triggers.c:310 utils/adt/ri_triggers.c:1614 +#: utils/adt/ri_triggers.c:309 utils/adt/ri_triggers.c:1628 #, c-format msgid "MATCH FULL does not allow mixing of null and nonnull key values." msgstr "MATCH FULL не позволяет смешивать в значении ключа null и не null." -#: utils/adt/ri_triggers.c:2031 +#: utils/adt/ri_triggers.c:2045 #, c-format msgid "function \"%s\" must be fired for INSERT" msgstr "функция \"%s\" должна запускаться для INSERT" -#: utils/adt/ri_triggers.c:2037 +#: utils/adt/ri_triggers.c:2051 #, c-format msgid "function \"%s\" must be fired for UPDATE" msgstr "функция \"%s\" должна запускаться для UPDATE" -#: utils/adt/ri_triggers.c:2043 +#: utils/adt/ri_triggers.c:2057 #, c-format msgid "function \"%s\" must be fired for DELETE" msgstr "функция \"%s\" должна запускаться для DELETE" -#: utils/adt/ri_triggers.c:2066 +#: utils/adt/ri_triggers.c:2080 #, c-format msgid "no pg_constraint entry for trigger \"%s\" on table \"%s\"" msgstr "для триггера \"%s\" таблицы \"%s\" нет записи pg_constraint" -#: utils/adt/ri_triggers.c:2068 +#: utils/adt/ri_triggers.c:2082 #, c-format msgid "" "Remove this referential integrity trigger and its mates, then do ALTER TABLE " @@ -27707,12 +28423,12 @@ msgstr "" "Удалите этот триггер ссылочной целостности и связанные объекты, а затем " "выполните ALTER TABLE ADD CONSTRAINT." -#: utils/adt/ri_triggers.c:2098 gram.y:4172 +#: utils/adt/ri_triggers.c:2112 gram.y:4223 #, c-format msgid "MATCH PARTIAL not yet implemented" msgstr "выражение MATCH PARTIAL ещё не реализовано" -#: utils/adt/ri_triggers.c:2423 +#: utils/adt/ri_triggers.c:2435 #, c-format msgid "" "referential integrity query on \"%s\" from constraint \"%s\" on \"%s\" gave " @@ -27721,33 +28437,33 @@ msgstr "" "неожиданный результат запроса ссылочной целостности к \"%s\" из ограничения " "\"%s\" таблицы \"%s\"" -#: utils/adt/ri_triggers.c:2427 +#: utils/adt/ri_triggers.c:2439 #, c-format msgid "This is most likely due to a rule having rewritten the query." msgstr "Скорее всего это вызвано правилом, переписавшим запрос." -#: utils/adt/ri_triggers.c:2588 +#: utils/adt/ri_triggers.c:2600 #, c-format msgid "removing partition \"%s\" violates foreign key constraint \"%s\"" msgstr "" "при удалении секции \"%s\" нарушается ограничение внешнего ключа \"%s\"" -#: utils/adt/ri_triggers.c:2591 utils/adt/ri_triggers.c:2616 +#: utils/adt/ri_triggers.c:2603 utils/adt/ri_triggers.c:2628 #, c-format msgid "Key (%s)=(%s) is still referenced from table \"%s\"." msgstr "На ключ (%s)=(%s) всё ещё есть ссылки в таблице \"%s\"." -#: utils/adt/ri_triggers.c:2602 +#: utils/adt/ri_triggers.c:2614 #, c-format msgid "Key (%s)=(%s) is not present in table \"%s\"." msgstr "Ключ (%s)=(%s) отсутствует в таблице \"%s\"." -#: utils/adt/ri_triggers.c:2605 +#: utils/adt/ri_triggers.c:2617 #, c-format msgid "Key is not present in table \"%s\"." msgstr "Ключ отсутствует в таблице \"%s\"." -#: utils/adt/ri_triggers.c:2611 +#: utils/adt/ri_triggers.c:2623 #, c-format msgid "" "update or delete on table \"%s\" violates foreign key constraint \"%s\" on " @@ -27756,48 +28472,48 @@ msgstr "" "UPDATE или DELETE в таблице \"%s\" нарушает ограничение внешнего ключа " "\"%s\" таблицы \"%s\"" -#: utils/adt/ri_triggers.c:2619 +#: utils/adt/ri_triggers.c:2631 #, c-format msgid "Key is still referenced from table \"%s\"." msgstr "На ключ всё ещё есть ссылки в таблице \"%s\"." -#: utils/adt/rowtypes.c:105 utils/adt/rowtypes.c:483 +#: utils/adt/rowtypes.c:106 utils/adt/rowtypes.c:510 #, c-format msgid "input of anonymous composite types is not implemented" msgstr "ввод анонимных составных типов не реализован" -#: utils/adt/rowtypes.c:157 utils/adt/rowtypes.c:186 utils/adt/rowtypes.c:209 -#: utils/adt/rowtypes.c:217 utils/adt/rowtypes.c:269 utils/adt/rowtypes.c:277 +#: utils/adt/rowtypes.c:159 utils/adt/rowtypes.c:191 utils/adt/rowtypes.c:217 +#: utils/adt/rowtypes.c:228 utils/adt/rowtypes.c:286 utils/adt/rowtypes.c:297 #, c-format msgid "malformed record literal: \"%s\"" msgstr "ошибка в литерале записи: \"%s\"" -#: utils/adt/rowtypes.c:158 +#: utils/adt/rowtypes.c:160 #, c-format msgid "Missing left parenthesis." msgstr "Отсутствует левая скобка." -#: utils/adt/rowtypes.c:187 +#: utils/adt/rowtypes.c:192 #, c-format msgid "Too few columns." msgstr "Слишком мало столбцов." -#: utils/adt/rowtypes.c:270 +#: utils/adt/rowtypes.c:287 #, c-format msgid "Too many columns." msgstr "Слишком много столбцов." -#: utils/adt/rowtypes.c:278 +#: utils/adt/rowtypes.c:298 #, c-format msgid "Junk after right parenthesis." msgstr "Мусор после правой скобки." -#: utils/adt/rowtypes.c:532 +#: utils/adt/rowtypes.c:559 #, c-format msgid "wrong number of columns: %d, expected %d" msgstr "неверное число столбцов: %d, ожидалось: %d" -#: utils/adt/rowtypes.c:574 +#: utils/adt/rowtypes.c:601 #, c-format msgid "" "binary data has type %u (%s) instead of expected %u (%s) in record column %d" @@ -27805,132 +28521,127 @@ msgstr "" "с бинарными данными связан тип %u (%s) вместо ожидаемого %u (%s) в столбце " "записи %d" -#: utils/adt/rowtypes.c:641 +#: utils/adt/rowtypes.c:668 #, c-format msgid "improper binary format in record column %d" msgstr "неподходящий двоичный формат в столбце записи %d" -#: utils/adt/rowtypes.c:932 utils/adt/rowtypes.c:1178 utils/adt/rowtypes.c:1436 -#: utils/adt/rowtypes.c:1682 +#: utils/adt/rowtypes.c:959 utils/adt/rowtypes.c:1205 utils/adt/rowtypes.c:1463 +#: utils/adt/rowtypes.c:1709 #, c-format msgid "cannot compare dissimilar column types %s and %s at record column %d" msgstr "не удалось сравнить различные типы столбцов %s и %s, столбец записи %d" -#: utils/adt/rowtypes.c:1023 utils/adt/rowtypes.c:1248 -#: utils/adt/rowtypes.c:1533 utils/adt/rowtypes.c:1718 +#: utils/adt/rowtypes.c:1050 utils/adt/rowtypes.c:1275 +#: utils/adt/rowtypes.c:1560 utils/adt/rowtypes.c:1745 #, c-format msgid "cannot compare record types with different numbers of columns" msgstr "сравнивать типы записей с разным числом столбцов нельзя" -#: utils/adt/ruleutils.c:2705 +#: utils/adt/ruleutils.c:2694 #, c-format msgid "input is a query, not an expression" msgstr "на вход поступил запрос, а не выражение" -#: utils/adt/ruleutils.c:2717 +#: utils/adt/ruleutils.c:2706 #, c-format msgid "expression contains variables of more than one relation" msgstr "выражение содержит переменные из нескольких отношений" -#: utils/adt/ruleutils.c:2724 +#: utils/adt/ruleutils.c:2713 #, c-format msgid "expression contains variables" msgstr "выражение содержит переменные" -#: utils/adt/ruleutils.c:5247 +#: utils/adt/ruleutils.c:5227 #, c-format msgid "rule \"%s\" has unsupported event type %d" msgstr "правило \"%s\" имеет неподдерживаемый тип событий %d" -#: utils/adt/timestamp.c:110 +#: utils/adt/timestamp.c:112 #, c-format msgid "TIMESTAMP(%d)%s precision must not be negative" msgstr "TIMESTAMP(%d)%s: точность должна быть неотрицательна" -#: utils/adt/timestamp.c:116 +#: utils/adt/timestamp.c:118 #, c-format msgid "TIMESTAMP(%d)%s precision reduced to maximum allowed, %d" msgstr "TIMESTAMP(%d)%s: точность уменьшена до дозволенного максимума: %d" -#: utils/adt/timestamp.c:179 utils/adt/timestamp.c:437 utils/misc/guc.c:12883 -#, c-format -msgid "timestamp out of range: \"%s\"" -msgstr "timestamp вне диапазона: \"%s\"" - -#: utils/adt/timestamp.c:375 +#: utils/adt/timestamp.c:378 #, c-format msgid "timestamp(%d) precision must be between %d and %d" msgstr "точность timestamp(%d) должна быть между %d и %d" -#: utils/adt/timestamp.c:499 +#: utils/adt/timestamp.c:496 #, c-format msgid "Numeric time zones must have \"-\" or \"+\" as first character." msgstr "" "Запись числового часового пояса должна начинаться с символа \"-\" или \"+\"." -#: utils/adt/timestamp.c:512 +#: utils/adt/timestamp.c:508 #, c-format msgid "numeric time zone \"%s\" out of range" msgstr "числовой часовой пояс \"%s\" вне диапазона" -#: utils/adt/timestamp.c:608 utils/adt/timestamp.c:618 -#: utils/adt/timestamp.c:626 +#: utils/adt/timestamp.c:609 utils/adt/timestamp.c:619 +#: utils/adt/timestamp.c:627 #, c-format msgid "timestamp out of range: %d-%02d-%02d %d:%02d:%02g" msgstr "timestamp вне диапазона: %d-%02d-%02d %d:%02d:%02g" -#: utils/adt/timestamp.c:727 +#: utils/adt/timestamp.c:728 #, c-format msgid "timestamp cannot be NaN" msgstr "timestamp не может быть NaN" -#: utils/adt/timestamp.c:745 utils/adt/timestamp.c:757 +#: utils/adt/timestamp.c:746 utils/adt/timestamp.c:758 #, c-format msgid "timestamp out of range: \"%g\"" msgstr "timestamp вне диапазона: \"%g\"" -#: utils/adt/timestamp.c:1062 utils/adt/timestamp.c:1095 +#: utils/adt/timestamp.c:1065 utils/adt/timestamp.c:1098 #, c-format msgid "invalid INTERVAL type modifier" msgstr "неверный модификатор типа INTERVAL" -#: utils/adt/timestamp.c:1078 +#: utils/adt/timestamp.c:1081 #, c-format msgid "INTERVAL(%d) precision must not be negative" msgstr "INTERVAL(%d): точность должна быть неотрицательна" -#: utils/adt/timestamp.c:1084 +#: utils/adt/timestamp.c:1087 #, c-format msgid "INTERVAL(%d) precision reduced to maximum allowed, %d" msgstr "INTERVAL(%d): точность уменьшена до максимально возможной: %d" -#: utils/adt/timestamp.c:1466 +#: utils/adt/timestamp.c:1473 #, c-format msgid "interval(%d) precision must be between %d and %d" msgstr "точность interval(%d) должна быть между %d и %d" -#: utils/adt/timestamp.c:2689 +#: utils/adt/timestamp.c:2703 #, c-format msgid "cannot subtract infinite timestamps" msgstr "вычитать бесконечные значения timestamp нельзя" -#: utils/adt/timestamp.c:3891 utils/adt/timestamp.c:4074 +#: utils/adt/timestamp.c:3956 utils/adt/timestamp.c:4139 #, c-format msgid "origin out of range" msgstr "начало вне диапазона" -#: utils/adt/timestamp.c:3896 utils/adt/timestamp.c:4079 +#: utils/adt/timestamp.c:3961 utils/adt/timestamp.c:4144 #, c-format msgid "timestamps cannot be binned into intervals containing months or years" msgstr "" "значения timestamp нельзя подогнать под интервалы, содержащие месяцы или годы" -#: utils/adt/timestamp.c:3903 utils/adt/timestamp.c:4086 +#: utils/adt/timestamp.c:3968 utils/adt/timestamp.c:4151 #, c-format msgid "stride must be greater than zero" msgstr "шаг должен быть больше нуля" -#: utils/adt/timestamp.c:4399 +#: utils/adt/timestamp.c:4434 #, c-format msgid "Months usually have fractional weeks." msgstr "В месяцах обычно дробное количество недель." @@ -27961,12 +28672,7 @@ msgstr "" "функция suppress_redundant_updates_trigger должна вызываться для каждой " "строки" -#: utils/adt/tsgistidx.c:92 -#, c-format -msgid "gtsvector_in not implemented" -msgstr "функция gtsvector_in не реализована" - -#: utils/adt/tsquery.c:199 utils/adt/tsquery_op.c:124 +#: utils/adt/tsquery.c:210 utils/adt/tsquery_op.c:125 #, c-format msgid "" "distance in phrase operator must be an integer value between zero and %d " @@ -27975,43 +28681,42 @@ msgstr "" "расстояние во фразовом операторе должно быть целым числом от 0 до %d " "включительно" -#: utils/adt/tsquery.c:306 utils/adt/tsquery.c:691 -#: utils/adt/tsvector_parser.c:133 -#, c-format -msgid "syntax error in tsquery: \"%s\"" -msgstr "ошибка синтаксиса в tsquery: \"%s\"" - -#: utils/adt/tsquery.c:330 +#: utils/adt/tsquery.c:344 #, c-format msgid "no operand in tsquery: \"%s\"" msgstr "нет оператора в tsquery: \"%s\"" -#: utils/adt/tsquery.c:534 +#: utils/adt/tsquery.c:558 #, c-format msgid "value is too big in tsquery: \"%s\"" msgstr "слишком большое значение в tsquery: \"%s\"" -#: utils/adt/tsquery.c:539 +#: utils/adt/tsquery.c:563 #, c-format msgid "operand is too long in tsquery: \"%s\"" msgstr "слишком длинный операнд в tsquery: \"%s\"" -#: utils/adt/tsquery.c:567 +#: utils/adt/tsquery.c:591 #, c-format msgid "word is too long in tsquery: \"%s\"" msgstr "слишком длинное слово в tsquery: \"%s\"" -#: utils/adt/tsquery.c:835 +#: utils/adt/tsquery.c:717 utils/adt/tsvector_parser.c:147 +#, c-format +msgid "syntax error in tsquery: \"%s\"" +msgstr "ошибка синтаксиса в tsquery: \"%s\"" + +#: utils/adt/tsquery.c:883 #, c-format msgid "text-search query doesn't contain lexemes: \"%s\"" msgstr "запрос поиска текста не содержит лексемы: \"%s\"" -#: utils/adt/tsquery.c:846 utils/adt/tsquery_util.c:375 +#: utils/adt/tsquery.c:894 utils/adt/tsquery_util.c:376 #, c-format msgid "tsquery is too large" msgstr "tsquery слишком большой" -#: utils/adt/tsquery_cleanup.c:407 +#: utils/adt/tsquery_cleanup.c:409 #, c-format msgid "" "text-search query contains only stop words or doesn't contain lexemes, " @@ -28045,88 +28750,88 @@ msgstr "массив весов не может содержать null" msgid "weight out of range" msgstr "вес вне диапазона" -#: utils/adt/tsvector.c:215 +#: utils/adt/tsvector.c:217 #, c-format msgid "word is too long (%ld bytes, max %ld bytes)" msgstr "слово слишком длинное (%ld Б, при максимуме %ld)" -#: utils/adt/tsvector.c:222 +#: utils/adt/tsvector.c:224 #, c-format msgid "string is too long for tsvector (%ld bytes, max %ld bytes)" msgstr "строка слишком длинна для tsvector (%ld Б, при максимуме %ld)" -#: utils/adt/tsvector_op.c:771 +#: utils/adt/tsvector_op.c:773 #, c-format msgid "lexeme array may not contain nulls" msgstr "массив лексем не может содержать элементы null" -#: utils/adt/tsvector_op.c:776 +#: utils/adt/tsvector_op.c:778 #, c-format msgid "lexeme array may not contain empty strings" msgstr "массив лексем не должен содержать пустые строки" -#: utils/adt/tsvector_op.c:846 +#: utils/adt/tsvector_op.c:847 #, c-format msgid "weight array may not contain nulls" msgstr "массив весов не может содержать элементы null" -#: utils/adt/tsvector_op.c:870 +#: utils/adt/tsvector_op.c:871 #, c-format msgid "unrecognized weight: \"%c\"" msgstr "нераспознанный вес: \"%c\"" -#: utils/adt/tsvector_op.c:2434 +#: utils/adt/tsvector_op.c:2601 #, c-format msgid "ts_stat query must return one tsvector column" msgstr "запрос ts_stat должен вернуть один столбец tsvector" -#: utils/adt/tsvector_op.c:2623 +#: utils/adt/tsvector_op.c:2790 #, c-format msgid "tsvector column \"%s\" does not exist" msgstr "столбец \"%s\" типа tsvector не существует" -#: utils/adt/tsvector_op.c:2630 +#: utils/adt/tsvector_op.c:2797 #, c-format msgid "column \"%s\" is not of tsvector type" msgstr "столбец \"%s\" должен иметь тип tsvector" -#: utils/adt/tsvector_op.c:2642 +#: utils/adt/tsvector_op.c:2809 #, c-format msgid "configuration column \"%s\" does not exist" msgstr "столбец конфигурации \"%s\" не существует" -#: utils/adt/tsvector_op.c:2648 +#: utils/adt/tsvector_op.c:2815 #, c-format msgid "column \"%s\" is not of regconfig type" msgstr "столбец \"%s\" должен иметь тип regconfig" -#: utils/adt/tsvector_op.c:2655 +#: utils/adt/tsvector_op.c:2822 #, c-format msgid "configuration column \"%s\" must not be null" msgstr "значение столбца конфигурации \"%s\" не должно быть null" -#: utils/adt/tsvector_op.c:2668 +#: utils/adt/tsvector_op.c:2835 #, c-format msgid "text search configuration name \"%s\" must be schema-qualified" msgstr "имя конфигурации текстового поиска \"%s\" должно указываться со схемой" -#: utils/adt/tsvector_op.c:2693 +#: utils/adt/tsvector_op.c:2860 #, c-format msgid "column \"%s\" is not of a character type" msgstr "столбец \"%s\" имеет не символьный тип" -#: utils/adt/tsvector_parser.c:134 +#: utils/adt/tsvector_parser.c:148 #, c-format msgid "syntax error in tsvector: \"%s\"" msgstr "ошибка синтаксиса в tsvector: \"%s\"" # skip-rule: capital-letter-first -#: utils/adt/tsvector_parser.c:200 +#: utils/adt/tsvector_parser.c:221 #, c-format msgid "there is no escaped character: \"%s\"" msgstr "нет спец. символа \"%s\"" -#: utils/adt/tsvector_parser.c:318 +#: utils/adt/tsvector_parser.c:339 #, c-format msgid "wrong position info in tsvector: \"%s\"" msgstr "неверная информация о позиции в tsvector: \"%s\"" @@ -28136,12 +28841,12 @@ msgstr "неверная информация о позиции в tsvector: \"% msgid "could not generate random values" msgstr "не удалось сгенерировать случайные значения" -#: utils/adt/varbit.c:110 utils/adt/varchar.c:53 +#: utils/adt/varbit.c:110 utils/adt/varchar.c:54 #, c-format msgid "length for type %s must be at least 1" msgstr "длина значения типа %s должна быть как минимум 1" -#: utils/adt/varbit.c:115 utils/adt/varchar.c:57 +#: utils/adt/varbit.c:115 utils/adt/varchar.c:58 #, c-format msgid "length for type %s cannot exceed %d" msgstr "длина значения типа %s не может превышать %d" @@ -28176,9 +28881,9 @@ msgstr "неверная длина во внешней строке битов" msgid "bit string too long for type bit varying(%d)" msgstr "строка битов не умещается в тип bit varying(%d)" -#: utils/adt/varbit.c:1081 utils/adt/varbit.c:1191 utils/adt/varlena.c:889 -#: utils/adt/varlena.c:952 utils/adt/varlena.c:1109 utils/adt/varlena.c:3309 -#: utils/adt/varlena.c:3387 +#: utils/adt/varbit.c:1081 utils/adt/varbit.c:1191 utils/adt/varlena.c:908 +#: utils/adt/varlena.c:971 utils/adt/varlena.c:1128 utils/adt/varlena.c:3052 +#: utils/adt/varlena.c:3130 #, c-format msgid "negative substring length not allowed" msgstr "подстрока должна иметь неотрицательную длину" @@ -28204,142 +28909,122 @@ msgstr "" msgid "bit index %d out of valid range (0..%d)" msgstr "индекс бита %d вне диапазона 0..%d" -#: utils/adt/varbit.c:1833 utils/adt/varlena.c:3591 +#: utils/adt/varbit.c:1833 utils/adt/varlena.c:3334 #, c-format msgid "new bit must be 0 or 1" msgstr "значением бита должен быть 0 или 1" -#: utils/adt/varchar.c:157 utils/adt/varchar.c:310 +#: utils/adt/varchar.c:162 utils/adt/varchar.c:313 #, c-format msgid "value too long for type character(%d)" msgstr "значение не умещается в тип character(%d)" -#: utils/adt/varchar.c:472 utils/adt/varchar.c:634 +#: utils/adt/varchar.c:476 utils/adt/varchar.c:640 #, c-format msgid "value too long for type character varying(%d)" msgstr "значение не умещается в тип character varying(%d)" -#: utils/adt/varchar.c:732 utils/adt/varlena.c:1498 +#: utils/adt/varchar.c:738 utils/adt/varlena.c:1517 #, c-format msgid "could not determine which collation to use for string comparison" msgstr "" "не удалось определить, какое правило сортировки использовать для сравнения " "строк" -#: utils/adt/varlena.c:1208 utils/adt/varlena.c:1947 +#: utils/adt/varlena.c:1227 utils/adt/varlena.c:1806 #, c-format msgid "nondeterministic collations are not supported for substring searches" msgstr "" "недетерминированные правила сортировки не поддерживаются для поиска подстрок" -#: utils/adt/varlena.c:1596 utils/adt/varlena.c:1609 -#, c-format -msgid "could not convert string to UTF-16: error code %lu" -msgstr "не удалось преобразовать строку в UTF-16 (код ошибки: %lu)" - -#: utils/adt/varlena.c:1624 -#, c-format -msgid "could not compare Unicode strings: %m" -msgstr "не удалось сравнить строки в Unicode: %m" - -#: utils/adt/varlena.c:1675 utils/adt/varlena.c:2396 -#, c-format -msgid "collation failed: %s" -msgstr "ошибка в библиотеке сортировки: %s" - -#: utils/adt/varlena.c:2582 -#, c-format -msgid "sort key generation failed: %s" -msgstr "не удалось сгенерировать ключ сортировки: %s" - -#: utils/adt/varlena.c:3475 utils/adt/varlena.c:3542 +#: utils/adt/varlena.c:3218 utils/adt/varlena.c:3285 #, c-format msgid "index %d out of valid range, 0..%d" msgstr "индекс %d вне диапазона 0..%d" -#: utils/adt/varlena.c:3506 utils/adt/varlena.c:3578 +#: utils/adt/varlena.c:3249 utils/adt/varlena.c:3321 #, c-format msgid "index %lld out of valid range, 0..%lld" msgstr "индекс %lld вне диапазона 0..%lld" -#: utils/adt/varlena.c:4640 +#: utils/adt/varlena.c:4382 #, c-format msgid "field position must not be zero" msgstr "позиция поля должна быть отлична от 0" -#: utils/adt/varlena.c:5660 +#: utils/adt/varlena.c:5554 #, c-format msgid "unterminated format() type specifier" msgstr "незавершённый спецификатор типа format()" -#: utils/adt/varlena.c:5661 utils/adt/varlena.c:5795 utils/adt/varlena.c:5916 +#: utils/adt/varlena.c:5555 utils/adt/varlena.c:5689 utils/adt/varlena.c:5810 #, c-format msgid "For a single \"%%\" use \"%%%%\"." msgstr "Для представления одного знака \"%%\" запишите \"%%%%\"." -#: utils/adt/varlena.c:5793 utils/adt/varlena.c:5914 +#: utils/adt/varlena.c:5687 utils/adt/varlena.c:5808 #, c-format msgid "unrecognized format() type specifier \"%.*s\"" msgstr "нераспознанный спецификатор типа format(): \"%.*s\"" -#: utils/adt/varlena.c:5806 utils/adt/varlena.c:5863 +#: utils/adt/varlena.c:5700 utils/adt/varlena.c:5757 #, c-format msgid "too few arguments for format()" msgstr "мало аргументов для format()" -#: utils/adt/varlena.c:5959 utils/adt/varlena.c:6141 +#: utils/adt/varlena.c:5853 utils/adt/varlena.c:6035 #, c-format msgid "number is out of range" msgstr "число вне диапазона" -#: utils/adt/varlena.c:6022 utils/adt/varlena.c:6050 +#: utils/adt/varlena.c:5916 utils/adt/varlena.c:5944 #, c-format msgid "format specifies argument 0, but arguments are numbered from 1" msgstr "формат ссылается на аргумент 0, но аргументы нумеруются с 1" -#: utils/adt/varlena.c:6043 +#: utils/adt/varlena.c:5937 #, c-format msgid "width argument position must be ended by \"$\"" msgstr "указание аргумента ширины должно оканчиваться \"$\"" -#: utils/adt/varlena.c:6088 +#: utils/adt/varlena.c:5982 #, c-format msgid "null values cannot be formatted as an SQL identifier" msgstr "значения null нельзя представить в виде SQL-идентификатора" -#: utils/adt/varlena.c:6214 +#: utils/adt/varlena.c:6190 #, c-format msgid "Unicode normalization can only be performed if server encoding is UTF8" msgstr "" "нормализацию Unicode можно выполнять, только если кодировка сервера — UTF8" -#: utils/adt/varlena.c:6227 +#: utils/adt/varlena.c:6203 #, c-format msgid "invalid normalization form: %s" msgstr "неверная форма нормализации: %s" -#: utils/adt/varlena.c:6430 utils/adt/varlena.c:6465 utils/adt/varlena.c:6500 +#: utils/adt/varlena.c:6406 utils/adt/varlena.c:6441 utils/adt/varlena.c:6476 #, c-format msgid "invalid Unicode code point: %04X" msgstr "неверный код символа Unicode: %04X" -#: utils/adt/varlena.c:6530 +#: utils/adt/varlena.c:6506 #, c-format msgid "Unicode escapes must be \\XXXX, \\+XXXXXX, \\uXXXX, or \\UXXXXXXXX." msgstr "" "Спецкоды Unicode должны иметь вид \\XXXX, \\+XXXXXX, \\uXXXX или \\UXXXXXXXX." -#: utils/adt/windowfuncs.c:306 +#: utils/adt/windowfuncs.c:442 #, c-format msgid "argument of ntile must be greater than zero" msgstr "аргумент ntile должен быть больше нуля" -#: utils/adt/windowfuncs.c:528 +#: utils/adt/windowfuncs.c:706 #, c-format msgid "argument of nth_value must be greater than zero" msgstr "аргумент nth_value должен быть больше нуля" -#: utils/adt/xid8funcs.c:117 +#: utils/adt/xid8funcs.c:125 #, c-format msgid "transaction ID %llu is in the future" msgstr "ID транзакции %llu относится к будущему" @@ -28349,57 +29034,57 @@ msgstr "ID транзакции %llu относится к будущему" msgid "invalid external pg_snapshot data" msgstr "неверное внешнее представление pg_snapshot" -#: utils/adt/xml.c:222 +#: utils/adt/xml.c:228 #, c-format msgid "unsupported XML feature" msgstr "XML-функции не поддерживаются" -#: utils/adt/xml.c:223 +#: utils/adt/xml.c:229 #, c-format msgid "This functionality requires the server to be built with libxml support." msgstr "Для этой функциональности в сервере не хватает поддержки libxml." -#: utils/adt/xml.c:242 utils/mb/mbutils.c:627 +#: utils/adt/xml.c:248 utils/mb/mbutils.c:628 #, c-format msgid "invalid encoding name \"%s\"" msgstr "неверное имя кодировки: \"%s\"" -#: utils/adt/xml.c:485 utils/adt/xml.c:490 +#: utils/adt/xml.c:496 utils/adt/xml.c:501 #, c-format msgid "invalid XML comment" msgstr "ошибка в XML-комментарии" -#: utils/adt/xml.c:619 +#: utils/adt/xml.c:660 #, c-format msgid "not an XML document" msgstr "не XML-документ" -#: utils/adt/xml.c:778 utils/adt/xml.c:801 +#: utils/adt/xml.c:956 utils/adt/xml.c:979 #, c-format msgid "invalid XML processing instruction" msgstr "неправильная XML-инструкция обработки (PI)" -#: utils/adt/xml.c:779 +#: utils/adt/xml.c:957 #, c-format msgid "XML processing instruction target name cannot be \"%s\"." msgstr "назначением XML-инструкции обработки (PI) не может быть \"%s\"." -#: utils/adt/xml.c:802 +#: utils/adt/xml.c:980 #, c-format msgid "XML processing instruction cannot contain \"?>\"." msgstr "XML-инструкция обработки (PI) не может содержать \"?>\"." -#: utils/adt/xml.c:881 +#: utils/adt/xml.c:1059 #, c-format msgid "xmlvalidate is not implemented" msgstr "функция xmlvalidate не реализована" -#: utils/adt/xml.c:960 +#: utils/adt/xml.c:1115 #, c-format msgid "could not initialize XML library" msgstr "не удалось инициализировать библиотеку XML" -#: utils/adt/xml.c:961 +#: utils/adt/xml.c:1116 #, c-format msgid "" "libxml2 has incompatible char type: sizeof(char)=%zu, sizeof(xmlChar)=%zu." @@ -28407,12 +29092,12 @@ msgstr "" "В libxml2 оказался несовместимый тип char: sizeof(char)=%zu, " "sizeof(xmlChar)=%zu." -#: utils/adt/xml.c:1047 +#: utils/adt/xml.c:1202 #, c-format msgid "could not set up XML error handler" msgstr "не удалось установить обработчик XML-ошибок" -#: utils/adt/xml.c:1048 +#: utils/adt/xml.c:1203 #, c-format msgid "" "This probably indicates that the version of libxml2 being used is not " @@ -28421,120 +29106,120 @@ msgstr "" "Возможно, это означает, что используемая версия libxml2 несовместима с " "заголовочными файлами libxml2, с которыми был собран PostgreSQL." -#: utils/adt/xml.c:1935 +#: utils/adt/xml.c:2189 msgid "Invalid character value." msgstr "Неверный символ." -#: utils/adt/xml.c:1938 +#: utils/adt/xml.c:2192 msgid "Space required." msgstr "Требуется пробел." -#: utils/adt/xml.c:1941 +#: utils/adt/xml.c:2195 msgid "standalone accepts only 'yes' or 'no'." msgstr "значениями атрибута standalone могут быть только 'yes' и 'no'." -#: utils/adt/xml.c:1944 +#: utils/adt/xml.c:2198 msgid "Malformed declaration: missing version." msgstr "Ошибочное объявление: не указана версия." -#: utils/adt/xml.c:1947 +#: utils/adt/xml.c:2201 msgid "Missing encoding in text declaration." msgstr "В объявлении не указана кодировка." -#: utils/adt/xml.c:1950 +#: utils/adt/xml.c:2204 msgid "Parsing XML declaration: '?>' expected." msgstr "Ошибка при разборе XML-объявления: ожидается '?>'." -#: utils/adt/xml.c:1953 +#: utils/adt/xml.c:2207 #, c-format msgid "Unrecognized libxml error code: %d." msgstr "Нераспознанный код ошибки libxml: %d." -#: utils/adt/xml.c:2210 +#: utils/adt/xml.c:2461 #, c-format msgid "XML does not support infinite date values." msgstr "XML не поддерживает бесконечность в датах." -#: utils/adt/xml.c:2232 utils/adt/xml.c:2259 +#: utils/adt/xml.c:2483 utils/adt/xml.c:2510 #, c-format msgid "XML does not support infinite timestamp values." msgstr "XML не поддерживает бесконечность в timestamp." -#: utils/adt/xml.c:2675 +#: utils/adt/xml.c:2926 #, c-format msgid "invalid query" msgstr "неверный запрос" -#: utils/adt/xml.c:4015 +#: utils/adt/xml.c:4266 #, c-format msgid "invalid array for XML namespace mapping" msgstr "неправильный массив с сопоставлениями пространств имён XML" -#: utils/adt/xml.c:4016 +#: utils/adt/xml.c:4267 #, c-format msgid "" "The array must be two-dimensional with length of the second axis equal to 2." msgstr "Массив должен быть двухмерным и содержать 2 элемента по второй оси." -#: utils/adt/xml.c:4040 +#: utils/adt/xml.c:4291 #, c-format msgid "empty XPath expression" msgstr "пустое выражение XPath" -#: utils/adt/xml.c:4092 +#: utils/adt/xml.c:4343 #, c-format msgid "neither namespace name nor URI may be null" msgstr "ни префикс, ни URI пространства имён не может быть null" -#: utils/adt/xml.c:4099 +#: utils/adt/xml.c:4350 #, c-format msgid "could not register XML namespace with name \"%s\" and URI \"%s\"" msgstr "" "не удалось зарегистрировать пространство имён XML с префиксом \"%s\" и URI " "\"%s\"" -#: utils/adt/xml.c:4450 +#: utils/adt/xml.c:4693 #, c-format msgid "DEFAULT namespace is not supported" msgstr "пространство имён DEFAULT не поддерживается" -#: utils/adt/xml.c:4479 +#: utils/adt/xml.c:4722 #, c-format msgid "row path filter must not be empty string" msgstr "путь отбираемых строк не должен быть пустым" -#: utils/adt/xml.c:4510 +#: utils/adt/xml.c:4753 #, c-format msgid "column path filter must not be empty string" msgstr "путь отбираемого столбца не должен быть пустым" -#: utils/adt/xml.c:4654 +#: utils/adt/xml.c:4897 #, c-format msgid "more than one value returned by column XPath expression" msgstr "выражение XPath, отбирающее столбец, возвратило более одного значения" -#: utils/cache/lsyscache.c:1042 +#: utils/cache/lsyscache.c:1043 #, c-format msgid "cast from type %s to type %s does not exist" msgstr "приведение типа %s к типу %s не существует" -#: utils/cache/lsyscache.c:2844 utils/cache/lsyscache.c:2877 -#: utils/cache/lsyscache.c:2910 utils/cache/lsyscache.c:2943 +#: utils/cache/lsyscache.c:2845 utils/cache/lsyscache.c:2878 +#: utils/cache/lsyscache.c:2911 utils/cache/lsyscache.c:2944 #, c-format msgid "type %s is only a shell" msgstr "тип %s является пустышкой" -#: utils/cache/lsyscache.c:2849 +#: utils/cache/lsyscache.c:2850 #, c-format msgid "no input function available for type %s" msgstr "для типа %s нет функции ввода" -#: utils/cache/lsyscache.c:2882 +#: utils/cache/lsyscache.c:2883 #, c-format msgid "no output function available for type %s" msgstr "для типа %s нет функции вывода" -#: utils/cache/partcache.c:215 +#: utils/cache/partcache.c:219 #, c-format msgid "" "operator class \"%s\" of access method %s is missing support function %d for " @@ -28543,159 +29228,166 @@ msgstr "" "в классе операторов \"%s\" метода доступа %s нет опорной функции %d для типа " "%s" -#: utils/cache/plancache.c:720 +#: utils/cache/plancache.c:724 #, c-format msgid "cached plan must not change result type" msgstr "в кешированном плане не должен изменяться тип результата" -#: utils/cache/relcache.c:3753 +#: utils/cache/relcache.c:3741 #, c-format -msgid "heap relfilenode value not set when in binary upgrade mode" -msgstr "значение relfilenode для кучи не задано в режиме двоичного обновления" +msgid "heap relfilenumber value not set when in binary upgrade mode" +msgstr "" +"значение relfilenumber для кучи не задано в режиме двоичного обновления" -#: utils/cache/relcache.c:3761 +#: utils/cache/relcache.c:3749 #, c-format -msgid "unexpected request for new relfilenode in binary upgrade mode" +msgid "unexpected request for new relfilenumber in binary upgrade mode" msgstr "" -"неожиданный запрос нового значения relfilenode в режиме двоичного обновления" +"неожиданный запрос нового значения relfilenumber в режиме двоичного " +"обновления" -#: utils/cache/relcache.c:6472 +#: utils/cache/relcache.c:6495 #, c-format msgid "could not create relation-cache initialization file \"%s\": %m" msgstr "создать файл инициализации для кеша отношений \"%s\" не удалось: %m" -#: utils/cache/relcache.c:6474 +#: utils/cache/relcache.c:6497 #, c-format msgid "Continuing anyway, but there's something wrong." msgstr "Продолжаем всё равно, хотя что-то не так." -#: utils/cache/relcache.c:6796 +#: utils/cache/relcache.c:6819 #, c-format msgid "could not remove cache file \"%s\": %m" msgstr "не удалось стереть файл кеша \"%s\": %m" -#: utils/cache/relmapper.c:590 +#: utils/cache/relmapper.c:596 #, c-format msgid "cannot PREPARE a transaction that modified relation mapping" msgstr "" "выполнить PREPARE для транзакции, изменившей сопоставление отношений, нельзя" -#: utils/cache/relmapper.c:836 +#: utils/cache/relmapper.c:850 #, c-format msgid "relation mapping file \"%s\" contains invalid data" msgstr "файл сопоставления отношений \"%s\" содержит неверные данные" -#: utils/cache/relmapper.c:846 +#: utils/cache/relmapper.c:860 #, c-format msgid "relation mapping file \"%s\" contains incorrect checksum" msgstr "ошибка контрольной суммы в файле сопоставления отношений \"%s\"" -#: utils/cache/typcache.c:1809 utils/fmgr/funcapi.c:575 +#: utils/cache/typcache.c:1803 utils/fmgr/funcapi.c:566 #, c-format msgid "record type has not been registered" msgstr "тип записи не зарегистрирован" -#: utils/error/assert.c:39 +#: utils/error/assert.c:37 #, c-format msgid "TRAP: ExceptionalCondition: bad arguments in PID %d\n" msgstr "ЛОВУШКА: Исключительное условие: неверные аргументы в PID %d\n" -#: utils/error/assert.c:42 +#: utils/error/assert.c:40 #, c-format -msgid "TRAP: %s(\"%s\", File: \"%s\", Line: %d, PID: %d)\n" -msgstr "ЛОВУШКА: %s(\"%s\", файл: \"%s\", строка: %d, PID: %d)\n" +msgid "TRAP: failed Assert(\"%s\"), File: \"%s\", Line: %d, PID: %d\n" +msgstr "ЛОВУШКА: нарушение Assert(\"%s\"), файл: \"%s\", строка: %d, PID: %d\n" -#: utils/error/elog.c:404 +#: utils/error/elog.c:416 #, c-format msgid "error occurred before error message processing is available\n" msgstr "произошла ошибка до готовности подсистемы обработки сообщений\n" -#: utils/error/elog.c:1943 +#: utils/error/elog.c:2092 #, c-format msgid "could not reopen file \"%s\" as stderr: %m" msgstr "открыть файл \"%s\" как stderr не удалось: %m" -#: utils/error/elog.c:1956 +#: utils/error/elog.c:2105 #, c-format msgid "could not reopen file \"%s\" as stdout: %m" msgstr "открыть файл \"%s\" как stdout не удалось: %m" -#: utils/error/elog.c:2521 utils/error/elog.c:2548 utils/error/elog.c:2564 +#: utils/error/elog.c:2141 +#, c-format +msgid "invalid character" +msgstr "неверный символ" + +#: utils/error/elog.c:2847 utils/error/elog.c:2874 utils/error/elog.c:2890 msgid "[unknown]" msgstr "[н/д]" -#: utils/error/elog.c:2837 utils/error/elog.c:3158 utils/error/elog.c:3265 +#: utils/error/elog.c:3163 utils/error/elog.c:3484 utils/error/elog.c:3591 msgid "missing error text" msgstr "отсутствует текст ошибки" -#: utils/error/elog.c:2840 utils/error/elog.c:2843 +#: utils/error/elog.c:3166 utils/error/elog.c:3169 #, c-format msgid " at character %d" msgstr " (символ %d)" -#: utils/error/elog.c:2853 utils/error/elog.c:2860 +#: utils/error/elog.c:3179 utils/error/elog.c:3186 msgid "DETAIL: " msgstr "ПОДРОБНОСТИ: " -#: utils/error/elog.c:2867 +#: utils/error/elog.c:3193 msgid "HINT: " msgstr "ПОДСКАЗКА: " -#: utils/error/elog.c:2874 +#: utils/error/elog.c:3200 msgid "QUERY: " msgstr "ЗАПРОС: " -#: utils/error/elog.c:2881 +#: utils/error/elog.c:3207 msgid "CONTEXT: " msgstr "КОНТЕКСТ: " -#: utils/error/elog.c:2891 +#: utils/error/elog.c:3217 #, c-format msgid "LOCATION: %s, %s:%d\n" msgstr "ПОЛОЖЕНИЕ: %s, %s:%d\n" -#: utils/error/elog.c:2898 +#: utils/error/elog.c:3224 #, c-format msgid "LOCATION: %s:%d\n" msgstr "ПОЛОЖЕНИЕ: %s:%d\n" -#: utils/error/elog.c:2905 +#: utils/error/elog.c:3231 msgid "BACKTRACE: " msgstr "СТЕК: " -#: utils/error/elog.c:2917 +#: utils/error/elog.c:3243 msgid "STATEMENT: " msgstr "ОПЕРАТОР: " -#: utils/error/elog.c:3310 +#: utils/error/elog.c:3636 msgid "DEBUG" msgstr "ОТЛАДКА" -#: utils/error/elog.c:3314 +#: utils/error/elog.c:3640 msgid "LOG" msgstr "СООБЩЕНИЕ" -#: utils/error/elog.c:3317 +#: utils/error/elog.c:3643 msgid "INFO" msgstr "ИНФОРМАЦИЯ" -#: utils/error/elog.c:3320 +#: utils/error/elog.c:3646 msgid "NOTICE" msgstr "ЗАМЕЧАНИЕ" -#: utils/error/elog.c:3324 +#: utils/error/elog.c:3650 msgid "WARNING" msgstr "ПРЕДУПРЕЖДЕНИЕ" -#: utils/error/elog.c:3327 +#: utils/error/elog.c:3653 msgid "ERROR" msgstr "ОШИБКА" -#: utils/error/elog.c:3330 +#: utils/error/elog.c:3656 msgid "FATAL" msgstr "ВАЖНО" -#: utils/error/elog.c:3333 +#: utils/error/elog.c:3659 msgid "PANIC" msgstr "ПАНИКА" @@ -28790,17 +29482,17 @@ msgstr "" "параметр dynamic_library_path содержит компонент, не являющийся абсолютным " "путём" -#: utils/fmgr/fmgr.c:238 +#: utils/fmgr/fmgr.c:236 #, c-format msgid "internal function \"%s\" is not in internal lookup table" msgstr "внутренней функции \"%s\" нет во внутренней поисковой таблице" -#: utils/fmgr/fmgr.c:484 +#: utils/fmgr/fmgr.c:470 #, c-format msgid "could not find function information for function \"%s\"" msgstr "не удалось найти информацию о функции \"%s\"" -#: utils/fmgr/fmgr.c:486 +#: utils/fmgr/fmgr.c:472 #, c-format msgid "" "SQL-callable functions need an accompanying PG_FUNCTION_INFO_V1(funcname)." @@ -28808,25 +29500,25 @@ msgstr "" "Функциям, вызываемым из SQL, требуется дополнительное объявление " "PG_FUNCTION_INFO_V1(имя_функции)." -#: utils/fmgr/fmgr.c:504 +#: utils/fmgr/fmgr.c:490 #, c-format msgid "unrecognized API version %d reported by info function \"%s\"" msgstr "" "версия API (%d), выданная информационной функцией \"%s\", не поддерживается" -#: utils/fmgr/fmgr.c:1985 +#: utils/fmgr/fmgr.c:2080 #, c-format msgid "operator class options info is absent in function call context" msgstr "" "информация о параметрах класса операторов отсутствует в контексте вызова " "функции" -#: utils/fmgr/fmgr.c:2052 +#: utils/fmgr/fmgr.c:2147 #, c-format msgid "language validation function %u called for language %u instead of %u" msgstr "функция языковой проверки %u вызвана для языка %u (а не %u)" -#: utils/fmgr/funcapi.c:498 +#: utils/fmgr/funcapi.c:489 #, c-format msgid "" "could not determine actual result type for function \"%s\" declared to " @@ -28835,126 +29527,131 @@ msgstr "" "не удалось определить действительный тип результата для функции \"%s\", " "объявленной как возвращающая тип %s" -#: utils/fmgr/funcapi.c:643 +#: utils/fmgr/funcapi.c:634 #, c-format msgid "argument declared %s does not contain a range type but type %s" msgstr "" "аргумент, объявленный как \"%s\", содержит не диапазонный тип, а тип %s" -#: utils/fmgr/funcapi.c:726 +#: utils/fmgr/funcapi.c:717 #, c-format msgid "could not find multirange type for data type %s" msgstr "тип мультидиапазона для типа данных %s не найден" -#: utils/fmgr/funcapi.c:1943 utils/fmgr/funcapi.c:1975 +#: utils/fmgr/funcapi.c:1921 utils/fmgr/funcapi.c:1953 #, c-format msgid "number of aliases does not match number of columns" msgstr "число псевдонимов не совпадает с числом столбцов" -#: utils/fmgr/funcapi.c:1969 +#: utils/fmgr/funcapi.c:1947 #, c-format msgid "no column alias was provided" msgstr "псевдоним столбца не указан" -#: utils/fmgr/funcapi.c:1993 +#: utils/fmgr/funcapi.c:1971 #, c-format msgid "could not determine row description for function returning record" msgstr "не удалось определить описание строки для функции, возвращающей запись" -#: utils/init/miscinit.c:329 +#: utils/init/miscinit.c:347 #, c-format msgid "data directory \"%s\" does not exist" msgstr "каталог данных \"%s\" не существует" -#: utils/init/miscinit.c:334 +#: utils/init/miscinit.c:352 #, c-format msgid "could not read permissions of directory \"%s\": %m" msgstr "не удалось считать права на каталог \"%s\": %m" -#: utils/init/miscinit.c:342 +#: utils/init/miscinit.c:360 #, c-format msgid "specified data directory \"%s\" is not a directory" msgstr "указанный каталог данных \"%s\" не существует" -#: utils/init/miscinit.c:358 +#: utils/init/miscinit.c:376 #, c-format msgid "data directory \"%s\" has wrong ownership" msgstr "владелец каталога данных \"%s\" определён неверно" -#: utils/init/miscinit.c:360 +#: utils/init/miscinit.c:378 #, c-format msgid "The server must be started by the user that owns the data directory." msgstr "" "Сервер должен запускать пользователь, являющийся владельцем каталога данных." -#: utils/init/miscinit.c:378 +#: utils/init/miscinit.c:396 #, c-format msgid "data directory \"%s\" has invalid permissions" msgstr "для каталога данных \"%s\" установлены неправильные права доступа" -#: utils/init/miscinit.c:380 +#: utils/init/miscinit.c:398 #, c-format msgid "Permissions should be u=rwx (0700) or u=rwx,g=rx (0750)." msgstr "Маска прав должна быть u=rwx (0700) или u=rwx,g=rx (0750)." -#: utils/init/miscinit.c:665 utils/misc/guc.c:7830 +#: utils/init/miscinit.c:456 +#, c-format +msgid "could not change directory to \"%s\": %m" +msgstr "не удалось перейти в каталог \"%s\": %m" + +#: utils/init/miscinit.c:693 utils/misc/guc.c:3548 #, c-format msgid "cannot set parameter \"%s\" within security-restricted operation" msgstr "" "параметр \"%s\" нельзя задать в рамках операции с ограничениями по " "безопасности" -#: utils/init/miscinit.c:733 +#: utils/init/miscinit.c:765 #, c-format msgid "role with OID %u does not exist" msgstr "роль с OID %u не существует" -#: utils/init/miscinit.c:763 +#: utils/init/miscinit.c:795 #, c-format msgid "role \"%s\" is not permitted to log in" msgstr "для роли \"%s\" вход запрещён" -#: utils/init/miscinit.c:781 +#: utils/init/miscinit.c:813 #, c-format msgid "too many connections for role \"%s\"" msgstr "слишком много подключений для роли \"%s\"" -#: utils/init/miscinit.c:841 +#: utils/init/miscinit.c:912 #, c-format msgid "permission denied to set session authorization" msgstr "нет прав для смены объекта авторизации в сеансе" -#: utils/init/miscinit.c:924 +#: utils/init/miscinit.c:995 #, c-format msgid "invalid role OID: %u" msgstr "неверный OID роли: %u" -#: utils/init/miscinit.c:978 +#: utils/init/miscinit.c:1142 #, c-format msgid "database system is shut down" msgstr "система БД выключена" -#: utils/init/miscinit.c:1065 +#: utils/init/miscinit.c:1229 #, c-format msgid "could not create lock file \"%s\": %m" msgstr "не удалось создать файл блокировки \"%s\": %m" -#: utils/init/miscinit.c:1079 +#: utils/init/miscinit.c:1243 #, c-format msgid "could not open lock file \"%s\": %m" msgstr "не удалось открыть файл блокировки \"%s\": %m" -#: utils/init/miscinit.c:1086 +#: utils/init/miscinit.c:1250 #, c-format msgid "could not read lock file \"%s\": %m" msgstr "не удалось прочитать файл блокировки \"%s\": %m" -#: utils/init/miscinit.c:1095 +#: utils/init/miscinit.c:1259 #, c-format msgid "lock file \"%s\" is empty" msgstr "файл блокировки \"%s\" пуст" -#: utils/init/miscinit.c:1096 +#: utils/init/miscinit.c:1260 #, c-format msgid "" "Either another server is starting, or the lock file is the remnant of a " @@ -28963,38 +29660,38 @@ msgstr "" "Либо сейчас запускается другой сервер, либо этот файл остался в результате " "сбоя при предыдущем запуске." -#: utils/init/miscinit.c:1140 +#: utils/init/miscinit.c:1304 #, c-format msgid "lock file \"%s\" already exists" msgstr "файл блокировки \"%s\" уже существует" -#: utils/init/miscinit.c:1144 +#: utils/init/miscinit.c:1308 #, c-format msgid "Is another postgres (PID %d) running in data directory \"%s\"?" msgstr "Другой экземпляр postgres (PID %d) работает с каталогом данных \"%s\"?" -#: utils/init/miscinit.c:1146 +#: utils/init/miscinit.c:1310 #, c-format msgid "Is another postmaster (PID %d) running in data directory \"%s\"?" msgstr "" "Другой экземпляр postmaster (PID %d) работает с каталогом данных \"%s\"?" -#: utils/init/miscinit.c:1149 +#: utils/init/miscinit.c:1313 #, c-format msgid "Is another postgres (PID %d) using socket file \"%s\"?" msgstr "Другой экземпляр postgres (PID %d) использует файл сокета \"%s\"?" -#: utils/init/miscinit.c:1151 +#: utils/init/miscinit.c:1315 #, c-format msgid "Is another postmaster (PID %d) using socket file \"%s\"?" msgstr "Другой экземпляр postmaster (PID %d) использует файл сокета \"%s\"?" -#: utils/init/miscinit.c:1202 +#: utils/init/miscinit.c:1366 #, c-format msgid "could not remove old lock file \"%s\": %m" msgstr "не удалось стереть старый файл блокировки \"%s\": %m" -#: utils/init/miscinit.c:1204 +#: utils/init/miscinit.c:1368 #, c-format msgid "" "The file seems accidentally left over, but it could not be removed. Please " @@ -29003,48 +29700,48 @@ msgstr "" "Кажется, файл сохранился по ошибке, но удалить его не получилось. " "Пожалуйста, удалите файл вручную и повторите попытку." -#: utils/init/miscinit.c:1241 utils/init/miscinit.c:1255 -#: utils/init/miscinit.c:1266 +#: utils/init/miscinit.c:1405 utils/init/miscinit.c:1419 +#: utils/init/miscinit.c:1430 #, c-format msgid "could not write lock file \"%s\": %m" msgstr "не удалось записать файл блокировки \"%s\": %m" -#: utils/init/miscinit.c:1377 utils/init/miscinit.c:1519 utils/misc/guc.c:10827 +#: utils/init/miscinit.c:1541 utils/init/miscinit.c:1683 utils/misc/guc.c:5580 #, c-format msgid "could not read from file \"%s\": %m" msgstr "не удалось прочитать файл \"%s\": %m" -#: utils/init/miscinit.c:1507 +#: utils/init/miscinit.c:1671 #, c-format msgid "could not open file \"%s\": %m; continuing anyway" msgstr "не удалось открыть файл \"%s\": %m; ошибка игнорируется" -#: utils/init/miscinit.c:1532 +#: utils/init/miscinit.c:1696 #, c-format msgid "lock file \"%s\" contains wrong PID: %ld instead of %ld" msgstr "файл блокировки \"%s\" содержит неверный PID: %ld вместо %ld" -#: utils/init/miscinit.c:1571 utils/init/miscinit.c:1587 +#: utils/init/miscinit.c:1735 utils/init/miscinit.c:1751 #, c-format msgid "\"%s\" is not a valid data directory" msgstr "\"%s\" не является каталогом данных" -#: utils/init/miscinit.c:1573 +#: utils/init/miscinit.c:1737 #, c-format msgid "File \"%s\" is missing." msgstr "Файл \"%s\" отсутствует." -#: utils/init/miscinit.c:1589 +#: utils/init/miscinit.c:1753 #, c-format msgid "File \"%s\" does not contain valid data." msgstr "Файл \"%s\" содержит неприемлемые данные." -#: utils/init/miscinit.c:1591 +#: utils/init/miscinit.c:1755 #, c-format msgid "You might need to initdb." msgstr "Возможно, вам нужно выполнить initdb." -#: utils/init/miscinit.c:1599 +#: utils/init/miscinit.c:1763 #, c-format msgid "" "The data directory was initialized by PostgreSQL version %s, which is not " @@ -29053,87 +29750,93 @@ msgstr "" "Каталог данных инициализирован сервером PostgreSQL версии %s, несовместимой " "с данной версией (%s)." -#: utils/init/postinit.c:258 +#: utils/init/postinit.c:259 #, c-format msgid "replication connection authorized: user=%s" msgstr "подключение для репликации авторизовано: пользователь=%s" -#: utils/init/postinit.c:261 +#: utils/init/postinit.c:262 #, c-format msgid "connection authorized: user=%s" msgstr "подключение авторизовано: пользователь=%s" -#: utils/init/postinit.c:264 +#: utils/init/postinit.c:265 #, c-format msgid " database=%s" msgstr " база=%s" -#: utils/init/postinit.c:267 +#: utils/init/postinit.c:268 #, c-format msgid " application_name=%s" msgstr " приложение=%s" -#: utils/init/postinit.c:272 +#: utils/init/postinit.c:273 #, c-format msgid " SSL enabled (protocol=%s, cipher=%s, bits=%d)" msgstr " SSL включён (протокол=%s, шифр=%s, битов=%d)" -#: utils/init/postinit.c:284 +#: utils/init/postinit.c:285 #, c-format -msgid " GSS (authenticated=%s, encrypted=%s, principal=%s)" -msgstr " GSS (аутентификация=%s, шифрование=%s, принципал=%s)" +msgid "" +" GSS (authenticated=%s, encrypted=%s, delegated_credentials=%s, principal=%s)" +msgstr "" +" GSS (аутентификация=%s, шифрование=%s, делегированное_удостоверение=%s, " +"принципал=%s)" -#: utils/init/postinit.c:285 utils/init/postinit.c:286 -#: utils/init/postinit.c:291 utils/init/postinit.c:292 +#: utils/init/postinit.c:286 utils/init/postinit.c:287 +#: utils/init/postinit.c:288 utils/init/postinit.c:293 +#: utils/init/postinit.c:294 utils/init/postinit.c:295 msgid "no" msgstr "нет" -#: utils/init/postinit.c:285 utils/init/postinit.c:286 -#: utils/init/postinit.c:291 utils/init/postinit.c:292 +#: utils/init/postinit.c:286 utils/init/postinit.c:287 +#: utils/init/postinit.c:288 utils/init/postinit.c:293 +#: utils/init/postinit.c:294 utils/init/postinit.c:295 msgid "yes" msgstr "да" -#: utils/init/postinit.c:290 +#: utils/init/postinit.c:292 #, c-format -msgid " GSS (authenticated=%s, encrypted=%s)" -msgstr " GSS (аутентификация=%s, шифрование=%s)" +msgid " GSS (authenticated=%s, encrypted=%s, delegated_credentials=%s)" +msgstr "" +" GSS (аутентификация=%s, шифрование=%s, делегированное_удостоверение=%s)" -#: utils/init/postinit.c:330 +#: utils/init/postinit.c:333 #, c-format msgid "database \"%s\" has disappeared from pg_database" msgstr "база данных \"%s\" исчезла из pg_database" -#: utils/init/postinit.c:332 +#: utils/init/postinit.c:335 #, c-format msgid "Database OID %u now seems to belong to \"%s\"." msgstr "Похоже, базой данных с OID %u теперь владеет \"%s\"." -#: utils/init/postinit.c:352 +#: utils/init/postinit.c:355 #, c-format msgid "database \"%s\" is not currently accepting connections" msgstr "база \"%s\" не принимает подключения в данный момент" -#: utils/init/postinit.c:365 +#: utils/init/postinit.c:368 #, c-format msgid "permission denied for database \"%s\"" msgstr "доступ к базе \"%s\" запрещён" -#: utils/init/postinit.c:366 +#: utils/init/postinit.c:369 #, c-format msgid "User does not have CONNECT privilege." msgstr "Пользователь не имеет привилегии CONNECT." -#: utils/init/postinit.c:383 +#: utils/init/postinit.c:386 #, c-format msgid "too many connections for database \"%s\"" msgstr "слишком много подключений к БД \"%s\"" -#: utils/init/postinit.c:409 utils/init/postinit.c:416 +#: utils/init/postinit.c:410 utils/init/postinit.c:417 #, c-format msgid "database locale is incompatible with operating system" msgstr "локаль БД несовместима с операционной системой" -#: utils/init/postinit.c:410 +#: utils/init/postinit.c:411 #, c-format msgid "" "The database was initialized with LC_COLLATE \"%s\", which is not " @@ -29142,7 +29845,7 @@ msgstr "" "База данных была инициализирована с параметром LC_COLLATE \"%s\", но сейчас " "setlocale() не воспринимает его." -#: utils/init/postinit.c:412 utils/init/postinit.c:419 +#: utils/init/postinit.c:413 utils/init/postinit.c:420 #, c-format msgid "" "Recreate the database with another locale or install the missing locale." @@ -29150,7 +29853,7 @@ msgstr "" "Пересоздайте базу данных с другой локалью или установите поддержку нужной " "локали." -#: utils/init/postinit.c:417 +#: utils/init/postinit.c:418 #, c-format msgid "" "The database was initialized with LC_CTYPE \"%s\", which is not recognized " @@ -29159,12 +29862,12 @@ msgstr "" "База данных была инициализирована с параметром LC_CTYPE \"%s\", но сейчас " "setlocale() не воспринимает его." -#: utils/init/postinit.c:462 +#: utils/init/postinit.c:475 #, c-format msgid "database \"%s\" has a collation version mismatch" msgstr "несовпадение версии для правила сортировки в базе данных \"%s\"" -#: utils/init/postinit.c:464 +#: utils/init/postinit.c:477 #, c-format msgid "" "The database was created using collation version %s, but the operating " @@ -29173,7 +29876,7 @@ msgstr "" "База данных была создана с версией правила сортировки %s, но операционная " "система предоставляет версию %s." -#: utils/init/postinit.c:467 +#: utils/init/postinit.c:480 #, c-format msgid "" "Rebuild all objects in this database that use the default collation and run " @@ -29184,54 +29887,74 @@ msgstr "" "сортировки, и выполните ALTER DATABASE %s REFRESH COLLATION VERSION, либо " "соберите PostgreSQL с правильной версией библиотеки." -#: utils/init/postinit.c:835 +#: utils/init/postinit.c:891 #, c-format msgid "no roles are defined in this database system" msgstr "в этой системе баз данных не создано ни одной роли" -#: utils/init/postinit.c:836 +#: utils/init/postinit.c:892 #, c-format msgid "You should immediately run CREATE USER \"%s\" SUPERUSER;." msgstr "Вы должны немедленно выполнить CREATE USER \"%s\" CREATEUSER;." -#: utils/init/postinit.c:868 +#: utils/init/postinit.c:928 #, c-format msgid "must be superuser to connect in binary upgrade mode" msgstr "" "нужно быть суперпользователем, чтобы подключиться в режиме двоичного " "обновления" -#: utils/init/postinit.c:881 +#: utils/init/postinit.c:949 #, c-format -msgid "" -"remaining connection slots are reserved for non-replication superuser " -"connections" +msgid "remaining connection slots are reserved for roles with the %s attribute" msgstr "" -"оставшиеся слоты подключений зарезервированы для подключений " -"суперпользователя (не для репликации)" +"оставшиеся слоты подключений зарезервированы для подключений ролей с " +"атрибутом %s" -#: utils/init/postinit.c:891 +#: utils/init/postinit.c:955 #, c-format -msgid "must be superuser or replication role to start walsender" +msgid "" +"remaining connection slots are reserved for roles with privileges of the " +"\"%s\" role" msgstr "" -"для запуска процесса walsender требуется роль репликации или права " -"суперпользователя" +"оставшиеся слоты подключений зарезервированы для подключений ролей с правами " +"роли \"%s\"" + +#: utils/init/postinit.c:967 +#, c-format +msgid "permission denied to start WAL sender" +msgstr "нет прав для запуска процесса, передающего WAL" + +#: utils/init/postinit.c:968 +#, c-format +msgid "Only roles with the %s attribute may start a WAL sender process." +msgstr "Только роли с атрибутом %s могут запускать процессы, передающие WAL." -#: utils/init/postinit.c:960 +#: utils/init/postinit.c:1038 #, c-format msgid "database %u does not exist" msgstr "база данных %u не существует" -#: utils/init/postinit.c:1049 +#: utils/init/postinit.c:1128 #, c-format msgid "It seems to have just been dropped or renamed." msgstr "Похоже, она только что была удалена или переименована." -#: utils/init/postinit.c:1067 +#: utils/init/postinit.c:1135 +#, c-format +msgid "cannot connect to invalid database \"%s\"" +msgstr "подключиться к некорректной базе \"%s\" нельзя" + +#: utils/init/postinit.c:1155 #, c-format msgid "The database subdirectory \"%s\" is missing." msgstr "Подкаталог базы данных \"%s\" отсутствует." +#: utils/init/usercontext.c:43 +#, c-format +msgid "role \"%s\" cannot SET ROLE to \"%s\"" +msgstr "роль \"%s\" не может переключиться на \"%s\"" + #: utils/mb/conv.c:522 utils/mb/conv.c:733 #, c-format msgid "invalid encoding number: %d" @@ -29249,55 +29972,55 @@ msgstr "неожиданный ID кодировки %d для наборов с msgid "unexpected encoding ID %d for WIN character sets" msgstr "неожиданный ID кодировки %d для наборов символов WIN" -#: utils/mb/mbutils.c:297 utils/mb/mbutils.c:900 +#: utils/mb/mbutils.c:298 utils/mb/mbutils.c:901 #, c-format msgid "conversion between %s and %s is not supported" msgstr "преобразование %s <-> %s не поддерживается" -#: utils/mb/mbutils.c:385 +#: utils/mb/mbutils.c:386 #, c-format msgid "" "default conversion function for encoding \"%s\" to \"%s\" does not exist" msgstr "" "стандартной функции преобразования из кодировки \"%s\" в \"%s\" не существует" -#: utils/mb/mbutils.c:402 utils/mb/mbutils.c:430 utils/mb/mbutils.c:815 -#: utils/mb/mbutils.c:842 +#: utils/mb/mbutils.c:403 utils/mb/mbutils.c:431 utils/mb/mbutils.c:816 +#: utils/mb/mbutils.c:843 #, c-format msgid "String of %d bytes is too long for encoding conversion." msgstr "Строка из %d байт слишком длинна для преобразования кодировки." -#: utils/mb/mbutils.c:568 +#: utils/mb/mbutils.c:569 #, c-format msgid "invalid source encoding name \"%s\"" msgstr "неверное имя исходной кодировки: \"%s\"" -#: utils/mb/mbutils.c:573 +#: utils/mb/mbutils.c:574 #, c-format msgid "invalid destination encoding name \"%s\"" msgstr "неверное имя кодировки результата: \"%s\"" -#: utils/mb/mbutils.c:713 +#: utils/mb/mbutils.c:714 #, c-format msgid "invalid byte value for encoding \"%s\": 0x%02x" msgstr "недопустимое байтовое значение для кодировки \"%s\": 0x%02x" -#: utils/mb/mbutils.c:877 +#: utils/mb/mbutils.c:878 #, c-format msgid "invalid Unicode code point" msgstr "неверный код Unicode" -#: utils/mb/mbutils.c:1146 +#: utils/mb/mbutils.c:1204 #, c-format msgid "bind_textdomain_codeset failed" msgstr "ошибка в bind_textdomain_codeset" -#: utils/mb/mbutils.c:1667 +#: utils/mb/mbutils.c:1725 #, c-format msgid "invalid byte sequence for encoding \"%s\": %s" msgstr "неверная последовательность байт для кодировки \"%s\": %s" -#: utils/mb/mbutils.c:1700 +#: utils/mb/mbutils.c:1758 #, c-format msgid "" "character with byte sequence %s in encoding \"%s\" has no equivalent in " @@ -29306,281 +30029,556 @@ msgstr "" "для символа с последовательностью байт %s из кодировки \"%s\" нет " "эквивалента в \"%s\"" -#: utils/misc/guc.c:776 -msgid "Ungrouped" -msgstr "Разное" - -#: utils/misc/guc.c:778 -msgid "File Locations" -msgstr "Расположения файлов" +#: utils/misc/conffiles.c:88 +#, c-format +msgid "empty configuration directory name: \"%s\"" +msgstr "пустое имя каталога конфигурации: \"%s\"" -#: utils/misc/guc.c:780 -msgid "Connections and Authentication / Connection Settings" -msgstr "Подключения и аутентификация / Параметры подключений" +#: utils/misc/conffiles.c:100 +#, c-format +msgid "could not open configuration directory \"%s\": %m" +msgstr "открыть каталог конфигурации \"%s\" не удалось: %m" -#: utils/misc/guc.c:782 -msgid "Connections and Authentication / Authentication" -msgstr "Подключения и аутентификация / Аутентификация" +#: utils/misc/guc.c:115 +msgid "" +"Valid units for this parameter are \"B\", \"kB\", \"MB\", \"GB\", and \"TB\"." +msgstr "" +"Допустимые единицы измерения для этого параметра: \"B\", \"kB\", \"MB\", " +"\"GB\" и \"TB\"." -#: utils/misc/guc.c:784 -msgid "Connections and Authentication / SSL" -msgstr "Подключения и аутентификация / SSL" +#: utils/misc/guc.c:152 +msgid "" +"Valid units for this parameter are \"us\", \"ms\", \"s\", \"min\", \"h\", " +"and \"d\"." +msgstr "" +"Допустимые единицы измерения для этого параметра: \"us\", \"ms\", \"s\", " +"\"min\", \"h\" и \"d\"." -#: utils/misc/guc.c:786 -msgid "Resource Usage / Memory" -msgstr "Использование ресурсов / Память" +#: utils/misc/guc.c:421 +#, c-format +msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %d" +msgstr "нераспознанный параметр конфигурации \"%s\" в файле \"%s\", строке %d" -#: utils/misc/guc.c:788 -msgid "Resource Usage / Disk" -msgstr "Использование ресурсов / Диск" +#: 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 +#, c-format +msgid "parameter \"%s\" cannot be changed without restarting the server" +msgstr "параметр \"%s\" изменяется только при перезапуске сервера" -#: utils/misc/guc.c:790 -msgid "Resource Usage / Kernel Resources" +#: utils/misc/guc.c:497 +#, c-format +msgid "parameter \"%s\" removed from configuration file, reset to default" +msgstr "" +"параметр \"%s\" удалён из файла конфигурации, он принимает значение по " +"умолчанию" + +#: utils/misc/guc.c:562 +#, c-format +msgid "parameter \"%s\" changed to \"%s\"" +msgstr "параметр \"%s\" принял значение \"%s\"" + +#: utils/misc/guc.c:604 +#, c-format +msgid "configuration file \"%s\" contains errors" +msgstr "файл конфигурации \"%s\" содержит ошибки" + +#: utils/misc/guc.c:609 +#, c-format +msgid "" +"configuration file \"%s\" contains errors; unaffected changes were applied" +msgstr "" +"файл конфигурации \"%s\" содержит ошибки; были применены не зависимые " +"изменения" + +#: utils/misc/guc.c:614 +#, c-format +msgid "configuration file \"%s\" contains errors; no changes were applied" +msgstr "файл конфигурации \"%s\" содержит ошибки; изменения не были применены" + +#: utils/misc/guc.c:1211 utils/misc/guc.c:1227 +#, c-format +msgid "invalid configuration parameter name \"%s\"" +msgstr "неверное имя параметра конфигурации: \"%s\"" + +#: utils/misc/guc.c:1213 +#, c-format +msgid "" +"Custom parameter names must be two or more simple identifiers separated by " +"dots." +msgstr "" +"Имена нестандартных параметров должны состоять из двух или более простых " +"идентификаторов, разделённых точками." + +#: utils/misc/guc.c:1229 +#, c-format +msgid "\"%s\" is a reserved prefix." +msgstr "\"%s\" — зарезервированный префикс." + +#: utils/misc/guc.c:1243 +#, c-format +msgid "unrecognized configuration parameter \"%s\"" +msgstr "нераспознанный параметр конфигурации: \"%s\"" + +#: utils/misc/guc.c:1765 +#, c-format +msgid "%s: could not access directory \"%s\": %s\n" +msgstr "%s: ошибка доступа к каталогу \"%s\": %s\n" + +#: utils/misc/guc.c:1770 +#, c-format +msgid "" +"Run initdb or pg_basebackup to initialize a PostgreSQL data directory.\n" +msgstr "" +"Запустите initdb или pg_basebackup для инициализации каталога данных " +"PostgreSQL.\n" + +#: utils/misc/guc.c:1794 +#, c-format +msgid "" +"%s does not know where to find the server configuration file.\n" +"You must specify the --config-file or -D invocation option or set the PGDATA " +"environment variable.\n" +msgstr "" +"%s не знает, где найти файл конфигурации сервера.\n" +"Вы должны указать его расположение в параметре --config-file или -D, либо " +"установить переменную окружения PGDATA.\n" + +#: utils/misc/guc.c:1817 +#, c-format +msgid "%s: could not access the server configuration file \"%s\": %s\n" +msgstr "%s не может открыть файл конфигурации сервера \"%s\": %s\n" + +#: utils/misc/guc.c:1845 +#, c-format +msgid "" +"%s does not know where to find the database system data.\n" +"This can be specified as \"data_directory\" in \"%s\", or by the -D " +"invocation option, or by the PGDATA environment variable.\n" +msgstr "" +"%s не знает, где найти данные СУБД.\n" +"Их расположение можно задать как значение \"data_directory\" в файле \"%s\", " +"либо передать в параметре -D, либо установить переменную окружения PGDATA.\n" + +#: utils/misc/guc.c:1897 +#, c-format +msgid "" +"%s does not know where to find the \"hba\" configuration file.\n" +"This can be specified as \"hba_file\" in \"%s\", or by the -D invocation " +"option, or by the PGDATA environment variable.\n" +msgstr "" +"%s не знает, где найти файл конфигурации \"hba\".\n" +"Его расположение можно задать как значение \"hba_file\" в файле \"%s\", либо " +"передать в параметре -D, либо установить переменную окружения PGDATA.\n" + +#: utils/misc/guc.c:1928 +#, c-format +msgid "" +"%s does not know where to find the \"ident\" configuration file.\n" +"This can be specified as \"ident_file\" in \"%s\", or by the -D invocation " +"option, or by the PGDATA environment variable.\n" +msgstr "" +"%s не знает, где найти файл конфигурации \"ident\".\n" +"Его расположение можно задать как значение \"ident_file\" в файле \"%s\", " +"либо передать в параметре -D, либо установить переменную окружения PGDATA.\n" + +#: utils/misc/guc.c:2894 +msgid "Value exceeds integer range." +msgstr "Значение выходит за рамки целых чисел." + +#: utils/misc/guc.c:3130 +#, c-format +msgid "%d%s%s is outside the valid range for parameter \"%s\" (%d .. %d)" +msgstr "%d%s%s вне диапазона, допустимого для параметра \"%s\" (%d .. %d)" + +#: utils/misc/guc.c:3166 +#, c-format +msgid "%g%s%s is outside the valid range for parameter \"%s\" (%g .. %g)" +msgstr "%g%s%s вне диапазона, допустимого для параметра \"%s\" (%g .. %g)" + +#: utils/misc/guc.c:3366 utils/misc/guc_funcs.c:54 +#, c-format +msgid "cannot set parameters during a parallel operation" +msgstr "устанавливать параметры во время параллельных операций нельзя" + +#: utils/misc/guc.c:3383 utils/misc/guc.c:4530 +#, c-format +msgid "parameter \"%s\" cannot be changed" +msgstr "параметр \"%s\" нельзя изменить" + +#: utils/misc/guc.c:3416 +#, c-format +msgid "parameter \"%s\" cannot be changed now" +msgstr "параметр \"%s\" нельзя изменить сейчас" + +#: utils/misc/guc.c:3443 utils/misc/guc.c:3501 utils/misc/guc.c:4506 +#: utils/misc/guc.c:6546 +#, c-format +msgid "permission denied to set parameter \"%s\"" +msgstr "нет прав для изменения параметра \"%s\"" + +#: utils/misc/guc.c:3481 +#, c-format +msgid "parameter \"%s\" cannot be set after connection start" +msgstr "параметр \"%s\" нельзя задать после установления соединения" + +#: utils/misc/guc.c:3540 +#, c-format +msgid "cannot set parameter \"%s\" within security-definer function" +msgstr "" +"параметр \"%s\" нельзя задать в функции с контекстом безопасности " +"определившего" + +#: utils/misc/guc.c:3561 +#, c-format +msgid "parameter \"%s\" cannot be reset" +msgstr "параметр \"%s\" нельзя сбросить" + +#: utils/misc/guc.c:3568 +#, c-format +msgid "parameter \"%s\" cannot be set locally in functions" +msgstr "параметр \"%s\" нельзя задавать локально в функциях" + +#: utils/misc/guc.c:4212 utils/misc/guc.c:4259 utils/misc/guc.c:5266 +#, c-format +msgid "permission denied to examine \"%s\"" +msgstr "нет прав для просмотра параметра \"%s\"" + +#: utils/misc/guc.c:4213 utils/misc/guc.c:4260 utils/misc/guc.c:5267 +#, c-format +msgid "" +"Only roles with privileges of the \"%s\" role may examine this parameter." +msgstr "Просматривать этот параметр могут только роли с правами роли \"%s\"." + +#: utils/misc/guc.c:4496 +#, c-format +msgid "permission denied to perform ALTER SYSTEM RESET ALL" +msgstr "нет прав для выполнения ALTER SYSTEM RESET ALL" + +#: utils/misc/guc.c:4562 +#, c-format +msgid "parameter value for ALTER SYSTEM must not contain a newline" +msgstr "значение параметра для ALTER SYSTEM не должно быть многострочным" + +#: utils/misc/guc.c:4608 +#, c-format +msgid "could not parse contents of file \"%s\"" +msgstr "не удалось разобрать содержимое файла \"%s\"" + +#: utils/misc/guc.c:4790 +#, c-format +msgid "attempt to redefine parameter \"%s\"" +msgstr "попытка переопределить параметр \"%s\"" + +#: utils/misc/guc.c:5129 +#, c-format +msgid "invalid configuration parameter name \"%s\", removing it" +msgstr "неверное имя параметра конфигурации: \"%s\", он удаляется" + +#: utils/misc/guc.c:5131 +#, c-format +msgid "\"%s\" is now a reserved prefix." +msgstr "Теперь \"%s\" — зарезервированный префикс." + +#: utils/misc/guc.c:6000 +#, c-format +msgid "while setting parameter \"%s\" to \"%s\"" +msgstr "при назначении параметру \"%s\" значения \"%s\"" + +#: utils/misc/guc.c:6169 +#, c-format +msgid "parameter \"%s\" could not be set" +msgstr "параметр \"%s\" нельзя установить" + +#: utils/misc/guc.c:6259 +#, c-format +msgid "could not parse setting for parameter \"%s\"" +msgstr "не удалось разобрать значение параметра \"%s\"" + +#: utils/misc/guc.c:6678 +#, c-format +msgid "invalid value for parameter \"%s\": %g" +msgstr "неверное значение параметра \"%s\": %g" + +#: utils/misc/guc_funcs.c:130 +#, c-format +msgid "SET LOCAL TRANSACTION SNAPSHOT is not implemented" +msgstr "SET LOCAL TRANSACTION SNAPSHOT не реализовано" + +#: utils/misc/guc_funcs.c:218 +#, c-format +msgid "SET %s takes only one argument" +msgstr "SET %s принимает только один аргумент" + +#: utils/misc/guc_funcs.c:342 +#, c-format +msgid "SET requires parameter name" +msgstr "SET требует имя параметра" + +#: utils/misc/guc_tables.c:662 +msgid "Ungrouped" +msgstr "Разное" + +#: utils/misc/guc_tables.c:664 +msgid "File Locations" +msgstr "Расположения файлов" + +#: utils/misc/guc_tables.c:666 +msgid "Connections and Authentication / Connection Settings" +msgstr "Подключения и аутентификация / Параметры подключений" + +#: utils/misc/guc_tables.c:668 +msgid "Connections and Authentication / TCP Settings" +msgstr "Подключения и аутентификация / Параметры TCP" + +#: utils/misc/guc_tables.c:670 +msgid "Connections and Authentication / Authentication" +msgstr "Подключения и аутентификация / Аутентификация" + +#: utils/misc/guc_tables.c:672 +msgid "Connections and Authentication / SSL" +msgstr "Подключения и аутентификация / SSL" + +#: utils/misc/guc_tables.c:674 +msgid "Resource Usage / Memory" +msgstr "Использование ресурсов / Память" + +#: utils/misc/guc_tables.c:676 +msgid "Resource Usage / Disk" +msgstr "Использование ресурсов / Диск" + +#: utils/misc/guc_tables.c:678 +msgid "Resource Usage / Kernel Resources" msgstr "Использование ресурсов / Ресурсы ядра" -#: utils/misc/guc.c:792 +#: utils/misc/guc_tables.c:680 msgid "Resource Usage / Cost-Based Vacuum Delay" msgstr "Использование ресурсов / Задержка очистки по стоимости" -#: utils/misc/guc.c:794 +#: utils/misc/guc_tables.c:682 msgid "Resource Usage / Background Writer" msgstr "Использование ресурсов / Фоновая запись" -#: utils/misc/guc.c:796 +#: utils/misc/guc_tables.c:684 msgid "Resource Usage / Asynchronous Behavior" msgstr "Использование ресурсов / Асинхронное поведение" -#: utils/misc/guc.c:798 +#: utils/misc/guc_tables.c:686 msgid "Write-Ahead Log / Settings" msgstr "Журнал WAL / Параметры" -#: utils/misc/guc.c:800 +#: utils/misc/guc_tables.c:688 msgid "Write-Ahead Log / Checkpoints" msgstr "Журнал WAL / Контрольные точки" -#: utils/misc/guc.c:802 +#: utils/misc/guc_tables.c:690 msgid "Write-Ahead Log / Archiving" msgstr "Журнал WAL / Архивация" -#: utils/misc/guc.c:804 +#: utils/misc/guc_tables.c:692 msgid "Write-Ahead Log / Recovery" msgstr "Журнал WAL / Восстановление" -#: utils/misc/guc.c:806 +#: utils/misc/guc_tables.c:694 msgid "Write-Ahead Log / Archive Recovery" msgstr "Журнал WAL / Восстановление из архива" -#: utils/misc/guc.c:808 +#: utils/misc/guc_tables.c:696 msgid "Write-Ahead Log / Recovery Target" msgstr "Журнал WAL / Цель восстановления" -#: utils/misc/guc.c:810 +#: utils/misc/guc_tables.c:698 msgid "Replication / Sending Servers" msgstr "Репликация / Передающие серверы" -#: utils/misc/guc.c:812 +#: utils/misc/guc_tables.c:700 msgid "Replication / Primary Server" msgstr "Репликация / Ведущий сервер" -#: utils/misc/guc.c:814 +#: utils/misc/guc_tables.c:702 msgid "Replication / Standby Servers" msgstr "Репликация / Резервные серверы" -#: utils/misc/guc.c:816 +#: utils/misc/guc_tables.c:704 msgid "Replication / Subscribers" msgstr "Репликация / Подписчики" -#: utils/misc/guc.c:818 +#: utils/misc/guc_tables.c:706 msgid "Query Tuning / Planner Method Configuration" msgstr "Настройка запросов / Конфигурация методов планировщика" -#: utils/misc/guc.c:820 +#: utils/misc/guc_tables.c:708 msgid "Query Tuning / Planner Cost Constants" msgstr "Настройка запросов / Константы стоимости для планировщика" -#: utils/misc/guc.c:822 +#: utils/misc/guc_tables.c:710 msgid "Query Tuning / Genetic Query Optimizer" msgstr "Настройка запросов / Генетический оптимизатор запросов" -#: utils/misc/guc.c:824 +#: utils/misc/guc_tables.c:712 msgid "Query Tuning / Other Planner Options" msgstr "Настройка запросов / Другие параметры планировщика" -#: utils/misc/guc.c:826 +#: utils/misc/guc_tables.c:714 msgid "Reporting and Logging / Where to Log" msgstr "Отчёты и протоколы / Куда записывать" -#: utils/misc/guc.c:828 +#: utils/misc/guc_tables.c:716 msgid "Reporting and Logging / When to Log" msgstr "Отчёты и протоколы / Когда записывать" -#: utils/misc/guc.c:830 +#: utils/misc/guc_tables.c:718 msgid "Reporting and Logging / What to Log" msgstr "Отчёты и протоколы / Что записывать" -#: utils/misc/guc.c:832 +#: utils/misc/guc_tables.c:720 msgid "Reporting and Logging / Process Title" msgstr "Отчёты и протоколы / Заголовок процесса" -#: utils/misc/guc.c:834 +#: utils/misc/guc_tables.c:722 msgid "Statistics / Monitoring" msgstr "Статистика / Мониторинг" -#: utils/misc/guc.c:836 +#: utils/misc/guc_tables.c:724 msgid "Statistics / Cumulative Query and Index Statistics" msgstr "Статистика / Накопительная статистика по запросам и индексам" -#: utils/misc/guc.c:838 +#: utils/misc/guc_tables.c:726 msgid "Autovacuum" msgstr "Автоочистка" -#: utils/misc/guc.c:840 +#: utils/misc/guc_tables.c:728 msgid "Client Connection Defaults / Statement Behavior" msgstr "Параметры клиентских подключений по умолчанию / Поведение команд" -#: utils/misc/guc.c:842 +#: utils/misc/guc_tables.c:730 msgid "Client Connection Defaults / Locale and Formatting" msgstr "" "Параметры клиентских подключений по умолчанию / Языковая среда и форматы" -#: utils/misc/guc.c:844 +#: utils/misc/guc_tables.c:732 msgid "Client Connection Defaults / Shared Library Preloading" msgstr "" "Параметры клиентских подключений по умолчанию / Предзагрузка разделяемых " "библиотек" -#: utils/misc/guc.c:846 +#: utils/misc/guc_tables.c:734 msgid "Client Connection Defaults / Other Defaults" msgstr "Параметры клиентских подключений по умолчанию / Другие параметры" -#: utils/misc/guc.c:848 +#: utils/misc/guc_tables.c:736 msgid "Lock Management" msgstr "Управление блокировками" -#: utils/misc/guc.c:850 +#: utils/misc/guc_tables.c:738 msgid "Version and Platform Compatibility / Previous PostgreSQL Versions" msgstr "Версия и совместимость платформ / Предыдущие версии PostgreSQL" -#: utils/misc/guc.c:852 +#: utils/misc/guc_tables.c:740 msgid "Version and Platform Compatibility / Other Platforms and Clients" msgstr "Версия и совместимость платформ / Другие платформы и клиенты" -#: utils/misc/guc.c:854 +#: utils/misc/guc_tables.c:742 msgid "Error Handling" msgstr "Обработка ошибок" -#: utils/misc/guc.c:856 +#: utils/misc/guc_tables.c:744 msgid "Preset Options" msgstr "Предопределённые параметры" -#: utils/misc/guc.c:858 +#: utils/misc/guc_tables.c:746 msgid "Customized Options" msgstr "Внесистемные параметры" -#: utils/misc/guc.c:860 +#: utils/misc/guc_tables.c:748 msgid "Developer Options" msgstr "Параметры для разработчиков" -#: utils/misc/guc.c:918 -msgid "" -"Valid units for this parameter are \"B\", \"kB\", \"MB\", \"GB\", and \"TB\"." -msgstr "" -"Допустимые единицы измерения для этого параметра: \"B\", \"kB\", \"MB\", " -"\"GB\" и \"TB\"." - -#: utils/misc/guc.c:955 -msgid "" -"Valid units for this parameter are \"us\", \"ms\", \"s\", \"min\", \"h\", " -"and \"d\"." -msgstr "" -"Допустимые единицы измерения для этого параметра: \"us\", \"ms\", \"s\", " -"\"min\", \"h\" и \"d\"." - -#: utils/misc/guc.c:1017 +#: utils/misc/guc_tables.c:805 msgid "Enables the planner's use of sequential-scan plans." msgstr "" "Разрешает планировщику использовать планы последовательного сканирования." -#: utils/misc/guc.c:1027 +#: utils/misc/guc_tables.c:815 msgid "Enables the planner's use of index-scan plans." msgstr "Разрешает планировщику использовать планы сканирования по индексу." -#: utils/misc/guc.c:1037 +#: utils/misc/guc_tables.c:825 msgid "Enables the planner's use of index-only-scan plans." msgstr "Разрешает планировщику использовать планы сканирования только индекса." -#: utils/misc/guc.c:1047 +#: utils/misc/guc_tables.c:835 msgid "Enables the planner's use of bitmap-scan plans." msgstr "" "Разрешает планировщику использовать планы сканирования по битовой карте." -#: utils/misc/guc.c:1057 +#: utils/misc/guc_tables.c:845 msgid "Enables the planner's use of TID scan plans." msgstr "Разрешает планировщику использовать планы сканирования TID." -#: utils/misc/guc.c:1067 +#: utils/misc/guc_tables.c:855 msgid "Enables the planner's use of explicit sort steps." msgstr "Разрешает планировщику использовать шаги с явной сортировкой." -#: utils/misc/guc.c:1077 +#: utils/misc/guc_tables.c:865 msgid "Enables the planner's use of incremental sort steps." msgstr "" "Разрешает планировщику использовать шаги с инкрементальной сортировкой." -#: utils/misc/guc.c:1087 +#: utils/misc/guc_tables.c:875 msgid "Enables the planner's use of hashed aggregation plans." msgstr "Разрешает планировщику использовать планы агрегирования по хешу." -#: utils/misc/guc.c:1097 +#: utils/misc/guc_tables.c:885 msgid "Enables the planner's use of materialization." msgstr "Разрешает планировщику использовать материализацию." # well-spelled: мемоизацию -#: utils/misc/guc.c:1107 +#: utils/misc/guc_tables.c:895 msgid "Enables the planner's use of memoization." msgstr "Разрешает планировщику использовать мемоизацию." -#: utils/misc/guc.c:1117 +#: utils/misc/guc_tables.c:905 msgid "Enables the planner's use of nested-loop join plans." msgstr "" "Разрешает планировщику использовать планы соединения с вложенными циклами." -#: utils/misc/guc.c:1127 +#: utils/misc/guc_tables.c:915 msgid "Enables the planner's use of merge join plans." msgstr "Разрешает планировщику использовать планы соединения слиянием." -#: utils/misc/guc.c:1137 +#: utils/misc/guc_tables.c:925 msgid "Enables the planner's use of hash join plans." msgstr "Разрешает планировщику использовать планы соединения по хешу." -#: utils/misc/guc.c:1147 +#: utils/misc/guc_tables.c:935 msgid "Enables the planner's use of gather merge plans." msgstr "Разрешает планировщику использовать планы сбора слиянием." -#: utils/misc/guc.c:1157 +#: utils/misc/guc_tables.c:945 msgid "Enables partitionwise join." msgstr "Включает соединения с учётом секционирования." -#: utils/misc/guc.c:1167 +#: utils/misc/guc_tables.c:955 msgid "Enables partitionwise aggregation and grouping." msgstr "Включает агрегирование и группировку с учётом секционирования." -#: utils/misc/guc.c:1177 +#: utils/misc/guc_tables.c:965 msgid "Enables the planner's use of parallel append plans." msgstr "Разрешает планировщику использовать планы параллельного добавления." -#: utils/misc/guc.c:1187 +#: utils/misc/guc_tables.c:975 msgid "Enables the planner's use of parallel hash plans." msgstr "" "Разрешает планировщику использовать планы параллельного соединения по хешу." -#: utils/misc/guc.c:1197 +#: utils/misc/guc_tables.c:985 msgid "Enables plan-time and execution-time partition pruning." msgstr "" "Включает устранение секций во время планирования и во время выполнения " "запросов." -#: utils/misc/guc.c:1198 +#: 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." @@ -29588,49 +30586,68 @@ msgstr "" "Разрешает планировщику и исполнителю запросов сопоставлять границы секций с " "условиями в запросе и выделять отдельные секции для сканирования." -#: utils/misc/guc.c:1209 +#: 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 "" +"Включает в планировщике возможность формировать планы, подающие ранее " +"сортированные данные на вход агрегирующим функциям с ORDER BY / DISTINCT." + +#: 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 "" +"Разрешает планировщику строить планы, в которых на вход агрегирующим " +"функциям с предложением ORDER BY / DISTINCT подаются ранее сортированные " +"данные. Когда этот параметр отключён, во время выполнения всегда неявно " +"производится сортировка." + +#: utils/misc/guc_tables.c:1012 msgid "Enables the planner's use of async append plans." msgstr "Разрешает планировщику использовать планы асинхронного добавления." -#: utils/misc/guc.c:1219 +#: utils/misc/guc_tables.c:1022 msgid "Enables genetic query optimization." msgstr "Включает генетическую оптимизацию запросов." -#: utils/misc/guc.c:1220 +#: utils/misc/guc_tables.c:1023 msgid "This algorithm attempts to do planning without exhaustive searching." msgstr "Этот алгоритм пытается построить план без полного перебора." -#: utils/misc/guc.c:1231 +#: utils/misc/guc_tables.c:1034 msgid "Shows whether the current user is a superuser." msgstr "Показывает, является ли текущий пользователь суперпользователем." -#: utils/misc/guc.c:1241 +#: utils/misc/guc_tables.c:1044 msgid "Enables advertising the server via Bonjour." msgstr "Включает объявление сервера посредством Bonjour." -#: utils/misc/guc.c:1250 +#: utils/misc/guc_tables.c:1053 msgid "Collects transaction commit time." msgstr "Записывает время фиксации транзакций." -#: utils/misc/guc.c:1259 +#: utils/misc/guc_tables.c:1062 msgid "Enables SSL connections." msgstr "Разрешает SSL-подключения." -#: utils/misc/guc.c:1268 +#: utils/misc/guc_tables.c:1071 msgid "Controls whether ssl_passphrase_command is called during server reload." msgstr "" "Определяет, будет ли вызываться ssl_passphrase_command при перезагрузке " "сервера." -#: utils/misc/guc.c:1277 +#: utils/misc/guc_tables.c:1080 msgid "Give priority to server ciphersuite order." msgstr "Назначает более приоритетным набор шифров сервера." -#: utils/misc/guc.c:1286 +#: utils/misc/guc_tables.c:1089 msgid "Forces synchronization of updates to disk." msgstr "Принудительная запись изменений на диск." -#: utils/misc/guc.c:1287 +#: 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 insures that a database " @@ -29641,11 +30658,11 @@ msgstr "" "физической записи данных на диск. Это позволит привести кластер БД в " "целостное состояние после отказа ОС или оборудования." -#: utils/misc/guc.c:1298 +#: utils/misc/guc_tables.c:1101 msgid "Continues processing after a checksum failure." msgstr "Продолжает обработку при ошибке контрольной суммы." -#: utils/misc/guc.c:1299 +#: 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 " @@ -29659,11 +30676,11 @@ msgstr "" "что может привести к сбоям или другим серьёзным проблемам. Это имеет место, " "только если включён контроль целостности страниц." -#: utils/misc/guc.c:1313 +#: utils/misc/guc_tables.c:1116 msgid "Continues processing past damaged page headers." msgstr "Продолжает обработку при повреждении заголовков страниц." -#: utils/misc/guc.c:1314 +#: 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 " @@ -29677,12 +30694,12 @@ msgstr "" "продолжит работу. Это приведёт к потере данных, а именно строк в " "повреждённой странице." -#: utils/misc/guc.c:1327 +#: utils/misc/guc_tables.c:1130 msgid "Continues recovery after an invalid pages failure." msgstr "" "Продолжает восстановление после ошибок, связанных с неправильными страницами." -#: utils/misc/guc.c:1328 +#: 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. " @@ -29701,12 +30718,12 @@ msgstr "" "проблемам. Данный параметр действует только при восстановлении или в режиме " "резервного сервера." -#: utils/misc/guc.c:1346 +#: utils/misc/guc_tables.c:1149 msgid "Writes full pages to WAL when first modified after a checkpoint." msgstr "" "Запись полных страниц в WAL при первом изменении после контрольной точки." -#: utils/misc/guc.c:1347 +#: 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 " @@ -29719,7 +30736,7 @@ msgstr "" "при первом изменении после контрольной точки, что позволяет полностью " "восстановить данные." -#: utils/misc/guc.c:1360 +#: utils/misc/guc_tables.c:1163 msgid "" "Writes full pages to WAL when first modified after a checkpoint, even for a " "non-critical modification." @@ -29727,83 +30744,93 @@ msgstr "" "Запись полных страниц в WAL при первом изменении после контрольной точки, " "даже при некритическом изменении." -#: utils/misc/guc.c:1370 +#: utils/misc/guc_tables.c:1173 msgid "Writes zeroes to new WAL files before first use." msgstr "Записывать нули в новые файлы WAL перед первым использованием." -#: utils/misc/guc.c:1380 +#: utils/misc/guc_tables.c:1183 msgid "Recycles WAL files by renaming them." msgstr "Перерабатывать файлы WAL, производя переименование." -#: utils/misc/guc.c:1390 +#: utils/misc/guc_tables.c:1193 msgid "Logs each checkpoint." msgstr "Протоколировать каждую контрольную точку." -#: utils/misc/guc.c:1399 +#: utils/misc/guc_tables.c:1202 msgid "Logs each successful connection." msgstr "Протоколировать устанавливаемые соединения." -#: utils/misc/guc.c:1408 +#: utils/misc/guc_tables.c:1211 msgid "Logs end of a session, including duration." msgstr "Протоколировать конец сеанса, отмечая длительность." -#: utils/misc/guc.c:1417 +#: utils/misc/guc_tables.c:1220 msgid "Logs each replication command." msgstr "Протоколировать каждую команду репликации." -#: utils/misc/guc.c:1426 +#: utils/misc/guc_tables.c:1229 msgid "Shows whether the running server has assertion checks enabled." msgstr "Показывает, включены ли проверки истинности на работающем сервере." -#: utils/misc/guc.c:1441 +#: utils/misc/guc_tables.c:1240 msgid "Terminate session on any error." msgstr "Завершать сеансы при любой ошибке." -#: utils/misc/guc.c:1450 +#: utils/misc/guc_tables.c:1249 msgid "Reinitialize server after backend crash." msgstr "Перезапускать систему БД при аварии серверного процесса." -#: utils/misc/guc.c:1459 +#: utils/misc/guc_tables.c:1258 msgid "Remove temporary files after backend crash." msgstr "Удалять временные файлы после аварии обслуживающего процесса." -#: utils/misc/guc.c:1470 +#: utils/misc/guc_tables.c:1268 +msgid "Send SIGABRT not SIGQUIT to child processes after backend crash." +msgstr "" +"Посылать дочерним процессам SIGABRT, а не SIGQUIT при сбое серверного " +"процесса." + +#: utils/misc/guc_tables.c:1278 +msgid "Send SIGABRT not SIGKILL to stuck child processes." +msgstr "Посылать SIGABRT, а не SIGKILL зависшим дочерним процессам." + +#: utils/misc/guc_tables.c:1289 msgid "Logs the duration of each completed SQL statement." msgstr "Протоколировать длительность каждого выполненного SQL-оператора." -#: utils/misc/guc.c:1479 +#: utils/misc/guc_tables.c:1298 msgid "Logs each query's parse tree." msgstr "Протоколировать дерево разбора для каждого запроса." -#: utils/misc/guc.c:1488 +#: utils/misc/guc_tables.c:1307 msgid "Logs each query's rewritten parse tree." msgstr "Протоколировать перезаписанное дерево разбора для каждого запроса." -#: utils/misc/guc.c:1497 +#: utils/misc/guc_tables.c:1316 msgid "Logs each query's execution plan." msgstr "Протоколировать план выполнения каждого запроса." -#: utils/misc/guc.c:1506 +#: utils/misc/guc_tables.c:1325 msgid "Indents parse and plan tree displays." msgstr "Отступы при отображении деревьев разбора и плана запросов." -#: utils/misc/guc.c:1515 +#: utils/misc/guc_tables.c:1334 msgid "Writes parser performance statistics to the server log." msgstr "Запись статистики разбора запросов в протокол сервера." -#: utils/misc/guc.c:1524 +#: utils/misc/guc_tables.c:1343 msgid "Writes planner performance statistics to the server log." msgstr "Запись статистики планирования в протокол сервера." -#: utils/misc/guc.c:1533 +#: utils/misc/guc_tables.c:1352 msgid "Writes executor performance statistics to the server log." msgstr "Запись статистики выполнения запросов в протокол сервера." -#: utils/misc/guc.c:1542 +#: utils/misc/guc_tables.c:1361 msgid "Writes cumulative performance statistics to the server log." msgstr "Запись общей статистики производительности в протокол сервера." -#: utils/misc/guc.c:1552 +#: utils/misc/guc_tables.c:1371 msgid "" "Logs system resource usage statistics (memory and CPU) on various B-tree " "operations." @@ -29811,11 +30838,11 @@ msgstr "" "Фиксировать статистику использования системных ресурсов (памяти и " "процессора) при различных операциях с b-деревом." -#: utils/misc/guc.c:1564 +#: utils/misc/guc_tables.c:1383 msgid "Collects information about executing commands." msgstr "Собирает информацию о выполняющихся командах." -#: utils/misc/guc.c:1565 +#: 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." @@ -29823,70 +30850,70 @@ msgstr "" "Включает сбор информации о командах, выполняющихся во всех сеансах, а также " "время запуска команды." -#: utils/misc/guc.c:1575 +#: utils/misc/guc_tables.c:1394 msgid "Collects statistics on database activity." msgstr "Собирает статистику активности в БД." -#: utils/misc/guc.c:1584 +#: utils/misc/guc_tables.c:1403 msgid "Collects timing statistics for database I/O activity." msgstr "Собирает статистику по времени активности ввода/вывода." -#: utils/misc/guc.c:1593 +#: utils/misc/guc_tables.c:1412 msgid "Collects timing statistics for WAL I/O activity." msgstr "Собирает статистику по времени активности ввода/вывода WAL." -#: utils/misc/guc.c:1603 +#: utils/misc/guc_tables.c:1422 msgid "Updates the process title to show the active SQL command." msgstr "Выводит в заголовок процесса активную SQL-команду." -#: utils/misc/guc.c:1604 +#: 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 "Отражает в заголовке процесса каждую SQL-команду, поступающую серверу." -#: utils/misc/guc.c:1617 +#: utils/misc/guc_tables.c:1432 msgid "Starts the autovacuum subprocess." msgstr "Запускает подпроцесс автоочистки." -#: utils/misc/guc.c:1627 +#: utils/misc/guc_tables.c:1442 msgid "Generates debugging output for LISTEN and NOTIFY." msgstr "Генерирует отладочные сообщения для LISTEN и NOTIFY." -#: utils/misc/guc.c:1639 +#: utils/misc/guc_tables.c:1454 msgid "Emits information about lock usage." msgstr "Выдавать информацию о применяемых блокировках." -#: utils/misc/guc.c:1649 +#: utils/misc/guc_tables.c:1464 msgid "Emits information about user lock usage." msgstr "Выдавать информацию о применяемых пользовательских блокировках." -#: utils/misc/guc.c:1659 +#: utils/misc/guc_tables.c:1474 msgid "Emits information about lightweight lock usage." msgstr "Выдавать информацию о применяемых лёгких блокировках." -#: utils/misc/guc.c:1669 +#: utils/misc/guc_tables.c:1484 msgid "" "Dumps information about all current locks when a deadlock timeout occurs." msgstr "" "Выводить информацию обо всех текущих блокировках в случае тайм-аута при " "взаимоблокировке." -#: utils/misc/guc.c:1681 +#: utils/misc/guc_tables.c:1496 msgid "Logs long lock waits." msgstr "Протоколировать длительные ожидания в блокировках." -#: utils/misc/guc.c:1690 +#: utils/misc/guc_tables.c:1505 msgid "Logs standby recovery conflict waits." msgstr "" "Протоколировать события ожидания разрешения конфликтов при восстановлении на " "ведомом." -#: utils/misc/guc.c:1699 +#: utils/misc/guc_tables.c:1514 msgid "Logs the host name in the connection logs." msgstr "Записывать имя узла в протоколы подключений." -#: utils/misc/guc.c:1700 +#: 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 " @@ -29898,11 +30925,11 @@ msgstr "" "параметр, но учтите, что это может значительно повлиять на " "производительность." -#: utils/misc/guc.c:1711 +#: utils/misc/guc_tables.c:1526 msgid "Treats \"expr=NULL\" as \"expr IS NULL\"." msgstr "Обрабатывать \"expr=NULL\" как \"expr IS NULL\"." -#: utils/misc/guc.c:1712 +#: 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 " @@ -29914,25 +30941,25 @@ msgstr "" "совпадает с NULL, и false в противном случае. По правилам expr = NULL всегда " "должно возвращать null (неопределённость)." -#: utils/misc/guc.c:1724 +#: utils/misc/guc_tables.c:1539 msgid "Enables per-database user names." msgstr "Включает связывание имён пользователей с базами данных." -#: utils/misc/guc.c:1733 +#: utils/misc/guc_tables.c:1548 msgid "Sets the default read-only status of new transactions." msgstr "" "Устанавливает режим \"только чтение\" по умолчанию для новых транзакций." -#: utils/misc/guc.c:1743 +#: utils/misc/guc_tables.c:1558 msgid "Sets the current transaction's read-only status." msgstr "Устанавливает режим \"только чтение\" для текущей транзакции." -#: utils/misc/guc.c:1753 +#: utils/misc/guc_tables.c:1568 msgid "Sets the default deferrable status of new transactions." msgstr "" "Устанавливает режим отложенного выполнения по умолчанию для новых транзакций." -#: utils/misc/guc.c:1762 +#: 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." @@ -29940,26 +30967,26 @@ msgstr "" "Определяет, откладывать ли сериализуемую транзакцию \"только чтение\" до " "момента, когда сбой сериализации будет исключён." -#: utils/misc/guc.c:1772 +#: utils/misc/guc_tables.c:1587 msgid "Enable row security." msgstr "Включает защиту на уровне строк." -#: utils/misc/guc.c:1773 +#: utils/misc/guc_tables.c:1588 msgid "When enabled, row security will be applied to all users." msgstr "" "Когда включена, защита на уровне строк распространяется на всех " "пользователей." -#: utils/misc/guc.c:1781 +#: utils/misc/guc_tables.c:1596 msgid "Check routine bodies during CREATE FUNCTION and CREATE PROCEDURE." msgstr "" "Проверять тело подпрограмм в момент CREATE FUNCTION и CREATE PROCEDURE." -#: utils/misc/guc.c:1790 +#: utils/misc/guc_tables.c:1605 msgid "Enable input of NULL elements in arrays." msgstr "Разрешать ввод элементов NULL в массивах." -#: utils/misc/guc.c:1791 +#: 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." @@ -29967,73 +30994,77 @@ msgstr "" "Когда этот параметр включён, NULL без кавычек при вводе в массив " "воспринимается как значение NULL, иначе — как строка." -#: utils/misc/guc.c:1807 +#: utils/misc/guc_tables.c:1622 msgid "WITH OIDS is no longer supported; this can only be false." msgstr "" "WITH OIDS более не поддерживается; единственное допустимое значение — false." -#: utils/misc/guc.c:1817 +#: utils/misc/guc_tables.c:1632 msgid "" "Start a subprocess to capture stderr output and/or csvlogs into log files." msgstr "" "Запускает подпроцесс для чтения stderr и/или csv-файлов и записи в файлы " "протоколов." -#: utils/misc/guc.c:1826 +#: utils/misc/guc_tables.c:1641 msgid "Truncate existing log files of same name during log rotation." msgstr "" "Очищать уже существующий файл с тем же именем при прокручивании протокола." -#: utils/misc/guc.c:1837 +#: utils/misc/guc_tables.c:1652 msgid "Emit information about resource usage in sorting." msgstr "Выдавать сведения об использовании ресурсов при сортировке." -#: utils/misc/guc.c:1851 +#: utils/misc/guc_tables.c:1666 msgid "Generate debugging output for synchronized scanning." msgstr "Выдавать отладочные сообщения для синхронного сканирования." -#: utils/misc/guc.c:1866 +#: utils/misc/guc_tables.c:1681 msgid "Enable bounded sorting using heap sort." msgstr "" "Разрешить ограниченную сортировку с применением пирамидальной сортировки." -#: utils/misc/guc.c:1879 +#: utils/misc/guc_tables.c:1694 msgid "Emit WAL-related debugging output." msgstr "Выдавать отладочные сообщения, связанные с WAL." -#: utils/misc/guc.c:1891 +#: utils/misc/guc_tables.c:1706 msgid "Shows whether datetimes are integer based." msgstr "Показывает, является ли реализация даты/времени целочисленной." -#: utils/misc/guc.c:1902 +#: utils/misc/guc_tables.c:1717 msgid "" "Sets whether Kerberos and GSSAPI user names should be treated as case-" "insensitive." msgstr "" "Включает регистронезависимую обработку имён пользователей Kerberos и GSSAPI." -#: utils/misc/guc.c:1912 +#: utils/misc/guc_tables.c:1727 +msgid "Sets whether GSSAPI delegation should be accepted from the client." +msgstr "Разрешает принимать от клиентов делегированные учётные данные GSSAPI." + +#: utils/misc/guc_tables.c:1737 msgid "Warn about backslash escapes in ordinary string literals." msgstr "Предупреждения о спецсимволах '\\' в обычных строках." -#: utils/misc/guc.c:1922 +#: utils/misc/guc_tables.c:1747 msgid "Causes '...' strings to treat backslashes literally." msgstr "Включает буквальную обработку символов '\\' в строках '...'." -#: utils/misc/guc.c:1933 +#: utils/misc/guc_tables.c:1758 msgid "Enable synchronized sequential scans." msgstr "Включить синхронизацию последовательного сканирования." -#: utils/misc/guc.c:1943 +#: utils/misc/guc_tables.c:1768 msgid "Sets whether to include or exclude transaction with recovery target." msgstr "Определяет, включать ли транзакцию в целевую точку восстановления." -#: utils/misc/guc.c:1953 +#: utils/misc/guc_tables.c:1778 msgid "Allows connections and queries during recovery." msgstr "" "Разрешает принимать новые подключения и запросы в процессе восстановления." -#: utils/misc/guc.c:1963 +#: utils/misc/guc_tables.c:1788 msgid "" "Allows feedback from a hot standby to the primary that will avoid query " "conflicts." @@ -30041,19 +31072,19 @@ msgstr "" "Разрешает обратную связь сервера горячего резерва с основным для " "предотвращения конфликтов при длительных запросах." -#: utils/misc/guc.c:1973 +#: utils/misc/guc_tables.c:1798 msgid "Shows whether hot standby is currently active." msgstr "Показывает, активен ли в настоящий момент режим горячего резерва." -#: utils/misc/guc.c:1984 +#: utils/misc/guc_tables.c:1809 msgid "Allows modifications of the structure of system tables." msgstr "Разрешает модифицировать структуру системных таблиц." -#: utils/misc/guc.c:1995 +#: utils/misc/guc_tables.c:1820 msgid "Disables reading from system indexes." msgstr "Запрещает использование системных индексов." -#: utils/misc/guc.c:1996 +#: 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." @@ -30061,20 +31092,20 @@ msgstr "" "При этом индексы продолжают обновляться, так что данное поведение безопасно. " "Худшее следствие - замедление." -#: utils/misc/guc.c:2007 +#: utils/misc/guc_tables.c:1832 msgid "Allows tablespaces directly inside pg_tblspc, for testing." msgstr "" "Позволяет размещать табличные пространства внутри pg_tblspc; предназначается " "для тестирования." -#: utils/misc/guc.c:2018 +#: utils/misc/guc_tables.c:1843 msgid "" "Enables backward compatibility mode for privilege checks on large objects." msgstr "" "Включает режим обратной совместимости при проверке привилегий для больших " "объектов." -#: utils/misc/guc.c:2019 +#: 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." @@ -30082,66 +31113,66 @@ msgstr "" "Пропускает проверки привилегий при чтении или изменении больших объектов " "(для совместимости с версиями PostgreSQL до 9.0)." -#: utils/misc/guc.c:2029 +#: utils/misc/guc_tables.c:1854 msgid "When generating SQL fragments, quote all identifiers." msgstr "" "Генерируя SQL-фрагменты, заключать все идентификаторы в двойные кавычки." -#: utils/misc/guc.c:2039 +#: utils/misc/guc_tables.c:1864 msgid "Shows whether data checksums are turned on for this cluster." msgstr "Показывает, включён ли в этом кластере контроль целостности данных." -#: utils/misc/guc.c:2050 +#: utils/misc/guc_tables.c:1875 msgid "Add sequence number to syslog messages to avoid duplicate suppression." msgstr "" "Добавлять последовательный номер в сообщения syslog во избежание подавления " "повторов." -#: utils/misc/guc.c:2060 +#: utils/misc/guc_tables.c:1885 msgid "Split messages sent to syslog by lines and to fit into 1024 bytes." msgstr "" "Разбивать сообщения, передаваемые в syslog, по строкам размером не больше " "1024 байт." -#: utils/misc/guc.c:2070 +#: utils/misc/guc_tables.c:1895 msgid "Controls whether Gather and Gather Merge also run subplans." msgstr "" "Определяет, будут ли узлы сбора и сбора слиянием также выполнять подпланы." -#: utils/misc/guc.c:2071 +#: utils/misc/guc_tables.c:1896 msgid "Should gather nodes also run subplans or just gather tuples?" msgstr "" "Должны ли узлы сбора также выполнять подпланы или только собирать кортежи?" -#: utils/misc/guc.c:2081 +#: utils/misc/guc_tables.c:1906 msgid "Allow JIT compilation." msgstr "Включить JIT-компиляцию." -#: utils/misc/guc.c:2092 +#: utils/misc/guc_tables.c:1917 msgid "Register JIT-compiled functions with debugger." msgstr "Регистрировать JIT-скомпилированные функции в отладчике." -#: utils/misc/guc.c:2109 +#: utils/misc/guc_tables.c:1934 msgid "Write out LLVM bitcode to facilitate JIT debugging." msgstr "Выводить битовый код LLVM для облегчения отладки JIT." -#: utils/misc/guc.c:2120 +#: utils/misc/guc_tables.c:1945 msgid "Allow JIT compilation of expressions." msgstr "Включить JIT-компиляцию выражений." -#: utils/misc/guc.c:2131 +#: utils/misc/guc_tables.c:1956 msgid "Register JIT-compiled functions with perf profiler." msgstr "Регистрировать JIT-компилируемые функции в профилировщике perf." -#: utils/misc/guc.c:2148 +#: utils/misc/guc_tables.c:1973 msgid "Allow JIT compilation of tuple deforming." msgstr "Разрешить JIT-компиляцию кода преобразования кортежей." -#: utils/misc/guc.c:2159 +#: utils/misc/guc_tables.c:1984 msgid "Whether to continue running after a failure to sync data files." msgstr "Продолжать работу после ошибки при сохранении файлов данных на диске." -#: utils/misc/guc.c:2168 +#: utils/misc/guc_tables.c:1993 msgid "" "Sets whether a WAL receiver should create a temporary replication slot if no " "permanent slot is configured." @@ -30149,28 +31180,28 @@ msgstr "" "Определяет, должен ли приёмник WAL создавать временный слот репликации, если " "не настроен постоянный слот." -#: utils/misc/guc.c:2186 +#: utils/misc/guc_tables.c:2011 msgid "" "Sets the amount of time to wait before forcing a switch to the next WAL file." msgstr "" "Задаёт время задержки перед принудительным переключением на следующий файл " "WAL." -#: utils/misc/guc.c:2197 +#: utils/misc/guc_tables.c:2022 msgid "" "Sets the amount of time to wait after authentication on connection startup." msgstr "" "Задаёт время ожидания после аутентификации при установлении соединения." -#: utils/misc/guc.c:2199 utils/misc/guc.c:2820 +#: utils/misc/guc_tables.c:2024 utils/misc/guc_tables.c:2658 msgid "This allows attaching a debugger to the process." msgstr "Это позволяет подключить к процессу отладчик." -#: utils/misc/guc.c:2208 +#: utils/misc/guc_tables.c:2033 msgid "Sets the default statistics target." msgstr "Устанавливает ориентир статистики по умолчанию." -#: utils/misc/guc.c:2209 +#: 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." @@ -30178,13 +31209,13 @@ msgstr "" "Это значение распространяется на столбцы таблицы, для которых ориентир " "статистики не задан явно через ALTER TABLE SET STATISTICS." -#: utils/misc/guc.c:2218 +#: utils/misc/guc_tables.c:2043 msgid "Sets the FROM-list size beyond which subqueries are not collapsed." msgstr "" "Задаёт предел для списка FROM, при превышении которого подзапросы не " "сворачиваются." -#: utils/misc/guc.c:2220 +#: 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." @@ -30192,13 +31223,13 @@ msgstr "" "Планировщик объединит вложенные запросы с внешними, если в полученном списке " "FROM будет не больше заданного числа элементов." -#: utils/misc/guc.c:2231 +#: utils/misc/guc_tables.c:2056 msgid "Sets the FROM-list size beyond which JOIN constructs are not flattened." msgstr "" "Задаёт предел для списка FROM, при превышении которого конструкции JOIN " "сохраняются." -#: utils/misc/guc.c:2233 +#: 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." @@ -30206,34 +31237,34 @@ msgstr "" "Планировщик будет сносить явные конструкции JOIN в списки FROM, пока в " "результирующем списке не больше заданного числа элементов." -#: utils/misc/guc.c:2244 +#: utils/misc/guc_tables.c:2069 msgid "Sets the threshold of FROM items beyond which GEQO is used." msgstr "" "Задаёт предел для списка FROM, при превышении которого применяется GEQO." -#: utils/misc/guc.c:2254 +#: utils/misc/guc_tables.c:2079 msgid "GEQO: effort is used to set the default for other GEQO parameters." msgstr "" "GEQO: оценка усилий для планирования, задающая значения по умолчанию для " "других параметров GEQO." -#: utils/misc/guc.c:2264 +#: utils/misc/guc_tables.c:2089 msgid "GEQO: number of individuals in the population." msgstr "GEQO: число особей в популяции." -#: utils/misc/guc.c:2265 utils/misc/guc.c:2275 +#: utils/misc/guc_tables.c:2090 utils/misc/guc_tables.c:2100 msgid "Zero selects a suitable default value." msgstr "При нуле выбирается подходящее значение по умолчанию." -#: utils/misc/guc.c:2274 +#: utils/misc/guc_tables.c:2099 msgid "GEQO: number of iterations of the algorithm." msgstr "GEQO: число итераций алгоритма." -#: utils/misc/guc.c:2286 +#: utils/misc/guc_tables.c:2111 msgid "Sets the time to wait on a lock before checking for deadlock." msgstr "Задаёт интервал ожидания в блокировке до проверки на взаимоблокировку." -#: utils/misc/guc.c:2297 +#: utils/misc/guc_tables.c:2122 msgid "" "Sets the maximum delay before canceling queries when a hot standby server is " "processing archived WAL data." @@ -30241,7 +31272,7 @@ msgstr "" "Задаёт максимальную задержку до отмены запроса, когда сервер горячего " "резерва обрабатывает данные WAL из архива." -#: utils/misc/guc.c:2308 +#: utils/misc/guc_tables.c:2133 msgid "" "Sets the maximum delay before canceling queries when a hot standby server is " "processing streamed WAL data." @@ -30249,13 +31280,13 @@ msgstr "" "Задаёт максимальную задержку до отмены запроса, когда сервер горячего " "резерва обрабатывает данные WAL из потока." -#: utils/misc/guc.c:2319 +#: utils/misc/guc_tables.c:2144 msgid "Sets the minimum delay for applying changes during recovery." msgstr "" "Задаёт минимальную задержку для применения изменений в процессе " "восстановления." -#: utils/misc/guc.c:2330 +#: utils/misc/guc_tables.c:2155 msgid "" "Sets the maximum interval between WAL receiver status reports to the sending " "server." @@ -30263,29 +31294,41 @@ msgstr "" "Задаёт максимальный интервал между отчётами о состоянии приёмника WAL, " "отправляемыми передающему серверу." -#: utils/misc/guc.c:2341 +#: utils/misc/guc_tables.c:2166 msgid "Sets the maximum wait time to receive data from the sending server." msgstr "" "Задаёт предельное время ожидания для получения данных от передающего сервера." -#: utils/misc/guc.c:2352 +#: utils/misc/guc_tables.c:2177 msgid "Sets the maximum number of concurrent connections." msgstr "Задаёт максимально возможное число подключений." -#: utils/misc/guc.c:2363 +#: utils/misc/guc_tables.c:2188 msgid "Sets the number of connection slots reserved for superusers." msgstr "" "Определяет, сколько слотов подключений забронировано для суперпользователей." -#: utils/misc/guc.c:2373 +#: utils/misc/guc_tables.c:2198 +msgid "" +"Sets the number of connection slots reserved for roles with privileges of " +"pg_use_reserved_connections." +msgstr "" +"Определяет, сколько слотов подключений забронировано для ролей с правом " +"pg_use_reserved_connections." + +#: utils/misc/guc_tables.c:2209 msgid "Amount of dynamic shared memory reserved at startup." msgstr "Объём динамической разделяемой памяти, резервируемый при запуске." -#: utils/misc/guc.c:2388 +#: utils/misc/guc_tables.c:2224 msgid "Sets the number of shared memory buffers used by the server." msgstr "Задаёт количество буферов в разделяемой памяти, используемых сервером." -#: utils/misc/guc.c:2399 +#: utils/misc/guc_tables.c:2235 +msgid "Sets the buffer pool size for VACUUM, ANALYZE, and autovacuum." +msgstr "Задаёт размер пула буферов для операций VACUUM, ANALYZE и автоочистки." + +#: utils/misc/guc_tables.c:2246 msgid "" "Shows the size of the server's main shared memory area (rounded up to the " "nearest MB)." @@ -30293,29 +31336,29 @@ msgstr "" "Показывает объём основной области общей памяти сервера (округляется до " "ближайшего значения в мегабайтах)." -#: utils/misc/guc.c:2410 +#: utils/misc/guc_tables.c:2257 msgid "Shows the number of huge pages needed for the main shared memory area." msgstr "" "Показывает количество огромных страниц, необходимое для основной области " "общей памяти." -#: utils/misc/guc.c:2411 +#: utils/misc/guc_tables.c:2258 msgid "-1 indicates that the value could not be determined." msgstr "Значение -1 показывает, что определить это количество не удалось." -#: utils/misc/guc.c:2421 +#: utils/misc/guc_tables.c:2268 msgid "Sets the maximum number of temporary buffers used by each session." msgstr "Задаёт предельное число временных буферов на один сеанс." -#: utils/misc/guc.c:2432 +#: utils/misc/guc_tables.c:2279 msgid "Sets the TCP port the server listens on." msgstr "Задаёт TCP-порт для работы сервера." -#: utils/misc/guc.c:2442 +#: utils/misc/guc_tables.c:2289 msgid "Sets the access permissions of the Unix-domain socket." msgstr "Задаёт права доступа для Unix-сокета." -#: utils/misc/guc.c:2443 +#: 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 " @@ -30327,11 +31370,11 @@ msgstr "" "воспринимаемом системными функциями chmod и umask. (Чтобы использовать " "привычный восьмеричный формат, добавьте в начало ноль (0).)" -#: utils/misc/guc.c:2457 +#: utils/misc/guc_tables.c:2304 msgid "Sets the file permissions for log files." msgstr "Задаёт права доступа к файлам протоколов." -#: utils/misc/guc.c:2458 +#: 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 " @@ -30341,11 +31384,11 @@ msgstr "" "функциями chmod и umask. (Чтобы использовать привычный восьмеричный формат, " "добавьте в начало ноль (0).)" -#: utils/misc/guc.c:2472 +#: utils/misc/guc_tables.c:2319 msgid "Shows the mode of the data directory." msgstr "Показывает режим каталога данных." -#: utils/misc/guc.c:2473 +#: 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 " @@ -30355,11 +31398,11 @@ msgstr "" "функциями chmod и umask. (Чтобы использовать привычный восьмеричный формат, " "добавьте в начало ноль (0).)" -#: utils/misc/guc.c:2486 +#: utils/misc/guc_tables.c:2333 msgid "Sets the maximum memory to be used for query workspaces." msgstr "Задаёт предельный объём памяти для рабочих пространств запросов." -#: utils/misc/guc.c:2487 +#: 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." @@ -30367,19 +31410,19 @@ msgstr "" "Такой объём памяти может использоваться каждой внутренней операцией " "сортировки и таблицей хешей до переключения на временные файлы на диске." -#: utils/misc/guc.c:2499 +#: utils/misc/guc_tables.c:2346 msgid "Sets the maximum memory to be used for maintenance operations." msgstr "Задаёт предельный объём памяти для операций по обслуживанию." -#: utils/misc/guc.c:2500 +#: utils/misc/guc_tables.c:2347 msgid "This includes operations such as VACUUM and CREATE INDEX." msgstr "Подразумеваются в частности операции VACUUM и CREATE INDEX." -#: utils/misc/guc.c:2510 +#: utils/misc/guc_tables.c:2357 msgid "Sets the maximum memory to be used for logical decoding." msgstr "Задаёт предельный объём памяти для логического декодирования." -#: utils/misc/guc.c:2511 +#: utils/misc/guc_tables.c:2358 msgid "" "This much memory can be used by each internal reorder buffer before spilling " "to disk." @@ -30387,85 +31430,85 @@ msgstr "" "Такой объём памяти может использоваться каждым внутренним буфером " "пересортировки до вымещения данных на диск." -#: utils/misc/guc.c:2527 +#: utils/misc/guc_tables.c:2374 msgid "Sets the maximum stack depth, in kilobytes." msgstr "Задаёт максимальную глубину стека (в КБ)." -#: utils/misc/guc.c:2538 +#: utils/misc/guc_tables.c:2385 msgid "Limits the total size of all temporary files used by each process." msgstr "" "Ограничивает общий размер всех временных файлов, доступный для каждого " "процесса." -#: utils/misc/guc.c:2539 +#: utils/misc/guc_tables.c:2386 msgid "-1 means no limit." msgstr "-1 отключает ограничение." -#: utils/misc/guc.c:2549 +#: utils/misc/guc_tables.c:2396 msgid "Vacuum cost for a page found in the buffer cache." msgstr "Стоимость очистки для страницы, найденной в кеше." -#: utils/misc/guc.c:2559 +#: utils/misc/guc_tables.c:2406 msgid "Vacuum cost for a page not found in the buffer cache." msgstr "Стоимость очистки для страницы, не найденной в кеше." -#: utils/misc/guc.c:2569 +#: utils/misc/guc_tables.c:2416 msgid "Vacuum cost for a page dirtied by vacuum." msgstr "Стоимость очистки для страницы, которая не была \"грязной\"." -#: utils/misc/guc.c:2579 +#: utils/misc/guc_tables.c:2426 msgid "Vacuum cost amount available before napping." msgstr "Суммарная стоимость очистки, при которой нужна передышка." -#: utils/misc/guc.c:2589 +#: utils/misc/guc_tables.c:2436 msgid "Vacuum cost amount available before napping, for autovacuum." msgstr "" "Суммарная стоимость очистки, при которой нужна передышка, для автоочистки." -#: utils/misc/guc.c:2599 +#: utils/misc/guc_tables.c:2446 msgid "" "Sets the maximum number of simultaneously open files for each server process." msgstr "" "Задаёт предельное число одновременно открытых файлов для каждого серверного " "процесса." -#: utils/misc/guc.c:2612 +#: utils/misc/guc_tables.c:2459 msgid "Sets the maximum number of simultaneously prepared transactions." msgstr "Задаёт предельное число одновременно подготовленных транзакций." -#: utils/misc/guc.c:2623 +#: utils/misc/guc_tables.c:2470 msgid "Sets the minimum OID of tables for tracking locks." msgstr "Задаёт минимальный OID таблиц, для которых отслеживаются блокировки." -#: utils/misc/guc.c:2624 +#: utils/misc/guc_tables.c:2471 msgid "Is used to avoid output on system tables." msgstr "Применяется для игнорирования системных таблиц." -#: utils/misc/guc.c:2633 +#: utils/misc/guc_tables.c:2480 msgid "Sets the OID of the table with unconditionally lock tracing." msgstr "Задаёт OID таблицы для безусловного отслеживания блокировок." -#: utils/misc/guc.c:2645 +#: utils/misc/guc_tables.c:2492 msgid "Sets the maximum allowed duration of any statement." msgstr "Задаёт предельную длительность для любого оператора." -#: utils/misc/guc.c:2646 utils/misc/guc.c:2657 utils/misc/guc.c:2668 -#: utils/misc/guc.c:2679 +#: 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 "Нулевое значение отключает тайм-аут." -#: utils/misc/guc.c:2656 +#: utils/misc/guc_tables.c:2503 msgid "Sets the maximum allowed duration of any wait for a lock." msgstr "Задаёт максимальную продолжительность ожидания блокировок." -#: utils/misc/guc.c:2667 +#: utils/misc/guc_tables.c:2514 msgid "" "Sets the maximum allowed idle time between queries, when in a transaction." msgstr "" "Задаёт предельно допустимую длительность простоя между запросами в " "транзакции." -#: utils/misc/guc.c:2678 +#: utils/misc/guc_tables.c:2525 msgid "" "Sets the maximum allowed idle time between queries, when not in a " "transaction." @@ -30473,45 +31516,37 @@ msgstr "" "Задаёт предельно допустимую длительность простоя между запросами вне " "транзакций." -#: utils/misc/guc.c:2689 +#: utils/misc/guc_tables.c:2536 msgid "Minimum age at which VACUUM should freeze a table row." msgstr "" "Минимальный возраст строк таблицы, при котором VACUUM может их заморозить." -#: utils/misc/guc.c:2699 +#: utils/misc/guc_tables.c:2546 msgid "Age at which VACUUM should scan whole table to freeze tuples." msgstr "" "Возраст, при котором VACUUM должен сканировать всю таблицу с целью " "заморозить кортежи." -#: utils/misc/guc.c:2709 +#: utils/misc/guc_tables.c:2556 msgid "Minimum age at which VACUUM should freeze a MultiXactId in a table row." msgstr "" "Минимальный возраст, при котором VACUUM будет замораживать MultiXactId в " "строке таблицы." -#: utils/misc/guc.c:2719 +#: utils/misc/guc_tables.c:2566 msgid "Multixact age at which VACUUM should scan whole table to freeze tuples." msgstr "" "Возраст multixact, при котором VACUUM должен сканировать всю таблицу с целью " "заморозить кортежи." -#: utils/misc/guc.c:2729 -msgid "" -"Number of transactions by which VACUUM and HOT cleanup should be deferred, " -"if any." -msgstr "" -"Определяет, на сколько транзакций следует задержать старые строки, выполняя " -"VACUUM или \"горячее\" обновление." - -#: utils/misc/guc.c:2738 +#: utils/misc/guc_tables.c:2576 msgid "" "Age at which VACUUM should trigger failsafe to avoid a wraparound outage." msgstr "" "Возраст, при котором VACUUM должен включить защиту от зацикливания во " "избежание отказа." -#: utils/misc/guc.c:2747 +#: utils/misc/guc_tables.c:2585 msgid "" "Multixact age at which VACUUM should trigger failsafe to avoid a wraparound " "outage." @@ -30519,42 +31554,44 @@ msgstr "" "Возраст мультитранзакций, при котором VACUUM должен включить защиту от " "зацикливания во избежание отказа." -#: utils/misc/guc.c:2760 +#: utils/misc/guc_tables.c:2598 msgid "Sets the maximum number of locks per transaction." msgstr "Задаёт предельное число блокировок на транзакцию." -#: utils/misc/guc.c:2761 +#: utils/misc/guc_tables.c:2599 msgid "" "The shared lock table is sized on the assumption that at most " -"max_locks_per_transaction * max_connections distinct objects will need to be " -"locked at any one time." +"max_locks_per_transaction objects per server process or prepared transaction " +"will need to be locked at any one time." msgstr "" "Размер разделяемой таблицы блокировок выбирается из предположения, что в " -"один момент времени потребуется заблокировать не больше чем " -"max_locks_per_transaction * max_connections различных объектов." +"один момент времени потребуется заблокировать не более " +"max_locks_per_transaction объектов для одного серверного процесса или " +"подготовленной транзакции." -#: utils/misc/guc.c:2772 +#: utils/misc/guc_tables.c:2610 msgid "Sets the maximum number of predicate locks per transaction." msgstr "Задаёт предельное число предикатных блокировок на транзакцию." -#: utils/misc/guc.c:2773 +#: 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 * max_connections distinct objects will need " -"to be locked at any one time." +"max_pred_locks_per_transaction objects per server process or prepared " +"transaction will need to be locked at any one time." msgstr "" "Размер разделяемой таблицы предикатных блокировок выбирается из " -"предположения, что в один момент времени потребуется заблокировать не больше " -"чем max_pred_locks_per_transaction * max_connections различных объектов." +"предположения, что в один момент времени потребуется заблокировать не более " +"max_pred_locks_per_transaction объектов для одного серверного процесса или " +"подготовленной транзакции." -#: utils/misc/guc.c:2784 +#: utils/misc/guc_tables.c:2622 msgid "" "Sets the maximum number of predicate-locked pages and tuples per relation." msgstr "" "Задаёт максимальное число страниц и кортежей, блокируемых предикатными " "блокировками в одном отношении." -#: utils/misc/guc.c:2785 +#: 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." @@ -30562,13 +31599,13 @@ msgstr "" "Если одним соединением блокируется больше этого общего числа страниц и " "кортежей, эти блокировки заменяются блокировкой на уровне отношения." -#: utils/misc/guc.c:2795 +#: utils/misc/guc_tables.c:2633 msgid "Sets the maximum number of predicate-locked tuples per page." msgstr "" "Задаёт максимальное число кортежей, блокируемых предикатными блокировками в " "одной странице." -#: utils/misc/guc.c:2796 +#: 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." @@ -30576,45 +31613,45 @@ msgstr "" "Если одним соединением блокируется больше этого числа кортежей на одной " "странице, эти блокировки заменяются блокировкой на уровне страницы." -#: utils/misc/guc.c:2806 +#: utils/misc/guc_tables.c:2644 msgid "Sets the maximum allowed time to complete client authentication." msgstr "Ограничивает время, за которое клиент должен пройти аутентификацию." -#: utils/misc/guc.c:2818 +#: utils/misc/guc_tables.c:2656 msgid "" "Sets the amount of time to wait before authentication on connection startup." msgstr "Задаёт время ожидания до аутентификации при установлении соединения." -#: utils/misc/guc.c:2830 +#: utils/misc/guc_tables.c:2668 msgid "Buffer size for reading ahead in the WAL during recovery." msgstr "Размер буфера для упреждающего чтения WAL во время восстановления." -#: utils/misc/guc.c:2831 +#: utils/misc/guc_tables.c:2669 msgid "" "Maximum distance to read ahead in the WAL to prefetch referenced data blocks." msgstr "" "Максимальный объём WAL, прочитываемый наперёд для осуществления предвыборки " "изменяемых блоков данных." -#: utils/misc/guc.c:2841 +#: utils/misc/guc_tables.c:2679 msgid "Sets the size of WAL files held for standby servers." msgstr "" "Определяет предельный объём файлов WAL, сохраняемых для резервных серверов." -#: utils/misc/guc.c:2852 +#: utils/misc/guc_tables.c:2690 msgid "Sets the minimum size to shrink the WAL to." msgstr "Задаёт минимальный размер WAL при сжатии." -#: utils/misc/guc.c:2864 +#: utils/misc/guc_tables.c:2702 msgid "Sets the WAL size that triggers a checkpoint." msgstr "Задаёт размер WAL, при котором инициируется контрольная точка." -#: utils/misc/guc.c:2876 +#: utils/misc/guc_tables.c:2714 msgid "Sets the maximum time between automatic WAL checkpoints." msgstr "" "Задаёт максимальное время между автоматическими контрольными точками WAL." -#: utils/misc/guc.c:2887 +#: utils/misc/guc_tables.c:2725 msgid "" "Sets the maximum time before warning if checkpoints triggered by WAL volume " "happen too frequently." @@ -30622,7 +31659,7 @@ msgstr "" "Задаёт максимальный интервал, в котором выдаётся предупреждение о том, что " "контрольные точки, вызванные активностью WAL, происходят слишком часто." -#: utils/misc/guc.c:2889 +#: 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 " @@ -30632,48 +31669,49 @@ msgstr "" "контрольными точками, вызванными заполнением файлов сегментов WAL, меньше " "заданного значения. Нулевое значение отключает эти предупреждения." -#: utils/misc/guc.c:2902 utils/misc/guc.c:3120 utils/misc/guc.c:3168 +#: 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 "" "Число страниц, по достижении которого ранее выполненные операции записи " "сбрасываются на диск." -#: utils/misc/guc.c:2913 +#: utils/misc/guc_tables.c:2751 msgid "Sets the number of disk-page buffers in shared memory for WAL." msgstr "Задаёт число буферов дисковых страниц в разделяемой памяти для WAL." -#: utils/misc/guc.c:2924 +#: utils/misc/guc_tables.c:2762 msgid "Time between WAL flushes performed in the WAL writer." msgstr "Задержка между сбросом WAL в процессе, записывающем WAL." -#: utils/misc/guc.c:2935 +#: utils/misc/guc_tables.c:2773 msgid "Amount of WAL written out by WAL writer that triggers a flush." msgstr "" "Объём WAL, обработанный пишущим WAL процессом, при котором инициируется " "сброс журнала на диск." -#: utils/misc/guc.c:2946 +#: utils/misc/guc_tables.c:2784 msgid "Minimum size of new file to fsync instead of writing WAL." msgstr "" "Размер нового файла, при достижении которого файл не пишется в WAL, а " "сбрасывается на диск." -#: utils/misc/guc.c:2957 +#: utils/misc/guc_tables.c:2795 msgid "Sets the maximum number of simultaneously running WAL sender processes." msgstr "" "Задаёт предельное число одновременно работающих процессов передачи WAL." -#: utils/misc/guc.c:2968 +#: utils/misc/guc_tables.c:2806 msgid "Sets the maximum number of simultaneously defined replication slots." msgstr "Задаёт предельное число одновременно существующих слотов репликации." -#: utils/misc/guc.c:2978 +#: utils/misc/guc_tables.c:2816 msgid "Sets the maximum WAL size that can be reserved by replication slots." msgstr "" "Задаёт максимальный размер WAL, который могут резервировать слоты репликации." -#: utils/misc/guc.c:2979 +#: 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." @@ -30682,11 +31720,11 @@ msgstr "" "помечены как нерабочие, а сегменты будут освобождены для удаления или " "переработки." -#: utils/misc/guc.c:2991 +#: utils/misc/guc_tables.c:2829 msgid "Sets the maximum time to wait for WAL replication." msgstr "Задаёт предельное время ожидания репликации WAL." -#: utils/misc/guc.c:3002 +#: utils/misc/guc_tables.c:2840 msgid "" "Sets the delay in microseconds between transaction commit and flushing WAL " "to disk." @@ -30694,7 +31732,7 @@ msgstr "" "Задаёт задержку в микросекундах между фиксированием транзакций и сбросом WAL " "на диск." -#: utils/misc/guc.c:3014 +#: utils/misc/guc_tables.c:2852 msgid "" "Sets the minimum number of concurrent open transactions required before " "performing commit_delay." @@ -30702,11 +31740,11 @@ msgstr "" "Задаёт минимальное число одновременно открытых транзакций, которое требуется " "для применения commit_delay." -#: utils/misc/guc.c:3025 +#: utils/misc/guc_tables.c:2863 msgid "Sets the number of digits displayed for floating-point values." msgstr "Задаёт число выводимых цифр для чисел с плавающей точкой." -#: utils/misc/guc.c:3026 +#: 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 " @@ -30718,7 +31756,7 @@ msgstr "" "(FLT_DIG или DBL_DIG соответственно). Положительное значение включает режим " "точного вывода." -#: utils/misc/guc.c:3038 +#: 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." @@ -30727,22 +31765,22 @@ msgstr "" "которого он выводится в журнал. Выборка определяется параметром " "log_statement_sample_rate." -#: utils/misc/guc.c:3041 +#: utils/misc/guc_tables.c:2879 msgid "Zero logs a sample of all queries. -1 turns this feature off." msgstr "При 0 выводятся все запросы в выборке; -1 отключает эти сообщения." -#: utils/misc/guc.c:3051 +#: utils/misc/guc_tables.c:2889 msgid "" "Sets the minimum execution time above which all statements will be logged." msgstr "" "Задаёт предельное время выполнения любого оператора, при превышении которого " "он выводится в журнал." -#: utils/misc/guc.c:3053 +#: utils/misc/guc_tables.c:2891 msgid "Zero prints all queries. -1 turns this feature off." msgstr "При 0 выводятся все запросы; -1 отключает эти сообщения." -#: utils/misc/guc.c:3063 +#: utils/misc/guc_tables.c:2901 msgid "" "Sets the minimum execution time above which autovacuum actions will be " "logged." @@ -30750,12 +31788,12 @@ msgstr "" "Задаёт предельное время выполнения автоочистки, при превышении которого эта " "операция протоколируется в журнале." -#: utils/misc/guc.c:3065 +#: utils/misc/guc_tables.c:2903 msgid "Zero prints all actions. -1 turns autovacuum logging off." msgstr "" "При 0 протоколируются все операции автоочистки; -1 отключает эти сообщения." -#: utils/misc/guc.c:3075 +#: utils/misc/guc_tables.c:2913 msgid "" "Sets the maximum length in bytes of data logged for bind parameter values " "when logging statements." @@ -30763,11 +31801,11 @@ msgstr "" "Задаёт максимальный размер данных (в байтах), выводимых в значениях " "привязанных параметров при протоколировании операторов." -#: utils/misc/guc.c:3077 utils/misc/guc.c:3089 +#: utils/misc/guc_tables.c:2915 utils/misc/guc_tables.c:2927 msgid "-1 to print values in full." msgstr "При -1 значения выводятся полностью." -#: utils/misc/guc.c:3087 +#: 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." @@ -30775,17 +31813,17 @@ msgstr "" "Задаёт максимальный размер данных (в байтах), выводимых в значениях " "привязанных параметров при протоколировании операторов в случае ошибки." -#: utils/misc/guc.c:3099 +#: utils/misc/guc_tables.c:2937 msgid "Background writer sleep time between rounds." msgstr "Время простоя в процессе фоновой записи между подходами." -#: utils/misc/guc.c:3110 +#: utils/misc/guc_tables.c:2948 msgid "Background writer maximum number of LRU pages to flush per round." msgstr "" "Максимальное число LRU-страниц, сбрасываемых за один подход, в процессе " "фоновой записи." -#: utils/misc/guc.c:3133 +#: utils/misc/guc_tables.c:2971 msgid "" "Number of simultaneous requests that can be handled efficiently by the disk " "subsystem." @@ -30793,83 +31831,89 @@ msgstr "" "Число одновременных запросов, которые могут быть эффективно обработаны " "дисковой подсистемой." -#: utils/misc/guc.c:3151 +#: utils/misc/guc_tables.c:2985 msgid "" "A variant of effective_io_concurrency that is used for maintenance work." msgstr "" "Вариация параметра effective_io_concurrency, предназначенная для операций " "обслуживания БД." -#: utils/misc/guc.c:3181 +#: utils/misc/guc_tables.c:3011 msgid "Maximum number of concurrent worker processes." msgstr "Задаёт максимально возможное число рабочих процессов." -#: utils/misc/guc.c:3193 +#: utils/misc/guc_tables.c:3023 msgid "Maximum number of logical replication worker processes." msgstr "" "Задаёт максимально возможное число рабочих процессов логической репликации." -#: utils/misc/guc.c:3205 +#: utils/misc/guc_tables.c:3035 msgid "Maximum number of table synchronization workers per subscription." msgstr "" "Задаёт максимально возможное число процессов синхронизации таблиц для одной " "подписки." -#: utils/misc/guc.c:3215 +#: utils/misc/guc_tables.c:3047 +msgid "Maximum number of parallel apply workers per subscription." +msgstr "" +"Задаёт максимально возможное число параллельных применяющих процессов для " +"одной подписки." + +#: utils/misc/guc_tables.c:3057 msgid "Sets the amount of time to wait before forcing log file rotation." msgstr "" "Задаёт время задержки перед принудительным переключением на следующий файл " "журнала." -#: utils/misc/guc.c:3227 +#: utils/misc/guc_tables.c:3069 msgid "Sets the maximum size a log file can reach before being rotated." msgstr "" "Задаёт максимальный размер, которого может достичь файл журнала до " "переключения на другой файл." -#: utils/misc/guc.c:3239 +#: utils/misc/guc_tables.c:3081 msgid "Shows the maximum number of function arguments." msgstr "Показывает максимально возможное число аргументов функций." -#: utils/misc/guc.c:3250 +#: utils/misc/guc_tables.c:3092 msgid "Shows the maximum number of index keys." msgstr "Показывает максимально возможное число ключей в индексе." -#: utils/misc/guc.c:3261 +#: utils/misc/guc_tables.c:3103 msgid "Shows the maximum identifier length." msgstr "Показывает максимально возможную длину идентификатора." -#: utils/misc/guc.c:3272 +#: utils/misc/guc_tables.c:3114 msgid "Shows the size of a disk block." msgstr "Показывает размер дискового блока." -#: utils/misc/guc.c:3283 +#: utils/misc/guc_tables.c:3125 msgid "Shows the number of pages per disk file." msgstr "Показывает число страниц в одном файле." -#: utils/misc/guc.c:3294 +#: utils/misc/guc_tables.c:3136 msgid "Shows the block size in the write ahead log." msgstr "Показывает размер блока в журнале WAL." -#: utils/misc/guc.c:3305 +#: utils/misc/guc_tables.c:3147 msgid "" "Sets the time to wait before retrying to retrieve WAL after a failed attempt." msgstr "" "Задаёт время задержки перед повторной попыткой обращения к WAL после неудачи." -#: utils/misc/guc.c:3317 +#: utils/misc/guc_tables.c:3159 msgid "Shows the size of write ahead log segments." msgstr "Показывает размер сегментов журнала предзаписи." -#: utils/misc/guc.c:3330 +#: utils/misc/guc_tables.c:3172 msgid "Time to sleep between autovacuum runs." msgstr "Время простоя между запусками автоочистки." -#: utils/misc/guc.c:3340 +#: utils/misc/guc_tables.c:3182 msgid "Minimum number of tuple updates or deletes prior to vacuum." msgstr "Минимальное число изменений или удалений кортежей, вызывающее очистку." -#: utils/misc/guc.c:3349 +#: utils/misc/guc_tables.c:3191 msgid "" "Minimum number of tuple inserts prior to vacuum, or -1 to disable insert " "vacuums." @@ -30877,27 +31921,27 @@ msgstr "" "Минимальное число добавлений кортежей, вызывающее очистку; при -1 такая " "очистка отключается." -#: utils/misc/guc.c:3358 +#: utils/misc/guc_tables.c:3200 msgid "Minimum number of tuple inserts, updates, or deletes prior to analyze." msgstr "" "Минимальное число добавлений, изменений или удалений кортежей, вызывающее " "анализ." -#: utils/misc/guc.c:3368 +#: utils/misc/guc_tables.c:3210 msgid "" "Age at which to autovacuum a table to prevent transaction ID wraparound." msgstr "" "Возраст, при котором необходима автоочистка таблицы для предотвращения " "зацикливания ID транзакций." -#: utils/misc/guc.c:3380 +#: utils/misc/guc_tables.c:3222 msgid "" "Multixact age at which to autovacuum a table to prevent multixact wraparound." msgstr "" "Возраст multixact, при котором необходима автоочистка таблицы для " "предотвращения зацикливания multixact." -#: utils/misc/guc.c:3390 +#: utils/misc/guc_tables.c:3232 msgid "" "Sets the maximum number of simultaneously running autovacuum worker " "processes." @@ -30905,30 +31949,30 @@ msgstr "" "Задаёт предельное число одновременно выполняющихся рабочих процессов " "автоочистки." -#: utils/misc/guc.c:3400 +#: utils/misc/guc_tables.c:3242 msgid "" "Sets the maximum number of parallel processes per maintenance operation." msgstr "" "Задаёт максимальное число параллельных процессов на одну операцию " "обслуживания." -#: utils/misc/guc.c:3410 +#: utils/misc/guc_tables.c:3252 msgid "Sets the maximum number of parallel processes per executor node." msgstr "Задаёт максимальное число параллельных процессов на узел исполнителя." -#: utils/misc/guc.c:3421 +#: utils/misc/guc_tables.c:3263 msgid "" "Sets the maximum number of parallel workers that can be active at one time." msgstr "" "Задаёт максимальное число параллельных процессов, которые могут быть активны " "одновременно." -#: utils/misc/guc.c:3432 +#: utils/misc/guc_tables.c:3274 msgid "Sets the maximum memory to be used by each autovacuum worker process." msgstr "" "Задаёт предельный объём памяти для каждого рабочего процесса автоочистки." -#: utils/misc/guc.c:3443 +#: utils/misc/guc_tables.c:3285 msgid "" "Time before a snapshot is too old to read pages changed after the snapshot " "was taken." @@ -30936,33 +31980,34 @@ msgstr "" "Срок, по истечении которого снимок считается слишком старым для получения " "страниц, изменённых после создания снимка." -#: utils/misc/guc.c:3444 +#: utils/misc/guc_tables.c:3286 msgid "A value of -1 disables this feature." msgstr "Значение -1 отключает это поведение." -#: utils/misc/guc.c:3454 +#: utils/misc/guc_tables.c:3296 msgid "Time between issuing TCP keepalives." msgstr "Интервал между TCP-пакетами пульса (keep-alive)." -#: utils/misc/guc.c:3455 utils/misc/guc.c:3466 utils/misc/guc.c:3590 +#: 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 "При нулевом значении действует системный параметр." -#: utils/misc/guc.c:3465 +#: utils/misc/guc_tables.c:3307 msgid "Time between TCP keepalive retransmits." msgstr "Интервал между повторениями TCP-пакетов пульса (keep-alive)." -#: utils/misc/guc.c:3476 +#: utils/misc/guc_tables.c:3318 msgid "SSL renegotiation is no longer supported; this can only be 0." msgstr "" "Повторное согласование SSL более не поддерживается; единственное допустимое " "значение - 0." -#: utils/misc/guc.c:3487 +#: utils/misc/guc_tables.c:3329 msgid "Maximum number of TCP keepalive retransmits." msgstr "Максимальное число повторений TCP-пакетов пульса (keep-alive)." -#: utils/misc/guc.c:3488 +#: 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." @@ -30971,15 +32016,15 @@ msgstr "" "чем соединение будет считаться пропавшим. При нулевом значении действует " "системный параметр." -#: utils/misc/guc.c:3499 +#: utils/misc/guc_tables.c:3341 msgid "Sets the maximum allowed result for exact search by GIN." msgstr "Ограничивает результат точного поиска с использованием GIN." -#: utils/misc/guc.c:3510 +#: utils/misc/guc_tables.c:3352 msgid "Sets the planner's assumption about the total size of the data caches." msgstr "Подсказывает планировщику примерный общий размер кешей данных." -#: utils/misc/guc.c:3511 +#: 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 " @@ -30989,12 +32034,12 @@ msgstr "" "попадают файлы данных PostgreSQL. Размер задаётся в дисковых страницах " "(обычно это 8 КБ)." -#: utils/misc/guc.c:3522 +#: utils/misc/guc_tables.c:3364 msgid "Sets the minimum amount of table data for a parallel scan." msgstr "" "Задаёт минимальный объём данных в таблице для параллельного сканирования." -#: utils/misc/guc.c:3523 +#: 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." @@ -31003,12 +32048,12 @@ msgstr "" "задано этим ограничением, он исключает параллельное сканирование из " "рассмотрения." -#: utils/misc/guc.c:3533 +#: utils/misc/guc_tables.c:3375 msgid "Sets the minimum amount of index data for a parallel scan." msgstr "" "Задаёт минимальный объём данных в индексе для параллельного сканирования." -#: utils/misc/guc.c:3534 +#: 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." @@ -31017,64 +32062,68 @@ msgstr "" "задано этим ограничением, он исключает параллельное сканирование из " "рассмотрения." -#: utils/misc/guc.c:3545 +#: utils/misc/guc_tables.c:3387 msgid "Shows the server version as an integer." msgstr "Показывает версию сервера в виде целого числа." -#: utils/misc/guc.c:3556 +#: utils/misc/guc_tables.c:3398 msgid "Log the use of temporary files larger than this number of kilobytes." msgstr "" "Фиксирует в протоколе превышение временными файлами заданного размера (в КБ)." -#: utils/misc/guc.c:3557 +#: utils/misc/guc_tables.c:3399 msgid "Zero logs all files. The default is -1 (turning this feature off)." msgstr "" "При 0 отмечаются все файлы; при -1 эти сообщения отключаются (по умолчанию)." -#: utils/misc/guc.c:3567 +#: utils/misc/guc_tables.c:3409 msgid "Sets the size reserved for pg_stat_activity.query, in bytes." msgstr "Задаёт размер, резервируемый для pg_stat_activity.query (в байтах)." -#: utils/misc/guc.c:3578 +#: utils/misc/guc_tables.c:3420 msgid "Sets the maximum size of the pending list for GIN index." msgstr "Задаёт максимальный размер списка-очереди для GIN-индекса." -#: utils/misc/guc.c:3589 +#: utils/misc/guc_tables.c:3431 msgid "TCP user timeout." msgstr "Пользовательский таймаут TCP." -#: utils/misc/guc.c:3600 +#: utils/misc/guc_tables.c:3442 msgid "The size of huge page that should be requested." msgstr "Запрашиваемый размер огромных страниц." -#: utils/misc/guc.c:3611 +#: utils/misc/guc_tables.c:3453 msgid "Aggressively flush system caches for debugging purposes." msgstr "Включает агрессивный сброс системных кешей для целей отладки." -#: utils/misc/guc.c:3634 +#: utils/misc/guc_tables.c:3476 msgid "" "Sets the time interval between checks for disconnection while running " "queries." msgstr "" "Задаёт интервал между проверками подключения во время выполнения запросов." -#: utils/misc/guc.c:3645 +#: utils/misc/guc_tables.c:3487 msgid "Time between progress updates for long-running startup operations." msgstr "" "Интервал между обновлениями состояния длительных операций, выполняемых при " "запуске." -#: utils/misc/guc.c:3647 +#: utils/misc/guc_tables.c:3489 msgid "0 turns this feature off." msgstr "При 0 эта функциональность отключается." -#: utils/misc/guc.c:3666 +#: utils/misc/guc_tables.c:3499 +msgid "Sets the iteration count for SCRAM secret generation." +msgstr "Задаёт количество итераций для формирования секрета SCRAM." + +#: utils/misc/guc_tables.c:3519 msgid "" "Sets the planner's estimate of the cost of a sequentially fetched disk page." msgstr "" "Задаёт для планировщика ориентир стоимости последовательного чтения страницы." -#: utils/misc/guc.c:3677 +#: utils/misc/guc_tables.c:3530 msgid "" "Sets the planner's estimate of the cost of a nonsequentially fetched disk " "page." @@ -31082,13 +32131,13 @@ msgstr "" "Задаёт для планировщика ориентир стоимости непоследовательного чтения " "страницы." -#: utils/misc/guc.c:3688 +#: utils/misc/guc_tables.c:3541 msgid "Sets the planner's estimate of the cost of processing each tuple (row)." msgstr "" "Задаёт для планировщика ориентир стоимости обработки каждого кортежа " "(строки)." -#: utils/misc/guc.c:3699 +#: utils/misc/guc_tables.c:3552 msgid "" "Sets the planner's estimate of the cost of processing each index entry " "during an index scan." @@ -31096,7 +32145,7 @@ msgstr "" "Задаёт для планировщика ориентир стоимости обработки каждого элемента " "индекса в процессе сканирования индекса." -#: utils/misc/guc.c:3710 +#: utils/misc/guc_tables.c:3563 msgid "" "Sets the planner's estimate of the cost of processing each operator or " "function call." @@ -31104,7 +32153,7 @@ msgstr "" "Задаёт для планировщика ориентир стоимости обработки каждого оператора или " "вызова функции." -#: utils/misc/guc.c:3721 +#: 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." @@ -31112,7 +32161,7 @@ msgstr "" "Задаёт для планировщика ориентир стоимости передачи каждого кортежа (строки) " "ведущему процессу от рабочего." -#: utils/misc/guc.c:3732 +#: utils/misc/guc_tables.c:3585 msgid "" "Sets the planner's estimate of the cost of starting up worker processes for " "parallel query." @@ -31120,40 +32169,40 @@ msgstr "" "Задаёт для планировщика ориентир стоимости запуска рабочих процессов для " "параллельного выполнения запроса." -#: utils/misc/guc.c:3744 +#: utils/misc/guc_tables.c:3597 msgid "Perform JIT compilation if query is more expensive." msgstr "Стоимость запроса, при превышении которой производится JIT-компиляция." -#: utils/misc/guc.c:3745 +#: utils/misc/guc_tables.c:3598 msgid "-1 disables JIT compilation." msgstr "-1 отключает JIT-компиляцию." -#: utils/misc/guc.c:3755 +#: utils/misc/guc_tables.c:3608 msgid "Optimize JIT-compiled functions if query is more expensive." msgstr "" "Стоимость запроса, при превышении которой оптимизируются JIT-" "скомпилированные функции." -#: utils/misc/guc.c:3756 +#: utils/misc/guc_tables.c:3609 msgid "-1 disables optimization." msgstr "-1 отключает оптимизацию." -#: utils/misc/guc.c:3766 +#: utils/misc/guc_tables.c:3619 msgid "Perform JIT inlining if query is more expensive." msgstr "Стоимость запроса, при которой выполняется встраивание JIT." -#: utils/misc/guc.c:3767 +#: utils/misc/guc_tables.c:3620 msgid "-1 disables inlining." msgstr "-1 отключает встраивание кода." -#: utils/misc/guc.c:3777 +#: 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 "" "Задаёт для планировщика ориентир доли требуемых строк курсора в общем числе." -#: utils/misc/guc.c:3789 +#: utils/misc/guc_tables.c:3642 msgid "" "Sets the planner's estimate of the average size of a recursive query's " "working table." @@ -31161,37 +32210,37 @@ msgstr "" "Задаёт для планировщика ориентир среднего размера рабочей таблицы в " "рекурсивном запросе." -#: utils/misc/guc.c:3801 +#: utils/misc/guc_tables.c:3654 msgid "GEQO: selective pressure within the population." msgstr "GEQO: селективное давление в популяции." -#: utils/misc/guc.c:3812 +#: utils/misc/guc_tables.c:3665 msgid "GEQO: seed for random path selection." msgstr "GEQO: отправное значение для случайного выбора пути." -#: utils/misc/guc.c:3823 +#: utils/misc/guc_tables.c:3676 msgid "Multiple of work_mem to use for hash tables." msgstr "Множитель work_mem, определяющий объём памяти для хеш-таблиц." -#: utils/misc/guc.c:3834 +#: utils/misc/guc_tables.c:3687 msgid "Multiple of the average buffer usage to free per round." msgstr "" "Множитель для среднего числа использованных буферов, определяющий число " "буферов, освобождаемых за один подход." -#: utils/misc/guc.c:3844 +#: utils/misc/guc_tables.c:3697 msgid "Sets the seed for random-number generation." msgstr "Задаёт отправное значение для генератора случайных чисел." -#: utils/misc/guc.c:3855 +#: utils/misc/guc_tables.c:3708 msgid "Vacuum cost delay in milliseconds." msgstr "Задержка очистки (в миллисекундах)." -#: utils/misc/guc.c:3866 +#: utils/misc/guc_tables.c:3719 msgid "Vacuum cost delay in milliseconds, for autovacuum." msgstr "Задержка очистки для автоочистки (в миллисекундах)." -#: utils/misc/guc.c:3877 +#: utils/misc/guc_tables.c:3730 msgid "" "Number of tuple updates or deletes prior to vacuum as a fraction of " "reltuples." @@ -31199,13 +32248,13 @@ msgstr "" "Отношение числа обновлений или удалений кортежей к reltuples, определяющее " "потребность в очистке." -#: utils/misc/guc.c:3887 +#: utils/misc/guc_tables.c:3740 msgid "Number of tuple inserts prior to vacuum as a fraction of reltuples." msgstr "" "Отношение числа добавлений кортежей к reltuples, определяющее потребность в " "очистке." -#: utils/misc/guc.c:3897 +#: utils/misc/guc_tables.c:3750 msgid "" "Number of tuple inserts, updates, or deletes prior to analyze as a fraction " "of reltuples." @@ -31213,7 +32262,7 @@ msgstr "" "Отношение числа добавлений, обновлений или удалений кортежей к reltuples, " "определяющее потребность в анализе." -#: utils/misc/guc.c:3907 +#: utils/misc/guc_tables.c:3760 msgid "" "Time spent flushing dirty buffers during checkpoint, as fraction of " "checkpoint interval." @@ -31221,25 +32270,25 @@ msgstr "" "Отношение продолжительности сброса \"грязных\" буферов во время контрольной " "точки к интервалу контрольных точек." -#: utils/misc/guc.c:3917 +#: utils/misc/guc_tables.c:3770 msgid "Fraction of statements exceeding log_min_duration_sample to be logged." msgstr "" "Доля записываемых в журнал операторов с длительностью, превышающей " "log_min_duration_sample." -#: utils/misc/guc.c:3918 +#: utils/misc/guc_tables.c:3771 msgid "Use a value between 0.0 (never log) and 1.0 (always log)." msgstr "" "Может задаваться значением от 0.0 (не записывать никакие операторы) и 1.0 " "(записывать все)." -#: utils/misc/guc.c:3927 +#: utils/misc/guc_tables.c:3780 msgid "Sets the fraction of transactions from which to log all statements." msgstr "" "Задаёт долю транзакций, все операторы которых будут записываться в журнал " "сервера." -#: utils/misc/guc.c:3928 +#: utils/misc/guc_tables.c:3781 msgid "" "Use a value between 0.0 (never log) and 1.0 (log all statements for all " "transactions)." @@ -31247,48 +32296,48 @@ msgstr "" "Значение 0.0 означает — не записывать никакие транзакции, а значение 1.0 — " "записывать все операторы всех транзакций." -#: utils/misc/guc.c:3947 +#: utils/misc/guc_tables.c:3800 msgid "Sets the shell command that will be called to archive a WAL file." msgstr "Задаёт команду оболочки, вызываемую для архивации файла WAL." -#: utils/misc/guc.c:3948 +#: utils/misc/guc_tables.c:3801 msgid "This is used only if \"archive_library\" is not set." msgstr "Это параметр используется, только если не задан \"archive_library\"." -#: utils/misc/guc.c:3957 +#: utils/misc/guc_tables.c:3810 msgid "Sets the library that will be called to archive a WAL file." msgstr "Задаёт библиотеку, вызываемую для архивации файла WAL." -#: utils/misc/guc.c:3958 +#: utils/misc/guc_tables.c:3811 msgid "An empty string indicates that \"archive_command\" should be used." msgstr "" "Пустая строка указывает, что должен использоваться параметр " "\"archive_command\"." -#: utils/misc/guc.c:3967 +#: utils/misc/guc_tables.c:3820 msgid "" "Sets the shell command that will be called to retrieve an archived WAL file." msgstr "" "Задаёт команду оболочки, которая будет вызываться для извлечения из архива " "файла WAL." -#: utils/misc/guc.c:3977 +#: utils/misc/guc_tables.c:3830 msgid "Sets the shell command that will be executed at every restart point." msgstr "" "Задаёт команду оболочки, которая будет выполняться при каждой точке " "перезапуска." -#: utils/misc/guc.c:3987 +#: utils/misc/guc_tables.c:3840 msgid "" "Sets the shell command that will be executed once at the end of recovery." msgstr "" "Задаёт команду оболочки, которая будет выполняться в конце восстановления." -#: utils/misc/guc.c:3997 +#: utils/misc/guc_tables.c:3850 msgid "Specifies the timeline to recover into." msgstr "Указывает линию времени для выполнения восстановления." -#: utils/misc/guc.c:4007 +#: utils/misc/guc_tables.c:3860 msgid "" "Set to \"immediate\" to end recovery as soon as a consistent state is " "reached." @@ -31296,24 +32345,24 @@ msgstr "" "Задайте значение \"immediate\", чтобы восстановление остановилось сразу " "после достижения согласованного состояния." -#: utils/misc/guc.c:4016 +#: utils/misc/guc_tables.c:3869 msgid "Sets the transaction ID up to which recovery will proceed." msgstr "" "Задаёт идентификатор транзакции, вплоть до которой будет производиться " "восстановление." -#: utils/misc/guc.c:4025 +#: utils/misc/guc_tables.c:3878 msgid "Sets the time stamp up to which recovery will proceed." msgstr "" "Задаёт момент времени, вплоть до которого будет производиться восстановление." -#: utils/misc/guc.c:4034 +#: utils/misc/guc_tables.c:3887 msgid "Sets the named restore point up to which recovery will proceed." msgstr "" "Задаёт именованную точку восстановления, до которой будет производиться " "восстановление." -#: utils/misc/guc.c:4043 +#: utils/misc/guc_tables.c:3896 msgid "" "Sets the LSN of the write-ahead log location up to which recovery will " "proceed." @@ -31321,71 +32370,73 @@ msgstr "" "Задаёт в виде LSN позицию в журнале предзаписи, до которой будет " "производиться восстановление." -#: utils/misc/guc.c:4053 -msgid "Specifies a file name whose presence ends recovery in the standby." -msgstr "" -"Задаёт имя файла, присутствие которого выводит ведомый из режима " -"восстановления." - -#: utils/misc/guc.c:4063 +#: utils/misc/guc_tables.c:3906 msgid "Sets the connection string to be used to connect to the sending server." msgstr "" "Задаёт строку соединения, которая будет использоваться для подключения к " "передающему серверу." -#: utils/misc/guc.c:4074 +#: utils/misc/guc_tables.c:3917 msgid "Sets the name of the replication slot to use on the sending server." msgstr "" "Задаёт имя слота репликации, который будет использоваться на передающем " "сервере." -#: utils/misc/guc.c:4084 +#: utils/misc/guc_tables.c:3927 msgid "Sets the client's character set encoding." msgstr "Задаёт кодировку символов, используемую клиентом." -#: utils/misc/guc.c:4095 +#: utils/misc/guc_tables.c:3938 msgid "Controls information prefixed to each log line." msgstr "Определяет содержимое префикса каждой строки протокола." -#: utils/misc/guc.c:4096 +#: utils/misc/guc_tables.c:3939 msgid "If blank, no prefix is used." msgstr "При пустом значении префикс также отсутствует." -#: utils/misc/guc.c:4105 +#: utils/misc/guc_tables.c:3948 msgid "Sets the time zone to use in log messages." msgstr "Задаёт часовой пояс для вывода времени в сообщениях протокола." -#: utils/misc/guc.c:4115 +#: utils/misc/guc_tables.c:3958 msgid "Sets the display format for date and time values." msgstr "Устанавливает формат вывода дат и времени." -#: utils/misc/guc.c:4116 +#: utils/misc/guc_tables.c:3959 msgid "Also controls interpretation of ambiguous date inputs." msgstr "Также помогает разбирать неоднозначно заданные вводимые даты." -#: utils/misc/guc.c:4127 +#: utils/misc/guc_tables.c:3970 msgid "Sets the default table access method for new tables." msgstr "Задаёт табличный метод доступа по умолчанию для новых таблиц." -#: utils/misc/guc.c:4138 +#: utils/misc/guc_tables.c:3981 msgid "Sets the default tablespace to create tables and indexes in." msgstr "" "Задаёт табличное пространство по умолчанию для новых таблиц и индексов." -#: utils/misc/guc.c:4139 +#: utils/misc/guc_tables.c:3982 msgid "An empty string selects the database's default tablespace." msgstr "При пустом значении используется табличное пространство базы данных." -#: utils/misc/guc.c:4149 +#: utils/misc/guc_tables.c:3992 msgid "Sets the tablespace(s) to use for temporary tables and sort files." msgstr "" "Задаёт табличное пространство(а) для временных таблиц и файлов сортировки." -#: utils/misc/guc.c:4160 +#: utils/misc/guc_tables.c:4003 +msgid "" +"Sets whether a CREATEROLE user automatically grants the role to themselves, " +"and with which options." +msgstr "" +"Определяет, будет ли пользователь CREATEROLE автоматически включать себя в " +"создаваемую роль и с какими параметрами." + +#: utils/misc/guc_tables.c:4015 msgid "Sets the path for dynamically loadable modules." msgstr "Задаёт путь для динамически загружаемых модулей." -#: utils/misc/guc.c:4161 +#: 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 " @@ -31395,79 +32446,71 @@ msgstr "" "указан путь (нет символа '/'), система будет искать этот файл в заданном " "пути." -#: utils/misc/guc.c:4174 +#: utils/misc/guc_tables.c:4029 msgid "Sets the location of the Kerberos server key file." msgstr "Задаёт размещение файла с ключом Kerberos для данного сервера." -#: utils/misc/guc.c:4185 +#: utils/misc/guc_tables.c:4040 msgid "Sets the Bonjour service name." msgstr "Задаёт название службы Bonjour." -#: utils/misc/guc.c:4197 -msgid "Shows the collation order locale." -msgstr "Показывает правило сортировки." - -#: utils/misc/guc.c:4208 -msgid "Shows the character classification and case conversion locale." -msgstr "Показывает правило классификации символов и преобразования регистра." - -#: utils/misc/guc.c:4219 +#: utils/misc/guc_tables.c:4050 msgid "Sets the language in which messages are displayed." msgstr "Задаёт язык выводимых сообщений." -#: utils/misc/guc.c:4229 +#: utils/misc/guc_tables.c:4060 msgid "Sets the locale for formatting monetary amounts." msgstr "Задаёт локаль для форматирования денежных сумм." -#: utils/misc/guc.c:4239 +#: utils/misc/guc_tables.c:4070 msgid "Sets the locale for formatting numbers." msgstr "Задаёт локаль для форматирования чисел." -#: utils/misc/guc.c:4249 +#: utils/misc/guc_tables.c:4080 msgid "Sets the locale for formatting date and time values." msgstr "Задаёт локаль для форматирования дат и времени." -#: utils/misc/guc.c:4259 +#: utils/misc/guc_tables.c:4090 msgid "Lists shared libraries to preload into each backend." msgstr "" "Список разделяемых библиотек, заранее загружаемых в каждый обслуживающий " "процесс." -#: utils/misc/guc.c:4270 +#: utils/misc/guc_tables.c:4101 msgid "Lists shared libraries to preload into server." msgstr "Список разделяемых библиотек, заранее загружаемых в память сервера." -#: utils/misc/guc.c:4281 +#: utils/misc/guc_tables.c:4112 msgid "Lists unprivileged shared libraries to preload into each backend." msgstr "" "Список непривилегированных разделяемых библиотек, заранее загружаемых в " "каждый обслуживающий процесс." -#: utils/misc/guc.c:4292 +#: utils/misc/guc_tables.c:4123 msgid "Sets the schema search order for names that are not schema-qualified." msgstr "Задаёт порядок просмотра схемы при поиске неполных имён." -#: utils/misc/guc.c:4304 +#: utils/misc/guc_tables.c:4135 msgid "Shows the server (database) character set encoding." msgstr "Показывает кодировку символов сервера (базы данных)." -#: utils/misc/guc.c:4316 +#: utils/misc/guc_tables.c:4147 msgid "Shows the server version." msgstr "Показывает версию сервера." -#: utils/misc/guc.c:4328 +#: utils/misc/guc_tables.c:4159 msgid "Sets the current role." msgstr "Задаёт текущую роль." -#: utils/misc/guc.c:4340 +#: utils/misc/guc_tables.c:4171 msgid "Sets the session user name." msgstr "Задаёт имя пользователя в сеансе." -#: utils/misc/guc.c:4351 +#: utils/misc/guc_tables.c:4182 msgid "Sets the destination for server log output." msgstr "Определяет, куда будет выводиться протокол сервера." -#: utils/misc/guc.c:4352 +#: utils/misc/guc_tables.c:4183 msgid "" "Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", " "\"jsonlog\", and \"eventlog\", depending on the platform." @@ -31475,24 +32518,24 @@ msgstr "" "Значение может включать сочетание слов \"stderr\", \"syslog\", \"csvlog\", " "\"jsonlog\" и \"eventlog\", в зависимости от платформы." -#: utils/misc/guc.c:4363 +#: utils/misc/guc_tables.c:4194 msgid "Sets the destination directory for log files." msgstr "Задаёт целевой каталог для файлов протоколов." -#: utils/misc/guc.c:4364 +#: utils/misc/guc_tables.c:4195 msgid "Can be specified as relative to the data directory or as absolute path." msgstr "" "Путь может быть абсолютным или указываться относительно каталога данных." -#: utils/misc/guc.c:4374 +#: utils/misc/guc_tables.c:4205 msgid "Sets the file name pattern for log files." msgstr "Задаёт шаблон имени для файлов протоколов." -#: utils/misc/guc.c:4385 +#: utils/misc/guc_tables.c:4216 msgid "Sets the program name used to identify PostgreSQL messages in syslog." msgstr "Задаёт имя программы для идентификации сообщений PostgreSQL в syslog." -#: utils/misc/guc.c:4396 +#: utils/misc/guc_tables.c:4227 msgid "" "Sets the application name used to identify PostgreSQL messages in the event " "log." @@ -31500,121 +32543,121 @@ msgstr "" "Задаёт имя приложения для идентификации сообщений PostgreSQL в журнале " "событий." -#: utils/misc/guc.c:4407 +#: utils/misc/guc_tables.c:4238 msgid "Sets the time zone for displaying and interpreting time stamps." msgstr "" "Задаёт часовой пояс для вывода и разбора строкового представления времени." -#: utils/misc/guc.c:4417 +#: utils/misc/guc_tables.c:4248 msgid "Selects a file of time zone abbreviations." msgstr "Выбирает файл с сокращёнными названиями часовых поясов." -#: utils/misc/guc.c:4427 +#: utils/misc/guc_tables.c:4258 msgid "Sets the owning group of the Unix-domain socket." msgstr "Задаёт группу-владельца Unix-сокета." -#: utils/misc/guc.c:4428 +#: utils/misc/guc_tables.c:4259 msgid "" "The owning user of the socket is always the user that starts the server." msgstr "" "Собственно владельцем сокета всегда будет пользователь, запускающий сервер." -#: utils/misc/guc.c:4438 +#: utils/misc/guc_tables.c:4269 msgid "Sets the directories where Unix-domain sockets will be created." msgstr "Задаёт каталоги, где будут создаваться Unix-сокеты." -#: utils/misc/guc.c:4453 +#: utils/misc/guc_tables.c:4280 msgid "Sets the host name or IP address(es) to listen to." msgstr "Задаёт имя узла или IP-адрес(а) для привязки." -#: utils/misc/guc.c:4468 +#: utils/misc/guc_tables.c:4295 msgid "Sets the server's data directory." msgstr "Определяет каталог данных сервера." -#: utils/misc/guc.c:4479 +#: utils/misc/guc_tables.c:4306 msgid "Sets the server's main configuration file." msgstr "Определяет основной файл конфигурации сервера." -#: utils/misc/guc.c:4490 +#: utils/misc/guc_tables.c:4317 msgid "Sets the server's \"hba\" configuration file." msgstr "Задаёт путь к файлу конфигурации \"hba\"." -#: utils/misc/guc.c:4501 +#: utils/misc/guc_tables.c:4328 msgid "Sets the server's \"ident\" configuration file." msgstr "Задаёт путь к файлу конфигурации \"ident\"." -#: utils/misc/guc.c:4512 +#: utils/misc/guc_tables.c:4339 msgid "Writes the postmaster PID to the specified file." msgstr "Файл, в который будет записан код процесса postmaster." -#: utils/misc/guc.c:4523 +#: utils/misc/guc_tables.c:4350 msgid "Shows the name of the SSL library." msgstr "Показывает имя библиотеки SSL." -#: utils/misc/guc.c:4538 +#: utils/misc/guc_tables.c:4365 msgid "Location of the SSL server certificate file." msgstr "Размещение файла сертификата сервера для SSL." -#: utils/misc/guc.c:4548 +#: utils/misc/guc_tables.c:4375 msgid "Location of the SSL server private key file." msgstr "Размещение файла с закрытым ключом сервера для SSL." -#: utils/misc/guc.c:4558 +#: utils/misc/guc_tables.c:4385 msgid "Location of the SSL certificate authority file." msgstr "Размещение файла центра сертификации для SSL." -#: utils/misc/guc.c:4568 +#: utils/misc/guc_tables.c:4395 msgid "Location of the SSL certificate revocation list file." msgstr "Размещение файла со списком отзыва сертификатов для SSL." -#: utils/misc/guc.c:4578 +#: utils/misc/guc_tables.c:4405 msgid "Location of the SSL certificate revocation list directory." msgstr "Размещение каталога со списками отзыва сертификатов для SSL." -#: utils/misc/guc.c:4588 +#: utils/misc/guc_tables.c:4415 msgid "" "Number of synchronous standbys and list of names of potential synchronous " "ones." msgstr "" "Количество потенциально синхронных резервных серверов и список их имён." -#: utils/misc/guc.c:4599 +#: utils/misc/guc_tables.c:4426 msgid "Sets default text search configuration." msgstr "Задаёт конфигурацию текстового поиска по умолчанию." -#: utils/misc/guc.c:4609 +#: utils/misc/guc_tables.c:4436 msgid "Sets the list of allowed SSL ciphers." msgstr "Задаёт список допустимых алгоритмов шифрования для SSL." -#: utils/misc/guc.c:4624 +#: utils/misc/guc_tables.c:4451 msgid "Sets the curve to use for ECDH." msgstr "Задаёт кривую для ECDH." -#: utils/misc/guc.c:4639 +#: utils/misc/guc_tables.c:4466 msgid "Location of the SSL DH parameters file." msgstr "Размещение файла с параметрами SSL DH." -#: utils/misc/guc.c:4650 +#: utils/misc/guc_tables.c:4477 msgid "Command to obtain passphrases for SSL." msgstr "Команда, позволяющая получить пароль для SSL." -#: utils/misc/guc.c:4661 +#: utils/misc/guc_tables.c:4488 msgid "Sets the application name to be reported in statistics and logs." msgstr "" "Задаёт имя приложения, которое будет выводиться в статистике и протоколах." -#: utils/misc/guc.c:4672 +#: utils/misc/guc_tables.c:4499 msgid "Sets the name of the cluster, which is included in the process title." msgstr "Задаёт имя кластера, которое будет добавляться в название процесса." -#: utils/misc/guc.c:4683 +#: utils/misc/guc_tables.c:4510 msgid "" "Sets the WAL resource managers for which WAL consistency checks are done." msgstr "" "Задаёт перечень менеджеров ресурсов WAL, для которых выполняются проверки " "целостности WAL." -#: utils/misc/guc.c:4684 +#: 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." @@ -31622,28 +32665,32 @@ msgstr "" "При этом в журнал будут записываться образы полных страниц для всех блоков " "данных для сверки с результатами воспроизведения WAL." -#: utils/misc/guc.c:4694 +#: utils/misc/guc_tables.c:4521 msgid "JIT provider to use." msgstr "Используемый провайдер JIT." -#: utils/misc/guc.c:4705 +#: utils/misc/guc_tables.c:4532 msgid "Log backtrace for errors in these functions." msgstr "Записывать в журнал стек в случае ошибок в перечисленных функциях." -#: utils/misc/guc.c:4725 +#: utils/misc/guc_tables.c:4543 +msgid "Use direct I/O for file access." +msgstr "Использовать прямой ввод/вывод для работы с файлами." + +#: utils/misc/guc_tables.c:4563 msgid "Sets whether \"\\'\" is allowed in string literals." msgstr "Определяет, можно ли использовать \"\\'\" в текстовых строках." -#: utils/misc/guc.c:4735 +#: utils/misc/guc_tables.c:4573 msgid "Sets the output format for bytea." msgstr "Задаёт формат вывода данных типа bytea." -#: utils/misc/guc.c:4745 +#: utils/misc/guc_tables.c:4583 msgid "Sets the message levels that are sent to the client." msgstr "Ограничивает уровень сообщений, передаваемых клиенту." -#: utils/misc/guc.c:4746 utils/misc/guc.c:4832 utils/misc/guc.c:4843 -#: utils/misc/guc.c:4919 +#: 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." @@ -31651,16 +32698,16 @@ msgstr "" "Каждый уровень включает все последующие. Чем выше уровень, тем меньше " "сообщений." -#: utils/misc/guc.c:4756 +#: utils/misc/guc_tables.c:4594 msgid "Enables in-core computation of query identifiers." msgstr "Включает внутреннее вычисление идентификаторов запросов." -#: utils/misc/guc.c:4766 +#: utils/misc/guc_tables.c:4604 msgid "Enables the planner to use constraints to optimize queries." msgstr "" "Разрешает планировщику оптимизировать запросы, полагаясь на ограничения." -#: utils/misc/guc.c:4767 +#: utils/misc/guc_tables.c:4605 msgid "" "Table scans will be skipped if their constraints guarantee that no rows " "match the query." @@ -31668,89 +32715,93 @@ msgstr "" "Сканирование таблицы не будет выполняться, если её ограничения гарантируют, " "что запросу не удовлетворяют никакие строки." -#: utils/misc/guc.c:4778 +#: utils/misc/guc_tables.c:4616 msgid "Sets the default compression method for compressible values." msgstr "Задаёт выбираемый по умолчанию метод сжатия для сжимаемых значений." -#: utils/misc/guc.c:4789 +#: utils/misc/guc_tables.c:4627 msgid "Sets the transaction isolation level of each new transaction." msgstr "Задаёт уровень изоляции транзакций для новых транзакций." -#: utils/misc/guc.c:4799 +#: utils/misc/guc_tables.c:4637 msgid "Sets the current transaction's isolation level." msgstr "Задаёт текущий уровень изоляции транзакций." -#: utils/misc/guc.c:4810 +#: utils/misc/guc_tables.c:4648 msgid "Sets the display format for interval values." msgstr "Задаёт формат отображения для внутренних значений." -#: utils/misc/guc.c:4821 +#: utils/misc/guc_tables.c:4659 +msgid "Log level for reporting invalid ICU locale strings." +msgstr "Уровень протоколирования сообщений о некорректных строках локалей ICU." + +#: utils/misc/guc_tables.c:4669 msgid "Sets the verbosity of logged messages." msgstr "Задаёт детализацию протоколируемых сообщений." -#: utils/misc/guc.c:4831 +#: utils/misc/guc_tables.c:4679 msgid "Sets the message levels that are logged." msgstr "Ограничивает уровни протоколируемых сообщений." -#: utils/misc/guc.c:4842 +#: utils/misc/guc_tables.c:4690 msgid "" "Causes all statements generating error at or above this level to be logged." msgstr "" "Включает протоколирование для SQL-операторов, выполненных с ошибкой этого " "или большего уровня." -#: utils/misc/guc.c:4853 +#: utils/misc/guc_tables.c:4701 msgid "Sets the type of statements logged." msgstr "Задаёт тип протоколируемых операторов." -#: utils/misc/guc.c:4863 +#: utils/misc/guc_tables.c:4711 msgid "Sets the syslog \"facility\" to be used when syslog enabled." msgstr "Задаёт получателя сообщений, отправляемых в syslog." -#: utils/misc/guc.c:4878 +#: utils/misc/guc_tables.c:4722 msgid "Sets the session's behavior for triggers and rewrite rules." msgstr "" "Задаёт режим срабатывания триггеров и правил перезаписи для текущего сеанса." -#: utils/misc/guc.c:4888 +#: utils/misc/guc_tables.c:4732 msgid "Sets the current transaction's synchronization level." msgstr "Задаёт уровень синхронизации текущей транзакции." -#: utils/misc/guc.c:4898 +#: utils/misc/guc_tables.c:4742 msgid "Allows archiving of WAL files using archive_command." msgstr "Разрешает архивацию файлов WAL командой archive_command." -#: utils/misc/guc.c:4908 +#: utils/misc/guc_tables.c:4752 msgid "Sets the action to perform upon reaching the recovery target." msgstr "" "Задаёт действие, которое будет выполняться по достижении цели восстановления." -#: utils/misc/guc.c:4918 +#: utils/misc/guc_tables.c:4762 msgid "Enables logging of recovery-related debugging information." msgstr "" "Включает протоколирование отладочной информации, связанной с репликацией." -#: utils/misc/guc.c:4935 +#: utils/misc/guc_tables.c:4779 msgid "Collects function-level statistics on database activity." msgstr "Включает сбор статистики активности в БД на уровне функций." -#: utils/misc/guc.c:4946 +#: utils/misc/guc_tables.c:4790 msgid "Sets the consistency of accesses to statistics data." msgstr "Задаёт режим согласования доступа к данным статистики." -#: utils/misc/guc.c:4956 +#: utils/misc/guc_tables.c:4800 msgid "Compresses full-page writes written in WAL file with specified method." msgstr "Сжимать данные записываемых в WAL полных страниц заданным методом." -#: utils/misc/guc.c:4966 +#: utils/misc/guc_tables.c:4810 msgid "Sets the level of information written to the WAL." msgstr "Задаёт уровень информации, записываемой в WAL." -#: utils/misc/guc.c:4976 +#: utils/misc/guc_tables.c:4820 msgid "Selects the dynamic shared memory implementation used." msgstr "Выбирает используемую реализацию динамической разделяемой памяти." -#: utils/misc/guc.c:4986 +#: utils/misc/guc_tables.c:4830 msgid "" "Selects the shared memory implementation used for the main shared memory " "region." @@ -31758,15 +32809,15 @@ msgstr "" "Выбирает реализацию разделяемой памяти для управления основным блоком " "разделяемой памяти." -#: utils/misc/guc.c:4996 +#: utils/misc/guc_tables.c:4840 msgid "Selects the method used for forcing WAL updates to disk." msgstr "Выбирает метод принудительной записи изменений в WAL на диск." -#: utils/misc/guc.c:5006 +#: utils/misc/guc_tables.c:4850 msgid "Sets how binary values are to be encoded in XML." msgstr "Определяет, как должны кодироваться двоичные значения в XML." -#: utils/misc/guc.c:5016 +#: 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." @@ -31774,39 +32825,41 @@ msgstr "" "Определяет, следует ли рассматривать XML-данные в неявных операциях разбора " "и сериализации как документы или как фрагменты содержания." -#: utils/misc/guc.c:5027 +#: utils/misc/guc_tables.c:4871 msgid "Use of huge pages on Linux or Windows." msgstr "Включает использование огромных страниц в Linux и в Windows." -#: utils/misc/guc.c:5037 +#: utils/misc/guc_tables.c:4881 msgid "Prefetch referenced blocks during recovery." msgstr "Осуществлять предвыборку изменяемых блоков в процессе восстановления." -#: utils/misc/guc.c:5038 +#: utils/misc/guc_tables.c:4882 msgid "Look ahead in the WAL to find references to uncached data." msgstr "Прочитывать WAL наперёд для вычисления ещё не кешированных блоков." -#: utils/misc/guc.c:5047 -msgid "Forces use of parallel query facilities." -msgstr "Принудительно включает режим параллельного выполнения запросов." +#: utils/misc/guc_tables.c:4891 +msgid "Forces the planner's use parallel query nodes." +msgstr "Принудительно включает в планировщике узлы параллельного выполнения." -#: utils/misc/guc.c:5048 +#: utils/misc/guc_tables.c:4892 msgid "" -"If possible, run query using a parallel worker and with parallel " -"restrictions." +"This can be useful for testing the parallel query infrastructure by forcing " +"the planner to generate plans that contain nodes that perform tuple " +"communication between workers and the main process." msgstr "" -"Если возможно, запрос выполняется параллельными исполнителями и с " -"ограничениями параллельности." +"Это может быть полезно для тестирования инфраструктуры параллельного " +"выполнения, так как планировщик будет строить планы с передачей кортежей " +"между параллельными исполнителями и основным процессом." -#: utils/misc/guc.c:5058 +#: utils/misc/guc_tables.c:4904 msgid "Chooses the algorithm for encrypting passwords." msgstr "Выбирает алгоритм шифрования паролей." -#: utils/misc/guc.c:5068 +#: utils/misc/guc_tables.c:4914 msgid "Controls the planner's selection of custom or generic plan." msgstr "Управляет выбором специализированных или общих планов планировщиком." -#: utils/misc/guc.c:5069 +#: 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 " @@ -31816,1287 +32869,1517 @@ msgstr "" "планы, и планировщик пытается выбрать лучший вариант. Этот параметр " "позволяет переопределить поведение по умолчанию." -#: utils/misc/guc.c:5081 +#: utils/misc/guc_tables.c:4927 msgid "Sets the minimum SSL/TLS protocol version to use." msgstr "" "Задаёт минимальную версию протокола SSL/TLS, которая может использоваться." -#: utils/misc/guc.c:5093 +#: utils/misc/guc_tables.c:4939 msgid "Sets the maximum SSL/TLS protocol version to use." msgstr "" "Задаёт максимальную версию протокола SSL/TLS, которая может использоваться." -#: utils/misc/guc.c:5105 +#: utils/misc/guc_tables.c:4951 msgid "" "Sets the method for synchronizing the data directory before crash recovery." msgstr "" "Задаёт метод синхронизации каталога данных перед восстановления после сбоя." -#: utils/misc/guc.c:5680 utils/misc/guc.c:5696 -#, c-format -msgid "invalid configuration parameter name \"%s\"" -msgstr "неверное имя параметра конфигурации: \"%s\"" +#: utils/misc/guc_tables.c:4960 +msgid "Controls when to replicate or apply each change." +msgstr "Определяет, когда реплицировать или применять каждое изменение." -#: utils/misc/guc.c:5682 -#, c-format +#: utils/misc/guc_tables.c:4961 msgid "" -"Custom parameter names must be two or more simple identifiers separated by " -"dots." +"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 "" -"Имена нестандартных параметров должны состоять из двух или более простых " -"идентификаторов, разделённых точками." +"На стороне публикации этот параметр определяет выбор между потоковой " +"передачей и сериализацией в логическом декодировании для каждого изменения. " +"На стороне подписки он позволяет включить сериализацию всех изменений в " +"файлы и уведомления применяющих процессов о необходимости прочитать и " +"применить изменения в конце транзакции." -#: utils/misc/guc.c:5698 +#: utils/misc/help_config.c:129 #, c-format -msgid "\"%s\" is a reserved prefix." -msgstr "\"%s\" — зарезервированный префикс." +msgid "internal error: unrecognized run-time parameter type\n" +msgstr "внутренняя ошибка: нераспознанный тип параметра времени выполнения\n" -#: utils/misc/guc.c:5712 +#: utils/misc/pg_controldata.c:48 utils/misc/pg_controldata.c:86 +#: utils/misc/pg_controldata.c:175 utils/misc/pg_controldata.c:214 #, c-format -msgid "unrecognized configuration parameter \"%s\"" -msgstr "нераспознанный параметр конфигурации: \"%s\"" +msgid "calculated CRC checksum does not match value stored in file" +msgstr "" +"вычисленная контрольная сумма (CRC) не соответствует значению, сохранённому " +"в файле" -#: utils/misc/guc.c:6104 +# well-spelled: пользов +#: utils/misc/pg_rusage.c:64 #, c-format -msgid "%s: could not access directory \"%s\": %s\n" -msgstr "%s: ошибка доступа к каталогу \"%s\": %s\n" +msgid "CPU: user: %d.%02d s, system: %d.%02d s, elapsed: %d.%02d s" +msgstr "CPU: пользов.: %d.%02d с, система: %d.%02d с, прошло: %d.%02d с" -#: utils/misc/guc.c:6109 +#: utils/misc/rls.c:127 #, c-format -msgid "" -"Run initdb or pg_basebackup to initialize a PostgreSQL data directory.\n" +msgid "query would be affected by row-level security policy for table \"%s\"" msgstr "" -"Запустите initdb или pg_basebackup для инициализации каталога данных " -"PostgreSQL.\n" +"запрос будет ограничен политикой безопасности на уровне строк для таблицы " +"\"%s\"" -#: utils/misc/guc.c:6129 +#: utils/misc/rls.c:129 #, c-format msgid "" -"%s does not know where to find the server configuration file.\n" -"You must specify the --config-file or -D invocation option or set the PGDATA " -"environment variable.\n" +"To disable the policy for the table's owner, use ALTER TABLE NO FORCE ROW " +"LEVEL SECURITY." msgstr "" -"%s не знает, где найти файл конфигурации сервера.\n" -"Вы должны указать его расположение в параметре --config-file или -D, либо " -"установить переменную окружения PGDATA.\n" +"Чтобы отключить политику для владельца таблицы, воспользуйтесь командой " +"ALTER TABLE NO FORCE ROW LEVEL SECURITY." -#: utils/misc/guc.c:6148 +#: utils/misc/timeout.c:524 #, c-format -msgid "%s: could not access the server configuration file \"%s\": %s\n" -msgstr "%s не может открыть файл конфигурации сервера \"%s\": %s\n" +msgid "cannot add more timeout reasons" +msgstr "добавить другие причины тайм-аута нельзя" -#: utils/misc/guc.c:6174 +#: utils/misc/tzparser.c:60 #, c-format msgid "" -"%s does not know where to find the database system data.\n" -"This can be specified as \"data_directory\" in \"%s\", or by the -D " -"invocation option, or by the PGDATA environment variable.\n" +"time zone abbreviation \"%s\" is too long (maximum %d characters) in time " +"zone file \"%s\", line %d" msgstr "" -"%s не знает, где найти данные СУБД.\n" -"Их расположение можно задать как значение \"data_directory\" в файле \"%s\", " -"либо передать в параметре -D, либо установить переменную окружения PGDATA.\n" +"краткое обозначение часового пояса \"%s\" должно содержать меньше символов " +"(максимум %d) (файл часовых поясов \"%s\", строка %d)" -#: utils/misc/guc.c:6222 +#: utils/misc/tzparser.c:72 #, c-format -msgid "" -"%s does not know where to find the \"hba\" configuration file.\n" -"This can be specified as \"hba_file\" in \"%s\", or by the -D invocation " -"option, or by the PGDATA environment variable.\n" +msgid "time zone offset %d is out of range in time zone file \"%s\", line %d" msgstr "" -"%s не знает, где найти файл конфигурации \"hba\".\n" -"Его расположение можно задать как значение \"hba_file\" в файле \"%s\", либо " -"передать в параметре -D, либо установить переменную окружения PGDATA.\n" +"смещение часового пояса %d выходит за рамки (файл часовых поясов \"%s\", " +"строка %d)" -#: utils/misc/guc.c:6245 +#: utils/misc/tzparser.c:111 #, c-format -msgid "" -"%s does not know where to find the \"ident\" configuration file.\n" -"This can be specified as \"ident_file\" in \"%s\", or by the -D invocation " -"option, or by the PGDATA environment variable.\n" +msgid "missing time zone abbreviation in time zone file \"%s\", line %d" msgstr "" -"%s не знает, где найти файл конфигурации \"ident\".\n" -"Его расположение можно задать как значение \"ident_file\" в файле \"%s\", " -"либо передать в параметре -D, либо установить переменную окружения PGDATA.\n" - -#: utils/misc/guc.c:7176 -msgid "Value exceeds integer range." -msgstr "Значение выходит за рамки целых чисел." +"отсутствует краткое обозначение часового пояса (файл часовых поясов \"%s\", " +"строка %d)" -#: utils/misc/guc.c:7412 +#: utils/misc/tzparser.c:120 #, c-format -msgid "%d%s%s is outside the valid range for parameter \"%s\" (%d .. %d)" -msgstr "%d%s%s вне диапазона, допустимого для параметра \"%s\" (%d .. %d)" +msgid "missing time zone offset in time zone file \"%s\", line %d" +msgstr "" +"отсутствует смещение часового пояса (файл часовых поясов \"%s\", строка %d)" -#: utils/misc/guc.c:7448 +#: utils/misc/tzparser.c:132 #, c-format -msgid "%g%s%s is outside the valid range for parameter \"%s\" (%g .. %g)" -msgstr "%g%s%s вне диапазона, допустимого для параметра \"%s\" (%g .. %g)" +msgid "invalid number for time zone offset in time zone file \"%s\", line %d" +msgstr "" +"смещение часового пояса должно быть числом (файл часовых поясов \"%s\", " +"строка %d)" -#: utils/misc/guc.c:7648 utils/misc/guc.c:9096 +#: utils/misc/tzparser.c:168 #, c-format -msgid "cannot set parameters during a parallel operation" -msgstr "устанавливать параметры во время параллельных операций нельзя" +msgid "invalid syntax in time zone file \"%s\", line %d" +msgstr "ошибка синтаксиса в файле часовых поясов \"%s\", строке %d" -#: utils/misc/guc.c:7665 utils/misc/guc.c:8920 +#: utils/misc/tzparser.c:236 #, c-format -msgid "parameter \"%s\" cannot be changed" -msgstr "параметр \"%s\" нельзя изменить" +msgid "time zone abbreviation \"%s\" is multiply defined" +msgstr "краткое обозначение часового пояса \"%s\" определено неоднократно" -#: utils/misc/guc.c:7688 utils/misc/guc.c:7908 utils/misc/guc.c:8006 -#: utils/misc/guc.c:8104 utils/misc/guc.c:8228 utils/misc/guc.c:8331 -#: guc-file.l:353 +#: utils/misc/tzparser.c:238 #, c-format -msgid "parameter \"%s\" cannot be changed without restarting the server" -msgstr "параметр \"%s\" изменяется только при перезапуске сервера" +msgid "" +"Entry in time zone file \"%s\", line %d, conflicts with entry in file " +"\"%s\", line %d." +msgstr "" +"Запись в файле часовых поясов \"%s\", строке %d, противоречит записи в файле " +"\"%s\", строке %d." -#: utils/misc/guc.c:7698 +#: utils/misc/tzparser.c:300 #, c-format -msgid "parameter \"%s\" cannot be changed now" -msgstr "параметр \"%s\" нельзя изменить сейчас" +msgid "invalid time zone file name \"%s\"" +msgstr "неправильное имя файла часовых поясов: \"%s\"" -#: utils/misc/guc.c:7725 utils/misc/guc.c:7783 utils/misc/guc.c:8896 -#: utils/misc/guc.c:11795 +#: utils/misc/tzparser.c:313 #, c-format -msgid "permission denied to set parameter \"%s\"" -msgstr "нет прав для изменения параметра \"%s\"" +msgid "time zone file recursion limit exceeded in file \"%s\"" +msgstr "предел вложенности файлов часовых поясов превышен в файле \"%s\"" -#: utils/misc/guc.c:7763 +#: utils/misc/tzparser.c:352 utils/misc/tzparser.c:365 #, c-format -msgid "parameter \"%s\" cannot be set after connection start" -msgstr "параметр \"%s\" нельзя задать после установления соединения" +msgid "could not read time zone file \"%s\": %m" +msgstr "прочитать файл часовых поясов \"%s\" не удалось: %m" -#: utils/misc/guc.c:7822 +#: utils/misc/tzparser.c:376 #, c-format -msgid "cannot set parameter \"%s\" within security-definer function" -msgstr "" -"параметр \"%s\" нельзя задать в функции с контекстом безопасности " -"определившего" +msgid "line is too long in time zone file \"%s\", line %d" +msgstr "слишком длинная строка в файле часовых поясов \"%s\" (строка %d)" -#: utils/misc/guc.c:8475 utils/misc/guc.c:8522 utils/misc/guc.c:10001 +#: utils/misc/tzparser.c:400 #, c-format -msgid "" -"must be superuser or have privileges of pg_read_all_settings to examine " -"\"%s\"" +msgid "@INCLUDE without file name in time zone file \"%s\", line %d" msgstr "" -"чтобы прочитать \"%s\", нужно быть суперпользователем или иметь права роли " -"pg_read_all_settings" +"в @INCLUDE не указано имя файла (файл часовых поясов \"%s\", строка %d)" -#: utils/misc/guc.c:8606 +#: utils/mmgr/aset.c:446 utils/mmgr/generation.c:206 utils/mmgr/slab.c:367 #, c-format -msgid "SET %s takes only one argument" -msgstr "SET %s принимает только один аргумент" +msgid "Failed while creating memory context \"%s\"." +msgstr "Ошибка при создании контекста памяти \"%s\"." -#: utils/misc/guc.c:8886 +#: utils/mmgr/dsa.c:532 utils/mmgr/dsa.c:1346 #, c-format -msgid "permission denied to perform ALTER SYSTEM RESET ALL" -msgstr "нет прав для выполнения ALTER SYSTEM RESET ALL" +msgid "could not attach to dynamic shared area" +msgstr "не удалось подключиться к динамической разделяемой области" -#: utils/misc/guc.c:8953 +#: utils/mmgr/mcxt.c:1047 utils/mmgr/mcxt.c:1083 utils/mmgr/mcxt.c:1121 +#: utils/mmgr/mcxt.c:1159 utils/mmgr/mcxt.c:1247 utils/mmgr/mcxt.c:1278 +#: utils/mmgr/mcxt.c:1314 utils/mmgr/mcxt.c:1503 utils/mmgr/mcxt.c:1548 +#: utils/mmgr/mcxt.c:1605 #, c-format -msgid "parameter value for ALTER SYSTEM must not contain a newline" -msgstr "значение параметра для ALTER SYSTEM не должно быть многострочным" +msgid "Failed on request of size %zu in memory context \"%s\"." +msgstr "Ошибка при запросе блока размером %zu в контексте памяти \"%s\"." -#: utils/misc/guc.c:8998 +#: utils/mmgr/mcxt.c:1210 #, c-format -msgid "could not parse contents of file \"%s\"" -msgstr "не удалось разобрать содержимое файла \"%s\"" +msgid "logging memory contexts of PID %d" +msgstr "вывод информации о памяти процесса с PID %d" -#: utils/misc/guc.c:9172 +#: utils/mmgr/portalmem.c:188 #, c-format -msgid "SET LOCAL TRANSACTION SNAPSHOT is not implemented" -msgstr "SET LOCAL TRANSACTION SNAPSHOT не реализовано" +msgid "cursor \"%s\" already exists" +msgstr "курсор \"%s\" уже существует" -#: utils/misc/guc.c:9259 +#: utils/mmgr/portalmem.c:192 #, c-format -msgid "SET requires parameter name" -msgstr "SET требует имя параметра" +msgid "closing existing cursor \"%s\"" +msgstr "существующий курсор (\"%s\") закрывается" -#: utils/misc/guc.c:9392 +#: utils/mmgr/portalmem.c:402 #, c-format -msgid "attempt to redefine parameter \"%s\"" -msgstr "попытка переопределить параметр \"%s\"" +msgid "portal \"%s\" cannot be run" +msgstr "портал \"%s\" не может быть запущен" -#: utils/misc/guc.c:9719 +#: utils/mmgr/portalmem.c:480 #, c-format -msgid "invalid configuration parameter name \"%s\", removing it" -msgstr "неверное имя параметра конфигурации: \"%s\", он удаляется" +msgid "cannot drop pinned portal \"%s\"" +msgstr "удалить закреплённый портал \"%s\" нельзя" -#: utils/misc/guc.c:9721 +#: utils/mmgr/portalmem.c:488 #, c-format -msgid "\"%s\" is now a reserved prefix." -msgstr "Теперь \"%s\" — зарезервированный префикс." +msgid "cannot drop active portal \"%s\"" +msgstr "удалить активный портал \"%s\" нельзя" -#: utils/misc/guc.c:11235 +#: utils/mmgr/portalmem.c:739 #, c-format -msgid "while setting parameter \"%s\" to \"%s\"" -msgstr "при назначении параметру \"%s\" значения \"%s\"" +msgid "cannot PREPARE a transaction that has created a cursor WITH HOLD" +msgstr "нельзя выполнить PREPARE для транзакции, создавшей курсор WITH HOLD" -#: utils/misc/guc.c:11404 +#: utils/mmgr/portalmem.c:1230 #, c-format -msgid "parameter \"%s\" could not be set" -msgstr "параметр \"%s\" нельзя установить" +msgid "" +"cannot perform transaction commands inside a cursor loop that is not read-" +"only" +msgstr "" +"транзакционные команды нельзя выполнять внутри цикла с курсором, " +"производящим изменения" -#: utils/misc/guc.c:11496 +#: utils/sort/logtape.c:266 utils/sort/logtape.c:287 #, c-format -msgid "could not parse setting for parameter \"%s\"" -msgstr "не удалось разобрать значение параметра \"%s\"" +msgid "could not seek to block %ld of temporary file" +msgstr "не удалось переместиться к блоку %ld временного файла" -#: utils/misc/guc.c:11927 +#: utils/sort/sharedtuplestore.c:467 #, c-format -msgid "invalid value for parameter \"%s\": %g" -msgstr "неверное значение параметра \"%s\": %g" +msgid "unexpected chunk in shared tuplestore temporary file" +msgstr "неожиданный фрагмент в файле общего временного хранилища кортежей" -#: utils/misc/guc.c:12240 +#: utils/sort/sharedtuplestore.c:549 #, c-format -msgid "" -"\"temp_buffers\" cannot be changed after any temporary tables have been " -"accessed in the session." +msgid "could not seek to block %u in shared tuplestore temporary file" msgstr "" -"параметр \"temp_buffers\" нельзя изменить после обращения к временным " -"таблицам в текущем сеансе." +"не удалось переместиться к блоку %u в файле общего временного хранилища " +"кортежей" -#: utils/misc/guc.c:12252 +#: utils/sort/tuplesort.c:2372 #, c-format -msgid "Bonjour is not supported by this build" -msgstr "Bonjour не поддерживается в данной сборке" +msgid "cannot have more than %d runs for an external sort" +msgstr "число потоков данных для внешней сортировки не может превышать %d" -#: utils/misc/guc.c:12265 +#: utils/sort/tuplesortvariants.c:1363 #, c-format -msgid "SSL is not supported by this build" -msgstr "SSL не поддерживается в данной сборке" +msgid "could not create unique index \"%s\"" +msgstr "создать уникальный индекс \"%s\" не удалось" -#: utils/misc/guc.c:12277 +#: utils/sort/tuplesortvariants.c:1365 #, c-format -msgid "Cannot enable parameter when \"log_statement_stats\" is true." -msgstr "" -"Этот параметр нельзя включить, когда \"log_statement_stats\" равен true." +msgid "Key %s is duplicated." +msgstr "Ключ %s дублируется." -#: utils/misc/guc.c:12289 +#: utils/sort/tuplesortvariants.c:1366 #, c-format -msgid "" -"Cannot enable \"log_statement_stats\" when \"log_parser_stats\", " -"\"log_planner_stats\", or \"log_executor_stats\" is true." -msgstr "" -"Параметр \"log_statement_stats\" нельзя включить, когда " -"\"log_parser_stats\", \"log_planner_stats\" или \"log_executor_stats\" равны " -"true." +msgid "Duplicate keys exist." +msgstr "Данные содержат дублирующиеся ключи." -#: utils/misc/guc.c:12519 +#: utils/sort/tuplestore.c:518 utils/sort/tuplestore.c:528 +#: utils/sort/tuplestore.c:869 utils/sort/tuplestore.c:973 +#: utils/sort/tuplestore.c:1037 utils/sort/tuplestore.c:1054 +#: utils/sort/tuplestore.c:1256 utils/sort/tuplestore.c:1321 +#: utils/sort/tuplestore.c:1330 #, c-format -msgid "" -"effective_io_concurrency must be set to 0 on platforms that lack " -"posix_fadvise()." -msgstr "" -"Значение effective_io_concurrency должно равняться 0 на платформах, где " -"отсутствует lack posix_fadvise()." +msgid "could not seek in tuplestore temporary file" +msgstr "не удалось переместиться во временном файле хранилища кортежей" + +#: utils/time/snapmgr.c:571 +#, c-format +msgid "The source transaction is not running anymore." +msgstr "Исходная транзакция уже не выполняется." + +#: utils/time/snapmgr.c:1166 +#, c-format +msgid "cannot export a snapshot from a subtransaction" +msgstr "экспортировать снимок из вложенной транзакции нельзя" + +#: utils/time/snapmgr.c:1325 utils/time/snapmgr.c:1330 +#: utils/time/snapmgr.c:1335 utils/time/snapmgr.c:1350 +#: utils/time/snapmgr.c:1355 utils/time/snapmgr.c:1360 +#: utils/time/snapmgr.c:1375 utils/time/snapmgr.c:1380 +#: utils/time/snapmgr.c:1385 utils/time/snapmgr.c:1487 +#: utils/time/snapmgr.c:1503 utils/time/snapmgr.c:1528 +#, c-format +msgid "invalid snapshot data in file \"%s\"" +msgstr "неверные данные снимка в файле \"%s\"" -#: utils/misc/guc.c:12532 +#: utils/time/snapmgr.c:1422 +#, c-format +msgid "SET TRANSACTION SNAPSHOT must be called before any query" +msgstr "команда SET TRANSACTION SNAPSHOT должна выполняться до запросов" + +#: utils/time/snapmgr.c:1431 #, c-format msgid "" -"maintenance_io_concurrency must be set to 0 on platforms that lack " -"posix_fadvise()." +"a snapshot-importing transaction must have isolation level SERIALIZABLE or " +"REPEATABLE READ" msgstr "" -"Значение maintenance_io_concurrency должно равняться 0 на платформах, где " -"отсутствует lack posix_fadvise()." +"транзакция, импортирующая снимок, должна иметь уровень изоляции SERIALIZABLE " +"или REPEATABLE READ" -#: utils/misc/guc.c:12546 +#: utils/time/snapmgr.c:1440 utils/time/snapmgr.c:1449 #, c-format -msgid "huge_page_size must be 0 on this platform." -msgstr "Значение huge_page_size должно равняться 0 на этой платформе." +msgid "invalid snapshot identifier: \"%s\"" +msgstr "неверный идентификатор снимка: \"%s\"" -#: utils/misc/guc.c:12558 +#: utils/time/snapmgr.c:1541 #, c-format -msgid "client_connection_check_interval must be set to 0 on this platform." +msgid "" +"a serializable transaction cannot import a snapshot from a non-serializable " +"transaction" msgstr "" -"Значение client_connection_check_interval должно равняться 0 на этой " -"платформе." +"сериализуемая транзакция не может импортировать снимок из не сериализуемой" -#: utils/misc/guc.c:12670 +#: utils/time/snapmgr.c:1545 #, c-format -msgid "invalid character" -msgstr "неверный символ" +msgid "" +"a non-read-only serializable transaction cannot import a snapshot from a " +"read-only transaction" +msgstr "" +"сериализуемая транзакция в режиме \"чтение-запись\" не может импортировать " +"снимок из транзакции в режиме \"только чтение\"" -#: utils/misc/guc.c:12730 +#: utils/time/snapmgr.c:1560 #, c-format -msgid "recovery_target_timeline is not a valid number." -msgstr "recovery_target_timeline не является допустимым числом." +msgid "cannot import a snapshot from a different database" +msgstr "нельзя импортировать снимок из другой базы данных" -#: utils/misc/guc.c:12770 +#: gram.y:1197 #, c-format -msgid "multiple recovery targets specified" -msgstr "указано несколько целей восстановления" +msgid "UNENCRYPTED PASSWORD is no longer supported" +msgstr "вариант UNENCRYPTED PASSWORD более не поддерживается" -#: utils/misc/guc.c:12771 +#: gram.y:1198 #, c-format -msgid "" -"At most one of recovery_target, recovery_target_lsn, recovery_target_name, " -"recovery_target_time, recovery_target_xid may be set." +msgid "Remove UNENCRYPTED to store the password in encrypted form instead." msgstr "" -"Может быть указана только одна из целей: recovery_target, " -"recovery_target_lsn, recovery_target_name, recovery_target_time, " -"recovery_target_xid." +"Удалите слово UNENCRYPTED, чтобы сохранить пароль в зашифрованном виде." -#: utils/misc/guc.c:12779 +#: gram.y:1525 gram.y:1541 #, c-format -msgid "The only allowed value is \"immediate\"." -msgstr "Единственное допустимое значение: \"immediate\"." +msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements" +msgstr "CREATE SCHEMA IF NOT EXISTS не может включать элементы схемы" -#: utils/misc/help_config.c:130 +#: gram.y:1693 #, c-format -msgid "internal error: unrecognized run-time parameter type\n" -msgstr "внутренняя ошибка: нераспознанный тип параметра времени выполнения\n" +msgid "current database cannot be changed" +msgstr "сменить текущую базу данных нельзя" -#: utils/misc/pg_controldata.c:60 utils/misc/pg_controldata.c:138 -#: utils/misc/pg_controldata.c:241 utils/misc/pg_controldata.c:306 +#: gram.y:1826 #, c-format -msgid "calculated CRC checksum does not match value stored in file" +msgid "time zone interval must be HOUR or HOUR TO MINUTE" msgstr "" -"вычисленная контрольная сумма (CRC) не соответствует значению, сохранённому " -"в файле" +"интервал, задающий часовой пояс, должен иметь точность HOUR или HOUR TO " +"MINUTE" -# well-spelled: пользов -#: utils/misc/pg_rusage.c:64 +#: gram.y:2443 #, c-format -msgid "CPU: user: %d.%02d s, system: %d.%02d s, elapsed: %d.%02d s" -msgstr "CPU: пользов.: %d.%02d с, система: %d.%02d с, прошло: %d.%02d с" +msgid "column number must be in range from 1 to %d" +msgstr "номер столбца должен быть в диапазоне от 1 до %d" -#: utils/misc/rls.c:127 +#: gram.y:3039 #, c-format -msgid "query would be affected by row-level security policy for table \"%s\"" -msgstr "" -"запрос будет ограничен политикой безопасности на уровне строк для таблицы " -"\"%s\"" +msgid "sequence option \"%s\" not supported here" +msgstr "параметр последовательности \"%s\" здесь не поддерживается" -#: utils/misc/rls.c:129 +#: gram.y:3068 #, c-format -msgid "" -"To disable the policy for the table's owner, use ALTER TABLE NO FORCE ROW " -"LEVEL SECURITY." +msgid "modulus for hash partition provided more than once" +msgstr "модуль для хеш-секции указан неоднократно" + +#: gram.y:3077 +#, c-format +msgid "remainder for hash partition provided more than once" +msgstr "остаток для хеш-секции указан неоднократно" + +#: gram.y:3084 +#, c-format +msgid "unrecognized hash partition bound specification \"%s\"" +msgstr "нераспознанное указание ограничения хеш-секции \"%s\"" + +#: gram.y:3092 +#, c-format +msgid "modulus for hash partition must be specified" +msgstr "необходимо указать модуль для хеш-секции" + +#: gram.y:3096 +#, c-format +msgid "remainder for hash partition must be specified" +msgstr "необходимо указать остаток для хеш-секции" + +#: gram.y:3304 gram.y:3338 +#, c-format +msgid "STDIN/STDOUT not allowed with PROGRAM" +msgstr "указания STDIN/STDOUT несовместимы с PROGRAM" + +#: gram.y:3310 +#, c-format +msgid "WHERE clause not allowed with COPY TO" +msgstr "предложение WHERE не допускается с COPY TO" + +#: gram.y:3649 gram.y:3656 gram.y:12821 gram.y:12829 +#, c-format +msgid "GLOBAL is deprecated in temporary table creation" +msgstr "указание GLOBAL при создании временных таблиц устарело" + +#: gram.y:3932 +#, c-format +msgid "for a generated column, GENERATED ALWAYS must be specified" +msgstr "для генерируемого столбца должно указываться GENERATED ALWAYS" + +#: gram.y:4315 +#, c-format +msgid "a column list with %s is only supported for ON DELETE actions" +msgstr "список столбцов с %s поддерживается только для действий ON DELETE" + +#: gram.y:5027 +#, c-format +msgid "CREATE EXTENSION ... FROM is no longer supported" +msgstr "CREATE EXTENSION ... FROM более не поддерживается" + +#: gram.y:5725 +#, c-format +msgid "unrecognized row security option \"%s\"" +msgstr "нераспознанный вариант политики безопасности строк \"%s\"" + +#: gram.y:5726 +#, c-format +msgid "Only PERMISSIVE or RESTRICTIVE policies are supported currently." msgstr "" -"Чтобы отключить политику для владельца таблицы, воспользуйтесь командой " -"ALTER TABLE NO FORCE ROW LEVEL SECURITY." +"В настоящее время поддерживаются только политики PERMISSIVE и RESTRICTIVE." -#: utils/misc/timeout.c:524 +#: gram.y:5811 #, c-format -msgid "cannot add more timeout reasons" -msgstr "добавить другие причины тайм-аута нельзя" +msgid "CREATE OR REPLACE CONSTRAINT TRIGGER is not supported" +msgstr "CREATE OR REPLACE CONSTRAINT TRIGGER не поддерживается" -#: utils/misc/tzparser.c:60 +#: gram.y:5848 +msgid "duplicate trigger events specified" +msgstr "события триггера повторяются" + +#: gram.y:5997 #, c-format -msgid "" -"time zone abbreviation \"%s\" is too long (maximum %d characters) in time " -"zone file \"%s\", line %d" +msgid "conflicting constraint properties" +msgstr "противоречащие характеристики ограничения" + +#: gram.y:6096 +#, c-format +msgid "CREATE ASSERTION is not yet implemented" +msgstr "оператор CREATE ASSERTION ещё не реализован" + +#: gram.y:6504 +#, c-format +msgid "RECHECK is no longer required" +msgstr "RECHECK более не требуется" + +#: gram.y:6505 +#, c-format +msgid "Update your data type." +msgstr "Обновите тип данных." + +#: gram.y:8378 +#, c-format +msgid "aggregates cannot have output arguments" +msgstr "у агрегатных функций не может быть выходных аргументов" + +#: gram.y:11054 gram.y:11073 +#, c-format +msgid "WITH CHECK OPTION not supported on recursive views" msgstr "" -"краткое обозначение часового пояса \"%s\" должно содержать меньше символов " -"(максимум %d) (файл часовых поясов \"%s\", строка %d)" +"предложение WITH CHECK OPTION не поддерживается для рекурсивных представлений" -#: utils/misc/tzparser.c:72 +#: gram.y:12960 #, c-format -msgid "time zone offset %d is out of range in time zone file \"%s\", line %d" +msgid "LIMIT #,# syntax is not supported" +msgstr "синтаксис LIMIT #,# не поддерживается" + +#: gram.y:12961 +#, c-format +msgid "Use separate LIMIT and OFFSET clauses." +msgstr "Используйте отдельные предложения LIMIT и OFFSET." + +#: gram.y:13821 +#, c-format +msgid "only one DEFAULT value is allowed" +msgstr "допускается только одно значение DEFAULT" + +#: gram.y:13830 +#, c-format +msgid "only one PATH value per column is allowed" +msgstr "для столбца допускается только одно значение PATH" + +#: gram.y:13839 +#, c-format +msgid "conflicting or redundant NULL / NOT NULL declarations for column \"%s\"" msgstr "" -"смещение часового пояса %d выходит за рамки (файл часовых поясов \"%s\", " -"строка %d)" +"конфликтующие или избыточные объявления NULL/NOT NULL для столбца \"%s\"" -#: utils/misc/tzparser.c:111 +#: gram.y:13848 #, c-format -msgid "missing time zone abbreviation in time zone file \"%s\", line %d" +msgid "unrecognized column option \"%s\"" +msgstr "нераспознанный параметр столбца \"%s\"" + +#: gram.y:14102 +#, c-format +msgid "precision for type float must be at least 1 bit" +msgstr "тип float должен иметь точность минимум 1 бит" + +#: gram.y:14111 +#, c-format +msgid "precision for type float must be less than 54 bits" +msgstr "тип float должен иметь точность меньше 54 бит" + +#: gram.y:14614 +#, c-format +msgid "wrong number of parameters on left side of OVERLAPS expression" +msgstr "неверное число параметров в левой части выражения OVERLAPS" + +#: gram.y:14619 +#, c-format +msgid "wrong number of parameters on right side of OVERLAPS expression" +msgstr "неверное число параметров в правой части выражения OVERLAPS" + +#: gram.y:14796 +#, c-format +msgid "UNIQUE predicate is not yet implemented" +msgstr "предикат UNIQUE ещё не реализован" + +#: gram.y:15212 +#, c-format +msgid "cannot use multiple ORDER BY clauses with WITHIN GROUP" +msgstr "ORDER BY с WITHIN GROUP можно указать только один раз" + +#: gram.y:15217 +#, c-format +msgid "cannot use DISTINCT with WITHIN GROUP" +msgstr "DISTINCT нельзя использовать с WITHIN GROUP" + +#: gram.y:15222 +#, c-format +msgid "cannot use VARIADIC with WITHIN GROUP" +msgstr "VARIADIC нельзя использовать с WITHIN GROUP" + +#: gram.y:15856 gram.y:15880 +#, c-format +msgid "frame start cannot be UNBOUNDED FOLLOWING" +msgstr "началом рамки не может быть UNBOUNDED FOLLOWING" + +#: gram.y:15861 +#, c-format +msgid "frame starting from following row cannot end with current row" msgstr "" -"отсутствует краткое обозначение часового пояса (файл часовых поясов \"%s\", " -"строка %d)" +"рамка, начинающаяся со следующей строки, не может заканчиваться текущей" -#: utils/misc/tzparser.c:120 +#: gram.y:15885 #, c-format -msgid "missing time zone offset in time zone file \"%s\", line %d" +msgid "frame end cannot be UNBOUNDED PRECEDING" +msgstr "концом рамки не может быть UNBOUNDED PRECEDING" + +#: gram.y:15891 +#, c-format +msgid "frame starting from current row cannot have preceding rows" msgstr "" -"отсутствует смещение часового пояса (файл часовых поясов \"%s\", строка %d)" +"рамка, начинающаяся с текущей строки, не может иметь предшествующих строк" -#: utils/misc/tzparser.c:132 +#: gram.y:15898 #, c-format -msgid "invalid number for time zone offset in time zone file \"%s\", line %d" +msgid "frame starting from following row cannot have preceding rows" msgstr "" -"смещение часового пояса должно быть числом (файл часовых поясов \"%s\", " -"строка %d)" +"рамка, начинающаяся со следующей строки, не может иметь предшествующих строк" -#: utils/misc/tzparser.c:168 +#: gram.y:16659 #, c-format -msgid "invalid syntax in time zone file \"%s\", line %d" -msgstr "ошибка синтаксиса в файле часовых поясов \"%s\", строке %d" +msgid "type modifier cannot have parameter name" +msgstr "параметр функции-модификатора типа должен быть безымянным" -#: utils/misc/tzparser.c:236 +#: gram.y:16665 #, c-format -msgid "time zone abbreviation \"%s\" is multiply defined" -msgstr "краткое обозначение часового пояса \"%s\" определено неоднократно" +msgid "type modifier cannot have ORDER BY" +msgstr "модификатор типа не может включать ORDER BY" -#: utils/misc/tzparser.c:238 +#: gram.y:16733 gram.y:16740 gram.y:16747 +#, c-format +msgid "%s cannot be used as a role name here" +msgstr "%s нельзя использовать здесь как имя роли" + +#: gram.y:16837 gram.y:18294 +#, c-format +msgid "WITH TIES cannot be specified without ORDER BY clause" +msgstr "WITH TIES нельзя задать без предложения ORDER BY" + +#: gram.y:17973 gram.y:18160 +msgid "improper use of \"*\"" +msgstr "недопустимое использование \"*\"" + +#: gram.y:18224 #, c-format msgid "" -"Entry in time zone file \"%s\", line %d, conflicts with entry in file " -"\"%s\", line %d." +"an ordered-set aggregate with a VARIADIC direct argument must have one " +"VARIADIC aggregated argument of the same data type" msgstr "" -"Запись в файле часовых поясов \"%s\", строке %d, противоречит записи в файле " -"\"%s\", строке %d." +"сортирующая агрегатная функция с непосредственным аргументом VARIADIC должна " +"иметь один агрегатный аргумент VARIADIC того же типа данных" -#: utils/misc/tzparser.c:300 +#: gram.y:18261 #, c-format -msgid "invalid time zone file name \"%s\"" -msgstr "неправильное имя файла часовых поясов: \"%s\"" +msgid "multiple ORDER BY clauses not allowed" +msgstr "ORDER BY можно указать только один раз" -#: utils/misc/tzparser.c:313 +#: gram.y:18272 #, c-format -msgid "time zone file recursion limit exceeded in file \"%s\"" -msgstr "предел вложенности файлов часовых поясов превышен в файле \"%s\"" +msgid "multiple OFFSET clauses not allowed" +msgstr "OFFSET можно указать только один раз" -#: utils/misc/tzparser.c:352 utils/misc/tzparser.c:365 +#: gram.y:18281 #, c-format -msgid "could not read time zone file \"%s\": %m" -msgstr "прочитать файл часовых поясов \"%s\" не удалось: %m" +msgid "multiple LIMIT clauses not allowed" +msgstr "LIMIT можно указать только один раз" -#: utils/misc/tzparser.c:376 +#: gram.y:18290 #, c-format -msgid "line is too long in time zone file \"%s\", line %d" -msgstr "слишком длинная строка в файле часовых поясов \"%s\" (строка %d)" +msgid "multiple limit options not allowed" +msgstr "параметры LIMIT можно указать только один раз" -#: utils/misc/tzparser.c:400 +#: gram.y:18317 #, c-format -msgid "@INCLUDE without file name in time zone file \"%s\", line %d" -msgstr "" -"в @INCLUDE не указано имя файла (файл часовых поясов \"%s\", строка %d)" +msgid "multiple WITH clauses not allowed" +msgstr "WITH можно указать только один раз" -#: utils/mmgr/aset.c:477 utils/mmgr/generation.c:267 utils/mmgr/slab.c:239 +#: gram.y:18510 #, c-format -msgid "Failed while creating memory context \"%s\"." -msgstr "Ошибка при создании контекста памяти \"%s\"." +msgid "OUT and INOUT arguments aren't allowed in TABLE functions" +msgstr "в табличных функциях не может быть аргументов OUT и INOUT" -#: utils/mmgr/dsa.c:519 utils/mmgr/dsa.c:1329 +#: gram.y:18643 #, c-format -msgid "could not attach to dynamic shared area" -msgstr "не удалось подключиться к динамической разделяемой области" +msgid "multiple COLLATE clauses not allowed" +msgstr "COLLATE можно указать только один раз" -#: utils/mmgr/mcxt.c:889 utils/mmgr/mcxt.c:925 utils/mmgr/mcxt.c:963 -#: utils/mmgr/mcxt.c:1001 utils/mmgr/mcxt.c:1089 utils/mmgr/mcxt.c:1120 -#: utils/mmgr/mcxt.c:1156 utils/mmgr/mcxt.c:1208 utils/mmgr/mcxt.c:1243 -#: utils/mmgr/mcxt.c:1278 +#. translator: %s is CHECK, UNIQUE, or similar +#: gram.y:18681 gram.y:18694 #, c-format -msgid "Failed on request of size %zu in memory context \"%s\"." -msgstr "Ошибка при запросе блока размером %zu в контексте памяти \"%s\"." +msgid "%s constraints cannot be marked DEFERRABLE" +msgstr "ограничения %s не могут иметь характеристики DEFERRABLE" -#: utils/mmgr/mcxt.c:1052 +#. translator: %s is CHECK, UNIQUE, or similar +#: gram.y:18707 #, c-format -msgid "logging memory contexts of PID %d" -msgstr "вывод информации о памяти процесса с PID %d" +msgid "%s constraints cannot be marked NOT VALID" +msgstr "ограничения %s не могут иметь характеристики NOT VALID" -#: utils/mmgr/portalmem.c:188 +#. translator: %s is CHECK, UNIQUE, or similar +#: gram.y:18720 #, c-format -msgid "cursor \"%s\" already exists" -msgstr "курсор \"%s\" уже существует" +msgid "%s constraints cannot be marked NO INHERIT" +msgstr "ограничения %s не могут иметь характеристики NO INHERIT" -#: utils/mmgr/portalmem.c:192 +#: gram.y:18742 #, c-format -msgid "closing existing cursor \"%s\"" -msgstr "существующий курсор (\"%s\") закрывается" +msgid "unrecognized partitioning strategy \"%s\"" +msgstr "нераспознанная стратегия секционирования \"%s\"" -#: utils/mmgr/portalmem.c:402 +#: gram.y:18766 #, c-format -msgid "portal \"%s\" cannot be run" -msgstr "портал \"%s\" не может быть запущен" +msgid "invalid publication object list" +msgstr "неверный список объектов публикации" -#: utils/mmgr/portalmem.c:480 +#: gram.y:18767 #, c-format -msgid "cannot drop pinned portal \"%s\"" -msgstr "удалить закреплённый портал \"%s\" нельзя" +msgid "" +"One of TABLE or TABLES IN SCHEMA must be specified before a standalone table " +"or schema name." +msgstr "" +"Перед именем отдельной таблицы или схемы нужно указать TABLE либо TABLES IN " +"SCHEMA." -#: utils/mmgr/portalmem.c:488 +#: gram.y:18783 #, c-format -msgid "cannot drop active portal \"%s\"" -msgstr "удалить активный портал \"%s\" нельзя" +msgid "invalid table name" +msgstr "неверное имя таблицы" -#: utils/mmgr/portalmem.c:739 +#: gram.y:18804 #, c-format -msgid "cannot PREPARE a transaction that has created a cursor WITH HOLD" -msgstr "нельзя выполнить PREPARE для транзакции, создавшей курсор WITH HOLD" +msgid "WHERE clause not allowed for schema" +msgstr "предложение WHERE не допускается для схемы" + +#: gram.y:18811 +#, c-format +msgid "column specification not allowed for schema" +msgstr "указание столбца не допускается для схемы" + +#: gram.y:18825 +#, c-format +msgid "invalid schema name" +msgstr "неверное имя схемы" -#: utils/mmgr/portalmem.c:1232 +#: guc-file.l:192 +#, c-format +msgid "empty configuration file name: \"%s\"" +msgstr "пустое имя файла конфигурации: \"%s\"" + +#: guc-file.l:209 #, c-format msgid "" -"cannot perform transaction commands inside a cursor loop that is not read-" -"only" +"could not open configuration file \"%s\": maximum nesting depth exceeded" msgstr "" -"транзакционные команды нельзя выполнять внутри цикла с курсором, " -"производящим изменения" +"открыть файл конфигурации \"%s\" не удалось: превышен предел вложенности" -#: utils/sort/logtape.c:266 utils/sort/logtape.c:289 +#: guc-file.l:229 #, c-format -msgid "could not seek to block %ld of temporary file" -msgstr "не удалось переместиться к блоку %ld временного файла" +msgid "configuration file recursion in \"%s\"" +msgstr "рекурсивная вложенность файла конфигурации в \"%s\"" + +#: guc-file.l:245 +#, c-format +msgid "could not open configuration file \"%s\": %m" +msgstr "открыть файл конфигурации \"%s\" не удалось: %m" + +#: guc-file.l:256 +#, c-format +msgid "skipping missing configuration file \"%s\"" +msgstr "отсутствующий файл конфигурации \"%s\" пропускается" + +#: guc-file.l:511 +#, c-format +msgid "syntax error in file \"%s\" line %u, near end of line" +msgstr "ошибка синтаксиса в файле \"%s\", в конце строки %u" + +#: guc-file.l:521 +#, c-format +msgid "syntax error in file \"%s\" line %u, near token \"%s\"" +msgstr "ошибка синтаксиса в файле \"%s\", в строке %u, рядом с \"%s\"" + +#: guc-file.l:541 +#, c-format +msgid "too many syntax errors found, abandoning file \"%s\"" +msgstr "" +"обнаружено слишком много синтаксических ошибок, обработка файла \"%s\" " +"прекращается" + +#: jsonpath_gram.y:529 +#, c-format +msgid "Unrecognized flag character \"%.*s\" in LIKE_REGEX predicate." +msgstr "Нераспознанный символ флага \"%.*s\" в предикате LIKE_REGEX." + +#: jsonpath_gram.y:607 +#, c-format +msgid "XQuery \"x\" flag (expanded regular expressions) is not implemented" +msgstr "" +"флаг \"x\" языка XQuery (расширенные регулярные выражения) не реализован" + +#: jsonpath_scan.l:174 +msgid "invalid Unicode escape sequence" +msgstr "неверная последовательность спецкодов Unicode" + +#: jsonpath_scan.l:180 +msgid "invalid hexadecimal character sequence" +msgstr "неверная последовательность шестнадцатеричных цифр" + +#: jsonpath_scan.l:195 +msgid "unexpected end after backslash" +msgstr "неожиданный конец строки после обратной косой черты" + +#: jsonpath_scan.l:201 repl_scanner.l:209 scan.l:741 +msgid "unterminated quoted string" +msgstr "незавершённая строка в кавычках" + +#: jsonpath_scan.l:228 +msgid "unexpected end of comment" +msgstr "неожиданный конец комментария" + +#: jsonpath_scan.l:319 +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 +msgid "trailing junk after numeric literal" +msgstr "мусорное содержимое после числовой константы" + +#. translator: %s is typically "syntax error" +#: jsonpath_scan.l:375 +#, c-format +msgid "%s at end of jsonpath input" +msgstr "%s в конце аргумента jsonpath" -#: utils/sort/logtape.c:295 +#. translator: first %s is typically "syntax error" +#: jsonpath_scan.l:382 #, c-format -msgid "could not read block %ld of temporary file: read only %zu of %zu bytes" -msgstr "" -"не удалось прочитать блок %ld временного файла (прочитано байт: %zu из %zu)" +msgid "%s at or near \"%s\" of jsonpath input" +msgstr "%s в строке jsonpath (примерное положение: \"%s\")" -#: utils/sort/sharedtuplestore.c:432 utils/sort/sharedtuplestore.c:441 -#: utils/sort/sharedtuplestore.c:464 utils/sort/sharedtuplestore.c:481 -#: utils/sort/sharedtuplestore.c:498 -#, c-format -msgid "could not read from shared tuplestore temporary file" -msgstr "не удалось прочитать файл общего временного хранилища кортежей" +#: jsonpath_scan.l:557 +msgid "invalid input" +msgstr "некорректные входные данные" -#: utils/sort/sharedtuplestore.c:487 -#, c-format -msgid "unexpected chunk in shared tuplestore temporary file" -msgstr "неожиданный фрагмент в файле общего временного хранилища кортежей" +#: jsonpath_scan.l:583 +msgid "invalid hexadecimal digit" +msgstr "неверная шестнадцатеричная цифра" -#: utils/sort/sharedtuplestore.c:572 +#: jsonpath_scan.l:614 #, c-format -msgid "could not seek to block %u in shared tuplestore temporary file" -msgstr "" -"не удалось переместиться к блоку %u в файле общего временного хранилища " -"кортежей" +msgid "could not convert Unicode to server encoding" +msgstr "не удалось преобразовать символ Unicode в серверную кодировку" -#: utils/sort/sharedtuplestore.c:579 +#: repl_gram.y:301 repl_gram.y:333 #, c-format -msgid "" -"could not read from shared tuplestore temporary file: read only %zu of %zu " -"bytes" -msgstr "" -"не удалось прочитать файл общего временного хранилища кортежей (прочитано " -"байт: %zu из %zu)" +msgid "invalid timeline %u" +msgstr "неверная линия времени %u" -#: utils/sort/tuplesort.c:3322 -#, c-format -msgid "cannot have more than %d runs for an external sort" -msgstr "число потоков данных для внешней сортировки не может превышать %d" +#: repl_scanner.l:152 +msgid "invalid streaming start location" +msgstr "неверная позиция начала потока" -#: utils/sort/tuplesort.c:4425 -#, c-format -msgid "could not create unique index \"%s\"" -msgstr "создать уникальный индекс \"%s\" не удалось" +#: scan.l:482 +msgid "unterminated /* comment" +msgstr "незавершённый комментарий /*" -#: utils/sort/tuplesort.c:4427 -#, c-format -msgid "Key %s is duplicated." -msgstr "Ключ %s дублируется." +#: scan.l:502 +msgid "unterminated bit string literal" +msgstr "оборванная битовая строка" -#: utils/sort/tuplesort.c:4428 -#, c-format -msgid "Duplicate keys exist." -msgstr "Данные содержат дублирующиеся ключи." +#: scan.l:516 +msgid "unterminated hexadecimal string literal" +msgstr "оборванная шестнадцатеричная строка" -#: utils/sort/tuplestore.c:518 utils/sort/tuplestore.c:528 -#: utils/sort/tuplestore.c:869 utils/sort/tuplestore.c:973 -#: utils/sort/tuplestore.c:1037 utils/sort/tuplestore.c:1054 -#: utils/sort/tuplestore.c:1256 utils/sort/tuplestore.c:1321 -#: utils/sort/tuplestore.c:1330 +#: scan.l:566 #, c-format -msgid "could not seek in tuplestore temporary file" -msgstr "не удалось переместиться во временном файле хранилища кортежей" +msgid "unsafe use of string constant with Unicode escapes" +msgstr "небезопасное использование строковой константы со спецкодами Unicode" -#: utils/sort/tuplestore.c:1477 utils/sort/tuplestore.c:1540 -#: utils/sort/tuplestore.c:1548 +#: scan.l:567 #, c-format msgid "" -"could not read from tuplestore temporary file: read only %zu of %zu bytes" +"String constants with Unicode escapes cannot be used when " +"standard_conforming_strings is off." msgstr "" -"не удалось прочитать временный файл хранилища кортежей (прочитано байт: %zu " -"из %zu)" - -#: utils/time/snapmgr.c:570 -#, c-format -msgid "The source transaction is not running anymore." -msgstr "Исходная транзакция уже не выполняется." +"Строки со спецкодами Unicode нельзя использовать, когда параметр " +"standard_conforming_strings выключен." -#: utils/time/snapmgr.c:1164 -#, c-format -msgid "cannot export a snapshot from a subtransaction" -msgstr "экспортировать снимок из вложенной транзакции нельзя" +#: scan.l:628 +msgid "unhandled previous state in xqs" +msgstr "" +"необрабатываемое предыдущее состояние при обнаружении закрывающего апострофа" -#: utils/time/snapmgr.c:1323 utils/time/snapmgr.c:1328 -#: utils/time/snapmgr.c:1333 utils/time/snapmgr.c:1348 -#: utils/time/snapmgr.c:1353 utils/time/snapmgr.c:1358 -#: utils/time/snapmgr.c:1373 utils/time/snapmgr.c:1378 -#: utils/time/snapmgr.c:1383 utils/time/snapmgr.c:1485 -#: utils/time/snapmgr.c:1501 utils/time/snapmgr.c:1526 +#: scan.l:702 #, c-format -msgid "invalid snapshot data in file \"%s\"" -msgstr "неверные данные снимка в файле \"%s\"" +msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX." +msgstr "Спецкоды Unicode должны иметь вид \\uXXXX или \\UXXXXXXXX." -#: utils/time/snapmgr.c:1420 +#: scan.l:713 #, c-format -msgid "SET TRANSACTION SNAPSHOT must be called before any query" -msgstr "команда SET TRANSACTION SNAPSHOT должна выполняться до запросов" +msgid "unsafe use of \\' in a string literal" +msgstr "небезопасное использование символа \\' в строке" -#: utils/time/snapmgr.c:1429 +#: scan.l:714 #, c-format msgid "" -"a snapshot-importing transaction must have isolation level SERIALIZABLE or " -"REPEATABLE READ" +"Use '' to write quotes in strings. \\' is insecure in client-only encodings." msgstr "" -"транзакция, импортирующая снимок, должна иметь уровень изоляции SERIALIZABLE " -"или REPEATABLE READ" +"Записывайте апостроф в строке в виде ''. Запись \\' небезопасна для " +"исключительно клиентских кодировок." -#: utils/time/snapmgr.c:1438 utils/time/snapmgr.c:1447 -#, c-format -msgid "invalid snapshot identifier: \"%s\"" -msgstr "неверный идентификатор снимка: \"%s\"" +#: scan.l:786 +msgid "unterminated dollar-quoted string" +msgstr "незавершённая строка с $" -#: utils/time/snapmgr.c:1539 -#, c-format -msgid "" -"a serializable transaction cannot import a snapshot from a non-serializable " -"transaction" -msgstr "" -"сериализуемая транзакция не может импортировать снимок из не сериализуемой" +#: scan.l:803 scan.l:813 +msgid "zero-length delimited identifier" +msgstr "пустой идентификатор в кавычках" -#: utils/time/snapmgr.c:1543 -#, c-format -msgid "" -"a non-read-only serializable transaction cannot import a snapshot from a " -"read-only transaction" -msgstr "" -"сериализуемая транзакция в режиме \"чтение-запись\" не может импортировать " -"снимок из транзакции в режиме \"только чтение\"" +#: scan.l:824 syncrep_scanner.l:101 +msgid "unterminated quoted identifier" +msgstr "незавершённый идентификатор в кавычках" -#: utils/time/snapmgr.c:1558 -#, c-format -msgid "cannot import a snapshot from a different database" -msgstr "нельзя импортировать снимок из другой базы данных" +#: scan.l:987 +msgid "operator too long" +msgstr "слишком длинный оператор" + +#: scan.l:1000 +msgid "trailing junk after parameter" +msgstr "мусорное содержимое после параметра" + +#: scan.l:1021 +msgid "invalid hexadecimal integer" +msgstr "неверное шестнадцатеричное целое" + +#: scan.l:1025 +msgid "invalid octal integer" +msgstr "неверное восьмеричное целое" + +#: scan.l:1029 +msgid "invalid binary integer" +msgstr "неверное двоичное целое" -#: gram.y:1146 +#. translator: %s is typically the translation of "syntax error" +#: scan.l:1236 #, c-format -msgid "UNENCRYPTED PASSWORD is no longer supported" -msgstr "вариант UNENCRYPTED PASSWORD более не поддерживается" +msgid "%s at end of input" +msgstr "%s в конце" -#: gram.y:1147 +#. translator: first %s is typically the translation of "syntax error" +#: scan.l:1244 #, c-format -msgid "Remove UNENCRYPTED to store the password in encrypted form instead." -msgstr "" -"Удалите слово UNENCRYPTED, чтобы сохранить пароль в зашифрованном виде." +msgid "%s at or near \"%s\"" +msgstr "%s (примерное положение: \"%s\")" -#: gram.y:1209 +#: scan.l:1434 #, c-format -msgid "unrecognized role option \"%s\"" -msgstr "нераспознанный параметр роли \"%s\"" +msgid "nonstandard use of \\' in a string literal" +msgstr "нестандартное применение \\' в строке" -#: gram.y:1474 gram.y:1490 +#: scan.l:1435 #, c-format -msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements" -msgstr "CREATE SCHEMA IF NOT EXISTS не может включать элементы схемы" +msgid "" +"Use '' to write quotes in strings, or use the escape string syntax (E'...')." +msgstr "" +"Записывайте апостроф в строках в виде '' или используйте синтаксис спецстрок " +"(E'...')." -#: gram.y:1647 +#: scan.l:1444 #, c-format -msgid "current database cannot be changed" -msgstr "сменить текущую базу данных нельзя" +msgid "nonstandard use of \\\\ in a string literal" +msgstr "нестандартное применение \\\\ в строке" -#: gram.y:1780 +#: scan.l:1445 #, c-format -msgid "time zone interval must be HOUR or HOUR TO MINUTE" +msgid "Use the escape string syntax for backslashes, e.g., E'\\\\'." msgstr "" -"интервал, задающий часовой пояс, должен иметь точность HOUR или HOUR TO " -"MINUTE" +"Используйте для записи обратных слэшей синтаксис спецстрок, например E'\\\\'." -#: gram.y:2397 +#: scan.l:1459 #, c-format -msgid "column number must be in range from 1 to %d" -msgstr "номер столбца должен быть в диапазоне от 1 до %d" +msgid "nonstandard use of escape in a string literal" +msgstr "нестандартное использование спецсимвола в строке" -#: gram.y:2999 +#: scan.l:1460 #, c-format -msgid "sequence option \"%s\" not supported here" -msgstr "параметр последовательности \"%s\" здесь не поддерживается" +msgid "Use the escape string syntax for escapes, e.g., E'\\r\\n'." +msgstr "Используйте для записи спецсимволов синтаксис спецстрок E'\\r\\n'." -#: gram.y:3028 #, c-format -msgid "modulus for hash partition provided more than once" -msgstr "модуль для хеш-секции указан неоднократно" +#~ msgid "could not identify current directory: %m" +#~ msgstr "не удалось определить текущий каталог: %m" -#: gram.y:3037 #, c-format -msgid "remainder for hash partition provided more than once" -msgstr "остаток для хеш-секции указан неоднократно" +#~ msgid "could not load library \"%s\": error code %lu" +#~ msgstr "не удалось загрузить библиотеку \"%s\" (код ошибки: %lu)" -#: gram.y:3044 #, c-format -msgid "unrecognized hash partition bound specification \"%s\"" -msgstr "нераспознанное указание ограничения хеш-секции \"%s\"" +#~ msgid "cannot create restricted tokens on this platform: error code %lu" +#~ msgstr "в этой ОС нельзя создавать ограниченные маркеры (код ошибки: %lu)" -#: gram.y:3052 #, c-format -msgid "modulus for hash partition must be specified" -msgstr "необходимо указать модуль для хеш-секции" +#~ msgid "could not remove file or directory \"%s\": %m" +#~ msgstr "ошибка при удалении файла или каталога \"%s\": %m" -#: gram.y:3056 #, c-format -msgid "remainder for hash partition must be specified" -msgstr "необходимо указать остаток для хеш-секции" +#~ msgid "tablespaces are not supported on this platform" +#~ msgstr "табличные пространства не поддерживаются на этой платформе" -#: gram.y:3264 gram.y:3298 #, c-format -msgid "STDIN/STDOUT not allowed with PROGRAM" -msgstr "указания STDIN/STDOUT несовместимы с PROGRAM" +#~ msgid "invalid record offset at %X/%X" +#~ msgstr "неверное смещение записи: %X/%X" -#: gram.y:3270 #, c-format -msgid "WHERE clause not allowed with COPY TO" -msgstr "предложение WHERE не допускается с COPY TO" +#~ msgid "missing contrecord at %X/%X" +#~ msgstr "нет записи contrecord в %X/%X" -#: gram.y:3609 gram.y:3616 gram.y:12759 gram.y:12767 #, c-format -msgid "GLOBAL is deprecated in temporary table creation" -msgstr "указание GLOBAL при создании временных таблиц устарело" +#~ msgid "invalid primary checkpoint link in control file" +#~ msgstr "неверная ссылка на первичную контрольную точку в файле pg_control" -#: gram.y:3881 #, c-format -msgid "for a generated column, GENERATED ALWAYS must be specified" -msgstr "для генерируемого столбца должно указываться GENERATED ALWAYS" +#~ msgid "invalid checkpoint link in backup_label file" +#~ msgstr "неверная ссылка на контрольную точку в файле backup_label" -#: gram.y:4264 #, c-format -msgid "a column list with %s is only supported for ON DELETE actions" -msgstr "список столбцов с %s поддерживается только для действий ON DELETE" +#~ msgid "invalid primary checkpoint record" +#~ msgstr "неверная запись первичной контрольной точки" -#: gram.y:4974 #, c-format -msgid "CREATE EXTENSION ... FROM is no longer supported" -msgstr "CREATE EXTENSION ... FROM более не поддерживается" +#~ msgid "invalid resource manager ID in primary checkpoint record" +#~ msgstr "неверный ID менеджера ресурсов в записи первичной контрольной точки" -#: gram.y:5672 #, c-format -msgid "unrecognized row security option \"%s\"" -msgstr "нераспознанный вариант политики безопасности строк \"%s\"" +#~ msgid "invalid xl_info in primary checkpoint record" +#~ msgstr "неверные флаги xl_info в записи первичной контрольной точки" -#: gram.y:5673 #, c-format -msgid "Only PERMISSIVE or RESTRICTIVE policies are supported currently." -msgstr "" -"В настоящее время поддерживаются только политики PERMISSIVE и RESTRICTIVE." +#~ msgid "invalid length of primary checkpoint record" +#~ msgstr "неверная длина записи первичной контрольной точки" -#: gram.y:5758 #, c-format -msgid "CREATE OR REPLACE CONSTRAINT TRIGGER is not supported" -msgstr "CREATE OR REPLACE CONSTRAINT TRIGGER не поддерживается" +#~ msgid "promote trigger file found: %s" +#~ msgstr "найден файл триггера повышения: %s" -#: gram.y:5795 -msgid "duplicate trigger events specified" -msgstr "события триггера повторяются" +#, c-format +#~ msgid "could not stat promote trigger file \"%s\": %m" +#~ msgstr "" +#~ "не удалось получить информацию о файле триггера повышения \"%s\": %m" -#: gram.y:5944 #, c-format -msgid "conflicting constraint properties" -msgstr "противоречащие характеристики ограничения" +#~ msgid "language with OID %u does not exist" +#~ msgstr "язык с OID %u не существует" -#: gram.y:6043 #, c-format -msgid "CREATE ASSERTION is not yet implemented" -msgstr "оператор CREATE ASSERTION ещё не реализован" +#~ msgid "operator with OID %u does not exist" +#~ msgstr "оператор с OID %u не существует" -#: gram.y:6451 #, c-format -msgid "RECHECK is no longer required" -msgstr "RECHECK более не требуется" +#~ msgid "operator class with OID %u does not exist" +#~ msgstr "класс операторов с OID %u не существует" -#: gram.y:6452 #, c-format -msgid "Update your data type." -msgstr "Обновите тип данных." +#~ msgid "operator family with OID %u does not exist" +#~ msgstr "семейство операторов с OID %u не существует" -#: gram.y:8308 #, c-format -msgid "aggregates cannot have output arguments" -msgstr "у агрегатных функций не может быть выходных аргументов" +#~ msgid "text search dictionary with OID %u does not exist" +#~ msgstr "словарь текстового поиска с OID %u не существует" -#: gram.y:10993 gram.y:11012 #, c-format -msgid "WITH CHECK OPTION not supported on recursive views" -msgstr "" -"предложение WITH CHECK OPTION не поддерживается для рекурсивных представлений" +#~ msgid "text search configuration with OID %u does not exist" +#~ msgstr "конфигурация текстового поиска с OID %u не существует" -#: gram.y:12898 #, c-format -msgid "LIMIT #,# syntax is not supported" -msgstr "синтаксис LIMIT #,# не поддерживается" +#~ msgid "conversion with OID %u does not exist" +#~ msgstr "преобразование с OID %u не существует" -#: gram.y:12899 #, c-format -msgid "Use separate LIMIT and OFFSET clauses." -msgstr "Используйте отдельные предложения LIMIT и OFFSET." +#~ msgid "extension with OID %u does not exist" +#~ msgstr "расширение с OID %u не существует" -#: gram.y:13252 gram.y:13278 #, c-format -msgid "VALUES in FROM must have an alias" -msgstr "список VALUES во FROM должен иметь псевдоним" +#~ msgid "statistics object with OID %u does not exist" +#~ msgstr "объект статистики с OID %u не существует" -#: gram.y:13253 gram.y:13279 #, c-format -msgid "For example, FROM (VALUES ...) [AS] foo." -msgstr "Например, FROM (VALUES ...) [AS] foo." +#~ msgid "must have CREATEROLE privilege" +#~ msgstr "требуется право CREATEROLE" -#: gram.y:13258 gram.y:13284 #, c-format -msgid "subquery in FROM must have an alias" -msgstr "подзапрос во FROM должен иметь псевдоним" +#~ msgid "could not form array type name for type \"%s\"" +#~ msgstr "не удалось сформировать имя типа массива для типа \"%s\"" -#: gram.y:13259 gram.y:13285 #, c-format -msgid "For example, FROM (SELECT ...) [AS] foo." -msgstr "Например, FROM (SELECT ...) [AS] foo." +#~ msgid "must be superuser to create subscriptions" +#~ msgstr "для создания подписок нужно быть суперпользователем" -#: gram.y:13803 #, c-format -msgid "only one DEFAULT value is allowed" -msgstr "допускается только одно значение DEFAULT" +#~ msgid "" +#~ "tables were not subscribed, you will have to run %s to subscribe the " +#~ "tables" +#~ msgstr "" +#~ "в подписке отсутствуют таблицы; потребуется выполнить %s, чтобы " +#~ "подписаться на таблицы" -#: gram.y:13812 #, c-format -msgid "only one PATH value per column is allowed" -msgstr "для столбца допускается только одно значение PATH" +#~ msgid "must be superuser to skip transaction" +#~ msgstr "чтобы пропустить транзакцию, нужно быть суперпользователем" -#: gram.y:13821 #, c-format -msgid "conflicting or redundant NULL / NOT NULL declarations for column \"%s\"" -msgstr "" -"конфликтующие или избыточные объявления NULL/NOT NULL для столбца \"%s\"" +#~ msgid "permission denied to change owner of subscription \"%s\"" +#~ msgstr "нет прав на изменение владельца подписки \"%s\"" -#: gram.y:13830 #, c-format -msgid "unrecognized column option \"%s\"" -msgstr "нераспознанный параметр столбца \"%s\"" +#~ msgid "The owner of a subscription must be a superuser." +#~ msgstr "Владельцем подписки должен быть суперпользователь." -#: gram.y:14084 #, c-format -msgid "precision for type float must be at least 1 bit" -msgstr "тип float должен иметь точность минимум 1 бит" +#~ msgid "" +#~ "Omit the generation expression in the definition of the child table " +#~ "column to inherit the generation expression from the parent table." +#~ msgstr "" +#~ "Уберите генерирующее выражение из определения столбца в дочерней таблице, " +#~ "чтобы это выражение наследовалось из родительской." -#: gram.y:14093 #, c-format -msgid "precision for type float must be less than 54 bits" -msgstr "тип float должен иметь точность меньше 54 бит" +#~ msgid "column \"%s\" in child table has a conflicting generation expression" +#~ msgstr "" +#~ "столбец \"%s\" в дочерней таблице содержит конфликтующее генерирующее " +#~ "выражение" -#: gram.y:14596 #, c-format -msgid "wrong number of parameters on left side of OVERLAPS expression" -msgstr "неверное число параметров в левой части выражения OVERLAPS" +#~ msgid "Foreign tables cannot have TRUNCATE triggers." +#~ msgstr "У сторонних таблиц не может быть триггеров TRUNCATE." -#: gram.y:14601 #, c-format -msgid "wrong number of parameters on right side of OVERLAPS expression" -msgstr "неверное число параметров в правой части выражения OVERLAPS" +#~ msgid "must be superuser to create superusers" +#~ msgstr "для создания суперпользователей нужно быть суперпользователем" -#: gram.y:14778 #, c-format -msgid "UNIQUE predicate is not yet implemented" -msgstr "предикат UNIQUE ещё не реализован" +#~ msgid "must be superuser to create replication users" +#~ msgstr "" +#~ "для создания пользователей-репликаторов нужно быть суперпользователем" -#: gram.y:15156 #, c-format -msgid "cannot use multiple ORDER BY clauses with WITHIN GROUP" -msgstr "ORDER BY с WITHIN GROUP можно указать только один раз" +#~ msgid "must be superuser to create bypassrls users" +#~ msgstr "" +#~ "для создания пользователей c атрибутом bypassrls нужно быть " +#~ "суперпользователем" -#: gram.y:15161 +# skip-rule: translate-superuser #, c-format -msgid "cannot use DISTINCT with WITHIN GROUP" -msgstr "DISTINCT нельзя использовать с WITHIN GROUP" +#~ msgid "" +#~ "must be superuser to alter superuser roles or change superuser attribute" +#~ msgstr "" +#~ "для модификации ролей суперпользователей или изменения атрибута superuser " +#~ "нужно быть суперпользователем" -#: gram.y:15166 #, c-format -msgid "cannot use VARIADIC with WITHIN GROUP" -msgstr "VARIADIC нельзя использовать с WITHIN GROUP" +#~ msgid "" +#~ "must be superuser to alter replication roles or change replication " +#~ "attribute" +#~ msgstr "" +#~ "для модификации ролей репликации или изменения атрибута replication нужно " +#~ "быть суперпользователем" -#: gram.y:15703 gram.y:15727 #, c-format -msgid "frame start cannot be UNBOUNDED FOLLOWING" -msgstr "началом рамки не может быть UNBOUNDED FOLLOWING" +#~ msgid "must be superuser to change bypassrls attribute" +#~ msgstr "для изменения атрибута bypassrls нужно быть суперпользователем" -#: gram.y:15708 #, c-format -msgid "frame starting from following row cannot end with current row" -msgstr "" -"рамка, начинающаяся со следующей строки, не может заканчиваться текущей" +#~ msgid "must be superuser to alter superusers" +#~ msgstr "для модификации суперпользователей нужно быть суперпользователем" -#: gram.y:15732 #, c-format -msgid "frame end cannot be UNBOUNDED PRECEDING" -msgstr "концом рамки не может быть UNBOUNDED PRECEDING" +#~ msgid "must be superuser to drop superusers" +#~ msgstr "для удаления суперпользователей нужно быть суперпользователем" -#: gram.y:15738 #, c-format -msgid "frame starting from current row cannot have preceding rows" -msgstr "" -"рамка, начинающаяся с текущей строки, не может иметь предшествующих строк" +#~ msgid "must be superuser to rename superusers" +#~ msgstr "для переименования суперпользователей нужно быть суперпользователем" -#: gram.y:15745 #, c-format -msgid "frame starting from following row cannot have preceding rows" -msgstr "" -"рамка, начинающаяся со следующей строки, не может иметь предшествующих строк" +#~ msgid "must be superuser to set grantor" +#~ msgstr "" +#~ "для назначения права управления правами нужно быть суперпользователем" -#: gram.y:16370 #, c-format -msgid "type modifier cannot have parameter name" -msgstr "параметр функции-модификатора типа должен быть безымянным" +#~ msgid "skipping \"%s\" --- only superuser can vacuum it" +#~ msgstr "" +#~ "\"%s\" пропускается --- только суперпользователь может очистить эту " +#~ "таблицу" -#: gram.y:16376 #, c-format -msgid "type modifier cannot have ORDER BY" -msgstr "модификатор типа не может включать ORDER BY" +#~ msgid "skipping \"%s\" --- only superuser or database owner can vacuum it" +#~ msgstr "" +#~ "пропускается \"%s\" --- только суперпользователь или владелец БД может " +#~ "очистить эту таблицу" -#: gram.y:16444 gram.y:16451 gram.y:16458 #, c-format -msgid "%s cannot be used as a role name here" -msgstr "%s нельзя использовать здесь как имя роли" +#~ msgid "skipping \"%s\" --- only table or database owner can vacuum it" +#~ msgstr "" +#~ "\"%s\" пропускается --- только владелец базы данных или этой таблицы " +#~ "может очистить её" -#: gram.y:16548 gram.y:17983 #, c-format -msgid "WITH TIES cannot be specified without ORDER BY clause" -msgstr "WITH TIES нельзя задать без предложения ORDER BY" +#~ msgid "skipping \"%s\" --- only superuser can analyze it" +#~ msgstr "" +#~ "\"%s\" пропускается --- только суперпользователь может анализировать этот " +#~ "объект" -#: gram.y:17662 gram.y:17849 -msgid "improper use of \"*\"" -msgstr "недопустимое использование \"*\"" +#, c-format +#~ msgid "skipping \"%s\" --- only superuser or database owner can analyze it" +#~ msgstr "" +#~ "\"%s\" пропускается --- только суперпользователь или владелец БД может " +#~ "анализировать этот объект" -#: gram.y:17913 #, c-format -msgid "" -"an ordered-set aggregate with a VARIADIC direct argument must have one " -"VARIADIC aggregated argument of the same data type" -msgstr "" -"сортирующая агрегатная функция с непосредственным аргументом VARIADIC должна " -"иметь один агрегатный аргумент VARIADIC того же типа данных" +#~ msgid "skipping \"%s\" --- only table or database owner can analyze it" +#~ msgstr "" +#~ "\"%s\" пропускается --- только владелец таблицы или БД может " +#~ "анализировать этот объект" -#: gram.y:17950 #, c-format -msgid "multiple ORDER BY clauses not allowed" -msgstr "ORDER BY можно указать только один раз" +#~ msgid "oldest xmin is far in the past" +#~ msgstr "самый старый xmin далеко в прошлом" -#: gram.y:17961 #, c-format -msgid "multiple OFFSET clauses not allowed" -msgstr "OFFSET можно указать только один раз" +#~ msgid "" +#~ "Close open transactions with multixacts soon to avoid wraparound problems." +#~ msgstr "" +#~ "Скорее закройте открытые транзакции в мультитранзакциях, чтобы избежать " +#~ "проблемы зацикливания." -#: gram.y:17970 #, c-format -msgid "multiple LIMIT clauses not allowed" -msgstr "LIMIT можно указать только один раз" +#~ msgid "unexpected EOF for tape %p: requested %zu bytes, read %zu bytes" +#~ msgstr "" +#~ "неожиданный конец файла для ленты %p: запрашивалось байт: %zu, прочитано: " +#~ "%zu" -#: gram.y:17979 #, c-format -msgid "multiple limit options not allowed" -msgstr "параметры LIMIT можно указать только один раз" +#~ msgid "" +#~ "could not read from hash-join temporary file: read only %zu of %zu bytes" +#~ msgstr "" +#~ "не удалось прочитать временный файл хеш-соединения (прочитано байт: %zu " +#~ "из %zu)" -#: gram.y:18006 #, c-format -msgid "multiple WITH clauses not allowed" -msgstr "WITH можно указать только один раз" +#~ msgid "Valid options in this context are: %s" +#~ msgstr "В данном контексте допустимы параметры: %s" -#: gram.y:18199 #, c-format -msgid "OUT and INOUT arguments aren't allowed in TABLE functions" -msgstr "в табличных функциях не может быть аргументов OUT и INOUT" +#~ msgid "could not load function _ldap_start_tls_sA in wldap32.dll" +#~ msgstr "не удалось найти функцию _ldap_start_tls_sA в wldap32.dll" -#: gram.y:18332 #, c-format -msgid "multiple COLLATE clauses not allowed" -msgstr "COLLATE можно указать только один раз" +#~ msgid "LDAP over SSL is not supported on this platform." +#~ msgstr "LDAP через SSL не поддерживается в этой ОС." -#. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:18370 gram.y:18383 #, c-format -msgid "%s constraints cannot be marked DEFERRABLE" -msgstr "ограничения %s не могут иметь характеристики DEFERRABLE" +#~ msgid "authentication file token too long, skipping: \"%s\"" +#~ msgstr "" +#~ "слишком длинный элемент в файле конфигурации безопасности пропускается: " +#~ "\"%s\"" -#. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:18396 #, c-format -msgid "%s constraints cannot be marked NOT VALID" -msgstr "ограничения %s не могут иметь характеристики NOT VALID" +#~ msgid "could not open secondary authentication file \"@%s\" as \"%s\": %m" +#~ msgstr "" +#~ "не удалось открыть дополнительный файл конфигурации безопасности \"@%s\" " +#~ "как \"%s\": %m" -#. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:18409 #, c-format -msgid "%s constraints cannot be marked NO INHERIT" -msgstr "ограничения %s не могут иметь характеристики NO INHERIT" +#~ msgid "local connections are not supported by this build" +#~ msgstr "локальные подключения не поддерживаются в этой сборке" -#: gram.y:18433 #, c-format -msgid "invalid publication object list" -msgstr "неверный список объектов публикации" +#~ msgid "could not open usermap file \"%s\": %m" +#~ msgstr "не удалось открыть файл сопоставлений пользователей \"%s\": %m" -#: gram.y:18434 #, c-format -msgid "" -"One of TABLE or TABLES IN SCHEMA must be specified before a standalone table " -"or schema name." -msgstr "" -"Перед именем отдельной таблицы или схемы нужно указать TABLE либо TABLES IN " -"SCHEMA." +#~ msgid "" +#~ " -n do not reinitialize shared memory after abnormal " +#~ "exit\n" +#~ msgstr "" +#~ " -n не переинициализировать разделяемую память после\n" +#~ " аварийного выхода\n" -#: gram.y:18450 #, c-format -msgid "invalid table name at or near" -msgstr "неверное имя таблицы:" +#~ msgid "generated columns are not supported on partitions" +#~ msgstr "генерируемые столбцы не поддерживаются с секциями" -#: gram.y:18471 #, c-format -msgid "WHERE clause not allowed for schema" -msgstr "предложение WHERE не допускается для схемы" +#~ msgid "could not load pg_hba.conf" +#~ msgstr "не удалось загрузить pg_hba.conf" -#: gram.y:18478 #, c-format -msgid "column specification not allowed for schema" -msgstr "указание столбца не допускается для схемы" +#~ msgid "select() failed in postmaster: %m" +#~ msgstr "сбой select() в postmaster'е: %m" -#: gram.y:18492 #, c-format -msgid "invalid schema name at or near" -msgstr "неверное имя схемы:" +#~ msgid "You might need to increase max_logical_replication_workers." +#~ msgstr "" +#~ "Возможно, следует увеличить параметр max_logical_replication_workers." -#: guc-file.l:314 #, c-format -msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %d" -msgstr "нераспознанный параметр конфигурации \"%s\" в файле \"%s\", строке %d" +#~ msgid "You might need to increase max_worker_processes." +#~ msgstr "Возможно, следует увеличить параметр max_worker_processes." -#: guc-file.l:389 #, c-format -msgid "parameter \"%s\" removed from configuration file, reset to default" -msgstr "" -"параметр \"%s\" удалён из файла конфигурации, он принимает значение по " -"умолчанию" +#~ msgid "logical decoding cannot be used while in recovery" +#~ msgstr "" +#~ "логическое декодирование нельзя использовать в процессе восстановления" -#: guc-file.l:454 #, c-format -msgid "parameter \"%s\" changed to \"%s\"" -msgstr "параметр \"%s\" принял значение \"%s\"" +#~ msgid "" +#~ "could not read from streaming transaction's changes file \"%s\": read " +#~ "only %zu of %zu bytes" +#~ msgstr "" +#~ "не удалось прочитать файл изменений потоковых транзакций " +#~ "\"%s\" (прочитано байт: %zu из %zu)" -#: guc-file.l:496 #, c-format -msgid "configuration file \"%s\" contains errors" -msgstr "файл конфигурации \"%s\" содержит ошибки" +#~ msgid "" +#~ "could not read from streaming transaction's subxact file \"%s\": read " +#~ "only %zu of %zu bytes" +#~ msgstr "" +#~ "не удалось прочитать файл потоковых подтранзакций \"%s\" (прочитано байт: " +#~ "%zu из %zu)" -#: guc-file.l:501 #, c-format -msgid "" -"configuration file \"%s\" contains errors; unaffected changes were applied" -msgstr "" -"файл конфигурации \"%s\" содержит ошибки; были применены не зависимые " -"изменения" +#~ msgid "must be superuser or replication role to use replication slots" +#~ msgstr "" +#~ "для использования слотов репликации требуется роль репликации или права " +#~ "суперпользователя" -#: guc-file.l:506 #, c-format -msgid "configuration file \"%s\" contains errors; no changes were applied" -msgstr "файл конфигурации \"%s\" содержит ошибки; изменения не были применены" +#~ msgid "" +#~ "invalidating slot \"%s\" because its restart_lsn %X/%X exceeds " +#~ "max_slot_wal_keep_size" +#~ msgstr "" +#~ "слот \"%s\" аннулируется, так как его позиция restart_lsn %X/%X превышает " +#~ "max_slot_wal_keep_size" -#: guc-file.l:578 #, c-format -msgid "empty configuration file name: \"%s\"" -msgstr "пустое имя файла конфигурации: \"%s\"" +#~ msgid "cannot read from logical replication slot \"%s\"" +#~ msgstr "прочитать из слота логической репликации \"%s\" нельзя" -#: guc-file.l:595 #, c-format -msgid "" -"could not open configuration file \"%s\": maximum nesting depth exceeded" -msgstr "" -"открыть файл конфигурации \"%s\" не удалось: превышен предел вложенности" +#~ msgid "cannot convert partitioned table \"%s\" to a view" +#~ msgstr "" +#~ "преобразовать секционированную таблицу \"%s\" в представление нельзя" -#: guc-file.l:615 #, c-format -msgid "configuration file recursion in \"%s\"" -msgstr "рекурсивная вложенность файла конфигурации в \"%s\"" +#~ msgid "cannot convert partition \"%s\" to a view" +#~ msgstr "преобразовать секцию \"%s\" в представление нельзя" -#: guc-file.l:642 #, c-format -msgid "skipping missing configuration file \"%s\"" -msgstr "отсутствующий файл конфигурации \"%s\" пропускается" +#~ msgid "could not convert table \"%s\" to a view because it is not empty" +#~ msgstr "" +#~ "не удалось преобразовать таблицу \"%s\" в представление, так как она не " +#~ "пуста1" -#: guc-file.l:896 #, c-format -msgid "syntax error in file \"%s\" line %u, near end of line" -msgstr "ошибка синтаксиса в файле \"%s\", в конце строки %u" +#~ msgid "could not convert table \"%s\" to a view because it has triggers" +#~ msgstr "" +#~ "не удалось преобразовать таблицу \"%s\" в представление, так как она " +#~ "содержит триггеры" -#: guc-file.l:906 #, c-format -msgid "syntax error in file \"%s\" line %u, near token \"%s\"" -msgstr "ошибка синтаксиса в файле \"%s\", в строке %u, рядом с \"%s\"" +#~ msgid "" +#~ "In particular, the table cannot be involved in any foreign key " +#~ "relationships." +#~ msgstr "" +#~ "Кроме того, таблица не может быть задействована в ссылках по внешнему " +#~ "ключу." -#: guc-file.l:926 #, c-format -msgid "too many syntax errors found, abandoning file \"%s\"" -msgstr "" -"обнаружено слишком много синтаксических ошибок, обработка файла \"%s\" " -"прекращается" +#~ msgid "could not convert table \"%s\" to a view because it has indexes" +#~ msgstr "" +#~ "не удалось преобразовать таблицу \"%s\" в представление, так как она " +#~ "имеет индексы" -#: guc-file.l:981 #, c-format -msgid "empty configuration directory name: \"%s\"" -msgstr "пустое имя каталога конфигурации: \"%s\"" +#~ msgid "could not convert table \"%s\" to a view because it has child tables" +#~ msgstr "" +#~ "не удалось преобразовать таблицу \"%s\" в представление, так как она " +#~ "имеет подчинённые таблицы" -#: guc-file.l:1000 #, c-format -msgid "could not open configuration directory \"%s\": %m" -msgstr "открыть каталог конфигурации \"%s\" не удалось: %m" +#~ msgid "" +#~ "could not convert table \"%s\" to a view because it has parent tables" +#~ msgstr "" +#~ "не удалось преобразовать таблицу \"%s\" в представление, так как она " +#~ "имеет родительские таблицы" -#: jsonpath_gram.y:530 #, c-format -msgid "Unrecognized flag character \"%.*s\" in LIKE_REGEX predicate." -msgstr "Нераспознанный символ флага \"%.*s\" в предикате LIKE_REGEX." +#~ msgid "" +#~ "could not convert table \"%s\" to a view because it has row security " +#~ "enabled" +#~ msgstr "" +#~ "не удалось преобразовать таблицу \"%s\" в представление, так как для неё " +#~ "включена защита на уровне строк" -#: jsonpath_gram.y:584 #, c-format -msgid "XQuery \"x\" flag (expanded regular expressions) is not implemented" -msgstr "" -"флаг \"x\" языка XQuery (расширенные регулярные выражения) не реализован" +#~ msgid "" +#~ "could not convert table \"%s\" to a view because it has row security " +#~ "policies" +#~ msgstr "" +#~ "не удалось преобразовать таблицу \"%s\" в представление, так как к ней " +#~ "применены политики защиты строк" -#. translator: %s is typically "syntax error" -#: jsonpath_scan.l:282 #, c-format -msgid "%s at end of jsonpath input" -msgstr "%s в конце аргумента jsonpath" +#~ msgid "could not link file \"%s\" to \"%s\": %m" +#~ msgstr "для файла \"%s\" не удалось создать ссылку \"%s\": %m" -#. translator: first %s is typically "syntax error" -#: jsonpath_scan.l:289 #, c-format -msgid "%s at or near \"%s\" of jsonpath input" -msgstr "%s в строке jsonpath (примерное положение: \"%s\")" +#~ msgid "must be a superuser to terminate superuser process" +#~ msgstr "прерывать процесс суперпользователя может только суперпользователь" -#: repl_gram.y:303 repl_gram.y:335 #, c-format -msgid "invalid timeline %u" -msgstr "неверная линия времени %u" +#~ msgid "" +#~ "must be a member of the role whose process is being terminated or member " +#~ "of pg_signal_backend" +#~ msgstr "" +#~ "необходимо быть членом роли, процесс которой прерывается, или роли " +#~ "pg_signal_backend" -#: repl_scanner.l:142 -msgid "invalid streaming start location" -msgstr "неверная позиция начала потока" +#, c-format +#~ msgid "must be a superuser to cancel superuser query" +#~ msgstr "для отмены запроса суперпользователя нужно быть суперпользователем" -#: repl_scanner.l:199 scan.l:724 -msgid "unterminated quoted string" -msgstr "незавершённая строка в кавычках" +#, c-format +#~ msgid "" +#~ "must be a member of the role whose query is being canceled or member of " +#~ "pg_signal_backend" +#~ msgstr "" +#~ "необходимо быть членом роли, запрос которой отменяется, или роли " +#~ "pg_signal_backend" -#: scan.l:465 -msgid "unterminated /* comment" -msgstr "незавершённый комментарий /*" +#, c-format +#~ msgid "You might need to increase max_locks_per_transaction." +#~ msgstr "Возможно, следует увеличить параметр max_locks_per_transaction." -#: scan.l:485 -msgid "unterminated bit string literal" -msgstr "оборванная битовая строка" +#, c-format +#~ msgid "You might need to increase max_pred_locks_per_transaction." +#~ msgstr "" +#~ "Возможно, следует увеличить значение параметра max_locks_per_transaction." -#: scan.l:499 -msgid "unterminated hexadecimal string literal" -msgstr "оборванная шестнадцатеричная строка" +#, c-format +#~ msgid "" +#~ "must be superuser or have privileges of pg_checkpoint to do CHECKPOINT" +#~ msgstr "" +#~ "для выполнения CHECKPOINT нужно быть суперпользователем или иметь права " +#~ "роли pg_checkpoint" -#: scan.l:549 #, c-format -msgid "unsafe use of string constant with Unicode escapes" -msgstr "небезопасное использование строковой константы со спецкодами Unicode" +#~ msgid "argument %d cannot be null" +#~ msgstr "аргумент %d не может быть NULL" -#: scan.l:550 #, c-format -msgid "" -"String constants with Unicode escapes cannot be used when " -"standard_conforming_strings is off." -msgstr "" -"Строки со спецкодами Unicode нельзя использовать, когда параметр " -"standard_conforming_strings выключен." +#~ msgid "Object keys should be text." +#~ msgstr "Ключи объектов должны быть текстовыми." -#: scan.l:611 -msgid "unhandled previous state in xqs" -msgstr "" -"необрабатываемое предыдущее состояние при обнаружении закрывающего апострофа" +#, c-format +#~ msgid "Apply system library package updates." +#~ msgstr "Обновите пакет с системной библиотекой." -#: scan.l:685 #, c-format -msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX." -msgstr "Спецкоды Unicode должны иметь вид \\uXXXX или \\UXXXXXXXX." +#~ msgid "gtsvector_in not implemented" +#~ msgstr "функция gtsvector_in не реализована" -#: scan.l:696 #, c-format -msgid "unsafe use of \\' in a string literal" -msgstr "небезопасное использование символа \\' в строке" +#~ msgid " GSS (authenticated=%s, encrypted=%s)" +#~ msgstr " GSS (аутентификация=%s, шифрование=%s)" -#: scan.l:697 #, c-format -msgid "" -"Use '' to write quotes in strings. \\' is insecure in client-only encodings." -msgstr "" -"Записывайте апостроф в строке в виде ''. Запись \\' небезопасна для " -"исключительно клиентских кодировок." +#~ msgid "must be superuser or replication role to start walsender" +#~ msgstr "" +#~ "для запуска процесса walsender требуется роль репликации или права " +#~ "суперпользователя" -#: scan.l:769 -msgid "unterminated dollar-quoted string" -msgstr "незавершённая строка с $" +#~ msgid "" +#~ "Number of transactions by which VACUUM and HOT cleanup should be " +#~ "deferred, if any." +#~ msgstr "" +#~ "Определяет, на сколько транзакций следует задержать старые строки, " +#~ "выполняя VACUUM или \"горячее\" обновление." -#: scan.l:786 scan.l:796 -msgid "zero-length delimited identifier" -msgstr "пустой идентификатор в кавычках" +#~ msgid "Specifies a file name whose presence ends recovery in the standby." +#~ msgstr "" +#~ "Задаёт имя файла, присутствие которого выводит ведомый из режима " +#~ "восстановления." -#: scan.l:807 syncrep_scanner.l:91 -msgid "unterminated quoted identifier" -msgstr "незавершённый идентификатор в кавычках" +#~ msgid "Shows the collation order locale." +#~ msgstr "Показывает правило сортировки." -#: scan.l:970 -msgid "operator too long" -msgstr "слишком длинный оператор" +#~ msgid "Shows the character classification and case conversion locale." +#~ msgstr "" +#~ "Показывает правило классификации символов и преобразования регистра." -#: scan.l:983 -msgid "trailing junk after parameter" -msgstr "мусорное содержимое после параметра" +#~ msgid "Forces use of parallel query facilities." +#~ msgstr "Принудительно включает режим параллельного выполнения запросов." -#: scan.l:1008 scan.l:1012 scan.l:1016 scan.l:1020 -msgid "trailing junk after numeric literal" -msgstr "мусорное содержимое после числовой константы" +#~ msgid "" +#~ "If possible, run query using a parallel worker and with parallel " +#~ "restrictions." +#~ msgstr "" +#~ "Если возможно, запрос выполняется параллельными исполнителями и с " +#~ "ограничениями параллельности." -#. translator: %s is typically the translation of "syntax error" -#: scan.l:1183 #, c-format -msgid "%s at end of input" -msgstr "%s в конце" +#~ msgid "" +#~ "must be superuser or have privileges of pg_read_all_settings to examine " +#~ "\"%s\"" +#~ msgstr "" +#~ "чтобы прочитать \"%s\", нужно быть суперпользователем или иметь права " +#~ "роли pg_read_all_settings" -#. translator: first %s is typically the translation of "syntax error" -#: scan.l:1191 #, c-format -msgid "%s at or near \"%s\"" -msgstr "%s (примерное положение: \"%s\")" +#~ msgid "" +#~ "could not read block %ld of temporary file: read only %zu of %zu bytes" +#~ msgstr "" +#~ "не удалось прочитать блок %ld временного файла (прочитано байт: %zu из " +#~ "%zu)" -#: scan.l:1382 #, c-format -msgid "nonstandard use of \\' in a string literal" -msgstr "нестандартное применение \\' в строке" +#~ msgid "could not read from shared tuplestore temporary file" +#~ msgstr "не удалось прочитать файл общего временного хранилища кортежей" -#: scan.l:1383 #, c-format -msgid "" -"Use '' to write quotes in strings, or use the escape string syntax (E'...')." -msgstr "" -"Записывайте апостроф в строках в виде '' или используйте синтаксис спецстрок " -"(E'...')." +#~ msgid "" +#~ "could not read from shared tuplestore temporary file: read only %zu of " +#~ "%zu bytes" +#~ msgstr "" +#~ "не удалось прочитать файл общего временного хранилища кортежей (прочитано " +#~ "байт: %zu из %zu)" -#: scan.l:1392 #, c-format -msgid "nonstandard use of \\\\ in a string literal" -msgstr "нестандартное применение \\\\ в строке" +#~ msgid "" +#~ "could not read from tuplestore temporary file: read only %zu of %zu bytes" +#~ msgstr "" +#~ "не удалось прочитать временный файл хранилища кортежей (прочитано байт: " +#~ "%zu из %zu)" -#: scan.l:1393 #, c-format -msgid "Use the escape string syntax for backslashes, e.g., E'\\\\'." -msgstr "" -"Используйте для записи обратных слэшей синтаксис спецстрок, например E'\\\\'." +#~ msgid "VALUES in FROM must have an alias" +#~ msgstr "список VALUES во FROM должен иметь псевдоним" -#: scan.l:1407 #, c-format -msgid "nonstandard use of escape in a string literal" -msgstr "нестандартное использование спецсимвола в строке" +#~ msgid "For example, FROM (VALUES ...) [AS] foo." +#~ msgstr "Например, FROM (VALUES ...) [AS] foo." -#: scan.l:1408 #, c-format -msgid "Use the escape string syntax for escapes, e.g., E'\\r\\n'." -msgstr "Используйте для записи спецсимволов синтаксис спецстрок E'\\r\\n'." +#~ msgid "subquery in FROM must have an alias" +#~ msgstr "подзапрос во FROM должен иметь псевдоним" #, c-format -#~ msgid "could not read from temporary file: %m" -#~ msgstr "не удалось прочитать из временного файла: %m" +#~ msgid "For example, FROM (SELECT ...) [AS] foo." +#~ msgstr "Например, FROM (SELECT ...) [AS] foo." #, c-format -#~ msgid "cannot use invalid index \"%s\" as replica identity" -#~ msgstr "" -#~ "для идентификации реплики нельзя использовать нерабочий индекс \"%s\"" +#~ msgid "could not read from temporary file: %m" +#~ msgstr "не удалось прочитать из временного файла: %m" #, c-format #~ msgid "Triggers on partitioned tables cannot have transition tables." @@ -33120,9 +34403,6 @@ msgstr "Используйте для записи спецсимволов си #~ msgid "invalid list syntax for \"publish\" option" #~ msgstr "неверный синтаксис параметра \"publish\"" -#~ msgid "unrecognized \"publish\" value: \"%s\"" -#~ msgstr "нераспознанное значение \"publish\": \"%s\"" - #~ msgid "" #~ "Table \"%s\" in schema \"%s\" is already part of the publication, adding " #~ "the same schema is not supported." @@ -33182,26 +34462,6 @@ msgstr "Используйте для записи спецсимволов си #~ "для правила сортировки в базе данных \"%s\" версия фактически не " #~ "определена, но при этом она записана" -#, fuzzy -#~ msgid "unrecognized JSON encoding: %s" -#~ msgstr "нераспознанная кодировка: \"%s\"" - -#, fuzzy -#~ msgid "cannot use JSON format with non-string output types" -#~ msgstr "привести строку jsonb к типу %s нельзя" - -#, fuzzy -#~ msgid "unsupported JSON encoding" -#~ msgstr "неподдерживаемый код формата: %d" - -#, fuzzy -#~ msgid "returning SETOF types is not supported in SQL/JSON functions" -#~ msgstr "для SQL-функций тип возврата %s не поддерживается" - -#, fuzzy -#~ msgid "cannot use type %s in IS JSON predicate" -#~ msgstr "в предикате индекса нельзя использовать агрегатные функции" - #, fuzzy #~ msgid "JSON_TABLE path name is not allowed here" #~ msgstr "SELECT ... INTO здесь не допускается" @@ -33234,10 +34494,6 @@ msgstr "Используйте для записи спецсимволов си #~ msgid "invalid JSON_TABLE expression" #~ msgstr "неверное регулярное выражение: %s" -#, fuzzy -#~ msgid "duplicate JSON key %s" -#~ msgstr "Данные содержат дублирующиеся ключи." - #~ msgid "fatal: " #~ msgstr "важно: " @@ -33462,9 +34718,6 @@ msgstr "Используйте для записи спецсимволов си #~ msgid " -x NUM internal use\n" #~ msgstr " -x ЧИСЛО параметр для внутреннего использования\n" -#~ msgid "too many range table entries" -#~ msgstr "слишком много элементов RTE" - #~ msgid "column alias list for \"%s\" has too many entries" #~ msgstr "слишком много записей в списке псевдонимов столбца \"%s\"" @@ -33703,10 +34956,6 @@ msgstr "Используйте для записи спецсимволов си #~ msgid "distance in phrase operator should not be greater than %d" #~ msgstr "дистанция во фразовом операторе должна быть не больше %d" -#, fuzzy -#~ msgid "invalid hexadecimal digit" -#~ msgstr "неверная шестнадцатеричная цифра: \"%c\"" - #~ msgid "pclose failed: %m" #~ msgstr "ошибка pclose: %m" @@ -34009,9 +35258,6 @@ msgstr "Используйте для записи спецсимволов си #~ msgid "could not reread block %d of file \"%s\": %m" #~ msgstr "не удалось заново прочитать блок %d файла \"%s\": %m" -#~ msgid "logical replication launcher started" -#~ msgstr "процесс запуска логической репликации запущен" - #~ msgid "only superusers can query or manipulate replication origins" #~ msgstr "" #~ "запрашивать или модифицировать источники репликации могут только " @@ -34478,13 +35724,6 @@ msgstr "Используйте для записи спецсимволов си #~ msgid "could not write to tuplestore temporary file: %m" #~ msgstr "не удалось записать во временный файл источника кортежей: %m" -#~ msgid "" -#~ "Unicode escape values cannot be used for code point values above 007F " -#~ "when the server encoding is not UTF8" -#~ msgstr "" -#~ "Спецкоды Unicode для значений выше 007F можно использовать только с " -#~ "серверной кодировкой UTF8" - #~ msgid "replication origin %d is already active for PID %d" #~ msgstr "источник репликации %d уже занят процессом с PID %d" @@ -35423,9 +36662,6 @@ msgstr "Используйте для записи спецсимволов си #~ msgid "cannot create range partition with empty range" #~ msgstr "создать диапазонную секцию с пустым диапазоном нельзя" -#~ msgid "could get display name for locale \"%s\": %s" -#~ msgstr "не удалось получить отображаемое название локали \"%s\": %s" - #~ msgid "synchronized table states" #~ msgstr "состояние таблиц синхронизировано" diff --git a/src/backend/po/sv.po b/src/backend/po/sv.po index 7a4675cc1c1..80f24ba9b06 100644 --- a/src/backend/po/sv.po +++ b/src/backend/po/sv.po @@ -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-08-25 07:16+0000\n" -"PO-Revision-Date: 2023-08-27 10:31+0200\n" +"POT-Creation-Date: 2023-08-31 19:45+0000\n" +"PO-Revision-Date: 2023-08-31 22:02+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -190,7 +190,7 @@ msgstr "kunde inte öppna fil \"%s\": %m" #: access/transam/twophase.c:1744 access/transam/twophase.c:1753 #: access/transam/xlog.c:8755 access/transam/xlogfuncs.c:708 #: backup/basebackup_server.c:175 backup/basebackup_server.c:268 -#: postmaster/postmaster.c: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 #, c-format @@ -223,8 +223,8 @@ msgstr "kunde inte fsync:a fil \"%s\": %m" #: access/transam/xlogrecovery.c:589 lib/dshash.c:253 libpq/auth.c:1345 #: libpq/auth.c:1389 libpq/auth.c:1946 libpq/be-secure-gssapi.c:524 #: postmaster/bgworker.c:352 postmaster/bgworker.c:934 -#: postmaster/postmaster.c:2534 postmaster/postmaster.c:4127 -#: postmaster/postmaster.c:5495 postmaster/postmaster.c:5866 +#: postmaster/postmaster.c:2537 postmaster/postmaster.c:4130 +#: postmaster/postmaster.c:5498 postmaster/postmaster.c:5869 #: replication/libpqwalreceiver/libpqwalreceiver.c:308 #: replication/logical/logical.c:208 replication/walsender.c:686 #: storage/buffer/localbuf.c:601 storage/file/fd.c:866 storage/file/fd.c:1397 @@ -320,7 +320,7 @@ msgstr "kunde inte göra stat() på fil \"%s\": %m" #: ../common/file_utils.c:162 ../common/pgfnames.c:48 ../common/rmtree.c:63 #: commands/tablespace.c:734 commands/tablespace.c:744 -#: postmaster/postmaster.c:1561 storage/file/fd.c:2880 +#: 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" @@ -455,7 +455,7 @@ msgstr "tips: " #: ../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 +#: 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 #, c-format @@ -628,7 +628,7 @@ msgstr "kunde inte sätta knutpunkt (junction) för \"%s\": %s" #: ../port/dirmod.c:287 #, c-format msgid "could not set junction for \"%s\": %s\n" -msgstr "kunde inte sätta knutpunkt (junktion) för \"%s\": %s\n" +msgstr "kunde inte sätta knutpunkt (junction) för \"%s\": %s\n" #: ../port/dirmod.c:364 #, c-format @@ -1221,12 +1221,12 @@ msgstr "kunde inte skriva till fil \"%s\", skrev %d av %d: %m." #: access/transam/xlog.c:3938 access/transam/xlog.c:8744 #: access/transam/xlogfuncs.c:702 backup/basebackup_server.c:151 #: backup/basebackup_server.c:244 commands/dbcommands.c:518 -#: postmaster/postmaster.c:4554 postmaster/postmaster.c:5557 +#: postmaster/postmaster.c:4557 postmaster/postmaster.c:5560 #: replication/logical/origin.c:603 replication/slot.c:1777 #: storage/file/copydir.c:157 storage/smgr/md.c:232 utils/time/snapmgr.c:1263 #, c-format msgid "could not create file \"%s\": %m" -msgstr "kan inte skapa fil \"%s\": %m" +msgstr "kunde inte skapa fil \"%s\": %m" #: access/heap/rewriteheap.c:1138 #, c-format @@ -1237,7 +1237,7 @@ msgstr "kunde inte trunkera fil \"%s\" till %u: %m" #: 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 +#: 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 @@ -2890,12 +2890,12 @@ msgstr "WAL-fil är från ett annat databassystem: WAL-filens databassystemident #: access/transam/xlogreader.c:1265 #, 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 sidhuvuid" +msgstr "WAL-fil är från ett annat databassystem: inkorrekt segmentstorlek i sidhuvud" #: access/transam/xlogreader.c:1271 #, 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 sidhuvuid" +msgstr "WAL-fil är från ett annat databassystem: inkorrekt XLOG_BLCKSZ i sidhuvud" #: access/transam/xlogreader.c:1303 #, c-format @@ -2925,7 +2925,7 @@ msgstr "BKPBLOCK_HAS_DATA är ej satt men datalängden är %u vid %X/%X" #: access/transam/xlogreader.c:1802 #, 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 block-image-längd %u vid %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:1818 #, c-format @@ -2935,12 +2935,12 @@ msgstr "BKPIMAGE_HAS_HOLE är inte satt men håloffset %u längd %u vid %X/%X" #: access/transam/xlogreader.c:1832 #, c-format msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" -msgstr "BKPIMAGE_COMPRESSED är satt men block-image-längd %u vid %X/%X" +msgstr "BKPIMAGE_COMPRESSED är satt men blockavbildlängd %u vid %X/%X" #: access/transam/xlogreader.c:1847 #, 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 block-image-längd är %u vid %X/%X" +msgstr "varken BKPIMAGE_HAS_HOLE eller BKPIMAGE_COMPRESSED är satt men blockavbildlängd är %u vid %X/%X" #: access/transam/xlogreader.c:1863 #, c-format @@ -2970,22 +2970,22 @@ msgstr "kunde inte återställa avbild vid %X/%X med ogiltigt block %d angivet" #: access/transam/xlogreader.c:2059 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" -msgstr "kunde inte återställa image vid %X/%X med ogiltigt state, block %d" +msgstr "kunde inte återställa avbild vid %X/%X med ogiltigt state, block %d" #: access/transam/xlogreader.c:2086 access/transam/xlogreader.c:2103 #, c-format msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d" -msgstr "kunde inte återställa image vid %X/%X, komprimerad med %s stöds inte av bygget, 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:2112 #, c-format msgid "could not restore image at %X/%X compressed with unknown method, block %d" -msgstr "kunde inte återställa image vid %X/%X, komprimerad med okänd metod, block %d" +msgstr "kunde inte återställa avbild vid %X/%X, komprimerad med okänd metod, block %d" #: access/transam/xlogreader.c:2120 #, c-format msgid "could not decompress image at %X/%X, block %d" -msgstr "kunde inte packa upp image vid %X/%X, block %d" +msgstr "kunde inte packa upp avbild vid %X/%X, block %d" #: access/transam/xlogrecovery.c:547 #, c-format @@ -3460,7 +3460,7 @@ msgstr "Det misslyckade arkiveringskommandot var: %s" msgid "archive command was terminated by exception 0x%X" msgstr "arkiveringskommandot terminerades med avbrott 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 "Se C-include-fil \"ntstatus.h\" för en beskrivning av det hexdecimala värdet." @@ -3549,7 +3549,7 @@ msgstr "okänd manifestflagga: \"%s\"" #: backup/basebackup.c:846 #, c-format msgid "unrecognized checksum algorithm: \"%s\"" -msgstr "okänd checksum-algoritm: \"%s\"" +msgstr "okänd algoritm för kontrollsumma: \"%s\"" #: backup/basebackup.c:881 #, c-format @@ -9368,8 +9368,8 @@ msgstr "preparerad sats \"%s\" finns inte" msgid "must be superuser to create custom procedural language" msgstr "måste vara en superuser för att skapa ett eget procedurspråk" -#: commands/publicationcmds.c:131 postmaster/postmaster.c:1205 -#: postmaster/postmaster.c:1303 storage/file/fd.c:3911 +#: commands/publicationcmds.c:131 postmaster/postmaster.c:1208 +#: postmaster/postmaster.c:1306 storage/file/fd.c:3911 #: utils/init/miscinit.c:1815 #, c-format msgid "invalid list syntax in parameter \"%s\"" @@ -16374,7 +16374,7 @@ msgstr "%s kan inte appliceras på den nullbara sidan av en outer join" #: parser/analyze.c:3231 #, c-format msgid "%s is not allowed with UNION/INTERSECT/EXCEPT" -msgstr "%s tillåẗs inte med UNION/INTERSECT/EXCEPT" +msgstr "%s tillåts inte med UNION/INTERSECT/EXCEPT" #: optimizer/plan/planner.c:2082 optimizer/plan/planner.c:4040 #, c-format @@ -19447,93 +19447,93 @@ msgstr "%s: ogiltiga datumtokentabeller, det behöver lagas\n" msgid "could not create I/O completion port for child queue" msgstr "kunde inte skapa \"I/O completion port\" för barnkö" -#: postmaster/postmaster.c:1164 +#: postmaster/postmaster.c:1175 #, c-format msgid "ending log output to stderr" msgstr "avslutar loggutmatning till stderr" -#: postmaster/postmaster.c:1165 +#: postmaster/postmaster.c:1176 #, c-format msgid "Future log output will go to log destination \"%s\"." msgstr "Framtida loggutmatning kommer gå till logg-destination \"%s\"." -#: postmaster/postmaster.c:1176 +#: postmaster/postmaster.c:1187 #, c-format msgid "starting %s" msgstr "startar %s" -#: postmaster/postmaster.c:1236 +#: postmaster/postmaster.c:1239 #, c-format msgid "could not create listen socket for \"%s\"" msgstr "kunde inte skapa lyssnande uttag (socket) för \"%s\"" -#: postmaster/postmaster.c:1242 +#: postmaster/postmaster.c:1245 #, c-format msgid "could not create any TCP/IP sockets" msgstr "kunde inte skapa TCP/IP-uttag (socket)" -#: postmaster/postmaster.c:1274 +#: postmaster/postmaster.c:1277 #, c-format msgid "DNSServiceRegister() failed: error code %ld" msgstr "DNSServiceRegister() misslyckades: felkod %ld" -#: postmaster/postmaster.c:1325 +#: postmaster/postmaster.c:1328 #, c-format msgid "could not create Unix-domain socket in directory \"%s\"" msgstr "kunde inte skapa unix-domän-uttag (socket) i katalog \"%s\"" -#: postmaster/postmaster.c:1331 +#: postmaster/postmaster.c:1334 #, c-format msgid "could not create any Unix-domain sockets" msgstr "kunde inte skapa något Unix-domän-uttag (socket)" -#: postmaster/postmaster.c:1342 +#: postmaster/postmaster.c:1345 #, c-format msgid "no socket created for listening" msgstr "inget uttag (socket) skapat för lyssnande" -#: 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: kunde inte ändra rättigheter på extern PID-fil \"%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: kunde inte skriva extern PID-fil \"%s\": %s\n" #. translator: %s is a configuration file -#: postmaster/postmaster.c:1405 utils/init/postinit.c:221 +#: postmaster/postmaster.c:1408 utils/init/postinit.c:221 #, c-format msgid "could not load %s" msgstr "kunde inte ladda \"%s\"" -#: postmaster/postmaster.c:1431 +#: postmaster/postmaster.c:1434 #, c-format msgid "postmaster became multithreaded during startup" msgstr "postmaster blev flertrådad under uppstart" -#: postmaster/postmaster.c:1432 +#: postmaster/postmaster.c:1435 #, c-format msgid "Set the LC_ALL environment variable to a valid locale." msgstr "Sätt omgivningsvariabeln LC_ALL till en giltig lokal." -#: postmaster/postmaster.c:1533 +#: postmaster/postmaster.c:1536 #, c-format msgid "%s: could not locate my own executable path" msgstr "%s: kunde inte hitta min egna körbara fils sökväg" -#: postmaster/postmaster.c:1540 +#: postmaster/postmaster.c:1543 #, c-format msgid "%s: could not locate matching postgres executable" msgstr "%s: kunde inte hitta matchande postgres-binär" -#: 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 "Detta tyder på en inkomplett PostgreSQL-installation alternativt att filen \"%s\" har flyttats bort från sin korrekta plats." -#: postmaster/postmaster.c:1590 +#: postmaster/postmaster.c:1593 #, c-format msgid "" "%s: could not find the database system\n" @@ -19545,460 +19545,460 @@ msgstr "" "men kunde inte öppna filen \"%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 "skickar %s till motsträviga barn" -#: postmaster/postmaster.c:1909 +#: postmaster/postmaster.c:1912 #, c-format msgid "performing immediate shutdown because data directory lock file is invalid" msgstr "stänger ner omedelbart då datakatalogens låsfil är ogiltig" -#: postmaster/postmaster.c:1984 postmaster/postmaster.c:2012 +#: postmaster/postmaster.c:1987 postmaster/postmaster.c:2015 #, c-format msgid "incomplete startup packet" msgstr "ofullständigt startuppaket" -#: 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 "ogiltig längd på startuppaket" -#: postmaster/postmaster.c:2058 +#: postmaster/postmaster.c:2061 #, c-format msgid "failed to send SSL negotiation response: %m" msgstr "misslyckades att skicka SSL-förhandlingssvar: %m" -#: postmaster/postmaster.c:2076 +#: postmaster/postmaster.c:2079 #, c-format msgid "received unencrypted data after SSL request" msgstr "tog emot okrypterad data efter SSL-förfrågan" -#: postmaster/postmaster.c: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 "Detta kan antingen vara en bug i klientens mjukvara eller bevis på ett försök att utföra en attack av typen man-in-the-middle." -#: postmaster/postmaster.c:2102 +#: postmaster/postmaster.c:2105 #, c-format msgid "failed to send GSSAPI negotiation response: %m" msgstr "misslyckades att skicka GSSAPI-förhandlingssvar: %m" -#: postmaster/postmaster.c:2120 +#: postmaster/postmaster.c:2123 #, c-format msgid "received unencrypted data after GSSAPI encryption request" msgstr "tog emot okrypterad data efter GSSAPI-krypteringsförfrågan" -#: postmaster/postmaster.c:2144 +#: postmaster/postmaster.c:2147 #, c-format msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u" msgstr "inget stöd för framändans protokoll %u.%u: servern stöder %u.0 till %u.%u" -#: postmaster/postmaster.c:2211 +#: postmaster/postmaster.c:2214 #, c-format msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"." msgstr "Giltiga värden är: \"false\", 0, \"true\", 1, \"database\"." -#: postmaster/postmaster.c:2252 +#: postmaster/postmaster.c:2255 #, c-format msgid "invalid startup packet layout: expected terminator as last byte" msgstr "ogiltig startpaketlayout: förväntade en terminator som sista byte" -#: postmaster/postmaster.c:2269 +#: postmaster/postmaster.c:2272 #, c-format msgid "no PostgreSQL user name specified in startup packet" msgstr "inget PostgreSQL-användarnamn angivet i startuppaketet" -#: postmaster/postmaster.c:2333 +#: postmaster/postmaster.c:2336 #, c-format msgid "the database system is starting up" msgstr "databassystemet startar upp" -#: postmaster/postmaster.c:2339 +#: postmaster/postmaster.c:2342 #, c-format msgid "the database system is not yet accepting connections" msgstr "databassystemet tar ännu inte emot anslutningar" -#: postmaster/postmaster.c:2340 +#: postmaster/postmaster.c:2343 #, c-format msgid "Consistent recovery state has not been yet reached." msgstr "Konsistent återställningstillstånd har ännu inte uppnåtts." -#: postmaster/postmaster.c:2344 +#: postmaster/postmaster.c:2347 #, c-format msgid "the database system is not accepting connections" msgstr "databassystemet tar inte emot anslutningar" -#: postmaster/postmaster.c:2345 +#: postmaster/postmaster.c:2348 #, c-format msgid "Hot standby mode is disabled." msgstr "Hot standby-läge är avstängt." -#: postmaster/postmaster.c:2350 +#: postmaster/postmaster.c:2353 #, c-format msgid "the database system is shutting down" msgstr "databassystemet stänger ner" -#: postmaster/postmaster.c:2355 +#: postmaster/postmaster.c:2358 #, c-format msgid "the database system is in recovery mode" msgstr "databassystemet är återställningsläge" -#: 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 "ledsen, för många klienter" -#: postmaster/postmaster.c:2447 +#: postmaster/postmaster.c:2450 #, c-format msgid "wrong key in cancel request for process %d" msgstr "fel nyckel i avbrytbegäran för process %d" -#: postmaster/postmaster.c:2459 +#: postmaster/postmaster.c:2462 #, c-format msgid "PID %d in cancel request did not match any process" msgstr "PID %d i avbrytbegäran matchade inte någon process" -#: postmaster/postmaster.c:2726 +#: postmaster/postmaster.c:2729 #, c-format msgid "received SIGHUP, reloading configuration files" msgstr "mottog SIGHUP, läser om konfigurationsfiler" #. 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 laddades inte om" -#: postmaster/postmaster.c:2764 +#: postmaster/postmaster.c:2767 #, c-format msgid "SSL configuration was not reloaded" msgstr "SSL-konfiguration laddades inte om" -#: postmaster/postmaster.c:2854 +#: postmaster/postmaster.c:2857 #, c-format msgid "received smart shutdown request" msgstr "tog emot förfrågan om att stänga ner smart" -#: postmaster/postmaster.c:2895 +#: postmaster/postmaster.c:2898 #, c-format msgid "received fast shutdown request" msgstr "tog emot förfrågan om att stänga ner snabbt" -#: postmaster/postmaster.c:2913 +#: postmaster/postmaster.c:2916 #, c-format msgid "aborting any active transactions" msgstr "avbryter aktiva transaktioner" -#: postmaster/postmaster.c:2937 +#: postmaster/postmaster.c:2940 #, c-format msgid "received immediate shutdown request" msgstr "mottog begäran för omedelbar nedstängning" -#: postmaster/postmaster.c:3013 +#: postmaster/postmaster.c:3016 #, c-format msgid "shutdown at recovery target" msgstr "nedstängs vid återställningsmål" -#: postmaster/postmaster.c:3031 postmaster/postmaster.c:3067 +#: postmaster/postmaster.c:3034 postmaster/postmaster.c:3070 msgid "startup process" msgstr "uppstartprocess" -#: postmaster/postmaster.c:3034 +#: postmaster/postmaster.c:3037 #, c-format msgid "aborting startup due to startup process failure" msgstr "avbryter uppstart på grund av fel i startprocessen" -#: postmaster/postmaster.c:3107 +#: postmaster/postmaster.c:3110 #, c-format msgid "database system is ready to accept connections" msgstr "databassystemet är redo att ta emot anslutningar" -#: postmaster/postmaster.c:3128 +#: postmaster/postmaster.c:3131 msgid "background writer process" msgstr "bakgrundsskrivarprocess" -#: postmaster/postmaster.c:3175 +#: postmaster/postmaster.c:3178 msgid "checkpointer process" msgstr "checkpoint-process" -#: postmaster/postmaster.c:3191 +#: postmaster/postmaster.c:3194 msgid "WAL writer process" msgstr "WAL-skrivarprocess" -#: postmaster/postmaster.c:3206 +#: postmaster/postmaster.c:3209 msgid "WAL receiver process" msgstr "WAL-mottagarprocess" -#: postmaster/postmaster.c:3221 +#: postmaster/postmaster.c:3224 msgid "autovacuum launcher process" msgstr "autovacuum-startprocess" -#: postmaster/postmaster.c:3239 +#: postmaster/postmaster.c:3242 msgid "archiver process" msgstr "arkiveringsprocess" -#: postmaster/postmaster.c:3252 +#: postmaster/postmaster.c:3255 msgid "system logger process" msgstr "system-logg-process" -#: postmaster/postmaster.c:3309 +#: postmaster/postmaster.c:3312 #, c-format msgid "background worker \"%s\"" msgstr "bakgrundsarbetare \"%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 "serverprocess" -#: postmaster/postmaster.c:3487 +#: postmaster/postmaster.c:3490 #, c-format msgid "terminating any other active server processes" msgstr "avslutar andra aktiva serverprocesser" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3662 +#: postmaster/postmaster.c:3665 #, c-format msgid "%s (PID %d) exited with exit code %d" msgstr "%s (PID %d) avslutade med felkod %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 "Misslyckad process körde: %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) terminerades av avbrott 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) terminerades av signal %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) avslutade med okänd status %d" -#: postmaster/postmaster.c:3903 +#: postmaster/postmaster.c:3906 #, c-format msgid "abnormal database system shutdown" msgstr "ej normal databasnedstängning" -#: postmaster/postmaster.c:3929 +#: postmaster/postmaster.c:3932 #, c-format msgid "shutting down due to startup process failure" msgstr "stänger ner på grund av fel i startprocessen" -#: postmaster/postmaster.c:3935 +#: postmaster/postmaster.c:3938 #, c-format msgid "shutting down because restart_after_crash is off" msgstr "stänger ner då restart_after_crash är av" -#: postmaster/postmaster.c:3947 +#: postmaster/postmaster.c:3950 #, c-format msgid "all server processes terminated; reinitializing" msgstr "alla serverprocesser är avslutade; initierar på nytt" -#: 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 "kunde inte skapa slumpad avbrytningsnyckel" -#: postmaster/postmaster.c:4203 +#: postmaster/postmaster.c:4206 #, c-format msgid "could not fork new process for connection: %m" msgstr "kunde inte fork():a ny process for uppkoppling: %m" -#: postmaster/postmaster.c:4245 +#: postmaster/postmaster.c:4248 msgid "could not fork new process for connection: " msgstr "kunde inte fork():a ny process for uppkoppling: " -#: postmaster/postmaster.c:4351 +#: postmaster/postmaster.c:4354 #, c-format msgid "connection received: host=%s port=%s" msgstr "ansluting mottagen: värd=%s port=%s" -#: postmaster/postmaster.c:4356 +#: postmaster/postmaster.c:4359 #, c-format msgid "connection received: host=%s" msgstr "ansluting mottagen: värd=%s" -#: postmaster/postmaster.c:4593 +#: postmaster/postmaster.c:4596 #, c-format msgid "could not execute server process \"%s\": %m" msgstr "kunde inte köra serverprocess \"%s\": %m" -#: postmaster/postmaster.c:4651 +#: postmaster/postmaster.c:4654 #, c-format msgid "could not create backend parameter file mapping: error code %lu" msgstr "kunde inte skapa fil-mapping för backend-parametrar: felkod %lu" -#: postmaster/postmaster.c:4660 +#: postmaster/postmaster.c:4663 #, c-format msgid "could not map backend parameter memory: error code %lu" msgstr "kunde inte mappa minne för backend-parametrar: felkod %lu" -#: postmaster/postmaster.c:4687 +#: postmaster/postmaster.c:4690 #, c-format msgid "subprocess command line too long" msgstr "subprocessens kommando är för långt" -#: postmaster/postmaster.c:4705 +#: postmaster/postmaster.c:4708 #, c-format msgid "CreateProcess() call failed: %m (error code %lu)" msgstr "Anrop till CreateProcess() misslyckades: %m (felkod %lu)" -#: postmaster/postmaster.c:4732 +#: postmaster/postmaster.c:4735 #, c-format msgid "could not unmap view of backend parameter file: error code %lu" msgstr "kunde inte avmappa vy för backend:ens parameterfil: felkod %lu" -#: postmaster/postmaster.c:4736 +#: postmaster/postmaster.c:4739 #, c-format msgid "could not close handle to backend parameter file: error code %lu" msgstr "kunde inte stänga \"handle\" till backend:ens parameterfil: felkod %lu" -#: postmaster/postmaster.c:4758 +#: postmaster/postmaster.c:4761 #, c-format msgid "giving up after too many tries to reserve shared memory" msgstr "ger upp efter för många försök att reservera delat minne" -#: postmaster/postmaster.c:4759 +#: postmaster/postmaster.c:4762 #, c-format msgid "This might be caused by ASLR or antivirus software." msgstr "Detta kan orsakas av ASLR eller antivirusprogram." -#: postmaster/postmaster.c:4932 +#: postmaster/postmaster.c:4935 #, c-format msgid "SSL configuration could not be loaded in child process" msgstr "SSL-konfigurering kunde inte laddas i barnprocess" -#: postmaster/postmaster.c:5057 +#: postmaster/postmaster.c:5060 #, c-format msgid "Please report this to <%s>." msgstr "Rapportera gärna detta till <%s>." -#: postmaster/postmaster.c:5125 +#: postmaster/postmaster.c:5128 #, c-format msgid "database system is ready to accept read-only connections" msgstr "databassystemet är redo att ta emot read-only-anslutningar" -#: postmaster/postmaster.c:5383 +#: postmaster/postmaster.c:5386 #, c-format msgid "could not fork startup process: %m" msgstr "kunde inte starta startup-processen: %m" -#: postmaster/postmaster.c:5387 +#: postmaster/postmaster.c:5390 #, c-format msgid "could not fork archiver process: %m" msgstr "kunde inte fork:a arkivprocess: %m" -#: postmaster/postmaster.c:5391 +#: postmaster/postmaster.c:5394 #, c-format msgid "could not fork background writer process: %m" msgstr "kunde inte starta process för bakgrundsskrivare: %m" -#: postmaster/postmaster.c:5395 +#: postmaster/postmaster.c:5398 #, c-format msgid "could not fork checkpointer process: %m" msgstr "kunde inte fork:a bakgrundsprocess: %m" -#: postmaster/postmaster.c:5399 +#: postmaster/postmaster.c:5402 #, c-format msgid "could not fork WAL writer process: %m" msgstr "kunde inte fork:a WAL-skrivprocess: %m" -#: postmaster/postmaster.c:5403 +#: postmaster/postmaster.c:5406 #, c-format msgid "could not fork WAL receiver process: %m" msgstr "kunde inte fork:a WAL-mottagarprocess: %m" -#: postmaster/postmaster.c:5407 +#: postmaster/postmaster.c:5410 #, c-format msgid "could not fork process: %m" msgstr "kunde inte fork:a process: %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 "krav på databasanslutning fanns inte med vid registering" -#: 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 "ogiltigt processläge i bakgrundsarbetare" -#: postmaster/postmaster.c:5731 +#: postmaster/postmaster.c:5734 #, c-format msgid "could not fork worker process: %m" msgstr "kunde inte starta (fork) arbetarprocess: %m" -#: postmaster/postmaster.c:5843 +#: postmaster/postmaster.c:5846 #, c-format msgid "no slot available for new worker process" msgstr "ingen slot tillgänglig för ny arbetsprocess" -#: postmaster/postmaster.c:6174 +#: postmaster/postmaster.c:6177 #, c-format msgid "could not duplicate socket %d for use in backend: error code %d" msgstr "kunde inte duplicera uttag (socket) %d för att använda i backend: felkod %d" -#: postmaster/postmaster.c:6206 +#: postmaster/postmaster.c:6209 #, c-format msgid "could not create inherited socket: error code %d\n" msgstr "kunde inte skapa ärvt uttag (socket): felkod %d\n" -#: postmaster/postmaster.c:6235 +#: postmaster/postmaster.c:6238 #, c-format msgid "could not open backend variables file \"%s\": %s\n" msgstr "kunde inte öppna bakändans variabelfil \"%s\": %s\n" -#: postmaster/postmaster.c:6242 +#: postmaster/postmaster.c:6245 #, c-format msgid "could not read from backend variables file \"%s\": %s\n" msgstr "kunde inte läsa från bakändans variabelfil \"%s\": %s\n" -#: postmaster/postmaster.c:6251 +#: postmaster/postmaster.c:6254 #, c-format msgid "could not remove file \"%s\": %s\n" msgstr "kunde inte ta bort fil \"%s\": %s\n" -#: postmaster/postmaster.c:6268 +#: postmaster/postmaster.c:6271 #, c-format msgid "could not map view of backend variables: error code %lu\n" msgstr "kunde inte mappa in vy för bakgrundsvariabler: felkod %lu\n" -#: postmaster/postmaster.c:6277 +#: postmaster/postmaster.c:6280 #, c-format msgid "could not unmap view of backend variables: error code %lu\n" msgstr "kunde inte avmappa vy för bakgrundsvariabler: felkod %lu\n" -#: postmaster/postmaster.c:6284 +#: postmaster/postmaster.c:6287 #, c-format msgid "could not close handle to backend parameter variables: error code %lu\n" msgstr "kunde inte stänga \"handle\" till backend:ens parametervariabler: felkod %lu\n" -#: postmaster/postmaster.c:6443 +#: postmaster/postmaster.c:6446 #, c-format msgid "could not read exit code for process\n" msgstr "kunde inte läsa avslutningskod för process\n" -#: postmaster/postmaster.c:6485 +#: postmaster/postmaster.c:6488 #, c-format msgid "could not post child completion status\n" msgstr "kunde inte skicka barnets avslutningsstatus\n" @@ -29568,12 +29568,12 @@ msgid "Sets the method for synchronizing the data directory before crash recover msgstr "Ställer in metoden för att synkronisera datakatalogen innan kraschåterställning." #: utils/misc/guc_tables.c:4960 -msgid "Controls when to replicate or apply each change." -msgstr "Styr när man skall replikera eller applicera en ändring." +msgid "Forces immediate streaming or serialization of changes in large transactions." +msgstr "Tvingar omedelbar strömning eller serialisering av ändringar i stora transaktioner." #: utils/misc/guc_tables.c:4961 msgid "On the publisher, it allows streaming or serializing each change in logical decoding. On the subscriber, it allows serialization of all changes to files and notifies the parallel apply workers to read and apply them at the end of the transaction." -msgstr "På publiceringssidan så tillåter detta strömming eller serialisering av varje ändring i den logiska kodningen. På prenumerationsstidan så tillåter det serialisering av alla ändringar till filer samt notifiering till den parallella appliceraren att läsa in och applicera dem i slutet av transaktionen." +msgstr "På publiceringssidan så tillåter detta strömning eller serialisering av varje ändring i den logiska kodningen. På prenumerationsstidan så tillåter det serialisering av alla ändringar till filer samt notifiering till den parallella appliceraren att läsa in och applicera dem i slutet av transaktionen." #: utils/misc/help_config.c:129 #, c-format @@ -29839,6 +29839,9 @@ msgstr "kan inte importera en snapshot från en annan databas" #~ 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" diff --git a/src/bin/initdb/po/de.po b/src/bin/initdb/po/de.po index dd083dcbd56..9e066fe590f 100644 --- a/src/bin/initdb/po/de.po +++ b/src/bin/initdb/po/de.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-06-24 21:50+0000\n" -"PO-Revision-Date: 2023-06-26 09:43+0200\n" +"POT-Creation-Date: 2023-08-29 23:20+0000\n" +"PO-Revision-Date: 2023-08-30 08:08+0200\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -992,7 +992,7 @@ msgstr "Argument von --wal-segsize muss eine Zahl sein" #: initdb.c:3359 #, c-format -msgid "argument of --wal-segsize must be a power of 2 between 1 and 1024" +msgid "argument of --wal-segsize must be a power of two between 1 and 1024" msgstr "Argument von --wal-segsize muss eine Zweierpotenz zwischen 1 und 1024 sein" #: initdb.c:3373 diff --git a/src/bin/initdb/po/es.po b/src/bin/initdb/po/es.po index c649754b36b..59806bde2b3 100644 --- a/src/bin/initdb/po/es.po +++ b/src/bin/initdb/po/es.po @@ -379,7 +379,7 @@ msgstr "Ingrésela nuevamente: " #: initdb.c:1599 #, c-format msgid "Passwords didn't match.\n" -msgstr "Las constraseñas no coinciden.\n" +msgstr "Las contraseñas no coinciden.\n" #: initdb.c:1623 #, c-format diff --git a/src/bin/initdb/po/fr.po b/src/bin/initdb/po/fr.po index 490d088dd3a..a175e105d71 100644 --- a/src/bin/initdb/po/fr.po +++ b/src/bin/initdb/po/fr.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-07-29 09:20+0000\n" -"PO-Revision-Date: 2023-07-29 22:46+0200\n" +"POT-Creation-Date: 2023-09-05 17:20+0000\n" +"PO-Revision-Date: 2023-09-05 22:01+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -1019,7 +1019,7 @@ msgstr "l'argument de --wal-segsize doit être un nombre" #: initdb.c:3359 #, c-format -msgid "argument of --wal-segsize must be a power of 2 between 1 and 1024" +msgid "argument of --wal-segsize must be a power of two between 1 and 1024" msgstr "l'argument de --wal-segsize doit être une puissance de 2 comprise entre 1 et 1024" #: initdb.c:3373 diff --git a/src/bin/initdb/po/it.po b/src/bin/initdb/po/it.po index 93ce7ec689d..3a3b764cff3 100644 --- a/src/bin/initdb/po/it.po +++ b/src/bin/initdb/po/it.po @@ -20,7 +20,7 @@ msgstr "" "Project-Id-Version: initdb (PostgreSQL) 11\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-09-26 08:19+0000\n" -"PO-Revision-Date: 2022-10-02 18:31+0200\n" +"PO-Revision-Date: 2023-09-05 07:54+0200\n" "Last-Translator: Daniele Varrazzo \n" "Language-Team: https://github.com/dvarrazzo/postgresql-it\n" "Language: it\n" @@ -554,7 +554,7 @@ msgstr " -g, --allow-group-access permette read/execute di gruppo sulla direct #: initdb.c:2197 #, c-format msgid " --icu-locale=LOCALE set ICU locale ID for new databases\n" -msgstr " --icu-locale=LOCALE imposta l'ID locale ICU per i nuovi database\n" +msgstr " --icu-locale=LOCALE imposta l'ID locale ICU per i nuovi database\n" #: initdb.c:2198 #, c-format diff --git a/src/bin/initdb/po/ja.po b/src/bin/initdb/po/ja.po index aaecd888231..dc943b53649 100644 --- a/src/bin/initdb/po/ja.po +++ b/src/bin/initdb/po/ja.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: initdb (PostgreSQL 16)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-06-22 09:27+0900\n" -"PO-Revision-Date: 2023-06-22 11:25+0900\n" +"POT-Creation-Date: 2023-08-30 09:20+0900\n" +"PO-Revision-Date: 2023-08-30 09:53+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: Japan PostgreSQL Users Group \n" "Language: ja\n" @@ -982,8 +982,8 @@ msgstr "--wal-segsize の引数は数値でなければなりません" #: initdb.c:3359 #, c-format -msgid "argument of --wal-segsize must be a power of 2 between 1 and 1024" -msgstr "--wal-segsize のパラメータは1から1024の間の2の倍数でなければなりません" +msgid "argument of --wal-segsize must be a power of two between 1 and 1024" +msgstr "--wal-segsize のパラメータは1から1024までの間の2の累乗でなければなりません" #: initdb.c:3373 #, c-format diff --git a/src/bin/initdb/po/ka.po b/src/bin/initdb/po/ka.po index 13a907e0970..30bf00c680b 100644 --- a/src/bin/initdb/po/ka.po +++ b/src/bin/initdb/po/ka.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: initdb (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-07-05 06:19+0000\n" -"PO-Revision-Date: 2023-07-05 12:26+0200\n" +"POT-Creation-Date: 2023-08-31 20:20+0000\n" +"PO-Revision-Date: 2023-09-02 07:09+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" "Language: ka\n" @@ -981,7 +981,7 @@ msgstr "--wal-segisze -ის არგუმენტი რიცხვი უ #: initdb.c:3359 #, c-format -msgid "argument of --wal-segsize must be a power of 2 between 1 and 1024" +msgid "argument of --wal-segsize must be a power of two between 1 and 1024" msgstr "--wal-segsize -ის არგუმენტი 2-ის ხარისხი უნდა იყოს 1-1024 დიაპაზონიდან" #: initdb.c:3373 diff --git a/src/bin/initdb/po/pt_BR.po b/src/bin/initdb/po/pt_BR.po index b7a2a457307..9b82c3de197 100644 --- a/src/bin/initdb/po/pt_BR.po +++ b/src/bin/initdb/po/pt_BR.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-09-27 13:15-0300\n" -"PO-Revision-Date: 2023-08-17 16:33+0200\n" +"PO-Revision-Date: 2023-09-05 08:54+0200\n" "Last-Translator: Euler Taveira \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" @@ -528,12 +528,12 @@ msgstr " -E, --encoding=CODIFICAÇÃO ajusta a codificação padrão para nov #: initdb.c:2196 #, c-format msgid " -g, --allow-group-access allow group read/execute on data directory\n" -msgstr " -g, --allow-group-access permite leitura/execução do grupo no diretório de dados\n" +msgstr " -g, --allow-group-access permite leitura/execução do grupo no diretório de dados\n" #: initdb.c:2197 #, c-format msgid " --icu-locale=LOCALE set ICU locale ID for new databases\n" -msgstr " --icu-locale=LOCALE ajusta ID de configuração regional ICU para novos bancos de dados\n" +msgstr " --icu-locale=LOCALE ajusta ID de configuração regional ICU para novos bancos de dados\n" #: initdb.c:2198 #, c-format @@ -543,7 +543,7 @@ msgstr " -k, --data-checksums verificações de páginas de dados\n" #: initdb.c:2199 #, c-format msgid " --locale=LOCALE set default locale for new databases\n" -msgstr " --locale=LOCALE ajusta configuração regional padrão para novos bancos de dados\n" +msgstr " --locale=LOCALE ajusta configuração regional padrão para novos bancos de dados\n" #: initdb.c:2200 #, c-format @@ -570,7 +570,7 @@ msgid "" " set default locale provider for new databases\n" msgstr "" " --locale-provider={libc|icu}\n" -" ajusta provedor de configuração regional padrão para novos bancos de dados\n" +" ajusta provedor de configuração regional padrão para novos bancos de dados\n" #: initdb.c:2207 #, c-format @@ -599,12 +599,12 @@ msgstr " -W, --pwprompt pergunta senha do novo super-usuário\n" #: initdb.c:2212 #, c-format msgid " -X, --waldir=WALDIR location for the write-ahead log directory\n" -msgstr " -X, --waldir=DIRWAL local do diretório do log de transação\n" +msgstr " -X, --waldir=DIRWAL local do diretório do log de transação\n" #: initdb.c:2213 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" -msgstr " --wal-segsize=TAMANHO tamanho dos segmentos do WAL, em megabytes\n" +msgstr " --wal-segsize=TAMANHO tamanho dos segmentos do WAL, em megabytes\n" #: initdb.c:2214 #, c-format diff --git a/src/bin/initdb/po/ru.po b/src/bin/initdb/po/ru.po index aa957352798..d3a8ffbc74e 100644 --- a/src/bin/initdb/po/ru.po +++ b/src/bin/initdb/po/ru.po @@ -6,21 +6,21 @@ # Sergey Burladyan , 2009. # Andrey Sudnik , 2010. # Dmitriy Olshevskiy , 2014. -# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022. +# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023. msgid "" msgstr "" "Project-Id-Version: initdb (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-09-29 10:17+0300\n" -"PO-Revision-Date: 2022-09-29 11:39+0300\n" +"POT-Creation-Date: 2023-08-28 07:59+0300\n" +"PO-Revision-Date: 2023-08-29 13:38+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: ../../../src/common/logging.c:276 #, c-format @@ -42,85 +42,77 @@ msgstr "подробности: " msgid "hint: " msgstr "подсказка: " -#: ../../common/exec.c:149 ../../common/exec.c:266 ../../common/exec.c:312 +#: ../../common/exec.c:172 #, c-format -msgid "could not identify current directory: %m" -msgstr "не удалось определить текущий каталог: %m" +msgid "invalid binary \"%s\": %m" +msgstr "неверный исполняемый файл \"%s\": %m" -#: ../../common/exec.c:168 +#: ../../common/exec.c:215 #, c-format -msgid "invalid binary \"%s\"" -msgstr "неверный исполняемый файл \"%s\"" +msgid "could not read binary \"%s\": %m" +msgstr "не удалось прочитать исполняемый файл \"%s\": %m" -#: ../../common/exec.c:218 -#, c-format -msgid "could not read binary \"%s\"" -msgstr "не удалось прочитать исполняемый файл \"%s\"" - -#: ../../common/exec.c:226 +#: ../../common/exec.c:223 #, c-format msgid "could not find a \"%s\" to execute" msgstr "не удалось найти запускаемый файл \"%s\"" -#: ../../common/exec.c:282 ../../common/exec.c:321 +#: ../../common/exec.c:250 #, c-format -msgid "could not change directory to \"%s\": %m" -msgstr "не удалось перейти в каталог \"%s\": %m" +msgid "could not resolve path \"%s\" to absolute form: %m" +msgstr "не удалось преобразовать относительный путь \"%s\" в абсолютный: %m" -#: ../../common/exec.c:299 -#, c-format -msgid "could not read symbolic link \"%s\": %m" -msgstr "не удалось прочитать символическую ссылку \"%s\": %m" - -#: ../../common/exec.c:422 +#: ../../common/exec.c:412 #, c-format msgid "%s() failed: %m" msgstr "ошибка в %s(): %m" -#: ../../common/exec.c:560 ../../common/exec.c:605 ../../common/exec.c:697 -#: initdb.c:334 +#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 +#: initdb.c:349 #, c-format msgid "out of memory" msgstr "нехватка памяти" #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 -#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format msgid "out of memory\n" msgstr "нехватка памяти\n" -#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 #, c-format msgid "cannot duplicate null pointer (internal error)\n" msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n" -#: ../../common/file_utils.c:87 ../../common/file_utils.c:451 +#: ../../common/file_utils.c:87 ../../common/file_utils.c:447 #, c-format msgid "could not stat file \"%s\": %m" msgstr "не удалось получить информацию о файле \"%s\": %m" -#: ../../common/file_utils.c:166 ../../common/pgfnames.c:48 +#: ../../common/file_utils.c:162 ../../common/pgfnames.c:48 +#: ../../common/rmtree.c:63 #, c-format msgid "could not open directory \"%s\": %m" msgstr "не удалось открыть каталог \"%s\": %m" -#: ../../common/file_utils.c:200 ../../common/pgfnames.c:69 +#: ../../common/file_utils.c:196 ../../common/pgfnames.c:69 +#: ../../common/rmtree.c:104 #, c-format msgid "could not read directory \"%s\": %m" msgstr "не удалось прочитать каталог \"%s\": %m" -#: ../../common/file_utils.c:232 ../../common/file_utils.c:291 -#: ../../common/file_utils.c:365 +#: ../../common/file_utils.c:228 ../../common/file_utils.c:287 +#: ../../common/file_utils.c:361 #, c-format msgid "could not open file \"%s\": %m" msgstr "не удалось открыть файл \"%s\": %m" -#: ../../common/file_utils.c:303 ../../common/file_utils.c:373 +#: ../../common/file_utils.c:299 ../../common/file_utils.c:369 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "не удалось синхронизировать с ФС файл \"%s\": %m" -#: ../../common/file_utils.c:383 +#: ../../common/file_utils.c:379 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "не удалось переименовать файл \"%s\" в \"%s\": %m" @@ -130,55 +122,45 @@ msgstr "не удалось переименовать файл \"%s\" в \"%s\" msgid "could not close directory \"%s\": %m" msgstr "не удалось закрыть каталог \"%s\": %m" -#: ../../common/restricted_token.c:64 -#, c-format -msgid "could not load library \"%s\": error code %lu" -msgstr "не удалось загрузить библиотеку \"%s\" (код ошибки: %lu)" - -#: ../../common/restricted_token.c:73 -#, c-format -msgid "cannot create restricted tokens on this platform: error code %lu" -msgstr "в этой ОС нельзя создавать ограниченные маркеры (код ошибки: %lu)" - -#: ../../common/restricted_token.c:82 +#: ../../common/restricted_token.c:60 #, c-format msgid "could not open process token: error code %lu" msgstr "не удалось открыть маркер процесса (код ошибки: %lu)" -#: ../../common/restricted_token.c:97 +#: ../../common/restricted_token.c:74 #, c-format msgid "could not allocate SIDs: error code %lu" msgstr "не удалось подготовить структуры SID (код ошибки: %lu)" -#: ../../common/restricted_token.c:119 +#: ../../common/restricted_token.c:94 #, c-format msgid "could not create restricted token: error code %lu" msgstr "не удалось создать ограниченный маркер (код ошибки: %lu)" -#: ../../common/restricted_token.c:140 +#: ../../common/restricted_token.c:115 #, c-format msgid "could not start process for command \"%s\": error code %lu" msgstr "не удалось запустить процесс для команды \"%s\" (код ошибки: %lu)" -#: ../../common/restricted_token.c:178 +#: ../../common/restricted_token.c:153 #, c-format msgid "could not re-execute with restricted token: error code %lu" msgstr "не удалось перезапуститься с ограниченным маркером (код ошибки: %lu)" -#: ../../common/restricted_token.c:193 +#: ../../common/restricted_token.c:168 #, c-format msgid "could not get exit code from subprocess: error code %lu" msgstr "не удалось получить код выхода от подпроцесса (код ошибки: %lu)" -#: ../../common/rmtree.c:79 +#: ../../common/rmtree.c:95 #, c-format -msgid "could not stat file or directory \"%s\": %m" -msgstr "не удалось получить информацию о файле или каталоге \"%s\": %m" +msgid "could not remove file \"%s\": %m" +msgstr "не удалось стереть файл \"%s\": %m" -#: ../../common/rmtree.c:101 ../../common/rmtree.c:113 +#: ../../common/rmtree.c:122 #, c-format -msgid "could not remove file or directory \"%s\": %m" -msgstr "ошибка при удалении файла или каталога \"%s\": %m" +msgid "could not remove directory \"%s\": %m" +msgstr "ошибка при удалении каталога \"%s\": %m" #: ../../common/username.c:43 #, c-format @@ -194,127 +176,127 @@ msgstr "пользователь не существует" msgid "user name lookup failure: error code %lu" msgstr "распознать имя пользователя не удалось (код ошибки: %lu)" -#: ../../common/wait_error.c:45 +#: ../../common/wait_error.c:55 #, c-format msgid "command not executable" msgstr "неисполняемая команда" -#: ../../common/wait_error.c:49 +#: ../../common/wait_error.c:59 #, c-format msgid "command not found" msgstr "команда не найдена" -#: ../../common/wait_error.c:54 +#: ../../common/wait_error.c:64 #, c-format msgid "child process exited with exit code %d" msgstr "дочерний процесс завершился с кодом возврата %d" -#: ../../common/wait_error.c:62 +#: ../../common/wait_error.c:72 #, c-format msgid "child process was terminated by exception 0x%X" msgstr "дочерний процесс прерван исключением 0x%X" -#: ../../common/wait_error.c:66 +#: ../../common/wait_error.c:76 #, c-format msgid "child process was terminated by signal %d: %s" msgstr "дочерний процесс завершён по сигналу %d: %s" -#: ../../common/wait_error.c:72 +#: ../../common/wait_error.c:82 #, c-format msgid "child process exited with unrecognized status %d" msgstr "дочерний процесс завершился с нераспознанным состоянием %d" -#: ../../port/dirmod.c:221 +#: ../../port/dirmod.c:287 #, c-format msgid "could not set junction for \"%s\": %s\n" msgstr "не удалось создать связь для каталога \"%s\": %s\n" -#: ../../port/dirmod.c:298 +#: ../../port/dirmod.c:367 #, c-format msgid "could not get junction for \"%s\": %s\n" msgstr "не удалось получить связь для каталога \"%s\": %s\n" -#: initdb.c:464 initdb.c:1459 +#: initdb.c:618 initdb.c:1613 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "не удалось открыть файл \"%s\" для чтения: %m" -#: initdb.c:505 initdb.c:809 initdb.c:829 +#: initdb.c:662 initdb.c:966 initdb.c:986 #, c-format msgid "could not open file \"%s\" for writing: %m" msgstr "не удалось открыть файл \"%s\" для записи: %m" -#: initdb.c:509 initdb.c:812 initdb.c:831 +#: initdb.c:666 initdb.c:969 initdb.c:988 #, c-format msgid "could not write file \"%s\": %m" msgstr "не удалось записать файл \"%s\": %m" -#: initdb.c:513 +#: initdb.c:670 #, c-format msgid "could not close file \"%s\": %m" msgstr "не удалось закрыть файл \"%s\": %m" -#: initdb.c:529 +#: initdb.c:686 #, c-format msgid "could not execute command \"%s\": %m" msgstr "не удалось выполнить команду \"%s\": %m" -#: initdb.c:547 +#: initdb.c:704 #, c-format msgid "removing data directory \"%s\"" msgstr "удаление каталога данных \"%s\"" -#: initdb.c:549 +#: initdb.c:706 #, c-format msgid "failed to remove data directory" msgstr "ошибка при удалении каталога данных" -#: initdb.c:553 +#: initdb.c:710 #, c-format msgid "removing contents of data directory \"%s\"" msgstr "удаление содержимого каталога данных \"%s\"" -#: initdb.c:556 +#: initdb.c:713 #, c-format msgid "failed to remove contents of data directory" msgstr "ошибка при удалении содержимого каталога данных" -#: initdb.c:561 +#: initdb.c:718 #, c-format msgid "removing WAL directory \"%s\"" msgstr "удаление каталога WAL \"%s\"" -#: initdb.c:563 +#: initdb.c:720 #, c-format msgid "failed to remove WAL directory" msgstr "ошибка при удалении каталога WAL" -#: initdb.c:567 +#: initdb.c:724 #, c-format msgid "removing contents of WAL directory \"%s\"" msgstr "удаление содержимого каталога WAL \"%s\"" -#: initdb.c:569 +#: initdb.c:726 #, c-format msgid "failed to remove contents of WAL directory" msgstr "ошибка при удалении содержимого каталога WAL" -#: initdb.c:576 +#: initdb.c:733 #, c-format msgid "data directory \"%s\" not removed at user's request" msgstr "каталог данных \"%s\" не был удалён по запросу пользователя" -#: initdb.c:580 +#: initdb.c:737 #, c-format msgid "WAL directory \"%s\" not removed at user's request" msgstr "каталог WAL \"%s\" не был удалён по запросу пользователя" -#: initdb.c:598 +#: initdb.c:755 #, c-format msgid "cannot be run as root" msgstr "программу не должен запускать root" -#: initdb.c:599 +#: initdb.c:756 #, c-format msgid "" "Please log in (using, e.g., \"su\") as the (unprivileged) user that will own " @@ -323,17 +305,17 @@ msgstr "" "Пожалуйста, переключитесь на обычного пользователя (например, используя " "\"su\"), которому будет принадлежать серверный процесс." -#: initdb.c:631 +#: initdb.c:788 #, c-format msgid "\"%s\" is not a valid server encoding name" msgstr "\"%s\" — некорректное имя серверной кодировки" -#: initdb.c:775 +#: initdb.c:932 #, c-format msgid "file \"%s\" does not exist" msgstr "файл \"%s\" не существует" -#: initdb.c:776 initdb.c:781 initdb.c:788 +#: initdb.c:933 initdb.c:938 initdb.c:945 #, c-format msgid "" "This might mean you have a corrupted installation or identified the wrong " @@ -342,124 +324,129 @@ msgstr "" "Это означает, что ваша установка PostgreSQL испорчена или в параметре -L " "задан неправильный каталог." -#: initdb.c:780 +#: initdb.c:937 #, c-format msgid "could not access file \"%s\": %m" msgstr "нет доступа к файлу \"%s\": %m" -#: initdb.c:787 +#: initdb.c:944 #, c-format msgid "file \"%s\" is not a regular file" msgstr "\"%s\" — не обычный файл" -#: initdb.c:922 +#: initdb.c:1077 #, c-format msgid "selecting dynamic shared memory implementation ... " msgstr "выбирается реализация динамической разделяемой памяти... " -#: initdb.c:931 +#: initdb.c:1086 #, c-format msgid "selecting default max_connections ... " msgstr "выбирается значение max_connections по умолчанию... " -#: initdb.c:962 +#: initdb.c:1106 #, c-format msgid "selecting default shared_buffers ... " msgstr "выбирается значение shared_buffers по умолчанию... " -#: initdb.c:996 +#: initdb.c:1129 #, c-format msgid "selecting default time zone ... " msgstr "выбирается часовой пояс по умолчанию... " -#: initdb.c:1030 +#: initdb.c:1206 msgid "creating configuration files ... " msgstr "создание конфигурационных файлов... " -#: initdb.c:1188 initdb.c:1204 initdb.c:1287 initdb.c:1299 +#: initdb.c:1367 initdb.c:1381 initdb.c:1448 initdb.c:1459 #, c-format msgid "could not change permissions of \"%s\": %m" msgstr "не удалось поменять права для \"%s\": %m" -#: initdb.c:1319 +#: initdb.c:1477 #, c-format msgid "running bootstrap script ... " msgstr "выполняется подготовительный скрипт... " -#: initdb.c:1331 +#: initdb.c:1489 #, c-format msgid "input file \"%s\" does not belong to PostgreSQL %s" msgstr "входной файл \"%s\" не принадлежит PostgreSQL %s" -#: initdb.c:1333 +#: initdb.c:1491 #, c-format msgid "Specify the correct path using the option -L." msgstr "Укажите корректный путь в параметре -L." -#: initdb.c:1437 +#: initdb.c:1591 msgid "Enter new superuser password: " msgstr "Введите новый пароль суперпользователя: " -#: initdb.c:1438 +#: initdb.c:1592 msgid "Enter it again: " msgstr "Повторите его: " -#: initdb.c:1441 +#: initdb.c:1595 #, c-format msgid "Passwords didn't match.\n" msgstr "Пароли не совпадают.\n" -#: initdb.c:1465 +#: initdb.c:1619 #, c-format msgid "could not read password from file \"%s\": %m" msgstr "не удалось прочитать пароль из файла \"%s\": %m" -#: initdb.c:1468 +#: initdb.c:1622 #, c-format msgid "password file \"%s\" is empty" msgstr "файл пароля \"%s\" пуст" -#: initdb.c:1915 +#: initdb.c:2034 #, c-format msgid "caught signal\n" msgstr "получен сигнал\n" -#: initdb.c:1921 +#: initdb.c:2040 #, c-format msgid "could not write to child process: %s\n" msgstr "не удалось записать в поток дочернего процесса: %s\n" -#: initdb.c:1929 +#: initdb.c:2048 #, c-format msgid "ok\n" msgstr "ок\n" -#: initdb.c:2018 +#: initdb.c:2137 #, c-format msgid "setlocale() failed" msgstr "ошибка в setlocale()" -#: initdb.c:2036 +#: initdb.c:2155 #, c-format msgid "failed to restore old locale \"%s\"" msgstr "не удалось восстановить старую локаль \"%s\"" -#: initdb.c:2043 +#: initdb.c:2163 #, c-format msgid "invalid locale name \"%s\"" msgstr "ошибочное имя локали \"%s\"" -#: initdb.c:2054 +#: initdb.c:2164 +#, c-format +msgid "If the locale name is specific to ICU, use --icu-locale." +msgstr "Если эта локаль свойственна ICU, укажите --icu-locale." + +#: initdb.c:2177 #, c-format msgid "invalid locale settings; check LANG and LC_* environment variables" msgstr "неверные установки локали; проверьте переменные окружения LANG и LC_*" -#: initdb.c:2080 initdb.c:2104 +#: initdb.c:2203 initdb.c:2227 #, c-format msgid "encoding mismatch" msgstr "несоответствие кодировки" -#: initdb.c:2081 +#: initdb.c:2204 #, c-format msgid "" "The encoding you selected (%s) and the encoding that the selected locale " @@ -470,7 +457,7 @@ msgstr "" "может привести к неправильной работе различных функций обработки текстовых " "строк." -#: initdb.c:2086 initdb.c:2107 +#: initdb.c:2209 initdb.c:2230 #, c-format msgid "" "Rerun %s and either do not specify an encoding explicitly, or choose a " @@ -479,22 +466,42 @@ msgstr "" "Для исправления перезапустите %s, не указывая кодировку явно, либо выберите " "подходящее сочетание параметров локализации." -#: initdb.c:2105 +#: initdb.c:2228 #, c-format msgid "The encoding you selected (%s) is not supported with the ICU provider." msgstr "Выбранная вами кодировка (%s) не поддерживается провайдером ICU." -#: initdb.c:2169 +#: initdb.c:2279 #, c-format -msgid "ICU locale must be specified" -msgstr "необходимо задать локаль ICU" +msgid "could not convert locale name \"%s\" to language tag: %s" +msgstr "не удалось получить из названия локали \"%s\" метку языка: %s" -#: initdb.c:2176 +#: initdb.c:2285 initdb.c:2337 initdb.c:2416 #, c-format msgid "ICU is not supported in this build" msgstr "ICU не поддерживается в данной сборке" -#: initdb.c:2187 +#: initdb.c:2308 +#, c-format +msgid "could not get language from locale \"%s\": %s" +msgstr "не удалось определить язык для локали \"%s\": %s" + +#: initdb.c:2334 +#, c-format +msgid "locale \"%s\" has unknown language \"%s\"" +msgstr "для локали \"%s\" получен неизвестный язык \"%s\"" + +#: initdb.c:2400 +#, c-format +msgid "ICU locale must be specified" +msgstr "необходимо задать локаль ICU" + +#: initdb.c:2404 +#, c-format +msgid "Using language tag \"%s\" for ICU locale \"%s\".\n" +msgstr "Для локали ICU \"%s\" используется метка языка \"%s\".\n" + +#: initdb.c:2427 #, c-format msgid "" "%s initializes a PostgreSQL database cluster.\n" @@ -503,17 +510,17 @@ msgstr "" "%s инициализирует кластер PostgreSQL.\n" "\n" -#: initdb.c:2188 +#: initdb.c:2428 #, c-format msgid "Usage:\n" msgstr "Использование:\n" -#: initdb.c:2189 +#: initdb.c:2429 #, c-format msgid " %s [OPTION]... [DATADIR]\n" msgstr " %s [ПАРАМЕТР]... [КАТАЛОГ]\n" -#: initdb.c:2190 +#: initdb.c:2430 #, c-format msgid "" "\n" @@ -522,7 +529,7 @@ msgstr "" "\n" "Параметры:\n" -#: initdb.c:2191 +#: initdb.c:2431 #, c-format msgid "" " -A, --auth=METHOD default authentication method for local " @@ -531,7 +538,7 @@ msgstr "" " -A, --auth=МЕТОД метод проверки подлинности по умолчанию\n" " для локальных подключений\n" -#: initdb.c:2192 +#: initdb.c:2432 #, c-format msgid "" " --auth-host=METHOD default authentication method for local TCP/IP " @@ -540,7 +547,7 @@ msgstr "" " --auth-host=МЕТОД метод проверки подлинности по умолчанию\n" " для локальных TCP/IP-подключений\n" -#: initdb.c:2193 +#: initdb.c:2433 #, c-format msgid "" " --auth-local=METHOD default authentication method for local-socket " @@ -549,17 +556,17 @@ msgstr "" " --auth-local=МЕТОД метод проверки подлинности по умолчанию\n" " для локальных подключений через сокет\n" -#: initdb.c:2194 +#: initdb.c:2434 #, c-format msgid " [-D, --pgdata=]DATADIR location for this database cluster\n" msgstr " [-D, --pgdata=]КАТАЛОГ расположение данных этого кластера БД\n" -#: initdb.c:2195 +#: initdb.c:2435 #, c-format msgid " -E, --encoding=ENCODING set default encoding for new databases\n" msgstr " -E, --encoding=КОДИРОВКА кодировка по умолчанию для новых баз\n" -#: initdb.c:2196 +#: initdb.c:2436 #, c-format msgid "" " -g, --allow-group-access allow group read/execute on data directory\n" @@ -568,22 +575,31 @@ msgstr "" "для\n" " группы\n" -#: initdb.c:2197 +#: initdb.c:2437 #, c-format msgid " --icu-locale=LOCALE set ICU locale ID for new databases\n" msgstr " --icu-locale=ЛОКАЛЬ идентификатор локали ICU для новых баз\n" -#: initdb.c:2198 +#: initdb.c:2438 +#, c-format +msgid "" +" --icu-rules=RULES set additional ICU collation rules for new " +"databases\n" +msgstr "" +" --icu-rules=ПРАВИЛА дополнительные правила сортировки ICU для новых " +"баз\n" + +#: initdb.c:2439 #, c-format msgid " -k, --data-checksums use data page checksums\n" msgstr " -k, --data-checksums включить контроль целостности страниц\n" -#: initdb.c:2199 +#: initdb.c:2440 #, c-format msgid " --locale=LOCALE set default locale for new databases\n" msgstr " --locale=ЛОКАЛЬ локаль по умолчанию для новых баз\n" -#: initdb.c:2200 +#: initdb.c:2441 #, c-format msgid "" " --lc-collate=, --lc-ctype=, --lc-messages=LOCALE\n" @@ -597,12 +613,12 @@ msgstr "" " установить соответствующий параметр локали\n" " для новых баз (вместо значения из окружения)\n" -#: initdb.c:2204 +#: initdb.c:2445 #, c-format msgid " --no-locale equivalent to --locale=C\n" msgstr " --no-locale эквивалентно --locale=C\n" -#: initdb.c:2205 +#: initdb.c:2446 #, c-format msgid "" " --locale-provider={libc|icu}\n" @@ -611,14 +627,14 @@ msgstr "" " --locale-provider={libc|icu}\n" " провайдер основной локали для новых баз\n" -#: initdb.c:2207 +#: initdb.c:2448 #, c-format msgid "" " --pwfile=FILE read password for the new superuser from file\n" msgstr "" " --pwfile=ФАЙЛ прочитать пароль суперпользователя из файла\n" -#: initdb.c:2208 +#: initdb.c:2449 #, c-format msgid "" " -T, --text-search-config=CFG\n" @@ -627,29 +643,29 @@ msgstr "" " -T, --text-search-config=КОНФИГУРАЦИЯ\n" " конфигурация текстового поиска по умолчанию\n" -#: initdb.c:2210 +#: initdb.c:2451 #, c-format msgid " -U, --username=NAME database superuser name\n" msgstr " -U, --username=ИМЯ имя суперпользователя БД\n" -#: initdb.c:2211 +#: initdb.c:2452 #, c-format msgid "" " -W, --pwprompt prompt for a password for the new superuser\n" msgstr " -W, --pwprompt запросить пароль суперпользователя\n" -#: initdb.c:2212 +#: initdb.c:2453 #, c-format msgid "" " -X, --waldir=WALDIR location for the write-ahead log directory\n" msgstr " -X, --waldir=КАТАЛОГ расположение журнала предзаписи\n" -#: initdb.c:2213 +#: initdb.c:2454 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr " --wal-segsize=РАЗМЕР размер сегментов WAL (в мегабайтах)\n" -#: initdb.c:2214 +#: initdb.c:2455 #, c-format msgid "" "\n" @@ -658,27 +674,35 @@ msgstr "" "\n" "Редко используемые параметры:\n" -#: initdb.c:2215 +#: initdb.c:2456 +#, c-format +msgid "" +" -c, --set NAME=VALUE override default setting for server parameter\n" +msgstr "" +" -c, --set ИМЯ=ЗНАЧЕНИЕ переопределить значение серверного параметра по\n" +" умолчанию\n" + +#: initdb.c:2457 #, c-format msgid " -d, --debug generate lots of debugging output\n" msgstr " -d, --debug выдавать много отладочных сообщений\n" -#: initdb.c:2216 +#: initdb.c:2458 #, c-format msgid " --discard-caches set debug_discard_caches=1\n" msgstr " --discard-caches установить debug_discard_caches=1\n" -#: initdb.c:2217 +#: initdb.c:2459 #, c-format msgid " -L DIRECTORY where to find the input files\n" msgstr " -L КАТАЛОГ расположение входных файлов\n" -#: initdb.c:2218 +#: initdb.c:2460 #, c-format msgid " -n, --no-clean do not clean up after errors\n" msgstr " -n, --no-clean не очищать после ошибок\n" -#: initdb.c:2219 +#: initdb.c:2461 #, c-format msgid "" " -N, --no-sync do not wait for changes to be written safely to " @@ -686,18 +710,18 @@ msgid "" msgstr "" " -N, --no-sync не ждать завершения сохранения данных на диске\n" -#: initdb.c:2220 +#: initdb.c:2462 #, c-format msgid " --no-instructions do not print instructions for next steps\n" msgstr "" " --no-instructions не выводить инструкции для дальнейших действий\n" -#: initdb.c:2221 +#: initdb.c:2463 #, c-format msgid " -s, --show show internal settings\n" msgstr " -s, --show показать внутренние установки\n" -#: initdb.c:2222 +#: initdb.c:2464 #, c-format msgid "" " -S, --sync-only only sync database files to disk, then exit\n" @@ -705,7 +729,7 @@ msgstr "" " -S, --sync-only только синхронизировать с ФС файлы базы и " "завершиться\n" -#: initdb.c:2223 +#: initdb.c:2465 #, c-format msgid "" "\n" @@ -714,17 +738,17 @@ msgstr "" "\n" "Другие параметры:\n" -#: initdb.c:2224 +#: initdb.c:2466 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: initdb.c:2225 +#: initdb.c:2467 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: initdb.c:2226 +#: initdb.c:2468 #, c-format msgid "" "\n" @@ -734,7 +758,7 @@ msgstr "" "\n" "Если каталог данных не указан, используется переменная окружения PGDATA.\n" -#: initdb.c:2228 +#: initdb.c:2470 #, c-format msgid "" "\n" @@ -743,18 +767,18 @@ msgstr "" "\n" "Об ошибках сообщайте по адресу <%s>.\n" -#: initdb.c:2229 +#: initdb.c:2471 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашняя страница %s: <%s>\n" -#: initdb.c:2257 +#: initdb.c:2499 #, c-format msgid "invalid authentication method \"%s\" for \"%s\" connections" msgstr "" "нераспознанный метод проверки подлинности \"%s\" для подключений \"%s\"" -#: initdb.c:2271 +#: initdb.c:2513 #, c-format msgid "" "must specify a password for the superuser to enable password authentication" @@ -762,12 +786,12 @@ msgstr "" "для включения аутентификации по паролю необходимо указать пароль " "суперпользователя" -#: initdb.c:2290 +#: initdb.c:2532 #, c-format msgid "no data directory specified" msgstr "каталог данных не указан" -#: initdb.c:2291 +#: initdb.c:2533 #, c-format msgid "" "You must identify the directory where the data for this database system will " @@ -777,53 +801,53 @@ msgstr "" "Вы должны указать каталог, в котором будут располагаться данные этой СУБД. " "Это можно сделать, добавив ключ -D или установив переменную окружения PGDATA." -#: initdb.c:2308 +#: initdb.c:2550 #, c-format msgid "could not set environment" msgstr "не удалось задать переменную окружения" -#: initdb.c:2326 +#: initdb.c:2568 #, c-format msgid "" -"program \"%s\" is needed by %s but was not found in the same directory as \"" -"%s\"" +"program \"%s\" is needed by %s but was not found in the same directory as " +"\"%s\"" msgstr "программа \"%s\" нужна для %s, но она не найдена в каталоге \"%s\"" -#: initdb.c:2329 +#: initdb.c:2571 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "" "программа \"%s\" найдена программой \"%s\", но её версия отличается от " "версии %s" -#: initdb.c:2344 +#: initdb.c:2586 #, c-format msgid "input file location must be an absolute path" msgstr "расположение входных файлов должно задаваться абсолютным путём" -#: initdb.c:2361 +#: initdb.c:2603 #, c-format msgid "The database cluster will be initialized with locale \"%s\".\n" msgstr "Кластер баз данных будет инициализирован с локалью \"%s\".\n" -#: initdb.c:2364 +#: initdb.c:2606 #, c-format msgid "" "The database cluster will be initialized with this locale configuration:\n" msgstr "" "Кластер баз данных будет инициализирован со следующими параметрами локали:\n" -#: initdb.c:2365 +#: initdb.c:2607 #, c-format msgid " provider: %s\n" msgstr " провайдер: %s\n" -#: initdb.c:2367 +#: initdb.c:2609 #, c-format msgid " ICU locale: %s\n" msgstr " локаль ICU: %s\n" -#: initdb.c:2368 +#: initdb.c:2610 #, c-format msgid "" " LC_COLLATE: %s\n" @@ -840,27 +864,22 @@ msgstr "" " LC_NUMERIC: %s\n" " LC_TIME: %s\n" -#: initdb.c:2385 -#, c-format -msgid "The default database encoding has been set to \"%s\".\n" -msgstr "В качестве кодировки БД по умолчанию установлена \"%s\".\n" - -#: initdb.c:2397 +#: initdb.c:2640 #, c-format msgid "could not find suitable encoding for locale \"%s\"" msgstr "не удалось найти подходящую кодировку для локали \"%s\"" -#: initdb.c:2399 +#: initdb.c:2642 #, c-format msgid "Rerun %s with the -E option." msgstr "Перезапустите %s с параметром -E." -#: initdb.c:2400 initdb.c:3021 initdb.c:3041 +#: initdb.c:2643 initdb.c:3176 initdb.c:3284 initdb.c:3304 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Для дополнительной информации попробуйте \"%s --help\"." -#: initdb.c:2412 +#: initdb.c:2655 #, c-format msgid "" "Encoding \"%s\" implied by locale is not allowed as a server-side encoding.\n" @@ -869,40 +888,40 @@ msgstr "" "Кодировка \"%s\", подразумеваемая локалью, не годится для сервера.\n" "Вместо неё в качестве кодировки БД по умолчанию будет выбрана \"%s\".\n" -#: initdb.c:2417 +#: initdb.c:2660 #, c-format msgid "locale \"%s\" requires unsupported encoding \"%s\"" msgstr "для локали \"%s\" требуется неподдерживаемая кодировка \"%s\"" -#: initdb.c:2419 +#: initdb.c:2662 #, c-format msgid "Encoding \"%s\" is not allowed as a server-side encoding." msgstr "Кодировка \"%s\" недопустима в качестве серверной кодировки." -#: initdb.c:2421 +#: initdb.c:2664 #, c-format msgid "Rerun %s with a different locale selection." msgstr "Перезапустите %s, выбрав другую локаль." -#: initdb.c:2429 +#: initdb.c:2672 #, c-format msgid "The default database encoding has accordingly been set to \"%s\".\n" msgstr "" "Кодировка БД по умолчанию, выбранная в соответствии с настройками: \"%s\".\n" -#: initdb.c:2498 +#: initdb.c:2741 #, c-format msgid "could not find suitable text search configuration for locale \"%s\"" msgstr "" "не удалось найти подходящую конфигурацию текстового поиска для локали \"%s\"" -#: initdb.c:2509 +#: initdb.c:2752 #, c-format msgid "suitable text search configuration for locale \"%s\" is unknown" msgstr "" "внимание: для локали \"%s\" нет известной конфигурации текстового поиска" -#: initdb.c:2514 +#: initdb.c:2757 #, c-format msgid "" "specified text search configuration \"%s\" might not match locale \"%s\"" @@ -910,37 +929,37 @@ msgstr "" "указанная конфигурация текстового поиска \"%s\" может не соответствовать " "локали \"%s\"" -#: initdb.c:2519 +#: initdb.c:2762 #, c-format msgid "The default text search configuration will be set to \"%s\".\n" msgstr "Выбрана конфигурация текстового поиска по умолчанию \"%s\".\n" -#: initdb.c:2562 initdb.c:2633 +#: initdb.c:2805 initdb.c:2876 #, c-format msgid "creating directory %s ... " msgstr "создание каталога %s... " -#: initdb.c:2567 initdb.c:2638 initdb.c:2690 initdb.c:2746 +#: initdb.c:2810 initdb.c:2881 initdb.c:2929 initdb.c:2985 #, c-format msgid "could not create directory \"%s\": %m" msgstr "не удалось создать каталог \"%s\": %m" -#: initdb.c:2576 initdb.c:2648 +#: initdb.c:2819 initdb.c:2891 #, c-format msgid "fixing permissions on existing directory %s ... " msgstr "исправление прав для существующего каталога %s... " -#: initdb.c:2581 initdb.c:2653 +#: initdb.c:2824 initdb.c:2896 #, c-format msgid "could not change permissions of directory \"%s\": %m" msgstr "не удалось поменять права для каталога \"%s\": %m" -#: initdb.c:2593 initdb.c:2665 +#: initdb.c:2836 initdb.c:2908 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "каталог \"%s\" существует, но он не пуст" -#: initdb.c:2597 +#: initdb.c:2840 #, c-format msgid "" "If you want to create a new database system, either remove or empty the " @@ -949,34 +968,29 @@ msgstr "" "Если вы хотите создать новую систему баз данных, удалите или очистите " "каталог \"%s\", либо при запуске %s в качестве пути укажите не \"%s\"." -#: initdb.c:2605 initdb.c:2675 initdb.c:3058 +#: initdb.c:2848 initdb.c:2918 initdb.c:3325 #, c-format msgid "could not access directory \"%s\": %m" msgstr "ошибка доступа к каталогу \"%s\": %m" -#: initdb.c:2626 +#: initdb.c:2869 #, c-format msgid "WAL directory location must be an absolute path" msgstr "расположение каталога WAL должно определяться абсолютным путём" -#: initdb.c:2669 +#: initdb.c:2912 #, c-format msgid "" -"If you want to store the WAL there, either remove or empty the directory \"" -"%s\"." +"If you want to store the WAL there, either remove or empty the directory " +"\"%s\"." msgstr "Если вы хотите хранить WAL здесь, удалите или очистите каталог \"%s\"." -#: initdb.c:2680 +#: initdb.c:2922 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "не удалось создать символическую ссылку \"%s\": %m" -#: initdb.c:2683 -#, c-format -msgid "symlinks are not supported on this platform" -msgstr "символические ссылки не поддерживаются в этой ОС" - -#: initdb.c:2702 +#: initdb.c:2941 #, c-format msgid "" "It contains a dot-prefixed/invisible file, perhaps due to it being a mount " @@ -984,78 +998,83 @@ msgid "" msgstr "" "Он содержит файл с точкой (невидимый), возможно, это точка монтирования." -#: initdb.c:2704 +#: initdb.c:2943 #, c-format msgid "" "It contains a lost+found directory, perhaps due to it being a mount point." msgstr "Он содержит подкаталог lost+found, возможно, это точка монтирования." -#: initdb.c:2706 +#: initdb.c:2945 #, c-format msgid "" "Using a mount point directly as the data directory is not recommended.\n" "Create a subdirectory under the mount point." msgstr "" -"Использовать в качестве каталога данных точку монтирования не рекомендуется." -"\n" +"Использовать в качестве каталога данных точку монтирования не " +"рекомендуется.\n" "Создайте в монтируемом ресурсе подкаталог и используйте его." -#: initdb.c:2732 +#: initdb.c:2971 #, c-format msgid "creating subdirectories ... " msgstr "создание подкаталогов... " -#: initdb.c:2775 +#: initdb.c:3014 msgid "performing post-bootstrap initialization ... " msgstr "выполняется заключительная инициализация... " -#: initdb.c:2940 +#: initdb.c:3175 +#, c-format +msgid "-c %s requires a value" +msgstr "для -c %s требуется значение" + +#: initdb.c:3200 #, c-format msgid "Running in debug mode.\n" msgstr "Программа запущена в режиме отладки.\n" -#: initdb.c:2944 +#: initdb.c:3204 #, c-format msgid "Running in no-clean mode. Mistakes will not be cleaned up.\n" msgstr "" "Программа запущена в режиме 'no-clean' - очистки и исправления ошибок не " "будет.\n" -#: initdb.c:3014 +#: initdb.c:3274 #, c-format msgid "unrecognized locale provider: %s" msgstr "нераспознанный провайдер локали: %s" -#: initdb.c:3039 +#: initdb.c:3302 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "слишком много аргументов командной строки (первый: \"%s\")" -#: initdb.c:3046 +#: initdb.c:3309 initdb.c:3313 #, c-format msgid "%s cannot be specified unless locale provider \"%s\" is chosen" msgstr "%s можно указать, только если выбран провайдер локали \"%s\"" -#: initdb.c:3060 initdb.c:3137 +#: initdb.c:3327 initdb.c:3404 msgid "syncing data to disk ... " msgstr "сохранение данных на диске... " -#: initdb.c:3068 +#: initdb.c:3335 #, c-format msgid "password prompt and password file cannot be specified together" msgstr "нельзя одновременно запросить пароль и прочитать пароль из файла" -#: initdb.c:3090 +#: initdb.c:3357 #, c-format msgid "argument of --wal-segsize must be a number" msgstr "аргументом --wal-segsize должно быть число" -#: initdb.c:3092 +#: initdb.c:3359 #, c-format msgid "argument of --wal-segsize must be a power of 2 between 1 and 1024" msgstr "аргументом --wal-segsize должна быть степень 2 от 1 до 1024" -#: initdb.c:3106 +#: initdb.c:3373 #, c-format msgid "" "superuser name \"%s\" is disallowed; role names cannot begin with \"pg_\"" @@ -1063,7 +1082,7 @@ msgstr "" "имя \"%s\" для суперпользователя не допускается; имена ролей не могут " "начинаться с \"pg_\"" -#: initdb.c:3108 +#: initdb.c:3375 #, c-format msgid "" "The files belonging to this database system will be owned by user \"%s\".\n" @@ -1074,17 +1093,17 @@ msgstr "" "От его имени также будет запускаться процесс сервера.\n" "\n" -#: initdb.c:3124 +#: initdb.c:3391 #, c-format msgid "Data page checksums are enabled.\n" msgstr "Контроль целостности страниц данных включён.\n" -#: initdb.c:3126 +#: initdb.c:3393 #, c-format msgid "Data page checksums are disabled.\n" msgstr "Контроль целостности страниц данных отключён.\n" -#: initdb.c:3143 +#: initdb.c:3410 #, c-format msgid "" "\n" @@ -1095,12 +1114,12 @@ msgstr "" "Сохранение данных на диск пропускается.\n" "Каталог данных может повредиться при сбое операционной системы.\n" -#: initdb.c:3148 +#: initdb.c:3415 #, c-format msgid "enabling \"trust\" authentication for local connections" msgstr "включение метода аутентификации \"trust\" для локальных подключений" -#: initdb.c:3149 +#: initdb.c:3416 #, c-format msgid "" "You can change this by editing pg_hba.conf or using the option -A, or --auth-" @@ -1110,11 +1129,11 @@ msgstr "" "initdb с ключом -A, --auth-local или --auth-host." #. translator: This is a placeholder in a shell command. -#: initdb.c:3179 +#: initdb.c:3446 msgid "logfile" msgstr "файл_журнала" -#: initdb.c:3181 +#: initdb.c:3448 #, c-format msgid "" "\n" @@ -1129,6 +1148,42 @@ msgstr "" " %s\n" "\n" +#, c-format +#~ msgid "could not identify current directory: %m" +#~ msgstr "не удалось определить текущий каталог: %m" + +#, c-format +#~ msgid "could not change directory to \"%s\": %m" +#~ msgstr "не удалось перейти в каталог \"%s\": %m" + +#, c-format +#~ msgid "could not read symbolic link \"%s\": %m" +#~ msgstr "не удалось прочитать символическую ссылку \"%s\": %m" + +#, c-format +#~ msgid "could not load library \"%s\": error code %lu" +#~ msgstr "не удалось загрузить библиотеку \"%s\" (код ошибки: %lu)" + +#, c-format +#~ msgid "cannot create restricted tokens on this platform: error code %lu" +#~ msgstr "в этой ОС нельзя создавать ограниченные маркеры (код ошибки: %lu)" + +#, c-format +#~ msgid "could not stat file or directory \"%s\": %m" +#~ msgstr "не удалось получить информацию о файле или каталоге \"%s\": %m" + +#, c-format +#~ msgid "could not remove file or directory \"%s\": %m" +#~ msgstr "ошибка при удалении файла или каталога \"%s\": %m" + +#, c-format +#~ msgid "The default database encoding has been set to \"%s\".\n" +#~ msgstr "В качестве кодировки БД по умолчанию установлена \"%s\".\n" + +#, c-format +#~ msgid "symlinks are not supported on this platform" +#~ msgstr "символические ссылки не поддерживаются в этой ОС" + #~ msgid "fatal: " #~ msgstr "важно: " diff --git a/src/bin/initdb/po/sv.po b/src/bin/initdb/po/sv.po index 690cacb2e59..dc5e8fd5251 100644 --- a/src/bin/initdb/po/sv.po +++ b/src/bin/initdb/po/sv.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-08-01 14:20+0000\n" -"PO-Revision-Date: 2023-08-01 21:13+0200\n" +"POT-Creation-Date: 2023-08-31 19:50+0000\n" +"PO-Revision-Date: 2023-08-31 21:59+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -986,7 +986,7 @@ msgstr "argumentet till --wal-segsize måste vara ett tal" #: initdb.c:3359 #, c-format -msgid "argument of --wal-segsize must be a power of 2 between 1 and 1024" +msgid "argument of --wal-segsize must be a power of two between 1 and 1024" msgstr "argumentet till --wal-segsize måste vara en tvåpotens mellan 1 och 1024" #: initdb.c:3373 diff --git a/src/bin/pg_amcheck/po/it.po b/src/bin/pg_amcheck/po/it.po index 881b5c3b925..ed4974f0c5f 100644 --- a/src/bin/pg_amcheck/po/it.po +++ b/src/bin/pg_amcheck/po/it.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: pg_amcheck (PostgreSQL) 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-09-26 08:20+0000\n" -"PO-Revision-Date: 2022-09-30 14:42+0200\n" +"PO-Revision-Date: 2023-09-05 08:02+0200\n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -263,27 +263,27 @@ msgstr "" #: pg_amcheck.c:1142 #, c-format msgid " -a, --all check all databases\n" -msgstr " -a, --all controlla tutti i database\n" +msgstr " -a, --all controlla tutti i database\n" #: pg_amcheck.c:1143 #, c-format msgid " -d, --database=PATTERN check matching database(s)\n" -msgstr " -d, --database=PATTERN controlla i database corrispondenti\n" +msgstr " -d, --database=PATTERN controlla i database corrispondenti\n" #: pg_amcheck.c:1144 #, c-format msgid " -D, --exclude-database=PATTERN do NOT check matching database(s)\n" -msgstr " -D, --exclude-database=PATTERN Non controlla i database corrispondenti\n" +msgstr " -D, --exclude-database=PATTERN Non controlla i database corrispondenti\n" #: pg_amcheck.c:1145 #, c-format msgid " -i, --index=PATTERN check matching index(es)\n" -msgstr " -i, --index=PATTERN controlla gli indici corrispondenti\n" +msgstr " -i, --index=PATTERN controlla gli indici corrispondenti\n" #: pg_amcheck.c:1146 #, c-format msgid " -I, --exclude-index=PATTERN do NOT check matching index(es)\n" -msgstr " -I, --exclude-index=PATTERN Non controlla gli indici corrispondenti\n" +msgstr " -I, --exclude-index=PATTERN Non controlla gli indici corrispondenti\n" #: pg_amcheck.c:1147 #, c-format @@ -298,22 +298,22 @@ msgstr " -R, --exclude-relation=PATTERN Non controlla le relazioni corrisponde #: pg_amcheck.c:1149 #, c-format msgid " -s, --schema=PATTERN check matching schema(s)\n" -msgstr " -s, --schema=PATTERN controlla gli schemi corrispondenti\n" +msgstr " -s, --schema=PATTERN controlla gli schemi corrispondenti\n" #: pg_amcheck.c:1150 #, c-format msgid " -S, --exclude-schema=PATTERN do NOT check matching schema(s)\n" -msgstr " -S, --exclude-schema=PATTERN Non controlla gli schemi corrispondenti\n" +msgstr " -S, --exclude-schema=PATTERN Non controlla gli schemi corrispondenti\n" #: pg_amcheck.c:1151 #, c-format msgid " -t, --table=PATTERN check matching table(s)\n" -msgstr " -t, --table=PATTERN controlla le tabelle corrispondenti\n" +msgstr " -t, --table=PATTERN controlla le tabelle corrispondenti\n" #: pg_amcheck.c:1152 #, c-format msgid " -T, --exclude-table=PATTERN do NOT check matching table(s)\n" -msgstr " -T, --exclude-table=PATTERN Non controlla le tabelle corrispondenti\n" +msgstr " -T, --exclude-table=PATTERN Non controlla le tabelle corrispondenti\n" #: pg_amcheck.c:1153 #, c-format @@ -323,7 +323,7 @@ msgstr " --no-dependent-indexes Non espande l'elenco di relazioni per #: pg_amcheck.c:1154 #, c-format msgid " --no-dependent-toast do NOT expand list of relations to include TOAST tables\n" -msgstr " --no-dependent-toast Non espande l'elenco delle relazioni per includere le tabelle TOAST\n" +msgstr " --no-dependent-toast Non espande l'elenco delle relazioni per includere le tabelle TOAST\n" #: pg_amcheck.c:1155 #, c-format @@ -342,27 +342,27 @@ msgstr "" #: pg_amcheck.c:1157 #, c-format msgid " --exclude-toast-pointers do NOT follow relation TOAST pointers\n" -msgstr " --exclude-toast-pointers NON seguono i puntatori TOAST di relazione\n" +msgstr " --exclude-toast-pointers NON seguono i puntatori TOAST di relazione\n" #: pg_amcheck.c:1158 #, c-format msgid " --on-error-stop stop checking at end of first corrupt page\n" -msgstr " --on-error-stop interrompe il controllo alla fine della prima pagina danneggiata\n" +msgstr " --on-error-stop interrompe il controllo alla fine della prima pagina danneggiata\n" #: pg_amcheck.c:1159 #, c-format msgid " --skip=OPTION do NOT check \"all-frozen\" or \"all-visible\" blocks\n" -msgstr " --skip=OPZIONE Non controlla i blocchi \"tutto congelato\" o \"tutto visibile\".\n" +msgstr " --skip=OPZIONE Non controlla i blocchi \"tutto congelato\" o \"tutto visibile\".\n" #: pg_amcheck.c:1160 #, c-format msgid " --startblock=BLOCK begin checking table(s) at the given block number\n" -msgstr " --startblock=BLOCCO inizia a controllare le tabelle al numero di blocco dato\n" +msgstr " --startblock=BLOCCO inizia a controllare le tabelle al numero di blocco dato\n" #: pg_amcheck.c:1161 #, c-format msgid " --endblock=BLOCK check table(s) only up to the given block number\n" -msgstr " --endblock=BLOCCO controlla le tabelle solo fino al numero di blocco specificato\n" +msgstr " --endblock=BLOCCO controlla le tabelle solo fino al numero di blocco specificato\n" #: pg_amcheck.c:1162 #, c-format @@ -376,12 +376,12 @@ msgstr "" #: pg_amcheck.c:1163 #, c-format msgid " --heapallindexed check that all heap tuples are found within indexes\n" -msgstr " --heapallindexed controlla che tutte le tuple dell'heap si trovino all'interno degli indici\n" +msgstr " --heapallindexed controlla che tutte le tuple dell'heap si trovino all'interno degli indici\n" #: pg_amcheck.c:1164 #, c-format msgid " --parent-check check index parent/child relationships\n" -msgstr " --parent-check controlla le relazioni genitore/figlio dell'indice\n" +msgstr " --parent-check controlla le relazioni genitore/figlio dell'indice\n" #: pg_amcheck.c:1165 #, c-format @@ -400,7 +400,7 @@ msgstr "" #: pg_amcheck.c:1167 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" -msgstr " -h, --host=HOSTNAME host del database o directory socket\n" +msgstr " -h, --host=HOSTNAME host del database o directory socket\n" #: pg_amcheck.c:1168 #, c-format @@ -410,7 +410,7 @@ msgstr " -p, --port=PORT porta del server del database\n" #: pg_amcheck.c:1169 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" -msgstr " -U, --username=USERNAME nome utente con cui connettersi\n" +msgstr " -U, --username=USERNAME nome utente con cui connettersi\n" #: pg_amcheck.c:1170 #, c-format @@ -420,12 +420,12 @@ msgstr " -w, --no-password non richiede mai la password\n" #: pg_amcheck.c:1171 #, c-format msgid " -W, --password force password prompt\n" -msgstr " -W, --password forza la richiesta della password\n" +msgstr " -W, --password forza la richiesta della password\n" #: pg_amcheck.c:1172 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" -msgstr " --maintenance-db=DBNAME database di manutenzione alternativo\n" +msgstr " --maintenance-db=DBNAME database di manutenzione alternativo\n" #: pg_amcheck.c:1173 #, c-format @@ -444,12 +444,12 @@ msgstr " -e, --echo mostra i comandi inviati al server\n" #: pg_amcheck.c:1175 #, c-format msgid " -j, --jobs=NUM use this many concurrent connections to the server\n" -msgstr " -j, --jobs=NUM usa questo numero di connessioni simultanee al server\n" +msgstr " -j, --jobs=NUM usa questo numero di connessioni simultanee al server\n" #: pg_amcheck.c:1176 #, c-format msgid " -P, --progress show progress information\n" -msgstr " -P, --progress mostra le informazioni sullo stato di avanzamento\n" +msgstr " -P, --progress mostra le informazioni sullo stato di avanzamento\n" #: pg_amcheck.c:1177 #, c-format @@ -464,7 +464,7 @@ msgstr " -V, --version mostra informazioni sulla versione ed #: pg_amcheck.c:1179 #, c-format msgid " --install-missing install missing extensions\n" -msgstr " --install-missing installa le estensioni mancanti\n" +msgstr " --install-missing installa le estensioni mancanti\n" #: pg_amcheck.c:1180 #, c-format diff --git a/src/bin/pg_amcheck/po/ru.po b/src/bin/pg_amcheck/po/ru.po index 8b665458518..c6be3badc0d 100644 --- a/src/bin/pg_amcheck/po/ru.po +++ b/src/bin/pg_amcheck/po/ru.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: pg_amcheck (PostgreSQL) 14\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-08-27 14:52+0300\n" +"POT-Creation-Date: 2023-08-28 07:59+0300\n" "PO-Revision-Date: 2022-09-05 13:33+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" @@ -45,7 +45,7 @@ msgstr "Отправить сигнал отмены не удалось: " msgid "could not connect to database %s: out of memory" msgstr "не удалось подключиться к базе %s (нехватка памяти)" -#: ../../fe_utils/connect_utils.c:117 +#: ../../fe_utils/connect_utils.c:116 #, c-format msgid "%s" msgstr "%s" diff --git a/src/bin/pg_amcheck/po/sv.po b/src/bin/pg_amcheck/po/sv.po index 96aa844ed22..2a9ee08207d 100644 --- a/src/bin/pg_amcheck/po/sv.po +++ b/src/bin/pg_amcheck/po/sv.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-05-09 18:50+0000\n" -"PO-Revision-Date: 2022-05-09 21:45+0200\n" +"PO-Revision-Date: 2023-09-05 08:59+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -409,7 +409,7 @@ msgstr " -p, --port=PORT databasserverns port\n" #: pg_amcheck.c:1167 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" -msgstr " -U, --username=ANVÄNDARE användarnamn att ansluta som\n" +msgstr " -U, --username=ANVÄNDARE användarnamn att ansluta som\n" #: pg_amcheck.c:1168 #, c-format diff --git a/src/bin/pg_archivecleanup/po/it.po b/src/bin/pg_archivecleanup/po/it.po index 6be1003f2d6..59f77c210ca 100644 --- a/src/bin/pg_archivecleanup/po/it.po +++ b/src/bin/pg_archivecleanup/po/it.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: pg_archivecleanup (PostgreSQL) 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-09-26 08:20+0000\n" -"PO-Revision-Date: 2022-09-30 14:18+0200\n" +"PO-Revision-Date: 2023-09-05 08:03+0200\n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -104,12 +104,12 @@ msgstr "" #: pg_archivecleanup.c:255 #, c-format msgid " -d generate debug output (verbose mode)\n" -msgstr " -d genera output di debug (modalità dettagliata)\n" +msgstr " -d genera output di debug (modalità dettagliata)\n" #: pg_archivecleanup.c:256 #, c-format msgid " -n dry run, show the names of the files that would be removed\n" -msgstr " -n dry run, mostra i nomi dei file che verrebbero rimossi\n" +msgstr " -n dry run, mostra i nomi dei file che verrebbero rimossi\n" #: pg_archivecleanup.c:257 #, c-format @@ -119,7 +119,7 @@ msgstr " -V --version mostra informazioni sulla versione ed esci\n" #: pg_archivecleanup.c:258 #, c-format msgid " -x EXT clean up files if they have this extension\n" -msgstr " -x EXT ripulisce i file se hanno questa estensione\n" +msgstr " -x EXT ripulisce i file se hanno questa estensione\n" #: pg_archivecleanup.c:259 #, c-format diff --git a/src/bin/pg_archivecleanup/po/ru.po b/src/bin/pg_archivecleanup/po/ru.po index 4b542ce16ce..c28de42aa18 100644 --- a/src/bin/pg_archivecleanup/po/ru.po +++ b/src/bin/pg_archivecleanup/po/ru.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: ../../../src/common/logging.c:276 #, c-format @@ -136,8 +136,8 @@ msgstr " -?, --help показать эту справку и выйти\n" msgid "" "\n" "For use as archive_cleanup_command in postgresql.conf:\n" -" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION %" -"%r'\n" +" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION " +"%%r'\n" "e.g.\n" " archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" msgstr "" @@ -154,14 +154,14 @@ msgid "" "\n" "Or for use as a standalone archive cleaner:\n" "e.g.\n" -" pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010." -"00000020.backup\n" +" pg_archivecleanup /mnt/server/archiverdir " +"000000010000000000000010.00000020.backup\n" msgstr "" "\n" "Либо для использования в качестве отдельного средства очистки архива,\n" "например:\n" -" pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010." -"00000020.backup\n" +" pg_archivecleanup /mnt/server/archiverdir " +"000000010000000000000010.00000020.backup\n" #: pg_archivecleanup.c:269 #, c-format diff --git a/src/bin/pg_basebackup/po/it.po b/src/bin/pg_basebackup/po/it.po index 37892c7f527..28f1253dc41 100644 --- a/src/bin/pg_basebackup/po/it.po +++ b/src/bin/pg_basebackup/po/it.po @@ -16,7 +16,7 @@ msgstr "" "Project-Id-Version: pg_basebackup (PostgreSQL) 11\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-09-26 08:18+0000\n" -"PO-Revision-Date: 2022-10-04 19:29+0200\n" +"PO-Revision-Date: 2023-09-05 08:07+0200\n" "Last-Translator: Domenico Sgarbossa \n" "Language-Team: https://github.com/dvarrazzo/postgresql-it\n" "Language: it\n" @@ -500,7 +500,7 @@ msgstr "" #: pg_basebackup.c:398 #, c-format msgid " -Z, --compress=none do not compress tar output\n" -msgstr " -Z, --compress=none non comprime l'output tar\n" +msgstr " -Z, --compress=none non comprime l'output tar\n" #: pg_basebackup.c:399 #, c-format @@ -575,18 +575,18 @@ msgid "" " --manifest-force-encode\n" " hex encode all file names in manifest\n" msgstr "" -" --codifica-forza-manifest\n" +" --manifest-force-encode\n" " hex codifica tutti i nomi di file in manifest\n" #: pg_basebackup.c:414 #, c-format msgid " --no-estimate-size do not estimate backup size in server side\n" -msgstr " --no-stimate-size non stima la dimensione del backup sul lato server\n" +msgstr " --no-estimate-size non stima la dimensione del backup sul lato server\n" #: pg_basebackup.c:415 #, c-format msgid " --no-manifest suppress generation of backup manifest\n" -msgstr " --no-slot impedisci la creazione di uno slot di replica temporanea\n" +msgstr "" #: pg_basebackup.c:416 #, c-format diff --git a/src/bin/pg_basebackup/po/ru.po b/src/bin/pg_basebackup/po/ru.po index 743d7c935e4..7f777552f76 100644 --- a/src/bin/pg_basebackup/po/ru.po +++ b/src/bin/pg_basebackup/po/ru.po @@ -1,21 +1,21 @@ # Russian message translation file for pg_basebackup # Copyright (C) 2012-2016 PostgreSQL Global Development Group # This file is distributed under the same license as the PostgreSQL package. -# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022. +# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023. msgid "" msgstr "" "Project-Id-Version: pg_basebackup (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-11-01 14:40+0300\n" -"PO-Revision-Date: 2022-09-29 12:01+0300\n" +"POT-Creation-Date: 2023-08-28 07:59+0300\n" +"PO-Revision-Date: 2023-08-29 09:42+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #: ../../../src/common/logging.c:276 #, c-format @@ -37,37 +37,44 @@ msgstr "подробности: " msgid "hint: " msgstr "подсказка: " -#: ../../common/compression.c:130 ../../common/compression.c:139 -#: ../../common/compression.c:148 +#: ../../common/compression.c:132 ../../common/compression.c:141 +#: ../../common/compression.c:150 bbstreamer_gzip.c:116 bbstreamer_gzip.c:249 +#: bbstreamer_lz4.c:100 bbstreamer_lz4.c:298 bbstreamer_zstd.c:129 +#: bbstreamer_zstd.c:284 #, c-format msgid "this build does not support compression with %s" msgstr "эта сборка программы не поддерживает сжатие %s" -#: ../../common/compression.c:203 +#: ../../common/compression.c:205 msgid "found empty string where a compression option was expected" msgstr "вместо указания параметра сжатия получена пустая строка" -#: ../../common/compression.c:237 +#: ../../common/compression.c:244 #, c-format msgid "unrecognized compression option: \"%s\"" msgstr "нераспознанный параметр сжатия: \"%s\"" -#: ../../common/compression.c:276 +#: ../../common/compression.c:283 #, c-format msgid "compression option \"%s\" requires a value" msgstr "для параметра сжатия \"%s\" требуется значение" -#: ../../common/compression.c:285 +#: ../../common/compression.c:292 #, c-format msgid "value for compression option \"%s\" must be an integer" msgstr "значение параметра сжатия \"%s\" должно быть целочисленным" -#: ../../common/compression.c:335 +#: ../../common/compression.c:331 +#, c-format +msgid "value for compression option \"%s\" must be a Boolean value" +msgstr "значение параметра сжатия \"%s\" должно быть булевским" + +#: ../../common/compression.c:379 #, c-format msgid "compression algorithm \"%s\" does not accept a compression level" msgstr "для алгоритма сжатия \"%s\" нельзя задать уровень сжатия" -#: ../../common/compression.c:342 +#: ../../common/compression.c:386 #, c-format msgid "" "compression algorithm \"%s\" expects a compression level between %d and %d " @@ -76,52 +83,57 @@ msgstr "" "для алгоритма сжатия \"%s\" ожидается уровень сжатия от %d до %d (по " "умолчанию %d)" -#: ../../common/compression.c:353 +#: ../../common/compression.c:397 #, c-format msgid "compression algorithm \"%s\" does not accept a worker count" msgstr "для алгоритма сжатия \"%s\" нельзя задать число потоков" +#: ../../common/compression.c:408 +#, c-format +msgid "compression algorithm \"%s\" does not support long-distance mode" +msgstr "алгоритм сжатия \"%s\" не поддерживает режим большой дистанции" + #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 -#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format msgid "out of memory\n" msgstr "нехватка памяти\n" -#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 #, c-format msgid "cannot duplicate null pointer (internal error)\n" msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n" -#: ../../common/file_utils.c:87 ../../common/file_utils.c:451 -#: pg_receivewal.c:380 pg_recvlogical.c:341 +#: ../../common/file_utils.c:87 ../../common/file_utils.c:447 +#: pg_receivewal.c:319 pg_recvlogical.c:339 #, c-format msgid "could not stat file \"%s\": %m" msgstr "не удалось получить информацию о файле \"%s\": %m" -#: ../../common/file_utils.c:166 pg_receivewal.c:303 +#: ../../common/file_utils.c:162 pg_receivewal.c:242 #, c-format msgid "could not open directory \"%s\": %m" msgstr "не удалось открыть каталог \"%s\": %m" -#: ../../common/file_utils.c:200 pg_receivewal.c:532 +#: ../../common/file_utils.c:196 pg_receivewal.c:471 #, c-format msgid "could not read directory \"%s\": %m" msgstr "не удалось прочитать каталог \"%s\": %m" -#: ../../common/file_utils.c:232 ../../common/file_utils.c:291 -#: ../../common/file_utils.c:365 ../../fe_utils/recovery_gen.c:121 -#: pg_receivewal.c:447 +#: ../../common/file_utils.c:228 ../../common/file_utils.c:287 +#: ../../common/file_utils.c:361 ../../fe_utils/recovery_gen.c:121 +#: pg_receivewal.c:386 #, c-format msgid "could not open file \"%s\": %m" msgstr "не удалось открыть файл \"%s\": %m" -#: ../../common/file_utils.c:303 ../../common/file_utils.c:373 -#: pg_recvlogical.c:196 +#: ../../common/file_utils.c:299 ../../common/file_utils.c:369 +#: pg_recvlogical.c:194 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "не удалось синхронизировать с ФС файл \"%s\": %m" -#: ../../common/file_utils.c:383 pg_basebackup.c:2266 walmethods.c:459 +#: ../../common/file_utils.c:379 pg_basebackup.c:2237 walmethods.c:462 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "не удалось переименовать файл \"%s\" в \"%s\": %m" @@ -138,24 +150,24 @@ msgstr "значение %s должно быть в диапазоне %d..%d" #: ../../fe_utils/recovery_gen.c:34 ../../fe_utils/recovery_gen.c:45 #: ../../fe_utils/recovery_gen.c:70 ../../fe_utils/recovery_gen.c:90 -#: ../../fe_utils/recovery_gen.c:149 pg_basebackup.c:1646 +#: ../../fe_utils/recovery_gen.c:149 pg_basebackup.c:1609 #, c-format msgid "out of memory" msgstr "нехватка памяти" #: ../../fe_utils/recovery_gen.c:124 bbstreamer_file.c:121 -#: bbstreamer_file.c:258 pg_basebackup.c:1443 pg_basebackup.c:1737 +#: bbstreamer_file.c:258 pg_basebackup.c:1406 pg_basebackup.c:1700 #, c-format msgid "could not write to file \"%s\": %m" msgstr "не удалось записать в файл \"%s\": %m" -#: ../../fe_utils/recovery_gen.c:133 bbstreamer_file.c:93 bbstreamer_file.c:339 -#: pg_basebackup.c:1507 pg_basebackup.c:1716 +#: ../../fe_utils/recovery_gen.c:133 bbstreamer_file.c:93 bbstreamer_file.c:360 +#: pg_basebackup.c:1470 pg_basebackup.c:1679 #, c-format msgid "could not create file \"%s\": %m" msgstr "не удалось создать файл \"%s\": %m" -#: bbstreamer_file.c:138 pg_recvlogical.c:635 +#: bbstreamer_file.c:138 pg_recvlogical.c:633 #, c-format msgid "could not close file \"%s\": %m" msgstr "не удалось закрыть файл \"%s\": %m" @@ -165,22 +177,22 @@ msgstr "не удалось закрыть файл \"%s\": %m" msgid "unexpected state while extracting archive" msgstr "неожиданное состояние при извлечении архива" -#: bbstreamer_file.c:298 pg_basebackup.c:696 pg_basebackup.c:740 +#: bbstreamer_file.c:320 pg_basebackup.c:686 pg_basebackup.c:730 #, c-format msgid "could not create directory \"%s\": %m" msgstr "не удалось создать каталог \"%s\": %m" -#: bbstreamer_file.c:304 +#: bbstreamer_file.c:325 #, c-format msgid "could not set permissions on directory \"%s\": %m" msgstr "не удалось установить права для каталога \"%s\": %m" -#: bbstreamer_file.c:323 +#: bbstreamer_file.c:344 #, c-format msgid "could not create symbolic link from \"%s\" to \"%s\": %m" msgstr "не удалось создать символическую ссылку \"%s\" в \"%s\": %m" -#: bbstreamer_file.c:343 +#: bbstreamer_file.c:364 #, c-format msgid "could not set permissions on file \"%s\": %m" msgstr "не удалось установить права доступа для файла \"%s\": %m" @@ -205,11 +217,6 @@ msgstr "не удалось открыть выходной файл: %m" msgid "could not set compression level %d: %s" msgstr "не удалось установить уровень сжатия %d: %s" -#: bbstreamer_gzip.c:116 bbstreamer_gzip.c:249 -#, c-format -msgid "this build does not support gzip compression" -msgstr "эта сборка программы не поддерживает сжатие gzip" - #: bbstreamer_gzip.c:143 #, c-format msgid "could not write to compressed file \"%s\": %s" @@ -220,12 +227,12 @@ msgstr "не удалось записать сжатый файл \"%s\": %s" msgid "could not close compressed file \"%s\": %m" msgstr "не удалось закрыть сжатый файл \"%s\": %m" -#: bbstreamer_gzip.c:245 walmethods.c:869 +#: bbstreamer_gzip.c:245 walmethods.c:876 #, c-format msgid "could not initialize compression library" msgstr "не удалось инициализировать библиотеку сжатия" -#: bbstreamer_gzip.c:296 bbstreamer_lz4.c:354 bbstreamer_zstd.c:316 +#: bbstreamer_gzip.c:296 bbstreamer_lz4.c:354 bbstreamer_zstd.c:329 #, c-format msgid "could not decompress data: %s" msgstr "не удалось распаковать данные: %s" @@ -240,17 +247,12 @@ msgstr "неожиданное состояние при внедрении па msgid "could not create lz4 compression context: %s" msgstr "не удалось создать контекст сжатия lz4: %s" -#: bbstreamer_lz4.c:100 bbstreamer_lz4.c:298 -#, c-format -msgid "this build does not support lz4 compression" -msgstr "эта сборка программы не поддерживает сжатие lz4" - #: bbstreamer_lz4.c:140 #, c-format msgid "could not write lz4 header: %s" msgstr "не удалось записать заголовок lz4: %s" -#: bbstreamer_lz4.c:189 bbstreamer_zstd.c:168 bbstreamer_zstd.c:210 +#: bbstreamer_lz4.c:189 bbstreamer_zstd.c:181 bbstreamer_zstd.c:223 #, c-format msgid "could not compress data: %s" msgstr "не удалось сжать данные: %s" @@ -300,103 +302,103 @@ msgstr "не удалось установить для zstd уровень сж msgid "could not set compression worker count to %d: %s" msgstr "не удалось установить для zstd число потоков %d: %s" -#: bbstreamer_zstd.c:116 bbstreamer_zstd.c:271 +#: bbstreamer_zstd.c:116 #, c-format -msgid "this build does not support zstd compression" -msgstr "эта сборка программы не поддерживает сжатие zstd" +msgid "could not enable long-distance mode: %s" +msgstr "не удалось включить режим большой дистанции: %s" -#: bbstreamer_zstd.c:262 +#: bbstreamer_zstd.c:275 #, c-format msgid "could not create zstd decompression context" msgstr "не удалось создать контекст распаковки zstd" -#: pg_basebackup.c:240 +#: pg_basebackup.c:238 #, c-format msgid "removing data directory \"%s\"" msgstr "удаление каталога данных \"%s\"" -#: pg_basebackup.c:242 +#: pg_basebackup.c:240 #, c-format msgid "failed to remove data directory" msgstr "ошибка при удалении каталога данных" -#: pg_basebackup.c:246 +#: pg_basebackup.c:244 #, c-format msgid "removing contents of data directory \"%s\"" msgstr "удаление содержимого каталога данных \"%s\"" -#: pg_basebackup.c:248 +#: pg_basebackup.c:246 #, c-format msgid "failed to remove contents of data directory" msgstr "ошибка при удалении содержимого каталога данных" -#: pg_basebackup.c:253 +#: pg_basebackup.c:251 #, c-format msgid "removing WAL directory \"%s\"" msgstr "удаление каталога WAL \"%s\"" -#: pg_basebackup.c:255 +#: pg_basebackup.c:253 #, c-format msgid "failed to remove WAL directory" msgstr "ошибка при удалении каталога WAL" -#: pg_basebackup.c:259 +#: pg_basebackup.c:257 #, c-format msgid "removing contents of WAL directory \"%s\"" msgstr "удаление содержимого каталога WAL \"%s\"" -#: pg_basebackup.c:261 +#: pg_basebackup.c:259 #, c-format msgid "failed to remove contents of WAL directory" msgstr "ошибка при удалении содержимого каталога WAL" -#: pg_basebackup.c:267 +#: pg_basebackup.c:265 #, c-format msgid "data directory \"%s\" not removed at user's request" msgstr "каталог данных \"%s\" не был удалён по запросу пользователя" -#: pg_basebackup.c:270 +#: pg_basebackup.c:268 #, c-format msgid "WAL directory \"%s\" not removed at user's request" msgstr "каталог WAL \"%s\" не был удалён по запросу пользователя" -#: pg_basebackup.c:274 +#: pg_basebackup.c:272 #, c-format msgid "changes to tablespace directories will not be undone" msgstr "изменения в каталогах табличных пространств не будут отменены" -#: pg_basebackup.c:326 +#: pg_basebackup.c:324 #, c-format msgid "directory name too long" msgstr "слишком длинное имя каталога" -#: pg_basebackup.c:333 +#: pg_basebackup.c:331 #, c-format msgid "multiple \"=\" signs in tablespace mapping" msgstr "несколько знаков \"=\" в сопоставлении табличного пространства" -#: pg_basebackup.c:342 +#: pg_basebackup.c:340 #, c-format msgid "invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\"" msgstr "" "сопоставление табл. пространства записано неверно: \"%s\"; должно быть " "\"СТАРЫЙ_КАТАЛОГ=НОВЫЙ_КАТАЛОГ\"" -#: pg_basebackup.c:361 +#: pg_basebackup.c:359 #, c-format msgid "old directory is not an absolute path in tablespace mapping: %s" msgstr "" "старый каталог в сопоставлении табл. пространства задан не абсолютным путём: " "%s" -#: pg_basebackup.c:365 +#: pg_basebackup.c:363 #, c-format msgid "new directory is not an absolute path in tablespace mapping: %s" msgstr "" "новый каталог в сопоставлении табл. пространства задан не абсолютным путём: " "%s" -#: pg_basebackup.c:387 +#: pg_basebackup.c:385 #, c-format msgid "" "%s takes a base backup of a running PostgreSQL server.\n" @@ -405,17 +407,17 @@ msgstr "" "%s делает базовую резервную копию работающего сервера PostgreSQL.\n" "\n" -#: pg_basebackup.c:389 pg_receivewal.c:81 pg_recvlogical.c:78 +#: pg_basebackup.c:387 pg_receivewal.c:79 pg_recvlogical.c:76 #, c-format msgid "Usage:\n" msgstr "Использование:\n" -#: pg_basebackup.c:390 pg_receivewal.c:82 pg_recvlogical.c:79 +#: pg_basebackup.c:388 pg_receivewal.c:80 pg_recvlogical.c:77 #, c-format msgid " %s [OPTION]...\n" msgstr " %s [ПАРАМЕТР]...\n" -#: pg_basebackup.c:391 +#: pg_basebackup.c:389 #, c-format msgid "" "\n" @@ -424,19 +426,19 @@ msgstr "" "\n" "Параметры, управляющие выводом:\n" -#: pg_basebackup.c:392 +#: pg_basebackup.c:390 #, c-format msgid " -D, --pgdata=DIRECTORY receive base backup into directory\n" msgstr " -D, --pgdata=КАТАЛОГ сохранить базовую копию в указанный каталог\n" -#: pg_basebackup.c:393 +#: pg_basebackup.c:391 #, c-format msgid " -F, --format=p|t output format (plain (default), tar)\n" msgstr "" " -F, --format=p|t формат вывода (p (по умолчанию) - простой, t - " "tar)\n" -#: pg_basebackup.c:394 +#: pg_basebackup.c:392 #, c-format msgid "" " -r, --max-rate=RATE maximum transfer rate to transfer data directory\n" @@ -445,7 +447,7 @@ msgstr "" " -r, --max-rate=СКОРОСТЬ макс. скорость передачи данных в целевой каталог\n" " (в КБ/с, либо добавьте суффикс \"k\" или \"M\")\n" -#: pg_basebackup.c:396 +#: pg_basebackup.c:394 #, c-format msgid "" " -R, --write-recovery-conf\n" @@ -455,7 +457,7 @@ msgstr "" " записать конфигурацию для репликации\n" # well-spelled: ИНФО -#: pg_basebackup.c:398 +#: pg_basebackup.c:396 #, c-format msgid "" " -t, --target=TARGET[:DETAIL]\n" @@ -464,7 +466,7 @@ msgstr "" " -t, --target=ПОЛУЧАТЕЛЬ[:ДОП_ИНФО]\n" " получатель копии (если отличается от client)\n" -#: pg_basebackup.c:400 +#: pg_basebackup.c:398 #, c-format msgid "" " -T, --tablespace-mapping=OLDDIR=NEWDIR\n" @@ -475,14 +477,14 @@ msgstr "" "каталога\n" " в новый\n" -#: pg_basebackup.c:402 +#: pg_basebackup.c:400 #, c-format msgid " --waldir=WALDIR location for the write-ahead log directory\n" msgstr "" " --waldir=КАТАЛОГ_WAL\n" " расположение каталога с журналом предзаписи\n" -#: pg_basebackup.c:403 +#: pg_basebackup.c:401 #, c-format msgid "" " -X, --wal-method=none|fetch|stream\n" @@ -492,13 +494,13 @@ msgstr "" " включить в копию требуемые файлы WAL, используя\n" " заданный метод\n" -#: pg_basebackup.c:405 +#: pg_basebackup.c:403 #, c-format msgid " -z, --gzip compress tar output\n" msgstr " -z, --gzip сжать выходной tar\n" # well-spelled: ИНФО -#: pg_basebackup.c:406 +#: pg_basebackup.c:404 #, c-format msgid "" " -Z, --compress=[{client|server}-]METHOD[:DETAIL]\n" @@ -508,12 +510,12 @@ msgstr "" " выполнять сжатие на клиенте или сервере как " "указано\n" -#: pg_basebackup.c:408 +#: pg_basebackup.c:406 #, c-format msgid " -Z, --compress=none do not compress tar output\n" msgstr " -Z, --compress=none не сжимать вывод tar\n" -#: pg_basebackup.c:409 +#: pg_basebackup.c:407 #, c-format msgid "" "\n" @@ -522,7 +524,7 @@ msgstr "" "\n" "Общие параметры:\n" -#: pg_basebackup.c:410 +#: pg_basebackup.c:408 #, c-format msgid "" " -c, --checkpoint=fast|spread\n" @@ -531,22 +533,22 @@ msgstr "" " -c, --checkpoint=fast|spread\n" " режим быстрых или распределённых контрольных точек\n" -#: pg_basebackup.c:412 +#: pg_basebackup.c:410 #, c-format msgid " -C, --create-slot create replication slot\n" msgstr " -C, --create-slot создать слот репликации\n" -#: pg_basebackup.c:413 +#: pg_basebackup.c:411 #, c-format msgid " -l, --label=LABEL set backup label\n" msgstr " -l, --label=МЕТКА установить метку резервной копии\n" -#: pg_basebackup.c:414 +#: pg_basebackup.c:412 #, c-format msgid " -n, --no-clean do not clean up after errors\n" msgstr " -n, --no-clean не очищать после ошибок\n" -#: pg_basebackup.c:415 +#: pg_basebackup.c:413 #, c-format msgid "" " -N, --no-sync do not wait for changes to be written safely to " @@ -554,27 +556,27 @@ msgid "" msgstr "" " -N, --no-sync не ждать завершения сохранения данных на диске\n" -#: pg_basebackup.c:416 +#: pg_basebackup.c:414 #, c-format msgid " -P, --progress show progress information\n" msgstr " -P, --progress показывать прогресс операции\n" -#: pg_basebackup.c:417 pg_receivewal.c:91 +#: pg_basebackup.c:415 pg_receivewal.c:89 #, c-format msgid " -S, --slot=SLOTNAME replication slot to use\n" msgstr " -S, --slot=ИМЯ_СЛОТА использовать заданный слот репликации\n" -#: pg_basebackup.c:418 pg_receivewal.c:93 pg_recvlogical.c:100 +#: pg_basebackup.c:416 pg_receivewal.c:91 pg_recvlogical.c:98 #, c-format msgid " -v, --verbose output verbose messages\n" msgstr " -v, --verbose выводить подробные сообщения\n" -#: pg_basebackup.c:419 pg_receivewal.c:94 pg_recvlogical.c:101 +#: pg_basebackup.c:417 pg_receivewal.c:92 pg_recvlogical.c:99 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: pg_basebackup.c:420 +#: pg_basebackup.c:418 #, c-format msgid "" " --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" @@ -585,7 +587,7 @@ msgstr "" # skip-rule: capital-letter-first # well-spelled: шестнадц -#: pg_basebackup.c:422 +#: pg_basebackup.c:420 #, c-format msgid "" " --manifest-force-encode\n" @@ -595,25 +597,25 @@ msgstr "" " записывать все имена файлов в манифесте в шестнадц. " "виде\n" -#: pg_basebackup.c:424 +#: pg_basebackup.c:422 #, c-format msgid " --no-estimate-size do not estimate backup size in server side\n" msgstr "" " --no-estimate-size не рассчитывать размер копии на стороне сервера\n" -#: pg_basebackup.c:425 +#: pg_basebackup.c:423 #, c-format msgid " --no-manifest suppress generation of backup manifest\n" msgstr " --no-manifest отключить создание манифеста копии\n" -#: pg_basebackup.c:426 +#: pg_basebackup.c:424 #, c-format msgid "" " --no-slot prevent creation of temporary replication slot\n" msgstr "" " --no-slot предотвратить создание временного слота репликации\n" -#: pg_basebackup.c:427 +#: pg_basebackup.c:425 #, c-format msgid "" " --no-verify-checksums\n" @@ -622,12 +624,12 @@ msgstr "" " --no-verify-checksums\n" " не проверять контрольные суммы\n" -#: pg_basebackup.c:429 pg_receivewal.c:97 pg_recvlogical.c:102 +#: pg_basebackup.c:427 pg_receivewal.c:95 pg_recvlogical.c:100 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: pg_basebackup.c:430 pg_receivewal.c:98 pg_recvlogical.c:103 +#: pg_basebackup.c:428 pg_receivewal.c:96 pg_recvlogical.c:101 #, c-format msgid "" "\n" @@ -636,22 +638,22 @@ msgstr "" "\n" "Параметры подключения:\n" -#: pg_basebackup.c:431 pg_receivewal.c:99 +#: pg_basebackup.c:429 pg_receivewal.c:97 #, c-format msgid " -d, --dbname=CONNSTR connection string\n" msgstr " -d, --dbname=СТРОКА строка подключения\n" -#: pg_basebackup.c:432 pg_receivewal.c:100 pg_recvlogical.c:105 +#: pg_basebackup.c:430 pg_receivewal.c:98 pg_recvlogical.c:103 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=ИМЯ имя сервера баз данных или каталог сокетов\n" -#: pg_basebackup.c:433 pg_receivewal.c:101 pg_recvlogical.c:106 +#: pg_basebackup.c:431 pg_receivewal.c:99 pg_recvlogical.c:104 #, c-format msgid " -p, --port=PORT database server port number\n" msgstr " -p, --port=ПОРТ номер порта сервера БД\n" -#: pg_basebackup.c:434 +#: pg_basebackup.c:432 #, c-format msgid "" " -s, --status-interval=INTERVAL\n" @@ -662,19 +664,19 @@ msgstr "" " интервал между передаваемыми серверу\n" " пакетами состояния (в секундах)\n" -#: pg_basebackup.c:436 pg_receivewal.c:102 pg_recvlogical.c:107 +#: pg_basebackup.c:434 pg_receivewal.c:100 pg_recvlogical.c:105 #, c-format msgid " -U, --username=NAME connect as specified database user\n" msgstr "" " -U, --username=NAME connect as specified database user\n" " -U, --username=ИМЯ имя пользователя баз данных\n" -#: pg_basebackup.c:437 pg_receivewal.c:103 pg_recvlogical.c:108 +#: pg_basebackup.c:435 pg_receivewal.c:101 pg_recvlogical.c:106 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password не запрашивать пароль\n" -#: pg_basebackup.c:438 pg_receivewal.c:104 pg_recvlogical.c:109 +#: pg_basebackup.c:436 pg_receivewal.c:102 pg_recvlogical.c:107 #, c-format msgid "" " -W, --password force password prompt (should happen " @@ -682,7 +684,7 @@ msgid "" msgstr "" " -W, --password запрашивать пароль всегда (обычно не требуется)\n" -#: pg_basebackup.c:439 pg_receivewal.c:108 pg_recvlogical.c:110 +#: pg_basebackup.c:437 pg_receivewal.c:106 pg_recvlogical.c:108 #, c-format msgid "" "\n" @@ -691,63 +693,63 @@ msgstr "" "\n" "Об ошибках сообщайте по адресу <%s>.\n" -#: pg_basebackup.c:440 pg_receivewal.c:109 pg_recvlogical.c:111 +#: pg_basebackup.c:438 pg_receivewal.c:107 pg_recvlogical.c:109 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашняя страница %s: <%s>\n" -#: pg_basebackup.c:482 +#: pg_basebackup.c:477 #, c-format msgid "could not read from ready pipe: %m" msgstr "не удалось прочитать из готового канала: %m" -#: pg_basebackup.c:485 pg_basebackup.c:632 pg_basebackup.c:2180 -#: streamutil.c:444 +#: pg_basebackup.c:480 pg_basebackup.c:622 pg_basebackup.c:2151 +#: streamutil.c:441 #, c-format msgid "could not parse write-ahead log location \"%s\"" msgstr "не удалось разобрать положение в журнале предзаписи \"%s\"" -#: pg_basebackup.c:591 pg_receivewal.c:663 +#: pg_basebackup.c:585 pg_receivewal.c:600 #, c-format msgid "could not finish writing WAL files: %m" msgstr "не удалось завершить запись файлов WAL: %m" -#: pg_basebackup.c:641 +#: pg_basebackup.c:631 #, c-format msgid "could not create pipe for background process: %m" msgstr "не удалось создать канал для фонового процесса: %m" -#: pg_basebackup.c:674 +#: pg_basebackup.c:664 #, c-format msgid "created temporary replication slot \"%s\"" msgstr "создан временный слот репликации \"%s\"" -#: pg_basebackup.c:677 +#: pg_basebackup.c:667 #, c-format msgid "created replication slot \"%s\"" msgstr "создан слот репликации \"%s\"" -#: pg_basebackup.c:711 +#: pg_basebackup.c:701 #, c-format msgid "could not create background process: %m" msgstr "не удалось создать фоновый процесс: %m" -#: pg_basebackup.c:720 +#: pg_basebackup.c:710 #, c-format msgid "could not create background thread: %m" msgstr "не удалось создать фоновый поток выполнения: %m" -#: pg_basebackup.c:759 +#: pg_basebackup.c:749 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "каталог \"%s\" существует, но он не пуст" -#: pg_basebackup.c:765 +#: pg_basebackup.c:755 #, c-format msgid "could not access directory \"%s\": %m" msgstr "ошибка доступа к каталогу \"%s\": %m" -#: pg_basebackup.c:842 +#: pg_basebackup.c:831 #, c-format msgid "%*s/%s kB (100%%), %d/%d tablespace %*s" msgid_plural "%*s/%s kB (100%%), %d/%d tablespaces %*s" @@ -755,7 +757,7 @@ msgstr[0] "%*s/%s КБ (100%%), табличное пространство %d/% msgstr[1] "%*s/%s КБ (100%%), табличное пространство %d/%d %*s" msgstr[2] "%*s/%s КБ (100%%), табличное пространство %d/%d %*s" -#: pg_basebackup.c:854 +#: pg_basebackup.c:843 #, c-format msgid "%*s/%s kB (%d%%), %d/%d tablespace (%s%-*.*s)" msgid_plural "%*s/%s kB (%d%%), %d/%d tablespaces (%s%-*.*s)" @@ -763,7 +765,7 @@ msgstr[0] "%*s/%s КБ (%d%%), табличное пространство %d/%d msgstr[1] "%*s/%s КБ (%d%%), табличное пространство %d/%d (%s%-*.*s)" msgstr[2] "%*s/%s КБ (%d%%), табличное пространство %d/%d (%s%-*.*s)" -#: pg_basebackup.c:870 +#: pg_basebackup.c:859 #, c-format msgid "%*s/%s kB (%d%%), %d/%d tablespace" msgid_plural "%*s/%s kB (%d%%), %d/%d tablespaces" @@ -771,58 +773,58 @@ msgstr[0] "%*s/%s КБ (%d%%), табличное пространство %d/%d msgstr[1] "%*s/%s КБ (%d%%), табличное пространство %d/%d" msgstr[2] "%*s/%s КБ (%d%%), табличное пространство %d/%d" -#: pg_basebackup.c:894 +#: pg_basebackup.c:883 #, c-format msgid "transfer rate \"%s\" is not a valid value" msgstr "неверное значение (\"%s\") для скорости передачи данных" -#: pg_basebackup.c:896 +#: pg_basebackup.c:885 #, c-format msgid "invalid transfer rate \"%s\": %m" msgstr "неверная скорость передачи данных \"%s\": %m" -#: pg_basebackup.c:903 +#: pg_basebackup.c:892 #, c-format msgid "transfer rate must be greater than zero" msgstr "скорость передачи должна быть больше 0" -#: pg_basebackup.c:933 +#: pg_basebackup.c:922 #, c-format msgid "invalid --max-rate unit: \"%s\"" msgstr "неверная единица измерения в --max-rate: \"%s\"" -#: pg_basebackup.c:937 +#: pg_basebackup.c:926 #, c-format msgid "transfer rate \"%s\" exceeds integer range" msgstr "скорость передачи \"%s\" вне целочисленного диапазона" -#: pg_basebackup.c:944 +#: pg_basebackup.c:933 #, c-format msgid "transfer rate \"%s\" is out of range" msgstr "скорость передачи \"%s\" вне диапазона" -#: pg_basebackup.c:1040 +#: pg_basebackup.c:995 #, c-format msgid "could not get COPY data stream: %s" msgstr "не удалось получить поток данных COPY: %s" -#: pg_basebackup.c:1057 pg_recvlogical.c:438 pg_recvlogical.c:610 -#: receivelog.c:981 +#: pg_basebackup.c:1012 pg_recvlogical.c:436 pg_recvlogical.c:608 +#: receivelog.c:973 #, c-format msgid "could not read COPY data: %s" msgstr "не удалось прочитать данные COPY: %s" -#: pg_basebackup.c:1061 +#: pg_basebackup.c:1016 #, c-format msgid "background process terminated unexpectedly" msgstr "фоновый процесс завершился неожиданно" -#: pg_basebackup.c:1132 +#: pg_basebackup.c:1087 #, c-format msgid "cannot inject manifest into a compressed tar file" msgstr "манифест нельзя внедрить в сжатый архив tar" -#: pg_basebackup.c:1133 +#: pg_basebackup.c:1088 #, c-format msgid "" "Use client-side compression, send the output to a directory rather than " @@ -831,24 +833,24 @@ msgstr "" "Примените сжатие на стороне клиента, передайте вывод в каталог, а не в " "стандартный вывод, или используйте %s." -#: pg_basebackup.c:1149 +#: pg_basebackup.c:1104 #, c-format msgid "cannot parse archive \"%s\"" msgstr "обработать архив \"%s\" невозможно" -#: pg_basebackup.c:1150 +#: pg_basebackup.c:1105 #, c-format msgid "Only tar archives can be parsed." msgstr "Возможна обработка только архивов tar." -#: pg_basebackup.c:1152 +#: pg_basebackup.c:1107 #, c-format msgid "Plain format requires pg_basebackup to parse the archive." msgstr "" "Когда используется простой формат, программа pg_basebackup должна обработать " "архив." -#: pg_basebackup.c:1154 +#: pg_basebackup.c:1109 #, c-format msgid "" "Using - as the output directory requires pg_basebackup to parse the archive." @@ -856,89 +858,89 @@ msgstr "" "Когда в качестве выходного каталога используется \"-\", программа " "pg_basebackup должна обработать архив." -#: pg_basebackup.c:1156 +#: pg_basebackup.c:1111 #, c-format msgid "The -R option requires pg_basebackup to parse the archive." msgstr "" "Когда используется ключ -R, программа pg_basebackup должна обработать архив." -#: pg_basebackup.c:1367 +#: pg_basebackup.c:1330 #, c-format msgid "archives must precede manifest" msgstr "архивы должны предшествовать манифесту" -#: pg_basebackup.c:1382 +#: pg_basebackup.c:1345 #, c-format msgid "invalid archive name: \"%s\"" msgstr "неверное имя архива: \"%s\"" -#: pg_basebackup.c:1454 +#: pg_basebackup.c:1417 #, c-format msgid "unexpected payload data" msgstr "неожиданно получены данные" -#: pg_basebackup.c:1597 +#: pg_basebackup.c:1560 #, c-format msgid "empty COPY message" msgstr "пустое сообщение COPY" -#: pg_basebackup.c:1599 +#: pg_basebackup.c:1562 #, c-format msgid "malformed COPY message of type %d, length %zu" msgstr "неправильное сообщение COPY типа %d, длины %zu" -#: pg_basebackup.c:1797 +#: pg_basebackup.c:1760 #, c-format msgid "incompatible server version %s" msgstr "несовместимая версия сервера %s" -#: pg_basebackup.c:1813 +#: pg_basebackup.c:1776 #, c-format msgid "Use -X none or -X fetch to disable log streaming." msgstr "Укажите -X none или -X fetch для отключения трансляции журнала." -#: pg_basebackup.c:1881 +#: pg_basebackup.c:1844 #, c-format msgid "backup targets are not supported by this server version" msgstr "получатели копий не поддерживаются данной версией сервера" -#: pg_basebackup.c:1884 +#: pg_basebackup.c:1847 #, c-format msgid "recovery configuration cannot be written when a backup target is used" msgstr "" "при использовании получателя копии записать конфигурацию восстановления " "нельзя" -#: pg_basebackup.c:1911 +#: pg_basebackup.c:1874 #, c-format msgid "server does not support server-side compression" msgstr "сервер не поддерживает сжатие на стороне сервера" -#: pg_basebackup.c:1921 +#: pg_basebackup.c:1884 #, c-format msgid "initiating base backup, waiting for checkpoint to complete" msgstr "" "начинается базовое резервное копирование, ожидается завершение контрольной " "точки" -#: pg_basebackup.c:1925 +#: pg_basebackup.c:1888 #, c-format msgid "waiting for checkpoint" msgstr "ожидание контрольной точки" -#: pg_basebackup.c:1938 pg_recvlogical.c:262 receivelog.c:549 receivelog.c:588 -#: streamutil.c:291 streamutil.c:364 streamutil.c:416 streamutil.c:504 -#: streamutil.c:656 streamutil.c:701 +#: pg_basebackup.c:1901 pg_recvlogical.c:260 receivelog.c:543 receivelog.c:582 +#: streamutil.c:288 streamutil.c:361 streamutil.c:413 streamutil.c:501 +#: streamutil.c:653 streamutil.c:698 #, c-format msgid "could not send replication command \"%s\": %s" msgstr "не удалось передать команду репликации \"%s\": %s" -#: pg_basebackup.c:1946 +#: pg_basebackup.c:1909 #, c-format msgid "could not initiate base backup: %s" msgstr "не удалось инициализировать базовое резервное копирование: %s" -#: pg_basebackup.c:1949 +#: pg_basebackup.c:1912 #, c-format msgid "" "server returned unexpected response to BASE_BACKUP command; got %d rows and " @@ -947,123 +949,130 @@ msgstr "" "сервер вернул неожиданный ответ на команду BASE_BACKUP; получено строк: %d, " "полей: %d, а ожидалось строк: %d, полей: %d" -#: pg_basebackup.c:1955 +#: pg_basebackup.c:1918 #, c-format msgid "checkpoint completed" msgstr "контрольная точка завершена" -#: pg_basebackup.c:1970 +#: pg_basebackup.c:1932 #, c-format msgid "write-ahead log start point: %s on timeline %u" msgstr "стартовая точка в журнале предзаписи: %s на линии времени %u" -#: pg_basebackup.c:1978 +#: pg_basebackup.c:1940 #, c-format msgid "could not get backup header: %s" msgstr "не удалось получить заголовок резервной копии: %s" -#: pg_basebackup.c:1981 +#: pg_basebackup.c:1943 #, c-format msgid "no data returned from server" msgstr "сервер не вернул данные" -#: pg_basebackup.c:2016 +#: pg_basebackup.c:1986 #, c-format msgid "can only write single tablespace to stdout, database has %d" msgstr "" "в stdout можно вывести только одно табличное пространство, всего в СУБД их %d" -#: pg_basebackup.c:2029 +#: pg_basebackup.c:1999 #, c-format msgid "starting background WAL receiver" msgstr "запуск фонового процесса считывания WAL" -#: pg_basebackup.c:2111 +#: pg_basebackup.c:2082 #, c-format msgid "backup failed: %s" msgstr "ошибка при создании копии: %s" -#: pg_basebackup.c:2114 +#: pg_basebackup.c:2085 #, c-format msgid "no write-ahead log end position returned from server" msgstr "сервер не передал конечную позицию в журнале предзаписи" -#: pg_basebackup.c:2117 +#: pg_basebackup.c:2088 #, c-format msgid "write-ahead log end point: %s" msgstr "конечная точка в журнале предзаписи: %s" -#: pg_basebackup.c:2128 +#: pg_basebackup.c:2099 #, c-format msgid "checksum error occurred" msgstr "выявлена ошибка контрольной суммы" -#: pg_basebackup.c:2133 +#: pg_basebackup.c:2104 #, c-format msgid "final receive failed: %s" msgstr "ошибка в конце передачи: %s" -#: pg_basebackup.c:2157 +#: pg_basebackup.c:2128 #, c-format msgid "waiting for background process to finish streaming ..." msgstr "ожидание завершения потоковой передачи фоновым процессом..." -#: pg_basebackup.c:2161 +#: pg_basebackup.c:2132 #, c-format msgid "could not send command to background pipe: %m" msgstr "не удалось отправить команду в канал фонового процесса: %m" -#: pg_basebackup.c:2166 +#: pg_basebackup.c:2137 #, c-format msgid "could not wait for child process: %m" msgstr "сбой при ожидании дочернего процесса: %m" -#: pg_basebackup.c:2168 +#: pg_basebackup.c:2139 #, c-format msgid "child %d died, expected %d" msgstr "завершился дочерний процесс %d вместо ожидаемого %d" -#: pg_basebackup.c:2170 streamutil.c:91 streamutil.c:197 +#: pg_basebackup.c:2141 streamutil.c:91 streamutil.c:196 #, c-format msgid "%s" msgstr "%s" -#: pg_basebackup.c:2190 +#: pg_basebackup.c:2161 #, c-format msgid "could not wait for child thread: %m" msgstr "сбой при ожидании дочернего потока: %m" -#: pg_basebackup.c:2195 +#: pg_basebackup.c:2166 #, c-format msgid "could not get child thread exit status: %m" msgstr "не удалось получить состояние завершения дочернего потока: %m" -#: pg_basebackup.c:2198 +#: pg_basebackup.c:2169 #, c-format msgid "child thread exited with error %u" msgstr "дочерний поток завершился с ошибкой %u" -#: pg_basebackup.c:2227 +#: pg_basebackup.c:2198 #, c-format msgid "syncing data to disk ..." msgstr "сохранение данных на диске..." -#: pg_basebackup.c:2252 +#: pg_basebackup.c:2223 #, c-format msgid "renaming backup_manifest.tmp to backup_manifest" msgstr "переименование backup_manifest.tmp в backup_manifest" -#: pg_basebackup.c:2272 +#: pg_basebackup.c:2243 #, c-format msgid "base backup completed" msgstr "базовое резервное копирование завершено" -#: pg_basebackup.c:2361 +#: pg_basebackup.c:2326 +#, c-format +msgid "invalid checkpoint argument \"%s\", must be \"fast\" or \"spread\"" +msgstr "" +"неверный аргумент режима контрольных точек \"%s\"; должен быть \"fast\" или " +"\"spread\"" + +#: pg_basebackup.c:2344 #, c-format msgid "invalid output format \"%s\", must be \"plain\" or \"tar\"" msgstr "неверный формат вывода \"%s\", должен быть \"plain\" или \"tar\"" -#: pg_basebackup.c:2405 +#: pg_basebackup.c:2422 #, c-format msgid "" "invalid wal-method option \"%s\", must be \"fetch\", \"stream\", or \"none\"" @@ -1071,128 +1080,116 @@ msgstr "" "неверный аргумент для wal-method — \"%s\", допускается только \"fetch\", " "\"stream\" или \"none\"" -#: pg_basebackup.c:2435 -#, c-format -msgid "invalid checkpoint argument \"%s\", must be \"fast\" or \"spread\"" -msgstr "" -"неверный аргумент режима контрольных точек \"%s\"; должен быть \"fast\" или " -"\"spread\"" - -#: pg_basebackup.c:2486 pg_basebackup.c:2498 pg_basebackup.c:2520 -#: pg_basebackup.c:2532 pg_basebackup.c:2538 pg_basebackup.c:2590 -#: pg_basebackup.c:2601 pg_basebackup.c:2611 pg_basebackup.c:2617 -#: pg_basebackup.c:2624 pg_basebackup.c:2636 pg_basebackup.c:2648 -#: pg_basebackup.c:2656 pg_basebackup.c:2669 pg_basebackup.c:2675 -#: pg_basebackup.c:2684 pg_basebackup.c:2696 pg_basebackup.c:2707 -#: pg_basebackup.c:2715 pg_receivewal.c:814 pg_receivewal.c:826 -#: pg_receivewal.c:833 pg_receivewal.c:842 pg_receivewal.c:849 -#: pg_receivewal.c:859 pg_recvlogical.c:837 pg_recvlogical.c:849 -#: pg_recvlogical.c:859 pg_recvlogical.c:866 pg_recvlogical.c:873 -#: pg_recvlogical.c:880 pg_recvlogical.c:887 pg_recvlogical.c:894 -#: pg_recvlogical.c:901 pg_recvlogical.c:908 +#: pg_basebackup.c: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_receivewal.c:767 pg_receivewal.c:776 pg_receivewal.c:783 +#: pg_receivewal.c:793 pg_recvlogical.c:835 pg_recvlogical.c:847 +#: pg_recvlogical.c:857 pg_recvlogical.c:864 pg_recvlogical.c:871 +#: pg_recvlogical.c:878 pg_recvlogical.c:885 pg_recvlogical.c:892 +#: pg_recvlogical.c:899 pg_recvlogical.c:906 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Для дополнительной информации попробуйте \"%s --help\"." -#: pg_basebackup.c:2496 pg_receivewal.c:824 pg_recvlogical.c:847 +#: pg_basebackup.c:2467 pg_receivewal.c:758 pg_recvlogical.c:845 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "слишком много аргументов командной строки (первый: \"%s\")" -#: pg_basebackup.c:2519 +#: pg_basebackup.c:2490 #, c-format msgid "cannot specify both format and backup target" msgstr "указать и формат, и получателя копии одновременно нельзя" -#: pg_basebackup.c:2531 +#: pg_basebackup.c:2502 #, c-format msgid "must specify output directory or backup target" msgstr "необходимо указать выходной каталог или получателя копии" -#: pg_basebackup.c:2537 +#: pg_basebackup.c:2508 #, c-format msgid "cannot specify both output directory and backup target" msgstr "указать и выходной каталог, и получателя копии одновременно нельзя" -#: pg_basebackup.c:2567 pg_receivewal.c:868 +#: pg_basebackup.c:2538 pg_receivewal.c:802 #, c-format msgid "unrecognized compression algorithm: \"%s\"" msgstr "нераспознанный алгоритм сжатия: \"%s\"" -#: pg_basebackup.c:2573 pg_receivewal.c:875 +#: pg_basebackup.c:2544 pg_receivewal.c:809 #, c-format msgid "invalid compression specification: %s" msgstr "неправильное указание сжатия: %s" -#: pg_basebackup.c:2589 +#: pg_basebackup.c:2560 #, c-format msgid "" "client-side compression is not possible when a backup target is specified" msgstr "сжатие на стороне клиента невозможно при указании получателя копии" -#: pg_basebackup.c:2600 +#: pg_basebackup.c:2571 #, c-format msgid "only tar mode backups can be compressed" msgstr "сжиматься могут только резервные копии в архиве tar" -#: pg_basebackup.c:2610 +#: pg_basebackup.c:2581 #, c-format msgid "WAL cannot be streamed when a backup target is specified" msgstr "потоковая передача WAL невозможна при указании получателя копии" -#: pg_basebackup.c:2616 +#: pg_basebackup.c:2587 #, c-format msgid "cannot stream write-ahead logs in tar mode to stdout" msgstr "транслировать журналы предзаписи в режиме tar в поток stdout нельзя" -#: pg_basebackup.c:2623 +#: pg_basebackup.c:2594 #, c-format msgid "replication slots can only be used with WAL streaming" msgstr "слоты репликации можно использовать только при потоковой передаче WAL" -#: pg_basebackup.c:2635 +#: pg_basebackup.c:2606 #, c-format msgid "--no-slot cannot be used with slot name" msgstr "--no-slot нельзя использовать с именем слота" #. translator: second %s is an option name -#: pg_basebackup.c:2646 pg_receivewal.c:840 +#: pg_basebackup.c:2617 pg_receivewal.c:774 #, c-format msgid "%s needs a slot to be specified using --slot" msgstr "для %s необходимо задать слот с помощью параметра --slot" -#: pg_basebackup.c:2654 pg_basebackup.c:2694 pg_basebackup.c:2705 -#: pg_basebackup.c:2713 +#: pg_basebackup.c:2625 pg_basebackup.c:2665 pg_basebackup.c:2676 +#: pg_basebackup.c:2684 #, c-format msgid "%s and %s are incompatible options" msgstr "параметры %s и %s несовместимы" -#: pg_basebackup.c:2668 +#: pg_basebackup.c:2639 #, c-format msgid "WAL directory location cannot be specified along with a backup target" msgstr "расположение каталога WAL нельзя указать вместе с получателем копии" -#: pg_basebackup.c:2674 +#: pg_basebackup.c:2645 #, c-format msgid "WAL directory location can only be specified in plain mode" msgstr "расположение каталога WAL можно указать только в режиме plain" -#: pg_basebackup.c:2683 +#: pg_basebackup.c:2654 #, c-format msgid "WAL directory location must be an absolute path" msgstr "расположение каталога WAL должно определяться абсолютным путём" -#: pg_basebackup.c:2784 +#: pg_basebackup.c:2754 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "не удалось создать символическую ссылку \"%s\": %m" -#: pg_basebackup.c:2786 -#, c-format -msgid "symlinks are not supported on this platform" -msgstr "символические ссылки не поддерживаются в этой ОС" - -#: pg_receivewal.c:79 +#: pg_receivewal.c:77 #, c-format msgid "" "%s receives PostgreSQL streaming write-ahead logs.\n" @@ -1201,7 +1198,7 @@ msgstr "" "%s получает транслируемые журналы предзаписи PostgreSQL.\n" "\n" -#: pg_receivewal.c:83 pg_recvlogical.c:84 +#: pg_receivewal.c:81 pg_recvlogical.c:82 #, c-format msgid "" "\n" @@ -1210,7 +1207,7 @@ msgstr "" "\n" "Параметры:\n" -#: pg_receivewal.c:84 +#: pg_receivewal.c:82 #, c-format msgid "" " -D, --directory=DIR receive write-ahead log files into this directory\n" @@ -1218,14 +1215,14 @@ msgstr "" " -D, --directory=ПУТЬ сохранять файлы журнала предзаписи в данный " "каталог\n" -#: pg_receivewal.c:85 pg_recvlogical.c:85 +#: pg_receivewal.c:83 pg_recvlogical.c:83 #, c-format msgid " -E, --endpos=LSN exit after receiving the specified LSN\n" msgstr "" " -E, --endpos=LSN определяет позицию, после которой нужно " "остановиться\n" -#: pg_receivewal.c:86 pg_recvlogical.c:89 +#: pg_receivewal.c:84 pg_recvlogical.c:87 #, c-format msgid "" " --if-not-exists do not error if slot already exists when creating a " @@ -1234,12 +1231,12 @@ msgstr "" " --if-not-exists не выдавать ошибку при попытке создать уже " "существующий слот\n" -#: pg_receivewal.c:87 pg_recvlogical.c:91 +#: pg_receivewal.c:85 pg_recvlogical.c:89 #, c-format msgid " -n, --no-loop do not loop on connection lost\n" msgstr " -n, --no-loop прерывать работу при потере соединения\n" -#: pg_receivewal.c:88 +#: pg_receivewal.c:86 #, c-format msgid "" " --no-sync do not wait for changes to be written safely to " @@ -1247,7 +1244,7 @@ msgid "" msgstr "" " --no-sync не ждать надёжного сохранения изменений на диске\n" -#: pg_receivewal.c:89 pg_recvlogical.c:96 +#: pg_receivewal.c:87 pg_recvlogical.c:94 #, c-format msgid "" " -s, --status-interval=SECS\n" @@ -1258,7 +1255,7 @@ msgstr "" " интервал между отправкой статусных пакетов серверу " "(по умолчанию: %d)\n" -#: pg_receivewal.c:92 +#: pg_receivewal.c:90 #, c-format msgid "" " --synchronous flush write-ahead log immediately after writing\n" @@ -1266,7 +1263,7 @@ msgstr "" " --synchronous сбрасывать журнал предзаписи сразу после записи\n" # well-spelled: ИНФО -#: pg_receivewal.c:95 +#: pg_receivewal.c:93 #, c-format msgid "" " -Z, --compress=METHOD[:DETAIL]\n" @@ -1275,7 +1272,7 @@ msgstr "" " -Z, --compress=МЕТОД[:ДОП_ИНФО]\n" " выполнять сжатие как указано\n" -#: pg_receivewal.c:105 +#: pg_receivewal.c:103 #, c-format msgid "" "\n" @@ -1284,7 +1281,7 @@ msgstr "" "\n" "Дополнительные действия:\n" -#: pg_receivewal.c:106 pg_recvlogical.c:81 +#: pg_receivewal.c:104 pg_recvlogical.c:79 #, c-format msgid "" " --create-slot create a new replication slot (for the slot's name " @@ -1293,7 +1290,7 @@ msgstr "" " --create-slot создать новый слот репликации (имя слота задаёт " "параметр --slot)\n" -#: pg_receivewal.c:107 pg_recvlogical.c:82 +#: pg_receivewal.c:105 pg_recvlogical.c:80 #, c-format msgid "" " --drop-slot drop the replication slot (for the slot's name see " @@ -1302,57 +1299,57 @@ msgstr "" " --drop-slot удалить слот репликации (имя слота задаёт параметр " "--slot)\n" -#: pg_receivewal.c:252 +#: pg_receivewal.c:191 #, c-format msgid "finished segment at %X/%X (timeline %u)" msgstr "завершён сегмент %X/%X (линия времени %u)" -#: pg_receivewal.c:259 +#: pg_receivewal.c:198 #, c-format msgid "stopped log streaming at %X/%X (timeline %u)" msgstr "завершена передача журнала с позиции %X/%X (линия времени %u)" -#: pg_receivewal.c:275 +#: pg_receivewal.c:214 #, c-format msgid "switched to timeline %u at %X/%X" msgstr "переключение на линию времени %u (позиция %X/%X)" -#: pg_receivewal.c:285 +#: pg_receivewal.c:224 #, c-format msgid "received interrupt signal, exiting" msgstr "получен сигнал прерывания, работа завершается" -#: pg_receivewal.c:317 +#: pg_receivewal.c:256 #, c-format msgid "could not close directory \"%s\": %m" msgstr "не удалось закрыть каталог \"%s\": %m" -#: pg_receivewal.c:384 +#: pg_receivewal.c:323 #, c-format msgid "segment file \"%s\" has incorrect size %lld, skipping" msgstr "файл сегмента \"%s\" имеет неправильный размер %lld, файл пропускается" -#: pg_receivewal.c:401 +#: pg_receivewal.c:340 #, c-format msgid "could not open compressed file \"%s\": %m" msgstr "не удалось открыть сжатый файл \"%s\": %m" -#: pg_receivewal.c:404 +#: pg_receivewal.c:343 #, c-format msgid "could not seek in compressed file \"%s\": %m" msgstr "ошибка позиционирования в сжатом файле \"%s\": %m" -#: pg_receivewal.c:410 +#: pg_receivewal.c:349 #, c-format msgid "could not read compressed file \"%s\": %m" msgstr "не удалось прочитать сжатый файл \"%s\": %m" -#: pg_receivewal.c:413 +#: pg_receivewal.c:352 #, c-format msgid "could not read compressed file \"%s\": read %d of %zu" msgstr "не удалось прочитать сжатый файл \"%s\" (прочитано байт: %d из %zu)" -#: pg_receivewal.c:423 +#: pg_receivewal.c:362 #, c-format msgid "" "compressed segment file \"%s\" has incorrect uncompressed size %d, skipping" @@ -1360,27 +1357,27 @@ msgstr "" "файл сжатого сегмента \"%s\" имеет неправильный исходный размер %d, файл " "пропускается" -#: pg_receivewal.c:451 +#: pg_receivewal.c:390 #, c-format msgid "could not create LZ4 decompression context: %s" msgstr "не удалось создать контекст распаковки LZ4: %s" -#: pg_receivewal.c:463 +#: pg_receivewal.c:402 #, c-format msgid "could not read file \"%s\": %m" msgstr "не удалось прочитать файл \"%s\": %m" -#: pg_receivewal.c:481 +#: pg_receivewal.c:420 #, c-format msgid "could not decompress file \"%s\": %s" msgstr "не удалось распаковать файл \"%s\": %s" -#: pg_receivewal.c:504 +#: pg_receivewal.c:443 #, c-format msgid "could not free LZ4 decompression context: %s" msgstr "не удалось освободить контекст распаковки LZ4: %s" -#: pg_receivewal.c:509 +#: pg_receivewal.c:448 #, c-format msgid "" "compressed segment file \"%s\" has incorrect uncompressed size %zu, skipping" @@ -1388,7 +1385,7 @@ msgstr "" "файл сжатого сегмента \"%s\" имеет неправильный исходный размер %zu, файл " "пропускается" -#: pg_receivewal.c:514 +#: pg_receivewal.c:453 #, c-format msgid "" "cannot check file \"%s\": compression with %s not supported by this build" @@ -1396,37 +1393,37 @@ msgstr "" "не удалось проверить файл \"%s\": сжатие методом %s не поддерживается данной " "сборкой" -#: pg_receivewal.c:641 +#: pg_receivewal.c:578 #, c-format msgid "starting log streaming at %X/%X (timeline %u)" msgstr "начало передачи журнала с позиции %X/%X (линия времени %u)" -#: pg_receivewal.c:783 pg_recvlogical.c:785 +#: pg_receivewal.c:693 pg_recvlogical.c:783 #, c-format msgid "could not parse end position \"%s\"" msgstr "не удалось разобрать конечную позицию \"%s\"" -#: pg_receivewal.c:832 +#: pg_receivewal.c:766 #, c-format msgid "cannot use --create-slot together with --drop-slot" msgstr "--create-slot нельзя применять вместе с --drop-slot" -#: pg_receivewal.c:848 +#: pg_receivewal.c:782 #, c-format msgid "cannot use --synchronous together with --no-sync" msgstr "--synchronous нельзя применять вместе с --no-sync" -#: pg_receivewal.c:858 +#: pg_receivewal.c:792 #, c-format msgid "no target directory specified" msgstr "целевой каталог не указан" -#: pg_receivewal.c:882 +#: pg_receivewal.c:816 #, c-format msgid "compression with %s is not yet supported" msgstr "метод сжатия %s ещё не поддерживается" -#: pg_receivewal.c:924 +#: pg_receivewal.c:859 #, c-format msgid "" "replication connection using slot \"%s\" is unexpectedly database specific" @@ -1434,28 +1431,28 @@ msgstr "" "подключение для репликации через слот \"%s\" оказалось привязано к базе " "данных" -#: pg_receivewal.c:943 pg_recvlogical.c:955 +#: pg_receivewal.c:878 pg_recvlogical.c:954 #, c-format msgid "dropping replication slot \"%s\"" msgstr "удаление слота репликации \"%s\"" -#: pg_receivewal.c:954 pg_recvlogical.c:965 +#: pg_receivewal.c:889 pg_recvlogical.c:964 #, c-format msgid "creating replication slot \"%s\"" msgstr "создание слота репликации \"%s\"" -#: pg_receivewal.c:983 pg_recvlogical.c:989 +#: pg_receivewal.c:918 pg_recvlogical.c:988 #, c-format msgid "disconnected" msgstr "отключение" #. translator: check source for value for %d -#: pg_receivewal.c:987 pg_recvlogical.c:993 +#: pg_receivewal.c:922 pg_recvlogical.c:992 #, c-format msgid "disconnected; waiting %d seconds to try again" msgstr "отключение; через %d сек. последует повторное подключение" -#: pg_recvlogical.c:76 +#: pg_recvlogical.c:74 #, c-format msgid "" "%s controls PostgreSQL logical decoding streams.\n" @@ -1464,7 +1461,7 @@ msgstr "" "%s управляет потоками логического декодирования PostgreSQL.\n" "\n" -#: pg_recvlogical.c:80 +#: pg_recvlogical.c:78 #, c-format msgid "" "\n" @@ -1473,7 +1470,7 @@ msgstr "" "\n" "Действие, которое будет выполнено:\n" -#: pg_recvlogical.c:83 +#: pg_recvlogical.c:81 #, c-format msgid "" " --start start streaming in a replication slot (for the " @@ -1482,13 +1479,13 @@ msgstr "" " --start начать передачу в слоте репликации (имя слота " "задаёт параметр --slot)\n" -#: pg_recvlogical.c:86 +#: pg_recvlogical.c:84 #, c-format msgid " -f, --file=FILE receive log into this file, - for stdout\n" msgstr "" " -f, --file=ФАЙЛ сохранять журнал в этот файл, - обозначает stdout\n" -#: pg_recvlogical.c:87 +#: pg_recvlogical.c:85 #, c-format msgid "" " -F --fsync-interval=SECS\n" @@ -1499,7 +1496,7 @@ msgstr "" " периодичность сброса на диск выходного файла (по " "умолчанию: %d)\n" -#: pg_recvlogical.c:90 +#: pg_recvlogical.c:88 #, c-format msgid "" " -I, --startpos=LSN where in an existing slot should the streaming " @@ -1508,7 +1505,7 @@ msgstr "" " -I, --startpos=LSN определяет, с какой позиции в существующем слоте " "начнётся передача\n" -#: pg_recvlogical.c:92 +#: pg_recvlogical.c:90 #, c-format msgid "" " -o, --option=NAME[=VALUE]\n" @@ -1520,19 +1517,19 @@ msgstr "" "необязательным\n" " значением модулю вывода\n" -#: pg_recvlogical.c:95 +#: pg_recvlogical.c:93 #, c-format msgid " -P, --plugin=PLUGIN use output plugin PLUGIN (default: %s)\n" msgstr "" " -P, --plugin=МОДУЛЬ использовать заданный модуль вывода (по умолчанию: " "%s)\n" -#: pg_recvlogical.c:98 +#: pg_recvlogical.c:96 #, c-format msgid " -S, --slot=SLOTNAME name of the logical replication slot\n" msgstr " -S, --slot=ИМЯ_СЛОТА имя слота логической репликации\n" -#: pg_recvlogical.c:99 +#: pg_recvlogical.c:97 #, c-format msgid "" " -t, --two-phase enable decoding of prepared transactions when " @@ -1541,160 +1538,160 @@ msgstr "" " -t, --two-phase включить декодирование подготовленных транзакций " "при создании слота\n" -#: pg_recvlogical.c:104 +#: pg_recvlogical.c:102 #, c-format msgid " -d, --dbname=DBNAME database to connect to\n" msgstr " -d, --dbname=ИМЯ_БД целевая база данных\n" -#: pg_recvlogical.c:137 +#: pg_recvlogical.c:135 #, c-format msgid "confirming write up to %X/%X, flush to %X/%X (slot %s)" msgstr "подтверждается запись до %X/%X, синхронизация с ФС до %X/%X (слот %s)" -#: pg_recvlogical.c:161 receivelog.c:366 +#: pg_recvlogical.c:159 receivelog.c:360 #, c-format msgid "could not send feedback packet: %s" msgstr "не удалось отправить пакет ответа: %s" -#: pg_recvlogical.c:229 +#: pg_recvlogical.c:227 #, c-format msgid "starting log streaming at %X/%X (slot %s)" msgstr "начало передачи журнала с позиции %X/%X (слот %s)" -#: pg_recvlogical.c:271 +#: pg_recvlogical.c:269 #, c-format msgid "streaming initiated" msgstr "передача запущена" -#: pg_recvlogical.c:335 +#: pg_recvlogical.c:333 #, c-format msgid "could not open log file \"%s\": %m" msgstr "не удалось открыть файл протокола \"%s\": %m" -#: pg_recvlogical.c:364 receivelog.c:889 +#: pg_recvlogical.c:362 receivelog.c:882 #, c-format msgid "invalid socket: %s" msgstr "неверный сокет: %s" -#: pg_recvlogical.c:417 receivelog.c:917 +#: pg_recvlogical.c:415 receivelog.c:910 #, c-format msgid "%s() failed: %m" msgstr "ошибка в %s(): %m" -#: pg_recvlogical.c:424 receivelog.c:967 +#: pg_recvlogical.c:422 receivelog.c:959 #, c-format msgid "could not receive data from WAL stream: %s" msgstr "не удалось получить данные из потока WAL: %s" -#: pg_recvlogical.c:466 pg_recvlogical.c:517 receivelog.c:1011 -#: receivelog.c:1074 +#: pg_recvlogical.c:464 pg_recvlogical.c:515 receivelog.c:1003 +#: receivelog.c:1066 #, c-format msgid "streaming header too small: %d" msgstr "заголовок потока слишком мал: %d" -#: pg_recvlogical.c:501 receivelog.c:849 +#: pg_recvlogical.c:499 receivelog.c:843 #, c-format msgid "unrecognized streaming header: \"%c\"" msgstr "нераспознанный заголовок потока: \"%c\"" -#: pg_recvlogical.c:555 pg_recvlogical.c:567 +#: pg_recvlogical.c:553 pg_recvlogical.c:565 #, c-format msgid "could not write %d bytes to log file \"%s\": %m" msgstr "не удалось записать %d Б в файл журнала \"%s\": %m" -#: pg_recvlogical.c:621 receivelog.c:648 receivelog.c:685 +#: pg_recvlogical.c:619 receivelog.c:642 receivelog.c:679 #, c-format msgid "unexpected termination of replication stream: %s" msgstr "неожиданный конец потока репликации: %s" -#: pg_recvlogical.c:780 +#: pg_recvlogical.c:778 #, c-format msgid "could not parse start position \"%s\"" msgstr "не удалось разобрать начальную позицию \"%s\"" -#: pg_recvlogical.c:858 +#: pg_recvlogical.c:856 #, c-format msgid "no slot specified" msgstr "слот не указан" -#: pg_recvlogical.c:865 +#: pg_recvlogical.c:863 #, c-format msgid "no target file specified" msgstr "целевой файл не задан" -#: pg_recvlogical.c:872 +#: pg_recvlogical.c:870 #, c-format msgid "no database specified" msgstr "база данных не задана" -#: pg_recvlogical.c:879 +#: pg_recvlogical.c:877 #, c-format msgid "at least one action needs to be specified" msgstr "необходимо задать минимум одно действие" -#: pg_recvlogical.c:886 +#: pg_recvlogical.c:884 #, c-format msgid "cannot use --create-slot or --start together with --drop-slot" msgstr "--create-slot или --start нельзя применять вместе с --drop-slot" -#: pg_recvlogical.c:893 +#: pg_recvlogical.c:891 #, c-format msgid "cannot use --create-slot or --drop-slot together with --startpos" msgstr "--create-slot или --drop-slot нельзя применять вместе с --startpos" -#: pg_recvlogical.c:900 +#: pg_recvlogical.c:898 #, c-format msgid "--endpos may only be specified with --start" msgstr "--endpos можно задать только вместе с --start" -#: pg_recvlogical.c:907 +#: pg_recvlogical.c:905 #, c-format msgid "--two-phase may only be specified with --create-slot" msgstr "--two-phase можно задать только вместе с --create-slot" -#: pg_recvlogical.c:939 +#: pg_recvlogical.c:938 #, c-format msgid "could not establish database-specific replication connection" msgstr "" "не удалось установить подключение для репликации к определённой базе данных" -#: pg_recvlogical.c:1033 +#: pg_recvlogical.c:1032 #, c-format msgid "end position %X/%X reached by keepalive" msgstr "конечная позиция %X/%X достигнута при обработке keepalive" -#: pg_recvlogical.c:1036 +#: pg_recvlogical.c:1035 #, c-format msgid "end position %X/%X reached by WAL record at %X/%X" msgstr "конечная позиция %X/%X достигнута при обработке записи WAL %X/%X" -#: receivelog.c:68 +#: receivelog.c:66 #, c-format msgid "could not create archive status file \"%s\": %s" msgstr "не удалось создать файл статуса архива \"%s\": %s" -#: receivelog.c:75 +#: receivelog.c:73 #, c-format msgid "could not close archive status file \"%s\": %s" msgstr "не удалось закрыть файл статуса архива \"%s\": %s" -#: receivelog.c:123 +#: receivelog.c:122 #, c-format msgid "could not get size of write-ahead log file \"%s\": %s" msgstr "не удалось получить размер файла журнала предзаписи \"%s\": %s" -#: receivelog.c:134 +#: receivelog.c:133 #, c-format msgid "could not open existing write-ahead log file \"%s\": %s" msgstr "не удалось открыть существующий файл журнала предзаписи \"%s\": %s" -#: receivelog.c:143 +#: receivelog.c:142 #, c-format msgid "could not fsync existing write-ahead log file \"%s\": %s" msgstr "" "не удалось сбросить на диск существующий файл журнала предзаписи \"%s\": %s" -#: receivelog.c:158 +#: receivelog.c:157 #, c-format msgid "write-ahead log file \"%s\" has %zd byte, should be 0 or %d" msgid_plural "write-ahead log file \"%s\" has %zd bytes, should be 0 or %d" @@ -1705,42 +1702,37 @@ msgstr[1] "" msgstr[2] "" "файл журнала предзаписи \"%s\" имеет размер %zd Б, а должен — 0 или %d" -#: receivelog.c:174 +#: receivelog.c:175 #, c-format msgid "could not open write-ahead log file \"%s\": %s" msgstr "не удалось открыть файл журнала предзаписи \"%s\": %s" -#: receivelog.c:208 -#, c-format -msgid "could not determine seek position in file \"%s\": %s" -msgstr "не удалось определить текущую позицию в файле \"%s\": %s" - -#: receivelog.c:223 +#: receivelog.c:216 #, c-format msgid "not renaming \"%s\", segment is not complete" msgstr "файл сегмента \"%s\" не переименовывается, так как он неполный" -#: receivelog.c:234 receivelog.c:323 receivelog.c:694 +#: receivelog.c:227 receivelog.c:317 receivelog.c:688 #, c-format msgid "could not close file \"%s\": %s" msgstr "не удалось закрыть файл \"%s\": %s" -#: receivelog.c:295 +#: receivelog.c:288 #, c-format msgid "server reported unexpected history file name for timeline %u: %s" msgstr "сервер сообщил неожиданное имя файла истории для линии времени %u: %s" -#: receivelog.c:303 +#: receivelog.c:297 #, c-format msgid "could not create timeline history file \"%s\": %s" msgstr "не удалось создать файл истории линии времени \"%s\": %s" -#: receivelog.c:310 +#: receivelog.c:304 #, c-format msgid "could not write timeline history file \"%s\": %s" msgstr "не удалось записать файл истории линии времени \"%s\": %s" -#: receivelog.c:400 +#: receivelog.c:394 #, c-format msgid "" "incompatible server version %s; client does not support streaming from " @@ -1749,7 +1741,7 @@ msgstr "" "несовместимая версия сервера %s; клиент не поддерживает репликацию с " "серверов версии ниже %s" -#: receivelog.c:409 +#: receivelog.c:403 #, c-format msgid "" "incompatible server version %s; client does not support streaming from " @@ -1758,7 +1750,7 @@ msgstr "" "несовместимая версия сервера %s; клиент не поддерживает репликацию с " "серверов версии выше %s" -#: receivelog.c:514 +#: receivelog.c:508 #, c-format msgid "" "system identifier does not match between base backup and streaming connection" @@ -1766,12 +1758,12 @@ msgstr "" "системный идентификатор базовой резервной копии отличается от идентификатора " "потоковой передачи" -#: receivelog.c:522 +#: receivelog.c:516 #, c-format msgid "starting timeline %u is not present in the server" msgstr "на сервере нет начальной линии времени %u" -#: receivelog.c:561 +#: receivelog.c:555 #, c-format msgid "" "unexpected response to TIMELINE_HISTORY command: got %d rows and %d fields, " @@ -1780,12 +1772,12 @@ msgstr "" "сервер вернул неожиданный ответ на команду TIMELINE_HISTORY; получено строк: " "%d, полей: %d, а ожидалось строк: %d, полей: %d" -#: receivelog.c:632 +#: receivelog.c:626 #, c-format msgid "server reported unexpected next timeline %u, following timeline %u" msgstr "сервер неожиданно сообщил линию времени %u после линии времени %u" -#: receivelog.c:638 +#: receivelog.c:632 #, c-format msgid "" "server stopped streaming timeline %u at %X/%X, but reported next timeline %u " @@ -1794,12 +1786,12 @@ msgstr "" "сервер прекратил передачу линии времени %u в %X/%X, но сообщил, что " "следующая линии времени %u начнётся в %X/%X" -#: receivelog.c:678 +#: receivelog.c:672 #, c-format msgid "replication stream was terminated before stop point" msgstr "поток репликации закончился до точки остановки" -#: receivelog.c:724 +#: receivelog.c:718 #, c-format msgid "" "unexpected result set after end-of-timeline: got %d rows and %d fields, " @@ -1808,61 +1800,61 @@ msgstr "" "сервер вернул неожиданный набор данных после конца линии времени; получено " "строк: %d, полей: %d, а ожидалось строк: %d, полей: %d" -#: receivelog.c:733 +#: receivelog.c:727 #, c-format msgid "could not parse next timeline's starting point \"%s\"" msgstr "не удалось разобрать начальную точку следующей линии времени \"%s\"" -#: receivelog.c:781 receivelog.c:1030 walmethods.c:1205 +#: receivelog.c:775 receivelog.c:1022 walmethods.c:1201 #, c-format msgid "could not fsync file \"%s\": %s" msgstr "не удалось синхронизировать с ФС файл \"%s\": %s" -#: receivelog.c:1091 +#: receivelog.c:1083 #, c-format msgid "received write-ahead log record for offset %u with no file open" msgstr "получена запись журнала предзаписи по смещению %u, но файл не открыт" -#: receivelog.c:1101 +#: receivelog.c:1093 #, c-format msgid "got WAL data offset %08x, expected %08x" msgstr "получено смещение данных WAL %08x, но ожидалось %08x" -#: receivelog.c:1135 +#: receivelog.c:1128 #, c-format msgid "could not write %d bytes to WAL file \"%s\": %s" msgstr "не удалось записать %d Б в файл WAL \"%s\": %s" -#: receivelog.c:1160 receivelog.c:1200 receivelog.c:1230 +#: receivelog.c:1153 receivelog.c:1193 receivelog.c:1222 #, c-format msgid "could not send copy-end packet: %s" msgstr "не удалось отправить пакет \"конец COPY\": %s" -#: streamutil.c:159 +#: streamutil.c:158 msgid "Password: " msgstr "Пароль: " -#: streamutil.c:182 +#: streamutil.c:181 #, c-format msgid "could not connect to server" msgstr "не удалось подключиться к серверу" -#: streamutil.c:225 +#: streamutil.c:222 #, c-format msgid "could not clear search_path: %s" msgstr "не удалось очистить search_path: %s" -#: streamutil.c:241 +#: streamutil.c:238 #, c-format msgid "could not determine server setting for integer_datetimes" msgstr "не удалось получить настройку сервера integer_datetimes" -#: streamutil.c:248 +#: streamutil.c:245 #, c-format msgid "integer_datetimes compile flag does not match server" msgstr "флаг компиляции integer_datetimes не соответствует настройке сервера" -#: streamutil.c:299 +#: streamutil.c:296 #, c-format msgid "" "could not fetch WAL segment size: got %d rows and %d fields, expected %d " @@ -1871,12 +1863,12 @@ msgstr "" "не удалось извлечь размер сегмента WAL; получено строк: %d, полей: %d " "(ожидалось: %d и %d (или более))" -#: streamutil.c:309 +#: streamutil.c:306 #, c-format msgid "WAL segment size could not be parsed" msgstr "разобрать размер сегмента WAL не удалось" -#: streamutil.c:327 +#: streamutil.c:324 #, c-format msgid "" "WAL segment size must be a power of two between 1 MB and 1 GB, but the " @@ -1894,7 +1886,7 @@ msgstr[2] "" "размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 " "ГБ, но удалённый сервер сообщил значение: %d" -#: streamutil.c:372 +#: streamutil.c:369 #, c-format msgid "" "could not fetch group access flag: got %d rows and %d fields, expected %d " @@ -1903,12 +1895,12 @@ msgstr "" "не удалось извлечь флаг доступа группы; получено строк: %d, полей: %d " "(ожидалось: %d и %d (или более))" -#: streamutil.c:381 +#: streamutil.c:378 #, c-format msgid "group access flag could not be parsed: %s" msgstr "не удалось разобрать флаг доступа группы: %s" -#: streamutil.c:424 streamutil.c:461 +#: streamutil.c:421 streamutil.c:458 #, c-format msgid "" "could not identify system: got %d rows and %d fields, expected %d rows and " @@ -1917,7 +1909,7 @@ msgstr "" "не удалось идентифицировать систему; получено строк: %d, полей: %d " "(ожидалось: %d и %d (или более))" -#: streamutil.c:513 +#: streamutil.c:510 #, c-format msgid "" "could not read replication slot \"%s\": got %d rows and %d fields, expected " @@ -1926,23 +1918,23 @@ msgstr "" "прочитать из слота репликации \"%s\" не удалось; получено строк: %d, полей: " "%d (ожидалось: %d и %d)" -#: streamutil.c:525 +#: streamutil.c:522 #, c-format msgid "replication slot \"%s\" does not exist" msgstr "слот репликации \"%s\" не существует" -#: streamutil.c:536 +#: streamutil.c:533 #, c-format msgid "expected a physical replication slot, got type \"%s\" instead" msgstr "ожидался слот физической репликации, вместо этого получен тип \"%s\"" -#: streamutil.c:550 +#: streamutil.c:547 #, c-format msgid "could not parse restart_lsn \"%s\" for replication slot \"%s\"" msgstr "" "не удалось разобрать позицию restart_lsn \"%s\" для слота репликации \"%s\"" -#: streamutil.c:667 +#: streamutil.c:664 #, c-format msgid "" "could not create replication slot \"%s\": got %d rows and %d fields, " @@ -1951,7 +1943,7 @@ msgstr "" "создать слот репликации \"%s\" не удалось; получено строк: %d, полей: %d " "(ожидалось: %d и %d)" -#: streamutil.c:711 +#: streamutil.c:708 #, c-format msgid "" "could not drop replication slot \"%s\": got %d rows and %d fields, expected " @@ -1960,35 +1952,55 @@ msgstr "" "удалить слот репликации \"%s\" не получилось; получено строк: %d, полей: %d " "(ожидалось: %d и %d)" -#: walmethods.c:720 walmethods.c:1267 +#: walmethods.c:721 walmethods.c:1264 msgid "could not compress data" msgstr "не удалось сжать данные" -#: walmethods.c:749 +#: walmethods.c:750 msgid "could not reset compression stream" msgstr "не удалось сбросить поток сжатых данных" -#: walmethods.c:880 +#: walmethods.c:888 msgid "implementation error: tar files can't have more than one open file" msgstr "" "ошибка реализации: в файлах tar не может быть больше одно открытого файла" -#: walmethods.c:894 +#: walmethods.c:903 msgid "could not create tar header" msgstr "не удалось создать заголовок tar" -#: walmethods.c:910 walmethods.c:951 walmethods.c:1170 walmethods.c:1183 +#: walmethods.c:920 walmethods.c:961 walmethods.c:1166 walmethods.c:1179 msgid "could not change compression parameters" msgstr "не удалось изменить параметры сжатия" -#: walmethods.c:1055 +#: walmethods.c:1052 msgid "unlink not supported with compression" msgstr "со сжатием закрытие файла с удалением не поддерживается" -#: walmethods.c:1291 +#: walmethods.c:1288 msgid "could not close compression stream" msgstr "не удалось закрыть поток сжатых данных" +#, c-format +#~ msgid "this build does not support gzip compression" +#~ msgstr "эта сборка программы не поддерживает сжатие gzip" + +#, c-format +#~ msgid "this build does not support lz4 compression" +#~ msgstr "эта сборка программы не поддерживает сжатие lz4" + +#, c-format +#~ msgid "this build does not support zstd compression" +#~ msgstr "эта сборка программы не поддерживает сжатие zstd" + +#, c-format +#~ msgid "symlinks are not supported on this platform" +#~ msgstr "символические ссылки не поддерживаются в этой ОС" + +#, c-format +#~ msgid "could not determine seek position in file \"%s\": %s" +#~ msgstr "не удалось определить текущую позицию в файле \"%s\": %s" + #~ msgid "unknown compression option \"%s\"" #~ msgstr "неизвестный параметр сжатия \"%s\"" diff --git a/src/bin/pg_basebackup/po/sv.po b/src/bin/pg_basebackup/po/sv.po index e3cb8870291..af0305e0a55 100644 --- a/src/bin/pg_basebackup/po/sv.po +++ b/src/bin/pg_basebackup/po/sv.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2023-08-01 14:19+0000\n" -"PO-Revision-Date: 2023-08-01 22:11+0200\n" +"PO-Revision-Date: 2023-09-05 09:00+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -52,7 +52,7 @@ msgstr "hittade en tom sträng där en komprimeringsinställning förväntades" #: ../../common/compression.c:244 #, c-format msgid "unrecognized compression option: \"%s\"" -msgstr "okänd komprimeringsflagga \"%s\"" +msgstr "okänd komprimeringsflagga: \"%s\"" #: ../../common/compression.c:283 #, c-format @@ -419,7 +419,7 @@ msgstr "" #: pg_basebackup.c:390 #, c-format msgid " -D, --pgdata=DIRECTORY receive base backup into directory\n" -msgstr " -D, --pgdata=KATALOG ta emot basbackup till katalog\n" +msgstr " -D, --pgdata=KATALOG ta emot basbackup till katalog\n" #: pg_basebackup.c:391 #, c-format @@ -1056,7 +1056,7 @@ msgstr "kan inte ange både utdatakatalog och backupmål" #: pg_basebackup.c:2538 pg_receivewal.c:802 #, c-format msgid "unrecognized compression algorithm: \"%s\"" -msgstr "okänd komprimeringsalgoritm \"%s\"" +msgstr "okänd komprimeringsalgoritm: \"%s\"" #: pg_basebackup.c:2544 pg_receivewal.c:809 #, c-format diff --git a/src/bin/pg_checksums/po/es.po b/src/bin/pg_checksums/po/es.po index 41f051cef19..475406d9037 100644 --- a/src/bin/pg_checksums/po/es.po +++ b/src/bin/pg_checksums/po/es.po @@ -144,7 +144,7 @@ msgstr "" #: pg_checksums.c:95 #, c-format msgid "Report bugs to <%s>.\n" -msgstr "Reportar errores a <%s>.\n" +msgstr "Reporte errores a <%s>.\n" #: pg_checksums.c:96 #, c-format diff --git a/src/bin/pg_checksums/po/it.po b/src/bin/pg_checksums/po/it.po index 9e37af3784a..359c0843348 100644 --- a/src/bin/pg_checksums/po/it.po +++ b/src/bin/pg_checksums/po/it.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: pg_checksums (PostgreSQL) 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-09-26 08:21+0000\n" -"PO-Revision-Date: 2022-09-29 20:10+0200\n" +"PO-Revision-Date: 2023-09-05 08:10+0200\n" "Last-Translator: \n" "Language-Team: \n" "Language: it\n" @@ -76,42 +76,42 @@ msgstr "" #: pg_checksums.c:83 #, c-format msgid " [-D, --pgdata=]DATADIR data directory\n" -msgstr " [-D, --pgdata=]DATADIR directory dei dati\n" +msgstr " [-D, --pgdata=]DATADIR directory dei dati\n" #: pg_checksums.c:84 #, c-format msgid " -c, --check check data checksums (default)\n" -msgstr " -c, --check controlla i checksum dei dati (predefinito)\n" +msgstr " -c, --check controlla i checksum dei dati (predefinito)\n" #: pg_checksums.c:85 #, c-format msgid " -d, --disable disable data checksums\n" -msgstr " -d, --disable disabilita i checksum dei dati\n" +msgstr " -d, --disable disabilita i checksum dei dati\n" #: pg_checksums.c:86 #, c-format msgid " -e, --enable enable data checksums\n" -msgstr " -e, --enable abilita i checksum dei dati\n" +msgstr " -e, --enable abilita i checksum dei dati\n" #: pg_checksums.c:87 #, c-format msgid " -f, --filenode=FILENODE check only relation with specified filenode\n" -msgstr " -f, --filenode=FILENODE controlla solo la relazione con il filenode specificato\n" +msgstr " -f, --filenode=FILENODE controlla solo la relazione con il filenode specificato\n" #: pg_checksums.c:88 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" -msgstr " -N, --no-sync non attende che le modifiche vengano scritte in modo sicuro sul disco\n" +msgstr " -N, --no-sync non attende che le modifiche vengano scritte in modo sicuro sul disco\n" #: pg_checksums.c:89 #, c-format msgid " -P, --progress show progress information\n" -msgstr " -P, --progress mostra le informazioni sullo stato di avanzamento\n" +msgstr " -P, --progress mostra le informazioni sullo stato di avanzamento\n" #: pg_checksums.c:90 #, c-format msgid " -v, --verbose output verbose messages\n" -msgstr " -v, --verbose genera messaggi dettagliati\n" +msgstr " -v, --verbose genera messaggi dettagliati\n" #: pg_checksums.c:91 #, c-format diff --git a/src/bin/pg_checksums/po/ru.po b/src/bin/pg_checksums/po/ru.po index 02eb7541db3..b0248697969 100644 --- a/src/bin/pg_checksums/po/ru.po +++ b/src/bin/pg_checksums/po/ru.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: pg_verify_checksums (PostgreSQL) 11\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-08-27 14:52+0300\n" +"POT-Creation-Date: 2023-08-28 07:59+0300\n" "PO-Revision-Date: 2022-09-05 13:34+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" @@ -81,8 +81,8 @@ msgstr " [-D, --pgdata=]КАТ_ДАННЫХ каталог данных\n" #, c-format msgid " -c, --check check data checksums (default)\n" msgstr "" -" -c, --check проверить контрольные суммы данных (по умолчанию)" -"\n" +" -c, --check проверить контрольные суммы данных (по " +"умолчанию)\n" #: pg_checksums.c:85 #, c-format @@ -213,7 +213,7 @@ msgstr "контрольные суммы в файле \"%s\" включены" msgid "could not open directory \"%s\": %m" msgstr "не удалось открыть каталог \"%s\": %m" -#: pg_checksums.c:342 pg_checksums.c:415 +#: pg_checksums.c:342 pg_checksums.c:411 #, c-format msgid "could not stat file \"%s\": %m" msgstr "не удалось получить информацию о файле \"%s\": %m" @@ -223,42 +223,42 @@ msgstr "не удалось получить информацию о файле msgid "invalid segment number %d in file name \"%s\"" msgstr "неверный номер сегмента %d в имени файла \"%s\"" -#: pg_checksums.c:512 pg_checksums.c:528 pg_checksums.c:538 pg_checksums.c:546 +#: pg_checksums.c:508 pg_checksums.c:524 pg_checksums.c:534 pg_checksums.c:542 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Для дополнительной информации попробуйте \"%s --help\"." -#: pg_checksums.c:527 +#: pg_checksums.c:523 #, c-format msgid "no data directory specified" msgstr "каталог данных не указан" -#: pg_checksums.c:536 +#: pg_checksums.c:532 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "слишком много аргументов командной строки (первый: \"%s\")" -#: pg_checksums.c:545 +#: pg_checksums.c:541 #, c-format msgid "option -f/--filenode can only be used with --check" msgstr "параметр -f/--filenode можно использовать только с --check" -#: pg_checksums.c:553 +#: pg_checksums.c:549 #, c-format msgid "pg_control CRC value is incorrect" msgstr "ошибка контрольного значения в pg_control" -#: pg_checksums.c:556 +#: pg_checksums.c:552 #, c-format msgid "cluster is not compatible with this version of pg_checksums" msgstr "кластер несовместим с этой версией pg_checksums" -#: pg_checksums.c:560 +#: pg_checksums.c:556 #, c-format msgid "database cluster is not compatible" msgstr "несовместимый кластер баз данных" -#: pg_checksums.c:561 +#: pg_checksums.c:557 #, c-format msgid "" "The database cluster was initialized with block size %u, but pg_checksums " @@ -267,77 +267,77 @@ msgstr "" "Кластер баз данных был инициализирован с размером блока %u, а утилита " "pg_checksums скомпилирована для размера блока %u." -#: pg_checksums.c:573 +#: pg_checksums.c:569 #, c-format msgid "cluster must be shut down" msgstr "кластер должен быть отключён" -#: pg_checksums.c:577 +#: pg_checksums.c:573 #, c-format msgid "data checksums are not enabled in cluster" msgstr "контрольные суммы в кластере не включены" -#: pg_checksums.c:581 +#: pg_checksums.c:577 #, c-format msgid "data checksums are already disabled in cluster" msgstr "контрольные суммы в кластере уже отключены" -#: pg_checksums.c:585 +#: pg_checksums.c:581 #, c-format msgid "data checksums are already enabled in cluster" msgstr "контрольные суммы в кластере уже включены" -#: pg_checksums.c:609 +#: pg_checksums.c:605 #, c-format msgid "Checksum operation completed\n" msgstr "Обработка контрольных сумм завершена\n" -#: pg_checksums.c:610 +#: pg_checksums.c:606 #, c-format msgid "Files scanned: %lld\n" msgstr "Просканировано файлов: %lld\n" -#: pg_checksums.c:611 +#: pg_checksums.c:607 #, c-format msgid "Blocks scanned: %lld\n" msgstr "Просканировано блоков: %lld\n" -#: pg_checksums.c:614 +#: pg_checksums.c:610 #, c-format msgid "Bad checksums: %lld\n" msgstr "Неверные контрольные суммы: %lld\n" -#: pg_checksums.c:615 pg_checksums.c:647 +#: pg_checksums.c:611 pg_checksums.c:643 #, c-format msgid "Data checksum version: %u\n" msgstr "Версия контрольных сумм данных: %u\n" -#: pg_checksums.c:622 +#: pg_checksums.c:618 #, c-format msgid "Files written: %lld\n" msgstr "Записано файлов: %lld\n" -#: pg_checksums.c:623 +#: pg_checksums.c:619 #, c-format msgid "Blocks written: %lld\n" msgstr "Записано блоков: %lld\n" -#: pg_checksums.c:639 +#: pg_checksums.c:635 #, c-format msgid "syncing data directory" msgstr "синхронизация каталога данных" -#: pg_checksums.c:643 +#: pg_checksums.c:639 #, c-format msgid "updating control file" msgstr "модификация управляющего файла" -#: pg_checksums.c:649 +#: pg_checksums.c:645 #, c-format msgid "Checksums enabled in cluster\n" msgstr "Контрольные суммы в кластере включены\n" -#: pg_checksums.c:651 +#: pg_checksums.c:647 #, c-format msgid "Checksums disabled in cluster\n" msgstr "Контрольные суммы в кластере отключены\n" diff --git a/src/bin/pg_checksums/po/uk.po b/src/bin/pg_checksums/po/uk.po index 0a994be1ec4..f27bd1ec3e9 100644 --- a/src/bin/pg_checksums/po/uk.po +++ b/src/bin/pg_checksums/po/uk.po @@ -3,7 +3,7 @@ msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-08-12 10:52+0000\n" -"PO-Revision-Date: 2022-09-13 11:52\n" +"PO-Revision-Date: 2023-09-05 10:04+0200\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -49,8 +49,12 @@ msgstr "%s має бути в діапазоні %d..%d" #: pg_checksums.c:79 #, c-format -msgid "%s enables, disables, or verifies data checksums in a PostgreSQL database cluster.\n\n" -msgstr "%s активує, деактивує або перевіряє контрольні суми даних в кластері бази даних PostgreSQL.\n\n" +msgid "" +"%s enables, disables, or verifies data checksums in a PostgreSQL database cluster.\n" +"\n" +msgstr "" +"%s активує, деактивує або перевіряє контрольні суми даних в кластері бази даних PostgreSQL.\n" +"\n" #: pg_checksums.c:80 #, c-format @@ -64,15 +68,17 @@ msgstr " %s [OPTION]... [DATADIR]\n" #: pg_checksums.c:82 #, c-format -msgid "\n" +msgid "" +"\n" "Options:\n" -msgstr "\n" +msgstr "" +"\n" "Параметри:\n" #: pg_checksums.c:83 #, c-format msgid " [-D, --pgdata=]DATADIR data directory\n" -msgstr " [-D, --pgdata=]DATADIR каталог даних\n" +msgstr " [-D, --pgdata=]DATADIR каталог даних\n" #: pg_checksums.c:84 #, c-format @@ -92,12 +98,12 @@ msgstr " -e, --enable активувати контрольні с #: pg_checksums.c:87 #, c-format msgid " -f, --filenode=FILENODE check only relation with specified filenode\n" -msgstr " -f, --filenode=FILENODE перевіряти відношення лише із вказаним файлом\n" +msgstr " -f, --filenode=FILENODE перевіряти відношення лише із вказаним файлом\n" #: pg_checksums.c:88 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" -msgstr " -N, --no-sync не чекати на безпечний запис змін на диск\n" +msgstr " -N, --no-sync не чекати на безпечний запис змін на диск\n" #: pg_checksums.c:89 #, c-format @@ -107,7 +113,7 @@ msgstr " -P, --progress показати інформацію про #: pg_checksums.c:90 #, c-format msgid " -v, --verbose output verbose messages\n" -msgstr " -v, --verbose виводити детальні повідомлення\n" +msgstr " -v, --verbose виводити детальні повідомлення\n" #: pg_checksums.c:91 #, c-format @@ -121,11 +127,15 @@ msgstr " -?, --help показати цю довідку, пот #: pg_checksums.c:93 #, c-format -msgid "\n" +msgid "" +"\n" "If no data directory (DATADIR) is specified, the environment variable PGDATA\n" -"is used.\n\n" -msgstr "\n" -"Якщо каталог даних не вказано (DATADIR), використовується змінна середовища PGDATA.\n\n" +"is used.\n" +"\n" +msgstr "" +"\n" +"Якщо каталог даних не вказано (DATADIR), використовується змінна середовища PGDATA.\n" +"\n" #: pg_checksums.c:95 #, c-format @@ -316,4 +326,3 @@ msgstr "Контрольні суми активовані в кластері\n #, c-format msgid "Checksums disabled in cluster\n" msgstr "Контрольні суми вимкнені у кластері\n" - diff --git a/src/bin/pg_config/po/ru.po b/src/bin/pg_config/po/ru.po index a627eb5f5e5..34e80c83c63 100644 --- a/src/bin/pg_config/po/ru.po +++ b/src/bin/pg_config/po/ru.po @@ -5,21 +5,21 @@ # Serguei A. Mokhov , 2004-2005. # Sergey Burladyan , 2009, 2012. # Andrey Sudnik , 2010. -# Alexander Lakhin , 2012-2016, 2017, 2019, 2020, 2021. +# Alexander Lakhin , 2012-2016, 2017, 2019, 2020, 2021, 2023. msgid "" msgstr "" "Project-Id-Version: pg_config (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-08-27 14:52+0300\n" -"PO-Revision-Date: 2021-09-04 12:15+0300\n" +"POT-Creation-Date: 2023-08-28 07:59+0300\n" +"PO-Revision-Date: 2023-08-29 10:19+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: ../../common/config_info.c:134 ../../common/config_info.c:142 #: ../../common/config_info.c:150 ../../common/config_info.c:158 @@ -28,42 +28,32 @@ msgstr "" msgid "not recorded" msgstr "не записано" -#: ../../common/exec.c:149 ../../common/exec.c:266 ../../common/exec.c:312 +#: ../../common/exec.c:172 #, c-format -msgid "could not identify current directory: %m" -msgstr "не удалось определить текущий каталог: %m" +msgid "invalid binary \"%s\": %m" +msgstr "неверный исполняемый файл \"%s\": %m" -#: ../../common/exec.c:168 +#: ../../common/exec.c:215 #, c-format -msgid "invalid binary \"%s\"" -msgstr "неверный исполняемый файл \"%s\"" +msgid "could not read binary \"%s\": %m" +msgstr "не удалось прочитать исполняемый файл \"%s\": %m" -#: ../../common/exec.c:218 -#, c-format -msgid "could not read binary \"%s\"" -msgstr "не удалось прочитать исполняемый файл \"%s\"" - -#: ../../common/exec.c:226 +#: ../../common/exec.c:223 #, c-format msgid "could not find a \"%s\" to execute" msgstr "не удалось найти запускаемый файл \"%s\"" -#: ../../common/exec.c:282 ../../common/exec.c:321 +#: ../../common/exec.c:250 #, c-format -msgid "could not change directory to \"%s\": %m" -msgstr "не удалось перейти в каталог \"%s\": %m" +msgid "could not resolve path \"%s\" to absolute form: %m" +msgstr "не удалось преобразовать относительный путь \"%s\" в абсолютный: %m" -#: ../../common/exec.c:299 -#, c-format -msgid "could not read symbolic link \"%s\": %m" -msgstr "не удалось прочитать символическую ссылку \"%s\": %m" - -#: ../../common/exec.c:422 +#: ../../common/exec.c:412 #, c-format msgid "%s() failed: %m" msgstr "ошибка в %s(): %m" -#: ../../common/exec.c:560 ../../common/exec.c:605 ../../common/exec.c:697 +#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 msgid "out of memory" msgstr "нехватка памяти" @@ -301,6 +291,18 @@ msgstr "%s: не удалось найти свой исполняемый фа msgid "%s: invalid argument: %s\n" msgstr "%s: неверный аргумент: %s\n" +#, c-format +#~ msgid "could not identify current directory: %m" +#~ msgstr "не удалось определить текущий каталог: %m" + +#, c-format +#~ msgid "could not change directory to \"%s\": %m" +#~ msgstr "не удалось перейти в каталог \"%s\": %m" + +#, c-format +#~ msgid "could not read symbolic link \"%s\": %m" +#~ msgstr "не удалось прочитать символическую ссылку \"%s\": %m" + #~ msgid "Report bugs to .\n" #~ msgstr "Об ошибках сообщайте по адресу .\n" diff --git a/src/bin/pg_config/po/sv.po b/src/bin/pg_config/po/sv.po index ad46f7872fd..2b5468ec93a 100644 --- a/src/bin/pg_config/po/sv.po +++ b/src/bin/pg_config/po/sv.po @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2023-08-01 14:18+0000\n" -"PO-Revision-Date: 2023-08-01 22:12+0200\n" +"PO-Revision-Date: 2023-08-30 09:01+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -41,7 +41,7 @@ msgstr "kunde inte hitta en \"%s\" att köra" #: ../../common/exec.c:250 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" -msgstr "kunde inte skriva om sökväg \"%s\" till absolut sökväg: %m" +msgstr "kunde inte konvertera sökvägen \"%s\" till en absolut sökväg: %m" #: ../../common/exec.c:412 #, c-format diff --git a/src/bin/pg_controldata/po/cs.po b/src/bin/pg_controldata/po/cs.po index 4774832b805..165b7d134a0 100644 --- a/src/bin/pg_controldata/po/cs.po +++ b/src/bin/pg_controldata/po/cs.po @@ -257,9 +257,7 @@ msgstr "Číslo verze katalogu: %u\n" #: pg_controldata.c:232 #, c-format msgid "Database system identifier: %llu\n" -msgstr "" -"Identifikátor databázového systému: %llu\n" -"\n" +msgstr "Identifikátor databázového systému: %llu\n" #: pg_controldata.c:234 #, c-format diff --git a/src/bin/pg_controldata/po/fr.po b/src/bin/pg_controldata/po/fr.po index 6f2a45a204a..a22d809a947 100644 --- a/src/bin/pg_controldata/po/fr.po +++ b/src/bin/pg_controldata/po/fr.po @@ -279,7 +279,7 @@ msgstr "Dernier REDO (reprise) du point de contrôle : %X/%X\n" #: pg_controldata.c:242 #, c-format msgid "Latest checkpoint's REDO WAL file: %s\n" -msgstr "Dernier fichier WAL du rejeu du point de contrrôle : %s\n" +msgstr "Dernier fichier WAL du rejeu du point de contrôle : %s\n" #: pg_controldata.c:244 #, c-format @@ -347,7 +347,7 @@ msgstr "Dernier oldestMultiXid du point de contrôle : %u\n" #: pg_controldata.c:267 #, c-format msgid "Latest checkpoint's oldestMulti's DB: %u\n" -msgstr "Dernier oldestMulti du point de contrôle de base : %u\n" +msgstr "Dernier oldestMulti du point de contrôle de la base : %u\n" #: pg_controldata.c:269 #, c-format diff --git a/src/bin/pg_controldata/po/it.po b/src/bin/pg_controldata/po/it.po index 814e334732b..cc35f9609e9 100644 --- a/src/bin/pg_controldata/po/it.po +++ b/src/bin/pg_controldata/po/it.po @@ -266,9 +266,7 @@ msgstr "Numero di versione del catalogo: %u\n" #: pg_controldata.c:232 #, c-format msgid "Database system identifier: %llu\n" -msgstr "" -"Identificatore di sistema del database: %llu\n" -"\n" +msgstr "Identificatore di sistema del database: %llu\n" #: pg_controldata.c:234 #, c-format @@ -439,9 +437,7 @@ msgstr "impostazione di max_worker_processes: %d\n" #: pg_controldata.c:295 #, c-format msgid "max_wal_senders setting: %d\n" -msgstr "" -"impostazione di max_wal_senders: %d\n" -"\n" +msgstr "impostazione di max_wal_senders: %d\n" #: pg_controldata.c:297 #, c-format diff --git a/src/bin/pg_controldata/po/pt_BR.po b/src/bin/pg_controldata/po/pt_BR.po index 40a36b3c7a2..4a697d5e1df 100644 --- a/src/bin/pg_controldata/po/pt_BR.po +++ b/src/bin/pg_controldata/po/pt_BR.po @@ -12,7 +12,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-09-27 13:15-0300\n" -"PO-Revision-Date: 2023-08-17 16:32+0200\n" +"PO-Revision-Date: 2023-09-05 08:59+0200\n" "Last-Translator: Euler Taveira \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" @@ -104,7 +104,7 @@ msgstr "" #: pg_controldata.c:39 #, c-format msgid " [-D, --pgdata=]DATADIR data directory\n" -msgstr " [-D, --pgdata=]DIRDADOS diretório de dados\n" +msgstr " [-D, --pgdata=]DIRDADOS diretório de dados\n" #: pg_controldata.c:40 #, c-format diff --git a/src/bin/pg_controldata/po/ru.po b/src/bin/pg_controldata/po/ru.po index 79a06b227ae..f31014d36a3 100644 --- a/src/bin/pg_controldata/po/ru.po +++ b/src/bin/pg_controldata/po/ru.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: pg_controldata (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-08-27 14:52+0300\n" +"POT-Creation-Date: 2023-08-28 07:59+0300\n" "PO-Revision-Date: 2022-09-05 13:34+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" @@ -17,8 +17,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: ../../common/controldata_utils.c:73 #, c-format @@ -35,7 +35,7 @@ msgstr "не удалось прочитать файл \"%s\": %m" msgid "could not read file \"%s\": read %d of %zu" msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %zu)" -#: ../../common/controldata_utils.c:108 ../../common/controldata_utils.c:244 +#: ../../common/controldata_utils.c:108 ../../common/controldata_utils.c:236 #, c-format msgid "could not close file \"%s\": %m" msgstr "не удалось закрыть файл \"%s\": %m" @@ -58,17 +58,17 @@ msgstr "" "этой программой. В этом случае результаты будут неверными и\n" "установленный PostgreSQL будет несовместим с этим каталогом данных." -#: ../../common/controldata_utils.c:194 +#: ../../common/controldata_utils.c:186 #, c-format msgid "could not open file \"%s\": %m" msgstr "не удалось открыть файл \"%s\": %m" -#: ../../common/controldata_utils.c:213 +#: ../../common/controldata_utils.c:205 #, c-format msgid "could not write file \"%s\": %m" msgstr "не удалось записать файл \"%s\": %m" -#: ../../common/controldata_utils.c:232 +#: ../../common/controldata_utils.c:224 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "не удалось синхронизировать с ФС файл \"%s\": %m" diff --git a/src/bin/pg_controldata/po/sv.po b/src/bin/pg_controldata/po/sv.po index aa7501af9da..98368901994 100644 --- a/src/bin/pg_controldata/po/sv.po +++ b/src/bin/pg_controldata/po/sv.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-04-11 09:21+0000\n" -"PO-Revision-Date: 2022-04-11 14:40+0200\n" +"PO-Revision-Date: 2023-08-17 16:56+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -267,32 +267,32 @@ msgstr "pg_control ändrades senast: %s\n" #: pg_controldata.c:238 #, c-format msgid "Latest checkpoint location: %X/%X\n" -msgstr "Läge för senaste checkpoint: %X/%X\n" +msgstr "Läge för senaste kontrollpunkt: %X/%X\n" #: pg_controldata.c:240 #, c-format msgid "Latest checkpoint's REDO location: %X/%X\n" -msgstr "REDO-läge för senaste checkpoint: %X/%X\n" +msgstr "REDO-läge för senaste kontrollpunkt: %X/%X\n" #: pg_controldata.c:242 #, c-format msgid "Latest checkpoint's REDO WAL file: %s\n" -msgstr "REDO-WAL-fil vid senaste checkpoint: %s\n" +msgstr "REDO-WAL-fil vid senaste kontrollpunkt: %s\n" #: pg_controldata.c:244 #, c-format msgid "Latest checkpoint's TimeLineID: %u\n" -msgstr "TimeLineID vid senaste checkpoint: %u\n" +msgstr "TimeLineID vid senaste kontrollpunkt: %u\n" #: pg_controldata.c:246 #, c-format msgid "Latest checkpoint's PrevTimeLineID: %u\n" -msgstr "PrevTimeLineID vid senaste checkpoint: %u\n" +msgstr "PrevTimeLineID vid senaste kontrollpunkt: %u\n" #: pg_controldata.c:248 #, c-format msgid "Latest checkpoint's full_page_writes: %s\n" -msgstr "Senaste checkpoint:ens full_page_writes: %s\n" +msgstr "Senaste kontrollpunktens full_page_writes: %s\n" #: pg_controldata.c:249 pg_controldata.c:290 pg_controldata.c:302 msgid "off" @@ -305,62 +305,62 @@ msgstr "på" #: pg_controldata.c:250 #, c-format msgid "Latest checkpoint's NextXID: %u:%u\n" -msgstr "NextXID vid senaste checkpoint: %u:%u\n" +msgstr "NextXID vid senaste kontrollpunkt: %u:%u\n" #: pg_controldata.c:253 #, c-format msgid "Latest checkpoint's NextOID: %u\n" -msgstr "NextOID vid senaste checkpoint: %u\n" +msgstr "NextOID vid senaste kontrollpunkt: %u\n" #: pg_controldata.c:255 #, c-format msgid "Latest checkpoint's NextMultiXactId: %u\n" -msgstr "NextMultiXactId vid senaste checkpoint: %u\n" +msgstr "NextMultiXactId vid senaste kontrollpunkt: %u\n" #: pg_controldata.c:257 #, c-format msgid "Latest checkpoint's NextMultiOffset: %u\n" -msgstr "NextMultiOffset vid senaste checkpoint: %u\n" +msgstr "NextMultiOffset vid senaste kontrollpunkt: %u\n" #: pg_controldata.c:259 #, c-format msgid "Latest checkpoint's oldestXID: %u\n" -msgstr "oldestXID vid senaste checkpoint: %u\n" +msgstr "oldestXID vid senaste kontrollpunkt: %u\n" #: pg_controldata.c:261 #, c-format msgid "Latest checkpoint's oldestXID's DB: %u\n" -msgstr "DB för oldestXID vid senaste checkpoint: %u\n" +msgstr "DB för oldestXID vid senaste kontrollpunkt: %u\n" #: pg_controldata.c:263 #, c-format msgid "Latest checkpoint's oldestActiveXID: %u\n" -msgstr "oldestActiveXID vid senaste checkpoint: %u\n" +msgstr "oldestActiveXID vid senaste kontrollpunkt: %u\n" #: pg_controldata.c:265 #, c-format msgid "Latest checkpoint's oldestMultiXid: %u\n" -msgstr "oldestMultiXid vid senaste checkpoint: %u\n" +msgstr "oldestMultiXid vid senaste kontrollpunkt: %u\n" #: pg_controldata.c:267 #, c-format msgid "Latest checkpoint's oldestMulti's DB: %u\n" -msgstr "DB för oldestMulti vid senaste checkpoint: %u\n" +msgstr "DB för oldestMulti vid senaste kontrollpkt: %u\n" #: pg_controldata.c:269 #, c-format msgid "Latest checkpoint's oldestCommitTsXid:%u\n" -msgstr "oldestCommitTsXid vid senaste checkpoint: %u\n" +msgstr "oldestCommitTsXid vid senaste kontrollpunkt:%u\n" #: pg_controldata.c:271 #, c-format msgid "Latest checkpoint's newestCommitTsXid:%u\n" -msgstr "newestCommitTsXid vid senaste checkpoint: %u\n" +msgstr "newestCommitTsXid vid senaste kontrollpunkt:%u\n" #: pg_controldata.c:273 #, c-format msgid "Time of latest checkpoint: %s\n" -msgstr "Tidpunkt för senaste checkpoint: %s\n" +msgstr "Tidpunkt för senaste kontrollpunkt: %s\n" #: pg_controldata.c:275 #, c-format diff --git a/src/bin/pg_ctl/po/fr.po b/src/bin/pg_ctl/po/fr.po index 618ed35effa..f5d95cd84a6 100644 --- a/src/bin/pg_ctl/po/fr.po +++ b/src/bin/pg_ctl/po/fr.po @@ -565,7 +565,7 @@ msgstr " %s promote [-D RÉP_DONNÉES] [-W] [-t SECS] [-s]\n" #: pg_ctl.c:1977 #, c-format msgid " %s logrotate [-D DATADIR] [-s]\n" -msgstr " %s reload [-D RÉP_DONNÉES] [-s]\n" +msgstr " %s logrotate [-D RÉP_DONNÉES] [-s]\n" #: pg_ctl.c:1978 #, c-format diff --git a/src/bin/pg_ctl/po/it.po b/src/bin/pg_ctl/po/it.po index 72c4ae4c355..07a0688d131 100644 --- a/src/bin/pg_ctl/po/it.po +++ b/src/bin/pg_ctl/po/it.po @@ -18,7 +18,7 @@ msgstr "" "Project-Id-Version: pg_ctl (PostgreSQL) 11\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2023-04-24 03:48+0000\n" -"PO-Revision-Date: 2023-04-24 09:05+0200\n" +"PO-Revision-Date: 2023-09-05 08:14+0200\n" "Last-Translator: Domenico Sgarbossa \n" "Language-Team: https://github.com/dvarrazzo/postgresql-it\n" "Language: it\n" @@ -522,9 +522,8 @@ msgid "" " %s start [-D DATADIR] [-l FILENAME] [-W] [-t SECS] [-s]\n" " [-o OPTIONS] [-p PATH] [-c]\n" msgstr "" -" %s inizio [-D DATADIR] [-l FILENAME] [-W] [-t SECS] [-s]\n" +" %s start [-D DATADIR] [-l FILENAME] [-W] [-t SECS] [-s]\n" " [-o OPZIONI] [-p PERCORSO] [-c]\n" -"\n" #: pg_ctl.c:1971 #, c-format @@ -537,33 +536,33 @@ msgid "" " %s restart [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n" " [-o OPTIONS] [-c]\n" msgstr "" -" %s riavvia [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n" +" %s restart [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n" " [-o OPZIONI] [-c]\n" #: pg_ctl.c:1974 #, c-format msgid " %s reload [-D DATADIR] [-s]\n" -msgstr " %s ricarica [-D DATADIR] [-s]\n" +msgstr " %s reload [-D DATADIR] [-s]\n" #: pg_ctl.c:1975 #, c-format msgid " %s status [-D DATADIR]\n" -msgstr " Stato %s [-D DATADIR]\n" +msgstr " %s status [-D DATADIR]\n" #: pg_ctl.c:1976 #, c-format msgid " %s promote [-D DATADIR] [-W] [-t SECS] [-s]\n" -msgstr " %s promuovono [-D DATADIR] [-W] [-t SECS] [-s]\n" +msgstr " %s promote [-D DATADIR] [-W] [-t SECS] [-s]\n" #: pg_ctl.c:1977 #, c-format msgid " %s logrotate [-D DATADIR] [-s]\n" -msgstr " %s logrotate [-D DATADIR] [-s]\n" +msgstr " %s logrotate [-D DATADIR] [-s]\n" #: pg_ctl.c:1978 #, c-format msgid " %s kill SIGNALNAME PID\n" -msgstr " %s elimina SIGNALNAME PID\n" +msgstr " %s kill SIGNALNAME PID\n" #: pg_ctl.c:1980 #, c-format @@ -571,7 +570,7 @@ msgid "" " %s register [-D DATADIR] [-N SERVICENAME] [-U USERNAME] [-P PASSWORD]\n" " [-S START-TYPE] [-e SOURCE] [-W] [-t SECS] [-s] [-o OPTIONS]\n" msgstr "" -" %s registra [-D DATADIR] [-N SERVICENAME] [-U USERNAME] [-P PASSWORD]\n" +" %s register [-D DATADIR] [-N SERVICENAME] [-U USERNAME] [-P PASSWORD]\n" " [-S START-TYPE] [-e SOURCE] [-W] [-t SECS] [-s] [-o OPTIONS]\n" #: pg_ctl.c:1982 diff --git a/src/bin/pg_ctl/po/pl.po b/src/bin/pg_ctl/po/pl.po index 56f51779f74..4f71b484a84 100644 --- a/src/bin/pg_ctl/po/pl.po +++ b/src/bin/pg_ctl/po/pl.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: pg_ctl (PostgreSQL 9.5)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2023-04-24 03:48+0000\n" -"PO-Revision-Date: 2023-04-24 09:09+0200\n" +"PO-Revision-Date: 2023-09-05 08:43+0200\n" "Last-Translator: grzegorz \n" "Language-Team: begina.felicysym@wp.eu\n" "Language: pl\n" @@ -702,7 +702,7 @@ msgstr "" #: pg_ctl.c:2007 #, c-format msgid " -p PATH-TO-POSTGRES normally not necessary\n" -msgstr " -p ŚCIEŻKA-DO-POSTGRES zwykle niekonieczna\n" +msgstr " -p ŚCIEŻKA-DO-POSTGRES zwykle niekonieczna\n" #: pg_ctl.c:2008 #, c-format diff --git a/src/bin/pg_ctl/po/ru.po b/src/bin/pg_ctl/po/ru.po index c8b21affa51..a5d7ee2b748 100644 --- a/src/bin/pg_ctl/po/ru.po +++ b/src/bin/pg_ctl/po/ru.po @@ -6,20 +6,21 @@ # Sergey Burladyan , 2009, 2012. # Andrey Sudnik , 2010. # Dmitriy Olshevskiy , 2014. -# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022. +# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023. msgid "" msgstr "" "Project-Id-Version: pg_ctl (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-04-24 03:48+0000\n" -"PO-Revision-Date: 2023-04-24 09:19+0200\n" +"POT-Creation-Date: 2023-08-28 07:59+0300\n" +"PO-Revision-Date: 2023-08-29 10:20+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: ../../common/exec.c:172 #, c-format @@ -37,10 +38,9 @@ msgid "could not find a \"%s\" to execute" msgstr "не удалось найти запускаемый файл \"%s\"" #: ../../common/exec.c:250 -#, fuzzy, c-format -#| msgid "could not reopen file \"%s\" as stderr: %m" +#, c-format msgid "could not resolve path \"%s\" to absolute form: %m" -msgstr "открыть файл \"%s\" как stderr не удалось: %m" +msgstr "не удалось преобразовать относительный путь \"%s\" в абсолютный: %m" #: ../../common/exec.c:412 #, c-format @@ -151,7 +151,9 @@ msgstr "%s: не удалось запустить сервер (код ошиб #: pg_ctl.c:782 #, c-format msgid "%s: cannot set core file size limit; disallowed by hard limit\n" -msgstr "%s: не удалось ограничить размер дампа памяти; запрещено жёстким ограничением\n" +msgstr "" +"%s: не удалось ограничить размер дампа памяти; запрещено жёстким " +"ограничением\n" #: pg_ctl.c:808 #, c-format @@ -170,13 +172,17 @@ msgstr "%s: не удалось отправить сигнал остановк #: pg_ctl.c:883 #, c-format -msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"\n" +msgid "" +"program \"%s\" is needed by %s but was not found in the same directory as " +"\"%s\"\n" msgstr "программа \"%s\" нужна для %s, но она не найдена в каталоге \"%s\"\n" #: pg_ctl.c:886 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s\n" -msgstr "программа \"%s\" найдена программой \"%s\", но её версия отличается от версии %s\n" +msgstr "" +"программа \"%s\" найдена программой \"%s\", но её версия отличается от " +"версии %s\n" #: pg_ctl.c:918 #, c-format @@ -186,7 +192,9 @@ msgstr "%s: сбой при инициализации системы баз д #: pg_ctl.c:933 #, c-format msgid "%s: another server might be running; trying to start server anyway\n" -msgstr "%s: возможно, уже работает другой сервер; всё же пробуем запустить этот сервер\n" +msgstr "" +"%s: возможно, уже работает другой сервер; всё же пробуем запустить этот " +"сервер\n" #: pg_ctl.c:981 msgid "waiting for server to start..." @@ -234,7 +242,8 @@ msgstr "Запущен ли сервер?\n" #: pg_ctl.c:1031 #, c-format msgid "%s: cannot stop server; single-user server is running (PID: %d)\n" -msgstr "%s: остановить сервер с PID %d нельзя - он запущен в монопольном режиме\n" +msgstr "" +"%s: остановить сервер с PID %d нельзя - он запущен в монопольном режиме\n" #: pg_ctl.c:1046 msgid "server shutting down\n" @@ -272,7 +281,8 @@ msgstr "производится попытка запуска сервера в #: pg_ctl.c:1095 #, c-format msgid "%s: cannot restart server; single-user server is running (PID: %d)\n" -msgstr "%s: перезапустить сервер с PID %d нельзя - он запущен в монопольном режиме\n" +msgstr "" +"%s: перезапустить сервер с PID %d нельзя - он запущен в монопольном режиме\n" #: pg_ctl.c:1098 pg_ctl.c:1157 msgid "Please terminate the single-user server and try again.\n" @@ -290,7 +300,8 @@ msgstr "сервер запускается, несмотря на это\n" #: pg_ctl.c:1154 #, c-format msgid "%s: cannot reload server; single-user server is running (PID: %d)\n" -msgstr "%s: перезагрузить сервер с PID %d нельзя - он запущен в монопольном режиме\n" +msgstr "" +"%s: перезагрузить сервер с PID %d нельзя - он запущен в монопольном режиме\n" #: pg_ctl.c:1163 #, c-format @@ -304,7 +315,8 @@ msgstr "сигнал отправлен серверу\n" #: pg_ctl.c:1193 #, c-format msgid "%s: cannot promote server; single-user server is running (PID: %d)\n" -msgstr "%s: повысить сервер с PID %d нельзя - он выполняется в монопольном режиме\n" +msgstr "" +"%s: повысить сервер с PID %d нельзя - он выполняется в монопольном режиме\n" #: pg_ctl.c:1201 #, c-format @@ -351,17 +363,21 @@ msgstr "сервер повышается\n" #: pg_ctl.c:1274 #, c-format msgid "%s: cannot rotate log file; single-user server is running (PID: %d)\n" -msgstr "%s: не удалось прокрутить файл журнала; сервер работает в монопольном режиме (PID: %d)\n" +msgstr "" +"%s: не удалось прокрутить файл журнала; сервер работает в монопольном режиме " +"(PID: %d)\n" #: pg_ctl.c:1284 #, c-format msgid "%s: could not create log rotation signal file \"%s\": %s\n" -msgstr "%s: не удалось создать файл \"%s\" с сигналом к прокрутке журнала: %s\n" +msgstr "" +"%s: не удалось создать файл \"%s\" с сигналом к прокрутке журнала: %s\n" #: pg_ctl.c:1290 #, c-format msgid "%s: could not write log rotation signal file \"%s\": %s\n" -msgstr "%s: не удалось записать файл \"%s\" с сигналом к прокрутке журнала: %s\n" +msgstr "" +"%s: не удалось записать файл \"%s\" с сигналом к прокрутке журнала: %s\n" #: pg_ctl.c:1298 #, c-format @@ -371,7 +387,8 @@ msgstr "%s: не удалось отправить сигнал к прокру #: pg_ctl.c:1301 #, c-format msgid "%s: could not remove log rotation signal file \"%s\": %s\n" -msgstr "%s: ошибка при удалении файла \"%s\" с сигналом к прокрутке журнала: %s\n" +msgstr "" +"%s: ошибка при удалении файла \"%s\" с сигналом к прокрутке журнала: %s\n" #: pg_ctl.c:1306 msgid "server signaled to rotate log file\n" @@ -495,7 +512,8 @@ msgid "" "%s is a utility to initialize, start, stop, or control a PostgreSQL server.\n" "\n" msgstr "" -"%s - это утилита для инициализации, запуска, остановки и управления сервером PostgreSQL.\n" +"%s - это утилита для инициализации, запуска, остановки и управления сервером " +"PostgreSQL.\n" "\n" #: pg_ctl.c:1967 @@ -520,7 +538,8 @@ msgstr "" #: pg_ctl.c:1971 #, c-format msgid " %s stop [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n" -msgstr " %s stop [-D КАТАЛОГ-ДАННЫХ] [-m РЕЖИМ-ОСТАНОВКИ] [-W] [-t СЕК] [-s]\n" +msgstr "" +" %s stop [-D КАТАЛОГ-ДАННЫХ] [-m РЕЖИМ-ОСТАНОВКИ] [-W] [-t СЕК] [-s]\n" #: pg_ctl.c:1972 #, c-format @@ -560,10 +579,13 @@ msgstr " %s kill СИГНАЛ PID\n" #, c-format msgid "" " %s register [-D DATADIR] [-N SERVICENAME] [-U USERNAME] [-P PASSWORD]\n" -" [-S START-TYPE] [-e SOURCE] [-W] [-t SECS] [-s] [-o OPTIONS]\n" +" [-S START-TYPE] [-e SOURCE] [-W] [-t SECS] [-s] [-o " +"OPTIONS]\n" msgstr "" -" %s register [-D КАТАЛОГ-ДАННЫХ] [-N ИМЯ-СЛУЖБЫ] [-U ПОЛЬЗОВАТЕЛЬ] [-P ПАРОЛЬ]\n" -" [-S ТИП-ЗАПУСКА] [-e ИСТОЧНИК] [-W] [-t СЕК] [-s] [-o ПАРАМЕТРЫ]\n" +" %s register [-D КАТАЛОГ-ДАННЫХ] [-N ИМЯ-СЛУЖБЫ] [-U ПОЛЬЗОВАТЕЛЬ] [-P " +"ПАРОЛЬ]\n" +" [-S ТИП-ЗАПУСКА] [-e ИСТОЧНИК] [-W] [-t СЕК] [-s] [-o " +"ПАРАМЕТРЫ]\n" #: pg_ctl.c:1982 #, c-format @@ -586,20 +608,25 @@ msgstr " -D, --pgdata=КАТАЛОГ расположение хранили #: pg_ctl.c:1988 #, c-format -msgid " -e SOURCE event source for logging when running as a service\n" +msgid "" +" -e SOURCE event source for logging when running as a service\n" msgstr "" -" -e ИСТОЧНИК источник событий, устанавливаемый при записи в журнал,\n" +" -e ИСТОЧНИК источник событий, устанавливаемый при записи в " +"журнал,\n" " когда сервер работает в виде службы\n" #: pg_ctl.c:1990 #, c-format msgid " -s, --silent only print errors, no informational messages\n" -msgstr " -s, --silent выводить только ошибки, без информационных сообщений\n" +msgstr "" +" -s, --silent выводить только ошибки, без информационных " +"сообщений\n" #: pg_ctl.c:1991 #, c-format msgid " -t, --timeout=SECS seconds to wait when using -w option\n" -msgstr " -t, --timeout=СЕК время ожидания при использовании параметра -w\n" +msgstr "" +" -t, --timeout=СЕК время ожидания при использовании параметра -w\n" #: pg_ctl.c:1992 #, c-format @@ -648,7 +675,9 @@ msgstr " -c, --core-files неприменимо на этой платф #: pg_ctl.c:2004 #, c-format msgid " -l, --log=FILENAME write (or append) server log to FILENAME\n" -msgstr " -l, --log=ФАЙЛ записывать (или добавлять) протокол сервера в ФАЙЛ.\n" +msgstr "" +" -l, --log=ФАЙЛ записывать (или добавлять) протокол сервера в " +"ФАЙЛ.\n" #: pg_ctl.c:2005 #, c-format @@ -656,7 +685,8 @@ msgid "" " -o, --options=OPTIONS command line options to pass to postgres\n" " (PostgreSQL server executable) or initdb\n" msgstr "" -" -o, --options=ПАРАМЕТРЫ передаваемые postgres (исполняемому файлу PostgreSQL)\n" +" -o, --options=ПАРАМЕТРЫ передаваемые postgres (исполняемому файлу " +"PostgreSQL)\n" " или initdb параметры командной строки\n" #: pg_ctl.c:2007 @@ -675,8 +705,10 @@ msgstr "" #: pg_ctl.c:2009 #, c-format -msgid " -m, --mode=MODE MODE can be \"smart\", \"fast\", or \"immediate\"\n" -msgstr " -m, --mode=РЕЖИМ может быть \"smart\", \"fast\" или \"immediate\"\n" +msgid "" +" -m, --mode=MODE MODE can be \"smart\", \"fast\", or \"immediate\"\n" +msgstr "" +" -m, --mode=РЕЖИМ может быть \"smart\", \"fast\" или \"immediate\"\n" #: pg_ctl.c:2011 #, c-format @@ -699,7 +731,9 @@ msgstr " fast закончить сразу, в штатном режи #: pg_ctl.c:2014 #, c-format -msgid " immediate quit without complete shutdown; will lead to recovery on restart\n" +msgid "" +" immediate quit without complete shutdown; will lead to recovery on " +"restart\n" msgstr "" " immediate закончить немедленно, в экстренном режиме; влечёт за собой\n" " восстановление при перезапуске\n" @@ -724,18 +758,21 @@ msgstr "" #: pg_ctl.c:2021 #, c-format -msgid " -N SERVICENAME service name with which to register PostgreSQL server\n" +msgid "" +" -N SERVICENAME service name with which to register PostgreSQL server\n" msgstr " -N ИМЯ-СЛУЖБЫ имя службы для регистрации сервера PostgreSQL\n" #: pg_ctl.c:2022 #, c-format msgid " -P PASSWORD password of account to register PostgreSQL server\n" -msgstr " -P ПАРОЛЬ пароль учётной записи для регистрации сервера PostgreSQL\n" +msgstr "" +" -P ПАРОЛЬ пароль учётной записи для регистрации сервера PostgreSQL\n" #: pg_ctl.c:2023 #, c-format msgid " -U USERNAME user name of account to register PostgreSQL server\n" -msgstr " -U ПОЛЬЗОВАТЕЛЬ имя пользователя для регистрации сервера PostgreSQL\n" +msgstr "" +" -U ПОЛЬЗОВАТЕЛЬ имя пользователя для регистрации сервера PostgreSQL\n" #: pg_ctl.c:2024 #, c-format @@ -753,8 +790,11 @@ msgstr "" #: pg_ctl.c:2027 #, c-format -msgid " auto start service automatically during system startup (default)\n" -msgstr " auto запускать службу автоматически при старте системы (по умолчанию)\n" +msgid "" +" auto start service automatically during system startup (default)\n" +msgstr "" +" auto запускать службу автоматически при старте системы (по " +"умолчанию)\n" #: pg_ctl.c:2028 #, c-format @@ -838,15 +878,19 @@ msgstr "%s: команда не указана\n" #: pg_ctl.c:2445 #, c-format -msgid "%s: no database directory specified and environment variable PGDATA unset\n" -msgstr "%s: каталог баз данных не указан и переменная окружения PGDATA не установлена\n" +msgid "" +"%s: no database directory specified and environment variable PGDATA unset\n" +msgstr "" +"%s: каталог баз данных не указан и переменная окружения PGDATA не " +"установлена\n" #~ msgid "" #~ "\n" #~ "%s: -w option cannot use a relative socket directory specification\n" #~ msgstr "" #~ "\n" -#~ "%s: в параметре -w нельзя указывать относительный путь к каталогу сокетов\n" +#~ "%s: в параметре -w нельзя указывать относительный путь к каталогу " +#~ "сокетов\n" #~ msgid "" #~ "\n" @@ -867,7 +911,8 @@ msgstr "%s: каталог баз данных не указан и переме #~ "%s: this data directory appears to be running a pre-existing postmaster\n" #~ msgstr "" #~ "\n" -#~ "%s: похоже, что с этим каталогом уже работает управляющий процесс postmaster\n" +#~ "%s: похоже, что с этим каталогом уже работает управляющий процесс " +#~ "postmaster\n" #~ msgid "" #~ "\n" @@ -900,27 +945,40 @@ msgstr "%s: каталог баз данных не указан и переме #~ msgid " %s promote [-w] [-t SECS] [-D DATADIR] [-s]\n" #~ msgstr " %s promote [-w] [-t СЕК] [-D КАТАЛОГ-ДАННЫХ] [-s]\n" -#~ msgid " %s start [-w] [-t SECS] [-D DATADIR] [-s] [-l FILENAME] [-o \"OPTIONS\"]\n" +#~ msgid "" +#~ " %s start [-w] [-t SECS] [-D DATADIR] [-s] [-l FILENAME] [-o " +#~ "\"OPTIONS\"]\n" #~ msgstr "" #~ " %s start [-w] [-t СЕК] [-D КАТАЛОГ-ДАННЫХ] [-s] [-l ИМЯ-ФАЙЛА]\n" #~ " [-o \"ПАРАМЕТРЫ\"]\n" -#~ msgid " -I, --idempotent don't error if server already running or stopped\n" -#~ msgstr " -I, --idempotent не считать ошибкой, если он уже запущен или остановлен\n" +#~ msgid "" +#~ " -I, --idempotent don't error if server already running or " +#~ "stopped\n" +#~ msgstr "" +#~ " -I, --idempotent не считать ошибкой, если он уже запущен или " +#~ "остановлен\n" -#~ msgid " fast promote quickly without waiting for checkpoint completion\n" -#~ msgstr " fast быстрое повышение, без ожидания завершения контрольной точки\n" +#~ msgid "" +#~ " fast promote quickly without waiting for checkpoint completion\n" +#~ msgstr "" +#~ " fast быстрое повышение, без ожидания завершения контрольной " +#~ "точки\n" #~ msgid " smart promote after performing a checkpoint\n" #~ msgstr " smart повышение после выполнения контрольной точки\n" #, c-format #~ msgid "%s: WARNING: cannot create restricted tokens on this platform\n" -#~ msgstr "%s: ПРЕДУПРЕЖДЕНИЕ: в этой ОС нельзя создавать ограниченные маркеры\n" +#~ msgstr "" +#~ "%s: ПРЕДУПРЕЖДЕНИЕ: в этой ОС нельзя создавать ограниченные маркеры\n" #, c-format -#~ msgid "%s: WARNING: could not locate all job object functions in system API\n" -#~ msgstr "%s: ПРЕДУПРЕЖДЕНИЕ: не удалось найти все функции для работы с задачами в системном API\n" +#~ msgid "" +#~ "%s: WARNING: could not locate all job object functions in system API\n" +#~ msgstr "" +#~ "%s: ПРЕДУПРЕЖДЕНИЕ: не удалось найти все функции для работы с задачами в " +#~ "системном API\n" #~ msgid "%s: another server might be running\n" #~ msgstr "%s: возможно, работает другой сервер\n" @@ -935,7 +993,8 @@ msgstr "%s: каталог баз данных не указан и переме #~ "(The default is to wait for shutdown, but not for start or restart.)\n" #~ "\n" #~ msgstr "" -#~ "(По умолчанию ожидание имеет место при остановке, но не при (пере)запуске.)\n" +#~ "(По умолчанию ожидание имеет место при остановке, но не при " +#~ "(пере)запуске.)\n" #~ "\n" #~ msgid "" diff --git a/src/bin/pg_ctl/po/sv.po b/src/bin/pg_ctl/po/sv.po index ab6e44475b4..3ab0f950e70 100644 --- a/src/bin/pg_ctl/po/sv.po +++ b/src/bin/pg_ctl/po/sv.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2023-08-01 14:18+0000\n" -"PO-Revision-Date: 2023-08-01 22:16+0200\n" +"PO-Revision-Date: 2023-08-30 09:01+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -37,7 +37,7 @@ msgstr "kunde inte hitta en \"%s\" att köra" #: ../../common/exec.c:250 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" -msgstr "kunde inte skriva om sökväg \"%s\" till absolut sökväg: %m" +msgstr "kunde inte konvertera sökvägen \"%s\" till en absolut sökväg: %m" #: ../../common/exec.c:412 #, c-format @@ -168,12 +168,12 @@ msgstr "%s: kunde inte skicka stopp-signal (PID: %d): %s\n" #: pg_ctl.c:883 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"\n" -msgstr "Programmet \"%s\" behövs av %s men hittades inte i samma katalog som \"%s\"\n" +msgstr "programmet \"%s\" behövs av %s men hittades inte i samma katalog som \"%s\"\n" #: pg_ctl.c:886 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s\n" -msgstr "Programmet \"%s\" hittades av \"%s\" men är inte av samma version som %s.\n" +msgstr "programmet \"%s\" hittades av \"%s\" men är inte av samma version som %s\n" #: pg_ctl.c:918 #, c-format diff --git a/src/bin/pg_ctl/po/tr.po b/src/bin/pg_ctl/po/tr.po index c39e22beeec..a90dd50825a 100644 --- a/src/bin/pg_ctl/po/tr.po +++ b/src/bin/pg_ctl/po/tr.po @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: pg_ctl-tr\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2023-04-24 03:48+0000\n" -"PO-Revision-Date: 2023-04-24 09:47+0200\n" +"PO-Revision-Date: 2023-09-05 09:10+0200\n" "Last-Translator: Abdullah Gülner\n" "Language-Team: Turkish \n" "Language: tr\n" @@ -639,7 +639,7 @@ msgstr " -s, --silent sadece hataları yazar, hiç bir bilgi mesajı #: pg_ctl.c:1991 #, c-format msgid " -t, --timeout=SECS seconds to wait when using -w option\n" -msgstr " -t, --timeout=SANİYE -w seçeneğini kullanırken beklenecek saniye\n" +msgstr " -t, --timeout=SANİYE -w seçeneğini kullanırken beklenecek saniye\n" #: pg_ctl.c:1992 #, c-format @@ -688,7 +688,7 @@ msgstr " -c, --core-files bu platformda uygulanmaz\n" #: pg_ctl.c:2004 #, c-format msgid " -l, --log=FILENAME write (or append) server log to FILENAME\n" -msgstr " -l, --log=DOSYA_ADI sunucu loglarını DOSYA_ADI dosyasına yaz (ya da dosyanın sonuna ekle).\n" +msgstr " -l, --log=DOSYA_ADI sunucu loglarını DOSYA_ADI dosyasına yaz (ya da dosyanın sonuna ekle).\n" #: pg_ctl.c:2005 #, c-format @@ -702,7 +702,7 @@ msgstr "" #: pg_ctl.c:2007 #, c-format msgid " -p PATH-TO-POSTGRES normally not necessary\n" -msgstr " -p PATH-TO-POSTGRES normalde gerekli değildir\n" +msgstr " -p PATH-TO-POSTGRES normalde gerekli değildir\n" #: pg_ctl.c:2008 #, c-format diff --git a/src/bin/pg_dump/po/cs.po b/src/bin/pg_dump/po/cs.po index 3319e535c33..dd7535916ec 100644 --- a/src/bin/pg_dump/po/cs.po +++ b/src/bin/pg_dump/po/cs.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: pg_dump-cs (PostgreSQL 9.3)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2020-10-31 16:16+0000\n" -"PO-Revision-Date: 2021-09-16 09:14+0200\n" +"PO-Revision-Date: 2023-09-05 07:29+0200\n" "Last-Translator: Tomas Vondra \n" "Language-Team: Czech \n" "Language: cs\n" @@ -2323,7 +2323,7 @@ msgstr " -c, --clean odstranit (drop) databázi před jejím v #: pg_dumpall.c:630 #, c-format msgid " -g, --globals-only dump only global objects, no databases\n" -msgstr " -g, --globals-only dump pouze globálních objektů, ne databáze\n" +msgstr " -g, --globals-only dump pouze globálních objektů, ne databáze\n" #: pg_dumpall.c:631 pg_restore.c:485 #, c-format @@ -2333,7 +2333,7 @@ msgstr " -O, --no-owner nevypisuje příkazy k nastavení vlastn #: pg_dumpall.c:632 #, c-format msgid " -r, --roles-only dump only roles, no databases or tablespaces\n" -msgstr " -r, --roles-only dump pouze rolí, ne databází nebo tablespaců\n" +msgstr " -r, --roles-only dump pouze rolí, ne databází nebo tablespaců\n" #: pg_dumpall.c:634 #, c-format @@ -2343,7 +2343,7 @@ msgstr " -S, --superuser=JMÉNO uživatelské jméno superuživatele pou #: pg_dumpall.c:635 #, c-format msgid " -t, --tablespaces-only dump only tablespaces, no databases or roles\n" -msgstr " -t, --tablespaces-only dump pouze tablespaců, ne databází nebo rolí\n" +msgstr " -t, --tablespaces-only dump pouze tablespaců, ne databází nebo rolí\n" #: pg_dumpall.c:641 #, c-format diff --git a/src/bin/pg_dump/po/de.po b/src/bin/pg_dump/po/de.po index cedc211ee5a..7a8db49e335 100644 --- a/src/bin/pg_dump/po/de.po +++ b/src/bin/pg_dump/po/de.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-05-19 17:21+0000\n" -"PO-Revision-Date: 2023-05-19 20:57+0200\n" +"POT-Creation-Date: 2023-09-05 20:51+0000\n" +"PO-Revision-Date: 2023-09-06 08:25+0200\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -567,7 +567,7 @@ msgstr "pgpipe: konnte Socket nicht verbinden: Fehlercode %d" msgid "pgpipe: could not accept connection: error code %d" msgstr "pgpipe: konnte Verbindung nicht annehmen: Fehlercode %d" -#: pg_backup_archiver.c:276 pg_backup_archiver.c:1602 +#: pg_backup_archiver.c:276 pg_backup_archiver.c:1603 #, c-format msgid "could not close output file: %m" msgstr "konnte Ausgabedatei nicht schließen: %m" @@ -592,410 +592,410 @@ msgstr "parallele Wiederherstellung wird von diesem Archivdateiformat nicht unte msgid "parallel restore is not supported with archives made by pre-8.0 pg_dump" msgstr "parallele Wiederherstellung wird mit Archiven, die mit pg_dump vor 8.0 erstellt worden sind, nicht unterstützt" -#: pg_backup_archiver.c:391 +#: pg_backup_archiver.c:392 #, c-format msgid "cannot restore from compressed archive (%s)" msgstr "kann komprimiertes Archiv nicht wiederherstellen (%s)" -#: pg_backup_archiver.c:411 +#: pg_backup_archiver.c:412 #, c-format msgid "connecting to database for restore" msgstr "verbinde mit der Datenbank zur Wiederherstellung" -#: pg_backup_archiver.c:413 +#: pg_backup_archiver.c:414 #, c-format msgid "direct database connections are not supported in pre-1.3 archives" msgstr "direkte Datenbankverbindungen sind in Archiven vor Version 1.3 nicht unterstützt" -#: pg_backup_archiver.c:456 +#: pg_backup_archiver.c:457 #, c-format msgid "implied data-only restore" msgstr "implizit werden nur Daten wiederhergestellt" -#: pg_backup_archiver.c:522 +#: pg_backup_archiver.c:523 #, c-format msgid "dropping %s %s" msgstr "entferne %s %s" -#: pg_backup_archiver.c:622 +#: pg_backup_archiver.c:623 #, c-format msgid "could not find where to insert IF EXISTS in statement \"%s\"" msgstr "konnte nicht bestimmen, wo IF EXISTS in die Anweisung »%s« eingefügt werden soll" -#: pg_backup_archiver.c:777 pg_backup_archiver.c:779 +#: pg_backup_archiver.c:778 pg_backup_archiver.c:780 #, c-format msgid "warning from original dump file: %s" msgstr "Warnung aus der ursprünglichen Ausgabedatei: %s" -#: pg_backup_archiver.c:794 +#: pg_backup_archiver.c:795 #, c-format msgid "creating %s \"%s.%s\"" msgstr "erstelle %s »%s.%s«" -#: pg_backup_archiver.c:797 +#: pg_backup_archiver.c:798 #, c-format msgid "creating %s \"%s\"" msgstr "erstelle %s »%s«" -#: pg_backup_archiver.c:847 +#: pg_backup_archiver.c:848 #, c-format msgid "connecting to new database \"%s\"" msgstr "verbinde mit neuer Datenbank »%s«" -#: pg_backup_archiver.c:874 +#: pg_backup_archiver.c:875 #, c-format msgid "processing %s" msgstr "verarbeite %s" -#: pg_backup_archiver.c:896 +#: pg_backup_archiver.c:897 #, c-format msgid "processing data for table \"%s.%s\"" msgstr "verarbeite Daten für Tabelle »%s.%s«" -#: pg_backup_archiver.c:966 +#: pg_backup_archiver.c:967 #, c-format msgid "executing %s %s" msgstr "führe %s %s aus" -#: pg_backup_archiver.c:1007 +#: pg_backup_archiver.c:1008 #, c-format msgid "disabling triggers for %s" msgstr "schalte Trigger für %s aus" -#: pg_backup_archiver.c:1033 +#: pg_backup_archiver.c:1034 #, c-format msgid "enabling triggers for %s" msgstr "schalte Trigger für %s ein" -#: pg_backup_archiver.c:1098 +#: pg_backup_archiver.c:1099 #, c-format msgid "internal error -- WriteData cannot be called outside the context of a DataDumper routine" msgstr "interner Fehler -- WriteData kann nicht außerhalb des Kontexts einer DataDumper-Routine aufgerufen werden" -#: pg_backup_archiver.c:1286 +#: pg_backup_archiver.c:1287 #, c-format msgid "large-object output not supported in chosen format" msgstr "Large-Object-Ausgabe im gewählten Format nicht unterstützt" -#: pg_backup_archiver.c:1344 +#: pg_backup_archiver.c:1345 #, c-format msgid "restored %d large object" msgid_plural "restored %d large objects" msgstr[0] "%d Large Object wiederhergestellt" msgstr[1] "%d Large Objects wiederhergestellt" -#: pg_backup_archiver.c:1365 pg_backup_tar.c:668 +#: pg_backup_archiver.c:1366 pg_backup_tar.c:668 #, c-format msgid "restoring large object with OID %u" msgstr "Wiederherstellung von Large Object mit OID %u" -#: pg_backup_archiver.c:1377 +#: pg_backup_archiver.c:1378 #, c-format msgid "could not create large object %u: %s" msgstr "konnte Large Object %u nicht erstellen: %s" -#: pg_backup_archiver.c:1382 pg_dump.c:3718 +#: pg_backup_archiver.c:1383 pg_dump.c:3718 #, c-format msgid "could not open large object %u: %s" msgstr "konnte Large Object %u nicht öffnen: %s" -#: pg_backup_archiver.c:1438 +#: pg_backup_archiver.c:1439 #, c-format msgid "could not open TOC file \"%s\": %m" msgstr "konnte Inhaltsverzeichnisdatei »%s« nicht öffnen: %m" -#: pg_backup_archiver.c:1466 +#: pg_backup_archiver.c:1467 #, c-format msgid "line ignored: %s" msgstr "Zeile ignoriert: %s" -#: pg_backup_archiver.c:1473 +#: pg_backup_archiver.c:1474 #, c-format msgid "could not find entry for ID %d" msgstr "konnte Eintrag für ID %d nicht finden" -#: pg_backup_archiver.c:1496 pg_backup_directory.c:221 +#: pg_backup_archiver.c:1497 pg_backup_directory.c:221 #: pg_backup_directory.c:606 #, c-format msgid "could not close TOC file: %m" msgstr "konnte Inhaltsverzeichnisdatei nicht schließen: %m" -#: pg_backup_archiver.c:1583 pg_backup_custom.c:156 pg_backup_directory.c:332 +#: pg_backup_archiver.c:1584 pg_backup_custom.c:156 pg_backup_directory.c:332 #: pg_backup_directory.c:593 pg_backup_directory.c:658 #: pg_backup_directory.c:676 pg_dumpall.c:501 #, c-format msgid "could not open output file \"%s\": %m" msgstr "konnte Ausgabedatei »%s« nicht öffnen: %m" -#: pg_backup_archiver.c:1585 pg_backup_custom.c:162 +#: pg_backup_archiver.c:1586 pg_backup_custom.c:162 #, c-format msgid "could not open output file: %m" msgstr "konnte Ausgabedatei nicht öffnen: %m" -#: pg_backup_archiver.c:1668 +#: pg_backup_archiver.c:1669 #, 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] "%zu Byte Large-Object-Daten geschrieben (Ergebnis = %d)" msgstr[1] "%zu Bytes Large-Object-Daten geschrieben (Ergebnis = %d)" -#: pg_backup_archiver.c:1674 +#: pg_backup_archiver.c:1675 #, c-format msgid "could not write to large object: %s" msgstr "konnte Large Object nicht schreiben: %s" -#: pg_backup_archiver.c:1764 +#: pg_backup_archiver.c:1765 #, c-format msgid "while INITIALIZING:" msgstr "in Phase INITIALIZING:" -#: pg_backup_archiver.c:1769 +#: pg_backup_archiver.c:1770 #, c-format msgid "while PROCESSING TOC:" msgstr "in Phase PROCESSING TOC:" -#: pg_backup_archiver.c:1774 +#: pg_backup_archiver.c:1775 #, c-format msgid "while FINALIZING:" msgstr "in Phase FINALIZING:" -#: pg_backup_archiver.c:1779 +#: pg_backup_archiver.c:1780 #, c-format msgid "from TOC entry %d; %u %u %s %s %s" msgstr "in Inhaltsverzeichniseintrag %d; %u %u %s %s %s" -#: pg_backup_archiver.c:1855 +#: pg_backup_archiver.c:1856 #, c-format msgid "bad dumpId" msgstr "ungültige DumpId" -#: pg_backup_archiver.c:1876 +#: pg_backup_archiver.c:1877 #, c-format msgid "bad table dumpId for TABLE DATA item" msgstr "ungültige Tabellen-DumpId für »TABLE DATA«-Eintrag" -#: pg_backup_archiver.c:1968 +#: pg_backup_archiver.c:1969 #, c-format msgid "unexpected data offset flag %d" msgstr "unerwartete Datenoffsetmarkierung %d" -#: pg_backup_archiver.c:1981 +#: pg_backup_archiver.c:1982 #, c-format msgid "file offset in dump file is too large" msgstr "Dateioffset in Dumpdatei ist zu groß" -#: pg_backup_archiver.c:2092 +#: pg_backup_archiver.c:2093 #, c-format msgid "directory name too long: \"%s\"" msgstr "Verzeichnisname zu lang: »%s«" -#: pg_backup_archiver.c:2142 +#: pg_backup_archiver.c:2143 #, c-format msgid "directory \"%s\" does not appear to be a valid archive (\"toc.dat\" does not exist)" msgstr "Verzeichnis »%s« scheint kein gültiges Archiv zu sein (»toc.dat« existiert nicht)" -#: pg_backup_archiver.c:2150 pg_backup_custom.c:173 pg_backup_custom.c:816 +#: pg_backup_archiver.c:2151 pg_backup_custom.c:173 pg_backup_custom.c:816 #: pg_backup_directory.c:206 pg_backup_directory.c:395 #, c-format msgid "could not open input file \"%s\": %m" msgstr "konnte Eingabedatei »%s« nicht öffnen: %m" -#: pg_backup_archiver.c:2157 pg_backup_custom.c:179 +#: pg_backup_archiver.c:2158 pg_backup_custom.c:179 #, c-format msgid "could not open input file: %m" msgstr "konnte Eingabedatei nicht öffnen: %m" -#: pg_backup_archiver.c:2163 +#: pg_backup_archiver.c:2164 #, c-format msgid "could not read input file: %m" msgstr "konnte Eingabedatei nicht lesen: %m" -#: pg_backup_archiver.c:2165 +#: pg_backup_archiver.c:2166 #, c-format msgid "input file is too short (read %lu, expected 5)" msgstr "Eingabedatei ist zu kurz (gelesen: %lu, erwartet: 5)" -#: pg_backup_archiver.c:2197 +#: pg_backup_archiver.c:2198 #, c-format msgid "input file appears to be a text format dump. Please use psql." msgstr "Eingabedatei ist anscheinend ein Dump im Textformat. Bitte verwenden Sie psql." -#: pg_backup_archiver.c:2203 +#: pg_backup_archiver.c:2204 #, c-format msgid "input file does not appear to be a valid archive (too short?)" msgstr "Eingabedatei scheint kein gültiges Archiv zu sein (zu kurz?)" -#: pg_backup_archiver.c:2209 +#: pg_backup_archiver.c:2210 #, c-format msgid "input file does not appear to be a valid archive" msgstr "Eingabedatei scheint kein gültiges Archiv zu sein" -#: pg_backup_archiver.c:2218 +#: pg_backup_archiver.c:2219 #, c-format msgid "could not close input file: %m" msgstr "konnte Eingabedatei nicht schließen: %m" -#: pg_backup_archiver.c:2296 +#: pg_backup_archiver.c:2297 #, c-format msgid "could not open stdout for appending: %m" msgstr "konnte Standardausgabe nicht zum Anhängen öffnen: %m" -#: pg_backup_archiver.c:2341 +#: pg_backup_archiver.c:2342 #, c-format msgid "unrecognized file format \"%d\"" msgstr "nicht erkanntes Dateiformat »%d«" -#: pg_backup_archiver.c:2422 pg_backup_archiver.c:4445 +#: pg_backup_archiver.c:2423 pg_backup_archiver.c:4448 #, c-format msgid "finished item %d %s %s" msgstr "Element %d %s %s abgeschlossen" -#: pg_backup_archiver.c:2426 pg_backup_archiver.c:4458 +#: pg_backup_archiver.c:2427 pg_backup_archiver.c:4461 #, c-format msgid "worker process failed: exit code %d" msgstr "Arbeitsprozess fehlgeschlagen: Code %d" -#: pg_backup_archiver.c:2547 +#: pg_backup_archiver.c:2548 #, c-format msgid "entry ID %d out of range -- perhaps a corrupt TOC" msgstr "ID %d des Eintrags außerhalb des gültigen Bereichs -- vielleicht ein verfälschtes Inhaltsverzeichnis" -#: pg_backup_archiver.c:2627 +#: pg_backup_archiver.c:2628 #, c-format msgid "restoring tables WITH OIDS is not supported anymore" msgstr "Wiederherstellung von Tabellen mit WITH OIDS wird nicht mehr unterstützt" -#: pg_backup_archiver.c:2709 +#: pg_backup_archiver.c:2710 #, c-format msgid "unrecognized encoding \"%s\"" msgstr "nicht erkannte Kodierung »%s«" -#: pg_backup_archiver.c:2714 +#: pg_backup_archiver.c:2715 #, c-format msgid "invalid ENCODING item: %s" msgstr "ungültiger ENCODING-Eintrag: %s" -#: pg_backup_archiver.c:2732 +#: pg_backup_archiver.c:2733 #, c-format msgid "invalid STDSTRINGS item: %s" msgstr "ungültiger STDSTRINGS-Eintrag: %s" -#: pg_backup_archiver.c:2757 +#: pg_backup_archiver.c:2758 #, c-format msgid "schema \"%s\" not found" msgstr "Schema »%s« nicht gefunden" -#: pg_backup_archiver.c:2764 +#: pg_backup_archiver.c:2765 #, c-format msgid "table \"%s\" not found" msgstr "Tabelle »%s« nicht gefunden" -#: pg_backup_archiver.c:2771 +#: pg_backup_archiver.c:2772 #, c-format msgid "index \"%s\" not found" msgstr "Index »%s« nicht gefunden" -#: pg_backup_archiver.c:2778 +#: pg_backup_archiver.c:2779 #, c-format msgid "function \"%s\" not found" msgstr "Funktion »%s« nicht gefunden" -#: pg_backup_archiver.c:2785 +#: pg_backup_archiver.c:2786 #, c-format msgid "trigger \"%s\" not found" msgstr "Trigger »%s« nicht gefunden" -#: pg_backup_archiver.c:3182 +#: pg_backup_archiver.c:3183 #, c-format msgid "could not set session user to \"%s\": %s" msgstr "konnte Sitzungsbenutzer nicht auf »%s« setzen: %s" -#: pg_backup_archiver.c:3314 +#: pg_backup_archiver.c:3315 #, c-format msgid "could not set search_path to \"%s\": %s" msgstr "konnte search_path nicht auf »%s« setzen: %s" -#: pg_backup_archiver.c:3375 +#: pg_backup_archiver.c:3376 #, c-format msgid "could not set default_tablespace to %s: %s" msgstr "konnte default_tablespace nicht auf »%s« setzen: %s" -#: pg_backup_archiver.c:3424 +#: pg_backup_archiver.c:3425 #, c-format msgid "could not set default_table_access_method: %s" msgstr "konnte default_table_access_method nicht setzen: %s" -#: pg_backup_archiver.c:3528 +#: pg_backup_archiver.c:3530 #, c-format msgid "don't know how to set owner for object type \"%s\"" msgstr "kann Eigentümer für Objekttyp »%s« nicht setzen" -#: pg_backup_archiver.c:3749 +#: pg_backup_archiver.c:3752 #, c-format msgid "did not find magic string in file header" msgstr "magische Zeichenkette im Dateikopf nicht gefunden" -#: pg_backup_archiver.c:3763 +#: pg_backup_archiver.c:3766 #, c-format msgid "unsupported version (%d.%d) in file header" msgstr "nicht unterstützte Version (%d.%d) im Dateikopf" -#: pg_backup_archiver.c:3768 +#: pg_backup_archiver.c:3771 #, c-format msgid "sanity check on integer size (%lu) failed" msgstr "Prüfung der Integer-Größe (%lu) fehlgeschlagen" -#: pg_backup_archiver.c:3772 +#: pg_backup_archiver.c:3775 #, c-format msgid "archive was made on a machine with larger integers, some operations might fail" msgstr "Archiv wurde auf einer Maschine mit größeren Integers erstellt; einige Operationen könnten fehlschlagen" -#: pg_backup_archiver.c:3782 +#: pg_backup_archiver.c:3785 #, c-format msgid "expected format (%d) differs from format found in file (%d)" msgstr "erwartetes Format (%d) ist nicht das gleiche wie das in der Datei gefundene (%d)" -#: pg_backup_archiver.c:3804 +#: pg_backup_archiver.c:3807 #, c-format msgid "archive is compressed, but this installation does not support compression (%s) -- no data will be available" msgstr "Archiv ist komprimiert, aber diese Installation unterstützt keine Komprimierung (%s) -- keine Daten verfügbar" -#: pg_backup_archiver.c:3840 +#: pg_backup_archiver.c:3843 #, c-format msgid "invalid creation date in header" msgstr "ungültiges Erstellungsdatum im Kopf" -#: pg_backup_archiver.c:3974 +#: pg_backup_archiver.c:3977 #, c-format msgid "processing item %d %s %s" msgstr "verarbeite Element %d %s %s" -#: pg_backup_archiver.c:4049 +#: pg_backup_archiver.c:4052 #, c-format msgid "entering main parallel loop" msgstr "Eintritt in Hauptparallelschleife" -#: pg_backup_archiver.c:4060 +#: pg_backup_archiver.c:4063 #, c-format msgid "skipping item %d %s %s" msgstr "Element %d %s %s wird übersprungen" -#: pg_backup_archiver.c:4069 +#: pg_backup_archiver.c:4072 #, c-format msgid "launching item %d %s %s" msgstr "starte Element %d %s %s" -#: pg_backup_archiver.c:4123 +#: pg_backup_archiver.c:4126 #, c-format msgid "finished main parallel loop" msgstr "Hauptparallelschleife beendet" -#: pg_backup_archiver.c:4159 +#: pg_backup_archiver.c:4162 #, c-format msgid "processing missed item %d %s %s" msgstr "verarbeite verpasstes Element %d %s %s" -#: pg_backup_archiver.c:4764 +#: pg_backup_archiver.c:4767 #, c-format msgid "table \"%s\" could not be created, will not restore its data" msgstr "Tabelle »%s« konnte nicht erzeugt werden, ihre Daten werden nicht wiederhergestellt werden" @@ -1111,8 +1111,8 @@ msgstr "konnte nicht mit der Datenbank verbinden" msgid "reconnection failed: %s" msgstr "Wiederverbindung fehlgeschlagen: %s" -#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:756 pg_dumpall.c:1683 -#: pg_dumpall.c:1767 +#: 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 #, c-format msgid "%s" msgstr "%s" @@ -2010,8 +2010,8 @@ msgstr "lese Policys für Sicherheit auf Zeilenebene" msgid "unexpected policy command type: %c" msgstr "unerwarteter Policy-Befehlstyp: %c" -#: pg_dump.c:4425 pg_dump.c:4760 pg_dump.c:11982 pg_dump.c:17849 -#: pg_dump.c:17851 pg_dump.c:18472 +#: pg_dump.c:4425 pg_dump.c:4760 pg_dump.c:11984 pg_dump.c:17894 +#: pg_dump.c:17896 pg_dump.c:18517 #, c-format msgid "could not parse %s array" msgstr "konnte %s-Array nicht interpretieren" @@ -2031,277 +2031,282 @@ msgstr "konnte Erweiterung, zu der %s %s gehört, nicht finden" msgid "schema with OID %u does not exist" msgstr "Schema mit OID %u existiert nicht" -#: pg_dump.c:6774 pg_dump.c:17113 +#: pg_dump.c:6776 pg_dump.c:17158 #, c-format msgid "failed sanity check, parent table with OID %u of sequence with OID %u not found" msgstr "Sanity-Check fehlgeschlagen, Elterntabelle mit OID %u von Sequenz mit OID %u nicht gefunden" -#: pg_dump.c:6917 +#: pg_dump.c:6919 #, c-format msgid "failed sanity check, table OID %u appearing in pg_partitioned_table not found" msgstr "Sanity-Check fehlgeschlagen, Tabellen-OID %u, die in pg_partitioned_table erscheint, nicht gefunden" -#: pg_dump.c:7148 pg_dump.c:7415 pg_dump.c:7886 pg_dump.c:8550 pg_dump.c:8669 -#: pg_dump.c:8817 +#: pg_dump.c:7150 pg_dump.c:7417 pg_dump.c:7888 pg_dump.c:8552 pg_dump.c:8671 +#: pg_dump.c:8819 #, c-format msgid "unrecognized table OID %u" msgstr "unbekannte Tabellen-OID %u" -#: pg_dump.c:7152 +#: pg_dump.c:7154 #, c-format msgid "unexpected index data for table \"%s\"" msgstr "unerwartete Indexdaten für Tabelle »%s«" -#: pg_dump.c:7647 +#: pg_dump.c:7649 #, c-format msgid "failed sanity check, parent table with OID %u of pg_rewrite entry with OID %u not found" msgstr "Sanity-Check fehlgeschlagen, Elterntabelle mit OID %u von pg_rewrite-Eintrag mit OID %u nicht gefunden" -#: pg_dump.c:7938 +#: pg_dump.c:7940 #, c-format msgid "query produced null referenced table name for foreign key trigger \"%s\" on table \"%s\" (OID of table: %u)" msgstr "Anfrage ergab NULL als Name der Tabelle auf die sich Fremdschlüssel-Trigger »%s« von Tabelle »%s« bezieht (OID der Tabelle: %u)" -#: pg_dump.c:8554 +#: pg_dump.c:8556 #, c-format msgid "unexpected column data for table \"%s\"" msgstr "unerwartete Spaltendaten für Tabelle »%s«" -#: pg_dump.c:8583 +#: pg_dump.c:8585 #, c-format msgid "invalid column numbering in table \"%s\"" msgstr "ungültige Spaltennummerierung in Tabelle »%s«" -#: pg_dump.c:8631 +#: pg_dump.c:8633 #, c-format msgid "finding table default expressions" msgstr "finde Tabellenvorgabeausdrücke" -#: pg_dump.c:8673 +#: pg_dump.c:8675 #, c-format msgid "invalid adnum value %d for table \"%s\"" msgstr "ungültiger adnum-Wert %d für Tabelle »%s«" -#: pg_dump.c:8767 +#: pg_dump.c:8769 #, c-format msgid "finding table check constraints" msgstr "finde Tabellen-Check-Constraints" -#: pg_dump.c:8821 +#: pg_dump.c:8823 #, c-format msgid "expected %d check constraint on table \"%s\" but found %d" msgid_plural "expected %d check constraints on table \"%s\" but found %d" msgstr[0] "%d Check-Constraint für Tabelle %s erwartet, aber %d gefunden" msgstr[1] "%d Check-Constraints für Tabelle %s erwartet, aber %d gefunden" -#: pg_dump.c:8825 +#: pg_dump.c:8827 #, c-format msgid "The system catalogs might be corrupted." msgstr "Die Systemkataloge sind wahrscheinlich verfälscht." -#: pg_dump.c:9515 +#: pg_dump.c:9517 #, c-format msgid "role with OID %u does not exist" msgstr "Rolle mit OID %u existiert nicht" -#: pg_dump.c:9627 pg_dump.c:9656 +#: pg_dump.c:9629 pg_dump.c:9658 #, c-format msgid "unsupported pg_init_privs entry: %u %u %d" msgstr "nicht unterstützter pg_init_privs-Eintrag: %u %u %d" -#: pg_dump.c:10477 +#: pg_dump.c:10479 #, c-format msgid "typtype of data type \"%s\" appears to be invalid" msgstr "typtype des Datentypen »%s« scheint ungültig zu sein" -#: pg_dump.c:12051 +#: pg_dump.c:12053 #, c-format msgid "unrecognized provolatile value for function \"%s\"" msgstr "ungültiger provolatile-Wert für Funktion »%s«" -#: pg_dump.c:12101 pg_dump.c:13945 +#: pg_dump.c:12103 pg_dump.c:13985 #, c-format msgid "unrecognized proparallel value for function \"%s\"" msgstr "ungültiger proparallel-Wert für Funktion »%s«" -#: pg_dump.c:12230 pg_dump.c:12336 pg_dump.c:12343 +#: pg_dump.c:12233 pg_dump.c:12339 pg_dump.c:12346 #, c-format msgid "could not find function definition for function with OID %u" msgstr "konnte Funktionsdefinition für Funktion mit OID %u nicht finden" -#: pg_dump.c:12269 +#: pg_dump.c:12272 #, c-format msgid "bogus value in pg_cast.castfunc or pg_cast.castmethod field" msgstr "unsinniger Wert in Feld pg_cast.castfunc oder pg_cast.castmethod" -#: pg_dump.c:12272 +#: pg_dump.c:12275 #, c-format msgid "bogus value in pg_cast.castmethod field" msgstr "unsinniger Wert in Feld pg_cast.castmethod" -#: pg_dump.c:12362 +#: pg_dump.c:12365 #, c-format msgid "bogus transform definition, at least one of trffromsql and trftosql should be nonzero" msgstr "unsinnige Transformationsdefinition, mindestens eins von trffromsql und trftosql sollte nicht null sein" -#: pg_dump.c:12379 +#: pg_dump.c:12382 #, c-format msgid "bogus value in pg_transform.trffromsql field" msgstr "unsinniger Wert in Feld pg_transform.trffromsql" -#: pg_dump.c:12400 +#: pg_dump.c:12403 #, c-format msgid "bogus value in pg_transform.trftosql field" msgstr "unsinniger Wert in Feld pg_transform.trftosql" -#: pg_dump.c:12545 +#: pg_dump.c:12548 #, c-format msgid "postfix operators are not supported anymore (operator \"%s\")" msgstr "Postfix-Operatoren werden nicht mehr unterstützt (Operator »%s«)" -#: pg_dump.c:12715 +#: pg_dump.c:12718 #, c-format msgid "could not find operator with OID %s" msgstr "konnte Operator mit OID %s nicht finden" -#: pg_dump.c:12783 +#: pg_dump.c:12786 #, c-format msgid "invalid type \"%c\" of access method \"%s\"" msgstr "ungültiger Typ »%c« für Zugriffsmethode »%s«" -#: pg_dump.c:13440 +#: pg_dump.c:13455 pg_dump.c:13514 #, c-format msgid "unrecognized collation provider: %s" msgstr "unbekannter Sortierfolgen-Provider: %s" -#: pg_dump.c:13864 +#: pg_dump.c:13464 pg_dump.c:13473 pg_dump.c:13483 pg_dump.c:13498 +#, c-format +msgid "invalid collation \"%s\"" +msgstr "ungültige Sortierfolge »%s«" + +#: pg_dump.c:13904 #, c-format msgid "unrecognized aggfinalmodify value for aggregate \"%s\"" msgstr "unbekannter aggfinalmodify-Wert für Aggregat »%s«" -#: pg_dump.c:13920 +#: pg_dump.c:13960 #, c-format msgid "unrecognized aggmfinalmodify value for aggregate \"%s\"" msgstr "unbekannter aggmfinalmodify-Wert für Aggregat »%s«" -#: pg_dump.c:14637 +#: pg_dump.c:14677 #, c-format msgid "unrecognized object type in default privileges: %d" msgstr "unbekannter Objekttyp in den Vorgabeprivilegien: %d" -#: pg_dump.c:14653 +#: pg_dump.c:14693 #, c-format msgid "could not parse default ACL list (%s)" msgstr "konnte Vorgabe-ACL-Liste (%s) nicht interpretieren" -#: pg_dump.c:14735 +#: pg_dump.c:14775 #, c-format msgid "could not parse initial ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "konnte initiale ACL-Liste (%s) oder Default (%s) für Objekt »%s« (%s) nicht interpretieren" -#: pg_dump.c:14760 +#: pg_dump.c:14800 #, c-format msgid "could not parse ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "konnte ACL-Liste (%s) oder Default (%s) für Objekt »%s« (%s) nicht interpretieren" -#: pg_dump.c:15298 +#: pg_dump.c:15341 #, c-format msgid "query to obtain definition of view \"%s\" returned no data" msgstr "Anfrage um die Definition der Sicht »%s« zu ermitteln lieferte keine Daten" -#: pg_dump.c:15301 +#: pg_dump.c:15344 #, c-format msgid "query to obtain definition of view \"%s\" returned more than one definition" msgstr "Anfrage um die Definition der Sicht »%s« zu ermitteln lieferte mehr als eine Definition" -#: pg_dump.c:15308 +#: pg_dump.c:15351 #, c-format msgid "definition of view \"%s\" appears to be empty (length zero)" msgstr "Definition der Sicht »%s« scheint leer zu sein (Länge null)" -#: pg_dump.c:15392 +#: pg_dump.c:15435 #, c-format msgid "WITH OIDS is not supported anymore (table \"%s\")" msgstr "WITH OIDS wird nicht mehr unterstützt (Tabelle »%s«)" -#: pg_dump.c:16316 +#: pg_dump.c:16359 #, c-format msgid "invalid column number %d for table \"%s\"" msgstr "ungültige Spaltennummer %d in Tabelle »%s«" -#: pg_dump.c:16394 +#: pg_dump.c:16437 #, c-format msgid "could not parse index statistic columns" msgstr "konnte Indexstatistikspalten nicht interpretieren" -#: pg_dump.c:16396 +#: pg_dump.c:16439 #, c-format msgid "could not parse index statistic values" msgstr "konnte Indexstatistikwerte nicht interpretieren" -#: pg_dump.c:16398 +#: pg_dump.c:16441 #, c-format msgid "mismatched number of columns and values for index statistics" msgstr "Anzahl Spalten und Werte für Indexstatistiken stimmt nicht überein" -#: pg_dump.c:16614 +#: pg_dump.c:16657 #, c-format msgid "missing index for constraint \"%s\"" msgstr "fehlender Index für Constraint »%s«" -#: pg_dump.c:16847 +#: pg_dump.c:16892 #, c-format msgid "unrecognized constraint type: %c" msgstr "unbekannter Constraint-Typ: %c" -#: pg_dump.c:16948 pg_dump.c:17177 +#: pg_dump.c:16993 pg_dump.c:17222 #, c-format msgid "query to get data of sequence \"%s\" returned %d row (expected 1)" msgid_plural "query to get data of sequence \"%s\" returned %d rows (expected 1)" msgstr[0] "Anfrage nach Daten der Sequenz %s ergab %d Zeile (erwartete 1)" msgstr[1] "Anfrage nach Daten der Sequenz %s ergab %d Zeilen (erwartete 1)" -#: pg_dump.c:16980 +#: pg_dump.c:17025 #, c-format msgid "unrecognized sequence type: %s" msgstr "unbekannter Sequenztyp: %s" -#: pg_dump.c:17269 +#: pg_dump.c:17314 #, c-format msgid "unexpected tgtype value: %d" msgstr "unerwarteter tgtype-Wert: %d" -#: pg_dump.c:17341 +#: pg_dump.c:17386 #, c-format msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"" msgstr "fehlerhafte Argumentzeichenkette (%s) für Trigger »%s« von Tabelle »%s«" -#: pg_dump.c:17610 +#: pg_dump.c:17655 #, c-format msgid "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows returned" msgstr "Anfrage nach Regel »%s« der Tabelle »%s« fehlgeschlagen: falsche Anzahl Zeilen zurückgegeben" -#: pg_dump.c:17763 +#: pg_dump.c:17808 #, c-format msgid "could not find referenced extension %u" msgstr "konnte referenzierte Erweiterung %u nicht finden" -#: pg_dump.c:17853 +#: pg_dump.c:17898 #, c-format msgid "mismatched number of configurations and conditions for extension" msgstr "Anzahl Konfigurationen und Bedingungen für Erweiterung stimmt nicht überein" -#: pg_dump.c:17985 +#: pg_dump.c:18030 #, c-format msgid "reading dependency data" msgstr "lese Abhängigkeitsdaten" -#: pg_dump.c:18071 +#: pg_dump.c:18116 #, c-format msgid "no referencing object %u %u" msgstr "kein referenzierendes Objekt %u %u" -#: pg_dump.c:18082 +#: pg_dump.c:18127 #, c-format msgid "no referenced object %u %u" msgstr "kein referenziertes Objekt %u %u" @@ -2321,29 +2326,24 @@ msgstr "ungültige Abhängigkeit %d" msgid "could not identify dependency loop" msgstr "konnte Abhängigkeitsschleife nicht bestimmen" -#: pg_dump_sort.c:1232 +#: pg_dump_sort.c:1276 #, c-format msgid "there are circular foreign-key constraints on this table:" msgid_plural "there are circular foreign-key constraints among these tables:" msgstr[0] "Es gibt zirkuläre Fremdschlüssel-Constraints für diese Tabelle:" msgstr[1] "Es gibt zirkuläre Fremdschlüssel-Constraints zwischen diesen Tabellen:" -#: pg_dump_sort.c:1236 pg_dump_sort.c:1256 -#, c-format -msgid " %s" -msgstr " %s" - -#: pg_dump_sort.c:1237 +#: pg_dump_sort.c:1281 #, c-format msgid "You might not be able to restore the dump without using --disable-triggers or temporarily dropping the constraints." msgstr "Möglicherweise kann der Dump nur wiederhergestellt werden, wenn --disable-triggers verwendet wird oder die Constraints vorübergehend entfernt werden." -#: pg_dump_sort.c:1238 +#: pg_dump_sort.c:1282 #, c-format msgid "Consider using a full dump instead of a --data-only dump to avoid this problem." msgstr "Führen Sie einen vollen Dump statt eines Dumps mit --data-only durch, um dieses Problem zu vermeiden." -#: pg_dump_sort.c:1250 +#: pg_dump_sort.c:1294 #, c-format msgid "could not resolve dependency loop among these items:" msgstr "konnte Abhängigkeitsschleife zwischen diesen Elementen nicht auflösen:" diff --git a/src/bin/pg_dump/po/fr.po b/src/bin/pg_dump/po/fr.po index 264d5df170b..61b18676d07 100644 --- a/src/bin/pg_dump/po/fr.po +++ b/src/bin/pg_dump/po/fr.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-07-29 09:20+0000\n" -"PO-Revision-Date: 2023-07-30 08:11+0200\n" +"POT-Creation-Date: 2023-09-05 17:21+0000\n" +"PO-Revision-Date: 2023-09-05 22:02+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -1500,7 +1500,7 @@ msgid "" " compress as specified\n" msgstr "" " -Z, --compress=METHODE[:DETAIL]\n" -" compresse comme indiqué\n" +" compresse comme indiqué\n" #: pg_dump.c:1069 pg_dumpall.c:637 #, c-format @@ -1538,7 +1538,7 @@ msgstr " -a, --data-only sauvegarde uniquement les données, pas l #: pg_dump.c:1075 #, c-format msgid " -b, --large-objects include large objects in dump\n" -msgstr " -b, --large-objects inclut les « Large Objects » dans la sauvegarde\n" +msgstr " -b, --large-objects inclut les « Large Objects » dans la sauvegarde\n" #: pg_dump.c:1076 #, c-format @@ -1553,7 +1553,7 @@ msgstr " -B, --no-large-objects exclut les « Large Objects » de la sauv #: pg_dump.c:1078 #, c-format msgid " --no-blobs (same as --no-large-objects, deprecated)\n" -msgstr " --blobs (comme --no-large-objects, obsolète)\n" +msgstr " --no-blobs (comme --no-large-objects, obsolète)\n" #: pg_dump.c:1079 pg_restore.c:447 #, c-format @@ -2050,8 +2050,8 @@ msgstr "lecture des politiques de sécurité au niveau ligne" msgid "unexpected policy command type: %c" msgstr "type de commande inattendu pour la politique : %c" -#: pg_dump.c:4425 pg_dump.c:4760 pg_dump.c:11984 pg_dump.c:17857 -#: pg_dump.c:17859 pg_dump.c:18480 +#: pg_dump.c:4425 pg_dump.c:4760 pg_dump.c:11984 pg_dump.c:17894 +#: pg_dump.c:17896 pg_dump.c:18517 #, c-format msgid "could not parse %s array" msgstr "n'a pas pu analyser le tableau %s" @@ -2071,7 +2071,7 @@ msgstr "n'a pas pu trouver l'extension parent pour %s %s" msgid "schema with OID %u does not exist" msgstr "le schéma d'OID %u n'existe pas" -#: pg_dump.c:6776 pg_dump.c:17121 +#: pg_dump.c:6776 pg_dump.c:17158 #, c-format msgid "failed sanity check, parent table with OID %u of sequence with OID %u not found" msgstr "vérification échouée, OID %u de la table parent de l'OID %u de la séquence introuvable" @@ -2159,7 +2159,7 @@ msgstr "la colonne typtype du type de données « %s » semble être invalide" msgid "unrecognized provolatile value for function \"%s\"" msgstr "valeur provolatile non reconnue pour la fonction « %s »" -#: pg_dump.c:12103 pg_dump.c:13948 +#: pg_dump.c:12103 pg_dump.c:13985 #, c-format msgid "unrecognized proparallel value for function \"%s\"" msgstr "valeur proparallel non reconnue pour la fonction « %s »" @@ -2209,139 +2209,144 @@ msgstr "n'a pas pu trouver l'opérateur d'OID %s" msgid "invalid type \"%c\" of access method \"%s\"" msgstr "type « %c » invalide de la méthode d'accès « %s »" -#: pg_dump.c:13443 +#: pg_dump.c:13455 pg_dump.c:13514 #, c-format msgid "unrecognized collation provider: %s" msgstr "fournisseur de collationnement non reconnu : %s" -#: pg_dump.c:13867 +#: pg_dump.c:13464 pg_dump.c:13473 pg_dump.c:13483 pg_dump.c:13498 +#, c-format +msgid "invalid collation \"%s\"" +msgstr "collation « %s » invalide" + +#: pg_dump.c:13904 #, c-format msgid "unrecognized aggfinalmodify value for aggregate \"%s\"" msgstr "valeur non reconnue de aggfinalmodify pour l'agrégat « %s »" -#: pg_dump.c:13923 +#: pg_dump.c:13960 #, c-format msgid "unrecognized aggmfinalmodify value for aggregate \"%s\"" msgstr "valeur non reconnue de aggmfinalmodify pour l'agrégat « %s »" -#: pg_dump.c:14640 +#: pg_dump.c:14677 #, c-format msgid "unrecognized object type in default privileges: %d" msgstr "type d'objet inconnu dans les droits par défaut : %d" -#: pg_dump.c:14656 +#: pg_dump.c:14693 #, c-format msgid "could not parse default ACL list (%s)" msgstr "n'a pas pu analyser la liste ACL par défaut (%s)" -#: pg_dump.c:14738 +#: pg_dump.c:14775 #, c-format msgid "could not parse initial ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "n'a pas pu analyser la liste ACL initiale (%s) ou par défaut (%s) pour l'objet « %s » (%s)" -#: pg_dump.c:14763 +#: pg_dump.c:14800 #, c-format msgid "could not parse ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "n'a pas pu analyser la liste ACL (%s) ou par défaut (%s) pour l'objet « %s » (%s)" -#: pg_dump.c:15304 +#: pg_dump.c:15341 #, c-format msgid "query to obtain definition of view \"%s\" returned no data" msgstr "la requête permettant d'obtenir la définition de la vue « %s » n'a renvoyé aucune donnée" -#: pg_dump.c:15307 +#: pg_dump.c:15344 #, c-format msgid "query to obtain definition of view \"%s\" returned more than one definition" msgstr "la requête permettant d'obtenir la définition de la vue « %s » a renvoyé plusieurs définitions" -#: pg_dump.c:15314 +#: pg_dump.c:15351 #, c-format msgid "definition of view \"%s\" appears to be empty (length zero)" msgstr "la définition de la vue « %s » semble être vide (longueur nulle)" -#: pg_dump.c:15398 +#: pg_dump.c:15435 #, c-format msgid "WITH OIDS is not supported anymore (table \"%s\")" msgstr "WITH OIDS n'est plus supporté (table « %s »)" -#: pg_dump.c:16322 +#: pg_dump.c:16359 #, c-format msgid "invalid column number %d for table \"%s\"" msgstr "numéro de colonne %d invalide pour la table « %s »" -#: pg_dump.c:16400 +#: pg_dump.c:16437 #, c-format msgid "could not parse index statistic columns" msgstr "n'a pas pu analyser les colonnes statistiques de l'index" -#: pg_dump.c:16402 +#: pg_dump.c:16439 #, c-format msgid "could not parse index statistic values" msgstr "n'a pas pu analyser les valeurs statistiques de l'index" -#: pg_dump.c:16404 +#: pg_dump.c:16441 #, c-format msgid "mismatched number of columns and values for index statistics" msgstr "nombre de colonnes et de valeurs différentes pour les statistiques des index" -#: pg_dump.c:16620 +#: pg_dump.c:16657 #, c-format msgid "missing index for constraint \"%s\"" msgstr "index manquant pour la contrainte « %s »" -#: pg_dump.c:16855 +#: pg_dump.c:16892 #, c-format msgid "unrecognized constraint type: %c" msgstr "type de contrainte inconnu : %c" -#: pg_dump.c:16956 pg_dump.c:17185 +#: pg_dump.c:16993 pg_dump.c:17222 #, c-format msgid "query to get data of sequence \"%s\" returned %d row (expected 1)" msgid_plural "query to get data of sequence \"%s\" returned %d rows (expected 1)" msgstr[0] "la requête permettant d'obtenir les données de la séquence « %s » a renvoyé %d ligne (une seule attendue)" msgstr[1] "la requête permettant d'obtenir les données de la séquence « %s » a renvoyé %d ligne (une seule attendue)" -#: pg_dump.c:16988 +#: pg_dump.c:17025 #, c-format msgid "unrecognized sequence type: %s" msgstr "type de séquence non reconnu : « %s »" -#: pg_dump.c:17277 +#: pg_dump.c:17314 #, c-format msgid "unexpected tgtype value: %d" msgstr "valeur tgtype inattendue : %d" -#: pg_dump.c:17349 +#: pg_dump.c:17386 #, c-format msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"" msgstr "chaîne argument invalide (%s) pour le trigger « %s » sur la table « %s »" -#: pg_dump.c:17618 +#: pg_dump.c:17655 #, c-format msgid "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows returned" msgstr "la requête permettant d'obtenir la règle « %s » associée à la table « %s » a échoué : mauvais nombre de lignes renvoyées" -#: pg_dump.c:17771 +#: pg_dump.c:17808 #, c-format msgid "could not find referenced extension %u" msgstr "n'a pas pu trouver l'extension référencée %u" -#: pg_dump.c:17861 +#: pg_dump.c:17898 #, c-format msgid "mismatched number of configurations and conditions for extension" msgstr "nombre différent de configurations et de conditions pour l'extension" -#: pg_dump.c:17993 +#: pg_dump.c:18030 #, c-format msgid "reading dependency data" msgstr "lecture des données de dépendance" -#: pg_dump.c:18079 +#: pg_dump.c:18116 #, c-format msgid "no referencing object %u %u" msgstr "pas d'objet référant %u %u" -#: pg_dump.c:18090 +#: pg_dump.c:18127 #, c-format msgid "no referenced object %u %u" msgstr "pas d'objet référencé %u %u" diff --git a/src/bin/pg_dump/po/it.po b/src/bin/pg_dump/po/it.po index 0df365b25d3..dd30baab99b 100644 --- a/src/bin/pg_dump/po/it.po +++ b/src/bin/pg_dump/po/it.po @@ -20,7 +20,7 @@ msgstr "" "Project-Id-Version: pg_dump (Postgresql) 11\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-09-26 08:19+0000\n" -"PO-Revision-Date: 2022-10-06 08:57+0200\n" +"PO-Revision-Date: 2023-09-05 08:21+0200\n" "Last-Translator: Domenico Sgarbossa \n" "Language-Team: https://github.com/dvarrazzo/postgresql-it\n" "Language: it\n" @@ -1451,7 +1451,7 @@ msgstr "" #: pg_dump.c:1011 #, c-format msgid " -e, --extension=PATTERN dump the specified extension(s) only\n" -msgstr " -e, --extension=PATTERN esegue il dump solo delle estensioni specificate\n" +msgstr " -e, --extension=PATTERN esegue il dump solo delle estensioni specificate\n" #: pg_dump.c:1012 pg_dumpall.c:617 #, c-format @@ -1461,12 +1461,12 @@ msgstr " -E, --encoding=CODIFICA scarica i dati nella CODIFICA indicata\n" #: pg_dump.c:1013 #, c-format msgid " -n, --schema=PATTERN dump the specified schema(s) only\n" -msgstr " -n, --schema=PATTERN esegue il dump solo degli schemi specificati\n" +msgstr " -n, --schema=PATTERN esegue il dump solo degli schemi specificati\n" #: pg_dump.c:1014 #, c-format msgid " -N, --exclude-schema=PATTERN do NOT dump the specified schema(s)\n" -msgstr " -N, --exclude-schema=PATTERN non esegue il dump degli schemi specificati\n" +msgstr " -N, --exclude-schema=PATTERN non esegue il dump degli schemi specificati\n" #: pg_dump.c:1015 #, c-format @@ -1497,7 +1497,7 @@ msgstr "-t, --table=PATTERN esegue il dump solo delle tabelle spec #: pg_dump.c:1020 #, c-format msgid " -T, --exclude-table=PATTERN do NOT dump the specified table(s)\n" -msgstr " -T, --exclude-table=PATTERN non esegue il dump delle tabelle specificate\n" +msgstr " -T, --exclude-table=PATTERN non esegue il dump delle tabelle specificate\n" #: pg_dump.c:1021 pg_dumpall.c:624 #, c-format @@ -1542,7 +1542,7 @@ msgstr "" #: pg_dump.c:1028 #, c-format msgid " --exclude-table-data=PATTERN do NOT dump data for the specified table(s)\n" -msgstr " --exclude-table-data=PATTERN non esegue il dump dei dati per le tabelle specificate\n" +msgstr " --exclude-table-data=PATTERN non esegue il dump dei dati per le tabelle specificate\n" #: pg_dump.c:1029 pg_dumpall.c:630 #, c-format @@ -2447,7 +2447,7 @@ msgstr " -d, --dbname=NOME nome del database a cui connettersi\n" #: pg_restore.c:438 #, c-format msgid " -f, --file=FILENAME output file name (- for stdout)\n" -msgstr " -f, --file=FILENAME nome del file di output (- per stdout)\n" +msgstr " -f, --file=FILENAME nome del file di output (- per stdout)\n" #: pg_restore.c:439 #, c-format diff --git a/src/bin/pg_dump/po/ja.po b/src/bin/pg_dump/po/ja.po index 42eadefaaea..d5aa056325c 100644 --- a/src/bin/pg_dump/po/ja.po +++ b/src/bin/pg_dump/po/ja.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_dump (PostgreSQL 16)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-05-22 09:36+0900\n" -"PO-Revision-Date: 2023-05-22 10:25+0900\n" +"POT-Creation-Date: 2023-08-23 09:37+0900\n" +"PO-Revision-Date: 2023-08-23 10:26+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: Japan PostgreSQL Users Group \n" "Language: ja\n" @@ -1114,8 +1114,8 @@ msgstr "データベースへの接続ができませんでした" msgid "reconnection failed: %s" msgstr "再接続に失敗しました: %s" -#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:756 pg_dumpall.c:1683 -#: pg_dumpall.c:1767 +#: 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 #, c-format msgid "%s" msgstr "%s" @@ -2011,8 +2011,8 @@ msgstr "行レベルセキュリティポリシーを読み取ります" msgid "unexpected policy command type: %c" msgstr "想定外のポリシコマンドタイプ: \"%c\"" -#: pg_dump.c:4425 pg_dump.c:4760 pg_dump.c:11982 pg_dump.c:17854 -#: pg_dump.c:17856 pg_dump.c:18477 +#: pg_dump.c:4425 pg_dump.c:4760 pg_dump.c:11984 pg_dump.c:17894 +#: pg_dump.c:17896 pg_dump.c:18517 #, c-format msgid "could not parse %s array" msgstr "%s配列をパースできませんでした" @@ -2032,275 +2032,285 @@ msgstr "%s %sの親となる機能拡張がありませんでした" msgid "schema with OID %u does not exist" msgstr "OID %uのスキーマは存在しません" -#: pg_dump.c:6774 pg_dump.c:17118 +#: pg_dump.c:6776 pg_dump.c:17158 #, c-format msgid "failed sanity check, parent table with OID %u of sequence with OID %u not found" msgstr "健全性検査に失敗しました、OID %2$u であるシーケンスの OID %1$u である親テーブルがありません" -#: pg_dump.c:6917 +#: pg_dump.c:6919 #, c-format msgid "failed sanity check, table OID %u appearing in pg_partitioned_table not found" msgstr "健全性検査に失敗しました、pg_partitioned_tableにあるテーブルOID %u が見つかりません" -#: pg_dump.c:7148 pg_dump.c:7415 pg_dump.c:7886 pg_dump.c:8550 pg_dump.c:8669 -#: pg_dump.c:8817 +#: pg_dump.c:7150 pg_dump.c:7417 pg_dump.c:7888 pg_dump.c:8552 pg_dump.c:8671 +#: pg_dump.c:8819 #, c-format msgid "unrecognized table OID %u" msgstr "認識できないテーブルOID %u" -#: pg_dump.c:7152 +#: pg_dump.c:7154 #, c-format msgid "unexpected index data for table \"%s\"" msgstr "テーブル\"%s\"に対する想定外のインデックスデータ" -#: pg_dump.c:7647 +#: pg_dump.c:7649 #, c-format msgid "failed sanity check, parent table with OID %u of pg_rewrite entry with OID %u not found" msgstr "健全性検査に失敗しました、OID %2$u であるpg_rewriteエントリのOID %1$u である親テーブルが見つかりません" -#: pg_dump.c:7938 +#: pg_dump.c:7940 #, c-format msgid "query produced null referenced table name for foreign key trigger \"%s\" on table \"%s\" (OID of table: %u)" msgstr "問い合わせがテーブル\"%2$s\"上の外部キートリガ\"%1$s\"の参照テーブル名としてNULLを返しました(テーブルのOID: %3$u)" -#: pg_dump.c:8554 +#: pg_dump.c:8556 #, c-format msgid "unexpected column data for table \"%s\"" msgstr "テーブル\"%s\"に対する想定外の列データ" -#: pg_dump.c:8583 +#: pg_dump.c:8585 #, c-format msgid "invalid column numbering in table \"%s\"" msgstr "テーブル\"%s\"の列番号が不正です" -#: pg_dump.c:8631 +#: pg_dump.c:8633 #, c-format msgid "finding table default expressions" msgstr "テーブルのデフォルト式を探しています" -#: pg_dump.c:8673 +#: pg_dump.c:8675 #, c-format msgid "invalid adnum value %d for table \"%s\"" msgstr "テーブル\"%2$s\"用のadnumの値%1$dが不正です" -#: pg_dump.c:8767 +#: pg_dump.c:8769 #, c-format msgid "finding table check constraints" msgstr "テーブルのチェック制約を探しています" -#: pg_dump.c:8821 +#: pg_dump.c:8823 #, c-format msgid "expected %d check constraint on table \"%s\" but found %d" msgid_plural "expected %d check constraints on table \"%s\" but found %d" msgstr[0] "テーブル\"%2$s\"で想定する検査制約は%1$d個でしたが、%3$dありました" -#: pg_dump.c:8825 +#: pg_dump.c:8827 #, c-format msgid "The system catalogs might be corrupted." msgstr "システムカタログが破損している可能性があります。" -#: pg_dump.c:9515 +#: pg_dump.c:9517 #, c-format msgid "role with OID %u does not exist" msgstr "OID が %u であるロールは存在しません" -#: pg_dump.c:9627 pg_dump.c:9656 +#: pg_dump.c:9629 pg_dump.c:9658 #, c-format msgid "unsupported pg_init_privs entry: %u %u %d" msgstr "非サポートのpg_init_privsエントリ: %u %u %d" -#: pg_dump.c:10477 +#: pg_dump.c:10479 #, c-format msgid "typtype of data type \"%s\" appears to be invalid" msgstr "データ型\"%s\"のtyptypeが不正なようです" -#: pg_dump.c:12051 +#: pg_dump.c:12053 #, c-format msgid "unrecognized provolatile value for function \"%s\"" msgstr "関数\"%s\"のprovolatileの値が認識できません" -#: pg_dump.c:12101 pg_dump.c:13945 +#: pg_dump.c:12103 pg_dump.c:13985 #, c-format msgid "unrecognized proparallel value for function \"%s\"" msgstr "関数\"%s\"のproparallel値が認識できません" -#: pg_dump.c:12230 pg_dump.c:12336 pg_dump.c:12343 +#: pg_dump.c:12233 pg_dump.c:12339 pg_dump.c:12346 #, c-format msgid "could not find function definition for function with OID %u" msgstr "OID %uの関数の関数定義が見つかりませんでした" -#: pg_dump.c:12269 +#: pg_dump.c:12272 #, c-format msgid "bogus value in pg_cast.castfunc or pg_cast.castmethod field" msgstr "pg_cast.castfuncまたはpg_cast.castmethodフィールドの値がおかしいです" -#: pg_dump.c:12272 +#: pg_dump.c:12275 #, c-format msgid "bogus value in pg_cast.castmethod field" msgstr "pg_cast.castmethod フィールドの値がおかしいです" -#: pg_dump.c:12362 +#: pg_dump.c:12365 #, c-format msgid "bogus transform definition, at least one of trffromsql and trftosql should be nonzero" msgstr "おかしな変換定義、trffromsql か trftosql の少なくとも一方は非ゼロであるはずです" -#: pg_dump.c:12379 +#: pg_dump.c:12382 #, c-format msgid "bogus value in pg_transform.trffromsql field" msgstr "pg_cast.castmethod フィールドの値がおかしいです" -#: pg_dump.c:12400 +#: pg_dump.c:12403 #, c-format msgid "bogus value in pg_transform.trftosql field" msgstr "pg_cast.castmethod フィールドの値がおかしいです" -#: pg_dump.c:12545 +#: pg_dump.c:12548 #, c-format msgid "postfix operators are not supported anymore (operator \"%s\")" msgstr "後置演算子は今後サポートされません(演算子\"%s\")" -#: pg_dump.c:12715 +#: pg_dump.c:12718 #, c-format msgid "could not find operator with OID %s" msgstr "OID %sの演算子がありませんでした" -#: pg_dump.c:12783 +#: pg_dump.c:12786 #, c-format msgid "invalid type \"%c\" of access method \"%s\"" msgstr "アクセスメソッド\"%2$s\"の不正なタイプ\"%1$c\"" -#: pg_dump.c:13440 +#: pg_dump.c:13455 #, c-format msgid "unrecognized collation provider: %s" msgstr "認識できないの照合順序プロバイダ: %s" -#: pg_dump.c:13864 +#: pg_dump.c:13464 pg_dump.c:13473 pg_dump.c:13483 pg_dump.c:13498 +#, c-format +msgid "invalid collation \"%s\"" +msgstr "不正な照合順序\"%s\"" + +#: pg_dump.c:13514 +#, c-format +msgid "unrecognized collation provider '%c'" +msgstr "認識できないの照合順序プロバイダ '%c'" + +#: pg_dump.c:13904 #, c-format msgid "unrecognized aggfinalmodify value for aggregate \"%s\"" msgstr "集約\"%s\"のaggfinalmodifyの値が識別できません" -#: pg_dump.c:13920 +#: pg_dump.c:13960 #, c-format msgid "unrecognized aggmfinalmodify value for aggregate \"%s\"" msgstr "集約\"%s\"のaggmfinalmodifyの値が識別できません" -#: pg_dump.c:14637 +#: pg_dump.c:14677 #, c-format msgid "unrecognized object type in default privileges: %d" msgstr "デフォルト権限設定中の認識できないオブジェクト型: %d" -#: pg_dump.c:14653 +#: pg_dump.c:14693 #, c-format msgid "could not parse default ACL list (%s)" msgstr "デフォルトの ACL リスト(%s)をパースできませんでした" -#: pg_dump.c:14735 +#: pg_dump.c:14775 #, c-format msgid "could not parse initial ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "オブジェクト\"%3$s\"(%4$s)の初期ACLリスト(%1$s)またはデフォルト値(%2$s)をパースできませんでした" -#: pg_dump.c:14760 +#: pg_dump.c:14800 #, c-format msgid "could not parse ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "オブジェクト\"%3$s\"(%4$s)のACLリスト(%1$s)またはデフォルト値(%2$s)をパースできませんでした" -#: pg_dump.c:15301 +#: pg_dump.c:15341 #, c-format msgid "query to obtain definition of view \"%s\" returned no data" msgstr "ビュー\"%s\"の定義を取り出すための問い合わせがデータを返却しませんでした" -#: pg_dump.c:15304 +#: pg_dump.c:15344 #, c-format msgid "query to obtain definition of view \"%s\" returned more than one definition" msgstr "ビュー\"%s\"の定義を取り出すための問い合わせが2つ以上の定義を返却しました" -#: pg_dump.c:15311 +#: pg_dump.c:15351 #, c-format msgid "definition of view \"%s\" appears to be empty (length zero)" msgstr "ビュー\"%s\"の定義が空のようです(長さが0)" -#: pg_dump.c:15395 +#: pg_dump.c:15435 #, c-format msgid "WITH OIDS is not supported anymore (table \"%s\")" msgstr "WITH OIDSは今後サポートされません(テーブル\"%s\")" -#: pg_dump.c:16319 +#: pg_dump.c:16359 #, c-format msgid "invalid column number %d for table \"%s\"" msgstr "テーブル\"%2$s\"の列番号%1$dは不正です" -#: pg_dump.c:16397 +#: pg_dump.c:16437 #, c-format msgid "could not parse index statistic columns" msgstr "インデックス統計列をパースできませんでした" -#: pg_dump.c:16399 +#: pg_dump.c:16439 #, c-format msgid "could not parse index statistic values" msgstr "インデックス統計値をパースできませんでした" -#: pg_dump.c:16401 +#: pg_dump.c:16441 #, c-format msgid "mismatched number of columns and values for index statistics" msgstr "インデックス統計に対して列と値の数が合致しません" -#: pg_dump.c:16617 +#: pg_dump.c:16657 #, c-format msgid "missing index for constraint \"%s\"" msgstr "制約\"%s\"のインデックスが見つかりません" -#: pg_dump.c:16852 +#: pg_dump.c:16892 #, c-format msgid "unrecognized constraint type: %c" msgstr "制約のタイプが識別できません: %c" -#: pg_dump.c:16953 pg_dump.c:17182 +#: pg_dump.c:16993 pg_dump.c:17222 #, c-format msgid "query to get data of sequence \"%s\" returned %d row (expected 1)" msgid_plural "query to get data of sequence \"%s\" returned %d rows (expected 1)" msgstr[0] "シーケンス\"%s\"のデータを得るための問い合わせが%d行返却しました(想定は1)" -#: pg_dump.c:16985 +#: pg_dump.c:17025 #, c-format msgid "unrecognized sequence type: %s" msgstr "認識されないシーケンスの型\"%s\"" -#: pg_dump.c:17274 +#: pg_dump.c:17314 #, c-format msgid "unexpected tgtype value: %d" msgstr "想定外のtgtype値: %d" -#: pg_dump.c:17346 +#: pg_dump.c:17386 #, c-format msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"" msgstr "テーブル\"%3$s\"上のトリガ\"%2$s\"の引数文字列(%1$s)が不正です" -#: pg_dump.c:17615 +#: pg_dump.c:17655 #, c-format msgid "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows returned" msgstr "テーブル\"%2$s\"のルール\"%1$s\"を得るための問い合わせが失敗しました: 間違った行数が返却されました" -#: pg_dump.c:17768 +#: pg_dump.c:17808 #, c-format msgid "could not find referenced extension %u" msgstr "親の機能拡張%uが見つかりません" -#: pg_dump.c:17858 +#: pg_dump.c:17898 #, c-format msgid "mismatched number of configurations and conditions for extension" msgstr "機能拡張に対して設定と条件の数が一致しません" -#: pg_dump.c:17990 +#: pg_dump.c:18030 #, c-format msgid "reading dependency data" msgstr "データの依存データを読み込んでいます" -#: pg_dump.c:18076 +#: pg_dump.c:18116 #, c-format msgid "no referencing object %u %u" msgstr "参照元オブジェクト%u %uがありません" -#: pg_dump.c:18087 +#: pg_dump.c:18127 #, c-format msgid "no referenced object %u %u" msgstr "参照先オブジェクト%u %uがありません" @@ -2320,28 +2330,23 @@ msgstr "不正な依存関係 %d" msgid "could not identify dependency loop" msgstr "依存関係のループが見つかりませんでした" -#: pg_dump_sort.c:1232 +#: pg_dump_sort.c:1276 #, c-format msgid "there are circular foreign-key constraints on this table:" msgid_plural "there are circular foreign-key constraints among these tables:" msgstr[0] "次のテーブルの中で外部キー制約の循環があります: " -#: pg_dump_sort.c:1236 pg_dump_sort.c:1256 -#, c-format -msgid " %s" -msgstr " %s" - -#: pg_dump_sort.c:1237 +#: pg_dump_sort.c:1281 #, c-format msgid "You might not be able to restore the dump without using --disable-triggers or temporarily dropping the constraints." msgstr "--disable-triggersの使用または一時的な制約の削除を行わずにこのダンプをリストアすることはできないかもしれません。" -#: pg_dump_sort.c:1238 +#: pg_dump_sort.c:1282 #, c-format msgid "Consider using a full dump instead of a --data-only dump to avoid this problem." msgstr "この問題を回避するために--data-onlyダンプの代わりに完全なダンプを使用することを検討してください。" -#: pg_dump_sort.c:1250 +#: pg_dump_sort.c:1294 #, c-format msgid "could not resolve dependency loop among these items:" msgstr "以下の項目の間の依存関係のループを解決できませんでした:" diff --git a/src/bin/pg_dump/po/ru.po b/src/bin/pg_dump/po/ru.po index ab9cbc6d304..8a01c37b5ef 100644 --- a/src/bin/pg_dump/po/ru.po +++ b/src/bin/pg_dump/po/ru.po @@ -5,13 +5,13 @@ # Oleg Bartunov , 2004. # Sergey Burladyan , 2012. # Dmitriy Olshevskiy , 2014. -# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022. +# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023. msgid "" msgstr "" "Project-Id-Version: pg_dump (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-02-02 08:42+0300\n" -"PO-Revision-Date: 2022-09-05 13:35+0300\n" +"POT-Creation-Date: 2023-08-28 07:59+0300\n" +"PO-Revision-Date: 2023-08-30 14:18+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -41,82 +41,128 @@ msgstr "подробности: " msgid "hint: " msgstr "подсказка: " -#: ../../common/exec.c:149 ../../common/exec.c:266 ../../common/exec.c:312 +#: ../../common/compression.c:132 ../../common/compression.c:141 +#: ../../common/compression.c:150 compress_gzip.c:413 compress_gzip.c:420 +#: compress_io.c:109 compress_lz4.c:780 compress_lz4.c:787 compress_zstd.c:25 +#: compress_zstd.c:31 #, c-format -msgid "could not identify current directory: %m" -msgstr "не удалось определить текущий каталог: %m" +msgid "this build does not support compression with %s" +msgstr "эта сборка программы не поддерживает сжатие %s" -#: ../../common/exec.c:168 +#: ../../common/compression.c:205 +msgid "found empty string where a compression option was expected" +msgstr "вместо указания параметра сжатия получена пустая строка" + +#: ../../common/compression.c:244 #, c-format -msgid "invalid binary \"%s\"" -msgstr "неверный исполняемый файл \"%s\"" +msgid "unrecognized compression option: \"%s\"" +msgstr "нераспознанный параметр сжатия: \"%s\"" -#: ../../common/exec.c:218 +#: ../../common/compression.c:283 #, c-format -msgid "could not read binary \"%s\"" -msgstr "не удалось прочитать исполняемый файл \"%s\"" +msgid "compression option \"%s\" requires a value" +msgstr "для параметра сжатия \"%s\" требуется значение" -#: ../../common/exec.c:226 +#: ../../common/compression.c:292 #, c-format -msgid "could not find a \"%s\" to execute" -msgstr "не удалось найти запускаемый файл \"%s\"" +msgid "value for compression option \"%s\" must be an integer" +msgstr "значение параметра сжатия \"%s\" должно быть целочисленным" + +#: ../../common/compression.c:331 +#, c-format +msgid "value for compression option \"%s\" must be a Boolean value" +msgstr "значение параметра сжатия \"%s\" должно быть булевским" + +#: ../../common/compression.c:379 +#, c-format +msgid "compression algorithm \"%s\" does not accept a compression level" +msgstr "для алгоритма сжатия \"%s\" нельзя задать уровень сжатия" + +#: ../../common/compression.c:386 +#, c-format +msgid "" +"compression algorithm \"%s\" expects a compression level between %d and %d " +"(default at %d)" +msgstr "" +"для алгоритма сжатия \"%s\" ожидается уровень сжатия от %d до %d (по " +"умолчанию %d)" + +#: ../../common/compression.c:397 +#, c-format +msgid "compression algorithm \"%s\" does not accept a worker count" +msgstr "для алгоритма сжатия \"%s\" нельзя задать число потоков" + +#: ../../common/compression.c:408 +#, c-format +msgid "compression algorithm \"%s\" does not support long-distance mode" +msgstr "алгоритм сжатия \"%s\" не поддерживает режим большой дистанции" + +#: ../../common/exec.c:172 +#, c-format +msgid "invalid binary \"%s\": %m" +msgstr "неверный исполняемый файл \"%s\": %m" + +#: ../../common/exec.c:215 +#, c-format +msgid "could not read binary \"%s\": %m" +msgstr "не удалось прочитать исполняемый файл \"%s\": %m" -#: ../../common/exec.c:282 ../../common/exec.c:321 +#: ../../common/exec.c:223 #, c-format -msgid "could not change directory to \"%s\": %m" -msgstr "не удалось перейти в каталог \"%s\": %m" +msgid "could not find a \"%s\" to execute" +msgstr "не удалось найти запускаемый файл \"%s\"" -#: ../../common/exec.c:299 +#: ../../common/exec.c:250 #, c-format -msgid "could not read symbolic link \"%s\": %m" -msgstr "не удалось прочитать символическую ссылку \"%s\": %m" +msgid "could not resolve path \"%s\" to absolute form: %m" +msgstr "не удалось преобразовать относительный путь \"%s\" в абсолютный: %m" -#: ../../common/exec.c:422 parallel.c:1611 +#: ../../common/exec.c:412 parallel.c:1609 #, c-format msgid "%s() failed: %m" msgstr "ошибка в %s(): %m" -#: ../../common/exec.c:560 ../../common/exec.c:605 ../../common/exec.c:697 +#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 msgid "out of memory" msgstr "нехватка памяти" #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 -#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format msgid "out of memory\n" msgstr "нехватка памяти\n" -#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 #, c-format msgid "cannot duplicate null pointer (internal error)\n" msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n" -#: ../../common/wait_error.c:45 +#: ../../common/wait_error.c:55 #, c-format msgid "command not executable" msgstr "неисполняемая команда" -#: ../../common/wait_error.c:49 +#: ../../common/wait_error.c:59 #, c-format msgid "command not found" msgstr "команда не найдена" -#: ../../common/wait_error.c:54 +#: ../../common/wait_error.c:64 #, c-format msgid "child process exited with exit code %d" msgstr "дочерний процесс завершился с кодом возврата %d" -#: ../../common/wait_error.c:62 +#: ../../common/wait_error.c:72 #, c-format msgid "child process was terminated by exception 0x%X" msgstr "дочерний процесс прерван исключением 0x%X" -#: ../../common/wait_error.c:66 +#: ../../common/wait_error.c:76 #, c-format msgid "child process was terminated by signal %d: %s" msgstr "дочерний процесс завершён по сигналу %d: %s" -#: ../../common/wait_error.c:72 +#: ../../common/wait_error.c:82 #, c-format msgid "child process exited with unrecognized status %d" msgstr "дочерний процесс завершился с нераспознанным состоянием %d" @@ -131,301 +177,353 @@ msgstr "неверное значение \"%s\" для параметра %s" msgid "%s must be in range %d..%d" msgstr "значение %s должно быть в диапазоне %d..%d" -#: common.c:134 +#: common.c:132 #, c-format msgid "reading extensions" msgstr "чтение расширений" -#: common.c:137 +#: common.c:135 #, c-format msgid "identifying extension members" msgstr "выявление членов расширений" -#: common.c:140 +#: common.c:138 #, c-format msgid "reading schemas" msgstr "чтение схем" -#: common.c:149 +#: common.c:147 #, c-format msgid "reading user-defined tables" msgstr "чтение пользовательских таблиц" -#: common.c:154 +#: common.c:152 #, c-format msgid "reading user-defined functions" msgstr "чтение пользовательских функций" -#: common.c:158 +#: common.c:156 #, c-format msgid "reading user-defined types" msgstr "чтение пользовательских типов" -#: common.c:162 +#: common.c:160 #, c-format msgid "reading procedural languages" msgstr "чтение процедурных языков" -#: common.c:165 +#: common.c:163 #, c-format msgid "reading user-defined aggregate functions" msgstr "чтение пользовательских агрегатных функций" -#: common.c:168 +#: common.c:166 #, c-format msgid "reading user-defined operators" msgstr "чтение пользовательских операторов" -#: common.c:171 +#: common.c:169 #, c-format msgid "reading user-defined access methods" msgstr "чтение пользовательских методов доступа" -#: common.c:174 +#: common.c:172 #, c-format msgid "reading user-defined operator classes" msgstr "чтение пользовательских классов операторов" -#: common.c:177 +#: common.c:175 #, c-format msgid "reading user-defined operator families" msgstr "чтение пользовательских семейств операторов" -#: common.c:180 +#: common.c:178 #, c-format msgid "reading user-defined text search parsers" msgstr "чтение пользовательских анализаторов текстового поиска" -#: common.c:183 +#: common.c:181 #, c-format msgid "reading user-defined text search templates" msgstr "чтение пользовательских шаблонов текстового поиска" -#: common.c:186 +#: common.c:184 #, c-format msgid "reading user-defined text search dictionaries" msgstr "чтение пользовательских словарей текстового поиска" -#: common.c:189 +#: common.c:187 #, c-format msgid "reading user-defined text search configurations" msgstr "чтение пользовательских конфигураций текстового поиска" -#: common.c:192 +#: common.c:190 #, c-format msgid "reading user-defined foreign-data wrappers" msgstr "чтение пользовательских оболочек сторонних данных" -#: common.c:195 +#: common.c:193 #, c-format msgid "reading user-defined foreign servers" msgstr "чтение пользовательских сторонних серверов" -#: common.c:198 +#: common.c:196 #, c-format msgid "reading default privileges" msgstr "чтение прав по умолчанию" -#: common.c:201 +#: common.c:199 #, c-format msgid "reading user-defined collations" msgstr "чтение пользовательских правил сортировки" -#: common.c:204 +#: common.c:202 #, c-format msgid "reading user-defined conversions" msgstr "чтение пользовательских преобразований" -#: common.c:207 +#: common.c:205 #, c-format msgid "reading type casts" msgstr "чтение приведений типов" -#: common.c:210 +#: common.c:208 #, c-format msgid "reading transforms" msgstr "чтение преобразований" -#: common.c:213 +#: common.c:211 #, c-format msgid "reading table inheritance information" msgstr "чтение информации о наследовании таблиц" -#: common.c:216 +#: common.c:214 #, c-format msgid "reading event triggers" msgstr "чтение событийных триггеров" -#: common.c:220 +#: common.c:218 #, c-format msgid "finding extension tables" msgstr "поиск таблиц расширений" -#: common.c:224 +#: common.c:222 #, c-format msgid "finding inheritance relationships" msgstr "поиск связей наследования" -#: common.c:227 +#: common.c:225 #, c-format msgid "reading column info for interesting tables" msgstr "чтение информации о столбцах интересующих таблиц" -#: common.c:230 +#: common.c:228 #, c-format msgid "flagging inherited columns in subtables" msgstr "пометка наследованных столбцов в подтаблицах" -#: common.c:233 +#: common.c:231 +#, c-format +msgid "reading partitioning data" +msgstr "чтение информации о секционировании" + +#: common.c:234 #, c-format msgid "reading indexes" msgstr "чтение индексов" -#: common.c:236 +#: common.c:237 #, c-format msgid "flagging indexes in partitioned tables" msgstr "пометка индексов в секционированных таблицах" -#: common.c:239 +#: common.c:240 #, c-format msgid "reading extended statistics" msgstr "чтение расширенной статистики" -#: common.c:242 +#: common.c:243 #, c-format msgid "reading constraints" msgstr "чтение ограничений" -#: common.c:245 +#: common.c:246 #, c-format msgid "reading triggers" msgstr "чтение триггеров" -#: common.c:248 +#: common.c:249 #, c-format msgid "reading rewrite rules" msgstr "чтение правил перезаписи" -#: common.c:251 +#: common.c:252 #, c-format msgid "reading policies" msgstr "чтение политик" -#: common.c:254 +#: common.c:255 #, c-format msgid "reading publications" msgstr "чтение публикаций" -#: common.c:257 +#: common.c:258 #, c-format msgid "reading publication membership of tables" msgstr "чтение информации о таблицах, включённых в публикации" -#: common.c:260 +#: common.c:261 #, c-format msgid "reading publication membership of schemas" msgstr "чтение информации о схемах, включённых в публикации" -#: common.c:263 +#: common.c:264 #, c-format msgid "reading subscriptions" msgstr "чтение подписок" -#: common.c:343 -#, c-format -msgid "invalid number of parents %d for table \"%s\"" -msgstr "неверное число родителей (%d) для таблицы \"%s\"" - -#: common.c:1004 +#: common.c:327 #, c-format msgid "failed sanity check, parent OID %u of table \"%s\" (OID %u) not found" msgstr "" "нарушение целостности: родительская таблица с OID %u для таблицы \"%s\" (OID " "%u) не найдена" -#: common.c:1043 +#: common.c:369 +#, c-format +msgid "invalid number of parents %d for table \"%s\"" +msgstr "неверное число родителей (%d) для таблицы \"%s\"" + +#: common.c:1049 #, c-format msgid "could not parse numeric array \"%s\": too many numbers" msgstr "не удалось разобрать числовой массив \"%s\": слишком много чисел" -#: common.c:1055 +#: common.c:1061 #, c-format msgid "could not parse numeric array \"%s\": invalid character in number" msgstr "не удалось разобрать числовой массив \"%s\": неверный символ в числе" -#: compress_io.c:111 -#, c-format -msgid "invalid compression code: %d" -msgstr "неверный код сжатия: %d" - -#: compress_io.c:134 compress_io.c:170 compress_io.c:188 compress_io.c:504 -#: compress_io.c:547 -#, c-format -msgid "not built with zlib support" -msgstr "программа собрана без поддержки zlib" - -#: compress_io.c:236 compress_io.c:333 +#: compress_gzip.c:69 compress_gzip.c:183 #, c-format msgid "could not initialize compression library: %s" msgstr "не удалось инициализировать библиотеку сжатия: %s" -#: compress_io.c:256 +#: compress_gzip.c:93 #, c-format msgid "could not close compression stream: %s" msgstr "не удалось закрыть поток сжатых данных: %s" -#: compress_io.c:273 +#: compress_gzip.c:113 compress_lz4.c:227 compress_zstd.c:109 #, c-format msgid "could not compress data: %s" msgstr "не удалось сжать данные: %s" -#: compress_io.c:349 compress_io.c:364 +#: compress_gzip.c:199 compress_gzip.c:214 #, c-format msgid "could not uncompress data: %s" msgstr "не удалось распаковать данные: %s" -#: compress_io.c:371 +#: compress_gzip.c:221 #, c-format msgid "could not close compression library: %s" msgstr "не удалось закрыть библиотеку сжатия: %s" -#: compress_io.c:584 compress_io.c:621 +#: compress_gzip.c:266 compress_gzip.c:295 compress_lz4.c:608 +#: compress_lz4.c:628 compress_lz4.c:647 compress_none.c:97 compress_none.c:140 #, c-format msgid "could not read from input file: %s" msgstr "не удалось прочитать входной файл: %s" -#: compress_io.c:623 pg_backup_custom.c:643 pg_backup_directory.c:553 -#: pg_backup_tar.c:726 pg_backup_tar.c:749 +#: compress_gzip.c:297 compress_lz4.c:630 compress_none.c:142 +#: compress_zstd.c:371 pg_backup_custom.c:653 pg_backup_directory.c:558 +#: pg_backup_tar.c:725 pg_backup_tar.c:748 #, c-format msgid "could not read from input file: end of file" msgstr "не удалось прочитать входной файл: конец файла" -#: parallel.c:253 +#: compress_lz4.c:157 +#, c-format +msgid "could not create LZ4 decompression context: %s" +msgstr "не удалось создать контекст распаковки LZ4: %s" + +#: compress_lz4.c:180 +#, c-format +msgid "could not decompress: %s" +msgstr "не удалось распаковать данные: %s" + +#: compress_lz4.c:193 +#, c-format +msgid "could not free LZ4 decompression context: %s" +msgstr "не удалось освободить контекст распаковки LZ4: %s" + +#: compress_lz4.c:259 compress_lz4.c:266 compress_lz4.c:680 compress_lz4.c:690 +#, c-format +msgid "could not end compression: %s" +msgstr "не удалось завершить сжатие: %s" + +#: compress_lz4.c:301 +#, c-format +msgid "could not initialize LZ4 compression: %s" +msgstr "не удалось инициализировать LZ4: %s" + +#: compress_lz4.c:697 +#, c-format +msgid "could not end decompression: %s" +msgstr "не удалось завершить распаковку: %s" + +#: compress_zstd.c:66 +#, c-format +msgid "could not set compression parameter \"%s\": %s" +msgstr "не удалось задать параметр сжатия \"%s\": %s" + +#: compress_zstd.c:78 compress_zstd.c:231 compress_zstd.c:490 +#: compress_zstd.c:498 +#, c-format +msgid "could not initialize compression library" +msgstr "не удалось инициализировать библиотеку сжатия" + +#: compress_zstd.c:194 compress_zstd.c:308 +#, c-format +msgid "could not decompress data: %s" +msgstr "не удалось распаковать данные: %s" + +#: compress_zstd.c:373 pg_backup_custom.c:655 +#, c-format +msgid "could not read from input file: %m" +msgstr "не удалось прочитать входной файл: %m" + +#: compress_zstd.c:501 +#, c-format +msgid "unhandled mode \"%s\"" +msgstr "необрабатываемый режим \"%s\"" + +#: parallel.c:251 #, c-format msgid "%s() failed: error code %d" msgstr "ошибка в %s() (код ошибки: %d)" -#: parallel.c:961 +#: parallel.c:959 #, c-format msgid "could not create communication channels: %m" msgstr "не удалось создать каналы межпроцессного взаимодействия: %m" -#: parallel.c:1018 +#: parallel.c:1016 #, c-format msgid "could not create worker process: %m" msgstr "не удалось создать рабочий процесс: %m" -#: parallel.c:1148 +#: parallel.c:1146 #, c-format msgid "unrecognized command received from leader: \"%s\"" msgstr "от ведущего процесса получена нераспознанная команда: \"%s\"" -#: parallel.c:1191 parallel.c:1429 +#: parallel.c:1189 parallel.c:1427 #, c-format msgid "invalid message received from worker: \"%s\"" msgstr "от рабочего процесса получено ошибочное сообщение: \"%s\"" -#: parallel.c:1323 +#: parallel.c:1321 #, c-format msgid "" "could not obtain lock on relation \"%s\"\n" @@ -438,74 +536,74 @@ msgstr "" "этой таблицы после того, как родительский процесс pg_dump получил для неё " "начальную блокировку ACCESS SHARE." -#: parallel.c:1412 +#: parallel.c:1410 #, c-format msgid "a worker process died unexpectedly" msgstr "рабочий процесс неожиданно прервался" -#: parallel.c:1534 parallel.c:1652 +#: parallel.c:1532 parallel.c:1650 #, c-format msgid "could not write to the communication channel: %m" msgstr "не удалось записать в канал взаимодействия: %m" -#: parallel.c:1736 +#: parallel.c:1734 #, c-format msgid "pgpipe: could not create socket: error code %d" msgstr "pgpipe: не удалось создать сокет (код ошибки: %d)" -#: parallel.c:1747 +#: parallel.c:1745 #, c-format msgid "pgpipe: could not bind: error code %d" msgstr "pgpipe: не удалось привязаться к сокету (код ошибки: %d)" -#: parallel.c:1754 +#: parallel.c:1752 #, c-format msgid "pgpipe: could not listen: error code %d" msgstr "pgpipe: не удалось начать приём (код ошибки: %d)" -#: parallel.c:1761 +#: parallel.c:1759 #, c-format msgid "pgpipe: %s() failed: error code %d" msgstr "pgpipe: ошибка в %s() (код ошибки: %d)" -#: parallel.c:1772 +#: parallel.c:1770 #, c-format msgid "pgpipe: could not create second socket: error code %d" msgstr "pgpipe: не удалось создать второй сокет (код ошибки: %d)" -#: parallel.c:1781 +#: parallel.c:1779 #, c-format msgid "pgpipe: could not connect socket: error code %d" msgstr "pgpipe: не удалось подключить сокет (код ошибки: %d)" -#: parallel.c:1790 +#: parallel.c:1788 #, c-format msgid "pgpipe: could not accept connection: error code %d" msgstr "pgpipe: не удалось принять соединение (код ошибки: %d)" -#: pg_backup_archiver.c:279 pg_backup_archiver.c:1581 +#: pg_backup_archiver.c:276 pg_backup_archiver.c:1603 #, c-format msgid "could not close output file: %m" msgstr "не удалось закрыть выходной файл: %m" -#: pg_backup_archiver.c:323 pg_backup_archiver.c:327 +#: pg_backup_archiver.c:320 pg_backup_archiver.c:324 #, c-format msgid "archive items not in correct section order" msgstr "в последовательности элементов архива нарушен порядок разделов" -#: pg_backup_archiver.c:333 +#: pg_backup_archiver.c:330 #, c-format msgid "unexpected section code %d" msgstr "неожиданный код раздела %d" -#: pg_backup_archiver.c:370 +#: pg_backup_archiver.c:367 #, c-format msgid "parallel restore is not supported with this archive file format" msgstr "" "параллельное восстановление не поддерживается с выбранным форматом архивного " "файла" -#: pg_backup_archiver.c:374 +#: pg_backup_archiver.c:371 #, c-format msgid "parallel restore is not supported with archives made by pre-8.0 pg_dump" msgstr "" @@ -514,85 +612,81 @@ msgstr "" #: pg_backup_archiver.c:392 #, c-format -msgid "" -"cannot restore from compressed archive (compression not supported in this " -"installation)" -msgstr "" -"восстановить данные из сжатого архива нельзя (установленная версия не " -"поддерживает сжатие)" +msgid "cannot restore from compressed archive (%s)" +msgstr "восстановить данные из сжатого архива нельзя (%s)" -#: pg_backup_archiver.c:409 +#: pg_backup_archiver.c:412 #, c-format msgid "connecting to database for restore" msgstr "подключение к базе данных для восстановления" -#: pg_backup_archiver.c:411 +#: pg_backup_archiver.c:414 #, c-format msgid "direct database connections are not supported in pre-1.3 archives" msgstr "" "прямые подключения к базе данных не поддерживаются в архивах до версии 1.3" -#: pg_backup_archiver.c:454 +#: pg_backup_archiver.c:457 #, c-format msgid "implied data-only restore" msgstr "подразумевается восстановление только данных" -#: pg_backup_archiver.c:520 +#: pg_backup_archiver.c:523 #, c-format msgid "dropping %s %s" msgstr "удаляется %s %s" -#: pg_backup_archiver.c:620 +#: pg_backup_archiver.c:623 #, c-format msgid "could not find where to insert IF EXISTS in statement \"%s\"" msgstr "не удалось определить, куда добавить IF EXISTS в оператор \"%s\"" -#: pg_backup_archiver.c:776 pg_backup_archiver.c:778 +#: pg_backup_archiver.c:778 pg_backup_archiver.c:780 #, c-format msgid "warning from original dump file: %s" msgstr "предупреждение из исходного файла: %s" -#: pg_backup_archiver.c:793 +#: pg_backup_archiver.c:795 #, c-format msgid "creating %s \"%s.%s\"" msgstr "создаётся %s \"%s.%s\"" -#: pg_backup_archiver.c:796 +#: pg_backup_archiver.c:798 #, c-format msgid "creating %s \"%s\"" msgstr "создаётся %s \"%s\"" -#: pg_backup_archiver.c:846 +#: pg_backup_archiver.c:848 #, c-format msgid "connecting to new database \"%s\"" msgstr "подключение к новой базе данных \"%s\"" -#: pg_backup_archiver.c:873 +#: pg_backup_archiver.c:875 #, c-format msgid "processing %s" msgstr "обрабатывается %s" -#: pg_backup_archiver.c:893 +#: pg_backup_archiver.c:897 #, c-format msgid "processing data for table \"%s.%s\"" msgstr "обрабатываются данные таблицы \"%s.%s\"" -#: pg_backup_archiver.c:952 +#: pg_backup_archiver.c:967 #, c-format msgid "executing %s %s" msgstr "выполняется %s %s" -#: pg_backup_archiver.c:991 +#: pg_backup_archiver.c:1008 #, c-format msgid "disabling triggers for %s" msgstr "отключаются триггеры таблицы %s" -#: pg_backup_archiver.c:1017 +#: pg_backup_archiver.c:1034 #, c-format msgid "enabling triggers for %s" msgstr "включаются триггеры таблицы %s" -#: pg_backup_archiver.c:1045 +#: pg_backup_archiver.c:1099 #, c-format msgid "" "internal error -- WriteData cannot be called outside the context of a " @@ -601,12 +695,12 @@ msgstr "" "внутренняя ошибка -- WriteData нельзя вызывать вне контекста процедуры " "DataDumper" -#: pg_backup_archiver.c:1228 +#: pg_backup_archiver.c:1287 #, c-format msgid "large-object output not supported in chosen format" msgstr "выбранный формат не поддерживает выгрузку больших объектов" -#: pg_backup_archiver.c:1286 +#: pg_backup_archiver.c:1345 #, c-format msgid "restored %d large object" msgid_plural "restored %d large objects" @@ -614,55 +708,55 @@ msgstr[0] "восстановлен %d большой объект" msgstr[1] "восстановлено %d больших объекта" msgstr[2] "восстановлено %d больших объектов" -#: pg_backup_archiver.c:1307 pg_backup_tar.c:669 +#: pg_backup_archiver.c:1366 pg_backup_tar.c:668 #, c-format msgid "restoring large object with OID %u" msgstr "восстановление большого объекта с OID %u" -#: pg_backup_archiver.c:1319 +#: pg_backup_archiver.c:1378 #, c-format msgid "could not create large object %u: %s" msgstr "не удалось создать большой объект %u: %s" -#: pg_backup_archiver.c:1324 pg_dump.c:3568 +#: pg_backup_archiver.c:1383 pg_dump.c:3718 #, c-format msgid "could not open large object %u: %s" msgstr "не удалось открыть большой объект %u: %s" -#: pg_backup_archiver.c:1380 +#: pg_backup_archiver.c:1439 #, c-format msgid "could not open TOC file \"%s\": %m" msgstr "не удалось открыть файл оглавления \"%s\": %m" -#: pg_backup_archiver.c:1408 +#: pg_backup_archiver.c:1467 #, c-format msgid "line ignored: %s" msgstr "строка проигнорирована: %s" -#: pg_backup_archiver.c:1415 +#: pg_backup_archiver.c:1474 #, c-format msgid "could not find entry for ID %d" msgstr "не найдена запись для ID %d" -#: pg_backup_archiver.c:1438 pg_backup_directory.c:222 -#: pg_backup_directory.c:599 +#: pg_backup_archiver.c:1497 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:1552 pg_backup_custom.c:156 pg_backup_directory.c:332 -#: pg_backup_directory.c:586 pg_backup_directory.c:649 -#: pg_backup_directory.c:668 pg_dumpall.c:476 +#: pg_backup_archiver.c:1584 pg_backup_custom.c:156 pg_backup_directory.c:332 +#: pg_backup_directory.c:593 pg_backup_directory.c:658 +#: pg_backup_directory.c:676 pg_dumpall.c:501 #, c-format msgid "could not open output file \"%s\": %m" msgstr "не удалось открыть выходной файл \"%s\": %m" -#: pg_backup_archiver.c:1554 pg_backup_custom.c:162 +#: pg_backup_archiver.c:1586 pg_backup_custom.c:162 #, c-format msgid "could not open output file: %m" msgstr "не удалось открыть выходной файл: %m" -#: pg_backup_archiver.c:1648 +#: pg_backup_archiver.c:1669 #, c-format msgid "wrote %zu byte of large object data (result = %d)" msgid_plural "wrote %zu bytes of large object data (result = %d)" @@ -670,211 +764,216 @@ msgstr[0] "записан %zu байт данных большого объек msgstr[1] "записано %zu байта данных большого объекта (результат = %d)" msgstr[2] "записано %zu байт данных большого объекта (результат = %d)" -#: pg_backup_archiver.c:1654 +#: pg_backup_archiver.c:1675 #, c-format msgid "could not write to large object: %s" msgstr "не удалось записать данные в большой объект: %s" -#: pg_backup_archiver.c:1744 +#: pg_backup_archiver.c:1765 #, c-format msgid "while INITIALIZING:" msgstr "при инициализации:" -#: pg_backup_archiver.c:1749 +#: pg_backup_archiver.c:1770 #, c-format msgid "while PROCESSING TOC:" msgstr "при обработке оглавления:" -#: pg_backup_archiver.c:1754 +#: pg_backup_archiver.c:1775 #, c-format msgid "while FINALIZING:" msgstr "при завершении:" -#: pg_backup_archiver.c:1759 +#: pg_backup_archiver.c:1780 #, c-format msgid "from TOC entry %d; %u %u %s %s %s" msgstr "из записи оглавления %d; %u %u %s %s %s" -#: pg_backup_archiver.c:1835 +#: pg_backup_archiver.c:1856 #, c-format msgid "bad dumpId" msgstr "неверный dumpId" -#: pg_backup_archiver.c:1856 +#: pg_backup_archiver.c:1877 #, c-format msgid "bad table dumpId for TABLE DATA item" msgstr "неверный dumpId таблицы в элементе TABLE DATA" -#: pg_backup_archiver.c:1948 +#: pg_backup_archiver.c:1969 #, c-format msgid "unexpected data offset flag %d" msgstr "неожиданный флаг смещения данных: %d" -#: pg_backup_archiver.c:1961 +#: pg_backup_archiver.c:1982 #, c-format msgid "file offset in dump file is too large" msgstr "слишком большое смещение в файле выгрузки" -#: pg_backup_archiver.c:2099 pg_backup_archiver.c:2109 +#: pg_backup_archiver.c:2093 #, c-format msgid "directory name too long: \"%s\"" msgstr "слишком длинное имя каталога: \"%s\"" -#: pg_backup_archiver.c:2117 +#: pg_backup_archiver.c:2143 #, 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:2125 pg_backup_custom.c:173 pg_backup_custom.c:807 -#: pg_backup_directory.c:207 pg_backup_directory.c:395 +#: pg_backup_archiver.c:2151 pg_backup_custom.c:173 pg_backup_custom.c:816 +#: pg_backup_directory.c:206 pg_backup_directory.c:395 #, c-format msgid "could not open input file \"%s\": %m" msgstr "не удалось открыть входной файл \"%s\": %m" -#: pg_backup_archiver.c:2132 pg_backup_custom.c:179 +#: pg_backup_archiver.c:2158 pg_backup_custom.c:179 #, c-format msgid "could not open input file: %m" msgstr "не удалось открыть входной файл: %m" -#: pg_backup_archiver.c:2138 +#: pg_backup_archiver.c:2164 #, c-format msgid "could not read input file: %m" msgstr "не удалось прочитать входной файл: %m" -#: pg_backup_archiver.c:2140 +#: pg_backup_archiver.c:2166 #, c-format msgid "input file is too short (read %lu, expected 5)" msgstr "входной файл слишком короткий (прочитано байт: %lu, ожидалось: 5)" -#: pg_backup_archiver.c:2172 +#: pg_backup_archiver.c:2198 #, c-format msgid "input file appears to be a text format dump. Please use psql." msgstr "" "входной файл, видимо, имеет текстовый формат. Загрузите его с помощью psql." -#: pg_backup_archiver.c:2178 +#: pg_backup_archiver.c:2204 #, c-format msgid "input file does not appear to be a valid archive (too short?)" msgstr "входной файл не похож на архив (возможно, слишком мал?)" -#: pg_backup_archiver.c:2184 +#: pg_backup_archiver.c:2210 #, c-format msgid "input file does not appear to be a valid archive" msgstr "входной файл не похож на архив" -#: pg_backup_archiver.c:2193 +#: pg_backup_archiver.c:2219 #, c-format msgid "could not close input file: %m" msgstr "не удалось закрыть входной файл: %m" -#: pg_backup_archiver.c:2310 +#: pg_backup_archiver.c:2297 +#, c-format +msgid "could not open stdout for appending: %m" +msgstr "не удалось открыть stdout для добавления вывода: %m" + +#: pg_backup_archiver.c:2342 #, c-format msgid "unrecognized file format \"%d\"" msgstr "неопознанный формат файла: \"%d\"" -#: pg_backup_archiver.c:2392 pg_backup_archiver.c:4450 +#: pg_backup_archiver.c:2423 pg_backup_archiver.c:4448 #, c-format msgid "finished item %d %s %s" msgstr "закончен объект %d %s %s" -#: pg_backup_archiver.c:2396 pg_backup_archiver.c:4463 +#: pg_backup_archiver.c:2427 pg_backup_archiver.c:4461 #, c-format msgid "worker process failed: exit code %d" msgstr "рабочий процесс завершился с кодом возврата %d" -#: pg_backup_archiver.c:2517 +#: pg_backup_archiver.c:2548 #, c-format msgid "entry ID %d out of range -- perhaps a corrupt TOC" msgstr "ID записи %d вне диапазона - возможно повреждено оглавление" -#: pg_backup_archiver.c:2597 +#: pg_backup_archiver.c:2628 #, c-format msgid "restoring tables WITH OIDS is not supported anymore" msgstr "восстановление таблиц со свойством WITH OIDS больше не поддерживается" -#: pg_backup_archiver.c:2679 +#: pg_backup_archiver.c:2710 #, c-format msgid "unrecognized encoding \"%s\"" msgstr "нераспознанная кодировка \"%s\"" -#: pg_backup_archiver.c:2684 +#: pg_backup_archiver.c:2715 #, c-format msgid "invalid ENCODING item: %s" msgstr "неверный элемент ENCODING: %s" -#: pg_backup_archiver.c:2702 +#: pg_backup_archiver.c:2733 #, c-format msgid "invalid STDSTRINGS item: %s" msgstr "неверный элемент STDSTRINGS: %s" -#: pg_backup_archiver.c:2727 +#: pg_backup_archiver.c:2758 #, c-format msgid "schema \"%s\" not found" msgstr "схема \"%s\" не найдена" -#: pg_backup_archiver.c:2734 +#: pg_backup_archiver.c:2765 #, c-format msgid "table \"%s\" not found" msgstr "таблица \"%s\" не найдена" -#: pg_backup_archiver.c:2741 +#: pg_backup_archiver.c:2772 #, c-format msgid "index \"%s\" not found" msgstr "индекс \"%s\" не найден" -#: pg_backup_archiver.c:2748 +#: pg_backup_archiver.c:2779 #, c-format msgid "function \"%s\" not found" msgstr "функция \"%s\" не найдена" -#: pg_backup_archiver.c:2755 +#: pg_backup_archiver.c:2786 #, c-format msgid "trigger \"%s\" not found" msgstr "триггер \"%s\" не найден" -#: pg_backup_archiver.c:3148 +#: pg_backup_archiver.c:3183 #, c-format msgid "could not set session user to \"%s\": %s" -msgstr "не удалось переключить пользователя сессии на \"%s\": %s" +msgstr "не удалось переключить пользователя сеанса на \"%s\": %s" -#: pg_backup_archiver.c:3285 +#: pg_backup_archiver.c:3315 #, c-format msgid "could not set search_path to \"%s\": %s" msgstr "не удалось присвоить search_path значение \"%s\": %s" -#: pg_backup_archiver.c:3347 +#: pg_backup_archiver.c:3376 #, c-format msgid "could not set default_tablespace to %s: %s" msgstr "не удалось задать для default_tablespace значение %s: %s" -#: pg_backup_archiver.c:3397 +#: pg_backup_archiver.c:3425 #, c-format msgid "could not set default_table_access_method: %s" msgstr "не удалось задать default_table_access_method: %s" -#: pg_backup_archiver.c:3491 pg_backup_archiver.c:3656 +#: pg_backup_archiver.c:3530 #, c-format msgid "don't know how to set owner for object type \"%s\"" msgstr "неизвестно, как назначить владельца для объекта типа \"%s\"" -#: pg_backup_archiver.c:3759 +#: pg_backup_archiver.c:3752 #, c-format msgid "did not find magic string in file header" msgstr "в заголовке файла не найдена нужная сигнатура" -#: pg_backup_archiver.c:3773 +#: pg_backup_archiver.c:3766 #, c-format msgid "unsupported version (%d.%d) in file header" msgstr "неподдерживаемая версия (%d.%d) в заголовке файла" -#: pg_backup_archiver.c:3778 +#: pg_backup_archiver.c:3771 #, c-format msgid "sanity check on integer size (%lu) failed" msgstr "несоответствие размера integer (%lu)" -#: pg_backup_archiver.c:3782 +#: pg_backup_archiver.c:3775 #, c-format msgid "" "archive was made on a machine with larger integers, some operations might " @@ -883,7 +982,7 @@ msgstr "" "архив был сделан на компьютере большей разрядности -- возможен сбой " "некоторых операций" -#: pg_backup_archiver.c:3792 +#: pg_backup_archiver.c:3785 #, c-format msgid "expected format (%d) differs from format found in file (%d)" msgstr "ожидаемый формат (%d) отличается от формата, указанного в файле (%d)" @@ -891,74 +990,74 @@ msgstr "ожидаемый формат (%d) отличается от форм #: pg_backup_archiver.c:3807 #, c-format msgid "" -"archive is compressed, but this installation does not support compression -- " -"no data will be available" +"archive is compressed, but this installation does not support compression " +"(%s) -- no data will be available" msgstr "" -"архив сжат, но установленная версия не поддерживает сжатие -- данные " -"недоступны" +"архив сжат, но установленная версия не поддерживает сжатие (%s) -- данные " +"будут недоступны" -#: pg_backup_archiver.c:3841 +#: pg_backup_archiver.c:3843 #, c-format msgid "invalid creation date in header" msgstr "неверная дата создания в заголовке" -#: pg_backup_archiver.c:3975 +#: pg_backup_archiver.c:3977 #, c-format msgid "processing item %d %s %s" msgstr "обработка объекта %d %s %s" -#: pg_backup_archiver.c:4054 +#: pg_backup_archiver.c:4052 #, c-format msgid "entering main parallel loop" msgstr "вход в основной параллельный цикл" -#: pg_backup_archiver.c:4065 +#: pg_backup_archiver.c:4063 #, c-format msgid "skipping item %d %s %s" msgstr "объект %d %s %s пропускается" -#: pg_backup_archiver.c:4074 +#: pg_backup_archiver.c:4072 #, c-format msgid "launching item %d %s %s" msgstr "объект %d %s %s запускается" -#: pg_backup_archiver.c:4128 +#: pg_backup_archiver.c:4126 #, c-format msgid "finished main parallel loop" msgstr "основной параллельный цикл закончен" -#: pg_backup_archiver.c:4164 +#: pg_backup_archiver.c:4162 #, c-format msgid "processing missed item %d %s %s" msgstr "обработка пропущенного объекта %d %s %s" -#: pg_backup_archiver.c:4769 +#: pg_backup_archiver.c:4767 #, c-format msgid "table \"%s\" could not be created, will not restore its data" msgstr "создать таблицу \"%s\" не удалось, её данные не будут восстановлены" -#: pg_backup_custom.c:376 pg_backup_null.c:147 +#: pg_backup_custom.c:380 pg_backup_null.c:147 #, c-format msgid "invalid OID for large object" msgstr "неверный OID большого объекта" -#: pg_backup_custom.c:439 pg_backup_custom.c:505 pg_backup_custom.c:629 -#: pg_backup_custom.c:865 pg_backup_tar.c:1016 pg_backup_tar.c:1021 +#: pg_backup_custom.c:445 pg_backup_custom.c:511 pg_backup_custom.c:640 +#: pg_backup_custom.c:874 pg_backup_tar.c:1014 pg_backup_tar.c:1019 #, c-format msgid "error during file seek: %m" msgstr "ошибка при перемещении в файле: %m" -#: pg_backup_custom.c:478 +#: pg_backup_custom.c:484 #, c-format msgid "data block %d has wrong seek position" msgstr "в блоке данных %d задана неверная позиция" -#: pg_backup_custom.c:495 +#: pg_backup_custom.c:501 #, c-format msgid "unrecognized data block type (%d) while searching archive" msgstr "нераспознанный тип блока данных (%d) при поиске архива" -#: pg_backup_custom.c:517 +#: pg_backup_custom.c:523 #, c-format msgid "" "could not find block ID %d in archive -- possibly due to out-of-order " @@ -968,59 +1067,54 @@ msgstr "" "последовательного запроса восстановления, который нельзя обработать с " "файлом, не допускающим произвольный доступ" -#: pg_backup_custom.c:522 +#: pg_backup_custom.c:528 #, c-format msgid "could not find block ID %d in archive -- possibly corrupt archive" msgstr "не удалось найти в архиве блок с ID %d -- возможно, архив испорчен" -#: pg_backup_custom.c:529 +#: pg_backup_custom.c:535 #, c-format msgid "found unexpected block ID (%d) when reading data -- expected %d" msgstr "при чтении данных получен неожиданный ID блока (%d) -- ожидался: %d" -#: pg_backup_custom.c:543 +#: pg_backup_custom.c:549 #, c-format msgid "unrecognized data block type %d while restoring archive" msgstr "нераспознанный тип блока данных %d при восстановлении архива" -#: pg_backup_custom.c:645 -#, c-format -msgid "could not read from input file: %m" -msgstr "не удалось прочитать входной файл: %m" - -#: pg_backup_custom.c:746 pg_backup_custom.c:798 pg_backup_custom.c:943 -#: pg_backup_tar.c:1019 +#: pg_backup_custom.c:755 pg_backup_custom.c:807 pg_backup_custom.c:952 +#: pg_backup_tar.c:1017 #, c-format msgid "could not determine seek position in archive file: %m" msgstr "не удалось определить позицию в файле архива: %m" -#: pg_backup_custom.c:762 pg_backup_custom.c:802 +#: pg_backup_custom.c:771 pg_backup_custom.c:811 #, c-format msgid "could not close archive file: %m" msgstr "не удалось закрыть файл архива: %m" -#: pg_backup_custom.c:785 +#: pg_backup_custom.c:794 #, c-format msgid "can only reopen input archives" msgstr "повторно открыть можно только входные файлы" -#: pg_backup_custom.c:792 +#: pg_backup_custom.c:801 #, c-format msgid "parallel restore from standard input is not supported" msgstr "параллельное восстановление из стандартного ввода не поддерживается" -#: pg_backup_custom.c:794 +#: pg_backup_custom.c:803 #, c-format msgid "parallel restore from non-seekable file is not supported" msgstr "" "параллельное восстановление возможно только с файлом произвольного доступа" -#: pg_backup_custom.c:810 +#: pg_backup_custom.c:819 #, c-format msgid "could not set seek position in archive file: %m" msgstr "не удалось задать текущую позицию в файле архива: %m" -#: pg_backup_custom.c:889 +#: pg_backup_custom.c:898 #, c-format msgid "compressor active" msgstr "сжатие активно" @@ -1030,12 +1124,12 @@ msgstr "сжатие активно" msgid "could not get server_version from libpq" msgstr "не удалось получить версию сервера из libpq" -#: pg_backup_db.c:53 pg_dumpall.c:1646 +#: pg_backup_db.c:53 pg_dumpall.c:1809 #, c-format msgid "aborting because of server version mismatch" msgstr "продолжение работы с другой версией сервера невозможно" -#: pg_backup_db.c:54 pg_dumpall.c:1647 +#: pg_backup_db.c:54 pg_dumpall.c:1810 #, c-format msgid "server version: %s; %s version: %s" msgstr "версия сервера: %s; версия %s: %s" @@ -1045,7 +1139,7 @@ msgstr "версия сервера: %s; версия %s: %s" msgid "already connected to a database" msgstr "подключение к базе данных уже установлено" -#: pg_backup_db.c:128 pg_backup_db.c:178 pg_dumpall.c:1490 pg_dumpall.c:1595 +#: pg_backup_db.c:128 pg_backup_db.c:178 pg_dumpall.c:1656 pg_dumpall.c:1758 msgid "Password: " msgstr "Пароль: " @@ -1059,22 +1153,23 @@ msgstr "не удалось переподключиться к базе" msgid "reconnection failed: %s" msgstr "переподключиться не удалось: %s" -#: pg_backup_db.c:190 pg_backup_db.c:265 pg_dumpall.c:1520 pg_dumpall.c:1604 +#: 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 #, c-format msgid "%s" msgstr "%s" -#: pg_backup_db.c:272 pg_dumpall.c:1709 pg_dumpall.c:1732 +#: pg_backup_db.c:271 pg_dumpall.c:1872 pg_dumpall.c:1895 #, c-format msgid "query failed: %s" msgstr "ошибка при выполнении запроса: %s" -#: pg_backup_db.c:274 pg_dumpall.c:1710 pg_dumpall.c:1733 +#: pg_backup_db.c:273 pg_dumpall.c:1873 pg_dumpall.c:1896 #, c-format msgid "Query was: %s" msgstr "Выполнялся запрос: %s" -#: pg_backup_db.c:316 +#: pg_backup_db.c:315 #, c-format msgid "query returned %d row instead of one: %s" msgid_plural "query returned %d rows instead of one: %s" @@ -1083,70 +1178,70 @@ msgstr[1] "запрос вернул %d строки вместо одной: %s msgstr[2] "запрос вернул %d строк вместо одной: %s" # skip-rule: language-mix -#: pg_backup_db.c:352 +#: pg_backup_db.c:351 #, c-format msgid "%s: %sCommand was: %s" msgstr "%s: %sВыполнялась команда: %s" -#: pg_backup_db.c:408 pg_backup_db.c:482 pg_backup_db.c:489 +#: pg_backup_db.c:407 pg_backup_db.c:481 pg_backup_db.c:488 msgid "could not execute query" msgstr "не удалось выполнить запрос" -#: pg_backup_db.c:461 +#: pg_backup_db.c:460 #, c-format msgid "error returned by PQputCopyData: %s" msgstr "ошибка в PQputCopyData: %s" -#: pg_backup_db.c:510 +#: pg_backup_db.c:509 #, c-format msgid "error returned by PQputCopyEnd: %s" msgstr "ошибка в PQputCopyEnd: %s" -#: pg_backup_db.c:516 +#: pg_backup_db.c:515 #, c-format msgid "COPY failed for table \"%s\": %s" msgstr "сбой команды COPY для таблицы \"%s\": %s" -#: pg_backup_db.c:522 pg_dump.c:2105 +#: pg_backup_db.c:521 pg_dump.c:2202 #, c-format msgid "unexpected extra results during COPY of table \"%s\"" msgstr "неожиданные лишние результаты получены при COPY для таблицы \"%s\"" -#: pg_backup_db.c:534 +#: pg_backup_db.c:533 msgid "could not start database transaction" msgstr "не удаётся начать транзакцию" -#: pg_backup_db.c:542 +#: pg_backup_db.c:541 msgid "could not commit database transaction" msgstr "не удалось зафиксировать транзакцию" -#: pg_backup_directory.c:156 +#: pg_backup_directory.c:155 #, c-format msgid "no output directory specified" msgstr "выходной каталог не указан" -#: pg_backup_directory.c:185 +#: pg_backup_directory.c:184 #, c-format msgid "could not read directory \"%s\": %m" msgstr "не удалось прочитать каталог \"%s\": %m" -#: pg_backup_directory.c:189 +#: pg_backup_directory.c:188 #, c-format msgid "could not close directory \"%s\": %m" msgstr "не удалось закрыть каталог \"%s\": %m" -#: pg_backup_directory.c:195 +#: pg_backup_directory.c:194 #, c-format msgid "could not create directory \"%s\": %m" msgstr "не удалось создать каталог \"%s\": %m" -#: pg_backup_directory.c:355 pg_backup_directory.c:497 -#: pg_backup_directory.c:533 +#: pg_backup_directory.c:356 pg_backup_directory.c:499 +#: pg_backup_directory.c:537 #, c-format msgid "could not write to output file: %s" msgstr "не удалось записать в выходной файл: %s" -#: pg_backup_directory.c:373 +#: pg_backup_directory.c:374 #, c-format msgid "could not close data file: %m" msgstr "не удалось закрыть файл данных: %m" @@ -1156,43 +1251,43 @@ msgstr "не удалось закрыть файл данных: %m" msgid "could not close data file \"%s\": %m" msgstr "не удалось закрыть файл данных \"%s\": %m" -#: pg_backup_directory.c:447 +#: pg_backup_directory.c:448 #, c-format msgid "could not open large object TOC file \"%s\" for input: %m" msgstr "" "не удалось открыть для чтения файл оглавления больших объектов \"%s\": %m" -#: pg_backup_directory.c:458 +#: pg_backup_directory.c:459 #, c-format msgid "invalid line in large object TOC file \"%s\": \"%s\"" msgstr "неверная строка в файле оглавления больших объектов \"%s\": \"%s\"" -#: pg_backup_directory.c:467 +#: pg_backup_directory.c:468 #, c-format msgid "error reading large object TOC file \"%s\"" msgstr "ошибка чтения файла оглавления больших объектов \"%s\"" -#: pg_backup_directory.c:471 +#: pg_backup_directory.c:472 #, c-format msgid "could not close large object TOC file \"%s\": %m" msgstr "не удалось закрыть файл оглавления больших объектов \"%s\": %m" -#: pg_backup_directory.c:685 +#: pg_backup_directory.c:694 #, c-format -msgid "could not close blob data file: %m" -msgstr "не удалось закрыть файл данных BLOB: %m" +msgid "could not close LO data file: %m" +msgstr "не удалось закрыть файл данных LO: %m" -#: pg_backup_directory.c:691 +#: pg_backup_directory.c:704 #, c-format -msgid "could not write to blobs TOC file" -msgstr "не удалось записать в файл оглавления больших объектов" +msgid "could not write to LOs TOC file: %s" +msgstr "не удалось записать в файл оглавления LO: %s" -#: pg_backup_directory.c:705 +#: pg_backup_directory.c:720 #, c-format -msgid "could not close blobs TOC file: %m" -msgstr "не удалось закрыть файл оглавления BLOB: %m" +msgid "could not close LOs TOC file: %m" +msgstr "не удалось закрыть файл оглавления LO: %m" -#: pg_backup_directory.c:724 +#: pg_backup_directory.c:739 #, c-format msgid "file name too long: \"%s\"" msgstr "слишком длинное имя файла: \"%s\"" @@ -1213,7 +1308,7 @@ msgid "could not open TOC file for output: %m" msgstr "не удалось открыть для записи файл оглавления: %m" #: pg_backup_tar.c:198 pg_backup_tar.c:334 pg_backup_tar.c:389 -#: pg_backup_tar.c:405 pg_backup_tar.c:893 +#: pg_backup_tar.c:405 pg_backup_tar.c:891 #, c-format msgid "compression is not supported by tar archive format" msgstr "формат архива tar не поддерживает сжатие" @@ -1238,32 +1333,32 @@ msgstr "не удалось найти файл \"%s\" в архиве" msgid "could not generate temporary file name: %m" msgstr "не удалось получить имя для временного файла: %m" -#: pg_backup_tar.c:624 +#: pg_backup_tar.c:623 #, c-format msgid "unexpected COPY statement syntax: \"%s\"" msgstr "недопустимый синтаксис оператора COPY: \"%s\"" -#: pg_backup_tar.c:890 +#: pg_backup_tar.c:888 #, c-format msgid "invalid OID for large object (%u)" msgstr "неверный OID для большого объекта (%u)" -#: pg_backup_tar.c:1035 +#: pg_backup_tar.c:1033 #, c-format msgid "could not close temporary file: %m" msgstr "не удалось закрыть временный файл: %m" -#: pg_backup_tar.c:1038 +#: pg_backup_tar.c:1036 #, c-format msgid "actual file length (%lld) does not match expected (%lld)" msgstr "действительная длина файла (%lld) не равна ожидаемой (%lld)" -#: pg_backup_tar.c:1084 pg_backup_tar.c:1115 +#: pg_backup_tar.c:1082 pg_backup_tar.c:1113 #, c-format msgid "could not find header for file \"%s\" in tar archive" msgstr "в архиве tar не найден заголовок для файла \"%s\"" -#: pg_backup_tar.c:1102 +#: pg_backup_tar.c:1100 #, c-format msgid "" "restoring data out of order is not supported in this archive format: \"%s\" " @@ -1273,7 +1368,7 @@ msgstr "" "поддерживается: требуется компонент \"%s\", но в файле архива прежде идёт " "\"%s\"." -#: pg_backup_tar.c:1149 +#: pg_backup_tar.c:1147 #, c-format msgid "incomplete tar header found (%lu byte)" msgid_plural "incomplete tar header found (%lu bytes)" @@ -1281,7 +1376,7 @@ msgstr[0] "найден неполный заголовок tar (размер %l msgstr[1] "найден неполный заголовок tar (размер %lu байта)" msgstr[2] "найден неполный заголовок tar (размер %lu байт)" -#: pg_backup_tar.c:1188 +#: pg_backup_tar.c:1186 #, c-format msgid "" "corrupt tar header found in %s (expected %d, computed %d) file position %llu" @@ -1294,9 +1389,9 @@ msgstr "" msgid "unrecognized section name: \"%s\"" msgstr "нераспознанное имя раздела: \"%s\"" -#: pg_backup_utils.c:55 pg_dump.c:627 pg_dump.c:644 pg_dumpall.c:340 -#: pg_dumpall.c:350 pg_dumpall.c:358 pg_dumpall.c:366 pg_dumpall.c:373 -#: pg_dumpall.c:383 pg_dumpall.c:458 pg_restore.c:291 pg_restore.c:307 +#: pg_backup_utils.c:55 pg_dump.c:662 pg_dump.c:679 pg_dumpall.c:365 +#: pg_dumpall.c:375 pg_dumpall.c:383 pg_dumpall.c:391 pg_dumpall.c:398 +#: pg_dumpall.c:408 pg_dumpall.c:483 pg_restore.c:291 pg_restore.c:307 #: pg_restore.c:321 #, c-format msgid "Try \"%s --help\" for more information." @@ -1307,41 +1402,41 @@ msgstr "Для дополнительной информации попробу msgid "out of on_exit_nicely slots" msgstr "превышен предел обработчиков штатного выхода" -#: pg_dump.c:642 pg_dumpall.c:348 pg_restore.c:305 +#: pg_dump.c:677 pg_dumpall.c:373 pg_restore.c:305 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "слишком много аргументов командной строки (первый: \"%s\")" -#: pg_dump.c:661 pg_restore.c:328 +#: pg_dump.c:696 pg_restore.c:328 #, c-format msgid "options -s/--schema-only and -a/--data-only cannot be used together" msgstr "параметры -s/--schema-only и -a/--data-only исключают друг друга" -#: pg_dump.c:664 +#: pg_dump.c:699 #, c-format msgid "" "options -s/--schema-only and --include-foreign-data cannot be used together" msgstr "" "параметры -s/--schema-only и --include-foreign-data исключают друг друга" -#: pg_dump.c:667 +#: pg_dump.c:702 #, c-format msgid "option --include-foreign-data is not supported with parallel backup" msgstr "" "параметр --include-foreign-data не поддерживается при копировании в " "параллельном режиме" -#: pg_dump.c:670 pg_restore.c:331 +#: pg_dump.c:705 pg_restore.c:331 #, c-format msgid "options -c/--clean and -a/--data-only cannot be used together" msgstr "параметры -c/--clean и -a/--data-only исключают друг друга" -#: pg_dump.c:673 pg_dumpall.c:378 pg_restore.c:356 +#: pg_dump.c:708 pg_dumpall.c:403 pg_restore.c:356 #, c-format msgid "option --if-exists requires option -c/--clean" msgstr "параметр --if-exists требует указания -c/--clean" -#: pg_dump.c:680 +#: pg_dump.c:715 #, c-format msgid "" "option --on-conflict-do-nothing requires option --inserts, --rows-per-" @@ -1350,43 +1445,49 @@ msgstr "" "параметр --on-conflict-do-nothing требует указания --inserts, --rows-per-" "insert или --column-inserts" -#: pg_dump.c:702 +#: pg_dump.c:744 #, c-format -msgid "" -"requested compression not available in this installation -- archive will be " -"uncompressed" -msgstr "" -"установленная версия программы не поддерживает сжатие -- архив не будет " -"сжиматься" +msgid "unrecognized compression algorithm: \"%s\"" +msgstr "нераспознанный алгоритм сжатия: \"%s\"" -#: pg_dump.c:715 +#: pg_dump.c:751 +#, c-format +msgid "invalid compression specification: %s" +msgstr "неправильное указание сжатия: %s" + +#: pg_dump.c:764 +#, c-format +msgid "compression option \"%s\" is not currently supported by pg_dump" +msgstr "pg_dump в настоящее время не поддерживает параметр сжатия \"%s\"" + +#: pg_dump.c:776 #, c-format msgid "parallel backup only supported by the directory format" msgstr "" "параллельное резервное копирование поддерживается только с форматом " "\"каталог\"" -#: pg_dump.c:761 +#: pg_dump.c:822 #, c-format msgid "last built-in OID is %u" msgstr "последний системный OID: %u" -#: pg_dump.c:770 +#: pg_dump.c:831 #, c-format msgid "no matching schemas were found" msgstr "соответствующие схемы не найдены" -#: pg_dump.c:784 +#: pg_dump.c:848 #, c-format msgid "no matching tables were found" msgstr "соответствующие таблицы не найдены" -#: pg_dump.c:806 +#: pg_dump.c:876 #, c-format msgid "no matching extensions were found" msgstr "соответствующие расширения не найдены" -#: pg_dump.c:989 +#: pg_dump.c:1056 #, c-format msgid "" "%s dumps a database as a text file or to other formats.\n" @@ -1395,17 +1496,17 @@ msgstr "" "%s сохраняет резервную копию БД в текстовом файле или другом виде.\n" "\n" -#: pg_dump.c:990 pg_dumpall.c:605 pg_restore.c:433 +#: pg_dump.c:1057 pg_dumpall.c:630 pg_restore.c:433 #, c-format msgid "Usage:\n" msgstr "Использование:\n" -#: pg_dump.c:991 +#: pg_dump.c:1058 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [ПАРАМЕТР]... [ИМЯ_БД]\n" -#: pg_dump.c:993 pg_dumpall.c:608 pg_restore.c:436 +#: pg_dump.c:1060 pg_dumpall.c:633 pg_restore.c:436 #, c-format msgid "" "\n" @@ -1414,12 +1515,12 @@ msgstr "" "\n" "Общие параметры:\n" -#: pg_dump.c:994 +#: pg_dump.c:1061 #, c-format msgid " -f, --file=FILENAME output file or directory name\n" msgstr " -f, --file=ИМЯ имя выходного файла или каталога\n" -#: pg_dump.c:995 +#: pg_dump.c:1062 #, c-format msgid "" " -F, --format=c|d|t|p output file format (custom, directory, tar,\n" @@ -1429,7 +1530,7 @@ msgstr "" " (пользовательский | каталог | tar |\n" " текстовый (по умолчанию))\n" -#: pg_dump.c:997 +#: pg_dump.c:1064 #, c-format msgid " -j, --jobs=NUM use this many parallel jobs to dump\n" msgstr "" @@ -1437,23 +1538,27 @@ msgstr "" "число\n" " заданий\n" -#: pg_dump.c:998 pg_dumpall.c:610 +#: pg_dump.c:1065 pg_dumpall.c:635 #, c-format msgid " -v, --verbose verbose mode\n" msgstr " -v, --verbose режим подробных сообщений\n" -#: pg_dump.c:999 pg_dumpall.c:611 +#: pg_dump.c:1066 pg_dumpall.c:636 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: pg_dump.c:1000 +# well-spelled: ИНФО +#: pg_dump.c:1067 #, c-format msgid "" -" -Z, --compress=0-9 compression level for compressed formats\n" -msgstr " -Z, --compress=0-9 уровень сжатия при архивации\n" +" -Z, --compress=METHOD[:DETAIL]\n" +" compress as specified\n" +msgstr "" +" -Z, --compress=МЕТОД[:ДОП_ИНФО]\n" +" выполнять сжатие как указано\n" -#: pg_dump.c:1001 pg_dumpall.c:612 +#: pg_dump.c:1069 pg_dumpall.c:637 #, c-format msgid "" " --lock-wait-timeout=TIMEOUT fail after waiting TIMEOUT for a table lock\n" @@ -1461,7 +1566,7 @@ msgstr "" " --lock-wait-timeout=ТАЙМ-АУТ прервать операцию при тайм-ауте блокировки " "таблицы\n" -#: pg_dump.c:1002 pg_dumpall.c:639 +#: pg_dump.c:1070 pg_dumpall.c:664 #, c-format msgid "" " --no-sync do not wait for changes to be written safely " @@ -1470,12 +1575,12 @@ msgstr "" " --no-sync не ждать надёжного сохранения изменений на " "диске\n" -#: pg_dump.c:1003 pg_dumpall.c:613 +#: pg_dump.c:1071 pg_dumpall.c:638 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: pg_dump.c:1005 pg_dumpall.c:614 +#: pg_dump.c:1073 pg_dumpall.c:639 #, c-format msgid "" "\n" @@ -1484,22 +1589,35 @@ msgstr "" "\n" "Параметры, управляющие выводом:\n" -#: pg_dump.c:1006 pg_dumpall.c:615 +#: pg_dump.c:1074 pg_dumpall.c:640 #, c-format msgid " -a, --data-only dump only the data, not the schema\n" msgstr " -a, --data-only выгрузить только данные, без схемы\n" -#: pg_dump.c:1007 +#: pg_dump.c:1075 #, c-format -msgid " -b, --blobs include large objects in dump\n" -msgstr " -b, --blobs выгрузить также большие объекты\n" +msgid " -b, --large-objects include large objects in dump\n" +msgstr " -b, --large-objects выгрузить большие объекты\n" -#: pg_dump.c:1008 +#: pg_dump.c:1076 #, c-format -msgid " -B, --no-blobs exclude large objects in dump\n" -msgstr " -B, --no-blobs исключить из выгрузки большие объекты\n" +msgid " --blobs (same as --large-objects, deprecated)\n" +msgstr "" +" --blobs (устаревшая альтернатива --large-objects)\n" -#: pg_dump.c:1009 pg_restore.c:447 +#: pg_dump.c:1077 +#, c-format +msgid " -B, --no-large-objects exclude large objects in dump\n" +msgstr " -B, --no-large-objects исключить из выгрузки большие объекты\n" + +#: pg_dump.c:1078 +#, c-format +msgid "" +" --no-blobs (same as --no-large-objects, deprecated)\n" +msgstr "" +" --no-blobs (устаревшая альтернатива --no-large-objects)\n" + +#: pg_dump.c:1079 pg_restore.c:447 #, c-format msgid "" " -c, --clean clean (drop) database objects before " @@ -1508,7 +1626,7 @@ msgstr "" " -c, --clean очистить (удалить) объекты БД при " "восстановлении\n" -#: pg_dump.c:1010 +#: pg_dump.c:1080 #, c-format msgid "" " -C, --create include commands to create database in dump\n" @@ -1516,28 +1634,28 @@ msgstr "" " -C, --create добавить в копию команды создания базы " "данных\n" -#: pg_dump.c:1011 +#: pg_dump.c:1081 #, c-format msgid " -e, --extension=PATTERN dump the specified extension(s) only\n" msgstr "" " -e, --extension=ШАБЛОН выгрузить только указанное расширение(я)\n" -#: pg_dump.c:1012 pg_dumpall.c:617 +#: pg_dump.c:1082 pg_dumpall.c:642 #, c-format msgid " -E, --encoding=ENCODING dump the data in encoding ENCODING\n" msgstr " -E, --encoding=КОДИРОВКА выгружать данные в заданной кодировке\n" -#: pg_dump.c:1013 +#: pg_dump.c:1083 #, c-format msgid " -n, --schema=PATTERN dump the specified schema(s) only\n" msgstr " -n, --schema=ШАБЛОН выгрузить только указанную схему(ы)\n" -#: pg_dump.c:1014 +#: pg_dump.c:1084 #, c-format msgid " -N, --exclude-schema=PATTERN do NOT dump the specified schema(s)\n" msgstr " -N, --exclude-schema=ШАБЛОН НЕ выгружать указанную схему(ы)\n" -#: pg_dump.c:1015 +#: pg_dump.c:1085 #, c-format msgid "" " -O, --no-owner skip restoration of object ownership in\n" @@ -1546,12 +1664,12 @@ msgstr "" " -O, --no-owner не восстанавливать владение объектами\n" " при использовании текстового формата\n" -#: pg_dump.c:1017 pg_dumpall.c:621 +#: pg_dump.c:1087 pg_dumpall.c:646 #, c-format msgid " -s, --schema-only dump only the schema, no data\n" msgstr " -s, --schema-only выгрузить только схему, без данных\n" -#: pg_dump.c:1018 +#: pg_dump.c:1088 #, c-format msgid "" " -S, --superuser=NAME superuser user name to use in plain-text " @@ -1560,27 +1678,27 @@ msgstr "" " -S, --superuser=ИМЯ имя пользователя, который будет задействован\n" " при восстановлении из текстового формата\n" -#: pg_dump.c:1019 +#: pg_dump.c:1089 #, c-format -msgid " -t, --table=PATTERN dump the specified table(s) only\n" +msgid " -t, --table=PATTERN dump only the specified table(s)\n" msgstr " -t, --table=ШАБЛОН выгрузить только указанную таблицу(ы)\n" -#: pg_dump.c:1020 +#: pg_dump.c:1090 #, c-format msgid " -T, --exclude-table=PATTERN do NOT dump the specified table(s)\n" msgstr " -T, --exclude-table=ШАБЛОН НЕ выгружать указанную таблицу(ы)\n" -#: pg_dump.c:1021 pg_dumpall.c:624 +#: pg_dump.c:1091 pg_dumpall.c:649 #, c-format msgid " -x, --no-privileges do not dump privileges (grant/revoke)\n" msgstr " -x, --no-privileges не выгружать права (назначение/отзыв)\n" -#: pg_dump.c:1022 pg_dumpall.c:625 +#: pg_dump.c:1092 pg_dumpall.c:650 #, c-format msgid " --binary-upgrade for use by upgrade utilities only\n" msgstr " --binary-upgrade только для утилит обновления БД\n" -#: pg_dump.c:1023 pg_dumpall.c:626 +#: pg_dump.c:1093 pg_dumpall.c:651 #, c-format msgid "" " --column-inserts dump data as INSERT commands with column " @@ -1589,7 +1707,7 @@ msgstr "" " --column-inserts выгружать данные в виде INSERT с именами " "столбцов\n" -#: pg_dump.c:1024 pg_dumpall.c:627 +#: pg_dump.c:1094 pg_dumpall.c:652 #, c-format msgid "" " --disable-dollar-quoting disable dollar quoting, use SQL standard " @@ -1598,7 +1716,7 @@ msgstr "" " --disable-dollar-quoting отключить спецстроки с $, выводить строки\n" " по стандарту SQL\n" -#: pg_dump.c:1025 pg_dumpall.c:628 pg_restore.c:464 +#: pg_dump.c:1095 pg_dumpall.c:653 pg_restore.c:464 #, c-format msgid "" " --disable-triggers disable triggers during data-only restore\n" @@ -1606,7 +1724,7 @@ msgstr "" " --disable-triggers отключить триггеры при восстановлении\n" " только данных, без схемы\n" -#: pg_dump.c:1026 +#: pg_dump.c:1096 #, c-format msgid "" " --enable-row-security enable row security (dump only content user " @@ -1617,7 +1735,19 @@ msgstr "" "только\n" " те данные, которые доступны пользователю)\n" -#: pg_dump.c:1028 +#: pg_dump.c:1098 +#, c-format +msgid "" +" --exclude-table-and-children=PATTERN\n" +" do NOT dump the specified table(s), " +"including\n" +" child and partition tables\n" +msgstr "" +" --exclude-table-and-children=ШАБЛОН\n" +" НЕ выгружать указанную таблицу(ы), а также\n" +" её секции и дочерние таблицы\n" + +#: pg_dump.c:1101 #, c-format msgid "" " --exclude-table-data=PATTERN do NOT dump data for the specified table(s)\n" @@ -1625,7 +1755,19 @@ msgstr "" " --exclude-table-data=ШАБЛОН НЕ выгружать данные указанной таблицы " "(таблиц)\n" -#: pg_dump.c:1029 pg_dumpall.c:630 +#: pg_dump.c:1102 +#, c-format +msgid "" +" --exclude-table-data-and-children=PATTERN\n" +" do NOT dump data for the specified table(s),\n" +" including child and partition tables\n" +msgstr "" +" --exclude-table-data-and-children=ШАБЛОН\n" +" НЕ выгружать данные указанной таблицы " +"(таблиц),\n" +" а также её секций и дочерних таблиц\n" + +#: pg_dump.c:1105 pg_dumpall.c:655 #, c-format msgid "" " --extra-float-digits=NUM override default setting for " @@ -1633,13 +1775,13 @@ msgid "" msgstr "" " --extra-float-digits=ЧИСЛО переопределить значение extra_float_digits\n" -#: pg_dump.c:1030 pg_dumpall.c:631 pg_restore.c:466 +#: pg_dump.c:1106 pg_dumpall.c:656 pg_restore.c:466 #, c-format msgid " --if-exists use IF EXISTS when dropping objects\n" msgstr "" " --if-exists применять IF EXISTS при удалении объектов\n" -#: pg_dump.c:1031 +#: pg_dump.c:1107 #, c-format msgid "" " --include-foreign-data=PATTERN\n" @@ -1650,7 +1792,7 @@ msgstr "" " включать в копию данные сторонних таблиц с\n" " серверов с именами, подпадающими под ШАБЛОН\n" -#: pg_dump.c:1034 pg_dumpall.c:632 +#: pg_dump.c:1110 pg_dumpall.c:657 #, c-format msgid "" " --inserts dump data as INSERT commands, rather than " @@ -1659,57 +1801,57 @@ msgstr "" " --inserts выгрузить данные в виде команд INSERT, не " "COPY\n" -#: pg_dump.c:1035 pg_dumpall.c:633 +#: pg_dump.c:1111 pg_dumpall.c:658 #, c-format msgid " --load-via-partition-root load partitions via the root table\n" msgstr "" " --load-via-partition-root загружать секции через главную таблицу\n" -#: pg_dump.c:1036 pg_dumpall.c:634 +#: pg_dump.c:1112 pg_dumpall.c:659 #, c-format msgid " --no-comments do not dump comments\n" msgstr " --no-comments не выгружать комментарии\n" -#: pg_dump.c:1037 pg_dumpall.c:635 +#: pg_dump.c:1113 pg_dumpall.c:660 #, c-format msgid " --no-publications do not dump publications\n" msgstr " --no-publications не выгружать публикации\n" -#: pg_dump.c:1038 pg_dumpall.c:637 +#: pg_dump.c:1114 pg_dumpall.c:662 #, c-format msgid " --no-security-labels do not dump security label assignments\n" msgstr "" " --no-security-labels не выгружать назначения меток безопасности\n" -#: pg_dump.c:1039 pg_dumpall.c:638 +#: pg_dump.c:1115 pg_dumpall.c:663 #, c-format msgid " --no-subscriptions do not dump subscriptions\n" msgstr " --no-subscriptions не выгружать подписки\n" -#: pg_dump.c:1040 pg_dumpall.c:640 +#: pg_dump.c:1116 pg_dumpall.c:665 #, c-format msgid " --no-table-access-method do not dump table access methods\n" msgstr " --no-table-access-method не выгружать табличные методы доступа\n" -#: pg_dump.c:1041 pg_dumpall.c:641 +#: pg_dump.c:1117 pg_dumpall.c:666 #, c-format msgid " --no-tablespaces do not dump tablespace assignments\n" msgstr "" " --no-tablespaces не выгружать назначения табличных " "пространств\n" -#: pg_dump.c:1042 pg_dumpall.c:642 +#: pg_dump.c:1118 pg_dumpall.c:667 #, c-format msgid " --no-toast-compression do not dump TOAST compression methods\n" msgstr " --no-toast-compression не выгружать методы сжатия TOAST\n" -#: pg_dump.c:1043 pg_dumpall.c:643 +#: pg_dump.c:1119 pg_dumpall.c:668 #, c-format msgid " --no-unlogged-table-data do not dump unlogged table data\n" msgstr "" " --no-unlogged-table-data не выгружать данные нежурналируемых таблиц\n" -#: pg_dump.c:1044 pg_dumpall.c:644 +#: pg_dump.c:1120 pg_dumpall.c:669 #, c-format msgid "" " --on-conflict-do-nothing add ON CONFLICT DO NOTHING to INSERT " @@ -1718,7 +1860,7 @@ msgstr "" " --on-conflict-do-nothing добавлять ON CONFLICT DO NOTHING в команды " "INSERT\n" -#: pg_dump.c:1045 pg_dumpall.c:645 +#: pg_dump.c:1121 pg_dumpall.c:670 #, c-format msgid "" " --quote-all-identifiers quote all identifiers, even if not key words\n" @@ -1726,7 +1868,7 @@ msgstr "" " --quote-all-identifiers заключать в кавычки все идентификаторы,\n" " а не только ключевые слова\n" -#: pg_dump.c:1046 pg_dumpall.c:646 +#: pg_dump.c:1122 pg_dumpall.c:671 #, c-format msgid "" " --rows-per-insert=NROWS number of rows per INSERT; implies --inserts\n" @@ -1734,7 +1876,7 @@ msgstr "" " --rows-per-insert=ЧИСЛО число строк в одном INSERT; подразумевает --" "inserts\n" -#: pg_dump.c:1047 +#: pg_dump.c:1123 #, c-format msgid "" " --section=SECTION dump named section (pre-data, data, or post-" @@ -1743,7 +1885,7 @@ msgstr "" " --section=РАЗДЕЛ выгрузить заданный раздел\n" " (pre-data, data или post-data)\n" -#: pg_dump.c:1048 +#: pg_dump.c:1124 #, c-format msgid "" " --serializable-deferrable wait until the dump can run without " @@ -1752,13 +1894,13 @@ msgstr "" " --serializable-deferrable дождаться момента для выгрузки данных без " "аномалий\n" -#: pg_dump.c:1049 +#: pg_dump.c:1125 #, c-format msgid " --snapshot=SNAPSHOT use given snapshot for the dump\n" msgstr "" " --snapshot=СНИМОК использовать при выгрузке заданный снимок\n" -#: pg_dump.c:1050 pg_restore.c:476 +#: pg_dump.c:1126 pg_restore.c:476 #, c-format msgid "" " --strict-names require table and/or schema include patterns " @@ -1771,7 +1913,17 @@ msgstr "" "минимум\n" " один объект\n" -#: pg_dump.c:1052 pg_dumpall.c:647 pg_restore.c:478 +#: pg_dump.c:1128 +#, c-format +msgid "" +" --table-and-children=PATTERN dump only the specified table(s), including\n" +" child and partition tables\n" +msgstr "" +" --table-and-children=ШАБЛОН выгрузить только указанную таблицу(ы), а " +"также\n" +" её секции и дочерние таблицы\n" + +#: pg_dump.c:1130 pg_dumpall.c:672 pg_restore.c:478 #, c-format msgid "" " --use-set-session-authorization\n" @@ -1783,7 +1935,7 @@ msgstr "" " устанавливать владельца, используя команды\n" " SET SESSION AUTHORIZATION вместо ALTER OWNER\n" -#: pg_dump.c:1056 pg_dumpall.c:651 pg_restore.c:482 +#: pg_dump.c:1134 pg_dumpall.c:676 pg_restore.c:482 #, c-format msgid "" "\n" @@ -1792,33 +1944,33 @@ msgstr "" "\n" "Параметры подключения:\n" -#: pg_dump.c:1057 +#: pg_dump.c:1135 #, c-format msgid " -d, --dbname=DBNAME database to dump\n" msgstr " -d, --dbname=БД имя базы данных для выгрузки\n" -#: pg_dump.c:1058 pg_dumpall.c:653 pg_restore.c:483 +#: pg_dump.c:1136 pg_dumpall.c:678 pg_restore.c:483 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" " -h, --host=ИМЯ имя сервера баз данных или каталог сокетов\n" -#: pg_dump.c:1059 pg_dumpall.c:655 pg_restore.c:484 +#: pg_dump.c:1137 pg_dumpall.c:680 pg_restore.c:484 #, c-format msgid " -p, --port=PORT database server port number\n" msgstr " -p, --port=ПОРТ номер порта сервера БД\n" -#: pg_dump.c:1060 pg_dumpall.c:656 pg_restore.c:485 +#: pg_dump.c:1138 pg_dumpall.c:681 pg_restore.c:485 #, c-format msgid " -U, --username=NAME connect as specified database user\n" msgstr " -U, --username=ИМЯ имя пользователя баз данных\n" -#: pg_dump.c:1061 pg_dumpall.c:657 pg_restore.c:486 +#: pg_dump.c:1139 pg_dumpall.c:682 pg_restore.c:486 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password не запрашивать пароль\n" -#: pg_dump.c:1062 pg_dumpall.c:658 pg_restore.c:487 +#: pg_dump.c:1140 pg_dumpall.c:683 pg_restore.c:487 #, c-format msgid "" " -W, --password force password prompt (should happen " @@ -1826,12 +1978,12 @@ msgid "" msgstr "" " -W, --password запрашивать пароль всегда (обычно не требуется)\n" -#: pg_dump.c:1063 pg_dumpall.c:659 +#: pg_dump.c:1141 pg_dumpall.c:684 #, c-format msgid " --role=ROLENAME do SET ROLE before dump\n" msgstr " --role=ИМЯ_РОЛИ выполнить SET ROLE перед выгрузкой\n" -#: pg_dump.c:1065 +#: pg_dump.c:1143 #, c-format msgid "" "\n" @@ -1844,22 +1996,22 @@ msgstr "" "PGDATABASE.\n" "\n" -#: pg_dump.c:1067 pg_dumpall.c:663 pg_restore.c:494 +#: pg_dump.c:1145 pg_dumpall.c:688 pg_restore.c:494 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Об ошибках сообщайте по адресу <%s>.\n" -#: pg_dump.c:1068 pg_dumpall.c:664 pg_restore.c:495 +#: pg_dump.c:1146 pg_dumpall.c:689 pg_restore.c:495 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашняя страница %s: <%s>\n" -#: pg_dump.c:1087 pg_dumpall.c:488 +#: pg_dump.c:1165 pg_dumpall.c:513 #, c-format msgid "invalid client encoding \"%s\" specified" msgstr "указана неверная клиентская кодировка \"%s\"" -#: pg_dump.c:1225 +#: pg_dump.c:1303 #, c-format msgid "" "parallel dumps from standby servers are not supported by this server version" @@ -1867,160 +2019,160 @@ msgstr "" "выгрузка дампа в параллельном режиме с ведомых серверов не поддерживается " "данной версией сервера" -#: pg_dump.c:1290 +#: pg_dump.c:1368 #, c-format msgid "invalid output format \"%s\" specified" msgstr "указан неверный формат вывода: \"%s\"" -#: pg_dump.c:1331 pg_dump.c:1387 pg_dump.c:1440 pg_dumpall.c:1282 +#: pg_dump.c:1409 pg_dump.c:1465 pg_dump.c:1518 pg_dumpall.c:1449 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "неверное полное имя (слишком много компонентов): %s" -#: pg_dump.c:1339 +#: pg_dump.c:1417 #, c-format msgid "no matching schemas were found for pattern \"%s\"" msgstr "схемы, соответствующие шаблону \"%s\", не найдены" -#: pg_dump.c:1392 +#: pg_dump.c:1470 #, c-format msgid "no matching extensions were found for pattern \"%s\"" msgstr "расширения, соответствующие шаблону \"%s\", не найдены" -#: pg_dump.c:1445 +#: pg_dump.c:1523 #, c-format msgid "no matching foreign servers were found for pattern \"%s\"" msgstr "сторонние серверы, соответствующие шаблону \"%s\", не найдены" -#: pg_dump.c:1508 +#: pg_dump.c:1594 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "неверное имя отношения (слишком много компонентов): %s" -#: pg_dump.c:1519 +#: pg_dump.c:1616 #, c-format msgid "no matching tables were found for pattern \"%s\"" msgstr "таблицы, соответствующие шаблону \"%s\", не найдены" -#: pg_dump.c:1546 +#: pg_dump.c:1643 #, c-format msgid "You are currently not connected to a database." msgstr "В данный момент вы не подключены к базе данных." -#: pg_dump.c:1549 +#: pg_dump.c:1646 #, c-format msgid "cross-database references are not implemented: %s" msgstr "ссылки между базами не реализованы: %s" -#: pg_dump.c:1980 +#: pg_dump.c:2077 #, c-format msgid "dumping contents of table \"%s.%s\"" msgstr "выгрузка содержимого таблицы \"%s.%s\"" -#: pg_dump.c:2086 +#: pg_dump.c:2183 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetCopyData() failed." msgstr "Ошибка выгрузки таблицы \"%s\": сбой в PQgetCopyData()." -#: pg_dump.c:2087 pg_dump.c:2097 +#: pg_dump.c:2184 pg_dump.c:2194 #, c-format msgid "Error message from server: %s" msgstr "Сообщение об ошибке с сервера: %s" # skip-rule: language-mix -#: pg_dump.c:2088 pg_dump.c:2098 +#: pg_dump.c:2185 pg_dump.c:2195 #, c-format msgid "Command was: %s" msgstr "Выполнялась команда: %s" -#: pg_dump.c:2096 +#: pg_dump.c:2193 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetResult() failed." msgstr "Ошибка выгрузки таблицы \"%s\": сбой в PQgetResult()." -#: pg_dump.c:2178 +#: pg_dump.c:2275 #, c-format msgid "wrong number of fields retrieved from table \"%s\"" msgstr "из таблицы \"%s\" получено неверное количество полей" -#: pg_dump.c:2836 +#: pg_dump.c:2973 #, c-format msgid "saving database definition" msgstr "сохранение определения базы данных" -#: pg_dump.c:2932 +#: pg_dump.c:3078 #, c-format msgid "unrecognized locale provider: %s" msgstr "нераспознанный провайдер локали: %s" -#: pg_dump.c:3278 +#: pg_dump.c:3429 #, c-format msgid "saving encoding = %s" msgstr "сохранение кодировки (%s)" -#: pg_dump.c:3303 +#: pg_dump.c:3454 #, c-format msgid "saving standard_conforming_strings = %s" msgstr "сохранение standard_conforming_strings (%s)" -#: pg_dump.c:3342 +#: pg_dump.c:3493 #, c-format msgid "could not parse result of current_schemas()" msgstr "не удалось разобрать результат current_schemas()" -#: pg_dump.c:3361 +#: pg_dump.c:3512 #, c-format msgid "saving search_path = %s" msgstr "сохранение search_path = %s" -#: pg_dump.c:3399 +#: pg_dump.c:3549 #, c-format msgid "reading large objects" msgstr "чтение больших объектов" -#: pg_dump.c:3537 +#: pg_dump.c:3687 #, c-format msgid "saving large objects" msgstr "сохранение больших объектов" -#: pg_dump.c:3578 +#: pg_dump.c:3728 #, c-format msgid "error reading large object %u: %s" msgstr "ошибка чтения большого объекта %u: %s" -#: pg_dump.c:3684 +#: pg_dump.c:3834 #, c-format msgid "reading row-level security policies" msgstr "чтение политик защиты на уровне строк" -#: pg_dump.c:3825 +#: pg_dump.c:3975 #, c-format msgid "unexpected policy command type: %c" msgstr "нераспознанный тип команды в политике: %c" -#: pg_dump.c:4275 pg_dump.c:4593 pg_dump.c:11724 pg_dump.c:17575 -#: pg_dump.c:17577 pg_dump.c:18198 +#: pg_dump.c:4425 pg_dump.c:4760 pg_dump.c:11984 pg_dump.c:17894 +#: pg_dump.c:17896 pg_dump.c:18517 #, c-format msgid "could not parse %s array" msgstr "не удалось разобрать массив %s" -#: pg_dump.c:4461 +#: pg_dump.c:4613 #, c-format msgid "subscriptions not dumped because current user is not a superuser" msgstr "" "подписки не выгружены, так как текущий пользователь не суперпользователь" -#: pg_dump.c:4975 +#: pg_dump.c:5149 #, c-format msgid "could not find parent extension for %s %s" msgstr "не удалось найти родительское расширение для %s %s" -#: pg_dump.c:5120 +#: pg_dump.c:5294 #, c-format msgid "schema with OID %u does not exist" msgstr "схема с OID %u не существует" -#: pg_dump.c:6574 pg_dump.c:16839 +#: pg_dump.c:6776 pg_dump.c:17158 #, c-format msgid "" "failed sanity check, parent table with OID %u of sequence with OID %u not " @@ -2029,18 +2181,26 @@ msgstr "" "нарушение целостности: по OID %u не удалось найти родительскую таблицу " "последовательности с OID %u" -#: pg_dump.c:6878 pg_dump.c:7145 pg_dump.c:7616 pg_dump.c:8283 pg_dump.c:8404 -#: pg_dump.c:8558 +#: pg_dump.c:6919 +#, c-format +msgid "" +"failed sanity check, table OID %u appearing in pg_partitioned_table not found" +msgstr "" +"нарушение целостности: таблица с OID %u, фигурирующим в " +"pg_partitioned_table, не найдена" + +#: pg_dump.c:7150 pg_dump.c:7417 pg_dump.c:7888 pg_dump.c:8552 pg_dump.c:8671 +#: pg_dump.c:8819 #, c-format msgid "unrecognized table OID %u" msgstr "нераспознанный OID таблицы %u" -#: pg_dump.c:6882 +#: pg_dump.c:7154 #, c-format msgid "unexpected index data for table \"%s\"" msgstr "неожиданно получены данные индекса для таблицы \"%s\"" -#: pg_dump.c:7377 +#: pg_dump.c:7649 #, c-format msgid "" "failed sanity check, parent table with OID %u of pg_rewrite entry with OID " @@ -2049,7 +2209,7 @@ msgstr "" "нарушение целостности: по OID %u не удалось найти родительскую таблицу для " "записи pg_rewrite с OID %u" -#: pg_dump.c:7668 +#: pg_dump.c:7940 #, c-format msgid "" "query produced null referenced table name for foreign key trigger \"%s\" on " @@ -2058,32 +2218,32 @@ msgstr "" "запрос выдал NULL вместо имени целевой таблицы для триггера внешнего ключа " "\"%s\" в таблице \"%s\" (OID целевой таблицы: %u)" -#: pg_dump.c:8287 +#: pg_dump.c:8556 #, c-format msgid "unexpected column data for table \"%s\"" msgstr "неожиданно получены данные столбцов для таблицы \"%s\"" -#: pg_dump.c:8317 +#: pg_dump.c:8585 #, c-format msgid "invalid column numbering in table \"%s\"" msgstr "неверная нумерация столбцов в таблице \"%s\"" -#: pg_dump.c:8366 +#: pg_dump.c:8633 #, c-format msgid "finding table default expressions" msgstr "поиск выражений по умолчанию для таблиц" -#: pg_dump.c:8408 +#: pg_dump.c:8675 #, c-format msgid "invalid adnum value %d for table \"%s\"" msgstr "неверное значение adnum (%d) в таблице \"%s\"" -#: pg_dump.c:8508 +#: pg_dump.c:8769 #, c-format msgid "finding table check constraints" msgstr "поиск ограничений-проверок для таблиц" -#: pg_dump.c:8562 +#: pg_dump.c:8823 #, 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" @@ -2094,54 +2254,54 @@ msgstr[1] "" msgstr[2] "" "ожидалось %d ограничений-проверок для таблицы \"%s\", но найдено: %d" -#: pg_dump.c:8566 +#: pg_dump.c:8827 #, c-format msgid "The system catalogs might be corrupted." msgstr "Возможно, повреждены системные каталоги." -#: pg_dump.c:9256 +#: pg_dump.c:9517 #, c-format msgid "role with OID %u does not exist" msgstr "роль с OID %u не существует" -#: pg_dump.c:9368 pg_dump.c:9397 +#: pg_dump.c:9629 pg_dump.c:9658 #, c-format msgid "unsupported pg_init_privs entry: %u %u %d" msgstr "неподдерживаемая запись в pg_init_privs: %u %u %d" -#: pg_dump.c:10218 +#: pg_dump.c:10479 #, c-format msgid "typtype of data type \"%s\" appears to be invalid" msgstr "у типа данных \"%s\" по-видимому неправильный тип типа" # TO REVEIW -#: pg_dump.c:11793 +#: pg_dump.c:12053 #, c-format msgid "unrecognized provolatile value for function \"%s\"" msgstr "недопустимое значение provolatile для функции \"%s\"" # TO REVEIW -#: pg_dump.c:11843 pg_dump.c:13668 +#: pg_dump.c:12103 pg_dump.c:13985 #, c-format msgid "unrecognized proparallel value for function \"%s\"" msgstr "недопустимое значение proparallel для функции \"%s\"" -#: pg_dump.c:11974 pg_dump.c:12080 pg_dump.c:12087 +#: pg_dump.c:12233 pg_dump.c:12339 pg_dump.c:12346 #, c-format msgid "could not find function definition for function with OID %u" msgstr "не удалось найти определение функции для функции с OID %u" -#: pg_dump.c:12013 +#: pg_dump.c:12272 #, c-format msgid "bogus value in pg_cast.castfunc or pg_cast.castmethod field" msgstr "неприемлемое значение в поле pg_cast.castfunc или pg_cast.castmethod" -#: pg_dump.c:12016 +#: pg_dump.c:12275 #, c-format msgid "bogus value in pg_cast.castmethod field" msgstr "неприемлемое значение в поле pg_cast.castmethod" -#: pg_dump.c:12106 +#: pg_dump.c:12365 #, c-format msgid "" "bogus transform definition, at least one of trffromsql and trftosql should " @@ -2150,57 +2310,67 @@ msgstr "" "неприемлемое определение преобразования (trffromsql или trftosql должно быть " "ненулевым)" -#: pg_dump.c:12123 +#: pg_dump.c:12382 #, c-format msgid "bogus value in pg_transform.trffromsql field" msgstr "неприемлемое значение в поле pg_transform.trffromsql" -#: pg_dump.c:12144 +#: pg_dump.c:12403 #, c-format msgid "bogus value in pg_transform.trftosql field" msgstr "неприемлемое значение в поле pg_transform.trftosql" -#: pg_dump.c:12289 +#: pg_dump.c:12548 #, c-format msgid "postfix operators are not supported anymore (operator \"%s\")" msgstr "постфиксные операторы больше не поддерживаются (оператор \"%s\")" -#: pg_dump.c:12459 +#: pg_dump.c:12718 #, c-format msgid "could not find operator with OID %s" msgstr "оператор с OID %s не найден" -#: pg_dump.c:12527 +#: pg_dump.c:12786 #, c-format msgid "invalid type \"%c\" of access method \"%s\"" msgstr "неверный тип \"%c\" метода доступа \"%s\"" -#: pg_dump.c:13169 +#: pg_dump.c:13455 #, c-format msgid "unrecognized collation provider: %s" msgstr "нераспознанный провайдер правил сортировки: %s" -#: pg_dump.c:13587 +#: pg_dump.c:13464 pg_dump.c:13473 pg_dump.c:13483 pg_dump.c:13498 +#, c-format +msgid "invalid collation \"%s\"" +msgstr "неверное правило сортировки \"%s\"" + +#: pg_dump.c:13514 +#, c-format +msgid "unrecognized collation provider '%c'" +msgstr "нераспознанный провайдер правил сортировки '%c'" + +#: pg_dump.c:13904 #, c-format msgid "unrecognized aggfinalmodify value for aggregate \"%s\"" msgstr "нераспознанное значение aggfinalmodify для агрегата \"%s\"" -#: pg_dump.c:13643 +#: pg_dump.c:13960 #, c-format msgid "unrecognized aggmfinalmodify value for aggregate \"%s\"" msgstr "нераспознанное значение aggmfinalmodify для агрегата \"%s\"" -#: pg_dump.c:14361 +#: pg_dump.c:14677 #, c-format msgid "unrecognized object type in default privileges: %d" msgstr "нераспознанный тип объекта в определении прав по умолчанию: %d" -#: pg_dump.c:14377 +#: pg_dump.c:14693 #, c-format msgid "could not parse default ACL list (%s)" msgstr "не удалось разобрать список прав по умолчанию (%s)" -#: pg_dump.c:14459 +#: pg_dump.c:14775 #, c-format msgid "" "could not parse initial ACL list (%s) or default (%s) for object \"%s\" (%s)" @@ -2208,20 +2378,20 @@ msgstr "" "не удалось разобрать изначальный список ACL (%s) или ACL по умолчанию (%s) " "для объекта \"%s\" (%s)" -#: pg_dump.c:14484 +#: pg_dump.c:14800 #, c-format msgid "could not parse ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "" "не удалось разобрать список ACL (%s) или ACL по умолчанию (%s) для объекта " "\"%s\" (%s)" -#: pg_dump.c:15022 +#: pg_dump.c:15341 #, c-format msgid "query to obtain definition of view \"%s\" returned no data" msgstr "" "запрос на получение определения представления \"%s\" не возвратил данные" -#: pg_dump.c:15025 +#: pg_dump.c:15344 #, c-format msgid "" "query to obtain definition of view \"%s\" returned more than one definition" @@ -2229,49 +2399,49 @@ msgstr "" "запрос на получение определения представления \"%s\" возвратил несколько " "определений" -#: pg_dump.c:15032 +#: pg_dump.c:15351 #, c-format msgid "definition of view \"%s\" appears to be empty (length zero)" msgstr "определение представления \"%s\" пустое (длина равна нулю)" -#: pg_dump.c:15116 +#: pg_dump.c:15435 #, c-format msgid "WITH OIDS is not supported anymore (table \"%s\")" msgstr "свойство WITH OIDS больше не поддерживается (таблица \"%s\")" -#: pg_dump.c:16045 +#: pg_dump.c:16359 #, c-format msgid "invalid column number %d for table \"%s\"" msgstr "неверный номер столбца %d для таблицы \"%s\"" -#: pg_dump.c:16123 +#: pg_dump.c:16437 #, c-format msgid "could not parse index statistic columns" msgstr "не удалось разобрать столбцы статистики в индексе" -#: pg_dump.c:16125 +#: pg_dump.c:16439 #, c-format msgid "could not parse index statistic values" msgstr "не удалось разобрать значения статистики в индексе" -#: pg_dump.c:16127 +#: pg_dump.c:16441 #, c-format msgid "mismatched number of columns and values for index statistics" msgstr "" "столбцы, задающие статистику индекса, не соответствуют значениям по " "количеству" -#: pg_dump.c:16345 +#: pg_dump.c:16657 #, c-format msgid "missing index for constraint \"%s\"" msgstr "отсутствует индекс для ограничения \"%s\"" -#: pg_dump.c:16573 +#: pg_dump.c:16892 #, c-format msgid "unrecognized constraint type: %c" msgstr "нераспознанный тип ограничения: %c" -#: pg_dump.c:16674 pg_dump.c:16903 +#: pg_dump.c:16993 pg_dump.c:17222 #, c-format msgid "query to get data of sequence \"%s\" returned %d row (expected 1)" msgid_plural "" @@ -2286,22 +2456,22 @@ msgstr[2] "" "запрос на получение данных последовательности \"%s\" вернул %d строк " "(ожидалась 1)" -#: pg_dump.c:16706 +#: pg_dump.c:17025 #, c-format msgid "unrecognized sequence type: %s" msgstr "нераспознанный тип последовательности: %s" -#: pg_dump.c:16995 +#: pg_dump.c:17314 #, c-format msgid "unexpected tgtype value: %d" msgstr "неожиданное значение tgtype: %d" -#: pg_dump.c:17067 +#: pg_dump.c:17386 #, c-format msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"" msgstr "неверная строка аргументов (%s) для триггера \"%s\" таблицы \"%s\"" -#: pg_dump.c:17336 +#: pg_dump.c:17655 #, c-format msgid "" "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows " @@ -2310,27 +2480,27 @@ msgstr "" "запрос на получение правила \"%s\" для таблицы \"%s\" возвратил неверное " "число строк" -#: pg_dump.c:17489 +#: pg_dump.c:17808 #, c-format msgid "could not find referenced extension %u" msgstr "не удалось найти упомянутое расширение %u" -#: pg_dump.c:17579 +#: pg_dump.c:17898 #, c-format msgid "mismatched number of configurations and conditions for extension" msgstr "конфигурации расширения не соответствуют условиям по количеству" -#: pg_dump.c:17711 +#: pg_dump.c:18030 #, c-format msgid "reading dependency data" msgstr "чтение информации о зависимостях" -#: pg_dump.c:17797 +#: pg_dump.c:18116 #, c-format msgid "no referencing object %u %u" msgstr "нет подчинённого объекта %u %u" -#: pg_dump.c:17808 +#: pg_dump.c:18127 #, c-format msgid "no referenced object %u %u" msgstr "нет вышестоящего объекта %u %u" @@ -2350,7 +2520,7 @@ msgstr "неверная зависимость %d" msgid "could not identify dependency loop" msgstr "не удалось определить цикл зависимостей" -#: pg_dump_sort.c:1232 +#: pg_dump_sort.c:1276 #, c-format msgid "there are circular foreign-key constraints on this table:" msgid_plural "there are circular foreign-key constraints among these tables:" @@ -2358,12 +2528,7 @@ msgstr[0] "в следующей таблице зациклены ограни msgstr[1] "в следующих таблицах зациклены ограничения внешних ключей:" msgstr[2] "в следующих таблицах зациклены ограничения внешних ключей:" -#: pg_dump_sort.c:1236 pg_dump_sort.c:1256 -#, c-format -msgid " %s" -msgstr " %s" - -#: pg_dump_sort.c:1237 +#: pg_dump_sort.c:1281 #, c-format msgid "" "You might not be able to restore the dump without using --disable-triggers " @@ -2372,7 +2537,7 @@ msgstr "" "Возможно, для восстановления базы потребуется использовать --disable-" "triggers или временно удалить ограничения." -#: pg_dump_sort.c:1238 +#: pg_dump_sort.c:1282 #, c-format msgid "" "Consider using a full dump instead of a --data-only dump to avoid this " @@ -2381,26 +2546,26 @@ msgstr "" "Во избежание этой проблемы, вероятно, стоит выгружать всю базу данных, а не " "только данные (--data-only)." -#: pg_dump_sort.c:1250 +#: pg_dump_sort.c:1294 #, c-format msgid "could not resolve dependency loop among these items:" msgstr "не удалось разрешить цикл зависимостей для следующих объектов:" -#: pg_dumpall.c:205 +#: pg_dumpall.c:230 #, c-format msgid "" "program \"%s\" is needed by %s but was not found in the same directory as " "\"%s\"" msgstr "программа \"%s\" нужна для %s, но она не найдена в каталоге \"%s\"" -#: pg_dumpall.c:208 +#: pg_dumpall.c:233 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "" "программа \"%s\" найдена программой \"%s\", но её версия отличается от " "версии %s" -#: pg_dumpall.c:357 +#: pg_dumpall.c:382 #, c-format msgid "" "option --exclude-database cannot be used together with -g/--globals-only, -" @@ -2409,30 +2574,30 @@ msgstr "" "параметр --exclude-database несовместим с -g/--globals-only, -r/--roles-only " "и -t/--tablespaces-only" -#: pg_dumpall.c:365 +#: pg_dumpall.c:390 #, c-format msgid "options -g/--globals-only and -r/--roles-only cannot be used together" msgstr "параметры -g/--globals-only и -r/--roles-only исключают друг друга" -#: pg_dumpall.c:372 +#: pg_dumpall.c:397 #, c-format msgid "" "options -g/--globals-only and -t/--tablespaces-only cannot be used together" msgstr "" "параметры -g/--globals-only и -t/--tablespaces-only исключают друг друга" -#: pg_dumpall.c:382 +#: pg_dumpall.c:407 #, c-format msgid "" "options -r/--roles-only and -t/--tablespaces-only cannot be used together" msgstr "параметры -r/--roles-only и -t/--tablespaces-only исключают друг друга" -#: pg_dumpall.c:444 pg_dumpall.c:1587 +#: pg_dumpall.c:469 pg_dumpall.c:1750 #, c-format msgid "could not connect to database \"%s\"" msgstr "не удалось подключиться к базе данных: \"%s\"" -#: pg_dumpall.c:456 +#: pg_dumpall.c:481 #, c-format msgid "" "could not connect to databases \"postgres\" or \"template1\"\n" @@ -2441,7 +2606,7 @@ msgstr "" "не удалось подключиться к базе данных \"postgres\" или \"template1\"\n" "Укажите другую базу данных." -#: pg_dumpall.c:604 +#: pg_dumpall.c:629 #, c-format msgid "" "%s extracts a PostgreSQL database cluster into an SQL script file.\n" @@ -2450,17 +2615,17 @@ msgstr "" "%s экспортирует всё содержимое кластера баз данных PostgreSQL в SQL-скрипт.\n" "\n" -#: pg_dumpall.c:606 +#: pg_dumpall.c:631 #, c-format msgid " %s [OPTION]...\n" msgstr " %s [ПАРАМЕТР]...\n" -#: pg_dumpall.c:609 +#: pg_dumpall.c:634 #, c-format msgid " -f, --file=FILENAME output file name\n" msgstr " -f, --file=ИМЯ_ФАЙЛА имя выходного файла\n" -#: pg_dumpall.c:616 +#: pg_dumpall.c:641 #, c-format msgid "" " -c, --clean clean (drop) databases before recreating\n" @@ -2468,18 +2633,18 @@ msgstr "" " -c, --clean очистить (удалить) базы данных перед\n" " восстановлением\n" -#: pg_dumpall.c:618 +#: pg_dumpall.c:643 #, c-format msgid " -g, --globals-only dump only global objects, no databases\n" msgstr "" " -g, --globals-only выгрузить только глобальные объекты, без баз\n" -#: pg_dumpall.c:619 pg_restore.c:456 +#: pg_dumpall.c:644 pg_restore.c:456 #, c-format msgid " -O, --no-owner skip restoration of object ownership\n" msgstr " -O, --no-owner не восстанавливать владение объектами\n" -#: pg_dumpall.c:620 +#: pg_dumpall.c:645 #, c-format msgid "" " -r, --roles-only dump only roles, no databases or tablespaces\n" @@ -2487,13 +2652,13 @@ msgstr "" " -r, --roles-only выгрузить только роли, без баз данных\n" " и табличных пространств\n" -#: pg_dumpall.c:622 +#: pg_dumpall.c:647 #, c-format msgid " -S, --superuser=NAME superuser user name to use in the dump\n" msgstr "" " -S, --superuser=ИМЯ имя пользователя для выполнения выгрузки\n" -#: pg_dumpall.c:623 +#: pg_dumpall.c:648 #, c-format msgid "" " -t, --tablespaces-only dump only tablespaces, no databases or roles\n" @@ -2501,7 +2666,7 @@ msgstr "" " -t, --tablespaces-only выгружать только табличные пространства,\n" " без баз данных и ролей\n" -#: pg_dumpall.c:629 +#: pg_dumpall.c:654 #, c-format msgid "" " --exclude-database=PATTERN exclude databases whose name matches PATTERN\n" @@ -2509,22 +2674,22 @@ msgstr "" " --exclude-database=ШАБЛОН исключить базы с именами, подпадающими под " "шаблон\n" -#: pg_dumpall.c:636 +#: pg_dumpall.c:661 #, c-format msgid " --no-role-passwords do not dump passwords for roles\n" msgstr " --no-role-passwords не выгружать пароли ролей\n" -#: pg_dumpall.c:652 +#: pg_dumpall.c:677 #, c-format msgid " -d, --dbname=CONNSTR connect using connection string\n" msgstr " -d, --dbname=СТРОКА подключиться с данной строкой подключения\n" -#: pg_dumpall.c:654 +#: pg_dumpall.c:679 #, c-format msgid " -l, --database=DBNAME alternative default database\n" msgstr " -l, --database=ИМЯ_БД выбор другой базы данных по умолчанию\n" -#: pg_dumpall.c:661 +#: pg_dumpall.c:686 #, c-format msgid "" "\n" @@ -2538,59 +2703,64 @@ msgstr "" "вывод.\n" "\n" -#: pg_dumpall.c:803 +#: pg_dumpall.c:828 #, c-format msgid "role name starting with \"pg_\" skipped (%s)" msgstr "имя роли, начинающееся с \"pg_\", пропущено (%s)" -#: pg_dumpall.c:1018 +#: pg_dumpall.c:1050 +#, c-format +msgid "could not find a legal dump ordering for memberships in role \"%s\"" +msgstr "не удалось найти подходящий порядок выгрузки для членов роли \"%s\"" + +#: pg_dumpall.c:1185 #, c-format msgid "could not parse ACL list (%s) for parameter \"%s\"" msgstr "не удалось разобрать список ACL (%s) для параметра \"%s\"" -#: pg_dumpall.c:1136 +#: pg_dumpall.c:1303 #, c-format msgid "could not parse ACL list (%s) for tablespace \"%s\"" msgstr "" "не удалось разобрать список управления доступом (%s) для табл. пространства " "\"%s\"" -#: pg_dumpall.c:1343 +#: pg_dumpall.c:1510 #, c-format msgid "excluding database \"%s\"" msgstr "база данных \"%s\" исключается" -#: pg_dumpall.c:1347 +#: pg_dumpall.c:1514 #, c-format msgid "dumping database \"%s\"" msgstr "выгрузка базы данных \"%s\"" -#: pg_dumpall.c:1378 +#: pg_dumpall.c:1545 #, c-format msgid "pg_dump failed on database \"%s\", exiting" msgstr "ошибка при обработке базы \"%s\", pg_dump завершается" -#: pg_dumpall.c:1384 +#: pg_dumpall.c:1551 #, c-format msgid "could not re-open the output file \"%s\": %m" msgstr "не удалось повторно открыть выходной файл \"%s\": %m" -#: pg_dumpall.c:1425 +#: pg_dumpall.c:1592 #, c-format msgid "running \"%s\"" msgstr "выполняется \"%s\"" -#: pg_dumpall.c:1630 +#: pg_dumpall.c:1793 #, c-format msgid "could not get server version" msgstr "не удалось узнать версию сервера" -#: pg_dumpall.c:1633 +#: pg_dumpall.c:1796 #, c-format msgid "could not parse server version \"%s\"" msgstr "не удалось разобрать строку версии сервера \"%s\"" -#: pg_dumpall.c:1703 pg_dumpall.c:1726 +#: pg_dumpall.c:1866 pg_dumpall.c:1889 #, c-format msgid "executing %s" msgstr "выполняется %s" @@ -2874,6 +3044,47 @@ msgstr "" "ввода.\n" "\n" +#, c-format +#~ msgid "could not identify current directory: %m" +#~ msgstr "не удалось определить текущий каталог: %m" + +#, c-format +#~ msgid "could not change directory to \"%s\": %m" +#~ msgstr "не удалось перейти в каталог \"%s\": %m" + +#, c-format +#~ msgid "could not read symbolic link \"%s\": %m" +#~ msgstr "не удалось прочитать символическую ссылку \"%s\": %m" + +#, c-format +#~ msgid "not built with zlib support" +#~ msgstr "программа собрана без поддержки zlib" + +#, c-format +#~ msgid "could not close blob data file: %m" +#~ msgstr "не удалось закрыть файл данных BLOB: %m" + +#, c-format +#~ msgid "could not close blobs TOC file: %m" +#~ msgstr "не удалось закрыть файл оглавления BLOB: %m" + +#, c-format +#~ msgid "" +#~ "requested compression not available in this installation -- archive will " +#~ "be uncompressed" +#~ msgstr "" +#~ "установленная версия программы не поддерживает сжатие -- архив не будет " +#~ "сжиматься" + +#, c-format +#~ msgid "" +#~ " -Z, --compress=0-9 compression level for compressed formats\n" +#~ msgstr " -Z, --compress=0-9 уровень сжатия при архивации\n" + +#, c-format +#~ msgid " %s" +#~ msgstr " %s" + #~ msgid "fatal: " #~ msgstr "важно: " @@ -3026,9 +3237,6 @@ msgstr "" #~ msgid "could not reconnect to database" #~ msgstr "не удалось переподключиться к базе" -#~ msgid "could not reconnect to database: %s" -#~ msgstr "не удалось переподключиться к базе: %s" - #~ msgid "connection needs password" #~ msgstr "для подключения необходим пароль" @@ -3192,9 +3400,6 @@ msgstr "" #~ "Если они вам не нужны, укажите при запуске ключ\n" #~ "--no-synchronized-snapshots.\n" -#~ msgid "reading partition information\n" -#~ msgstr "чтение информации о секциях\n" - #~ msgid "finding partition relationships\n" #~ msgstr "обнаружение взаимосвязей секций\n" diff --git a/src/bin/pg_resetwal/po/cs.po b/src/bin/pg_resetwal/po/cs.po index f1ec4d9da15..0b622d8b3dd 100644 --- a/src/bin/pg_resetwal/po/cs.po +++ b/src/bin/pg_resetwal/po/cs.po @@ -283,9 +283,7 @@ msgstr "Číslo verze katalogu: %u\n" #: pg_resetwal.c:752 #, c-format msgid "Database system identifier: %llu\n" -msgstr "" -"Identifikátor databázového systému: %llu\n" -"\n" +msgstr "Identifikátor databázového systému: %llu\n" #: pg_resetwal.c:754 #, c-format diff --git a/src/bin/pg_resetwal/po/de.po b/src/bin/pg_resetwal/po/de.po index 6a7cf3a7763..8235147dc4b 100644 --- a/src/bin/pg_resetwal/po/de.po +++ b/src/bin/pg_resetwal/po/de.po @@ -1,14 +1,14 @@ # German message translation file for pg_resetwal -# Peter Eisentraut , 2002 - 2022. +# Peter Eisentraut , 2002 - 2023. # # Use these quotes: »%s« # 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-05-08 07:49+0000\n" -"PO-Revision-Date: 2022-05-08 14:16+0200\n" +"POT-Creation-Date: 2023-08-29 23:20+0000\n" +"PO-Revision-Date: 2023-08-30 07:59+0200\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -17,62 +17,52 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: ../../../src/common/logging.c:277 +#: ../../../src/common/logging.c:276 #, c-format msgid "error: " msgstr "Fehler: " -#: ../../../src/common/logging.c:284 +#: ../../../src/common/logging.c:283 #, c-format msgid "warning: " msgstr "Warnung: " -#: ../../../src/common/logging.c:295 +#: ../../../src/common/logging.c:294 #, c-format msgid "detail: " msgstr "Detail: " -#: ../../../src/common/logging.c:302 +#: ../../../src/common/logging.c:301 #, c-format msgid "hint: " msgstr "Tipp: " -#: ../../common/restricted_token.c:64 -#, c-format -msgid "could not load library \"%s\": error code %lu" -msgstr "konnte Bibliothek »%s« nicht laden: Fehlercode %lu" - -#: ../../common/restricted_token.c:73 -#, c-format -msgid "cannot create restricted tokens on this platform: error code %lu" -msgstr "auf dieser Plattform können keine beschränkten Token erzeugt werden: Fehlercode %lu" - -#: ../../common/restricted_token.c:82 +#: ../../common/restricted_token.c:60 #, c-format msgid "could not open process token: error code %lu" msgstr "konnte Prozess-Token nicht öffnen: Fehlercode %lu" -#: ../../common/restricted_token.c:97 +#: ../../common/restricted_token.c:74 #, c-format msgid "could not allocate SIDs: error code %lu" msgstr "konnte SIDs nicht erzeugen: Fehlercode %lu" -#: ../../common/restricted_token.c:119 +#: ../../common/restricted_token.c:94 #, c-format msgid "could not create restricted token: error code %lu" msgstr "konnte beschränktes Token nicht erzeugen: Fehlercode %lu" -#: ../../common/restricted_token.c:140 +#: ../../common/restricted_token.c:115 #, c-format msgid "could not start process for command \"%s\": error code %lu" msgstr "konnte Prozess für Befehl »%s« nicht starten: Fehlercode %lu" -#: ../../common/restricted_token.c:178 +#: ../../common/restricted_token.c:153 #, c-format msgid "could not re-execute with restricted token: error code %lu" msgstr "konnte Prozess nicht mit beschränktem Token neu starten: Fehlercode %lu" -#: ../../common/restricted_token.c:193 +#: ../../common/restricted_token.c:168 #, c-format msgid "could not get exit code from subprocess: error code %lu" msgstr "konnte Statuscode des Subprozesses nicht ermitteln: Fehlercode %lu" @@ -140,7 +130,7 @@ msgstr "Argument von --wal-segsize muss eine Zahl sein" #: pg_resetwal.c:298 #, c-format -msgid "argument of --wal-segsize must be a power of 2 between 1 and 1024" +msgid "argument of --wal-segsize must be a power of two between 1 and 1024" msgstr "Argument von --wal-segsize muss eine Zweierpotenz zwischen 1 und 1024 sein" #: pg_resetwal.c:314 @@ -514,42 +504,42 @@ msgstr "oldestCommitTsXid: %u\n" msgid "newestCommitTsXid: %u\n" msgstr "newestCommitTsXid: %u\n" -#: pg_resetwal.c:922 pg_resetwal.c:981 pg_resetwal.c:1016 +#: pg_resetwal.c:921 pg_resetwal.c:974 pg_resetwal.c:1009 #, c-format msgid "could not open directory \"%s\": %m" msgstr "konnte Verzeichnis »%s« nicht öffnen: %m" -#: pg_resetwal.c:954 pg_resetwal.c:995 pg_resetwal.c:1033 +#: pg_resetwal.c:947 pg_resetwal.c:988 pg_resetwal.c:1026 #, c-format msgid "could not read directory \"%s\": %m" msgstr "konnte Verzeichnis »%s« nicht lesen: %m" -#: pg_resetwal.c:957 pg_resetwal.c:998 pg_resetwal.c:1036 +#: pg_resetwal.c:950 pg_resetwal.c:991 pg_resetwal.c:1029 #, c-format msgid "could not close directory \"%s\": %m" msgstr "konnte Verzeichnis »%s« nicht schließen: %m" -#: pg_resetwal.c:990 pg_resetwal.c:1028 +#: pg_resetwal.c:983 pg_resetwal.c:1021 #, c-format msgid "could not delete file \"%s\": %m" msgstr "konnte Datei »%s« nicht löschen: %m" -#: pg_resetwal.c:1100 +#: pg_resetwal.c:1093 #, c-format msgid "could not open file \"%s\": %m" msgstr "konnte Datei »%s« nicht öffnen: %m" -#: pg_resetwal.c:1108 pg_resetwal.c:1120 +#: pg_resetwal.c:1101 pg_resetwal.c:1113 #, c-format msgid "could not write file \"%s\": %m" msgstr "konnte Datei »%s« nicht schreiben: %m" -#: pg_resetwal.c:1125 +#: pg_resetwal.c:1118 #, c-format msgid "fsync error: %m" msgstr "fsync-Fehler: %m" -#: pg_resetwal.c:1134 +#: pg_resetwal.c:1127 #, c-format msgid "" "%s resets the PostgreSQL write-ahead log.\n" @@ -558,7 +548,7 @@ msgstr "" "%s setzt den PostgreSQL-Write-Ahead-Log zurück.\n" "\n" -#: pg_resetwal.c:1135 +#: pg_resetwal.c:1128 #, c-format msgid "" "Usage:\n" @@ -569,12 +559,12 @@ msgstr "" " %s [OPTION]... DATENVERZEICHNIS\n" "\n" -#: pg_resetwal.c:1136 +#: pg_resetwal.c:1129 #, c-format msgid "Options:\n" msgstr "Optionen:\n" -#: pg_resetwal.c:1137 +#: pg_resetwal.c:1130 #, c-format msgid "" " -c, --commit-timestamp-ids=XID,XID\n" @@ -585,74 +575,74 @@ msgstr "" " älteste und neuste Transaktion mit Commit-\n" " Timestamp setzen (Null bedeutet keine Änderung)\n" -#: pg_resetwal.c:1140 +#: pg_resetwal.c:1133 #, c-format msgid " [-D, --pgdata=]DATADIR data directory\n" msgstr " [-D, --pgdata=]VERZ Datenbankverzeichnis\n" -#: pg_resetwal.c:1141 +#: pg_resetwal.c:1134 #, c-format msgid " -e, --epoch=XIDEPOCH set next transaction ID epoch\n" msgstr " -e, --epoch=XIDEPOCHE nächste Transaktions-ID-Epoche setzen\n" -#: pg_resetwal.c:1142 +#: pg_resetwal.c:1135 #, c-format msgid " -f, --force force update to be done\n" msgstr " -f, --force Änderung erzwingen\n" -#: pg_resetwal.c:1143 +#: pg_resetwal.c:1136 #, c-format msgid " -l, --next-wal-file=WALFILE set minimum starting location for new WAL\n" msgstr " -l, --next-wal-file=WALDATEI minimale Startposition für neuen WAL setzen\n" -#: pg_resetwal.c:1144 +#: pg_resetwal.c:1137 #, c-format msgid " -m, --multixact-ids=MXID,MXID set next and oldest multitransaction ID\n" msgstr " -m, --multixact-ids=MXID,MXID nächste und älteste Multitransaktions-ID setzen\n" -#: pg_resetwal.c:1145 +#: pg_resetwal.c:1138 #, c-format msgid " -n, --dry-run no update, just show what would be done\n" msgstr "" " -n, --dry-run keine Änderungen; nur zeigen, was gemacht\n" " werden würde\n" -#: pg_resetwal.c:1146 +#: pg_resetwal.c:1139 #, c-format msgid " -o, --next-oid=OID set next OID\n" msgstr " -o, --next-oid=OID nächste OID setzen\n" -#: pg_resetwal.c:1147 +#: pg_resetwal.c:1140 #, c-format msgid " -O, --multixact-offset=OFFSET set next multitransaction offset\n" msgstr " -O, --multixact-offset=OFFSET nächsten Multitransaktions-Offset setzen\n" -#: pg_resetwal.c:1148 +#: pg_resetwal.c:1141 #, c-format msgid " -u, --oldest-transaction-id=XID set oldest transaction ID\n" msgstr " -u, --oldest-transaction-id=XID älteste Transaktions-ID setzen\n" -#: pg_resetwal.c:1149 +#: pg_resetwal.c:1142 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version Versionsinformationen anzeigen, dann beenden\n" -#: pg_resetwal.c:1150 +#: pg_resetwal.c:1143 #, c-format msgid " -x, --next-transaction-id=XID set next transaction ID\n" msgstr " -x, --next-transaction-id=XID nächste Transaktions-ID setzen\n" -#: pg_resetwal.c:1151 +#: pg_resetwal.c:1144 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr " --wal-segsize=ZAHL Größe eines WAL-Segments, in Megabytes\n" -#: pg_resetwal.c:1152 +#: pg_resetwal.c:1145 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help diese Hilfe anzeigen, dann beenden\n" -#: pg_resetwal.c:1153 +#: pg_resetwal.c:1146 #, c-format msgid "" "\n" @@ -661,7 +651,7 @@ msgstr "" "\n" "Berichten Sie Fehler an <%s>.\n" -#: pg_resetwal.c:1154 +#: pg_resetwal.c:1147 #, c-format msgid "%s home page: <%s>\n" msgstr "%s Homepage: <%s>\n" diff --git a/src/bin/pg_resetwal/po/es.po b/src/bin/pg_resetwal/po/es.po index 6a4c958782d..84dba82b6dc 100644 --- a/src/bin/pg_resetwal/po/es.po +++ b/src/bin/pg_resetwal/po/es.po @@ -288,7 +288,7 @@ msgstr "Número de versión de catálogo: %u\n" #: pg_resetwal.c:720 #, c-format msgid "Database system identifier: %llu\n" -msgstr "Identificador de sistema: %llu\n" +msgstr "Identificador de sistema: %llu\n" #: pg_resetwal.c:722 #, c-format diff --git a/src/bin/pg_resetwal/po/fr.po b/src/bin/pg_resetwal/po/fr.po index 1010616c301..9c029480625 100644 --- a/src/bin/pg_resetwal/po/fr.po +++ b/src/bin/pg_resetwal/po/fr.po @@ -12,8 +12,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: 2023-09-05 17:20+0000\n" +"PO-Revision-Date: 2023-09-05 22:02+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -21,64 +21,54 @@ 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.3.2\n" -#: ../../../src/common/logging.c:273 +#: ../../../src/common/logging.c:276 #, c-format msgid "error: " msgstr "erreur : " -#: ../../../src/common/logging.c:280 +#: ../../../src/common/logging.c:283 #, c-format msgid "warning: " msgstr "attention : " -#: ../../../src/common/logging.c:291 +#: ../../../src/common/logging.c:294 #, c-format msgid "detail: " msgstr "détail : " -#: ../../../src/common/logging.c:298 +#: ../../../src/common/logging.c:301 #, c-format msgid "hint: " msgstr "astuce : " -#: ../../common/restricted_token.c:64 -#, c-format -msgid "could not load library \"%s\": error code %lu" -msgstr "n'a pas pu charger la bibliothèque « %s » : code d'erreur %lu" - -#: ../../common/restricted_token.c:73 -#, c-format -msgid "cannot create restricted tokens on this platform: error code %lu" -msgstr "ne peut pas créer les jetons restreints sur cette plateforme : code d'erreur %lu" - -#: ../../common/restricted_token.c:82 +#: ../../common/restricted_token.c:60 #, c-format msgid "could not open process token: error code %lu" msgstr "n'a pas pu ouvrir le jeton du processus : code d'erreur %lu" -#: ../../common/restricted_token.c:97 +#: ../../common/restricted_token.c:74 #, c-format msgid "could not allocate SIDs: error code %lu" msgstr "n'a pas pu allouer les SID : code d'erreur %lu" -#: ../../common/restricted_token.c:119 +#: ../../common/restricted_token.c:94 #, c-format msgid "could not create restricted token: error code %lu" msgstr "n'a pas pu créer le jeton restreint : code d'erreur %lu" -#: ../../common/restricted_token.c:140 +#: ../../common/restricted_token.c:115 #, c-format msgid "could not start process for command \"%s\": error code %lu" msgstr "n'a pas pu démarrer le processus pour la commande « %s » : code d'erreur %lu" -#: ../../common/restricted_token.c:178 +#: ../../common/restricted_token.c:153 #, c-format msgid "could not re-execute with restricted token: error code %lu" msgstr "n'a pas pu ré-exécuter le jeton restreint : code d'erreur %lu" -#: ../../common/restricted_token.c:193 +#: ../../common/restricted_token.c:168 #, c-format msgid "could not get exit code from subprocess: error code %lu" msgstr "n'a pas pu récupérer le code de statut du sous-processus : code d'erreur %lu" @@ -146,7 +136,7 @@ msgstr "l'argument de --wal-segsize doit être un nombre" #: pg_resetwal.c:298 #, c-format -msgid "argument of --wal-segsize must be a power of 2 between 1 and 1024" +msgid "argument of --wal-segsize must be a power of two between 1 and 1024" msgstr "l'argument de --wal-segsize doit être une puissance de 2 comprise entre 1 et 1024" #: pg_resetwal.c:314 @@ -359,12 +349,12 @@ msgstr "Dernier oldestActiveXID du point de contrôle : %u\n" #: pg_resetwal.c:741 #, c-format msgid "Latest checkpoint's oldestMultiXid: %u\n" -msgstr "Dernier oldestMultiXID du point de contrôle : %u\n" +msgstr "Dernier oldestMultiXid du point de contrôle : %u\n" #: pg_resetwal.c:743 #, c-format msgid "Latest checkpoint's oldestMulti's DB: %u\n" -msgstr "Dernier oldestMulti du point de contrôle de la base : %u\n" +msgstr "Dernier oldestMulti du point de contrôle de la base : %u\n" #: pg_resetwal.c:745 #, c-format @@ -446,7 +436,7 @@ msgstr "par valeur" #: pg_resetwal.c:773 #, c-format msgid "Data page checksum version: %u\n" -msgstr "Version des sommes de contrôle des pages de données : %u\n" +msgstr "Version des sommes de contrôle des pages de données : %u\n" #: pg_resetwal.c:787 #, c-format @@ -521,42 +511,42 @@ msgstr "oldestCommitTsXid: %u\n" msgid "newestCommitTsXid: %u\n" msgstr "newestCommitTsXid: %u\n" -#: pg_resetwal.c:922 pg_resetwal.c:981 pg_resetwal.c:1016 +#: pg_resetwal.c:921 pg_resetwal.c:974 pg_resetwal.c:1009 #, c-format msgid "could not open directory \"%s\": %m" msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" -#: pg_resetwal.c:954 pg_resetwal.c:995 pg_resetwal.c:1033 +#: pg_resetwal.c:947 pg_resetwal.c:988 pg_resetwal.c:1026 #, c-format msgid "could not read directory \"%s\": %m" msgstr "n'a pas pu lire le répertoire « %s » : %m" -#: pg_resetwal.c:957 pg_resetwal.c:998 pg_resetwal.c:1036 +#: pg_resetwal.c:950 pg_resetwal.c:991 pg_resetwal.c:1029 #, c-format msgid "could not close directory \"%s\": %m" msgstr "n'a pas pu fermer le répertoire « %s » : %m" -#: pg_resetwal.c:990 pg_resetwal.c:1028 +#: pg_resetwal.c:983 pg_resetwal.c:1021 #, c-format msgid "could not delete file \"%s\": %m" msgstr "n'a pas pu supprimer le fichier « %s » : %m" -#: pg_resetwal.c:1100 +#: pg_resetwal.c:1093 #, c-format msgid "could not open file \"%s\": %m" msgstr "n'a pas pu ouvrir le fichier « %s » : %m" -#: pg_resetwal.c:1108 pg_resetwal.c:1120 +#: pg_resetwal.c:1101 pg_resetwal.c:1113 #, c-format msgid "could not write file \"%s\": %m" msgstr "impossible d'écrire le fichier « %s » : %m" -#: pg_resetwal.c:1125 +#: pg_resetwal.c:1118 #, c-format msgid "fsync error: %m" msgstr "erreur fsync : %m" -#: pg_resetwal.c:1134 +#: pg_resetwal.c:1127 #, c-format msgid "" "%s resets the PostgreSQL write-ahead log.\n" @@ -565,7 +555,7 @@ msgstr "" "%s réinitialise le journal des transactions PostgreSQL.\n" "\n" -#: pg_resetwal.c:1135 +#: pg_resetwal.c:1128 #, c-format msgid "" "Usage:\n" @@ -576,12 +566,12 @@ msgstr "" " %s [OPTION]... RÉP_DONNÉES\n" "\n" -#: pg_resetwal.c:1136 +#: pg_resetwal.c:1129 #, c-format msgid "Options:\n" msgstr "Options :\n" -#: pg_resetwal.c:1137 +#: pg_resetwal.c:1130 #, c-format msgid "" " -c, --commit-timestamp-ids=XID,XID\n" @@ -593,86 +583,86 @@ msgstr "" " et la plus récente contenant les dates/heures\n" " de validation (zéro signifie aucun changement)\n" -#: pg_resetwal.c:1140 +#: pg_resetwal.c:1133 #, c-format msgid " [-D, --pgdata=]DATADIR data directory\n" msgstr " [-D, --pgdata=]RÉP_DONNEES répertoire de la base de données\n" -#: pg_resetwal.c:1141 +#: pg_resetwal.c:1134 #, c-format msgid " -e, --epoch=XIDEPOCH set next transaction ID epoch\n" msgstr "" " -e, --epoch=XIDEPOCH configure la valeur epoch du prochain\n" " identifiant de transaction\n" -#: pg_resetwal.c:1142 +#: pg_resetwal.c:1135 #, c-format msgid " -f, --force force update to be done\n" msgstr " -f, --force force la mise à jour\n" -#: pg_resetwal.c:1143 +#: pg_resetwal.c:1136 #, c-format msgid " -l, --next-wal-file=WALFILE set minimum starting location for new WAL\n" msgstr "" " -l, --next-wal-file=FICHIERWAL configure l'emplacement minimal de début\n" " des WAL du nouveau journal de transactions\n" -#: pg_resetwal.c:1144 +#: pg_resetwal.c:1137 #, c-format msgid " -m, --multixact-ids=MXID,MXID set next and oldest multitransaction ID\n" msgstr "" " -m, --multixact-ids=MXID,MXID configure le prochain et le plus ancien\n" " identifiants multi-transactions\n" -#: pg_resetwal.c:1145 +#: pg_resetwal.c:1138 #, c-format msgid " -n, --dry-run no update, just show what would be done\n" msgstr "" " -n, --dry-run pas de mise à jour, affiche\n" " simplement ce qui sera fait\n" -#: pg_resetwal.c:1146 +#: pg_resetwal.c:1139 #, c-format msgid " -o, --next-oid=OID set next OID\n" msgstr " -o, --next-oid=OID configure le prochain OID\n" -#: pg_resetwal.c:1147 +#: pg_resetwal.c:1140 #, c-format msgid " -O, --multixact-offset=OFFSET set next multitransaction offset\n" msgstr "" " -O, --multixact-offset=DÉCALAGE configure le prochain décalage\n" " multitransaction\n" -#: pg_resetwal.c:1148 +#: pg_resetwal.c:1141 #, c-format msgid " -u, --oldest-transaction-id=XID set oldest transaction ID\n" msgstr "" " -u, --oldest-transaction-id=XID configure l'identifiant de transaction le\n" " plus ancien\n" -#: pg_resetwal.c:1149 +#: pg_resetwal.c:1142 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version affiche la version puis quitte\n" -#: pg_resetwal.c:1150 +#: pg_resetwal.c:1143 #, c-format msgid " -x, --next-transaction-id=XID set next transaction ID\n" msgstr "" " -x, --next-transaction-id=XID configure le prochain identifiant de\n" " transaction\n" -#: pg_resetwal.c:1151 +#: pg_resetwal.c:1144 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr " --wal-segsize=TAILLE configure la taille des segments WAL, en Mo\n" -#: pg_resetwal.c:1152 +#: pg_resetwal.c:1145 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help affiche cette aide puis quitte\n" -#: pg_resetwal.c:1153 +#: pg_resetwal.c:1146 #, c-format msgid "" "\n" @@ -681,7 +671,7 @@ msgstr "" "\n" "Rapporter les bogues à <%s>.\n" -#: pg_resetwal.c:1154 +#: pg_resetwal.c:1147 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" @@ -828,6 +818,14 @@ msgstr "Page d'accueil de %s : <%s>\n" #~ msgid "Try \"%s --help\" for more information.\n" #~ msgstr "Essayer « %s --help » pour plus d'informations.\n" +#, c-format +#~ msgid "cannot create restricted tokens on this platform: error code %lu" +#~ msgstr "ne peut pas créer les jetons restreints sur cette plateforme : code d'erreur %lu" + +#, c-format +#~ msgid "could not load library \"%s\": error code %lu" +#~ msgstr "n'a pas pu charger la bibliothèque « %s » : code d'erreur %lu" + #, c-format #~ msgid "fatal: " #~ msgstr "fatal : " diff --git a/src/bin/pg_resetwal/po/it.po b/src/bin/pg_resetwal/po/it.po index 55ed8f89e24..3e6852fbab9 100644 --- a/src/bin/pg_resetwal/po/it.po +++ b/src/bin/pg_resetwal/po/it.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-09-26 08:18+0000\n" -"PO-Revision-Date: 2022-10-02 19:06+0200\n" +"PO-Revision-Date: 2023-09-05 08:20+0200\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: it\n" @@ -589,67 +589,67 @@ msgstr "" #: pg_resetwal.c:1140 #, c-format msgid " [-D, --pgdata=]DATADIR data directory\n" -msgstr " [-D, --pgdata=]DATADIR directory dei dati\n" +msgstr " [-D, --pgdata=]DATADIR directory dei dati\n" #: pg_resetwal.c:1141 #, c-format msgid " -e, --epoch=XIDEPOCH set next transaction ID epoch\n" -msgstr " -e, --epoch=XIDEPOCH imposta l'epoca dell'ID transazione successiva\n" +msgstr " -e, --epoch=XIDEPOCH imposta l'epoca dell'ID transazione successiva\n" #: pg_resetwal.c:1142 #, c-format msgid " -f, --force force update to be done\n" -msgstr " -f, --force forza l'aggiornamento da eseguire\n" +msgstr " -f, --force forza l'aggiornamento da eseguire\n" #: pg_resetwal.c:1143 #, c-format msgid " -l, --next-wal-file=WALFILE set minimum starting location for new WAL\n" -msgstr " -l, --next-wal-file=WALFILE imposta la posizione iniziale minima per il nuovo WAL\n" +msgstr " -l, --next-wal-file=WALFILE imposta la posizione iniziale minima per il nuovo WAL\n" #: pg_resetwal.c:1144 #, c-format msgid " -m, --multixact-ids=MXID,MXID set next and oldest multitransaction ID\n" -msgstr " -m, --multixact-ids=MXID,MXID imposta l'ID multitransazione successivo e meno recente\n" +msgstr " -m, --multixact-ids=MXID,MXID imposta l'ID multitransazione successivo e meno recente\n" #: pg_resetwal.c:1145 #, c-format msgid " -n, --dry-run no update, just show what would be done\n" -msgstr " -n, --dry-run nessun aggiornamento, mostra solo cosa sarebbe stato fatto\n" +msgstr " -n, --dry-run nessun aggiornamento, mostra solo cosa sarebbe stato fatto\n" #: pg_resetwal.c:1146 #, c-format msgid " -o, --next-oid=OID set next OID\n" -msgstr " -o, --next-oid=OID imposta l'OID successivo\n" +msgstr " -o, --next-oid=OID imposta l'OID successivo\n" #: pg_resetwal.c:1147 #, c-format msgid " -O, --multixact-offset=OFFSET set next multitransaction offset\n" -msgstr " -O, --multixact-offset=OFFSET imposta l'offset multitransazione successivo\n" +msgstr " -O, --multixact-offset=OFFSET imposta l'offset multitransazione successivo\n" #: pg_resetwal.c:1148 #, c-format msgid " -u, --oldest-transaction-id=XID set oldest transaction ID\n" -msgstr " -u, --oldest-transaction-id=XID imposta l'ID transazione più vecchio\n" +msgstr " -u, --oldest-transaction-id=XID imposta l'ID transazione più vecchio\n" #: pg_resetwal.c:1149 #, c-format msgid " -V, --version output version information, then exit\n" -msgstr " -V, --version restituisce le informazioni sulla versione, quindi esci\n" +msgstr " -V, --version restituisce le informazioni sulla versione, quindi esci\n" #: pg_resetwal.c:1150 #, c-format msgid " -x, --next-transaction-id=XID set next transaction ID\n" -msgstr " -x, --next-transaction-id=XID imposta l'ID transazione successiva\n" +msgstr " -x, --next-transaction-id=XID imposta l'ID transazione successiva\n" #: pg_resetwal.c:1151 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" -msgstr " --wal-segsize=SIZE dimensione dei segmenti WAL, in megabyte \n" +msgstr " --wal-segsize=SIZE dimensione dei segmenti WAL, in megabyte \n" #: pg_resetwal.c:1152 #, c-format msgid " -?, --help show this help, then exit\n" -msgstr " -?, --help mostra questo aiuto, quindi esci\n" +msgstr " -?, --help mostra questo aiuto, quindi esci\n" #: pg_resetwal.c:1153 #, c-format diff --git a/src/bin/pg_resetwal/po/ja.po b/src/bin/pg_resetwal/po/ja.po index 09bbde4e2b3..96bc881261c 100644 --- a/src/bin/pg_resetwal/po/ja.po +++ b/src/bin/pg_resetwal/po/ja.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_resetwal (PostgreSQL 16)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-09-26 11:15+0900\n" -"PO-Revision-Date: 2022-09-26 15:10+0900\n" +"POT-Creation-Date: 2023-08-30 09:20+0900\n" +"PO-Revision-Date: 2023-08-30 09:53+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: Japan PostgreSQL Users Group \n" "Language: ja\n" @@ -135,8 +135,8 @@ msgstr "--wal-segsizの引数は数値でなければなりません" #: pg_resetwal.c:298 #, c-format -msgid "argument of --wal-segsize must be a power of 2 between 1 and 1024" -msgstr "--wal-segsizeの引数は1から1024の間の2のべき乗でなければなりません" +msgid "argument of --wal-segsize must be a power of two between 1 and 1024" +msgstr "--wal-segsizeの引数は1から1024までの間の2の累乗でなければなりません" #: pg_resetwal.c:314 #, c-format @@ -506,42 +506,42 @@ msgstr "oldestCommitTsXid: %u\n" msgid "newestCommitTsXid: %u\n" msgstr "newestCommitTsXid: %u\n" -#: pg_resetwal.c:922 pg_resetwal.c:981 pg_resetwal.c:1016 +#: pg_resetwal.c:921 pg_resetwal.c:974 pg_resetwal.c:1009 #, c-format msgid "could not open directory \"%s\": %m" msgstr "ディレクトリ\"%s\"をオープンできませんでした: %m" -#: pg_resetwal.c:954 pg_resetwal.c:995 pg_resetwal.c:1033 +#: pg_resetwal.c:947 pg_resetwal.c:988 pg_resetwal.c:1026 #, c-format msgid "could not read directory \"%s\": %m" msgstr "ディレクトリ\"%s\"を読み取れませんでした: %m" -#: pg_resetwal.c:957 pg_resetwal.c:998 pg_resetwal.c:1036 +#: pg_resetwal.c:950 pg_resetwal.c:991 pg_resetwal.c:1029 #, c-format msgid "could not close directory \"%s\": %m" msgstr "ディレクトリ\"%s\"をクローズできませんでした: %m" -#: pg_resetwal.c:990 pg_resetwal.c:1028 +#: pg_resetwal.c:983 pg_resetwal.c:1021 #, c-format msgid "could not delete file \"%s\": %m" msgstr "ファイル\"%s\"を削除できませんでした: %m" -#: pg_resetwal.c:1100 +#: pg_resetwal.c:1093 #, c-format msgid "could not open file \"%s\": %m" msgstr "ファイル\"%s\"をオープンできませんでした: %m" -#: pg_resetwal.c:1108 pg_resetwal.c:1120 +#: pg_resetwal.c:1101 pg_resetwal.c:1113 #, c-format msgid "could not write file \"%s\": %m" msgstr "ファイル\"%s\"を書き出せませんでした: %m" -#: pg_resetwal.c:1125 +#: pg_resetwal.c:1118 #, c-format msgid "fsync error: %m" msgstr "fsyncエラー: %m" -#: pg_resetwal.c:1134 +#: pg_resetwal.c:1127 #, c-format msgid "" "%s resets the PostgreSQL write-ahead log.\n" @@ -550,7 +550,7 @@ msgstr "" "%sはPostgreSQLの先行書き込みログをリセットします。\n" "\n" -#: pg_resetwal.c:1135 +#: pg_resetwal.c:1128 #, c-format msgid "" "Usage:\n" @@ -561,12 +561,12 @@ msgstr "" " %s [OPTION]... DATADIR\n" "\n" -#: pg_resetwal.c:1136 +#: pg_resetwal.c:1129 #, c-format msgid "Options:\n" msgstr "オプション:\n" -#: pg_resetwal.c:1137 +#: pg_resetwal.c:1130 #, c-format msgid "" " -c, --commit-timestamp-ids=XID,XID\n" @@ -577,72 +577,72 @@ msgstr "" " コミットタイムスタンプを持つ最古と最新の\n" " トランザクション(0は変更しないことを意味する)\n" -#: pg_resetwal.c:1140 +#: pg_resetwal.c:1133 #, c-format msgid " [-D, --pgdata=]DATADIR data directory\n" msgstr " [-D, --pgdata=]DATADIR データディレクトリ\n" -#: pg_resetwal.c:1141 +#: pg_resetwal.c:1134 #, c-format msgid " -e, --epoch=XIDEPOCH set next transaction ID epoch\n" msgstr " -e, --epoch=XIDEPOCH 次のトランザクションIDの基点を設定\n" -#: pg_resetwal.c:1142 +#: pg_resetwal.c:1135 #, c-format msgid " -f, --force force update to be done\n" msgstr " -f, --force 強制的に更新を実施\n" -#: pg_resetwal.c:1143 +#: pg_resetwal.c:1136 #, c-format msgid " -l, --next-wal-file=WALFILE set minimum starting location for new WAL\n" msgstr " -l, --next-wal-file=WALFILE 新しいWALの最小開始ポイントを設定\n" -#: pg_resetwal.c:1144 +#: pg_resetwal.c:1137 #, c-format msgid " -m, --multixact-ids=MXID,MXID set next and oldest multitransaction ID\n" msgstr " -m, --multixact-ids=MXID,MXID 次および最古のマルチトランザクションIDを設定\n" -#: pg_resetwal.c:1145 +#: pg_resetwal.c:1138 #, c-format msgid " -n, --dry-run no update, just show what would be done\n" msgstr " -n, --dry-run 更新をせず、単に何が行なわれるかを表示\n" -#: pg_resetwal.c:1146 +#: pg_resetwal.c:1139 #, c-format msgid " -o, --next-oid=OID set next OID\n" msgstr " -o, --next-oid=OID 次のOIDを設定\n" -#: pg_resetwal.c:1147 +#: pg_resetwal.c:1140 #, c-format msgid " -O, --multixact-offset=OFFSET set next multitransaction offset\n" msgstr " -O, --multixact-offset=OFFSET 次のマルチトランザクションオフセットを設定\n" -#: pg_resetwal.c:1148 +#: pg_resetwal.c:1141 #, c-format msgid " -u, --oldest-transaction-id=XID set oldest transaction ID\n" msgstr " -u, --oldest-transaction-id=XID 最古のトランザクションIDを設定\n" -#: pg_resetwal.c:1149 +#: pg_resetwal.c:1142 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version バージョン情報を表示して終了\n" -#: pg_resetwal.c:1150 +#: pg_resetwal.c:1143 #, c-format msgid " -x, --next-transaction-id=XID set next transaction ID\n" msgstr " -x, --next-transaction-id=XID 次のトランザクションIDを設定\n" -#: pg_resetwal.c:1151 +#: pg_resetwal.c:1144 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr " --wal-segsize=SIZE WALセグメントのサイズ、単位はメガバイト\n" -#: pg_resetwal.c:1152 +#: pg_resetwal.c:1145 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help このヘルプを表示して終了\n" -#: pg_resetwal.c:1153 +#: pg_resetwal.c:1146 #, c-format msgid "" "\n" @@ -651,7 +651,7 @@ msgstr "" "\n" "バグは<%s>に報告してください。\n" -#: pg_resetwal.c:1154 +#: pg_resetwal.c:1147 #, c-format msgid "%s home page: <%s>\n" msgstr "%s ホームページ: <%s>\n" diff --git a/src/bin/pg_resetwal/po/ka.po b/src/bin/pg_resetwal/po/ka.po index ae1c30252af..ec322cc6190 100644 --- a/src/bin/pg_resetwal/po/ka.po +++ b/src/bin/pg_resetwal/po/ka.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_resetwal (PostgreSQL) 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-07-02 04:49+0000\n" -"PO-Revision-Date: 2022-07-04 18:29+0200\n" +"POT-Creation-Date: 2023-08-31 20:20+0000\n" +"PO-Revision-Date: 2023-09-02 07:09+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" "Language: ka\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 3.1\n" +"X-Generator: Poedit 3.3.2\n" #: ../../../src/common/logging.c:276 #, c-format @@ -38,42 +38,32 @@ msgstr "დეტალები: " msgid "hint: " msgstr "მინიშნება: " -#: ../../common/restricted_token.c:64 -#, c-format -msgid "could not load library \"%s\": error code %lu" -msgstr "ბიბლიოთეკის (\"%s\") ჩატვირთვის შეცდომა: შეცდომის კოდი: %lu" - -#: ../../common/restricted_token.c:73 -#, c-format -msgid "cannot create restricted tokens on this platform: error code %lu" -msgstr "ამ პლატფორმაზე შეზღუდული კოდების შექმნა შეუძლებელია: შეცდომის კოდი %lu" - -#: ../../common/restricted_token.c:82 +#: ../../common/restricted_token.c:60 #, c-format msgid "could not open process token: error code %lu" msgstr "პროცესის კოდის გახსნა შეუძლებელია: შეცდომის კოდი %lu" -#: ../../common/restricted_token.c:97 +#: ../../common/restricted_token.c:74 #, c-format msgid "could not allocate SIDs: error code %lu" msgstr "შეცდომა SSID-ების გამოყოფისას: შეცდომის კოდი %lu" -#: ../../common/restricted_token.c:119 +#: ../../common/restricted_token.c:94 #, c-format msgid "could not create restricted token: error code %lu" msgstr "შეზღუდული კოდის შექმნა ვერ მოხერხდა: შეცდომის კოდი %lu" -#: ../../common/restricted_token.c:140 +#: ../../common/restricted_token.c:115 #, c-format msgid "could not start process for command \"%s\": error code %lu" msgstr "„%s“ ბრძანების პროცესის დაწყება ვერ მოხერხდა: შეცდომის კოდი %lu" -#: ../../common/restricted_token.c:178 +#: ../../common/restricted_token.c:153 #, c-format msgid "could not re-execute with restricted token: error code %lu" msgstr "შეზღუდულ კოდის ხელახლა შესრულება ვერ მოხერხდა: შეცდომის კოდი %lu" -#: ../../common/restricted_token.c:193 +#: ../../common/restricted_token.c:168 #, c-format msgid "could not get exit code from subprocess: error code %lu" msgstr "ქვეპროცესიდან გასასვლელი კოდი ვერ მივიღე: შეცდომის კოდი %lu" @@ -141,7 +131,7 @@ msgstr "--wal-segisze -ის არგუმენტი რიცხვი უ #: pg_resetwal.c:298 #, c-format -msgid "argument of --wal-segsize must be a power of 2 between 1 and 1024" +msgid "argument of --wal-segsize must be a power of two between 1 and 1024" msgstr "--wal-segsize -ის არგუმენტი 2-ის ხარისხი უნდა იყოს 1-1024 დიაპაზონიდან" #: pg_resetwal.c:314 @@ -206,8 +196,7 @@ msgid "" "If you want to proceed anyway, use -f to force reset.\n" msgstr "" "მონაცემთა ბაზის სერვერი სუფთად არ გამორთულა.\n" -"წინასწარ-ჩაწერადი ჟურნალის საწყის მნიშვნელობაზე დაბრუნებამ შეიძლება " -"მონაცემების დაკარგვა გამოიწვიოს.\n" +"წინასწარ-ჩაწერადი ჟურნალის საწყის მნიშვნელობაზე დაბრუნებამ შეიძლება მონაცემების დაკარგვა გამოიწვიოს.\n" "თუ გაგრძელება მაინც გნებავთ, გამოიყენეთ -f.\n" #: pg_resetwal.c:493 @@ -232,12 +221,8 @@ msgstr "მონაცემების საქაღალდე არა #: pg_resetwal.c:536 #, c-format -msgid "" -"File \"%s\" contains \"%s\", which is not compatible with this program's " -"version \"%s\"." -msgstr "" -"ფაილი \"%s\" შეიცავს \"%s\"-ს, რომელიც ამ პროგრამის ვერსიასთან (%s) " -"შეუთავსებელია." +msgid "File \"%s\" contains \"%s\", which is not compatible with this program's version \"%s\"." +msgstr "ფაილი \"%s\" შეიცავს \"%s\"-ს, რომელიც ამ პროგრამის ვერსიასთან (%s) შეუთავსებელია." #: pg_resetwal.c:569 #, c-format @@ -246,8 +231,7 @@ msgid "" " touch %s\n" "and try again." msgstr "" -"თუ დარწმუნებული ბრძანდებით, რომ მონაცემების საქაღალდის ბილიკი სწორია, " -"გაუშვით\n" +"თუ დარწმუნებული ბრძანდებით, რომ მონაცემების საქაღალდის ბილიკი სწორია, გაუშვით\n" " touch %s\n" "და თავიდან სცადეთ." @@ -258,21 +242,15 @@ msgstr "pg_control არსებობს, მაგრამ გააჩნ #: pg_resetwal.c:606 #, c-format -msgid "" -"pg_control specifies invalid WAL segment size (%d byte); proceed with caution" -msgid_plural "" -"pg_control specifies invalid WAL segment size (%d bytes); proceed with " -"caution" -msgstr[0] "" -"pg_control WAL-ის არასწორი სეგმენტის ზომას (%d ბაიტი) მიუთითებს; ფრთხილად" -msgstr[1] "" -"pg_control WAL-ის არასწორი სეგმენტის ზომას (%d ბაიტი) მიუთითებს; ფრთხილად" +msgid "pg_control specifies invalid WAL segment size (%d byte); proceed with caution" +msgid_plural "pg_control specifies invalid WAL segment size (%d bytes); proceed with caution" +msgstr[0] "pg_control WAL-ის არასწორი სეგმენტის ზომას (%d ბაიტი) მიუთითებს; ფრთხილად" +msgstr[1] "pg_control WAL-ის არასწორი სეგმენტის ზომას (%d ბაიტი) მიუთითებს; ფრთხილად" #: pg_resetwal.c:617 #, c-format msgid "pg_control exists but is broken or wrong version; ignoring it" -msgstr "" -"pg_control არსებობს, მაგრამ ან გაფუჭებულია, ან ძველი ვერსია; იგნორირებულია" +msgstr "pg_control არსებობს, მაგრამ ან გაფუჭებულია, ან ძველი ვერსია; იგნორირებულია" #: pg_resetwal.c:712 #, c-format @@ -468,8 +446,7 @@ msgstr "" #: pg_resetwal.c:791 #, c-format msgid "First log segment after reset: %s\n" -msgstr "" -"საწყის მნიშვნელობაზე დაბრუნების შემდეგ ჟურნალის პირველი სეგმენტი: %s\n" +msgstr "საწყის მნიშვნელობაზე დაბრუნების შემდეგ ჟურნალის პირველი სეგმენტი: %s\n" #: pg_resetwal.c:795 #, c-format @@ -526,42 +503,42 @@ msgstr "oldestCommitTsXid: %u\n" msgid "newestCommitTsXid: %u\n" msgstr "newestCommitTsXid: %u\n" -#: pg_resetwal.c:922 pg_resetwal.c:981 pg_resetwal.c:1016 +#: pg_resetwal.c:921 pg_resetwal.c:974 pg_resetwal.c:1009 #, c-format msgid "could not open directory \"%s\": %m" msgstr "საქაღალდის (%s) გახსნის შეცდომა: %m" -#: pg_resetwal.c:954 pg_resetwal.c:995 pg_resetwal.c:1033 +#: pg_resetwal.c:947 pg_resetwal.c:988 pg_resetwal.c:1026 #, c-format msgid "could not read directory \"%s\": %m" msgstr "საქაღალდის (%s) წაკითხვის შეცდომა: %m" -#: pg_resetwal.c:957 pg_resetwal.c:998 pg_resetwal.c:1036 +#: pg_resetwal.c:950 pg_resetwal.c:991 pg_resetwal.c:1029 #, c-format msgid "could not close directory \"%s\": %m" msgstr "საქაღალდის %s-ზე დახურვის შეცდომა: %m" -#: pg_resetwal.c:990 pg_resetwal.c:1028 +#: pg_resetwal.c:983 pg_resetwal.c:1021 #, c-format msgid "could not delete file \"%s\": %m" msgstr "ფაილის (\"%s\") წაშლის შეცდომა: %m" -#: pg_resetwal.c:1100 +#: pg_resetwal.c:1093 #, c-format msgid "could not open file \"%s\": %m" msgstr "ფაილის (%s) გახსნის შეცდომა: %m" -#: pg_resetwal.c:1108 pg_resetwal.c:1120 +#: pg_resetwal.c:1101 pg_resetwal.c:1113 #, c-format msgid "could not write file \"%s\": %m" msgstr "ფაილში (%s) ჩაწერის შეცდომა: %m" -#: pg_resetwal.c:1125 +#: pg_resetwal.c:1118 #, c-format msgid "fsync error: %m" msgstr "fsync error: %m" -#: pg_resetwal.c:1134 +#: pg_resetwal.c:1127 #, c-format msgid "" "%s resets the PostgreSQL write-ahead log.\n" @@ -570,7 +547,7 @@ msgstr "" "%s PostgreSQL-ის წინასწარ-ჩაწერად ჟურნალს საწყის მნიშვნელობაზე აბრუნებს.\n" "\n" -#: pg_resetwal.c:1135 +#: pg_resetwal.c:1128 #, c-format msgid "" "Usage:\n" @@ -581,108 +558,88 @@ msgstr "" " %s [პარამეტრი]... [მონაცემებისსაქაღალდე]\n" "\n" -#: pg_resetwal.c:1136 +#: pg_resetwal.c:1129 #, c-format msgid "Options:\n" msgstr "პარამეტრები:\n" -#: pg_resetwal.c:1137 +#: pg_resetwal.c:1130 #, c-format msgid "" " -c, --commit-timestamp-ids=XID,XID\n" -" set oldest and newest transactions " -"bearing\n" +" set oldest and newest transactions bearing\n" " commit timestamp (zero means no change)\n" msgstr "" " -c, --commit-timestamp-ids=XID,XID\n" -" უახლესი და უძველესი ტრანზაქციების " -"მითითება,\n" -" დროის შტამპის მატარებლით(0 ნიშნავს, რომ " -"არ შეიცვლება)\n" +" უახლესი და უძველესი ტრანზაქციების მითითება,\n" +" დროის შტამპის მატარებლით(0 ნიშნავს, რომ არ შეიცვლება)\n" -#: pg_resetwal.c:1140 +#: pg_resetwal.c:1133 #, c-format msgid " [-D, --pgdata=]DATADIR data directory\n" msgstr " [-D, --pgdata=]DATADIR მონაცემების საქაღალდე\n" -#: pg_resetwal.c:1141 +#: pg_resetwal.c:1134 #, c-format msgid " -e, --epoch=XIDEPOCH set next transaction ID epoch\n" -msgstr "" -" -e, --epoch=XIDEPOCH შემდეგი ტრანზაქციის ID-ის ეპოქსი " -"დაყენება\n" +msgstr " -e, --epoch=XIDEPOCH შემდეგი ტრანზაქციის ID-ის ეპოქსი დაყენება\n" -#: pg_resetwal.c:1142 +#: pg_resetwal.c:1135 #, c-format msgid " -f, --force force update to be done\n" msgstr " -f, --force ნაძალადევი განახლება\n" -#: pg_resetwal.c:1143 +#: pg_resetwal.c:1136 #, c-format -msgid "" -" -l, --next-wal-file=WALFILE set minimum starting location for new " -"WAL\n" -msgstr "" -" -l, --next-wal-file=WALFILE ახალი WAL-ის მინიმალური საწყისი " -"მდებარეობის დაყენება\n" +msgid " -l, --next-wal-file=WALFILE set minimum starting location for new WAL\n" +msgstr " -l, --next-wal-file=WALFILE ახალი WAL-ის მინიმალური საწყისი მდებარეობის დაყენება\n" -#: pg_resetwal.c:1144 +#: pg_resetwal.c:1137 #, c-format -msgid "" -" -m, --multixact-ids=MXID,MXID set next and oldest multitransaction ID\n" -msgstr "" -" -m, --multixact-ids=MXID,MXID შემდეგი და უძველესი მულტრანზაქციის ID-" -"ების დაყენება\n" +msgid " -m, --multixact-ids=MXID,MXID set next and oldest multitransaction ID\n" +msgstr " -m, --multixact-ids=MXID,MXID შემდეგი და უძველესი მულტრანზაქციის ID-ების დაყენება\n" -#: pg_resetwal.c:1145 +#: pg_resetwal.c:1138 #, c-format -msgid "" -" -n, --dry-run no update, just show what would be done\n" -msgstr "" -" -n, --dry-run განახლების გარეშე. უბრალოდ ნაჩვენები " -"იქნება, რა მოხდებოდა\n" +msgid " -n, --dry-run no update, just show what would be done\n" +msgstr " -n, --dry-run განახლების გარეშე. უბრალოდ ნაჩვენები იქნება, რა მოხდებოდა\n" -#: pg_resetwal.c:1146 +#: pg_resetwal.c:1139 #, c-format msgid " -o, --next-oid=OID set next OID\n" msgstr " -o, --next-oid=OID შემდეგი OID-ის დაყენება\n" -#: pg_resetwal.c:1147 +#: pg_resetwal.c:1140 #, c-format msgid " -O, --multixact-offset=OFFSET set next multitransaction offset\n" -msgstr "" -" -O, --multixact-offset=წანაცვლება შემდეგი მულტიტრანზაქციის წანაცვლების " -"დაყენება\n" +msgstr " -O, --multixact-offset=წანაცვლება შემდეგი მულტიტრანზაქციის წანაცვლების დაყენება\n" -#: pg_resetwal.c:1148 +#: pg_resetwal.c:1141 #, c-format msgid " -u, --oldest-transaction-id=XID set oldest transaction ID\n" -msgstr "" -" -u, --oldest-transaction-id=XID უძველესი ტრანზაქციის ID-ის დაყენება\n" +msgstr " -u, --oldest-transaction-id=XID უძველესი ტრანზაქციის ID-ის დაყენება\n" -#: pg_resetwal.c:1149 +#: pg_resetwal.c:1142 #, c-format -msgid "" -" -V, --version output version information, then exit\n" +msgid " -V, --version output version information, then exit\n" msgstr " -V, --version ვერსიის ინფორმაციის გამოტანა და გასვლა\n" -#: pg_resetwal.c:1150 +#: pg_resetwal.c:1143 #, c-format msgid " -x, --next-transaction-id=XID set next transaction ID\n" -msgstr "" -" -x, --next-transaction-id=XID შემდეგი ტრანზაქციის ID-ის დაყენება\n" +msgstr " -x, --next-transaction-id=XID შემდეგი ტრანზაქციის ID-ის დაყენება\n" -#: pg_resetwal.c:1151 +#: pg_resetwal.c:1144 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr " --wal-segsize=ზომა WAL სეგმენტების ზომა, მეგაბაიტებში\n" -#: pg_resetwal.c:1152 +#: pg_resetwal.c:1145 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help ამ დახმარების ჩვენება და გასვლა\n" -#: pg_resetwal.c:1153 +#: pg_resetwal.c:1146 #, c-format msgid "" "\n" @@ -691,7 +648,15 @@ msgstr "" "\n" "შეცდომების შესახებ მიწერეთ: %s\n" -#: pg_resetwal.c:1154 +#: pg_resetwal.c:1147 #, c-format msgid "%s home page: <%s>\n" msgstr "%s-ის საწყისი გვერდია: <%s>\n" + +#, c-format +#~ msgid "cannot create restricted tokens on this platform: error code %lu" +#~ msgstr "ამ პლატფორმაზე შეზღუდული კოდების შექმნა შეუძლებელია: შეცდომის კოდი %lu" + +#, c-format +#~ msgid "could not load library \"%s\": error code %lu" +#~ msgstr "ბიბლიოთეკის (\"%s\") ჩატვირთვის შეცდომა: შეცდომის კოდი: %lu" diff --git a/src/bin/pg_resetwal/po/ru.po b/src/bin/pg_resetwal/po/ru.po index bba0ad1ed21..b5ddfb6a8c4 100644 --- a/src/bin/pg_resetwal/po/ru.po +++ b/src/bin/pg_resetwal/po/ru.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: pg_resetxlog (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-08-27 14:52+0300\n" +"POT-Creation-Date: 2023-08-28 07:59+0300\n" "PO-Revision-Date: 2022-09-05 13:36+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" @@ -18,8 +18,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: ../../../src/common/logging.c:276 #, c-format @@ -41,42 +41,32 @@ msgstr "подробности: " msgid "hint: " msgstr "подсказка: " -#: ../../common/restricted_token.c:64 -#, c-format -msgid "could not load library \"%s\": error code %lu" -msgstr "не удалось загрузить библиотеку \"%s\" (код ошибки: %lu)" - -#: ../../common/restricted_token.c:73 -#, c-format -msgid "cannot create restricted tokens on this platform: error code %lu" -msgstr "в этой ОС нельзя создавать ограниченные маркеры (код ошибки: %lu)" - -#: ../../common/restricted_token.c:82 +#: ../../common/restricted_token.c:60 #, c-format msgid "could not open process token: error code %lu" msgstr "не удалось открыть маркер процесса (код ошибки: %lu)" -#: ../../common/restricted_token.c:97 +#: ../../common/restricted_token.c:74 #, c-format msgid "could not allocate SIDs: error code %lu" msgstr "не удалось подготовить структуры SID (код ошибки: %lu)" -#: ../../common/restricted_token.c:119 +#: ../../common/restricted_token.c:94 #, c-format msgid "could not create restricted token: error code %lu" msgstr "не удалось создать ограниченный маркер (код ошибки: %lu)" -#: ../../common/restricted_token.c:140 +#: ../../common/restricted_token.c:115 #, c-format msgid "could not start process for command \"%s\": error code %lu" msgstr "не удалось запустить процесс для команды \"%s\" (код ошибки: %lu)" -#: ../../common/restricted_token.c:178 +#: ../../common/restricted_token.c:153 #, c-format msgid "could not re-execute with restricted token: error code %lu" msgstr "не удалось перезапуститься с ограниченным маркером (код ошибки: %lu)" -#: ../../common/restricted_token.c:193 +#: ../../common/restricted_token.c:168 #, c-format msgid "could not get exit code from subprocess: error code %lu" msgstr "не удалось получить код выхода от подпроцесса (код ошибки: %lu)" @@ -200,8 +190,8 @@ msgid "" "If these values seem acceptable, use -f to force reset.\n" msgstr "" "\n" -"Если эти значения приемлемы, выполните сброс принудительно, добавив ключ -f." -"\n" +"Если эти значения приемлемы, выполните сброс принудительно, добавив ключ -" +"f.\n" #: pg_resetwal.c:479 #, c-format @@ -549,42 +539,42 @@ msgstr "oldestCommitTsXid: %u\n" msgid "newestCommitTsXid: %u\n" msgstr "newestCommitTsXid: %u\n" -#: pg_resetwal.c:922 pg_resetwal.c:981 pg_resetwal.c:1016 +#: pg_resetwal.c:921 pg_resetwal.c:974 pg_resetwal.c:1009 #, c-format msgid "could not open directory \"%s\": %m" msgstr "не удалось открыть каталог \"%s\": %m" -#: pg_resetwal.c:954 pg_resetwal.c:995 pg_resetwal.c:1033 +#: pg_resetwal.c:947 pg_resetwal.c:988 pg_resetwal.c:1026 #, c-format msgid "could not read directory \"%s\": %m" msgstr "не удалось прочитать каталог \"%s\": %m" -#: pg_resetwal.c:957 pg_resetwal.c:998 pg_resetwal.c:1036 +#: pg_resetwal.c:950 pg_resetwal.c:991 pg_resetwal.c:1029 #, c-format msgid "could not close directory \"%s\": %m" msgstr "не удалось закрыть каталог \"%s\": %m" -#: pg_resetwal.c:990 pg_resetwal.c:1028 +#: pg_resetwal.c:983 pg_resetwal.c:1021 #, c-format msgid "could not delete file \"%s\": %m" msgstr "ошибка удаления файла \"%s\": %m" -#: pg_resetwal.c:1100 +#: pg_resetwal.c:1093 #, c-format msgid "could not open file \"%s\": %m" msgstr "не удалось открыть файл \"%s\": %m" -#: pg_resetwal.c:1108 pg_resetwal.c:1120 +#: pg_resetwal.c:1101 pg_resetwal.c:1113 #, c-format msgid "could not write file \"%s\": %m" msgstr "не удалось записать файл \"%s\": %m" -#: pg_resetwal.c:1125 +#: pg_resetwal.c:1118 #, c-format msgid "fsync error: %m" msgstr "ошибка синхронизации с ФС: %m" -#: pg_resetwal.c:1134 +#: pg_resetwal.c:1127 #, c-format msgid "" "%s resets the PostgreSQL write-ahead log.\n" @@ -593,7 +583,7 @@ msgstr "" "%s сбрасывает журнал предзаписи PostgreSQL.\n" "\n" -#: pg_resetwal.c:1135 +#: pg_resetwal.c:1128 #, c-format msgid "" "Usage:\n" @@ -604,12 +594,12 @@ msgstr "" " %s [ПАРАМЕТР]... КАТ_ДАННЫХ\n" "\n" -#: pg_resetwal.c:1136 +#: pg_resetwal.c:1129 #, c-format msgid "Options:\n" msgstr "Параметры:\n" -#: pg_resetwal.c:1137 +#: pg_resetwal.c:1130 #, c-format msgid "" " -c, --commit-timestamp-ids=XID,XID\n" @@ -621,24 +611,24 @@ msgstr "" " задать старейшую и новейшую транзакции,\n" " несущие метки времени (0 — не менять)\n" -#: pg_resetwal.c:1140 +#: pg_resetwal.c:1133 #, c-format msgid " [-D, --pgdata=]DATADIR data directory\n" msgstr " [-D, --pgdata=]КАТ_ДАННЫХ каталог данных\n" -#: pg_resetwal.c:1141 +#: pg_resetwal.c:1134 #, c-format msgid " -e, --epoch=XIDEPOCH set next transaction ID epoch\n" msgstr "" " -e, --epoch=XIDEPOCH задать эпоху для ID следующей транзакции\n" -#: pg_resetwal.c:1142 +#: pg_resetwal.c:1135 #, c-format msgid " -f, --force force update to be done\n" msgstr "" " -f, --force принудительное выполнение операции\n" -#: pg_resetwal.c:1143 +#: pg_resetwal.c:1136 #, c-format msgid "" " -l, --next-wal-file=WALFILE set minimum starting location for new " @@ -647,7 +637,7 @@ msgstr "" " -l, --next-wal-file=ФАЙЛ_WAL задать минимальное начальное положение\n" " для нового WAL\n" -#: pg_resetwal.c:1144 +#: pg_resetwal.c:1137 #, c-format msgid "" " -m, --multixact-ids=MXID,MXID set next and oldest multitransaction ID\n" @@ -655,55 +645,55 @@ msgstr "" " -m, --multixact-ids=MXID,MXID задать ID следующей и старейшей\n" " мультитранзакции\n" -#: pg_resetwal.c:1145 +#: pg_resetwal.c:1138 #, c-format msgid "" " -n, --dry-run no update, just show what would be done\n" msgstr "" -" -n, --dry-run показать, какие действия будут выполнены," -"\n" +" -n, --dry-run показать, какие действия будут " +"выполнены,\n" " но не выполнять их\n" -#: pg_resetwal.c:1146 +#: pg_resetwal.c:1139 #, c-format msgid " -o, --next-oid=OID set next OID\n" msgstr " -o, --next-oid=OID задать следующий OID\n" -#: pg_resetwal.c:1147 +#: pg_resetwal.c:1140 #, c-format msgid " -O, --multixact-offset=OFFSET set next multitransaction offset\n" msgstr "" " -O, --multixact-offset=СМЕЩЕНИЕ задать смещение следующей " "мультитранзакции\n" -#: pg_resetwal.c:1148 +#: pg_resetwal.c:1141 #, c-format msgid " -u, --oldest-transaction-id=XID set oldest transaction ID\n" msgstr " -u, --oldest-transaction-id=XID задать ID старейшей ID\n" -#: pg_resetwal.c:1149 +#: pg_resetwal.c:1142 #, c-format msgid "" " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: pg_resetwal.c:1150 +#: pg_resetwal.c:1143 #, c-format msgid " -x, --next-transaction-id=XID set next transaction ID\n" msgstr " -x, --next-transaction-id=XID задать ID следующей транзакции\n" -#: pg_resetwal.c:1151 +#: pg_resetwal.c:1144 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr "" " --wal-segsize=РАЗМЕР размер сегментов WAL (в мегабайтах)\n" -#: pg_resetwal.c:1152 +#: pg_resetwal.c:1145 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: pg_resetwal.c:1153 +#: pg_resetwal.c:1146 #, c-format msgid "" "\n" @@ -712,11 +702,19 @@ msgstr "" "\n" "Об ошибках сообщайте по адресу <%s>.\n" -#: pg_resetwal.c:1154 +#: pg_resetwal.c:1147 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашняя страница %s: <%s>\n" +#, c-format +#~ msgid "could not load library \"%s\": error code %lu" +#~ msgstr "не удалось загрузить библиотеку \"%s\" (код ошибки: %lu)" + +#, c-format +#~ msgid "cannot create restricted tokens on this platform: error code %lu" +#~ msgstr "в этой ОС нельзя создавать ограниченные маркеры (код ошибки: %lu)" + #~ msgid "fatal: " #~ msgstr "важно: " diff --git a/src/bin/pg_resetwal/po/sv.po b/src/bin/pg_resetwal/po/sv.po index 0cdd2f2c44a..7bf463e54b1 100644 --- a/src/bin/pg_resetwal/po/sv.po +++ b/src/bin/pg_resetwal/po/sv.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-04-11 19:48+0000\n" -"PO-Revision-Date: 2022-04-11 22:01+0200\n" +"POT-Creation-Date: 2023-08-31 19:50+0000\n" +"PO-Revision-Date: 2023-08-31 22:00+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -17,62 +17,52 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: ../../../src/common/logging.c:273 +#: ../../../src/common/logging.c:276 #, c-format msgid "error: " msgstr "fel: " -#: ../../../src/common/logging.c:280 +#: ../../../src/common/logging.c:283 #, c-format msgid "warning: " msgstr "varning: " -#: ../../../src/common/logging.c:291 +#: ../../../src/common/logging.c:294 #, c-format msgid "detail: " msgstr "detalj: " -#: ../../../src/common/logging.c:298 +#: ../../../src/common/logging.c:301 #, c-format msgid "hint: " msgstr "tips: " -#: ../../common/restricted_token.c:64 -#, c-format -msgid "could not load library \"%s\": error code %lu" -msgstr "kunde inte ladda länkbibliotek \"%s\": felkod %lu" - -#: ../../common/restricted_token.c:73 -#, 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" - -#: ../../common/restricted_token.c:82 +#: ../../common/restricted_token.c:60 #, c-format msgid "could not open process token: error code %lu" msgstr "kunde inte öppna process-token: felkod %lu" -#: ../../common/restricted_token.c:97 +#: ../../common/restricted_token.c:74 #, c-format msgid "could not allocate SIDs: error code %lu" msgstr "kunde inte allokera SID: felkod %lu" -#: ../../common/restricted_token.c:119 +#: ../../common/restricted_token.c:94 #, c-format msgid "could not create restricted token: error code %lu" msgstr "kunde inte skapa token för begränsad åtkomst: felkod %lu" -#: ../../common/restricted_token.c:140 +#: ../../common/restricted_token.c:115 #, c-format msgid "could not start process for command \"%s\": error code %lu" msgstr "kunde inte starta process för kommando \"%s\": felkod %lu" -#: ../../common/restricted_token.c:178 +#: ../../common/restricted_token.c:153 #, c-format msgid "could not re-execute with restricted token: error code %lu" msgstr "kunde inte köra igen med token för begränsad åtkomst: felkod %lu" -#: ../../common/restricted_token.c:193 +#: ../../common/restricted_token.c:168 #, c-format msgid "could not get exit code from subprocess: error code %lu" msgstr "kunde inte hämta statuskod för underprocess: felkod %lu" @@ -140,7 +130,7 @@ msgstr "argumentet till --wal-segsize måste vara ett tal" #: pg_resetwal.c:298 #, c-format -msgid "argument of --wal-segsize must be a power of 2 between 1 and 1024" +msgid "argument of --wal-segsize must be a power of two between 1 and 1024" msgstr "argumentet till --wal-segsize måste vara en tvåpotens mellan 1 och 1024" #: pg_resetwal.c:314 @@ -518,42 +508,42 @@ msgstr "oldestCommitTsXid: %u\n" msgid "newestCommitTsXid: %u\n" msgstr "newestCommitTsXid: %u\n" -#: pg_resetwal.c:922 pg_resetwal.c:981 pg_resetwal.c:1016 +#: pg_resetwal.c:921 pg_resetwal.c:974 pg_resetwal.c:1009 #, c-format msgid "could not open directory \"%s\": %m" msgstr "kunde inte öppna katalog \"%s\": %m" -#: pg_resetwal.c:954 pg_resetwal.c:995 pg_resetwal.c:1033 +#: pg_resetwal.c:947 pg_resetwal.c:988 pg_resetwal.c:1026 #, c-format msgid "could not read directory \"%s\": %m" msgstr "kunde inte läsa katalog \"%s\": %m" -#: pg_resetwal.c:957 pg_resetwal.c:998 pg_resetwal.c:1036 +#: pg_resetwal.c:950 pg_resetwal.c:991 pg_resetwal.c:1029 #, c-format msgid "could not close directory \"%s\": %m" msgstr "kunde inte stänga katalog \"%s\": %m" -#: pg_resetwal.c:990 pg_resetwal.c:1028 +#: pg_resetwal.c:983 pg_resetwal.c:1021 #, c-format msgid "could not delete file \"%s\": %m" msgstr "kunde inte radera fil \"%s\": %m" -#: pg_resetwal.c:1100 +#: pg_resetwal.c:1093 #, c-format msgid "could not open file \"%s\": %m" msgstr "kunde inte öppna fil \"%s\": %m" -#: pg_resetwal.c:1108 pg_resetwal.c:1120 +#: pg_resetwal.c:1101 pg_resetwal.c:1113 #, c-format msgid "could not write file \"%s\": %m" msgstr "kunde inte skriva fil \"%s\": %m" -#: pg_resetwal.c:1125 +#: pg_resetwal.c:1118 #, c-format msgid "fsync error: %m" msgstr "misslyckad fsync: %m" -#: pg_resetwal.c:1134 +#: pg_resetwal.c:1127 #, c-format msgid "" "%s resets the PostgreSQL write-ahead log.\n" @@ -562,7 +552,7 @@ msgstr "" "%s återställer write-ahead-log för PostgreSQL.\n" "\n" -#: pg_resetwal.c:1135 +#: pg_resetwal.c:1128 #, c-format msgid "" "Usage:\n" @@ -573,12 +563,12 @@ msgstr "" " %s [FLAGGA]... DATAKATALOG\n" "\n" -#: pg_resetwal.c:1136 +#: pg_resetwal.c:1129 #, c-format msgid "Options:\n" msgstr "Flaggor:\n" -#: pg_resetwal.c:1137 +#: pg_resetwal.c:1130 #, c-format msgid "" " -c, --commit-timestamp-ids=XID,XID\n" @@ -590,72 +580,72 @@ msgstr "" " kan ha commit-tidstämpel (noll betyder\n" " ingen ändring)\n" -#: pg_resetwal.c:1140 +#: pg_resetwal.c:1133 #, c-format msgid " [-D, --pgdata=]DATADIR data directory\n" msgstr " [-D, --pgdata=]DATADIR datakatalog\n" -#: pg_resetwal.c:1141 +#: pg_resetwal.c:1134 #, c-format msgid " -e, --epoch=XIDEPOCH set next transaction ID epoch\n" msgstr " -e, --epoch=XIDEPOCH sätter epoch för nästa transaktions-ID\n" -#: pg_resetwal.c:1142 +#: pg_resetwal.c:1135 #, c-format msgid " -f, --force force update to be done\n" msgstr " -f, --force framtvinga uppdatering\n" -#: pg_resetwal.c:1143 +#: pg_resetwal.c:1136 #, c-format msgid " -l, --next-wal-file=WALFILE set minimum starting location for new WAL\n" msgstr " -l, --next-wal-file=WALFIL sätt minsta startposition för ny WAL\n" -#: pg_resetwal.c:1144 +#: pg_resetwal.c:1137 #, c-format msgid " -m, --multixact-ids=MXID,MXID set next and oldest multitransaction ID\n" msgstr " -m, --multixact-ids=MXID,MXID sätt nästa och äldsta multitransaktions-ID\n" -#: pg_resetwal.c:1145 +#: pg_resetwal.c:1138 #, c-format msgid " -n, --dry-run no update, just show what would be done\n" msgstr " -n, --dry-run ingen updatering; visa bara planerade åtgärder\n" -#: pg_resetwal.c:1146 +#: pg_resetwal.c:1139 #, c-format msgid " -o, --next-oid=OID set next OID\n" msgstr " -o, --next-oid=OID sätt nästa OID\n" -#: pg_resetwal.c:1147 +#: pg_resetwal.c:1140 #, c-format msgid " -O, --multixact-offset=OFFSET set next multitransaction offset\n" msgstr " -O, --multixact-offset=OFFSET sätt nästa multitransaktionsoffset\n" -#: pg_resetwal.c:1148 +#: pg_resetwal.c:1141 #, c-format msgid " -u, --oldest-transaction-id=XID set oldest transaction ID\n" msgstr " -u, --oldest-transaction-id=XID sätt äldsta transaktions-ID\n" -#: pg_resetwal.c:1149 +#: pg_resetwal.c:1142 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version visa versionsinformation, avsluta sedan\n" -#: pg_resetwal.c:1150 +#: pg_resetwal.c:1143 #, c-format msgid " -x, --next-transaction-id=XID set next transaction ID\n" msgstr " -x, --next-transaction-id=XID sätt nästa transaktions-ID\n" -#: pg_resetwal.c:1151 +#: pg_resetwal.c:1144 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr " --wal-segsize=STORLEK storlek på WAL-segment i megabyte\n" -#: pg_resetwal.c:1152 +#: pg_resetwal.c:1145 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help visa denna hjälp, avsluta sedan\n" -#: pg_resetwal.c:1153 +#: pg_resetwal.c:1146 #, c-format msgid "" "\n" @@ -664,7 +654,15 @@ msgstr "" "\n" "Rapportera fel till <%s>.\n" -#: pg_resetwal.c:1154 +#: pg_resetwal.c:1147 #, c-format msgid "%s home page: <%s>\n" msgstr "hemsida för %s: <%s>\n" + +#, c-format +#~ msgid "cannot create restricted tokens on this platform: error code %lu" +#~ msgstr "kan inte skapa token för begränsad åtkomst på denna plattorm: felkod %lu" + +#, c-format +#~ msgid "could not load library \"%s\": error code %lu" +#~ msgstr "kunde inte ladda länkbibliotek \"%s\": felkod %lu" diff --git a/src/bin/pg_rewind/po/fr.po b/src/bin/pg_rewind/po/fr.po index a6cfe9c04fd..d83beaa830c 100644 --- a/src/bin/pg_rewind/po/fr.po +++ b/src/bin/pg_rewind/po/fr.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2023-07-29 09:21+0000\n" -"PO-Revision-Date: 2023-07-29 22:46+0200\n" +"PO-Revision-Date: 2023-09-05 07:49+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -542,7 +542,6 @@ msgid "" msgstr "" " -R, --write-recovery-conf écrit la configuration pour la réplication\n" " (requiert --source-server)\n" -"\n" #: pg_rewind.c:106 #, c-format @@ -985,7 +984,7 @@ msgstr "n'a pas pu localiser le bloc de sauvegarde d'ID %d dans l'enregistrement #: xlogreader.c:2052 #, c-format msgid "could not restore image at %X/%X with invalid block %d specified" -msgstr "n'a pas pu restaurer l'image ) %X/%X avec le bloc invalide %d indiqué" +msgstr "n'a pas pu restaurer l'image à %X/%X avec le bloc invalide %d indiqué" #: xlogreader.c:2059 #, c-format diff --git a/src/bin/pg_rewind/po/it.po b/src/bin/pg_rewind/po/it.po index b0d41902080..0a1c3d44385 100644 --- a/src/bin/pg_rewind/po/it.po +++ b/src/bin/pg_rewind/po/it.po @@ -17,7 +17,7 @@ msgstr "" "Project-Id-Version: pg_rewind (PostgreSQL) 11\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-09-26 08:20+0000\n" -"PO-Revision-Date: 2022-10-05 13:58+0200\n" +"PO-Revision-Date: 2023-09-05 08:23+0200\n" "Last-Translator: Domenico Sgarbossa \n" "Language-Team: https://github.com/dvarrazzo/postgresql-it\n" "Language: it\n" @@ -507,7 +507,7 @@ msgid "" " -c, --restore-target-wal use restore_command in target configuration to\n" " retrieve WAL files from archives\n" msgstr "" -" -c, --restore-target-wal usa restore_command nella configurazione di destinazione in\n" +" -c, --restore-target-wal usa restore_command nella configurazione di destinazione in\n" " recuperare i file WAL dagli archivi\n" #: pg_rewind.c:91 @@ -536,8 +536,8 @@ msgid "" " -N, --no-sync do not wait for changes to be written\n" " safely to disk\n" msgstr "" -" -N, --no-sync non aspettare che i dati siano scritti con sicurezza\n" -" sul disco\n" +" -N, --no-sync non aspettare che i dati siano scritti con sicurezza\n" +" sul disco\n" #: pg_rewind.c:97 #, c-format @@ -550,7 +550,7 @@ msgid "" " -R, --write-recovery-conf write configuration for replication\n" " (requires --source-server)\n" msgstr "" -" -R, --write-recovery-conf configurazione di scrittura per la replica\n" +" -R, --write-recovery-conf configurazione di scrittura per la replica\n" " (richiede --source-server)\n" #: pg_rewind.c:100 @@ -559,7 +559,7 @@ msgid "" " --config-file=FILENAME use specified main server configuration\n" " file when running target cluster\n" msgstr "" -" --config-file=FILENAME utilizza la configurazione del server principale specificata\n" +" --config-file=FILENAME utilizza la configurazione del server principale specificata\n" " file durante l'esecuzione del cluster di destinazione\n" #: pg_rewind.c:102 @@ -570,7 +570,7 @@ msgstr " --debug stampa una gran quantità di messaggi d #: pg_rewind.c:103 #, c-format msgid " --no-ensure-shutdown do not automatically fix unclean shutdown\n" -msgstr " --no-ensure-shutdown non corregge automaticamente l'arresto non pulito\n" +msgstr " --no-ensure-shutdown non corregge automaticamente l'arresto non pulito\n" #: pg_rewind.c:104 #, c-format diff --git a/src/bin/pg_rewind/po/ru.po b/src/bin/pg_rewind/po/ru.po index debef96f6de..271dea60a30 100644 --- a/src/bin/pg_rewind/po/ru.po +++ b/src/bin/pg_rewind/po/ru.po @@ -1,21 +1,21 @@ # Russian message translation file for pg_rewind # Copyright (C) 2015-2016 PostgreSQL Global Development Group # This file is distributed under the same license as the PostgreSQL package. -# Alexander Lakhin , 2015-2017, 2018, 2019, 2020, 2021, 2022. +# Alexander Lakhin , 2015-2017, 2018, 2019, 2020, 2021, 2022, 2023. msgid "" msgstr "" "Project-Id-Version: pg_rewind (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-09-29 10:17+0300\n" -"PO-Revision-Date: 2022-09-29 14:17+0300\n" +"POT-Creation-Date: 2023-08-28 07:59+0300\n" +"PO-Revision-Date: 2023-08-30 15:22+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: ../../../src/common/logging.c:276 #, c-format @@ -38,82 +38,82 @@ msgid "hint: " msgstr "подсказка: " #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 -#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format msgid "out of memory\n" msgstr "нехватка памяти\n" -#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 #, c-format msgid "cannot duplicate null pointer (internal error)\n" msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n" -#: ../../common/restricted_token.c:64 +#: ../../common/percentrepl.c:79 ../../common/percentrepl.c:118 #, c-format -msgid "could not load library \"%s\": error code %lu" -msgstr "не удалось загрузить библиотеку \"%s\" (код ошибки: %lu)" +msgid "invalid value for parameter \"%s\": \"%s\"" +msgstr "неверное значение для параметра \"%s\": \"%s\"" -#: ../../common/restricted_token.c:73 +#: ../../common/percentrepl.c:80 #, c-format -msgid "cannot create restricted tokens on this platform: error code %lu" -msgstr "в этой ОС нельзя создавать ограниченные маркеры (код ошибки: %lu)" +msgid "String ends unexpectedly after escape character \"%%\"." +msgstr "Строка неожиданно закончилась после спецсимвола \"%%\"." -#: ../../common/restricted_token.c:82 +#: ../../common/percentrepl.c:119 +#, c-format +msgid "String contains unexpected placeholder \"%%%c\"." +msgstr "Строка содержит неожиданный местозаполнитель \"%%%c\"." + +#: ../../common/restricted_token.c:60 #, c-format msgid "could not open process token: error code %lu" msgstr "не удалось открыть маркер процесса (код ошибки: %lu)" -#: ../../common/restricted_token.c:97 +#: ../../common/restricted_token.c:74 #, c-format msgid "could not allocate SIDs: error code %lu" msgstr "не удалось подготовить структуры SID (код ошибки: %lu)" -#: ../../common/restricted_token.c:119 +#: ../../common/restricted_token.c:94 #, c-format msgid "could not create restricted token: error code %lu" msgstr "не удалось создать ограниченный маркер (код ошибки: %lu)" -#: ../../common/restricted_token.c:140 +#: ../../common/restricted_token.c:115 #, c-format msgid "could not start process for command \"%s\": error code %lu" msgstr "не удалось запустить процесс для команды \"%s\" (код ошибки: %lu)" -#: ../../common/restricted_token.c:178 +#: ../../common/restricted_token.c:153 #, c-format msgid "could not re-execute with restricted token: error code %lu" msgstr "не удалось перезапуститься с ограниченным маркером (код ошибки: %lu)" -#: ../../common/restricted_token.c:193 +#: ../../common/restricted_token.c:168 #, c-format msgid "could not get exit code from subprocess: error code %lu" msgstr "не удалось получить код выхода от подпроцесса (код ошибки: %lu)" -#: ../../fe_utils/archive.c:52 -#, c-format -msgid "cannot use restore_command with %%r placeholder" -msgstr "нельзя использовать restore_command со знаком подстановки %%r" - -#: ../../fe_utils/archive.c:70 +#: ../../fe_utils/archive.c:69 #, c-format msgid "unexpected file size for \"%s\": %lld instead of %lld" msgstr "неподходящий размер файла \"%s\": %lld вместо %lld байт" -#: ../../fe_utils/archive.c:78 +#: ../../fe_utils/archive.c:77 #, c-format msgid "could not open file \"%s\" restored from archive: %m" msgstr "не удалось открыть файл \"%s\", восстановленный из архива: %m" -#: ../../fe_utils/archive.c:87 file_ops.c:417 +#: ../../fe_utils/archive.c:86 file_ops.c:417 #, c-format msgid "could not stat file \"%s\": %m" msgstr "не удалось получить информацию о файле \"%s\": %m" -#: ../../fe_utils/archive.c:99 +#: ../../fe_utils/archive.c:98 #, c-format msgid "restore_command failed: %s" msgstr "ошибка при выполнении restore_command: %s" -#: ../../fe_utils/archive.c:106 +#: ../../fe_utils/archive.c:105 #, c-format msgid "could not restore file \"%s\" from archive" msgstr "восстановить файл \"%s\" из архива не удалось" @@ -225,31 +225,22 @@ msgstr "не удалось прочитать файл \"%s\" (прочитан msgid "could not open directory \"%s\": %m" msgstr "не удалось открыть каталог \"%s\": %m" -#: file_ops.c:446 +#: file_ops.c:441 #, c-format msgid "could not read symbolic link \"%s\": %m" msgstr "не удалось прочитать символическую ссылку \"%s\": %m" -#: file_ops.c:449 +#: file_ops.c:444 #, c-format msgid "symbolic link \"%s\" target is too long" msgstr "целевой путь символической ссылки \"%s\" слишком длинный" -#: file_ops.c:464 -#, c-format -msgid "" -"\"%s\" is a symbolic link, but symbolic links are not supported on this " -"platform" -msgstr "" -"\"%s\" — символическая ссылка, но в этой ОС символические ссылки не " -"поддерживаются" - -#: file_ops.c:471 +#: file_ops.c:462 #, c-format msgid "could not read directory \"%s\": %m" msgstr "не удалось прочитать каталог \"%s\": %m" -#: file_ops.c:475 +#: file_ops.c:466 #, c-format msgid "could not close directory \"%s\": %m" msgstr "не удалось закрыть каталог \"%s\": %m" @@ -483,7 +474,7 @@ msgstr "" "Запись WAL модифицирует отношение, но тип записи не распознан: lsn: %X/%X, " "rmid: %d, rmgr: %s, info: %02X" -#: pg_rewind.c:86 +#: pg_rewind.c:92 #, c-format msgid "" "%s resynchronizes a PostgreSQL cluster with another copy of the cluster.\n" @@ -492,7 +483,7 @@ msgstr "" "%s синхронизирует кластер PostgreSQL с другой копией кластера.\n" "\n" -#: pg_rewind.c:87 +#: pg_rewind.c:93 #, c-format msgid "" "Usage:\n" @@ -503,12 +494,12 @@ msgstr "" " %s [ПАРАМЕТР]...\n" "\n" -#: pg_rewind.c:88 +#: pg_rewind.c:94 #, c-format msgid "Options:\n" msgstr "Параметры:\n" -#: pg_rewind.c:89 +#: pg_rewind.c:95 #, c-format msgid "" " -c, --restore-target-wal use restore_command in target configuration " @@ -519,14 +510,14 @@ msgstr "" " архива команду restore_command из целевой\n" " конфигурации\n" -#: pg_rewind.c:91 +#: pg_rewind.c:97 #, c-format msgid " -D, --target-pgdata=DIRECTORY existing data directory to modify\n" msgstr "" " -D, --target-pgdata=КАТАЛОГ существующий каталог, куда будут записаны " "данные\n" -#: pg_rewind.c:92 +#: pg_rewind.c:98 #, c-format msgid "" " --source-pgdata=DIRECTORY source data directory to synchronize with\n" @@ -535,21 +526,21 @@ msgstr "" "синхронизация\n" # well-spelled: ПОДКЛ -#: pg_rewind.c:93 +#: pg_rewind.c:99 #, c-format msgid " --source-server=CONNSTR source server to synchronize with\n" msgstr "" " --source-server=СТР_ПОДКЛ сервер, с которым будет проведена " "синхронизация\n" -#: pg_rewind.c:94 +#: pg_rewind.c:100 #, c-format msgid " -n, --dry-run stop before modifying anything\n" msgstr "" " -n, --dry-run остановиться до внесения каких-либо " "изменений\n" -#: pg_rewind.c:95 +#: pg_rewind.c:101 #, c-format msgid "" " -N, --no-sync do not wait for changes to be written\n" @@ -558,12 +549,12 @@ msgstr "" " -N, --no-sync не ждать завершения сохранения данных на " "диске\n" -#: pg_rewind.c:97 +#: pg_rewind.c:103 #, c-format msgid " -P, --progress write progress messages\n" msgstr " -P, --progress выводить сообщения о ходе процесса\n" -#: pg_rewind.c:98 +#: pg_rewind.c:104 #, c-format msgid "" " -R, --write-recovery-conf write configuration for replication\n" @@ -572,7 +563,7 @@ msgstr "" " -R, --write-recovery-conf записать конфигурацию для репликации\n" " (требуется указание --source-server)\n" -#: pg_rewind.c:100 +#: pg_rewind.c:106 #, c-format msgid "" " --config-file=FILENAME use specified main server configuration\n" @@ -582,13 +573,13 @@ msgstr "" " конфигурации сервера при запуске целевого\n" " кластера\n" -#: pg_rewind.c:102 +#: pg_rewind.c:108 #, c-format msgid " --debug write a lot of debug messages\n" msgstr "" " --debug выдавать множество отладочных сообщений\n" -#: pg_rewind.c:103 +#: pg_rewind.c:109 #, c-format msgid "" " --no-ensure-shutdown do not automatically fix unclean shutdown\n" @@ -596,18 +587,18 @@ msgstr "" " --no-ensure-shutdown не исправлять автоматически состояние,\n" " возникающее при нештатном отключении\n" -#: pg_rewind.c:104 +#: pg_rewind.c:110 #, c-format msgid "" " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: pg_rewind.c:105 +#: pg_rewind.c:111 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: pg_rewind.c:106 +#: pg_rewind.c:112 #, c-format msgid "" "\n" @@ -616,33 +607,33 @@ msgstr "" "\n" "Об ошибках сообщайте по адресу <%s>.\n" -#: pg_rewind.c:107 +#: pg_rewind.c:113 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашняя страница %s: <%s>\n" -#: pg_rewind.c:215 pg_rewind.c:223 pg_rewind.c:230 pg_rewind.c:237 -#: pg_rewind.c:244 pg_rewind.c:252 +#: pg_rewind.c:223 pg_rewind.c:231 pg_rewind.c:238 pg_rewind.c:245 +#: pg_rewind.c:252 pg_rewind.c:260 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Для дополнительной информации попробуйте \"%s --help\"." -#: pg_rewind.c:222 +#: pg_rewind.c:230 #, c-format msgid "no source specified (--source-pgdata or --source-server)" msgstr "источник не указан (требуется --source-pgdata или --source-server)" -#: pg_rewind.c:229 +#: pg_rewind.c:237 #, c-format msgid "only one of --source-pgdata or --source-server can be specified" msgstr "указать можно только --source-pgdata либо --source-server" -#: pg_rewind.c:236 +#: pg_rewind.c:244 #, c-format msgid "no target data directory specified (--target-pgdata)" msgstr "целевой каталог данных не указан (--target-pgdata)" -#: pg_rewind.c:243 +#: pg_rewind.c:251 #, c-format msgid "" "no source server information (--source-server) specified for --write-" @@ -651,119 +642,119 @@ msgstr "" "отсутствует информация об исходном сервере (--source-server) для --write-" "recovery-conf" -#: pg_rewind.c:250 +#: pg_rewind.c:258 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "слишком много аргументов командной строки (первый: \"%s\")" -#: pg_rewind.c:265 +#: pg_rewind.c:273 #, c-format msgid "cannot be executed by \"root\"" msgstr "программу не должен запускать root" -#: pg_rewind.c:266 +#: pg_rewind.c:274 #, c-format msgid "You must run %s as the PostgreSQL superuser." msgstr "Запускать %s нужно от имени суперпользователя PostgreSQL." -#: pg_rewind.c:276 +#: pg_rewind.c:284 #, c-format msgid "could not read permissions of directory \"%s\": %m" msgstr "не удалось считать права на каталог \"%s\": %m" -#: pg_rewind.c:294 +#: pg_rewind.c:302 #, c-format msgid "%s" msgstr "%s" -#: pg_rewind.c:297 +#: pg_rewind.c:305 #, c-format msgid "connected to server" msgstr "подключение к серверу установлено" -#: pg_rewind.c:344 +#: pg_rewind.c:366 #, c-format msgid "source and target cluster are on the same timeline" msgstr "исходный и целевой кластер уже на одной линии времени" -#: pg_rewind.c:353 +#: pg_rewind.c:387 #, c-format msgid "servers diverged at WAL location %X/%X on timeline %u" msgstr "серверы разошлись в позиции WAL %X/%X на линии времени %u" -#: pg_rewind.c:401 +#: pg_rewind.c:442 #, c-format msgid "no rewind required" msgstr "перемотка не требуется" -#: pg_rewind.c:410 +#: pg_rewind.c:451 #, c-format msgid "rewinding from last common checkpoint at %X/%X on timeline %u" msgstr "" "перемотка от последней общей контрольной точки в позиции %X/%X на линии " "времени %u" -#: pg_rewind.c:420 +#: pg_rewind.c:461 #, c-format msgid "reading source file list" msgstr "чтение списка исходных файлов" -#: pg_rewind.c:424 +#: pg_rewind.c:465 #, c-format msgid "reading target file list" msgstr "чтение списка целевых файлов" -#: pg_rewind.c:433 +#: pg_rewind.c:474 #, c-format msgid "reading WAL in target" msgstr "чтение WAL в целевом кластере" -#: pg_rewind.c:454 +#: pg_rewind.c:495 #, c-format msgid "need to copy %lu MB (total source directory size is %lu MB)" msgstr "требуется скопировать %lu МБ (общий размер исходного каталога: %lu МБ)" -#: pg_rewind.c:472 +#: pg_rewind.c:513 #, c-format msgid "syncing target data directory" msgstr "синхронизация целевого каталога данных" -#: pg_rewind.c:488 +#: pg_rewind.c:529 #, c-format msgid "Done!" msgstr "Готово!" -#: pg_rewind.c:568 +#: pg_rewind.c:609 #, c-format msgid "no action decided for file \"%s\"" msgstr "действие не определено для файла \"%s\"" -#: pg_rewind.c:600 +#: pg_rewind.c:641 #, c-format msgid "source system was modified while pg_rewind was running" msgstr "в исходной системе произошли изменения в процессе работы pg_rewind" -#: pg_rewind.c:604 +#: pg_rewind.c:645 #, c-format msgid "creating backup label and updating control file" msgstr "создание метки копии и модификация управляющего файла" -#: pg_rewind.c:654 +#: pg_rewind.c:695 #, c-format msgid "source system was in unexpected state at end of rewind" msgstr "исходная система оказалась в неожиданном состоянии после перемотки" -#: pg_rewind.c:685 +#: pg_rewind.c:727 #, c-format msgid "source and target clusters are from different systems" msgstr "исходный и целевой кластеры относятся к разным системам" -#: pg_rewind.c:693 +#: pg_rewind.c:735 #, c-format msgid "clusters are not compatible with this version of pg_rewind" msgstr "кластеры несовместимы с этой версией pg_rewind" -#: pg_rewind.c:703 +#: pg_rewind.c:745 #, c-format msgid "" "target server needs to use either data checksums or \"wal_log_hints = on\"" @@ -771,49 +762,44 @@ msgstr "" "на целевом сервере должны быть контрольные суммы данных или \"wal_log_hints " "= on\"" -#: pg_rewind.c:714 +#: pg_rewind.c:756 #, c-format msgid "target server must be shut down cleanly" msgstr "целевой сервер должен быть выключен штатно" -#: pg_rewind.c:724 +#: pg_rewind.c:766 #, c-format msgid "source data directory must be shut down cleanly" msgstr "работа с исходным каталогом данных должна быть завершена штатно" -#: pg_rewind.c:771 +#: pg_rewind.c:813 #, c-format msgid "%*s/%s kB (%d%%) copied" msgstr "%*s/%s КБ (%d%%) скопировано" -#: pg_rewind.c:834 -#, c-format -msgid "invalid control file" -msgstr "неверный управляющий файл" - -#: pg_rewind.c:918 +#: pg_rewind.c:941 #, c-format msgid "" "could not find common ancestor of the source and target cluster's timelines" msgstr "" "не удалось найти общего предка линий времени исходного и целевого кластеров" -#: pg_rewind.c:959 +#: pg_rewind.c:982 #, c-format msgid "backup label buffer too small" msgstr "буфер для метки копии слишком мал" -#: pg_rewind.c:982 +#: pg_rewind.c:1005 #, c-format msgid "unexpected control file CRC" msgstr "неверная контрольная сумма управляющего файла" -#: pg_rewind.c:994 +#: pg_rewind.c:1017 #, c-format msgid "unexpected control file size %d, expected %d" msgstr "неверный размер управляющего файла (%d), ожидалось: %d" -#: pg_rewind.c:1003 +#: pg_rewind.c:1026 #, c-format msgid "" "WAL segment size must be a power of two between 1 MB and 1 GB, but the " @@ -831,39 +817,39 @@ msgstr[2] "" "Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 " "ГБ, но в управляющем файле указано значение: %d" -#: pg_rewind.c:1042 pg_rewind.c:1112 +#: pg_rewind.c:1065 pg_rewind.c:1135 #, c-format msgid "" -"program \"%s\" is needed by %s but was not found in the same directory as \"" -"%s\"" +"program \"%s\" is needed by %s but was not found in the same directory as " +"\"%s\"" msgstr "программа \"%s\" нужна для %s, но она не найдена в каталоге \"%s\"" -#: pg_rewind.c:1045 pg_rewind.c:1115 +#: pg_rewind.c:1068 pg_rewind.c:1138 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "" "программа \"%s\" найдена программой \"%s\", но её версия отличается от " "версии %s" -#: pg_rewind.c:1078 +#: pg_rewind.c:1101 #, c-format msgid "restore_command is not set in the target cluster" msgstr "команда restore_command в целевом кластере не определена" -#: pg_rewind.c:1119 +#: pg_rewind.c:1142 #, c-format msgid "executing \"%s\" for target server to complete crash recovery" msgstr "" "выполнение \"%s\" для восстановления согласованности на целевом сервере" -#: pg_rewind.c:1156 +#: pg_rewind.c:1180 #, c-format msgid "postgres single-user mode in target cluster failed" msgstr "" "не удалось запустить postgres в целевом кластере в однопользовательском " "режиме" -#: pg_rewind.c:1157 +#: pg_rewind.c:1181 #, c-format msgid "Command was: %s" msgstr "Выполнялась команда: %s" @@ -904,74 +890,73 @@ msgid "Timeline IDs must be less than child timeline's ID." msgstr "" "Идентификаторы линий времени должны быть меньше идентификатора линии-потомка." -#: xlogreader.c:625 +#: xlogreader.c:626 #, c-format -msgid "invalid record offset at %X/%X" -msgstr "неверное смещение записи: %X/%X" +msgid "invalid record offset at %X/%X: expected at least %u, got %u" +msgstr "" +"неверное смещение записи в позиции %X/%X: ожидалось минимум %u, получено %u" -#: xlogreader.c:633 +#: xlogreader.c:635 #, c-format msgid "contrecord is requested by %X/%X" -msgstr "по смещению %X/%X запрошено продолжение записи" +msgstr "в позиции %X/%X запрошено продолжение записи" -#: xlogreader.c:674 xlogreader.c:1121 +#: xlogreader.c:676 xlogreader.c:1119 #, c-format -msgid "invalid record length at %X/%X: wanted %u, got %u" -msgstr "неверная длина записи по смещению %X/%X: ожидалось %u, получено %u" +msgid "invalid record length at %X/%X: expected at least %u, got %u" +msgstr "" +"неверная длина записи в позиции %X/%X: ожидалось минимум %u, получено %u" -#: xlogreader.c:703 +#: xlogreader.c:705 #, c-format msgid "out of memory while trying to decode a record of length %u" msgstr "не удалось выделить память для декодирования записи длины %u" -#: xlogreader.c:725 +#: xlogreader.c:727 #, c-format msgid "record length %u at %X/%X too long" -msgstr "длина записи %u по смещению %X/%X слишком велика" +msgstr "длина записи %u в позиции %X/%X слишком велика" -#: xlogreader.c:774 +#: xlogreader.c:776 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "нет флага contrecord в позиции %X/%X" -#: xlogreader.c:787 +#: xlogreader.c:789 #, c-format msgid "invalid contrecord length %u (expected %lld) at %X/%X" msgstr "неверная длина contrecord: %u (ожидалась %lld) в позиции %X/%X" -#: xlogreader.c:922 -#, c-format -msgid "missing contrecord at %X/%X" -msgstr "нет записи contrecord в %X/%X" - -#: xlogreader.c:1129 +#: xlogreader.c:1127 #, c-format msgid "invalid resource manager ID %u at %X/%X" -msgstr "неверный ID менеджера ресурсов %u по смещению %X/%X" +msgstr "неверный ID менеджера ресурсов %u в позиции %X/%X" -#: xlogreader.c:1142 xlogreader.c:1158 +#: xlogreader.c:1140 xlogreader.c:1156 #, c-format msgid "record with incorrect prev-link %X/%X at %X/%X" -msgstr "запись с неверной ссылкой назад %X/%X по смещению %X/%X" +msgstr "запись с неверной ссылкой назад %X/%X в позиции %X/%X" -#: xlogreader.c:1194 +#: xlogreader.c:1192 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "" -"некорректная контрольная сумма данных менеджера ресурсов в записи по " -"смещению %X/%X" +"некорректная контрольная сумма данных менеджера ресурсов в записи в позиции " +"%X/%X" -#: xlogreader.c:1231 +#: xlogreader.c:1226 #, c-format -msgid "invalid magic number %04X in log segment %s, offset %u" -msgstr "неверное магическое число %04X в сегменте журнала %s, смещение %u" +msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "" +"неверное магическое число %04X в сегменте WAL %s, LSN %X/%X, смещение %u" -#: xlogreader.c:1245 xlogreader.c:1286 +#: xlogreader.c:1241 xlogreader.c:1283 #, c-format -msgid "invalid info bits %04X in log segment %s, offset %u" -msgstr "неверные информационные биты %04X в сегменте журнала %s, смещение %u" +msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "" +"неверные информационные биты %04X в сегменте WAL %s, LSN %X/%X, смещение %u" -#: xlogreader.c:1260 +#: xlogreader.c:1257 #, c-format msgid "" "WAL file is from different database system: WAL file database system " @@ -980,7 +965,7 @@ msgstr "" "файл WAL принадлежит другой СУБД: в нём указан идентификатор системы БД " "%llu, а идентификатор системы pg_control: %llu" -#: xlogreader.c:1268 +#: xlogreader.c:1265 #, c-format msgid "" "WAL file is from different database system: incorrect segment size in page " @@ -989,7 +974,7 @@ msgstr "" "файл WAL принадлежит другой СУБД: некорректный размер сегмента в заголовке " "страницы" -#: xlogreader.c:1274 +#: xlogreader.c:1271 #, c-format msgid "" "WAL file is from different database system: incorrect XLOG_BLCKSZ in page " @@ -998,17 +983,19 @@ msgstr "" "файл WAL принадлежит другой СУБД: некорректный XLOG_BLCKSZ в заголовке " "страницы" -#: xlogreader.c:1305 +#: xlogreader.c:1303 #, c-format -msgid "unexpected pageaddr %X/%X in log segment %s, offset %u" -msgstr "неожиданный pageaddr %X/%X в сегменте журнала %s, смещение %u" +msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "неожиданный pageaddr %X/%X в сегменте WAL %s, LSN %X/%X, смещение %u" -#: xlogreader.c:1330 +#: xlogreader.c:1329 #, c-format -msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u" +msgid "" +"out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, " +"offset %u" msgstr "" -"нарушение последовательности ID линии времени %u (после %u) в сегменте " -"журнала %s, смещение %u" +"нарушение последовательности ID линии времени %u (после %u) в сегменте WAL " +"%s, LSN %X/%X, смещение %u" #: xlogreader.c:1735 #, c-format @@ -1075,24 +1062,24 @@ msgstr "неверный идентификатор блока %u в позиц msgid "record with invalid length at %X/%X" msgstr "запись с неверной длиной в позиции %X/%X" -#: xlogreader.c:1967 +#: xlogreader.c:1968 #, c-format msgid "could not locate backup block with ID %d in WAL record" msgstr "не удалось найти копию блока с ID %d в записи журнала WAL" -#: xlogreader.c:2051 +#: xlogreader.c:2052 #, c-format msgid "could not restore image at %X/%X with invalid block %d specified" msgstr "" "не удалось восстановить образ в позиции %X/%X с указанным неверным блоком %d" -#: xlogreader.c:2058 +#: xlogreader.c:2059 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" msgstr "" "не удалось восстановить образ в позиции %X/%X с неверным состоянием, блок %d" -#: xlogreader.c:2085 xlogreader.c:2102 +#: xlogreader.c:2086 xlogreader.c:2103 #, c-format msgid "" "could not restore image at %X/%X compressed with %s not supported by build, " @@ -1101,7 +1088,7 @@ msgstr "" "не удалось восстановить образ в позиции %X/%X, сжатый методом %s, который не " "поддерживается этой сборкой, блок %d" -#: xlogreader.c:2111 +#: xlogreader.c:2112 #, c-format msgid "" "could not restore image at %X/%X compressed with unknown method, block %d" @@ -1109,11 +1096,43 @@ msgstr "" "не удалось восстановить образ в позиции %X/%X, сжатый неизвестным методом, " "блок %d" -#: xlogreader.c:2119 +#: xlogreader.c:2120 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "не удалось развернуть образ в позиции %X/%X, блок %d" +#, c-format +#~ msgid "could not load library \"%s\": error code %lu" +#~ msgstr "не удалось загрузить библиотеку \"%s\" (код ошибки: %lu)" + +#, c-format +#~ msgid "cannot create restricted tokens on this platform: error code %lu" +#~ msgstr "в этой ОС нельзя создавать ограниченные маркеры (код ошибки: %lu)" + +#, c-format +#~ msgid "cannot use restore_command with %%r placeholder" +#~ msgstr "нельзя использовать restore_command со знаком подстановки %%r" + +#, c-format +#~ msgid "" +#~ "\"%s\" is a symbolic link, but symbolic links are not supported on this " +#~ "platform" +#~ msgstr "" +#~ "\"%s\" — символическая ссылка, но в этой ОС символические ссылки не " +#~ "поддерживаются" + +#, c-format +#~ msgid "invalid control file" +#~ msgstr "неверный управляющий файл" + +#, c-format +#~ msgid "invalid record offset at %X/%X" +#~ msgstr "неверное смещение записи: %X/%X" + +#, c-format +#~ msgid "missing contrecord at %X/%X" +#~ msgstr "нет записи contrecord в %X/%X" + #~ msgid "fatal: " #~ msgstr "важно: " diff --git a/src/bin/pg_rewind/po/sv.po b/src/bin/pg_rewind/po/sv.po index 8e6391520f4..7826919eba4 100644 --- a/src/bin/pg_rewind/po/sv.po +++ b/src/bin/pg_rewind/po/sv.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2023-08-02 03:21+0000\n" -"PO-Revision-Date: 2023-08-02 07:56+0200\n" +"PO-Revision-Date: 2023-09-05 09:02+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -138,7 +138,7 @@ msgstr "kunde inte skriva till fil \"%s\": %m" #: ../../fe_utils/recovery_gen.c:133 #, c-format msgid "could not create file \"%s\": %m" -msgstr "kan inte skapa fil \"%s\": %m" +msgstr "kunde inte skapa fil \"%s\": %m" #: file_ops.c:67 #, c-format @@ -534,9 +534,8 @@ msgid "" " -R, --write-recovery-conf write configuration for replication\n" " (requires --source-server)\n" msgstr "" -" -R, --write-recovery-conf\n" -" skriv konfiguration för replikering\n" -" (kräver --source-server)\n" +" -R, --write-recovery-conf skriv konfiguration för replikering\n" +" (kräver --source-server)\n" #: pg_rewind.c:106 #, c-format @@ -922,37 +921,37 @@ msgstr "ej-i-sekvens block_id %u vid %X/%X" #: xlogreader.c:1759 #, c-format msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X" -msgstr "BKPBLOCK_HAS_DATA satt, men ingen data inkluderad vid %X/%X" +msgstr "BKPBLOCK_HAS_DATA är satt men ingen data inkluderad vid %X/%X" #: xlogreader.c:1766 #, c-format msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X" -msgstr "BKPBLOCK_HAS_DATA ej satt, men datalängd är %u vid %X/%X" +msgstr "BKPBLOCK_HAS_DATA är ej satt men datalängden är %u vid %X/%X" #: xlogreader.c:1802 #, c-format msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X" -msgstr "BKPIMAGE_HAS_HOLE satt, men håloffset %u längd %u block-image-längd %u vid %X/%X" +msgstr "BKPIMAGE_HAS_HOLE är satt men håloffset %u längd %u blockavbildlängd %u vid %X/%X" #: xlogreader.c:1818 #, c-format msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X" -msgstr "BKPIMAGE_HAS_HOLE ej satt, men håloffset %u längd %u vid %X/%X" +msgstr "BKPIMAGE_HAS_HOLE är inte satt men håloffset %u längd %u vid %X/%X" #: xlogreader.c:1832 #, c-format msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" -msgstr "BKPIMAGE_COMPRESSED satt, men blockavbildlängd %u vid %X/%X" +msgstr "BKPIMAGE_COMPRESSED är satt men blockavbildlängd %u vid %X/%X" #: xlogreader.c:1847 #, 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 satt, men blockavbildlängd är %u vid %X/%X" +msgstr "varken BKPIMAGE_HAS_HOLE eller BKPIMAGE_COMPRESSED är satt men blockavbildlängd är %u vid %X/%X" #: xlogreader.c:1863 #, c-format msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X" -msgstr "BKPBLOCK_SAME_REL satt men ingen tidigare rel vid %X/%X" +msgstr "BKPBLOCK_SAME_REL är satt men ingen tidigare rel vid %X/%X" #: xlogreader.c:1875 #, c-format @@ -977,17 +976,17 @@ msgstr "kunde inte återställa avbild vid %X/%X med ogiltigt block %d angivet" #: xlogreader.c:2059 #, 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" +msgstr "kunde inte återställa avbild vid %X/%X med ogiltigt state, block %d" #: xlogreader.c:2086 xlogreader.c:2103 #, 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 komprimerade med %s stöds inte av bygget, block %d" +msgstr "kunde inte återställa avbild vid %X/%X, komprimerad med %s stöds inte av bygget, block %d" #: xlogreader.c:2112 #, 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" +msgstr "kunde inte återställa avbild vid %X/%X, komprimerad med okänd metod, block %d" #: xlogreader.c:2120 #, c-format diff --git a/src/bin/pg_test_fsync/po/ru.po b/src/bin/pg_test_fsync/po/ru.po index 4b5be6d018a..3ee354d1a9d 100644 --- a/src/bin/pg_test_fsync/po/ru.po +++ b/src/bin/pg_test_fsync/po/ru.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: pg_test_fsync (PostgreSQL) 10\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-08-27 14:52+0300\n" +"POT-Creation-Date: 2023-08-28 07:59+0300\n" "PO-Revision-Date: 2022-09-05 13:36+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: ../../../src/common/logging.c:276 #, c-format @@ -103,21 +103,21 @@ msgstr "" msgid "Direct I/O is not supported on this platform.\n" msgstr "Прямой ввод/вывод не поддерживается на этой платформе.\n" -#: pg_test_fsync.c:245 pg_test_fsync.c:336 pg_test_fsync.c:361 -#: pg_test_fsync.c:385 pg_test_fsync.c:529 pg_test_fsync.c:541 -#: pg_test_fsync.c:557 pg_test_fsync.c:563 pg_test_fsync.c:585 +#: pg_test_fsync.c:245 pg_test_fsync.c:335 pg_test_fsync.c:357 +#: pg_test_fsync.c:381 pg_test_fsync.c:525 pg_test_fsync.c:537 +#: pg_test_fsync.c:553 pg_test_fsync.c:559 pg_test_fsync.c:581 msgid "could not open output file" msgstr "не удалось открыть выходной файл" -#: pg_test_fsync.c:249 pg_test_fsync.c:319 pg_test_fsync.c:345 -#: pg_test_fsync.c:370 pg_test_fsync.c:394 pg_test_fsync.c:433 -#: pg_test_fsync.c:492 pg_test_fsync.c:531 pg_test_fsync.c:559 -#: pg_test_fsync.c:590 +#: pg_test_fsync.c:249 pg_test_fsync.c:319 pg_test_fsync.c:344 +#: pg_test_fsync.c:366 pg_test_fsync.c:390 pg_test_fsync.c:429 +#: pg_test_fsync.c:488 pg_test_fsync.c:527 pg_test_fsync.c:555 +#: pg_test_fsync.c:586 msgid "write failed" msgstr "ошибка записи" -#: pg_test_fsync.c:253 pg_test_fsync.c:372 pg_test_fsync.c:396 -#: pg_test_fsync.c:533 pg_test_fsync.c:565 +#: pg_test_fsync.c:253 pg_test_fsync.c:368 pg_test_fsync.c:392 +#: pg_test_fsync.c:529 pg_test_fsync.c:561 msgid "fsync failed" msgstr "ошибка синхронизации с ФС" @@ -147,16 +147,16 @@ msgstr "" "(в порядке предпочтения для wal_sync_method, без учёта наибольшего " "предпочтения fdatasync в Linux)\n" -#: pg_test_fsync.c:306 pg_test_fsync.c:413 pg_test_fsync.c:480 +#: pg_test_fsync.c:306 pg_test_fsync.c:409 pg_test_fsync.c:476 msgid "n/a*" msgstr "н/д*" -#: pg_test_fsync.c:325 pg_test_fsync.c:351 pg_test_fsync.c:401 -#: pg_test_fsync.c:439 pg_test_fsync.c:498 +#: pg_test_fsync.c:325 pg_test_fsync.c:397 pg_test_fsync.c:435 +#: pg_test_fsync.c:494 msgid "n/a" msgstr "н/д" -#: pg_test_fsync.c:444 +#: pg_test_fsync.c:440 #, c-format msgid "" "* This file system and its mount options do not support direct\n" @@ -165,7 +165,7 @@ msgstr "" "* Эта файловая система с текущими параметрами монтирования не поддерживает\n" " прямой ввод/вывод, как например, ext4 в режиме журналирования.\n" -#: pg_test_fsync.c:452 +#: pg_test_fsync.c:448 #, c-format msgid "" "\n" @@ -174,7 +174,7 @@ msgstr "" "\n" "Сравнение open_sync при различных объёмах записываемых данных:\n" -#: pg_test_fsync.c:453 +#: pg_test_fsync.c:449 #, c-format msgid "" "(This is designed to compare the cost of writing 16kB in different write\n" @@ -185,27 +185,27 @@ msgstr "" "записи с open_sync.)\n" # skip-rule: double-space -#: pg_test_fsync.c:456 +#: pg_test_fsync.c:452 msgid " 1 * 16kB open_sync write" msgstr "запись с open_sync 1 * 16 КБ" -#: pg_test_fsync.c:457 +#: pg_test_fsync.c:453 msgid " 2 * 8kB open_sync writes" msgstr "запись с open_sync 2 * 8 КБ" -#: pg_test_fsync.c:458 +#: pg_test_fsync.c:454 msgid " 4 * 4kB open_sync writes" msgstr "запись с open_sync 4 * 4 КБ" -#: pg_test_fsync.c:459 +#: pg_test_fsync.c:455 msgid " 8 * 2kB open_sync writes" msgstr "запись с open_sync 8 * 2 КБ" -#: pg_test_fsync.c:460 +#: pg_test_fsync.c:456 msgid "16 * 1kB open_sync writes" msgstr "запись с open_sync 16 * 1 КБ" -#: pg_test_fsync.c:514 +#: pg_test_fsync.c:510 #, c-format msgid "" "\n" @@ -215,7 +215,7 @@ msgstr "" "Проверка, производится ли fsync с указателем файла, открытого не для " "записи:\n" -#: pg_test_fsync.c:515 +#: pg_test_fsync.c:511 #, c-format msgid "" "(If the times are similar, fsync() can sync data written on a different\n" @@ -225,7 +225,7 @@ msgstr "" "данные,\n" "записанные через другой дескриптор.)\n" -#: pg_test_fsync.c:580 +#: pg_test_fsync.c:576 #, c-format msgid "" "\n" diff --git a/src/bin/pg_test_timing/po/ru.po b/src/bin/pg_test_timing/po/ru.po index 2bc6ad39144..c24e78df428 100644 --- a/src/bin/pg_test_timing/po/ru.po +++ b/src/bin/pg_test_timing/po/ru.po @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: pg_test_timing.c:59 #, c-format diff --git a/src/bin/pg_upgrade/po/fr.po b/src/bin/pg_upgrade/po/fr.po index 94d17751155..fe19381a36d 100644 --- a/src/bin/pg_upgrade/po/fr.po +++ b/src/bin/pg_upgrade/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: 2023-07-29 09:19+0000\n" -"PO-Revision-Date: 2023-07-30 10:37+0200\n" +"POT-Creation-Date: 2023-09-05 17:19+0000\n" +"PO-Revision-Date: 2023-09-05 22:03+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -348,7 +348,7 @@ msgstr "Vérification des types composites définis par le système dans les tab #: check.c:1136 #, c-format msgid "" -"Your installation contains system-defined composite type(s) in user tables.\n" +"Your installation contains system-defined composite types in user tables.\n" "These type OIDs are not stable across PostgreSQL versions,\n" "so this cluster cannot currently be upgraded. You can\n" "drop the problem columns and restart the upgrade.\n" @@ -356,7 +356,7 @@ msgid "" " %s" msgstr "" "Votre installation contient des types composites définis par le système dans vos tables\n" -"utilisateurs. Les OID de ces types ne sont pas stables entre différentes versions majeures\n" +"utilisateurs. Les OID de ces types ne sont pas stables entre différentes versions\n" "de PostgreSQL, donc cette instance ne peut pas être mise à jour actuellement. Vous pouvez\n" "supprimer les colonnes problématiques, puis relancer la mise à jour. Vous trouverez\n" "une liste des colonnes problématiques dans le fichier :\n" @@ -1240,7 +1240,7 @@ msgstr "" #: option.c:291 #, c-format msgid " --copy copy files to new cluster (default)\n" -msgstr " --copy copie les fichiers vers la nouvelle instance (par défaut)\n" +msgstr " --copy copie les fichiers vers la nouvelle instance (par défaut)\n" #: option.c:292 #, c-format diff --git a/src/bin/pg_upgrade/po/ja.po b/src/bin/pg_upgrade/po/ja.po index 264b2404664..cdc3e8cf33f 100644 --- a/src/bin/pg_upgrade/po/ja.po +++ b/src/bin/pg_upgrade/po/ja.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_upgrade (PostgreSQL 16)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-05-22 09:36+0900\n" -"PO-Revision-Date: 2023-05-22 10:05+0900\n" +"POT-Creation-Date: 2023-08-25 09:36+0900\n" +"PO-Revision-Date: 2023-08-25 13:02+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: Japan PostgreSQL Users Group \n" "Language: ja\n" @@ -343,7 +343,7 @@ msgstr "ユーザーテーブル内のシステム定義複合型を確認して #: check.c:1136 #, c-format msgid "" -"Your installation contains system-defined composite type(s) in user tables.\n" +"Your installation contains system-defined composite types in user tables.\n" "These type OIDs are not stable across PostgreSQL versions,\n" "so this cluster cannot currently be upgraded. You can\n" "drop the problem columns and restart the upgrade.\n" diff --git a/src/bin/pg_upgrade/po/ru.po b/src/bin/pg_upgrade/po/ru.po index e26ade17a16..5bb6028bdcf 100644 --- a/src/bin/pg_upgrade/po/ru.po +++ b/src/bin/pg_upgrade/po/ru.po @@ -1,306 +1,281 @@ # Russian message translation file for pg_upgrade # Copyright (C) 2017 PostgreSQL Global Development Group # This file is distributed under the same license as the PostgreSQL package. -# Alexander Lakhin , 2017, 2018, 2019, 2020, 2021, 2022. +# Alexander Lakhin , 2017, 2018, 2019, 2020, 2021, 2022, 2023. # Maxim Yablokov , 2021. msgid "" msgstr "" "Project-Id-Version: pg_upgrade (PostgreSQL) 10\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2021-08-14 06:29+0300\n" -"PO-Revision-Date: 2022-01-19 16:26+0300\n" +"POT-Creation-Date: 2023-08-28 07:59+0300\n" +"PO-Revision-Date: 2023-08-30 15:47+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: check.c:70 +#: check.c:69 #, c-format msgid "" "Performing Consistency Checks on Old Live Server\n" -"------------------------------------------------\n" +"------------------------------------------------" msgstr "" "Проверка целостности на старом работающем сервере\n" -"-------------------------------------------------\n" +"-------------------------------------------------" -#: check.c:76 +#: check.c:75 #, c-format msgid "" "Performing Consistency Checks\n" -"-----------------------------\n" +"-----------------------------" msgstr "" "Проведение проверок целостности\n" -"-------------------------------\n" +"-------------------------------" -#: check.c:213 +#: check.c:221 #, c-format msgid "" "\n" -"*Clusters are compatible*\n" +"*Clusters are compatible*" msgstr "" "\n" -"*Кластеры совместимы*\n" +"*Кластеры совместимы*" -#: check.c:219 +#: check.c:229 #, c-format msgid "" "\n" "If pg_upgrade fails after this point, you must re-initdb the\n" -"new cluster before continuing.\n" +"new cluster before continuing." msgstr "" "\n" "Если работа pg_upgrade после этого прервётся, вы должны заново выполнить " "initdb\n" -"для нового кластера, чтобы продолжить.\n" +"для нового кластера, чтобы продолжить." -#: check.c:264 +#: check.c:270 #, c-format msgid "" "Optimizer statistics are not transferred by pg_upgrade.\n" "Once you start the new server, consider running:\n" -" %s/vacuumdb %s--all --analyze-in-stages\n" -"\n" +" %s/vacuumdb %s--all --analyze-in-stages" msgstr "" "Статистика оптимизатора утилитой pg_upgrade не переносится.\n" "Запустив новый сервер, имеет смысл выполнить:\n" -" %s/vacuumdb %s--all --analyze-in-stages\n" -"\n" +" %s/vacuumdb %s--all --analyze-in-stages" -#: check.c:270 +#: check.c:276 #, c-format msgid "" "Running this script will delete the old cluster's data files:\n" -" %s\n" +" %s" msgstr "" "При запуске этого скрипта будут удалены файлы данных старого кластера:\n" -" %s\n" +" %s" -#: check.c:275 +#: check.c:281 #, c-format msgid "" "Could not create a script to delete the old cluster's data files\n" "because user-defined tablespaces or the new cluster's data directory\n" "exist in the old cluster directory. The old cluster's contents must\n" -"be deleted manually.\n" +"be deleted manually." msgstr "" "Не удалось создать скрипт для удаления файлов данных старого кластера,\n" "так как каталог старого кластера содержит пользовательские табличные\n" "пространства или каталог данных нового кластера.\n" -"Содержимое старого кластера нужно будет удалить вручную.\n" +"Содержимое старого кластера нужно будет удалить вручную." -#: check.c:287 +#: check.c:293 #, c-format msgid "Checking cluster versions" msgstr "Проверка версий кластеров" -#: check.c:299 +#: check.c:305 #, c-format -msgid "This utility can only upgrade from PostgreSQL version 8.4 and later.\n" +msgid "This utility can only upgrade from PostgreSQL version %s and later." msgstr "" -"Эта утилита может производить обновление только с версии PostgreSQL 8.4 и " -"новее.\n" +"Эта утилита может производить обновление только с версии PostgreSQL %s и " +"новее." -#: check.c:303 +#: check.c:310 #, c-format -msgid "This utility can only upgrade to PostgreSQL version %s.\n" -msgstr "Эта утилита может только повышать версию PostgreSQL до %s.\n" +msgid "This utility can only upgrade to PostgreSQL version %s." +msgstr "Эта утилита может повышать версию PostgreSQL только до %s." -#: check.c:312 +#: check.c:319 #, c-format msgid "" -"This utility cannot be used to downgrade to older major PostgreSQL " -"versions.\n" +"This utility cannot be used to downgrade to older major PostgreSQL versions." msgstr "" "Эта утилита не может понижать версию до более старой основной версии " -"PostgreSQL.\n" +"PostgreSQL." -#: check.c:317 +#: check.c:324 #, c-format msgid "" -"Old cluster data and binary directories are from different major versions.\n" +"Old cluster data and binary directories are from different major versions." msgstr "" "Каталоги данных и исполняемых файлов старого кластера относятся к разным " -"основным версиям.\n" +"основным версиям." -#: check.c:320 +#: check.c:327 #, c-format msgid "" -"New cluster data and binary directories are from different major versions.\n" +"New cluster data and binary directories are from different major versions." msgstr "" "Каталоги данных и исполняемых файлов нового кластера относятся к разным " -"основным версиям.\n" +"основным версиям." -#: check.c:337 +#: check.c:342 #, c-format msgid "" -"When checking a pre-PG 9.1 live old server, you must specify the old " -"server's port number.\n" -msgstr "" -"Для проверки старого работающего сервера версии до 9.1 необходимо указать " -"номер порта этого сервера.\n" - -#: check.c:341 -#, c-format -msgid "" -"When checking a live server, the old and new port numbers must be " -"different.\n" +"When checking a live server, the old and new port numbers must be different." msgstr "" "Для проверки работающего сервера новый номер порта должен отличаться от " -"старого.\n" - -#: check.c:356 -#, c-format -msgid "encodings for database \"%s\" do not match: old \"%s\", new \"%s\"\n" -msgstr "" -"кодировки в базе данных \"%s\" различаются: старая - \"%s\", новая - \"%s" -"\"\n" +"старого." -#: check.c:361 +#: check.c:362 #, c-format -msgid "" -"lc_collate values for database \"%s\" do not match: old \"%s\", new \"%s\"\n" +msgid "New cluster database \"%s\" is not empty: found relation \"%s.%s\"" msgstr "" -"значения lc_collate в базе данных \"%s\" различаются: старое - \"%s\", " -"новое - \"%s\"\n" +"Новая база данных кластера \"%s\" не пустая: найдено отношение \"%s.%s\"" -#: check.c:364 -#, c-format -msgid "" -"lc_ctype values for database \"%s\" do not match: old \"%s\", new \"%s\"\n" -msgstr "" -"значения lc_ctype в базе данных \"%s\" различаются: старое - \"%s\", новое " -"- \"%s\"\n" - -#: check.c:437 -#, c-format -msgid "New cluster database \"%s\" is not empty: found relation \"%s.%s\"\n" -msgstr "" -"Новая база данных кластера \"%s\" не пустая: найдено отношение \"%s.%s\"\n" - -#: check.c:494 +#: check.c:385 #, c-format msgid "Checking for new cluster tablespace directories" msgstr "Проверка каталогов табличных пространств в новом кластере" -#: check.c:505 +#: check.c:396 #, c-format -msgid "new cluster tablespace directory already exists: \"%s\"\n" +msgid "new cluster tablespace directory already exists: \"%s\"" msgstr "" -"каталог табличного пространства в новом кластере уже существует: \"%s\"\n" +"каталог табличного пространства в новом кластере уже существует: \"%s\"" -#: check.c:538 +#: check.c:429 #, c-format msgid "" "\n" -"WARNING: new data directory should not be inside the old data directory, e." -"g. %s\n" +"WARNING: new data directory should not be inside the old data directory, i." +"e. %s" msgstr "" "\n" "ПРЕДУПРЕЖДЕНИЕ: новый каталог данных не должен располагаться внутри старого " -"каталога данных, то есть, в %s\n" +"каталога данных, то есть, в %s" -#: check.c:562 +#: check.c:453 #, c-format msgid "" "\n" "WARNING: user-defined tablespace locations should not be inside the data " -"directory, e.g. %s\n" +"directory, i.e. %s" msgstr "" "\n" "ПРЕДУПРЕЖДЕНИЕ: пользовательские табличные пространства не должны " -"располагаться внутри каталога данных, то есть, в %s\n" +"располагаться внутри каталога данных, то есть, в %s" -#: check.c:572 +#: check.c:463 #, c-format msgid "Creating script to delete old cluster" msgstr "Создание скрипта для удаления старого кластера" -#: check.c:575 check.c:839 check.c:937 check.c:1016 check.c:1278 file.c:336 -#: function.c:240 option.c:497 version.c:54 version.c:204 version.c:376 -#: version.c:511 +#: check.c:466 check.c:639 check.c:755 check.c:850 check.c:979 check.c:1056 +#: check.c:1299 check.c:1373 file.c:339 function.c:163 option.c:476 +#: version.c:116 version.c:292 version.c:426 #, c-format -msgid "could not open file \"%s\": %s\n" -msgstr "не удалось открыть файл \"%s\": %s\n" +msgid "could not open file \"%s\": %s" +msgstr "не удалось открыть файл \"%s\": %s" -#: check.c:631 +#: check.c:517 #, c-format -msgid "could not add execute permission to file \"%s\": %s\n" -msgstr "не удалось добавить право выполнения для файла \"%s\": %s\n" +msgid "could not add execute permission to file \"%s\": %s" +msgstr "не удалось добавить право выполнения для файла \"%s\": %s" -#: check.c:651 +#: check.c:537 #, c-format msgid "Checking database user is the install user" msgstr "Проверка, является ли пользователь БД стартовым пользователем" -#: check.c:667 +#: check.c:553 #, c-format -msgid "database user \"%s\" is not the install user\n" -msgstr "пользователь БД \"%s\" не является стартовым пользователем\n" +msgid "database user \"%s\" is not the install user" +msgstr "пользователь БД \"%s\" не является стартовым пользователем" -#: check.c:678 +#: check.c:564 #, c-format -msgid "could not determine the number of users\n" -msgstr "не удалось определить количество пользователей\n" +msgid "could not determine the number of users" +msgstr "не удалось определить количество пользователей" -#: check.c:686 +#: check.c:572 #, c-format -msgid "Only the install user can be defined in the new cluster.\n" -msgstr "В новом кластере может быть определён только стартовый пользователь.\n" +msgid "Only the install user can be defined in the new cluster." +msgstr "В новом кластере может быть определён только стартовый пользователь." -#: check.c:706 +#: check.c:601 #, c-format msgid "Checking database connection settings" msgstr "Проверка параметров подключения к базе данных" -#: check.c:728 +#: check.c:627 #, c-format msgid "" "template0 must not allow connections, i.e. its pg_database.datallowconn must " -"be false\n" +"be false" msgstr "" -"База template0 не должна допускать подключения, то есть её свойство " -"pg_database.datallowconn должно быть false\n" +"база template0 не должна допускать подключения, то есть её свойство " +"pg_database.datallowconn должно быть false" + +#: check.c: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 +#, c-format +msgid "fatal" +msgstr "сбой" -#: check.c:738 +#: check.c:655 #, c-format msgid "" -"All non-template0 databases must allow connections, i.e. their pg_database." -"datallowconn must be true\n" +"All non-template0 databases must allow connections, i.e. their\n" +"pg_database.datallowconn must be true. Your installation contains\n" +"non-template0 databases with their pg_database.datallowconn set to\n" +"false. Consider allowing connection for all non-template0 databases\n" +"or drop the databases which do not allow connections. A list of\n" +"databases with the problem is in the file:\n" +" %s" msgstr "" "Все базы, кроме template0, должны допускать подключения, то есть их свойство " -"pg_database.datallowconn должно быть true\n" +"pg_database.datallowconn должно быть true. В вашей инсталляции содержатся\n" +"базы (не считая template0), у которых pg_database.datallowconn — false.\n" +"Имеет смысл разрешить подключения для всех баз данных, кроме template0,\n" +"или удалить базы, к которым нельзя подключаться. Список баз данных\n" +"с этой проблемой содержится в файле:\n" +" %s" -#: check.c:763 +#: check.c:680 #, c-format msgid "Checking for prepared transactions" msgstr "Проверка наличия подготовленных транзакций" -#: check.c:772 +#: check.c:689 #, c-format -msgid "The source cluster contains prepared transactions\n" -msgstr "Исходный кластер содержит подготовленные транзакции\n" +msgid "The source cluster contains prepared transactions" +msgstr "Исходный кластер содержит подготовленные транзакции" -#: check.c:774 +#: check.c:691 #, c-format -msgid "The target cluster contains prepared transactions\n" -msgstr "Целевой кластер содержит подготовленные транзакции\n" +msgid "The target cluster contains prepared transactions" +msgstr "Целевой кластер содержит подготовленные транзакции" -#: check.c:800 +#: check.c:716 #, c-format msgid "Checking for contrib/isn with bigint-passing mismatch" msgstr "Проверка несоответствия при передаче bigint в contrib/isn" -#: check.c:861 check.c:962 check.c:1038 check.c:1095 check.c:1154 check.c:1183 -#: check.c:1301 function.c:262 version.c:278 version.c:316 version.c:460 -#, c-format -msgid "fatal\n" -msgstr "сбой\n" - -#: check.c:862 +#: check.c:776 #, c-format msgid "" "Your installation contains \"contrib/isn\" functions which rely on the\n" @@ -309,8 +284,7 @@ msgid "" "manually dump databases in the old cluster that use \"contrib/isn\"\n" "facilities, drop them, perform the upgrade, and then restore them. A\n" "list of the problem functions is in the file:\n" -" %s\n" -"\n" +" %s" msgstr "" "В вашей инсталляции имеются функции \"contrib/isn\", задействующие тип " "biging.\n" @@ -321,85 +295,104 @@ msgstr "" "или удалить \"contrib/isn\" из старого кластера и перезапустить обновление. " "Список\n" "проблемных функций приведён в файле:\n" -" %s\n" -"\n" +" %s" -#: check.c:885 +#: check.c:798 #, c-format msgid "Checking for user-defined postfix operators" msgstr "Проверка пользовательских постфиксных операторов" -#: check.c:963 +#: check.c:874 #, c-format msgid "" "Your installation contains user-defined postfix operators, which are not\n" "supported anymore. Consider dropping the postfix operators and replacing\n" "them with prefix operators or function calls.\n" "A list of user-defined postfix operators is in the file:\n" -" %s\n" -"\n" +" %s" msgstr "" "В вашей инсталляции содержатся пользовательские постфиксные операторы, " "которые\n" "теперь не поддерживаются. Их следует удалить и использовать вместо них\n" "префиксные операторы или функции.\n" "Список пользовательских постфиксных операторов приведён в файле:\n" -" %s\n" -"\n" +" %s" + +#: check.c:898 +#, c-format +msgid "Checking for incompatible polymorphic functions" +msgstr "Проверка несовместимых полиморфных функций" + +#: check.c:1000 +#, c-format +msgid "" +"Your installation contains user-defined objects that refer to internal\n" +"polymorphic functions with arguments of type \"anyarray\" or " +"\"anyelement\".\n" +"These user-defined objects must be dropped before upgrading and restored\n" +"afterwards, changing them to refer to the new corresponding functions with\n" +"arguments of type \"anycompatiblearray\" and \"anycompatible\".\n" +"A list of the problematic objects is in the file:\n" +" %s" +msgstr "" +"В вашей инсталляции содержатся пользовательские объекты, обращающиеся\n" +"к внутренним полиморфным функциям с аргументами типа \"anyarray\" или " +"\"anyelement\".\n" +"Такие объекты необходимо удалить перед процедурой обновления и восстановить\n" +"после, изменив их так, чтобы они обращались к новым аналогичным функциям\n" +"с аргументами типа \"anycompatiblearray\" и \"anycompatible\".\n" +"Список проблемных объектов приведён в файле:\n" +" %s" -#: check.c:984 +#: check.c:1024 #, c-format msgid "Checking for tables WITH OIDS" msgstr "Проверка таблиц со свойством WITH OIDS" -#: check.c:1039 +#: check.c:1077 #, c-format msgid "" "Your installation contains tables declared WITH OIDS, which is not\n" "supported anymore. Consider removing the oid column using\n" " ALTER TABLE ... SET WITHOUT OIDS;\n" "A list of tables with the problem is in the file:\n" -" %s\n" -"\n" +" %s" msgstr "" "В вашей инсталляции содержатся таблицы со свойством WITH OIDS, которое " "теперь\n" "не поддерживается. Отказаться от использования столбцов oid можно так:\n" " ALTER TABLE ... SET WITHOUT OIDS;\n" "Список проблемных таблиц приведён в файле:\n" -" %s\n" -"\n" +" %s" -#: check.c:1067 +#: check.c:1105 #, c-format msgid "Checking for system-defined composite types in user tables" msgstr "Проверка системных составных типов в пользовательских таблицах" -#: check.c:1096 +#: check.c:1136 #, c-format msgid "" -"Your installation contains system-defined composite type(s) in user tables.\n" +"Your installation contains system-defined composite types in user tables.\n" "These type OIDs are not stable across PostgreSQL versions,\n" "so this cluster cannot currently be upgraded. You can\n" "drop the problem columns and restart the upgrade.\n" "A list of the problem columns is in the file:\n" -" %s\n" -"\n" +" %s" msgstr "" "В вашей инсталляции пользовательские таблицы используют системные составные " "типы.\n" "OID таких типов могут различаться в разных версиях PostgreSQL, в настоящем\n" "состоянии обновить кластер невозможно. Вы можете удалить проблемные столбцы\n" "и перезапустить обновление. Список проблемных столбцов приведён в файле:\n" -" %s\n" -"\n" +" %s" -#: check.c:1124 +#: check.c:1164 #, c-format msgid "Checking for reg* data types in user tables" msgstr "Проверка типов данных reg* в пользовательских таблицах" -#: check.c:1155 +#: check.c:1197 #, c-format msgid "" "Your installation contains one of the reg* data types in user tables.\n" @@ -407,8 +400,7 @@ msgid "" "pg_upgrade, so this cluster cannot currently be upgraded. You can\n" "drop the problem columns and restart the upgrade.\n" "A list of the problem columns is in the file:\n" -" %s\n" -"\n" +" %s" msgstr "" "В вашей инсталляции пользовательские таблицы содержат один из типов reg*.\n" "Эти типы данных ссылаются на системные OID, которые не сохраняются утилитой\n" @@ -416,15 +408,39 @@ msgstr "" "можете удалить проблемные столбцы и перезапустить обновление. Список " "проблемных\n" "столбцов приведён в файле:\n" -" %s\n" -"\n" +" %s" -#: check.c:1177 +#: check.c:1218 +#, c-format +msgid "Checking for incompatible \"aclitem\" data type in user tables" +msgstr "" +"Проверка несовместимого типа данных \"aclitem\" в пользовательских таблицах" + +#: check.c:1225 +#, c-format +msgid "" +"Your installation contains the \"aclitem\" data type in user tables.\n" +"The internal format of \"aclitem\" changed in PostgreSQL version 16\n" +"so this cluster cannot currently be upgraded. You can drop the\n" +"problem columns and restart the upgrade. A list of the problem\n" +"columns is in the file:\n" +" %s" +msgstr "" +"В вашей инсталляции пользовательские таблицы используют тип данных " +"\"aclitem\".\n" +"Внутренний формат \"aclitem\" изменился в PostgreSQL версии 16, поэтому " +"обновить\n" +"кластер в текущем состоянии невозможно. Вы можете удалить проблемные столбцы " +"и\n" +"перезапустить обновление. Список проблемных столбцов приведён в файле:\n" +" %s" + +#: check.c:1246 #, c-format msgid "Checking for incompatible \"jsonb\" data type" msgstr "Проверка несовместимого типа данных \"jsonb\"" -#: check.c:1184 +#: check.c:1255 #, c-format msgid "" "Your installation contains the \"jsonb\" data type in user tables.\n" @@ -432,38 +448,41 @@ msgid "" "cluster cannot currently be upgraded. You can\n" "drop the problem columns and restart the upgrade.\n" "A list of the problem columns is in the file:\n" -" %s\n" -"\n" +" %s" msgstr "" "В вашей инсталляции таблицы используют тип данных jsonb.\n" "Внутренний формат \"jsonb\" изменился в версии 9.4 beta, поэтому обновить " "кластер\n" "в текущем состоянии невозможно. Вы можете удалить проблемные столбцы и\n" "перезапустить обновление. Список проблемных столбцов приведён в файле:\n" -" %s\n" -"\n" +" %s" -#: check.c:1206 +#: check.c:1282 #, c-format msgid "Checking for roles starting with \"pg_\"" msgstr "Проверка ролей с именами, начинающимися с \"pg_\"" -#: check.c:1216 -#, c-format -msgid "The source cluster contains roles starting with \"pg_\"\n" -msgstr "В исходном кластере есть роли, имена которых начинаются с \"pg_\"\n" - -#: check.c:1218 +#: check.c:1314 #, c-format -msgid "The target cluster contains roles starting with \"pg_\"\n" -msgstr "В целевом кластере есть роли, имена которых начинаются с \"pg_\"\n" +msgid "" +"Your installation contains roles starting with \"pg_\".\n" +"\"pg_\" is a reserved prefix for system roles. The cluster\n" +"cannot be upgraded until these roles are renamed.\n" +"A list of roles starting with \"pg_\" is in the file:\n" +" %s" +msgstr "" +"В вашей инсталляции имеются роли с именами, начинающимися с \"pg_\".\n" +"Префикс \"pg_\" зарезервирован для системных ролей. Пока эти роли\n" +"не будут переименованы, обновить кластер невозможно.\n" +"Список ролей с префиксом \"pg_\" приведён в файле:\n" +" %s" -#: check.c:1239 +#: check.c:1334 #, c-format msgid "Checking for user-defined encoding conversions" msgstr "Проверка пользовательских перекодировок" -#: check.c:1302 +#: check.c:1395 #, c-format msgid "" "Your installation contains user-defined encoding conversions.\n" @@ -471,387 +490,359 @@ msgid "" "so this cluster cannot currently be upgraded. You can remove the\n" "encoding conversions in the old cluster and restart the upgrade.\n" "A list of user-defined encoding conversions is in the file:\n" -" %s\n" -"\n" +" %s" msgstr "" "В вашей инсталляции имеются пользовательские перекодировки.\n" "У функций перекодировок в PostgreSQL 14 поменялись параметры, поэтому\n" "в настоящем состоянии обновить кластер невозможно. Вы можете удалить\n" "перекодировки в старом кластере и перезапустить обновление.\n" "Список пользовательских перекодировок приведён в файле:\n" -" %s\n" -"\n" +" %s" -#: check.c:1329 +#: controldata.c:129 controldata.c:175 controldata.c:199 controldata.c:508 #, c-format -msgid "failed to get the current locale\n" -msgstr "не удалось получить текущую локаль\n" +msgid "could not get control data using %s: %s" +msgstr "не удалось получить управляющие данные, выполнив %s: %s" -#: check.c:1338 +#: controldata.c:140 #, c-format -msgid "failed to get system locale name for \"%s\"\n" -msgstr "не удалось получить системное имя локали для \"%s\"\n" +msgid "%d: database cluster state problem" +msgstr "%d: недопустимое состояние кластера баз данных" -#: check.c:1344 -#, c-format -msgid "failed to restore old locale \"%s\"\n" -msgstr "не удалось восстановить старую локаль \"%s\"\n" - -#: controldata.c:128 controldata.c:196 -#, c-format -msgid "could not get control data using %s: %s\n" -msgstr "не удалось получить управляющие данные, выполнив %s: %s\n" - -#: controldata.c:139 -#, c-format -msgid "%d: database cluster state problem\n" -msgstr "%d: недопустимое состояние кластера баз данных\n" - -#: controldata.c:157 +#: controldata.c:158 #, c-format msgid "" "The source cluster was shut down while in recovery mode. To upgrade, use " -"\"rsync\" as documented or shut it down as a primary.\n" +"\"rsync\" as documented or shut it down as a primary." msgstr "" "Исходный кластер был отключён в режиме восстановления. Чтобы произвести " "обновление, используйте документированный способ с rsync или отключите его в " -"режиме главного сервера.\n" +"режиме главного сервера." -#: controldata.c:159 +#: controldata.c:160 #, c-format msgid "" "The target cluster was shut down while in recovery mode. To upgrade, use " -"\"rsync\" as documented or shut it down as a primary.\n" +"\"rsync\" as documented or shut it down as a primary." msgstr "" "Целевой кластер был отключён в режиме восстановления. Чтобы произвести " "обновление, используйте документированный способ с rsync или отключите его в " -"режиме главного сервера.\n" +"режиме главного сервера." -#: controldata.c:164 +#: controldata.c:165 #, c-format -msgid "The source cluster was not shut down cleanly.\n" -msgstr "Исходный кластер не был отключён штатным образом.\n" +msgid "The source cluster was not shut down cleanly." +msgstr "Исходный кластер не был отключён штатным образом." -#: controldata.c:166 +#: controldata.c:167 #, c-format -msgid "The target cluster was not shut down cleanly.\n" -msgstr "Целевой кластер не был отключён штатным образом.\n" +msgid "The target cluster was not shut down cleanly." +msgstr "Целевой кластер не был отключён штатным образом." -#: controldata.c:177 +#: controldata.c:181 #, c-format -msgid "The source cluster lacks cluster state information:\n" -msgstr "В исходном кластере не хватает информации о состоянии кластера:\n" +msgid "The source cluster lacks cluster state information:" +msgstr "В исходном кластере не хватает информации о состоянии кластера:" -#: controldata.c:179 +#: controldata.c:183 #, c-format -msgid "The target cluster lacks cluster state information:\n" -msgstr "В целевом кластере не хватает информации о состоянии кластера:\n" +msgid "The target cluster lacks cluster state information:" +msgstr "В целевом кластере не хватает информации о состоянии кластера:" -#: controldata.c:209 dump.c:49 pg_upgrade.c:335 pg_upgrade.c:371 -#: relfilenode.c:243 server.c:33 util.c:79 +#: controldata.c:214 dump.c:50 exec.c:119 pg_upgrade.c:517 pg_upgrade.c:554 +#: relfilenumber.c:231 server.c:34 util.c:337 #, c-format msgid "%s" msgstr "%s" -#: controldata.c:216 +#: controldata.c:221 #, c-format -msgid "%d: pg_resetwal problem\n" -msgstr "%d: проблема с выводом pg_resetwal\n" +msgid "%d: pg_resetwal problem" +msgstr "%d: проблема с выводом pg_resetwal" -#: controldata.c:226 controldata.c:236 controldata.c:247 controldata.c:258 -#: controldata.c:269 controldata.c:288 controldata.c:299 controldata.c:310 -#: controldata.c:321 controldata.c:332 controldata.c:343 controldata.c:354 -#: controldata.c:357 controldata.c:361 controldata.c:371 controldata.c:383 -#: controldata.c:394 controldata.c:405 controldata.c:416 controldata.c:427 -#: controldata.c:438 controldata.c:449 controldata.c:460 controldata.c:471 -#: controldata.c:482 controldata.c:493 +#: controldata.c:231 controldata.c:241 controldata.c:252 controldata.c:263 +#: controldata.c:274 controldata.c:293 controldata.c:304 controldata.c:315 +#: controldata.c:326 controldata.c:337 controldata.c:348 controldata.c:359 +#: controldata.c:362 controldata.c:366 controldata.c:376 controldata.c:388 +#: controldata.c:399 controldata.c:410 controldata.c:421 controldata.c:432 +#: controldata.c:443 controldata.c:454 controldata.c:465 controldata.c:476 +#: controldata.c:487 controldata.c:498 #, c-format -msgid "%d: controldata retrieval problem\n" -msgstr "%d: проблема с получением управляющих данных\n" +msgid "%d: controldata retrieval problem" +msgstr "%d: проблема с получением управляющих данных" -#: controldata.c:572 +#: controldata.c:579 #, c-format -msgid "The source cluster lacks some required control information:\n" -msgstr "В исходном кластере не хватает необходимой управляющей информации:\n" +msgid "The source cluster lacks some required control information:" +msgstr "В исходном кластере не хватает необходимой управляющей информации:" -#: controldata.c:575 +#: controldata.c:582 #, c-format -msgid "The target cluster lacks some required control information:\n" -msgstr "В целевом кластере не хватает необходимой управляющей информации:\n" +msgid "The target cluster lacks some required control information:" +msgstr "В целевом кластере не хватает необходимой управляющей информации:" # skip-rule: capital-letter-first -#: controldata.c:578 +#: controldata.c:585 #, c-format -msgid " checkpoint next XID\n" -msgstr " следующий XID последней конт. точки\n" +msgid " checkpoint next XID" +msgstr " следующий XID конт. точки" # skip-rule: capital-letter-first -#: controldata.c:581 +#: controldata.c:588 #, c-format -msgid " latest checkpoint next OID\n" -msgstr " следующий OID последней конт. точки\n" +msgid " latest checkpoint next OID" +msgstr " следующий OID последней конт. точки" # skip-rule: capital-letter-first -#: controldata.c:584 +#: controldata.c:591 #, c-format -msgid " latest checkpoint next MultiXactId\n" -msgstr " следующий MultiXactId последней конт. точки\n" +msgid " latest checkpoint next MultiXactId" +msgstr " следующий MultiXactId последней конт. точки" # skip-rule: capital-letter-first -#: controldata.c:588 +#: controldata.c:595 #, c-format -msgid " latest checkpoint oldest MultiXactId\n" -msgstr " старейший MultiXactId последней конт. точки\n" +msgid " latest checkpoint oldest MultiXactId" +msgstr " старейший MultiXactId последней конт. точки" # skip-rule: capital-letter-first -#: controldata.c:591 +#: controldata.c:598 #, c-format -msgid " latest checkpoint oldestXID\n" -msgstr " oldestXID последней конт. точки\n" +msgid " latest checkpoint oldestXID" +msgstr " oldestXID последней конт. точки" # skip-rule: capital-letter-first -#: controldata.c:594 +#: controldata.c:601 #, c-format -msgid " latest checkpoint next MultiXactOffset\n" -msgstr " следующий MultiXactOffset последней конт. точки\n" +msgid " latest checkpoint next MultiXactOffset" +msgstr " следующий MultiXactOffset последней конт. точки" -#: controldata.c:597 +#: controldata.c:604 #, c-format -msgid " first WAL segment after reset\n" -msgstr " первый сегмент WAL после сброса\n" +msgid " first WAL segment after reset" +msgstr " первый сегмент WAL после сброса" -#: controldata.c:600 +#: controldata.c:607 #, c-format -msgid " float8 argument passing method\n" -msgstr " метод передачи аргумента float8\n" +msgid " float8 argument passing method" +msgstr " метод передачи аргумента float8" -#: controldata.c:603 +#: controldata.c:610 #, c-format -msgid " maximum alignment\n" -msgstr " максимальное выравнивание\n" +msgid " maximum alignment" +msgstr " максимальное выравнивание" -#: controldata.c:606 +#: controldata.c:613 #, c-format -msgid " block size\n" -msgstr " размер блока\n" +msgid " block size" +msgstr " размер блока" -#: controldata.c:609 +#: controldata.c:616 #, c-format -msgid " large relation segment size\n" -msgstr " размер сегмента большого отношения\n" +msgid " large relation segment size" +msgstr " размер сегмента большого отношения" -#: controldata.c:612 +#: controldata.c:619 #, c-format -msgid " WAL block size\n" -msgstr " размер блока WAL\n" +msgid " WAL block size" +msgstr " размер блока WAL" -#: controldata.c:615 +#: controldata.c:622 #, c-format -msgid " WAL segment size\n" -msgstr " размер сегмента WAL\n" +msgid " WAL segment size" +msgstr " размер сегмента WAL" -#: controldata.c:618 +#: controldata.c:625 #, c-format -msgid " maximum identifier length\n" -msgstr " максимальная длина идентификатора\n" +msgid " maximum identifier length" +msgstr " максимальная длина идентификатора" -#: controldata.c:621 +#: controldata.c:628 #, c-format -msgid " maximum number of indexed columns\n" -msgstr " максимальное число столбцов в индексе\n" +msgid " maximum number of indexed columns" +msgstr " максимальное число столбцов в индексе" -#: controldata.c:624 +#: controldata.c:631 #, c-format -msgid " maximum TOAST chunk size\n" -msgstr " максимальный размер порции TOAST\n" +msgid " maximum TOAST chunk size" +msgstr " максимальный размер порции TOAST" -#: controldata.c:628 +#: controldata.c:635 #, c-format -msgid " large-object chunk size\n" -msgstr " размер порции большого объекта\n" +msgid " large-object chunk size" +msgstr " размер порции большого объекта" -#: controldata.c:631 +#: controldata.c:638 #, c-format -msgid " dates/times are integers?\n" -msgstr " дата/время представлены целыми числами?\n" +msgid " dates/times are integers?" +msgstr " дата/время представлены целыми числами?" -#: controldata.c:635 +#: controldata.c:642 #, c-format -msgid " data checksum version\n" -msgstr " версия контрольных сумм данных\n" +msgid " data checksum version" +msgstr " версия контрольных сумм данных" -#: controldata.c:637 +#: controldata.c:644 #, c-format -msgid "Cannot continue without required control information, terminating\n" +msgid "Cannot continue without required control information, terminating" msgstr "" -"Нет необходимой управляющей информации для продолжения, работа прерывается\n" +"Нет необходимой управляющей информации для продолжения, работа прерывается" -#: controldata.c:652 +#: controldata.c:659 #, c-format msgid "" -"old and new pg_controldata alignments are invalid or do not match\n" -"Likely one cluster is a 32-bit install, the other 64-bit\n" +"old and new pg_controldata alignments are invalid or do not match.\n" +"Likely one cluster is a 32-bit install, the other 64-bit" msgstr "" "старое и новое выравнивание в pg_controldata различаются или некорректны\n" -"Вероятно, один кластер установлен в 32-битной системе, а другой ~ в 64-" -"битной\n" +"Вероятно, один кластер установлен в 32-битной системе, а другой ~ в 64-битной" -#: controldata.c:656 +#: controldata.c:663 #, c-format -msgid "old and new pg_controldata block sizes are invalid or do not match\n" +msgid "old and new pg_controldata block sizes are invalid or do not match" msgstr "" -"старый и новый размер блоков в pg_controldata различаются или некорректны\n" +"старый и новый размер блоков в pg_controldata различаются или некорректны" -#: controldata.c:659 +#: controldata.c:666 #, c-format msgid "" "old and new pg_controldata maximum relation segment sizes are invalid or do " -"not match\n" +"not match" msgstr "" "старый и новый максимальный размер сегментов отношений в pg_controldata " -"различаются или некорректны\n" +"различаются или некорректны" -#: controldata.c:662 +#: controldata.c:669 #, c-format -msgid "" -"old and new pg_controldata WAL block sizes are invalid or do not match\n" +msgid "old and new pg_controldata WAL block sizes are invalid or do not match" msgstr "" -"старый и новый размер блоков WAL в pg_controldata различаются или " -"некорректны\n" +"старый и новый размер блоков WAL в pg_controldata различаются или некорректны" -#: controldata.c:665 +#: controldata.c:672 #, c-format msgid "" -"old and new pg_controldata WAL segment sizes are invalid or do not match\n" +"old and new pg_controldata WAL segment sizes are invalid or do not match" msgstr "" "старый и новый размер сегментов WAL в pg_controldata различаются или " -"некорректны\n" +"некорректны" -#: controldata.c:668 +#: controldata.c:675 #, c-format msgid "" "old and new pg_controldata maximum identifier lengths are invalid or do not " -"match\n" +"match" msgstr "" "старая и новая максимальная длина идентификаторов в pg_controldata " -"различаются или некорректны\n" +"различаются или некорректны" -#: controldata.c:671 +#: controldata.c:678 #, c-format msgid "" "old and new pg_controldata maximum indexed columns are invalid or do not " -"match\n" +"match" msgstr "" "старый и новый максимум числа столбцов, составляющих индексы, в " -"pg_controldata различаются или некорректны\n" +"pg_controldata различаются или некорректны" -#: controldata.c:674 +#: controldata.c:681 #, c-format msgid "" "old and new pg_controldata maximum TOAST chunk sizes are invalid or do not " -"match\n" +"match" msgstr "" "старый и новый максимальный размер порции TOAST в pg_controldata различаются " -"или некорректны\n" +"или некорректны" -#: controldata.c:679 +#: controldata.c:686 #, c-format msgid "" "old and new pg_controldata large-object chunk sizes are invalid or do not " -"match\n" +"match" msgstr "" -"старый и новый размер порции большого объекта различаются или некорректны\n" +"старый и новый размер порции большого объекта различаются или некорректны" -#: controldata.c:682 +#: controldata.c:689 #, c-format -msgid "old and new pg_controldata date/time storage types do not match\n" +msgid "old and new pg_controldata date/time storage types do not match" msgstr "" "старый и новый тип хранения даты/времени в pg_controldata различаются или " -"некорректны\n" +"некорректны" -#: controldata.c:695 +#: controldata.c:702 #, c-format -msgid "old cluster does not use data checksums but the new one does\n" +msgid "old cluster does not use data checksums but the new one does" msgstr "" "в старом кластере не применялись контрольные суммы данных, но в новом они " -"есть\n" +"есть" -#: controldata.c:698 +#: controldata.c:705 #, c-format -msgid "old cluster uses data checksums but the new one does not\n" +msgid "old cluster uses data checksums but the new one does not" msgstr "" -"в старом кластере применялись контрольные суммы данных, но в новом их нет\n" +"в старом кластере применялись контрольные суммы данных, но в новом их нет" -#: controldata.c:700 +#: controldata.c:707 #, c-format -msgid "old and new cluster pg_controldata checksum versions do not match\n" +msgid "old and new cluster pg_controldata checksum versions do not match" msgstr "" -"старая и новая версия контрольных сумм кластера в pg_controldata " -"различаются\n" +"старая и новая версия контрольных сумм кластера в pg_controldata различаются" -#: controldata.c:711 +#: controldata.c:718 #, c-format msgid "Adding \".old\" suffix to old global/pg_control" msgstr "Добавление расширения \".old\" к старому файлу global/pg_control" -#: controldata.c:716 +#: controldata.c:723 #, c-format -msgid "Unable to rename %s to %s.\n" -msgstr "Не удалось переименовать %s в %s.\n" +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "не удалось переименовать файл \"%s\" в \"%s\": %m" -#: controldata.c:719 +#: controldata.c:727 #, c-format msgid "" "\n" "If you want to start the old cluster, you will need to remove\n" "the \".old\" suffix from %s/global/pg_control.old.\n" "Because \"link\" mode was used, the old cluster cannot be safely\n" -"started once the new cluster has been started.\n" -"\n" +"started once the new cluster has been started." msgstr "" "\n" "Если вы захотите запустить старый кластер, вам нужно будет убрать\n" "расширение \".old\" у файла %s/global/pg_control.old.\n" "Так как применялся режим \"ссылок\", работа старого кластера\n" -"после того, как будет запущен новый, не гарантируется.\n" -"\n" +"после того, как будет запущен новый, не гарантируется." #: dump.c:20 #, c-format msgid "Creating dump of global objects" msgstr "Формирование выгрузки глобальных объектов" -#: dump.c:31 +#: dump.c:32 #, c-format -msgid "Creating dump of database schemas\n" -msgstr "Формирование выгрузки схем базы данных\n" +msgid "Creating dump of database schemas" +msgstr "Формирование выгрузки схем базы данных" -#: exec.c:45 +#: exec.c:47 exec.c:52 #, c-format -msgid "could not get pg_ctl version data using %s: %s\n" -msgstr "не удалось получить данные версии pg_ctl, выполнив %s: %s\n" +msgid "could not get pg_ctl version data using %s: %s" +msgstr "не удалось получить данные версии pg_ctl, выполнив %s: %s" -#: exec.c:51 +#: exec.c:56 #, c-format -msgid "could not get pg_ctl version output from %s\n" -msgstr "не удалось получить версию pg_ctl из результата %s\n" +msgid "could not get pg_ctl version output from %s" +msgstr "не удалось получить версию pg_ctl из результата %s" -#: exec.c:105 exec.c:109 +#: exec.c:113 exec.c:117 #, c-format -msgid "command too long\n" -msgstr "команда слишком длинная\n" +msgid "command too long" +msgstr "команда слишком длинная" -#: exec.c:111 util.c:37 util.c:225 +#: exec.c:161 pg_upgrade.c:286 #, c-format -msgid "%s\n" -msgstr "%s\n" +msgid "could not open log file \"%s\": %m" +msgstr "не удалось открыть файл протокола \"%s\": %m" -#: exec.c:150 option.c:217 -#, c-format -msgid "could not open log file \"%s\": %m\n" -msgstr "не удалось открыть файл протокола \"%s\": %m\n" - -#: exec.c:179 +#: exec.c:193 #, c-format msgid "" "\n" @@ -860,432 +851,352 @@ msgstr "" "\n" "*ошибка*" -#: exec.c:182 +#: exec.c:196 #, c-format -msgid "There were problems executing \"%s\"\n" -msgstr "При выполнении \"%s\" возникли проблемы\n" +msgid "There were problems executing \"%s\"" +msgstr "При выполнении \"%s\" возникли проблемы" -#: exec.c:185 +#: exec.c:199 #, c-format msgid "" "Consult the last few lines of \"%s\" or \"%s\" for\n" -"the probable cause of the failure.\n" +"the probable cause of the failure." msgstr "" "Чтобы понять причину ошибки, просмотрите последние несколько строк\n" -"файла \"%s\" или \"%s\".\n" +"файла \"%s\" или \"%s\"." -#: exec.c:190 +#: exec.c:204 #, c-format msgid "" "Consult the last few lines of \"%s\" for\n" -"the probable cause of the failure.\n" +"the probable cause of the failure." msgstr "" "Чтобы понять причину ошибки, просмотрите последние несколько строк\n" -"файла \"%s\".\n" +"файла \"%s\"." -#: exec.c:205 option.c:226 +#: exec.c:219 pg_upgrade.c:296 #, c-format -msgid "could not write to log file \"%s\": %m\n" -msgstr "не удалось записать в файл протокола \"%s\": %m\n" +msgid "could not write to log file \"%s\": %m" +msgstr "не удалось записать в файл протокола \"%s\": %m" -#: exec.c:231 +#: exec.c:245 #, c-format -msgid "could not open file \"%s\" for reading: %s\n" -msgstr "не удалось открыть файл \"%s\" для чтения: %s\n" +msgid "could not open file \"%s\" for reading: %s" +msgstr "не удалось открыть файл \"%s\" для чтения: %s" -#: exec.c:258 +#: exec.c:272 #, c-format -msgid "You must have read and write access in the current directory.\n" -msgstr "У вас должны быть права на чтение и запись в текущем каталоге.\n" +msgid "You must have read and write access in the current directory." +msgstr "У вас должны быть права на чтение и запись в текущем каталоге." -#: exec.c:311 exec.c:377 +#: exec.c:325 exec.c:391 #, c-format -msgid "check for \"%s\" failed: %s\n" -msgstr "проверка существования \"%s\" не пройдена: %s\n" +msgid "check for \"%s\" failed: %s" +msgstr "проверка существования \"%s\" не пройдена: %s" -#: exec.c:314 exec.c:380 +#: exec.c:328 exec.c:394 #, c-format -msgid "\"%s\" is not a directory\n" -msgstr "\"%s\" не является каталогом\n" +msgid "\"%s\" is not a directory" +msgstr "\"%s\" не является каталогом" -#: exec.c:430 +#: exec.c:441 #, c-format -msgid "check for \"%s\" failed: not a regular file\n" -msgstr "программа \"%s\" не прошла проверку: это не обычный файл\n" +msgid "check for \"%s\" failed: %m" +msgstr "файл \"%s\" не прошёл проверку: %m" -#: exec.c:433 +#: exec.c:446 #, c-format -msgid "check for \"%s\" failed: cannot execute (permission denied)\n" -msgstr "программа \"%s\" не прошла проверку: ошибка выполнения (нет доступа)\n" +msgid "check for \"%s\" failed: cannot execute" +msgstr "программа \"%s\" не прошла проверку: ошибка выполнения" -#: exec.c:439 -#, c-format -msgid "check for \"%s\" failed: cannot execute\n" -msgstr "программа \"%s\" не прошла проверку: ошибка выполнения\n" - -#: exec.c:449 +#: exec.c:456 #, c-format msgid "" -"check for \"%s\" failed: incorrect version: found \"%s\", expected \"%s\"\n" +"check for \"%s\" failed: incorrect version: found \"%s\", expected \"%s\"" msgstr "" "программа \"%s\" не прошла проверку: получена некорректная версия \"%s\", " -"ожидалась \"%s\"\n" +"ожидалась \"%s\"" -#: file.c:43 file.c:61 +#: file.c:43 file.c:64 #, c-format -msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %s\n" -msgstr "ошибка при клонировании отношения \"%s.%s\" (из \"%s\" в \"%s\"): %s\n" +msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %s" +msgstr "ошибка при клонировании отношения \"%s.%s\" (из \"%s\" в \"%s\"): %s" #: file.c:50 #, c-format -msgid "" -"error while cloning relation \"%s.%s\": could not open file \"%s\": %s\n" +msgid "error while cloning relation \"%s.%s\": could not open file \"%s\": %s" msgstr "" "ошибка при клонировании отношения \"%s.%s\": не удалось открыть файл \"%s\": " -"%s\n" +"%s" #: file.c:55 #, c-format msgid "" -"error while cloning relation \"%s.%s\": could not create file \"%s\": %s\n" +"error while cloning relation \"%s.%s\": could not create file \"%s\": %s" msgstr "" "ошибка при клонировании отношения \"%s.%s\": не удалось создать файл \"%s\": " -"%s\n" +"%s" -#: file.c:87 file.c:190 +#: file.c:90 file.c:193 #, c-format -msgid "" -"error while copying relation \"%s.%s\": could not open file \"%s\": %s\n" +msgid "error while copying relation \"%s.%s\": could not open file \"%s\": %s" msgstr "" "ошибка при копировании отношения \"%s.%s\": не удалось открыть файл \"%s\": " -"%s\n" +"%s" -#: file.c:92 file.c:199 +#: file.c:95 file.c:202 #, c-format msgid "" -"error while copying relation \"%s.%s\": could not create file \"%s\": %s\n" +"error while copying relation \"%s.%s\": could not create file \"%s\": %s" msgstr "" "ошибка при копировании отношения \"%s.%s\": не удалось создать файл \"%s\": " -"%s\n" +"%s" -#: file.c:106 file.c:223 +#: file.c:109 file.c:226 #, c-format -msgid "" -"error while copying relation \"%s.%s\": could not read file \"%s\": %s\n" +msgid "error while copying relation \"%s.%s\": could not read file \"%s\": %s" msgstr "" -"ошибка при копировании отношения \"%s.%s\": не удалось прочитать файл \"%s" -"\": %s\n" +"ошибка при копировании отношения \"%s.%s\": не удалось прочитать файл " +"\"%s\": %s" -#: file.c:118 file.c:301 +#: file.c:121 file.c:304 #, c-format -msgid "" -"error while copying relation \"%s.%s\": could not write file \"%s\": %s\n" +msgid "error while copying relation \"%s.%s\": could not write file \"%s\": %s" msgstr "" -"ошибка при копировании отношения \"%s.%s\": не удалось записать в файл \"%s" -"\": %s\n" +"ошибка при копировании отношения \"%s.%s\": не удалось записать в файл " +"\"%s\": %s" -#: file.c:132 +#: file.c:135 #, c-format -msgid "error while copying relation \"%s.%s\" (\"%s\" to \"%s\"): %s\n" -msgstr "ошибка при копировании отношения \"%s.%s\" (из \"%s\" в \"%s\"): %s\n" +msgid "error while copying relation \"%s.%s\" (\"%s\" to \"%s\"): %s" +msgstr "ошибка при копировании отношения \"%s.%s\" (из \"%s\" в \"%s\"): %s" -#: file.c:151 +#: file.c:154 #, c-format -msgid "" -"error while creating link for relation \"%s.%s\" (\"%s\" to \"%s\"): %s\n" +msgid "error while creating link for relation \"%s.%s\" (\"%s\" to \"%s\"): %s" msgstr "" -"ошибка при создании ссылки для отношения \"%s.%s\" (из \"%s\" в \"%s\"): %s\n" +"ошибка при создании ссылки для отношения \"%s.%s\" (из \"%s\" в \"%s\"): %s" -#: file.c:194 +#: file.c:197 #, c-format -msgid "" -"error while copying relation \"%s.%s\": could not stat file \"%s\": %s\n" +msgid "error while copying relation \"%s.%s\": could not stat file \"%s\": %s" msgstr "" "ошибка при копировании отношения \"%s.%s\": не удалось получить информацию о " -"файле \"%s\": %s\n" +"файле \"%s\": %s" -#: file.c:226 +#: file.c:229 #, c-format msgid "" -"error while copying relation \"%s.%s\": partial page found in file \"%s\"\n" +"error while copying relation \"%s.%s\": partial page found in file \"%s\"" msgstr "" "ошибка при копировании отношения \"%s.%s\": в файле \"%s\" обнаружена " -"неполная страница\n" +"неполная страница" -#: file.c:328 file.c:345 +#: file.c:331 file.c:348 #, c-format -msgid "could not clone file between old and new data directories: %s\n" -msgstr "не удалось клонировать файл из старого каталога данных в новый: %s\n" +msgid "could not clone file between old and new data directories: %s" +msgstr "не удалось клонировать файл из старого каталога данных в новый: %s" -#: file.c:341 +#: file.c:344 #, c-format -msgid "could not create file \"%s\": %s\n" -msgstr "не удалось создать файл \"%s\": %s\n" +msgid "could not create file \"%s\": %s" +msgstr "не удалось создать файл \"%s\": %s" -#: file.c:352 +#: file.c:355 #, c-format -msgid "file cloning not supported on this platform\n" -msgstr "клонирование файлов не поддерживается в этой ОС\n" +msgid "file cloning not supported on this platform" +msgstr "клонирование файлов не поддерживается в этой ОС" -#: file.c:369 +#: file.c:372 #, c-format msgid "" "could not create hard link between old and new data directories: %s\n" "In link mode the old and new data directories must be on the same file " -"system.\n" +"system." msgstr "" "не удалось создать жёсткую ссылку между старым и новым каталогами данных: " "%s\n" "В режиме \"ссылок\" старый и новый каталоги данных должны находиться в одной " -"файловой системе.\n" - -#: function.c:114 -#, c-format -msgid "" -"\n" -"The old cluster has a \"plpython_call_handler\" function defined\n" -"in the \"public\" schema which is a duplicate of the one defined\n" -"in the \"pg_catalog\" schema. You can confirm this by executing\n" -"in psql:\n" -"\n" -" \\df *.plpython_call_handler\n" -"\n" -"The \"public\" schema version of this function was created by a\n" -"pre-8.1 install of plpython, and must be removed for pg_upgrade\n" -"to complete because it references a now-obsolete \"plpython\"\n" -"shared object file. You can remove the \"public\" schema version\n" -"of this function by running the following command:\n" -"\n" -" DROP FUNCTION public.plpython_call_handler()\n" -"\n" -"in each affected database:\n" -"\n" -msgstr "" -"\n" -"В старом кластере имеется функция \"plpython_call_handler\",\n" -"определённая в схеме \"public\", представляющая собой копию функции,\n" -"определённой в схеме \"pg_catalog\". Вы можете убедиться в этом,\n" -"выполнив в psql:\n" -"\n" -" \\df *.plpython_call_handler\n" -"\n" -"Версия этой функции в схеме \"public\" была создана инсталляцией\n" -"plpython версии до 8.1 и должна быть удалена для завершения процедуры\n" -"pg_upgrade, так как она ссылается на ставший устаревшим\n" -"разделяемый объектный файл \"plpython\". Вы можете удалить версию этой " -"функции\n" -"из схемы \"public\", выполнив следующую команду:\n" -"\n" -" DROP FUNCTION public.plpython_call_handler()\n" -"\n" -"в каждой затронутой базе данных:\n" -"\n" +"файловой системе." -#: function.c:132 -#, c-format -msgid " %s\n" -msgstr " %s\n" - -#: function.c:142 -#, c-format -msgid "Remove the problem functions from the old cluster to continue.\n" -msgstr "Удалите проблемные функции из старого кластера для продолжения.\n" - -#: function.c:189 +#: function.c:128 #, c-format msgid "Checking for presence of required libraries" msgstr "Проверка наличия требуемых библиотек" -#: function.c:242 +#: function.c:165 #, c-format msgid "could not load library \"%s\": %s" msgstr "загрузить библиотеку \"%s\" не удалось: %s" -#: function.c:253 +#: function.c:176 #, c-format msgid "In database: %s\n" msgstr "В базе данных: %s\n" -#: function.c:263 +#: function.c:186 #, c-format msgid "" "Your installation references loadable libraries that are missing from the\n" "new installation. You can add these libraries to the new installation,\n" "or remove the functions using them from the old installation. A list of\n" "problem libraries is in the file:\n" -" %s\n" -"\n" +" %s" msgstr "" "В вашей инсталляции есть ссылки на загружаемые библиотеки, отсутствующие\n" "в новой инсталляции. Вы можете добавить эти библиотеки в новую инсталляцию\n" "или удалить функции, использующие их, из старой. Список проблемных\n" "библиотек приведён в файле:\n" -" %s\n" -"\n" +" %s" -#: info.c:131 +#: info.c:126 #, c-format msgid "" -"Relation names for OID %u in database \"%s\" do not match: old name \"%s.%s" -"\", new name \"%s.%s\"\n" +"Relation names for OID %u in database \"%s\" do not match: old name \"%s." +"%s\", new name \"%s.%s\"" msgstr "" "Имена отношения с OID %u в базе данных \"%s\" различаются: старое имя - \"%s." -"%s\", новое - \"%s.%s\"\n" +"%s\", новое - \"%s.%s\"" -#: info.c:151 +#: info.c:146 #, c-format -msgid "Failed to match up old and new tables in database \"%s\"\n" -msgstr "Не удалось сопоставить старые таблицы с новыми в базе данных \"%s\"\n" +msgid "Failed to match up old and new tables in database \"%s\"" +msgstr "Не удалось сопоставить старые таблицы с новыми в базе данных \"%s\"" -#: info.c:240 +#: info.c:227 #, c-format msgid " which is an index on \"%s.%s\"" msgstr " это индекс в \"%s.%s\"" -#: info.c:250 +#: info.c:237 #, c-format msgid " which is an index on OID %u" msgstr " это индекс в отношении с OID %u" -#: info.c:262 +#: info.c:249 #, c-format msgid " which is the TOAST table for \"%s.%s\"" msgstr " это TOAST-таблица для \"%s.%s\"" -#: info.c:270 +#: info.c:257 #, c-format msgid " which is the TOAST table for OID %u" msgstr " это TOAST-таблица для отношения с OID %u" -#: info.c:274 +#: info.c:261 #, c-format msgid "" -"No match found in old cluster for new relation with OID %u in database \"%s" -"\": %s\n" +"No match found in old cluster for new relation with OID %u in database " +"\"%s\": %s" msgstr "" "В старом кластере не нашлось соответствия для нового отношения с OID %u в " -"базе данных \"%s\": %s\n" +"базе данных \"%s\": %s" -#: info.c:277 +#: info.c:264 #, c-format msgid "" -"No match found in new cluster for old relation with OID %u in database \"%s" -"\": %s\n" +"No match found in new cluster for old relation with OID %u in database " +"\"%s\": %s" msgstr "" "В новом кластере не нашлось соответствия для старого отношения с OID %u в " -"базе данных \"%s\": %s\n" +"базе данных \"%s\": %s" #: info.c:289 #, c-format -msgid "mappings for database \"%s\":\n" -msgstr "отображения для базы данных \"%s\":\n" - -#: info.c:292 -#, c-format -msgid "%s.%s: %u to %u\n" -msgstr "%s.%s: %u в %u\n" - -#: info.c:297 info.c:633 -#, c-format msgid "" "\n" -"\n" +"source databases:" msgstr "" "\n" -"\n" +"исходные базы данных:" -#: info.c:322 +#: info.c:291 #, c-format msgid "" "\n" -"source databases:\n" +"target databases:" msgstr "" "\n" -"исходные базы данных:\n" +"целевые базы данных:" -#: info.c:324 +#: info.c:329 #, c-format -msgid "" -"\n" -"target databases:\n" -msgstr "" -"\n" -"целевые базы данных:\n" +msgid "template0 not found" +msgstr "база template0 не найдена" -#: info.c:631 +#: info.c:645 #, c-format -msgid "Database: %s\n" -msgstr "База данных: %s\n" +msgid "Database: %s" +msgstr "База данных: %s" -#: info.c:644 +#: info.c:657 #, c-format -msgid "relname: %s.%s: reloid: %u reltblspace: %s\n" -msgstr "имя_отношения: %s.%s: oid_отношения: %u табл_пространство: %s\n" +msgid "relname: %s.%s: reloid: %u reltblspace: %s" +msgstr "имя_отношения: %s.%s: oid_отношения: %u табл_пространство: %s" -#: option.c:102 +#: option.c:101 #, c-format -msgid "%s: cannot be run as root\n" -msgstr "%s: программу не должен запускать root\n" +msgid "%s: cannot be run as root" +msgstr "%s: программу не должен запускать root" -#: option.c:170 +#: option.c:168 #, c-format -msgid "invalid old port number\n" -msgstr "неверный старый номер порта\n" +msgid "invalid old port number" +msgstr "неверный старый номер порта" -#: option.c:175 +#: option.c:173 #, c-format -msgid "invalid new port number\n" -msgstr "неверный новый номер порта\n" +msgid "invalid new port number" +msgstr "неверный новый номер порта" -#: option.c:207 +#: option.c:203 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Для дополнительной информации попробуйте \"%s --help\".\n" -#: option.c:214 +#: option.c:210 #, c-format -msgid "too many command-line arguments (first is \"%s\")\n" -msgstr "слишком много аргументов командной строки (первый: \"%s\")\n" +msgid "too many command-line arguments (first is \"%s\")" +msgstr "слишком много аргументов командной строки (первый: \"%s\")" -#: option.c:220 +#: option.c:213 #, c-format -msgid "Running in verbose mode\n" -msgstr "Программа запущена в режиме подробных сообщений\n" +msgid "Running in verbose mode" +msgstr "Программа запущена в режиме подробных сообщений" -#: option.c:251 +#: option.c:231 msgid "old cluster binaries reside" msgstr "расположение исполняемых файлов старого кластера" -#: option.c:253 +#: option.c:233 msgid "new cluster binaries reside" msgstr "расположение исполняемых файлов нового кластера" -#: option.c:255 +#: option.c:235 msgid "old cluster data resides" msgstr "расположение данных старого кластера" -#: option.c:257 +#: option.c:237 msgid "new cluster data resides" msgstr "расположение данных нового кластера" -#: option.c:259 +#: option.c:239 msgid "sockets will be created" msgstr "расположение сокетов" -#: option.c:276 option.c:374 +#: option.c:256 option.c:356 #, c-format -msgid "could not determine current directory\n" -msgstr "не удалось определить текущий каталог\n" +msgid "could not determine current directory" +msgstr "не удалось определить текущий каталог" -#: option.c:279 +#: option.c:259 #, c-format msgid "" -"cannot run pg_upgrade from inside the new cluster data directory on Windows\n" +"cannot run pg_upgrade from inside the new cluster data directory on Windows" msgstr "" -"в Windows нельзя запустить pg_upgrade внутри каталога данных нового " -"кластера\n" +"в Windows нельзя запустить pg_upgrade внутри каталога данных нового кластера" -#: option.c:288 +#: option.c:268 #, c-format msgid "" "pg_upgrade upgrades a PostgreSQL cluster to a different major version.\n" @@ -1294,12 +1205,12 @@ msgstr "" "pg_upgrade обновляет кластер PostgreSQL до другой основной версии.\n" "\n" -#: option.c:289 +#: option.c:269 #, c-format msgid "Usage:\n" msgstr "Использование:\n" -#: option.c:290 +#: option.c:270 #, c-format msgid "" " pg_upgrade [OPTION]...\n" @@ -1308,18 +1219,18 @@ msgstr "" " pg_upgrade [ПАРАМЕТР]...\n" "\n" -#: option.c:291 +#: option.c:271 #, c-format msgid "Options:\n" msgstr "Параметры:\n" -#: option.c:292 +#: option.c:272 #, c-format msgid " -b, --old-bindir=BINDIR old cluster executable directory\n" msgstr "" " -b, --old-bindir=КАТ_BIN каталог исполняемых файлов старого кластера\n" -#: option.c:293 +#: option.c:273 #, c-format msgid "" " -B, --new-bindir=BINDIR new cluster executable directory (default\n" @@ -1328,7 +1239,7 @@ msgstr "" " -B, --new-bindir=КАТ_BIN каталог исполняемых файлов нового кластера\n" " (по умолчанию каталог программы pg_upgrade)\n" -#: option.c:295 +#: option.c:275 #, c-format msgid "" " -c, --check check clusters only, don't change any data\n" @@ -1336,17 +1247,17 @@ msgstr "" " -c, --check только проверить кластеры, не меняя никакие " "данные\n" -#: option.c:296 +#: option.c:276 #, c-format msgid " -d, --old-datadir=DATADIR old cluster data directory\n" msgstr " -d, --old-datadir=КАТ_DATA каталог данных старого кластера\n" -#: option.c:297 +#: option.c:277 #, c-format msgid " -D, --new-datadir=DATADIR new cluster data directory\n" msgstr " -D, --new-datadir=КАТ_DATA каталог данных нового кластера\n" -#: option.c:298 +#: option.c:278 #, c-format msgid "" " -j, --jobs=NUM number of simultaneous processes or threads " @@ -1356,7 +1267,7 @@ msgstr "" "или\n" " потоков\n" -#: option.c:299 +#: option.c:279 #, c-format msgid "" " -k, --link link instead of copying files to new " @@ -1366,7 +1277,16 @@ msgstr "" "файлов\n" " в новый кластер\n" -#: option.c:300 +#: option.c:280 +#, c-format +msgid "" +" -N, --no-sync do not wait for changes to be written safely " +"to disk\n" +msgstr "" +" -N, --no-sync не ждать завершения сохранения данных на " +"диске\n" + +#: option.c:281 #, c-format msgid "" " -o, --old-options=OPTIONS old cluster options to pass to the server\n" @@ -1374,7 +1294,7 @@ msgstr "" " -o, --old-options=ПАРАМЕТРЫ параметры старого кластера, передаваемые " "серверу\n" -#: option.c:301 +#: option.c:282 #, c-format msgid "" " -O, --new-options=OPTIONS new cluster options to pass to the server\n" @@ -1382,21 +1302,21 @@ msgstr "" " -O, --new-options=ПАРАМЕТРЫ параметры нового кластера, передаваемые " "серверу\n" -#: option.c:302 +#: option.c:283 #, c-format msgid " -p, --old-port=PORT old cluster port number (default %d)\n" msgstr "" " -p, --old-port=ПОРТ номер порта старого кластера (по умолчанию " "%d)\n" -#: option.c:303 +#: option.c:284 #, c-format msgid " -P, --new-port=PORT new cluster port number (default %d)\n" msgstr "" " -P, --new-port=ПОРТ номер порта нового кластера (по умолчанию " "%d)\n" -#: option.c:304 +#: option.c:285 #, c-format msgid "" " -r, --retain retain SQL and log files after success\n" @@ -1404,7 +1324,7 @@ msgstr "" " -r, --retain сохранить файлы журналов и SQL в случае " "успеха\n" -#: option.c:305 +#: option.c:286 #, c-format msgid "" " -s, --socketdir=DIR socket directory to use (default current " @@ -1412,27 +1332,27 @@ msgid "" msgstr "" " -s, --socketdir=КАТАЛОГ каталог сокетов (по умолчанию текущий)\n" -#: option.c:306 +#: option.c:287 #, c-format msgid " -U, --username=NAME cluster superuser (default \"%s\")\n" msgstr "" -" -U, --username=ИМЯ суперпользователь кластера (по умолчанию \"%s" -"\")\n" +" -U, --username=ИМЯ суперпользователь кластера (по умолчанию " +"\"%s\")\n" -#: option.c:307 +#: option.c:288 #, c-format msgid " -v, --verbose enable verbose internal logging\n" msgstr "" " -v, --verbose включить вывод подробных внутренних " "сообщений\n" -#: option.c:308 +#: option.c:289 #, c-format msgid "" " -V, --version display version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: option.c:309 +#: option.c:290 #, c-format msgid "" " --clone clone instead of copying files to new " @@ -1441,12 +1361,19 @@ msgstr "" " --clone клонировать, а не копировать файлы в новый " "кластер\n" -#: option.c:310 +#: option.c:291 +#, c-format +msgid " --copy copy files to new cluster (default)\n" +msgstr "" +" --copy копировать файлы в новый кластер (по " +"умолчанию)\n" + +#: option.c:292 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: option.c:311 +#: option.c:293 #, c-format msgid "" "\n" @@ -1461,7 +1388,7 @@ msgstr "" " остановить процесс postmaster, обслуживающий старый кластер\n" " остановить процесс postmaster, обслуживающий новый кластер\n" -#: option.c:316 +#: option.c:298 #, c-format msgid "" "\n" @@ -1478,7 +1405,7 @@ msgstr "" " путь к каталогу \"bin\" старой версии (-b КАТ_BIN)\n" " путь к каталогу \"bin\" новой версии (-B КАТ_BIN)\n" -#: option.c:322 +#: option.c:304 #, c-format msgid "" "\n" @@ -1493,7 +1420,7 @@ msgstr "" "bin -B новый_кластер/bin\n" "или\n" -#: option.c:327 +#: option.c:309 #, c-format msgid "" " $ export PGDATAOLD=oldCluster/data\n" @@ -1508,7 +1435,7 @@ msgstr "" " $ export PGBINNEW=новый_кластер/bin\n" " $ pg_upgrade\n" -#: option.c:333 +#: option.c:315 #, c-format msgid "" " C:\\> set PGDATAOLD=oldCluster/data\n" @@ -1523,7 +1450,7 @@ msgstr "" " C:\\> set PGBINNEW=новый_кластер/bin\n" " C:\\> pg_upgrade\n" -#: option.c:339 +#: option.c:321 #, c-format msgid "" "\n" @@ -1532,263 +1459,279 @@ msgstr "" "\n" "Об ошибках сообщайте по адресу <%s>.\n" -#: option.c:340 +#: option.c:322 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашняя страница %s: <%s>\n" -#: option.c:380 +#: option.c:362 #, c-format msgid "" "You must identify the directory where the %s.\n" -"Please use the %s command-line option or the %s environment variable.\n" +"Please use the %s command-line option or the %s environment variable." msgstr "" "Вы должны указать каталог, где находится %s.\n" "Воспользуйтесь для этого ключом командной строки %s или переменной окружения " -"%s.\n" +"%s." -#: option.c:432 +#: option.c:415 #, c-format msgid "Finding the real data directory for the source cluster" msgstr "Поиск фактического каталога данных для исходного кластера" -#: option.c:434 +#: option.c:417 #, c-format msgid "Finding the real data directory for the target cluster" msgstr "Поиск фактического каталога данных для целевого кластера" -#: option.c:446 +#: option.c:430 option.c:435 #, c-format -msgid "could not get data directory using %s: %s\n" -msgstr "не удалось получить каталог данных, выполнив %s: %s\n" +msgid "could not get data directory using %s: %s" +msgstr "не удалось получить каталог данных, выполнив %s: %s" -#: option.c:505 +#: option.c:484 #, c-format -msgid "could not read line %d from file \"%s\": %s\n" -msgstr "не удалось прочитать строку %d из файла \"%s\": %s\n" +msgid "could not read line %d from file \"%s\": %s" +msgstr "не удалось прочитать строку %d из файла \"%s\": %s" -#: option.c:522 +#: option.c:501 #, c-format -msgid "user-supplied old port number %hu corrected to %hu\n" -msgstr "заданный пользователем старый номер порта %hu изменён на %hu\n" +msgid "user-supplied old port number %hu corrected to %hu" +msgstr "заданный пользователем старый номер порта %hu изменён на %hu" -#: parallel.c:127 parallel.c:238 +#: parallel.c:127 parallel.c:235 #, c-format -msgid "could not create worker process: %s\n" -msgstr "не удалось создать рабочий процесс: %s\n" +msgid "could not create worker process: %s" +msgstr "не удалось создать рабочий процесс: %s" -#: parallel.c:146 parallel.c:259 +#: parallel.c:143 parallel.c:253 #, c-format -msgid "could not create worker thread: %s\n" -msgstr "не удалось создать рабочий поток: %s\n" +msgid "could not create worker thread: %s" +msgstr "не удалось создать рабочий поток: %s" -#: parallel.c:300 +#: parallel.c:294 #, c-format -msgid "%s() failed: %s\n" -msgstr "ошибка в %s(): %s\n" +msgid "%s() failed: %s" +msgstr "ошибка в %s(): %s" -#: parallel.c:304 +#: parallel.c:298 #, c-format -msgid "child process exited abnormally: status %d\n" -msgstr "дочерний процесс завершился нештатно с ошибкой %d\n" +msgid "child process exited abnormally: status %d" +msgstr "дочерний процесс завершился нештатно с ошибкой %d" -#: parallel.c:319 +#: parallel.c:313 #, c-format -msgid "child worker exited abnormally: %s\n" -msgstr "дочерний процесс завершился аварийно: %s\n" +msgid "child worker exited abnormally: %s" +msgstr "дочерний процесс завершился аварийно: %s" #: pg_upgrade.c:107 #, c-format -msgid "could not read permissions of directory \"%s\": %s\n" -msgstr "не удалось считать права на каталог \"%s\": %s\n" +msgid "could not read permissions of directory \"%s\": %s" +msgstr "не удалось считать права на каталог \"%s\": %s" -#: pg_upgrade.c:122 +#: pg_upgrade.c:139 #, c-format msgid "" "\n" "Performing Upgrade\n" -"------------------\n" +"------------------" msgstr "" "\n" "Выполнение обновления\n" -"---------------------\n" +"---------------------" -#: pg_upgrade.c:165 +#: pg_upgrade.c:184 #, c-format msgid "Setting next OID for new cluster" msgstr "Установка следующего OID для нового кластера" -#: pg_upgrade.c:172 +#: pg_upgrade.c:193 #, c-format msgid "Sync data directory to disk" msgstr "Синхронизация каталога данных с ФС" -#: pg_upgrade.c:183 +#: pg_upgrade.c:205 #, c-format msgid "" "\n" "Upgrade Complete\n" -"----------------\n" +"----------------" msgstr "" "\n" "Обновление завершено\n" -"--------------------\n" +"--------------------" -#: pg_upgrade.c:216 +#: pg_upgrade.c:238 pg_upgrade.c:251 pg_upgrade.c:258 pg_upgrade.c:265 +#: pg_upgrade.c:283 pg_upgrade.c:294 #, c-format -msgid "%s: could not find own program executable\n" -msgstr "%s: не удалось найти свой исполняемый файл\n" +msgid "directory path for new cluster is too long" +msgstr "путь к каталогу данных нового кластера слишком длинный" -#: pg_upgrade.c:242 +#: pg_upgrade.c:272 pg_upgrade.c:274 pg_upgrade.c:276 pg_upgrade.c:278 +#, c-format +msgid "could not create directory \"%s\": %m" +msgstr "не удалось создать каталог \"%s\": %m" + +#: pg_upgrade.c:327 +#, c-format +msgid "%s: could not find own program executable" +msgstr "%s: не удалось найти свой исполняемый файл" + +#: pg_upgrade.c:353 #, c-format msgid "" "There seems to be a postmaster servicing the old cluster.\n" -"Please shutdown that postmaster and try again.\n" +"Please shutdown that postmaster and try again." msgstr "" "Видимо, запущен процесс postmaster, обслуживающий старый кластер.\n" -"Остановите его и попробуйте ещё раз.\n" +"Остановите его и попробуйте ещё раз." -#: pg_upgrade.c:255 +#: pg_upgrade.c:366 #, c-format msgid "" "There seems to be a postmaster servicing the new cluster.\n" -"Please shutdown that postmaster and try again.\n" +"Please shutdown that postmaster and try again." msgstr "" "Видимо, запущен процесс postmaster, обслуживающий новый кластер.\n" -"Остановите его и попробуйте ещё раз.\n" +"Остановите его и попробуйте ещё раз." + +#: pg_upgrade.c:388 +#, c-format +msgid "Setting locale and encoding for new cluster" +msgstr "Установка локали и кодировки для нового кластера" -#: pg_upgrade.c:269 +#: pg_upgrade.c:450 #, c-format msgid "Analyzing all rows in the new cluster" msgstr "Анализ всех строк в новом кластере" -#: pg_upgrade.c:282 +#: pg_upgrade.c:463 #, c-format msgid "Freezing all rows in the new cluster" msgstr "Замораживание всех строк в новом кластере" -#: pg_upgrade.c:302 +#: pg_upgrade.c:483 #, c-format msgid "Restoring global objects in the new cluster" msgstr "Восстановление глобальных объектов в новом кластере" -#: pg_upgrade.c:317 +#: pg_upgrade.c:499 #, c-format -msgid "Restoring database schemas in the new cluster\n" -msgstr "Восстановление схем баз данных в новом кластере\n" +msgid "Restoring database schemas in the new cluster" +msgstr "Восстановление схем баз данных в новом кластере" -#: pg_upgrade.c:421 +#: pg_upgrade.c:605 #, c-format msgid "Deleting files from new %s" msgstr "Удаление файлов из нового каталога %s" -#: pg_upgrade.c:425 +#: pg_upgrade.c:609 #, c-format -msgid "could not delete directory \"%s\"\n" -msgstr "ошибка при удалении каталога \"%s\"\n" +msgid "could not delete directory \"%s\"" +msgstr "ошибка при удалении каталога \"%s\"" -#: pg_upgrade.c:444 +#: pg_upgrade.c:628 #, c-format msgid "Copying old %s to new server" msgstr "Копирование старого каталога %s на новый сервер" -#: pg_upgrade.c:470 +#: pg_upgrade.c:654 #, c-format msgid "Setting oldest XID for new cluster" msgstr "Установка старейшего OID для нового кластера" -#: pg_upgrade.c:478 +#: pg_upgrade.c:662 #, c-format msgid "Setting next transaction ID and epoch for new cluster" msgstr "" "Установка следующего идентификатора транзакции и эпохи для нового кластера" -#: pg_upgrade.c:508 +#: pg_upgrade.c:692 #, c-format msgid "Setting next multixact ID and offset for new cluster" msgstr "" "Установка следующего идентификатора и смещения мультитранзакции для нового " "кластера" -#: pg_upgrade.c:532 +#: pg_upgrade.c:716 #, c-format msgid "Setting oldest multixact ID in new cluster" msgstr "Установка старейшего идентификатора мультитранзакции в новом кластере" -#: pg_upgrade.c:552 +#: pg_upgrade.c:736 #, c-format msgid "Resetting WAL archives" msgstr "Сброс архивов WAL" -#: pg_upgrade.c:595 +#: pg_upgrade.c:779 #, c-format msgid "Setting frozenxid and minmxid counters in new cluster" msgstr "Установка счётчиков frozenxid и minmxid в новом кластере" -#: pg_upgrade.c:597 +#: pg_upgrade.c:781 #, c-format msgid "Setting minmxid counter in new cluster" msgstr "Установка счётчика minmxid в новом кластере" -#: relfilenode.c:35 +#: relfilenumber.c:35 #, c-format -msgid "Cloning user relation files\n" -msgstr "Клонирование файлов пользовательских отношений\n" +msgid "Cloning user relation files" +msgstr "Клонирование файлов пользовательских отношений" -#: relfilenode.c:38 +#: relfilenumber.c:38 #, c-format -msgid "Copying user relation files\n" -msgstr "Копирование файлов пользовательских отношений\n" +msgid "Copying user relation files" +msgstr "Копирование файлов пользовательских отношений" -#: relfilenode.c:41 +#: relfilenumber.c:41 #, c-format -msgid "Linking user relation files\n" -msgstr "Подключение файлов пользовательских отношений ссылками\n" +msgid "Linking user relation files" +msgstr "Подключение файлов пользовательских отношений ссылками" -#: relfilenode.c:115 +#: relfilenumber.c:115 #, c-format -msgid "old database \"%s\" not found in the new cluster\n" -msgstr "старая база данных \"%s\" не найдена в новом кластере\n" +msgid "old database \"%s\" not found in the new cluster" +msgstr "старая база данных \"%s\" не найдена в новом кластере" -#: relfilenode.c:230 +#: relfilenumber.c:218 #, c-format msgid "" -"error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %s\n" +"error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %s" msgstr "" "ошибка при проверке существования файла отношения \"%s.%s\" (перенос \"%s\" " -"в \"%s\"): %s\n" +"в \"%s\"): %s" -#: relfilenode.c:248 +#: relfilenumber.c:236 #, c-format -msgid "rewriting \"%s\" to \"%s\"\n" -msgstr "переписывание \"%s\" в \"%s\"\n" +msgid "rewriting \"%s\" to \"%s\"" +msgstr "переписывание \"%s\" в \"%s\"" -#: relfilenode.c:256 +#: relfilenumber.c:244 #, c-format -msgid "cloning \"%s\" to \"%s\"\n" -msgstr "клонирование \"%s\" в \"%s\"\n" +msgid "cloning \"%s\" to \"%s\"" +msgstr "клонирование \"%s\" в \"%s\"" -#: relfilenode.c:261 +#: relfilenumber.c:249 #, c-format -msgid "copying \"%s\" to \"%s\"\n" -msgstr "копирование \"%s\" в \"%s\"\n" +msgid "copying \"%s\" to \"%s\"" +msgstr "копирование \"%s\" в \"%s\"" -#: relfilenode.c:266 +#: relfilenumber.c:254 #, c-format -msgid "linking \"%s\" to \"%s\"\n" -msgstr "создание ссылки на \"%s\" в \"%s\"\n" +msgid "linking \"%s\" to \"%s\"" +msgstr "создание ссылки на \"%s\" в \"%s\"" -#: server.c:38 server.c:142 util.c:135 util.c:165 +#: server.c:39 server.c:143 util.c:248 util.c:278 #, c-format msgid "Failure, exiting\n" msgstr "Ошибка, выполняется выход\n" -#: server.c:132 +#: server.c:133 #, c-format -msgid "executing: %s\n" -msgstr "выполняется: %s\n" +msgid "executing: %s" +msgstr "выполняется: %s" -#: server.c:138 +#: server.c:139 #, c-format msgid "" "SQL command failed\n" @@ -1799,17 +1742,17 @@ msgstr "" "%s\n" "%s" -#: server.c:168 +#: server.c:169 #, c-format -msgid "could not open version file \"%s\": %m\n" -msgstr "не удалось открыть файл с версией \"%s\": %m\n" +msgid "could not open version file \"%s\": %m" +msgstr "не удалось открыть файл с версией \"%s\": %m" -#: server.c:172 +#: server.c:173 #, c-format -msgid "could not parse version file \"%s\"\n" -msgstr "не удалось разобрать файл с версией \"%s\"\n" +msgid "could not parse version file \"%s\"" +msgstr "не удалось разобрать файл с версией \"%s\"" -#: server.c:298 +#: server.c:288 #, c-format msgid "" "\n" @@ -1818,146 +1761,97 @@ msgstr "" "\n" "%s" -#: server.c:302 +#: server.c:292 #, c-format msgid "" "could not connect to source postmaster started with the command:\n" -"%s\n" +"%s" msgstr "" "не удалось подключиться к главному процессу исходного сервера, запущенному " "командой:\n" -"%s\n" +"%s" -#: server.c:306 +#: server.c:296 #, c-format msgid "" "could not connect to target postmaster started with the command:\n" -"%s\n" +"%s" msgstr "" "не удалось подключиться к главному процессу целевого сервера, запущенному " "командой:\n" -"%s\n" +"%s" -#: server.c:320 +#: server.c:310 #, c-format -msgid "pg_ctl failed to start the source server, or connection failed\n" +msgid "pg_ctl failed to start the source server, or connection failed" msgstr "" "программа pg_ctl не смогла запустить исходный сервер, либо к нему не удалось " -"подключиться\n" +"подключиться" -#: server.c:322 +#: server.c:312 #, c-format -msgid "pg_ctl failed to start the target server, or connection failed\n" +msgid "pg_ctl failed to start the target server, or connection failed" msgstr "" "программа pg_ctl не смогла запустить целевой сервер, либо к нему не удалось " -"подключиться\n" +"подключиться" -#: server.c:367 +#: server.c:357 #, c-format -msgid "out of memory\n" -msgstr "нехватка памяти\n" +msgid "out of memory" +msgstr "нехватка памяти" -#: server.c:380 +#: server.c:370 #, c-format -msgid "libpq environment variable %s has a non-local server value: %s\n" -msgstr "в переменной окружения для libpq %s задано не локальное значение: %s\n" +msgid "libpq environment variable %s has a non-local server value: %s" +msgstr "" +"в переменной окружения %s для libpq указан адрес не локального сервера: %s" #: tablespace.c:28 #, c-format msgid "" "Cannot upgrade to/from the same system catalog version when\n" -"using tablespaces.\n" +"using tablespaces." msgstr "" "Обновление в рамках одной версии системного каталога невозможно,\n" -"если используются табличные пространства.\n" +"если используются табличные пространства." -#: tablespace.c:86 +#: tablespace.c:83 #, c-format -msgid "tablespace directory \"%s\" does not exist\n" -msgstr "каталог табличного пространства \"%s\" не существует\n" +msgid "tablespace directory \"%s\" does not exist" +msgstr "каталог табличного пространства \"%s\" не существует" -#: tablespace.c:90 +#: tablespace.c:87 #, c-format -msgid "could not stat tablespace directory \"%s\": %s\n" +msgid "could not stat tablespace directory \"%s\": %s" msgstr "" -"не удалось получить информацию о каталоге табличного пространства \"%s\": " -"%s\n" +"не удалось получить информацию о каталоге табличного пространства \"%s\": %s" -#: tablespace.c:95 +#: tablespace.c:92 #, c-format -msgid "tablespace path \"%s\" is not a directory\n" -msgstr "путь табличного пространства \"%s\" не указывает на каталог\n" +msgid "tablespace path \"%s\" is not a directory" +msgstr "путь табличного пространства \"%s\" не указывает на каталог" -#: util.c:49 -#, c-format -msgid " " -msgstr " " - -#: util.c:82 +#: util.c:53 util.c:56 util.c:139 util.c:170 util.c:172 #, c-format msgid "%-*s" msgstr "%-*s" -#: util.c:174 -#, c-format -msgid "ok" -msgstr "ок" - -#: version.c:29 +#: util.c:107 #, c-format -msgid "Checking for large objects" -msgstr "Проверка больших объектов" - -#: version.c:77 version.c:419 -#, c-format -msgid "warning" -msgstr "предупреждение" - -#: version.c:79 -#, c-format -msgid "" -"\n" -"Your installation contains large objects. The new database has an\n" -"additional large object permission table. After upgrading, you will be\n" -"given a command to populate the pg_largeobject_metadata table with\n" -"default permissions.\n" -"\n" -msgstr "" -"\n" -"В вашей инсталляции используются большие объекты. В новой базе данных\n" -"имеется дополнительная таблица с правами для больших объектов. После " -"обновления\n" -"вам будет представлена команда для наполнения таблицы прав\n" -"pg_largeobject_metadata правами по умолчанию.\n" -"\n" +msgid "could not access directory \"%s\": %m" +msgstr "ошибка доступа к каталогу \"%s\": %m" -#: version.c:85 +#: util.c:287 #, c-format -msgid "" -"\n" -"Your installation contains large objects. The new database has an\n" -"additional large object permission table, so default permissions must be\n" -"defined for all large objects. The file\n" -" %s\n" -"when executed by psql by the database superuser will set the default\n" -"permissions.\n" -"\n" -msgstr "" -"\n" -"В вашей инсталляции используются большие объекты. В новой базе данных\n" -"имеется дополнительная таблица с правами для больших объектов, поэтому\n" -"для всех больших объектов должны определяться права по умолчанию. Скрипт\n" -" %s\n" -"будучи выполненным администратором БД в psql, установит нужные права\n" -"по умолчанию.\n" -"\n" +msgid "ok" +msgstr "ок" -#: version.c:272 +#: version.c:184 #, c-format msgid "Checking for incompatible \"line\" data type" msgstr "Проверка несовместимого типа данных \"line\"" -#: version.c:279 +#: version.c:193 #, c-format msgid "" "Your installation contains the \"line\" data type in user tables.\n" @@ -1966,26 +1860,24 @@ msgid "" "cluster cannot currently be upgraded. You can\n" "drop the problem columns and restart the upgrade.\n" "A list of the problem columns is in the file:\n" -" %s\n" -"\n" +" %s" msgstr "" -"В вашей инсталляции пользовательские таблицы используют тип данных \"line" -"\".\n" +"В вашей инсталляции пользовательские таблицы используют тип данных " +"\"line\".\n" "В старом кластере внутренний формат и формат ввода/вывода этого типа " "отличается\n" "от нового, поэтому в настоящем состоянии обновить кластер невозможно. Вы " "можете\n" "удалить проблемные столбцы и перезапустить обновление. Список проблемных\n" "столбцов приведён в файле:\n" -" %s\n" -"\n" +" %s" -#: version.c:310 +#: version.c:224 #, c-format msgid "Checking for invalid \"unknown\" user columns" msgstr "Проверка неправильных пользовательских столбцов типа \"unknown\"" -#: version.c:317 +#: version.c:233 #, c-format msgid "" "Your installation contains the \"unknown\" data type in user tables.\n" @@ -1993,42 +1885,43 @@ msgid "" "cluster cannot currently be upgraded. You can\n" "drop the problem columns and restart the upgrade.\n" "A list of the problem columns is in the file:\n" -" %s\n" -"\n" +" %s" msgstr "" -"В вашей инсталляции пользовательские таблицы используют тип данных \"unknown" -"\".\n" +"В вашей инсталляции пользовательские таблицы используют тип данных " +"\"unknown\".\n" "Теперь использование этого типа данных в таблицах не допускается, поэтому\n" "в настоящем состоянии обновить кластер невозможно. Вы можете удалить " "проблемные\n" "столбцы и перезапустить обновление. Список проблемных столбцов приведён в " "файле:\n" -" %s\n" -"\n" +" %s" -#: version.c:341 +#: version.c:257 #, c-format msgid "Checking for hash indexes" msgstr "Проверка хеш-индексов" -#: version.c:421 +#: version.c:335 +#, c-format +msgid "warning" +msgstr "предупреждение" + +#: version.c:337 #, c-format msgid "" "\n" "Your installation contains hash indexes. These indexes have different\n" "internal formats between your old and new clusters, so they must be\n" "reindexed with the REINDEX command. After upgrading, you will be given\n" -"REINDEX instructions.\n" -"\n" +"REINDEX instructions." msgstr "" "\n" "В вашей инсталляции используются хеш-индексы. Эти индексы имеют разные\n" "внутренние форматы в старом и новом кластерах, поэтому их необходимо\n" "перестроить с помощью команды REINDEX. По завершении обновления вы получите\n" -"инструкции по выполнению REINDEX.\n" -"\n" +"инструкции по выполнению REINDEX." -#: version.c:427 +#: version.c:343 #, c-format msgid "" "\n" @@ -2037,8 +1930,7 @@ msgid "" "reindexed with the REINDEX command. The file\n" " %s\n" "when executed by psql by the database superuser will recreate all invalid\n" -"indexes; until then, none of these indexes will be used.\n" -"\n" +"indexes; until then, none of these indexes will be used." msgstr "" "\n" "В вашей инсталляции используются хеш-индексы. Эти индексы имеют разные\n" @@ -2046,16 +1938,15 @@ msgstr "" "перестроить с помощью команды REINDEX. Скрипт\n" " %s\n" "будучи выполненным администратором БД в psql, пересоздаст все неправильные\n" -"индексы; до этого никакие хеш-индексы не будут использоваться.\n" -"\n" +"индексы; до этого никакие хеш-индексы не будут использоваться." -#: version.c:453 +#: version.c:369 #, c-format msgid "Checking for invalid \"sql_identifier\" user columns" msgstr "" "Проверка неправильных пользовательских столбцов типа \"sql_identifier\"" -#: version.c:461 +#: version.c:379 #, c-format msgid "" "Your installation contains the \"sql_identifier\" data type in user tables.\n" @@ -2063,28 +1954,26 @@ msgid "" "cluster cannot currently be upgraded. You can\n" "drop the problem columns and restart the upgrade.\n" "A list of the problem columns is in the file:\n" -" %s\n" -"\n" +" %s" msgstr "" "В вашей инсталляции пользовательские таблицы используют тип данных\n" "\"sql_identifier\". Формат хранения таких данных на диске поменялся,\n" "поэтому обновить данный кластер невозможно. Вы можете удалить проблемные\n" "столбцы и перезапустить обновление.\n" "Список проблемных столбцов приведён в файле:\n" -" %s\n" -"\n" +" %s" -#: version.c:485 +#: version.c:402 #, c-format msgid "Checking for extension updates" msgstr "Проверка обновлённых расширений" -#: version.c:537 +#: version.c:450 #, c-format msgid "notice" msgstr "замечание" -#: version.c:538 +#: version.c:451 #, c-format msgid "" "\n" @@ -2092,16 +1981,209 @@ msgid "" "with the ALTER EXTENSION command. The file\n" " %s\n" "when executed by psql by the database superuser will update\n" -"these extensions.\n" -"\n" +"these extensions." msgstr "" "\n" "В вашей инсталляции есть расширения, которые надо обновить\n" "командой ALTER EXTENSION. Скрипт\n" " %s\n" "будучи выполненным администратором БД в psql, обновит все\n" -"эти расширения.\n" -"\n" +"эти расширения." + +#, c-format +#~ msgid "" +#~ "encodings for database \"%s\" do not match: old \"%s\", new \"%s\"\n" +#~ msgstr "" +#~ "кодировки в базе данных \"%s\" различаются: старая - \"%s\", новая - " +#~ "\"%s\"\n" + +#, c-format +#~ msgid "" +#~ "lc_collate values for database \"%s\" do not match: old \"%s\", new " +#~ "\"%s\"\n" +#~ msgstr "" +#~ "значения lc_collate в базе данных \"%s\" различаются: старое - \"%s\", " +#~ "новое - \"%s\"\n" + +#, c-format +#~ msgid "" +#~ "lc_ctype values for database \"%s\" do not match: old \"%s\", new " +#~ "\"%s\"\n" +#~ msgstr "" +#~ "значения lc_ctype в базе данных \"%s\" различаются: старое - \"%s\", " +#~ "новое - \"%s\"\n" + +#, c-format +#~ msgid "" +#~ "locale providers for database \"%s\" do not match: old \"%s\", new " +#~ "\"%s\"\n" +#~ msgstr "" +#~ "провайдеры локали в базе данных \"%s\" различаются: старый - \"%s\", " +#~ "новый - \"%s\"\n" + +#, c-format +#~ msgid "" +#~ "ICU locale values for database \"%s\" do not match: old \"%s\", new " +#~ "\"%s\"\n" +#~ msgstr "" +#~ "значения локали ICU для базы данных \"%s\" различаются: старое - \"%s\", " +#~ "новое - \"%s\"\n" + +#, c-format +#~ msgid "The source cluster contains roles starting with \"pg_\"\n" +#~ msgstr "В исходном кластере есть роли, имена которых начинаются с \"pg_\"\n" + +#, c-format +#~ msgid "The target cluster contains roles starting with \"pg_\"\n" +#~ msgstr "В целевом кластере есть роли, имена которых начинаются с \"pg_\"\n" + +#, c-format +#~ msgid "failed to get the current locale\n" +#~ msgstr "не удалось получить текущую локаль\n" + +#, c-format +#~ msgid "failed to get system locale name for \"%s\"\n" +#~ msgstr "не удалось получить системное имя локали для \"%s\"\n" + +#, c-format +#~ msgid "failed to restore old locale \"%s\"\n" +#~ msgstr "не удалось восстановить старую локаль \"%s\"\n" + +#, c-format +#~ msgid "Unable to rename %s to %s.\n" +#~ msgstr "Не удалось переименовать %s в %s.\n" + +#, c-format +#~ msgid "%s\n" +#~ msgstr "%s\n" + +#, c-format +#~ msgid "check for \"%s\" failed: not a regular file\n" +#~ msgstr "программа \"%s\" не прошла проверку: это не обычный файл\n" + +#, c-format +#~ msgid "check for \"%s\" failed: cannot execute (permission denied)\n" +#~ msgstr "" +#~ "программа \"%s\" не прошла проверку: ошибка выполнения (нет доступа)\n" + +#, c-format +#~ msgid "" +#~ "\n" +#~ "\n" +#~ msgstr "" +#~ "\n" +#~ "\n" + +#, c-format +#~ msgid "%-*s\n" +#~ msgstr "%-*s\n" + +#~ msgid "" +#~ "When checking a pre-PG 9.1 live old server, you must specify the old " +#~ "server's port number.\n" +#~ msgstr "" +#~ "Для проверки старого работающего сервера версии до 9.1 необходимо указать " +#~ "номер порта этого сервера.\n" + +#~ msgid "" +#~ "All non-template0 databases must allow connections, i.e. their " +#~ "pg_database.datallowconn must be true\n" +#~ msgstr "" +#~ "Все базы, кроме template0, должны допускать подключения, то есть их " +#~ "свойство pg_database.datallowconn должно быть true\n" + +#~ msgid "" +#~ "\n" +#~ "The old cluster has a \"plpython_call_handler\" function defined\n" +#~ "in the \"public\" schema which is a duplicate of the one defined\n" +#~ "in the \"pg_catalog\" schema. You can confirm this by executing\n" +#~ "in psql:\n" +#~ "\n" +#~ " \\df *.plpython_call_handler\n" +#~ "\n" +#~ "The \"public\" schema version of this function was created by a\n" +#~ "pre-8.1 install of plpython, and must be removed for pg_upgrade\n" +#~ "to complete because it references a now-obsolete \"plpython\"\n" +#~ "shared object file. You can remove the \"public\" schema version\n" +#~ "of this function by running the following command:\n" +#~ "\n" +#~ " DROP FUNCTION public.plpython_call_handler()\n" +#~ "\n" +#~ "in each affected database:\n" +#~ "\n" +#~ msgstr "" +#~ "\n" +#~ "В старом кластере имеется функция \"plpython_call_handler\",\n" +#~ "определённая в схеме \"public\", представляющая собой копию функции,\n" +#~ "определённой в схеме \"pg_catalog\". Вы можете убедиться в этом,\n" +#~ "выполнив в psql:\n" +#~ "\n" +#~ " \\df *.plpython_call_handler\n" +#~ "\n" +#~ "Версия этой функции в схеме \"public\" была создана инсталляцией\n" +#~ "plpython версии до 8.1 и должна быть удалена для завершения процедуры\n" +#~ "pg_upgrade, так как она ссылается на ставший устаревшим\n" +#~ "разделяемый объектный файл \"plpython\". Вы можете удалить версию этой " +#~ "функции\n" +#~ "из схемы \"public\", выполнив следующую команду:\n" +#~ "\n" +#~ " DROP FUNCTION public.plpython_call_handler()\n" +#~ "\n" +#~ "в каждой затронутой базе данных:\n" +#~ "\n" + +#~ msgid " %s\n" +#~ msgstr " %s\n" + +#~ msgid "Remove the problem functions from the old cluster to continue.\n" +#~ msgstr "Удалите проблемные функции из старого кластера для продолжения.\n" + +#~ msgid "mappings for database \"%s\":\n" +#~ msgstr "отображения для базы данных \"%s\":\n" + +#~ msgid "%s.%s: %u to %u\n" +#~ msgstr "%s.%s: %u в %u\n" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "Checking for large objects" +#~ msgstr "Проверка больших объектов" + +#~ msgid "" +#~ "\n" +#~ "Your installation contains large objects. The new database has an\n" +#~ "additional large object permission table. After upgrading, you will be\n" +#~ "given a command to populate the pg_largeobject_metadata table with\n" +#~ "default permissions.\n" +#~ "\n" +#~ msgstr "" +#~ "\n" +#~ "В вашей инсталляции используются большие объекты. В новой базе данных\n" +#~ "имеется дополнительная таблица с правами для больших объектов. После " +#~ "обновления\n" +#~ "вам будет представлена команда для наполнения таблицы прав\n" +#~ "pg_largeobject_metadata правами по умолчанию.\n" +#~ "\n" + +#~ msgid "" +#~ "\n" +#~ "Your installation contains large objects. The new database has an\n" +#~ "additional large object permission table, so default permissions must be\n" +#~ "defined for all large objects. The file\n" +#~ " %s\n" +#~ "when executed by psql by the database superuser will set the default\n" +#~ "permissions.\n" +#~ "\n" +#~ msgstr "" +#~ "\n" +#~ "В вашей инсталляции используются большие объекты. В новой базе данных\n" +#~ "имеется дополнительная таблица с правами для больших объектов, поэтому\n" +#~ "для всех больших объектов должны определяться права по умолчанию. Скрипт\n" +#~ " %s\n" +#~ "будучи выполненным администратором БД в psql, установит нужные права\n" +#~ "по умолчанию.\n" +#~ "\n" #~ msgid "Creating script to analyze new cluster" #~ msgstr "Создание скрипта для анализа нового кластера" diff --git a/src/bin/pg_verifybackup/po/fr.po b/src/bin/pg_verifybackup/po/fr.po index c14a07db0a7..da8c72f6427 100644 --- a/src/bin/pg_verifybackup/po/fr.po +++ b/src/bin/pg_verifybackup/po/fr.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2023-07-29 09:17+0000\n" -"PO-Revision-Date: 2023-07-29 22:45+0200\n" +"PO-Revision-Date: 2023-09-05 07:49+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -484,7 +484,7 @@ msgstr " -n, --no-parse-wal n'essaie pas d'analyse les fichiers WAL\n" #: pg_verifybackup.c:989 #, c-format msgid " -P, --progress show progress information\n" -msgstr " -P, --progress affiche les informations de progression\n" +msgstr " -P, --progress affiche les informations de progression\n" #: pg_verifybackup.c:990 #, c-format diff --git a/src/bin/pg_verifybackup/po/it.po b/src/bin/pg_verifybackup/po/it.po index 103d6a08d90..317b0b71e7f 100644 --- a/src/bin/pg_verifybackup/po/it.po +++ b/src/bin/pg_verifybackup/po/it.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: pg_verifybackup (PostgreSQL) 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-09-26 08:16+0000\n" -"PO-Revision-Date: 2022-10-04 19:41+0200\n" +"PO-Revision-Date: 2023-09-05 08:24+0200\n" "Last-Translator: \n" "Language-Team: \n" "Language: it\n" @@ -448,7 +448,7 @@ msgstr " -e, --exit-on-error esce immediatamente in caso di errore\n" #: pg_verifybackup.c:906 #, c-format msgid " -i, --ignore=RELATIVE_PATH ignore indicated path\n" -msgstr " -i, --ignore=RELATIVE_PATH ignora il percorso indicato\n" +msgstr " -i, --ignore=RELATIVE_PATH ignora il percorso indicato\n" #: pg_verifybackup.c:907 #, c-format @@ -473,17 +473,17 @@ msgstr " -s, --skip-checksums salta la verifica del checksum\n" #: pg_verifybackup.c:911 #, c-format msgid " -w, --wal-directory=PATH use specified path for WAL files\n" -msgstr " -w, --wal-directory=PATH usa il percorso specificato per i file WAL\n" +msgstr " -w, --wal-directory=PATH usa il percorso specificato per i file WAL\n" #: pg_verifybackup.c:912 #, c-format msgid " -V, --version output version information, then exit\n" -msgstr " -V, --version restituisce le informazioni sulla versione, quindi esci\n" +msgstr " -V, --version restituisce le informazioni sulla versione, quindi esci\n" #: pg_verifybackup.c:913 #, c-format msgid " -?, --help show this help, then exit\n" -msgstr " -?, --help mostra questo aiuto, quindi esci\n" +msgstr " -?, --help mostra questo aiuto, quindi esci\n" #: pg_verifybackup.c:914 #, c-format diff --git a/src/bin/pg_verifybackup/po/ru.po b/src/bin/pg_verifybackup/po/ru.po index 932e6de24f6..64005feedfd 100644 --- a/src/bin/pg_verifybackup/po/ru.po +++ b/src/bin/pg_verifybackup/po/ru.po @@ -1,18 +1,18 @@ -# Alexander Lakhin , 2020, 2021, 2022. +# Alexander Lakhin , 2020, 2021, 2022, 2023. msgid "" msgstr "" "Project-Id-Version: pg_verifybackup (PostgreSQL) 13\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-08-27 14:52+0300\n" -"PO-Revision-Date: 2022-09-05 13:37+0300\n" +"POT-Creation-Date: 2023-08-28 07:59+0300\n" +"PO-Revision-Date: 2023-08-30 12:42+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Lokalize 19.12.3\n" #: ../../../src/common/logging.c:276 @@ -36,84 +36,84 @@ msgid "hint: " msgstr "подсказка: " #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 -#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format msgid "out of memory\n" msgstr "нехватка памяти\n" -#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 #, c-format msgid "cannot duplicate null pointer (internal error)\n" msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n" -#: ../../common/jsonapi.c:1075 +#: ../../common/jsonapi.c:1144 #, c-format msgid "Escape sequence \"\\%s\" is invalid." msgstr "Неверная спецпоследовательность: \"\\%s\"." -#: ../../common/jsonapi.c:1078 +#: ../../common/jsonapi.c:1147 #, c-format msgid "Character with value 0x%02x must be escaped." msgstr "Символ с кодом 0x%02x необходимо экранировать." -#: ../../common/jsonapi.c:1081 +#: ../../common/jsonapi.c:1150 #, c-format msgid "Expected end of input, but found \"%s\"." msgstr "Ожидался конец текста, но обнаружено продолжение \"%s\"." -#: ../../common/jsonapi.c:1084 +#: ../../common/jsonapi.c:1153 #, c-format msgid "Expected array element or \"]\", but found \"%s\"." msgstr "Ожидался элемент массива или \"]\", но обнаружено \"%s\"." -#: ../../common/jsonapi.c:1087 +#: ../../common/jsonapi.c:1156 #, c-format msgid "Expected \",\" or \"]\", but found \"%s\"." msgstr "Ожидалась \",\" или \"]\", но обнаружено \"%s\"." -#: ../../common/jsonapi.c:1090 +#: ../../common/jsonapi.c:1159 #, c-format msgid "Expected \":\", but found \"%s\"." msgstr "Ожидалось \":\", но обнаружено \"%s\"." -#: ../../common/jsonapi.c:1093 +#: ../../common/jsonapi.c:1162 #, c-format msgid "Expected JSON value, but found \"%s\"." msgstr "Ожидалось значение JSON, но обнаружено \"%s\"." -#: ../../common/jsonapi.c:1096 +#: ../../common/jsonapi.c:1165 msgid "The input string ended unexpectedly." msgstr "Неожиданный конец входной строки." -#: ../../common/jsonapi.c:1098 +#: ../../common/jsonapi.c:1167 #, c-format msgid "Expected string or \"}\", but found \"%s\"." msgstr "Ожидалась строка или \"}\", но обнаружено \"%s\"." -#: ../../common/jsonapi.c:1101 +#: ../../common/jsonapi.c:1170 #, c-format msgid "Expected \",\" or \"}\", but found \"%s\"." msgstr "Ожидалась \",\" или \"}\", но обнаружено \"%s\"." -#: ../../common/jsonapi.c:1104 +#: ../../common/jsonapi.c:1173 #, c-format msgid "Expected string, but found \"%s\"." msgstr "Ожидалась строка, но обнаружено \"%s\"." -#: ../../common/jsonapi.c:1107 +#: ../../common/jsonapi.c:1176 #, c-format msgid "Token \"%s\" is invalid." msgstr "Ошибочный элемент текста \"%s\"." -#: ../../common/jsonapi.c:1110 +#: ../../common/jsonapi.c:1179 msgid "\\u0000 cannot be converted to text." msgstr "\\u0000 нельзя преобразовать в текст." -#: ../../common/jsonapi.c:1112 +#: ../../common/jsonapi.c:1181 msgid "\"\\u\" must be followed by four hexadecimal digits." msgstr "За \"\\u\" должны следовать четыре шестнадцатеричные цифры." -#: ../../common/jsonapi.c:1115 +#: ../../common/jsonapi.c:1184 msgid "" "Unicode escape values cannot be used for code point values above 007F when " "the encoding is not UTF8." @@ -121,12 +121,18 @@ msgstr "" "Спецкоды Unicode для значений выше 007F можно использовать только с " "кодировкой UTF8." -#: ../../common/jsonapi.c:1117 +#: ../../common/jsonapi.c:1187 +#, c-format +msgid "" +"Unicode escape value could not be translated to the server's encoding %s." +msgstr "Спецкод Unicode нельзя преобразовать в серверную кодировку %s." + +#: ../../common/jsonapi.c:1190 msgid "Unicode high surrogate must not follow a high surrogate." msgstr "" "Старшее слово суррогата Unicode не может следовать за другим старшим словом." -#: ../../common/jsonapi.c:1119 +#: ../../common/jsonapi.c:1192 msgid "Unicode low surrogate must follow a high surrogate." msgstr "Младшее слово суррогата Unicode должно следовать за старшим словом." @@ -142,290 +148,300 @@ msgstr "неожиданный конец манифеста" msgid "unexpected object start" msgstr "неожиданное начало объекта" -#: parse_manifest.c:224 +#: parse_manifest.c:226 msgid "unexpected object end" msgstr "неожиданный конец объекта" -#: parse_manifest.c:251 +#: parse_manifest.c:255 msgid "unexpected array start" msgstr "неожиданное начало массива" -#: parse_manifest.c:274 +#: parse_manifest.c:280 msgid "unexpected array end" msgstr "неожиданный конец массива" -#: parse_manifest.c:299 +#: parse_manifest.c:307 msgid "expected version indicator" msgstr "ожидалось указание версии" -#: parse_manifest.c:328 +#: parse_manifest.c:336 msgid "unrecognized top-level field" msgstr "нераспознанное поле на верхнем уровне" -#: parse_manifest.c:347 +#: parse_manifest.c:355 msgid "unexpected file field" msgstr "неизвестное поле для файла" -#: parse_manifest.c:361 +#: parse_manifest.c:369 msgid "unexpected WAL range field" msgstr "неизвестное поле в указании диапазона WAL" -#: parse_manifest.c:367 +#: parse_manifest.c:375 msgid "unexpected object field" msgstr "неожиданное поле объекта" -#: parse_manifest.c:397 +#: parse_manifest.c:407 msgid "unexpected manifest version" msgstr "неожиданная версия манифеста" -#: parse_manifest.c:448 +#: parse_manifest.c:458 msgid "unexpected scalar" msgstr "неожиданное скалярное значение" -#: parse_manifest.c:472 +#: parse_manifest.c:484 msgid "missing path name" msgstr "отсутствует указание пути" -#: parse_manifest.c:475 +#: parse_manifest.c:487 msgid "both path name and encoded path name" msgstr "указание пути задано в обычном виде и в закодированном" -#: parse_manifest.c:477 +#: parse_manifest.c:489 msgid "missing size" msgstr "отсутствует указание размера" -#: parse_manifest.c:480 +#: parse_manifest.c:492 msgid "checksum without algorithm" msgstr "не задан алгоритм расчёта контрольной суммы" -#: parse_manifest.c:494 +#: parse_manifest.c:506 msgid "could not decode file name" msgstr "не удалось декодировать имя файла" -#: parse_manifest.c:504 +#: parse_manifest.c:516 msgid "file size is not an integer" msgstr "размер файла не является целочисленным" -#: parse_manifest.c:510 +#: parse_manifest.c:522 #, c-format msgid "unrecognized checksum algorithm: \"%s\"" msgstr "нераспознанный алгоритм расчёта контрольных сумм: \"%s\"" -#: parse_manifest.c:529 +#: parse_manifest.c:541 #, c-format msgid "invalid checksum for file \"%s\": \"%s\"" msgstr "неверная контрольная сумма для файла \"%s\": \"%s\"" -#: parse_manifest.c:572 +#: parse_manifest.c:584 msgid "missing timeline" msgstr "отсутствует линия времени" -#: parse_manifest.c:574 +#: parse_manifest.c:586 msgid "missing start LSN" msgstr "отсутствует начальный LSN" -#: parse_manifest.c:576 +#: parse_manifest.c:588 msgid "missing end LSN" msgstr "отсутствует конечный LSN" -#: parse_manifest.c:582 +#: parse_manifest.c:594 msgid "timeline is not an integer" msgstr "линия времени задаётся не целым числом" -#: parse_manifest.c:585 +#: parse_manifest.c:597 msgid "could not parse start LSN" msgstr "не удалось разобрать начальный LSN" -#: parse_manifest.c:588 +#: parse_manifest.c:600 msgid "could not parse end LSN" msgstr "не удалось разобрать конечный LSN" -#: parse_manifest.c:649 +#: parse_manifest.c:661 msgid "expected at least 2 lines" msgstr "ожидалось как минимум 2 строки" -#: parse_manifest.c:652 +#: parse_manifest.c:664 msgid "last line not newline-terminated" msgstr "последняя строка не оканчивается символом новой строки" -#: parse_manifest.c:657 +#: parse_manifest.c:669 #, c-format msgid "out of memory" msgstr "нехватка памяти" -#: parse_manifest.c:659 +#: parse_manifest.c:671 #, c-format msgid "could not initialize checksum of manifest" msgstr "не удалось подготовить контекст контрольной суммы манифеста" -#: parse_manifest.c:661 +#: parse_manifest.c:673 #, c-format msgid "could not update checksum of manifest" msgstr "не удалось изменить контекст контрольной суммы манифеста" -#: parse_manifest.c:664 +#: parse_manifest.c:676 #, c-format msgid "could not finalize checksum of manifest" msgstr "не удалось завершить расчёт контрольной суммы манифеста" -#: parse_manifest.c:668 +#: parse_manifest.c:680 #, c-format msgid "manifest has no checksum" msgstr "в манифесте нет контрольной суммы" -#: parse_manifest.c:672 +#: parse_manifest.c:684 #, c-format msgid "invalid manifest checksum: \"%s\"" msgstr "неверная контрольная сумма в манифесте: \"%s\"" -#: parse_manifest.c:676 +#: parse_manifest.c:688 #, c-format msgid "manifest checksum mismatch" msgstr "ошибка контрольной суммы манифеста" -#: parse_manifest.c:691 +#: parse_manifest.c:703 #, c-format msgid "could not parse backup manifest: %s" msgstr "не удалось разобрать манифест копии: %s" -#: pg_verifybackup.c:256 pg_verifybackup.c:265 pg_verifybackup.c:276 +#: pg_verifybackup.c:273 pg_verifybackup.c:282 pg_verifybackup.c:293 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Для дополнительной информации попробуйте \"%s --help\"." -#: pg_verifybackup.c:264 +#: pg_verifybackup.c:281 #, c-format msgid "no backup directory specified" msgstr "каталог копии не указан" -#: pg_verifybackup.c:274 +#: pg_verifybackup.c:291 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "слишком много аргументов командной строки (первый: \"%s\")" -#: pg_verifybackup.c:297 +#: pg_verifybackup.c:299 +#, c-format +msgid "cannot specify both %s and %s" +msgstr "указать %s и %s одновременно нельзя" + +#: pg_verifybackup.c:319 #, c-format msgid "" -"program \"%s\" is needed by %s but was not found in the same directory as \"" -"%s\"" +"program \"%s\" is needed by %s but was not found in the same directory as " +"\"%s\"" msgstr "программа \"%s\" нужна для %s, но она не найдена в каталоге \"%s\"" -#: pg_verifybackup.c:300 +#: pg_verifybackup.c:322 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "" "программа \"%s\" найдена программой \"%s\", но её версия отличается от " "версии %s" -#: pg_verifybackup.c:356 +#: pg_verifybackup.c:378 #, c-format msgid "backup successfully verified\n" msgstr "копия проверена успешно\n" -#: pg_verifybackup.c:382 pg_verifybackup.c:718 +#: pg_verifybackup.c:404 pg_verifybackup.c:748 #, c-format msgid "could not open file \"%s\": %m" msgstr "не удалось открыть файл \"%s\": %m" -#: pg_verifybackup.c:386 +#: pg_verifybackup.c:408 #, c-format msgid "could not stat file \"%s\": %m" msgstr "не удалось получить информацию о файле \"%s\": %m" -#: pg_verifybackup.c:406 pg_verifybackup.c:745 +#: pg_verifybackup.c:428 pg_verifybackup.c:779 #, c-format msgid "could not read file \"%s\": %m" msgstr "не удалось прочитать файл \"%s\": %m" -#: pg_verifybackup.c:409 +#: pg_verifybackup.c:431 #, c-format msgid "could not read file \"%s\": read %d of %lld" msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %lld)" -#: pg_verifybackup.c:469 +#: pg_verifybackup.c:491 #, c-format msgid "duplicate path name in backup manifest: \"%s\"" msgstr "дублирующийся путь в манифесте копии: \"%s\"" -#: pg_verifybackup.c:532 pg_verifybackup.c:539 +#: pg_verifybackup.c:554 pg_verifybackup.c:561 #, c-format msgid "could not open directory \"%s\": %m" msgstr "не удалось открыть каталог \"%s\": %m" -#: pg_verifybackup.c:571 +#: pg_verifybackup.c:593 #, c-format msgid "could not close directory \"%s\": %m" msgstr "не удалось закрыть каталог \"%s\": %m" -#: pg_verifybackup.c:591 +#: pg_verifybackup.c:613 #, c-format msgid "could not stat file or directory \"%s\": %m" msgstr "не удалось получить информацию о файле или каталоге \"%s\": %m" -#: pg_verifybackup.c:614 +#: pg_verifybackup.c:636 #, c-format msgid "\"%s\" is not a file or directory" msgstr "\"%s\" не указывает на файл или каталог" -#: pg_verifybackup.c:624 +#: pg_verifybackup.c:646 #, c-format msgid "\"%s\" is present on disk but not in the manifest" msgstr "файл \"%s\" присутствует на диске, но отсутствует в манифесте" -#: pg_verifybackup.c:636 +#: pg_verifybackup.c:658 #, c-format msgid "\"%s\" has size %lld on disk but size %zu in the manifest" msgstr "" "файл \"%s\" имеет размер на диске: %lld, тогда как размер в манифесте: %zu" -#: pg_verifybackup.c:663 +#: pg_verifybackup.c:689 #, c-format msgid "\"%s\" is present in the manifest but not on disk" msgstr "файл \"%s\" присутствует в манифесте, но отсутствует на диске" -#: pg_verifybackup.c:726 +#: pg_verifybackup.c:756 #, c-format msgid "could not initialize checksum of file \"%s\"" msgstr "не удалось подготовить контекст контрольной суммы файла \"%s\"" -#: pg_verifybackup.c:738 +#: pg_verifybackup.c:768 #, c-format msgid "could not update checksum of file \"%s\"" msgstr "не удалось изменить контекст контрольной суммы файла \"%s\"" -#: pg_verifybackup.c:751 +#: pg_verifybackup.c:785 #, c-format msgid "could not close file \"%s\": %m" msgstr "не удалось закрыть файл \"%s\": %m" -#: pg_verifybackup.c:770 +#: pg_verifybackup.c:804 #, c-format msgid "file \"%s\" should contain %zu bytes, but read %zu bytes" msgstr "файл \"%s\" должен содержать байт: %zu, но фактически прочитано: %zu" -#: pg_verifybackup.c:780 +#: pg_verifybackup.c:814 #, c-format msgid "could not finalize checksum of file \"%s\"" msgstr "не удалось завершить расчёт контрольной суммы файла \"%s\"" -#: pg_verifybackup.c:788 +#: pg_verifybackup.c:822 #, c-format msgid "file \"%s\" has checksum of length %d, but expected %d" msgstr "" "для файла \"%s\" задана контрольная сумма размером %d, но ожидаемый размер: " "%d" -#: pg_verifybackup.c:792 +#: pg_verifybackup.c:826 #, c-format msgid "checksum mismatch for file \"%s\"" msgstr "ошибка контрольной суммы для файла \"%s\"" -#: pg_verifybackup.c:816 +#: pg_verifybackup.c:851 #, c-format msgid "WAL parsing failed for timeline %u" msgstr "не удалось разобрать WAL для линии времени %u" -#: pg_verifybackup.c:902 +#: pg_verifybackup.c:965 +#, c-format +msgid "%*s/%s kB (%d%%) verified" +msgstr "%*s/%s КБ (%d%%) проверено" + +#: pg_verifybackup.c:982 #, c-format msgid "" "%s verifies a backup against the backup manifest.\n" @@ -434,7 +450,7 @@ msgstr "" "%s проверяет резервную копию, используя манифест копии.\n" "\n" -#: pg_verifybackup.c:903 +#: pg_verifybackup.c:983 #, c-format msgid "" "Usage:\n" @@ -445,62 +461,67 @@ msgstr "" " %s [ПАРАМЕТР]... КАТАЛОГ_КОПИИ\n" "\n" -#: pg_verifybackup.c:904 +#: pg_verifybackup.c:984 #, c-format msgid "Options:\n" msgstr "Параметры:\n" -#: pg_verifybackup.c:905 +#: pg_verifybackup.c:985 #, c-format msgid " -e, --exit-on-error exit immediately on error\n" msgstr " -e, --exit-on-error немедленный выход при ошибке\n" -#: pg_verifybackup.c:906 +#: pg_verifybackup.c:986 #, c-format msgid " -i, --ignore=RELATIVE_PATH ignore indicated path\n" msgstr "" " -i, --ignore=ОТНОСИТЕЛЬНЫЙ_ПУТЬ\n" " игнорировать заданный путь\n" -#: pg_verifybackup.c:907 +#: pg_verifybackup.c:987 #, c-format msgid " -m, --manifest-path=PATH use specified path for manifest\n" msgstr " -m, --manifest-path=ПУТЬ использовать заданный файл манифеста\n" -#: pg_verifybackup.c:908 +#: pg_verifybackup.c:988 #, c-format msgid " -n, --no-parse-wal do not try to parse WAL files\n" msgstr " -n, --no-parse-wal не пытаться разбирать файлы WAL\n" -#: pg_verifybackup.c:909 +#: pg_verifybackup.c:989 +#, c-format +msgid " -P, --progress show progress information\n" +msgstr " -P, --progress показывать прогресс операции\n" + +#: pg_verifybackup.c:990 #, c-format msgid "" " -q, --quiet do not print any output, except for errors\n" msgstr "" " -q, --quiet не выводить никаких сообщений, кроме ошибок\n" -#: pg_verifybackup.c:910 +#: pg_verifybackup.c:991 #, c-format msgid " -s, --skip-checksums skip checksum verification\n" msgstr " -s, --skip-checksums пропустить проверку контрольных сумм\n" -#: pg_verifybackup.c:911 +#: pg_verifybackup.c:992 #, c-format msgid " -w, --wal-directory=PATH use specified path for WAL files\n" msgstr "" " -w, --wal-directory=ПУТЬ использовать заданный путь к файлам WAL\n" -#: pg_verifybackup.c:912 +#: pg_verifybackup.c:993 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: pg_verifybackup.c:913 +#: pg_verifybackup.c:994 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: pg_verifybackup.c:914 +#: pg_verifybackup.c:995 #, c-format msgid "" "\n" @@ -509,7 +530,7 @@ msgstr "" "\n" "Об ошибках сообщайте по адресу <%s>.\n" -#: pg_verifybackup.c:915 +#: pg_verifybackup.c:996 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашняя страница %s: <%s>\n" diff --git a/src/bin/pg_waldump/po/es.po b/src/bin/pg_waldump/po/es.po index b5e99399cc3..67a0cf3e2b0 100644 --- a/src/bin/pg_waldump/po/es.po +++ b/src/bin/pg_waldump/po/es.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: pg_waldump (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2023-05-22 07:18+0000\n" -"PO-Revision-Date: 2023-05-22 12:06+0200\n" +"PO-Revision-Date: 2023-09-05 07:35+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" "Language: es\n" @@ -257,7 +257,7 @@ msgstr "" #: pg_waldump.c:780 #, 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" +msgstr " --save-fullpage=DIR guardar imágenes de página completa en DIR\n" #: pg_waldump.c:781 #, c-format diff --git a/src/bin/pg_waldump/po/fr.po b/src/bin/pg_waldump/po/fr.po index 2d7b5cb9de7..b5cb1c6a017 100644 --- a/src/bin/pg_waldump/po/fr.po +++ b/src/bin/pg_waldump/po/fr.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2023-07-29 09:18+0000\n" -"PO-Revision-Date: 2023-07-29 22:47+0200\n" +"PO-Revision-Date: 2023-09-05 07:50+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -280,7 +280,7 @@ msgstr "" #: pg_waldump.c:781 #, c-format msgid " --save-fullpage=DIR save full page images to DIR\n" -msgstr " --save-fullpage=RÉP sauvegarde les images complètes dans RÉP\n" +msgstr " --save-fullpage=RÉP sauvegarde les images complètes dans RÉP\n" #: pg_waldump.c:782 #, c-format @@ -299,7 +299,7 @@ msgstr "" #: pg_waldump.c:784 #, c-format msgid "%s home page: <%s>\n" -msgstr "Page d'accueil %s : <%s>\n" +msgstr "Page d'accueil de %s : <%s>\n" #: pg_waldump.c:880 #, c-format @@ -568,7 +568,7 @@ msgstr "enregistrement de longueur invalide à %X/%X" #: xlogreader.c:1968 #, c-format msgid "could not locate backup block with ID %d in WAL record" -msgstr "échec de localisation du bloc de sauvegarde d'ID %d dans l'enregistrement WAL" +msgstr "n'a pas pu localiser le bloc de sauvegarde d'ID %d dans l'enregistrement WAL" #: xlogreader.c:2052 #, c-format @@ -578,12 +578,12 @@ msgstr "n'a pas pu restaurer l'image à %X/%X avec le bloc invalide %d indiqué" #: xlogreader.c:2059 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" -msgstr "n'a pas pu restaurer l'image à %X/%X avec l'état invalide, bloc %d" +msgstr "n'a pas pu restaurer l'image à %X/%X avec un état invalide, bloc %d" #: xlogreader.c:2086 xlogreader.c:2103 #, c-format msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d" -msgstr "n'a pas pu restaurer l'image à %X/%X compressé avec %s, non supporté par le serveur, bloc %d" +msgstr "n'a pas pu restaurer l'image à %X/%X compressé avec %s, qui est non supporté par le serveur, bloc %d" #: xlogreader.c:2112 #, c-format diff --git a/src/bin/pg_waldump/po/it.po b/src/bin/pg_waldump/po/it.po index 61d7bdaa3c1..580b737d415 100644 --- a/src/bin/pg_waldump/po/it.po +++ b/src/bin/pg_waldump/po/it.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: pg_waldump (PostgreSQL) 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-09-26 08:17+0000\n" -"PO-Revision-Date: 2022-10-02 19:21+0200\n" +"PO-Revision-Date: 2023-09-05 08:29+0200\n" "Last-Translator: \n" "Language-Team: \n" "Language: it\n" @@ -116,22 +116,22 @@ msgstr "" #: pg_waldump.c:663 #, c-format msgid " -b, --bkp-details output detailed information about backup blocks\n" -msgstr " -b, --bkp-details restituisce informazioni dettagliate sui blocchi di backup\n" +msgstr " -b, --bkp-details restituisce informazioni dettagliate sui blocchi di backup\n" #: pg_waldump.c:664 #, c-format msgid " -B, --block=N with --relation, only show records that modify block N\n" -msgstr " -B, --block=N con --relation, mostra solo i record che modificano il blocco N\n" +msgstr " -B, --block=N con --relation, mostra solo i record che modificano il blocco N\n" #: pg_waldump.c:665 #, c-format msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n" -msgstr " -e, --end=RECPTR interrompe la lettura nella posizione WAL RECPTR\n" +msgstr " -e, --end=RECPTR interrompe la lettura nella posizione WAL RECPTR\n" #: pg_waldump.c:666 #, c-format msgid " -f, --follow keep retrying after reaching end of WAL\n" -msgstr " -f, --follow continua a riprovare dopo aver raggiunto la fine del WAL\n" +msgstr " -f, --follow continua a riprovare dopo aver raggiunto la fine del WAL\n" #: pg_waldump.c:667 #, c-format @@ -139,13 +139,13 @@ msgid "" " -F, --fork=FORK only show records that modify blocks in fork FORK;\n" " valid names are main, fsm, vm, init\n" msgstr "" -" -F, --fork=FORK mostra solo i record che modificano i blocchi nel fork FORK;\n" +" -F, --fork=FORK mostra solo i record che modificano i blocchi nel fork FORK;\n" " i nomi validi sono main, fsm, vm, init\n" #: pg_waldump.c:669 #, c-format msgid " -n, --limit=N number of records to display\n" -msgstr " -n, --limit=N numero di record da visualizzare\n" +msgstr " -n, --limit=N numero di record da visualizzare\n" #: pg_waldump.c:670 #, c-format @@ -154,14 +154,14 @@ msgid "" " directory with a ./pg_wal that contains such files\n" " (default: current directory, ./pg_wal, $PGDATA/pg_wal)\n" msgstr "" -" -p, --path=PATH directory in cui trovare i file del segmento di log o a\n" +" -p, --path=PATH directory in cui trovare i file del segmento di log o a\n" " directory con un ./pg_wal che contiene tali file\n" " (predefinito: directory corrente, ./pg_wal, $PGDATA/pg_wal)\n" #: pg_waldump.c:673 #, c-format msgid " -q, --quiet do not print any output, except for errors\n" -msgstr " -q, --quiet non stampa alcun output, ad eccezione degli errori\n" +msgstr " -q, --quiet non stampa alcun output, ad eccezione degli errori\n" #: pg_waldump.c:674 #, c-format @@ -169,18 +169,18 @@ msgid "" " -r, --rmgr=RMGR only show records generated by resource manager RMGR;\n" " use --rmgr=list to list valid resource manager names\n" msgstr "" -" -r, --rmgr=RMGR mostra solo i record generati dal gestore risorse RMGR;\n" +" -r, --rmgr=RMGR mostra solo i record generati dal gestore risorse RMGR;\n" " usa --rmgr=list per elencare i nomi validi del gestore risorse\n" #: pg_waldump.c:676 #, 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 mostra solo i record che modificano i blocchi in relazione a T/D/R\n" +msgstr " -R, --relation=T/D/R mostra solo i record che modificano i blocchi in relazione a T/D/R\n" #: pg_waldump.c:677 #, c-format msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n" -msgstr " -s, --start=RECPTR inizia a leggere nella posizione WAL RECPTR\n" +msgstr " -s, --start=RECPTR inizia a leggere nella posizione WAL RECPTR\n" #: pg_waldump.c:678 #, c-format @@ -188,7 +188,7 @@ msgid "" " -t, --timeline=TLI timeline from which to read log records\n" " (default: 1 or the value used in STARTSEG)\n" msgstr "" -" -t, --timeline=timeline TLI da cui leggere i record di registro\n" +" -t, --timeline=TLI timeline da cui leggere i record di registro\n" " (predefinito: 1 o il valore utilizzato in STARTSEG)\n" #: pg_waldump.c:680 @@ -199,12 +199,12 @@ msgstr " -V, --version mostra informazioni sulla versione ed esci\n" #: pg_waldump.c:681 #, c-format msgid " -w, --fullpage only show records with a full page write\n" -msgstr " -w, --fullpage mostra solo i record con una scrittura a pagina intera\n" +msgstr " -w, --fullpage mostra solo i record con una scrittura a pagina intera\n" #: pg_waldump.c:682 #, c-format msgid " -x, --xid=XID only show records with transaction ID XID\n" -msgstr " -x, --xid=XID mostra solo i record con ID transazione XID\n" +msgstr " -x, --xid=XID mostra solo i record con ID transazione XID\n" #: pg_waldump.c:683 #, c-format @@ -212,7 +212,7 @@ msgid "" " -z, --stats[=record] show statistics instead of records\n" " (optionally, show per-record statistics)\n" msgstr "" -" -z, --stats[=record] mostra le statistiche invece dei record\n" +" -z, --stats[=record] mostra le statistiche invece dei record\n" " (facoltativamente, mostra le statistiche per record)\n" #: pg_waldump.c:685 diff --git a/src/bin/pg_waldump/po/ru.po b/src/bin/pg_waldump/po/ru.po index fba2910a794..d78dedea6f6 100644 --- a/src/bin/pg_waldump/po/ru.po +++ b/src/bin/pg_waldump/po/ru.po @@ -1,21 +1,21 @@ # Russian message translation file for pg_waldump # Copyright (C) 2017 PostgreSQL Global Development Group # This file is distributed under the same license as the PostgreSQL package. -# Alexander Lakhin , 2017, 2018, 2019, 2020, 2022. +# Alexander Lakhin , 2017, 2018, 2019, 2020, 2022, 2023. msgid "" msgstr "" "Project-Id-Version: pg_waldump (PostgreSQL) 10\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-09-29 10:17+0300\n" -"PO-Revision-Date: 2022-09-29 14:17+0300\n" +"POT-Creation-Date: 2023-08-28 07:59+0300\n" +"PO-Revision-Date: 2023-08-30 15:41+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: ../../../src/common/logging.c:276 #, c-format @@ -37,12 +37,27 @@ msgstr "подробности: " msgid "hint: " msgstr "подсказка: " -#: pg_waldump.c:160 +#: pg_waldump.c:137 +#, c-format +msgid "could not create directory \"%s\": %m" +msgstr "не удалось создать каталог \"%s\": %m" + +#: pg_waldump.c:146 +#, c-format +msgid "directory \"%s\" exists but is not empty" +msgstr "каталог \"%s\" существует, но он не пуст" + +#: pg_waldump.c:150 +#, c-format +msgid "could not access directory \"%s\": %m" +msgstr "ошибка доступа к каталогу \"%s\": %m" + +#: pg_waldump.c:199 pg_waldump.c:528 #, c-format msgid "could not open file \"%s\": %m" msgstr "не удалось открыть файл \"%s\": %m" -#: pg_waldump.c:216 +#: pg_waldump.c:255 #, c-format msgid "" "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL " @@ -60,43 +75,63 @@ msgstr[2] "" "Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 " "ГБ, но в заголовке файла WAL \"%s\" указано значение: %d" -#: pg_waldump.c:222 +#: pg_waldump.c:261 #, c-format msgid "could not read file \"%s\": %m" msgstr "не удалось прочитать файл \"%s\": %m" -#: pg_waldump.c:225 +#: pg_waldump.c:264 #, c-format msgid "could not read file \"%s\": read %d of %d" msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %d)" -#: pg_waldump.c:286 +#: pg_waldump.c:325 #, c-format msgid "could not locate WAL file \"%s\"" msgstr "не удалось найти файл WAL \"%s\"" -#: pg_waldump.c:288 +#: pg_waldump.c:327 #, c-format msgid "could not find any WAL file" msgstr "не удалось найти ни одного файла WAL" -#: pg_waldump.c:329 +#: pg_waldump.c:368 #, c-format msgid "could not find file \"%s\": %m" msgstr "не удалось найти файл \"%s\": %m" -#: pg_waldump.c:378 +#: pg_waldump.c:417 #, c-format msgid "could not read from file %s, offset %d: %m" msgstr "не удалось прочитать из файла %s по смещению %d: %m" -#: pg_waldump.c:382 +#: pg_waldump.c:421 #, c-format msgid "could not read from file %s, offset %d: read %d of %d" msgstr "" "не удалось прочитать из файла %s по смещению %d (прочитано байт: %d из %d)" -#: pg_waldump.c:658 +#: pg_waldump.c:511 +#, c-format +msgid "%s" +msgstr "%s" + +#: pg_waldump.c:519 +#, c-format +msgid "invalid fork number: %u" +msgstr "неверный номер слоя: %u" + +#: pg_waldump.c:531 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "не удалось записать файл \"%s\": %m" + +#: pg_waldump.c:534 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "не удалось закрыть файл \"%s\": %m" + +#: pg_waldump.c:754 #, c-format msgid "" "%s decodes and displays PostgreSQL write-ahead logs for debugging.\n" @@ -105,17 +140,17 @@ msgstr "" "%s декодирует и показывает журналы предзаписи PostgreSQL для целей отладки.\n" "\n" -#: pg_waldump.c:660 +#: pg_waldump.c:756 #, c-format msgid "Usage:\n" msgstr "Использование:\n" -#: pg_waldump.c:661 +#: pg_waldump.c:757 #, c-format msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n" msgstr " %s [ПАРАМЕТР]... [НАЧАЛЬНЫЙ_СЕГМЕНТ [КОНЕЧНЫЙ_СЕГМЕНТ]]\n" -#: pg_waldump.c:662 +#: pg_waldump.c:758 #, c-format msgid "" "\n" @@ -124,14 +159,14 @@ msgstr "" "\n" "Параметры:\n" -#: pg_waldump.c:663 +#: pg_waldump.c:759 #, c-format msgid "" " -b, --bkp-details output detailed information about backup blocks\n" msgstr "" " -b, --bkp-details вывести подробную информацию о копиях страниц\n" -#: pg_waldump.c:664 +#: pg_waldump.c:760 #, c-format msgid "" " -B, --block=N with --relation, only show records that modify " @@ -141,20 +176,20 @@ msgstr "" " записи, в которых меняется блок N\n" # well-spelled: ПОЗЗАП -#: pg_waldump.c:665 +#: pg_waldump.c:761 #, c-format msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n" msgstr "" " -e, --end=ПОЗЗАП прекратить чтение в заданной позиции записи в WAL\n" -#: pg_waldump.c:666 +#: pg_waldump.c:762 #, c-format msgid " -f, --follow keep retrying after reaching end of WAL\n" msgstr "" " -f, --follow повторять попытки чтения по достижении конца WAL\n" # well-spelled: МНГР -#: pg_waldump.c:667 +#: pg_waldump.c:763 #, c-format msgid "" " -F, --fork=FORK only show records that modify blocks in fork FORK;\n" @@ -164,34 +199,33 @@ msgstr "" "СЛОЕ\n" " с именем из списка: main, fsm, vm, init\n" -#: pg_waldump.c:669 +#: pg_waldump.c:765 #, c-format msgid " -n, --limit=N number of records to display\n" msgstr " -n, --limit=N число выводимых записей\n" # skip-rule: space-before-period -#: pg_waldump.c:670 +#: pg_waldump.c:766 #, c-format msgid "" -" -p, --path=PATH directory in which to find log segment files or a\n" +" -p, --path=PATH directory in which to find WAL segment files or a\n" " directory with a ./pg_wal that contains such files\n" " (default: current directory, ./pg_wal, $PGDATA/" "pg_wal)\n" msgstr "" -" -p, --path=ПУТЬ каталог, где нужно искать файлы сегментов журнала, " -"или\n" +" -p, --path=ПУТЬ каталог, где нужно искать файлы сегментов WAL, или\n" " каталог с подкаталогом ./pg_wal, содержащим такие " "файлы\n" " (по умолчанию: текущий каталог,\n" " ./pg_wal, $PGDATA/pg_wal)\n" -#: pg_waldump.c:673 +#: pg_waldump.c:769 #, c-format msgid " -q, --quiet do not print any output, except for errors\n" msgstr " -q, --quiet не выводить никаких сообщений, кроме ошибок\n" # well-spelled: МНГР -#: pg_waldump.c:674 +#: pg_waldump.c:770 #, c-format msgid "" " -r, --rmgr=RMGR only show records generated by resource manager " @@ -203,7 +237,7 @@ msgstr "" " для просмотра списка доступных менеджеров ресурсов\n" " укажите --rmgr=list\n" -#: pg_waldump.c:676 +#: pg_waldump.c:772 #, c-format msgid "" " -R, --relation=T/D/R only show records that modify blocks in relation T/" @@ -213,17 +247,17 @@ msgstr "" " в отношении T/D/R\n" # well-spelled: ПОЗЗАП -#: pg_waldump.c:677 +#: pg_waldump.c:773 #, c-format msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n" msgstr "" " -s, --start=ПОЗЗАП начать чтение с заданной позиции записи в WAL\n" # well-spelled: ЛВР -#: pg_waldump.c:678 +#: pg_waldump.c:774 #, c-format msgid "" -" -t, --timeline=TLI timeline from which to read log records\n" +" -t, --timeline=TLI timeline from which to read WAL records\n" " (default: 1 or the value used in STARTSEG)\n" msgstr "" " -t, --timeline=ЛВР линия времени, записи которой будут прочитаны\n" @@ -231,25 +265,25 @@ msgstr "" "аргументом\n" " НАЧАЛЬНЫЙ_СЕГМЕНТ)\n" -#: pg_waldump.c:680 +#: pg_waldump.c:776 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: pg_waldump.c:681 +#: pg_waldump.c:777 #, c-format msgid " -w, --fullpage only show records with a full page write\n" msgstr "" " -w, --fullpage выводить только записи, содержащие полные страницы\n" -#: pg_waldump.c:682 +#: pg_waldump.c:778 #, c-format msgid " -x, --xid=XID only show records with transaction ID XID\n" msgstr "" " -x, --xid=XID выводить только записи с заданным\n" " идентификатором транзакции\n" -#: pg_waldump.c:683 +#: pg_waldump.c:779 #, c-format msgid "" " -z, --stats[=record] show statistics instead of records\n" @@ -258,12 +292,19 @@ msgstr "" " -z, --stats[=record] показывать статистику вместо записей\n" " (также возможно получить статистику по записям)\n" -#: pg_waldump.c:685 +#: pg_waldump.c:781 +#, c-format +msgid " --save-fullpage=DIR save full page images to DIR\n" +msgstr "" +" --save-fullpage=ПУТЬ записывать полные образы страниц в заданный " +"каталог\n" + +#: pg_waldump.c:782 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: pg_waldump.c:686 +#: pg_waldump.c:783 #, c-format msgid "" "\n" @@ -272,123 +313,123 @@ msgstr "" "\n" "Об ошибках сообщайте по адресу <%s>.\n" -#: pg_waldump.c:687 +#: pg_waldump.c:784 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашняя страница %s: <%s>\n" -#: pg_waldump.c:781 +#: pg_waldump.c:880 #, c-format msgid "no arguments specified" msgstr "аргументы не указаны" -#: pg_waldump.c:797 +#: pg_waldump.c:896 #, c-format msgid "invalid block number: \"%s\"" msgstr "неверный номер блока: \"%s\"" -#: pg_waldump.c:806 pg_waldump.c:904 +#: pg_waldump.c:905 pg_waldump.c:1003 #, c-format msgid "invalid WAL location: \"%s\"" msgstr "неверная позиция в WAL: \"%s\"" -#: pg_waldump.c:819 +#: pg_waldump.c:918 #, c-format msgid "invalid fork name: \"%s\"" msgstr "неверное имя слоя: \"%s\"" -#: pg_waldump.c:827 +#: pg_waldump.c:926 pg_waldump.c:1029 #, c-format msgid "invalid value \"%s\" for option %s" msgstr "неверное значение \"%s\" для параметра %s" -#: pg_waldump.c:858 +#: pg_waldump.c:957 #, c-format msgid "custom resource manager \"%s\" does not exist" msgstr "пользовательский менеджер ресурсов \"%s\" не существует" -#: pg_waldump.c:879 +#: pg_waldump.c:978 #, c-format msgid "resource manager \"%s\" does not exist" msgstr "менеджер ресурсов \"%s\" не существует" -#: pg_waldump.c:894 +#: pg_waldump.c:993 #, c-format msgid "invalid relation specification: \"%s\"" msgstr "неверное указание отношения: \"%s\"" -#: pg_waldump.c:895 +#: pg_waldump.c:994 #, c-format msgid "Expecting \"tablespace OID/database OID/relation filenode\"." msgstr "" "Ожидается \"OID табл. пространства/OID базы данных/файловый узел отношения\"." -#: pg_waldump.c:914 +#: pg_waldump.c:1036 #, c-format -msgid "invalid timeline specification: \"%s\"" -msgstr "неверное указание линии времени: \"%s\"" +msgid "%s must be in range %u..%u" +msgstr "значение %s должно быть в диапазоне %u..%u" -#: pg_waldump.c:924 +#: pg_waldump.c:1051 #, c-format msgid "invalid transaction ID specification: \"%s\"" msgstr "неверное указание ID транзакции: \"%s\"" -#: pg_waldump.c:939 +#: pg_waldump.c:1066 #, c-format msgid "unrecognized value for option %s: %s" msgstr "нераспознанное значение параметра %s: %s" -#: pg_waldump.c:953 +#: pg_waldump.c:1083 #, c-format msgid "option %s requires option %s to be specified" msgstr "параметр %s требует указания параметра %s" -#: pg_waldump.c:960 +#: pg_waldump.c:1090 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "слишком много аргументов командной строки (первый: \"%s\")" -#: pg_waldump.c:970 pg_waldump.c:990 +#: pg_waldump.c:1100 pg_waldump.c:1123 #, c-format msgid "could not open directory \"%s\": %m" msgstr "не удалось открыть каталог \"%s\": %m" -#: pg_waldump.c:996 pg_waldump.c:1026 +#: pg_waldump.c:1129 pg_waldump.c:1159 #, c-format msgid "could not open file \"%s\"" msgstr "не удалось открыть файл \"%s\"" -#: pg_waldump.c:1006 +#: pg_waldump.c:1139 #, c-format msgid "start WAL location %X/%X is not inside file \"%s\"" msgstr "начальная позиция в WAL %X/%X находится не в файле \"%s\"" -#: pg_waldump.c:1033 +#: pg_waldump.c:1166 #, c-format msgid "ENDSEG %s is before STARTSEG %s" msgstr "КОНЕЧНЫЙ_СЕГМЕНТ %s меньше, чем НАЧАЛЬНЫЙ_СЕГМЕНТ %s" -#: pg_waldump.c:1048 +#: pg_waldump.c:1181 #, c-format msgid "end WAL location %X/%X is not inside file \"%s\"" msgstr "конечная позиция в WAL %X/%X находится не в файле \"%s\"" -#: pg_waldump.c:1060 +#: pg_waldump.c:1193 #, c-format msgid "no start WAL location given" msgstr "начальная позиция в WAL не задана" -#: pg_waldump.c:1074 +#: pg_waldump.c:1207 #, c-format msgid "out of memory while allocating a WAL reading processor" msgstr "не удалось выделить память для чтения WAL" -#: pg_waldump.c:1080 +#: pg_waldump.c:1213 #, c-format msgid "could not find a valid record after %X/%X" msgstr "не удалось найти действительную запись после позиции %X/%X" -#: pg_waldump.c:1090 +#: 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" @@ -399,84 +440,83 @@ msgstr[1] "" msgstr[2] "" "первая запись обнаружена после %X/%X, в позиции %X/%X, пропускается %u Б\n" -#: pg_waldump.c:1171 +#: pg_waldump.c:1308 #, c-format msgid "error in WAL record at %X/%X: %s" msgstr "ошибка в записи WAL в позиции %X/%X: %s" -#: pg_waldump.c:1180 +#: pg_waldump.c:1317 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Для дополнительной информации попробуйте \"%s --help\"." -#: xlogreader.c:625 +#: xlogreader.c:626 #, c-format -msgid "invalid record offset at %X/%X" -msgstr "неверное смещение записи: %X/%X" +msgid "invalid record offset at %X/%X: expected at least %u, got %u" +msgstr "" +"неверное смещение записи в позиции %X/%X: ожидалось минимум %u, получено %u" -#: xlogreader.c:633 +#: xlogreader.c:635 #, c-format msgid "contrecord is requested by %X/%X" -msgstr "по смещению %X/%X запрошено продолжение записи" +msgstr "в позиции %X/%X запрошено продолжение записи" -#: xlogreader.c:674 xlogreader.c:1121 +#: xlogreader.c:676 xlogreader.c:1119 #, c-format -msgid "invalid record length at %X/%X: wanted %u, got %u" -msgstr "неверная длина записи по смещению %X/%X: ожидалось %u, получено %u" +msgid "invalid record length at %X/%X: expected at least %u, got %u" +msgstr "" +"неверная длина записи в позиции %X/%X: ожидалось минимум %u, получено %u" -#: xlogreader.c:703 +#: xlogreader.c:705 #, c-format msgid "out of memory while trying to decode a record of length %u" msgstr "не удалось выделить память для декодирования записи длины %u" -#: xlogreader.c:725 +#: xlogreader.c:727 #, c-format msgid "record length %u at %X/%X too long" -msgstr "длина записи %u по смещению %X/%X слишком велика" +msgstr "длина записи %u в позиции %X/%X слишком велика" -#: xlogreader.c:774 +#: xlogreader.c:776 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "нет флага contrecord в позиции %X/%X" -#: xlogreader.c:787 +#: xlogreader.c:789 #, c-format msgid "invalid contrecord length %u (expected %lld) at %X/%X" msgstr "неверная длина contrecord: %u (ожидалась %lld) в позиции %X/%X" -#: xlogreader.c:922 -#, c-format -msgid "missing contrecord at %X/%X" -msgstr "нет записи contrecord в %X/%X" - -#: xlogreader.c:1129 +#: xlogreader.c:1127 #, c-format msgid "invalid resource manager ID %u at %X/%X" -msgstr "неверный ID менеджера ресурсов %u по смещению %X/%X" +msgstr "неверный ID менеджера ресурсов %u в позиции %X/%X" -#: xlogreader.c:1142 xlogreader.c:1158 +#: xlogreader.c:1140 xlogreader.c:1156 #, c-format msgid "record with incorrect prev-link %X/%X at %X/%X" -msgstr "запись с неверной ссылкой назад %X/%X по смещению %X/%X" +msgstr "запись с неверной ссылкой назад %X/%X в позиции %X/%X" -#: xlogreader.c:1194 +#: xlogreader.c:1192 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "" -"некорректная контрольная сумма данных менеджера ресурсов в записи по " -"смещению %X/%X" +"некорректная контрольная сумма данных менеджера ресурсов в записи в позиции " +"%X/%X" -#: xlogreader.c:1231 +#: xlogreader.c:1226 #, c-format -msgid "invalid magic number %04X in log segment %s, offset %u" -msgstr "неверное магическое число %04X в сегменте журнала %s, смещение %u" +msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "" +"неверное магическое число %04X в сегменте WAL %s, LSN %X/%X, смещение %u" -#: xlogreader.c:1245 xlogreader.c:1286 +#: xlogreader.c:1241 xlogreader.c:1283 #, c-format -msgid "invalid info bits %04X in log segment %s, offset %u" -msgstr "неверные информационные биты %04X в сегменте журнала %s, смещение %u" +msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "" +"неверные информационные биты %04X в сегменте WAL %s, LSN %X/%X, смещение %u" -#: xlogreader.c:1260 +#: xlogreader.c:1257 #, c-format msgid "" "WAL file is from different database system: WAL file database system " @@ -485,7 +525,7 @@ msgstr "" "файл WAL принадлежит другой СУБД: в нём указан идентификатор системы БД " "%llu, а идентификатор системы pg_control: %llu" -#: xlogreader.c:1268 +#: xlogreader.c:1265 #, c-format msgid "" "WAL file is from different database system: incorrect segment size in page " @@ -494,7 +534,7 @@ msgstr "" "файл WAL принадлежит другой СУБД: некорректный размер сегмента в заголовке " "страницы" -#: xlogreader.c:1274 +#: xlogreader.c:1271 #, c-format msgid "" "WAL file is from different database system: incorrect XLOG_BLCKSZ in page " @@ -503,17 +543,19 @@ msgstr "" "файл WAL принадлежит другой СУБД: некорректный XLOG_BLCKSZ в заголовке " "страницы" -#: xlogreader.c:1305 +#: xlogreader.c:1303 #, c-format -msgid "unexpected pageaddr %X/%X in log segment %s, offset %u" -msgstr "неожиданный pageaddr %X/%X в сегменте журнала %s, смещение %u" +msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "неожиданный pageaddr %X/%X в сегменте WAL %s, LSN %X/%X, смещение %u" -#: xlogreader.c:1330 +#: xlogreader.c:1329 #, c-format -msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u" +msgid "" +"out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, " +"offset %u" msgstr "" -"нарушение последовательности ID линии времени %u (после %u) в сегменте " -"журнала %s, смещение %u" +"нарушение последовательности ID линии времени %u (после %u) в сегменте WAL " +"%s, LSN %X/%X, смещение %u" #: xlogreader.c:1735 #, c-format @@ -580,24 +622,24 @@ msgstr "неверный идентификатор блока %u в позиц msgid "record with invalid length at %X/%X" msgstr "запись с неверной длиной в позиции %X/%X" -#: xlogreader.c:1967 +#: xlogreader.c:1968 #, c-format msgid "could not locate backup block with ID %d in WAL record" msgstr "не удалось найти копию блока с ID %d в записи журнала WAL" -#: xlogreader.c:2051 +#: xlogreader.c:2052 #, c-format msgid "could not restore image at %X/%X with invalid block %d specified" msgstr "" "не удалось восстановить образ в позиции %X/%X с указанным неверным блоком %d" -#: xlogreader.c:2058 +#: xlogreader.c:2059 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" msgstr "" "не удалось восстановить образ в позиции %X/%X с неверным состоянием, блок %d" -#: xlogreader.c:2085 xlogreader.c:2102 +#: xlogreader.c:2086 xlogreader.c:2103 #, c-format msgid "" "could not restore image at %X/%X compressed with %s not supported by build, " @@ -606,7 +648,7 @@ msgstr "" "не удалось восстановить образ в позиции %X/%X, сжатый методом %s, который не " "поддерживается этой сборкой, блок %d" -#: xlogreader.c:2111 +#: xlogreader.c:2112 #, c-format msgid "" "could not restore image at %X/%X compressed with unknown method, block %d" @@ -614,11 +656,23 @@ msgstr "" "не удалось восстановить образ в позиции %X/%X, сжатый неизвестным методом, " "блок %d" -#: xlogreader.c:2119 +#: xlogreader.c:2120 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "не удалось развернуть образ в позиции %X/%X, блок %d" +#, c-format +#~ msgid "invalid timeline specification: \"%s\"" +#~ msgstr "неверное указание линии времени: \"%s\"" + +#, c-format +#~ msgid "invalid record offset at %X/%X" +#~ msgstr "неверное смещение записи: %X/%X" + +#, c-format +#~ msgid "missing contrecord at %X/%X" +#~ msgstr "нет записи contrecord в %X/%X" + #~ msgid "" #~ "\n" #~ "Report bugs to .\n" diff --git a/src/bin/pg_waldump/po/sv.po b/src/bin/pg_waldump/po/sv.po index 9f0e147f18e..4fd2ceb7b03 100644 --- a/src/bin/pg_waldump/po/sv.po +++ b/src/bin/pg_waldump/po/sv.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2023-08-02 03:17+0000\n" -"PO-Revision-Date: 2023-08-02 08:08+0200\n" +"PO-Revision-Date: 2023-08-30 08:59+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -470,12 +470,12 @@ msgstr "WAL-fil är från ett annat databassystem: WAL-filens databassystemident #: xlogreader.c:1265 #, 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 sidhuvuid" +msgstr "WAL-fil är från ett annat databassystem: inkorrekt segmentstorlek i sidhuvud" #: xlogreader.c:1271 #, 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 sidhuvuid" +msgstr "WAL-fil är från ett annat databassystem: inkorrekt XLOG_BLCKSZ i sidhuvud" #: xlogreader.c:1303 #, c-format @@ -506,7 +506,7 @@ msgstr "BKPBLOCK_HAS_DATA är ej satt men datalängden är %u vid %X/%X" #: xlogreader.c:1802 #, 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 block-image-längd %u vid %X/%X" +msgstr "BKPIMAGE_HAS_HOLE är satt men håloffset %u längd %u blockavbildlängd %u vid %X/%X" #: xlogreader.c:1818 #, c-format @@ -516,12 +516,12 @@ msgstr "BKPIMAGE_HAS_HOLE är inte satt men håloffset %u längd %u vid %X/%X" #: xlogreader.c:1832 #, c-format msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" -msgstr "BKPIMAGE_COMPRESSED är satt men block-image-längd %u vid %X/%X" +msgstr "BKPIMAGE_COMPRESSED är satt men blockavbildlängd %u vid %X/%X" #: xlogreader.c:1847 #, 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 block-image-längd är %u vid %X/%X" +msgstr "varken BKPIMAGE_HAS_HOLE eller BKPIMAGE_COMPRESSED är satt men blockavbildlängd är %u vid %X/%X" #: xlogreader.c:1863 #, c-format @@ -551,22 +551,22 @@ msgstr "kunde inte återställa avbild vid %X/%X med ogiltigt block %d angivet" #: xlogreader.c:2059 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" -msgstr "kunde inte återställa image vid %X/%X med ogiltigt state, block %d" +msgstr "kunde inte återställa avbild vid %X/%X med ogiltigt state, block %d" #: xlogreader.c:2086 xlogreader.c:2103 #, c-format msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d" -msgstr "kunde inte återställa image vid %X/%X, komprimerad med %s stöds inte av bygget, block %d" +msgstr "kunde inte återställa avbild vid %X/%X, komprimerad med %s stöds inte av bygget, block %d" #: xlogreader.c:2112 #, c-format msgid "could not restore image at %X/%X compressed with unknown method, block %d" -msgstr "kunde inte återställa image vid %X/%X, komprimerad med okänd metod, block %d" +msgstr "kunde inte återställa avbild vid %X/%X, komprimerad med okänd metod, block %d" #: xlogreader.c:2120 #, c-format msgid "could not decompress image at %X/%X, block %d" -msgstr "kunde inte packa upp image vid %X/%X, block %d" +msgstr "kunde inte packa upp avbild vid %X/%X, block %d" #, c-format #~ msgid "invalid record offset at %X/%X" diff --git a/src/bin/pg_waldump/po/uk.po b/src/bin/pg_waldump/po/uk.po index 71312d16ec3..29291c8963a 100644 --- a/src/bin/pg_waldump/po/uk.po +++ b/src/bin/pg_waldump/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2020-09-21 21:15+0000\n" -"PO-Revision-Date: 2020-09-22 13:43\n" +"POT-Creation-Date: 2023-08-17 06:47+0000\n" +"PO-Revision-Date: 2023-08-28 15:54\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,30 +14,50 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /DEV_13/pg_waldump.pot\n" -"X-Crowdin-File-ID: 512\n" +"X-Crowdin-File: /REL_16_STABLE/pg_waldump.pot\n" +"X-Crowdin-File-ID: 979\n" -#: ../../../src/common/logging.c:236 -#, c-format -msgid "fatal: " -msgstr "збій: " - -#: ../../../src/common/logging.c:243 +#: ../../../src/common/logging.c:276 #, c-format msgid "error: " msgstr "помилка: " -#: ../../../src/common/logging.c:250 +#: ../../../src/common/logging.c:283 #, c-format msgid "warning: " msgstr "попередження: " +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "деталі: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "підказка: " + +#: pg_waldump.c:137 +#, c-format +msgid "could not create directory \"%s\": %m" +msgstr "не вдалося створити каталог \"%s\": %m" + #: pg_waldump.c:146 #, c-format +msgid "directory \"%s\" exists but is not empty" +msgstr "каталог \"%s\" існує, але він не порожній" + +#: pg_waldump.c:150 +#, c-format +msgid "could not access directory \"%s\": %m" +msgstr "немає доступу до каталогу \"%s\": %m" + +#: pg_waldump.c:199 pg_waldump.c:528 +#, c-format msgid "could not open file \"%s\": %m" msgstr "не можливо відкрити файл \"%s\": %m" -#: pg_waldump.c:202 +#: pg_waldump.c:255 #, c-format msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d byte" msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d bytes" @@ -46,233 +66,304 @@ msgstr[1] "Розмір сегмента WAL повинен задаватись msgstr[2] "Розмір сегмента WAL повинен задаватись ступенем двійки в інтервалі між 1 MB і 1 GB, але у заголовку файлу WAL \"%s\" вказано %d байтів" msgstr[3] "Розмір сегмента WAL повинен задаватись ступенем двійки в інтервалі між 1 MB і 1 GB, але у заголовку файлу WAL \"%s\" вказано %d байтів" -#: pg_waldump.c:210 +#: pg_waldump.c:261 #, c-format msgid "could not read file \"%s\": %m" msgstr "не вдалося прочитати файл \"%s\": %m" -#: pg_waldump.c:213 +#: pg_waldump.c:264 #, c-format -msgid "could not read file \"%s\": read %d of %zu" -msgstr "не вдалося прочитати файл \"%s\": прочитано %d з %zu" +msgid "could not read file \"%s\": read %d of %d" +msgstr "не вдалося прочитати файл \"%s\": прочитано %d з %d" -#: pg_waldump.c:275 +#: pg_waldump.c:325 #, c-format msgid "could not locate WAL file \"%s\"" msgstr "не вдалося знайти WAL файл \"%s\"" -#: pg_waldump.c:277 +#: pg_waldump.c:327 #, c-format msgid "could not find any WAL file" msgstr "не вдалося знайти жодного WAL файлу" -#: pg_waldump.c:318 +#: pg_waldump.c:368 #, c-format msgid "could not find file \"%s\": %m" msgstr "не вдалося знайти файл \"%s\": %m" -#: pg_waldump.c:367 +#: pg_waldump.c:417 +#, c-format +msgid "could not read from file %s, offset %d: %m" +msgstr "не вдалося прочитати файл %s, зсув %d: %m" + +#: pg_waldump.c:421 +#, c-format +msgid "could not read from file %s, offset %d: read %d of %d" +msgstr "не вдалося прочитати з файлу %s, зсув %d: прочитано %d з %d" + +#: pg_waldump.c:511 +#, c-format +msgid "%s" +msgstr "%s" + +#: pg_waldump.c:519 +#, c-format +msgid "invalid fork number: %u" +msgstr "" + +#: pg_waldump.c:531 #, c-format -msgid "could not read from file %s, offset %u: %m" -msgstr "не вдалося прочитати з файлу %s, зсув %u: %m" +msgid "could not write file \"%s\": %m" +msgstr "не вдалося записати файл \"%s\": %m" -#: pg_waldump.c:371 +#: pg_waldump.c:534 #, c-format -msgid "could not read from file %s, offset %u: read %d of %zu" -msgstr "не вдалося прочитати з файлу %s, зсув %u: прочитано %d з %zu" +msgid "could not close file \"%s\": %m" +msgstr "неможливо закрити файл \"%s\": %m" -#: pg_waldump.c:720 +#: pg_waldump.c:754 #, c-format msgid "%s decodes and displays PostgreSQL write-ahead logs for debugging.\n\n" msgstr "%s декодує і відображає журнали попереднього запису PostgreSQL для налагодження.\n\n" -#: pg_waldump.c:722 +#: pg_waldump.c:756 #, c-format msgid "Usage:\n" msgstr "Використання:\n" -#: pg_waldump.c:723 +#: pg_waldump.c:757 #, c-format msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n" msgstr " %s [OPTION]...[STARTSEG [ENDSEG]]\n" -#: pg_waldump.c:724 +#: pg_waldump.c:758 #, c-format msgid "\n" "Options:\n" msgstr "\n" "Параметри:\n" -#: pg_waldump.c:725 +#: pg_waldump.c:759 #, c-format msgid " -b, --bkp-details output detailed information about backup blocks\n" msgstr " -b, --bkp-details виводити детальну інформацію про блоки резервних копій\n" -#: pg_waldump.c:726 +#: pg_waldump.c:760 +#, c-format +msgid " -B, --block=N with --relation, only show records that modify block N\n" +msgstr " -B, --block=N з --relation, лише показати записи, які змінюють блок N\n" + +#: pg_waldump.c:761 #, c-format msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n" msgstr " -e, --end=RECPTR зупинити читання WAL з місця RECPTR\n" -#: pg_waldump.c:727 +#: pg_waldump.c:762 #, c-format msgid " -f, --follow keep retrying after reaching end of WAL\n" msgstr " -f, --follow повторювати спроби після досягнення кінця WAL\n" -#: pg_waldump.c:728 +#: pg_waldump.c:763 +#, c-format +msgid " -F, --fork=FORK only show records that modify blocks in fork FORK;\n" +" valid names are main, fsm, vm, init\n" +msgstr " -F, --fork=FORK показати лише записи, які змінюють блоки в форці FORK;\n" +" дійсні імена: main, fsm, vm, init\n" + +#: pg_waldump.c:765 #, c-format msgid " -n, --limit=N number of records to display\n" msgstr " -n, --limit=N число записів для відображення\n" -#: pg_waldump.c:729 +#: pg_waldump.c:766 #, c-format -msgid " -p, --path=PATH directory in which to find log segment files or a\n" +msgid " -p, --path=PATH directory in which to find WAL segment files or a\n" " directory with a ./pg_wal that contains such files\n" " (default: current directory, ./pg_wal, $PGDATA/pg_wal)\n" -msgstr " -p, --path=PATH каталог, у якому шукати файли сегментів журналу \n" -"або каталог з ./pg_wal, що містить такі файли (за замовчуванням: чинний каталог, ./pg_wal, $PGDATA/pg_wal)\n" +msgstr "" -#: pg_waldump.c:732 +#: pg_waldump.c:769 #, c-format msgid " -q, --quiet do not print any output, except for errors\n" msgstr " -q, --quiet не друкувати жодного виводу, окрім помилок\n" -#: pg_waldump.c:733 +#: pg_waldump.c:770 #, c-format msgid " -r, --rmgr=RMGR only show records generated by resource manager RMGR;\n" " use --rmgr=list to list valid resource manager names\n" msgstr " -r, --rmgr=RMGR відображати записи, згенеровані лише ресурсним менеджером RMGR;\n" " використовувати --rmgr=list для перегляду списку припустимих імен ресурсного менеджера\n" -#: pg_waldump.c:735 +#: 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 відобразити тільки записи, які змінюють блоки у відношенні T/D/R\n" + +#: pg_waldump.c:773 #, c-format msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n" msgstr " -s, --start=RECPTR почати читання WAL з місця RECPTR\n" -#: pg_waldump.c:736 +#: pg_waldump.c:774 #, c-format -msgid " -t, --timeline=TLI timeline from which to read log records\n" +msgid " -t, --timeline=TLI timeline from which to read WAL records\n" " (default: 1 or the value used in STARTSEG)\n" -msgstr " -t, --timeline=TLI часова шкала, записи якої будуть прочитані (за замовчуванням: 1 або значення, що використовується у STARTSEG)\n" +msgstr "" -#: pg_waldump.c:738 +#: pg_waldump.c:776 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version вивести інформацію про версію і вийти\n" -#: pg_waldump.c:739 +#: pg_waldump.c:777 +#, c-format +msgid " -w, --fullpage only show records with a full page write\n" +msgstr " -w, --fullpage показувати записи лише з повним записом на сторінці\n" + +#: pg_waldump.c:778 #, c-format msgid " -x, --xid=XID only show records with transaction ID XID\n" msgstr " -x, --xid=XID показати записи лише з ідентифікатором транзакцій XID\n" -#: pg_waldump.c:740 +#: pg_waldump.c:779 #, c-format msgid " -z, --stats[=record] show statistics instead of records\n" " (optionally, show per-record statistics)\n" msgstr " -z, --stats[=record] показати статистику замість записів (необов'язково, відобразити щорядкову статистику)\n" -#: pg_waldump.c:742 +#: pg_waldump.c:781 +#, c-format +msgid " --save-fullpage=DIR save full page images to DIR\n" +msgstr "" + +#: pg_waldump.c:782 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показати цю довідку потім вийти\n" -#: pg_waldump.c:743 +#: pg_waldump.c:783 #, c-format msgid "\n" "Report bugs to <%s>.\n" msgstr "\n" "Повідомляти про помилки на <%s>.\n" -#: pg_waldump.c:744 +#: pg_waldump.c:784 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашня сторінка %s: <%s>\n" -#: pg_waldump.c:821 +#: pg_waldump.c:880 #, c-format msgid "no arguments specified" msgstr "не вказано аргументів" -#: pg_waldump.c:836 +#: pg_waldump.c:896 +#, c-format +msgid "invalid block number: \"%s\"" +msgstr "неприпустимий номер блоку: \"%s\"" + +#: pg_waldump.c:905 pg_waldump.c:1003 +#, c-format +msgid "invalid WAL location: \"%s\"" +msgstr "неприпустиме розташування WAL: \"%s\"" + +#: pg_waldump.c:918 #, c-format -msgid "could not parse end WAL location \"%s\"" -msgstr "не вдалося проаналізувати кінцеве розташування WAL \"%s\"" +msgid "invalid fork name: \"%s\"" +msgstr "неприпустиме ім'я форку: \"%s\"" -#: pg_waldump.c:848 +#: pg_waldump.c:926 pg_waldump.c:1029 #, c-format -msgid "could not parse limit \"%s\"" -msgstr "не вдалося проаналізувати ліміт \"%s\"" +msgid "invalid value \"%s\" for option %s" +msgstr "неприпустиме значення \"%s\" для параметра %s" -#: pg_waldump.c:879 +#: pg_waldump.c:957 +#, c-format +msgid "custom resource manager \"%s\" does not exist" +msgstr "користувацький менеджер ресурсів \"%s\" не існує" + +#: pg_waldump.c:978 #, c-format msgid "resource manager \"%s\" does not exist" msgstr "менеджер ресурсів \"%s\" не існує" -#: pg_waldump.c:888 +#: pg_waldump.c:993 +#, c-format +msgid "invalid relation specification: \"%s\"" +msgstr "неприпустима специфікація відношення: \"%s\"" + +#: pg_waldump.c:994 #, c-format -msgid "could not parse start WAL location \"%s\"" -msgstr "не вдалося проаналізувати початкове розташування WAL \"%s\"" +msgid "Expecting \"tablespace OID/database OID/relation filenode\"." +msgstr "Очікуємо \"tablespace OID/database OID/relation filenode\"." -#: pg_waldump.c:898 +#: pg_waldump.c:1036 #, c-format -msgid "could not parse timeline \"%s\"" -msgstr "не вдалося проаналізувати часову шкалу \"%s\"" +msgid "%s must be in range %u..%u" +msgstr "%s має бути в діапазоні %u..%u" -#: pg_waldump.c:905 +#: pg_waldump.c:1051 +#, c-format +msgid "invalid transaction ID specification: \"%s\"" +msgstr "неприпустима специфікація ідентифікатора транзакції: \"%s\"" + +#: pg_waldump.c:1066 #, c-format -msgid "could not parse \"%s\" as a transaction ID" -msgstr "не вдалося прочитати \"%s\" як ідентифікатор транзакції" +msgid "unrecognized value for option %s: %s" +msgstr "нерозпізнане значення параметра %s: %s" -#: pg_waldump.c:920 +#: pg_waldump.c:1083 #, c-format -msgid "unrecognized argument to --stats: %s" -msgstr "нерозпізнаний аргумент для --stats: %s" +msgid "option %s requires option %s to be specified" +msgstr "параметр %s вимагає використання параметру %s" -#: pg_waldump.c:933 +#: pg_waldump.c:1090 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "забагато аргументів у командному рядку (перший \"%s\")" -#: pg_waldump.c:943 pg_waldump.c:963 +#: pg_waldump.c:1100 pg_waldump.c:1123 #, c-format msgid "could not open directory \"%s\": %m" msgstr "не вдалося відкрити каталог \"%s\": %m" -#: pg_waldump.c:969 pg_waldump.c:1000 +#: pg_waldump.c:1129 pg_waldump.c:1159 #, c-format msgid "could not open file \"%s\"" msgstr "не вдалося відкрити файл \"%s\"" -#: pg_waldump.c:979 +#: pg_waldump.c:1139 #, c-format msgid "start WAL location %X/%X is not inside file \"%s\"" msgstr "початкове розташування WAL %X/%X не всередині файлу \"%s\"" -#: pg_waldump.c:1007 +#: pg_waldump.c:1166 #, c-format msgid "ENDSEG %s is before STARTSEG %s" msgstr "ENDSEG %s перед STARTSEG %s" -#: pg_waldump.c:1022 +#: pg_waldump.c:1181 #, c-format msgid "end WAL location %X/%X is not inside file \"%s\"" msgstr "кінцеве розташування WAL %X/%X не всередині файлу \"%s\"" -#: pg_waldump.c:1035 +#: pg_waldump.c:1193 #, c-format msgid "no start WAL location given" msgstr "не задано початкове розташування WAL" -#: pg_waldump.c:1049 +#: pg_waldump.c:1207 #, c-format -msgid "out of memory" -msgstr "недостатньо пам'яті" +msgid "out of memory while allocating a WAL reading processor" +msgstr "недостатньо пам'яті під час виділення обробника читання WAL" -#: pg_waldump.c:1055 +#: pg_waldump.c:1213 #, c-format msgid "could not find a valid record after %X/%X" msgstr "не вдалося знайти припустимий запис після %X/%X" -#: pg_waldump.c:1066 +#: 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" @@ -281,13 +372,178 @@ msgstr[1] "перший запис після %X/%X, у %X/%X, пропуска msgstr[2] "перший запис після %X/%X, у %X/%X, пропускається %u байтів\n" msgstr[3] "перший запис після %X/%X, у %X/%X, пропускається %u байти\n" -#: pg_waldump.c:1117 +#: pg_waldump.c:1308 #, c-format msgid "error in WAL record at %X/%X: %s" msgstr "помилка у записі WAL у %X/%X: %s" -#: pg_waldump.c:1127 +#: pg_waldump.c:1317 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Спробуйте \"%s --help\" для додаткової інформації." + +#: xlogreader.c:626 +#, c-format +msgid "invalid record offset at %X/%X: expected at least %u, got %u" +msgstr "" + +#: xlogreader.c:635 +#, c-format +msgid "contrecord is requested by %X/%X" +msgstr "по зсуву %X/%X запитано продовження запису" + +#: xlogreader.c:676 xlogreader.c:1119 +#, c-format +msgid "invalid record length at %X/%X: expected at least %u, got %u" +msgstr "" + +#: xlogreader.c:705 +#, c-format +msgid "out of memory while trying to decode a record of length %u" +msgstr "не вистачило пам'яті під час спроби закодування запису довжиною %u" + +#: xlogreader.c:727 +#, c-format +msgid "record length %u at %X/%X too long" +msgstr "довжина запису %u на %X/%X є задовгою" + +#: xlogreader.c:776 +#, c-format +msgid "there is no contrecord flag at %X/%X" +msgstr "немає прапорця contrecord в позиції %X/%X" + +#: xlogreader.c:789 +#, c-format +msgid "invalid contrecord length %u (expected %lld) at %X/%X" +msgstr "неприпустима довжина contrecord %u (очікувалось %lld) на %X/%X" + +#: xlogreader.c:1127 +#, c-format +msgid "invalid resource manager ID %u at %X/%X" +msgstr "невірний ID менеджера ресурсів %u в %X/%X" + +#: xlogreader.c:1140 xlogreader.c:1156 +#, c-format +msgid "record with incorrect prev-link %X/%X at %X/%X" +msgstr "запис з неправильним попереднім посиланням %X/%X на %X/%X" + +#: xlogreader.c:1192 +#, c-format +msgid "incorrect resource manager data checksum in record at %X/%X" +msgstr "некоректна контрольна сума даних менеджера ресурсів у запису по зсуву %X/%X" + +#: xlogreader.c:1226 +#, c-format +msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "" + +#: xlogreader.c:1241 xlogreader.c:1283 +#, c-format +msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "" + +#: xlogreader.c:1257 +#, c-format +msgid "WAL file is from different database system: WAL file database system identifier is %llu, pg_control database system identifier is %llu" +msgstr "WAL файл належить іншій системі баз даних: ідентифікатор системи баз даних де міститься WAL файл - %llu, а ідентифікатор системи баз даних pg_control - %llu" + +#: xlogreader.c:1265 +#, c-format +msgid "WAL file is from different database system: incorrect segment size in page header" +msgstr "Файл WAL належить іншій системі баз даних: некоректний розмір сегменту в заголовку сторінки" + +#: xlogreader.c:1271 +#, c-format +msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header" +msgstr "Файл WAL належить іншій системі баз даних: некоректний XLOG_BLCKSZ в заголовку сторінки" + +#: xlogreader.c:1303 +#, c-format +msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "" + +#: xlogreader.c:1329 +#, c-format +msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u" +msgstr "" + +#: xlogreader.c:1735 +#, c-format +msgid "out-of-order block_id %u at %X/%X" +msgstr "ідентифікатор блока %u out-of-order в позиції %X/%X" + +#: xlogreader.c:1759 +#, c-format +msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X" +msgstr "BKPBLOCK_HAS_DATA встановлений, але немає даних в позиції %X/%X" + +#: xlogreader.c:1766 +#, c-format +msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X" +msgstr "BKPBLOCK_HAS_DATA встановлений, але довжина даних дорівнює %u в позиції %X/%X" + +#: xlogreader.c:1802 +#, c-format +msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X" +msgstr "BKPIMAGE_HAS_HOLE встановлений, але для пропуску задані: зсув %u, довжина %u, при довжині образу блока %u в позиції %X/%X" + +#: xlogreader.c:1818 +#, c-format +msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X" +msgstr "BKPIMAGE_HAS_HOLE не встановлений, але для пропуску задані: зсув %u, довжина %u в позиції %X/%X" + +#: xlogreader.c:1832 +#, c-format +msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" +msgstr "BKPIMAGE_COMPRESSED встановлений, але довжина образу блока дорівнює %u в позиції %X/%X" + +#: xlogreader.c:1847 +#, c-format +msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X" +msgstr "ні BKPIMAGE_HAS_HOLE, ні BKPIMAGE_COMPRESSED не встановлені, але довжина образу блока дорівнює %u в позиції %X/%X" + +#: xlogreader.c:1863 +#, c-format +msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X" +msgstr "BKPBLOCK_SAME_REL встановлений, але попереднє значення не задано в позиції %X/%X" + +#: xlogreader.c:1875 +#, c-format +msgid "invalid block_id %u at %X/%X" +msgstr "невірний ідентифікатор блоку %u в позиції %X/%X" + +#: xlogreader.c:1942 +#, c-format +msgid "record with invalid length at %X/%X" +msgstr "запис з невірною довжиною на %X/%X" + +#: xlogreader.c:1968 +#, c-format +msgid "could not locate backup block with ID %d in WAL record" +msgstr "не вдалося знайти блок резервної копії з ID %d у записі WAL" + +#: xlogreader.c:2052 +#, c-format +msgid "could not restore image at %X/%X with invalid block %d specified" +msgstr "не вдалося відновити зображення %X/%X з недійсним вказаним блоком %d" + +#: xlogreader.c:2059 +#, c-format +msgid "could not restore image at %X/%X with invalid state, block %d" +msgstr "не вдалося відновити зображення %X/%X з недійсним станом, блок %d" + +#: xlogreader.c:2086 xlogreader.c:2103 +#, c-format +msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d" +msgstr "не вдалося відновити зображення в %X/%X, стиснуте %s, не підтримується збіркою, блок %d" + +#: xlogreader.c:2112 +#, c-format +msgid "could not restore image at %X/%X compressed with unknown method, block %d" +msgstr "не вдалося відновити зображення %X/%X стиснуте з невідомим методом, блок %d" + +#: xlogreader.c:2120 #, c-format -msgid "Try \"%s --help\" for more information.\n" -msgstr "Спробуйте \"%s --help\" для отримання додаткової інформації.\n" +msgid "could not decompress image at %X/%X, block %d" +msgstr "не вдалося розпакувати зображення на %X/%X, блок %d" diff --git a/src/bin/psql/po/cs.po b/src/bin/psql/po/cs.po index 45771e129d9..e50d301a2ff 100644 --- a/src/bin/psql/po/cs.po +++ b/src/bin/psql/po/cs.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: psql-cs (PostgreSQL 9.3)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2020-10-31 16:14+0000\n" -"PO-Revision-Date: 2020-11-01 00:59+0100\n" +"PO-Revision-Date: 2023-09-05 09:51+0200\n" "Last-Translator: Tomas Vondra \n" "Language-Team: Czech \n" "Language: cs\n" @@ -2489,7 +2489,7 @@ msgstr " -E, --echo-hidden ukáže dotazy generované interními příka #: help.c:102 #, c-format msgid " -L, --log-file=FILENAME send session log to file\n" -msgstr " -L, --log-file=SOUBOR uloží záznam sezení do souboru\n" +msgstr " -L, --log-file=SOUBOR uloží záznam sezení do souboru\n" #: help.c:103 #, c-format @@ -2751,12 +2751,12 @@ msgstr "Paměť dotazu\n" #: help.c:197 #, c-format msgid " \\e [FILE] [LINE] edit the query buffer (or file) with external editor\n" -msgstr " \\e [SOUBOR] [ŘÁDEK] editace aktuálního dotazu (nebo souboru) v externím editoru\n" +msgstr " \\e [SOUBOR] [ŘÁDEK] editace aktuálního dotazu (nebo souboru) v externím editoru\n" #: help.c:198 #, c-format msgid " \\ef [FUNCNAME [LINE]] edit function definition with external editor\n" -msgstr " \\ef [JMENOFUNKCE [ŘÁDEK]] editace definice funkce v externím editoru\n" +msgstr " \\ef [JMENOFUNKCE [ŘÁDEK]] editace definice funkce v externím editoru\n" #: help.c:199 #, c-format @@ -2826,10 +2826,9 @@ msgstr "" #: help.c:215 #, c-format -#| msgid " \\echo [STRING] write string to standard output\n" msgid " \\warn [-n] [STRING] write string to standard error (-n for no newline)\n" msgstr "" -" \\warn [-n] [TEXT] vypsání textu na standardní výstup (-n pro potlačení\n" +" \\warn [-n] [TEXT] vypsání textu na standardní výstup (-n pro potlačení\n" " nového řádku)\n" #: help.c:218 @@ -2938,7 +2937,7 @@ msgstr " \\dD[S+] [PATTERN] seznam domén\n" #: help.c:240 #, c-format msgid " \\ddp [PATTERN] list default privileges\n" -msgstr " \\ddp [VZOR] seznam implicitních privilegií\n" +msgstr " \\ddp [VZOR] seznam implicitních privilegií\n" #: help.c:241 #, c-format @@ -3028,7 +3027,7 @@ msgstr " \\do[S] [VZOR] seznam operátorů\n" #: help.c:258 #, c-format msgid " \\dO[S+] [PATTERN] list collations\n" -msgstr " \\dO[S+] [VZOR] seznam collations\n" +msgstr " \\dO[S+] [VZOR] seznam collations\n" #: help.c:259 #, c-format @@ -3411,7 +3410,6 @@ msgid "" msgstr "" " HISTSIZE\n" " maximální počet položek uložených v historii přkazů\n" -"\n" #: help.c:385 #, c-format @@ -3587,7 +3585,6 @@ msgid "" msgstr "" " VERBOSITY\n" " určuje podrobnost chybových hlášení [default, verbose, terse, sqlstate]\n" -"\n" #: help.c:425 #, c-format diff --git a/src/bin/psql/po/el.po b/src/bin/psql/po/el.po index a40390de7fc..fe419d14af0 100644 --- a/src/bin/psql/po/el.po +++ b/src/bin/psql/po/el.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: psql (PostgreSQL) 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2023-04-14 09:16+0000\n" -"PO-Revision-Date: 2023-04-14 15:45+0200\n" +"PO-Revision-Date: 2023-09-05 09:51+0200\n" "Last-Translator: Georgios Kokolatos \n" "Language-Team: \n" "Language: el\n" @@ -3254,7 +3254,6 @@ msgstr "" " ECHO\n" " ελέγχει ποία είσοδος γράφεται στην τυπική έξοδο\n" " [all, errors, none, queries]\n" -"\n" #: help.c:406 msgid "" diff --git a/src/bin/psql/po/es.po b/src/bin/psql/po/es.po index 5fd9d3b3195..c786ff4a419 100644 --- a/src/bin/psql/po/es.po +++ b/src/bin/psql/po/es.po @@ -319,7 +319,7 @@ msgstr "Ingrésela nuevamente: " #: command.c:2139 #, c-format msgid "Passwords didn't match." -msgstr "Las constraseñas no coinciden." +msgstr "Las contraseñas no coinciden." #: command.c:2236 #, c-format diff --git a/src/bin/psql/po/fr.po b/src/bin/psql/po/fr.po index e562706b44e..676d05a031a 100644 --- a/src/bin/psql/po/fr.po +++ b/src/bin/psql/po/fr.po @@ -12,7 +12,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2023-07-29 09:17+0000\n" -"PO-Revision-Date: 2023-07-30 08:21+0200\n" +"PO-Revision-Date: 2023-09-05 09:52+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -2765,7 +2765,7 @@ msgstr "Rapporter les bogues à <%s>.\n" #: help.c:149 #, c-format msgid "%s home page: <%s>\n" -msgstr "page d'accueil de %s : <%s>\n" +msgstr "Page d'accueil de %s : <%s>\n" #: help.c:191 msgid "General\n" @@ -3472,7 +3472,6 @@ msgid "" msgstr "" " HIDE_TOAST_COMPRESSION\n" " si activé, les méthodes de compression methods ne sont pas affichées\n" -"\n" #: help.c:421 msgid "" diff --git a/src/bin/psql/po/it.po b/src/bin/psql/po/it.po index e5cd7efead3..992f5b28e4f 100644 --- a/src/bin/psql/po/it.po +++ b/src/bin/psql/po/it.po @@ -21,7 +21,7 @@ msgstr "" "Project-Id-Version: psql (PostgreSQL) 11\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-09-26 08:16+0000\n" -"PO-Revision-Date: 2022-09-26 15:03+0200\n" +"PO-Revision-Date: 2023-09-05 09:53+0200\n" "Last-Translator: Daniele Varrazzo \n" "Language-Team: https://github.com/dvarrazzo/postgresql-it\n" "Language: it\n" @@ -2729,7 +2729,7 @@ msgid "" " \\g [(OPTIONS)] [FILE] execute query (and send result to file or |pipe);\n" " \\g with no arguments is equivalent to a semicolon\n" msgstr "" -" \\g [(OPZIONI)] [FILE] esegue la query (e invia il risultato a file o |pipe);\n" +" \\g [(OPZIONI)] [FILE] esegue la query (e invia il risultato a file o |pipe);\n" " \\g senza argomenti equivale a un punto e virgola\n" #: help.c:197 @@ -2746,9 +2746,7 @@ msgstr " \\gset [PREFIX] esegui la query e salva il risultato in una va #: help.c:200 msgid " \\gx [(OPTIONS)] [FILE] as \\g, but forces expanded output mode\n" -msgstr "" -" \\gx [(OPZIONI)] [FILE] come \\g, ma forza la modalità di output espansa\n" -"\n" +msgstr " \\gx [(OPZIONI)] [FILE] come \\g, ma forza la modalità di output espansa\n\n" #: help.c:201 msgid " \\q quit psql\n" @@ -2831,7 +2829,7 @@ msgstr " \\copy ... esegui una SQL COPY con flusso di dati dal cli #: help.c:227 msgid " \\echo [-n] [STRING] write string to standard output (-n for no newline)\n" -msgstr " \\echo [-n] [STRING] scrive la stringa nello standard output (-n per nessuna nuova riga)\n" +msgstr " \\echo [-n] [STRING] scrive la stringa nello standard output (-n per nessuna nuova riga)\n" #: help.c:228 msgid " \\i FILE execute commands from file\n" @@ -2851,13 +2849,11 @@ msgstr "" #: help.c:231 msgid " \\qecho [-n] [STRING] write string to \\o output stream (-n for no newline)\n" -msgstr "" -" \\qecho [-n] [STRING] scrive la stringa in \\o flusso di output (-n per nessuna nuova riga)\n" -"\n" +msgstr " \\qecho [-n] [STRING] scrive la stringa in \\o flusso di output (-n per nessuna nuova riga)\n\n" #: help.c:232 msgid " \\warn [-n] [STRING] write string to standard error (-n for no newline)\n" -msgstr " \\warn [-n] [STRING] scrive la stringa nell'errore standard (-n per nessuna nuova riga)\n" +msgstr " \\warn [-n] [STRING] scrive la stringa nell'errore standard (-n per nessuna nuova riga)\n" #: help.c:235 msgid "Conditional\n" @@ -2905,19 +2901,19 @@ msgstr " \\dA[+] [MODELLO] elenca i metodi di accesso\n" #: help.c:248 msgid " \\dAc[+] [AMPTRN [TYPEPTRN]] list operator classes\n" -msgstr " \\dAc[+] [AMPTRN [TYPEPTRN]] elenca le classi di operatori\n" +msgstr " \\dAc[+] [AMPTRN [TYPEPTRN]] elenca le classi di operatori\n" #: help.c:249 msgid " \\dAf[+] [AMPTRN [TYPEPTRN]] list operator families\n" -msgstr " \\dAf[+] [AMPTRN [TYPEPTRN]] elenca le famiglie di operatori\n" +msgstr " \\dAf[+] [AMPTRN [TYPEPTRN]] elenca le famiglie di operatori\n" #: help.c:250 msgid " \\dAo[+] [AMPTRN [OPFPTRN]] list operators of operator families\n" -msgstr " \\dAo[+] [AMPTRN [OPFPTRN]] elenca gli operatori delle famiglie di operatori\n" +msgstr " \\dAo[+] [AMPTRN [OPFPTRN]] elenca gli operatori delle famiglie di operatori\n" #: help.c:251 msgid " \\dAp[+] [AMPTRN [OPFPTRN]] list support functions of operator families\n" -msgstr " \\dAp[+] [AMPTRN [OPFPTRN]] elenca le funzioni di supporto delle famiglie di operatori\n" +msgstr " \\dAp[+] [AMPTRN [OPFPTRN]] elenca le funzioni di supporto delle famiglie di operatori\n" #: help.c:252 msgid " \\db[+] [PATTERN] list tablespaces\n" @@ -2929,7 +2925,7 @@ msgstr " \\dc[S+] [MODELLO] elenca le conversioni di codifica\n" #: help.c:254 msgid " \\dconfig[+] [PATTERN] list configuration parameters\n" -msgstr " \\dconfig[+] [PATTERN] elenca i parametri di configurazione\n" +msgstr " \\dconfig[+] [PATTERN] elenca i parametri di configurazione\n" #: help.c:255 msgid " \\dC[+] [PATTERN] list casts\n" @@ -2972,7 +2968,7 @@ msgid "" " \\df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]]\n" " list [only agg/normal/procedure/trigger/window] functions\n" msgstr "" -" \\df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]]\n" +" \\df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]]\n" " elenco funzioni di [solo agg/normal/procedura/trigger/finestra]\n" #: help.c:266 @@ -3001,7 +2997,7 @@ msgstr " \\di[S+] [MODELLO] elenca gli indici\n" #: help.c:272 msgid " \\dl[+] list large objects, same as \\lo_list\n" -msgstr " \\dl[+] elenca i large object, stesso risultato di \\lo_list\n" +msgstr " \\dl[+] elenca i large object, stesso risultato di \\lo_list\n" #: help.c:273 msgid " \\dL[S+] [PATTERN] list procedural languages\n" @@ -3020,7 +3016,7 @@ msgid "" " \\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]\n" " list operators\n" msgstr "" -" \\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]\n" +" \\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]\n" " operatori di liste\n" #: help.c:278 @@ -3035,11 +3031,11 @@ msgstr "" #: help.c:280 msgid " \\dP[itn+] [PATTERN] list [only index/table] partitioned relations [n=nested]\n" -msgstr " \\dP[itn+] [PATTERN] list [solo indice/tabella] relazioni partizionate [n=nidificato]\n" +msgstr " \\dP[itn+] [PATTERN] list [solo indice/tabella] relazioni partizionate [n=nidificato]\n" #: help.c:281 msgid " \\drds [ROLEPTRN [DBPTRN]] list per-database role settings\n" -msgstr " \\drds [ROLEPTRN [DBPTRN]] elenca le impostazioni del ruolo per database\n" +msgstr " \\drds [ROLEPTRN [DBPTRN]] elenca le impostazioni del ruolo per database\n" #: help.c:282 msgid " \\dRp[+] [PATTERN] list replication publications\n" @@ -3075,7 +3071,7 @@ msgstr " \\dx[+] [MODELLO] elenca le estensioni\n" #: help.c:290 msgid " \\dX [PATTERN] list extended statistics\n" -msgstr " \\dX [PATTERN] elenca le statistiche estese\n" +msgstr " \\dX [PATTERN] elenca le statistiche estese\n" #: help.c:291 msgid " \\dy[+] [PATTERN] list event triggers\n" @@ -3103,23 +3099,23 @@ msgstr "Large Object\n" #: help.c:299 msgid " \\lo_export LOBOID FILE write large object to file\n" -msgstr " \\lo_export FILE LOBOID scrive un oggetto di grandi dimensioni su un file\n" +msgstr " \\lo_export FILE LOBOID scrive un oggetto di grandi dimensioni su un file\n" #: help.c:300 msgid "" " \\lo_import FILE [COMMENT]\n" " read large object from file\n" msgstr "" -" \\lo_import FILE [COMMENTO]\n" +" \\lo_import FILE [COMMENTO]\n" " leggi oggetti di grandi dimensioni da file\n" #: help.c:302 msgid " \\lo_list[+] list large objects\n" -msgstr " \\lo_list[+] elenca gli oggetti di grandi dimensioni\n" +msgstr " \\lo_list[+] elenca gli oggetti di grandi dimensioni\n" #: help.c:303 msgid " \\lo_unlink LOBOID delete a large object\n" -msgstr " \\lo_unlink LOBOID elimina un oggetto di grandi dimensioni\n" +msgstr " \\lo_unlink LOBOID elimina un oggetto di grandi dimensioni\n" #: help.c:306 msgid "Formatting\n" @@ -3228,7 +3224,7 @@ msgstr " \\cd [DIRECTORY] cambia la directory di lavoro\n" #: help.c:341 msgid " \\getenv PSQLVAR ENVVAR fetch environment variable\n" -msgstr " \\getenv PSQLVAR ENVVAR recupera la variabile di ambiente\n" +msgstr " \\getenv PSQLVAR ENVVAR recupera la variabile di ambiente\n" #: help.c:342 msgid " \\setenv NAME [VALUE] set or unset environment variable\n" @@ -3362,7 +3358,7 @@ msgid "" " HIDE_TABLEAM\n" " if set, table access methods are not displayed\n" msgstr "" -" NASCONDI_TABELLA\n" +" HIDE_TABLEAM\n" " se impostato, i metodi di accesso alla tabella non vengono visualizzati\n" #: help.c:417 @@ -3370,7 +3366,7 @@ msgid "" " HIDE_TOAST_COMPRESSION\n" " if set, compression methods are not displayed\n" msgstr "" -" HIDE_TOAST_COMPRESSION\n" +" HIDE_TOAST_COMPRESSION\n" " se impostato, i metodi di compressione non vengono visualizzati\n" #: help.c:419 @@ -3512,7 +3508,7 @@ msgid "" " SHOW_ALL_RESULTS\n" " show all results of a combined query (\\;) instead of only the last\n" msgstr "" -" SHOW_ALL_RESULTS\n" +" SHOW_ALL_RESULTS\n" " mostra tutti i risultati di una query combinata (\\;) anziché solo l'ultima\n" #: help.c:455 @@ -3561,7 +3557,7 @@ msgid "" " VERBOSITY\n" " controls verbosity of error reports [default, verbose, terse, sqlstate]\n" msgstr "" -" VERBOSITÀ\n" +" VERBOSITY\n" " controlla la verbosità dei rapporti di errore [predefinito, dettagliato, conciso, sqlstate]\n" #: help.c:467 diff --git a/src/bin/psql/po/ja.po b/src/bin/psql/po/ja.po index aac9bdb3d86..0561cb612dc 100644 --- a/src/bin/psql/po/ja.po +++ b/src/bin/psql/po/ja.po @@ -12,7 +12,7 @@ msgstr "" "Project-Id-Version: psql (PostgreSQL 16)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2023-07-20 09:25+0900\n" -"PO-Revision-Date: 2023-07-20 10:32+0900\n" +"PO-Revision-Date: 2023-09-05 09:54+0200\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: Japan PostgreSQL Users Group \n" "Language: ja\n" @@ -3375,7 +3375,6 @@ msgid "" msgstr "" " HIDE_TABLEAM\n" " 設定すると、テーブルアクセスメソッドは表示されない\n" -"\n" #: help.c:419 msgid "" @@ -3384,7 +3383,6 @@ msgid "" msgstr "" " HIDE_TOAST_COMPRESSION\n" " 設定すると、圧縮方式は表示されない\n" -"\n" #: help.c:421 msgid "" diff --git a/src/bin/psql/po/ru.po b/src/bin/psql/po/ru.po index 8eacc86451d..216cdb8ab3d 100644 --- a/src/bin/psql/po/ru.po +++ b/src/bin/psql/po/ru.po @@ -10,16 +10,16 @@ msgid "" msgstr "" "Project-Id-Version: psql (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-02-03 15:08+0300\n" -"PO-Revision-Date: 2023-02-03 15:12+0300\n" +"POT-Creation-Date: 2023-08-28 07:59+0300\n" +"PO-Revision-Date: 2023-08-29 13:37+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: ../../../src/common/logging.c:276 #, c-format @@ -41,55 +41,45 @@ msgstr "подробности: " msgid "hint: " msgstr "подсказка: " -#: ../../common/exec.c:149 ../../common/exec.c:266 ../../common/exec.c:312 +#: ../../common/exec.c:172 #, c-format -msgid "could not identify current directory: %m" -msgstr "не удалось определить текущий каталог: %m" +msgid "invalid binary \"%s\": %m" +msgstr "неверный исполняемый файл \"%s\": %m" -#: ../../common/exec.c:168 +#: ../../common/exec.c:215 #, c-format -msgid "invalid binary \"%s\"" -msgstr "неверный исполняемый файл \"%s\"" +msgid "could not read binary \"%s\": %m" +msgstr "не удалось прочитать исполняемый файл \"%s\": %m" -#: ../../common/exec.c:218 -#, c-format -msgid "could not read binary \"%s\"" -msgstr "не удалось прочитать исполняемый файл \"%s\"" - -#: ../../common/exec.c:226 +#: ../../common/exec.c:223 #, c-format msgid "could not find a \"%s\" to execute" msgstr "не удалось найти запускаемый файл \"%s\"" -#: ../../common/exec.c:282 ../../common/exec.c:321 -#, c-format -msgid "could not change directory to \"%s\": %m" -msgstr "не удалось перейти в каталог \"%s\": %m" - -#: ../../common/exec.c:299 +#: ../../common/exec.c:250 #, c-format -msgid "could not read symbolic link \"%s\": %m" -msgstr "не удалось прочитать символическую ссылку \"%s\": %m" +msgid "could not resolve path \"%s\" to absolute form: %m" +msgstr "не удалось преобразовать относительный путь \"%s\" в абсолютный: %m" -#: ../../common/exec.c:422 +#: ../../common/exec.c:412 #, c-format msgid "%s() failed: %m" msgstr "ошибка в %s(): %m" -#: ../../common/exec.c:560 ../../common/exec.c:605 ../../common/exec.c:697 -#: command.c:1321 command.c:3310 command.c:3359 command.c:3483 input.c:227 +#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 +#: command.c:1354 command.c:3439 command.c:3488 command.c:3612 input.c:226 #: mainloop.c:80 mainloop.c:398 #, c-format msgid "out of memory" msgstr "нехватка памяти" #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 -#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format msgid "out of memory\n" msgstr "нехватка памяти\n" -#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 #, c-format msgid "cannot duplicate null pointer (internal error)\n" msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n" @@ -99,7 +89,7 @@ msgstr "попытка дублирования нулевого указате msgid "could not look up effective user ID %ld: %s" msgstr "выяснить эффективный идентификатор пользователя (%ld) не удалось: %s" -#: ../../common/username.c:45 command.c:575 +#: ../../common/username.c:45 command.c:613 msgid "user does not exist" msgstr "пользователь не существует" @@ -108,32 +98,32 @@ msgstr "пользователь не существует" msgid "user name lookup failure: error code %lu" msgstr "распознать имя пользователя не удалось (код ошибки: %lu)" -#: ../../common/wait_error.c:45 +#: ../../common/wait_error.c:55 #, c-format msgid "command not executable" msgstr "неисполняемая команда" -#: ../../common/wait_error.c:49 +#: ../../common/wait_error.c:59 #, c-format msgid "command not found" msgstr "команда не найдена" -#: ../../common/wait_error.c:54 +#: ../../common/wait_error.c:64 #, c-format msgid "child process exited with exit code %d" msgstr "дочерний процесс завершился с кодом возврата %d" -#: ../../common/wait_error.c:62 +#: ../../common/wait_error.c:72 #, c-format msgid "child process was terminated by exception 0x%X" msgstr "дочерний процесс прерван исключением 0x%X" -#: ../../common/wait_error.c:66 +#: ../../common/wait_error.c:76 #, c-format msgid "child process was terminated by signal %d: %s" msgstr "дочерний процесс завершён по сигналу %d: %s" -#: ../../common/wait_error.c:72 +#: ../../common/wait_error.c:82 #, c-format msgid "child process exited with unrecognized status %d" msgstr "дочерний процесс завершился с нераспознанным состоянием %d" @@ -154,99 +144,99 @@ msgstr[0] "(%lu строка)" msgstr[1] "(%lu строки)" msgstr[2] "(%lu строк)" -#: ../../fe_utils/print.c:3109 +#: ../../fe_utils/print.c:3154 #, c-format msgid "Interrupted\n" msgstr "Прервано\n" -#: ../../fe_utils/print.c:3173 +#: ../../fe_utils/print.c:3218 #, c-format msgid "Cannot add header to table content: column count of %d exceeded.\n" msgstr "" "Ошибка добавления заголовка таблицы: превышен предел числа столбцов (%d).\n" -#: ../../fe_utils/print.c:3213 +#: ../../fe_utils/print.c:3258 #, c-format msgid "Cannot add cell to table content: total cell count of %d exceeded.\n" msgstr "" "Ошибка добавления ячейки в таблицу: превышен предел числа ячеек (%d).\n" -#: ../../fe_utils/print.c:3471 +#: ../../fe_utils/print.c:3516 #, c-format msgid "invalid output format (internal error): %d" msgstr "неверный формат вывода (внутренняя ошибка): %d" -#: ../../fe_utils/psqlscan.l:702 +#: ../../fe_utils/psqlscan.l:717 #, c-format msgid "skipping recursive expansion of variable \"%s\"" msgstr "рекурсивное расширение переменной \"%s\" пропускается" -#: ../../port/thread.c:100 ../../port/thread.c:136 +#: ../../port/thread.c:50 ../../port/thread.c:86 #, c-format msgid "could not look up local user ID %d: %s" msgstr "найти локального пользователя по идентификатору (%d) не удалось: %s" -#: ../../port/thread.c:105 ../../port/thread.c:141 +#: ../../port/thread.c:55 ../../port/thread.c:91 #, c-format msgid "local user with ID %d does not exist" msgstr "локальный пользователь с ID %d не существует" -#: command.c:232 +#: command.c:234 #, c-format msgid "invalid command \\%s" msgstr "неверная команда \\%s" -#: command.c:234 +#: command.c:236 #, c-format msgid "Try \\? for help." msgstr "Введите \\? для получения справки." -#: command.c:252 +#: command.c:254 #, c-format msgid "\\%s: extra argument \"%s\" ignored" msgstr "\\%s: лишний аргумент \"%s\" пропущен" -#: command.c:304 +#: command.c:306 #, c-format msgid "\\%s command ignored; use \\endif or Ctrl-C to exit current \\if block" msgstr "" "команда \\%s игнорируется; добавьте \\endif или нажмите Ctrl-C для " "завершения текущего блока \\if" -#: command.c:573 +#: command.c:611 #, c-format msgid "could not get home directory for user ID %ld: %s" msgstr "не удалось получить домашний каталог пользователя c ид. %ld: %s" -#: command.c:592 +#: command.c:630 #, c-format msgid "\\%s: could not change directory to \"%s\": %m" msgstr "\\%s: не удалось перейти в каталог \"%s\": %m" -#: command.c:617 +#: command.c:654 #, c-format msgid "You are currently not connected to a database.\n" msgstr "В данный момент вы не подключены к базе данных.\n" -#: command.c:627 +#: command.c:664 #, c-format msgid "" "You are connected to database \"%s\" as user \"%s\" on address \"%s\" at " "port \"%s\".\n" msgstr "" -"Вы подключены к базе данных \"%s\" как пользователь \"%s\" (адрес сервера \"" -"%s\", порт \"%s\").\n" +"Вы подключены к базе данных \"%s\" как пользователь \"%s\" (адрес сервера " +"\"%s\", порт \"%s\").\n" -#: command.c:630 +#: command.c:667 #, c-format msgid "" "You are connected to database \"%s\" as user \"%s\" via socket in \"%s\" at " "port \"%s\".\n" msgstr "" -"Вы подключены к базе данных \"%s\" как пользователь \"%s\" через сокет в \"" -"%s\", порт \"%s\".\n" +"Вы подключены к базе данных \"%s\" как пользователь \"%s\" через сокет в " +"\"%s\", порт \"%s\".\n" -#: command.c:636 +#: command.c:673 #, c-format msgid "" "You are connected to database \"%s\" as user \"%s\" on host \"%s\" (address " @@ -255,158 +245,188 @@ msgstr "" "Вы подключены к базе данных \"%s\" как пользователь \"%s\" (сервер \"%s\": " "адрес \"%s\", порт \"%s\").\n" -#: command.c:639 +#: command.c:676 #, c-format msgid "" -"You are connected to database \"%s\" as user \"%s\" on host \"%s\" at port \"" -"%s\".\n" +"You are connected to database \"%s\" as user \"%s\" on host \"%s\" at port " +"\"%s\".\n" msgstr "" "Вы подключены к базе данных \"%s\" как пользователь \"%s\" (сервер \"%s\", " "порт \"%s\").\n" -#: command.c:1030 command.c:1125 command.c:2654 +#: command.c:1066 command.c:1159 command.c:2682 #, c-format msgid "no query buffer" msgstr "нет буфера запросов" -#: command.c:1063 command.c:5491 +#: command.c:1099 command.c:5689 #, c-format msgid "invalid line number: %s" msgstr "неверный номер строки: %s" -#: command.c:1203 +#: command.c:1237 msgid "No changes" msgstr "Изменений нет" -#: command.c:1282 +#: command.c:1315 #, c-format msgid "%s: invalid encoding name or conversion procedure not found" msgstr "" "%s: неверное название кодировки символов или не найдена процедура " "перекодировки" -#: command.c:1317 command.c:2120 command.c:3306 command.c:3505 command.c:5597 -#: common.c:181 common.c:230 common.c:399 common.c:1082 common.c:1100 -#: common.c:1174 common.c:1281 common.c:1319 common.c:1407 common.c:1443 -#: copy.c:488 copy.c:722 help.c:66 large_obj.c:157 large_obj.c:192 +#: command.c:1350 command.c:2152 command.c:3435 command.c:3632 command.c:5795 +#: common.c:182 common.c:231 common.c:400 common.c:1102 common.c:1120 +#: common.c:1194 common.c:1313 common.c:1351 common.c:1444 common.c:1480 +#: copy.c:486 copy.c:720 help.c:66 large_obj.c:157 large_obj.c:192 #: large_obj.c:254 startup.c:304 #, c-format msgid "%s" msgstr "%s" -#: command.c:1324 +#: command.c:1357 msgid "There is no previous error." msgstr "Ошибки не было." -#: command.c:1437 +#: command.c:1470 #, c-format msgid "\\%s: missing right parenthesis" msgstr "\\%s: отсутствует правая скобка" -#: command.c:1521 command.c:1651 command.c:1956 command.c:1970 command.c:1989 -#: command.c:2173 command.c:2415 command.c:2621 command.c:2661 +#: command.c:1554 command.c:1684 command.c:1988 command.c:2002 command.c:2021 +#: command.c:2203 command.c:2444 command.c:2649 command.c:2689 #, c-format msgid "\\%s: missing required argument" msgstr "отсутствует необходимый аргумент \\%s" -#: command.c:1782 +#: command.c:1815 #, c-format msgid "\\elif: cannot occur after \\else" msgstr "\\elif не может находиться после \\else" -#: command.c:1787 +#: command.c:1820 #, c-format msgid "\\elif: no matching \\if" msgstr "\\elif без соответствующего \\if" -#: command.c:1851 +#: command.c:1884 #, c-format msgid "\\else: cannot occur after \\else" msgstr "\\else не может находиться после \\else" -#: command.c:1856 +#: command.c:1889 #, c-format msgid "\\else: no matching \\if" msgstr "\\else без соответствующего \\if" -#: command.c:1896 +#: command.c:1929 #, c-format msgid "\\endif: no matching \\if" msgstr "\\endif без соответствующего \\if" -#: command.c:2053 +#: command.c:2085 msgid "Query buffer is empty." msgstr "Буфер запроса пуст." -#: command.c:2096 +#: command.c:2128 #, c-format msgid "Enter new password for user \"%s\": " msgstr "Введите новый пароль для пользователя \"%s\": " -#: command.c:2100 +#: command.c:2132 msgid "Enter it again: " msgstr "Повторите его: " -#: command.c:2109 +#: command.c:2141 #, c-format msgid "Passwords didn't match." msgstr "Пароли не совпадают." -#: command.c:2208 +#: command.c:2238 #, c-format msgid "\\%s: could not read value for variable" msgstr "\\%s: не удалось прочитать значение переменной" -#: command.c:2311 +#: command.c:2340 msgid "Query buffer reset (cleared)." msgstr "Буфер запроса сброшен (очищен)." -#: command.c:2333 +#: command.c:2362 #, c-format msgid "Wrote history to file \"%s\".\n" msgstr "История записана в файл \"%s\".\n" -#: command.c:2420 +#: command.c:2449 #, c-format msgid "\\%s: environment variable name must not contain \"=\"" msgstr "\\%s: имя переменной окружения не может содержать знак \"=\"" -#: command.c:2468 +#: command.c:2497 #, c-format msgid "function name is required" msgstr "требуется имя функции" -#: command.c:2470 +#: command.c:2499 #, c-format msgid "view name is required" msgstr "требуется имя представления" -#: command.c:2593 +#: command.c:2621 msgid "Timing is on." msgstr "Секундомер включён." -#: command.c:2595 +#: command.c:2623 msgid "Timing is off." msgstr "Секундомер выключен." -#: command.c:2680 command.c:2708 command.c:3946 command.c:3949 command.c:3952 -#: command.c:3958 command.c:3960 command.c:3986 command.c:3996 command.c:4008 -#: command.c:4022 command.c:4049 command.c:4107 common.c:77 copy.c:331 -#: copy.c:403 psqlscanslash.l:784 psqlscanslash.l:795 psqlscanslash.l:805 +#: command.c:2709 command.c:2747 command.c:4074 command.c:4077 command.c:4080 +#: command.c:4086 command.c:4088 command.c:4114 command.c:4124 command.c:4136 +#: command.c:4150 command.c:4177 command.c:4235 common.c:78 copy.c:329 +#: copy.c:401 psqlscanslash.l:788 psqlscanslash.l:800 psqlscanslash.l:818 #, c-format msgid "%s: %m" msgstr "%s: %m" -#: command.c:3107 startup.c:243 startup.c:293 +#: command.c:2736 copy.c:388 +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: command.c:2806 command.c:2852 +#, c-format +msgid "\\watch: interval value is specified more than once" +msgstr "\\watch: длительность интервала указана неоднократно" + +#: command.c:2816 command.c:2862 +#, c-format +msgid "\\watch: incorrect interval value \"%s\"" +msgstr "\\watch: некорректная длительность интервала \"%s\"" + +#: command.c:2826 +#, c-format +msgid "\\watch: iteration count is specified more than once" +msgstr "\\watch: число итераций указано неоднократно" + +#: command.c:2836 +#, c-format +msgid "\\watch: incorrect iteration count \"%s\"" +msgstr "\\watch: некорректное число итераций \"%s\"" + +#: command.c:2843 +#, c-format +msgid "\\watch: unrecognized parameter \"%s\"" +msgstr "\\watch: нераспознанный параметр \"%s\"" + +#: command.c:3236 startup.c:243 startup.c:293 msgid "Password: " msgstr "Пароль: " -#: command.c:3112 startup.c:290 +#: command.c:3241 startup.c:290 #, c-format msgid "Password for user %s: " msgstr "Пароль пользователя %s: " -#: command.c:3168 +#: command.c:3297 #, c-format msgid "" "Do not give user, host, or port separately when using a connection string" @@ -414,23 +434,23 @@ msgstr "" "Не указывайте пользователя, сервер или порт отдельно, когда используете " "строку подключения" -#: command.c:3203 +#: command.c:3332 #, c-format msgid "No database connection exists to re-use parameters from" msgstr "" "Нет подключения к базе, из которого можно было бы использовать параметры" -#: command.c:3511 +#: command.c:3638 #, c-format msgid "Previous connection kept" msgstr "Сохранено предыдущее подключение" -#: command.c:3517 +#: command.c:3644 #, c-format msgid "\\connect: %s" msgstr "\\connect: %s" -#: command.c:3573 +#: command.c:3700 #, c-format msgid "" "You are now connected to database \"%s\" as user \"%s\" on address \"%s\" at " @@ -439,25 +459,25 @@ msgstr "" "Сейчас вы подключены к базе данных \"%s\" как пользователь \"%s\" (адрес " "сервера \"%s\", порт \"%s\").\n" -#: command.c:3576 +#: command.c:3703 #, c-format msgid "" "You are now connected to database \"%s\" as user \"%s\" via socket in \"%s\" " "at port \"%s\".\n" msgstr "" -"Вы подключены к базе данных \"%s\" как пользователь \"%s\" через сокет в \"" -"%s\", порт \"%s\".\n" +"Вы подключены к базе данных \"%s\" как пользователь \"%s\" через сокет в " +"\"%s\", порт \"%s\".\n" -#: command.c:3582 +#: command.c:3709 #, c-format msgid "" -"You are now connected to database \"%s\" as user \"%s\" on host \"%s\" " -"(address \"%s\") at port \"%s\".\n" +"You are now connected to database \"%s\" as user \"%s\" on host " +"\"%s\" (address \"%s\") at port \"%s\".\n" msgstr "" -"Сейчас вы подключены к базе данных \"%s\" как пользователь \"%s\" (сервер \"" -"%s\": адрес \"%s\", порт \"%s\").\n" +"Сейчас вы подключены к базе данных \"%s\" как пользователь \"%s\" (сервер " +"\"%s\": адрес \"%s\", порт \"%s\").\n" -#: command.c:3585 +#: command.c:3712 #, c-format msgid "" "You are now connected to database \"%s\" as user \"%s\" on host \"%s\" at " @@ -466,17 +486,17 @@ msgstr "" "Вы подключены к базе данных \"%s\" как пользователь \"%s\" (сервер \"%s\", " "порт \"%s\").\n" -#: command.c:3590 +#: command.c:3717 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\".\n" msgstr "Вы подключены к базе данных \"%s\" как пользователь \"%s\".\n" -#: command.c:3630 +#: command.c:3757 #, c-format msgid "%s (%s, server %s)\n" msgstr "%s (%s, сервер %s)\n" -#: command.c:3643 +#: command.c:3770 #, c-format msgid "" "WARNING: %s major version %s, server major version %s.\n" @@ -485,29 +505,29 @@ msgstr "" "ПРЕДУПРЕЖДЕНИЕ: %s имеет базовую версию %s, а сервер - %s.\n" " Часть функций psql может не работать.\n" -#: command.c:3680 +#: command.c:3807 #, c-format msgid "SSL connection (protocol: %s, cipher: %s, compression: %s)\n" msgstr "SSL-соединение (протокол: %s, шифр: %s, сжатие: %s)\n" -#: command.c:3681 command.c:3682 +#: command.c:3808 command.c:3809 msgid "unknown" msgstr "неизвестно" -#: command.c:3683 help.c:42 +#: command.c:3810 help.c:42 msgid "off" msgstr "выкл." -#: command.c:3683 help.c:42 +#: command.c:3810 help.c:42 msgid "on" msgstr "вкл." -#: command.c:3697 +#: command.c:3824 #, c-format msgid "GSSAPI-encrypted connection\n" msgstr "Соединение зашифровано GSSAPI\n" -#: command.c:3717 +#: command.c:3844 #, c-format msgid "" "WARNING: Console code page (%u) differs from Windows code page (%u)\n" @@ -520,7 +540,7 @@ msgstr "" " Подробнее об этом смотрите документацию psql, раздел\n" " \"Notes for Windows users\".\n" -#: command.c:3822 +#: command.c:3949 #, c-format msgid "" "environment variable PSQL_EDITOR_LINENUMBER_ARG must be set to specify a " @@ -529,33 +549,33 @@ msgstr "" "в переменной окружения PSQL_EDITOR_LINENUMBER_ARG должен быть указан номер " "строки" -#: command.c:3851 +#: command.c:3979 #, c-format msgid "could not start editor \"%s\"" msgstr "не удалось запустить редактор \"%s\"" -#: command.c:3853 +#: command.c:3981 #, c-format msgid "could not start /bin/sh" msgstr "не удалось запустить /bin/sh" -#: command.c:3903 +#: command.c:4031 #, c-format msgid "could not locate temporary directory: %s" msgstr "не удалось найти временный каталог: %s" -#: command.c:3930 +#: command.c:4058 #, c-format msgid "could not open temporary file \"%s\": %m" msgstr "не удалось открыть временный файл \"%s\": %m" -#: command.c:4266 +#: command.c:4394 #, c-format msgid "\\pset: ambiguous abbreviation \"%s\" matches both \"%s\" and \"%s\"" msgstr "" "\\pset: неоднозначному сокращению \"%s\" соответствует и \"%s\", и \"%s\"" -#: command.c:4286 +#: command.c:4414 #, c-format msgid "" "\\pset: allowed formats are aligned, asciidoc, csv, html, latex, latex-" @@ -564,32 +584,41 @@ msgstr "" "\\pset: допустимые форматы: aligned, asciidoc, csv, html, latex, latex-" "longtable, troff-ms, unaligned, wrapped" -#: command.c:4305 +#: command.c:4433 #, c-format msgid "\\pset: allowed line styles are ascii, old-ascii, unicode" msgstr "\\pset: допустимые стили линий: ascii, old-ascii, unicode" -#: command.c:4320 +#: command.c:4448 #, c-format msgid "\\pset: allowed Unicode border line styles are single, double" msgstr "\\pset: допустимые стили Unicode-линий границ: single, double" -#: command.c:4335 +#: command.c:4463 #, c-format msgid "\\pset: allowed Unicode column line styles are single, double" msgstr "\\pset: допустимые стили Unicode-линий столбцов: single, double" -#: command.c:4350 +#: command.c:4478 #, c-format msgid "\\pset: allowed Unicode header line styles are single, double" msgstr "\\pset: допустимые стили Unicode-линий заголовков: single, double" -#: command.c:4393 +#: command.c:4530 +#, c-format +msgid "" +"\\pset: allowed xheader_width values are \"%s\" (default), \"%s\", \"%s\", " +"or a number specifying the exact width" +msgstr "" +"\\pset: допустимые значения xheader_width: \"%s\" (по умолчанию), \"%s\", " +"\"%s\", а также число, задающее точную ширину" + +#: command.c:4547 #, c-format msgid "\\pset: csv_fieldsep must be a single one-byte character" msgstr "\\pset: символ csv_fieldsep должен быть однобайтовым" -#: command.c:4398 +#: command.c:4552 #, c-format msgid "" "\\pset: csv_fieldsep cannot be a double quote, a newline, or a carriage " @@ -598,107 +627,117 @@ msgstr "" "\\pset: в качестве csv_fieldsep нельзя выбрать символ кавычек, новой строки " "или возврата каретки" -#: command.c:4535 command.c:4723 +#: command.c:4690 command.c:4891 #, c-format msgid "\\pset: unknown option: %s" msgstr "неизвестный параметр \\pset: %s" -#: command.c:4555 +#: command.c:4710 #, c-format msgid "Border style is %d.\n" msgstr "Стиль границ: %d.\n" -#: command.c:4561 +#: command.c:4716 #, c-format msgid "Target width is unset.\n" msgstr "Ширина вывода сброшена.\n" -#: command.c:4563 +#: command.c:4718 #, c-format msgid "Target width is %d.\n" msgstr "Ширина вывода: %d.\n" -#: command.c:4570 +#: command.c:4725 #, c-format msgid "Expanded display is on.\n" msgstr "Расширенный вывод включён.\n" -#: command.c:4572 +#: command.c:4727 #, c-format msgid "Expanded display is used automatically.\n" msgstr "Расширенный вывод применяется автоматически.\n" -#: command.c:4574 +#: command.c:4729 #, c-format msgid "Expanded display is off.\n" msgstr "Расширенный вывод выключен.\n" -#: command.c:4580 +#: command.c:4736 command.c:4738 command.c:4740 +#, c-format +msgid "Expanded header width is \"%s\".\n" +msgstr "Ширина расширенного заголовка: \"%s\".\n" + +#: command.c:4742 +#, c-format +msgid "Expanded header width is %d.\n" +msgstr "Ширина расширенного заголовка: %d.\n" + +#: command.c:4748 #, c-format msgid "Field separator for CSV is \"%s\".\n" msgstr "Разделитель полей для CSV: \"%s\".\n" -#: command.c:4588 command.c:4596 +#: command.c:4756 command.c:4764 #, c-format msgid "Field separator is zero byte.\n" msgstr "Разделитель полей - нулевой байт.\n" -#: command.c:4590 +#: command.c:4758 #, c-format msgid "Field separator is \"%s\".\n" msgstr "Разделитель полей: \"%s\".\n" -#: command.c:4603 +#: command.c:4771 #, c-format msgid "Default footer is on.\n" msgstr "Строка итогов включена.\n" -#: command.c:4605 +#: command.c:4773 #, c-format msgid "Default footer is off.\n" msgstr "Строка итогов выключена.\n" -#: command.c:4611 +#: command.c:4779 #, c-format msgid "Output format is %s.\n" msgstr "Формат вывода: %s.\n" -#: command.c:4617 +#: command.c:4785 #, c-format msgid "Line style is %s.\n" msgstr "Установлен стиль линий: %s.\n" -#: command.c:4624 +#: command.c:4792 #, c-format msgid "Null display is \"%s\".\n" msgstr "Null выводится как: \"%s\".\n" -#: command.c:4632 +#: command.c:4800 #, c-format msgid "Locale-adjusted numeric output is on.\n" msgstr "Локализованный вывод чисел включён.\n" -#: command.c:4634 +#: command.c:4802 #, c-format msgid "Locale-adjusted numeric output is off.\n" msgstr "Локализованный вывод чисел выключен.\n" -#: command.c:4641 +#: command.c:4809 #, c-format msgid "Pager is used for long output.\n" msgstr "Постраничник используется для вывода длинного текста.\n" -#: command.c:4643 +#: command.c:4811 #, c-format msgid "Pager is always used.\n" msgstr "Постраничник используется всегда.\n" -#: command.c:4645 +#: command.c:4813 #, c-format msgid "Pager usage is off.\n" msgstr "Постраничник выключен.\n" -#: command.c:4651 +#: command.c:4819 #, c-format msgid "Pager won't be used for less than %d line.\n" msgid_plural "Pager won't be used for less than %d lines.\n" @@ -706,97 +745,97 @@ msgstr[0] "Постраничник не будет использоваться msgstr[1] "Постраничник не будет использоваться, если строк меньше %d\n" msgstr[2] "Постраничник не будет использоваться, если строк меньше %d\n" -#: command.c:4661 command.c:4671 +#: command.c:4829 command.c:4839 #, c-format msgid "Record separator is zero byte.\n" msgstr "Разделитель записей - нулевой байт.\n" -#: command.c:4663 +#: command.c:4831 #, c-format msgid "Record separator is .\n" msgstr "Разделитель записей: <новая строка>.\n" -#: command.c:4665 +#: command.c:4833 #, c-format msgid "Record separator is \"%s\".\n" msgstr "Разделитель записей: \"%s\".\n" -#: command.c:4678 +#: command.c:4846 #, c-format msgid "Table attributes are \"%s\".\n" msgstr "Атрибуты HTML-таблицы: \"%s\".\n" -#: command.c:4681 +#: command.c:4849 #, c-format msgid "Table attributes unset.\n" msgstr "Атрибуты HTML-таблицы не заданы.\n" -#: command.c:4688 +#: command.c:4856 #, c-format msgid "Title is \"%s\".\n" msgstr "Заголовок: \"%s\".\n" -#: command.c:4690 +#: command.c:4858 #, c-format msgid "Title is unset.\n" msgstr "Заголовок не задан.\n" -#: command.c:4697 +#: command.c:4865 #, c-format msgid "Tuples only is on.\n" msgstr "Режим вывода только кортежей включён.\n" -#: command.c:4699 +#: command.c:4867 #, c-format msgid "Tuples only is off.\n" msgstr "Режим вывода только кортежей выключен.\n" -#: command.c:4705 +#: command.c:4873 #, c-format msgid "Unicode border line style is \"%s\".\n" msgstr "Стиль Unicode-линий границ: \"%s\".\n" -#: command.c:4711 +#: command.c:4879 #, c-format msgid "Unicode column line style is \"%s\".\n" msgstr "Стиль Unicode-линий столбцов: \"%s\".\n" -#: command.c:4717 +#: command.c:4885 #, c-format msgid "Unicode header line style is \"%s\".\n" msgstr "Стиль Unicode-линий границ: \"%s\".\n" -#: command.c:4950 +#: command.c:5134 #, c-format msgid "\\!: failed" msgstr "\\!: ошибка" -#: command.c:4984 +#: command.c:5168 #, c-format msgid "\\watch cannot be used with an empty query" msgstr "\\watch нельзя использовать с пустым запросом" -#: command.c:5016 +#: command.c:5200 #, c-format msgid "could not set timer: %m" msgstr "не удалось установить таймер: %m" -#: command.c:5078 +#: command.c:5269 #, c-format msgid "%s\t%s (every %gs)\n" msgstr "%s\t%s (обновление: %g с)\n" -#: command.c:5081 +#: command.c:5272 #, c-format msgid "%s (every %gs)\n" msgstr "%s (обновление: %g с)\n" -#: command.c:5142 +#: command.c:5340 #, c-format msgid "could not wait for signals: %m" msgstr "сбой при ожидании сигналов: %m" -#: command.c:5200 command.c:5207 common.c:572 common.c:579 common.c:1063 +#: command.c:5398 command.c:5405 common.c:592 common.c:599 common.c:1083 #, c-format msgid "" "********* QUERY **********\n" @@ -809,79 +848,79 @@ msgstr "" "**************************\n" "\n" -#: command.c:5386 +#: command.c:5584 #, c-format msgid "\"%s.%s\" is not a view" msgstr "\"%s.%s\" — не представление" -#: command.c:5402 +#: command.c:5600 #, c-format msgid "could not parse reloptions array" msgstr "не удалось разобрать массив reloptions" -#: common.c:166 +#: common.c:167 #, c-format msgid "cannot escape without active connection" msgstr "экранирование строк не работает без подключения к БД" -#: common.c:207 +#: common.c:208 #, c-format msgid "shell command argument contains a newline or carriage return: \"%s\"" msgstr "" "аргумент команды оболочки содержит символ новой строки или перевода каретки: " "\"%s\"" -#: common.c:311 +#: common.c:312 #, c-format msgid "connection to server was lost" msgstr "подключение к серверу было потеряно" -#: common.c:315 +#: common.c:316 #, c-format msgid "The connection to the server was lost. Attempting reset: " msgstr "Подключение к серверу потеряно. Попытка восстановления " -#: common.c:320 +#: common.c:321 #, c-format msgid "Failed.\n" msgstr "неудачна.\n" -#: common.c:337 +#: common.c:338 #, c-format msgid "Succeeded.\n" msgstr "удачна.\n" -#: common.c:389 common.c:1001 +#: common.c:390 common.c:1021 #, c-format msgid "unexpected PQresultStatus: %d" msgstr "неожиданное значение PQresultStatus: %d" -#: common.c:511 +#: common.c:531 #, c-format msgid "Time: %.3f ms\n" msgstr "Время: %.3f мс\n" -#: common.c:526 +#: common.c:546 #, c-format msgid "Time: %.3f ms (%02d:%06.3f)\n" msgstr "Время: %.3f мс (%02d:%06.3f)\n" -#: common.c:535 +#: common.c:555 #, c-format msgid "Time: %.3f ms (%02d:%02d:%06.3f)\n" msgstr "Время: %.3f мс (%02d:%02d:%06.3f)\n" -#: common.c:542 +#: common.c:562 #, c-format msgid "Time: %.3f ms (%.0f d %02d:%02d:%06.3f)\n" msgstr "Время: %.3f мс (%.0f д. %02d:%02d:%06.3f)\n" -#: common.c:566 common.c:623 common.c:1034 describe.c:6135 +#: common.c:586 common.c:643 common.c:1054 describe.c:6214 #, c-format msgid "You are currently not connected to a database." msgstr "В данный момент вы не подключены к базе данных." -#: common.c:654 +#: common.c:674 #, c-format msgid "" "Asynchronous notification \"%s\" with payload \"%s\" received from server " @@ -890,69 +929,69 @@ msgstr "" "Получено асинхронное уведомление \"%s\" с сообщением-нагрузкой \"%s\" от " "серверного процесса с PID %d.\n" -#: common.c:657 +#: common.c:677 #, c-format msgid "" "Asynchronous notification \"%s\" received from server process with PID %d.\n" msgstr "" "Получено асинхронное уведомление \"%s\" от серверного процесса с PID %d.\n" -#: common.c:688 +#: common.c:708 #, c-format msgid "could not print result table: %m" msgstr "не удалось вывести таблицу результатов: %m" -#: common.c:708 +#: common.c:728 #, c-format msgid "no rows returned for \\gset" msgstr "сервер не возвратил строк для \\gset" -#: common.c:713 +#: common.c:733 #, c-format msgid "more than one row returned for \\gset" msgstr "сервер возвратил больше одной строки для \\gset" -#: common.c:731 +#: common.c:751 #, c-format msgid "attempt to \\gset into specially treated variable \"%s\" ignored" msgstr "попытка выполнить \\gset со специальной переменной \"%s\" игнорируется" -#: common.c:1043 +#: common.c:1063 #, c-format msgid "" -"***(Single step mode: verify command)" -"*******************************************\n" +"***(Single step mode: verify " +"command)*******************************************\n" "%s\n" -"***(press return to proceed or enter x and return to cancel)" -"********************\n" +"***(press return to proceed or enter x and return to " +"cancel)********************\n" msgstr "" -"***(Пошаговый режим: проверка команды)" -"******************************************\n" +"***(Пошаговый режим: проверка " +"команды)******************************************\n" "%s\n" "***(Enter - выполнение; x и Enter - отмена)**************\n" -#: common.c:1126 +#: common.c:1146 #, c-format msgid "STATEMENT: %s" msgstr "ОПЕРАТОР: %s" -#: common.c:1162 +#: common.c:1182 #, c-format msgid "unexpected transaction status (%d)" msgstr "неожиданное состояние транзакции (%d)" -#: common.c:1303 describe.c:2020 +#: common.c:1335 describe.c:2026 msgid "Column" msgstr "Столбец" -#: common.c:1304 describe.c:170 describe.c:358 describe.c:376 describe.c:1037 -#: describe.c:1193 describe.c:1725 describe.c:1749 describe.c:2021 -#: describe.c:3891 describe.c:4103 describe.c:4342 describe.c:4504 -#: describe.c:5767 +#: common.c:1336 describe.c:170 describe.c:358 describe.c:376 describe.c:1046 +#: describe.c:1200 describe.c:1732 describe.c:1756 describe.c:2027 +#: describe.c:3958 describe.c:4170 describe.c:4409 describe.c:4571 +#: describe.c:5846 msgid "Type" msgstr "Тип" -#: common.c:1353 +#: common.c:1385 #, c-format msgid "The command has no result, or the result has no columns.\n" msgstr "Команда не выдала результат, либо в результате нет столбцов.\n" @@ -972,46 +1011,41 @@ msgstr "\\copy: ошибка разбора аргумента \"%s\"" msgid "\\copy: parse error at end of line" msgstr "\\copy: ошибка разбора в конце строки" -#: copy.c:328 +#: copy.c:326 #, c-format msgid "could not execute command \"%s\": %m" msgstr "не удалось выполнить команду \"%s\": %m" -#: copy.c:344 +#: copy.c:342 #, c-format msgid "could not stat file \"%s\": %m" msgstr "не удалось получить информацию о файле \"%s\": %m" -#: copy.c:348 +#: copy.c:346 #, c-format msgid "%s: cannot copy from/to a directory" msgstr "COPY FROM/TO не может работать с каталогом (%s)" -#: copy.c:385 +#: copy.c:383 #, c-format msgid "could not close pipe to external command: %m" msgstr "не удалось закрыть канал сообщений с внешней командой: %m" -#: copy.c:390 -#, c-format -msgid "%s: %s" -msgstr "%s: %s" - -#: copy.c:453 copy.c:463 +#: copy.c:451 copy.c:461 #, c-format msgid "could not write COPY data: %m" msgstr "не удалось записать данные COPY: %m" -#: copy.c:469 +#: copy.c:467 #, c-format msgid "COPY data transfer failed: %s" msgstr "ошибка передачи данных COPY: %s" -#: copy.c:530 +#: copy.c:528 msgid "canceled by user" msgstr "отменено пользователем" -#: copy.c:541 +#: copy.c:539 msgid "" "Enter data to be copied followed by a newline.\n" "End with a backslash and a period on a line by itself, or an EOF signal." @@ -1019,11 +1053,11 @@ msgstr "" "Вводите данные для копирования, разделяя строки переводом строки.\n" "Закончите ввод строкой '\\.' или сигналом EOF." -#: copy.c:684 +#: copy.c:682 msgid "aborted because of read failure" msgstr "прерывание из-за ошибки чтения" -#: copy.c:718 +#: copy.c:716 msgid "trying to exit copy mode" msgstr "попытка выйти из режима копирования" @@ -1083,21 +1117,21 @@ msgstr "\\crosstabview: неоднозначное имя столбца: \"%s\" msgid "\\crosstabview: column name not found: \"%s\"" msgstr "\\crosstabview: имя столбца не найдено: \"%s\"" -#: describe.c:87 describe.c:338 describe.c:635 describe.c:812 describe.c:1029 -#: describe.c:1182 describe.c:1257 describe.c:3880 describe.c:4090 -#: describe.c:4340 describe.c:4422 describe.c:4657 describe.c:4866 -#: describe.c:5095 describe.c:5339 describe.c:5409 describe.c:5420 -#: describe.c:5477 describe.c:5881 describe.c:5959 +#: describe.c:87 describe.c:338 describe.c:630 describe.c:807 describe.c:1038 +#: describe.c:1189 describe.c:1264 describe.c:3947 describe.c:4157 +#: describe.c:4407 describe.c:4489 describe.c:4724 describe.c:4932 +#: describe.c:5174 describe.c:5418 describe.c:5488 describe.c:5499 +#: describe.c:5556 describe.c:5960 describe.c:6038 msgid "Schema" msgstr "Схема" -#: describe.c:88 describe.c:167 describe.c:229 describe.c:339 describe.c:636 -#: describe.c:813 describe.c:936 describe.c:1030 describe.c:1258 -#: describe.c:3881 describe.c:4091 describe.c:4256 describe.c:4341 -#: describe.c:4423 describe.c:4586 describe.c:4658 describe.c:4867 -#: describe.c:4967 describe.c:5096 describe.c:5340 describe.c:5410 -#: describe.c:5421 describe.c:5478 describe.c:5677 describe.c:5748 -#: describe.c:5957 describe.c:6186 describe.c:6494 +#: describe.c:88 describe.c:167 describe.c:229 describe.c:339 describe.c:631 +#: describe.c:808 describe.c:930 describe.c:1039 describe.c:1265 +#: describe.c:3948 describe.c:4158 describe.c:4323 describe.c:4408 +#: describe.c:4490 describe.c:4653 describe.c:4725 describe.c:4933 +#: describe.c:5046 describe.c:5175 describe.c:5419 describe.c:5489 +#: describe.c:5500 describe.c:5557 describe.c:5756 describe.c:5827 +#: describe.c:6036 describe.c:6265 describe.c:6573 msgid "Name" msgstr "Имя" @@ -1109,14 +1143,14 @@ msgstr "Тип данных результата" msgid "Argument data types" msgstr "Типы данных аргументов" -#: describe.c:98 describe.c:105 describe.c:178 describe.c:243 describe.c:423 -#: describe.c:667 describe.c:828 describe.c:965 describe.c:1260 -#: describe.c:2041 describe.c:3676 describe.c:3935 describe.c:4137 -#: describe.c:4280 describe.c:4354 describe.c:4432 describe.c:4599 -#: describe.c:4777 describe.c:4903 describe.c:4976 describe.c:5097 -#: describe.c:5248 describe.c:5290 describe.c:5356 describe.c:5413 -#: describe.c:5422 describe.c:5479 describe.c:5695 describe.c:5770 -#: describe.c:5895 describe.c:5960 describe.c:6992 +#: describe.c:98 describe.c:105 describe.c:178 describe.c:243 describe.c:418 +#: describe.c:662 describe.c:823 describe.c:974 describe.c:1267 describe.c:2047 +#: describe.c:3676 describe.c:4002 describe.c:4204 describe.c:4347 +#: describe.c:4421 describe.c:4499 describe.c:4666 describe.c:4844 +#: describe.c:4982 describe.c:5055 describe.c:5176 describe.c:5327 +#: describe.c:5369 describe.c:5435 describe.c:5492 describe.c:5501 +#: describe.c:5558 describe.c:5774 describe.c:5849 describe.c:5974 +#: describe.c:6039 describe.c:7093 msgid "Description" msgstr "Описание" @@ -1133,11 +1167,11 @@ msgstr "Сервер (версия %s) не поддерживает метод msgid "Index" msgstr "Индекс" -#: describe.c:169 describe.c:3899 describe.c:4116 describe.c:5882 +#: describe.c:169 describe.c:3966 describe.c:4183 describe.c:5961 msgid "Table" msgstr "Таблица" -#: describe.c:177 describe.c:5679 +#: describe.c:177 describe.c:5758 msgid "Handler" msgstr "Обработчик" @@ -1145,11 +1179,11 @@ msgstr "Обработчик" msgid "List of access methods" msgstr "Список методов доступа" -#: describe.c:230 describe.c:404 describe.c:660 describe.c:937 describe.c:1181 -#: describe.c:3892 describe.c:4092 describe.c:4257 describe.c:4588 -#: describe.c:4968 describe.c:5678 describe.c:5749 describe.c:6187 -#: describe.c:6375 describe.c:6495 describe.c:6632 describe.c:6718 -#: describe.c:6980 +#: describe.c:230 describe.c:404 describe.c:655 describe.c:931 describe.c:1188 +#: describe.c:3959 describe.c:4159 describe.c:4324 describe.c:4655 +#: describe.c:5047 describe.c:5757 describe.c:5828 describe.c:6266 +#: describe.c:6454 describe.c:6574 describe.c:6733 describe.c:6819 +#: describe.c:7081 msgid "Owner" msgstr "Владелец" @@ -1157,11 +1191,11 @@ msgstr "Владелец" msgid "Location" msgstr "Расположение" -#: describe.c:241 describe.c:3509 +#: describe.c:241 describe.c:3517 describe.c:3858 msgid "Options" msgstr "Параметры" -#: describe.c:242 describe.c:658 describe.c:963 describe.c:3934 +#: describe.c:242 describe.c:653 describe.c:972 describe.c:4001 msgid "Size" msgstr "Размер" @@ -1198,7 +1232,7 @@ msgstr "проц." msgid "func" msgstr "функ." -#: describe.c:374 describe.c:1390 +#: describe.c:374 describe.c:1397 msgid "trigger" msgstr "триггерная" @@ -1250,571 +1284,567 @@ msgstr "Безопасность" msgid "Language" msgstr "Язык" -#: describe.c:416 describe.c:420 -msgid "Source code" -msgstr "Исходный код" +#: describe.c:415 describe.c:652 +msgid "Internal name" +msgstr "Внутреннее имя" -#: describe.c:594 +#: describe.c:589 msgid "List of functions" msgstr "Список функций" -#: describe.c:657 -msgid "Internal name" -msgstr "Внутреннее имя" - -#: describe.c:659 +#: describe.c:654 msgid "Elements" msgstr "Элементы" -#: describe.c:711 +#: describe.c:706 msgid "List of data types" msgstr "Список типов данных" -#: describe.c:814 +#: describe.c:809 msgid "Left arg type" msgstr "Тип левого аргумента" -#: describe.c:815 +#: describe.c:810 msgid "Right arg type" msgstr "Тип правого аргумента" -#: describe.c:816 +#: describe.c:811 msgid "Result type" msgstr "Результирующий тип" -#: describe.c:821 describe.c:4594 describe.c:4760 describe.c:5247 -#: describe.c:6909 describe.c:6913 +#: describe.c:816 describe.c:4661 describe.c:4827 describe.c:5326 +#: describe.c:7010 describe.c:7014 msgid "Function" msgstr "Функция" -#: describe.c:902 +#: describe.c:897 msgid "List of operators" msgstr "Список операторов" -#: describe.c:938 +#: describe.c:932 msgid "Encoding" msgstr "Кодировка" -#: describe.c:939 describe.c:4868 +#: describe.c:936 describe.c:940 +msgid "Locale Provider" +msgstr "Провайдер локали" + +#: describe.c:944 describe.c:4947 msgid "Collate" msgstr "LC_COLLATE" -#: describe.c:940 describe.c:4869 +#: describe.c:945 describe.c:4948 msgid "Ctype" msgstr "LC_CTYPE" -#: describe.c:945 describe.c:951 describe.c:4874 describe.c:4878 +#: describe.c:949 describe.c:953 describe.c:4953 describe.c:4957 msgid "ICU Locale" msgstr "локаль ICU" -#: describe.c:946 describe.c:952 -msgid "Locale Provider" -msgstr "Провайдер локали" +#: describe.c:957 describe.c:961 describe.c:4962 describe.c:4966 +msgid "ICU Rules" +msgstr "Правила ICU" -#: describe.c:964 +#: describe.c:973 msgid "Tablespace" msgstr "Табл. пространство" -#: describe.c:990 +#: describe.c:999 msgid "List of databases" msgstr "Список баз данных" -#: describe.c:1031 describe.c:1184 describe.c:3882 +#: describe.c:1040 describe.c:1191 describe.c:3949 msgid "table" msgstr "таблица" -#: describe.c:1032 describe.c:3883 +#: describe.c:1041 describe.c:3950 msgid "view" msgstr "представление" -#: describe.c:1033 describe.c:3884 +#: describe.c:1042 describe.c:3951 msgid "materialized view" msgstr "материализованное представление" -#: describe.c:1034 describe.c:1186 describe.c:3886 +#: describe.c:1043 describe.c:1193 describe.c:3953 msgid "sequence" msgstr "последовательность" -#: describe.c:1035 describe.c:3888 +#: describe.c:1044 describe.c:3955 msgid "foreign table" msgstr "сторонняя таблица" -#: describe.c:1036 describe.c:3889 describe.c:4101 +#: describe.c:1045 describe.c:3956 describe.c:4168 msgid "partitioned table" msgstr "секционированная таблица" -#: describe.c:1047 +#: describe.c:1056 msgid "Column privileges" msgstr "Права для столбцов" -#: describe.c:1078 describe.c:1112 +#: describe.c:1087 describe.c:1121 msgid "Policies" msgstr "Политики" -#: describe.c:1143 describe.c:4510 describe.c:6577 +#: describe.c:1150 describe.c:4577 describe.c:6678 msgid "Access privileges" msgstr "Права доступа" -#: describe.c:1188 +#: describe.c:1195 msgid "function" msgstr "функция" -#: describe.c:1190 +#: describe.c:1197 msgid "type" msgstr "тип" -#: describe.c:1192 +#: describe.c:1199 msgid "schema" msgstr "схема" -#: describe.c:1215 +#: describe.c:1222 msgid "Default access privileges" msgstr "Права доступа по умолчанию" -#: describe.c:1259 +#: describe.c:1266 msgid "Object" msgstr "Объект" -#: describe.c:1273 +#: describe.c:1280 msgid "table constraint" msgstr "ограничение таблицы" -#: describe.c:1297 +#: describe.c:1304 msgid "domain constraint" msgstr "ограничение домена" -#: describe.c:1321 +#: describe.c:1328 msgid "operator class" msgstr "класс операторов" -#: describe.c:1345 +#: describe.c:1352 msgid "operator family" msgstr "семейство операторов" -#: describe.c:1368 +#: describe.c:1375 msgid "rule" msgstr "правило" -#: describe.c:1414 +#: describe.c:1421 msgid "Object descriptions" msgstr "Описание объекта" -#: describe.c:1479 describe.c:4007 +#: describe.c:1486 describe.c:4074 #, c-format msgid "Did not find any relation named \"%s\"." msgstr "Отношение \"%s\" не найдено." -#: describe.c:1482 describe.c:4010 +#: describe.c:1489 describe.c:4077 #, c-format msgid "Did not find any relations." msgstr "Отношения не найдены." -#: describe.c:1678 +#: describe.c:1685 #, c-format msgid "Did not find any relation with OID %s." msgstr "Отношение с OID %s не найдено." -#: describe.c:1726 describe.c:1750 +#: describe.c:1733 describe.c:1757 msgid "Start" msgstr "Начальное_значение" -#: describe.c:1727 describe.c:1751 +#: describe.c:1734 describe.c:1758 msgid "Minimum" msgstr "Минимум" -#: describe.c:1728 describe.c:1752 +#: describe.c:1735 describe.c:1759 msgid "Maximum" msgstr "Максимум" -#: describe.c:1729 describe.c:1753 +#: describe.c:1736 describe.c:1760 msgid "Increment" msgstr "Шаг" -#: describe.c:1730 describe.c:1754 describe.c:1884 describe.c:4426 -#: describe.c:4771 describe.c:4892 describe.c:4897 describe.c:6620 +#: describe.c:1737 describe.c:1761 describe.c:1890 describe.c:4493 +#: describe.c:4838 describe.c:4971 describe.c:4976 describe.c:6721 msgid "yes" msgstr "да" -#: describe.c:1731 describe.c:1755 describe.c:1885 describe.c:4426 -#: describe.c:4768 describe.c:4892 describe.c:6621 +#: describe.c:1738 describe.c:1762 describe.c:1891 describe.c:4493 +#: describe.c:4835 describe.c:4971 describe.c:6722 msgid "no" msgstr "нет" -#: describe.c:1732 describe.c:1756 +#: describe.c:1739 describe.c:1763 msgid "Cycles?" msgstr "Зацикливается?" -#: describe.c:1733 describe.c:1757 +#: describe.c:1740 describe.c:1764 msgid "Cache" msgstr "Кешируется" -#: describe.c:1798 +#: describe.c:1805 #, c-format msgid "Owned by: %s" msgstr "Владелец: %s" -#: describe.c:1802 +#: describe.c:1809 #, c-format msgid "Sequence for identity column: %s" msgstr "Последовательность для столбца идентификации: %s" -#: describe.c:1810 +#: describe.c:1817 #, c-format msgid "Unlogged sequence \"%s.%s\"" msgstr "Нежурналируемая последовательность \"%s.%s\"" -#: describe.c:1813 +#: describe.c:1820 #, c-format msgid "Sequence \"%s.%s\"" msgstr "Последовательность \"%s.%s\"" -#: describe.c:1957 +#: describe.c:1963 #, c-format msgid "Unlogged table \"%s.%s\"" msgstr "Нежурналируемая таблица \"%s.%s\"" -#: describe.c:1960 +#: describe.c:1966 #, c-format msgid "Table \"%s.%s\"" msgstr "Таблица \"%s.%s\"" -#: describe.c:1964 +#: describe.c:1970 #, c-format msgid "View \"%s.%s\"" msgstr "Представление \"%s.%s\"" -#: describe.c:1969 +#: describe.c:1975 #, c-format msgid "Unlogged materialized view \"%s.%s\"" msgstr "Нежурналируемое материализованное представление \"%s.%s\"" -#: describe.c:1972 +#: describe.c:1978 #, c-format msgid "Materialized view \"%s.%s\"" msgstr "Материализованное представление \"%s.%s\"" -#: describe.c:1977 +#: describe.c:1983 #, c-format msgid "Unlogged index \"%s.%s\"" msgstr "Нежурналируемый индекс \"%s.%s\"" -#: describe.c:1980 +#: describe.c:1986 #, c-format msgid "Index \"%s.%s\"" msgstr "Индекс \"%s.%s\"" -#: describe.c:1985 +#: describe.c:1991 #, c-format msgid "Unlogged partitioned index \"%s.%s\"" msgstr "Нежурналируемый секционированный индекс \"%s.%s\"" -#: describe.c:1988 +#: describe.c:1994 #, c-format msgid "Partitioned index \"%s.%s\"" msgstr "Секционированный индекс \"%s.%s\"" -#: describe.c:1992 +#: describe.c:1998 #, c-format msgid "TOAST table \"%s.%s\"" msgstr "TOAST-таблица \"%s.%s\"" -#: describe.c:1996 +#: describe.c:2002 #, c-format msgid "Composite type \"%s.%s\"" msgstr "Составной тип \"%s.%s\"" -#: describe.c:2000 +#: describe.c:2006 #, c-format msgid "Foreign table \"%s.%s\"" msgstr "Сторонняя таблица \"%s.%s\"" -#: describe.c:2005 +#: describe.c:2011 #, c-format msgid "Unlogged partitioned table \"%s.%s\"" msgstr "Нежурналируемая секционированная таблица \"%s.%s\"" -#: describe.c:2008 +#: describe.c:2014 #, c-format msgid "Partitioned table \"%s.%s\"" msgstr "Секционированная таблица \"%s.%s\"" -#: describe.c:2024 describe.c:4343 +#: describe.c:2030 describe.c:4410 msgid "Collation" msgstr "Правило сортировки" -#: describe.c:2025 describe.c:4344 +#: describe.c:2031 describe.c:4411 msgid "Nullable" msgstr "Допустимость NULL" -#: describe.c:2026 describe.c:4345 +#: describe.c:2032 describe.c:4412 msgid "Default" msgstr "По умолчанию" -#: describe.c:2029 +#: describe.c:2035 msgid "Key?" msgstr "Ключевой?" -#: describe.c:2031 describe.c:4665 describe.c:4676 +#: describe.c:2037 describe.c:4732 describe.c:4743 msgid "Definition" msgstr "Определение" # well-spelled: ОСД -#: describe.c:2033 describe.c:5694 describe.c:5769 describe.c:5835 -#: describe.c:5894 +#: describe.c:2039 describe.c:5773 describe.c:5848 describe.c:5914 +#: describe.c:5973 msgid "FDW options" msgstr "Параметры ОСД" -#: describe.c:2035 +#: describe.c:2041 msgid "Storage" msgstr "Хранилище" -#: describe.c:2037 +#: describe.c:2043 msgid "Compression" msgstr "Сжатие" -#: describe.c:2039 +#: describe.c:2045 msgid "Stats target" msgstr "Цель для статистики" -#: describe.c:2175 +#: describe.c:2181 #, c-format msgid "Partition of: %s %s%s" msgstr "Секция: %s %s%s" -#: describe.c:2188 +#: describe.c:2194 msgid "No partition constraint" msgstr "Нет ограничения секции" -#: describe.c:2190 +#: describe.c:2196 #, c-format msgid "Partition constraint: %s" msgstr "Ограничение секции: %s" -#: describe.c:2214 +#: describe.c:2220 #, c-format msgid "Partition key: %s" msgstr "Ключ разбиения: %s" -#: describe.c:2240 +#: describe.c:2246 #, c-format msgid "Owning table: \"%s.%s\"" msgstr "Принадлежит таблице: \"%s.%s\"" -#: describe.c:2309 +#: describe.c:2315 msgid "primary key, " msgstr "первичный ключ, " -#: describe.c:2312 +#: describe.c:2318 msgid "unique" msgstr "уникальный" -#: describe.c:2314 +#: describe.c:2320 msgid " nulls not distinct" msgstr " null не различаются" -#: describe.c:2315 +#: describe.c:2321 msgid ", " msgstr ", " -#: describe.c:2322 +#: describe.c:2328 #, c-format msgid "for table \"%s.%s\"" msgstr "для таблицы \"%s.%s\"" -#: describe.c:2326 +#: describe.c:2332 #, c-format msgid ", predicate (%s)" msgstr ", предикат (%s)" -#: describe.c:2329 +#: describe.c:2335 msgid ", clustered" msgstr ", кластеризованный" -#: describe.c:2332 +#: describe.c:2338 msgid ", invalid" msgstr ", нерабочий" -#: describe.c:2335 +#: describe.c:2341 msgid ", deferrable" msgstr ", откладываемый" -#: describe.c:2338 +#: describe.c:2344 msgid ", initially deferred" msgstr ", изначально отложенный" -#: describe.c:2341 +#: describe.c:2347 msgid ", replica identity" msgstr ", репликационный" -#: describe.c:2395 +#: describe.c:2401 msgid "Indexes:" msgstr "Индексы:" -#: describe.c:2478 +#: describe.c:2484 msgid "Check constraints:" msgstr "Ограничения-проверки:" # TO REWVIEW -#: describe.c:2546 +#: describe.c:2552 msgid "Foreign-key constraints:" msgstr "Ограничения внешнего ключа:" -#: describe.c:2609 +#: describe.c:2615 msgid "Referenced by:" msgstr "Ссылки извне:" -#: describe.c:2659 +#: describe.c:2665 msgid "Policies:" msgstr "Политики:" -#: describe.c:2662 +#: describe.c:2668 msgid "Policies (forced row security enabled):" msgstr "Политики (усиленная защита строк включена):" -#: describe.c:2665 +#: describe.c:2671 msgid "Policies (row security enabled): (none)" msgstr "Политики (защита строк включена): (Нет)" -#: describe.c:2668 +#: describe.c:2674 msgid "Policies (forced row security enabled): (none)" msgstr "Политики (усиленная защита строк включена): (Нет)" -#: describe.c:2671 +#: describe.c:2677 msgid "Policies (row security disabled):" msgstr "Политики (защита строк выключена):" -#: describe.c:2731 describe.c:2835 +#: describe.c:2737 describe.c:2841 msgid "Statistics objects:" msgstr "Объекты статистики:" -#: describe.c:2937 describe.c:3090 +#: describe.c:2943 describe.c:3096 msgid "Rules:" msgstr "Правила:" -#: describe.c:2940 +#: describe.c:2946 msgid "Disabled rules:" msgstr "Отключённые правила:" -#: describe.c:2943 +#: describe.c:2949 msgid "Rules firing always:" msgstr "Правила, срабатывающие всегда:" -#: describe.c:2946 +#: describe.c:2952 msgid "Rules firing on replica only:" msgstr "Правила, срабатывающие только в реплике:" -#: describe.c:3025 describe.c:5030 +#: describe.c:3031 describe.c:5109 msgid "Publications:" msgstr "Публикации:" -#: describe.c:3073 +#: describe.c:3079 msgid "View definition:" msgstr "Определение представления:" -#: describe.c:3236 +#: describe.c:3242 msgid "Triggers:" msgstr "Триггеры:" -#: describe.c:3239 +#: describe.c:3245 msgid "Disabled user triggers:" msgstr "Отключённые пользовательские триггеры:" -#: describe.c:3242 +#: describe.c:3248 msgid "Disabled internal triggers:" msgstr "Отключённые внутренние триггеры:" -#: describe.c:3245 +#: describe.c:3251 msgid "Triggers firing always:" msgstr "Триггеры, срабатывающие всегда:" -#: describe.c:3248 +#: describe.c:3254 msgid "Triggers firing on replica only:" msgstr "Триггеры, срабатывающие только в реплике:" -#: describe.c:3319 +#: describe.c:3325 #, c-format msgid "Server: %s" msgstr "Сервер: %s" # well-spelled: ОСД -#: describe.c:3327 +#: describe.c:3333 #, c-format msgid "FDW options: (%s)" msgstr "Параметр ОСД: (%s)" -#: describe.c:3348 +#: describe.c:3354 msgid "Inherits" msgstr "Наследует" -#: describe.c:3413 +#: describe.c:3419 #, c-format msgid "Number of partitions: %d" msgstr "Число секций: %d" -#: describe.c:3422 +#: describe.c:3428 #, c-format msgid "Number of partitions: %d (Use \\d+ to list them.)" msgstr "Число секций: %d (чтобы просмотреть их, введите \\d+)" -#: describe.c:3424 +#: describe.c:3430 #, c-format msgid "Number of child tables: %d (Use \\d+ to list them.)" msgstr "Дочерних таблиц: %d (чтобы просмотреть и их, воспользуйтесь \\d+)" -#: describe.c:3431 +#: describe.c:3437 msgid "Child tables" msgstr "Дочерние таблицы" -#: describe.c:3431 +#: describe.c:3437 msgid "Partitions" msgstr "Секции" -#: describe.c:3462 +#: describe.c:3470 #, c-format msgid "Typed table of type: %s" msgstr "Типизированная таблица типа: %s" -#: describe.c:3478 +#: describe.c:3486 msgid "Replica Identity" msgstr "Идентификация реплики" -#: describe.c:3491 +#: describe.c:3499 msgid "Has OIDs: yes" msgstr "Содержит OID: да" -#: describe.c:3500 +#: describe.c:3508 #, c-format msgid "Access method: %s" msgstr "Метод доступа: %s" -#: describe.c:3579 +#: describe.c:3585 #, c-format msgid "Tablespace: \"%s\"" msgstr "Табличное пространство: \"%s\"" #. translator: before this string there's an index description like #. '"foo_pkey" PRIMARY KEY, btree (a)' -#: describe.c:3591 +#: describe.c:3597 #, c-format msgid ", tablespace \"%s\"" msgstr ", табл. пространство \"%s\"" -#: describe.c:3668 +#: describe.c:3670 msgid "List of roles" msgstr "Список ролей" -#: describe.c:3670 +#: describe.c:3672 describe.c:3841 msgid "Role name" msgstr "Имя роли" -#: describe.c:3671 +#: describe.c:3673 msgid "Attributes" msgstr "Атрибуты" -#: describe.c:3673 -msgid "Member of" -msgstr "Член ролей" - #: describe.c:3684 msgid "Superuser" msgstr "Суперпользователь" @@ -1859,385 +1889,397 @@ msgstr[2] "%d подключений" msgid "Password valid until " msgstr "Пароль действует до " -#: describe.c:3777 +#: describe.c:3775 msgid "Role" msgstr "Роль" -#: describe.c:3778 +#: describe.c:3776 msgid "Database" msgstr "БД" -#: describe.c:3779 +#: describe.c:3777 msgid "Settings" msgstr "Параметры" -#: describe.c:3803 +#: describe.c:3801 #, c-format msgid "Did not find any settings for role \"%s\" and database \"%s\"." msgstr "Параметры для роли \"%s\" и базы данных \"%s\" не найдены." -#: describe.c:3806 +#: describe.c:3804 #, c-format msgid "Did not find any settings for role \"%s\"." msgstr "Параметры для роли \"%s\" не найдены." -#: describe.c:3809 +#: describe.c:3807 #, c-format msgid "Did not find any settings." msgstr "Никакие параметры не найдены." -#: describe.c:3814 +#: describe.c:3812 msgid "List of settings" msgstr "Список параметров" -#: describe.c:3885 +#: describe.c:3842 +msgid "Member of" +msgstr "Член ролей" + +#: describe.c:3859 +msgid "Grantor" +msgstr "Праводатель" + +#: describe.c:3886 +msgid "List of role grants" +msgstr "Список назначений ролей" + +#: describe.c:3952 msgid "index" msgstr "индекс" -#: describe.c:3887 +#: describe.c:3954 msgid "TOAST table" msgstr "TOAST-таблица" -#: describe.c:3890 describe.c:4102 +#: describe.c:3957 describe.c:4169 msgid "partitioned index" msgstr "секционированный индекс" -#: describe.c:3910 +#: describe.c:3977 msgid "permanent" msgstr "постоянное" -#: describe.c:3911 +#: describe.c:3978 msgid "temporary" msgstr "временное" -#: describe.c:3912 +#: describe.c:3979 msgid "unlogged" msgstr "нежурналируемое" -#: describe.c:3913 +#: describe.c:3980 msgid "Persistence" msgstr "Хранение" -#: describe.c:3929 +#: describe.c:3996 msgid "Access method" msgstr "Метод доступа" -#: describe.c:4015 +#: describe.c:4082 msgid "List of relations" msgstr "Список отношений" -#: describe.c:4063 +#: describe.c:4130 #, c-format msgid "" "The server (version %s) does not support declarative table partitioning." msgstr "" "Сервер (версия %s) не поддерживает декларативное секционирование таблиц." -#: describe.c:4074 +#: describe.c:4141 msgid "List of partitioned indexes" msgstr "Список секционированных индексов" -#: describe.c:4076 +#: describe.c:4143 msgid "List of partitioned tables" msgstr "Список секционированных таблиц" -#: describe.c:4080 +#: describe.c:4147 msgid "List of partitioned relations" msgstr "Список секционированных отношений" -#: describe.c:4111 +#: describe.c:4178 msgid "Parent name" msgstr "Имя родителя" -#: describe.c:4124 +#: describe.c:4191 msgid "Leaf partition size" msgstr "Размер конечной секции" -#: describe.c:4127 describe.c:4133 +#: describe.c:4194 describe.c:4200 msgid "Total size" msgstr "Общий размер" -#: describe.c:4258 +#: describe.c:4325 msgid "Trusted" msgstr "Доверенный" -#: describe.c:4267 +#: describe.c:4334 msgid "Internal language" msgstr "Внутренний язык" -#: describe.c:4268 +#: describe.c:4335 msgid "Call handler" msgstr "Обработчик вызова" -#: describe.c:4269 describe.c:5680 +#: describe.c:4336 describe.c:5759 msgid "Validator" msgstr "Функция проверки" -#: describe.c:4270 +#: describe.c:4337 msgid "Inline handler" msgstr "Обработчик внедрённого кода" -#: describe.c:4305 +#: describe.c:4372 msgid "List of languages" msgstr "Список языков" -#: describe.c:4346 +#: describe.c:4413 msgid "Check" msgstr "Проверка" -#: describe.c:4390 +#: describe.c:4457 msgid "List of domains" msgstr "Список доменов" -#: describe.c:4424 +#: describe.c:4491 msgid "Source" msgstr "Источник" -#: describe.c:4425 +#: describe.c:4492 msgid "Destination" msgstr "Назначение" -#: describe.c:4427 describe.c:6622 +#: describe.c:4494 describe.c:6723 msgid "Default?" msgstr "По умолчанию?" -#: describe.c:4469 +#: describe.c:4536 msgid "List of conversions" msgstr "Список преобразований" -#: describe.c:4497 +#: describe.c:4564 msgid "Parameter" msgstr "Параметр" -#: describe.c:4498 +#: describe.c:4565 msgid "Value" msgstr "Значение" -#: describe.c:4505 +#: describe.c:4572 msgid "Context" msgstr "Контекст" -#: describe.c:4538 +#: describe.c:4605 msgid "List of configuration parameters" msgstr "Список параметров конфигурации" -#: describe.c:4540 +#: describe.c:4607 msgid "List of non-default configuration parameters" msgstr "Список изменённых параметров конфигурации" -#: describe.c:4567 +#: describe.c:4634 #, c-format msgid "The server (version %s) does not support event triggers." msgstr "Сервер (версия %s) не поддерживает событийные триггеры." -#: describe.c:4587 +#: describe.c:4654 msgid "Event" msgstr "Событие" -#: describe.c:4589 +#: describe.c:4656 msgid "enabled" msgstr "включён" -#: describe.c:4590 +#: describe.c:4657 msgid "replica" msgstr "реплика" -#: describe.c:4591 +#: describe.c:4658 msgid "always" msgstr "всегда" -#: describe.c:4592 +#: describe.c:4659 msgid "disabled" msgstr "отключён" -#: describe.c:4593 describe.c:6496 +#: describe.c:4660 describe.c:6575 msgid "Enabled" msgstr "Включён" -#: describe.c:4595 +#: describe.c:4662 msgid "Tags" msgstr "Теги" -#: describe.c:4619 +#: describe.c:4686 msgid "List of event triggers" msgstr "Список событийных триггеров" -#: describe.c:4646 +#: describe.c:4713 #, c-format msgid "The server (version %s) does not support extended statistics." msgstr "Сервер (версия %s) не поддерживает расширенные статистики." -#: describe.c:4683 +#: describe.c:4750 msgid "Ndistinct" msgstr "Ndistinct" -#: describe.c:4684 +#: describe.c:4751 msgid "Dependencies" msgstr "Зависимости" -#: describe.c:4694 +#: describe.c:4761 msgid "MCV" msgstr "MCV" -#: describe.c:4718 +#: describe.c:4785 msgid "List of extended statistics" msgstr "Список расширенных статистик" -#: describe.c:4745 +#: describe.c:4812 msgid "Source type" msgstr "Исходный тип" -#: describe.c:4746 +#: describe.c:4813 msgid "Target type" msgstr "Целевой тип" -#: describe.c:4770 +#: describe.c:4837 msgid "in assignment" msgstr "в присваивании" -#: describe.c:4772 +#: describe.c:4839 msgid "Implicit?" msgstr "Неявное?" -#: describe.c:4831 +#: describe.c:4898 msgid "List of casts" msgstr "Список приведений типов" -#: describe.c:4883 describe.c:4887 +#: describe.c:4938 describe.c:4942 msgid "Provider" msgstr "Провайдер" -#: describe.c:4893 describe.c:4898 +#: describe.c:4972 describe.c:4977 msgid "Deterministic?" msgstr "Детерминированное?" -#: describe.c:4938 +#: describe.c:5017 msgid "List of collations" msgstr "Список правил сортировки" -#: describe.c:5000 +#: describe.c:5079 msgid "List of schemas" msgstr "Список схем" -#: describe.c:5117 +#: describe.c:5196 msgid "List of text search parsers" msgstr "Список анализаторов текстового поиска" -#: describe.c:5167 +#: describe.c:5246 #, c-format msgid "Did not find any text search parser named \"%s\"." msgstr "Анализатор текстового поиска \"%s\" не найден." -#: describe.c:5170 +#: describe.c:5249 #, c-format msgid "Did not find any text search parsers." msgstr "Никакие анализаторы текстового поиска не найдены." -#: describe.c:5245 +#: describe.c:5324 msgid "Start parse" msgstr "Начало разбора" -#: describe.c:5246 +#: describe.c:5325 msgid "Method" msgstr "Метод" -#: describe.c:5250 +#: describe.c:5329 msgid "Get next token" msgstr "Получение следующего фрагмента" -#: describe.c:5252 +#: describe.c:5331 msgid "End parse" msgstr "Окончание разбора" -#: describe.c:5254 +#: describe.c:5333 msgid "Get headline" msgstr "Получение выдержки" -#: describe.c:5256 +#: describe.c:5335 msgid "Get token types" msgstr "Получение типов фрагментов" -#: describe.c:5267 +#: describe.c:5346 #, c-format msgid "Text search parser \"%s.%s\"" msgstr "Анализатор текстового поиска \"%s.%s\"" -#: describe.c:5270 +#: describe.c:5349 #, c-format msgid "Text search parser \"%s\"" msgstr "Анализатор текстового поиска \"%s\"" -#: describe.c:5289 +#: describe.c:5368 msgid "Token name" msgstr "Имя фрагмента" -#: describe.c:5303 +#: describe.c:5382 #, c-format msgid "Token types for parser \"%s.%s\"" msgstr "Типы фрагментов для анализатора \"%s.%s\"" -#: describe.c:5306 +#: describe.c:5385 #, c-format msgid "Token types for parser \"%s\"" msgstr "Типы фрагментов для анализатора \"%s\"" -#: describe.c:5350 +#: describe.c:5429 msgid "Template" msgstr "Шаблон" -#: describe.c:5351 +#: describe.c:5430 msgid "Init options" msgstr "Параметры инициализации" -#: describe.c:5378 +#: describe.c:5457 msgid "List of text search dictionaries" msgstr "Список словарей текстового поиска" -#: describe.c:5411 +#: describe.c:5490 msgid "Init" msgstr "Инициализация" -#: describe.c:5412 +#: describe.c:5491 msgid "Lexize" msgstr "Выделение лексем" -#: describe.c:5444 +#: describe.c:5523 msgid "List of text search templates" msgstr "Список шаблонов текстового поиска" -#: describe.c:5499 +#: describe.c:5578 msgid "List of text search configurations" msgstr "Список конфигураций текстового поиска" -#: describe.c:5550 +#: describe.c:5629 #, c-format msgid "Did not find any text search configuration named \"%s\"." msgstr "Конфигурация текстового поиска \"%s\" не найдена." -#: describe.c:5553 +#: describe.c:5632 #, c-format msgid "Did not find any text search configurations." msgstr "Никакие конфигурации текстового поиска не найдены." -#: describe.c:5619 +#: describe.c:5698 msgid "Token" msgstr "Фрагмент" -#: describe.c:5620 +#: describe.c:5699 msgid "Dictionaries" msgstr "Словари" -#: describe.c:5631 +#: describe.c:5710 #, c-format msgid "Text search configuration \"%s.%s\"" msgstr "Конфигурация текстового поиска \"%s.%s\"" -#: describe.c:5634 +#: describe.c:5713 #, c-format msgid "Text search configuration \"%s\"" msgstr "Конфигурация текстового поиска \"%s\"" -#: describe.c:5638 +#: describe.c:5717 #, c-format msgid "" "\n" @@ -2246,7 +2288,7 @@ msgstr "" "\n" "Анализатор: \"%s.%s\"" -#: describe.c:5641 +#: describe.c:5720 #, c-format msgid "" "\n" @@ -2255,249 +2297,261 @@ msgstr "" "\n" "Анализатор: \"%s\"" -#: describe.c:5722 +#: describe.c:5801 msgid "List of foreign-data wrappers" msgstr "Список обёрток сторонних данных" -#: describe.c:5750 +#: describe.c:5829 msgid "Foreign-data wrapper" msgstr "Обёртка сторонних данных" -#: describe.c:5768 describe.c:5958 +#: describe.c:5847 describe.c:6037 msgid "Version" msgstr "Версия" -#: describe.c:5799 +#: describe.c:5878 msgid "List of foreign servers" msgstr "Список сторонних серверов" -#: describe.c:5824 describe.c:5883 +#: describe.c:5903 describe.c:5962 msgid "Server" msgstr "Сервер" -#: describe.c:5825 +#: describe.c:5904 msgid "User name" msgstr "Имя пользователя" -#: describe.c:5855 +#: describe.c:5934 msgid "List of user mappings" msgstr "Список сопоставлений пользователей" -#: describe.c:5928 +#: describe.c:6007 msgid "List of foreign tables" msgstr "Список сторонних таблиц" -#: describe.c:5980 +#: describe.c:6059 msgid "List of installed extensions" msgstr "Список установленных расширений" -#: describe.c:6028 +#: describe.c:6107 #, c-format msgid "Did not find any extension named \"%s\"." msgstr "Расширение \"%s\" не найдено." -#: describe.c:6031 +#: describe.c:6110 #, c-format msgid "Did not find any extensions." msgstr "Никакие расширения не найдены." -#: describe.c:6075 +#: describe.c:6154 msgid "Object description" msgstr "Описание объекта" -#: describe.c:6085 +#: describe.c:6164 #, c-format msgid "Objects in extension \"%s\"" msgstr "Объекты в расширении \"%s\"" -#: describe.c:6126 +#: describe.c:6205 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "неверное полное имя (слишком много компонентов): %s" -#: describe.c:6140 +#: describe.c:6219 #, c-format msgid "cross-database references are not implemented: %s" msgstr "ссылки между базами не реализованы: %s" -#: describe.c:6171 describe.c:6298 +#: describe.c:6250 describe.c:6377 #, c-format msgid "The server (version %s) does not support publications." msgstr "Сервер (версия %s) не поддерживает публикации." -#: describe.c:6188 describe.c:6376 +#: describe.c:6267 describe.c:6455 msgid "All tables" msgstr "Все таблицы" -#: describe.c:6189 describe.c:6377 +#: describe.c:6268 describe.c:6456 msgid "Inserts" msgstr "Добавления" -#: describe.c:6190 describe.c:6378 +#: describe.c:6269 describe.c:6457 msgid "Updates" msgstr "Изменения" -#: describe.c:6191 describe.c:6379 +#: describe.c:6270 describe.c:6458 msgid "Deletes" msgstr "Удаления" -#: describe.c:6195 describe.c:6381 +#: describe.c:6274 describe.c:6460 msgid "Truncates" msgstr "Опустошения" -#: describe.c:6199 describe.c:6383 +#: describe.c:6278 describe.c:6462 msgid "Via root" msgstr "Через корень" -#: describe.c:6221 +#: describe.c:6300 msgid "List of publications" msgstr "Список публикаций" -#: describe.c:6345 +#: describe.c:6424 #, c-format msgid "Did not find any publication named \"%s\"." msgstr "Публикация \"%s\" не найдена." -#: describe.c:6348 +#: describe.c:6427 #, c-format msgid "Did not find any publications." msgstr "Никакие публикации не найдены." -#: describe.c:6372 +#: describe.c:6451 #, c-format msgid "Publication %s" msgstr "Публикация %s" -#: describe.c:6425 +#: describe.c:6504 msgid "Tables:" msgstr "Таблицы:" -#: describe.c:6437 +#: describe.c:6516 msgid "Tables from schemas:" msgstr "Таблицы из схем:" -#: describe.c:6481 +#: describe.c:6560 #, c-format msgid "The server (version %s) does not support subscriptions." msgstr "Сервер (версия %s) не поддерживает подписки." -#: describe.c:6497 +#: describe.c:6576 msgid "Publication" msgstr "Публикация" -#: describe.c:6506 +#: describe.c:6585 msgid "Binary" msgstr "Бинарная" -#: describe.c:6507 +#: describe.c:6594 describe.c:6598 msgid "Streaming" msgstr "Потоковая" -#: describe.c:6514 +#: describe.c:6606 msgid "Two-phase commit" msgstr "Двухфазная фиксация" -#: describe.c:6515 +#: describe.c:6607 msgid "Disable on error" msgstr "Отключается при ошибке" -#: describe.c:6520 +#: describe.c:6614 +msgid "Origin" +msgstr "Источник" + +#: describe.c:6615 +msgid "Password required" +msgstr "Требуется пароль" + +#: describe.c:6616 +msgid "Run as owner?" +msgstr "Использовать владельца?" + +#: describe.c:6621 msgid "Synchronous commit" msgstr "Синхронная фиксация" -#: describe.c:6521 +#: describe.c:6622 msgid "Conninfo" msgstr "Строка подключения" -#: describe.c:6527 +#: describe.c:6628 msgid "Skip LSN" msgstr "Пропустить LSN" -#: describe.c:6554 +#: describe.c:6655 msgid "List of subscriptions" msgstr "Список подписок" -#: describe.c:6616 describe.c:6712 describe.c:6805 describe.c:6900 +#: describe.c:6717 describe.c:6813 describe.c:6906 describe.c:7001 msgid "AM" msgstr "МД" -#: describe.c:6617 +#: describe.c:6718 msgid "Input type" msgstr "Входной тип" -#: describe.c:6618 +#: describe.c:6719 msgid "Storage type" msgstr "Тип хранения" -#: describe.c:6619 +#: describe.c:6720 msgid "Operator class" msgstr "Класс операторов" -#: describe.c:6631 describe.c:6713 describe.c:6806 describe.c:6901 +#: describe.c:6732 describe.c:6814 describe.c:6907 describe.c:7002 msgid "Operator family" msgstr "Семейство операторов" -#: describe.c:6667 +#: describe.c:6768 msgid "List of operator classes" msgstr "Список классов операторов" -#: describe.c:6714 +#: describe.c:6815 msgid "Applicable types" msgstr "Применимые типы" -#: describe.c:6756 +#: describe.c:6857 msgid "List of operator families" msgstr "Список семейств операторов" -#: describe.c:6807 +#: describe.c:6908 msgid "Operator" msgstr "Оператор" -#: describe.c:6808 +#: describe.c:6909 msgid "Strategy" msgstr "Стратегия" -#: describe.c:6809 +#: describe.c:6910 msgid "ordering" msgstr "сортировка" -#: describe.c:6810 +#: describe.c:6911 msgid "search" msgstr "поиск" -#: describe.c:6811 +#: describe.c:6912 msgid "Purpose" msgstr "Назначение" -#: describe.c:6816 +#: describe.c:6917 msgid "Sort opfamily" msgstr "Семейство для сортировки" -#: describe.c:6855 +#: describe.c:6956 msgid "List of operators of operator families" msgstr "Список операторов из семейств операторов" -#: describe.c:6902 +#: describe.c:7003 msgid "Registered left type" msgstr "Зарегистрированный левый тип" -#: describe.c:6903 +#: describe.c:7004 msgid "Registered right type" msgstr "Зарегистрированный правый тип" -#: describe.c:6904 +#: describe.c:7005 msgid "Number" msgstr "Номер" -#: describe.c:6948 +#: describe.c:7049 msgid "List of support functions of operator families" msgstr "Список опорных функций из семейств операторов" -#: describe.c:6979 +#: describe.c:7080 msgid "ID" msgstr "ID" -#: describe.c:7000 +#: describe.c:7101 msgid "Large objects" msgstr "Большие объекты" @@ -2509,7 +2563,7 @@ msgstr "" "psql - это интерактивный терминал PostgreSQL.\n" "\n" -#: help.c:76 help.c:393 help.c:473 help.c:516 +#: help.c:76 help.c:395 help.c:479 help.c:522 msgid "Usage:\n" msgstr "Использование:\n" @@ -2538,8 +2592,8 @@ msgstr "" msgid "" " -d, --dbname=DBNAME database name to connect to (default: \"%s\")\n" msgstr "" -" -d, --dbname=БД имя подключаемой базы данных (по умолчанию \"%s\")" -"\n" +" -d, --dbname=БД имя подключаемой базы данных (по умолчанию " +"\"%s\")\n" #: help.c:87 msgid " -f, --file=FILENAME execute commands from file, then exit\n" @@ -2631,8 +2685,8 @@ msgstr "" #: help.c:107 msgid " -o, --output=FILENAME send query results to file (or |pipe)\n" msgstr "" -" -o, --output=ИМЯ_ФАЙЛА направить результаты запроса в файл (или канал |)" -"\n" +" -o, --output=ИМЯ_ФАЙЛА направить результаты запроса в файл (или канал " +"|)\n" #: help.c:108 msgid "" @@ -2678,8 +2732,8 @@ msgstr "" #, c-format msgid "" " -F, --field-separator=STRING\n" -" field separator for unaligned output (default: \"" -"%s\")\n" +" field separator for unaligned output (default: " +"\"%s\")\n" msgstr "" " -F, --field-separator=СТРОКА\n" " разделителей полей при невыровненном выводе\n" @@ -2789,8 +2843,8 @@ msgstr "" #: help.c:145 msgid "" "\n" -"For more information, type \"\\?\" (for internal commands) or \"\\help\" " -"(for SQL\n" +"For more information, type \"\\?\" (for internal commands) or " +"\"\\help\" (for SQL\n" "commands) from within psql, or consult the psql section in the PostgreSQL\n" "documentation.\n" "\n" @@ -2816,22 +2870,26 @@ msgstr "Домашняя страница %s: <%s>\n" msgid "General\n" msgstr "Общие\n" -# skip-rule: copyright #: help.c:192 +msgid " \\bind [PARAM]... set query parameters\n" +msgstr " \\bind [ПАРАМЕТР]... задать параметры запроса\n" + +# skip-rule: copyright +#: help.c:193 msgid "" " \\copyright show PostgreSQL usage and distribution terms\n" msgstr "" " \\copyright условия использования и распространения " "PostgreSQL\n" -#: help.c:193 +#: help.c:194 msgid "" " \\crosstabview [COLUMNS] execute query and display result in crosstab\n" msgstr "" " \\crosstabview [СТОЛБЦЫ] выполнить запрос и вывести результат в " "перекрёстном виде\n" -#: help.c:194 +#: help.c:195 msgid "" " \\errverbose show most recent error message at maximum " "verbosity\n" @@ -2839,7 +2897,7 @@ msgstr "" " \\errverbose вывести максимально подробное сообщение о " "последней ошибке\n" -#: help.c:195 +#: help.c:196 msgid "" " \\g [(OPTIONS)] [FILE] execute query (and send result to file or |pipe);\n" " \\g with no arguments is equivalent to a semicolon\n" @@ -2848,13 +2906,13 @@ msgstr "" " или канал |); \\g без аргументов равнозначно \";" "\"\n" -#: help.c:197 +#: help.c:198 msgid "" " \\gdesc describe result of query, without executing it\n" msgstr "" " \\gdesc описать результат запроса, но не выполнять его\n" -#: help.c:198 +#: help.c:199 msgid "" " \\gexec execute query, then execute each value in its " "result\n" @@ -2862,7 +2920,7 @@ msgstr "" " \\gexec выполнить запрос, а затем выполнить каждую строку " "в результате\n" -#: help.c:199 +#: help.c:200 msgid "" " \\gset [PREFIX] execute query and store result in psql variables\n" msgstr "" @@ -2870,55 +2928,56 @@ msgstr "" "переменных\n" " psql\n" -#: help.c:200 +#: help.c:201 msgid " \\gx [(OPTIONS)] [FILE] as \\g, but forces expanded output mode\n" msgstr "" " \\gx [(ПАРАМЕТРЫ)] [ФАЙЛ] то же, что \\g, но в режиме развёрнутого вывода\n" -#: help.c:201 +#: help.c:202 msgid " \\q quit psql\n" msgstr " \\q выйти из psql\n" -#: help.c:202 -msgid " \\watch [SEC] execute query every SEC seconds\n" +#: help.c:203 +msgid "" +" \\watch [[i=]SEC] [c=N] execute query every SEC seconds, up to N times\n" msgstr "" -" \\watch [СЕК] повторять запрос в цикле через заданное число " -"секунд\n" +" \\watch [[i=]СЕК] [c=N] повторять запрос через заданное число секунд, не\n" +" более N раз\n" -#: help.c:203 help.c:211 help.c:223 help.c:233 help.c:240 help.c:296 -#: help.c:304 help.c:324 help.c:337 help.c:346 +#: help.c:204 help.c:212 help.c:224 help.c:234 help.c:241 help.c:298 help.c:306 +#: help.c:326 help.c:339 help.c:348 msgid "\n" msgstr "\n" -#: help.c:205 +#: help.c:206 msgid "Help\n" msgstr "Справка\n" -#: help.c:207 +#: help.c:208 msgid " \\? [commands] show help on backslash commands\n" msgstr " \\? [commands] справка по командам psql c \\\n" -#: help.c:208 +#: help.c:209 msgid " \\? options show help on psql command-line options\n" msgstr "" " \\? options справка по параметрам командной строки psql\n" -#: help.c:209 +#: help.c:210 msgid " \\? variables show help on special variables\n" msgstr " \\? variables справка по специальным переменным\n" -#: help.c:210 +#: help.c:211 msgid "" " \\h [NAME] help on syntax of SQL commands, * for all " "commands\n" msgstr "" " \\h [ИМЯ] справка по заданному SQL-оператору; * - по всем\n" -#: help.c:213 +#: help.c:214 msgid "Query Buffer\n" msgstr "Буфер запроса\n" -#: help.c:214 +#: help.c:215 msgid "" " \\e [FILE] [LINE] edit the query buffer (or file) with external " "editor\n" @@ -2926,57 +2985,57 @@ msgstr "" " \\e [ФАЙЛ] [СТРОКА] править буфер запроса (или файл) во внешнем " "редакторе\n" -#: help.c:215 +#: help.c:216 msgid "" " \\ef [FUNCNAME [LINE]] edit function definition with external editor\n" msgstr "" " \\ef [ФУНКЦИЯ [СТРОКА]] править определение функции во внешнем редакторе\n" -#: help.c:216 +#: help.c:217 msgid " \\ev [VIEWNAME [LINE]] edit view definition with external editor\n" msgstr "" " \\ev [VIEWNAME [LINE]] править определение представления во внешнем " "редакторе\n" -#: help.c:217 +#: help.c:218 msgid " \\p show the contents of the query buffer\n" msgstr " \\p вывести содержимое буфера запросов\n" -#: help.c:218 +#: help.c:219 msgid " \\r reset (clear) the query buffer\n" msgstr " \\r очистить буфер запроса\n" -#: help.c:220 +#: help.c:221 msgid " \\s [FILE] display history or save it to file\n" msgstr " \\s [ФАЙЛ] вывести историю или сохранить её в файл\n" -#: help.c:222 +#: help.c:223 msgid " \\w FILE write query buffer to file\n" msgstr " \\w ФАЙЛ записать буфер запроса в файл\n" -#: help.c:225 +#: help.c:226 msgid "Input/Output\n" msgstr "Ввод/Вывод\n" -#: help.c:226 +#: help.c:227 msgid "" " \\copy ... perform SQL COPY with data stream to the client " "host\n" msgstr " \\copy ... выполнить SQL COPY на стороне клиента\n" -#: help.c:227 +#: help.c:228 msgid "" -" \\echo [-n] [STRING] write string to standard output (-n for no newline)" -"\n" +" \\echo [-n] [STRING] write string to standard output (-n for no " +"newline)\n" msgstr "" " \\echo [-n] [СТРОКА] записать строку в поток стандартного вывода\n" " (-n отключает перевод строки)\n" -#: help.c:228 +#: help.c:229 msgid " \\i FILE execute commands from file\n" msgstr " \\i ФАЙЛ выполнить команды из файла\n" -#: help.c:229 +#: help.c:230 msgid "" " \\ir FILE as \\i, but relative to location of current " "script\n" @@ -2984,13 +3043,13 @@ msgstr "" " \\ir ФАЙЛ подобно \\i, но путь задаётся относительно\n" " текущего скрипта\n" -#: help.c:230 +#: help.c:231 msgid " \\o [FILE] send all query results to file or |pipe\n" msgstr "" " \\o [ФАЙЛ] выводить все результаты запросов в файл или канал " "|\n" -#: help.c:231 +#: help.c:232 msgid "" " \\qecho [-n] [STRING] write string to \\o output stream (-n for no " "newline)\n" @@ -2998,144 +3057,144 @@ msgstr "" " \\qecho [-n] [СТРОКА] записать строку в выходной поток \\o\n" " (-n отключает перевод строки)\n" -#: help.c:232 +#: help.c:233 msgid "" -" \\warn [-n] [STRING] write string to standard error (-n for no newline)" -"\n" +" \\warn [-n] [STRING] write string to standard error (-n for no " +"newline)\n" msgstr "" " \\warn [-n] [СТРОКА] записать строку в поток вывода ошибок\n" " (-n отключает перевод строки)\n" -#: help.c:235 +#: help.c:236 msgid "Conditional\n" msgstr "Условия\n" -#: help.c:236 +#: help.c:237 msgid " \\if EXPR begin conditional block\n" msgstr " \\if ВЫРАЖЕНИЕ начало блока условия\n" -#: help.c:237 +#: help.c:238 msgid "" " \\elif EXPR alternative within current conditional block\n" msgstr "" " \\elif ВЫРАЖЕНИЕ альтернативная ветвь в текущем блоке условия\n" -#: help.c:238 +#: help.c:239 msgid "" " \\else final alternative within current conditional " "block\n" msgstr "" " \\else окончательная ветвь в текущем блоке условия\n" -#: help.c:239 +#: help.c:240 msgid " \\endif end conditional block\n" msgstr " \\endif конец блока условия\n" -#: help.c:242 +#: help.c:243 msgid "Informational\n" msgstr "Информационные\n" -#: help.c:243 +#: help.c:244 msgid " (options: S = show system objects, + = additional detail)\n" msgstr "" " (дополнения: S = показывать системные объекты, + = дополнительные " "подробности)\n" -#: help.c:244 +#: help.c:245 msgid " \\d[S+] list tables, views, and sequences\n" msgstr "" " \\d[S+] список таблиц, представлений и " "последовательностей\n" -#: help.c:245 +#: help.c:246 msgid " \\d[S+] NAME describe table, view, sequence, or index\n" msgstr "" " \\d[S+] ИМЯ описание таблицы, представления, " "последовательности\n" " или индекса\n" -#: help.c:246 +#: help.c:247 msgid " \\da[S] [PATTERN] list aggregates\n" msgstr " \\da[S] [МАСКА] список агрегатных функций\n" -#: help.c:247 +#: help.c:248 msgid " \\dA[+] [PATTERN] list access methods\n" msgstr " \\dA[+] [МАСКА] список методов доступа\n" # well-spelled: МСК -#: help.c:248 +#: help.c:249 msgid " \\dAc[+] [AMPTRN [TYPEPTRN]] list operator classes\n" msgstr " \\dAc[+] [МСК_МД [МСК_ТИПА]] список классов операторов\n" # well-spelled: МСК -#: help.c:249 +#: help.c:250 msgid " \\dAf[+] [AMPTRN [TYPEPTRN]] list operator families\n" msgstr " \\dAf[+] [МСК_МД [МСК_ТИПА]] список семейств операторов\n" # well-spelled: МСК -#: help.c:250 +#: help.c:251 msgid " \\dAo[+] [AMPTRN [OPFPTRN]] list operators of operator families\n" msgstr "" " \\dAo[+] [МСК_МД [МСК_СОП]] список операторов из семейств операторов\n" # well-spelled: МСК -#: help.c:251 +#: help.c:252 msgid "" " \\dAp[+] [AMPTRN [OPFPTRN]] list support functions of operator families\n" msgstr " \\dAp[+] [МСК_МД [МСК_СОП]] список опорных функций из семейств\n" -#: help.c:252 +#: help.c:253 msgid " \\db[+] [PATTERN] list tablespaces\n" msgstr " \\db[+] [МАСКА] список табличных пространств\n" -#: help.c:253 +#: help.c:254 msgid " \\dc[S+] [PATTERN] list conversions\n" msgstr " \\dc[S+] [МАСКА] список преобразований\n" -#: help.c:254 +#: help.c:255 msgid " \\dconfig[+] [PATTERN] list configuration parameters\n" msgstr " \\dconfig[+] [МАСКА] список параметров конфигурации\n" -#: help.c:255 +#: help.c:256 msgid " \\dC[+] [PATTERN] list casts\n" msgstr " \\dC[+] [МАСКА] список приведений типов\n" -#: help.c:256 +#: help.c:257 msgid "" " \\dd[S] [PATTERN] show object descriptions not displayed elsewhere\n" msgstr "" " \\dd[S] [МАСКА] описания объектов, не выводимые в других режимах\n" -#: help.c:257 +#: help.c:258 msgid " \\dD[S+] [PATTERN] list domains\n" msgstr " \\dD[S+] [МАСКА] список доменов\n" -#: help.c:258 +#: help.c:259 msgid " \\ddp [PATTERN] list default privileges\n" msgstr " \\ddp [МАСКА] список прав по умолчанию\n" -#: help.c:259 +#: help.c:260 msgid " \\dE[S+] [PATTERN] list foreign tables\n" msgstr " \\dE[S+] [МАСКА] список сторонних таблиц\n" -#: help.c:260 +#: help.c:261 msgid " \\des[+] [PATTERN] list foreign servers\n" msgstr " \\des[+] [МАСКА] список сторонних серверов\n" -#: help.c:261 +#: help.c:262 msgid " \\det[+] [PATTERN] list foreign tables\n" msgstr " \\det[+] [МАСКА] список сторонних таблиц\n" -#: help.c:262 +#: help.c:263 msgid " \\deu[+] [PATTERN] list user mappings\n" msgstr " \\deu[+] [МАСКА] список сопоставлений пользователей\n" -#: help.c:263 +#: help.c:264 msgid " \\dew[+] [PATTERN] list foreign-data wrappers\n" msgstr " \\dew[+] [МАСКА] список обёрток сторонних данных\n" # well-spelled: МСК, ФУНК -#: help.c:264 +#: help.c:265 msgid "" " \\df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]]\n" " list [only agg/normal/procedure/trigger/window] " @@ -3145,49 +3204,49 @@ msgstr "" " список функций [только агрегатных/обычных/процедур/" "триггеров/оконных]\n" -#: help.c:266 +#: help.c:267 msgid " \\dF[+] [PATTERN] list text search configurations\n" msgstr " \\dF[+] [МАСКА] список конфигураций текстового поиска\n" -#: help.c:267 +#: help.c:268 msgid " \\dFd[+] [PATTERN] list text search dictionaries\n" msgstr " \\dFd[+] [МАСКА] список словарей текстового поиска\n" -#: help.c:268 +#: help.c:269 msgid " \\dFp[+] [PATTERN] list text search parsers\n" msgstr " \\dFp[+] [МАСКА] список анализаторов текстового поиска\n" -#: help.c:269 +#: help.c:270 msgid " \\dFt[+] [PATTERN] list text search templates\n" msgstr " \\dFt[+] [МАСКА] список шаблонов текстового поиска\n" -#: help.c:270 +#: help.c:271 msgid " \\dg[S+] [PATTERN] list roles\n" msgstr " \\dg[S+] [МАСКА] список ролей\n" -#: help.c:271 +#: help.c:272 msgid " \\di[S+] [PATTERN] list indexes\n" msgstr " \\di[S+] [МАСКА] список индексов\n" -#: help.c:272 +#: help.c:273 msgid " \\dl[+] list large objects, same as \\lo_list\n" msgstr "" " \\dl[+] список больших объектов (то же, что и \\lo_list)\n" -#: help.c:273 +#: help.c:274 msgid " \\dL[S+] [PATTERN] list procedural languages\n" msgstr " \\dL[S+] [МАСКА] список языков процедур\n" -#: help.c:274 +#: help.c:275 msgid " \\dm[S+] [PATTERN] list materialized views\n" msgstr " \\dm[S+] [МАСКА] список материализованных представлений\n" -#: help.c:275 +#: help.c:276 msgid " \\dn[S+] [PATTERN] list schemas\n" msgstr " \\dn[S+] [МАСКА] список схем\n" # well-spelled: МСК -#: help.c:276 +#: help.c:277 msgid "" " \\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]\n" " list operators\n" @@ -3195,18 +3254,18 @@ msgstr "" " \\do[S+] [МСК_ОП [МСК_ТИПА [МСК_ТИПА]]]\n" " список операторов\n" -#: help.c:278 +#: help.c:279 msgid " \\dO[S+] [PATTERN] list collations\n" msgstr " \\dO[S+] [МАСКА] список правил сортировки\n" -#: help.c:279 +#: help.c:280 msgid "" -" \\dp [PATTERN] list table, view, and sequence access privileges\n" +" \\dp[S] [PATTERN] list table, view, and sequence access privileges\n" msgstr "" -" \\dp [МАСКА] список прав доступа к таблицам, представлениям и\n" +" \\dp[S] [МАСКА] список прав доступа к таблицам, представлениям и\n" " последовательностям\n" -#: help.c:280 +#: help.c:281 msgid "" " \\dP[itn+] [PATTERN] list [only index/table] partitioned relations " "[n=nested]\n" @@ -3216,76 +3275,80 @@ msgstr "" "(n)\n" # well-spelled: МСК -#: help.c:281 +#: help.c:282 msgid " \\drds [ROLEPTRN [DBPTRN]] list per-database role settings\n" msgstr " \\drds [МСК_РОЛИ [МСК_БД]] список параметров роли на уровне БД\n" -#: help.c:282 +#: help.c:283 +msgid " \\drg[S] [PATTERN] list role grants\n" +msgstr " \\drg[S] [МАСКА] список назначений ролей\n" + +#: help.c:284 msgid " \\dRp[+] [PATTERN] list replication publications\n" msgstr " \\dRp[+] [МАСКА] список публикаций для репликации\n" -#: help.c:283 +#: help.c:285 msgid " \\dRs[+] [PATTERN] list replication subscriptions\n" msgstr " \\dRs[+] [МАСКА] список подписок на репликацию\n" -#: help.c:284 +#: help.c:286 msgid " \\ds[S+] [PATTERN] list sequences\n" msgstr " \\ds[S+] [МАСКА] список последовательностей\n" -#: help.c:285 +#: help.c:287 msgid " \\dt[S+] [PATTERN] list tables\n" msgstr " \\dt[S+] [МАСКА] список таблиц\n" -#: help.c:286 +#: help.c:288 msgid " \\dT[S+] [PATTERN] list data types\n" msgstr " \\dT[S+] [МАСКА] список типов данных\n" -#: help.c:287 +#: help.c:289 msgid " \\du[S+] [PATTERN] list roles\n" msgstr " \\du[S+] [МАСКА] список ролей\n" -#: help.c:288 +#: help.c:290 msgid " \\dv[S+] [PATTERN] list views\n" msgstr " \\dv[S+] [МАСКА] список представлений\n" -#: help.c:289 +#: help.c:291 msgid " \\dx[+] [PATTERN] list extensions\n" msgstr " \\dx[+] [МАСКА] список расширений\n" -#: help.c:290 +#: help.c:292 msgid " \\dX [PATTERN] list extended statistics\n" msgstr " \\dX [МАСКА] список расширенных статистик\n" -#: help.c:291 +#: help.c:293 msgid " \\dy[+] [PATTERN] list event triggers\n" msgstr " \\dy[+] [МАСКА] список событийных триггеров\n" -#: help.c:292 +#: help.c:294 msgid " \\l[+] [PATTERN] list databases\n" msgstr " \\l[+] [МАСКА] список баз данных\n" -#: help.c:293 +#: help.c:295 msgid " \\sf[+] FUNCNAME show a function's definition\n" msgstr " \\sf[+] ИМЯ_ФУНКЦИИ показать определение функции\n" # well-spelled: ПРЕДСТ -#: help.c:294 +#: help.c:296 msgid " \\sv[+] VIEWNAME show a view's definition\n" msgstr " \\sv[+] ИМЯ_ПРЕДСТ показать определение представления\n" -#: help.c:295 -msgid " \\z [PATTERN] same as \\dp\n" -msgstr " \\z [МАСКА] то же, что и \\dp\n" +#: help.c:297 +msgid " \\z[S] [PATTERN] same as \\dp\n" +msgstr " \\z[S] [МАСКА] то же, что и \\dp\n" -#: help.c:298 +#: help.c:300 msgid "Large Objects\n" msgstr "Большие объекты\n" -#: help.c:299 +#: help.c:301 msgid " \\lo_export LOBOID FILE write large object to file\n" msgstr " \\lo_export OID_БО ФАЙЛ записать большой объект в файл\n" -#: help.c:300 +#: help.c:302 msgid "" " \\lo_import FILE [COMMENT]\n" " read large object from file\n" @@ -3293,32 +3356,32 @@ msgstr "" " \\lo_import ФАЙЛ [КОММЕНТАРИЙ]\n" " прочитать большой объект из файла\n" -#: help.c:302 +#: help.c:304 msgid " \\lo_list[+] list large objects\n" msgstr " \\lo_list[+] список больших объектов\n" -#: help.c:303 +#: help.c:305 msgid " \\lo_unlink LOBOID delete a large object\n" msgstr " \\lo_unlink OID_БО удалить большой объект\n" -#: help.c:306 +#: help.c:308 msgid "Formatting\n" msgstr "Форматирование\n" -#: help.c:307 +#: help.c:309 msgid "" " \\a toggle between unaligned and aligned output mode\n" msgstr "" " \\a переключение режимов вывода:\n" " неформатированный/выровненный\n" -#: help.c:308 +#: help.c:310 msgid " \\C [STRING] set table title, or unset if none\n" msgstr "" " \\C [СТРОКА] задать заголовок таблицы или убрать, если не " "задан\n" -#: help.c:309 +#: help.c:311 msgid "" " \\f [STRING] show or set field separator for unaligned query " "output\n" @@ -3326,13 +3389,13 @@ msgstr "" " \\f [СТРОКА] показать или установить разделитель полей для\n" " неформатированного вывода\n" -#: help.c:310 +#: help.c:312 #, c-format msgid " \\H toggle HTML output mode (currently %s)\n" msgstr "" " \\H переключить режим вывода в HTML (текущий: %s)\n" -#: help.c:312 +#: help.c:314 msgid "" " \\pset [NAME [VALUE]] set table output option\n" " (border|columns|csv_fieldsep|expanded|fieldsep|\n" @@ -3350,35 +3413,34 @@ msgstr "" " unicode_border_linestyle|unicode_column_linestyle|\n" " unicode_header_linestyle)\n" -#: help.c:319 +#: help.c:321 #, c-format msgid " \\t [on|off] show only rows (currently %s)\n" msgstr " \\t [on|off] режим вывода только строк (сейчас: %s)\n" -#: help.c:321 +#: help.c:323 msgid "" -" \\T [STRING] set HTML " -"
tag attributes, or unset if none\n" +" \\T [STRING] set HTML
tag attributes, or unset if none\n" msgstr "" -" \\T [СТРОКА] задать атрибуты для " -"
или убрать, если не заданы\n" +" \\T [СТРОКА] задать атрибуты для
или убрать, если не " +"заданы\n" -#: help.c:322 +#: help.c:324 #, c-format msgid " \\x [on|off|auto] toggle expanded output (currently %s)\n" msgstr "" -" \\x [on|off|auto] переключить режим расширенного вывода (сейчас: %s)" -"\n" +" \\x [on|off|auto] переключить режим расширенного вывода (сейчас: " +"%s)\n" -#: help.c:323 +#: help.c:325 msgid "auto" msgstr "auto" -#: help.c:326 +#: help.c:328 msgid "Connection\n" msgstr "Соединение\n" -#: help.c:328 +#: help.c:330 #, c-format msgid "" " \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n" @@ -3388,7 +3450,7 @@ msgstr "" " подключиться к другой базе данных\n" " (текущая: \"%s\")\n" -#: help.c:332 +#: help.c:334 msgid "" " \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n" " connect to new database (currently no connection)\n" @@ -3397,43 +3459,43 @@ msgstr "" " подключиться к другой базе данных\n" " (сейчас подключения нет)\n" -#: help.c:334 +#: help.c:336 msgid "" " \\conninfo display information about current connection\n" msgstr " \\conninfo информация о текущем соединении\n" -#: help.c:335 +#: help.c:337 msgid " \\encoding [ENCODING] show or set client encoding\n" msgstr " \\encoding [КОДИРОВКА] показать/установить клиентскую кодировку\n" -#: help.c:336 +#: help.c:338 msgid " \\password [USERNAME] securely change the password for a user\n" msgstr " \\password [ИМЯ] безопасно сменить пароль пользователя\n" -#: help.c:339 +#: help.c:341 msgid "Operating System\n" msgstr "Операционная система\n" -#: help.c:340 +#: help.c:342 msgid " \\cd [DIR] change the current working directory\n" msgstr " \\cd [ПУТЬ] сменить текущий каталог\n" # well-spelled: ОКР -#: help.c:341 +#: help.c:343 msgid " \\getenv PSQLVAR ENVVAR fetch environment variable\n" msgstr " \\getenv ПЕР_PSQL ПЕР_ОКР прочитать переменную окружения\n" -#: help.c:342 +#: help.c:344 msgid " \\setenv NAME [VALUE] set or unset environment variable\n" msgstr "" " \\setenv ИМЯ [ЗНАЧЕНИЕ] установить или сбросить переменную окружения\n" -#: help.c:343 +#: help.c:345 #, c-format msgid " \\timing [on|off] toggle timing of commands (currently %s)\n" msgstr " \\timing [on|off] включить/выключить секундомер (сейчас: %s)\n" -#: help.c:345 +#: help.c:347 msgid "" " \\! [COMMAND] execute command in shell or start interactive " "shell\n" @@ -3441,17 +3503,17 @@ msgstr "" " \\! [КОМАНДА] выполнить команду в командной оболочке\n" " или запустить интерактивную оболочку\n" -#: help.c:348 +#: help.c:350 msgid "Variables\n" msgstr "Переменные\n" -#: help.c:349 +#: help.c:351 msgid " \\prompt [TEXT] NAME prompt user to set internal variable\n" msgstr "" " \\prompt [ТЕКСТ] ИМЯ предложить пользователю задать внутреннюю " "переменную\n" -#: help.c:350 +#: help.c:352 msgid "" " \\set [NAME [VALUE]] set internal variable, or list all if no " "parameters\n" @@ -3459,11 +3521,11 @@ msgstr "" " \\set [ИМЯ [ЗНАЧЕНИЕ]] установить внутреннюю переменную или вывести все,\n" " если имя не задано\n" -#: help.c:351 +#: help.c:353 msgid " \\unset NAME unset (delete) internal variable\n" msgstr " \\unset ИМЯ сбросить (удалить) внутреннюю переменную\n" -#: help.c:390 +#: help.c:392 msgid "" "List of specially treated variables\n" "\n" @@ -3471,11 +3533,11 @@ msgstr "" "Список специальных переменных\n" "\n" -#: help.c:392 +#: help.c:394 msgid "psql variables:\n" msgstr "Переменные psql:\n" -#: help.c:394 +#: help.c:396 msgid "" " psql --set=NAME=VALUE\n" " or \\set NAME VALUE inside psql\n" @@ -3485,7 +3547,7 @@ msgstr "" " или \\set ИМЯ ЗНАЧЕНИЕ в приглашении psql\n" "\n" -#: help.c:396 +#: help.c:398 msgid "" " AUTOCOMMIT\n" " if set, successful SQL commands are automatically committed\n" @@ -3493,7 +3555,7 @@ msgstr "" " AUTOCOMMIT\n" " если установлен, успешные SQL-команды фиксируются автоматически\n" -#: help.c:398 +#: help.c:400 msgid "" " COMP_KEYWORD_CASE\n" " determines the case used to complete SQL key words\n" @@ -3505,7 +3567,7 @@ msgstr "" " preserve-lower (сохранять нижний),\n" " preserve-upper (сохранять верхний)]\n" -#: help.c:401 +#: help.c:403 msgid "" " DBNAME\n" " the currently connected database name\n" @@ -3513,7 +3575,7 @@ msgstr "" " DBNAME\n" " имя текущей подключённой базы данных\n" -#: help.c:403 +#: help.c:405 msgid "" " ECHO\n" " controls what input is written to standard output\n" @@ -3524,7 +3586,7 @@ msgstr "" " [all (всё), errors (ошибки), none (ничего),\n" " queries (запросы)]\n" -#: help.c:406 +#: help.c:408 msgid "" " ECHO_HIDDEN\n" " if set, display internal queries executed by backslash commands;\n" @@ -3534,7 +3596,7 @@ msgstr "" " если включено, выводит внутренние запросы, порождаемые командами с \\;\n" " если установлено значение \"noexec\", они выводятся, но не выполняются\n" -#: help.c:409 +#: help.c:411 msgid "" " ENCODING\n" " current client character set encoding\n" @@ -3542,25 +3604,25 @@ msgstr "" " ENCODING\n" " текущая кодировка клиентского набора символов\n" -#: help.c:411 +#: help.c:413 msgid "" " ERROR\n" -" true if last query failed, else false\n" +" \"true\" if last query failed, else \"false\"\n" msgstr "" " ERROR\n" -" true в случае ошибки в последнем запросе, иначе — false\n" +" \"true\" в случае ошибки в последнем запросе, иначе — \"false\"\n" -#: help.c:413 +#: help.c:415 msgid "" " FETCH_COUNT\n" -" the number of result rows to fetch and display at a time (0 = unlimited)" -"\n" +" the number of result rows to fetch and display at a time (0 = " +"unlimited)\n" msgstr "" " FETCH_COUNT\n" " число результирующих строк, извлекаемых и отображаемых за раз\n" " (0 = без ограничений)\n" -#: help.c:415 +#: help.c:417 msgid "" " HIDE_TABLEAM\n" " if set, table access methods are not displayed\n" @@ -3568,7 +3630,7 @@ msgstr "" " HIDE_TABLEAM\n" " если установлено, табличные методы доступа не выводятся\n" -#: help.c:417 +#: help.c:419 msgid "" " HIDE_TOAST_COMPRESSION\n" " if set, compression methods are not displayed\n" @@ -3576,7 +3638,7 @@ msgstr "" " HIDE_TOAST_COMPRESSION\n" " если установлено, методы сжатия не выводятся\n" -#: help.c:419 +#: help.c:421 msgid "" " HISTCONTROL\n" " controls command history [ignorespace, ignoredups, ignoreboth]\n" @@ -3585,7 +3647,7 @@ msgstr "" " управляет историей команд [ignorespace (игнорировать пробелы),\n" " ignoredups (игнорировать дубли), ignoreboth (и то, и другое)]\n" -#: help.c:421 +#: help.c:423 msgid "" " HISTFILE\n" " file name used to store the command history\n" @@ -3593,7 +3655,7 @@ msgstr "" " HISTFILE\n" " имя файла, в котором будет сохраняться история команд\n" -#: help.c:423 +#: help.c:425 msgid "" " HISTSIZE\n" " maximum number of commands to store in the command history\n" @@ -3601,7 +3663,7 @@ msgstr "" " HISTSIZE\n" " максимальное число команд, сохраняемых в истории\n" -#: help.c:425 +#: help.c:427 msgid "" " HOST\n" " the currently connected database server host\n" @@ -3609,7 +3671,7 @@ msgstr "" " HOST\n" " сервер баз данных, к которому установлено подключение\n" -#: help.c:427 +#: help.c:429 msgid "" " IGNOREEOF\n" " number of EOFs needed to terminate an interactive session\n" @@ -3617,7 +3679,7 @@ msgstr "" " IGNOREEOF\n" " количество EOF для завершения интерактивного сеанса\n" -#: help.c:429 +#: help.c:431 msgid "" " LASTOID\n" " value of the last affected OID\n" @@ -3625,7 +3687,7 @@ msgstr "" " LASTOID\n" " значение последнего задействованного OID\n" -#: help.c:431 +#: help.c:433 msgid "" " LAST_ERROR_MESSAGE\n" " LAST_ERROR_SQLSTATE\n" @@ -3638,7 +3700,7 @@ msgstr "" "\"00000\",\n" " если ошибки не было\n" -#: help.c:434 +#: help.c:436 msgid "" " ON_ERROR_ROLLBACK\n" " if set, an error doesn't stop a transaction (uses implicit savepoints)\n" @@ -3647,7 +3709,7 @@ msgstr "" " если установлено, транзакция не прекращается при ошибке\n" " (используются неявные точки сохранения)\n" -#: help.c:436 +#: help.c:438 msgid "" " ON_ERROR_STOP\n" " stop batch execution after error\n" @@ -3655,7 +3717,7 @@ msgstr "" " ON_ERROR_STOP\n" " останавливать выполнение пакета команд после ошибки\n" -#: help.c:438 +#: help.c:440 msgid "" " PORT\n" " server port of the current connection\n" @@ -3663,7 +3725,7 @@ msgstr "" " PORT\n" " порт сервера для текущего соединения\n" -#: help.c:440 +#: help.c:442 msgid "" " PROMPT1\n" " specifies the standard psql prompt\n" @@ -3671,7 +3733,7 @@ msgstr "" " PROMPT1\n" " устанавливает стандартное приглашение psql\n" -#: help.c:442 +#: help.c:444 msgid "" " PROMPT2\n" " specifies the prompt used when a statement continues from a previous " @@ -3681,7 +3743,7 @@ msgstr "" " устанавливает приглашение, которое выводится при переносе оператора\n" " на новую строку\n" -#: help.c:444 +#: help.c:446 msgid "" " PROMPT3\n" " specifies the prompt used during COPY ... FROM STDIN\n" @@ -3689,7 +3751,7 @@ msgstr "" " PROMPT3\n" " устанавливает приглашение для выполнения COPY ... FROM STDIN\n" -#: help.c:446 +#: help.c:448 msgid "" " QUIET\n" " run quietly (same as -q option)\n" @@ -3697,7 +3759,7 @@ msgstr "" " QUIET\n" " выводить минимум сообщений (как и с параметром -q)\n" -#: help.c:448 +#: help.c:450 msgid "" " ROW_COUNT\n" " number of rows returned or affected by last query, or 0\n" @@ -3706,7 +3768,7 @@ msgstr "" " число строк, возвращённых или обработанных последним SQL-запросом, либо " "0\n" -#: help.c:450 +#: help.c:452 msgid "" " SERVER_VERSION_NAME\n" " SERVER_VERSION_NUM\n" @@ -3716,7 +3778,24 @@ msgstr "" " SERVER_VERSION_NUM\n" " версия сервера (в коротком текстовом и числовом формате)\n" -#: help.c:453 +#: help.c:455 +msgid "" +" SHELL_ERROR\n" +" \"true\" if the last shell command failed, \"false\" if it succeeded\n" +msgstr "" +" SHELL_ERROR\n" +" \"true\" в случае ошибки последней команды оболочки, \"false\" в ином " +"случае\n" + +#: help.c:457 +msgid "" +" SHELL_EXIT_CODE\n" +" exit status of the last shell command\n" +msgstr "" +" SHELL_EXIT_CODE\n" +" код завершения последней команды оболочки\n" + +#: help.c:459 msgid "" " SHOW_ALL_RESULTS\n" " show all results of a combined query (\\;) instead of only the last\n" @@ -3725,7 +3804,7 @@ msgstr "" " выводить все результаты объединённых запросов (\\;), а не только " "последнего\n" -#: help.c:455 +#: help.c:461 msgid "" " SHOW_CONTEXT\n" " controls display of message context fields [never, errors, always]\n" @@ -3734,7 +3813,7 @@ msgstr "" " управляет отображением полей контекста сообщений\n" " [never (не отображать никогда), errors (ошибки), always (всегда]\n" -#: help.c:457 +#: help.c:463 msgid "" " SINGLELINE\n" " if set, end of line terminates SQL commands (same as -S option)\n" @@ -3743,7 +3822,7 @@ msgstr "" " если установлено, конец строки завершает режим ввода SQL-команды\n" " (как и с параметром -S)\n" -#: help.c:459 +#: help.c:465 msgid "" " SINGLESTEP\n" " single-step mode (same as -s option)\n" @@ -3751,7 +3830,7 @@ msgstr "" " SINGLESTEP\n" " пошаговый режим (как и с параметром -s)\n" -#: help.c:461 +#: help.c:467 msgid "" " SQLSTATE\n" " SQLSTATE of last query, or \"00000\" if no error\n" @@ -3760,7 +3839,7 @@ msgstr "" " SQLSTATE последнего запроса или \"00000\", если он выполнился без " "ошибок\n" -#: help.c:463 +#: help.c:469 msgid "" " USER\n" " the currently connected database user\n" @@ -3768,7 +3847,7 @@ msgstr "" " USER\n" " текущий пользователь, подключённый к БД\n" -#: help.c:465 +#: help.c:471 msgid "" " VERBOSITY\n" " controls verbosity of error reports [default, verbose, terse, sqlstate]\n" @@ -3777,7 +3856,7 @@ msgstr "" " управляет детализацией отчётов об ошибках [default (по умолчанию),\n" " verbose (подробно), terse (кратко), sqlstate (код состояния)]\n" -#: help.c:467 +#: help.c:473 msgid "" " VERSION\n" " VERSION_NAME\n" @@ -3789,7 +3868,7 @@ msgstr "" " VERSION_NUM\n" " версия psql (в развёрнутом, в коротком текстовом и в числовом формате)\n" -#: help.c:472 +#: help.c:478 msgid "" "\n" "Display settings:\n" @@ -3797,7 +3876,7 @@ msgstr "" "\n" "Параметры отображения:\n" -#: help.c:474 +#: help.c:480 msgid "" " psql --pset=NAME[=VALUE]\n" " or \\pset NAME [VALUE] inside psql\n" @@ -3807,7 +3886,7 @@ msgstr "" " или \\pset ИМЯ [ЗНАЧЕНИЕ] в приглашении psql\n" "\n" -#: help.c:476 +#: help.c:482 msgid "" " border\n" " border style (number)\n" @@ -3815,7 +3894,7 @@ msgstr "" " border\n" " стиль границы (число)\n" -#: help.c:478 +#: help.c:484 msgid "" " columns\n" " target width for the wrapped format\n" @@ -3823,7 +3902,7 @@ msgstr "" " columns\n" " целевая ширина для формата с переносом\n" -#: help.c:480 +#: help.c:486 msgid "" " expanded (or x)\n" " expanded output [on, off, auto]\n" @@ -3831,7 +3910,7 @@ msgstr "" " expanded (или x)\n" " расширенный вывод [on (вкл.), off (выкл.), auto (авто)]\n" -#: help.c:482 +#: help.c:488 #, c-format msgid "" " fieldsep\n" @@ -3840,7 +3919,7 @@ msgstr "" " fieldsep\n" " разделитель полей для неформатированного вывода (по умолчанию \"%s\")\n" -#: help.c:485 +#: help.c:491 msgid "" " fieldsep_zero\n" " set field separator for unaligned output to a zero byte\n" @@ -3848,7 +3927,7 @@ msgstr "" " fieldsep_zero\n" " устанавливает ноль разделителем полей при неформатированном выводе\n" -#: help.c:487 +#: help.c:493 msgid "" " footer\n" " enable or disable display of the table footer [on, off]\n" @@ -3856,7 +3935,7 @@ msgstr "" " footer\n" " включает или выключает вывод подписей таблицы [on (вкл.), off (выкл.)]\n" -#: help.c:489 +#: help.c:495 msgid "" " format\n" " set output format [unaligned, aligned, wrapped, html, asciidoc, ...]\n" @@ -3866,7 +3945,7 @@ msgstr "" "\n" " aligned (выровненный), wrapped (с переносом), html, asciidoc, ...]\n" -#: help.c:491 +#: help.c:497 msgid "" " linestyle\n" " set the border line drawing style [ascii, old-ascii, unicode]\n" @@ -3874,7 +3953,7 @@ msgstr "" " linestyle\n" " задаёт стиль рисования линий границы [ascii, old-ascii, unicode]\n" -#: help.c:493 +#: help.c:499 msgid "" " null\n" " set the string to be printed in place of a null value\n" @@ -3882,7 +3961,7 @@ msgstr "" " null\n" " устанавливает строку, выводимую вместо значения NULL\n" -#: help.c:495 +#: help.c:501 msgid "" " numericlocale\n" " enable display of a locale-specific character to separate groups of " @@ -3891,7 +3970,7 @@ msgstr "" " numericlocale\n" " отключает вывод заданного локалью разделителя группы цифр\n" -#: help.c:497 +#: help.c:503 msgid "" " pager\n" " control when an external pager is used [yes, no, always]\n" @@ -3900,7 +3979,7 @@ msgstr "" " определяет, используется ли внешний постраничник\n" " [yes (да), no (нет), always (всегда)]\n" -#: help.c:499 +#: help.c:505 msgid "" " recordsep\n" " record (line) separator for unaligned output\n" @@ -3908,7 +3987,7 @@ msgstr "" " recordsep\n" " разделитель записей (строк) при неформатированном выводе\n" -#: help.c:501 +#: help.c:507 msgid "" " recordsep_zero\n" " set record separator for unaligned output to a zero byte\n" @@ -3916,7 +3995,7 @@ msgstr "" " recordsep_zero\n" " устанавливает ноль разделителем записей при неформатированном выводе\n" -#: help.c:503 +#: help.c:509 msgid "" " tableattr (or T)\n" " specify attributes for table tag in html format, or proportional\n" @@ -3926,7 +4005,7 @@ msgstr "" " задаёт атрибуты для тега table в формате html или пропорциональные\n" " ширины столбцов для выровненных влево данных, в формате latex-longtable\n" -#: help.c:506 +#: help.c:512 msgid "" " title\n" " set the table title for subsequently printed tables\n" @@ -3934,7 +4013,7 @@ msgstr "" " title\n" " задаёт заголовок таблицы для последовательно печатаемых таблиц\n" -#: help.c:508 +#: help.c:514 msgid "" " tuples_only\n" " if set, only actual table data is shown\n" @@ -3942,7 +4021,7 @@ msgstr "" " tuples_only\n" " если установлено, выводятся только непосредственно табличные данные\n" -#: help.c:510 +#: help.c:516 msgid "" " unicode_border_linestyle\n" " unicode_column_linestyle\n" @@ -3955,7 +4034,7 @@ msgstr "" " задаёт стиль рисуемых линий Unicode [single (одинарные), double " "(двойные)]\n" -#: help.c:515 +#: help.c:521 msgid "" "\n" "Environment variables:\n" @@ -3963,7 +4042,7 @@ msgstr "" "\n" "Переменные окружения:\n" -#: help.c:519 +#: help.c:525 msgid "" " NAME=VALUE [NAME=VALUE] psql ...\n" " or \\setenv NAME [VALUE] inside psql\n" @@ -3973,7 +4052,7 @@ msgstr "" " или \\setenv ИМЯ [ЗНАЧЕНИЕ] в приглашении psql\n" "\n" -#: help.c:521 +#: help.c:527 msgid "" " set NAME=VALUE\n" " psql ...\n" @@ -3985,7 +4064,7 @@ msgstr "" " или \\setenv ИМЯ ЗНАЧЕНИЕ в приглашении psql\n" "\n" -#: help.c:524 +#: help.c:530 msgid "" " COLUMNS\n" " number of columns for wrapped format\n" @@ -3993,7 +4072,7 @@ msgstr "" " COLUMNS\n" " число столбцов для форматирования с переносом\n" -#: help.c:526 +#: help.c:532 msgid "" " PGAPPNAME\n" " same as the application_name connection parameter\n" @@ -4001,7 +4080,7 @@ msgstr "" " PGAPPNAME\n" " синоним параметра подключения application_name\n" -#: help.c:528 +#: help.c:534 msgid "" " PGDATABASE\n" " same as the dbname connection parameter\n" @@ -4009,7 +4088,7 @@ msgstr "" " PGDATABASE\n" " синоним параметра подключения dbname\n" -#: help.c:530 +#: help.c:536 msgid "" " PGHOST\n" " same as the host connection parameter\n" @@ -4017,7 +4096,7 @@ msgstr "" " PGHOST\n" " синоним параметра подключения host\n" -#: help.c:532 +#: help.c:538 msgid "" " PGPASSFILE\n" " password file name\n" @@ -4025,7 +4104,7 @@ msgstr "" " PGPASSFILE\n" " имя файла с паролем\n" -#: help.c:534 +#: help.c:540 msgid "" " PGPASSWORD\n" " connection password (not recommended)\n" @@ -4033,7 +4112,7 @@ msgstr "" " PGPASSWORD\n" " пароль для подключения (использовать не рекомендуется)\n" -#: help.c:536 +#: help.c:542 msgid "" " PGPORT\n" " same as the port connection parameter\n" @@ -4041,7 +4120,7 @@ msgstr "" " PGPORT\n" " синоним параметра подключения port\n" -#: help.c:538 +#: help.c:544 msgid "" " PGUSER\n" " same as the user connection parameter\n" @@ -4049,7 +4128,7 @@ msgstr "" " PGUSER\n" " синоним параметра подключения user\n" -#: help.c:540 +#: help.c:546 msgid "" " PSQL_EDITOR, EDITOR, VISUAL\n" " editor used by the \\e, \\ef, and \\ev commands\n" @@ -4057,7 +4136,7 @@ msgstr "" " PSQL_EDITOR, EDITOR, VISUAL\n" " редактор, вызываемый командами \\e, \\ef и \\ev\n" -#: help.c:542 +#: help.c:548 msgid "" " PSQL_EDITOR_LINENUMBER_ARG\n" " how to specify a line number when invoking the editor\n" @@ -4065,7 +4144,7 @@ msgstr "" " PSQL_EDITOR_LINENUMBER_ARG\n" " определяет способ передачи номера строки при вызове редактора\n" -#: help.c:544 +#: help.c:550 msgid "" " PSQL_HISTORY\n" " alternative location for the command history file\n" @@ -4073,7 +4152,7 @@ msgstr "" " PSQL_HISTORY\n" " альтернативное размещение файла с историей команд\n" -#: help.c:546 +#: help.c:552 msgid "" " PSQL_PAGER, PAGER\n" " name of external pager program\n" @@ -4081,7 +4160,7 @@ msgstr "" " PSQL_PAGER, PAGER\n" " имя программы внешнего постраничника\n" -#: help.c:549 +#: help.c:555 msgid "" " PSQL_WATCH_PAGER\n" " name of external pager program used for \\watch\n" @@ -4089,7 +4168,7 @@ msgstr "" " PSQL_WATCH_PAGER\n" " имя программы внешнего постраничника для \\watch\n" -#: help.c:552 +#: help.c:558 msgid "" " PSQLRC\n" " alternative location for the user's .psqlrc file\n" @@ -4097,7 +4176,7 @@ msgstr "" " PSQLRC\n" " альтернативное размещение пользовательского файла .psqlrc\n" -#: help.c:554 +#: help.c:560 msgid "" " SHELL\n" " shell used by the \\! command\n" @@ -4105,7 +4184,7 @@ msgstr "" " SHELL\n" " оболочка, вызываемая командой \\!\n" -#: help.c:556 +#: help.c:562 msgid "" " TMPDIR\n" " directory for temporary files\n" @@ -4113,11 +4192,11 @@ msgstr "" " TMPDIR\n" " каталог для временных файлов\n" -#: help.c:616 +#: help.c:622 msgid "Available help:\n" msgstr "Имеющаяся справка:\n" -#: help.c:711 +#: help.c:717 #, c-format msgid "" "Command: %s\n" @@ -4136,7 +4215,7 @@ msgstr "" "URL: %s\n" "\n" -#: help.c:734 +#: help.c:740 #, c-format msgid "" "No help available for \"%s\".\n" @@ -4145,17 +4224,17 @@ msgstr "" "Нет справки по команде \"%s\".\n" "Попробуйте \\h без аргументов и посмотрите, что есть.\n" -#: input.c:217 +#: input.c:216 #, c-format msgid "could not read from input file: %m" msgstr "не удалось прочитать входной файл: %m" -#: input.c:478 input.c:516 +#: input.c:477 input.c:515 #, c-format msgid "could not save history to file \"%s\": %m" msgstr "не удалось сохранить историю в файле \"%s\": %m" -#: input.c:535 +#: input.c:534 #, c-format msgid "history is not supported by this installation" msgstr "в данной среде история не поддерживается" @@ -4248,12 +4327,12 @@ msgstr "" msgid "reached EOF without finding closing \\endif(s)" msgstr "в закончившемся потоке команд не хватает \\endif" -#: psqlscanslash.l:638 +#: psqlscanslash.l:640 #, c-format msgid "unterminated quoted string" msgstr "незавершённая строка в кавычках" -#: psqlscanslash.l:811 +#: psqlscanslash.l:825 #, c-format msgid "%s: out of memory" msgstr "%s: нехватка памяти" @@ -4295,34 +4374,34 @@ msgstr "%s: нехватка памяти" #: 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:1749 sql_help.c:1765 sql_help.c:1996 -#: sql_help.c:2065 sql_help.c:2084 sql_help.c:2097 sql_help.c:2154 -#: sql_help.c:2161 sql_help.c:2171 sql_help.c:2197 sql_help.c:2228 -#: sql_help.c:2246 sql_help.c:2274 sql_help.c:2385 sql_help.c:2431 -#: sql_help.c:2456 sql_help.c:2479 sql_help.c:2483 sql_help.c:2517 -#: sql_help.c:2537 sql_help.c:2559 sql_help.c:2573 sql_help.c:2594 -#: sql_help.c:2623 sql_help.c:2658 sql_help.c:2683 sql_help.c:2730 -#: sql_help.c:3025 sql_help.c:3038 sql_help.c:3055 sql_help.c:3071 -#: sql_help.c:3111 sql_help.c:3165 sql_help.c:3169 sql_help.c:3171 -#: sql_help.c:3178 sql_help.c:3197 sql_help.c:3224 sql_help.c:3259 -#: sql_help.c:3271 sql_help.c:3280 sql_help.c:3324 sql_help.c:3338 -#: sql_help.c:3366 sql_help.c:3374 sql_help.c:3386 sql_help.c:3396 -#: sql_help.c:3404 sql_help.c:3412 sql_help.c:3420 sql_help.c:3428 -#: sql_help.c:3437 sql_help.c:3448 sql_help.c:3456 sql_help.c:3464 -#: sql_help.c:3472 sql_help.c:3480 sql_help.c:3490 sql_help.c:3499 -#: sql_help.c:3508 sql_help.c:3516 sql_help.c:3526 sql_help.c:3537 -#: sql_help.c:3545 sql_help.c:3554 sql_help.c:3565 sql_help.c:3574 -#: 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:3671 sql_help.c:3680 -#: sql_help.c:3688 sql_help.c:3705 sql_help.c:3720 sql_help.c:4030 -#: sql_help.c:4140 sql_help.c:4169 sql_help.c:4184 sql_help.c:4687 -#: sql_help.c:4735 sql_help.c:4893 +#: 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 msgid "name" msgstr "имя" -#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:330 sql_help.c:1846 -#: sql_help.c:3339 sql_help.c:4455 +#: 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 msgid "aggregate_signature" msgstr "сигнатура_агр_функции" @@ -4343,7 +4422,7 @@ msgstr "новое_имя" #: 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:3011 +#: sql_help.c:1572 sql_help.c:1688 sql_help.c:3019 msgid "new_owner" msgstr "новый_владелец" @@ -4355,7 +4434,7 @@ msgstr "новый_владелец" msgid "new_schema" msgstr "новая_схема" -#: sql_help.c:44 sql_help.c:1910 sql_help.c:3340 sql_help.c:4484 +#: sql_help.c:44 sql_help.c:1912 sql_help.c:3348 sql_help.c:4497 msgid "where aggregate_signature is:" msgstr "где сигнатура_агр_функции:" @@ -4364,13 +4443,13 @@ msgstr "где сигнатура_агр_функции:" #: 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:1864 sql_help.c:1881 sql_help.c:1887 sql_help.c:1911 -#: sql_help.c:1914 sql_help.c:1917 sql_help.c:2066 sql_help.c:2085 -#: sql_help.c:2088 sql_help.c:2386 sql_help.c:2595 sql_help.c:3341 -#: sql_help.c:3344 sql_help.c:3347 sql_help.c:3438 sql_help.c:3527 -#: sql_help.c:3555 sql_help.c:3905 sql_help.c:4354 sql_help.c:4461 -#: sql_help.c:4468 sql_help.c:4474 sql_help.c:4485 sql_help.c:4488 -#: sql_help.c:4491 +#: 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 msgid "argmode" msgstr "режим_аргумента" @@ -4379,12 +4458,12 @@ msgstr "режим_аргумента" #: 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:1865 sql_help.c:1882 sql_help.c:1888 sql_help.c:1912 -#: sql_help.c:1915 sql_help.c:1918 sql_help.c:2067 sql_help.c:2086 -#: sql_help.c:2089 sql_help.c:2387 sql_help.c:2596 sql_help.c:3342 -#: sql_help.c:3345 sql_help.c:3348 sql_help.c:3439 sql_help.c:3528 -#: sql_help.c:3556 sql_help.c:4462 sql_help.c:4469 sql_help.c:4475 -#: sql_help.c:4486 sql_help.c:4489 sql_help.c:4492 +#: 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 msgid "argname" msgstr "имя_аргумента" @@ -4393,44 +4472,44 @@ msgstr "имя_аргумента" #: 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:1866 sql_help.c:1883 sql_help.c:1889 sql_help.c:1913 -#: sql_help.c:1916 sql_help.c:1919 sql_help.c:2388 sql_help.c:2597 -#: sql_help.c:3343 sql_help.c:3346 sql_help.c:3349 sql_help.c:3440 -#: sql_help.c:3529 sql_help.c:3557 sql_help.c:4463 sql_help.c:4470 -#: sql_help.c:4476 sql_help.c:4487 sql_help.c:4490 sql_help.c:4493 +#: 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 msgid "argtype" msgstr "тип_аргумента" #: sql_help.c:114 sql_help.c:397 sql_help.c:474 sql_help.c:486 sql_help.c:949 #: sql_help.c:1100 sql_help.c:1505 sql_help.c:1634 sql_help.c:1666 -#: sql_help.c:1718 sql_help.c:1781 sql_help.c:1967 sql_help.c:1974 -#: sql_help.c:2277 sql_help.c:2327 sql_help.c:2334 sql_help.c:2343 -#: sql_help.c:2432 sql_help.c:2659 sql_help.c:2752 sql_help.c:3040 -#: sql_help.c:3225 sql_help.c:3247 sql_help.c:3387 sql_help.c:3742 -#: sql_help.c:3949 sql_help.c:4183 sql_help.c:4956 +#: 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 msgid "option" msgstr "параметр" -#: sql_help.c:115 sql_help.c:950 sql_help.c:1635 sql_help.c:2433 -#: sql_help.c:2660 sql_help.c:3226 sql_help.c:3388 +#: 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 msgid "where option can be:" msgstr "где допустимые параметры:" -#: sql_help.c:116 sql_help.c:2209 +#: sql_help.c:116 sql_help.c:2217 msgid "allowconn" msgstr "разр_подключения" -#: sql_help.c:117 sql_help.c:951 sql_help.c:1636 sql_help.c:2210 -#: sql_help.c:2434 sql_help.c:2661 sql_help.c:3227 +#: 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 msgid "connlimit" msgstr "предел_подключений" -#: sql_help.c:118 sql_help.c:2211 +#: sql_help.c:118 sql_help.c:2219 msgid "istemplate" msgstr "это_шаблон" #: 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:4187 +#: sql_help.c:1374 sql_help.c:4200 msgid "new_tablespace" msgstr "новое_табл_пространство" @@ -4438,8 +4517,8 @@ msgstr "новое_табл_пространство" #: 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:2398 sql_help.c:2601 -#: sql_help.c:3917 sql_help.c:4205 sql_help.c:4366 sql_help.c:4675 +#: 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 msgid "configuration_parameter" msgstr "параметр_конфигурации" @@ -4450,13 +4529,13 @@ msgstr "параметр_конфигурации" #: 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:2278 sql_help.c:2328 sql_help.c:2335 sql_help.c:2344 -#: sql_help.c:2399 sql_help.c:2400 sql_help.c:2464 sql_help.c:2467 -#: sql_help.c:2501 sql_help.c:2602 sql_help.c:2603 sql_help.c:2626 -#: sql_help.c:2753 sql_help.c:2792 sql_help.c:2902 sql_help.c:2915 -#: sql_help.c:2929 sql_help.c:2970 sql_help.c:2997 sql_help.c:3014 -#: sql_help.c:3041 sql_help.c:3248 sql_help.c:3950 sql_help.c:4676 -#: sql_help.c:4677 sql_help.c:4678 sql_help.c:4679 +#: 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 msgid "value" msgstr "значение" @@ -4464,10 +4543,10 @@ msgstr "значение" msgid "target_role" msgstr "целевая_роль" -#: sql_help.c:201 sql_help.c:913 sql_help.c:2262 sql_help.c:2631 -#: sql_help.c:2708 sql_help.c:2713 sql_help.c:3880 sql_help.c:3889 -#: sql_help.c:3908 sql_help.c:3920 sql_help.c:4329 sql_help.c:4338 -#: sql_help.c:4357 sql_help.c:4369 +#: 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 msgid "schema_name" msgstr "имя_схемы" @@ -4482,31 +4561,31 @@ msgstr "где допустимое предложение_GRANT_или_REVOKE:" #: sql_help.c:204 sql_help.c:205 sql_help.c:206 sql_help.c:207 sql_help.c:208 #: sql_help.c:209 sql_help.c:210 sql_help.c:211 sql_help.c:212 sql_help.c:213 #: sql_help.c:574 sql_help.c:610 sql_help.c:678 sql_help.c:822 sql_help.c:969 -#: sql_help.c:1321 sql_help.c:1654 sql_help.c:2437 sql_help.c:2438 -#: sql_help.c:2439 sql_help.c:2440 sql_help.c:2441 sql_help.c:2575 -#: sql_help.c:2664 sql_help.c:2665 sql_help.c:2666 sql_help.c:2667 -#: sql_help.c:2668 sql_help.c:3230 sql_help.c:3231 sql_help.c:3232 -#: sql_help.c:3233 sql_help.c:3234 sql_help.c:3929 sql_help.c:3933 -#: sql_help.c:4378 sql_help.c:4382 sql_help.c:4697 +#: 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 msgid "role_name" msgstr "имя_роли" -#: 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:2231 sql_help.c:2235 sql_help.c:2347 -#: sql_help.c:2352 sql_help.c:2460 sql_help.c:2630 sql_help.c:2769 -#: sql_help.c:2774 sql_help.c:2776 sql_help.c:2897 sql_help.c:2910 -#: sql_help.c:2924 sql_help.c:2933 sql_help.c:2945 sql_help.c:2974 -#: sql_help.c:3981 sql_help.c:3996 sql_help.c:3998 sql_help.c:4085 -#: sql_help.c:4088 sql_help.c:4090 sql_help.c:4548 sql_help.c:4549 -#: sql_help.c:4558 sql_help.c:4605 sql_help.c:4606 sql_help.c:4607 -#: sql_help.c:4608 sql_help.c:4609 sql_help.c:4610 sql_help.c:4650 -#: sql_help.c:4651 sql_help.c:4656 sql_help.c:4661 sql_help.c:4805 -#: sql_help.c:4806 sql_help.c:4815 sql_help.c:4862 sql_help.c:4863 -#: sql_help.c:4864 sql_help.c:4865 sql_help.c:4866 sql_help.c:4867 -#: sql_help.c:4921 sql_help.c:4923 sql_help.c:4983 sql_help.c:5043 -#: sql_help.c:5044 sql_help.c:5053 sql_help.c:5100 sql_help.c:5101 -#: sql_help.c:5102 sql_help.c:5103 sql_help.c:5104 sql_help.c:5105 +#: 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 msgid "expression" msgstr "выражение" @@ -4516,9 +4595,9 @@ msgstr "ограничение_домена" #: 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:1852 -#: sql_help.c:1854 sql_help.c:2234 sql_help.c:2346 sql_help.c:2351 -#: sql_help.c:2932 sql_help.c:2944 sql_help.c:3993 +#: 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 msgid "constraint_name" msgstr "имя_ограничения" @@ -4542,83 +4621,83 @@ msgstr "где элемент_объект:" #: 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:1844 sql_help.c:1849 sql_help.c:1856 -#: sql_help.c:1857 sql_help.c:1858 sql_help.c:1859 sql_help.c:1860 -#: sql_help.c:1861 sql_help.c:1862 sql_help.c:1867 sql_help.c:1869 -#: sql_help.c:1873 sql_help.c:1875 sql_help.c:1879 sql_help.c:1884 -#: sql_help.c:1885 sql_help.c:1892 sql_help.c:1893 sql_help.c:1894 -#: sql_help.c:1895 sql_help.c:1896 sql_help.c:1897 sql_help.c:1898 -#: sql_help.c:1899 sql_help.c:1900 sql_help.c:1901 sql_help.c:1902 -#: sql_help.c:1907 sql_help.c:1908 sql_help.c:4451 sql_help.c:4456 -#: sql_help.c:4457 sql_help.c:4458 sql_help.c:4459 sql_help.c:4465 -#: sql_help.c:4466 sql_help.c:4471 sql_help.c:4472 sql_help.c:4477 -#: sql_help.c:4478 sql_help.c:4479 sql_help.c:4480 sql_help.c:4481 -#: sql_help.c:4482 +#: sql_help.c:371 sql_help.c:1846 sql_help.c:1851 sql_help.c:1858 +#: sql_help.c:1859 sql_help.c:1860 sql_help.c:1861 sql_help.c:1862 +#: sql_help.c:1863 sql_help.c:1864 sql_help.c:1869 sql_help.c:1871 +#: sql_help.c:1875 sql_help.c:1877 sql_help.c:1881 sql_help.c:1886 +#: sql_help.c:1887 sql_help.c:1894 sql_help.c:1895 sql_help.c:1896 +#: sql_help.c:1897 sql_help.c:1898 sql_help.c:1899 sql_help.c:1900 +#: sql_help.c:1901 sql_help.c:1902 sql_help.c:1903 sql_help.c:1904 +#: sql_help.c:1909 sql_help.c:1910 sql_help.c:4464 sql_help.c:4469 +#: sql_help.c:4470 sql_help.c:4471 sql_help.c:4472 sql_help.c:4478 +#: sql_help.c:4479 sql_help.c:4484 sql_help.c:4485 sql_help.c:4490 +#: sql_help.c:4491 sql_help.c:4492 sql_help.c:4493 sql_help.c:4494 +#: sql_help.c:4495 msgid "object_name" msgstr "имя_объекта" # well-spelled: агр -#: sql_help.c:329 sql_help.c:1845 sql_help.c:4454 +#: sql_help.c:329 sql_help.c:1847 sql_help.c:4467 msgid "aggregate_name" msgstr "имя_агр_функции" -#: sql_help.c:331 sql_help.c:1847 sql_help.c:2131 sql_help.c:2135 -#: sql_help.c:2137 sql_help.c:3357 +#: sql_help.c:331 sql_help.c:1849 sql_help.c:2135 sql_help.c:2139 +#: sql_help.c:2141 sql_help.c:3365 msgid "source_type" msgstr "исходный_тип" -#: sql_help.c:332 sql_help.c:1848 sql_help.c:2132 sql_help.c:2136 -#: sql_help.c:2138 sql_help.c:3358 +#: sql_help.c:332 sql_help.c:1850 sql_help.c:2136 sql_help.c:2140 +#: sql_help.c:2142 sql_help.c:3366 msgid "target_type" msgstr "целевой_тип" -#: sql_help.c:339 sql_help.c:786 sql_help.c:1863 sql_help.c:2133 -#: sql_help.c:2174 sql_help.c:2250 sql_help.c:2518 sql_help.c:2549 -#: sql_help.c:3117 sql_help.c:4353 sql_help.c:4460 sql_help.c:4577 -#: sql_help.c:4581 sql_help.c:4585 sql_help.c:4588 sql_help.c:4834 -#: sql_help.c:4838 sql_help.c:4842 sql_help.c:4845 sql_help.c:5072 -#: sql_help.c:5076 sql_help.c:5080 sql_help.c:5083 +#: 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 msgid "function_name" msgstr "имя_функции" -#: sql_help.c:344 sql_help.c:779 sql_help.c:1870 sql_help.c:2542 +#: sql_help.c:344 sql_help.c:779 sql_help.c:1872 sql_help.c:2550 msgid "operator_name" msgstr "имя_оператора" -#: sql_help.c:345 sql_help.c:715 sql_help.c:719 sql_help.c:723 sql_help.c:1871 -#: sql_help.c:2519 sql_help.c:3481 +#: 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 msgid "left_type" msgstr "тип_слева" -#: sql_help.c:346 sql_help.c:716 sql_help.c:720 sql_help.c:724 sql_help.c:1872 -#: sql_help.c:2520 sql_help.c:3482 +#: 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 msgid "right_type" msgstr "тип_справа" #: sql_help.c:348 sql_help.c:350 sql_help.c:742 sql_help.c:745 sql_help.c:748 #: sql_help.c:777 sql_help.c:789 sql_help.c:797 sql_help.c:800 sql_help.c:803 -#: sql_help.c:1408 sql_help.c:1874 sql_help.c:1876 sql_help.c:2539 -#: sql_help.c:2560 sql_help.c:2950 sql_help.c:3491 sql_help.c:3500 +#: 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 msgid "index_method" msgstr "метод_индекса" -#: sql_help.c:352 sql_help.c:1880 sql_help.c:4467 +#: sql_help.c:352 sql_help.c:1882 sql_help.c:4480 msgid "procedure_name" msgstr "имя_процедуры" -#: sql_help.c:356 sql_help.c:1886 sql_help.c:3904 sql_help.c:4473 +#: sql_help.c:356 sql_help.c:1888 sql_help.c:3914 sql_help.c:4486 msgid "routine_name" msgstr "имя_подпрограммы" -#: sql_help.c:368 sql_help.c:1380 sql_help.c:1903 sql_help.c:2394 -#: sql_help.c:2600 sql_help.c:2905 sql_help.c:3084 sql_help.c:3662 -#: sql_help.c:3926 sql_help.c:4375 +#: 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 msgid "type_name" msgstr "имя_типа" -#: sql_help.c:369 sql_help.c:1904 sql_help.c:2393 sql_help.c:2599 -#: sql_help.c:3085 sql_help.c:3315 sql_help.c:3663 sql_help.c:3911 -#: sql_help.c:4360 +#: 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 msgid "lang_name" msgstr "имя_языка" @@ -4626,11 +4705,11 @@ msgstr "имя_языка" msgid "and aggregate_signature is:" msgstr "и сигнатура_агр_функции:" -#: sql_help.c:395 sql_help.c:1998 sql_help.c:2275 +#: sql_help.c:395 sql_help.c:2002 sql_help.c:2283 msgid "handler_function" msgstr "функция_обработчик" -#: sql_help.c:396 sql_help.c:2276 +#: sql_help.c:396 sql_help.c:2284 msgid "validator_function" msgstr "функция_проверки" @@ -4649,21 +4728,21 @@ msgstr "действие" #: 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:1726 sql_help.c:1851 -#: sql_help.c:1964 sql_help.c:1970 sql_help.c:1983 sql_help.c:1984 -#: sql_help.c:1985 sql_help.c:2325 sql_help.c:2338 sql_help.c:2391 -#: sql_help.c:2459 sql_help.c:2465 sql_help.c:2498 sql_help.c:2629 -#: sql_help.c:2738 sql_help.c:2773 sql_help.c:2775 sql_help.c:2887 -#: sql_help.c:2896 sql_help.c:2906 sql_help.c:2909 sql_help.c:2919 -#: sql_help.c:2923 sql_help.c:2946 sql_help.c:2948 sql_help.c:2955 -#: sql_help.c:2968 sql_help.c:2973 sql_help.c:2977 sql_help.c:2978 -#: sql_help.c:2994 sql_help.c:3120 sql_help.c:3260 sql_help.c:3883 -#: sql_help.c:3884 sql_help.c:3980 sql_help.c:3995 sql_help.c:3997 -#: sql_help.c:3999 sql_help.c:4084 sql_help.c:4087 sql_help.c:4089 -#: sql_help.c:4332 sql_help.c:4333 sql_help.c:4453 sql_help.c:4614 -#: sql_help.c:4620 sql_help.c:4622 sql_help.c:4871 sql_help.c:4877 -#: sql_help.c:4879 sql_help.c:4920 sql_help.c:4922 sql_help.c:4924 -#: sql_help.c:4971 sql_help.c:5109 sql_help.c:5115 sql_help.c:5117 +#: 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 msgid "column_name" msgstr "имя_столбца" @@ -4677,25 +4756,25 @@ msgid "where action is one of:" msgstr "где допустимое действие:" #: 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:2229 -#: sql_help.c:2326 sql_help.c:2538 sql_help.c:2731 sql_help.c:2888 -#: sql_help.c:3167 sql_help.c:4141 +#: 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 msgid "data_type" msgstr "тип_данных" #: 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:2230 sql_help.c:2329 -#: sql_help.c:2461 sql_help.c:2890 sql_help.c:2898 sql_help.c:2911 -#: sql_help.c:2925 sql_help.c:3168 sql_help.c:3174 sql_help.c:3990 +#: 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 msgid "collation" msgstr "правило_сортировки" -#: sql_help.c:456 sql_help.c:1332 sql_help.c:2330 sql_help.c:2339 -#: sql_help.c:2891 sql_help.c:2907 sql_help.c:2920 +#: 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 msgid "column_constraint" msgstr "ограничение_столбца" -#: sql_help.c:466 sql_help.c:608 sql_help.c:682 sql_help.c:1350 sql_help.c:4968 +#: sql_help.c:466 sql_help.c:608 sql_help.c:682 sql_help.c:1350 sql_help.c:4986 msgid "integer" msgstr "целое" @@ -4704,67 +4783,67 @@ msgstr "целое" msgid "attribute_option" msgstr "атрибут" -#: sql_help.c:476 sql_help.c:1359 sql_help.c:2331 sql_help.c:2340 -#: sql_help.c:2892 sql_help.c:2908 sql_help.c:2921 +#: 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 msgid "table_constraint" msgstr "ограничение_таблицы" #: 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:1905 +#: sql_help.c:1365 sql_help.c:1366 sql_help.c:1367 sql_help.c:1907 msgid "trigger_name" msgstr "имя_триггера" #: sql_help.c:483 sql_help.c:484 sql_help.c:1378 sql_help.c:1379 -#: sql_help.c:2332 sql_help.c:2337 sql_help.c:2895 sql_help.c:2918 +#: sql_help.c:2340 sql_help.c:2345 sql_help.c:2903 sql_help.c:2926 msgid "parent_table" msgstr "таблица_родитель" #: sql_help.c:543 sql_help.c:600 sql_help.c:669 sql_help.c:873 sql_help.c:1023 -#: sql_help.c:1550 sql_help.c:2261 +#: sql_help.c:1550 sql_help.c:2269 msgid "extension_name" msgstr "имя_расширения" -#: sql_help.c:545 sql_help.c:1025 sql_help.c:2395 +#: sql_help.c:545 sql_help.c:1025 sql_help.c:2403 msgid "execution_cost" msgstr "стоимость_выполнения" -#: sql_help.c:546 sql_help.c:1026 sql_help.c:2396 +#: sql_help.c:546 sql_help.c:1026 sql_help.c:2404 msgid "result_rows" msgstr "строк_в_результате" -#: sql_help.c:547 sql_help.c:2397 +#: sql_help.c:547 sql_help.c:2405 msgid "support_function" msgstr "вспомогательная_функция" #: sql_help.c:569 sql_help.c:571 sql_help.c:948 sql_help.c:956 sql_help.c:960 #: sql_help.c:963 sql_help.c:966 sql_help.c:1633 sql_help.c:1641 -#: sql_help.c:1645 sql_help.c:1648 sql_help.c:1651 sql_help.c:2709 -#: sql_help.c:2711 sql_help.c:2714 sql_help.c:2715 sql_help.c:3881 -#: sql_help.c:3882 sql_help.c:3886 sql_help.c:3887 sql_help.c:3890 -#: sql_help.c:3891 sql_help.c:3893 sql_help.c:3894 sql_help.c:3896 -#: sql_help.c:3897 sql_help.c:3899 sql_help.c:3900 sql_help.c:3902 -#: sql_help.c:3903 sql_help.c:3909 sql_help.c:3910 sql_help.c:3912 -#: sql_help.c:3913 sql_help.c:3915 sql_help.c:3916 sql_help.c:3918 -#: sql_help.c:3919 sql_help.c:3921 sql_help.c:3922 sql_help.c:3924 -#: sql_help.c:3925 sql_help.c:3927 sql_help.c:3928 sql_help.c:3930 -#: sql_help.c:3931 sql_help.c:4330 sql_help.c:4331 sql_help.c:4335 -#: sql_help.c:4336 sql_help.c:4339 sql_help.c:4340 sql_help.c:4342 -#: sql_help.c:4343 sql_help.c:4345 sql_help.c:4346 sql_help.c:4348 -#: sql_help.c:4349 sql_help.c:4351 sql_help.c:4352 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:4367 sql_help.c:4368 sql_help.c:4370 -#: sql_help.c:4371 sql_help.c:4373 sql_help.c:4374 sql_help.c:4376 -#: sql_help.c:4377 sql_help.c:4379 sql_help.c:4380 +#: sql_help.c: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 msgid "role_specification" msgstr "указание_роли" -#: sql_help.c:570 sql_help.c:572 sql_help.c:1664 sql_help.c:2198 -#: sql_help.c:2717 sql_help.c:3245 sql_help.c:3696 sql_help.c:4707 +#: 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 msgid "user_name" msgstr "имя_пользователя" -#: sql_help.c:573 sql_help.c:968 sql_help.c:1653 sql_help.c:2716 -#: sql_help.c:3932 sql_help.c:4381 +#: sql_help.c:573 sql_help.c:968 sql_help.c:1653 sql_help.c:2724 +#: sql_help.c:3942 sql_help.c:4394 msgid "where role_specification can be:" msgstr "где допустимое указание_роли:" @@ -4772,22 +4851,22 @@ msgstr "где допустимое указание_роли:" msgid "group_name" msgstr "имя_группы" -#: sql_help.c:596 sql_help.c:1425 sql_help.c:2208 sql_help.c:2468 -#: sql_help.c:2502 sql_help.c:2903 sql_help.c:2916 sql_help.c:2930 -#: sql_help.c:2971 sql_help.c:2998 sql_help.c:3010 sql_help.c:3923 -#: sql_help.c:4372 +#: 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 msgid "tablespace_name" msgstr "табл_пространство" #: sql_help.c:598 sql_help.c:691 sql_help.c:1372 sql_help.c:1382 -#: sql_help.c:1420 sql_help.c:1780 sql_help.c:1783 +#: sql_help.c:1420 sql_help.c:1782 sql_help.c:1785 msgid "index_name" msgstr "имя_индекса" #: 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:2466 sql_help.c:2500 -#: sql_help.c:2901 sql_help.c:2914 sql_help.c:2928 sql_help.c:2969 -#: sql_help.c:2996 +#: 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 msgid "storage_parameter" msgstr "параметр_хранения" @@ -4795,11 +4874,11 @@ msgstr "параметр_хранения" msgid "column_number" msgstr "номер_столбца" -#: sql_help.c:631 sql_help.c:1868 sql_help.c:4464 +#: sql_help.c:631 sql_help.c:1870 sql_help.c:4477 msgid "large_object_oid" msgstr "oid_большого_объекта" -#: sql_help.c:690 sql_help.c:1358 sql_help.c:2889 +#: sql_help.c:690 sql_help.c:1358 sql_help.c:2897 msgid "compression_method" msgstr "метод_сжатия" @@ -4807,104 +4886,104 @@ msgstr "метод_сжатия" msgid "new_access_method" msgstr "новый_метод_доступа" -#: sql_help.c:725 sql_help.c:2523 +#: sql_help.c:725 sql_help.c:2531 msgid "res_proc" msgstr "процедура_ограничения" -#: sql_help.c:726 sql_help.c:2524 +#: sql_help.c:726 sql_help.c:2532 msgid "join_proc" msgstr "процедура_соединения" -#: sql_help.c:778 sql_help.c:790 sql_help.c:2541 +#: sql_help.c:778 sql_help.c:790 sql_help.c:2549 msgid "strategy_number" msgstr "номер_стратегии" #: sql_help.c:780 sql_help.c:781 sql_help.c:784 sql_help.c:785 sql_help.c:791 -#: sql_help.c:792 sql_help.c:794 sql_help.c:795 sql_help.c:2543 -#: sql_help.c:2544 sql_help.c:2547 sql_help.c:2548 +#: 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 msgid "op_type" msgstr "тип_операции" -#: sql_help.c:782 sql_help.c:2545 +#: sql_help.c:782 sql_help.c:2553 msgid "sort_family_name" msgstr "семейство_сортировки" -#: sql_help.c:783 sql_help.c:793 sql_help.c:2546 +#: sql_help.c:783 sql_help.c:793 sql_help.c:2554 msgid "support_number" msgstr "номер_опорной_процедуры" -#: sql_help.c:787 sql_help.c:2134 sql_help.c:2550 sql_help.c:3087 -#: sql_help.c:3089 +#: sql_help.c:787 sql_help.c:2138 sql_help.c:2558 sql_help.c:3095 +#: sql_help.c:3097 msgid "argument_type" msgstr "тип_аргумента" -#: sql_help.c:818 sql_help.c:821 sql_help.c:910 sql_help.c:1039 -#: sql_help.c:1079 sql_help.c:1546 sql_help.c:1549 sql_help.c:1725 -#: sql_help.c:1779 sql_help.c:1782 sql_help.c:1853 sql_help.c:1878 -#: sql_help.c:1891 sql_help.c:1906 sql_help.c:1963 sql_help.c:1969 -#: sql_help.c:2324 sql_help.c:2336 sql_help.c:2457 sql_help.c:2497 -#: sql_help.c:2574 sql_help.c:2628 sql_help.c:2685 sql_help.c:2737 -#: sql_help.c:2770 sql_help.c:2777 sql_help.c:2886 sql_help.c:2904 -#: sql_help.c:2917 sql_help.c:2993 sql_help.c:3113 sql_help.c:3294 -#: sql_help.c:3517 sql_help.c:3566 sql_help.c:3672 sql_help.c:3879 -#: sql_help.c:3885 sql_help.c:3946 sql_help.c:3978 sql_help.c:4328 -#: sql_help.c:4334 sql_help.c:4452 sql_help.c:4563 sql_help.c:4565 -#: sql_help.c:4627 sql_help.c:4666 sql_help.c:4820 sql_help.c:4822 -#: sql_help.c:4884 sql_help.c:4918 sql_help.c:4970 sql_help.c:5058 -#: sql_help.c:5060 sql_help.c:5122 +#: 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 msgid "table_name" msgstr "имя_таблицы" -#: sql_help.c:823 sql_help.c:2576 +#: sql_help.c:823 sql_help.c:2584 msgid "using_expression" msgstr "выражение_использования" -#: sql_help.c:824 sql_help.c:2577 +#: sql_help.c:824 sql_help.c:2585 msgid "check_expression" msgstr "выражение_проверки" -#: sql_help.c:897 sql_help.c:899 sql_help.c:901 sql_help.c:2624 +#: sql_help.c:897 sql_help.c:899 sql_help.c:901 sql_help.c:2632 msgid "publication_object" msgstr "объект_публикации" -#: sql_help.c:903 sql_help.c:2625 +#: sql_help.c:903 sql_help.c:2633 msgid "publication_parameter" msgstr "параметр_публикации" -#: sql_help.c:909 sql_help.c:2627 +#: sql_help.c:909 sql_help.c:2635 msgid "where publication_object is one of:" msgstr "где объект_публикации:" -#: sql_help.c:952 sql_help.c:1637 sql_help.c:2435 sql_help.c:2662 -#: sql_help.c:3228 +#: sql_help.c:952 sql_help.c:1637 sql_help.c:2443 sql_help.c:2670 +#: sql_help.c:3236 msgid "password" msgstr "пароль" -#: sql_help.c:953 sql_help.c:1638 sql_help.c:2436 sql_help.c:2663 -#: sql_help.c:3229 +#: sql_help.c:953 sql_help.c:1638 sql_help.c:2444 sql_help.c:2671 +#: sql_help.c:3237 msgid "timestamp" msgstr "timestamp" #: 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:3892 -#: sql_help.c:4341 +#: sql_help.c:1646 sql_help.c:1649 sql_help.c:1652 sql_help.c:3902 +#: sql_help.c:4354 msgid "database_name" msgstr "имя_БД" -#: sql_help.c:1073 sql_help.c:2732 +#: sql_help.c:1073 sql_help.c:2740 msgid "increment" msgstr "шаг" -#: sql_help.c:1074 sql_help.c:2733 +#: sql_help.c:1074 sql_help.c:2741 msgid "minvalue" msgstr "мин_значение" -#: sql_help.c:1075 sql_help.c:2734 +#: sql_help.c:1075 sql_help.c:2742 msgid "maxvalue" msgstr "макс_значение" -#: sql_help.c:1076 sql_help.c:2735 sql_help.c:4561 sql_help.c:4664 -#: sql_help.c:4818 sql_help.c:4987 sql_help.c:5056 +#: 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 msgid "start" msgstr "начальное_значение" @@ -4912,7 +4991,7 @@ msgstr "начальное_значение" msgid "restart" msgstr "значение_перезапуска" -#: sql_help.c:1078 sql_help.c:2736 +#: sql_help.c:1078 sql_help.c:2744 msgid "cache" msgstr "кеш" @@ -4920,11 +4999,11 @@ msgstr "кеш" msgid "new_target" msgstr "новое_имя" -#: sql_help.c:1142 sql_help.c:2789 +#: sql_help.c:1142 sql_help.c:2797 msgid "conninfo" msgstr "строка_подключения" -#: sql_help.c:1144 sql_help.c:1148 sql_help.c:1152 sql_help.c:2790 +#: sql_help.c:1144 sql_help.c:1148 sql_help.c:1152 sql_help.c:2798 msgid "publication_name" msgstr "имя_публикации" @@ -4936,7 +5015,7 @@ msgstr "параметр_публикации" msgid "refresh_option" msgstr "параметр_обновления" -#: sql_help.c:1161 sql_help.c:2791 +#: sql_help.c:1161 sql_help.c:2799 msgid "subscription_parameter" msgstr "параметр_подписки" @@ -4948,11 +5027,11 @@ msgstr "параметр_пропуска" msgid "partition_name" msgstr "имя_секции" -#: sql_help.c:1325 sql_help.c:2341 sql_help.c:2922 +#: sql_help.c:1325 sql_help.c:2349 sql_help.c:2930 msgid "partition_bound_spec" msgstr "указание_границ_секции" -#: sql_help.c:1344 sql_help.c:1394 sql_help.c:2936 +#: sql_help.c:1344 sql_help.c:1394 sql_help.c:2944 msgid "sequence_options" msgstr "параметры_последовательности" @@ -4968,18 +5047,18 @@ msgstr "ограничение_таблицы_с_индексом" msgid "rewrite_rule_name" msgstr "имя_правила_перезаписи" -#: sql_help.c:1383 sql_help.c:2353 sql_help.c:2961 +#: sql_help.c:1383 sql_help.c:2361 sql_help.c:2969 msgid "and partition_bound_spec is:" msgstr "и указание_границ_секции:" -#: sql_help.c:1384 sql_help.c:1385 sql_help.c:1386 sql_help.c:2354 -#: sql_help.c:2355 sql_help.c:2356 sql_help.c:2962 sql_help.c:2963 -#: sql_help.c:2964 +#: 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 msgid "partition_bound_expr" msgstr "выражение_границ_секции" -#: sql_help.c:1387 sql_help.c:1388 sql_help.c:2357 sql_help.c:2358 -#: sql_help.c:2965 sql_help.c:2966 +#: sql_help.c:1387 sql_help.c:1388 sql_help.c:2365 sql_help.c:2366 +#: sql_help.c:2973 sql_help.c:2974 msgid "numeric_literal" msgstr "числовая_константа" @@ -4987,48 +5066,48 @@ msgstr "числовая_константа" msgid "and column_constraint is:" msgstr "и ограничение_столбца:" -#: sql_help.c:1392 sql_help.c:2348 sql_help.c:2389 sql_help.c:2598 -#: sql_help.c:2934 +#: sql_help.c:1392 sql_help.c:2356 sql_help.c:2397 sql_help.c:2606 +#: sql_help.c:2942 msgid "default_expr" msgstr "выражение_по_умолчанию" -#: sql_help.c:1393 sql_help.c:2349 sql_help.c:2935 +#: sql_help.c:1393 sql_help.c:2357 sql_help.c:2943 msgid "generation_expr" msgstr "генерирующее_выражение" #: sql_help.c:1395 sql_help.c:1396 sql_help.c:1405 sql_help.c:1407 -#: sql_help.c:1411 sql_help.c:2937 sql_help.c:2938 sql_help.c:2947 -#: sql_help.c:2949 sql_help.c:2953 +#: sql_help.c:1411 sql_help.c:2945 sql_help.c:2946 sql_help.c:2955 +#: sql_help.c:2957 sql_help.c:2961 msgid "index_parameters" msgstr "параметры_индекса" -#: sql_help.c:1397 sql_help.c:1414 sql_help.c:2939 sql_help.c:2956 +#: sql_help.c:1397 sql_help.c:1414 sql_help.c:2947 sql_help.c:2964 msgid "reftable" msgstr "целевая_таблица" -#: sql_help.c:1398 sql_help.c:1415 sql_help.c:2940 sql_help.c:2957 +#: sql_help.c:1398 sql_help.c:1415 sql_help.c:2948 sql_help.c:2965 msgid "refcolumn" msgstr "целевой_столбец" #: sql_help.c:1399 sql_help.c:1400 sql_help.c:1416 sql_help.c:1417 -#: sql_help.c:2941 sql_help.c:2942 sql_help.c:2958 sql_help.c:2959 +#: sql_help.c:2949 sql_help.c:2950 sql_help.c:2966 sql_help.c:2967 msgid "referential_action" msgstr "ссылочное_действие" -#: sql_help.c:1401 sql_help.c:2350 sql_help.c:2943 +#: sql_help.c:1401 sql_help.c:2358 sql_help.c:2951 msgid "and table_constraint is:" msgstr "и ограничение_таблицы:" -#: sql_help.c:1409 sql_help.c:2951 +#: sql_help.c:1409 sql_help.c:2959 msgid "exclude_element" msgstr "объект_исключения" -#: sql_help.c:1410 sql_help.c:2952 sql_help.c:4559 sql_help.c:4662 -#: sql_help.c:4816 sql_help.c:4985 sql_help.c:5054 +#: 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 msgid "operator" msgstr "оператор" -#: sql_help.c:1412 sql_help.c:2469 sql_help.c:2954 +#: sql_help.c:1412 sql_help.c:2477 sql_help.c:2962 msgid "predicate" msgstr "предикат" @@ -5036,24 +5115,24 @@ msgstr "предикат" msgid "and table_constraint_using_index is:" msgstr "и ограничение_таблицы_с_индексом:" -#: sql_help.c:1421 sql_help.c:2967 +#: sql_help.c:1421 sql_help.c:2975 msgid "index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are:" msgstr "параметры_индекса в ограничениях UNIQUE, PRIMARY KEY и EXCLUDE:" -#: sql_help.c:1426 sql_help.c:2972 +#: sql_help.c:1426 sql_help.c:2980 msgid "exclude_element in an EXCLUDE constraint is:" msgstr "объект_исключения в ограничении EXCLUDE:" -#: sql_help.c:1429 sql_help.c:2462 sql_help.c:2899 sql_help.c:2912 -#: sql_help.c:2926 sql_help.c:2975 sql_help.c:3991 +#: 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 msgid "opclass" msgstr "класс_оператора" -#: sql_help.c:1430 sql_help.c:2976 +#: sql_help.c:1430 sql_help.c:2984 msgid "referential_action in a FOREIGN KEY/REFERENCES constraint is:" msgstr "ссылочное действие в ограничении FOREIGN KEY/REFERENCES:" -#: sql_help.c:1448 sql_help.c:1451 sql_help.c:3013 +#: sql_help.c:1448 sql_help.c:1451 sql_help.c:3021 msgid "tablespace_option" msgstr "параметр_табл_пространства" @@ -5074,7 +5153,7 @@ msgid "new_dictionary" msgstr "новый_словарь" #: sql_help.c:1578 sql_help.c:1592 sql_help.c:1595 sql_help.c:1596 -#: sql_help.c:3166 +#: sql_help.c:3174 msgid "attribute_name" msgstr "имя_атрибута" @@ -5098,1546 +5177,1563 @@ msgstr "существующее_значение_перечисления" msgid "property" msgstr "свойство" -#: sql_help.c:1665 sql_help.c:2333 sql_help.c:2342 sql_help.c:2748 -#: sql_help.c:3246 sql_help.c:3697 sql_help.c:3901 sql_help.c:3947 -#: sql_help.c:4350 +#: 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 msgid "server_name" msgstr "имя_сервера" -#: sql_help.c:1697 sql_help.c:1700 sql_help.c:3261 +#: sql_help.c:1697 sql_help.c:1700 sql_help.c:3269 msgid "view_option_name" msgstr "имя_параметра_представления" -#: sql_help.c:1698 sql_help.c:3262 +#: sql_help.c:1698 sql_help.c:3270 msgid "view_option_value" msgstr "значение_параметра_представления" -#: sql_help.c:1719 sql_help.c:1720 sql_help.c:4957 sql_help.c:4958 +#: sql_help.c:1720 sql_help.c:1721 sql_help.c:4974 sql_help.c:4975 msgid "table_and_columns" msgstr "таблица_и_столбцы" -#: sql_help.c:1721 sql_help.c:1784 sql_help.c:1975 sql_help.c:3745 -#: sql_help.c:4185 sql_help.c:4959 +#: sql_help.c:1722 sql_help.c:1786 sql_help.c:1978 sql_help.c:3754 +#: sql_help.c:4198 sql_help.c:4976 msgid "where option can be one of:" msgstr "где допустимый параметр:" -#: sql_help.c:1722 sql_help.c:1723 sql_help.c:1785 sql_help.c:1977 -#: sql_help.c:1980 sql_help.c:2159 sql_help.c:3746 sql_help.c:3747 -#: sql_help.c:3748 sql_help.c:3749 sql_help.c:3750 sql_help.c:3751 -#: sql_help.c:3752 sql_help.c:3753 sql_help.c:4186 sql_help.c:4188 -#: sql_help.c:4960 sql_help.c:4961 sql_help.c:4962 sql_help.c:4963 -#: sql_help.c:4964 sql_help.c:4965 sql_help.c:4966 sql_help.c:4967 +#: 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 msgid "boolean" msgstr "логическое_значение" -#: sql_help.c:1724 sql_help.c:4969 +#: sql_help.c:1725 sql_help.c:4989 +msgid "size" +msgstr "размер" + +#: sql_help.c:1726 sql_help.c:4990 msgid "and table_and_columns is:" msgstr "и таблица_и_столбцы:" -#: sql_help.c:1740 sql_help.c:4723 sql_help.c:4725 sql_help.c:4749 +#: sql_help.c:1742 sql_help.c:4736 sql_help.c:4738 sql_help.c:4762 msgid "transaction_mode" msgstr "режим_транзакции" -#: sql_help.c:1741 sql_help.c:4726 sql_help.c:4750 +#: sql_help.c:1743 sql_help.c:4739 sql_help.c:4763 msgid "where transaction_mode is one of:" msgstr "где допустимый режим_транзакции:" -#: sql_help.c:1750 sql_help.c:4569 sql_help.c:4578 sql_help.c:4582 -#: sql_help.c:4586 sql_help.c:4589 sql_help.c:4826 sql_help.c:4835 -#: sql_help.c:4839 sql_help.c:4843 sql_help.c:4846 sql_help.c:5064 -#: sql_help.c:5073 sql_help.c:5077 sql_help.c:5081 sql_help.c:5084 +#: 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 msgid "argument" msgstr "аргумент" -#: sql_help.c:1850 +#: sql_help.c:1852 msgid "relation_name" msgstr "имя_отношения" -#: sql_help.c:1855 sql_help.c:3895 sql_help.c:4344 +#: sql_help.c:1857 sql_help.c:3905 sql_help.c:4357 msgid "domain_name" msgstr "имя_домена" -#: sql_help.c:1877 +#: sql_help.c:1879 msgid "policy_name" msgstr "имя_политики" -#: sql_help.c:1890 +#: sql_help.c:1892 msgid "rule_name" msgstr "имя_правила" -#: sql_help.c:1909 sql_help.c:4483 +#: sql_help.c:1911 sql_help.c:4496 msgid "string_literal" msgstr "строковая_константа" -#: sql_help.c:1934 sql_help.c:4150 sql_help.c:4397 +#: sql_help.c:1936 sql_help.c:4160 sql_help.c:4410 msgid "transaction_id" msgstr "код_транзакции" -#: sql_help.c:1965 sql_help.c:1972 sql_help.c:4017 +#: sql_help.c:1968 sql_help.c:1975 sql_help.c:4027 msgid "filename" msgstr "имя_файла" -#: sql_help.c:1966 sql_help.c:1973 sql_help.c:2687 sql_help.c:2688 -#: sql_help.c:2689 +#: sql_help.c:1969 sql_help.c:1976 sql_help.c:2695 sql_help.c:2696 +#: sql_help.c:2697 msgid "command" msgstr "команда" -#: sql_help.c:1968 sql_help.c:2686 sql_help.c:3116 sql_help.c:3297 -#: sql_help.c:4001 sql_help.c:4078 sql_help.c:4081 sql_help.c:4552 -#: sql_help.c:4554 sql_help.c:4655 sql_help.c:4657 sql_help.c:4809 -#: sql_help.c:4811 sql_help.c:4927 sql_help.c:5047 sql_help.c:5049 +#: 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 msgid "condition" msgstr "условие" -#: sql_help.c:1971 sql_help.c:2503 sql_help.c:2999 sql_help.c:3263 -#: sql_help.c:3281 sql_help.c:3982 +#: sql_help.c:1974 sql_help.c:2511 sql_help.c:3007 sql_help.c:3271 +#: sql_help.c:3289 sql_help.c:3992 msgid "query" msgstr "запрос" -#: sql_help.c:1976 +#: sql_help.c:1979 msgid "format_name" msgstr "имя_формата" -#: sql_help.c:1978 +#: sql_help.c:1981 msgid "delimiter_character" msgstr "символ_разделитель" -#: sql_help.c:1979 +#: sql_help.c:1982 msgid "null_string" msgstr "представление_NULL" -#: sql_help.c:1981 +#: sql_help.c:1983 +msgid "default_string" +msgstr "представление_DEFAULT" + +#: sql_help.c:1985 msgid "quote_character" msgstr "символ_кавычек" -#: sql_help.c:1982 +#: sql_help.c:1986 msgid "escape_character" msgstr "спецсимвол" -#: sql_help.c:1986 +#: sql_help.c:1990 msgid "encoding_name" msgstr "имя_кодировки" -#: sql_help.c:1997 +#: sql_help.c:2001 msgid "access_method_type" msgstr "тип_метода_доступа" -#: sql_help.c:2068 sql_help.c:2087 sql_help.c:2090 +#: sql_help.c:2072 sql_help.c:2091 sql_help.c:2094 msgid "arg_data_type" msgstr "тип_данных_аргумента" -#: sql_help.c:2069 sql_help.c:2091 sql_help.c:2099 +#: sql_help.c:2073 sql_help.c:2095 sql_help.c:2103 msgid "sfunc" msgstr "функция_состояния" -#: sql_help.c:2070 sql_help.c:2092 sql_help.c:2100 +#: sql_help.c:2074 sql_help.c:2096 sql_help.c:2104 msgid "state_data_type" msgstr "тип_данных_состояния" -#: sql_help.c:2071 sql_help.c:2093 sql_help.c:2101 +#: sql_help.c:2075 sql_help.c:2097 sql_help.c:2105 msgid "state_data_size" msgstr "размер_данных_состояния" -#: sql_help.c:2072 sql_help.c:2094 sql_help.c:2102 +#: sql_help.c:2076 sql_help.c:2098 sql_help.c:2106 msgid "ffunc" msgstr "функция_завершения" -#: sql_help.c:2073 sql_help.c:2103 +#: sql_help.c:2077 sql_help.c:2107 msgid "combinefunc" msgstr "комбинирующая_функция" -#: sql_help.c:2074 sql_help.c:2104 +#: sql_help.c:2078 sql_help.c:2108 msgid "serialfunc" msgstr "функция_сериализации" -#: sql_help.c:2075 sql_help.c:2105 +#: sql_help.c:2079 sql_help.c:2109 msgid "deserialfunc" msgstr "функция_десериализации" -#: sql_help.c:2076 sql_help.c:2095 sql_help.c:2106 +#: sql_help.c:2080 sql_help.c:2099 sql_help.c:2110 msgid "initial_condition" msgstr "начальное_условие" -#: sql_help.c:2077 sql_help.c:2107 +#: sql_help.c:2081 sql_help.c:2111 msgid "msfunc" msgstr "функция_состояния_движ" -#: sql_help.c:2078 sql_help.c:2108 +#: sql_help.c:2082 sql_help.c:2112 msgid "minvfunc" msgstr "обратная_функция_движ" -#: sql_help.c:2079 sql_help.c:2109 +#: sql_help.c:2083 sql_help.c:2113 msgid "mstate_data_type" msgstr "тип_данных_состояния_движ" -#: sql_help.c:2080 sql_help.c:2110 +#: sql_help.c:2084 sql_help.c:2114 msgid "mstate_data_size" msgstr "размер_данных_состояния_движ" -#: sql_help.c:2081 sql_help.c:2111 +#: sql_help.c:2085 sql_help.c:2115 msgid "mffunc" msgstr "функция_завершения_движ" -#: sql_help.c:2082 sql_help.c:2112 +#: sql_help.c:2086 sql_help.c:2116 msgid "minitial_condition" msgstr "начальное_условие_движ" -#: sql_help.c:2083 sql_help.c:2113 +#: sql_help.c:2087 sql_help.c:2117 msgid "sort_operator" msgstr "оператор_сортировки" -#: sql_help.c:2096 +#: sql_help.c:2100 msgid "or the old syntax" msgstr "или старый синтаксис" -#: sql_help.c:2098 +#: sql_help.c:2102 msgid "base_type" msgstr "базовый_тип" -#: sql_help.c:2155 sql_help.c:2202 +#: sql_help.c:2160 sql_help.c:2209 msgid "locale" msgstr "код_локали" -#: sql_help.c:2156 sql_help.c:2203 +#: sql_help.c:2161 sql_help.c:2210 msgid "lc_collate" msgstr "код_правила_сортировки" -#: sql_help.c:2157 sql_help.c:2204 +#: sql_help.c:2162 sql_help.c:2211 msgid "lc_ctype" msgstr "код_классификации_символов" -#: sql_help.c:2158 sql_help.c:4450 +#: sql_help.c:2163 sql_help.c:4463 msgid "provider" msgstr "провайдер" -#: sql_help.c:2160 sql_help.c:2263 +#: sql_help.c:2165 +msgid "rules" +msgstr "правила" + +#: sql_help.c:2166 sql_help.c:2271 msgid "version" msgstr "версия" -#: sql_help.c:2162 +#: sql_help.c:2168 msgid "existing_collation" msgstr "существующее_правило_сортировки" -#: sql_help.c:2172 +#: sql_help.c:2178 msgid "source_encoding" msgstr "исходная_кодировка" -#: sql_help.c:2173 +#: sql_help.c:2179 msgid "dest_encoding" msgstr "целевая_кодировка" -#: sql_help.c:2199 sql_help.c:3039 +#: sql_help.c:2206 sql_help.c:3047 msgid "template" msgstr "шаблон" -#: sql_help.c:2200 +#: sql_help.c:2207 msgid "encoding" msgstr "кодировка" -#: sql_help.c:2201 +#: sql_help.c:2208 msgid "strategy" msgstr "стратегия" -#: sql_help.c:2205 +#: sql_help.c:2212 msgid "icu_locale" msgstr "локаль_icu" -#: sql_help.c:2206 +#: sql_help.c:2213 +msgid "icu_rules" +msgstr "правила_icu" + +#: sql_help.c:2214 msgid "locale_provider" msgstr "провайдер_локали" -#: sql_help.c:2207 +#: sql_help.c:2215 msgid "collation_version" msgstr "версия_правила_сортировки" -#: sql_help.c:2212 +#: sql_help.c:2220 msgid "oid" msgstr "oid" -#: sql_help.c:2232 +#: sql_help.c:2240 msgid "constraint" msgstr "ограничение" -#: sql_help.c:2233 +#: sql_help.c:2241 msgid "where constraint is:" msgstr "где ограничение:" -#: sql_help.c:2247 sql_help.c:2684 sql_help.c:3112 +#: sql_help.c:2255 sql_help.c:2692 sql_help.c:3120 msgid "event" msgstr "событие" -#: sql_help.c:2248 +#: sql_help.c:2256 msgid "filter_variable" msgstr "переменная_фильтра" -#: sql_help.c:2249 +#: sql_help.c:2257 msgid "filter_value" msgstr "значение_фильтра" -#: sql_help.c:2345 sql_help.c:2931 +#: sql_help.c:2353 sql_help.c:2939 msgid "where column_constraint is:" msgstr "где ограничение_столбца:" -#: sql_help.c:2390 +#: sql_help.c:2398 msgid "rettype" msgstr "тип_возврата" -#: sql_help.c:2392 +#: sql_help.c:2400 msgid "column_type" msgstr "тип_столбца" -#: sql_help.c:2401 sql_help.c:2604 +#: sql_help.c:2409 sql_help.c:2612 msgid "definition" msgstr "определение" -#: sql_help.c:2402 sql_help.c:2605 +#: sql_help.c:2410 sql_help.c:2613 msgid "obj_file" msgstr "объектный_файл" -#: sql_help.c:2403 sql_help.c:2606 +#: sql_help.c:2411 sql_help.c:2614 msgid "link_symbol" msgstr "символ_в_экспорте" -#: sql_help.c:2404 sql_help.c:2607 +#: sql_help.c:2412 sql_help.c:2615 msgid "sql_body" msgstr "тело_sql" -#: sql_help.c:2442 sql_help.c:2669 sql_help.c:3235 +#: sql_help.c:2450 sql_help.c:2677 sql_help.c:3243 msgid "uid" msgstr "uid" -#: sql_help.c:2458 sql_help.c:2499 sql_help.c:2900 sql_help.c:2913 -#: sql_help.c:2927 sql_help.c:2995 +#: sql_help.c:2466 sql_help.c:2507 sql_help.c:2908 sql_help.c:2921 +#: sql_help.c:2935 sql_help.c:3003 msgid "method" msgstr "метод" -#: sql_help.c:2463 +#: sql_help.c:2471 msgid "opclass_parameter" msgstr "параметр_класса_оп" -#: sql_help.c:2480 +#: sql_help.c:2488 msgid "call_handler" msgstr "обработчик_вызова" -#: sql_help.c:2481 +#: sql_help.c:2489 msgid "inline_handler" msgstr "обработчик_внедрённого_кода" -#: sql_help.c:2482 +#: sql_help.c:2490 msgid "valfunction" msgstr "функция_проверки" -#: sql_help.c:2521 +#: sql_help.c:2529 msgid "com_op" msgstr "коммут_оператор" -#: sql_help.c:2522 +#: sql_help.c:2530 msgid "neg_op" msgstr "обратный_оператор" -#: sql_help.c:2540 +#: sql_help.c:2548 msgid "family_name" msgstr "имя_семейства" -#: sql_help.c:2551 +#: sql_help.c:2559 msgid "storage_type" msgstr "тип_хранения" -#: sql_help.c:2690 sql_help.c:3119 +#: sql_help.c:2698 sql_help.c:3127 msgid "where event can be one of:" msgstr "где допустимое событие:" -#: sql_help.c:2710 sql_help.c:2712 +#: sql_help.c:2718 sql_help.c:2720 msgid "schema_element" msgstr "элемент_схемы" -#: sql_help.c:2749 +#: sql_help.c:2757 msgid "server_type" msgstr "тип_сервера" -#: sql_help.c:2750 +#: sql_help.c:2758 msgid "server_version" msgstr "версия_сервера" -#: sql_help.c:2751 sql_help.c:3898 sql_help.c:4347 +#: sql_help.c:2759 sql_help.c:3908 sql_help.c:4360 msgid "fdw_name" msgstr "имя_обёртки_сторонних_данных" -#: sql_help.c:2768 sql_help.c:2771 +#: sql_help.c:2776 sql_help.c:2779 msgid "statistics_name" msgstr "имя_статистики" -#: sql_help.c:2772 +#: sql_help.c:2780 msgid "statistics_kind" msgstr "вид_статистики" -#: sql_help.c:2788 +#: sql_help.c:2796 msgid "subscription_name" msgstr "имя_подписки" -#: sql_help.c:2893 +#: sql_help.c:2901 msgid "source_table" msgstr "исходная_таблица" -#: sql_help.c:2894 +#: sql_help.c:2902 msgid "like_option" msgstr "параметр_порождения" -#: sql_help.c:2960 +#: sql_help.c:2968 msgid "and like_option is:" msgstr "и параметр_порождения:" -#: sql_help.c:3012 +#: sql_help.c:3020 msgid "directory" msgstr "каталог" -#: sql_help.c:3026 +#: sql_help.c:3034 msgid "parser_name" msgstr "имя_анализатора" -#: sql_help.c:3027 +#: sql_help.c:3035 msgid "source_config" msgstr "исходная_конфигурация" -#: sql_help.c:3056 +#: sql_help.c:3064 msgid "start_function" msgstr "функция_начала" -#: sql_help.c:3057 +#: sql_help.c:3065 msgid "gettoken_function" msgstr "функция_выдачи_фрагмента" -#: sql_help.c:3058 +#: sql_help.c:3066 msgid "end_function" msgstr "функция_окончания" -#: sql_help.c:3059 +#: sql_help.c:3067 msgid "lextypes_function" msgstr "функция_лекс_типов" -#: sql_help.c:3060 +#: sql_help.c:3068 msgid "headline_function" msgstr "функция_создания_выдержек" -#: sql_help.c:3072 +#: sql_help.c:3080 msgid "init_function" msgstr "функция_инициализации" -#: sql_help.c:3073 +#: sql_help.c:3081 msgid "lexize_function" msgstr "функция_выделения_лексем" -#: sql_help.c:3086 +#: sql_help.c:3094 msgid "from_sql_function_name" msgstr "имя_функции_из_sql" -#: sql_help.c:3088 +#: sql_help.c:3096 msgid "to_sql_function_name" msgstr "имя_функции_в_sql" -#: sql_help.c:3114 +#: sql_help.c:3122 msgid "referenced_table_name" msgstr "ссылающаяся_таблица" -#: sql_help.c:3115 +#: sql_help.c:3123 msgid "transition_relation_name" msgstr "имя_переходного_отношения" -#: sql_help.c:3118 +#: sql_help.c:3126 msgid "arguments" msgstr "аргументы" -#: sql_help.c:3170 +#: sql_help.c:3178 msgid "label" msgstr "метка" -#: sql_help.c:3172 +#: sql_help.c:3180 msgid "subtype" msgstr "подтип" -#: sql_help.c:3173 +#: sql_help.c:3181 msgid "subtype_operator_class" msgstr "класс_оператора_подтипа" -#: sql_help.c:3175 +#: sql_help.c:3183 msgid "canonical_function" msgstr "каноническая_функция" -#: sql_help.c:3176 +#: sql_help.c:3184 msgid "subtype_diff_function" msgstr "функция_различий_подтипа" -#: sql_help.c:3177 +#: sql_help.c:3185 msgid "multirange_type_name" msgstr "имя_мультидиапазонного_типа" -#: sql_help.c:3179 +#: sql_help.c:3187 msgid "input_function" msgstr "функция_ввода" -#: sql_help.c:3180 +#: sql_help.c:3188 msgid "output_function" msgstr "функция_вывода" -#: sql_help.c:3181 +#: sql_help.c:3189 msgid "receive_function" msgstr "функция_получения" -#: sql_help.c:3182 +#: sql_help.c:3190 msgid "send_function" msgstr "функция_отправки" -#: sql_help.c:3183 +#: sql_help.c:3191 msgid "type_modifier_input_function" msgstr "функция_ввода_модификатора_типа" -#: sql_help.c:3184 +#: sql_help.c:3192 msgid "type_modifier_output_function" msgstr "функция_вывода_модификатора_типа" -#: sql_help.c:3185 +#: sql_help.c:3193 msgid "analyze_function" msgstr "функция_анализа" -#: sql_help.c:3186 +#: sql_help.c:3194 msgid "subscript_function" msgstr "функция_обращения_по_индексу" -#: sql_help.c:3187 +#: sql_help.c:3195 msgid "internallength" msgstr "внутр_длина" -#: sql_help.c:3188 +#: sql_help.c:3196 msgid "alignment" msgstr "выравнивание" -#: sql_help.c:3189 +#: sql_help.c:3197 msgid "storage" msgstr "хранение" -#: sql_help.c:3190 +#: sql_help.c:3198 msgid "like_type" msgstr "тип_образец" -#: sql_help.c:3191 +#: sql_help.c:3199 msgid "category" msgstr "категория" -#: sql_help.c:3192 +#: sql_help.c:3200 msgid "preferred" msgstr "предпочитаемый" -#: sql_help.c:3193 +#: sql_help.c:3201 msgid "default" msgstr "по_умолчанию" -#: sql_help.c:3194 +#: sql_help.c:3202 msgid "element" msgstr "элемент" -#: sql_help.c:3195 +#: sql_help.c:3203 msgid "delimiter" msgstr "разделитель" -#: sql_help.c:3196 +#: sql_help.c:3204 msgid "collatable" msgstr "сортируемый" -#: sql_help.c:3293 sql_help.c:3977 sql_help.c:4067 sql_help.c:4547 -#: sql_help.c:4649 sql_help.c:4804 sql_help.c:4917 sql_help.c:5042 +#: 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 msgid "with_query" msgstr "запрос_WITH" -#: sql_help.c:3295 sql_help.c:3979 sql_help.c:4566 sql_help.c:4572 -#: sql_help.c:4575 sql_help.c:4579 sql_help.c:4583 sql_help.c:4591 -#: sql_help.c:4823 sql_help.c:4829 sql_help.c:4832 sql_help.c:4836 -#: sql_help.c:4840 sql_help.c:4848 sql_help.c:4919 sql_help.c:5061 -#: sql_help.c:5067 sql_help.c:5070 sql_help.c:5074 sql_help.c:5078 -#: sql_help.c:5086 +#: 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 msgid "alias" msgstr "псевдоним" -#: sql_help.c:3296 sql_help.c:4551 sql_help.c:4593 sql_help.c:4595 -#: sql_help.c:4599 sql_help.c:4601 sql_help.c:4602 sql_help.c:4603 -#: sql_help.c:4654 sql_help.c:4808 sql_help.c:4850 sql_help.c:4852 -#: sql_help.c:4856 sql_help.c:4858 sql_help.c:4859 sql_help.c:4860 -#: sql_help.c:4926 sql_help.c:5046 sql_help.c:5088 sql_help.c:5090 -#: sql_help.c:5094 sql_help.c:5096 sql_help.c:5097 sql_help.c:5098 +#: 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 msgid "from_item" msgstr "источник_данных" -#: sql_help.c:3298 sql_help.c:3779 sql_help.c:4117 sql_help.c:4928 +#: sql_help.c:3306 sql_help.c:3789 sql_help.c:4127 sql_help.c:4941 msgid "cursor_name" msgstr "имя_курсора" -#: sql_help.c:3299 sql_help.c:3985 sql_help.c:4929 +#: sql_help.c:3307 sql_help.c:3995 sql_help.c:4942 msgid "output_expression" msgstr "выражение_результата" -#: sql_help.c:3300 sql_help.c:3986 sql_help.c:4550 sql_help.c:4652 -#: sql_help.c:4807 sql_help.c:4930 sql_help.c:5045 +#: 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 msgid "output_name" msgstr "имя_результата" -#: sql_help.c:3316 +#: sql_help.c:3324 msgid "code" msgstr "внедрённый_код" -#: sql_help.c:3721 +#: sql_help.c:3729 msgid "parameter" msgstr "параметр" -#: sql_help.c:3743 sql_help.c:3744 sql_help.c:4142 +#: sql_help.c:3752 sql_help.c:3753 sql_help.c:4152 msgid "statement" msgstr "оператор" -#: sql_help.c:3778 sql_help.c:4116 +#: sql_help.c:3788 sql_help.c:4126 msgid "direction" msgstr "направление" -#: sql_help.c:3780 sql_help.c:4118 +#: sql_help.c:3790 sql_help.c:4128 msgid "where direction can be one of:" msgstr "где допустимое направление:" -#: sql_help.c:3781 sql_help.c:3782 sql_help.c:3783 sql_help.c:3784 -#: sql_help.c:3785 sql_help.c:4119 sql_help.c:4120 sql_help.c:4121 -#: sql_help.c:4122 sql_help.c:4123 sql_help.c:4560 sql_help.c:4562 -#: sql_help.c:4663 sql_help.c:4665 sql_help.c:4817 sql_help.c:4819 -#: sql_help.c:4986 sql_help.c:4988 sql_help.c:5055 sql_help.c:5057 +#: 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 msgid "count" msgstr "число" -#: sql_help.c:3888 sql_help.c:4337 +#: sql_help.c:3898 sql_help.c:4350 msgid "sequence_name" msgstr "имя_последовательности" -#: sql_help.c:3906 sql_help.c:4355 +#: sql_help.c:3916 sql_help.c:4368 msgid "arg_name" msgstr "имя_аргумента" -#: sql_help.c:3907 sql_help.c:4356 +#: sql_help.c:3917 sql_help.c:4369 msgid "arg_type" msgstr "тип_аргумента" -#: sql_help.c:3914 sql_help.c:4363 +#: sql_help.c:3924 sql_help.c:4376 msgid "loid" msgstr "код_БО" -#: sql_help.c:3945 +#: sql_help.c:3955 msgid "remote_schema" msgstr "удалённая_схема" -#: sql_help.c:3948 +#: sql_help.c:3958 msgid "local_schema" msgstr "локальная_схема" -#: sql_help.c:3983 +#: sql_help.c:3993 msgid "conflict_target" msgstr "объект_конфликта" -#: sql_help.c:3984 +#: sql_help.c:3994 msgid "conflict_action" msgstr "действие_при_конфликте" -#: sql_help.c:3987 +#: sql_help.c:3997 msgid "where conflict_target can be one of:" msgstr "где допустимый объект_конфликта:" -#: sql_help.c:3988 +#: sql_help.c:3998 msgid "index_column_name" msgstr "имя_столбца_индекса" -#: sql_help.c:3989 +#: sql_help.c:3999 msgid "index_expression" msgstr "выражение_индекса" -#: sql_help.c:3992 +#: sql_help.c:4002 msgid "index_predicate" msgstr "предикат_индекса" -#: sql_help.c:3994 +#: sql_help.c:4004 msgid "and conflict_action is one of:" msgstr "а допустимое действие_при_конфликте:" -#: sql_help.c:4000 sql_help.c:4925 +#: sql_help.c:4010 sql_help.c:4938 msgid "sub-SELECT" msgstr "вложенный_SELECT" -#: sql_help.c:4009 sql_help.c:4131 sql_help.c:4901 +#: sql_help.c:4019 sql_help.c:4141 sql_help.c:4914 msgid "channel" msgstr "канал" -#: sql_help.c:4031 +#: sql_help.c:4041 msgid "lockmode" msgstr "режим_блокировки" -#: sql_help.c:4032 +#: sql_help.c:4042 msgid "where lockmode is one of:" msgstr "где допустимый режим_блокировки:" -#: sql_help.c:4068 +#: sql_help.c:4078 msgid "target_table_name" msgstr "имя_целевой_таблицы" -#: sql_help.c:4069 +#: sql_help.c:4079 msgid "target_alias" msgstr "псевдоним_назначения" -#: sql_help.c:4070 +#: sql_help.c:4080 msgid "data_source" msgstr "источник_данных" -#: sql_help.c:4071 sql_help.c:4596 sql_help.c:4853 sql_help.c:5091 +#: sql_help.c:4081 sql_help.c:4609 sql_help.c:4866 sql_help.c:5112 msgid "join_condition" msgstr "условие_соединения" -#: sql_help.c:4072 +#: sql_help.c:4082 msgid "when_clause" msgstr "предложение_when" -#: sql_help.c:4073 +#: sql_help.c:4083 msgid "where data_source is:" msgstr "где источник_данных:" -#: sql_help.c:4074 +#: sql_help.c:4084 msgid "source_table_name" msgstr "имя_исходной_таблицы" -#: sql_help.c:4075 +#: sql_help.c:4085 msgid "source_query" msgstr "исходный_запрос" -#: sql_help.c:4076 +#: sql_help.c:4086 msgid "source_alias" msgstr "псевдоним_источника" -#: sql_help.c:4077 +#: sql_help.c:4087 msgid "and when_clause is:" msgstr "и предложение_when:" -#: sql_help.c:4079 +#: sql_help.c:4089 msgid "merge_update" msgstr "merge_update" -#: sql_help.c:4080 +#: sql_help.c:4090 msgid "merge_delete" msgstr "merge_delete" -#: sql_help.c:4082 +#: sql_help.c:4092 msgid "merge_insert" msgstr "merge_insert" -#: sql_help.c:4083 +#: sql_help.c:4093 msgid "and merge_insert is:" msgstr "и merge_insert:" -#: sql_help.c:4086 +#: sql_help.c:4096 msgid "and merge_update is:" msgstr "и merge_update:" -#: sql_help.c:4091 +#: sql_help.c:4101 msgid "and merge_delete is:" msgstr "и merge_delete:" -#: sql_help.c:4132 +#: sql_help.c:4142 msgid "payload" msgstr "сообщение_нагрузка" -#: sql_help.c:4159 +#: sql_help.c:4169 msgid "old_role" msgstr "старая_роль" -#: sql_help.c:4160 +#: sql_help.c:4170 msgid "new_role" msgstr "новая_роль" -#: sql_help.c:4196 sql_help.c:4405 sql_help.c:4413 +#: sql_help.c:4209 sql_help.c:4418 sql_help.c:4426 msgid "savepoint_name" msgstr "имя_точки_сохранения" -#: sql_help.c:4553 sql_help.c:4611 sql_help.c:4810 sql_help.c:4868 -#: sql_help.c:5048 sql_help.c:5106 +#: sql_help.c:4566 sql_help.c:4624 sql_help.c:4823 sql_help.c:4881 +#: sql_help.c:5069 sql_help.c:5127 msgid "grouping_element" msgstr "элемент_группирования" -#: sql_help.c:4555 sql_help.c:4658 sql_help.c:4812 sql_help.c:5050 +#: sql_help.c:4568 sql_help.c:4671 sql_help.c:4825 sql_help.c:5071 msgid "window_name" msgstr "имя_окна" -#: sql_help.c:4556 sql_help.c:4659 sql_help.c:4813 sql_help.c:5051 +#: sql_help.c:4569 sql_help.c:4672 sql_help.c:4826 sql_help.c:5072 msgid "window_definition" msgstr "определение_окна" -#: sql_help.c:4557 sql_help.c:4571 sql_help.c:4615 sql_help.c:4660 -#: sql_help.c:4814 sql_help.c:4828 sql_help.c:4872 sql_help.c:5052 -#: sql_help.c:5066 sql_help.c:5110 +#: 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 msgid "select" msgstr "select" -#: sql_help.c:4564 sql_help.c:4821 sql_help.c:5059 +#: sql_help.c:4577 sql_help.c:4834 sql_help.c:5080 msgid "where from_item can be one of:" msgstr "где допустимый источник_данных:" -#: sql_help.c:4567 sql_help.c:4573 sql_help.c:4576 sql_help.c:4580 -#: sql_help.c:4592 sql_help.c:4824 sql_help.c:4830 sql_help.c:4833 -#: sql_help.c:4837 sql_help.c:4849 sql_help.c:5062 sql_help.c:5068 -#: sql_help.c:5071 sql_help.c:5075 sql_help.c:5087 +#: 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 msgid "column_alias" msgstr "псевдоним_столбца" -#: sql_help.c:4568 sql_help.c:4825 sql_help.c:5063 +#: sql_help.c:4581 sql_help.c:4838 sql_help.c:5084 msgid "sampling_method" msgstr "метод_выборки" -#: sql_help.c:4570 sql_help.c:4827 sql_help.c:5065 +#: sql_help.c:4583 sql_help.c:4840 sql_help.c:5086 msgid "seed" msgstr "начальное_число" -#: sql_help.c:4574 sql_help.c:4613 sql_help.c:4831 sql_help.c:4870 -#: sql_help.c:5069 sql_help.c:5108 +#: sql_help.c:4587 sql_help.c:4626 sql_help.c:4844 sql_help.c:4883 +#: sql_help.c:5090 sql_help.c:5129 msgid "with_query_name" msgstr "имя_запроса_WITH" -#: sql_help.c:4584 sql_help.c:4587 sql_help.c:4590 sql_help.c:4841 -#: sql_help.c:4844 sql_help.c:4847 sql_help.c:5079 sql_help.c:5082 -#: sql_help.c:5085 +#: 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 msgid "column_definition" msgstr "определение_столбца" -#: sql_help.c:4594 sql_help.c:4600 sql_help.c:4851 sql_help.c:4857 -#: sql_help.c:5089 sql_help.c:5095 +#: sql_help.c:4607 sql_help.c:4613 sql_help.c:4864 sql_help.c:4870 +#: sql_help.c:5110 sql_help.c:5116 msgid "join_type" msgstr "тип_соединения" -#: sql_help.c:4597 sql_help.c:4854 sql_help.c:5092 +#: sql_help.c:4610 sql_help.c:4867 sql_help.c:5113 msgid "join_column" msgstr "столбец_соединения" -#: sql_help.c:4598 sql_help.c:4855 sql_help.c:5093 +#: sql_help.c:4611 sql_help.c:4868 sql_help.c:5114 msgid "join_using_alias" msgstr "псевдоним_использования_соединения" -#: sql_help.c:4604 sql_help.c:4861 sql_help.c:5099 +#: sql_help.c:4617 sql_help.c:4874 sql_help.c:5120 msgid "and grouping_element can be one of:" msgstr "где допустимый элемент_группирования:" -#: sql_help.c:4612 sql_help.c:4869 sql_help.c:5107 +#: sql_help.c:4625 sql_help.c:4882 sql_help.c:5128 msgid "and with_query is:" msgstr "и запрос_WITH:" -#: sql_help.c:4616 sql_help.c:4873 sql_help.c:5111 +#: sql_help.c:4629 sql_help.c:4886 sql_help.c:5132 msgid "values" msgstr "значения" -#: sql_help.c:4617 sql_help.c:4874 sql_help.c:5112 +#: sql_help.c:4630 sql_help.c:4887 sql_help.c:5133 msgid "insert" msgstr "insert" -#: sql_help.c:4618 sql_help.c:4875 sql_help.c:5113 +#: sql_help.c:4631 sql_help.c:4888 sql_help.c:5134 msgid "update" msgstr "update" -#: sql_help.c:4619 sql_help.c:4876 sql_help.c:5114 +#: sql_help.c:4632 sql_help.c:4889 sql_help.c:5135 msgid "delete" msgstr "delete" -#: sql_help.c:4621 sql_help.c:4878 sql_help.c:5116 +#: sql_help.c:4634 sql_help.c:4891 sql_help.c:5137 msgid "search_seq_col_name" msgstr "имя_столбца_послед_поиска" -#: sql_help.c:4623 sql_help.c:4880 sql_help.c:5118 +#: sql_help.c:4636 sql_help.c:4893 sql_help.c:5139 msgid "cycle_mark_col_name" msgstr "имя_столбца_пометки_цикла" -#: sql_help.c:4624 sql_help.c:4881 sql_help.c:5119 +#: sql_help.c:4637 sql_help.c:4894 sql_help.c:5140 msgid "cycle_mark_value" msgstr "значение_пометки_цикла" -#: sql_help.c:4625 sql_help.c:4882 sql_help.c:5120 +#: sql_help.c:4638 sql_help.c:4895 sql_help.c:5141 msgid "cycle_mark_default" msgstr "пометка_цикла_по_умолчанию" -#: sql_help.c:4626 sql_help.c:4883 sql_help.c:5121 +#: sql_help.c:4639 sql_help.c:4896 sql_help.c:5142 msgid "cycle_path_col_name" msgstr "имя_столбца_пути_цикла" -#: sql_help.c:4653 +#: sql_help.c:4666 msgid "new_table" msgstr "новая_таблица" -#: sql_help.c:4724 +#: sql_help.c:4737 msgid "snapshot_id" msgstr "код_снимка" -#: sql_help.c:4984 +#: sql_help.c:5005 msgid "sort_expression" msgstr "выражение_сортировки" -#: sql_help.c:5128 sql_help.c:6112 +#: sql_help.c:5149 sql_help.c:6133 msgid "abort the current transaction" msgstr "прервать текущую транзакцию" -#: sql_help.c:5134 +#: sql_help.c:5155 msgid "change the definition of an aggregate function" msgstr "изменить определение агрегатной функции" -#: sql_help.c:5140 +#: sql_help.c:5161 msgid "change the definition of a collation" msgstr "изменить определение правила сортировки" -#: sql_help.c:5146 +#: sql_help.c:5167 msgid "change the definition of a conversion" msgstr "изменить определение преобразования" -#: sql_help.c:5152 +#: sql_help.c:5173 msgid "change a database" msgstr "изменить атрибуты базы данных" -#: sql_help.c:5158 +#: sql_help.c:5179 msgid "define default access privileges" msgstr "определить права доступа по умолчанию" -#: sql_help.c:5164 +#: sql_help.c:5185 msgid "change the definition of a domain" msgstr "изменить определение домена" -#: sql_help.c:5170 +#: sql_help.c:5191 msgid "change the definition of an event trigger" msgstr "изменить определение событийного триггера" -#: sql_help.c:5176 +#: sql_help.c:5197 msgid "change the definition of an extension" msgstr "изменить определение расширения" -#: sql_help.c:5182 +#: sql_help.c:5203 msgid "change the definition of a foreign-data wrapper" msgstr "изменить определение обёртки сторонних данных" -#: sql_help.c:5188 +#: sql_help.c:5209 msgid "change the definition of a foreign table" msgstr "изменить определение сторонней таблицы" -#: sql_help.c:5194 +#: sql_help.c:5215 msgid "change the definition of a function" msgstr "изменить определение функции" -#: sql_help.c:5200 +#: sql_help.c:5221 msgid "change role name or membership" msgstr "изменить имя роли или членство" -#: sql_help.c:5206 +#: sql_help.c:5227 msgid "change the definition of an index" msgstr "изменить определение индекса" -#: sql_help.c:5212 +#: sql_help.c:5233 msgid "change the definition of a procedural language" msgstr "изменить определение процедурного языка" -#: sql_help.c:5218 +#: sql_help.c:5239 msgid "change the definition of a large object" msgstr "изменить определение большого объекта" -#: sql_help.c:5224 +#: sql_help.c:5245 msgid "change the definition of a materialized view" msgstr "изменить определение материализованного представления" -#: sql_help.c:5230 +#: sql_help.c:5251 msgid "change the definition of an operator" msgstr "изменить определение оператора" -#: sql_help.c:5236 +#: sql_help.c:5257 msgid "change the definition of an operator class" msgstr "изменить определение класса операторов" -#: sql_help.c:5242 +#: sql_help.c:5263 msgid "change the definition of an operator family" msgstr "изменить определение семейства операторов" -#: sql_help.c:5248 +#: sql_help.c:5269 msgid "change the definition of a row-level security policy" msgstr "изменить определение политики защиты на уровне строк" -#: sql_help.c:5254 +#: sql_help.c:5275 msgid "change the definition of a procedure" msgstr "изменить определение процедуры" -#: sql_help.c:5260 +#: sql_help.c:5281 msgid "change the definition of a publication" msgstr "изменить определение публикации" -#: sql_help.c:5266 sql_help.c:5368 +#: sql_help.c:5287 sql_help.c:5389 msgid "change a database role" msgstr "изменить роль пользователя БД" -#: sql_help.c:5272 +#: sql_help.c:5293 msgid "change the definition of a routine" msgstr "изменить определение подпрограммы" -#: sql_help.c:5278 +#: sql_help.c:5299 msgid "change the definition of a rule" msgstr "изменить определение правила" -#: sql_help.c:5284 +#: sql_help.c:5305 msgid "change the definition of a schema" msgstr "изменить определение схемы" -#: sql_help.c:5290 +#: sql_help.c:5311 msgid "change the definition of a sequence generator" msgstr "изменить определение генератора последовательности" -#: sql_help.c:5296 +#: sql_help.c:5317 msgid "change the definition of a foreign server" msgstr "изменить определение стороннего сервера" -#: sql_help.c:5302 +#: sql_help.c:5323 msgid "change the definition of an extended statistics object" msgstr "изменить определение объекта расширенной статистики" -#: sql_help.c:5308 +#: sql_help.c:5329 msgid "change the definition of a subscription" msgstr "изменить определение подписки" -#: sql_help.c:5314 +#: sql_help.c:5335 msgid "change a server configuration parameter" msgstr "изменить параметр конфигурации сервера" -#: sql_help.c:5320 +#: sql_help.c:5341 msgid "change the definition of a table" msgstr "изменить определение таблицы" -#: sql_help.c:5326 +#: sql_help.c:5347 msgid "change the definition of a tablespace" msgstr "изменить определение табличного пространства" -#: sql_help.c:5332 +#: sql_help.c:5353 msgid "change the definition of a text search configuration" msgstr "изменить определение конфигурации текстового поиска" -#: sql_help.c:5338 +#: sql_help.c:5359 msgid "change the definition of a text search dictionary" msgstr "изменить определение словаря текстового поиска" -#: sql_help.c:5344 +#: sql_help.c:5365 msgid "change the definition of a text search parser" msgstr "изменить определение анализатора текстового поиска" -#: sql_help.c:5350 +#: sql_help.c:5371 msgid "change the definition of a text search template" msgstr "изменить определение шаблона текстового поиска" -#: sql_help.c:5356 +#: sql_help.c:5377 msgid "change the definition of a trigger" msgstr "изменить определение триггера" -#: sql_help.c:5362 +#: sql_help.c:5383 msgid "change the definition of a type" msgstr "изменить определение типа" -#: sql_help.c:5374 +#: sql_help.c:5395 msgid "change the definition of a user mapping" msgstr "изменить сопоставление пользователей" -#: sql_help.c:5380 +#: sql_help.c:5401 msgid "change the definition of a view" msgstr "изменить определение представления" -#: sql_help.c:5386 +#: sql_help.c:5407 msgid "collect statistics about a database" msgstr "собрать статистику о базе данных" -#: sql_help.c:5392 sql_help.c:6190 +#: sql_help.c:5413 sql_help.c:6211 msgid "start a transaction block" msgstr "начать транзакцию" -#: sql_help.c:5398 +#: sql_help.c:5419 msgid "invoke a procedure" msgstr "вызвать процедуру" -#: sql_help.c:5404 +#: sql_help.c:5425 msgid "force a write-ahead log checkpoint" msgstr "произвести контрольную точку в журнале предзаписи" -#: sql_help.c:5410 +#: sql_help.c:5431 msgid "close a cursor" msgstr "закрыть курсор" -#: sql_help.c:5416 +#: sql_help.c:5437 msgid "cluster a table according to an index" msgstr "перегруппировать таблицу по индексу" -#: sql_help.c:5422 +#: sql_help.c:5443 msgid "define or change the comment of an object" msgstr "задать или изменить комментарий объекта" -#: sql_help.c:5428 sql_help.c:5986 +#: sql_help.c:5449 sql_help.c:6007 msgid "commit the current transaction" msgstr "зафиксировать текущую транзакцию" -#: sql_help.c:5434 +#: sql_help.c:5455 msgid "commit a transaction that was earlier prepared for two-phase commit" msgstr "зафиксировать транзакцию, ранее подготовленную для двухфазной фиксации" -#: sql_help.c:5440 +#: sql_help.c:5461 msgid "copy data between a file and a table" msgstr "импорт/экспорт данных в файл" -#: sql_help.c:5446 +#: sql_help.c:5467 msgid "define a new access method" msgstr "создать новый метод доступа" -#: sql_help.c:5452 +#: sql_help.c:5473 msgid "define a new aggregate function" msgstr "создать агрегатную функцию" -#: sql_help.c:5458 +#: sql_help.c:5479 msgid "define a new cast" msgstr "создать приведение типов" -#: sql_help.c:5464 +#: sql_help.c:5485 msgid "define a new collation" msgstr "создать правило сортировки" -#: sql_help.c:5470 +#: sql_help.c:5491 msgid "define a new encoding conversion" msgstr "создать преобразование кодировки" -#: sql_help.c:5476 +#: sql_help.c:5497 msgid "create a new database" msgstr "создать базу данных" -#: sql_help.c:5482 +#: sql_help.c:5503 msgid "define a new domain" msgstr "создать домен" -#: sql_help.c:5488 +#: sql_help.c:5509 msgid "define a new event trigger" msgstr "создать событийный триггер" -#: sql_help.c:5494 +#: sql_help.c:5515 msgid "install an extension" msgstr "установить расширение" -#: sql_help.c:5500 +#: sql_help.c:5521 msgid "define a new foreign-data wrapper" msgstr "создать обёртку сторонних данных" -#: sql_help.c:5506 +#: sql_help.c:5527 msgid "define a new foreign table" msgstr "создать стороннюю таблицу" -#: sql_help.c:5512 +#: sql_help.c:5533 msgid "define a new function" msgstr "создать функцию" -#: sql_help.c:5518 sql_help.c:5578 sql_help.c:5680 +#: sql_help.c:5539 sql_help.c:5599 sql_help.c:5701 msgid "define a new database role" msgstr "создать роль пользователя БД" -#: sql_help.c:5524 +#: sql_help.c:5545 msgid "define a new index" msgstr "создать индекс" -#: sql_help.c:5530 +#: sql_help.c:5551 msgid "define a new procedural language" msgstr "создать процедурный язык" -#: sql_help.c:5536 +#: sql_help.c:5557 msgid "define a new materialized view" msgstr "создать материализованное представление" -#: sql_help.c:5542 +#: sql_help.c:5563 msgid "define a new operator" msgstr "создать оператор" -#: sql_help.c:5548 +#: sql_help.c:5569 msgid "define a new operator class" msgstr "создать класс операторов" -#: sql_help.c:5554 +#: sql_help.c:5575 msgid "define a new operator family" msgstr "создать семейство операторов" -#: sql_help.c:5560 +#: sql_help.c:5581 msgid "define a new row-level security policy for a table" msgstr "создать новую политику защиты на уровне строк для таблицы" -#: sql_help.c:5566 +#: sql_help.c:5587 msgid "define a new procedure" msgstr "создать процедуру" -#: sql_help.c:5572 +#: sql_help.c:5593 msgid "define a new publication" msgstr "создать публикацию" -#: sql_help.c:5584 +#: sql_help.c:5605 msgid "define a new rewrite rule" msgstr "создать правило перезаписи" -#: sql_help.c:5590 +#: sql_help.c:5611 msgid "define a new schema" msgstr "создать схему" -#: sql_help.c:5596 +#: sql_help.c:5617 msgid "define a new sequence generator" msgstr "создать генератор последовательностей" -#: sql_help.c:5602 +#: sql_help.c:5623 msgid "define a new foreign server" msgstr "создать сторонний сервер" -#: sql_help.c:5608 +#: sql_help.c:5629 msgid "define extended statistics" msgstr "создать расширенную статистику" -#: sql_help.c:5614 +#: sql_help.c:5635 msgid "define a new subscription" msgstr "создать подписку" -#: sql_help.c:5620 +#: sql_help.c:5641 msgid "define a new table" msgstr "создать таблицу" -#: sql_help.c:5626 sql_help.c:6148 +#: sql_help.c:5647 sql_help.c:6169 msgid "define a new table from the results of a query" msgstr "создать таблицу из результатов запроса" -#: sql_help.c:5632 +#: sql_help.c:5653 msgid "define a new tablespace" msgstr "создать табличное пространство" -#: sql_help.c:5638 +#: sql_help.c:5659 msgid "define a new text search configuration" msgstr "создать конфигурацию текстового поиска" -#: sql_help.c:5644 +#: sql_help.c:5665 msgid "define a new text search dictionary" msgstr "создать словарь текстового поиска" -#: sql_help.c:5650 +#: sql_help.c:5671 msgid "define a new text search parser" msgstr "создать анализатор текстового поиска" -#: sql_help.c:5656 +#: sql_help.c:5677 msgid "define a new text search template" msgstr "создать шаблон текстового поиска" -#: sql_help.c:5662 +#: sql_help.c:5683 msgid "define a new transform" msgstr "создать преобразование" -#: sql_help.c:5668 +#: sql_help.c:5689 msgid "define a new trigger" msgstr "создать триггер" -#: sql_help.c:5674 +#: sql_help.c:5695 msgid "define a new data type" msgstr "создать тип данных" -#: sql_help.c:5686 +#: sql_help.c:5707 msgid "define a new mapping of a user to a foreign server" msgstr "создать сопоставление пользователя для стороннего сервера" -#: sql_help.c:5692 +#: sql_help.c:5713 msgid "define a new view" msgstr "создать представление" -#: sql_help.c:5698 +#: sql_help.c:5719 msgid "deallocate a prepared statement" msgstr "освободить подготовленный оператор" -#: sql_help.c:5704 +#: sql_help.c:5725 msgid "define a cursor" msgstr "создать курсор" -#: sql_help.c:5710 +#: sql_help.c:5731 msgid "delete rows of a table" msgstr "удалить записи таблицы" -#: sql_help.c:5716 +#: sql_help.c:5737 msgid "discard session state" msgstr "очистить состояние сеанса" -#: sql_help.c:5722 +#: sql_help.c:5743 msgid "execute an anonymous code block" msgstr "выполнить анонимный блок кода" -#: sql_help.c:5728 +#: sql_help.c:5749 msgid "remove an access method" msgstr "удалить метод доступа" -#: sql_help.c:5734 +#: sql_help.c:5755 msgid "remove an aggregate function" msgstr "удалить агрегатную функцию" -#: sql_help.c:5740 +#: sql_help.c:5761 msgid "remove a cast" msgstr "удалить приведение типа" -#: sql_help.c:5746 +#: sql_help.c:5767 msgid "remove a collation" msgstr "удалить правило сортировки" -#: sql_help.c:5752 +#: sql_help.c:5773 msgid "remove a conversion" msgstr "удалить преобразование" -#: sql_help.c:5758 +#: sql_help.c:5779 msgid "remove a database" msgstr "удалить базу данных" -#: sql_help.c:5764 +#: sql_help.c:5785 msgid "remove a domain" msgstr "удалить домен" -#: sql_help.c:5770 +#: sql_help.c:5791 msgid "remove an event trigger" msgstr "удалить событийный триггер" -#: sql_help.c:5776 +#: sql_help.c:5797 msgid "remove an extension" msgstr "удалить расширение" -#: sql_help.c:5782 +#: sql_help.c:5803 msgid "remove a foreign-data wrapper" msgstr "удалить обёртку сторонних данных" -#: sql_help.c:5788 +#: sql_help.c:5809 msgid "remove a foreign table" msgstr "удалить стороннюю таблицу" -#: sql_help.c:5794 +#: sql_help.c:5815 msgid "remove a function" msgstr "удалить функцию" -#: sql_help.c:5800 sql_help.c:5866 sql_help.c:5968 +#: sql_help.c:5821 sql_help.c:5887 sql_help.c:5989 msgid "remove a database role" msgstr "удалить роль пользователя БД" -#: sql_help.c:5806 +#: sql_help.c:5827 msgid "remove an index" msgstr "удалить индекс" -#: sql_help.c:5812 +#: sql_help.c:5833 msgid "remove a procedural language" msgstr "удалить процедурный язык" -#: sql_help.c:5818 +#: sql_help.c:5839 msgid "remove a materialized view" msgstr "удалить материализованное представление" -#: sql_help.c:5824 +#: sql_help.c:5845 msgid "remove an operator" msgstr "удалить оператор" -#: sql_help.c:5830 +#: sql_help.c:5851 msgid "remove an operator class" msgstr "удалить класс операторов" -#: sql_help.c:5836 +#: sql_help.c:5857 msgid "remove an operator family" msgstr "удалить семейство операторов" -#: sql_help.c:5842 +#: sql_help.c:5863 msgid "remove database objects owned by a database role" msgstr "удалить объекты базы данных, принадлежащие роли" -#: sql_help.c:5848 +#: sql_help.c:5869 msgid "remove a row-level security policy from a table" msgstr "удалить из таблицы политику защиты на уровне строк" -#: sql_help.c:5854 +#: sql_help.c:5875 msgid "remove a procedure" msgstr "удалить процедуру" -#: sql_help.c:5860 +#: sql_help.c:5881 msgid "remove a publication" msgstr "удалить публикацию" -#: sql_help.c:5872 +#: sql_help.c:5893 msgid "remove a routine" msgstr "удалить подпрограмму" -#: sql_help.c:5878 +#: sql_help.c:5899 msgid "remove a rewrite rule" msgstr "удалить правило перезаписи" -#: sql_help.c:5884 +#: sql_help.c:5905 msgid "remove a schema" msgstr "удалить схему" -#: sql_help.c:5890 +#: sql_help.c:5911 msgid "remove a sequence" msgstr "удалить последовательность" -#: sql_help.c:5896 +#: sql_help.c:5917 msgid "remove a foreign server descriptor" msgstr "удалить описание стороннего сервера" -#: sql_help.c:5902 +#: sql_help.c:5923 msgid "remove extended statistics" msgstr "удалить расширенную статистику" -#: sql_help.c:5908 +#: sql_help.c:5929 msgid "remove a subscription" msgstr "удалить подписку" -#: sql_help.c:5914 +#: sql_help.c:5935 msgid "remove a table" msgstr "удалить таблицу" -#: sql_help.c:5920 +#: sql_help.c:5941 msgid "remove a tablespace" msgstr "удалить табличное пространство" -#: sql_help.c:5926 +#: sql_help.c:5947 msgid "remove a text search configuration" msgstr "удалить конфигурацию текстового поиска" -#: sql_help.c:5932 +#: sql_help.c:5953 msgid "remove a text search dictionary" msgstr "удалить словарь текстового поиска" -#: sql_help.c:5938 +#: sql_help.c:5959 msgid "remove a text search parser" msgstr "удалить анализатор текстового поиска" -#: sql_help.c:5944 +#: sql_help.c:5965 msgid "remove a text search template" msgstr "удалить шаблон текстового поиска" -#: sql_help.c:5950 +#: sql_help.c:5971 msgid "remove a transform" msgstr "удалить преобразование" -#: sql_help.c:5956 +#: sql_help.c:5977 msgid "remove a trigger" msgstr "удалить триггер" -#: sql_help.c:5962 +#: sql_help.c:5983 msgid "remove a data type" msgstr "удалить тип данных" -#: sql_help.c:5974 +#: sql_help.c:5995 msgid "remove a user mapping for a foreign server" msgstr "удалить сопоставление пользователя для стороннего сервера" -#: sql_help.c:5980 +#: sql_help.c:6001 msgid "remove a view" msgstr "удалить представление" -#: sql_help.c:5992 +#: sql_help.c:6013 msgid "execute a prepared statement" msgstr "выполнить подготовленный оператор" -#: sql_help.c:5998 +#: sql_help.c:6019 msgid "show the execution plan of a statement" msgstr "показать план выполнения оператора" -#: sql_help.c:6004 +#: sql_help.c:6025 msgid "retrieve rows from a query using a cursor" msgstr "получить результат запроса через курсор" -#: sql_help.c:6010 +#: sql_help.c:6031 msgid "define access privileges" msgstr "определить права доступа" -#: sql_help.c:6016 +#: sql_help.c:6037 msgid "import table definitions from a foreign server" msgstr "импортировать определения таблиц со стороннего сервера" -#: sql_help.c:6022 +#: sql_help.c:6043 msgid "create new rows in a table" msgstr "добавить строки в таблицу" -#: sql_help.c:6028 +#: sql_help.c:6049 msgid "listen for a notification" msgstr "ожидать уведомления" -#: sql_help.c:6034 +#: sql_help.c:6055 msgid "load a shared library file" msgstr "загрузить файл разделяемой библиотеки" -#: sql_help.c:6040 +#: sql_help.c:6061 msgid "lock a table" msgstr "заблокировать таблицу" -#: sql_help.c:6046 +#: sql_help.c:6067 msgid "conditionally insert, update, or delete rows of a table" msgstr "добавление, изменение или удаление строк таблицы по условию" -#: sql_help.c:6052 +#: sql_help.c:6073 msgid "position a cursor" msgstr "установить курсор" -#: sql_help.c:6058 +#: sql_help.c:6079 msgid "generate a notification" msgstr "сгенерировать уведомление" -#: sql_help.c:6064 +#: sql_help.c:6085 msgid "prepare a statement for execution" msgstr "подготовить оператор для выполнения" -#: sql_help.c:6070 +#: sql_help.c:6091 msgid "prepare the current transaction for two-phase commit" msgstr "подготовить текущую транзакцию для двухфазной фиксации" -#: sql_help.c:6076 +#: sql_help.c:6097 msgid "change the ownership of database objects owned by a database role" msgstr "изменить владельца объектов БД, принадлежащих заданной роли" -#: sql_help.c:6082 +#: sql_help.c:6103 msgid "replace the contents of a materialized view" msgstr "заменить содержимое материализованного представления" -#: sql_help.c:6088 +#: sql_help.c:6109 msgid "rebuild indexes" msgstr "перестроить индексы" -#: sql_help.c:6094 -msgid "destroy a previously defined savepoint" -msgstr "удалить ранее определённую точку сохранения" +#: sql_help.c:6115 +msgid "release a previously defined savepoint" +msgstr "освободить ранее определённую точку сохранения" -#: sql_help.c:6100 +#: sql_help.c:6121 msgid "restore the value of a run-time parameter to the default value" msgstr "восстановить исходное значение параметра выполнения" -#: sql_help.c:6106 +#: sql_help.c:6127 msgid "remove access privileges" msgstr "удалить права доступа" -#: sql_help.c:6118 +#: sql_help.c:6139 msgid "cancel a transaction that was earlier prepared for two-phase commit" msgstr "отменить транзакцию, подготовленную ранее для двухфазной фиксации" -#: sql_help.c:6124 +#: sql_help.c:6145 msgid "roll back to a savepoint" msgstr "откатиться к точке сохранения" -#: sql_help.c:6130 +#: sql_help.c:6151 msgid "define a new savepoint within the current transaction" msgstr "определить новую точку сохранения в текущей транзакции" -#: sql_help.c:6136 +#: sql_help.c:6157 msgid "define or change a security label applied to an object" msgstr "задать или изменить метку безопасности, применённую к объекту" -#: sql_help.c:6142 sql_help.c:6196 sql_help.c:6232 +#: sql_help.c:6163 sql_help.c:6217 sql_help.c:6253 msgid "retrieve rows from a table or view" msgstr "выбрать строки из таблицы или представления" -#: sql_help.c:6154 +#: sql_help.c:6175 msgid "change a run-time parameter" msgstr "изменить параметр выполнения" -#: sql_help.c:6160 +#: sql_help.c:6181 msgid "set constraint check timing for the current transaction" msgstr "установить время проверки ограничений для текущей транзакции" -#: sql_help.c:6166 +#: sql_help.c:6187 msgid "set the current user identifier of the current session" msgstr "задать идентификатор текущего пользователя в текущем сеансе" -#: sql_help.c:6172 +#: sql_help.c:6193 msgid "" "set the session user identifier and the current user identifier of the " "current session" @@ -6645,31 +6741,31 @@ msgstr "" "задать идентификатор пользователя сеанса и идентификатор текущего " "пользователя в текущем сеансе" -#: sql_help.c:6178 +#: sql_help.c:6199 msgid "set the characteristics of the current transaction" msgstr "задать свойства текущей транзакции" -#: sql_help.c:6184 +#: sql_help.c:6205 msgid "show the value of a run-time parameter" msgstr "показать значение параметра выполнения" -#: sql_help.c:6202 +#: sql_help.c:6223 msgid "empty a table or set of tables" msgstr "опустошить таблицу или набор таблиц" -#: sql_help.c:6208 +#: sql_help.c:6229 msgid "stop listening for a notification" msgstr "прекратить ожидание уведомлений" -#: sql_help.c:6214 +#: sql_help.c:6235 msgid "update rows of a table" msgstr "изменить строки таблицы" -#: sql_help.c:6220 +#: sql_help.c:6241 msgid "garbage-collect and optionally analyze a database" msgstr "произвести сборку мусора и проанализировать базу данных" -#: sql_help.c:6226 +#: sql_help.c:6247 msgid "compute a set of rows" msgstr "получить набор строк" @@ -6712,7 +6808,7 @@ msgstr "лишний аргумент \"%s\" проигнорирован" msgid "could not find own program executable" msgstr "не удалось найти свой исполняемый файл" -#: tab-complete.c:5955 +#: tab-complete.c:6078 #, c-format msgid "" "tab completion query failed: %s\n" @@ -6739,7 +6835,7 @@ msgstr "неправильное значение \"%s\" для \"%s\": ожид msgid "invalid variable name: \"%s\"" msgstr "неправильное имя переменной: \"%s\"" -#: variables.c:419 +#: variables.c:418 #, c-format msgid "" "unrecognized value \"%s\" for \"%s\"\n" @@ -6748,6 +6844,21 @@ msgstr "" "нераспознанное значение \"%s\" для \"%s\"\n" "Допустимые значения: %s." +#, c-format +#~ msgid "could not identify current directory: %m" +#~ msgstr "не удалось определить текущий каталог: %m" + +#, c-format +#~ msgid "could not change directory to \"%s\": %m" +#~ msgstr "не удалось перейти в каталог \"%s\": %m" + +#, c-format +#~ msgid "could not read symbolic link \"%s\": %m" +#~ msgstr "не удалось прочитать символическую ссылку \"%s\": %m" + +#~ msgid "Source code" +#~ msgstr "Исходный код" + #~ msgid "text" #~ msgstr "текст" @@ -6857,8 +6968,8 @@ msgstr "" #~ msgstr "Об ошибках сообщайте по адресу .\n" #~ msgid "" -#~ " \\g [FILE] or ; execute query (and send results to file or " -#~ "|pipe)\n" +#~ " \\g [FILE] or ; execute query (and send results to file or |" +#~ "pipe)\n" #~ msgstr "" #~ " \\g [ФАЙЛ] или ; выполнить запрос\n" #~ " (и направить результаты в файл или канал |)\n" @@ -6901,8 +7012,8 @@ msgstr "" #~ msgid "No per-database role settings support in this server version.\n" #~ msgstr "" -#~ "Это версия сервера не поддерживает параметры ролей на уровне базы данных." -#~ "\n" +#~ "Это версия сервера не поддерживает параметры ролей на уровне базы " +#~ "данных.\n" #~ msgid "No matching settings found.\n" #~ msgstr "Соответствующие параметры не найдены.\n" diff --git a/src/bin/scripts/po/cs.po b/src/bin/scripts/po/cs.po index dead987bac9..6b4a45a4fdf 100644 --- a/src/bin/scripts/po/cs.po +++ b/src/bin/scripts/po/cs.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: pgscripts-cs (PostgreSQL 9.3)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2020-10-31 16:16+0000\n" -"PO-Revision-Date: 2021-09-16 09:15+0200\n" +"PO-Revision-Date: 2023-09-05 07:31+0200\n" "Last-Translator: Tomas Vondra \n" "Language-Team: Czech \n" "Language: cs\n" @@ -1071,7 +1071,7 @@ msgstr " -F, --freeze zmrazí transakční informace záznam #: vacuumdb.c:920 #, c-format msgid " -j, --jobs=NUM use this many concurrent connections to vacuum\n" -msgstr " -j, --jobs=NUM použij tento počet paralelních jobů pro vacuum\n" +msgstr " -j, --jobs=NUM použij tento počet paralelních jobů pro vacuum\n" #: vacuumdb.c:921 #, c-format diff --git a/src/bin/scripts/po/es.po b/src/bin/scripts/po/es.po index 0f19647ede8..7c578531a6e 100644 --- a/src/bin/scripts/po/es.po +++ b/src/bin/scripts/po/es.po @@ -13,7 +13,7 @@ msgstr "" "Project-Id-Version: pgscripts (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2023-05-22 07:20+0000\n" -"PO-Revision-Date: 2023-05-22 12:06+0200\n" +"PO-Revision-Date: 2023-09-05 07:34+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" "Language: es\n" @@ -665,7 +665,7 @@ msgstr "" msgid " --bypassrls role can bypass row-level security (RLS) policy\n" msgstr "" " --bypassrls el rol puede sobrepasar la política de\n" -" seguridad de registros (RLS)\n" +" seguridad de registros (RLS)\n" #: createuser.c:443 #, c-format diff --git a/src/bin/scripts/po/fr.po b/src/bin/scripts/po/fr.po index 3d6ffa2f910..cd0339c9d73 100644 --- a/src/bin/scripts/po/fr.po +++ b/src/bin/scripts/po/fr.po @@ -13,7 +13,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2023-07-29 09:20+0000\n" -"PO-Revision-Date: 2023-07-29 22:47+0200\n" +"PO-Revision-Date: 2023-09-05 07:51+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -1245,12 +1245,12 @@ msgstr "" #: vacuumdb.c:1145 #, c-format msgid " -n, --schema=PATTERN vacuum tables in the specified schema(s) only\n" -msgstr " -n, --schema=MOTIF exécute VACUUM uniquement dans les schémas indiqués\n" +msgstr " -n, --schema=MOTIF exécute VACUUM uniquement dans les schémas indiqués\n" #: vacuumdb.c:1146 #, c-format msgid " -N, --exclude-schema=PATTERN do not vacuum tables in the specified schema(s)\n" -msgstr " -N, --exclude-schema=MOTIF n'exécute pas VACUUM dans les schémas indiqués\n" +msgstr " -N, --exclude-schema=MOTIF n'exécute pas VACUUM dans les schémas indiqués\n" #: vacuumdb.c:1147 #, c-format diff --git a/src/bin/scripts/po/it.po b/src/bin/scripts/po/it.po index 50551cd3644..bf906add7ff 100644 --- a/src/bin/scripts/po/it.po +++ b/src/bin/scripts/po/it.po @@ -20,7 +20,7 @@ msgstr "" "Project-Id-Version: pgscripts (PostgreSQL) 11\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-09-26 08:19+0000\n" -"PO-Revision-Date: 2022-10-03 20:43+0200\n" +"PO-Revision-Date: 2023-09-05 08:41+0200\n" "Last-Translator: Daniele Varrazzo \n" "Language-Team: https://github.com/dvarrazzo/postgresql-it\n" "Language: it\n" @@ -420,7 +420,7 @@ msgstr " --lc-ctype=LOCALE impostazione LC_CTYPE per il database\n" #: createdb.c:290 #, c-format msgid " --icu-locale=LOCALE ICU locale setting for the database\n" -msgstr " --icu-locale=LOCALE Impostazione locale ICU per il database\n" +msgstr " --icu-locale=LOCALE impostazione locale ICU per il database\n" #: createdb.c:291 #, c-format @@ -939,47 +939,47 @@ msgstr " --concurrently reindecizza in contemporanea\n" #: reindexdb.c:765 #, c-format msgid " -d, --dbname=DBNAME database to reindex\n" -msgstr " -d, --dbname=database DBNAME da reindicizzare\n" +msgstr " -d, --dbname=DBNAME database da reindicizzare\n" #: reindexdb.c:767 #, c-format msgid " -i, --index=INDEX recreate specific index(es) only\n" -msgstr " -i, --index=INDEX ricrea solo indici specifici\n" +msgstr " -i, --index=INDEX ricrea solo indici specifici\n" #: reindexdb.c:768 #, c-format msgid " -j, --jobs=NUM use this many concurrent connections to reindex\n" -msgstr " -j, --jobs=NUM usa questo numero di connessioni simultanee per reindicizzare\n" +msgstr " -j, --jobs=NUM usa questo numero di connessioni simultanee per reindicizzare\n" #: reindexdb.c:769 #, c-format msgid " -q, --quiet don't write any messages\n" -msgstr " -q, --quiet non scrive alcun messaggio\n" +msgstr " -q, --quiet non scrive alcun messaggio\n" #: reindexdb.c:770 #, c-format msgid " -s, --system reindex system catalogs only\n" -msgstr " -s, --system reindex solo i cataloghi di sistema\n" +msgstr " -s, --system reindex solo i cataloghi di sistema\n" #: reindexdb.c:771 #, c-format msgid " -S, --schema=SCHEMA reindex specific schema(s) only\n" -msgstr " -S, --schema=SCHEMA reindicizza solo gli schemi specifici\n" +msgstr " -S, --schema=SCHEMA reindicizza solo gli schemi specifici\n" #: reindexdb.c:772 #, c-format msgid " -t, --table=TABLE reindex specific table(s) only\n" -msgstr " -t, --table=TABLE solo per tabelle specifiche per reindicizzare\n" +msgstr " -t, --table=TABLE solo per tabelle specifiche per reindicizzare\n" #: reindexdb.c:773 #, c-format msgid " --tablespace=TABLESPACE tablespace where indexes are rebuilt\n" -msgstr " --tablespace=TABLESPACE tablespace in cui vengono ricostruiti gli indici\n" +msgstr " --tablespace=TABLESPACE tablespace in cui vengono ricostruiti gli indici\n" #: reindexdb.c:774 #, c-format msgid " -v, --verbose write a lot of output\n" -msgstr " -v, --verbose scrive molto output\n" +msgstr " -v, --verbose scrive molto output\n" #: reindexdb.c:784 #, c-format @@ -1060,7 +1060,7 @@ msgstr "" #: vacuumdb.c:967 #, c-format msgid " -a, --all vacuum all databases\n" -msgstr " -a, --all pulisci tutti i database\n" +msgstr " -a, --all pulisci tutti i database\n" #: vacuumdb.c:968 #, c-format @@ -1070,41 +1070,41 @@ msgstr " -d, --dbname=NOMEDB database da pulire\n" #: vacuumdb.c:969 #, c-format msgid " --disable-page-skipping disable all page-skipping behavior\n" -msgstr " --disable-page-skipping disabilita tutti i comportamenti di salto di pagina\n" +msgstr " --disable-page-skipping disabilita tutti i comportamenti di salto di pagina\n" #: vacuumdb.c:970 #, c-format msgid " -e, --echo show the commands being sent to the server\n" -msgstr " -e, --echo mostra i comandi inviati al server\n" +msgstr " -e, --echo mostra i comandi inviati al server\n" #: vacuumdb.c:971 #, c-format msgid " -f, --full do full vacuuming\n" -msgstr " -f, --full esegui una pulizia completa\n" +msgstr " -f, --full esegui una pulizia completa\n" #: vacuumdb.c:972 #, c-format msgid " -F, --freeze freeze row transaction information\n" msgstr "" -" -F, --freeze congela le informazioni per la transazione\n" +" -F, --freeze congela le informazioni per la transazione\n" " sulla riga\n" #: vacuumdb.c:973 #, c-format msgid " --force-index-cleanup always remove index entries that point to dead tuples\n" -msgstr " --force-index-cleanup rimuove sempre le voci di indice che puntano a tuple morte\n" +msgstr " --force-index-cleanup rimuove sempre le voci di indice che puntano a tuple morte\n" #: vacuumdb.c:974 #, c-format msgid " -j, --jobs=NUM use this many concurrent connections to vacuum\n" msgstr "" -" -j, --jobs=NUM usa questo numero di connessioni concorrenti\n" +" -j, --jobs=NUM usa questo numero di connessioni concorrenti\n" " per effetturare il vacuum\n" #: vacuumdb.c:975 #, c-format msgid " --min-mxid-age=MXID_AGE minimum multixact ID age of tables to vacuum\n" -msgstr " --min-mxid-age=MXID_AGE età minima dell'ID multixact delle tabelle da aspirare\n" +msgstr " --min-mxid-age=MXID_AGE età minima dell'ID multixact delle tabelle da aspirare\n" #: vacuumdb.c:976 #, c-format @@ -1114,17 +1114,17 @@ msgstr " --min-xid-age=XID_AGE minimo ID transazione età delle tabel #: vacuumdb.c:977 #, c-format msgid " --no-index-cleanup don't remove index entries that point to dead tuples\n" -msgstr " --no-index-cleanup non rimuove le voci di indice che puntano a tuple morte\n" +msgstr " --no-index-cleanup non rimuove le voci di indice che puntano a tuple morte\n" #: vacuumdb.c:978 #, c-format msgid " --no-process-toast skip the TOAST table associated with the table to vacuum\n" -msgstr " --no-process-toast salta la tabella TOAST associata alla tabella da aspirare\n" +msgstr " --no-process-toast salta la tabella TOAST associata alla tabella da aspirare\n" #: vacuumdb.c:979 #, c-format msgid " --no-truncate don't truncate empty pages at the end of the table\n" -msgstr " --no-truncate non tronca le pagine vuote alla fine della tabella\n" +msgstr " --no-truncate non tronca le pagine vuote alla fine della tabella\n" #: vacuumdb.c:980 #, c-format @@ -1139,7 +1139,7 @@ msgstr " -q, --quiet non stampare alcun messaggio\n" #: vacuumdb.c:982 #, c-format msgid " --skip-locked skip relations that cannot be immediately locked\n" -msgstr " --skip-locked salta le relazioni che non possono essere bloccate immediatamente\n" +msgstr " --skip-locked salta le relazioni che non possono essere bloccate immediatamente\n" #: vacuumdb.c:983 #, c-format @@ -1164,7 +1164,7 @@ msgstr " -z, --analyze aggiorna le statistiche per l'ottimizz #: vacuumdb.c:987 #, c-format msgid " -Z, --analyze-only only update optimizer statistics; no vacuum\n" -msgstr " -Z, --analyze-only aggiorna solo le statistiche; niente vacuum\n" +msgstr " -Z, --analyze-only aggiorna solo le statistiche; niente vacuum\n" #: vacuumdb.c:988 #, c-format @@ -1172,13 +1172,13 @@ msgid "" " --analyze-in-stages only update optimizer statistics, in multiple\n" " stages for faster results; no vacuum\n" msgstr "" -" --analyze-in-stages aggiorna solo le statistiche, in fasi multiple\n" +" --analyze-in-stages aggiorna solo le statistiche, in fasi multiple\n" " per maggiore velocità, niente vacuum\n" #: vacuumdb.c:990 #, c-format msgid " -?, --help show this help, then exit\n" -msgstr " -?, --help mostra questo aiuto ed esci\n" +msgstr " -?, --help mostra questo aiuto ed esci\n" #: vacuumdb.c:998 #, c-format diff --git a/src/bin/scripts/po/ru.po b/src/bin/scripts/po/ru.po index c7445bb3ae0..cbcc05327a1 100644 --- a/src/bin/scripts/po/ru.po +++ b/src/bin/scripts/po/ru.po @@ -3,21 +3,21 @@ # This file is distributed under the same license as the PostgreSQL package. # Serguei A. Mokhov, , 2003-2004. # Oleg Bartunov , 2004. -# Alexander Lakhin , 2012-2017, 2019, 2020, 2021, 2022. +# Alexander Lakhin , 2012-2017, 2019, 2020, 2021, 2022, 2023. msgid "" msgstr "" "Project-Id-Version: pgscripts (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-09-29 10:17+0300\n" -"PO-Revision-Date: 2022-09-05 13:37+0300\n" +"POT-Creation-Date: 2023-08-28 07:59+0300\n" +"PO-Revision-Date: 2023-08-30 12:51+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: ../../../src/common/logging.c:276 #, c-format @@ -40,12 +40,12 @@ msgid "hint: " msgstr "подсказка: " #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 -#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format msgid "out of memory\n" msgstr "нехватка памяти\n" -#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 #, c-format msgid "cannot duplicate null pointer (internal error)\n" msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n" @@ -72,7 +72,7 @@ msgstr "Сигнал отмены отправлен\n" msgid "Could not send cancel request: " msgstr "Отправить сигнал отмены не удалось: " -#: ../../fe_utils/connect_utils.c:49 ../../fe_utils/connect_utils.c:104 +#: ../../fe_utils/connect_utils.c:49 ../../fe_utils/connect_utils.c:103 msgid "Password: " msgstr "Пароль: " @@ -81,7 +81,7 @@ msgstr "Пароль: " msgid "could not connect to database %s: out of memory" msgstr "не удалось подключиться к базе %s (нехватка памяти)" -#: ../../fe_utils/connect_utils.c:117 pg_isready.c:146 +#: ../../fe_utils/connect_utils.c:116 pg_isready.c:146 #, c-format msgid "%s" msgstr "%s" @@ -96,12 +96,12 @@ msgstr "неверное значение \"%s\" для параметра %s" msgid "%s must be in range %d..%d" msgstr "значение %s должно быть в диапазоне %d..%d" -#: ../../fe_utils/parallel_slot.c:301 +#: ../../fe_utils/parallel_slot.c:299 #, c-format msgid "too many jobs for this platform" msgstr "слишком много заданий для этой платформы" -#: ../../fe_utils/parallel_slot.c:519 +#: ../../fe_utils/parallel_slot.c:520 #, c-format msgid "processing of database \"%s\" failed: %s" msgstr "ошибка при обработке базы \"%s\": %s" @@ -114,24 +114,24 @@ msgstr[0] "(%lu строка)" msgstr[1] "(%lu строки)" msgstr[2] "(%lu строк)" -#: ../../fe_utils/print.c:3109 +#: ../../fe_utils/print.c:3154 #, c-format msgid "Interrupted\n" msgstr "Прервано\n" -#: ../../fe_utils/print.c:3173 +#: ../../fe_utils/print.c:3218 #, c-format msgid "Cannot add header to table content: column count of %d exceeded.\n" msgstr "" "Ошибка добавления заголовка таблицы: превышен предел числа столбцов (%d).\n" -#: ../../fe_utils/print.c:3213 +#: ../../fe_utils/print.c:3258 #, c-format msgid "Cannot add cell to table content: total cell count of %d exceeded.\n" msgstr "" "Ошибка добавления ячейки в таблицу: превышен предел числа ячеек (%d).\n" -#: ../../fe_utils/print.c:3471 +#: ../../fe_utils/print.c:3516 #, c-format msgid "invalid output format (internal error): %d" msgstr "неверный формат вывода (внутренняя ошибка): %d" @@ -146,16 +146,16 @@ msgstr "ошибка при выполнении запроса: %s" msgid "Query was: %s" msgstr "Выполнялся запрос: %s" -#: clusterdb.c:113 clusterdb.c:132 createdb.c:139 createdb.c:158 -#: createuser.c:170 createuser.c:185 dropdb.c:104 dropdb.c:113 dropdb.c:121 +#: clusterdb.c:113 clusterdb.c:132 createdb.c:144 createdb.c:163 +#: createuser.c:195 createuser.c:210 dropdb.c:104 dropdb.c:113 dropdb.c:121 #: dropuser.c:95 dropuser.c:110 dropuser.c:123 pg_isready.c:97 pg_isready.c:111 -#: reindexdb.c:174 reindexdb.c:193 vacuumdb.c:241 vacuumdb.c:260 +#: reindexdb.c:174 reindexdb.c:193 vacuumdb.c:277 vacuumdb.c:297 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Для дополнительной информации попробуйте \"%s --help\"." -#: clusterdb.c:130 createdb.c:156 createuser.c:183 dropdb.c:119 dropuser.c:108 -#: pg_isready.c:109 reindexdb.c:191 vacuumdb.c:258 +#: clusterdb.c:130 createdb.c:161 createuser.c:208 dropdb.c:119 dropuser.c:108 +#: pg_isready.c:109 reindexdb.c:191 vacuumdb.c:295 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "слишком много аргументов командной строки (первый: \"%s\")" @@ -180,12 +180,12 @@ msgstr "кластеризовать таблицу \"%s\" в базе \"%s\" н msgid "clustering of database \"%s\" failed: %s" msgstr "кластеризовать базу \"%s\" не удалось: %s" -#: clusterdb.c:246 +#: clusterdb.c:248 #, c-format msgid "%s: clustering database \"%s\"\n" msgstr "%s: кластеризация базы \"%s\"\n" -#: clusterdb.c:262 +#: clusterdb.c:264 #, c-format msgid "" "%s clusters all previously clustered tables in a database.\n" @@ -194,19 +194,19 @@ msgstr "" "%s упорядочивает данные всех кластеризованных таблиц в базе данных.\n" "\n" -#: clusterdb.c:263 createdb.c:281 createuser.c:346 dropdb.c:172 dropuser.c:170 -#: pg_isready.c:226 reindexdb.c:760 vacuumdb.c:964 +#: clusterdb.c:265 createdb.c:288 createuser.c:415 dropdb.c:172 dropuser.c:170 +#: pg_isready.c:226 reindexdb.c:750 vacuumdb.c:1127 #, c-format msgid "Usage:\n" msgstr "Использование:\n" -#: clusterdb.c:264 reindexdb.c:761 vacuumdb.c:965 +#: clusterdb.c:266 reindexdb.c:751 vacuumdb.c:1128 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [ПАРАМЕТР]... [ИМЯ_БД]\n" -#: clusterdb.c:265 createdb.c:283 createuser.c:348 dropdb.c:174 dropuser.c:172 -#: pg_isready.c:229 reindexdb.c:762 vacuumdb.c:966 +#: clusterdb.c:267 createdb.c:290 createuser.c:417 dropdb.c:174 dropuser.c:172 +#: pg_isready.c:229 reindexdb.c:752 vacuumdb.c:1129 #, c-format msgid "" "\n" @@ -215,50 +215,50 @@ msgstr "" "\n" "Параметры:\n" -#: clusterdb.c:266 +#: clusterdb.c:268 #, c-format msgid " -a, --all cluster all databases\n" msgstr " -a, --all кластеризовать все базы\n" -#: clusterdb.c:267 +#: clusterdb.c:269 #, c-format msgid " -d, --dbname=DBNAME database to cluster\n" msgstr " -d, --dbname=ИМЯ_БД имя базы данных для кластеризации\n" -#: clusterdb.c:268 createuser.c:352 dropdb.c:175 dropuser.c:173 +#: clusterdb.c:270 createuser.c:423 dropdb.c:175 dropuser.c:173 #, c-format msgid "" " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo отображать команды, отправляемые серверу\n" -#: clusterdb.c:269 +#: clusterdb.c:271 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet не выводить никакие сообщения\n" -#: clusterdb.c:270 +#: clusterdb.c:272 #, c-format msgid " -t, --table=TABLE cluster specific table(s) only\n" msgstr "" " -t, --table=ТАБЛИЦА кластеризовать только указанную таблицу(ы)\n" -#: clusterdb.c:271 +#: clusterdb.c:273 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose выводить исчерпывающие сообщения\n" -#: clusterdb.c:272 createuser.c:364 dropdb.c:178 dropuser.c:176 +#: clusterdb.c:274 createuser.c:439 dropdb.c:178 dropuser.c:176 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: clusterdb.c:273 createuser.c:369 dropdb.c:180 dropuser.c:178 +#: clusterdb.c:275 createuser.c:447 dropdb.c:180 dropuser.c:178 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: clusterdb.c:274 createdb.c:298 createuser.c:370 dropdb.c:181 dropuser.c:179 -#: pg_isready.c:235 reindexdb.c:777 vacuumdb.c:991 +#: clusterdb.c:276 createdb.c:306 createuser.c:448 dropdb.c:181 dropuser.c:179 +#: pg_isready.c:235 reindexdb.c:767 vacuumdb.c:1158 #, c-format msgid "" "\n" @@ -267,39 +267,39 @@ msgstr "" "\n" "Параметры подключения:\n" -#: clusterdb.c:275 createuser.c:371 dropdb.c:182 dropuser.c:180 vacuumdb.c:992 +#: clusterdb.c:277 createuser.c:449 dropdb.c:182 dropuser.c:180 vacuumdb.c:1159 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" " -h, --host=ИМЯ имя сервера баз данных или каталог сокетов\n" -#: clusterdb.c:276 createuser.c:372 dropdb.c:183 dropuser.c:181 vacuumdb.c:993 +#: clusterdb.c:278 createuser.c:450 dropdb.c:183 dropuser.c:181 vacuumdb.c:1160 #, c-format msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=ПОРТ порт сервера баз данных\n" -#: clusterdb.c:277 dropdb.c:184 vacuumdb.c:994 +#: clusterdb.c:279 dropdb.c:184 vacuumdb.c:1161 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" msgstr "" " -U, --username=ИМЯ имя пользователя для подключения к серверу\n" -#: clusterdb.c:278 createuser.c:374 dropdb.c:185 dropuser.c:183 vacuumdb.c:995 +#: clusterdb.c:280 createuser.c:452 dropdb.c:185 dropuser.c:183 vacuumdb.c:1162 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password не запрашивать пароль\n" -#: clusterdb.c:279 createuser.c:375 dropdb.c:186 dropuser.c:184 vacuumdb.c:996 +#: clusterdb.c:281 createuser.c:453 dropdb.c:186 dropuser.c:184 vacuumdb.c:1163 #, c-format msgid " -W, --password force password prompt\n" msgstr " -W, --password запросить пароль\n" -#: clusterdb.c:280 dropdb.c:187 vacuumdb.c:997 +#: clusterdb.c:282 dropdb.c:187 vacuumdb.c:1164 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" msgstr " --maintenance-db=ИМЯ_БД сменить опорную базу данных\n" -#: clusterdb.c:281 +#: clusterdb.c:283 #, c-format msgid "" "\n" @@ -308,8 +308,8 @@ msgstr "" "\n" "Подробнее о кластеризации вы можете узнать в описании SQL-команды CLUSTER.\n" -#: clusterdb.c:282 createdb.c:306 createuser.c:376 dropdb.c:188 dropuser.c:185 -#: pg_isready.c:240 reindexdb.c:785 vacuumdb.c:999 +#: clusterdb.c:284 createdb.c:314 createuser.c:454 dropdb.c:188 dropuser.c:185 +#: pg_isready.c:240 reindexdb.c:775 vacuumdb.c:1166 #, c-format msgid "" "\n" @@ -318,8 +318,8 @@ msgstr "" "\n" "Об ошибках сообщайте по адресу <%s>.\n" -#: clusterdb.c:283 createdb.c:307 createuser.c:377 dropdb.c:189 dropuser.c:186 -#: pg_isready.c:241 reindexdb.c:786 vacuumdb.c:1000 +#: clusterdb.c:285 createdb.c:315 createuser.c:455 dropdb.c:189 dropuser.c:186 +#: pg_isready.c:241 reindexdb.c:776 vacuumdb.c:1167 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашняя страница %s: <%s>\n" @@ -354,22 +354,22 @@ msgstr "%s (%s - да/%s - нет) " msgid "Please answer \"%s\" or \"%s\".\n" msgstr "Пожалуйста, введите \"%s\" или \"%s\".\n" -#: createdb.c:173 +#: createdb.c:170 #, c-format msgid "\"%s\" is not a valid encoding name" msgstr "\"%s\" не является верным названием кодировки" -#: createdb.c:243 +#: createdb.c:250 #, c-format msgid "database creation failed: %s" msgstr "создать базу данных не удалось: %s" -#: createdb.c:262 +#: createdb.c:269 #, c-format msgid "comment creation failed (database was created): %s" msgstr "создать комментарий не удалось (база данных была создана): %s" -#: createdb.c:280 +#: createdb.c:287 #, c-format msgid "" "%s creates a PostgreSQL database.\n" @@ -378,52 +378,59 @@ msgstr "" "%s создаёт базу данных PostgreSQL.\n" "\n" -#: createdb.c:282 +#: createdb.c:289 #, c-format msgid " %s [OPTION]... [DBNAME] [DESCRIPTION]\n" msgstr " %s [ПАРАМЕТР]... [ИМЯ_БД] [ОПИСАНИЕ]\n" # well-spelled: ПРОСТР -#: createdb.c:284 +#: createdb.c:291 #, c-format msgid " -D, --tablespace=TABLESPACE default tablespace for the database\n" msgstr "" " -D, --tablespace=ТАБЛ_ПРОСТР табличное пространство по умолчанию для базы " "данных\n" -#: createdb.c:285 reindexdb.c:766 +#: createdb.c:292 reindexdb.c:756 #, c-format msgid "" " -e, --echo show the commands being sent to the server\n" msgstr "" " -e, --echo отображать команды, отправляемые серверу\n" -#: createdb.c:286 +#: createdb.c:293 #, c-format msgid " -E, --encoding=ENCODING encoding for the database\n" msgstr " -E, --encoding=КОДИРОВКА кодировка базы данных\n" -#: createdb.c:287 +#: createdb.c:294 #, c-format msgid " -l, --locale=LOCALE locale settings for the database\n" msgstr " -l, --locale=ЛОКАЛЬ локаль для базы данных\n" -#: createdb.c:288 +#: createdb.c:295 #, c-format msgid " --lc-collate=LOCALE LC_COLLATE setting for the database\n" msgstr " --lc-collate=ЛОКАЛЬ параметр LC_COLLATE для базы данных\n" -#: createdb.c:289 +#: createdb.c:296 #, c-format msgid " --lc-ctype=LOCALE LC_CTYPE setting for the database\n" msgstr " --lc-ctype=ЛОКАЛЬ параметр LC_CTYPE для базы данных\n" -#: createdb.c:290 +#: createdb.c:297 #, c-format msgid " --icu-locale=LOCALE ICU locale setting for the database\n" msgstr " --icu-locale=ЛОКАЛЬ локаль ICU для базы данных\n" -#: createdb.c:291 +#: createdb.c:298 +#, c-format +msgid " --icu-rules=RULES ICU rules setting for the database\n" +msgstr "" +" --icu-rules=ПРАВИЛА настройка правил сортировки ICU для базы " +"данных\n" + +#: createdb.c:299 #, c-format msgid "" " --locale-provider={libc|icu}\n" @@ -434,13 +441,13 @@ msgstr "" " провайдер локали для основного правила " "сортировки БД\n" -#: createdb.c:293 +#: createdb.c:301 #, c-format msgid " -O, --owner=OWNER database user to own the new database\n" msgstr "" " -O, --owner=ВЛАДЕЛЕЦ пользователь-владелец новой базы данных\n" -#: createdb.c:294 +#: createdb.c:302 #, c-format msgid "" " -S, --strategy=STRATEGY database creation strategy wal_log or " @@ -449,55 +456,55 @@ msgstr "" " -S, --strategy=STRATEGY стратегия создания базы данных: wal_log или " "file_copy\n" -#: createdb.c:295 +#: createdb.c:303 #, c-format msgid " -T, --template=TEMPLATE template database to copy\n" msgstr " -T, --template=ШАБЛОН исходная база данных для копирования\n" -#: createdb.c:296 reindexdb.c:775 +#: createdb.c:304 reindexdb.c:765 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: createdb.c:297 reindexdb.c:776 +#: createdb.c:305 reindexdb.c:766 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: createdb.c:299 reindexdb.c:778 +#: createdb.c:307 reindexdb.c:768 #, c-format msgid "" " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" " -h, --host=ИМЯ имя сервера баз данных или каталог сокетов\n" -#: createdb.c:300 reindexdb.c:779 +#: createdb.c:308 reindexdb.c:769 #, c-format msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=ПОРТ порт сервера баз данных\n" -#: createdb.c:301 reindexdb.c:780 +#: createdb.c:309 reindexdb.c:770 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" msgstr "" " -U, --username=ИМЯ имя пользователя для подключения к серверу\n" -#: createdb.c:302 reindexdb.c:781 +#: createdb.c:310 reindexdb.c:771 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password не запрашивать пароль\n" -#: createdb.c:303 reindexdb.c:782 +#: createdb.c:311 reindexdb.c:772 #, c-format msgid " -W, --password force password prompt\n" msgstr " -W, --password запросить пароль\n" -#: createdb.c:304 reindexdb.c:783 +#: createdb.c:312 reindexdb.c:773 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" msgstr " --maintenance-db=ИМЯ_БД сменить опорную базу данных\n" -#: createdb.c:305 +#: createdb.c:313 #, c-format msgid "" "\n" @@ -506,46 +513,46 @@ msgstr "" "\n" "По умолчанию именем базы данных считается имя текущего пользователя.\n" -#: createuser.c:193 +#: createuser.c:218 msgid "Enter name of role to add: " msgstr "Введите имя новой роли: " -#: createuser.c:208 +#: createuser.c:233 msgid "Enter password for new role: " msgstr "Введите пароль для новой роли: " -#: createuser.c:209 +#: createuser.c:234 msgid "Enter it again: " msgstr "Повторите его: " -#: createuser.c:212 +#: createuser.c:237 #, c-format msgid "Passwords didn't match.\n" msgstr "Пароли не совпадают.\n" -#: createuser.c:220 +#: createuser.c:245 msgid "Shall the new role be a superuser?" msgstr "Должна ли новая роль иметь полномочия суперпользователя?" -#: createuser.c:235 +#: createuser.c:260 msgid "Shall the new role be allowed to create databases?" msgstr "Новая роль должна иметь право создавать базы данных?" -#: createuser.c:243 +#: createuser.c:268 msgid "Shall the new role be allowed to create more new roles?" msgstr "Новая роль должна иметь право создавать другие роли?" -#: createuser.c:278 +#: createuser.c:309 #, c-format msgid "password encryption failed: %s" msgstr "ошибка при шифровании пароля: %s" -#: createuser.c:331 +#: createuser.c:400 #, c-format msgid "creation of new role failed: %s" msgstr "создать роль не удалось: %s" -#: createuser.c:345 +#: createuser.c:414 #, c-format msgid "" "%s creates a new PostgreSQL role.\n" @@ -554,12 +561,22 @@ msgstr "" "%s создаёт роль пользователя PostgreSQL.\n" "\n" -#: createuser.c:347 dropuser.c:171 +#: createuser.c:416 dropuser.c:171 #, c-format msgid " %s [OPTION]... [ROLENAME]\n" msgstr " %s [ПАРАМЕТР]... [ИМЯ_РОЛИ]\n" -#: createuser.c:349 +#: createuser.c:418 +#, c-format +msgid "" +" -a, --with-admin=ROLE ROLE will be a member of new role with admin\n" +" option\n" +msgstr "" +" -a, --with-admin=РОЛЬ заданная роль будет членом новой роли с " +"привилегией\n" +" ADMIN\n" + +#: createuser.c:420 #, c-format msgid "" " -c, --connection-limit=N connection limit for role (default: no limit)\n" @@ -567,24 +584,29 @@ msgstr "" " -c, --connection-limit=N предел подключений для роли\n" " (по умолчанию предела нет)\n" -#: createuser.c:350 +#: createuser.c:421 #, c-format msgid " -d, --createdb role can create new databases\n" msgstr " -d, --createdb роль с правом создания баз данных\n" -#: createuser.c:351 +#: createuser.c:422 #, c-format msgid " -D, --no-createdb role cannot create databases (default)\n" msgstr "" " -D, --no-createdb роль без права создания баз данных (по " "умолчанию)\n" -#: createuser.c:353 +#: createuser.c:424 +#, c-format +msgid " -g, --member-of=ROLE new role will be a member of ROLE\n" +msgstr " -g, --member-of=РОЛЬ новая роль будет членом заданной роли\n" + +#: createuser.c:425 #, c-format -msgid " -g, --role=ROLE new role will be a member of this role\n" -msgstr " -g, --role=РОЛЬ новая роль будет включена в эту роль\n" +msgid " --role=ROLE (same as --member-of, deprecated)\n" +msgstr " --role=РОЛЬ (устаревшая альтернатива --member-of)\n" -#: createuser.c:354 +#: createuser.c:426 #, c-format msgid "" " -i, --inherit role inherits privileges of roles it is a\n" @@ -594,52 +616,66 @@ msgstr "" "она\n" " включена (по умолчанию)\n" -#: createuser.c:356 +#: createuser.c:428 #, c-format msgid " -I, --no-inherit role does not inherit privileges\n" msgstr " -I, --no-inherit роль не наследует права\n" -#: createuser.c:357 +#: createuser.c:429 #, c-format msgid " -l, --login role can login (default)\n" msgstr "" " -l, --login роль с правом подключения к серверу (по " "умолчанию)\n" -#: createuser.c:358 +#: createuser.c:430 #, c-format msgid " -L, --no-login role cannot login\n" msgstr " -L, --no-login роль без права подключения\n" -#: createuser.c:359 +#: createuser.c:431 +#, c-format +msgid " -m, --with-member=ROLE ROLE will be a member of new role\n" +msgstr " -m, --with-member=РОЛЬ заданная роль будет членом новой роли\n" + +#: createuser.c:432 #, c-format msgid " -P, --pwprompt assign a password to new role\n" msgstr " -P, --pwprompt назначить пароль новой роли\n" -#: createuser.c:360 +#: createuser.c:433 #, c-format msgid " -r, --createrole role can create new roles\n" msgstr " -r, --createrole роль с правом создания других ролей\n" -#: createuser.c:361 +#: createuser.c:434 #, c-format msgid " -R, --no-createrole role cannot create roles (default)\n" msgstr "" " -R, --no-createrole роль без права создания ролей (по умолчанию)\n" -#: createuser.c:362 +#: createuser.c:435 #, c-format msgid " -s, --superuser role will be superuser\n" msgstr " -s, --superuser роль с полномочиями суперпользователя\n" -#: createuser.c:363 +#: createuser.c:436 #, c-format msgid " -S, --no-superuser role will not be superuser (default)\n" msgstr "" " -S, --no-superuser роль без полномочий суперпользователя (по " "умолчанию)\n" -#: createuser.c:365 +#: createuser.c:437 +#, c-format +msgid "" +" -v, --valid-until=TIMESTAMP\n" +" password expiration date and time for role\n" +msgstr "" +" -v, --valid-until=ДАТА_ВРЕМЯ\n" +" дата и время истечения срока пароля для роли\n" + +#: createuser.c:440 #, c-format msgid "" " --interactive prompt for missing role name and attributes " @@ -649,17 +685,38 @@ msgstr "" " --interactive запрашивать отсутствующие атрибуты и имя роли,\n" " а не использовать значения по умолчанию\n" -#: createuser.c:367 +#: createuser.c:442 +#, c-format +msgid "" +" --bypassrls role can bypass row-level security (RLS) policy\n" +msgstr "" +" --bypassrls роль не будет подчиняться политикам защиты на\n" +" уровне строк (RLS)\n" + +#: createuser.c:443 +#, c-format +msgid "" +" --no-bypassrls role cannot bypass row-level security (RLS) " +"policy\n" +" (default)\n" +msgstr "" +" --no-bypassrls роль будет подчиняться политикам защиты на\n" +" уровне строк (по умолчанию)\n" + +#: createuser.c:445 #, c-format msgid " --replication role can initiate replication\n" msgstr " --replication роль может инициировать репликацию\n" -#: createuser.c:368 +#: createuser.c:446 #, c-format -msgid " --no-replication role cannot initiate replication\n" -msgstr " --no-replication роль не может инициировать репликацию\n" +msgid "" +" --no-replication role cannot initiate replication (default)\n" +msgstr "" +" --no-replication роль не может инициировать репликацию\n" +" (по умолчанию)\n" -#: createuser.c:373 +#: createuser.c:451 #, c-format msgid "" " -U, --username=USERNAME user name to connect as (not the one to create)\n" @@ -921,53 +978,46 @@ msgstr "" msgid "cannot use multiple jobs to reindex indexes" msgstr "нельзя задействовать несколько заданий для перестроения индексов" -#: reindexdb.c:323 reindexdb.c:330 vacuumdb.c:425 vacuumdb.c:432 vacuumdb.c:439 -#: vacuumdb.c:446 vacuumdb.c:453 vacuumdb.c:460 vacuumdb.c:465 vacuumdb.c:469 -#: vacuumdb.c:473 +#: reindexdb.c:323 reindexdb.c:330 vacuumdb.c:509 vacuumdb.c:516 vacuumdb.c:523 +#: vacuumdb.c:530 vacuumdb.c:537 vacuumdb.c:544 vacuumdb.c:551 vacuumdb.c:556 +#: vacuumdb.c:560 vacuumdb.c:564 vacuumdb.c:568 #, c-format msgid "" "cannot use the \"%s\" option on server versions older than PostgreSQL %s" msgstr "" "параметр \"%s\" нельзя использовать с серверами PostgreSQL версии старее %s" -#: reindexdb.c:369 -#, c-format -msgid "cannot reindex system catalogs concurrently, skipping all" -msgstr "" -"все системные каталоги пропускаются, так как их нельзя переиндексировать " -"неблокирующим способом" - -#: reindexdb.c:573 +#: reindexdb.c:561 #, c-format msgid "reindexing of database \"%s\" failed: %s" msgstr "переиндексировать базу данных \"%s\" не удалось: %s" -#: reindexdb.c:577 +#: reindexdb.c:565 #, c-format msgid "reindexing of index \"%s\" in database \"%s\" failed: %s" msgstr "перестроить индекс \"%s\" в базе \"%s\" не удалось: %s" -#: reindexdb.c:581 +#: reindexdb.c:569 #, c-format msgid "reindexing of schema \"%s\" in database \"%s\" failed: %s" msgstr "переиндексировать схему \"%s\" в базе \"%s\" не удалось: %s" -#: reindexdb.c:585 +#: reindexdb.c:573 #, c-format msgid "reindexing of system catalogs in database \"%s\" failed: %s" msgstr "переиндексировать системные каталоги в базе \"%s\" не удалось: %s" -#: reindexdb.c:589 +#: reindexdb.c:577 #, c-format msgid "reindexing of table \"%s\" in database \"%s\" failed: %s" msgstr "переиндексировать таблицу \"%s\" в базе \"%s\" не удалось: %s" -#: reindexdb.c:742 +#: reindexdb.c:732 #, c-format msgid "%s: reindexing database \"%s\"\n" msgstr "%s: переиндексация базы данных \"%s\"\n" -#: reindexdb.c:759 +#: reindexdb.c:749 #, c-format msgid "" "%s reindexes a PostgreSQL database.\n" @@ -976,29 +1026,29 @@ msgstr "" "%s переиндексирует базу данных PostgreSQL.\n" "\n" -#: reindexdb.c:763 +#: reindexdb.c:753 #, c-format msgid " -a, --all reindex all databases\n" msgstr " -a, --all переиндексировать все базы данных\n" -#: reindexdb.c:764 +#: reindexdb.c:754 #, c-format msgid " --concurrently reindex concurrently\n" msgstr "" " --concurrently переиндексировать в неблокирующем режиме\n" -#: reindexdb.c:765 +#: reindexdb.c:755 #, c-format msgid " -d, --dbname=DBNAME database to reindex\n" msgstr " -d, --dbname=БД имя базы для переиндексации\n" -#: reindexdb.c:767 +#: reindexdb.c:757 #, c-format msgid " -i, --index=INDEX recreate specific index(es) only\n" msgstr "" " -i, --index=ИНДЕКС пересоздать только указанный индекс(ы)\n" -#: reindexdb.c:768 +#: reindexdb.c:758 #, c-format msgid "" " -j, --jobs=NUM use this many concurrent connections to " @@ -1007,24 +1057,24 @@ msgstr "" " -j, --jobs=ЧИСЛО запускать для переиндексации заданное число\n" " заданий\n" -#: reindexdb.c:769 +#: reindexdb.c:759 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet не выводить сообщения\n" -#: reindexdb.c:770 +#: reindexdb.c:760 #, c-format msgid " -s, --system reindex system catalogs only\n" msgstr "" " -s, --system переиндексировать только системные каталоги\n" -#: reindexdb.c:771 +#: reindexdb.c:761 #, c-format msgid " -S, --schema=SCHEMA reindex specific schema(s) only\n" msgstr "" " -S, --schema=СХЕМА переиндексировать только указанную схему(ы)\n" -#: reindexdb.c:772 +#: reindexdb.c:762 #, c-format msgid " -t, --table=TABLE reindex specific table(s) only\n" msgstr "" @@ -1032,19 +1082,19 @@ msgstr "" "таблицу(ы)\n" # well-spelled: ПРОСТР -#: reindexdb.c:773 +#: reindexdb.c:763 #, c-format msgid " --tablespace=TABLESPACE tablespace where indexes are rebuilt\n" msgstr "" " --tablespace=ТАБЛ_ПРОСТР табличное пространство, в котором будут\n" " перестраиваться индексы\n" -#: reindexdb.c:774 +#: reindexdb.c:764 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose выводить исчерпывающие сообщения\n" -#: reindexdb.c:784 +#: reindexdb.c:774 #, c-format msgid "" "\n" @@ -1053,65 +1103,96 @@ msgstr "" "\n" "Подробнее о переиндексации вы можете узнать в описании SQL-команды REINDEX.\n" -#: vacuumdb.c:267 vacuumdb.c:270 vacuumdb.c:273 vacuumdb.c:276 vacuumdb.c:279 -#: vacuumdb.c:282 vacuumdb.c:285 vacuumdb.c:294 +#: vacuumdb.c:310 vacuumdb.c:313 vacuumdb.c:316 vacuumdb.c:319 vacuumdb.c:322 +#: vacuumdb.c:325 vacuumdb.c:328 vacuumdb.c:331 vacuumdb.c:340 #, c-format msgid "cannot use the \"%s\" option when performing only analyze" msgstr "при выполнении только анализа нельзя использовать параметр \"%s\"" -#: vacuumdb.c:297 +#: vacuumdb.c:343 #, c-format msgid "cannot use the \"%s\" option when performing full vacuum" msgstr "при выполнении полной очистки нельзя использовать параметр \"%s\"" -#: vacuumdb.c:303 +#: vacuumdb.c:349 vacuumdb.c:357 #, c-format msgid "cannot use the \"%s\" option with the \"%s\" option" msgstr "параметр \"%s\" нельзя использовать совместно с \"%s\"" -#: vacuumdb.c:322 +#: vacuumdb.c:428 #, c-format msgid "cannot vacuum all databases and a specific one at the same time" msgstr "нельзя очистить все базы данных и одну конкретную одновременно" -#: vacuumdb.c:324 +#: vacuumdb.c:432 #, c-format msgid "cannot vacuum specific table(s) in all databases" msgstr "нельзя очистить только указанную таблицу(ы) во всех базах" -#: vacuumdb.c:412 +#: vacuumdb.c:436 +#, c-format +msgid "cannot vacuum specific schema(s) in all databases" +msgstr "нельзя очистить только указанную схему(ы) во всех базах" + +#: vacuumdb.c:440 +#, c-format +msgid "cannot exclude specific schema(s) in all databases" +msgstr "нельзя исключить указанную схему(ы) во всех базах" + +#: vacuumdb.c:444 +#, c-format +msgid "" +"cannot vacuum all tables in schema(s) and specific table(s) at the same time" +msgstr "" +"нельзя очистить все таблицы в схеме(ах) и одну конкретную таблицу " +"одновременно" + +#: vacuumdb.c:448 +#, c-format +msgid "cannot vacuum specific table(s) and exclude schema(s) at the same time" +msgstr "" +"нельзя очистить конкретную таблицу(ы) и исключить схему(ы) одновременно" + +#: vacuumdb.c:452 +#, c-format +msgid "" +"cannot vacuum all tables in schema(s) and exclude schema(s) at the same time" +msgstr "" +"нельзя очистить все таблицы в схеме(ах) и исключить схему(ы) одновременно" + +#: vacuumdb.c:496 msgid "Generating minimal optimizer statistics (1 target)" msgstr "Вычисление минимальной статистики для оптимизатора (1 запись)" -#: vacuumdb.c:413 +#: vacuumdb.c:497 msgid "Generating medium optimizer statistics (10 targets)" msgstr "Вычисление средней статистики для оптимизатора (10 записей)" -#: vacuumdb.c:414 +#: vacuumdb.c:498 msgid "Generating default (full) optimizer statistics" msgstr "Вычисление стандартной (полной) статистики для оптимизатора" -#: vacuumdb.c:479 +#: vacuumdb.c:577 #, c-format msgid "%s: processing database \"%s\": %s\n" msgstr "%s: обработка базы данных \"%s\": %s\n" -#: vacuumdb.c:482 +#: vacuumdb.c:580 #, c-format msgid "%s: vacuuming database \"%s\"\n" msgstr "%s: очистка базы данных \"%s\"\n" -#: vacuumdb.c:952 +#: vacuumdb.c:1115 #, c-format msgid "vacuuming of table \"%s\" in database \"%s\" failed: %s" msgstr "очистить таблицу \"%s\" в базе \"%s\" не удалось: %s" -#: vacuumdb.c:955 +#: vacuumdb.c:1118 #, c-format msgid "vacuuming of database \"%s\" failed: %s" msgstr "очистить базу данных \"%s\" не удалось: %s" -#: vacuumdb.c:963 +#: vacuumdb.c:1126 #, c-format msgid "" "%s cleans and analyzes a PostgreSQL database.\n" @@ -1120,23 +1201,31 @@ msgstr "" "%s очищает и анализирует базу данных PostgreSQL.\n" "\n" -#: vacuumdb.c:967 +#: vacuumdb.c:1130 #, c-format msgid " -a, --all vacuum all databases\n" msgstr " -a, --all очистить все базы данных\n" -#: vacuumdb.c:968 +#: vacuumdb.c:1131 +#, c-format +msgid " --buffer-usage-limit=SIZE size of ring buffer used for vacuum\n" +msgstr "" +" --buffer-usage-limit=РАЗМЕР размер кольцевого буфера, используемого " +"при\n" +" очистке\n" + +#: vacuumdb.c:1132 #, c-format msgid " -d, --dbname=DBNAME database to vacuum\n" msgstr " -d, --dbname=ИМЯ_БД очистить указанную базу данных\n" -#: vacuumdb.c:969 +#: vacuumdb.c:1133 #, c-format msgid " --disable-page-skipping disable all page-skipping behavior\n" msgstr "" " --disable-page-skipping исключить все варианты пропуска страниц\n" -#: vacuumdb.c:970 +#: vacuumdb.c:1134 #, c-format msgid "" " -e, --echo show the commands being sent to the " @@ -1144,19 +1233,19 @@ msgid "" msgstr "" " -e, --echo отображать команды, отправляемые серверу\n" -#: vacuumdb.c:971 +#: vacuumdb.c:1135 #, c-format msgid " -f, --full do full vacuuming\n" msgstr " -f, --full произвести полную очистку\n" -#: vacuumdb.c:972 +#: vacuumdb.c:1136 #, c-format msgid " -F, --freeze freeze row transaction information\n" msgstr "" " -F, --freeze заморозить информацию о транзакциях в " "строках\n" -#: vacuumdb.c:973 +#: vacuumdb.c:1137 #, c-format msgid "" " --force-index-cleanup always remove index entries that point to " @@ -1166,7 +1255,7 @@ msgstr "" "указывающие\n" " на мёртвые кортежи\n" -#: vacuumdb.c:974 +#: vacuumdb.c:1138 #, c-format msgid "" " -j, --jobs=NUM use this many concurrent connections to " @@ -1175,7 +1264,7 @@ msgstr "" " -j, --jobs=ЧИСЛО запускать для очистки заданное число " "заданий\n" -#: vacuumdb.c:975 +#: vacuumdb.c:1139 #, c-format msgid "" " --min-mxid-age=MXID_AGE minimum multixact ID age of tables to " @@ -1184,7 +1273,7 @@ msgstr "" " --min-mxid-age=ВОЗРАСТ минимальный возраст мультитранзакций для\n" " таблиц, подлежащих очистке\n" -#: vacuumdb.c:976 +#: vacuumdb.c:1140 #, c-format msgid "" " --min-xid-age=XID_AGE minimum transaction ID age of tables to " @@ -1194,7 +1283,7 @@ msgstr "" "таблиц,\n" " подлежащих очистке\n" -#: vacuumdb.c:977 +#: vacuumdb.c:1141 #, c-format msgid "" " --no-index-cleanup don't remove index entries that point to " @@ -1203,7 +1292,12 @@ msgstr "" " --no-index-cleanup не удалять элементы индекса, указывающие\n" " на мёртвые кортежи\n" -#: vacuumdb.c:978 +#: vacuumdb.c:1142 +#, c-format +msgid " --no-process-main skip the main relation\n" +msgstr " --no-process-main пропускать основное отношение\n" + +#: vacuumdb.c:1143 #, c-format msgid "" " --no-process-toast skip the TOAST table associated with the " @@ -1212,7 +1306,7 @@ msgstr "" " --no-process-toast пропускать TOAST-таблицу, связанную\n" " с очищаемой таблицей\n" -#: vacuumdb.c:979 +#: vacuumdb.c:1144 #, c-format msgid "" " --no-truncate don't truncate empty pages at the end of " @@ -1221,7 +1315,24 @@ msgstr "" " --no-truncate не отсекать пустые страницы в конце " "таблицы\n" -#: vacuumdb.c:980 +#: vacuumdb.c:1145 +#, c-format +msgid "" +" -n, --schema=PATTERN vacuum tables in the specified schema(s) " +"only\n" +msgstr "" +" -n, --schema=ШАБЛОН очищать таблицы только в указанной " +"схеме(ах)\n" + +#: vacuumdb.c:1146 +#, c-format +msgid "" +" -N, --exclude-schema=PATTERN do not vacuum tables in the specified " +"schema(s)\n" +msgstr "" +" -N, --exclude-schema=ШАБЛОН не очищать таблицы в указанной схеме(ах)\n" + +#: vacuumdb.c:1147 #, c-format msgid "" " -P, --parallel=PARALLEL_WORKERS use this many background workers for " @@ -1231,12 +1342,12 @@ msgstr "" " по возможности использовать для очистки\n" " заданное число фоновых процессов\n" -#: vacuumdb.c:981 +#: vacuumdb.c:1148 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet не выводить сообщения\n" -#: vacuumdb.c:982 +#: vacuumdb.c:1149 #, c-format msgid "" " --skip-locked skip relations that cannot be immediately " @@ -1245,29 +1356,29 @@ msgstr "" " --skip-locked пропускать отношения, которые не удаётся\n" " заблокировать немедленно\n" -#: vacuumdb.c:983 +#: vacuumdb.c:1150 #, c-format msgid " -t, --table='TABLE[(COLUMNS)]' vacuum specific table(s) only\n" msgstr "" " -t, --table='ТАБЛ[(СТОЛБЦЫ)]' очистить только указанную таблицу(ы)\n" -#: vacuumdb.c:984 +#: vacuumdb.c:1151 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose выводить исчерпывающие сообщения\n" -#: vacuumdb.c:985 +#: vacuumdb.c:1152 #, c-format msgid "" " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: vacuumdb.c:986 +#: vacuumdb.c:1153 #, c-format msgid " -z, --analyze update optimizer statistics\n" msgstr " -z, --analyze обновить статистику оптимизатора\n" -#: vacuumdb.c:987 +#: vacuumdb.c:1154 #, c-format msgid "" " -Z, --analyze-only only update optimizer statistics; no " @@ -1276,7 +1387,7 @@ msgstr "" " -Z, --analyze-only только обновить статистику оптимизатора,\n" " не очищать БД\n" -#: vacuumdb.c:988 +#: vacuumdb.c:1155 #, c-format msgid "" " --analyze-in-stages only update optimizer statistics, in " @@ -1288,12 +1399,12 @@ msgstr "" " (в несколько проходов для большей " "скорости), без очистки\n" -#: vacuumdb.c:990 +#: vacuumdb.c:1157 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: vacuumdb.c:998 +#: vacuumdb.c:1165 #, c-format msgid "" "\n" @@ -1302,6 +1413,12 @@ msgstr "" "\n" "Подробнее об очистке вы можете узнать в описании SQL-команды VACUUM.\n" +#, c-format +#~ msgid "cannot reindex system catalogs concurrently, skipping all" +#~ msgstr "" +#~ "все системные каталоги пропускаются, так как их нельзя переиндексировать " +#~ "неблокирующим способом" + #~ msgid "only one of --locale and --lc-ctype can be specified" #~ msgstr "можно указать только --locale или --lc-ctype" diff --git a/src/interfaces/ecpg/ecpglib/po/ru.po b/src/interfaces/ecpg/ecpglib/po/ru.po index 2a1f9ae8367..16560ed8d3b 100644 --- a/src/interfaces/ecpg/ecpglib/po/ru.po +++ b/src/interfaces/ecpg/ecpglib/po/ru.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: ecpglib (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-08-27 14:52+0300\n" +"POT-Creation-Date: 2023-08-28 07:59+0300\n" "PO-Revision-Date: 2019-09-09 13:30+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: connect.c:243 msgid "empty message text" @@ -196,7 +196,7 @@ msgstr "подключение к серверу потеряно" msgid "SQL error: %s\n" msgstr "ошибка SQL: %s\n" -#: execute.c:2189 execute.c:2196 +#: execute.c:2188 execute.c:2195 msgid "" msgstr "<>" diff --git a/src/interfaces/ecpg/preproc/po/pl.po b/src/interfaces/ecpg/preproc/po/pl.po index c3a2fe257ca..f58e78d4412 100644 --- a/src/interfaces/ecpg/preproc/po/pl.po +++ b/src/interfaces/ecpg/preproc/po/pl.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: ecpg (PostgreSQL 9.1)\n" "Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n" "POT-Creation-Date: 2017-03-14 17:38+0000\n" -"PO-Revision-Date: 2017-03-14 19:42+0200\n" +"PO-Revision-Date: 2023-09-05 08:41+0200\n" "Last-Translator: grzegorz \n" "Language-Team: begina.felicysym@wp.eu\n" "Language: pl\n" @@ -120,7 +120,7 @@ msgstr " -i parsuje również systemowe pliki nagłówkowe\n" #: ecpg.c:51 #, c-format msgid " -I DIRECTORY search DIRECTORY for include files\n" -msgstr " -I FOLDER przeszukuje FOLDER w poszukiwaniu plików nagłówkowych\n" +msgstr " -I FOLDER przeszukuje FOLDER w poszukiwaniu plików nagłówkowych\n" #: ecpg.c:52 #, c-format diff --git a/src/interfaces/ecpg/preproc/po/ru.po b/src/interfaces/ecpg/preproc/po/ru.po index 12f4d1e2865..cf253c3650d 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: 2022-09-29 10:17+0300\n" +"POT-Creation-Date: 2023-08-28 07:59+0300\n" "PO-Revision-Date: 2022-09-05 13:32+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" @@ -14,45 +14,45 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #: descriptor.c:64 #, c-format msgid "variable \"%s\" must have a numeric type" msgstr "переменная \"%s\" должна иметь числовой тип" -#: descriptor.c:125 descriptor.c:156 +#: descriptor.c:124 descriptor.c:155 #, c-format msgid "descriptor %s bound to connection %s does not exist" msgstr "дескриптор %s, привязанный к соединению %s, не существует" -#: descriptor.c:127 descriptor.c:158 +#: descriptor.c:126 descriptor.c:157 #, c-format msgid "descriptor %s bound to the default connection does not exist" msgstr "дескриптор %s, привязанный к соединению по умолчанию, не существует" -#: descriptor.c:173 descriptor.c:225 +#: descriptor.c:172 descriptor.c:224 #, c-format msgid "descriptor header item \"%d\" does not exist" msgstr "заголовок дескриптора не содержит элемент \"%d\"" -#: descriptor.c:195 +#: descriptor.c:194 #, c-format msgid "nullable is always 1" msgstr "NULLABLE всегда равно 1" -#: descriptor.c:198 +#: descriptor.c:197 #, c-format msgid "key_member is always 0" msgstr "KEY_MEMBER всегда равно 0" -#: descriptor.c:292 +#: descriptor.c:291 #, c-format msgid "descriptor item \"%s\" is not implemented" msgstr "поле \"%s\" в дескрипторе не реализовано" -#: descriptor.c:302 +#: descriptor.c:301 #, c-format msgid "descriptor item \"%s\" cannot be set" msgstr "установить поле \"%s\" в дескрипторе нельзя" @@ -191,176 +191,176 @@ msgstr "Домашняя страница %s: <%s>\n" msgid "%s: could not locate my own executable path\n" msgstr "%s: не удалось найти путь к собственному исполняемому файлу\n" -#: ecpg.c:176 ecpg.c:333 ecpg.c:344 -#, c-format -msgid "%s: could not open file \"%s\": %s\n" -msgstr "%s: не удалось открыть файл \"%s\": %s\n" - -#: ecpg.c:219 ecpg.c:232 ecpg.c:248 ecpg.c:274 +#: ecpg.c:184 ecpg.c:235 ecpg.c:249 ecpg.c:275 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Для дополнительной информации попробуйте \"%s --help\".\n" -#: ecpg.c:243 +#: ecpg.c:192 #, c-format msgid "%s: parser debug support (-d) not available\n" msgstr "%s: отладочные сообщения при разборе (-d) не поддерживаются\n" -#: ecpg.c:262 +#: ecpg.c:219 ecpg.c:334 ecpg.c:345 +#, c-format +msgid "%s: could not open file \"%s\": %s\n" +msgstr "%s: не удалось открыть файл \"%s\": %s\n" + +#: ecpg.c:263 #, c-format msgid "%s, the PostgreSQL embedded C preprocessor, version %s\n" msgstr "%s, препроцессор внедрённого в С языка СУБД PostgreSQL, версия %s\n" -#: ecpg.c:264 +#: ecpg.c:265 #, c-format msgid "EXEC SQL INCLUDE ... search starts here:\n" msgstr "поиск файлов для EXEC SQL INCLUDE ... начинается в каталогах:\n" -#: ecpg.c:267 +#: ecpg.c:268 #, c-format msgid "end of search list\n" msgstr "конец списка поиска\n" -#: ecpg.c:273 +#: ecpg.c:274 #, c-format msgid "%s: no input files specified\n" msgstr "%s: нет входных файлов\n" -#: ecpg.c:477 +#: ecpg.c:478 #, c-format msgid "cursor \"%s\" has been declared but not opened" msgstr "курсор \"%s\" был объявлен, но не открыт" -#: ecpg.c:490 preproc.y:130 +#: ecpg.c:491 preproc.y:130 #, c-format msgid "could not remove output file \"%s\"\n" msgstr "ошибка при удалении выходного файла \"%s\"\n" -#: pgc.l:508 +#: pgc.l:520 #, c-format msgid "unterminated /* comment" msgstr "незавершённый комментарий /*" -#: pgc.l:525 +#: pgc.l:537 #, c-format msgid "unterminated bit string literal" msgstr "оборванная битовая строка" -#: pgc.l:533 +#: pgc.l:545 #, c-format msgid "unterminated hexadecimal string literal" msgstr "оборванная шестнадцатеричная строка" -#: pgc.l:608 +#: pgc.l:620 #, c-format msgid "invalid bit string literal" msgstr "неверная битовая строка" -#: pgc.l:613 +#: pgc.l:625 #, c-format msgid "invalid hexadecimal string literal" msgstr "неверная шестнадцатеричная строка" -#: pgc.l:631 +#: pgc.l:643 #, c-format msgid "unhandled previous state in xqs\n" msgstr "" "необрабатываемое предыдущее состояние при обнаружении закрывающего " "апострофа\n" -#: pgc.l:657 pgc.l:766 +#: pgc.l:669 pgc.l:778 #, c-format msgid "unterminated quoted string" msgstr "незавершённая строка в кавычках" -#: pgc.l:708 +#: pgc.l:720 #, c-format msgid "unterminated dollar-quoted string" msgstr "незавершённая строка с $" -#: pgc.l:726 pgc.l:746 +#: pgc.l:738 pgc.l:758 #, c-format msgid "zero-length delimited identifier" msgstr "пустой идентификатор в кавычках" -#: pgc.l:757 +#: pgc.l:769 #, c-format msgid "unterminated quoted identifier" msgstr "незавершённый идентификатор в кавычках" -#: pgc.l:926 +#: pgc.l:938 #, c-format msgid "trailing junk after parameter" msgstr "мусорное содержимое после параметра" -#: pgc.l:968 pgc.l:971 pgc.l:974 +#: pgc.l:990 pgc.l:993 pgc.l:996 pgc.l:999 pgc.l:1002 pgc.l:1005 #, c-format msgid "trailing junk after numeric literal" msgstr "мусорное содержимое после числовой константы" -#: pgc.l:1100 +#: pgc.l:1127 #, c-format msgid "nested /* ... */ comments" msgstr "вложенные комментарии /* ... */" -#: pgc.l:1193 +#: pgc.l:1220 #, c-format msgid "missing identifier in EXEC SQL UNDEF command" msgstr "в команде EXEC SQL UNDEF отсутствует идентификатор" -#: pgc.l:1211 pgc.l:1224 pgc.l:1240 pgc.l:1253 +#: pgc.l:1238 pgc.l:1251 pgc.l:1267 pgc.l:1280 #, c-format msgid "too many nested EXEC SQL IFDEF conditions" msgstr "слишком много вложенных условий EXEC SQL IFDEF" -#: pgc.l:1269 pgc.l:1280 pgc.l:1295 pgc.l:1317 +#: pgc.l:1296 pgc.l:1307 pgc.l:1322 pgc.l:1344 #, c-format msgid "missing matching \"EXEC SQL IFDEF\" / \"EXEC SQL IFNDEF\"" msgstr "нет соответствующего \"EXEC SQL IFDEF\" / \"EXEC SQL IFNDEF\"" -#: pgc.l:1271 pgc.l:1282 pgc.l:1463 +#: pgc.l:1298 pgc.l:1309 pgc.l:1490 #, c-format msgid "missing \"EXEC SQL ENDIF;\"" msgstr "отсутствует \"EXEC SQL ENDIF;\"" -#: pgc.l:1297 pgc.l:1319 +#: pgc.l:1324 pgc.l:1346 #, c-format msgid "more than one EXEC SQL ELSE" msgstr "неоднократная команда EXEC SQL ELSE" -#: pgc.l:1342 pgc.l:1356 +#: pgc.l:1369 pgc.l:1383 #, c-format msgid "unmatched EXEC SQL ENDIF" msgstr "непарная команда EXEC SQL ENDIF" -#: pgc.l:1411 +#: pgc.l:1438 #, c-format msgid "missing identifier in EXEC SQL IFDEF command" msgstr "в команде EXEC SQL IFDEF отсутствует идентификатор" -#: pgc.l:1420 +#: pgc.l:1447 #, c-format msgid "missing identifier in EXEC SQL DEFINE command" msgstr "в команде EXEC SQL DEFINE отсутствует идентификатор" -#: pgc.l:1453 +#: pgc.l:1480 #, c-format msgid "syntax error in EXEC SQL INCLUDE command" msgstr "ошибка синтаксиса в команде EXEC SQL INCLUDE" -#: pgc.l:1503 +#: pgc.l:1530 #, c-format msgid "internal error: unreachable state; please report this to <%s>" msgstr "внутренняя ошибка: недостижимое состояние; пожалуйста, сообщите в <%s>" -#: pgc.l:1655 +#: pgc.l:1682 #, c-format msgid "Error: include path \"%s/%s\" is too long on line %d, skipping\n" msgstr "" "Ошибка: путь включаемых файлов \"%s/%s\" в строке %d слишком длинный, " "пропускается\n" -#: pgc.l:1678 +#: pgc.l:1705 #, c-format msgid "could not open include file \"%s\" on line %d" msgstr "не удалось открыть включаемый файл \"%s\" (строка %d)" @@ -394,12 +394,12 @@ msgstr "определение типа не может включать ини msgid "type name \"string\" is reserved in Informix mode" msgstr "имя типа \"string\" в режиме Informix зарезервировано" -#: preproc.y:552 preproc.y:17925 +#: preproc.y:552 preproc.y:18392 #, c-format msgid "type \"%s\" is already defined" msgstr "тип \"%s\" уже определён" -#: preproc.y:577 preproc.y:18560 preproc.y:18885 variable.c:621 +#: preproc.y:577 preproc.y:19027 preproc.y:19349 variable.c:625 #, c-format msgid "multidimensional arrays for simple data types are not supported" msgstr "многомерные массивы с простыми типами данных не поддерживаются" @@ -409,96 +409,91 @@ msgstr "многомерные массивы с простыми типами msgid "connection %s is overwritten with %s by DECLARE statement %s" msgstr "подключение %s заменяется на %s оператором DECLARE %s" -#: preproc.y:1767 +#: preproc.y:1792 #, c-format msgid "AT option not allowed in CLOSE DATABASE statement" msgstr "оператор CLOSE DATABASE с параметром AT не поддерживается" -#: preproc.y:2017 +#: preproc.y:2042 #, c-format msgid "AT option not allowed in CONNECT statement" msgstr "оператор CONNECT с параметром AT не поддерживается" -#: preproc.y:2057 +#: preproc.y:2082 #, c-format msgid "AT option not allowed in DISCONNECT statement" msgstr "оператор DISCONNECT с параметром AT не поддерживается" -#: preproc.y:2112 +#: preproc.y:2137 #, c-format msgid "AT option not allowed in SET CONNECTION statement" msgstr "оператор SET CONNECTION с параметром AT не поддерживается" -#: preproc.y:2134 +#: preproc.y:2159 #, c-format msgid "AT option not allowed in TYPE statement" msgstr "оператор TYPE с параметром AT не поддерживается" -#: preproc.y:2143 +#: preproc.y:2168 #, c-format msgid "AT option not allowed in VAR statement" msgstr "оператор VAR с параметром AT не поддерживается" -#: preproc.y:2150 +#: preproc.y:2175 #, c-format msgid "AT option not allowed in WHENEVER statement" msgstr "оператор WHENEVER с параметром AT не поддерживается" -#: preproc.y:2227 preproc.y:2399 preproc.y:2404 preproc.y:2527 preproc.y:4178 -#: preproc.y:4252 preproc.y:4843 preproc.y:5376 preproc.y:5714 preproc.y:6014 -#: preproc.y:7582 preproc.y:9183 preproc.y:9188 preproc.y:12139 +#: 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 #, c-format msgid "unsupported feature will be passed to server" msgstr "неподдерживаемая функция будет передана серверу" -#: preproc.y:2785 +#: preproc.y:2847 #, c-format msgid "SHOW ALL is not implemented" msgstr "SHOW ALL не реализовано" -#: preproc.y:3484 +#: preproc.y:3531 #, c-format msgid "COPY FROM STDIN is not implemented" msgstr "операция COPY FROM STDIN не реализована" -#: preproc.y:10230 preproc.y:17498 +#: preproc.y:10303 preproc.y:17889 #, c-format msgid "\"database\" cannot be used as cursor name in INFORMIX mode" msgstr "" "в режиме INFORMIX нельзя использовать \"database\" в качестве имени курсора" -#: preproc.y:10237 preproc.y:17508 +#: preproc.y:10310 preproc.y:17899 #, c-format msgid "using variable \"%s\" in different declare statements is not supported" msgstr "" "использование переменной \"%s\" в разных операторах DECLARE не поддерживается" -#: preproc.y:10239 preproc.y:17510 +#: preproc.y:10312 preproc.y:17901 #, c-format msgid "cursor \"%s\" is already defined" msgstr "курсор \"%s\" уже определён" -#: preproc.y:10713 +#: preproc.y:10786 #, c-format msgid "no longer supported LIMIT #,# syntax passed to server" msgstr "не поддерживаемое более предложение LIMIT #,# передано на сервер" -#: preproc.y:11046 preproc.y:11053 -#, c-format -msgid "subquery in FROM must have an alias" -msgstr "подзапрос во FROM должен иметь псевдоним" - -#: preproc.y:17190 preproc.y:17197 +#: preproc.y:17581 preproc.y:17588 #, c-format msgid "CREATE TABLE AS cannot specify INTO" msgstr "в CREATE TABLE AS нельзя указать INTO" -#: preproc.y:17233 +#: preproc.y:17624 #, c-format msgid "expected \"@\", found \"%s\"" msgstr "ожидался знак \"@\", но на этом месте \"%s\"" -#: preproc.y:17245 +#: preproc.y:17636 #, c-format msgid "" "only protocols \"tcp\" and \"unix\" and database type \"postgresql\" are " @@ -507,89 +502,89 @@ msgstr "" "поддерживаются только протоколы \"tcp\" и \"unix\", а тип базы данных - " "\"postgresql\"" -#: preproc.y:17248 +#: preproc.y:17639 #, c-format msgid "expected \"://\", found \"%s\"" msgstr "ожидалось \"://\", но на этом месте \"%s\"" -#: preproc.y:17253 +#: preproc.y:17644 #, c-format msgid "Unix-domain sockets only work on \"localhost\" but not on \"%s\"" msgstr "Unix-сокеты работают только с \"localhost\", но не с адресом \"%s\"" -#: preproc.y:17279 +#: preproc.y:17670 #, c-format msgid "expected \"postgresql\", found \"%s\"" msgstr "ожидался тип \"postgresql\", но на этом месте \"%s\"" -#: preproc.y:17282 +#: preproc.y:17673 #, c-format msgid "invalid connection type: %s" msgstr "неверный тип подключения: %s" -#: preproc.y:17291 +#: preproc.y:17682 #, c-format msgid "expected \"@\" or \"://\", found \"%s\"" msgstr "ожидалось \"@\" или \"://\", но на этом месте \"%s\"" -#: preproc.y:17366 preproc.y:17384 +#: preproc.y:17757 preproc.y:17775 #, c-format msgid "invalid data type" msgstr "неверный тип данных" -#: preproc.y:17395 preproc.y:17412 +#: preproc.y:17786 preproc.y:17803 #, c-format msgid "incomplete statement" msgstr "неполный оператор" -#: preproc.y:17398 preproc.y:17415 +#: preproc.y:17789 preproc.y:17806 #, c-format msgid "unrecognized token \"%s\"" msgstr "нераспознанное ключевое слово \"%s\"" -#: preproc.y:17460 +#: preproc.y:17851 #, c-format msgid "name \"%s\" is already declared" msgstr "имя \"%s\" уже объявлено" -#: preproc.y:17728 +#: preproc.y:18140 #, c-format msgid "only data types numeric and decimal have precision/scale argument" msgstr "" "точность/масштаб можно указать только для типов данных numeric и decimal" -#: preproc.y:17740 +#: preproc.y:18211 #, c-format msgid "interval specification not allowed here" msgstr "определение интервала здесь не допускается" -#: preproc.y:17900 preproc.y:17952 +#: preproc.y:18367 preproc.y:18419 #, c-format msgid "too many levels in nested structure/union definition" msgstr "слишком много уровней в определении вложенной структуры/объединения" -#: preproc.y:18075 +#: preproc.y:18542 #, c-format msgid "pointers to varchar are not implemented" msgstr "указатели на varchar не реализованы" -#: preproc.y:18526 +#: preproc.y:18993 #, c-format msgid "initializer not allowed in EXEC SQL VAR command" msgstr "команда EXEC SQL VAR не может включать инициализатор" -#: preproc.y:18843 +#: preproc.y:19307 #, c-format msgid "arrays of indicators are not allowed on input" msgstr "массивы индикаторов на входе недопустимы" -#: preproc.y:19030 +#: preproc.y:19494 #, c-format msgid "operator not allowed in variable definition" msgstr "недопустимый оператор в определении переменной" #. translator: %s is typically the translation of "syntax error" -#: preproc.y:19071 +#: preproc.y:19535 #, c-format msgid "%s at or near \"%s\"" msgstr "%s (примерное положение: \"%s\")" @@ -660,52 +655,52 @@ msgstr "в структуре индикаторе \"%s\" слишком мно msgid "unrecognized descriptor item code %d" msgstr "нераспознанный код элемента дескриптора %d" -#: variable.c:89 variable.c:116 +#: variable.c:89 variable.c:115 #, c-format msgid "incorrectly formed variable \"%s\"" msgstr "неправильно оформленная переменная \"%s\"" -#: variable.c:139 +#: variable.c:138 #, c-format msgid "variable \"%s\" is not a pointer" msgstr "переменная \"%s\" - не указатель" -#: variable.c:142 variable.c:167 +#: variable.c:141 variable.c:166 #, c-format msgid "variable \"%s\" is not a pointer to a structure or a union" msgstr "переменная \"%s\" - не указатель на структуру или объединение" -#: variable.c:154 +#: variable.c:153 #, c-format msgid "variable \"%s\" is neither a structure nor a union" msgstr "переменная \"%s\" - не структура и не объединение" -#: variable.c:164 +#: variable.c:163 #, c-format msgid "variable \"%s\" is not an array" msgstr "переменная \"%s\" - не массив" -#: variable.c:233 variable.c:255 +#: variable.c:232 variable.c:254 #, c-format msgid "variable \"%s\" is not declared" msgstr "переменная \"%s\" не объявлена" -#: variable.c:494 +#: variable.c:493 #, c-format msgid "indicator variable must have an integer type" msgstr "переменная-индикатор должна быть целочисленной" -#: variable.c:506 +#: variable.c:510 #, c-format msgid "unrecognized data type name \"%s\"" msgstr "нераспознанное имя типа данных \"%s\"" -#: variable.c:517 variable.c:525 variable.c:542 variable.c:545 +#: variable.c:521 variable.c:529 variable.c:546 variable.c:549 #, c-format msgid "multidimensional arrays are not supported" msgstr "многомерные массивы не поддерживаются" -#: variable.c:534 +#: variable.c:538 #, c-format msgid "" "multilevel pointers (more than 2 levels) are not supported; found %d level" @@ -721,16 +716,20 @@ msgstr[2] "" "многоуровневые указатели (больше 2 уровней) не поддерживаются, обнаружено %d " "уровней" -#: variable.c:539 +#: variable.c:543 #, c-format msgid "pointer to pointer is not supported for this data type" msgstr "для этого типа данных указатели на указатели не поддерживаются" -#: variable.c:559 +#: variable.c:563 #, c-format msgid "multidimensional arrays for structures are not supported" msgstr "многомерные массивы структур не поддерживаются" +#, c-format +#~ msgid "subquery in FROM must have an alias" +#~ msgstr "подзапрос во FROM должен иметь псевдоним" + #~ msgid "using unsupported DESCRIBE statement" #~ msgstr "используется неподдерживаемый оператор DESCRIBE" diff --git a/src/interfaces/libpq/po/ru.po b/src/interfaces/libpq/po/ru.po index 6606738fa18..3b7a16a9884 100644 --- a/src/interfaces/libpq/po/ru.po +++ b/src/interfaces/libpq/po/ru.po @@ -4,675 +4,826 @@ # Serguei A. Mokhov , 2001-2004. # Oleg Bartunov , 2005. # Andrey Sudnik , 2010. -# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021. +# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023. # Maxim Yablokov , 2021. msgid "" msgstr "" "Project-Id-Version: libpq (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-02-07 11:21+0300\n" -"PO-Revision-Date: 2021-11-25 12:45+0300\n" +"POT-Creation-Date: 2023-08-28 07:59+0300\n" +"PO-Revision-Date: 2023-08-30 15:09+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: fe-auth-scram.c:213 -msgid "malformed SCRAM message (empty message)\n" -msgstr "неправильное сообщение SCRAM (пустое содержимое)\n" +#: ../../port/thread.c:50 ../../port/thread.c:86 +#, c-format +msgid "could not look up local user ID %d: %s" +msgstr "найти локального пользователя по идентификатору (%d) не удалось: %s" -#: fe-auth-scram.c:219 -msgid "malformed SCRAM message (length mismatch)\n" -msgstr "неправильное сообщение SCRAM (некорректная длина)\n" +#: ../../port/thread.c:55 ../../port/thread.c:91 +#, c-format +msgid "local user with ID %d does not exist" +msgstr "локальный пользователь с ID %d не существует" -#: fe-auth-scram.c:263 -msgid "could not verify server signature\n" -msgstr "не удалось проверить сигнатуру сервера\n" +#: fe-auth-scram.c:227 +#, c-format +msgid "malformed SCRAM message (empty message)" +msgstr "неправильное сообщение SCRAM (пустое содержимое)" -#: fe-auth-scram.c:270 -msgid "incorrect server signature\n" -msgstr "некорректная сигнатура сервера\n" +#: fe-auth-scram.c:232 +#, c-format +msgid "malformed SCRAM message (length mismatch)" +msgstr "неправильное сообщение SCRAM (некорректная длина)" -#: fe-auth-scram.c:279 -msgid "invalid SCRAM exchange state\n" -msgstr "ошибочное состояние обмена SCRAM\n" +#: fe-auth-scram.c:275 +#, c-format +msgid "could not verify server signature: %s" +msgstr "не удалось проверить сигнатуру сервера: %s" -#: fe-auth-scram.c:306 +#: fe-auth-scram.c:281 #, c-format -msgid "malformed SCRAM message (attribute \"%c\" expected)\n" -msgstr "неправильное сообщение SCRAM (ожидался атрибут \"%c\")\n" +msgid "incorrect server signature" +msgstr "некорректная сигнатура сервера" -#: fe-auth-scram.c:315 +#: fe-auth-scram.c:290 #, c-format -msgid "" -"malformed SCRAM message (expected character \"=\" for attribute \"%c\")\n" +msgid "invalid SCRAM exchange state" +msgstr "ошибочное состояние обмена SCRAM" + +#: fe-auth-scram.c:317 +#, c-format +msgid "malformed SCRAM message (attribute \"%c\" expected)" +msgstr "неправильное сообщение SCRAM (ожидался атрибут \"%c\")" + +#: fe-auth-scram.c:326 +#, c-format +msgid "malformed SCRAM message (expected character \"=\" for attribute \"%c\")" msgstr "" -"неправильное сообщение SCRAM (для атрибута \"%c\" ожидался символ \"=\")\n" - -#: fe-auth-scram.c:356 -msgid "could not generate nonce\n" -msgstr "не удалось сгенерировать разовый код\n" - -#: fe-auth-scram.c:366 fe-auth-scram.c:441 fe-auth-scram.c:595 -#: fe-auth-scram.c:616 fe-auth-scram.c:642 fe-auth-scram.c:657 -#: fe-auth-scram.c:707 fe-auth-scram.c:746 fe-auth.c:290 fe-auth.c:362 -#: fe-auth.c:398 fe-auth.c:615 fe-auth.c:774 fe-auth.c:1132 fe-auth.c:1282 -#: fe-connect.c:911 fe-connect.c:1455 fe-connect.c:1624 fe-connect.c:2976 -#: fe-connect.c:4706 fe-connect.c:4967 fe-connect.c:5086 fe-connect.c:5338 -#: fe-connect.c:5419 fe-connect.c:5518 fe-connect.c:5774 fe-connect.c:5803 -#: fe-connect.c:5875 fe-connect.c:5899 fe-connect.c:5917 fe-connect.c:6018 -#: fe-connect.c:6027 fe-connect.c:6385 fe-connect.c:6535 fe-connect.c:6801 -#: fe-exec.c:686 fe-exec.c:876 fe-exec.c:1223 fe-exec.c:3043 fe-exec.c:3226 -#: fe-exec.c:3999 fe-exec.c:4164 fe-gssapi-common.c:111 fe-lobj.c:881 -#: fe-protocol3.c:975 fe-protocol3.c:990 fe-protocol3.c:1023 -#: fe-protocol3.c:1731 fe-secure-common.c:110 fe-secure-gssapi.c:504 -#: fe-secure-openssl.c:440 fe-secure-openssl.c:1133 -msgid "out of memory\n" -msgstr "нехватка памяти\n" +"неправильное сообщение SCRAM (для атрибута \"%c\" ожидался символ \"=\")" + +#: fe-auth-scram.c:366 +#, c-format +msgid "could not generate nonce" +msgstr "не удалось сгенерировать разовый код" + +#: fe-auth-scram.c:375 fe-auth-scram.c:448 fe-auth-scram.c:600 +#: fe-auth-scram.c:620 fe-auth-scram.c:644 fe-auth-scram.c:658 +#: fe-auth-scram.c:704 fe-auth-scram.c:740 fe-auth-scram.c:914 fe-auth.c:296 +#: fe-auth.c:369 fe-auth.c:403 fe-auth.c:618 fe-auth.c:729 fe-auth.c:1210 +#: fe-auth.c:1375 fe-connect.c:925 fe-connect.c:1759 fe-connect.c:1921 +#: fe-connect.c:3291 fe-connect.c:4496 fe-connect.c:5161 fe-connect.c:5416 +#: fe-connect.c:5534 fe-connect.c:5781 fe-connect.c:5861 fe-connect.c:5959 +#: fe-connect.c:6210 fe-connect.c:6237 fe-connect.c:6313 fe-connect.c:6336 +#: fe-connect.c:6360 fe-connect.c:6395 fe-connect.c:6481 fe-connect.c:6489 +#: fe-connect.c:6846 fe-connect.c:6996 fe-exec.c:527 fe-exec.c: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 +#, c-format +msgid "out of memory" +msgstr "нехватка памяти" -#: fe-auth-scram.c:374 -msgid "could not encode nonce\n" -msgstr "не удалось оформить разовый код\n" +#: fe-auth-scram.c:382 +#, c-format +msgid "could not encode nonce" +msgstr "не удалось оформить разовый код" -#: fe-auth-scram.c:563 -msgid "could not calculate client proof\n" -msgstr "не удалось вычислить подтверждение клиента\n" +#: fe-auth-scram.c:570 +#, c-format +msgid "could not calculate client proof: %s" +msgstr "не удалось вычислить подтверждение клиента: %s" -#: fe-auth-scram.c:579 -msgid "could not encode client proof\n" -msgstr "не удалось закодировать подтверждение клиента\n" +#: fe-auth-scram.c:585 +#, c-format +msgid "could not encode client proof" +msgstr "не удалось закодировать подтверждение клиента" -#: fe-auth-scram.c:634 -msgid "invalid SCRAM response (nonce mismatch)\n" -msgstr "неверный ответ SCRAM (несовпадение проверочного кода)\n" +#: fe-auth-scram.c:637 +#, c-format +msgid "invalid SCRAM response (nonce mismatch)" +msgstr "неверный ответ SCRAM (несовпадение разового кода)" #: fe-auth-scram.c:667 -msgid "malformed SCRAM message (invalid salt)\n" -msgstr "неправильное сообщение SCRAM (некорректная соль)\n" +#, c-format +msgid "malformed SCRAM message (invalid salt)" +msgstr "неправильное сообщение SCRAM (некорректная соль)" -#: fe-auth-scram.c:681 -msgid "malformed SCRAM message (invalid iteration count)\n" -msgstr "неправильное сообщение SCRAM (некорректное число итераций)\n" +#: fe-auth-scram.c:680 +#, c-format +msgid "malformed SCRAM message (invalid iteration count)" +msgstr "неправильное сообщение SCRAM (некорректное число итераций)" -#: fe-auth-scram.c:687 -msgid "malformed SCRAM message (garbage at end of server-first-message)\n" -msgstr "" -"неправильное сообщение SCRAM (мусор в конце первого сообщения сервера)\n" +#: fe-auth-scram.c:685 +#, c-format +msgid "malformed SCRAM message (garbage at end of server-first-message)" +msgstr "неправильное сообщение SCRAM (мусор в конце первого сообщения сервера)" -#: fe-auth-scram.c:723 +#: fe-auth-scram.c:719 #, c-format -msgid "error received from server in SCRAM exchange: %s\n" -msgstr "в ходе обмена SCRAM от сервера получена ошибка: %s\n" +msgid "error received from server in SCRAM exchange: %s" +msgstr "в ходе обмена SCRAM от сервера получена ошибка: %s" -#: fe-auth-scram.c:739 -msgid "malformed SCRAM message (garbage at end of server-final-message)\n" +#: fe-auth-scram.c:734 +#, c-format +msgid "malformed SCRAM message (garbage at end of server-final-message)" msgstr "" -"неправильное сообщение SCRAM (мусор в конце последнего сообщения сервера)\n" +"неправильное сообщение SCRAM (мусор в конце последнего сообщения сервера)" + +#: fe-auth-scram.c:751 +#, c-format +msgid "malformed SCRAM message (invalid server signature)" +msgstr "неправильное сообщение SCRAM (неверная сигнатура сервера)" -#: fe-auth-scram.c:758 -msgid "malformed SCRAM message (invalid server signature)\n" -msgstr "неправильное сообщение SCRAM (неверная сигнатура сервера)\n" +#: fe-auth-scram.c:923 +msgid "could not generate random salt" +msgstr "не удалось сгенерировать случайную соль" -#: fe-auth.c:76 +#: fe-auth.c:77 #, c-format -msgid "out of memory allocating GSSAPI buffer (%d)\n" -msgstr "недостаточно памяти для буфера GSSAPI (%d)\n" +msgid "out of memory allocating GSSAPI buffer (%d)" +msgstr "недостаточно памяти для буфера GSSAPI (%d)" -#: fe-auth.c:131 +#: fe-auth.c:138 msgid "GSSAPI continuation error" msgstr "ошибка продолжения в GSSAPI" -#: fe-auth.c:158 fe-auth.c:391 fe-gssapi-common.c:98 fe-secure-common.c:98 -msgid "host name must be specified\n" -msgstr "требуется указать имя сервера\n" +#: fe-auth.c:168 fe-auth.c:397 fe-gssapi-common.c:97 fe-secure-common.c:99 +#: fe-secure-common.c:173 +#, c-format +msgid "host name must be specified" +msgstr "требуется указать имя сервера" -#: fe-auth.c:165 -msgid "duplicate GSS authentication request\n" -msgstr "повторный запрос аутентификации GSS\n" +#: fe-auth.c:174 +#, c-format +msgid "duplicate GSS authentication request" +msgstr "повторный запрос аутентификации GSS" -#: fe-auth.c:230 +#: fe-auth.c:238 #, c-format -msgid "out of memory allocating SSPI buffer (%d)\n" -msgstr "недостаточно памяти для буфера SSPI (%d)\n" +msgid "out of memory allocating SSPI buffer (%d)" +msgstr "недостаточно памяти для буфера SSPI (%d)" -#: fe-auth.c:278 +#: fe-auth.c:285 msgid "SSPI continuation error" msgstr "ошибка продолжения в SSPI" -#: fe-auth.c:351 -msgid "duplicate SSPI authentication request\n" -msgstr "повторный запрос аутентификации SSPI\n" +#: fe-auth.c:359 +#, c-format +msgid "duplicate SSPI authentication request" +msgstr "повторный запрос аутентификации SSPI" -#: fe-auth.c:377 +#: fe-auth.c:384 msgid "could not acquire SSPI credentials" msgstr "не удалось получить удостоверение SSPI" -#: fe-auth.c:433 -msgid "channel binding required, but SSL not in use\n" -msgstr "требуется привязка каналов, но SSL не используется\n" +#: fe-auth.c:437 +#, c-format +msgid "channel binding required, but SSL not in use" +msgstr "требуется привязка каналов, но SSL не используется" -#: fe-auth.c:440 -msgid "duplicate SASL authentication request\n" -msgstr "повторный запрос аутентификации SASL\n" +#: fe-auth.c:443 +#, c-format +msgid "duplicate SASL authentication request" +msgstr "повторный запрос аутентификации SASL" -#: fe-auth.c:496 -msgid "channel binding is required, but client does not support it\n" -msgstr "требуется привязка каналов, но клиент её не поддерживает\n" +#: fe-auth.c:501 +#, c-format +msgid "channel binding is required, but client does not support it" +msgstr "требуется привязка каналов, но клиент её не поддерживает" -#: fe-auth.c:513 +#: fe-auth.c:517 +#, c-format msgid "" -"server offered SCRAM-SHA-256-PLUS authentication over a non-SSL connection\n" +"server offered SCRAM-SHA-256-PLUS authentication over a non-SSL connection" msgstr "" "сервер предложил аутентификацию SCRAM-SHA-256-PLUS для соединения, не " -"защищённого SSL\n" +"защищённого SSL" -#: fe-auth.c:525 -msgid "none of the server's SASL authentication mechanisms are supported\n" -msgstr "" -"ни один из серверных механизмов аутентификации SASL не поддерживается\n" +#: fe-auth.c:531 +#, c-format +msgid "none of the server's SASL authentication mechanisms are supported" +msgstr "ни один из серверных механизмов аутентификации SASL не поддерживается" -#: fe-auth.c:533 +#: fe-auth.c:538 +#, c-format msgid "" "channel binding is required, but server did not offer an authentication " -"method that supports channel binding\n" +"method that supports channel binding" msgstr "" "требуется привязка каналов, но сервер не предложил поддерживающий её метод " -"аутентификации\n" +"аутентификации" -#: fe-auth.c:639 +#: fe-auth.c:641 #, c-format -msgid "out of memory allocating SASL buffer (%d)\n" -msgstr "недостаточно памяти для буфера SASL (%d)\n" +msgid "out of memory allocating SASL buffer (%d)" +msgstr "недостаточно памяти для буфера SASL (%d)" -#: fe-auth.c:664 +#: fe-auth.c:665 +#, c-format msgid "" "AuthenticationSASLFinal received from server, but SASL authentication was " -"not completed\n" +"not completed" msgstr "" "c сервера получено сообщение AuthenticationSASLFinal, но аутентификация SASL " -"ещё не завершена\n" +"ещё не завершена" -#: fe-auth.c:741 -msgid "SCM_CRED authentication method not supported\n" -msgstr "аутентификация SCM_CRED не поддерживается\n" +#: fe-auth.c:675 +#, c-format +msgid "no client response found after SASL exchange success" +msgstr "после успешного обмена по протоколу SASL не получен ответ клиента" + +#: fe-auth.c:738 fe-auth.c:745 fe-auth.c:1358 fe-auth.c:1369 +#, c-format +msgid "could not encrypt password: %s" +msgstr "не удалось зашифровать пароль: %s" + +#: fe-auth.c:773 +msgid "server requested a cleartext password" +msgstr "сервер запросил незашифрованный пароль" + +#: fe-auth.c:775 +msgid "server requested a hashed password" +msgstr "сервер запросил хешированный пароль" + +#: fe-auth.c:778 +msgid "server requested GSSAPI authentication" +msgstr "сервер запросил аутентификацию GSSAPI" + +#: fe-auth.c:780 +msgid "server requested SSPI authentication" +msgstr "сервер запросил аутентификацию SSPI" + +#: fe-auth.c:784 +msgid "server requested SASL authentication" +msgstr "сервер запросил аутентификацию SASL" + +#: fe-auth.c:787 +msgid "server requested an unknown authentication type" +msgstr "сервер запросил аутентификацию неизвестного типа" + +#: fe-auth.c:820 +#, c-format +msgid "server did not request an SSL certificate" +msgstr "сервер не запросил сертификат SSL" + +#: fe-auth.c:825 +#, c-format +msgid "server accepted connection without a valid SSL certificate" +msgstr "сервер принял подключение, не проверив сертификат SSL" -#: fe-auth.c:836 +#: fe-auth.c:879 +msgid "server did not complete authentication" +msgstr "сервер не завершил аутентификацию" + +#: fe-auth.c:913 +#, c-format +msgid "authentication method requirement \"%s\" failed: %s" +msgstr "требование метода аутентификации \"%s\" не выполнено: %s" + +#: fe-auth.c:936 +#, c-format msgid "" "channel binding required, but server authenticated client without channel " -"binding\n" +"binding" msgstr "" -"требуется привязка каналов, но сервер аутентифицировал клиента без привязки\n" +"требуется привязка каналов, но сервер аутентифицировал клиента без привязки" -#: fe-auth.c:842 +#: fe-auth.c:941 +#, c-format msgid "" -"channel binding required but not supported by server's authentication " -"request\n" +"channel binding required but not supported by server's authentication request" msgstr "" "требуется привязка каналов, но она не поддерживается при том запросе " -"аутентификации, который передал сервер\n" +"аутентификации, который передал сервер" -#: fe-auth.c:877 -msgid "Kerberos 4 authentication not supported\n" -msgstr "аутентификация Kerberos 4 не поддерживается\n" +#: fe-auth.c:975 +#, c-format +msgid "Kerberos 4 authentication not supported" +msgstr "аутентификация Kerberos 4 не поддерживается" -#: fe-auth.c:882 -msgid "Kerberos 5 authentication not supported\n" -msgstr "аутентификация Kerberos 5 не поддерживается\n" +#: fe-auth.c:979 +#, c-format +msgid "Kerberos 5 authentication not supported" +msgstr "аутентификация Kerberos 5 не поддерживается" -#: fe-auth.c:953 -msgid "GSSAPI authentication not supported\n" -msgstr "аутентификация через GSSAPI не поддерживается\n" +#: fe-auth.c:1049 +#, c-format +msgid "GSSAPI authentication not supported" +msgstr "аутентификация через GSSAPI не поддерживается" -#: fe-auth.c:985 -msgid "SSPI authentication not supported\n" -msgstr "аутентификация через SSPI не поддерживается\n" +#: fe-auth.c:1080 +#, c-format +msgid "SSPI authentication not supported" +msgstr "аутентификация через SSPI не поддерживается" -#: fe-auth.c:993 -msgid "Crypt authentication not supported\n" -msgstr "аутентификация Crypt не поддерживается\n" +#: fe-auth.c:1087 +#, c-format +msgid "Crypt authentication not supported" +msgstr "аутентификация Crypt не поддерживается" -#: fe-auth.c:1060 +#: fe-auth.c:1151 #, c-format -msgid "authentication method %u not supported\n" -msgstr "метод аутентификации %u не поддерживается\n" +msgid "authentication method %u not supported" +msgstr "метод аутентификации %u не поддерживается" -#: fe-auth.c:1107 +#: fe-auth.c:1197 #, c-format -msgid "user name lookup failure: error code %lu\n" -msgstr "распознать имя пользователя не удалось (код ошибки: %lu)\n" +msgid "user name lookup failure: error code %lu" +msgstr "распознать имя пользователя не удалось (код ошибки: %lu)" -#: fe-auth.c:1117 fe-connect.c:2851 +#: fe-auth.c:1321 #, c-format -msgid "could not look up local user ID %d: %s\n" -msgstr "найти локального пользователя по идентификатору (%d) не удалось: %s\n" +msgid "unexpected shape of result set returned for SHOW" +msgstr "неожиданная форма набора результатов, возвращённого для SHOW" -#: fe-auth.c:1122 fe-connect.c:2856 +#: fe-auth.c:1329 #, c-format -msgid "local user with ID %d does not exist\n" -msgstr "локальный пользователь с ID %d не существует\n" +msgid "password_encryption value too long" +msgstr "слишком длинное значение password_encryption" -#: fe-auth.c:1226 -msgid "unexpected shape of result set returned for SHOW\n" -msgstr "неожиданная форма набора результатов, возвращённого для SHOW\n" +#: fe-auth.c:1379 +#, c-format +msgid "unrecognized password encryption algorithm \"%s\"" +msgstr "нераспознанный алгоритм шифрования пароля \"%s\"" -#: fe-auth.c:1235 -msgid "password_encryption value too long\n" -msgstr "слишком длинное значение password_encryption\n" +#: fe-connect.c:1132 +#, c-format +msgid "could not match %d host names to %d hostaddr values" +msgstr "не удалось сопоставить имена узлов (%d) со значениями hostaddr (%d)" -#: fe-auth.c:1275 +#: fe-connect.c:1212 #, c-format -msgid "unrecognized password encryption algorithm \"%s\"\n" -msgstr "нераспознанный алгоритм шифрования пароля \"%s\"\n" +msgid "could not match %d port numbers to %d hosts" +msgstr "не удалось сопоставить номера портов (%d) с узлами (%d)" -#: fe-connect.c:1094 +#: fe-connect.c:1337 #, c-format -msgid "could not match %d host names to %d hostaddr values\n" -msgstr "не удалось сопоставить имена узлов (%d) со значениями hostaddr (%d)\n" +msgid "" +"negative require_auth method \"%s\" cannot be mixed with non-negative methods" +msgstr "" +"отрицательный метод require_auth \"%s\" не может совмещаться с " +"неотрицательными методами" -#: fe-connect.c:1175 +#: fe-connect.c:1350 #, c-format -msgid "could not match %d port numbers to %d hosts\n" -msgstr "не удалось сопоставить номера портов (%d) с узлами (%d)\n" +msgid "require_auth method \"%s\" cannot be mixed with negative methods" +msgstr "" +"метод require_auth \"%s\" не может совмещаться с отрицательными методами" -#: fe-connect.c:1268 fe-connect.c:1294 fe-connect.c:1336 fe-connect.c:1345 -#: fe-connect.c:1378 fe-connect.c:1422 +#: fe-connect.c:1410 fe-connect.c:1461 fe-connect.c:1503 fe-connect.c:1559 +#: fe-connect.c:1567 fe-connect.c:1598 fe-connect.c:1644 fe-connect.c:1684 +#: fe-connect.c:1705 #, c-format -msgid "invalid %s value: \"%s\"\n" -msgstr "неверное значение %s: \"%s\"\n" +msgid "invalid %s value: \"%s\"" +msgstr "неверное значение %s: \"%s\"" -#: fe-connect.c:1315 +#: fe-connect.c:1443 #, c-format -msgid "sslmode value \"%s\" invalid when SSL support is not compiled in\n" -msgstr "значение sslmode \"%s\" недопустимо для сборки без поддержки SSL\n" +msgid "require_auth method \"%s\" is specified more than once" +msgstr "метод require_auth \"%s\" указан неоднократно" -#: fe-connect.c:1363 -msgid "invalid SSL protocol version range\n" -msgstr "неверный диапазон версий протокола SSL\n" +#: fe-connect.c:1484 fe-connect.c:1523 fe-connect.c:1606 +#, c-format +msgid "%s value \"%s\" invalid when SSL support is not compiled in" +msgstr "значение %s \"%s\" недопустимо для сборки без поддержки SSL" -#: fe-connect.c:1388 +#: fe-connect.c:1546 #, c-format msgid "" -"gssencmode value \"%s\" invalid when GSSAPI support is not compiled in\n" +"weak sslmode \"%s\" may not be used with sslrootcert=system (use \"verify-" +"full\")" msgstr "" -"значение gssencmode \"%s\" недопустимо для сборки без поддержки GSSAPI\n" +"слабый режим sslmode \"%s\" не может использоваться с sslrootcert=system " +"(используйте режим \"verify-full\")" + +#: fe-connect.c:1584 +#, c-format +msgid "invalid SSL protocol version range" +msgstr "неверный диапазон версий протокола SSL" + +#: fe-connect.c:1621 +#, c-format +msgid "%s value \"%s\" is not supported (check OpenSSL version)" +msgstr "значение %s \"%s\" не поддерживается (проверьте версию OpenSSL)" + +#: fe-connect.c:1651 +#, c-format +msgid "gssencmode value \"%s\" invalid when GSSAPI support is not compiled in" +msgstr "значение gssencmode \"%s\" недопустимо для сборки без поддержки GSSAPI" -#: fe-connect.c:1648 +#: fe-connect.c:1944 #, c-format -msgid "could not set socket to TCP no delay mode: %s\n" -msgstr "не удалось перевести сокет в режим TCP-передачи без задержки: %s\n" +msgid "could not set socket to TCP no delay mode: %s" +msgstr "не удалось перевести сокет в режим TCP-передачи без задержки: %s" -#: fe-connect.c:1710 +#: fe-connect.c:2003 #, c-format msgid "connection to server on socket \"%s\" failed: " msgstr "подключиться к серверу через сокет \"%s\" не удалось: " -#: fe-connect.c:1737 +#: fe-connect.c:2029 #, c-format msgid "connection to server at \"%s\" (%s), port %s failed: " msgstr "подключиться к серверу \"%s\" (%s), порту %s не удалось: " -#: fe-connect.c:1742 +#: fe-connect.c:2034 #, c-format msgid "connection to server at \"%s\", port %s failed: " msgstr "подключиться к серверу \"%s\", порту %s не удалось: " -#: fe-connect.c:1767 +#: fe-connect.c:2057 +#, c-format msgid "" -"\tIs the server running locally and accepting connections on that socket?\n" +"\tIs the server running locally and accepting connections on that socket?" msgstr "" "\tСервер действительно работает локально и принимает подключения через этот " -"сокет?\n" +"сокет?" -#: fe-connect.c:1771 -msgid "" -"\tIs the server running on that host and accepting TCP/IP connections?\n" +#: fe-connect.c:2059 +#, c-format +msgid "\tIs the server running on that host and accepting TCP/IP connections?" msgstr "" -"\tСервер действительно работает по данному адресу и принимает TCP-" -"соединения?\n" +"\tСервер действительно работает по данному адресу и принимает TCP-соединения?" -#: fe-connect.c:1835 +#: fe-connect.c:2122 #, c-format -msgid "invalid integer value \"%s\" for connection option \"%s\"\n" -msgstr "" -"неверное целочисленное значение \"%s\" для параметра соединения \"%s\"\n" +msgid "invalid integer value \"%s\" for connection option \"%s\"" +msgstr "неверное целочисленное значение \"%s\" для параметра соединения \"%s\"" -#: fe-connect.c:1865 fe-connect.c:1900 fe-connect.c:1936 fe-connect.c:2025 -#: fe-connect.c:2639 +#: fe-connect.c:2151 fe-connect.c:2185 fe-connect.c:2220 fe-connect.c:2318 +#: fe-connect.c:2973 #, c-format -msgid "%s(%s) failed: %s\n" -msgstr "ошибка в %s(%s): %s\n" +msgid "%s(%s) failed: %s" +msgstr "ошибка в %s(%s): %s" -#: fe-connect.c:1990 +#: fe-connect.c:2284 #, c-format -msgid "%s(%s) failed: error code %d\n" -msgstr "ошибка в %s(%s): код ошибки %d\n" +msgid "%s(%s) failed: error code %d" +msgstr "ошибка в %s(%s): код ошибки %d" -#: fe-connect.c:2305 -msgid "invalid connection state, probably indicative of memory corruption\n" -msgstr "неверное состояние соединения - возможно разрушение памяти\n" +#: fe-connect.c:2597 +#, c-format +msgid "invalid connection state, probably indicative of memory corruption" +msgstr "неверное состояние соединения - возможно разрушение памяти" -#: fe-connect.c:2384 +#: fe-connect.c:2676 #, c-format -msgid "invalid port number: \"%s\"\n" -msgstr "неверный номер порта: \"%s\"\n" +msgid "invalid port number: \"%s\"" +msgstr "неверный номер порта: \"%s\"" -#: fe-connect.c:2400 +#: fe-connect.c:2690 #, c-format -msgid "could not translate host name \"%s\" to address: %s\n" -msgstr "преобразовать имя \"%s\" в адрес не удалось: %s\n" +msgid "could not translate host name \"%s\" to address: %s" +msgstr "преобразовать имя \"%s\" в адрес не удалось: %s" -#: fe-connect.c:2413 +#: fe-connect.c:2702 #, c-format -msgid "could not parse network address \"%s\": %s\n" -msgstr "не удалось разобрать сетевой адрес \"%s\": %s\n" +msgid "could not parse network address \"%s\": %s" +msgstr "не удалось разобрать сетевой адрес \"%s\": %s" -#: fe-connect.c:2426 +#: fe-connect.c:2713 #, c-format -msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)\n" -msgstr "длина пути Unix-сокета \"%s\" превышает предел (%d байт)\n" +msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)" +msgstr "длина пути Unix-сокета \"%s\" превышает предел (%d байт)" -#: fe-connect.c:2441 +#: fe-connect.c:2727 #, c-format -msgid "could not translate Unix-domain socket path \"%s\" to address: %s\n" -msgstr "преобразовать путь Unix-сокета \"%s\" в адрес не удалось: %s\n" +msgid "could not translate Unix-domain socket path \"%s\" to address: %s" +msgstr "преобразовать путь Unix-сокета \"%s\" в адрес не удалось: %s" -#: fe-connect.c:2567 +#: fe-connect.c:2901 #, c-format -msgid "could not create socket: %s\n" -msgstr "не удалось создать сокет: %s\n" +msgid "could not create socket: %s" +msgstr "не удалось создать сокет: %s" -#: fe-connect.c:2598 +#: fe-connect.c:2932 #, c-format -msgid "could not set socket to nonblocking mode: %s\n" -msgstr "не удалось перевести сокет в неблокирующий режим: %s\n" +msgid "could not set socket to nonblocking mode: %s" +msgstr "не удалось перевести сокет в неблокирующий режим: %s" -#: fe-connect.c:2608 +#: fe-connect.c:2943 #, c-format -msgid "could not set socket to close-on-exec mode: %s\n" +msgid "could not set socket to close-on-exec mode: %s" msgstr "" "не удалось перевести сокет в режим закрытия при выполнении (close-on-exec): " -"%s\n" +"%s" -#: fe-connect.c:2626 -msgid "keepalives parameter must be an integer\n" -msgstr "параметр keepalives должен быть целым числом\n" +#: fe-connect.c:2961 +#, c-format +msgid "keepalives parameter must be an integer" +msgstr "параметр keepalives должен быть целым числом" -#: fe-connect.c:2767 +#: fe-connect.c:3100 #, c-format -msgid "could not get socket error status: %s\n" -msgstr "не удалось получить статус ошибки сокета: %s\n" +msgid "could not get socket error status: %s" +msgstr "не удалось получить статус ошибки сокета: %s" -#: fe-connect.c:2795 +#: fe-connect.c:3127 #, c-format -msgid "could not get client address from socket: %s\n" -msgstr "не удалось получить адрес клиента из сокета: %s\n" +msgid "could not get client address from socket: %s" +msgstr "не удалось получить адрес клиента из сокета: %s" -#: fe-connect.c:2837 -msgid "requirepeer parameter is not supported on this platform\n" -msgstr "параметр requirepeer не поддерживается в этой ОС\n" +#: fe-connect.c:3165 +#, c-format +msgid "requirepeer parameter is not supported on this platform" +msgstr "параметр requirepeer не поддерживается в этой ОС" -#: fe-connect.c:2840 +#: fe-connect.c:3167 #, c-format -msgid "could not get peer credentials: %s\n" -msgstr "не удалось получить учётные данные сервера: %s\n" +msgid "could not get peer credentials: %s" +msgstr "не удалось получить учётные данные сервера: %s" -#: fe-connect.c:2864 +#: fe-connect.c:3180 #, c-format -msgid "requirepeer specifies \"%s\", but actual peer user name is \"%s\"\n" +msgid "requirepeer specifies \"%s\", but actual peer user name is \"%s\"" msgstr "" "requirepeer допускает подключение только к \"%s\", но сервер работает под " -"именем \"%s\"\n" +"именем \"%s\"" -#: fe-connect.c:2904 +#: fe-connect.c:3221 #, c-format -msgid "could not send GSSAPI negotiation packet: %s\n" -msgstr "не удалось отправить пакет согласования GSSAPI: %s\n" +msgid "could not send GSSAPI negotiation packet: %s" +msgstr "не удалось отправить пакет согласования GSSAPI: %s" -#: fe-connect.c:2916 +#: fe-connect.c:3233 +#, c-format msgid "" "GSSAPI encryption required but was impossible (possibly no credential cache, " -"no server support, or using a local socket)\n" +"no server support, or using a local socket)" msgstr "" "затребовано шифрование GSSAPI, но это требование невыполнимо (возможно, " "отсутствует кеш учётных данных, нет поддержки на сервере или используется " -"локальный сокет)\n" +"локальный сокет)" -#: fe-connect.c:2958 +#: fe-connect.c:3274 #, c-format -msgid "could not send SSL negotiation packet: %s\n" -msgstr "не удалось отправить пакет согласования SSL: %s\n" +msgid "could not send SSL negotiation packet: %s" +msgstr "не удалось отправить пакет согласования SSL: %s" -#: fe-connect.c:2989 +#: fe-connect.c:3303 #, c-format -msgid "could not send startup packet: %s\n" -msgstr "не удалось отправить стартовый пакет: %s\n" +msgid "could not send startup packet: %s" +msgstr "не удалось отправить стартовый пакет: %s" -#: fe-connect.c:3065 -msgid "server does not support SSL, but SSL was required\n" -msgstr "затребовано подключение через SSL, но сервер не поддерживает SSL\n" +#: fe-connect.c:3378 +#, c-format +msgid "server does not support SSL, but SSL was required" +msgstr "затребовано подключение через SSL, но сервер не поддерживает SSL" -#: fe-connect.c:3092 +#: fe-connect.c:3404 #, c-format -msgid "received invalid response to SSL negotiation: %c\n" -msgstr "получен неверный ответ при согласовании SSL: %c\n" +msgid "received invalid response to SSL negotiation: %c" +msgstr "получен неверный ответ при согласовании SSL: %c" -#: fe-connect.c:3113 -msgid "received unencrypted data after SSL response\n" -msgstr "после ответа SSL получены незашифрованные данные\n" +#: fe-connect.c:3424 +#, c-format +msgid "received unencrypted data after SSL response" +msgstr "после ответа SSL получены незашифрованные данные" -#: fe-connect.c:3194 -msgid "server doesn't support GSSAPI encryption, but it was required\n" -msgstr "затребовано шифрование GSSAPI, но сервер его не поддерживает\n" +#: fe-connect.c:3504 +#, c-format +msgid "server doesn't support GSSAPI encryption, but it was required" +msgstr "затребовано шифрование GSSAPI, но сервер его не поддерживает" -#: fe-connect.c:3206 +#: fe-connect.c:3515 #, c-format -msgid "received invalid response to GSSAPI negotiation: %c\n" -msgstr "получен неверный ответ при согласовании GSSAPI: %c\n" +msgid "received invalid response to GSSAPI negotiation: %c" +msgstr "получен неверный ответ при согласовании GSSAPI: %c" -#: fe-connect.c:3225 -msgid "received unencrypted data after GSSAPI encryption response\n" +#: fe-connect.c:3533 +#, c-format +msgid "received unencrypted data after GSSAPI encryption response" msgstr "" -"после ответа на запрос шифрования GSSAPI получены незашифрованные данные\n" +"после ответа на запрос шифрования GSSAPI получены незашифрованные данные" + +#: fe-connect.c:3598 +#, c-format +msgid "expected authentication request from server, but received %c" +msgstr "ожидался запрос аутентификации от сервера, но получено: %c" + +#: fe-connect.c:3625 fe-connect.c:3794 +#, c-format +msgid "received invalid authentication request" +msgstr "получен некорректный запрос аутентификации" -#: fe-connect.c:3285 fe-connect.c:3310 +#: fe-connect.c:3630 fe-connect.c:3779 #, c-format -msgid "expected authentication request from server, but received %c\n" -msgstr "ожидался запрос аутентификации от сервера, но получено: %c\n" +msgid "received invalid protocol negotiation message" +msgstr "получено некорректное сообщение согласования протокола" -#: fe-connect.c:3517 -msgid "unexpected message from server during startup\n" -msgstr "неожиданное сообщение от сервера в начале работы\n" +#: fe-connect.c:3648 fe-connect.c:3702 +#, c-format +msgid "received invalid error message" +msgstr "получено некорректное сообщение об ошибке" -#: fe-connect.c:3609 -msgid "session is read-only\n" -msgstr "сеанс не допускает запись\n" +#: fe-connect.c:3865 +#, c-format +msgid "unexpected message from server during startup" +msgstr "неожиданное сообщение от сервера в начале работы" -#: fe-connect.c:3612 -msgid "session is not read-only\n" -msgstr "сеанс допускает запись\n" +#: fe-connect.c:3956 +#, c-format +msgid "session is read-only" +msgstr "сеанс не допускает запись" -#: fe-connect.c:3666 -msgid "server is in hot standby mode\n" -msgstr "сервер работает в режиме горячего резерва\n" +#: fe-connect.c:3958 +#, c-format +msgid "session is not read-only" +msgstr "сеанс допускает запись" -#: fe-connect.c:3669 -msgid "server is not in hot standby mode\n" -msgstr "сервер работает не в режиме горячего резерва\n" +#: fe-connect.c:4011 +#, c-format +msgid "server is in hot standby mode" +msgstr "сервер работает в режиме горячего резерва" -#: fe-connect.c:3787 fe-connect.c:3839 +#: fe-connect.c:4013 #, c-format -msgid "\"%s\" failed\n" -msgstr "выполнить \"%s\" не удалось\n" +msgid "server is not in hot standby mode" +msgstr "сервер работает не в режиме горячего резерва" -#: fe-connect.c:3853 +#: fe-connect.c:4129 fe-connect.c:4179 #, c-format -msgid "invalid connection state %d, probably indicative of memory corruption\n" -msgstr "неверное состояние соединения %d - возможно разрушение памяти\n" +msgid "\"%s\" failed" +msgstr "выполнить \"%s\" не удалось" -#: fe-connect.c:4299 fe-connect.c:4359 +#: fe-connect.c:4193 #, c-format -msgid "PGEventProc \"%s\" failed during PGEVT_CONNRESET event\n" -msgstr "ошибка в PGEventProc \"%s\" при обработке события PGEVT_CONNRESET\n" +msgid "invalid connection state %d, probably indicative of memory corruption" +msgstr "неверное состояние соединения %d - возможно разрушение памяти" -#: fe-connect.c:4719 +#: fe-connect.c:5174 #, c-format -msgid "invalid LDAP URL \"%s\": scheme must be ldap://\n" -msgstr "некорректный адрес LDAP \"%s\": схема должна быть ldap://\n" +msgid "invalid LDAP URL \"%s\": scheme must be ldap://" +msgstr "некорректный адрес LDAP \"%s\": схема должна быть ldap://" -#: fe-connect.c:4734 +#: fe-connect.c:5189 #, c-format -msgid "invalid LDAP URL \"%s\": missing distinguished name\n" -msgstr "некорректный адрес LDAP \"%s\": отсутствует уникальное имя\n" +msgid "invalid LDAP URL \"%s\": missing distinguished name" +msgstr "некорректный адрес LDAP \"%s\": отсутствует уникальное имя" -#: fe-connect.c:4746 fe-connect.c:4804 +#: fe-connect.c:5201 fe-connect.c:5259 #, c-format -msgid "invalid LDAP URL \"%s\": must have exactly one attribute\n" -msgstr "некорректный адрес LDAP \"%s\": должен быть только один атрибут\n" +msgid "invalid LDAP URL \"%s\": must have exactly one attribute" +msgstr "некорректный адрес LDAP \"%s\": должен быть только один атрибут" -#: fe-connect.c:4758 fe-connect.c:4820 +#: fe-connect.c:5213 fe-connect.c:5275 #, c-format -msgid "invalid LDAP URL \"%s\": must have search scope (base/one/sub)\n" +msgid "invalid LDAP URL \"%s\": must have search scope (base/one/sub)" msgstr "" -"некорректный адрес LDAP \"%s\": не указана область поиска (base/one/sub)\n" +"некорректный адрес LDAP \"%s\": не указана область поиска (base/one/sub)" -#: fe-connect.c:4770 +#: fe-connect.c:5225 #, c-format -msgid "invalid LDAP URL \"%s\": no filter\n" -msgstr "некорректный адрес LDAP \"%s\": нет фильтра\n" +msgid "invalid LDAP URL \"%s\": no filter" +msgstr "некорректный адрес LDAP \"%s\": нет фильтра" -#: fe-connect.c:4792 +#: fe-connect.c:5247 #, c-format -msgid "invalid LDAP URL \"%s\": invalid port number\n" -msgstr "некорректный адрес LDAP \"%s\": неверный номер порта\n" +msgid "invalid LDAP URL \"%s\": invalid port number" +msgstr "некорректный адрес LDAP \"%s\": неверный номер порта" -#: fe-connect.c:4830 -msgid "could not create LDAP structure\n" -msgstr "не удалось создать структуру LDAP\n" +#: fe-connect.c:5284 +#, c-format +msgid "could not create LDAP structure" +msgstr "не удалось создать структуру LDAP" -#: fe-connect.c:4906 +#: fe-connect.c:5359 #, c-format -msgid "lookup on LDAP server failed: %s\n" -msgstr "ошибка поиска на сервере LDAP: %s\n" +msgid "lookup on LDAP server failed: %s" +msgstr "ошибка поиска на сервере LDAP: %s" -#: fe-connect.c:4917 -msgid "more than one entry found on LDAP lookup\n" -msgstr "при поиске LDAP найдено более одного вхождения\n" +#: fe-connect.c:5369 +#, c-format +msgid "more than one entry found on LDAP lookup" +msgstr "при поиске LDAP найдено более одного вхождения" -#: fe-connect.c:4918 fe-connect.c:4930 -msgid "no entry found on LDAP lookup\n" -msgstr "при поиске LDAP ничего не найдено\n" +#: fe-connect.c:5371 fe-connect.c:5382 +#, c-format +msgid "no entry found on LDAP lookup" +msgstr "при поиске LDAP ничего не найдено" -#: fe-connect.c:4941 fe-connect.c:4954 -msgid "attribute has no values on LDAP lookup\n" -msgstr "атрибут не содержит значений при поиске LDAP\n" +#: fe-connect.c:5392 fe-connect.c:5404 +#, c-format +msgid "attribute has no values on LDAP lookup" +msgstr "атрибут не содержит значений при поиске LDAP" -#: fe-connect.c:5006 fe-connect.c:5025 fe-connect.c:5557 +#: fe-connect.c:5455 fe-connect.c:5474 fe-connect.c:5998 #, c-format -msgid "missing \"=\" after \"%s\" in connection info string\n" -msgstr "в строке соединения нет \"=\" после \"%s\"\n" +msgid "missing \"=\" after \"%s\" in connection info string" +msgstr "в строке соединения нет \"=\" после \"%s\"" -#: fe-connect.c:5098 fe-connect.c:5742 fe-connect.c:6518 +#: fe-connect.c:5545 fe-connect.c:6181 fe-connect.c:6979 #, c-format -msgid "invalid connection option \"%s\"\n" -msgstr "неверный параметр соединения \"%s\"\n" +msgid "invalid connection option \"%s\"" +msgstr "неверный параметр соединения \"%s\"" -#: fe-connect.c:5114 fe-connect.c:5606 -msgid "unterminated quoted string in connection info string\n" -msgstr "в строке соединения не хватает закрывающей кавычки\n" +#: fe-connect.c:5560 fe-connect.c:6046 +#, c-format +msgid "unterminated quoted string in connection info string" +msgstr "в строке соединения не хватает закрывающей кавычки" -#: fe-connect.c:5195 +#: fe-connect.c:5640 #, c-format -msgid "definition of service \"%s\" not found\n" -msgstr "определение службы \"%s\" не найдено\n" +msgid "definition of service \"%s\" not found" +msgstr "определение службы \"%s\" не найдено" -#: fe-connect.c:5221 +#: fe-connect.c:5666 #, c-format -msgid "service file \"%s\" not found\n" -msgstr "файл определений служб \"%s\" не найден\n" +msgid "service file \"%s\" not found" +msgstr "файл определений служб \"%s\" не найден" -#: fe-connect.c:5235 +#: fe-connect.c:5679 #, c-format -msgid "line %d too long in service file \"%s\"\n" -msgstr "слишком длинная строка (%d) в файле определений служб \"%s\"\n" +msgid "line %d too long in service file \"%s\"" +msgstr "слишком длинная строка (%d) в файле определений служб \"%s\"" -#: fe-connect.c:5306 fe-connect.c:5350 +#: fe-connect.c:5750 fe-connect.c:5793 #, c-format -msgid "syntax error in service file \"%s\", line %d\n" -msgstr "синтаксическая ошибка в файле определения служб \"%s\" (строка %d)\n" +msgid "syntax error in service file \"%s\", line %d" +msgstr "синтаксическая ошибка в файле определения служб \"%s\" (строка %d)" -#: fe-connect.c:5317 +#: fe-connect.c:5761 #, c-format msgid "" -"nested service specifications not supported in service file \"%s\", line %d\n" +"nested service specifications not supported in service file \"%s\", line %d" msgstr "" -"рекурсивные определения служб не поддерживаются (файл определения служб \"%s" -"\", строка %d)\n" +"рекурсивные определения служб не поддерживаются (файл определения служб " +"\"%s\", строка %d)" -#: fe-connect.c:6038 +#: fe-connect.c:6500 #, c-format -msgid "invalid URI propagated to internal parser routine: \"%s\"\n" -msgstr "во внутреннюю процедуру разбора строки передан ошибочный URI: \"%s\"\n" +msgid "invalid URI propagated to internal parser routine: \"%s\"" +msgstr "во внутреннюю процедуру разбора строки передан ошибочный URI: \"%s\"" -#: fe-connect.c:6115 +#: fe-connect.c:6577 #, c-format msgid "" "end of string reached when looking for matching \"]\" in IPv6 host address " -"in URI: \"%s\"\n" -msgstr "URI не содержит символ \"]\" после адреса IPv6: \"%s\"\n" +"in URI: \"%s\"" +msgstr "URI не содержит символ \"]\" после адреса IPv6: \"%s\"" -#: fe-connect.c:6122 +#: fe-connect.c:6584 #, c-format -msgid "IPv6 host address may not be empty in URI: \"%s\"\n" -msgstr "IPv6, содержащийся в URI, не может быть пустым: \"%s\"\n" +msgid "IPv6 host address may not be empty in URI: \"%s\"" +msgstr "IPv6, содержащийся в URI, не может быть пустым: \"%s\"" -#: fe-connect.c:6137 +#: fe-connect.c:6599 #, c-format msgid "" "unexpected character \"%c\" at position %d in URI (expected \":\" or \"/\"): " -"\"%s\"\n" +"\"%s\"" msgstr "" "неожиданный символ \"%c\" в позиции %d в URI (ожидалось \":\" или \"/\"): " -"\"%s\"\n" +"\"%s\"" -#: fe-connect.c:6267 +#: fe-connect.c:6728 #, c-format -msgid "extra key/value separator \"=\" in URI query parameter: \"%s\"\n" -msgstr "лишний разделитель ключа/значения \"=\" в параметрах URI: \"%s\"\n" +msgid "extra key/value separator \"=\" in URI query parameter: \"%s\"" +msgstr "лишний разделитель ключа/значения \"=\" в параметрах URI: \"%s\"" -#: fe-connect.c:6287 +#: fe-connect.c:6748 #, c-format -msgid "missing key/value separator \"=\" in URI query parameter: \"%s\"\n" -msgstr "в параметрах URI не хватает разделителя ключа/значения \"=\": \"%s\"\n" +msgid "missing key/value separator \"=\" in URI query parameter: \"%s\"" +msgstr "в параметрах URI не хватает разделителя ключа/значения \"=\": \"%s\"" -#: fe-connect.c:6339 +#: fe-connect.c:6800 #, c-format -msgid "invalid URI query parameter: \"%s\"\n" -msgstr "неверный параметр в URI: \"%s\"\n" +msgid "invalid URI query parameter: \"%s\"" +msgstr "неверный параметр в URI: \"%s\"" -#: fe-connect.c:6413 +#: fe-connect.c:6874 #, c-format -msgid "invalid percent-encoded token: \"%s\"\n" -msgstr "неверный символ, закодированный с %%: \"%s\"\n" +msgid "invalid percent-encoded token: \"%s\"" +msgstr "неверный символ, закодированный с %%: \"%s\"" -#: fe-connect.c:6423 +#: fe-connect.c:6884 #, c-format -msgid "forbidden value %%00 in percent-encoded value: \"%s\"\n" -msgstr "недопустимое значение %%00 для символа, закодированного с %%: \"%s\"\n" +msgid "forbidden value %%00 in percent-encoded value: \"%s\"" +msgstr "недопустимое значение %%00 для символа, закодированного с %%: \"%s\"" -#: fe-connect.c:6793 +#: fe-connect.c:7248 msgid "connection pointer is NULL\n" msgstr "нулевой указатель соединения\n" -#: fe-connect.c:7081 +#: fe-connect.c:7256 fe-exec.c:710 fe-exec.c:970 fe-exec.c:3292 +#: fe-protocol3.c:974 fe-protocol3.c:1007 +msgid "out of memory\n" +msgstr "нехватка памяти\n" + +#: fe-connect.c:7547 #, c-format msgid "WARNING: password file \"%s\" is not a plain file\n" msgstr "ПРЕДУПРЕЖДЕНИЕ: файл паролей \"%s\" - не обычный файл\n" -#: fe-connect.c:7090 +#: fe-connect.c:7556 #, c-format msgid "" "WARNING: password file \"%s\" has group or world access; permissions should " @@ -681,618 +832,762 @@ msgstr "" "ПРЕДУПРЕЖДЕНИЕ: к файлу паролей \"%s\" имеют доступ все или группа; права " "должны быть u=rw (0600) или более ограниченные\n" -#: fe-connect.c:7198 +#: fe-connect.c:7663 #, c-format -msgid "password retrieved from file \"%s\"\n" -msgstr "пароль получен из файла \"%s\"\n" +msgid "password retrieved from file \"%s\"" +msgstr "пароль получен из файла \"%s\"" -#: fe-exec.c:449 fe-exec.c:3300 +#: fe-exec.c:466 fe-exec.c:3366 #, c-format msgid "row number %d is out of range 0..%d" msgstr "номер записи %d вне диапазона 0..%d" -#: fe-exec.c:510 fe-protocol3.c:219 fe-protocol3.c:244 fe-protocol3.c:273 -#: fe-protocol3.c:291 fe-protocol3.c:371 fe-protocol3.c:743 -msgid "out of memory" -msgstr "нехватка памяти" - -#: fe-exec.c:511 fe-protocol3.c:1939 +#: fe-exec.c:528 fe-protocol3.c:1976 #, c-format msgid "%s" msgstr "%s" -#: fe-exec.c:792 -msgid "write to server failed\n" -msgstr "ошибка при передаче данных серверу\n" +#: fe-exec.c:831 +#, c-format +msgid "write to server failed" +msgstr "ошибка при передаче данных серверу" -#: fe-exec.c:864 +#: fe-exec.c:869 +#, c-format +msgid "no error text available" +msgstr "текст ошибки отсутствует" + +#: fe-exec.c:958 msgid "NOTICE" msgstr "ЗАМЕЧАНИЕ" -#: fe-exec.c:922 +#: fe-exec.c:1016 msgid "PGresult cannot support more than INT_MAX tuples" msgstr "PGresult не может вместить больше чем INT_MAX кортежей" -#: fe-exec.c:934 +#: fe-exec.c:1028 msgid "size_t overflow" msgstr "переполнение size_t" -#: fe-exec.c:1349 fe-exec.c:1454 fe-exec.c:1503 -msgid "command string is a null pointer\n" -msgstr "указатель на командную строку нулевой\n" +#: fe-exec.c:1444 fe-exec.c:1513 fe-exec.c:1559 +#, c-format +msgid "command string is a null pointer" +msgstr "указатель на командную строку нулевой" -#: fe-exec.c:1460 fe-exec.c:1509 fe-exec.c:1605 +#: fe-exec.c:1450 fe-exec.c:2888 #, c-format -msgid "number of parameters must be between 0 and %d\n" -msgstr "число параметров должно быть от 0 до %d\n" +msgid "%s not allowed in pipeline mode" +msgstr "%s не допускается в конвейерном режиме" -#: fe-exec.c:1497 fe-exec.c:1599 -msgid "statement name is a null pointer\n" -msgstr "указатель на имя оператора нулевой\n" +#: fe-exec.c:1518 fe-exec.c:1564 fe-exec.c:1658 +#, c-format +msgid "number of parameters must be between 0 and %d" +msgstr "число параметров должно быть от 0 до %d" -#: fe-exec.c:1641 fe-exec.c:3153 -msgid "no connection to the server\n" -msgstr "нет соединения с сервером\n" +#: fe-exec.c:1554 fe-exec.c:1653 +#, c-format +msgid "statement name is a null pointer" +msgstr "указатель на имя оператора нулевой" -#: fe-exec.c:1650 fe-exec.c:3162 -msgid "another command is already in progress\n" -msgstr "уже выполняется другая команда\n" +#: fe-exec.c:1695 fe-exec.c:3220 +#, c-format +msgid "no connection to the server" +msgstr "нет соединения с сервером" -#: fe-exec.c:1679 -msgid "cannot queue commands during COPY\n" -msgstr "во время COPY нельзя добавлять команды в очередь\n" +#: fe-exec.c:1703 fe-exec.c:3228 +#, c-format +msgid "another command is already in progress" +msgstr "уже выполняется другая команда" -#: fe-exec.c:1797 -msgid "length must be given for binary parameter\n" -msgstr "для двоичного параметра должна быть указана длина\n" +#: fe-exec.c:1733 +#, c-format +msgid "cannot queue commands during COPY" +msgstr "во время COPY нельзя добавлять команды в очередь" -#: fe-exec.c:2117 +#: fe-exec.c:1850 #, c-format -msgid "unexpected asyncStatus: %d\n" -msgstr "неожиданный asyncStatus: %d\n" +msgid "length must be given for binary parameter" +msgstr "для двоичного параметра должна быть указана длина" -#: fe-exec.c:2137 +#: fe-exec.c:2171 #, c-format -msgid "PGEventProc \"%s\" failed during PGEVT_RESULTCREATE event\n" -msgstr "ошибка в PGEventProc \"%s\" при обработке события PGEVT_RESULTCREATE\n" +msgid "unexpected asyncStatus: %d" +msgstr "неожиданный asyncStatus: %d" -#: fe-exec.c:2285 +#: fe-exec.c:2327 +#, c-format msgid "" -"synchronous command execution functions are not allowed in pipeline mode\n" +"synchronous command execution functions are not allowed in pipeline mode" msgstr "" -"функции синхронного выполнения команд не допускаются в конвейерном режиме\n" +"функции синхронного выполнения команд не допускаются в конвейерном режиме" -#: fe-exec.c:2307 +#: fe-exec.c:2344 msgid "COPY terminated by new PQexec" msgstr "операция COPY прервана вызовом PQexec" -#: fe-exec.c:2324 -msgid "PQexec not allowed during COPY BOTH\n" -msgstr "вызов PQexec не допускается в процессе COPY BOTH\n" +#: fe-exec.c:2360 +#, c-format +msgid "PQexec not allowed during COPY BOTH" +msgstr "вызов PQexec не допускается в процессе COPY BOTH" -#: fe-exec.c:2552 fe-exec.c:2608 fe-exec.c:2677 fe-protocol3.c:1870 -msgid "no COPY in progress\n" -msgstr "операция COPY не выполняется\n" +#: fe-exec.c:2586 fe-exec.c:2641 fe-exec.c:2709 fe-protocol3.c:1907 +#, c-format +msgid "no COPY in progress" +msgstr "операция COPY не выполняется" -#: fe-exec.c:2854 -msgid "PQfn not allowed in pipeline mode\n" -msgstr "PQfn не допускается в конвейерном режиме\n" +#: fe-exec.c:2895 +#, c-format +msgid "connection in wrong state" +msgstr "соединение в неправильном состоянии" -#: fe-exec.c:2862 -msgid "connection in wrong state\n" -msgstr "соединение в неправильном состоянии\n" +#: fe-exec.c:2938 +#, c-format +msgid "cannot enter pipeline mode, connection not idle" +msgstr "перейти в конвейерный режиме нельзя, соединение не простаивает" -#: fe-exec.c:2906 -msgid "cannot enter pipeline mode, connection not idle\n" -msgstr "перейти в конвейерный режиме нельзя, соединение не простаивает\n" +#: fe-exec.c:2974 fe-exec.c:2995 +#, c-format +msgid "cannot exit pipeline mode with uncollected results" +msgstr "выйти из конвейерного режима нельзя, не собрав все результаты" -#: fe-exec.c:2940 fe-exec.c:2957 -msgid "cannot exit pipeline mode with uncollected results\n" -msgstr "выйти из конвейерного режима нельзя, не собрав все результаты\n" +#: fe-exec.c:2978 +#, c-format +msgid "cannot exit pipeline mode while busy" +msgstr "выйти из конвейерного режима в занятом состоянии нельзя" -#: fe-exec.c:2945 -msgid "cannot exit pipeline mode while busy\n" -msgstr "выйти из конвейерного режима в занятом состоянии нельзя\n" +#: fe-exec.c:2989 +#, c-format +msgid "cannot exit pipeline mode while in COPY" +msgstr "выйти из конвейерного режима во время COPY нельзя" -#: fe-exec.c:3087 -msgid "cannot send pipeline when not in pipeline mode\n" -msgstr "отправить конвейер, не перейдя в конвейерный режим, нельзя\n" +#: fe-exec.c:3154 +#, c-format +msgid "cannot send pipeline when not in pipeline mode" +msgstr "отправить конвейер, не перейдя в конвейерный режим, нельзя" -#: fe-exec.c:3189 +#: fe-exec.c:3255 msgid "invalid ExecStatusType code" msgstr "неверный код ExecStatusType" -#: fe-exec.c:3216 +#: fe-exec.c:3282 msgid "PGresult is not an error result\n" msgstr "В PGresult не передан результат ошибки\n" -#: fe-exec.c:3284 fe-exec.c:3307 +#: fe-exec.c:3350 fe-exec.c:3373 #, c-format msgid "column number %d is out of range 0..%d" msgstr "номер столбца %d вне диапазона 0..%d" -#: fe-exec.c:3322 +#: fe-exec.c:3388 #, c-format msgid "parameter number %d is out of range 0..%d" msgstr "номер параметра %d вне диапазона 0..%d" -#: fe-exec.c:3632 +#: fe-exec.c:3699 #, c-format msgid "could not interpret result from server: %s" msgstr "не удалось интерпретировать ответ сервера: %s" -#: fe-exec.c:3892 fe-exec.c:3981 -msgid "incomplete multibyte character\n" -msgstr "неполный многобайтный символ\n" +#: fe-exec.c:3964 fe-exec.c:4054 +#, c-format +msgid "incomplete multibyte character" +msgstr "неполный многобайтный символ" -#: fe-gssapi-common.c:124 +#: fe-gssapi-common.c:122 msgid "GSSAPI name import error" msgstr "ошибка импорта имени в GSSAPI" -#: fe-lobj.c:145 fe-lobj.c:210 fe-lobj.c:403 fe-lobj.c:494 fe-lobj.c:568 -#: fe-lobj.c:969 fe-lobj.c:977 fe-lobj.c:985 fe-lobj.c:993 fe-lobj.c:1001 -#: fe-lobj.c:1009 fe-lobj.c:1017 fe-lobj.c:1025 +#: fe-lobj.c:144 fe-lobj.c:207 fe-lobj.c:397 fe-lobj.c:487 fe-lobj.c:560 +#: fe-lobj.c:956 fe-lobj.c:963 fe-lobj.c:970 fe-lobj.c:977 fe-lobj.c:984 +#: fe-lobj.c:991 fe-lobj.c:998 fe-lobj.c:1005 #, c-format -msgid "cannot determine OID of function %s\n" -msgstr "определить OID функции %s нельзя\n" +msgid "cannot determine OID of function %s" +msgstr "определить OID функции %s нельзя" -#: fe-lobj.c:162 -msgid "argument of lo_truncate exceeds integer range\n" -msgstr "аргумент lo_truncate не умещается в обычном целом\n" +#: fe-lobj.c:160 +#, c-format +msgid "argument of lo_truncate exceeds integer range" +msgstr "аргумент lo_truncate не умещается в обычном целом" -#: fe-lobj.c:266 -msgid "argument of lo_read exceeds integer range\n" -msgstr "аргумент lo_read не умещается в обычном целом\n" +#: fe-lobj.c:262 +#, c-format +msgid "argument of lo_read exceeds integer range" +msgstr "аргумент lo_read не умещается в обычном целом" -#: fe-lobj.c:318 -msgid "argument of lo_write exceeds integer range\n" -msgstr "аргумент lo_write не умещается в обычном целом\n" +#: fe-lobj.c:313 +#, c-format +msgid "argument of lo_write exceeds integer range" +msgstr "аргумент lo_write не умещается в обычном целом" -#: fe-lobj.c:678 fe-lobj.c:789 +#: fe-lobj.c:669 fe-lobj.c:780 #, c-format -msgid "could not open file \"%s\": %s\n" -msgstr "не удалось открыть файл \"%s\": %s\n" +msgid "could not open file \"%s\": %s" +msgstr "не удалось открыть файл \"%s\": %s" -#: fe-lobj.c:734 +#: fe-lobj.c:725 #, c-format -msgid "could not read from file \"%s\": %s\n" -msgstr "не удалось прочитать файл \"%s\": %s\n" +msgid "could not read from file \"%s\": %s" +msgstr "не удалось прочитать файл \"%s\": %s" -#: fe-lobj.c:810 fe-lobj.c:834 +#: fe-lobj.c:801 fe-lobj.c:824 #, c-format -msgid "could not write to file \"%s\": %s\n" -msgstr "не удалось записать файл \"%s\": %s\n" +msgid "could not write to file \"%s\": %s" +msgstr "не удалось записать файл \"%s\": %s" -#: fe-lobj.c:920 -msgid "query to initialize large object functions did not return data\n" -msgstr "запрос инициализации функций для больших объектов не вернул данные\n" +#: fe-lobj.c:908 +#, c-format +msgid "query to initialize large object functions did not return data" +msgstr "запрос инициализации функций для больших объектов не вернул данные" -#: fe-misc.c:242 +#: fe-misc.c:240 #, c-format msgid "integer of size %lu not supported by pqGetInt" msgstr "функция pqGetInt не поддерживает integer размером %lu байт" -#: fe-misc.c:275 +#: fe-misc.c:273 #, c-format msgid "integer of size %lu not supported by pqPutInt" msgstr "функция pqPutInt не поддерживает integer размером %lu байт" -#: fe-misc.c:576 fe-misc.c:822 -msgid "connection not open\n" -msgstr "соединение не открыто\n" +#: fe-misc.c:573 +#, c-format +msgid "connection not open" +msgstr "соединение не открыто" -#: fe-misc.c:755 fe-secure-openssl.c:209 fe-secure-openssl.c:316 -#: fe-secure.c:260 fe-secure.c:373 +#: fe-misc.c:751 fe-secure-openssl.c:215 fe-secure-openssl.c:315 +#: fe-secure.c:257 fe-secure.c:419 +#, c-format msgid "" "server closed the connection unexpectedly\n" "\tThis probably means the server terminated abnormally\n" -"\tbefore or while processing the request.\n" +"\tbefore or while processing the request." msgstr "" "сервер неожиданно закрыл соединение\n" "\tСкорее всего сервер прекратил работу из-за сбоя\n" -"\tдо или в процессе выполнения запроса.\n" +"\tдо или в процессе выполнения запроса." -#: fe-misc.c:1015 -msgid "timeout expired\n" -msgstr "тайм-аут\n" +#: fe-misc.c:818 +msgid "connection not open\n" +msgstr "соединение не открыто\n" + +#: fe-misc.c:1003 +#, c-format +msgid "timeout expired" +msgstr "тайм-аут" -#: fe-misc.c:1060 -msgid "invalid socket\n" -msgstr "неверный сокет\n" +#: fe-misc.c:1047 +#, c-format +msgid "invalid socket" +msgstr "неверный сокет" -#: fe-misc.c:1083 +#: fe-misc.c:1069 #, c-format -msgid "%s() failed: %s\n" -msgstr "ошибка в %s(): %s\n" +msgid "%s() failed: %s" +msgstr "ошибка в %s(): %s" -#: fe-protocol3.c:196 +#: fe-protocol3.c:182 #, c-format msgid "message type 0x%02x arrived from server while idle" msgstr "от сервера во время простоя получено сообщение типа 0x%02x" -#: fe-protocol3.c:403 +#: fe-protocol3.c:385 +#, c-format msgid "" "server sent data (\"D\" message) without prior row description (\"T\" " -"message)\n" +"message)" msgstr "" "сервер отправил данные (сообщение \"D\") без предварительного описания " -"строки (сообщение \"T\")\n" +"строки (сообщение \"T\")" -#: fe-protocol3.c:446 +#: fe-protocol3.c:427 #, c-format -msgid "unexpected response from server; first received character was \"%c\"\n" -msgstr "неожиданный ответ сервера; первый полученный символ: \"%c\"\n" +msgid "unexpected response from server; first received character was \"%c\"" +msgstr "неожиданный ответ сервера; первый полученный символ: \"%c\"" -#: fe-protocol3.c:471 +#: fe-protocol3.c:450 #, c-format -msgid "message contents do not agree with length in message type \"%c\"\n" -msgstr "содержимое не соответствует длине в сообщении типа \"%c\"\n" +msgid "message contents do not agree with length in message type \"%c\"" +msgstr "содержимое не соответствует длине в сообщении типа \"%c\"" -#: fe-protocol3.c:491 +#: fe-protocol3.c:468 #, c-format -msgid "lost synchronization with server: got message type \"%c\", length %d\n" +msgid "lost synchronization with server: got message type \"%c\", length %d" msgstr "" -"потеряна синхронизация с сервером: получено сообщение типа \"%c\", длина %d\n" +"потеряна синхронизация с сервером: получено сообщение типа \"%c\", длина %d" -#: fe-protocol3.c:543 fe-protocol3.c:583 +#: fe-protocol3.c:520 fe-protocol3.c:560 msgid "insufficient data in \"T\" message" msgstr "недостаточно данных в сообщении \"T\"" -#: fe-protocol3.c:654 fe-protocol3.c:860 +#: fe-protocol3.c:631 fe-protocol3.c:837 msgid "out of memory for query result" msgstr "недостаточно памяти для результата запроса" -#: fe-protocol3.c:723 +#: fe-protocol3.c:700 msgid "insufficient data in \"t\" message" msgstr "недостаточно данных в сообщении \"t\"" -#: fe-protocol3.c:782 fe-protocol3.c:814 fe-protocol3.c:832 +#: fe-protocol3.c:759 fe-protocol3.c:791 fe-protocol3.c:809 msgid "insufficient data in \"D\" message" msgstr "недостаточно данных в сообщении \"D\"" -#: fe-protocol3.c:788 +#: fe-protocol3.c:765 msgid "unexpected field count in \"D\" message" msgstr "неверное число полей в сообщении \"D\"" -#: fe-protocol3.c:1036 +#: fe-protocol3.c:1020 msgid "no error message available\n" msgstr "нет сообщения об ошибке\n" #. translator: %s represents a digit string -#: fe-protocol3.c:1084 fe-protocol3.c:1103 +#: fe-protocol3.c:1068 fe-protocol3.c:1087 #, c-format msgid " at character %s" msgstr " символ %s" -#: fe-protocol3.c:1116 +#: fe-protocol3.c:1100 #, c-format msgid "DETAIL: %s\n" msgstr "ПОДРОБНОСТИ: %s\n" -#: fe-protocol3.c:1119 +#: fe-protocol3.c:1103 #, c-format msgid "HINT: %s\n" msgstr "ПОДСКАЗКА: %s\n" -#: fe-protocol3.c:1122 +#: fe-protocol3.c:1106 #, c-format msgid "QUERY: %s\n" msgstr "ЗАПРОС: %s\n" -#: fe-protocol3.c:1129 +#: fe-protocol3.c:1113 #, c-format msgid "CONTEXT: %s\n" msgstr "КОНТЕКСТ: %s\n" -#: fe-protocol3.c:1138 +#: fe-protocol3.c:1122 #, c-format msgid "SCHEMA NAME: %s\n" msgstr "СХЕМА: %s\n" -#: fe-protocol3.c:1142 +#: fe-protocol3.c:1126 #, c-format msgid "TABLE NAME: %s\n" msgstr "ТАБЛИЦА: %s\n" -#: fe-protocol3.c:1146 +#: fe-protocol3.c:1130 #, c-format msgid "COLUMN NAME: %s\n" msgstr "СТОЛБЕЦ: %s\n" -#: fe-protocol3.c:1150 +#: fe-protocol3.c:1134 #, c-format msgid "DATATYPE NAME: %s\n" msgstr "ТИП ДАННЫХ: %s\n" -#: fe-protocol3.c:1154 +#: fe-protocol3.c:1138 #, c-format msgid "CONSTRAINT NAME: %s\n" msgstr "ОГРАНИЧЕНИЕ: %s\n" -#: fe-protocol3.c:1166 +#: fe-protocol3.c:1150 msgid "LOCATION: " msgstr "ПОЛОЖЕНИЕ: " -#: fe-protocol3.c:1168 +#: fe-protocol3.c:1152 #, c-format msgid "%s, " msgstr "%s, " -#: fe-protocol3.c:1170 +#: fe-protocol3.c:1154 #, c-format msgid "%s:%s" msgstr "%s:%s" -#: fe-protocol3.c:1365 +#: fe-protocol3.c:1349 #, c-format msgid "LINE %d: " msgstr "СТРОКА %d: " -#: fe-protocol3.c:1764 -msgid "PQgetline: not doing text COPY OUT\n" -msgstr "PQgetline можно вызывать только во время COPY OUT с текстом\n" +#: fe-protocol3.c:1423 +#, c-format +msgid "" +"protocol version not supported by server: client uses %u.%u, server supports " +"up to %u.%u" +msgstr "" +"сервер не поддерживает нужную версию протокола: клиент использует %u.%u, " +"сервер поддерживает версии до %u.%u" -#: fe-protocol3.c:2130 +#: fe-protocol3.c:1429 #, c-format -msgid "protocol error: id=0x%x\n" -msgstr "ошибка протокола: id=0x%x\n" +msgid "protocol extension not supported by server: %s" +msgid_plural "protocol extensions not supported by server: %s" +msgstr[0] "сервер не поддерживает это расширение протокола: %s" +msgstr[1] "сервер не поддерживает эти расширения протокола: %s" +msgstr[2] "сервер не поддерживает эти расширения протокола: %s" -#: fe-secure-common.c:124 -msgid "SSL certificate's name contains embedded null\n" -msgstr "имя в SSL-сертификате включает нулевой байт\n" +#: fe-protocol3.c:1437 +#, c-format +msgid "invalid %s message" +msgstr "неверное сообщение %s" -#: fe-secure-common.c:171 -msgid "host name must be specified for a verified SSL connection\n" -msgstr "для проверенного SSL-соединения требуется указать имя узла\n" +#: fe-protocol3.c:1802 +#, c-format +msgid "PQgetline: not doing text COPY OUT" +msgstr "PQgetline можно вызывать только во время COPY OUT с текстом" -#: fe-secure-common.c:196 +#: fe-protocol3.c:2176 #, c-format -msgid "server certificate for \"%s\" does not match host name \"%s\"\n" -msgstr "" -"серверный сертификат для \"%s\" не соответствует имени сервера \"%s\"\n" +msgid "protocol error: no function result" +msgstr "ошибка протокола: нет результата функции" + +#: fe-protocol3.c:2187 +#, c-format +msgid "protocol error: id=0x%x" +msgstr "ошибка протокола: id=0x%x" -#: fe-secure-common.c:202 -msgid "could not get server's host name from server certificate\n" -msgstr "не удалось получить имя сервера из сертификата\n" +#: fe-secure-common.c:123 +#, c-format +msgid "SSL certificate's name contains embedded null" +msgstr "имя в SSL-сертификате включает нулевой байт" + +#: fe-secure-common.c:228 +#, c-format +msgid "certificate contains IP address with invalid length %zu" +msgstr "сертификат содержит IP-адрес неверной длины %zu" + +#: fe-secure-common.c:237 +#, c-format +msgid "could not convert certificate's IP address to string: %s" +msgstr "не удалось преобразовать в строку IP-адрес из сертификата: %s" + +#: fe-secure-common.c:269 +#, c-format +msgid "host name must be specified for a verified SSL connection" +msgstr "для проверенного SSL-соединения должно указываться имя узла" + +#: fe-secure-common.c:286 +#, c-format +msgid "" +"server certificate for \"%s\" (and %d other name) does not match host name " +"\"%s\"" +msgid_plural "" +"server certificate for \"%s\" (and %d other names) does not match host name " +"\"%s\"" +msgstr[0] "" +"серверный сертификат для \"%s\" (и %d другого имени) не соответствует имени " +"сервера \"%s\"" +msgstr[1] "" +"серверный сертификат для \"%s\" (и %d других имён) не соответствует имени " +"сервера \"%s\"" +msgstr[2] "" +"серверный сертификат для \"%s\" (и %d других имён) не соответствует имени " +"сервера \"%s\"" + +#: fe-secure-common.c:294 +#, c-format +msgid "server certificate for \"%s\" does not match host name \"%s\"" +msgstr "серверный сертификат для \"%s\" не соответствует имени сервера \"%s\"" + +#: fe-secure-common.c:299 +#, c-format +msgid "could not get server's host name from server certificate" +msgstr "не удалось получить имя сервера из серверного сертификата" #: fe-secure-gssapi.c:201 msgid "GSSAPI wrap error" msgstr "ошибка обёртывания сообщения в GSSAPI" -#: fe-secure-gssapi.c:209 -msgid "outgoing GSSAPI message would not use confidentiality\n" -msgstr "исходящее сообщение GSSAPI не будет защищено\n" +#: fe-secure-gssapi.c:208 +#, c-format +msgid "outgoing GSSAPI message would not use confidentiality" +msgstr "исходящее сообщение GSSAPI не будет защищено" -#: fe-secure-gssapi.c:217 +#: fe-secure-gssapi.c:215 #, c-format -msgid "client tried to send oversize GSSAPI packet (%zu > %zu)\n" -msgstr "клиент попытался передать чрезмерно большой пакет GSSAPI (%zu > %zu)\n" +msgid "client tried to send oversize GSSAPI packet (%zu > %zu)" +msgstr "клиент попытался передать чрезмерно большой пакет GSSAPI (%zu > %zu)" -#: fe-secure-gssapi.c:354 fe-secure-gssapi.c:596 +#: fe-secure-gssapi.c:351 fe-secure-gssapi.c:593 #, c-format -msgid "oversize GSSAPI packet sent by the server (%zu > %zu)\n" -msgstr "сервер передал чрезмерно большой пакет GSSAPI (%zu > %zu)\n" +msgid "oversize GSSAPI packet sent by the server (%zu > %zu)" +msgstr "сервер передал чрезмерно большой пакет GSSAPI (%zu > %zu)" -#: fe-secure-gssapi.c:393 +#: fe-secure-gssapi.c:390 msgid "GSSAPI unwrap error" msgstr "ошибка развёртывания сообщения в GSSAPI" -#: fe-secure-gssapi.c:403 -msgid "incoming GSSAPI message did not use confidentiality\n" -msgstr "входящее сообщение GSSAPI не защищено\n" +#: fe-secure-gssapi.c:399 +#, c-format +msgid "incoming GSSAPI message did not use confidentiality" +msgstr "входящее сообщение GSSAPI не защищено" -#: fe-secure-gssapi.c:642 +#: fe-secure-gssapi.c:656 msgid "could not initiate GSSAPI security context" msgstr "не удалось инициализировать контекст безопасности GSSAPI" -#: fe-secure-gssapi.c:670 +#: fe-secure-gssapi.c:685 msgid "GSSAPI size check error" msgstr "ошибка проверки размера в GSSAPI" -#: fe-secure-gssapi.c:681 +#: fe-secure-gssapi.c:696 msgid "GSSAPI context establishment error" msgstr "ошибка установления контекста в GSSAPI" -#: fe-secure-openssl.c:214 fe-secure-openssl.c:321 fe-secure-openssl.c:1333 +#: fe-secure-openssl.c:219 fe-secure-openssl.c:319 fe-secure-openssl.c:1531 +#, c-format +msgid "SSL SYSCALL error: %s" +msgstr "ошибка SSL SYSCALL: %s" + +#: fe-secure-openssl.c:225 fe-secure-openssl.c:325 fe-secure-openssl.c:1534 +#, c-format +msgid "SSL SYSCALL error: EOF detected" +msgstr "ошибка SSL SYSCALL: конец файла (EOF)" + +#: fe-secure-openssl.c:235 fe-secure-openssl.c:335 fe-secure-openssl.c:1542 #, c-format -msgid "SSL SYSCALL error: %s\n" -msgstr "ошибка SSL SYSCALL: %s\n" +msgid "SSL error: %s" +msgstr "ошибка SSL: %s" -#: fe-secure-openssl.c:221 fe-secure-openssl.c:328 fe-secure-openssl.c:1337 -msgid "SSL SYSCALL error: EOF detected\n" -msgstr "ошибка SSL SYSCALL: конец файла (EOF)\n" +#: fe-secure-openssl.c:249 fe-secure-openssl.c:349 +#, c-format +msgid "SSL connection has been closed unexpectedly" +msgstr "SSL-соединение было неожиданно закрыто" -#: fe-secure-openssl.c:232 fe-secure-openssl.c:339 fe-secure-openssl.c:1346 +#: fe-secure-openssl.c:254 fe-secure-openssl.c:354 fe-secure-openssl.c:1589 #, c-format -msgid "SSL error: %s\n" -msgstr "ошибка SSL: %s\n" +msgid "unrecognized SSL error code: %d" +msgstr "нераспознанный код ошибки SSL: %d" -#: fe-secure-openssl.c:247 fe-secure-openssl.c:354 -msgid "SSL connection has been closed unexpectedly\n" -msgstr "SSL-соединение было неожиданно закрыто\n" +#: fe-secure-openssl.c:397 +#, c-format +msgid "could not determine server certificate signature algorithm" +msgstr "не удалось определить алгоритм подписи сертификата сервера" -#: fe-secure-openssl.c:253 fe-secure-openssl.c:360 fe-secure-openssl.c:1396 +#: fe-secure-openssl.c:417 #, c-format -msgid "unrecognized SSL error code: %d\n" -msgstr "нераспознанный код ошибки SSL: %d\n" +msgid "could not find digest for NID %s" +msgstr "не удалось найти алгоритм хеширования по NID %s" -#: fe-secure-openssl.c:400 -msgid "could not determine server certificate signature algorithm\n" -msgstr "не удалось определить алгоритм подписи сертификата сервера\n" +#: fe-secure-openssl.c:426 +#, c-format +msgid "could not generate peer certificate hash" +msgstr "не удалось сгенерировать хеш сертификата сервера" -#: fe-secure-openssl.c:421 +#: fe-secure-openssl.c:509 #, c-format -msgid "could not find digest for NID %s\n" -msgstr "не удалось найти алгоритм хеширования по NID %s\n" +msgid "SSL certificate's name entry is missing" +msgstr "в SSL-сертификате отсутствует запись имени" -#: fe-secure-openssl.c:431 -msgid "could not generate peer certificate hash\n" -msgstr "не удалось сгенерировать хеш сертификата сервера\n" +#: fe-secure-openssl.c:543 +#, c-format +msgid "SSL certificate's address entry is missing" +msgstr "в SSL-сертификате отсутствует запись адреса" -#: fe-secure-openssl.c:488 -msgid "SSL certificate's name entry is missing\n" -msgstr "запись имени в SSL-сертификате отсутствует\n" +#: fe-secure-openssl.c:960 +#, c-format +msgid "could not create SSL context: %s" +msgstr "не удалось создать контекст SSL: %s" -#: fe-secure-openssl.c:822 +#: fe-secure-openssl.c:1002 #, c-format -msgid "could not create SSL context: %s\n" -msgstr "не удалось создать контекст SSL: %s\n" +msgid "invalid value \"%s\" for minimum SSL protocol version" +msgstr "неверное значение \"%s\" для минимальной версии протокола SSL" -#: fe-secure-openssl.c:861 +#: fe-secure-openssl.c:1012 #, c-format -msgid "invalid value \"%s\" for minimum SSL protocol version\n" -msgstr "неверное значение \"%s\" для минимальной версии протокола SSL\n" +msgid "could not set minimum SSL protocol version: %s" +msgstr "не удалось задать минимальную версию протокола SSL: %s" -#: fe-secure-openssl.c:872 +#: fe-secure-openssl.c:1028 #, c-format -msgid "could not set minimum SSL protocol version: %s\n" -msgstr "не удалось задать минимальную версию протокола SSL: %s\n" +msgid "invalid value \"%s\" for maximum SSL protocol version" +msgstr "неверное значение \"%s\" для максимальной версии протокола SSL" -#: fe-secure-openssl.c:890 +#: fe-secure-openssl.c:1038 #, c-format -msgid "invalid value \"%s\" for maximum SSL protocol version\n" -msgstr "неверное значение \"%s\" для максимальной версии протокола SSL\n" +msgid "could not set maximum SSL protocol version: %s" +msgstr "не удалось задать максимальную версию протокола SSL: %s" -#: fe-secure-openssl.c:901 +#: fe-secure-openssl.c:1076 #, c-format -msgid "could not set maximum SSL protocol version: %s\n" -msgstr "не удалось задать максимальную версию протокола SSL: %s\n" +msgid "could not load system root certificate paths: %s" +msgstr "не удалось выбрать системные пути для корневых сертификатов: %s" -#: fe-secure-openssl.c:937 +#: fe-secure-openssl.c:1093 #, c-format -msgid "could not read root certificate file \"%s\": %s\n" -msgstr "не удалось прочитать файл корневых сертификатов \"%s\": %s\n" +msgid "could not read root certificate file \"%s\": %s" +msgstr "не удалось прочитать файл корневых сертификатов \"%s\": %s" -#: fe-secure-openssl.c:990 +#: fe-secure-openssl.c:1145 +#, c-format msgid "" "could not get home directory to locate root certificate file\n" -"Either provide the file or change sslmode to disable server certificate " -"verification.\n" +"Either provide the file, use the system's trusted roots with " +"sslrootcert=system, or change sslmode to disable server certificate " +"verification." msgstr "" "не удалось получить домашний каталог для поиска файла корневых сертификатов\n" -"Укажите полный путь к файлу или отключите проверку сертификата сервера, " -"изменив sslmode.\n" +"Укажите полный путь к файлу, используйте системные доверенные сертификаты " +"(sslrootcert=system) или отключите проверку сертификата сервера, изменив " +"sslmode." -#: fe-secure-openssl.c:994 +#: fe-secure-openssl.c:1148 #, c-format msgid "" "root certificate file \"%s\" does not exist\n" -"Either provide the file or change sslmode to disable server certificate " -"verification.\n" +"Either provide the file, use the system's trusted roots with " +"sslrootcert=system, or change sslmode to disable server certificate " +"verification." msgstr "" "файл корневых сертификатов \"%s\" не существует\n" -"Укажите полный путь к файлу или отключите проверку сертификата сервера, " -"изменив sslmode.\n" +"Укажите полный путь к файлу, используйте системные доверенные сертификаты " +"(sslrootcert=system) или отключите проверку сертификата сервера, изменив " +"sslmode." -#: fe-secure-openssl.c:1025 +#: fe-secure-openssl.c:1183 #, c-format -msgid "could not open certificate file \"%s\": %s\n" -msgstr "не удалось открыть файл сертификата \"%s\": %s\n" +msgid "could not open certificate file \"%s\": %s" +msgstr "не удалось открыть файл сертификата \"%s\": %s" -#: fe-secure-openssl.c:1044 +#: fe-secure-openssl.c:1201 #, c-format -msgid "could not read certificate file \"%s\": %s\n" -msgstr "не удалось прочитать файл сертификата \"%s\": %s\n" +msgid "could not read certificate file \"%s\": %s" +msgstr "не удалось прочитать файл сертификата \"%s\": %s" -#: fe-secure-openssl.c:1069 +#: fe-secure-openssl.c:1225 #, c-format -msgid "could not establish SSL connection: %s\n" -msgstr "не удалось установить SSL-соединение: %s\n" +msgid "could not establish SSL connection: %s" +msgstr "не удалось установить SSL-соединение: %s" -#: fe-secure-openssl.c:1103 +#: fe-secure-openssl.c:1257 #, c-format -msgid "could not set SSL Server Name Indication (SNI): %s\n" -msgstr "" -"не удалось задать SNI (Server Name Indication) для SSL-подключения: %s\n" +msgid "could not set SSL Server Name Indication (SNI): %s" +msgstr "не удалось задать SNI (Server Name Indication) для SSL-подключения: %s" + +#: fe-secure-openssl.c:1300 +#, c-format +msgid "could not load SSL engine \"%s\": %s" +msgstr "не удалось загрузить модуль SSL ENGINE \"%s\": %s" + +#: fe-secure-openssl.c:1311 +#, c-format +msgid "could not initialize SSL engine \"%s\": %s" +msgstr "не удалось инициализировать модуль SSL ENGINE \"%s\": %s" -#: fe-secure-openssl.c:1149 +#: fe-secure-openssl.c:1326 #, c-format -msgid "could not load SSL engine \"%s\": %s\n" -msgstr "не удалось загрузить модуль SSL ENGINE \"%s\": %s\n" +msgid "could not read private SSL key \"%s\" from engine \"%s\": %s" +msgstr "не удалось прочитать закрытый ключ SSL \"%s\" из модуля \"%s\": %s" -#: fe-secure-openssl.c:1161 +#: fe-secure-openssl.c:1339 #, c-format -msgid "could not initialize SSL engine \"%s\": %s\n" -msgstr "не удалось инициализировать модуль SSL ENGINE \"%s\": %s\n" +msgid "could not load private SSL key \"%s\" from engine \"%s\": %s" +msgstr "не удалось загрузить закрытый ключ SSL \"%s\" из модуля \"%s\": %s" -#: fe-secure-openssl.c:1177 +#: fe-secure-openssl.c:1376 #, c-format -msgid "could not read private SSL key \"%s\" from engine \"%s\": %s\n" -msgstr "не удалось прочитать закрытый ключ SSL \"%s\" из модуля \"%s\": %s\n" +msgid "certificate present, but not private key file \"%s\"" +msgstr "при наличии сертификата отсутствует файл закрытого ключа \"%s\"" -#: fe-secure-openssl.c:1191 +#: fe-secure-openssl.c:1379 #, c-format -msgid "could not load private SSL key \"%s\" from engine \"%s\": %s\n" -msgstr "не удалось загрузить закрытый ключ SSL \"%s\" из модуля \"%s\": %s\n" +msgid "could not stat private key file \"%s\": %m" +msgstr "не удалось получить информацию о файле закрытого ключа \"%s\": %m" -#: fe-secure-openssl.c:1228 +#: fe-secure-openssl.c:1387 #, c-format -msgid "certificate present, but not private key file \"%s\"\n" -msgstr "сертификат присутствует, но файла закрытого ключа \"%s\" нет\n" +msgid "private key file \"%s\" is not a regular file" +msgstr "файл закрытого ключа \"%s\" - не обычный файл" -#: fe-secure-openssl.c:1236 +#: fe-secure-openssl.c:1420 #, c-format msgid "" -"private key file \"%s\" has group or world access; permissions should be " -"u=rw (0600) or less\n" +"private key file \"%s\" has group or world access; file must have " +"permissions u=rw (0600) or less if owned by the current user, or permissions " +"u=rw,g=r (0640) or less if owned by root" msgstr "" -"к файлу закрытого ключа \"%s\" имеют доступ все или группа; права должны " -"быть u=rw (0600) или более ограниченные\n" +"к файлу закрытого ключа \"%s\" имеют доступ все или группа; для него должны " +"быть заданы разрешения u=rw (0600) или более строгие, если он принадлежит " +"текущему пользователю, либо u=rw,g=r (0640) или более строгие, если он " +"принадлежит root" -#: fe-secure-openssl.c:1261 +#: fe-secure-openssl.c:1444 #, c-format -msgid "could not load private key file \"%s\": %s\n" -msgstr "не удалось загрузить файл закрытого ключа \"%s\": %s\n" +msgid "could not load private key file \"%s\": %s" +msgstr "не удалось загрузить файл закрытого ключа \"%s\": %s" -#: fe-secure-openssl.c:1279 +#: fe-secure-openssl.c:1460 #, c-format -msgid "certificate does not match private key file \"%s\": %s\n" -msgstr "сертификат не соответствует файлу закрытого ключа \"%s\": %s\n" +msgid "certificate does not match private key file \"%s\": %s" +msgstr "сертификат не соответствует файлу закрытого ключа \"%s\": %s" -#: fe-secure-openssl.c:1379 +#: fe-secure-openssl.c:1528 +#, c-format +msgid "SSL error: certificate verify failed: %s" +msgstr "ошибка SSL: не удалось проверить сертификат: %s" + +#: fe-secure-openssl.c:1573 #, c-format msgid "" "This may indicate that the server does not support any SSL protocol version " -"between %s and %s.\n" +"between %s and %s." msgstr "" "Это может указывать на то, что сервер не поддерживает ни одну версию " -"протокола SSL между %s и %s.\n" +"протокола SSL между %s и %s." -#: fe-secure-openssl.c:1415 +#: fe-secure-openssl.c:1606 #, c-format -msgid "certificate could not be obtained: %s\n" -msgstr "не удалось получить сертификат: %s\n" +msgid "certificate could not be obtained: %s" +msgstr "не удалось получить сертификат: %s" -#: fe-secure-openssl.c:1521 +#: fe-secure-openssl.c:1711 #, c-format msgid "no SSL error reported" msgstr "нет сообщения об ошибке SSL" -#: fe-secure-openssl.c:1530 +#: fe-secure-openssl.c:1720 #, c-format msgid "SSL error code %lu" msgstr "код ошибки SSL: %lu" -#: fe-secure-openssl.c:1778 +#: fe-secure-openssl.c:1986 #, c-format msgid "WARNING: sslpassword truncated\n" msgstr "ПРЕДУПРЕЖДЕНИЕ: значение sslpassword усечено\n" -#: fe-secure.c:267 +#: fe-secure.c:263 #, c-format -msgid "could not receive data from server: %s\n" -msgstr "не удалось получить данные с сервера: %s\n" +msgid "could not receive data from server: %s" +msgstr "не удалось получить данные с сервера: %s" -#: fe-secure.c:380 +#: fe-secure.c:434 #, c-format -msgid "could not send data to server: %s\n" -msgstr "не удалось передать данные серверу: %s\n" +msgid "could not send data to server: %s" +msgstr "не удалось передать данные серверу: %s" -#: win32.c:314 +#: win32.c:310 #, c-format msgid "unrecognized socket error: 0x%08X/%d" msgstr "нераспознанная ошибка сокета: 0x%08X/%d" +#~ msgid "SCM_CRED authentication method not supported\n" +#~ msgstr "аутентификация SCM_CRED не поддерживается\n" + +#~ msgid "" +#~ "server sent data (\"D\" message) without prior row description (\"T\" " +#~ "message)\n" +#~ msgstr "" +#~ "сервер отправил данные (сообщение \"D\") без предварительного описания " +#~ "строки (сообщение \"T\")\n" + +#~ msgid "PGEventProc \"%s\" failed during PGEVT_CONNRESET event\n" +#~ msgstr "ошибка в PGEventProc \"%s\" при обработке события PGEVT_CONNRESET\n" + +#~ msgid "PGEventProc \"%s\" failed during PGEVT_RESULTCREATE event\n" +#~ msgstr "" +#~ "ошибка в PGEventProc \"%s\" при обработке события PGEVT_RESULTCREATE\n" + #~ msgid "invalid channel_binding value: \"%s\"\n" #~ msgstr "неверное значение channel_binding: \"%s\"\n" @@ -1384,15 +1679,8 @@ msgstr "нераспознанная ошибка сокета: 0x%08X/%d" #~ msgstr "неожиданный символ %c вслед за пустым ответом (сообщение \"I\")" #~ msgid "" -#~ "server sent data (\"D\" message) without prior row description (\"T\" " -#~ "message)" -#~ msgstr "" -#~ "сервер отправил данные (сообщение \"D\") без предварительного описания " -#~ "строки (сообщение \"T\")" - -#~ msgid "" -#~ "server sent binary data (\"B\" message) without prior row description (\"T" -#~ "\" message)" +#~ "server sent binary data (\"B\" message) without prior row description " +#~ "(\"T\" message)" #~ msgstr "" #~ "сервер отправил двоичные данные (сообщение \"B\") без предварительного " #~ "описания строки (сообщение \"T\")" diff --git a/src/pl/plperl/po/ru.po b/src/pl/plperl/po/ru.po index ad89a141294..75bf0ae67c5 100644 --- a/src/pl/plperl/po/ru.po +++ b/src/pl/plperl/po/ru.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: plperl (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-08-27 14:52+0300\n" +"POT-Creation-Date: 2023-08-28 07:59+0300\n" "PO-Revision-Date: 2022-09-05 13:38+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" @@ -14,98 +14,93 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: plperl.c:408 +#: plperl.c:405 msgid "" "If true, trusted and untrusted Perl code will be compiled in strict mode." msgstr "" "Если этот параметр равен true, доверенный и недоверенный код Perl будет " "компилироваться в строгом режиме." -#: plperl.c:422 +#: plperl.c:419 msgid "" "Perl initialization code to execute when a Perl interpreter is initialized." msgstr "" "Код инициализации Perl, который выполняется при инициализации интерпретатора " "Perl." -#: plperl.c:444 +#: plperl.c:441 msgid "Perl initialization code to execute once when plperl is first used." msgstr "" "Код инициализации Perl, который выполняется один раз, при первом " "использовании plperl." -#: plperl.c:452 +#: plperl.c:449 msgid "Perl initialization code to execute once when plperlu is first used." msgstr "" "Код инициализации Perl, который выполняется один раз, при первом " "использовании plperlu." -#: plperl.c:646 +#: plperl.c:643 #, c-format msgid "cannot allocate multiple Perl interpreters on this platform" msgstr "на этой платформе нельзя запустить множество интерпретаторов Perl" -#: plperl.c:669 plperl.c:853 plperl.c:859 plperl.c:976 plperl.c:988 -#: plperl.c:1031 plperl.c:1054 plperl.c:2138 plperl.c:2246 plperl.c:2314 -#: plperl.c:2377 +#: plperl.c:666 plperl.c:850 plperl.c:856 plperl.c:973 plperl.c:985 +#: plperl.c:1028 plperl.c:1051 plperl.c:2151 plperl.c:2259 plperl.c:2327 +#: plperl.c:2390 #, c-format msgid "%s" msgstr "%s" -#: plperl.c:670 +#: plperl.c:667 #, c-format msgid "while executing PostgreSQL::InServer::SPI::bootstrap" msgstr "при выполнении PostgreSQL::InServer::SPI::bootstrap" -#: plperl.c:854 +#: plperl.c:851 #, c-format msgid "while parsing Perl initialization" msgstr "при разборе параметров инициализации Perl" -#: plperl.c:860 +#: plperl.c:857 #, c-format msgid "while running Perl initialization" msgstr "при выполнении инициализации Perl" -#: plperl.c:977 +#: plperl.c:974 #, c-format msgid "while executing PLC_TRUSTED" msgstr "при выполнении PLC_TRUSTED" -#: plperl.c:989 +#: plperl.c:986 #, c-format msgid "while executing utf8fix" msgstr "при выполнении utf8fix" -#: plperl.c:1032 +#: plperl.c:1029 #, c-format msgid "while executing plperl.on_plperl_init" msgstr "при выполнении plperl.on_plperl_init" -#: plperl.c:1055 +#: plperl.c:1052 #, c-format msgid "while executing plperl.on_plperlu_init" msgstr "при выполнении plperl.on_plperlu_init" -#: plperl.c:1101 plperl.c:1791 +#: plperl.c:1098 plperl.c:1804 #, c-format msgid "Perl hash contains nonexistent column \"%s\"" msgstr "Perl-хеш содержит несуществующий столбец \"%s\"" -#: plperl.c:1106 plperl.c:1796 +#: plperl.c:1103 plperl.c:1809 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "присвоить значение системному атрибуту \"%s\" нельзя" -#: plperl.c:1194 -#, c-format -msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" -msgstr "число размерностей массива (%d) превышает предел (%d)" - -#: plperl.c:1206 plperl.c:1223 +#: plperl.c:1199 plperl.c:1214 plperl.c:1231 #, c-format msgid "" "multidimensional arrays must have array expressions with matching dimensions" @@ -113,85 +108,90 @@ msgstr "" "для многомерных массивов должны задаваться выражения с соответствующими " "размерностями" -#: plperl.c:1259 +#: plperl.c:1204 +#, c-format +msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" +msgstr "число размерностей массива (%d) превышает предел (%d)" + +#: plperl.c:1274 #, c-format msgid "cannot convert Perl array to non-array type %s" msgstr "Perl-массив нельзя преобразовать в тип не массива %s" -#: plperl.c:1362 +#: plperl.c:1375 #, c-format msgid "cannot convert Perl hash to non-composite type %s" msgstr "Perl-хеш нельзя преобразовать в не составной тип %s" -#: plperl.c:1384 plperl.c:3304 +#: plperl.c:1397 plperl.c:3315 #, c-format msgid "" "function returning record called in context that cannot accept type record" msgstr "" "функция, возвращающая запись, вызвана в контексте, не допускающем этот тип" -#: plperl.c:1445 +#: plperl.c:1458 #, c-format msgid "lookup failed for type %s" msgstr "найти тип %s не удалось" -#: plperl.c:1766 +#: plperl.c:1779 #, c-format msgid "$_TD->{new} does not exist" msgstr "$_TD->{new} не существует" -#: plperl.c:1770 +#: plperl.c:1783 #, c-format msgid "$_TD->{new} is not a hash reference" msgstr "$_TD->{new} - не ссылка на хеш" -#: plperl.c:1801 +#: plperl.c:1814 #, c-format msgid "cannot set generated column \"%s\"" msgstr "присвоить значение генерируемому столбцу \"%s\" нельзя" -#: plperl.c:2013 plperl.c:2854 +#: plperl.c:2026 plperl.c:2867 #, c-format msgid "PL/Perl functions cannot return type %s" msgstr "функции PL/Perl не могут возвращать тип %s" -#: plperl.c:2026 plperl.c:2893 +#: plperl.c:2039 plperl.c:2906 #, c-format msgid "PL/Perl functions cannot accept type %s" msgstr "функции PL/Perl не могут принимать тип %s" -#: plperl.c:2143 +#: plperl.c:2156 #, c-format msgid "didn't get a CODE reference from compiling function \"%s\"" msgstr "не удалось получить ссылку на код после компиляции функции \"%s\"" -#: plperl.c:2234 +#: plperl.c:2247 #, c-format msgid "didn't get a return item from function" msgstr "не удалось получить возвращаемый элемент от функции" -#: plperl.c:2278 plperl.c:2345 +#: plperl.c:2291 plperl.c:2358 #, c-format msgid "couldn't fetch $_TD" msgstr "не удалось получить $_TD" -#: plperl.c:2302 plperl.c:2365 +#: plperl.c:2315 plperl.c:2378 #, c-format msgid "didn't get a return item from trigger function" msgstr "не удалось получить возвращаемый элемент от триггерной функции" -#: plperl.c:2423 +#: plperl.c:2436 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "" "функция, возвращающая множество, вызвана в контексте, где ему нет места" -#: plperl.c:2428 +#: plperl.c:2441 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "требуется режим материализации, но он недопустим в этом контексте" -#: plperl.c:2472 +#: plperl.c:2485 #, c-format msgid "" "set-returning PL/Perl function must return reference to array or use " @@ -200,12 +200,12 @@ msgstr "" "функция PL/Perl, возвращающая множество, должна возвращать ссылку на массив " "или вызывать return_next" -#: plperl.c:2593 +#: plperl.c:2606 #, c-format msgid "ignoring modified row in DELETE trigger" msgstr "в триггере DELETE изменённая строка игнорируется" -#: plperl.c:2601 +#: plperl.c:2614 #, c-format msgid "" "result of PL/Perl trigger function must be undef, \"SKIP\", or \"MODIFY\"" @@ -213,24 +213,24 @@ msgstr "" "результатом триггерной функции PL/Perl должен быть undef, \"SKIP\" или " "\"MODIFY\"" -#: plperl.c:2849 +#: plperl.c:2862 #, c-format msgid "trigger functions can only be called as triggers" msgstr "триггерные функции могут вызываться только в триггерах" -#: plperl.c:3209 +#: plperl.c:3220 #, c-format msgid "query result has too many rows to fit in a Perl array" msgstr "" "результат запроса содержит слишком много строк для передачи в массиве Perl" -#: plperl.c:3281 +#: plperl.c:3292 #, c-format msgid "cannot use return_next in a non-SETOF function" msgstr "" "return_next можно использовать только в функциях, возвращающих множества" -#: plperl.c:3355 +#: plperl.c:3366 #, c-format msgid "" "SETOF-composite-returning PL/Perl function must call return_next with " @@ -239,17 +239,17 @@ msgstr "" "функция PL/Perl, возвращающая составное множество, должна вызывать " "return_next со ссылкой на хеш" -#: plperl.c:4137 +#: plperl.c:4148 #, c-format msgid "PL/Perl function \"%s\"" msgstr "функция PL/Perl \"%s\"" -#: plperl.c:4149 +#: plperl.c:4160 #, c-format msgid "compilation of PL/Perl function \"%s\"" msgstr "компиляция функции PL/Perl \"%s\"" -#: plperl.c:4158 +#: plperl.c:4169 #, c-format msgid "PL/Perl anonymous code block" msgstr "анонимный блок кода PL/Perl" diff --git a/src/pl/plpgsql/src/po/ru.po b/src/pl/plpgsql/src/po/ru.po index baaf07c579f..aa733480e25 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: 2022-09-29 10:17+0300\n" +"POT-Creation-Date: 2023-08-28 07:59+0300\n" "PO-Revision-Date: 2022-09-05 13:38+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" @@ -14,37 +14,37 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -#: pl_comp.c:438 pl_handler.c:496 +#: pl_comp.c:434 pl_handler.c:496 #, c-format msgid "PL/pgSQL functions cannot accept type %s" msgstr "функции PL/pgSQL не могут принимать тип %s" -#: pl_comp.c:530 +#: pl_comp.c:526 #, c-format msgid "could not determine actual return type for polymorphic function \"%s\"" msgstr "" -"не удалось определить фактический тип результата для полиморфной функции \"%s" -"\"" +"не удалось определить фактический тип результата для полиморфной функции " +"\"%s\"" -#: pl_comp.c:560 +#: pl_comp.c:556 #, c-format msgid "trigger functions can only be called as triggers" msgstr "триггерные функции могут вызываться только в триггерах" -#: pl_comp.c:564 pl_handler.c:480 +#: pl_comp.c:560 pl_handler.c:480 #, c-format msgid "PL/pgSQL functions cannot return type %s" msgstr "функции PL/pgSQL не могут возвращать тип %s" -#: pl_comp.c:604 +#: pl_comp.c:600 #, c-format msgid "trigger functions cannot have declared arguments" msgstr "у триггерных функций не может быть объявленных аргументов" -#: pl_comp.c:605 +#: pl_comp.c:601 #, c-format msgid "" "The arguments of the trigger can be accessed through TG_NARGS and TG_ARGV " @@ -53,126 +53,126 @@ msgstr "" "При необходимости к аргументам триггера можно обращаться через переменные " "TG_NARGS и TG_ARGV." -#: pl_comp.c:738 +#: pl_comp.c:734 #, c-format msgid "event trigger functions cannot have declared arguments" msgstr "у функций событийных триггеров не может быть объявленных аргументов" -#: pl_comp.c:1002 +#: pl_comp.c:998 #, c-format msgid "compilation of PL/pgSQL function \"%s\" near line %d" msgstr "компиляция функции PL/pgSQL \"%s\" в районе строки %d" -#: pl_comp.c:1025 +#: pl_comp.c:1021 #, c-format msgid "parameter name \"%s\" used more than once" msgstr "имя параметра \"%s\" указано неоднократно" -#: pl_comp.c:1139 +#: pl_comp.c:1135 #, c-format msgid "column reference \"%s\" is ambiguous" msgstr "неоднозначная ссылка на столбец \"%s\"" -#: pl_comp.c:1141 +#: pl_comp.c:1137 #, c-format msgid "It could refer to either a PL/pgSQL variable or a table column." msgstr "Подразумевается ссылка на переменную PL/pgSQL или столбец таблицы." -#: pl_comp.c:1324 pl_exec.c:5234 pl_exec.c:5407 pl_exec.c:5494 pl_exec.c:5585 -#: pl_exec.c:6606 +#: pl_comp.c:1314 pl_exec.c:5255 pl_exec.c:5428 pl_exec.c:5515 pl_exec.c:5606 +#: pl_exec.c:6624 #, c-format msgid "record \"%s\" has no field \"%s\"" msgstr "в записи \"%s\" нет поля \"%s\"" -#: pl_comp.c:1818 +#: pl_comp.c:1808 #, c-format msgid "relation \"%s\" does not exist" msgstr "отношение \"%s\" не существует" -#: pl_comp.c:1825 pl_comp.c:1867 +#: pl_comp.c:1815 pl_comp.c:1857 #, c-format msgid "relation \"%s\" does not have a composite type" msgstr "отношение \"%s\" не имеет составного типа" -#: pl_comp.c:1933 +#: pl_comp.c:1923 #, c-format msgid "variable \"%s\" has pseudo-type %s" msgstr "переменная \"%s\" имеет псевдотип %s" -#: pl_comp.c:2122 +#: pl_comp.c:2112 #, c-format msgid "type \"%s\" is only a shell" msgstr "тип \"%s\" является пустышкой" -#: pl_comp.c:2204 pl_exec.c:6907 +#: pl_comp.c:2194 pl_exec.c:6925 #, c-format msgid "type %s is not composite" msgstr "тип %s не является составным" -#: pl_comp.c:2252 pl_comp.c:2305 +#: pl_comp.c:2242 pl_comp.c:2295 #, c-format msgid "unrecognized exception condition \"%s\"" msgstr "нераспознанное условие исключения \"%s\"" -#: pl_comp.c:2534 +#: pl_comp.c:2524 #, c-format msgid "" "could not determine actual argument type for polymorphic function \"%s\"" msgstr "" -"не удалось определить фактический тип аргумента для полиморфной функции \"%s" -"\"" +"не удалось определить фактический тип аргумента для полиморфной функции " +"\"%s\"" -#: pl_exec.c:501 pl_exec.c:940 pl_exec.c:1175 +#: pl_exec.c:511 pl_exec.c:950 pl_exec.c:1185 msgid "during initialization of execution state" msgstr "в процессе инициализации состояния выполнения" -#: pl_exec.c:507 +#: pl_exec.c:517 msgid "while storing call arguments into local variables" msgstr "при сохранении аргументов вызова в локальных переменных" -#: pl_exec.c:595 pl_exec.c:1013 +#: pl_exec.c:605 pl_exec.c:1023 msgid "during function entry" msgstr "при входе в функцию" -#: pl_exec.c:618 +#: pl_exec.c:628 #, c-format msgid "control reached end of function without RETURN" msgstr "конец функции достигнут без RETURN" -#: pl_exec.c:624 +#: pl_exec.c:634 msgid "while casting return value to function's return type" msgstr "при приведении возвращаемого значения к типу результата функции" -#: pl_exec.c:636 pl_exec.c:3665 +#: pl_exec.c:646 pl_exec.c:3681 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "" "функция, возвращающая множество, вызвана в контексте, где ему нет места" -#: pl_exec.c:641 pl_exec.c:3671 +#: pl_exec.c:651 pl_exec.c:3687 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "требуется режим материализации, но он недопустим в этом контексте" -#: pl_exec.c:768 pl_exec.c:1039 pl_exec.c:1197 +#: pl_exec.c:778 pl_exec.c:1049 pl_exec.c:1207 msgid "during function exit" msgstr "при выходе из функции" -#: pl_exec.c:823 pl_exec.c:887 pl_exec.c:3464 +#: pl_exec.c:833 pl_exec.c:897 pl_exec.c:3480 msgid "returned record type does not match expected record type" msgstr "возвращаемый тип записи не соответствует ожидаемому" -#: pl_exec.c:1036 pl_exec.c:1194 +#: pl_exec.c:1046 pl_exec.c:1204 #, c-format msgid "control reached end of trigger procedure without RETURN" msgstr "конец триггерной процедуры достигнут без RETURN" -#: pl_exec.c:1044 +#: pl_exec.c:1054 #, c-format msgid "trigger procedure cannot return a set" msgstr "триггерная процедура не может возвращать множество" -#: pl_exec.c:1083 pl_exec.c:1111 +#: pl_exec.c:1093 pl_exec.c:1121 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:1252 +#: pl_exec.c:1262 #, 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:1263 +#: pl_exec.c:1273 #, c-format msgid "PL/pgSQL function %s %s" msgstr "функция PL/pgSQL %s, %s" #. translator: last %s is a plpgsql statement type name -#: pl_exec.c:1271 +#: pl_exec.c:1281 #, c-format msgid "PL/pgSQL function %s line %d at %s" msgstr "функция PL/pgSQL %s, строка %d, оператор %s" -#: pl_exec.c:1277 +#: pl_exec.c:1287 #, c-format msgid "PL/pgSQL function %s" msgstr "функция PL/pgSQL %s" -#: pl_exec.c:1648 +#: pl_exec.c:1658 msgid "during statement block local variable initialization" msgstr "при инициализации локальной переменной в блоке операторов" -#: pl_exec.c:1753 +#: pl_exec.c:1763 msgid "during statement block entry" msgstr "при входе в блок операторов" -#: pl_exec.c:1785 +#: pl_exec.c:1795 msgid "during statement block exit" msgstr "при выходе из блока операторов" -#: pl_exec.c:1823 +#: pl_exec.c:1833 msgid "during exception cleanup" msgstr "при очистке после исключения" -#: pl_exec.c:2360 +#: pl_exec.c:2370 #, c-format msgid "" "procedure parameter \"%s\" is an output parameter but corresponding argument " @@ -231,7 +231,7 @@ msgstr "" "параметр процедуры \"%s\" является выходным, но соответствующий аргумент не " "допускает запись" -#: pl_exec.c:2365 +#: pl_exec.c:2375 #, c-format msgid "" "procedure parameter %d is an output parameter but corresponding argument is " @@ -240,199 +240,199 @@ msgstr "" "параметр процедуры %d является выходным, но соответствующий аргумент не " "допускает запись" -#: pl_exec.c:2399 +#: pl_exec.c:2409 #, c-format msgid "GET STACKED DIAGNOSTICS cannot be used outside an exception handler" msgstr "" "GET STACKED DIAGNOSTICS нельзя использовать вне блока обработчика исключения" -#: pl_exec.c:2599 +#: pl_exec.c:2615 #, c-format msgid "case not found" msgstr "неправильный CASE" -#: pl_exec.c:2600 +#: pl_exec.c:2616 #, c-format msgid "CASE statement is missing ELSE part." msgstr "В операторе CASE не хватает части ELSE." -#: pl_exec.c:2693 +#: pl_exec.c:2709 #, c-format msgid "lower bound of FOR loop cannot be null" msgstr "нижняя граница цикла FOR не может быть равна NULL" -#: pl_exec.c:2709 +#: pl_exec.c:2725 #, c-format msgid "upper bound of FOR loop cannot be null" msgstr "верхняя граница цикла FOR не может быть равна NULL" -#: pl_exec.c:2727 +#: pl_exec.c:2743 #, c-format msgid "BY value of FOR loop cannot be null" msgstr "значение BY в цикле FOR не может быть равно NULL" -#: pl_exec.c:2733 +#: pl_exec.c:2749 #, c-format msgid "BY value of FOR loop must be greater than zero" msgstr "значение BY в цикле FOR должно быть больше нуля" -#: pl_exec.c:2867 pl_exec.c:4667 +#: pl_exec.c:2883 pl_exec.c:4688 #, c-format msgid "cursor \"%s\" already in use" msgstr "курсор \"%s\" уже используется" -#: pl_exec.c:2890 pl_exec.c:4737 +#: pl_exec.c:2906 pl_exec.c:4758 #, c-format msgid "arguments given for cursor without arguments" msgstr "курсору без аргументов были переданы аргументы" -#: pl_exec.c:2909 pl_exec.c:4756 +#: pl_exec.c:2925 pl_exec.c:4777 #, c-format msgid "arguments required for cursor" msgstr "курсору требуются аргументы" -#: pl_exec.c:3000 +#: pl_exec.c:3016 #, c-format msgid "FOREACH expression must not be null" msgstr "выражение FOREACH не может быть равно NULL" -#: pl_exec.c:3015 +#: pl_exec.c:3031 #, c-format msgid "FOREACH expression must yield an array, not type %s" msgstr "выражение в FOREACH должно быть массивом, но не типом %s" -#: pl_exec.c:3032 +#: pl_exec.c:3048 #, c-format msgid "slice dimension (%d) is out of the valid range 0..%d" msgstr "размерность среза (%d) вне допустимого диапазона 0..%d" -#: pl_exec.c:3059 +#: pl_exec.c:3075 #, c-format msgid "FOREACH ... SLICE loop variable must be of an array type" msgstr "переменная цикла FOREACH ... SLICE должна быть массивом" -#: pl_exec.c:3063 +#: pl_exec.c:3079 #, c-format msgid "FOREACH loop variable must not be of an array type" msgstr "переменная цикла FOREACH не должна быть массивом" -#: pl_exec.c:3225 pl_exec.c:3282 pl_exec.c:3457 +#: pl_exec.c:3241 pl_exec.c:3298 pl_exec.c:3473 #, c-format msgid "" "cannot return non-composite value from function returning composite type" msgstr "" "функция, возвращающая составной тип, не может вернуть несоставное значение" -#: pl_exec.c:3321 pl_gram.y:3319 +#: pl_exec.c:3337 pl_gram.y:3295 #, c-format msgid "cannot use RETURN NEXT in a non-SETOF function" msgstr "" "RETURN NEXT можно использовать только в функциях, возвращающих множества" -#: pl_exec.c:3362 pl_exec.c:3494 +#: pl_exec.c:3378 pl_exec.c:3510 #, c-format msgid "wrong result type supplied in RETURN NEXT" msgstr "в RETURN NEXT передан неправильный тип результата" -#: pl_exec.c:3400 pl_exec.c:3421 +#: pl_exec.c:3416 pl_exec.c:3437 #, c-format msgid "wrong record type supplied in RETURN NEXT" msgstr "в RETURN NEXT передан неправильный тип записи" -#: pl_exec.c:3513 +#: pl_exec.c:3529 #, c-format msgid "RETURN NEXT must have a parameter" msgstr "у оператора RETURN NEXT должен быть параметр" -#: pl_exec.c:3541 pl_gram.y:3383 +#: pl_exec.c:3557 pl_gram.y:3359 #, c-format msgid "cannot use RETURN QUERY in a non-SETOF function" msgstr "" "RETURN QUERY можно использовать только в функциях, возвращающих множества" -#: pl_exec.c:3559 +#: pl_exec.c:3575 msgid "structure of query does not match function result type" msgstr "структура запроса не соответствует типу результата функции" -#: pl_exec.c:3614 pl_exec.c:4444 pl_exec.c:8685 +#: pl_exec.c:3630 pl_exec.c:4465 pl_exec.c:8724 #, c-format msgid "query string argument of EXECUTE is null" msgstr "в качестве текста запроса в EXECUTE передан NULL" -#: pl_exec.c:3699 pl_exec.c:3837 +#: pl_exec.c:3715 pl_exec.c:3853 #, c-format msgid "RAISE option already specified: %s" msgstr "этот параметр RAISE уже указан: %s" -#: pl_exec.c:3733 +#: pl_exec.c:3749 #, c-format msgid "RAISE without parameters cannot be used outside an exception handler" msgstr "" "RAISE без параметров нельзя использовать вне блока обработчика исключения" -#: pl_exec.c:3827 +#: pl_exec.c:3843 #, c-format msgid "RAISE statement option cannot be null" msgstr "параметром оператора RAISE не может быть NULL" -#: pl_exec.c:3897 +#: pl_exec.c:3913 #, c-format msgid "%s" msgstr "%s" -#: pl_exec.c:3952 +#: pl_exec.c:3968 #, c-format msgid "assertion failed" msgstr "нарушение истинности" -#: pl_exec.c:4317 pl_exec.c:4506 +#: pl_exec.c:4338 pl_exec.c:4527 #, c-format msgid "cannot COPY to/from client in PL/pgSQL" msgstr "в PL/pgSQL нельзя выполнить COPY с участием клиента" -#: pl_exec.c:4323 +#: pl_exec.c:4344 #, c-format msgid "unsupported transaction command in PL/pgSQL" msgstr "неподдерживаемая транзакционная команда в PL/pgSQL" -#: pl_exec.c:4346 pl_exec.c:4535 +#: pl_exec.c:4367 pl_exec.c:4556 #, c-format msgid "INTO used with a command that cannot return data" msgstr "INTO с командой не может возвращать данные" -#: pl_exec.c:4369 pl_exec.c:4558 +#: pl_exec.c:4390 pl_exec.c:4579 #, c-format msgid "query returned no rows" msgstr "запрос не вернул строк" -#: pl_exec.c:4391 pl_exec.c:4577 pl_exec.c:5729 +#: pl_exec.c:4412 pl_exec.c:4598 pl_exec.c:5750 #, c-format msgid "query returned more than one row" msgstr "запрос вернул несколько строк" -#: pl_exec.c:4393 +#: pl_exec.c:4414 #, c-format msgid "Make sure the query returns a single row, or use LIMIT 1." msgstr "" "Измените запрос, чтобы он выбирал одну строку, или используйте LIMIT 1." -#: pl_exec.c:4409 +#: pl_exec.c:4430 #, c-format msgid "query has no destination for result data" msgstr "в запросе нет назначения для данных результата" -#: pl_exec.c:4410 +#: pl_exec.c:4431 #, c-format msgid "If you want to discard the results of a SELECT, use PERFORM instead." msgstr "Если вам нужно отбросить результаты SELECT, используйте PERFORM." -#: pl_exec.c:4498 +#: pl_exec.c:4519 #, c-format msgid "EXECUTE of SELECT ... INTO is not implemented" msgstr "возможность выполнения SELECT ... INTO в EXECUTE не реализована" # skip-rule: space-before-ellipsis -#: pl_exec.c:4499 +#: pl_exec.c:4520 #, 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:4512 +#: pl_exec.c:4533 #, c-format msgid "EXECUTE of transaction commands is not implemented" msgstr "EXECUTE с транзакционными командами не поддерживается" -#: pl_exec.c:4822 pl_exec.c:4910 +#: pl_exec.c:4843 pl_exec.c:4931 #, c-format msgid "cursor variable \"%s\" is null" msgstr "переменная курсора \"%s\" равна NULL" -#: pl_exec.c:4833 pl_exec.c:4921 +#: pl_exec.c:4854 pl_exec.c:4942 #, c-format msgid "cursor \"%s\" does not exist" msgstr "курсор \"%s\" не существует" -#: pl_exec.c:4846 +#: pl_exec.c:4867 #, c-format msgid "relative or absolute cursor position is null" msgstr "относительная или абсолютная позиция курсора равна NULL" -#: pl_exec.c:5084 pl_exec.c:5179 +#: pl_exec.c:5105 pl_exec.c:5200 #, c-format msgid "null value cannot be assigned to variable \"%s\" declared NOT NULL" msgstr "значение NULL нельзя присвоить переменной \"%s\", объявленной NOT NULL" -#: pl_exec.c:5160 +#: pl_exec.c:5181 #, c-format msgid "cannot assign non-composite value to a row variable" msgstr "переменной типа кортеж можно присвоить только составное значение" -#: pl_exec.c:5192 +#: pl_exec.c:5213 #, c-format msgid "cannot assign non-composite value to a record variable" msgstr "переменной типа запись можно присвоить только составное значение" -#: pl_exec.c:5243 +#: pl_exec.c:5264 #, c-format msgid "cannot assign to system column \"%s\"" msgstr "присвоить значение системному столбцу \"%s\" нельзя" -#: pl_exec.c:5692 +#: pl_exec.c:5713 #, c-format msgid "query did not return data" msgstr "запрос не вернул данные" -#: pl_exec.c:5693 pl_exec.c:5705 pl_exec.c:5730 pl_exec.c:5806 pl_exec.c:5811 +#: pl_exec.c:5714 pl_exec.c:5726 pl_exec.c:5751 pl_exec.c:5827 pl_exec.c:5832 #, c-format msgid "query: %s" msgstr "запрос: %s" -#: pl_exec.c:5701 +#: pl_exec.c:5722 #, 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:5805 +#: pl_exec.c:5826 #, c-format msgid "query is SELECT INTO, but it should be plain SELECT" msgstr "запрос - не просто SELECT, а SELECT INTO" -#: pl_exec.c:5810 +#: pl_exec.c:5831 #, c-format msgid "query is not a SELECT" msgstr "запрос - не SELECT" -#: pl_exec.c:6620 pl_exec.c:6660 pl_exec.c:6700 +#: pl_exec.c:6638 pl_exec.c:6678 pl_exec.c:6718 #, 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:7111 pl_exec.c:7145 pl_exec.c:7219 pl_exec.c:7245 +#: pl_exec.c:7129 pl_exec.c:7163 pl_exec.c:7237 pl_exec.c:7263 #, c-format msgid "number of source and target fields in assignment does not match" msgstr "в левой и правой части присваивания разное количество полей" #. translator: %s represents a name of an extra check -#: pl_exec.c:7113 pl_exec.c:7147 pl_exec.c:7221 pl_exec.c:7247 +#: pl_exec.c:7131 pl_exec.c:7165 pl_exec.c:7239 pl_exec.c:7265 #, c-format msgid "%s check of %s is active." msgstr "Включена проверка %s (с %s)." -#: pl_exec.c:7117 pl_exec.c:7151 pl_exec.c:7225 pl_exec.c:7251 +#: pl_exec.c:7135 pl_exec.c:7169 pl_exec.c:7243 pl_exec.c:7269 #, c-format msgid "Make sure the query returns the exact list of columns." msgstr "" "Измените запрос, чтобы он возвращал в точности требуемый список столбцов." -#: pl_exec.c:7638 +#: pl_exec.c:7656 #, c-format msgid "record \"%s\" is not assigned yet" msgstr "записи \"%s\" не присвоено значение" -#: pl_exec.c:7639 +#: pl_exec.c:7657 #, c-format msgid "The tuple structure of a not-yet-assigned record is indeterminate." msgstr "" "Для записи, которой не присвоено значение, структура кортежа не определена." -#: pl_exec.c:8283 pl_gram.y:3442 +#: pl_exec.c:8322 pl_gram.y:3418 #, c-format msgid "variable \"%s\" is declared CONSTANT" msgstr "переменная \"%s\" объявлена как CONSTANT" @@ -582,57 +582,57 @@ msgstr "SQL-оператор" msgid "FOR over EXECUTE statement" msgstr "FOR по результатам EXECUTE" -#: pl_gram.y:487 +#: pl_gram.y:485 #, c-format msgid "block label must be placed before DECLARE, not after" msgstr "метка блока должна помещаться до DECLARE, а не после" -#: pl_gram.y:507 +#: pl_gram.y:505 #, c-format msgid "collations are not supported by type %s" msgstr "тип %s не поддерживает сортировку (COLLATION)" -#: pl_gram.y:526 +#: pl_gram.y:524 #, c-format msgid "variable \"%s\" must have a default value, since it's declared NOT NULL" msgstr "" "у переменной \"%s\" должно быть значение по умолчанию, так как она объявлена " "как NOT NULL" -#: pl_gram.y:674 pl_gram.y:689 pl_gram.y:715 +#: pl_gram.y:645 pl_gram.y:660 pl_gram.y:686 #, c-format msgid "variable \"%s\" does not exist" msgstr "переменная \"%s\" не существует" -#: pl_gram.y:733 pl_gram.y:761 +#: pl_gram.y:704 pl_gram.y:732 msgid "duplicate declaration" msgstr "повторяющееся объявление" -#: pl_gram.y:744 pl_gram.y:772 +#: pl_gram.y:715 pl_gram.y:743 #, c-format msgid "variable \"%s\" shadows a previously defined variable" msgstr "переменная \"%s\" скрывает ранее определённую переменную" -#: pl_gram.y:1044 +#: pl_gram.y:1016 #, c-format msgid "diagnostics item %s is not allowed in GET STACKED DIAGNOSTICS" msgstr "команда GET STACKED DIAGNOSTICS не принимает элемент %s" -#: pl_gram.y:1062 +#: pl_gram.y:1034 #, c-format msgid "diagnostics item %s is not allowed in GET CURRENT DIAGNOSTICS" msgstr "команда GET CURRENT DIAGNOSTICS не принимает элемент %s" -#: pl_gram.y:1157 +#: pl_gram.y:1132 msgid "unrecognized GET DIAGNOSTICS item" msgstr "нераспознанный элемент GET DIAGNOSTICS" -#: pl_gram.y:1173 pl_gram.y:3558 +#: pl_gram.y:1148 pl_gram.y:3534 #, c-format msgid "\"%s\" is not a scalar variable" msgstr "\"%s\" - не скалярная переменная" -#: pl_gram.y:1403 pl_gram.y:1597 +#: pl_gram.y:1378 pl_gram.y:1572 #, c-format msgid "" "loop variable of loop over rows must be a record variable or list of scalar " @@ -641,229 +641,229 @@ msgstr "" "переменная цикла по кортежам должна быть переменной типа запись или списком " "скалярных переменных" -#: pl_gram.y:1438 +#: pl_gram.y:1413 #, c-format msgid "cursor FOR loop must have only one target variable" msgstr "в цикле FOR с курсором должна быть только одна переменная" -#: pl_gram.y:1445 +#: pl_gram.y:1420 #, c-format msgid "cursor FOR loop must use a bound cursor variable" msgstr "" "в цикле FOR с курсором должен использоваться курсор, привязанный к запросу" -#: pl_gram.y:1536 +#: pl_gram.y:1511 #, c-format msgid "integer FOR loop must have only one target variable" msgstr "в целочисленном цикле FOR должна быть только одна переменная" -#: pl_gram.y:1570 +#: pl_gram.y:1545 #, c-format msgid "cannot specify REVERSE in query FOR loop" msgstr "в цикле FOR с запросом нельзя указать REVERSE" -#: pl_gram.y:1700 +#: pl_gram.y:1675 #, c-format msgid "loop variable of FOREACH must be a known variable or list of variables" msgstr "" "переменной цикла FOREACH должна быть известная переменная или список " "переменных" -#: pl_gram.y:1742 +#: pl_gram.y:1717 #, c-format msgid "" "there is no label \"%s\" attached to any block or loop enclosing this " "statement" msgstr "в блоке или цикле, окружающем этот оператор, нет метки \"%s\"" -#: pl_gram.y:1750 +#: pl_gram.y:1725 #, c-format msgid "block label \"%s\" cannot be used in CONTINUE" msgstr "метку блока \"%s\" нельзя использовать в CONTINUE" -#: pl_gram.y:1765 +#: pl_gram.y:1740 #, c-format msgid "EXIT cannot be used outside a loop, unless it has a label" msgstr "EXIT можно использовать вне цикла только с указанием метки" -#: pl_gram.y:1766 +#: pl_gram.y:1741 #, c-format msgid "CONTINUE cannot be used outside a loop" msgstr "CONTINUE нельзя использовать вне цикла" -#: pl_gram.y:1790 pl_gram.y:1828 pl_gram.y:1876 pl_gram.y:3005 pl_gram.y:3093 -#: pl_gram.y:3204 pl_gram.y:3957 +#: pl_gram.y:1765 pl_gram.y:1803 pl_gram.y:1851 pl_gram.y:2981 pl_gram.y:3069 +#: pl_gram.y:3180 pl_gram.y:3933 msgid "unexpected end of function definition" msgstr "неожиданный конец определения функции" -#: pl_gram.y:1896 pl_gram.y:1920 pl_gram.y:1936 pl_gram.y:1942 pl_gram.y:2067 -#: pl_gram.y:2075 pl_gram.y:2089 pl_gram.y:2184 pl_gram.y:2408 pl_gram.y:2498 -#: pl_gram.y:2656 pl_gram.y:3800 pl_gram.y:3861 pl_gram.y:3938 +#: pl_gram.y:1871 pl_gram.y:1895 pl_gram.y:1911 pl_gram.y:1917 pl_gram.y:2042 +#: pl_gram.y:2050 pl_gram.y:2064 pl_gram.y:2159 pl_gram.y:2383 pl_gram.y:2473 +#: pl_gram.y:2632 pl_gram.y:3776 pl_gram.y:3837 pl_gram.y:3914 msgid "syntax error" msgstr "ошибка синтаксиса" -#: pl_gram.y:1924 pl_gram.y:1926 pl_gram.y:2412 pl_gram.y:2414 +#: pl_gram.y:1899 pl_gram.y:1901 pl_gram.y:2387 pl_gram.y:2389 msgid "invalid SQLSTATE code" msgstr "неверный код SQLSTATE" -#: pl_gram.y:2132 +#: pl_gram.y:2107 msgid "syntax error, expected \"FOR\"" msgstr "ошибка синтаксиса, ожидался \"FOR\"" -#: pl_gram.y:2193 +#: pl_gram.y:2168 #, c-format msgid "FETCH statement cannot return multiple rows" msgstr "оператор FETCH не может вернуть несколько строк" -#: pl_gram.y:2290 +#: pl_gram.y:2265 #, c-format msgid "cursor variable must be a simple variable" msgstr "переменная-курсор должна быть простой переменной" -#: pl_gram.y:2296 +#: pl_gram.y:2271 #, c-format msgid "variable \"%s\" must be of type cursor or refcursor" msgstr "переменная \"%s\" должна быть типа cursor или refcursor" -#: pl_gram.y:2627 pl_gram.y:2638 +#: pl_gram.y:2603 pl_gram.y:2614 #, c-format msgid "\"%s\" is not a known variable" msgstr "\"%s\" - не известная переменная" -#: pl_gram.y:2744 pl_gram.y:2754 pl_gram.y:2910 +#: pl_gram.y:2720 pl_gram.y:2730 pl_gram.y:2886 msgid "mismatched parentheses" msgstr "непарные скобки" -#: pl_gram.y:2758 +#: pl_gram.y:2734 #, c-format msgid "missing \"%s\" at end of SQL expression" msgstr "отсутствует \"%s\" в конце выражения SQL" -#: pl_gram.y:2764 +#: pl_gram.y:2740 #, c-format msgid "missing \"%s\" at end of SQL statement" msgstr "отсутствует \"%s\" в конце оператора SQL" -#: pl_gram.y:2781 +#: pl_gram.y:2757 msgid "missing expression" msgstr "отсутствует выражение" -#: pl_gram.y:2783 +#: pl_gram.y:2759 msgid "missing SQL statement" msgstr "отсутствует оператор SQL" -#: pl_gram.y:2912 +#: pl_gram.y:2888 msgid "incomplete data type declaration" msgstr "неполное определение типа данных" -#: pl_gram.y:2935 +#: pl_gram.y:2911 msgid "missing data type declaration" msgstr "отсутствует определение типа данных" -#: pl_gram.y:3015 +#: pl_gram.y:2991 msgid "INTO specified more than once" msgstr "INTO указано неоднократно" -#: pl_gram.y:3185 +#: pl_gram.y:3161 msgid "expected FROM or IN" msgstr "ожидалось FROM или IN" -#: pl_gram.y:3246 +#: pl_gram.y:3222 #, c-format msgid "RETURN cannot have a parameter in function returning set" msgstr "в функции, возвращающей множество, RETURN должен быть без параметров" -#: pl_gram.y:3247 +#: pl_gram.y:3223 #, c-format msgid "Use RETURN NEXT or RETURN QUERY." msgstr "Используйте RETURN NEXT или RETURN QUERY." -#: pl_gram.y:3257 +#: pl_gram.y:3233 #, c-format msgid "RETURN cannot have a parameter in a procedure" msgstr "в процедуре RETURN должен быть без параметров" -#: pl_gram.y:3262 +#: pl_gram.y:3238 #, c-format msgid "RETURN cannot have a parameter in function returning void" msgstr "в функции, не возвращающей ничего, RETURN не должен иметь параметров" -#: pl_gram.y:3271 +#: pl_gram.y:3247 #, c-format msgid "RETURN cannot have a parameter in function with OUT parameters" msgstr "RETURN должен быть без параметров в функции с параметрами OUT" -#: pl_gram.y:3334 +#: pl_gram.y:3310 #, c-format msgid "RETURN NEXT cannot have a parameter in function with OUT parameters" msgstr "RETURN NEXT должен быть без параметров в функции с параметрами OUT" -#: pl_gram.y:3500 +#: pl_gram.y:3476 #, c-format msgid "record variable cannot be part of multiple-item INTO list" msgstr "" "переменная типа запись не может быть частью списка INTO с несколькими " "элементами" -#: pl_gram.y:3546 +#: pl_gram.y:3522 #, c-format msgid "too many INTO variables specified" msgstr "указано слишком много переменных INTO" -#: pl_gram.y:3754 +#: pl_gram.y:3730 #, c-format msgid "end label \"%s\" specified for unlabeled block" msgstr "конечная метка \"%s\" указана для непомеченного блока" -#: pl_gram.y:3761 +#: pl_gram.y:3737 #, c-format msgid "end label \"%s\" differs from block's label \"%s\"" msgstr "конечная метка \"%s\" отличается от метки блока \"%s\"" -#: pl_gram.y:3795 +#: pl_gram.y:3771 #, c-format msgid "cursor \"%s\" has no arguments" msgstr "курсор \"%s\" не имеет аргументов" -#: pl_gram.y:3809 +#: pl_gram.y:3785 #, c-format msgid "cursor \"%s\" has arguments" msgstr "курсор \"%s\" имеет аргументы" -#: pl_gram.y:3851 +#: pl_gram.y:3827 #, c-format msgid "cursor \"%s\" has no argument named \"%s\"" msgstr "курсор \"%s\" не имеет аргумента \"%s\"" -#: pl_gram.y:3871 +#: pl_gram.y:3847 #, c-format msgid "value for parameter \"%s\" of cursor \"%s\" specified more than once" msgstr "значение параметра \"%s\" курсора \"%s\" указано неоднократно" -#: pl_gram.y:3896 +#: pl_gram.y:3872 #, c-format msgid "not enough arguments for cursor \"%s\"" msgstr "недостаточно аргументов для курсора \"%s\"" -#: pl_gram.y:3903 +#: pl_gram.y:3879 #, c-format msgid "too many arguments for cursor \"%s\"" msgstr "слишком много аргументов для курсора \"%s\"" -#: pl_gram.y:3989 +#: pl_gram.y:3965 msgid "unrecognized RAISE statement option" msgstr "нераспознанный параметр оператора RAISE" -#: pl_gram.y:3993 +#: pl_gram.y:3969 msgid "syntax error, expected \"=\"" msgstr "ошибка синтаксиса, ожидалось \"=\"" -#: pl_gram.y:4034 +#: pl_gram.y:4010 #, c-format msgid "too many parameters specified for RAISE" msgstr "слишком много параметров для RAISE" -#: pl_gram.y:4038 +#: pl_gram.y:4014 #, c-format msgid "too few parameters specified for RAISE" msgstr "недостаточно параметров для RAISE" diff --git a/src/pl/plpython/po/ru.po b/src/pl/plpython/po/ru.po index 0b7259a0cc6..821113c163e 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: 2022-08-27 14:52+0300\n" +"POT-Creation-Date: 2023-08-28 07:59+0300\n" "PO-Revision-Date: 2019-08-29 15:42+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" @@ -14,8 +14,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #: plpy_cursorobject.c:72 #, c-format @@ -111,7 +111,7 @@ 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:395 +#: plpy_exec.c:369 plpy_exec.c:393 #, c-format msgid "unexpected return value from trigger procedure" msgstr "триггерная процедура вернула недопустимое значение" @@ -121,7 +121,7 @@ msgstr "триггерная процедура вернула недопуст msgid "Expected None or a string." msgstr "Ожидалось None или строка." -#: plpy_exec.c:385 +#: plpy_exec.c:383 #, c-format msgid "" "PL/Python trigger function returned \"MODIFY\" in a DELETE trigger -- ignored" @@ -129,49 +129,49 @@ msgstr "" "триггерная функция PL/Python вернула \"MODIFY\" в триггере DELETE -- " "игнорируется" -#: plpy_exec.c:396 +#: plpy_exec.c:394 #, c-format msgid "Expected None, \"OK\", \"SKIP\", or \"MODIFY\"." msgstr "Ожидалось None, \"OK\", \"SKIP\" или \"MODIFY\"." -#: plpy_exec.c:441 +#: plpy_exec.c:444 #, c-format msgid "PyList_SetItem() failed, while setting up arguments" msgstr "ошибка в PyList_SetItem() при настройке аргументов" -#: plpy_exec.c:445 +#: plpy_exec.c:448 #, c-format msgid "PyDict_SetItemString() failed, while setting up arguments" msgstr "ошибка в PyDict_SetItemString() при настройке аргументов" -#: plpy_exec.c:457 +#: plpy_exec.c:460 #, c-format msgid "" "function returning record called in context that cannot accept type record" msgstr "" "функция, возвращающая запись, вызвана в контексте, не допускающем этот тип" -#: plpy_exec.c:674 +#: plpy_exec.c:677 #, c-format msgid "while creating return value" msgstr "при создании возвращаемого значения" -#: plpy_exec.c:908 +#: plpy_exec.c:924 #, c-format msgid "TD[\"new\"] deleted, cannot modify row" msgstr "элемент TD[\"new\"] удалён -- изменить строку нельзя" -#: plpy_exec.c:913 +#: plpy_exec.c:929 #, c-format msgid "TD[\"new\"] is not a dictionary" msgstr "TD[\"new\"] - не словарь" -#: plpy_exec.c:938 +#: plpy_exec.c:954 #, c-format msgid "TD[\"new\"] dictionary key at ordinal position %d is not a string" msgstr "ключ словаря TD[\"new\"] с порядковым номером %d не является строкой" -#: plpy_exec.c:945 +#: plpy_exec.c:961 #, c-format msgid "" "key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering " @@ -180,62 +180,62 @@ msgstr "" "ключу \"%s\", найденному в TD[\"new\"], не соответствует столбец в строке, " "обрабатываемой триггером" -#: plpy_exec.c:950 +#: plpy_exec.c:966 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "присвоить значение системному атрибуту \"%s\" нельзя" -#: plpy_exec.c:955 +#: plpy_exec.c:971 #, c-format msgid "cannot set generated column \"%s\"" msgstr "присвоить значение генерируемому столбцу \"%s\" нельзя" -#: plpy_exec.c:1013 +#: plpy_exec.c:1029 #, c-format msgid "while modifying trigger row" msgstr "при изменении строки в триггере" -#: plpy_exec.c:1071 +#: plpy_exec.c:1087 #, c-format msgid "forcibly aborting a subtransaction that has not been exited" msgstr "принудительное прерывание незавершённой подтранзакции" -#: plpy_main.c:111 +#: plpy_main.c:109 #, c-format msgid "multiple Python libraries are present in session" msgstr "в сеансе представлено несколько библиотек Python" -#: plpy_main.c:112 +#: plpy_main.c:110 #, c-format msgid "Only one Python major version can be used in one session." msgstr "В одном сеансе нельзя использовать Python разных старших версий." -#: plpy_main.c:124 +#: plpy_main.c:122 #, c-format msgid "untrapped error in initialization" msgstr "необработанная ошибка при инициализации" -#: plpy_main.c:147 +#: plpy_main.c:145 #, c-format msgid "could not import \"__main__\" module" msgstr "не удалось импортировать модуль \"__main__\"" -#: plpy_main.c:156 +#: plpy_main.c:154 #, c-format msgid "could not initialize globals" msgstr "не удалось инициализировать глобальные данные" -#: plpy_main.c:354 +#: plpy_main.c:352 #, c-format msgid "PL/Python procedure \"%s\"" msgstr "процедура PL/Python \"%s\"" -#: plpy_main.c:357 +#: plpy_main.c:355 #, c-format msgid "PL/Python function \"%s\"" msgstr "функция PL/Python \"%s\"" -#: plpy_main.c:365 +#: plpy_main.c:363 #, c-format msgid "PL/Python anonymous code block" msgstr "анонимный блок кода PL/Python" @@ -299,12 +299,12 @@ msgstr "функции PL/Python не могут возвращать тип %s" msgid "PL/Python functions cannot accept type %s" msgstr "функции PL/Python не могут принимать тип %s" -#: plpy_procedure.c:397 +#: plpy_procedure.c:395 #, c-format msgid "could not compile PL/Python function \"%s\"" msgstr "не удалось скомпилировать функцию PL/Python \"%s\"" -#: plpy_procedure.c:400 +#: plpy_procedure.c:398 #, c-format msgid "could not compile anonymous PL/Python code block" msgstr "не удалось скомпилировать анонимный блок кода PL/Python" @@ -364,32 +364,32 @@ msgstr "эта подтранзакция ещё не начата" msgid "there is no subtransaction to exit from" msgstr "нет подтранзакции, которую нужно закончить" -#: plpy_typeio.c:587 +#: plpy_typeio.c:588 #, c-format msgid "could not import a module for Decimal constructor" msgstr "не удалось импортировать модуль для конструктора Decimal" -#: plpy_typeio.c:591 +#: plpy_typeio.c:592 #, c-format msgid "no Decimal attribute in module" msgstr "в модуле нет атрибута Decimal" -#: plpy_typeio.c:597 +#: plpy_typeio.c:598 #, c-format msgid "conversion from numeric to Decimal failed" msgstr "не удалось преобразовать numeric в Decimal" -#: plpy_typeio.c:911 +#: plpy_typeio.c:912 #, c-format msgid "could not create bytes representation of Python object" msgstr "не удалось создать байтовое представление объекта Python" -#: plpy_typeio.c:1048 +#: plpy_typeio.c:1049 #, c-format msgid "could not create string representation of Python object" msgstr "не удалось создать строковое представление объекта Python" -#: plpy_typeio.c:1059 +#: plpy_typeio.c:1060 #, c-format msgid "" "could not convert Python object into cstring: Python string representation " @@ -398,56 +398,45 @@ msgstr "" "не удалось преобразовать объект Python в cstring: похоже, представление " "строки Python содержит нулевые байты" -#: plpy_typeio.c:1170 +#: plpy_typeio.c:1157 #, c-format -msgid "number of array dimensions exceeds the maximum allowed (%d)" -msgstr "число размерностей массива превышает предел (%d)" +msgid "" +"return value of function with array return type is not a Python sequence" +msgstr "" +"возвращаемое значение функции с результатом-массивом не является " +"последовательностью" -#: plpy_typeio.c:1175 +#: plpy_typeio.c:1202 #, c-format msgid "could not determine sequence length for function return value" msgstr "" "не удалось определить длину последовательности в возвращаемом функцией " "значении" -#: plpy_typeio.c:1180 plpy_typeio.c:1186 -#, c-format -msgid "array size exceeds the maximum allowed" -msgstr "размер массива превышает предел" - -#: plpy_typeio.c:1214 +#: plpy_typeio.c:1222 plpy_typeio.c:1237 plpy_typeio.c:1253 #, c-format msgid "" -"return value of function with array return type is not a Python sequence" +"multidimensional arrays must have array expressions with matching dimensions" msgstr "" -"возвращаемое значение функции с результатом-массивом не является " -"последовательностью" +"для многомерных массивов должны задаваться выражения с соответствующими " +"размерностями" -#: plpy_typeio.c:1261 +#: plpy_typeio.c:1227 #, c-format -msgid "wrong length of inner sequence: has length %d, but %d was expected" -msgstr "неверная длина внутренней последовательности: %d (ожидалось: %d)" - -#: plpy_typeio.c:1263 -#, c-format -msgid "" -"To construct a multidimensional array, the inner sequences must all have the " -"same length." -msgstr "" -"Для образования многомерного массива внутренние последовательности должны " -"иметь одинаковую длину." +msgid "number of array dimensions exceeds the maximum allowed (%d)" +msgstr "число размерностей массива превышает предел (%d)" -#: plpy_typeio.c:1342 +#: plpy_typeio.c:1329 #, c-format msgid "malformed record literal: \"%s\"" msgstr "ошибка в литерале записи: \"%s\"" -#: plpy_typeio.c:1343 +#: plpy_typeio.c:1330 #, c-format msgid "Missing left parenthesis." msgstr "Отсутствует левая скобка." -#: plpy_typeio.c:1344 plpy_typeio.c:1545 +#: plpy_typeio.c:1331 plpy_typeio.c:1532 #, c-format msgid "" "To return a composite type in an array, return the composite type as a " @@ -456,12 +445,12 @@ msgstr "" "Чтобы возвратить составной тип в массиве, нужно возвратить составное " "значение в виде кортежа Python, например: \"[('foo',)]\"." -#: plpy_typeio.c:1391 +#: plpy_typeio.c:1378 #, c-format msgid "key \"%s\" not found in mapping" msgstr "ключ \"%s\" не найден в сопоставлении" -#: plpy_typeio.c:1392 +#: plpy_typeio.c:1379 #, c-format msgid "" "To return null in a column, add the value None to the mapping with the key " @@ -470,17 +459,17 @@ msgstr "" "Чтобы присвоить столбцу NULL, добавьте в сопоставление значение None с " "ключом-именем столбца." -#: plpy_typeio.c:1445 +#: plpy_typeio.c:1432 #, c-format msgid "length of returned sequence did not match number of columns in row" msgstr "длина возвращённой последовательности не равна числу столбцов в строке" -#: plpy_typeio.c:1543 +#: plpy_typeio.c:1530 #, c-format msgid "attribute \"%s\" does not exist in Python object" msgstr "в объекте Python не существует атрибут \"%s\"" -#: plpy_typeio.c:1546 +#: plpy_typeio.c:1533 #, c-format msgid "" "To return null in a column, let the returned object have an attribute named " @@ -499,6 +488,22 @@ msgstr "не удалось преобразовать объект Python Unico msgid "could not extract bytes from encoded string" msgstr "не удалось извлечь байты из кодированной строки" +#, c-format +#~ msgid "array size exceeds the maximum allowed" +#~ msgstr "размер массива превышает предел" + +#, c-format +#~ msgid "wrong length of inner sequence: has length %d, but %d was expected" +#~ msgstr "неверная длина внутренней последовательности: %d (ожидалось: %d)" + +#, c-format +#~ msgid "" +#~ "To construct a multidimensional array, the inner sequences must all have " +#~ "the same length." +#~ msgstr "" +#~ "Для образования многомерного массива внутренние последовательности должны " +#~ "иметь одинаковую длину." + #~ msgid "could not create new dictionary while building trigger arguments" #~ msgstr "не удалось создать словарь для передачи аргументов триггера" @@ -511,15 +516,6 @@ msgstr "не удалось извлечь байты из кодированн #~ msgid "could not create new dictionary" #~ msgstr "не удалось создать словарь" -#~ msgid "" -#~ "multidimensional arrays must have array expressions with matching " -#~ "dimensions. PL/Python function return value has sequence length %d while " -#~ "expected %d" -#~ msgstr "" -#~ "для многомерных массивов должны задаваться выражения с соответствующими " -#~ "размерностями. В возвращаемом функцией на PL/Python значении " -#~ "последовательность имеет длину %d (а ожидалось %d)" - #~ msgid "plan.status takes no arguments" #~ msgstr "plan.status не принимает аргументы" diff --git a/src/pl/tcl/po/fr.po b/src/pl/tcl/po/fr.po index f0f2489e8af..2af48d874a9 100644 --- a/src/pl/tcl/po/fr.po +++ b/src/pl/tcl/po/fr.po @@ -48,9 +48,7 @@ msgstr "traitement du paramètre %s" #: pltcl.c:835 #, 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\n" -"un ensemble" +msgstr "la fonction renvoyant un ensemble a été appelée dans un contexte qui n'accepte pas un ensemble" #: pltcl.c:840 #, c-format diff --git a/src/pl/tcl/po/ru.po b/src/pl/tcl/po/ru.po index 473df19c29b..8d136272242 100644 --- a/src/pl/tcl/po/ru.po +++ b/src/pl/tcl/po/ru.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: pltcl (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-08-27 14:52+0300\n" +"POT-Creation-Date: 2023-08-28 07:59+0300\n" "PO-Revision-Date: 2022-09-05 13:38+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" @@ -14,62 +14,62 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: pltcl.c:463 +#: pltcl.c:462 msgid "PL/Tcl function to call once when pltcl is first used." msgstr "Функция на PL/Tcl, вызываемая при первом использовании pltcl." -#: pltcl.c:470 +#: pltcl.c:469 msgid "PL/TclU function to call once when pltclu is first used." msgstr "Функция на PL/TclU, вызываемая при первом использовании pltclu." -#: pltcl.c:637 +#: pltcl.c:636 #, c-format msgid "function \"%s\" is in the wrong language" msgstr "Функция \"%s\" объявлена на другом языке" -#: pltcl.c:648 +#: pltcl.c:647 #, c-format msgid "function \"%s\" must not be SECURITY DEFINER" msgstr "функция \"%s\" не должна иметь характеристику SECURITY DEFINER" #. translator: %s is "pltcl.start_proc" or "pltclu.start_proc" -#: pltcl.c:682 +#: pltcl.c:681 #, c-format msgid "processing %s parameter" msgstr "обработка параметра %s" -#: pltcl.c:835 +#: pltcl.c:834 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "" "функция, возвращающая множество, вызвана в контексте, где ему нет места" -#: 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:1295 #, c-format msgid "could not split return value from trigger: %s" msgstr "разложить возвращаемое из триггера значение не удалось: %s" -#: pltcl.c:1377 pltcl.c:1807 +#: pltcl.c:1376 pltcl.c:1803 #, c-format msgid "%s" msgstr "%s" -#: pltcl.c:1378 +#: pltcl.c:1377 #, c-format msgid "" "%s\n" @@ -78,43 +78,43 @@ msgstr "" "%s\n" "в функции PL/Tcl \"%s\"" -#: pltcl.c:1542 +#: pltcl.c:1540 #, c-format msgid "trigger functions can only be called as triggers" msgstr "триггерные функции могут вызываться только в триггерах" -#: pltcl.c:1546 +#: pltcl.c:1544 #, c-format msgid "PL/Tcl functions cannot return type %s" msgstr "функции PL/Tcl не могут возвращать тип %s" -#: pltcl.c:1585 +#: pltcl.c:1583 #, c-format msgid "PL/Tcl functions cannot accept type %s" msgstr "функции PL/Tcl не могут принимать тип %s" -#: pltcl.c:1699 +#: pltcl.c:1695 #, c-format msgid "could not create internal procedure \"%s\": %s" msgstr "не удалось создать внутреннюю процедуру \"%s\": %s" -#: pltcl.c:3201 +#: pltcl.c:3199 #, c-format msgid "column name/value list must have even number of elements" msgstr "в списке имён/значений столбцов должно быть чётное число элементов" -#: pltcl.c:3219 +#: pltcl.c:3217 #, c-format msgid "column name/value list contains nonexistent column name \"%s\"" msgstr "" "список имён/значений столбцов содержит имя несуществующего столбца \"%s\"" -#: pltcl.c:3226 +#: pltcl.c:3224 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "присвоить значение системному атрибуту \"%s\" нельзя" -#: pltcl.c:3232 +#: pltcl.c:3230 #, c-format msgid "cannot set generated column \"%s\"" msgstr "присвоить значение генерируемому столбцу \"%s\" нельзя" From 0d5c894577190300c6b511d10005f6f3e6ddd246 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Wed, 6 Sep 2023 15:36:07 -0400 Subject: [PATCH 158/317] doc: PG 16 relnotes: fix subscriber role permission description Reported-by: Magnus Hagander Discussion: https://postgr.es/m/CABUevEwBXi5oqqMj429Lxjro1uu-fdKgSkJtgJS5aTOmujEGQQ@mail.gmail.com Backpatch-through: 16 only --- doc/src/sgml/release-16.sgml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/sgml/release-16.sgml b/doc/src/sgml/release-16.sgml index 0fa0d25fe12..5f174e99f67 100644 --- a/doc/src/sgml/release-16.sgml +++ b/doc/src/sgml/release-16.sgml @@ -1818,7 +1818,7 @@ Author: Robert Haas This improves security and now requires subscription owners to be either superusers or to have SET ROLE - permissions on all tables in the replication set. + permission on all roles owning tables in the replication set. The previous behavior of performing all operations as the subscription owner can be enabled with the subscription From 61e5f467e85cf0b5c10df26038ea9156f61ba13e Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Wed, 6 Sep 2023 16:52:24 -0400 Subject: [PATCH 159/317] doc: mention that to_char() values are rounded Reported-by: barsikdacat@gmail.com Diagnosed-by: Laurenz Albe Discussion: https://postgr.es/m/168991536429.626.9957835774751337210@wrigleys.postgresql.org Author: Laurenz Albe Backpatch-through: 11 --- doc/src/sgml/func.sgml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index b94827674c9..61f3397f39d 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -8505,6 +8505,14 @@ SELECT regexp_match('abc01234xyz', '(?:(.*?)(\d+)(.*)){1,1}'); + + + If the format provides fewer fractional digits than the number being + formatted, to_char() will round the number to + the specified number of fractional digits. + + + The pattern characters S, L, D, From ca242e8891035ebd8bcccd93bf3ea7a5dbd0250c Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Thu, 7 Sep 2023 11:47:42 +1200 Subject: [PATCH 160/317] Disable 031_recovery_conflict.pl in 15 and 16. This test fails due to known bugs in the test and the server. Those will be fixed in master shortly and possibly back-patched a bit later, but in the meantime it is unhelpful for package maintainers if the tests randomly fail, and it's not a good time to make complex changes in 16. This had already been done for older branches prior to 15's release. Now we're about to release 16, and Debian's test builds are regularly failing on one architecture, so let's do the same for 15 and 16. Reported-by: Christoph Berg Reported-by: Bharath Rupireddy Discussion: https://postgr.es/m/CALj2ACVr8au2J_9D88UfRCi0JdWhyQDDxAcSVav0B0irx9nXEg%40mail.gmail.com --- src/test/recovery/t/031_recovery_conflict.pl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/test/recovery/t/031_recovery_conflict.pl b/src/test/recovery/t/031_recovery_conflict.pl index 05e83fa854f..b3e7972599b 100644 --- a/src/test/recovery/t/031_recovery_conflict.pl +++ b/src/test/recovery/t/031_recovery_conflict.pl @@ -10,6 +10,7 @@ use PostgreSQL::Test::Utils; use Test::More; +plan skip_all => "disabled due to instability"; # Set up nodes my $node_primary = PostgreSQL::Test::Cluster->new('primary'); From 349583cb96ef45025c8d56b5bc5bce674bcad2cb Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Thu, 7 Sep 2023 14:12:25 +0900 Subject: [PATCH 161/317] pg_basebackup: Generate valid temporary slot names under PQbackendPID() pgbouncer can cause PQbackendPID() to return negative values due to it filling be_pid with random bytes (even these days pid_max can only be set up to 2^22 on 64b machines on Linux, for example, so this cannot happen with normal PID numbers). When this happens, pg_basebackup may generate a temporary slot name that may not be accepted by the parser, leading to spurious failures, like: pg_basebackup: error: could not send replication command ERROR: replication slot name "pg_basebackup_-1201966863" contains invalid character This commit fixes that problem by formatting the result from PQbackendPID() as an unsigned integer when creating the temporary replication slot name, so as the invalid character is gone and the command can be parsed. Author: Jelte Fennema Reviewed-by: Daniel Gustafsson, Nishant Sharma Discussion: https://postgr.es/m/CAGECzQQOGvYfp8ziF4fWQ_o8s2K7ppaoWBQnTmdakn3s-4Z=5g@mail.gmail.com Backpatch-through: 11 --- src/bin/pg_basebackup/pg_basebackup.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/bin/pg_basebackup/pg_basebackup.c b/src/bin/pg_basebackup/pg_basebackup.c index 1dc8efe0cb7..444fbff0371 100644 --- a/src/bin/pg_basebackup/pg_basebackup.c +++ b/src/bin/pg_basebackup/pg_basebackup.c @@ -651,7 +651,8 @@ StartLogStreamer(char *startpos, uint32 timeline, char *sysidentifier, * Create replication slot if requested */ if (temp_replication_slot && !replication_slot) - replication_slot = psprintf("pg_basebackup_%d", (int) PQbackendPID(param->bgconn)); + replication_slot = psprintf("pg_basebackup_%u", + (unsigned int) PQbackendPID(param->bgconn)); if (temp_replication_slot || create_slot) { if (!CreateReplicationSlot(param->bgconn, replication_slot, NULL, From 2301066b945658042294d372ce6d679749a274ad Mon Sep 17 00:00:00 2001 From: Daniel Gustafsson Date: Fri, 8 Sep 2023 11:34:43 +0200 Subject: [PATCH 162/317] doc: Extend documentation of PG_TEST_EXTRA Extend the PG_TEST_EXTRA documentation to mention resource intensive tests as well. The previous wording only mentioned special software and security in the main paragraph, with resource usage listed on one of the tests in the list. Backpatch to v15 where f47ed79cc8 added wal_consistenct_checking as a PG_TEST_EXTRA target. Author: Nazir Bilal Yavuz Discussion: https://postgr.es/m/CAN55FZ0OthTuBdiNkaX2BvxuHdK4Y1MVEb8_uEuD1yHMPmT9Og@mail.gmail.com Backpatch-through: 15 --- doc/src/sgml/regress.sgml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/src/sgml/regress.sgml b/doc/src/sgml/regress.sgml index de065c0564a..69f627d7f43 100644 --- a/doc/src/sgml/regress.sgml +++ b/doc/src/sgml/regress.sgml @@ -253,11 +253,11 @@ make check-world -j8 >/dev/null Some test suites are not run by default, either because they are not secure - to run on a multiuser system or because they require special software. You - can decide which test suites to run additionally by setting the - make or environment variable - PG_TEST_EXTRA to a whitespace-separated list, for - example: + to run on a multiuser system, because they require special software or + because they are resource intensive. You can decide which test suites to + run additionally by setting the make or environment + variable PG_TEST_EXTRA to a whitespace-separated list, + for example: make check-world PG_TEST_EXTRA='kerberos ldap ssl load_balance' From 9501539223e1f6831ee40d5a9ea856de3df18751 Mon Sep 17 00:00:00 2001 From: Masahiko Sawada Date: Fri, 8 Sep 2023 22:50:56 +0900 Subject: [PATCH 163/317] Stabilize subscription stats test. The new test added by commit 68a59f9e9 disables the subscription and manually drops the associated replication slot. However, since disabling the subsubscription doesn't wait for a walsender to release the replication slot and exit, pg_drop_replication_slot() could fail. Avoid failure by adding a wait for the replication slot to become inactive. Reported-by: Hou Zhijie, as per buildfarm Reviewed-by: Hou Zhijie Discussion: https://postgr.es/m/OS0PR01MB571682316378379AA34854F694E9A%40OS0PR01MB5716.jpnprd01.prod.outlook.com Backpatch-through: 15 --- src/test/subscription/t/026_stats.pl | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/test/subscription/t/026_stats.pl b/src/test/subscription/t/026_stats.pl index 0bcda006cd7..a033588008f 100644 --- a/src/test/subscription/t/026_stats.pl +++ b/src/test/subscription/t/026_stats.pl @@ -285,6 +285,14 @@ sub create_sub_pub_w_errors $db, qq(SELECT pg_stat_have_stats('subscription', 0, $sub2_oid))), qq(f), qq(Subscription stats for subscription '$sub2_name' should be removed.)); + +# Since disabling subscription doesn't wait for walsender to release the replication +# slot and exit, wait for the slot to become inactive. +$node_publisher->poll_query_until( + $db, + qq(SELECT EXISTS (SELECT 1 FROM pg_replication_slots WHERE slot_name = '$sub2_name' AND active_pid IS NULL)) +) or die "slot never became inactive"; + $node_publisher->safe_psql($db, qq(SELECT pg_drop_replication_slot('$sub2_name'))); From 238c6dfc925337b0ea3179d9c17b25ea1d40b41a Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Fri, 8 Sep 2023 17:25:15 -0400 Subject: [PATCH 164/317] doc: remove mention of backslash doubling in strings Reported-by: Laurenz Albe Discussion: https://postgr.es/m/0b03f91a875fb44182f5bed9e1d404ed6d138066.camel@cybertec.at Author: Laurenz Albe Backpatch-through: 11 --- doc/src/sgml/syntax.sgml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/sgml/syntax.sgml b/doc/src/sgml/syntax.sgml index 5668ab01433..3ba844057fb 100644 --- a/doc/src/sgml/syntax.sgml +++ b/doc/src/sgml/syntax.sgml @@ -555,7 +555,7 @@ U&'d!0061t!+000061' UESCAPE '!' While the standard syntax for specifying string constants is usually convenient, it can be difficult to understand when the desired string - contains many single quotes or backslashes, since each of those must + contains many single quotes, since each of those must be doubled. To allow more readable queries in such situations, PostgreSQL provides another way, called dollar quoting, to write string constants. From 3baf526563fcb9edb011445ff07f5f98b7eac8c3 Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Mon, 11 Sep 2023 14:08:53 +0200 Subject: [PATCH 165/317] Translation updates Source-Git-URL: ssh://git@git.postgresql.org/pgtranslation/messages.git Source-Git-Hash: 06696f05da005029a2326e1cbb234917a9286914 --- src/backend/po/es.po | 2251 +-- src/backend/po/ko.po | 21931 +++++++++++++--------- src/bin/initdb/po/el.po | 489 +- src/bin/initdb/po/ko.po | 703 +- src/bin/initdb/po/zh_TW.po | 1373 ++ src/bin/pg_archivecleanup/po/ko.po | 75 +- src/bin/pg_basebackup/po/el.po | 715 +- src/bin/pg_basebackup/po/ko.po | 1141 +- src/bin/pg_checksums/po/ko.po | 180 +- src/bin/pg_config/po/el.po | 58 +- src/bin/pg_config/po/ko.po | 44 +- src/bin/pg_controldata/po/ko.po | 132 +- src/bin/pg_ctl/po/el.po | 13 +- src/bin/pg_ctl/po/ko.po | 134 +- src/bin/pg_ctl/po/zh_TW.po | 983 + src/bin/pg_dump/po/el.po | 1184 +- src/bin/pg_dump/po/ko.po | 1675 +- src/bin/pg_dump/po/zh_TW.po | 3300 ++++ src/bin/pg_resetwal/po/ko.po | 334 +- src/bin/pg_rewind/po/el.po | 290 +- src/bin/pg_rewind/po/ko.po | 755 +- src/bin/pg_test_fsync/po/ko.po | 145 +- src/bin/pg_test_timing/po/ko.po | 49 +- src/bin/pg_upgrade/po/ko.po | 1709 +- src/bin/pg_verifybackup/po/el.po | 212 +- src/bin/pg_verifybackup/po/ko.po | 302 +- src/bin/pg_waldump/po/el.po | 256 +- src/bin/pg_waldump/po/ko.po | 502 +- src/bin/psql/po/el.po | 2988 +-- src/bin/psql/po/ko.po | 4418 ++--- src/bin/scripts/po/el.po | 432 +- src/bin/scripts/po/ko.po | 778 +- src/interfaces/ecpg/preproc/po/ko.po | 286 +- src/interfaces/ecpg/preproc/po/zh_TW.po | 631 +- src/interfaces/libpq/po/el.po | 1781 +- src/interfaces/libpq/po/ja.po | 6 +- src/interfaces/libpq/po/ko.po | 1775 +- src/pl/plperl/po/ko.po | 108 +- src/pl/plpgsql/src/po/ko.po | 370 +- src/pl/plpython/po/el.po | 161 +- src/pl/plpython/po/ko.po | 213 +- src/pl/tcl/po/ko.po | 41 +- 42 files changed, 32923 insertions(+), 22000 deletions(-) create mode 100644 src/bin/initdb/po/zh_TW.po create mode 100644 src/bin/pg_ctl/po/zh_TW.po create mode 100644 src/bin/pg_dump/po/zh_TW.po diff --git a/src/backend/po/es.po b/src/backend/po/es.po index a05b7adee99..8e8907ef8f1 100644 --- a/src/backend/po/es.po +++ b/src/backend/po/es.po @@ -62,8 +62,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-09 09:10+0000\n" -"PO-Revision-Date: 2022-11-04 13:18+0100\n" +"POT-Creation-Date: 2023-05-22 07:10+0000\n" +"PO-Revision-Date: 2023-08-09 14:56+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" "Language: es\n" @@ -100,9 +100,9 @@ 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 an integer" -msgid "value for compression option \"%s\" must be a boolean" -msgstr "el valor para la opción de compresión «%s» debe ser un entero" +#| msgid "value for compression option \"%s\" must be a boolean" +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" #: ../common/compression.c:379 #, c-format @@ -120,10 +120,9 @@ msgid "compression algorithm \"%s\" does not accept a worker count" msgstr "el algoritmo de compresión «%s» no acepta una cantidad de procesos ayudantes" #: ../common/compression.c:408 -#, fuzzy, c-format -#| msgid "compression algorithm \"%s\" does not accept a worker count" +#, c-format msgid "compression algorithm \"%s\" does not support long-distance mode" -msgstr "el algoritmo de compresión «%s» no acepta una cantidad de procesos ayudantes" +msgstr "el algoritmo de compresión «%s» no acepta modo de larga distancia" #: ../common/config_info.c:134 ../common/config_info.c:142 #: ../common/config_info.c:150 ../common/config_info.c:158 @@ -148,7 +147,7 @@ msgstr "no se pudo abrir archivo «%s» para lectura: %m" #: 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 -#: storage/file/buffile.c:471 storage/file/copydir.c:185 +#: 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 #, c-format msgid "could not read file \"%s\": %m" @@ -224,14 +223,14 @@ msgstr "" #: 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:4599 utils/misc/guc.c:4649 +#: utils/init/miscinit.c:1741 utils/misc/guc.c:4600 utils/misc/guc.c:4650 #, 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:707 +#: access/transam/xlog.c:8751 access/transam/xlogfuncs.c:708 #: backup/basebackup_server.c:175 backup/basebackup_server.c:268 #: postmaster/postmaster.c:5570 postmaster/syslogger.c:1571 #: postmaster/syslogger.c:1584 postmaster/syslogger.c:1597 @@ -251,7 +250,7 @@ msgstr "no se pudo escribir el archivo «%s»: %m" #: 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:4369 +#: utils/misc/guc.c:4370 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m" @@ -279,8 +278,8 @@ msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m" #: utils/adt/pg_locale.c:633 utils/fmgr/dfmgr.c:229 utils/hash/dynahash.c:514 #: utils/hash/dynahash.c:614 utils/hash/dynahash.c:1111 utils/mb/mbutils.c:402 #: utils/mb/mbutils.c:430 utils/mb/mbutils.c:815 utils/mb/mbutils.c:842 -#: utils/misc/guc.c:639 utils/misc/guc.c:664 utils/misc/guc.c:1052 -#: utils/misc/guc.c:4347 utils/misc/tzparser.c:476 utils/mmgr/aset.c:445 +#: utils/misc/guc.c:640 utils/misc/guc.c:665 utils/misc/guc.c:1053 +#: utils/misc/guc.c:4348 utils/misc/tzparser.c:476 utils/mmgr/aset.c:445 #: utils/mmgr/dsa.c:713 utils/mmgr/dsa.c:735 utils/mmgr/dsa.c:816 #: utils/mmgr/generation.c:205 utils/mmgr/mcxt.c:1046 utils/mmgr/mcxt.c:1082 #: utils/mmgr/mcxt.c:1120 utils/mmgr/mcxt.c:1158 utils/mmgr/mcxt.c:1246 @@ -307,16 +306,14 @@ msgid "OpenSSL failure" msgstr "falla de openSSL" #: ../common/exec.c:172 -#, fuzzy, c-format -#| msgid "invalid binary \"%s\"" +#, c-format msgid "invalid binary \"%s\": %m" -msgstr "el binario «%s» no es válido" +msgstr "binario «%s» no válido: %m" #: ../common/exec.c:215 -#, fuzzy, c-format -#| msgid "could not read binary \"%s\"" +#, c-format msgid "could not read binary \"%s\": %m" -msgstr "no se pudo leer el binario «%s»" +msgstr "no se pudo leer el binario «%s»: %m" #: ../common/exec.c:223 #, c-format @@ -324,10 +321,9 @@ msgid "could not find a \"%s\" to execute" msgstr "no se pudo encontrar un «%s» para ejecutar" #: ../common/exec.c:250 -#, fuzzy, c-format -#| msgid "could not reopen file \"%s\" as stderr: %m" +#, c-format msgid "could not resolve path \"%s\" to absolute form: %m" -msgstr "no se pudo reabrir «%s» para error estándar: %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 @@ -464,10 +460,9 @@ msgid "Unicode escape values cannot be used for code point values above 007F whe msgstr "Los valores de escape Unicode no se pueden utilizar para valores de código superiores a 007F cuando la codificación no es UTF8." #: ../common/jsonapi.c:1187 -#, fuzzy, c-format -#| msgid "Unicode escape values cannot be used for code point values above 007F when the encoding is not UTF8." +#, c-format msgid "Unicode escape value could not be translated to the server's encoding %s." -msgstr "Los valores de escape Unicode no se pueden utilizar para valores de código superiores a 007F cuando la codificación no es UTF8." +msgstr "El valor de escape Unicode no pudo ser traducido a la codificación del servidor %s." #: ../common/jsonapi.c:1190 jsonpath_scan.l:630 #, c-format @@ -502,24 +497,23 @@ 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:3117 utils/misc/guc.c:3153 -#: utils/misc/guc.c:3223 utils/misc/guc.c:4546 utils/misc/guc.c:6845 -#: utils/misc/guc.c:6886 +#: 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 #, c-format msgid "invalid value for parameter \"%s\": \"%s\"" msgstr "valor no válido para el parámetro «%s»: «%s»" #: ../common/percentrepl.c:80 ../common/percentrepl.c:86 -#, fuzzy, c-format -#| msgid "there is no escaped character: \"%s\"" +#, c-format msgid "String ends unexpectedly after escape character \"%%\"." -msgstr "no hay carácter escapado: «%s»" +msgstr "La cadena termina inesperadamente luego del carácter de escape: «%%»" #: ../common/percentrepl.c:119 ../common/percentrepl.c:125 #, fuzzy, c-format -#| msgid "index \"%s\" contains unexpected zero page at block %u" -msgid "String contains unexpected escape sequence \"%c\"." -msgstr "índice «%s» contiene páginas vacías no esperadas en el bloque %u" +#| msgid "String contains unexpected escape sequence \"%c\"." +msgid "String contains unexpected placeholder \"%%%c\"." +msgstr "La cadena contiene la secuencia de escape inesperada «%c»." #: ../common/pgfnames.c:74 #, c-format @@ -566,11 +560,19 @@ msgstr "no se pudo re-ejecutar con el token restringido: código de error %lu" msgid "could not get exit code from subprocess: error code %lu" msgstr "no se pudo obtener el código de salida del subproceso»: código de error %lu" -#: ../common/rmtree.c:95 -#, fuzzy, c-format -#| msgid "could not find file \"%s\": %m" -msgid "could not unlink file \"%s\": %m" -msgstr "no se pudo encontrar el archivo «%s»: %m" +#: ../common/rmtree.c:95 access/heap/rewriteheap.c:1248 +#: access/transam/twophase.c:1703 access/transam/xlogarchive.c:120 +#: access/transam/xlogarchive.c:393 postmaster/postmaster.c:1143 +#: postmaster/syslogger.c:1537 replication/logical/origin.c:591 +#: replication/logical/reorderbuffer.c:4526 +#: replication/logical/snapbuild.c:1691 replication/logical/snapbuild.c:2121 +#: replication/slot.c:1902 storage/file/fd.c:789 storage/file/fd.c:3275 +#: storage/file/fd.c:3337 storage/file/reinit.c:262 storage/ipc/dsm.c:316 +#: storage/smgr/md.c:380 storage/smgr/md.c:439 storage/sync/sync.c:250 +#: utils/time/snapmgr.c:1608 +#, 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 @@ -744,31 +746,31 @@ 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:1025 access/brin/brin.c:1126 access/gin/ginfast.c:1035 +#: access/brin/brin.c:1036 access/brin/brin.c:1137 access/gin/ginfast.c:1035 #: access/transam/xlogfuncs.c:189 access/transam/xlogfuncs.c:214 -#: access/transam/xlogfuncs.c:246 access/transam/xlogfuncs.c:285 -#: access/transam/xlogfuncs.c:306 access/transam/xlogfuncs.c:327 -#: access/transam/xlogfuncs.c:397 access/transam/xlogfuncs.c:455 +#: access/transam/xlogfuncs.c:247 access/transam/xlogfuncs.c:286 +#: access/transam/xlogfuncs.c:307 access/transam/xlogfuncs.c:328 +#: access/transam/xlogfuncs.c:398 access/transam/xlogfuncs.c:456 #, c-format msgid "recovery is in progress" msgstr "la recuperación está en proceso" -#: access/brin/brin.c:1026 access/brin/brin.c:1127 +#: access/brin/brin.c:1037 access/brin/brin.c:1138 #, 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:1031 access/brin/brin.c:1132 +#: access/brin/brin.c:1042 access/brin/brin.c:1143 #, c-format msgid "block number out of range: %lld" msgstr "número de bloque fuera de rango: %lld" -#: access/brin/brin.c:1075 access/brin/brin.c:1158 +#: access/brin/brin.c:1086 access/brin/brin.c:1169 #, c-format msgid "\"%s\" is not a BRIN index" msgstr "«%s» no es un índice BRIN" -#: access/brin/brin.c:1091 access/brin/brin.c:1174 +#: access/brin/brin.c:1102 access/brin/brin.c:1185 #, c-format msgid "could not open parent table of index \"%s\"" msgstr "no se pudo abrir la tabla padre del índice «%s»" @@ -784,18 +786,18 @@ 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:940 -#: utils/adt/timestamp.c:1517 utils/adt/timestamp.c:2716 -#: utils/adt/timestamp.c:2786 utils/adt/timestamp.c:2803 -#: utils/adt/timestamp.c:2856 utils/adt/timestamp.c:2895 -#: utils/adt/timestamp.c:3192 utils/adt/timestamp.c:3197 -#: utils/adt/timestamp.c:3202 utils/adt/timestamp.c:3252 -#: utils/adt/timestamp.c:3259 utils/adt/timestamp.c:3266 -#: utils/adt/timestamp.c:3286 utils/adt/timestamp.c:3293 -#: utils/adt/timestamp.c:3300 utils/adt/timestamp.c:3330 -#: utils/adt/timestamp.c:3338 utils/adt/timestamp.c:3382 -#: utils/adt/timestamp.c:3804 utils/adt/timestamp.c:3928 -#: utils/adt/timestamp.c:4448 +#: 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" @@ -1070,7 +1072,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:3997 utils/adt/arrayfuncs.c:6684 +#: utils/adt/arrayfuncs.c:3996 utils/adt/arrayfuncs.c:6683 #: utils/adt/rowtypes.c:984 #, c-format msgid "could not identify a comparison function for type %s" @@ -1149,19 +1151,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:332 -#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1063 +#: access/hash/hashfunc.c:279 access/hash/hashfunc.c:333 +#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1064 #, 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:333 catalog/heap.c:668 +#: access/hash/hashfunc.c:280 access/hash/hashfunc.c:334 catalog/heap.c:668 #: catalog/heap.c:674 commands/createas.c:206 commands/createas.c:515 #: commands/indexcmds.c:2023 commands/tablecmds.c:17490 commands/view.c:86 #: regex/regc_pg_locale.c:243 utils/adt/formatting.c:1648 #: utils/adt/formatting.c:1770 utils/adt/formatting.c:1893 utils/adt/like.c:191 #: utils/adt/like_support.c:1025 utils/adt/varchar.c:739 -#: utils/adt/varchar.c:1010 utils/adt/varchar.c:1064 utils/adt/varlena.c:1518 +#: 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." msgstr "Use la cláusula COLLATE para establecer el ordenamiento explícitamente." @@ -1262,7 +1264,7 @@ msgstr "no se pudo escribir al archivo «%s», se escribió %d de %d: %m" #: access/transam/timeline.c:329 access/transam/timeline.c:481 #: access/transam/xlog.c:2971 access/transam/xlog.c:3162 #: access/transam/xlog.c:3938 access/transam/xlog.c:8740 -#: access/transam/xlogfuncs.c:701 backup/basebackup_server.c:151 +#: 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 @@ -1283,171 +1285,158 @@ msgstr "no se pudo truncar el archivo «%s» a %u: %m" #: postmaster/postmaster.c:4564 postmaster/postmaster.c:4574 #: 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:546 +#: 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:4330 -#: utils/misc/guc.c:4361 utils/misc/guc.c:5489 utils/misc/guc.c:5507 +#: utils/init/miscinit.c:1616 utils/init/miscinit.c:1624 utils/misc/guc.c:4331 +#: utils/misc/guc.c:4362 utils/misc/guc.c:5490 utils/misc/guc.c:5508 #: utils/time/snapmgr.c:1268 utils/time/snapmgr.c:1275 #, c-format msgid "could not write to file \"%s\": %m" msgstr "no se pudo escribir a archivo «%s»: %m" -#: access/heap/rewriteheap.c:1248 access/transam/twophase.c:1703 -#: access/transam/xlogarchive.c:120 access/transam/xlogarchive.c:393 -#: postmaster/postmaster.c:1143 postmaster/syslogger.c:1537 -#: replication/logical/origin.c:591 replication/logical/reorderbuffer.c:4526 -#: replication/logical/snapbuild.c:1691 replication/logical/snapbuild.c:2121 -#: replication/slot.c:1902 storage/file/fd.c:789 storage/file/fd.c:3275 -#: storage/file/fd.c:3337 storage/file/reinit.c:262 storage/ipc/dsm.c:316 -#: storage/smgr/md.c:380 storage/smgr/md.c:439 storage/sync/sync.c:250 -#: utils/time/snapmgr.c:1608 -#, c-format -msgid "could not remove file \"%s\": %m" -msgstr "no se pudo eliminar el archivo «%s»: %m" - -#: access/heap/vacuumlazy.c:481 +#: access/heap/vacuumlazy.c:482 #, c-format msgid "aggressively vacuuming \"%s.%s.%s\"" msgstr "haciendo vacuum agresivamente a «%s.%s.%s»" -#: access/heap/vacuumlazy.c:486 +#: access/heap/vacuumlazy.c:487 #, c-format msgid "vacuuming \"%s.%s.%s\"" msgstr "haciendo vacuum a «%s.%s.%s»" -#: access/heap/vacuumlazy.c:634 +#: access/heap/vacuumlazy.c:635 #, 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:645 +#: access/heap/vacuumlazy.c:646 #, 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:647 +#: access/heap/vacuumlazy.c:648 #, 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:652 +#: access/heap/vacuumlazy.c:653 #, 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:654 +#: access/heap/vacuumlazy.c:655 #, 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:661 +#: access/heap/vacuumlazy.c:662 #, 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:668 +#: access/heap/vacuumlazy.c:669 #, 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:674 +#: access/heap/vacuumlazy.c:675 #, 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:680 +#: access/heap/vacuumlazy.c:681 #, c-format msgid "removable cutoff: %u, which was %d XIDs old when operation ended\n" msgstr "" -#: access/heap/vacuumlazy.c:687 +#: access/heap/vacuumlazy.c:688 #, 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:695 +#: access/heap/vacuumlazy.c:696 #, 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:698 +#: access/heap/vacuumlazy.c:699 #, fuzzy, c-format #| msgid "%u pages from table (%.2f%% of total) had %lld dead item identifiers removed\n" 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" -#: access/heap/vacuumlazy.c:706 +#: access/heap/vacuumlazy.c:707 msgid "index scan not needed: " msgstr "recorrido de índice no necesario: " -#: access/heap/vacuumlazy.c:708 +#: access/heap/vacuumlazy.c:709 msgid "index scan needed: " msgstr "recorrido de índice necesario: " -#: access/heap/vacuumlazy.c:710 +#: access/heap/vacuumlazy.c:711 #, 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:715 +#: access/heap/vacuumlazy.c:716 msgid "index scan bypassed: " msgstr "recorrido de índice pasado por alto: " -#: access/heap/vacuumlazy.c:717 +#: access/heap/vacuumlazy.c:718 msgid "index scan bypassed by failsafe: " msgstr "recorrido de índice pasado por alto debido a modo failsafe: " -#: access/heap/vacuumlazy.c:719 +#: access/heap/vacuumlazy.c:720 #, 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:734 +#: access/heap/vacuumlazy.c:735 #, 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:746 commands/analyze.c:795 +#: access/heap/vacuumlazy.c:747 commands/analyze.c:795 #, 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:756 commands/analyze.c:798 +#: access/heap/vacuumlazy.c:757 commands/analyze.c:798 #, 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:759 commands/analyze.c:800 +#: access/heap/vacuumlazy.c:760 commands/analyze.c:800 #, 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:764 +#: access/heap/vacuumlazy.c:765 #, 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:768 commands/analyze.c:804 +#: access/heap/vacuumlazy.c:769 commands/analyze.c:804 #, c-format msgid "system usage: %s" msgstr "uso de sistema: %s" -#: access/heap/vacuumlazy.c:2481 +#: access/heap/vacuumlazy.c:2482 #, 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:2641 +#: access/heap/vacuumlazy.c:2642 #, 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:2644 +#: access/heap/vacuumlazy.c:2645 #, 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:2645 +#: access/heap/vacuumlazy.c:2646 #, c-format msgid "" "Consider increasing configuration parameter \"maintenance_work_mem\" or \"autovacuum_work_mem\".\n" @@ -1456,67 +1445,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:2890 +#: access/heap/vacuumlazy.c:2891 #, 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:2960 +#: access/heap/vacuumlazy.c:2961 #, c-format msgid "table \"%s\": truncated %u to %u pages" msgstr "tabla «%s»: truncadas %u a %u páginas" -#: access/heap/vacuumlazy.c:3022 +#: access/heap/vacuumlazy.c:3023 #, 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:3182 +#: access/heap/vacuumlazy.c:3183 #, 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:3398 +#: access/heap/vacuumlazy.c:3399 #, 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:3401 +#: access/heap/vacuumlazy.c:3402 #, 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:3405 +#: access/heap/vacuumlazy.c:3406 #, c-format msgid "while scanning relation \"%s.%s\"" msgstr "recorriendo la relación «%s.%s»" -#: access/heap/vacuumlazy.c:3413 +#: access/heap/vacuumlazy.c:3414 #, 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:3416 +#: access/heap/vacuumlazy.c:3417 #, 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:3420 +#: access/heap/vacuumlazy.c:3421 #, c-format msgid "while vacuuming relation \"%s.%s\"" msgstr "mientras se hacía «vacuum» a la relación «%s.%s»" -#: access/heap/vacuumlazy.c:3425 commands/vacuumparallel.c:1074 +#: access/heap/vacuumlazy.c:3426 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:3430 commands/vacuumparallel.c:1080 +#: access/heap/vacuumlazy.c:3431 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:3436 +#: access/heap/vacuumlazy.c:3437 #, c-format msgid "while truncating relation \"%s.%s\" to %u blocks" msgstr "error mientras se truncaba la relación «%s.%s» a %u bloques" @@ -2196,97 +2185,97 @@ 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:3490 +#: access/transam/xact.c:3489 #, 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:3500 +#: access/transam/xact.c:3499 #, 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:3510 +#: access/transam/xact.c:3509 #, fuzzy, c-format #| msgid "%s cannot be executed from a function" msgid "%s cannot be executed within a pipeline" msgstr "%s no puede ser ejecutado desde una función" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3520 +#: access/transam/xact.c:3519 #, 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:3591 access/transam/xact.c:3916 -#: access/transam/xact.c:3995 access/transam/xact.c:4118 -#: access/transam/xact.c:4269 access/transam/xact.c:4338 -#: access/transam/xact.c:4449 +#: access/transam/xact.c: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 #, 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:3802 +#: access/transam/xact.c:3801 #, c-format msgid "there is already a transaction in progress" msgstr "ya hay una transacción en curso" -#: access/transam/xact.c:3921 access/transam/xact.c:4000 -#: access/transam/xact.c:4123 +#: access/transam/xact.c:3920 access/transam/xact.c:3999 +#: access/transam/xact.c:4122 #, c-format msgid "there is no transaction in progress" msgstr "no hay una transacción en curso" -#: access/transam/xact.c:4011 +#: access/transam/xact.c:4010 #, 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:4134 +#: access/transam/xact.c:4133 #, c-format msgid "cannot abort during a parallel operation" msgstr "no se puede abortar durante una operación paralela" -#: access/transam/xact.c:4233 +#: access/transam/xact.c:4232 #, 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:4320 +#: access/transam/xact.c:4319 #, 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:4330 access/transam/xact.c:4381 -#: access/transam/xact.c:4441 access/transam/xact.c:4490 +#: access/transam/xact.c:4329 access/transam/xact.c:4380 +#: access/transam/xact.c:4440 access/transam/xact.c:4489 #, c-format msgid "savepoint \"%s\" does not exist" msgstr "no existe el «savepoint» «%s»" -#: access/transam/xact.c:4387 access/transam/xact.c:4496 +#: access/transam/xact.c:4386 access/transam/xact.c:4495 #, 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:4429 +#: access/transam/xact.c:4428 #, 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:4557 +#: access/transam/xact.c:4556 #, c-format msgid "cannot start subtransactions during a parallel operation" msgstr "no se pueden iniciar subtransacciones durante una operación paralela" -#: access/transam/xact.c:4625 +#: access/transam/xact.c:4624 #, c-format msgid "cannot commit subtransactions during a parallel operation" msgstr "no se pueden comprometer subtransacciones durante una operación paralela" -#: access/transam/xact.c:5271 +#: access/transam/xact.c:5270 #, 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" @@ -2592,16 +2581,14 @@ 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 -#, fuzzy, 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" +#, 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 completado: se escribió %d buffers (%.1f%%); %d archivo(s) de WAL añadido(s), %d eliminado(s), %d reciclado(s); escritura=%ld.%03d s, sincronización=%ld.%03d s, total=%ld.%03d s; archivos sincronizados=%d, más largo=%ld.%03d s, promedio=%ld.%03d s; distancia=%d kB, estimado=%d kB" +msgstr "" #: access/transam/xlog.c:6324 -#, fuzzy, 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" +#, 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 completado: se escribió %d buffers (%.1f%%); %d archivo(s) de WAL añadido(s), %d eliminado(s), %d reciclado(s); escritura=%ld.%03d s, sincronización=%ld.%03d s, total=%ld.%03d s; archivos sincronizados=%d, más largo=%ld.%03d s, promedio=%ld.%03d s; distancia=%d kB, estimado=%d kB" +msgstr "" #: access/transam/xlog.c:6762 #, c-format @@ -2659,7 +2646,7 @@ msgid "WAL level not sufficient for making an online backup" msgstr "el nivel de WAL no es suficiente para hacer un respaldo en línea" #: access/transam/xlog.c:8282 access/transam/xlog.c:8605 -#: access/transam/xlogfuncs.c:253 +#: 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." @@ -2787,82 +2774,77 @@ msgstr "no hay respaldo en curso" msgid "Did you call pg_backup_start()?" msgstr "¿Invocó pg_backup_start()?" -#: access/transam/xlogfuncs.c:190 access/transam/xlogfuncs.c:247 -#: access/transam/xlogfuncs.c:286 access/transam/xlogfuncs.c:307 -#: access/transam/xlogfuncs.c:328 +#: access/transam/xlogfuncs.c:190 access/transam/xlogfuncs.c:248 +#: access/transam/xlogfuncs.c:287 access/transam/xlogfuncs.c:308 +#: access/transam/xlogfuncs.c:329 #, c-format msgid "WAL control functions cannot be executed during recovery." msgstr "Las funciones de control de WAL no pueden ejecutarse durante la recuperación." -#: access/transam/xlogfuncs.c:215 -#, fuzzy, c-format -#| msgid "%s cannot be executed during recovery." -msgid "pg_log_standby_snapshot() cannot be executed during recovery." +#: access/transam/xlogfuncs.c:215 access/transam/xlogfuncs.c:399 +#: access/transam/xlogfuncs.c:457 +#, c-format +msgid "%s cannot be executed during recovery." msgstr "No se puede ejecutar %s durante la recuperación." # FIXME see logical.c:81 -#: access/transam/xlogfuncs.c:220 +#: access/transam/xlogfuncs.c:221 #, fuzzy, c-format #| msgid "replication slots can only be used if wal_level >= replica" msgid "pg_log_standby_snapshot() can only be used if wal_level >= replica" msgstr "los slots de replicación sólo pueden usarse si wal_level >= replica" -#: access/transam/xlogfuncs.c:252 +#: access/transam/xlogfuncs.c:253 #, c-format msgid "WAL level not sufficient for creating a restore point" msgstr "el nivel de WAL no es suficiente para crear un punto de recuperación" -#: access/transam/xlogfuncs.c:260 +#: access/transam/xlogfuncs.c:261 #, c-format msgid "value too long for restore point (maximum %d characters)" msgstr "el valor es demasiado largo para un punto de recuperación (máximo %d caracteres)" -#: access/transam/xlogfuncs.c:398 access/transam/xlogfuncs.c:456 -#, c-format -msgid "%s cannot be executed during recovery." -msgstr "No se puede ejecutar %s durante la recuperación." - -#: access/transam/xlogfuncs.c:495 +#: access/transam/xlogfuncs.c:496 #, fuzzy, c-format #| msgid "invalid locale name \"%s\"" msgid "invalid WAL file name \"%s\"" msgstr "nombre de configuración regional «%s» no es válido" -#: access/transam/xlogfuncs.c:531 access/transam/xlogfuncs.c:561 -#: access/transam/xlogfuncs.c:585 access/transam/xlogfuncs.c:608 -#: access/transam/xlogfuncs.c:688 +#: access/transam/xlogfuncs.c:532 access/transam/xlogfuncs.c:562 +#: access/transam/xlogfuncs.c:586 access/transam/xlogfuncs.c:609 +#: access/transam/xlogfuncs.c:689 #, c-format msgid "recovery is not in progress" msgstr "la recuperación no está en proceso" -#: access/transam/xlogfuncs.c:532 access/transam/xlogfuncs.c:562 -#: access/transam/xlogfuncs.c:586 access/transam/xlogfuncs.c:609 -#: access/transam/xlogfuncs.c:689 +#: access/transam/xlogfuncs.c:533 access/transam/xlogfuncs.c:563 +#: access/transam/xlogfuncs.c:587 access/transam/xlogfuncs.c:610 +#: access/transam/xlogfuncs.c:690 #, c-format msgid "Recovery control functions can only be executed during recovery." msgstr "Las funciones de control de recuperación sólo pueden ejecutarse durante la recuperación." -#: access/transam/xlogfuncs.c:537 access/transam/xlogfuncs.c:567 +#: access/transam/xlogfuncs.c:538 access/transam/xlogfuncs.c:568 #, c-format msgid "standby promotion is ongoing" msgstr "la promoción del standby está en curso" -#: access/transam/xlogfuncs.c:538 access/transam/xlogfuncs.c:568 +#: access/transam/xlogfuncs.c:539 access/transam/xlogfuncs.c:569 #, c-format msgid "%s cannot be executed after promotion is triggered." msgstr "%s no puede ser ejecutado después que una promoción es solicitada." -#: access/transam/xlogfuncs.c:694 +#: access/transam/xlogfuncs.c:695 #, c-format msgid "\"wait_seconds\" must not be negative or zero" msgstr "«wait_seconds» no puede ser negativo o cero" -#: access/transam/xlogfuncs.c:714 storage/ipc/signalfuncs.c:260 +#: access/transam/xlogfuncs.c:715 storage/ipc/signalfuncs.c:260 #, c-format msgid "failed to send signal to postmaster: %m" msgstr "no se pudo enviar señal a postmaster: %m" -#: access/transam/xlogfuncs.c:750 +#: access/transam/xlogfuncs.c:751 #, c-format msgid "server did not promote within %d second" msgid_plural "server did not promote within %d seconds" @@ -2875,10 +2857,9 @@ 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 -#, fuzzy, c-format -#| msgid "invalid record length at %X/%X: wanted %u, got %u" +#, c-format msgid "invalid record offset at %X/%X: expected at least %u, got %u" -msgstr "largo de registro no válido en %X/%X: se esperaba %u, se obtuvo %u" +msgstr "desplazamiento de registro no válido en %X/%X: se esperaba al menos %u, se obtuvo %u" #: access/transam/xlogreader.c:635 #, c-format @@ -2886,10 +2867,9 @@ msgid "contrecord is requested by %X/%X" msgstr "contrecord solicitado por %X/%X" #: access/transam/xlogreader.c:676 access/transam/xlogreader.c:1123 -#, fuzzy, c-format -#| msgid "invalid record length at %X/%X: wanted %u, got %u" +#, 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 %u, se obtuvo %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 @@ -2932,16 +2912,14 @@ 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 -#, fuzzy, c-format -#| msgid "invalid magic number %04X in log segment %s, offset %u" +#, 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 archivo %s, posición %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 -#, fuzzy, c-format -#| msgid "invalid info bits %04X in log segment %s, offset %u" +#, c-format msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u" -msgstr "info bits %04X no válidos en archivo %s, posición %u" +msgstr "info bits %04X no válidos en segment WAL %s, LSN %X/%X, posición %u" #: access/transam/xlogreader.c:1261 #, c-format @@ -2959,16 +2937,14 @@ msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page 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 -#, fuzzy, c-format -#| msgid "unexpected pageaddr %X/%X in log segment %s, offset %u" +#, c-format msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u" -msgstr "pageaddr %X/%X inesperado en archivo %s, posición %u" +msgstr "pageaddr %X/%X inesperado en segmento WAL %s, LSN %X/%X, posición %u" #: access/transam/xlogreader.c:1333 -#, fuzzy, c-format -#| msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u" +#, 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 archivo %s, posición %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 #, c-format @@ -3367,23 +3343,21 @@ msgstr "Ejecute pg_wal_replay_resume() para continuar." #: access/transam/xlogrecovery.c:3121 #, fuzzy, c-format -#| msgid "unexpected timeline ID %u in log segment %s, offset %u" +#| msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u" msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%X, offset %u" -msgstr "ID de timeline %u inesperado en archivo %s, posición %u" +msgstr "pageaddr %X/%X inesperado en segmento WAL %s, LSN %X/%X, posición %u" -# XXX why talk about "log segment" instead of "file"? #: access/transam/xlogrecovery.c:3329 #, fuzzy, c-format -#| msgid "could not read from log segment %s, offset %u: %m" +#| msgid "could not read from file %s, offset %d: %m" msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: %m" -msgstr "no se pudo leer del archivo de segmento %s, posición %u: %m" +msgstr "no se pudo leer desde el archivo «%s» en la posición %d: %m" -# XXX why talk about "log segment" instead of "file"? #: access/transam/xlogrecovery.c:3336 #, fuzzy, c-format -#| msgid "could not read from log segment %s, offset %u: read %d of %zu" +#| msgid "could not read from file %s, offset %d: read %d of %d" msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: read %d of %zu" -msgstr "no se pudo leer del archivo de segmento %s, posición %u: leídos %d de %zu" +msgstr "no se pudo leer del archivo %s, posición %d: leídos %d de %d" #: access/transam/xlogrecovery.c:3976 #, fuzzy, c-format @@ -3492,8 +3466,8 @@ msgstr "A lo más uno de recovery_target, recovery_target_lsn, recovery_target_n msgid "The only allowed value is \"immediate\"." msgstr "El único valor permitido es «immediate»." -#: access/transam/xlogrecovery.c:4853 utils/adt/timestamp.c:185 -#: utils/adt/timestamp.c:438 +#: access/transam/xlogrecovery.c:4853 utils/adt/timestamp.c:186 +#: utils/adt/timestamp.c:439 #, c-format msgid "timestamp out of range: \"%s\"" msgstr "timestamp fuera de rango: «%s»" @@ -3503,19 +3477,17 @@ msgstr "timestamp fuera de rango: «%s»" msgid "recovery_target_timeline is not a valid number." msgstr "recovery_target_timeline no es un número válido." -# XXX why talk about "log segment" instead of "file"? #: access/transam/xlogutils.c:1039 #, fuzzy, c-format -#| msgid "could not read from log segment %s, offset %d: %m" +#| msgid "could not read from file %s, offset %d: %m" msgid "could not read from WAL segment %s, offset %d: %m" -msgstr "no se pudo leer del archivo de segmento %s, posición %d: %m" +msgstr "no se pudo leer desde el archivo «%s» en la posición %d: %m" -# XXX why talk about "log segment" instead of "file"? #: access/transam/xlogutils.c:1046 #, fuzzy, c-format -#| msgid "could not read from log segment %s, offset %d: read %d of %d" +#| msgid "could not read from file %s, offset %d: read %d of %d" msgid "could not read from WAL segment %s, offset %d: read %d of %d" -msgstr "no se pudo leer del archivo de segmento %s, posición %d: leídos %d de %d" +msgstr "no se pudo leer del archivo %s, posición %d: leídos %d de %d" #: archive/shell_archive.c:96 #, c-format @@ -3766,7 +3738,7 @@ 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:919 +#: storage/smgr/md.c:612 storage/smgr/md.c:862 #, c-format msgid "Check free disk space." msgstr "Verifique el espacio libre en disco." @@ -3801,10 +3773,9 @@ msgid "could not set compression worker count to %d: %s" msgstr "no se pudo definir la cantidad de procesos ayudantes de compresión a %d: %s" #: backup/basebackup_zstd.c:129 -#, fuzzy, c-format -#| msgid "could not set compression level %d: %s" +#, c-format msgid "could not set compression flag for %s: %s" -msgstr "no se pudo definir el nivel de compresión %d: %s" +msgstr "no se pudo definir una opción de compresión para %s: %s" #: bootstrap/bootstrap.c:243 postmaster/postmaster.c:721 tcop/postgres.c:3819 #, c-format @@ -3999,7 +3970,7 @@ msgstr "No puede utilizar la cláusula IN SCHEMA cuando se utiliza GRANT / REVOK #: 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:2783 +#: utils/adt/ruleutils.c:2799 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" msgstr "no existe la columna «%s» en la relación «%s»" @@ -4535,10 +4506,10 @@ msgstr "no se puede eliminar %s porque otros objetos dependen de él" #: commands/tablecmds.c:14386 commands/tablespace.c:466 commands/user.c:1309 #: commands/vacuum.c:212 commands/view.c:446 libpq/auth.c:326 #: replication/logical/applyparallelworker.c:1044 replication/syncrep.c:1017 -#: storage/lmgr/deadlock.c:1135 storage/lmgr/proc.c:1358 utils/misc/guc.c:3119 -#: utils/misc/guc.c:3155 utils/misc/guc.c:3225 utils/misc/guc.c:6739 -#: utils/misc/guc.c:6773 utils/misc/guc.c:6807 utils/misc/guc.c:6850 -#: utils/misc/guc.c:6892 +#: 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 #, c-format msgid "%s" msgstr "%s" @@ -4645,9 +4616,9 @@ msgstr "Una relación tiene un tipo asociado del mismo nombre, de modo que debe #: catalog/heap.c:1205 #, fuzzy, c-format -#| msgid "toast relfilenode value not set when in binary upgrade mode" +#| msgid "pg_enum OID value not set when in binary upgrade mode" msgid "toast relfilenumber value not set when in binary upgrade mode" -msgstr "el relfilenode de toast no se definió en modo de actualización binaria" +msgstr "el valor de OID de pg_enum no se definió en modo de actualización binaria" #: catalog/heap.c:1216 #, c-format @@ -4656,9 +4627,9 @@ msgstr "el valor de OID de heap de pg_class no se definió en modo de actualizac #: catalog/heap.c:1226 #, fuzzy, c-format -#| msgid "relfilenode value not set when in binary upgrade mode" +#| msgid "pg_enum OID value not set when in binary upgrade mode" msgid "relfilenumber value not set when in binary upgrade mode" -msgstr "el valor de relfilende no se definió en modo de actualización binaria" +msgstr "el valor de OID de pg_enum no se definió en modo de actualización binaria" #: catalog/heap.c:2119 #, c-format @@ -4830,9 +4801,9 @@ msgstr "el valor de OID de índice de pg_class no se definió en modo de actuali #: catalog/index.c:938 utils/cache/relcache.c:3730 #, fuzzy, c-format -#| msgid "index relfilenode value not set when in binary upgrade mode" +#| msgid "pg_enum OID value not set when in binary upgrade mode" msgid "index relfilenumber value not set when in binary upgrade mode" -msgstr "el valor de relfilenode de índice no se definió en modo de actualización binaria" +msgstr "el valor de OID de pg_enum no se definió en modo de actualización binaria" #: catalog/index.c:2240 #, c-format @@ -4844,12 +4815,12 @@ msgstr "DROP INDEX CONCURRENTLY debe ser la primera acción en una transacción" 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:3622 +#: catalog/index.c:3658 commands/indexcmds.c:3623 #, 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:3502 commands/indexcmds.c:3646 +#: catalog/index.c:3674 commands/indexcmds.c:3503 commands/indexcmds.c:3647 #: commands/tablecmds.c:3402 #, c-format msgid "cannot move system relation \"%s\"" @@ -4944,13 +4915,13 @@ msgstr "no existe la plantilla de búsqueda en texto «%s»" 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:825 parser/parse_target.c:1246 +#: catalog/namespace.c:2880 parser/parse_expr.c:832 parser/parse_target.c:1246 #, 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:832 parser/parse_target.c:1253 -#: gram.y:18621 gram.y:18661 +#: catalog/namespace.c:2886 parser/parse_expr.c:839 parser/parse_target.c:1253 +#: gram.y:18570 gram.y:18610 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "el nombre no es válido (demasiados puntos): %s" @@ -5156,10 +5127,9 @@ msgid "The current user must have the %s attribute." msgstr "" #: catalog/objectaddress.c:2566 -#, fuzzy, c-format -#| msgid "must have admin option on role \"%s\"" +#, c-format msgid "The current user must have the %s option on role \"%s\"." -msgstr "debe tener opción de admin en rol «%s»" +msgstr "" #: catalog/objectaddress.c:2580 #, c-format @@ -5175,7 +5145,7 @@ msgstr "tipo de objeto «%s» no reconocido" #: catalog/objectaddress.c:2941 #, c-format msgid "column %s of %s" -msgstr " columna %s de %s" +msgstr "columna %s de %s" #: catalog/objectaddress.c:2956 #, c-format @@ -5965,22 +5935,22 @@ msgstr "no se puede eliminar el valor por omisión de funciones existentes" msgid "cannot change data type of existing parameter default value" msgstr "no se puede cambiar el tipo de dato del valor por omisión de un parámetro" -#: catalog/pg_proc.c:753 +#: catalog/pg_proc.c:752 #, c-format msgid "there is no built-in function named \"%s\"" msgstr "no hay ninguna función interna llamada «%s»" -#: catalog/pg_proc.c:846 +#: catalog/pg_proc.c:845 #, c-format msgid "SQL functions cannot return type %s" msgstr "las funciones SQL no pueden retornar el tipo %s" -#: catalog/pg_proc.c:861 +#: catalog/pg_proc.c:860 #, c-format msgid "SQL functions cannot have arguments of type %s" msgstr "las funciones SQL no pueden tener argumentos de tipo %s" -#: catalog/pg_proc.c:988 executor/functions.c:1466 +#: catalog/pg_proc.c:987 executor/functions.c:1466 #, c-format msgid "SQL function \"%s\"" msgstr "función SQL «%s»" @@ -6115,7 +6085,7 @@ msgstr[1] "%d objetos en %s" msgid "cannot drop objects owned by %s because they are required by the database system" msgstr "no se puede eliminar objetos de propiedad de %s porque son requeridos por el sistema" -#: catalog/pg_shdepend.c:1497 +#: catalog/pg_shdepend.c:1498 #, c-format msgid "cannot reassign ownership of objects owned by %s because they are required by the database system" msgstr "no se puede reasignar la propiedad de objetos de %s porque son requeridos por el sistema" @@ -6179,7 +6149,7 @@ msgstr "Falla al crear un tipo de multirango para el tipo «%s»." msgid "You can manually specify a multirange type name using the \"multirange_type_name\" attribute." msgstr "Puede especificar manualmente un nombre para el tipo de multirango usando el atributo «multirange_type_name»." -#: catalog/storage.c:505 storage/buffer/bufmgr.c:1146 +#: catalog/storage.c:505 storage/buffer/bufmgr.c:1145 #, c-format msgid "invalid page in block %u of relation %s" msgstr "la página no es válida en el bloque %u de la relación %s" @@ -6299,7 +6269,7 @@ msgstr "ya existe el lenguaje «%s»" msgid "publication \"%s\" already exists" msgstr "la publicación «%s» ya existe" -#: commands/alter.c:101 commands/subscriptioncmds.c:655 +#: commands/alter.c:101 commands/subscriptioncmds.c:657 #, c-format msgid "subscription \"%s\" already exists" msgstr "la suscripción «%s» ya existe" @@ -6339,16 +6309,16 @@ msgstr "la configuración de búsqueda en texto «%s» ya existe en el esquema msgid "must be superuser to rename %s" msgstr "debe ser superusuario para cambiar el nombre de «%s»" -#: commands/alter.c:259 commands/subscriptioncmds.c:634 -#: commands/subscriptioncmds.c:1114 commands/subscriptioncmds.c:1196 -#: commands/subscriptioncmds.c:1828 +#: commands/alter.c:259 commands/subscriptioncmds.c:636 +#: commands/subscriptioncmds.c:1116 commands/subscriptioncmds.c:1198 +#: commands/subscriptioncmds.c:1830 #, c-format msgid "password_required=false is superuser-only" msgstr "" -#: commands/alter.c:260 commands/subscriptioncmds.c:635 -#: commands/subscriptioncmds.c:1115 commands/subscriptioncmds.c:1197 -#: commands/subscriptioncmds.c:1829 +#: commands/alter.c:260 commands/subscriptioncmds.c:637 +#: commands/subscriptioncmds.c:1117 commands/subscriptioncmds.c:1199 +#: commands/subscriptioncmds.c:1831 #, c-format msgid "Subscriptions with the password_required option set to false may only be created or modified by the superuser." msgstr "" @@ -6622,9 +6592,9 @@ msgstr "debe especificarse el parámetro «lc_collate»" #: commands/collationcmds.c:279 commands/dbcommands.c:1074 #, fuzzy, c-format -#| msgid "merging definition of column \"%s\" for child \"%s\"" +#| msgid "Using language tag \"%s\" for ICU locale \"%s\".\n" msgid "using standard form \"%s\" for locale \"%s\"" -msgstr "mezclando la definición de la columna «%s» en la tabla hija «%s»" +msgstr "Usando la marca de lenguaje «%s» para la configuración regional ICU «%s».\n" #: commands/collationcmds.c:298 #, c-format @@ -6674,12 +6644,12 @@ msgstr "cambiando versión de %s a %s" msgid "version has not changed" msgstr "la versión no ha cambiado" -#: commands/collationcmds.c:493 commands/dbcommands.c:2626 +#: commands/collationcmds.c:494 commands/dbcommands.c:2626 #, c-format msgid "database with OID %u does not exist" msgstr "no existe la base de datos con OID %u" -#: commands/collationcmds.c:513 +#: commands/collationcmds.c:515 #, c-format msgid "collation with OID %u does not exist" msgstr "no existe el ordenamiento (collation) con OID %u" @@ -7779,7 +7749,7 @@ 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:2881 +#: utils/adt/ruleutils.c:2897 #, c-format msgid "\"%s\" is an aggregate function" msgstr "«%s» es una función de agregación" @@ -8119,7 +8089,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:3097 +#: utils/misc/guc.c:3098 #, c-format msgid "parameter \"%s\" requires a Boolean value" msgstr "el parámetro «%s» requiere un valor lógico (booleano)" @@ -8932,7 +8902,7 @@ 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:2662 parser/parse_type.c:568 parser/parse_utilcmd.c:3774 +#: parser/parse_expr.c:2722 parser/parse_type.c:568 parser/parse_utilcmd.c:3774 #: utils/adt/misc.c:586 #, c-format msgid "collations are not supported by type %s" @@ -9010,8 +8980,8 @@ msgstr "la tabla «%s» no tiene índices que puedan ser reindexados concurrente msgid "table \"%s\" has no indexes to reindex" msgstr "la tabla «%s» no tiene índices para reindexar" -#: commands/indexcmds.c:2969 commands/indexcmds.c:3483 -#: commands/indexcmds.c:3611 +#: commands/indexcmds.c:2969 commands/indexcmds.c:3484 +#: commands/indexcmds.c:3612 #, c-format msgid "cannot reindex system catalogs concurrently" msgstr "no se pueden reindexar catálogos de sistema concurrentemente" @@ -9021,57 +8991,57 @@ msgstr "no se pueden reindexar catálogos de sistema concurrentemente" msgid "can only reindex the currently open database" msgstr "sólo se puede reindexar la base de datos actualmente abierta" -#: commands/indexcmds.c:3090 +#: commands/indexcmds.c:3091 #, 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:3123 +#: commands/indexcmds.c:3124 #, c-format msgid "cannot move system relations, skipping all" msgstr "no se puede mover las relaciones de sistema, omitiendo todas" -#: commands/indexcmds.c:3169 +#: commands/indexcmds.c:3170 #, c-format msgid "while reindexing partitioned table \"%s.%s\"" msgstr "al reindexar tabla particionada «%s.%s»" -#: commands/indexcmds.c:3172 +#: commands/indexcmds.c:3173 #, c-format msgid "while reindexing partitioned index \"%s.%s\"" msgstr "al reindexar índice particionado «%s.%s»" -#: commands/indexcmds.c:3363 commands/indexcmds.c:4219 +#: commands/indexcmds.c:3364 commands/indexcmds.c:4220 #, c-format msgid "table \"%s.%s\" was reindexed" msgstr "la tabla «%s.%s» fue reindexada" -#: commands/indexcmds.c:3515 commands/indexcmds.c:3567 +#: commands/indexcmds.c:3516 commands/indexcmds.c:3568 #, c-format msgid "cannot reindex invalid index \"%s.%s\" concurrently, skipping" msgstr "no se puede reindexar el índice no válido «%s.%s» concurrentemente, omitiendo" -#: commands/indexcmds.c:3521 +#: commands/indexcmds.c:3522 #, 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:3676 +#: commands/indexcmds.c:3677 #, c-format msgid "cannot reindex this type of relation concurrently" msgstr "no se puede reindexar este tipo de relación concurrentemente" -#: commands/indexcmds.c:3697 +#: commands/indexcmds.c:3698 #, 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:4200 commands/indexcmds.c:4212 +#: commands/indexcmds.c:4201 commands/indexcmds.c:4213 #, c-format msgid "index \"%s.%s\" was reindexed" msgstr "el índice «%s.%s» fue reindexado" -#: commands/indexcmds.c:4202 commands/indexcmds.c:4221 +#: commands/indexcmds.c:4203 commands/indexcmds.c:4222 #, c-format msgid "%s." msgstr "%s." @@ -9087,7 +9057,7 @@ msgstr "no se puede bloquear registros en la tabla «%s»" 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:18370 +#: commands/matview.c:200 gram.y:18307 #, c-format msgid "%s and %s options cannot be used together" msgstr "las opciones %s y %s no pueden usarse juntas" @@ -9596,9 +9566,9 @@ msgstr "wal_level es insuficiente para publicar cambios lógicos" #: commands/publicationcmds.c:869 #, fuzzy, c-format -#| msgid "Set wal_level to logical before creating subscriptions." +#| msgid "Change wal_level to be logical or higher." msgid "Set wal_level to \"logical\" before creating subscriptions." -msgstr "Cambie wal_level a logical antes de crear suscripciones." +msgstr "Cambie wal_level a logical o superior." #: commands/publicationcmds.c:965 commands/publicationcmds.c:973 #, fuzzy, c-format @@ -9623,10 +9593,9 @@ msgid "cannot add schema to publication \"%s\"" msgstr "no se puede agregar el esquema «%s» a la partición" #: commands/publicationcmds.c:1301 -#, fuzzy, c-format -#| msgid "Schema cannot be added if any table that specifies column list is already part of the publication." +#, c-format msgid "Schemas cannot be added if any tables that specify a column list are already part of the publication." -msgstr "Un esquema no puede añadirse si cualquiera tabla que especifica una lista de columnas es parte de la publicación" +msgstr "" #: commands/publicationcmds.c:1349 #, c-format @@ -9965,9 +9934,9 @@ msgstr "parámetro de suscripción no reconocido: «%s»" #: commands/subscriptioncmds.c:327 replication/pgoutput/pgoutput.c:398 #, fuzzy, c-format -#| msgid "unrecognized \"publish\" value: \"%s\"" +#| msgid "unrecognized section name: \"%s\"" msgid "unrecognized origin value: \"%s\"" -msgstr "valor de «publish» no reconocido: «%s»" +msgstr "nombre de sección «%s» no reconocido" #: commands/subscriptioncmds.c:350 #, fuzzy, c-format @@ -10005,136 +9974,141 @@ msgstr[1] "no existe la publicación «%s»" #: commands/subscriptioncmds.c:614 #, fuzzy, c-format -#| msgid "must be superuser to create subscriptions" -msgid "must have privileges of pg_create_subscription to create subscriptions" -msgstr "debe ser superusuario para crear suscripciones" +#| msgid "permission denied for subscription %s" +msgid "permission denied to create subscription" +msgstr "permiso denegado a la suscripción %s" -#: commands/subscriptioncmds.c:743 commands/subscriptioncmds.c:876 +#: commands/subscriptioncmds.c:615 +#, c-format +msgid "Only roles with privileges of the \"%s\" role may create subscriptions." +msgstr "" + +#: commands/subscriptioncmds.c:745 commands/subscriptioncmds.c:878 #: replication/logical/tablesync.c:1304 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" -#: commands/subscriptioncmds.c:814 +#: commands/subscriptioncmds.c:816 #, c-format msgid "created replication slot \"%s\" on publisher" msgstr "se creó el slot de replicación «%s» en el editor (publisher)" -#: commands/subscriptioncmds.c:826 +#: commands/subscriptioncmds.c:828 #, fuzzy, c-format #| msgid "subscription has no replication slot set" msgid "subscription was created, but is not connected" msgstr "la suscripción no tiene un slot de replicación establecido" -#: commands/subscriptioncmds.c:827 +#: 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 "" -#: commands/subscriptioncmds.c:1094 commands/subscriptioncmds.c:1500 -#: commands/subscriptioncmds.c:1883 utils/cache/lsyscache.c:3642 +#: commands/subscriptioncmds.c:1096 commands/subscriptioncmds.c:1502 +#: commands/subscriptioncmds.c:1885 utils/cache/lsyscache.c:3642 #, c-format msgid "subscription \"%s\" does not exist" msgstr "no existe la suscripción «%s»" -#: commands/subscriptioncmds.c:1150 +#: commands/subscriptioncmds.c:1152 #, c-format msgid "cannot set %s for enabled subscription" msgstr "no se puede establecer %s para la suscripción activada" -#: commands/subscriptioncmds.c:1225 +#: commands/subscriptioncmds.c:1227 #, 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:1269 commands/subscriptioncmds.c:1320 +#: commands/subscriptioncmds.c:1271 commands/subscriptioncmds.c:1322 #, 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:1270 +#: commands/subscriptioncmds.c:1272 #, c-format msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)." msgstr "Use ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)." -#: commands/subscriptioncmds.c:1279 commands/subscriptioncmds.c:1334 +#: commands/subscriptioncmds.c:1281 commands/subscriptioncmds.c:1336 #, fuzzy, c-format #| msgid "ALTER SUBSCRIPTION with refresh is not allowed for disabled subscriptions" 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" -#: commands/subscriptioncmds.c:1280 +#: commands/subscriptioncmds.c:1282 #, fuzzy, c-format #| msgid "Use ALTER SUBSCRIPTION ... REFRESH with copy_data = false, or use DROP/CREATE SUBSCRIPTION." 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:1322 +#: commands/subscriptioncmds.c:1324 #, fuzzy, c-format #| msgid "Use views instead." msgid "Use %s instead." msgstr "Use vistas en su lugar." #. translator: %s is an SQL ALTER command -#: commands/subscriptioncmds.c:1336 +#: commands/subscriptioncmds.c:1338 #, fuzzy, c-format #| msgid "Use ALTER SUBSCRIPTION ... REFRESH with copy_data = false, or use DROP/CREATE SUBSCRIPTION." 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." -#: commands/subscriptioncmds.c:1358 +#: commands/subscriptioncmds.c:1360 #, 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:1383 +#: commands/subscriptioncmds.c:1385 #, fuzzy, c-format #| msgid "ALTER SUBSCRIPTION ... REFRESH is not allowed for disabled subscriptions" 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" -#: commands/subscriptioncmds.c:1384 +#: commands/subscriptioncmds.c:1386 #, 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:1419 +#: commands/subscriptioncmds.c:1421 #, 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:1504 +#: commands/subscriptioncmds.c:1506 #, c-format msgid "subscription \"%s\" does not exist, skipping" msgstr "no existe la suscripción «%s», omitiendo" -#: commands/subscriptioncmds.c:1773 +#: commands/subscriptioncmds.c:1775 #, c-format msgid "dropped replication slot \"%s\" on publisher" msgstr "eliminando el slot de replicación «%s» en editor (publisher)" -#: commands/subscriptioncmds.c:1782 commands/subscriptioncmds.c:1790 +#: commands/subscriptioncmds.c:1784 commands/subscriptioncmds.c:1792 #, 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:1915 +#: commands/subscriptioncmds.c:1917 #, c-format msgid "subscription with OID %u does not exist" msgstr "no existe la suscripción con OID %u" -#: commands/subscriptioncmds.c:1986 commands/subscriptioncmds.c:2111 +#: commands/subscriptioncmds.c:1988 commands/subscriptioncmds.c:2113 #, 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:2022 +#: commands/subscriptioncmds.c:2024 #, c-format msgid "subscription \"%s\" requested copy_data with origin = NONE but might copy data that had a different origin" msgstr "" -#: commands/subscriptioncmds.c:2024 +#: 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." @@ -10142,50 +10116,50 @@ 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:2027 +#: commands/subscriptioncmds.c:2029 #, c-format msgid "Verify that initial data copied from the publisher tables did not come from other origins." msgstr "" -#: commands/subscriptioncmds.c:2133 replication/logical/tablesync.c:875 +#: 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\"" 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»" -#: commands/subscriptioncmds.c:2183 +#: commands/subscriptioncmds.c:2185 #, 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:2186 +#: commands/subscriptioncmds.c:2188 #, c-format msgid "Use %s to disassociate the subscription from the slot." msgstr "Use %s para disociar la suscripción del slot." -#: commands/subscriptioncmds.c:2216 +#: commands/subscriptioncmds.c:2218 #, 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:2260 +#: commands/subscriptioncmds.c:2262 #, 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:2274 +#: commands/subscriptioncmds.c:2276 #, 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:2285 +#: commands/subscriptioncmds.c:2287 #, 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:2342 +#: commands/subscriptioncmds.c:2344 #, fuzzy, c-format #| msgid "%s requires a Boolean value" msgid "%s requires a Boolean value or \"parallel\"" @@ -11827,9 +11801,9 @@ 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 "Foreign tables cannot have TRUNCATE triggers." +#| msgid "relation \"%s\" does not exist" msgid "relation \"%s\" cannot have triggers" -msgstr "Las tablas foráneas no pueden tener disparadores TRUNCATE." +msgstr "no existe la relación «%s»" #: commands/trigger.c:387 #, c-format @@ -12034,8 +12008,8 @@ msgstr "el registro a ser actualizado ya fue modificado por una operación dispa 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:229 -#: executor/nodeLockRows.c:238 executor/nodeModifyTable.c:308 +#: 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 #, c-format @@ -12523,7 +12497,7 @@ msgid "Only roles with the %s attribute may create roles with %s." msgstr "" #: commands/user.c:355 commands/user.c:1393 commands/user.c:1400 -#: utils/adt/acl.c:5409 utils/adt/acl.c:5415 gram.y:16790 gram.y:16836 +#: utils/adt/acl.c:5409 utils/adt/acl.c:5415 gram.y:16727 gram.y:16773 #, c-format msgid "role name \"%s\" is reserved" msgstr "el nombre de rol «%s» está reservado" @@ -12601,10 +12575,9 @@ msgid "permission denied to alter setting" msgstr "se ha denegado el permiso para crear el rol" #: commands/user.c:1077 -#, fuzzy, c-format -#| msgid "must be superuser to alter settings globally" +#, c-format msgid "Only roles with the %s attribute may alter settings globally." -msgstr "debe ser superusuario para alterar parámetros globalmente" +msgstr "" #: commands/user.c:1101 commands/user.c:1173 commands/user.c:1179 #, c-format @@ -12690,7 +12663,7 @@ msgstr "" 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:1261 +#: commands/user.c:1525 gram.y:1263 #, c-format msgid "unrecognized role option \"%s\"" msgstr "opción de rol «%s» no reconocida" @@ -12749,15 +12722,15 @@ msgstr "la opción de grant no puede ser otorgada de vuelta a quien la otorgó" #: commands/user.c:1896 #, fuzzy, c-format -#| msgid "role \"%s\" is already a member of role \"%s\"" +#| msgid "role \"%s\" is a member of role \"%s\"" msgid "role \"%s\" has already been granted membership in role \"%s\" by role \"%s\"" -msgstr "el rol «%s» ya es un miembro del rol «%s»" +msgstr "el rol «%s» es un miembro del rol «%s»" #: commands/user.c:2031 #, fuzzy, c-format -#| msgid "role \"%s\" is not a member of role \"%s\"" +#| msgid "role \"%s\" cannot be a member of any role" msgid "role \"%s\" has not been granted membership in role \"%s\" by role \"%s\"" -msgstr "el rol «%s» no es un miembro del rol «%s»" +msgstr "el rol «%s» no puede ser miembro de ningún rol" #: commands/user.c:2131 #, c-format @@ -12809,9 +12782,9 @@ msgstr "" #: commands/user.c:2265 #, fuzzy, c-format -#| msgid "must have admin option on role \"%s\"" +#| msgid "cannot use the \"%s\" option with the \"%s\" option" msgid "The grantor must have the %s option on role \"%s\"." -msgstr "debe tener opción de admin en rol «%s»" +msgstr "no se puede usar la opción «%s» junto con la opción «%s»" #: commands/user.c:2273 #, fuzzy, c-format @@ -12954,10 +12927,9 @@ msgstr "" "Puede que además necesite comprometer o abortar transacciones preparadas antiguas, o eliminar slots de replicación añejos." #: commands/vacuum.c:1169 -#, fuzzy, c-format -#| msgid "oldest multixact is far in the past" +#, c-format msgid "cutoff for freezing multixacts is far in the past" -msgstr "multixact más antiguo es demasiado antiguo" +msgstr "" #: commands/vacuum.c:1897 #, c-format @@ -13213,19 +13185,19 @@ 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:2485 +#: executor/execCurrent.c:280 executor/execExprInterp.c:2497 #, 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:2497 +#: executor/execCurrent.c:292 executor/execExprInterp.c:2509 #, 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:4156 executor/execExprInterp.c:4173 -#: executor/execExprInterp.c:4272 executor/nodeModifyTable.c:197 +#: 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 #, c-format @@ -13242,7 +13214,7 @@ msgstr "La consulta tiene demasiadas columnas." 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:4174 +#: executor/execExpr.c:651 executor/execExprInterp.c:4247 #: executor/nodeModifyTable.c:209 #, c-format msgid "Table has type %s at ordinal position %d, but query expects %s." @@ -13263,7 +13235,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:2576 executor/execSRF.c:719 parser/parse_func.c:138 +#: executor/execExpr.c:2587 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" @@ -13271,39 +13243,39 @@ 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:2603 executor/execSRF.c:739 executor/functions.c:1066 +#: executor/execExpr.c:2614 executor/execSRF.c:739 executor/functions.c:1066 #: utils/adt/jsonfuncs.c:3780 utils/fmgr/funcapi.c:89 utils/fmgr/funcapi.c:143 #, 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:3009 parser/parse_node.c:277 parser/parse_node.c:327 +#: executor/execExpr.c:3020 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:3137 executor/execExpr.c:3159 +#: executor/execExpr.c:3148 executor/execExpr.c:3170 #, c-format msgid "type %s does not support subscripted assignment" msgstr "el tipo %s no soporta asignación subindexada" -#: executor/execExprInterp.c:1950 +#: executor/execExprInterp.c:1962 #, c-format msgid "attribute %d of type %s has been dropped" msgstr "El atributo %d de tipo %s ha sido eliminado" -#: executor/execExprInterp.c:1956 +#: executor/execExprInterp.c:1968 #, c-format msgid "attribute %d of type %s has wrong type" msgstr "el atributo %d del tipo %s tiene tipo erróneo" -#: executor/execExprInterp.c:1958 executor/execExprInterp.c:3030 -#: executor/execExprInterp.c:3076 +#: executor/execExprInterp.c:1970 executor/execExprInterp.c:3103 +#: executor/execExprInterp.c:3149 #, 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:2037 utils/adt/expandedrecord.c:99 +#: 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 @@ -13311,68 +13283,68 @@ msgstr "La tabla tiene tipo %s, pero la consulta esperaba %s." msgid "type %s is not composite" msgstr "el tipo %s no es compuesto" -#: executor/execExprInterp.c:2514 +#: executor/execExprInterp.c:2587 #, 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:2727 +#: executor/execExprInterp.c:2800 #, c-format msgid "cannot merge incompatible arrays" msgstr "no se puede mezclar arrays incompatibles" -#: executor/execExprInterp.c:2728 +#: executor/execExprInterp.c:2801 #, 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:2749 utils/adt/arrayfuncs.c:265 +#: executor/execExprInterp.c:2822 utils/adt/arrayfuncs.c:265 #: utils/adt/arrayfuncs.c:575 utils/adt/arrayfuncs.c:1329 -#: utils/adt/arrayfuncs.c:3484 utils/adt/arrayfuncs.c:5568 -#: utils/adt/arrayfuncs.c:6085 utils/adt/arraysubs.c:150 +#: utils/adt/arrayfuncs.c:3483 utils/adt/arrayfuncs.c:5567 +#: utils/adt/arrayfuncs.c:6084 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:2769 executor/execExprInterp.c:2804 +#: executor/execExprInterp.c:2842 executor/execExprInterp.c:2877 #, 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:2781 utils/adt/array_expanded.c:274 +#: 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:3514 -#: utils/adt/arrayfuncs.c:6177 utils/adt/arrayfuncs.c:6518 +#: 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 #, 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:3029 executor/execExprInterp.c:3075 +#: executor/execExprInterp.c:3102 executor/execExprInterp.c:3148 #, c-format msgid "attribute %d has wrong type" msgstr "el atributo %d tiene tipo erróneo" -#: executor/execExprInterp.c:3657 utils/adt/domains.c:155 +#: executor/execExprInterp.c:3730 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:3672 utils/adt/domains.c:193 +#: executor/execExprInterp.c:3745 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:4157 +#: executor/execExprInterp.c:4230 #, 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:4273 executor/execSRF.c:978 +#: executor/execExprInterp.c:4346 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." @@ -13518,8 +13490,8 @@ msgstr "no se puede bloquear registros en la vista «%s»" 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:2681 -#: executor/nodeLockRows.c:136 +#: executor/execMain.c:1196 executor/execMain.c:2699 +#: 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»" @@ -13614,8 +13586,8 @@ msgstr "eliminacón concurrente, reintentando" #: executor/execReplication.c:320 parser/parse_cte.c:308 #: parser/parse_oper.c:233 utils/adt/array_userfuncs.c:1348 -#: utils/adt/array_userfuncs.c:1491 utils/adt/arrayfuncs.c:3833 -#: utils/adt/arrayfuncs.c:4388 utils/adt/arrayfuncs.c:6398 +#: utils/adt/array_userfuncs.c:1491 utils/adt/arrayfuncs.c:3832 +#: utils/adt/arrayfuncs.c:4387 utils/adt/arrayfuncs.c:6397 #: utils/adt/rowtypes.c:1230 #, c-format msgid "could not identify an equality operator for type %s" @@ -13805,11 +13777,6 @@ msgstr "La sentencia final retorna muy pocas columnas." msgid "return type %s is not supported for SQL functions" msgstr "el tipo de retorno %s no es soportado en funciones SQL" -#: executor/nodeAgg.c:3025 executor/nodeAgg.c:3034 executor/nodeAgg.c:3046 -#, c-format -msgid "unexpected EOF for tape %p: requested %zu bytes, read %zu bytes" -msgstr "" - #: executor/nodeAgg.c:3937 executor/nodeWindowAgg.c:2993 #, c-format msgid "aggregate %u needs to have compatible input type and transition type" @@ -13825,7 +13792,7 @@ 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:1097 executor/nodeHashjoin.c:1127 +#: executor/nodeHashjoin.c:1143 executor/nodeHashjoin.c:1173 #, c-format msgid "could not rewind hash-join temporary file" msgstr "no se puede rebobinar el archivo temporal del hash-join" @@ -14090,9 +14057,9 @@ msgstr "Probablemente quiera hacer referencia a la columna «%s.%s»." #: foreign/foreign.c:651 #, fuzzy, c-format -#| msgid "Valid options in this context are: %s" +#| msgid "There are no old transactions anymore." msgid "There are no valid options in this context." -msgstr "Las opciones válidas en este contexto son: %s" +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 @@ -14332,9 +14299,9 @@ msgstr "la autentificación falló para el usuario «%s»: método de autentific #: libpq/auth.c:315 #, fuzzy, c-format -#| msgid "Connection matched pg_hba.conf line %d: \"%s\"" +#| msgid "reconnection failed: %s" msgid "Connection matched %s line %d: \"%s\"" -msgstr "La conexión coincidió con la línea %d de pg_hba.conf: «%s»" +msgstr "falló la reconexión: %s" #: libpq/auth.c:359 #, c-format @@ -14746,9 +14713,9 @@ msgstr "no se pudo generar un vector aleatorio de encriptación" #: libpq/auth.c:3046 #, fuzzy, c-format -#| msgid "could not encrypt password: %s\n" +#| msgid "could not encrypt password: %s" msgid "could not perform MD5 encryption of password: %s" -msgstr "no se pudo cifrar contraseña: %s\n" +msgstr "no se pudo cifrar contraseña: %s" #: libpq/auth.c:3073 #, c-format @@ -15266,9 +15233,9 @@ msgstr "el método de autentificación «%s» requiere que el argumento «%s» e #: libpq/hba.c:1314 #, fuzzy, c-format -#| msgid "missing entry in file \"%s\" at end of line %d" +#| msgid "missing \"%s\" at end of SQL expression" msgid "missing entry at end of line" -msgstr "falta una entrada en el archivo «%s» al final de la línea %d" +msgstr "falta «%s» al final de la expresión SQL" #: libpq/hba.c:1327 #, c-format @@ -15557,22 +15524,22 @@ msgstr "nombre de opción de autentificación desconocido: «%s»" msgid "configuration file \"%s\" contains no entries" msgstr "el archivo de configuración «%s» no contiene líneas" -#: libpq/hba.c:2837 +#: libpq/hba.c:2838 #, c-format msgid "regular expression match for \"%s\" failed: %s" msgstr "la coincidencia de expresión regular para «%s» falló: %s" -#: libpq/hba.c:2861 +#: libpq/hba.c:2862 #, 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:2964 +#: libpq/hba.c:2965 #, 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:2984 +#: libpq/hba.c:2985 #, 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»" @@ -15836,9 +15803,9 @@ msgstr " -h NOMBRE nombre de host o dirección IP en que escuchar\n" #: main/main.c:340 #, fuzzy, c-format -#| msgid " -i enable TCP/IP connections\n" +#| msgid " -l enable SSL connections\n" msgid " -i enable TCP/IP connections (deprecated)\n" -msgstr " -i activar conexiones TCP/IP\n" +msgstr " -l activar conexiones SSL\n" #: main/main.c:341 #, c-format @@ -15923,11 +15890,9 @@ msgstr " -t pa|pl|ex mostrar tiempos después de cada consulta\n" #: main/main.c:359 #, fuzzy, c-format -#| msgid " -T send SIGSTOP to all backend processes if one dies\n" +#| msgid " -P disable system indexes\n" msgid " -T send SIGABRT to all backend processes if one dies\n" -msgstr "" -" -T enviar SIGSTOP a todos los procesos backend si uno de ellos\n" -" muere\n" +msgstr " -P desactivar índices de sistema\n" #: main/main.c:360 #, c-format @@ -16077,7 +16042,7 @@ msgstr "no se reconoce la codificación: «%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:2042 parser/parse_func.c:710 parser/parse_oper.c:883 +#: parser/parse_expr.c:2049 parser/parse_func.c:710 parser/parse_oper.c:883 #: utils/fmgr/funcapi.c:661 #, c-format msgid "could not find array type for data type %s" @@ -16093,7 +16058,7 @@ msgstr "portal «%s» con parámetros: %s" msgid "unnamed portal with parameters: %s" msgstr "portal sin nombre con parámetros: %s" -#: optimizer/path/joinrels.c:865 +#: optimizer/path/joinrels.c:973 #, c-format msgid "FULL JOIN is only supported with merge-joinable or hash-joinable join conditions" msgstr "FULL JOIN sólo está soportado con condiciones que se pueden usar con merge join o hash join" @@ -16170,7 +16135,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:4844 +#: optimizer/util/clauses.c:4869 #, c-format msgid "SQL function \"%s\" during inlining" msgstr "función SQL «%s», durante expansión en línea" @@ -16624,7 +16589,7 @@ msgstr "una función de agregación de nivel exterior no puede contener una vari 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:1693 parser/parse_expr.c:2175 +#: parser/parse_agg.c:769 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." @@ -17023,7 +16988,7 @@ 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:2076 parser/parse_expr.c:2631 parser/parse_expr.c:3456 +#: parser/parse_expr.c:2083 parser/parse_expr.c:2691 parser/parse_expr.c:3516 #: parser/parse_target.c:985 #, c-format msgid "cannot cast type %s to %s" @@ -17370,287 +17335,287 @@ msgstr "FOR UPDATE/SHARE no está implementado en una consulta recursiva" msgid "recursive reference to query \"%s\" must not appear more than once" msgstr "la referencia recursiva a la consulta «%s» no debe aparecer más de una vez" -#: parser/parse_expr.c:287 +#: parser/parse_expr.c:294 #, c-format msgid "DEFAULT is not allowed in this context" msgstr "DEFAULT no está permitido en este contexto" -#: parser/parse_expr.c:364 parser/parse_relation.c:3687 +#: 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 #, c-format msgid "column %s.%s does not exist" msgstr "no existe la columna %s.%s" -#: parser/parse_expr.c:376 +#: parser/parse_expr.c:383 #, c-format msgid "column \"%s\" not found in data type %s" msgstr "la columna «%s» no fue encontrado en el tipo %s" -#: parser/parse_expr.c:382 +#: parser/parse_expr.c:389 #, c-format msgid "could not identify column \"%s\" in record data type" msgstr "no se pudo identificar la columna «%s» en el tipo de dato record" -#: parser/parse_expr.c:388 +#: parser/parse_expr.c:395 #, c-format msgid "column notation .%s applied to type %s, which is not a composite type" msgstr "la notación de columna .%s fue aplicada al tipo %s, que no es un tipo compuesto" -#: parser/parse_expr.c:419 parser/parse_target.c:733 +#: parser/parse_expr.c:426 parser/parse_target.c:733 #, c-format msgid "row expansion via \"*\" is not supported here" msgstr "la expansión de filas a través de «*» no está soportado aquí" -#: parser/parse_expr.c:541 +#: parser/parse_expr.c:548 msgid "cannot use column reference in DEFAULT expression" msgstr "no se pueden usar referencias a columnas en una cláusula DEFAULT" -#: parser/parse_expr.c:544 +#: parser/parse_expr.c:551 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:803 parser/parse_relation.c:833 +#: parser/parse_expr.c:810 parser/parse_relation.c:833 #: parser/parse_relation.c:915 parser/parse_target.c:1225 #, c-format msgid "column reference \"%s\" is ambiguous" msgstr "la referencia a la columna «%s» es ambigua" -#: parser/parse_expr.c:859 parser/parse_param.c:110 parser/parse_param.c:142 +#: parser/parse_expr.c:866 parser/parse_param.c:110 parser/parse_param.c:142 #: parser/parse_param.c:204 parser/parse_param.c:303 #, c-format msgid "there is no parameter $%d" msgstr "no hay parámetro $%d" -#: parser/parse_expr.c:1059 +#: parser/parse_expr.c:1066 #, c-format msgid "NULLIF requires = operator to yield boolean" msgstr "NULLIF requiere que el operador = retorne boolean" #. translator: %s is name of a SQL construct, eg NULLIF -#: parser/parse_expr.c:1065 parser/parse_expr.c:2947 +#: parser/parse_expr.c:1072 parser/parse_expr.c:3007 #, c-format msgid "%s must not return a set" msgstr "%s no debe retornar un conjunto" -#: parser/parse_expr.c:1450 parser/parse_expr.c:1482 +#: parser/parse_expr.c:1457 parser/parse_expr.c:1489 #, c-format msgid "number of columns does not match number of values" msgstr "el número de columnas no coincide con el número de valores" -#: parser/parse_expr.c:1496 +#: parser/parse_expr.c:1503 #, c-format msgid "source for a multiple-column UPDATE item must be a sub-SELECT or ROW() expression" msgstr "el origen para un UPDATE de varias columnas debe ser una expresión sub-SELECT o ROW ()" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_expr.c:1691 parser/parse_expr.c:2173 parser/parse_func.c:2677 +#: parser/parse_expr.c:1698 parser/parse_expr.c:2180 parser/parse_func.c:2677 #, c-format msgid "set-returning functions are not allowed in %s" msgstr "no se permiten funciones que retornan conjuntos en %s" -#: parser/parse_expr.c:1754 +#: parser/parse_expr.c:1761 msgid "cannot use subquery in check constraint" msgstr "no se pueden usar subconsultas en una restricción «check»" -#: parser/parse_expr.c:1758 +#: parser/parse_expr.c:1765 msgid "cannot use subquery in DEFAULT expression" msgstr "no se puede usar una subconsulta en una expresión DEFAULT" -#: parser/parse_expr.c:1761 +#: parser/parse_expr.c:1768 msgid "cannot use subquery in index expression" msgstr "no se puede usar una subconsulta en una expresión de índice" -#: parser/parse_expr.c:1764 +#: parser/parse_expr.c:1771 msgid "cannot use subquery in index predicate" msgstr "no se puede usar una subconsulta en un predicado de índice" -#: parser/parse_expr.c:1767 +#: parser/parse_expr.c:1774 msgid "cannot use subquery in statistics expression" msgstr "no se puede usar una subconsulta en una expresión de estadísticas" -#: parser/parse_expr.c:1770 +#: parser/parse_expr.c:1777 msgid "cannot use subquery in transform expression" msgstr "no se puede usar una subconsulta en una expresión de transformación" -#: parser/parse_expr.c:1773 +#: parser/parse_expr.c:1780 msgid "cannot use subquery in EXECUTE parameter" msgstr "no se puede usar una subconsulta en un parámetro a EXECUTE" -#: parser/parse_expr.c:1776 +#: parser/parse_expr.c:1783 msgid "cannot use subquery in trigger WHEN condition" msgstr "no se puede usar una subconsulta en la condición WHEN de un disparador" -#: parser/parse_expr.c:1779 +#: parser/parse_expr.c:1786 msgid "cannot use subquery in partition bound" msgstr "no se puede usar una subconsulta en un borde de partición" -#: parser/parse_expr.c:1782 +#: parser/parse_expr.c:1789 msgid "cannot use subquery in partition key expression" msgstr "no se puede usar una subconsulta en una expresión de llave de partición" -#: parser/parse_expr.c:1785 +#: parser/parse_expr.c:1792 msgid "cannot use subquery in CALL argument" msgstr "no se puede usar una subconsulta en un argumento a CALL" -#: parser/parse_expr.c:1788 +#: parser/parse_expr.c:1795 msgid "cannot use subquery in COPY FROM WHERE condition" msgstr "no se puede usar una subconsulta en la condición WHERE de COPY FROM" -#: parser/parse_expr.c:1791 +#: parser/parse_expr.c:1798 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:1844 parser/parse_expr.c:3572 +#: parser/parse_expr.c:1851 parser/parse_expr.c:3632 #, c-format msgid "subquery must return only one column" msgstr "la subconsulta debe retornar sólo una columna" -#: parser/parse_expr.c:1915 +#: parser/parse_expr.c:1922 #, c-format msgid "subquery has too many columns" msgstr "la subconsulta tiene demasiadas columnas" -#: parser/parse_expr.c:1920 +#: parser/parse_expr.c:1927 #, c-format msgid "subquery has too few columns" msgstr "la subconsulta tiene muy pocas columnas" -#: parser/parse_expr.c:2016 +#: parser/parse_expr.c:2023 #, c-format msgid "cannot determine type of empty array" msgstr "no se puede determinar el tipo de un array vacío" -#: parser/parse_expr.c:2017 +#: parser/parse_expr.c:2024 #, c-format msgid "Explicitly cast to the desired type, for example ARRAY[]::integer[]." msgstr "Agregue una conversión de tipo explícita al tipo deseado, por ejemplo ARRAY[]::integer[]." -#: parser/parse_expr.c:2031 +#: parser/parse_expr.c:2038 #, c-format msgid "could not find element type for data type %s" msgstr "no se pudo encontrar el tipo de dato de elemento para el tipo de dato %s" -#: parser/parse_expr.c:2114 +#: parser/parse_expr.c:2121 #, fuzzy, c-format #| msgid "target lists can have at most %d entries" msgid "ROW expressions can have at most %d entries" msgstr "las listas de resultados pueden tener a lo más %d entradas" -#: parser/parse_expr.c:2266 +#: parser/parse_expr.c:2326 #, c-format msgid "unnamed XML attribute value must be a column reference" msgstr "el valor del atributo XML sin nombre debe ser una referencia a una columna" -#: parser/parse_expr.c:2267 +#: parser/parse_expr.c:2327 #, c-format msgid "unnamed XML element value must be a column reference" msgstr "el valor del elemento XML sin nombre debe ser una referencia a una columna" -#: parser/parse_expr.c:2282 +#: parser/parse_expr.c:2342 #, c-format msgid "XML attribute name \"%s\" appears more than once" msgstr "el nombre de atributo XML «%s» aparece más de una vez" -#: parser/parse_expr.c:2390 +#: parser/parse_expr.c:2450 #, c-format msgid "cannot cast XMLSERIALIZE result to %s" msgstr "no se puede convertir el resultado de XMLSERIALIZE a %s" -#: parser/parse_expr.c:2704 parser/parse_expr.c:2900 +#: parser/parse_expr.c:2764 parser/parse_expr.c:2960 #, c-format msgid "unequal number of entries in row expressions" msgstr "número desigual de entradas en expresiones de registro" -#: parser/parse_expr.c:2714 +#: parser/parse_expr.c:2774 #, c-format msgid "cannot compare rows of zero length" msgstr "no se pueden comparar registros de largo cero" -#: parser/parse_expr.c:2739 +#: parser/parse_expr.c:2799 #, c-format msgid "row comparison operator must yield type boolean, not type %s" msgstr "el operador de comparación de registros debe retornar tipo boolean, no tipo %s" -#: parser/parse_expr.c:2746 +#: parser/parse_expr.c:2806 #, c-format msgid "row comparison operator must not return a set" msgstr "el operador de comparación de registros no puede retornar un conjunto" -#: parser/parse_expr.c:2805 parser/parse_expr.c:2846 +#: parser/parse_expr.c:2865 parser/parse_expr.c:2906 #, c-format msgid "could not determine interpretation of row comparison operator %s" msgstr "no se pudo determinar la interpretación del operador de comparación de registros %s" -#: parser/parse_expr.c:2807 +#: parser/parse_expr.c:2867 #, c-format msgid "Row comparison operators must be associated with btree operator families." msgstr "Los operadores de comparación de registros deben estar asociados a una familia de operadores btree." -#: parser/parse_expr.c:2848 +#: parser/parse_expr.c:2908 #, c-format msgid "There are multiple equally-plausible candidates." msgstr "Hay múltiples candidatos igualmente plausibles." -#: parser/parse_expr.c:2941 +#: parser/parse_expr.c:3001 #, c-format msgid "IS DISTINCT FROM requires = operator to yield boolean" msgstr "IS DISTINCT FROM requiere que el operador = retorne boolean" -#: parser/parse_expr.c:3194 +#: parser/parse_expr.c:3254 #, c-format msgid "JSON ENCODING clause is only allowed for bytea input type" msgstr "" -#: parser/parse_expr.c:3201 +#: parser/parse_expr.c:3261 #, c-format msgid "FORMAT JSON has no effect for json and jsonb types" msgstr "" -#: parser/parse_expr.c:3224 +#: parser/parse_expr.c:3284 #, c-format msgid "cannot use non-string types with implicit FORMAT JSON clause" msgstr "" -#: parser/parse_expr.c:3294 +#: parser/parse_expr.c:3354 #, fuzzy, c-format #| msgid "cannot cast jsonb string to type %s" msgid "cannot use JSON format with non-string output types" msgstr "no se puede convertir un string jsonb a tipo %s" -#: parser/parse_expr.c:3307 +#: parser/parse_expr.c:3367 #, c-format msgid "cannot set JSON encoding for non-bytea output types" msgstr "" -#: parser/parse_expr.c:3312 +#: parser/parse_expr.c:3372 #, fuzzy, c-format #| msgid "unsupported format code: %d" msgid "unsupported JSON encoding" msgstr "código de formato no soportado: %d" -#: parser/parse_expr.c:3313 +#: parser/parse_expr.c:3373 #, c-format msgid "Only UTF8 JSON encoding is supported." msgstr "" -#: parser/parse_expr.c:3350 +#: parser/parse_expr.c:3410 #, fuzzy, c-format #| msgid "return type %s is not supported for SQL functions" msgid "returning SETOF types is not supported in SQL/JSON functions" msgstr "el tipo de retorno %s no es soportado en funciones SQL" -#: parser/parse_expr.c:3651 parser/parse_func.c:865 +#: parser/parse_expr.c:3711 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:3870 +#: parser/parse_expr.c:3930 #, c-format msgid "cannot use JSON FORMAT ENCODING clause for non-bytea input types" msgstr "" -#: parser/parse_expr.c:3890 +#: parser/parse_expr.c:3950 #, fuzzy, c-format #| msgid "cannot use subquery in index predicate" msgid "cannot use type %s in IS JSON predicate" @@ -18588,7 +18553,7 @@ msgstr "no se permiten múltiples cláusulas DEFERRABLE/NOT DEFERRABLE" 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:6011 +#: parser/parse_utilcmd.c:3695 parser/parse_utilcmd.c:3721 gram.y:5993 #, c-format msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" msgstr "una restricción declarada INITIALLY DEFERRED debe ser DEFERRABLE" @@ -18701,7 +18666,7 @@ msgstr "carácter de escape Unicode no válido" msgid "invalid Unicode escape value" msgstr "valor de escape Unicode no válido" -#: parser/parser.c:494 utils/adt/varlena.c:6506 scan.l:701 +#: parser/parser.c:494 utils/adt/varlena.c:6505 scan.l:701 #, c-format msgid "invalid Unicode escape" msgstr "valor de escape Unicode no válido" @@ -18711,7 +18676,7 @@ 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:6531 scan.l:662 scan.l:678 +#: parser/parser.c:523 utils/adt/varlena.c:6530 scan.l:662 scan.l:678 #: scan.l:694 #, c-format msgid "invalid Unicode surrogate pair" @@ -19199,10 +19164,9 @@ msgid "%s: invalid argument: \"%s\"\n" msgstr "%s: argumento no válido: «%s»\n" #: postmaster/postmaster.c:923 -#, fuzzy, c-format -#| msgid "%s: superuser_reserved_connections (%d) must be less than max_connections (%d)\n" +#, c-format msgid "%s: superuser_reserved_connections (%d) plus reserved_connections (%d) must be less than max_connections (%d)\n" -msgstr "%s: superuser_reserved_connections (%d) debe ser menor que max_connections (%d)\n" +msgstr "" #: postmaster/postmaster.c:931 #, c-format @@ -19324,10 +19288,9 @@ msgstr "" #. translator: %s is SIGKILL or SIGABRT #: postmaster/postmaster.c:1887 -#, fuzzy, c-format -#| msgid "issuing SIGKILL to recalcitrant children" +#, c-format msgid "issuing %s to recalcitrant children" -msgstr "enviando SIGKILL a procesos hijos recalcitrantes" +msgstr "" #: postmaster/postmaster.c:1909 #, c-format @@ -19980,9 +19943,9 @@ msgstr "modo pipeline inesperado" #: replication/logical/applyparallelworker.c:719 #, fuzzy, c-format -#| msgid "logical replication apply worker for subscription \"%s\" has started" +#| msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has finished" msgid "logical replication parallel apply worker for subscription \"%s\" has finished" -msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» ha iniciado" +msgstr "el ayudante de sincronización de tabla de replicación lógica para la suscripción «%s», tabla «%s» ha terminado" #: replication/logical/applyparallelworker.c:825 #, fuzzy, c-format @@ -20030,10 +19993,9 @@ msgid "could not send data to shared-memory queue" msgstr "no se pudo enviar la tupla a la cola en memoria compartida" #: replication/logical/applyparallelworker.c:1218 -#, fuzzy, c-format -#| msgid "logical replication apply worker for subscription %u will not start because the subscription was removed during startup" +#, c-format msgid "logical replication apply worker will serialize the remaining changes of remote transaction %u to a file" -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" +msgstr "" # FIXME see slot.c:779. See also postmaster.c:835 #: replication/logical/decode.c:180 replication/logical/logical.c:140 @@ -20279,9 +20241,9 @@ msgstr "el nombre de origen de replicación «%s» está reservado" #: replication/logical/origin.c:1284 #, fuzzy, c-format -#| msgid "Origin names starting with \"pg_\" are reserved." +#| msgid "Role names starting with \"pg_\" are reserved." msgid "Origin names \"%s\", \"%s\", and names starting with \"pg_\" are reserved." -msgstr "Los nombres de origen que empiezan con «pg_» están reservados." +msgstr "Los nombres de rol que empiezan con «pg_» están reservados." #: replication/logical/relation.c:240 #, c-format @@ -20415,9 +20377,9 @@ msgstr "el ayudante de sincronización de tabla de replicación lógica para la #: replication/logical/tablesync.c:621 #, fuzzy, c-format -#| msgid "logical replication apply worker for subscription \"%s\" will restart because of a parameter change" +#| msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has started" msgid "logical replication apply worker for subscription \"%s\" will restart so that two_phase can be enabled" -msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se reiniciará por un cambio de parámetro" +msgstr "el ayudante de sincronización de tabla de replicación lógica para la suscripción «%s», tabla «%s» ha iniciado" #: replication/logical/tablesync.c:796 replication/logical/tablesync.c:938 #, c-format @@ -20480,9 +20442,9 @@ msgstr "se agotaron los slots de procesos ayudantes de replicación" #: replication/logical/worker.c:512 #, fuzzy, c-format -#| msgid "logical replication apply worker for subscription \"%s\" has started" +#| msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has started" msgid "logical replication parallel apply worker for subscription \"%s\" will stop" -msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» ha iniciado" +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:514 #, c-format @@ -20522,44 +20484,39 @@ msgstr "terminando el proceso de replicación lógica debido a que se agotó el #. translator: first %s is the name of logical replication worker #: replication/logical/worker.c:3902 -#, fuzzy, c-format -#| msgid "logical replication apply worker for subscription \"%s\" will stop because the subscription was removed" +#, c-format msgid "%s 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" +msgstr "" #. translator: first %s is the name of logical replication worker #: replication/logical/worker.c:3916 -#, fuzzy, c-format -#| msgid "logical replication apply worker for subscription \"%s\" will stop because the subscription was disabled" +#, c-format msgid "%s 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" +msgstr "" #: replication/logical/worker.c:3947 #, fuzzy, c-format -#| msgid "logical replication apply worker for subscription \"%s\" will restart because of a parameter change" +#| msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has started" msgid "logical replication parallel apply worker for subscription \"%s\" will stop 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" +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:3952 -#, fuzzy, c-format -#| msgid "logical replication apply worker for subscription \"%s\" will restart because of a parameter change" +#, c-format msgid "%s 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" +msgstr "" #. translator: %s is the name of logical replication worker #: replication/logical/worker.c:4476 -#, fuzzy, c-format -#| msgid "logical replication apply worker for subscription %u will not start because the subscription was removed during startup" +#, c-format msgid "%s 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" +msgstr "" #. translator: first %s is the name of logical replication worker #: replication/logical/worker.c:4492 -#, fuzzy, c-format -#| msgid "logical replication apply worker for subscription \"%s\" will not start because the subscription was disabled during startup" +#, c-format msgid "%s 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" +msgstr "" #: replication/logical/worker.c:4509 #, c-format @@ -20569,9 +20526,9 @@ msgstr "el ayudante de sincronización de tabla de replicación lógica para la #. translator: first %s is the name of logical replication worker #: replication/logical/worker.c:4515 #, fuzzy, c-format -#| msgid "logical replication apply worker for subscription \"%s\" has started" +#| msgid "subscription \"%s\" already exists" msgid "%s for subscription \"%s\" has started" -msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» ha iniciado" +msgstr "la suscripción «%s» ya existe" #: replication/logical/worker.c:4590 #, c-format @@ -20657,16 +20614,15 @@ msgid "invalid publication_names syntax" msgstr "sintaxis de publication_names no válida" #: replication/pgoutput/pgoutput.c:443 -#, fuzzy, c-format -#| msgid "client sent proto_version=%d but we only support protocol %d or lower" +#, c-format msgid "client sent proto_version=%d but server only supports protocol %d or lower" -msgstr "el cliente envió proto_version=%d pero sólo soportamos el protocolo %d o inferior" +msgstr "" #: replication/pgoutput/pgoutput.c:449 #, fuzzy, c-format -#| msgid "client sent proto_version=%d but we only support protocol %d or higher" +#| msgid "requested proto_version=%d does not support streaming, need %d or higher" msgid "client sent proto_version=%d but server only supports protocol %d or higher" -msgstr "el cliente envió proto_version=%d pero sólo soportamos el protocolo %d o superior" +msgstr "la proto_version=%d no soporta flujo, se necesita %d o superior" #: replication/pgoutput/pgoutput.c:455 #, c-format @@ -21009,9 +20965,9 @@ 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 log segment %s: %m" +#| msgid "could not close shared memory segment \"%s\": %m" msgid "could not close WAL segment %s: %m" -msgstr "no se pudo cerrar archivo de segmento %s: %m" +msgstr "no se pudo cerrar el segmento de memoria compartida «%s»: %m" #: replication/walreceiver.c:759 #, c-format @@ -21020,15 +20976,15 @@ msgstr "trayendo el archivo de historia del timeline para el timeline %u desde e #: replication/walreceiver.c:954 #, fuzzy, c-format -#| msgid "could not write to log segment %s at offset %u, length %lu: %m" +#| msgid "could not write to log file %s at offset %u, length %zu: %m" msgid "could not write to WAL segment %s at offset %u, length %lu: %m" -msgstr "no se pudo escribir al segmento de log %s en la posición %u, largo %lu: %m" +msgstr "no se pudo escribir archivo de registro %s en la posición %u, largo %zu: %m" #: replication/walsender.c:519 #, fuzzy, c-format -#| msgid "cannot read from logical replication slot \"%s\"" +#| msgid "cannot use relation \"%s.%s\" as logical replication target" msgid "cannot use %s with a logical replication slot" -msgstr "no se puede leer del slot de replicación lógica «%s»" +msgstr "no se puede usar la relación «%s.%s» como destino de replicación lógica" #: replication/walsender.c:623 storage/smgr/md.c:1526 #, c-format @@ -21336,9 +21292,9 @@ msgstr "el nombre de consulta WITH «%s» aparece tanto en una acción de regla #: rewrite/rewriteHandler.c:608 #, fuzzy, c-format -#| msgid "INSERT...SELECT rule actions are not supported for queries having data-modifying statements in WITH" +#| msgid "DO INSTEAD NOTIFY rules are not supported for data-modifying statements in WITH" msgid "INSERT ... SELECT rule actions are not supported for queries having data-modifying statements in WITH" -msgstr "las acciones de reglas INSERT...SELECT no están soportadas para consultas que tengan sentencias que modifiquen datos en WITH" +msgstr "las reglas DO INSTEAD NOTIFY no están soportadas para sentencias que modifiquen datos en WITH" #: rewrite/rewriteHandler.c:661 #, c-format @@ -21590,42 +21546,42 @@ msgstr "se llamó una función que retorna un registro en un contexto que no pue msgid "cannot access temporary tables of other sessions" msgstr "no se pueden acceder tablas temporales de otras sesiones" -#: storage/buffer/bufmgr.c:1138 +#: storage/buffer/bufmgr.c:1137 #, c-format msgid "invalid page in block %u of relation %s; zeroing out page" msgstr "la página no es válida en el bloque %u de la relación «%s»; reinicializando la página" -#: storage/buffer/bufmgr.c:1932 storage/buffer/localbuf.c:359 +#: storage/buffer/bufmgr.c:1931 storage/buffer/localbuf.c:359 #, c-format msgid "cannot extend relation %s beyond %u blocks" msgstr "no se puede extender la relación %s más allá de %u bloques" -#: storage/buffer/bufmgr.c:1999 +#: storage/buffer/bufmgr.c:1998 #, c-format msgid "unexpected data beyond EOF in block %u of relation %s" msgstr "datos inesperados más allá del EOF en el bloque %u de relación %s" -#: storage/buffer/bufmgr.c:2001 +#: storage/buffer/bufmgr.c:2000 #, c-format msgid "This has been seen to occur with buggy kernels; consider updating your system." msgstr "Esto parece ocurrir sólo con kernels defectuosos; considere actualizar su sistema." -#: storage/buffer/bufmgr.c:5213 +#: storage/buffer/bufmgr.c:5219 #, c-format msgid "could not write block %u of %s" msgstr "no se pudo escribir el bloque %u de %s" -#: storage/buffer/bufmgr.c:5215 +#: storage/buffer/bufmgr.c:5221 #, c-format msgid "Multiple failures --- write error might be permanent." msgstr "Múltiples fallas --- el error de escritura puede ser permanente." -#: storage/buffer/bufmgr.c:5237 storage/buffer/bufmgr.c:5257 +#: storage/buffer/bufmgr.c:5243 storage/buffer/bufmgr.c:5263 #, c-format msgid "writing block %u of relation %s" msgstr "escribiendo el bloque %u de la relación %s" -#: storage/buffer/bufmgr.c:5575 +#: storage/buffer/bufmgr.c:5593 #, c-format msgid "snapshot too old" msgstr "snapshot demasiado antiguo" @@ -21645,35 +21601,35 @@ msgstr "no se pueden acceder tablas temporales durante una operación paralela" msgid "\"temp_buffers\" cannot be changed after any temporary tables have been accessed in the session." msgstr "«temp_buffers» no puede ser cambiado después de que cualquier tabla temporal haya sido accedida en la sesión." -#: storage/file/buffile.c:339 +#: storage/file/buffile.c:338 #, c-format 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:633 +#: storage/file/buffile.c:632 #, fuzzy, c-format #| msgid "could not read block %u in file \"%s\": read only %d of %d bytes" 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" -#: storage/file/buffile.c:635 +#: storage/file/buffile.c:634 #, fuzzy, c-format -#| msgid "could not read from hash-join temporary file: read only %zu of %zu bytes" +#| msgid "could not read block %u in file \"%s\": read only %d of %d bytes" msgid "could not read from temporary file: read only %zu of %zu bytes" -msgstr "no se pudo leer el archivo temporal de hash-join: se leyeron sólo %zu de %zu bytes" +msgstr "no se pudo leer el bloque %u del archivo «%s»: se leyeron sólo %d de %d bytes" -#: storage/file/buffile.c:775 storage/file/buffile.c:896 +#: storage/file/buffile.c:774 storage/file/buffile.c:895 #, c-format msgid "could not determine size of temporary file \"%s\" from BufFile \"%s\": %m" msgstr "no se pudo determinar el tamaño del archivo temporal «%s» del BufFile «%s»: %m" -#: storage/file/buffile.c:975 +#: storage/file/buffile.c:974 #, fuzzy, c-format #| msgid "could not delete file \"%s\": %m" msgid "could not delete fileset \"%s\": %m" msgstr "no se pudo borrar el archivo «%s»: %m" -#: storage/file/buffile.c:993 storage/smgr/md.c:335 storage/smgr/md.c:1038 +#: storage/file/buffile.c:992 storage/smgr/md.c:335 storage/smgr/md.c:1038 #, c-format msgid "could not truncate file \"%s\": %m" msgstr "no se pudo truncar el archivo «%s»: %m" @@ -21704,10 +21660,9 @@ 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 -#, fuzzy, c-format -#| msgid "System allows %d, we need at least %d." +#, c-format msgid "System allows %d, server needs at least %d." -msgstr "El sistema permite %d, se requieren al menos %d." +msgstr "" #: storage/file/fd.c:1073 storage/file/fd.c:2515 storage/file/fd.c:2624 #: storage/file/fd.c:2775 @@ -21798,17 +21753,17 @@ msgstr "sincronizando el directorio de datos (fsync), transcurrido: %ld.%02d s, #: storage/file/fd.c:3847 #, fuzzy, c-format #| msgid "Direct I/O is not supported on this platform.\n" -msgid "io_direct is not supported on this platform." +msgid "debug_io_direct is not supported on this platform." msgstr "Direct I/O no está soportado en esta plataforma.\n" #: storage/file/fd.c:3894 #, c-format -msgid "io_direct is not supported for WAL because XLOG_BLCKSZ is too small" +msgid "debug_io_direct is not supported for WAL because XLOG_BLCKSZ is too small" msgstr "" #: storage/file/fd.c:3901 #, c-format -msgid "io_direct is not supported for data because BLCKSZ is too small" +msgid "debug_io_direct is not supported for data because BLCKSZ is too small" msgstr "" #: storage/file/reinit.c:145 @@ -21841,57 +21796,57 @@ msgstr "el segmento de control de memoria compartida dinámica no es válido" msgid "too many dynamic shared memory segments" msgstr "demasiados segmentos de memoria compartida dinámica" -#: storage/ipc/dsm_impl.c:231 storage/ipc/dsm_impl.c:536 -#: storage/ipc/dsm_impl.c:640 storage/ipc/dsm_impl.c:811 +#: storage/ipc/dsm_impl.c:231 storage/ipc/dsm_impl.c:537 +#: storage/ipc/dsm_impl.c:641 storage/ipc/dsm_impl.c:812 #, c-format msgid "could not unmap shared memory segment \"%s\": %m" msgstr "no se pudo desmapear el segmento de memoria compartida «%s»: %m" -#: storage/ipc/dsm_impl.c:241 storage/ipc/dsm_impl.c:546 -#: storage/ipc/dsm_impl.c:650 storage/ipc/dsm_impl.c:821 +#: storage/ipc/dsm_impl.c:241 storage/ipc/dsm_impl.c:547 +#: storage/ipc/dsm_impl.c:651 storage/ipc/dsm_impl.c:822 #, c-format msgid "could not remove shared memory segment \"%s\": %m" msgstr "no se pudo eliminar el segmento de memoria compartida «%s»: %m" -#: storage/ipc/dsm_impl.c:265 storage/ipc/dsm_impl.c:721 -#: storage/ipc/dsm_impl.c:835 +#: storage/ipc/dsm_impl.c:265 storage/ipc/dsm_impl.c:722 +#: storage/ipc/dsm_impl.c:836 #, c-format msgid "could not open shared memory segment \"%s\": %m" msgstr "no se pudo abrir el segmento de memoria compartida «%s»: %m" -#: storage/ipc/dsm_impl.c:290 storage/ipc/dsm_impl.c:562 -#: storage/ipc/dsm_impl.c:766 storage/ipc/dsm_impl.c:859 +#: storage/ipc/dsm_impl.c:290 storage/ipc/dsm_impl.c:563 +#: storage/ipc/dsm_impl.c:767 storage/ipc/dsm_impl.c:860 #, c-format msgid "could not stat shared memory segment \"%s\": %m" msgstr "no se pudo hacer stat del segmento de memoria compartida «%s»: %m" -#: storage/ipc/dsm_impl.c:309 storage/ipc/dsm_impl.c:910 +#: storage/ipc/dsm_impl.c:309 storage/ipc/dsm_impl.c:911 #, c-format msgid "could not resize shared memory segment \"%s\" to %zu bytes: %m" msgstr "no se pudo redimensionar el segmento de memoria compartida «%s» a %zu bytes: %m" -#: storage/ipc/dsm_impl.c:331 storage/ipc/dsm_impl.c:583 -#: storage/ipc/dsm_impl.c:742 storage/ipc/dsm_impl.c:932 +#: storage/ipc/dsm_impl.c:331 storage/ipc/dsm_impl.c:584 +#: storage/ipc/dsm_impl.c:743 storage/ipc/dsm_impl.c:933 #, c-format msgid "could not map shared memory segment \"%s\": %m" msgstr "no se pudo mapear el segmento de memoria compartida «%s»: %m" -#: storage/ipc/dsm_impl.c:518 +#: storage/ipc/dsm_impl.c:519 #, c-format msgid "could not get shared memory segment: %m" msgstr "no se pudo obtener el segmento de memoria compartida: %m" -#: storage/ipc/dsm_impl.c:706 +#: storage/ipc/dsm_impl.c:707 #, c-format msgid "could not create shared memory segment \"%s\": %m" msgstr "no se pudo crear el segmento de memoria compartida «%s»: %m" -#: storage/ipc/dsm_impl.c:943 +#: storage/ipc/dsm_impl.c:944 #, c-format msgid "could not close shared memory segment \"%s\": %m" msgstr "no se pudo cerrar el segmento de memoria compartida «%s»: %m" -#: storage/ipc/dsm_impl.c:983 storage/ipc/dsm_impl.c:1032 +#: storage/ipc/dsm_impl.c:984 storage/ipc/dsm_impl.c:1033 #, c-format msgid "could not duplicate handle for \"%s\": %m" msgstr "no se pudo duplicar el «handle» para «%s»: %m" @@ -21919,10 +21874,9 @@ msgid "Only roles with privileges of the role whose process is being terminated msgstr "" #: storage/ipc/procsignal.c:420 -#, fuzzy, c-format -#| msgid "still waiting for backend with PID %lu to accept ProcSignalBarrier" +#, c-format msgid "still waiting for backend with PID %d to accept ProcSignalBarrier" -msgstr "aún esperando que el proceso servidor con PID %lu acepte ProcSignalBarrier" +msgstr "" #: storage/ipc/shm_mq.c:384 #, c-format @@ -21935,8 +21889,8 @@ 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:4194 -#: storage/lmgr/lock.c:4259 storage/lmgr/lock.c:4609 +#: storage/lmgr/lock.c:1020 storage/lmgr/lock.c:2810 storage/lmgr/lock.c:4195 +#: storage/lmgr/lock.c:4260 storage/lmgr/lock.c:4610 #: storage/lmgr/predicate.c:2412 storage/lmgr/predicate.c:2427 #: storage/lmgr/predicate.c:3824 storage/lmgr/predicate.c:4871 #: utils/hash/dynahash.c:1107 @@ -22247,7 +22201,7 @@ msgid "Only RowExclusiveLock or less can be acquired on database objects during 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:4195 storage/lmgr/lock.c:4260 storage/lmgr/lock.c:4610 +#: 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." @@ -22401,22 +22355,22 @@ msgstr "no se pudo extender el archivo «%s»: sólo se escribieron %d de %d byt msgid "could not extend file \"%s\" with FileFallocate(): %m" msgstr "no se pudo extender el archivo «%s»: %m" -#: storage/smgr/md.c:836 +#: storage/smgr/md.c:779 #, 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:852 +#: storage/smgr/md.c:795 #, 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:910 +#: storage/smgr/md.c:853 #, 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:915 +#: storage/smgr/md.c:858 #, 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" @@ -22441,7 +22395,7 @@ msgstr "no se pudo abrir el archivo «%s» (bloque buscado %u): el segmento prev msgid "could not open file \"%s\" (target block %u): %m" msgstr "no se pudo abrir el archivo «%s» (bloque buscado %u): %m" -#: tcop/fastpath.c:142 utils/fmgr/fmgr.c:2133 +#: tcop/fastpath.c:142 utils/fmgr/fmgr.c:2132 #, c-format msgid "function with OID %u does not exist" msgstr "no existe la función con OID %u" @@ -23014,7 +22968,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:18187 gram.y:18204 +#: tsearch/spell.c:1014 tsearch/spell.c:1079 gram.y:18124 gram.y:18141 #, c-format msgid "syntax error" msgstr "error de sintaxis" @@ -23117,44 +23071,44 @@ msgstr "ShortWord debería ser >= 0" msgid "MaxFragments should be >= 0" msgstr "MaxFragments debería ser >= 0" -#: utils/activity/pgstat.c:431 +#: utils/activity/pgstat.c:438 #, fuzzy, c-format #| msgid "could not open statistics file \"%s\": %m" msgid "could not unlink permanent statistics file \"%s\": %m" msgstr "no se pudo abrir el archivo de estadísticas «%s»: %m" -#: utils/activity/pgstat.c:1224 +#: utils/activity/pgstat.c:1241 #, fuzzy, c-format #| msgid "unrecognized statistics kind \"%s\"" msgid "invalid statistics kind: \"%s\"" msgstr "tipo de estadísticas «%s» no reconocido" -#: utils/activity/pgstat.c:1304 +#: utils/activity/pgstat.c:1321 #, 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:1416 +#: utils/activity/pgstat.c:1433 #, 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:1425 +#: utils/activity/pgstat.c:1442 #, 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:1433 +#: utils/activity/pgstat.c:1450 #, 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:1482 +#: utils/activity/pgstat.c:1499 #, 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:1644 +#: utils/activity/pgstat.c:1661 #, c-format msgid "corrupted statistics file \"%s\"" msgstr "el archivo de estadísticas «%s» está corrupto" @@ -23266,10 +23220,9 @@ msgid "function \"%s\" does not exist" msgstr "no existe la función «%s»" #: utils/adt/acl.c:5031 -#, fuzzy, c-format -#| msgid "must be member of role \"%s\"" +#, c-format msgid "must be able to SET ROLE \"%s\"" -msgstr "debe ser miembro del rol «%s»" +msgstr "" #: 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 @@ -23285,8 +23238,8 @@ msgid "input data type is not an array" msgstr "el tipo de entrada no es un array" #: utils/adt/array_userfuncs.c:151 utils/adt/array_userfuncs.c:203 -#: utils/adt/float.c:1229 utils/adt/float.c:1303 utils/adt/float.c:4118 -#: utils/adt/float.c:4156 utils/adt/int.c:778 utils/adt/int.c:800 +#: 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 @@ -23295,7 +23248,7 @@ msgstr "el tipo de entrada no es un array" #: 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:3135 +#: utils/adt/varlena.c:3134 #, c-format msgid "integer out of range" msgstr "entero fuera de rango" @@ -23333,7 +23286,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:5591 utils/adt/arrayfuncs.c:5597 +#: utils/adt/arrayfuncs.c:5590 utils/adt/arrayfuncs.c:5596 #, c-format msgid "cannot accumulate arrays of different dimensionality" msgstr "no se pueden acumular arrays de distinta dimensionalidad" @@ -23440,8 +23393,8 @@ msgstr "Los arrays multidimensionales deben tener sub-arrays con dimensiones coi 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:3480 -#: utils/adt/arrayfuncs.c:6081 +#: utils/adt/arrayfuncs.c:1325 utils/adt/arrayfuncs.c:3479 +#: utils/adt/arrayfuncs.c:6080 #, c-format msgid "invalid number of dimensions: %d" msgstr "número incorrecto de dimensiones: %d" @@ -23480,8 +23433,8 @@ 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:6067 -#: utils/adt/arrayfuncs.c:6093 utils/adt/arrayfuncs.c:6104 +#: utils/adt/arrayfuncs.c:2911 utils/adt/arrayfuncs.c:6066 +#: utils/adt/arrayfuncs.c:6092 utils/adt/arrayfuncs.c:6103 #: utils/adt/json.c:1497 utils/adt/json.c:1569 utils/adt/jsonb.c:1416 #: utils/adt/jsonb.c:1500 utils/adt/jsonfuncs.c:4434 utils/adt/jsonfuncs.c:4587 #: utils/adt/jsonfuncs.c:4698 utils/adt/jsonfuncs.c:4746 @@ -23520,80 +23473,80 @@ msgstr "Cuando se asigna a un segmento de un array vacío, los bordes del segmen msgid "source array too small" msgstr "el array de origen es demasiado pequeño" -#: utils/adt/arrayfuncs.c:3638 +#: utils/adt/arrayfuncs.c:3637 #, 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:3809 utils/adt/arrayfuncs.c:3980 -#: utils/adt/arrayfuncs.c:4371 +#: utils/adt/arrayfuncs.c:3808 utils/adt/arrayfuncs.c:3979 +#: utils/adt/arrayfuncs.c:4370 #, 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:4158 utils/adt/multirangetypes.c:2806 +#: utils/adt/arrayfuncs.c:4157 utils/adt/multirangetypes.c:2806 #: utils/adt/multirangetypes.c:2878 utils/adt/rangetypes.c:1354 #: utils/adt/rangetypes.c:1418 utils/adt/rowtypes.c:1885 #, 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:4286 utils/adt/rowtypes.c:2006 +#: utils/adt/arrayfuncs.c:4285 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:5481 +#: utils/adt/arrayfuncs.c:5480 #, c-format msgid "data type %s is not an array type" msgstr "el tipo %s no es un array" -#: utils/adt/arrayfuncs.c:5536 +#: utils/adt/arrayfuncs.c:5535 #, c-format msgid "cannot accumulate null arrays" msgstr "no se pueden acumular arrays nulos" -#: utils/adt/arrayfuncs.c:5564 +#: utils/adt/arrayfuncs.c:5563 #, c-format msgid "cannot accumulate empty arrays" msgstr "no se pueden acumular arrays vacíos" -#: utils/adt/arrayfuncs.c:5965 utils/adt/arrayfuncs.c:6005 +#: utils/adt/arrayfuncs.c:5964 utils/adt/arrayfuncs.c:6004 #, 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:6068 utils/adt/arrayfuncs.c:6094 +#: utils/adt/arrayfuncs.c:6067 utils/adt/arrayfuncs.c:6093 #, c-format msgid "Dimension array must be one dimensional." msgstr "El array de dimensiones debe ser unidimensional." -#: utils/adt/arrayfuncs.c:6073 utils/adt/arrayfuncs.c:6099 +#: utils/adt/arrayfuncs.c:6072 utils/adt/arrayfuncs.c:6098 #, c-format msgid "dimension values cannot be null" msgstr "los valores de dimensión no pueden ser null" -#: utils/adt/arrayfuncs.c:6105 +#: utils/adt/arrayfuncs.c:6104 #, 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:6383 +#: utils/adt/arrayfuncs.c:6382 #, 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:6660 +#: utils/adt/arrayfuncs.c:6659 #, c-format msgid "thresholds must be one-dimensional array" msgstr "los umbrales deben ser un array unidimensional" -#: utils/adt/arrayfuncs.c:6665 +#: utils/adt/arrayfuncs.c:6664 #, c-format msgid "thresholds array must not contain NULLs" msgstr "el array de umbrales no debe contener nulos" -#: utils/adt/arrayfuncs.c:6898 +#: utils/adt/arrayfuncs.c:6897 #, 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" @@ -23635,8 +23588,8 @@ msgstr "la conversión de codificación de %s a ASCII no está soportada" #. translator: first %s is inet or cidr #: utils/adt/bool.c:153 utils/adt/cash.c:277 utils/adt/datetime.c:4017 -#: utils/adt/float.c:207 utils/adt/float.c:294 utils/adt/float.c:308 -#: utils/adt/float.c:413 utils/adt/float.c:496 utils/adt/float.c:510 +#: utils/adt/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 @@ -23647,7 +23600,7 @@ msgstr "la conversión de codificación de %s a ASCII no está soportada" #: utils/adt/numutils.c:451 utils/adt/numutils.c:629 utils/adt/numutils.c:668 #: utils/adt/numutils.c:690 utils/adt/numutils.c:754 utils/adt/numutils.c:776 #: utils/adt/pg_lsn.c:74 utils/adt/tid.c:72 utils/adt/tid.c:80 -#: utils/adt/tid.c:94 utils/adt/tid.c:103 utils/adt/timestamp.c:493 +#: 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 #, c-format msgid "invalid input syntax for type %s: \"%s\"" @@ -23671,7 +23624,7 @@ msgstr "el valor «%s» está fuera de rango para el tipo %s" #: 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:3414 +#: utils/adt/timestamp.c:3406 #, c-format msgid "division by zero" msgstr "división por cero" @@ -23683,140 +23636,140 @@ msgstr "«char» fuera de rango" #: utils/adt/cryptohashfuncs.c:48 utils/adt/cryptohashfuncs.c:70 #, fuzzy, c-format -#| msgid "could not decompress data: %s" +#| msgid "could not decompress: %s" msgid "could not compute %s hash: %s" -msgstr "no se pudo descomprimir datos: %s" +msgstr "no se pudo descomprimir: %s" + +#: utils/adt/date.c:63 utils/adt/timestamp.c:100 utils/adt/varbit.c:105 +#: utils/adt/varchar.c:49 +#, c-format +msgid "invalid type modifier" +msgstr "el modificador de tipo no es válido" -#: utils/adt/date.c:54 +#: utils/adt/date.c:75 #, c-format msgid "TIME(%d)%s precision must not be negative" msgstr "la precisión de TIME(%d)%s no debe ser negativa" -#: utils/adt/date.c:60 +#: utils/adt/date.c:81 #, c-format msgid "TIME(%d)%s precision reduced to maximum allowed, %d" msgstr "la precisión de TIME(%d)%s fue reducida al máximo permitido, %d" -#: utils/adt/date.c:84 utils/adt/timestamp.c:121 utils/adt/varbit.c:105 -#: utils/adt/varchar.c:49 -#, c-format -msgid "invalid type modifier" -msgstr "el modificador de tipo no es válido" - -#: utils/adt/date.c:165 utils/adt/date.c:173 utils/adt/formatting.c:4241 +#: utils/adt/date.c:166 utils/adt/date.c:174 utils/adt/formatting.c:4241 #: utils/adt/formatting.c:4250 utils/adt/formatting.c:4363 #: utils/adt/formatting.c:4373 #, c-format msgid "date out of range: \"%s\"" msgstr "fecha fuera de rango: «%s»" -#: utils/adt/date.c:220 utils/adt/date.c:528 utils/adt/date.c:552 +#: 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 #, c-format msgid "date out of range" msgstr "fecha fuera de rango" -#: utils/adt/date.c:266 utils/adt/timestamp.c:581 +#: utils/adt/date.c:267 utils/adt/timestamp.c:582 #, c-format msgid "date field value out of range: %d-%02d-%02d" msgstr "valor en campo de fecha fuera de rango: %d-%02d-%02d" -#: utils/adt/date.c:273 utils/adt/date.c:282 utils/adt/timestamp.c:587 +#: utils/adt/date.c:274 utils/adt/date.c:283 utils/adt/timestamp.c:588 #, c-format msgid "date out of range: %d-%02d-%02d" msgstr "fecha fuera de rango: %d-%02d-%02d" -#: utils/adt/date.c:503 +#: utils/adt/date.c:494 #, c-format msgid "cannot subtract infinite dates" msgstr "no se pueden restar fechas infinitas" -#: utils/adt/date.c:601 utils/adt/date.c:664 utils/adt/date.c:700 -#: utils/adt/date.c:2894 utils/adt/date.c:2904 +#: utils/adt/date.c:592 utils/adt/date.c:655 utils/adt/date.c:691 +#: utils/adt/date.c:2885 utils/adt/date.c:2895 #, c-format msgid "date out of range for timestamp" msgstr "fecha fuera de rango para timestamp" -#: utils/adt/date.c:1130 utils/adt/date.c:1213 utils/adt/date.c:1229 -#: utils/adt/date.c:2215 utils/adt/date.c:2999 utils/adt/timestamp.c:4105 -#: utils/adt/timestamp.c:4298 utils/adt/timestamp.c:4440 -#: utils/adt/timestamp.c:4693 utils/adt/timestamp.c:4894 -#: utils/adt/timestamp.c:4941 utils/adt/timestamp.c:5165 -#: utils/adt/timestamp.c:5212 utils/adt/timestamp.c:5342 +#: 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" msgid "unit \"%s\" not supported for type %s" msgstr "«RN» no está soportado en la entrada" -#: utils/adt/date.c:1238 utils/adt/date.c:2231 utils/adt/date.c:3019 -#: utils/adt/timestamp.c:4119 utils/adt/timestamp.c:4315 -#: utils/adt/timestamp.c:4454 utils/adt/timestamp.c:4653 -#: utils/adt/timestamp.c:4950 utils/adt/timestamp.c:5221 -#: utils/adt/timestamp.c:5403 +#: 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" msgid "unit \"%s\" not recognized for type %s" msgstr "%s: tipo de inicio «%s» no reconocido\n" -#: utils/adt/date.c:1322 utils/adt/date.c:1368 utils/adt/date.c:1927 -#: utils/adt/date.c:1958 utils/adt/date.c:1987 utils/adt/date.c:2857 -#: utils/adt/date.c:3089 utils/adt/datetime.c:424 utils/adt/datetime.c:1809 +#: 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:231 utils/adt/timestamp.c:263 -#: utils/adt/timestamp.c:699 utils/adt/timestamp.c:708 -#: utils/adt/timestamp.c:786 utils/adt/timestamp.c:819 -#: utils/adt/timestamp.c:2941 utils/adt/timestamp.c:2962 -#: utils/adt/timestamp.c:2975 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:3100 utils/adt/timestamp.c:3108 -#: utils/adt/timestamp.c:3809 utils/adt/timestamp.c:3933 -#: utils/adt/timestamp.c:4023 utils/adt/timestamp.c:4113 -#: utils/adt/timestamp.c:4206 utils/adt/timestamp.c:4309 -#: utils/adt/timestamp.c:4758 utils/adt/timestamp.c:5032 -#: utils/adt/timestamp.c:5471 utils/adt/timestamp.c:5481 -#: utils/adt/timestamp.c:5486 utils/adt/timestamp.c:5492 -#: utils/adt/timestamp.c:5525 utils/adt/timestamp.c:5612 -#: utils/adt/timestamp.c:5653 utils/adt/timestamp.c:5657 -#: utils/adt/timestamp.c:5711 utils/adt/timestamp.c:5715 -#: utils/adt/timestamp.c:5721 utils/adt/timestamp.c:5755 utils/adt/xml.c:2482 +#: 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 #, c-format msgid "timestamp out of range" msgstr "timestamp fuera de rango" -#: utils/adt/date.c:1544 utils/adt/date.c:2352 utils/adt/formatting.c:4431 +#: utils/adt/date.c:1535 utils/adt/date.c:2343 utils/adt/formatting.c:4431 #, c-format msgid "time out of range" msgstr "hora fuera de rango" -#: utils/adt/date.c:1596 utils/adt/timestamp.c:596 +#: utils/adt/date.c:1587 utils/adt/timestamp.c:597 #, c-format msgid "time field value out of range: %d:%02d:%02g" msgstr "valor en campo de hora fuera de rango: %d:%02d:%02g" -#: utils/adt/date.c:2116 utils/adt/date.c:2656 utils/adt/float.c:1043 -#: utils/adt/float.c:1119 utils/adt/int.c:635 utils/adt/int.c:682 +#: 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:3463 utils/adt/timestamp.c:3490 -#: utils/adt/timestamp.c:3521 +#: utils/adt/timestamp.c:3455 utils/adt/timestamp.c:3482 +#: utils/adt/timestamp.c:3513 #, c-format msgid "invalid preceding or following size in window function" msgstr "tamaño «preceding» o «following» no válido en ventana deslizante" -#: utils/adt/date.c:2360 +#: utils/adt/date.c:2351 #, c-format msgid "time zone displacement out of range" msgstr "desplazamiento de huso horario fuera de rango" -#: utils/adt/date.c:3119 utils/adt/timestamp.c:5514 utils/adt/timestamp.c:5744 +#: utils/adt/date.c:3110 utils/adt/timestamp.c:5506 utils/adt/timestamp.c:5736 #, 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:511 +#: utils/adt/datetime.c:4008 utils/adt/timestamp.c:512 #, c-format msgid "time zone \"%s\" not recognized" msgstr "el huso horario «%s» no es reconocido" @@ -23967,17 +23920,17 @@ msgstr "valor fuera de rango: desbordamiento" msgid "value out of range: underflow" msgstr "valor fuera de rango: desbordamiento por abajo" -#: utils/adt/float.c:287 +#: utils/adt/float.c:286 #, c-format msgid "\"%s\" is out of range for type real" msgstr "«%s» está fuera de rango para el tipo real" -#: utils/adt/float.c:489 +#: utils/adt/float.c:488 #, c-format msgid "\"%s\" is out of range for type double precision" msgstr "«%s» está fuera de rango para el tipo double precision" -#: utils/adt/float.c:1254 utils/adt/float.c:1328 utils/adt/int.c:355 +#: 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 @@ -23985,63 +23938,63 @@ msgstr "«%s» está fuera de rango para el tipo double precision" msgid "smallint out of range" msgstr "smallint fuera de rango" -#: utils/adt/float.c:1454 utils/adt/numeric.c:3693 utils/adt/numeric.c:10027 +#: utils/adt/float.c:1453 utils/adt/numeric.c:3693 utils/adt/numeric.c:10027 #, 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:1522 utils/adt/numeric.c:3981 utils/adt/numeric.c:4093 +#: utils/adt/float.c:1521 utils/adt/numeric.c:3981 utils/adt/numeric.c:4093 #, c-format msgid "zero raised to a negative power is undefined" msgstr "cero elevado a una potencia negativa es indefinido" -#: utils/adt/float.c:1526 utils/adt/numeric.c:3985 utils/adt/numeric.c:10918 +#: utils/adt/float.c:1525 utils/adt/numeric.c:3985 utils/adt/numeric.c:10918 #, 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:1702 utils/adt/float.c:1735 utils/adt/numeric.c:3893 +#: utils/adt/float.c:1701 utils/adt/float.c:1734 utils/adt/numeric.c:3893 #: utils/adt/numeric.c:10698 #, c-format msgid "cannot take logarithm of zero" msgstr "no se puede calcular logaritmo de cero" -#: utils/adt/float.c:1706 utils/adt/float.c:1739 utils/adt/numeric.c:3831 +#: 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 #, c-format msgid "cannot take logarithm of a negative number" msgstr "no se puede calcular logaritmo de un número negativo" -#: utils/adt/float.c:1772 utils/adt/float.c:1803 utils/adt/float.c:1898 -#: utils/adt/float.c:1925 utils/adt/float.c:1953 utils/adt/float.c:1980 -#: utils/adt/float.c:2127 utils/adt/float.c:2164 utils/adt/float.c:2334 -#: utils/adt/float.c:2390 utils/adt/float.c:2455 utils/adt/float.c:2512 -#: utils/adt/float.c:2703 utils/adt/float.c:2727 +#: utils/adt/float.c:1771 utils/adt/float.c:1802 utils/adt/float.c:1897 +#: utils/adt/float.c:1924 utils/adt/float.c:1952 utils/adt/float.c:1979 +#: utils/adt/float.c:2126 utils/adt/float.c:2163 utils/adt/float.c:2333 +#: utils/adt/float.c:2389 utils/adt/float.c:2454 utils/adt/float.c:2511 +#: utils/adt/float.c:2702 utils/adt/float.c:2726 #, c-format msgid "input is out of range" msgstr "la entrada está fuera de rango" -#: utils/adt/float.c:2868 +#: utils/adt/float.c:2867 #, c-format msgid "setseed parameter %g is out of allowed range [-1,1]" msgstr "parámetro setseed %g fuera del rango permitido [-1,1]" -#: utils/adt/float.c:4096 utils/adt/numeric.c:1841 +#: utils/adt/float.c:4095 utils/adt/numeric.c:1841 #, c-format msgid "count must be greater than zero" msgstr "count debe ser mayor que cero" -#: utils/adt/float.c:4101 utils/adt/numeric.c:1852 +#: utils/adt/float.c:4100 utils/adt/numeric.c:1852 #, 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:4107 utils/adt/numeric.c:1857 +#: utils/adt/float.c:4106 utils/adt/numeric.c:1857 #, c-format msgid "lower and upper bounds must be finite" msgstr "los límites inferior y superior deben ser finitos" -#: utils/adt/float.c:4173 utils/adt/numeric.c:1871 +#: utils/adt/float.c:4172 utils/adt/numeric.c:1871 #, c-format msgid "lower bound cannot equal upper bound" msgstr "el límite superior no puede ser igual al límite inferior" @@ -24315,9 +24268,9 @@ msgstr "no se permiten rutas absolutas" #: utils/adt/genfile.c:89 #, fuzzy, c-format -#| msgid "path must be in or below the current directory" +#| msgid "Shows the mode of the data directory." msgid "path must be in or below the data directory" -msgstr "la ruta debe estar en o debajo del directorio actual" +msgstr "Muestra el modo 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 @@ -24398,7 +24351,7 @@ 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:5805 utils/adt/timestamp.c:5887 +#: utils/adt/timestamp.c:5797 utils/adt/timestamp.c:5879 #, c-format msgid "step size cannot equal zero" msgstr "el tamaño de paso no puede ser cero" @@ -24544,16 +24497,16 @@ 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 "total size of jsonb array elements exceeds the maximum of %u bytes" +#| msgid "number of jsonb array elements exceeds the maximum allowed (%zu)" msgid "total size of jsonb array elements exceeds the maximum of %d bytes" -msgstr "el tamaño total de los elementos del array jsonb excede el máximo de %u bytes" +msgstr "el número de elementos del array jsonb excede el máximo permitido (%zu)" #: utils/adt/jsonb_util.c:1754 utils/adt/jsonb_util.c:1789 #: utils/adt/jsonb_util.c:1809 #, fuzzy, c-format -#| msgid "total size of jsonb object elements exceeds the maximum of %u bytes" +#| msgid "number of jsonb array elements exceeds the maximum allowed (%zu)" msgid "total size of jsonb object elements exceeds the maximum of %d bytes" -msgstr "el tamaño total de los elementos del objeto jsonb excede el máximo de %u 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 @@ -25303,9 +25256,9 @@ msgstr "el carácter solicitado es demasiado grande" #: utils/adt/oracle_compat.c:1020 #, fuzzy, c-format -#| msgid "host name must be specified\n" +#| msgid "host name must be specified" msgid "character number must be positive" -msgstr "el nombre de servidor debe ser especificado\n" +msgstr "el nombre de servidor debe ser especificado" #: utils/adt/oracle_compat.c:1024 #, c-format @@ -25336,8 +25289,8 @@ msgstr "el valor de percentil %g no está entre 0 y 1" 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" -#: utils/adt/pg_locale.c:1417 utils/adt/pg_locale.c:2852 -#: utils/adt/pg_locale.c:2924 +#: utils/adt/pg_locale.c:1417 utils/adt/pg_locale.c:2847 +#: utils/adt/pg_locale.c:2919 #, c-format msgid "ICU is not supported in this build" msgstr "ICU no está soportado en este servidor" @@ -25398,7 +25351,7 @@ msgstr "no se pudo obtener la versión de «collation» para la configuración r 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:1800 +#: utils/adt/pg_locale.c:1799 #, c-format msgid "could not compare Unicode strings: %m" msgstr "no se pudieron comparar las cadenas Unicode: %m" @@ -25413,11 +25366,10 @@ msgstr "el ordenamiento falló: %s" 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:2796 -#, fuzzy, c-format -#| msgid "could not open collator for locale \"%s\": %s" +#: utils/adt/pg_locale.c:2474 utils/adt/pg_locale.c:2798 +#, c-format msgid "could not get language from locale \"%s\": %s" -msgstr "no se pudo abrir el «collator» para la configuración regional «%s»: %s" +msgstr "no se pudo el lenguaje de la configuración regional «%s»: %s" #: utils/adt/pg_locale.c:2495 utils/adt/pg_locale.c:2511 #, c-format @@ -25434,40 +25386,40 @@ msgstr "la codificación «%s» no estæ soportada por ICU" msgid "could not open ICU converter for encoding \"%s\": %s" msgstr "no se pudo abrir el conversor ICU para la codificación «%s»: %s" -#: utils/adt/pg_locale.c:2560 utils/adt/pg_locale.c:2578 -#: utils/adt/pg_locale.c:2634 utils/adt/pg_locale.c:2644 +#: utils/adt/pg_locale.c:2561 utils/adt/pg_locale.c:2580 +#: utils/adt/pg_locale.c:2636 utils/adt/pg_locale.c:2647 #, c-format msgid "%s failed: %s" msgstr "%s falló: %s" -#: utils/adt/pg_locale.c:2843 +#: utils/adt/pg_locale.c:2838 #, 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:2884 +#: utils/adt/pg_locale.c:2879 #, fuzzy, c-format -#| msgid "could not open collator for locale \"%s\": %s" +#| msgid "could not get language from locale \"%s\": %s" msgid "could not get language from ICU locale \"%s\": %s" -msgstr "no se pudo abrir el «collator» para la configuración regional «%s»: %s" +msgstr "no se pudo el lenguaje de la configuración regional «%s»: %s" -#: utils/adt/pg_locale.c:2886 utils/adt/pg_locale.c:2915 +#: utils/adt/pg_locale.c:2881 utils/adt/pg_locale.c:2910 #, c-format msgid "To disable ICU locale validation, set parameter icu_validation_level to DISABLED." msgstr "" -#: utils/adt/pg_locale.c:2913 +#: utils/adt/pg_locale.c:2908 #, fuzzy, c-format -#| msgid "cursor \"%s\" has no argument named \"%s\"" +#| msgid "locale \"%s\" has unknown language \"%s\"" msgid "ICU locale \"%s\" has unknown language \"%s\"" -msgstr "el cursor «%s» no tiene un argumento llamado «%s»" +msgstr "la configuración regional «%s» tiene lenguaje «%s» desconocido" -#: utils/adt/pg_locale.c:3093 +#: utils/adt/pg_locale.c:3088 #, 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:3094 +#: utils/adt/pg_locale.c:3089 #, 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." @@ -25492,17 +25444,17 @@ msgstr "la función sólo puede invocarse cuando el servidor está en modo de ac msgid "invalid command name: \"%s\"" msgstr "nombre de orden no válido: «%s»" -#: utils/adt/pgstatfuncs.c:1768 +#: utils/adt/pgstatfuncs.c:1773 #, c-format msgid "unrecognized reset target: \"%s\"" msgstr "destino de reset no reconocido: «%s»" -#: utils/adt/pgstatfuncs.c:1769 +#: utils/adt/pgstatfuncs.c:1774 #, c-format msgid "Target must be \"archiver\", \"bgwriter\", \"io\", \"recovery_prefetch\", or \"wal\"." msgstr "" -#: utils/adt/pgstatfuncs.c:1847 +#: utils/adt/pgstatfuncs.c:1852 #, fuzzy, c-format #| msgid "invalid role OID: %u" msgid "invalid subscription OID %u" @@ -25588,7 +25540,7 @@ msgstr "Demasiadas comas." msgid "Junk after right parenthesis or bracket." msgstr "Basura después del paréntesis o corchete derecho." -#: utils/adt/regexp.c:305 utils/adt/regexp.c:1997 utils/adt/varlena.c:4271 +#: utils/adt/regexp.c:305 utils/adt/regexp.c:1997 utils/adt/varlena.c:4270 #, c-format msgid "regular expression failed: %s" msgstr "la expresión regular falló: %s" @@ -25606,7 +25558,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:6734 utils/misc/guc.c:6768 +#: utils/adt/regexp.c:1872 utils/misc/guc.c:6610 utils/misc/guc.c:6644 #, c-format msgid "invalid value for parameter \"%s\": %d" msgstr "valor no válido para el parámetro «%s»: %d" @@ -25644,18 +25596,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:8862 +#: utils/adt/regproc.c:670 gram.y:8844 #, c-format msgid "missing argument" msgstr "falta un argumento" -#: utils/adt/regproc.c:671 gram.y:8863 +#: utils/adt/regproc.c:671 gram.y:8845 #, 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:9934 -#: utils/adt/ruleutils.c:10147 +#: utils/adt/regproc.c:675 utils/adt/regproc.c:2009 utils/adt/ruleutils.c:10013 +#: utils/adt/ruleutils.c:10226 #, c-format msgid "too many arguments" msgstr "demasiados argumentos" @@ -25666,7 +25618,7 @@ msgid "Provide two argument types for operator." msgstr "Provea dos tipos de argumento para un operador." #: utils/adt/regproc.c:1544 utils/adt/regproc.c:1661 utils/adt/regproc.c:1790 -#: utils/adt/regproc.c:1795 utils/adt/varlena.c:3411 utils/adt/varlena.c:3416 +#: utils/adt/regproc.c:1795 utils/adt/varlena.c:3410 utils/adt/varlena.c:3415 #, c-format msgid "invalid name syntax" msgstr "la sintaxis de nombre no es válida" @@ -25727,7 +25679,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:4244 +#: utils/adt/ri_triggers.c:2112 gram.y:4226 #, c-format msgid "MATCH PARTIAL not yet implemented" msgstr "MATCH PARTIAL no está implementada" @@ -25830,111 +25782,111 @@ 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:2678 +#: utils/adt/ruleutils.c:2694 #, fuzzy, c-format #| msgid "cannot use subquery in index expression" msgid "input is a query, not an expression" msgstr "no se puede usar una subconsulta en una expresión de índice" -#: utils/adt/ruleutils.c:2690 +#: utils/adt/ruleutils.c:2706 #, fuzzy, c-format #| msgid "USING expression contains a whole-row table reference." msgid "expression contains variables of more than one relation" msgstr "La expresión USING contiene una referencia a la fila completa (whole-row)." -#: utils/adt/ruleutils.c:2697 +#: utils/adt/ruleutils.c:2713 #, fuzzy, c-format #| msgid "argument of %s must not contain variables" msgid "expression contains variables" msgstr "el argumento de %s no puede contener variables" -#: utils/adt/ruleutils.c:5211 +#: utils/adt/ruleutils.c:5227 #, c-format msgid "rule \"%s\" has unsupported event type %d" msgstr "la regla «%s» tiene el tipo de evento no soportado %d" -#: utils/adt/timestamp.c:91 +#: utils/adt/timestamp.c:112 #, c-format msgid "TIMESTAMP(%d)%s precision must not be negative" msgstr "la precisión de TIMESTAMP(%d)%s no debe ser negativa" -#: utils/adt/timestamp.c:97 +#: utils/adt/timestamp.c:118 #, c-format msgid "TIMESTAMP(%d)%s precision reduced to maximum allowed, %d" msgstr "la precisión de TIMESTAMP(%d)%s fue reducida al máximo permitido, %d" -#: utils/adt/timestamp.c:377 +#: utils/adt/timestamp.c:378 #, c-format msgid "timestamp(%d) precision must be between %d and %d" msgstr "la precisión de timestamp(%d) debe estar entre %d y %d" -#: utils/adt/timestamp.c:495 +#: utils/adt/timestamp.c:496 #, c-format msgid "Numeric time zones must have \"-\" or \"+\" as first character." msgstr "Los husos horarios numéricos deben tener «-» o «+» como su primer carácter." -#: utils/adt/timestamp.c:507 +#: utils/adt/timestamp.c:508 #, c-format msgid "numeric time zone \"%s\" out of range" msgstr "huso horario numérico «%s» fuera de rango" -#: utils/adt/timestamp.c:608 utils/adt/timestamp.c:618 -#: utils/adt/timestamp.c:626 +#: utils/adt/timestamp.c:609 utils/adt/timestamp.c:619 +#: utils/adt/timestamp.c:627 #, c-format msgid "timestamp out of range: %d-%02d-%02d %d:%02d:%02g" msgstr "timestamp fuera de rango: %d-%02d-%02d %d:%02d:%02g" -#: utils/adt/timestamp.c:727 +#: utils/adt/timestamp.c:728 #, c-format msgid "timestamp cannot be NaN" msgstr "el timestamp no puede ser NaN" -#: utils/adt/timestamp.c:745 utils/adt/timestamp.c:757 +#: utils/adt/timestamp.c:746 utils/adt/timestamp.c:758 #, c-format msgid "timestamp out of range: \"%g\"" msgstr "timestamp fuera de rango: «%g»" -#: utils/adt/timestamp.c:1064 utils/adt/timestamp.c:1097 +#: utils/adt/timestamp.c:1065 utils/adt/timestamp.c:1098 #, c-format msgid "invalid INTERVAL type modifier" msgstr "modificador de tipo INTERVAL no válido" -#: utils/adt/timestamp.c:1080 +#: utils/adt/timestamp.c:1081 #, c-format msgid "INTERVAL(%d) precision must not be negative" msgstr "la precisión de INTERVAL(%d) no debe ser negativa" -#: utils/adt/timestamp.c:1086 +#: utils/adt/timestamp.c:1087 #, c-format msgid "INTERVAL(%d) precision reduced to maximum allowed, %d" msgstr "la precisión de INTERVAL(%d) fue reducida al máximo permitido, %d" -#: utils/adt/timestamp.c:1472 +#: utils/adt/timestamp.c:1473 #, c-format msgid "interval(%d) precision must be between %d and %d" msgstr "la precisión de interval(%d) debe estar entre %d y %d" -#: utils/adt/timestamp.c:2711 +#: utils/adt/timestamp.c:2703 #, c-format msgid "cannot subtract infinite timestamps" msgstr "no se pueden restar timestamps infinitos" -#: utils/adt/timestamp.c:3964 utils/adt/timestamp.c:4147 +#: utils/adt/timestamp.c:3956 utils/adt/timestamp.c:4139 #, c-format msgid "origin out of range" msgstr "origen fuera de rango" -#: utils/adt/timestamp.c:3969 utils/adt/timestamp.c:4152 +#: utils/adt/timestamp.c:3961 utils/adt/timestamp.c:4144 #, 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:3976 utils/adt/timestamp.c:4159 +#: utils/adt/timestamp.c:3968 utils/adt/timestamp.c:4151 #, c-format msgid "stride must be greater than zero" msgstr "el intervalo de paso (stride) debe ser mayor que cero" -#: utils/adt/timestamp.c:4442 +#: utils/adt/timestamp.c:4434 #, c-format msgid "Months usually have fractional weeks." msgstr "" @@ -26161,8 +26113,8 @@ msgid "bit string too long for type bit varying(%d)" msgstr "la cadena de bits es demasiado larga para el tipo bit varying(%d)" #: utils/adt/varbit.c:1081 utils/adt/varbit.c:1191 utils/adt/varlena.c:908 -#: utils/adt/varlena.c:971 utils/adt/varlena.c:1128 utils/adt/varlena.c:3053 -#: utils/adt/varlena.c:3131 +#: utils/adt/varlena.c:971 utils/adt/varlena.c:1128 utils/adt/varlena.c:3052 +#: utils/adt/varlena.c:3130 #, c-format msgid "negative substring length not allowed" msgstr "no se permite un largo negativo de subcadena" @@ -26187,7 +26139,7 @@ msgstr "no se puede hacer XOR entre cadenas de bits de distintos tamaños" msgid "bit index %d out of valid range (0..%d)" msgstr "el índice de bit %d está fuera del rango válido (0..%d)" -#: utils/adt/varbit.c:1833 utils/adt/varlena.c:3335 +#: utils/adt/varbit.c:1833 utils/adt/varlena.c:3334 #, c-format msgid "new bit must be 0 or 1" msgstr "el nuevo bit debe ser 0 o 1" @@ -26212,77 +26164,77 @@ msgstr "no se pudo determinar qué ordenamiento usar para la comparación de cad msgid "nondeterministic collations are not supported for substring searches" msgstr "los ordenamientos no determinísticos no están soportados para búsquedas de sub-cadenas" -#: utils/adt/varlena.c:3219 utils/adt/varlena.c:3286 +#: utils/adt/varlena.c:3218 utils/adt/varlena.c:3285 #, c-format msgid "index %d out of valid range, 0..%d" msgstr "el índice %d está fuera de rango [0..%d]" -#: utils/adt/varlena.c:3250 utils/adt/varlena.c:3322 +#: utils/adt/varlena.c:3249 utils/adt/varlena.c:3321 #, c-format msgid "index %lld out of valid range, 0..%lld" msgstr "el índice %lld está fuera de rango, 0..%lld" -#: utils/adt/varlena.c:4383 +#: utils/adt/varlena.c:4382 #, c-format msgid "field position must not be zero" msgstr "la posición del campo no debe ser cero" -#: utils/adt/varlena.c:5555 +#: utils/adt/varlena.c:5554 #, c-format msgid "unterminated format() type specifier" msgstr "especificador de tipo inconcluso en format()" -#: utils/adt/varlena.c:5556 utils/adt/varlena.c:5690 utils/adt/varlena.c:5811 +#: utils/adt/varlena.c:5555 utils/adt/varlena.c:5689 utils/adt/varlena.c:5810 #, c-format msgid "For a single \"%%\" use \"%%%%\"." msgstr "Para un «%%» solo, use «%%%%»." -#: utils/adt/varlena.c:5688 utils/adt/varlena.c:5809 +#: utils/adt/varlena.c:5687 utils/adt/varlena.c:5808 #, c-format msgid "unrecognized format() type specifier \"%.*s\"" msgstr "especificador de tipo no reconocido «%.*s» en format()" -#: utils/adt/varlena.c:5701 utils/adt/varlena.c:5758 +#: utils/adt/varlena.c:5700 utils/adt/varlena.c:5757 #, c-format msgid "too few arguments for format()" msgstr "muy pocos argumentos para format()" -#: utils/adt/varlena.c:5854 utils/adt/varlena.c:6036 +#: utils/adt/varlena.c:5853 utils/adt/varlena.c:6035 #, c-format msgid "number is out of range" msgstr "el número está fuera de rango" -#: utils/adt/varlena.c:5917 utils/adt/varlena.c:5945 +#: utils/adt/varlena.c:5916 utils/adt/varlena.c:5944 #, c-format msgid "format specifies argument 0, but arguments are numbered from 1" msgstr "la conversión especifica el argumento 0, pero los argumentos se numeran desde 1" -#: utils/adt/varlena.c:5938 +#: utils/adt/varlena.c:5937 #, c-format msgid "width argument position must be ended by \"$\"" msgstr "la posición del argumento de anchura debe terminar con «$»" -#: utils/adt/varlena.c:5983 +#: utils/adt/varlena.c:5982 #, c-format msgid "null values cannot be formatted as an SQL identifier" msgstr "los valores nulos no pueden ser formateados como un identificador SQL" -#: utils/adt/varlena.c:6191 +#: utils/adt/varlena.c:6190 #, c-format msgid "Unicode normalization can only be performed if server encoding is UTF8" msgstr "la normalización Unicode sólo puede ser hecha si la codificación de servidor es UTF8" -#: utils/adt/varlena.c:6204 +#: utils/adt/varlena.c:6203 #, c-format msgid "invalid normalization form: %s" msgstr "forma de normalización no válida: %s" -#: utils/adt/varlena.c:6407 utils/adt/varlena.c:6442 utils/adt/varlena.c:6477 +#: utils/adt/varlena.c:6406 utils/adt/varlena.c:6441 utils/adt/varlena.c:6476 #, c-format msgid "invalid Unicode code point: %04X" msgstr "punto de código Unicode no válido: %04X" -#: utils/adt/varlena.c:6507 +#: utils/adt/varlena.c:6506 #, c-format msgid "Unicode escapes must be \\XXXX, \\+XXXXXX, \\uXXXX, or \\UXXXXXXXX." msgstr "Los escapes Unicode deben ser \\XXXX, \\+XXXXXX, \\uXXXX o \\UXXXXXXXX." @@ -26494,15 +26446,15 @@ msgstr "el plan almacenado no debe cambiar el tipo de resultado" #: utils/cache/relcache.c:3740 #, fuzzy, c-format -#| msgid "relfilenode value not set when in binary upgrade mode" +#| msgid "pg_enum OID value not set when in binary upgrade mode" msgid "heap relfilenumber value not set when in binary upgrade mode" -msgstr "el valor de relfilende no se definió en modo de actualización binaria" +msgstr "el valor de OID de pg_enum no se definió en modo de actualización binaria" #: utils/cache/relcache.c:3748 #, fuzzy, c-format -#| msgid "index relfilenode value not set when in binary upgrade mode" +#| msgid "must be superuser to connect in binary upgrade mode" msgid "unexpected request for new relfilenumber in binary upgrade mode" -msgstr "el valor de relfilenode de índice no se definió en modo de actualización binaria" +msgstr "debe ser superusuario para conectarse en modo de actualización binaria" #: utils/cache/relcache.c:6488 #, c-format @@ -26545,10 +26497,9 @@ msgid "TRAP: ExceptionalCondition: bad arguments in PID %d\n" msgstr "TRAP: ExceptionalCondition: argumentos erróneos en PID %d\n" #: utils/error/assert.c:40 -#, fuzzy, c-format -#| msgid "TRAP: %s(\"%s\", File: \"%s\", Line: %d, PID: %d)\n" +#, c-format msgid "TRAP: failed Assert(\"%s\"), File: \"%s\", Line: %d, PID: %d\n" -msgstr "TRAP: %s(«%s», Archivo: «%s», Línea: %d, PID: %d)\n" +msgstr "" #: utils/error/elog.c:416 #, c-format @@ -26760,12 +26711,12 @@ msgstr "Funciones invocables desde SQL necesitan PG_FUNCTION_INFO_V1(función) q msgid "unrecognized API version %d reported by info function \"%s\"" msgstr "la versión de API %d no reconocida fue reportada por la función «%s»" -#: utils/fmgr/fmgr.c:2081 +#: utils/fmgr/fmgr.c:2080 #, c-format msgid "operator class options info is absent in function call context" msgstr "la información de opciones de la clase de operadores está ausente en el contexto de llamada a función" -#: utils/fmgr/fmgr.c:2148 +#: utils/fmgr/fmgr.c:2147 #, c-format msgid "language validation function %u called for language %u instead of %u" msgstr "función de validación de lenguaje %u invocada para el lenguaje %u en lugar de %u" @@ -26840,7 +26791,7 @@ msgstr "Los permisos deberían ser u=rwx (0700) o u=rwx,g=rx (0750)." 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:3547 +#: utils/init/miscinit.c:693 utils/misc/guc.c:3548 #, 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" @@ -26941,7 +26892,7 @@ msgstr "El archivo parece accidentalmente abandonado, pero no pudo ser eliminado 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:5579 +#: utils/init/miscinit.c:1541 utils/init/miscinit.c:1683 utils/misc/guc.c:5580 #, c-format msgid "could not read from file \"%s\": %m" msgstr "no se pudo leer el archivo «%s»: %m" @@ -27007,10 +26958,9 @@ msgid " SSL enabled (protocol=%s, cipher=%s, bits=%d)" msgstr " SSL habilitado (protocolo=%s, cifrado=%s, bits=%d)" #: utils/init/postinit.c:285 -#, fuzzy, c-format -#| msgid " GSS (authenticated=%s, encrypted=%s, principal=%s)" -msgid " GSS (authenticated=%s, encrypted=%s, deleg_credentials=%s, principal=%s)" -msgstr " GSS (autenticado=%s, cifrado=%s, principal=%s)" +#, c-format +msgid " GSS (authenticated=%s, encrypted=%s, delegated_credentials=%s, principal=%s)" +msgstr "" #: utils/init/postinit.c:286 utils/init/postinit.c:287 #: utils/init/postinit.c:288 utils/init/postinit.c:293 @@ -27025,10 +26975,9 @@ msgid "yes" msgstr "sí" #: utils/init/postinit.c:292 -#, fuzzy, c-format -#| msgid " GSS (authenticated=%s, encrypted=%s, principal=%s)" -msgid " GSS (authenticated=%s, encrypted=%s, deleg_credentials=%s)" -msgstr " GSS (autenticado=%s, cifrado=%s, principal=%s)" +#, c-format +msgid " GSS (authenticated=%s, encrypted=%s, delegated_credentials=%s)" +msgstr "" #: utils/init/postinit.c:333 #, c-format @@ -27115,15 +27064,14 @@ msgstr "debe ser superusuario para conectarse en modo de actualización binaria" #: utils/init/postinit.c:953 #, fuzzy, c-format -#| msgid "remaining connection slots are reserved for non-replication superuser connections" +#| msgid "terminating connection because of crash of another server process" msgid "remaining connection slots are reserved for roles with %s" -msgstr "las conexiones restantes están reservadas a superusuarios y no de replicación" +msgstr "terminando la conexión debido a una falla en otro proceso servidor" #: utils/init/postinit.c:959 -#, fuzzy, c-format -#| msgid "remaining connection slots are reserved for non-replication superuser connections" +#, c-format msgid "remaining connection slots are reserved for roles with privileges of the \"%s\" role" -msgstr "las conexiones restantes están reservadas a superusuarios y no de replicación" +msgstr "" #: utils/init/postinit.c:971 #, fuzzy, c-format @@ -27243,75 +27191,75 @@ msgstr "Unidades válidas para este parámetro son «B», «kB», «MB», «GB» msgid "Valid units for this parameter are \"us\", \"ms\", \"s\", \"min\", \"h\", and \"d\"." msgstr "Unidades válidas son para este parámetro son «us», «ms», «s», «min», «h» y «d»." -#: utils/misc/guc.c:420 +#: utils/misc/guc.c:421 #, c-format msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %d" msgstr "parámetro de configuración «%s» no reconocido en el archivo «%s» línea %d" -#: utils/misc/guc.c:460 utils/misc/guc.c:3405 utils/misc/guc.c:3645 -#: utils/misc/guc.c:3743 utils/misc/guc.c:3841 utils/misc/guc.c:3965 -#: utils/misc/guc.c:4068 +#: 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 #, c-format msgid "parameter \"%s\" cannot be changed without restarting the server" msgstr "el parámetro «%s» no se puede cambiar sin reiniciar el servidor" -#: utils/misc/guc.c:496 +#: utils/misc/guc.c:497 #, c-format msgid "parameter \"%s\" removed from configuration file, reset to default" msgstr "parámetro «%s» eliminado del archivo de configuración, volviendo al valor por omisión" -#: utils/misc/guc.c:561 +#: utils/misc/guc.c:562 #, c-format msgid "parameter \"%s\" changed to \"%s\"" msgstr "el parámetro «%s» fue cambiado a «%s»" -#: utils/misc/guc.c:603 +#: utils/misc/guc.c:604 #, c-format msgid "configuration file \"%s\" contains errors" msgstr "el archivo de configuración «%s» contiene errores" -#: utils/misc/guc.c:608 +#: utils/misc/guc.c:609 #, c-format msgid "configuration file \"%s\" contains errors; unaffected changes were applied" msgstr "el archivo de configuración «%s» contiene errores; los cambios no afectados fueron aplicados" -#: utils/misc/guc.c:613 +#: utils/misc/guc.c:614 #, c-format msgid "configuration file \"%s\" contains errors; no changes were applied" msgstr "el archivo de configuración «%s» contiene errores; no se aplicó ningún cambio" -#: utils/misc/guc.c:1210 utils/misc/guc.c:1226 +#: utils/misc/guc.c:1211 utils/misc/guc.c:1227 #, c-format msgid "invalid configuration parameter name \"%s\"" msgstr "nombre de parámetro de configuración «%s» no válido" -#: utils/misc/guc.c:1212 +#: utils/misc/guc.c:1213 #, c-format msgid "Custom parameter names must be two or more simple identifiers separated by dots." msgstr "Los nombres de los parámetros personalizados deben ser dos o más identificadores sencillos separados por puntos." -#: utils/misc/guc.c:1228 +#: utils/misc/guc.c:1229 #, fuzzy, c-format #| msgid "\"%s\" is a procedure." msgid "\"%s\" is a reserved prefix." msgstr "«%s» es un índice parcial." -#: utils/misc/guc.c:1242 +#: 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:1764 +#: utils/misc/guc.c:1765 #, 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:1769 +#: utils/misc/guc.c:1770 #, 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:1793 +#: utils/misc/guc.c:1794 #, c-format msgid "" "%s does not know where to find the server configuration file.\n" @@ -27320,12 +27268,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:1816 +#: utils/misc/guc.c:1817 #, 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:1844 +#: utils/misc/guc.c:1845 #, c-format msgid "" "%s does not know where to find the database system data.\n" @@ -27334,7 +27282,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:1896 +#: utils/misc/guc.c:1897 #, c-format msgid "" "%s does not know where to find the \"hba\" configuration file.\n" @@ -27343,7 +27291,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:1927 +#: utils/misc/guc.c:1928 #, c-format msgid "" "%s does not know where to find the \"ident\" configuration file.\n" @@ -27352,123 +27300,123 @@ 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:2893 +#: utils/misc/guc.c:2894 msgid "Value exceeds integer range." msgstr "El valor excede el rango para enteros." -#: utils/misc/guc.c:3129 +#: utils/misc/guc.c:3130 #, 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:3165 +#: utils/misc/guc.c:3166 #, 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:3365 utils/misc/guc_funcs.c:54 +#: utils/misc/guc.c:3366 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:3382 utils/misc/guc.c:4529 +#: utils/misc/guc.c:3383 utils/misc/guc.c:4530 #, c-format msgid "parameter \"%s\" cannot be changed" msgstr "no se puede cambiar el parámetro «%s»" -#: utils/misc/guc.c:3415 +#: utils/misc/guc.c:3416 #, 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:3442 utils/misc/guc.c:3500 utils/misc/guc.c:4505 -#: utils/misc/guc.c:6670 +#: utils/misc/guc.c:3443 utils/misc/guc.c:3501 utils/misc/guc.c:4506 +#: utils/misc/guc.c:6546 #, 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:3480 +#: utils/misc/guc.c:3481 #, 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:3539 +#: utils/misc/guc.c:3540 #, 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:3560 +#: utils/misc/guc.c:3561 #, fuzzy, c-format #| msgid "parameter \"%s\" could not be set" msgid "parameter \"%s\" cannot be reset" msgstr "no se pudo cambiar el parámetro «%s»" -#: utils/misc/guc.c:3567 +#: utils/misc/guc.c:3568 #, fuzzy, c-format #| msgid "parameter \"%s\" cannot be set after connection start" 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" -#: utils/misc/guc.c:4211 utils/misc/guc.c:4258 utils/misc/guc.c:5265 +#: 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\"" msgid "permission denied to examine \"%s\"" msgstr "se ha denegado el permiso para crear «%s.%s»" -#: utils/misc/guc.c:4212 utils/misc/guc.c:4259 utils/misc/guc.c:5266 +#: utils/misc/guc.c:4213 utils/misc/guc.c:4260 utils/misc/guc.c:5267 #, c-format msgid "Only roles with privileges of the \"%s\" role may examine this parameter." msgstr "" -#: utils/misc/guc.c:4495 +#: utils/misc/guc.c:4496 #, fuzzy, c-format #| msgid "permission denied for operator %s" msgid "permission denied to perform ALTER SYSTEM RESET ALL" msgstr "permiso denegado al operador %s" -#: utils/misc/guc.c:4561 +#: utils/misc/guc.c:4562 #, 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:4607 +#: utils/misc/guc.c:4608 #, c-format msgid "could not parse contents of file \"%s\"" msgstr "no se pudo interpretar el contenido del archivo «%s»" -#: utils/misc/guc.c:4789 +#: utils/misc/guc.c:4790 #, c-format msgid "attempt to redefine parameter \"%s\"" msgstr "intento de cambiar la opción «%s»" -#: utils/misc/guc.c:5128 +#: utils/misc/guc.c:5129 #, fuzzy, c-format #| msgid "invalid configuration parameter name \"%s\"" msgid "invalid configuration parameter name \"%s\", removing it" msgstr "nombre de parámetro de configuración «%s» no válido" -#: utils/misc/guc.c:5130 +#: utils/misc/guc.c:5131 #, fuzzy, c-format #| msgid "\"%s\" is not a sequence" msgid "\"%s\" is now a reserved prefix." msgstr "«%s» no es una secuencia" -#: utils/misc/guc.c:5999 +#: utils/misc/guc.c:6000 #, c-format msgid "while setting parameter \"%s\" to \"%s\"" msgstr "al establecer el parámetro «%s» a «%s»" -#: utils/misc/guc.c:6168 +#: utils/misc/guc.c:6169 #, c-format msgid "parameter \"%s\" could not be set" msgstr "no se pudo cambiar el parámetro «%s»" -#: utils/misc/guc.c:6258 +#: utils/misc/guc.c:6259 #, 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:6802 +#: utils/misc/guc.c:6678 #, c-format msgid "invalid value for parameter \"%s\": %g" msgstr "valor no válido para el parámetro «%s»: %g" @@ -27478,12 +27426,12 @@ msgstr "valor no válido para el parámetro «%s»: %g" msgid "SET LOCAL TRANSACTION SNAPSHOT is not implemented" msgstr "SET LOCAL TRANSACTION SNAPSHOT no está implementado" -#: utils/misc/guc_funcs.c:228 +#: utils/misc/guc_funcs.c:218 #, c-format msgid "SET %s takes only one argument" msgstr "SET %s lleva sólo un argumento" -#: utils/misc/guc_funcs.c:352 +#: utils/misc/guc_funcs.c:342 #, c-format msgid "SET requires parameter name" msgstr "SET requiere el nombre de un parámetro" @@ -28472,20 +28420,16 @@ 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 -#, fuzzy -#| msgid "The shared lock table is sized on the assumption that at most max_locks_per_transaction * max_connections distinct objects will need to be locked at any one time." 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 "El tamaño de la tabla compartida de candados se calcula usando la suposición de que a lo más max_locks_per_transaction * max_connections objetos necesitarán ser bloqueados simultáneamente." +msgstr "" #: utils/misc/guc_tables.c:2615 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 -#, fuzzy -#| msgid "The shared predicate lock table is sized on the assumption that at most max_pred_locks_per_transaction * max_connections distinct objects will need to be locked at any one time." 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 "El tamaño de la tabla compartida de candados se calcula usando la suposición de que a lo más max_pred_locks_per_transaction * max_connections objetos necesitarán ser bloqueados simultáneamente." +msgstr "" #: utils/misc/guc_tables.c:2627 msgid "Sets the maximum number of predicate-locked pages and tuples per relation." @@ -29665,12 +29609,12 @@ msgstr "no se pueden ejecutar órdenes de transacción dentro de un bucle de cur msgid "could not seek to block %ld of temporary file" msgstr "no se pudo posicionar (seek) en el bloque %ld del archivo temporal" -#: utils/sort/sharedtuplestore.c:463 +#: utils/sort/sharedtuplestore.c:467 #, c-format msgid "unexpected chunk in shared tuplestore temporary file" msgstr "trozo inesperado en archivo temporal del tuplestore compartido" -#: utils/sort/sharedtuplestore.c:541 +#: utils/sort/sharedtuplestore.c:549 #, c-format msgid "could not seek to block %u in shared tuplestore temporary file" msgstr "no se pudo posicionar (seek) en el bloque %u en el archivo temporal del tuplestore compartido" @@ -29754,362 +29698,362 @@ 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:1198 +#: gram.y:1200 #, c-format msgid "UNENCRYPTED PASSWORD is no longer supported" msgstr "UNENCRYPTED PASSWORD ya no está soportado" -#: gram.y:1199 +#: gram.y:1201 #, 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:1526 gram.y:1542 +#: gram.y:1528 gram.y:1544 #, 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:1714 +#: gram.y:1696 #, c-format msgid "current database cannot be changed" msgstr "no se puede cambiar la base de datos activa" -#: gram.y:1847 +#: gram.y:1829 #, 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:2464 +#: gram.y:2446 #, 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:3060 +#: gram.y:3042 #, c-format msgid "sequence option \"%s\" not supported here" msgstr "la opción de secuencia «%s» no está soportado aquí" -#: gram.y:3089 +#: gram.y:3071 #, 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:3098 +#: gram.y:3080 #, 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:3105 +#: gram.y:3087 #, c-format msgid "unrecognized hash partition bound specification \"%s\"" msgstr "especificación de borde de partición hash «%s» no reconocida" -#: gram.y:3113 +#: gram.y:3095 #, c-format msgid "modulus for hash partition must be specified" msgstr "el módulo para una partición hash debe ser especificado" -#: gram.y:3117 +#: gram.y:3099 #, c-format msgid "remainder for hash partition must be specified" msgstr "remanente en partición hash debe ser especificado" -#: gram.y:3325 gram.y:3359 +#: gram.y:3307 gram.y:3341 #, c-format msgid "STDIN/STDOUT not allowed with PROGRAM" msgstr "STDIN/STDOUT no están permitidos con PROGRAM" -#: gram.y:3331 +#: gram.y:3313 #, c-format msgid "WHERE clause not allowed with COPY TO" msgstr "la cláusula WHERE no está permitida con COPY TO" -#: gram.y:3670 gram.y:3677 gram.y:12842 gram.y:12850 +#: gram.y:3652 gram.y:3659 gram.y:12824 gram.y:12832 #, c-format msgid "GLOBAL is deprecated in temporary table creation" msgstr "GLOBAL está obsoleto para la creación de tablas temporales" -#: gram.y:3953 +#: gram.y:3935 #, c-format msgid "for a generated column, GENERATED ALWAYS must be specified" msgstr "para una columna generada, GENERATED ALWAYS debe ser especificado" -#: gram.y:4336 +#: gram.y:4318 #, fuzzy, c-format #| msgid "return type %s is not supported for SQL functions" 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" -#: gram.y:5048 +#: gram.y:5030 #, c-format msgid "CREATE EXTENSION ... FROM is no longer supported" msgstr "CREATE EXTENSION ... FROM ya no está soportado" -#: gram.y:5746 +#: gram.y:5728 #, c-format msgid "unrecognized row security option \"%s\"" msgstr "opción de seguridad de registro «%s» no reconocida" -#: gram.y:5747 +#: gram.y:5729 #, c-format msgid "Only PERMISSIVE or RESTRICTIVE policies are supported currently." msgstr "sólo se admiten actualmente políticas PERMISSIVE o RESTRICTIVE." -#: gram.y:5832 +#: gram.y:5814 #, c-format msgid "CREATE OR REPLACE CONSTRAINT TRIGGER is not supported" msgstr "CREATE OR REPLACE CONSTRAINT TRIGGER no está soportado" -#: gram.y:5869 +#: gram.y:5851 msgid "duplicate trigger events specified" msgstr "se han especificado eventos de disparador duplicados" -#: gram.y:6018 +#: gram.y:6000 #, c-format msgid "conflicting constraint properties" msgstr "propiedades de restricción contradictorias" -#: gram.y:6117 +#: gram.y:6099 #, c-format msgid "CREATE ASSERTION is not yet implemented" msgstr "CREATE ASSERTION no está implementado" -#: gram.y:6525 +#: gram.y:6507 #, c-format msgid "RECHECK is no longer required" msgstr "RECHECK ya no es requerido" -#: gram.y:6526 +#: gram.y:6508 #, c-format msgid "Update your data type." msgstr "Actualice su tipo de datos." -#: gram.y:8399 +#: gram.y:8381 #, c-format msgid "aggregates cannot have output arguments" msgstr "las funciones de agregación no pueden tener argumentos de salida" -#: gram.y:11075 gram.y:11094 +#: gram.y:11057 gram.y:11076 #, c-format msgid "WITH CHECK OPTION not supported on recursive views" msgstr "WITH CHECK OPTION no está soportado con vistas recursivas" -#: gram.y:12981 +#: gram.y:12963 #, c-format msgid "LIMIT #,# syntax is not supported" msgstr "la sintaxis LIMIT #,# no está soportada" -#: gram.y:12982 +#: gram.y:12964 #, c-format msgid "Use separate LIMIT and OFFSET clauses." msgstr "Use cláusulas LIMIT y OFFSET separadas." -#: gram.y:13842 +#: gram.y:13824 #, c-format msgid "only one DEFAULT value is allowed" msgstr "Sólo se permite un valor DEFAULT" -#: gram.y:13851 +#: gram.y:13833 #, c-format msgid "only one PATH value per column is allowed" msgstr "sólo se permite un valor de PATH por columna" -#: gram.y:13860 +#: gram.y:13842 #, 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:13869 +#: gram.y:13851 #, c-format msgid "unrecognized column option \"%s\"" msgstr "opción de columna «%s» no reconocida" -#: gram.y:14123 +#: gram.y:14105 #, 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:14132 +#: gram.y:14114 #, 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:14635 +#: gram.y:14617 #, 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:14640 +#: gram.y:14622 #, 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:14817 +#: gram.y:14799 #, c-format msgid "UNIQUE predicate is not yet implemented" msgstr "el predicado UNIQUE no está implementado" -#: gram.y:15233 +#: gram.y:15215 #, 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:15238 +#: gram.y:15220 #, c-format msgid "cannot use DISTINCT with WITHIN GROUP" msgstr "no se permite DISTINCT con WITHIN GROUP" -#: gram.y:15243 +#: gram.y:15225 #, c-format msgid "cannot use VARIADIC with WITHIN GROUP" msgstr "no se permite VARIADIC con WITHIN GROUP" -#: gram.y:15922 gram.y:15946 +#: gram.y:15859 gram.y:15883 #, c-format msgid "frame start cannot be UNBOUNDED FOLLOWING" msgstr "el inicio de «frame» no puede ser UNBOUNDED FOLLOWING" -#: gram.y:15927 +#: gram.y:15864 #, 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:15951 +#: gram.y:15888 #, c-format msgid "frame end cannot be UNBOUNDED PRECEDING" msgstr "el fin de «frame» no puede ser UNBOUNDED PRECEDING" -#: gram.y:15957 +#: gram.y:15894 #, 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:15964 +#: gram.y:15901 #, 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:16723 +#: gram.y:16660 #, c-format msgid "type modifier cannot have parameter name" msgstr "el modificador de tipo no puede tener nombre de parámetro" -#: gram.y:16729 +#: gram.y:16666 #, c-format msgid "type modifier cannot have ORDER BY" msgstr "el modificador de tipo no puede tener ORDER BY" -#: gram.y:16797 gram.y:16804 gram.y:16811 +#: gram.y:16734 gram.y:16741 gram.y:16748 #, 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:16901 gram.y:18358 +#: gram.y:16838 gram.y:18295 #, 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:18037 gram.y:18224 +#: gram.y:17974 gram.y:18161 msgid "improper use of \"*\"" msgstr "uso impropio de «*»" -#: gram.y:18288 +#: gram.y:18225 #, 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:18325 +#: gram.y:18262 #, c-format msgid "multiple ORDER BY clauses not allowed" msgstr "no se permiten múltiples cláusulas ORDER BY" -#: gram.y:18336 +#: gram.y:18273 #, c-format msgid "multiple OFFSET clauses not allowed" msgstr "no se permiten múltiples cláusulas OFFSET" -#: gram.y:18345 +#: gram.y:18282 #, c-format msgid "multiple LIMIT clauses not allowed" msgstr "no se permiten múltiples cláusulas LIMIT" -#: gram.y:18354 +#: gram.y:18291 #, c-format msgid "multiple limit options not allowed" msgstr "no se permiten múltiples opciones limit" -#: gram.y:18381 +#: gram.y:18318 #, c-format msgid "multiple WITH clauses not allowed" msgstr "no se permiten múltiples cláusulas WITH" -#: gram.y:18562 +#: gram.y:18511 #, 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:18695 +#: gram.y:18644 #, 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:18733 gram.y:18746 +#: gram.y:18682 gram.y:18695 #, 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:18759 +#: gram.y:18708 #, 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:18772 +#: gram.y:18721 #, c-format msgid "%s constraints cannot be marked NO INHERIT" msgstr "las restricciones %s no pueden ser marcadas NO INHERIT" -#: gram.y:18794 +#: gram.y:18743 #, c-format msgid "unrecognized partitioning strategy \"%s\"" msgstr "estrategia de particionamiento «%s» no reconocida" -#: gram.y:18818 +#: gram.y:18767 #, fuzzy, c-format #| msgid "invalid publication_names syntax" msgid "invalid publication object list" msgstr "sintaxis de publication_names no válida" -#: gram.y:18819 +#: gram.y:18768 #, c-format msgid "One of TABLE or TABLES IN SCHEMA must be specified before a standalone table or schema name." msgstr "" -#: gram.y:18835 +#: gram.y:18784 #, fuzzy, c-format -#| msgid "invalid file name argument" -msgid "invalid table name at or near" -msgstr "el nombre de archivo usado como argumento no es válido" +#| msgid "invalid locale name \"%s\"" +msgid "invalid table name" +msgstr "nombre de configuración regional «%s» no es válido" -#: gram.y:18856 +#: gram.y:18805 #, fuzzy, c-format #| msgid "WHERE clause not allowed with COPY TO" msgid "WHERE clause not allowed for schema" msgstr "la cláusula WHERE no está permitida con COPY TO" -#: gram.y:18863 +#: gram.y:18812 #, fuzzy, c-format #| msgid "interval specification not allowed here" msgid "column specification not allowed for schema" msgstr "la especificación de intervalo no está permitida aquí" -#: gram.y:18877 +#: gram.y:18826 #, fuzzy, c-format -#| msgid "invalid statement name \"%s\" on line %d" -msgid "invalid schema name at or near" -msgstr "nombre sentencia no válida «%s» en línea %d" +#| msgid "invalid fork name" +msgid "invalid schema name" +msgstr "nombre de «fork» no válido" #: guc-file.l:192 #, c-format @@ -30161,6 +30105,47 @@ msgstr "" 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" + +#: jsonpath_scan.l:180 +#, fuzzy +#| msgid "invalid character" +msgid "invalid hex character sequence" +msgstr "carácter no válido" + +#: jsonpath_scan.l:195 +#, fuzzy +#| msgid "unexpected end of line" +msgid "unexpected end after backslash" +msgstr "fin de línea inesperado" + +#: 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:228 +#, fuzzy +#| msgid "unexpected end of line" +msgid "unexpected end of comment" +msgstr "fin de línea inesperado" + +#: jsonpath_scan.l:319 +#, fuzzy +#| msgid "numeric_literal" +msgid "invalid numeric literal" +msgstr "literal_numérico" + +#: 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 +msgid "trailing junk after numeric literal" +msgstr "basura sigue después de un literal numérico" + #. translator: %s is typically "syntax error" #: jsonpath_scan.l:375 #, c-format @@ -30173,6 +30158,16 @@ msgstr "%s al final de la entrada jsonpath" msgid "%s at or near \"%s\" of jsonpath input" msgstr "%s en o cerca de «%s» de la entrada jsonpath" +#: jsonpath_scan.l:557 +msgid "bogus input" +msgstr "" + +#: jsonpath_scan.l:583 +#, fuzzy +#| msgid "invalid hexadecimal digit: \"%.*s\"" +msgid "invalid hexadecimal digit" +msgstr "dígito hexadecimal no válido: «%.*s»" + #: jsonpath_scan.l:614 #, fuzzy, c-format #| msgid "could not encode server key" @@ -30184,6 +30179,16 @@ msgstr "no se pudo codificar la llave del servidor" 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" + #: scan.l:482 msgid "unterminated /* comment" msgstr "un comentario /* está inconcluso" @@ -30225,10 +30230,6 @@ msgstr "uso inseguro de \\' en un literal de cadena" 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:741 -msgid "unterminated quoted string" -msgstr "una cadena de caracteres entre comillas está inconclusa" - #: scan.l:786 msgid "unterminated dollar-quoted string" msgstr "una cadena separada por $ está inconclusa" @@ -30237,7 +30238,7 @@ msgstr "una cadena separada por $ está inconclusa" msgid "zero-length delimited identifier" msgstr "un identificador delimitado tiene largo cero" -#: scan.l:824 +#: scan.l:824 syncrep_scanner.l:101 msgid "unterminated quoted identifier" msgstr "un identificador entre comillas está inconcluso" @@ -30263,14 +30264,9 @@ msgstr "puntero a Datum no válido" #: scan.l:1029 #, fuzzy -#| msgid "invalid binary \"%s\"" +#| msgid "invalid Datum pointer" msgid "invalid binary integer" -msgstr "el binario «%s» no es válido" - -#: scan.l:1049 scan.l:1053 scan.l:1057 scan.l:1061 scan.l:1065 scan.l:1069 -#: scan.l:1073 -msgid "trailing junk after numeric literal" -msgstr "basura sigue después de un literal numérico" +msgstr "puntero a Datum no válido" #. translator: %s is typically the translation of "syntax error" #: scan.l:1236 @@ -30315,424 +30311,9 @@ 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 "could not identify current directory: %m" -#~ msgstr "no se pudo identificar el directorio actual: %m" - -#, c-format -#~ msgid "could not read binary \"%s\"" -#~ msgstr "no se pudo leer el binario «%s»" - -#, c-format -#~ msgid "could not load library \"%s\": error code %lu" -#~ msgstr "no se pudo cargar la biblioteca «%s»: código de error %lu" - -#, c-format -#~ msgid "cannot create restricted tokens on this platform: error code %lu" -#~ msgstr "no se pueden crear tokens restrigidos en esta plataforma: código de error %lu" - -#, c-format -#~ msgid "could not remove file or directory \"%s\": %m" -#~ msgstr "no se pudo borrar el archivo o el directorio «%s»: %m" - -#, c-format -#~ msgid "tablespaces are not supported on this platform" -#~ msgstr "tablespaces no están soportados en esta plataforma" - -#, c-format -#~ msgid "invalid record offset at %X/%X" -#~ msgstr "posición de registro no válida en %X/%X" - -#, c-format -#~ msgid "invalid record length at %X/%X: wanted %u, got %u" -#~ msgstr "largo de registro no válido en %X/%X: se esperaba %u, se obtuvo %u" - -#, c-format -#~ msgid "invalid magic number %04X in log segment %s, offset %u" -#~ msgstr "número mágico %04X no válido en archivo %s, posición %u" - -#, c-format -#~ msgid "invalid info bits %04X in log segment %s, offset %u" -#~ msgstr "info bits %04X no válidos en archivo %s, posición %u" - -#, c-format -#~ msgid "unexpected pageaddr %X/%X in log segment %s, offset %u" -#~ msgstr "pageaddr %X/%X inesperado en archivo %s, posición %u" - -#, c-format -#~ msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u" -#~ msgstr "ID de timeline %u fuera de secuencia (después de %u) en archivo %s, posición %u" - -#, c-format -#~ msgid "invalid primary checkpoint link in control file" -#~ msgstr "el enlace de punto de control primario en archivo de control no es válido" - -#, c-format -#~ msgid "invalid checkpoint link in backup_label file" -#~ msgstr "el enlace del punto de control en backup_label no es válido" - -#, c-format -#~ msgid "invalid primary checkpoint record" -#~ msgstr "el registro del punto de control primario no es válido" - -#, c-format -#~ msgid "invalid resource manager ID in primary checkpoint record" -#~ msgstr "el ID de gestor de recursos en el registro del punto de control primario no es válido" - -#, c-format -#~ msgid "invalid xl_info in primary checkpoint record" -#~ msgstr "xl_info en el registro del punto de control primario no es válido" - -#, c-format -#~ msgid "invalid length of primary checkpoint record" -#~ msgstr "la longitud del registro del punto de control primario no es válida" +#~ 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 "promote trigger file found: %s" -#~ msgstr "se encontró el archivo disparador de promoción: %s" - -#, c-format -#~ msgid "could not stat promote trigger file \"%s\": %m" -#~ msgstr "no se pudo hacer stat al archivo disparador de promoción «%s»: %m" - -#, c-format -#~ msgid "could not read from temporary file: %m" -#~ msgstr "no se pudo leer del archivo temporal: %m" - -#, c-format -#~ msgid "language with OID %u does not exist" -#~ msgstr "no existe el lenguaje con OID %u" - -#, c-format -#~ msgid "operator with OID %u does not exist" -#~ msgstr "no existe el operador con OID %u" - -#, c-format -#~ msgid "operator class with OID %u does not exist" -#~ msgstr "no existe la clase de operadores con OID %u" - -#, c-format -#~ msgid "operator family with OID %u does not exist" -#~ msgstr "no existe la familia de operadores con OID %u" - -#, c-format -#~ msgid "text search dictionary with OID %u does not exist" -#~ msgstr "no existe el diccionario de búsqueda en texto con OID %u" - -#, c-format -#~ msgid "text search configuration with OID %u does not exist" -#~ msgstr "no existe la configuración de búsqueda en texto con OID %u" - -#, c-format -#~ msgid "conversion with OID %u does not exist" -#~ msgstr "no existe la conversión con OID %u" - -#, c-format -#~ msgid "extension with OID %u does not exist" -#~ msgstr "no existe la extensión con OID %u" - -#, c-format -#~ msgid "statistics object with OID %u does not exist" -#~ msgstr "no existe el objeto de estadísticas con OID %u" - -#, c-format -#~ msgid "must have CREATEROLE privilege" -#~ msgstr "debe tener privilegio CREATEROLE" - -#, c-format -#~ msgid "could not form array type name for type \"%s\"" -#~ msgstr "no se pudo formar un nombre de tipo de array para el tipo «%s»" - -#, c-format -#~ msgid "invalid list syntax for \"publish\" option" -#~ msgstr "sintaxis de entrada no válida para la opción «publish»" - -#, c-format -#~ msgid "tables were not subscribed, you will have to run %s to subscribe the tables" -#~ msgstr "las tablas no se suscribieron, tendrá que ejecutar %s para suscribir las tablas" - -#, c-format -#~ msgid "permission denied to change owner of subscription \"%s\"" -#~ msgstr "se ha denegado el permiso para cambiar el dueño de la suscripción «%s»" - -#, c-format -#~ msgid "The owner of a subscription must be a superuser." -#~ msgstr "El dueño de una suscripción debe ser un superusuario." - -#, 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 "Omita la expresión de generación en la definición de la columna en la tabla hija para heredar la expresión de generación de la tabla padre." - -#, c-format -#~ msgid "column \"%s\" in child table has a conflicting generation expression" -#~ msgstr "la columna «%s» en tabla hija tiene una expresión de generación en conflicto" - -#, c-format -#~ msgid "cannot use invalid index \"%s\" as replica identity" -#~ msgstr "no se puede usar el índice no válido «%s» como identidad de réplica" - -#, c-format -#~ msgid "Triggers on partitioned tables cannot have transition tables." -#~ msgstr "Los triggers en tablas particionadas no pueden tener tablas de transición." - -#, c-format -#~ msgid "must be superuser to create superusers" -#~ msgstr "debe ser superusuario para crear superusuarios" - -#, c-format -#~ msgid "must be superuser to create replication users" -#~ msgstr "debe ser superusuario para crear usuarios de replicación" - -#, c-format -#~ msgid "must be superuser to create bypassrls users" -#~ msgstr "debe ser superusuario para crear usuarios con bypassrls" - -#, c-format -#~ msgid "must be superuser to alter superuser roles or change superuser attribute" -#~ msgstr "debe ser superusuario para modificar roles de superusuario o cambiar atributos de superusuario" - -#, c-format -#~ msgid "must be superuser to alter replication roles or change replication attribute" -#~ msgstr "debe ser superusuario para modificar roles de replicación o cambiar atributos de replicación" - -#, c-format -#~ msgid "must be superuser to change bypassrls attribute" -#~ msgstr "debe ser superusuario para cambiar el atributo bypassrls" - -#, c-format -#~ msgid "must be superuser to alter superusers" -#~ msgstr "debe ser superusuario para alterar superusuarios" - -#, c-format -#~ msgid "must be superuser to drop superusers" -#~ msgstr "debe ser superusuario para eliminar superusuarios" - -#, c-format -#~ msgid "must be superuser to rename superusers" -#~ msgstr "debe ser superusuario para cambiar el nombre a superusuarios" - -#, c-format -#~ msgid "must be superuser to set grantor" -#~ msgstr "debe ser superusuario para especificar el cedente (grantor)" - -#, c-format -#~ msgid "skipping \"%s\" --- only superuser can vacuum it" -#~ msgstr "omitiendo «%s»: sólo un superusuario puede aplicarle VACUUM" - -#, c-format -#~ msgid "skipping \"%s\" --- only superuser or database owner can vacuum it" -#~ msgstr "omitiendo «%s»: sólo un superusuario o el dueño de la base de datos puede aplicarle VACUUM" - -#, c-format -#~ msgid "skipping \"%s\" --- only table or database owner can vacuum it" -#~ msgstr "omitiendo «%s»: sólo su dueño o el de la base de datos puede aplicarle VACUUM" - -#, c-format -#~ msgid "skipping \"%s\" --- only superuser can analyze it" -#~ msgstr "omitiendo «%s»: sólo un superusuario puede analizarla" - -#, c-format -#~ msgid "skipping \"%s\" --- only superuser or database owner can analyze it" -#~ msgstr "omitiendo «%s»: sólo un superusuario o el dueño de la base de datos puede analizarla" - -#, c-format -#~ msgid "skipping \"%s\" --- only table or database owner can analyze it" -#~ msgstr "omitiendo «%s»: sólo su dueño o el de la base de datos puede analizarla" - -#, c-format -#~ msgid "oldest xmin is far in the past" -#~ msgstr "xmin más antiguo es demasiado antiguo" - -#, c-format -#~ msgid "Close open transactions with multixacts soon to avoid wraparound problems." -#~ msgstr "Cierre transacciones con multixact pronto para prevenir problemas por reciclaje del contador." - -#, c-format -#~ msgid "could not load function _ldap_start_tls_sA in wldap32.dll" -#~ msgstr "no se pudo cargar la función _ldap_start_tls_sA en wldap32.dll" - -#, c-format -#~ msgid "LDAP over SSL is not supported on this platform." -#~ msgstr "LDAP sobre SSL no está soportado en esta plataforma." - -#, c-format -#~ msgid "could not open secondary authentication file \"@%s\" as \"%s\": %m" -#~ msgstr "no se pudo abrir el archivo secundario de autentificación «@%s» como «%s»: %m" - -#, c-format -#~ msgid "local connections are not supported by this build" -#~ msgstr "las conexiones locales no están soportadas en este servidor" - -#, c-format -#~ msgid "could not open usermap file \"%s\": %m" -#~ msgstr "no se pudo abrir el archivo de mapa de usuarios «%s»: %m" - -#, c-format -#~ msgid " -n do not reinitialize shared memory after abnormal exit\n" -#~ msgstr " -n no reinicializar memoria compartida después de salida anormal\n" - -#, c-format -#~ msgid "generated columns are not supported on partitions" -#~ msgstr "las columnas generadas no están soportadas en particiones" - -#, c-format -#~ msgid "could not load pg_hba.conf" -#~ msgstr "no se pudo cargar pg_hba.conf" - -#, c-format -#~ msgid "select() failed in postmaster: %m" -#~ msgstr "select() falló en postmaster: %m" - -#, c-format -#~ msgid "logical decoding cannot be used while in recovery" -#~ msgstr "la decodificación lógica no puede ejecutarse durante la recuperación" - -#, c-format -#~ msgid "could not read from streaming transaction's changes file \"%s\": %m" -#~ msgstr "no se pudo leer el archivo de cambios de transacción en flujo «%s»: %m" - -#, c-format -#~ msgid "could not read from streaming transaction's subxact file \"%s\": %m" -#~ msgstr "no se pudo leer el archivo subxact de transacción en flujo «%s»: %m" - -#, c-format -#~ msgid "must be superuser or replication role to use replication slots" -#~ msgstr "debe ser superusuario o rol de replicación para usar slots de replicación" - -#, c-format -#~ msgid "invalidating slot \"%s\" because its restart_lsn %X/%X exceeds max_slot_wal_keep_size" -#~ msgstr "invalidando el slot «%s» porque su restart_lsn %X/%X excede max_slot_wal_keep_size" - -#, c-format -#~ msgid "cannot convert partitioned table \"%s\" to a view" -#~ msgstr "no se puede convertir la tabla particionada «%s» en vista" - -#, c-format -#~ msgid "cannot convert partition \"%s\" to a view" -#~ msgstr "no se puede convertir la partición «%s» en vista" - -#, c-format -#~ msgid "could not convert table \"%s\" to a view because it is not empty" -#~ msgstr "no se pudo convertir la tabla «%s» en vista porque no está vacía" - -#, c-format -#~ msgid "could not convert table \"%s\" to a view because it has triggers" -#~ msgstr "no se pudo convertir la tabla «%s» en vista porque tiene triggers" - -#, c-format -#~ msgid "In particular, the table cannot be involved in any foreign key relationships." -#~ msgstr "En particular, la tabla no puede estar involucrada en relaciones de llave foránea." - -#, c-format -#~ msgid "could not convert table \"%s\" to a view because it has indexes" -#~ msgstr "no se pudo convertir la tabla «%s» en vista porque tiene índices" - -#, c-format -#~ msgid "could not convert table \"%s\" to a view because it has child tables" -#~ msgstr "no se pudo convertir la tabla «%s» en vista porque tiene tablas hijas" - -#, c-format -#~ msgid "could not convert table \"%s\" to a view because it has parent tables" -#~ msgstr "no se pudo convertir la tabla «%s» en vista porque tiene tablas padres" - -#, c-format -#~ msgid "could not convert table \"%s\" to a view because it has row security enabled" -#~ msgstr "no se pudo convertir la tabla «%s» en vista porque tiene seguridad de registros activada" - -#, c-format -#~ msgid "could not convert table \"%s\" to a view because it has row security policies" -#~ msgstr "no se pudo convertir la tabla «%s» en vista porque tiene políticas de seguridad de registros" - -#, c-format -#~ msgid "could not link file \"%s\" to \"%s\": %m" -#~ msgstr "no se pudo enlazar (link) el archivo «%s» a «%s»: %m" - -#, c-format -#~ msgid "must be a member of the role whose process is being terminated or member of pg_signal_backend" -#~ msgstr "debe ser miembro del rol cuyo proceso se está terminando o ser miembro de pg_signal_backend" - -#, c-format -#~ msgid "must be a superuser to cancel superuser query" -#~ msgstr "debe ser superusuario para cancelar una consulta de superusuario" - -#, c-format -#~ msgid "must be a member of the role whose query is being canceled or member of pg_signal_backend" -#~ msgstr "debe ser miembro del rol cuya consulta se está cancelando o ser miembro de pg_signal_backend" - -#, c-format -#~ msgid "int2vector has too many elements" -#~ msgstr "int2vector tiene demasiados elementos" - -#, c-format -#~ msgid "oidvector has too many elements" -#~ msgstr "el oidvector tiene demasiados elementos" - -#, c-format -#~ msgid "argument %d cannot be null" -#~ msgstr "el argumento %d no puede ser null" - -#, c-format -#~ msgid "Object keys should be text." -#~ msgstr "Las llaves de un objeto deben ser de texto." - -#, c-format -#~ msgid "Apply system library package updates." -#~ msgstr "Aplique actualizaciones de paquetes de bibliotecas del sistema." - -#, c-format -#~ msgid "gtsvector_in not implemented" -#~ msgstr "gtsvector_in no está implementado" - -#, c-format -#~ msgid " GSS (authenticated=%s, encrypted=%s)" -#~ msgstr " GSS (autenticado=%s, cifrado=%s)" - -#, c-format -#~ msgid "must be superuser or replication role to start walsender" -#~ msgstr "debe ser superusuario o rol de replicación para iniciar el walsender" - -#~ msgid "Number of transactions by which VACUUM and HOT cleanup should be deferred, if any." -#~ msgstr "Número de transacciones por las cuales VACUUM y la limpieza HOT deberían postergarse." - -#~ msgid "Specifies a file name whose presence ends recovery in the standby." -#~ msgstr "Especifica un nombre de archivo cuya presencia termina la recuperación en el standby." - -#~ msgid "Forces use of parallel query facilities." -#~ msgstr "Obliga al uso de la funcionalidad de consultas paralelas." - -#~ msgid "If possible, run query using a parallel worker and with parallel restrictions." -#~ msgstr "Si es posible, ejecuta cada consulta en un ayudante paralelo y con restricciones de paralelismo." - -#, c-format -#~ msgid "could not read block %ld of temporary file: read only %zu of %zu bytes" -#~ msgstr "no se pudo leer el bloque %ld del archivo temporal: se leyeron sólo %zu de %zu bytes" - -#, c-format -#~ msgid "could not read from shared tuplestore temporary file" -#~ msgstr "no se pudo leer desde el archivo temporal del tuplestore compartido" - -#, c-format -#~ msgid "could not read from shared tuplestore temporary file: read only %zu of %zu bytes" -#~ msgstr "no se pudo leer el archivo temporal del tuplestore compartido: se leyeron sólo %zu de %zu bytes" - -#, c-format -#~ msgid "could not read from tuplestore temporary file: read only %zu of %zu bytes" -#~ msgstr "no se pudo leer el archivo temporal del tuplestore: se leyeron sólo %zu de %zu bytes" - -#, c-format -#~ msgid "VALUES in FROM must have an alias" -#~ msgstr "VALUES en FROM debe tener un alias" - -#, c-format -#~ msgid "For example, FROM (VALUES ...) [AS] foo." -#~ msgstr "Por ejemplo, FROM (VALUES ...) [AS] foo." - -#, c-format -#~ msgid "subquery in FROM must have an alias" -#~ msgstr "las subconsultas en FROM deben tener un alias" - -#, c-format -#~ msgid "For example, FROM (SELECT ...) [AS] foo." -#~ msgstr "Por ejemplo, FROM (SELECT ...) [AS] foo." - -#~ msgid "invalid streaming start location" -#~ msgstr "posición de inicio de flujo de WAL no válida" +#~ msgid "String contains unexpected escape sequence \"%c\"." +#~ msgstr "La cadena contiene la secuencia de escape inesperada «%c»." diff --git a/src/backend/po/ko.po b/src/backend/po/ko.po index f330f3da7e2..2b762110fb8 100644 --- a/src/backend/po/ko.po +++ b/src/backend/po/ko.po @@ -3,10 +3,10 @@ # msgid "" msgstr "" -"Project-Id-Version: postgres (PostgreSQL) 13\n" +"Project-Id-Version: postgres (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2020-10-05 20:39+0000\n" -"PO-Revision-Date: 2020-10-27 14:19+0900\n" +"POT-Creation-Date: 2023-09-07 05:40+0000\n" +"PO-Revision-Date: 2023-09-08 16:12+0900\n" "Last-Translator: Ioseph Kim \n" "Language-Team: Korean Team \n" "Language: ko\n" @@ -15,6 +15,59 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" +#: ../common/compression.c:132 ../common/compression.c:141 +#: ../common/compression.c:150 +#, c-format +msgid "this build does not support compression with %s" +msgstr "이 서버는 %s 압축을 지원하지 않습니다." + +#: ../common/compression.c:205 +msgid "found empty string where a compression option was expected" +msgstr "압축 옵션 값이 와야할 자리에 빈 문자열이 있습니다." + +#: ../common/compression.c:244 +#, c-format +msgid "unrecognized compression option: \"%s\"" +msgstr "알 수 없는 압축 옵션 \"%s\"" + +#: ../common/compression.c:283 +#, c-format +msgid "compression option \"%s\" requires a value" +msgstr "\"%s\" 압축 옵션은 해당 값을 지정해야 합니다" + +#: ../common/compression.c:292 +#, c-format +msgid "value for compression option \"%s\" must be an integer" +msgstr "\"%s\" 압축 옵션의 값은 정수형으로 지정해야 합니다." + +#: ../common/compression.c:331 +#, c-format +msgid "value for compression option \"%s\" must be a Boolean value" +msgstr "\"%s\" 압축 옵션의 값은 불리언형으로 지정해야 합니다." + +#: ../common/compression.c:379 +#, c-format +msgid "compression algorithm \"%s\" does not accept a compression level" +msgstr "\"%s\" 압축 알고리즘은 압축 수준을 지정할 수 없습니다." + +#: ../common/compression.c:386 +#, c-format +msgid "" +"compression algorithm \"%s\" expects a compression level between %d and %d " +"(default at %d)" +msgstr "" +"\"%s\" 압축 알고리즘의 압축 수준값은 %d부터 %d까지만 가능합니다. (기본값 %d)" + +#: ../common/compression.c:397 +#, c-format +msgid "compression algorithm \"%s\" does not accept a worker count" +msgstr "\"%s\" 압축 알고리즘은 병렬 작업자 수를 지정할 수 없습니다" + +#: ../common/compression.c:408 +#, c-format +msgid "compression algorithm \"%s\" does not support long-distance mode" +msgstr "\"%s\" 압축 알고리즘은 long-distance mode를 지원하지 않음" + #: ../common/config_info.c:134 ../common/config_info.c:142 #: ../common/config_info.c:150 ../common/config_info.c:158 #: ../common/config_info.c:166 ../common/config_info.c:174 @@ -22,69 +75,64 @@ msgstr "" msgid "not recorded" msgstr "기록되어 있지 않음" -#: ../common/controldata_utils.c:68 ../common/controldata_utils.c:73 -#: commands/copy.c:3495 commands/extension.c:3436 utils/adt/genfile.c:125 +#: ../common/controldata_utils.c:69 ../common/controldata_utils.c:73 +#: commands/copyfrom.c:1670 commands/extension.c:3480 utils/adt/genfile.c:123 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "\"%s\" 파일 일기 모드로 열기 실패: %m" -#: ../common/controldata_utils.c:86 ../common/controldata_utils.c:89 +#: ../common/controldata_utils.c:84 ../common/controldata_utils.c:86 #: access/transam/timeline.c:143 access/transam/timeline.c:362 -#: access/transam/twophase.c:1276 access/transam/xlog.c:3503 -#: access/transam/xlog.c:4728 access/transam/xlog.c:11121 -#: access/transam/xlog.c:11134 access/transam/xlog.c:11587 -#: access/transam/xlog.c:11667 access/transam/xlog.c:11706 -#: access/transam/xlog.c:11749 access/transam/xlogfuncs.c:662 -#: access/transam/xlogfuncs.c:681 commands/extension.c:3446 libpq/hba.c:499 -#: replication/logical/origin.c:717 replication/logical/origin.c:753 -#: replication/logical/reorderbuffer.c:3599 -#: replication/logical/snapbuild.c:1741 replication/logical/snapbuild.c:1783 -#: replication/logical/snapbuild.c:1811 replication/logical/snapbuild.c:1838 -#: replication/slot.c:1622 replication/slot.c:1663 replication/walsender.c:543 -#: storage/file/buffile.c:441 storage/file/copydir.c:195 -#: utils/adt/genfile.c:200 utils/adt/misc.c:763 utils/cache/relmapper.c:741 +#: access/transam/twophase.c:1347 access/transam/xlog.c:3193 +#: access/transam/xlog.c:3996 access/transam/xlogrecovery.c:1199 +#: access/transam/xlogrecovery.c:1291 access/transam/xlogrecovery.c:1328 +#: access/transam/xlogrecovery.c:1388 backup/basebackup.c:1842 +#: commands/extension.c:3490 libpq/hba.c:769 replication/logical/origin.c:745 +#: replication/logical/origin.c:781 replication/logical/reorderbuffer.c:5050 +#: replication/logical/snapbuild.c:2031 replication/slot.c:1953 +#: replication/slot.c:1994 replication/walsender.c:643 +#: 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 #, c-format msgid "could not read file \"%s\": %m" msgstr "\"%s\" 파일을 읽을 수 없음: %m" -#: ../common/controldata_utils.c:97 ../common/controldata_utils.c:101 -#: access/transam/twophase.c:1279 access/transam/xlog.c:3508 -#: access/transam/xlog.c:4733 replication/logical/origin.c:722 -#: replication/logical/origin.c:761 replication/logical/snapbuild.c:1746 -#: replication/logical/snapbuild.c:1788 replication/logical/snapbuild.c:1816 -#: replication/logical/snapbuild.c:1843 replication/slot.c:1626 -#: replication/slot.c:1667 replication/walsender.c:548 -#: utils/cache/relmapper.c:745 +#: ../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 #, c-format msgid "could not read file \"%s\": read %d of %zu" msgstr "\"%s\" 파일을 읽을 수 없음: %d 읽음, 전체 %zu" -#: ../common/controldata_utils.c:112 ../common/controldata_utils.c:117 -#: ../common/controldata_utils.c:256 ../common/controldata_utils.c:259 -#: access/heap/rewriteheap.c:1181 access/heap/rewriteheap.c:1284 +#: ../common/controldata_utils.c:104 ../common/controldata_utils.c:108 +#: ../common/controldata_utils.c:233 ../common/controldata_utils.c:236 +#: access/heap/rewriteheap.c:1175 access/heap/rewriteheap.c:1280 #: access/transam/timeline.c:392 access/transam/timeline.c:438 -#: access/transam/timeline.c:516 access/transam/twophase.c:1288 -#: access/transam/twophase.c:1676 access/transam/xlog.c:3375 -#: access/transam/xlog.c:3543 access/transam/xlog.c:3548 -#: access/transam/xlog.c:3876 access/transam/xlog.c:4698 -#: access/transam/xlog.c:5622 access/transam/xlogfuncs.c:687 -#: commands/copy.c:1810 libpq/be-fsstubs.c:462 libpq/be-fsstubs.c:533 -#: replication/logical/origin.c:655 replication/logical/origin.c:794 -#: replication/logical/reorderbuffer.c:3657 -#: replication/logical/snapbuild.c:1653 replication/logical/snapbuild.c:1851 -#: replication/slot.c:1513 replication/slot.c:1674 replication/walsender.c:558 -#: storage/file/copydir.c:218 storage/file/copydir.c:223 storage/file/fd.c:704 -#: storage/file/fd.c:3425 storage/file/fd.c:3528 utils/cache/relmapper.c:753 -#: utils/cache/relmapper.c:892 +#: 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 +#: 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 #, c-format msgid "could not close file \"%s\": %m" msgstr "\"%s\" 파일을 닫을 수 없음: %m" -#: ../common/controldata_utils.c:135 +#: ../common/controldata_utils.c:124 msgid "byte ordering mismatch" msgstr "바이트 순서 불일치" -#: ../common/controldata_utils.c:137 +#: ../common/controldata_utils.c:126 #, c-format msgid "" "possible byte ordering mismatch\n" @@ -99,248 +147,261 @@ msgstr "" "지 않으며\n" "현재 PostgreSQL 설치본과 이 데이터 디렉터리가 호환하지 않습니다." -#: ../common/controldata_utils.c:197 ../common/controldata_utils.c:203 -#: ../common/file_utils.c:224 ../common/file_utils.c:283 -#: ../common/file_utils.c:357 access/heap/rewriteheap.c:1267 +#: ../common/controldata_utils.c:181 ../common/controldata_utils.c:186 +#: ../common/file_utils.c:228 ../common/file_utils.c:287 +#: ../common/file_utils.c:361 access/heap/rewriteheap.c:1263 #: access/transam/timeline.c:111 access/transam/timeline.c:251 -#: access/transam/timeline.c:348 access/transam/twophase.c:1232 -#: access/transam/xlog.c:3277 access/transam/xlog.c:3417 -#: access/transam/xlog.c:3458 access/transam/xlog.c:3656 -#: access/transam/xlog.c:3741 access/transam/xlog.c:3844 -#: access/transam/xlog.c:4718 access/transam/xlogutils.c:807 -#: postmaster/syslogger.c:1488 replication/basebackup.c:621 -#: replication/basebackup.c:1593 replication/logical/origin.c:707 -#: replication/logical/reorderbuffer.c:2465 -#: replication/logical/reorderbuffer.c:2825 -#: replication/logical/reorderbuffer.c:3579 -#: replication/logical/snapbuild.c:1608 replication/logical/snapbuild.c:1712 -#: replication/slot.c:1594 replication/walsender.c:516 -#: replication/walsender.c:2516 storage/file/copydir.c:161 -#: storage/file/fd.c:679 storage/file/fd.c:3412 storage/file/fd.c:3499 -#: storage/smgr/md.c:475 utils/cache/relmapper.c:724 -#: utils/cache/relmapper.c:836 utils/error/elog.c:1858 -#: utils/init/miscinit.c:1316 utils/init/miscinit.c:1450 -#: utils/init/miscinit.c:1527 utils/misc/guc.c:8252 utils/misc/guc.c:8284 +#: access/transam/timeline.c:348 access/transam/twophase.c:1303 +#: access/transam/xlog.c:2946 access/transam/xlog.c:3109 +#: access/transam/xlog.c:3148 access/transam/xlog.c:3341 +#: access/transam/xlog.c:3986 access/transam/xlogrecovery.c:4179 +#: access/transam/xlogrecovery.c:4282 access/transam/xlogutils.c:838 +#: backup/basebackup.c:538 backup/basebackup.c:1512 libpq/hba.c:629 +#: postmaster/syslogger.c:1560 replication/logical/origin.c:735 +#: replication/logical/reorderbuffer.c:3706 +#: replication/logical/reorderbuffer.c:4257 +#: replication/logical/reorderbuffer.c:5030 +#: replication/logical/snapbuild.c:1753 replication/logical/snapbuild.c:1863 +#: replication/slot.c:1925 replication/walsender.c:616 +#: replication/walsender.c:2731 storage/file/copydir.c:151 +#: storage/file/fd.c:757 storage/file/fd.c:3457 storage/file/fd.c:3687 +#: storage/file/fd.c:3777 storage/smgr/md.c:663 utils/cache/relmapper.c:816 +#: utils/cache/relmapper.c:924 utils/error/elog.c:2082 +#: utils/init/miscinit.c:1530 utils/init/miscinit.c:1664 +#: utils/init/miscinit.c:1741 utils/misc/guc.c:4600 utils/misc/guc.c:4650 #, c-format msgid "could not open file \"%s\": %m" msgstr "\"%s\" 파일을 열 수 없음: %m" -#: ../common/controldata_utils.c:221 ../common/controldata_utils.c:224 -#: access/transam/twophase.c:1649 access/transam/twophase.c:1658 -#: access/transam/xlog.c:10878 access/transam/xlog.c:10916 -#: access/transam/xlog.c:11329 access/transam/xlogfuncs.c:741 -#: postmaster/syslogger.c:1499 postmaster/syslogger.c:1512 -#: utils/cache/relmapper.c:870 +#: ../common/controldata_utils.c:202 ../common/controldata_utils.c:205 +#: access/transam/twophase.c:1744 access/transam/twophase.c:1753 +#: access/transam/xlog.c:8755 access/transam/xlogfuncs.c:708 +#: backup/basebackup_server.c:175 backup/basebackup_server.c:268 +#: postmaster/postmaster.c:5573 postmaster/syslogger.c:1571 +#: postmaster/syslogger.c:1584 postmaster/syslogger.c:1597 +#: utils/cache/relmapper.c:936 #, c-format msgid "could not write file \"%s\": %m" msgstr "\"%s\" 파일 쓰기 실패: %m" -#: ../common/controldata_utils.c:239 ../common/controldata_utils.c:245 -#: ../common/file_utils.c:295 ../common/file_utils.c:365 -#: access/heap/rewriteheap.c:961 access/heap/rewriteheap.c:1175 -#: access/heap/rewriteheap.c:1278 access/transam/timeline.c:432 -#: access/transam/timeline.c:510 access/transam/twophase.c:1670 -#: access/transam/xlog.c:3368 access/transam/xlog.c:3537 -#: access/transam/xlog.c:4691 access/transam/xlog.c:10386 -#: access/transam/xlog.c:10413 replication/logical/snapbuild.c:1646 -#: replication/slot.c:1499 replication/slot.c:1604 storage/file/fd.c:696 -#: storage/file/fd.c:3520 storage/smgr/md.c:921 storage/smgr/md.c:962 -#: storage/sync/sync.c:396 utils/cache/relmapper.c:885 utils/misc/guc.c:8035 +#: ../common/controldata_utils.c:219 ../common/controldata_utils.c:224 +#: ../common/file_utils.c:299 ../common/file_utils.c:369 +#: access/heap/rewriteheap.c:959 access/heap/rewriteheap.c:1169 +#: access/heap/rewriteheap.c:1274 access/transam/timeline.c:432 +#: access/transam/timeline.c:506 access/transam/twophase.c:1765 +#: access/transam/xlog.c:3032 access/transam/xlog.c:3227 +#: access/transam/xlog.c:3959 access/transam/xlog.c:8145 +#: access/transam/xlog.c:8190 backup/basebackup_server.c:209 +#: replication/logical/snapbuild.c:1791 replication/slot.c:1830 +#: replication/slot.c:1935 storage/file/fd.c:774 storage/file/fd.c:3798 +#: storage/smgr/md.c:1135 storage/smgr/md.c:1180 storage/sync/sync.c:451 +#: utils/misc/guc.c:4370 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "\"%s\" 파일 fsync 실패: %m" -#: ../common/exec.c:137 ../common/exec.c:254 ../common/exec.c:300 +#: ../common/cryptohash.c:261 ../common/cryptohash_openssl.c:133 +#: ../common/cryptohash_openssl.c:332 ../common/exec.c:550 ../common/exec.c:595 +#: ../common/exec.c:687 ../common/hmac.c:309 ../common/hmac.c:325 +#: ../common/hmac_openssl.c:132 ../common/hmac_openssl.c:327 +#: ../common/md5_common.c:155 ../common/psprintf.c:143 +#: ../common/scram-common.c:258 ../common/stringinfo.c:305 ../port/path.c:751 +#: ../port/path.c:789 ../port/path.c:806 access/transam/twophase.c:1412 +#: access/transam/xlogrecovery.c:589 lib/dshash.c:253 libpq/auth.c:1345 +#: libpq/auth.c:1389 libpq/auth.c:1946 libpq/be-secure-gssapi.c:524 +#: postmaster/bgworker.c:352 postmaster/bgworker.c:934 +#: postmaster/postmaster.c:2537 postmaster/postmaster.c:4130 +#: postmaster/postmaster.c:5498 postmaster/postmaster.c:5869 +#: replication/libpqwalreceiver/libpqwalreceiver.c:308 +#: replication/logical/logical.c:208 replication/walsender.c:686 +#: storage/buffer/localbuf.c:601 storage/file/fd.c:866 storage/file/fd.c:1397 +#: storage/file/fd.c:1558 storage/file/fd.c:2478 storage/ipc/procarray.c:1449 +#: storage/ipc/procarray.c:2232 storage/ipc/procarray.c:2239 +#: storage/ipc/procarray.c:2738 storage/ipc/procarray.c:3374 +#: utils/adt/formatting.c:1690 utils/adt/formatting.c:1812 +#: utils/adt/formatting.c:1935 utils/adt/pg_locale.c:469 +#: utils/adt/pg_locale.c:633 utils/fmgr/dfmgr.c:229 utils/hash/dynahash.c:514 +#: utils/hash/dynahash.c:614 utils/hash/dynahash.c:1111 utils/mb/mbutils.c:402 +#: utils/mb/mbutils.c:430 utils/mb/mbutils.c:815 utils/mb/mbutils.c:842 +#: utils/misc/guc.c:640 utils/misc/guc.c:665 utils/misc/guc.c:1053 +#: utils/misc/guc.c:4348 utils/misc/tzparser.c:476 utils/mmgr/aset.c:445 +#: utils/mmgr/dsa.c: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 -msgid "could not identify current directory: %m" -msgstr "현재 디렉터리를 파악할 수 없음: %m" +msgid "out of memory" +msgstr "메모리 부족" + +#: ../common/cryptohash.c:266 ../common/cryptohash.c:272 +#: ../common/cryptohash_openssl.c:344 ../common/cryptohash_openssl.c:352 +#: ../common/hmac.c:321 ../common/hmac.c:329 ../common/hmac_openssl.c:339 +#: ../common/hmac_openssl.c:347 +msgid "success" +msgstr "성공" -#: ../common/exec.c:156 +#: ../common/cryptohash.c:268 ../common/cryptohash_openssl.c:346 +#: ../common/hmac_openssl.c:341 +msgid "destination buffer too small" +msgstr "대상 버퍼가 너무 작습니다." + +#: ../common/cryptohash_openssl.c:348 ../common/hmac_openssl.c:343 +msgid "OpenSSL failure" +msgstr "OpenSSL 실패" + +#: ../common/exec.c:172 #, c-format -msgid "invalid binary \"%s\"" -msgstr "잘못된 바이너리 파일 \"%s\"" +msgid "invalid binary \"%s\": %m" +msgstr "\"%s\" 파일은 잘못된 바이너리 파일임: %m" -#: ../common/exec.c:206 +#: ../common/exec.c:215 #, c-format -msgid "could not read binary \"%s\"" -msgstr "\"%s\" 바이너리 파일을 읽을 수 없음" +msgid "could not read binary \"%s\": %m" +msgstr "\"%s\" 바이너리 파일을 읽을 수 없음: %m" # translator: %s is IPv4, IPv6, or Unix -#: ../common/exec.c:214 +#: ../common/exec.c:223 #, c-format msgid "could not find a \"%s\" to execute" msgstr "\"%s\" 실행 파일을 찾을 수 없음" -#: ../common/exec.c:270 ../common/exec.c:309 utils/init/miscinit.c:395 -#, c-format -msgid "could not change directory to \"%s\": %m" -msgstr "\"%s\" 이름의 디렉터리로 이동할 수 없습니다: %m" - -#: ../common/exec.c:287 access/transam/xlog.c:10750 -#: replication/basebackup.c:1418 utils/adt/misc.c:337 +#: ../common/exec.c:250 #, c-format -msgid "could not read symbolic link \"%s\": %m" -msgstr "\"%s\" 심볼릭 링크 파일을 읽을 수 없음: %m" +msgid "could not resolve path \"%s\" to absolute form: %m" +msgstr "\"%s\" 상대 경로를 절대 경로로 바꿀 수 없음: %m" -#: ../common/exec.c:410 -#, c-format -msgid "pclose failed: %m" -msgstr "pclose 실패: %m" - -#: ../common/exec.c:539 ../common/exec.c:584 ../common/exec.c:676 -#: ../common/psprintf.c:143 ../common/stringinfo.c:305 ../port/path.c:630 -#: ../port/path.c:668 ../port/path.c:685 access/transam/twophase.c:1341 -#: access/transam/xlog.c:6493 lib/dshash.c:246 libpq/auth.c:1090 -#: libpq/auth.c:1491 libpq/auth.c:1559 libpq/auth.c:2089 -#: libpq/be-secure-gssapi.c:484 postmaster/bgworker.c:336 -#: postmaster/bgworker.c:893 postmaster/postmaster.c:2518 -#: postmaster/postmaster.c:2540 postmaster/postmaster.c:4166 -#: postmaster/postmaster.c:4868 postmaster/postmaster.c:4938 -#: postmaster/postmaster.c:5635 postmaster/postmaster.c:5995 -#: replication/libpqwalreceiver/libpqwalreceiver.c:276 -#: replication/logical/logical.c:176 replication/walsender.c:590 -#: storage/buffer/localbuf.c:442 storage/file/fd.c:834 storage/file/fd.c:1304 -#: storage/file/fd.c:1465 storage/file/fd.c:2270 storage/ipc/procarray.c:1045 -#: storage/ipc/procarray.c:1541 storage/ipc/procarray.c:1548 -#: storage/ipc/procarray.c:1972 storage/ipc/procarray.c:2597 -#: utils/adt/cryptohashes.c:45 utils/adt/cryptohashes.c:65 -#: utils/adt/formatting.c:1700 utils/adt/formatting.c:1824 -#: utils/adt/formatting.c:1949 utils/adt/pg_locale.c:484 -#: utils/adt/pg_locale.c:648 utils/adt/regexp.c:223 utils/fmgr/dfmgr.c:229 -#: utils/hash/dynahash.c:450 utils/hash/dynahash.c:559 -#: utils/hash/dynahash.c:1071 utils/mb/mbutils.c:401 utils/mb/mbutils.c:428 -#: utils/mb/mbutils.c:757 utils/mb/mbutils.c:783 utils/misc/guc.c:4846 -#: utils/misc/guc.c:4862 utils/misc/guc.c:4875 utils/misc/guc.c:8013 -#: utils/misc/tzparser.c:467 utils/mmgr/aset.c:475 utils/mmgr/dsa.c:701 -#: utils/mmgr/dsa.c:723 utils/mmgr/dsa.c:804 utils/mmgr/generation.c:233 -#: utils/mmgr/mcxt.c:821 utils/mmgr/mcxt.c:857 utils/mmgr/mcxt.c:895 -#: utils/mmgr/mcxt.c:933 utils/mmgr/mcxt.c:969 utils/mmgr/mcxt.c:1000 -#: utils/mmgr/mcxt.c:1036 utils/mmgr/mcxt.c:1088 utils/mmgr/mcxt.c:1123 -#: utils/mmgr/mcxt.c:1158 utils/mmgr/slab.c:235 +#: ../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 #, c-format -msgid "out of memory" -msgstr "메모리 부족" +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:162 -#: ../common/psprintf.c:145 ../port/path.c:632 ../port/path.c:670 -#: ../port/path.c:687 utils/misc/ps_status.c:181 utils/misc/ps_status.c:189 -#: utils/misc/ps_status.c:219 utils/misc/ps_status.c:227 +#: ../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 #, c-format msgid "out of memory\n" msgstr "메모리 부족\n" -#: ../common/fe_memutils.c:92 ../common/fe_memutils.c:154 +#: ../common/fe_memutils.c:92 ../common/fe_memutils.c:153 #, c-format msgid "cannot duplicate null pointer (internal error)\n" msgstr "null 포인터를 중복할 수 없음 (내부 오류)\n" -#: ../common/file_utils.c:79 ../common/file_utils.c:181 -#: access/transam/twophase.c:1244 access/transam/xlog.c:10854 -#: access/transam/xlog.c:10892 access/transam/xlog.c:11109 -#: access/transam/xlogarchive.c:110 access/transam/xlogarchive.c:226 -#: commands/copy.c:1938 commands/copy.c:3505 commands/extension.c:3425 -#: commands/tablespace.c:795 commands/tablespace.c:886 -#: replication/basebackup.c:444 replication/basebackup.c:627 -#: replication/basebackup.c:700 replication/logical/snapbuild.c:1522 -#: storage/file/copydir.c:68 storage/file/copydir.c:107 storage/file/fd.c:1816 -#: storage/file/fd.c:3096 storage/file/fd.c:3278 storage/file/fd.c:3364 -#: utils/adt/dbsize.c:70 utils/adt/dbsize.c:222 utils/adt/dbsize.c:302 -#: utils/adt/genfile.c:416 utils/adt/genfile.c:642 guc-file.l:1061 +#: ../common/file_utils.c:87 ../common/file_utils.c:447 +#: ../common/file_utils.c:451 access/transam/twophase.c:1315 +#: access/transam/xlogarchive.c:112 access/transam/xlogarchive.c:229 +#: backup/basebackup.c:346 backup/basebackup.c:544 backup/basebackup.c:615 +#: commands/copyfrom.c:1680 commands/copyto.c:702 commands/extension.c:3469 +#: commands/tablespace.c:810 commands/tablespace.c:899 postmaster/pgarch.c:590 +#: replication/logical/snapbuild.c:1649 storage/file/fd.c:1922 +#: storage/file/fd.c:2008 storage/file/fd.c:3511 utils/adt/dbsize.c:106 +#: utils/adt/dbsize.c:258 utils/adt/dbsize.c:338 utils/adt/genfile.c:483 +#: utils/adt/genfile.c:658 utils/adt/misc.c:340 #, c-format msgid "could not stat file \"%s\": %m" msgstr "\"%s\" 파일의 상태값을 알 수 없음: %m" -#: ../common/file_utils.c:158 ../common/pgfnames.c:48 commands/tablespace.c:718 -#: commands/tablespace.c:728 postmaster/postmaster.c:1509 -#: storage/file/fd.c:2673 storage/file/reinit.c:122 utils/adt/misc.c:259 -#: utils/misc/tzparser.c:338 +#: ../common/file_utils.c:162 ../common/pgfnames.c:48 ../common/rmtree.c:63 +#: commands/tablespace.c:734 commands/tablespace.c:744 +#: postmaster/postmaster.c:1564 storage/file/fd.c:2880 +#: storage/file/reinit.c:126 utils/adt/misc.c:256 utils/misc/tzparser.c:338 #, c-format msgid "could not open directory \"%s\": %m" msgstr "\"%s\" 디렉터리 열 수 없음: %m" -#: ../common/file_utils.c:192 ../common/pgfnames.c:69 storage/file/fd.c:2685 +#: ../common/file_utils.c:196 ../common/pgfnames.c:69 ../common/rmtree.c:104 +#: storage/file/fd.c:2892 #, c-format msgid "could not read directory \"%s\": %m" msgstr "\"%s\" 디렉터리를 읽을 수 없음: %m" -#: ../common/file_utils.c:375 access/transam/xlogarchive.c:411 -#: postmaster/syslogger.c:1523 replication/logical/snapbuild.c:1665 -#: replication/slot.c:650 replication/slot.c:1385 replication/slot.c:1527 -#: storage/file/fd.c:714 utils/time/snapmgr.c:1350 +#: ../common/file_utils.c:379 access/transam/xlogarchive.c:383 +#: postmaster/pgarch.c:746 postmaster/syslogger.c:1608 +#: replication/logical/snapbuild.c:1810 replication/slot.c:723 +#: replication/slot.c:1716 replication/slot.c:1858 storage/file/fd.c:792 +#: utils/time/snapmgr.c:1284 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "\"%s\" 파일을 \"%s\" 파일로 이름을 바꿀 수 없음: %m" -#: ../common/jsonapi.c:1064 +#: ../common/hmac.c:323 +msgid "internal error" +msgstr "내부 오류" + +#: ../common/jsonapi.c:1144 #, c-format msgid "Escape sequence \"\\%s\" is invalid." msgstr "잘못된 이스케이프 조합: \"\\%s\"" -#: ../common/jsonapi.c:1067 +#: ../common/jsonapi.c:1147 #, c-format msgid "Character with value 0x%02x must be escaped." msgstr "0x%02x 값의 문자는 이스케이프 처리를 해야함." -#: ../common/jsonapi.c:1070 +#: ../common/jsonapi.c:1150 #, c-format msgid "Expected end of input, but found \"%s\"." msgstr "입력 자료의 끝을 기대했는데, \"%s\" 값이 더 있음." -#: ../common/jsonapi.c:1073 +#: ../common/jsonapi.c:1153 #, c-format msgid "Expected array element or \"]\", but found \"%s\"." msgstr "\"]\" 가 필요한데 \"%s\"이(가) 있음" -#: ../common/jsonapi.c:1076 +#: ../common/jsonapi.c:1156 #, c-format msgid "Expected \",\" or \"]\", but found \"%s\"." msgstr "\",\" 또는 \"]\"가 필요한데 \"%s\"이(가) 있음" -#: ../common/jsonapi.c:1079 +#: ../common/jsonapi.c:1159 #, c-format msgid "Expected \":\", but found \"%s\"." msgstr "\":\"가 필요한데 \"%s\"이(가) 있음" -#: ../common/jsonapi.c:1082 +#: ../common/jsonapi.c:1162 #, c-format msgid "Expected JSON value, but found \"%s\"." msgstr "JSON 값을 기대했는데, \"%s\" 값임" -#: ../common/jsonapi.c:1085 +#: ../common/jsonapi.c:1165 msgid "The input string ended unexpectedly." msgstr "입력 문자열이 예상치 않게 끝났음." -#: ../common/jsonapi.c:1087 +#: ../common/jsonapi.c:1167 #, c-format msgid "Expected string or \"}\", but found \"%s\"." msgstr "\"}\"가 필요한데 \"%s\"이(가) 있음" -#: ../common/jsonapi.c:1090 +#: ../common/jsonapi.c:1170 #, c-format msgid "Expected \",\" or \"}\", but found \"%s\"." msgstr "\",\" 또는 \"}\"가 필요한데 \"%s\"이(가) 있음" -#: ../common/jsonapi.c:1093 +#: ../common/jsonapi.c:1173 #, c-format msgid "Expected string, but found \"%s\"." msgstr "문자열 값을 기대했는데, \"%s\" 값임" -#: ../common/jsonapi.c:1096 +#: ../common/jsonapi.c:1176 #, c-format msgid "Token \"%s\" is invalid." msgstr "잘못된 토큰: \"%s\"" -#: ../common/jsonapi.c:1099 jsonpath_scan.l:499 +#: ../common/jsonapi.c:1179 jsonpath_scan.l:597 #, c-format msgid "\\u0000 cannot be converted to text." msgstr "\\u0000 값은 text 형으로 변환할 수 없음." -#: ../common/jsonapi.c:1101 +#: ../common/jsonapi.c:1181 msgid "\"\\u\" must be followed by four hexadecimal digits." -msgstr "\"\\u\" 표기법은 뒤에 4개의 16진수가 와야합니다." +msgstr "\"\\u\" 표기법은 뒤에 4개의 16진수가 와야 합니다." -#: ../common/jsonapi.c:1104 +#: ../common/jsonapi.c:1184 msgid "" "Unicode escape values cannot be used for code point values above 007F when " "the encoding is not UTF8." @@ -348,32 +409,62 @@ msgstr "" "서버 인코딩이 UTF8이 아닌 경우 007F보다 큰 코드 지점 값에는 유니코드 이스케이" "프 값을 사용할 수 없음" -#: ../common/jsonapi.c:1106 jsonpath_scan.l:520 +#: ../common/jsonapi.c:1187 +#, c-format +msgid "" +"Unicode escape value could not be translated to the server's encoding %s." +msgstr "유니코드 이스케이프 값을 %s 서버 인코딩으로 변환할 수 없음." + +#: ../common/jsonapi.c:1190 jsonpath_scan.l:630 #, c-format msgid "Unicode high surrogate must not follow a high surrogate." msgstr "유니코드 상위 surrogate(딸림 코드)는 상위 딸림 코드 뒤에 오면 안됨." -#: ../common/jsonapi.c:1108 jsonpath_scan.l:531 jsonpath_scan.l:541 -#: jsonpath_scan.l:583 +#: ../common/jsonapi.c:1192 jsonpath_scan.l:641 jsonpath_scan.l:651 +#: jsonpath_scan.l:702 #, c-format msgid "Unicode low surrogate must follow a high surrogate." msgstr "유니코드 상위 surrogate(딸림 코드) 뒤에는 하위 딸림 코드가 있어야 함." -#: ../common/logging.c:236 -#, c-format -msgid "fatal: " -msgstr "심각: " - -#: ../common/logging.c:243 +#: ../common/logging.c:276 #, c-format msgid "error: " msgstr "오류: " -#: ../common/logging.c:250 +#: ../common/logging.c:283 #, c-format msgid "warning: " msgstr "경고: " +#: ../common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "상세정보: " + +#: ../common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "힌트: " + +#: ../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 +#, c-format +msgid "invalid value for parameter \"%s\": \"%s\"" +msgstr "잘못된 \"%s\" 매개 변수의 값: \"%s\"" + +#: ../common/percentrepl.c:80 ../common/percentrepl.c:86 +#, c-format +msgid "String ends unexpectedly after escape character \"%%\"." +msgstr "\"%%\" 이스케이프 문자 뒤에 잘못된 문자열 끝" + +#: ../common/percentrepl.c:119 ../common/percentrepl.c:125 +#, c-format +msgid "String contains unexpected placeholder \"%%%c\"." +msgstr "\"%%%c\" 치환 형식에 안맞는 문자열" + #: ../common/pgfnames.c:74 #, c-format msgid "could not close directory \"%s\": %m" @@ -389,62 +480,68 @@ msgstr "잘못된 포크 이름" msgid "Valid fork names are \"main\", \"fsm\", \"vm\", and \"init\"." msgstr "유효한 포크 이름은 \"main\", \"fsm\" 및 \"vm\"입니다." -#: ../common/restricted_token.c:64 libpq/auth.c:1521 libpq/auth.c:2520 -#, c-format -msgid "could not load library \"%s\": error code %lu" -msgstr "\"%s\" 라이브러리를 불러 올 수 없음: 오류 코드 %lu" - -#: ../common/restricted_token.c:73 -#, c-format -msgid "cannot create restricted tokens on this platform: error code %lu" -msgstr "이 운영체제에서 restricted 토큰을 만들 수 없음: 오류 코드 %lu" - -#: ../common/restricted_token.c:82 +#: ../common/restricted_token.c:60 #, c-format msgid "could not open process token: error code %lu" msgstr "프로세스 토큰을 열 수 없음: 오류 코드 %lu" -#: ../common/restricted_token.c:97 +#: ../common/restricted_token.c:74 #, c-format msgid "could not allocate SIDs: error code %lu" msgstr "SID를 할당할 수 없음: 오류 코드 %lu" -#: ../common/restricted_token.c:119 +#: ../common/restricted_token.c:94 #, c-format msgid "could not create restricted token: error code %lu" msgstr "restricted 토큰을 만들 수 없음: 오류 코드 %lu" -#: ../common/restricted_token.c:140 +#: ../common/restricted_token.c:115 #, c-format msgid "could not start process for command \"%s\": error code %lu" msgstr "\"%s\" 명령용 프로세스를 시작할 수 없음: 오류 코드 %lu" -#: ../common/restricted_token.c:178 +#: ../common/restricted_token.c:153 #, c-format msgid "could not re-execute with restricted token: error code %lu" msgstr "restricted 토큰으로 재실행할 수 없음: 오류 코드 %lu" -#: ../common/restricted_token.c:194 +#: ../common/restricted_token.c:168 #, c-format msgid "could not get exit code from subprocess: error code %lu" msgstr "하위 프로세스의 종료 코드를 구할 수 없음: 오류 코드 %lu" -#: ../common/rmtree.c:79 replication/basebackup.c:1171 -#: replication/basebackup.c:1347 +#: ../common/rmtree.c:95 access/heap/rewriteheap.c:1248 +#: access/transam/twophase.c:1704 access/transam/xlogarchive.c:120 +#: access/transam/xlogarchive.c:393 postmaster/postmaster.c:1143 +#: postmaster/syslogger.c:1537 replication/logical/origin.c:591 +#: replication/logical/reorderbuffer.c:4526 +#: replication/logical/snapbuild.c:1691 replication/logical/snapbuild.c:2125 +#: replication/slot.c:1909 storage/file/fd.c:832 storage/file/fd.c:3325 +#: storage/file/fd.c:3387 storage/file/reinit.c:262 storage/ipc/dsm.c:316 +#: storage/smgr/md.c:383 storage/smgr/md.c:442 storage/sync/sync.c:248 +#: utils/time/snapmgr.c:1608 #, c-format -msgid "could not stat file or directory \"%s\": %m" -msgstr "파일 또는 디렉터리 \"%s\"의 상태를 확인할 수 없음: %m" +msgid "could not remove file \"%s\": %m" +msgstr "\"%s\" 파일을 삭제할 수 없음: %m" -#: ../common/rmtree.c:101 ../common/rmtree.c:113 +#: ../common/rmtree.c:122 commands/tablespace.c:773 commands/tablespace.c:786 +#: commands/tablespace.c:821 commands/tablespace.c:911 storage/file/fd.c:3317 +#: storage/file/fd.c:3726 #, c-format -msgid "could not remove file or directory \"%s\": %m" -msgstr "\"%s\" 디렉터리나 파일을 삭제할 수 없음: %m" +msgid "could not remove directory \"%s\": %m" +msgstr "\"%s\" 디렉터리를 삭제할 수 없음: %m" -# # nonun 부분 begin -#: ../common/saslprep.c:1087 -#, c-format -msgid "password too long" -msgstr "비밀번호가 너무 깁니다." +#: ../common/scram-common.c:271 +msgid "could not encode salt" +msgstr "salt를 인코드할 수 없음" + +#: ../common/scram-common.c:287 +msgid "could not encode stored key" +msgstr "저장 키를 인코드할 수 없음" + +#: ../common/scram-common.c:304 +msgid "could not encode server key" +msgstr "서버 키를 인코드할 수 없음" #: ../common/stringinfo.c:306 #, c-format @@ -467,7 +564,7 @@ msgstr "" msgid "could not look up effective user ID %ld: %s" msgstr "%ld UID를 찾을 수 없음: %s" -#: ../common/username.c:45 libpq/auth.c:2027 +#: ../common/username.c:45 libpq/auth.c:1881 msgid "user does not exist" msgstr "사용자 없음" @@ -476,86 +573,86 @@ msgstr "사용자 없음" msgid "user name lookup failure: error code %lu" msgstr "사용자 이름 찾기 실패: 오류 코드 %lu" -#: ../common/wait_error.c:45 +#: ../common/wait_error.c:55 #, c-format msgid "command not executable" msgstr "명령을 실행할 수 없음" -#: ../common/wait_error.c:49 +#: ../common/wait_error.c:59 #, c-format msgid "command not found" msgstr "해당 명령어 없음" -#: ../common/wait_error.c:54 +#: ../common/wait_error.c:64 #, c-format msgid "child process exited with exit code %d" msgstr "하위 프로그램은 %d 코드로 마쳤습니다" -#: ../common/wait_error.c:62 +#: ../common/wait_error.c:72 #, c-format msgid "child process was terminated by exception 0x%X" msgstr "0x%X 예외처리로 하위 프로세스가 종료되었습니다" -#: ../common/wait_error.c:66 +#: ../common/wait_error.c:76 #, c-format msgid "child process was terminated by signal %d: %s" msgstr "하위 프로그램은 %d 신호에 의해서 종료되었습니다: %s" -#: ../common/wait_error.c:72 +#: ../common/wait_error.c:82 #, c-format msgid "child process exited with unrecognized status %d" msgstr "하위 프로그램 프로그램은 예상치 못한 %d 상태값으로 종료되었습니다" -#: ../port/chklocale.c:307 +#: ../port/chklocale.c:283 #, c-format msgid "could not determine encoding for codeset \"%s\"" msgstr "\"%s\" 코드 세트 환경에 사용할 인코딩을 결정할 수 없습니다" -#: ../port/chklocale.c:428 ../port/chklocale.c:434 +#: ../port/chklocale.c:404 ../port/chklocale.c:410 #, c-format msgid "could not determine encoding for locale \"%s\": codeset is \"%s\"" msgstr "" "\"%s\" 로케일 환경에서 사용할 인코딩을 결정할 수 없습니다. 코드 세트: \"%s\"" -#: ../port/dirmod.c:218 +#: ../port/dirmod.c:284 #, c-format msgid "could not set junction for \"%s\": %s" msgstr "\"%s\" 디렉터리 연결을 할 수 없음: %s" -#: ../port/dirmod.c:221 +#: ../port/dirmod.c:287 #, c-format msgid "could not set junction for \"%s\": %s\n" msgstr "\"%s\" 디렉터리 연결을 할 수 없음: %s\n" -#: ../port/dirmod.c:295 +#: ../port/dirmod.c:364 #, c-format msgid "could not get junction for \"%s\": %s" msgstr "\"%s\" 파일의 정션을 구할 수 없음: %s" -#: ../port/dirmod.c:298 +#: ../port/dirmod.c:367 #, c-format msgid "could not get junction for \"%s\": %s\n" msgstr "\"%s\" 파일의 정션을 구할 수 없음: %s\n" -#: ../port/open.c:126 +#: ../port/open.c:115 #, c-format msgid "could not open file \"%s\": %s" msgstr "\"%s\" 파일을 열 수 없음: %s" -#: ../port/open.c:127 +#: ../port/open.c:116 msgid "lock violation" msgstr "잠금 위반" -#: ../port/open.c:127 +#: ../port/open.c:116 msgid "sharing violation" msgstr "공유 위반" -#: ../port/open.c:128 +#: ../port/open.c:117 #, c-format msgid "Continuing to retry for 30 seconds." msgstr "30초 동안 계속해서 다시 시도합니다." -#: ../port/open.c:129 +#: ../port/open.c:118 #, c-format msgid "" "You might have antivirus, backup, or similar software interfering with the " @@ -564,7 +661,7 @@ msgstr "" "바이러스 백신 프로그램, 백업 또는 유사한 소프트웨어가 데이터베이스 시스템을 " "방해할 수 있습니다." -#: ../port/path.c:654 +#: ../port/path.c:775 #, c-format msgid "could not get current working directory: %s\n" msgstr "현재 작업 디렉터리를 알 수 없음: %s\n" @@ -574,6 +671,16 @@ msgstr "현재 작업 디렉터리를 알 수 없음: %s\n" msgid "operating system error %d" msgstr "운영체제 오류 %d" +#: ../port/thread.c:50 ../port/thread.c:86 +#, c-format +msgid "could not look up local user ID %d: %s" +msgstr "UID %d에 해당하는 로컬 사용자를 찾을 수 없음: %s" + +#: ../port/thread.c:55 ../port/thread.c:91 +#, c-format +msgid "local user with ID %d does not exist" +msgstr "%d OID에 해당하는 로컬 사용자가 없음" + #: ../port/win32security.c:62 #, c-format msgid "could not get SID for Administrators group: error code %lu\n" @@ -589,63 +696,90 @@ msgstr "PowerUsers 그룹의 SID를 가져올 수 없음: 오류 코드 %lu\n" msgid "could not check access token membership: error code %lu\n" msgstr "토큰 맴버쉽 접근을 확인 할 수 없음: 오류 코드 %lu\n" -#: access/brin/brin.c:210 +#: access/brin/brin.c:216 #, c-format msgid "" "request for BRIN range summarization for index \"%s\" page %u was not " "recorded" msgstr "\"%s\" 인덱스에서 BRIN 범위 요약 요청이 기록되지 못함, 해당 페이지: %u" -#: access/brin/brin.c:873 access/brin/brin.c:950 access/gin/ginfast.c:1035 -#: access/transam/xlog.c:10522 access/transam/xlog.c:11060 -#: access/transam/xlogfuncs.c:274 access/transam/xlogfuncs.c:301 -#: access/transam/xlogfuncs.c:340 access/transam/xlogfuncs.c:361 -#: access/transam/xlogfuncs.c:382 access/transam/xlogfuncs.c:452 -#: access/transam/xlogfuncs.c:509 +#: access/brin/brin.c:1036 access/brin/brin.c:1137 access/gin/ginfast.c:1040 +#: access/transam/xlogfuncs.c:189 access/transam/xlogfuncs.c:214 +#: access/transam/xlogfuncs.c:247 access/transam/xlogfuncs.c:286 +#: access/transam/xlogfuncs.c:307 access/transam/xlogfuncs.c:328 +#: access/transam/xlogfuncs.c:398 access/transam/xlogfuncs.c:456 #, c-format msgid "recovery is in progress" msgstr "복구 작업 진행 중" -#: access/brin/brin.c:874 access/brin/brin.c:951 +#: access/brin/brin.c:1037 access/brin/brin.c:1138 #, c-format msgid "BRIN control functions cannot be executed during recovery." msgstr "BRIN 제어 함수는 복구 작업 중에는 실행 될 수 없음" -#: access/brin/brin.c:882 access/brin/brin.c:959 +#: access/brin/brin.c:1042 access/brin/brin.c:1143 #, c-format -msgid "block number out of range: %s" -msgstr "블록 번호가 범위를 벗어남: %s" +msgid "block number out of range: %lld" +msgstr "블록 번호가 범위를 벗어남: %lld" -#: access/brin/brin.c:905 access/brin/brin.c:982 +#: access/brin/brin.c:1086 access/brin/brin.c:1169 #, c-format msgid "\"%s\" is not a BRIN index" msgstr "\"%s\" 개체는 BRIN 인덱스가 아닙니다" -#: access/brin/brin.c:921 access/brin/brin.c:998 +#: access/brin/brin.c:1102 access/brin/brin.c:1185 +#, c-format +msgid "could not open parent table of index \"%s\"" +msgstr "\"%s\" 인덱스에 대한 파티션 테이블을 열 수 없음" + +#: access/brin/brin_bloom.c:750 access/brin/brin_bloom.c:792 +#: access/brin/brin_minmax_multi.c:3011 access/brin/brin_minmax_multi.c:3148 +#: statistics/dependencies.c:663 statistics/dependencies.c:716 +#: statistics/mcv.c:1484 statistics/mcv.c:1515 statistics/mvdistinct.c:344 +#: statistics/mvdistinct.c:397 utils/adt/pseudotypes.c:43 +#: utils/adt/pseudotypes.c:77 utils/adt/tsgistidx.c:93 +#, c-format +msgid "cannot accept a value of type %s" +msgstr "%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 "could not open parent table of index %s" -msgstr "%s 인덱스에 대한 상위 테이블을 열 수 없음" +msgid "interval out of range" +msgstr "간격이 범위를 벗어남" #: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:362 -#: access/brin/brin_pageops.c:843 access/gin/ginentrypage.c:110 -#: access/gist/gist.c:1435 access/spgist/spgdoinsert.c:1957 +#: access/brin/brin_pageops.c:852 access/gin/ginentrypage.c:110 +#: access/gist/gist.c:1442 access/spgist/spgdoinsert.c:2002 +#: access/spgist/spgdoinsert.c:2279 #, c-format msgid "index row size %zu exceeds maximum %zu for index \"%s\"" msgstr "인덱스 행 크기 %zu이(가) 최대값 %zu(\"%s\" 인덱스)을(를) 초과함" -#: access/brin/brin_revmap.c:392 access/brin/brin_revmap.c:398 +#: access/brin/brin_revmap.c:393 access/brin/brin_revmap.c:399 #, c-format msgid "corrupted BRIN index: inconsistent range map" msgstr "BRIN 인덱스 속상: 범위 지도가 연결되지 않음" -#: access/brin/brin_revmap.c:601 +#: access/brin/brin_revmap.c:593 #, c-format msgid "unexpected page type 0x%04X in BRIN index \"%s\" block %u" msgstr "예상치 못한 0x%04X 페이지 타입: \"%s\" BRIN 인덱스 %u 블록" #: access/brin/brin_validate.c:118 access/gin/ginvalidate.c:151 -#: access/gist/gistvalidate.c:149 access/hash/hashvalidate.c:136 -#: access/nbtree/nbtvalidate.c:117 access/spgist/spgvalidate.c:168 +#: access/gist/gistvalidate.c:153 access/hash/hashvalidate.c:139 +#: access/nbtree/nbtvalidate.c:120 access/spgist/spgvalidate.c:189 #, c-format msgid "" "operator family \"%s\" of access method %s contains function %s with invalid " @@ -655,8 +789,8 @@ msgstr "" "로 지정되었습니다." #: access/brin/brin_validate.c:134 access/gin/ginvalidate.c:163 -#: access/gist/gistvalidate.c:161 access/hash/hashvalidate.c:115 -#: access/nbtree/nbtvalidate.c:129 access/spgist/spgvalidate.c:180 +#: access/gist/gistvalidate.c:165 access/hash/hashvalidate.c:118 +#: access/nbtree/nbtvalidate.c:132 access/spgist/spgvalidate.c:201 #, c-format msgid "" "operator family \"%s\" of access method %s contains function %s with wrong " @@ -666,8 +800,8 @@ msgstr "" "번호 %d 로 지정되었습니다." #: access/brin/brin_validate.c:156 access/gin/ginvalidate.c:182 -#: access/gist/gistvalidate.c:181 access/hash/hashvalidate.c:157 -#: access/nbtree/nbtvalidate.c:149 access/spgist/spgvalidate.c:200 +#: access/gist/gistvalidate.c:185 access/hash/hashvalidate.c:160 +#: access/nbtree/nbtvalidate.c:152 access/spgist/spgvalidate.c:221 #, c-format msgid "" "operator family \"%s\" of access method %s contains operator %s with invalid " @@ -677,8 +811,8 @@ msgstr "" "못되었습니다." #: access/brin/brin_validate.c:185 access/gin/ginvalidate.c:195 -#: access/hash/hashvalidate.c:170 access/nbtree/nbtvalidate.c:162 -#: access/spgist/spgvalidate.c:216 +#: access/hash/hashvalidate.c:173 access/nbtree/nbtvalidate.c:165 +#: access/spgist/spgvalidate.c:237 #, c-format msgid "" "operator family \"%s\" of access method %s contains invalid ORDER BY " @@ -688,8 +822,8 @@ msgstr "" "합니다." #: access/brin/brin_validate.c:198 access/gin/ginvalidate.c:208 -#: access/gist/gistvalidate.c:229 access/hash/hashvalidate.c:183 -#: access/nbtree/nbtvalidate.c:175 access/spgist/spgvalidate.c:232 +#: access/gist/gistvalidate.c:233 access/hash/hashvalidate.c:186 +#: access/nbtree/nbtvalidate.c:178 access/spgist/spgvalidate.c:253 #, c-format msgid "" "operator family \"%s\" of access method %s contains operator %s with wrong " @@ -697,8 +831,8 @@ msgid "" msgstr "" "\"%s\" 연산자 패밀리(접근 방법: %s)에 %s 연산자가 잘못된 기호를 사용합니다." -#: access/brin/brin_validate.c:236 access/hash/hashvalidate.c:223 -#: access/nbtree/nbtvalidate.c:233 access/spgist/spgvalidate.c:259 +#: access/brin/brin_validate.c:236 access/hash/hashvalidate.c:226 +#: access/nbtree/nbtvalidate.c:236 access/spgist/spgvalidate.c:280 #, c-format msgid "" "operator family \"%s\" of access method %s is missing operator(s) for types " @@ -715,14 +849,14 @@ msgstr "" "\"%s\" 연산자 패밀리(접근 방법: %s)에는 %s, %s 자료형용으로 쓸 함수가 없습니" "다" -#: access/brin/brin_validate.c:259 access/hash/hashvalidate.c:237 -#: access/nbtree/nbtvalidate.c:257 access/spgist/spgvalidate.c:294 +#: access/brin/brin_validate.c:259 access/hash/hashvalidate.c:240 +#: access/nbtree/nbtvalidate.c:260 access/spgist/spgvalidate.c:315 #, c-format msgid "operator class \"%s\" of access method %s is missing operator(s)" msgstr "\"%s\" 연산자 클래스(접근 방법: %s)에 연산자가 빠졌습니다" #: access/brin/brin_validate.c:270 access/gin/ginvalidate.c:250 -#: access/gist/gistvalidate.c:270 +#: access/gist/gistvalidate.c:274 #, c-format msgid "" "operator class \"%s\" of access method %s is missing support function %d" @@ -741,12 +875,12 @@ msgid "" "Number of returned columns (%d) does not match expected column count (%d)." msgstr "반환할 칼럼 수(%d)와 예상되는 칼럼수(%d)가 다릅니다." -#: access/common/attmap.c:229 access/common/attmap.c:241 +#: access/common/attmap.c:234 access/common/attmap.c:246 #, c-format msgid "could not convert row type" msgstr "로우 자료형을 변환 할 수 없음" -#: access/common/attmap.c:230 +#: access/common/attmap.c:235 #, c-format msgid "" "Attribute \"%s\" of type %s does not match corresponding attribute of type " @@ -754,107 +888,134 @@ msgid "" msgstr "" " \"%s\" 속성(대상 자료형 %s)이 %s 자료형의 속성 가운데 관련된 것이 없습니다" -#: access/common/attmap.c:242 +#: access/common/attmap.c:247 #, c-format msgid "Attribute \"%s\" of type %s does not exist in type %s." msgstr "\"%s\" 속성(대상 자료형 %s)이 %s 자료형에는 없습니다." -#: access/common/heaptuple.c:1036 access/common/heaptuple.c:1371 +#: access/common/heaptuple.c:1124 access/common/heaptuple.c:1459 #, c-format msgid "number of columns (%d) exceeds limit (%d)" msgstr "칼럼 개수(%d)가 최대값(%d)을 초과했습니다" -#: access/common/indextuple.c:70 +#: access/common/indextuple.c:89 #, c-format msgid "number of index columns (%d) exceeds limit (%d)" msgstr "인덱스 칼럼 개수(%d)가 최대값(%d)을 초과했습니다" -#: access/common/indextuple.c:187 access/spgist/spgutils.c:703 +#: access/common/indextuple.c:209 access/spgist/spgutils.c:950 #, c-format msgid "index row requires %zu bytes, maximum size is %zu" msgstr "인덱스 행(row)은 %zu 바이트를 필요로 함, 최대 크기는 %zu" -#: access/common/printtup.c:369 tcop/fastpath.c:180 tcop/fastpath.c:530 -#: tcop/postgres.c:1904 +#: access/common/printtup.c:292 tcop/fastpath.c:107 tcop/fastpath.c:454 +#: tcop/postgres.c:1944 #, c-format msgid "unsupported format code: %d" msgstr "지원하지 않는 포맷 코드: %d" -#: access/common/reloptions.c:506 +#: access/common/reloptions.c:521 access/common/reloptions.c:532 msgid "Valid values are \"on\", \"off\", and \"auto\"." msgstr "유효한 값: \"on\", \"off\", \"auto\"" -#: access/common/reloptions.c:517 +#: access/common/reloptions.c:543 msgid "Valid values are \"local\" and \"cascaded\"." msgstr "사용할 수 있는 값은 \"local\" 또는 \"cascaded\" 입니다" -#: access/common/reloptions.c:665 +#: access/common/reloptions.c:691 #, c-format msgid "user-defined relation parameter types limit exceeded" msgstr "사용자 정의 관계 매개 변수 형식 제한을 초과함" -#: access/common/reloptions.c:1208 +#: access/common/reloptions.c:1233 #, c-format msgid "RESET must not include values for parameters" msgstr "매개 변수의 값으로 RESET은 올 수 없음" -#: access/common/reloptions.c:1240 +#: access/common/reloptions.c:1265 #, c-format msgid "unrecognized parameter namespace \"%s\"" msgstr "\"%s\" 매개 변수 네임스페이스를 인식할 수 없음" -#: access/common/reloptions.c:1277 utils/misc/guc.c:12004 +#: access/common/reloptions.c:1302 commands/variable.c:1167 #, c-format msgid "tables declared WITH OIDS are not supported" msgstr "WITH OIDS 테이블을 지원하지 않음" -#: access/common/reloptions.c:1447 +#: access/common/reloptions.c:1470 #, c-format msgid "unrecognized parameter \"%s\"" msgstr "알 수 없는 환경 설정 이름입니다 \"%s\"" -#: access/common/reloptions.c:1559 +#: access/common/reloptions.c:1582 #, c-format msgid "parameter \"%s\" specified more than once" msgstr "\"%s\" 매개 변수가 여러 번 지정됨" -#: access/common/reloptions.c:1575 +#: access/common/reloptions.c:1598 #, c-format msgid "invalid value for boolean option \"%s\": %s" -msgstr "\"%s\" 부울 옵션 값이 잘못됨: %s" +msgstr "\"%s\" 불리언 옵션 값이 잘못됨: %s" -#: access/common/reloptions.c:1587 +#: access/common/reloptions.c:1610 #, c-format msgid "invalid value for integer option \"%s\": %s" msgstr "\"%s\" 정수 옵션 값이 잘못됨: %s" -#: access/common/reloptions.c:1593 access/common/reloptions.c:1613 +#: access/common/reloptions.c:1616 access/common/reloptions.c:1636 #, c-format msgid "value %s out of bounds for option \"%s\"" msgstr "값 %s은(는) \"%s\" 옵션 범위를 벗어남" -#: access/common/reloptions.c:1595 +#: access/common/reloptions.c:1618 #, c-format msgid "Valid values are between \"%d\" and \"%d\"." msgstr "유효한 값은 \"%d\"에서 \"%d\" 사이입니다." -#: access/common/reloptions.c:1607 +#: access/common/reloptions.c:1630 #, c-format msgid "invalid value for floating point option \"%s\": %s" msgstr "\"%s\" 부동 소수점 옵션 값이 잘못됨: %s" -#: access/common/reloptions.c:1615 +#: access/common/reloptions.c:1638 #, c-format msgid "Valid values are between \"%f\" and \"%f\"." msgstr "유효한 값은 \"%f\"에서 \"%f\" 사이입니다." -#: access/common/reloptions.c:1637 +#: access/common/reloptions.c:1660 #, c-format msgid "invalid value for enum option \"%s\": %s" msgstr "\"%s\" enum 옵션 값이 잘못됨: %s" +#: access/common/reloptions.c:1991 +#, c-format +msgid "cannot specify storage parameters for a partitioned table" +msgstr "파티션 상위 테이블 대상으로는 스토리지 매개 변수를 지정할 수 없음" + +#: access/common/reloptions.c:1992 +#, c-format +msgid "Specify storage parameters for its leaf partitions instead." +msgstr "" +"대신에 각 하위 파티션 테이블 대상으로 각각 스토리지 매개 변수를 지정하세요." + +#: access/common/toast_compression.c:33 +#, c-format +msgid "compression method lz4 not supported" +msgstr "lz4 압축 방법을 지원하지 않습니다" + +#: access/common/toast_compression.c:34 +#, c-format +msgid "This functionality requires the server to be built with lz4 support." +msgstr "이 기능을 사용하려면 lz4 지원으로 서버를 빌드해야 합니다." + +#: access/common/tupdesc.c:837 commands/tablecmds.c:6953 +#: commands/tablecmds.c:12973 +#, c-format +msgid "too many array dimensions" +msgstr "너무 많은 배열 차수" + #: access/common/tupdesc.c:842 parser/parse_clause.c:772 -#: parser/parse_relation.c:1803 +#: parser/parse_relation.c:1913 #, c-format msgid "column \"%s\" cannot be declared SETOF" msgstr "\"%s\" 칼럼은 SETOF를 지정할 수 없습니다" @@ -869,22 +1030,22 @@ msgstr "포스팅 목록이 너무 깁니다" msgid "Reduce maintenance_work_mem." msgstr "maintenance_work_mem 설정값을 줄이세요." -#: access/gin/ginfast.c:1036 +#: access/gin/ginfast.c:1041 #, c-format msgid "GIN pending list cannot be cleaned up during recovery." msgstr "GIN 팬딩 목록은 복구 작업 중에는 정리될 수 없습니다." -#: access/gin/ginfast.c:1043 +#: access/gin/ginfast.c:1048 #, c-format msgid "\"%s\" is not a GIN index" msgstr "\"%s\" 개체는 GIN 인덱스가 아닙니다" -#: access/gin/ginfast.c:1054 +#: access/gin/ginfast.c:1059 #, c-format msgid "cannot access temporary indexes of other sessions" msgstr "다른 세션의 임시 인덱스는 접근할 수 없음" -#: access/gin/ginget.c:270 access/nbtree/nbtinsert.c:745 +#: access/gin/ginget.c:273 access/nbtree/nbtinsert.c:762 #, c-format msgid "failed to re-find tuple within index \"%s\"" msgstr "\"%s\" 인덱스에서 튜플 재검색 실패" @@ -901,15 +1062,15 @@ msgstr "" msgid "To fix this, do REINDEX INDEX \"%s\"." msgstr "이 문제를 고치려면, 다음 명령을 수행하세요: REINDEX INDEX \"%s\"" -#: access/gin/ginutil.c:144 executor/execExpr.c:1862 -#: utils/adt/arrayfuncs.c:3790 utils/adt/arrayfuncs.c:6418 -#: utils/adt/rowtypes.c:936 +#: access/gin/ginutil.c:146 executor/execExpr.c:2169 +#: utils/adt/arrayfuncs.c:3996 utils/adt/arrayfuncs.c:6683 +#: utils/adt/rowtypes.c:984 #, c-format msgid "could not identify a comparison function for type %s" msgstr "%s 자료형에서 사용할 비교함수를 찾을 수 없습니다." #: access/gin/ginvalidate.c:92 access/gist/gistvalidate.c:93 -#: access/hash/hashvalidate.c:99 access/spgist/spgvalidate.c:99 +#: access/hash/hashvalidate.c:102 access/spgist/spgvalidate.c:102 #, c-format msgid "" "operator family \"%s\" of access method %s contains support function %s with " @@ -926,12 +1087,18 @@ msgid "" msgstr "" "\"%s\" 연산자 클래스(접근 방법: %s)에는 %d 또는 %d 지원 함수가 빠졌습니다" -#: access/gist/gist.c:753 access/gist/gistvacuum.c:408 +#: access/gin/ginvalidate.c:333 access/gist/gistvalidate.c:350 +#: access/spgist/spgvalidate.c:387 +#, c-format +msgid "support function number %d is invalid for access method %s" +msgstr "지원 함수 번호 %d 잘못됨, 대상 접근 방법: %s" + +#: access/gist/gist.c:759 access/gist/gistvacuum.c:426 #, c-format msgid "index \"%s\" contains an inner tuple marked as invalid" msgstr "\"%s\" 인덱스에 잘못된 내부 튜플이 있다고 확인되었습니다." -#: access/gist/gist.c:755 access/gist/gistvacuum.c:410 +#: access/gist/gist.c:761 access/gist/gistvacuum.c:428 #, c-format msgid "" "This is caused by an incomplete page split at crash recovery before " @@ -940,15 +1107,20 @@ msgstr "" "이 문제는 PostgreSQL 9.1 버전으로 업그레이드 하기 전에 장애 복구 처리에서 잘" "못된 페이지 분리 때문에 발생했습니다." -#: access/gist/gist.c:756 access/gist/gistutil.c:786 access/gist/gistutil.c:797 -#: access/gist/gistvacuum.c:411 access/hash/hashutil.c:227 +#: 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:741 -#: access/nbtree/nbtpage.c:752 +#: access/hash/hashutil.c:271 access/nbtree/nbtpage.c:813 +#: access/nbtree/nbtpage.c:824 #, c-format msgid "Please REINDEX it." msgstr "REINDEX 명령으로 다시 인덱스를 만드세요" +#: access/gist/gist.c:1176 +#, c-format +msgid "fixing incomplete split in index \"%s\", block %u" +msgstr "\"%s\" 인덱스의 불완전한 분기 수정중, 블록번호: %u" + #: access/gist/gistsplit.c:446 #, c-format msgid "picksplit method for column %d of index \"%s\" failed" @@ -963,19 +1135,19 @@ msgstr "" "인덱스가 최적화되지 않았습니다. 최적화하려면 개발자에게 문의하거나, CREATE " "INDEX 명령에서 해당 칼럼을 두 번째 인덱스로 사용하십시오." -#: access/gist/gistutil.c:783 access/hash/hashutil.c:224 -#: access/nbtree/nbtpage.c:738 +#: access/gist/gistutil.c:798 access/hash/hashutil.c:224 +#: access/nbtree/nbtpage.c:810 #, c-format msgid "index \"%s\" contains unexpected zero page at block %u" msgstr "\"%s\" 인덱스의 %u번째 블럭에서 예상치 않은 zero page가 있습니다" -#: access/gist/gistutil.c:794 access/hash/hashutil.c:235 -#: access/hash/hashutil.c:247 access/nbtree/nbtpage.c:749 +#: access/gist/gistutil.c:809 access/hash/hashutil.c:235 +#: access/hash/hashutil.c:247 access/nbtree/nbtpage.c:821 #, c-format msgid "index \"%s\" contains corrupted page at block %u" msgstr "\"%s\" 인덱스트 %u번째 블럭이 속상되었습니다" -#: access/gist/gistvalidate.c:199 +#: access/gist/gistvalidate.c:203 #, c-format msgid "" "operator family \"%s\" of access method %s contains unsupported ORDER BY " @@ -984,7 +1156,7 @@ msgstr "" "\"%s\" 연산자 패밀리(접근 방법: %s)에 %s 연산자가 지원하지 않는 ORDER BY 명세" "를 사용합니다." -#: access/gist/gistvalidate.c:210 +#: access/gist/gistvalidate.c:214 #, c-format msgid "" "operator family \"%s\" of access method %s contains incorrect ORDER BY " @@ -993,41 +1165,40 @@ msgstr "" "\"%s\" 연산자 패밀리(접근 방법: %s)에 %s 연산자가 잘못된 ORDER BY 명세를 사용" "합니다." -#: access/hash/hashfunc.c:255 access/hash/hashfunc.c:311 -#: utils/adt/varchar.c:993 utils/adt/varchar.c:1053 +#: access/hash/hashfunc.c:279 access/hash/hashfunc.c:333 +#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1064 #, c-format msgid "could not determine which collation to use for string hashing" msgstr "문자열 해시 작업에 사용할 정렬규칙(collation)을 결정할 수 없음" -#: access/hash/hashfunc.c:256 access/hash/hashfunc.c:312 catalog/heap.c:702 -#: catalog/heap.c:708 commands/createas.c:206 commands/createas.c:489 -#: commands/indexcmds.c:1814 commands/tablecmds.c:16035 commands/view.c:86 -#: parser/parse_utilcmd.c:4203 regex/regc_pg_locale.c:263 -#: utils/adt/formatting.c:1667 utils/adt/formatting.c:1791 -#: utils/adt/formatting.c:1916 utils/adt/like.c:194 -#: utils/adt/like_support.c:1003 utils/adt/varchar.c:733 -#: utils/adt/varchar.c:994 utils/adt/varchar.c:1054 utils/adt/varlena.c:1476 +#: access/hash/hashfunc.c:280 access/hash/hashfunc.c:334 catalog/heap.c:668 +#: catalog/heap.c:674 commands/createas.c:206 commands/createas.c:515 +#: commands/indexcmds.c:2039 commands/tablecmds.c:17462 commands/view.c:86 +#: regex/regc_pg_locale.c:243 utils/adt/formatting.c:1648 +#: utils/adt/formatting.c:1770 utils/adt/formatting.c:1893 utils/adt/like.c:191 +#: utils/adt/like_support.c:1025 utils/adt/varchar.c:739 +#: utils/adt/varchar.c:1010 utils/adt/varchar.c:1065 utils/adt/varlena.c:1518 #, c-format msgid "Use the COLLATE clause to set the collation explicitly." msgstr "명시적으로 정렬 규칙을 지정하려면 COLLATE 절을 사용하세요." -#: access/hash/hashinsert.c:82 +#: access/hash/hashinsert.c:86 #, c-format msgid "index row size %zu exceeds hash maximum %zu" msgstr "인덱스 행 크기가 초과됨: 현재값 %zu, 최대값 %zu" -#: access/hash/hashinsert.c:84 access/spgist/spgdoinsert.c:1961 -#: access/spgist/spgutils.c:764 +#: access/hash/hashinsert.c:88 access/spgist/spgdoinsert.c:2006 +#: access/spgist/spgdoinsert.c:2283 access/spgist/spgutils.c:1011 #, c-format msgid "Values larger than a buffer page cannot be indexed." msgstr "버퍼 페이지보다 큰 값은 인덱싱할 수 없습니다." -#: access/hash/hashovfl.c:87 +#: access/hash/hashovfl.c:88 #, c-format msgid "invalid overflow block number %u" msgstr "잘못된 오버플로우 블록 번호: %u" -#: access/hash/hashovfl.c:283 access/hash/hashpage.c:453 +#: access/hash/hashovfl.c:284 access/hash/hashpage.c:454 #, c-format msgid "out of overflow pages in hash index \"%s\"" msgstr "\"%s\" 해시 인덱스에서 오버플로우 페이지 초과" @@ -1047,114 +1218,117 @@ msgstr "\"%s\" 인덱스는 해시 인덱스가 아님" msgid "index \"%s\" has wrong hash version" msgstr "\"%s\" 인덱스는 잘못된 해시 버전임" -#: access/hash/hashvalidate.c:195 +#: access/hash/hashvalidate.c:198 #, c-format msgid "" "operator family \"%s\" of access method %s lacks support function for " "operator %s" msgstr "\"%s\" 연산자 패밀리(접근 방법: %s)에 %s 연산자용 지원 함수가 없음" -#: access/hash/hashvalidate.c:253 access/nbtree/nbtvalidate.c:273 +#: access/hash/hashvalidate.c:256 access/nbtree/nbtvalidate.c:276 #, c-format msgid "" "operator family \"%s\" of access method %s is missing cross-type operator(s)" msgstr "%s 연산자 패밀리(접근 방법: %s)에 cross-type 연산자가 빠졌음" -#: access/heap/heapam.c:2024 +#: access/heap/heapam.c:2027 #, c-format msgid "cannot insert tuples in a parallel worker" msgstr "병렬 작업자는 튜플을 추가 할 수 없음" -#: access/heap/heapam.c:2442 +#: access/heap/heapam.c:2546 #, c-format msgid "cannot delete tuples during a parallel operation" msgstr "병렬 작업 중에는 튜플을 지울 수 없음" -#: access/heap/heapam.c:2488 +#: access/heap/heapam.c:2593 #, c-format msgid "attempted to delete invisible tuple" msgstr "볼 수 없는 튜플을 삭제 하려고 함" -#: access/heap/heapam.c:2914 access/heap/heapam.c:5703 +#: access/heap/heapam.c:3036 access/heap/heapam.c:5903 #, c-format msgid "cannot update tuples during a parallel operation" msgstr "병렬 작업 중에 튜플 갱신은 할 수 없음" -#: access/heap/heapam.c:3047 +#: access/heap/heapam.c:3164 #, c-format msgid "attempted to update invisible tuple" msgstr "볼 수 없는 튜플을 변경하려고 함" -#: access/heap/heapam.c:4358 access/heap/heapam.c:4396 -#: access/heap/heapam.c:4653 access/heap/heapam_handler.c:450 +#: access/heap/heapam.c:4551 access/heap/heapam.c:4589 +#: access/heap/heapam.c:4854 access/heap/heapam_handler.c:467 #, c-format msgid "could not obtain lock on row in relation \"%s\"" msgstr "\"%s\" 릴레이션의 잠금 정보를 구할 수 없음" -#: access/heap/heapam_handler.c:399 +#: access/heap/heapam_handler.c:412 #, c-format msgid "" "tuple to be locked was already moved to another partition due to concurrent " "update" msgstr "잠글 튜플은 동시 업데이트로 다른 파티션으로 이미 옮겨졌음" -#: access/heap/hio.c:345 access/heap/rewriteheap.c:662 +#: access/heap/hio.c:536 access/heap/rewriteheap.c:659 #, c-format msgid "row is too big: size %zu, maximum size %zu" msgstr "로우가 너무 큽니다: 크기 %zu, 최대값 %zu" -#: access/heap/rewriteheap.c:921 +#: access/heap/rewriteheap.c:919 #, c-format msgid "could not write to file \"%s\", wrote %d of %d: %m" msgstr "\"%s\" 파일 쓰기 실패, %d / %d 기록함: %m." -#: access/heap/rewriteheap.c:1015 access/heap/rewriteheap.c:1134 -#: access/transam/timeline.c:329 access/transam/timeline.c:485 -#: access/transam/xlog.c:3300 access/transam/xlog.c:3472 -#: access/transam/xlog.c:4670 access/transam/xlog.c:10869 -#: access/transam/xlog.c:10907 access/transam/xlog.c:11312 -#: access/transam/xlogfuncs.c:735 postmaster/postmaster.c:4629 -#: replication/logical/origin.c:575 replication/slot.c:1446 -#: storage/file/copydir.c:167 storage/smgr/md.c:218 utils/time/snapmgr.c:1329 +#: 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/xlogfuncs.c:702 backup/basebackup_server.c:151 +#: backup/basebackup_server.c:244 commands/dbcommands.c:518 +#: postmaster/postmaster.c:4557 postmaster/postmaster.c:5560 +#: replication/logical/origin.c:603 replication/slot.c:1777 +#: storage/file/copydir.c:157 storage/smgr/md.c:232 utils/time/snapmgr.c:1263 #, c-format msgid "could not create file \"%s\": %m" msgstr "\"%s\" 파일을 만들 수 없음: %m" -#: access/heap/rewriteheap.c:1144 +#: access/heap/rewriteheap.c:1138 #, c-format msgid "could not truncate file \"%s\" to %u: %m" msgstr "\"%s\" 파일을 %u 크기로 정리할 수 없음: %m" -#: access/heap/rewriteheap.c:1162 access/transam/timeline.c:384 -#: access/transam/timeline.c:424 access/transam/timeline.c:502 -#: access/transam/xlog.c:3356 access/transam/xlog.c:3528 -#: access/transam/xlog.c:4682 postmaster/postmaster.c:4639 -#: postmaster/postmaster.c:4649 replication/logical/origin.c:587 -#: replication/logical/origin.c:629 replication/logical/origin.c:648 -#: replication/logical/snapbuild.c:1622 replication/slot.c:1481 -#: storage/file/buffile.c:502 storage/file/copydir.c:207 -#: utils/init/miscinit.c:1391 utils/init/miscinit.c:1402 -#: utils/init/miscinit.c:1410 utils/misc/guc.c:7996 utils/misc/guc.c:8027 -#: utils/misc/guc.c:9947 utils/misc/guc.c:9961 utils/time/snapmgr.c:1334 -#: utils/time/snapmgr.c:1341 +#: 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: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 +#: 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/rewriteheap.c:1252 access/transam/twophase.c:1609 -#: access/transam/xlogarchive.c:118 access/transam/xlogarchive.c:421 -#: postmaster/postmaster.c:1092 postmaster/syslogger.c:1465 -#: replication/logical/origin.c:563 replication/logical/reorderbuffer.c:3079 -#: replication/logical/snapbuild.c:1564 replication/logical/snapbuild.c:2006 -#: replication/slot.c:1578 storage/file/fd.c:754 storage/file/fd.c:3116 -#: storage/file/fd.c:3178 storage/file/reinit.c:255 storage/ipc/dsm.c:302 -#: storage/smgr/md.c:311 storage/smgr/md.c:367 storage/sync/sync.c:210 -#: utils/time/snapmgr.c:1674 +#: access/heap/vacuumlazy.c:482 #, c-format -msgid "could not remove file \"%s\": %m" -msgstr "\"%s\" 파일을 삭제할 수 없음: %m" +msgid "aggressively vacuuming \"%s.%s.%s\"" +msgstr "적극적으로 \"%s.%s.%s\" 청소 중" -#: access/heap/vacuumlazy.c:648 +#: access/heap/vacuumlazy.c:487 +#, c-format +msgid "vacuuming \"%s.%s.%s\"" +msgstr "\"%s.%s.%s\" 청소 중" + +#: access/heap/vacuumlazy.c:635 +#, c-format +msgid "finished vacuuming \"%s.%s.%s\": index scans: %d\n" +msgstr "\"%s.%s.%s\" 테이블 청소 끝남: 인덱스 탐색: %d\n" + +#: access/heap/vacuumlazy.c:646 #, c-format msgid "" "automatic aggressive vacuum to prevent wraparound of table \"%s.%s.%s\": " @@ -1163,234 +1337,234 @@ msgstr "" "트랙젝션 ID 겹침 방지를 위한 적극적인 \"%s.%s.%s\" 테이블 자동 청소: 인덱스 " "탐색: %d\n" -#: access/heap/vacuumlazy.c:650 +#: access/heap/vacuumlazy.c:648 #, c-format msgid "" "automatic vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: " "%d\n" msgstr "" -"트랙젝션 ID 겹침 방지를 위한 \"%s.%s.%s\" 테이블 자동 청소: 인덱스 " -"탐색: %d\n" +"트랙젝션 ID 겹침 방지를 위한 \"%s.%s.%s\" 테이블 자동 청소: 인덱스 탐색: %d\n" -#: access/heap/vacuumlazy.c:655 +#: access/heap/vacuumlazy.c:653 #, c-format msgid "automatic aggressive vacuum of table \"%s.%s.%s\": index scans: %d\n" msgstr "적극적인 \"%s.%s.%s\" 테이블 자동 청소: 인덱스 탐색: %d\n" -#: access/heap/vacuumlazy.c:657 +#: access/heap/vacuumlazy.c:655 #, c-format msgid "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n" msgstr "\"%s.%s.%s\" 테이블 자동 청소: 인덱스 탐색: %d\n" -#: access/heap/vacuumlazy.c:664 +#: access/heap/vacuumlazy.c:662 #, c-format -msgid "" -"pages: %u removed, %u remain, %u skipped due to pins, %u skipped frozen\n" -msgstr "페이지: %u 삭제됨, %u 남음, %u 핀닝으로 건너뜀, %u 동결되어 건너뜀\n" +msgid "pages: %u removed, %u remain, %u scanned (%.2f%% of total)\n" +msgstr "페이지: %u 삭제됨, %u 남음, %u 검사됨 (전체의 %.2f%%)\n" -#: access/heap/vacuumlazy.c:670 +#: access/heap/vacuumlazy.c:669 #, c-format msgid "" -"tuples: %.0f removed, %.0f remain, %.0f are dead but not yet removable, " -"oldest xmin: %u\n" +"tuples: %lld removed, %lld remain, %lld are dead but not yet removable\n" msgstr "" -"튜플: %.0f 삭제됨, %.0f 남음, %.0f 삭제할 수 없는 죽은 튜플, 제일 늙은 xmin: " -"%u\n" +"튜플: %.lld 삭제됨, %lld 남음, 아직 %lld 개의 튜플을 지워야하지만 못지웠음\n" -#: access/heap/vacuumlazy.c:676 +#: access/heap/vacuumlazy.c:675 #, c-format -msgid "buffer usage: %lld hits, %lld misses, %lld dirtied\n" -msgstr "버퍼 사용량: %lld 조회, %lld 놓침, %lld 변경됨\n" +msgid "" +"tuples missed: %lld dead from %u pages not removed due to cleanup lock " +"contention\n" +msgstr "" +"놓친 튜플: %lld 개의 죽은 튜플이 %u 개의 페이지 안에 있음: cleanup 잠금 연결 " +"때문\n" -#: access/heap/vacuumlazy.c:680 +#: access/heap/vacuumlazy.c:681 #, c-format -msgid "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n" -msgstr "평균 읽기 속도: %.3f MB/s, 평균 쓰기 속도: %.3f MB/s\n" +msgid "removable cutoff: %u, which was %d XIDs old when operation ended\n" +msgstr "삭제 가능한 컷오프: %u, which was %d XIDs old when operation ended\n" -#: access/heap/vacuumlazy.c:682 +#: access/heap/vacuumlazy.c:688 #, c-format -msgid "system usage: %s\n" -msgstr "시스템 사용량: %s\n" +msgid "new relfrozenxid: %u, which is %d XIDs ahead of previous value\n" +msgstr "새 relfrozenxid: %u, which is %d XIDs ahead of previous value\n" -#: access/heap/vacuumlazy.c:684 +#: access/heap/vacuumlazy.c:696 #, c-format -msgid "WAL usage: %ld records, %ld full page images, %llu bytes" -msgstr "WAL 사용량: %ld 레코드, %ld 페이지 전체 이미지, %llu 바이트" +msgid "new relminmxid: %u, which is %d MXIDs ahead of previous value\n" +msgstr "새 relminmxid: %u, which is %d MXIDs ahead of previous value\n" -#: access/heap/vacuumlazy.c:795 +#: access/heap/vacuumlazy.c:699 #, c-format -msgid "aggressively vacuuming \"%s.%s\"" -msgstr "적극적으로 \"%s.%s\" 청소 중" +msgid "frozen: %u pages from table (%.2f%% of total) had %lld tuples frozen\n" +msgstr "" +"영구보관: 테이블의 %u개 페이지(전체의 %.2f%%)에서 %lld 개의 튜플을 영구 보관" +"함\n" -#: access/heap/vacuumlazy.c:800 commands/cluster.c:874 -#, c-format -msgid "vacuuming \"%s.%s\"" -msgstr "\"%s.%s\" 청소 중" +#: access/heap/vacuumlazy.c:707 +msgid "index scan not needed: " +msgstr "인덱스 검사 필요 없음: " + +#: access/heap/vacuumlazy.c:709 +msgid "index scan needed: " +msgstr "인덱스 검사 필요함: " -#: access/heap/vacuumlazy.c:837 +#: access/heap/vacuumlazy.c:711 #, c-format msgid "" -"disabling parallel option of vacuum on \"%s\" --- cannot vacuum temporary " -"tables in parallel" +"%u pages from table (%.2f%% of total) had %lld dead item identifiers " +"removed\n" msgstr "" -"\"%s\" 청소 작업에서의 병렬 옵션은 무시함 --- 임시 테이블은 병렬 처리로 " -"청소 할 수 없음" - -#: access/heap/vacuumlazy.c:1725 -#, c-format -msgid "\"%s\": removed %.0f row versions in %u pages" -msgstr "\"%s\": %.0f개의 행 버전을 %u개 페이지에서 삭제했습니다." +"테이블의 %u개 페이지(전체의 %.2f%%)에서 %lld 개의 죽은 항목 식별자를 지웠음\n" -#: access/heap/vacuumlazy.c:1735 -#, c-format -msgid "%.0f dead row versions cannot be removed yet, oldest xmin: %u\n" -msgstr "%.0f개의 죽은 로우 버전을 아직 지울 수 없습니다, 제일 늙은 xmin: %u\n" +#: access/heap/vacuumlazy.c:716 +msgid "index scan bypassed: " +msgstr "인덱스 검사 통과됨: " -#: access/heap/vacuumlazy.c:1737 -#, c-format -msgid "There were %.0f unused item identifiers.\n" -msgstr "%.0f개의 사용되지 않은 아이템 식별자들이 있습니다.\n" +#: access/heap/vacuumlazy.c:718 +msgid "index scan bypassed by failsafe: " +msgstr "failsafe의 의해 인덱스 검사 통과됨: " -#: access/heap/vacuumlazy.c:1739 +#: access/heap/vacuumlazy.c:720 #, c-format -msgid "Skipped %u page due to buffer pins, " -msgid_plural "Skipped %u pages due to buffer pins, " -msgstr[0] "%u 페이지를 버퍼 핀닝으로 건너 뛰었습니다, " +msgid "%u pages from table (%.2f%% of total) have %lld dead item identifiers\n" +msgstr "" +"테이블의 %u 개 페이지(전체의 %.2f%%)에서 %lld 개의 죽은 항목 식별자가 있음\n" -#: access/heap/vacuumlazy.c:1743 +#: access/heap/vacuumlazy.c:735 #, c-format -msgid "%u frozen page.\n" -msgid_plural "%u frozen pages.\n" -msgstr[0] "" +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:1747 +#: access/heap/vacuumlazy.c:747 commands/analyze.c:796 #, c-format -msgid "%u page is entirely empty.\n" -msgid_plural "%u pages are entirely empty.\n" -msgstr[0] "" +msgid "I/O timings: read: %.3f ms, write: %.3f ms\n" +msgstr "I/O 속도: 읽기: %.3f ms, 쓰기: %.3f ms\n" -#: access/heap/vacuumlazy.c:1751 commands/indexcmds.c:3487 -#: commands/indexcmds.c:3505 +#: access/heap/vacuumlazy.c:757 commands/analyze.c:799 #, c-format -msgid "%s." -msgstr "%s." +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:1754 +#: access/heap/vacuumlazy.c:760 commands/analyze.c:801 #, c-format -msgid "" -"\"%s\": found %.0f removable, %.0f nonremovable row versions in %u out of %u " -"pages" -msgstr "" -"\"%s\": 지울 수 있는 자료 %.0f개, 지울 수 없는 자료 %.0f개를 %u/%u개 페이지에" -"서 찾았음" +msgid "buffer usage: %lld hits, %lld misses, %lld dirtied\n" +msgstr "버퍼 사용량: %lld 조회, %lld 놓침, %lld 변경됨\n" -#: access/heap/vacuumlazy.c:1888 +#: access/heap/vacuumlazy.c:765 #, c-format -msgid "\"%s\": removed %d row versions in %d pages" -msgstr "\"%s\": %d 개 자료를 %d 페이지에서 삭제했음" +msgid "WAL usage: %lld records, %lld full page images, %llu bytes\n" +msgstr "WAL 사용량: %lld 레코드, %lld full page 이미지, %llu 바이트\n" -#: access/heap/vacuumlazy.c:2143 +#: access/heap/vacuumlazy.c:769 commands/analyze.c:805 #, c-format -msgid "launched %d parallel vacuum worker for index cleanup (planned: %d)" -msgid_plural "" -"launched %d parallel vacuum workers for index cleanup (planned: %d)" -msgstr[0] "" +msgid "system usage: %s" +msgstr "시스템 사용량: %s" -#: access/heap/vacuumlazy.c:2149 +#: access/heap/vacuumlazy.c:2482 #, c-format -msgid "launched %d parallel vacuum worker for index vacuuming (planned: %d)" -msgid_plural "" -"launched %d parallel vacuum workers for index vacuuming (planned: %d)" -msgstr[0] "" +msgid "table \"%s\": removed %lld dead item identifiers in %u pages" +msgstr "" +"\"%s\" 테이블: %lld 개의 죽은 항목 실별자를 %u 개의 페이지에서 삭제했음" -#: access/heap/vacuumlazy.c:2441 +#: access/heap/vacuumlazy.c:2642 #, c-format msgid "" -"scanned index \"%s\" to remove %d row versions by parallel vacuum worker" +"bypassing nonessential maintenance of table \"%s.%s.%s\" as a failsafe after " +"%d index scans" msgstr "" -"\"%s\" 인덱스를 스캔해서 %d개의 행 버전들을 병렬 vacuum 작업자가 지웠습니다" +"\"%s.%s.%s\" 테이블의 불필요한 관리 작업은 통과했음, %d 번의 인덱스 검사로 굳" +"이 필요 없음" -#: access/heap/vacuumlazy.c:2443 +#: access/heap/vacuumlazy.c:2645 #, c-format -msgid "scanned index \"%s\" to remove %d row versions" -msgstr "\"%s\" 인덱스를 스캔해서 %d개의 행 버전들을 지웠습니다" +msgid "The table's relfrozenxid or relminmxid is too far in the past." +msgstr "해당 테이블의 relfrozenxid 나 relminmxid 값이 너무 오래 된 것입니다." -#: access/heap/vacuumlazy.c:2501 +#: access/heap/vacuumlazy.c:2646 #, c-format msgid "" -"index \"%s\" now contains %.0f row versions in %u pages as reported by " -"parallel vacuum worker" +"Consider increasing configuration parameter \"maintenance_work_mem\" or " +"\"autovacuum_work_mem\".\n" +"You might also need to consider other ways for VACUUM to keep up with the " +"allocation of transaction IDs." msgstr "" -"\"%s\" 인덱스는 %.0f 행 버전을 %u 페이지에서 포함있음을 " -"병렬 vacuum 작업자가 보고함" +"\"maintenance_work_mem\" 또는 \"autovacuum_work_mem\" 환경 설정 매개 변수값 " +"늘리는 것을 고려해 보세요.\n" +"VACUUM 작업이 트랜잭션 ID가 증가하는 것을 따라 잡을 있는 다른 방법도 해 봐야 " +"할 것 같습니다." -#: access/heap/vacuumlazy.c:2503 +#: access/heap/vacuumlazy.c:2891 #, c-format -msgid "index \"%s\" now contains %.0f row versions in %u pages" -msgstr "\"%s\" 인덱스는 %.0f 행 버전을 %u 페이지에서 포함하고 있습니다." +msgid "\"%s\": stopping truncate due to conflicting lock request" +msgstr "\"%s\": 잠금 요청 충돌로 자료 비우기 작업을 중지합니다" -#: access/heap/vacuumlazy.c:2510 +#: access/heap/vacuumlazy.c:2961 #, c-format -msgid "" -"%.0f index row versions were removed.\n" -"%u index pages have been deleted, %u are currently reusable.\n" -"%s." -msgstr "" -"%.0f개의 인덱스 행 버전을 삭제했습니다.\n" -"%u개 인덱스 페이지를 삭제해서, %u개 페이지를 다시 사용합니다.\n" -"%s." +msgid "table \"%s\": truncated %u to %u pages" +msgstr "\"%s\" 테이블: %u 에서 %u 페이지로 정리했음" -#: access/heap/vacuumlazy.c:2613 +#: access/heap/vacuumlazy.c:3023 #, c-format -msgid "\"%s\": stopping truncate due to conflicting lock request" -msgstr "\"%s\": 잠금 요청 충돌로 자료 비우기 작업을 중지합니다" +msgid "table \"%s\": suspending truncate due to conflicting lock request" +msgstr "\"%s\" 테이블: 잠금 요청 충돌로 자료 비우기 작업이 지연되고 있음" -#: access/heap/vacuumlazy.c:2679 +#: access/heap/vacuumlazy.c:3183 #, c-format -msgid "\"%s\": truncated %u to %u pages" -msgstr "\"%s\": %u 에서 %u 페이지로 정지했음" +msgid "" +"disabling parallel option of vacuum on \"%s\" --- cannot vacuum temporary " +"tables in parallel" +msgstr "" +"\"%s\" 청소 작업에서의 병렬 옵션은 무시함 --- 임시 테이블은 병렬 처리로 청소 " +"할 수 없음" -#: access/heap/vacuumlazy.c:2744 +#: access/heap/vacuumlazy.c:3399 #, c-format -msgid "\"%s\": suspending truncate due to conflicting lock request" -msgstr "\"%s\": 잠금 요청 충돌로 자료 비우기 작업을 지연합니다" +msgid "while scanning block %u offset %u of relation \"%s.%s\"" +msgstr "%u 블록 %u 오프셋 탐색 중 (해당 릴레이션: \"%s.%s\")" -#: access/heap/vacuumlazy.c:3583 +#: access/heap/vacuumlazy.c:3402 #, c-format msgid "while scanning block %u of relation \"%s.%s\"" msgstr "%u 블록(해당 릴레이션: \"%s.%s\")을 탐색 중" -#: access/heap/vacuumlazy.c:3586 +#: access/heap/vacuumlazy.c:3406 #, c-format msgid "while scanning relation \"%s.%s\"" msgstr "\"%s.%s\" 릴레이션을 탐색 중" -#: access/heap/vacuumlazy.c:3592 +#: access/heap/vacuumlazy.c:3414 +#, c-format +msgid "while vacuuming block %u offset %u of relation \"%s.%s\"" +msgstr "%u 블록 %u 오프셋 청소 중 (해당 릴레이션: \"%s.%s\")" + +#: access/heap/vacuumlazy.c:3417 #, c-format msgid "while vacuuming block %u of relation \"%s.%s\"" msgstr "%u 블록(해당 릴레이션: \"%s.%s\")을 청소 중" -#: access/heap/vacuumlazy.c:3595 +#: access/heap/vacuumlazy.c:3421 #, c-format msgid "while vacuuming relation \"%s.%s\"" msgstr "\"%s.%s\" 릴레이션 청소 중" -#: access/heap/vacuumlazy.c:3600 +#: access/heap/vacuumlazy.c:3426 commands/vacuumparallel.c:1074 #, c-format msgid "while vacuuming index \"%s\" of relation \"%s.%s\"" msgstr "\"%s\" 인덱스(해당 릴레이션 \"%s.%s\") 청소 중" -#: access/heap/vacuumlazy.c:3605 +#: access/heap/vacuumlazy.c:3431 commands/vacuumparallel.c:1080 #, c-format msgid "while cleaning up index \"%s\" of relation \"%s.%s\"" msgstr "\"%s\" 인덱스 (해당 릴레이션 \"%s.%s\")을 정돈(clean up) 중" -#: access/heap/vacuumlazy.c:3611 +#: access/heap/vacuumlazy.c:3437 #, c-format msgid "while truncating relation \"%s.%s\" to %u blocks" msgstr "\"%s.%s\" 릴레이션을 %u 블럭으로 줄이는 중" -#: access/index/amapi.c:83 commands/amcmds.c:170 +#: access/index/amapi.c:83 commands/amcmds.c:143 #, c-format msgid "access method \"%s\" is not of type %s" msgstr "\"%s\" 접근 방법은 %s 자료형에는 쓸 수 없음" @@ -1400,40 +1574,45 @@ msgstr "\"%s\" 접근 방법은 %s 자료형에는 쓸 수 없음" msgid "index access method \"%s\" does not have a handler" msgstr "\"%s\" 인덱스 접근 방법에 대한 핸들러가 없음" -#: access/index/indexam.c:142 catalog/objectaddress.c:1260 -#: commands/indexcmds.c:2516 commands/tablecmds.c:254 commands/tablecmds.c:278 -#: commands/tablecmds.c:15733 commands/tablecmds.c:17188 +#: access/index/genam.c:490 +#, c-format +msgid "transaction aborted during system catalog scan" +msgstr "시스템 카탈로그 탐색 중 트랜잭션 중지됨" + +#: 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 #, c-format msgid "\"%s\" is not an index" msgstr "\"%s\" 개체는 인덱스가 아닙니다" -#: access/index/indexam.c:970 +#: access/index/indexam.c:979 #, c-format msgid "operator class %s has no options" msgstr "%s 연산자 클래스는 옵션이 없습니다" -#: access/nbtree/nbtinsert.c:651 +#: access/nbtree/nbtinsert.c:668 #, c-format msgid "duplicate key value violates unique constraint \"%s\"" msgstr "중복된 키 값이 \"%s\" 고유 제약 조건을 위반함" -#: access/nbtree/nbtinsert.c:653 +#: access/nbtree/nbtinsert.c:670 #, c-format msgid "Key %s already exists." msgstr "%s 키가 이미 있습니다." -#: access/nbtree/nbtinsert.c:747 +#: access/nbtree/nbtinsert.c:764 #, c-format msgid "This may be because of a non-immutable index expression." msgstr "이 문제는 non-immutable 인덱스 표현식 때문인듯 합니다." -#: access/nbtree/nbtpage.c:150 access/nbtree/nbtpage.c:538 -#: parser/parse_utilcmd.c:2244 +#: access/nbtree/nbtpage.c:157 access/nbtree/nbtpage.c:611 +#: parser/parse_utilcmd.c:2317 #, c-format msgid "index \"%s\" is not a btree" msgstr "\"%s\" 인덱스는 btree 인덱스가 아닙니다" -#: access/nbtree/nbtpage.c:157 access/nbtree/nbtpage.c:545 +#: access/nbtree/nbtpage.c:164 access/nbtree/nbtpage.c:618 #, c-format msgid "" "version mismatch in index \"%s\": file version %d, current version %d, " @@ -1442,12 +1621,12 @@ msgstr "" "\"%s\" 인덱스의 버전이 틀립니다: 파일 버전 %d, 현재 버전 %d, 최소 지원 버전 " "%d" -#: access/nbtree/nbtpage.c:1501 +#: access/nbtree/nbtpage.c:1866 #, c-format msgid "index \"%s\" contains a half-dead internal page" msgstr "\"%s\" 인덱스에 반쯤 죽은(half-dead) 내부 페이지가 있음" -#: access/nbtree/nbtpage.c:1503 +#: access/nbtree/nbtpage.c:1868 #, c-format msgid "" "This can be caused by an interrupted VACUUM in version 9.3 or older, before " @@ -1456,7 +1635,7 @@ msgstr "" "이 문제는 9.3 버전 이하 환경에서 VACUUM 작업이 중지되고, 그 상태로 업그레이드" "되었을 가능성이 큽니다. 해당 인덱스를 다시 만드십시오." -#: access/nbtree/nbtutils.c:2664 +#: access/nbtree/nbtutils.c:2662 #, c-format msgid "" "index row size %zu exceeds btree version %u maximum %zu for index \"%s\"" @@ -1464,12 +1643,12 @@ msgstr "" "인덱스 행 크기(%zu)가 btree(%u 버전)의 최대값(%zu)을 초과함 (해당 인덱스: " "\"%s\")" -#: access/nbtree/nbtutils.c:2670 +#: access/nbtree/nbtutils.c:2668 #, c-format msgid "Index row references tuple (%u,%u) in relation \"%s\"." msgstr "인덱스 로우가 %u,%u 튜플(해당 릴레이션 \"%s\")을 참조함." -#: access/nbtree/nbtutils.c:2674 +#: access/nbtree/nbtutils.c:2672 #, c-format msgid "" "Values larger than 1/3 of a buffer page cannot be indexed.\n" @@ -1479,7 +1658,7 @@ msgstr "" "버퍼 페이지의 1/3보다 큰 값은 인덱싱할 수 없습니다.\n" "값의 MD5 해시 함수 인덱스를 고려하거나 전체 텍스트 인덱싱을 사용하십시오." -#: access/nbtree/nbtvalidate.c:243 +#: access/nbtree/nbtvalidate.c:246 #, c-format msgid "" "operator family \"%s\" of access method %s is missing support function for " @@ -1488,18 +1667,23 @@ msgstr "" "\"%s\" 연산자 패밀리(접근 방법: %s)에는 %s 자료형과 %s 자료형용 지원 함수가 " "빠졌음" -#: access/spgist/spgutils.c:147 +#: access/spgist/spgutils.c:245 #, c-format msgid "" "compress method must be defined when leaf type is different from input type" msgstr "입력 자료형에서 리프 유형이 다를 때 압축 방법은 반드시 정의해야 함" -#: access/spgist/spgutils.c:761 +#: access/spgist/spgutils.c:1008 #, c-format msgid "SP-GiST inner tuple size %zu exceeds maximum %zu" msgstr "SP-GiST 내부 튜플 크기가 초과됨: 현재값 %zu, 최대값 %zu" -#: access/spgist/spgvalidate.c:281 +#: access/spgist/spgvalidate.c:136 +#, c-format +msgid "SP-GiST leaf data type %s does not match declared type %s" +msgstr "%s 형이 SP-GiST 리프 자료형인데, 선언은 %s 형으로 했음" + +#: access/spgist/spgvalidate.c:302 #, c-format msgid "" "operator family \"%s\" of access method %s is missing support function %d " @@ -1508,39 +1692,32 @@ msgstr "" "\"%s\" 연산자 패밀리(접근 방법: %s)에 %d 지원 함수가 %s 자료형용으로 없습니" "다." -#: access/table/table.c:49 access/table/table.c:78 access/table/table.c:111 -#: catalog/aclchk.c:1806 -#, c-format -msgid "\"%s\" is an index" -msgstr "\"%s\" 개체는 인덱스임" - -#: access/table/table.c:54 access/table/table.c:83 access/table/table.c:116 -#: catalog/aclchk.c:1813 commands/tablecmds.c:12554 commands/tablecmds.c:15742 +#: access/table/table.c:145 optimizer/util/plancat.c:145 #, c-format -msgid "\"%s\" is a composite type" -msgstr "\"%s\" 개체는 복합 자료형입니다" +msgid "cannot open relation \"%s\"" +msgstr "\"%s\" 릴레이션을 열 수 없음" -#: access/table/tableam.c:244 +#: access/table/tableam.c:265 #, c-format msgid "tid (%u, %u) is not valid for relation \"%s\"" msgstr "tid (%u, %u)가 바르지 않음, 해당 릴레이션: \"%s\"" -#: access/table/tableamapi.c:115 +#: access/table/tableamapi.c:116 #, c-format msgid "%s cannot be empty." msgstr "%s 값은 비워 둘 수 없음" -#: access/table/tableamapi.c:122 utils/misc/guc.c:11928 +#: access/table/tableamapi.c:123 access/transam/xlogrecovery.c:4774 #, c-format msgid "%s is too long (maximum %d characters)." msgstr "%s 설정값이 너무 깁니다 (최대 %d 문자)" -#: access/table/tableamapi.c:145 +#: access/table/tableamapi.c:146 #, c-format msgid "table access method \"%s\" does not exist" msgstr "\"%s\" 테이블 접근 방법이 없습니다" -#: access/table/tableamapi.c:150 +#: access/table/tableamapi.c:151 #, c-format msgid "Table access method \"%s\" does not exist." msgstr "\"%s\" 테이블 접근 방법이 없습니다." @@ -1550,28 +1727,28 @@ msgstr "\"%s\" 테이블 접근 방법이 없습니다." msgid "sample percentage must be between 0 and 100" msgstr "샘플 퍼센트 값은 0에서 100 사이여야 함" -#: access/transam/commit_ts.c:295 +#: access/transam/commit_ts.c:279 #, c-format msgid "cannot retrieve commit timestamp for transaction %u" msgstr "%u 트랜잭션의 커밋 타임스탬프를 알 수 없음" -#: access/transam/commit_ts.c:393 +#: access/transam/commit_ts.c:377 #, c-format msgid "could not get commit timestamp data" msgstr "커밋 타임스탬프 자료를 찾을 수 없음" -#: access/transam/commit_ts.c:395 +#: access/transam/commit_ts.c:379 #, c-format msgid "" -"Make sure the configuration parameter \"%s\" is set on the master server." -msgstr "운영 서버에서 \"%s\" 환경 설정 매개 변수값을 지정 하세요." +"Make sure the configuration parameter \"%s\" is set on the primary server." +msgstr "운영 서버에서 \"%s\" 환경 설정 매개 변수를 설정했는지 확인하세요." -#: access/transam/commit_ts.c:397 +#: access/transam/commit_ts.c:381 #, c-format msgid "Make sure the configuration parameter \"%s\" is set." msgstr "\"%s\" 환경 설정 매개 변수를 지정하세요." -#: access/transam/multixact.c:1002 +#: access/transam/multixact.c:1023 #, c-format msgid "" "database is not accepting commands that generate new MultiXactIds to avoid " @@ -1580,8 +1757,8 @@ msgstr "" "\"%s\" 데이터베이스 자료 손실을 막기 위해 새로운 MultiXactId 만드는 작업을 " "더 이상 할 수 없습니다." -#: access/transam/multixact.c:1004 access/transam/multixact.c:1011 -#: access/transam/multixact.c:1035 access/transam/multixact.c:1044 +#: access/transam/multixact.c:1025 access/transam/multixact.c:1032 +#: access/transam/multixact.c:1056 access/transam/multixact.c:1065 #, c-format msgid "" "Execute a database-wide VACUUM in that database.\n" @@ -1592,7 +1769,7 @@ msgstr "" "또한 오래된 트랜잭션을 커밋또는 롤백하거나 잠긴 복제 슬롯을 지울 필요가 있습" "니다." -#: access/transam/multixact.c:1009 +#: access/transam/multixact.c:1030 #, c-format msgid "" "database is not accepting commands that generate new MultiXactIds to avoid " @@ -1601,7 +1778,7 @@ msgstr "" "%u OID 데이터베이스 자료 손실을 막기 위해 새로운 MultiXactId 만드는 작업을 " "더 이상 할 수 없습니다." -#: access/transam/multixact.c:1030 access/transam/multixact.c:2320 +#: access/transam/multixact.c:1051 access/transam/multixact.c:2333 #, c-format msgid "database \"%s\" must be vacuumed before %u more MultiXactId is used" msgid_plural "" @@ -1610,7 +1787,7 @@ msgstr[0] "" "\"%s\" 데이터베이스는 %u번의 트랜잭션이 발생되기 전에 VACUUM 작업을 해야 합니" "다." -#: access/transam/multixact.c:1039 access/transam/multixact.c:2329 +#: access/transam/multixact.c:1060 access/transam/multixact.c:2342 #, c-format msgid "" "database with OID %u must be vacuumed before %u more MultiXactId is used" @@ -1620,12 +1797,12 @@ msgstr[0] "" "%u OID 데이터베이스는 %u번의 트랜잭션이 발생되기 전에 VACUUM 작업을 해야 합니" "다." -#: access/transam/multixact.c:1100 +#: access/transam/multixact.c:1121 #, c-format msgid "multixact \"members\" limit exceeded" msgstr "multixact \"회수\" 초과" -#: access/transam/multixact.c:1101 +#: access/transam/multixact.c:1122 #, c-format msgid "" "This command would create a multixact with %u members, but the remaining " @@ -1636,7 +1813,7 @@ msgid_plural "" msgstr[0] "" "이 명령은 %u 개의 multixact를 써야하는데, 쓸 수 있는 공간은 %u 개 뿐입니다." -#: access/transam/multixact.c:1106 +#: access/transam/multixact.c:1127 #, c-format msgid "" "Execute a database-wide VACUUM in database with OID %u with reduced " @@ -1646,7 +1823,7 @@ msgstr "" "vacuum_multixact_freeze_min_age, vacuum_multixact_freeze_table_age 값을 조정" "하고, %u OID 데이터베이스 대상으로 VACUUM 작업을 하십시오." -#: access/transam/multixact.c:1137 +#: access/transam/multixact.c:1158 #, c-format msgid "" "database with OID %u must be vacuumed before %d more multixact member is used" @@ -1657,7 +1834,7 @@ msgstr[0] "" "%u OID 데이터베이스는 %d 개의 멀티트랜잭션을 사용하기 전에 vacuum 작업을 해" "야 합니다." -#: access/transam/multixact.c:1142 +#: access/transam/multixact.c:1163 #, c-format msgid "" "Execute a database-wide VACUUM in that database with reduced " @@ -1667,24 +1844,19 @@ msgstr "" "vacuum_multixact_freeze_min_age 설정값과 vacuum_multixact_freeze_table_age 값" "을 줄여서 데이터베이스 단위로 VACUUM 작업을 진행하세요." -#: access/transam/multixact.c:1279 +#: access/transam/multixact.c:1302 #, c-format msgid "MultiXactId %u does no longer exist -- apparent wraparound" msgstr "%u번 MultiXactId 더이상 없음 -- 번호 겹침 현상 발생" -#: access/transam/multixact.c:1287 +#: access/transam/multixact.c:1308 #, c-format msgid "MultiXactId %u has not been created yet -- apparent wraparound" msgstr "%u번 MultiXactId를 만들 수 없음 -- 번호 겹침 현상 발생" -#: access/transam/multixact.c:2270 -#, c-format -msgid "MultiXactId wrap limit is %u, limited by database with OID %u" -msgstr "MultiXactId 겹침 한계는 %u 입니다. %u OID 데이터베이스에서 제한됨" - -#: access/transam/multixact.c:2325 access/transam/multixact.c:2334 -#: access/transam/varsup.c:149 access/transam/varsup.c:156 -#: access/transam/varsup.c:447 access/transam/varsup.c:454 +#: access/transam/multixact.c:2338 access/transam/multixact.c:2347 +#: access/transam/varsup.c:151 access/transam/varsup.c:158 +#: access/transam/varsup.c:466 access/transam/varsup.c:473 #, c-format msgid "" "To avoid a database shutdown, execute a database-wide VACUUM in that " @@ -1697,12 +1869,7 @@ msgstr "" "또한 오래된 트랜잭션을 커밋또는 롤백 하거나, 잠긴 복제 슬롯을 지울 필요가 있" "습니다." -#: access/transam/multixact.c:2604 -#, c-format -msgid "oldest MultiXactId member is at offset %u" -msgstr "제일 오래된 MultiXactId 값은 %u 위치에 있음" - -#: access/transam/multixact.c:2608 +#: access/transam/multixact.c:2622 #, c-format msgid "" "MultiXact member wraparound protections are disabled because oldest " @@ -1711,24 +1878,19 @@ msgstr "" "가장 오래된 체크포인트 작업이 완료된 %u 멀티 트랜잭션 번호가 디스크에 없기 때" "문에, 멀티 트랜잭션 번호 겹침 방지 기능이 비활성화 되어 있습니다." -#: access/transam/multixact.c:2630 +#: access/transam/multixact.c:2644 #, c-format msgid "MultiXact member wraparound protections are now enabled" msgstr "멀티 트랜잭션 번호 겹침 방지 기능이 활성화 되었음" -#: access/transam/multixact.c:2633 -#, c-format -msgid "MultiXact member stop limit is now %u based on MultiXact %u" -msgstr "멀티 트랜잭션 중지 제한 번호는 %u 입니다. (%u 멀티트랜잭션에 기초함)" - -#: access/transam/multixact.c:3013 +#: access/transam/multixact.c:3027 #, c-format msgid "" "oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation" msgstr "" "가장 오래된 멀티 트랜잭션 번호는 %u, 가장 최신 것은 %u, truncate 작업 건너뜀" -#: access/transam/multixact.c:3031 +#: access/transam/multixact.c:3045 #, c-format msgid "" "cannot truncate up to MultiXact %u because it does not exist on disk, " @@ -1737,108 +1899,167 @@ msgstr "" "디스크에 해당 멀티 트랜잭션 번호가 없어, %u 멀티 트랜잭션 번호로 truncate 못" "함, truncate 작업 건너뜀" -#: access/transam/multixact.c:3345 +#: access/transam/multixact.c:3359 #, c-format msgid "invalid MultiXactId: %u" msgstr "잘못된 MultiXactId: %u" -#: access/transam/parallel.c:706 access/transam/parallel.c:825 +#: access/transam/parallel.c:729 access/transam/parallel.c:848 #, c-format msgid "parallel worker failed to initialize" msgstr "병렬 작업자 초기화 실패" -#: access/transam/parallel.c:707 access/transam/parallel.c:826 +#: access/transam/parallel.c:730 access/transam/parallel.c:849 #, c-format msgid "More details may be available in the server log." msgstr "보다 자세한 내용은 서버 로그에 남겨졌을 수 있습니다." -#: access/transam/parallel.c:887 +#: access/transam/parallel.c:910 #, c-format msgid "postmaster exited during a parallel transaction" msgstr "병렬 트랜잭션 처리 중 postmaster 종료됨" -#: access/transam/parallel.c:1074 +#: access/transam/parallel.c:1097 #, c-format msgid "lost connection to parallel worker" msgstr "병렬 처리 작업자 프로세스 연결 끊김" -#: access/transam/parallel.c:1140 access/transam/parallel.c:1142 +#: access/transam/parallel.c:1163 access/transam/parallel.c:1165 msgid "parallel worker" msgstr "병렬 처리 작업자" -#: access/transam/parallel.c:1293 +#: access/transam/parallel.c:1319 replication/logical/applyparallelworker.c:893 #, c-format msgid "could not map dynamic shared memory segment" msgstr "동적 공유 메모리 세그먼트를 할당할 수 없음" -#: access/transam/parallel.c:1298 +#: access/transam/parallel.c:1324 replication/logical/applyparallelworker.c:899 #, c-format msgid "invalid magic number in dynamic shared memory segment" msgstr "동적 공유 메모리 세그먼트에 잘못된 매직 번호가 있음" -#: access/transam/slru.c:696 +#: access/transam/rmgr.c:84 +#, c-format +msgid "resource manager with ID %d not registered" +msgstr "%d ID의 자원 관리자가 등록되어 있지 않음" + +#: access/transam/rmgr.c:85 +#, c-format +msgid "" +"Include the extension module that implements this resource manager in " +"shared_preload_libraries." +msgstr "" +"이 자원 관리자 확장 모듈 라이브러리를 shared_preload_libraries 설정값으로 추" +"가해주세요." + +#: access/transam/rmgr.c:101 +#, c-format +msgid "custom resource manager name is invalid" +msgstr "사용자 정의 자원 관리자 이름이 바르지 않음" + +#: access/transam/rmgr.c:102 +#, c-format +msgid "Provide a non-empty name for the custom resource manager." +msgstr "사용자 정의 자원 관리자 이름은 비워둘 수 없습니다." + +#: access/transam/rmgr.c:105 +#, c-format +msgid "custom resource manager ID %d is out of range" +msgstr "사용자 정의 자원 관리자 %d ID 번호의 범위가 벗어남" + +#: access/transam/rmgr.c:106 +#, c-format +msgid "Provide a custom resource manager ID between %d and %d." +msgstr "사용자 정의 자원 관리자 ID는 %d 에서 %d 까지만 지정할 수 있음." + +#: access/transam/rmgr.c:111 access/transam/rmgr.c:116 +#: access/transam/rmgr.c:128 +#, c-format +msgid "failed to register custom resource manager \"%s\" with ID %d" +msgstr "\"%s\" 사용자 정의 자원 관리자를 %d ID로 등록할 수 없음" + +#: access/transam/rmgr.c:112 +#, c-format +msgid "" +"Custom resource manager must be registered while initializing modules in " +"shared_preload_libraries." +msgstr "" +"사용자 정의 자원 관리자를 사용하려면 먼저 shared_preload_libraries 설정값으" +"로 등록되어야 합니다." + +#: access/transam/rmgr.c:117 +#, c-format +msgid "Custom resource manager \"%s\" already registered with the same ID." +msgstr "\"%s\" 사용자 정의 자원 관리자 ID가 이미 등록되어 있습니다." + +#: access/transam/rmgr.c:129 +#, c-format +msgid "Existing resource manager with ID %d has the same name." +msgstr "%d ID 자원 관리자가 같은 이름입니다." + +#: access/transam/rmgr.c:135 +#, c-format +msgid "registered custom resource manager \"%s\" with ID %d" +msgstr "\"%s\" 사용자 정의 자원 관리자가 %d ID로 등록됨" + +#: access/transam/slru.c:714 #, c-format msgid "file \"%s\" doesn't exist, reading as zeroes" msgstr "\"%s\" 파일 없음, 0으로 읽음" -#: access/transam/slru.c:937 access/transam/slru.c:943 -#: access/transam/slru.c:951 access/transam/slru.c:956 -#: access/transam/slru.c:963 access/transam/slru.c:968 -#: access/transam/slru.c:975 access/transam/slru.c:982 +#: access/transam/slru.c:946 access/transam/slru.c:952 +#: access/transam/slru.c:960 access/transam/slru.c:965 +#: access/transam/slru.c:972 access/transam/slru.c:977 +#: access/transam/slru.c:984 access/transam/slru.c:991 #, c-format msgid "could not access status of transaction %u" msgstr "%u 트랜잭션의 상태를 액세스할 수 없음" -#: access/transam/slru.c:938 +#: access/transam/slru.c:947 #, c-format msgid "Could not open file \"%s\": %m." msgstr "\"%s\" 파일을 열 수 없음: %m." -#: access/transam/slru.c:944 +#: access/transam/slru.c:953 #, c-format -msgid "Could not seek in file \"%s\" to offset %u: %m." -msgstr "\"%s\" 파일에서 %u 위치를 찾을 수 없음: %m." +msgid "Could not seek in file \"%s\" to offset %d: %m." +msgstr "\"%s\" 파일에서 %d 위치를 찾을 수 없음: %m." -#: access/transam/slru.c:952 +#: access/transam/slru.c:961 #, c-format -msgid "Could not read from file \"%s\" at offset %u: %m." -msgstr "\"%s\" 파일에서 %u 위치를 읽을 수 없음: %m." +msgid "Could not read from file \"%s\" at offset %d: %m." +msgstr "\"%s\" 파일에서 %d 위치를 읽을 수 없음: %m." -#: access/transam/slru.c:957 +#: access/transam/slru.c:966 #, c-format -msgid "Could not read from file \"%s\" at offset %u: read too few bytes." -msgstr "\"%s\" 파일에서 %u 위치를 읽을 수 없음: 너무 적은 바이트를 읽음." +msgid "Could not read from file \"%s\" at offset %d: read too few bytes." +msgstr "\"%s\" 파일에서 %d 위치를 읽을 수 없음: 너무 적은 바이트를 읽음." -#: access/transam/slru.c:964 +#: access/transam/slru.c:973 #, c-format -msgid "Could not write to file \"%s\" at offset %u: %m." -msgstr "\"%s\" 파일에서 %u 위치에 쓸 수 없음: %m." +msgid "Could not write to file \"%s\" at offset %d: %m." +msgstr "\"%s\" 파일에서 %d 위치에 쓸 수 없음: %m." -#: access/transam/slru.c:969 +#: access/transam/slru.c:978 #, c-format -msgid "Could not write to file \"%s\" at offset %u: wrote too few bytes." -msgstr "\"%s\" 파일에서 %u 위치에 쓸 수 없음: 너무 적은 바이트를 씀." +msgid "Could not write to file \"%s\" at offset %d: wrote too few bytes." +msgstr "\"%s\" 파일에서 %d 위치에 쓸 수 없음: 너무 적은 바이트를 씀." -#: access/transam/slru.c:976 +#: access/transam/slru.c:985 #, c-format msgid "Could not fsync file \"%s\": %m." msgstr "\"%s\" 파일 fsync 실패: %m." -#: access/transam/slru.c:983 +#: access/transam/slru.c:992 #, c-format msgid "Could not close file \"%s\": %m." msgstr "\"%s\" 파일을 닫을 수 없음: %m." -#: access/transam/slru.c:1258 +#: access/transam/slru.c:1253 #, c-format msgid "could not truncate directory \"%s\": apparent wraparound" msgstr "\"%s\" 디렉터리를 비울 수 없음: 랩어라운드 발생" -#: access/transam/slru.c:1313 access/transam/slru.c:1369 -#, c-format -msgid "removing file \"%s\"" -msgstr "\"%s\" 파일 삭제 중" - #: access/transam/timeline.c:163 access/transam/timeline.c:168 #, c-format msgid "syntax error in history file: %s" @@ -1862,7 +2083,7 @@ msgstr "작업내역 파일에 잘못된 자료가 있음: %s" #: access/transam/timeline.c:174 #, c-format msgid "Timeline IDs must be in increasing sequence." -msgstr "타임라인 ID 값은 그 값이 증가하는 순번값이어야합니다." +msgstr "타임라인 ID 값은 그 값이 증가하는 순번값이어야 합니다." #: access/transam/timeline.c:194 #, c-format @@ -1874,124 +2095,135 @@ msgstr "작업내역 파일에 잘못된 자료가 있음: \"%s\"" msgid "Timeline IDs must be less than child timeline's ID." msgstr "타임라인 ID는 하위 타임라인 ID보다 작아야 합니다." -#: access/transam/timeline.c:597 +#: access/transam/timeline.c:589 #, c-format msgid "requested timeline %u is not in this server's history" msgstr "요청한 %u 타이라인이 이 서버 내역에는 없음" -#: access/transam/twophase.c:381 +#: access/transam/twophase.c:386 #, c-format msgid "transaction identifier \"%s\" is too long" msgstr "\"%s\" 트랜잭션 식별자가 너무 깁니다" -#: access/transam/twophase.c:388 +#: access/transam/twophase.c:393 #, c-format msgid "prepared transactions are disabled" msgstr "준비된 트랜잭션이 비활성화됨" -#: access/transam/twophase.c:389 +#: access/transam/twophase.c:394 #, c-format msgid "Set max_prepared_transactions to a nonzero value." msgstr "max_prepared_transactions 설정값을 0이 아닌 값으로 설정하십시오." -#: access/transam/twophase.c:408 +#: access/transam/twophase.c:413 #, c-format msgid "transaction identifier \"%s\" is already in use" msgstr "\"%s\" 이름의 트랜잭션 식별자가 이미 사용 중입니다" -#: access/transam/twophase.c:417 access/transam/twophase.c:2368 +#: access/transam/twophase.c:422 access/transam/twophase.c:2517 #, c-format msgid "maximum number of prepared transactions reached" msgstr "준비된 트랜잭션의 최대 개수를 모두 사용했습니다" -#: access/transam/twophase.c:418 access/transam/twophase.c:2369 +#: access/transam/twophase.c:423 access/transam/twophase.c:2518 #, c-format msgid "Increase max_prepared_transactions (currently %d)." msgstr "max_prepared_transactions 값을 늘려주세요 (현재 %d)." -#: access/transam/twophase.c:586 +#: access/transam/twophase.c:599 #, c-format msgid "prepared transaction with identifier \"%s\" is busy" msgstr "\"%s\" 이름의 준비된 트랜잭션 식별자가 여러 곳에서 쓰이고 있습니다" -#: access/transam/twophase.c:592 +#: access/transam/twophase.c:605 #, c-format msgid "permission denied to finish prepared transaction" msgstr "준비된 트랜잭션 끝내기 작업 권한 없음" -#: access/transam/twophase.c:593 +#: access/transam/twophase.c:606 #, c-format msgid "Must be superuser or the user that prepared the transaction." -msgstr "해당 준비된 트랜잭션의 소유주이거나 superuser여야합니다" +msgstr "해당 준비된 트랜잭션의 소유주이거나 superuser여야 합니다" -#: access/transam/twophase.c:604 +#: access/transam/twophase.c:617 #, c-format msgid "prepared transaction belongs to another database" msgstr "준비된 트랜잭션이 다른 데이터베이스에 속해 있음" -#: access/transam/twophase.c:605 +#: access/transam/twophase.c:618 #, c-format msgid "" "Connect to the database where the transaction was prepared to finish it." msgstr "작업을 마치려면 그 준비된 트랜잭션이 있는 데이터베이스에 연결하십시오." -#: access/transam/twophase.c:620 +#: access/transam/twophase.c:633 #, c-format msgid "prepared transaction with identifier \"%s\" does not exist" msgstr "\"%s\" 이름의 준비된 트랜잭션이 없습니다" -#: access/transam/twophase.c:1098 +#: access/transam/twophase.c:1168 #, c-format msgid "two-phase state file maximum length exceeded" msgstr "2단계 상태 파일 최대 길이를 초과함" -#: access/transam/twophase.c:1252 +#: access/transam/twophase.c:1323 #, c-format -msgid "incorrect size of file \"%s\": %zu byte" -msgid_plural "incorrect size of file \"%s\": %zu bytes" -msgstr[0] "\"%s\" 파일 크기가 이상함: %zu 바이트" +msgid "incorrect size of file \"%s\": %lld byte" +msgid_plural "incorrect size of file \"%s\": %lld bytes" +msgstr[0] "\"%s\" 파일 크기가 이상함: %lld 바이트" -#: access/transam/twophase.c:1261 +#: access/transam/twophase.c:1332 #, c-format msgid "incorrect alignment of CRC offset for file \"%s\"" msgstr "\"%s\" 파일의 CRC 값 맞춤 실패" -#: access/transam/twophase.c:1294 +#: access/transam/twophase.c:1350 +#, c-format +msgid "could not read file \"%s\": read %d of %lld" +msgstr "\"%s\" 파일을 읽을 수 없음: %d 읽음, 전체 %lld" + +#: access/transam/twophase.c:1365 #, c-format msgid "invalid magic number stored in file \"%s\"" msgstr "\"%s\" 파일에 잘못된 매직 번호가 저장되어 있음" -#: access/transam/twophase.c:1300 +#: access/transam/twophase.c:1371 #, c-format msgid "invalid size stored in file \"%s\"" msgstr "\"%s\" 파일 크기가 이상함" -#: access/transam/twophase.c:1312 +#: access/transam/twophase.c:1383 #, c-format msgid "calculated CRC checksum does not match value stored in file \"%s\"" msgstr "계산된 CRC 체크섬 값이 파일에 \"%s\" 파일에 저장된 값과 다름" -#: access/transam/twophase.c:1342 access/transam/xlog.c:6494 +#: access/transam/twophase.c:1413 access/transam/xlogrecovery.c:590 +#: replication/logical/logical.c:209 replication/walsender.c:687 #, c-format msgid "Failed while allocating a WAL reading processor." msgstr "WAL 읽기 프로세서를 할당하는 중에 오류 발생" -#: access/transam/twophase.c:1349 +#: access/transam/twophase.c:1423 +#, c-format +msgid "could not read two-phase state from WAL at %X/%X: %s" +msgstr "two-phase 상태정보을 읽을 수 없음 WAL 위치: %X/%X, %s" + +#: access/transam/twophase.c:1428 #, c-format msgid "could not read two-phase state from WAL at %X/%X" msgstr "two-phase 상태정보을 읽을 수 없음 WAL 위치: %X/%X" -#: access/transam/twophase.c:1357 +#: access/transam/twophase.c:1436 #, c-format msgid "expected two-phase state data is not present in WAL at %X/%X" msgstr "WAL %X/%X 위치에 2단계 커밋 상태 자료가 없습니다" -#: access/transam/twophase.c:1637 +#: access/transam/twophase.c:1732 #, c-format msgid "could not recreate file \"%s\": %m" msgstr "\"%s\" 파일을 다시 만들 수 없음: %m" -#: access/transam/twophase.c:1764 +#: access/transam/twophase.c:1859 #, c-format msgid "" "%u two-phase state file was written for a long-running prepared transaction" @@ -2000,43 +2232,63 @@ msgid_plural "" msgstr[0] "" "긴 실행 미리 준비된 트랜잭션 용 %u 개의 2단계 상태 파일이 저장되었음" -#: access/transam/twophase.c:1998 +#: access/transam/twophase.c:2093 #, c-format msgid "recovering prepared transaction %u from shared memory" msgstr "공유 메모리에서 %u 준비된 트랜잭션을 복구함" -#: access/transam/twophase.c:2089 +#: access/transam/twophase.c:2186 #, c-format msgid "removing stale two-phase state file for transaction %u" msgstr "%u 트랜잭션에서 사용하는 오래된 two-phase 상태정보 파일을 삭제함" -#: access/transam/twophase.c:2096 +#: access/transam/twophase.c:2193 #, c-format msgid "removing stale two-phase state from memory for transaction %u" msgstr "" "%u 트랜잭션에서 사용하는 오래된 two-phase 상태정보를 공유 메모리에서 삭제함" -#: access/transam/twophase.c:2109 +#: access/transam/twophase.c:2206 #, c-format msgid "removing future two-phase state file for transaction %u" msgstr "%u 트랜잭션에서 사용하는 future two-phase 상태정보 파일을 삭제함" -#: access/transam/twophase.c:2116 +#: access/transam/twophase.c:2213 #, c-format msgid "removing future two-phase state from memory for transaction %u" msgstr "%u 트랜잭션에서 사용하는 future two-phase 상태정보를 메모리에서 삭제함" -#: access/transam/twophase.c:2141 +#: access/transam/twophase.c:2238 #, c-format msgid "corrupted two-phase state file for transaction %u" msgstr "%u 트랜잭션에서 사용하는 two-phase 상태정보 파일이 손상되었음" -#: access/transam/twophase.c:2146 +#: access/transam/twophase.c:2243 #, c-format msgid "corrupted two-phase state in memory for transaction %u" msgstr "%u 트랜잭션에서 사용하는 메모리에 있는 two-phase 상태정보가 손상되었음" -#: access/transam/varsup.c:127 +#: access/transam/twophase.c:2500 +#, c-format +msgid "could not recover two-phase state file for transaction %u" +msgstr "%u 트랜잭션에서 사용하는 two-phase 상태정보 파일을 복구할 없음" + +#: access/transam/twophase.c:2502 +#, 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 "" +"WAL 레코드 %X/%X 에서 2PC 상태 파일을 찾았지만, 그 트랜잭션은 이미 디스크에 " +"기록한 상태입니다." + +#: access/transam/twophase.c:2510 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" + +#: access/transam/varsup.c:129 #, c-format msgid "" "database is not accepting commands to avoid wraparound data loss in database " @@ -2045,7 +2297,7 @@ msgstr "" "\"%s\" 데이터베이스 트랜잭션 ID 겹침에 의한 자료 손실을 방지하기 위해 더 이" "상 자료 조작 작업을 허용하지 않습니다" -#: access/transam/varsup.c:129 access/transam/varsup.c:136 +#: access/transam/varsup.c:131 access/transam/varsup.c:138 #, c-format msgid "" "Stop the postmaster and vacuum that database in single-user mode.\n" @@ -2057,7 +2309,7 @@ msgstr "" "또한 오래된 트랜잭션을 커밋 또는 롤백하거나, 잠긴 복제 슬롯을 지울 필요가 있" "습니다." -#: access/transam/varsup.c:134 +#: access/transam/varsup.c:136 #, c-format msgid "" "database is not accepting commands to avoid wraparound data loss in database " @@ -2066,231 +2318,196 @@ msgstr "" "%u OID 데이터베이스에서 자료 겹침으로 발생할 수 있는 자료 손실을 방지하기 위" "해 명령을 수락하지 않음" -#: access/transam/varsup.c:146 access/transam/varsup.c:444 +#: access/transam/varsup.c:148 access/transam/varsup.c:463 #, c-format msgid "database \"%s\" must be vacuumed within %u transactions" msgstr "\"%s\" 데이터베이스는 %u번의 트랜잭션이 발생되기 전에 청소해야 합니다" -#: access/transam/varsup.c:153 access/transam/varsup.c:451 +#: access/transam/varsup.c:155 access/transam/varsup.c:470 #, c-format msgid "database with OID %u must be vacuumed within %u transactions" msgstr "%u OID 데이터베이스는 %u번의 트랜잭션이 발생되기 전에 청소해야 합니다" -#: access/transam/varsup.c:409 -#, c-format -msgid "transaction ID wrap limit is %u, limited by database with OID %u" -msgstr "트랜잭션 ID 겹침 제한은 %u번 입니다., %u OID 데이터베이스에서 제한됨" - -#: access/transam/xact.c:1030 +#: access/transam/xact.c:1102 #, c-format msgid "cannot have more than 2^32-2 commands in a transaction" msgstr "하나의 트랜잭션 안에서는 2^32-2 개의 명령을 초과할 수 없음" -#: access/transam/xact.c:1555 +#: access/transam/xact.c:1643 #, c-format msgid "maximum number of committed subtransactions (%d) exceeded" msgstr "커밋된 하위 트랜잭션 수(%d)가 최대치를 초과함" -#: access/transam/xact.c:2395 +#: access/transam/xact.c:2513 #, c-format msgid "cannot PREPARE a transaction that has operated on temporary objects" msgstr "임시 개체 대해 실행된 트랜잭션을 PREPARE할 수 없음" -#: access/transam/xact.c:2405 +#: access/transam/xact.c:2523 #, c-format msgid "cannot PREPARE a transaction that has exported snapshots" msgstr "스냅샷으로 내보낸 트랜잭션은 PREPARE 작업을 할 수 없음" -#: access/transam/xact.c:2414 -#, c-format -msgid "" -"cannot PREPARE a transaction that has manipulated logical replication workers" -msgstr "논리 복제 작업자를 사용하는 트랜잭션은 PREPARE 할 수 없음" - #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3359 +#: access/transam/xact.c:3489 #, c-format msgid "%s cannot run inside a transaction block" msgstr "%s 명령은 트랜잭션 블럭안에서 실행할 수 없음" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3369 +#: access/transam/xact.c:3499 #, c-format msgid "%s cannot run inside a subtransaction" msgstr "%s 명령은 서브트랜잭션 블럭안에서 실행할 수 없음" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3379 +#: access/transam/xact.c:3509 +#, c-format +msgid "%s cannot be executed within a pipeline" +msgstr "%s 절은 파이프라인에서 실행될 수 없음" + +#. translator: %s represents an SQL statement name +#: access/transam/xact.c:3519 #, c-format msgid "%s cannot be executed from a function" msgstr "%s 절은 함수에서 실행될 수 없음" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3448 access/transam/xact.c:3754 -#: access/transam/xact.c:3833 access/transam/xact.c:3956 -#: access/transam/xact.c:4107 access/transam/xact.c:4176 -#: access/transam/xact.c:4287 +#: 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 #, c-format msgid "%s can only be used in transaction blocks" msgstr "%s 명령은 트랜잭션 블럭에서만 사용될 수 있음" -#: access/transam/xact.c:3640 +#: access/transam/xact.c:3801 #, c-format msgid "there is already a transaction in progress" msgstr "이미 트랜잭션 작업이 진행 중입니다" -#: access/transam/xact.c:3759 access/transam/xact.c:3838 -#: access/transam/xact.c:3961 +#: access/transam/xact.c:3920 access/transam/xact.c:3999 +#: access/transam/xact.c:4122 #, c-format msgid "there is no transaction in progress" msgstr "현재 트랜잭션 작업을 하지 않고 있습니다" -#: access/transam/xact.c:3849 +#: access/transam/xact.c:4010 #, c-format msgid "cannot commit during a parallel operation" msgstr "데이터베이스 트랜잭션을 commit 할 수 없음" -#: access/transam/xact.c:3972 +#: access/transam/xact.c:4133 #, c-format msgid "cannot abort during a parallel operation" msgstr "병렬 작업 중에는 중지 할 수 없음" -#: access/transam/xact.c:4071 +#: access/transam/xact.c:4232 #, c-format msgid "cannot define savepoints during a parallel operation" msgstr "병렬 작업 중에는 savepoint 지정을 할 수 없음" -#: access/transam/xact.c:4158 +#: access/transam/xact.c:4319 #, c-format msgid "cannot release savepoints during a parallel operation" msgstr "병렬 작업 중에는 savepoint를 지울 수 없음" -#: access/transam/xact.c:4168 access/transam/xact.c:4219 -#: access/transam/xact.c:4279 access/transam/xact.c:4328 +#: access/transam/xact.c:4329 access/transam/xact.c:4380 +#: access/transam/xact.c:4440 access/transam/xact.c:4489 #, c-format msgid "savepoint \"%s\" does not exist" msgstr "\"%s\" 이름의 저장위치가 없음" -#: access/transam/xact.c:4225 access/transam/xact.c:4334 +#: access/transam/xact.c:4386 access/transam/xact.c:4495 #, c-format msgid "savepoint \"%s\" does not exist within current savepoint level" msgstr "현재 저장위치 수준에서 \"%s\" 이름의 저장위치가 없음" -#: access/transam/xact.c:4267 +#: access/transam/xact.c:4428 #, c-format msgid "cannot rollback to savepoints during a parallel operation" msgstr "병렬 작업 중에는 savepoint 지정 취소 작업을 할 수 없음" -#: access/transam/xact.c:4395 +#: access/transam/xact.c:4556 #, c-format msgid "cannot start subtransactions during a parallel operation" msgstr "병렬 처리 중에는 하위트랜잭션을 시작할 수 없음" -#: access/transam/xact.c:4463 +#: access/transam/xact.c:4624 #, c-format msgid "cannot commit subtransactions during a parallel operation" msgstr "병렬 처리 중에는 하위트랜잭션을 커밋할 수 없음" -#: access/transam/xact.c:5103 +#: access/transam/xact.c:5270 #, c-format msgid "cannot have more than 2^32-1 subtransactions in a transaction" msgstr "하나의 트랜잭션 안에서는 2^32-1 개의 하위트랜잭션을 초과할 수 없음" -#: access/transam/xlog.c:2554 +#: access/transam/xlog.c:1466 #, c-format -msgid "could not write to log file %s at offset %u, length %zu: %m" -msgstr "%s 로그 파일 쓰기 실패, 위치 %u, 길이 %zu: %m" +msgid "" +"request to flush past end of generated WAL; request %X/%X, current position " +"%X/%X" +msgstr "생성된 WAL의 끝을 지난 flush 요청, 요청위치: %X/%X, 현재위치: %X/%X" -#: access/transam/xlog.c:2830 +#: access/transam/xlog.c:2228 #, c-format -msgid "updated min recovery point to %X/%X on timeline %u" -msgstr "최소 복구 지점: %X/%X, 타임라인: %u 변경 완료" +msgid "could not write to log file %s at offset %u, length %zu: %m" +msgstr "%s 로그 파일 쓰기 실패, 위치 %u, 길이 %zu: %m" -#: access/transam/xlog.c:3944 access/transam/xlogutils.c:802 -#: replication/walsender.c:2510 +#: access/transam/xlog.c:3455 access/transam/xlogutils.c:833 +#: replication/walsender.c:2725 #, c-format msgid "requested WAL segment %s has already been removed" msgstr "요청한 %s WAL 조각 파일은 이미 지워졌음" -#: access/transam/xlog.c:4187 -#, c-format -msgid "recycled write-ahead log file \"%s\"" -msgstr "\"%s\" 트랜잭션 로그 파일 재활용함" - -#: access/transam/xlog.c:4199 -#, c-format -msgid "removing write-ahead log file \"%s\"" -msgstr "\"%s\" 트랜잭션 로그 파일 삭제 중" - -#: access/transam/xlog.c:4219 +#: access/transam/xlog.c:3739 #, c-format msgid "could not rename file \"%s\": %m" msgstr "\"%s\" 파일의 이름을 바꿀 수 없음: %m" -#: access/transam/xlog.c:4261 access/transam/xlog.c:4271 +#: access/transam/xlog.c:3781 access/transam/xlog.c:3791 #, c-format msgid "required WAL directory \"%s\" does not exist" msgstr "필요한 WAL 디렉터리 \"%s\"이(가) 없음" -#: access/transam/xlog.c:4277 +#: access/transam/xlog.c:3797 #, c-format msgid "creating missing WAL directory \"%s\"" msgstr "누락된 WAL 디렉터리 \"%s\"을(를) 만드는 중" -#: access/transam/xlog.c:4280 +#: access/transam/xlog.c:3800 commands/dbcommands.c:3172 #, c-format msgid "could not create missing directory \"%s\": %m" msgstr "누락된 \"%s\" 디렉터리를 만들 수 없음: %m" -#: access/transam/xlog.c:4383 +#: access/transam/xlog.c:3867 #, c-format -msgid "unexpected timeline ID %u in log segment %s, offset %u" -msgstr "예상치 못한 타임라인 ID %u, 로그 조각: %s, 위치: %u" +msgid "could not generate secret authorization token" +msgstr "비밀 인증 토큰을 만들 수 없음" -#: access/transam/xlog.c:4521 +#: 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 #, c-format -msgid "new timeline %u is not a child of database system timeline %u" -msgstr "요청한 %u 타임라인은 %u 데이터베이스 시스템 타임라인의 하위가 아님" +msgid "database files are incompatible with server" +msgstr "데이터베이스 파일들이 서버와 호환성이 없습니다" -#: access/transam/xlog.c:4535 +#: access/transam/xlog.c:4018 #, c-format msgid "" -"new timeline %u forked off current database system timeline %u before " -"current recovery point %X/%X" -msgstr "" - -#: access/transam/xlog.c:4554 -#, c-format -msgid "new target timeline is %u" -msgstr "새 대상 타임라인: %u" - -#: access/transam/xlog.c:4590 -#, c-format -msgid "could not generate secret authorization token" -msgstr "비밀 인증 토큰을 만들 수 없음" - -#: access/transam/xlog.c:4749 access/transam/xlog.c:4758 -#: access/transam/xlog.c:4782 access/transam/xlog.c:4789 -#: access/transam/xlog.c:4796 access/transam/xlog.c:4801 -#: access/transam/xlog.c:4808 access/transam/xlog.c:4815 -#: access/transam/xlog.c:4822 access/transam/xlog.c:4829 -#: access/transam/xlog.c:4836 access/transam/xlog.c:4843 -#: access/transam/xlog.c:4852 access/transam/xlog.c:4859 -#: utils/init/miscinit.c:1548 -#, c-format -msgid "database files are incompatible with server" -msgstr "데이터베이스 파일들이 서버와 호환성이 없습니다" - -#: access/transam/xlog.c:4750 -#, 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)." +"The database cluster was initialized with PG_CONTROL_VERSION %d (0x%08x), " +"but the server was compiled with PG_CONTROL_VERSION %d (0x%08x)." msgstr "" "데이터베이스 클러스터는 PG_CONTROL_VERSION %d (0x%08x)(으)로 초기화되었지만 " "서버는 PG_CONTROL_VERSION %d (0x%08x)(으)로 컴파일되었습니다." -#: access/transam/xlog.c:4754 +#: access/transam/xlog.c:4022 #, c-format msgid "" "This could be a problem of mismatched byte ordering. It looks like you need " @@ -2298,7 +2515,7 @@ msgid "" msgstr "" "이것은 바이트 순서 불일치 문제일 수 있습니다. initdb 작업이 필요해 보입니다." -#: access/transam/xlog.c:4759 +#: access/transam/xlog.c:4027 #, c-format msgid "" "The database cluster was initialized with PG_CONTROL_VERSION %d, but the " @@ -2307,18 +2524,18 @@ msgstr "" "이 데이터베이스 클러스터는 PG_CONTROL_VERSION %d 버전으로 초기화 되었지만, 서" "버는 PG_CONTROL_VERSION %d 버전으로 컴파일 되어있습니다." -#: access/transam/xlog.c:4762 access/transam/xlog.c:4786 -#: access/transam/xlog.c:4793 access/transam/xlog.c:4798 +#: access/transam/xlog.c:4030 access/transam/xlog.c:4054 +#: access/transam/xlog.c:4061 access/transam/xlog.c:4066 #, c-format msgid "It looks like you need to initdb." msgstr "initdb 명령이 필요한 듯 합니다" -#: access/transam/xlog.c:4773 +#: access/transam/xlog.c:4041 #, c-format msgid "incorrect checksum in control file" msgstr "컨트롤 파일에 잘못된 체크섬 값이 있습니다" -#: access/transam/xlog.c:4783 +#: access/transam/xlog.c:4051 #, c-format msgid "" "The database cluster was initialized with CATALOG_VERSION_NO %d, but the " @@ -2327,7 +2544,7 @@ msgstr "" "이 데이터베이스 클러스터는 CATALOG_VERSION_NO %d 버전으로 초기화 되었지만, 서" "버는 CATALOG_VERSION_NO %d 버전으로 컴파일 되어있습니다." -#: access/transam/xlog.c:4790 +#: access/transam/xlog.c:4058 #, c-format msgid "" "The database cluster was initialized with MAXALIGN %d, but the server was " @@ -2336,7 +2553,7 @@ msgstr "" "이 데이터베이스 클러스터는 MAXALIGN %d (으)로 초기화 되었지만, 서버는 " "MAXALIGN %d (으)로 컴파일 되어있습니다." -#: access/transam/xlog.c:4797 +#: access/transam/xlog.c:4065 #, c-format msgid "" "The database cluster appears to use a different floating-point number format " @@ -2345,7 +2562,7 @@ msgstr "" "데이터베이스 클러스터와 서버 실행 파일이 서로 다른 부동 소수점 숫자 형식을 사" "용하고 있습니다." -#: access/transam/xlog.c:4802 +#: access/transam/xlog.c:4070 #, c-format msgid "" "The database cluster was initialized with BLCKSZ %d, but the server was " @@ -2354,18 +2571,18 @@ msgstr "" "이 데이터베이스 클러스터는 BLCKSZ %d (으)로 초기화 되었지만, 서버는 BLCKSZ " "%d (으)로 컴파일 되어있습니다." -#: access/transam/xlog.c:4805 access/transam/xlog.c:4812 -#: access/transam/xlog.c:4819 access/transam/xlog.c:4826 -#: access/transam/xlog.c:4833 access/transam/xlog.c:4840 -#: access/transam/xlog.c:4847 access/transam/xlog.c:4855 -#: access/transam/xlog.c:4862 +#: 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 #, c-format msgid "It looks like you need to recompile or initdb." msgstr "" "서버를 새로 컴파일 하거나 initdb 명령을 사용해 새로 데이터베이스 클러스터를 " "다시 만들거나 해야할 것 같습니다." -#: access/transam/xlog.c:4809 +#: access/transam/xlog.c:4077 #, c-format msgid "" "The database cluster was initialized with RELSEG_SIZE %d, but the server was " @@ -2374,7 +2591,7 @@ msgstr "" "이 데이터베이스 클러스터는 RELSEG_SIZE %d (으)로 초기화 되었지만, 서버는 " "RELSEG_SIZE %d (으)로 컴파일 되어있습니다." -#: access/transam/xlog.c:4816 +#: access/transam/xlog.c:4084 #, c-format msgid "" "The database cluster was initialized with XLOG_BLCKSZ %d, but the server was " @@ -2383,7 +2600,7 @@ msgstr "" "이 데이터베이스 클러스터는 XLOG_BLCKSZ %d (으)로 초기화 되었지만, 서버는 " "XLOG_BLCKSZ %d (으)로 컴파일 되어있습니다." -#: access/transam/xlog.c:4823 +#: access/transam/xlog.c:4091 #, c-format msgid "" "The database cluster was initialized with NAMEDATALEN %d, but the server was " @@ -2392,7 +2609,7 @@ msgstr "" "이 데이터베이스 클러스터는 NAMEDATALEN %d (으)로 초기화 되었지만, 서버는 " "NAMEDATALEN %d (으)로 컴파일 되어있습니다." -#: access/transam/xlog.c:4830 +#: access/transam/xlog.c:4098 #, c-format msgid "" "The database cluster was initialized with INDEX_MAX_KEYS %d, but the server " @@ -2401,7 +2618,7 @@ msgstr "" "이 데이터베이스 클러스터는 INDEX_MAX_KEYS %d (으)로 초기화 되었지만, 서버는 " "INDEX_MAX_KEYS %d (으)로 컴파일 되어있습니다." -#: access/transam/xlog.c:4837 +#: access/transam/xlog.c:4105 #, c-format msgid "" "The database cluster was initialized with TOAST_MAX_CHUNK_SIZE %d, but the " @@ -2410,7 +2627,7 @@ msgstr "" "데이터베이스 클러스터는 TOAST_MAX_CHUNK_SIZE %d(으)로 초기화되었지만 서버는 " "TOAST_MAX_CHUNK_SIZE %d(으)로 컴파일 되었습니다." -#: access/transam/xlog.c:4844 +#: access/transam/xlog.c:4112 #, c-format msgid "" "The database cluster was initialized with LOBLKSIZE %d, but the server was " @@ -2419,7 +2636,7 @@ msgstr "" "이 데이터베이스 클러스터는 LOBLKSIZE %d(으)로 초기화 되었지만, 서버는 " "LOBLKSIZE %d (으)로 컴파일 되어있습니다." -#: access/transam/xlog.c:4853 +#: access/transam/xlog.c:4121 #, c-format msgid "" "The database cluster was initialized without USE_FLOAT8_BYVAL but the server " @@ -2428,7 +2645,7 @@ msgstr "" "데이터베이스 클러스터는 USE_FLOAT8_BYVAL 없이 초기화되었지만, 서버는 " "USE_FLOAT8_BYVAL을 사용하여 컴파일되었습니다." -#: access/transam/xlog.c:4860 +#: access/transam/xlog.c:4128 #, c-format msgid "" "The database cluster was initialized with USE_FLOAT8_BYVAL but the server " @@ -2437,7 +2654,7 @@ msgstr "" "데이터베이스 클러스터는 USE_FLOAT8_BYVAL을 사용하여 초기화되었지만, 서버는 " "USE_FLOAT8_BYVAL 없이 컴파일되었습니다." -#: access/transam/xlog.c:4869 +#: access/transam/xlog.c:4137 #, c-format msgid "" "WAL segment size must be a power of two between 1 MB and 1 GB, but the " @@ -2449,203 +2666,91 @@ msgstr[0] "" "WAL 조각 파일은 1MB부터 1GB 사이 2^n 크기여야 하지만, 컨트롤 파일에는 %d 바이" "트로 지정되었음" -#: access/transam/xlog.c:4881 +#: access/transam/xlog.c:4149 #, c-format msgid "\"min_wal_size\" must be at least twice \"wal_segment_size\"" msgstr "\"min_wal_size\" 값은 \"wal_segment_size\" 값의 최소 2배 이상이어야 함" -#: access/transam/xlog.c:4885 +#: access/transam/xlog.c:4153 #, c-format msgid "\"max_wal_size\" must be at least twice \"wal_segment_size\"" msgstr "\"max_wal_size\" 값은 \"wal_segment_size\" 값의 최소 2배 이상이어야 함" -#: access/transam/xlog.c:5318 +#: 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 +#, c-format +msgid "List syntax is invalid." +msgstr "목록 문법이 틀렸습니다." + +#: access/transam/xlog.c:4354 commands/user.c:2552 commands/variable.c:173 +#: utils/error/elog.c:2231 +#, c-format +msgid "Unrecognized key word: \"%s\"." +msgstr "알 수 없는 키워드: \"%s\"" + +#: access/transam/xlog.c:4768 #, c-format msgid "could not write bootstrap write-ahead log file: %m" msgstr "bootstrap 트랜잭션 로그 파일을 쓸 수 없음: %m" -#: access/transam/xlog.c:5326 +#: access/transam/xlog.c:4776 #, c-format msgid "could not fsync bootstrap write-ahead log file: %m" msgstr "bootstrap 트랜잭션 로그 파일을 fsync할 수 없음: %m" -#: access/transam/xlog.c:5332 +#: access/transam/xlog.c:4782 #, c-format msgid "could not close bootstrap write-ahead log file: %m" msgstr "bootstrap 트랜잭션 로그 파일을 닫을 수 없음: %m" -#: access/transam/xlog.c:5393 -#, c-format -msgid "using recovery command file \"%s\" is not supported" -msgstr "\"%s\" 복구 명령 파일을 사용하는 것을 지원하지 않습니다" - -#: access/transam/xlog.c:5458 -#, c-format -msgid "standby mode is not supported by single-user servers" -msgstr "단일 사용자 서버를 대상으로 대기 모드를 사용할 수 없습니다." - -#: access/transam/xlog.c:5475 -#, c-format -msgid "specified neither primary_conninfo nor restore_command" -msgstr "primary_conninfo 설정도, restore_command 설정도 없음" - -#: access/transam/xlog.c:5476 -#, c-format -msgid "" -"The database server will regularly poll the pg_wal subdirectory to check for " -"files placed there." -msgstr "" -"데이터베이스 서버는 일반적으로 주 서버에서 발생한 트랜잭션 로그를 반영하기 위" -"해 pg_wal 하위 디렉터리를 조사할 것입니다." - -#: access/transam/xlog.c:5484 -#, c-format -msgid "must specify restore_command when standby mode is not enabled" -msgstr "" -"대기 모드를 활성화 하지 않았다면(standby_mode = off), restore_command 설정은 " -"반드시 있어야 함" - -#: access/transam/xlog.c:5522 -#, c-format -msgid "recovery target timeline %u does not exist" -msgstr "%u 복구 대상 타임라인이 없음" - -#: access/transam/xlog.c:5644 -#, c-format -msgid "archive recovery complete" -msgstr "아카이브 복구 완료" - -#: access/transam/xlog.c:5710 access/transam/xlog.c:5983 -#, c-format -msgid "recovery stopping after reaching consistency" -msgstr "일관성을 다 맞추어 복구 작업을 중지합니다." - -#: access/transam/xlog.c:5731 +#: access/transam/xlog.c:4999 #, c-format -msgid "recovery stopping before WAL location (LSN) \"%X/%X\"" -msgstr "복구 중지 위치(LSN): \"%X/%X\" 이전" - -#: access/transam/xlog.c:5817 -#, c-format -msgid "recovery stopping before commit of transaction %u, time %s" -msgstr "%u 트랜잭션 커밋 전 복구 중지함, 시간 %s" - -#: access/transam/xlog.c:5824 -#, c-format -msgid "recovery stopping before abort of transaction %u, time %s" -msgstr "%u 트랜잭션 중단 전 복구 중지함, 시간 %s" - -#: access/transam/xlog.c:5877 -#, c-format -msgid "recovery stopping at restore point \"%s\", time %s" -msgstr "복구 중지함, 복구 위치 \"%s\", 시간 %s" - -#: access/transam/xlog.c:5895 -#, c-format -msgid "recovery stopping after WAL location (LSN) \"%X/%X\"" -msgstr "복구 중지 위치(LSN): \"%X/%X\" 이후" - -#: access/transam/xlog.c:5963 -#, c-format -msgid "recovery stopping after commit of transaction %u, time %s" -msgstr "%u 트랜잭션 커밋 후 복구 중지함, 시간 %s" - -#: access/transam/xlog.c:5971 -#, c-format -msgid "recovery stopping after abort of transaction %u, time %s" -msgstr "%u 트랜잭션 중단 후 복구 중지함, 시간 %s" - -#: access/transam/xlog.c:6020 -#, c-format -msgid "pausing at the end of recovery" -msgstr "복구 끝에 기다리는 중" - -#: access/transam/xlog.c:6021 -#, c-format -msgid "Execute pg_wal_replay_resume() to promote." -msgstr "운영 서버로 바꾸려면, pg_wal_replay_resume() 함수를 호출하세요." - -#: access/transam/xlog.c:6024 -#, c-format -msgid "recovery has paused" -msgstr "복구 작업이 일시 중지 됨" - -#: access/transam/xlog.c:6025 -#, c-format -msgid "Execute pg_wal_replay_resume() to continue." -msgstr "계속 진행하려면, pg_wal_replay_resume() 함수를 호출하세요." - -#: access/transam/xlog.c:6242 -#, c-format -msgid "" -"hot standby is not possible because %s = %d is a lower setting than on the " -"master server (its value was %d)" -msgstr "" -"읽기 전용 대기 서버로 운영이 불가능합니다. 현재 %s = %d 설정은 주 서버의 설정" -"값(%d)보다 낮게 설정 되어 있기 때문입니다." - -#: access/transam/xlog.c:6266 -#, c-format -msgid "WAL was generated with wal_level=minimal, data may be missing" +msgid "WAL was generated with wal_level=minimal, cannot continue recovering" msgstr "" -"WAL 내용이 wal_level=minimal 설정으로 만들여졌습니다. 자료가 손실 될 수 있습" -"니다." - -#: access/transam/xlog.c:6267 -#, c-format -msgid "" -"This happens if you temporarily set wal_level=minimal without taking a new " -"base backup." -msgstr "" -"이 문제는 새 베이스 백업을 받지 않은 상태에서 서버가 일시적으로 " -"wal_level=minimal 설정으로 운영된 적이 있다면 발생합니다." +"WAL 내용이 wal_level=minimal 설정으로 만들여졌습니다. 복원 작업을 계속 할 수 " +"없음" -#: access/transam/xlog.c:6278 +#: access/transam/xlog.c:5000 #, c-format -msgid "" -"hot standby is not possible because wal_level was not set to \"replica\" or " -"higher on the master server" +msgid "This happens if you temporarily set wal_level=minimal on the server." msgstr "" -"주 서버 wal_level 설정이 \"replica\" 또는 그 이상 수준으로 설정되지 않아, 읽" -"기 전용 보조 서버로 운영될 수 없음" +"이 문제는 서버가 일시적으로 wal_level=minimal 설정으로 운영된 적이 있다면 발" +"생합니다." -#: access/transam/xlog.c:6279 +#: access/transam/xlog.c:5001 #, c-format -msgid "" -"Either set wal_level to \"replica\" on the master, or turn off hot_standby " -"here." -msgstr "" -"운영 서버의 환경 설정에서 wal_leve = \"replica\" 형태로 지정하든가 " -"hot_standby = off 형태로 지정하십시오." +msgid "Use a backup taken after setting wal_level to higher than minimal." +msgstr "wal_level 값을 minimal 보다 높은 것으로 설정해서 백업하세요." -#: access/transam/xlog.c:6341 +#: access/transam/xlog.c:5065 #, c-format msgid "control file contains invalid checkpoint location" msgstr "컨트롤 파일에 잘못된 체크포인트 위치가 있습니다" -#: access/transam/xlog.c:6352 +#: access/transam/xlog.c:5076 #, c-format msgid "database system was shut down at %s" msgstr "데이터베이스 시스템 마지막 가동 중지 시각: %s" -#: access/transam/xlog.c:6358 +#: access/transam/xlog.c:5082 #, c-format msgid "database system was shut down in recovery at %s" msgstr "복구 중 데이터베이스 시스템 마지막 가동 중지 시각: %s" -#: access/transam/xlog.c:6364 +#: access/transam/xlog.c:5088 #, c-format msgid "database system shutdown was interrupted; last known up at %s" msgstr "" "데이터베이스 시스템 셧다운 작업이 비정상적으로 종료되었음; 마지막 운영시간: " "%s" -#: access/transam/xlog.c:6370 +#: access/transam/xlog.c:5094 #, c-format msgid "database system was interrupted while in recovery at %s" msgstr "데이터베이스 시스템 복구하는 도중 비정상적으로 가동 중지된 시각: %s" -#: access/transam/xlog.c:6372 +#: access/transam/xlog.c:5096 #, c-format msgid "" "This probably means that some data is corrupted and you will have to use the " @@ -2654,12 +2759,12 @@ msgstr "" "이 사태는 몇몇 데이터가 손상되었을 의미할 수도 있습니다. 확인해 보고, 필요하" "다면, 마지막 백업 자료로 복구해서 사용하세요." -#: access/transam/xlog.c:6378 +#: access/transam/xlog.c:5102 #, c-format msgid "database system was interrupted while in recovery at log time %s" msgstr "데이터베이스 시스템이 로그 시간 %s에 복구 도중 중지 되었음" -#: access/transam/xlog.c:6380 +#: access/transam/xlog.c:5104 #, c-format msgid "" "If this has occurred more than once some data might be corrupted and you " @@ -2668,333 +2773,854 @@ msgstr "" "이 사태로 몇몇 자료가 손상되었을 수도 있는데, 이런 경우라면,확인해 보고, 필요" "하다면, 마지막 백업 자료로 복구해서 사용하세요." -#: access/transam/xlog.c:6386 +#: access/transam/xlog.c:5110 #, c-format msgid "database system was interrupted; last known up at %s" msgstr "데이터베이스 시스템이 비정상적으로 종료되었음; 마지막 운영시간: %s" -#: access/transam/xlog.c:6392 +#: access/transam/xlog.c:5116 #, c-format msgid "control file contains invalid database cluster state" msgstr "컨트롤 파일에 잘못된 데이터베이스 클러스터 상태값이 있습니다" -#: access/transam/xlog.c:6449 -#, c-format -msgid "entering standby mode" -msgstr "대기 모드로 전환합니다" - -#: access/transam/xlog.c:6452 +#: access/transam/xlog.c:5500 #, c-format -msgid "starting point-in-time recovery to XID %u" -msgstr "%u XID까지 시점 기반 복구 작업을 시작합니다" +msgid "WAL ends before end of online backup" +msgstr "온라인 백업 작업 끝나기전에 WAL 작업 종료됨" -#: access/transam/xlog.c:6456 +#: access/transam/xlog.c:5501 #, c-format -msgid "starting point-in-time recovery to %s" -msgstr "%s 까지 시점 복구 작업을 시작합니다" +msgid "" +"All WAL generated while online backup was taken must be available at " +"recovery." +msgstr "" +"온라인 백업 중 만들어진 WAL 조각 파일은 복구 작업에서 반드시 모두 있어야 합니" +"다." -#: access/transam/xlog.c:6460 +#: access/transam/xlog.c:5504 #, c-format -msgid "starting point-in-time recovery to \"%s\"" -msgstr "\"%s\" 복구 대상 이름까지 시점 복구 작업을 시작합니다" +msgid "WAL ends before consistent recovery point" +msgstr "WAL이 일치하는 복구 지점 앞에서 종료됨" -#: access/transam/xlog.c:6464 +#: access/transam/xlog.c:5550 #, c-format -msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\"" -msgstr "\"%X/%X\" 위치(LSN)까지 시점 복구 작업을 시작합니다" +msgid "selected new timeline ID: %u" +msgstr "지정한 새 타임라인 ID: %u" -#: access/transam/xlog.c:6469 +#: access/transam/xlog.c:5583 #, c-format -msgid "starting point-in-time recovery to earliest consistent point" -msgstr "동기화 할 수 있는 마지막 지점까지 시점 복구 작업을 시작합니다" +msgid "archive recovery complete" +msgstr "아카이브 복구 완료" -#: access/transam/xlog.c:6472 +#: access/transam/xlog.c:6189 #, c-format -msgid "starting archive recovery" -msgstr "아카이브 복구 작업을 시작합니다" +msgid "shutting down" +msgstr "서비스를 멈추고 있습니다" -#: access/transam/xlog.c:6531 access/transam/xlog.c:6664 +#. translator: the placeholders show checkpoint options +#: access/transam/xlog.c:6228 #, c-format -msgid "checkpoint record is at %X/%X" -msgstr "체크포인트 레코드 위치: %X/%X" +msgid "restartpoint starting:%s%s%s%s%s%s%s%s" +msgstr "restartpoint 시작:%s%s%s%s%s%s%s%s" -#: access/transam/xlog.c:6546 +#. translator: the placeholders show checkpoint options +#: access/transam/xlog.c:6240 #, c-format -msgid "could not find redo location referenced by checkpoint record" -msgstr "체크포인트 기록으로 참조하는 재실행 위치를 찾을 수 없음" +msgid "checkpoint starting:%s%s%s%s%s%s%s%s" +msgstr "체크포인트 시작:%s%s%s%s%s%s%s%s" -#: access/transam/xlog.c:6547 access/transam/xlog.c:6557 +#: access/transam/xlog.c:6305 #, c-format msgid "" -"If you are restoring from a backup, touch \"%s/recovery.signal\" and add " -"required recovery options.\n" -"If you are not restoring from a backup, try removing the file \"%s/" -"backup_label\".\n" -"Be careful: removing \"%s/backup_label\" will result in a corrupt cluster if " -"restoring from a backup." +"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 작업완료: %d개(%.1f%%) 버퍼 씀; %d개 WAL 파일 추가됨, %d개 지웠" +"음, %d개 재활용; 쓰기시간: %ld.%03d s, 동기화시간: %ld.%03d s, 전체시간: %ld." +"%03d s; 동기화 파일 개수: %d, 최장시간: %ld.%03d s, 평균시간: %ld.%03d s; 실" +"제작업량: %d kB, 예상한작업량: %d kB; lsn=%X/%X, redo lsn=%X/%X" -#: access/transam/xlog.c:6556 -#, c-format -msgid "could not locate required checkpoint record" -msgstr "요청된 체크포인트 레코드의 위치를 바르게 잡을 수 없음" - -#: access/transam/xlog.c:6585 commands/tablespace.c:654 +#: access/transam/xlog.c:6328 #, c-format -msgid "could not create symbolic link \"%s\": %m" -msgstr "\"%s\" 심벌릭 링크를 만들 수 없음: %m" +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 s, 동기화시간: %ld.%03d s, 전체시간: %ld." +"%03d s; 동기화 파일 개수: %d, 최장시간: %ld.%03d s, 평균시간: %ld.%03d s; 실" +"제작업량: %d kB, 예상한작업량: %d kB; lsn=%X/%X, redo lsn=%X/%X" -#: access/transam/xlog.c:6617 access/transam/xlog.c:6623 +#: access/transam/xlog.c:6766 #, c-format -msgid "ignoring file \"%s\" because no file \"%s\" exists" -msgstr "\"%s\" 파일 무시함, \"%s\" 파일 없음" +msgid "" +"concurrent write-ahead log activity while database system is shutting down" +msgstr "데이터베이스 시스템이 중지되는 동안 동시 트랜잭션 로그가 활성화 되었음" -#: access/transam/xlog.c:6619 access/transam/xlog.c:11828 +#: access/transam/xlog.c:7327 #, c-format -msgid "File \"%s\" was renamed to \"%s\"." -msgstr "\"%s\" 파일을 \"%s\" 파일로 이름을 바꿨습니다." +msgid "recovery restart point at %X/%X" +msgstr "%X/%X에서 복구 작업 시작함" -#: access/transam/xlog.c:6625 +#: access/transam/xlog.c:7329 #, c-format -msgid "Could not rename file \"%s\" to \"%s\": %m." -msgstr "\"%s\" 파일을 \"%s\" 파일로 이름을 바꿀 수 없음: %m" +msgid "Last completed transaction was at log time %s." +msgstr "마지막 완료된 트랜잭션 기록 시간은 %s 입니다." -#: access/transam/xlog.c:6676 +#: access/transam/xlog.c:7577 #, c-format -msgid "could not locate a valid checkpoint record" -msgstr "체크포인트 레코드의 위치를 바르게 잡을 수 없음" +msgid "restore point \"%s\" created at %X/%X" +msgstr "\"%s\" 이름의 복구 위치는 %X/%X에 만들었음" -#: access/transam/xlog.c:6714 +#: access/transam/xlog.c:7784 #, c-format -msgid "requested timeline %u is not a child of this server's history" -msgstr "요청한 %u 타임라인은 서버 타임라인의 하위가 아님" +msgid "online backup was canceled, recovery cannot continue" +msgstr "온라인 백어이 취소되었음, 복구를 계속 할 수 없음" -#: access/transam/xlog.c:6716 +#: access/transam/xlog.c:7841 #, c-format -msgid "" -"Latest checkpoint is at %X/%X on timeline %u, but in the history of the " -"requested timeline, the server forked off from that timeline at %X/%X." -msgstr "" -"마지막 체크포인트 위치는 %X/%X (%u 타임라인)입니다. 하지만, 요청받은 타임라" -"인 내역파일에는 그 타임라인 %X/%X 위치에서 분기되었습니다." +msgid "unexpected timeline ID %u (should be %u) in shutdown checkpoint record" +msgstr "셧다운 체크포인트 레코드에 잘못된 타임라인 ID 값: %u (기대값: %u)" -#: access/transam/xlog.c:6732 +#: access/transam/xlog.c:7899 #, c-format -msgid "" -"requested timeline %u does not contain minimum recovery point %X/%X on " -"timeline %u" -msgstr "" -"요청한 %u 타임라인은 %X/%X 최소 복구 위치가 없습니다, 기존 타임라인: %u" +msgid "unexpected timeline ID %u (should be %u) in online checkpoint record" +msgstr "온라인 체크포인트 레코드에 잘못된 타임라인 ID 값: %u (기대값: %u)" -#: access/transam/xlog.c:6763 +#: access/transam/xlog.c:7928 #, c-format -msgid "invalid next transaction ID" -msgstr "잘못된 다음 트랜잭션 ID" +msgid "unexpected timeline ID %u (should be %u) in end-of-recovery record" +msgstr "복원끝 레코드에 잘못된 타임라인 ID 값: %u (기대값: %u)" -#: access/transam/xlog.c:6857 +#: access/transam/xlog.c:8195 #, c-format -msgid "invalid redo in checkpoint record" -msgstr "체크포인트 레코드 안에 잘못된 redo 정보가 있음" +msgid "could not fsync write-through file \"%s\": %m" +msgstr "\"%s\" write-through 파일을 fsync할 수 없음: %m" -#: access/transam/xlog.c:6868 +#: access/transam/xlog.c:8200 #, c-format -msgid "invalid redo record in shutdown checkpoint" -msgstr "운영 중지 체크포인트에서 잘못된 재실행 정보 발견" +msgid "could not fdatasync file \"%s\": %m" +msgstr "\"%s\" 파일 fdatasync 실패: %m" -#: access/transam/xlog.c:6902 +#: access/transam/xlog.c:8285 access/transam/xlog.c:8608 #, c-format -msgid "" -"database system was not properly shut down; automatic recovery in progress" -msgstr "" -"데이터베이스 시스템이 정상적으로 종료되지 못했습니다, 자동 복구 작업을 진행합" -"니다" +msgid "WAL level not sufficient for making an online backup" +msgstr "온라인 백업 작업을 하기 위한 WAL 수준이 충분치 않습니다." -#: access/transam/xlog.c:6906 +#: access/transam/xlog.c:8286 access/transam/xlog.c:8609 +#: access/transam/xlogfuncs.c:254 #, c-format -msgid "crash recovery starts in timeline %u and has target timeline %u" +msgid "wal_level must be set to \"replica\" or \"logical\" at server start." msgstr "" -"%u 타임라인으로 비정상 중지에 대한 복구작업을 시작함, 기존 타임라인: %u" +"wal_level 값을 \"replica\" 또는 \"logical\"로 지정하고 서버를 실행하십시오." -#: access/transam/xlog.c:6953 +#: access/transam/xlog.c:8291 #, c-format -msgid "backup_label contains data inconsistent with control file" -msgstr "backup_label 파일 안에 컨트롤 파일과 일관성이 맞지 않는 자료가 있음" +msgid "backup label too long (max %d bytes)" +msgstr "백업 라벨 이름이 너무 긺(최대 %d 바이트)" -#: access/transam/xlog.c:6954 +#: access/transam/xlog.c:8412 #, c-format msgid "" -"This means that the backup is corrupted and you will have to use another " -"backup for recovery." +"WAL generated with full_page_writes=off was replayed since last restartpoint" msgstr "" -"이 문제는 백업 자료 자체가 손상 되었음을 말합니다. 다른 백업본으로 복구 작업" -"을 진행해야 합니다." +"마지막 재시작 위치부터 재반영된 WAL 내용이 full_page_writes=off 설정으로 만들" +"어진 내용입니다." -#: access/transam/xlog.c:7045 +#: access/transam/xlog.c:8414 access/transam/xlog.c:8697 #, c-format -msgid "initializing for hot standby" -msgstr "읽기 전용 보조 서버로 초기화 중입니다." +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:7178 +#: access/transam/xlog.c:8481 backup/basebackup.c:1351 utils/adt/misc.c:354 #, c-format -msgid "redo starts at %X/%X" -msgstr "%X/%X에서 redo 작업 시작됨" +msgid "could not read symbolic link \"%s\": %m" +msgstr "\"%s\" 심볼릭 링크 파일을 읽을 수 없음: %m" -#: access/transam/xlog.c:7402 +#: access/transam/xlog.c:8488 backup/basebackup.c:1356 utils/adt/misc.c:359 #, c-format -msgid "requested recovery stop point is before consistent recovery point" -msgstr "요청한 복구 중지 지점이 일치하는 복구 지점 앞에 있음" +msgid "symbolic link \"%s\" target is too long" +msgstr "\"%s\" 심볼릭 링크의 대상이 너무 긺" -#: access/transam/xlog.c:7440 +#: access/transam/xlog.c:8647 backup/basebackup.c:1217 #, c-format -msgid "redo done at %X/%X" -msgstr "%X/%X에서 redo 작업 완료" +msgid "the standby was promoted during online backup" +msgstr "대기 서버가 온라인 백업 중 주 서버로 전환되었습니다" -#: access/transam/xlog.c:7445 +#: access/transam/xlog.c:8648 backup/basebackup.c:1218 #, c-format -msgid "last completed transaction was at log time %s" -msgstr "마지막 완료된 트랜잭션 기록 시간: %s" +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:7454 +#: access/transam/xlog.c:8695 #, c-format -msgid "redo is not required" -msgstr "재반영해야 할 트랜잭션이 없음" +msgid "" +"WAL generated with full_page_writes=off was replayed during online backup" +msgstr "" +"온라인 백업 도중 full_page_writes=off 설정으로 만들어진 WAL 내용이 재반영되었" +"습니다." -#: access/transam/xlog.c:7466 +#: access/transam/xlog.c:8811 #, c-format -msgid "recovery ended before configured recovery target was reached" +msgid "base backup done, waiting for required WAL segments to be archived" msgstr "" +"베이스 백업이 끝났습니다. 필요한 WAL 조각 파일이 아카이브 되길 기다리고 있습" +"니다." -#: access/transam/xlog.c:7545 access/transam/xlog.c:7549 +#: access/transam/xlog.c:8825 #, c-format -msgid "WAL ends before end of online backup" -msgstr "온라인 백업 작업 끝나기전에 WAL 작업 종료됨" +msgid "" +"still waiting for all required WAL segments to be archived (%d seconds " +"elapsed)" +msgstr "" +"필요한 WAL 조각 파일 아카이빙이 완료되기를 계속 기다리고 있음 (%d초 경과)" -#: access/transam/xlog.c:7546 +#: access/transam/xlog.c:8827 #, c-format msgid "" -"All WAL generated while online backup was taken must be available at " -"recovery." +"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 "" -"온라인 백업 중 만들어진 WAL 조각 파일은 복구 작업에서 반드시 모두 있어야 합니" -"다." +"archive_command 설정을 살펴보세요. 이 백업 작업은 안전하게 취소 할 수 있지" +"만, 데이터베이스 백업은 모든 WAL 조각 없이는 사용될 수 없습니다." + +#: access/transam/xlog.c:8834 +#, c-format +msgid "all required WAL segments have been archived" +msgstr "모든 필요한 WAL 조각들이 아카이브 되었습니다." + +#: access/transam/xlog.c:8838 +#, 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:8877 +#, c-format +msgid "aborting backup due to backend exiting before pg_backup_stop was called" +msgstr "" +"pg_backup_stop 작업이 호출되기 전에 백엔드가 종료되어 백업을 중지합니다." + +#: access/transam/xlogarchive.c:207 +#, c-format +msgid "archive file \"%s\" has wrong size: %lld instead of %lld" +msgstr "\"%s\" 아카이브 파일의 크기가 이상합니다: 현재값 %lld, 기대값 %lld" + +#: access/transam/xlogarchive.c:216 +#, c-format +msgid "restored log file \"%s\" from archive" +msgstr "아카이브에서 \"%s\" 로그파일을 복구했음" + +#: access/transam/xlogarchive.c:230 +#, c-format +msgid "restore_command returned a zero exit status, but stat() failed." +msgstr "restore_command 작업이 0을 반환했지만, stat() 작업 실패." + +#: access/transam/xlogarchive.c:262 +#, c-format +msgid "could not restore file \"%s\" from archive: %s" +msgstr "아카이브에서 \"%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 +#, c-format +msgid "%s \"%s\": %s" +msgstr "%s \"%s\": %s" + +#: access/transam/xlogarchive.c:450 access/transam/xlogarchive.c:530 +#, c-format +msgid "could not create archive status file \"%s\": %m" +msgstr "\"%s\" archive status 파일을 만들 수 없습니다: %m" + +#: access/transam/xlogarchive.c:458 access/transam/xlogarchive.c:538 +#, c-format +msgid "could not write archive status file \"%s\": %m" +msgstr "\"%s\" archive status 파일에 쓸 수 없습니다: %m" + +#: access/transam/xlogfuncs.c:75 backup/basebackup.c:973 +#, c-format +msgid "a backup is already in progress in this session" +msgstr "이미 이 세션에서 백업 작업이 진행 중입니다" + +#: access/transam/xlogfuncs.c:146 +#, c-format +msgid "backup is not in progress" +msgstr "현재 백업 작업을 하지 않고 있습니다" + +#: access/transam/xlogfuncs.c:147 +#, c-format +msgid "Did you call pg_backup_start()?" +msgstr "pg_backup_start() 함수를 호출했나요?" + +#: access/transam/xlogfuncs.c:190 access/transam/xlogfuncs.c:248 +#: access/transam/xlogfuncs.c:287 access/transam/xlogfuncs.c:308 +#: access/transam/xlogfuncs.c:329 +#, c-format +msgid "WAL control functions cannot be executed during recovery." +msgstr "WAL 제어 함수는 복구 작업 중에는 실행 될 수 없음" + +#: access/transam/xlogfuncs.c:215 access/transam/xlogfuncs.c:399 +#: access/transam/xlogfuncs.c:457 +#, c-format +msgid "%s cannot be executed during recovery." +msgstr "복구 작업 중에는 %s 명령을 실행할 수 없습니다." + +#: access/transam/xlogfuncs.c:221 +#, c-format +msgid "pg_log_standby_snapshot() can only be used if wal_level >= replica" +msgstr "" +"pg_log_standby_snapshot() 함수는 wal_level >= replica 상태에서 사용될 수 있습" +"니다." + +#: access/transam/xlogfuncs.c:253 +#, c-format +msgid "WAL level not sufficient for creating a restore point" +msgstr "WAL 수준이 복원 위치를 만들 수 없는 수준입니다" + +#: access/transam/xlogfuncs.c:261 +#, c-format +msgid "value too long for restore point (maximum %d characters)" +msgstr "복원 위치 이름이 너무 깁니다. (최대값, %d 글자)" + +#: access/transam/xlogfuncs.c:496 +#, c-format +msgid "invalid WAL file name \"%s\"" +msgstr "잘못된 WAL 파일 이름: \"%s\"" + +#: access/transam/xlogfuncs.c:532 access/transam/xlogfuncs.c:562 +#: access/transam/xlogfuncs.c:586 access/transam/xlogfuncs.c:609 +#: access/transam/xlogfuncs.c:689 +#, c-format +msgid "recovery is not in progress" +msgstr "현재 복구 작업 상태가 아닙니다" + +#: access/transam/xlogfuncs.c:533 access/transam/xlogfuncs.c:563 +#: access/transam/xlogfuncs.c:587 access/transam/xlogfuncs.c:610 +#: access/transam/xlogfuncs.c:690 +#, c-format +msgid "Recovery control functions can only be executed during recovery." +msgstr "복구 제어 함수는 복구 작업일 때만 실행할 수 있습니다." + +#: access/transam/xlogfuncs.c:538 access/transam/xlogfuncs.c:568 +#, c-format +msgid "standby promotion is ongoing" +msgstr "대기 서버가 운영 서버로 전환 중입니다." + +#: access/transam/xlogfuncs.c:539 access/transam/xlogfuncs.c:569 +#, c-format +msgid "%s cannot be executed after promotion is triggered." +msgstr "%s 함수는 운영 전환 중에는 실행될 수 없음." + +#: access/transam/xlogfuncs.c:695 +#, c-format +msgid "\"wait_seconds\" must not be negative or zero" +msgstr "\"wait_seconds\" 값은 음수나 0을 사용할 수 없음" + +#: access/transam/xlogfuncs.c:715 storage/ipc/signalfuncs.c:260 +#, c-format +msgid "failed to send signal to postmaster: %m" +msgstr "postmaster로 시그널 보내기 실패: %m" + +#: access/transam/xlogfuncs.c:751 +#, c-format +msgid "server did not promote within %d second" +msgid_plural "server did not promote within %d seconds" +msgstr[0] "%d 초 이내에 운영 전환을 하지 못했습니다." + +#: access/transam/xlogprefetcher.c:1092 +#, c-format +msgid "" +"recovery_prefetch is not supported on platforms that lack posix_fadvise()." +msgstr "" +"이 OS는 posix_fadvise() 함수를 지원하지 않아, recovery_prefetch 설정을 지원하" +"지 않습니다." + +#: access/transam/xlogreader.c:626 +#, c-format +msgid "invalid record offset at %X/%X: expected at least %u, got %u" +msgstr "잘못된 레코드 오프셋: 위치 %X/%X, 기대값 %u, 실재값 %u" + +#: access/transam/xlogreader.c:635 +#, c-format +msgid "contrecord is requested by %X/%X" +msgstr "%X/%X에서 contrecord를 필요로 함" + +#: access/transam/xlogreader.c:676 access/transam/xlogreader.c:1119 +#, c-format +msgid "invalid record length at %X/%X: expected at least %u, got %u" +msgstr "잘못된 레코드 길이: 위치 %X/%X, 기대값 %u, 실재값 %u" + +#: access/transam/xlogreader.c:705 +#, c-format +msgid "out of memory while trying to decode a record of length %u" +msgstr "%u 길이의 레코드를 디코딩하는 중 메모리 부족" + +#: access/transam/xlogreader.c:727 +#, c-format +msgid "record length %u at %X/%X too long" +msgstr "너무 긴 길이(%u)의 레코드가 %X/%X에 있음" + +#: access/transam/xlogreader.c:776 +#, c-format +msgid "there is no contrecord flag at %X/%X" +msgstr "%X/%X 위치에 contrecord 플래그가 없음" + +#: access/transam/xlogreader.c:789 +#, c-format +msgid "invalid contrecord length %u (expected %lld) at %X/%X" +msgstr "잘못된 contrecord 길이 %u (기대값: %lld), 위치 %X/%X" + +#: access/transam/xlogreader.c:1127 +#, c-format +msgid "invalid resource manager ID %u at %X/%X" +msgstr "잘못된 자원 관리 ID %u, 위치: %X/%X" + +#: access/transam/xlogreader.c:1140 access/transam/xlogreader.c:1156 +#, c-format +msgid "record with incorrect prev-link %X/%X at %X/%X" +msgstr "레코드의 잘못된 프리링크 %X/%X, 해당 레코드 %X/%X" + +#: access/transam/xlogreader.c:1192 +#, c-format +msgid "incorrect resource manager data checksum in record at %X/%X" +msgstr "잘못된 자원관리자 데이터 체크섬, 위치: %X/%X 레코드" + +#: access/transam/xlogreader.c:1226 +#, c-format +msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "%04X 매직 번호가 잘못됨, WAL 조각 파일 %s, LSN %X/%X, offset %u" + +#: access/transam/xlogreader.c:1241 access/transam/xlogreader.c:1283 +#, c-format +msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "잘못된 정보 비트 %04X, WAL 조각 파일 %s, LSN %X/%X, offset %u" + +#: access/transam/xlogreader.c:1257 +#, c-format +msgid "" +"WAL file is from different database system: WAL file database system " +"identifier is %llu, pg_control database system identifier is %llu" +msgstr "" +"WAL 파일이 다른 시스템의 것입니다. WAL 파일의 시스템 식별자는 %llu, " +"pg_control 의 식별자는 %llu" + +#: access/transam/xlogreader.c:1265 +#, c-format +msgid "" +"WAL file is from different database system: incorrect segment size in page " +"header" +msgstr "" +"WAL 파일이 다른 데이터베이스 시스템의 것입니다: 페이지 헤더에 지정된 값이 잘" +"못된 조각 크기임" + +#: access/transam/xlogreader.c:1271 +#, c-format +msgid "" +"WAL file is from different database system: incorrect XLOG_BLCKSZ in page " +"header" +msgstr "" +"WAL 파일이 다른 데이터베이스 시스템의 것입니다: 페이지 헤더의 XLOG_BLCKSZ 값" +"이 바르지 않음" + +#: access/transam/xlogreader.c:1303 +#, c-format +msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "잘못된 페이지 주소 %X/%X, WAL 조각 파일 %s, LSN %X/%X, offset %u" + +#: access/transam/xlogreader.c:1329 +#, c-format +msgid "" +"out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, " +"offset %u" +msgstr "" +"타임라인 범위 벗어남 %u (이전 번호 %u), WAL 조각 파일 %s, LSN %X/%X, offset " +"%u" + +#: access/transam/xlogreader.c:1735 +#, c-format +msgid "out-of-order block_id %u at %X/%X" +msgstr "%u block_id는 범위를 벗어남, 위치 %X/%X" + +#: access/transam/xlogreader.c:1759 +#, c-format +msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X" +msgstr "BKPBLOCK_HAS_DATA 지정했지만, %X/%X 에 자료가 없음" + +#: access/transam/xlogreader.c:1766 +#, c-format +msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X" +msgstr "BKPBLOCK_HAS_DATA 지정 않았지만, %u 길이의 자료가 있음, 위치 %X/%X" + +#: access/transam/xlogreader.c:1802 +#, c-format +msgid "" +"BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at " +"%X/%X" +msgstr "" +"BKPIMAGE_HAS_HOLE 설정이 되어 있지만, 옵셋: %u, 길이: %u, 블록 이미지 길이: " +"%u, 대상: %X/%X" + +#: access/transam/xlogreader.c:1818 +#, c-format +msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X" +msgstr "" +"BKPIMAGE_HAS_HOLE 설정이 안되어 있지만, 옵셋: %u, 길이: %u, 대상: %X/%X" + +#: access/transam/xlogreader.c:1832 +#, c-format +msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" +msgstr "" +"BKPIMAGE_COMPRESSED 설정이 되어 있지만, 블록 이미지 길이: %u, 대상: %X/%X" + +#: access/transam/xlogreader.c:1847 +#, c-format +msgid "" +"neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image " +"length is %u at %X/%X" +msgstr "" +"BKPIMAGE_HAS_HOLE, BKPIMAGE_COMPRESSED 지정 안되어 있으나, 블록 이미지 길이" +"는 %u, 대상: %X/%X" + +#: access/transam/xlogreader.c:1863 +#, c-format +msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X" +msgstr "BKPBLOCK_SAME_REL 설정이 되어 있지만, %X/%X 에 이전 릴레이션 없음" + +#: access/transam/xlogreader.c:1875 +#, c-format +msgid "invalid block_id %u at %X/%X" +msgstr "잘못된 block_id %u, 위치 %X/%X" + +#: access/transam/xlogreader.c:1942 +#, c-format +msgid "record with invalid length at %X/%X" +msgstr "잘못된 레코드 길이, 위치 %X/%X" + +#: access/transam/xlogreader.c:1968 +#, c-format +msgid "could not locate backup block with ID %d in WAL record" +msgstr "WAL 레코드에서 %d ID의 백업 블록을 찾을 수 없음" + +#: access/transam/xlogreader.c:2052 +#, c-format +msgid "could not restore image at %X/%X with invalid block %d specified" +msgstr "%X/%X 위치에 이미지를 복원할 수 없음 %d 블록이 잘못 지정됨" + +#: access/transam/xlogreader.c:2059 +#, c-format +msgid "could not restore image at %X/%X with invalid state, block %d" +msgstr "%X/%X 위치에 이미지를 복원할 수 없음, %d 블록의 상태가 이상함" + +#: access/transam/xlogreader.c:2086 access/transam/xlogreader.c:2103 +#, c-format +msgid "" +"could not restore image at %X/%X compressed with %s not supported by build, " +"block %d" +msgstr "%X/%X 위치에 압축된 이미지 복원 실패, %s 지원 하지 않음, 해당 블록: %d" + +#: access/transam/xlogreader.c:2112 +#, c-format +msgid "" +"could not restore image at %X/%X compressed with unknown method, block %d" +msgstr "알 수 없는 방법으로 이미지 압축 복원 실패: 위치 %X/%X, 블록 %d" + +#: access/transam/xlogreader.c:2120 +#, c-format +msgid "could not decompress image at %X/%X, block %d" +msgstr "이미지 압축 풀기 실패, 위치 %X/%X, 블록 %d" + +#: access/transam/xlogrecovery.c:547 +#, c-format +msgid "entering standby mode" +msgstr "대기 모드로 전환합니다" + +#: access/transam/xlogrecovery.c:550 +#, c-format +msgid "starting point-in-time recovery to XID %u" +msgstr "%u XID까지 시점 기반 복구 작업을 시작합니다" + +#: access/transam/xlogrecovery.c:554 +#, c-format +msgid "starting point-in-time recovery to %s" +msgstr "%s 까지 시점 복구 작업을 시작합니다" + +#: access/transam/xlogrecovery.c:558 +#, c-format +msgid "starting point-in-time recovery to \"%s\"" +msgstr "\"%s\" 복구 대상 이름까지 시점 복구 작업을 시작합니다" + +#: access/transam/xlogrecovery.c:562 +#, c-format +msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\"" +msgstr "\"%X/%X\" 위치(LSN)까지 시점 복구 작업을 시작합니다" + +#: access/transam/xlogrecovery.c:566 +#, c-format +msgid "starting point-in-time recovery to earliest consistent point" +msgstr "동기화 할 수 있는 마지막 지점까지 시점 복구 작업을 시작합니다" + +#: access/transam/xlogrecovery.c:569 +#, c-format +msgid "starting archive recovery" +msgstr "아카이브 복구 작업을 시작합니다" + +#: access/transam/xlogrecovery.c:653 +#, c-format +msgid "could not find redo location referenced by checkpoint record" +msgstr "체크포인트 기록으로 참조하는 재실행 위치를 찾을 수 없음" + +#: access/transam/xlogrecovery.c:654 access/transam/xlogrecovery.c:664 +#, c-format +msgid "" +"If you are restoring from a backup, touch \"%s/recovery.signal\" and add " +"required recovery options.\n" +"If you are not restoring from a backup, try removing the file \"%s/" +"backup_label\".\n" +"Be careful: removing \"%s/backup_label\" will result in a corrupt cluster if " +"restoring from a backup." +msgstr "" +"백업을 복원하려면, \"%s/recovery.signal\" 파일을 만들고, 복구 관련 옵션을 지" +"정하세요.\n" +"백업 복원을 하는게 아니라면, \"%s/backup_label\" 파일을 지우고 사용할 수 있" +"습니다.\n" +"주의: 백업 복원 작업을 하는데, \"%s/backup_label\" 파일을 지운다면, 클러스터" +"가 손상 될 수 있습니다." + +#: access/transam/xlogrecovery.c:663 +#, c-format +msgid "could not locate required checkpoint record" +msgstr "요청된 체크포인트 레코드의 위치를 바르게 잡을 수 없음" + +#: access/transam/xlogrecovery.c:692 commands/tablespace.c:670 +#, c-format +msgid "could not create symbolic link \"%s\": %m" +msgstr "\"%s\" 심벌릭 링크를 만들 수 없음: %m" + +#: access/transam/xlogrecovery.c:724 access/transam/xlogrecovery.c:730 +#, c-format +msgid "ignoring file \"%s\" because no file \"%s\" exists" +msgstr "\"%s\" 파일 무시함, \"%s\" 파일 없음" + +#: access/transam/xlogrecovery.c:726 +#, c-format +msgid "File \"%s\" was renamed to \"%s\"." +msgstr "\"%s\" 파일을 \"%s\" 파일로 이름을 바꿨습니다." + +#: access/transam/xlogrecovery.c:732 +#, c-format +msgid "Could not rename file \"%s\" to \"%s\": %m." +msgstr "\"%s\" 파일을 \"%s\" 파일로 이름을 바꿀 수 없음: %m" + +#: access/transam/xlogrecovery.c:786 +#, c-format +msgid "could not locate a valid checkpoint record" +msgstr "체크포인트 레코드의 위치를 바르게 잡을 수 없음" + +#: access/transam/xlogrecovery.c:810 +#, c-format +msgid "requested timeline %u is not a child of this server's history" +msgstr "요청한 %u 타임라인은 서버 타임라인의 하위가 아님" + +#: access/transam/xlogrecovery.c:812 +#, c-format +msgid "" +"Latest checkpoint is at %X/%X on timeline %u, but in the history of the " +"requested timeline, the server forked off from that timeline at %X/%X." +msgstr "" +"마지막 체크포인트 위치는 %X/%X (%u 타임라인)입니다. 하지만, 요청받은 타임라" +"인 내역파일에는 그 타임라인 %X/%X 위치에서 분기되었습니다." + +#: access/transam/xlogrecovery.c:826 +#, c-format +msgid "" +"requested timeline %u does not contain minimum recovery point %X/%X on " +"timeline %u" +msgstr "" +"요청한 %u 타임라인은 %X/%X 최소 복구 위치가 없습니다, 기존 타임라인: %u" + +#: access/transam/xlogrecovery.c:854 +#, c-format +msgid "invalid next transaction ID" +msgstr "잘못된 다음 트랜잭션 ID" + +#: access/transam/xlogrecovery.c:859 +#, c-format +msgid "invalid redo in checkpoint record" +msgstr "체크포인트 레코드 안에 잘못된 redo 정보가 있음" + +#: access/transam/xlogrecovery.c:870 +#, c-format +msgid "invalid redo record in shutdown checkpoint" +msgstr "운영 중지 체크포인트에서 잘못된 재실행 정보 발견" + +#: access/transam/xlogrecovery.c:899 +#, c-format +msgid "" +"database system was not properly shut down; automatic recovery in progress" +msgstr "" +"데이터베이스 시스템이 정상적으로 종료되지 못했습니다, 자동 복구 작업을 진행합" +"니다" + +#: access/transam/xlogrecovery.c:903 +#, c-format +msgid "crash recovery starts in timeline %u and has target timeline %u" +msgstr "" +"%u 타임라인으로 비정상 중지에 대한 복구작업을 시작함, 기존 타임라인: %u" -#: access/transam/xlog.c:7550 +#: access/transam/xlogrecovery.c:946 +#, c-format +msgid "backup_label contains data inconsistent with control file" +msgstr "backup_label 파일 안에 컨트롤 파일과 일관성이 맞지 않는 자료가 있음" + +#: access/transam/xlogrecovery.c:947 #, c-format msgid "" -"Online backup started with pg_start_backup() must be ended with " -"pg_stop_backup(), and all WAL up to that point must be available at recovery." +"This means that the backup is corrupted and you will have to use another " +"backup for recovery." msgstr "" -"pg_start_backup() 함수를 호출해서 시작한 온라인 백업은 pg_stop_backup() 함수" -"로 종료되어야 하며, 그 사이 만들어진 WAL 조각 파일은 복구 작업에서 모두 필요" -"합니다." +"이 문제는 백업 자료 자체가 손상 되었음을 말합니다. 다른 백업본으로 복구 작업" +"을 진행해야 합니다." -#: access/transam/xlog.c:7553 +#: access/transam/xlogrecovery.c:1001 #, c-format -msgid "WAL ends before consistent recovery point" -msgstr "WAL이 일치하는 복구 지점 앞에서 종료됨" +msgid "using recovery command file \"%s\" is not supported" +msgstr "\"%s\" 복구 명령 파일을 사용하는 것을 지원하지 않습니다" -#: access/transam/xlog.c:7588 +#: access/transam/xlogrecovery.c:1066 #, c-format -msgid "selected new timeline ID: %u" -msgstr "지정한 새 타임라인 ID: %u" +msgid "standby mode is not supported by single-user servers" +msgstr "단일 사용자 서버를 대상으로 대기 모드를 사용할 수 없습니다." -#: access/transam/xlog.c:8036 +#: access/transam/xlogrecovery.c:1083 #, c-format -msgid "consistent recovery state reached at %X/%X" -msgstr "%X/%X 위치에서 복구 일관성을 맞춤" +msgid "specified neither primary_conninfo nor restore_command" +msgstr "primary_conninfo 설정도, restore_command 설정도 없음" -#: access/transam/xlog.c:8246 +#: access/transam/xlogrecovery.c:1084 #, c-format -msgid "invalid primary checkpoint link in control file" -msgstr "컨트롤 파일에서 잘못된 primary checkpoint 링크 발견" +msgid "" +"The database server will regularly poll the pg_wal subdirectory to check for " +"files placed there." +msgstr "" +"데이터베이스 서버는 일반적으로 주 서버에서 발생한 트랜잭션 로그를 반영하기 위" +"해 pg_wal 하위 디렉터리를 조사할 것입니다." -#: access/transam/xlog.c:8250 +#: access/transam/xlogrecovery.c:1092 #, c-format -msgid "invalid checkpoint link in backup_label file" -msgstr "백업 라벨 파일에서 잘못된 체크포인트 링크 발견" +msgid "must specify restore_command when standby mode is not enabled" +msgstr "" +"대기 모드를 활성화 하지 않았다면(standby_mode = off), restore_command 설정은 " +"반드시 있어야 함" -#: access/transam/xlog.c:8268 +#: access/transam/xlogrecovery.c:1130 #, c-format -msgid "invalid primary checkpoint record" -msgstr "잘못된 primary checkpoint 레코드" +msgid "recovery target timeline %u does not exist" +msgstr "%u 복구 대상 타임라인이 없음" -#: access/transam/xlog.c:8272 +#: 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 #, c-format -msgid "invalid checkpoint record" -msgstr "잘못된 checkpoint 레코드" +msgid "invalid data in file \"%s\"" +msgstr "\"%s\" 파일에 유효하지 않은 자료가 있습니다" -#: access/transam/xlog.c:8283 +#: access/transam/xlogrecovery.c:1280 #, c-format -msgid "invalid resource manager ID in primary checkpoint record" -msgstr "primary checkpoint 레코드에서 잘못된 자원 관리자 ID 발견" +msgid "Timeline ID parsed is %u, but expected %u." +msgstr "타임라인 ID가 %u 값으로 분석했지만, 기대값은 %u 임" -#: access/transam/xlog.c:8287 +#: access/transam/xlogrecovery.c:1662 #, c-format -msgid "invalid resource manager ID in checkpoint record" -msgstr "checkpoint 레코드에서 잘못된 자원 관리자 ID 발견" +msgid "redo starts at %X/%X" +msgstr "%X/%X에서 redo 작업 시작됨" -#: access/transam/xlog.c:8300 +#: access/transam/xlogrecovery.c:1675 #, c-format -msgid "invalid xl_info in primary checkpoint record" -msgstr "primary checkpoint 레코드에서 잘못된 xl_info 발견" +msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X" +msgstr "redo 진행 중, 예상시간: %ld.%02d s, 현재 LSN: %X/%X" -#: access/transam/xlog.c:8304 +#: access/transam/xlogrecovery.c:1767 #, c-format -msgid "invalid xl_info in checkpoint record" -msgstr "checkpoint 레코드에서 잘못된 xl_info 발견" +msgid "requested recovery stop point is before consistent recovery point" +msgstr "요청한 복구 중지 지점이 일치하는 복구 지점 앞에 있음" -#: access/transam/xlog.c:8315 +#: access/transam/xlogrecovery.c:1799 #, c-format -msgid "invalid length of primary checkpoint record" -msgstr "primary checkpoint 레코드 길이가 잘못되었음" +msgid "redo done at %X/%X system usage: %s" +msgstr "%X/%X에서 redo 작업 완료, 시스템 사용량: %s" -#: access/transam/xlog.c:8319 +#: access/transam/xlogrecovery.c:1805 #, c-format -msgid "invalid length of checkpoint record" -msgstr "checkpoint 레코드 길이가 잘못되었음" +msgid "last completed transaction was at log time %s" +msgstr "마지막 완료된 트랜잭션 기록 시간: %s" -#: access/transam/xlog.c:8499 +#: access/transam/xlogrecovery.c:1814 #, c-format -msgid "shutting down" -msgstr "서비스를 멈추고 있습니다" +msgid "redo is not required" +msgstr "재반영해야 할 트랜잭션이 없음" -#: access/transam/xlog.c:8819 +#: access/transam/xlogrecovery.c:1825 #, c-format -msgid "checkpoint skipped because system is idle" -msgstr "시스템이 놀고 있어 체크포인트 작업 건너뜀" +msgid "recovery ended before configured recovery target was reached" +msgstr "지정한 recovery target 도달 전에 복원 끝남" -#: access/transam/xlog.c:9019 +#: access/transam/xlogrecovery.c:2019 #, c-format -msgid "" -"concurrent write-ahead log activity while database system is shutting down" -msgstr "데이터베이스 시스템이 중지되는 동안 동시 트랜잭션 로그가 활성화 되었음" +msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s" +msgstr "%X/%X에 빠진 contrecord를 건너뜀, %s에 덮어씀" -#: access/transam/xlog.c:9276 +#: access/transam/xlogrecovery.c:2086 #, c-format -msgid "skipping restartpoint, recovery has already ended" -msgstr "다시 시작 지점을 건너뜀, 복구가 이미 종료됨" +msgid "unexpected directory entry \"%s\" found in %s" +msgstr "잘못된 디렉터리 엔트리 \"%s\", 위치: %s" -#: access/transam/xlog.c:9299 +#: access/transam/xlogrecovery.c:2088 #, c-format -msgid "skipping restartpoint, already performed at %X/%X" -msgstr "다시 시작 지점을 건너뜀, %X/%X에서 이미 수행됨" +msgid "All directory entries in pg_tblspc/ should be symbolic links." +msgstr "pg_tblspc/ 안 모든 디렉터리 엔트리는 심볼릭 링크여야 함" -#: access/transam/xlog.c:9467 +#: access/transam/xlogrecovery.c:2089 #, c-format -msgid "recovery restart point at %X/%X" -msgstr "%X/%X에서 복구 작업 시작함" +msgid "" +"Remove those directories, or set allow_in_place_tablespaces to ON " +"transiently to let recovery complete." +msgstr "" +"그 디렉터리를 지우든가, allow_in_place_tablespaces 설정을 ON으로 바꿔 임시로 " +"복원 작업을 완료하든가 하세요." -#: access/transam/xlog.c:9469 +#: access/transam/xlogrecovery.c:2163 #, c-format -msgid "Last completed transaction was at log time %s." -msgstr "마지막 완료된 트랜잭션 기록 시간은 %s 입니다." +msgid "consistent recovery state reached at %X/%X" +msgstr "%X/%X 위치에서 복구 일관성을 맞춤" -#: access/transam/xlog.c:9711 +#. translator: %s is a WAL record description +#: access/transam/xlogrecovery.c:2201 #, c-format -msgid "restore point \"%s\" created at %X/%X" -msgstr "\"%s\" 이름의 복구 위치는 %X/%X에 만들었음" +msgid "WAL redo at %X/%X for %s" +msgstr "WAL redo 위치: %X/%X, 대상: %s" -#: access/transam/xlog.c:9856 +#: access/transam/xlogrecovery.c:2299 #, c-format msgid "" "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint " @@ -3002,12 +3628,12 @@ msgid "" msgstr "" "체크포인트 레코드에 예기치 않은 이전 타임라인ID %u(현재 타임라인ID: %u)" -#: access/transam/xlog.c:9865 +#: access/transam/xlogrecovery.c:2308 #, c-format msgid "unexpected timeline ID %u (after %u) in checkpoint record" msgstr "체크포인트 레코드에 예기치 않은 타임라인 ID %u이(가) 있음(%u 뒤)" -#: access/transam/xlog.c:9881 +#: access/transam/xlogrecovery.c:2324 #, c-format msgid "" "unexpected timeline ID %u in checkpoint record, before reaching minimum " @@ -3016,839 +3642,756 @@ msgstr "" "체크포인트 내역 안에 %u 타임라인 ID가 기대한 것과 다릅니다. 발생 위치: %X/%X " "(타임라인: %u) 최소 복구 위치 이전" -#: access/transam/xlog.c:9957 +#: access/transam/xlogrecovery.c:2508 access/transam/xlogrecovery.c:2784 #, c-format -msgid "online backup was canceled, recovery cannot continue" -msgstr "온라인 백어이 취소되었음, 복구를 계속 할 수 없음" +msgid "recovery stopping after reaching consistency" +msgstr "일관성을 다 맞추어 복구 작업을 중지합니다." -#: access/transam/xlog.c:10013 access/transam/xlog.c:10069 -#: access/transam/xlog.c:10092 +#: access/transam/xlogrecovery.c:2529 #, c-format -msgid "unexpected timeline ID %u (should be %u) in checkpoint record" -msgstr "체크포인트 레코드에 예기치 않은 타임라인 ID %u이(가) 있음(%u이어야 함)" +msgid "recovery stopping before WAL location (LSN) \"%X/%X\"" +msgstr "복구 중지 위치(LSN): \"%X/%X\" 이전" -#: access/transam/xlog.c:10418 +#: access/transam/xlogrecovery.c:2619 #, c-format -msgid "could not fsync write-through file \"%s\": %m" -msgstr "\"%s\" write-through 파일을 fsync할 수 없음: %m" +msgid "recovery stopping before commit of transaction %u, time %s" +msgstr "%u 트랜잭션 커밋 전 복구 중지함, 시간 %s" -#: access/transam/xlog.c:10424 +#: access/transam/xlogrecovery.c:2626 #, c-format -msgid "could not fdatasync file \"%s\": %m" -msgstr "\"%s\" 파일 fdatasync 실패: %m" +msgid "recovery stopping before abort of transaction %u, time %s" +msgstr "%u 트랜잭션 중단 전 복구 중지함, 시간 %s" -#: access/transam/xlog.c:10523 access/transam/xlog.c:11061 -#: access/transam/xlogfuncs.c:275 access/transam/xlogfuncs.c:302 -#: access/transam/xlogfuncs.c:341 access/transam/xlogfuncs.c:362 -#: access/transam/xlogfuncs.c:383 +#: access/transam/xlogrecovery.c:2679 #, c-format -msgid "WAL control functions cannot be executed during recovery." -msgstr "WAL 제어 함수는 복구 작업 중에는 실행 될 수 없음" +msgid "recovery stopping at restore point \"%s\", time %s" +msgstr "복구 중지함, 복구 위치 \"%s\", 시간 %s" -#: access/transam/xlog.c:10532 access/transam/xlog.c:11070 +#: access/transam/xlogrecovery.c:2697 #, c-format -msgid "WAL level not sufficient for making an online backup" -msgstr "온라인 백업 작업을 하기 위한 WAL 수준이 충분치 않습니다." +msgid "recovery stopping after WAL location (LSN) \"%X/%X\"" +msgstr "복구 중지 위치(LSN): \"%X/%X\" 이후" -#: access/transam/xlog.c:10533 access/transam/xlog.c:11071 -#: access/transam/xlogfuncs.c:308 +#: access/transam/xlogrecovery.c:2764 #, c-format -msgid "wal_level must be set to \"replica\" or \"logical\" at server start." -msgstr "" -"wal_level 값을 \"replica\" 또는 \"logical\"로 지정하고 서버를 실행하십시오." +msgid "recovery stopping after commit of transaction %u, time %s" +msgstr "%u 트랜잭션 커밋 후 복구 중지함, 시간 %s" -#: access/transam/xlog.c:10538 +#: access/transam/xlogrecovery.c:2772 #, c-format -msgid "backup label too long (max %d bytes)" -msgstr "백업 라벨 이름이 너무 긺(최대 %d 바이트)" +msgid "recovery stopping after abort of transaction %u, time %s" +msgstr "%u 트랜잭션 중단 후 복구 중지함, 시간 %s" -#: access/transam/xlog.c:10575 access/transam/xlog.c:10860 -#: access/transam/xlog.c:10898 +#: access/transam/xlogrecovery.c:2853 #, c-format -msgid "a backup is already in progress" -msgstr "이미 백업 작업이 진행 중입니다" +msgid "pausing at the end of recovery" +msgstr "복구 끝에 기다리는 중" -#: access/transam/xlog.c:10576 +#: access/transam/xlogrecovery.c:2854 #, c-format -msgid "Run pg_stop_backup() and try again." -msgstr "pg_stop_backup() 함수를 실행하고 나서 다시 시도하세요." +msgid "Execute pg_wal_replay_resume() to promote." +msgstr "운영 서버로 바꾸려면, pg_wal_replay_resume() 함수를 호출하세요." -#: access/transam/xlog.c:10672 +#: access/transam/xlogrecovery.c:2857 access/transam/xlogrecovery.c:4594 #, c-format -msgid "" -"WAL generated with full_page_writes=off was replayed since last restartpoint" -msgstr "" -"마지막 재시작 위치부터 재반영된 WAL 내용이 full_page_writes=off 설정으로 만들" -"어진 내용입니다." +msgid "recovery has paused" +msgstr "복구 작업이 일시 중지 됨" -#: access/transam/xlog.c:10674 access/transam/xlog.c:11266 +#: access/transam/xlogrecovery.c:2858 #, c-format -msgid "" -"This means that the backup being taken on the standby is corrupt and should " -"not be used. Enable full_page_writes and run CHECKPOINT on the master, and " -"then try an online backup again." -msgstr "" -"이 경우 대기 서버의 자료가 손실되었을 가능성이 있습니다. full_page_writes 설" -"정을 활성화 하고, 주 서버에서 CHECKPOINT 명령을 실행하고, 온라인 백업을 다시 " -"해서 사용하세요." +msgid "Execute pg_wal_replay_resume() to continue." +msgstr "계속 진행하려면, pg_wal_replay_resume() 함수를 호출하세요." -#: access/transam/xlog.c:10757 replication/basebackup.c:1423 -#: utils/adt/misc.c:342 +#: access/transam/xlogrecovery.c:3121 #, c-format -msgid "symbolic link \"%s\" target is too long" -msgstr "\"%s\" 심볼릭 링크의 대상이 너무 긺" +msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%X, offset %u" +msgstr "예상치 못한 타임라인 ID %u, WAL 조각 파일: %s, LSN %X/%X, offset %u" -#: access/transam/xlog.c:10810 commands/tablespace.c:402 -#: commands/tablespace.c:566 replication/basebackup.c:1438 utils/adt/misc.c:350 +#: access/transam/xlogrecovery.c:3329 #, c-format -msgid "tablespaces are not supported on this platform" -msgstr "테이블스페이스 기능은 이 플랫폼에서는 지원하지 않습니다." +msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: %m" +msgstr "%s WAL 조각에서 읽기 실패, LSN %X/%X, offset %u: %m" -#: access/transam/xlog.c:10861 access/transam/xlog.c:10899 +#: access/transam/xlogrecovery.c:3336 #, c-format msgid "" -"If you're sure there is no backup in progress, remove file \"%s\" and try " -"again." -msgstr "" -"실재로는 백업 작업을 안하고 있다고 확신한다면, \"%s\" 파일을 삭제하고 다시 시" -"도해 보십시오." - -#: access/transam/xlog.c:11086 -#, c-format -msgid "exclusive backup not in progress" -msgstr "exclusive 백업 작업을 하지 않고 있습니다" - -#: access/transam/xlog.c:11113 -#, c-format -msgid "a backup is not in progress" -msgstr "현재 백업 작업을 하지 않고 있습니다" +"could not read from WAL segment %s, LSN %X/%X, offset %u: read %d of %zu" +msgstr "%s WAL 조각에서 읽기 실패, LSN %X/%X, offset %u: read %d / %zu" -#: access/transam/xlog.c:11199 access/transam/xlog.c:11212 -#: access/transam/xlog.c:11601 access/transam/xlog.c:11607 -#: access/transam/xlog.c:11655 access/transam/xlog.c:11728 -#: access/transam/xlogfuncs.c:692 +#: access/transam/xlogrecovery.c:3976 #, c-format -msgid "invalid data in file \"%s\"" -msgstr "\"%s\" 파일에 유효하지 않은 자료가 있습니다" +msgid "invalid checkpoint location" +msgstr "잘못된 checkpoint 위치" -#: access/transam/xlog.c:11216 replication/basebackup.c:1271 +#: access/transam/xlogrecovery.c:3986 #, c-format -msgid "the standby was promoted during online backup" -msgstr "대기 서버가 온라인 백업 중 주 서버로 전환되었습니다" +msgid "invalid checkpoint record" +msgstr "잘못된 checkpoint 레코드" -#: access/transam/xlog.c:11217 replication/basebackup.c:1272 +#: access/transam/xlogrecovery.c:3992 #, c-format -msgid "" -"This means that the backup being taken is corrupt and should not be used. " -"Try taking another online backup." -msgstr "" -"이런 경우, 해당 백업 자료가 손상되었을 가능성이 있습니다. 다른 백업본을 이용" -"하세요." +msgid "invalid resource manager ID in checkpoint record" +msgstr "checkpoint 레코드에서 잘못된 자원 관리자 ID 발견" -#: access/transam/xlog.c:11264 +#: access/transam/xlogrecovery.c:4000 #, c-format -msgid "" -"WAL generated with full_page_writes=off was replayed during online backup" -msgstr "" -"온라인 백업 도중 full_page_writes=off 설정으로 만들어진 WAL 내용이 재반영되었" -"습니다." +msgid "invalid xl_info in checkpoint record" +msgstr "checkpoint 레코드에서 잘못된 xl_info 발견" -#: access/transam/xlog.c:11384 +#: access/transam/xlogrecovery.c:4006 #, c-format -msgid "base backup done, waiting for required WAL segments to be archived" -msgstr "" -"베이스 백업이 끝났습니다. 필요한 WAL 조각 파일이 아카이브 되길 기다리고 있습" -"니다." +msgid "invalid length of checkpoint record" +msgstr "checkpoint 레코드 길이가 잘못되었음" -#: access/transam/xlog.c:11396 +#: access/transam/xlogrecovery.c:4060 #, c-format -msgid "" -"still waiting for all required WAL segments to be archived (%d seconds " -"elapsed)" -msgstr "" -"필요한 WAL 조각 파일 아카이빙이 완료되기를 계속 기다리고 있음 (%d초 경과)" +msgid "new timeline %u is not a child of database system timeline %u" +msgstr "요청한 %u 타임라인은 %u 데이터베이스 시스템 타임라인의 하위가 아님" -#: access/transam/xlog.c:11398 +#: access/transam/xlogrecovery.c:4074 #, 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." +"new timeline %u forked off current database system timeline %u before " +"current recovery point %X/%X" msgstr "" -"archive_command 설정을 살펴보세요. 이 백업 작업은 안전하게 취소 할 수 있지" -"만, 데이터베이스 백업은 모든 WAL 조각 없이는 사용될 수 없습니다." +"복구 위치까지 복구하기 전에 새 타임라인 %u번으로 분기됨, 기존 데이터베이스 타" +"임라인: %u, 기대한 복구 위치 %X/%X" -#: access/transam/xlog.c:11405 +#: access/transam/xlogrecovery.c:4093 #, c-format -msgid "all required WAL segments have been archived" -msgstr "모든 필요한 WAL 조각들이 아카이브 되었습니다." +msgid "new target timeline is %u" +msgstr "새 대상 타임라인: %u" -#: access/transam/xlog.c:11409 +#: access/transam/xlogrecovery.c:4296 #, 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 조각 파일들을 직접 찾아서 따로 보관해 두어야 바르게 복구 할 수 있습" -"니다." +msgid "WAL receiver process shutdown requested" +msgstr "WAL receiver 프로세스가 중지 요청을 받았습니다." -#: access/transam/xlog.c:11462 +#: access/transam/xlogrecovery.c:4356 #, c-format -msgid "aborting backup due to backend exiting before pg_stop_backup was called" -msgstr "" -"pg_stop_backup 작업이 호출되기 전에 백엔드가 종료되어 백업을 중지합니다." +msgid "received promote request" +msgstr "운영 전환 신호를 받았습니다." -#: access/transam/xlog.c:11638 +#: access/transam/xlogrecovery.c:4585 #, c-format -msgid "backup time %s in file \"%s\"" -msgstr "백업 시간: %s, 저장된 파일: \"%s\"" +msgid "hot standby is not possible because of insufficient parameter settings" +msgstr "불충분한 서버 설정으로 hot standby 서버를 운영할 수 없음" -#: access/transam/xlog.c:11643 +#: access/transam/xlogrecovery.c:4586 access/transam/xlogrecovery.c:4613 +#: access/transam/xlogrecovery.c:4643 #, c-format -msgid "backup label %s in file \"%s\"" -msgstr "백업 라벨: %s, 저장된 파일: \"%s\"" +msgid "" +"%s = %d is a lower setting than on the primary server, where its value was " +"%d." +msgstr "" +"이 서버의 현재 %s = %d 설정은 주 서버의 설정값(%d)보다 낮게 설정 되어 있기 때" +"문입니다." -#: access/transam/xlog.c:11656 +#: access/transam/xlogrecovery.c:4595 #, c-format -msgid "Timeline ID parsed is %u, but expected %u." -msgstr "타임라인 ID가 %u 값으로 분석했지만, 기대값은 %u 임" +msgid "If recovery is unpaused, the server will shut down." +msgstr "복원 후 멈춰 있을 수 없으면 서버는 종료될 것입니다." -#: access/transam/xlog.c:11660 +#: access/transam/xlogrecovery.c:4596 #, c-format -msgid "backup timeline %u in file \"%s\"" -msgstr "백업 타임라인: %u, 저장된 파일: \"%s\"" +msgid "" +"You can then restart the server after making the necessary configuration " +"changes." +msgstr "환경 설정을 바꾸어 서버를 다시 시작할 수 있습니다." -#. translator: %s is a WAL record description -#: access/transam/xlog.c:11768 +#: access/transam/xlogrecovery.c:4607 #, c-format -msgid "WAL redo at %X/%X for %s" -msgstr "WAL redo 위치: %X/%X, 대상: %s" +msgid "promotion is not possible because of insufficient parameter settings" +msgstr "운영 서버로 전환할 수 없습니다. 설정이 불충분합니다." -#: access/transam/xlog.c:11817 +#: access/transam/xlogrecovery.c:4617 #, c-format -msgid "online backup mode was not canceled" -msgstr "온라인 백업 모드가 취소되지 않았음" +msgid "Restart the server after making the necessary configuration changes." +msgstr "필요한 설정을 바꾸어 서버를 다시 시작하세요." -#: access/transam/xlog.c:11818 +#: access/transam/xlogrecovery.c:4641 #, c-format -msgid "File \"%s\" could not be renamed to \"%s\": %m." -msgstr "\"%s\" 파일을 \"%s\" 파일로 이름을 바꿀 수 없음: %m." +msgid "recovery aborted because of insufficient parameter settings" +msgstr "복원 작업이 불충분한 설정으로 중지 되었습니다." -#: access/transam/xlog.c:11827 access/transam/xlog.c:11839 -#: access/transam/xlog.c:11849 +#: access/transam/xlogrecovery.c:4647 #, c-format -msgid "online backup mode canceled" -msgstr "온라인 백업 모드가 취소됨" +msgid "" +"You can restart the server after making the necessary configuration changes." +msgstr "필요한 설정을 바꾸어 서버를 다시 시작할 수 있습니다." -#: access/transam/xlog.c:11840 +#: access/transam/xlogrecovery.c:4689 #, c-format -msgid "" -"Files \"%s\" and \"%s\" were renamed to \"%s\" and \"%s\", respectively." -msgstr "" -"예상한 것처럼, \"%s\", \"%s\" 파일을 \"%s\", \"%s\" 이름으로 바꿨습니다." +msgid "multiple recovery targets specified" +msgstr "복구 대상을 다중 지정했음" -#: access/transam/xlog.c:11850 +#: access/transam/xlogrecovery.c:4690 #, c-format msgid "" -"File \"%s\" was renamed to \"%s\", but file \"%s\" could not be renamed to " -"\"%s\": %m." +"At most one of recovery_target, recovery_target_lsn, recovery_target_name, " +"recovery_target_time, recovery_target_xid may be set." msgstr "" -"\"%s\" 파일은 \"%s\" 이름으로 바꿨지만, \"%s\" 파일은 \"%s\" 이름으로 바꾸지 " -"못했습니다: %m." +"recovery_target, recovery_target_lsn, recovery_target_name, " +"recovery_target_time, recovery_target_xid 이들 중 하나는 지정해야합니다." -#: access/transam/xlog.c:11983 access/transam/xlogutils.c:971 +#: access/transam/xlogrecovery.c:4701 #, c-format -msgid "could not read from log segment %s, offset %u: %m" -msgstr "%s 로그 조각에서 읽기 실패, 위치: %u: %m" +msgid "The only allowed value is \"immediate\"." +msgstr "이 값으로는 \"immediate\" 만 허용합니다." -#: access/transam/xlog.c:11989 access/transam/xlogutils.c:978 +#: access/transam/xlogrecovery.c:4853 utils/adt/timestamp.c:186 +#: utils/adt/timestamp.c:439 #, c-format -msgid "could not read from log segment %s, offset %u: read %d of %zu" -msgstr "%s 로그 조각에서 읽기 실패, 위치: %u, %d / %zu 읽음" +msgid "timestamp out of range: \"%s\"" +msgstr "타임스탬프 값이 범위를 벗어났음: \"%s\"" -#: access/transam/xlog.c:12518 +#: access/transam/xlogrecovery.c:4898 #, c-format -msgid "WAL receiver process shutdown requested" -msgstr "WAL receiver 프로세스가 중지 요청을 받았습니다." +msgid "recovery_target_timeline is not a valid number." +msgstr "recovery_target_timeline 값으로 잘못된 숫자입니다." -#: access/transam/xlog.c:12624 +#: access/transam/xlogutils.c:1039 #, c-format -msgid "received promote request" -msgstr "운영 전환 신호를 받았습니다." +msgid "could not read from WAL segment %s, offset %d: %m" +msgstr "%s WAL 조각에서 읽기 실패, offset %d: %m" -#: access/transam/xlog.c:12637 +#: access/transam/xlogutils.c:1046 #, c-format -msgid "promote trigger file found: %s" -msgstr "마스터 전환 트리거 파일이 있음: %s" +msgid "could not read from WAL segment %s, offset %d: read %d of %d" +msgstr "%s WAL 조각에서 읽기 실패, 위치: %d, %d 읽음(전체: %d)" -#: access/transam/xlog.c:12646 +#: archive/shell_archive.c:96 #, c-format -msgid "could not stat promote trigger file \"%s\": %m" -msgstr "\"%s\" 마스터 전환 트리거 파일의 상태값을 알 수 없음: %m" +msgid "archive command failed with exit code %d" +msgstr "아카이브 명령 실패, 종료 코드: %d" -#: access/transam/xlogarchive.c:205 +#: archive/shell_archive.c:98 archive/shell_archive.c:108 +#: archive/shell_archive.c:114 archive/shell_archive.c:123 #, c-format -msgid "archive file \"%s\" has wrong size: %lu instead of %lu" -msgstr "\"%s\" 기록 파일의 크기가 이상합니다: 현재값 %lu, 원래값 %lu" +msgid "The failed archive command was: %s" +msgstr "실패한 아카이브 명령: %s" -#: access/transam/xlogarchive.c:214 +#: archive/shell_archive.c:105 #, c-format -msgid "restored log file \"%s\" from archive" -msgstr "아카이브에서 \"%s\" 로그파일을 복구했음" +msgid "archive command was terminated by exception 0x%X" +msgstr "0x%X 예외로 인해 아카이브 명령이 종료됨" -#: access/transam/xlogarchive.c:259 +#: archive/shell_archive.c:107 postmaster/postmaster.c:3678 #, c-format -msgid "could not restore file \"%s\" from archive: %s" -msgstr "아카이브에서 \"%s\" 파일 복원 실패: %s" +msgid "" +"See C include file \"ntstatus.h\" for a description of the hexadecimal value." +msgstr "16진수 값에 대한 설명은 C 포함 파일 \"ntstatus.h\"를 참조하십시오." -#. 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:368 +#: archive/shell_archive.c:112 #, c-format -msgid "%s \"%s\": %s" -msgstr "%s \"%s\": %s" +msgid "archive command was terminated by signal %d: %s" +msgstr "%d번 시그널로 인해 아카이브 명령이 종료됨: %s" -#: access/transam/xlogarchive.c:478 access/transam/xlogarchive.c:542 +#: archive/shell_archive.c:121 #, c-format -msgid "could not create archive status file \"%s\": %m" -msgstr "\"%s\" archive status 파일을 만들 수 없습니다: %m" +msgid "archive command exited with unrecognized status %d" +msgstr "아카이브 명령이 인식할 수 없는 %d 상태로 종료됨" -#: access/transam/xlogarchive.c:486 access/transam/xlogarchive.c:550 +#: backup/backup_manifest.c:253 #, c-format -msgid "could not write archive status file \"%s\": %m" -msgstr "\"%s\" archive status 파일에 쓸 수 없습니다: %m" +msgid "expected end timeline %u but found timeline %u" +msgstr "%u 타임라인이 끝이어야하는데, %u 타임라인임" -#: access/transam/xlogfuncs.c:74 +#: backup/backup_manifest.c:277 #, c-format -msgid "a backup is already in progress in this session" -msgstr "이미 이 세션에서 백업 작업이 진행 중입니다" +msgid "expected start timeline %u but found timeline %u" +msgstr "시작 타임라인이 %u 여야하는데, %u 타임라인임" -#: access/transam/xlogfuncs.c:132 access/transam/xlogfuncs.c:213 +#: backup/backup_manifest.c:304 #, c-format -msgid "non-exclusive backup in progress" -msgstr "non-exclusive 백업 진행 중입니다" +msgid "start timeline %u not found in history of timeline %u" +msgstr "%u 시작 타임라인이 %u 타임라인 내역안에 없음" -#: access/transam/xlogfuncs.c:133 access/transam/xlogfuncs.c:214 +#: backup/backup_manifest.c:355 #, c-format -msgid "Did you mean to use pg_stop_backup('f')?" -msgstr "pg_stop_backup('f') 형태로 함수를 호출했나요?" +msgid "could not rewind temporary file" +msgstr "임시 파일을 되감을 수 없음" -#: access/transam/xlogfuncs.c:185 commands/event_trigger.c:1332 -#: commands/event_trigger.c:1890 commands/extension.c:1944 -#: commands/extension.c:2052 commands/extension.c:2337 commands/prepare.c:712 -#: executor/execExpr.c:2203 executor/execSRF.c:728 executor/functions.c:1046 -#: foreign/foreign.c:520 libpq/hba.c:2666 replication/logical/launcher.c:1086 -#: replication/logical/logicalfuncs.c:157 replication/logical/origin.c:1486 -#: replication/slotfuncs.c:252 replication/walsender.c:3265 -#: storage/ipc/shmem.c:550 utils/adt/datetime.c:4765 utils/adt/genfile.c:505 -#: utils/adt/genfile.c:588 utils/adt/jsonfuncs.c:1792 -#: utils/adt/jsonfuncs.c:1904 utils/adt/jsonfuncs.c:2092 -#: utils/adt/jsonfuncs.c:2201 utils/adt/jsonfuncs.c:3663 utils/adt/misc.c:215 -#: utils/adt/pgstatfuncs.c:476 utils/adt/pgstatfuncs.c:584 -#: utils/adt/pgstatfuncs.c:1719 utils/fmgr/funcapi.c:72 utils/misc/guc.c:9648 -#: utils/mmgr/portalmem.c:1136 +#: backup/basebackup.c:470 #, c-format -msgid "set-valued function called in context that cannot accept a set" -msgstr "" -"set-values 함수(테이블 리턴 함수)가 set 정의 없이 사용되었습니다 (테이블과 해" -"당 열 alias 지정하세요)" +msgid "could not find any WAL files" +msgstr "어떤 WAL 파일도 찾을 수 없음" -#: access/transam/xlogfuncs.c:189 commands/event_trigger.c:1336 -#: commands/event_trigger.c:1894 commands/extension.c:1948 -#: commands/extension.c:2056 commands/extension.c:2341 commands/prepare.c:716 -#: foreign/foreign.c:525 libpq/hba.c:2670 replication/logical/launcher.c:1090 -#: replication/logical/logicalfuncs.c:161 replication/logical/origin.c:1490 -#: replication/slotfuncs.c:256 replication/walsender.c:3269 -#: storage/ipc/shmem.c:554 utils/adt/datetime.c:4769 utils/adt/genfile.c:509 -#: utils/adt/genfile.c:592 utils/adt/misc.c:219 utils/adt/pgstatfuncs.c:480 -#: utils/adt/pgstatfuncs.c:588 utils/adt/pgstatfuncs.c:1723 -#: utils/misc/guc.c:9652 utils/misc/pg_config.c:43 utils/mmgr/portalmem.c:1140 +#: backup/basebackup.c:485 backup/basebackup.c:500 backup/basebackup.c:509 #, c-format -msgid "materialize mode required, but it is not allowed in this context" -msgstr "materialize 모드가 필요합니다만, 이 구문에서는 허용되지 않습니다" +msgid "could not find WAL file \"%s\"" +msgstr "\"%s\" WAL 파일 찾기 실패" -#: access/transam/xlogfuncs.c:230 +#: backup/basebackup.c:551 backup/basebackup.c:576 #, c-format -msgid "non-exclusive backup is not in progress" -msgstr "non-exclusive 백업 상태가 아닙니다" +msgid "unexpected WAL file size \"%s\"" +msgstr "\"%s\" WAL 파일의 크기가 알맞지 않음" -#: access/transam/xlogfuncs.c:231 +#: backup/basebackup.c:646 #, c-format -msgid "Did you mean to use pg_stop_backup('t')?" -msgstr "pg_stop_backup('t') 형태로 함수를 호출했나요?" +msgid "%lld total checksum verification failure" +msgid_plural "%lld total checksum verification failures" +msgstr[0] "%lld 전체 체크섬 검사 실패" -#: access/transam/xlogfuncs.c:307 +#: backup/basebackup.c:653 #, c-format -msgid "WAL level not sufficient for creating a restore point" -msgstr "WAL 수준이 복원 위치를 만들 수 없는 수준입니다" +msgid "checksum verification failure during base backup" +msgstr "베이스 백업 중 체크섬 검사 실패" -#: access/transam/xlogfuncs.c:315 +#: backup/basebackup.c:722 backup/basebackup.c:731 backup/basebackup.c:742 +#: backup/basebackup.c:759 backup/basebackup.c:768 backup/basebackup.c:779 +#: backup/basebackup.c:796 backup/basebackup.c:805 backup/basebackup.c:817 +#: backup/basebackup.c:841 backup/basebackup.c:855 backup/basebackup.c:866 +#: backup/basebackup.c:877 backup/basebackup.c:890 #, c-format -msgid "value too long for restore point (maximum %d characters)" -msgstr "복원 위치 이름이 너무 깁니다. (최대값, %d 글자)" +msgid "duplicate option \"%s\"" +msgstr "\"%s\" 옵션을 두 번 지정했습니다" -#: access/transam/xlogfuncs.c:453 access/transam/xlogfuncs.c:510 +#: backup/basebackup.c:750 #, c-format -msgid "%s cannot be executed during recovery." -msgstr "복구 작업 중에는 %s 명령을 실행할 수 없습니다." +msgid "unrecognized checkpoint type: \"%s\"" +msgstr "알 수 없는 체크포인트 종류: \"%s\"" -#: access/transam/xlogfuncs.c:531 access/transam/xlogfuncs.c:558 -#: access/transam/xlogfuncs.c:582 access/transam/xlogfuncs.c:722 +#: backup/basebackup.c:785 #, c-format -msgid "recovery is not in progress" -msgstr "현재 복구 작업 상태가 아닙니다" +msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)" +msgstr "" +"%d 값은 \"%s\" 매개 변수의 값으로 타당한 범위(%d .. %d)를 벗어났습니다." -#: access/transam/xlogfuncs.c:532 access/transam/xlogfuncs.c:559 -#: access/transam/xlogfuncs.c:583 access/transam/xlogfuncs.c:723 +#: backup/basebackup.c:830 #, c-format -msgid "Recovery control functions can only be executed during recovery." -msgstr "복구 제어 함수는 복구 작업일 때만 실행할 수 있습니다." +msgid "unrecognized manifest option: \"%s\"" +msgstr "인식할 수 없는 메니페스트 옵션 \"%s\"" -#: access/transam/xlogfuncs.c:537 access/transam/xlogfuncs.c:564 +#: backup/basebackup.c:846 #, c-format -msgid "standby promotion is ongoing" -msgstr "대기 서버가 운영 서버로 전환 중입니다." +msgid "unrecognized checksum algorithm: \"%s\"" +msgstr "알 수 없는 체크섬 알고리즘: \"%s\"" -#: access/transam/xlogfuncs.c:538 access/transam/xlogfuncs.c:565 +#: backup/basebackup.c:881 #, c-format -msgid "%s cannot be executed after promotion is triggered." -msgstr "%s 함수는 운영 전환 중에는 실행될 수 없음." +msgid "unrecognized compression algorithm: \"%s\"" +msgstr "알 수 없는 압축 알고리즘: \"%s\"" -#: access/transam/xlogfuncs.c:728 +#: backup/basebackup.c:897 #, c-format -msgid "\"wait_seconds\" must not be negative or zero" -msgstr "\"wait_seconds\" 값은 음수나 0을 사용할 수 없음" +msgid "unrecognized base backup option: \"%s\"" +msgstr "인식할 수 없는 베이스 백업 옵션: \"%s\"" -#: access/transam/xlogfuncs.c:748 storage/ipc/signalfuncs.c:164 +#: backup/basebackup.c:908 #, c-format -msgid "failed to send signal to postmaster: %m" -msgstr "postmaster로 시그널 보내기 실패: %m" +msgid "manifest checksums require a backup manifest" +msgstr "매니페스트 체크섬은 하나의 백업 메니페스트를 필요로 함" -#: access/transam/xlogfuncs.c:784 +#: backup/basebackup.c:917 #, c-format -msgid "server did not promote within %d seconds" -msgstr "%d 초 이내에 운영 전환을 하지 못했습니다." +msgid "target detail cannot be used without target" +msgstr "타켓 지정 없이 타켓 세부정보를 지정할 수 없음" -#: access/transam/xlogreader.c:349 +#: backup/basebackup.c:926 backup/basebackup_target.c:218 #, c-format -msgid "invalid record offset at %X/%X" -msgstr "잘못된 레코드 위치: %X/%X" +msgid "target \"%s\" does not accept a target detail" +msgstr "\"%s\" 타켓은 타켓 세부정보를 지정할 수 없음" -#: access/transam/xlogreader.c:357 +#: backup/basebackup.c:937 #, c-format -msgid "contrecord is requested by %X/%X" -msgstr "%X/%X에서 contrecord를 필요로 함" +msgid "compression detail cannot be specified unless compression is enabled" +msgstr "압축을 사용하지 않으면 압축 세부 정보를 지정할 수 없음" -#: access/transam/xlogreader.c:398 access/transam/xlogreader.c:695 +#: backup/basebackup.c:950 #, c-format -msgid "invalid record length at %X/%X: wanted %u, got %u" -msgstr "잘못된 레코드 길이: %X/%X, 기대값 %u, 실재값 %u" +msgid "invalid compression specification: %s" +msgstr "잘못된 압축 명세: %s" -#: access/transam/xlogreader.c:422 +#: backup/basebackup.c:1116 backup/basebackup.c:1294 #, c-format -msgid "record length %u at %X/%X too long" -msgstr "너무 긴 길이(%u)의 레코드가 %X/%X에 있음" +msgid "could not stat file or directory \"%s\": %m" +msgstr "파일 또는 디렉터리 \"%s\"의 상태를 확인할 수 없음: %m" -#: access/transam/xlogreader.c:454 +#: backup/basebackup.c:1430 #, c-format -msgid "there is no contrecord flag at %X/%X" -msgstr "%X/%X 위치에 contrecord 플래그가 없음" +msgid "skipping special file \"%s\"" +msgstr "\"%s\" 특수 파일을 건너뜀" -#: access/transam/xlogreader.c:467 +#: backup/basebackup.c:1542 #, c-format -msgid "invalid contrecord length %u at %X/%X" -msgstr "잘못된 contrecord 길이 %u, 위치 %X/%X" +msgid "invalid segment number %d in file \"%s\"" +msgstr "잘못된 조각 번호 %d, 해당 파일: \"%s\"" -#: access/transam/xlogreader.c:703 +#: backup/basebackup.c:1574 #, c-format -msgid "invalid resource manager ID %u at %X/%X" -msgstr "잘못된 자원 관리 ID %u, 위치: %X/%X" +msgid "" +"could not verify checksum in file \"%s\", block %u: read buffer size %d and " +"page size %d differ" +msgstr "" +"\"%s\" 파일(%u 블록)에서 체크섬 검사 실패: 읽기 버퍼(%d)와 페이지 크기(%d)가 " +"서로 다름" -#: access/transam/xlogreader.c:717 access/transam/xlogreader.c:734 +#: backup/basebackup.c:1658 #, c-format -msgid "record with incorrect prev-link %X/%X at %X/%X" -msgstr "레코드의 잘못된 프리링크 %X/%X, 해당 레코드 %X/%X" +msgid "" +"checksum verification failed in file \"%s\", block %u: calculated %X but " +"expected %X" +msgstr "" +"\"%s\" 파일 체크섬 검사 실패(해당 블럭 %u): 계산된 체크섬 %X (기대값 %X)" -#: access/transam/xlogreader.c:771 +#: backup/basebackup.c:1665 #, c-format -msgid "incorrect resource manager data checksum in record at %X/%X" -msgstr "잘못된 자원관리자 데이터 체크섬, 위치: %X/%X 레코드" +msgid "" +"further checksum verification failures in file \"%s\" will not be reported" +msgstr "" +"계속해서 발생하는 \"%s\"에서의 체크섬 검사 실패는 더 이상 보고하지 않을 것입" +"니다." -#: access/transam/xlogreader.c:808 +#: backup/basebackup.c:1721 #, c-format -msgid "invalid magic number %04X in log segment %s, offset %u" -msgstr "%04X 매직 번호가 잘못됨, 로그 파일 %s, 위치 %u" +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 건 체크섬 검사 실패" -#: access/transam/xlogreader.c:822 access/transam/xlogreader.c:863 +#: backup/basebackup.c:1767 #, c-format -msgid "invalid info bits %04X in log segment %s, offset %u" -msgstr "잘못된 정보 비트 %04X, 로그 파일 %s, 위치 %u" +msgid "file name too long for tar format: \"%s\"" +msgstr "tar 파일로 묶기에는 파일 이름이 너무 긺: \"%s\"" -#: access/transam/xlogreader.c:837 +#: backup/basebackup.c:1772 #, c-format msgid "" -"WAL file is from different database system: WAL file database system " -"identifier is %llu, pg_control database system identifier is %llu" +"symbolic link target too long for tar format: file name \"%s\", target \"%s\"" msgstr "" -"WAL 파일이 다른 시스템의 것입니다. WAL 파일의 시스템 식별자는 %llu, pg_control " -"의 식별자는 %llu" +"tar 포멧을 사용하기에는 심볼릭 링크의 대상 경로가 너무 깁니다: 파일 이름 \"%s" +"\", 대상 \"%s\"" -#: access/transam/xlogreader.c:845 +#: backup/basebackup_gzip.c:67 #, c-format -msgid "" -"WAL file is from different database system: incorrect segment size in page " -"header" -msgstr "" -"WAL 파일이 다른 데이터베이스 시스템의 것입니다: 페이지 헤더에 지정된 값이 잘" -"못된 조각 크기임" +msgid "gzip compression is not supported by this build" +msgstr "gzip 압축 기능을 뺀 채로 서버가 만들어졌습니다." -#: access/transam/xlogreader.c:851 +#: backup/basebackup_gzip.c:143 #, c-format -msgid "" -"WAL file is from different database system: incorrect XLOG_BLCKSZ in page " -"header" -msgstr "" -"WAL 파일이 다른 데이터베이스 시스템의 것입니다: 페이지 헤더의 XLOG_BLCKSZ 값" -"이 바르지 않음" +msgid "could not initialize compression library" +msgstr "압축 라이브러리를 초기화할 수 없음" -#: access/transam/xlogreader.c:882 +#: backup/basebackup_lz4.c:67 #, c-format -msgid "unexpected pageaddr %X/%X in log segment %s, offset %u" -msgstr "잘못된 페이지 주소 %X/%X, 로그 파일 %s, 위치 %u" +msgid "lz4 compression is not supported by this build" +msgstr "lz4 기능을 뺀 채로 서버가 만들어졌습니다." -#: access/transam/xlogreader.c:907 +#: backup/basebackup_server.c:75 #, c-format -msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u" -msgstr "타임라인 범위 벗어남 %u (이전 번호 %u), 로그 파일 %s, 위치 %u" +msgid "permission denied to create backup stored on server" +msgstr "서버에 백업본을 만들기 위한 권한 없음" -#: access/transam/xlogreader.c:1247 +#: backup/basebackup_server.c:76 #, c-format -msgid "out-of-order block_id %u at %X/%X" -msgstr "%u block_id는 범위를 벗어남, 위치 %X/%X" +msgid "" +"Only roles with privileges of the \"%s\" role may create a backup stored on " +"the server." +msgstr "서버에 백업 결과를 파일로 저장하려면, \"%s\" 롤 구성원이어야 합니다." -#: access/transam/xlogreader.c:1270 +#: backup/basebackup_server.c:91 #, c-format -msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X" -msgstr "BKPBLOCK_HAS_DATA 지정했지만, %X/%X 에 자료가 없음" +msgid "relative path not allowed for backup stored on server" +msgstr "백업을 서버에 저장할 경로 이름으로 상대경로는 사용할 수 없습니다" -#: access/transam/xlogreader.c:1277 +#: 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 #, c-format -msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X" -msgstr "BKPBLOCK_HAS_DATA 지정 않았지만, %u 길이의 자료가 있음, 위치 %X/%X" +msgid "could not create directory \"%s\": %m" +msgstr "\"%s\" 디렉터리를 만들 수 없음: %m" -#: access/transam/xlogreader.c:1313 +#: backup/basebackup_server.c:117 #, c-format -msgid "" -"BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at " -"%X/%X" -msgstr "" -"BKPIMAGE_HAS_HOLE 설정이 되어 있지만, 옵셋: %u, 길이: %u, 블록 이미지 길이: " -"%u, 대상: %X/%X" +msgid "directory \"%s\" exists but is not empty" +msgstr "\"%s\" 디렉터리가 비어있지 않습니다." -#: access/transam/xlogreader.c:1329 +#: backup/basebackup_server.c:125 utils/init/postinit.c:1164 #, c-format -msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X" -msgstr "" -"BKPIMAGE_HAS_HOLE 설정이 안되어 있지만, 옵셋: %u, 길이: %u, 대상: %X/%X" +msgid "could not access directory \"%s\": %m" +msgstr "\"%s\" 디렉터리를 액세스할 수 없습니다: %m" -#: access/transam/xlogreader.c:1344 +#: backup/basebackup_server.c:177 backup/basebackup_server.c:184 +#: backup/basebackup_server.c:270 backup/basebackup_server.c:277 +#: storage/smgr/md.c:504 storage/smgr/md.c:511 storage/smgr/md.c:593 +#: storage/smgr/md.c:615 storage/smgr/md.c:865 #, c-format -msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X" -msgstr "" -"BKPIMAGE_IS_COMPRESSED 설정이 되어 있지만, 블록 이미지 길이: %u, 대상: %X/%X" +msgid "Check free disk space." +msgstr "디스크 여유 공간을 확인해 주십시오." -#: access/transam/xlogreader.c:1359 +#: backup/basebackup_server.c:181 backup/basebackup_server.c:274 #, c-format -msgid "" -"neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image " -"length is %u at %X/%X" -msgstr "" -"BKPIMAGE_HAS_HOLE, BKPIMAGE_IS_COMPRESSED 지정 안되어 있으나, 블록 이미지 길" -"이는 %u, 대상: %X/%X" +msgid "could not write file \"%s\": wrote only %d of %d bytes at offset %u" +msgstr "\"%s\" 파일 쓰기 실패: %d 바이트만 썼음(전체: %d), 해당 블록: %u" -#: access/transam/xlogreader.c:1375 +#: backup/basebackup_target.c:146 #, c-format -msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X" -msgstr "BKPBLOCK_SAME_REL 설정이 되어 있지만, %X/%X 에 이전 릴레이션 없음" +msgid "unrecognized target: \"%s\"" +msgstr "알 수 없는 타겟: \"%s\"" -#: access/transam/xlogreader.c:1387 +#: backup/basebackup_target.c:237 #, c-format -msgid "invalid block_id %u at %X/%X" -msgstr "잘못된 block_id %u, 위치 %X/%X" +msgid "target \"%s\" requires a target detail" +msgstr "\"%s\" 타겟은 타겟 세부 설정이 필요합니다." -#: access/transam/xlogreader.c:1476 +#: backup/basebackup_zstd.c:66 #, c-format -msgid "record with invalid length at %X/%X" -msgstr "잘못된 레코드 길이, 위치 %X/%X" +msgid "zstd compression is not supported by this build" +msgstr "zstd 압축 기능을 뺀 채로 서버가 만들어졌습니다." -#: access/transam/xlogreader.c:1565 +#: backup/basebackup_zstd.c:117 #, c-format -msgid "invalid compressed image at %X/%X, block %d" -msgstr "잘못된 압축 이미지, 위치 %X/%X, 블록 %d" +msgid "could not set compression worker count to %d: %s" +msgstr "압축 작업자 수를 %d 값으로 지정할 수 없음: %s" -#: bootstrap/bootstrap.c:271 +#: backup/basebackup_zstd.c:129 #, c-format -msgid "-X requires a power of two value between 1 MB and 1 GB" -msgstr "-X 값은 1 MB ~ 1 GB 사이 2^n 값이어야 함" +msgid "could not enable long-distance mode: %s" +msgstr "long-distance 모드를 활성화 할 수 없음: %s" -#: bootstrap/bootstrap.c:288 postmaster/postmaster.c:842 tcop/postgres.c:3705 +#: bootstrap/bootstrap.c:243 postmaster/postmaster.c:721 tcop/postgres.c:3819 #, c-format msgid "--%s requires a value" -msgstr "--%s 옵션은 해당 값을 지정해야합니다" +msgstr "--%s 옵션은 해당 값을 지정해야 합니다" -#: bootstrap/bootstrap.c:293 postmaster/postmaster.c:847 tcop/postgres.c:3710 +#: bootstrap/bootstrap.c:248 postmaster/postmaster.c:726 tcop/postgres.c:3824 #, c-format msgid "-c %s requires a value" -msgstr "-c %s 옵션은 해당 값을 지정해야합니다" +msgstr "-c %s 옵션은 해당 값을 지정해야 합니다" + +#: bootstrap/bootstrap.c:289 +#, c-format +msgid "-X requires a power of two value between 1 MB and 1 GB" +msgstr "-X 값은 1 MB ~ 1 GB 사이 2^n 값이어야 함" -#: bootstrap/bootstrap.c:304 postmaster/postmaster.c:859 -#: postmaster/postmaster.c:872 +#: bootstrap/bootstrap.c:295 postmaster/postmaster.c:844 +#: postmaster/postmaster.c:857 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "자제한 사항은 \"%s --help\" 명령으로 살펴보십시오.\n" -#: bootstrap/bootstrap.c:313 +#: bootstrap/bootstrap.c:304 #, c-format msgid "%s: invalid command-line arguments\n" msgstr "%s: 잘못된 명령행 인자\n" -#: catalog/aclchk.c:181 +#: catalog/aclchk.c:201 #, c-format msgid "grant options can only be granted to roles" msgstr "grant 옵션들은 롤에서만 지정될 수 있습니다" -#: catalog/aclchk.c:300 +#: catalog/aclchk.c:323 #, c-format msgid "no privileges were granted for column \"%s\" of relation \"%s\"" msgstr "\"%s\" 칼럼(해당 릴레이션: \"%s\")에 대한 권한이 부여되지 않았음" -#: catalog/aclchk.c:305 +#: catalog/aclchk.c:328 #, c-format msgid "no privileges were granted for \"%s\"" msgstr "\"%s\"에 대한 권한이 부여되지 않았음" -#: catalog/aclchk.c:313 +#: catalog/aclchk.c:336 #, c-format msgid "not all privileges were granted for column \"%s\" of relation \"%s\"" msgstr "\"%s\" 칼럼(해당 릴레이션: \"%s\")에 대한 일부 권한이 부여되지 않았음" -#: catalog/aclchk.c:318 +#: catalog/aclchk.c:341 #, c-format msgid "not all privileges were granted for \"%s\"" msgstr "\"%s\"에 대한 일부 권한이 부여되지 않았음" -#: catalog/aclchk.c:329 +#: catalog/aclchk.c:352 #, c-format msgid "no privileges could be revoked for column \"%s\" of relation \"%s\"" msgstr "\"%s\" 칼럼(해당 릴레이션: \"%s\")에 대한 권한을 취소할 수 없음" -#: catalog/aclchk.c:334 +#: catalog/aclchk.c:357 #, c-format msgid "no privileges could be revoked for \"%s\"" msgstr "\"%s\"에 대한 권한을 취소할 수 없음" -#: catalog/aclchk.c:342 +#: catalog/aclchk.c:365 #, c-format msgid "" "not all privileges could be revoked for column \"%s\" of relation \"%s\"" msgstr "\"%s\" 칼럼(해당 릴레이션: \"%s\")의 일부 권한을 박탈할 수 없음" -#: catalog/aclchk.c:347 +#: catalog/aclchk.c:370 #, c-format msgid "not all privileges could be revoked for \"%s\"" msgstr "\"%s\"에 대한 일부 권한을 취소할 수 없음" -#: catalog/aclchk.c:430 catalog/aclchk.c:973 +#: catalog/aclchk.c:402 +#, c-format +msgid "grantor must be current user" +msgstr "권한 수여자는 현재 사용자여야합니다" + +#: catalog/aclchk.c:470 catalog/aclchk.c:1045 #, c-format msgid "invalid privilege type %s for relation" msgstr "릴레이션의 %s 권한은 잘못된 종류임" -#: catalog/aclchk.c:434 catalog/aclchk.c:977 +#: catalog/aclchk.c:474 catalog/aclchk.c:1049 #, c-format msgid "invalid privilege type %s for sequence" msgstr "시퀀스의 %s 권한은 잘못된 종류임" -#: catalog/aclchk.c:438 +#: catalog/aclchk.c:478 #, c-format msgid "invalid privilege type %s for database" msgstr "%s 권한은 데이터베이스에는 사용할 수 없은 권한 형태임" -#: catalog/aclchk.c:442 +#: catalog/aclchk.c:482 #, c-format msgid "invalid privilege type %s for domain" msgstr "%s 권한은 도메인에서 유효하지 않음" -#: catalog/aclchk.c:446 catalog/aclchk.c:981 +#: catalog/aclchk.c:486 catalog/aclchk.c:1053 #, c-format msgid "invalid privilege type %s for function" msgstr "%s 권한은 함수에서 사용할 수 없은 권한 형태임" -#: catalog/aclchk.c:450 +#: catalog/aclchk.c:490 #, c-format msgid "invalid privilege type %s for language" msgstr "%s 권한은 프로시주얼 언어에서 사용할 수 없은 권한 형태임" -#: catalog/aclchk.c:454 +#: catalog/aclchk.c:494 #, c-format msgid "invalid privilege type %s for large object" msgstr "%s 권한은 대형 개체에서 사용할 수 없은 권한 형태임" -#: catalog/aclchk.c:458 catalog/aclchk.c:997 +#: catalog/aclchk.c:498 catalog/aclchk.c:1069 #, c-format msgid "invalid privilege type %s for schema" msgstr "%s 권한은 스키마(schema)에서 사용할 수 없은 권한 형태임" -#: catalog/aclchk.c:462 catalog/aclchk.c:985 +#: catalog/aclchk.c:502 catalog/aclchk.c:1057 #, c-format msgid "invalid privilege type %s for procedure" msgstr "프로시져용 %s 권한 종류가 잘못됨" -#: catalog/aclchk.c:466 catalog/aclchk.c:989 +#: catalog/aclchk.c:506 catalog/aclchk.c:1061 #, c-format msgid "invalid privilege type %s for routine" msgstr "루틴용 %s 권한 종류가 잘못됨" -#: catalog/aclchk.c:470 +#: catalog/aclchk.c:510 #, c-format msgid "invalid privilege type %s for tablespace" msgstr "%s 권한은 테이블스페이스에서 사용할 수 없은 권한 형태임" -#: catalog/aclchk.c:474 catalog/aclchk.c:993 +#: catalog/aclchk.c:514 catalog/aclchk.c:1065 #, c-format msgid "invalid privilege type %s for type" msgstr "%s 권한은 자료형에서 사용할 수 없은 권한 형태임" -#: catalog/aclchk.c:478 +#: catalog/aclchk.c:518 #, c-format msgid "invalid privilege type %s for foreign-data wrapper" msgstr "%s 권한 형식은 외부 데이터 래퍼에 유효하지 않음" -#: catalog/aclchk.c:482 +#: catalog/aclchk.c:522 #, c-format msgid "invalid privilege type %s for foreign server" msgstr "%s 권한 형식은 외부 서버에 유효하지 않음" -#: catalog/aclchk.c:521 +#: catalog/aclchk.c:526 +#, c-format +msgid "invalid privilege type %s for parameter" +msgstr "잘못된 환경 설정 매개 변수용 권한 형태: %s" + +#: catalog/aclchk.c:565 #, c-format msgid "column privileges are only valid for relations" msgstr "칼럼 권한은 릴레이션에서만 유효함" -#: catalog/aclchk.c:681 catalog/aclchk.c:4100 catalog/aclchk.c:4882 -#: catalog/objectaddress.c:965 catalog/pg_largeobject.c:116 -#: storage/large_object/inv_api.c:285 +#: catalog/aclchk.c:728 catalog/aclchk.c:3555 catalog/objectaddress.c:1092 +#: catalog/pg_largeobject.c:116 storage/large_object/inv_api.c:287 #, c-format msgid "large object %u does not exist" msgstr "%u large object 없음" -#: catalog/aclchk.c:910 catalog/aclchk.c:919 commands/collationcmds.c:118 -#: commands/copy.c:1134 commands/copy.c:1154 commands/copy.c:1163 -#: commands/copy.c:1172 commands/copy.c:1181 commands/copy.c:1190 -#: commands/copy.c:1199 commands/copy.c:1208 commands/copy.c:1226 -#: commands/copy.c:1242 commands/copy.c:1262 commands/copy.c:1279 -#: commands/dbcommands.c:157 commands/dbcommands.c:166 -#: commands/dbcommands.c:175 commands/dbcommands.c:184 -#: commands/dbcommands.c:193 commands/dbcommands.c:202 -#: commands/dbcommands.c:211 commands/dbcommands.c:220 -#: commands/dbcommands.c:229 commands/dbcommands.c:238 -#: commands/dbcommands.c:260 commands/dbcommands.c:1502 -#: commands/dbcommands.c:1511 commands/dbcommands.c:1520 -#: commands/dbcommands.c:1529 commands/extension.c:1735 -#: commands/extension.c:1745 commands/extension.c:1755 -#: commands/extension.c:3055 commands/foreigncmds.c:539 -#: commands/foreigncmds.c:548 commands/functioncmds.c:570 -#: commands/functioncmds.c:736 commands/functioncmds.c:745 -#: commands/functioncmds.c:754 commands/functioncmds.c:763 -#: commands/functioncmds.c:2014 commands/functioncmds.c:2022 -#: commands/publicationcmds.c:90 commands/publicationcmds.c:133 -#: commands/sequence.c:1267 commands/sequence.c:1277 commands/sequence.c:1287 -#: commands/sequence.c:1297 commands/sequence.c:1307 commands/sequence.c:1317 -#: commands/sequence.c:1327 commands/sequence.c:1337 commands/sequence.c:1347 -#: commands/subscriptioncmds.c:104 commands/subscriptioncmds.c:114 -#: commands/subscriptioncmds.c:124 commands/subscriptioncmds.c:134 -#: commands/subscriptioncmds.c:148 commands/subscriptioncmds.c:159 -#: commands/subscriptioncmds.c:173 commands/tablecmds.c:7102 -#: commands/typecmds.c:322 commands/typecmds.c:1355 commands/typecmds.c:1364 -#: commands/typecmds.c:1372 commands/typecmds.c:1380 commands/typecmds.c:1388 -#: commands/user.c:133 commands/user.c:147 commands/user.c:156 -#: commands/user.c:165 commands/user.c:174 commands/user.c:183 -#: commands/user.c:192 commands/user.c:201 commands/user.c:210 -#: commands/user.c:219 commands/user.c:228 commands/user.c:237 -#: commands/user.c:246 commands/user.c:582 commands/user.c:590 -#: commands/user.c:598 commands/user.c:606 commands/user.c:614 -#: commands/user.c:622 commands/user.c:630 commands/user.c:638 -#: commands/user.c:647 commands/user.c:655 commands/user.c:663 -#: parser/parse_utilcmd.c:387 replication/pgoutput/pgoutput.c:141 -#: replication/pgoutput/pgoutput.c:162 replication/walsender.c:886 -#: replication/walsender.c:897 replication/walsender.c:907 -#, c-format -msgid "conflicting or redundant options" -msgstr "상충하거나 중복된 옵션들" - -#: catalog/aclchk.c:1030 +#: catalog/aclchk.c:1102 #, c-format msgid "default privileges cannot be set for columns" msgstr "default privileges 설정은 칼럼 대상으로 할 수 없음" -#: catalog/aclchk.c:1190 +#: catalog/aclchk.c:1138 +#, c-format +msgid "permission denied to change default privileges" +msgstr "default privileges 변경 권한 없음" + +#: catalog/aclchk.c:1256 #, c-format msgid "cannot use IN SCHEMA clause when using GRANT/REVOKE ON SCHEMAS" msgstr "GRANT/REVOKE ON SCHEMAS 구문을 쓸 때는 IN SCHEMA 구문을 쓸 수 없음" -#: catalog/aclchk.c:1558 catalog/catalog.c:506 catalog/objectaddress.c:1427 -#: commands/analyze.c:389 commands/copy.c:5080 commands/sequence.c:1702 -#: commands/tablecmds.c:6578 commands/tablecmds.c:6721 -#: commands/tablecmds.c:6771 commands/tablecmds.c:6845 -#: commands/tablecmds.c:6915 commands/tablecmds.c:7027 -#: commands/tablecmds.c:7121 commands/tablecmds.c:7180 -#: commands/tablecmds.c:7253 commands/tablecmds.c:7282 -#: commands/tablecmds.c:7437 commands/tablecmds.c:7519 -#: commands/tablecmds.c:7612 commands/tablecmds.c:7767 -#: commands/tablecmds.c:10972 commands/tablecmds.c:11154 -#: commands/tablecmds.c:11314 commands/tablecmds.c:12397 commands/trigger.c:876 -#: parser/analyze.c:2339 parser/parse_relation.c:713 parser/parse_target.c:1036 -#: parser/parse_type.c:144 parser/parse_utilcmd.c:3289 -#: parser/parse_utilcmd.c:3324 parser/parse_utilcmd.c:3366 utils/adt/acl.c:2870 -#: utils/adt/ruleutils.c:2535 +#: catalog/aclchk.c:1595 catalog/catalog.c:631 catalog/objectaddress.c:1561 +#: catalog/pg_publication.c:533 commands/analyze.c:390 commands/copy.c:837 +#: commands/sequence.c:1663 commands/tablecmds.c:7339 commands/tablecmds.c:7495 +#: commands/tablecmds.c:7545 commands/tablecmds.c:7619 +#: commands/tablecmds.c:7689 commands/tablecmds.c:7801 +#: commands/tablecmds.c:7895 commands/tablecmds.c:7954 +#: commands/tablecmds.c:8043 commands/tablecmds.c:8073 +#: commands/tablecmds.c:8201 commands/tablecmds.c:8283 +#: commands/tablecmds.c:8417 commands/tablecmds.c:8525 +#: commands/tablecmds.c:12240 commands/tablecmds.c:12421 +#: commands/tablecmds.c:12582 commands/tablecmds.c:13744 +#: commands/tablecmds.c:16273 commands/trigger.c:949 parser/analyze.c:2518 +#: parser/parse_relation.c:737 parser/parse_target.c:1054 +#: parser/parse_type.c:144 parser/parse_utilcmd.c:3413 +#: parser/parse_utilcmd.c:3449 parser/parse_utilcmd.c:3491 utils/adt/acl.c:2876 +#: utils/adt/ruleutils.c:2799 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" msgstr "\"%s\" 칼럼은 \"%s\" 릴레이션(relation)에 없음" -#: catalog/aclchk.c:1821 catalog/objectaddress.c:1267 commands/sequence.c:1140 -#: commands/tablecmds.c:236 commands/tablecmds.c:15706 utils/adt/acl.c:2060 -#: utils/adt/acl.c:2090 utils/adt/acl.c:2122 utils/adt/acl.c:2154 -#: utils/adt/acl.c:2182 utils/adt/acl.c:2212 +#: catalog/aclchk.c:1840 +#, c-format +msgid "\"%s\" is an index" +msgstr "\"%s\" 개체는 인덱스임" + +#: catalog/aclchk.c:1847 commands/tablecmds.c:13901 commands/tablecmds.c:17172 +#, 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:17136 utils/adt/acl.c:2084 +#: utils/adt/acl.c:2114 utils/adt/acl.c:2146 utils/adt/acl.c:2178 +#: utils/adt/acl.c:2206 utils/adt/acl.c:2236 #, c-format msgid "\"%s\" is not a sequence" msgstr "\"%s\" 시퀀스가 아님" -#: catalog/aclchk.c:1859 +#: catalog/aclchk.c:1893 #, c-format msgid "sequence \"%s\" only supports USAGE, SELECT, and UPDATE privileges" msgstr "\"%s\" 시퀀스는 USAGE, SELECT 및 UPDATE 권한만 지원함" -#: catalog/aclchk.c:1876 +#: catalog/aclchk.c:1910 #, c-format msgid "invalid privilege type %s for table" msgstr "%s 권한은 테이블에서 사용할 수 없은 권한 형태임" -#: catalog/aclchk.c:2042 +#: catalog/aclchk.c:2072 #, c-format msgid "invalid privilege type %s for column" msgstr "%s 권한 형식은 칼럼에서 유효하지 않음" -#: catalog/aclchk.c:2055 +#: catalog/aclchk.c:2085 #, c-format msgid "sequence \"%s\" only supports SELECT column privileges" msgstr "\"%s\" 시퀀스는 SELECT 열 권한만 지원함" -#: catalog/aclchk.c:2637 +#: catalog/aclchk.c:2275 #, c-format msgid "language \"%s\" is not trusted" msgstr "\"%s\" 프로시주얼 언어는 안전하지 못합니다" -#: catalog/aclchk.c:2639 +#: catalog/aclchk.c:2277 #, c-format msgid "" "GRANT and REVOKE are not allowed on untrusted languages, because only " @@ -3857,526 +4400,467 @@ msgstr "" "안전하지 않은 프로시져 언어에 대해서는 GRANT 또는 REVOKE 작업을 허용하지 않습" "니다, 안전하지 않은 프로시져 언어는 슈퍼유저만 사용할 수 있기 때문입니다." -#: catalog/aclchk.c:3153 +#: catalog/aclchk.c:2427 #, c-format msgid "cannot set privileges of array types" msgstr "배열형 자료형에 권한 설정을 할 수 없음" -#: catalog/aclchk.c:3154 +#: catalog/aclchk.c:2428 #, c-format msgid "Set the privileges of the element type instead." msgstr "그 배열 요소에 해당하는 자료형에 대해서 접근 권한 설정을 하세요." -#: catalog/aclchk.c:3161 catalog/objectaddress.c:1561 +#: catalog/aclchk.c:2435 catalog/objectaddress.c:1667 #, c-format msgid "\"%s\" is not a domain" msgstr "\"%s\" 이름의 개체는 도메인이 아닙니다" -#: catalog/aclchk.c:3281 +#: catalog/aclchk.c:2619 #, c-format msgid "unrecognized privilege type \"%s\"" msgstr "알 수 없는 권한 타입 \"%s\"" -#: catalog/aclchk.c:3342 +#: catalog/aclchk.c:2684 #, c-format msgid "permission denied for aggregate %s" msgstr "%s 집계함수에 대한 접근 권한 없음" -#: catalog/aclchk.c:3345 +#: catalog/aclchk.c:2687 #, c-format msgid "permission denied for collation %s" msgstr "%s 정렬정의(collation) 접근 권한 없음" -#: catalog/aclchk.c:3348 +#: catalog/aclchk.c:2690 #, c-format msgid "permission denied for column %s" msgstr "%s 칼럼에 대한 접근 권한 없음" -#: catalog/aclchk.c:3351 +#: catalog/aclchk.c:2693 #, c-format msgid "permission denied for conversion %s" msgstr "%s 문자코드변환규칙(conversion) 접근 권한 없음" -#: catalog/aclchk.c:3354 +#: catalog/aclchk.c:2696 #, c-format msgid "permission denied for database %s" msgstr "%s 데이터베이스 접근 권한 없음" -#: catalog/aclchk.c:3357 +#: catalog/aclchk.c:2699 #, c-format msgid "permission denied for domain %s" msgstr "%s 도메인에 대한 접근 권한 없음" -#: catalog/aclchk.c:3360 +#: catalog/aclchk.c:2702 #, c-format msgid "permission denied for event trigger %s" msgstr "%s 이벤트 트리거 접근 권한 없음" -#: catalog/aclchk.c:3363 +#: catalog/aclchk.c:2705 #, c-format msgid "permission denied for extension %s" msgstr "%s 확장 모듈 접근 권한 없음" -#: catalog/aclchk.c:3366 +#: catalog/aclchk.c:2708 #, c-format msgid "permission denied for foreign-data wrapper %s" msgstr "%s 외부 데이터 래퍼 접근 권한 없음" -#: catalog/aclchk.c:3369 +#: catalog/aclchk.c:2711 #, c-format msgid "permission denied for foreign server %s" msgstr "%s 외부 서버 접근 권한 없음" -#: catalog/aclchk.c:3372 +#: catalog/aclchk.c:2714 #, c-format msgid "permission denied for foreign table %s" msgstr "%s 외부 테이블 접근 권한 없음" -#: catalog/aclchk.c:3375 +#: catalog/aclchk.c:2717 #, c-format msgid "permission denied for function %s" msgstr "%s 함수 접근 권한 없음" -#: catalog/aclchk.c:3378 +#: catalog/aclchk.c:2720 #, c-format msgid "permission denied for index %s" msgstr "%s 인덱스 접근 권한 없음" -#: catalog/aclchk.c:3381 +#: catalog/aclchk.c:2723 #, c-format msgid "permission denied for language %s" msgstr "%s 프로시주얼 언어 접근 권한 없음" -#: catalog/aclchk.c:3384 +#: catalog/aclchk.c:2726 #, c-format msgid "permission denied for large object %s" msgstr "%s 대형 개체 접근 권한 없음" -#: catalog/aclchk.c:3387 +#: catalog/aclchk.c:2729 #, c-format msgid "permission denied for materialized view %s" msgstr "%s 구체화된 뷰에 대한 접근 권한 없음" -#: catalog/aclchk.c:3390 +#: catalog/aclchk.c:2732 #, c-format msgid "permission denied for operator class %s" msgstr "%s 연산자 클래스 접근 권한 없음" -#: catalog/aclchk.c:3393 +#: catalog/aclchk.c:2735 #, c-format msgid "permission denied for operator %s" msgstr "%s 연산자 접근 권한 없음" -#: catalog/aclchk.c:3396 +#: catalog/aclchk.c:2738 #, c-format msgid "permission denied for operator family %s" msgstr "%s 연산자 패밀리 접근 권한 없음" -#: catalog/aclchk.c:3399 +#: catalog/aclchk.c:2741 +#, c-format +msgid "permission denied for parameter %s" +msgstr "%s 환경 설정 매개 변수 접근 권한 없음" + +#: catalog/aclchk.c:2744 #, c-format msgid "permission denied for policy %s" msgstr "%s 정책에 대한 접근 권한 없음" -#: catalog/aclchk.c:3402 +#: catalog/aclchk.c:2747 #, c-format msgid "permission denied for procedure %s" msgstr "%s 프로시져에 대한 접근 권한 없음" -#: catalog/aclchk.c:3405 +#: catalog/aclchk.c:2750 #, c-format msgid "permission denied for publication %s" msgstr "%s 발행 접근 권한 없음" -#: catalog/aclchk.c:3408 +#: catalog/aclchk.c:2753 #, c-format msgid "permission denied for routine %s" msgstr "%s 루틴에 대한 접근 권한 없음" -#: catalog/aclchk.c:3411 +#: catalog/aclchk.c:2756 #, c-format msgid "permission denied for schema %s" msgstr "%s 스키마(schema) 접근 권한 없음" -#: catalog/aclchk.c:3414 commands/sequence.c:610 commands/sequence.c:844 -#: commands/sequence.c:886 commands/sequence.c:927 commands/sequence.c:1800 -#: commands/sequence.c:1864 +#: 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 #, c-format msgid "permission denied for sequence %s" msgstr "%s 시퀀스 접근 권한 없음" -#: catalog/aclchk.c:3417 +#: catalog/aclchk.c:2762 #, c-format msgid "permission denied for statistics object %s" msgstr "%s 개체 통계정보 접근 권한 없음" -#: catalog/aclchk.c:3420 +#: catalog/aclchk.c:2765 #, c-format msgid "permission denied for subscription %s" msgstr "%s 구독 접근 권한 없음" -#: catalog/aclchk.c:3423 +#: catalog/aclchk.c:2768 #, c-format msgid "permission denied for table %s" msgstr "%s 테이블에 대한 접근 권한 없음" -#: catalog/aclchk.c:3426 +#: catalog/aclchk.c:2771 #, c-format msgid "permission denied for tablespace %s" msgstr "%s 테이블스페이스 접근 권한 없음" -#: catalog/aclchk.c:3429 +#: catalog/aclchk.c:2774 #, c-format msgid "permission denied for text search configuration %s" msgstr "%s 전문 검색 구성 접근 권한 없음" -#: catalog/aclchk.c:3432 +#: catalog/aclchk.c:2777 #, c-format msgid "permission denied for text search dictionary %s" msgstr "%s 전문 검색 사전 접근 권한 없음" -#: catalog/aclchk.c:3435 +#: catalog/aclchk.c:2780 #, c-format msgid "permission denied for type %s" msgstr "%s 자료형 접근 권한 없음" -#: catalog/aclchk.c:3438 +#: catalog/aclchk.c:2783 #, c-format msgid "permission denied for view %s" msgstr "%s 뷰에 대한 접근 권한 없음" -#: catalog/aclchk.c:3473 +#: catalog/aclchk.c:2819 #, c-format msgid "must be owner of aggregate %s" msgstr "%s 집계함수의 소유주여야만 합니다" -#: catalog/aclchk.c:3476 +#: catalog/aclchk.c:2822 #, c-format msgid "must be owner of collation %s" msgstr "%s 정렬정의(collation)의 소유주여야만 합니다" -#: catalog/aclchk.c:3479 +#: catalog/aclchk.c:2825 #, c-format msgid "must be owner of conversion %s" msgstr "%s 문자코드변환규칙(conversion)의 소유주여야만 합니다" -#: catalog/aclchk.c:3482 +#: catalog/aclchk.c:2828 #, c-format msgid "must be owner of database %s" msgstr "%s 데이터베이스의 소유주여야만 합니다" -#: catalog/aclchk.c:3485 +#: catalog/aclchk.c:2831 #, c-format msgid "must be owner of domain %s" msgstr "%s 도메인의 소유주여야만 합니다" -#: catalog/aclchk.c:3488 +#: catalog/aclchk.c:2834 #, c-format msgid "must be owner of event trigger %s" msgstr "%s 이벤트 트리거의 소유주여야만 합니다" -#: catalog/aclchk.c:3491 +#: catalog/aclchk.c:2837 #, c-format msgid "must be owner of extension %s" msgstr "%s 확장 모듈의 소유주여야만 합니다" -#: catalog/aclchk.c:3494 +#: catalog/aclchk.c:2840 #, c-format msgid "must be owner of foreign-data wrapper %s" msgstr "%s 외부 데이터 래퍼의 소유주여야 함" -#: catalog/aclchk.c:3497 +#: catalog/aclchk.c:2843 #, c-format msgid "must be owner of foreign server %s" msgstr "%s 외부 서버의 소유주여야 함" -#: catalog/aclchk.c:3500 +#: catalog/aclchk.c:2846 #, c-format msgid "must be owner of foreign table %s" msgstr "%s 외부 테이블의 소유주여야 함" -#: catalog/aclchk.c:3503 +#: catalog/aclchk.c:2849 #, c-format msgid "must be owner of function %s" msgstr "%s 함수의 소유주여야만 합니다" -#: catalog/aclchk.c:3506 +#: catalog/aclchk.c:2852 #, c-format msgid "must be owner of index %s" msgstr "%s 인덱스의 소유주여야만 합니다" -#: catalog/aclchk.c:3509 +#: catalog/aclchk.c:2855 #, c-format msgid "must be owner of language %s" msgstr "%s 프로시주얼 언어의 소유주여야만 합니다" -#: catalog/aclchk.c:3512 +#: catalog/aclchk.c:2858 #, c-format msgid "must be owner of large object %s" msgstr "%s 대형 개체의 소유주여야만 합니다" -#: catalog/aclchk.c:3515 +#: catalog/aclchk.c:2861 #, c-format msgid "must be owner of materialized view %s" msgstr "%s 구체화된 뷰의 소유주여야만 합니다" -#: catalog/aclchk.c:3518 +#: catalog/aclchk.c:2864 #, c-format msgid "must be owner of operator class %s" msgstr "%s 연산자 클래스의 소유주여야만 합니다" -#: catalog/aclchk.c:3521 +#: catalog/aclchk.c:2867 #, c-format msgid "must be owner of operator %s" msgstr "%s 연산자의 소유주여야만 합니다" -#: catalog/aclchk.c:3524 +#: catalog/aclchk.c:2870 #, c-format msgid "must be owner of operator family %s" msgstr "%s 연산자 패밀리의 소유주여야 함" -#: catalog/aclchk.c:3527 +#: catalog/aclchk.c:2873 #, c-format msgid "must be owner of procedure %s" msgstr "%s 프로시져의 소유주여야만 합니다" -#: catalog/aclchk.c:3530 +#: catalog/aclchk.c:2876 #, c-format msgid "must be owner of publication %s" msgstr "%s 발행의 소유주여야만 합니다" -#: catalog/aclchk.c:3533 +#: catalog/aclchk.c:2879 #, c-format msgid "must be owner of routine %s" msgstr "%s 루틴의 소유주여야만 합니다" -#: catalog/aclchk.c:3536 +#: catalog/aclchk.c:2882 #, c-format msgid "must be owner of sequence %s" msgstr "%s 시퀀스의 소유주여야만 합니다" -#: catalog/aclchk.c:3539 +#: catalog/aclchk.c:2885 #, c-format msgid "must be owner of subscription %s" msgstr "%s 구독의 소유주여야만 합니다" -#: catalog/aclchk.c:3542 +#: catalog/aclchk.c:2888 #, c-format msgid "must be owner of table %s" msgstr "%s 테이블의 소유주여야만 합니다" -#: catalog/aclchk.c:3545 +#: catalog/aclchk.c:2891 #, c-format msgid "must be owner of type %s" msgstr "%s 자료형의 소유주여야만 합니다" -#: catalog/aclchk.c:3548 +#: catalog/aclchk.c:2894 #, c-format msgid "must be owner of view %s" msgstr "%s 뷰의 소유주여야만 합니다" -#: catalog/aclchk.c:3551 +#: catalog/aclchk.c:2897 #, c-format msgid "must be owner of schema %s" msgstr "%s 스키마(schema)의 소유주여야만 합니다" -#: catalog/aclchk.c:3554 +#: catalog/aclchk.c:2900 #, c-format msgid "must be owner of statistics object %s" msgstr "%s 통계정보 개체의 소유주여야만 합니다" -#: catalog/aclchk.c:3557 +#: catalog/aclchk.c:2903 #, c-format msgid "must be owner of tablespace %s" msgstr "%s 테이블스페이스의 소유주여야만 합니다" -#: catalog/aclchk.c:3560 +#: catalog/aclchk.c:2906 #, c-format msgid "must be owner of text search configuration %s" msgstr "%s 전문 검색 구성의 소유주여야 함" -#: catalog/aclchk.c:3563 +#: catalog/aclchk.c:2909 #, c-format msgid "must be owner of text search dictionary %s" msgstr "%s 전문 검색 사전의 소유주여야 함" -#: catalog/aclchk.c:3577 +#: catalog/aclchk.c:2923 #, c-format msgid "must be owner of relation %s" msgstr "%s 릴레이션(relation)의 소유주여야만 합니다" -#: catalog/aclchk.c:3621 +#: catalog/aclchk.c:2969 #, c-format msgid "permission denied for column \"%s\" of relation \"%s\"" msgstr "\"%s\" 칼럼(해당 릴레이션: \"%s\") 접근 권한 없음" -#: catalog/aclchk.c:3742 catalog/aclchk.c:3750 +#: catalog/aclchk.c:3104 catalog/aclchk.c:3979 catalog/aclchk.c:4011 +#, c-format +msgid "%s with OID %u does not exist" +msgstr "%s (해당 OID %u) 없음" + +#: catalog/aclchk.c:3188 catalog/aclchk.c:3207 #, c-format msgid "attribute %d of relation with OID %u does not exist" msgstr "%d번째 속성(해당 릴레이션 OID: %u)이 없음" -#: catalog/aclchk.c:3823 catalog/aclchk.c:4733 +#: catalog/aclchk.c:3302 #, c-format msgid "relation with OID %u does not exist" msgstr "OID %u 릴레이션(relation) 없음" -#: catalog/aclchk.c:3913 catalog/aclchk.c:5151 -#, c-format -msgid "database with OID %u does not exist" -msgstr "OID %u 데이터베이스 없음" - -#: catalog/aclchk.c:3967 catalog/aclchk.c:4811 tcop/fastpath.c:221 -#: utils/fmgr/fmgr.c:2055 -#, c-format -msgid "function with OID %u does not exist" -msgstr "OID %u 함수 없음" - -#: catalog/aclchk.c:4021 catalog/aclchk.c:4837 +#: catalog/aclchk.c:3476 #, c-format -msgid "language with OID %u does not exist" -msgstr "OID %u 언어 없음" +msgid "parameter ACL with OID %u does not exist" +msgstr "OID %u 환경 설정 매개 변수 ACL이 없음" -#: catalog/aclchk.c:4185 catalog/aclchk.c:4909 +#: catalog/aclchk.c:3640 commands/collationcmds.c:808 +#: commands/publicationcmds.c:1746 #, c-format msgid "schema with OID %u does not exist" msgstr "OID %u 스키마 없음" -#: catalog/aclchk.c:4239 catalog/aclchk.c:4936 utils/adt/genfile.c:686 -#, c-format -msgid "tablespace with OID %u does not exist" -msgstr "OID %u 테이블스페이스 없음" - -#: catalog/aclchk.c:4298 catalog/aclchk.c:5070 commands/foreigncmds.c:325 -#, c-format -msgid "foreign-data wrapper with OID %u does not exist" -msgstr "OID가 %u인 외부 데이터 래퍼가 없음" - -#: catalog/aclchk.c:4360 catalog/aclchk.c:5097 commands/foreigncmds.c:462 -#, c-format -msgid "foreign server with OID %u does not exist" -msgstr "OID가 %u인 외부 서버가 없음" - -#: catalog/aclchk.c:4420 catalog/aclchk.c:4759 utils/cache/typcache.c:378 -#: utils/cache/typcache.c:432 +#: catalog/aclchk.c:3705 utils/cache/typcache.c:385 utils/cache/typcache.c:440 #, c-format msgid "type with OID %u does not exist" msgstr "OID %u 자료형 없음" -#: catalog/aclchk.c:4785 -#, c-format -msgid "operator with OID %u does not exist" -msgstr "OID %u 연산자 없음" - -#: catalog/aclchk.c:4962 -#, c-format -msgid "operator class with OID %u does not exist" -msgstr "OID %u 연산자 클래스 없음" - -#: catalog/aclchk.c:4989 -#, c-format -msgid "operator family with OID %u does not exist" -msgstr "OID가 %u인 연산자 패밀리가 없음" - -#: catalog/aclchk.c:5016 -#, c-format -msgid "text search dictionary with OID %u does not exist" -msgstr "OID가 %u인 전문 검색 사전이 없음" - -#: catalog/aclchk.c:5043 -#, c-format -msgid "text search configuration with OID %u does not exist" -msgstr "OID가 %u인 텍스트 검색 구성이 없음" - -#: catalog/aclchk.c:5124 commands/event_trigger.c:475 -#, c-format -msgid "event trigger with OID %u does not exist" -msgstr "OID %u 이벤트 트리거가 없음" - -#: catalog/aclchk.c:5177 commands/collationcmds.c:367 -#, c-format -msgid "collation with OID %u does not exist" -msgstr "OID %u 정렬정의(collation) 없음" - -#: catalog/aclchk.c:5203 -#, c-format -msgid "conversion with OID %u does not exist" -msgstr "OID %u 인코딩 변환규칙(conversion) 없음" - -#: catalog/aclchk.c:5244 -#, c-format -msgid "extension with OID %u does not exist" -msgstr "OID %u 확장 모듈이 없음" - -#: catalog/aclchk.c:5271 commands/publicationcmds.c:794 +#: catalog/catalog.c:449 #, c-format -msgid "publication with OID %u does not exist" -msgstr "OID %u 발행 없음" +msgid "still searching for an unused OID in relation \"%s\"" +msgstr "\"%s\" 릴레이션에서 사용되지 않는 OID를 여전히 찾는 중" -#: catalog/aclchk.c:5297 commands/subscriptioncmds.c:1112 +#: catalog/catalog.c:451 #, c-format -msgid "subscription with OID %u does not exist" -msgstr "OID %u 구독 없음" +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/aclchk.c:5323 +#: catalog/catalog.c:476 #, c-format -msgid "statistics object with OID %u does not exist" -msgstr "OID %u 통계정보 개체 없음" +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\" 릴레이션의 새 OID를 %llu 시도 끝에 배정함" -#: catalog/catalog.c:485 +#: catalog/catalog.c:609 catalog/catalog.c:676 #, c-format -msgid "must be superuser to call pg_nextoid()" -msgstr "pg_nextoid() 함수를 호출 하려면 슈퍼유져여야함" +msgid "must be superuser to call %s()" +msgstr "%s() 호출은 슈퍼유저만 할 수 있음" -#: catalog/catalog.c:493 +#: catalog/catalog.c:618 #, c-format msgid "pg_nextoid() can only be used on system catalogs" msgstr "pg_nextoid() 함수는 시스템 카탈로그 대상 전용임" -#: catalog/catalog.c:498 parser/parse_utilcmd.c:2191 +#: catalog/catalog.c:623 parser/parse_utilcmd.c:2264 #, c-format msgid "index \"%s\" does not belong to table \"%s\"" msgstr "\"%s\" 인덱스가 \"%s\" 테이블용이 아님" -#: catalog/catalog.c:515 +#: catalog/catalog.c:640 #, c-format msgid "column \"%s\" is not of type oid" msgstr "\"%s\" 칼럼은 oid 자료형이 아님" -#: catalog/catalog.c:522 +#: catalog/catalog.c:647 #, c-format msgid "index \"%s\" is not the index for column \"%s\"" msgstr "\"%s\" 인덱스는 \"%s\" 칼럼용 인덱스가 아님" -#: catalog/dependency.c:823 catalog/dependency.c:1061 +#: catalog/dependency.c:546 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 #, c-format msgid "cannot drop %s because %s requires it" msgstr "%s 삭제할 수 없음, %s에서 필요로함" -#: catalog/dependency.c:825 catalog/dependency.c:1063 +#: catalog/dependency.c:840 catalog/dependency.c:1067 #, c-format msgid "You can drop %s instead." msgstr "대신에, drop %s 명령을 사용할 수 있음." -#: catalog/dependency.c:933 catalog/pg_shdepend.c:640 -#, c-format -msgid "cannot drop %s because it is required by the database system" -msgstr "%s 개체는 데이터베이스 시스템에서 필요하기 때문에 삭제 될 수 없음" - -#: catalog/dependency.c:1129 -#, c-format -msgid "drop auto-cascades to %s" -msgstr "%s 개체가 자동으로 덩달아 삭제됨" - -#: catalog/dependency.c:1141 catalog/dependency.c:1150 +#: catalog/dependency.c:1146 catalog/dependency.c:1155 #, c-format msgid "%s depends on %s" msgstr "%s 의존대상: %s" -#: catalog/dependency.c:1162 catalog/dependency.c:1171 +#: catalog/dependency.c:1170 catalog/dependency.c:1179 #, c-format msgid "drop cascades to %s" msgstr "%s 개체가 덩달아 삭제됨" -#: catalog/dependency.c:1179 catalog/pg_shdepend.c:769 +#: catalog/dependency.c:1187 catalog/pg_shdepend.c:823 #, c-format msgid "" "\n" @@ -4388,93 +4872,97 @@ msgstr[0] "" "\n" "%d 개의 기타 개체들도 함께 처리함 (목록은 서버 로그에 기록됨)" -#: catalog/dependency.c:1191 +#: catalog/dependency.c:1199 #, c-format msgid "cannot drop %s because other objects depend on it" msgstr "기타 다른 개체들이 이 개체에 의존하고 있어, %s 삭제할 수 없음" -#: catalog/dependency.c:1193 catalog/dependency.c:1194 -#: catalog/dependency.c:1200 catalog/dependency.c:1201 -#: catalog/dependency.c:1212 catalog/dependency.c:1213 -#: commands/tablecmds.c:1249 commands/tablecmds.c:13016 commands/user.c:1093 -#: commands/view.c:495 libpq/auth.c:334 replication/syncrep.c:1032 -#: storage/lmgr/deadlock.c:1154 storage/lmgr/proc.c:1350 utils/adt/acl.c:5329 -#: utils/adt/jsonfuncs.c:614 utils/adt/jsonfuncs.c:620 utils/misc/guc.c:6771 -#: utils/misc/guc.c:6807 utils/misc/guc.c:6877 utils/misc/guc.c:10947 -#: utils/misc/guc.c:10981 utils/misc/guc.c:11015 utils/misc/guc.c:11049 -#: utils/misc/guc.c:11084 +#: catalog/dependency.c:1202 catalog/dependency.c:1209 +#: catalog/dependency.c:1220 commands/tablecmds.c:1335 +#: commands/tablecmds.c:14386 commands/tablespace.c:466 commands/user.c:1309 +#: commands/vacuum.c:211 commands/view.c:446 libpq/auth.c:326 +#: replication/logical/applyparallelworker.c:1044 replication/syncrep.c:1017 +#: storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1358 utils/misc/guc.c:3120 +#: utils/misc/guc.c:3156 utils/misc/guc.c:3226 utils/misc/guc.c:6615 +#: utils/misc/guc.c:6649 utils/misc/guc.c:6683 utils/misc/guc.c:6726 +#: utils/misc/guc.c:6768 #, c-format msgid "%s" msgstr "%s" -#: catalog/dependency.c:1195 catalog/dependency.c:1202 +#: catalog/dependency.c:1203 catalog/dependency.c:1210 #, c-format msgid "Use DROP ... CASCADE to drop the dependent objects too." msgstr "" "이 개체와 관계된 모든 개체들을 함께 삭제하려면 DROP ... CASCADE 명령을 사용하" "십시오" -#: catalog/dependency.c:1199 +#: catalog/dependency.c:1207 #, c-format msgid "cannot drop desired object(s) because other objects depend on them" msgstr "다른 개체가 원하는 개체를 사용하고 있으므로 해당 개체를 삭제할 수 없음" -#. translator: %d always has a value larger than 1 -#: catalog/dependency.c:1208 +#: catalog/dependency.c:1215 #, c-format msgid "drop cascades to %d other object" msgid_plural "drop cascades to %d other objects" msgstr[0] "%d개의 다른 개체에 대한 관련 항목 삭제" -#: catalog/dependency.c:1875 +#: catalog/dependency.c:1899 #, c-format msgid "constant of the type %s cannot be used here" msgstr "%s 자료형은 여기서 사용할 수 없음" -#: catalog/heap.c:330 +#: catalog/dependency.c:2420 parser/parse_relation.c:3404 +#: parser/parse_relation.c:3414 +#, c-format +msgid "column %d of relation \"%s\" does not exist" +msgstr "%d번째 칼럼이 없습니다. 해당 릴레이션: \"%s\"" + +#: catalog/heap.c:324 #, c-format msgid "permission denied to create \"%s.%s\"" msgstr "\"%s.%s\" 만들 권한이 없음" -#: catalog/heap.c:332 +#: catalog/heap.c:326 #, c-format msgid "System catalog modifications are currently disallowed." msgstr "시스템 카탈로그 변경은 현재 허용하지 않습니다." -#: catalog/heap.c:500 commands/tablecmds.c:2145 commands/tablecmds.c:2745 -#: commands/tablecmds.c:6175 +#: catalog/heap.c:466 commands/tablecmds.c:2374 commands/tablecmds.c:3047 +#: commands/tablecmds.c:6922 #, c-format msgid "tables can have at most %d columns" msgstr "한 테이블에 지정할 수 있는 최대 열 수는 %d입니다" -#: catalog/heap.c:518 commands/tablecmds.c:6468 +#: catalog/heap.c:484 commands/tablecmds.c:7229 #, c-format msgid "column name \"%s\" conflicts with a system column name" msgstr "\"%s\" 열 이름은 시스템 열 이름과 충돌합니다" -#: catalog/heap.c:534 +#: catalog/heap.c:500 #, c-format msgid "column name \"%s\" specified more than once" msgstr "\"%s\" 칼럼 이름이 여러 번 지정됨" #. translator: first %s is an integer not a name -#: catalog/heap.c:609 +#: catalog/heap.c:575 #, c-format msgid "partition key column %s has pseudo-type %s" msgstr "\"%s\" 파티션 키 칼럼은 %s 의사 자료형(pseudo-type)을 사용합니다" -#: catalog/heap.c:614 +#: catalog/heap.c:580 #, c-format msgid "column \"%s\" has pseudo-type %s" msgstr "\"%s\" 칼럼은 %s 의사 자료형(pseudo-type)을 사용합니다" -#: catalog/heap.c:645 +#: catalog/heap.c:611 #, 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:700 +#: catalog/heap.c:666 #, c-format msgid "" "no collation was derived for partition key column %s with collatable type %s" @@ -4482,25 +4970,27 @@ msgstr "" "\"%s\" 파티션 키 칼럼에 사용하는 %s 자료형에서 사용할 정렬규칙을 결정할 수없" "습니다." -#: catalog/heap.c:706 commands/createas.c:203 commands/createas.c:486 +#: catalog/heap.c:672 commands/createas.c:203 commands/createas.c:512 #, c-format msgid "no collation was derived for column \"%s\" with collatable type %s" msgstr "" "\"%s\" 칼럼에 사용하는 %s 자료형에서 사용할 정렬규칙을 결정할 수 없습니다." -#: catalog/heap.c:1155 catalog/index.c:865 commands/tablecmds.c:3520 +#: catalog/heap.c:1148 catalog/index.c:887 commands/createas.c:408 +#: commands/tablecmds.c:3987 #, c-format msgid "relation \"%s\" already exists" msgstr "\"%s\" 이름의 릴레이션(relation)이 이미 있습니다" -#: catalog/heap.c:1171 catalog/pg_type.c:428 catalog/pg_type.c:775 -#: commands/typecmds.c:238 commands/typecmds.c:250 commands/typecmds.c:719 -#: commands/typecmds.c:1125 commands/typecmds.c:1337 commands/typecmds.c:2124 +#: 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 #, c-format msgid "type \"%s\" already exists" msgstr "\"%s\" 자료형이 이미 있습니다" -#: catalog/heap.c:1172 +#: catalog/heap.c:1165 #, c-format msgid "" "A relation has an associated type of the same name, so you must use a name " @@ -4509,92 +4999,119 @@ msgstr "" "하나의 릴레이션은 그 이름과 같은 자료형과 관계합니다. 그래서, 이미 같은 이름" "의 자료형이 있다면 해당 릴레이션을 만들 수 없습니다. 다른 이름을 사용하세요." -#: catalog/heap.c:1201 +#: catalog/heap.c:1205 +#, c-format +msgid "toast relfilenumber value not set when in binary upgrade mode" +msgstr "이진 업그레이드 작업 때, toast relfilenumber 값이 지정되지 않았습니다" + +#: catalog/heap.c:1216 #, c-format msgid "pg_class heap OID value not set when in binary upgrade mode" msgstr "이진 업그레이드 작업 때, pg_class 자료 OID 값이 지정되지 않았습니다" -#: catalog/heap.c:2400 +#: catalog/heap.c:1226 +#, c-format +msgid "relfilenumber value not set when in binary upgrade mode" +msgstr "이진 업그레이드 작업 때, relfilenumber 값이 지정되지 않았습니다" + +#: catalog/heap.c:2119 #, c-format msgid "cannot add NO INHERIT constraint to partitioned table \"%s\"" msgstr "\"%s\" 파티션 테이블에는 NO INHERIT 조건을 사용할 수 없음" -#: catalog/heap.c:2670 +#: catalog/heap.c:2393 #, c-format msgid "check constraint \"%s\" already exists" msgstr "\"%s\" 이름의 체크 제약 조건이 이미 있습니다" -#: catalog/heap.c:2840 catalog/index.c:879 catalog/pg_constraint.c:668 -#: commands/tablecmds.c:8117 +#: catalog/heap.c:2563 catalog/index.c:901 catalog/pg_constraint.c:682 +#: commands/tablecmds.c:8900 #, c-format msgid "constraint \"%s\" for relation \"%s\" already exists" msgstr "" "\"%s\" 제약 조건이 이미 \"%s\" 릴레이션(relation)에서 사용되고 있습니다" -#: catalog/heap.c:2847 +#: catalog/heap.c:2570 #, c-format msgid "" "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\"" msgstr "" "\"%s\" 제약 조건이 비상속 제약 조건과 충돌합니다, 해당 릴레이션: \"%s\"" -#: catalog/heap.c:2858 +#: catalog/heap.c:2581 #, c-format msgid "" "constraint \"%s\" conflicts with inherited constraint on relation \"%s\"" msgstr "\"%s\" 제약 조건이 상속 제약 조건과 충돌합니다, 해당 릴레이션: \"%s\"" -#: catalog/heap.c:2868 +#: catalog/heap.c:2591 #, c-format msgid "" "constraint \"%s\" conflicts with NOT VALID constraint on relation \"%s\"" msgstr "" "\"%s\" 제약 조건이 NOT VALID 제약 조건과 충돌합니다, 해당 릴레이션: \"%s\"" -#: catalog/heap.c:2873 +#: catalog/heap.c:2596 #, c-format msgid "merging constraint \"%s\" with inherited definition" msgstr "\"%s\" 제약 조건을 상속된 정의와 병합하는 중" -#: catalog/heap.c:2975 +#: 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 +#, c-format +msgid "too many inheritance parents" +msgstr "너무 많은 상속 부모" + +#: catalog/heap.c:2706 #, c-format msgid "cannot use generated column \"%s\" in column generation expression" msgstr "\"%s\" 계산된 칼럼은 칼럼 생성 표현식에서는 사용될 수 없음" -#: catalog/heap.c:2977 +#: catalog/heap.c:2708 #, c-format msgid "A generated column cannot reference another generated column." msgstr "계산된 칼럼은 다른 계산된 칼럼을 참조할 수 없음" -#: catalog/heap.c:3029 +#: catalog/heap.c:2714 +#, c-format +msgid "cannot use whole-row variable in column generation expression" +msgstr "미리 계산된 칼럼 생성 표현식에 row 전체 변수는 사용할 수 없음" + +#: catalog/heap.c:2715 +#, c-format +msgid "This would cause the generated column to depend on its own value." +msgstr "이 오류는 미리 계산된 칼럼 자체를 그 칼럼 값으로 지정할 때 발생합니다." + +#: catalog/heap.c:2768 #, c-format msgid "generation expression is not immutable" -msgstr "생성 표현식은 불변형일 수 없음" +msgstr "미리 계산되는 생성 표현식 결과가 immutable이 아님" -#: catalog/heap.c:3057 rewrite/rewriteHandler.c:1192 +#: catalog/heap.c:2796 rewrite/rewriteHandler.c:1297 #, c-format msgid "column \"%s\" is of type %s but default expression is of type %s" msgstr "" "\"%s\" 칼럼의 자료형은 %s 인데, default 표현식에서는 %s 자료형을 사용했습니다" -#: catalog/heap.c:3062 commands/prepare.c:367 parser/parse_node.c:412 -#: parser/parse_target.c:589 parser/parse_target.c:869 -#: parser/parse_target.c:879 rewrite/rewriteHandler.c:1197 +#: 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 #, c-format msgid "You will need to rewrite or cast the expression." -msgstr "다시 정의하거나 형변화자를 사용해보십시오" +msgstr "다시 정의하거나 형변환자를 사용해보십시오" -#: catalog/heap.c:3109 +#: catalog/heap.c:2848 #, c-format msgid "only table \"%s\" can be referenced in check constraint" msgstr "\"%s\" 테이블만이 체크 제약 조건에서 참조될 수 있습니다" -#: catalog/heap.c:3366 +#: catalog/heap.c:3154 #, c-format msgid "unsupported ON COMMIT and foreign key combination" msgstr "ON COMMIT 및 외래 키 조합이 지원되지 않음" -#: catalog/heap.c:3367 +#: catalog/heap.c:3155 #, c-format msgid "" "Table \"%s\" references \"%s\", but they do not have the same ON COMMIT " @@ -4602,486 +5119,493 @@ msgid "" msgstr "" "\"%s\" 테이블에서 \"%s\" 테이블을 참조하는데 ON COMMIT 설정이 같지 않습니다." -#: catalog/heap.c:3372 +#: catalog/heap.c:3160 #, c-format msgid "cannot truncate a table referenced in a foreign key constraint" msgstr "" "_^_ 테이블 내용을 모두 삭제할 수 없음, 참조키(foreign key) 제약 조건 안에서" -#: catalog/heap.c:3373 +#: catalog/heap.c:3161 #, c-format msgid "Table \"%s\" references \"%s\"." msgstr "\"%s\" 테이블은 \"%s\" 개체를 참조합니다." -#: catalog/heap.c:3375 +#: catalog/heap.c:3163 #, c-format msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE." msgstr "" "\"%s\" 테이블도 함께 자료를 지우거나, TRUNCATE ... CASCADE 구문을 사용하세요." -#: catalog/index.c:219 parser/parse_utilcmd.c:2097 +#: catalog/index.c:225 parser/parse_utilcmd.c:2170 #, c-format msgid "multiple primary keys for table \"%s\" are not allowed" msgstr "\"%s\" 테이블에는 이미 기본키가 있습니다" -#: catalog/index.c:237 +#: catalog/index.c:239 +#, c-format +msgid "primary keys cannot use NULLS NOT DISTINCT indexes" +msgstr "기본키(primary key)는 NULLS NOT DISTINCT 인덱스를 사용할 수 없음" + +#: catalog/index.c:256 #, c-format msgid "primary keys cannot be expressions" -msgstr "기본기(primary key)를 표현할 수 없음" +msgstr "기본키(primary key)를 표현할 수 없음" -#: catalog/index.c:254 +#: catalog/index.c:273 #, c-format msgid "primary key column \"%s\" is not marked NOT NULL" msgstr "\"%s\" 파티션 키 칼럼에 NOT NULL 속성을 지정해야 함" -#: catalog/index.c:764 catalog/index.c:1843 +#: catalog/index.c:786 catalog/index.c:1942 #, c-format msgid "user-defined indexes on system catalog tables are not supported" msgstr "시스템 카탈로그 테이블에는 사용자 정의 인덱스를 지정할 수 없습니다" -#: catalog/index.c:804 +#: catalog/index.c:826 #, c-format msgid "nondeterministic collations are not supported for operator class \"%s\"" msgstr "\"%s\" 연산자 클래스용으로 자동 결정 가능한 정렬 규칙은 지원하지 않음" -#: catalog/index.c:819 +#: catalog/index.c:841 #, c-format msgid "concurrent index creation on system catalog tables is not supported" msgstr "시스템 카탈로그 테이블은 잠금 없는 인덱스 만들기는 지원하지 않습니다" -#: catalog/index.c:828 catalog/index.c:1281 +#: catalog/index.c:850 catalog/index.c:1318 #, c-format msgid "concurrent index creation for exclusion constraints is not supported" msgstr "exclusion 제약 조건용 잠금 없는 인덱스 만들기는 지원하지 않습니다" -#: catalog/index.c:837 +#: catalog/index.c:859 #, c-format msgid "shared indexes cannot be created after initdb" msgstr "" "공유되는 인덱스들은 initdb 명령으로 데이터베이스 클러스터를 만든 다음에는 만" "들 수 없습니다" -#: catalog/index.c:857 commands/createas.c:252 commands/sequence.c:154 -#: parser/parse_utilcmd.c:210 +#: 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 "\"%s\" 이름의 릴레이션(relation)이 이미 있습니다, 건너뜀" -#: catalog/index.c:907 +#: catalog/index.c:929 #, c-format msgid "pg_class index OID value not set when in binary upgrade mode" msgstr "이진 업그레이드 작업 때, pg_class 인덱스 OID 값이 지정되지 않았습니다" -#: catalog/index.c:2128 -#, c-format -msgid "DROP INDEX CONCURRENTLY must be first action in transaction" -msgstr "DROP INDEX CONCURRENTLY 명령은 트랜잭션 내 가장 처음에 있어야 합니다" - -#: catalog/index.c:2859 +#: catalog/index.c:939 utils/cache/relcache.c:3731 #, c-format -msgid "building index \"%s\" on table \"%s\" serially" -msgstr "\"%s\" 인덱스를 \"%s\" 테이블에 이어 만드는 중" +msgid "index relfilenumber value not set when in binary upgrade mode" +msgstr "이진 업그레이드 작업 때, 인덱스 relfilenumber 값이 지정되지 않았습니다" -#: catalog/index.c:2864 +#: catalog/index.c:2241 #, c-format -msgid "" -"building index \"%s\" on table \"%s\" with request for %d parallel worker" -msgid_plural "" -"building index \"%s\" on table \"%s\" with request for %d parallel workers" -msgstr[0] "\"%s\" 인덱스를 \"%s\" 테이블에서 만드는 중, 병렬 작업자수: %d" +msgid "DROP INDEX CONCURRENTLY must be first action in transaction" +msgstr "DROP INDEX CONCURRENTLY 명령은 트랜잭션 내 가장 처음에 있어야 합니다" -#: catalog/index.c:3492 +#: catalog/index.c:3649 #, c-format msgid "cannot reindex temporary tables of other sessions" msgstr "임시 테이블의 인덱스 재생성 작업은 다른 세션에서 할 수 없음" -#: catalog/index.c:3503 +#: catalog/index.c:3660 commands/indexcmds.c:3631 #, c-format msgid "cannot reindex invalid index on TOAST table" msgstr "TOAST 테이블에 딸린 잘못된 인덱스에 대해 재색인 작업을 할 수 없음" -#: catalog/index.c:3625 +#: catalog/index.c:3676 commands/indexcmds.c:3511 commands/indexcmds.c:3655 +#: commands/tablecmds.c:3402 #, c-format -msgid "index \"%s\" was reindexed" -msgstr "\"%s\" 인덱스가 다시 만들어졌음" +msgid "cannot move system relation \"%s\"" +msgstr "\"%s\" 시스템 릴레이션입니다. 이동할 수 없습니다" -#: catalog/index.c:3701 commands/indexcmds.c:3023 +#: catalog/index.c:3820 #, c-format -msgid "REINDEX of partitioned tables is not yet implemented, skipping \"%s\"" -msgstr "파티션된 테이블의 REINDEX 작업은 아직 구현되지 않았음, \"%s\" 건너뜀" +msgid "index \"%s\" was reindexed" +msgstr "\"%s\" 인덱스가 다시 만들어졌음" -#: catalog/index.c:3756 +#: catalog/index.c:3957 #, c-format msgid "cannot reindex invalid index \"%s.%s\" on TOAST table, skipping" msgstr "" -"TOAST 테이블에 지정된 유효하지 않은 \"%s.%s\" 인덱스는 재색인 작업을 할 수 없음, 건너뜀" +"TOAST 테이블에 지정된 유효하지 않은 \"%s.%s\" 인덱스는 재색인 작업을 할 수 없" +"음, 건너뜀" -#: catalog/namespace.c:257 catalog/namespace.c:461 catalog/namespace.c:553 -#: commands/trigger.c:5043 +#: catalog/namespace.c:260 catalog/namespace.c:464 catalog/namespace.c:556 +#: commands/trigger.c:5718 #, c-format msgid "cross-database references are not implemented: \"%s.%s.%s\"" msgstr "서로 다른 데이터베이스간의 참조는 구현되어있지 않습니다: \"%s.%s.%s\"" -#: catalog/namespace.c:314 +#: catalog/namespace.c:317 #, c-format msgid "temporary tables cannot specify a schema name" msgstr "임시 테이블은 스키마 이름을 지정할 수 없음" -#: catalog/namespace.c:395 +#: catalog/namespace.c:398 #, c-format msgid "could not obtain lock on relation \"%s.%s\"" msgstr "\"%s.%s\" 릴레이션의 잠금 정보를 구할 수 없음" -#: catalog/namespace.c:400 commands/lockcmds.c:142 commands/lockcmds.c:227 +#: catalog/namespace.c:403 commands/lockcmds.c:144 commands/lockcmds.c:224 #, c-format msgid "could not obtain lock on relation \"%s\"" msgstr "\"%s\" 릴레이션의 잠금 정보를 구할 수 없음" -#: catalog/namespace.c:428 parser/parse_relation.c:1357 +#: catalog/namespace.c:431 parser/parse_relation.c:1430 #, c-format msgid "relation \"%s.%s\" does not exist" msgstr "\"%s.%s\" 이름의 릴레이션(relation)이 없습니다" -#: catalog/namespace.c:433 parser/parse_relation.c:1370 -#: parser/parse_relation.c:1378 +#: 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 "\"%s\" 이름의 릴레이션(relation)이 없습니다" -#: catalog/namespace.c:499 catalog/namespace.c:3030 commands/extension.c:1519 -#: commands/extension.c:1525 +#: 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 "선택된 스키마 없음, 대상:" -#: catalog/namespace.c:651 catalog/namespace.c:664 +#: catalog/namespace.c:654 catalog/namespace.c:667 #, c-format msgid "cannot create relations in temporary schemas of other sessions" msgstr "다른 세션의 임시 스키마 안에는 릴레이션을 만들 수 없음" -#: catalog/namespace.c:655 +#: catalog/namespace.c:658 #, c-format msgid "cannot create temporary relation in non-temporary schema" msgstr "임시 스키마가 아닌 스키마에 임시 릴레이션을 만들 수 없음" -#: catalog/namespace.c:670 +#: catalog/namespace.c:673 #, c-format msgid "only temporary relations may be created in temporary schemas" msgstr "임시 스키마 안에는 임시 릴레이션만 만들 수 있음" -#: catalog/namespace.c:2222 +#: catalog/namespace.c:2265 #, c-format msgid "statistics object \"%s\" does not exist" msgstr "\"%s\" 통계정보 개체가 없음" -#: catalog/namespace.c:2345 +#: catalog/namespace.c:2388 #, c-format msgid "text search parser \"%s\" does not exist" msgstr "\"%s\" 전문 검색 파서가 없음" -#: catalog/namespace.c:2471 +#: catalog/namespace.c:2514 utils/adt/regproc.c:1439 #, c-format msgid "text search dictionary \"%s\" does not exist" msgstr "\"%s\" 전문 검색 사전이 없음" -#: catalog/namespace.c:2598 +#: catalog/namespace.c:2641 #, c-format msgid "text search template \"%s\" does not exist" msgstr "\"%s\" 전문 검색 템플릿이 없음" -#: catalog/namespace.c:2724 commands/tsearchcmds.c:1194 -#: utils/cache/ts_cache.c:617 +#: catalog/namespace.c:2767 commands/tsearchcmds.c:1162 +#: 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:2837 parser/parse_expr.c:872 parser/parse_target.c:1228 +#: catalog/namespace.c:2880 parser/parse_expr.c:832 parser/parse_target.c:1246 #, c-format msgid "cross-database references are not implemented: %s" msgstr "서로 다른 데이터베이스간의 참조는 구현되어있지 않습니다: %s" -#: catalog/namespace.c:2843 parser/parse_expr.c:879 parser/parse_target.c:1235 -#: gram.y:14981 gram.y:16435 +#: catalog/namespace.c:2886 parser/parse_expr.c:839 parser/parse_target.c:1253 +#: gram.y:18569 gram.y:18609 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "적당하지 않은 qualified 이름 입니다 (너무 많은 점이 있네요): %s" -#: catalog/namespace.c:2973 +#: catalog/namespace.c:3016 #, c-format msgid "cannot move objects into or out of temporary schemas" msgstr "임시 스키마로(에서) 개체를 이동할 수 없습니다" -#: catalog/namespace.c:2979 +#: catalog/namespace.c:3022 #, c-format msgid "cannot move objects into or out of TOAST schema" msgstr "TOAST 스키마로(에서) 개체를 이동할 수 없습니다" -#: catalog/namespace.c:3052 commands/schemacmds.c:256 commands/schemacmds.c:336 -#: commands/tablecmds.c:1194 +#: catalog/namespace.c:3095 commands/schemacmds.c:264 commands/schemacmds.c:344 +#: commands/tablecmds.c:1280 utils/adt/regproc.c:1668 #, c-format msgid "schema \"%s\" does not exist" msgstr "\"%s\" 스키마(schema) 없음" -#: catalog/namespace.c:3083 +#: catalog/namespace.c:3126 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "" "적당하지 않은 릴레이션(relation) 이름 입니다 (너무 많은 점이 있네요): %s" -#: catalog/namespace.c:3646 +#: catalog/namespace.c:3693 utils/adt/regproc.c:1056 #, c-format msgid "collation \"%s\" for encoding \"%s\" does not exist" msgstr "\"%s\" 정렬정의(collation)가 \"%s\" 인코딩에서는 쓸 수 없음" -#: catalog/namespace.c:3701 +#: catalog/namespace.c:3748 #, c-format msgid "conversion \"%s\" does not exist" msgstr "\"%s\" 문자코드변환규칙(conversion) 없음" -#: catalog/namespace.c:3965 +#: catalog/namespace.c:4012 #, c-format msgid "permission denied to create temporary tables in database \"%s\"" msgstr "\"%s\" 데이터베이스에서 임시 파일을 만들 권한이 없음" -#: catalog/namespace.c:3981 +#: catalog/namespace.c:4028 #, c-format msgid "cannot create temporary tables during recovery" msgstr "복구 작업 중에는 임시 테이블을 만들 수 없음" -#: catalog/namespace.c:3987 +#: catalog/namespace.c:4034 #, c-format msgid "cannot create temporary tables during a parallel operation" msgstr "병렬 작업 중에 임시 테이블을 만들 수 없음" -#: catalog/namespace.c:4286 commands/tablespace.c:1205 commands/variable.c:64 -#: utils/misc/guc.c:11116 utils/misc/guc.c:11194 -#, c-format -msgid "List syntax is invalid." -msgstr "목록 문법이 틀렸습니다." - -#: catalog/objectaddress.c:1275 catalog/pg_publication.c:57 -#: commands/policy.c:95 commands/policy.c:375 commands/policy.c:465 -#: commands/tablecmds.c:230 commands/tablecmds.c:272 commands/tablecmds.c:1989 -#: commands/tablecmds.c:5626 commands/tablecmds.c:11089 +#: 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 #, c-format msgid "\"%s\" is not a table" msgstr "\"%s\" 개체는 테이블이 아님" -#: catalog/objectaddress.c:1282 commands/tablecmds.c:242 -#: commands/tablecmds.c:5656 commands/tablecmds.c:15711 commands/view.c:119 +#: catalog/objectaddress.c:1416 commands/tablecmds.c:260 +#: commands/tablecmds.c:17141 commands/view.c:119 #, c-format msgid "\"%s\" is not a view" msgstr "\"%s\" 개체는 뷰가 아님" -#: catalog/objectaddress.c:1289 commands/matview.c:175 commands/tablecmds.c:248 -#: commands/tablecmds.c:15716 +#: catalog/objectaddress.c:1423 commands/matview.c:186 commands/tablecmds.c:266 +#: commands/tablecmds.c:17146 #, c-format msgid "\"%s\" is not a materialized view" msgstr "\"%s\" 개체는 구체화된 뷰(materialized view)가 아닙니다" -#: catalog/objectaddress.c:1296 commands/tablecmds.c:266 -#: commands/tablecmds.c:5659 commands/tablecmds.c:15721 +#: catalog/objectaddress.c:1430 commands/tablecmds.c:284 +#: commands/tablecmds.c:17151 #, c-format msgid "\"%s\" is not a foreign table" msgstr "\"%s\" 개체는 외부 테이블이 아님" -#: catalog/objectaddress.c:1337 +#: catalog/objectaddress.c:1471 #, c-format msgid "must specify relation and object name" msgstr "릴레이션과 개체 이름을 지정해야 합니다" -#: catalog/objectaddress.c:1413 catalog/objectaddress.c:1466 +#: catalog/objectaddress.c:1547 catalog/objectaddress.c:1600 #, c-format msgid "column name must be qualified" msgstr "칼럼 이름으로 적당하지 않습니다" -#: catalog/objectaddress.c:1513 +#: catalog/objectaddress.c:1619 #, c-format msgid "default value for column \"%s\" of relation \"%s\" does not exist" msgstr "\"%s\" 칼럼(해당 릴레이션: \"%s\")의 기본값을 지정하지 않았음" -#: catalog/objectaddress.c:1550 commands/functioncmds.c:133 -#: commands/tablecmds.c:258 commands/typecmds.c:263 commands/typecmds.c:3275 -#: parser/parse_type.c:243 parser/parse_type.c:272 parser/parse_type.c:845 -#: utils/adt/acl.c:4436 +#: catalog/objectaddress.c:1656 commands/functioncmds.c:137 +#: commands/tablecmds.c:276 commands/typecmds.c:274 commands/typecmds.c:3689 +#: 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\" 자료형 없음" -#: catalog/objectaddress.c:1669 +#: catalog/objectaddress.c:1775 #, c-format msgid "operator %d (%s, %s) of %s does not exist" msgstr "%d (%s, %s) 연산자(대상 %s) 없음" -#: catalog/objectaddress.c:1700 +#: catalog/objectaddress.c:1806 #, c-format msgid "function %d (%s, %s) of %s does not exist" msgstr "%d (%s, %s) 함수(대상 %s) 없음" -#: catalog/objectaddress.c:1751 catalog/objectaddress.c:1777 +#: catalog/objectaddress.c:1857 catalog/objectaddress.c:1883 #, c-format msgid "user mapping for user \"%s\" on server \"%s\" does not exist" msgstr "\"%s\" 사용자에 대한 사용자 맵핑 정보(대상 서버: \"%s\")가 없음" -#: catalog/objectaddress.c:1766 commands/foreigncmds.c:430 -#: commands/foreigncmds.c:1012 commands/foreigncmds.c:1395 -#: foreign/foreign.c:723 +#: catalog/objectaddress.c:1872 commands/foreigncmds.c:430 +#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:700 #, c-format msgid "server \"%s\" does not exist" msgstr "\"%s\" 이름의 서버가 없음" -#: catalog/objectaddress.c:1833 +#: catalog/objectaddress.c:1939 #, c-format msgid "publication relation \"%s\" in publication \"%s\" does not exist" msgstr "\"%s\" 발행 릴레이션은 \"%s\" 발행에 없습니다." -#: catalog/objectaddress.c:1895 +#: catalog/objectaddress.c:1986 +#, c-format +msgid "publication schema \"%s\" in publication \"%s\" does not exist" +msgstr "\"%s\" 발행 스키마는 \"%s\" 발행에 없습니다." + +#: catalog/objectaddress.c:2044 #, c-format msgid "unrecognized default ACL object type \"%c\"" msgstr "알 수 없는 기본 ACL 개체 타입 \"%c\"" -#: catalog/objectaddress.c:1896 +#: catalog/objectaddress.c:2045 #, c-format msgid "Valid object types are \"%c\", \"%c\", \"%c\", \"%c\", \"%c\"." msgstr "유효한 개체 형태는 \"%c\", \"%c\", \"%c\", \"%c\", \"%c\"." -#: catalog/objectaddress.c:1947 +#: catalog/objectaddress.c:2096 #, c-format msgid "default ACL for user \"%s\" in schema \"%s\" on %s does not exist" msgstr "\"%s\" 사용자용 기본 ACL 없음. (해당 스키마: \"%s\", 해당 개체: %s)" -#: catalog/objectaddress.c:1952 +#: catalog/objectaddress.c:2101 #, c-format msgid "default ACL for user \"%s\" on %s does not exist" msgstr "\"%s\" 사용자용 기본 ACL 없음. (해당 개체: %s)" -#: catalog/objectaddress.c:1979 catalog/objectaddress.c:2037 -#: catalog/objectaddress.c:2094 +#: catalog/objectaddress.c:2127 catalog/objectaddress.c:2184 +#: catalog/objectaddress.c:2239 #, c-format msgid "name or argument lists may not contain nulls" msgstr "이름이나 인자 목록에는 null이 포함되지 않아야 함" -#: catalog/objectaddress.c:2013 +#: catalog/objectaddress.c:2161 #, c-format msgid "unsupported object type \"%s\"" msgstr "\"%s\" 형 지원하지 않음" -#: catalog/objectaddress.c:2033 catalog/objectaddress.c:2051 -#: catalog/objectaddress.c:2192 +#: catalog/objectaddress.c:2180 catalog/objectaddress.c:2197 +#: catalog/objectaddress.c:2262 catalog/objectaddress.c:2346 #, c-format msgid "name list length must be exactly %d" msgstr "이름 목록 길이는 %d 이어야 합니다." -#: catalog/objectaddress.c:2055 +#: catalog/objectaddress.c:2201 #, c-format msgid "large object OID may not be null" msgstr "대형 개체 OID는 null 값을 사용할 수 없음" -#: catalog/objectaddress.c:2064 catalog/objectaddress.c:2127 -#: catalog/objectaddress.c:2134 +#: catalog/objectaddress.c:2210 catalog/objectaddress.c:2280 +#: catalog/objectaddress.c:2287 #, c-format msgid "name list length must be at least %d" msgstr "이름 목록 길이는 적어도 %d 개 이상이어야 함" -#: catalog/objectaddress.c:2120 catalog/objectaddress.c:2141 +#: catalog/objectaddress.c:2273 catalog/objectaddress.c:2294 #, c-format msgid "argument list length must be exactly %d" msgstr "인자 목록은 %d 개여야 함" -#: catalog/objectaddress.c:2393 libpq/be-fsstubs.c:321 +#: catalog/objectaddress.c:2508 libpq/be-fsstubs.c:329 #, c-format msgid "must be owner of large object %u" msgstr "%u 대경 개체의 소유주여야만 합니다" -#: catalog/objectaddress.c:2408 commands/functioncmds.c:1445 +#: catalog/objectaddress.c:2523 commands/functioncmds.c:1561 +#, c-format +msgid "must be owner of type %s or type %s" +msgstr "%s, %s 자료형의 소유주여야 합니다" + +#: catalog/objectaddress.c:2550 catalog/objectaddress.c:2559 +#: catalog/objectaddress.c:2565 +#, c-format +msgid "permission denied" +msgstr "권한 없음" + +#: catalog/objectaddress.c:2551 catalog/objectaddress.c:2560 +#, c-format +msgid "The current user must have the %s attribute." +msgstr "현재 사용자는 %s 속성이 있어야합니다." + +#: catalog/objectaddress.c:2566 #, c-format -msgid "must be owner of type %s or type %s" -msgstr "%s, %s 자료형의 소유주여야합니다" +msgid "The current user must have the %s option on role \"%s\"." +msgstr "현재 사용자는 %s 옵션을 지정해야함, 해당 롤: \"%s\"" -#: catalog/objectaddress.c:2458 catalog/objectaddress.c:2475 +#: catalog/objectaddress.c:2580 #, c-format msgid "must be superuser" msgstr "슈퍼유져여야함" -#: catalog/objectaddress.c:2465 -#, c-format -msgid "must have CREATEROLE privilege" -msgstr "CREATEROLE 권한이 있어야 함" - -#: catalog/objectaddress.c:2544 +#: catalog/objectaddress.c:2649 #, c-format msgid "unrecognized object type \"%s\"" msgstr "알 수 없는 개체 형태 \"%s\"" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:2772 +#: catalog/objectaddress.c:2941 #, c-format msgid "column %s of %s" msgstr " %s 칼럼(%s 의)" -#: catalog/objectaddress.c:2782 +#: catalog/objectaddress.c:2956 #, c-format msgid "function %s" msgstr "%s 함수" -#: catalog/objectaddress.c:2787 +#: catalog/objectaddress.c:2969 #, c-format msgid "type %s" msgstr "%s 자료형" -#: catalog/objectaddress.c:2817 +#: catalog/objectaddress.c:3006 #, c-format msgid "cast from %s to %s" msgstr "%s 자료형을 %s 자료형으로 바꾸는 작업" -#: catalog/objectaddress.c:2845 +#: catalog/objectaddress.c:3039 #, c-format msgid "collation %s" msgstr "collation %s" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:2871 +#: catalog/objectaddress.c:3070 #, c-format msgid "constraint %s on %s" msgstr "%s 제약 조건(해당 개체: %s)" -#: catalog/objectaddress.c:2877 +#: catalog/objectaddress.c:3076 #, c-format msgid "constraint %s" msgstr "%s 제약 조건" -#: catalog/objectaddress.c:2904 +#: catalog/objectaddress.c:3108 #, c-format msgid "conversion %s" msgstr "%s 문자코드변환규칙" #. translator: %s is typically "column %s of table %s" -#: catalog/objectaddress.c:2943 +#: catalog/objectaddress.c:3130 #, c-format msgid "default value for %s" msgstr "%s 용 기본값" -#: catalog/objectaddress.c:2952 +#: catalog/objectaddress.c:3141 #, c-format msgid "language %s" msgstr "프로시주얼 언어 %s" -#: catalog/objectaddress.c:2957 +#: catalog/objectaddress.c:3149 #, c-format msgid "large object %u" msgstr "%u 대형 개체" -#: catalog/objectaddress.c:2962 +#: catalog/objectaddress.c:3162 #, c-format msgid "operator %s" msgstr "%s 연산자" -#: catalog/objectaddress.c:2994 +#: catalog/objectaddress.c:3199 #, c-format msgid "operator class %s for access method %s" msgstr "%s 연산자 클래스, %s 인덱스 액세스 방법" -#: catalog/objectaddress.c:3017 +#: catalog/objectaddress.c:3227 #, c-format msgid "access method %s" msgstr "%s 접근 방법" @@ -5090,7 +5614,7 @@ msgstr "%s 접근 방법" #. first two %s's are data type names, the third %s is the #. description of the operator family, and the last %s is the #. textual form of the operator with arguments. -#: catalog/objectaddress.c:3059 +#: catalog/objectaddress.c:3276 #, c-format msgid "operator %d (%s, %s) of %s: %s" msgstr "%d (%s, %s) 연산자 (연산자 패밀리: %s): %s" @@ -5099,257 +5623,274 @@ msgstr "%d (%s, %s) 연산자 (연산자 패밀리: %s): %s" #. are data type names, the third %s is the description of the #. operator family, and the last %s is the textual form of the #. function with arguments. -#: catalog/objectaddress.c:3109 +#: catalog/objectaddress.c:3333 #, c-format msgid "function %d (%s, %s) of %s: %s" msgstr "%d (%s, %s) 함수 (연산자 패밀리: %s): %s" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:3153 +#: catalog/objectaddress.c:3385 #, c-format msgid "rule %s on %s" msgstr "%s 룰(rule), 해당 테이블: %s" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:3191 +#: catalog/objectaddress.c:3431 #, c-format msgid "trigger %s on %s" msgstr "%s 트리거, 해당 테이블: %s" -#: catalog/objectaddress.c:3207 +#: catalog/objectaddress.c:3451 #, c-format msgid "schema %s" msgstr "%s 스키마" -#: catalog/objectaddress.c:3230 +#: catalog/objectaddress.c:3479 #, c-format msgid "statistics object %s" msgstr "%s 통계정보 개체" -#: catalog/objectaddress.c:3257 +#: catalog/objectaddress.c:3510 #, c-format msgid "text search parser %s" msgstr "%s 전문 검색 파서" -#: catalog/objectaddress.c:3283 +#: catalog/objectaddress.c:3541 #, c-format msgid "text search dictionary %s" msgstr "%s 전문 검색 사전" -#: catalog/objectaddress.c:3309 +#: catalog/objectaddress.c:3572 #, c-format msgid "text search template %s" msgstr "%s 전문 검색 템플릿" -#: catalog/objectaddress.c:3335 +#: catalog/objectaddress.c:3603 #, c-format msgid "text search configuration %s" msgstr "%s 전문 검색 구성" -#: catalog/objectaddress.c:3344 +#: catalog/objectaddress.c:3616 #, c-format msgid "role %s" msgstr "%s 롤" -#: catalog/objectaddress.c:3357 +#: catalog/objectaddress.c:3653 catalog/objectaddress.c:5505 +#, c-format +msgid "membership of role %s in role %s" +msgstr "%s 롤 구성원(해당 롤: %s)" + +#: catalog/objectaddress.c:3674 #, c-format msgid "database %s" msgstr "%s 데이터베이스" -#: catalog/objectaddress.c:3369 +#: catalog/objectaddress.c:3690 #, c-format msgid "tablespace %s" msgstr "%s 테이블스페이스" -#: catalog/objectaddress.c:3378 +#: catalog/objectaddress.c:3701 #, c-format msgid "foreign-data wrapper %s" msgstr "%s 외부 데이터 래퍼" -#: catalog/objectaddress.c:3387 +#: catalog/objectaddress.c:3711 #, c-format msgid "server %s" msgstr "%s 서버" -#: catalog/objectaddress.c:3415 +#: catalog/objectaddress.c:3744 #, c-format msgid "user mapping for %s on server %s" msgstr "%s에 대한 사용자 매핑, 해당 서버: %s" -#: catalog/objectaddress.c:3460 +#: catalog/objectaddress.c:3796 #, c-format msgid "default privileges on new relations belonging to role %s in schema %s" msgstr "" "%s 롤(해당 스키마: %s)이 새 테이블을 만들 때 기본적으로 지정할 접근 권한" -#: catalog/objectaddress.c:3464 +#: catalog/objectaddress.c:3800 #, c-format msgid "default privileges on new relations belonging to role %s" msgstr "%s 롤이 새 테이블을 만들 때 기본적으로 지정할 접근 권한" -#: catalog/objectaddress.c:3470 +#: catalog/objectaddress.c:3806 #, c-format msgid "default privileges on new sequences belonging to role %s in schema %s" msgstr "" "%s 롤(해당 스키마: %s)이 새 시퀀스를 만들 때 기본적으로 지정할 접근 권한" -#: catalog/objectaddress.c:3474 +#: catalog/objectaddress.c:3810 #, c-format msgid "default privileges on new sequences belonging to role %s" msgstr "%s 롤이 새 시퀀스를 만들 때 기본적으로 지정할 접근 권한" -#: catalog/objectaddress.c:3480 +#: catalog/objectaddress.c:3816 #, c-format msgid "default privileges on new functions belonging to role %s in schema %s" msgstr "%s 롤(해당 스키마: %s)이 새 함수를 만들 때 기본적으로 지정할 접근 권한" -#: catalog/objectaddress.c:3484 +#: catalog/objectaddress.c:3820 #, c-format msgid "default privileges on new functions belonging to role %s" msgstr "%s 롤이 새 함수를 만들 때 기본적으로 지정할 접근 권한" -#: catalog/objectaddress.c:3490 +#: catalog/objectaddress.c:3826 #, c-format msgid "default privileges on new types belonging to role %s in schema %s" msgstr "" "%s 롤(해당 스키마: %s)이 새 자료형을 만들 때 기본적으로 지정할 접근 권한" -#: catalog/objectaddress.c:3494 +#: catalog/objectaddress.c:3830 #, c-format msgid "default privileges on new types belonging to role %s" msgstr "%s 롤이 새 자료형을 만들 때 기본적으로 지정할 접근 권한" -#: catalog/objectaddress.c:3500 +#: catalog/objectaddress.c:3836 #, c-format msgid "default privileges on new schemas belonging to role %s" msgstr "%s 롤이 새 시퀀스를 만들 때 기본적으로 지정할 접근 권한" -#: catalog/objectaddress.c:3507 +#: catalog/objectaddress.c:3843 #, c-format msgid "default privileges belonging to role %s in schema %s" msgstr "%s 롤(해당 스키마: %s)의 기본 접근 권한" -#: catalog/objectaddress.c:3511 +#: catalog/objectaddress.c:3847 #, c-format msgid "default privileges belonging to role %s" msgstr "%s 롤의 기본 접근 권한" -#: catalog/objectaddress.c:3529 +#: catalog/objectaddress.c:3869 #, c-format msgid "extension %s" msgstr "%s 확장 모듈" -#: catalog/objectaddress.c:3542 +#: catalog/objectaddress.c:3886 #, c-format msgid "event trigger %s" msgstr "%s 이벤트 트리거" +#: catalog/objectaddress.c:3910 +#, c-format +msgid "parameter %s" +msgstr "매개 변수 %s" + #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:3578 +#: catalog/objectaddress.c:3953 #, c-format msgid "policy %s on %s" msgstr "%s 정책(%s 의)" -#: catalog/objectaddress.c:3588 +#: catalog/objectaddress.c:3967 #, c-format msgid "publication %s" msgstr "%s 발행" +#: catalog/objectaddress.c:3980 +#, c-format +msgid "publication of schema %s in publication %s" +msgstr "%s 스키마 발행 (해당 발행이름: %s)" + #. translator: first %s is, e.g., "table %s" -#: catalog/objectaddress.c:3614 +#: catalog/objectaddress.c:4011 #, c-format msgid "publication of %s in publication %s" msgstr "%s 발행 (해당 발행이름: %s)" -#: catalog/objectaddress.c:3623 +#: catalog/objectaddress.c:4024 #, c-format msgid "subscription %s" msgstr "%s 구독" -#: catalog/objectaddress.c:3642 +#: catalog/objectaddress.c:4045 #, c-format msgid "transform for %s language %s" msgstr "%s 형 변환자, 대상언어: %s" -#: catalog/objectaddress.c:3705 +#: catalog/objectaddress.c:4116 #, c-format msgid "table %s" msgstr "%s 테이블" -#: catalog/objectaddress.c:3710 +#: catalog/objectaddress.c:4121 #, c-format msgid "index %s" msgstr "%s 인덱스" -#: catalog/objectaddress.c:3714 +#: catalog/objectaddress.c:4125 #, c-format msgid "sequence %s" msgstr "%s 시퀀스" -#: catalog/objectaddress.c:3718 +#: catalog/objectaddress.c:4129 #, c-format msgid "toast table %s" msgstr "%s 토스트 테이블" -#: catalog/objectaddress.c:3722 +#: catalog/objectaddress.c:4133 #, c-format msgid "view %s" msgstr "%s 뷰" -#: catalog/objectaddress.c:3726 +#: catalog/objectaddress.c:4137 #, c-format msgid "materialized view %s" msgstr "%s 구체화된 뷰" -#: catalog/objectaddress.c:3730 +#: catalog/objectaddress.c:4141 #, c-format msgid "composite type %s" msgstr "%s 복합 자료형" -#: catalog/objectaddress.c:3734 +#: catalog/objectaddress.c:4145 #, c-format msgid "foreign table %s" msgstr "%s 외부 테이블" -#: catalog/objectaddress.c:3739 +#: catalog/objectaddress.c:4150 #, c-format msgid "relation %s" msgstr "%s 릴레이션" -#: catalog/objectaddress.c:3776 +#: catalog/objectaddress.c:4191 #, c-format msgid "operator family %s for access method %s" msgstr "%s 연산자 페밀리, 접근 방법: %s" -#: catalog/pg_aggregate.c:128 +#: catalog/pg_aggregate.c:129 #, c-format msgid "aggregates cannot have more than %d argument" msgid_plural "aggregates cannot have more than %d arguments" msgstr[0] "집계 함수에는 %d개 이상의 인자를 사용할 수 없음" -#: catalog/pg_aggregate.c:143 catalog/pg_aggregate.c:157 +#: catalog/pg_aggregate.c:144 catalog/pg_aggregate.c:158 #, c-format msgid "cannot determine transition data type" msgstr "처리할(변환할) 자료형을 결정할 수 없음" -#: catalog/pg_aggregate.c:172 +#: catalog/pg_aggregate.c:173 #, c-format msgid "a variadic ordered-set aggregate must use VARIADIC type ANY" msgstr "variadic 순서있는 세트 집계함수는 VARIADIC ANY 형을 사용해야 합니다" -#: catalog/pg_aggregate.c:198 +#: catalog/pg_aggregate.c:199 #, c-format msgid "" "a hypothetical-set aggregate must have direct arguments matching its " "aggregated arguments" msgstr "" +"가상 집합 집계 함수(hypothetical-set aggregate)의 인자는 그것과 대응하는 실함" +"수의 인자와 일치해야합니다." -#: catalog/pg_aggregate.c:245 catalog/pg_aggregate.c:289 +#: catalog/pg_aggregate.c:246 catalog/pg_aggregate.c:290 #, c-format msgid "return type of transition function %s is not %s" msgstr "%s 이름의 transition 함수의 리턴 자료형이 %s 형이 아닙니다" -#: catalog/pg_aggregate.c:265 catalog/pg_aggregate.c:308 +#: catalog/pg_aggregate.c:266 catalog/pg_aggregate.c:309 #, c-format msgid "" "must not omit initial value when transition function is strict and " @@ -5358,152 +5899,204 @@ msgstr "" "변환 함수가 엄격하고 변환 형식이 입력 형식과 호환되지 않는 경우 초기값을 생략" "하면 안됨" -#: catalog/pg_aggregate.c:334 +#: catalog/pg_aggregate.c:335 #, c-format msgid "return type of inverse transition function %s is not %s" msgstr "%s inverse transition 함수의 반환 자료형이 %s 형이 아닙니다." -#: catalog/pg_aggregate.c:351 executor/nodeWindowAgg.c:2852 +#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:3009 #, c-format msgid "" "strictness of aggregate's forward and inverse transition functions must match" -msgstr "" +msgstr "집계 함수의 정방향 및 역방향 전환 함수의 엄격성이 일치해야 합니다." -#: catalog/pg_aggregate.c:395 catalog/pg_aggregate.c:553 +#: catalog/pg_aggregate.c:396 catalog/pg_aggregate.c:554 #, c-format msgid "final function with extra arguments must not be declared STRICT" msgstr "부가 인자를 쓰는 마침 함수는 STRICT 옵션이 없어야 함" -#: catalog/pg_aggregate.c:426 +#: catalog/pg_aggregate.c:427 #, c-format msgid "return type of combine function %s is not %s" msgstr "%s combine 함수의 반환 자료형이 %s 형이 아닙니다" -#: catalog/pg_aggregate.c:438 executor/nodeAgg.c:4177 +#: catalog/pg_aggregate.c:439 executor/nodeAgg.c:3903 #, c-format msgid "combine function with transition type %s must not be declared STRICT" msgstr "" "%s 자료형을 전달 값으로 사용하는 조합 함수는 STRICT 속성을 가져야 합니다" -#: catalog/pg_aggregate.c:457 +#: catalog/pg_aggregate.c:458 #, c-format msgid "return type of serialization function %s is not %s" msgstr "%s serialization 함수의 반환 자료형이 %s 형이 아닙니다." -#: catalog/pg_aggregate.c:478 +#: catalog/pg_aggregate.c:479 #, c-format msgid "return type of deserialization function %s is not %s" msgstr "%s deserialization 함수의 반환 자료형이 %s 형이 아닙니다" -#: catalog/pg_aggregate.c:497 catalog/pg_proc.c:186 catalog/pg_proc.c:220 +#: catalog/pg_aggregate.c:498 catalog/pg_proc.c:191 catalog/pg_proc.c:225 #, c-format msgid "cannot determine result data type" msgstr "결과 자료형을 결정할 수 없음" -#: catalog/pg_aggregate.c:512 catalog/pg_proc.c:199 catalog/pg_proc.c:228 +#: catalog/pg_aggregate.c:513 catalog/pg_proc.c:204 catalog/pg_proc.c:233 #, c-format msgid "unsafe use of pseudo-type \"internal\"" msgstr "\"internal\" 의사-자료형의 사용이 안전하지 않습니다" -#: catalog/pg_aggregate.c:566 +#: catalog/pg_aggregate.c:567 #, c-format msgid "" "moving-aggregate implementation returns type %s, but plain implementation " "returns type %s" msgstr "" +"움직이는 집계함수의 구현된 반환 자료형은 %s 형이지만, 일반 함수의 구현된 자료" +"형은 %s 형입니다." -#: catalog/pg_aggregate.c:577 +#: catalog/pg_aggregate.c:578 #, c-format msgid "sort operator can only be specified for single-argument aggregates" msgstr "정렬 연산자는 단일 인자 집계에만 지정할 수 있음" -#: catalog/pg_aggregate.c:704 catalog/pg_proc.c:374 +#: catalog/pg_aggregate.c:706 catalog/pg_proc.c:386 #, c-format msgid "cannot change routine kind" msgstr "루틴 종류를 바꿀 수 없음" -#: catalog/pg_aggregate.c:706 +#: catalog/pg_aggregate.c:708 #, c-format msgid "\"%s\" is an ordinary aggregate function." msgstr "\"%s\" 개체는 ordinary 집계 함수입니다" -#: catalog/pg_aggregate.c:708 +#: catalog/pg_aggregate.c:710 #, c-format msgid "\"%s\" is an ordered-set aggregate." msgstr "\"%s\" 개체는 정렬된 집합 집계 함수입니다" -#: catalog/pg_aggregate.c:710 +#: catalog/pg_aggregate.c:712 #, c-format msgid "\"%s\" is a hypothetical-set aggregate." -msgstr "" +msgstr "\"%s\" 함수는 가상 집합 집계 함수입니다." -#: catalog/pg_aggregate.c:715 +#: catalog/pg_aggregate.c:717 #, c-format msgid "cannot change number of direct arguments of an aggregate function" msgstr "집계 함수의 direct 인자 번호는 바꿀 수 없음" -#: catalog/pg_aggregate.c:870 commands/functioncmds.c:667 -#: commands/typecmds.c:1658 commands/typecmds.c:1704 commands/typecmds.c:1756 -#: commands/typecmds.c:1793 commands/typecmds.c:1827 commands/typecmds.c:1861 -#: commands/typecmds.c:1895 commands/typecmds.c:1972 commands/typecmds.c:2014 -#: parser/parse_func.c:414 parser/parse_func.c:443 parser/parse_func.c:468 -#: parser/parse_func.c:482 parser/parse_func.c:602 parser/parse_func.c:622 -#: parser/parse_func.c:2129 parser/parse_func.c:2320 +#: 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 parser/parse_func.c:2171 parser/parse_func.c:2444 #, c-format msgid "function %s does not exist" msgstr "%s 이름의 함수가 없음" -#: catalog/pg_aggregate.c:876 +#: catalog/pg_aggregate.c:864 #, c-format msgid "function %s returns a set" msgstr "%s 함수는 한 set을 리턴함" -#: catalog/pg_aggregate.c:891 +#: catalog/pg_aggregate.c:879 #, c-format msgid "function %s must accept VARIADIC ANY to be used in this aggregate" msgstr "%s 함수가 이 집계작업에 사용되려면 VARIADIC ANY 형을 수용해야 합니다." -#: catalog/pg_aggregate.c:915 +#: catalog/pg_aggregate.c:903 #, c-format msgid "function %s requires run-time type coercion" msgstr "%s 함수는 run-time type coercion을 필요로 함" -#: catalog/pg_cast.c:67 +#: catalog/pg_cast.c:75 #, c-format msgid "cast from type %s to type %s already exists" msgstr "%s 형에서 %s 형으로 변환하는 형변환 규칙(cast)이 이미 있습니다" -#: catalog/pg_collation.c:93 catalog/pg_collation.c:140 +#: catalog/pg_class.c:29 +#, c-format +msgid "This operation is not supported for tables." +msgstr "이 작업은 테이블 대상으로 지원하지 않습니다." + +#: catalog/pg_class.c:31 +#, c-format +msgid "This operation is not supported for indexes." +msgstr "이 작업은 인덱스 대상으로 지원하지 않습니다." + +#: catalog/pg_class.c:33 +#, c-format +msgid "This operation is not supported for sequences." +msgstr "이 작업은 시퀀스 대상으로 지원하지 않습니다." + +#: catalog/pg_class.c:35 +#, c-format +msgid "This operation is not supported for TOAST tables." +msgstr "이 작업은 TOAST 테이블 대상으로 지원하지 않습니다." + +#: catalog/pg_class.c:37 +#, c-format +msgid "This operation is not supported for views." +msgstr "이 작업은 뷰 대상으로 지원하지 않습니다." + +#: catalog/pg_class.c:39 +#, c-format +msgid "This operation is not supported for materialized views." +msgstr "이 작업은 구체화된 뷰 대상으로 지원하지 않습니다." + +#: catalog/pg_class.c:41 +#, c-format +msgid "This operation is not supported for composite types." +msgstr "이 작업은 복합 자료형 대상으로 지원하지 않습니다." + +#: catalog/pg_class.c:43 +#, c-format +msgid "This operation is not supported for foreign tables." +msgstr "이 작업은 외부 테이블 대상으로 지원하지 않습니다." + +#: catalog/pg_class.c:45 +#, c-format +msgid "This operation is not supported for partitioned tables." +msgstr "이 작업은 파티션 된 테이블 대상으로 지원하지 않습니다." + +#: catalog/pg_class.c:47 +#, c-format +msgid "This operation is not supported for partitioned indexes." +msgstr "이 작업은 파티션 된 인덱스 대상으로 지원하지 않습니다." + +#: catalog/pg_collation.c:102 catalog/pg_collation.c:160 #, c-format msgid "collation \"%s\" already exists, skipping" msgstr "\"%s\" 이름의 정렬규칙이 이미 있습니다, 건너뜀" -#: catalog/pg_collation.c:95 +#: catalog/pg_collation.c:104 #, c-format msgid "collation \"%s\" for encoding \"%s\" already exists, skipping" msgstr "\"%s\" 정렬규칙이 \"%s\" 인코딩에 이미 지정되어 있습니다, 건너뜀" -#: catalog/pg_collation.c:103 catalog/pg_collation.c:147 +#: catalog/pg_collation.c:112 catalog/pg_collation.c:167 #, c-format msgid "collation \"%s\" already exists" msgstr "\"%s\" 정렬규칙이 이미 있습니다" -#: catalog/pg_collation.c:105 +#: catalog/pg_collation.c:114 #, c-format msgid "collation \"%s\" for encoding \"%s\" already exists" msgstr "\"%s\" 정렬규칙이 \"%s\" 인코딩에 이미 지정되어 있습니다" -#: catalog/pg_constraint.c:676 +#: catalog/pg_constraint.c:690 #, c-format msgid "constraint \"%s\" for domain %s already exists" msgstr "\"%s\" 제약 조건이 %s 도메인에 이미 지정되어 있습니다" -#: catalog/pg_constraint.c:874 catalog/pg_constraint.c:967 +#: catalog/pg_constraint.c:890 catalog/pg_constraint.c:983 #, c-format msgid "constraint \"%s\" for table \"%s\" does not exist" msgstr "\"%s\" 제약 조건은 \"%s\" 테이블에 없음" -#: catalog/pg_constraint.c:1056 +#: catalog/pg_constraint.c:1083 #, c-format msgid "constraint \"%s\" for domain %s does not exist" msgstr "\"%s\" 제약 조건은 %s 도메인에 없음" @@ -5518,53 +6111,105 @@ msgstr "\"%s\" 이름의 변환규칙(conversion)이 이미 있음" msgid "default conversion for %s to %s already exists" msgstr "%s 코드에서 %s 코드로 변환하는 기본 변환규칙(conversion)은 이미 있음" -#: catalog/pg_depend.c:162 commands/extension.c:3324 +#: catalog/pg_depend.c:222 commands/extension.c:3368 #, c-format msgid "%s is already a member of extension \"%s\"" msgstr "%s 개체는 \"%s\" 확장모듈에 이미 구성원입니다" -#: catalog/pg_depend.c:538 +#: 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\" 개체는 \"%s\" 확장 모듈의 구성 요소가 아닙니다" + +#: catalog/pg_depend.c:232 +#, c-format +msgid "An extension is not allowed to replace an object that it does not own." +msgstr "확장 모듈이 자기 소유 객체가 아닌 객체를 덮어 쓸 수는 없습니다." + +#: catalog/pg_depend.c:283 +#, c-format +msgid "" +"An extension may only use CREATE ... IF NOT EXISTS to skip object creation " +"if the conflicting object is one that it already owns." +msgstr "" +"이미 있는 객체와 충돌을 피하기 위해 이미 있는 객체 생성을 건너뛰려면, 확장 모" +"듈에서 CREATE ... IF NOT EXISTS 구문을 사용해야합니다." + +#: catalog/pg_depend.c:646 #, c-format msgid "cannot remove dependency on %s because it is a system object" -msgstr "%s 의존개체들은 시스템 개체이기 때문에 삭제 될 수 없습니다" +msgstr "%s 객체가 시스템 객체이기 때문에 의존성을 없앨 수 없습니다." -#: catalog/pg_enum.c:127 catalog/pg_enum.c:230 catalog/pg_enum.c:525 +#: catalog/pg_enum.c:137 catalog/pg_enum.c:259 catalog/pg_enum.c:554 #, c-format msgid "invalid enum label \"%s\"" msgstr "\"%s\" 열거형 라벨이 잘못됨" -#: catalog/pg_enum.c:128 catalog/pg_enum.c:231 catalog/pg_enum.c:526 +#: catalog/pg_enum.c:138 catalog/pg_enum.c:260 catalog/pg_enum.c:555 #, c-format -msgid "Labels must be %d characters or less." -msgstr "라벨은 %d자 이하여야 합니다." +msgid "Labels must be %d bytes or less." +msgstr "라벨은 %d 바이트 이하여야 합니다." -#: catalog/pg_enum.c:259 +#: catalog/pg_enum.c:288 #, c-format msgid "enum label \"%s\" already exists, skipping" msgstr "\"%s\" 이름의 열거형 라벨이 이미 있음, 건너뜀" -#: catalog/pg_enum.c:266 catalog/pg_enum.c:569 +#: catalog/pg_enum.c:295 catalog/pg_enum.c:598 #, c-format msgid "enum label \"%s\" already exists" msgstr "\"%s\" 이름의 열거형 라벨이 이미 있음" -#: catalog/pg_enum.c:321 catalog/pg_enum.c:564 +#: catalog/pg_enum.c:350 catalog/pg_enum.c:593 #, c-format msgid "\"%s\" is not an existing enum label" msgstr "\"%s\" 열거형 라벨이 없음" -#: catalog/pg_enum.c:379 +#: catalog/pg_enum.c:408 #, c-format msgid "pg_enum OID value not set when in binary upgrade mode" msgstr "이진 업그레이드 작업 때 pg_enum OID 값이 지정되지 않았습니다" -#: catalog/pg_enum.c:389 +#: catalog/pg_enum.c:418 #, c-format msgid "ALTER TYPE ADD BEFORE/AFTER is incompatible with binary upgrade" msgstr "" "ALTER TYPE ADD BEFORE/AFTER 구문은 이진 업그레이드 작업에서 호환하지 않습니다" -#: catalog/pg_namespace.c:64 commands/schemacmds.c:265 +#: catalog/pg_inherits.c:593 +#, c-format +msgid "cannot detach partition \"%s\"" +msgstr "\"%s\" 하위 파티션 테이블을 뗄 수 없음" + +#: catalog/pg_inherits.c:595 +#, c-format +msgid "" +"The partition is being detached concurrently or has an unfinished detach." +msgstr "" +"이 파티션은 이미 concurrently 옵션을 사용해서 떼기 작업을 했거나, 아직 떼기" +"가 안 끝났습니다." + +#: catalog/pg_inherits.c:596 commands/tablecmds.c:4583 +#: commands/tablecmds.c:15464 +#, c-format +msgid "" +"Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending " +"detach operation." +msgstr "" +"보류 중인 떼기를 마치려면, ALTER TABLE ... DETACH PARTITION ... FINALIZE 명령" +"을 사용하세요." + +#: catalog/pg_inherits.c:600 +#, c-format +msgid "cannot complete detaching partition \"%s\"" +msgstr "\"%s\" 파티션 떼기를 끝낼 수 없습니다" + +#: catalog/pg_inherits.c:602 +#, c-format +msgid "There's no pending concurrent detach." +msgstr "현재 보류 중인 떼기 작업이 없습니다." + +#: catalog/pg_namespace.c:64 commands/schemacmds.c:273 #, c-format msgid "schema \"%s\" already exists" msgstr "\"%s\" 이름의 스키마(schema)가 이미 있음" @@ -5577,47 +6222,47 @@ msgstr "\"%s\" 타당한 연산자 이름이 아님" #: catalog/pg_operator.c:370 #, c-format msgid "only binary operators can have commutators" -msgstr "_^_ 바이너리 연산자만이 commutator를 가질 수 있음" +msgstr "바이너리 연산자만이 commutator를 가질 수 있음" -#: catalog/pg_operator.c:374 commands/operatorcmds.c:495 +#: catalog/pg_operator.c:374 commands/operatorcmds.c:509 #, c-format msgid "only binary operators can have join selectivity" -msgstr "_^_ 바이너리 연산자만이 join selectivity를 가질 수 있음" +msgstr "바이너리 연산자만이 join selectivity를 가질 수 있음" #: catalog/pg_operator.c:378 #, c-format msgid "only binary operators can merge join" -msgstr "_^_ 바이너리 연산자만이 merge join할 수 있음" +msgstr "바이너리 연산자만이 merge join할 수 있음" #: catalog/pg_operator.c:382 #, c-format msgid "only binary operators can hash" -msgstr "_^_ 바이너리 연산자만이 해시할 수 있음" +msgstr "바이너리 연산자만이 해시할 수 있음" #: catalog/pg_operator.c:393 #, c-format msgid "only boolean operators can have negators" -msgstr "부울 연산자만 부정어를 포함할 수 있음" +msgstr "불리언 연산자만 부정어를 포함할 수 있음" -#: catalog/pg_operator.c:397 commands/operatorcmds.c:503 +#: catalog/pg_operator.c:397 commands/operatorcmds.c:517 #, c-format msgid "only boolean operators can have restriction selectivity" -msgstr "부울 연산자만 제한 선택을 포함할 수 있음" +msgstr "불리언 연산자만 제한 선택을 포함할 수 있음" -#: catalog/pg_operator.c:401 commands/operatorcmds.c:507 +#: catalog/pg_operator.c:401 commands/operatorcmds.c:521 #, c-format msgid "only boolean operators can have join selectivity" -msgstr "부울 연산자만 조인 선택을 포함할 수 있음" +msgstr "불리언 연산자만 조인 선택을 포함할 수 있음" #: catalog/pg_operator.c:405 #, c-format msgid "only boolean operators can merge join" -msgstr "부울 연산자만 머지 조인을 지정할 수 있음" +msgstr "불리언 연산자만 머지 조인을 지정할 수 있음" #: catalog/pg_operator.c:409 #, c-format msgid "only boolean operators can hash" -msgstr "부울 연산자만 해시를 지정할 수 있음" +msgstr "불리언 연산자만 해시를 지정할 수 있음" #: catalog/pg_operator.c:421 #, c-format @@ -5629,43 +6274,53 @@ msgstr "%s 연산자가 이미 있음" msgid "operator cannot be its own negator or sort operator" msgstr "연산자는 자신의 negator나 sort 연산자가 될 수 없습니다" -#: catalog/pg_proc.c:127 parser/parse_func.c:2191 +#: catalog/pg_parameter_acl.c:53 +#, c-format +msgid "parameter ACL \"%s\" does not exist" +msgstr "\"%s\" 매개 변수 ACL이 없음" + +#: catalog/pg_parameter_acl.c:88 +#, c-format +msgid "invalid parameter name \"%s\"" +msgstr "\"%s\" 이름은 잘못된 매개 변수 이름입니다." + +#: catalog/pg_proc.c:132 parser/parse_func.c:2233 #, c-format msgid "functions cannot have more than %d argument" msgid_plural "functions cannot have more than %d arguments" msgstr[0] "함수는 %d개 이상의 인자를 사용할 수 없음" -#: catalog/pg_proc.c:364 +#: catalog/pg_proc.c:376 #, c-format msgid "function \"%s\" already exists with same argument types" msgstr "이미 같은 인자 자료형을 사용하는 \"%s\" 함수가 있습니다" -#: catalog/pg_proc.c:376 +#: catalog/pg_proc.c:388 #, c-format msgid "\"%s\" is an aggregate function." msgstr "\"%s\" 개체는 집계 함수입니다" -#: catalog/pg_proc.c:378 +#: catalog/pg_proc.c:390 #, c-format msgid "\"%s\" is a function." msgstr "\"%s\" 개체는 함수입니다." -#: catalog/pg_proc.c:380 +#: catalog/pg_proc.c:392 #, c-format msgid "\"%s\" is a procedure." msgstr "\"%s\" 개체는 프로시져입니다." -#: catalog/pg_proc.c:382 +#: catalog/pg_proc.c:394 #, c-format msgid "\"%s\" is a window function." msgstr "\"%s\" 개체는 윈도우 함수입니다." -#: catalog/pg_proc.c:402 +#: catalog/pg_proc.c:414 #, c-format msgid "cannot change whether a procedure has output parameters" msgstr "프로시져는 출력 매개 변수를 사용하도록 변경 할 수 없음" -#: catalog/pg_proc.c:403 catalog/pg_proc.c:433 +#: catalog/pg_proc.c:415 catalog/pg_proc.c:445 #, c-format msgid "cannot change return type of existing function" msgstr "이미 있는 함수의 리턴 자료형은 바꿀 수 없습니다" @@ -5674,89 +6329,115 @@ msgstr "이미 있는 함수의 리턴 자료형은 바꿀 수 없습니다" #. AGGREGATE #. #. translator: first %s is DROP FUNCTION or DROP PROCEDURE -#: catalog/pg_proc.c:409 catalog/pg_proc.c:436 catalog/pg_proc.c:481 -#: catalog/pg_proc.c:507 catalog/pg_proc.c:533 +#: catalog/pg_proc.c:421 catalog/pg_proc.c:448 catalog/pg_proc.c:493 +#: catalog/pg_proc.c:519 catalog/pg_proc.c:543 #, c-format msgid "Use %s %s first." msgstr "먼저 %s %s 명령을 사용하세요." -#: catalog/pg_proc.c:434 +#: catalog/pg_proc.c:446 #, c-format msgid "Row type defined by OUT parameters is different." msgstr "OUT 매개 변수에 정의된 행 형식이 다릅니다." -#: catalog/pg_proc.c:478 +#: catalog/pg_proc.c:490 #, c-format msgid "cannot change name of input parameter \"%s\"" msgstr "\"%s\" 입력 매개 변수 이름을 바꿀 수 없음" -#: catalog/pg_proc.c:505 +#: catalog/pg_proc.c:517 #, c-format msgid "cannot remove parameter defaults from existing function" msgstr "기존 함수에서 매개 변수 기본 값을 제거할 수 없음" -#: catalog/pg_proc.c:531 +#: catalog/pg_proc.c:541 #, c-format msgid "cannot change data type of existing parameter default value" msgstr "기존 매개 변수 기본 값의 데이터 형식을 바꿀 수 없음" -#: catalog/pg_proc.c:748 +#: catalog/pg_proc.c:752 #, c-format msgid "there is no built-in function named \"%s\"" msgstr "\"%s\" 이름의 내장 함수가 없음" -#: catalog/pg_proc.c:846 +#: catalog/pg_proc.c:845 #, c-format msgid "SQL functions cannot return type %s" msgstr "SQL 함수는 %s 자료형을 리턴할 수 없음" -#: catalog/pg_proc.c:861 +#: catalog/pg_proc.c:860 #, c-format msgid "SQL functions cannot have arguments of type %s" msgstr "SQL 함수의 인자로 %s 자료형은 사용될 수 없습니다" -#: catalog/pg_proc.c:954 executor/functions.c:1446 +#: catalog/pg_proc.c:987 executor/functions.c:1466 #, c-format msgid "SQL function \"%s\"" msgstr "\"%s\" SQL 함수" -#: catalog/pg_publication.c:59 +#: catalog/pg_publication.c:71 catalog/pg_publication.c:79 +#: catalog/pg_publication.c:87 catalog/pg_publication.c:93 +#, c-format +msgid "cannot add relation \"%s\" to publication" +msgstr "\"%s\" 릴레이션을 발행에 추가할 수 없음" + +#: catalog/pg_publication.c:81 #, c-format -msgid "Only tables can be added to publications." -msgstr "테이블 개체만 발행에 추가할 수 있습니다." +msgid "This operation is not supported for system tables." +msgstr "이 작업은 시스템 테이블 대상으로 지원하지 않습니다." -#: catalog/pg_publication.c:65 +#: catalog/pg_publication.c:89 #, c-format -msgid "\"%s\" is a system table" -msgstr "\"%s\" 개체는 시스템 테이블입니다." +msgid "This operation is not supported for temporary tables." +msgstr "이 작업은 임시 테이블 대상으로 지원하지 않습니다." -#: catalog/pg_publication.c:67 +#: catalog/pg_publication.c:95 #, c-format -msgid "System tables cannot be added to publications." -msgstr "시스템 테이블은 발행에 추가할 수 없습니다." +msgid "This operation is not supported for unlogged tables." +msgstr "이 작업은 언로그드 테이블 대상으로 지원하지 않습니다." -#: catalog/pg_publication.c:73 +#: catalog/pg_publication.c:109 catalog/pg_publication.c:117 #, c-format -msgid "table \"%s\" cannot be replicated" -msgstr "\"%s\" 테이블은 복제될 수 없음" +msgid "cannot add schema \"%s\" to publication" +msgstr "\"%s\" 스키마를 발행에 추가할 수 없음" -#: catalog/pg_publication.c:75 +#: catalog/pg_publication.c:111 #, c-format -msgid "Temporary and unlogged relations cannot be replicated." -msgstr "임시 테이블, unlogged 테이블은 복제될 수 없음" +msgid "This operation is not supported for system schemas." +msgstr "이 작업은 시스템 스키마 대상으로 지원하지 않습니다." -#: catalog/pg_publication.c:174 +#: catalog/pg_publication.c:119 +#, c-format +msgid "Temporary schemas cannot be replicated." +msgstr "임시 스키마는 복제할 수 없습니다." + +#: catalog/pg_publication.c:397 #, c-format msgid "relation \"%s\" is already member of publication \"%s\"" msgstr "\"%s\" 릴레이션은 이미 \"%s\" 발행에 포함되어 있습니다" -#: catalog/pg_publication.c:470 commands/publicationcmds.c:451 -#: commands/publicationcmds.c:762 +#: catalog/pg_publication.c:539 #, c-format -msgid "publication \"%s\" does not exist" -msgstr "\"%s\" 이름의 발행은 없습니다" +msgid "cannot use system column \"%s\" in publication column list" +msgstr "\"%s\" 칼럼은 시스템 칼럼입니다. 발행 칼럼 목록에 포함될 수 없습니다." -#: catalog/pg_shdepend.c:776 +#: catalog/pg_publication.c:545 +#, c-format +msgid "cannot use generated column \"%s\" in publication column list" +msgstr "" +"\"%s\" 칼럼은 미리 계산된 칼럼으로 발행 칼럼 목록에 포함될 수 없습니다." + +#: catalog/pg_publication.c:551 +#, c-format +msgid "duplicate column \"%s\" in publication column list" +msgstr "\"%s\" 칼럼이 발행 칼럼 목록에 중복 되었습니다." + +#: catalog/pg_publication.c:641 +#, c-format +msgid "schema \"%s\" is already member of publication \"%s\"" +msgstr "\"%s\" 스키마는 이미 \"%s\" 발행에 포함되어 있습니다" + +#: catalog/pg_shdepend.c:830 #, c-format msgid "" "\n" @@ -5766,44 +6447,49 @@ msgid_plural "" "and objects in %d other databases (see server log for list)" msgstr[0] "" -#: catalog/pg_shdepend.c:1082 +#: catalog/pg_shdepend.c:1177 #, c-format msgid "role %u was concurrently dropped" msgstr "%u 롤이 동시에 삭제되었음" -#: catalog/pg_shdepend.c:1101 +#: catalog/pg_shdepend.c:1189 #, c-format msgid "tablespace %u was concurrently dropped" msgstr "%u 테이블스페이스는 현재 삭제되었습니다" -#: catalog/pg_shdepend.c:1116 +#: catalog/pg_shdepend.c:1203 #, c-format msgid "database %u was concurrently dropped" msgstr "%u 데이터베이스는 현재 삭제되었습니다" -#: catalog/pg_shdepend.c:1161 +#: catalog/pg_shdepend.c:1254 #, c-format msgid "owner of %s" msgstr "%s 개체의 소유주" -#: catalog/pg_shdepend.c:1163 +#: catalog/pg_shdepend.c:1256 #, c-format msgid "privileges for %s" msgstr "\"%s\"에 대한 권한" -#: catalog/pg_shdepend.c:1165 +#: catalog/pg_shdepend.c:1258 #, c-format msgid "target of %s" msgstr "%s 개체 대상" +#: catalog/pg_shdepend.c:1260 +#, c-format +msgid "tablespace for %s" +msgstr "%s 용 테이블스페이스" + #. translator: %s will always be "database %s" -#: catalog/pg_shdepend.c:1173 +#: catalog/pg_shdepend.c:1268 #, c-format msgid "%d object in %s" msgid_plural "%d objects in %s" msgstr[0] "%d 개체(데이터베이스: %s)" -#: catalog/pg_shdepend.c:1284 +#: catalog/pg_shdepend.c:1332 #, c-format msgid "" "cannot drop objects owned by %s because they are required by the database " @@ -5812,7 +6498,7 @@ msgstr "" "%s 소유주의 개체 삭제는 그 데이터베이스 시스템에서 필요하기 때문에 삭제 될 " "수 없음" -#: catalog/pg_shdepend.c:1431 +#: catalog/pg_shdepend.c:1498 #, c-format msgid "" "cannot reassign ownership of objects owned by %s because they are required " @@ -5821,63 +6507,84 @@ msgstr "" "%s 소유주의 개체 삭제는 그 데이터베이스 시스템에서 필요하기 때문에 삭제 될 " "수 없음" -#: catalog/pg_subscription.c:171 commands/subscriptioncmds.c:644 -#: commands/subscriptioncmds.c:858 commands/subscriptioncmds.c:1080 +#: catalog/pg_subscription.c:424 #, c-format -msgid "subscription \"%s\" does not exist" -msgstr "\"%s\" 이름의 구독은 없습니다." +msgid "could not drop relation mapping for subscription \"%s\"" +msgstr "\"%s\" 구독용 릴레이션 맵핑 삭제 실패" + +#: catalog/pg_subscription.c:426 +#, c-format +msgid "" +"Table synchronization for relation \"%s\" is in progress and is in state \"%c" +"\"." +msgstr "\"%s\" 릴레이션의 동기화 작업은 현재 진행중이고, 상태가 \"%c\" 임." + +#. translator: first %s is a SQL ALTER command and second %s is a +#. SQL DROP command +#. +#: catalog/pg_subscription.c:433 +#, c-format +msgid "" +"Use %s to enable subscription if not already enabled or use %s to drop the " +"subscription." +msgstr "" +"아직 활성화되지 않은 구독을 활성화 하기위해 %s 명령을 이용하거나, 해당 구독" +"을 지우려면 %s 명령을 이용하세요." -#: catalog/pg_type.c:131 catalog/pg_type.c:468 +#: catalog/pg_type.c:134 catalog/pg_type.c:474 #, c-format msgid "pg_type OID value not set when in binary upgrade mode" msgstr "이진 업그레이드 작업 때 pg_type OID 값이 지정되지 않았습니다" -#: catalog/pg_type.c:249 +#: catalog/pg_type.c:254 #, c-format msgid "invalid type internal size %d" msgstr "잘못된 자료형의 내부 크기 %d" -#: catalog/pg_type.c:265 catalog/pg_type.c:273 catalog/pg_type.c:281 -#: catalog/pg_type.c:290 +#: catalog/pg_type.c:270 catalog/pg_type.c:278 catalog/pg_type.c:286 +#: catalog/pg_type.c:295 #, c-format msgid "alignment \"%c\" is invalid for passed-by-value type of size %d" msgstr "\"%c\" 정렬은 크기가 %d인 전달 값 형식에 유효하지 않음" -#: catalog/pg_type.c:297 +#: catalog/pg_type.c:302 #, c-format msgid "internal size %d is invalid for passed-by-value type" msgstr "내부 크기 %d은(는) 전달 값 형식에 유효하지 않음" -#: catalog/pg_type.c:307 catalog/pg_type.c:313 +#: catalog/pg_type.c:312 catalog/pg_type.c:318 #, c-format msgid "alignment \"%c\" is invalid for variable-length type" msgstr "\"%c\" 정렬은 가변 길이 형식에 유효하지 않음" -#: catalog/pg_type.c:321 commands/typecmds.c:3727 +#: catalog/pg_type.c:326 commands/typecmds.c:4140 #, c-format msgid "fixed-size types must have storage PLAIN" msgstr "_^_ 고정크기 자료형은 PLAIN 저장방법을 가져야만 합니다" -#: catalog/pg_type.c:839 +#: catalog/pg_type.c:955 #, c-format -msgid "could not form array type name for type \"%s\"" -msgstr "\"%s\" 형식의 배열 형식 이름을 생성할 수 없음" +msgid "Failed while creating a multirange type for type \"%s\"." +msgstr "\"%s\" 자료형용 다중 범위 자료형를 만들기 실패." -#: catalog/storage.c:449 storage/buffer/bufmgr.c:933 +#: catalog/pg_type.c:956 #, c-format -msgid "invalid page in block %u of relation %s" -msgstr "%u 블록(해당 릴레이션: %s)에 잘못된 페이지가 있음" +msgid "" +"You can manually specify a multirange type name using the " +"\"multirange_type_name\" attribute." +msgstr "" +"\"multirange_type_name\" 속성을 사용해서 이 다중 범위 자료형 이름을 직접 지정" +"하세요." -#: catalog/toasting.c:106 commands/indexcmds.c:639 commands/tablecmds.c:5638 -#: commands/tablecmds.c:15576 +#: catalog/storage.c:505 storage/buffer/bufmgr.c:1145 #, c-format -msgid "\"%s\" is not a table or materialized view" -msgstr "\"%s\" 개체는 테이블도 구체화된 뷰도 아닙니다" +msgid "invalid page in block %u of relation %s" +msgstr "%u 블록(해당 릴레이션: %s)에 잘못된 페이지가 있음" #: commands/aggregatecmds.c:171 #, c-format msgid "only ordered-set aggregates can be hypothetical" -msgstr "순서 있는 세트 집계함수만 가설적일 수 있습니다" +msgstr "순서 있는 집합 집계함수만 가상 집합 집계 함수로 쓸 수 있습니다." #: commands/aggregatecmds.c:196 #, c-format @@ -5887,12 +6594,12 @@ msgstr "\"%s\" 속성을 aggregate에서 알 수 없음" #: commands/aggregatecmds.c:206 #, c-format msgid "aggregate stype must be specified" -msgstr "aggregate stype 값을 지정하셔야합니다" +msgstr "aggregate stype 값을 지정하셔야 합니다" #: commands/aggregatecmds.c:210 #, c-format msgid "aggregate sfunc must be specified" -msgstr "aggregate sfunc 값을 지정하셔야합니다" +msgstr "aggregate sfunc 값을 지정하셔야 합니다" #: commands/aggregatecmds.c:222 #, c-format @@ -5939,103 +6646,122 @@ msgstr "aggregate 입력 자료형을 지정해야 합니다" msgid "basetype is redundant with aggregate input type specification" msgstr "집계 입력 형식 지정에서 basetype이 중복됨" -#: commands/aggregatecmds.c:349 commands/aggregatecmds.c:390 +#: commands/aggregatecmds.c:351 commands/aggregatecmds.c:392 #, c-format msgid "aggregate transition data type cannot be %s" -msgstr "%s 자료형은 aggregate transition 자료형으로 사용할 수 없습니다" +msgstr "%s 자료형은 STYPE 자료형으로 사용할 수 없습니다" -#: commands/aggregatecmds.c:361 +#: commands/aggregatecmds.c:363 #, c-format msgid "" "serialization functions may be specified only when the aggregate transition " "data type is %s" -msgstr "" +msgstr "SERIALFUNC 함수는 STYPE 자료형이 %s 형일때만 지정할 수 있습니다." -#: commands/aggregatecmds.c:371 +#: commands/aggregatecmds.c:373 #, c-format msgid "" "must specify both or neither of serialization and deserialization functions" msgstr "" +"SERIALFUNC, DESERIALFUNC 함수를 모두 지정하거나 모두 지정하지 않거나 하세요." -#: commands/aggregatecmds.c:436 commands/functioncmds.c:615 +#: commands/aggregatecmds.c:438 commands/functioncmds.c:639 #, c-format msgid "parameter \"parallel\" must be SAFE, RESTRICTED, or UNSAFE" msgstr "\"parallel\" 옵션 값은 SAFE, RESTRICTED, UNSAFE 만 지정할 수 있음" -#: commands/aggregatecmds.c:492 +#: commands/aggregatecmds.c:494 #, c-format msgid "parameter \"%s\" must be READ_ONLY, SHAREABLE, or READ_WRITE" msgstr "\"%s\" 인자값은 READ_ONLY, SHAREABLE, READ_WRITE 셋 중 하나여야 함" -#: commands/alter.c:84 commands/event_trigger.c:174 +#: commands/alter.c:86 commands/event_trigger.c:174 #, c-format msgid "event trigger \"%s\" already exists" msgstr "\"%s\" 이름의 이벤트 트리거가 이미 있음" -#: commands/alter.c:87 commands/foreigncmds.c:597 +#: commands/alter.c:89 commands/foreigncmds.c:593 #, c-format msgid "foreign-data wrapper \"%s\" already exists" msgstr "\"%s\" 이름의 외부 자료 래퍼가 이미 있음" -#: commands/alter.c:90 commands/foreigncmds.c:903 +#: commands/alter.c:92 commands/foreigncmds.c:884 #, c-format msgid "server \"%s\" already exists" msgstr "\"%s\" 이름의 서버가 이미 있음" -#: commands/alter.c:93 commands/proclang.c:132 +#: commands/alter.c:95 commands/proclang.c:133 #, c-format msgid "language \"%s\" already exists" msgstr "\"%s\" 이름의 프로시주얼 언어가 이미 있습니다" -#: commands/alter.c:96 commands/publicationcmds.c:183 +#: commands/alter.c:98 commands/publicationcmds.c:771 #, c-format msgid "publication \"%s\" already exists" msgstr "\"%s\" 이름의 발행이 이미 있습니다" -#: commands/alter.c:99 commands/subscriptioncmds.c:371 +#: commands/alter.c:101 commands/subscriptioncmds.c:657 #, c-format msgid "subscription \"%s\" already exists" msgstr "\"%s\" 이름의 구독이 이미 있습니다" -#: commands/alter.c:122 +#: commands/alter.c:124 #, c-format msgid "conversion \"%s\" already exists in schema \"%s\"" msgstr "\"%s\" 이름의 변환규칙(conversin)이 \"%s\" 스키마에 이미 있습니다" -#: commands/alter.c:126 +#: commands/alter.c:128 #, c-format msgid "statistics object \"%s\" already exists in schema \"%s\"" msgstr "\"%s\" 이름의 통계정보 개체는 \"%s\" 스키마에 이미 있습니다" -#: commands/alter.c:130 +#: commands/alter.c:132 #, c-format msgid "text search parser \"%s\" already exists in schema \"%s\"" msgstr "\"%s\" 전문 검색 파서가 \"%s\" 스키마 안에 이미 있음" -#: commands/alter.c:134 +#: commands/alter.c:136 #, c-format msgid "text search dictionary \"%s\" already exists in schema \"%s\"" msgstr "\"%s\" 전문 검색 사전이 \"%s\" 스키마 안에 이미 있음" -#: commands/alter.c:138 +#: commands/alter.c:140 #, c-format msgid "text search template \"%s\" already exists in schema \"%s\"" msgstr "\"%s\" 전문 검색 템플릿이 \"%s\" 스키마 안에 이미 있음" -#: commands/alter.c:142 +#: commands/alter.c:144 #, c-format msgid "text search configuration \"%s\" already exists in schema \"%s\"" msgstr "\"%s\" 전문 검색 구성이 \"%s\" 스키마 안에 이미 있음" -#: commands/alter.c:215 +#: commands/alter.c:217 #, c-format msgid "must be superuser to rename %s" msgstr "%s 이름 변경 작업은 슈퍼유저만 할 수 있음" -#: commands/alter.c:744 +#: commands/alter.c:259 commands/subscriptioncmds.c:636 +#: commands/subscriptioncmds.c:1116 commands/subscriptioncmds.c:1198 +#: commands/subscriptioncmds.c:1830 +#, c-format +msgid "password_required=false is superuser-only" +msgstr "password_required=false 는 슈퍼유저 전용임" + +#: commands/alter.c:260 commands/subscriptioncmds.c:637 +#: commands/subscriptioncmds.c:1117 commands/subscriptioncmds.c:1199 +#: commands/subscriptioncmds.c:1831 +#, c-format +msgid "" +"Subscriptions with the password_required option set to false may only be " +"created or modified by the superuser." +msgstr "" +"구독 옵션으로 password_required 옵션값을 false 지정하거나 변경하는 것은 슈퍼" +"유저만 할 수 있습니다." + +#: commands/alter.c:775 #, c-format msgid "must be superuser to set schema of %s" -msgstr "%s의 스키마 지정은 슈퍼유져여야합니다" +msgstr "%s의 스키마 지정은 슈퍼유져여야 합니다" #: commands/amcmds.c:60 #, c-format @@ -6052,61 +6778,56 @@ msgstr "슈퍼유저만 접근 방법을 만들 수 있습니다." msgid "access method \"%s\" already exists" msgstr "\"%s\" 이름의 인덱스 접근 방법이 이미 있습니다." -#: commands/amcmds.c:130 -#, c-format -msgid "must be superuser to drop access methods" -msgstr "접근 방법은 슈퍼유저만 삭제할 수 있습니다." - -#: commands/amcmds.c:181 commands/indexcmds.c:188 commands/indexcmds.c:790 -#: commands/opclasscmds.c:373 commands/opclasscmds.c:793 +#: 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" msgstr "\"%s\" 인덱스 접근 방법이 없습니다" -#: commands/amcmds.c:270 +#: commands/amcmds.c:243 #, c-format msgid "handler function is not specified" msgstr "핸들러 함수 부분이 빠졌습니다" -#: commands/amcmds.c:291 commands/event_trigger.c:183 -#: commands/foreigncmds.c:489 commands/proclang.c:79 commands/trigger.c:687 +#: commands/amcmds.c:264 commands/event_trigger.c:183 +#: commands/foreigncmds.c:489 commands/proclang.c:80 commands/trigger.c:709 #: parser/parse_clause.c:941 #, c-format msgid "function %s must return type %s" msgstr "%s 함수는 %s 자료형을 반환해야 함" -#: commands/analyze.c:226 +#: commands/analyze.c:228 #, c-format msgid "skipping \"%s\" --- cannot analyze this foreign table" msgstr "\"%s\" 건너뜀 --- 외부 테이블은 분석할 수 없음" -#: commands/analyze.c:243 +#: commands/analyze.c:245 #, c-format msgid "skipping \"%s\" --- cannot analyze non-tables or special system tables" msgstr "" "\"%s\" 건너뜀 --- 테이블이 아니거나, 특수 시스템 테이블들은 분석할 수 없음" -#: commands/analyze.c:329 +#: commands/analyze.c:325 #, c-format msgid "analyzing \"%s.%s\" inheritance tree" msgstr "\"%s.%s\" 상속 관계 분석중" -#: commands/analyze.c:334 +#: commands/analyze.c:330 #, c-format msgid "analyzing \"%s.%s\"" msgstr "\"%s.%s\" 자료 통계 수집 중" -#: commands/analyze.c:394 +#: commands/analyze.c:395 #, c-format msgid "column \"%s\" of relation \"%s\" appears more than once" msgstr "\"%s\" 칼럼이 \"%s\" 릴레이션에서 두 번 이상 사용되었음" -#: commands/analyze.c:700 +#: commands/analyze.c:787 #, c-format -msgid "automatic analyze of table \"%s.%s.%s\" system usage: %s" -msgstr "\"%s.%s.%s\" 테이블의 시스템 사용 자동 분석: %s" +msgid "automatic analyze of table \"%s.%s.%s\"\n" +msgstr "\"%s.%s.%s\" 테이블 자동 분석\n" -#: commands/analyze.c:1169 +#: commands/analyze.c:1334 #, c-format msgid "" "\"%s\": scanned %d of %u pages, containing %.0f live rows and %.0f dead " @@ -6115,7 +6836,7 @@ msgstr "" "\"%s\": 탐색한 페이지: %d, 전체페이지: %u, 실자료: %.0f개, 쓰레기자료: %.0f" "개; 표본 추출 자료: %d개, 예상한 총 자료: %.0f개" -#: commands/analyze.c:1249 +#: commands/analyze.c:1418 #, c-format msgid "" "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree " @@ -6124,7 +6845,7 @@ msgstr "" "\"%s.%s\" 상속 나무의 통계 수집 건너뜀 --- 이 상속 나무에는 하위 테이블이 없" "음" -#: commands/analyze.c:1347 +#: commands/analyze.c:1516 #, c-format msgid "" "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree " @@ -6133,46 +6854,46 @@ msgstr "" "\"%s.%s\" 상속 나무의 통계 수집 건너뜀 --- 이 상속 나무에는 통계 수집할 하위 " "테이블이 없음" -#: commands/async.c:634 +#: commands/async.c:646 #, c-format msgid "channel name cannot be empty" msgstr "채널 이름은 비워둘 수 없음" -#: commands/async.c:640 +#: commands/async.c:652 #, c-format msgid "channel name too long" msgstr "채널 이름이 너무 긺" # # nonun 부분 begin -#: commands/async.c:645 +#: commands/async.c:657 #, c-format msgid "payload string too long" msgstr "payload 문자열이 너무 긺" -#: commands/async.c:864 +#: commands/async.c:876 #, c-format msgid "" "cannot PREPARE a transaction that has executed LISTEN, UNLISTEN, or NOTIFY" msgstr "" "LISTEN, UNLISTEN 또는 NOTIFY 옵션으로 실행된 트랜잭션을 PREPARE할 수 없음" -#: commands/async.c:970 +#: commands/async.c:980 #, c-format msgid "too many notifications in the NOTIFY queue" msgstr "NOTIFY 큐에 너무 많은 알림이 있습니다" -#: commands/async.c:1636 +#: commands/async.c:1602 #, c-format msgid "NOTIFY queue is %.0f%% full" msgstr "NOTIFY 큐 사용률: %.0f%%" -#: commands/async.c:1638 +#: commands/async.c:1604 #, c-format msgid "" "The server process with PID %d is among those with the oldest transactions." msgstr "%d PID 서버 프로세스가 가장 오래된 트랜잭션을 사용하고 있습니다." -#: commands/async.c:1641 +#: commands/async.c:1607 #, c-format msgid "" "The NOTIFY queue cannot be emptied until that process ends its current " @@ -6180,42 +6901,42 @@ msgid "" msgstr "" "이 프로세스의 현재 트랜잭션을 종료하지 않으면, NOTIFY 큐를 비울 수 없습니다" -#: commands/cluster.c:125 commands/cluster.c:362 +#: commands/cluster.c:130 #, c-format -msgid "cannot cluster temporary tables of other sessions" -msgstr "다른 세션의 임시 테이블은 cluster 작업을 할 수 없습니다" +msgid "unrecognized CLUSTER option \"%s\"" +msgstr "알 수 없는 CLUSTER 옵션 \"%s\"" -#: commands/cluster.c:133 +#: commands/cluster.c:160 commands/cluster.c:433 #, c-format -msgid "cannot cluster a partitioned table" -msgstr "파티션 된 테이블은 클러스터 작업을 할 수 없음" +msgid "cannot cluster temporary tables of other sessions" +msgstr "다른 세션의 임시 테이블은 cluster 작업을 할 수 없습니다" -#: commands/cluster.c:151 +#: commands/cluster.c:178 #, c-format msgid "there is no previously clustered index for table \"%s\"" msgstr "\"%s\" 테이블을 위한 previously clustered 인덱스가 없음" -#: commands/cluster.c:165 commands/tablecmds.c:12853 commands/tablecmds.c:14659 +#: commands/cluster.c:192 commands/tablecmds.c:14200 commands/tablecmds.c:16043 #, c-format msgid "index \"%s\" for table \"%s\" does not exist" msgstr "\"%s\" 인덱스는 \"%s\" 테이블에 없음" -#: commands/cluster.c:351 +#: commands/cluster.c:422 #, c-format msgid "cannot cluster a shared catalog" msgstr "공유된 카탈로그는 클러스터 작업을 할 수 없음" -#: commands/cluster.c:366 +#: commands/cluster.c:437 #, c-format msgid "cannot vacuum temporary tables of other sessions" msgstr "다른 세션의 임시 테이블은 vacuum 작업을 할 수 없음" -#: commands/cluster.c:432 commands/tablecmds.c:14669 +#: commands/cluster.c:513 commands/tablecmds.c:16053 #, c-format msgid "\"%s\" is not an index for table \"%s\"" msgstr "\"%s\" 개체는 \"%s\" 테이블을 위한 인덱스가 아님" -#: commands/cluster.c:440 +#: commands/cluster.c:521 #, c-format msgid "" "cannot cluster on index \"%s\" because access method does not support " @@ -6223,41 +6944,46 @@ msgid "" msgstr "" "\"%s\" 인덱스는 자료 액세스 방법이 cluster 작업을 할 수 없는 방법입니다." -#: commands/cluster.c:452 +#: commands/cluster.c:533 #, c-format msgid "cannot cluster on partial index \"%s\"" msgstr "" "\"%s\" 인덱스가 부분인덱스(partial index)라서 cluster 작업을 할 수 없습니다" -#: commands/cluster.c:466 +#: commands/cluster.c:547 #, c-format msgid "cannot cluster on invalid index \"%s\"" msgstr "잘못된 \"%s\" 인덱스에 대해 클러스터링할 수 없음" -#: commands/cluster.c:490 +#: commands/cluster.c:571 #, c-format msgid "cannot mark index clustered in partitioned table" msgstr "파티션된 테이블 대상으로 인덱스 클러스터 표시를 할 수 없음" -#: commands/cluster.c:863 +#: commands/cluster.c:950 #, c-format msgid "clustering \"%s.%s\" using index scan on \"%s\"" msgstr " \"%s.%s\" 클러스터링 중 (사용 인덱스: \"%s\")" -#: commands/cluster.c:869 +#: commands/cluster.c:956 #, c-format msgid "clustering \"%s.%s\" using sequential scan and sort" msgstr "순차 탐색과 정렬을 이용해서 \"%s.%s\" 개체 클러스터링 중" -#: commands/cluster.c:900 +#: commands/cluster.c:961 +#, c-format +msgid "vacuuming \"%s.%s\"" +msgstr "\"%s.%s\" 청소 중" + +#: commands/cluster.c:988 #, c-format msgid "" -"\"%s\": found %.0f removable, %.0f nonremovable row versions in %u pages" +"\"%s.%s\": found %.0f removable, %.0f nonremovable row versions in %u pages" msgstr "" -"\"%s\": 삭제가능한 %.0f개, 삭제불가능한 %.0f개의 행 버전을 %u 페이지에서 발견" -"했음." +"\"%s.%s\": 삭제가능한 %.0f개, 삭제불가능한 %.0f개의 행 버전을 %u 페이지에서 " +"발견했음." -#: commands/cluster.c:904 +#: commands/cluster.c:993 #, c-format msgid "" "%.0f dead row versions cannot be removed yet.\n" @@ -6266,101 +6992,155 @@ msgstr "" "%.0f 개의 사용하지 않는 로우 버전을 아직 지우지 못했음.\n" "%s." -#: commands/collationcmds.c:105 +#: commands/collationcmds.c:112 #, c-format msgid "collation attribute \"%s\" not recognized" msgstr "\"%s\" 연산자 속성을 처리할 수 없음" -#: commands/collationcmds.c:148 +#: commands/collationcmds.c:125 commands/collationcmds.c:131 +#: commands/define.c:389 commands/tablecmds.c:7876 +#: replication/pgoutput/pgoutput.c:310 replication/pgoutput/pgoutput.c:333 +#: replication/pgoutput/pgoutput.c:347 replication/pgoutput/pgoutput.c:357 +#: replication/pgoutput/pgoutput.c:367 replication/pgoutput/pgoutput.c:377 +#: replication/pgoutput/pgoutput.c:387 replication/walsender.c:996 +#: replication/walsender.c:1018 replication/walsender.c:1028 +#, c-format +msgid "conflicting or redundant options" +msgstr "상충하거나 중복된 옵션들" + +#: commands/collationcmds.c:126 +#, c-format +msgid "LOCALE cannot be specified together with LC_COLLATE or LC_CTYPE." +msgstr "LOCALE 값은 LC_COLLATE 또는 LC_CTYPE 값과 함께 지정할 수 없음" + +#: commands/collationcmds.c:132 +#, c-format +msgid "FROM cannot be specified together with any other options." +msgstr "FROM 구문은 다른 옵션들과 함께 사용될 수 없습니다." + +#: commands/collationcmds.c:191 #, c-format msgid "collation \"default\" cannot be copied" msgstr "\"default\" 정렬규칙은 복사될 수 없음" -#: commands/collationcmds.c:181 +#: commands/collationcmds.c:225 #, c-format msgid "unrecognized collation provider: %s" msgstr "알 수 없는 정렬규칙 제공자 이름: %s" -#: commands/collationcmds.c:190 +#: commands/collationcmds.c:253 #, c-format msgid "parameter \"lc_collate\" must be specified" msgstr "\"lc_collate\" 옵션을 지정해야 함" -#: commands/collationcmds.c:195 +#: commands/collationcmds.c:258 #, c-format msgid "parameter \"lc_ctype\" must be specified" msgstr "\"lc_ctype\" 옵션을 지정해야 함" -#: commands/collationcmds.c:205 +#: commands/collationcmds.c:265 +#, c-format +msgid "parameter \"locale\" must be specified" +msgstr "\"locale\" 매개 변수를 지정해야 함" + +#: commands/collationcmds.c:279 commands/dbcommands.c:1091 +#, c-format +msgid "using standard form \"%s\" for ICU locale \"%s\"" +msgstr "\"%s\"에서 표준을 사용함(해당 ICU 로케일: \"%s\")" + +#: commands/collationcmds.c:298 #, c-format msgid "nondeterministic collations not supported with this provider" -msgstr "" +msgstr "이 제공자는 DETERMINISTIC = false 옵션을 지원하지 않음" -#: commands/collationcmds.c:265 +#: commands/collationcmds.c:303 commands/dbcommands.c:1110 +#, c-format +msgid "ICU rules cannot be specified unless locale provider is ICU" +msgstr "ICU 규칙은 로케일 제공자로 ICU로 지정했을 때만 사용할 수 있습니다." + +#: commands/collationcmds.c:322 +#, c-format +msgid "current database's encoding is not supported with this provider" +msgstr "이 제공자는 현재 데이터베이스 인코딩을 지원하지 않음" + +#: commands/collationcmds.c:382 #, c-format msgid "collation \"%s\" for encoding \"%s\" already exists in schema \"%s\"" msgstr "\"%s\" 정렬규칙(대상 인코딩: \"%s\")이 \"%s\" 스키마 안에 이미 있음" -#: commands/collationcmds.c:276 +#: commands/collationcmds.c:393 #, c-format msgid "collation \"%s\" already exists in schema \"%s\"" msgstr "\"%s\" 정렬규칙이 \"%s\" 스키마에 이미 있습니다" -#: commands/collationcmds.c:324 +#: commands/collationcmds.c:418 +#, c-format +msgid "cannot refresh version of default collation" +msgstr "기본 문자 정렬의 버전을 갱신할 수 없음" + +#: commands/collationcmds.c:419 +#, c-format +msgid "Use ALTER DATABASE ... REFRESH COLLATION VERSION instead." +msgstr "" +"대신에, ALTER DATABASE ... REFRESH COLLATION VERSION 명령을 사용하세요." + +#: commands/collationcmds.c:446 commands/dbcommands.c:2488 #, c-format msgid "changing version from %s to %s" msgstr "%s에서 %s 버전으로 바꿉니다" -#: commands/collationcmds.c:339 +#: commands/collationcmds.c:461 commands/dbcommands.c:2501 #, c-format msgid "version has not changed" msgstr "버전이 바뀌지 않았습니다" -#: commands/collationcmds.c:470 +#: commands/collationcmds.c:494 commands/dbcommands.c:2667 #, c-format -msgid "could not convert locale name \"%s\" to language tag: %s" -msgstr "\"%s\" 로케일 이름을 언어 태그로 변환할 수 없음: %s" +msgid "database with OID %u does not exist" +msgstr "OID %u 데이터베이스 없음" + +#: commands/collationcmds.c:515 +#, c-format +msgid "collation with OID %u does not exist" +msgstr "OID %u 정렬정의(collation) 없음" -#: commands/collationcmds.c:531 +#: commands/collationcmds.c:803 #, c-format msgid "must be superuser to import system collations" msgstr "시스템 정렬규칙을 가져오려면 슈퍼유저여야함" -#: commands/collationcmds.c:554 commands/copy.c:1894 commands/copy.c:3480 -#: libpq/be-secure-common.c:81 +#: commands/collationcmds.c:831 commands/copyfrom.c:1654 commands/copyto.c:656 +#: libpq/be-secure-common.c:59 #, c-format msgid "could not execute command \"%s\": %m" msgstr "\"%s\" 명령을 실행할 수 없음: %m" -#: commands/collationcmds.c:685 +#: commands/collationcmds.c:923 commands/collationcmds.c:1008 #, c-format msgid "no usable system locales were found" msgstr "사용할 수 있는 시스템 로케일이 없음" -#: commands/comment.c:61 commands/dbcommands.c:841 commands/dbcommands.c:1037 -#: commands/dbcommands.c:1150 commands/dbcommands.c:1340 -#: commands/dbcommands.c:1588 commands/dbcommands.c:1702 -#: commands/dbcommands.c:2142 utils/init/postinit.c:888 -#: utils/init/postinit.c:993 utils/init/postinit.c:1010 +#: 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 "\"%s\" 데이터베이스 없음" -#: commands/comment.c:101 commands/seclabel.c:117 parser/parse_utilcmd.c:957 +#: commands/comment.c:101 #, c-format -msgid "" -"\"%s\" is not a table, view, materialized view, composite type, or foreign " -"table" -msgstr "" -"\"%s\" 개체는 테이블도, 뷰도, 구체화된 뷰도, 복합 자료형도, 외부 테이블도 아" -"닙니다." +msgid "cannot set comment on relation \"%s\"" +msgstr "\"%s\" 릴레이션에 주석을 달 수 없음" -#: commands/constraint.c:63 utils/adt/ri_triggers.c:1923 +#: commands/constraint.c:63 utils/adt/ri_triggers.c:2028 #, c-format msgid "function \"%s\" was not called by trigger manager" msgstr "\"%s\" 함수가 트리거 관리자에서 호출되지 않았음" -#: commands/constraint.c:70 utils/adt/ri_triggers.c:1932 +#: commands/constraint.c:70 utils/adt/ri_triggers.c:2037 #, c-format msgid "function \"%s\" must be fired AFTER ROW" msgstr "AFTER ROW에서 \"%s\" 함수를 실행해야 함" @@ -6370,420 +7150,342 @@ msgstr "AFTER ROW에서 \"%s\" 함수를 실행해야 함" msgid "function \"%s\" must be fired for INSERT or UPDATE" msgstr "INSERT 또는 UPDATE에 대해 \"%s\" 함수를 실행해야 함" -#: commands/conversioncmds.c:66 +#: commands/conversioncmds.c:69 #, c-format msgid "source encoding \"%s\" does not exist" msgstr "\"%s\" 원본 인코딩 없음" -#: commands/conversioncmds.c:73 +#: commands/conversioncmds.c:76 #, c-format msgid "destination encoding \"%s\" does not exist" msgstr "\"%s\" 대상 인코딩 없음" -#: commands/conversioncmds.c:86 +#: commands/conversioncmds.c:89 #, c-format msgid "encoding conversion to or from \"SQL_ASCII\" is not supported" msgstr "\"SQL_ASCII\" 인코딩 변환은 지원하지 않습니다." -#: commands/conversioncmds.c:99 +#: commands/conversioncmds.c:102 #, c-format msgid "encoding conversion function %s must return type %s" msgstr "%s 인코딩 변환 함수는 %s 형을 반환해야 함" -#: commands/copy.c:426 commands/copy.c:460 -#, c-format -msgid "COPY BINARY is not supported to stdout or from stdin" -msgstr "COPY BINARY 명령은 stdout, stdin 입출력을 지원하지 않습니다" - -#: commands/copy.c:560 -#, c-format -msgid "could not write to COPY program: %m" -msgstr "COPY 프로그램으로 파일을 쓸 수 없습니다: %m" - -#: commands/copy.c:565 +#: commands/conversioncmds.c:132 #, c-format -msgid "could not write to COPY file: %m" -msgstr "COPY 파일로로 파일을 쓸 수 없습니다: %m" - -#: commands/copy.c:578 -#, c-format -msgid "connection lost during COPY to stdout" -msgstr "COPY 명령에서 stdout으로 자료를 내보내는 동안 연결이 끊겼습니다" - -#: commands/copy.c:622 -#, c-format -msgid "could not read from COPY file: %m" -msgstr "COPY 명령에 사용할 파일을 읽을 수 없습니다: %m" - -#: commands/copy.c:640 commands/copy.c:661 commands/copy.c:665 -#: tcop/postgres.c:344 tcop/postgres.c:380 tcop/postgres.c:407 -#, c-format -msgid "unexpected EOF on client connection with an open transaction" -msgstr "열린 트랜잭션과 함께 클라이언트 연결에서 예상치 않은 EOF 발견됨" - -#: commands/copy.c:678 -#, c-format -msgid "COPY from stdin failed: %s" -msgstr "COPY 명령에서 stdin으로 자료 가져오기 실패: %s" +msgid "" +"encoding conversion function %s returned incorrect result for empty input" +msgstr "빈 입력으로 %s 인코딩 변환 함수가 잘못된 결과를 반환했음" -#: commands/copy.c:694 +#: commands/copy.c:86 #, c-format -msgid "unexpected message type 0x%02X during COPY from stdin" -msgstr "" -"COPY 명령으로 stdin으로 자료를 가져오는 동안 예상치 않은 메시지 타입 0x%02X " -"발견됨" +msgid "permission denied to COPY to or from an external program" +msgstr "외부 프로그램을 이용한 COPY to/from 작업 권한 없음" -#: commands/copy.c:861 +#: commands/copy.c:87 #, c-format msgid "" -"must be superuser or a member of the pg_execute_server_program role to COPY " -"to or from an external program" -msgstr "" -"외부 프로그램을 이용하는 COPY 작업은 슈퍼유저와 pg_execute_server_program 롤 " -"소속원만 허용합니다." +"Only roles with privileges of the \"%s\" role may COPY to or from an " +"external program." +msgstr "외부 프로그램을 이용하는 COPY 작업은 \"%s\" 롤 소속원만 허용합니다." -#: commands/copy.c:862 commands/copy.c:871 commands/copy.c:878 +#: commands/copy.c:89 commands/copy.c:100 commands/copy.c:109 #, c-format msgid "" "Anyone can COPY to stdout or from stdin. psql's \\copy command also works " "for anyone." msgstr "일반 사용자인데, 이 작업이 필요하면, psql의 \\copy 명령을 이용하세요" -#: commands/copy.c:870 +#: commands/copy.c:97 #, c-format -msgid "" -"must be superuser or a member of the pg_read_server_files role to COPY from " -"a file" -msgstr "" -"파일을 읽어 COPY 명령으로 자료를 저장하려면, 슈퍼유저이거나 " -"pg_read_server_files 롤 구성원이어야 합니다." +msgid "permission denied to COPY from a file" +msgstr "파일 내용 가져오는 COPY 작업 권한 없음" -#: commands/copy.c:877 +#: commands/copy.c:98 #, c-format -msgid "" -"must be superuser or a member of the pg_write_server_files role to COPY to a " -"file" +msgid "Only roles with privileges of the \"%s\" role may COPY from a file." msgstr "" -"COPY 명령 결과를 파일로 저장하려면, 슈퍼유저이거나 pg_write_server_files 롤 " -"구성원이어야 합니다." +"파일을 읽어 COPY 명령으로 자료를 저장하려면, \"%s\" 롤 소속원이어야 합니다." + +#: commands/copy.c:106 +#, c-format +msgid "permission denied to COPY to a file" +msgstr "파일로 저장하는 COPY 작업 권한 없음" + +#: commands/copy.c:107 +#, c-format +msgid "Only roles with privileges of the \"%s\" role may COPY to a file." +msgstr "COPY 명령 결과를 파일로 저장하려면, \"%s\" 롤 소속원이어야 합니다." -#: commands/copy.c:963 +#: commands/copy.c:195 #, c-format msgid "COPY FROM not supported with row-level security" msgstr "로우 단위 보안 기능으로 COPY FROM 명령을 사용할 수 없음" -#: commands/copy.c:964 +#: commands/copy.c:196 #, c-format msgid "Use INSERT statements instead." msgstr "대신에 INSERT 구문을 사용하십시오." -#: commands/copy.c:1146 +#: commands/copy.c:290 +#, c-format +msgid "MERGE not supported in COPY" +msgstr "COPY에서는 MERGE 구문을 지원하지 않습니다" + +#: commands/copy.c:383 +#, c-format +msgid "cannot use \"%s\" with HEADER in COPY TO" +msgstr "COPY TO 명령에서는 HEADER 값으로 \"%s\" 값을 사용할 수 없음" + +#: commands/copy.c:392 +#, c-format +msgid "%s requires a Boolean value or \"match\"" +msgstr "%s 값은 불리언 값 또는 \"match\" 이어야 합니다." + +#: commands/copy.c:451 #, c-format msgid "COPY format \"%s\" not recognized" msgstr "\"%s\" COPY 양식은 지원하지 않음" -#: commands/copy.c:1217 commands/copy.c:1233 commands/copy.c:1248 -#: commands/copy.c:1270 +#: commands/copy.c:509 commands/copy.c:522 commands/copy.c:535 +#: commands/copy.c:554 #, c-format msgid "argument to option \"%s\" must be a list of column names" msgstr "\"%s\" 옵션에 대한 인자는 칼럼 이름 목록이어야 합니다." -#: commands/copy.c:1285 +#: commands/copy.c:566 #, c-format msgid "argument to option \"%s\" must be a valid encoding name" msgstr "\"%s\" 옵션에 대한 인자는 인코딩 이름이어야 합니다." -#: commands/copy.c:1292 commands/dbcommands.c:253 commands/dbcommands.c:1536 +#: commands/copy.c:573 commands/dbcommands.c:859 commands/dbcommands.c:2318 #, c-format msgid "option \"%s\" not recognized" msgstr "\"%s\" 옵션은 타당하지 않습니다." -#: commands/copy.c:1304 +#: commands/copy.c:585 #, c-format msgid "cannot specify DELIMITER in BINARY mode" msgstr "BINARY 모드에서는 DELIMITER 값을 지정할 수 없음" -#: commands/copy.c:1309 +#: commands/copy.c:590 #, c-format msgid "cannot specify NULL in BINARY mode" msgstr "BINARY 모드에서는 NULL 값을 지정할 수 없음" -#: commands/copy.c:1331 +#: commands/copy.c:595 +#, c-format +msgid "cannot specify DEFAULT in BINARY mode" +msgstr "BINARY 모드에서는 DEFAULT 지정할 수 없음" + +#: commands/copy.c:617 #, c-format msgid "COPY delimiter must be a single one-byte character" msgstr "COPY 구분자는 1바이트의 단일 문자여야 함" -#: commands/copy.c:1338 +#: commands/copy.c:624 #, c-format msgid "COPY delimiter cannot be newline or carriage return" msgstr "COPY 명령에서 사용할 칼럼 구분자로 줄바꿈 문자들을 사용할 수 없습니다" -#: commands/copy.c:1344 +#: commands/copy.c:630 #, c-format msgid "COPY null representation cannot use newline or carriage return" msgstr "COPY null 표현에서 줄바꿈 또는 캐리지 리턴을 사용할 수 없음" -#: commands/copy.c:1361 +#: commands/copy.c:640 +#, c-format +msgid "COPY default representation cannot use newline or carriage return" +msgstr "COPY 기본 동작에서는 줄바꿈 또는 캐리지 리턴을 사용할 수 없음" + +#: commands/copy.c:658 #, c-format msgid "COPY delimiter cannot be \"%s\"" msgstr "COPY 구분자는 \"%s\"일 수 없음" -#: commands/copy.c:1367 +#: commands/copy.c:664 #, c-format -msgid "COPY HEADER available only in CSV mode" -msgstr "COPY HEADER는 CSV 모드에서만 사용할 수 있음" +msgid "cannot specify HEADER in BINARY mode" +msgstr "BINARY 모드에서는 HEADER 옵션을 지정할 수 없음" -#: commands/copy.c:1373 +#: commands/copy.c:670 #, c-format msgid "COPY quote available only in CSV mode" msgstr "COPY 따옴표는 CSV 모드에서만 사용할 수 있음" -#: commands/copy.c:1378 +#: commands/copy.c:675 #, c-format msgid "COPY quote must be a single one-byte character" msgstr "COPY 따옴표는 1바이트의 단일 문자여야 함" -#: commands/copy.c:1383 +#: commands/copy.c:680 #, c-format msgid "COPY delimiter and quote must be different" msgstr "COPY 구분자 및 따옴표는 서로 달라야 함" -#: commands/copy.c:1389 +#: commands/copy.c:686 #, c-format msgid "COPY escape available only in CSV mode" msgstr "COPY 이스케이프는 CSV 모드에서만 사용할 수 있음" -#: commands/copy.c:1394 +#: commands/copy.c:691 #, c-format msgid "COPY escape must be a single one-byte character" msgstr "COPY 이스케이프는 1바이트의 단일 문자여야 함" -#: commands/copy.c:1400 +#: commands/copy.c:697 #, c-format msgid "COPY force quote available only in CSV mode" msgstr "COPY force quote는 CSV 모드에서만 사용할 수 있음" -#: commands/copy.c:1404 +#: commands/copy.c:701 #, c-format msgid "COPY force quote only available using COPY TO" msgstr "COPY force quote는 COPY TO에서만 사용할 수 있음" -#: commands/copy.c:1410 +#: commands/copy.c:707 #, c-format msgid "COPY force not null available only in CSV mode" msgstr "COPY force not null은 CSV 모드에서만 사용할 수 있음" -#: commands/copy.c:1414 +#: commands/copy.c:711 #, c-format msgid "COPY force not null only available using COPY FROM" msgstr "COPY force not null은 COPY FROM에서만 사용할 수 있음" -#: commands/copy.c:1420 +#: commands/copy.c:717 #, c-format msgid "COPY force null available only in CSV mode" msgstr "COPY force null은 CSV 모드에서만 사용할 수 있음" -#: commands/copy.c:1425 +#: commands/copy.c:722 #, c-format msgid "COPY force null only available using COPY FROM" msgstr "COPY force null은 COPY FROM에서만 사용할 수 있음" -#: commands/copy.c:1431 +#: commands/copy.c:728 #, c-format msgid "COPY delimiter must not appear in the NULL specification" msgstr "COPY 구분자는 NULL 지정에 표시되지 않아야 함" -#: commands/copy.c:1438 +#: commands/copy.c:735 #, c-format msgid "CSV quote character must not appear in the NULL specification" -msgstr "CSV 따옴표는 NULL 지정에 표시되지 않아야 함" - -#: commands/copy.c:1524 -#, c-format -msgid "DO INSTEAD NOTHING rules are not supported for COPY" -msgstr "DO INSTEAD NOTHING 룰(rule)은 COPY 구문에서 지원하지 않습니다." - -#: commands/copy.c:1538 -#, c-format -msgid "conditional DO INSTEAD rules are not supported for COPY" -msgstr "선택적 DO INSTEAD 룰은 COPY 구문에서 지원하지 않음" - -#: commands/copy.c:1542 -#, c-format -msgid "DO ALSO rules are not supported for the COPY" -msgstr "DO ALSO 룰(rule)은 COPY 구문에서 지원하지 않습니다." - -#: commands/copy.c:1547 -#, c-format -msgid "multi-statement DO INSTEAD rules are not supported for COPY" -msgstr "다중 구문 DO INSTEAD 룰은 COPY 구문에서 지원하지 않음" - -#: commands/copy.c:1557 -#, c-format -msgid "COPY (SELECT INTO) is not supported" -msgstr "COPY (SELECT INTO) 지원하지 않음" - -#: commands/copy.c:1574 -#, c-format -msgid "COPY query must have a RETURNING clause" -msgstr "COPY 쿼리는 RETURNING 절이 있어야 합니다" - -#: commands/copy.c:1603 -#, c-format -msgid "relation referenced by COPY statement has changed" -msgstr "COPY 문에 의해 참조된 릴레이션이 변경 되었음" - -#: commands/copy.c:1662 -#, c-format -msgid "FORCE_QUOTE column \"%s\" not referenced by COPY" -msgstr "\"%s\" FORCE_QUOTE 칼럼은 COPY에서 참조되지 않음" - -#: commands/copy.c:1685 -#, c-format -msgid "FORCE_NOT_NULL column \"%s\" not referenced by COPY" -msgstr "\"%s\" FORCE_NOT_NULL 칼럼은 COPY에서 참조되지 않음" - -#: commands/copy.c:1708 -#, c-format -msgid "FORCE_NULL column \"%s\" not referenced by COPY" -msgstr "\"%s\" FORCE_NULL 칼럼은 COPY에서 참조되지 않음" - -#: commands/copy.c:1774 libpq/be-secure-common.c:105 -#, c-format -msgid "could not close pipe to external command: %m" -msgstr "외부 명령으로 파이프를 닫을 수 없음: %m" - -#: commands/copy.c:1789 -#, c-format -msgid "program \"%s\" failed" -msgstr "\"%s\" 프로그램 실패" - -#: commands/copy.c:1840 -#, c-format -msgid "cannot copy from view \"%s\"" -msgstr "\"%s\" 이름의 개체는 뷰(view)입니다. 자료를 내보낼 수 없습니다" - -#: commands/copy.c:1842 commands/copy.c:1848 commands/copy.c:1854 -#: commands/copy.c:1865 -#, c-format -msgid "Try the COPY (SELECT ...) TO variant." -msgstr "COPY (SELECT ...) TO 변형을 시도하십시오." +msgstr "CSV 따옴표는 NULL 지정에 표시되지 않아야 함" -#: commands/copy.c:1846 +#: commands/copy.c:742 #, c-format -msgid "cannot copy from materialized view \"%s\"" -msgstr "\"%s\" 이름의 개체는 구체화된 뷰입니다. 자료를 내보낼 수 없습니다" +msgid "COPY DEFAULT only available using COPY FROM" +msgstr "COPY DEFAULT는 COPY FROM에서만 사용할 수 있음" -#: commands/copy.c:1852 +#: commands/copy.c:748 #, c-format -msgid "cannot copy from foreign table \"%s\"" -msgstr "\"%s\" 이름의 개체는 외부 테이블입니다. 자료를 내보낼 수 없습니다" +msgid "COPY delimiter must not appear in the DEFAULT specification" +msgstr "COPY 구분자는 DEFAULT 지정에 표시되지 않아야 함" -#: commands/copy.c:1858 +#: commands/copy.c:755 #, c-format -msgid "cannot copy from sequence \"%s\"" -msgstr "\"%s\" 이름의 개체는 시퀀스입니다. 자료를 내보낼 수 없습니다" +msgid "CSV quote character must not appear in the DEFAULT specification" +msgstr "CSV 따옴표는 DEFAULT 지정에 표시되지 않아야 함" -#: commands/copy.c:1863 +#: commands/copy.c:763 #, c-format -msgid "cannot copy from partitioned table \"%s\"" -msgstr "\"%s\" 파티션 된 테이블에서 복사할 수 없음" +msgid "NULL specification and DEFAULT specification cannot be the same" +msgstr "NULL 지정과 DEFAULT 지정이 같을 수는 없음" -#: commands/copy.c:1869 +#: commands/copy.c:825 #, c-format -msgid "cannot copy from non-table relation \"%s\"" -msgstr "" -"\"%s\" 개체는 테이블이 아닌 릴레이션(relation)이기에 자료를 내보낼 수 없습니" -"다" +msgid "column \"%s\" is a generated column" +msgstr "\"%s\" 칼럼은 미리 계산된 칼럼임" -#: commands/copy.c:1909 +#: commands/copy.c:827 #, c-format -msgid "relative path not allowed for COPY to file" -msgstr "COPY 명령에 사용할 파일 이름으로 상대경로는 사용할 수 없습니다" +msgid "Generated columns cannot be used in COPY." +msgstr "미리 계산된 칼럼은 COPY 작업 대상이 아님" -#: commands/copy.c:1928 +#: 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 +#: utils/adt/tsvector_op.c:2855 #, c-format -msgid "could not open file \"%s\" for writing: %m" -msgstr "\"%s\" 파일 열기 실패: %m" +msgid "column \"%s\" does not exist" +msgstr "\"%s\" 이름의 칼럼은 없습니다" -#: commands/copy.c:1931 +#: commands/copy.c:849 commands/tablecmds.c:2431 commands/trigger.c:958 +#: parser/parse_target.c:1070 parser/parse_target.c:1081 #, c-format -msgid "" -"COPY TO instructs the PostgreSQL server process to write a file. You may " -"want a client-side facility such as psql's \\copy." -msgstr "" -"COPY TO 명령은 PostgreSQL 서버 프로세스가 작업하기 때문에, 서버에 그 결과가 " -"저장된다. 클라이언트 쪽에서 그 결과를 저장하려면, psql \\copy 명령으로 처리" -"할 수 있다." +msgid "column \"%s\" specified more than once" +msgstr "\"%s\" 칼럼을 하나 이상 지정했음" -#: commands/copy.c:1944 commands/copy.c:3511 +#: commands/copyfrom.c:122 #, c-format -msgid "\"%s\" is a directory" -msgstr "\"%s\" 디렉터리임" +msgid "COPY %s" +msgstr "COPY %s" -#: commands/copy.c:2246 +#: commands/copyfrom.c:130 #, c-format -msgid "COPY %s, line %s, column %s" -msgstr "%s 복사, %s번째 줄, %s 열" +msgid "COPY %s, line %llu, column %s" +msgstr "COPY %s, %llu번째 줄, %s 열" -#: commands/copy.c:2250 commands/copy.c:2297 +#: commands/copyfrom.c:135 commands/copyfrom.c:181 #, c-format -msgid "COPY %s, line %s" -msgstr "%s 복사, %s번째 줄" +msgid "COPY %s, line %llu" +msgstr "COPY %s, %llu번째 줄" -#: commands/copy.c:2261 +#: commands/copyfrom.c:147 #, c-format -msgid "COPY %s, line %s, column %s: \"%s\"" -msgstr "%s 복사, %s번째 줄, %s 열: \"%s\"" +msgid "COPY %s, line %llu, column %s: \"%s\"" +msgstr "COPY %s, %llu번째 줄, %s 열: \"%s\"" -#: commands/copy.c:2269 +#: commands/copyfrom.c:157 #, c-format -msgid "COPY %s, line %s, column %s: null input" -msgstr "COPY %s, %s행, %s 열: null 입력" +msgid "COPY %s, line %llu, column %s: null input" +msgstr "COPY %s, %llu행, %s 열: null 입력" -#: commands/copy.c:2291 +#: commands/copyfrom.c:174 #, c-format -msgid "COPY %s, line %s: \"%s\"" -msgstr "%s 복사, %s번째 줄: \"%s\"" +msgid "COPY %s, line %llu: \"%s\"" +msgstr "COPY %s, %llu번째 줄: \"%s\"" -#: commands/copy.c:2692 +#: commands/copyfrom.c:673 #, c-format msgid "cannot copy to view \"%s\"" msgstr "\"%s\" 뷰로 복사할 수 없음" -#: commands/copy.c:2694 +#: commands/copyfrom.c:675 #, c-format msgid "To enable copying to a view, provide an INSTEAD OF INSERT trigger." msgstr "뷰를 통해 자료를 입력하려면, INSTEAD OF INSERT 트리거를 사용하세요" -#: commands/copy.c:2698 +#: commands/copyfrom.c:679 #, c-format msgid "cannot copy to materialized view \"%s\"" msgstr "\"%s\" 구체화된 뷰(view)에 복사할 수 없음" -#: commands/copy.c:2703 +#: commands/copyfrom.c:684 #, c-format msgid "cannot copy to sequence \"%s\"" msgstr "\"%s\" 시퀀스에 복사할 수 없음" -#: commands/copy.c:2708 +#: commands/copyfrom.c:689 #, c-format msgid "cannot copy to non-table relation \"%s\"" msgstr "\"%s\" 개체는 테이블이 아닌 릴레이션(relation)이기에 복사할 수 없음" -#: commands/copy.c:2748 +#: commands/copyfrom.c:729 #, c-format msgid "cannot perform COPY FREEZE on a partitioned table" msgstr "파티션 된 테이블에는 COPY FREEZE 수행할 수 없음" -#: commands/copy.c:2763 +#: commands/copyfrom.c:744 #, c-format msgid "cannot perform COPY FREEZE because of prior transaction activity" msgstr "" "먼저 시작한 다른 트랜잭션이 아직 활성 상태여서 COPY FREEZE 작업은 진행할 수 " "없음" -#: commands/copy.c:2769 +#: commands/copyfrom.c:750 #, c-format msgid "" "cannot perform COPY FREEZE because the table was not created or truncated in " @@ -6792,7 +7494,17 @@ msgstr "" "현재 하위 트랜잭션에서 만들어지거나 비워진 테이블이 아니기 때문에 COPY " "FREEZE 작업을 할 수 없음" -#: commands/copy.c:3498 +#: commands/copyfrom.c:1411 +#, c-format +msgid "FORCE_NOT_NULL column \"%s\" not referenced by COPY" +msgstr "\"%s\" FORCE_NOT_NULL 칼럼은 COPY에서 참조되지 않음" + +#: commands/copyfrom.c:1434 +#, c-format +msgid "FORCE_NULL column \"%s\" not referenced by COPY" +msgstr "\"%s\" FORCE_NULL 칼럼은 COPY에서 참조되지 않음" + +#: commands/copyfrom.c:1673 #, c-format msgid "" "COPY FROM instructs the PostgreSQL server process to read a file. You may " @@ -6802,278 +7514,571 @@ msgstr "" "언트 쪽에 있는 파일을 읽어 처리 하려면, psql의 \\copy 내장 명령어를 사용하세" "요." -#: commands/copy.c:3526 +#: commands/copyfrom.c:1686 commands/copyto.c:708 +#, c-format +msgid "\"%s\" is a directory" +msgstr "\"%s\" 디렉터리임" + +#: commands/copyfrom.c:1754 commands/copyto.c:306 libpq/be-secure-common.c:83 +#, c-format +msgid "could not close pipe to external command: %m" +msgstr "외부 명령으로 파이프를 닫을 수 없음: %m" + +#: commands/copyfrom.c:1769 commands/copyto.c:311 +#, c-format +msgid "program \"%s\" failed" +msgstr "\"%s\" 프로그램 실패" + +#: commands/copyfromparse.c:200 #, c-format msgid "COPY file signature not recognized" msgstr "COPY 파일 signature 인식되지 않았음" -#: commands/copy.c:3531 +#: commands/copyfromparse.c:205 #, c-format msgid "invalid COPY file header (missing flags)" msgstr "COPY 명령에서 잘못된 파일 헤더를 사용함(플래그 빠졌음)" -#: commands/copy.c:3535 +#: commands/copyfromparse.c:209 #, c-format msgid "invalid COPY file header (WITH OIDS)" msgstr "COPY 파일 해더 잘못됨 (WITH OIDS)" -#: commands/copy.c:3540 +#: commands/copyfromparse.c:214 #, c-format msgid "unrecognized critical flags in COPY file header" msgstr "COPY 파일 헤더안에 critical flags 값들을 인식할 수 없음" -#: commands/copy.c:3546 +#: commands/copyfromparse.c:220 #, c-format msgid "invalid COPY file header (missing length)" msgstr "COPY 파일 헤더에 length 값이 빠졌음" -#: commands/copy.c:3553 +#: commands/copyfromparse.c:227 #, c-format msgid "invalid COPY file header (wrong length)" msgstr "COPY 파일 헤더에 length 값이 잘못되었음" -#: commands/copy.c:3672 commands/copy.c:4337 commands/copy.c:4567 +#: commands/copyfromparse.c:256 +#, c-format +msgid "could not read from COPY file: %m" +msgstr "COPY 명령에 사용할 파일을 읽을 수 없습니다: %m" + +#: commands/copyfromparse.c:278 commands/copyfromparse.c:303 +#: tcop/postgres.c:377 +#, c-format +msgid "unexpected EOF on client connection with an open transaction" +msgstr "열린 트랜잭션과 함께 클라이언트 연결에서 예상치 않은 EOF 발견됨" + +#: commands/copyfromparse.c:294 +#, c-format +msgid "unexpected message type 0x%02X during COPY from stdin" +msgstr "" +"COPY 명령으로 stdin으로 자료를 가져오는 동안 예상치 않은 메시지 타입 0x%02X " +"발견됨" + +#: commands/copyfromparse.c:317 +#, c-format +msgid "COPY from stdin failed: %s" +msgstr "COPY 명령에서 stdin으로 자료 가져오기 실패: %s" + +#: commands/copyfromparse.c:785 +#, c-format +msgid "wrong number of fields in header line: got %d, expected %d" +msgstr "헤더 줄에 필드 수가 잘못됨: %d개 확인, 기대값: %d개" + +#: commands/copyfromparse.c:801 +#, c-format +msgid "" +"column name mismatch in header line field %d: got null value (\"%s\"), " +"expected \"%s\"" +msgstr "" +"헤더 %d 번째 필드의 칼럼 이름이 일치하지 않음: null 값 발견(\"%s\"), 기대값=" +"\"%s\"" + +#: commands/copyfromparse.c:808 +#, c-format +msgid "" +"column name mismatch in header line field %d: got \"%s\", expected \"%s\"" +msgstr "" +"헤더 줄 %d 번째 필드의 칼럼 이름이 일치하지 않음: 해당이름=\"%s\", 기대값=" +"\"%s\"" + +#: commands/copyfromparse.c:892 commands/copyfromparse.c:1512 +#: commands/copyfromparse.c:1768 #, c-format msgid "extra data after last expected column" msgstr "마지막 칼럼을 초과해서 또 다른 데이터가 있음" -#: commands/copy.c:3686 +#: commands/copyfromparse.c:906 #, c-format msgid "missing data for column \"%s\"" msgstr "\"%s\" 칼럼의 자료가 빠졌음" -#: commands/copy.c:3769 +#: commands/copyfromparse.c:999 #, c-format msgid "received copy data after EOF marker" msgstr "EOF 표시 뒤에도 복사 데이터를 받았음" -#: commands/copy.c:3776 +#: commands/copyfromparse.c:1006 #, c-format msgid "row field count is %d, expected %d" msgstr "행(row) 필드 갯수가 %d 임, 예상값은 %d" -#: commands/copy.c:4096 commands/copy.c:4113 +#: commands/copyfromparse.c:1294 commands/copyfromparse.c:1311 #, c-format msgid "literal carriage return found in data" msgstr "데이터에 carriage return 값이 잘못되었음" -#: commands/copy.c:4097 commands/copy.c:4114 +#: commands/copyfromparse.c:1295 commands/copyfromparse.c:1312 #, c-format msgid "unquoted carriage return found in data" msgstr "데이터에 carriage return 값 표기가 잘못 되었음" -#: commands/copy.c:4099 commands/copy.c:4116 +#: commands/copyfromparse.c:1297 commands/copyfromparse.c:1314 #, c-format msgid "Use \"\\r\" to represent carriage return." msgstr "carriage return값으로 \"\\r\" 문자를 사용하세요" -#: commands/copy.c:4100 commands/copy.c:4117 +#: commands/copyfromparse.c:1298 commands/copyfromparse.c:1315 #, c-format msgid "Use quoted CSV field to represent carriage return." msgstr "" "carriage return 문자를 그대로 적용하려면, quoted CSV 필드를 사용하세요." -#: commands/copy.c:4129 +#: commands/copyfromparse.c:1327 #, c-format msgid "literal newline found in data" msgstr "데이터에 newline 값이 잘못되었음" -#: commands/copy.c:4130 +#: commands/copyfromparse.c:1328 #, c-format msgid "unquoted newline found in data" msgstr "데이터에 newline 값이 잘못 되었음" -#: commands/copy.c:4132 +#: commands/copyfromparse.c:1330 #, c-format msgid "Use \"\\n\" to represent newline." msgstr "newline 값으로 \"\\n\" 문자를 사용하세요" -#: commands/copy.c:4133 +#: commands/copyfromparse.c:1331 #, c-format msgid "Use quoted CSV field to represent newline." msgstr "newline 문자를 그대로 적용하려면, quoted CSV 필드를 사용하세요." -#: commands/copy.c:4179 commands/copy.c:4215 +#: commands/copyfromparse.c:1377 commands/copyfromparse.c:1413 #, c-format msgid "end-of-copy marker does not match previous newline style" msgstr "end-of-copy 마크는 이전 newline 모양가 틀립니다" -#: commands/copy.c:4188 commands/copy.c:4204 +#: commands/copyfromparse.c:1386 commands/copyfromparse.c:1402 #, c-format msgid "end-of-copy marker corrupt" msgstr "end-of-copy 마크가 잘못되었음" -#: commands/copy.c:4651 +#: commands/copyfromparse.c:1704 commands/copyfromparse.c:1919 +#, c-format +msgid "unexpected default marker in COPY data" +msgstr "COPY 자료 안에 예상치 않은 기본 마커" + +#: commands/copyfromparse.c:1705 commands/copyfromparse.c:1920 +#, c-format +msgid "Column \"%s\" has no default value." +msgstr "\"%s\" 칼럼은 DEFAULT 값이 없음." + +#: commands/copyfromparse.c:1852 #, c-format msgid "unterminated CSV quoted field" msgstr "종료되지 않은 CSV 따옴표 필드" -#: commands/copy.c:4728 commands/copy.c:4747 +#: commands/copyfromparse.c:1954 commands/copyfromparse.c:1973 #, c-format msgid "unexpected EOF in COPY data" msgstr "복사 자료 안에 예상치 않은 EOF 발견" -#: commands/copy.c:4737 +#: commands/copyfromparse.c:1963 #, c-format msgid "invalid field size" msgstr "잘못된 필드 크기" -#: commands/copy.c:4760 +#: commands/copyfromparse.c:1986 #, c-format msgid "incorrect binary data format" msgstr "잘못된 바이너리 자료 포맷" -#: commands/copy.c:5068 +#: commands/copyto.c:236 #, c-format -msgid "column \"%s\" is a generated column" -msgstr "\"%s\" 칼럼은 미리 계산된 칼럼임" +msgid "could not write to COPY program: %m" +msgstr "COPY 프로그램으로 파일을 쓸 수 없습니다: %m" -#: commands/copy.c:5070 +#: commands/copyto.c:241 #, c-format -msgid "Generated columns cannot be used in COPY." -msgstr "미리 계산된 칼럼은 COPY 작업 대상이 아님" +msgid "could not write to COPY file: %m" +msgstr "COPY 파일로로 파일을 쓸 수 없습니다: %m" -#: commands/copy.c:5085 commands/indexcmds.c:1699 commands/statscmds.c:217 -#: commands/tablecmds.c:2176 commands/tablecmds.c:2795 -#: commands/tablecmds.c:3182 parser/parse_relation.c:3507 -#: parser/parse_relation.c:3527 utils/adt/tsvector_op.c:2668 +#: commands/copyto.c:386 #, c-format -msgid "column \"%s\" does not exist" -msgstr "\"%s\" 이름의 칼럼은 없습니다" +msgid "cannot copy from view \"%s\"" +msgstr "\"%s\" 이름의 개체는 뷰(view)입니다. 자료를 내보낼 수 없습니다" -#: commands/copy.c:5092 commands/tablecmds.c:2202 commands/trigger.c:885 -#: parser/parse_target.c:1052 parser/parse_target.c:1063 +#: commands/copyto.c:388 commands/copyto.c:394 commands/copyto.c:400 +#: commands/copyto.c:411 #, c-format -msgid "column \"%s\" specified more than once" -msgstr "\"%s\" 칼럼을 하나 이상 지정했음" +msgid "Try the COPY (SELECT ...) TO variant." +msgstr "COPY (SELECT ...) TO 변형을 시도하십시오." + +#: commands/copyto.c:392 +#, c-format +msgid "cannot copy from materialized view \"%s\"" +msgstr "\"%s\" 이름의 개체는 구체화된 뷰입니다. 자료를 내보낼 수 없습니다" + +#: commands/copyto.c:398 +#, c-format +msgid "cannot copy from foreign table \"%s\"" +msgstr "\"%s\" 이름의 개체는 외부 테이블입니다. 자료를 내보낼 수 없습니다" + +#: commands/copyto.c:404 +#, c-format +msgid "cannot copy from sequence \"%s\"" +msgstr "\"%s\" 이름의 개체는 시퀀스입니다. 자료를 내보낼 수 없습니다" + +#: commands/copyto.c:409 +#, c-format +msgid "cannot copy from partitioned table \"%s\"" +msgstr "\"%s\" 파티션 된 테이블에서 복사할 수 없음" + +#: commands/copyto.c:415 +#, c-format +msgid "cannot copy from non-table relation \"%s\"" +msgstr "" +"\"%s\" 개체는 테이블이 아닌 릴레이션(relation)이기에 자료를 내보낼 수 없습니" +"다" + +#: commands/copyto.c:467 +#, c-format +msgid "DO INSTEAD NOTHING rules are not supported for COPY" +msgstr "DO INSTEAD NOTHING 룰(rule)은 COPY 구문에서 지원하지 않습니다." + +#: commands/copyto.c:481 +#, c-format +msgid "conditional DO INSTEAD rules are not supported for COPY" +msgstr "선택적 DO INSTEAD 룰은 COPY 구문에서 지원하지 않음" + +#: commands/copyto.c:485 +#, c-format +msgid "DO ALSO rules are not supported for the COPY" +msgstr "DO ALSO 룰(rule)은 COPY 구문에서 지원하지 않습니다." + +#: commands/copyto.c:490 +#, c-format +msgid "multi-statement DO INSTEAD rules are not supported for COPY" +msgstr "다중 구문 DO INSTEAD 룰은 COPY 구문에서 지원하지 않음" + +#: commands/copyto.c:500 +#, c-format +msgid "COPY (SELECT INTO) is not supported" +msgstr "COPY (SELECT INTO) 지원하지 않음" + +#: commands/copyto.c:517 +#, c-format +msgid "COPY query must have a RETURNING clause" +msgstr "COPY 쿼리는 RETURNING 절이 있어야 합니다" + +#: commands/copyto.c:546 +#, c-format +msgid "relation referenced by COPY statement has changed" +msgstr "COPY 문에 의해 참조된 릴레이션이 변경 되었음" + +#: commands/copyto.c:605 +#, c-format +msgid "FORCE_QUOTE column \"%s\" not referenced by COPY" +msgstr "\"%s\" FORCE_QUOTE 칼럼은 COPY에서 참조되지 않음" + +#: commands/copyto.c:673 +#, c-format +msgid "relative path not allowed for COPY to file" +msgstr "COPY 명령에 사용할 파일 이름으로 상대경로는 사용할 수 없습니다" + +#: commands/copyto.c:692 +#, c-format +msgid "could not open file \"%s\" for writing: %m" +msgstr "\"%s\" 파일 열기 실패: %m" + +#: commands/copyto.c:695 +#, c-format +msgid "" +"COPY TO instructs the PostgreSQL server process to write a file. You may " +"want a client-side facility such as psql's \\copy." +msgstr "" +"COPY TO 명령은 PostgreSQL 서버 프로세스가 작업하기 때문에, 서버에 그 결과가 " +"저장된다. 클라이언트 쪽에서 그 결과를 저장하려면, psql \\copy 명령으로 처리" +"할 수 있다." -#: commands/createas.c:215 commands/createas.c:497 +#: commands/createas.c:215 commands/createas.c:523 #, c-format msgid "too many column names were specified" msgstr "너무 많은 칼럼 이름을 지정했습니다." -#: commands/createas.c:539 +#: commands/createas.c:546 #, c-format msgid "policies not yet implemented for this command" msgstr "이 명령을 위한 정책은 아직 구현되어 있지 않습니다" -#: commands/dbcommands.c:246 +#: commands/dbcommands.c:822 #, c-format msgid "LOCATION is not supported anymore" msgstr "LOCATION 예약어는 이제 더이상 지원하지 않습니다" -#: commands/dbcommands.c:247 +#: commands/dbcommands.c:823 #, c-format msgid "Consider using tablespaces instead." msgstr "대신에 테이블스페이스를 이용하세요." -#: commands/dbcommands.c:261 +#: commands/dbcommands.c:848 #, c-format -msgid "LOCALE cannot be specified together with LC_COLLATE or LC_CTYPE." -msgstr "LOCALE 값은 LC_COLLATE 또는 LC_CTYPE 값과 함께 지정할 수 없음" +msgid "OIDs less than %u are reserved for system objects" +msgstr "시스템 객체용으로 사용할 미리 예약된 최대 %u OID 보다 작을 수는 없음" -#: commands/dbcommands.c:279 utils/adt/ascii.c:145 +#: commands/dbcommands.c:879 utils/adt/ascii.c:146 #, c-format msgid "%d is not a valid encoding code" msgstr "%d 값은 잘못된 인코딩 코드임" -#: commands/dbcommands.c:290 utils/adt/ascii.c:127 +#: commands/dbcommands.c:890 utils/adt/ascii.c:128 #, c-format msgid "%s is not a valid encoding name" msgstr "%s 이름은 잘못된 인코딩 이름임" -#: commands/dbcommands.c:314 commands/dbcommands.c:1569 commands/user.c:275 -#: commands/user.c:691 +#: commands/dbcommands.c:919 +#, c-format +msgid "unrecognized locale provider: %s" +msgstr "알 수 없는 로케일 제공자 이름: %s" + +#: commands/dbcommands.c:932 commands/dbcommands.c:2351 commands/user.c:300 +#: commands/user.c:740 #, c-format msgid "invalid connection limit: %d" msgstr "잘못된 연결 제한: %d" -#: commands/dbcommands.c:333 +#: commands/dbcommands.c:953 #, c-format msgid "permission denied to create database" msgstr "데이터베이스를 만들 권한이 없음" -#: commands/dbcommands.c:356 +#: commands/dbcommands.c:977 #, c-format msgid "template database \"%s\" does not exist" msgstr "\"%s\" 템플릿 데이터베이스 없음" -#: commands/dbcommands.c:368 +#: commands/dbcommands.c:987 +#, c-format +msgid "cannot use invalid database \"%s\" as template" +msgstr "\"%s\" 데이터베이스 잘못된 것으로 템플릿으로 사용할 수 없음" + +#: commands/dbcommands.c:988 commands/dbcommands.c:2380 +#: utils/init/postinit.c:1100 +#, c-format +msgid "Use DROP DATABASE to drop invalid databases." +msgstr "" +"바르지 않은 데이터베이스를 삭제하려면, DROP DATABASE 명령을 사용하세요." + +#: commands/dbcommands.c:999 #, c-format msgid "permission denied to copy database \"%s\"" msgstr "\"%s\" 데이터베이스를 복사할 권한이 없음" -#: commands/dbcommands.c:384 +#: commands/dbcommands.c:1016 +#, c-format +msgid "invalid create database strategy \"%s\"" +msgstr "잘못된 데이터베이스 만들기 전략: \"%s\"" + +#: commands/dbcommands.c:1017 +#, c-format +msgid "Valid strategies are \"wal_log\", and \"file_copy\"." +msgstr "사용할 수 있는 값은 \"wal_log\" 또는 \"file_copy\" 입니다." + +#: commands/dbcommands.c:1043 #, c-format msgid "invalid server encoding %d" msgstr "잘못된 서버 인코딩 %d" -#: commands/dbcommands.c:390 commands/dbcommands.c:395 +#: commands/dbcommands.c:1049 +#, c-format +msgid "invalid LC_COLLATE locale name: \"%s\"" +msgstr "LC_COLLATE 로케일 이름이 잘못됨: \"%s\"" + +#: commands/dbcommands.c:1050 commands/dbcommands.c:1056 +#, c-format +msgid "If the locale name is specific to ICU, use ICU_LOCALE." +msgstr "ICU 로케일 이름을 사용하려면, ICU_LOCALE을 사용하세요." + +#: commands/dbcommands.c:1055 +#, c-format +msgid "invalid LC_CTYPE locale name: \"%s\"" +msgstr "LC_CTYPE 로케일 이름이 잘못됨: \"%s\"" + +#: commands/dbcommands.c:1066 +#, c-format +msgid "encoding \"%s\" is not supported with ICU provider" +msgstr "\"%s\" 인코딩은 ICU 제공자에서 지원하지 않음" + +#: commands/dbcommands.c:1076 +#, c-format +msgid "LOCALE or ICU_LOCALE must be specified" +msgstr "LOCALE 또는 ICU_LOCALE을 지정해야 합니다." + +#: commands/dbcommands.c:1105 #, c-format -msgid "invalid locale name: \"%s\"" -msgstr "\"%s\" 로케일 이름이 잘못됨" +msgid "ICU locale cannot be specified unless locale provider is ICU" +msgstr "ICU 로케일은 ICU 로케일 제공자를 지정해야만 쓸 수 있습니다." -#: commands/dbcommands.c:415 +#: commands/dbcommands.c:1128 #, c-format msgid "" "new encoding (%s) is incompatible with the encoding of the template database " "(%s)" msgstr "새 인코딩(%s)이 템플릿 데이터베이스의 인코딩(%s)과 호환되지 않음" -#: commands/dbcommands.c:418 +#: commands/dbcommands.c:1131 +#, c-format +msgid "" +"Use the same encoding as in the template database, or use template0 as " +"template." +msgstr "" +"템플릿 데이터베이스와 동일한 인코딩을 사용하거나 template0을 템플릿으로 사용" +"하십시오." + +#: commands/dbcommands.c:1136 +#, c-format +msgid "" +"new collation (%s) is incompatible with the collation of the template " +"database (%s)" +msgstr "" +"새 데이터 정렬 규칙 (%s)이 템플릿 데이터베이스의 데이터 정렬 규칙(%s)과 호환" +"되지 않음" + +#: commands/dbcommands.c:1138 +#, c-format +msgid "" +"Use the same collation as in the template database, or use template0 as " +"template." +msgstr "" +"템플릿 데이터베이스와 동일한 데이터 정렬 규칙을 사용하거나 template0을 템플릿" +"으로 사용하십시오." + +#: commands/dbcommands.c:1143 +#, c-format +msgid "" +"new LC_CTYPE (%s) is incompatible with the LC_CTYPE of the template database " +"(%s)" +msgstr "새 LC_CTYPE (%s)이 템플릿 데이터베이스의 LC_CTYPE (%s)과 호환되지 않음" + +#: commands/dbcommands.c:1145 +#, c-format +msgid "" +"Use the same LC_CTYPE as in the template database, or use template0 as " +"template." +msgstr "" +"템플릿 데이터베이스와 동일한 LC_CTYPE을 사용하거나 template0을 템플릿으로 사" +"용하십시오." + +#: commands/dbcommands.c:1150 +#, c-format +msgid "" +"new locale provider (%s) does not match locale provider of the template " +"database (%s)" +msgstr "" +"새 로케일 제공자(%s)는 템플릿 데이터베이스의 로케일 제공자(%s)와 같지 않음" + +#: commands/dbcommands.c:1152 +#, c-format +msgid "" +"Use the same locale provider as in the template database, or use template0 " +"as template." +msgstr "" +"템플릿 데이터베이스와 동일한 로케일 제공자를 사용하거나 template0을 템플릿으" +"로 사용하십시오." + +#: commands/dbcommands.c:1164 +#, c-format +msgid "" +"new ICU locale (%s) is incompatible with the ICU locale of the template " +"database (%s)" +msgstr "" +"새 ICU 로케일(%s)이 템플릿 데이터베이스의 ICU 로케일(%s)과 호환되지 않음" + +#: commands/dbcommands.c:1166 +#, c-format +msgid "" +"Use the same ICU locale as in the template database, or use template0 as " +"template." +msgstr "" +"템플릿 데이터베이스와 동일한 ICU 로케일을 사용하거나 template0을 템플릿으로 " +"사용하십시오." + +#: commands/dbcommands.c:1177 #, c-format msgid "" -"Use the same encoding as in the template database, or use template0 as " -"template." +"new ICU collation rules (%s) are incompatible with the ICU collation rules " +"of the template database (%s)" msgstr "" -"템플릿 데이터베이스와 동일한 인코딩을 사용하거나 template0을 템플릿으로 사용" -"하십시오." +"새 ICU 문자열 정렬 규칙 (%s)이 템플릿 데이터베이스의 ICU 문자열 정렬 규칙(%s)" +"과 호환되지 않음" -#: commands/dbcommands.c:423 +#: commands/dbcommands.c:1179 #, c-format msgid "" -"new collation (%s) is incompatible with the collation of the template " -"database (%s)" +"Use the same ICU collation rules as in the template database, or use " +"template0 as template." msgstr "" -"새 데이터 정렬 규칙 (%s)이 템플릿 데이터베이스의 데이터 정렬 규칙(%s)과 호환" -"되지 않음" +"템플릿 데이터베이스와 동일한 ICU 문자열 정렬 규칙을 사용하거나 template0을 템" +"플릿으로 사용하십시오." -#: commands/dbcommands.c:425 +#: commands/dbcommands.c:1202 #, c-format msgid "" -"Use the same collation as in the template database, or use template0 as " -"template." +"template database \"%s\" has a collation version, but no actual collation " +"version could be determined" msgstr "" -"템플릿 데이터베이스와 동일한 데이터 정렬 규칙을 사용하거나 template0을 템플릿" -"으로 사용하십시오." +"\"%s\" 템플릿 데이터베이스에는 문자 정렬 규칙 버전이 있는데, 그 실제 버전을 " +"알 수 없음" -#: commands/dbcommands.c:430 +#: commands/dbcommands.c:1207 +#, c-format +msgid "template database \"%s\" has a collation version mismatch" +msgstr "\"%s\" 템플릿 데이터베이스의 문자 정렬 규칙 버전이 바르지 않음" + +#: commands/dbcommands.c:1209 #, c-format msgid "" -"new LC_CTYPE (%s) is incompatible with the LC_CTYPE of the template database " -"(%s)" -msgstr "새 LC_CTYPE (%s)이 템플릿 데이터베이스의 LC_CTYPE (%s)과 호환되지 않음" +"The template database was created using collation version %s, but the " +"operating system provides version %s." +msgstr "" +"템플릿 데이터베이스는 문자 정렬 규칙 버전이 %s 이고, 운영체제는 %s 버전을 지" +"원합니다." -#: commands/dbcommands.c:432 +#: commands/dbcommands.c:1212 #, c-format msgid "" -"Use the same LC_CTYPE as in the template database, or use template0 as " -"template." +"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 "" -"템플릿 데이터베이스와 동일한 LC_CTYPE을 사용하거나 template0을 템플릿으로 사" -"용하십시오." +"템플릿 데이터베이스 내 모든 객체를 기본 문자 정렬 규칙을 사용하도록 다시 만들" +"고, ALTER DATABASE %s REFRESH COLLATION VERSION 명령을 실행하거나, 바른 버전" +"의 라이브러리를 사용해서 PostgreSQL 엔진을 다시 만드십시오." -#: commands/dbcommands.c:454 commands/dbcommands.c:1196 +#: commands/dbcommands.c:1248 commands/dbcommands.c:1980 #, c-format msgid "pg_global cannot be used as default tablespace" msgstr "pg_global을 기본 테이블스페이스로 사용할 수 없음" -#: commands/dbcommands.c:480 +#: commands/dbcommands.c:1274 #, c-format msgid "cannot assign new default tablespace \"%s\"" msgstr "새 \"%s\" 테이블스페이스를 지정할 수 없습니다." -#: commands/dbcommands.c:482 +#: commands/dbcommands.c:1276 #, c-format msgid "" "There is a conflict because database \"%s\" already has some tables in this " @@ -7082,96 +8087,106 @@ msgstr "" "\"%s\" 데이터베이스 소속 몇몇 테이블들이 이 테이블스페이스안에 있어서 충돌이 " "일어납니다." -#: commands/dbcommands.c:512 commands/dbcommands.c:1066 +#: commands/dbcommands.c:1306 commands/dbcommands.c:1853 #, c-format msgid "database \"%s\" already exists" msgstr "\"%s\" 이름의 데이터베이스는 이미 있음" -#: commands/dbcommands.c:526 +#: commands/dbcommands.c:1320 #, c-format msgid "source database \"%s\" is being accessed by other users" msgstr "\"%s\" 원본 데이터베이스를 다른 사용자가 액세스하기 시작했습니다" -#: commands/dbcommands.c:769 commands/dbcommands.c:784 +#: commands/dbcommands.c:1342 +#, c-format +msgid "database OID %u is already in use by database \"%s\"" +msgstr "%u OID 데이터베이스는 이미 \"%s\" 데이터베이스가 쓰고 있음" + +#: commands/dbcommands.c:1348 +#, c-format +msgid "data directory with the specified OID %u already exists" +msgstr "%u OID에 해당하는 데이터 디렉터리가 이미 있습니다." + +#: commands/dbcommands.c:1520 commands/dbcommands.c:1535 #, c-format msgid "encoding \"%s\" does not match locale \"%s\"" msgstr "\"%s\" 인코딩은 \"%s\" 로케일과 일치하지 않음" -#: commands/dbcommands.c:772 +#: commands/dbcommands.c:1523 #, c-format msgid "The chosen LC_CTYPE setting requires encoding \"%s\"." msgstr "선택한 LC_CTYPE 설정에는 \"%s\" 인코딩이 필요합니다." -#: commands/dbcommands.c:787 +#: commands/dbcommands.c:1538 #, c-format msgid "The chosen LC_COLLATE setting requires encoding \"%s\"." msgstr "선택한 LC_COLLATE 설정에는 \"%s\" 인코딩이 필요합니다." -#: commands/dbcommands.c:848 +#: commands/dbcommands.c:1619 #, c-format msgid "database \"%s\" does not exist, skipping" msgstr "\"%s\" 데이터베이스 없음, 건너 뜀" -#: commands/dbcommands.c:872 +#: commands/dbcommands.c:1643 #, c-format msgid "cannot drop a template database" msgstr "템플릿 데이터베이스는 삭제할 수 없습니다" -#: commands/dbcommands.c:878 +#: commands/dbcommands.c:1649 #, c-format msgid "cannot drop the currently open database" msgstr "현재 열려 있는 데이터베이스는 삭제할 수 없습니다" -#: commands/dbcommands.c:891 +#: commands/dbcommands.c:1662 #, c-format msgid "database \"%s\" is used by an active logical replication slot" msgstr "\"%s\" 데이터베이스는 논리 복제 슬롯이 활성화 되어 있습니다" -#: commands/dbcommands.c:893 +#: commands/dbcommands.c:1664 #, c-format msgid "There is %d active slot." msgid_plural "There are %d active slots." msgstr[0] "%d 개의 활성 슬롯이 있습니다." -#: commands/dbcommands.c:907 +#: commands/dbcommands.c:1678 #, c-format msgid "database \"%s\" is being used by logical replication subscription" msgstr "\"%s\" 데이터베이스가 논리 복제 구독으로 사용되었음" -#: commands/dbcommands.c:909 +#: commands/dbcommands.c:1680 #, c-format msgid "There is %d subscription." msgid_plural "There are %d subscriptions." msgstr[0] "%d 개의 구독이 있습니다." -#: commands/dbcommands.c:930 commands/dbcommands.c:1088 -#: commands/dbcommands.c:1218 +#: commands/dbcommands.c:1701 commands/dbcommands.c:1875 +#: commands/dbcommands.c:2002 #, c-format msgid "database \"%s\" is being accessed by other users" msgstr "\"%s\" 데이터베이스를 다른 사용자가 액세스하기 시작했습니다" -#: commands/dbcommands.c:1048 +#: commands/dbcommands.c:1835 #, c-format msgid "permission denied to rename database" msgstr "데이터베이스 이름을 바꿀 권한이 없습니다" -#: commands/dbcommands.c:1077 +#: commands/dbcommands.c:1864 #, c-format msgid "current database cannot be renamed" msgstr "현재 데이터베이스의 이름을 바꿀 수 없음" -#: commands/dbcommands.c:1174 +#: commands/dbcommands.c:1958 #, c-format msgid "cannot change the tablespace of the currently open database" msgstr "현재 열려 있는 데이터베이스의 테이블스페이스를 바꿀 수 없음" -#: commands/dbcommands.c:1277 +#: commands/dbcommands.c:2064 #, c-format msgid "some relations of database \"%s\" are already in tablespace \"%s\"" msgstr "" "\"%s\" 데이터베이스의 일부 릴레이션들이 \"%s\" 테이블스페이스에 이미 있음" -#: commands/dbcommands.c:1279 +#: commands/dbcommands.c:2066 #, c-format msgid "" "You must move them back to the database's default tablespace before using " @@ -7180,35 +8195,39 @@ msgstr "" "이 명령을 사용하기 전에 데이터베이스의 기본 테이블스페이스로 다시 이동해야 합" "니다." -#: commands/dbcommands.c:1404 commands/dbcommands.c:1980 -#: commands/dbcommands.c:2203 commands/dbcommands.c:2261 -#: commands/tablespace.c:619 +#: 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 "" "불필요한 일부 파일이 이전 데이터베이스 디렉터리 \"%s\"에 남아 있을 수 있음" -#: commands/dbcommands.c:1460 +#: commands/dbcommands.c:2254 #, c-format msgid "unrecognized DROP DATABASE option \"%s\"" msgstr "알 수 없는 DROP DATABASE 옵션: \"%s\"" -#: commands/dbcommands.c:1550 +#: commands/dbcommands.c:2332 #, c-format msgid "option \"%s\" cannot be specified with other options" msgstr "\"%s\" 옵션은 다른 옵션들과 함께 사용할 수 없습니다." -#: commands/dbcommands.c:1606 +#: commands/dbcommands.c:2379 +#, c-format +msgid "cannot alter invalid database \"%s\"" +msgstr "잘못된 \"%s\" 데이터베이스에 대해 변경 작업을 할 수 없음" + +#: commands/dbcommands.c:2396 #, c-format msgid "cannot disallow connections for current database" msgstr "현재 데이터베이스 연결을 허용하지 않습니다." -#: commands/dbcommands.c:1742 +#: commands/dbcommands.c:2611 #, c-format msgid "permission denied to change owner of database" msgstr "데이터베이스 소유주를 바꿀 권한이 없습니다" -#: commands/dbcommands.c:2086 +#: commands/dbcommands.c:3015 #, c-format msgid "" "There are %d other session(s) and %d prepared transaction(s) using the " @@ -7216,79 +8235,90 @@ msgid "" msgstr "" "데이터베이스를 사용하는 %d개의 다른 세션과 %d개의 준비된 트랜잭션이 있습니다." -#: commands/dbcommands.c:2089 +#: 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] "데이터베이스를 사용하는 %d개의 다른 세션이 있습니다." -#: commands/dbcommands.c:2094 storage/ipc/procarray.c:3016 +#: commands/dbcommands.c:3023 storage/ipc/procarray.c:3798 #, c-format msgid "There is %d prepared transaction using the database." msgid_plural "There are %d prepared transactions using the database." msgstr[0] "데이터베이스를 사용하는 %d개의 준비된 트랜잭션이 있습니다." -#: commands/define.c:54 commands/define.c:228 commands/define.c:260 -#: commands/define.c:288 commands/define.c:334 +#: commands/dbcommands.c:3165 +#, c-format +msgid "missing directory \"%s\"" +msgstr "\"%s\" 디렉터리가 빠졌음" + +#: commands/dbcommands.c:3223 commands/tablespace.c:190 +#: commands/tablespace.c:639 +#, c-format +msgid "could not stat directory \"%s\": %m" +msgstr "\"%s\" 디렉터리 상태를 파악할 수 없음: %m" + +#: commands/define.c:54 commands/define.c:258 commands/define.c:290 +#: commands/define.c:318 commands/define.c:364 #, c-format msgid "%s requires a parameter" msgstr "%s 매개 변수를 필요로 함" -#: commands/define.c:90 commands/define.c:101 commands/define.c:195 -#: commands/define.c:213 +#: commands/define.c:87 commands/define.c:98 commands/define.c:192 +#: commands/define.c:210 commands/define.c:225 commands/define.c:243 #, c-format msgid "%s requires a numeric value" msgstr "%s 숫자값을 필요로 함" -#: commands/define.c:157 +#: commands/define.c:154 #, c-format msgid "%s requires a Boolean value" -msgstr "%s 값은 boolean 값이어야합니다." +msgstr "%s 값은 불리언 값이어야 합니다." -#: commands/define.c:171 commands/define.c:180 commands/define.c:297 +#: commands/define.c:168 commands/define.c:177 commands/define.c:327 #, c-format msgid "%s requires an integer value" msgstr "%s 하나의 정수값이 필요함" -#: commands/define.c:242 +#: commands/define.c:272 #, c-format msgid "argument of %s must be a name" msgstr "%s의 인자는 이름이어야 합니다" -#: commands/define.c:272 +#: commands/define.c:302 #, c-format msgid "argument of %s must be a type name" -msgstr "%s의 인자는 자료형 이름이어야합니다" +msgstr "%s의 인자는 자료형 이름이어야 합니다" -#: commands/define.c:318 +#: commands/define.c:348 #, c-format msgid "invalid argument for %s: \"%s\"" msgstr "%s의 잘못된 인자: \"%s\"" -#: commands/dropcmds.c:100 commands/functioncmds.c:1274 -#: utils/adt/ruleutils.c:2633 +#: commands/dropcmds.c:101 commands/functioncmds.c:1387 +#: utils/adt/ruleutils.c:2897 #, c-format msgid "\"%s\" is an aggregate function" msgstr "\"%s\" 함수는 집계 함수입니다" -#: commands/dropcmds.c:102 +#: commands/dropcmds.c:103 #, c-format msgid "Use DROP AGGREGATE to drop aggregate functions." msgstr "집계 함수는 DROP AGGREGATE 명령으로 삭제할 수 있습니다" -#: commands/dropcmds.c:158 commands/sequence.c:447 commands/tablecmds.c:3266 -#: commands/tablecmds.c:3424 commands/tablecmds.c:3469 -#: commands/tablecmds.c:15038 tcop/utility.c:1309 +#: 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 #, c-format msgid "relation \"%s\" does not exist, skipping" msgstr "\"%s\" 릴레이션 없음, 건너뜀" -#: commands/dropcmds.c:188 commands/dropcmds.c:287 commands/tablecmds.c:1199 +#: commands/dropcmds.c:188 commands/dropcmds.c:287 commands/tablecmds.c:1285 #, c-format msgid "schema \"%s\" does not exist, skipping" msgstr "\"%s\" 스키마(schema) 없음, 건너뜀" -#: commands/dropcmds.c:228 commands/dropcmds.c:267 commands/tablecmds.c:259 +#: commands/dropcmds.c:228 commands/dropcmds.c:267 commands/tablecmds.c:277 #, c-format msgid "type \"%s\" does not exist, skipping" msgstr "\"%s\" 자료형 없음, 건너뜀" @@ -7308,7 +8338,7 @@ msgstr "\"%s\" 정렬규칙 없음, 건너뜀" msgid "conversion \"%s\" does not exist, skipping" msgstr "\"%s\" 문자코드변환규칙(conversion) 없음, 건너뜀" -#: commands/dropcmds.c:293 commands/statscmds.c:479 +#: commands/dropcmds.c:293 commands/statscmds.c:654 #, c-format msgid "statistics object \"%s\" does not exist, skipping" msgstr "\"%s\" 통계정보 개체 없음, 무시함" @@ -7403,7 +8433,7 @@ msgstr " \"%s\" 룰(rule)이 \"%s\" 릴레이션에 지정된 것이 없음, msgid "foreign-data wrapper \"%s\" does not exist, skipping" msgstr "\"%s\" 외부 자료 래퍼가 없음, 건너뜀" -#: commands/dropcmds.c:453 commands/foreigncmds.c:1399 +#: commands/dropcmds.c:453 commands/foreigncmds.c:1360 #, c-format msgid "server \"%s\" does not exist, skipping" msgstr "\"%s\" 서버가 없음, 건너뜀" @@ -7461,193 +8491,235 @@ msgstr "%s 용 이벤트 트리거는 지원하지 않음" msgid "filter variable \"%s\" specified more than once" msgstr "\"%s\" 필터 변수가 한 번 이상 사용되었습니다." -#: commands/event_trigger.c:399 commands/event_trigger.c:443 -#: commands/event_trigger.c:537 +#: commands/event_trigger.c:376 commands/event_trigger.c:420 +#: commands/event_trigger.c:514 #, c-format msgid "event trigger \"%s\" does not exist" msgstr "\"%s\" 이벤트 트리거 없음" -#: commands/event_trigger.c:505 +#: commands/event_trigger.c:452 +#, c-format +msgid "event trigger with OID %u does not exist" +msgstr "OID %u 이벤트 트리거가 없음" + +#: commands/event_trigger.c:482 #, c-format msgid "permission denied to change owner of event trigger \"%s\"" msgstr "\"%s\" 이벤트 트리거 소유주를 변경할 권한이 없음" -#: commands/event_trigger.c:507 +#: commands/event_trigger.c:484 #, c-format msgid "The owner of an event trigger must be a superuser." msgstr "이벤트 트리거 소유주는 슈퍼유저여야 합니다." -#: commands/event_trigger.c:1325 +#: commands/event_trigger.c:1304 #, c-format msgid "%s can only be called in a sql_drop event trigger function" msgstr "%s 개체는 sql_drop 이벤트 트리거 함수 안에서만 호출 되어야 합니다." -#: commands/event_trigger.c:1445 commands/event_trigger.c:1466 +#: commands/event_trigger.c:1397 commands/event_trigger.c:1418 #, c-format msgid "%s can only be called in a table_rewrite event trigger function" msgstr "" "%s 개체는 table_rewrite 이벤트 트리거 함수 안에서만 호출 되어야 합니다." -#: commands/event_trigger.c:1883 +#: commands/event_trigger.c:1831 #, c-format msgid "%s can only be called in an event trigger function" msgstr "%s 개체는 이벤트 트리거 함수 안에서만 호출 되어야 합니다." -#: commands/explain.c:213 +#: commands/explain.c:220 #, c-format msgid "unrecognized value for EXPLAIN option \"%s\": \"%s\"" msgstr "\"%s\" EXPLAIN 옵션에서 쓸 수 없는 값: \"%s\"" -#: commands/explain.c:220 +#: commands/explain.c:227 #, c-format msgid "unrecognized EXPLAIN option \"%s\"" msgstr "잘못된 EXPLAIN 옵션: \"%s\"" -#: commands/explain.c:228 +#: commands/explain.c:236 #, c-format msgid "EXPLAIN option WAL requires ANALYZE" msgstr "WAL 옵션은 EXPLAIN ANALYZE에서만 쓸 수 있습니다." -#: commands/explain.c:237 +#: commands/explain.c:245 #, c-format msgid "EXPLAIN option TIMING requires ANALYZE" msgstr "TIMING 옵션은 EXPLAIN ANALYZE에서만 쓸 수 있습니다." -#: commands/extension.c:173 commands/extension.c:3013 +#: commands/explain.c:251 +#, c-format +msgid "EXPLAIN options ANALYZE and GENERIC_PLAN cannot be used together" +msgstr "" +"EXPLAIN 옵션으로 ANALYZE 옵션과 GENERIC_PLAN 옵션을 함께 사용할 수 없습니다." + +#: commands/extension.c:177 commands/extension.c:3033 #, c-format msgid "extension \"%s\" does not exist" msgstr "\"%s\" 이름의 확장 모듈이 없습니다" -#: commands/extension.c:272 commands/extension.c:281 commands/extension.c:293 -#: commands/extension.c:303 +#: commands/extension.c:276 commands/extension.c:285 commands/extension.c:297 +#: commands/extension.c:307 #, c-format msgid "invalid extension name: \"%s\"" msgstr "잘못된 확장 모듈 이름: \"%s\"" -#: commands/extension.c:273 +#: commands/extension.c:277 #, c-format msgid "Extension names must not be empty." msgstr "확장 모듈 이름을 지정하세요." -#: commands/extension.c:282 +#: commands/extension.c:286 #, c-format msgid "Extension names must not contain \"--\"." msgstr "확장 모듈 이름에 \"--\" 문자가 포함될 수 없습니다." -#: commands/extension.c:294 +#: commands/extension.c:298 #, c-format msgid "Extension names must not begin or end with \"-\"." msgstr "확장 모듈 이름의 시작과 끝에는 \"-\" 문자를 사용할 수 없습니다." -#: commands/extension.c:304 +#: commands/extension.c:308 #, c-format msgid "Extension names must not contain directory separator characters." msgstr "확장 모듈 이름에는 디렉터리 구분 문자를 사용할 수 없습니다." -#: commands/extension.c:319 commands/extension.c:328 commands/extension.c:337 -#: commands/extension.c:347 +#: commands/extension.c:323 commands/extension.c:332 commands/extension.c:341 +#: commands/extension.c:351 #, c-format msgid "invalid extension version name: \"%s\"" msgstr "잘못된 확장 모듈 버전 이름: \"%s\"" -#: commands/extension.c:320 +#: commands/extension.c:324 #, c-format msgid "Version names must not be empty." msgstr "버전 이름은 비어있으면 안됩니다" -#: commands/extension.c:329 +#: commands/extension.c:333 #, c-format msgid "Version names must not contain \"--\"." msgstr "버전 이름에 \"--\" 문자가 포함될 수 없습니다." -#: commands/extension.c:338 +#: commands/extension.c:342 #, c-format msgid "Version names must not begin or end with \"-\"." msgstr "버전 이름의 앞 뒤에 \"-\" 문자를 쓸 수 없습니다." -#: commands/extension.c:348 +#: commands/extension.c:352 #, c-format msgid "Version names must not contain directory separator characters." msgstr "버전 이름에는 디렉터리 분리 문자를 쓸 수 없습니다." -#: commands/extension.c:498 +#: commands/extension.c:506 +#, c-format +msgid "extension \"%s\" is not available" +msgstr "\"%s\" 이름의 확장 모듈을 사용할 수 없습니다" + +#: commands/extension.c:507 +#, c-format +msgid "Could not open extension control file \"%s\": %m." +msgstr "\"%s\" 확장 모듈 제어 파일 열기 실패: %m." + +#: commands/extension.c:509 +#, c-format +msgid "" +"The extension must first be installed on the system where PostgreSQL is " +"running." +msgstr "해당 확장 모듈은 PostgreSQL 시작 전에 먼저 설치 되어 있어야합니다." + +#: commands/extension.c:513 #, c-format msgid "could not open extension control file \"%s\": %m" msgstr "\"%s\" 확장 모듈 제어 파일 열기 실패: %m" -#: commands/extension.c:520 commands/extension.c:530 +#: commands/extension.c:536 commands/extension.c:546 #, c-format msgid "parameter \"%s\" cannot be set in a secondary extension control file" msgstr "\"%s\" 매개 변수는 이차 확장 모듈 제어 파일에서는 사용할 수 없습니다." -#: commands/extension.c:552 commands/extension.c:560 commands/extension.c:568 -#: utils/misc/guc.c:6749 +#: commands/extension.c:568 commands/extension.c:576 commands/extension.c:584 +#: utils/misc/guc.c:3098 #, c-format msgid "parameter \"%s\" requires a Boolean value" -msgstr "\"%s\" 매개 변수의 값은 boolean 값이어야합니다." +msgstr "\"%s\" 매개 변수의 값은 불리언 값이어야 합니다." -#: commands/extension.c:577 +#: commands/extension.c:593 #, c-format msgid "\"%s\" is not a valid encoding name" msgstr "\"%s\" 이름은 잘못된 인코딩 이름임" -#: commands/extension.c:591 +#: commands/extension.c:607 commands/extension.c:622 #, c-format msgid "parameter \"%s\" must be a list of extension names" msgstr "\"%s\" 매개 변수는 확장 모듈 이름 목록이어야 함" -#: commands/extension.c:598 +#: commands/extension.c:629 #, c-format msgid "unrecognized parameter \"%s\" in file \"%s\"" msgstr "알 수 없는 \"%s\" 매개 변수가 \"%s\" 파일 안에 있습니다." -#: commands/extension.c:607 +#: commands/extension.c:638 #, c-format msgid "parameter \"schema\" cannot be specified when \"relocatable\" is true" msgstr "" "\"relocatable\" 값이 true 인 경우 \"schema\" 매개 변수는 사용할 수 없습니다." -#: commands/extension.c:785 +#: commands/extension.c:816 #, c-format msgid "" "transaction control statements are not allowed within an extension script" msgstr "확장 모듈 스크립트 안에서는 트랜잭션 제어 구문은 사용할 수 없습니다." -#: commands/extension.c:861 +#: commands/extension.c:896 #, c-format msgid "permission denied to create extension \"%s\"" msgstr "\"%s\" 확장 모듈을 만들 권한이 없습니다" -#: commands/extension.c:864 +#: commands/extension.c:899 #, c-format msgid "" "Must have CREATE privilege on current database to create this extension." msgstr "" -"이 확장 모듈을 설치하려면 현재 데이터베이스에 대해서 CREATE 권한이 있어야합니다." +"이 확장 모듈을 설치하려면 현재 데이터베이스에 대해서 CREATE 권한이 있어야 합" +"니다." -#: commands/extension.c:865 +#: commands/extension.c:900 #, c-format msgid "Must be superuser to create this extension." msgstr "확장 모듈은 슈퍼유저만 만들 수 있습니다." -#: commands/extension.c:869 +#: commands/extension.c:904 #, c-format msgid "permission denied to update extension \"%s\"" msgstr "\"%s\" 확장 모듈을 업데이트할 권한이 없습니다." -#: commands/extension.c:872 +#: commands/extension.c:907 #, c-format msgid "" "Must have CREATE privilege on current database to update this extension." msgstr "" -"이 확장 모듈을 업데이트 하려면 현재 데이터베이스에 대해서 CREATE 권한이 있어야합니다." +"이 확장 모듈을 업데이트 하려면 현재 데이터베이스에 대해서 CREATE 권한이 있어" +"야 합니다." -#: commands/extension.c:873 +#: commands/extension.c:908 #, c-format msgid "Must be superuser to update this extension." msgstr "슈퍼유저만 해당 모듈을 업데이트 할 수 있습니다." -#: commands/extension.c:1200 +#: commands/extension.c:1046 +#, c-format +msgid "invalid character in extension owner: must not contain any of \"%s\"" +msgstr "해당 모듈 소유주 이름에 잘못된 문자: \"%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 "" +"확장 모듈 \"%s\" 스키마 이름에 잘못된 문자: \"%s\" 문자는 허용하지 않음" + +#: commands/extension.c:1292 #, c-format msgid "" "extension \"%s\" has no update path from version \"%s\" to version \"%s\"" @@ -7655,12 +8727,12 @@ msgstr "" "\"%s\" 확장 모듈을 \"%s\" 버전에서 \"%s\" 버전으로 업데이트할 방법이 없습니" "다." -#: commands/extension.c:1408 commands/extension.c:3074 +#: commands/extension.c:1500 commands/extension.c:3091 #, c-format msgid "version to install must be specified" msgstr "설치할 버전을 지정해야 합니다." -#: commands/extension.c:1445 +#: commands/extension.c:1537 #, c-format msgid "" "extension \"%s\" has no installation script nor update path for version \"%s" @@ -7668,98 +8740,116 @@ msgid "" msgstr "" "\"%s\" 확장 모듈에는 \"%s\" 버전용 설치나 업데이트 스크립트가 없습니다." -#: commands/extension.c:1479 +#: commands/extension.c:1571 #, c-format msgid "extension \"%s\" must be installed in schema \"%s\"" msgstr "\"%s\" 확장 모듈은 \"%s\" 스키마 안에 설치되어야 합니다." -#: commands/extension.c:1639 +#: commands/extension.c:1731 #, c-format msgid "cyclic dependency detected between extensions \"%s\" and \"%s\"" msgstr "\"%s\" 확장 모듈과 \"%s\" 확장 모듈이 서로 의존 관계입니다" -#: commands/extension.c:1644 +#: commands/extension.c:1736 #, c-format msgid "installing required extension \"%s\"" msgstr "\"%s\" 확장 모듈이 필요해서 실치 하는 중" -#: commands/extension.c:1667 +#: commands/extension.c:1759 #, c-format msgid "required extension \"%s\" is not installed" msgstr "\"%s\" 확장 모듈이 필요한데, 설치되어 있지 않습니다." -#: commands/extension.c:1670 +#: commands/extension.c:1762 #, c-format msgid "Use CREATE EXTENSION ... CASCADE to install required extensions too." msgstr "" "필요한 모듈을 함께 설치하려면, CREATE EXTENSION ... CASCADE 구문을 사용하세" "요." -#: commands/extension.c:1705 +#: commands/extension.c:1797 #, c-format msgid "extension \"%s\" already exists, skipping" msgstr "\"%s\" 확장 모듈이 이미 있음, 건너뜀" -#: commands/extension.c:1712 +#: commands/extension.c:1804 #, c-format msgid "extension \"%s\" already exists" msgstr "\"%s\" 이름의 확장 모듈이 이미 있습니다" -#: commands/extension.c:1723 +#: commands/extension.c:1815 #, c-format msgid "nested CREATE EXTENSION is not supported" msgstr "중첩된 CREATE EXTENSION 구문은 지원하지 않습니다." -#: commands/extension.c:1896 +#: commands/extension.c:1979 #, c-format msgid "cannot drop extension \"%s\" because it is being modified" msgstr "%s 의존개체들은 시스템 개체이기 때문에 삭제 될 수 없습니다" -#: commands/extension.c:2457 +#: commands/extension.c:2454 #, c-format msgid "%s can only be called from an SQL script executed by CREATE EXTENSION" msgstr "" "%s 함수는 CREATE EXTENSION 명령에서 내부적으로 사용하는 SQL 스크립트 내에서" "만 사용할 수 있습니다." -#: commands/extension.c:2469 +#: commands/extension.c:2466 #, c-format msgid "OID %u does not refer to a table" msgstr "%u OID 자료가 테이블에 없습니다" -#: commands/extension.c:2474 +#: commands/extension.c:2471 #, c-format msgid "table \"%s\" is not a member of the extension being created" msgstr "\"%s\" 테이블은 만들려고 하는 확장 모듈의 구성 요소가 아닙니다." -#: commands/extension.c:2828 +#: commands/extension.c:2817 #, c-format msgid "" "cannot move extension \"%s\" into schema \"%s\" because the extension " "contains the schema" msgstr "\"%s\" 확장 모듈이 \"%s\" 스키마에 이미 있어 옮길 수 없습니다." -#: commands/extension.c:2869 commands/extension.c:2932 +#: commands/extension.c:2858 commands/extension.c:2952 #, c-format msgid "extension \"%s\" does not support SET SCHEMA" msgstr "\"%s\" 확장 모듈은 SET SCHEMA 구문을 지원하지 않음" -#: commands/extension.c:2934 +#: commands/extension.c:2915 +#, c-format +msgid "" +"cannot SET SCHEMA of extension \"%s\" because other extensions prevent it" +msgstr "" +"다른 확장 모듈이 해당 스키마를 선점하고 있어, \"%s\" 확장 모듈은 SET SCHEMA " +"작업을 할 수 없음." + +#: commands/extension.c:2917 +#, c-format +msgid "Extension \"%s\" requests no relocation of extension \"%s\"." +msgstr "\"%s\" 확장 모듈은 \"%s\" 확장모듈의 위치 변경을 금지합니다." + +#: commands/extension.c:2954 #, c-format msgid "%s is not in the extension's schema \"%s\"" msgstr "%s 개체가 확장 모듈 스키마인 \"%s\" 안에 없음" -#: commands/extension.c:2993 +#: commands/extension.c:3013 #, c-format msgid "nested ALTER EXTENSION is not supported" msgstr "중첩된 ALTER EXTENSION 구문을 지원하지 않음" -#: commands/extension.c:3085 +#: commands/extension.c:3102 #, c-format msgid "version \"%s\" of extension \"%s\" is already installed" msgstr "\"%s\" 버전의 \"%s\" 확장 모듈이 이미 설치 되어 있음" -#: commands/extension.c:3336 +#: commands/extension.c:3314 +#, c-format +msgid "cannot add an object of this type to an extension" +msgstr "해당 확장 모듈에 이런 형태의 객체는 추가 할 수 없음" + +#: commands/extension.c:3380 #, c-format msgid "" "cannot add schema \"%s\" to extension \"%s\" because the schema contains the " @@ -7768,12 +8858,7 @@ msgstr "" "\"%s\" 스키마에 \"%s\" 확장 모듈을 추가할 수 없음, 이미 해당 스키마 안에 포" "함되어 있음" -#: commands/extension.c:3364 -#, c-format -msgid "%s is not a member of extension \"%s\"" -msgstr "\"%s\" 개체는 \"%s\" 확장 모듈의 구성 요소가 아닙니다" - -#: commands/extension.c:3430 +#: commands/extension.c:3474 #, c-format msgid "file \"%s\" is too large" msgstr "\"%s\" 파일이 너무 큽니다." @@ -7803,32 +8888,42 @@ msgstr "슈퍼유저만 외부 자료 래퍼의 소유주를 바꿀 수 있습 msgid "The owner of a foreign-data wrapper must be a superuser." msgstr "외부 자료 래퍼의 소유주는 슈퍼유저여야 합니다." -#: commands/foreigncmds.c:291 commands/foreigncmds.c:711 foreign/foreign.c:701 +#: commands/foreigncmds.c:291 commands/foreigncmds.c:707 foreign/foreign.c:678 #, c-format msgid "foreign-data wrapper \"%s\" does not exist" msgstr "\"%s\" 외부 자료 래퍼가 없음" -#: commands/foreigncmds.c:584 +#: commands/foreigncmds.c:325 +#, c-format +msgid "foreign-data wrapper with OID %u does not exist" +msgstr "OID가 %u인 외부 데이터 래퍼가 없음" + +#: commands/foreigncmds.c:462 +#, c-format +msgid "foreign server with OID %u does not exist" +msgstr "OID가 %u인 외부 서버가 없음" + +#: commands/foreigncmds.c:580 #, c-format msgid "permission denied to create foreign-data wrapper \"%s\"" msgstr "\"%s\" 외부 자료 래퍼를 만들 권한이 없음" -#: commands/foreigncmds.c:586 +#: commands/foreigncmds.c:582 #, c-format msgid "Must be superuser to create a foreign-data wrapper." msgstr "슈퍼유저만 외부 자료 래퍼를 만들 수 있습니다." -#: commands/foreigncmds.c:701 +#: commands/foreigncmds.c:697 #, c-format msgid "permission denied to alter foreign-data wrapper \"%s\"" msgstr "\"%s\" 외부 자료 래퍼를 변경할 권한이 없음" -#: commands/foreigncmds.c:703 +#: commands/foreigncmds.c:699 #, c-format msgid "Must be superuser to alter a foreign-data wrapper." msgstr "슈퍼유저만 외부 자료 래퍼를 변경할 수 있습니다." -#: commands/foreigncmds.c:734 +#: commands/foreigncmds.c:730 #, c-format msgid "" "changing the foreign-data wrapper handler can change behavior of existing " @@ -7837,7 +8932,7 @@ msgstr "" "외부 자료 랩퍼 핸들러를 바꾸면, 그것을 사용하는 외부 테이블의 내용이 바뀔 수 " "있습니다." -#: commands/foreigncmds.c:749 +#: commands/foreigncmds.c:745 #, c-format msgid "" "changing the foreign-data wrapper validator can cause the options for " @@ -7846,247 +8941,269 @@ msgstr "" "외부 자료 래퍼 유효성 검사기를 바꾸면 종속 개체에 대한 옵션이 유효하지 않을 " "수 있음" -#: commands/foreigncmds.c:895 +#: commands/foreigncmds.c:876 #, c-format msgid "server \"%s\" already exists, skipping" msgstr "\"%s\" 이름의 외부 서버가 이미 있음, 건너뜀" -#: commands/foreigncmds.c:1183 +#: commands/foreigncmds.c:1144 #, c-format msgid "user mapping for \"%s\" already exists for server \"%s\", skipping" msgstr "\"%s\" 사용자 매핑이 \"%s\" 서버용으로 이미 있음, 건너뜀" -#: commands/foreigncmds.c:1193 +#: commands/foreigncmds.c:1154 #, c-format msgid "user mapping for \"%s\" already exists for server \"%s\"" msgstr "\"%s\" 사용자 매핑이 \"%s\" 서버용으로 이미 있음" -#: commands/foreigncmds.c:1293 commands/foreigncmds.c:1413 +#: commands/foreigncmds.c:1254 commands/foreigncmds.c:1374 #, c-format msgid "user mapping for \"%s\" does not exist for server \"%s\"" msgstr "\"%s\" 사용자 매핑이 \"%s\" 서버용으로 없음" -#: commands/foreigncmds.c:1418 +#: commands/foreigncmds.c:1379 #, c-format msgid "user mapping for \"%s\" does not exist for server \"%s\", skipping" msgstr "\"%s\" 사용자 매핑이 \"%s\" 서버용으로 없음, 건너뜀" -#: commands/foreigncmds.c:1569 foreign/foreign.c:389 +#: commands/foreigncmds.c:1507 foreign/foreign.c:391 #, c-format msgid "foreign-data wrapper \"%s\" has no handler" msgstr "\"%s\" 외부 자료 래퍼용 핸들러가 없음" -#: commands/foreigncmds.c:1575 +#: commands/foreigncmds.c:1513 #, c-format msgid "foreign-data wrapper \"%s\" does not support IMPORT FOREIGN SCHEMA" msgstr "\"%s\" 외부 자료 래퍼는 IMPORT FOREIGN SCHEMA 구문을 지원하지 않음" -#: commands/foreigncmds.c:1678 +#: commands/foreigncmds.c:1615 #, c-format msgid "importing foreign table \"%s\"" msgstr "\"%s\" 외부 테이블 가져 오는 중" -#: commands/functioncmds.c:104 +#: commands/functioncmds.c:109 #, c-format msgid "SQL function cannot return shell type %s" msgstr "SQL 함수는 shell type %s 리턴할 수 없음" -#: commands/functioncmds.c:109 +#: commands/functioncmds.c:114 #, c-format msgid "return type %s is only a shell" msgstr "_^_ %s 리턴 자료형은 하나의 shell만 있습니다" -#: commands/functioncmds.c:139 parser/parse_type.c:354 +#: commands/functioncmds.c:143 parser/parse_type.c:354 #, c-format msgid "type modifier cannot be specified for shell type \"%s\"" msgstr "\"%s\" 셸 형식에 대해 형식 한정자를 지정할 수 없음" -#: commands/functioncmds.c:145 +#: commands/functioncmds.c:149 #, c-format msgid "type \"%s\" is not yet defined" msgstr "\"%s\" 자료형이 아직 정의되지 않았음" -#: commands/functioncmds.c:146 +#: commands/functioncmds.c:150 #, c-format msgid "Creating a shell type definition." msgstr "셸 타입 정의를 만들고 있습니다" -#: commands/functioncmds.c:238 +#: commands/functioncmds.c:249 #, c-format msgid "SQL function cannot accept shell type %s" msgstr "SQL 함수는 셸 타입 %s 수용할 수 없음" -#: commands/functioncmds.c:244 +#: commands/functioncmds.c:255 #, c-format msgid "aggregate cannot accept shell type %s" msgstr "집계 함수는 셸 타입 %s 수용할 수 없음" -#: commands/functioncmds.c:249 +#: commands/functioncmds.c:260 #, c-format msgid "argument type %s is only a shell" msgstr "%s 인자 자료형은 단지 셸입니다" -#: commands/functioncmds.c:259 +#: commands/functioncmds.c:270 #, c-format msgid "type %s does not exist" msgstr "%s 자료형 없음" -#: commands/functioncmds.c:273 +#: commands/functioncmds.c:284 #, c-format msgid "aggregates cannot accept set arguments" msgstr "집계 함수는 세트 인자를 입력 인자로 쓸 수 없음" -#: commands/functioncmds.c:277 +#: commands/functioncmds.c:288 #, c-format msgid "procedures cannot accept set arguments" msgstr "프로시져에서는 집합 인자를 입력 인자로 쓸 수 없음" -#: commands/functioncmds.c:281 +#: commands/functioncmds.c:292 #, c-format msgid "functions cannot accept set arguments" msgstr "함수는 세트 인자를 쓸 수 없음" -#: commands/functioncmds.c:289 -#, c-format -msgid "procedures cannot have OUT arguments" -msgstr "프로시저는 OUT 인자를 쓸 수 없음" - -#: commands/functioncmds.c:290 -#, c-format -msgid "INOUT arguments are permitted." -msgstr "INOUT 인자가 허용됨" - -#: commands/functioncmds.c:300 +#: commands/functioncmds.c:302 #, c-format msgid "VARIADIC parameter must be the last input parameter" msgstr "VARIADIC 매개 변수는 마지막 입력 매개 변수여야 함" -#: commands/functioncmds.c:331 +#: commands/functioncmds.c:322 +#, c-format +msgid "VARIADIC parameter must be the last parameter" +msgstr "VARIADIC 매개 변수는 마지막 매개 변수여야 함" + +#: commands/functioncmds.c:347 #, c-format msgid "VARIADIC parameter must be an array" msgstr "VARIADIC 매개 변수는 배열이어야 함" -#: commands/functioncmds.c:371 +#: commands/functioncmds.c:392 #, c-format msgid "parameter name \"%s\" used more than once" msgstr "\"%s\" 매개 변수가 여러 번 사용 됨" -#: commands/functioncmds.c:386 +#: commands/functioncmds.c:410 #, c-format msgid "only input parameters can have default values" msgstr "입력 매개 변수에서만 기본값을 사용할 수 있음" -#: commands/functioncmds.c:401 +#: commands/functioncmds.c:425 #, c-format msgid "cannot use table references in parameter default value" msgstr "입력 매개 변수 초기값으로 테이블 참조형은 사용할 수 없음" -#: commands/functioncmds.c:425 +#: commands/functioncmds.c:449 #, c-format msgid "input parameters after one with a default value must also have defaults" msgstr "" "기본 값이 있는 입력 매개 변수 뒤에 오는 입력 매개 변수에도 기본 값이 있어야 " "함" -#: commands/functioncmds.c:577 commands/functioncmds.c:768 +#: commands/functioncmds.c:459 +#, c-format +msgid "procedure OUT parameters cannot appear after one with a default value" +msgstr "프로시지 OUT 매개 변수는 기본값이 있는 매개 변수 뒤에 지정하면 안됨" + +#: commands/functioncmds.c:601 commands/functioncmds.c:780 #, c-format msgid "invalid attribute in procedure definition" msgstr "프로시져 정의에 잘못된 속성이 있음" -#: commands/functioncmds.c:673 +#: commands/functioncmds.c:697 #, c-format msgid "support function %s must return type %s" msgstr "%s support 함수는 %s 자료형을 반환해야 함" -#: commands/functioncmds.c:684 +#: commands/functioncmds.c:708 #, c-format msgid "must be superuser to specify a support function" -msgstr "support 함수를 지정하려면 슈퍼유져여야합니다" +msgstr "support 함수를 지정하려면 슈퍼유져여야 합니다" -#: commands/functioncmds.c:800 +#: commands/functioncmds.c:829 commands/functioncmds.c:1432 +#, c-format +msgid "COST must be positive" +msgstr "COST는 양수여야 함" + +#: commands/functioncmds.c:837 commands/functioncmds.c:1440 +#, c-format +msgid "ROWS must be positive" +msgstr "ROWS는 양수여야 함" + +#: commands/functioncmds.c:866 #, c-format msgid "no function body specified" msgstr "함수 본문(body) 부분이 빠졌습니다" -#: commands/functioncmds.c:810 +#: commands/functioncmds.c:871 #, c-format -msgid "no language specified" -msgstr "처리할 프로시주얼 언어를 지정하지 않았습니다" +msgid "duplicate function body specified" +msgstr "함수 본문(body) 부분을 중복 지정했습니다" -#: commands/functioncmds.c:835 commands/functioncmds.c:1319 +#: commands/functioncmds.c:876 #, c-format -msgid "COST must be positive" -msgstr "COST는 양수여야 함" +msgid "inline SQL function body only valid for language SQL" +msgstr "함수의 language 값이 SQL일 때만 인라인 SQL 함수 본문을 쓸 수 있음" -#: commands/functioncmds.c:843 commands/functioncmds.c:1327 +#: commands/functioncmds.c:918 #, c-format -msgid "ROWS must be positive" -msgstr "ROWS는 양수여야 함" +msgid "" +"SQL function with unquoted function body cannot have polymorphic arguments" +msgstr "" +"따옴표 없는 함수 본문을 사용하는 SQL 함수는 다형 자료형 인자를 쓸 수 없음" -#: commands/functioncmds.c:897 +#: commands/functioncmds.c:944 commands/functioncmds.c:963 +#, c-format +msgid "%s is not yet supported in unquoted SQL function body" +msgstr "%s 구문은 따옴표 없는 SQL 함수 본문 안에서 지원하지 않음" + +#: commands/functioncmds.c:991 #, c-format msgid "only one AS item needed for language \"%s\"" msgstr "\"%s\" 언어에는 하나의 AS 항목만 필요함" -#: commands/functioncmds.c:995 commands/functioncmds.c:2048 -#: commands/proclang.c:259 +#: commands/functioncmds.c:1096 +#, c-format +msgid "no language specified" +msgstr "처리할 프로시주얼 언어를 지정하지 않았습니다" + +#: commands/functioncmds.c:1104 commands/functioncmds.c:2105 +#: commands/proclang.c:237 #, c-format msgid "language \"%s\" does not exist" msgstr "\"%s\" 프로시주얼 언어 없음" -#: commands/functioncmds.c:997 commands/functioncmds.c:2050 +#: commands/functioncmds.c:1106 commands/functioncmds.c:2107 #, c-format msgid "Use CREATE EXTENSION to load the language into the database." msgstr "" "데이터베이스 내에서 프로시주얼 언어를 사용하려면 먼저 CREATE EXTENSION 명령으" "로 사용할 언어를 등록하세요." -#: commands/functioncmds.c:1032 commands/functioncmds.c:1311 +#: commands/functioncmds.c:1139 commands/functioncmds.c:1424 #, c-format msgid "only superuser can define a leakproof function" msgstr "슈퍼유저만 leakproof 함수를 만들 수 있습니다" -#: commands/functioncmds.c:1081 +#: commands/functioncmds.c:1190 #, c-format msgid "function result type must be %s because of OUT parameters" msgstr "OUT 매개 변수로 인해 함수 결과 형식은 %s이어야 함" -#: commands/functioncmds.c:1094 +#: commands/functioncmds.c:1203 #, c-format msgid "function result type must be specified" msgstr "함수의 리턴 자료형을 지정해야 합니다" -#: commands/functioncmds.c:1146 commands/functioncmds.c:1331 +#: commands/functioncmds.c:1256 commands/functioncmds.c:1444 #, c-format msgid "ROWS is not applicable when function does not return a set" msgstr "함수에서 세트를 반환하지 않는 경우 ROWS를 적용할 수 없음" -#: commands/functioncmds.c:1431 +#: commands/functioncmds.c:1547 #, c-format msgid "source data type %s is a pseudo-type" msgstr "%s 원본 자료형이 의사자료형(pseudo-type) 입니다" -#: commands/functioncmds.c:1437 +#: commands/functioncmds.c:1553 #, c-format msgid "target data type %s is a pseudo-type" msgstr "%s 대상 자료형이 의사자료형(pseudo-type) 입니다" -#: commands/functioncmds.c:1461 +#: commands/functioncmds.c:1577 #, c-format msgid "cast will be ignored because the source data type is a domain" msgstr "원본 자료형이 도메인이어서 자료형 변환을 무시합니다." -#: commands/functioncmds.c:1466 +#: commands/functioncmds.c:1582 #, c-format msgid "cast will be ignored because the target data type is a domain" msgstr "대상 자료형이 도메인이어서 자료형 변환을 무시합니다." -#: commands/functioncmds.c:1491 +#: commands/functioncmds.c:1607 #, c-format msgid "cast function must take one to three arguments" msgstr "형변환 함수는 1-3개의 인자만 지정할 수 있습니다" -#: commands/functioncmds.c:1495 +#: commands/functioncmds.c:1613 #, c-format msgid "" "argument of cast function must match or be binary-coercible from source data " @@ -8095,17 +9212,17 @@ msgstr "" "형변환 함수의 인자로 쓸 자료형은 원본 자료형과 일치하거나 바이너리 차원으로 " "같은 자료형이어야 함" -#: commands/functioncmds.c:1499 +#: commands/functioncmds.c:1617 #, c-format msgid "second argument of cast function must be type %s" -msgstr "형변화 함수의 두번째 인자 자료형은 반드시 %s 형이여야합니다" +msgstr "형변화 함수의 두번째 인자 자료형은 반드시 %s 형이여야 합니다" -#: commands/functioncmds.c:1504 +#: commands/functioncmds.c:1622 #, c-format msgid "third argument of cast function must be type %s" -msgstr "형변화 함수의 세번째 인자 자료형은 반드시 %s 형이여야합니다" +msgstr "형변화 함수의 세번째 인자 자료형은 반드시 %s 형이여야 합니다" -#: commands/functioncmds.c:1509 +#: commands/functioncmds.c:1629 #, c-format msgid "" "return data type of cast function must match or be binary-coercible to " @@ -8114,318 +9231,314 @@ msgstr "" "형변환 함수의 반환 자료형은 대상 자료형과 일치하거나 바이너리 차원으로 같은 " "자료형이어야 함" -#: commands/functioncmds.c:1520 +#: commands/functioncmds.c:1640 #, c-format msgid "cast function must not be volatile" -msgstr "형변환 함수는 volatile 특성이 없어야합니다" +msgstr "형변환 함수는 volatile 특성이 없어야 합니다" -#: commands/functioncmds.c:1525 +#: commands/functioncmds.c:1645 #, c-format msgid "cast function must be a normal function" msgstr "형변환 함수는 일반 함수여야 합니다" -#: commands/functioncmds.c:1529 +#: commands/functioncmds.c:1649 #, c-format msgid "cast function must not return a set" msgstr "형변환 함수는 세트(set)를 리턴할 수 없습니다" -#: commands/functioncmds.c:1555 +#: commands/functioncmds.c:1675 #, c-format msgid "must be superuser to create a cast WITHOUT FUNCTION" msgstr "CREATE CAST ... WITHOUT FUNCTION 명령은 슈퍼유저만 실행할 수 있습니다" -#: commands/functioncmds.c:1570 +#: commands/functioncmds.c:1690 #, c-format msgid "source and target data types are not physically compatible" msgstr "원본 자료형과 대상 자료형이 서로 논리적인 호환성이 없습니다" -#: commands/functioncmds.c:1585 +#: commands/functioncmds.c:1705 #, c-format msgid "composite data types are not binary-compatible" msgstr "복합 자료형은 바이너리와 호환되지 않음" -#: commands/functioncmds.c:1591 +#: commands/functioncmds.c:1711 #, c-format msgid "enum data types are not binary-compatible" msgstr "열거 자료형은 바이너리와 호환되지 않음" -#: commands/functioncmds.c:1597 +#: commands/functioncmds.c:1717 #, c-format msgid "array data types are not binary-compatible" msgstr "배열 자료형은 바이너리와 호환되지 않음" -#: commands/functioncmds.c:1614 +#: commands/functioncmds.c:1734 #, c-format msgid "domain data types must not be marked binary-compatible" msgstr "도메인 자료형은 바이너리와 호환되지 않음" -#: commands/functioncmds.c:1624 +#: commands/functioncmds.c:1744 #, c-format msgid "source data type and target data type are the same" msgstr "원본 자료형과 대상 자료형의 형태가 같습니다" -#: commands/functioncmds.c:1682 +#: commands/functioncmds.c:1777 #, c-format msgid "transform function must not be volatile" -msgstr "형변환 함수는 volatile 특성이 없어야합니다" +msgstr "형변환 함수는 volatile 특성이 없어야 합니다" -#: commands/functioncmds.c:1686 +#: commands/functioncmds.c:1781 #, c-format msgid "transform function must be a normal function" -msgstr "형변환 함수는 일반 함수여야합니다." +msgstr "형변환 함수는 일반 함수여야 합니다." -#: commands/functioncmds.c:1690 +#: commands/functioncmds.c:1785 #, c-format msgid "transform function must not return a set" msgstr "형변환 함수는 세트(set)를 리턴할 수 없습니다" -#: commands/functioncmds.c:1694 +#: commands/functioncmds.c:1789 #, c-format msgid "transform function must take one argument" msgstr "형변환 함수는 1개의 인자만 지정할 수 있습니다" -#: commands/functioncmds.c:1698 +#: commands/functioncmds.c:1793 #, c-format msgid "first argument of transform function must be type %s" -msgstr "형변화 함수의 첫번째 인자 자료형은 반드시 %s 형이여야합니다" +msgstr "형변화 함수의 첫번째 인자 자료형은 반드시 %s 형이여야 합니다" -#: commands/functioncmds.c:1736 +#: commands/functioncmds.c:1832 #, c-format msgid "data type %s is a pseudo-type" msgstr "%s 자료형은 의사자료형(pseudo-type) 입니다" -#: commands/functioncmds.c:1742 +#: commands/functioncmds.c:1838 #, c-format msgid "data type %s is a domain" msgstr "%s 자료형은 도메인입니다" -#: commands/functioncmds.c:1782 +#: commands/functioncmds.c:1878 #, c-format msgid "return data type of FROM SQL function must be %s" msgstr "FROM SQL 함수의 반환 자료형은 %s 형이어야 함" -#: commands/functioncmds.c:1808 +#: commands/functioncmds.c:1904 #, c-format msgid "return data type of TO SQL function must be the transform data type" msgstr "TO SQL 함수의 반환 자료형은 변환 자료형이어야 함" -#: commands/functioncmds.c:1837 +#: commands/functioncmds.c:1931 #, c-format msgid "transform for type %s language \"%s\" already exists" msgstr "%s 자료형(대상 언어: \"%s\")을 위한 형변환 규칙은 이미 있습니다." -#: commands/functioncmds.c:1929 +#: commands/functioncmds.c:2017 #, c-format msgid "transform for type %s language \"%s\" does not exist" msgstr "%s 자료형(대상 언어: \"%s\")을 위한 형변환 규칙은 없습니다." -#: commands/functioncmds.c:1980 +#: commands/functioncmds.c:2041 #, c-format msgid "function %s already exists in schema \"%s\"" msgstr "%s 함수는 이미 \"%s\" 스키마안에 있습니다" -#: commands/functioncmds.c:2035 +#: commands/functioncmds.c:2092 #, c-format msgid "no inline code specified" msgstr "내장 코드가 빠졌습니다" -#: commands/functioncmds.c:2081 +#: commands/functioncmds.c:2138 #, c-format msgid "language \"%s\" does not support inline code execution" msgstr "\"%s\" 프로시주얼 언어는 내장 코드 실행 기능을 지원하지 않습니다" -#: commands/functioncmds.c:2193 +#: commands/functioncmds.c:2233 #, c-format msgid "cannot pass more than %d argument to a procedure" msgid_plural "cannot pass more than %d arguments to a procedure" msgstr[0] "프로시져에 %d개의 인자 이상을 전달할 수 없음" -#: commands/indexcmds.c:590 +#: commands/indexcmds.c:640 #, c-format msgid "must specify at least one column" msgstr "적어도 하나 이상의 칼럼을 지정해 주십시오" -#: commands/indexcmds.c:594 +#: commands/indexcmds.c:644 #, c-format msgid "cannot use more than %d columns in an index" msgstr "하나의 인덱스에서는 %d개보다 많은 칼럼을 사용할 수 없습니다" -#: commands/indexcmds.c:633 +#: commands/indexcmds.c:687 #, c-format -msgid "cannot create index on foreign table \"%s\"" -msgstr "\"%s\" 외부 테이블 대상으로 인덱스를 만들 수 없음" +msgid "cannot create index on relation \"%s\"" +msgstr "\"%s\" 릴레이션 대상으로 인덱스를 만들 수 없음" -#: commands/indexcmds.c:664 +#: commands/indexcmds.c:713 #, c-format msgid "cannot create index on partitioned table \"%s\" concurrently" msgstr "\"%s\" 파티션된 테이블 대상으로 동시에 인덱스를 만들 수 없음" -#: commands/indexcmds.c:669 +#: commands/indexcmds.c:718 #, c-format msgid "cannot create exclusion constraints on partitioned table \"%s\"" msgstr "\"%s\" 파티션된 테이블 대상으로 제외 제약조건을 만들 수 없음" -#: commands/indexcmds.c:679 +#: commands/indexcmds.c:728 #, c-format msgid "cannot create indexes on temporary tables of other sessions" msgstr "다른 세션의 임시 테이블에 인덱스를 만들 수는 없습니다" -#: commands/indexcmds.c:717 commands/tablecmds.c:704 commands/tablespace.c:1173 +#: commands/indexcmds.c:766 commands/tablecmds.c:784 commands/tablespace.c:1184 #, c-format msgid "cannot specify default tablespace for partitioned relations" msgstr "파티션 테이블용 기본 테이블스페이스를 지정할 수 없습니다." -#: commands/indexcmds.c:749 commands/tablecmds.c:739 commands/tablecmds.c:13162 -#: commands/tablecmds.c:13276 +#: commands/indexcmds.c:798 commands/tablecmds.c:819 commands/tablecmds.c:3409 #, c-format msgid "only shared relations can be placed in pg_global tablespace" msgstr "공유 관계만 pg_global 테이블스페이스에 배치할 수 있음" -#: commands/indexcmds.c:782 +#: commands/indexcmds.c:831 #, c-format msgid "substituting access method \"gist\" for obsolete method \"rtree\"" msgstr "사용하지 않는 \"rtree\" 방법을 \"gist\" 액세스 방법으로 대체하는 중" -#: commands/indexcmds.c:803 +#: commands/indexcmds.c:852 #, c-format msgid "access method \"%s\" does not support unique indexes" msgstr "\"%s\" 인덱스 접근 방법은 고유 인덱스를 지원하지 않습니다" -#: commands/indexcmds.c:808 +#: commands/indexcmds.c:857 #, c-format msgid "access method \"%s\" does not support included columns" msgstr "\"%s\" 인덱스 접근 방법은 포함된 칼럼을 지원하지 않습니다" -#: commands/indexcmds.c:813 +#: commands/indexcmds.c:862 #, c-format msgid "access method \"%s\" does not support multicolumn indexes" msgstr "\"%s\" 인덱스 접근 방법은 다중 열 인덱스를 지원하지 않습니다" -#: commands/indexcmds.c:818 +#: commands/indexcmds.c:867 #, c-format msgid "access method \"%s\" does not support exclusion constraints" msgstr "\"%s\" 인덱스 접근 방법은 제외 제약 조건을 지원하지 않습니다" -#: commands/indexcmds.c:941 +#: commands/indexcmds.c:994 #, c-format msgid "cannot match partition key to an index using access method \"%s\"" msgstr "\"%s\" 접근 방법을 사용하는 인덱스와 파티션 키가 일치하지 않습니다" -#: commands/indexcmds.c:951 +#: commands/indexcmds.c:1004 #, c-format msgid "unsupported %s constraint with partition key definition" msgstr "파티션 키 정의에는 %s 제약조건을 지원하지 않음" -#: commands/indexcmds.c:953 +#: commands/indexcmds.c:1006 #, c-format msgid "%s constraints cannot be used when partition keys include expressions." msgstr "%s 제약조건은 파티션 키 포함 표현식에 사용할 수 없습니다" -#: commands/indexcmds.c:992 +#: commands/indexcmds.c:1045 #, c-format msgid "" "unique constraint on partitioned table must include all partitioning columns" msgstr "하위 테이블 용 유니크 제약조건에는 모든 파티션 칼럼이 포함되어야 함" -#: commands/indexcmds.c:993 +#: commands/indexcmds.c:1046 #, c-format msgid "" "%s constraint on table \"%s\" lacks column \"%s\" which is part of the " "partition key." msgstr "" +"%s 제약조건(해당 테이블: \"%s\")에 기본키의 한 부분인 \"%s\" 칼럼이 빠져있습" +"니다." -#: commands/indexcmds.c:1012 commands/indexcmds.c:1031 +#: commands/indexcmds.c:1065 commands/indexcmds.c:1084 #, c-format msgid "index creation on system columns is not supported" msgstr "시스템 카탈로그 테이블에 대한 인덱스 만들기는 지원하지 않습니다" -#: commands/indexcmds.c:1056 -#, c-format -msgid "%s %s will create implicit index \"%s\" for table \"%s\"" -msgstr "%s %s 명령으로 \"%s\" 인덱스를 \"%s\" 테이블에 자동으로 만들었음" - -#: commands/indexcmds.c:1197 tcop/utility.c:1495 +#: commands/indexcmds.c:1313 tcop/utility.c:1526 #, c-format msgid "cannot create unique index on partitioned table \"%s\"" msgstr "\"%s\" 파티션된 테이블 대상으로 유니크 인덱스를 만들 수 없음" -#: commands/indexcmds.c:1199 tcop/utility.c:1497 +#: commands/indexcmds.c:1315 tcop/utility.c:1528 #, c-format msgid "Table \"%s\" contains partitions that are foreign tables." msgstr "\"%s\" 테이블은 하위 테이블로 외부 테이블을 사용함." -#: commands/indexcmds.c:1628 +#: commands/indexcmds.c:1827 #, c-format msgid "functions in index predicate must be marked IMMUTABLE" msgstr "" -"인덱스 술어(predicate)에서 사용하는 함수는 IMMUTABLE 특성이 있어야합니다" +"인덱스 술어(predicate)에서 사용하는 함수는 IMMUTABLE 특성이 있어야 합니다" -#: commands/indexcmds.c:1694 parser/parse_utilcmd.c:2440 -#: parser/parse_utilcmd.c:2575 +#: commands/indexcmds.c:1905 parser/parse_utilcmd.c:2513 +#: parser/parse_utilcmd.c:2648 #, c-format msgid "column \"%s\" named in key does not exist" msgstr "키에서 지정한 \"%s\" 칼럼이 없습니다" -#: commands/indexcmds.c:1718 parser/parse_utilcmd.c:1776 +#: commands/indexcmds.c:1929 parser/parse_utilcmd.c:1812 #, c-format msgid "expressions are not supported in included columns" msgstr "포함된 칼럼에 쓰인 표현식을 지원하지 않음" -#: commands/indexcmds.c:1759 +#: commands/indexcmds.c:1970 #, c-format msgid "functions in index expression must be marked IMMUTABLE" -msgstr "인덱스 식(expression)에 사용하는 함수는 IMMUTABLE 특성이 있어야합니다" +msgstr "인덱스 식(expression)에 사용하는 함수는 IMMUTABLE 특성이 있어야 합니다" -#: commands/indexcmds.c:1774 +#: commands/indexcmds.c:1985 #, c-format msgid "including column does not support a collation" msgstr "포함된 칼럼은 문자정렬규칙을 지원하지 않음" -#: commands/indexcmds.c:1778 +#: commands/indexcmds.c:1989 #, c-format msgid "including column does not support an operator class" msgstr "포함된 칼럼은 연산자 클래스를 지원하지 않음" -#: commands/indexcmds.c:1782 +#: commands/indexcmds.c:1993 #, c-format msgid "including column does not support ASC/DESC options" msgstr "포함된 칼럼은 ASC/DESC 옵션을 지원하지 않음" -#: commands/indexcmds.c:1786 +#: commands/indexcmds.c:1997 #, c-format msgid "including column does not support NULLS FIRST/LAST options" msgstr "포함된 칼럼은 NULLS FIRST/LAST 옵션을 지원하지 않음" -#: commands/indexcmds.c:1813 +#: commands/indexcmds.c:2038 #, c-format msgid "could not determine which collation to use for index expression" msgstr "해당 인덱스에서 사용할 정렬규칙(collation)을 결정할 수 없습니다." -#: commands/indexcmds.c:1821 commands/tablecmds.c:16042 commands/typecmds.c:771 -#: parser/parse_expr.c:2850 parser/parse_type.c:566 parser/parse_utilcmd.c:3649 -#: parser/parse_utilcmd.c:4210 utils/adt/misc.c:503 +#: 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 +#: utils/adt/misc.c:586 #, c-format msgid "collations are not supported by type %s" msgstr "%s 자료형은 collation 지원 안함" -#: commands/indexcmds.c:1859 +#: commands/indexcmds.c:2111 #, c-format msgid "operator %s is not commutative" msgstr "%s 연산자는 교환법칙이 성립하지 않습니다" -#: commands/indexcmds.c:1861 +#: commands/indexcmds.c:2113 #, c-format msgid "Only commutative operators can be used in exclusion constraints." msgstr "" "exclude 제약조건용 인덱스를 만들 때는 교환법칙이 성립하는 연산자만 사용할 수 " "있습니다." -#: commands/indexcmds.c:1887 +#: commands/indexcmds.c:2139 #, c-format msgid "operator %s is not a member of operator family \"%s\"" msgstr "%s 연산자는 \"%s\" 연산자 패밀리 구성원이 아닙니다." -#: commands/indexcmds.c:1890 +#: commands/indexcmds.c:2142 #, c-format msgid "" "The exclusion operator must be related to the index operator class for the " @@ -8433,90 +9546,110 @@ msgid "" msgstr "" "제외 연산자는 해당 제약 조건용 인덱스 연산자 클래스의 소속이어야 합니다." -#: commands/indexcmds.c:1925 +#: commands/indexcmds.c:2177 #, c-format msgid "access method \"%s\" does not support ASC/DESC options" msgstr "\"%s\" 접근 방법은 ASC/DESC 옵션을 지원하지 않음" -#: commands/indexcmds.c:1930 +#: commands/indexcmds.c:2182 #, c-format msgid "access method \"%s\" does not support NULLS FIRST/LAST options" msgstr "\"%s\" 접근 방법은 NULLS FIRST/LAST 옵션을 지원하지 않음" -#: commands/indexcmds.c:1976 commands/tablecmds.c:16067 -#: commands/tablecmds.c:16073 commands/typecmds.c:1945 +#: commands/indexcmds.c:2228 commands/tablecmds.c:17494 +#: commands/tablecmds.c:17500 commands/typecmds.c:2301 #, c-format msgid "data type %s has no default operator class for access method \"%s\"" msgstr "" "%s 자료형은 \"%s\" 인덱스 액세스 방법을 위한 기본 연산자 클래스(operator " "class)가 없습니다. " -#: commands/indexcmds.c:1978 +#: commands/indexcmds.c:2230 #, c-format msgid "" "You must specify an operator class for the index or define a default " "operator class for the data type." msgstr "" "이 인덱스를 위한 연산자 클래스를 지정하거나 먼저 이 자료형을 위한 기본 연산" -"자 클래스를 정의해 두어야합니다" +"자 클래스를 정의해 두어야 합니다" -#: commands/indexcmds.c:2007 commands/indexcmds.c:2015 -#: commands/opclasscmds.c:208 +#: commands/indexcmds.c:2259 commands/indexcmds.c:2267 +#: commands/opclasscmds.c:205 #, c-format msgid "operator class \"%s\" does not exist for access method \"%s\"" msgstr "" "\"%s\" 연산자 클래스는 \"%s\" 인덱스 액세스 방법에서 사용할 수 없습니다" -#: commands/indexcmds.c:2029 commands/typecmds.c:1933 +#: commands/indexcmds.c:2281 commands/typecmds.c:2289 #, c-format msgid "operator class \"%s\" does not accept data type %s" msgstr "\"%s\" 연산자 클래스는 %s 자료형을 사용할 수 없습니다" -#: commands/indexcmds.c:2119 +#: commands/indexcmds.c:2371 #, c-format msgid "there are multiple default operator classes for data type %s" msgstr "%s 자료형을 위한 기본 연산자 클래스가 여러개 있습니다" -#: commands/indexcmds.c:2568 +#: commands/indexcmds.c:2699 +#, c-format +msgid "unrecognized REINDEX option \"%s\"" +msgstr "알 수 없는 REINDEX 옵션: \"%s\"" + +#: commands/indexcmds.c:2923 #, c-format msgid "table \"%s\" has no indexes that can be reindexed concurrently" msgstr "\"%s\" 테이블에는 잠금 없는 재색인 작업을 할 대상 인덱스가 없음" -#: commands/indexcmds.c:2579 +#: commands/indexcmds.c:2937 #, c-format msgid "table \"%s\" has no indexes to reindex" msgstr "\"%s\" 테이블에는 재색인 작업을 할 인덱스가 없습니다" -#: commands/indexcmds.c:2618 commands/indexcmds.c:2899 -#: commands/indexcmds.c:2992 +#: commands/indexcmds.c:2982 commands/indexcmds.c:3492 +#: commands/indexcmds.c:3620 #, c-format msgid "cannot reindex system catalogs concurrently" msgstr "시스템 카탈로그 테이블 대상으로 잠금 없는 인덱스를 만들 수 없음" -#: commands/indexcmds.c:2641 +#: commands/indexcmds.c:3005 #, c-format msgid "can only reindex the currently open database" msgstr "열려있는 현재 데이터베이스에서만 reindex 명령을 사용할 수 있습니다" -#: commands/indexcmds.c:2732 +#: commands/indexcmds.c:3099 #, c-format msgid "cannot reindex system catalogs concurrently, skipping all" msgstr "" "시스템 카탈로그 테이블 대상으로 잠금 없는 재색인 작업을 할 수 없음, 모두 건너" "뜀" -#: commands/indexcmds.c:2784 commands/indexcmds.c:3503 +#: commands/indexcmds.c:3132 +#, c-format +msgid "cannot move system relations, skipping all" +msgstr "시스템 릴레이션은 이동할 수 없습니다, 모두 건너뜀" + +#: commands/indexcmds.c:3178 +#, c-format +msgid "while reindexing partitioned table \"%s.%s\"" +msgstr "\"%s.%s\" 파티션된 테이블 대상으로 인덱스 다시 만드는 중" + +#: commands/indexcmds.c:3181 +#, c-format +msgid "while reindexing partitioned index \"%s.%s\"" +msgstr "\"%s.%s\" 파티션된 인덱스를 다시 만드는 중" + +#: commands/indexcmds.c:3372 commands/indexcmds.c:4228 #, c-format msgid "table \"%s.%s\" was reindexed" msgstr "\"%s.%s\" 테이블의 인덱스들을 다시 만들었습니다." -#: commands/indexcmds.c:2914 commands/indexcmds.c:2960 +#: commands/indexcmds.c:3524 commands/indexcmds.c:3576 #, c-format msgid "cannot reindex invalid index \"%s.%s\" concurrently, skipping" msgstr "" "유효하지 않은 \"%s.%s\" 인덱스는 잠금 없는 재색인 작업을 할 수 없음, 건너뜀" -#: commands/indexcmds.c:2920 +#: commands/indexcmds.c:3530 #, c-format msgid "" "cannot reindex exclusion constraint index \"%s.%s\" concurrently, skipping" @@ -8524,58 +9657,49 @@ msgstr "" "\"%s.%s\" exclusion 제약조건을 대상으로 잠금 없는 재색인 작업을 할 수 없음, " "건너뜀" -#: commands/indexcmds.c:3002 -#, c-format -msgid "cannot reindex invalid index on TOAST table concurrently" -msgstr "" -"TOAST 테이블에 지정된 유효하지 않은 인덱스는 잠금 없는 재색인 작업을 할 수 없음" - -#: commands/indexcmds.c:3030 +#: commands/indexcmds.c:3685 #, c-format msgid "cannot reindex this type of relation concurrently" msgstr "해당 개체에 대해서는 잠금 없는 재색인 작업을 할 수 없음" -#: commands/indexcmds.c:3485 commands/indexcmds.c:3496 +#: commands/indexcmds.c:3706 #, c-format -msgid "index \"%s.%s\" was reindexed" -msgstr "\"%s.%s\" 인덱스가 다시 만들어졌음" +msgid "cannot move non-shared relation to tablespace \"%s\"" +msgstr "비공유 릴레이션은 \"%s\" 테이블스페이스로 이동할 수 없습니다" -#: commands/indexcmds.c:3528 +#: commands/indexcmds.c:4209 commands/indexcmds.c:4221 #, c-format -msgid "REINDEX is not yet implemented for partitioned indexes" -msgstr "파티션 된 인덱스용 REINDEX 명령은 아직 구현되어 있지 않음" +msgid "index \"%s.%s\" was reindexed" +msgstr "\"%s.%s\" 인덱스가 다시 만들어졌음" -#: commands/lockcmds.c:91 commands/tablecmds.c:5629 commands/trigger.c:295 -#: rewrite/rewriteDefine.c:271 rewrite/rewriteDefine.c:928 +#: commands/indexcmds.c:4211 commands/indexcmds.c:4230 #, c-format -msgid "\"%s\" is not a table or view" -msgstr "\"%s\" 개체는 테이블도 뷰도 아닙니다" +msgid "%s." +msgstr "%s." -#: commands/lockcmds.c:213 rewrite/rewriteHandler.c:1977 -#: rewrite/rewriteHandler.c:3782 +#: commands/lockcmds.c:92 #, c-format -msgid "infinite recursion detected in rules for relation \"%s\"" -msgstr "" -"\"%s\" 릴레이션(relation)에서 지정된 룰에서 잘못된 재귀호출이 발견되었습니다" +msgid "cannot lock relation \"%s\"" +msgstr "\"%s\" 릴레이션 잠그기 실패" -#: commands/matview.c:182 +#: commands/matview.c:193 #, c-format msgid "CONCURRENTLY cannot be used when the materialized view is not populated" msgstr "" "구체화된 뷰의 자료가 정리되고 있을 때는 CONCURRENTLY 옵션을 사용할 수 없습니" "다." -#: commands/matview.c:188 +#: commands/matview.c:199 gram.y:18306 #, c-format -msgid "CONCURRENTLY and WITH NO DATA options cannot be used together" -msgstr "CONCURRENTLY 옵션과, WITH NO DATA 옵션을 함께 사용할 수 없습니다." +msgid "%s and %s options cannot be used together" +msgstr "%s 옵션과, %s 옵션을 함께 사용할 수 없습니다." -#: commands/matview.c:244 +#: commands/matview.c:256 #, c-format msgid "cannot refresh materialized view \"%s\" concurrently" msgstr "\"%s\" 구체화된 뷰를 동시에 재갱신 할 수 없습니다." -#: commands/matview.c:247 +#: commands/matview.c:259 #, c-format msgid "" "Create a unique index with no WHERE clause on one or more columns of the " @@ -8584,7 +9708,7 @@ msgstr "" "구체화된 뷰의 하나 또는 하나 이상의 칼럼에 대한 WHERE 절 없는 고유 인덱스를 " "만드세요." -#: commands/matview.c:641 +#: commands/matview.c:653 #, c-format msgid "" "new data for materialized view \"%s\" contains duplicate rows without any " @@ -8593,230 +9717,234 @@ msgstr "" "\"%s\" 구체화된 뷰의 새 자료에 아무런 null 칼럼 없이 중복된 로우를 포함하고 " "있습니다" -#: commands/matview.c:643 +#: commands/matview.c:655 #, c-format msgid "Row: %s" msgstr "로우: %s" -#: commands/opclasscmds.c:127 +#: commands/opclasscmds.c:124 #, c-format msgid "operator family \"%s\" does not exist for access method \"%s\"" msgstr "\"%s\" 연산자 없음, 해당 접근 방법: \"%s\"" -#: commands/opclasscmds.c:269 +#: commands/opclasscmds.c:267 #, c-format msgid "operator family \"%s\" for access method \"%s\" already exists" msgstr "\"%s\" 연산자 패밀리가 이미 있음, 해당 접근 방법: \"%s\"" -#: commands/opclasscmds.c:414 +#: commands/opclasscmds.c:416 #, c-format msgid "must be superuser to create an operator class" msgstr "연산자 클래스는 슈퍼유저만 만들 수 있습니다" -#: commands/opclasscmds.c:487 commands/opclasscmds.c:869 -#: commands/opclasscmds.c:993 +#: commands/opclasscmds.c:493 commands/opclasscmds.c:910 +#: commands/opclasscmds.c:1056 #, c-format msgid "invalid operator number %d, must be between 1 and %d" msgstr "잘못된 연산자 번호: %d, 타당한 번호는 1부터 %d까지 입니다" -#: commands/opclasscmds.c:531 commands/opclasscmds.c:913 -#: commands/opclasscmds.c:1008 +#: commands/opclasscmds.c:538 commands/opclasscmds.c:960 +#: commands/opclasscmds.c:1072 #, c-format msgid "invalid function number %d, must be between 1 and %d" msgstr "잘못된 함수 번호: %d, 타당한 번호는 1부터 %d까지 입니다" -#: commands/opclasscmds.c:559 +#: commands/opclasscmds.c:567 #, c-format msgid "storage type specified more than once" msgstr "저장 방법이 중복되었습니다" -#: commands/opclasscmds.c:586 +#: commands/opclasscmds.c:594 #, c-format msgid "" "storage type cannot be different from data type for access method \"%s\"" msgstr "스토리지 자료형은 \"%s\" 접근 방법의 자료형과 같아야 합니다." -#: commands/opclasscmds.c:602 +#: commands/opclasscmds.c:610 #, c-format msgid "operator class \"%s\" for access method \"%s\" already exists" msgstr "\"%s\" 연산자 클래스에는 이미 \"%s\" 액세스 방법이 사용되고 있습니다" -#: commands/opclasscmds.c:630 +#: commands/opclasscmds.c:638 #, c-format msgid "could not make operator class \"%s\" be default for type %s" msgstr "\"%s\" 연산자 클래스를 %s 자료형의 기본값으로 지정할 수 없습니다" -#: commands/opclasscmds.c:633 +#: commands/opclasscmds.c:641 #, c-format msgid "Operator class \"%s\" already is the default." msgstr "\"%s\" 연산자 클래스는 이미 기본 연산자 클래스입니다" -#: commands/opclasscmds.c:761 +#: commands/opclasscmds.c:801 #, c-format msgid "must be superuser to create an operator family" msgstr "슈퍼유저만 연산자 패밀리를 만들 수 있음" -#: commands/opclasscmds.c:821 +#: commands/opclasscmds.c:861 #, c-format msgid "must be superuser to alter an operator family" msgstr "슈퍼유저만 연산자 패밀리를 변경할 수 있음" -#: commands/opclasscmds.c:878 +#: commands/opclasscmds.c:919 #, c-format msgid "operator argument types must be specified in ALTER OPERATOR FAMILY" msgstr "연산자 인자 형식이 ALTER OPERATOR FAMILY에 지정되어 있어야 함" -#: commands/opclasscmds.c:941 +#: commands/opclasscmds.c:994 #, c-format msgid "STORAGE cannot be specified in ALTER OPERATOR FAMILY" msgstr "ALTER OPERATOR FAMILY에서 STORAGE를 지정할 수 없음" -#: commands/opclasscmds.c:1063 +#: commands/opclasscmds.c:1128 #, c-format msgid "one or two argument types must be specified" msgstr "한두 개의 인자 형식을 지정해야 함" -#: commands/opclasscmds.c:1089 +#: commands/opclasscmds.c:1154 #, c-format msgid "index operators must be binary" msgstr "인덱스 연산자는 바이너리여야 함" -#: commands/opclasscmds.c:1108 +#: commands/opclasscmds.c:1173 #, c-format msgid "access method \"%s\" does not support ordering operators" msgstr "\"%s\" 접근 방법은 정렬 작업을 지원하지 않음" -#: commands/opclasscmds.c:1119 +#: commands/opclasscmds.c:1184 #, c-format msgid "index search operators must return boolean" -msgstr "인덱스 검색 연산자는 부울형을 반환해야 함" +msgstr "인덱스 검색 연산자는 불리언형을 반환해야 함" -#: commands/opclasscmds.c:1159 +#: commands/opclasscmds.c:1224 #, c-format msgid "" "associated data types for operator class options parsing functions must " "match opclass input type" msgstr "" +"연산자 클래스 옵션 분석 함수에서 쓰는 관련 자료형은 opclass 입력 자료형과 같" +"아야 합니다." -#: commands/opclasscmds.c:1166 +#: commands/opclasscmds.c:1231 #, c-format msgid "" "left and right associated data types for operator class options parsing " "functions must match" msgstr "" +"연산자 클래스 옵션 분석 함수에서 쓰는 왼쪽, 오른쪽 관련 자료형은 같은 자료형" +"이어야 합니다." -#: commands/opclasscmds.c:1174 +#: commands/opclasscmds.c:1239 #, c-format msgid "invalid operator class options parsing function" msgstr "잘못된 연산자 클래스 옵션 구문 분석 함수" -#: commands/opclasscmds.c:1175 +#: commands/opclasscmds.c:1240 #, c-format msgid "Valid signature of operator class options parsing function is %s." msgstr "바른 연산자 클래스 옵션 구문 분석 함수는 %s." -#: commands/opclasscmds.c:1194 +#: commands/opclasscmds.c:1259 #, c-format msgid "btree comparison functions must have two arguments" msgstr "btree 비교 함수는 두 개의 인자가 있어야 함" -#: commands/opclasscmds.c:1198 +#: commands/opclasscmds.c:1263 #, c-format msgid "btree comparison functions must return integer" msgstr "btree 비교 함수는 반드시 integer 자료형을 반환해야 함" -#: commands/opclasscmds.c:1215 +#: commands/opclasscmds.c:1280 #, c-format msgid "btree sort support functions must accept type \"internal\"" msgstr "" "btree 정렬 지원 함수는 반드시 \"internal\" 자료형 입력 인자로 사용해야함" -#: commands/opclasscmds.c:1219 +#: commands/opclasscmds.c:1284 #, c-format msgid "btree sort support functions must return void" msgstr "btree 정렬 지원 함수는 반드시 void 값을 반환해야 함" -#: commands/opclasscmds.c:1230 +#: commands/opclasscmds.c:1295 #, c-format msgid "btree in_range functions must have five arguments" msgstr "btree in_range 함수는 다섯개의 인자가 필요합니다" -#: commands/opclasscmds.c:1234 +#: commands/opclasscmds.c:1299 #, c-format msgid "btree in_range functions must return boolean" -msgstr "btree in_range 함수는 boolean 자료형을 반환해야합니다" +msgstr "btree in_range 함수는 불리언 자료형을 반환해야 합니다" -#: commands/opclasscmds.c:1250 +#: commands/opclasscmds.c:1315 #, c-format msgid "btree equal image functions must have one argument" msgstr "btree equal image 함수는 한 개의 인자가 필요합니다" -#: commands/opclasscmds.c:1254 +#: commands/opclasscmds.c:1319 #, c-format msgid "btree equal image functions must return boolean" -msgstr "btree equal image 함수는 boolean 자료형을 반환해야합니다" +msgstr "btree equal image 함수는 불리언 자료형을 반환해야 합니다" -#: commands/opclasscmds.c:1267 +#: commands/opclasscmds.c:1332 #, c-format msgid "btree equal image functions must not be cross-type" msgstr "btree equal image 함수는 교차형(cross-type)이 아니여야 합니다" -#: commands/opclasscmds.c:1277 +#: commands/opclasscmds.c:1342 #, c-format msgid "hash function 1 must have one argument" msgstr "해시 함수는 1개의 인자만 지정할 수 있습니다" -#: commands/opclasscmds.c:1281 +#: commands/opclasscmds.c:1346 #, c-format msgid "hash function 1 must return integer" msgstr "해시 프로시저는 정수를 반환해야 함" -#: commands/opclasscmds.c:1288 +#: commands/opclasscmds.c:1353 #, c-format msgid "hash function 2 must have two arguments" msgstr "해시 함수 2는 2개의 인자만 지정할 수 있습니다" -#: commands/opclasscmds.c:1292 +#: commands/opclasscmds.c:1357 #, c-format msgid "hash function 2 must return bigint" msgstr "해시 함수 2는 bigint형을 반환해야 함" -#: commands/opclasscmds.c:1317 +#: commands/opclasscmds.c:1382 #, c-format msgid "associated data types must be specified for index support function" msgstr "인덱스 지원 함수에 대해 관련 데이터 형식을 지정해야 함" -#: commands/opclasscmds.c:1342 +#: commands/opclasscmds.c:1407 #, c-format msgid "function number %d for (%s,%s) appears more than once" msgstr "함수 번호 %d이(가) (%s,%s)에 대해 여러 번 표시됨" -#: commands/opclasscmds.c:1349 +#: commands/opclasscmds.c:1414 #, c-format msgid "operator number %d for (%s,%s) appears more than once" msgstr "연산자 번호 %d이(가) (%s,%s)에 대해 여러 번 표시됨" -#: commands/opclasscmds.c:1398 +#: commands/opclasscmds.c:1460 #, c-format msgid "operator %d(%s,%s) already exists in operator family \"%s\"" msgstr "%d(%s,%s) 연산자가 \"%s\" 연산자 패밀리에 이미 있음" -#: commands/opclasscmds.c:1515 +#: commands/opclasscmds.c:1566 #, c-format msgid "function %d(%s,%s) already exists in operator family \"%s\"" msgstr "%d(%s,%s) 함수가 \"%s\" 연산자 패밀리에 이미 있음" -#: commands/opclasscmds.c:1606 +#: commands/opclasscmds.c:1647 #, c-format msgid "operator %d(%s,%s) does not exist in operator family \"%s\"" msgstr "%d(%s,%s) 연산자가 \"%s\" 연산자 패밀리에 없음" -#: commands/opclasscmds.c:1646 +#: commands/opclasscmds.c:1687 #, c-format msgid "function %d(%s,%s) does not exist in operator family \"%s\"" msgstr "%d(%s,%s) 함수가 \"%s\" 연산자 패밀리에 없음" -#: commands/opclasscmds.c:1776 +#: commands/opclasscmds.c:1718 #, c-format msgid "" "operator class \"%s\" for access method \"%s\" already exists in schema \"%s" @@ -8825,410 +9953,581 @@ msgstr "" "\"%s\" 연산자 클래스(\"%s\" 액세스 방법을 사용하는)는 이미 \"%s\" 스키마 안" "에 있습니다" -#: commands/opclasscmds.c:1799 +#: commands/opclasscmds.c:1741 #, c-format msgid "" "operator family \"%s\" for access method \"%s\" already exists in schema \"%s" "\"" msgstr "\"%s\" 연산자 패밀리(접근 방법: \"%s\")가 \"%s\" 스키마에 이미 있음" -#: commands/operatorcmds.c:111 commands/operatorcmds.c:119 +#: commands/operatorcmds.c:113 commands/operatorcmds.c:121 #, c-format msgid "SETOF type not allowed for operator argument" msgstr "SETOF 형식은 연산자 인자에 허용되지 않음" -#: commands/operatorcmds.c:152 commands/operatorcmds.c:467 +#: commands/operatorcmds.c:154 commands/operatorcmds.c:481 #, c-format msgid "operator attribute \"%s\" not recognized" msgstr "\"%s\" 연산자 속성을 처리할 수 없음" -#: commands/operatorcmds.c:163 +#: commands/operatorcmds.c:165 #, c-format msgid "operator function must be specified" msgstr "자료형 함수를 지정하십시오" -#: commands/operatorcmds.c:174 +#: commands/operatorcmds.c:183 +#, c-format +msgid "operator argument types must be specified" +msgstr "연산자 인자 형식을 지정해야 함" + +#: commands/operatorcmds.c:187 +#, c-format +msgid "operator right argument type must be specified" +msgstr "연산자 오른쪽 인자 형식을 지정해야 함" + +#: commands/operatorcmds.c:188 #, c-format -msgid "at least one of leftarg or rightarg must be specified" -msgstr "왼쪽 이나 오른쪽 중 적어도 하나의 인자는 지정해야 합니다" +msgid "Postfix operators are not supported." +msgstr "postfix 연산자는 지원하지 않습니다" -#: commands/operatorcmds.c:278 +#: commands/operatorcmds.c:292 #, c-format msgid "restriction estimator function %s must return type %s" msgstr "%s 제한 예상 함수는 %s 자료형을 반환해야 함" -#: commands/operatorcmds.c:321 +#: commands/operatorcmds.c:335 #, c-format msgid "join estimator function %s has multiple matches" msgstr "%s 조인 예상 함수가 여러개 있습니다" -#: commands/operatorcmds.c:336 +#: commands/operatorcmds.c:350 #, c-format msgid "join estimator function %s must return type %s" msgstr "%s 조인 예상 함수는 %s 자료형을 반환해야 함" -#: commands/operatorcmds.c:461 +#: commands/operatorcmds.c:475 #, c-format msgid "operator attribute \"%s\" cannot be changed" msgstr "\"%s\" 연산자 속성 바꿀 수 없음" -#: commands/policy.c:88 commands/policy.c:381 commands/policy.c:471 -#: commands/tablecmds.c:1512 commands/tablecmds.c:1994 -#: commands/tablecmds.c:3076 commands/tablecmds.c:5608 -#: commands/tablecmds.c:8395 commands/tablecmds.c:15632 -#: commands/tablecmds.c:15667 commands/trigger.c:301 commands/trigger.c:1206 -#: commands/trigger.c:1315 rewrite/rewriteDefine.c:277 -#: rewrite/rewriteDefine.c:933 rewrite/rewriteRemove.c:80 +#: 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/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\" 시스템 카탈로그임" -#: commands/policy.c:171 +#: commands/policy.c:172 #, c-format msgid "ignoring specified roles other than PUBLIC" msgstr "PUBLIC 아닌 지정한 모든 롤 무시함" -#: commands/policy.c:172 +#: commands/policy.c:173 #, c-format msgid "All roles are members of the PUBLIC role." msgstr "모든 롤이 PUBLIC 롤의 소속입니다." -#: commands/policy.c:495 -#, c-format -msgid "role \"%s\" could not be removed from policy \"%s\" on \"%s\"" -msgstr "\"%s\" 롤을 \"%s\" 정책 (대상 릴레이션: \"%s\")에서 삭제될 수 없음" - -#: commands/policy.c:704 +#: commands/policy.c:606 #, c-format msgid "WITH CHECK cannot be applied to SELECT or DELETE" msgstr "WITH CHECK 옵션은 SELECT나 DELETE 작업에 적용 될 수 없음" -#: commands/policy.c:713 commands/policy.c:1018 +#: commands/policy.c:615 commands/policy.c:918 #, c-format msgid "only WITH CHECK expression allowed for INSERT" msgstr "INSERT 구문에 대해서만 WITH CHECK 옵션을 허용합니다" -#: commands/policy.c:788 commands/policy.c:1241 +#: commands/policy.c:689 commands/policy.c:1141 #, c-format msgid "policy \"%s\" for table \"%s\" already exists" msgstr "\"%s\" 정책이 \"%s\" 테이블에 이미 지정되어있습니다" -#: commands/policy.c:990 commands/policy.c:1269 commands/policy.c:1340 +#: commands/policy.c:890 commands/policy.c:1169 commands/policy.c:1240 #, c-format msgid "policy \"%s\" for table \"%s\" does not exist" msgstr "\"%s\" 정책이 \"%s\" 테이블에 없음" -#: commands/policy.c:1008 +#: commands/policy.c:908 #, c-format msgid "only USING expression allowed for SELECT, DELETE" msgstr "USING 구문만 SELECT, DELETE 작업에 쓸 수 있음" -#: commands/portalcmds.c:59 commands/portalcmds.c:182 commands/portalcmds.c:233 +#: commands/portalcmds.c:60 commands/portalcmds.c:181 commands/portalcmds.c:232 #, c-format msgid "invalid cursor name: must not be empty" msgstr "잘못된 커서 이름: 비어있으면 안됩니다" -#: commands/portalcmds.c:190 commands/portalcmds.c:243 -#: executor/execCurrent.c:70 utils/adt/xml.c:2594 utils/adt/xml.c:2764 +#: commands/portalcmds.c:72 +#, c-format +msgid "cannot create a cursor WITH HOLD within security-restricted operation" +msgstr "" +"엄격한 보안 제한 작업 내에서 WITH HOLD 옵션을 사용하는 커서는 만들 수 없음" + +#: commands/portalcmds.c:189 commands/portalcmds.c:242 +#: executor/execCurrent.c:70 utils/adt/xml.c:2844 utils/adt/xml.c:3014 #, c-format msgid "cursor \"%s\" does not exist" msgstr "\"%s\" 이름의 커서가 없음" -#: commands/prepare.c:76 +#: commands/prepare.c:75 #, c-format msgid "invalid statement name: must not be empty" msgstr "잘못된 명령문 이름: 비어있으면 안됩니다" -#: commands/prepare.c:134 parser/parse_param.c:304 tcop/postgres.c:1498 -#, c-format -msgid "could not determine data type of parameter $%d" -msgstr "$%d 매개 변수의 자료형을 알수가 없습니다." - -#: commands/prepare.c:152 -#, c-format -msgid "utility statements cannot be prepared" -msgstr "utility 명령문들은 미리 준비할 수 없습니다" - -#: commands/prepare.c:256 commands/prepare.c:261 +#: commands/prepare.c:230 commands/prepare.c:235 #, c-format msgid "prepared statement is not a SELECT" msgstr "준비된 명령문이 SELECT 구문이 아닙니다." -#: commands/prepare.c:328 +#: commands/prepare.c:295 #, c-format msgid "wrong number of parameters for prepared statement \"%s\"" msgstr "prepared statement \"%s\"에 매개 변수 수가 틀렸습니다" -#: commands/prepare.c:330 +#: commands/prepare.c:297 #, c-format msgid "Expected %d parameters but got %d." msgstr "%d 개의 매개 변수가 요구되는데 %d 개만이 존재합니다" -#: commands/prepare.c:363 +#: commands/prepare.c:330 #, c-format msgid "parameter $%d of type %s cannot be coerced to the expected type %s" msgstr "??? parameter $%d of type %s 는 expected type %s 로 강요할 수 없다" -#: commands/prepare.c:449 +#: commands/prepare.c:414 #, c-format msgid "prepared statement \"%s\" already exists" msgstr "\"%s\" 이름의 준비된 명령문(prepared statement)이 이미 있습니다" -#: commands/prepare.c:488 +#: commands/prepare.c:453 #, c-format msgid "prepared statement \"%s\" does not exist" msgstr "\"%s\" 이름의 준비된 명령문(prepared statement) 없음" -#: commands/proclang.c:67 +#: commands/proclang.c:68 #, c-format msgid "must be superuser to create custom procedural language" msgstr "슈퍼유저만 사용자 지정 프로시저 언어를 만들 수 있음" -#: commands/publicationcmds.c:107 +#: commands/publicationcmds.c:131 postmaster/postmaster.c:1208 +#: postmaster/postmaster.c:1306 storage/file/fd.c:3911 +#: utils/init/miscinit.c:1815 #, c-format -msgid "invalid list syntax for \"publish\" option" -msgstr "\"publish\" 옵션의 목록 문법이 잘못됨" +msgid "invalid list syntax in parameter \"%s\"" +msgstr "\"%s\" 매개 변수 구문이 잘못 되었습니다" -#: commands/publicationcmds.c:125 +#: commands/publicationcmds.c:150 #, c-format -msgid "unrecognized \"publish\" value: \"%s\"" -msgstr "알 수 없는 \"publish\" 값: \"%s\"" +msgid "unrecognized value for publication option \"%s\": \"%s\"" +msgstr "발행용 \"%s\" 옵션에서 쓸 수 없는 값: \"%s\"" -#: commands/publicationcmds.c:140 +#: commands/publicationcmds.c:164 #, c-format msgid "unrecognized publication parameter: \"%s\"" msgstr "인식할 수 없는 발행 매개 변수: \"%s\"" -#: commands/publicationcmds.c:172 +#: commands/publicationcmds.c:205 +#, c-format +msgid "no schema has been selected for CURRENT_SCHEMA" +msgstr "CURRENT_SCHEMA 용 실제 스키마 없음" + +#: commands/publicationcmds.c:502 +msgid "System columns are not allowed." +msgstr "시스템 칼럼은 허용하지 않음." + +#: commands/publicationcmds.c:509 commands/publicationcmds.c:514 +#: commands/publicationcmds.c:531 +msgid "User-defined operators are not allowed." +msgstr "사용자 정의 연산자는 허용하지 않음." + +#: 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 "" +"칼럼, 상수, 내장 연산자, 내장 자료형, 내장 문자 정렬 규칙, 불변형 내장 함수" +"만 허용합니다." + +#: commands/publicationcmds.c:567 +msgid "User-defined types are not allowed." +msgstr "사용자 정의 자료형은 허용하지 않음." + +#: commands/publicationcmds.c:570 +msgid "User-defined or built-in mutable functions are not allowed." +msgstr "사용자 정의나 내장 함수가 mutable 인 경우 허용하지 않음." + +#: commands/publicationcmds.c:573 +msgid "User-defined collations are not allowed." +msgstr "사용자 정의 문자 정렬 규칙은 허용하지 않음." + +#: commands/publicationcmds.c:583 +#, c-format +msgid "invalid publication WHERE expression" +msgstr "잘못된 구독 WHERE 절 구문" + +#: commands/publicationcmds.c:636 +#, c-format +msgid "cannot use publication WHERE clause for relation \"%s\"" +msgstr "\"%s\" 릴레이션용 구독 WHERE 절은 사용할 수 없음" + +#: commands/publicationcmds.c:638 +#, c-format +msgid "WHERE clause cannot be used for a partitioned table when %s is false." +msgstr "%s 값이 false 일때, 파티션 된 테이블에서는 WHERE 절을 사용할 수 없음." + +#: commands/publicationcmds.c:709 commands/publicationcmds.c:723 +#, c-format +msgid "cannot use column list for relation \"%s.%s\" in publication \"%s\"" +msgstr "\"%s.%s\" 릴레이션용 칼럼 목록을 사용할 수 없음(해당 구독: \"%s\")" + +#: commands/publicationcmds.c:712 +#, c-format +msgid "" +"Column lists cannot be specified in publications containing FOR TABLES IN " +"SCHEMA elements." +msgstr "" +"FOR TABLES IN SCHEMA 구문을 이용해서 구독을 만들 때는 칼럼 목록을 지정할 수 " +"없습니다." + +#: commands/publicationcmds.c:726 +#, c-format +msgid "" +"Column lists cannot be specified for partitioned tables when %s is false." +msgstr "" +"%s 값이 false 일때, 파티션 상위 테이블을 위한 칼럼 목록은 지정할 수 없습니다." + +#: commands/publicationcmds.c:761 #, c-format msgid "must be superuser to create FOR ALL TABLES publication" msgstr "FOR ALL TABLES 옵션의 발행을 만드려면 슈퍼유저여야만 합니다" -#: commands/publicationcmds.c:248 +#: commands/publicationcmds.c:832 +#, c-format +msgid "must be superuser to create FOR TABLES IN SCHEMA publication" +msgstr "FOR TABLES IN SCHEMA 구문을 사용하는 구독은 슈퍼 유저만 쓸 수 있음" + +#: commands/publicationcmds.c:868 #, c-format msgid "wal_level is insufficient to publish logical changes" msgstr "wal_level 수준이 논리 변경 사항 발행을 하기에는 부족합니다" -#: commands/publicationcmds.c:249 +#: commands/publicationcmds.c:869 +#, c-format +msgid "Set wal_level to \"logical\" before creating subscriptions." +msgstr "wal_level 값을 \"logical\"로 바꾸고 구독을 만들세요" + +#: commands/publicationcmds.c:965 commands/publicationcmds.c:973 +#, c-format +msgid "cannot set parameter \"%s\" to false for publication \"%s\"" +msgstr "\"%s\" 매개 변수 값으로 false를 지정할 수 없음, 해당 구독: \"%s\"" + +#: commands/publicationcmds.c:968 +#, c-format +msgid "" +"The publication contains a WHERE clause for partitioned table \"%s\", which " +"is not allowed when \"%s\" is false." +msgstr "" +"이 구독은 \"%s\" 파티션 상위테이블 대상 WHERE 절을 포함하고 있습니다. \"%s\" " +"값이 false 때는 이 조건을 허용하지 않습니다." + +#: commands/publicationcmds.c:976 +#, c-format +msgid "" +"The publication contains a column list for partitioned table \"%s\", which " +"is not allowed when \"%s\" is false." +msgstr "" +"이 구독은 \"%s\" 파티션 상위테이블 대상 칼럼 목록을 포함하고 있습니다. \"%s" +"\" 값이 false 때는 이런 사용을 허용하지 않습니다." + +#: commands/publicationcmds.c:1299 #, c-format -msgid "Set wal_level to logical before creating subscriptions." -msgstr "wal_level 값을 logical로 바꾸고 구독을 만들세요" +msgid "cannot add schema to publication \"%s\"" +msgstr "\"%s\" 구독에 스키마는 추가 할 수 없음" -#: commands/publicationcmds.c:369 +#: 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 "" +"이미 해당 발행에 한 부분으로 어떤 테이블의 칼럼 목록을 사용하고 있다면, 그 테" +"이블이 있는 그 스키마는 스키마 단위로 발행에 추가 할 수 없습니다." + +#: commands/publicationcmds.c:1349 +#, c-format +msgid "must be superuser to add or set schemas" +msgstr "스키마 지정은 슈퍼유져여야 합니다" + +#: commands/publicationcmds.c:1358 commands/publicationcmds.c:1366 #, c-format msgid "publication \"%s\" is defined as FOR ALL TABLES" msgstr "\"%s\" 발행은 FOR ALL TABLES 옵션으로 정의되어 있습니다." -#: commands/publicationcmds.c:371 +#: commands/publicationcmds.c:1360 +#, c-format +msgid "Schemas cannot be added to or dropped from FOR ALL TABLES publications." +msgstr "FOR ALL TABLES 발행에 스키마를 추가하거나 뺄 수 없습니다." + +#: commands/publicationcmds.c:1368 #, c-format msgid "Tables cannot be added to or dropped from FOR ALL TABLES publications." msgstr "" "FOR ALL TABLES 발행에 새 테이블을 추가하거나 한 테이블을 뺄 수 없습니다." -#: commands/publicationcmds.c:683 +#: commands/publicationcmds.c:1392 commands/publicationcmds.c:1431 +#: commands/publicationcmds.c:1968 utils/cache/lsyscache.c:3592 +#, c-format +msgid "publication \"%s\" does not exist" +msgstr "\"%s\" 이름의 발행은 없습니다" + +#: commands/publicationcmds.c:1594 commands/publicationcmds.c:1657 +#, c-format +msgid "conflicting or redundant WHERE clauses for table \"%s\"" +msgstr "\"%s\" 테이블 용 WHERE 절이 충돌나거나, 중복되었음" + +#: commands/publicationcmds.c:1601 commands/publicationcmds.c:1669 +#, c-format +msgid "conflicting or redundant column lists for table \"%s\"" +msgstr "\"%s\" 테이블 용 칼럼 목록이 충돌나거나, 중복되었음" + +#: commands/publicationcmds.c:1803 +#, c-format +msgid "column list must not be specified in ALTER PUBLICATION ... DROP" +msgstr "ALTER PUBLICATION ... DROP 구문에서는 칼럼 목록을 지정하지 말아야함" + +#: commands/publicationcmds.c:1815 #, c-format msgid "relation \"%s\" is not part of the publication" msgstr "\"%s\" 릴레이션은 해당 발행에 포함되어 있지 않습니다" -#: commands/publicationcmds.c:726 +#: commands/publicationcmds.c:1822 +#, c-format +msgid "cannot use a WHERE clause when removing a table from a publication" +msgstr "발행에서 테이블을 뺄 때, WHERE 절은 사용할 수 없습니다." + +#: commands/publicationcmds.c:1882 +#, c-format +msgid "tables from schema \"%s\" are not part of the publication" +msgstr "\"%s\" 스키마의 테이블들은 해당 발행에 포함되어 있지 않습니다" + +#: commands/publicationcmds.c:1925 commands/publicationcmds.c:1932 #, c-format msgid "permission denied to change owner of publication \"%s\"" msgstr "\"%s\" 발행의 소유주를 바꿀 권한이 없습니다" -#: commands/publicationcmds.c:728 +#: commands/publicationcmds.c:1927 #, c-format msgid "The owner of a FOR ALL TABLES publication must be a superuser." msgstr "FOR ALL TABLES 옵션용 발행의 소유주는 슈퍼유저여야만 합니다" -#: commands/schemacmds.c:105 commands/schemacmds.c:281 +#: commands/publicationcmds.c:1934 +#, c-format +msgid "The owner of a FOR TABLES IN SCHEMA publication must be a superuser." +msgstr "FOR ALL TABLES IN SCHEMA 구독의 소유주는 슈퍼유저여야만 합니다" + +#: commands/publicationcmds.c:2000 +#, c-format +msgid "publication with OID %u does not exist" +msgstr "OID %u 발행 없음" + +#: commands/schemacmds.c:109 commands/schemacmds.c:289 #, c-format msgid "unacceptable schema name \"%s\"" msgstr "\"%s\" 스키마 이름이 적당하지 못합니다" -#: commands/schemacmds.c:106 commands/schemacmds.c:282 +#: commands/schemacmds.c:110 commands/schemacmds.c:290 #, c-format msgid "The prefix \"pg_\" is reserved for system schemas." msgstr "" "\"pg_\" 문자로 시작하는 스키마는 시스템에서 사용하는 예약된 스키마입니다." -#: commands/schemacmds.c:120 +#: commands/schemacmds.c:134 #, c-format msgid "schema \"%s\" already exists, skipping" msgstr "\"%s\" 이름의 스키마(schema)가 이미 있음, 건너뜀" -#: commands/seclabel.c:60 +#: commands/seclabel.c:131 #, c-format msgid "no security label providers have been loaded" msgstr "로드된 보안 라벨 제공자가 없음" -#: commands/seclabel.c:64 +#: commands/seclabel.c:135 #, c-format msgid "" "must specify provider when multiple security label providers have been loaded" msgstr "다중 보안 레이블 제공자가 로드 될 때 제공자를 지정해야 합니다." -#: commands/seclabel.c:82 +#: commands/seclabel.c:153 #, c-format msgid "security label provider \"%s\" is not loaded" msgstr "\"%s\" 이름의 보안 라벨 제공자가 로드되어 있지 않음" -#: commands/sequence.c:140 +#: commands/seclabel.c:160 +#, c-format +msgid "security labels are not supported for this type of object" +msgstr "이 객체 형태는 보안 라벨을 지원하지 않음" + +#: commands/seclabel.c:193 #, c-format -msgid "unlogged sequences are not supported" -msgstr "로그를 남기지 않는 시퀀스는 지원하지 않음" +msgid "cannot set security label on relation \"%s\"" +msgstr "\"%s\" 릴레이션에 보안 라벨을 지정할 수 없음" -#: commands/sequence.c:709 +#: commands/sequence.c:754 #, c-format -msgid "nextval: reached maximum value of sequence \"%s\" (%s)" -msgstr "nextval: \"%s\" 시퀀스의 최대값(%s)이 되었습니다" +msgid "nextval: reached maximum value of sequence \"%s\" (%lld)" +msgstr "nextval: \"%s\" 시퀀스의 최대값(%lld)이 되었습니다" -#: commands/sequence.c:732 +#: commands/sequence.c:773 #, c-format -msgid "nextval: reached minimum value of sequence \"%s\" (%s)" -msgstr "nextval: \"%s\" 시퀀스의 최소값(%s)이 되었습니다" +msgid "nextval: reached minimum value of sequence \"%s\" (%lld)" +msgstr "nextval: \"%s\" 시퀀스의 최소값(%lld)이 되었습니다" -#: commands/sequence.c:850 +#: commands/sequence.c:891 #, c-format msgid "currval of sequence \"%s\" is not yet defined in this session" msgstr "\"%s\" 시퀀스의 currval 값이 현재 세션에 지정되어 있지 않습니다" -#: commands/sequence.c:869 commands/sequence.c:875 +#: commands/sequence.c:910 commands/sequence.c:916 #, c-format msgid "lastval is not yet defined in this session" msgstr "이 세션에는 lastval 값이 아직까지 지정되지 않았습니다" -#: commands/sequence.c:963 +#: commands/sequence.c:996 #, c-format -msgid "setval: value %s is out of bounds for sequence \"%s\" (%s..%s)" -msgstr "setval: %s 값은 \"%s\" 시퀀스의 범위(%s..%s)를 벗어났습니다" +msgid "setval: value %lld is out of bounds for sequence \"%s\" (%lld..%lld)" +msgstr "setval: %lld 값은 \"%s\" 시퀀스의 범위(%lld..%lld)를 벗어났습니다" -#: commands/sequence.c:1360 +#: commands/sequence.c:1365 #, c-format msgid "invalid sequence option SEQUENCE NAME" msgstr "잘못된 SEQUENCE NAME 시퀀스 옵션" -#: commands/sequence.c:1386 +#: commands/sequence.c:1391 #, c-format msgid "identity column type must be smallint, integer, or bigint" msgstr "식별 칼럼에 쓸 자료형은 smallint, integer, bigint 자료형만 쓸 수 있음" -#: commands/sequence.c:1387 +#: commands/sequence.c:1392 #, c-format msgid "sequence type must be smallint, integer, or bigint" msgstr "시퀀스에 쓸 자료형은 smallint, integer, bigint 자료형만 쓸 수 있음" -#: commands/sequence.c:1421 +#: commands/sequence.c:1426 #, c-format msgid "INCREMENT must not be zero" msgstr "INCREMENT 값은 0(zero)이 될 수 없습니다" #: commands/sequence.c:1474 #, c-format -msgid "MAXVALUE (%s) is out of range for sequence data type %s" -msgstr "MAXVALUE (%s) 값이 허용 범위 밖임, 해당 시퀀스 자료형: %s" +msgid "MAXVALUE (%lld) is out of range for sequence data type %s" +msgstr "MAXVALUE (%lld) 값이 허용 범위 밖임, 해당 시퀀스 자료형: %s" -#: commands/sequence.c:1511 +#: commands/sequence.c:1506 #, c-format -msgid "MINVALUE (%s) is out of range for sequence data type %s" -msgstr "MAXVALUE (%s) 값이 허용 범위 밖임, 해당 시퀀스 자료형: %s" +msgid "MINVALUE (%lld) is out of range for sequence data type %s" +msgstr "MAXVALUE (%lld) 값이 허용 범위 밖임, 해당 시퀀스 자료형: %s" -#: commands/sequence.c:1525 +#: commands/sequence.c:1514 #, c-format -msgid "MINVALUE (%s) must be less than MAXVALUE (%s)" -msgstr "MINVALUE (%s) 값은 MAXVALUE (%s) 값보다 작아야합니다" +msgid "MINVALUE (%lld) must be less than MAXVALUE (%lld)" +msgstr "MINVALUE (%lld) 값은 MAXVALUE (%lld) 값보다 작아야 합니다" -#: commands/sequence.c:1552 +#: commands/sequence.c:1535 #, c-format -msgid "START value (%s) cannot be less than MINVALUE (%s)" -msgstr "START 값(%s)은 MINVALUE(%s)보다 작을 수 없음" +msgid "START value (%lld) cannot be less than MINVALUE (%lld)" +msgstr "START 값(%lld)은 MINVALUE(%lld)보다 작을 수 없음" -#: commands/sequence.c:1564 +#: commands/sequence.c:1541 #, c-format -msgid "START value (%s) cannot be greater than MAXVALUE (%s)" -msgstr "START 값(%s)은 MAXVALUE(%s)보다 클 수 없음" +msgid "START value (%lld) cannot be greater than MAXVALUE (%lld)" +msgstr "START 값(%lld)은 MAXVALUE(%lld)보다 클 수 없음" -#: commands/sequence.c:1594 +#: commands/sequence.c:1565 #, c-format -msgid "RESTART value (%s) cannot be less than MINVALUE (%s)" -msgstr "RESTART 값(%s)은 MINVALUE(%s)보다 작을 수 없음" +msgid "RESTART value (%lld) cannot be less than MINVALUE (%lld)" +msgstr "RESTART 값(%lld)은 MINVALUE(%lld)보다 작을 수 없음" -#: commands/sequence.c:1606 +#: commands/sequence.c:1571 #, c-format -msgid "RESTART value (%s) cannot be greater than MAXVALUE (%s)" -msgstr "RESTART 값(%s)은 MAXVALUE(%s)보다 클 수 없음" +msgid "RESTART value (%lld) cannot be greater than MAXVALUE (%lld)" +msgstr "RESTART 값(%lld)은 MAXVALUE(%lld)보다 클 수 없음" -#: commands/sequence.c:1621 +#: commands/sequence.c:1582 #, c-format -msgid "CACHE (%s) must be greater than zero" -msgstr "CACHE (%s) 값은 0(zero)보다 커야합니다" +msgid "CACHE (%lld) must be greater than zero" +msgstr "CACHE (%lld) 값은 0(zero)보다 커야 합니다" -#: commands/sequence.c:1658 +#: commands/sequence.c:1618 #, c-format msgid "invalid OWNED BY option" msgstr "잘못된 OWNED BY 옵션" -#: commands/sequence.c:1659 +#: commands/sequence.c:1619 #, c-format msgid "Specify OWNED BY table.column or OWNED BY NONE." msgstr "OWNED BY 테이블.열 또는 OWNED BY NONE을 지정하십시오." -#: commands/sequence.c:1684 +#: commands/sequence.c:1644 #, c-format -msgid "referenced relation \"%s\" is not a table or foreign table" -msgstr "참조되는 \"%s\" 릴레이션은 테이블 또는 외부 테이블이 아닙니다" +msgid "sequence cannot be owned by relation \"%s\"" +msgstr "\"%s\" 릴레이션의 소속 시퀀스가 될 수 없음" -#: commands/sequence.c:1691 +#: commands/sequence.c:1652 #, c-format msgid "sequence must have same owner as table it is linked to" msgstr "시퀀스 및 이 시퀀스가 연결된 테이블의 소유주가 같아야 함" -#: commands/sequence.c:1695 +#: commands/sequence.c:1656 #, c-format msgid "sequence must be in same schema as table it is linked to" msgstr "시퀀스 및 이 시퀀스가 연결된 테이블이 같은 스키마에 있어야 함" -#: commands/sequence.c:1717 +#: commands/sequence.c:1678 #, c-format msgid "cannot change ownership of identity sequence" msgstr "식별 시퀀스의 소유주는 바꿀 수 없음" -#: commands/sequence.c:1718 commands/tablecmds.c:12544 -#: commands/tablecmds.c:15058 +#: commands/sequence.c:1679 commands/tablecmds.c:13891 +#: commands/tablecmds.c:16488 #, c-format msgid "Sequence \"%s\" is linked to table \"%s\"." msgstr "\"%s\" 시퀀스는 \"%s\" 테이블에 종속되어 있습니다." -#: commands/statscmds.c:104 commands/statscmds.c:113 +#: 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 "CREATE STATISTICS 명령에서는 하나의 릴레이션만 사용할 수 있음" -#: commands/statscmds.c:131 +#: commands/statscmds.c:136 #, c-format -msgid "relation \"%s\" is not a table, foreign table, or materialized view" -msgstr "\"%s\" 개체는 테이블도, 외부 테이블도, 구체화된 뷰도 아닙니다" +msgid "cannot define statistics for relation \"%s\"" +msgstr "\"%s\" 릴레이션용 통계정보를 정의할 수 없음" -#: commands/statscmds.c:174 +#: commands/statscmds.c:190 #, c-format msgid "statistics object \"%s\" already exists, skipping" msgstr "\"%s\" 이름의 통계정보 개체가 이미 있습니다, 건너뜀" -#: commands/statscmds.c:182 +#: commands/statscmds.c:198 #, c-format msgid "statistics object \"%s\" already exists" msgstr "\"%s\" 이름의 통계정보 개체가 이미 있음" -#: commands/statscmds.c:204 commands/statscmds.c:210 +#: commands/statscmds.c:209 #, c-format -msgid "only simple column references are allowed in CREATE STATISTICS" -msgstr "CREATE STATISTICS 명령에서는 단순 칼럼 참조만 허용합니다." +msgid "cannot have more than %d columns in statistics" +msgstr "통계정보 개체에서는 %d개보다 많은 칼럼을 사용할 수 없습니다" -#: commands/statscmds.c:225 +#: commands/statscmds.c:250 commands/statscmds.c:273 commands/statscmds.c:307 #, c-format msgid "statistics creation on system columns is not supported" msgstr "시스템 칼럼에 대한 통계정보 개체 만들기는 지원하지 않습니다" -#: commands/statscmds.c:232 +#: commands/statscmds.c:257 commands/statscmds.c:280 #, c-format msgid "" "column \"%s\" cannot be used in statistics because its type %s has no " @@ -9237,110 +10536,150 @@ msgstr "" "\"%s\" 칼럼은 사용자 통계정보 수집이 불가능합니다. %s 자료형은 기본 btree 연" "산자 클래스를 정의하지 않았습니다" -#: commands/statscmds.c:239 +#: commands/statscmds.c:324 #, c-format -msgid "cannot have more than %d columns in statistics" -msgstr "통계정보 개체에서는 %d개보다 많은 칼럼을 사용할 수 없습니다" +msgid "" +"expression cannot be used in multivariate statistics because its type %s has " +"no default btree operator class" +msgstr "" +"%s 자료형에는 기본 btree 연산자 클래스가 없어서, 표현식은 다변적인 통계 정보" +"에서 사용될 수 없음" + +#: commands/statscmds.c:345 +#, c-format +msgid "" +"when building statistics on a single expression, statistics kinds may not be " +"specified" +msgstr "" +"단일 표현식으로 통계 정보를 만들 때, 통계 정보 종류는 지정할 수 없습니다." + +#: commands/statscmds.c:374 +#, c-format +msgid "unrecognized statistics kind \"%s\"" +msgstr "알 수 없는 통계정보 종류 \"%s\"" -#: commands/statscmds.c:254 +#: commands/statscmds.c:403 #, c-format msgid "extended statistics require at least 2 columns" msgstr "확장된 통계정보는 두 개 이상의 칼럼이 필요합니다." -#: commands/statscmds.c:272 +#: commands/statscmds.c:421 #, c-format msgid "duplicate column name in statistics definition" msgstr "통계정보 정의에서 사용하는 칼럼이 중복되었습니다" -#: commands/statscmds.c:306 -#, c-format -msgid "unrecognized statistics kind \"%s\"" -msgstr "알 수 없는 통계정보 종류 \"%s\"" +#: commands/statscmds.c:456 +#, c-format +msgid "duplicate expression in statistics definition" +msgstr "통계정보 정의에서 표현식이 중복되었습니다" -#: commands/statscmds.c:444 commands/tablecmds.c:7416 +#: commands/statscmds.c:619 commands/tablecmds.c:8180 #, c-format msgid "statistics target %d is too low" msgstr "대상 통계값(%d)이 너무 낮습니다" -#: commands/statscmds.c:452 commands/tablecmds.c:7424 +#: commands/statscmds.c:627 commands/tablecmds.c:8188 #, c-format msgid "lowering statistics target to %d" msgstr "%d 값으로 대상 통계값을 낮춥니다" -#: commands/statscmds.c:475 +#: commands/statscmds.c:650 #, c-format msgid "statistics object \"%s.%s\" does not exist, skipping" msgstr "\"%s.%s\" 통계정보 개체 없음, 무시함" -#: commands/subscriptioncmds.c:181 +#: commands/subscriptioncmds.c:271 commands/subscriptioncmds.c:359 #, c-format msgid "unrecognized subscription parameter: \"%s\"" msgstr "알 수 없는 구독 매개 변수: \"%s\"" +#: commands/subscriptioncmds.c:327 replication/pgoutput/pgoutput.c:398 +#, c-format +msgid "unrecognized origin value: \"%s\"" +msgstr "알 수 없는 오리진 값: \"%s\"" + +#: commands/subscriptioncmds.c:350 +#, c-format +msgid "invalid WAL location (LSN): %s" +msgstr "잘못된 WAL 위치 (LSN): %s" + #. translator: both %s are strings of the form "option = value" -#: commands/subscriptioncmds.c:195 commands/subscriptioncmds.c:201 -#: commands/subscriptioncmds.c:207 commands/subscriptioncmds.c:226 -#: commands/subscriptioncmds.c:232 +#: commands/subscriptioncmds.c:374 commands/subscriptioncmds.c:381 +#: commands/subscriptioncmds.c:388 commands/subscriptioncmds.c:410 +#: commands/subscriptioncmds.c:426 #, c-format msgid "%s and %s are mutually exclusive options" msgstr "%s 옵션과 %s 옵션은 함께 사용할 수 없음" #. translator: both %s are strings of the form "option = value" -#: commands/subscriptioncmds.c:239 commands/subscriptioncmds.c:245 +#: commands/subscriptioncmds.c:416 commands/subscriptioncmds.c:432 #, c-format msgid "subscription with %s must also set %s" msgstr "%s 구독하려면, %s 설정이 필요함" -#: commands/subscriptioncmds.c:287 +#: commands/subscriptioncmds.c:494 #, c-format -msgid "publication name \"%s\" used more than once" -msgstr "\"%s\" 발행 이름이 여러 번 사용 됨" +msgid "could not receive list of publications from the publisher: %s" +msgstr "발행자에게서 발행 목록을 받을 수 없음: %s" + +#: commands/subscriptioncmds.c:526 +#, c-format +msgid "publication %s does not exist on the publisher" +msgid_plural "publications %s do not exist on the publisher" +msgstr[0] "해당 발행자에게는 \"%s\" 이름의 발행은 없습니다" + +#: commands/subscriptioncmds.c:614 +#, c-format +msgid "permission denied to create subscription" +msgstr "구독을 만들기 위한 권한 없음" -#: commands/subscriptioncmds.c:351 +#: commands/subscriptioncmds.c:615 #, c-format -msgid "must be superuser to create subscriptions" -msgstr "구독 만들기는 슈퍼유져 권한이 필요합니다" +msgid "Only roles with privileges of the \"%s\" role may create subscriptions." +msgstr "\"%s\" 롤이 부여된 사용자만 구독을 만들 수 있습니다." -#: commands/subscriptioncmds.c:442 commands/subscriptioncmds.c:530 -#: replication/logical/tablesync.c:857 replication/logical/worker.c:2096 +#: commands/subscriptioncmds.c:745 commands/subscriptioncmds.c:878 +#: replication/logical/tablesync.c:1309 replication/logical/worker.c:4616 #, c-format msgid "could not connect to the publisher: %s" msgstr "발행 서버에 연결 할 수 없음: %s" -#: commands/subscriptioncmds.c:484 +#: commands/subscriptioncmds.c:816 #, c-format msgid "created replication slot \"%s\" on publisher" msgstr "\"%s\" 이름의 복제 슬롯이 없습니다" -#. translator: %s is an SQL ALTER statement -#: commands/subscriptioncmds.c:497 +#: commands/subscriptioncmds.c:828 #, c-format -msgid "" -"tables were not subscribed, you will have to run %s to subscribe the tables" -msgstr "" -"구독하고 있는 테이블이 없습니다, %s 명령으로 테이블을 구독할 수 있습니다" +msgid "subscription was created, but is not connected" +msgstr "구독을 만들었지만, 발행 서버로 접속은 안했습니다." -#: commands/subscriptioncmds.c:586 +#: commands/subscriptioncmds.c:829 #, c-format -msgid "table \"%s.%s\" added to subscription \"%s\"" -msgstr "\"%s.%s\" 테이블을 \"%s\" 구독에 추가했습니다" +msgid "" +"To initiate replication, you must manually create the replication slot, " +"enable the subscription, and refresh the subscription." +msgstr "" +"복제 초기화 작업은 먼저 수동으로 복제 슬롯을 만들고, 구독을 활성화하고, 해당 " +"구독을 새로고침 하는 순서로 진행합니다." -#: commands/subscriptioncmds.c:610 +#: commands/subscriptioncmds.c:1096 commands/subscriptioncmds.c:1502 +#: commands/subscriptioncmds.c:1885 utils/cache/lsyscache.c:3642 #, c-format -msgid "table \"%s.%s\" removed from subscription \"%s\"" -msgstr "\"%s.%s\" 테이블을 \"%s\" 구독에서 삭제했습니다" +msgid "subscription \"%s\" does not exist" +msgstr "\"%s\" 이름의 구독은 없습니다." -#: commands/subscriptioncmds.c:682 +#: commands/subscriptioncmds.c:1152 #, c-format msgid "cannot set %s for enabled subscription" msgstr "구독 활성화를 위해서는 %s 설정은 할 수 없음" -#: commands/subscriptioncmds.c:717 +#: commands/subscriptioncmds.c:1227 #, c-format msgid "cannot enable subscription that does not have a slot name" msgstr "슬롯 이름 없이는 구독을 활성화 할 수 없음" -#: commands/subscriptioncmds.c:763 +#: commands/subscriptioncmds.c:1271 commands/subscriptioncmds.c:1322 #, c-format msgid "" "ALTER SUBSCRIPTION with refresh is not allowed for disabled subscriptions" @@ -9348,14 +10687,48 @@ msgstr "" "비활성화 상태인 구독에 대해서는 ALTER SUBSCRIPTION 명령으로 갱신할 수 없습니" "다" -#: commands/subscriptioncmds.c:764 +#: commands/subscriptioncmds.c:1272 #, c-format msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)." msgstr "" -"ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false) 명령을 " -"사용하세요." +"ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false) 명령을 사용" +"하세요." + +#: commands/subscriptioncmds.c:1281 commands/subscriptioncmds.c:1336 +#, c-format +msgid "" +"ALTER SUBSCRIPTION with refresh and copy_data is not allowed when two_phase " +"is enabled" +msgstr "" +"two_phase 값이 true인 상태에서는 ALTER SUBSCRIPTION 명령에서 refresh나 " +"copy_data 옵션을 사용할 수 없습니다." + +#: commands/subscriptioncmds.c:1282 +#, c-format +msgid "" +"Use ALTER SUBSCRIPTION ... SET PUBLICATION with refresh = false, or with " +"copy_data = false, or use DROP/CREATE SUBSCRIPTION." +msgstr "" +"ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH 다음 refresh = false 또는 " +"copy_data = false 구문을 추가하거나 DROP/CREATE SUBSCRIPTION 작업을 하세요." + +#. translator: %s is an SQL ALTER command +#: commands/subscriptioncmds.c:1324 +#, c-format +msgid "Use %s instead." +msgstr "대신에 %s 명령을 사용하십시오." + +#. translator: %s is an SQL ALTER command +#: commands/subscriptioncmds.c:1338 +#, c-format +msgid "" +"Use %s with refresh = false, or with copy_data = false, or use DROP/CREATE " +"SUBSCRIPTION." +msgstr "" +"%s 명령에서 refresh = false 또는 copy_data = false 옵션을 추가하거나, DROP/" +"CREATE SUBSCRIPTION 작업을 하세요." -#: commands/subscriptioncmds.c:782 +#: commands/subscriptioncmds.c:1360 #, c-format msgid "" "ALTER SUBSCRIPTION ... REFRESH is not allowed for disabled subscriptions" @@ -9363,212 +10736,292 @@ msgstr "" "비활성화 상태인 구독에 대해서는 ALTER SUBSCRIPTION ... REFRESH 명령을 허용하" "지 않습니다." -#: commands/subscriptioncmds.c:862 +#: commands/subscriptioncmds.c:1385 +#, c-format +msgid "" +"ALTER SUBSCRIPTION ... REFRESH with copy_data is not allowed when two_phase " +"is enabled" +msgstr "" +"two_phase 값이 true인 상태에서는 ALTER SUBSCRIPTION 명령에서 copy_data 옵션" +"을 사용할 수 없습니다." + +#: commands/subscriptioncmds.c:1386 +#, c-format +msgid "" +"Use ALTER SUBSCRIPTION ... REFRESH with copy_data = false, or use DROP/" +"CREATE SUBSCRIPTION." +msgstr "" +"ALTER SUBSCRIPTION ... REFRESH 다음 copy_data = false 구문을 추가하거나 DROP/" +"CREATE SUBSCRIPTION 작업을 하세요." + +#: commands/subscriptioncmds.c:1421 +#, c-format +msgid "skip WAL location (LSN %X/%X) must be greater than origin LSN %X/%X" +msgstr "" +"WAL 위치 (LSN %X/%X)를 건너뛰려면, 그 값이 원본 LSN %X/%X 보다 커야합니다" + +#: commands/subscriptioncmds.c:1506 #, c-format msgid "subscription \"%s\" does not exist, skipping" msgstr "\"%s\" 구독 없음, 건너뜀" -#: commands/subscriptioncmds.c:987 +#: commands/subscriptioncmds.c:1775 +#, c-format +msgid "dropped replication slot \"%s\" on publisher" +msgstr "발행에서 \"%s\" 복제 슬롯을 삭제했음" + +#: commands/subscriptioncmds.c:1784 commands/subscriptioncmds.c:1792 +#, c-format +msgid "could not drop replication slot \"%s\" on publisher: %s" +msgstr "발행용 \"%s\" 복제 슬롯을 삭제 할 수 없음: %s" + +#: commands/subscriptioncmds.c:1917 +#, c-format +msgid "subscription with OID %u does not exist" +msgstr "OID %u 구독 없음" + +#: commands/subscriptioncmds.c:1988 commands/subscriptioncmds.c:2113 +#, c-format +msgid "could not receive list of replicated tables from the publisher: %s" +msgstr "해당 발행자로부터 복제 테이블 목록을 구할 수 없음: %s" + +#: commands/subscriptioncmds.c:2024 #, c-format msgid "" -"could not connect to publisher when attempting to drop the replication slot " -"\"%s\"" -msgstr "\"%s\" 복제 슬롯을 삭제하는 중에는 발행 서버로 접속할 수 없음" +"subscription \"%s\" requested copy_data with origin = NONE but might copy " +"data that had a different origin" +msgstr "" +"\"%s\" 구독이 copy_data 옵션과 origin = NONE 설정을 요구했지만, copy 자료가 " +"다른 오리진 것입니다." + +#: commands/subscriptioncmds.c:2026 +#, 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] "" + +#: commands/subscriptioncmds.c:2029 +#, c-format +msgid "" +"Verify that initial data copied from the publisher tables did not come from " +"other origins." +msgstr "" +"복사된 초기 자료가 해당 발행의 다른 오리진에서 복사되었는지 확인하세요." + +#: commands/subscriptioncmds.c:2135 replication/logical/tablesync.c:876 +#: replication/pgoutput/pgoutput.c:1115 +#, c-format +msgid "" +"cannot use different column lists for table \"%s.%s\" in different " +"publications" +msgstr "" +"서로 다른 발행에서 \"%s.%s\" 테이블에 대한 서로 다른 칼럼 목록을 사용할 수 없" +"음." -#: commands/subscriptioncmds.c:989 commands/subscriptioncmds.c:1004 -#: replication/logical/tablesync.c:906 replication/logical/tablesync.c:928 +#: commands/subscriptioncmds.c:2185 #, c-format -msgid "The error was: %s" -msgstr "해당 오류: %s" +msgid "" +"could not connect to publisher when attempting to drop replication slot \"%s" +"\": %s" +msgstr "\"%s\" 복제 슬롯을 삭제하는 중에는 발행 서버로 접속할 수 없음: %s" #. translator: %s is an SQL ALTER command -#: commands/subscriptioncmds.c:991 +#: commands/subscriptioncmds.c:2188 #, c-format -msgid "Use %s to disassociate the subscription from the slot." -msgstr "구독과 슬롯을 분리할 때는 %s 명령을 사용하세요." +msgid "" +"Use %s to disable the subscription, and then use %s to disassociate it from " +"the slot." +msgstr "" +"구독을 중지하려면 %s 명령을 한 뒤, 슬롯 관계를 끊기 위해 %s 명령을 사용하세" +"요." -#: commands/subscriptioncmds.c:1002 +#: commands/subscriptioncmds.c:2219 #, c-format -msgid "could not drop the replication slot \"%s\" on publisher" -msgstr "발행용 \"%s\" 복제 슬롯을 삭제 할 수 없음" +msgid "publication name \"%s\" used more than once" +msgstr "\"%s\" 발행 이름이 여러 번 사용 됨" -#: commands/subscriptioncmds.c:1007 +#: commands/subscriptioncmds.c:2263 #, c-format -msgid "dropped replication slot \"%s\" on publisher" -msgstr "발행에서 \"%s\" 복제 슬롯을 삭제했음" +msgid "publication \"%s\" is already in subscription \"%s\"" +msgstr "\"%s\" 이름의 발행이 \"%s\" 구독 안에 이미 있습니다" -#: commands/subscriptioncmds.c:1044 +#: commands/subscriptioncmds.c:2277 #, c-format -msgid "permission denied to change owner of subscription \"%s\"" -msgstr "\"%s\" 구독 소유주를 변경할 권한이 없음" +msgid "publication \"%s\" is not in subscription \"%s\"" +msgstr "\"%s\" 발행이 \"%s\" 구독 안에 없습니다" -#: commands/subscriptioncmds.c:1046 +#: commands/subscriptioncmds.c:2288 #, c-format -msgid "The owner of a subscription must be a superuser." -msgstr "구독 소유주는 슈퍼유저여야 합니다." +msgid "cannot drop all the publications from a subscription" +msgstr "한 구독안에 있는 모든 발행은 지울 수 없음" -#: commands/subscriptioncmds.c:1161 +#: commands/subscriptioncmds.c:2345 #, c-format -msgid "could not receive list of replicated tables from the publisher: %s" -msgstr "구독에서 복제 테이블 목록을 구할 수 없음: %s" +msgid "%s requires a Boolean value or \"parallel\"" +msgstr "%s 값은 불리언 값 또는 \"parallel\" 이어야 합니다." -#: commands/tablecmds.c:228 commands/tablecmds.c:270 +#: commands/tablecmds.c:246 commands/tablecmds.c:288 #, c-format msgid "table \"%s\" does not exist" msgstr "\"%s\" 테이블 없음" -#: commands/tablecmds.c:229 commands/tablecmds.c:271 +#: commands/tablecmds.c:247 commands/tablecmds.c:289 #, c-format msgid "table \"%s\" does not exist, skipping" msgstr "\"%s\" 테이블 없음, 무시함" -#: commands/tablecmds.c:231 commands/tablecmds.c:273 +#: commands/tablecmds.c:249 commands/tablecmds.c:291 msgid "Use DROP TABLE to remove a table." msgstr "테이블을 삭제하려면, DROP TABLE 명령을 사용하세요." -#: commands/tablecmds.c:234 +#: commands/tablecmds.c:252 #, c-format msgid "sequence \"%s\" does not exist" msgstr "\"%s\" 시퀀스 없음" -#: commands/tablecmds.c:235 +#: commands/tablecmds.c:253 #, c-format msgid "sequence \"%s\" does not exist, skipping" msgstr "\"%s\" 시퀀스 없음, 무시함" -#: commands/tablecmds.c:237 +#: commands/tablecmds.c:255 msgid "Use DROP SEQUENCE to remove a sequence." msgstr "시퀀스를 삭제하려면 DROP SEQUENCE 명령을 사용하세요." -#: commands/tablecmds.c:240 +#: commands/tablecmds.c:258 #, c-format msgid "view \"%s\" does not exist" msgstr "\"%s\" 뷰(view) 없음" -#: commands/tablecmds.c:241 +#: commands/tablecmds.c:259 #, c-format msgid "view \"%s\" does not exist, skipping" msgstr "\"%s\" 뷰(view) 없음, 무시함" -#: commands/tablecmds.c:243 +#: commands/tablecmds.c:261 msgid "Use DROP VIEW to remove a view." msgstr "뷰를 삭제하려면, DROP VIEW 명령을 사용하세요." -#: commands/tablecmds.c:246 +#: commands/tablecmds.c:264 #, c-format msgid "materialized view \"%s\" does not exist" msgstr "\"%s\" 이름의 구체화된 뷰가 없음" -#: commands/tablecmds.c:247 +#: commands/tablecmds.c:265 #, c-format msgid "materialized view \"%s\" does not exist, skipping" msgstr "\"%s\" 구체화된 뷰 없음, 건너뜀" -#: commands/tablecmds.c:249 +#: commands/tablecmds.c:267 msgid "Use DROP MATERIALIZED VIEW to remove a materialized view." msgstr "구체화된 뷰를 삭제하려면, DROP MATERIALIZED VIEW 명령을 사용하세요." -#: commands/tablecmds.c:252 commands/tablecmds.c:276 commands/tablecmds.c:17231 -#: parser/parse_utilcmd.c:2172 +#: commands/tablecmds.c:270 commands/tablecmds.c:294 commands/tablecmds.c:18978 +#: parser/parse_utilcmd.c:2245 #, c-format msgid "index \"%s\" does not exist" msgstr "\"%s\" 인덱스 없음" -#: commands/tablecmds.c:253 commands/tablecmds.c:277 +#: commands/tablecmds.c:271 commands/tablecmds.c:295 #, c-format msgid "index \"%s\" does not exist, skipping" msgstr "\"%s\" 인덱스 없음, 무시함" -#: commands/tablecmds.c:255 commands/tablecmds.c:279 +#: commands/tablecmds.c:273 commands/tablecmds.c:297 msgid "Use DROP INDEX to remove an index." msgstr "인덱스를 삭제하려면, DROP INDEX 명령을 사용하세요." -#: commands/tablecmds.c:260 +#: commands/tablecmds.c:278 #, c-format msgid "\"%s\" is not a type" msgstr "\"%s\" 개체는 자료형이 아님" -#: commands/tablecmds.c:261 +#: commands/tablecmds.c:279 msgid "Use DROP TYPE to remove a type." msgstr "자료형을 삭제하려면 DROP TYPE 명령을 사용하세요." -#: commands/tablecmds.c:264 commands/tablecmds.c:12383 -#: commands/tablecmds.c:14838 +#: commands/tablecmds.c:282 commands/tablecmds.c:13730 +#: commands/tablecmds.c:16193 #, c-format msgid "foreign table \"%s\" does not exist" msgstr "\"%s\" 외부 테이블 없음" -#: commands/tablecmds.c:265 +#: commands/tablecmds.c:283 #, c-format msgid "foreign table \"%s\" does not exist, skipping" msgstr "\"%s\" 외부 테이블 없음, 건너뜀" -#: commands/tablecmds.c:267 +#: commands/tablecmds.c:285 msgid "Use DROP FOREIGN TABLE to remove a foreign table." msgstr "외부 테이블을 삭제하려면, DROP FOREIGN TABLE 명령을 사용하세요." -#: commands/tablecmds.c:620 +#: commands/tablecmds.c:700 #, c-format msgid "ON COMMIT can only be used on temporary tables" msgstr "ON COMMIT 옵션은 임시 테이블에서만 사용될 수 있습니다" -#: commands/tablecmds.c:651 +#: commands/tablecmds.c:731 #, c-format msgid "cannot create temporary table within security-restricted operation" msgstr "보안 제한 작업 내에서 임시 테이블을 만들 수 없음" -#: commands/tablecmds.c:687 commands/tablecmds.c:13742 +#: commands/tablecmds.c:767 commands/tablecmds.c:15038 #, c-format msgid "relation \"%s\" would be inherited from more than once" msgstr "\"%s\" 테이블이 여러 번 상속됨" -#: commands/tablecmds.c:868 +#: commands/tablecmds.c:955 #, c-format msgid "" "specifying a table access method is not supported on a partitioned table" msgstr "테이블 접근 방법은 파티션된 테이블에서는 사용할 수 없음" -#: commands/tablecmds.c:964 +#: commands/tablecmds.c:1048 #, c-format msgid "\"%s\" is not partitioned" msgstr "\"%s\" 파티션 된 테이블 아님" -#: commands/tablecmds.c:1058 +#: commands/tablecmds.c:1142 #, c-format msgid "cannot partition using more than %d columns" msgstr "%d개보다 많은 칼럼을 이용해서 파티션할 수 없음" -#: commands/tablecmds.c:1114 +#: commands/tablecmds.c:1198 #, c-format msgid "cannot create foreign partition of partitioned table \"%s\"" msgstr "\"%s\" 파티션된 테이블의 외부 파티션을 만들 수 없음" -#: commands/tablecmds.c:1116 +#: commands/tablecmds.c:1200 #, c-format msgid "Table \"%s\" contains indexes that are unique." msgstr "\"%s\" 테이블은 유니크 인덱스를 포함 하고 있음." -#: commands/tablecmds.c:1279 +#: commands/tablecmds.c:1365 #, c-format msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects" msgstr "DROP INDEX CONCURRENTLY 명령은 하나의 인덱스만 지울 수 있습니다" -#: commands/tablecmds.c:1283 +#: commands/tablecmds.c:1369 #, c-format msgid "DROP INDEX CONCURRENTLY does not support CASCADE" msgstr "DROP INDEX CONCURRENTLY 명령에서는 CASCADE 옵션을 사용할 수 없음" -#: commands/tablecmds.c:1384 +#: commands/tablecmds.c:1473 #, c-format msgid "cannot drop partitioned index \"%s\" concurrently" -msgstr "\"%s\" 파티션된 테이블의 인덱스에 대해서는 CONCURRENTLY 옵션을 사용할 수 없음" +msgstr "" +"\"%s\" 파티션된 테이블의 인덱스에 대해서는 CONCURRENTLY 옵션을 사용할 수 없음" -#: commands/tablecmds.c:1654 +#: commands/tablecmds.c:1761 #, c-format msgid "cannot truncate only a partitioned table" msgstr "파티션 된 테이블만 truncate 할 수 없음" -#: commands/tablecmds.c:1655 +#: commands/tablecmds.c:1762 #, c-format msgid "" "Do not specify the ONLY keyword, or use TRUNCATE ONLY on the partitions " @@ -9577,33 +11030,38 @@ msgstr "" "ONLY 옵션을 빼고 사용하거나, 하위 파티션 테이블을 대상으로 직접 TRUNCATE " "ONLY 명령을 사용하세요." -#: commands/tablecmds.c:1724 +#: commands/tablecmds.c:1835 #, c-format msgid "truncate cascades to table \"%s\"" msgstr "\"%s\" 개체의 자료도 함께 삭제됨" -#: commands/tablecmds.c:2031 +#: commands/tablecmds.c:2199 +#, c-format +msgid "cannot truncate foreign table \"%s\"" +msgstr "\"%s\" 외부 테이블에 자료를 비울 수 없음" + +#: commands/tablecmds.c:2256 #, c-format msgid "cannot truncate temporary tables of other sessions" msgstr "다른 세션의 임시 테이블 자료는 비울(truncate) 수 없습니다" -#: commands/tablecmds.c:2259 commands/tablecmds.c:13639 +#: commands/tablecmds.c:2488 commands/tablecmds.c:14935 #, c-format msgid "cannot inherit from partitioned table \"%s\"" msgstr "\"%s\" 파티션 된 테이블로부터 상속할 수 없습니다" -#: commands/tablecmds.c:2264 +#: commands/tablecmds.c:2493 #, c-format msgid "cannot inherit from partition \"%s\"" msgstr "\"%s\" 파티션 테이블입니다, 그래서 상속 대상이 될 수 없습니다" -#: commands/tablecmds.c:2272 parser/parse_utilcmd.c:2402 -#: parser/parse_utilcmd.c:2544 +#: commands/tablecmds.c:2501 parser/parse_utilcmd.c:2475 +#: parser/parse_utilcmd.c:2617 #, c-format msgid "inherited relation \"%s\" is not a table or foreign table" msgstr "상속할 \"%s\" 릴레이션(relation)은 테이블도, 외부 테이블도 아닙니다" -#: commands/tablecmds.c:2284 +#: commands/tablecmds.c:2513 #, c-format msgid "" "cannot create a temporary relation as partition of permanent relation \"%s\"" @@ -9611,148 +11069,161 @@ msgstr "" "\"%s\" 테이블은 일반 테이블입니다. 임시 테이블을 이것의 파티션 테이블로 만들 " "수 없습니다" -#: commands/tablecmds.c:2293 commands/tablecmds.c:13618 +#: commands/tablecmds.c:2522 commands/tablecmds.c:14914 #, c-format msgid "cannot inherit from temporary relation \"%s\"" msgstr "\"%s\" 임시 테이블입니다, 그래서 상속 대상이 될 수 없습니다" -#: commands/tablecmds.c:2303 commands/tablecmds.c:13626 +#: commands/tablecmds.c:2532 commands/tablecmds.c:14922 #, c-format msgid "cannot inherit from temporary relation of another session" msgstr "다른 세션의 임시 테이블입니다, 그래서 상속 대상이 될 수 없습니다" -#: commands/tablecmds.c:2357 +#: commands/tablecmds.c:2585 #, c-format msgid "merging multiple inherited definitions of column \"%s\"" msgstr "\"%s\" 칼럼이 중복되어 상속됩니다." -#: commands/tablecmds.c:2365 +#: commands/tablecmds.c:2597 #, c-format msgid "inherited column \"%s\" has a type conflict" msgstr "상위 테이블에서 지정한 \"%s\" 칼럼의 자료형들이 일치하지 않습니다" -#: commands/tablecmds.c:2367 commands/tablecmds.c:2390 -#: commands/tablecmds.c:2639 commands/tablecmds.c:2669 -#: parser/parse_coerce.c:1935 parser/parse_coerce.c:1955 -#: parser/parse_coerce.c:1975 parser/parse_coerce.c:2030 -#: parser/parse_coerce.c:2107 parser/parse_coerce.c:2141 -#: parser/parse_param.c:218 +#: 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 #, c-format msgid "%s versus %s" msgstr "%s 형과 %s 형" -#: commands/tablecmds.c:2376 +#: commands/tablecmds.c:2612 #, c-format msgid "inherited column \"%s\" has a collation conflict" msgstr "상속 받은 \"%s\" 칼럼의 정렬규칙에서 충돌합니다." -#: commands/tablecmds.c:2378 commands/tablecmds.c:2651 -#: commands/tablecmds.c:6106 +#: commands/tablecmds.c:2614 commands/tablecmds.c:2935 +#: commands/tablecmds.c:6849 #, c-format msgid "\"%s\" versus \"%s\"" msgstr "\"%s\" 형과 \"%s\" 형" -#: commands/tablecmds.c:2388 +#: commands/tablecmds.c:2626 #, c-format msgid "inherited column \"%s\" has a storage parameter conflict" msgstr "상속 받은 \"%s\" 칼럼의 스토리지 설정값에서 충돌합니다" -#: commands/tablecmds.c:2404 +#: commands/tablecmds.c:2645 commands/tablecmds.c:2969 +#, c-format +msgid "column \"%s\" has a compression method conflict" +msgstr "\"%s\" 칼럼의 압축 방법이 충돌합니다" + +#: commands/tablecmds.c:2661 #, c-format msgid "inherited column \"%s\" has a generation conflict" -msgstr "" +msgstr "상속된 \"%s\" 칼럼에 대한 생성 충돌 발생" -#: commands/tablecmds.c:2490 commands/tablecmds.c:2545 -#: commands/tablecmds.c:11188 parser/parse_utilcmd.c:1252 -#: parser/parse_utilcmd.c:1295 parser/parse_utilcmd.c:1703 -#: parser/parse_utilcmd.c:1812 +#: 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 #, c-format msgid "cannot convert whole-row table reference" msgstr "전체 로우 테이블 참조형으로 변환할 수 없음" -#: commands/tablecmds.c:2491 parser/parse_utilcmd.c:1253 +#: commands/tablecmds.c:2768 parser/parse_utilcmd.c:1299 #, c-format msgid "" "Generation expression for column \"%s\" contains a whole-row reference to " "table \"%s\"." -msgstr "\"%s\" 칼럼용 미리 계산된 칼럼 생성식에 \"%s\" 테이블 전체 로우 참조가 있습니다" +msgstr "" +"\"%s\" 칼럼용 미리 계산된 칼럼 생성식에 \"%s\" 테이블 전체 로우 참조가 있습니" +"다" -#: commands/tablecmds.c:2546 parser/parse_utilcmd.c:1296 +#: commands/tablecmds.c:2823 parser/parse_utilcmd.c:1342 #, c-format msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"." msgstr "\"%s\" 제약조건에 \"%s\" 테이블 전체 로우 참조가 있습니다" -#: commands/tablecmds.c:2625 +#: commands/tablecmds.c:2901 #, c-format msgid "merging column \"%s\" with inherited definition" msgstr "\"%s\" 칼럼을 상속된 정의와 병합하는 중" -#: commands/tablecmds.c:2629 +#: commands/tablecmds.c:2905 #, c-format msgid "moving and merging column \"%s\" with inherited definition" msgstr "\"%s\" 칼럼을 상속된 정의와 이동, 병합하는 중" -#: commands/tablecmds.c:2630 +#: commands/tablecmds.c:2906 #, c-format msgid "User-specified column moved to the position of the inherited column." msgstr "사용자 지정 칼럼이 상속된 칼럼의 위치로 이동되었습니다" -#: commands/tablecmds.c:2637 +#: commands/tablecmds.c:2917 #, c-format msgid "column \"%s\" has a type conflict" msgstr "\"%s\" 칼럼의 자료형이 충돌합니다" -#: commands/tablecmds.c:2649 +#: commands/tablecmds.c:2933 #, c-format msgid "column \"%s\" has a collation conflict" msgstr "\"%s\" 칼럼의 정렬규칙이 충돌합니다" -#: commands/tablecmds.c:2667 +#: commands/tablecmds.c:2953 #, c-format msgid "column \"%s\" has a storage parameter conflict" msgstr "\"%s\" 칼럼의 스토리지 설정값이 충돌합니다" -#: commands/tablecmds.c:2695 +#: commands/tablecmds.c:2999 commands/tablecmds.c:3086 #, c-format -msgid "child column \"%s\" specifies generation expression" -msgstr "" -"\"%s\" 칼럼은 상속 받은 칼럼임. 미리 계산된 칼럼의 생성식을 사용할 수 없음" +msgid "column \"%s\" inherits from generated column but specifies default" +msgstr "상속 받은 \"%s\" 칼럼은 미리 계산된 칼럼인데, 기본값이 설정되어 있음" -#: commands/tablecmds.c:2697 +#: commands/tablecmds.c:3004 commands/tablecmds.c:3091 #, c-format -msgid "" -"Omit the generation expression in the definition of the child table column " -"to inherit the generation expression from the parent table." +msgid "column \"%s\" inherits from generated column but specifies identity" msgstr "" +"상속 받은 \"%s\" 칼럼은 미리 계산된 칼럼인데, 일련번호 식별 옵션이 있음" -#: commands/tablecmds.c:2701 +#: commands/tablecmds.c:3012 commands/tablecmds.c:3099 #, c-format -msgid "column \"%s\" inherits from generated column but specifies default" -msgstr "상속 받은 \"%s\" 칼럼은 미리 계산된 칼럼인데, 기본값이 설정되어 있음" +msgid "child column \"%s\" specifies generation expression" +msgstr "" +"\"%s\" 칼럼은 상속 받은 칼럼임. 미리 계산된 칼럼의 생성식을 사용할 수 없음" -#: commands/tablecmds.c:2706 +#: commands/tablecmds.c:3014 commands/tablecmds.c:3101 #, c-format -msgid "column \"%s\" inherits from generated column but specifies identity" -msgstr "상속 받은 \"%s\" 칼럼은 미리 계산된 칼럼인데, 일련번호 식별 옵션이 있음" +msgid "A child table column cannot be generated unless its parent column is." +msgstr "" +"하위 테이블의 계산된 칼럼은 상위 테이블에서 이미 계산된 칼럼이어야 합니다." -#: commands/tablecmds.c:2815 +#: commands/tablecmds.c:3147 #, c-format msgid "column \"%s\" inherits conflicting generation expressions" -msgstr "" -"상속 받는 \"%s\" 칼럼에 지정된 미리 계산된 생성식이 충돌함" -"다" +msgstr "상속 받는 \"%s\" 칼럼에 지정된 미리 계산된 생성식이 충돌합니다" -#: commands/tablecmds.c:2820 +#: commands/tablecmds.c:3149 +#, c-format +msgid "To resolve the conflict, specify a generation expression explicitly." +msgstr "이 충돌을 피하려면, 명시적으로 미리 계산된 생성식을 지정하십시오." + +#: commands/tablecmds.c:3153 #, c-format msgid "column \"%s\" inherits conflicting default values" msgstr "상속 받는 \"%s\" 칼럼의 default 값이 충돌함" -#: commands/tablecmds.c:2822 +#: commands/tablecmds.c:3155 #, c-format msgid "To resolve the conflict, specify a default explicitly." msgstr "이 충돌을 피하려면, default 값을 바르게 지정하십시오." -#: commands/tablecmds.c:2868 +#: commands/tablecmds.c:3205 #, c-format msgid "" "check constraint name \"%s\" appears multiple times but with different " @@ -9760,101 +11231,109 @@ msgid "" msgstr "" "\"%s\" 체크 제약 조건 이름이 여러 번 나타나지만, 각각 다른 식으로 되어있음" -#: commands/tablecmds.c:3045 +#: commands/tablecmds.c:3418 +#, c-format +msgid "cannot move temporary tables of other sessions" +msgstr "다른 세션의 임시 테이블들은 이동할 수 없습니다" + +#: commands/tablecmds.c:3488 #, c-format msgid "cannot rename column of typed table" msgstr "칼럼 이름을 바꿀 수 없음" -#: commands/tablecmds.c:3064 +#: commands/tablecmds.c:3507 #, c-format -msgid "" -"\"%s\" is not a table, view, materialized view, composite type, index, or " -"foreign table" -msgstr "" -"\"%s\" 개체는 테이블도, 뷰도, 구체화된 뷰도, 복합 자료형도, 인덱스도, 외부 테" -"이블도 아닙니다." +msgid "cannot rename columns of relation \"%s\"" +msgstr "\"%s\" 릴레이션의 칼럼 이름을 바꿀 수 없음" -#: commands/tablecmds.c:3158 +#: commands/tablecmds.c:3602 #, c-format msgid "inherited column \"%s\" must be renamed in child tables too" msgstr "하위 테이블에서도 상속된 \"%s\" 칼럼의 이름을 바꾸어야 함" -#: commands/tablecmds.c:3190 +#: commands/tablecmds.c:3634 #, c-format msgid "cannot rename system column \"%s\"" msgstr "\"%s\" 이름의 칼럼은 시스템 칼럼입니다, 이름을 바꿀 수 없습니다" -#: commands/tablecmds.c:3205 +#: commands/tablecmds.c:3649 #, c-format msgid "cannot rename inherited column \"%s\"" msgstr "\"%s\" 이름의 칼럼은 상속 받은 칼럼입니다, 이름을 바꿀 수 없습니다" -#: commands/tablecmds.c:3357 +#: commands/tablecmds.c:3801 #, c-format msgid "inherited constraint \"%s\" must be renamed in child tables too" msgstr "" "하위 테이블에서도 상속된 \"%s\" 제약조건은 하위 테이블에서도 이름이 바뀌어야 " "함" -#: commands/tablecmds.c:3364 +#: commands/tablecmds.c:3808 #, c-format msgid "cannot rename inherited constraint \"%s\"" msgstr "\"%s\" 상속된 제약조건은 이름을 바꿀 수 없습니다" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:3597 +#: commands/tablecmds.c:4105 #, c-format msgid "" "cannot %s \"%s\" because it is being used by active queries in this session" msgstr "이 세션의 활성 쿼리에서 사용 중이므로 %s \"%s\" 작업을 할 수 없음" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:3606 +#: commands/tablecmds.c:4114 #, c-format msgid "cannot %s \"%s\" because it has pending trigger events" msgstr "보류 중인 트리거 이벤트가 있으므로 %s \"%s\" 작업을 할 수 없음" -#: commands/tablecmds.c:4237 commands/tablecmds.c:4252 +#: commands/tablecmds.c:4581 +#, c-format +msgid "cannot alter partition \"%s\" with an incomplete detach" +msgstr "" +"\"%s\" 파티션 테이블은 불완전한 detach 상태이기에 alter 작업을 할 수 없음" + +#: commands/tablecmds.c:4774 commands/tablecmds.c:4789 #, c-format msgid "cannot change persistence setting twice" msgstr "로그 사용/미사용 옵션을 중복 해서 지정했음" -#: commands/tablecmds.c:4969 +#: commands/tablecmds.c:4810 +#, c-format +msgid "cannot change access method of a partitioned table" +msgstr "파티션 된 테이블의 접근 방법은 바꿀 수 없음" + +#: commands/tablecmds.c:4816 +#, c-format +msgid "cannot have multiple SET ACCESS METHOD subcommands" +msgstr "다중 SET ACCESS METHOD 구문은 사용할 수 없음" + +#: commands/tablecmds.c:5537 #, c-format msgid "cannot rewrite system relation \"%s\"" msgstr "\"%s\" 시스템 릴레이션을 다시 쓰기(rewrite) 할 수 없음" -#: commands/tablecmds.c:4975 +#: commands/tablecmds.c:5543 #, c-format msgid "cannot rewrite table \"%s\" used as a catalog table" msgstr "카탈로그 테이블로 사용되어 \"%s\" 테이블을 rewrite 못함" -#: commands/tablecmds.c:4985 +#: commands/tablecmds.c:5553 #, c-format msgid "cannot rewrite temporary tables of other sessions" msgstr "다른 세션의 임시 테이블을 다시 쓰기(rewrite) 할 수 없음" -#: commands/tablecmds.c:5274 -#, c-format -msgid "rewriting table \"%s\"" -msgstr "\"%s\" 파일 다시 쓰는 중" - -#: commands/tablecmds.c:5278 -#, c-format -msgid "verifying table \"%s\"" -msgstr "\"%s\" 파일 검사 중" - -#: commands/tablecmds.c:5443 +#: commands/tablecmds.c:6048 #, c-format msgid "column \"%s\" of relation \"%s\" contains null values" msgstr "\"%s\" 열(해당 릴레이션 \"%s\")의 자료 가운데 null 값이 있습니다" -#: commands/tablecmds.c:5460 +#: commands/tablecmds.c:6065 #, c-format msgid "check constraint \"%s\" of relation \"%s\" is violated by some row" -msgstr "\"%s\" 체크 제약 조건(해당 릴레이션 \"%s\")을 위반하는 몇몇 자료가 있습니다" +msgstr "" +"\"%s\" 체크 제약 조건(해당 릴레이션 \"%s\")을 위반하는 몇몇 자료가 있습니다" -#: commands/tablecmds.c:5479 partitioning/partbounds.c:3235 +#: commands/tablecmds.c:6084 partitioning/partbounds.c:3388 #, c-format msgid "" "updated partition constraint for default partition \"%s\" would be violated " @@ -9862,311 +11341,270 @@ msgid "" msgstr "" "몇몇 자료가 \"%s\" 기본 파티션용에서 변경된 파티션 제약조건을 위배한 것 같음" -#: commands/tablecmds.c:5485 +#: commands/tablecmds.c:6090 #, c-format msgid "partition constraint of relation \"%s\" is violated by some row" msgstr "\"%s\" 릴레이션의 파티션 제약 조건을 위반하는 몇몇 자료가 있습니다" -#: commands/tablecmds.c:5632 commands/trigger.c:1200 commands/trigger.c:1306 -#, c-format -msgid "\"%s\" is not a table, view, or foreign table" -msgstr "\"%s\" 개체는 테이블, 뷰, 외부 테이블 그 어느 것도 아닙니다" - -#: commands/tablecmds.c:5635 -#, c-format -msgid "\"%s\" is not a table, view, materialized view, or index" -msgstr "\"%s\" 개체는 테이블, 뷰, 구체화된 뷰, 인덱스 그 어느 것도 아닙니다" - -#: commands/tablecmds.c:5641 -#, c-format -msgid "\"%s\" is not a table, materialized view, or index" -msgstr "\"%s\" 개체는 테이블, 구체화된 뷰, 인덱스 그 어느 것도 아닙니다" - -#: commands/tablecmds.c:5644 -#, c-format -msgid "\"%s\" is not a table, materialized view, or foreign table" -msgstr "\"%s\" 개체는 테이블, 구체화된 뷰, 외부 테이블 그 어느 것도 아닙니다." - -#: commands/tablecmds.c:5647 -#, c-format -msgid "\"%s\" is not a table or foreign table" -msgstr "\"%s\" 개체는 테이블도 외부 테이블도 아닙니다" - -#: commands/tablecmds.c:5650 +#. translator: %s is a group of some SQL keywords +#: commands/tablecmds.c:6352 #, c-format -msgid "\"%s\" is not a table, composite type, or foreign table" -msgstr "\"%s\" 개체는 테이블, 복합 자료형, 외부 테이블 그 어느 것도 아닙니다." +msgid "ALTER action %s cannot be performed on relation \"%s\"" +msgstr "%s ALTER 작업은 \"%s\" 릴레이션 대상으로 수행할 수 없음" -#: commands/tablecmds.c:5653 -#, c-format -msgid "\"%s\" is not a table, materialized view, index, or foreign table" -msgstr "" -"\"%s\" 개체는 테이블, 구체화된 뷰, 인덱스, 외부 테이블 그 어느 것도 아닙니다." - -#: commands/tablecmds.c:5663 -#, c-format -msgid "\"%s\" is of the wrong type" -msgstr "\"%s\" 개체는 잘못된 개체형입니다." - -#: commands/tablecmds.c:5866 commands/tablecmds.c:5873 +#: commands/tablecmds.c:6607 commands/tablecmds.c:6614 #, c-format msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it" msgstr "\"%s\" 자료형 변경할 수 없음(\"%s.%s\" 칼럼에서 해당 형식을 사용함)" -#: commands/tablecmds.c:5880 +#: commands/tablecmds.c:6621 #, c-format msgid "" "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type" msgstr "" "\"%s\" 외부 테이블을 변경할 수 없음(\"%s.%s\" 칼럼에서 해당 로우 형을 사용함)" -#: commands/tablecmds.c:5887 +#: commands/tablecmds.c:6628 #, c-format msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type" msgstr "" "\"%s\" 테이블을 변경할 수 없음(\"%s.%s\" 칼럼에서 해당 로우 형식을 사용함)" -#: commands/tablecmds.c:5943 +#: commands/tablecmds.c:6684 #, c-format msgid "cannot alter type \"%s\" because it is the type of a typed table" msgstr "" "\"%s\" 자료형을 변경할 수 없음, 이 자료형은 typed 테이블의 자료형이기 때문" -#: commands/tablecmds.c:5945 +#: commands/tablecmds.c:6686 #, c-format msgid "Use ALTER ... CASCADE to alter the typed tables too." msgstr "" "이 개체와 관계된 모든 개체들을 함께 변경하려면 ALTER ... CASCADE 명령을 사용" "하십시오" -#: commands/tablecmds.c:5991 +#: commands/tablecmds.c:6732 #, c-format msgid "type %s is not a composite type" msgstr "%s 자료형은 복합 자료형이 아닙니다" -#: commands/tablecmds.c:6018 +#: commands/tablecmds.c:6759 #, c-format msgid "cannot add column to typed table" msgstr "typed 테이블에는 칼럼을 추가 할 수 없음" -#: commands/tablecmds.c:6069 +#: commands/tablecmds.c:6812 #, c-format msgid "cannot add column to a partition" msgstr "파티션 테이블에는 칼럼을 추가 할 수 없습니다" -#: commands/tablecmds.c:6098 commands/tablecmds.c:13869 +#: commands/tablecmds.c:6841 commands/tablecmds.c:15165 #, c-format msgid "child table \"%s\" has different type for column \"%s\"" msgstr "" "\"%s\" 상속된 테이블의 \"%s\" 열 자료형이 상위 테이블의 자료형과 틀립니다" -#: commands/tablecmds.c:6104 commands/tablecmds.c:13876 +#: commands/tablecmds.c:6847 commands/tablecmds.c:15172 #, c-format msgid "child table \"%s\" has different collation for column \"%s\"" msgstr "" "\"%s\" 상속된 테이블의 \"%s\" 칼럼 정렬규칙이 상위 테이블의 정렬규칙과 틀립니" "다" -#: commands/tablecmds.c:6118 +#: commands/tablecmds.c:6865 #, c-format msgid "merging definition of column \"%s\" for child \"%s\"" msgstr "\"%s\" 열(\"%s\" 하위)의 정의를 병합하는 중" -#: commands/tablecmds.c:6161 +#: commands/tablecmds.c:6908 #, c-format msgid "cannot recursively add identity column to table that has child tables" msgstr "하위 테이블에 재귀적으로 식별 칼럼을 추가할 수는 없음" -#: commands/tablecmds.c:6398 +#: commands/tablecmds.c:7159 #, c-format msgid "column must be added to child tables too" msgstr "하위 테이블에도 칼럼을 추가해야 함" -#: commands/tablecmds.c:6476 +#: commands/tablecmds.c:7237 #, c-format msgid "column \"%s\" of relation \"%s\" already exists, skipping" msgstr "\"%s\" 이름의 칼럼이 \"%s\" 릴레이션에 이미 있습니다, 건너뜀" -#: commands/tablecmds.c:6483 +#: commands/tablecmds.c:7244 #, c-format msgid "column \"%s\" of relation \"%s\" already exists" msgstr "\"%s\" 이름의 칼럼은 \"%s\" 릴레이션에 이미 있습니다" -#: commands/tablecmds.c:6549 commands/tablecmds.c:10826 +#: commands/tablecmds.c:7310 commands/tablecmds.c:12094 #, c-format msgid "" "cannot remove constraint from only the partitioned table when partitions " "exist" msgstr "하위 테이블이 있는 경우, 상위 테이블의 제약조건만 지울 수는 없음" -#: commands/tablecmds.c:6550 commands/tablecmds.c:6854 -#: commands/tablecmds.c:7834 commands/tablecmds.c:10827 +#: commands/tablecmds.c:7311 commands/tablecmds.c:7628 +#: commands/tablecmds.c:8593 commands/tablecmds.c:12095 #, c-format msgid "Do not specify the ONLY keyword." msgstr "ONLY 옵션을 빼고 사용하세요." -#: commands/tablecmds.c:6587 commands/tablecmds.c:6780 -#: commands/tablecmds.c:6922 commands/tablecmds.c:7036 -#: commands/tablecmds.c:7130 commands/tablecmds.c:7189 -#: commands/tablecmds.c:7291 commands/tablecmds.c:7457 -#: commands/tablecmds.c:7527 commands/tablecmds.c:7620 -#: commands/tablecmds.c:10981 commands/tablecmds.c:12406 +#: 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 #, c-format msgid "cannot alter system column \"%s\"" msgstr "\"%s\" 칼럼은 시스템 칼럼입니다. 그래서 변경될 수 없습니다" -#: commands/tablecmds.c:6593 commands/tablecmds.c:6928 +#: commands/tablecmds.c:7354 commands/tablecmds.c:7702 #, c-format msgid "column \"%s\" of relation \"%s\" is an identity column" msgstr "\"%s\" 칼럼(해당 테이블: \"%s\")은 식별 칼럼입니다." -#: commands/tablecmds.c:6629 +#: commands/tablecmds.c:7397 #, c-format msgid "column \"%s\" is in a primary key" msgstr "\"%s\" 칼럼은 기본키 칼럼입니다" -#: commands/tablecmds.c:6651 +#: commands/tablecmds.c:7402 +#, c-format +msgid "column \"%s\" is in index used as replica identity" +msgstr "\"%s\" 칼럼 대상 인덱스는 복제 식별자로 사용 됨" + +#: commands/tablecmds.c:7425 #, c-format msgid "column \"%s\" is marked NOT NULL in parent table" msgstr "파티션 테이블에서 \"%s\" 칼럼은 NOT NULL 속성으로 되어 있습니다" -#: commands/tablecmds.c:6851 commands/tablecmds.c:8293 +#: commands/tablecmds.c:7625 commands/tablecmds.c:9077 #, c-format msgid "constraint must be added to child tables too" msgstr "하위 테이블에도 제약 조건을 추가해야 함" -#: commands/tablecmds.c:6852 +#: commands/tablecmds.c:7626 #, c-format msgid "Column \"%s\" of relation \"%s\" is not already NOT NULL." msgstr "\"%s\" 칼럼(해당 릴레이션: \"%s\")은 이미 NOT NULL 속성이 없습니다." -#: commands/tablecmds.c:6887 -#, c-format -msgid "" -"existing constraints on column \"%s.%s\" are sufficient to prove that it " -"does not contain nulls" -msgstr "" - -#: commands/tablecmds.c:6930 +#: commands/tablecmds.c:7704 #, c-format msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY instead." msgstr "" "대신에, ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY 명령을 사용하세요." -#: commands/tablecmds.c:6935 +#: commands/tablecmds.c:7709 #, c-format msgid "column \"%s\" of relation \"%s\" is a generated column" msgstr "\"%s\" 칼럼(해당 테이블: \"%s\")은 계산된 칼럼입니다." -#: commands/tablecmds.c:6938 +#: commands/tablecmds.c:7712 #, c-format msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION instead." msgstr "" "대신에, ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION 명령을 사용하세요." -#: commands/tablecmds.c:7047 +#: commands/tablecmds.c:7821 #, c-format msgid "" "column \"%s\" of relation \"%s\" must be declared NOT NULL before identity " "can be added" msgstr "" -"식별자 옵션을 사용하려면, \"%s\" 칼럼(해당 릴레이션: \"%s\")에 NOT NULL " -"옵션이 있어야 합니다." +"식별자 옵션을 사용하려면, \"%s\" 칼럼(해당 릴레이션: \"%s\")에 NOT NULL 옵션" +"이 있어야 합니다." -#: commands/tablecmds.c:7053 +#: commands/tablecmds.c:7827 #, c-format msgid "column \"%s\" of relation \"%s\" is already an identity column" msgstr "\"%s\" 이름의 칼럼(해당 릴레이션: \"%s\")은 이미 식별 칼럼입니다" -#: commands/tablecmds.c:7059 +#: commands/tablecmds.c:7833 #, c-format msgid "column \"%s\" of relation \"%s\" already has a default value" msgstr "\"%s\" 이름의 칼럼(해당 릴레이션: \"%s\")은 이미 default 입니다" -#: commands/tablecmds.c:7136 commands/tablecmds.c:7197 +#: commands/tablecmds.c:7910 commands/tablecmds.c:7971 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column" msgstr "\"%s\" 이름의 칼럼(해당 릴레이션: \"%s\")은 식별 칼럼이 아닙니다" -#: commands/tablecmds.c:7202 +#: commands/tablecmds.c:7976 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column, skipping" msgstr "\"%s\" 이름의 칼럼(해당 릴레이션: \"%s\")은 식별 칼럼이 아님, 건너뜀" -#: commands/tablecmds.c:7261 +#: commands/tablecmds.c:8029 +#, c-format +msgid "ALTER TABLE / DROP EXPRESSION must be applied to child tables too" +msgstr "ALTER TABLE / DROP EXPRESSION 작업은 하위 테이블에도 적용되어야함" + +#: commands/tablecmds.c:8051 #, c-format msgid "cannot drop generation expression from inherited column" msgstr "상속 받은 칼럼에서는 미리 계산된 표현식을 못 없앰" -#: commands/tablecmds.c:7299 +#: commands/tablecmds.c:8090 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column" msgstr "\"%s\" 칼럼(해당 릴레이션: \"%s\")은 미리 계산된 칼럼이 아님" -#: commands/tablecmds.c:7304 +#: commands/tablecmds.c:8095 #, c-format msgid "" "column \"%s\" of relation \"%s\" is not a stored generated column, skipping" msgstr "\"%s\" 칼럼(해당 릴레이션: \"%s\")은 미리 계산된 칼럼이 아님, 건너뜀" -#: commands/tablecmds.c:7404 +#: commands/tablecmds.c:8168 #, c-format msgid "cannot refer to non-index column by number" -msgstr "" +msgstr "숫자로 인덱스 사용하지 않는 칼럼을 참조할 수 없음" -#: commands/tablecmds.c:7447 +#: commands/tablecmds.c:8211 #, c-format msgid "column number %d of relation \"%s\" does not exist" msgstr "%d번째 칼럼이 없습니다. 해당 릴레이션: \"%s\"" -#: commands/tablecmds.c:7466 +#: commands/tablecmds.c:8230 #, c-format msgid "cannot alter statistics on included column \"%s\" of index \"%s\"" msgstr "" "\"%s\" 포함된 칼럼 (해당 인덱스: \"%s\") 관련 통계정보를 수정할 수 없음" -#: commands/tablecmds.c:7471 +#: commands/tablecmds.c:8235 #, c-format msgid "cannot alter statistics on non-expression column \"%s\" of index \"%s\"" msgstr "" "\"%s\" 비표현식 칼럼 (해당 인덱스: \"%s\") 관련 통계정보를 수정할 수 없음" -#: commands/tablecmds.c:7473 +#: commands/tablecmds.c:8237 #, c-format msgid "Alter statistics on table column instead." msgstr "대신에 테이블 칼럼 대상으로 통계정보를 수정하세요." -#: commands/tablecmds.c:7600 -#, c-format -msgid "invalid storage type \"%s\"" -msgstr "잘못된 STORAGE 값: \"%s\"" - -#: commands/tablecmds.c:7632 -#, c-format -msgid "column data type %s can only have storage PLAIN" -msgstr "%s 자료형의 column의 STORAGE 값은 반드시 PLAIN 이어야합니다" - -#: commands/tablecmds.c:7714 +#: commands/tablecmds.c:8472 #, c-format msgid "cannot drop column from typed table" msgstr "typed 테이블에서 칼럼을 삭제할 수 없음" -#: commands/tablecmds.c:7773 +#: commands/tablecmds.c:8531 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist, skipping" msgstr "\"%s\" 칼럼은 \"%s\" 릴레이션에 없음, 건너뜀" -#: commands/tablecmds.c:7786 +#: commands/tablecmds.c:8544 #, c-format msgid "cannot drop system column \"%s\"" msgstr "\"%s\" 칼럼은 시스템 칼럼입니다, 삭제될 수 없습니다" -#: commands/tablecmds.c:7796 +#: commands/tablecmds.c:8554 #, c-format msgid "cannot drop inherited column \"%s\"" msgstr "\"%s\" 칼럼은 상속받은 칼럼입니다, 삭제될 수 없습니다" -#: commands/tablecmds.c:7809 +#: commands/tablecmds.c:8567 #, c-format msgid "" "cannot drop column \"%s\" because it is part of the partition key of " @@ -10174,14 +11612,14 @@ msgid "" msgstr "" "\"%s\" 칼럼은 \"%s\" 릴레이션의 파티션 키로 사용되고 있어 삭제 될 수 없음" -#: commands/tablecmds.c:7833 +#: commands/tablecmds.c:8592 #, c-format msgid "" "cannot drop column from only the partitioned table when partitions exist" msgstr "" "파티션 테이블이 있는 파티션된 테이블에서 그 테이블만 칼럼을 삭제 할 수 없음" -#: commands/tablecmds.c:8014 +#: commands/tablecmds.c:8797 #, c-format msgid "" "ALTER TABLE / ADD CONSTRAINT USING INDEX is not supported on partitioned " @@ -10190,7 +11628,7 @@ msgstr "" "ALTER TABLE / ADD CONSTRAINT USING INDEX 작업은 파티션 된 테이블 대상으로는 " "지원하지 않음" -#: commands/tablecmds.c:8039 +#: commands/tablecmds.c:8822 #, c-format msgid "" "ALTER TABLE / ADD CONSTRAINT USING INDEX will rename index \"%s\" to \"%s\"" @@ -10198,14 +11636,16 @@ msgstr "" "ALTER TABLE / ADD CONSTRAINT USING INDEX 작업은 \"%s\" 인덱스를 \"%s\" 이름으" "로 바꿀 것입니다." -#: commands/tablecmds.c:8373 +#: commands/tablecmds.c:9159 #, c-format msgid "" "cannot use ONLY for foreign key on partitioned table \"%s\" referencing " "relation \"%s\"" msgstr "" +"\"%s\" 파티션 상위 테이블의 참조키에는 ONLY 옵션을 사용할 수 없음. 이 테이블" +"은 \"%s\" 릴레이션을 참조 함" -#: commands/tablecmds.c:8379 +#: commands/tablecmds.c:9165 #, c-format msgid "" "cannot add NOT VALID foreign key on partitioned table \"%s\" referencing " @@ -10214,22 +11654,22 @@ msgstr "" "\"%s\" 파타션된 테이블에 NOT VALID 참조키를 추가할 수 없음 (참조 하는 테이" "블: \"%s\")" -#: commands/tablecmds.c:8382 +#: commands/tablecmds.c:9168 #, c-format msgid "This feature is not yet supported on partitioned tables." msgstr "이 기능은 파티션 된 테이블 대상으로는 아직 지원하지 않습니다." -#: commands/tablecmds.c:8389 commands/tablecmds.c:8794 +#: commands/tablecmds.c:9175 commands/tablecmds.c:9631 #, c-format msgid "referenced relation \"%s\" is not a table" msgstr "참조된 \"%s\" 릴레이션은 테이블이 아닙니다" -#: commands/tablecmds.c:8412 +#: commands/tablecmds.c:9198 #, c-format msgid "constraints on permanent tables may reference only permanent tables" msgstr "영구 저장용 테이블의 제약 조건은 영구 저장용 테이블을 참조 합니다." -#: commands/tablecmds.c:8419 +#: commands/tablecmds.c:9205 #, c-format msgid "" "constraints on unlogged tables may reference only permanent or unlogged " @@ -10238,132 +11678,155 @@ msgstr "" "unlogged 테이블의 제약 조건은 영구 저장용 테이블 또는 unlogged 테이블을 참조" "합니다." -#: commands/tablecmds.c:8425 +#: commands/tablecmds.c:9211 #, c-format msgid "constraints on temporary tables may reference only temporary tables" msgstr "임시 테이블의 제약 조건은 임시 테이블에 대해서만 참조할 것입니다." -#: commands/tablecmds.c:8429 +#: commands/tablecmds.c:9215 #, c-format msgid "" "constraints on temporary tables must involve temporary tables of this session" msgstr "" "임시 테이블의 제약 조건은 이 세션용 임시 테이블에 대해서만 적용 됩니다." -#: commands/tablecmds.c:8495 commands/tablecmds.c:8501 +#: commands/tablecmds.c:9279 commands/tablecmds.c:9285 #, c-format msgid "" "invalid %s action for foreign key constraint containing generated column" msgstr "계산된 칼럼을 포함하는 참조키 제약조건용 %s 액션은 잘못 되었음" -#: commands/tablecmds.c:8517 +#: commands/tablecmds.c:9301 #, c-format msgid "number of referencing and referenced columns for foreign key disagree" msgstr "참조키(foreign key) disagree를 위한 참조하는, 또는 참조되는 열 수" -#: commands/tablecmds.c:8624 +#: commands/tablecmds.c:9408 #, c-format msgid "foreign key constraint \"%s\" cannot be implemented" msgstr "\"%s\" 참조키(foreign key) 제약 조건은 구현되어질 수 없습니다" -#: commands/tablecmds.c:8626 +#: commands/tablecmds.c:9410 #, c-format msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s." msgstr "" "\"%s\" 열과 \"%s\" 열 인덱스는 함께 사용할 수 없는 자료형입니다: %s and %s." -#: commands/tablecmds.c:8989 commands/tablecmds.c:9382 -#: parser/parse_utilcmd.c:764 parser/parse_utilcmd.c:893 +#: commands/tablecmds.c:9567 +#, 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:9841 commands/tablecmds.c:10311 +#: parser/parse_utilcmd.c:791 parser/parse_utilcmd.c:920 #, c-format msgid "foreign key constraints are not supported on foreign tables" msgstr "참조키 제약 조건은 외부 테이블에서는 사용할 수 없음" -#: commands/tablecmds.c:9748 commands/tablecmds.c:9911 -#: commands/tablecmds.c:10783 commands/tablecmds.c:10858 +#: commands/tablecmds.c:10864 commands/tablecmds.c:11142 +#: commands/tablecmds.c:12051 commands/tablecmds.c:12126 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist" msgstr "\"%s\" 제약 조건이 \"%s\" 릴레이션에 없습니다." -#: commands/tablecmds.c:9755 +#: commands/tablecmds.c:10871 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint" msgstr "\"%s\" 제약 조건(해당 테이블: \"%s\")은 참조키 제약조건이 아닙니다." -#: commands/tablecmds.c:9919 +#: commands/tablecmds.c:10909 +#, c-format +msgid "cannot alter constraint \"%s\" on relation \"%s\"" +msgstr "\"%s\" 제약 조건(해당 테이블: \"%s\")을 변경할 수 없음" + +#: commands/tablecmds.c:10912 +#, c-format +msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"." +msgstr "" +"\"%s\" 제약 조건은 \"%s\" 제약 조건에서 파생되었음, 해당 릴레이션: \"%s\"" + +#: commands/tablecmds.c:10914 +#, c-format +msgid "You may alter the constraint it derives from instead." +msgstr "대신에, 원 제약 조건을 변경 하세요." + +#: commands/tablecmds.c:11150 #, c-format msgid "" "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint" msgstr "" "\"%s\" 제약 조건(해당 테이블: \"%s\")은 참조키도 체크 제약 조건도 아닙니다." -#: commands/tablecmds.c:9997 +#: commands/tablecmds.c:11227 #, c-format msgid "constraint must be validated on child tables too" msgstr "하위 테이블에도 제약 조건이 유효해야 함" -#: commands/tablecmds.c:10081 +#: commands/tablecmds.c:11314 #, c-format msgid "column \"%s\" referenced in foreign key constraint does not exist" msgstr "참조키(foreign key) 제약 조건에서 참조하는 \"%s\" 칼럼이 없음" -#: commands/tablecmds.c:10086 +#: commands/tablecmds.c:11320 +#, c-format +msgid "system columns cannot be used in foreign keys" +msgstr "시스템 칼럼은 참조키로 사용될 수 없음" + +#: commands/tablecmds.c:11324 #, c-format msgid "cannot have more than %d keys in a foreign key" msgstr "참조키(foreign key)에서 %d 키 개수보다 많이 가질 수 없음" -#: commands/tablecmds.c:10151 +#: commands/tablecmds.c:11389 #, c-format msgid "cannot use a deferrable primary key for referenced table \"%s\"" msgstr "참조되는 \"%s\" 테이블의 지연 가능한 기본키를 사용할 수 없음" -#: commands/tablecmds.c:10168 +#: commands/tablecmds.c:11406 #, c-format msgid "there is no primary key for referenced table \"%s\"" msgstr "참조되는 \"%s\" 테이블에는 기본키(primary key)가 없습니다" -#: commands/tablecmds.c:10233 +#: commands/tablecmds.c:11470 #, c-format msgid "foreign key referenced-columns list must not contain duplicates" msgstr "참조키의 참조 칼럼 목록에 칼럼이 중복되면 안됩니다" -#: commands/tablecmds.c:10327 +#: commands/tablecmds.c:11562 #, c-format msgid "cannot use a deferrable unique constraint for referenced table \"%s\"" msgstr "참조되는 \"%s\" 테이블의 지연 가능한 유니크 제약 조건을 사용할 수 없음" -#: commands/tablecmds.c:10332 +#: commands/tablecmds.c:11567 #, c-format msgid "" "there is no unique constraint matching given keys for referenced table \"%s\"" msgstr "" "참조되는 \"%s\" 테이블을 위한 주워진 키와 일치하는 고유 제약 조건이 없습니다" -#: commands/tablecmds.c:10420 -#, c-format -msgid "validating foreign key constraint \"%s\"" -msgstr "\"%s\" 참조키 제약 조건 검사 중" - -#: commands/tablecmds.c:10739 +#: commands/tablecmds.c:12007 #, c-format msgid "cannot drop inherited constraint \"%s\" of relation \"%s\"" msgstr "상속된 \"%s\" 제약 조건(해당 테이블: \"%s\")을 삭제할 수 없음" -#: commands/tablecmds.c:10789 +#: commands/tablecmds.c:12057 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping" msgstr "\"%s\" 제약 조건(해당 테이블: \"%s\")이 없음, 건너뜀" -#: commands/tablecmds.c:10965 +#: commands/tablecmds.c:12233 #, c-format msgid "cannot alter column type of typed table" msgstr "typed 테이블의 칼럼 자료형은 변경할 수 없음" -#: commands/tablecmds.c:10992 +#: commands/tablecmds.c:12260 #, c-format msgid "cannot alter inherited column \"%s\"" msgstr "\"%s\" 이름의 칼럼은 상속 받은 칼럼입니다, 이름을 바꿀 수 없습니다" -#: commands/tablecmds.c:11001 +#: commands/tablecmds.c:12269 #, c-format msgid "" "cannot alter column \"%s\" because it is part of the partition key of " @@ -10372,7 +11835,7 @@ msgstr "" "\"%s\" 칼럼은 \"%s\" 테이블의 파티션 키 가운데 하나이기 때문에, alter 작업" "을 할 수 없음" -#: commands/tablecmds.c:11051 +#: commands/tablecmds.c:12319 #, c-format msgid "" "result of USING clause for column \"%s\" cannot be cast automatically to " @@ -10380,203 +11843,192 @@ msgid "" msgstr "" "\"%s\" 칼럼에서 쓰인 USING 절의 결과가 %s 자료형으로 자동 형변환을 할 수 없음" -#: commands/tablecmds.c:11054 +#: commands/tablecmds.c:12322 #, c-format msgid "You might need to add an explicit cast." msgstr "명시적 형변환을 해야할 것 같습니다." -#: commands/tablecmds.c:11058 +#: commands/tablecmds.c:12326 #, 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:11061 +#: commands/tablecmds.c:12329 #, c-format msgid "You might need to specify \"USING %s::%s\"." msgstr "\"USING %s::%s\" 구문을 추가해야 할 것 같습니다." -#: commands/tablecmds.c:11161 +#: commands/tablecmds.c:12428 #, c-format msgid "cannot alter inherited column \"%s\" of relation \"%s\"" msgstr "" "\"%s\" 칼럼은 \"%s\" 테이블의 상속된 칼럼이기에 alter 작업을 할 수 없음" -#: commands/tablecmds.c:11189 +#: commands/tablecmds.c:12457 #, c-format msgid "USING expression contains a whole-row table reference." msgstr "USING 표현식에서 전체 로우 테이블 참조를 포함하고 있습니다." -#: commands/tablecmds.c:11200 +#: commands/tablecmds.c:12468 #, c-format msgid "type of inherited column \"%s\" must be changed in child tables too" msgstr "하위 테이블에서도 상속된 \"%s\" 칼럼의 형식을 바꾸어야 함" -#: commands/tablecmds.c:11325 +#: commands/tablecmds.c:12593 #, c-format msgid "cannot alter type of column \"%s\" twice" msgstr "\"%s\" 칼럼은 시스템 칼럼입니다. 그래서 변경될 수 없습니다" -#: commands/tablecmds.c:11363 +#: commands/tablecmds.c:12631 #, c-format msgid "" "generation expression for column \"%s\" cannot be cast automatically to type " "%s" msgstr "\"%s\" 칼럼의 생성 구문은 %s 형으로 자동 형변환할 수 없음" -#: commands/tablecmds.c:11368 +#: commands/tablecmds.c:12636 #, c-format msgid "default for column \"%s\" cannot be cast automatically to type %s" msgstr "\"%s\" 칼럼의 기본 값을 %s 형으로 형변환할 수 없음" -#: commands/tablecmds.c:11446 -#, c-format -msgid "cannot alter type of a column used by a generated column" -msgstr "미리 계산된 칼럼의 자료형을 바꿀 수 없음" - -#: commands/tablecmds.c:11447 -#, c-format -msgid "Column \"%s\" is used by generated column \"%s\"." -msgstr "\"%s\" 칼럼은 미리 계산된 칼럼인 \"%s\"에서 사용되고 있음." - -#: commands/tablecmds.c:11468 +#: commands/tablecmds.c:12717 #, c-format msgid "cannot alter type of a column used by a view or rule" msgstr "뷰 또는 규칙에서 사용하는 칼럼의 형식을 변경할 수 없음" -#: commands/tablecmds.c:11469 commands/tablecmds.c:11488 -#: commands/tablecmds.c:11506 +#: commands/tablecmds.c:12718 commands/tablecmds.c:12737 +#: commands/tablecmds.c:12755 #, c-format msgid "%s depends on column \"%s\"" msgstr "%s 의존대상 열: \"%s\"" -#: commands/tablecmds.c:11487 +#: commands/tablecmds.c:12736 #, c-format msgid "cannot alter type of a column used in a trigger definition" msgstr "트리거 정의에서 사용하는 칼럼의 자료형을 변경할 수 없음" -#: commands/tablecmds.c:11505 +#: commands/tablecmds.c:12754 #, c-format msgid "cannot alter type of a column used in a policy definition" msgstr "정책 정의에서 사용하는 칼럼의 자료형을 변경할 수 없음" -#: commands/tablecmds.c:12514 commands/tablecmds.c:12526 +#: commands/tablecmds.c:12785 +#, c-format +msgid "cannot alter type of a column used by a generated column" +msgstr "미리 계산된 칼럼의 자료형을 바꿀 수 없음" + +#: commands/tablecmds.c:12786 +#, c-format +msgid "Column \"%s\" is used by generated column \"%s\"." +msgstr "\"%s\" 칼럼은 미리 계산된 칼럼인 \"%s\"에서 사용되고 있음." + +#: commands/tablecmds.c:13861 commands/tablecmds.c:13873 #, c-format msgid "cannot change owner of index \"%s\"" msgstr "\"%s\" 인덱스의 소유주를 바꿀 수 없음" -#: commands/tablecmds.c:12516 commands/tablecmds.c:12528 +#: commands/tablecmds.c:13863 commands/tablecmds.c:13875 #, c-format -msgid "Change the ownership of the index's table, instead." +msgid "Change the ownership of the index's table instead." msgstr "대신에 그 인덱스의 해당 테이블 소유자을 변경하세요." -#: commands/tablecmds.c:12542 +#: commands/tablecmds.c:13889 #, c-format msgid "cannot change owner of sequence \"%s\"" msgstr "\"%s\" 시퀀스의 소유주를 바꿀 수 없음" -#: commands/tablecmds.c:12556 commands/tablecmds.c:15743 +#: commands/tablecmds.c:13903 commands/tablecmds.c:17173 +#: commands/tablecmds.c:17192 #, c-format msgid "Use ALTER TYPE instead." msgstr "대신 ALTER TYPE을 사용하십시오." -#: commands/tablecmds.c:12565 +#: commands/tablecmds.c:13912 #, c-format -msgid "\"%s\" is not a table, view, sequence, or foreign table" -msgstr "\"%s\" 개체는 테이블, 뷰, 시퀀스, 외부 테이블 그 어느 것도 아닙니다" +msgid "cannot change owner of relation \"%s\"" +msgstr "\"%s\" 릴레이션의 소유주를 바꿀 수 없음" -#: commands/tablecmds.c:12905 +#: commands/tablecmds.c:14274 #, c-format msgid "cannot have multiple SET TABLESPACE subcommands" msgstr "SET TABLESPACE 구문이 중복 사용되었습니다" -#: commands/tablecmds.c:12982 +#: commands/tablecmds.c:14351 #, c-format -msgid "\"%s\" is not a table, view, materialized view, index, or TOAST table" -msgstr "" -"\"%s\" 개체는 테이블, 뷰, 구체화된 뷰, 인덱스, TOAST 테이블 그 어느 것도 아닙" -"니다." +msgid "cannot set options for relation \"%s\"" +msgstr "\"%s\" 릴레이션용 옵션을 지정할 수 없음" -#: commands/tablecmds.c:13015 commands/view.c:494 +#: commands/tablecmds.c:14385 commands/view.c:445 #, c-format msgid "WITH CHECK OPTION is supported only on automatically updatable views" msgstr "" "WITH CHECK OPTION 옵션은 자동 갱신 가능한 뷰에 대해서만 사용할 수 있습니다" -#: commands/tablecmds.c:13155 -#, c-format -msgid "cannot move system relation \"%s\"" -msgstr "\"%s\" 시스템 릴레이션입니다. 이동할 수 없습니다" - -#: commands/tablecmds.c:13171 -#, c-format -msgid "cannot move temporary tables of other sessions" -msgstr "다른 세션의 임시 테이블들은 이동할 수 없습니다" - -#: commands/tablecmds.c:13341 +#: commands/tablecmds.c:14635 #, c-format msgid "only tables, indexes, and materialized views exist in tablespaces" msgstr "테이블스페이스에 테이블과 인덱스와 구체화된 뷰만 있습니다." -#: commands/tablecmds.c:13353 +#: commands/tablecmds.c:14647 #, c-format msgid "cannot move relations in to or out of pg_global tablespace" msgstr "" "해당 개체를 pg_global 테이블스페이스로 옮기거나 그 반대로 작업할 수 없음" -#: commands/tablecmds.c:13445 +#: commands/tablecmds.c:14739 #, c-format msgid "aborting because lock on relation \"%s.%s\" is not available" msgstr "\"%s.%s\" 릴레이션을 잠글 수 없어 중지 중입니다" -#: commands/tablecmds.c:13461 +#: commands/tablecmds.c:14755 #, c-format msgid "no matching relations in tablespace \"%s\" found" msgstr "검색조건에 일치하는 릴레이션이 \"%s\" 테이블스페이스에 없음" -#: commands/tablecmds.c:13577 +#: commands/tablecmds.c:14873 #, c-format msgid "cannot change inheritance of typed table" msgstr "typed 테이블의 상속 정보는 변경할 수 없음" -#: commands/tablecmds.c:13582 commands/tablecmds.c:14078 +#: commands/tablecmds.c:14878 commands/tablecmds.c:15396 #, c-format msgid "cannot change inheritance of a partition" msgstr "파티션 테이블의 상속 정보는 바꿀 수 없음" -#: commands/tablecmds.c:13587 +#: commands/tablecmds.c:14883 #, c-format msgid "cannot change inheritance of partitioned table" msgstr "파티션된 테이블의 상속 정보는 바꿀 수 없음" -#: commands/tablecmds.c:13633 +#: commands/tablecmds.c:14929 #, c-format msgid "cannot inherit to temporary relation of another session" msgstr "다른 세션의 임시 테이블을 상속할 수 없음" -#: commands/tablecmds.c:13646 +#: commands/tablecmds.c:14942 #, c-format msgid "cannot inherit from a partition" msgstr "파티션 테이블에서 상속 할 수 없음" -#: commands/tablecmds.c:13668 commands/tablecmds.c:16383 +#: commands/tablecmds.c:14964 commands/tablecmds.c:17813 #, c-format msgid "circular inheritance not allowed" msgstr "순환 되는 상속은 허용하지 않습니다" -#: commands/tablecmds.c:13669 commands/tablecmds.c:16384 +#: commands/tablecmds.c:14965 commands/tablecmds.c:17814 #, c-format msgid "\"%s\" is already a child of \"%s\"." msgstr "\"%s\" 개체는 이미 \"%s\" 개체로부터 상속받은 상태입니다." -#: commands/tablecmds.c:13682 +#: commands/tablecmds.c:14978 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming an inheritance child" msgstr "" "\"%s\" 트리거(해당 테이블 \"%s\")은 하위테이블 상속과 관련되어 보호되고 있습" "니다." -#: commands/tablecmds.c:13684 +#: commands/tablecmds.c:14980 #, c-format msgid "" "ROW triggers with transition tables are not supported in inheritance " @@ -10584,22 +12036,32 @@ msgid "" msgstr "" "transition 테이블의 ROW 트리거들은 계층적 상속 테이블에서는 지원하지 않음" -#: commands/tablecmds.c:13887 +#: commands/tablecmds.c:15183 #, c-format msgid "column \"%s\" in child table must be marked NOT NULL" -msgstr "자식 테이블의 \"%s\" 칼럼은 NOT NULL 속성이 있어야합니다" +msgstr "자식 테이블의 \"%s\" 칼럼은 NOT NULL 속성이 있어야 합니다" + +#: commands/tablecmds.c:15192 +#, c-format +msgid "column \"%s\" in child table must be a generated column" +msgstr "자식 테이블의 \"%s\" 칼럼은 미리 계산된 칼럼이어야 함" + +#: commands/tablecmds.c:15197 +#, c-format +msgid "column \"%s\" in child table must not be a generated column" +msgstr "자식 테이블의 \"%s\" 칼럼은 미리 계산된 칼럼이 아니여야 합니다." -#: commands/tablecmds.c:13914 +#: commands/tablecmds.c:15228 #, c-format msgid "child table is missing column \"%s\"" msgstr "자식 테이블에는 \"%s\" 칼럼이 없습니다" -#: commands/tablecmds.c:14002 +#: commands/tablecmds.c:15316 #, c-format msgid "child table \"%s\" has different definition for check constraint \"%s\"" msgstr "\"%s\" 하위 테이블에 \"%s\" 체크 제약 조건에 대한 다른 정의가 있음" -#: commands/tablecmds.c:14010 +#: commands/tablecmds.c:15324 #, c-format msgid "" "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s" @@ -10607,85 +12069,86 @@ msgid "" msgstr "" "\"%s\" 제약 조건이 \"%s\" 하위 테이블에 있는 비 상속 제약 조건과 충돌합니다" -#: commands/tablecmds.c:14021 +#: commands/tablecmds.c:15335 #, c-format msgid "" "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\"" msgstr "" "\"%s\" 제약 조건이 \"%s\" 하위 테이블에 있는 NOT VALID 제약 조건과 충돌합니다" -#: commands/tablecmds.c:14056 +#: commands/tablecmds.c:15374 #, c-format msgid "child table is missing constraint \"%s\"" msgstr "자식 테이블에 \"%s\" 제약 조건이 없습니다" -#: commands/tablecmds.c:14145 +#: commands/tablecmds.c:15460 +#, c-format +msgid "partition \"%s\" already pending detach in partitioned table \"%s.%s\"" +msgstr "" +"\"%s\" 하위 파티션과 \"%s.%s\" 상위 파티션 테이블과 분리 작업을 이미 진행, 지" +"연 되고 있습니다." + +#: commands/tablecmds.c:15489 commands/tablecmds.c:15537 #, c-format msgid "relation \"%s\" is not a partition of relation \"%s\"" msgstr "\"%s\" 릴레이션은 \"%s\" 릴레이션의 파티션이 아닙니다" -#: commands/tablecmds.c:14151 +#: commands/tablecmds.c:15543 #, c-format msgid "relation \"%s\" is not a parent of relation \"%s\"" msgstr "\"%s\" 릴레이션은 \"%s\" 릴레이션의 부모가 아닙니다" -#: commands/tablecmds.c:14379 +#: commands/tablecmds.c:15771 #, c-format msgid "typed tables cannot inherit" msgstr "typed 테이블은 상속할 수 없음" -#: commands/tablecmds.c:14409 +#: commands/tablecmds.c:15801 #, c-format msgid "table is missing column \"%s\"" msgstr "테이블에는 \"%s\" 칼럼이 없습니다" -#: commands/tablecmds.c:14420 +#: commands/tablecmds.c:15812 #, c-format msgid "table has column \"%s\" where type requires \"%s\"" msgstr "\"%s\" 칼럼은 \"%s\" 자료형입니다." -#: commands/tablecmds.c:14429 +#: commands/tablecmds.c:15821 #, c-format msgid "table \"%s\" has different type for column \"%s\"" msgstr "\"%s\" 테이블의 \"%s\" 칼럼 자료형 틀립니다" -#: commands/tablecmds.c:14443 +#: commands/tablecmds.c:15835 #, c-format msgid "table has extra column \"%s\"" msgstr "\"%s\" 칼럼은 확장형입니다" -#: commands/tablecmds.c:14495 +#: commands/tablecmds.c:15887 #, c-format msgid "\"%s\" is not a typed table" msgstr "\"%s\" 테이블은 typed 테이블이 아닙니다" -#: commands/tablecmds.c:14677 +#: commands/tablecmds.c:16061 #, c-format msgid "cannot use non-unique index \"%s\" as replica identity" msgstr "\"%s\" 인덱스는 유니크 인덱스가 아니여서, 복제 식별자로 사용할 수 없음" -#: commands/tablecmds.c:14683 +#: commands/tablecmds.c:16067 #, c-format msgid "cannot use non-immediate index \"%s\" as replica identity" msgstr "\"%s\" non-immediate 인덱스는 복제 식별자로 사용할 수 없음" -#: commands/tablecmds.c:14689 +#: commands/tablecmds.c:16073 #, c-format msgid "cannot use expression index \"%s\" as replica identity" msgstr "\"%s\" 인덱스는 expression 인덱스여서, 복제 식별자로 사용할 수 없음" -#: commands/tablecmds.c:14695 +#: commands/tablecmds.c:16079 #, c-format msgid "cannot use partial index \"%s\" as replica identity" msgstr "\"%s\" 인덱스가 부분인덱스여서, 복제 식별자로 사용할 수 없음" -#: commands/tablecmds.c:14701 -#, c-format -msgid "cannot use invalid index \"%s\" as replica identity" -msgstr "" -"\"%s\" 인덱스는 사용할 수 없는 인덱스여서, 복제 식별자로 사용할 수 없음" - -#: commands/tablecmds.c:14718 +#: commands/tablecmds.c:16096 #, c-format msgid "" "index \"%s\" cannot be used as replica identity because column %d is a " @@ -10693,7 +12156,7 @@ msgid "" msgstr "" "\"%s\" 인덱스는 복제 식별자로 사용할 수 없음, %d 번째 칼럼이 시스템 칼럼임" -#: commands/tablecmds.c:14725 +#: commands/tablecmds.c:16103 #, c-format msgid "" "index \"%s\" cannot be used as replica identity because column \"%s\" is " @@ -10702,23 +12165,23 @@ msgstr "" "\"%s\" 인덱스는 복제 식별자로 사용할 수 없음, \"%s\" 칼럼이 null 값 사용가능 " "속성임" -#: commands/tablecmds.c:14918 +#: commands/tablecmds.c:16348 #, c-format msgid "cannot change logged status of table \"%s\" because it is temporary" msgstr "\"%s\" 테이블은 임시 테이블이기에, 통계 정보를 변경 할 수 없음" -#: commands/tablecmds.c:14942 +#: commands/tablecmds.c:16372 #, c-format msgid "" "cannot change table \"%s\" to unlogged because it is part of a publication" msgstr "\"%s\" 테이블은 발생에 사용하고 있어, unlogged 속성으로 바꿀 수 없음" -#: commands/tablecmds.c:14944 +#: commands/tablecmds.c:16374 #, c-format msgid "Unlogged relations cannot be replicated." msgstr "unlogged 릴레이션 복제할 수 없습니다." -#: commands/tablecmds.c:14989 +#: commands/tablecmds.c:16419 #, c-format msgid "" "could not change table \"%s\" to logged because it references unlogged table " @@ -10727,7 +12190,7 @@ msgstr "" "\"%s\" 테이블이 \"%s\" unlogged 테이블을 참조하고 있어 logged 속성으로 바꿀 " "수 없음" -#: commands/tablecmds.c:14999 +#: commands/tablecmds.c:16429 #, c-format msgid "" "could not change table \"%s\" to unlogged because it references logged table " @@ -10736,581 +12199,637 @@ msgstr "" "\"%s\" 테이블이 \"%s\" logged 테이블을 참조하고 있어 unlogged 속성으로 바꿀 " "수 없음" -#: commands/tablecmds.c:15057 +#: commands/tablecmds.c:16487 #, c-format msgid "cannot move an owned sequence into another schema" msgstr "소유된 시퀀스를 다른 스키마로 이동할 수 없음" -#: commands/tablecmds.c:15163 +#: commands/tablecmds.c:16594 #, c-format msgid "relation \"%s\" already exists in schema \"%s\"" msgstr "\"%s\" 릴레이션이 \"%s\" 스키마에 이미 있습니다" -#: commands/tablecmds.c:15726 +#: commands/tablecmds.c:17006 +#, c-format +msgid "\"%s\" is not a table or materialized view" +msgstr "\"%s\" 개체는 테이블도 구체화된 뷰도 아닙니다" + +#: commands/tablecmds.c:17156 #, c-format msgid "\"%s\" is not a composite type" msgstr "\"%s\" 개체는 복합 자료형입니다" -#: commands/tablecmds.c:15758 +#: commands/tablecmds.c:17184 #, c-format -msgid "" -"\"%s\" is not a table, view, materialized view, sequence, or foreign table" -msgstr "" -"\"%s\" 개체는 테이블, 뷰, 구체화된 뷰, 시퀀스, 외부 테이블 그 어느 것도 아닙" -"니다" +msgid "cannot change schema of index \"%s\"" +msgstr "\"%s\" 인덱스의 스키마를 바꿀 수 없음" -#: commands/tablecmds.c:15793 +#: commands/tablecmds.c:17186 commands/tablecmds.c:17198 #, c-format -msgid "unrecognized partitioning strategy \"%s\"" -msgstr "알 수 없는 파티션 규칙 \"%s\"" +msgid "Change the schema of the table instead." +msgstr "대신에 그 인덱스의 해당 테이블 스키마를 변경하세요." -#: commands/tablecmds.c:15801 +#: commands/tablecmds.c:17190 +#, c-format +msgid "cannot change schema of composite type \"%s\"" +msgstr "\"%s\" 복합 자료형의 스키마를 바꿀 수 없음" + +#: commands/tablecmds.c:17196 +#, c-format +msgid "cannot change schema of TOAST table \"%s\"" +msgstr "\"%s\" TOAST 테이블의 스키마를 바꿀 수 없음" + +#: commands/tablecmds.c:17228 #, c-format msgid "cannot use \"list\" partition strategy with more than one column" msgstr "둘 이상의 칼럼을 사용할 \"list\" 파티션은 사용할 수 없습니다" -#: commands/tablecmds.c:15867 +#: commands/tablecmds.c:17294 #, c-format msgid "column \"%s\" named in partition key does not exist" msgstr "\"%s\" 칼럼이 파티션 키로 사용되고 있지 않습니다" -#: commands/tablecmds.c:15875 +#: commands/tablecmds.c:17302 #, c-format msgid "cannot use system column \"%s\" in partition key" msgstr "\"%s\" 칼럼은 시스템 칼럼입니다. 그래서 파티션 키로 사용될 수 없습니다" -#: commands/tablecmds.c:15886 commands/tablecmds.c:16000 +#: commands/tablecmds.c:17313 commands/tablecmds.c:17427 #, c-format msgid "cannot use generated column in partition key" msgstr "미리 계산된 칼럼은 파티션 키로 사용할 수 없음" -#: commands/tablecmds.c:15887 commands/tablecmds.c:16001 commands/trigger.c:641 -#: rewrite/rewriteHandler.c:829 rewrite/rewriteHandler.c:846 +#: commands/tablecmds.c:17314 commands/tablecmds.c:17428 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:15963 +#: commands/tablecmds.c:17390 #, c-format msgid "functions in partition key expression must be marked IMMUTABLE" -msgstr "파티션 키로 사용할 함수는 IMMUTABLE 특성이 있어야합니다" +msgstr "파티션 키로 사용할 함수는 IMMUTABLE 특성이 있어야 합니다" -#: commands/tablecmds.c:15983 +#: commands/tablecmds.c:17410 #, c-format msgid "partition key expressions cannot contain system column references" msgstr "파티션 키 표현식에서는 시스템 칼럼 참조를 포함할 수 없습니다" -#: commands/tablecmds.c:16013 +#: commands/tablecmds.c:17440 #, c-format msgid "cannot use constant expression as partition key" msgstr "파티션 키로 상수는 쓸 수 없습니다" -#: commands/tablecmds.c:16034 +#: commands/tablecmds.c:17461 #, c-format msgid "could not determine which collation to use for partition expression" msgstr "파티션 표현식에 쓸 문자 정렬 규칙을 결정할 수 없습니다" -#: commands/tablecmds.c:16069 +#: commands/tablecmds.c:17496 #, 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:16075 +#: commands/tablecmds.c:17502 #, 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:16220 -#, c-format -msgid "" -"partition constraint for table \"%s\" is implied by existing constraints" -msgstr "" - -#: commands/tablecmds.c:16224 partitioning/partbounds.c:3129 -#: partitioning/partbounds.c:3180 -#, c-format -msgid "" -"updated partition constraint for default partition \"%s\" is implied by " -"existing constraints" -msgstr "" +"를 정의해 두어야 합니다" -#: commands/tablecmds.c:16323 +#: commands/tablecmds.c:17753 #, c-format msgid "\"%s\" is already a partition" msgstr "\"%s\" 이름의 파티션 테이블이 이미 있습니다" -#: commands/tablecmds.c:16329 +#: commands/tablecmds.c:17759 #, c-format msgid "cannot attach a typed table as partition" msgstr "파티션 테이블로 typed 테이블을 추가할 수 없음" -#: commands/tablecmds.c:16345 +#: commands/tablecmds.c:17775 #, c-format msgid "cannot attach inheritance child as partition" msgstr "파티션 테이블로 상속을 이용한 하위 테이블을 추가할 수 없음" -#: commands/tablecmds.c:16359 +#: commands/tablecmds.c:17789 #, c-format msgid "cannot attach inheritance parent as partition" msgstr "파티션 테이블로 상속용 상위 테이블을 추가할 수 없음" -#: commands/tablecmds.c:16393 +#: commands/tablecmds.c:17823 #, c-format msgid "" "cannot attach a temporary relation as partition of permanent relation \"%s\"" msgstr "" "\"%s\" 테이블은 일반 테이블입니다, 임시 파티션 테이블을 추가할 수 없습니다" -#: commands/tablecmds.c:16401 +#: commands/tablecmds.c:17831 #, c-format msgid "" "cannot attach a permanent relation as partition of temporary relation \"%s\"" msgstr "" "\"%s\" 테이블은 임시 테이블입니다, 일반 파티션 테이블을 추가할 수 없습니다" -#: commands/tablecmds.c:16409 +#: commands/tablecmds.c:17839 #, c-format msgid "cannot attach as partition of temporary relation of another session" msgstr "다른 세션의 임시 테이블을 파티션 테이블로 추가할 수 없습니다" -#: commands/tablecmds.c:16416 +#: commands/tablecmds.c:17846 #, c-format msgid "cannot attach temporary relation of another session as partition" msgstr "다른 세션의 임시 테이블을 파티션 테이블로 추가할 수 없습니다" -#: commands/tablecmds.c:16436 +#: commands/tablecmds.c:17866 #, c-format msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\"" msgstr "\"%s\" 테이블의 \"%s\" 칼럼이 상위 테이블인 \"%s\"에 없음" -#: commands/tablecmds.c:16439 +#: commands/tablecmds.c:17869 #, c-format msgid "The new partition may contain only the columns present in parent." msgstr "새 파티션 테이블은 상위 테이블의 칼럼과 동일해야 합니다." -#: commands/tablecmds.c:16451 +#: commands/tablecmds.c:17881 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition" msgstr "" "\"%s\" 트리거가 \"%s\" 테이블에 있어 파티션 테이블로 포함 될 수 없습니다" -#: commands/tablecmds.c:16453 commands/trigger.c:447 +#: commands/tablecmds.c:17883 #, c-format -msgid "ROW triggers with transition tables are not supported on partitions" +msgid "ROW triggers with transition tables are not supported on partitions." msgstr "" -"ROW 트리거들이 있는 테이블을 파티션 테이블로 포함하는 기능은 지원하지 않습니" -"다" +"transition 테이블의 ROW 트리거들은 파티션 하위 테이블에서는 쓸 수 없습니다." -#: commands/tablecmds.c:16616 +#: commands/tablecmds.c:18062 #, c-format msgid "" "cannot attach foreign table \"%s\" as partition of partitioned table \"%s\"" msgstr "\"%s\" 외부 테이블을 파티션된 \"%s\" 테이블의 부분으로 추가 할 수 없음" -#: commands/tablecmds.c:16619 +#: commands/tablecmds.c:18065 +#, c-format +msgid "Partitioned table \"%s\" contains unique indexes." +msgstr "\"%s\" 파티션 상위 테이블에 유니크 인덱스가 있습니다." + +#: commands/tablecmds.c:18382 #, c-format -msgid "Table \"%s\" contains unique indexes." -msgstr "\"%s\" 테이블에 유니크 인덱스가 있습니다." +msgid "cannot detach partitions concurrently when a default partition exists" +msgstr "기본 하위 파티션이 있을 때는 하위 파티션 테이블 분리 작업을 할 수 없음" -#: commands/tablecmds.c:17265 commands/tablecmds.c:17285 -#: commands/tablecmds.c:17305 commands/tablecmds.c:17324 -#: commands/tablecmds.c:17366 +#: commands/tablecmds.c:18491 +#, c-format +msgid "partitioned table \"%s\" was removed concurrently" +msgstr "\"%s\" 파티션 상위 테이블이 온라인 모드로 삭제 되었음" + +#: commands/tablecmds.c:18497 +#, c-format +msgid "partition \"%s\" was removed concurrently" +msgstr "\"%s\" 파티션 하위 테이블이 온라인 모드로 삭제 되었음" + +#: commands/tablecmds.c:19012 commands/tablecmds.c:19032 +#: commands/tablecmds.c:19053 commands/tablecmds.c:19072 +#: commands/tablecmds.c:19114 #, c-format msgid "cannot attach index \"%s\" as a partition of index \"%s\"" msgstr "\"%s\" 인덱스를 \"%s\" 인덱스의 파티션으로 추가할 수 없음" -#: commands/tablecmds.c:17268 +#: commands/tablecmds.c:19015 #, c-format msgid "Index \"%s\" is already attached to another index." msgstr "\"%s\" 인덱스는 이미 다른 인덱스에 추가되어 있음." -#: commands/tablecmds.c:17288 +#: commands/tablecmds.c:19035 #, c-format msgid "Index \"%s\" is not an index on any partition of table \"%s\"." msgstr "\"%s\" 인덱스는 \"%s\" 테이블의 하위 파티션 대상 인덱스가 아닙니다." -#: commands/tablecmds.c:17308 +#: commands/tablecmds.c:19056 #, c-format msgid "The index definitions do not match." msgstr "인덱스 정의가 일치하지 않습니다." -#: commands/tablecmds.c:17327 +#: commands/tablecmds.c:19075 #, 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:17369 +#: commands/tablecmds.c:19117 #, c-format msgid "Another index is already attached for partition \"%s\"." msgstr "\"%s\" 파티션 용으로 다른 인덱스가 추가되어 있습니다." -#: commands/tablespace.c:162 commands/tablespace.c:179 -#: commands/tablespace.c:190 commands/tablespace.c:198 -#: commands/tablespace.c:638 replication/slot.c:1373 storage/file/copydir.c:47 +#: commands/tablecmds.c:19353 +#, c-format +msgid "column data type %s does not support compression" +msgstr "%s 형의 칼럼 자료형은 압축을 지원하지 않음" + +#: commands/tablecmds.c:19360 +#, c-format +msgid "invalid compression method \"%s\"" +msgstr "잘못된 압축 방법: \"%s\"" + +#: commands/tablecmds.c:19386 #, c-format -msgid "could not create directory \"%s\": %m" -msgstr "\"%s\" 디렉터리를 만들 수 없음: %m" +msgid "invalid storage type \"%s\"" +msgstr "잘못된 STORAGE 값: \"%s\"" -#: commands/tablespace.c:209 +#: commands/tablecmds.c:19396 #, c-format -msgid "could not stat directory \"%s\": %m" -msgstr "\"%s\" 디렉터리 상태를 파악할 수 없음: %m" +msgid "column data type %s can only have storage PLAIN" +msgstr "%s 자료형의 column의 STORAGE 값은 반드시 PLAIN 이어야 합니다" -#: commands/tablespace.c:218 +#: commands/tablespace.c:199 commands/tablespace.c:650 #, c-format msgid "\"%s\" exists but is not a directory" msgstr "\"%s\" 파일이 존재하지만 디렉터리가 아닙니다" -#: commands/tablespace.c:249 +#: commands/tablespace.c:230 #, c-format msgid "permission denied to create tablespace \"%s\"" msgstr "\"%s\" 테이블스페이스를 만들 권한이 없습니다" -#: commands/tablespace.c:251 +#: commands/tablespace.c:232 #, c-format msgid "Must be superuser to create a tablespace." msgstr "테이블스페이스는 슈퍼유저만 만들 수 있습니다." -#: commands/tablespace.c:267 +#: commands/tablespace.c:248 #, c-format msgid "tablespace location cannot contain single quotes" msgstr "테이블스페이스 위치에는 작은 따옴표를 사용할 수 없음" -#: commands/tablespace.c:277 +#: commands/tablespace.c:261 #, c-format msgid "tablespace location must be an absolute path" -msgstr "테이블스페이스 경로는 절대경로여야합니다" +msgstr "테이블스페이스 경로는 절대경로여야 합니다" -#: commands/tablespace.c:289 +#: commands/tablespace.c:273 #, c-format msgid "tablespace location \"%s\" is too long" msgstr "테이블스페이스 경로가 너무 깁니다: \"%s\"" -#: commands/tablespace.c:296 +#: commands/tablespace.c:280 #, c-format msgid "tablespace location should not be inside the data directory" msgstr "테이블스페이스 경로는 데이터 디렉터리 안에 있으면 안됩니다" -#: commands/tablespace.c:305 commands/tablespace.c:965 +#: commands/tablespace.c:289 commands/tablespace.c:976 #, c-format msgid "unacceptable tablespace name \"%s\"" msgstr "\"%s\" 테이블스페이스 이름은 적당치 않습니다" -#: commands/tablespace.c:307 commands/tablespace.c:966 +#: commands/tablespace.c:291 commands/tablespace.c:977 #, c-format msgid "The prefix \"pg_\" is reserved for system tablespaces." msgstr "\"pg_\" 문자로 시작하는 테이블스페이스는 시스템 테이블스페이스입니다." -#: commands/tablespace.c:326 commands/tablespace.c:987 +#: commands/tablespace.c:310 commands/tablespace.c:998 #, c-format msgid "tablespace \"%s\" already exists" msgstr "\"%s\" 이름의 테이블스페이스는 이미 있음" -#: commands/tablespace.c:442 commands/tablespace.c:948 -#: commands/tablespace.c:1037 commands/tablespace.c:1106 -#: commands/tablespace.c:1252 commands/tablespace.c:1455 +#: commands/tablespace.c:326 +#, c-format +msgid "pg_tablespace OID value not set when in binary upgrade mode" +msgstr "이진 업그레이드 작업 때 pg_tablespace OID 값이 지정되지 않음" + +#: commands/tablespace.c:431 commands/tablespace.c:959 +#: commands/tablespace.c:1048 commands/tablespace.c:1117 +#: commands/tablespace.c:1263 commands/tablespace.c:1466 #, c-format msgid "tablespace \"%s\" does not exist" msgstr "\"%s\" 테이블스페이스 없음" -#: commands/tablespace.c:448 +#: commands/tablespace.c:437 #, c-format msgid "tablespace \"%s\" does not exist, skipping" msgstr "\"%s\" 테이블스페이스 없음, 건너 뜀" -#: commands/tablespace.c:525 +#: commands/tablespace.c:463 +#, c-format +msgid "tablespace \"%s\" cannot be dropped because some objects depend on it" +msgstr "몇 객체들이 의존관계를 가져 \"%s\" 테이블스페이스를 삭제할 수 없음" + +#: commands/tablespace.c:530 #, c-format msgid "tablespace \"%s\" is not empty" msgstr "\"%s\" 테이블스페이스는 비어있지 않음" -#: commands/tablespace.c:597 +#: commands/tablespace.c:617 #, c-format msgid "directory \"%s\" does not exist" msgstr "\"%s\" 디렉터리 없음" -#: commands/tablespace.c:598 +#: commands/tablespace.c:618 #, c-format msgid "Create this directory for the tablespace before restarting the server." msgstr "이 서버를 재시작하기 전에 이 테이블스페이스 용 디렉터리를 만드세요." -#: commands/tablespace.c:603 +#: commands/tablespace.c:623 #, c-format msgid "could not set permissions on directory \"%s\": %m" msgstr "\"%s\" 디렉터리 액세스 권한을 지정할 수 없음: %m" -#: commands/tablespace.c:633 +#: commands/tablespace.c:655 #, c-format msgid "directory \"%s\" already in use as a tablespace" msgstr "\"%s\" 디렉터리는 이미 테이블스페이스로 사용 중임" -#: commands/tablespace.c:757 commands/tablespace.c:770 -#: commands/tablespace.c:806 commands/tablespace.c:898 storage/file/fd.c:3108 -#: storage/file/fd.c:3448 -#, c-format -msgid "could not remove directory \"%s\": %m" -msgstr "\"%s\" 디렉터리를 삭제할 수 없음: %m" - -#: commands/tablespace.c:819 commands/tablespace.c:907 +#: commands/tablespace.c:833 commands/tablespace.c:919 #, c-format msgid "could not remove symbolic link \"%s\": %m" msgstr "\"%s\" 심벌릭 링크를 삭제할 수 없음: %m" -#: commands/tablespace.c:829 commands/tablespace.c:916 +#: commands/tablespace.c:842 commands/tablespace.c:927 #, c-format msgid "\"%s\" is not a directory or symbolic link" msgstr "\"%s\" 디렉터리도, 심볼릭 링크도 아님" -#: commands/tablespace.c:1111 +#: commands/tablespace.c:1122 #, c-format msgid "Tablespace \"%s\" does not exist." msgstr "\"%s\" 테이블스페이스 없음" -#: commands/tablespace.c:1554 +#: commands/tablespace.c:1568 #, c-format msgid "directories for tablespace %u could not be removed" msgstr "%u OID 테이블스페이스용 디렉터리는 삭제될 수 없음" -#: commands/tablespace.c:1556 +#: commands/tablespace.c:1570 #, c-format msgid "You can remove the directories manually if necessary." msgstr "필요하다면 OS 작업으로 그 디레터리를 삭제하세요" -#: commands/trigger.c:204 commands/trigger.c:215 +#: commands/trigger.c:232 commands/trigger.c:243 #, c-format msgid "\"%s\" is a table" -msgstr "\"%s\" 개체는 테이블입니다." +msgstr "\"%s\" 개체는 테이블임" -#: commands/trigger.c:206 commands/trigger.c:217 +#: commands/trigger.c:234 commands/trigger.c:245 #, c-format msgid "Tables cannot have INSTEAD OF triggers." msgstr "테이블에 INSTEAD OF 트리거는 설정할 수 없음" -#: commands/trigger.c:238 +#: commands/trigger.c:266 #, c-format msgid "\"%s\" is a partitioned table" -msgstr "\"%s\" 개체는 파티션된 테이블임" +msgstr "\"%s\" 개체는 파티션 상위 테이블임" -#: commands/trigger.c:240 +#: commands/trigger.c:268 #, c-format -msgid "Triggers on partitioned tables cannot have transition tables." -msgstr "파티션된 테이블에 지정된 트리거는 전달 테이블을 가질 수 없음." +msgid "" +"ROW triggers with transition tables are not supported on partitioned tables." +msgstr "" +"transition 테이블의 ROW 트리거들은 파티션 상위 테이블에서 지원하지 않음." -#: commands/trigger.c:252 commands/trigger.c:259 commands/trigger.c:429 +#: commands/trigger.c:280 commands/trigger.c:287 commands/trigger.c:451 #, c-format msgid "\"%s\" is a view" -msgstr "\"%s\" 개체는 뷰입니다." +msgstr "\"%s\" 개체는 뷰임" -#: commands/trigger.c:254 +#: commands/trigger.c:282 #, c-format msgid "Views cannot have row-level BEFORE or AFTER triggers." msgstr "뷰에 로우 단위 BEFORE, AFTER 트리거는 설정할 수 없음" -#: commands/trigger.c:261 +#: commands/trigger.c:289 #, c-format msgid "Views cannot have TRUNCATE triggers." msgstr "뷰에 TRUNCATE 트리거는 설정할 수 없음" -#: commands/trigger.c:269 commands/trigger.c:276 commands/trigger.c:288 -#: commands/trigger.c:422 +#: commands/trigger.c:297 commands/trigger.c:309 commands/trigger.c:444 #, c-format msgid "\"%s\" is a foreign table" -msgstr "\"%s\" 개체는 외부 테이블입니다." +msgstr "\"%s\" 개체는 외부 테이블임" -#: commands/trigger.c:271 +#: commands/trigger.c:299 #, c-format msgid "Foreign tables cannot have INSTEAD OF triggers." msgstr "외부테이블에 INSTEAD OF 트리거는 설정할 수 없음" -#: commands/trigger.c:278 -#, c-format -msgid "Foreign tables cannot have TRUNCATE triggers." -msgstr "외부 테이블에는 TRUNCATE 트리거를 사용할 수 없음" - -#: commands/trigger.c:290 +#: commands/trigger.c:311 #, c-format msgid "Foreign tables cannot have constraint triggers." msgstr "외부 테이블에 제약 조건 트리거는 설정할 수 없음" -#: commands/trigger.c:365 +#: commands/trigger.c:316 commands/trigger.c:1332 commands/trigger.c:1439 +#, c-format +msgid "relation \"%s\" cannot have triggers" +msgstr "\"%s\" 릴레이션에는 트리거를 지정할 수 없음" + +#: commands/trigger.c:387 #, c-format msgid "TRUNCATE FOR EACH ROW triggers are not supported" msgstr "TRUNCATE FOR EACH ROW 트리거는 지원되지 않음" -#: commands/trigger.c:373 +#: commands/trigger.c:395 #, c-format msgid "INSTEAD OF triggers must be FOR EACH ROW" msgstr "INSTEAD OF 트리거는 FOR EACH ROW 옵션으로 설정해야 함" -#: commands/trigger.c:377 +#: commands/trigger.c:399 #, c-format msgid "INSTEAD OF triggers cannot have WHEN conditions" msgstr "INSTEAD OF 트리거는 WHEN 조건을 사용할 수 없음" -#: commands/trigger.c:381 +#: commands/trigger.c:403 #, c-format msgid "INSTEAD OF triggers cannot have column lists" msgstr "INSTEAD OF 트리거는 칼럼 목록을 사용할 수 없음" -#: commands/trigger.c:410 +#: commands/trigger.c:432 #, c-format msgid "ROW variable naming in the REFERENCING clause is not supported" -msgstr "" +msgstr "REFERENCING 절에 ROW 변수 이름 붙이기를 지원하지 않습니다." -#: commands/trigger.c:411 +#: commands/trigger.c:433 #, c-format msgid "Use OLD TABLE or NEW TABLE for naming transition tables." -msgstr "" +msgstr "이름 기반 전환 테이블은 OLD TABLE 또는 NEW TABLE 을 사용하세요." -#: commands/trigger.c:424 +#: commands/trigger.c:446 #, c-format msgid "Triggers on foreign tables cannot have transition tables." msgstr "외부 테이블의 트리거들은 전환 테이블을 가질 수 없음." -#: commands/trigger.c:431 +#: commands/trigger.c:453 #, c-format msgid "Triggers on views cannot have transition tables." msgstr "뷰에 정의한 트리거들은 전환 테이블을 가질 수 없음." -#: commands/trigger.c:451 +#: commands/trigger.c:469 +#, c-format +msgid "ROW triggers with transition tables are not supported on partitions" +msgstr "" +"ROW 트리거들이 있는 테이블을 파티션 테이블로 포함하는 기능은 지원하지 않습니" +"다" + +#: commands/trigger.c:473 #, c-format msgid "" "ROW triggers with transition tables are not supported on inheritance children" -msgstr "" +msgstr "전환 테이블용 ROW 트리거는 하위 상속 테이블에서는 지정할 수 없습니다." -#: commands/trigger.c:457 +#: commands/trigger.c:479 #, c-format msgid "transition table name can only be specified for an AFTER trigger" -msgstr "" +msgstr "전환 테이블 이름은 AFTER 트리거에서만 사용할 수 있습니다." -#: commands/trigger.c:462 +#: commands/trigger.c:484 #, c-format msgid "TRUNCATE triggers with transition tables are not supported" msgstr "전환 테이블에서 TRUNCATE 트리거는 지원하지 않습니다" -#: commands/trigger.c:479 +#: commands/trigger.c:501 #, c-format msgid "" "transition tables cannot be specified for triggers with more than one event" msgstr "전환 테이블은 하나 이상의 이벤트에 대한 트리거를 지정할 수 없습니다" -#: commands/trigger.c:490 +#: commands/trigger.c:512 #, c-format msgid "transition tables cannot be specified for triggers with column lists" msgstr "전환 테이블은 칼럼 목록들에 대한 트리거를 지정할 수 없습니다" -#: commands/trigger.c:507 +#: commands/trigger.c:529 #, c-format msgid "NEW TABLE can only be specified for an INSERT or UPDATE trigger" -msgstr "" +msgstr "NEW TABLE 옵션은 INSERT 또는 UPDATE 트리거에서만 사용할 수 있습니다." -#: commands/trigger.c:512 +#: commands/trigger.c:534 #, c-format msgid "NEW TABLE cannot be specified multiple times" -msgstr "" +msgstr "NEW TABLE 옵션은 중복해서 사용할 수 없음" -#: commands/trigger.c:522 +#: commands/trigger.c:544 #, c-format msgid "OLD TABLE can only be specified for a DELETE or UPDATE trigger" -msgstr "" +msgstr "OLD TABLE 옵션은 DELETE 또는 UPDATE 트리거에서만 사용할 수 있습니다." -#: commands/trigger.c:527 +#: commands/trigger.c:549 #, c-format msgid "OLD TABLE cannot be specified multiple times" -msgstr "" +msgstr "OLD TABLE 옵션은 중복해서 사용할 수 없음" -#: commands/trigger.c:537 +#: commands/trigger.c:559 #, c-format msgid "OLD TABLE name and NEW TABLE name cannot be the same" -msgstr "" +msgstr "OLD TABLE 과 NEW TABLE 뒤에 오는 이름이 같을 수는 없습니다." -#: commands/trigger.c:601 commands/trigger.c:614 +#: commands/trigger.c:623 commands/trigger.c:636 #, c-format msgid "statement trigger's WHEN condition cannot reference column values" msgstr "트리거의 WHEN 조건에는 칼럼 값을 참조할 수는 없음" -#: commands/trigger.c:606 +#: commands/trigger.c:628 #, c-format msgid "INSERT trigger's WHEN condition cannot reference OLD values" msgstr "INSERT 트리거에서의 WHEN 조건에는 OLD 값을 참조할 수 없음" -#: commands/trigger.c:619 +#: commands/trigger.c:641 #, c-format msgid "DELETE trigger's WHEN condition cannot reference NEW values" msgstr "DELETE 트리거에서의 WHEN 조건에는 NEW 값을 참조할 수 없음" -#: commands/trigger.c:624 +#: commands/trigger.c:646 #, c-format msgid "BEFORE trigger's WHEN condition cannot reference NEW system columns" msgstr "WHEN 조건절이 있는 BEFORE 트리거는 NEW 시스템 칼럼을 참조할 수 없음" -#: commands/trigger.c:632 commands/trigger.c:640 +#: commands/trigger.c:654 commands/trigger.c:662 #, c-format msgid "BEFORE trigger's WHEN condition cannot reference NEW generated columns" msgstr "" "WHEN 조건절이 있는 BEFORE 트리거는 NEW 미리 계산된 칼럼을 참조할 수 없음" -#: commands/trigger.c:633 +#: commands/trigger.c:655 #, c-format msgid "A whole-row reference is used and the table contains generated columns." msgstr "" +"로우 전체 참조가 사용되었고, 그 테이블에는 미리 계산된 칼럼이 있습니다." -#: commands/trigger.c:780 commands/trigger.c:1385 +#: commands/trigger.c:770 commands/trigger.c:1614 #, c-format msgid "trigger \"%s\" for relation \"%s\" already exists" msgstr "\"%s\" 이름의 트리거가 \"%s\" 테이블에 이미 있습니다" -#: commands/trigger.c:1271 commands/trigger.c:1432 commands/trigger.c:1568 +#: commands/trigger.c:783 +#, c-format +msgid "trigger \"%s\" for relation \"%s\" is an internal or a child trigger" +msgstr "\"%s\" 트리거가 \"%s\" 테이블에 내장 또는 하위 트리거로 있음" + +#: commands/trigger.c:802 +#, c-format +msgid "trigger \"%s\" for relation \"%s\" is a constraint trigger" +msgstr " \"%s\" 트리거가 \"%s\" 릴레이션에 제약 조건 트리거로 있음" + +#: commands/trigger.c:1404 commands/trigger.c:1557 commands/trigger.c:1838 #, c-format msgid "trigger \"%s\" for table \"%s\" does not exist" msgstr "\"%s\" 트리거는 \"%s\" 테이블에 없음" -#: commands/trigger.c:1515 +#: commands/trigger.c:1529 +#, c-format +msgid "cannot rename trigger \"%s\" on table \"%s\"" +msgstr "\"%s\" 트리거(해당 테이블: \"%s\") 이름을 바꿀 수 없음" + +#: commands/trigger.c:1531 +#, c-format +msgid "Rename the trigger on the partitioned table \"%s\" instead." +msgstr "대신에 상위 파티션 테이블인 \"%s\" 테이블의 트리거 이름을 바꾸세요." + +#: commands/trigger.c:1631 +#, c-format +msgid "renamed trigger \"%s\" on relation \"%s\"" +msgstr "\"%s\" 트리거(해당 테이블: \"%s\") 이름을 바꿨음" + +#: commands/trigger.c:1777 #, c-format msgid "permission denied: \"%s\" is a system trigger" msgstr "액세스 권한 없음: \"%s\" 개체는 시스템 트리거임" -#: commands/trigger.c:2116 +#: commands/trigger.c:2386 #, c-format msgid "trigger function %u returned null value" msgstr "%u 트리거 함수가 null 값을 리턴했습니다" -#: commands/trigger.c:2176 commands/trigger.c:2390 commands/trigger.c:2625 -#: commands/trigger.c:2933 +#: commands/trigger.c:2446 commands/trigger.c:2664 commands/trigger.c:2917 +#: commands/trigger.c:3252 #, c-format msgid "BEFORE STATEMENT trigger cannot return a value" msgstr "BEFORE STATEMENT 트리거는 리턴값이 있으면 안됩니다" -#: commands/trigger.c:2250 +#: commands/trigger.c:2522 #, c-format msgid "" "moving row to another partition during a BEFORE FOR EACH ROW trigger is not " "supported" msgstr "" +"BEFORE FOR EACH ROW 트리거가 실행 중일 때 다른 파티션으로 로우는 옮기는 것은 " +"지원 하지 않습니다." -#: commands/trigger.c:2251 commands/trigger.c:2755 +#: commands/trigger.c:2523 #, c-format msgid "" "Before executing trigger \"%s\", the row was to be in partition \"%s.%s\"." msgstr "" +"\"%s\" 트리거가 실행되기 전에, 그 로우는 \"%s.%s\" 파티션에 있었습니다." -#: commands/trigger.c:2754 -#, c-format -msgid "" -"moving row to another partition during a BEFORE trigger is not supported" -msgstr "" - -#: commands/trigger.c:2996 executor/nodeModifyTable.c:1380 -#: executor/nodeModifyTable.c:1449 +#: commands/trigger.c:3329 executor/nodeModifyTable.c:2363 +#: executor/nodeModifyTable.c:2446 #, c-format msgid "" "tuple to be updated was already modified by an operation triggered by the " @@ -11318,9 +12837,9 @@ msgid "" msgstr "" "현재 명령으로 실행된 트리거 작업으로 변경해야할 자료가 이미 바뀌었습니다." -#: commands/trigger.c:2997 executor/nodeModifyTable.c:840 -#: executor/nodeModifyTable.c:914 executor/nodeModifyTable.c:1381 -#: executor/nodeModifyTable.c:1450 +#: commands/trigger.c:3330 executor/nodeModifyTable.c:1531 +#: executor/nodeModifyTable.c:1605 executor/nodeModifyTable.c:2364 +#: executor/nodeModifyTable.c:2447 executor/nodeModifyTable.c:3078 #, c-format msgid "" "Consider using an AFTER trigger instead of a BEFORE trigger to propagate " @@ -11329,334 +12848,360 @@ msgstr "" "다른 로우를 변경하는 일을 BEFORE 트리거 대신에 AFTER 트리거 사용을 고려해 보" "십시오" -#: commands/trigger.c:3026 executor/nodeLockRows.c:225 -#: executor/nodeLockRows.c:234 executor/nodeModifyTable.c:220 -#: executor/nodeModifyTable.c:856 executor/nodeModifyTable.c:1397 -#: executor/nodeModifyTable.c:1613 +#: 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 #, c-format msgid "could not serialize access due to concurrent update" msgstr "동시 업데이트 때문에 순차적 액세스가 불가능합니다" -#: commands/trigger.c:3034 executor/nodeModifyTable.c:946 -#: executor/nodeModifyTable.c:1467 executor/nodeModifyTable.c:1637 +#: commands/trigger.c:3379 executor/nodeModifyTable.c:1637 +#: executor/nodeModifyTable.c:2464 executor/nodeModifyTable.c:2613 +#: executor/nodeModifyTable.c:2966 #, c-format msgid "could not serialize access due to concurrent delete" msgstr "동시 삭제 작업 때문에 순차적 액세스가 불가능합니다" -#: commands/trigger.c:5094 +#: commands/trigger.c:4586 +#, c-format +msgid "cannot fire deferred trigger within security-restricted operation" +msgstr "보안 제한 작업 내에서는 지연 속성 트리거를 실행할 수 없음" + +#: commands/trigger.c:5769 #, c-format msgid "constraint \"%s\" is not deferrable" msgstr "\"%s\" 제약 조건은 DEFERRABLE 속성으로 만들어지지 않았습니다" -#: commands/trigger.c:5117 +#: commands/trigger.c:5792 #, c-format msgid "constraint \"%s\" does not exist" msgstr "\"%s\" 이름의 제약 조건이 없음" -#: commands/tsearchcmds.c:118 commands/tsearchcmds.c:683 +#: commands/tsearchcmds.c:118 commands/tsearchcmds.c:635 #, c-format msgid "function %s should return type %s" msgstr "%s 함수는 %s 자료형을 반환해야 함" -#: commands/tsearchcmds.c:195 +#: commands/tsearchcmds.c:194 #, c-format msgid "must be superuser to create text search parsers" msgstr "슈퍼유저만 전문 검색 파서를 만들 수 있음" -#: commands/tsearchcmds.c:248 +#: commands/tsearchcmds.c:247 #, c-format msgid "text search parser parameter \"%s\" not recognized" msgstr "\"%s\" 전문 검색 파서 매개 변수를 인식할 수 없음" -#: commands/tsearchcmds.c:258 +#: commands/tsearchcmds.c:257 #, c-format msgid "text search parser start method is required" msgstr "텍스트 검색 파서 start 메서드가 필요함" -#: commands/tsearchcmds.c:263 +#: commands/tsearchcmds.c:262 #, c-format msgid "text search parser gettoken method is required" msgstr "텍스트 검색 파서 gettoken 메서드가 필요함" -#: commands/tsearchcmds.c:268 +#: commands/tsearchcmds.c:267 #, c-format msgid "text search parser end method is required" msgstr "텍스트 검색 파서 end 메서드가 필요함" -#: commands/tsearchcmds.c:273 +#: commands/tsearchcmds.c:272 #, c-format msgid "text search parser lextypes method is required" msgstr "텍스트 검색 파서 lextypes 메서드가 필요함" -#: commands/tsearchcmds.c:390 +#: commands/tsearchcmds.c:366 #, c-format msgid "text search template \"%s\" does not accept options" msgstr "\"%s\" 전문 검색 템플릿이 옵션을 수락하지 않음" -#: commands/tsearchcmds.c:464 +#: commands/tsearchcmds.c:440 #, c-format msgid "text search template is required" msgstr "전문 검색 템플릿이 필요함" -#: commands/tsearchcmds.c:750 +#: commands/tsearchcmds.c:701 #, c-format msgid "must be superuser to create text search templates" msgstr "슈퍼유저만 전문 검색 템플릿을 만들 수 있음" -#: commands/tsearchcmds.c:792 +#: commands/tsearchcmds.c:743 #, c-format msgid "text search template parameter \"%s\" not recognized" msgstr "\"%s\" 전문 검색 템플릿 매개 변수를 인식할 수 없음" -#: commands/tsearchcmds.c:802 +#: commands/tsearchcmds.c:753 #, c-format msgid "text search template lexize method is required" msgstr "전문 검색 템플릿 lexize 메서드가 필요함" -#: commands/tsearchcmds.c:1006 +#: commands/tsearchcmds.c:933 #, c-format msgid "text search configuration parameter \"%s\" not recognized" msgstr "\"%s\" 전문 검색 구성 매개 변수를 인식할 수 없음" -#: commands/tsearchcmds.c:1013 +#: commands/tsearchcmds.c:940 #, c-format msgid "cannot specify both PARSER and COPY options" msgstr "PARSER 옵션과 COPY 옵션을 모두 지정할 수 없음" -#: commands/tsearchcmds.c:1049 +#: commands/tsearchcmds.c:976 #, c-format msgid "text search parser is required" msgstr "전문 검색 파서가 필요함" -#: commands/tsearchcmds.c:1273 +#: commands/tsearchcmds.c:1241 #, c-format msgid "token type \"%s\" does not exist" msgstr "\"%s\" 토큰 형식이 없음" -#: commands/tsearchcmds.c:1500 +#: commands/tsearchcmds.c:1501 #, c-format msgid "mapping for token type \"%s\" does not exist" msgstr "\"%s\" 토큰 형식에 대한 매핑이 없음" -#: commands/tsearchcmds.c:1506 +#: commands/tsearchcmds.c:1507 #, c-format msgid "mapping for token type \"%s\" does not exist, skipping" msgstr "\"%s\" 토큰 형식에 대한 매핑이 없음, 건너뜀" -#: commands/tsearchcmds.c:1669 commands/tsearchcmds.c:1784 +#: commands/tsearchcmds.c:1670 commands/tsearchcmds.c:1785 #, c-format msgid "invalid parameter list format: \"%s\"" msgstr "잘못된 매개 변수 목록 형식: \"%s\"" -#: commands/typecmds.c:206 +#: commands/typecmds.c:217 #, c-format msgid "must be superuser to create a base type" msgstr "슈퍼유저만 기본 형식을 만들 수 있음" -#: commands/typecmds.c:264 +#: commands/typecmds.c:275 #, c-format msgid "" "Create the type as a shell type, then create its I/O functions, then do a " "full CREATE TYPE." msgstr "" +"쉘 타입으로 그 자료형을 만들고, 그것을 쓰기 위한 I/O 함수를 만들고, 끝으로 " +"CREATE TYPE 명령을 사용해서 자료형을 만드세요." -#: commands/typecmds.c:314 commands/typecmds.c:1394 commands/typecmds.c:3832 +#: commands/typecmds.c:327 commands/typecmds.c:1450 commands/typecmds.c:4257 #, c-format msgid "type attribute \"%s\" not recognized" msgstr "잘못된 \"%s\" 속성의 자료형" -#: commands/typecmds.c:370 +#: commands/typecmds.c:382 #, c-format msgid "invalid type category \"%s\": must be simple ASCII" msgstr "\"%s\" 형식 범주가 잘못됨: 단순 ASCII여야 함" -#: commands/typecmds.c:389 +#: commands/typecmds.c:401 #, c-format msgid "array element type cannot be %s" msgstr "배열 요소의 자료형으로 %s 자료형을 사용할 수 없습니다" -#: commands/typecmds.c:421 +#: commands/typecmds.c:433 #, c-format msgid "alignment \"%s\" not recognized" msgstr "잘못된 ALIGNMENT 값: \"%s\"" -#: commands/typecmds.c:438 commands/typecmds.c:3718 +#: commands/typecmds.c:450 commands/typecmds.c:4131 #, c-format msgid "storage \"%s\" not recognized" msgstr "잘못된 STORAGE 값: \"%s\"" -#: commands/typecmds.c:449 +#: commands/typecmds.c:461 #, c-format msgid "type input function must be specified" msgstr "자료형 입력 함수를 지정하십시오" -#: commands/typecmds.c:453 +#: commands/typecmds.c:465 #, c-format msgid "type output function must be specified" msgstr "자료형 출력 함수를 지정하십시오" -#: commands/typecmds.c:458 +#: commands/typecmds.c:470 #, c-format msgid "" "type modifier output function is useless without a type modifier input " "function" msgstr "형식 한정자 입력 함수가 없으면 형식 한정자 출력 함수는 의미가 없음" -#: commands/typecmds.c:745 +#: commands/typecmds.c:512 +#, c-format +msgid "element type cannot be specified without a subscripting function" +msgstr "" +"요소 자료형은 하위요소 지정 함수(subscripting function) 없이 정의할 수 없음" + +#: commands/typecmds.c:781 #, c-format msgid "\"%s\" is not a valid base type for a domain" msgstr "\"%s\" 자료형은 도메인의 기반 자료형이 아닙니다" -#: commands/typecmds.c:837 +#: commands/typecmds.c:879 #, c-format msgid "multiple default expressions" msgstr "default 표현식 여러개 있음" -#: commands/typecmds.c:900 commands/typecmds.c:909 +#: commands/typecmds.c:942 commands/typecmds.c:951 #, c-format msgid "conflicting NULL/NOT NULL constraints" msgstr "NULL/NOT NULL 조건이 함께 있음" -#: commands/typecmds.c:925 +#: commands/typecmds.c:967 #, c-format msgid "check constraints for domains cannot be marked NO INHERIT" msgstr "도메인용 체크 제약 조건에는 NO INHERIT 옵션을 사용할 수 없음" -#: commands/typecmds.c:934 commands/typecmds.c:2536 +#: commands/typecmds.c:976 commands/typecmds.c:2956 #, c-format msgid "unique constraints not possible for domains" msgstr "고유 제약 조건은 도메인 정의에 사용할 수 없음" -#: commands/typecmds.c:940 commands/typecmds.c:2542 +#: commands/typecmds.c:982 commands/typecmds.c:2962 #, c-format msgid "primary key constraints not possible for domains" msgstr "기본키 제약 조건을 도메인 정의에 사용할 수 없음" -#: commands/typecmds.c:946 commands/typecmds.c:2548 +#: commands/typecmds.c:988 commands/typecmds.c:2968 #, c-format msgid "exclusion constraints not possible for domains" msgstr "exclusion 제약 조건은 도메인에는 사용할 수 없음" -#: commands/typecmds.c:952 commands/typecmds.c:2554 +#: commands/typecmds.c:994 commands/typecmds.c:2974 #, c-format msgid "foreign key constraints not possible for domains" msgstr "참조키(foreign key) 제약 조건은 도메인(domain) 정의에 사용할 수 없음" -#: commands/typecmds.c:961 commands/typecmds.c:2563 +#: commands/typecmds.c:1003 commands/typecmds.c:2983 #, c-format msgid "specifying constraint deferrability not supported for domains" msgstr "도메인에 대해 제약 조건 지연을 지정할 수 없음" -#: commands/typecmds.c:1271 utils/cache/typcache.c:2430 +#: commands/typecmds.c:1317 utils/cache/typcache.c:2561 #, c-format msgid "%s is not an enum" msgstr "%s 개체는 나열형이 아님" -#: commands/typecmds.c:1402 +#: commands/typecmds.c:1458 #, c-format msgid "type attribute \"subtype\" is required" msgstr "\"subtype\" 속성이 필요함" -#: commands/typecmds.c:1407 +#: commands/typecmds.c:1463 #, c-format msgid "range subtype cannot be %s" msgstr "range subtype은 %s 아니여야 함" -#: commands/typecmds.c:1426 +#: commands/typecmds.c:1482 #, c-format msgid "range collation specified but subtype does not support collation" msgstr "" "range 형에 정렬 규칙을 지정했지만, 소속 자료형이 그 정렬 규칙을 지원하지 않습" "니다" -#: commands/typecmds.c:1436 +#: commands/typecmds.c:1492 #, c-format msgid "cannot specify a canonical function without a pre-created shell type" msgstr "미리 만들어진 쉘 타입 없는 canonical 함수를 지정할 수 없음" -#: commands/typecmds.c:1437 +#: commands/typecmds.c:1493 #, c-format msgid "" "Create the type as a shell type, then create its canonicalization function, " "then do a full CREATE TYPE." msgstr "" +"먼저 쉘 타입 자료형을 만들고, canonical 함수를 만든 다음 CREATE TYPE 명령으" +"로 해당 자료형을 만드세요." -#: commands/typecmds.c:1648 +#: commands/typecmds.c:1965 #, c-format msgid "type input function %s has multiple matches" msgstr "자료형 %s 입력 함수가 여러 개 있습니다" -#: commands/typecmds.c:1666 +#: commands/typecmds.c:1983 #, c-format msgid "type input function %s must return type %s" -msgstr "자료형 %s 입력 함수의 %s 자료형을 반환해야합니다" +msgstr "자료형 %s 입력 함수의 %s 자료형을 반환해야 합니다" -#: commands/typecmds.c:1682 +#: commands/typecmds.c:1999 #, c-format msgid "type input function %s should not be volatile" -msgstr "%s 자료형 입력 함수는 volatile 특성이 없어야합니다" +msgstr "%s 자료형 입력 함수는 volatile 특성이 없어야 합니다" -#: commands/typecmds.c:1710 +#: commands/typecmds.c:2027 #, c-format msgid "type output function %s must return type %s" -msgstr "%s 자료형 출력 함수는 %s 자료형을 반환해야합니다" +msgstr "%s 자료형 출력 함수는 %s 자료형을 반환해야 합니다" -#: commands/typecmds.c:1717 +#: commands/typecmds.c:2034 #, c-format msgid "type output function %s should not be volatile" -msgstr "%s 자료형 출력 함수는 volatile 특성이 없어야합니다" +msgstr "%s 자료형 출력 함수는 volatile 특성이 없어야 합니다" -#: commands/typecmds.c:1746 +#: commands/typecmds.c:2063 #, c-format msgid "type receive function %s has multiple matches" msgstr "%s 자료형 receive 함수가 여러 개 있습니다" -#: commands/typecmds.c:1764 +#: commands/typecmds.c:2081 #, c-format msgid "type receive function %s must return type %s" -msgstr "%s 자료형 receive 함수는 %s 자료형을 반환해야합니다" +msgstr "%s 자료형 receive 함수는 %s 자료형을 반환해야 합니다" -#: commands/typecmds.c:1771 +#: commands/typecmds.c:2088 #, c-format msgid "type receive function %s should not be volatile" -msgstr "%s 자료형 수신 함수는 volatile 특성이 없어야합니다" +msgstr "%s 자료형 수신 함수는 volatile 특성이 없어야 합니다" -#: commands/typecmds.c:1799 +#: commands/typecmds.c:2116 #, c-format msgid "type send function %s must return type %s" -msgstr "%s 자료형 전송 함수는 %s 자료형을 반환해야합니다" +msgstr "%s 자료형 전송 함수는 %s 자료형을 반환해야 합니다" -#: commands/typecmds.c:1806 +#: commands/typecmds.c:2123 #, c-format msgid "type send function %s should not be volatile" -msgstr "%s 자료형 송신 함수는 volatile 특성이 없어야합니다" +msgstr "%s 자료형 송신 함수는 volatile 특성이 없어야 합니다" -#: commands/typecmds.c:1833 +#: commands/typecmds.c:2150 #, c-format msgid "typmod_in function %s must return type %s" msgstr "%s typmod_in 함수는 %s 자료형을 반환해야 함" -#: commands/typecmds.c:1840 +#: commands/typecmds.c:2157 #, c-format msgid "type modifier input function %s should not be volatile" -msgstr "%s 자료형 형변환 입력 함수는 volatile 특성이 없어야합니다" +msgstr "%s 자료형 형변환 입력 함수는 volatile 특성이 없어야 합니다" -#: commands/typecmds.c:1867 +#: commands/typecmds.c:2184 #, c-format msgid "typmod_out function %s must return type %s" msgstr "%s typmod_out 함수는 %s 자료형을 반환해야 함" -#: commands/typecmds.c:1874 +#: commands/typecmds.c:2191 #, c-format msgid "type modifier output function %s should not be volatile" -msgstr "%s 자료형 형변환 출력 함수는 volatile 특성이 없어야합니다" +msgstr "%s 자료형 형변환 출력 함수는 volatile 특성이 없어야 합니다" -#: commands/typecmds.c:1901 +#: commands/typecmds.c:2218 #, c-format msgid "type analyze function %s must return type %s" msgstr "%s 자료형 분석 함수는 %s 자료형을 반환해야 함" -#: commands/typecmds.c:1947 +#: commands/typecmds.c:2247 +#, c-format +msgid "type subscripting function %s must return type %s" +msgstr "%s subscripting 함수의 반환값 자료형은 %s 형이어야 함" + +#: commands/typecmds.c:2257 +#, c-format +msgid "user-defined types cannot use subscripting function %s" +msgstr "사용자 정의 자료형은 %s subscripting 함수에서 쓸 수 없음" + +#: commands/typecmds.c:2303 #, c-format msgid "" "You must specify an operator class for the range type or define a default " @@ -11665,52 +13210,64 @@ msgstr "" "subtype을 위한 기본 연산자 클래스나 range 자료형을 위한 하나의 연산자 클래스" "를 지정해야 합니다" -#: commands/typecmds.c:1978 +#: commands/typecmds.c:2334 #, c-format msgid "range canonical function %s must return range type" -msgstr "%s 범위 기준 함수는 range 자료형을 반환해야합니다" +msgstr "%s 범위 기준 함수는 range 자료형을 반환해야 합니다" -#: commands/typecmds.c:1984 +#: commands/typecmds.c:2340 #, c-format msgid "range canonical function %s must be immutable" msgstr "%s 범위 기준 함수는 immutable 속성이어야 합니다" -#: commands/typecmds.c:2020 +#: commands/typecmds.c:2376 #, c-format msgid "range subtype diff function %s must return type %s" -msgstr "%s 범위 하위 자료 비교 함수는 %s 자료형을 반환해야합니다" +msgstr "%s 범위 하위 자료 비교 함수는 %s 자료형을 반환해야 합니다" -#: commands/typecmds.c:2027 +#: commands/typecmds.c:2383 #, c-format msgid "range subtype diff function %s must be immutable" msgstr "%s 범위 하위 자료 비교 함수는 immutable 속성이어야 합니다" -#: commands/typecmds.c:2054 +#: commands/typecmds.c:2410 #, c-format msgid "pg_type array OID value not set when in binary upgrade mode" msgstr "이진 업그레이드 작업 때 pg_type 배열 OID 값이 지정되지 않았습니다" -#: commands/typecmds.c:2352 +#: commands/typecmds.c:2443 +#, c-format +msgid "pg_type multirange OID value not set when in binary upgrade mode" +msgstr "" +"이진 업그레이드 작업 때 pg_type multirange OID 값이 지정되지 않았습니다" + +#: commands/typecmds.c:2476 +#, c-format +msgid "pg_type multirange array OID value not set when in binary upgrade mode" +msgstr "" +"이진 업그레이드 작업 때 pg_type multirange 배열 OID 값이 지정되지 않았습니다" + +#: commands/typecmds.c:2772 #, c-format msgid "column \"%s\" of table \"%s\" contains null values" msgstr "\"%s\" 열(해당 테이블 \"%s\")의 자료 가운데 null 값이 있습니다" -#: commands/typecmds.c:2465 commands/typecmds.c:2667 +#: commands/typecmds.c:2885 commands/typecmds.c:3086 #, c-format msgid "constraint \"%s\" of domain \"%s\" does not exist" msgstr "\"%s\" 제약 조건 \"%s\" 도메인에 포함되어 있지 않습니다." -#: commands/typecmds.c:2469 +#: commands/typecmds.c:2889 #, c-format msgid "constraint \"%s\" of domain \"%s\" does not exist, skipping" msgstr "\"%s\" 제약 조건 \"%s\" 도메인에 포함되어 있지 않음, 건너뜀" -#: commands/typecmds.c:2674 +#: commands/typecmds.c:3093 #, c-format msgid "constraint \"%s\" of domain \"%s\" is not a check constraint" msgstr "\"%s\" 제약 조건(해당 도메인: \"%s\")은 check 제약조건이 아님" -#: commands/typecmds.c:2780 +#: commands/typecmds.c:3194 #, c-format msgid "" "column \"%s\" of table \"%s\" contains values that violate the new constraint" @@ -11718,346 +13275,524 @@ msgstr "" "\"%s\" 열(해당 테이블 \"%s\")의 자료 중에, 새 제약 조건을 위반하는 자료가 있" "습니다" -#: commands/typecmds.c:3009 commands/typecmds.c:3207 commands/typecmds.c:3289 -#: commands/typecmds.c:3476 +#: commands/typecmds.c:3423 commands/typecmds.c:3622 commands/typecmds.c:3703 +#: commands/typecmds.c:3889 #, c-format msgid "%s is not a domain" msgstr "\"%s\" 이름의 개체는 도메인이 아닙니다" -#: commands/typecmds.c:3041 +#: commands/typecmds.c:3455 #, c-format msgid "constraint \"%s\" for domain \"%s\" already exists" msgstr "\"%s\" 제약 조건이 \"%s\" 도메인에 이미 지정되어 있습니다" -#: commands/typecmds.c:3092 +#: commands/typecmds.c:3506 #, c-format msgid "cannot use table references in domain check constraint" msgstr "도메인 용 체크 제약 조건에서는 테이블 참조를 사용할 수 없습니다" -#: commands/typecmds.c:3219 commands/typecmds.c:3301 commands/typecmds.c:3593 +#: commands/typecmds.c:3634 commands/typecmds.c:3715 commands/typecmds.c:4006 #, c-format msgid "%s is a table's row type" msgstr "%s 자료형은 테이블의 행 자료형(row type)입니다" -#: commands/typecmds.c:3221 commands/typecmds.c:3303 commands/typecmds.c:3595 +#: commands/typecmds.c:3636 commands/typecmds.c:3717 commands/typecmds.c:4008 #, c-format msgid "Use ALTER TABLE instead." msgstr "대신 ALTER TABLE을 사용하십시오." -#: commands/typecmds.c:3228 commands/typecmds.c:3310 commands/typecmds.c:3508 +#: commands/typecmds.c:3642 commands/typecmds.c:3723 commands/typecmds.c:3921 #, c-format msgid "cannot alter array type %s" msgstr "%s 배열 형식을 변경할 수 없음" -#: commands/typecmds.c:3230 commands/typecmds.c:3312 commands/typecmds.c:3510 +#: commands/typecmds.c:3644 commands/typecmds.c:3725 commands/typecmds.c:3923 #, c-format msgid "You can alter type %s, which will alter the array type as well." msgstr "%s 형식을 변경할 수 있으며, 이렇게 하면 배열 형식도 변경됩니다." -#: commands/typecmds.c:3578 +#: commands/typecmds.c:3991 #, c-format msgid "type \"%s\" already exists in schema \"%s\"" msgstr "%s 자료형이 이미 \"%s\" 스키마 안에 있습니다" -#: commands/typecmds.c:3746 +#: commands/typecmds.c:4159 #, c-format msgid "cannot change type's storage to PLAIN" msgstr "저장 옵션을 PLAIN으로 바꿀 수 없음" -#: commands/typecmds.c:3827 +#: commands/typecmds.c:4252 #, c-format msgid "type attribute \"%s\" cannot be changed" msgstr "\"%s\" 자료형 속성 바꿀 수 없음" -#: commands/typecmds.c:3845 +#: commands/typecmds.c:4270 #, c-format msgid "must be superuser to alter a type" msgstr "슈퍼유저만 자료형 속성을 바꿀 수 있음" -#: commands/typecmds.c:3866 commands/typecmds.c:3876 +#: commands/typecmds.c:4291 commands/typecmds.c:4300 #, c-format msgid "%s is not a base type" msgstr "\"%s\" 개체는 기본 자료형이 아님" -#: commands/user.c:140 +#: commands/user.c:201 #, c-format msgid "SYSID can no longer be specified" msgstr "SYSID는 더 이상 지정할 수 없음" -#: commands/user.c:294 -#, c-format -msgid "must be superuser to create superusers" -msgstr "새 슈퍼유저를 만드려면 슈퍼유져여야만 합니다" - -#: commands/user.c:301 +#: commands/user.c:319 commands/user.c:325 commands/user.c:331 +#: commands/user.c:337 commands/user.c:343 #, c-format -msgid "must be superuser to create replication users" -msgstr "새 복제작업용 사용자를 만드려면 슈퍼유저여야만 합니다" +msgid "permission denied to create role" +msgstr "롤 만들 권한 없음" -#: commands/user.c:308 commands/user.c:734 +#: commands/user.c:320 #, c-format -msgid "must be superuser to change bypassrls attribute" -msgstr "슈퍼유저만 bypassrls 속성을 바꿀 수 있음" +msgid "Only roles with the %s attribute may create roles." +msgstr "%s 속성을 가지고 있는 롤만이 롤을 만들 수 있습니다." -#: commands/user.c:315 +#: commands/user.c:326 commands/user.c:332 commands/user.c:338 +#: commands/user.c:344 #, c-format -msgid "permission denied to create role" -msgstr "롤 만들 권한 없음" +msgid "" +"Only roles with the %s attribute may create roles with the %s attribute." +msgstr "%s 속성을 가지고 있는 롤만 %s 속성을 가진 롤을 만들 수 있습니다." -#: commands/user.c:325 commands/user.c:1224 commands/user.c:1231 -#: utils/adt/acl.c:5327 utils/adt/acl.c:5333 gram.y:15146 gram.y:15184 +#: commands/user.c:355 commands/user.c:1393 commands/user.c:1400 +#: 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 "\"%s\" 롤 이름은 내부적으로 사용되고 있습니다" -#: commands/user.c:327 commands/user.c:1226 commands/user.c:1233 +#: commands/user.c:357 commands/user.c:1395 commands/user.c:1402 #, c-format msgid "Role names starting with \"pg_\" are reserved." msgstr "\"pg_\"로 시작하는 롤 이름은 사용할 수 없습니다." -#: commands/user.c:348 commands/user.c:1248 +#: commands/user.c:378 commands/user.c:1417 #, c-format msgid "role \"%s\" already exists" msgstr "\"%s\" 롤 이름이 이미 있습니다" -#: commands/user.c:414 commands/user.c:843 +#: commands/user.c:440 commands/user.c:925 #, c-format msgid "empty string is not a valid password, clearing password" msgstr "비밀번호로 빈 문자열을 사용할 수 없습니다. 비밀번호를 없앱니다" -#: commands/user.c:443 +#: commands/user.c:469 #, c-format msgid "pg_authid OID value not set when in binary upgrade mode" msgstr "이진 업그레이드 작업 때 pg_authid OID 값이 지정되지 않았습니다" -#: commands/user.c:720 commands/user.c:944 commands/user.c:1485 -#: commands/user.c:1627 +#: commands/user.c:653 commands/user.c:1011 +msgid "Cannot alter reserved roles." +msgstr "예약된 롤은 수정할 수 없습니다." + +#: commands/user.c:760 commands/user.c:766 commands/user.c:782 +#: commands/user.c:790 commands/user.c:804 commands/user.c:810 +#: commands/user.c:816 commands/user.c:825 commands/user.c:870 +#: commands/user.c:1033 commands/user.c:1044 #, c-format -msgid "must be superuser to alter superusers" -msgstr "슈퍼유저의 속성을 변경하련 슈퍼유져여야만 합니다" +msgid "permission denied to alter role" +msgstr "롤 변경 권한 없음" -#: commands/user.c:727 +#: commands/user.c:761 commands/user.c:1034 #, c-format -msgid "must be superuser to alter replication users" -msgstr "복제작업용 사용자의 속성을 변경하련 슈퍼유져여야만 합니다" +msgid "Only roles with the %s attribute may alter roles with the %s attribute." +msgstr "%s 속성이 있는 롤만 %s 속성을 가진 롤을 바꿀 수 있습니다." -#: commands/user.c:750 commands/user.c:951 +#: commands/user.c:767 commands/user.c:805 commands/user.c:811 +#: commands/user.c:817 #, c-format -msgid "permission denied" -msgstr "권한 없음" +msgid "Only roles with the %s attribute may change the %s attribute." +msgstr "%s 속성이 있는 롤만 %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 "" +"%s 속성과 %s 옵션을 지정한 롤(해당 롤: \"%s\")만 이 롤을 수정할 수 있습니다." + +#: 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 "" +"다른 롤의 비밀번호를 바꾸려면, 현재 사용자는 %s 속성과 %s 옵션이 지정된 롤이" +"어야 합니다." + +#: commands/user.c:826 +#, c-format +msgid "Only roles with the %s option on role \"%s\" may add members." +msgstr "%s 옵션 (해당 롤: \"%s\")이 있는 롤만 구성원을 추가할 수 있습니다." + +#: commands/user.c:871 +#, c-format +msgid "The bootstrap user must have the %s attribute." +msgstr "부트스트랩 사용자는 %s 속성을 가지고 있어야 합니다." + +#: commands/user.c:1076 +#, c-format +msgid "permission denied to alter setting" +msgstr "설정 변경 권한 없음" -#: commands/user.c:981 +#: commands/user.c:1077 #, c-format -msgid "must be superuser to alter settings globally" -msgstr "슈퍼유저만 전역 환경 설정을 바꿀 수 있습니다." +msgid "Only roles with the %s attribute may alter settings globally." +msgstr "%s 속성이 부여된 롤만 전역 환경 설정을 바꿀 수 있습니다." -#: commands/user.c:1003 +#: commands/user.c:1101 commands/user.c:1173 commands/user.c:1179 #, c-format msgid "permission denied to drop role" msgstr "롤을 삭제할 권한이 없습니다" -#: commands/user.c:1028 +#: 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 "" +"작업 롤은 %s 속성이 있어야하고, 삭제할 대상 롤을 %s 옵션이 있는 경우만 롤을 " +"삭제 할 수 있음" + +#: commands/user.c:1127 #, c-format msgid "cannot use special role specifier in DROP ROLE" msgstr "DROP ROLE 명령으로 삭제할 수 없는 특별한 롤입니다" -#: commands/user.c:1038 commands/user.c:1195 commands/variable.c:770 -#: commands/variable.c:844 utils/adt/acl.c:5184 utils/adt/acl.c:5231 -#: utils/adt/acl.c:5259 utils/adt/acl.c:5277 utils/init/miscinit.c:675 +#: commands/user.c:1137 commands/user.c:1364 commands/variable.c:836 +#: commands/variable.c:839 commands/variable.c:923 commands/variable.c:926 +#: utils/adt/acl.c: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 #, c-format msgid "role \"%s\" does not exist" msgstr "\"%s\" 롤(role) 없음" -#: commands/user.c:1043 +#: commands/user.c:1142 #, c-format msgid "role \"%s\" does not exist, skipping" msgstr "\"%s\" 룰(rule) 없음, 건너 뜀" -#: commands/user.c:1056 commands/user.c:1060 +#: commands/user.c:1155 commands/user.c:1159 #, c-format msgid "current user cannot be dropped" msgstr "현재 사용자는 삭제 될 수 없습니다" -#: commands/user.c:1064 +#: commands/user.c:1163 #, c-format msgid "session user cannot be dropped" msgstr "세션 사용자는 삭제 될 수 없습니다" -#: commands/user.c:1074 +#: commands/user.c:1174 #, c-format -msgid "must be superuser to drop superusers" -msgstr "superuser를 사용자를 삭제하려면 superuser여야만 합니다" +msgid "Only roles with the %s attribute may drop roles with the %s attribute." +msgstr "%s 속성이 있는 롤만 %s 속성을 가진 롤을 지울 수 있습니다." + +#: commands/user.c:1180 +#, c-format +msgid "" +"Only roles with the %s attribute and the %s option on role \"%s\" may drop " +"this role." +msgstr "" +"%s 속성과 %s 옵션을 지정한 롤(해당 롤: \"%s\")만 이 롤을 지울 수 있습니다." -#: commands/user.c:1090 +#: commands/user.c:1306 #, c-format msgid "role \"%s\" cannot be dropped because some objects depend on it" msgstr "기타 다른 개체들이 이 롤에 의존하고 있어, \"%s\" 롤을 삭제할 수 없음" -#: commands/user.c:1211 +#: commands/user.c:1380 #, c-format msgid "session user cannot be renamed" msgstr "세션 사용자의 이름은 바꿀 수 없습니다" -#: commands/user.c:1215 +#: commands/user.c:1384 #, c-format msgid "current user cannot be renamed" msgstr "현재 사용자의 이름은 바꿀 수 없습니다" -#: commands/user.c:1258 -#, c-format -msgid "must be superuser to rename superusers" -msgstr "superuser의 이름을 바꾸려면 superuser여야 합니다" - -#: commands/user.c:1265 +#: commands/user.c:1428 commands/user.c:1438 #, c-format msgid "permission denied to rename role" msgstr "롤 이름 바꾸기 권한 없음" -#: commands/user.c:1286 +#: commands/user.c:1429 +#, c-format +msgid "" +"Only roles with the %s attribute may rename roles with the %s attribute." +msgstr "%s 속성을 가지고 있는 롤만 %s 속성을 가진 롤 이름을 바꿀 수 있습니다." + +#: commands/user.c:1439 +#, c-format +msgid "" +"Only roles with the %s attribute and the %s option on role \"%s\" may rename " +"this role." +msgstr "" +"%s 속성과 %s 옵션을 가진 롤(해당 롤: \"%s\")만 이 롤 이름을 바꿀 수 있습니다." + +#: commands/user.c:1461 #, c-format msgid "MD5 password cleared because of role rename" msgstr "롤 이름이 변경 되어 MD5 암호를 지웠습니다" -#: commands/user.c:1346 +#: commands/user.c:1525 gram.y:1260 +#, c-format +msgid "unrecognized role option \"%s\"" +msgstr "인식할 수 없는 롤 옵션 \"%s\"" + +#: commands/user.c:1530 +#, c-format +msgid "unrecognized value for role option \"%s\": \"%s\"" +msgstr "\"%s\" 롤 옵션에서 쓸 수 없는 값: \"%s\"" + +#: commands/user.c:1563 #, c-format msgid "column names cannot be included in GRANT/REVOKE ROLE" msgstr "GRANT/REVOKE ROLE에 열 이름을 포함할 수 없음" -#: commands/user.c:1384 +#: commands/user.c:1603 #, c-format msgid "permission denied to drop objects" msgstr "개체를 삭제할 권한이 없음" -#: commands/user.c:1411 commands/user.c:1420 +#: commands/user.c:1604 +#, c-format +msgid "Only roles with privileges of role \"%s\" may drop objects owned by it." +msgstr "\"%s\" 롤의 권한을 가진 롤만 해당 객체를 삭제할 수 있습니다." + +#: commands/user.c:1632 commands/user.c:1643 #, c-format msgid "permission denied to reassign objects" msgstr "개체 권한을 재 지정할 권한이 없음" -#: commands/user.c:1493 commands/user.c:1635 +#: commands/user.c:1633 +#, c-format +msgid "" +"Only roles with privileges of role \"%s\" may reassign objects owned by it." +msgstr "\"%s\" 롤의 권한을 가진 롤만 해당 객체의 소유주를 바꿀 수 있습니다." + +#: commands/user.c:1644 #, c-format -msgid "must have admin option on role \"%s\"" -msgstr "\"%s\" 역할에 admin 옵션이 있어야 함" +msgid "Only roles with privileges of role \"%s\" may reassign objects to it." +msgstr "\"%s\" 롤의 권한을 가진 롤만 해당 객체를 다시 지정 할 수 있습니다." -#: commands/user.c:1510 +#: commands/user.c:1740 #, c-format -msgid "must be superuser to set grantor" -msgstr "grantor(?)를 지정하려면 슈퍼유져여야합니다" +msgid "role \"%s\" cannot be a member of any role" +msgstr "\"%s\" 롤은 다른 롤의 맴버가 될 수 없음" -#: commands/user.c:1535 +#: commands/user.c:1753 #, c-format msgid "role \"%s\" is a member of role \"%s\"" msgstr "\"%s\" 롤은 \"%s\" 롤의 구성원입니다" -#: commands/user.c:1550 +#: commands/user.c:1793 commands/user.c:1819 +#, c-format +msgid "%s option cannot be granted back to your own grantor" +msgstr "%s 옵션은 이 롤에 권한 부여한 롤에게 다시 부여될 수 없습니다." + +#: commands/user.c:1896 #, c-format -msgid "role \"%s\" is already a member of role \"%s\"" -msgstr "role \"%s\" is already a member of role \"%s\"" +msgid "" +"role \"%s\" has already been granted membership in role \"%s\" by role \"%s\"" +msgstr "\"%s\" 롤은 \"%s\"롤의 구성원입니다, 해당 작업 롤: \"%s\"" + +#: commands/user.c:2031 +#, c-format +msgid "" +"role \"%s\" has not been granted membership in role \"%s\" by role \"%s\"" +msgstr "\"%s\" 롤은 \"%s\"롤의 구성원이 아닙니다, 해당 작업 롤: \"%s\"" + +#: commands/user.c:2131 +#, c-format +msgid "role \"%s\" cannot have explicit members" +msgstr "\"%s\" 롤은 명시적 맴버를 가질 수 없음" + +#: commands/user.c:2142 commands/user.c:2165 +#, c-format +msgid "permission denied to grant role \"%s\"" +msgstr "\"%s\" 롤 권한을 지정할 수 없음" + +#: commands/user.c:2144 +#, c-format +msgid "Only roles with the %s attribute may grant roles with the %s attribute." +msgstr "%s 속성이 있는 롤만 %s 속성 권한을 부여할 수 있음." + +#: commands/user.c:2149 commands/user.c:2172 +#, c-format +msgid "permission denied to revoke role \"%s\"" +msgstr "\"%s\" 롤 권한 회수할 수 없음" + +#: commands/user.c:2151 +#, c-format +msgid "" +"Only roles with the %s attribute may revoke roles with the %s attribute." +msgstr "%s 속성이 있는 롤만이 %s 속성 권한을 회수할 수 있음." + +#: commands/user.c:2167 +#, c-format +msgid "Only roles with the %s option on role \"%s\" may grant this role." +msgstr "%s 옵션을 롤(해당 롤: \"%s\")만이 이 롤 권한을 부여할 수 있음." + +#: commands/user.c:2174 +#, c-format +msgid "Only roles with the %s option on role \"%s\" may revoke this role." +msgstr "%s 옵션을 롤(해당 롤: \"%s\")만이 이 롤 권한을 회수할 수 있음." + +#: commands/user.c:2254 commands/user.c:2263 +#, c-format +msgid "permission denied to grant privileges as role \"%s\"" +msgstr "\"%s\" 롤 권한을 부여할 수 없음" + +#: commands/user.c:2256 +#, c-format +msgid "" +"Only roles with privileges of role \"%s\" may grant privileges as this role." +msgstr "\"%s\" 롤 권한이 있는 롤만이 이 롤 권한을 부여할 수 있음." + +#: commands/user.c:2265 +#, c-format +msgid "The grantor must have the %s option on role \"%s\"." +msgstr "권한 부여자는 %s 옵션(해당 롤: \"%s\")이 있어야 함" + +#: commands/user.c:2273 +#, c-format +msgid "permission denied to revoke privileges granted by role \"%s\"" +msgstr "\"%s\" 롤이 부여한 권한을 회수 할 수 있는 권한 없음" + +#: commands/user.c:2275 +#, c-format +msgid "" +"Only roles with privileges of role \"%s\" may revoke privileges granted by " +"this role." +msgstr "" +"\"%s\" 롤 권한이 있는 롤만이 이 롤에 의해 부여한 권한을 회수할 수 있음." + +#: commands/user.c:2498 utils/adt/acl.c:1309 +#, c-format +msgid "dependent privileges exist" +msgstr "의존적인 권한이 존재합니다" + +#: commands/user.c:2499 utils/adt/acl.c:1310 +#, c-format +msgid "Use CASCADE to revoke them too." +msgstr "그것들을 취소하려면 \"CASCADE\"를 사용하세요." -#: commands/user.c:1657 +#: commands/vacuum.c:137 #, c-format -msgid "role \"%s\" is not a member of role \"%s\"" -msgstr "\"%s\" 롤은 \"%s\"롤의 구성원이 아닙니다" +msgid "\"vacuum_buffer_usage_limit\" must be 0 or between %d kB and %d kB" +msgstr "" +"\"vacuum_buffer_usage_limit\" 값은 0 이거나 %d kB에서 %d kB 사이값이여야 함" + +#: commands/vacuum.c:209 +#, c-format +msgid "BUFFER_USAGE_LIMIT option must be 0 or between %d kB and %d kB" +msgstr "BUFFER_USAGE_LIMIT 옵션 값은 0 이거나 %d kB에서 %d kB 사이값이여야 함" -#: commands/vacuum.c:129 +#: commands/vacuum.c:219 #, c-format msgid "unrecognized ANALYZE option \"%s\"" msgstr "알 수 없는 ANALYZE 옵션: \"%s\"" -#: commands/vacuum.c:151 +#: commands/vacuum.c:259 #, c-format msgid "parallel option requires a value between 0 and %d" msgstr "병렬 옵션은 0부터 %d까지 값만 사용할 수 있음" -#: commands/vacuum.c:163 +#: commands/vacuum.c:271 #, c-format -msgid "parallel vacuum degree must be between 0 and %d" -msgstr "병렬 청소 작업수는 0부터 %d까지 값만 사용할 수 있음" +msgid "parallel workers for vacuum must be between 0 and %d" +msgstr "청소용 병렬 작업자수는 0부터 %d까지 값만 사용할 수 있음" -#: commands/vacuum.c:180 +#: commands/vacuum.c:292 #, c-format msgid "unrecognized VACUUM option \"%s\"" msgstr "알 수 없는 VACUUM 옵션 \"%s\"" -#: commands/vacuum.c:203 +#: commands/vacuum.c:318 #, c-format msgid "VACUUM FULL cannot be performed in parallel" -msgstr "" +msgstr "VACUUM FULL 작업은 병렬로 처리할 수 없음" -#: commands/vacuum.c:219 +#: commands/vacuum.c:329 #, c-format -msgid "ANALYZE option must be specified when a column list is provided" -msgstr "ANALYZE 옵션은 칼럼 목록이 제공될 때 사용할 수 있습니다" +msgid "BUFFER_USAGE_LIMIT cannot be specified for VACUUM FULL" +msgstr "VACUUM FULL 작업에서는 BUFFER_USAGE_LIMIT 설정을 지정할 수 없음" -#: commands/vacuum.c:309 +#: commands/vacuum.c:343 #, c-format -msgid "%s cannot be executed from VACUUM or ANALYZE" -msgstr "%s 명령은 VACUUM, ANALYZE 명령에서 실행 될 수 없음" +msgid "ANALYZE option must be specified when a column list is provided" +msgstr "ANALYZE 옵션은 칼럼 목록이 제공될 때 사용할 수 있습니다" -#: commands/vacuum.c:319 +#: commands/vacuum.c:355 #, c-format msgid "VACUUM option DISABLE_PAGE_SKIPPING cannot be used with FULL" msgstr "" "VACUUM 명령에서 DISABLE_PAGE_SKIPPING 옵션과 FULL 옵션을 함께 사용할 수 없습" "니다." -#: commands/vacuum.c:560 +#: commands/vacuum.c:362 #, c-format -msgid "skipping \"%s\" --- only superuser can vacuum it" -msgstr "\"%s\" 건너뜀 --- 슈퍼유저만 청소할 수 있음" +msgid "PROCESS_TOAST required with VACUUM FULL" +msgstr "VACUUM FULL 작업은 PROCESS_TOAST 옵션이 포함되어야 함" -#: commands/vacuum.c:564 +#: commands/vacuum.c:371 #, c-format -msgid "skipping \"%s\" --- only superuser or database owner can vacuum it" -msgstr "\"%s\" 건너뜀 --- 슈퍼유저 또는 데이터베이스 소유주만 청소할 수 있음" +msgid "ONLY_DATABASE_STATS cannot be specified with a list of tables" +msgstr "ONLY_DATABASE_STATS 옵션은 여러 테이블 목록 대상으로는 사용할 수 없음" -#: commands/vacuum.c:568 +#: commands/vacuum.c:380 #, c-format -msgid "skipping \"%s\" --- only table or database owner can vacuum it" -msgstr "\"%s\" 건너뜀 --- 이 테이블이나 데이터베이스의 소유주만 청소할 수 있음" +msgid "ONLY_DATABASE_STATS cannot be specified with other VACUUM options" +msgstr "" +"ONLY_DATABASE_STATS 옵션은 다른 VACUUM 옵션들과 함께 사용할 수 없습니다." -#: commands/vacuum.c:583 +#: commands/vacuum.c:515 #, c-format -msgid "skipping \"%s\" --- only superuser can analyze it" -msgstr "\"%s\" 분석 건너뜀 --- 슈퍼유저만 분석할 수 있음" +msgid "%s cannot be executed from VACUUM or ANALYZE" +msgstr "%s 명령은 VACUUM, ANALYZE 명령에서 실행 될 수 없음" -#: commands/vacuum.c:587 +#: commands/vacuum.c:733 #, c-format -msgid "skipping \"%s\" --- only superuser or database owner can analyze it" -msgstr "" -"\"%s\" 분석 건너뜀 --- 슈퍼유저 또는 데이터베이스 소유주만 분석할 수 있음" +msgid "permission denied to vacuum \"%s\", skipping it" +msgstr "\"%s\" 청소할 접근 권한 없음, 건너 뜀" -#: commands/vacuum.c:591 +#: commands/vacuum.c:746 #, c-format -msgid "skipping \"%s\" --- only table or database owner can analyze it" -msgstr "\"%s\" 건너뜀 --- 테이블이나 데이터베이스 소유주만이 분석할 수 있음" +msgid "permission denied to analyze \"%s\", skipping it" +msgstr "\"%s\" 통계정보 수집할 권한 없음, 건너 뜀" -#: commands/vacuum.c:670 commands/vacuum.c:766 +#: commands/vacuum.c:824 commands/vacuum.c:921 #, c-format msgid "skipping vacuum of \"%s\" --- lock not available" msgstr "\"%s\" 개체 vacuum 건너뜀 --- 사용 가능한 잠금이 없음" -#: commands/vacuum.c:675 +#: commands/vacuum.c:829 #, c-format msgid "skipping vacuum of \"%s\" --- relation no longer exists" msgstr "\"%s\" 개체 vacuum 건너뜀 --- 해당 릴레이션 없음" -#: commands/vacuum.c:691 commands/vacuum.c:771 +#: commands/vacuum.c:845 commands/vacuum.c:926 #, c-format msgid "skipping analyze of \"%s\" --- lock not available" msgstr "\"%s\" 분석 건너뜀 --- 잠글 수 없음" -#: commands/vacuum.c:696 +#: commands/vacuum.c:850 #, c-format msgid "skipping analyze of \"%s\" --- relation no longer exists" msgstr "\"%s\" 분석 건너뜀 --- 릴레이션어 없음" -# # search5 부분 -#: commands/vacuum.c:994 +#: commands/vacuum.c:1161 #, c-format -msgid "oldest xmin is far in the past" -msgstr "가장 오래된 xmin이 너무 옛날 것입니다." +msgid "cutoff for removing and freezing tuples is far in the past" +msgstr "튜플을 지우고, 얼려버려기 위한 시작점이 너무 옛날 시점입니다." -#: commands/vacuum.c:995 +#: commands/vacuum.c:1162 commands/vacuum.c:1167 #, c-format msgid "" "Close open transactions soon to avoid wraparound problems.\n" @@ -12070,188 +13805,253 @@ msgstr "" "합니다." # # search5 부분 -#: commands/vacuum.c:1036 -#, c-format -msgid "oldest multixact is far in the past" -msgstr "가장 오래된 multixact 값이 너무 옛날 것입니다." - -#: commands/vacuum.c:1037 +#: commands/vacuum.c:1166 #, c-format -msgid "" -"Close open transactions with multixacts soon to avoid wraparound problems." -msgstr "" -"멀티 트랜잭션 ID 겹침 사고를 막기 위해 빨리 열린 멀티 트랜잭션들을 닫으십시" -"오." +msgid "cutoff for freezing multixacts is far in the past" +msgstr "영구 보관 처리할 multixact 값이 너무 옛날 것입니다." -#: commands/vacuum.c:1623 +#: commands/vacuum.c:1908 #, c-format msgid "some databases have not been vacuumed in over 2 billion transactions" msgstr "" "몇몇 데이터베이스가 20억 이상의 트랜잭션을 처리했음에도 불구하고 청소가되지 " "않았습니다" -#: commands/vacuum.c:1624 +#: commands/vacuum.c:1909 #, c-format msgid "You might have already suffered transaction-wraparound data loss." msgstr "이미 트래잭션 ID 겹침 현상으로 자료 손실이 발생했을 수도 있습니다." -#: commands/vacuum.c:1784 +#: commands/vacuum.c:2078 #, c-format msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables" msgstr "" "\"%s\" 건너뜀 --- 테이블이 아닌 것 또는 특별 시스템 테이블 등은 청소할 수 없" "음" -#: commands/variable.c:165 utils/misc/guc.c:11156 utils/misc/guc.c:11218 +#: commands/vacuum.c:2503 #, c-format -msgid "Unrecognized key word: \"%s\"." -msgstr "알 수 없는 키워드: \"%s\"" +msgid "scanned index \"%s\" to remove %d row versions" +msgstr "\"%s\" 인덱스를 스캔해서 %d개의 행 버전들을 지웠습니다" + +#: commands/vacuum.c:2522 +#, c-format +msgid "index \"%s\" now contains %.0f row versions in %u pages" +msgstr "\"%s\" 인덱스는 %.0f 행 버전을 %u 페이지에서 포함하고 있습니다." + +#: commands/vacuum.c:2526 +#, 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개의 인덱스 행 버전을 삭제했습니다.\n" +"%u개 인덱스 페이지를 새롭게 삭제했습니다.\n" +"%u개 인덱스 페이지를 현재 삭제해서, %u개 페이지를 다시 사용합니다." + +#: commands/vacuumparallel.c:677 +#, c-format +msgid "launched %d parallel vacuum worker for index vacuuming (planned: %d)" +msgid_plural "" +"launched %d parallel vacuum workers for index vacuuming (planned: %d)" +msgstr[0] "인덱스 청소를 위해 %d 개의 병렬 청소 작업자가 실행됨 (예상값: %d)" + +#: commands/vacuumparallel.c:683 +#, c-format +msgid "launched %d parallel vacuum worker for index cleanup (planned: %d)" +msgid_plural "" +"launched %d parallel vacuum workers for index cleanup (planned: %d)" +msgstr[0] "" +"인덱스 cleanup을 위해 %d 개의 병렬 청소 작업자가 실행됨 (예상값: %d)" -#: commands/variable.c:177 +#: commands/variable.c:185 #, c-format msgid "Conflicting \"datestyle\" specifications." msgstr "\"datestyle\" 지정이 충돌함" -#: commands/variable.c:299 +#: commands/variable.c:307 #, c-format msgid "Cannot specify months in time zone interval." msgstr "타임 존 간격에 달을 지정할 수 없음" -#: commands/variable.c:305 +#: commands/variable.c:313 #, c-format msgid "Cannot specify days in time zone interval." msgstr "타임 존 간격에 일을 지정할 수 없음" -#: commands/variable.c:343 commands/variable.c:425 +#: commands/variable.c:351 commands/variable.c:433 #, c-format msgid "time zone \"%s\" appears to use leap seconds" msgstr "\"%s\" time zone 에서 leap second를 사용합니다" -#: commands/variable.c:345 commands/variable.c:427 +#: commands/variable.c:353 commands/variable.c:435 #, c-format msgid "PostgreSQL does not support leap seconds." msgstr "PostgreSQL에서는 leap second를 지원하지 않습니다" -#: commands/variable.c:354 +#: commands/variable.c:362 #, c-format msgid "UTC timezone offset is out of range." msgstr "UTC 타입존 오프세트 범위가 벗어남." -#: commands/variable.c:494 +#: commands/variable.c:552 #, c-format msgid "cannot set transaction read-write mode inside a read-only transaction" msgstr "읽기 전용 트랜잭션 내에서 트랜잭션을 읽기/쓰기 모드로 설정할 수 없음" -#: commands/variable.c:501 +#: commands/variable.c:559 #, c-format msgid "transaction read-write mode must be set before any query" msgstr "읽기/쓰기 모드 트랜잭션은 모든 쿼리 앞에 지정해야 합니다." -#: commands/variable.c:508 +#: commands/variable.c:566 #, c-format msgid "cannot set transaction read-write mode during recovery" msgstr "복구 작업 중에는 트랜잭션을 읽기/쓰기 모드로 설정할 수 없음" -#: commands/variable.c:534 +#: commands/variable.c:592 #, c-format msgid "SET TRANSACTION ISOLATION LEVEL must be called before any query" msgstr "쿼리보다 먼저 SET TRANSACTION ISOLATION LEVEL을 호출해야 함" -#: commands/variable.c:541 +#: commands/variable.c:599 #, c-format msgid "SET TRANSACTION ISOLATION LEVEL must not be called in a subtransaction" msgstr "하위 트랜잭션에서 SET TRANSACTION ISOLATION LEVEL을 호출하지 않아야 함" -#: commands/variable.c:548 storage/lmgr/predicate.c:1623 +#: commands/variable.c:606 storage/lmgr/predicate.c:1629 #, c-format msgid "cannot use serializable mode in a hot standby" msgstr "읽기 전용 보조 서버 상태에서는 serializable 모드를 사용할 수 없음" -#: commands/variable.c:549 +#: commands/variable.c:607 #, c-format msgid "You can use REPEATABLE READ instead." msgstr "대신에, REPEATABLE READ 명령을 사용할 수 있음." -#: commands/variable.c:567 +#: commands/variable.c:625 #, c-format msgid "" "SET TRANSACTION [NOT] DEFERRABLE cannot be called within a subtransaction" msgstr "" "하위 트랜잭션에서 SET TRANSACTION [NOT] DEFERRABLE 구문은 사용할 수 없음" -#: commands/variable.c:573 +#: commands/variable.c:631 #, c-format msgid "SET TRANSACTION [NOT] DEFERRABLE must be called before any query" msgstr "모든 쿼리보다 먼저 SET TRANSACTION [NOT] DEFERRABLE 구문을 사용해야 함" -#: commands/variable.c:655 +#: commands/variable.c:713 #, c-format msgid "Conversion between %s and %s is not supported." msgstr "%s 인코딩과 %s 인코딩 사이의 변환은 지원하지 않습니다" -#: commands/variable.c:662 +#: commands/variable.c:720 #, c-format msgid "Cannot change \"client_encoding\" now." msgstr "\"client_encoding\" 값을 지금은 바꿀 수 없음" -#: commands/variable.c:723 +#: commands/variable.c:781 #, c-format msgid "cannot change client_encoding during a parallel operation" msgstr "병렬 작업 중에는 client_encoding 설정을 할 수 없음" -#: commands/variable.c:863 +#: commands/variable.c:948 +#, c-format +msgid "permission will be denied to set role \"%s\"" +msgstr "권한이 \"%s\" 롤 권한 지정을 거부할 것입니다" + +#: commands/variable.c:953 #, c-format msgid "permission denied to set role \"%s\"" msgstr "\"%s\" 롤 권한을 지정할 수 없음" +#: commands/variable.c:1153 +#, c-format +msgid "Bonjour is not supported by this build" +msgstr "Bonjour 기능을 뺀 채로 서버가 만들어졌습니다." + +#: commands/variable.c:1181 +#, c-format +msgid "" +"effective_io_concurrency must be set to 0 on platforms that lack " +"posix_fadvise()." +msgstr "" +"posix_fadvise() 함수에 문제가 있는 플랫폼에서는 effective_io_concurrency 설정" +"값이 0 이어야 합니다." + +#: commands/variable.c:1194 +#, c-format +msgid "" +"maintenance_io_concurrency must be set to 0 on platforms that lack " +"posix_fadvise()." +msgstr "" +"posix_fadvise() 함수에 문제가 있는 플랫폼에서는 maintenance_io_concurrency 설" +"정값이 0 이어야 합니다." + +#: commands/variable.c:1207 +#, c-format +msgid "SSL is not supported by this build" +msgstr "SSL 접속 기능을 뺀 채로 서버가 만들어졌습니다." + #: commands/view.c:84 #, c-format msgid "could not determine which collation to use for view column \"%s\"" msgstr "\"%s\" 칼럼 자료 처리를 위한 정렬 규칙을 결정할 수 없음" -#: commands/view.c:265 commands/view.c:276 +#: commands/view.c:279 commands/view.c:290 #, c-format msgid "cannot drop columns from view" msgstr "뷰에서 칼럼을 삭제할 수 없음" -#: commands/view.c:281 +#: commands/view.c:295 #, c-format msgid "cannot change name of view column \"%s\" to \"%s\"" msgstr "뷰에서 \"%s\" 칼럼 이름을 \"%s\"(으)로 바꿀 수 없음" -#: commands/view.c:284 +#: commands/view.c:298 #, c-format msgid "" "Use ALTER VIEW ... RENAME COLUMN ... to change name of view column instead." msgstr "" +"대신에 ALTER VIEW ... RENAME COLUMN ... 구문을 이용해서 뷰 칼럼 이름을 바꾸" +"세요." -#: commands/view.c:290 +#: commands/view.c:309 #, c-format msgid "cannot change data type of view column \"%s\" from %s to %s" msgstr "뷰에서 \"%s\" 칼럼 자료형을을 %s에서 %s(으)로 바꿀 수 없음" -#: commands/view.c:441 +#: commands/view.c:323 +#, c-format +msgid "cannot change collation of view column \"%s\" from \"%s\" to \"%s\"" +msgstr "" +"뷰에서 \"%s\" 칼럼 자료형의 문자 정렬 규칙을 \"%s\"에서 \"%s\"(으)로 바꿀 수 " +"없음" + +#: commands/view.c:392 #, c-format msgid "views must not contain SELECT INTO" msgstr "뷰에는 SELECT INTO 구문을 포함할 수 없음" -#: commands/view.c:453 +#: commands/view.c:404 #, c-format msgid "views must not contain data-modifying statements in WITH" msgstr "뷰로 사용될 쿼리의 WITH 절에는 자료 변경 구문이 있으면 안됩니다." -#: commands/view.c:523 +#: commands/view.c:474 #, c-format msgid "CREATE VIEW specifies more column names than columns" msgstr "CREATE VIEW 는 columns 보다는 좀더 많은 열 이름을 명시해야 한다" -#: commands/view.c:531 +#: commands/view.c:482 #, c-format msgid "views cannot be unlogged because they do not have storage" msgstr "" "뷰는 저장 공간을 사용하지 않기 때문에 unlogged 속성을 지정할 수 없습니다." -#: commands/view.c:545 +#: commands/view.c:496 #, c-format msgid "view \"%s\" will be a temporary view" msgstr "\"%s\" 뷰는 임시적인 뷰로 만들어집니다" @@ -12289,76 +14089,121 @@ msgstr "\"%s\" 커서가 로우에 놓여 있지 않음" msgid "cursor \"%s\" is not a simply updatable scan of table \"%s\"" msgstr "\"%s\" 커서는 \"%s\" 테이블의 단순 업데이트 가능한 스캔이 아님" -#: executor/execCurrent.c:280 executor/execExprInterp.c:2404 +#: 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 "" "%d번째 매개 변수의 자료형(%s)이 미리 준비된 실행계획의 자료형(%s)과 다릅니다" -#: executor/execCurrent.c:292 executor/execExprInterp.c:2416 +#: executor/execCurrent.c:292 executor/execExprInterp.c:2510 #, c-format msgid "no value found for parameter %d" msgstr "%d번째 매개 변수 값이 없습니다" -#: executor/execExpr.c:859 parser/parse_agg.c:816 +#: 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 +#, c-format +msgid "table row type and query-specified row type do not match" +msgstr "테이블 행 형식과 쿼리 지정 행 형식이 일치하지 않음" + +#: executor/execExpr.c:638 executor/nodeModifyTable.c:198 +#, c-format +msgid "Query has too many columns." +msgstr "쿼리에 칼럼이 너무 많습니다." + +#: executor/execExpr.c:645 executor/nodeModifyTable.c:226 +#, 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 +#, c-format +msgid "Table has type %s at ordinal position %d, but query expects %s." +msgstr "" +"테이블에는 %s 형식이 있는데(서수 위치 %d) 쿼리에는 %s이(가) 필요합니다." + +#: executor/execExpr.c:1099 parser/parse_agg.c:827 #, c-format msgid "window function calls cannot be nested" msgstr "윈도우 함수 호출을 중첩할 수 없음" -#: executor/execExpr.c:1318 +#: executor/execExpr.c:1618 #, c-format msgid "target type is not an array" msgstr "대상 자료형이 배열이 아닙니다." -#: executor/execExpr.c:1651 +#: executor/execExpr.c:1958 #, c-format msgid "ROW() column has type %s instead of type %s" msgstr "ROW() 칼럼은 %s 자료형을 가집니다. %s 자료형 대신에" -#: executor/execExpr.c:2176 executor/execSRF.c:708 parser/parse_func.c:135 -#: parser/parse_func.c:646 parser/parse_func.c:1020 +#: 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" msgid_plural "cannot pass more than %d arguments to a function" msgstr[0] "함수에 최대 %d개의 인자를 전달할 수 있음" -#: executor/execExpr.c:2587 executor/execExpr.c:2593 -#: executor/execExprInterp.c:2730 utils/adt/arrayfuncs.c:262 -#: utils/adt/arrayfuncs.c:560 utils/adt/arrayfuncs.c:1302 -#: utils/adt/arrayfuncs.c:3348 utils/adt/arrayfuncs.c:5308 -#: utils/adt/arrayfuncs.c:5821 +#: 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 #, c-format -msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" -msgstr "지정한 배열 크기(%d)가 최대치(%d)를 초과했습니다" +msgid "set-valued function called in context that cannot accept a set" +msgstr "" +"set-values 함수(테이블 리턴 함수)가 set 정의 없이 사용되었습니다 (테이블과 해" +"당 열 alias 지정하세요)" -#: executor/execExprInterp.c:1894 +#: 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 "" +"이 자료형은 subscript 형을 지원하지 않기 때문에, %s subscript 자료형을 사용" +"할 수 없음" + +#: executor/execExpr.c:3135 executor/execExpr.c:3157 +#, c-format +msgid "type %s does not support subscripted assignment" +msgstr "%s 자료형은 subscript 지정을 지원하지 않음" + +#: executor/execExprInterp.c:1962 #, c-format msgid "attribute %d of type %s has been dropped" msgstr "%d 번째 속성(대상 자료형 %s)이 삭제되었음" -#: executor/execExprInterp.c:1900 +#: executor/execExprInterp.c:1968 #, c-format msgid "attribute %d of type %s has wrong type" msgstr "%d 번째 속성(대상 자료형 %s)의 자료형이 잘못되었음" -#: executor/execExprInterp.c:1902 executor/execExprInterp.c:3002 -#: executor/execExprInterp.c:3049 +#: executor/execExprInterp.c:1970 executor/execExprInterp.c:3104 +#: executor/execExprInterp.c:3150 #, c-format msgid "Table has type %s, but query expects %s." msgstr "테이블에는 %s 자료형이지만, 쿼리에서는 %s 자료형입니다." -#: executor/execExprInterp.c:2494 +#: executor/execExprInterp.c:2050 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 +#, c-format +msgid "type %s is not composite" +msgstr "%s 자료형은 복합 자료형이 아닙니다" + +#: executor/execExprInterp.c:2588 #, c-format msgid "WHERE CURRENT OF is not supported for this table type" msgstr "WHERE CURRENT OF 구문은 이 테이블 형 대상으로 지원하지 않습니다." -#: executor/execExprInterp.c:2708 +#: executor/execExprInterp.c:2801 #, c-format msgid "cannot merge incompatible arrays" msgstr "배열 형태가 서로 틀려 병합할 수 없습니다" -#: executor/execExprInterp.c:2709 +#: executor/execExprInterp.c:2802 #, c-format msgid "" "Array with element type %s cannot be included in ARRAY construct with " @@ -12367,59 +14212,59 @@ msgstr "" "%s 자료형의 요소로 구성된 배열은 %s 자료형의 요소로 구성된 ARRAY 구문에 포함" "될 수 없습니다." -#: executor/execExprInterp.c:2750 executor/execExprInterp.c:2780 +#: 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 +#: utils/adt/arraysubs.c:488 +#, c-format +msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" +msgstr "지정한 배열 크기(%d)가 최대치(%d)를 초과했습니다" + +#: executor/execExprInterp.c:2843 executor/execExprInterp.c:2878 #, c-format msgid "" "multidimensional arrays must have array expressions with matching dimensions" msgstr "다차원 배열에는 일치하는 차원이 포함된 배열 식이 있어야 함" -#: executor/execExprInterp.c:3001 executor/execExprInterp.c:3048 +#: 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 #, c-format -msgid "attribute %d has wrong type" -msgstr "%d 속성의 형식이 잘못됨" +msgid "array size exceeds the maximum allowed (%d)" +msgstr "배열 크기가 최대치 (%d)를 초과했습니다" -#: executor/execExprInterp.c:3158 +#: executor/execExprInterp.c:3103 executor/execExprInterp.c:3149 #, c-format -msgid "array subscript in assignment must not be null" -msgstr "배열 하위 스크립트로 지정하는 값으로 null 값을 사용할 수 없습니다" +msgid "attribute %d has wrong type" +msgstr "%d 속성의 형식이 잘못됨" -#: executor/execExprInterp.c:3588 utils/adt/domains.c:149 +#: executor/execExprInterp.c:3735 utils/adt/domains.c:155 #, c-format msgid "domain %s does not allow null values" msgstr "%s 도메인에서는 null 값을 허용하지 않습니다" -#: executor/execExprInterp.c:3603 utils/adt/domains.c:184 +#: executor/execExprInterp.c:3750 utils/adt/domains.c:193 #, c-format msgid "value for domain %s violates check constraint \"%s\"" msgstr "%s 도메인용 값이 \"%s\" 체크 제약 조건을 위반했습니다" -#: executor/execExprInterp.c:3973 executor/execExprInterp.c:3990 -#: executor/execExprInterp.c:4091 executor/nodeModifyTable.c:109 -#: executor/nodeModifyTable.c:120 executor/nodeModifyTable.c:137 -#: executor/nodeModifyTable.c:145 -#, c-format -msgid "table row type and query-specified row type do not match" -msgstr "테이블 행 형식과 쿼리 지정 행 형식이 일치하지 않음" - -#: executor/execExprInterp.c:3974 +#: 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] "" "테이블 행에는 %d개 속성이 포함되어 있는데 쿼리에는 %d개가 필요합니다." -#: executor/execExprInterp.c:3991 executor/nodeModifyTable.c:121 -#, c-format -msgid "Table has type %s at ordinal position %d, but query expects %s." -msgstr "" -"테이블에는 %s 형식이 있는데(서수 위치 %d) 쿼리에는 %s이(가) 필요합니다." - -#: executor/execExprInterp.c:4092 executor/execSRF.c:967 +#: executor/execExprInterp.c:4351 executor/execSRF.c:978 #, c-format msgid "Physical storage mismatch on dropped attribute at ordinal position %d." msgstr "서수 위치 %d의 삭제된 속성에서 실제 스토리지 불일치가 발생합니다." -#: executor/execIndexing.c:550 +#: executor/execIndexing.c:588 #, c-format msgid "" "ON CONFLICT does not support deferrable unique constraints/exclusion " @@ -12428,54 +14273,54 @@ msgstr "" "지연 가능한 고유 제약조건이나 제외 제약 조건은 ON CONFLICT 판별자로 사용할 " "수 없습니다." -#: executor/execIndexing.c:821 +#: executor/execIndexing.c:865 #, c-format msgid "could not create exclusion constraint \"%s\"" msgstr "\"%s\" exclusion 제약 조건을 만들 수 없음" -#: executor/execIndexing.c:824 +#: executor/execIndexing.c:868 #, c-format msgid "Key %s conflicts with key %s." msgstr "%s 키와 %s 가 충돌함" -#: executor/execIndexing.c:826 +#: executor/execIndexing.c:870 #, c-format msgid "Key conflicts exist." msgstr "키 충돌 발생" -#: executor/execIndexing.c:832 +#: executor/execIndexing.c:876 #, c-format msgid "conflicting key value violates exclusion constraint \"%s\"" msgstr "\"%s\" exclusion 제약 조건에 따라 키 값 충돌이 발생했습니다." -#: executor/execIndexing.c:835 +#: executor/execIndexing.c:879 #, c-format msgid "Key %s conflicts with existing key %s." msgstr "%s 키가 이미 있는 %s 키와 충돌합니다." -#: executor/execIndexing.c:837 +#: executor/execIndexing.c:881 #, c-format msgid "Key conflicts with existing key." msgstr "키가 기존 키와 충돌함" -#: executor/execMain.c:1091 +#: executor/execMain.c:1039 #, c-format msgid "cannot change sequence \"%s\"" msgstr "\"%s\" 시퀀스를 바꿀 수 없음" -#: executor/execMain.c:1097 +#: executor/execMain.c:1045 #, c-format msgid "cannot change TOAST relation \"%s\"" msgstr "\"%s\" TOAST 릴레이션을 바꿀 수 없음" -#: executor/execMain.c:1115 rewrite/rewriteHandler.c:2934 -#: rewrite/rewriteHandler.c:3708 +#: executor/execMain.c:1063 rewrite/rewriteHandler.c:3079 +#: rewrite/rewriteHandler.c:3966 #, c-format msgid "cannot insert into view \"%s\"" msgstr "\"%s\" 뷰에 자료를 입력할 수 없습니다" -#: executor/execMain.c:1117 rewrite/rewriteHandler.c:2937 -#: rewrite/rewriteHandler.c:3711 +#: executor/execMain.c:1065 rewrite/rewriteHandler.c:3082 +#: rewrite/rewriteHandler.c:3969 #, c-format msgid "" "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or " @@ -12484,14 +14329,14 @@ msgstr "" "뷰를 통해 자료를 입력하려면, INSTEAD OF INSERT 트리거나 ON INSERT DO INSTEAD " "룰을 사용하세요" -#: executor/execMain.c:1123 rewrite/rewriteHandler.c:2942 -#: rewrite/rewriteHandler.c:3716 +#: executor/execMain.c:1071 rewrite/rewriteHandler.c:3087 +#: rewrite/rewriteHandler.c:3974 #, c-format msgid "cannot update view \"%s\"" msgstr "\"%s\" 뷰로는 자료를 갱신할 수 없습니다" -#: executor/execMain.c:1125 rewrite/rewriteHandler.c:2945 -#: rewrite/rewriteHandler.c:3719 +#: executor/execMain.c:1073 rewrite/rewriteHandler.c:3090 +#: rewrite/rewriteHandler.c:3977 #, c-format msgid "" "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an " @@ -12500,14 +14345,14 @@ msgstr "" "뷰 자료 갱신 기능은 INSTEAD OF UPDATE 트리거를 사용하거나, ON UPDATE DO " "INSTEAD 속성으로 룰을 만들어서 사용해 보세요." -#: executor/execMain.c:1131 rewrite/rewriteHandler.c:2950 -#: rewrite/rewriteHandler.c:3724 +#: executor/execMain.c:1079 rewrite/rewriteHandler.c:3095 +#: rewrite/rewriteHandler.c:3982 #, c-format msgid "cannot delete from view \"%s\"" msgstr "\"%s\" 뷰로는 자료를 삭제할 수 없습니다" -#: executor/execMain.c:1133 rewrite/rewriteHandler.c:2953 -#: rewrite/rewriteHandler.c:3727 +#: executor/execMain.c:1081 rewrite/rewriteHandler.c:3098 +#: rewrite/rewriteHandler.c:3985 #, c-format msgid "" "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an " @@ -12516,116 +14361,136 @@ msgstr "" "뷰 자료 삭제 기능은 INSTEAD OF DELETE 트리거를 사용하거나, ON DELETE DO " "INSTEAD 속성으로 룰을 만들어서 사용해 보세요." -#: executor/execMain.c:1144 +#: executor/execMain.c:1092 #, c-format msgid "cannot change materialized view \"%s\"" msgstr "\"%s\" 구체화된 뷰를 바꿀 수 없음" -#: executor/execMain.c:1156 +#: executor/execMain.c:1104 #, c-format msgid "cannot insert into foreign table \"%s\"" msgstr "\"%s\" 외부 테이블에 자료를 입력할 수 없음" -#: executor/execMain.c:1162 +#: executor/execMain.c:1110 #, c-format msgid "foreign table \"%s\" does not allow inserts" msgstr "\"%s\" 외부 테이블은 자료 입력을 허용하지 않음" -#: executor/execMain.c:1169 +#: executor/execMain.c:1117 #, c-format msgid "cannot update foreign table \"%s\"" msgstr "\"%s\" 외부 테이블에 자료를 변경 할 수 없음" -#: executor/execMain.c:1175 +#: executor/execMain.c:1123 #, c-format msgid "foreign table \"%s\" does not allow updates" msgstr "\"%s\" 외부 테이블은 자료 변경을 허용하지 않음" -#: executor/execMain.c:1182 +#: executor/execMain.c:1130 #, c-format msgid "cannot delete from foreign table \"%s\"" msgstr "\"%s\" 외부 테이블에 자료를 삭제 할 수 없음" -#: executor/execMain.c:1188 +#: executor/execMain.c:1136 #, c-format msgid "foreign table \"%s\" does not allow deletes" msgstr "\"%s\" 외부 테이블은 자료 삭제를 허용하지 않음" -#: executor/execMain.c:1199 +#: executor/execMain.c:1147 #, c-format msgid "cannot change relation \"%s\"" msgstr "\"%s\" 릴레이션을 바꿀 수 없음" -#: executor/execMain.c:1226 +#: executor/execMain.c:1174 #, c-format msgid "cannot lock rows in sequence \"%s\"" msgstr "\"%s\" 시퀀스에서 로우를 잠글 수 없음" -#: executor/execMain.c:1233 +#: executor/execMain.c:1181 #, c-format msgid "cannot lock rows in TOAST relation \"%s\"" msgstr "\"%s\" TOAST 릴레이션에서 로우를 잠글 수 없음" -#: executor/execMain.c:1240 +#: executor/execMain.c:1188 #, c-format msgid "cannot lock rows in view \"%s\"" msgstr "\"%s\" 뷰에서 로우를 잠글 수 없음" -#: executor/execMain.c:1248 +#: executor/execMain.c:1196 #, c-format msgid "cannot lock rows in materialized view \"%s\"" msgstr "\"%s\" 구체화된 뷰에서 로우를 잠글 수 없음" -#: executor/execMain.c:1257 executor/execMain.c:2627 -#: executor/nodeLockRows.c:132 +#: executor/execMain.c:1205 executor/execMain.c:2708 +#: executor/nodeLockRows.c:135 #, c-format msgid "cannot lock rows in foreign table \"%s\"" msgstr "\"%s\" 외부 테이블에서 로우를 잠글 수 없음" -#: executor/execMain.c:1263 +#: executor/execMain.c:1211 #, c-format msgid "cannot lock rows in relation \"%s\"" msgstr "\"%s\" 릴레이션에서 로우를 잠글 수 없음" -#: executor/execMain.c:1879 +#: executor/execMain.c:1922 #, c-format msgid "new row for relation \"%s\" violates partition constraint" msgstr "새 자료가 \"%s\" 릴레이션의 파티션 제약 조건을 위반했습니다" -#: executor/execMain.c:1881 executor/execMain.c:1964 executor/execMain.c:2012 -#: executor/execMain.c:2120 +#: executor/execMain.c:1924 executor/execMain.c:2008 executor/execMain.c:2059 +#: executor/execMain.c:2169 #, c-format msgid "Failing row contains %s." msgstr "실패한 자료: %s" -#: executor/execMain.c:1961 +#: executor/execMain.c:2005 #, c-format msgid "" "null value in column \"%s\" of relation \"%s\" violates not-null constraint" -msgstr "\"%s\" 칼럼(해당 릴레이션 \"%s\")의 null 값이 not null 제약조건을 위반했습니다." +msgstr "" +"\"%s\" 칼럼(해당 릴레이션 \"%s\")의 null 값이 not null 제약조건을 위반했습니" +"다." -#: executor/execMain.c:2010 +#: executor/execMain.c:2057 #, c-format msgid "new row for relation \"%s\" violates check constraint \"%s\"" msgstr "새 자료가 \"%s\" 릴레이션의 \"%s\" 체크 제약 조건을 위반했습니다" -#: executor/execMain.c:2118 +#: executor/execMain.c:2167 #, c-format msgid "new row violates check option for view \"%s\"" msgstr "새 자료가 \"%s\" 뷰의 체크 제약 조건을 위반했습니다" -#: executor/execMain.c:2128 +#: executor/execMain.c:2177 #, c-format msgid "new row violates row-level security policy \"%s\" for table \"%s\"" msgstr "" "새 자료가 \"%s\" 로우 단위 보안 정책을 위반했습니다, 해당 테이블: \"%s\"" -#: executor/execMain.c:2133 +#: executor/execMain.c:2182 #, c-format msgid "new row violates row-level security policy for table \"%s\"" msgstr "새 자료가 \"%s\" 테이블의 로우 단위 보안 정책을 위반했습니다." -#: executor/execMain.c:2140 +#: executor/execMain.c:2190 +#, c-format +msgid "" +"target row violates row-level security policy \"%s\" (USING expression) for " +"table \"%s\"" +msgstr "" +"대상 로우가 \"%s\" 로우 단위 보안 정책(USING 절 사용)을 위반했습니다, 해당 테" +"이블: \"%s\"" + +#: executor/execMain.c:2195 +#, c-format +msgid "" +"target row violates row-level security policy (USING expression) for table " +"\"%s\"" +msgstr "" +"대상 로우가 \"%s\" 테이블의 로우 단위 보안 정책(USING 절 사용)을 위반했습니" +"다." + +#: executor/execMain.c:2202 #, c-format msgid "" "new row violates row-level security policy \"%s\" (USING expression) for " @@ -12634,7 +14499,7 @@ msgstr "" "새 자료가 \"%s\" 로우 단위 보안 정책(USING 절 사용)을 위반했습니다, 해당 테이" "블: \"%s\"" -#: executor/execMain.c:2145 +#: executor/execMain.c:2207 #, c-format msgid "" "new row violates row-level security policy (USING expression) for table \"%s" @@ -12642,17 +14507,17 @@ msgid "" msgstr "" "새 자료가 \"%s\" 테이블의 로우 단위 보안 정책(USING 절 사용)을 위반했습니다." -#: executor/execPartition.c:341 +#: executor/execPartition.c:330 #, c-format msgid "no partition of relation \"%s\" found for row" msgstr "해당 로우를 위한 \"%s\" 릴레이션용 파티션이 없음" -#: executor/execPartition.c:344 +#: executor/execPartition.c:333 #, c-format msgid "Partition key of the failing row contains %s." msgstr "실패한 로우의 파티션 키 값: %s" -#: executor/execReplication.c:196 executor/execReplication.c:373 +#: executor/execReplication.c:231 executor/execReplication.c:415 #, c-format msgid "" "tuple to be locked was already moved to another partition due to concurrent " @@ -12660,26 +14525,50 @@ msgid "" msgstr "" "다른 업데이트 작업으로 잠굴 튜플이 이미 다른 파티션으로 이동되었음, 재시도함" -#: executor/execReplication.c:200 executor/execReplication.c:377 +#: executor/execReplication.c:235 executor/execReplication.c:419 #, c-format msgid "concurrent update, retrying" msgstr "동시 업데이트, 다시 시도 중" -#: executor/execReplication.c:206 executor/execReplication.c:383 +#: executor/execReplication.c:241 executor/execReplication.c:425 #, c-format msgid "concurrent delete, retrying" msgstr "동시 삭제, 다시 시도 중" -#: executor/execReplication.c:269 parser/parse_oper.c:228 -#: utils/adt/array_userfuncs.c:719 utils/adt/array_userfuncs.c:858 -#: utils/adt/arrayfuncs.c:3626 utils/adt/arrayfuncs.c:4146 -#: utils/adt/arrayfuncs.c:6132 utils/adt/rowtypes.c:1182 +#: 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/rowtypes.c:1230 #, c-format msgid "could not identify an equality operator for type %s" msgstr "" "%s 자료형에서 사용할 동등 연산자(equality operator)를 찾을 수 없습니다." -#: executor/execReplication.c:586 +#: executor/execReplication.c:642 executor/execReplication.c:648 +#, c-format +msgid "cannot update table \"%s\"" +msgstr "\"%s\" 테이블에 자료를 변경 할 수 없음" + +#: 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 "발행의 WHERE 절에서 사용한 칼럼이 복제 식별자의 한 부분이 아닙니다." + +#: executor/execReplication.c:650 executor/execReplication.c:662 +#, c-format +msgid "" +"Column list used by the publication does not cover the replica identity." +msgstr "발행에서 사용되는 칼럼 목록이 복제 식별자를 모두 포함하지 못했습니다." + +#: executor/execReplication.c:654 executor/execReplication.c:660 +#, c-format +msgid "cannot delete from table \"%s\"" +msgstr "\"%s\" 테이블에 자료를 삭제 할 수 없음" + +#: executor/execReplication.c:680 #, c-format msgid "" "cannot update table \"%s\" because it does not have a replica identity and " @@ -12688,56 +14577,52 @@ msgstr "" "\"%s\" 테이블 업데이트 실패, 이 테이블에는 복제용 식별자를 지정하지 않았거" "나, updates 옵션 없이 발행했습니다" -#: executor/execReplication.c:588 +#: executor/execReplication.c:682 #, c-format msgid "To enable updating the table, set REPLICA IDENTITY using ALTER TABLE." msgstr "" "업데이트를 하려면, ALTER TABLE 명령어에서 REPLICA IDENTITY 옵션을 사용하세요" -#: executor/execReplication.c:592 +#: executor/execReplication.c:686 #, c-format msgid "" "cannot delete from table \"%s\" because it does not have a replica identity " "and publishes deletes" msgstr "\"%s\" 테이블 자료 삭제 실패, 복제 식별자와 deletes 발행을 안함" -#: executor/execReplication.c:594 +#: executor/execReplication.c:688 #, c-format msgid "" "To enable deleting from the table, set REPLICA IDENTITY using ALTER TABLE." msgstr "삭제 하려면, ALTER TABLE 명령어에서 REPLICA IDENTITY 옵션을 사용하세요" -#: executor/execReplication.c:613 executor/execReplication.c:621 +#: executor/execReplication.c:704 #, c-format msgid "cannot use relation \"%s.%s\" as logical replication target" msgstr "\"%s.%s\" 릴레이션은 논리 복제 대상이 될 수 없음" -#: executor/execReplication.c:615 -#, c-format -msgid "\"%s.%s\" is a foreign table." -msgstr "\"%s.%s\" 개체는 외부 테이블입니다." - -#: executor/execReplication.c:623 -#, c-format -msgid "\"%s.%s\" is not a table." -msgstr "\"%s.%s\" 개체는 테이블이 아닙니다." - -#: executor/execSRF.c:315 +#: executor/execSRF.c:316 #, c-format msgid "rows returned by function are not all of the same row type" msgstr "함수 호출로 반환되는 로우가 같은 로우형의 전부가 아닙니다" -#: executor/execSRF.c:363 executor/execSRF.c:657 +#: executor/execSRF.c:366 +#, c-format +msgid "table-function protocol for value-per-call mode was not followed" +msgstr "" +"value-per-call 모드를 위한 테이블 함수 프로토콜이 뒤이어 오지 않았습니다" + +#: executor/execSRF.c:374 executor/execSRF.c:668 #, c-format msgid "table-function protocol for materialize mode was not followed" msgstr "materialize 모드를 위한 테이블 함수 프로토콜이 뒤이어 오지 않았습니다" -#: executor/execSRF.c:370 executor/execSRF.c:675 +#: executor/execSRF.c:381 executor/execSRF.c:686 #, c-format msgid "unrecognized table-function returnMode: %d" msgstr "알 수 없는 테이블-함수 리턴모드: %d" -#: executor/execSRF.c:884 +#: executor/execSRF.c:895 #, c-format msgid "" "function returning setof record called in context that cannot accept type " @@ -12745,79 +14630,85 @@ msgid "" msgstr "" "setof 레코드 반환 함수가 type 레코드를 허용하지 않는 컨텍스트에서 호출됨" -#: executor/execSRF.c:940 executor/execSRF.c:956 executor/execSRF.c:966 +#: executor/execSRF.c:951 executor/execSRF.c:967 executor/execSRF.c:977 #, c-format msgid "function return row and query-specified return row do not match" msgstr "함수 반환 행과 쿼리 지정 반환 행이 일치하지 않음" -#: executor/execSRF.c:941 +#: executor/execSRF.c:952 #, c-format msgid "Returned row contains %d attribute, but query expects %d." msgid_plural "Returned row contains %d attributes, but query expects %d." msgstr[0] "" "반환된 행에는 %d개 속성이 포함되어 있는데 쿼리에는 %d개가 필요합니다." -#: executor/execSRF.c:957 +#: executor/execSRF.c:968 #, c-format msgid "Returned type %s at ordinal position %d, but query expects %s." msgstr "반환된 형식은 %s인데(서수 위치 %d) 쿼리에는 %s이(가) 필요합니다." -#: executor/execUtils.c:750 +#: executor/execTuples.c:146 executor/execTuples.c:353 +#: executor/execTuples.c:521 executor/execTuples.c:713 +#, c-format +msgid "cannot retrieve a system column in this context" +msgstr "이 컨텍스트에는 시스템 칼럼을 찾을 수 없음" + +#: executor/execUtils.c:744 #, c-format msgid "materialized view \"%s\" has not been populated" msgstr "\"%s\" 구체화된 뷰가 아직 구체화되지 못했습니다." -#: executor/execUtils.c:752 +#: executor/execUtils.c:746 #, c-format msgid "Use the REFRESH MATERIALIZED VIEW command." msgstr "REFRESH MATERIALIZED VIEW 명령을 사용하세요." -#: executor/functions.c:231 +#: executor/functions.c:217 #, c-format msgid "could not determine actual type of argument declared %s" msgstr "%s 인자의 자료형으로 지정한 자료형의 기본 자료형을 찾을 수 없습니다" -#: executor/functions.c:528 +#: executor/functions.c:512 #, c-format -msgid "cannot COPY to/from client in a SQL function" -msgstr "SQL 함수에서 클라이언트 대상 COPY 작업을 할 수 없음" +msgid "cannot COPY to/from client in an SQL function" +msgstr "SQL 함수에서 클라이언트 대상 COPY to/from 작업을 할 수 없음" #. translator: %s is a SQL statement name -#: executor/functions.c:534 +#: executor/functions.c:518 #, c-format -msgid "%s is not allowed in a SQL function" -msgstr "SQL 함수에서 %s 지원되지 않음" +msgid "%s is not allowed in an SQL function" +msgstr "SQL 함수에서는 %s 구문을 허용하지 않음" #. translator: %s is a SQL statement name -#: executor/functions.c:542 executor/spi.c:1471 executor/spi.c:2257 +#: executor/functions.c:526 executor/spi.c:1742 executor/spi.c:2635 #, c-format msgid "%s is not allowed in a non-volatile function" msgstr "%s 구문은 비휘발성 함수(non-volatile function)에서 허용하지 않습니다" -#: executor/functions.c:1430 +#: executor/functions.c:1450 #, c-format msgid "SQL function \"%s\" statement %d" msgstr "SQL 함수 \"%s\"의 문 %d" -#: executor/functions.c:1456 +#: executor/functions.c:1476 #, c-format msgid "SQL function \"%s\" during startup" msgstr "시작 중 SQL 함수 \"%s\"" -#: executor/functions.c:1549 +#: executor/functions.c:1561 #, c-format msgid "" "calling procedures with output arguments is not supported in SQL functions" msgstr "출력 인자를 포함한 프로시져 호출은 SQL 함수에서 지원하지 않습니다." -#: executor/functions.c:1671 executor/functions.c:1708 -#: executor/functions.c:1722 executor/functions.c:1812 -#: executor/functions.c:1845 executor/functions.c:1859 +#: executor/functions.c:1694 executor/functions.c:1732 +#: executor/functions.c:1746 executor/functions.c:1836 +#: executor/functions.c:1869 executor/functions.c:1883 #, c-format msgid "return type mismatch in function declared to return %s" msgstr "리턴 자료형이 함수 정의에서 지정한 %s 리턴 자료형과 틀립니다" -#: executor/functions.c:1673 +#: executor/functions.c:1696 #, c-format msgid "" "Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING." @@ -12825,70 +14716,59 @@ msgstr "" "함수 내용의 맨 마지막 구문은 SELECT 또는 INSERT/UPDATE/DELETE RETURNING이어" "야 합니다." -#: executor/functions.c:1710 +#: executor/functions.c:1734 #, c-format msgid "Final statement must return exactly one column." msgstr "맨 마지막 구문은 정확히 하나의 칼럼만 반환해야 합니다." -#: executor/functions.c:1724 +#: executor/functions.c:1748 #, c-format msgid "Actual return type is %s." msgstr "실재 반환 자료형은 %s" -#: executor/functions.c:1814 +#: executor/functions.c:1838 #, c-format msgid "Final statement returns too many columns." msgstr "맨 마지막 구문이 너무 많은 칼럼을 반환합니다." -#: executor/functions.c:1847 +#: executor/functions.c:1871 #, c-format msgid "Final statement returns %s instead of %s at column %d." msgstr "" "맨 마지막 구문이 %s(기대되는 자료형: %s) 자료형을 %d 번째 칼럼에서 반환합니" "다." -#: executor/functions.c:1861 +#: executor/functions.c:1885 #, c-format msgid "Final statement returns too few columns." msgstr "맨 마지막 구문이 너무 적은 칼럼을 반환합니다." -#: executor/functions.c:1889 +#: executor/functions.c:1913 #, c-format msgid "return type %s is not supported for SQL functions" msgstr "반환 자료형인 %s 자료형은 SQL 함수에서 지원되지 않음" -#: executor/nodeAgg.c:3075 executor/nodeAgg.c:3084 executor/nodeAgg.c:3096 +#: executor/nodeAgg.c:3937 executor/nodeWindowAgg.c:2993 #, c-format -msgid "unexpected EOF for tape %d: requested %zu bytes, read %zu bytes" -msgstr "" +msgid "aggregate %u needs to have compatible input type and transition type" +msgstr "%u OID 집계함수에 호환 가능한 입력 형식과 변환 형식이 있어야 함" -#: executor/nodeAgg.c:4026 parser/parse_agg.c:655 parser/parse_agg.c:685 +#: executor/nodeAgg.c:3967 parser/parse_agg.c:669 parser/parse_agg.c:697 #, c-format msgid "aggregate function calls cannot be nested" msgstr "집계 함수는 중첩되어 호출 할 수 없음" -#: executor/nodeAgg.c:4234 executor/nodeWindowAgg.c:2836 -#, c-format -msgid "aggregate %u needs to have compatible input type and transition type" -msgstr "%u OID 집계함수에 호환 가능한 입력 형식과 변환 형식이 있어야 함" - -#: executor/nodeCustom.c:145 executor/nodeCustom.c:156 +#: executor/nodeCustom.c:154 executor/nodeCustom.c:165 #, c-format msgid "custom scan \"%s\" does not support MarkPos" msgstr "\"%s\" 이름의 칼럼 탐색은 MarkPos 기능을 지원하지 않음" -#: executor/nodeHashjoin.c:1046 executor/nodeHashjoin.c:1076 +#: executor/nodeHashjoin.c:1143 executor/nodeHashjoin.c:1173 #, c-format msgid "could not rewind hash-join temporary file" msgstr "해시-조인 임시 파일을 되감을 수 없음" -#: executor/nodeHashjoin.c:1272 executor/nodeHashjoin.c:1283 -#, c-format -msgid "" -"could not read from hash-join temporary file: read only %zu of %zu bytes" -msgstr "해시-조인 임시 파일을 읽을 수 없음: %zu / %zu 바이트만 읽음" - -#: executor/nodeIndexonlyscan.c:242 +#: executor/nodeIndexonlyscan.c:238 #, c-format msgid "lossy distance functions are not supported in index-only scans" msgstr "lossy distance 함수들은 인덱스 단독 탐색을 지원하지 않음" @@ -12903,74 +14783,110 @@ msgstr "OFFSET은 음수가 아니어야 함" msgid "LIMIT must not be negative" msgstr "LIMIT는 음수가 아니어야 함" -#: executor/nodeMergejoin.c:1570 +#: executor/nodeMergejoin.c:1579 #, c-format msgid "RIGHT JOIN is only supported with merge-joinable join conditions" msgstr "RIGHT JOIN은 병합-조인 가능 조인 조건에서만 지원됨" -#: executor/nodeMergejoin.c:1588 +#: executor/nodeMergejoin.c:1597 #, c-format msgid "FULL JOIN is only supported with merge-joinable join conditions" msgstr "FULL JOIN은 병합-조인 가능 조인 조건에서만 지원됨" -#: executor/nodeModifyTable.c:110 -#, c-format -msgid "Query has too many columns." -msgstr "쿼리에 칼럼이 너무 많습니다." - -#: executor/nodeModifyTable.c:138 -#, c-format -msgid "Query provides a value for a dropped column at ordinal position %d." -msgstr "쿼리에서 서수 위치 %d에 있는 삭제된 칼럼의 값을 제공합니다." - -#: executor/nodeModifyTable.c:146 +#: executor/nodeModifyTable.c:234 #, c-format msgid "Query has too few columns." msgstr "쿼리에 칼럼이 너무 적습니다." -#: executor/nodeModifyTable.c:839 executor/nodeModifyTable.c:913 +#: executor/nodeModifyTable.c:1530 executor/nodeModifyTable.c:1604 #, c-format msgid "" "tuple to be deleted was already modified by an operation triggered by the " "current command" msgstr "현재 명령으로 실행된 트리거 작업으로 지울 자료가 이미 바뀌었습니다." -#: executor/nodeModifyTable.c:1220 +#: executor/nodeModifyTable.c:1758 #, c-format msgid "invalid ON UPDATE specification" msgstr "잘못된 ON UPDATE 옵션" -#: executor/nodeModifyTable.c:1221 +#: executor/nodeModifyTable.c:1759 #, c-format msgid "" "The result tuple would appear in a different partition than the original " "tuple." +msgstr "결과 튜플이 원래 튜플이 아닌 다른 파티션에서 나타날 것입니다." + +#: executor/nodeModifyTable.c:2217 +#, 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:1592 +#: executor/nodeModifyTable.c:2218 #, c-format -msgid "ON CONFLICT DO UPDATE command cannot affect row a second time" +msgid "" +"A foreign key points to ancestor \"%s\" but not the root ancestor \"%s\"." msgstr "" +"참조키가 \"%s\" 하위 파티션 테이블을 대상으로 합니다. 상위 파티션 테이블은 " +"\"%s\" 테이블입니다." + +#: executor/nodeModifyTable.c:2221 +#, c-format +msgid "Consider defining the foreign key on table \"%s\"." +msgstr "\"%s\" 테이블에 참조키 정의를 고려하세요." + +#. translator: %s is a SQL command name +#: executor/nodeModifyTable.c:2567 executor/nodeModifyTable.c:2955 +#, c-format +msgid "%s command cannot affect row a second time" +msgstr "%s 명령은 두번째 작업에는 아무런 영향을 주 않음" -#: executor/nodeModifyTable.c:1593 +#: executor/nodeModifyTable.c:2569 #, c-format msgid "" "Ensure that no rows proposed for insertion within the same command have " "duplicate constrained values." msgstr "" +"동일한 명령 내에서 삽입하도록 제안된 행에 중복된 제한 값이 없는지 확인하십시" +"오." + +#: executor/nodeModifyTable.c:2957 +#, c-format +msgid "Ensure that not more than one source row matches any one target row." +msgstr "둘 이상의 소스 행이 하나의 대상 행과 일치하지 않는지 확인하십시오." + +#: executor/nodeModifyTable.c:3038 +#, c-format +msgid "" +"tuple to be deleted was already moved to another partition due to concurrent " +"update" +msgstr "동시 업데이트로 삭제할 튜플이 이미 다른 파티션으로 옮겨졌음" + +#: 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 "" +"현재 명령으로 실행된 트리거 작업으로 변경하거나 지울 자료가 이미 바뀌었습니" +"다." -#: executor/nodeSamplescan.c:259 +#: executor/nodeSamplescan.c:260 #, c-format msgid "TABLESAMPLE parameter cannot be null" msgstr "TABLESAMPLE 절에는 반드시 부가 옵션값들이 있어야 합니다" -#: executor/nodeSamplescan.c:271 +#: executor/nodeSamplescan.c:272 #, c-format msgid "TABLESAMPLE REPEATABLE parameter cannot be null" msgstr "TABLESAMPLE REPEATABLE 절은 더 이상의 부가 옵션을 쓰면 안됩니다." -#: executor/nodeSubplan.c:346 executor/nodeSubplan.c:385 -#: executor/nodeSubplan.c:1151 +#: executor/nodeSubplan.c:325 executor/nodeSubplan.c:351 +#: executor/nodeSubplan.c:405 executor/nodeSubplan.c:1174 #, c-format msgid "more than one row returned by a subquery used as an expression" msgstr "표현식에 사용된 서브쿼리 결과가 하나 이상의 행을 리턴했습니다" @@ -13000,88 +14916,109 @@ msgstr "\"%s\" 칼럼용 필터가 null입니다." msgid "null is not allowed in column \"%s\"" msgstr "\"%s\" 칼럼은 null 값을 허용하지 않습니다" -#: executor/nodeWindowAgg.c:355 +#: executor/nodeWindowAgg.c:356 #, c-format msgid "moving-aggregate transition function must not return null" msgstr "moving-aggregate transition 함수는 null 값을 반환하면 안됩니다." -#: executor/nodeWindowAgg.c:2058 +#: executor/nodeWindowAgg.c:2083 #, c-format msgid "frame starting offset must not be null" msgstr "프래임 시작 위치값으로 null 값을 사용할 수 없습니다." -#: executor/nodeWindowAgg.c:2071 +#: executor/nodeWindowAgg.c:2096 #, c-format msgid "frame starting offset must not be negative" msgstr "프래임 시작 위치으로 음수 값을 사용할 수 없습니다." -#: executor/nodeWindowAgg.c:2083 +#: executor/nodeWindowAgg.c:2108 #, c-format msgid "frame ending offset must not be null" msgstr "프래임 끝 위치값으로 null 값을 사용할 수 없습니다." -#: executor/nodeWindowAgg.c:2096 +#: executor/nodeWindowAgg.c:2121 #, c-format msgid "frame ending offset must not be negative" msgstr "프래임 끝 위치값으로 음수 값을 사용할 수 없습니다." -#: executor/nodeWindowAgg.c:2752 +#: executor/nodeWindowAgg.c:2909 #, c-format msgid "aggregate function %s does not support use as a window function" msgstr "%s 집계 함수는 윈도우 함수로 사용될 수 없습니다" -#: executor/spi.c:228 executor/spi.c:297 +#: executor/spi.c:242 executor/spi.c:342 #, c-format msgid "invalid transaction termination" msgstr "잘못된 트랜잭션 마침" -#: executor/spi.c:242 +#: executor/spi.c:257 #, c-format msgid "cannot commit while a subtransaction is active" msgstr "하위트랜잭션이 활성화 된 상태에서는 커밋 할 수 없음" -#: executor/spi.c:303 +#: executor/spi.c:348 #, c-format msgid "cannot roll back while a subtransaction is active" msgstr "하위트랜잭션이 활성화 된 상태에서는 롤백 할 수 없음" -#: executor/spi.c:372 +#: executor/spi.c:472 #, c-format msgid "transaction left non-empty SPI stack" msgstr "트랜잭션이 비어있지 않은 SPI 스택을 남겼습니다" -#: executor/spi.c:373 executor/spi.c:435 +#: executor/spi.c:473 executor/spi.c:533 #, c-format msgid "Check for missing \"SPI_finish\" calls." msgstr "\"SPI_finish\" 호출이 빠졌는지 확인하세요" -#: executor/spi.c:434 +#: executor/spi.c:532 #, c-format msgid "subtransaction left non-empty SPI stack" msgstr "하위 트랜잭션이 비어있지 않은 SPI 스택을 남겼습니다" -#: executor/spi.c:1335 +#: executor/spi.c:1600 #, c-format msgid "cannot open multi-query plan as cursor" msgstr "멀티 쿼리를 커서로 열 수는 없습니다" #. translator: %s is name of a SQL command, eg INSERT -#: executor/spi.c:1340 +#: executor/spi.c:1610 #, c-format msgid "cannot open %s query as cursor" msgstr "%s 쿼리로 커서를 열 수 없음." -#: executor/spi.c:1445 +#: executor/spi.c:1716 #, c-format msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported" msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE는 지원되지 않음" -#: executor/spi.c:1446 parser/analyze.c:2508 +#: executor/spi.c:1717 parser/analyze.c:2912 #, c-format msgid "Scrollable cursors must be READ ONLY." msgstr "스크롤 가능 커서는 READ ONLY여야 합니다." -#: executor/spi.c:2560 +#: executor/spi.c:2474 +#, c-format +msgid "empty query does not return tuples" +msgstr "빈 쿼리는 튜플을 반환하지 않습니다." + +#. translator: %s is name of a SQL command, eg INSERT +#: executor/spi.c:2548 +#, c-format +msgid "%s query does not return tuples" +msgstr "%s 쿼리는 집합을 반환할 수 없습니다." + +#: executor/spi.c:2963 +#, c-format +msgid "SQL expression \"%s\"" +msgstr "SQL 표현식: \"%s\"" + +#: executor/spi.c:2968 +#, c-format +msgid "PL/pgSQL assignment \"%s\"" +msgstr "PL/pgSQL 지정: \"%s\"" + +#: executor/spi.c:2971 #, c-format msgid "SQL statement \"%s\"" msgstr "SQL 구문: \"%s\"" @@ -13091,270 +15028,291 @@ msgstr "SQL 구문: \"%s\"" msgid "could not send tuple to shared-memory queue" msgstr "공유 메모리 큐로 튜플을 보낼 수 없음" -#: foreign/foreign.c:220 +#: foreign/foreign.c:222 #, c-format msgid "user mapping not found for \"%s\"" msgstr "\"%s\"에 대한 사용자 매핑을 찾을 수 없음" -#: foreign/foreign.c:672 +#: foreign/foreign.c:647 storage/file/fd.c:3931 #, c-format msgid "invalid option \"%s\"" msgstr "\"%s\" 옵션이 잘못됨" -#: foreign/foreign.c:673 -#, c-format -msgid "Valid options in this context are: %s" -msgstr "이 컨텍스트에서 유효한 옵션: %s" - -#: jit/jit.c:205 utils/fmgr/dfmgr.c:209 utils/fmgr/dfmgr.c:417 -#: utils/fmgr/dfmgr.c:465 +#: foreign/foreign.c:649 #, c-format -msgid "could not access file \"%s\": %m" -msgstr "\"%s\" 파일에 액세스할 수 없음: %m" +msgid "Perhaps you meant the option \"%s\"." +msgstr "아마 \"%s\" 옵션을 뜻하는 것 같습니다." -#: jit/llvm/llvmjit.c:595 +#: foreign/foreign.c:651 #, c-format -msgid "time to inline: %.3fs, opt: %.3fs, emit: %.3fs" -msgstr "" +msgid "There are no valid options in this context." +msgstr "이 컨텍스트에서 유효한 옵션이 없음." -#: lib/dshash.c:247 utils/mmgr/dsa.c:702 utils/mmgr/dsa.c:724 -#: utils/mmgr/dsa.c:805 +#: 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 "크기가 %zu인 DSA 요청에서 오류가 발생했습니다." -#: libpq/auth-scram.c:248 +#: libpq/auth-sasl.c:97 +#, c-format +msgid "expected SASL response, got message type %d" +msgstr "SASL 응답이 필요한데 메시지 형식 %d을(를) 받음" + +#: libpq/auth-scram.c:270 #, c-format msgid "client selected an invalid SASL authentication mechanism" msgstr "클라이언트가 잘못된 SASL 인증 메카니즘을 선택했음" -#: libpq/auth-scram.c:269 libpq/auth-scram.c:509 libpq/auth-scram.c:520 +#: libpq/auth-scram.c:294 libpq/auth-scram.c:543 libpq/auth-scram.c:554 #, c-format msgid "invalid SCRAM secret for user \"%s\"" msgstr "\"%s\" 사용자에 대한 잘못된 SCRAM secret" -#: libpq/auth-scram.c:280 +#: libpq/auth-scram.c:305 #, c-format msgid "User \"%s\" does not have a valid SCRAM secret." msgstr "\"%s\" 사용자용 바른 SCRAM secret이 없습니다." -#: libpq/auth-scram.c:358 libpq/auth-scram.c:363 libpq/auth-scram.c:693 -#: libpq/auth-scram.c:701 libpq/auth-scram.c:806 libpq/auth-scram.c:819 -#: libpq/auth-scram.c:829 libpq/auth-scram.c:937 libpq/auth-scram.c:944 -#: libpq/auth-scram.c:959 libpq/auth-scram.c:974 libpq/auth-scram.c:988 -#: libpq/auth-scram.c:1006 libpq/auth-scram.c:1021 libpq/auth-scram.c:1321 -#: libpq/auth-scram.c:1329 +#: libpq/auth-scram.c:385 libpq/auth-scram.c:390 libpq/auth-scram.c:744 +#: libpq/auth-scram.c:752 libpq/auth-scram.c:857 libpq/auth-scram.c:870 +#: libpq/auth-scram.c:880 libpq/auth-scram.c:988 libpq/auth-scram.c:995 +#: libpq/auth-scram.c:1010 libpq/auth-scram.c:1025 libpq/auth-scram.c:1039 +#: libpq/auth-scram.c:1057 libpq/auth-scram.c:1072 libpq/auth-scram.c:1386 +#: libpq/auth-scram.c:1394 #, c-format msgid "malformed SCRAM message" msgstr "SCRAM 메시지가 형식에 맞지 않습니다" -#: libpq/auth-scram.c:359 +#: libpq/auth-scram.c:386 #, c-format msgid "The message is empty." msgstr "메시지가 비었습니다." -#: libpq/auth-scram.c:364 +#: libpq/auth-scram.c:391 #, c-format msgid "Message length does not match input length." msgstr "메시지 길이가 입력 길이와 같지 않습니다." -#: libpq/auth-scram.c:396 +#: libpq/auth-scram.c:423 #, c-format msgid "invalid SCRAM response" msgstr "잘못된 SCRAM 응답" -#: libpq/auth-scram.c:397 +#: libpq/auth-scram.c:424 #, c-format msgid "Nonce does not match." msgstr "토큰 불일치" -#: libpq/auth-scram.c:471 +#: libpq/auth-scram.c:500 #, c-format msgid "could not generate random salt" msgstr "무작위 솔트 생성 실패" -#: libpq/auth-scram.c:694 +#: libpq/auth-scram.c:745 #, c-format msgid "Expected attribute \"%c\" but found \"%s\"." msgstr "\"%c\" 속성이어야 하는데, \"%s\" 임." -#: libpq/auth-scram.c:702 libpq/auth-scram.c:830 +#: libpq/auth-scram.c:753 libpq/auth-scram.c:881 #, c-format msgid "Expected character \"=\" for attribute \"%c\"." -msgstr "\"%c\" 속성에는 \"=\" 문자가 와야합니다." +msgstr "\"%c\" 속성에는 \"=\" 문자가 와야 합니다." -#: libpq/auth-scram.c:807 +#: libpq/auth-scram.c:858 #, c-format msgid "Attribute expected, but found end of string." msgstr "속성값이 와야하는데, 문자열 끝이 발견되었음." -#: libpq/auth-scram.c:820 +#: libpq/auth-scram.c:871 #, c-format msgid "Attribute expected, but found invalid character \"%s\"." msgstr "속성값이 와야하는데, \"%s\" 잘못된 문자가 발견되었음." -#: libpq/auth-scram.c:938 libpq/auth-scram.c:960 +#: libpq/auth-scram.c:989 libpq/auth-scram.c:1011 #, c-format msgid "" "The client selected SCRAM-SHA-256-PLUS, but the SCRAM message does not " "include channel binding data." msgstr "" +"해당 클라이언트가 SCRAM-SHA-256-PLUS 규약을 선택했는데, SCRAM 메시지에 채널 " +"바인딩 데이터가 없습니다." -#: libpq/auth-scram.c:945 libpq/auth-scram.c:975 +#: libpq/auth-scram.c:996 libpq/auth-scram.c:1026 #, c-format msgid "Comma expected, but found character \"%s\"." msgstr "쉼표가 와야하는데, \"%s\" 문자가 발견되었음." -#: libpq/auth-scram.c:966 +#: libpq/auth-scram.c:1017 #, c-format msgid "SCRAM channel binding negotiation error" -msgstr "" +msgstr "SCRAM 채널 바인딩 협상 오류" -#: libpq/auth-scram.c:967 +#: libpq/auth-scram.c:1018 #, c-format msgid "" "The client supports SCRAM channel binding but thinks the server does not. " "However, this server does support channel binding." msgstr "" +"해당 클라이언트는 SCRAM 채널 바인딩을 지원하지만, 서버는 그렇지 않은 것 같습" +"니다. 그런데, 이 서버는 채널 바인딩을 지원합니다." -#: libpq/auth-scram.c:989 +#: libpq/auth-scram.c:1040 #, c-format msgid "" "The client selected SCRAM-SHA-256 without channel binding, but the SCRAM " "message includes channel binding data." msgstr "" +"해당 클라이언트가 채널 바인딩을 하지 않는 SCRAM-SHA-256 규약을 선택했는데, " +"SCRAM 메시지에 채널 바인딩 데이터가 있습니다." -#: libpq/auth-scram.c:1000 +#: libpq/auth-scram.c:1051 #, c-format msgid "unsupported SCRAM channel-binding type \"%s\"" msgstr "지원하지 않는 SCRAM 채널 바인드 종류 \"%s\"" -#: libpq/auth-scram.c:1007 +#: libpq/auth-scram.c:1058 #, c-format msgid "Unexpected channel-binding flag \"%s\"." msgstr "예상치 못한 채널 바인딩 플래그 \"%s\"." -#: libpq/auth-scram.c:1017 +#: libpq/auth-scram.c:1068 #, c-format msgid "client uses authorization identity, but it is not supported" msgstr "" +"클라이언트는 authorization identity를 사용하지만, 이것을 지원하지 않습니다." -#: libpq/auth-scram.c:1022 +#: libpq/auth-scram.c:1073 #, c-format msgid "Unexpected attribute \"%s\" in client-first-message." -msgstr "" +msgstr "client-first-message 안에 \"%s\" 속성이 잘못됨" -#: libpq/auth-scram.c:1038 +#: libpq/auth-scram.c:1089 #, c-format msgid "client requires an unsupported SCRAM extension" -msgstr "" +msgstr "클라이언트가 지원하지 않는 SCRAM 확장을 요구합니다." -#: libpq/auth-scram.c:1052 +#: libpq/auth-scram.c:1103 #, c-format msgid "non-printable characters in SCRAM nonce" msgstr "SCRAM 토큰에 인쇄할 수 없는 문자가 있음" -#: libpq/auth-scram.c:1169 +#: libpq/auth-scram.c:1234 #, c-format msgid "could not generate random nonce" msgstr "무작위 토큰을 만들 수 없음" -#: libpq/auth-scram.c:1179 +#: libpq/auth-scram.c:1244 #, c-format msgid "could not encode random nonce" msgstr "임의 nonce를 인코드할 수 없음" -#: libpq/auth-scram.c:1285 +#: libpq/auth-scram.c:1350 #, c-format msgid "SCRAM channel binding check failed" -msgstr "" +msgstr "SCRAM 채널 바인딩 검사 실패" -#: libpq/auth-scram.c:1303 +#: libpq/auth-scram.c:1368 #, c-format msgid "unexpected SCRAM channel-binding attribute in client-final-message" -msgstr "" +msgstr "client-final-message 안에 예상치 못한 SCRAM 채널 바인딩 속성이 있음" -#: libpq/auth-scram.c:1322 +#: libpq/auth-scram.c:1387 #, c-format msgid "Malformed proof in client-final-message." -msgstr "" +msgstr "client-final-message 안에 잘못된 증명" -#: libpq/auth-scram.c:1330 +#: libpq/auth-scram.c:1395 #, c-format msgid "Garbage found at the end of client-final-message." -msgstr "" +msgstr "client-final-message 끝에 추가로 쓸모 없는 값이 있음" -#: libpq/auth.c:280 +#: libpq/auth.c:271 #, c-format msgid "authentication failed for user \"%s\": host rejected" msgstr "사용자 \"%s\"의 인증을 실패했습니다: 호스트 거부됨" -#: libpq/auth.c:283 +#: libpq/auth.c:274 #, c-format msgid "\"trust\" authentication failed for user \"%s\"" msgstr "사용자 \"%s\"의 \"trust\" 인증을 실패했습니다." -#: libpq/auth.c:286 +#: libpq/auth.c:277 #, c-format msgid "Ident authentication failed for user \"%s\"" msgstr "사용자 \"%s\"의 Ident 인증을 실패했습니다." -#: libpq/auth.c:289 +#: libpq/auth.c:280 #, c-format msgid "Peer authentication failed for user \"%s\"" msgstr "사용자 \"%s\"의 peer 인증을 실패했습니다." -#: libpq/auth.c:294 +#: libpq/auth.c:285 #, c-format msgid "password authentication failed for user \"%s\"" msgstr "사용자 \"%s\"의 password 인증을 실패했습니다" -#: libpq/auth.c:299 +#: libpq/auth.c:290 #, c-format msgid "GSSAPI authentication failed for user \"%s\"" msgstr "\"%s\" 사용자에 대한 GSSAPI 인증을 실패했습니다." -#: libpq/auth.c:302 +#: libpq/auth.c:293 #, c-format msgid "SSPI authentication failed for user \"%s\"" msgstr "\"%s\" 사용자에 대한 SSPI 인증을 실패했습니다." -#: libpq/auth.c:305 +#: libpq/auth.c:296 #, c-format msgid "PAM authentication failed for user \"%s\"" msgstr "사용자 \"%s\"의 PAM 인증을 실패했습니다." -#: libpq/auth.c:308 +#: libpq/auth.c:299 #, c-format msgid "BSD authentication failed for user \"%s\"" msgstr "\"%s\" 사용자에 대한 BSD 인증을 실패했습니다." -#: libpq/auth.c:311 +#: libpq/auth.c:302 #, c-format msgid "LDAP authentication failed for user \"%s\"" msgstr "\"%s\" 사용자의 LDAP 인증을 실패했습니다." -#: libpq/auth.c:314 +#: libpq/auth.c:305 #, c-format msgid "certificate authentication failed for user \"%s\"" msgstr "사용자 \"%s\"의 인증서 인증을 실패했습니다" -#: libpq/auth.c:317 +#: libpq/auth.c:308 #, c-format msgid "RADIUS authentication failed for user \"%s\"" msgstr "사용자 \"%s\"의 RADIUS 인증을 실패했습니다." -#: libpq/auth.c:320 +#: libpq/auth.c:311 #, c-format msgid "authentication failed for user \"%s\": invalid authentication method" msgstr "사용자 \"%s\"의 인증을 실패했습니다: 잘못된 인증 방법" -#: libpq/auth.c:324 +#: libpq/auth.c:315 #, c-format -msgid "Connection matched pg_hba.conf line %d: \"%s\"" -msgstr "pg_hba.conf 파일의 %d번째 줄에 지정한 인증 설정이 사용됨: \"%s\"" +msgid "Connection matched file \"%s\" line %d: \"%s\"" +msgstr "\"%s\" 파일의 %d번째 줄에 지정한 인증 설정이 사용됨: \"%s\"" -#: libpq/auth.c:371 +#: libpq/auth.c:359 +#, c-format +msgid "authentication identifier set more than once" +msgstr "인증 식별자가 여러 번 사용 됨" + +#: libpq/auth.c:360 +#, c-format +msgid "previous identifier: \"%s\"; new identifier: \"%s\"" +msgstr "이전 식별자: \"%s\"; 새 식별자: \"%s\"" + +#: libpq/auth.c:370 +#, c-format +msgid "connection authenticated: identity=\"%s\" method=%s (%s:%d)" +msgstr "연결 인증됨: 식별자=\"%s\" 인증방법=%s (%s:%d)" + +#: libpq/auth.c:410 #, c-format msgid "" "client certificates can only be checked if a root certificate store is " @@ -13362,19 +15320,25 @@ msgid "" msgstr "" "루트 인증서 저장소가 사용 가능한 경우에만 클라이언트 인증서를 검사할 수 있음" -#: libpq/auth.c:382 +#: libpq/auth.c:421 #, c-format msgid "connection requires a valid client certificate" msgstr "연결에 유효한 클라이언트 인증서가 필요함" -#: libpq/auth.c:392 -#, c-format -msgid "" -"GSSAPI encryption can only be used with gss, trust, or reject authentication " -"methods" -msgstr "" +#: libpq/auth.c:452 libpq/auth.c:498 +msgid "GSS encryption" +msgstr "GSS 암호화" + +#: libpq/auth.c:455 libpq/auth.c:501 +msgid "SSL encryption" +msgstr "SSL 암호화" -#: libpq/auth.c:426 +#: libpq/auth.c:457 libpq/auth.c:503 +msgid "no encryption" +msgstr "암호화 안함" + +#. translator: last %s describes encryption state +#: libpq/auth.c:463 #, c-format msgid "" "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\", %s" @@ -13382,22 +15346,8 @@ msgstr "" "호스트 \"%s\", 사용자 \"%s\", %s 연결이 복제용 연결로는 pg_hba.conf 파일 설정" "에 따라 거부됩니다" -#: libpq/auth.c:428 libpq/auth.c:444 libpq/auth.c:502 libpq/auth.c:520 -msgid "SSL off" -msgstr "SSL 중지" - -#: libpq/auth.c:428 libpq/auth.c:444 libpq/auth.c:502 libpq/auth.c:520 -msgid "SSL on" -msgstr "SSL 동작" - -#: libpq/auth.c:432 -#, c-format -msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\"" -msgstr "" -"호스트 \"%s\", 사용자 \"%s\" 연결이 복제용 연결로는 pg_hba.conf 파일 설정에 " -"따라 거부됩니다" - -#: libpq/auth.c:441 +#. translator: last %s describes encryption state +#: libpq/auth.c:470 #, c-format msgid "" "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s" @@ -13406,43 +15356,36 @@ msgstr "" "호스트 \"%s\", 사용자 \"%s\", 데이터베이스 \"%s\", %s 연결이 pg_hba.conf 파" "일 설정에 따라 거부됩니다" -#: libpq/auth.c:448 -#, c-format -msgid "" -"pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\"" -msgstr "" -"호스트 \"%s\", 사용자 \"%s\", 데이터베이스 \"%s\" 연결이 pg_hba.conf 파일 설" -"정에 따라 거부됩니다" - -#: libpq/auth.c:477 +#: libpq/auth.c:508 #, c-format msgid "Client IP address resolved to \"%s\", forward lookup matches." msgstr "" "클라이언트 IP 주소가 \"%s\" 이름으로 확인됨, 호스트 이름 확인 기능으로 맞음" -#: libpq/auth.c:480 +#: libpq/auth.c:511 #, c-format msgid "Client IP address resolved to \"%s\", forward lookup not checked." msgstr "" "클라이언트 IP 주소가 \"%s\" 이름으로 확인됨, 호스트 이름 확인 기능 사용안함" -#: libpq/auth.c:483 +#: libpq/auth.c:514 #, c-format msgid "Client IP address resolved to \"%s\", forward lookup does not match." msgstr "" "클라이언트 IP 주소가 \"%s\" 이름으로 확인됨, 호스트 이름 확인 기능으로 틀림" -#: libpq/auth.c:486 +#: libpq/auth.c:517 #, c-format msgid "Could not translate client host name \"%s\" to IP address: %s." msgstr "\"%s\" 클라이언트 호스트 이름을 %s IP 주소로 전환할 수 없음." -#: libpq/auth.c:491 +#: libpq/auth.c:522 #, c-format msgid "Could not resolve client IP address to a host name: %s." msgstr "클라이언트 IP 주소를 파악할 수 없음: 대상 호스트 이름: %s" -#: libpq/auth.c:500 +#. translator: last %s describes encryption state +#: libpq/auth.c:530 #, c-format msgid "" "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s" @@ -13451,276 +15394,242 @@ msgstr "" "호스트 \"%s\", 사용자 \"%s\", %s 연결이 복제용 연결로 pg_hba.conf 파일에 설정" "되어 있지 않습니다" -#: libpq/auth.c:507 -#, c-format -msgid "" -"no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\"" -msgstr "" -"호스트 \"%s\", 사용자 \"%s\" 연결이 복제용 연결로 pg_hba.conf 파일에 설정되" -"어 있지 않습니다" - -#: libpq/auth.c:517 +#. translator: last %s describes encryption state +#: libpq/auth.c:538 #, c-format msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\", %s" msgstr "" "호스트 \"%s\", 사용자 \"%s\", 데이터베이스 \"%s\", %s 연결에 대한 설정이 " "pg_hba.conf 파일에 없습니다." -#: libpq/auth.c:525 -#, c-format -msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\"" -msgstr "" -"호스트 \"%s\", 사용자 \"%s\", 데이터베이스 \"%s\" 연결에 대한 설정이 pg_hba." -"conf 파일에 없습니다." - -#: libpq/auth.c:688 +#: libpq/auth.c:711 #, c-format msgid "expected password response, got message type %d" msgstr "메시지 타입 %d를 얻는 예상된 암호 응답" -#: libpq/auth.c:716 +#: libpq/auth.c:732 #, c-format msgid "invalid password packet size" msgstr "유효하지 않은 암호 패킷 사이즈" -#: libpq/auth.c:734 +#: libpq/auth.c:750 #, c-format msgid "empty password returned by client" msgstr "비어있는 암호는 클라이언트에 의해 돌려보냈습니다" -#: libpq/auth.c:854 libpq/hba.c:1340 +#: libpq/auth.c:879 libpq/hba.c:1727 #, c-format msgid "" "MD5 authentication is not supported when \"db_user_namespace\" is enabled" msgstr "\"db_user_namespace\"가 사용 가능한 경우 MD5 인증은 지원되지 않음" -#: libpq/auth.c:860 +#: libpq/auth.c:885 #, c-format msgid "could not generate random MD5 salt" msgstr "무작위 MD5 솔트 생성 실패" -#: libpq/auth.c:906 -#, c-format -msgid "SASL authentication is not supported in protocol version 2" -msgstr "프로토콜 버전 2에서는 SASL 인증을 지원되지 않음" - -#: libpq/auth.c:939 -#, c-format -msgid "expected SASL response, got message type %d" -msgstr "SASL 응답이 필요한데 메시지 형식 %d을(를) 받음" - -#: libpq/auth.c:1068 +#: libpq/auth.c:936 libpq/be-secure-gssapi.c:540 #, c-format -msgid "GSSAPI is not supported in protocol version 2" -msgstr "프로토콜 버전 2에서는 GSSAPI가 지원되지 않음" +msgid "could not set environment: %m" +msgstr "환경변수를 지정할 수 없음: %m" -#: libpq/auth.c:1128 +#: libpq/auth.c:975 #, c-format msgid "expected GSS response, got message type %d" msgstr "GSS 응답이 필요한데 메시지 형식 %d을(를) 받음" -#: libpq/auth.c:1189 +#: libpq/auth.c:1041 msgid "accepting GSS security context failed" msgstr "GSS 보안 컨텍스트를 수락하지 못함" -#: libpq/auth.c:1228 +#: libpq/auth.c:1082 msgid "retrieving GSS user name failed" msgstr "GSS 사용자 이름을 검색하지 못함" -#: libpq/auth.c:1359 -#, c-format -msgid "SSPI is not supported in protocol version 2" -msgstr "프로토콜 버전 2에서는 SSPI가 지원되지 않음" - -#: libpq/auth.c:1374 +#: libpq/auth.c:1228 msgid "could not acquire SSPI credentials" msgstr "SSPI 자격 증명을 가져올 수 없음" -#: libpq/auth.c:1399 +#: libpq/auth.c:1253 #, c-format msgid "expected SSPI response, got message type %d" msgstr "SSPI 응답이 필요한데 메시지 형식 %d을(를) 받음" -#: libpq/auth.c:1477 +#: libpq/auth.c:1331 msgid "could not accept SSPI security context" msgstr "SSPI 보안 컨텍스트를 수락할 수 없음" -#: libpq/auth.c:1539 +#: libpq/auth.c:1372 msgid "could not get token from SSPI security context" msgstr "SSPI 보안 컨텍스트에서 토큰을 가져올 수 없음" -#: libpq/auth.c:1658 libpq/auth.c:1677 +#: libpq/auth.c:1508 libpq/auth.c:1527 #, c-format msgid "could not translate name" msgstr "이름을 변환할 수 없음" -#: libpq/auth.c:1690 +#: libpq/auth.c:1540 #, c-format msgid "realm name too long" msgstr "realm 이름이 너무 긺" -#: libpq/auth.c:1705 +#: libpq/auth.c:1555 #, c-format msgid "translated account name too long" msgstr "변환된 접속자 이름이 너무 깁니다" -#: libpq/auth.c:1886 +#: libpq/auth.c:1734 #, c-format msgid "could not create socket for Ident connection: %m" msgstr "Ident 연결에 소켓을 생성할 수 없습니다: %m" -#: libpq/auth.c:1901 +#: libpq/auth.c:1749 #, c-format msgid "could not bind to local address \"%s\": %m" msgstr "로컬 주소 \"%s\"에 바인드할 수 없습니다: %m" -#: libpq/auth.c:1913 +#: libpq/auth.c:1761 #, c-format msgid "could not connect to Ident server at address \"%s\", port %s: %m" msgstr "주소 \"%s\", 포트 %s의 Ident 서버에게 연결할 수 없습니다: %m" -#: libpq/auth.c:1935 +#: libpq/auth.c:1783 #, c-format msgid "could not send query to Ident server at address \"%s\", port %s: %m" msgstr "주소 \"%s\", 포트 %s의 Ident 서버에게 질의를 보낼 수 없습니다: %m" -#: libpq/auth.c:1952 +#: libpq/auth.c:1800 #, c-format msgid "" "could not receive response from Ident server at address \"%s\", port %s: %m" msgstr "주소 \"%s\", 포트 %s의 Ident 서버로부터 응답을 받지 못했습니다: %m" -#: libpq/auth.c:1962 +#: libpq/auth.c:1810 #, c-format msgid "invalidly formatted response from Ident server: \"%s\"" msgstr "Ident 서버로부터 잘못된 형태의 응답를 보냈습니다: \"%s\"" -#: libpq/auth.c:2009 +#: libpq/auth.c:1863 #, c-format msgid "peer authentication is not supported on this platform" msgstr "이 플랫폼에서는 peer 인증이 지원되지 않음" -#: libpq/auth.c:2013 +#: libpq/auth.c:1867 #, c-format msgid "could not get peer credentials: %m" msgstr "신뢰성 피어를 얻을 수 없습니다: %m" -#: libpq/auth.c:2025 +#: libpq/auth.c:1879 #, c-format msgid "could not look up local user ID %ld: %s" msgstr "UID %ld 해당하는 사용자를 찾을 수 없음: %s" -#: libpq/auth.c:2124 +#: libpq/auth.c:1981 #, c-format msgid "error from underlying PAM layer: %s" msgstr "잠재적인 PAM 레이어에서의 에러: %s" -#: libpq/auth.c:2194 +#: libpq/auth.c:1992 +#, c-format +msgid "unsupported PAM conversation %d/\"%s\"" +msgstr "지원하지 않는 PAM conversation %d/\"%s\"" + +#: libpq/auth.c:2049 #, c-format msgid "could not create PAM authenticator: %s" msgstr "PAM 인증자를 생성할 수 없습니다: %s" -#: libpq/auth.c:2205 +#: libpq/auth.c:2060 #, c-format msgid "pam_set_item(PAM_USER) failed: %s" msgstr "pam_set_item(PAM_USER) 실패: %s" -#: libpq/auth.c:2237 +#: libpq/auth.c:2092 #, c-format msgid "pam_set_item(PAM_RHOST) failed: %s" msgstr "pam_set_item(PAM_RHOST) 실패: %s" -#: libpq/auth.c:2249 +#: libpq/auth.c:2104 #, c-format msgid "pam_set_item(PAM_CONV) failed: %s" msgstr "pam_set_item(PAM_CONV) 실패: %s" -#: libpq/auth.c:2262 +#: libpq/auth.c:2117 #, c-format msgid "pam_authenticate failed: %s" msgstr "PAM 인증 실패: %s" -#: libpq/auth.c:2275 +#: libpq/auth.c:2130 #, c-format msgid "pam_acct_mgmt failed: %s" msgstr "pam_acct_mgmt 실패: %s" -#: libpq/auth.c:2286 +#: libpq/auth.c:2141 #, c-format msgid "could not release PAM authenticator: %s" msgstr "PAM 인증자를 릴리즈할 수 없습니다: %s" -#: libpq/auth.c:2362 +#: libpq/auth.c:2221 #, c-format msgid "could not initialize LDAP: error code %d" msgstr "LDAP 초기화 실패: 오류번호 %d" -#: libpq/auth.c:2399 +#: libpq/auth.c:2258 #, c-format msgid "could not extract domain name from ldapbasedn" msgstr "ldapbasedn에서 도메인 이름을 뽑을 수 없음" -#: libpq/auth.c:2407 +#: libpq/auth.c:2266 #, c-format msgid "LDAP authentication could not find DNS SRV records for \"%s\"" msgstr "\"%s\"용 LDAP 인증 작업에서 DNS SRV 레코드를 찾을 수 없음" -#: libpq/auth.c:2409 +#: libpq/auth.c:2268 #, c-format msgid "Set an LDAP server name explicitly." msgstr "명시적으로 LDAP 서버 이름을 지정하세요." -#: libpq/auth.c:2461 +#: libpq/auth.c:2320 #, c-format msgid "could not initialize LDAP: %s" msgstr "LDAP 초기화 실패: %s" -#: libpq/auth.c:2471 +#: libpq/auth.c:2330 #, c-format msgid "ldaps not supported with this LDAP library" msgstr "ldap 인증으로 사용할 수 없는 LDAP 라이브러리" -#: libpq/auth.c:2479 +#: libpq/auth.c:2338 #, c-format msgid "could not initialize LDAP: %m" msgstr "LDAP 초기화 실패: %m" -#: libpq/auth.c:2489 +#: libpq/auth.c:2348 #, c-format msgid "could not set LDAP protocol version: %s" msgstr "LDAP 프로토콜 버전을 지정할 수 없음: %s" -#: libpq/auth.c:2529 -#, c-format -msgid "could not load function _ldap_start_tls_sA in wldap32.dll" -msgstr "could not load function _ldap_start_tls_sA in wldap32.dll" - -#: libpq/auth.c:2530 -#, c-format -msgid "LDAP over SSL is not supported on this platform." -msgstr "이 플랫폼에서는 SSL을 이용한 LDAP 기능을 지원하지 않음." - -#: libpq/auth.c:2546 +#: libpq/auth.c:2364 #, c-format msgid "could not start LDAP TLS session: %s" msgstr "LDAP TLS 세션을 시작할 수 없음: %s" -#: libpq/auth.c:2617 +#: libpq/auth.c:2441 #, c-format msgid "LDAP server not specified, and no ldapbasedn" msgstr "LDAP 서버도 ldapbasedn도 지정하지 않았음" -#: libpq/auth.c:2624 +#: libpq/auth.c:2448 #, c-format msgid "LDAP server not specified" msgstr "LDAP 서버가 지정되지 않음" -#: libpq/auth.c:2686 +#: libpq/auth.c:2510 #, c-format msgid "invalid character in user name for LDAP authentication" msgstr "LDAP 인증을 위한 사용자 이름에 사용할 수 없는 문자가 있습니다" -#: libpq/auth.c:2703 +#: libpq/auth.c:2527 #, c-format msgid "" "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": " @@ -13729,55 +15638,55 @@ msgstr "" "\"%s\" ldapbinddn (해당 서버: \"%s\") 설정에 대한 LDAP 바인드 초기화를 할 수 " "없음: %s" -#: libpq/auth.c:2732 +#: libpq/auth.c:2557 #, c-format msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s" msgstr "\"%s\" 필터로 LDAP 검색 실패함, 대상 서버: \"%s\": %s" -#: libpq/auth.c:2746 +#: libpq/auth.c:2573 #, c-format msgid "LDAP user \"%s\" does not exist" msgstr "\"%s\" LDAP 사용자가 없음" -#: libpq/auth.c:2747 +#: libpq/auth.c:2574 #, c-format msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries." msgstr "\"%s\" 필터로 \"%s\" 서버에서 LDAP 검색을 했으나, 해당 자료가 없음" -#: libpq/auth.c:2751 +#: libpq/auth.c:2578 #, c-format msgid "LDAP user \"%s\" is not unique" msgstr "\"%s\" LDAP 사용자가 유일하지 않습니다" -#: libpq/auth.c:2752 +#: libpq/auth.c:2579 #, 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] "\"%s\" 필터로 \"%s\" 서버에서 LDAP 검색 결과 %d 항목을 반환함" -#: libpq/auth.c:2772 +#: libpq/auth.c:2599 #, c-format msgid "" "could not get dn for the first entry matching \"%s\" on server \"%s\": %s" msgstr "\"%s\" 첫번째 항목 조회용 dn 값을 \"%s\" 서버에서 찾을 수 없음: %s" -#: libpq/auth.c:2793 +#: libpq/auth.c:2620 #, c-format msgid "could not unbind after searching for user \"%s\" on server \"%s\"" msgstr "\"%s\" 사용자 검색 후 unbind 작업을 \"%s\" 서버에서 할 수 없음" -#: libpq/auth.c:2824 +#: libpq/auth.c:2651 #, c-format msgid "LDAP login failed for user \"%s\" on server \"%s\": %s" msgstr "\"%s\" 사용자의 \"%s\" LDAP 서버 로그인 실패: %s" -#: libpq/auth.c:2853 +#: libpq/auth.c:2683 #, c-format msgid "LDAP diagnostics: %s" msgstr "LDAP 진단: %s" -#: libpq/auth.c:2880 +#: libpq/auth.c:2721 #, c-format msgid "" "certificate authentication failed for user \"%s\": client certificate " @@ -13786,209 +15695,225 @@ msgstr "" "\"%s\" 사용자에 대한 인증서 로그인 실패: 클라이언트 인증서에 사용자 이름이 없" "음" -#: libpq/auth.c:2897 +#: libpq/auth.c:2742 +#, c-format +msgid "" +"certificate authentication failed for user \"%s\": unable to retrieve " +"subject DN" +msgstr "사용자 \"%s\"의 인증서 인증을 실패했습니다: DN 주체가 없음" + +#: libpq/auth.c:2765 +#, c-format +msgid "" +"certificate validation (clientcert=verify-full) failed for user \"%s\": DN " +"mismatch" +msgstr "" +"\"%s\" 사용자를 위한 인증서 유효성 검사(clientcert=verify-full)를 실패 함: " +"DN 같지 않음" + +#: libpq/auth.c:2770 #, c-format msgid "" "certificate validation (clientcert=verify-full) failed for user \"%s\": CN " "mismatch" msgstr "\"%s\" 사용자를 위한 인증서 유효성 검사를 실패 함: CN 같지 않음" -#: libpq/auth.c:2998 +#: libpq/auth.c:2872 #, c-format msgid "RADIUS server not specified" msgstr "RADIUS 서버가 지정되지 않음" -#: libpq/auth.c:3005 +#: libpq/auth.c:2879 #, c-format msgid "RADIUS secret not specified" msgstr "RADIUS 비밀키가 지정되지 않음" -#: libpq/auth.c:3019 +#: libpq/auth.c:2893 #, c-format msgid "" "RADIUS authentication does not support passwords longer than %d characters" msgstr "RADIUS 인증은 %d 글자 보다 큰 비밀번호 인증을 지원하지 않습니다" -#: libpq/auth.c:3124 libpq/hba.c:1954 +#: libpq/auth.c:2995 libpq/hba.c:2369 #, c-format msgid "could not translate RADIUS server name \"%s\" to address: %s" msgstr "\"%s\" RADIUS 서버 이름을 주소로 바꿀 수 없음: %s" -#: libpq/auth.c:3138 +#: libpq/auth.c:3009 #, c-format msgid "could not generate random encryption vector" msgstr "무작위 암호화 벡터를 만들 수 없음" -#: libpq/auth.c:3172 +#: libpq/auth.c:3046 #, c-format -msgid "could not perform MD5 encryption of password" -msgstr "비밀번호의 MD5 암호를 만들 수 없음" +msgid "could not perform MD5 encryption of password: %s" +msgstr "비밀번호의 MD5 암호를 만들 수 없음: %s" # translator: %s is IPv4, IPv6, or Unix -#: libpq/auth.c:3198 +#: libpq/auth.c:3073 #, c-format msgid "could not create RADIUS socket: %m" msgstr "RADIUS 소켓을 생성할 수 없습니다: %m" # translator: %s is IPv4, IPv6, or Unix -#: libpq/auth.c:3220 +#: libpq/auth.c:3089 #, c-format msgid "could not bind local RADIUS socket: %m" msgstr "RADIUS 소켓에 바인드할 수 없습니다: %m" -#: libpq/auth.c:3230 +#: libpq/auth.c:3099 #, c-format msgid "could not send RADIUS packet: %m" msgstr "RADIUS 패킷을 보낼 수 없음: %m" -#: libpq/auth.c:3263 libpq/auth.c:3289 +#: libpq/auth.c:3133 libpq/auth.c:3159 #, c-format msgid "timeout waiting for RADIUS response from %s" msgstr "%s 에서 RADIUS 응답 대기 시간 초과" # translator: %s is IPv4, IPv6, or Unix -#: libpq/auth.c:3282 +#: libpq/auth.c:3152 #, c-format msgid "could not check status on RADIUS socket: %m" msgstr "RADIUS 소켓 상태를 확인할 수 없음: %m" -#: libpq/auth.c:3312 +#: libpq/auth.c:3182 #, c-format msgid "could not read RADIUS response: %m" msgstr "RADIUS 응답을 읽을 수 없음: %m" -#: libpq/auth.c:3325 libpq/auth.c:3329 +#: libpq/auth.c:3190 #, c-format msgid "RADIUS response from %s was sent from incorrect port: %d" msgstr "%s에서 RADIUS 응답이 바르지 않은 포트로부터 보내졌음: %d" -#: libpq/auth.c:3338 +#: libpq/auth.c:3198 #, c-format msgid "RADIUS response from %s too short: %d" msgstr "%s에서 RADIUS 응답이 너무 짧음: %d" -#: libpq/auth.c:3345 +#: libpq/auth.c:3205 #, c-format msgid "RADIUS response from %s has corrupt length: %d (actual length %d)" msgstr "%s에서 RADIUS 응답 길이가 이상함: %d (실재 길이: %d)" -#: libpq/auth.c:3353 +#: libpq/auth.c:3213 #, c-format msgid "RADIUS response from %s is to a different request: %d (should be %d)" msgstr "%s에서 RADIUS 응답이 요청과 다름: %d (기대값: %d)" -#: libpq/auth.c:3378 +#: libpq/auth.c:3238 #, c-format -msgid "could not perform MD5 encryption of received packet" -msgstr "받은 패킷을 대상으로 MD5 암호화 작업할 수 없음" +msgid "could not perform MD5 encryption of received packet: %s" +msgstr "받은 패킷을 대상으로 MD5 암호화 작업할 수 없음: %s" -#: libpq/auth.c:3387 +#: libpq/auth.c:3248 #, c-format msgid "RADIUS response from %s has incorrect MD5 signature" msgstr "%s에서 RADIUS 응답의 MD5 값이 이상함" -#: libpq/auth.c:3405 +#: libpq/auth.c:3266 #, c-format msgid "RADIUS response from %s has invalid code (%d) for user \"%s\"" msgstr "%s에서 RADIUS 응답이 바르지 않은 값임 (%d), 대상 사용자: \"%s\"" -#: libpq/be-fsstubs.c:119 libpq/be-fsstubs.c:150 libpq/be-fsstubs.c:178 -#: libpq/be-fsstubs.c:204 libpq/be-fsstubs.c:229 libpq/be-fsstubs.c:277 -#: libpq/be-fsstubs.c:300 libpq/be-fsstubs.c:553 +#: libpq/be-fsstubs.c:133 libpq/be-fsstubs.c:162 libpq/be-fsstubs.c:190 +#: libpq/be-fsstubs.c:216 libpq/be-fsstubs.c:241 libpq/be-fsstubs.c:283 +#: libpq/be-fsstubs.c:306 libpq/be-fsstubs.c:560 #, c-format msgid "invalid large-object descriptor: %d" msgstr "유효하지 않은 대형 개체 설명: %d" -#: libpq/be-fsstubs.c:161 +#: libpq/be-fsstubs.c:173 #, c-format msgid "large object descriptor %d was not opened for reading" msgstr "%d번 대형 개체 기술자가 읽기 모드로 열려있지 않습니다" -#: libpq/be-fsstubs.c:185 libpq/be-fsstubs.c:560 +#: libpq/be-fsstubs.c:197 libpq/be-fsstubs.c:567 #, c-format msgid "large object descriptor %d was not opened for writing" msgstr "%d번 대형 개체 기술자가 쓰기 모드로 열려있지 않습니다" -#: libpq/be-fsstubs.c:212 +#: libpq/be-fsstubs.c:224 #, c-format msgid "lo_lseek result out of range for large-object descriptor %d" msgstr "%d번 대형 개체 기술자에 대한 lo_lseek 반환값이 범위를 벗어남" -#: libpq/be-fsstubs.c:285 +#: libpq/be-fsstubs.c:291 #, c-format msgid "lo_tell result out of range for large-object descriptor %d" msgstr "%d번 대형 개체 기술자에 대한 lo_tell 반환값이 범위를 벗어남" -#: libpq/be-fsstubs.c:432 +#: libpq/be-fsstubs.c:439 #, c-format msgid "could not open server file \"%s\": %m" msgstr "서버 파일 \"%s\"을 열 수 없습니다: %m" -#: libpq/be-fsstubs.c:454 +#: libpq/be-fsstubs.c:462 #, c-format msgid "could not read server file \"%s\": %m" msgstr "서버 파일 \"%s\"을 읽을 수 없습니다: %m" -#: libpq/be-fsstubs.c:514 +#: libpq/be-fsstubs.c:521 #, c-format msgid "could not create server file \"%s\": %m" msgstr "서버 파일 \"%s\"의 생성을 할 수 없습니다: %m" -#: libpq/be-fsstubs.c:526 +#: libpq/be-fsstubs.c:533 #, c-format msgid "could not write server file \"%s\": %m" msgstr "서버 파일 \"%s\"에 쓸 수 없습니다: %m" -#: libpq/be-fsstubs.c:760 +#: libpq/be-fsstubs.c:774 #, c-format msgid "large object read request is too large" msgstr "대형 개체 읽기 요청이 너무 큽니다" -#: libpq/be-fsstubs.c:802 utils/adt/genfile.c:265 utils/adt/genfile.c:304 -#: utils/adt/genfile.c:340 +#: libpq/be-fsstubs.c:816 utils/adt/genfile.c:262 utils/adt/genfile.c:294 +#: utils/adt/genfile.c:315 #, c-format msgid "requested length cannot be negative" msgstr "요청한 길이는 음수일 수 없음" -#: libpq/be-fsstubs.c:855 storage/large_object/inv_api.c:297 -#: storage/large_object/inv_api.c:309 storage/large_object/inv_api.c:513 -#: storage/large_object/inv_api.c:624 storage/large_object/inv_api.c:814 +#: libpq/be-fsstubs.c:871 storage/large_object/inv_api.c:299 +#: storage/large_object/inv_api.c:311 storage/large_object/inv_api.c:508 +#: storage/large_object/inv_api.c:619 storage/large_object/inv_api.c:809 #, c-format msgid "permission denied for large object %u" msgstr "%u 대형 개체에 대한 접근 권한 없음" -#: libpq/be-secure-common.c:93 +#: libpq/be-secure-common.c:71 #, c-format msgid "could not read from command \"%s\": %m" msgstr "\"%s\" 명령에서 읽을 수 없음: %m" -#: libpq/be-secure-common.c:113 +#: libpq/be-secure-common.c:91 #, c-format msgid "command \"%s\" failed" msgstr "\"%s\" 명령 실패" -#: libpq/be-secure-common.c:141 +#: libpq/be-secure-common.c:119 #, c-format msgid "could not access private key file \"%s\": %m" msgstr "비밀키 \"%s\"에 액세스할 수 없습니다: %m" -#: libpq/be-secure-common.c:150 +#: libpq/be-secure-common.c:129 #, c-format msgid "private key file \"%s\" is not a regular file" msgstr "\"%s\" 개인 키 파일은 일반 파일이 아님" -#: libpq/be-secure-common.c:165 +#: libpq/be-secure-common.c:155 #, c-format msgid "private key file \"%s\" must be owned by the database user or root" msgstr "" "\"%s\" 개인 키 파일의 소유주는 데이터베이스 사용자이거나 root 여야 합니다." -#: libpq/be-secure-common.c:188 +#: libpq/be-secure-common.c:165 #, c-format msgid "private key file \"%s\" has group or world access" msgstr "\"%s\" 개인 키 파일에 그룹 또는 익명 액세스 권한이 있음" -#: libpq/be-secure-common.c:190 +#: libpq/be-secure-common.c:167 #, c-format msgid "" "File must have permissions u=rw (0600) or less if owned by the database " @@ -13998,58 +15923,58 @@ msgstr "" "(0600) 또는 더 작게 설정하고, root가 소유주라면 u=rw,g=r (0640) 권한으로 지정" "하세요" -#: libpq/be-secure-gssapi.c:195 +#: libpq/be-secure-gssapi.c:204 msgid "GSSAPI wrap error" -msgstr "" +msgstr "GSSAPI 감싸기 오류" -#: libpq/be-secure-gssapi.c:199 +#: libpq/be-secure-gssapi.c:211 #, c-format msgid "outgoing GSSAPI message would not use confidentiality" -msgstr "" +msgstr "GSSAPI 출력 메시지는 기밀성을 유지하면 안됩니다." -#: libpq/be-secure-gssapi.c:203 libpq/be-secure-gssapi.c:574 +#: libpq/be-secure-gssapi.c:218 libpq/be-secure-gssapi.c:634 #, c-format msgid "server tried to send oversize GSSAPI packet (%zu > %zu)" -msgstr "" +msgstr "서버가 너무 큰 GSSAPI 패킷을 보내려고 합니다(%zu > %zu)." -#: libpq/be-secure-gssapi.c:330 +#: libpq/be-secure-gssapi.c:351 #, c-format msgid "oversize GSSAPI packet sent by the client (%zu > %zu)" -msgstr "" +msgstr "클라이언트가 너무 큰 GSSAPI 패킷을 보냈습니다(%zu > %zu)." -#: libpq/be-secure-gssapi.c:364 +#: libpq/be-secure-gssapi.c:389 msgid "GSSAPI unwrap error" -msgstr "" +msgstr "GSSAPI 벗기기 오류" -#: libpq/be-secure-gssapi.c:369 +#: libpq/be-secure-gssapi.c:396 #, c-format msgid "incoming GSSAPI message did not use confidentiality" -msgstr "" +msgstr "GSSAPI 입력 메시지는 기밀성을 유지하면 안됩니다." -#: libpq/be-secure-gssapi.c:525 +#: libpq/be-secure-gssapi.c:575 #, c-format msgid "oversize GSSAPI packet sent by the client (%zu > %d)" -msgstr "" +msgstr "클라이언트가 너무 큰 GSSAPI 패킷을 보냈습니다(%zu > %d)" -#: libpq/be-secure-gssapi.c:547 +#: libpq/be-secure-gssapi.c:600 msgid "could not accept GSSAPI security context" msgstr "GSSAPI 보안 내용을 받아드릴 수 없음" -#: libpq/be-secure-gssapi.c:637 +#: libpq/be-secure-gssapi.c:701 msgid "GSSAPI size check error" msgstr "GSSAPI 크기 검사 오류" -#: libpq/be-secure-openssl.c:112 +#: libpq/be-secure-openssl.c:125 #, c-format msgid "could not create SSL context: %s" msgstr "SSL 컨텍스트 정보를 생성할 수 없습니다: %s" -#: libpq/be-secure-openssl.c:138 +#: libpq/be-secure-openssl.c:151 #, c-format msgid "could not load server certificate file \"%s\": %s" msgstr "서버 인증서 파일 \"%s\"을 불러들일 수 없습니다: %s" -#: libpq/be-secure-openssl.c:158 +#: libpq/be-secure-openssl.c:171 #, c-format msgid "" "private key file \"%s\" cannot be reloaded because it requires a passphrase" @@ -14057,167 +15982,217 @@ msgstr "" "\"%s\" 개인 키 파일은 비밀번호를 입력해야 해서 자동으로 다시 불러올 수 없습니" "다." -#: libpq/be-secure-openssl.c:163 +#: libpq/be-secure-openssl.c:176 #, c-format msgid "could not load private key file \"%s\": %s" msgstr "비밀키 파일 \"%s\"을 불러들일 수 없습니다: %s" -#: libpq/be-secure-openssl.c:172 +#: libpq/be-secure-openssl.c:185 #, c-format msgid "check of private key failed: %s" msgstr "비밀키의 확인 실패: %s" -#: libpq/be-secure-openssl.c:184 libpq/be-secure-openssl.c:206 +#. translator: first %s is a GUC option name, second %s is its value +#: libpq/be-secure-openssl.c:198 libpq/be-secure-openssl.c:221 #, c-format msgid "\"%s\" setting \"%s\" not supported by this build" msgstr "\"%s\" 의 \"%s\" 설정 기능을 빼고 빌드 되었음" -#: libpq/be-secure-openssl.c:194 +#: libpq/be-secure-openssl.c:208 #, c-format msgid "could not set minimum SSL protocol version" msgstr "최소 SSL 프로토콜 버전을 설정할 수 없음" -#: libpq/be-secure-openssl.c:216 +#: libpq/be-secure-openssl.c:231 #, c-format msgid "could not set maximum SSL protocol version" msgstr "최대 SSL 프로토콜 버전을 설정할 수 없음" -#: libpq/be-secure-openssl.c:232 +#: libpq/be-secure-openssl.c:247 #, c-format msgid "could not set SSL protocol version range" msgstr "SSL 프로토콜 버전 범위를 지정할 수 없음" -#: libpq/be-secure-openssl.c:233 +#: libpq/be-secure-openssl.c:248 #, c-format msgid "\"%s\" cannot be higher than \"%s\"" msgstr "\"%s\" 값은 \"%s\" 보다 높을 수 없음" -#: libpq/be-secure-openssl.c:257 +#: libpq/be-secure-openssl.c:285 #, c-format msgid "could not set the cipher list (no valid ciphers available)" msgstr "cipher 목록을 설정할 수 없음 (유요한 cipher가 없음)" -#: libpq/be-secure-openssl.c:275 +#: libpq/be-secure-openssl.c:305 #, c-format msgid "could not load root certificate file \"%s\": %s" msgstr "root 인증서 파일 \"%s\"을 불러들일 수 없습니다: %s" -#: libpq/be-secure-openssl.c:302 +#: libpq/be-secure-openssl.c:354 #, c-format msgid "could not load SSL certificate revocation list file \"%s\": %s" msgstr "\"%s\" SSL 인증서 회수 목록 파일을 불러들일 수 없습니다: %s" -#: libpq/be-secure-openssl.c:378 +#: libpq/be-secure-openssl.c:362 +#, c-format +msgid "could not load SSL certificate revocation list directory \"%s\": %s" +msgstr "\"%s\" SSL 인증서 회수 목록 디렉터리를 불러들일 수 없습니다: %s" + +#: libpq/be-secure-openssl.c:370 +#, c-format +msgid "" +"could not load SSL certificate revocation list file \"%s\" or directory \"%s" +"\": %s" +msgstr "" +"\"%s\" SSL 인증서 회수 목록 파일이나 \"%s\" 디렉터리를 불러들일 수 없습니다: " +"%s" + +#: libpq/be-secure-openssl.c:428 #, c-format msgid "could not initialize SSL connection: SSL context not set up" msgstr "SSL연결을 초기화할 수 없습니다: SSL 컨텍스트를 설정 못함" -#: libpq/be-secure-openssl.c:386 +#: libpq/be-secure-openssl.c:439 #, c-format msgid "could not initialize SSL connection: %s" msgstr "SSL연결을 초기화할 수 없습니다: %s" -#: libpq/be-secure-openssl.c:394 +#: libpq/be-secure-openssl.c:447 #, c-format msgid "could not set SSL socket: %s" msgstr "SSL 소켓을 지정할 수 없습니다: %s" -#: libpq/be-secure-openssl.c:449 +#: libpq/be-secure-openssl.c:502 #, c-format msgid "could not accept SSL connection: %m" msgstr "SSL 연결을 받아드릴 수 없습니다: %m" -#: libpq/be-secure-openssl.c:453 libpq/be-secure-openssl.c:506 +#: libpq/be-secure-openssl.c:506 libpq/be-secure-openssl.c:561 #, c-format msgid "could not accept SSL connection: EOF detected" msgstr "SSL 연결을 받아드릴 수 없습니다: EOF 감지됨" -#: libpq/be-secure-openssl.c:492 +#: libpq/be-secure-openssl.c:545 #, c-format msgid "could not accept SSL connection: %s" msgstr "SSL 연결을 받아드릴 수 없습니다: %s" -#: libpq/be-secure-openssl.c:495 +#: libpq/be-secure-openssl.c:549 #, c-format msgid "" "This may indicate that the client does not support any SSL protocol version " "between %s and %s." msgstr "" +"이런 경우는 클라이언트가 %s부터 %s까지 SSL 프로토콜 버전을 지원하지 않는 경우" +"에 발생하기도 합니다." -#: libpq/be-secure-openssl.c:511 libpq/be-secure-openssl.c:642 -#: libpq/be-secure-openssl.c:706 +#: libpq/be-secure-openssl.c:566 libpq/be-secure-openssl.c:746 +#: libpq/be-secure-openssl.c:810 #, c-format msgid "unrecognized SSL error code: %d" msgstr "인식되지 않은 SSL 에러 코드 %d" -#: libpq/be-secure-openssl.c:553 +#: libpq/be-secure-openssl.c:612 #, c-format msgid "SSL certificate's common name contains embedded null" msgstr "SSL 인증서의 일반 이름에 포함된 null이 있음" -#: libpq/be-secure-openssl.c:631 libpq/be-secure-openssl.c:690 +#: libpq/be-secure-openssl.c:652 +#, c-format +msgid "SSL certificate's distinguished name contains embedded null" +msgstr "SSL 인증서의 식별자 이름에 포함된 null이 있음" + +#: libpq/be-secure-openssl.c:735 libpq/be-secure-openssl.c:794 #, c-format msgid "SSL error: %s" msgstr "SSL 에러: %s" -#: libpq/be-secure-openssl.c:871 +#: libpq/be-secure-openssl.c:976 #, c-format msgid "could not open DH parameters file \"%s\": %m" msgstr "\"%s\" DH 매개 변수 파일을 열 수 없습니다: %m" -#: libpq/be-secure-openssl.c:883 +#: libpq/be-secure-openssl.c:988 #, c-format msgid "could not load DH parameters file: %s" msgstr "DH 매개 변수 파일을 불러들일 수 없습니다: %s" -#: libpq/be-secure-openssl.c:893 +#: libpq/be-secure-openssl.c:998 #, c-format msgid "invalid DH parameters: %s" msgstr "잘못된 DH 매개 변수: %s" -#: libpq/be-secure-openssl.c:901 +#: libpq/be-secure-openssl.c:1007 #, c-format msgid "invalid DH parameters: p is not prime" msgstr "잘못된 DH 매개 변수값: p는 prime 아님" -#: libpq/be-secure-openssl.c:909 +#: libpq/be-secure-openssl.c:1016 #, c-format msgid "invalid DH parameters: neither suitable generator or safe prime" +msgstr "잘못된 DH 매개 변수값: 타당한 생성자도 아니고, 안전한 prime도 아님" + +#: libpq/be-secure-openssl.c:1152 +#, c-format +msgid "Client certificate verification failed at depth %d: %s." +msgstr "%d 번째 깊이에서 클라이언트 인증서 유효성 검사 실패: %s." + +#: libpq/be-secure-openssl.c:1189 +#, c-format +msgid "" +"Failed certificate data (unverified): subject \"%s\", serial number %s, " +"issuer \"%s\"." msgstr "" +"데이터 인증 실패 (검증 안됨): subject \"%s\", serial number %s, issuer \"%s" +"\"." + +#: libpq/be-secure-openssl.c:1190 +msgid "unknown" +msgstr "알수없음" -#: libpq/be-secure-openssl.c:1065 +#: libpq/be-secure-openssl.c:1281 #, c-format msgid "DH: could not load DH parameters" msgstr "DH: DH 매개 변수 불러오기 실패" -#: libpq/be-secure-openssl.c:1073 +#: libpq/be-secure-openssl.c:1289 #, c-format msgid "DH: could not set DH parameters: %s" msgstr "DH: DH 매개 변수 설정 실패: %s" -#: libpq/be-secure-openssl.c:1100 +#: libpq/be-secure-openssl.c:1316 #, c-format msgid "ECDH: unrecognized curve name: %s" msgstr "ECDH: 알 수 없는 curve 이름: %s" -#: libpq/be-secure-openssl.c:1109 +#: libpq/be-secure-openssl.c:1325 #, c-format msgid "ECDH: could not create key" msgstr "ECDH: 키 생성 실패" -#: libpq/be-secure-openssl.c:1137 +#: libpq/be-secure-openssl.c:1353 msgid "no SSL error reported" msgstr "SSL 오류 없음" -#: libpq/be-secure-openssl.c:1141 +#: libpq/be-secure-openssl.c:1357 #, c-format msgid "SSL error code %lu" msgstr "SSL 오류 번호 %lu" -#: libpq/be-secure.c:122 +#: libpq/be-secure-openssl.c:1516 #, c-format -msgid "SSL connection from \"%s\"" -msgstr "\"%s\" 로부터의 SSL 연결" +msgid "could not create BIO" +msgstr "BIO 만들기 실패" + +#: libpq/be-secure-openssl.c:1526 +#, c-format +msgid "could not get NID for ASN1_OBJECT object" +msgstr "ASN1_OBJECT 객체용 NID 구할 수 없음" + +#: libpq/be-secure-openssl.c:1534 +#, c-format +msgid "could not convert NID %d to an ASN1_OBJECT structure" +msgstr "ASN1_OBJECT 구조체에서 %d NID를 변환할 수 없음" #: libpq/be-secure.c:207 libpq/be-secure.c:303 #, c-format @@ -14239,249 +16214,231 @@ msgstr "\"%s\" 사용자 비밀번호가 아직 할당되지 않음" msgid "User \"%s\" has an expired password." msgstr "\"%s\" 사용자 비밀번호가 기한 만료되었습니다." -#: libpq/crypt.c:179 +#: libpq/crypt.c:183 #, c-format msgid "User \"%s\" has a password that cannot be used with MD5 authentication." -msgstr "" +msgstr "\"%s\" 사용자의 비밀번호는 MD5 인증용이 아닙니다." -#: libpq/crypt.c:203 libpq/crypt.c:244 libpq/crypt.c:268 +#: libpq/crypt.c:204 libpq/crypt.c:246 libpq/crypt.c:266 #, c-format msgid "Password does not match for user \"%s\"." msgstr "\"%s\" 사용자의 비밀번호가 틀립니다." -#: libpq/crypt.c:287 +#: libpq/crypt.c:285 #, c-format msgid "Password of user \"%s\" is in unrecognized format." -msgstr "" +msgstr "\"%s\" 사용자의 비밀번호 암호화 기법을 알 수 없습니다." + +#: libpq/hba.c:332 +#, c-format +msgid "invalid regular expression \"%s\": %s" +msgstr "\"%s\" 정규식이 잘못됨: %s" -#: libpq/hba.c:235 +#: 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 "authentication file token too long, skipping: \"%s\"" -msgstr "인증 파일의 토큰이 너무 길어서 건너뜁니다: \"%s\"" +msgid "line %d of configuration file \"%s\"" +msgstr "%d번째 줄(\"%s\" 환경 설정 파일)" -#: libpq/hba.c:407 +#: libpq/hba.c:462 #, c-format -msgid "could not open secondary authentication file \"@%s\" as \"%s\": %m" -msgstr "2차 인증파일 \"%s\"으로 \"@%s\"를 열 수 없다: %m" +msgid "skipping missing authentication file \"%s\"" +msgstr "\"%s\" 인증 설정파일이 없으나 건너뜀" -#: libpq/hba.c:509 +#: libpq/hba.c:614 #, c-format -msgid "authentication file line too long" -msgstr "인증 파일 줄이 너무 깁니다" +msgid "could not open file \"%s\": maximum nesting depth exceeded" +msgstr "\"%s\" 파일을 열 수 없습니다: 최대 디렉터리 깊이를 초과했음" -#: libpq/hba.c:510 libpq/hba.c:867 libpq/hba.c:887 libpq/hba.c:925 -#: libpq/hba.c:975 libpq/hba.c:989 libpq/hba.c:1013 libpq/hba.c:1022 -#: libpq/hba.c:1035 libpq/hba.c:1056 libpq/hba.c:1069 libpq/hba.c:1089 -#: libpq/hba.c:1111 libpq/hba.c:1123 libpq/hba.c:1179 libpq/hba.c:1199 -#: libpq/hba.c:1213 libpq/hba.c:1232 libpq/hba.c:1243 libpq/hba.c:1258 -#: libpq/hba.c:1276 libpq/hba.c:1292 libpq/hba.c:1304 libpq/hba.c:1341 -#: libpq/hba.c:1382 libpq/hba.c:1395 libpq/hba.c:1417 libpq/hba.c:1430 -#: libpq/hba.c:1442 libpq/hba.c:1460 libpq/hba.c:1510 libpq/hba.c:1554 -#: libpq/hba.c:1565 libpq/hba.c:1581 libpq/hba.c:1598 libpq/hba.c:1608 -#: libpq/hba.c:1666 libpq/hba.c:1704 libpq/hba.c:1726 libpq/hba.c:1738 -#: libpq/hba.c:1825 libpq/hba.c:1843 libpq/hba.c:1937 libpq/hba.c:1956 -#: libpq/hba.c:1985 libpq/hba.c:1998 libpq/hba.c:2021 libpq/hba.c:2043 -#: libpq/hba.c:2057 tsearch/ts_locale.c:217 +#: libpq/hba.c:1221 #, c-format -msgid "line %d of configuration file \"%s\"" -msgstr "%d번째 줄(\"%s\" 환경 설정 파일)" +msgid "error enumerating network interfaces: %m" +msgstr "네트워크 인터페이스 이뮬레이트 하기 실패: %m" #. translator: the second %s is a list of auth methods -#: libpq/hba.c:865 +#: libpq/hba.c:1248 #, c-format msgid "" "authentication option \"%s\" is only valid for authentication methods %s" msgstr "\"%s\" 인증 옵션은 %s 인증 방법에만 유효함" -#: libpq/hba.c:885 +#: libpq/hba.c:1268 #, c-format msgid "authentication method \"%s\" requires argument \"%s\" to be set" msgstr "\"%s\" 인증 방법의 경우 \"%s\" 인자를 설정해야 함" -#: libpq/hba.c:913 +#: libpq/hba.c:1292 #, c-format -msgid "missing entry in file \"%s\" at end of line %d" -msgstr "\"%s\" 파일의 %d번째 줄의 끝 라인에 빠진 엔트리가 있습니다 " +msgid "missing entry at end of line" +msgstr "줄의 끝 라인에 빠진 엔트리가 있음" -#: libpq/hba.c:924 +#: libpq/hba.c:1305 #, c-format msgid "multiple values in ident field" msgstr "ident 자리에 여러 값이 있음" -#: libpq/hba.c:973 +#: libpq/hba.c:1357 #, c-format msgid "multiple values specified for connection type" msgstr "연결 형식 자리에 여러 값이 있음" -#: libpq/hba.c:974 +#: libpq/hba.c:1358 #, c-format msgid "Specify exactly one connection type per line." msgstr "한 줄에 하나의 연결 형태만 지정해야 합니다" -#: libpq/hba.c:988 -#, c-format -msgid "local connections are not supported by this build" -msgstr "로컬 접속 기능을 뺀 채로 서버가 만들어졌습니다." - -#: libpq/hba.c:1011 +#: libpq/hba.c:1385 #, c-format msgid "hostssl record cannot match because SSL is disabled" -msgstr "" +msgstr "SSL 기능이 꺼져있어 hostssl 설정을 사용할 수 없습니다" -#: libpq/hba.c:1012 +#: libpq/hba.c:1386 #, c-format msgid "Set ssl = on in postgresql.conf." msgstr "postgresql.conf 파일에 ssl = on 설정을 하세요." -#: libpq/hba.c:1020 +#: libpq/hba.c:1394 #, c-format msgid "hostssl record cannot match because SSL is not supported by this build" msgstr "" "이 서버는 ssl 접속 기능을 지원하지 않아 hostssl 인증을 지원하지 않습니다." -#: libpq/hba.c:1021 -#, c-format -msgid "Compile with --with-openssl to use SSL connections." -msgstr "" -"SSL 연결을 사용하기 위해 --enable-ssl 옵션을 사용해서 서버를 다시 컴파일 하세" -"요" - -#: libpq/hba.c:1033 +#: libpq/hba.c:1406 #, c-format msgid "" "hostgssenc record cannot match because GSSAPI is not supported by this build" msgstr "" -"이 서버는 GSSAPI 접속 기능을 지원하지 않아 hostgssenc 레코드가 적당하지 않음" - -#: libpq/hba.c:1034 -#, c-format -msgid "Compile with --with-gssapi to use GSSAPI connections." -msgstr "" -"GSSAPI 연결을 사용하기 위해 --with-gssapi 옵션을 사용해서 서버를 다시 컴파일 " -"하세요" +"이 서버는 GSSAPI 접속 기능을 지원하지 않아 hostgssenc 레코드가 적당하지 않음" -#: libpq/hba.c:1054 +#: libpq/hba.c:1426 #, c-format msgid "invalid connection type \"%s\"" msgstr "\"%s\" 값은 잘못된 연결 형식입니다" -#: libpq/hba.c:1068 +#: libpq/hba.c:1440 #, c-format msgid "end-of-line before database specification" msgstr "데이터베이스 지정 전에 줄 끝에 도달함" -#: libpq/hba.c:1088 +#: libpq/hba.c:1465 #, c-format msgid "end-of-line before role specification" msgstr "롤 지정 전에 줄 끝에 도달함" -#: libpq/hba.c:1110 +#: libpq/hba.c:1492 #, c-format msgid "end-of-line before IP address specification" msgstr "IP 주소 지정 전에 줄 끝에 도달함" -#: libpq/hba.c:1121 +#: libpq/hba.c:1503 #, c-format msgid "multiple values specified for host address" msgstr "호스트 주소 부분에 여러 값이 지정됨" -#: libpq/hba.c:1122 +#: libpq/hba.c:1504 #, c-format msgid "Specify one address range per line." msgstr "한 줄에 하나의 주소 범위가 있어야 합니다." -#: libpq/hba.c:1177 +#: libpq/hba.c:1562 #, c-format msgid "invalid IP address \"%s\": %s" msgstr "\"%s\" 형태는 잘못된 IP 주소 형태입니다: %s" -#: libpq/hba.c:1197 +#: libpq/hba.c:1582 #, c-format msgid "specifying both host name and CIDR mask is invalid: \"%s\"" msgstr "호스트 이름과 CIDR 마스크는 함께 쓸 수 없습니다: \"%s\"" -#: libpq/hba.c:1211 +#: libpq/hba.c:1596 #, c-format msgid "invalid CIDR mask in address \"%s\"" msgstr "\"%s\" 주소에 잘못된 CIDR 마스크가 있음" -#: libpq/hba.c:1230 +#: libpq/hba.c:1616 #, c-format msgid "end-of-line before netmask specification" msgstr "넷마스크 지정 전에 줄 끝에 도달함" -#: libpq/hba.c:1231 +#: libpq/hba.c:1617 #, c-format msgid "" "Specify an address range in CIDR notation, or provide a separate netmask." msgstr "주소 범위는 CIDR 표기법을 쓰거나 넷마스크 표기법을 쓰세요" -#: libpq/hba.c:1242 +#: libpq/hba.c:1628 #, c-format msgid "multiple values specified for netmask" msgstr "넷마스크 부분에 여러 값이 지정됨" -#: libpq/hba.c:1256 +#: libpq/hba.c:1642 #, c-format msgid "invalid IP mask \"%s\": %s" msgstr "잘못된 IP 마스크, \"%s\": %s" -#: libpq/hba.c:1275 +#: libpq/hba.c:1662 #, c-format msgid "IP address and mask do not match" msgstr "IP 주소와 마스크가 맞지 않습니다" -#: libpq/hba.c:1291 +#: libpq/hba.c:1678 #, c-format msgid "end-of-line before authentication method" msgstr "인증 방법 전에 줄 끝에 도달함" -#: libpq/hba.c:1302 +#: libpq/hba.c:1689 #, c-format msgid "multiple values specified for authentication type" msgstr "인증 방법 부분에 여러 값이 지정됨" -#: libpq/hba.c:1303 +#: libpq/hba.c:1690 #, c-format msgid "Specify exactly one authentication type per line." msgstr "하나의 인증 방법에 대해서 한 줄씩 지정해야 합니다" -#: libpq/hba.c:1380 +#: libpq/hba.c:1767 #, c-format msgid "invalid authentication method \"%s\"" msgstr "\"%s\" 인증 방법이 잘못됨" -#: libpq/hba.c:1393 +#: libpq/hba.c:1780 #, c-format msgid "invalid authentication method \"%s\": not supported by this build" msgstr "\"%s\" 인증 방법이 잘못됨: 이 서버에서 지원되지 않음" -#: libpq/hba.c:1416 +#: libpq/hba.c:1803 #, c-format msgid "gssapi authentication is not supported on local sockets" msgstr "gssapi 인증은 로컬 소켓에서 지원되지 않음" -#: libpq/hba.c:1429 -#, c-format -msgid "GSSAPI encryption only supports gss, trust, or reject authentication" -msgstr "" - -#: libpq/hba.c:1441 +#: libpq/hba.c:1815 #, c-format msgid "peer authentication is only supported on local sockets" msgstr "peer 인증은 로컬 소켓에서만 지원함" -#: libpq/hba.c:1459 +#: libpq/hba.c:1833 #, c-format msgid "cert authentication is only supported on hostssl connections" msgstr "cert 인증은 hostssl 연결에서만 지원됨" -#: libpq/hba.c:1509 +#: libpq/hba.c:1883 #, c-format msgid "authentication option not in name=value format: %s" msgstr "인증 옵션이 이름=값 형태가 아님: %s" -#: libpq/hba.c:1553 +#: libpq/hba.c:1927 #, c-format msgid "" "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, " @@ -14490,7 +16447,7 @@ msgstr "" "ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, " "ldapsearchfilter, ldapurl 옵션은 ldapprefix 옵션과 함께 사용할 수 없음" -#: libpq/hba.c:1564 +#: libpq/hba.c:1938 #, c-format msgid "" "authentication method \"ldap\" requires argument \"ldapbasedn\", \"ldapprefix" @@ -14499,230 +16456,232 @@ msgstr "" "\"ldap\" 인증 방법의 경우 \"ldapbasedn\", \"ldapprefix\", \"ldapsuffix\"옵션" "이 있어야 함" -#: libpq/hba.c:1580 +#: libpq/hba.c:1954 #, c-format msgid "cannot use ldapsearchattribute together with ldapsearchfilter" msgstr "ldapsearchattribute 옵션은 ldapsearchfilter 옵션과 함께 사용할 수 없음" -#: libpq/hba.c:1597 +#: libpq/hba.c:1971 #, c-format msgid "list of RADIUS servers cannot be empty" msgstr "RADIUS 서버 목록은 비어 있을 수 없음" -#: libpq/hba.c:1607 +#: libpq/hba.c:1982 #, c-format msgid "list of RADIUS secrets cannot be empty" msgstr "RADIUS 비밀키 목록은 비어 있을 수 없음" -#: libpq/hba.c:1660 +#: 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 "" +"RADIUS 비밀번호 개수(%d)는 하나이거나, RADIUS 서버 개수(%d)와 같아야 함" + +#: 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 "RADIUS 포트 개수(%d)는 하나이거나, RADIUS 서버 개수(%d)와 같아야 함" + +#: libpq/hba.c:2031 #, c-format -msgid "the number of %s (%d) must be 1 or the same as the number of %s (%d)" -msgstr "서버 목록과 키 목록이 안 맞음: %s (%d) / %s (%d)" +msgid "" +"the number of RADIUS identifiers (%d) must be 1 or the same as the number of " +"RADIUS servers (%d)" +msgstr "RADIUS 계정 개수(%d)는 하나이거나, RADIUS 서버 개수(%d)와 같아야 함" -#: libpq/hba.c:1694 +#: libpq/hba.c:2083 msgid "ident, peer, gssapi, sspi, and cert" msgstr "ident, peer, gssapi, sspi 및 cert" -#: libpq/hba.c:1703 +#: libpq/hba.c:2092 #, c-format msgid "clientcert can only be configured for \"hostssl\" rows" msgstr "clientcert는 \"hostssl\" 행에 대해서만 구성할 수 있음" -#: libpq/hba.c:1725 +#: libpq/hba.c:2109 #, c-format msgid "" -"clientcert cannot be set to \"no-verify\" when using \"cert\" authentication" +"clientcert only accepts \"verify-full\" when using \"cert\" authentication" msgstr "" -"\"cert\" 인증을 사용하는 경우 clientcert를 \"no-verify\"로 설정할 수 없음" +"\"cert\" 인증을 사용하는 경우 clientcert 값은 \"verify-full\" 만 허용함" -#: libpq/hba.c:1737 +#: libpq/hba.c:2122 #, c-format msgid "invalid value for clientcert: \"%s\"" msgstr "잘못된 clientcert 값: \"%s\"" -#: libpq/hba.c:1771 +#: libpq/hba.c:2134 +#, c-format +msgid "clientname can only be configured for \"hostssl\" rows" +msgstr "clientname 설정은 \"hostssl\" 줄에만 지정할 수 있음" + +#: libpq/hba.c:2153 +#, c-format +msgid "invalid value for clientname: \"%s\"" +msgstr "잘못된 clientname 값: \"%s\"" + +#: libpq/hba.c:2186 #, c-format msgid "could not parse LDAP URL \"%s\": %s" msgstr "\"%s\" LDAP URL을 분석할 수 없음: %s" -#: libpq/hba.c:1782 +#: libpq/hba.c:2197 #, c-format msgid "unsupported LDAP URL scheme: %s" msgstr "지원하지 않는 LDAP URL 스킴: %s" -#: libpq/hba.c:1806 +#: libpq/hba.c:2221 #, c-format msgid "LDAP URLs not supported on this platform" msgstr "이 플랫폼에서는 LDAP URL 기능을 지원하지 않음." -#: libpq/hba.c:1824 +#: libpq/hba.c:2239 #, c-format msgid "invalid ldapscheme value: \"%s\"" msgstr "잘못된 ldapscheme 값: \"%s\"" -#: libpq/hba.c:1842 +#: libpq/hba.c:2257 #, c-format msgid "invalid LDAP port number: \"%s\"" msgstr "LDAP 포트 번호가 잘못됨: \"%s\"" -#: libpq/hba.c:1888 libpq/hba.c:1895 +#: libpq/hba.c:2303 libpq/hba.c:2310 msgid "gssapi and sspi" msgstr "gssapi 및 sspi" -#: libpq/hba.c:1904 libpq/hba.c:1913 +#: libpq/hba.c:2319 libpq/hba.c:2328 msgid "sspi" msgstr "sspi" -#: libpq/hba.c:1935 +#: libpq/hba.c:2350 #, c-format msgid "could not parse RADIUS server list \"%s\"" msgstr "RADIUS 서버 목록 분석 실패: \"%s\"" -#: libpq/hba.c:1983 +#: libpq/hba.c:2398 #, c-format msgid "could not parse RADIUS port list \"%s\"" msgstr "RADIUS 서버 포트 목록 분석 실패: \"%s\"" -#: libpq/hba.c:1997 +#: libpq/hba.c:2412 #, c-format msgid "invalid RADIUS port number: \"%s\"" msgstr "RADIUS 포트 번호가 잘못됨: \"%s\"" # translator: %s is IPv4, IPv6, or Unix -#: libpq/hba.c:2019 +#: libpq/hba.c:2434 #, c-format msgid "could not parse RADIUS secret list \"%s\"" msgstr "RADIUS 서버 비밀키 목록 분석 실패: \"%s\"" -#: libpq/hba.c:2041 +#: libpq/hba.c:2456 #, c-format msgid "could not parse RADIUS identifiers list \"%s\"" msgstr "RADIUS 서버 식별자 목록 분석 실패: \"%s\"" -#: libpq/hba.c:2055 +#: libpq/hba.c:2470 #, c-format msgid "unrecognized authentication option name: \"%s\"" msgstr "알 수 없는 인증 옵션 이름: \"%s\"" -#: libpq/hba.c:2199 libpq/hba.c:2613 guc-file.l:631 -#, c-format -msgid "could not open configuration file \"%s\": %m" -msgstr "\"%s\" 설정 파일 을 열수 없습니다: %m" - -#: libpq/hba.c:2250 +#: libpq/hba.c:2662 #, c-format msgid "configuration file \"%s\" contains no entries" msgstr "\"%s\" 설정 파일에 구성 항목이 없음" -#: libpq/hba.c:2768 -#, c-format -msgid "invalid regular expression \"%s\": %s" -msgstr "\"%s\" 정규식이 잘못됨: %s" - -#: libpq/hba.c:2828 +#: libpq/hba.c:2815 #, c-format msgid "regular expression match for \"%s\" failed: %s" msgstr "\"%s\"에 대한 정규식 일치 실패: %s" -#: libpq/hba.c:2847 +#: libpq/hba.c:2839 #, c-format msgid "" "regular expression \"%s\" has no subexpressions as requested by " "backreference in \"%s\"" msgstr "\"%s\" 정규식에는 \"%s\"의 backreference에서 요청된 하위 식이 없음" -#: libpq/hba.c:2943 +#: libpq/hba.c:2942 #, c-format msgid "provided user name (%s) and authenticated user name (%s) do not match" msgstr "제공된 사용자 이름(%s) 및 인증된 사용자 이름(%s)이 일치하지 않음" -#: libpq/hba.c:2963 +#: libpq/hba.c:2962 #, c-format msgid "no match in usermap \"%s\" for user \"%s\" authenticated as \"%s\"" msgstr "" "\"%s\" 사용자맵 파일에 \"%s\" 사용자를 \"%s\" 사용자로 인증할 설정이 없음" -#: libpq/hba.c:2996 -#, c-format -msgid "could not open usermap file \"%s\": %m" -msgstr "\"%s\" 사용자맵 파일을 열 수 없습니다: %m" - -#: libpq/pqcomm.c:218 +#: libpq/pqcomm.c:200 #, c-format msgid "could not set socket to nonblocking mode: %m" msgstr "소켓을 nonblocking 모드로 지정할 수 없음: %m" -#: libpq/pqcomm.c:372 +#: libpq/pqcomm.c:361 #, c-format msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)" msgstr "\"%s\" 유닉스 도메인 소켓 경로가 너무 깁니다 (최대 %d 바이트)" -#: libpq/pqcomm.c:393 +#: libpq/pqcomm.c:381 #, c-format msgid "could not translate host name \"%s\", service \"%s\" to address: %s" msgstr "호스트 이름 \"%s\", 서비스 \"%s\"를 변환할 수 없습니다. 주소 : %s" -#: libpq/pqcomm.c:397 +#: libpq/pqcomm.c:385 #, c-format msgid "could not translate service \"%s\" to address: %s" msgstr "서비스 \"%s\"를 변환할 수 없습니다. 주소 : %s" -#: libpq/pqcomm.c:424 +#: libpq/pqcomm.c:412 #, c-format msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded" msgstr "최대 접속자 수 MAXLISTEN (%d) 초과로 더 이상 접속이 불가능합니다" -#: libpq/pqcomm.c:433 +#: libpq/pqcomm.c:421 msgid "IPv4" msgstr "IPv4" -#: libpq/pqcomm.c:437 +#: libpq/pqcomm.c:424 msgid "IPv6" msgstr "IPv6" -#: libpq/pqcomm.c:442 +#: libpq/pqcomm.c:427 msgid "Unix" msgstr "유닉스" -#: libpq/pqcomm.c:447 +#: libpq/pqcomm.c:431 #, c-format msgid "unrecognized address family %d" msgstr "%d는 인식되지 않는 가족 주소입니다" #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:473 +#: libpq/pqcomm.c:455 #, c-format msgid "could not create %s socket for address \"%s\": %m" msgstr "%s 소켓 만들기 실패, 대상 주소: \"%s\": %m" -#. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:499 -#, c-format -msgid "setsockopt(SO_REUSEADDR) failed for %s address \"%s\": %m" -msgstr "%s setsockopt(SO_REUSEADDR) 실패, 대상 주소: \"%s\": %m" - -#. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:516 +#. translator: third %s is IPv4, IPv6, or Unix +#: libpq/pqcomm.c:481 libpq/pqcomm.c:499 #, c-format -msgid "setsockopt(IPV6_V6ONLY) failed for %s address \"%s\": %m" -msgstr "%s setsockopt(IPV6_V6ONLY) 실패, 대상 주소: \"%s\": %m" +msgid "%s(%s) failed for %s address \"%s\": %m" +msgstr "%s(%s) 실패, 연결 종류: %s, 대상 주소: \"%s\": %m" #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:536 +#: libpq/pqcomm.c:522 #, c-format msgid "could not bind %s address \"%s\": %m" msgstr "%s 바인드 실패, 대상 주소: \"%s\": %m" -#: libpq/pqcomm.c:539 +#: libpq/pqcomm.c:526 #, c-format -msgid "" -"Is another postmaster already running on port %d? If not, remove socket file " -"\"%s\" and retry." -msgstr "" -"다른 postmaster 가 포트 %d에서 이미 실행중인것 같습니다? 그렇지 않다면 소켓 " -"파일 \"%s\"을 제거하고 다시 시도해보십시오" +msgid "Is another postmaster already running on port %d?" +msgstr "다른 postmaster 가 포트 %d에서 이미 실행중인것 같습니다?" -#: libpq/pqcomm.c:542 +#: libpq/pqcomm.c:528 #, c-format msgid "" "Is another postmaster already running on port %d? If not, wait a few seconds " @@ -14732,107 +16691,131 @@ msgstr "" "를 기다렸다가 다시 시도해보십시오." #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:575 +#: libpq/pqcomm.c:557 #, c-format msgid "could not listen on %s address \"%s\": %m" msgstr "%s 리슨 실패, 대상 주소: \"%s\": %m" # translator: %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:584 +#: libpq/pqcomm.c:565 #, c-format msgid "listening on Unix socket \"%s\"" msgstr "\"%s\" 유닉스 도메인 소켓으로 접속을 허용합니다" #. translator: first %s is IPv4 or IPv6 -#: libpq/pqcomm.c:590 +#: libpq/pqcomm.c:570 #, c-format msgid "listening on %s address \"%s\", port %d" msgstr "%s, 주소: \"%s\", 포트 %d 번으로 접속을 허용합니다" -#: libpq/pqcomm.c:673 +#: libpq/pqcomm.c:659 #, c-format msgid "group \"%s\" does not exist" msgstr "\"%s\" 그룹 없음" -#: libpq/pqcomm.c:683 +#: libpq/pqcomm.c:669 #, c-format msgid "could not set group of file \"%s\": %m" msgstr "파일 \"%s\" 의 그룹을 세팅할 수 없습니다: %m" -#: libpq/pqcomm.c:694 +#: libpq/pqcomm.c:680 #, c-format msgid "could not set permissions of file \"%s\": %m" msgstr "파일 \"%s\" 의 퍼미션을 세팅할 수 없습니다: %m" -#: libpq/pqcomm.c:724 +#: libpq/pqcomm.c:708 #, c-format msgid "could not accept new connection: %m" msgstr "새로운 연결을 생성할 수 없습니다: %m" -#: libpq/pqcomm.c:914 +#: libpq/pqcomm.c:748 libpq/pqcomm.c:757 libpq/pqcomm.c:789 libpq/pqcomm.c:799 +#: libpq/pqcomm.c:1624 libpq/pqcomm.c:1669 libpq/pqcomm.c:1709 +#: libpq/pqcomm.c:1753 libpq/pqcomm.c:1792 libpq/pqcomm.c:1831 +#: libpq/pqcomm.c:1867 libpq/pqcomm.c:1906 +#, c-format +msgid "%s(%s) failed: %m" +msgstr "%s(%s) 실패: %m" + +#: libpq/pqcomm.c:903 #, c-format msgid "there is no client connection" msgstr "클라이언트 연결이 없음" -#: libpq/pqcomm.c:965 libpq/pqcomm.c:1061 +#: libpq/pqcomm.c:954 libpq/pqcomm.c:1050 #, c-format msgid "could not receive data from client: %m" msgstr "클라이언트에게 데이터를 받을 수 없습니다: %m" -#: libpq/pqcomm.c:1206 tcop/postgres.c:4142 +#: libpq/pqcomm.c:1155 tcop/postgres.c:4405 #, c-format msgid "terminating connection because protocol synchronization was lost" msgstr "프로토콜 동기화 작업 실패로 연결을 종료합니다" -#: libpq/pqcomm.c:1272 +#: libpq/pqcomm.c:1221 #, c-format msgid "unexpected EOF within message length word" msgstr "예상치 못한 EOF가 메시지의 길이 워드안에서 발생했습니다." -#: libpq/pqcomm.c:1283 +#: libpq/pqcomm.c:1231 #, c-format msgid "invalid message length" msgstr "메시지의 길이가 유효하지 않습니다" -#: libpq/pqcomm.c:1305 libpq/pqcomm.c:1318 +#: libpq/pqcomm.c:1253 libpq/pqcomm.c:1266 #, c-format msgid "incomplete message from client" msgstr "클라이언트으로부터의 완전하지 못한 메시지입니다" -#: libpq/pqcomm.c:1451 +#: libpq/pqcomm.c:1377 #, c-format msgid "could not send data to client: %m" msgstr "클라이언트에게 데이터를 보낼 수 없습니다: %m" -#: libpq/pqformat.c:406 +#: libpq/pqcomm.c:1592 +#, c-format +msgid "%s(%s) failed: error code %d" +msgstr "%s(%s) 실패: 오류 코드 %d" + +#: libpq/pqcomm.c:1681 +#, c-format +msgid "setting the keepalive idle time is not supported" +msgstr "keepalive idle time 지정하는 것은 지원하지 않음" + +#: libpq/pqcomm.c:1765 libpq/pqcomm.c:1840 libpq/pqcomm.c:1915 +#, c-format +msgid "%s(%s) not supported" +msgstr "%s(%s) 지원하지 않음" + +#: libpq/pqformat.c:407 #, c-format msgid "no data left in message" msgstr "메시지에 아무런 데이터가 없습니다" -#: libpq/pqformat.c:517 libpq/pqformat.c:535 libpq/pqformat.c:556 -#: utils/adt/arrayfuncs.c:1471 utils/adt/rowtypes.c:567 +#: libpq/pqformat.c:518 libpq/pqformat.c:536 libpq/pqformat.c:557 +#: utils/adt/array_userfuncs.c:799 utils/adt/arrayfuncs.c:1506 +#: utils/adt/rowtypes.c:615 #, c-format msgid "insufficient data left in message" msgstr "부족한 데이터는 메시지 안에 넣어져 있습니다" -#: libpq/pqformat.c:597 libpq/pqformat.c:626 +#: libpq/pqformat.c:598 libpq/pqformat.c:627 #, c-format msgid "invalid string in message" msgstr "메시지안에 유효하지 않은 문자열이 있습니다" -#: libpq/pqformat.c:642 +#: libpq/pqformat.c:643 #, c-format msgid "invalid message format" msgstr "메시지 포맷이 유효하지 않습니다." # # search5 끝 # # advance 부분 -#: main/main.c:246 +#: main/main.c:235 #, c-format msgid "%s: WSAStartup failed: %d\n" msgstr "%s: WSAStartup 작업 실패: %d\n" -#: main/main.c:310 +#: main/main.c:329 #, c-format msgid "" "%s is the PostgreSQL server.\n" @@ -14841,7 +16824,7 @@ msgstr "" "%s 프로그램은 PostgreSQL 서버입니다.\n" "\n" -#: main/main.c:311 +#: main/main.c:330 #, c-format msgid "" "Usage:\n" @@ -14852,115 +16835,107 @@ msgstr "" " %s [옵션]...\n" "\n" -#: main/main.c:312 +#: main/main.c:331 #, c-format msgid "Options:\n" msgstr "옵션들:\n" -#: main/main.c:313 +#: main/main.c:332 #, c-format msgid " -B NBUFFERS number of shared buffers\n" msgstr " -B NBUFFERS 공유 버퍼 개수\n" -#: main/main.c:314 +#: main/main.c:333 #, c-format msgid " -c NAME=VALUE set run-time parameter\n" msgstr " -c NAME=VALUE 실시간 매개 변수 지정\n" -#: main/main.c:315 +#: main/main.c:334 #, c-format msgid " -C NAME print value of run-time parameter, then exit\n" msgstr " -C NAME 실시간 매개 변수 값을 보여주고 마침\n" -#: main/main.c:316 +#: main/main.c:335 #, c-format msgid " -d 1-5 debugging level\n" msgstr " -d 1-5 디버깅 수준\n" -#: main/main.c:317 +#: main/main.c:336 #, c-format msgid " -D DATADIR database directory\n" msgstr " -D DATADIR 데이터 디렉터리\n" -#: main/main.c:318 +#: main/main.c:337 #, c-format msgid " -e use European date input format (DMY)\n" msgstr " -e 날짜 입력 양식이 유럽형(DMY)을 사용함\n" -#: main/main.c:319 +#: main/main.c:338 #, c-format msgid " -F turn fsync off\n" msgstr " -F fsync 기능 끔\n" -#: main/main.c:320 +#: main/main.c:339 #, c-format msgid " -h HOSTNAME host name or IP address to listen on\n" msgstr " -h HOSTNAME 서버로 사용할 호스트 이름 또는 IP\n" -#: main/main.c:321 +#: main/main.c:340 #, c-format -msgid " -i enable TCP/IP connections\n" -msgstr " -i TCP/IP 연결 사용함\n" +msgid " -i enable TCP/IP connections (deprecated)\n" +msgstr " -i TCP/IP 연결 사용함 (옛 버전 호환용)\n" -#: main/main.c:322 +#: main/main.c:341 #, c-format msgid " -k DIRECTORY Unix-domain socket location\n" msgstr " -k DIRECTORY 유닉스 도메인 소켓 위치\n" -#: main/main.c:324 +#: main/main.c:343 #, c-format msgid " -l enable SSL connections\n" msgstr " -l SSL 연결 기능 사용함\n" -#: main/main.c:326 +#: main/main.c:345 #, c-format msgid " -N MAX-CONNECT maximum number of allowed connections\n" msgstr " -N MAX-CONNECT 최대 동시 연결 개수\n" -#: main/main.c:327 -#, c-format -msgid "" -" -o OPTIONS pass \"OPTIONS\" to each server process (obsolete)\n" -msgstr "" -" -o OPTIONS 개별 서버 프로세스를 \"OPTIONS\" 옵션으로 실행 (옛기" -"능)\n" - -#: main/main.c:328 +#: main/main.c:346 #, c-format msgid " -p PORT port number to listen on\n" msgstr " -p PORT 서버 포트 번호\n" -#: main/main.c:329 +#: main/main.c:347 #, c-format msgid " -s show statistics after each query\n" msgstr " -s 각 쿼리 뒤에 통계정보를 보여줌\n" -#: main/main.c:330 +#: main/main.c:348 #, c-format msgid " -S WORK-MEM set amount of memory for sorts (in kB)\n" msgstr " -S WORK-MEM 정렬작업에 사용할 메모리 크기(kb 단위)를 지정\n" -#: main/main.c:331 +#: main/main.c:349 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version 버전 정보 보여주고 마침\n" -#: main/main.c:332 +#: main/main.c:350 #, c-format msgid " --NAME=VALUE set run-time parameter\n" msgstr " --NAME=VALUE 실시간 매개 변수 지정\n" -#: main/main.c:333 +#: main/main.c:351 #, c-format msgid " --describe-config describe configuration parameters, then exit\n" msgstr " --describe-config 서버 환경 설정값에 대한 설명을 보여주고 마침\n" -#: main/main.c:334 +#: main/main.c:352 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help 이 도움말을 보여주고 마침\n" -#: main/main.c:336 +#: main/main.c:354 #, c-format msgid "" "\n" @@ -14969,48 +16944,41 @@ msgstr "" "\n" "개발자 옵션들:\n" -#: main/main.c:337 -#, c-format -msgid " -f s|i|n|m|h forbid use of some plan types\n" -msgstr " -f s|i|n|m|h 쿼리최적화기의 기능을 제한 함\n" - -#: main/main.c:338 +#: main/main.c:355 #, c-format -msgid "" -" -n do not reinitialize shared memory after abnormal exit\n" -msgstr "" -" -n 비정상적 종료 뒤에 공유 메모리를 초기화 하지 않음\n" +msgid " -f s|i|o|b|t|n|m|h forbid use of some plan types\n" +msgstr " -f s|i|o|b|t|n|m|h 쿼리최적화기의 기능을 제한 함\n" -#: main/main.c:339 +#: main/main.c:356 #, c-format msgid " -O allow system table structure changes\n" msgstr " -O 시스템 테이블의 구조를 바꿀 수 있도록 함\n" -#: main/main.c:340 +#: main/main.c:357 #, c-format msgid " -P disable system indexes\n" msgstr " -P 시스템 인덱스들을 사용하지 않음\n" -#: main/main.c:341 +#: main/main.c:358 #, c-format msgid " -t pa|pl|ex show timings after each query\n" msgstr " -t pa|pl|ex 각 쿼리 다음 작업시간을 보여줌\n" -#: main/main.c:342 +#: main/main.c:359 #, c-format msgid "" -" -T send SIGSTOP to all backend processes if one dies\n" +" -T send SIGABRT to all backend processes if one dies\n" msgstr "" " -T 하나의 하위 서버 프로세스가 비정상으로 마치며 모든\n" -" 다른 서버 프로세스에게 SIGSTOP 신호를 보냄\n" +" 다른 백엔드 프로세스에게 SIGABRT 신호를 보냄\n" -#: main/main.c:343 +#: main/main.c:360 #, c-format msgid " -W NUM wait NUM seconds to allow attach from a debugger\n" msgstr "" " -W NUM 디버그 작업을 위해 지정한 숫자의 초만큼 기다린다\n" -#: main/main.c:345 +#: main/main.c:362 #, c-format msgid "" "\n" @@ -15019,28 +16987,28 @@ msgstr "" "\n" "단일사용자 모드에서 사용할 수 있는 옵션들:\n" -#: main/main.c:346 +#: main/main.c:363 #, c-format msgid "" " --single selects single-user mode (must be first argument)\n" msgstr " --single 단일 사용자 모드 선택 (인자의 첫번째로 와야함)\n" -#: main/main.c:347 +#: main/main.c:364 #, c-format msgid " DBNAME database name (defaults to user name)\n" msgstr " DBNAME 데이터베이스 이름 (초기값: 사용자이름)\n" -#: main/main.c:348 +#: main/main.c:365 #, c-format msgid " -d 0-5 override debugging level\n" msgstr " -d 0-5 디버깅 수준\n" -#: main/main.c:349 +#: main/main.c:366 #, c-format msgid " -E echo statement before execution\n" msgstr " -E 실행하기 전에 작업명령을 출력함\n" -#: main/main.c:350 +#: main/main.c:367 #, c-format msgid "" " -j do not use newline as interactive query delimiter\n" @@ -15048,14 +17016,14 @@ msgstr "" " -j 대화형 쿼리의 명령 실행 구분 문자로 줄바꿈문자를 쓰지 않" "음\n" -#: main/main.c:351 main/main.c:356 +#: main/main.c:368 main/main.c:374 #, c-format msgid " -r FILENAME send stdout and stderr to given file\n" msgstr "" " -r FILENAME stdout, stderr 쪽으로 보내는 내용을 FILENAME 파일로 저장" "함\n" -#: main/main.c:353 +#: main/main.c:370 #, c-format msgid "" "\n" @@ -15064,25 +17032,25 @@ msgstr "" "\n" "부트스트랩 모드에서 사용할 수 있는 옵션들:\n" -#: main/main.c:354 +#: main/main.c:371 #, c-format msgid "" " --boot selects bootstrapping mode (must be first argument)\n" msgstr " --boot 부트스트랩 모드로 실행 (첫번째 인자로 와야함)\n" -#: main/main.c:355 +#: main/main.c:372 +#, c-format +msgid " --check selects check mode (must be first argument)\n" +msgstr " --check 체크 모드 선택 (첫번째 인자로 와야함)\n" + +#: main/main.c:373 #, c-format msgid "" " DBNAME database name (mandatory argument in bootstrapping " "mode)\n" msgstr " DBNAME 데이터베이스 이름 (부트스트랩 모드에서 필수)\n" -#: main/main.c:357 -#, c-format -msgid " -x NUM internal use\n" -msgstr " -x NUM 내부적인 옵션\n" - -#: main/main.c:359 +#: main/main.c:376 #, c-format msgid "" "\n" @@ -15099,12 +17067,12 @@ msgstr "" "\n" "문제점 보고 주소: <%s>\n" -#: main/main.c:363 +#: main/main.c:380 #, c-format msgid "%s home page: <%s>\n" msgstr "%s 홈페이지: <%s>\n" -#: main/main.c:374 +#: main/main.c:391 #, c-format msgid "" "\"root\" execution of the PostgreSQL server is not permitted.\n" @@ -15117,12 +17085,12 @@ msgstr "" "반드시 일반 사용자 ID(시스템 관리자 권한이 없는 ID)로 서버를 실행하십시오.\n" "Server를 어떻게 안전하게 기동하는가 하는 것은 문서를 참조하시기 바랍니다.\n" -#: main/main.c:391 +#: main/main.c:408 #, c-format msgid "%s: real and effective user IDs must match\n" msgstr "%s: real 또는 effective user ID 들은 반드시 일치되어야 한다.\n" -#: main/main.c:398 +#: main/main.c:415 #, c-format msgid "" "Execution of PostgreSQL by a user with administrative permissions is not\n" @@ -15146,25 +17114,35 @@ msgstr "\"%s\" 이름의 확장가능한 노드 형이 이미 있습니다" msgid "ExtensibleNodeMethods \"%s\" was not registered" msgstr "\"%s\" ExtensibleNodeMethods가 등록되어 있지 않음" -#: nodes/nodeFuncs.c:122 nodes/nodeFuncs.c:153 parser/parse_coerce.c:2208 -#: parser/parse_coerce.c:2317 parser/parse_coerce.c:2352 -#: parser/parse_expr.c:2207 parser/parse_func.c:701 parser/parse_oper.c:967 -#: utils/fmgr/funcapi.c:528 +#: nodes/makefuncs.c:153 statistics/extended_stats.c:2335 +#, c-format +msgid "relation \"%s\" does not have a composite type" +msgstr "\"%s\" 릴레이션에 해당하는 복합 자료형이 없음" + +#: nodes/makefuncs.c:879 +#, c-format +msgid "unrecognized JSON encoding: %s" +msgstr "알 수 없는 JSON 인코딩: %s" + +#: nodes/nodeFuncs.c:116 nodes/nodeFuncs.c:147 parser/parse_coerce.c:2567 +#: 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 #, c-format msgid "could not find array type for data type %s" msgstr "자료형 %s 에 대해서는 배열 자료형을 사용할 수 없습니다" -#: nodes/params.c:359 +#: nodes/params.c:417 #, c-format msgid "portal \"%s\" with parameters: %s" -msgstr "" +msgstr "\"%s\" 포탈의 매개 변수: %s" -#: nodes/params.c:362 +#: nodes/params.c:420 #, c-format msgid "unnamed portal with parameters: %s" -msgstr "" +msgstr "이름 없는 포탈의 매개 변수: %s" -#: optimizer/path/joinrels.c:855 +#: optimizer/path/joinrels.c:973 #, c-format msgid "" "FULL JOIN is only supported with merge-joinable or hash-joinable join " @@ -15173,8 +17151,14 @@ msgstr "" "FULL JOIN 구문은 머지 조인이나, 해시 조인이 가능한 상황에서만 사용할 수 있습" "니다" +#: optimizer/plan/createplan.c:7111 parser/parse_merge.c:182 +#: parser/parse_merge.c:189 +#, c-format +msgid "cannot execute MERGE on relation \"%s\"" +msgstr "\"%s\" 릴레이션에서 MERGE 명령을 실행할 수 없음" + #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: optimizer/plan/initsplan.c:1193 +#: optimizer/plan/initsplan.c:1408 #, c-format msgid "%s cannot be applied to the nullable side of an outer join" msgstr "" @@ -15182,97 +17166,92 @@ msgstr "" "다" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: optimizer/plan/planner.c:1922 parser/analyze.c:1639 parser/analyze.c:1855 -#: parser/analyze.c:2715 +#: optimizer/plan/planner.c:1361 parser/analyze.c:1761 parser/analyze.c:2018 +#: parser/analyze.c:3231 #, c-format msgid "%s is not allowed with UNION/INTERSECT/EXCEPT" msgstr "%s 구문은 UNION/INTERSECT/EXCEPT 예약어들과 함께 사용할 수 없습니다." -#: optimizer/plan/planner.c:2509 optimizer/plan/planner.c:4162 +#: optimizer/plan/planner.c:2082 optimizer/plan/planner.c:4040 #, c-format msgid "could not implement GROUP BY" msgstr "GROUP BY를 구현할 수 없음" -#: optimizer/plan/planner.c:2510 optimizer/plan/planner.c:4163 -#: optimizer/plan/planner.c:4890 optimizer/prep/prepunion.c:1045 +#: optimizer/plan/planner.c:2083 optimizer/plan/planner.c:4041 +#: optimizer/plan/planner.c:4681 optimizer/prep/prepunion.c:1053 #, c-format msgid "" "Some of the datatypes only support hashing, while others only support " "sorting." msgstr "해싱만 지원하는 자료형도 있고, 정렬만 지원하는 자료형도 있습니다." -#: optimizer/plan/planner.c:4889 +#: optimizer/plan/planner.c:4680 #, c-format msgid "could not implement DISTINCT" msgstr "DISTINCT를 구현할 수 없음" -#: optimizer/plan/planner.c:5737 +#: optimizer/plan/planner.c:6019 #, c-format msgid "could not implement window PARTITION BY" msgstr "창 PARTITION BY를 구현할 수 없음" -#: optimizer/plan/planner.c:5738 +#: optimizer/plan/planner.c:6020 #, c-format msgid "Window partitioning columns must be of sortable datatypes." msgstr "창 분할 칼럼은 정렬 가능한 데이터 형식이어야 합니다." -#: optimizer/plan/planner.c:5742 +#: optimizer/plan/planner.c:6024 #, c-format msgid "could not implement window ORDER BY" msgstr "창 ORDER BY를 구현할 수 없음" -#: optimizer/plan/planner.c:5743 +#: optimizer/plan/planner.c:6025 #, c-format msgid "Window ordering columns must be of sortable datatypes." msgstr "창 순서 지정 칼럼은 정렬 가능한 데이터 형식이어야 합니다." -#: optimizer/plan/setrefs.c:451 -#, c-format -msgid "too many range table entries" -msgstr "너무 많은 테이블이 사용되었습니다" - -#: optimizer/prep/prepunion.c:508 +#: optimizer/prep/prepunion.c:516 #, c-format msgid "could not implement recursive UNION" msgstr "재귀 UNION을 구현할 수 없음" -#: optimizer/prep/prepunion.c:509 +#: optimizer/prep/prepunion.c:517 #, c-format msgid "All column datatypes must be hashable." msgstr "모든 열 데이터 형식은 해시 가능해야 합니다." #. translator: %s is UNION, INTERSECT, or EXCEPT -#: optimizer/prep/prepunion.c:1044 +#: optimizer/prep/prepunion.c:1052 #, c-format msgid "could not implement %s" msgstr "%s 구문은 구현할 수 없음" -#: optimizer/util/clauses.c:4746 +#: optimizer/util/clauses.c:4856 #, c-format msgid "SQL function \"%s\" during inlining" -msgstr "" +msgstr "\"%s\" SQL 함수를 인라인으로 바꾸는 중" -#: optimizer/util/plancat.c:132 +#: optimizer/util/plancat.c:154 #, c-format msgid "cannot access temporary or unlogged relations during recovery" msgstr "복구 작업 중에는 임시 테이블이나, 언로그드 테이블을 접근할 수 없음" -#: optimizer/util/plancat.c:662 +#: optimizer/util/plancat.c:726 #, c-format msgid "whole row unique index inference specifications are not supported" -msgstr "" +msgstr "전체 로우 유니크 인덱스 인터페이스 규약은 지원하지 않습니다." -#: optimizer/util/plancat.c:679 +#: optimizer/util/plancat.c:743 #, c-format msgid "constraint in ON CONFLICT clause has no associated index" msgstr "ON CONFLICT 처리를 위해 관련된 인덱스가 없습니다" -#: optimizer/util/plancat.c:729 +#: optimizer/util/plancat.c:793 #, c-format msgid "ON CONFLICT DO UPDATE not supported with exclusion constraints" msgstr "제외 제약 조건이 있어 ON CONFLICT DO UPDATE 작업은 할 수 없습니다" -#: optimizer/util/plancat.c:834 +#: optimizer/util/plancat.c:898 #, c-format msgid "" "there is no unique or exclusion constraint matching the ON CONFLICT " @@ -15280,63 +17259,65 @@ msgid "" msgstr "" "ON CONFLICT 절을 사용하는 경우, unique 나 exclude 제약 조건이 있어야 함" -#: parser/analyze.c:705 parser/analyze.c:1401 +#: parser/analyze.c:826 parser/analyze.c:1540 #, c-format msgid "VALUES lists must all be the same length" msgstr "VALUES 목록은 모두 같은 길이여야 함" -#: parser/analyze.c:904 +#: parser/analyze.c:1028 #, c-format msgid "INSERT has more expressions than target columns" msgstr "INSERT 구문에 target columns 보다 더 많은 표현식이 존재하고 있다" -#: parser/analyze.c:922 +#: parser/analyze.c:1046 #, c-format msgid "INSERT has more target columns than expressions" msgstr "" "INSERT 구문에 target columns 보다 더 많은 표현식(expressions)이 존재하고 있다" -#: parser/analyze.c:926 +#: 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 "" +"삽입 소스는 INSERT 작업에서 기대하는 칼럼 수와 같은 로우 표현식입니다. 실수" +"로 괄호를 추가한 것은 아닌지 확인하세요." -#: parser/analyze.c:1210 parser/analyze.c:1612 +#: parser/analyze.c:1347 parser/analyze.c:1734 #, 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:1542 parser/analyze.c:2894 +#: parser/analyze.c:1663 parser/analyze.c:3463 #, c-format msgid "%s cannot be applied to VALUES" msgstr "%s 구문은 VALUES 에 적용할 수 없음" -#: parser/analyze.c:1777 +#: parser/analyze.c:1900 #, c-format msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause" msgstr "UNION/INTERSECT/EXCEPT ORDER BY 절이 잘못됨" -#: parser/analyze.c:1778 +#: parser/analyze.c:1901 #, c-format msgid "Only result column names can be used, not expressions or functions." msgstr "결과 열 이름만 사용할 수 있고 식 또는 함수는 사용할 수 없습니다." -#: parser/analyze.c:1779 +#: parser/analyze.c:1902 #, 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:1845 +#: parser/analyze.c:2008 #, c-format msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT" msgstr "INTO 는 UNION/INTERSECT/EXCEPT 의 첫번째 SELECT 에만 허용된다" -#: parser/analyze.c:1917 +#: parser/analyze.c:2080 #, c-format msgid "" "UNION/INTERSECT/EXCEPT member statement cannot refer to other relations of " @@ -15345,22 +17326,34 @@ msgstr "" "UNION/INTERSECT/EXCEPT 멤버 문에서 같은 쿼리 수준의 다른 관계를 참조할 수 없" "음" -#: parser/analyze.c:2004 +#: parser/analyze.c:2167 #, c-format msgid "each %s query must have the same number of columns" msgstr "각각의 %s query 는 같은 수의 columns 를 가져야 한다." -#: parser/analyze.c:2426 +#: parser/analyze.c:2573 #, c-format msgid "RETURNING must have at least one column" msgstr "RETURNING 절에는 적어도 하나 이상의 칼럼이 있어야 합니다" -#: parser/analyze.c:2467 +#: parser/analyze.c:2676 +#, c-format +msgid "assignment source returned %d column" +msgid_plural "assignment source returned %d columns" +msgstr[0] "" + +#: parser/analyze.c:2737 #, c-format -msgid "cannot specify both SCROLL and NO SCROLL" -msgstr "SCROLL 과 NO SCROLL 둘다를 명시할 수 없다" +msgid "variable \"%s\" is of type %s but expression is of type %s" +msgstr "변수 \"%s\" 는 %s 자료형인데 표현식은 %s 자료형입니다." -#: parser/analyze.c:2486 +#. translator: %s is a SQL keyword +#: parser/analyze.c:2862 parser/analyze.c:2870 +#, c-format +msgid "cannot specify both %s and %s" +msgstr "%s, %s 둘다를 명시할 수 없다" + +#: parser/analyze.c:2890 #, c-format msgid "DECLARE CURSOR must not contain data-modifying statements in WITH" msgstr "" @@ -15368,426 +17361,451 @@ msgstr "" "다" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2494 +#: parser/analyze.c:2898 #, c-format msgid "DECLARE CURSOR WITH HOLD ... %s is not supported" msgstr "DECLARE CURSOR WITH HOLD ... %s 구문은 지원되지 않음" -#: parser/analyze.c:2497 +#: parser/analyze.c:2901 #, c-format msgid "Holdable cursors must be READ ONLY." msgstr "보류 가능 커서는 READ ONLY여야 합니다." #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2505 +#: parser/analyze.c:2909 #, 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:2516 +#: parser/analyze.c:2920 #, c-format -msgid "DECLARE INSENSITIVE CURSOR ... %s is not supported" -msgstr "DECLARE INSENSITIVE CURSOR ... %s 구문은 지원되지 않음" +msgid "DECLARE INSENSITIVE CURSOR ... %s is not valid" +msgstr "DECLARE INSENSITIVE CURSOR ... %s 구문이 잘못됨" -#: parser/analyze.c:2519 +#: parser/analyze.c:2923 #, c-format msgid "Insensitive cursors must be READ ONLY." msgstr "민감하지 않은 커서는 READ ONLY여야 합니다." -#: parser/analyze.c:2585 +#: parser/analyze.c:3017 #, c-format msgid "materialized views must not use data-modifying statements in WITH" msgstr "" "구체화된 뷰 정의에 사용한 WITH 절 안에는 자료 변경 구문이 없어야 합니다" -#: parser/analyze.c:2595 +#: parser/analyze.c:3027 #, c-format msgid "materialized views must not use temporary tables or views" msgstr "구체화된 뷰는 임시 테이블이나 뷰를 사용할 수 없습니다" -#: parser/analyze.c:2605 +#: parser/analyze.c:3037 #, c-format msgid "materialized views may not be defined using bound parameters" -msgstr "" +msgstr "구체화딘 뷰는 바운드 매개 변수를 이용해서 정의할 수 없습니다" -#: parser/analyze.c:2617 +#: parser/analyze.c:3049 #, c-format msgid "materialized views cannot be unlogged" msgstr "구체화된 뷰는 UNLOGGED 옵션을 사용할 수 없습니다." #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2722 +#: parser/analyze.c:3238 #, c-format msgid "%s is not allowed with DISTINCT clause" msgstr "%s 절은 DISTINCT 절과 함께 사용할 수 없습니다" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2729 +#: parser/analyze.c:3245 #, c-format msgid "%s is not allowed with GROUP BY clause" msgstr "%s 절은 GROUP BY 절과 함께 사용할 수 없습니다" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2736 +#: parser/analyze.c:3252 #, c-format msgid "%s is not allowed with HAVING clause" msgstr "%s 절은 HAVING 절과 함께 사용할 수 없습니다" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2743 +#: parser/analyze.c:3259 #, 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:2750 +#: parser/analyze.c:3266 #, 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:2757 +#: parser/analyze.c:3273 #, 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:2836 +#: parser/analyze.c:3372 #, c-format msgid "%s must specify unqualified relation names" msgstr "%s 절에는 unqualified 릴레이션 이름을 지정해야 합니다." #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2867 +#: parser/analyze.c:3436 #, 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:2876 +#: parser/analyze.c:3445 #, 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:2885 +#: parser/analyze.c:3454 #, 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:2903 +#: parser/analyze.c:3472 #, 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:2912 +#: parser/analyze.c:3481 #, c-format msgid "%s cannot be applied to a named tuplestore" msgstr "%s 절은 named tuplestore에 적용할 수 없음" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2932 +#: parser/analyze.c:3501 #, c-format msgid "relation \"%s\" in %s clause not found in FROM clause" msgstr "\"%s\" 릴레이션 (대상 구문: %s) 이 FROM 절 내에 없습니다" -#: parser/parse_agg.c:220 parser/parse_oper.c:222 +#: parser/parse_agg.c:221 parser/parse_oper.c:227 #, c-format msgid "could not identify an ordering operator for type %s" msgstr "%s 자료형에서 사용할 순서 정하는 연산자를 찾을 수 없습니다." -#: parser/parse_agg.c:222 +#: parser/parse_agg.c:223 #, c-format msgid "Aggregates with DISTINCT must be able to sort their inputs." msgstr "" "DISTINCT와 함께 작업하는 집계 작업은 그 입력 자료가 정렬될 수 있어야 합니다" -#: parser/parse_agg.c:257 +#: parser/parse_agg.c:258 #, c-format msgid "GROUPING must have fewer than 32 arguments" msgstr "GROUPING 인자로는 32개 이내로 지정해야 합니다" -#: parser/parse_agg.c:360 +#: parser/parse_agg.c:361 msgid "aggregate functions are not allowed in JOIN conditions" msgstr "JOIN 조건문에서는 집계 함수가 허용되지 않습니다" -#: parser/parse_agg.c:362 +#: parser/parse_agg.c:363 msgid "grouping operations are not allowed in JOIN conditions" msgstr "JOIN 조건문에서는 그룹핑 연산이 허용되지 않습니다" -#: parser/parse_agg.c:374 +#: parser/parse_agg.c:375 msgid "" "aggregate functions are not allowed in FROM clause of their own query level" msgstr "집계 함수는 자신의 쿼리 수준의 FROM 절에서는 사용할 수 없습니다." -#: parser/parse_agg.c:376 +#: parser/parse_agg.c:377 msgid "" "grouping operations are not allowed in FROM clause of their own query level" -msgstr "" +msgstr "자체 쿼리 수준의 FROM 절에는 그룹핑 작업을 허용하지 않습니다." -#: parser/parse_agg.c:381 +#: parser/parse_agg.c:382 msgid "aggregate functions are not allowed in functions in FROM" msgstr "FROM 절 내의 함수 표현식 내에서는 집계 함수를 사용할 수 없습니다" -#: parser/parse_agg.c:383 +#: parser/parse_agg.c:384 msgid "grouping operations are not allowed in functions in FROM" msgstr "FROM 절 내의 함수 표현식 내에서는 그룹핑 연산이 허용되지 않습니다" -#: parser/parse_agg.c:391 +#: parser/parse_agg.c:392 msgid "aggregate functions are not allowed in policy expressions" msgstr "정책 표현식에서는 집계 함수 사용을 허용하지 않습니다" -#: parser/parse_agg.c:393 +#: parser/parse_agg.c:394 msgid "grouping operations are not allowed in policy expressions" msgstr "정책 표현식에서는 그룹핑 연산이 허용되지 않습니다" -#: parser/parse_agg.c:410 +#: parser/parse_agg.c:411 msgid "aggregate functions are not allowed in window RANGE" msgstr "윈도우 RANGE 안에서는 집계 함수를 사용할 수 없습니다" -#: parser/parse_agg.c:412 +#: parser/parse_agg.c:413 msgid "grouping operations are not allowed in window RANGE" msgstr "윈도우 RANGE 안에서는 그룹핑 연산이 허용되지 않습니다" -#: parser/parse_agg.c:417 +#: parser/parse_agg.c:418 msgid "aggregate functions are not allowed in window ROWS" msgstr "윈도우 ROWS 안에서는 집계 함수를 사용할 수 없습니다" -#: parser/parse_agg.c:419 +#: parser/parse_agg.c:420 msgid "grouping operations are not allowed in window ROWS" msgstr "윈도우 ROWS 안에서는 그룹핑 연산이 허용되지 않습니다" -#: parser/parse_agg.c:424 +#: parser/parse_agg.c:425 msgid "aggregate functions are not allowed in window GROUPS" msgstr "윈도우 GROUPS 안에서는 집계 함수를 사용할 수 없습니다" -#: parser/parse_agg.c:426 +#: parser/parse_agg.c:427 msgid "grouping operations are not allowed in window GROUPS" msgstr "윈도우 GROUPS 안에서는 그룹핑 연산이 허용되지 않습니다" -#: parser/parse_agg.c:460 +#: parser/parse_agg.c:440 +msgid "aggregate functions are not allowed in MERGE WHEN conditions" +msgstr "MERGE WHEN 조건절에 집계 함수가 허용되지 않습니다" + +#: parser/parse_agg.c:442 +msgid "grouping operations are not allowed in MERGE WHEN conditions" +msgstr "MERGE WHEN 조건절에 그룹핑 작업이 허용되지 않습니다" + +#: parser/parse_agg.c:468 msgid "aggregate functions are not allowed in check constraints" msgstr "체크 제약 조건에서는 집계 함수를 사용할 수 없습니다" -#: parser/parse_agg.c:462 +#: parser/parse_agg.c:470 msgid "grouping operations are not allowed in check constraints" msgstr "체크 제약 조건에서는 그룹핑 연산이 허용되지 않습니다" -#: parser/parse_agg.c:469 +#: parser/parse_agg.c:477 msgid "aggregate functions are not allowed in DEFAULT expressions" msgstr "DEFAULT 표현식에서는 집계 함수를 사용할 수 없습니다" -#: parser/parse_agg.c:471 +#: parser/parse_agg.c:479 msgid "grouping operations are not allowed in DEFAULT expressions" msgstr "DEFAULT 표현식에서는 그룹핑 연산이 허용되지 않습니다" -#: parser/parse_agg.c:476 +#: parser/parse_agg.c:484 msgid "aggregate functions are not allowed in index expressions" msgstr "인덱스 표현식에서는 집계 함수를 사용할 수 없습니다" -#: parser/parse_agg.c:478 +#: parser/parse_agg.c:486 msgid "grouping operations are not allowed in index expressions" msgstr "인덱스 표현식에서는 그룹핑 연산이 허용되지 않습니다" -#: parser/parse_agg.c:483 +#: parser/parse_agg.c:491 msgid "aggregate functions are not allowed in index predicates" msgstr "집계 함수는 함수 기반 인덱스의 함수로 사용할 수 없습니다" -#: parser/parse_agg.c:485 +#: parser/parse_agg.c:493 msgid "grouping operations are not allowed in index predicates" msgstr "그룹핑 작업은 함수 기반 인덱스의 함수로 사용할 수 없습니다" -#: parser/parse_agg.c:490 +#: parser/parse_agg.c:498 +msgid "aggregate functions are not allowed in statistics expressions" +msgstr "정책 표현식에서는 집계 함수 사용을 허용하지 않습니다" + +#: parser/parse_agg.c:500 +msgid "grouping operations are not allowed in statistics expressions" +msgstr "통계 정보 표현식에서는 그룹핑 연산이 허용되지 않습니다" + +#: parser/parse_agg.c:505 msgid "aggregate functions are not allowed in transform expressions" msgstr "transform 식(expression)에 집계 함수를 사용할 수 없습니다" -#: parser/parse_agg.c:492 +#: parser/parse_agg.c:507 msgid "grouping operations are not allowed in transform expressions" msgstr "transform 식(expression)에 그룹핑 작업를 사용할 수 없습니다" -#: parser/parse_agg.c:497 +#: parser/parse_agg.c:512 msgid "aggregate functions are not allowed in EXECUTE parameters" msgstr "EXECUTE 매개 변수로 집계 함수를 사용할 수 없습니다" -#: parser/parse_agg.c:499 +#: parser/parse_agg.c:514 msgid "grouping operations are not allowed in EXECUTE parameters" msgstr "EXECUTE 매개 변수로 그룹핑 작업을 사용할 수 없습니다" -#: parser/parse_agg.c:504 +#: parser/parse_agg.c:519 msgid "aggregate functions are not allowed in trigger WHEN conditions" msgstr "트리거의 WHEN 조건절에 집계 함수가 허용되지 않습니다" -#: parser/parse_agg.c:506 +#: parser/parse_agg.c:521 msgid "grouping operations are not allowed in trigger WHEN conditions" msgstr "트리거의 WHEN 조건절에 그룹핑 작업이 허용되지 않습니다" -#: parser/parse_agg.c:511 +#: parser/parse_agg.c:526 msgid "aggregate functions are not allowed in partition bound" msgstr "파티션 범위 표현식에는 집계 함수가 허용되지 않습니다" -#: parser/parse_agg.c:513 +#: parser/parse_agg.c:528 msgid "grouping operations are not allowed in partition bound" msgstr "파티션 범위 표현식에는 그룹핑 연산이 허용되지 않습니다" -#: parser/parse_agg.c:518 +#: parser/parse_agg.c:533 msgid "aggregate functions are not allowed in partition key expressions" msgstr "파티션 키 표현식에서는 집계 함수가 허용되지 않습니다" -#: parser/parse_agg.c:520 +#: parser/parse_agg.c:535 msgid "grouping operations are not allowed in partition key expressions" msgstr "파티션 키 표현식에서는 그룹핑 연산이 허용되지 않습니다" -#: parser/parse_agg.c:526 +#: parser/parse_agg.c:541 msgid "aggregate functions are not allowed in column generation expressions" msgstr "미리 계산된 칼럼 표현식에서는 집계 함수 사용을 허용하지 않습니다" -#: parser/parse_agg.c:528 +#: parser/parse_agg.c:543 msgid "grouping operations are not allowed in column generation expressions" msgstr "미리 계산된 칼럼 표현식에서는 그룹핑 연산이 허용되지 않습니다" -#: parser/parse_agg.c:534 +#: parser/parse_agg.c:549 msgid "aggregate functions are not allowed in CALL arguments" msgstr "CALL 매개 변수로 집계 함수를 사용할 수 없습니다" -#: parser/parse_agg.c:536 +#: parser/parse_agg.c:551 msgid "grouping operations are not allowed in CALL arguments" msgstr "CALL 매개 변수로 그룹핑 연산을 사용할 수 없습니다" -#: parser/parse_agg.c:542 +#: parser/parse_agg.c:557 msgid "aggregate functions are not allowed in COPY FROM WHERE conditions" msgstr "COPY FROM WHERE 조건문에서는 집계 함수가 허용되지 않습니다" -#: parser/parse_agg.c:544 +#: parser/parse_agg.c:559 msgid "grouping operations are not allowed in COPY FROM WHERE conditions" msgstr "COPY FROM WHERE 조건문에서는 그룹핑 연산이 허용되지 않습니다" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:567 parser/parse_clause.c:1828 +#: parser/parse_agg.c:586 parser/parse_clause.c:1956 #, c-format msgid "aggregate functions are not allowed in %s" msgstr "집계 함수는 %s 절에서 사용할 수 없습니다." #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:570 +#: parser/parse_agg.c:589 #, c-format msgid "grouping operations are not allowed in %s" msgstr "그룹핑 작업은 %s 절에서 사용할 수 없습니다." -#: parser/parse_agg.c:678 +#: parser/parse_agg.c:690 #, c-format msgid "" "outer-level aggregate cannot contain a lower-level variable in its direct " "arguments" msgstr "" +"출력 수준 집계는 그 직접적인 인자 안에 저수준 변수를 포함할 수 없습니다." -#: parser/parse_agg.c:757 +#: parser/parse_agg.c:768 #, c-format msgid "aggregate function calls cannot contain set-returning function calls" msgstr "집계 함수 호출은 집합 반환 함수 호출을 포함할 수 없음" -#: parser/parse_agg.c:758 parser/parse_expr.c:1845 parser/parse_expr.c:2332 -#: parser/parse_func.c:872 +#: parser/parse_agg.c:769 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 "집합 반환 함수를 LATERAL FROM 쪽으로 옮겨서 구현할 수도 있습니다." -#: parser/parse_agg.c:763 +#: parser/parse_agg.c:774 #, c-format msgid "aggregate function calls cannot contain window function calls" msgstr "집계 함수 호출은 윈도우 함수 호출을 포함할 수 없음" -#: parser/parse_agg.c:842 +#: parser/parse_agg.c:853 msgid "window functions are not allowed in JOIN conditions" msgstr "윈도우 함수는 JOIN 조건에 사용할 수 없음" -#: parser/parse_agg.c:849 +#: parser/parse_agg.c:860 msgid "window functions are not allowed in functions in FROM" msgstr "윈도우 함수는 FROM 절에 있는 함수로 사용할 수 없음" -#: parser/parse_agg.c:855 +#: parser/parse_agg.c:866 msgid "window functions are not allowed in policy expressions" msgstr "윈도우 함수는 정책 식에 사용할 수 없음" -#: parser/parse_agg.c:868 +#: parser/parse_agg.c:879 msgid "window functions are not allowed in window definitions" msgstr "윈도우 함수는 윈도우 함수 정의에 사용할 수 없음" -#: parser/parse_agg.c:900 +#: parser/parse_agg.c:890 +msgid "window functions are not allowed in MERGE WHEN conditions" +msgstr "윈도우 함수는 MERGE WHEN 조건절에서 사용할 수 없음" + +#: parser/parse_agg.c:914 msgid "window functions are not allowed in check constraints" msgstr "윈도우 함수는 check 제약조건에 사용할 수 없음" -#: parser/parse_agg.c:904 +#: parser/parse_agg.c:918 msgid "window functions are not allowed in DEFAULT expressions" msgstr "윈도우 함수는 DEFAULT 식에서 사용할 수 없음" -#: parser/parse_agg.c:907 +#: parser/parse_agg.c:921 msgid "window functions are not allowed in index expressions" msgstr "윈도우 함수는 인덱스 식에서 사용할 수 없음" -#: parser/parse_agg.c:910 +#: parser/parse_agg.c:924 +msgid "window functions are not allowed in statistics expressions" +msgstr "윈도우 함수는 통계 정보식에 사용할 수 없음" + +#: parser/parse_agg.c:927 msgid "window functions are not allowed in index predicates" msgstr "윈도우 함수는 함수 기반 인덱스에서 사용할 수 없음" -#: parser/parse_agg.c:913 +#: parser/parse_agg.c:930 msgid "window functions are not allowed in transform expressions" msgstr "윈도우 함수는 transform 식에서 사용할 수 없음" -#: parser/parse_agg.c:916 +#: parser/parse_agg.c:933 msgid "window functions are not allowed in EXECUTE parameters" msgstr "윈도우 함수는 EXECUTE 매개 변수 설정 값으로 사용할 수 없음" -#: parser/parse_agg.c:919 +#: parser/parse_agg.c:936 msgid "window functions are not allowed in trigger WHEN conditions" msgstr "윈도우 함수는 트리거의 WHEN 조건절에서 사용할 수 없음" -#: parser/parse_agg.c:922 +#: parser/parse_agg.c:939 msgid "window functions are not allowed in partition bound" msgstr "윈도우 함수는 파티션 범위 표현식에서 사용할 수 없음" -#: parser/parse_agg.c:925 +#: parser/parse_agg.c:942 msgid "window functions are not allowed in partition key expressions" msgstr "윈도우 함수는 파티션 키 표현식에서 사용할 수 없음" -#: parser/parse_agg.c:928 +#: parser/parse_agg.c:945 msgid "window functions are not allowed in CALL arguments" msgstr "윈도우 함수는 CALL 매개 변수 설정 값으로 사용할 수 없음" -#: parser/parse_agg.c:931 +#: parser/parse_agg.c:948 msgid "window functions are not allowed in COPY FROM WHERE conditions" msgstr "윈도우 함수는 COPY FROM WHERE 조건에 사용할 수 없음" -#: parser/parse_agg.c:934 +#: parser/parse_agg.c:951 msgid "window functions are not allowed in column generation expressions" msgstr "윈도우 함수는 미리 계산된 칼럼 생성 표현식에 사용할 수 없음" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:954 parser/parse_clause.c:1837 +#: parser/parse_agg.c:974 parser/parse_clause.c:1965 #, c-format msgid "window functions are not allowed in %s" msgstr "%s 안에서는 윈도우 함수를 사용할 수 없음" -#: parser/parse_agg.c:988 parser/parse_clause.c:2671 +#: parser/parse_agg.c:1008 parser/parse_clause.c:2798 #, c-format msgid "window \"%s\" does not exist" msgstr "\"%s\" 윈도우 함수가 없음" -#: parser/parse_agg.c:1072 +#: parser/parse_agg.c:1096 #, c-format msgid "too many grouping sets present (maximum 4096)" msgstr "너무 많은 그룹핑 세트가 있습니다 (최대값 4096)" -#: parser/parse_agg.c:1212 +#: parser/parse_agg.c:1236 #, c-format msgid "" "aggregate functions are not allowed in a recursive query's recursive term" msgstr "집계 함수는 재귀 쿼리의 재귀 조건에 사용할 수 없음" -#: parser/parse_agg.c:1405 +#: parser/parse_agg.c:1429 #, c-format msgid "" "column \"%s.%s\" must appear in the GROUP BY clause or be used in an " @@ -15796,34 +17814,34 @@ msgstr "" "column \"%s.%s\" 는 반드시 GROUP BY 절내에 있어야 하던지 또는 집계 함수 내에" "서 사용되어져야 한다" -#: parser/parse_agg.c:1408 +#: parser/parse_agg.c:1432 #, c-format msgid "" "Direct arguments of an ordered-set aggregate must use only grouped columns." -msgstr "" +msgstr "순서있는 집합 집계 함수의 직접 인자는 그룹화된 칼럼만 사용해야합니다." -#: parser/parse_agg.c:1413 +#: parser/parse_agg.c:1437 #, c-format msgid "subquery uses ungrouped column \"%s.%s\" from outer query" msgstr "" "subquery 가 outer query 에서 그룹화 되지 않은 열인 \"%s.%s\"를 사용합니다" -#: parser/parse_agg.c:1577 +#: parser/parse_agg.c:1601 #, c-format msgid "" "arguments to GROUPING must be grouping expressions of the associated query " "level" -msgstr "" +msgstr "GROUPING의 인자는 그 관련 쿼리 수준의 그룹핑 표현식이어야 합니다." -#: parser/parse_clause.c:191 +#: parser/parse_clause.c:195 #, c-format msgid "relation \"%s\" cannot be the target of a modifying statement" msgstr "\"%s\" 릴레이션은 자료 변경 구문의 대상이 될 수 없음" -#: parser/parse_clause.c:571 parser/parse_clause.c:599 parser/parse_func.c:2424 +#: parser/parse_clause.c:571 parser/parse_clause.c:599 parser/parse_func.c:2552 #, c-format msgid "set-returning functions must appear at top level of FROM" -msgstr "" +msgstr "집합 변환 함수는 FROM 절의 최상위 수준에서만 사용할 수 있습니다." #: parser/parse_clause.c:611 #, c-format @@ -15835,17 +17853,19 @@ msgstr "다중 칼럼 정의 목록은 같은 함수용으로 허용하지 않 msgid "" "ROWS FROM() with multiple functions cannot have a column definition list" msgstr "" +"여러 함수를 사용하는 ROWS FROM() 구문에는 칼럼 정의 목록을 지정하면 안됩니다." #: parser/parse_clause.c:645 #, c-format msgid "" "Put a separate column definition list for each function inside ROWS FROM()." -msgstr "" +msgstr "ROWS FROM() 안 각 함수용 칼럼 정의 목록을 구분해 주세요." #: parser/parse_clause.c:651 #, c-format msgid "UNNEST() with multiple arguments cannot have a column definition list" msgstr "" +"여러 인자를 사용하는 UNNEST()에서는 칼럼 정의 목록을 사용할 수 없습니다." #: parser/parse_clause.c:652 #, c-format @@ -15853,6 +17873,7 @@ msgid "" "Use separate UNNEST() calls inside ROWS FROM(), and attach a column " "definition list to each one." msgstr "" +"ROWS FROM() 안에 UNNEST() 호출을 분리하고, 각각 칼럼 정의 목록을 추가하세요." #: parser/parse_clause.c:659 #, c-format @@ -15867,7 +17888,7 @@ msgstr "ROWS FROM() 안에 칼럼 정의 목록을 넣으세요." #: parser/parse_clause.c:760 #, c-format msgid "only one FOR ORDINALITY column is allowed" -msgstr "" +msgstr "하나의 FOR ORDINALITY 칼럼만 허용합니다." #: parser/parse_clause.c:821 #, c-format @@ -15900,112 +17921,107 @@ msgstr[0] "\"%s\" 테이블 샘플링 방법 %d개 인자를 지정해야함, ( msgid "tablesample method %s does not support REPEATABLE" msgstr "\"%s\" 테이블 샘플링 방법은 REPEATABLE 옵션을 지원하지 않음" -#: parser/parse_clause.c:1135 +#: parser/parse_clause.c:1138 #, c-format msgid "TABLESAMPLE clause can only be applied to tables and materialized views" msgstr "TABLESAMPLE 절은 테이블과 구체화된 뷰에서만 사용할 수 있습니다" -#: parser/parse_clause.c:1318 +#: parser/parse_clause.c:1325 #, c-format msgid "column name \"%s\" appears more than once in USING clause" msgstr "USING 절 내에 열 이름 \"%s\" 가 한번 이상 사용되었습니다" -#: parser/parse_clause.c:1333 +#: parser/parse_clause.c:1340 #, c-format msgid "common column name \"%s\" appears more than once in left table" msgstr "left table 내에 common column 이름 \"%s\" 가 한번 이상 사용되었다" -#: parser/parse_clause.c:1342 +#: parser/parse_clause.c:1349 #, c-format msgid "column \"%s\" specified in USING clause does not exist in left table" msgstr "USING 조건절에서 지정한 \"%s\" 칼럼이 왼쪽 테이블에 없음" -#: parser/parse_clause.c:1357 +#: parser/parse_clause.c:1364 #, c-format msgid "common column name \"%s\" appears more than once in right table" msgstr "common column name \"%s\"가 right table 에 한번 이상 사용되었다" -#: parser/parse_clause.c:1366 +#: parser/parse_clause.c:1373 #, c-format msgid "column \"%s\" specified in USING clause does not exist in right table" msgstr "USING 조건절에서 지정한 \"%s\" 칼럼이 오른쪽 테이블에 없음" -#: parser/parse_clause.c:1447 -#, c-format -msgid "column alias list for \"%s\" has too many entries" -msgstr " \"%s\" 를 위한 열 alias list 에 너무 많은 entry 가 포함되어 있다" - -#: parser/parse_clause.c:1773 +#: parser/parse_clause.c:1901 #, c-format msgid "row count cannot be null in FETCH FIRST ... WITH TIES clause" -msgstr "" +msgstr "FETCH FIRST ... WITH TIES 절 안에 로우가 null 이면 안됩니다." #. translator: %s is name of a SQL construct, eg LIMIT -#: parser/parse_clause.c:1798 +#: parser/parse_clause.c:1926 #, c-format msgid "argument of %s must not contain variables" msgstr "%s 의 인자로 변수를 포함할 수 없습니다." #. translator: first %s is name of a SQL construct, eg ORDER BY -#: parser/parse_clause.c:1963 +#: parser/parse_clause.c:2091 #, c-format msgid "%s \"%s\" is ambiguous" msgstr "%s \"%s\" 가 명확하지 않은 표현입니다." #. translator: %s is name of a SQL construct, eg ORDER BY -#: parser/parse_clause.c:1992 +#: parser/parse_clause.c:2119 #, c-format msgid "non-integer constant in %s" msgstr "정수가 아닌 상수가 %s 에 포함되어 있습니다" #. translator: %s is name of a SQL construct, eg ORDER BY -#: parser/parse_clause.c:2014 +#: parser/parse_clause.c:2141 #, c-format msgid "%s position %d is not in select list" msgstr "%s position %d 가 select list 에 포함되어 있지 않습니다" -#: parser/parse_clause.c:2453 +#: parser/parse_clause.c:2580 #, c-format msgid "CUBE is limited to 12 elements" msgstr "CUBE 인자로는 12개 이하의 인자만 허용합니다" -#: parser/parse_clause.c:2659 +#: parser/parse_clause.c:2786 #, c-format msgid "window \"%s\" is already defined" msgstr "\"%s\" 이름의 윈도우 함수가 이미 정의됨" -#: parser/parse_clause.c:2720 +#: parser/parse_clause.c:2847 #, c-format msgid "cannot override PARTITION BY clause of window \"%s\"" msgstr "\"%s\" 창의 PARTITION BY 절을 재정의할 수 없음" -#: parser/parse_clause.c:2732 +#: parser/parse_clause.c:2859 #, c-format msgid "cannot override ORDER BY clause of window \"%s\"" msgstr "\"%s\" 창의 ORDER BY 절을 재정의할 수 없음" -#: parser/parse_clause.c:2762 parser/parse_clause.c:2768 +#: parser/parse_clause.c:2889 parser/parse_clause.c:2895 #, c-format msgid "cannot copy window \"%s\" because it has a frame clause" msgstr "프래임 절이 있어, \"%s\" 윈도우를 복사할 수 없음." -#: parser/parse_clause.c:2770 +#: parser/parse_clause.c:2897 #, c-format msgid "Omit the parentheses in this OVER clause." msgstr "OVER 절에 괄호가 빠졌음" -#: parser/parse_clause.c:2790 +#: parser/parse_clause.c:2917 #, c-format msgid "" "RANGE with offset PRECEDING/FOLLOWING requires exactly one ORDER BY column" -msgstr "" +msgstr "PRECEDING/FOLLOWING 옵셋용 RANGE는 하나의 ORDER BY 칼럼이 필요합니다." -#: parser/parse_clause.c:2813 +#: parser/parse_clause.c:2940 #, c-format msgid "GROUPS mode requires an ORDER BY clause" msgstr "GROUPS 모드는 ORDER BY 구문이 필요함" -#: parser/parse_clause.c:2883 +#: parser/parse_clause.c:3011 #, c-format msgid "" "in an aggregate with DISTINCT, ORDER BY expressions must appear in argument " @@ -16014,317 +18030,363 @@ msgstr "" "DISTINCT, ORDER BY 표현식을 집계 함수와 쓸 때는, 반드시 select list 에 나타나" "야만 합니다" -#: parser/parse_clause.c:2884 +#: parser/parse_clause.c:3012 #, c-format msgid "for SELECT DISTINCT, ORDER BY expressions must appear in select list" msgstr "" "SELECT DISTINCT, ORDER BY 표현식을 위해서 반드시 select list 에 나타나야만 합" "니다" -#: parser/parse_clause.c:2916 +#: parser/parse_clause.c:3044 #, c-format msgid "an aggregate with DISTINCT must have at least one argument" msgstr "DISTINCT 예약어로 집계를 할 경우 적어도 하나의 인자는 있어야 함" -#: parser/parse_clause.c:2917 +#: parser/parse_clause.c:3045 #, c-format msgid "SELECT DISTINCT must have at least one column" msgstr "SELECT DISTINCT 구문은 적어도 한 개 이상의 칼럼이 있어야 합니다" -#: parser/parse_clause.c:2983 parser/parse_clause.c:3015 +#: parser/parse_clause.c:3111 parser/parse_clause.c:3143 #, c-format msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions" msgstr "" "SELECT DISTINCT ON 표현식은 반드시 초기 ORDER BY 표현식과 일치하여야 한다" -#: parser/parse_clause.c:3093 +#: parser/parse_clause.c:3221 #, c-format msgid "ASC/DESC is not allowed in ON CONFLICT clause" msgstr "ASC/DESC 예약어는 ON CONFLICT 절과 함께 사용할 수 없습니다." -#: parser/parse_clause.c:3099 +#: parser/parse_clause.c:3227 #, c-format msgid "NULLS FIRST/LAST is not allowed in ON CONFLICT clause" msgstr "NULLS FIRST/LAST 절은 ON CONFLICT 절과 함께 사용할 수 없습니다." -#: parser/parse_clause.c:3178 +#: parser/parse_clause.c:3306 #, c-format msgid "" "ON CONFLICT DO UPDATE requires inference specification or constraint name" -msgstr "" +msgstr "ON CONFLICT DO UPDATE 구문에는 추론 명세나 제약조건 이름이 필요합니다." -#: parser/parse_clause.c:3179 +#: parser/parse_clause.c:3307 #, c-format msgid "For example, ON CONFLICT (column_name)." msgstr "사용예, ON CONFLICT (칼럼이름)." -#: parser/parse_clause.c:3190 +#: parser/parse_clause.c:3318 #, c-format msgid "ON CONFLICT is not supported with system catalog tables" msgstr "ON CONFLICT 절은 시스템 카탈로그 테이블에서는 사용할 수 없습니다" -#: parser/parse_clause.c:3198 +#: parser/parse_clause.c:3326 #, c-format msgid "ON CONFLICT is not supported on table \"%s\" used as a catalog table" msgstr "" "\"%s\" 테이블에는 ON CONFLICT 기능을 사용할 수 없습니다. 이 테이블은 카탈로" "그 테이블로 사용됩니다." -#: parser/parse_clause.c:3341 +#: parser/parse_clause.c:3457 #, c-format msgid "operator %s is not a valid ordering operator" msgstr "%s 연산자는 유효한 순서 지정 연산자가 아님" -#: parser/parse_clause.c:3343 +#: parser/parse_clause.c:3459 #, c-format msgid "" "Ordering operators must be \"<\" or \">\" members of btree operator families." msgstr "" "순서 지정 연산자는 btree 연산자 패밀리의 \"<\" or \">\" 멤버여야 합니다." -#: parser/parse_clause.c:3654 +#: parser/parse_clause.c:3770 #, c-format msgid "" "RANGE with offset PRECEDING/FOLLOWING is not supported for column type %s" msgstr "" +"PRECEDING/FOLLOWING 옵셋과 함께 쓰는 RANGE 구문은 칼럼의 %s 자로형을 지원하" +"지 않습니다." -#: parser/parse_clause.c:3660 +#: 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 "" +"PRECEDING/FOLLOWING 옵셋과 함께 쓰는 RANGE 구문은 %s 자료형 칼럼과 %s 옵셋 형" +"식을 지원하지 않습니다." -#: parser/parse_clause.c:3663 +#: parser/parse_clause.c:3779 #, c-format msgid "Cast the offset value to an appropriate type." -msgstr "" +msgstr "옵셋 값을 적당한 자료형으로 변환하세요." -#: parser/parse_clause.c:3668 +#: 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 "" +"PRECEDING/FOLLOWING 옵셋과 함께 쓰는 RANGE 구문이 %s 자료형 칼럼과 %s 옵셋 형" +"식 계산에서 여러 가지로 해석될 수 있습니다." -#: parser/parse_clause.c:3671 +#: parser/parse_clause.c:3787 #, c-format msgid "Cast the offset value to the exact intended type." -msgstr "" +msgstr "옵셋 값을 분명한 자료형으로 형변환 하세요." -#: parser/parse_coerce.c:1024 parser/parse_coerce.c:1062 -#: parser/parse_coerce.c:1080 parser/parse_coerce.c:1095 -#: parser/parse_expr.c:2241 parser/parse_expr.c:2819 parser/parse_target.c:967 +#: 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 #, c-format msgid "cannot cast type %s to %s" msgstr "%s 자료형을 %s 자료형으로 형변환할 수 없습니다." -#: parser/parse_coerce.c:1065 +#: parser/parse_coerce.c:1091 #, c-format msgid "Input has too few columns." msgstr "입력에 너무 적은 칼럼을 지정했습니다." -#: parser/parse_coerce.c:1083 +#: parser/parse_coerce.c:1109 #, c-format msgid "Cannot cast type %s to %s in column %d." msgstr "%s 자료형을 %s 자료형으로 형변환할 수 없습니다 해당 열 %d." -#: parser/parse_coerce.c:1098 +#: parser/parse_coerce.c:1124 #, c-format msgid "Input has too many columns." msgstr "입력에 너무 많은 칼럼을 지정했습니다." #. translator: first %s is name of a SQL construct, eg WHERE #. translator: first %s is name of a SQL construct, eg LIMIT -#: parser/parse_coerce.c:1153 parser/parse_coerce.c:1201 +#: parser/parse_coerce.c:1179 parser/parse_coerce.c:1227 #, c-format msgid "argument of %s must be type %s, not type %s" msgstr "%s의 인자는 %s 자료형이어야 함(%s 자료형이 아님)" #. translator: %s is name of a SQL construct, eg WHERE #. translator: %s is name of a SQL construct, eg LIMIT -#: parser/parse_coerce.c:1164 parser/parse_coerce.c:1213 +#: parser/parse_coerce.c:1190 parser/parse_coerce.c:1239 #, c-format msgid "argument of %s must not return a set" msgstr "%s 의 인자는 set(집합) 을 return할수 없습니다." #. translator: first %s is name of a SQL construct, eg CASE -#: parser/parse_coerce.c:1353 +#: parser/parse_coerce.c:1383 #, c-format msgid "%s types %s and %s cannot be matched" msgstr "%s 자료형 %s 와 %s 는 서로 매치되지 않습니다" -#: parser/parse_coerce.c:1465 +#: parser/parse_coerce.c:1499 #, c-format msgid "argument types %s and %s cannot be matched" msgstr "인자 자료형으로 %s 와 %s 는 서로 매치되지 않습니다" #. translator: first %s is name of a SQL construct, eg CASE -#: parser/parse_coerce.c:1517 +#: parser/parse_coerce.c:1551 #, c-format msgid "%s could not convert type %s to %s" msgstr "%s 는 자료형 %s 자료형에서 %s 자료형으로 변환될 수 없습니다." -#: parser/parse_coerce.c:1934 -#, c-format -msgid "arguments declared \"anyelement\" are not all alike" -msgstr "\"anyelement\" 로 선언된 인자들이 모두 같지 않습니다" - -#: parser/parse_coerce.c:1954 +#: parser/parse_coerce.c:2154 parser/parse_coerce.c:2174 +#: parser/parse_coerce.c:2194 parser/parse_coerce.c:2215 +#: parser/parse_coerce.c:2270 parser/parse_coerce.c:2304 #, c-format -msgid "arguments declared \"anyarray\" are not all alike" -msgstr "\"anyarray\" 로 선언된 인자들이 모두 같지 않습니다." +msgid "arguments declared \"%s\" are not all alike" +msgstr "\"%s\" 로 선언된 인자들이 모두 같지 않습니다." -#: parser/parse_coerce.c:1974 -#, c-format -msgid "arguments declared \"anyrange\" are not all alike" -msgstr "\"anyarray\" 로 선언된 인자들이 모두 같지 않습니다." - -#: parser/parse_coerce.c:2008 parser/parse_coerce.c:2088 -#: utils/fmgr/funcapi.c:487 +#: parser/parse_coerce.c:2249 parser/parse_coerce.c:2362 +#: utils/fmgr/funcapi.c:592 #, c-format msgid "argument declared %s is not an array but type %s" msgstr "%s 이름으로 선언된 인자가 array가 아니고, %s 자료형입니다" -#: parser/parse_coerce.c:2029 -#, c-format -msgid "arguments declared \"anycompatiblerange\" are not all alike" -msgstr "\"anycompatiblerange\" 로 선언된 인자들이 모두 같지 않습니다." - -#: parser/parse_coerce.c:2041 parser/parse_coerce.c:2122 -#: utils/fmgr/funcapi.c:501 +#: parser/parse_coerce.c:2282 parser/parse_coerce.c:2432 +#: utils/fmgr/funcapi.c:606 #, c-format msgid "argument declared %s is not a range type but type %s" msgstr "%s 로 선언된 인자가 range 자료형이 아니고, %s 자료형입니다" -#: parser/parse_coerce.c:2079 +#: 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 +#, c-format +msgid "argument declared %s is not a multirange type but type %s" +msgstr "%s 로 선언된 인자가 multirange 자료형이 아니고, %s 자료형입니다" + +#: parser/parse_coerce.c:2353 #, c-format msgid "cannot determine element type of \"anyarray\" argument" msgstr "\"anyarray\" 인자의 각 요소 자료형을 확인할 수 없음" -#: parser/parse_coerce.c:2105 parser/parse_coerce.c:2139 +#: parser/parse_coerce.c:2379 parser/parse_coerce.c:2410 +#: parser/parse_coerce.c:2449 parser/parse_coerce.c:2515 #, c-format msgid "argument declared %s is not consistent with argument declared %s" msgstr "" "%s 이름으로 선언된 인자가 %s 형으로 선언된 인자들과 일관성이 없습니다질 않습" "니다" -#: parser/parse_coerce.c:2163 +#: parser/parse_coerce.c:2474 #, c-format msgid "could not determine polymorphic type because input has type %s" msgstr "입력에 %s 형이 있어 다변 형식을 확인할 수 없음" -#: parser/parse_coerce.c:2177 +#: parser/parse_coerce.c:2488 #, c-format msgid "type matched to anynonarray is an array type: %s" msgstr "anynonarray에 일치된 형식이 배열 형식임: %s" -#: parser/parse_coerce.c:2187 +#: parser/parse_coerce.c:2498 #, c-format msgid "type matched to anyenum is not an enum type: %s" msgstr "anyenum에 일치된 형식이 열거 형식이 아님: %s" -#: parser/parse_coerce.c:2218 parser/parse_coerce.c:2267 -#: parser/parse_coerce.c:2329 parser/parse_coerce.c:2365 +#: parser/parse_coerce.c:2559 +#, c-format +msgid "arguments of anycompatible family cannot be cast to a common type" +msgstr "anycompatible 계열 인자는 일반 자료형으로 변환할 수 없습니다." + +#: parser/parse_coerce.c:2577 parser/parse_coerce.c:2598 +#: parser/parse_coerce.c:2648 parser/parse_coerce.c:2653 +#: parser/parse_coerce.c:2717 parser/parse_coerce.c:2729 #, c-format msgid "could not determine polymorphic type %s because input has type %s" msgstr "%s 다형 자료형을 결정할 수 없음, 입력 자료형이 %s 임" -#: parser/parse_coerce.c:2228 +#: parser/parse_coerce.c:2587 #, c-format msgid "anycompatiblerange type %s does not match anycompatible type %s" msgstr "" -"%s 자료형이 anycompatiblerange인데, 해당 %s anycompatible 자료형을 찾을 수 없음" +"%s 자료형이 anycompatiblerange인데, 해당 %s anycompatible 자료형을 찾을 수 없" +"음" + +#: parser/parse_coerce.c:2608 +#, c-format +msgid "anycompatiblemultirange type %s does not match anycompatible type %s" +msgstr "" +"%s 자료형이 anycompatiblemultirange 형인데, 해당 %s anycompatible 자료형을 찾" +"을 수 없음" -#: parser/parse_coerce.c:2242 +#: parser/parse_coerce.c:2622 #, c-format msgid "type matched to anycompatiblenonarray is an array type: %s" msgstr "일치한 anycompatiblenonarray 자료형이 배열 자료형임: %s" -#: parser/parse_coerce.c:2433 +#: parser/parse_coerce.c:2857 +#, c-format +msgid "" +"A result of type %s requires at least one input of type anyrange or " +"anymultirange." +msgstr "" +"%s 형 반환 자료형은 anyrange 형이나, anymultirange 형 중 하나를 입력 자료형으" +"로 필요합니다." + +#: parser/parse_coerce.c:2874 #, c-format -msgid "A result of type %s requires at least one input of type %s." -msgstr "%s 자료형의 결과가 적어도 하나의 %s 입력 자료형을 필요로 합니다." +msgid "" +"A result of type %s requires at least one input of type anycompatiblerange " +"or anycompatiblemultirange." +msgstr "" +"%s 형 반환 자료형은 anycompatiblerange 형이나, anycompatiblemultirange 형 중 " +"하나를 입력 자료형으로 필요합니다." -#: parser/parse_coerce.c:2445 +#: parser/parse_coerce.c:2886 #, c-format msgid "" "A result of type %s requires at least one input of type anyelement, " -"anyarray, anynonarray, anyenum, or anyrange." +"anyarray, anynonarray, anyenum, anyrange, or anymultirange." msgstr "" +"%s 형 반환 자료형은 anyarray, anynonarray, anyenum, anyrange, 또는 " +"anymultirange 형 중 하나를 입력 자료형으로 필요합니다." -#: parser/parse_coerce.c:2457 +#: parser/parse_coerce.c:2898 #, c-format msgid "" "A result of type %s requires at least one input of type anycompatible, " -"anycompatiblearray, anycompatiblenonarray, or anycompatiblerange." +"anycompatiblearray, anycompatiblenonarray, anycompatiblerange, or " +"anycompatiblemultirange." msgstr "" +"%s 자료형의 결과는 입력 자료형으로 anycompatible, anycompatiblearray, " +"anycompatiblenonarray, anycompatiblerange, anycompatiblemultirange 자료형 중 " +"하나 이상이 필요로 합니다." -#: parser/parse_coerce.c:2487 +#: parser/parse_coerce.c:2928 msgid "A result of type internal requires at least one input of type internal." msgstr "" +"internal 형의 결과는 적어도 하나 이상의 internal 형의 입력 자료형이 필요합니" +"다." #: parser/parse_collate.c:228 parser/parse_collate.c:475 -#: parser/parse_collate.c:981 +#: parser/parse_collate.c:1005 #, c-format msgid "collation mismatch between implicit collations \"%s\" and \"%s\"" msgstr "" "암묵적으로 선택된 \"%s\" 정렬 규칙와 \"%s\" 정렬 규칙이 매칭되지 않습니다" #: parser/parse_collate.c:231 parser/parse_collate.c:478 -#: parser/parse_collate.c:984 +#: parser/parse_collate.c:1008 #, c-format msgid "" "You can choose the collation by applying the COLLATE clause to one or both " "expressions." msgstr "한 쪽 또는 서로 COLLATE 절을 이용해 정렬 규칙을 지정하세요" -#: parser/parse_collate.c:831 +#: parser/parse_collate.c:855 #, c-format msgid "collation mismatch between explicit collations \"%s\" and \"%s\"" msgstr "" "명시적으로 지정한 \"%s\" 정렬규칙와 \"%s\" 정렬규칙이 매칭되지 않습니다" -#: parser/parse_cte.c:42 +#: parser/parse_cte.c:46 #, c-format msgid "" "recursive reference to query \"%s\" must not appear within its non-recursive " "term" msgstr "\"%s\" 쿼리에 대한 재귀 참조가 비재귀 구문 안에는 없어야 함" -#: parser/parse_cte.c:44 +#: parser/parse_cte.c:48 #, c-format msgid "recursive reference to query \"%s\" must not appear within a subquery" msgstr "\"%s\" 쿼리에 대한 재귀 참조가 하위 쿼리 내에 표시되지 않아야 함" -#: parser/parse_cte.c:46 +#: parser/parse_cte.c:50 #, c-format msgid "" "recursive reference to query \"%s\" must not appear within an outer join" msgstr "\"%s\" 쿼리에 대한 재귀 참조가 outer join 구문 안에 없어야 함" -#: parser/parse_cte.c:48 +#: parser/parse_cte.c:52 #, c-format msgid "recursive reference to query \"%s\" must not appear within INTERSECT" msgstr "\"%s\" 쿼리에 대한 재귀 참조가 INTERSECT 내에 표시되지 않아야 함" -#: parser/parse_cte.c:50 +#: parser/parse_cte.c:54 #, c-format msgid "recursive reference to query \"%s\" must not appear within EXCEPT" msgstr "\"%s\" 쿼리에 대한 재귀 참조가 EXCEPT 내에 표시되지 않아야 함" -#: parser/parse_cte.c:132 +#: parser/parse_cte.c:133 +#, c-format +msgid "MERGE not supported in WITH query" +msgstr "WITH 쿼리 안에 MERGE 구문은 쓸 수 없음" + +#: parser/parse_cte.c:143 #, c-format msgid "WITH query name \"%s\" specified more than once" msgstr "\"%s\" WITH 쿼리 이름이 여러 번 지정됨" -#: parser/parse_cte.c:264 +#: parser/parse_cte.c:314 +#, c-format +msgid "could not identify an inequality operator for type %s" +msgstr "%s 자료형용 부등식 연산자를 알 수 없음" + +#: parser/parse_cte.c:341 #, c-format msgid "" "WITH clause containing a data-modifying statement must be at the top level" msgstr "자료를 변경하는 구문이 있는 WITH 절은 최상위 수준에 있어야 합니다" -#: parser/parse_cte.c:313 +#: parser/parse_cte.c:390 #, c-format msgid "" "recursive query \"%s\" column %d has type %s in non-recursive term but type " @@ -16333,12 +18395,12 @@ msgstr "" "\"%s\" 재귀 쿼리의 %d 번째 칼럼은 비재귀 조건에 %s 자료형을 포함하는데 전체적" "으로는 %s 자료형임" -#: parser/parse_cte.c:319 +#: parser/parse_cte.c:396 #, c-format msgid "Cast the output of the non-recursive term to the correct type." msgstr "비재귀 조건의 출력을 올바른 형식으로 형변환하십시오." -#: parser/parse_cte.c:324 +#: parser/parse_cte.c:401 #, c-format msgid "" "recursive query \"%s\" column %d has collation \"%s\" in non-recursive term " @@ -16347,401 +18409,556 @@ msgstr "" "\"%s\" 재귀 쿼리의 %d 번째 칼럼은 비재귀 조건에 %s 자료형을 포함하는데 전체적" "으로는 %s 자료형임" -#: parser/parse_cte.c:328 +#: parser/parse_cte.c:405 #, c-format msgid "Use the COLLATE clause to set the collation of the non-recursive term." msgstr "" +"비 재귀형 요소들의 문자 정렬 규칙을 지정할 때는 COLLATE 절을 추가하세요." + +#: parser/parse_cte.c:426 +#, c-format +msgid "WITH query is not recursive" +msgstr "WITH 쿼리가 재귀 쿼리 형식이 아님" + +#: parser/parse_cte.c:457 +#, c-format +msgid "" +"with a SEARCH or CYCLE clause, the left side of the UNION must be a SELECT" +msgstr "" +"SEARCH 또는 CYCLE 절을 사용할 때는 UNION 왼쪽 구문은 SELECT 여야 합니다." + +#: parser/parse_cte.c:462 +#, c-format +msgid "" +"with a SEARCH or CYCLE clause, the right side of the UNION must be a SELECT" +msgstr "" +"SEARCH 또는 CYCLE 절을 사용할 때는 UNION 오른쪽 구문은 SELECT 여야 합니다." -#: parser/parse_cte.c:418 +#: parser/parse_cte.c:477 +#, c-format +msgid "search column \"%s\" not in WITH query column list" +msgstr "\"%s\" search용 칼럼이 WITH 쿼리 칼럼 목록에 없음" + +#: parser/parse_cte.c:484 +#, c-format +msgid "search column \"%s\" specified more than once" +msgstr "\"%s\" search용 칼럼을 하나 이상 지정했음" + +#: parser/parse_cte.c:493 +#, c-format +msgid "" +"search sequence column name \"%s\" already used in WITH query column list" +msgstr "" +"\"%s\" 이름의 search sequence 칼럼 이름은 WITH 쿼리 칼럼 목록 안에서 이미 사" +"용되고 있습니다." + +#: parser/parse_cte.c:510 +#, c-format +msgid "cycle column \"%s\" not in WITH query column list" +msgstr "\"%s\" cycle용 칼럼이 WITH 쿼리 칼럼 목록에 없습니다" + +#: parser/parse_cte.c:517 +#, c-format +msgid "cycle column \"%s\" specified more than once" +msgstr "\"%s\" cycle용 칼럼을 하나 이상 지정했음" + +#: parser/parse_cte.c:526 +#, c-format +msgid "cycle mark column name \"%s\" already used in WITH query column list" +msgstr "" +"\"%s\" cycle mark 칼럼 이름이 WITH 쿼리 칼럼 목록 안에서 이미 사용되고 있습니" +"다." + +#: parser/parse_cte.c:533 +#, c-format +msgid "cycle path column name \"%s\" already used in WITH query column list" +msgstr "" +"\"%s\" cycle path 칼럼 이름이 WITH 쿼리 칼럼 목록 안에서 이미 사용되고 있습니" +"다." + +#: parser/parse_cte.c:541 +#, c-format +msgid "cycle mark column name and cycle path column name are the same" +msgstr "cycle mark 칼럼 이름과 cycle path 칼럼 이름이 같습니다." + +#: parser/parse_cte.c:551 +#, c-format +msgid "search sequence column name and cycle mark column name are the same" +msgstr "search sequence 칼럼 이름과 cycle mark 칼럼 이름이 같습니다." + +#: parser/parse_cte.c:558 +#, c-format +msgid "search sequence column name and cycle path column name are the same" +msgstr "search sequence 칼럼 이름과 cycle path 칼럼 이름이 같습니다." + +#: parser/parse_cte.c:642 #, c-format msgid "WITH query \"%s\" has %d columns available but %d columns specified" msgstr "" "\"%s\" WITH 쿼리에는 %d개의 칼럼을 사용할 수 있는데 %d개의 칼럼이 지정됨" -#: parser/parse_cte.c:598 +#: parser/parse_cte.c:822 #, c-format msgid "mutual recursion between WITH items is not implemented" msgstr "WITH 항목 간의 상호 재귀가 구현되지 않음" -#: parser/parse_cte.c:650 +#: parser/parse_cte.c:874 #, c-format msgid "recursive query \"%s\" must not contain data-modifying statements" msgstr "\"%s\" 재귀 쿼리에 자료 변경 구문이 포함될 수 없습니다." -#: parser/parse_cte.c:658 +#: parser/parse_cte.c:882 #, c-format msgid "" "recursive query \"%s\" does not have the form non-recursive-term UNION [ALL] " "recursive-term" msgstr "\"%s\" 재귀 쿼리에 비재귀 조건 형태의 UNION [ALL] 재귀 조건이 없음" -#: parser/parse_cte.c:702 +#: parser/parse_cte.c:926 #, c-format msgid "ORDER BY in a recursive query is not implemented" msgstr "재귀 쿼리의 ORDER BY가 구현되지 않음" -#: parser/parse_cte.c:708 +#: parser/parse_cte.c:932 #, c-format msgid "OFFSET in a recursive query is not implemented" msgstr "재귀 쿼리의 OFFSET이 구현되지 않음" -#: parser/parse_cte.c:714 +#: parser/parse_cte.c:938 #, c-format msgid "LIMIT in a recursive query is not implemented" msgstr "재귀 쿼리의 LIMIT가 구현되지 않음" -#: parser/parse_cte.c:720 +#: parser/parse_cte.c:944 #, c-format msgid "FOR UPDATE/SHARE in a recursive query is not implemented" msgstr "재귀 쿼리의 FOR UPDATE/SHARE가 구현되지 않음" -#: parser/parse_cte.c:777 +#: parser/parse_cte.c:1001 #, c-format msgid "recursive reference to query \"%s\" must not appear more than once" msgstr "\"%s\" 쿼리에 대한 재귀 참조가 여러 번 표시되지 않아야 함" -#: parser/parse_expr.c:349 +#: parser/parse_expr.c:294 #, c-format msgid "DEFAULT is not allowed in this context" msgstr "이 영역에서는 DEFAULT를 사용할 수 없습니다" -#: parser/parse_expr.c:402 parser/parse_relation.c:3506 -#: parser/parse_relation.c:3526 +#: 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 #, c-format msgid "column %s.%s does not exist" msgstr "%s.%s 칼럼 없음" -#: parser/parse_expr.c:414 +#: parser/parse_expr.c:383 #, c-format msgid "column \"%s\" not found in data type %s" msgstr "\"%s\" 칼럼은 %s 자료형을 찾을 수 없음" -#: parser/parse_expr.c:420 +#: parser/parse_expr.c:389 #, c-format msgid "could not identify column \"%s\" in record data type" msgstr "레코드 데이터 형식에서 \"%s\" 칼럼을 식별할 수 없음" -#: parser/parse_expr.c:426 +#: parser/parse_expr.c:395 #, c-format msgid "column notation .%s applied to type %s, which is not a composite type" msgstr "" ".%s 표현이 %s 자료형 사용되었는데, 이는 복소수형 (complex type)이 아닙니다" -#: parser/parse_expr.c:457 parser/parse_target.c:729 +#: parser/parse_expr.c:426 parser/parse_target.c:733 #, c-format msgid "row expansion via \"*\" is not supported here" msgstr "\"*\"를 통한 칼럼 확장은 여기서 지원되지 않음" -#: parser/parse_expr.c:578 +#: parser/parse_expr.c:548 msgid "cannot use column reference in DEFAULT expression" msgstr "DEFAULT 표현식에서는 열 reference를 사용할 수 없음" -#: parser/parse_expr.c:581 +#: parser/parse_expr.c:551 msgid "cannot use column reference in partition bound expression" msgstr "파티션 범위 표현식에서 칼럼 참조를 사용할 수 없음" -#: parser/parse_expr.c:850 parser/parse_relation.c:799 -#: parser/parse_relation.c:881 parser/parse_target.c:1207 +#: parser/parse_expr.c:810 parser/parse_relation.c:833 +#: parser/parse_relation.c:915 parser/parse_target.c:1225 #, c-format msgid "column reference \"%s\" is ambiguous" msgstr "칼럼 참조 \"%s\" 가 모호합니다." -#: parser/parse_expr.c:906 parser/parse_param.c:110 parser/parse_param.c:142 -#: parser/parse_param.c:199 parser/parse_param.c:298 +#: parser/parse_expr.c:866 parser/parse_param.c:110 parser/parse_param.c:142 +#: parser/parse_param.c:204 parser/parse_param.c:303 #, c-format msgid "there is no parameter $%d" msgstr "$%d 매개 변수가 없습니다" -#: parser/parse_expr.c:1149 +#: parser/parse_expr.c:1066 #, c-format msgid "NULLIF requires = operator to yield boolean" -msgstr "NULIF 절은 boolean 값을 얻기 위해서 = 연산자를 필요로 합니다" +msgstr "NULIF 절은 불리언 값을 얻기 위해서 = 연산자를 필요로 합니다" #. translator: %s is name of a SQL construct, eg NULLIF -#: parser/parse_expr.c:1155 parser/parse_expr.c:3135 +#: parser/parse_expr.c:1072 parser/parse_expr.c:3007 #, c-format msgid "%s must not return a set" msgstr "%s에서는 집합을 반환할 수 없습니다." -#: parser/parse_expr.c:1603 parser/parse_expr.c:1635 +#: parser/parse_expr.c:1457 parser/parse_expr.c:1489 #, c-format msgid "number of columns does not match number of values" msgstr "칼럼의 개수와, values의 개수가 틀립니다" -#: parser/parse_expr.c:1649 +#: parser/parse_expr.c:1503 #, c-format msgid "" "source for a multiple-column UPDATE item must be a sub-SELECT or ROW() " "expression" msgstr "" +"다중 칼럼 UPDATE 요소를 위한 소스는 서브셀렉트나 ROW() 표현식이어야 합니다." #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_expr.c:1843 parser/parse_expr.c:2330 parser/parse_func.c:2540 +#: parser/parse_expr.c:1698 parser/parse_expr.c:2180 parser/parse_func.c:2677 #, c-format msgid "set-returning functions are not allowed in %s" msgstr "%s 안에서는 집합 반환 함수를 사용할 수 없음" -#: parser/parse_expr.c:1904 +#: parser/parse_expr.c:1761 msgid "cannot use subquery in check constraint" msgstr "체크 제약 조건에서는 서브쿼리를 사용할 수 없습니다" -#: parser/parse_expr.c:1908 +#: parser/parse_expr.c:1765 msgid "cannot use subquery in DEFAULT expression" msgstr "DEFAULT 식에서는 서브쿼리를 사용할 수 없습니다" -#: parser/parse_expr.c:1911 +#: parser/parse_expr.c:1768 msgid "cannot use subquery in index expression" msgstr "인덱스 식(expression)에 서브쿼리를 사용할 수 없습니다" -#: parser/parse_expr.c:1914 +#: parser/parse_expr.c:1771 msgid "cannot use subquery in index predicate" msgstr "인덱스 술어(predicate)에 서브쿼리를 사용할 수 없습니다" -#: parser/parse_expr.c:1917 +#: parser/parse_expr.c:1774 +msgid "cannot use subquery in statistics expression" +msgstr "통계 정보 표현식에 서브쿼리를 사용할 수 없습니다" + +#: parser/parse_expr.c:1777 msgid "cannot use subquery in transform expression" msgstr "transform 식(expression)에 서브쿼리를 사용할 수 없습니다" -#: parser/parse_expr.c:1920 +#: parser/parse_expr.c:1780 msgid "cannot use subquery in EXECUTE parameter" msgstr "EXECUTE 매개 변수로 서브쿼리를 사용할 수 없습니다" -#: parser/parse_expr.c:1923 +#: parser/parse_expr.c:1783 msgid "cannot use subquery in trigger WHEN condition" msgstr "트리거 WHEN 조건절에서는 서브쿼리를 사용할 수 없습니다" -#: parser/parse_expr.c:1926 +#: parser/parse_expr.c:1786 msgid "cannot use subquery in partition bound" msgstr "파티션 범위 표현식에 서브쿼리를 사용할 수 없습니다" -#: parser/parse_expr.c:1929 +#: parser/parse_expr.c:1789 msgid "cannot use subquery in partition key expression" msgstr "파티션 키 표현식에 서브쿼리를 사용할 수 없습니다" -#: parser/parse_expr.c:1932 +#: parser/parse_expr.c:1792 msgid "cannot use subquery in CALL argument" msgstr "CALL 매개 변수로 서브쿼리를 사용할 수 없습니다" -#: parser/parse_expr.c:1935 +#: parser/parse_expr.c:1795 msgid "cannot use subquery in COPY FROM WHERE condition" msgstr "COPY FROM WHERE 조건절에서는 서브쿼리를 사용할 수 없습니다" -#: parser/parse_expr.c:1938 +#: parser/parse_expr.c:1798 msgid "cannot use subquery in column generation expression" msgstr "미리 계산된 칼럼 생성 표현식에 서브쿼리를 사용할 수 없습니다" -#: parser/parse_expr.c:1991 +#: parser/parse_expr.c:1851 parser/parse_expr.c:3628 #, c-format msgid "subquery must return only one column" msgstr "subquery는 오로지 한개의 열만을 돌려 주어야 합니다." -#: parser/parse_expr.c:2075 +#: parser/parse_expr.c:1922 #, c-format msgid "subquery has too many columns" msgstr "subquery 에가 너무 많은 칼럼을 가집니다" -#: parser/parse_expr.c:2080 +#: parser/parse_expr.c:1927 #, c-format msgid "subquery has too few columns" msgstr "subquery 에 명시된 열 수가 너무 적다" -#: parser/parse_expr.c:2181 +#: parser/parse_expr.c:2023 #, c-format msgid "cannot determine type of empty array" msgstr "빈 배열의 자료형을 확인할 수 없음" -#: parser/parse_expr.c:2182 +#: parser/parse_expr.c:2024 #, c-format msgid "Explicitly cast to the desired type, for example ARRAY[]::integer[]." msgstr "원하는 형식으로 명시적으로 형변환하십시오(예: ARRAY[]::integer[])." -#: parser/parse_expr.c:2196 +#: parser/parse_expr.c:2038 #, c-format msgid "could not find element type for data type %s" msgstr "%s 자료형의 요소 자료형을 찾을 수 없음" -#: parser/parse_expr.c:2481 +#: parser/parse_expr.c:2121 +#, c-format +msgid "ROW expressions can have at most %d entries" +msgstr "ROW 표현식은 최대 %d 개의 항목을 지정할 수 있습니다" + +#: parser/parse_expr.c:2326 #, c-format msgid "unnamed XML attribute value must be a column reference" msgstr "이름이 지정되지 않은 XML 속성 값은 열 참조여야 함" -#: parser/parse_expr.c:2482 +#: parser/parse_expr.c:2327 #, c-format msgid "unnamed XML element value must be a column reference" msgstr "이름이 지정되지 않은 XML 요소 값은 열 참조여야 함" -#: parser/parse_expr.c:2497 +#: parser/parse_expr.c:2342 #, c-format msgid "XML attribute name \"%s\" appears more than once" msgstr "\"%s\" XML 속성 이름이 여러 번 표시됨" -#: parser/parse_expr.c:2604 +#: parser/parse_expr.c:2450 #, c-format msgid "cannot cast XMLSERIALIZE result to %s" msgstr "XMLSERIALIZE 결과를 %s 형으로 바꿀 수 없음" -#: parser/parse_expr.c:2892 parser/parse_expr.c:3088 +#: parser/parse_expr.c:2764 parser/parse_expr.c:2960 #, c-format msgid "unequal number of entries in row expressions" msgstr "행 표현식에서 항목 수가 일치하지 않습니다" -#: parser/parse_expr.c:2902 +#: parser/parse_expr.c:2774 #, c-format msgid "cannot compare rows of zero length" msgstr "길이가 영(0)인 행들은 비교할 수 없습니다" -#: parser/parse_expr.c:2927 +#: parser/parse_expr.c:2799 #, c-format msgid "row comparison operator must yield type boolean, not type %s" msgstr "" -"행 비교 연산자는 boolean형을 리턴해야합니다. %s 자료형을 사용할 수 없습니다" +"행 비교 연산자는 불리언형을 리턴해야 합니다. %s 자료형을 사용할 수 없습니다" + +#: parser/parse_expr.c:2806 +#, c-format +msgid "row comparison operator must not return a set" +msgstr "행 비교 연산자는 set을 리턴할 수 없습니다" + +#: parser/parse_expr.c:2865 parser/parse_expr.c:2906 +#, c-format +msgid "could not determine interpretation of row comparison operator %s" +msgstr "%s 행 비교 연산자의 구문을 분석할 수 없습니다" + +#: parser/parse_expr.c:2867 +#, c-format +msgid "" +"Row comparison operators must be associated with btree operator families." +msgstr "로우 비교 연산자를 btree 연산자 패밀리와 연결해야 함" + +#: parser/parse_expr.c:2908 +#, c-format +msgid "There are multiple equally-plausible candidates." +msgstr "여러 가지 등식들이 성립할 수 있는 가능성이 있습니다" + +#: parser/parse_expr.c:3001 +#, c-format +msgid "IS DISTINCT FROM requires = operator to yield boolean" +msgstr "" +"IS DISTINCT FROM 절에서 불리언 값을 얻기 위해서 = 연산자를 필요로 합니다" + +#: parser/parse_expr.c:3239 +#, c-format +msgid "JSON ENCODING clause is only allowed for bytea input type" +msgstr "JSON ENCODING 절은 입력 자료형이 bytea 일때만 허용합니다." + +#: parser/parse_expr.c:3261 +#, c-format +msgid "cannot use non-string types with implicit FORMAT JSON clause" +msgstr "" +"FORMAT JSON 절과 관련된 자료형이 문자열이 아닌 자료형인 경우는 사용할 수 없습" +"니다." + +#: parser/parse_expr.c:3262 +#, c-format +msgid "cannot use non-string types with explicit FORMAT JSON clause" +msgstr "" +"FORMAT JSON 절과 관련된 자료형이 문자열이 아닌 자료형인 경우는 사용할 수 없습" +"니다." + +#: parser/parse_expr.c:3335 +#, c-format +msgid "cannot use JSON format with non-string output types" +msgstr "비 문자열 출력 형으로 JSON 포멧을 사용할 수 없음" + +#: parser/parse_expr.c:3348 +#, c-format +msgid "cannot set JSON encoding for non-bytea output types" +msgstr "이진 자료형이 아닌 출력 자료형을 위한 JSON 인코딩을 지정할 수 없음" -#: parser/parse_expr.c:2934 +#: parser/parse_expr.c:3353 #, c-format -msgid "row comparison operator must not return a set" -msgstr "행 비교 연산자는 set을 리턴할 수 없습니다" +msgid "unsupported JSON encoding" +msgstr "지원하지 않는 JSON 인코딩" -#: parser/parse_expr.c:2993 parser/parse_expr.c:3034 +#: parser/parse_expr.c:3354 #, c-format -msgid "could not determine interpretation of row comparison operator %s" -msgstr "%s 행 비교 연산자의 구문을 분석할 수 없습니다" +msgid "Only UTF8 JSON encoding is supported." +msgstr "UTF8 JSON 인코딩만 지원합니다." -#: parser/parse_expr.c:2995 +#: parser/parse_expr.c:3391 #, c-format -msgid "" -"Row comparison operators must be associated with btree operator families." -msgstr "로우 비교 연산자를 btree 연산자 패밀리와 연결해야 함" +msgid "returning SETOF types is not supported in SQL/JSON functions" +msgstr "SQL/JSON 함수들은 SETOF 반환 자료형을 지원하지 않음" -#: parser/parse_expr.c:3036 +#: parser/parse_expr.c:3712 parser/parse_func.c:865 #, c-format -msgid "There are multiple equally-plausible candidates." -msgstr "여러 가지 등식들이 성립할 수 있는 가능성이 있습니다" +msgid "aggregate ORDER BY is not implemented for window functions" +msgstr "윈도우 함수에 대해 집계용 ORDER BY가 구현되지 않음" -#: parser/parse_expr.c:3129 +#: parser/parse_expr.c:3934 #, c-format -msgid "IS DISTINCT FROM requires = operator to yield boolean" +msgid "cannot use JSON FORMAT ENCODING clause for non-bytea input types" msgstr "" -"IS DISTINCT FROM 절에서 boolean 값을 얻기 위해서 = 연산자를 필요로 합니다" +"이진 자료형이 아닌 입력 자료형을 위한 JSON FORMAT ENCODING 구문을 사용할 수 " +"없음" -#: parser/parse_expr.c:3448 parser/parse_expr.c:3466 +#: parser/parse_expr.c:3954 #, c-format -msgid "operator precedence change: %s is now lower precedence than %s" -msgstr "연산자 우선순위 변경됨: %s 연산자 우선순위가 %s 연산보다 낮습니다" +msgid "cannot use type %s in IS JSON predicate" +msgstr "IS JSON 술어(predicate)에 %s 자료형을 사용할 수 없음" -#: parser/parse_func.c:191 +#: parser/parse_func.c:194 #, c-format msgid "argument name \"%s\" used more than once" msgstr "\"%s\" 이름의 매개 변수가 여러 번 사용 됨" -#: parser/parse_func.c:202 +#: parser/parse_func.c:205 #, c-format msgid "positional argument cannot follow named argument" -msgstr "" +msgstr "위치 기반 인자 뒤에 이름 기반 인자를 쓸 수 없습니다." -#: parser/parse_func.c:284 parser/parse_func.c:2243 +#: parser/parse_func.c:287 parser/parse_func.c:2367 #, c-format msgid "%s is not a procedure" msgstr "%s 개체는 프로시져가 아님" -#: parser/parse_func.c:288 +#: parser/parse_func.c:291 #, c-format msgid "To call a function, use SELECT." -msgstr "" +msgstr "함수를 호출하려면, SELECT 구문을 사용하세요." -#: parser/parse_func.c:294 +#: parser/parse_func.c:297 #, c-format msgid "%s is a procedure" msgstr "%s 개체는 프로시져임" -#: parser/parse_func.c:298 +#: parser/parse_func.c:301 #, c-format msgid "To call a procedure, use CALL." -msgstr "" +msgstr "프로시져를 호출하려면, CALL 구문을 사용하세요." -#: parser/parse_func.c:312 +#: parser/parse_func.c:315 #, c-format msgid "%s(*) specified, but %s is not an aggregate function" msgstr "%s(*) 가 명시되어 있는데, 이 %s 함수는 집계 함수가 아닙니다." -#: parser/parse_func.c:319 +#: parser/parse_func.c:322 #, c-format msgid "DISTINCT specified, but %s is not an aggregate function" msgstr "DISTINCT 가 명시되어 있는데, 그러나 이 %s 함수는 집계 함수가 아닙니다" -#: parser/parse_func.c:325 +#: parser/parse_func.c:328 #, c-format msgid "WITHIN GROUP specified, but %s is not an aggregate function" msgstr "WITHIN GROUP 절이 명시되어 있는데, 이 %s 함수는 집계 함수가 아닙니다" -#: parser/parse_func.c:331 +#: parser/parse_func.c:334 #, c-format msgid "ORDER BY specified, but %s is not an aggregate function" msgstr "ORDER BY 절이 명시되어 있는데, 이 %s 함수는 집계 함수가 아닙니다." -#: parser/parse_func.c:337 +#: parser/parse_func.c:340 #, c-format msgid "FILTER specified, but %s is not an aggregate function" msgstr "FILTER 절이 명시되어 있는데, 이 %s 함수는 집계 함수가 아닙니다" -#: parser/parse_func.c:343 +#: parser/parse_func.c:346 #, c-format msgid "" "OVER specified, but %s is not a window function nor an aggregate function" msgstr "OVER 절이 지정되었는데 %s 함수는 윈도우 함수 또는 집계 함수가 아님" -#: parser/parse_func.c:381 +#: parser/parse_func.c:384 #, c-format msgid "WITHIN GROUP is required for ordered-set aggregate %s" msgstr "순서가 있는 집계함수인 %s 때문에 WITHIN GROUP 절이 필요합니다" -#: parser/parse_func.c:387 +#: parser/parse_func.c:390 #, c-format msgid "OVER is not supported for ordered-set aggregate %s" msgstr "OVER 절에서 정렬된 세트 집계 %s 함수를 지원하지 않음" -#: parser/parse_func.c:418 parser/parse_func.c:447 +#: parser/parse_func.c:421 parser/parse_func.c:452 #, c-format msgid "" +"There is an ordered-set aggregate %s, but it requires %d direct argument, " +"not %d." +msgid_plural "" "There is an ordered-set aggregate %s, but it requires %d direct arguments, " "not %d." -msgstr "" +msgstr[0] "" +"%s 순서 있는 집합 집계 함수는 %d 개의 직접 인자를 필요로 하는데, %d개를 쓰고 " +"있습니다." -#: parser/parse_func.c:472 +#: parser/parse_func.c:479 #, c-format msgid "" "To use the hypothetical-set aggregate %s, the number of hypothetical direct " "arguments (here %d) must match the number of ordering columns (here %d)." msgstr "" +"%s 가상 집합 집계 함수를 사용하려면, 직접 인자수(%d개)와 정렬용 칼럼 수(%d개)" +"가 같아야 합니다." -#: parser/parse_func.c:486 +#: parser/parse_func.c:493 #, c-format msgid "" "There is an ordered-set aggregate %s, but it requires at least %d direct " +"argument." +msgid_plural "" +"There is an ordered-set aggregate %s, but it requires at least %d direct " "arguments." -msgstr "" +msgstr[0] "" +"%s 순서 있는 집합 집계 함수는 적어도 %d 개의 직접 인자가 필요합니다." -#: parser/parse_func.c:505 +#: parser/parse_func.c:514 #, c-format msgid "%s is not an ordered-set aggregate, so it cannot have WITHIN GROUP" msgstr "" "%s 함수는 순사가 있는 세트 집계함수가 아니여서 WITHIN GROUP 절을 사용할 수 없" "습니다" -#: parser/parse_func.c:518 +#: parser/parse_func.c:527 #, c-format msgid "window function %s requires an OVER clause" msgstr "%s 윈도우 함수 호출에는 OVER 절이 필요함" -#: parser/parse_func.c:525 +#: parser/parse_func.c:534 #, c-format msgid "window function %s cannot have WITHIN GROUP" msgstr "%s 윈도우 함수는 WITHIN GROUP 절을 사용할 수 없음" -#: parser/parse_func.c:554 +#: parser/parse_func.c:563 #, c-format msgid "procedure %s is not unique" msgstr "%s 프로시져는 유일성을 가지지 못합니다(not unique)" -#: parser/parse_func.c:557 +#: parser/parse_func.c:566 #, c-format msgid "" "Could not choose a best candidate procedure. You might need to add explicit " @@ -16750,12 +18967,12 @@ msgstr "" "가장 적당한 프로시져를 선택할 수 없습니다. 명시적 형변환자를 추가해야 할 수" "도 있습니다." -#: parser/parse_func.c:563 +#: parser/parse_func.c:572 #, c-format msgid "function %s is not unique" msgstr "함수 %s 는 유일성을 가지지 못합니다(not unique)" -#: parser/parse_func.c:566 +#: parser/parse_func.c:575 #, c-format msgid "" "Could not choose a best candidate function. You might need to add explicit " @@ -16764,7 +18981,7 @@ msgstr "" "제일 적당한 함수를 선택할 수 없습니다. 명시적 형변환자를 추가해야 할 수도 있" "습니다." -#: parser/parse_func.c:605 +#: parser/parse_func.c:614 #, c-format msgid "" "No aggregate function matches the given name and argument types. Perhaps you " @@ -16775,12 +18992,12 @@ msgstr "" "른 위치에 쓰지 않은 것 같습니다. ORDER BY 절은 모든 집계용 인자들 맨 뒤에 있" "어야 합니다." -#: parser/parse_func.c:613 parser/parse_func.c:2286 +#: parser/parse_func.c:622 parser/parse_func.c:2410 #, c-format msgid "procedure %s does not exist" msgstr "\"%s\" 프로시져 없음" -#: parser/parse_func.c:616 +#: parser/parse_func.c:625 #, c-format msgid "" "No procedure matches the given name and argument types. You might need to " @@ -16789,7 +19006,7 @@ msgstr "" "지정된 이름 및 인자 형식과 일치하는 프로시져가 없습니다. 명시적 형변환자를 추" "가해야 할 수도 있습니다." -#: parser/parse_func.c:625 +#: parser/parse_func.c:634 #, c-format msgid "" "No function matches the given name and argument types. You might need to add " @@ -16798,238 +19015,257 @@ msgstr "" "지정된 이름 및 인자 자료형과 일치하는 함수가 없습니다. 명시적 형변환자를 추가" "해야 할 수도 있습니다." -#: parser/parse_func.c:727 +#: parser/parse_func.c:736 #, c-format msgid "VARIADIC argument must be an array" msgstr "VARIADIC 매개 변수는 배열이어야 함" -#: parser/parse_func.c:779 parser/parse_func.c:843 +#: parser/parse_func.c:791 parser/parse_func.c:855 #, c-format msgid "%s(*) must be used to call a parameterless aggregate function" msgstr "%s(*) 사용할 때는 이 함수가 매개 변수 없는 집계 함수여야 합니다" -#: parser/parse_func.c:786 +#: parser/parse_func.c:798 #, c-format msgid "aggregates cannot return sets" msgstr "집계 함수는 세트를 반환할 수 없음" -#: parser/parse_func.c:801 +#: parser/parse_func.c:813 #, c-format msgid "aggregates cannot use named arguments" msgstr "집계 함수는 인자 이름을 사용할 수 없음" -#: parser/parse_func.c:833 +#: parser/parse_func.c:845 #, c-format msgid "DISTINCT is not implemented for window functions" msgstr "윈도우 함수에 대해 DISTINCT가 구현되지 않음" -#: parser/parse_func.c:853 -#, c-format -msgid "aggregate ORDER BY is not implemented for window functions" -msgstr "윈도우 함수에 대해 집계용 ORDER BY가 구현되지 않음" - -#: parser/parse_func.c:862 +#: parser/parse_func.c:874 #, c-format msgid "FILTER is not implemented for non-aggregate window functions" msgstr "비집계 윈도우 함수에 대해 FILTER가 구현되지 않음" -#: parser/parse_func.c:871 +#: parser/parse_func.c:883 #, c-format msgid "window function calls cannot contain set-returning function calls" msgstr "윈도우 함수 호출에 집합 반환 함수 호출을 포함할 수 없음" -#: parser/parse_func.c:879 +#: parser/parse_func.c:891 #, c-format msgid "window functions cannot return sets" msgstr "윈도우 함수는 세트를 반환할 수 없음" -#: parser/parse_func.c:2124 parser/parse_func.c:2315 +#: parser/parse_func.c:2166 parser/parse_func.c:2439 #, c-format msgid "could not find a function named \"%s\"" msgstr "\"%s\" 함수를 찾을 수 없음" -#: parser/parse_func.c:2138 parser/parse_func.c:2333 +#: parser/parse_func.c:2180 parser/parse_func.c:2457 #, c-format msgid "function name \"%s\" is not unique" msgstr "\"%s\" 함수 이름은 유일성을 가지지 못합니다(not unique)" -#: parser/parse_func.c:2140 parser/parse_func.c:2335 +#: parser/parse_func.c:2182 parser/parse_func.c:2460 #, c-format msgid "Specify the argument list to select the function unambiguously." msgstr "입력 인자를 다르게 해서 이 모호함을 피하세요." -#: parser/parse_func.c:2184 +#: parser/parse_func.c:2226 #, c-format msgid "procedures cannot have more than %d argument" msgid_plural "procedures cannot have more than %d arguments" msgstr[0] "프로시져는 %d개 이상의 인자를 사용할 수 없음" -#: parser/parse_func.c:2233 +#: parser/parse_func.c:2357 #, c-format msgid "%s is not a function" msgstr "%s 이름의 개체는 함수가 아닙니다" -#: parser/parse_func.c:2253 +#: parser/parse_func.c:2377 #, c-format msgid "function %s is not an aggregate" msgstr "%s 함수는 집계 함수가 아닙니다" -#: parser/parse_func.c:2281 +#: parser/parse_func.c:2405 #, c-format msgid "could not find a procedure named \"%s\"" msgstr "\"%s\" 이름의 프로시져를 찾을 수 없음" -#: parser/parse_func.c:2295 +#: parser/parse_func.c:2419 #, c-format msgid "could not find an aggregate named \"%s\"" msgstr "\"%s\" 이름의 집계 함수를 찾을 수 없음" -#: parser/parse_func.c:2300 +#: parser/parse_func.c:2424 #, c-format msgid "aggregate %s(*) does not exist" msgstr "%s(*) 집계 함수 없음" -#: parser/parse_func.c:2305 +#: parser/parse_func.c:2429 #, c-format msgid "aggregate %s does not exist" msgstr "%s 집계 함수 없음" -#: parser/parse_func.c:2340 +#: parser/parse_func.c:2465 #, c-format msgid "procedure name \"%s\" is not unique" msgstr "\"%s\" 프로시져는 유일성을 가지지 못합니다(not unique)" -#: parser/parse_func.c:2342 +#: parser/parse_func.c:2468 #, c-format msgid "Specify the argument list to select the procedure unambiguously." msgstr "해당 프로시져의 입력 인자를 다르게 해서 이 모호함을 피하세요." -#: parser/parse_func.c:2347 +#: parser/parse_func.c:2473 #, c-format msgid "aggregate name \"%s\" is not unique" msgstr "\"%s\" 집계 함수가 유일성을 가지지 못합니다(not unique)" -#: parser/parse_func.c:2349 +#: parser/parse_func.c:2476 #, c-format msgid "Specify the argument list to select the aggregate unambiguously." msgstr "해당 집계 함수의 입력 인자를 다르게 해서 이 모호함을 피하세요." -#: parser/parse_func.c:2354 +#: parser/parse_func.c:2481 #, c-format msgid "routine name \"%s\" is not unique" msgstr "\"%s\" 루틴 이름은 유일성을 가지지 못합니다(not unique)" -#: parser/parse_func.c:2356 +#: parser/parse_func.c:2484 #, c-format msgid "Specify the argument list to select the routine unambiguously." msgstr "해당 루틴의 입력 인자를 다르게 해서 이 모호함을 피하세요." -#: parser/parse_func.c:2411 +#: parser/parse_func.c:2539 msgid "set-returning functions are not allowed in JOIN conditions" msgstr "집합 반환 함수는 JOIN 조건에 사용할 수 없음" -#: parser/parse_func.c:2432 +#: parser/parse_func.c:2560 msgid "set-returning functions are not allowed in policy expressions" msgstr "집합 반환 함수는 정책 식에 사용할 수 없음" -#: parser/parse_func.c:2448 +#: parser/parse_func.c:2576 msgid "set-returning functions are not allowed in window definitions" msgstr "집합 반환 함수는 윈도우 함수 정의에 사용할 수 없음" -#: parser/parse_func.c:2486 +#: parser/parse_func.c:2613 +msgid "set-returning functions are not allowed in MERGE WHEN conditions" +msgstr "집합 반환 함수는 MERGE WHEN 조건절에서 사용할 수 없음" + +#: parser/parse_func.c:2617 msgid "set-returning functions are not allowed in check constraints" msgstr "집합 반환 함수는 check 제약조건에 사용할 수 없음" -#: parser/parse_func.c:2490 +#: parser/parse_func.c:2621 msgid "set-returning functions are not allowed in DEFAULT expressions" msgstr "집합 반환 함수는 DEFAULT 식에서 사용할 수 없음" -#: parser/parse_func.c:2493 +#: parser/parse_func.c:2624 msgid "set-returning functions are not allowed in index expressions" msgstr "집합 반환 함수는 인덱스 식에서 사용할 수 없음" -#: parser/parse_func.c:2496 +#: parser/parse_func.c:2627 msgid "set-returning functions are not allowed in index predicates" msgstr "집합 반환 함수는 함수 기반 인덱스에서 사용할 수 없음" -#: parser/parse_func.c:2499 +#: parser/parse_func.c:2630 +msgid "set-returning functions are not allowed in statistics expressions" +msgstr "집합 반환 함수는 통계 정보 식에 사용할 수 없음" + +#: parser/parse_func.c:2633 msgid "set-returning functions are not allowed in transform expressions" msgstr "집합 반환 함수는 transform 식에서 사용할 수 없음" -#: parser/parse_func.c:2502 +#: parser/parse_func.c:2636 msgid "set-returning functions are not allowed in EXECUTE parameters" msgstr "집합 반환 함수는 EXECUTE 매개 변수 설정 값으로 사용할 수 없음" -#: parser/parse_func.c:2505 +#: parser/parse_func.c:2639 msgid "set-returning functions are not allowed in trigger WHEN conditions" msgstr "집합 반환 함수는 트리거의 WHEN 조건절에서 사용할 수 없음" -#: parser/parse_func.c:2508 +#: parser/parse_func.c:2642 msgid "set-returning functions are not allowed in partition bound" msgstr "집합 반환 함수는 파티션 범위 식에서 사용할 수 없음" -#: parser/parse_func.c:2511 +#: parser/parse_func.c:2645 msgid "set-returning functions are not allowed in partition key expressions" msgstr "집합 반환 함수는 인덱스 식에서 사용할 수 없음" -#: parser/parse_func.c:2514 +#: parser/parse_func.c:2648 msgid "set-returning functions are not allowed in CALL arguments" msgstr "집합 반환 함수는 CALL 명령의 인자로 사용할 수 없음" -#: parser/parse_func.c:2517 +#: parser/parse_func.c:2651 msgid "set-returning functions are not allowed in COPY FROM WHERE conditions" msgstr "집합 반환 함수는 COPY FROM WHERE 조건절에 사용할 수 없음" -#: parser/parse_func.c:2520 +#: parser/parse_func.c:2654 msgid "" "set-returning functions are not allowed in column generation expressions" msgstr "집합 반환 함수는 미리 계산된 칼럼의 생성식에 사용할 수 없음" -#: parser/parse_node.c:86 +#: parser/parse_merge.c:119 #, c-format -msgid "target lists can have at most %d entries" -msgstr "대상 목록은 최대 %d 개의 항목을 지정할 수 있습니다" +msgid "WITH RECURSIVE is not supported for MERGE statement" +msgstr "MERGE 명령에서는 WITH RECURSIVE 구문을 지원하지 않습니다." -#: parser/parse_node.c:235 +#: parser/parse_merge.c:161 #, c-format -msgid "cannot subscript type %s because it is not an array" +msgid "unreachable WHEN clause specified after unconditional WHEN clause" msgstr "" -"자료형 %s 는 배열이 아니기 때문에 배열 하위 스크립트를 기술할 수 없습니다." +"WHEN 조건절 판단을 하지 못하는 상황에서 그 뒤에 오는 조건 검사는 할 수 없습니" +"다." -#: parser/parse_node.c:340 parser/parse_node.c:377 +#: parser/parse_merge.c:191 #, c-format -msgid "array subscript must have type integer" -msgstr "배열 하위 스크립트는 반드시 정수형이어야 합니다." +msgid "MERGE is not supported for relations with rules." +msgstr "MERGE 명령은 룰을 사용하는 릴레이션에서 사용할 수 없습니다." + +#: parser/parse_merge.c:208 +#, c-format +msgid "name \"%s\" specified more than once" +msgstr "\"%s\" 이름이 한번 이상 명시되어 있습니다." + +#: parser/parse_merge.c:210 +#, c-format +msgid "The name is used both as MERGE target table and data source." +msgstr "이 이름이 MERGE 타켓 테이블과 데이터 소스 두 곳 모두 사용되었습니다." + +#: parser/parse_node.c:87 +#, c-format +msgid "target lists can have at most %d entries" +msgstr "대상 목록은 최대 %d 개의 항목을 지정할 수 있습니다" -#: parser/parse_node.c:408 +#: parser/parse_oper.c:123 parser/parse_oper.c:690 #, c-format -msgid "array assignment requires type %s but expression is of type %s" -msgstr "배열할당은 자료형 %s 가 필요하지만, 현재 표현식이 %s 자료형입니다" +msgid "postfix operators are not supported" +msgstr "postfix 연산자는 지원하지 않습니다" -#: parser/parse_oper.c:125 parser/parse_oper.c:724 utils/adt/regproc.c:521 -#: utils/adt/regproc.c:705 +#: parser/parse_oper.c:130 parser/parse_oper.c:649 utils/adt/regproc.c:509 +#: utils/adt/regproc.c:683 #, c-format msgid "operator does not exist: %s" msgstr "연산자 없음: %s" -#: parser/parse_oper.c:224 +#: parser/parse_oper.c:229 #, c-format msgid "Use an explicit ordering operator or modify the query." msgstr "" "명시적으로 순차연산자(ordering operator) 를 사용하던지, 또는 query 를 수정하" "도록 하세요." -#: parser/parse_oper.c:480 +#: parser/parse_oper.c:485 #, c-format msgid "operator requires run-time type coercion: %s" msgstr "이 연산자는 실행시에 형 강제전화이 필요합니다: %s" -#: parser/parse_oper.c:716 +#: parser/parse_oper.c:641 #, c-format msgid "operator is not unique: %s" msgstr "연산자가 고유하지 않습니다: %s" -#: parser/parse_oper.c:718 +#: parser/parse_oper.c:643 #, c-format msgid "" "Could not choose a best candidate operator. You might need to add explicit " @@ -17038,7 +19274,7 @@ msgstr "" "가장 적당한 연산자를 선택할 수 없습니다. 명시적 형변환자를 추가해야 할 수도 " "있습니다." -#: parser/parse_oper.c:727 +#: parser/parse_oper.c:652 #, c-format msgid "" "No operator matches the given name and argument type. You might need to add " @@ -17047,7 +19283,7 @@ msgstr "" "지정된 이름 및 인자 형식과 일치하는 연산자가 없습니다. 명시적 형변환자를 추가" "해야 할 수도 있습니다." -#: parser/parse_oper.c:729 +#: parser/parse_oper.c:654 #, c-format msgid "" "No operator matches the given name and argument types. You might need to add " @@ -17056,52 +19292,58 @@ msgstr "" "지정된 이름 및 인자 형식과 일치하는 연산자가 없습니다. 명시적 형변환자를 추가" "해야 할 수도 있습니다." -#: parser/parse_oper.c:790 parser/parse_oper.c:912 +#: parser/parse_oper.c:714 parser/parse_oper.c:828 #, c-format msgid "operator is only a shell: %s" msgstr "연산자는 셸일 뿐임: %s" -#: parser/parse_oper.c:900 +#: parser/parse_oper.c:816 #, c-format msgid "op ANY/ALL (array) requires array on right side" msgstr "op ANY/ALL (array) 는 우측에 배열이 있어야 합니다." -#: parser/parse_oper.c:942 +#: parser/parse_oper.c:858 #, c-format msgid "op ANY/ALL (array) requires operator to yield boolean" -msgstr "op ANY/ALL (array) 는 boolean 을 얻기 위한 연산자가 필요합니다." +msgstr "op ANY/ALL (array) 는 불리언을 얻기 위한 연산자가 필요합니다." -#: parser/parse_oper.c:947 +#: parser/parse_oper.c:863 #, c-format msgid "op ANY/ALL (array) requires operator not to return a set" msgstr "op ANY/ALL (array) 는 set 을 return 하지 않는 연산자가 요구 됩니다." -#: parser/parse_param.c:216 +#: parser/parse_param.c:221 #, c-format msgid "inconsistent types deduced for parameter $%d" msgstr "inconsistent types deduced for parameter $%d" -#: parser/parse_relation.c:201 +#: parser/parse_param.c:309 tcop/postgres.c:740 +#, c-format +msgid "could not determine data type of parameter $%d" +msgstr "$%d 매개 변수의 자료형을 알수가 없습니다." + +#: parser/parse_relation.c:221 #, c-format msgid "table reference \"%s\" is ambiguous" msgstr "테이블 참조 \"%s\" 가 명확하지 않습니다 (ambiguous)." -#: parser/parse_relation.c:245 +#: parser/parse_relation.c:265 #, c-format msgid "table reference %u is ambiguous" msgstr "테이블 참조 %u 가 명확하지 않습니다 (ambiguous)." -#: parser/parse_relation.c:444 +#: parser/parse_relation.c:465 #, c-format msgid "table name \"%s\" specified more than once" msgstr "테이블 이름 \"%s\" 가 한번 이상 명시되어 있습니다." -#: parser/parse_relation.c:473 parser/parse_relation.c:3446 +#: parser/parse_relation.c:494 parser/parse_relation.c:3630 +#: parser/parse_relation.c:3639 #, c-format msgid "invalid reference to FROM-clause entry for table \"%s\"" msgstr "\"%s\" 테이블을 사용하는 FROM 절에 대한 참조가 잘못 되었습니다." -#: parser/parse_relation.c:477 parser/parse_relation.c:3451 +#: parser/parse_relation.c:498 parser/parse_relation.c:3641 #, c-format msgid "" "There is an entry for table \"%s\", but it cannot be referenced from this " @@ -17109,37 +19351,42 @@ msgid "" msgstr "" "\"%s\" 테이블에 대한 항목이 있지만 이 쿼리 부분에서 참조할 수 없습니다." -#: parser/parse_relation.c:479 +#: parser/parse_relation.c:500 #, c-format msgid "The combining JOIN type must be INNER or LEFT for a LATERAL reference." -msgstr "" +msgstr "LATERAL 옵션을 사용할 때는 그 조인 형태가 INNER 또는 LEFT여야 합니다." -#: parser/parse_relation.c:690 +#: parser/parse_relation.c:703 #, c-format msgid "system column \"%s\" reference in check constraint is invalid" msgstr "제약 조건에서 참조하는 \"%s\" 시스템 칼럼이 없음" -#: parser/parse_relation.c:699 +#: parser/parse_relation.c:712 #, c-format msgid "cannot use system column \"%s\" in column generation expression" msgstr "" "\"%s\" 칼럼은 시스템 칼럼임. 미리 계산된 칼럼의 생성식에 사용할 수 없음" -#: parser/parse_relation.c:1170 parser/parse_relation.c:1620 -#: parser/parse_relation.c:2262 +#: parser/parse_relation.c:723 +#, c-format +msgid "cannot use system column \"%s\" in MERGE WHEN condition" +msgstr "\"%s\" 칼럼은 시스템 칼럼입니다. MERGE WHEN 조건절에서 사용될 수 없음" + +#: parser/parse_relation.c:1236 parser/parse_relation.c:1691 +#: parser/parse_relation.c:2388 #, c-format msgid "table \"%s\" has %d columns available but %d columns specified" msgstr "" "테이블 \"%s\" 에는 %d 개의 칼럼이 있는데, %d 개의 칼럼만 명시되었습니다." -#: parser/parse_relation.c:1372 +#: 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 "\"%s\"(이)라는 WITH 항목이 있지만 이 쿼리 부분에서 참조할 수 없습니다." -#: parser/parse_relation.c:1374 +#: parser/parse_relation.c:1447 #, c-format msgid "" "Use WITH RECURSIVE, or re-order the WITH items to remove forward references." @@ -17147,65 +19394,106 @@ msgstr "" "WITH RECURSIVE를 사용하거나 WITH 항목의 순서를 변경하여 정방향 참조를 제거하" "십시오." -#: parser/parse_relation.c:1747 +#: parser/parse_relation.c:1834 +#, c-format +msgid "" +"a column definition list is redundant for a function with OUT parameters" +msgstr "칼럼 정의 목록이 OUT 매개 변수를 사용하는 함수에서 중복되었음" + +#: parser/parse_relation.c:1840 +#, c-format +msgid "" +"a column definition list is redundant for a function returning a named " +"composite type" +msgstr "칼럼 정의 목록이 이름 기반 복합 자료형을 반환하는 함수에서 중복되었음" + +#: parser/parse_relation.c:1847 #, c-format msgid "" "a column definition list is only allowed for functions returning \"record\"" msgstr "" -"열 정의 리스트 (column definition list) 는 오로지 \"record\" 를 리턴하는 함" -"수 내에서만 허용됩니다." +"칼럼 정의 목록는 오로지 \"record\" 를 리턴하는 함수 내에서만 허용됩니다." -#: parser/parse_relation.c:1756 +#: parser/parse_relation.c:1858 #, c-format msgid "a column definition list is required for functions returning \"record\"" -msgstr "" -"열 정의 리스트(column definition list)는 \"record\" 를 리턴하는 함수를 필요" -"로 합니다" +msgstr "칼럼 정의 목록은 \"record\" 를 리턴하는 함수를 필요로 합니다" -#: parser/parse_relation.c:1845 +#: parser/parse_relation.c:1895 +#, c-format +msgid "column definition lists can have at most %d entries" +msgstr "칼럼 정의 목록은 최대 %d 개의 항목을 지정할 수 있습니다" + +#: parser/parse_relation.c:1955 #, c-format msgid "function \"%s\" in FROM has unsupported return type %s" msgstr "" "FROM 절 내의 함수 \"%s\" 에 지원되지 않는 return 자료형 %s 이 있습니다." -#: parser/parse_relation.c:2054 +#: parser/parse_relation.c:1982 parser/parse_relation.c:2068 +#, c-format +msgid "functions in FROM can return at most %d columns" +msgstr "FROM 절에 쓰는 함수는 최대 %d개의 칼럼을 반환하는 것이여야 함" + +#: parser/parse_relation.c:2098 +#, c-format +msgid "%s function has %d columns available but %d columns specified" +msgstr "%s 함수는 %d 개의 칼럼을 반환하는데, %d 개의 칼럼만 명시되었습니다." + +#: parser/parse_relation.c:2180 #, c-format msgid "VALUES lists \"%s\" have %d columns available but %d columns specified" msgstr "" "VALUES 뒤에 오는 \"%s\" 구문에는 %d개의 칼럼이 있는데, 지정한 칼럼은 %d개 입" "니다" -#: parser/parse_relation.c:2125 +#: parser/parse_relation.c:2246 #, c-format msgid "joins can have at most %d columns" msgstr "조인에는 최대 %d개의 칼럼을 포함할 수 있음" -#: parser/parse_relation.c:2235 +#: parser/parse_relation.c:2271 #, c-format -msgid "WITH query \"%s\" does not have a RETURNING clause" +msgid "" +"join expression \"%s\" has %d columns available but %d columns specified" msgstr "" +"\"%s\" 조인식에는 %d 개의 칼럼이 있는데, %d 개의 칼럼만 명시되었습니다." -#: parser/parse_relation.c:3221 parser/parse_relation.c:3231 +#: parser/parse_relation.c:2361 #, c-format -msgid "column %d of relation \"%s\" does not exist" -msgstr "%d번째 칼럼이 없습니다. 해당 릴레이션: \"%s\"" +msgid "WITH query \"%s\" does not have a RETURNING clause" +msgstr "\"%s\" WITH 쿼리에 RETURNING 절이 없습니다." -#: parser/parse_relation.c:3449 +#: parser/parse_relation.c:3632 #, c-format msgid "Perhaps you meant to reference the table alias \"%s\"." msgstr "아 \"%s\" alias를 참조해야 할 것 같습니다." -#: parser/parse_relation.c:3457 +#: parser/parse_relation.c:3644 +#, c-format +msgid "To reference that table, you must mark this subquery with LATERAL." +msgstr "그 테이블을 참조하려면, 서브쿼리에 LATERAL 예약어를 사용하세요." + +#: parser/parse_relation.c:3650 #, c-format msgid "missing FROM-clause entry for table \"%s\"" msgstr "테이블 \"%s\"에 FROM 절이 빠져 있습니다." -#: parser/parse_relation.c:3509 +#: parser/parse_relation.c:3690 #, c-format -msgid "Perhaps you meant to reference the column \"%s.%s\"." -msgstr "아마 \"%s.%s\" 칼럼을 참조하는 것 같습니다." +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 +#, c-format +msgid "Try using a table-qualified name." +msgstr "테이블을 지정할 수 있는 이름을 사용하세요." -#: parser/parse_relation.c:3511 +#: parser/parse_relation.c:3700 #, c-format msgid "" "There is a column named \"%s\" in table \"%s\", but it cannot be referenced " @@ -17214,33 +19502,48 @@ msgstr "" "\"%s\" 이름의 칼럼이 \"%s\" 테이블에 있지만, 이 쿼리의 이 부분에서는 참조될 " "수 없습니다." -#: parser/parse_relation.c:3528 +#: parser/parse_relation.c:3703 +#, c-format +msgid "To reference that column, you must mark this subquery with LATERAL." +msgstr "해당 칼럼을 참조하려면, LATERAL 옵션이 있는 서브쿼리를 사용하세요." + +#: parser/parse_relation.c:3705 +#, c-format +msgid "To reference that column, you must use a table-qualified name." +msgstr "해당 칼럼을 참조하려면, 테이블 지정 이름을 사용하세요." + +#: parser/parse_relation.c:3725 +#, c-format +msgid "Perhaps you meant to reference the column \"%s.%s\"." +msgstr "아마 \"%s.%s\" 칼럼을 참조하는 것 같습니다." + +#: parser/parse_relation.c:3739 #, c-format msgid "" "Perhaps you meant to reference the column \"%s.%s\" or the column \"%s.%s\"." msgstr "아마 \"%s.%s\" 칼럼이나 \"%s.%s\" 칼럼을 참조하는 것 같습니다." -#: parser/parse_target.c:478 parser/parse_target.c:792 +#: parser/parse_target.c:481 parser/parse_target.c:796 #, c-format msgid "cannot assign to system column \"%s\"" msgstr "시스템 열 \"%s\"에 할당할 수 없습니다." -#: parser/parse_target.c:506 +#: parser/parse_target.c:509 #, c-format msgid "cannot set an array element to DEFAULT" msgstr "배열 요소를 DEFAULT 로 설정할 수 없습니다." -#: parser/parse_target.c:511 +#: parser/parse_target.c:514 #, c-format msgid "cannot set a subfield to DEFAULT" msgstr "하위필드를 DEFAULT로 설정할 수 없습니다." -#: parser/parse_target.c:584 +#: parser/parse_target.c:588 #, c-format msgid "column \"%s\" is of type %s but expression is of type %s" msgstr "열 \"%s\"은(는) %s 자료형인데 표현식은 %s 자료형입니다." -#: parser/parse_target.c:776 +#: parser/parse_target.c:780 #, c-format msgid "" "cannot assign to field \"%s\" of column \"%s\" because its type %s is not a " @@ -17249,7 +19552,7 @@ msgstr "" "\"%s\" 필드 (대상 열 \"%s\")를 지정할 수 없음, %s 자료형은 복합자료형이 아니" "기 때문" -#: parser/parse_target.c:785 +#: parser/parse_target.c:789 #, c-format msgid "" "cannot assign to field \"%s\" of column \"%s\" because there is no such " @@ -17258,19 +19561,20 @@ msgstr "" "\"%s\" 필드 (대상 열 \"%s\")를 지정할 수 없음, %s 자료형에서 그런 칼럼을 찾" "을 수 없음" -#: parser/parse_target.c:864 +#: parser/parse_target.c:869 #, c-format msgid "" -"array assignment to \"%s\" requires type %s but expression is of type %s" +"subscripted assignment to \"%s\" requires type %s but expression is of type " +"%s" msgstr "" -"\"%s\" 열에 사용된 자료형은 %s 가 필요하지만, 현재 표현식이 %s 자료형입니다" +"\"%s\" subscript 자료형은 %s 형이 필요하지만, 현재 표현식은 %s 자료형입니다" -#: parser/parse_target.c:874 +#: parser/parse_target.c:879 #, c-format msgid "subfield \"%s\" is of type %s but expression is of type %s" msgstr "하위필드 \"%s\" 는 %s 자료형인데 표현식은 %s 자료형입니다." -#: parser/parse_target.c:1295 +#: parser/parse_target.c:1314 #, c-format msgid "SELECT * with no tables specified is not valid" msgstr "테이블이 명시되지 않은 SELECT * 구문은 유효하지 않습니다." @@ -17292,8 +19596,8 @@ msgstr "" msgid "type reference %s converted to %s" msgstr "ype reference %s 가 %s 로 변환되었습니다." -#: parser/parse_type.c:278 parser/parse_type.c:857 utils/cache/typcache.c:383 -#: utils/cache/typcache.c:437 +#: parser/parse_type.c:278 parser/parse_type.c:813 utils/cache/typcache.c:390 +#: utils/cache/typcache.c:445 #, c-format msgid "type \"%s\" is only a shell" msgstr "자료형 \"%s\" 는 오로지 shell 에만 있습니다. " @@ -17303,12 +19607,12 @@ msgstr "자료형 \"%s\" 는 오로지 shell 에만 있습니다. " msgid "type modifier is not allowed for type \"%s\"" msgstr "\"%s\" 형식에는 형식 한정자를 사용할 수 없음" -#: parser/parse_type.c:405 +#: parser/parse_type.c:409 #, c-format msgid "type modifiers must be simple constants or identifiers" msgstr "자료형 한정자는 단순 상수 또는 식별자여야 함" -#: parser/parse_type.c:721 parser/parse_type.c:820 +#: parser/parse_type.c:723 parser/parse_type.c:773 #, c-format msgid "invalid type name \"%s\"" msgstr "\"%s\" 자료형 이름은 유효하지 않은 자료형입니다." @@ -17318,188 +19622,193 @@ msgstr "\"%s\" 자료형 이름은 유효하지 않은 자료형입니다." msgid "cannot create partitioned table as inheritance child" msgstr "상속 하위 테이블로 파티션된 테이블을 만들 수 없음" -#: parser/parse_utilcmd.c:428 -#, c-format -msgid "%s will create implicit sequence \"%s\" for serial column \"%s.%s\"" -msgstr "" -"%s 명령으로 \"%s\" 시퀀스가 자동으로 만들어짐 (\"%s.%s\" serial 열 때문)" - -#: parser/parse_utilcmd.c:559 +#: parser/parse_utilcmd.c:580 #, c-format msgid "array of serial is not implemented" msgstr "serial 배열이 구현되지 않음" -#: parser/parse_utilcmd.c:637 parser/parse_utilcmd.c:649 +#: parser/parse_utilcmd.c:659 parser/parse_utilcmd.c:671 +#: parser/parse_utilcmd.c:730 #, c-format msgid "" "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\"" msgstr "NULL/NOT NULL 선언이 서로 충돌합니다 : column \"%s\" of table \"%s\"" -#: parser/parse_utilcmd.c:661 +#: parser/parse_utilcmd.c:683 #, c-format msgid "multiple default values specified for column \"%s\" of table \"%s\"" msgstr "\"%s\" 칼럼(\"%s\" 테이블)에 대해 여러 개의 기본 값이 지정됨" -#: parser/parse_utilcmd.c:678 +#: parser/parse_utilcmd.c:700 #, c-format msgid "identity columns are not supported on typed tables" msgstr "" "식별 칼럼은 타입드 테이블(typed table - 자료형으로써 테이블)에서는 쓸 수 없음" -#: parser/parse_utilcmd.c:682 +#: parser/parse_utilcmd.c:704 #, c-format msgid "identity columns are not supported on partitions" msgstr "식별 칼럼은 파티션된 테이블에서는 사용할 수 없음" -#: parser/parse_utilcmd.c:691 +#: parser/parse_utilcmd.c:713 #, c-format msgid "multiple identity specifications for column \"%s\" of table \"%s\"" msgstr "\"%s\" 칼럼(\"%s\" 테이블)에 대해 여러 개의 식별자 지정이 사용되었음" -#: parser/parse_utilcmd.c:711 +#: parser/parse_utilcmd.c:743 #, c-format msgid "generated columns are not supported on typed tables" msgstr "" "미리 계산된 칼럼은 타입드 테이블(typed table - 자료형으로써 테이블)에서는 쓸 " "수 없음" -#: parser/parse_utilcmd.c:715 -#, c-format -msgid "generated columns are not supported on partitions" -msgstr "미리 계산된 칼럼은 파티션된 테이블에서는 사용할 수 없음" - -#: parser/parse_utilcmd.c:720 +#: parser/parse_utilcmd.c:747 #, c-format msgid "multiple generation clauses specified for column \"%s\" of table \"%s\"" msgstr "\"%s\" 칼럼(\"%s\" 테이블)에 대해 여러 개의 생성식이 지정됨" -#: parser/parse_utilcmd.c:738 parser/parse_utilcmd.c:853 +#: parser/parse_utilcmd.c:765 parser/parse_utilcmd.c:880 #, c-format msgid "primary key constraints are not supported on foreign tables" msgstr "기본키 제약 조건을 외부 테이블에서는 사용할 수 없음" -#: parser/parse_utilcmd.c:747 parser/parse_utilcmd.c:863 +#: parser/parse_utilcmd.c:774 parser/parse_utilcmd.c:890 #, c-format msgid "unique constraints are not supported on foreign tables" msgstr "유니크 제약 조건은 외부 테이블에서는 사용할 수 없음" -#: parser/parse_utilcmd.c:792 +#: parser/parse_utilcmd.c:819 #, c-format msgid "both default and identity specified for column \"%s\" of table \"%s\"" msgstr "\"%s\" 칼럼(\"%s\" 테이블)에 대해 default와 식별자 정의가 함께 있음" -#: parser/parse_utilcmd.c:800 +#: parser/parse_utilcmd.c:827 #, c-format msgid "" "both default and generation expression specified for column \"%s\" of table " "\"%s\"" -msgstr "\"%s\" 칼럼(해당 테이블 \"%s\")에 대해 default 정의와 미리 계산된 표현식이 함께 있음" +msgstr "" +"\"%s\" 칼럼(해당 테이블 \"%s\")에 대해 default 정의와 미리 계산된 표현식이 함" +"께 있음" -#: parser/parse_utilcmd.c:808 +#: parser/parse_utilcmd.c:835 #, c-format msgid "" "both identity and generation expression specified for column \"%s\" of table " "\"%s\"" -msgstr "\"%s\" 칼럼(해당 테이블 \"%s\")에 대해 identity 정의와 미리 계산된 표현식이 함께 있음" +msgstr "" +"\"%s\" 칼럼(해당 테이블 \"%s\")에 대해 identity 정의와 미리 계산된 표현식이 " +"함께 있음" -#: parser/parse_utilcmd.c:873 +#: parser/parse_utilcmd.c:900 #, c-format msgid "exclusion constraints are not supported on foreign tables" msgstr "제외 제약 조건은 외부 테이블에서는 사용할 수 없음" -#: parser/parse_utilcmd.c:879 +#: parser/parse_utilcmd.c:906 #, c-format msgid "exclusion constraints are not supported on partitioned tables" msgstr "제외 제약 조건은 파티션된 테이블에서는 사용할 수 없음" -#: parser/parse_utilcmd.c:944 +#: parser/parse_utilcmd.c:971 #, c-format msgid "LIKE is not supported for creating foreign tables" msgstr "외부 테이블을 만들 때는 LIKE 옵션을 쓸 수 없음" -#: parser/parse_utilcmd.c:1704 parser/parse_utilcmd.c:1813 +#: parser/parse_utilcmd.c:984 +#, c-format +msgid "relation \"%s\" is invalid in LIKE clause" +msgstr "\"%s\" 릴레이션은 LIKE 절에서 바르지 않음" + +#: parser/parse_utilcmd.c:1741 parser/parse_utilcmd.c:1849 #, c-format msgid "Index \"%s\" contains a whole-row table reference." -msgstr "" +msgstr "\"%s\" 인덱스는 전체 로우 테이블 참조를 포함하고 있습니다." -#: parser/parse_utilcmd.c:2163 +#: parser/parse_utilcmd.c:2236 #, c-format msgid "cannot use an existing index in CREATE TABLE" -msgstr "" +msgstr "CREATE TABLE 명령에서 이미 있는 인덱스는 사용할 수 없습니다." -#: parser/parse_utilcmd.c:2183 +#: parser/parse_utilcmd.c:2256 #, c-format msgid "index \"%s\" is already associated with a constraint" -msgstr "" +msgstr "\"%s\" 인덱스는 이미 한 제약 조건에서 사용 중입니다." -#: parser/parse_utilcmd.c:2198 +#: parser/parse_utilcmd.c:2271 #, c-format msgid "index \"%s\" is not valid" msgstr "\"%s\" 인덱스는 사용가능 상태가 아님" -#: parser/parse_utilcmd.c:2204 +#: parser/parse_utilcmd.c:2277 #, c-format msgid "\"%s\" is not a unique index" msgstr "\"%s\" 개체는 유니크 인덱스가 아닙니다" -#: parser/parse_utilcmd.c:2205 parser/parse_utilcmd.c:2212 -#: parser/parse_utilcmd.c:2219 parser/parse_utilcmd.c:2296 +#: parser/parse_utilcmd.c:2278 parser/parse_utilcmd.c:2285 +#: parser/parse_utilcmd.c:2292 parser/parse_utilcmd.c:2369 #, c-format msgid "Cannot create a primary key or unique constraint using such an index." -msgstr "" +msgstr "이 인덱스를 이용하는 기본키나 유니크 제약조건은 만들 수 없습니다." -#: parser/parse_utilcmd.c:2211 +#: parser/parse_utilcmd.c:2284 #, c-format msgid "index \"%s\" contains expressions" msgstr "\"%s\" 인덱스에 표현식이 포함되어 있음" -#: parser/parse_utilcmd.c:2218 +#: parser/parse_utilcmd.c:2291 #, c-format msgid "\"%s\" is a partial index" msgstr "\"%s\" 개체는 부분 인덱스임" -#: parser/parse_utilcmd.c:2230 +#: parser/parse_utilcmd.c:2303 #, c-format msgid "\"%s\" is a deferrable index" msgstr "\"%s\" 개체는 지연가능한 인덱스임" -#: parser/parse_utilcmd.c:2231 +#: parser/parse_utilcmd.c:2304 #, c-format msgid "Cannot create a non-deferrable constraint using a deferrable index." msgstr "" +"지연 가능한 인덱스를 사용해서 지연 불가능한 제약 조건은 만들 수 없습니다." -#: parser/parse_utilcmd.c:2295 +#: parser/parse_utilcmd.c:2368 #, c-format msgid "index \"%s\" column number %d does not have default sorting behavior" msgstr "\"%s\" 인덱스 %d 번째 칼럼의 기본 정렬 방법이 없음" -#: parser/parse_utilcmd.c:2452 +#: parser/parse_utilcmd.c:2525 #, c-format msgid "column \"%s\" appears twice in primary key constraint" msgstr "기본키 제약 조건에서 \"%s\" 칼럼이 두 번 지정되었습니다" -#: parser/parse_utilcmd.c:2458 +#: parser/parse_utilcmd.c:2531 #, c-format msgid "column \"%s\" appears twice in unique constraint" msgstr "고유 제약 조건에서 \"%s\" 칼럼이 두 번 지정되었습니다" -#: parser/parse_utilcmd.c:2811 +#: parser/parse_utilcmd.c:2878 #, c-format msgid "" "index expressions and predicates can refer only to the table being indexed" msgstr "인덱스 식 및 술어는 인덱싱되는 테이블만 참조할 수 있음" -#: parser/parse_utilcmd.c:2857 +#: parser/parse_utilcmd.c:2950 +#, c-format +msgid "statistics expressions can refer only to the table being referenced" +msgstr "통계 정보 식은 참조되는 테이블만 대상이어야 함" + +#: parser/parse_utilcmd.c:2993 #, c-format msgid "rules on materialized views are not supported" msgstr "구체화된 뷰에서의 룰은 지원하지 않음" -#: parser/parse_utilcmd.c:2920 +#: parser/parse_utilcmd.c:3053 #, c-format msgid "rule WHERE condition cannot contain references to other relations" msgstr "룰에서 지정한 WHERE 조건에 다른 릴레이션에 대한 참조를 포함할 수 없음" -#: parser/parse_utilcmd.c:2994 +#: parser/parse_utilcmd.c:3125 #, c-format msgid "" "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE " @@ -17508,232 +19817,238 @@ msgstr "" "룰에서 지정한 WHERE 조건이 있는 규칙에는 SELECT, INSERT, UPDATE 또는 DELETE " "작업만 포함할 수 있음" -#: parser/parse_utilcmd.c:3012 parser/parse_utilcmd.c:3113 -#: rewrite/rewriteHandler.c:502 rewrite/rewriteManip.c:1018 +#: parser/parse_utilcmd.c:3143 parser/parse_utilcmd.c:3244 +#: rewrite/rewriteHandler.c:539 rewrite/rewriteManip.c:1087 #, c-format msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented" msgstr "conditional UNION/INTERSECT/EXCEPT 구문은 구현되어 있지 않다" -#: parser/parse_utilcmd.c:3030 +#: parser/parse_utilcmd.c:3161 #, c-format msgid "ON SELECT rule cannot use OLD" msgstr "ON SELECT 룰은 OLD를 사용할 수 없음" -#: parser/parse_utilcmd.c:3034 +#: parser/parse_utilcmd.c:3165 #, c-format msgid "ON SELECT rule cannot use NEW" msgstr "ON SELECT 룰은 NEW를 사용할 수 없음" -#: parser/parse_utilcmd.c:3043 +#: parser/parse_utilcmd.c:3174 #, c-format msgid "ON INSERT rule cannot use OLD" msgstr "ON INSERT 룰은 OLD를 사용할 수 없음" -#: parser/parse_utilcmd.c:3049 +#: parser/parse_utilcmd.c:3180 #, c-format msgid "ON DELETE rule cannot use NEW" msgstr "ON DELETE 룰은 NEW를 사용할 수 없음" -#: parser/parse_utilcmd.c:3077 +#: parser/parse_utilcmd.c:3208 #, c-format msgid "cannot refer to OLD within WITH query" -msgstr "" +msgstr "WITH 쿼리 안에서 OLD 예약어를 참조할 수 없습니다." -#: parser/parse_utilcmd.c:3084 +#: parser/parse_utilcmd.c:3215 #, c-format msgid "cannot refer to NEW within WITH query" -msgstr "" +msgstr "WITH 쿼리 안에서 NEW 예약어를 참조할 수 없습니다." -#: parser/parse_utilcmd.c:3542 +#: parser/parse_utilcmd.c:3667 #, c-format msgid "misplaced DEFERRABLE clause" msgstr "DEFERABLE 절이 잘못 놓여져 있습니다" -#: parser/parse_utilcmd.c:3547 parser/parse_utilcmd.c:3562 +#: parser/parse_utilcmd.c:3672 parser/parse_utilcmd.c:3687 #, c-format msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed" msgstr "여러 개의 DEFERRABLE/NOT DEFERRABLE절은 사용할 수 없습니다" -#: parser/parse_utilcmd.c:3557 +#: parser/parse_utilcmd.c:3682 #, c-format msgid "misplaced NOT DEFERRABLE clause" msgstr "NOT DEFERABLE 절이 잘못 놓여 있습니다" -#: parser/parse_utilcmd.c:3570 parser/parse_utilcmd.c:3596 gram.y:5593 +#: parser/parse_utilcmd.c:3695 parser/parse_utilcmd.c:3721 gram.y:5990 #, c-format msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" msgstr "INITIALLY DEFERRED 로 선언된 조건문은 반드시 DEFERABLE 여야만 한다" -#: parser/parse_utilcmd.c:3578 +#: parser/parse_utilcmd.c:3703 #, c-format msgid "misplaced INITIALLY DEFERRED clause" msgstr "INITIALLY DEFERRED 절이 잘못 놓여 있습니다" -#: parser/parse_utilcmd.c:3583 parser/parse_utilcmd.c:3609 +#: parser/parse_utilcmd.c:3708 parser/parse_utilcmd.c:3734 #, c-format msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed" msgstr "여러 개의 INITIALLY IMMEDIATE/DEFERRED 절은 허용되지 않습니다" -#: parser/parse_utilcmd.c:3604 +#: parser/parse_utilcmd.c:3729 #, c-format msgid "misplaced INITIALLY IMMEDIATE clause" msgstr "INITIALLY IMMEDIATE 절이 잘못 놓여 있습니다" -#: parser/parse_utilcmd.c:3795 +#: parser/parse_utilcmd.c:3922 #, c-format msgid "" "CREATE specifies a schema (%s) different from the one being created (%s)" msgstr "CREATE 구문에 명시된 schema (%s) 가 생성된 (%s) 의 것과 다릅니다" -#: parser/parse_utilcmd.c:3830 +#: parser/parse_utilcmd.c:3957 #, c-format msgid "\"%s\" is not a partitioned table" msgstr "\"%s\" 개체는 파티션된 테이블이 아님" -#: parser/parse_utilcmd.c:3837 +#: parser/parse_utilcmd.c:3964 #, c-format msgid "table \"%s\" is not partitioned" msgstr "\"%s\" 테이블은 파티션되어 있지 않음" -#: parser/parse_utilcmd.c:3844 +#: parser/parse_utilcmd.c:3971 #, c-format msgid "index \"%s\" is not partitioned" msgstr "\"%s\" 인덱스는 파티션 된 인덱스가 아님" -#: parser/parse_utilcmd.c:3884 +#: parser/parse_utilcmd.c:4011 #, c-format msgid "a hash-partitioned table may not have a default partition" msgstr "해시 파티션된 테이블은 기본 파티션을 가질 수 없음" -#: parser/parse_utilcmd.c:3901 +#: parser/parse_utilcmd.c:4028 #, c-format msgid "invalid bound specification for a hash partition" msgstr "해시 파티션용 범위 명세가 잘못됨" -#: parser/parse_utilcmd.c:3907 partitioning/partbounds.c:4691 +#: parser/parse_utilcmd.c:4034 partitioning/partbounds.c:4803 #, c-format -msgid "modulus for hash partition must be a positive integer" -msgstr "" +msgid "modulus for hash partition must be an integer value greater than zero" +msgstr "해시 파티션용 모듈은 영(0)보다 큰 정수 값이어야 함" -#: parser/parse_utilcmd.c:3914 partitioning/partbounds.c:4699 +#: parser/parse_utilcmd.c:4041 partitioning/partbounds.c:4811 #, c-format msgid "remainder for hash partition must be less than modulus" msgstr "해시 파티션용 나머지 처리기는 modulus 보다 작아야 함" -#: parser/parse_utilcmd.c:3927 +#: parser/parse_utilcmd.c:4054 #, c-format msgid "invalid bound specification for a list partition" msgstr "list 파티션을 위한 범위 설정이 잘못됨" -#: parser/parse_utilcmd.c:3980 +#: parser/parse_utilcmd.c:4107 #, c-format msgid "invalid bound specification for a range partition" msgstr "range 파티션을 위한 범위 설정이 잘못됨" -#: parser/parse_utilcmd.c:3986 +#: parser/parse_utilcmd.c:4113 #, c-format msgid "FROM must specify exactly one value per partitioning column" msgstr "FROM에는 파티션 칼럼 당 딱 하나의 값만 지정해야 함" -#: parser/parse_utilcmd.c:3990 +#: parser/parse_utilcmd.c:4117 #, c-format msgid "TO must specify exactly one value per partitioning column" msgstr "TO에는 파티션 칼럼 당 딱 하나의 값만 지정해야 함" -#: parser/parse_utilcmd.c:4104 +#: parser/parse_utilcmd.c:4231 #, c-format msgid "cannot specify NULL in range bound" msgstr "range 범위에는 NULL 값을 사용할 수 없음" -#: parser/parse_utilcmd.c:4153 +#: parser/parse_utilcmd.c:4280 #, c-format msgid "every bound following MAXVALUE must also be MAXVALUE" -msgstr "" +msgstr "MAXVALUE 뒤에 오는 모든 범위는 MAXVALUE 여야합니다." -#: parser/parse_utilcmd.c:4160 +#: parser/parse_utilcmd.c:4287 #, c-format msgid "every bound following MINVALUE must also be MINVALUE" -msgstr "" - -#: parser/parse_utilcmd.c:4202 -#, c-format -msgid "" -"could not determine which collation to use for partition bound expression" -msgstr "파티션 범위 표현식에 쓸 문자 정렬 규칙을 결정할 수 없습니다" - -#: parser/parse_utilcmd.c:4219 -#, c-format -msgid "" -"collation of partition bound value for column \"%s\" does not match " -"partition key collation \"%s\"" -msgstr "" -"\"%s\" 칼럼의 파티션 범위값 정렬 규칙과 파티션 키 정렬 규칙(\"%s\")이 다름" +msgstr "MINVALUE 뒤에 오는 모든 범위는 MINVALUE 여야합니다." -#: parser/parse_utilcmd.c:4236 +#: parser/parse_utilcmd.c:4330 #, c-format msgid "specified value cannot be cast to type %s for column \"%s\"" msgstr "지정된 값은 %s 형으로 형변환 할 수 없음, 해당 칼럼: \"%s\"" -#: parser/parser.c:228 +#: parser/parser.c:273 msgid "UESCAPE must be followed by a simple string literal" -msgstr "" +msgstr "UESCAPE 표현식은 앞에 한글자만 있어야합니다." -#: parser/parser.c:233 +#: parser/parser.c:278 msgid "invalid Unicode escape character" msgstr "잘못된 유니코드 이스케이프 문자" -#: parser/parser.c:302 scan.l:1329 +#: parser/parser.c:347 scan.l:1390 #, c-format msgid "invalid Unicode escape value" msgstr "잘못된 유니코드 이스케이프 값" -#: parser/parser.c:449 scan.l:677 +#: parser/parser.c:494 utils/adt/varlena.c:6505 scan.l:701 #, c-format msgid "invalid Unicode escape" msgstr "잘못된 유니코드 이스케이프 값" -#: parser/parser.c:450 +#: parser/parser.c:495 #, c-format msgid "Unicode escapes must be \\XXXX or \\+XXXXXX." msgstr "유니코드 이스케이프는 \\XXXX 또는 \\+XXXXXX 형태여야 합니다." -#: parser/parser.c:478 scan.l:638 scan.l:654 scan.l:670 +#: parser/parser.c:523 utils/adt/varlena.c:6530 scan.l:662 scan.l:678 +#: scan.l:694 #, c-format msgid "invalid Unicode surrogate pair" msgstr "잘못된 유니코드 대리 쌍" -#: parser/scansup.c:203 +#: parser/scansup.c:101 #, c-format -msgid "identifier \"%s\" will be truncated to \"%s\"" -msgstr "\"%s\" 식별자는 \"%s\"(으)로 잘림" +msgid "identifier \"%s\" will be truncated to \"%.*s\"" +msgstr "\"%s\" 식별자는 \"%.*s\"(으)로 잘림" -#: partitioning/partbounds.c:2831 +#: partitioning/partbounds.c:2921 #, c-format msgid "partition \"%s\" conflicts with existing default partition \"%s\"" msgstr "\"%s\" 파티션이 \"%s\" 기본 파티션과 겹칩니다." -#: partitioning/partbounds.c:2890 +#: partitioning/partbounds.c:2973 partitioning/partbounds.c:2992 +#: partitioning/partbounds.c:3014 #, c-format msgid "" "every hash partition modulus must be a factor of the next larger modulus" +msgstr "모든 해시 파티션 구분값은 최대값보다 작아야합니다." + +#: partitioning/partbounds.c:2974 partitioning/partbounds.c:3015 +#, c-format +msgid "" +"The new modulus %d is not a factor of %d, the modulus of existing partition " +"\"%s\"." msgstr "" +"새 해시 파티션 구분값(나머지값) %d 값은 %d의 인수가 아닙니다. 이미 있는 \"%s" +"\" 하위 파티션은 이 값을 구분값으로 사용합니다." -#: partitioning/partbounds.c:2986 +#: partitioning/partbounds.c:2993 #, c-format -msgid "empty range bound specified for partition \"%s\"" +msgid "" +"The new modulus %d is not divisible by %d, the modulus of existing partition " +"\"%s\"." msgstr "" +"새 해시 구분값 %d 값은 %d 값으로 나눌 수 없습니다. 이미 있는 \"%s\" 하위 파티" +"션은 이 값을 나누기 값으로 사용합니다." + +#: partitioning/partbounds.c:3128 +#, c-format +msgid "empty range bound specified for partition \"%s\"" +msgstr "\"%s\" 파티션용 범위 지정이 비어있습니다." -#: partitioning/partbounds.c:2988 +#: partitioning/partbounds.c:3130 #, c-format msgid "Specified lower bound %s is greater than or equal to upper bound %s." msgstr "하한값(%s)은 상한값(%s)과 같거나 커야 합니다" -#: partitioning/partbounds.c:3085 +#: partitioning/partbounds.c:3238 #, c-format msgid "partition \"%s\" would overlap partition \"%s\"" msgstr "\"%s\" 파티션이 \"%s\" 파티션과 겹칩니다." -#: partitioning/partbounds.c:3202 +#: partitioning/partbounds.c:3355 #, c-format msgid "" "skipped scanning foreign table \"%s\" which is a partition of default " @@ -17742,47 +20057,57 @@ msgstr "" "\"%s\" 외부 테이블 탐색은 생략함, 이 테이블은 \"%s\" 기본 파티션 테이블의 파" "티션이기 때문" -#: partitioning/partbounds.c:4695 +#: partitioning/partbounds.c:4807 #, c-format -msgid "remainder for hash partition must be a non-negative integer" -msgstr "" +msgid "" +"remainder for hash partition must be an integer value greater than or equal " +"to zero" +msgstr "해시 파티션용 나머지 구분값은 0보다 크거나 같은 정수값이어야 함" -#: partitioning/partbounds.c:4722 +#: partitioning/partbounds.c:4831 #, c-format msgid "\"%s\" is not a hash partitioned table" msgstr "\"%s\" 개체는 해시 파티션된 테이블이 아님" -#: partitioning/partbounds.c:4733 partitioning/partbounds.c:4850 +#: partitioning/partbounds.c:4842 partitioning/partbounds.c:4959 #, c-format msgid "" "number of partitioning columns (%d) does not match number of partition keys " "provided (%d)" msgstr "파티션 칼럼 수: %d, 제공된 파티션 키 수: %d 서로 다름" -#: partitioning/partbounds.c:4755 partitioning/partbounds.c:4787 +#: partitioning/partbounds.c:4864 +#, c-format +msgid "" +"column %d of the partition key has type %s, but supplied value is of type %s" +msgstr "파티션 키의 %d 번째 칼럼 자료형은 %s 형이지만, %s 형의 값이 지정되었음" + +#: partitioning/partbounds.c:4896 #, c-format msgid "" "column %d of the partition key has type \"%s\", but supplied value is of " "type \"%s\"" msgstr "" +"파티션 키로 사용하는 %d 번째 칼럼의 자료형은 \"%s\" 형이지만, 지정한 값은 " +"\"%s\" 자료형을 사용했습니다." -#: port/pg_sema.c:209 port/pg_shmem.c:640 port/posix_sema.c:209 -#: port/sysv_sema.c:327 port/sysv_shmem.c:640 +#: port/pg_sema.c:209 port/pg_shmem.c:708 port/posix_sema.c:209 +#: port/sysv_sema.c:323 port/sysv_shmem.c:708 #, c-format msgid "could not stat data directory \"%s\": %m" msgstr "\"%s\" 데이터 디렉터리 상태를 파악할 수 없음: %m" -#: port/pg_shmem.c:216 port/sysv_shmem.c:216 +#: port/pg_shmem.c:223 port/sysv_shmem.c:223 #, c-format msgid "could not create shared memory segment: %m" msgstr "공유 메모리 세그먼트를 만들 수 없음: %m" -#: port/pg_shmem.c:217 port/sysv_shmem.c:217 +#: port/pg_shmem.c:224 port/sysv_shmem.c:224 #, c-format msgid "Failed system call was shmget(key=%lu, size=%zu, 0%o)." msgstr "shmget(키=%lu, 크기=%zu, 0%o) 시스템 콜 실패" -#: port/pg_shmem.c:221 port/sysv_shmem.c:221 +#: port/pg_shmem.c:228 port/sysv_shmem.c:228 #, c-format msgid "" "This error usually means that PostgreSQL's request for a shared memory " @@ -17795,7 +20120,7 @@ msgstr "" "값보다 크거나, SHMMIN 값보다 적은 경우 발생합니다.\n" "공유 메모리 설정에 대한 보다 자세한 내용은 PostgreSQL 문서를 참조하십시오." -#: port/pg_shmem.c:228 port/sysv_shmem.c:228 +#: port/pg_shmem.c:235 port/sysv_shmem.c:235 #, c-format msgid "" "This error usually means that PostgreSQL's request for a shared memory " @@ -17808,7 +20133,7 @@ msgstr "" "큰 경우 발생합니다. 커널 환경 변수인 SHMALL 값을 좀 더 크게 설정하세요.\n" "공유 메모리 설정에 대한 보다 자세한 내용은 PostgreSQL 문서를 참조하십시오." -#: port/pg_shmem.c:234 port/sysv_shmem.c:234 +#: port/pg_shmem.c:241 port/sysv_shmem.c:241 #, c-format msgid "" "This error does *not* mean that you have run out of disk space. It occurs " @@ -17824,12 +20149,17 @@ msgstr "" "확보하세요.\n" "공유 메모리 설정에 대한 보다 자세한 내용은 PostgreSQL 문서를 참조하십시오." -#: port/pg_shmem.c:578 port/sysv_shmem.c:578 +#: port/pg_shmem.c:583 port/sysv_shmem.c:583 port/win32_shmem.c:641 +#, c-format +msgid "huge_page_size must be 0 on this platform." +msgstr "huge_page_size 값은 이 플랫폼에서는 0이어야 합니다." + +#: port/pg_shmem.c:646 port/sysv_shmem.c:646 #, c-format msgid "could not map anonymous shared memory: %m" msgstr "가용 공유 메모리 확보 실패: %m" -#: port/pg_shmem.c:580 port/sysv_shmem.c:580 +#: port/pg_shmem.c:648 port/sysv_shmem.c:648 #, c-format msgid "" "This error usually means that PostgreSQL's request for a shared memory " @@ -17842,33 +20172,39 @@ msgstr "" "여 보십시오. 줄이는 방법은, shared_buffers 값을 줄이거나 max_connections 값" "을 줄여 보십시오." -#: port/pg_shmem.c:648 port/sysv_shmem.c:648 +#: port/pg_shmem.c:716 port/sysv_shmem.c:716 #, c-format msgid "huge pages not supported on this platform" msgstr "huge page 기능은 이 플랫폼에서 지원되지 않음" -#: port/pg_shmem.c:709 port/sysv_shmem.c:709 utils/init/miscinit.c:1137 +#: port/pg_shmem.c:723 port/sysv_shmem.c:723 +#, c-format +msgid "huge pages not supported with the current shared_memory_type setting" +msgstr "현재 shared_memory_type 설정은 huge page 사용을 지원하지 않습니다." + +#: port/pg_shmem.c:783 port/sysv_shmem.c:783 utils/init/miscinit.c:1351 #, c-format msgid "pre-existing shared memory block (key %lu, ID %lu) is still in use" msgstr "미리 확보된 공유 메모리 영역 (%lu 키, %lu ID)이 여전히 사용중입니다" -#: port/pg_shmem.c:712 port/sysv_shmem.c:712 utils/init/miscinit.c:1139 +#: port/pg_shmem.c:786 port/sysv_shmem.c:786 utils/init/miscinit.c:1353 #, c-format msgid "" "Terminate any old server processes associated with data directory \"%s\"." msgstr "" +"\"%s\" 데이터 디렉터리를 사용하는 옛 서버 프로세스들을 모두 중지시키세요." -#: port/sysv_sema.c:124 +#: port/sysv_sema.c:120 #, c-format msgid "could not create semaphores: %m" msgstr "세마포어를 만들 수 없음: %m" -#: port/sysv_sema.c:125 +#: port/sysv_sema.c:121 #, c-format msgid "Failed system call was semget(%lu, %d, 0%o)." msgstr "semget(%lu, %d, 0%o) 호출에 의한 시스템 콜 실패" -#: port/sysv_sema.c:129 +#: port/sysv_sema.c:125 #, c-format msgid "" "This error does *not* mean that you have run out of disk space. It occurs " @@ -17889,7 +20225,7 @@ msgstr "" "마포어 사용 수를 줄여보십시오.\n" "보다 자세한 내용은 PostgreSQL 관리자 메뉴얼을 참조 하십시오." -#: port/sysv_sema.c:159 +#: port/sysv_sema.c:155 #, c-format msgid "" "You possibly need to raise your kernel's SEMVMX value to be at least %d. " @@ -17898,38 +20234,40 @@ msgstr "" "커널의 SEMVMX 값을 적어도 %d 정도로 늘려야할 필요가 있는 것 같습니다. 자세" "한 것은 PostgreSQL 문서를 참조하세요." -#: port/win32/crashdump.c:121 +#: port/win32/crashdump.c:119 #, c-format msgid "could not load dbghelp.dll, cannot write crash dump\n" -msgstr "" +msgstr "dbghelp.dll 파일을 로드할 수 없어, 비정상 종료 정보를 기록할 수 없음\n" -#: port/win32/crashdump.c:129 +#: port/win32/crashdump.c:127 #, c-format msgid "" "could not load required functions in dbghelp.dll, cannot write crash dump\n" msgstr "" +"dbghelp.dll 파일 안에 있는 필요한 함수를 로드할 수 없어, 비정상 종료 정보를 " +"기록할 수 없음\n" -#: port/win32/crashdump.c:160 +#: port/win32/crashdump.c:158 #, c-format msgid "could not open crash dump file \"%s\" for writing: error code %lu\n" msgstr "\"%s\" 장애 덤프 파일을 쓰기 위해 열 수 없음: 오류 번호 %lu\n" -#: port/win32/crashdump.c:167 +#: port/win32/crashdump.c:165 #, c-format msgid "wrote crash dump to file \"%s\"\n" msgstr "\"%s\" 장애 덤프 파일을 만들었습니다.\n" -#: port/win32/crashdump.c:169 +#: port/win32/crashdump.c:167 #, c-format msgid "could not write crash dump to file \"%s\": error code %lu\n" msgstr "\"%s\" 장애 덤프 파일을 쓰기 실패: 오류 번호 %lu\n" -#: port/win32/signal.c:196 +#: port/win32/signal.c:240 #, c-format msgid "could not create signal listener pipe for PID %d: error code %lu" msgstr "%d pid를 위한 시그널 리슨너 파이프를 만들 수 없음: 오류 번호 %lu" -#: port/win32/signal.c:251 +#: port/win32/signal.c:295 #, c-format msgid "could not create signal listener pipe: error code %lu; retrying\n" msgstr "신호 수신기 파이프를 만들 수 없음: 오류 번호 %lu, 다시 시작 중\n" @@ -17954,169 +20292,164 @@ msgstr "세마포어 잠금을 해제할 수 없음: 오류 번호 %lu" msgid "could not try-lock semaphore: error code %lu" msgstr "세마포어 잠금 시도 실패: 오류 번호 %lu" -#: port/win32_shmem.c:144 port/win32_shmem.c:152 port/win32_shmem.c:164 -#: port/win32_shmem.c:179 +#: port/win32_shmem.c:146 port/win32_shmem.c:161 port/win32_shmem.c:173 +#: port/win32_shmem.c:189 #, c-format -msgid "could not enable Lock Pages in Memory user right: error code %lu" -msgstr "메모리 사용자 권리에서 페이지 잠금 활성화 못함: 오류 번호 %lu" +msgid "could not enable user right \"%s\": error code %lu" +msgstr "\"%s\" 사용자 권한을 활성화 할 수 없음: 오류 코드 %lu" + +#. translator: This is a term from Windows and should be translated to +#. match the Windows localization. +#. +#: port/win32_shmem.c:152 port/win32_shmem.c:161 port/win32_shmem.c:173 +#: port/win32_shmem.c:184 port/win32_shmem.c:186 port/win32_shmem.c:189 +msgid "Lock pages in memory" +msgstr "Lock pages in memory" -#: port/win32_shmem.c:145 port/win32_shmem.c:153 port/win32_shmem.c:165 -#: port/win32_shmem.c:180 +#: port/win32_shmem.c:154 port/win32_shmem.c:162 port/win32_shmem.c:174 +#: port/win32_shmem.c:190 #, c-format msgid "Failed system call was %s." -msgstr "실패한 시스템 호출 %s" +msgstr "실패한 시스템 호출: %s" -#: port/win32_shmem.c:175 +#: port/win32_shmem.c:184 #, c-format -msgid "could not enable Lock Pages in Memory user right" -msgstr "메모리 사용자 권리에서 페이지 잠금 활성화 못함" +msgid "could not enable user right \"%s\"" +msgstr "\"%s\" 사용자 권한을 활성화 할 수 없음" -#: port/win32_shmem.c:176 +#: port/win32_shmem.c:185 #, c-format msgid "" -"Assign Lock Pages in Memory user right to the Windows user account which " -"runs PostgreSQL." -msgstr "" +"Assign user right \"%s\" to the Windows user account which runs PostgreSQL." +msgstr "PostgreSQL을 실행할 윈도우즈 사용자 계정에 \"%s\" 권한을 부여하세요." -#: port/win32_shmem.c:233 +#: port/win32_shmem.c:244 #, c-format msgid "the processor does not support large pages" msgstr "프로세스가 큰 페이지를 지원하지 않음" -#: port/win32_shmem.c:235 port/win32_shmem.c:240 -#, c-format -msgid "disabling huge pages" -msgstr "큰 페이지 비활성화" - -#: port/win32_shmem.c:302 port/win32_shmem.c:338 port/win32_shmem.c:356 +#: port/win32_shmem.c:313 port/win32_shmem.c:349 port/win32_shmem.c:374 #, c-format msgid "could not create shared memory segment: error code %lu" msgstr "공유 메모리 세그먼트를 만들 수 없음: 오류 번호 %lu" -#: port/win32_shmem.c:303 +#: port/win32_shmem.c:314 #, c-format msgid "Failed system call was CreateFileMapping(size=%zu, name=%s)." msgstr "실패한 시스템 호출은 CreateFileMapping(크기=%zu, 이름=%s)입니다." -#: port/win32_shmem.c:328 +#: port/win32_shmem.c:339 #, c-format msgid "pre-existing shared memory block is still in use" msgstr "기존 공유 메모리 블록이 여전히 사용되고 있음" -#: port/win32_shmem.c:329 +#: port/win32_shmem.c:340 #, c-format msgid "" "Check if there are any old server processes still running, and terminate " "them." msgstr "실행 중인 이전 서버 프로세스가 있는지 확인하고 종료하십시오." -#: port/win32_shmem.c:339 +#: port/win32_shmem.c:350 #, c-format msgid "Failed system call was DuplicateHandle." msgstr "실패한 시스템 호출은 DuplicateHandle입니다." -#: port/win32_shmem.c:357 +#: port/win32_shmem.c:375 #, c-format msgid "Failed system call was MapViewOfFileEx." msgstr "실패한 시스템 호출은 MapViewOfFileEx입니다." -#: postmaster/autovacuum.c:406 +#: postmaster/autovacuum.c:417 #, c-format msgid "could not fork autovacuum launcher process: %m" msgstr "autovacuum 실행기 프로세스를 실행할 수 없음: %m" -#: postmaster/autovacuum.c:442 -#, c-format -msgid "autovacuum launcher started" -msgstr "autovacuum 실행기가 시작됨" - -#: postmaster/autovacuum.c:839 +#: postmaster/autovacuum.c:764 #, c-format -msgid "autovacuum launcher shutting down" -msgstr "autovacuum 실행기를 종료하는 중" +msgid "autovacuum worker took too long to start; canceled" +msgstr "autovacuum 작업자가 너무 오래전에 시작되어 중지됨" -#: postmaster/autovacuum.c:1477 +#: postmaster/autovacuum.c:1489 #, c-format msgid "could not fork autovacuum worker process: %m" msgstr "autovacuum 작업자 프로세스를 실행할 수 없음: %m" -#: postmaster/autovacuum.c:1686 -#, c-format -msgid "autovacuum: processing database \"%s\"" -msgstr "autovacuum: \"%s\" 데이터베이스 처리 중" - -#: postmaster/autovacuum.c:2256 +#: postmaster/autovacuum.c:2334 #, c-format msgid "autovacuum: dropping orphan temp table \"%s.%s.%s\"" msgstr "" "autovacuum: 더 이상 사용하지 않는 \"%s.%s.%s\" 임시 테이블을 삭제하는 중" -#: postmaster/autovacuum.c:2485 +#: postmaster/autovacuum.c:2570 #, c-format msgid "automatic vacuum of table \"%s.%s.%s\"" msgstr "\"%s.%s.%s\" 테이블 대상으로 자동 vacuum 작업 함" -#: postmaster/autovacuum.c:2488 +#: postmaster/autovacuum.c:2573 #, c-format msgid "automatic analyze of table \"%s.%s.%s\"" msgstr "\"%s.%s.%s\" 테이블 자동 분석" -#: postmaster/autovacuum.c:2681 +#: postmaster/autovacuum.c:2767 #, c-format msgid "processing work entry for relation \"%s.%s.%s\"" msgstr "\"%s.%s.%s\" 릴레이션 작업 항목 작업 중" -#: postmaster/autovacuum.c:3285 +#: postmaster/autovacuum.c:3381 #, c-format msgid "autovacuum not started because of misconfiguration" msgstr "서버 설정 정보가 잘못되어 자동 청소 작업이 실행되지 못했습니다." -#: postmaster/autovacuum.c:3286 +#: postmaster/autovacuum.c:3382 #, c-format msgid "Enable the \"track_counts\" option." msgstr "\"track_counts\" 옵션을 사용하십시오." -#: postmaster/bgworker.c:394 postmaster/bgworker.c:841 -#, c-format -msgid "registering background worker \"%s\"" -msgstr "" - -#: postmaster/bgworker.c:426 +#: postmaster/bgworker.c:259 #, c-format -msgid "unregistering background worker \"%s\"" +msgid "" +"inconsistent background worker state (max_worker_processes=%d, total_slots=" +"%d)" msgstr "" +"백그라운드 작업자의 정합성이 맞지 않음 (max_worker_processes=%d, total_slots=" +"%d)" -#: postmaster/bgworker.c:591 +#: postmaster/bgworker.c:669 #, c-format msgid "" -"background worker \"%s\": must attach to shared memory in order to request a " -"database connection" +"background worker \"%s\": background workers without shared memory access " +"are not supported" msgstr "" +"\"%s\" 백그라운드 작업자: 공유 메모리 접근 않는 백그라운드 작업자를 지원하지 " +"않음" -#: postmaster/bgworker.c:600 +#: postmaster/bgworker.c:680 #, c-format msgid "" "background worker \"%s\": cannot request database access if starting at " "postmaster start" msgstr "" +"\"%s\" 백그라운드 작업자: postmaster 시작 중인 상태라면, 데이터베이스 접근을 " +"요청할 수 없음" -#: postmaster/bgworker.c:614 +#: postmaster/bgworker.c:694 #, c-format msgid "background worker \"%s\": invalid restart interval" msgstr "\"%s\" 백그라운드 작업자: 잘못된 재실행 간격" -#: postmaster/bgworker.c:629 +#: postmaster/bgworker.c:709 #, c-format msgid "" "background worker \"%s\": parallel workers may not be configured for restart" msgstr "\"%s\" 백그라운드 작업자: 이 병렬 작업자는 재실행 설정이 없음" -#: postmaster/bgworker.c:653 +#: postmaster/bgworker.c:733 tcop/postgres.c:3255 #, c-format msgid "terminating background worker \"%s\" due to administrator command" msgstr "관리자 명령에 의해 \"%s\" 백그라운드 작업자를 종료합니다." -#: postmaster/bgworker.c:849 +#: postmaster/bgworker.c:890 #, c-format msgid "" "background worker \"%s\": must be registered in shared_preload_libraries" @@ -18124,7 +20457,7 @@ msgstr "" "\"%s\" 백그라운드 작업자: 먼저 shared_preload_libraries 설정값으로 등록되어" "야 합니다." -#: postmaster/bgworker.c:861 +#: postmaster/bgworker.c:902 #, c-format msgid "" "background worker \"%s\": only dynamic background workers can request " @@ -18132,281 +20465,130 @@ msgid "" msgstr "" "\"%s\" 백그라운드 작업자: 동적 백그라운드 작업자만 알림을 요청할 수 있음" -#: postmaster/bgworker.c:876 +#: postmaster/bgworker.c:917 #, c-format msgid "too many background workers" msgstr "백그라운드 작업자가 너무 많음" -#: postmaster/bgworker.c:877 +#: postmaster/bgworker.c:918 #, c-format msgid "Up to %d background worker can be registered with the current settings." msgid_plural "" "Up to %d background workers can be registered with the current settings." msgstr[0] "현재 설정으로는 %d개의 백그라운드 작업자를 사용할 수 있습니다." -#: postmaster/bgworker.c:881 +#: postmaster/bgworker.c:922 #, c-format msgid "" "Consider increasing the configuration parameter \"max_worker_processes\"." msgstr "\"max_worker_processes\" 환경 매개 변수 값을 좀 느려보십시오." -#: postmaster/checkpointer.c:418 +#: postmaster/checkpointer.c:431 #, c-format msgid "checkpoints are occurring too frequently (%d second apart)" msgid_plural "checkpoints are occurring too frequently (%d seconds apart)" msgstr[0] "체크포인트가 너무 자주 발생함 (%d초 간격)" -#: postmaster/checkpointer.c:422 +#: postmaster/checkpointer.c:435 #, c-format msgid "Consider increasing the configuration parameter \"max_wal_size\"." msgstr "\"max_wal_size\" 환경 매개 변수 값을 좀 느려보십시오." -#: postmaster/checkpointer.c:1032 +#: postmaster/checkpointer.c:1059 #, c-format msgid "checkpoint request failed" -msgstr "체크포인트 요청 실패" - -#: postmaster/checkpointer.c:1033 -#, c-format -msgid "Consult recent messages in the server log for details." -msgstr "더 자세한 것은 서버 로그 파일을 살펴보십시오." - -#: postmaster/checkpointer.c:1217 -#, c-format -msgid "compacted fsync request queue from %d entries to %d entries" -msgstr "" - -#: postmaster/pgarch.c:155 -#, c-format -msgid "could not fork archiver: %m" -msgstr "archiver 할당(fork) 실패: %m" - -#: postmaster/pgarch.c:425 -#, c-format -msgid "archive_mode enabled, yet archive_command is not set" -msgstr "archive_mode가 사용 설정되었는데 archive_command가 설정되지 않음" - -#: postmaster/pgarch.c:447 -#, c-format -msgid "removed orphan archive status file \"%s\"" -msgstr "필요 없는 \"%s\" 아카이브 상태 파일이 삭제됨" - -#: postmaster/pgarch.c:457 -#, c-format -msgid "" -"removal of orphan archive status file \"%s\" failed too many times, will try " -"again later" -msgstr "" -"필요 없는 \"%s\" 아카이브 상태 파일 삭제 작업이 계속 실패하고 있습니다. 다음" -"에 또 시도할 것입니다." - -#: postmaster/pgarch.c:493 -#, c-format -msgid "" -"archiving write-ahead log file \"%s\" failed too many times, will try again " -"later" -msgstr "" -"\"%s\" 트랜잭션 로그 파일 아카이브 작업이 계속 실패하고 있습니다. 다음에 또 " -"시도할 것입니다." - -#: postmaster/pgarch.c:594 -#, c-format -msgid "archive command failed with exit code %d" -msgstr "아카이브 명령 실패, 종료 코드: %d" - -#: postmaster/pgarch.c:596 postmaster/pgarch.c:606 postmaster/pgarch.c:612 -#: postmaster/pgarch.c:621 -#, c-format -msgid "The failed archive command was: %s" -msgstr "실패한 아카이브 명령: %s" - -#: postmaster/pgarch.c:603 -#, c-format -msgid "archive command was terminated by exception 0x%X" -msgstr "0x%X 예외로 인해 아카이브 명령이 종료됨" - -#: postmaster/pgarch.c:605 postmaster/postmaster.c:3742 -#, c-format -msgid "" -"See C include file \"ntstatus.h\" for a description of the hexadecimal value." -msgstr "16진수 값에 대한 설명은 C 포함 파일 \"ntstatus.h\"를 참조하십시오." - -#: postmaster/pgarch.c:610 -#, c-format -msgid "archive command was terminated by signal %d: %s" -msgstr "%d번 시그널로 인해 아카이브 명령이 종료됨: %s" - -#: postmaster/pgarch.c:619 -#, c-format -msgid "archive command exited with unrecognized status %d" -msgstr "아카이브 명령이 인식할 수 없는 %d 상태로 종료됨" - -#: postmaster/pgstat.c:419 -#, c-format -msgid "could not resolve \"localhost\": %s" -msgstr "\"localhost\" 이름의 호스트 IP를 구할 수 없습니다: %s" - -#: postmaster/pgstat.c:442 -#, c-format -msgid "trying another address for the statistics collector" -msgstr "통계 수집기에서 사용할 다른 주소를 찾습니다" - -#: postmaster/pgstat.c:451 -#, c-format -msgid "could not create socket for statistics collector: %m" -msgstr "통계 수집기에서 사용할 소켓을 만들 수 없습니다: %m" - -#: postmaster/pgstat.c:463 -#, c-format -msgid "could not bind socket for statistics collector: %m" -msgstr "통계 수집기에서 사용할 소켓과 bind할 수 없습니다: %m" - -#: postmaster/pgstat.c:474 -#, c-format -msgid "could not get address of socket for statistics collector: %m" -msgstr "통계 수집기에서 사용할 소켓의 주소를 구할 수 없습니다: %m" - -#: postmaster/pgstat.c:490 -#, c-format -msgid "could not connect socket for statistics collector: %m" -msgstr "통계 수집기에서 사용할 소켓에 연결할 수 없습니다: %m" - -#: postmaster/pgstat.c:511 -#, c-format -msgid "could not send test message on socket for statistics collector: %m" -msgstr "통계 수집기에서 사용할 소켓으로 테스트 메시지를 보낼 수 없습니다: %m" - -#: postmaster/pgstat.c:537 -#, c-format -msgid "select() failed in statistics collector: %m" -msgstr "통계 수집기에서 select() 작업 오류: %m" - -#: postmaster/pgstat.c:552 -#, c-format -msgid "test message did not get through on socket for statistics collector" -msgstr "통계 수집기에서 사용할 소켓으로 테스트 메시지를 처리할 수 없습니다" - -#: postmaster/pgstat.c:567 -#, c-format -msgid "could not receive test message on socket for statistics collector: %m" -msgstr "통계 수집기에서 사용할 소켓으로 테스트 메시지를 받을 수 없습니다: %m" - -#: postmaster/pgstat.c:577 -#, c-format -msgid "incorrect test message transmission on socket for statistics collector" -msgstr "통계 수집기에서 사용할 소켓으로 잘못된 테스트 메시지가 전달 되었습니다" - -#: postmaster/pgstat.c:600 -#, c-format -msgid "could not set statistics collector socket to nonblocking mode: %m" -msgstr "" -"통계 수집기에서 사용하는 소켓 모드를 nonblocking 모드로 지정할 수 없습니다: " -"%m" - -#: postmaster/pgstat.c:642 -#, c-format -msgid "disabling statistics collector for lack of working socket" -msgstr "현재 작업 소켓의 원할한 소통을 위해 통계 수집기 기능을 중지합니다" - -#: postmaster/pgstat.c:789 -#, c-format -msgid "could not fork statistics collector: %m" -msgstr "통계 수집기를 fork할 수 없습니다: %m" - -#: postmaster/pgstat.c:1376 -#, c-format -msgid "unrecognized reset target: \"%s\"" -msgstr "알 수 없는 리셋 타겟: \"%s\"" - -#: postmaster/pgstat.c:1377 -#, c-format -msgid "Target must be \"archiver\" or \"bgwriter\"." -msgstr "사용 가능한 타겟은 \"archiver\" 또는 \"bgwriter\"" +msgstr "체크포인트 요청 실패" -#: postmaster/pgstat.c:4561 +#: postmaster/checkpointer.c:1060 #, c-format -msgid "could not read statistics message: %m" -msgstr "통계 메시지를 읽을 수 없음: %m" +msgid "Consult recent messages in the server log for details." +msgstr "더 자세한 것은 서버 로그 파일을 살펴보십시오." -#: postmaster/pgstat.c:4883 postmaster/pgstat.c:5046 +#: postmaster/pgarch.c:416 #, c-format -msgid "could not open temporary statistics file \"%s\": %m" -msgstr "\"%s\" 임시 통계 파일을 열 수 없음: %m" +msgid "archive_mode enabled, yet archiving is not configured" +msgstr "archive_mode가 활성화 되었는데 아카이브 관련 세부 설정이 되어있지 않음" -#: postmaster/pgstat.c:4956 postmaster/pgstat.c:5091 +#: postmaster/pgarch.c:438 #, c-format -msgid "could not write temporary statistics file \"%s\": %m" -msgstr "\"%s\" 임시 통계 파일에 쓰기 실패: %m" +msgid "removed orphan archive status file \"%s\"" +msgstr "필요 없는 \"%s\" 아카이브 상태 파일이 삭제됨" -#: postmaster/pgstat.c:4965 postmaster/pgstat.c:5100 +#: postmaster/pgarch.c:448 #, c-format -msgid "could not close temporary statistics file \"%s\": %m" -msgstr "\"%s\" 임시 통계 파일을 닫을 수 없습니다: %m" +msgid "" +"removal of orphan archive status file \"%s\" failed too many times, will try " +"again later" +msgstr "" +"필요 없는 \"%s\" 아카이브 상태 파일 삭제 작업이 계속 실패하고 있습니다. 다음" +"에 또 시도할 것입니다." -#: postmaster/pgstat.c:4973 postmaster/pgstat.c:5108 +#: postmaster/pgarch.c:484 #, c-format -msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m" -msgstr "\"%s\" 임시 통계 파일 이름을 \"%s\" (으)로 바꿀 수 없습니다: %m" +msgid "" +"archiving write-ahead log file \"%s\" failed too many times, will try again " +"later" +msgstr "" +"\"%s\" 트랜잭션 로그 파일 아카이브 작업이 계속 실패하고 있습니다. 다음에 또 " +"시도할 것입니다." -#: postmaster/pgstat.c:5205 postmaster/pgstat.c:5422 postmaster/pgstat.c:5576 +#: postmaster/pgarch.c:791 postmaster/pgarch.c:830 #, c-format -msgid "could not open statistics file \"%s\": %m" -msgstr "\"%s\" 통계 파일을 열 수 없음: %m" +msgid "both archive_command and archive_library set" +msgstr "archive_command, archive_library 두 설정 모두 값을 지정했습니다." -#: postmaster/pgstat.c:5217 postmaster/pgstat.c:5227 postmaster/pgstat.c:5248 -#: postmaster/pgstat.c:5259 postmaster/pgstat.c:5281 postmaster/pgstat.c:5296 -#: postmaster/pgstat.c:5359 postmaster/pgstat.c:5434 postmaster/pgstat.c:5454 -#: postmaster/pgstat.c:5472 postmaster/pgstat.c:5488 postmaster/pgstat.c:5506 -#: postmaster/pgstat.c:5522 postmaster/pgstat.c:5588 postmaster/pgstat.c:5600 -#: postmaster/pgstat.c:5612 postmaster/pgstat.c:5623 postmaster/pgstat.c:5648 -#: postmaster/pgstat.c:5670 +#: postmaster/pgarch.c:792 postmaster/pgarch.c:831 #, c-format -msgid "corrupted statistics file \"%s\"" -msgstr "\"%s\" 통계 파일이 손상되었음" +msgid "Only one of archive_command, archive_library may be set." +msgstr "archive_command, archive_library 둘 중 하나만 지정하세요." -#: postmaster/pgstat.c:5799 +#: postmaster/pgarch.c:809 #, c-format msgid "" -"using stale statistics instead of current ones because stats collector is " -"not responding" +"restarting archiver process because value of \"archive_library\" was changed" msgstr "" -"현재 통계 수집기가 반응하지 않아 부정확한 통계정보가 사용되고 있습니다." +"\"archive_library\" 설정값이 바뀌어서 archiver 프로세스를 다시 시작 합니다." + +#: postmaster/pgarch.c:846 +#, c-format +msgid "archive modules have to define the symbol %s" +msgstr "아카이브 모듈은 %s 심볼을 정의해야합니다." -#: postmaster/pgstat.c:6129 +#: postmaster/pgarch.c:852 #, c-format -msgid "database hash table corrupted during cleanup --- abort" -msgstr "정리하는 동안 데이터베이스 해시 테이블이 손상 되었습니다 --- 중지함" +msgid "archive modules must register an archive callback" +msgstr "아카이브 모듈은 아카이브 콜백 함수를 등록해야합니다." -#: postmaster/postmaster.c:733 +#: postmaster/postmaster.c:759 #, c-format msgid "%s: invalid argument for option -f: \"%s\"\n" msgstr "%s: -f 옵션의 잘못된 인자: \"%s\"\n" -#: postmaster/postmaster.c:819 +#: postmaster/postmaster.c:832 #, c-format msgid "%s: invalid argument for option -t: \"%s\"\n" msgstr "%s: -t 옵션의 잘못된 인자: \"%s\"\n" -#: postmaster/postmaster.c:870 +#: postmaster/postmaster.c:855 #, c-format msgid "%s: invalid argument: \"%s\"\n" msgstr "%s: 잘못된 인자: \"%s\"\n" -#: postmaster/postmaster.c:912 +#: postmaster/postmaster.c:923 #, c-format msgid "" -"%s: superuser_reserved_connections (%d) must be less than max_connections " -"(%d)\n" +"%s: superuser_reserved_connections (%d) plus reserved_connections (%d) must " +"be less than max_connections (%d)\n" msgstr "" -"%s: superuser_reserved_connections (%d) 값은 max_connections(%d) 값보다 작아" -"야함\n" +"%s: superuser_reserved_connections (%d) 값 + reserved_connections (%d) 값은 " +"max_connections(%d) 값보다 작아야함\n" -#: postmaster/postmaster.c:919 +#: postmaster/postmaster.c:931 #, c-format msgid "WAL archival cannot be enabled when wal_level is \"minimal\"" msgstr "wal_level 값이 \"minimal\"일 때는 아카이브 작업을 할 수 없습니다." -#: postmaster/postmaster.c:922 +#: postmaster/postmaster.c:934 #, c-format msgid "" "WAL streaming (max_wal_senders > 0) requires wal_level \"replica\" or " @@ -18415,93 +20597,98 @@ msgstr "" "WAL 스트리밍 작업(max_wal_senders > 0 인경우)은 wal_level 값이 \"replica\" 또" "는 \"logical\" 이어야 합니다." -#: postmaster/postmaster.c:930 +#: postmaster/postmaster.c:942 #, c-format msgid "%s: invalid datetoken tables, please fix\n" msgstr "%s: 잘못된 datetoken 테이블들, 복구하십시오.\n" -#: postmaster/postmaster.c:1047 +#: postmaster/postmaster.c:1099 #, c-format msgid "could not create I/O completion port for child queue" msgstr "하위 대기열에 대해 I/O 완료 포트를 만들 수 없음" -#: postmaster/postmaster.c:1113 +#: postmaster/postmaster.c:1175 #, c-format msgid "ending log output to stderr" msgstr "stderr 쪽 로그 출력을 중지합니다." -#: postmaster/postmaster.c:1114 +#: postmaster/postmaster.c:1176 #, c-format msgid "Future log output will go to log destination \"%s\"." msgstr "자세한 로그는 \"%s\" 쪽으로 기록됩니다." -#: postmaster/postmaster.c:1125 +#: postmaster/postmaster.c:1187 #, c-format msgid "starting %s" -msgstr "" +msgstr "%s 서버를 시작합니다." -#: postmaster/postmaster.c:1154 postmaster/postmaster.c:1252 -#: utils/init/miscinit.c:1597 -#, c-format -msgid "invalid list syntax in parameter \"%s\"" -msgstr "\"%s\" 매개 변수 구문이 잘못 되었습니다" - -#: postmaster/postmaster.c:1185 +#: postmaster/postmaster.c:1239 #, c-format msgid "could not create listen socket for \"%s\"" msgstr "\"%s\" 응당 소켓을 만들 수 없습니다" -#: postmaster/postmaster.c:1191 +#: postmaster/postmaster.c:1245 #, c-format msgid "could not create any TCP/IP sockets" msgstr "TCP/IP 소켓을 만들 수 없습니다." -#: postmaster/postmaster.c:1274 +#: postmaster/postmaster.c:1277 +#, c-format +msgid "DNSServiceRegister() failed: error code %ld" +msgstr "DNSServiceRegister() 실패: 오류 코드 %ld" + +#: postmaster/postmaster.c:1328 #, c-format msgid "could not create Unix-domain socket in directory \"%s\"" msgstr "\"%s\" 디렉터리에 유닉스 도메인 소켓을 만들 수 없습니다" -#: postmaster/postmaster.c:1280 +#: postmaster/postmaster.c:1334 #, c-format msgid "could not create any Unix-domain sockets" msgstr "유닉스 도메인 소켓을 만들 수 없습니다" -#: postmaster/postmaster.c:1292 +#: postmaster/postmaster.c:1345 #, c-format msgid "no socket created for listening" msgstr "서버 접속 대기 작업을 위한 소켓을 만들 수 없음" -#: postmaster/postmaster.c:1323 +#: postmaster/postmaster.c:1376 #, c-format msgid "%s: could not change permissions of external PID file \"%s\": %s\n" msgstr "%s: \"%s\" 외부 PID 파일의 접근 권한을 바꿀 수 없음: %s\n" -#: postmaster/postmaster.c:1327 +#: postmaster/postmaster.c:1380 #, c-format msgid "%s: could not write external PID file \"%s\": %s\n" msgstr "%s: 외부 pid 파일 \"%s\" 를 쓸 수 없음: %s\n" -#: postmaster/postmaster.c:1360 utils/init/postinit.c:215 +#. translator: %s is a configuration file +#: postmaster/postmaster.c:1408 utils/init/postinit.c:221 #, c-format -msgid "could not load pg_hba.conf" -msgstr "pg_hba.conf를 로드할 수 없음" +msgid "could not load %s" +msgstr "%s 파일을 로드 할 수 없음" -#: postmaster/postmaster.c:1386 +#: postmaster/postmaster.c:1434 #, c-format msgid "postmaster became multithreaded during startup" -msgstr "" +msgstr "포스트마스터가 시작하면서 멀티쓰레드 환경이 되었습니다." -#: postmaster/postmaster.c:1387 +#: postmaster/postmaster.c:1435 #, c-format msgid "Set the LC_ALL environment variable to a valid locale." msgstr "LC_ALL 환경 설정값으로 알맞은 로케일 이름을 지정하세요." -#: postmaster/postmaster.c:1488 +#: postmaster/postmaster.c:1536 +#, c-format +msgid "%s: could not locate my own executable path" +msgstr "%s: 실행 가능 경로를 확정할 수 없음" + +#: postmaster/postmaster.c:1543 #, c-format msgid "%s: could not locate matching postgres executable" msgstr "%s: 실행가능한 postgres 프로그램을 찾을 수 없습니다" -#: postmaster/postmaster.c:1511 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 " @@ -18510,7 +20697,7 @@ msgstr "" "이 문제는 PostgreSQL 설치가 불완전하게 되었거나, \"%s\" 파일이 올바른 위치에 " "있지 않아서 발생했습니다." -#: postmaster/postmaster.c:1538 +#: postmaster/postmaster.c:1593 #, c-format msgid "" "%s: could not find the database system\n" @@ -18521,640 +20708,576 @@ msgstr "" "\"%s\" 디렉터리 안에 해당 자료가 있기를 기대했는데,\n" "\"%s\" 파일을 열 수가 없었습니다: %s\n" -#: postmaster/postmaster.c:1715 +#. translator: %s is SIGKILL or SIGABRT +#: postmaster/postmaster.c:1890 #, c-format -msgid "select() failed in postmaster: %m" -msgstr "postmaster에서 select() 작동 실패: %m" +msgid "issuing %s to recalcitrant children" +msgstr "하위 프로세스 정리를 위해 %s 신호 보냄" -#: postmaster/postmaster.c:1870 +#: postmaster/postmaster.c:1912 #, c-format msgid "" "performing immediate shutdown because data directory lock file is invalid" -msgstr "" +msgstr "데이터 디렉터리 잠금 파일이 잘못되어 즉시 종료 작업을 진행합니다." -#: postmaster/postmaster.c:1973 postmaster/postmaster.c:2004 +#: postmaster/postmaster.c:1987 postmaster/postmaster.c:2015 #, c-format msgid "incomplete startup packet" msgstr "아직 완료되지 않은 시작 패킷" -#: postmaster/postmaster.c:1985 +#: postmaster/postmaster.c:1999 postmaster/postmaster.c:2032 #, c-format msgid "invalid length of startup packet" msgstr "시작 패킷의 길이가 잘못 되었습니다" -#: postmaster/postmaster.c:2043 +#: postmaster/postmaster.c:2061 #, c-format msgid "failed to send SSL negotiation response: %m" msgstr "SSL 연결 작업에 오류가 발생했습니다: %m" -#: postmaster/postmaster.c:2074 +#: postmaster/postmaster.c:2079 +#, c-format +msgid "received unencrypted data after SSL request" +msgstr "SSL 요청 뒤에 암호화 되지 않은 데이터를 받았음" + +#: postmaster/postmaster.c:2080 postmaster/postmaster.c:2124 +#, c-format +msgid "" +"This could be either a client-software bug or evidence of an attempted man-" +"in-the-middle attack." +msgstr "" +"이 현상은 클라이언트 소프트웨어 버그이거나, 중간자 공격으로 발생했을 것입니" +"다." + +#: postmaster/postmaster.c:2105 #, c-format msgid "failed to send GSSAPI negotiation response: %m" msgstr "GSSAPI 협상 응답을 보내지 못했습니다: %m" -#: postmaster/postmaster.c:2104 +#: postmaster/postmaster.c:2123 +#, c-format +msgid "received unencrypted data after GSSAPI encryption request" +msgstr "GSSAPI 암호화 요청 뒤에 암호화 되지 않은 데이터를 받았습니다." + +#: postmaster/postmaster.c:2147 #, c-format msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u" msgstr "" "지원하지 않는 frontend 프로토콜 %u.%u: 서버에서 지원하는 프로토콜 %u.0 .. %u." "%u" -#: postmaster/postmaster.c:2168 utils/misc/guc.c:6769 utils/misc/guc.c:6805 -#: utils/misc/guc.c:6875 utils/misc/guc.c:8198 utils/misc/guc.c:11044 -#: utils/misc/guc.c:11078 -#, c-format -msgid "invalid value for parameter \"%s\": \"%s\"" -msgstr "잘못된 \"%s\" 매개 변수의 값: \"%s\"" - -#: postmaster/postmaster.c:2171 +#: postmaster/postmaster.c:2214 #, c-format msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"." -msgstr "" +msgstr "사용할 수 있는 값: \"false\", 0, \"true\", 1, \"database\"." -#: postmaster/postmaster.c:2216 +#: postmaster/postmaster.c:2255 #, c-format msgid "invalid startup packet layout: expected terminator as last byte" msgstr "잘못된 시작 패킷 레이아웃: 마지막 바이트로 종결문자가 발견되었음" -#: postmaster/postmaster.c:2254 +#: postmaster/postmaster.c:2272 #, c-format msgid "no PostgreSQL user name specified in startup packet" msgstr "시작 패킷에서 지정한 사용자는 PostgreSQL 사용자 이름이 아닙니다" -#: postmaster/postmaster.c:2318 +#: postmaster/postmaster.c:2336 #, c-format msgid "the database system is starting up" msgstr "데이터베이스 시스템이 새로 가동 중입니다." -#: postmaster/postmaster.c:2323 +#: postmaster/postmaster.c:2342 +#, c-format +msgid "the database system is not yet accepting connections" +msgstr "해당 데이터베이스 시스템은 아직 접속을 허용하지 않습니다." + +#: postmaster/postmaster.c:2343 +#, c-format +msgid "Consistent recovery state has not been yet reached." +msgstr "일관성 복원 작업을 아직 끝내지 못했습니다." + +#: postmaster/postmaster.c:2347 +#, c-format +msgid "the database system is not accepting connections" +msgstr "해당 데이터베이스 시스템은 접속을 허용하지 않습니다." + +#: postmaster/postmaster.c:2348 +#, c-format +msgid "Hot standby mode is disabled." +msgstr "Hot standby 모드가 비활성화 되었습니다." + +#: postmaster/postmaster.c:2353 #, c-format msgid "the database system is shutting down" msgstr "데이터베이스 시스템이 중지 중입니다" -#: postmaster/postmaster.c:2328 +#: postmaster/postmaster.c:2358 #, c-format msgid "the database system is in recovery mode" msgstr "데이터베이스 시스템이 자동 복구 작업 중입니다." -#: postmaster/postmaster.c:2333 storage/ipc/procarray.c:293 -#: storage/ipc/sinvaladt.c:297 storage/lmgr/proc.c:362 +#: postmaster/postmaster.c:2363 storage/ipc/procarray.c:491 +#: storage/ipc/sinvaladt.c:306 storage/lmgr/proc.c:353 #, c-format msgid "sorry, too many clients already" msgstr "최대 동시 접속자 수를 초과했습니다." -#: postmaster/postmaster.c:2423 +#: postmaster/postmaster.c:2450 #, c-format msgid "wrong key in cancel request for process %d" msgstr "프로세스 %d에 대한 취소 요청에 잘못된 키가 있음" -#: postmaster/postmaster.c:2435 +#: postmaster/postmaster.c:2462 #, c-format msgid "PID %d in cancel request did not match any process" msgstr "취소 요청의 PID %d과(와) 일치하는 프로세스가 없음" -#: postmaster/postmaster.c:2706 +#: postmaster/postmaster.c:2729 #, c-format msgid "received SIGHUP, reloading configuration files" msgstr "SIGHUP 신호를 받아서, 환경설정파일을 다시 읽고 있습니다." #. translator: %s is a configuration file -#: postmaster/postmaster.c:2732 postmaster/postmaster.c:2736 +#: postmaster/postmaster.c:2753 postmaster/postmaster.c:2757 #, c-format msgid "%s was not reloaded" msgstr "%s 파일을 다시 불러오지 않았음" -#: postmaster/postmaster.c:2746 +#: postmaster/postmaster.c:2767 #, c-format msgid "SSL configuration was not reloaded" msgstr "SSL 설정이 다시 로드되지 않았음" -#: postmaster/postmaster.c:2802 +#: postmaster/postmaster.c:2857 #, c-format msgid "received smart shutdown request" msgstr "smart 중지 요청을 받았습니다." -#: postmaster/postmaster.c:2848 +#: postmaster/postmaster.c:2898 #, c-format msgid "received fast shutdown request" msgstr "fast 중지 요청을 받았습니다." -#: postmaster/postmaster.c:2866 +#: postmaster/postmaster.c:2916 #, c-format msgid "aborting any active transactions" msgstr "모든 활성화 되어있는 트랜잭션을 중지하고 있습니다." -#: postmaster/postmaster.c:2890 +#: postmaster/postmaster.c:2940 #, c-format msgid "received immediate shutdown request" msgstr "immediate 중지 요청을 받았습니다." -#: postmaster/postmaster.c:2965 +#: postmaster/postmaster.c:3016 #, c-format msgid "shutdown at recovery target" msgstr "복구 타겟에서 중지함" -#: postmaster/postmaster.c:2983 postmaster/postmaster.c:3019 +#: postmaster/postmaster.c:3034 postmaster/postmaster.c:3070 msgid "startup process" msgstr "시작 프로세스" -#: postmaster/postmaster.c:2986 +#: postmaster/postmaster.c:3037 #, c-format msgid "aborting startup due to startup process failure" msgstr "시작 프로세스 실패 때문에 서버 시작이 중지 되었습니다" -#: postmaster/postmaster.c:3061 +#: postmaster/postmaster.c:3110 #, c-format msgid "database system is ready to accept connections" msgstr "이제 데이터베이스 서버로 접속할 수 있습니다" -#: postmaster/postmaster.c:3082 +#: postmaster/postmaster.c:3131 msgid "background writer process" msgstr "백그라운드 writer 프로세스" -#: postmaster/postmaster.c:3136 +#: postmaster/postmaster.c:3178 msgid "checkpointer process" msgstr "체크포인트 프로세스" -#: postmaster/postmaster.c:3152 +#: postmaster/postmaster.c:3194 msgid "WAL writer process" msgstr "WAL 쓰기 프로세스" -#: postmaster/postmaster.c:3167 +#: postmaster/postmaster.c:3209 msgid "WAL receiver process" msgstr "WAL 수신 프로세스" -#: postmaster/postmaster.c:3182 +#: postmaster/postmaster.c:3224 msgid "autovacuum launcher process" msgstr "autovacuum 실행기 프로세스" -#: postmaster/postmaster.c:3197 +#: postmaster/postmaster.c:3242 msgid "archiver process" msgstr "archiver 프로세스" -#: postmaster/postmaster.c:3213 -msgid "statistics collector process" -msgstr "통계 수집기 프로세스" - -#: postmaster/postmaster.c:3227 +#: postmaster/postmaster.c:3255 msgid "system logger process" msgstr "시스템 로그 프로세스" -#: postmaster/postmaster.c:3291 +#: postmaster/postmaster.c:3312 #, c-format msgid "background worker \"%s\"" msgstr "백그라운드 작업자 \"%s\"" -#: postmaster/postmaster.c:3375 postmaster/postmaster.c:3395 -#: postmaster/postmaster.c:3402 postmaster/postmaster.c:3420 +#: postmaster/postmaster.c:3391 postmaster/postmaster.c:3411 +#: postmaster/postmaster.c:3418 postmaster/postmaster.c:3436 msgid "server process" msgstr "서버 프로세스" -#: postmaster/postmaster.c:3474 +#: postmaster/postmaster.c:3490 #, c-format msgid "terminating any other active server processes" msgstr "다른 활성화 되어있는 서버 프로세스를 마치고 있는 중입니다" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3729 +#: postmaster/postmaster.c:3665 #, c-format msgid "%s (PID %d) exited with exit code %d" msgstr "%s (PID %d) 프로그램은 %d 코드로 마쳤습니다" -#: postmaster/postmaster.c:3731 postmaster/postmaster.c:3743 -#: postmaster/postmaster.c:3753 postmaster/postmaster.c:3764 +#: 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 "" +msgstr "프로세스 실행 실패: %s" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3740 +#: postmaster/postmaster.c:3676 #, c-format msgid "%s (PID %d) was terminated by exception 0x%X" msgstr "%s (PID %d) 프로세스가 0x%X 예외로 인해 종료됨" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3750 +#: postmaster/postmaster.c:3686 #, c-format msgid "%s (PID %d) was terminated by signal %d: %s" msgstr "%s (PID %d) 프로세스가 %d번 시그널을 받아 종료됨: %s" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3762 +#: postmaster/postmaster.c:3698 #, c-format msgid "%s (PID %d) exited with unrecognized status %d" msgstr "%s (PID %d) 프로세스가 인식할 수 없는 %d 상태로 종료됨" -#: postmaster/postmaster.c:3970 +#: postmaster/postmaster.c:3906 #, c-format msgid "abnormal database system shutdown" msgstr "비정상적인 데이터베이스 시스템 서비스를 중지" -#: postmaster/postmaster.c:4010 +#: postmaster/postmaster.c:3932 +#, c-format +msgid "shutting down due to startup process failure" +msgstr "시작 작업 실패로 중지합니다." + +#: postmaster/postmaster.c:3938 +#, c-format +msgid "shutting down because restart_after_crash is off" +msgstr "restart_after_crash 값이 off 로 지정되어 중지합니다." + +#: postmaster/postmaster.c:3950 #, c-format msgid "all server processes terminated; reinitializing" msgstr "모든 서버 프로세스가 중지 되었습니다; 재 초기화 중" -#: postmaster/postmaster.c:4180 postmaster/postmaster.c:5599 -#: postmaster/postmaster.c:5986 +#: postmaster/postmaster.c:4144 postmaster/postmaster.c:5462 +#: postmaster/postmaster.c:5860 #, c-format msgid "could not generate random cancel key" msgstr "무작위 취소 키를 만들 수 없음" -#: postmaster/postmaster.c:4234 +#: postmaster/postmaster.c:4206 #, c-format msgid "could not fork new process for connection: %m" msgstr "연결을 위한 새 프로세스 할당(fork) 실패: %m" -#: postmaster/postmaster.c:4276 +#: postmaster/postmaster.c:4248 msgid "could not fork new process for connection: " msgstr "연결을 위한 새 프로세스 할당(fork) 실패: " -#: postmaster/postmaster.c:4393 +#: postmaster/postmaster.c:4354 #, c-format msgid "connection received: host=%s port=%s" msgstr "접속 수락: host=%s port=%s" -#: postmaster/postmaster.c:4398 +#: postmaster/postmaster.c:4359 #, c-format msgid "connection received: host=%s" msgstr "접속 수락: host=%s" -#: postmaster/postmaster.c:4668 +#: postmaster/postmaster.c:4596 #, c-format msgid "could not execute server process \"%s\": %m" msgstr "\"%s\" 서버 프로세스를 실행할 수 없음: %m" -#: postmaster/postmaster.c:4827 +#: postmaster/postmaster.c:4654 +#, c-format +msgid "could not create backend parameter file mapping: error code %lu" +msgstr "백엔드 매개 변수 맵핑 파일을 만들 수 없음: 오류 코드 %lu" + +#: postmaster/postmaster.c:4663 +#, c-format +msgid "could not map backend parameter memory: error code %lu" +msgstr "백엔드 매개 변수 메모리를 맵핑할 수 없음: 오류 코드 %lu" + +#: postmaster/postmaster.c:4690 +#, c-format +msgid "subprocess command line too long" +msgstr "서브프로세스 명령행이 너무 깁니다." + +#: postmaster/postmaster.c:4708 +#, c-format +msgid "CreateProcess() call failed: %m (error code %lu)" +msgstr "CreateProcess() 호출 실패: %m (오류 코드 %lu)" + +#: postmaster/postmaster.c:4735 +#, c-format +msgid "could not unmap view of backend parameter file: error code %lu" +msgstr "백엔드 매개 변수 파일의 view를 unmap할 수 없음: 오류 코드 %lu" + +#: postmaster/postmaster.c:4739 +#, c-format +msgid "could not close handle to backend parameter file: error code %lu" +msgstr "백엔드 매개 변수 파일을 닫을 수 없음: 오류 코드 %lun" + +#: postmaster/postmaster.c:4761 #, c-format msgid "giving up after too many tries to reserve shared memory" msgstr "공유 메모리 확보 작업을 여러 번 시도했으나 실패 함" -#: postmaster/postmaster.c:4828 +#: postmaster/postmaster.c:4762 #, c-format msgid "This might be caused by ASLR or antivirus software." msgstr "이 현상은 ASLR 또는 바이러스 검사 소프트웨어 때문일 수 있습니다." -#: postmaster/postmaster.c:5034 +#: postmaster/postmaster.c:4935 #, c-format msgid "SSL configuration could not be loaded in child process" msgstr "하위 프로세스에서 SSL 환경 설정을 못했음" -#: postmaster/postmaster.c:5166 +#: postmaster/postmaster.c:5060 #, c-format msgid "Please report this to <%s>." msgstr "이 내용을 <%s> 주소로 보고하십시오." -#: postmaster/postmaster.c:5259 +#: postmaster/postmaster.c:5128 #, c-format -msgid "database system is ready to accept read only connections" +msgid "database system is ready to accept read-only connections" msgstr "데이터베이스 시스템이 읽기 전용으로 연결을 수락할 준비가 되었습니다." -#: postmaster/postmaster.c:5527 +#: postmaster/postmaster.c:5386 #, c-format msgid "could not fork startup process: %m" msgstr "시작 프로세스 할당(fork) 실패: %m" -#: postmaster/postmaster.c:5531 +#: postmaster/postmaster.c:5390 +#, c-format +msgid "could not fork archiver process: %m" +msgstr "archiver 프로세스를 할당(fork)할 수 없음: %m" + +#: postmaster/postmaster.c:5394 #, c-format msgid "could not fork background writer process: %m" -msgstr "백그라운 writer 프로세스를 할당(fork)할 수 없습니다: %m" +msgstr "background writer 프로세스를 할당(fork)할 수 없습니다: %m" -#: postmaster/postmaster.c:5535 +#: postmaster/postmaster.c:5398 #, c-format msgid "could not fork checkpointer process: %m" -msgstr "체크포인트 프로세스를 할당(fork)할 수 없습니다: %m" +msgstr "checkpointer 프로세스를 할당(fork)할 수 없습니다: %m" -#: postmaster/postmaster.c:5539 +#: postmaster/postmaster.c:5402 #, c-format msgid "could not fork WAL writer process: %m" -msgstr "WAL 쓰기 프로세스를 할당(fork)할 수 없음: %m" +msgstr "WAL writer 프로세스를 할당(fork)할 수 없음: %m" -#: postmaster/postmaster.c:5543 +#: postmaster/postmaster.c:5406 #, c-format msgid "could not fork WAL receiver process: %m" msgstr "WAL 수신 프로세스를 할당(fork)할 수 없음: %m" -#: postmaster/postmaster.c:5547 +#: postmaster/postmaster.c:5410 #, c-format msgid "could not fork process: %m" msgstr "프로세스 할당(fork) 실패: %m" -#: postmaster/postmaster.c:5744 postmaster/postmaster.c:5767 +#: postmaster/postmaster.c:5611 postmaster/postmaster.c:5638 #, c-format msgid "database connection requirement not indicated during registration" msgstr "" +"백그라운드 프로세스 초기화 중에 데이터베이스 연결 요구 사항이 충족되지 않았습" +"니다." -#: postmaster/postmaster.c:5751 postmaster/postmaster.c:5774 +#: postmaster/postmaster.c:5622 postmaster/postmaster.c:5649 #, c-format msgid "invalid processing mode in background worker" msgstr "백그라운드 작업자에서 잘못된 프로세싱 모드가 사용됨" -#: postmaster/postmaster.c:5847 -#, c-format -msgid "starting background worker process \"%s\"" -msgstr "\"%s\" 백그라운드 작업자 프로세스를 시작합니다." - -#: postmaster/postmaster.c:5859 +#: postmaster/postmaster.c:5734 #, c-format msgid "could not fork worker process: %m" msgstr "작업자 프로세스를 할당(fork)할 수 없음: %m" -#: postmaster/postmaster.c:5972 +#: postmaster/postmaster.c:5846 #, c-format msgid "no slot available for new worker process" msgstr "새 작업자 프로세스에서 쓸 슬롯이 없음" -#: postmaster/postmaster.c:6307 +#: postmaster/postmaster.c:6177 #, c-format msgid "could not duplicate socket %d for use in backend: error code %d" msgstr "백엔드에서 사용하기 위해 %d 소켓을 복사할 수 없음: 오류 코드 %d" -#: postmaster/postmaster.c:6339 +#: postmaster/postmaster.c:6209 #, c-format msgid "could not create inherited socket: error code %d\n" msgstr "상속된 소켓을 만들 수 없음: 오류 코드 %d\n" -#: postmaster/postmaster.c:6368 +#: postmaster/postmaster.c:6238 #, c-format msgid "could not open backend variables file \"%s\": %s\n" msgstr "\"%s\" 백엔드 변수 파일을 열 수 없음: %s\n" -#: postmaster/postmaster.c:6375 +#: postmaster/postmaster.c:6245 #, c-format msgid "could not read from backend variables file \"%s\": %s\n" msgstr "\"%s\" 백엔드 변수 파일을 읽을 수 없음: %s\n" -#: postmaster/postmaster.c:6384 +#: postmaster/postmaster.c:6254 #, c-format msgid "could not remove file \"%s\": %s\n" msgstr "\"%s\" 파일을 삭제할 수 없음: %s\n" -#: postmaster/postmaster.c:6401 +#: postmaster/postmaster.c:6271 #, c-format msgid "could not map view of backend variables: error code %lu\n" msgstr "백엔드 변수 파일의 view를 map할 수 없음: 오류 코드 %lu\n" -#: postmaster/postmaster.c:6410 +#: postmaster/postmaster.c:6280 #, c-format msgid "could not unmap view of backend variables: error code %lu\n" msgstr "백엔드 변수 파일의 view를 unmap할 수 없음: 오류 코드 %lu\n" -#: postmaster/postmaster.c:6417 +#: postmaster/postmaster.c:6287 #, c-format msgid "could not close handle to backend parameter variables: error code %lu\n" msgstr "백엔드 변수 파일을 닫을 수 없음: 오류 코드 %lu\n" -#: postmaster/postmaster.c:6595 +#: postmaster/postmaster.c:6446 #, c-format msgid "could not read exit code for process\n" msgstr "프로세스의 종료 코드를 읽을 수 없음\n" -#: postmaster/postmaster.c:6600 +#: postmaster/postmaster.c:6488 #, c-format msgid "could not post child completion status\n" msgstr "하위 완료 상태를 게시할 수 없음\n" -#: postmaster/syslogger.c:474 postmaster/syslogger.c:1153 +#: postmaster/syslogger.c:501 postmaster/syslogger.c:1222 #, c-format msgid "could not read from logger pipe: %m" msgstr "로그 파이프에서 읽기 실패: %m" -#: postmaster/syslogger.c:522 -#, c-format -msgid "logger shutting down" -msgstr "로그 작업 끝내는 중" - -#: postmaster/syslogger.c:571 postmaster/syslogger.c:585 +#: postmaster/syslogger.c:598 postmaster/syslogger.c:612 #, c-format msgid "could not create pipe for syslog: %m" msgstr "syslog에서 사용할 파이프를 만들 수 없습니다: %m" -#: postmaster/syslogger.c:636 +#: postmaster/syslogger.c:677 #, c-format msgid "could not fork system logger: %m" msgstr "시스템 로거(logger)를 확보하질 못 했습니다: %m" -#: postmaster/syslogger.c:672 +#: postmaster/syslogger.c:713 #, c-format msgid "redirecting log output to logging collector process" msgstr "서버 로그를 로그 수집 프로세스로 보냅니다." -#: postmaster/syslogger.c:673 +#: postmaster/syslogger.c:714 #, c-format msgid "Future log output will appear in directory \"%s\"." msgstr "이제부터 서버 로그는 \"%s\" 디렉터리에 보관됩니다." -#: postmaster/syslogger.c:681 +#: postmaster/syslogger.c:722 #, c-format msgid "could not redirect stdout: %m" msgstr "표준출력을 redirect 하지 못했습니다: %m" -#: postmaster/syslogger.c:686 postmaster/syslogger.c:703 +#: postmaster/syslogger.c:727 postmaster/syslogger.c:744 #, c-format msgid "could not redirect stderr: %m" msgstr "표준오류(stderr)를 redirect 하지 못했습니다: %m" -#: postmaster/syslogger.c:1108 +#: postmaster/syslogger.c:1177 #, c-format msgid "could not write to log file: %s\n" msgstr "로그파일 쓰기 실패: %s\n" -#: postmaster/syslogger.c:1225 +#: postmaster/syslogger.c:1295 #, c-format msgid "could not open log file \"%s\": %m" msgstr "\"%s\" 잠금파일을 열 수 없음: %m" -#: postmaster/syslogger.c:1287 postmaster/syslogger.c:1337 +#: postmaster/syslogger.c:1385 #, c-format msgid "disabling automatic rotation (use SIGHUP to re-enable)" msgstr "" "로그파일 자동 교체 기능을 금지합니다(교체하려면 SIGHUP 시그널을 사용함)" -#: regex/regc_pg_locale.c:262 +#: regex/regc_pg_locale.c:242 #, c-format msgid "could not determine which collation to use for regular expression" -msgstr "정규식을 사용해서 사용할 정렬규칙(collation)을 찾을 수 없음" +msgstr "정규식 처리에 쓰일 정렬규칙(collation)을 찾을 수 없음" -#: regex/regc_pg_locale.c:269 +#: regex/regc_pg_locale.c:265 #, c-format msgid "nondeterministic collations are not supported for regular expressions" -msgstr "정규식을 사용해서 사용할 정렬규칙(collation)을 찾을 수 없음" - -#: replication/backup_manifest.c:231 -#, c-format -msgid "expected end timeline %u but found timeline %u" -msgstr "%u 타임라인이 끝이어야하는데, %u 타임라인임" - -#: replication/backup_manifest.c:248 -#, c-format -msgid "expected start timeline %u but found timeline %u" -msgstr "" -"시작 타임라인이 %u 여야하는데, %u 타임라인임" - -#: replication/backup_manifest.c:275 -#, c-format -msgid "start timeline %u not found in history of timeline %u" -msgstr "" -"%u 시작 타임라인이 %u 타임라인 내역안에 없음" - -#: replication/backup_manifest.c:322 -#, c-format -msgid "could not rewind temporary file" -msgstr "임시 파일을 되감을 수 없음" - -#: replication/backup_manifest.c:349 -#, c-format -msgid "could not read from temporary file: %m" -msgstr "임시 파일을 읽을 수 없음: %m" - -#: replication/basebackup.c:108 -#, c-format -msgid "could not read from file \"%s\"" -msgstr "\"%s\" 파일을 읽을 수 없음" - -#: replication/basebackup.c:551 -#, c-format -msgid "could not find any WAL files" -msgstr "어떤 WAL 파일도 찾을 수 없음" - -#: replication/basebackup.c:566 replication/basebackup.c:582 -#: replication/basebackup.c:591 -#, c-format -msgid "could not find WAL file \"%s\"" -msgstr "\"%s\" WAL 파일 찾기 실패" - -#: replication/basebackup.c:634 replication/basebackup.c:665 -#, c-format -msgid "unexpected WAL file size \"%s\"" -msgstr "\"%s\" WAL 파일의 크기가 알맞지 않음" - -#: replication/basebackup.c:648 replication/basebackup.c:1752 -#, c-format -msgid "base backup could not send data, aborting backup" -msgstr "베이스 백업에서 자료를 보낼 수 없음. 백업을 중지합니다." - -#: replication/basebackup.c:724 -#, c-format -msgid "%lld total checksum verification failure" -msgid_plural "%lld total checksum verification failures" -msgstr[0] "%lld 전체 체크섬 검사 실패" - -#: replication/basebackup.c:731 -#, c-format -msgid "checksum verification failure during base backup" -msgstr "베이스 백업 중 체크섬 검사 실패" - -#: replication/basebackup.c:784 replication/basebackup.c:793 -#: replication/basebackup.c:802 replication/basebackup.c:811 -#: replication/basebackup.c:820 replication/basebackup.c:831 -#: replication/basebackup.c:848 replication/basebackup.c:857 -#: replication/basebackup.c:869 replication/basebackup.c:893 -#, c-format -msgid "duplicate option \"%s\"" -msgstr "\"%s\" 옵션을 두 번 지정했습니다" - -#: replication/basebackup.c:837 -#, c-format -msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)" -msgstr "" -"%d 값은 \"%s\" 매개 변수의 값으로 타당한 범위(%d .. %d)를 벗어났습니다." - -#: replication/basebackup.c:882 -#, c-format -msgid "unrecognized manifest option: \"%s\"" -msgstr "인식할 수 없는 메니페스트 옵션 \"%s\"" - -#: replication/basebackup.c:898 -#, c-format -msgid "unrecognized checksum algorithm: \"%s\"" -msgstr "알 수 없는 체크섬 알고리즘: \"%s\"" - -#: replication/basebackup.c:913 -#, c-format -msgid "manifest checksums require a backup manifest" -msgstr "" - -#: replication/basebackup.c:1504 -#, c-format -msgid "skipping special file \"%s\"" -msgstr "\"%s\" 특수 파일을 건너뜀" - -#: replication/basebackup.c:1623 -#, c-format -msgid "invalid segment number %d in file \"%s\"" -msgstr "잘못된 조각 번호 %d, 해당 파일: \"%s\"" - -#: replication/basebackup.c:1642 -#, c-format -msgid "" -"could not verify checksum in file \"%s\", block %d: read buffer size %d and " -"page size %d differ" -msgstr "" - -#: replication/basebackup.c:1686 replication/basebackup.c:1716 -#, c-format -msgid "could not fseek in file \"%s\": %m" -msgstr "\"%s\" 파일에서 fseek 작업을 할 수 없음: %m" - -#: replication/basebackup.c:1708 -#, c-format -msgid "could not reread block %d of file \"%s\": %m" -msgstr "%d 블럭을 \"%s\" 파일에서 다시 읽을 수 없음: %m" - -#: replication/basebackup.c:1732 -#, c-format -msgid "" -"checksum verification failed in file \"%s\", block %d: calculated %X but " -"expected %X" -msgstr "" -"\"%s\" 파일 체크섬 검사 실패(해당 블럭 %d): 계산된 체크섬은 %X 값이지만, 기" -"대값 %X" +msgstr "정규식 처리에 쓰일 비결정 정렬규칙(collation)을 지원하지 않음" -#: replication/basebackup.c:1739 +#: replication/libpqwalreceiver/libpqwalreceiver.c:197 +#: replication/libpqwalreceiver/libpqwalreceiver.c:280 #, c-format -msgid "" -"further checksum verification failures in file \"%s\" will not be reported" -msgstr "" - -#: replication/basebackup.c:1807 -#, 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 건 체크섬 검사 실패" +msgid "password is required" +msgstr "비밀번호가 필요함" -#: replication/basebackup.c:1843 +#: replication/libpqwalreceiver/libpqwalreceiver.c:198 #, c-format -msgid "file name too long for tar format: \"%s\"" -msgstr "tar 파일로 묶기에는 파일 이름이 너무 긺: \"%s\"" +msgid "Non-superuser cannot connect if the server does not request a password." +msgstr "해당 서버로 비밀번호 없이 접속한다며, 일반 사용자는 접속할 수 없음" -#: replication/basebackup.c:1848 +#: replication/libpqwalreceiver/libpqwalreceiver.c:199 #, c-format msgid "" -"symbolic link target too long for tar format: file name \"%s\", target \"%s\"" +"Target server's authentication method must be changed, or set " +"password_required=false in the subscription parameters." msgstr "" -"tar 포멧을 사용하기에는 심볼릭 링크의 대상 경로가 너무 깁니다: 파일 이름 \"%s" -"\", 대상 \"%s\"" +"대상 서버의 인증 방법을 바꾸거나, 또는 구독 속성으로 password_required=false " +"로 지정하세요." -#: replication/libpqwalreceiver/libpqwalreceiver.c:227 +#: replication/libpqwalreceiver/libpqwalreceiver.c:211 #, c-format msgid "could not clear search path: %s" msgstr "search path를 지울 수 없음: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:251 +#: replication/libpqwalreceiver/libpqwalreceiver.c:257 #, c-format msgid "invalid connection string syntax: %s" msgstr "잘못된 연결 문자열 구문: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:275 +#: replication/libpqwalreceiver/libpqwalreceiver.c:281 +#, c-format +msgid "Non-superusers must provide a password in the connection string." +msgstr "일반 사용자로 접속한다면, 연결 문자열에 비밀번호를 지정하세요." + +#: replication/libpqwalreceiver/libpqwalreceiver.c:307 #, c-format msgid "could not parse connection string: %s" msgstr "접속 문자열을 분석할 수 없음: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:347 +#: replication/libpqwalreceiver/libpqwalreceiver.c:380 #, c-format msgid "" "could not receive database system identifier and timeline ID from the " @@ -19162,13 +21285,13 @@ msgid "" msgstr "" "주 서버에서 데이터베이스 시스템 식별번호와 타임라인 번호를 받을 수 없음: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:358 -#: replication/libpqwalreceiver/libpqwalreceiver.c:576 +#: replication/libpqwalreceiver/libpqwalreceiver.c:392 +#: replication/libpqwalreceiver/libpqwalreceiver.c:635 #, c-format msgid "invalid response from primary server" msgstr "주 서버에서 잘못된 응답이 왔음" -#: replication/libpqwalreceiver/libpqwalreceiver.c:359 +#: replication/libpqwalreceiver/libpqwalreceiver.c:393 #, c-format msgid "" "Could not identify system: got %d rows and %d fields, expected %d rows and " @@ -19177,159 +21300,198 @@ msgstr "" "시스템을 식별할 수 없음: 로우수 %d, 필드수 %d, 예상값: 로우수 %d, 필드수 %d " "이상" -#: replication/libpqwalreceiver/libpqwalreceiver.c:432 -#: replication/libpqwalreceiver/libpqwalreceiver.c:438 -#: replication/libpqwalreceiver/libpqwalreceiver.c:463 +#: replication/libpqwalreceiver/libpqwalreceiver.c:478 +#: replication/libpqwalreceiver/libpqwalreceiver.c:485 +#: replication/libpqwalreceiver/libpqwalreceiver.c:515 #, c-format msgid "could not start WAL streaming: %s" msgstr "WAL 스트리밍 작업을 시작할 수 없음: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:486 +#: replication/libpqwalreceiver/libpqwalreceiver.c:539 #, c-format msgid "could not send end-of-streaming message to primary: %s" msgstr "주 서버로 스트리밍 종료 메시지를 보낼 수 없음: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:508 +#: replication/libpqwalreceiver/libpqwalreceiver.c:562 #, c-format msgid "unexpected result set after end-of-streaming" msgstr "스트리밍 종료 요청에 대한 잘못된 응답을 받음" -#: replication/libpqwalreceiver/libpqwalreceiver.c:522 +#: replication/libpqwalreceiver/libpqwalreceiver.c:577 #, c-format msgid "error while shutting down streaming COPY: %s" msgstr "COPY 스트리밍 종료 중 오류 발생: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:531 +#: replication/libpqwalreceiver/libpqwalreceiver.c:587 #, c-format msgid "error reading result of streaming command: %s" msgstr "스트리밍 명령에 대한 결과 처리에서 오류 발생: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:539 -#: replication/libpqwalreceiver/libpqwalreceiver.c:773 +#: replication/libpqwalreceiver/libpqwalreceiver.c:596 +#: replication/libpqwalreceiver/libpqwalreceiver.c:832 #, c-format msgid "unexpected result after CommandComplete: %s" msgstr "CommandComplete 작업 후 예상치 못한 결과를 받음: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:565 +#: replication/libpqwalreceiver/libpqwalreceiver.c:623 #, c-format msgid "could not receive timeline history file from the primary server: %s" msgstr "주 서버에서 타임라인 내역 파일을 받을 수 없음: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:577 +#: replication/libpqwalreceiver/libpqwalreceiver.c:636 #, c-format msgid "Expected 1 tuple with 2 fields, got %d tuples with %d fields." msgstr "2개의 칼럼으로 된 하나의 튜플을 예상하지만, %d 튜플 (%d 칼럼)을 수신함" -#: replication/libpqwalreceiver/libpqwalreceiver.c:737 -#: replication/libpqwalreceiver/libpqwalreceiver.c:788 -#: replication/libpqwalreceiver/libpqwalreceiver.c:794 +#: replication/libpqwalreceiver/libpqwalreceiver.c:795 +#: replication/libpqwalreceiver/libpqwalreceiver.c:848 +#: replication/libpqwalreceiver/libpqwalreceiver.c:855 #, c-format msgid "could not receive data from WAL stream: %s" msgstr "WAL 스트림에서 자료 받기 실패: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:813 +#: replication/libpqwalreceiver/libpqwalreceiver.c:875 #, c-format msgid "could not send data to WAL stream: %s" msgstr "WAL 스트림에 데이터를 보낼 수 없음: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:866 +#: replication/libpqwalreceiver/libpqwalreceiver.c:967 #, c-format msgid "could not create replication slot \"%s\": %s" msgstr "\"%s\" 복제 슬롯을 만들 수 없음: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:911 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1013 #, c-format msgid "invalid query response" msgstr "잘못된 쿼리 응답" -#: replication/libpqwalreceiver/libpqwalreceiver.c:912 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1014 #, c-format msgid "Expected %d fields, got %d fields." msgstr "%d개의 칼럼을 예상하지만, %d개의 칼럼을 수신함" -#: replication/libpqwalreceiver/libpqwalreceiver.c:981 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1084 #, c-format msgid "the query interface requires a database connection" msgstr "이 쿼리 인터페이스는 데이터베이스 연결이 필요합니다" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1012 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1115 msgid "empty query" msgstr "빈 쿼리" -#: replication/logical/launcher.c:295 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1121 +msgid "unexpected pipeline mode" +msgstr "예기치 않은 파이프라인 모드" + +#: replication/logical/applyparallelworker.c:719 +#, c-format +msgid "" +"logical replication parallel apply worker for subscription \"%s\" has " +"finished" +msgstr "\"%s\" 구독을 위한 논리 복제 병렬 반영 작업자가 일을 끝냄" + +#: replication/logical/applyparallelworker.c:825 +#, c-format +msgid "lost connection to the logical replication apply worker" +msgstr "논리 복제 반영 작업자 연결 끊김" + +#: replication/logical/applyparallelworker.c:1027 +#: replication/logical/applyparallelworker.c:1029 +msgid "logical replication parallel apply worker" +msgstr "논리 복제 병렬 반영 작업자" + +#: replication/logical/applyparallelworker.c:1043 +#, c-format +msgid "logical replication parallel apply worker exited due to error" +msgstr "논리 복제 병렬 반영 작업자가 오류로 종료되었음" + +#: replication/logical/applyparallelworker.c:1130 +#: replication/logical/applyparallelworker.c:1303 +#, c-format +msgid "lost connection to the logical replication parallel apply worker" +msgstr "논리 복제 병렬 반영 작업자 연결 끊김" + +#: replication/logical/applyparallelworker.c:1183 +#, c-format +msgid "could not send data to shared-memory queue" +msgstr "공유 메모리 큐로 데이터를 보낼 수 없음" + +#: replication/logical/applyparallelworker.c:1218 #, c-format -msgid "starting logical replication worker for subscription \"%s\"" -msgstr "\"%s\" 구독을 위해 논리 복제 작업자를 시작합니다" +msgid "" +"logical replication apply worker will serialize the remaining changes of " +"remote transaction %u to a file" +msgstr "" +"논리 복제 반영 작업자는 %u 원격 트랜잭션의 남아 있는 변경 사항을 파일로 직렬" +"화 할 것입니다." + +#: replication/logical/decode.c:180 replication/logical/logical.c:140 +#, c-format +msgid "" +"logical decoding on standby requires wal_level >= logical on the primary" +msgstr "" +"대기 서버에서 논리적 디코딩은 주서버 설정이 wal_level >= logical 이어야 함" -#: replication/logical/launcher.c:302 +#: replication/logical/launcher.c:331 #, c-format msgid "cannot start logical replication workers when max_replication_slots = 0" msgstr "" "max_replication_slots = 0 설정 때문에 논리 복제 작업자를 시작 할 수 없습니다" -#: replication/logical/launcher.c:382 +#: replication/logical/launcher.c:424 #, c-format msgid "out of logical replication worker slots" msgstr "더 이상의 논리 복제 작업자용 슬롯이 없습니다" -#: replication/logical/launcher.c:383 +#: 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 #, c-format -msgid "You might need to increase max_logical_replication_workers." -msgstr "max_logical_replication_workers 값을 늘리세요." +msgid "You might need to increase %s." +msgstr "%s 설정값을 늘릴 필요가 있습니다." -#: replication/logical/launcher.c:438 +#: replication/logical/launcher.c:498 #, c-format msgid "out of background worker slots" msgstr "백그라운 작업자 슬롯이 모자랍니다" -#: replication/logical/launcher.c:439 -#, c-format -msgid "You might need to increase max_worker_processes." -msgstr "max_worker_processes 값을 늘리세요." - -#: replication/logical/launcher.c:638 +#: replication/logical/launcher.c:705 #, c-format msgid "logical replication worker slot %d is empty, cannot attach" -msgstr "" +msgstr "%d 번 논리 복제 작업자 슬롯이 비어있습니다, 붙일 수 없습니다." -#: replication/logical/launcher.c:647 +#: replication/logical/launcher.c:714 #, c-format msgid "" "logical replication worker slot %d is already used by another worker, cannot " "attach" msgstr "" +"%d 번 논리 복제 작업자 슬롯을 이미 다른 작업자가 쓰고 있습니다. 붙일 수 없습" +"니다." -#: replication/logical/launcher.c:951 -#, c-format -msgid "logical replication launcher started" -msgstr "논리 복제 관리자가 시작됨" - -#: replication/logical/logical.c:87 +#: replication/logical/logical.c:120 #, c-format msgid "logical decoding requires wal_level >= logical" msgstr "논리적 디코딩 기능은 wal_level 값이 logical 이상이어야 함" -#: replication/logical/logical.c:92 +#: replication/logical/logical.c:125 #, c-format msgid "logical decoding requires a database connection" msgstr "논리적 디코딩 기능은 데이터베이스 연결이 필요합니다" -#: replication/logical/logical.c:110 -#, c-format -msgid "logical decoding cannot be used while in recovery" -msgstr "논리적 디코딩 기능은 복구 상태에서는 사용할 수 없음" - -#: replication/logical/logical.c:258 replication/logical/logical.c:399 +#: replication/logical/logical.c:363 replication/logical/logical.c:517 #, c-format msgid "cannot use physical replication slot for logical decoding" msgstr "논리적 디코딩에서는 물리적 복제 슬롯을 사용할 수 없음" -#: replication/logical/logical.c:263 replication/logical/logical.c:404 +#: replication/logical/logical.c:368 replication/logical/logical.c:522 #, c-format msgid "replication slot \"%s\" was not created in this database" msgstr "\"%s\" 복제 슬롯이 이 데이터베이스 만들어져있지 않음" -#: replication/logical/logical.c:270 +#: replication/logical/logical.c:375 #, c-format msgid "" "cannot create logical replication slot in transaction that has performed " @@ -19337,483 +21499,698 @@ msgid "" msgstr "" "자료 변경 작업이 있는 트랜잭션 안에서는 논리적 복제 슬롯을 만들 수 없음" -#: replication/logical/logical.c:444 +#: replication/logical/logical.c:534 replication/logical/logical.c:541 +#, c-format +msgid "can no longer get changes from replication slot \"%s\"" +msgstr "\"%s\" 복제 슬롯에서 변경 사항을 더 찾을 수 없음" + +#: replication/logical/logical.c:536 +#, c-format +msgid "" +"This slot has been invalidated because it exceeded the maximum reserved size." +msgstr "최대 예약 크기를 초과해서 이 슬롯은 정상적이지 않은 것으로 바꿨습니다." + +#: replication/logical/logical.c:543 +#, c-format +msgid "" +"This slot has been invalidated because it was conflicting with recovery." +msgstr "" +"이 슬롯은 복원 작업으로 충돌이 일어나 사용할 수 없는 것으로 처리했습니다." + +#: replication/logical/logical.c:608 #, c-format msgid "starting logical decoding for slot \"%s\"" msgstr "\"%s\" 이름의 논리적 복제 슬롯을 만드는 중" -#: replication/logical/logical.c:446 +#: replication/logical/logical.c:610 #, c-format msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X." msgstr "" +"%X/%X 이후 트랜잭션 커밋 정보를 스트리밍 하는 중, %X/%X 위치부터 WAL 읽는 중" -#: replication/logical/logical.c:593 +#: replication/logical/logical.c:758 #, 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:600 +#: replication/logical/logical.c:764 #, c-format msgid "slot \"%s\", output plugin \"%s\", in the %s callback" -msgstr "" +msgstr "슬롯: \"%s\", 출력 플러그인: \"%s\", 해당 콜백함수: %s" -#: replication/logical/logicalfuncs.c:104 replication/slotfuncs.c:34 +#: replication/logical/logical.c:935 replication/logical/logical.c:980 +#: replication/logical/logical.c:1025 replication/logical/logical.c:1071 #, c-format -msgid "must be superuser or replication role to use replication slots" -msgstr "" -"복제 슬롯은 superuser 또는 replication 롤 옵션을 포함한 사용자만 사용할 수 있" -"습니다." +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 +#, c-format +msgid "logical streaming requires a %s callback" +msgstr "논리적 스트리밍이 %s 콜백을 필요로 합니다" + +#: replication/logical/logical.c:1438 +#, c-format +msgid "logical streaming at prepare time requires a %s callback" +msgstr "준비 시간에 논리적 스트리밍이 %s 콜백을 필요로 합니다" -#: replication/logical/logicalfuncs.c:134 +#: replication/logical/logicalfuncs.c:126 #, c-format msgid "slot name must not be null" msgstr "슬롯 이름으로 null 값을 사용할 수 없습니다" -#: replication/logical/logicalfuncs.c:150 +#: replication/logical/logicalfuncs.c:142 #, c-format msgid "options array must not be null" msgstr "옵션 배열은 null 값을 사용할 수 없습니다." -#: replication/logical/logicalfuncs.c:181 +#: replication/logical/logicalfuncs.c:159 #, c-format msgid "array must be one-dimensional" -msgstr "배열은 일차원 배열이어야합니다" +msgstr "배열은 일차원 배열이어야 합니다" -#: replication/logical/logicalfuncs.c:187 +#: replication/logical/logicalfuncs.c:165 #, c-format msgid "array must not contain nulls" msgstr "배열에는 null 값을 포함할 수 없습니다" -#: replication/logical/logicalfuncs.c:203 utils/adt/json.c:1128 -#: utils/adt/jsonb.c:1303 +#: replication/logical/logicalfuncs.c:180 utils/adt/json.c:1484 +#: utils/adt/jsonb.c:1403 #, c-format msgid "array must have even number of elements" msgstr "배열은 그 요소의 개수가 짝수여야 함" -#: replication/logical/logicalfuncs.c:251 -#, c-format -msgid "can no longer get changes from replication slot \"%s\"" -msgstr "\"%s\" 복제 슬롯에서 변경 사항을 더 찾을 수 없음" - -#: replication/logical/logicalfuncs.c:253 replication/slotfuncs.c:648 -#, c-format -msgid "This slot has never previously reserved WAL, or has been invalidated." -msgstr "이 슬롯은 한 번도 WAL를 예약한 적이 없거나, 잘못된 것임" - -#: replication/logical/logicalfuncs.c:265 +#: replication/logical/logicalfuncs.c:227 #, c-format msgid "" "logical decoding output plugin \"%s\" produces binary output, but function " "\"%s\" expects textual data" msgstr "" -"\"%s\" 논리 복제 출력 플러그인은 이진 자료를 출력하지만, \"%s\" 함수는 " -"텍스트 자료를 사용함" +"\"%s\" 논리 복제 출력 플러그인은 이진 자료를 출력하지만, \"%s\" 함수는 텍스" +"트 자료를 사용함" -#: replication/logical/origin.c:188 -#, c-format -msgid "only superusers can query or manipulate replication origins" -msgstr "슈퍼유저만 복제 원본에 대한 쿼리나, 관리를 할 수 있습니다." - -#: replication/logical/origin.c:193 +#: replication/logical/origin.c:190 #, c-format msgid "" "cannot query or manipulate replication origin when max_replication_slots = 0" msgstr "" +"max_replication_slots = 0 상황에서는 복제 오리진을 질의하거나 관리할 수 없음" -#: replication/logical/origin.c:198 +#: replication/logical/origin.c:195 #, c-format msgid "cannot manipulate replication origins during recovery" -msgstr "" +msgstr "복구 작업 중에는 복제 오리진을 관리할 수 없음" -#: replication/logical/origin.c:233 +#: replication/logical/origin.c:240 #, c-format msgid "replication origin \"%s\" does not exist" msgstr "\"%s\" 이름의 복제 오리진이 없습니다" -#: replication/logical/origin.c:324 +#: replication/logical/origin.c:331 #, c-format -msgid "could not find free replication origin OID" +msgid "could not find free replication origin ID" msgstr "비어있는 복제 오리진 OID를 찾을 수 없음" -#: replication/logical/origin.c:372 +#: replication/logical/origin.c:365 #, c-format -msgid "could not drop replication origin with OID %d, in use by PID %d" -msgstr "" +msgid "could not drop replication origin with ID %d, in use by PID %d" +msgstr "%d ID의 복제 오리진은 삭제 될 수 없음, %d PID가 사용중임" -#: replication/logical/origin.c:464 +#: replication/logical/origin.c:492 #, c-format -msgid "replication origin with OID %u does not exist" -msgstr "OID %u 복제 오리진이 없음" +msgid "replication origin with ID %d does not exist" +msgstr "%d ID의 복제 오리진이 없음" -#: replication/logical/origin.c:729 +#: replication/logical/origin.c:757 #, c-format msgid "replication checkpoint has wrong magic %u instead of %u" msgstr "복제 체크포인트의 잘못된 매직 번호: %u, 기대값: %u" -#: replication/logical/origin.c:770 +#: replication/logical/origin.c:798 #, c-format msgid "could not find free replication state, increase max_replication_slots" msgstr "" "사용 가능한 복제 슬롯이 부족합니다. max_replication_slots 값을 늘리세요" -#: replication/logical/origin.c:788 +#: replication/logical/origin.c:806 +#, c-format +msgid "recovered replication state of node %d to %X/%X" +msgstr "%d 노드 %X/%X 위치로 복제 상태가 복구됨" + +#: replication/logical/origin.c:816 #, c-format msgid "replication slot checkpoint has wrong checksum %u, expected %u" msgstr "복제 슬롯 체크포인트의 체크섬 값이 잘못됨: %u, 기대값 %u" -#: replication/logical/origin.c:916 replication/logical/origin.c:1102 +#: replication/logical/origin.c:944 replication/logical/origin.c:1141 #, c-format -msgid "replication origin with OID %d is already active for PID %d" -msgstr "" +msgid "replication origin with ID %d is already active for PID %d" +msgstr "%d ID의 복제 오리진이 %d PID 프로세스가 사용중입니다." -#: replication/logical/origin.c:927 replication/logical/origin.c:1114 +#: replication/logical/origin.c:955 replication/logical/origin.c:1153 #, c-format msgid "" -"could not find free replication state slot for replication origin with OID %u" -msgstr "%u OID 복제 오리진을 위한 여유 복제 슬롯을 찾을 수 없음" +"could not find free replication state slot for replication origin with ID %d" +msgstr "%d ID 복제 오리진을 위한 여유 복제 슬롯을 찾을 수 없음" -#: replication/logical/origin.c:929 replication/logical/origin.c:1116 -#: replication/slot.c:1762 +#: replication/logical/origin.c:957 replication/logical/origin.c:1155 +#: replication/slot.c:2093 #, c-format msgid "Increase max_replication_slots and try again." msgstr "max_replication_slots 값을 늘린 후 다시 시도해 보세요" -#: replication/logical/origin.c:1073 +#: replication/logical/origin.c:1112 #, c-format msgid "cannot setup replication origin when one is already setup" msgstr "하나가 이미 설정되어 더 이상 복제 오리진 설정을 할 수 없음" -#: replication/logical/origin.c:1153 replication/logical/origin.c:1369 -#: replication/logical/origin.c:1389 +#: replication/logical/origin.c:1196 replication/logical/origin.c:1412 +#: replication/logical/origin.c:1432 #, c-format msgid "no replication origin is configured" msgstr "복제 오리진 설정이 없습니다" -#: replication/logical/origin.c:1236 +#: replication/logical/origin.c:1282 #, c-format msgid "replication origin name \"%s\" is reserved" msgstr "\"%s\" 복제 오리진 이름은 사용할 수 없음" -#: replication/logical/origin.c:1238 +#: replication/logical/origin.c:1284 +#, c-format +msgid "" +"Origin names \"%s\", \"%s\", and names starting with \"pg_\" are reserved." +msgstr "" +"\"%s\", \"%s\", \"pg_\"로 시작하는 오리진 이름은 미리 예약된 이름입니다." + +#: replication/logical/relation.c:240 #, c-format -msgid "Origin names starting with \"pg_\" are reserved." -msgstr "\"pg_\"로 시작하는 오리진 이름은 사용할 수 없습니다." +msgid "\"%s\"" +msgstr "\"%s\"" -#: replication/logical/relation.c:302 +#: replication/logical/relation.c:243 #, c-format -msgid "logical replication target relation \"%s.%s\" does not exist" -msgstr "\"%s.%s\" 이름의 논리 복제 대상 릴레이션이 없습니다." +msgid ", \"%s\"" +msgstr ", \"%s\"" -#: replication/logical/relation.c:345 +#: replication/logical/relation.c:249 #, c-format msgid "" -"logical replication target relation \"%s.%s\" is missing some replicated " -"columns" -msgstr "" +"logical replication target relation \"%s.%s\" is missing replicated column: " +"%s" +msgid_plural "" +"logical replication target relation \"%s.%s\" is missing replicated columns: " +"%s" +msgstr[0] "\"%s.%s\" 이름의 논리 복제 대상 릴레이션에 관련된 칼럼이 빠졌음: %s" -#: replication/logical/relation.c:385 +#: replication/logical/relation.c:304 #, c-format msgid "" "logical replication target relation \"%s.%s\" uses system columns in REPLICA " "IDENTITY index" msgstr "" +"\"%s.%s\" 논리 복제 대상 릴레이션이 REPLICA IDENTITY 인덱스에서 시스템 칼럼" +"을 사용하고 있습니다." + +#: replication/logical/relation.c:396 +#, c-format +msgid "logical replication target relation \"%s.%s\" does not exist" +msgstr "\"%s.%s\" 이름의 논리 복제 대상 릴레이션이 없습니다." -#: replication/logical/reorderbuffer.c:2663 +#: replication/logical/reorderbuffer.c:3936 #, c-format msgid "could not write to data file for XID %u: %m" msgstr "%u XID 내용을 데이터 파일에 쓸 수 없음: %m" -#: replication/logical/reorderbuffer.c:2850 -#: replication/logical/reorderbuffer.c:2875 +#: replication/logical/reorderbuffer.c:4282 +#: replication/logical/reorderbuffer.c:4307 #, c-format msgid "could not read from reorderbuffer spill file: %m" msgstr "reorderbuffer 처리용 파일에서 읽기 실패: %m" -#: replication/logical/reorderbuffer.c:2854 -#: replication/logical/reorderbuffer.c:2879 +#: replication/logical/reorderbuffer.c:4286 +#: replication/logical/reorderbuffer.c:4311 #, c-format msgid "" "could not read from reorderbuffer spill file: read %d instead of %u bytes" msgstr "" "reorderbuffer 처리용 파일에서 읽기 실패: %d 바이트 읽음, 기대값 %u 바이트" -#: replication/logical/reorderbuffer.c:3114 +#: replication/logical/reorderbuffer.c:4561 #, c-format msgid "could not remove file \"%s\" during removal of pg_replslot/%s/xid*: %m" msgstr "\"%s\" 파일을 지울 수 없음, pg_replslot/%s/xid* 삭제 작업 중: %m" -#: replication/logical/reorderbuffer.c:3606 +#: replication/logical/reorderbuffer.c:5057 #, c-format msgid "could not read from file \"%s\": read %d instead of %d bytes" msgstr "\"%s\" 파일에서 읽기 실패: %d 바이트 읽음, 기대값 %d 바이트" -#: replication/logical/snapbuild.c:606 +#: replication/logical/snapbuild.c:639 #, c-format msgid "initial slot snapshot too large" msgstr "초기 슬롯 스냅샷이 너무 큽니다." -#: replication/logical/snapbuild.c:660 +#: replication/logical/snapbuild.c:693 #, c-format msgid "exported logical decoding snapshot: \"%s\" with %u transaction ID" msgid_plural "" "exported logical decoding snapshot: \"%s\" with %u transaction IDs" msgstr[0] "" -#: replication/logical/snapbuild.c:1265 replication/logical/snapbuild.c:1358 -#: replication/logical/snapbuild.c:1912 +#: replication/logical/snapbuild.c:1388 replication/logical/snapbuild.c:1480 +#: replication/logical/snapbuild.c:1996 #, c-format msgid "logical decoding found consistent point at %X/%X" msgstr "논리적 디코딩 이어서 시작할 위치: %X/%X" -#: replication/logical/snapbuild.c:1267 +#: replication/logical/snapbuild.c:1390 #, c-format msgid "There are no running transactions." msgstr "실행할 트랜잭션이 없음" -#: replication/logical/snapbuild.c:1309 +#: replication/logical/snapbuild.c:1432 #, c-format msgid "logical decoding found initial starting point at %X/%X" msgstr "논리적 디코딩 시작 위치: %X/%X" -#: replication/logical/snapbuild.c:1311 replication/logical/snapbuild.c:1335 +#: replication/logical/snapbuild.c:1434 replication/logical/snapbuild.c:1458 #, c-format msgid "Waiting for transactions (approximately %d) older than %u to end." -msgstr "" +msgstr "(대략 %d개) %u 보다 오래된 트랜잭션이 종료되길 기다리고 있습니다." -#: replication/logical/snapbuild.c:1333 +#: replication/logical/snapbuild.c:1456 #, c-format msgid "logical decoding found initial consistent point at %X/%X" msgstr "논리적 디코딩을 이어서 시작할 위치: %X/%X" -#: replication/logical/snapbuild.c:1360 +#: replication/logical/snapbuild.c:1482 #, c-format msgid "There are no old transactions anymore." msgstr "더이상 오래된 트랜잭션이 없습니다." -#: replication/logical/snapbuild.c:1754 +#: replication/logical/snapbuild.c:1883 #, c-format msgid "snapbuild state file \"%s\" has wrong magic number: %u instead of %u" msgstr "\"%s\" snapbuild 상태 파일의 매직 번호가 이상함: 현재값 %u, 기대값 %u" -#: replication/logical/snapbuild.c:1760 +#: replication/logical/snapbuild.c:1889 #, c-format msgid "snapbuild state file \"%s\" has unsupported version: %u instead of %u" msgstr "\"%s\" snapbuild 상태 파일의 버전이 이상함: 현재값 %u, 기대값 %u" -#: replication/logical/snapbuild.c:1859 +#: replication/logical/snapbuild.c:1930 #, c-format msgid "checksum mismatch for snapbuild state file \"%s\": is %u, should be %u" msgstr "" +"\"%s\" snapbuild 상태 파일의 체크섬이 일치하지 않음: 조회값 %u, 기대값 %u" -#: replication/logical/snapbuild.c:1914 +#: replication/logical/snapbuild.c:1998 #, c-format msgid "Logical decoding will begin using saved snapshot." -msgstr "" +msgstr "저장된 스냅샷을 이용해서 논리적 디코딩을 시작할 것입니다." -#: replication/logical/snapbuild.c:1986 +#: replication/logical/snapbuild.c:2105 #, c-format msgid "could not parse file name \"%s\"" msgstr "\"%s\" 파일 이름을 분석할 수 없음" -#: replication/logical/tablesync.c:132 +#: replication/logical/tablesync.c:153 #, c-format msgid "" "logical replication table synchronization worker for subscription \"%s\", " "table \"%s\" has finished" +msgstr "\"%s\" 구독용 논리 복제 테이블 동기화 작업자가, \"%s\" 테이블 완료함" + +#: replication/logical/tablesync.c:622 +#, 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:664 +#: replication/logical/tablesync.c:797 replication/logical/tablesync.c:939 #, c-format msgid "could not fetch table info for table \"%s.%s\" from publisher: %s" msgstr "\"%s.%s\" 테이블용 테이블 정보를 구할 수 없습니다, 해당 발행: %s" -#: replication/logical/tablesync.c:670 +#: replication/logical/tablesync.c:804 #, c-format msgid "table \"%s.%s\" not found on publisher" -msgstr "" +msgstr " \"%s.%s\" 테이블이 발행 안에 없습니다." + +#: replication/logical/tablesync.c:862 +#, c-format +msgid "could not fetch column list info for table \"%s.%s\" from publisher: %s" +msgstr "\"%s.%s\" 테이블용 칼럼 목록 정보를 구할 수 없습니다, 해당 발행: %s" -#: replication/logical/tablesync.c:704 +#: replication/logical/tablesync.c:1041 #, c-format -msgid "could not fetch table info for table \"%s.%s\": %s" -msgstr "\"%s.%s\" 테이블용 테이블 정보를 구할 수 없습니다: %s" +msgid "" +"could not fetch table WHERE clause info for table \"%s.%s\" from publisher: " +"%s" +msgstr "\"%s.%s\" 테이블용 WHERE 절을 구할 수 없습니다, 해당 발행: %s" -#: replication/logical/tablesync.c:791 +#: replication/logical/tablesync.c:1192 #, c-format msgid "could not start initial contents copy for table \"%s.%s\": %s" msgstr "\"%s.%s\" 테이블용 초기 자료 복사를 시작할 수 없습니다: %s" -#: replication/logical/tablesync.c:905 +#: replication/logical/tablesync.c:1393 #, c-format -msgid "table copy could not start transaction on publisher" -msgstr "발행 서버에서는 테이블 복사 트랜잭션을 시작할 수 없음" +msgid "table copy could not start transaction on publisher: %s" +msgstr "발행 서버에서는 테이블 복사 트랜잭션을 시작할 수 없음: %s" -#: replication/logical/tablesync.c:927 +#: replication/logical/tablesync.c:1435 #, c-format -msgid "table copy could not finish transaction on publisher" -msgstr "" +msgid "replication origin \"%s\" already exists" +msgstr "\"%s\" 이름의 복제 오리진이 이미 있습니다." -#: replication/logical/worker.c:313 +#: replication/logical/tablesync.c:1468 replication/logical/worker.c:2374 #, c-format msgid "" -"processing remote data for replication target relation \"%s.%s\" column \"%s" -"\", remote type %s, local type %s" +"user \"%s\" cannot replicate into relation with row-level security enabled: " +"\"%s\"" msgstr "" +"\"%s\" 사용자는 로우 수준 보안 활성화 상태에서 릴레이션으로 복제할 수 없음: " +"\"%s\"" + +#: replication/logical/tablesync.c:1481 +#, c-format +msgid "table copy could not finish transaction on publisher: %s" +msgstr "발행 서버에서 테이블 복사 트랜잭션을 마칠 수 없음: %s" -#: replication/logical/worker.c:552 +#: replication/logical/worker.c:499 #, c-format -msgid "ORIGIN message sent out of order" +msgid "" +"logical replication parallel apply worker for subscription \"%s\" will stop" +msgstr "\"%s\" 구독을 위한 논리 복제 병렬 반영 작업자가 중지됩니다." + +#: replication/logical/worker.c:501 +#, c-format +msgid "" +"Cannot handle streamed replication transactions using parallel apply workers " +"until all tables have been synchronized." msgstr "" +"모든 테이블 동기화 끝나기 전까지는 병렬 반영 작업자를 사용하는 스트리밍 복제 " +"트랜잭셕은 처리할 수 없습니다." -#: replication/logical/worker.c:702 +#: replication/logical/worker.c:863 replication/logical/worker.c:978 +#, c-format +msgid "incorrect binary data format in logical replication column %d" +msgstr "%d 번째 논리 복제 칼럼 안에 잘못된 바이너리 자료 형식 발견됨" + +#: 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 "" +"발행 서버에서 \"%s.%s\" 논리 복제 대상 릴레이션의 복제 식별자 칼럼을 보내지 " +"않았습니다." -#: replication/logical/worker.c:709 +#: 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 "" +"\"%s.%s\" 논리 복제 대상 릴레이션에 REPLICA IDENTITY 인덱스도 없고, PRIMARY " +"KEY 도 없고, 발행 쪽 해당 테이블에 REPLICA IDENTITY FULL 속성 칼럼도 없습니" +"다." -#: replication/logical/worker.c:1394 +#: replication/logical/worker.c:3384 #, c-format -msgid "invalid logical replication message type \"%c\"" -msgstr "잘못된 논리 복제 메시지 형태 \"%c\"" +msgid "invalid logical replication message type \"??? (%d)\"" +msgstr "잘못된 논리 복제 메시지 형태 \"??? (%d)\"" -#: replication/logical/worker.c:1537 +#: replication/logical/worker.c:3556 #, c-format msgid "data stream from publisher has ended" -msgstr "" +msgstr "발행 서버로부터의 데이터 스트림이 끝났습니다" -#: replication/logical/worker.c:1692 +#: replication/logical/worker.c:3713 #, c-format msgid "terminating logical replication worker due to timeout" msgstr "시간 제한으로 논리 복제 작업자를 중지합니다." -#: replication/logical/worker.c:1837 +#: replication/logical/worker.c:3907 #, c-format msgid "" -"logical replication apply worker for subscription \"%s\" will stop because " -"the subscription was removed" +"logical replication worker for subscription \"%s\" will stop because the " +"subscription was removed" msgstr "" +"\"%s\" 구독이 지워졌기 때문에, 해당 구독용 논리 복제 작업자가 중지 될 것입니" +"다." -#: replication/logical/worker.c:1851 +#: replication/logical/worker.c:3920 #, c-format msgid "" -"logical replication apply worker for subscription \"%s\" will stop because " -"the subscription was disabled" +"logical replication worker for subscription \"%s\" will stop because the " +"subscription was disabled" msgstr "" +"\"%s\" 구독이 비활성화 되었기 때문에, 해당 구독용 논리 복제 작업자가 중지 될 " +"것입니다." -#: replication/logical/worker.c:1865 +#: replication/logical/worker.c:3951 #, c-format msgid "" -"logical replication apply worker for subscription \"%s\" will restart " -"because the connection information was changed" +"logical replication parallel apply worker for subscription \"%s\" will stop " +"because of a parameter change" msgstr "" +"매개 변수가 바뀌어서 \"%s\" 구독을 위해 논리 복제 병렬 반영 작업자가 중지 될 " +"것입니다." -#: replication/logical/worker.c:1879 +#: replication/logical/worker.c:3955 #, c-format msgid "" -"logical replication apply worker for subscription \"%s\" will restart " -"because subscription was renamed" +"logical replication worker for subscription \"%s\" will restart because of a " +"parameter change" msgstr "" +"매개 변수가 바뀌어서 \"%s\" 구독을 위해 논리 복제 작업자가 중지 될 것입니다." -#: replication/logical/worker.c:1896 +#: replication/logical/worker.c:4478 #, c-format msgid "" -"logical replication apply worker for subscription \"%s\" will restart " -"because the replication slot name was changed" +"logical replication worker for subscription %u will not start because the " +"subscription was removed during startup" msgstr "" +"해당 구독이 시작하는 사이 지워져서 구독번호 %u 번용 논리 복제 작업자가 작동되" +"지 못했습니다." -#: replication/logical/worker.c:1910 +#: replication/logical/worker.c:4493 #, c-format msgid "" -"logical replication apply worker for subscription \"%s\" will restart " -"because subscription's publications were changed" +"logical replication worker for subscription \"%s\" will not start because " +"the subscription was disabled during startup" msgstr "" +"\"%s\" 구독이 시작되는 사이 지워져서 논리 복제 작업자가 작동되지 못했습니다." -#: replication/logical/worker.c:2006 +#: replication/logical/worker.c:4510 #, c-format msgid "" -"logical replication apply worker for subscription %u will not start because " -"the subscription was removed during startup" +"logical replication table synchronization worker for subscription \"%s\", " +"table \"%s\" has started" msgstr "" +"\"%s\" 구독, \"%s\" 테이블을 위한 논리 복제 테이블 동기화 작업자가 시작되었습" +"니다." + +#: replication/logical/worker.c:4515 +#, c-format +msgid "logical replication apply worker for subscription \"%s\" has started" +msgstr "\"%s\" 구독을 위한 논리 복제 반영 작업자가 시작되었습니다." + +#: replication/logical/worker.c:4590 +#, c-format +msgid "subscription has no replication slot set" +msgstr "구독에서 사용할 복제 슬롯 세트가 없습니다." + +#: replication/logical/worker.c:4757 +#, c-format +msgid "subscription \"%s\" has been disabled because of an error" +msgstr "\"%s\" 구독이 오류로 비활성화 되었습니다." -#: replication/logical/worker.c:2018 +#: replication/logical/worker.c:4805 +#, c-format +msgid "logical replication starts skipping transaction at LSN %X/%X" +msgstr "%X/%X LSN 에서 트랜잭션 건너 뛰어 논리 복제를 시작함" + +#: replication/logical/worker.c:4819 +#, c-format +msgid "logical replication completed skipping transaction at LSN %X/%X" +msgstr "논리 복제가 %X/%X LSN까지 트랜잭션을 건너뛰었습니다." + +#: replication/logical/worker.c:4901 +#, c-format +msgid "skip-LSN of subscription \"%s\" cleared" +msgstr "\"%s\" 이름의 구독의 LSN 건너뛰기 완료함" + +#: 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 "원력 트랜잭션 마침 WAL 위치 %X/%X LSN이 skip-LSN %X/%X와 같지 않음" + +#: replication/logical/worker.c:4928 #, c-format msgid "" -"logical replication apply worker for subscription \"%s\" will not start " -"because the subscription was disabled during startup" +"processing remote data for replication origin \"%s\" during message type \"%s" +"\"" msgstr "" +"\"%s\" 복제 오리진용 원격 데이터를 처리합니다. 해당 메시지 유형: \"%s\"" -#: replication/logical/worker.c:2036 +#: replication/logical/worker.c:4932 #, c-format msgid "" -"logical replication table synchronization worker for subscription \"%s\", " -"table \"%s\" has started" +"processing remote data for replication origin \"%s\" during message type \"%s" +"\" in transaction %u" msgstr "" +"\"%s\" 복제 오리진용 원격 데이터를 처리합니다. 해당 메시지 유형: \"%s\", 해" +"당 트랜잭션: %u" -#: replication/logical/worker.c:2040 +#: replication/logical/worker.c:4937 #, c-format -msgid "logical replication apply worker for subscription \"%s\" has started" +msgid "" +"processing remote data for replication origin \"%s\" during message type \"%s" +"\" in transaction %u, finished at %X/%X" msgstr "" +"\"%s\" 복제 오리진용 원격 데이터를 처리합니다. 해당 메시지 유형: \"%s\", 해" +"당 트랜잭션: %u, 마침 위치: %X/%X" -#: replication/logical/worker.c:2079 +#: replication/logical/worker.c:4948 #, c-format -msgid "subscription has no replication slot set" +msgid "" +"processing remote data for replication origin \"%s\" during message type \"%s" +"\" for replication target relation \"%s.%s\" in transaction %u" msgstr "" +"\"%s\" 복제 오리진용 원격 데이터를 처리합니다. 해당 메시지 유형: \"%s\", 해" +"당 복제 대상 릴레이션: \"%s.%s\", 해당 트랜잭션: %u" -#: replication/pgoutput/pgoutput.c:147 +#: 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 "" +"\"%s\" 복제 오리진용 원격 데이터를 처리합니다. 해당 메시지 유형: \"%s\", 해" +"당 복제 대상 릴레이션: \"%s.%s\", 해당 트랜잭션: %u, 마침 위치: %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 "" +"\"%s\" 복제 오리진용 원격 데이터를 처리합니다. 해당 메시지 유형: \"%s\", 해" +"당 복제 대상 릴레이션: \"%s.%s\", 해당 칼럼 \"%s\", 해당 트랜잭션: %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 "" +"\"%s\" 복제 오리진용 원격 데이터를 처리합니다. 해당 메시지 유형: \"%s\", 해" +"당 복제 대상 릴레이션: \"%s.%s\", 해당 칼럼 \"%s\", 해당 트랜잭션: %u, 마침 " +"위치: %X/%X" + +#: replication/pgoutput/pgoutput.c:318 #, c-format msgid "invalid proto_version" msgstr "잘못된 proto_version" -#: replication/pgoutput/pgoutput.c:152 +#: replication/pgoutput/pgoutput.c:323 #, c-format msgid "proto_version \"%s\" out of range" msgstr "proto_verson \"%s\" 범위 벗어남" -#: replication/pgoutput/pgoutput.c:169 +#: replication/pgoutput/pgoutput.c:340 #, c-format msgid "invalid publication_names syntax" msgstr "잘못된 publication_names 구문" -#: replication/pgoutput/pgoutput.c:211 +#: replication/pgoutput/pgoutput.c:443 #, c-format -msgid "client sent proto_version=%d but we only support protocol %d or lower" +msgid "" +"client sent proto_version=%d but server only supports protocol %d or lower" msgstr "" +"클라이언트가 proto_version=%d 값을 보냈지만, %d 버전 또는 그 이하 버전 프로토" +"콜만 지원합니다." -#: replication/pgoutput/pgoutput.c:217 +#: replication/pgoutput/pgoutput.c:449 #, c-format -msgid "client sent proto_version=%d but we only support protocol %d or higher" +msgid "" +"client sent proto_version=%d but server only supports protocol %d or higher" msgstr "" +"클라이언트가 proto_version=%d 값을 보냈지만, %d 버전 또는 그 이상 버전 프로토" +"콜만 지원합니다." -#: replication/pgoutput/pgoutput.c:223 +#: replication/pgoutput/pgoutput.c:455 #, c-format msgid "publication_names parameter missing" msgstr "publication_names 매개 변수가 빠졌음" -#: replication/slot.c:183 +#: replication/pgoutput/pgoutput.c:469 +#, c-format +msgid "" +"requested proto_version=%d does not support streaming, need %d or higher" +msgstr "" +"요청한 %d 버전 proto_version은 스트리밍을 지원하지 않습니다. %d 또는 그 이상 " +"버전이 필요합니다." + +#: replication/pgoutput/pgoutput.c:475 +#, c-format +msgid "" +"requested proto_version=%d does not support parallel streaming, need %d or " +"higher" +msgstr "" +"요청한 proto_version=%d 값은 스트리밍을 지원하지 않습니다. %d 또는 그 이상 버" +"전이 필요합니다." + +#: replication/pgoutput/pgoutput.c:480 +#, c-format +msgid "streaming requested, but not supported by output plugin" +msgstr "스트리밍을 요청했지만, 출력 플러그인이 지원하지 않습니다." + +#: replication/pgoutput/pgoutput.c:497 +#, c-format +msgid "" +"requested proto_version=%d does not support two-phase commit, need %d or " +"higher" +msgstr "" +"요청한 proto_version=%d 값은 2PC를 지원하지 않습니다. %d 또는 그 이상 버전이 " +"필요합니다." + +#: replication/pgoutput/pgoutput.c:502 +#, c-format +msgid "two-phase commit requested, but not supported by output plugin" +msgstr "2PC를 요청했지만, 출력 플러그인이 지원하지 않습니다." + +#: replication/slot.c:207 #, c-format msgid "replication slot name \"%s\" is too short" msgstr "\"%s\" 복제 슬롯 이름이 너무 짧음" -#: replication/slot.c:192 +#: replication/slot.c:216 #, c-format msgid "replication slot name \"%s\" is too long" msgstr "\"%s\" 복제 슬롯 이름이 너무 긺" -#: replication/slot.c:205 +#: replication/slot.c:229 #, c-format msgid "replication slot name \"%s\" contains invalid character" msgstr "\"%s\" 복제 슬롯 이름에 사용할 수 없는 문자가 있음" -#: replication/slot.c:207 +#: replication/slot.c:231 #, c-format msgid "" "Replication slot names may only contain lower case letters, numbers, and the " @@ -19822,161 +22199,193 @@ msgstr "" "복제 슬롯 이름으로 사용할 수 있는 문자는 영문 소문자, 숫자, 밑줄(_) 문자입니" "다." -#: replication/slot.c:254 +#: replication/slot.c:285 #, c-format msgid "replication slot \"%s\" already exists" msgstr "\"%s\" 이름의 복제 슬롯이 이미 있습니다." -#: replication/slot.c:264 +#: replication/slot.c:295 #, c-format msgid "all replication slots are in use" msgstr "모든 복제 슬롯이 사용 중입니다." -#: replication/slot.c:265 +#: replication/slot.c:296 #, c-format msgid "Free one or increase max_replication_slots." msgstr "하나를 비우든지, max_replication_slots 설정값을 늘리세요." -#: replication/slot.c:407 replication/slotfuncs.c:760 +#: replication/slot.c:474 replication/slotfuncs.c:736 +#: utils/activity/pgstat_replslot.c:55 utils/adt/genfile.c:774 #, c-format msgid "replication slot \"%s\" does not exist" msgstr "\"%s\" 이름의 복제 슬롯이 없습니다" -#: replication/slot.c:445 replication/slot.c:1006 +#: replication/slot.c:520 replication/slot.c:1110 #, c-format msgid "replication slot \"%s\" is active for PID %d" msgstr "\"%s\" 이름의 복제 슬롯을 %d PID 프로세스가 사용중입니다." -#: replication/slot.c:683 replication/slot.c:1314 replication/slot.c:1697 +#: replication/slot.c:756 replication/slot.c:1645 replication/slot.c:2028 #, c-format msgid "could not remove directory \"%s\"" msgstr "\"%s\" 디렉터리를 삭제할 수 없음" -#: replication/slot.c:1041 +#: replication/slot.c:1145 #, c-format msgid "replication slots can only be used if max_replication_slots > 0" msgstr "복제 슬롯은 max_replication_slots > 0 상태에서 사용될 수 있습니다." -#: replication/slot.c:1046 +#: replication/slot.c:1150 #, c-format msgid "replication slots can only be used if wal_level >= replica" msgstr "복제 슬롯은 wal_level >= replica 상태에서 사용될 수 있습니다." -#: replication/slot.c:1202 +#: replication/slot.c:1162 #, c-format -msgid "" -"terminating process %d because replication slot \"%s\" is too far behind" -msgstr "%d번 프로세스를 중지합니다. \"%s\" 복제 슬롯이 너무 옛날 것입니다." +msgid "permission denied to use replication slots" +msgstr "복제 슬롯을 사용할 권한 없음" + +#: replication/slot.c:1163 +#, c-format +msgid "Only roles with the %s attribute may use replication slots." +msgstr "복제 슬롯은 %s 속성을 가진 롤만 사용할 수 있습니다." -#: replication/slot.c:1221 +#: replication/slot.c:1271 #, c-format +msgid "The slot's restart_lsn %X/%X exceeds the limit by %llu byte." +msgid_plural "The slot's restart_lsn %X/%X exceeds the limit by %llu bytes." +msgstr[0] "" +"해당 슬롯 restart_lsn %X/%X 값은 %llu 바이트로 그 크기를 초과했습니다." + +#: replication/slot.c:1279 +#, c-format +msgid "The slot conflicted with xid horizon %u." +msgstr "해당 슬롯이 xid horizon %u 값으로 충돌합니다." + +#: replication/slot.c:1284 msgid "" -"invalidating slot \"%s\" because its restart_lsn %X/%X exceeds " -"max_slot_wal_keep_size" +"Logical decoding on standby requires wal_level >= logical on the primary " +"server." msgstr "" -"\"%s\" 슬롯이 바르지 않음. %X/%X restart_lsn 값이 " -"max_slot_wal_keep_size 값을 초과했음" +"대기 서버의 논리적 디코딩 기능은 주서버의 wal_level >= logical 설정이 필요합" +"니다." + +#: replication/slot.c:1292 +#, c-format +msgid "terminating process %d to release replication slot \"%s\"" +msgstr "%d번 프로세스를 중지합니다. \"%s\" 복제 슬롯이 삭제될 것입니다." -#: replication/slot.c:1635 +#: replication/slot.c:1294 +#, c-format +msgid "invalidating obsolete replication slot \"%s\"" +msgstr "\"%s\" 복제 슬롯이 사용되지 않아 삭제될 것입니다." + +#: replication/slot.c:1966 #, c-format msgid "replication slot file \"%s\" has wrong magic number: %u instead of %u" msgstr "\"%s\" 복제 슬롯 파일의 매직 번호가 이상합니다: 현재값 %u, 기대값 %u" -#: replication/slot.c:1642 +#: replication/slot.c:1973 #, c-format msgid "replication slot file \"%s\" has unsupported version %u" msgstr "\"%s\" 복제 슬롯 파일은 지원하지 않는 %u 버전 파일입니다" -#: replication/slot.c:1649 +#: replication/slot.c:1980 #, c-format msgid "replication slot file \"%s\" has corrupted length %u" msgstr "\"%s\" 복제 슬롯 파일이 %u 길이로 손상되었습니다." -#: replication/slot.c:1685 +#: replication/slot.c:2016 #, c-format msgid "checksum mismatch for replication slot file \"%s\": is %u, should be %u" msgstr "\"%s\" 복제 슬롯 파일의 체크섬 값이 이상합니다: 현재값 %u, 기대값 %u" -#: replication/slot.c:1719 +#: replication/slot.c:2050 #, c-format msgid "logical replication slot \"%s\" exists, but wal_level < logical" msgstr "\"%s\" 논리 복제 슬롯이 있지만, wal_level < logical" -#: replication/slot.c:1721 +#: replication/slot.c:2052 #, c-format msgid "Change wal_level to be logical or higher." -msgstr "" +msgstr "wal_level 값을 logical 또는 그 이상으로 지정하세요." -#: replication/slot.c:1725 +#: replication/slot.c:2056 #, c-format msgid "physical replication slot \"%s\" exists, but wal_level < replica" -msgstr "\"%s\" 물리 복제 슬롯이 있지만, wal_level < replica " +msgstr "\"%s\" 물리 복제 슬롯이 있지만, wal_level < replica" -#: replication/slot.c:1727 +#: replication/slot.c:2058 #, c-format msgid "Change wal_level to be replica or higher." -msgstr "" +msgstr "wal_level 값을 replica 또는 그 이상으로 지정하세요." -#: replication/slot.c:1761 +#: replication/slot.c:2092 #, c-format msgid "too many replication slots active before shutdown" msgstr "서버 중지 전에 너무 많은 복제 슬롯이 활성화 상태입니다" -#: replication/slotfuncs.c:624 +#: replication/slotfuncs.c:601 #, c-format msgid "invalid target WAL LSN" msgstr "잘못된 대상 WAL LSN" -#: replication/slotfuncs.c:646 +#: replication/slotfuncs.c:623 #, c-format msgid "replication slot \"%s\" cannot be advanced" msgstr "\"%s\" 이름의 복제 슬롯은 사용할 수 없음" -#: replication/slotfuncs.c:664 +#: replication/slotfuncs.c:625 +#, c-format +msgid "" +"This slot has never previously reserved WAL, or it has been invalidated." +msgstr "이 슬롯은 한 번도 WAL를 예약한 적이 없거나, 잘못된 것임" + +#: replication/slotfuncs.c:641 #, c-format msgid "cannot advance replication slot to %X/%X, minimum is %X/%X" -msgstr "" +msgstr "복제 슬롯 위치를 %X/%X 로 바꿀 수 없습니다. 최소값은 %X/%X" -#: replication/slotfuncs.c:772 +#: replication/slotfuncs.c:748 #, c-format msgid "" "cannot copy physical replication slot \"%s\" as a logical replication slot" msgstr "물리 복제 슬롯(\"%s\")을 논리 복제 슬롯으로 복사할 수 없음" -#: replication/slotfuncs.c:774 +#: replication/slotfuncs.c:750 #, c-format msgid "" "cannot copy logical replication slot \"%s\" as a physical replication slot" msgstr "논리 복제 슬롯(\"%s\")을 물리 복제 슬롯으로 복사할 수 없음" -#: replication/slotfuncs.c:781 +#: replication/slotfuncs.c:757 #, c-format msgid "cannot copy a replication slot that doesn't reserve WAL" msgstr "WAL을 확보하지 않은 복제 슬롯은 복사할 수 없음" -#: replication/slotfuncs.c:857 +#: replication/slotfuncs.c:834 #, c-format msgid "could not copy replication slot \"%s\"" msgstr "\"%s\" 복제 슬롯을 복사할 수 없음" -#: replication/slotfuncs.c:859 +#: replication/slotfuncs.c:836 #, c-format msgid "" "The source replication slot was modified incompatibly during the copy " "operation." -msgstr "" +msgstr "복사 작업 중 원본 복제 슬롯이 비정상적으로 변경되었습니다." -#: replication/slotfuncs.c:865 +#: replication/slotfuncs.c:842 #, c-format msgid "cannot copy unfinished logical replication slot \"%s\"" msgstr "논리 복제가 끝나지 않은 \"%s\" 슬롯은 복사할 수 없음" -#: replication/slotfuncs.c:867 +#: replication/slotfuncs.c:844 #, c-format msgid "Retry when the source replication slot's confirmed_flush_lsn is valid." -msgstr "" +msgstr "원본 복제 슬롯의 confirmed_flush_lsn 값이 타당할 때 다시 시도하세요." -#: replication/syncrep.c:257 +#: replication/syncrep.c:262 #, c-format msgid "" "canceling the wait for synchronous replication and terminating connection " @@ -19984,7 +22393,7 @@ msgid "" msgstr "" "관리자 명령에 의해 동기식 복제의 대기 작업과 접속 끊기 작업을 취소합니다." -#: replication/syncrep.c:258 replication/syncrep.c:275 +#: replication/syncrep.c:263 replication/syncrep.c:280 #, c-format msgid "" "The transaction has already committed locally, but might not have been " @@ -19993,209 +22402,209 @@ msgstr "" "주 서버에서는 이 트랜잭션이 커밋되었지만, 복제용 대기 서버에서는 아직 커밋 되" "지 않았을 가능성이 있습니다." -#: replication/syncrep.c:274 +#: replication/syncrep.c:279 #, c-format msgid "canceling wait for synchronous replication due to user request" msgstr "사용자 요청에 의해 동기식 복제 작업을 취소합니다." -#: replication/syncrep.c:416 -#, c-format -msgid "standby \"%s\" now has synchronous standby priority %u" -msgstr "\"%s\" 대기 서버의 동기식 복제 우선순위가 %u 입니다" - -#: replication/syncrep.c:483 +#: replication/syncrep.c:486 #, c-format msgid "standby \"%s\" is now a synchronous standby with priority %u" msgstr "\"%s\" 대기 서버의 동기식 복제 우선순위가 %u 로 변경되었습니다." -#: replication/syncrep.c:487 +#: replication/syncrep.c:490 #, c-format msgid "standby \"%s\" is now a candidate for quorum synchronous standby" msgstr "\"%s\" 대기 서버가 동기식 대기 서버 후보가 되었습니다" -#: replication/syncrep.c:1034 +#: replication/syncrep.c:1019 #, c-format msgid "synchronous_standby_names parser failed" msgstr "synchronous_standby_names 값을 분석할 수 없음" -#: replication/syncrep.c:1040 +#: replication/syncrep.c:1025 #, c-format msgid "number of synchronous standbys (%d) must be greater than zero" msgstr "동기식 대기 서버 수 (%d)는 0보다 커야 합니다." -#: replication/walreceiver.c:171 +#: replication/walreceiver.c:180 #, c-format msgid "terminating walreceiver process due to administrator command" msgstr "관리자 명령으로 인해 WAL 수신기를 종료합니다." -#: replication/walreceiver.c:297 +#: replication/walreceiver.c:305 #, c-format msgid "could not connect to the primary server: %s" msgstr "주 서버에 연결 할 수 없음: %s" -#: replication/walreceiver.c:343 +#: replication/walreceiver.c:352 #, c-format msgid "database system identifier differs between the primary and standby" msgstr "데이터베이스 시스템 식별번호가 주 서버와 대기 서버가 서로 다름" -#: replication/walreceiver.c:344 +#: replication/walreceiver.c:353 #, c-format msgid "The primary's identifier is %s, the standby's identifier is %s." msgstr "주 서버: %s, 대기 서버: %s." -#: replication/walreceiver.c:354 +#: replication/walreceiver.c:364 #, c-format msgid "highest timeline %u of the primary is behind recovery timeline %u" msgstr "" "주 서버의 제일 최신의 타임라인은 %u 인데, 복구 타임라인 %u 보다 옛것입니다" -#: replication/walreceiver.c:408 +#: replication/walreceiver.c:417 #, c-format msgid "started streaming WAL from primary at %X/%X on timeline %u" msgstr "주 서버의 WAL 스트리밍 시작 위치: %X/%X (타임라인 %u)" -#: replication/walreceiver.c:413 +#: replication/walreceiver.c:421 #, c-format msgid "restarted WAL streaming at %X/%X on timeline %u" msgstr "WAL 스트리밍 재시작 위치: %X/%X (타임라인 %u)" -#: replication/walreceiver.c:442 +#: replication/walreceiver.c:457 #, c-format msgid "cannot continue WAL streaming, recovery has already ended" msgstr "WAL 스트리밍 계속할 수 없음, 복구가 이미 종료됨" -#: replication/walreceiver.c:479 +#: replication/walreceiver.c:501 #, c-format msgid "replication terminated by primary server" msgstr "주 서버에 의해서 복제가 끝남" -#: replication/walreceiver.c:480 +#: replication/walreceiver.c:502 #, c-format msgid "End of WAL reached on timeline %u at %X/%X." msgstr "타임라인 %u, 위치 %X/%X 에서 WAL 끝에 도달함" -#: replication/walreceiver.c:568 +#: replication/walreceiver.c:592 #, c-format msgid "terminating walreceiver due to timeout" msgstr "시간 제한으로 wal 수신기를 중지합니다." -#: replication/walreceiver.c:606 +#: replication/walreceiver.c:624 #, c-format msgid "primary server contains no more WAL on requested timeline %u" msgstr "주 서버에는 요청 받은 %u 타임라인의 WAL가 더 이상 없습니다." -#: replication/walreceiver.c:622 replication/walreceiver.c:938 +#: replication/walreceiver.c:640 replication/walreceiver.c:1066 #, c-format -msgid "could not close log segment %s: %m" -msgstr "%s 로그 조각 파일을 닫을 수 없음: %m" +msgid "could not close WAL segment %s: %m" +msgstr "%s WAL 조각 파일을 닫을 수 없음: %m" -#: replication/walreceiver.c:742 +#: replication/walreceiver.c:759 #, c-format msgid "fetching timeline history file for timeline %u from primary server" msgstr "주 서버에서 %u 타임라인용 타임라인 내역 파일을 가져옵니다." -#: replication/walreceiver.c:985 +#: replication/walreceiver.c:954 +#, c-format +msgid "could not write to WAL segment %s at offset %u, length %lu: %m" +msgstr "%s WAL 조각 파일 쓰기 실패: 위치 %u, 길이 %lu: %m" + +#: replication/walsender.c:519 #, c-format -msgid "could not write to log segment %s at offset %u, length %lu: %m" -msgstr "%s 로그 조각 파일 쓰기 실패: 위치 %u, 길이 %lu: %m" +msgid "cannot use %s with a logical replication slot" +msgstr "논리 복제 슬롯으로 %s 사용할 수 없음" -#: replication/walsender.c:523 storage/smgr/md.c:1291 +#: replication/walsender.c:623 storage/smgr/md.c:1529 #, c-format msgid "could not seek to end of file \"%s\": %m" msgstr "\"%s\" 파일의 끝을 찾을 수 없음: %m" -#: replication/walsender.c:527 +#: replication/walsender.c:627 #, c-format msgid "could not seek to beginning of file \"%s\": %m" msgstr "\"%s\" 파일에서 시작 위치를 찾을 수 없음: %m" -#: replication/walsender.c:578 -#, c-format -msgid "IDENTIFY_SYSTEM has not been run before START_REPLICATION" -msgstr "" - -#: replication/walsender.c:607 +#: replication/walsender.c:704 #, c-format msgid "cannot use a logical replication slot for physical replication" msgstr "물리적 복제에서 논리적 복제 슬롯을 사용할 수 없음" -#: replication/walsender.c:676 +#: replication/walsender.c:770 #, c-format msgid "" "requested starting point %X/%X on timeline %u is not in this server's history" msgstr "요청된 %X/%X 시작 위치(타임라인 %u)가 이 서버 내역에 없습니다." -#: replication/walsender.c:680 +#: replication/walsender.c:773 #, c-format msgid "This server's history forked from timeline %u at %X/%X." msgstr "이 서버의 시작 위치: 타임라인 %u, 위치 %X/%X" -#: replication/walsender.c:725 +#: replication/walsender.c:817 #, c-format msgid "" "requested starting point %X/%X is ahead of the WAL flush position of this " "server %X/%X" -msgstr "" +msgstr "%X/%X 위치는 서버의 %X/%X 보다 미래의 것입니다." + +#: replication/walsender.c:1010 +#, c-format +msgid "unrecognized value for CREATE_REPLICATION_SLOT option \"%s\": \"%s\"" +msgstr "\"%s\" CREATE_REPLICATION_SLOT 옵션에서 쓸 수 없는 값: \"%s\"" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:976 +#: replication/walsender.c:1095 #, c-format msgid "%s must not be called inside a transaction" msgstr "%s 명령은 트랜잭션 블럭안에서 실행할 수 없음" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:986 +#: replication/walsender.c:1105 #, c-format msgid "%s must be called inside a transaction" msgstr "%s 명령은 트랜잭션 블럭안에서 실행할 수 있음" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:992 +#: replication/walsender.c:1111 #, c-format msgid "%s must be called in REPEATABLE READ isolation mode transaction" msgstr "%s 구문은 격리 수준이 REPEATABLE READ 일때만 사용할 수 있습니다." #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:998 +#: replication/walsender.c:1116 +#, c-format +msgid "%s must be called in a read-only transaction" +msgstr "%s 명령은 읽기 전용 트랜잭션 블럭안에서만 실행할 수 있음" + +#. translator: %s is a CREATE_REPLICATION_SLOT statement +#: replication/walsender.c:1122 #, c-format msgid "%s must be called before any query" msgstr "어떤 쿼리보다 먼저 %s 명령을 호출해야 함" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1004 +#: replication/walsender.c:1128 #, c-format msgid "%s must not be called in a subtransaction" msgstr "%s 명령은 서브트랜잭션 블럭안에서 실행할 수 없음" -#: replication/walsender.c:1148 -#, c-format -msgid "cannot read from logical replication slot \"%s\"" -msgstr "\"%s\" 논리 복제 슬롯에서 읽기 실패" - -#: replication/walsender.c:1150 -#, c-format -msgid "" -"This slot has been invalidated because it exceeded the maximum reserved size." -msgstr "" - -#: replication/walsender.c:1160 +#: replication/walsender.c:1275 #, c-format msgid "terminating walsender process after promotion" msgstr "운영전환 뒤 wal 송신기 프로세스를 중지합니다." -#: replication/walsender.c:1534 +#: replication/walsender.c:1696 #, c-format msgid "cannot execute new commands while WAL sender is in stopping mode" -msgstr "" +msgstr "WAL 송신기가 중지 중일 때는 새 명령을 실행할 수 없습니다." + +#: replication/walsender.c:1731 +#, c-format +msgid "cannot execute SQL commands in WAL sender for physical replication" +msgstr "물리적 복제를 위한 WAL 송신기에서 SQL 명령을 실행할 수 없음" -#: replication/walsender.c:1567 +#: replication/walsender.c:1764 #, c-format msgid "received replication command: %s" msgstr "수신된 복제 명령: %s" -#: replication/walsender.c:1583 tcop/fastpath.c:279 tcop/postgres.c:1103 -#: tcop/postgres.c:1455 tcop/postgres.c:1716 tcop/postgres.c:2174 -#: tcop/postgres.c:2535 tcop/postgres.c:2614 +#: replication/walsender.c:1772 tcop/fastpath.c:209 tcop/postgres.c:1138 +#: tcop/postgres.c:1496 tcop/postgres.c:1736 tcop/postgres.c:2210 +#: tcop/postgres.c:2648 tcop/postgres.c:2726 #, c-format msgid "" "current transaction is aborted, commands ignored until end of transaction " @@ -20204,619 +22613,636 @@ msgstr "" "현재 트랜잭션은 중지되어 있습니다. 이 트랜잭션을 종료하기 전까지는 모든 명령" "이 무시될 것입니다" -#: replication/walsender.c:1669 -#, c-format -msgid "cannot execute SQL commands in WAL sender for physical replication" -msgstr "물리적 복제를 위한 WAL 송신기에서 SQL 명령을 실행할 수 없음" - -#: replication/walsender.c:1714 replication/walsender.c:1730 +#: replication/walsender.c:1914 replication/walsender.c:1949 #, c-format msgid "unexpected EOF on standby connection" msgstr "대기 서버 연결에서 예상치 못한 EOF 발견함" -#: replication/walsender.c:1744 -#, c-format -msgid "unexpected standby message type \"%c\", after receiving CopyDone" -msgstr "" - -#: replication/walsender.c:1782 +#: replication/walsender.c:1937 #, c-format msgid "invalid standby message type \"%c\"" msgstr "잘못된 대기 서버 메시지 형태 \"%c\"" -#: replication/walsender.c:1823 +#: replication/walsender.c:2026 #, c-format msgid "unexpected message type \"%c\"" msgstr "예상치 못한 메시지 형태: \"%c\"" -#: replication/walsender.c:2241 +#: replication/walsender.c:2439 #, c-format msgid "terminating walsender process due to replication timeout" msgstr "복제 시간 제한으로 wal 송신기 프로세스를 종료합니다." -#: replication/walsender.c:2318 -#, c-format -msgid "\"%s\" has now caught up with upstream server" -msgstr "\"%s\" 프로세스가 로그 전달 받을 서버와 접속했음" - -#: rewrite/rewriteDefine.c:112 rewrite/rewriteDefine.c:989 +#: rewrite/rewriteDefine.c:111 rewrite/rewriteDefine.c:842 #, c-format msgid "rule \"%s\" for relation \"%s\" already exists" msgstr "\"%s\" 이름의 룰(rule)이 \"%s\" 테이블에 이미 지정되어있습니다" -#: rewrite/rewriteDefine.c:301 +#: rewrite/rewriteDefine.c:268 rewrite/rewriteDefine.c:780 +#, c-format +msgid "relation \"%s\" cannot have rules" +msgstr "\"%s\" 릴레이션은 룰을 지정할 수 없음" + +#: rewrite/rewriteDefine.c:299 #, c-format msgid "rule actions on OLD are not implemented" msgstr "OLD에 대한 실행 룰(rule)은 아직 구현되지 않았습니다" -#: rewrite/rewriteDefine.c:302 +#: rewrite/rewriteDefine.c:300 #, c-format msgid "Use views or triggers instead." msgstr "대신에 뷰나 트리거를 사용하십시오." -#: rewrite/rewriteDefine.c:306 +#: rewrite/rewriteDefine.c:304 #, c-format msgid "rule actions on NEW are not implemented" msgstr "NEW에 대한 실행 룰(rule)은 아직 구현되지 않았습니다" -#: rewrite/rewriteDefine.c:307 +#: rewrite/rewriteDefine.c:305 #, c-format msgid "Use triggers instead." msgstr "대신에 트리거를 사용하십시오." -#: rewrite/rewriteDefine.c:320 +#: rewrite/rewriteDefine.c:319 +#, c-format +msgid "relation \"%s\" cannot have ON SELECT rules" +msgstr "\"%s\" 릴레이션은 ON SELECT 룰을 지정할 수 없음" + +#: rewrite/rewriteDefine.c:329 #, c-format msgid "INSTEAD NOTHING rules on SELECT are not implemented" msgstr "SELECT 에서 INSTEAD NOTHING 룰(rule)은 구현되지 않았습니다" -#: rewrite/rewriteDefine.c:321 +#: rewrite/rewriteDefine.c:330 #, c-format msgid "Use views instead." msgstr "대신에 뷰를 사용하십시오." -#: rewrite/rewriteDefine.c:329 +#: rewrite/rewriteDefine.c:338 #, c-format msgid "multiple actions for rules on SELECT are not implemented" msgstr "SELECT에 대한 다중 실행 룰(rule)은 구현되지 않았습니다" -#: rewrite/rewriteDefine.c:339 +#: rewrite/rewriteDefine.c:348 #, c-format msgid "rules on SELECT must have action INSTEAD SELECT" msgstr "" "SELECT에 대한 룰(rule)은 그 지정에 INSTEAD SELECT 실행규칙을 지정해야만합니다" -#: rewrite/rewriteDefine.c:347 +#: rewrite/rewriteDefine.c:356 #, c-format msgid "rules on SELECT must not contain data-modifying statements in WITH" -msgstr "" +msgstr "SELECT 룰에는 WITH 절 안에 자료 변경 구문을 포함할 수 없습니다." -#: rewrite/rewriteDefine.c:355 +#: rewrite/rewriteDefine.c:364 #, c-format msgid "event qualifications are not implemented for rules on SELECT" msgstr "" "이벤트 자격(event qualifications)은 SELECT 룰(rule)에서 구현되지 않았습니다" -#: rewrite/rewriteDefine.c:382 +#: rewrite/rewriteDefine.c:391 #, c-format msgid "\"%s\" is already a view" msgstr "\"%s\" 이름의 뷰가 이미 있습니다" -#: rewrite/rewriteDefine.c:406 +#: rewrite/rewriteDefine.c:415 #, c-format msgid "view rule for \"%s\" must be named \"%s\"" msgstr "\"%s\" 위한 뷰 룰(view rule)의 이름은 \"%s\" 여야만합니다" -#: rewrite/rewriteDefine.c:434 -#, c-format -msgid "cannot convert partitioned table \"%s\" to a view" -msgstr "\"%s\" 파티션된 테이블은 뷰로 변환할 수 없습니다" - -#: rewrite/rewriteDefine.c:440 -#, c-format -msgid "cannot convert partition \"%s\" to a view" -msgstr "\"%s\" 파티션 테이블은 뷰로 변환할 수 없습니다" - -#: rewrite/rewriteDefine.c:449 -#, c-format -msgid "could not convert table \"%s\" to a view because it is not empty" -msgstr "\"%s\" 테이블에 자료가 있기 때문에, 테이블을 뷰로 변환할 수 없습니다" - -#: rewrite/rewriteDefine.c:458 -#, c-format -msgid "could not convert table \"%s\" to a view because it has triggers" -msgstr "\"%s\" 테이블에 트리거가 포함되어 있어 뷰로 변환할 수 없습니다" - -#: rewrite/rewriteDefine.c:460 -#, c-format -msgid "" -"In particular, the table cannot be involved in any foreign key relationships." -msgstr "특히 테이블은 참조키 관계에 관련될 수 없습니다." - -#: rewrite/rewriteDefine.c:465 -#, c-format -msgid "could not convert table \"%s\" to a view because it has indexes" -msgstr "\"%s\" 테이블에 인덱스가 포함되어 있어 뷰로 변환할 수 없습니다" - -#: rewrite/rewriteDefine.c:471 -#, c-format -msgid "could not convert table \"%s\" to a view because it has child tables" -msgstr "\"%s\" 테이블을 상속 받는 테이블이 있어 뷰로 변활할 수 없습니다" - -#: rewrite/rewriteDefine.c:477 -#, c-format -msgid "" -"could not convert table \"%s\" to a view because it has row security enabled" -msgstr "" -"로우단위 보안 기능을 사용하고 있어 \"%s\" 테이블을 뷰로 변환할 수 없습니다" - -#: rewrite/rewriteDefine.c:483 -#, c-format -msgid "" -"could not convert table \"%s\" to a view because it has row security policies" -msgstr "로우단위 보안 설정이 되어 있어 \"%s\" 테이블을 뷰로 변환할 수 없습니다" - -#: rewrite/rewriteDefine.c:510 +#: rewrite/rewriteDefine.c:442 #, c-format msgid "cannot have multiple RETURNING lists in a rule" msgstr "하나의 rule에서 여러개의 RETURNING 목록을 지정할 수 없습니다" -#: rewrite/rewriteDefine.c:515 +#: rewrite/rewriteDefine.c:447 #, c-format msgid "RETURNING lists are not supported in conditional rules" msgstr "RETURNING 목록은 conditional rule에서는 지원하지 않습니다" -#: rewrite/rewriteDefine.c:519 +#: rewrite/rewriteDefine.c:451 #, c-format msgid "RETURNING lists are not supported in non-INSTEAD rules" msgstr "RETURNING 목록은 non-INSTEAD rule에서는 지원하지 않습니다" -#: rewrite/rewriteDefine.c:683 +#: rewrite/rewriteDefine.c:465 +#, c-format +msgid "non-view rule for \"%s\" must not be named \"%s\"" +msgstr "\"%s\" 위한 뷰가 아닌 룰 이름은 \"%s\" 아니여야 합니다." + +#: rewrite/rewriteDefine.c:539 #, c-format msgid "SELECT rule's target list has too many entries" msgstr "SELECT 룰(rule)의 대상 목록이 너무 많은 엔트리를 가지고 있습니다" -#: rewrite/rewriteDefine.c:684 +#: rewrite/rewriteDefine.c:540 #, c-format msgid "RETURNING list has too many entries" msgstr "RETURNING 목록이 너무 많은 항목를 가지고 있습니다" -#: rewrite/rewriteDefine.c:711 +#: rewrite/rewriteDefine.c:567 #, c-format msgid "cannot convert relation containing dropped columns to view" msgstr "뷰에서 삭제된 칼럼을 포함하고 있는 릴레이션을 변환할 수 없습니다" -#: rewrite/rewriteDefine.c:712 +#: rewrite/rewriteDefine.c:568 #, c-format msgid "" "cannot create a RETURNING list for a relation containing dropped columns" msgstr "" "릴레이션에 삭제된 칼럼을 포함하고 있는 RETURNING 목록을 만들 수 없습니다." -#: rewrite/rewriteDefine.c:718 +#: rewrite/rewriteDefine.c:574 #, c-format msgid "" "SELECT rule's target entry %d has different column name from column \"%s\"" msgstr "SELECT 룰(rule)의 대상 엔트리 번호가(%d)가 \"%s\" 칼럼 이름과 틀립니다" -#: rewrite/rewriteDefine.c:720 +#: rewrite/rewriteDefine.c:576 #, c-format msgid "SELECT target entry is named \"%s\"." msgstr "SELECT 대상 엔트리 이름은 \"%s\" 입니다." -#: rewrite/rewriteDefine.c:729 +#: rewrite/rewriteDefine.c:585 #, c-format msgid "SELECT rule's target entry %d has different type from column \"%s\"" msgstr "SELECT 룰(rule)의 대상 엔트리 번호(%d)가 \"%s\" 칼럼 자료형과 틀립니다" -#: rewrite/rewriteDefine.c:731 +#: rewrite/rewriteDefine.c:587 #, c-format msgid "RETURNING list's entry %d has different type from column \"%s\"" msgstr "RETURNING 목록의 %d번째 항목의 자료형이 \"%s\" 칼럼 자료형과 틀립니다" -#: rewrite/rewriteDefine.c:734 rewrite/rewriteDefine.c:758 +#: rewrite/rewriteDefine.c:590 rewrite/rewriteDefine.c:614 #, c-format msgid "SELECT target entry has type %s, but column has type %s." msgstr "SELECT 대상 엔트리 자료형은 %s 형이지만, 칼럼 자료형은 %s 형입니다." -#: rewrite/rewriteDefine.c:737 rewrite/rewriteDefine.c:762 +#: rewrite/rewriteDefine.c:593 rewrite/rewriteDefine.c:618 #, c-format msgid "RETURNING list entry has type %s, but column has type %s." msgstr "RETURNING 목록은 %s 자료형이지만, 칼럼 자료형은 %s 형입니다." -#: rewrite/rewriteDefine.c:753 +#: rewrite/rewriteDefine.c:609 #, c-format msgid "SELECT rule's target entry %d has different size from column \"%s\"" msgstr "SELECT 룰(rule)의 대상 엔트리 번호(%d)가 \"%s\" 칼럼 크기와 틀립니다" -#: rewrite/rewriteDefine.c:755 +#: rewrite/rewriteDefine.c:611 #, c-format msgid "RETURNING list's entry %d has different size from column \"%s\"" msgstr "RETURNING 목록의 %d번째 항목의 크기가 \"%s\" 칼럼 크기와 틀립니다" -#: rewrite/rewriteDefine.c:772 +#: rewrite/rewriteDefine.c:628 #, c-format msgid "SELECT rule's target list has too few entries" msgstr "SELECT 룰(rule)의 대상 목록이 너무 적은 엔트리를 가지고 있습니다" -#: rewrite/rewriteDefine.c:773 +#: rewrite/rewriteDefine.c:629 #, c-format msgid "RETURNING list has too few entries" msgstr "RETURNING 목록에 너무 적은 항목이 있습니다" -#: rewrite/rewriteDefine.c:866 rewrite/rewriteDefine.c:980 +#: rewrite/rewriteDefine.c:718 rewrite/rewriteDefine.c:833 #: rewrite/rewriteSupport.c:109 #, c-format msgid "rule \"%s\" for relation \"%s\" does not exist" msgstr " \"%s\" 룰(rule)이 \"%s\" 관계(relation)에 지정된 것이 없음" -#: rewrite/rewriteDefine.c:999 +#: rewrite/rewriteDefine.c:852 #, c-format msgid "renaming an ON SELECT rule is not allowed" msgstr "ON SELECT 룰의 이름 바꾸기는 허용하지 않습니다" -#: rewrite/rewriteHandler.c:545 +#: rewrite/rewriteHandler.c:583 #, c-format msgid "" "WITH query name \"%s\" appears in both a rule action and the query being " "rewritten" +msgstr "\"%s\" 이름의 WITH 쿼리가 룰 동작과 쿼리 재작성 두 곳 모두에 보입니다." + +#: rewrite/rewriteHandler.c:610 +#, c-format +msgid "" +"INSERT ... SELECT rule actions are not supported for queries having data-" +"modifying statements in WITH" msgstr "" +"INSERT...SELECT 룰 액션에는 WITH 절 안에 자료 변경 구문을 지원하지 않습니다." -#: rewrite/rewriteHandler.c:605 +#: rewrite/rewriteHandler.c:663 #, c-format msgid "cannot have RETURNING lists in multiple rules" msgstr "multiple rule에 RETURNING 목록을 지정할 수 없습니다" -#: rewrite/rewriteHandler.c:816 rewrite/rewriteHandler.c:828 +#: rewrite/rewriteHandler.c:895 rewrite/rewriteHandler.c:934 #, c-format -msgid "cannot insert into column \"%s\"" -msgstr "\"%s\" 칼럼에 자료를 입력할 수 없습니다" +msgid "cannot insert a non-DEFAULT value into column \"%s\"" +msgstr "\"%s\" 칼럼에 non-DEFAULT 값을 입력할 수 없습니다" -#: rewrite/rewriteHandler.c:817 rewrite/rewriteHandler.c:839 +#: rewrite/rewriteHandler.c:897 rewrite/rewriteHandler.c:963 #, c-format msgid "Column \"%s\" is an identity column defined as GENERATED ALWAYS." -msgstr "" +msgstr "\"%s\" 칼럼은 GENERATED ALWAYS 속성의 식별자 칼럼입니다." -#: rewrite/rewriteHandler.c:819 +#: rewrite/rewriteHandler.c:899 #, c-format msgid "Use OVERRIDING SYSTEM VALUE to override." -msgstr "" +msgstr "이 속성을 무시하려면, OVERRIDING SYSTEM VALUE 옵션을 사용하세요." -#: rewrite/rewriteHandler.c:838 rewrite/rewriteHandler.c:845 +#: rewrite/rewriteHandler.c:961 rewrite/rewriteHandler.c:969 #, c-format msgid "column \"%s\" can only be updated to DEFAULT" msgstr "\"%s\" 칼럼은 DEFAULT 로만 업데이트 가능합니다" -#: rewrite/rewriteHandler.c:1014 rewrite/rewriteHandler.c:1032 +#: rewrite/rewriteHandler.c:1116 rewrite/rewriteHandler.c:1134 #, c-format msgid "multiple assignments to same column \"%s\"" msgstr "같은 \"%s\" 열에 지정값(assignment)이 중복되었습니다" -#: rewrite/rewriteHandler.c:2062 +#: rewrite/rewriteHandler.c:2119 rewrite/rewriteHandler.c:4040 +#, c-format +msgid "infinite recursion detected in rules for relation \"%s\"" +msgstr "" +"\"%s\" 릴레이션(relation)에서 지정된 룰에서 잘못된 재귀호출이 발견되었습니다" + +#: rewrite/rewriteHandler.c:2204 #, c-format msgid "infinite recursion detected in policy for relation \"%s\"" msgstr "\"%s\" 릴레이션의 정책에서 무한 재귀 호출이 발견 됨" -#: rewrite/rewriteHandler.c:2382 +#: rewrite/rewriteHandler.c:2524 msgid "Junk view columns are not updatable." msgstr "정크 뷰 칼럼은 업데이트할 수 없습니다." -#: rewrite/rewriteHandler.c:2387 +#: rewrite/rewriteHandler.c:2529 msgid "" "View columns that are not columns of their base relation are not updatable." msgstr "" +"뷰의 바탕이 되는 릴레이션의 칼럼이 아닌 뷰 칼럼은 업데이트 될 수 없습니다." -#: rewrite/rewriteHandler.c:2390 +#: rewrite/rewriteHandler.c:2532 msgid "View columns that refer to system columns are not updatable." -msgstr "" +msgstr "시스템 칼럼이 원본인 뷰 칼럼은 업데이트 될 수 없습니다." -#: rewrite/rewriteHandler.c:2393 +#: rewrite/rewriteHandler.c:2535 msgid "View columns that return whole-row references are not updatable." -msgstr "" +msgstr "로우 전체를 참조하는 뷰 칼럼은 업데이트 될 수 없습니다." -#: rewrite/rewriteHandler.c:2454 +#: rewrite/rewriteHandler.c:2596 msgid "Views containing DISTINCT are not automatically updatable." -msgstr "" +msgstr "DISTINCT 조건이 있는 뷰는 자동으로 업데이트 될 수 없습니다." -#: rewrite/rewriteHandler.c:2457 +#: rewrite/rewriteHandler.c:2599 msgid "Views containing GROUP BY are not automatically updatable." -msgstr "" +msgstr "GROUP BY 절이 있는 뷰는 자동으로 업데이트 될 수 없습니다." -#: rewrite/rewriteHandler.c:2460 +#: rewrite/rewriteHandler.c:2602 msgid "Views containing HAVING are not automatically updatable." -msgstr "" +msgstr "HAVING 절이 있는 뷰는 자동으로 업데이트 될 수 없습니다." -#: rewrite/rewriteHandler.c:2463 +#: rewrite/rewriteHandler.c:2605 msgid "" "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable." msgstr "" +"UNION, INTERSECT, EXCEPT를 포함하는 뷰는 자동으로 업데이트 될 수 없습니다." -#: rewrite/rewriteHandler.c:2466 +#: rewrite/rewriteHandler.c:2608 msgid "Views containing WITH are not automatically updatable." -msgstr "" +msgstr "WITH 절을 포함하는 뷰는 자동으로 업데이트 될 수 없습니다." -#: rewrite/rewriteHandler.c:2469 +#: rewrite/rewriteHandler.c:2611 msgid "Views containing LIMIT or OFFSET are not automatically updatable." msgstr "" +"LIMIT 또는 OFFSET 구문을 포함하는 뷰는 자동으로 업데이트 될 수 없습니다." -#: rewrite/rewriteHandler.c:2481 +#: rewrite/rewriteHandler.c:2623 msgid "Views that return aggregate functions are not automatically updatable." -msgstr "" +msgstr "집계 함수를 반환하는 뷰는 자동으로 업데이트 될 수 없습니다." -#: rewrite/rewriteHandler.c:2484 +#: rewrite/rewriteHandler.c:2626 msgid "Views that return window functions are not automatically updatable." -msgstr "" +msgstr "윈도우 함수를 반환하는 뷰는 자동으로 업데이트 될 수 없습니다." -#: rewrite/rewriteHandler.c:2487 +#: rewrite/rewriteHandler.c:2629 msgid "" "Views that return set-returning functions are not automatically updatable." -msgstr "" +msgstr "집합 반환 함수를 반환하는 뷰는 자동으로 업데이트 될 수 없습니다." -#: rewrite/rewriteHandler.c:2494 rewrite/rewriteHandler.c:2498 -#: rewrite/rewriteHandler.c:2506 +#: 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 "" +"단일 테이블 또는 단일 뷰를 SELECT 하지 않는 뷰는 자동으로 업데이트 될 수 없습" +"니다." -#: rewrite/rewriteHandler.c:2509 +#: rewrite/rewriteHandler.c:2651 msgid "Views containing TABLESAMPLE are not automatically updatable." -msgstr "" +msgstr "TABLESAMPLE 구문을 포함하는 뷰는 자동으로 업데이트 될 수 없습니다." -#: rewrite/rewriteHandler.c:2533 +#: rewrite/rewriteHandler.c:2675 msgid "Views that have no updatable columns are not automatically updatable." -msgstr "" +msgstr "업데이트 가능한 칼럼이 없는 뷰는 자동으로 업데이트 될 수 없습니다." -#: rewrite/rewriteHandler.c:3010 +#: rewrite/rewriteHandler.c:3155 #, c-format msgid "cannot insert into column \"%s\" of view \"%s\"" msgstr "\"%s\" 칼럼 (해당 뷰: \"%s\")에 자료를 입력할 수 없습니다" -#: rewrite/rewriteHandler.c:3018 +#: rewrite/rewriteHandler.c:3163 #, c-format msgid "cannot update column \"%s\" of view \"%s\"" msgstr "\"%s\" 칼럼 (해당 뷰: \"%s\")에 자료를 갱신할 수 없습니다" -#: rewrite/rewriteHandler.c:3496 +#: rewrite/rewriteHandler.c:3667 +#, 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 #, c-format msgid "" "DO INSTEAD NOTHING rules are not supported for data-modifying statements in " "WITH" msgstr "" +"DO INSTEAD NOTHING 룰에서는 WITH 절 안에 자료 변경 구문이 없어야 합니다" -#: rewrite/rewriteHandler.c:3510 +#: rewrite/rewriteHandler.c:3692 #, c-format msgid "" "conditional DO INSTEAD rules are not supported for data-modifying statements " "in WITH" -msgstr "" +msgstr "선택적 DO INSTEAD 룰에서는 WITH 절 안에 자료 변경 구문이 없어야 합니다" -#: rewrite/rewriteHandler.c:3514 +#: rewrite/rewriteHandler.c:3696 #, c-format msgid "DO ALSO rules are not supported for data-modifying statements in WITH" -msgstr "" +msgstr "DO ALSO 룰에서는 WITH 절 안에 자료 변경 구문이 없어야 합니다" -#: rewrite/rewriteHandler.c:3519 +#: rewrite/rewriteHandler.c:3701 #, c-format msgid "" "multi-statement DO INSTEAD rules are not supported for data-modifying " "statements in WITH" msgstr "" +"여러 구문으로 구성된 DO INSTEAD 룰에서는 WITH 절 안에 자료 변경 구문이 없어" +"야 합니다" -#: rewrite/rewriteHandler.c:3710 rewrite/rewriteHandler.c:3718 -#: rewrite/rewriteHandler.c:3726 +#: rewrite/rewriteHandler.c:3968 rewrite/rewriteHandler.c:3976 +#: rewrite/rewriteHandler.c:3984 #, c-format msgid "" "Views with conditional DO INSTEAD rules are not automatically updatable." msgstr "" "선택적 DO INSTEAD 룰을 포함한 뷰는 자동 업데이트 기능을 사용할 수 없습니다." -#: rewrite/rewriteHandler.c:3819 +#: rewrite/rewriteHandler.c:4089 #, c-format msgid "cannot perform INSERT RETURNING on relation \"%s\"" msgstr "\"%s\" 릴레이션에서 INSERT RETURNING 관련을 구성할 수 없음" -#: rewrite/rewriteHandler.c:3821 +#: rewrite/rewriteHandler.c:4091 #, c-format msgid "" "You need an unconditional ON INSERT DO INSTEAD rule with a RETURNING clause." msgstr "" -"RETURNING 절에서는 무조건 ON INSERT DO INSTEAD 속성으로 rule이 사용되어야합니" -"다." +"RETURNING 절에서는 무조건 ON INSERT DO INSTEAD 속성으로 rule이 사용되어야 합" +"니다." -#: rewrite/rewriteHandler.c:3826 +#: rewrite/rewriteHandler.c:4096 #, c-format msgid "cannot perform UPDATE RETURNING on relation \"%s\"" msgstr "\"%s\" 릴레이션에서 UPDATE RETURNING 관련을 구성할 수 없습니다." -#: rewrite/rewriteHandler.c:3828 +#: rewrite/rewriteHandler.c:4098 #, c-format msgid "" "You need an unconditional ON UPDATE DO INSTEAD rule with a RETURNING clause." msgstr "" -"RETURNING 절에서는 무조건 ON UPDATE DO INSTEAD 속성으로 rule이 사용되어야합니" -"다." +"RETURNING 절에서는 무조건 ON UPDATE DO INSTEAD 속성으로 rule이 사용되어야 합" +"니다." -#: rewrite/rewriteHandler.c:3833 +#: rewrite/rewriteHandler.c:4103 #, c-format msgid "cannot perform DELETE RETURNING on relation \"%s\"" msgstr "\"%s\" 릴레이션에서 DELETE RETURNING 관련을 구성할 수 없습니다." -#: rewrite/rewriteHandler.c:3835 +#: rewrite/rewriteHandler.c:4105 #, c-format msgid "" "You need an unconditional ON DELETE DO INSTEAD rule with a RETURNING clause." msgstr "" -"TURNING 절에서는 무조건 ON DELETE DO INSTEAD 속성으로 rule이 사용되어야합니다" +"TURNING 절에서는 무조건 ON DELETE DO INSTEAD 속성으로 rule이 사용되어야 합니" +"다" -#: rewrite/rewriteHandler.c:3853 +#: rewrite/rewriteHandler.c:4123 #, c-format msgid "" "INSERT with ON CONFLICT clause cannot be used with table that has INSERT or " "UPDATE rules" msgstr "" +"INSERT 또는 UPDATE 룰이 지정된 테이블을 대상으로 INSERT ... ON CONFLICT 구문" +"은 사용할 수 없습니다." -#: rewrite/rewriteHandler.c:3910 +#: rewrite/rewriteHandler.c:4180 #, c-format msgid "" "WITH cannot be used in a query that is rewritten by rules into multiple " "queries" msgstr "" +"WITH 절은 다중 쿼리 작업을 하는 룰로 재작성되는 쿼리 안에서는 사용할 수 없습" +"니다." -#: rewrite/rewriteManip.c:1006 +#: rewrite/rewriteManip.c:1075 #, c-format msgid "conditional utility statements are not implemented" msgstr "" "조건 유틸리티 명령 구문(conditional utility statement)은 구현되어있지 않습니" "다" -#: rewrite/rewriteManip.c:1172 +#: rewrite/rewriteManip.c:1419 #, c-format msgid "WHERE CURRENT OF on a view is not implemented" msgstr "뷰에 대한 WHERE CURRENT OF 구문이 구현되지 않음" -#: rewrite/rewriteManip.c:1507 +#: 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 "" +"ON UPDATE 룰에서 쓰는 NEW 변수는 주 UPDATE 구문안에 다중으로 지정된 칼럼 가운" +"데 한 부분인 칼럼을 참조할 수 없습니다." + +#: rewrite/rewriteSearchCycle.c:410 +#, 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 "" +"재귀 호출을 이용하는 \"%s\" WITH 쿼리를 SEARCH 또는 CYCLE 절과 함께 쓸 때는 " +"오른편 SELECT는 최상위 수준이어야 합니다." -#: snowball/dict_snowball.c:199 +#: snowball/dict_snowball.c:215 #, c-format msgid "no Snowball stemmer available for language \"%s\" and encoding \"%s\"" msgstr "\"%s\" 언어 및 \"%s\" 인코딩에 사용 가능한 Snowball stemmer가 없음" -#: snowball/dict_snowball.c:222 tsearch/dict_ispell.c:74 +#: snowball/dict_snowball.c:238 tsearch/dict_ispell.c:74 #: tsearch/dict_simple.c:49 #, c-format msgid "multiple StopWords parameters" msgstr "StopWords 매개 변수가 여러 개 있음" -#: snowball/dict_snowball.c:231 +#: snowball/dict_snowball.c:247 #, c-format msgid "multiple Language parameters" msgstr "여러 개의 언어 매개 변수가 있음" -#: snowball/dict_snowball.c:238 +#: snowball/dict_snowball.c:254 #, c-format msgid "unrecognized Snowball parameter: \"%s\"" msgstr "인식할 수 없는 Snowball 매개 변수: \"%s\"" -#: snowball/dict_snowball.c:246 +#: snowball/dict_snowball.c:262 #, c-format msgid "missing Language parameter" msgstr "Language 매개 변수가 누락됨" -#: statistics/dependencies.c:667 statistics/dependencies.c:720 -#: statistics/mcv.c:1477 statistics/mcv.c:1508 statistics/mvdistinct.c:348 -#: statistics/mvdistinct.c:401 utils/adt/pseudotypes.c:42 -#: utils/adt/pseudotypes.c:76 -#, c-format -msgid "cannot accept a value of type %s" -msgstr "%s 형식의 값은 사용할 수 없음" - -#: statistics/extended_stats.c:145 +#: statistics/extended_stats.c:179 #, c-format msgid "" "statistics object \"%s.%s\" could not be computed for relation \"%s.%s\"" msgstr "\"%s.%s\" 통계정보 개체를 계산 할 수 없음: 대상 릴레이션: \"%s.%s\"" -#: statistics/mcv.c:1365 utils/adt/jsonfuncs.c:1800 +#: statistics/mcv.c:1372 #, c-format msgid "" "function returning record called in context that cannot accept type record" msgstr "반환 자료형이 record인데 함수가 그 자료형으로 반환하지 않음" -#: storage/buffer/bufmgr.c:588 storage/buffer/bufmgr.c:669 +#: storage/buffer/bufmgr.c:612 storage/buffer/bufmgr.c:769 #, c-format msgid "cannot access temporary tables of other sessions" msgstr "다른 세션의 임시 테이블에 액세스할 수 없음" -#: storage/buffer/bufmgr.c:825 +#: storage/buffer/bufmgr.c:1137 +#, c-format +msgid "invalid page in block %u of relation %s; zeroing out page" +msgstr "" +"%u 블록(해당 릴레이션: %s)에 잘못된 페이지 헤더가 있음, 페이지를 삭제하는 중" + +#: storage/buffer/bufmgr.c:1931 storage/buffer/localbuf.c:359 +#, c-format +msgid "cannot extend relation %s beyond %u blocks" +msgstr "%s 릴레이션은 %u개 블록을 초과하여 확장할 수 없음" + +#: storage/buffer/bufmgr.c:1998 #, c-format msgid "unexpected data beyond EOF in block %u of relation %s" msgstr "%u 블록(해당 릴레이션: %s)에 EOF 범위를 넘는 예기치 않은 데이터가 있음" -#: storage/buffer/bufmgr.c:827 +#: storage/buffer/bufmgr.c:2000 #, c-format msgid "" "This has been seen to occur with buggy kernels; consider updating your " "system." msgstr "이 문제는 커널의 문제로 알려졌습니다. 시스템을 업데이트하십시오." -#: storage/buffer/bufmgr.c:925 -#, c-format -msgid "invalid page in block %u of relation %s; zeroing out page" -msgstr "" -"%u 블록(해당 릴레이션: %s)에 잘못된 페이지 헤더가 있음, 페이지를 삭제하는 중" - -#: storage/buffer/bufmgr.c:4211 +#: storage/buffer/bufmgr.c:5219 #, c-format msgid "could not write block %u of %s" msgstr "%u/%s 블록을 쓸 수 없음" -#: storage/buffer/bufmgr.c:4213 +#: storage/buffer/bufmgr.c:5221 #, c-format msgid "Multiple failures --- write error might be permanent." msgstr "여러 번 실패 --- 쓰기 오류가 영구적일 수 있습니다." -#: storage/buffer/bufmgr.c:4234 storage/buffer/bufmgr.c:4253 +#: storage/buffer/bufmgr.c:5243 storage/buffer/bufmgr.c:5263 #, c-format msgid "writing block %u of relation %s" msgstr "%u 블록(해당 릴레이션: %s)을 쓰는 중" -#: storage/buffer/bufmgr.c:4556 +#: storage/buffer/bufmgr.c:5593 #, c-format msgid "snapshot too old" -msgstr "" +msgstr "스냅샷 너무 오래됨" -#: storage/buffer/localbuf.c:205 +#: storage/buffer/localbuf.c:219 #, c-format msgid "no empty local buffer available" msgstr "비어 있는 로컬 버퍼가 없습니다" -#: storage/buffer/localbuf.c:433 +#: storage/buffer/localbuf.c:592 #, c-format msgid "cannot access temporary tables during a parallel operation" msgstr "병렬 작업 중에 임시 테이블에 액세스할 수 없음" -#: storage/file/buffile.c:319 +#: storage/buffer/localbuf.c:699 +#, c-format +msgid "" +"\"temp_buffers\" cannot be changed after any temporary tables have been " +"accessed in the session." +msgstr "" +"해당 세션에서 어떤 임시 테이블도 사용하고 있지 않아야 \"temp_buffers\" 설정" +"을 변경할 수 있습니다." + +#: storage/file/buffile.c:338 +#, c-format +msgid "could not open temporary file \"%s\" from BufFile \"%s\": %m" +msgstr "\"%s\" 임시 파일을 열 수 없음, 버퍼파일: \"%s\": %m" + +#: storage/file/buffile.c:632 +#, c-format +msgid "could not read from file set \"%s\": read only %zu of %zu bytes" +msgstr "\"%s\" 파일 세트를 읽을 수 없음: %zu 바이트만 읽음 (전체: %zu)" + +#: storage/file/buffile.c:634 #, c-format -msgid "could not open temporary file \"%s\" from BufFile \"%s\": %m" -msgstr "\"%s\" 임시 파일을 열 수 없음, 버퍼파일: \"%s\": %m" +msgid "could not read from temporary file: read only %zu of %zu bytes" +msgstr "임시 파일을 읽을 수 없음: %zu 바이트만 읽음 (전체: %zu)" -#: storage/file/buffile.c:795 +#: storage/file/buffile.c:774 storage/file/buffile.c:895 #, c-format msgid "" "could not determine size of temporary file \"%s\" from BufFile \"%s\": %m" msgstr "\"%s\" 임시 파일의 크기를 알 수 없음, 버퍼파일: \"%s\": %m" -#: storage/file/fd.c:508 storage/file/fd.c:580 storage/file/fd.c:616 +#: storage/file/buffile.c:974 +#, c-format +msgid "could not delete fileset \"%s\": %m" +msgstr "\"%s\" 파일 세트를 지울 수 없음: %m" + +#: storage/file/buffile.c:992 storage/smgr/md.c:338 storage/smgr/md.c:1041 +#, c-format +msgid "could not truncate file \"%s\": %m" +msgstr "\"%s\" 파일을 비울 수 없음: %m" + +#: storage/file/fd.c:537 storage/file/fd.c:609 storage/file/fd.c:645 #, c-format msgid "could not flush dirty data: %m" msgstr "dirty 자료를 flush 할 수 없음: %m" -#: storage/file/fd.c:538 +#: storage/file/fd.c:567 #, c-format msgid "could not determine dirty data size: %m" msgstr "dirty 자료 크기를 확인할 수 없음: %m" -#: storage/file/fd.c:590 +#: storage/file/fd.c:619 #, c-format msgid "could not munmap() while flushing data: %m" msgstr "자료 flush 작업 도중 munmap() 호출 실패: %m" -#: storage/file/fd.c:798 -#, c-format -msgid "could not link file \"%s\" to \"%s\": %m" -msgstr "\"%s\" 파일을 \"%s\" 파일로 링크할 수 없음: %m" - -#: storage/file/fd.c:881 +#: storage/file/fd.c:937 #, c-format msgid "getrlimit failed: %m" msgstr "getrlimit 실패: %m" -#: storage/file/fd.c:971 +#: storage/file/fd.c:1027 #, c-format msgid "insufficient file descriptors available to start server process" msgstr "" @@ -20824,181 +23250,261 @@ msgstr "" "그램에서 너무 많은 파일을 열어 두고 있습니다. 다른 프로그램들을 좀 닫고 다시 " "시도해 보십시오" -#: storage/file/fd.c:972 +#: storage/file/fd.c:1028 #, c-format -msgid "System allows %d, we need at least %d." +msgid "System allows %d, server needs at least %d." msgstr "시스템 허용치 %d, 서버 최소 허용치 %d." -#: storage/file/fd.c:1023 storage/file/fd.c:2357 storage/file/fd.c:2467 -#: storage/file/fd.c:2618 +#: 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 "" "열려 있는 파일이 너무 많습니다: %m; 다른 프로그램들을 좀 닫고 다시 시도해 보" "십시오" -#: storage/file/fd.c:1397 +#: storage/file/fd.c:1490 #, c-format msgid "temporary file: path \"%s\", size %lu" msgstr "임시 파일: 경로 \"%s\", 크기 %lu" -#: storage/file/fd.c:1528 +#: storage/file/fd.c:1629 #, c-format msgid "cannot create temporary directory \"%s\": %m" msgstr "\"%s\" 임시 디렉터리를 만들 수 없음: %m" -#: storage/file/fd.c:1535 +#: storage/file/fd.c:1636 #, c-format msgid "cannot create temporary subdirectory \"%s\": %m" msgstr "\"%s\" 임시 하위 디렉터리를 만들 수 없음: %m" -#: storage/file/fd.c:1728 +#: storage/file/fd.c:1833 #, c-format msgid "could not create temporary file \"%s\": %m" msgstr "\"%s\" 임시 파일을 만들 수 없습니다: %m" -#: storage/file/fd.c:1763 +#: storage/file/fd.c:1869 #, c-format msgid "could not open temporary file \"%s\": %m" msgstr "\"%s\" 임시 파일을 열 수 없음: %m" -#: storage/file/fd.c:1804 +#: storage/file/fd.c:1910 #, c-format msgid "could not unlink temporary file \"%s\": %m" msgstr "\"%s\" 임시 파일을 지울 수 없음: %m" -#: storage/file/fd.c:2068 +#: storage/file/fd.c:1998 +#, c-format +msgid "could not delete file \"%s\": %m" +msgstr "\"%s\" 파일을 지울 수 없음: %m" + +#: storage/file/fd.c:2185 #, c-format msgid "temporary file size exceeds temp_file_limit (%dkB)" msgstr "임시 파일 크기가 temp_file_limit (%dkB)를 초과했습니다" -#: storage/file/fd.c:2333 storage/file/fd.c:2392 +#: storage/file/fd.c:2541 storage/file/fd.c:2600 #, c-format msgid "exceeded maxAllocatedDescs (%d) while trying to open file \"%s\"" -msgstr "" +msgstr "maxAllocatedDescs (%d) 초과됨, \"%s\" 파일 열기 시도 중에." -#: storage/file/fd.c:2437 +#: storage/file/fd.c:2645 #, c-format msgid "exceeded maxAllocatedDescs (%d) while trying to execute command \"%s\"" -msgstr "" +msgstr "maxAllocatedDescs (%d) 초과됨, \"%s\" 명령을 시도 중에." -#: storage/file/fd.c:2594 +#: storage/file/fd.c:2801 #, c-format msgid "exceeded maxAllocatedDescs (%d) while trying to open directory \"%s\"" -msgstr "" +msgstr "maxAllocatedDescs (%d) 초과됨, \"%s\" 디렉터리 열기 시도 중에." -#: storage/file/fd.c:3122 +#: storage/file/fd.c:3331 #, c-format msgid "unexpected file found in temporary-files directory: \"%s\"" msgstr "임시 디렉터리에서 예상치 못한 파일 발견: \"%s\"" -#: storage/file/sharedfileset.c:111 +#: storage/file/fd.c:3449 +#, c-format +msgid "" +"syncing data directory (syncfs), elapsed time: %ld.%02d s, current path: %s" +msgstr "데이터 디렉터리 동기화(syncfs), 소요 시간: %ld.%02d s, 현재 경로: %s" + +#: storage/file/fd.c:3463 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "\"%s\" 파일 대상으로 파일 시스템 동기화를 할 수 없습니다: %m" + +#: storage/file/fd.c:3676 +#, c-format +msgid "" +"syncing data directory (pre-fsync), elapsed time: %ld.%02d s, current path: " +"%s" +msgstr "" +"데이터 디렉터리 동기화(pre-fsync), 소요 시간: %ld.%02d s, 현재 경로: %s" + +#: storage/file/fd.c:3708 +#, c-format +msgid "" +"syncing data directory (fsync), elapsed time: %ld.%02d s, current path: %s" +msgstr "데이터 디렉터리 동기화(fsync), 소요 시간: %ld.%02d s, 현재 경로: %s" + +#: storage/file/fd.c:3897 +#, c-format +msgid "debug_io_direct is not supported on this platform." +msgstr "debug_io_direct 설정은 이 플랫폼에서 지원되지 않음" + +#: storage/file/fd.c:3944 +#, c-format +msgid "" +"debug_io_direct is not supported for WAL because XLOG_BLCKSZ is too small" +msgstr "" +"XLOG_BLCKSZ 값이 너무 작은 WAL을 사용하고 있어 debug_io_direct 기능을 지원하" +"지 않습니다." + +#: storage/file/fd.c:3951 +#, c-format +msgid "debug_io_direct is not supported for data because BLCKSZ is too small" +msgstr "BLCKSZ 값이 너무 작아 debug_io_direct 기능을 지원하지 않습니다." + +#: storage/file/reinit.c:145 +#, c-format +msgid "" +"resetting unlogged relations (init), elapsed time: %ld.%02d s, current path: " +"%s" +msgstr "" +"로그 안남기는 릴레이션 재설정 (init), 소요 시간: %ld.%02d s, 현재 경로: %s" + +#: storage/file/reinit.c:148 +#, c-format +msgid "" +"resetting unlogged relations (cleanup), elapsed time: %ld.%02d s, current " +"path: %s" +msgstr "" +"로그 안남기는 릴레이션 재설정 (cleanup), 소요 시간: %ld.%02d s, 현재 경로: %s" + +#: storage/file/sharedfileset.c:79 #, c-format msgid "could not attach to a SharedFileSet that is already destroyed" msgstr "SharedFileSet 확보 실패, 이미 삭제되었음" -#: storage/ipc/dsm.c:338 +#: storage/ipc/dsm.c:352 #, c-format msgid "dynamic shared memory control segment is corrupt" msgstr "동적 공유 메모리 제어 조각이 손상되었음" -#: storage/ipc/dsm.c:399 +#: storage/ipc/dsm.c:417 #, c-format msgid "dynamic shared memory control segment is not valid" msgstr "동적 공유 메모리 제어 조각이 타당하지 않음" -#: storage/ipc/dsm.c:494 +#: storage/ipc/dsm.c:599 #, c-format msgid "too many dynamic shared memory segments" msgstr "너무 많은 동적 공유 메모리 조각이 있음" -#: storage/ipc/dsm_impl.c:230 storage/ipc/dsm_impl.c:526 -#: storage/ipc/dsm_impl.c:630 storage/ipc/dsm_impl.c:801 +#: storage/ipc/dsm_impl.c:231 storage/ipc/dsm_impl.c:537 +#: storage/ipc/dsm_impl.c:641 storage/ipc/dsm_impl.c:812 #, c-format msgid "could not unmap shared memory segment \"%s\": %m" msgstr "\"%s\" 공유 메모리 조각을 unmap 할 수 없음: %m" -#: storage/ipc/dsm_impl.c:240 storage/ipc/dsm_impl.c:536 -#: storage/ipc/dsm_impl.c:640 storage/ipc/dsm_impl.c:811 +#: storage/ipc/dsm_impl.c:241 storage/ipc/dsm_impl.c:547 +#: storage/ipc/dsm_impl.c:651 storage/ipc/dsm_impl.c:822 #, c-format msgid "could not remove shared memory segment \"%s\": %m" msgstr "\"%s\" 공유 메모리 조각을 삭제할 수 없음: %m" -#: storage/ipc/dsm_impl.c:264 storage/ipc/dsm_impl.c:711 -#: storage/ipc/dsm_impl.c:825 +#: storage/ipc/dsm_impl.c:265 storage/ipc/dsm_impl.c:722 +#: storage/ipc/dsm_impl.c:836 #, c-format msgid "could not open shared memory segment \"%s\": %m" msgstr "\"%s\" 공유 메모리 조각을 열 수 없음: %m" -#: storage/ipc/dsm_impl.c:289 storage/ipc/dsm_impl.c:552 -#: storage/ipc/dsm_impl.c:756 storage/ipc/dsm_impl.c:849 +#: storage/ipc/dsm_impl.c:290 storage/ipc/dsm_impl.c:563 +#: storage/ipc/dsm_impl.c:767 storage/ipc/dsm_impl.c:860 #, c-format msgid "could not stat shared memory segment \"%s\": %m" msgstr "\"%s\" 공유 메모리 조각 파일의 상태를 알 수 없음: %m" -#: storage/ipc/dsm_impl.c:316 storage/ipc/dsm_impl.c:900 +#: storage/ipc/dsm_impl.c:309 storage/ipc/dsm_impl.c:911 #, c-format msgid "could not resize shared memory segment \"%s\" to %zu bytes: %m" msgstr "\"%s\" 공유 메모리 조각 파일을 %zu 바이트로 크기 조절 할 수 없음: %m" -#: storage/ipc/dsm_impl.c:338 storage/ipc/dsm_impl.c:573 -#: storage/ipc/dsm_impl.c:732 storage/ipc/dsm_impl.c:922 +#: storage/ipc/dsm_impl.c:331 storage/ipc/dsm_impl.c:584 +#: storage/ipc/dsm_impl.c:743 storage/ipc/dsm_impl.c:933 #, c-format msgid "could not map shared memory segment \"%s\": %m" msgstr "\"%s\" 공유 메모리 조각을 map 할 수 없음: %m" -#: storage/ipc/dsm_impl.c:508 +#: storage/ipc/dsm_impl.c:519 #, c-format msgid "could not get shared memory segment: %m" msgstr "공유 메모리 조각을 가져올 수 없음: %m" -#: storage/ipc/dsm_impl.c:696 +#: storage/ipc/dsm_impl.c:707 #, c-format msgid "could not create shared memory segment \"%s\": %m" msgstr "\"%s\" 공유 메모리 조각을 만들 수 없음: %m" -#: storage/ipc/dsm_impl.c:933 +#: storage/ipc/dsm_impl.c:944 #, c-format msgid "could not close shared memory segment \"%s\": %m" msgstr "\"%s\" 공유 메모리 조각을 닫을 수 없음: %m" -#: storage/ipc/dsm_impl.c:972 storage/ipc/dsm_impl.c:1020 +#: storage/ipc/dsm_impl.c:984 storage/ipc/dsm_impl.c:1033 #, c-format msgid "could not duplicate handle for \"%s\": %m" msgstr "\"%s\" 용 헨들러를 이중화 할 수 없음: %m" -#. translator: %s is a syscall name, such as "poll()" -#: storage/ipc/latch.c:940 storage/ipc/latch.c:1094 storage/ipc/latch.c:1307 -#: storage/ipc/latch.c:1457 storage/ipc/latch.c:1570 -#, c-format -msgid "%s failed: %m" -msgstr "%s 실패: %m" - -#: storage/ipc/procarray.c:3014 +#: storage/ipc/procarray.c:3796 #, c-format msgid "database \"%s\" is being used by prepared transactions" msgstr "\"%s\" 데이터베이스가 미리 준비된 트랜잭션에서 사용중임" -#: storage/ipc/procarray.c:3046 storage/ipc/signalfuncs.c:142 +#: storage/ipc/procarray.c:3828 storage/ipc/procarray.c:3837 +#: storage/ipc/signalfuncs.c:230 storage/ipc/signalfuncs.c:237 #, c-format -msgid "must be a superuser to terminate superuser process" -msgstr "슈퍼유저의 세션을 정리하려면 슈퍼유저여야 합니다." +msgid "permission denied to terminate process" +msgstr "프로세스 종료 권한 없음" -#: storage/ipc/procarray.c:3053 storage/ipc/signalfuncs.c:147 +#: storage/ipc/procarray.c:3829 storage/ipc/signalfuncs.c:231 #, c-format msgid "" -"must be a member of the role whose process is being terminated or member of " -"pg_signal_backend" +"Only roles with the %s attribute may terminate processes of roles with the " +"%s attribute." msgstr "" -"세션을 종료하려면 접속자의 소속 맴버이거나 pg_signal_backend 소속 맴버여야 합" -"니다" +"%s 속성이 있는 롤만이 %s 속성을 가진 롤이 실행한 쿼리를 중지 할 수 있습니다." + +#: storage/ipc/procarray.c:3838 storage/ipc/signalfuncs.c:238 +#, c-format +msgid "" +"Only roles with privileges of the role whose process is being terminated or " +"with privileges of the \"%s\" role may terminate this process." +msgstr "\"%s\" 롤 권한이 있는 롤만 프로세스를 종료할 수 있습니다." + +#: storage/ipc/procsignal.c:420 +#, c-format +msgid "still waiting for backend with PID %d to accept ProcSignalBarrier" +msgstr "" +"%d PID 백엔드 프로세스가 ProcSignalBarrier 작업을 수락하기를 기다리고 있음" + +#: storage/ipc/shm_mq.c:384 +#, c-format +msgid "cannot send a message of size %zu via shared memory queue" +msgstr "공유 메모리 큐를 통해 %zu 크기의 메시지를 보낼 수 없음" + +#: storage/ipc/shm_mq.c:719 +#, c-format +msgid "invalid message size %zu in shared memory queue" +msgstr "동적 공유 메모리 큐에 메시지 길이(%zu)가 잘못됨" -#: storage/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:982 -#: storage/lmgr/lock.c:1020 storage/lmgr/lock.c:2845 storage/lmgr/lock.c:4175 -#: storage/lmgr/lock.c:4240 storage/lmgr/lock.c:4532 -#: storage/lmgr/predicate.c:2401 storage/lmgr/predicate.c:2416 -#: storage/lmgr/predicate.c:3898 storage/lmgr/predicate.c:5009 -#: utils/hash/dynahash.c:1067 +#: 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 #, c-format msgid "out of shared memory" msgstr "공유 메모리 부족" @@ -21008,12 +23514,12 @@ msgstr "공유 메모리 부족" msgid "out of shared memory (%zu bytes requested)" msgstr "공유 메모리가 부족함 (%zu 바이트가 필요함)" -#: storage/ipc/shmem.c:441 +#: storage/ipc/shmem.c:445 #, c-format msgid "could not create ShmemIndex entry for data structure \"%s\"" msgstr "\"%s\" 자료 구조체용 ShmemIndex 항목을 만들 수 없음" -#: storage/ipc/shmem.c:456 +#: storage/ipc/shmem.c:460 #, c-format msgid "" "ShmemIndex entry size is wrong for data structure \"%s\": expected %zu, " @@ -21021,332 +23527,386 @@ msgid "" msgstr "" "\"%s\" 자료 구조체용 ShmemIndex 항목 크기가 잘못됨: 기대값 %zu, 현재값 %zu" -#: storage/ipc/shmem.c:475 +#: storage/ipc/shmem.c:479 #, c-format msgid "" "not enough shared memory for data structure \"%s\" (%zu bytes requested)" msgstr "\"%s\" 자료 구조체용 공유 메모리가 부족함 (%zu 바이트가 필요함)" -#: storage/ipc/shmem.c:507 storage/ipc/shmem.c:526 +#: storage/ipc/shmem.c:511 storage/ipc/shmem.c:530 #, c-format msgid "requested shared memory size overflows size_t" msgstr "지정한 공유 메모리 사이즈가 size_t 크기를 초과했습니다" -#: storage/ipc/signalfuncs.c:67 +#: storage/ipc/signalfuncs.c:72 #, c-format -msgid "PID %d is not a PostgreSQL server process" -msgstr "PID %d 프로그램은 PostgreSQL 서버 프로세스가 아닙니다" +msgid "PID %d is not a PostgreSQL backend process" +msgstr "PID %d 프로그램은 PostgreSQL 백엔드 프로세스가 아닙니다" -#: storage/ipc/signalfuncs.c:98 storage/lmgr/proc.c:1366 +#: storage/ipc/signalfuncs.c:104 storage/lmgr/proc.c:1379 +#: utils/adt/mcxtfuncs.c:190 #, c-format msgid "could not send signal to process %d: %m" msgstr "%d 프로세스로 시스템신호(signal)를 보낼 수 없습니다: %m" -#: storage/ipc/signalfuncs.c:118 +#: storage/ipc/signalfuncs.c:124 storage/ipc/signalfuncs.c:131 #, c-format -msgid "must be a superuser to cancel superuser query" -msgstr "슈퍼유저의 쿼리를 중지하려면 슈퍼유저여야 합니다." +msgid "permission denied to cancel query" +msgstr "쿼리 중지 권한 없음" -#: storage/ipc/signalfuncs.c:123 +#: storage/ipc/signalfuncs.c:125 #, c-format msgid "" -"must be a member of the role whose query is being canceled or member of " -"pg_signal_backend" +"Only roles with the %s attribute may cancel queries of roles with the %s " +"attribute." msgstr "" -"쿼리 작업 취소하려면 작업자의 소속 맴버이거나 pg_signal_backend 소속 맴버여" -"야 합니다" +"%s 속성이 있는 롤만이 %s 속성이 있는 롤이 실행한 쿼리를 중지 할 수 있습니다." + +#: storage/ipc/signalfuncs.c:132 +#, c-format +msgid "" +"Only roles with privileges of the role whose query is being canceled or with " +"privileges of the \"%s\" role may cancel this query." +msgstr "쿼리 실행 중지 작업은 \"%s\" 롤 권한이 부여된 롤만 할 수 있습니다." + +#: storage/ipc/signalfuncs.c:174 +#, c-format +msgid "could not check the existence of the backend with PID %d: %m" +msgstr "%d PID 백엔드 프로세스의 존재를 확인할 수 없음: %m" + +#: storage/ipc/signalfuncs.c:192 +#, 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] "%d PID 백엔드 프로세스를 %lld ms 내에 종료하지 못했음" + +#: storage/ipc/signalfuncs.c:223 +#, c-format +msgid "\"timeout\" must not be negative" +msgstr "\"timeout\" 값은 음수가 아니어야 함" -#: storage/ipc/signalfuncs.c:183 +#: storage/ipc/signalfuncs.c:279 #, c-format msgid "must be superuser to rotate log files with adminpack 1.0" -msgstr "" -"adminpack 1.0 확장 모듈을 사용하면 로그 전환하려면 슈퍼유저여야 합니다." +msgstr "adminpack 1.0 확장 모듈로 로그 전환하려면 슈퍼유저여야 합니다." #. translator: %s is a SQL function name -#: storage/ipc/signalfuncs.c:185 utils/adt/genfile.c:253 +#: storage/ipc/signalfuncs.c:281 utils/adt/genfile.c:250 #, c-format msgid "Consider using %s, which is part of core, instead." msgstr "대신에 %s 내장 함수를 사용할 것을 권고합니다." -#: storage/ipc/signalfuncs.c:191 storage/ipc/signalfuncs.c:211 +#: storage/ipc/signalfuncs.c:287 storage/ipc/signalfuncs.c:307 #, c-format msgid "rotation not possible because log collection not active" msgstr "로그 수집이 활성 상태가 아니므로 회전할 수 없음" -#: storage/ipc/standby.c:580 tcop/postgres.c:3177 +#: storage/ipc/standby.c:330 +#, c-format +msgid "recovery still waiting after %ld.%03d ms: %s" +msgstr "%ld.%03d ms 기다린 뒤에도 여전히 복구 중: %s" + +#: storage/ipc/standby.c:339 +#, c-format +msgid "recovery finished waiting after %ld.%03d ms: %s" +msgstr "%ld.%03d ms 기다려서 복구 완료: %s" + +#: storage/ipc/standby.c:921 tcop/postgres.c:3384 #, c-format msgid "canceling statement due to conflict with recovery" msgstr "복구 작업 중 충돌이 발생해 작업을 중지합니다." -#: storage/ipc/standby.c:581 tcop/postgres.c:2469 +#: storage/ipc/standby.c:922 tcop/postgres.c:2533 #, c-format msgid "User transaction caused buffer deadlock with recovery." msgstr "복구 작업 중 사용자 트랜잭션이 버퍼 데드락을 만들었습니다." +#: storage/ipc/standby.c:1488 +msgid "unknown reason" +msgstr "알 수 없는 이유" + +#: storage/ipc/standby.c:1493 +msgid "recovery conflict on buffer pin" +msgstr "버퍼 핀에서 복구 충돌" + +#: storage/ipc/standby.c:1496 +msgid "recovery conflict on lock" +msgstr "잠금에서 복구 충돌" + +#: storage/ipc/standby.c:1499 +msgid "recovery conflict on tablespace" +msgstr "테이블스페이스에서 복구 충돌" + +#: storage/ipc/standby.c:1502 +msgid "recovery conflict on snapshot" +msgstr "스냅샷에서 복구 충돌" + +#: storage/ipc/standby.c:1505 +msgid "recovery conflict on replication slot" +msgstr "복제 슬롯에서 복구 충돌" + +#: storage/ipc/standby.c:1508 +msgid "recovery conflict on buffer deadlock" +msgstr "버퍼 데드락에서 복구 충돌" + +#: storage/ipc/standby.c:1511 +msgid "recovery conflict on database" +msgstr "데이터베이스에서 복구 충돌" + #: storage/large_object/inv_api.c:191 #, c-format msgid "pg_largeobject entry for OID %u, page %d has invalid data field size %d" msgstr "" +"OID %u (해당 페이지 %d) 를 위한 pg_largeobject 항목의 %d 크기의 데이터 필드" +"가 잘못되었음" -#: storage/large_object/inv_api.c:272 +#: storage/large_object/inv_api.c:274 #, c-format msgid "invalid flags for opening a large object: %d" msgstr "대형 개체를 열기 위한 플래그가 잘못 됨: %d" -#: storage/large_object/inv_api.c:462 +#: storage/large_object/inv_api.c:457 #, c-format msgid "invalid whence setting: %d" -msgstr "" +msgstr "잘못된 이동 위치: %d" -#: storage/large_object/inv_api.c:634 +#: storage/large_object/inv_api.c:629 #, c-format msgid "invalid large object write request size: %d" msgstr "유효하지 않은 대형 개체의 쓰기 요청된 크기: %d" -#: storage/lmgr/deadlock.c:1124 +#: storage/lmgr/deadlock.c:1104 #, c-format msgid "Process %d waits for %s on %s; blocked by process %d." msgstr "" "%d 프로세스가 %s 상태로 지연되고 있음(해당 작업: %s); %d 프로세스에 의해 블록" "킹되었음" -#: storage/lmgr/deadlock.c:1143 +#: storage/lmgr/deadlock.c:1123 #, c-format msgid "Process %d: %s" msgstr "프로세스 %d: %s" -#: storage/lmgr/deadlock.c:1152 +#: storage/lmgr/deadlock.c:1132 #, c-format msgid "deadlock detected" msgstr "deadlock 발생했음" -#: storage/lmgr/deadlock.c:1155 +#: storage/lmgr/deadlock.c:1135 #, c-format msgid "See server log for query details." msgstr "쿼리 상세 정보는 서버 로그를 참조하십시오." -#: storage/lmgr/lmgr.c:830 +#: storage/lmgr/lmgr.c:859 #, c-format msgid "while updating tuple (%u,%u) in relation \"%s\"" msgstr "%u,%u 튜플(해당 릴레이션 \"%s\")을 갱신하는 중에 발생" -#: storage/lmgr/lmgr.c:833 +#: storage/lmgr/lmgr.c:862 #, c-format msgid "while deleting tuple (%u,%u) in relation \"%s\"" msgstr "%u,%u 튜플(해당 릴레이션 \"%s\")을 삭제하는 중에 발생" -#: storage/lmgr/lmgr.c:836 +#: storage/lmgr/lmgr.c:865 #, c-format msgid "while locking tuple (%u,%u) in relation \"%s\"" msgstr "%u,%u 튜플을 \"%s\" 릴레이션에서 잠그는 중에 발생" -#: storage/lmgr/lmgr.c:839 +#: storage/lmgr/lmgr.c:868 #, c-format msgid "while locking updated version (%u,%u) of tuple in relation \"%s\"" msgstr "%u,%u 업데이트된 버전 튜플(해당 릴레이션 \"%s\")을 잠그는 중에 발생" -#: storage/lmgr/lmgr.c:842 +#: storage/lmgr/lmgr.c:871 #, c-format msgid "while inserting index tuple (%u,%u) in relation \"%s\"" msgstr "%u,%u 튜플 인덱스(해당 릴레이션 \"%s\")를 삽입하는 중에 발생" -#: storage/lmgr/lmgr.c:845 +#: storage/lmgr/lmgr.c:874 #, c-format msgid "while checking uniqueness of tuple (%u,%u) in relation \"%s\"" msgstr "%u,%u 튜플(해당 릴레이션: \"%s\")의 고유성을 검사하는 중에 발생" -#: storage/lmgr/lmgr.c:848 +#: storage/lmgr/lmgr.c:877 #, c-format msgid "while rechecking updated tuple (%u,%u) in relation \"%s\"" msgstr "%u,%u 갱신된 튜플(해당 릴레이션: \"%s\")을 재확인하는 중에 발생" -#: storage/lmgr/lmgr.c:851 +#: storage/lmgr/lmgr.c:880 #, c-format msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\"" msgstr "" "%u,%u 튜플(해당 릴레이션: \"%s\")의 제외 제약 조건을 검사하는 중에 발생" -#: storage/lmgr/lmgr.c:1106 +#: storage/lmgr/lmgr.c:1174 #, c-format msgid "relation %u of database %u" msgstr "릴레이션 %u, 데이터베이스 %u" -#: storage/lmgr/lmgr.c:1112 +#: storage/lmgr/lmgr.c:1180 #, c-format msgid "extension of relation %u of database %u" msgstr "%u 관계(%u 데이터베이스) 확장" -#: storage/lmgr/lmgr.c:1118 +#: storage/lmgr/lmgr.c:1186 #, c-format msgid "pg_database.datfrozenxid of database %u" msgstr "데이터베이스 %u의 pg_database.datfrozenxid" -#: storage/lmgr/lmgr.c:1123 +#: storage/lmgr/lmgr.c:1191 #, c-format msgid "page %u of relation %u of database %u" msgstr "페이지 %u, 릴레이션 %u, 데이터베이스 %u" -#: storage/lmgr/lmgr.c:1130 +#: storage/lmgr/lmgr.c:1198 #, c-format msgid "tuple (%u,%u) of relation %u of database %u" msgstr "튜플 (%u,%u), 릴레이션 %u, 데이터베이스 %u" -#: storage/lmgr/lmgr.c:1138 +#: storage/lmgr/lmgr.c:1206 #, c-format msgid "transaction %u" msgstr "트랜잭션 %u" -#: storage/lmgr/lmgr.c:1143 +#: storage/lmgr/lmgr.c:1211 #, c-format msgid "virtual transaction %d/%u" msgstr "가상 트랜잭션 %d/%u" -#: storage/lmgr/lmgr.c:1149 +#: storage/lmgr/lmgr.c:1217 #, c-format msgid "speculative token %u of transaction %u" msgstr "%u 위험한 토큰, 대상 트랜잭션 %u" -#: storage/lmgr/lmgr.c:1155 +#: storage/lmgr/lmgr.c:1223 #, c-format msgid "object %u of class %u of database %u" msgstr "개체 %u, 클래스 %u, 데이터베이스 %u" -#: storage/lmgr/lmgr.c:1163 +#: storage/lmgr/lmgr.c:1231 #, c-format msgid "user lock [%u,%u,%u]" msgstr "user lock [%u,%u,%u]" -#: storage/lmgr/lmgr.c:1170 +#: storage/lmgr/lmgr.c:1238 #, c-format msgid "advisory lock [%u,%u,%u,%u]" msgstr "advisory lock [%u,%u,%u,%u]" -#: storage/lmgr/lmgr.c:1178 +#: storage/lmgr/lmgr.c:1246 +#, c-format +msgid "remote transaction %u of subscription %u of database %u" +msgstr "원격 트랜잭션: %u, 해당 구독: %u, 해당 데이터베이스 %u" + +#: storage/lmgr/lmgr.c:1253 #, c-format msgid "unrecognized locktag type %d" msgstr "알 수 없는 locktag 형태 %d" -#: storage/lmgr/lock.c:803 +#: storage/lmgr/lock.c:791 #, c-format msgid "" "cannot acquire lock mode %s on database objects while recovery is in progress" -msgstr "" +msgstr "복구 작업 중 데이터베이스 객체 대상 %s 잠금 상태 취득 실패" -#: storage/lmgr/lock.c:805 +#: storage/lmgr/lock.c:793 #, c-format msgid "" "Only RowExclusiveLock or less can be acquired on database objects during " "recovery." msgstr "" +"복구 중에는 해당 객체를 RowExclusiveLock 또는 그 보다 낮은 수준의 잠금만 할 " +"수 있습니다." -#: storage/lmgr/lock.c:983 storage/lmgr/lock.c:1021 storage/lmgr/lock.c:2846 -#: storage/lmgr/lock.c:4176 storage/lmgr/lock.c:4241 storage/lmgr/lock.c:4533 -#, c-format -msgid "You might need to increase max_locks_per_transaction." -msgstr "max_locks_per_transaction을 늘려야 할 수도 있습니다." - -#: storage/lmgr/lock.c:3292 storage/lmgr/lock.c:3408 +#: storage/lmgr/lock.c:3235 storage/lmgr/lock.c:3303 storage/lmgr/lock.c:3419 #, c-format msgid "" "cannot PREPARE while holding both session-level and transaction-level locks " "on the same object" msgstr "" +"세션 수준과 트랜잭션 수준, 이 두 수준의 잠금을 같은 객체 대상으로 할 경우 " +"PREPARE 작업은 할 수 없습니다." -#: storage/lmgr/predicate.c:700 +#: storage/lmgr/predicate.c:649 #, c-format msgid "not enough elements in RWConflictPool to record a read/write conflict" -msgstr "" +msgstr "읽기/쓰기 충돌을 기록하기 위한 RWConflictPool 안에 충분한 요소가 없음" -#: storage/lmgr/predicate.c:701 storage/lmgr/predicate.c:729 +#: storage/lmgr/predicate.c:650 storage/lmgr/predicate.c:675 #, c-format msgid "" "You might need to run fewer transactions at a time or increase " "max_connections." -msgstr "" +msgstr "동시 발생하는 트랜잭션 수를 줄이든가, max_connections 값을 늘리세요." -#: storage/lmgr/predicate.c:728 +#: storage/lmgr/predicate.c:674 #, c-format msgid "" "not enough elements in RWConflictPool to record a potential read/write " "conflict" msgstr "" +"필수적인 읽기/쓰기 충돌을 기록하기 위한 RWConflictPool 안에 충분한 요소가 없" +"음" -#: storage/lmgr/predicate.c:1535 -#, c-format -msgid "deferrable snapshot was unsafe; trying a new one" -msgstr "" - -#: storage/lmgr/predicate.c:1624 +#: storage/lmgr/predicate.c:1630 #, c-format msgid "\"default_transaction_isolation\" is set to \"serializable\"." msgstr "" +"\"default_transaction_isolation\" 설정값이 \"serializable\"로 지정되었습니다." -#: storage/lmgr/predicate.c:1625 +#: storage/lmgr/predicate.c:1631 #, c-format msgid "" "You can use \"SET default_transaction_isolation = 'repeatable read'\" to " "change the default." msgstr "" +"이 기본값은 \"SET default_transaction_isolation = 'repeatable read'\" 명령으" +"로 바꿀 수 있습니다." -#: storage/lmgr/predicate.c:1676 +#: storage/lmgr/predicate.c:1682 #, c-format msgid "a snapshot-importing transaction must not be READ ONLY DEFERRABLE" msgstr "" +"스냅샷 가져오기 트랜잭션은 READ ONLY DEFERRABLE 속성이 아니여야 합니다." -#: storage/lmgr/predicate.c:1755 utils/time/snapmgr.c:623 -#: utils/time/snapmgr.c:629 +#: storage/lmgr/predicate.c:1761 utils/time/snapmgr.c:570 +#: utils/time/snapmgr.c:576 #, c-format msgid "could not import the requested snapshot" -msgstr "" +msgstr "요청한 스냅샷 가지오기 실패" -#: storage/lmgr/predicate.c:1756 utils/time/snapmgr.c:630 +#: storage/lmgr/predicate.c:1762 utils/time/snapmgr.c:577 #, c-format msgid "The source process with PID %d is not running anymore." msgstr "%d PID 소스 프로세스는 더이상 실행 중이지 않습니다." -#: storage/lmgr/predicate.c:2402 storage/lmgr/predicate.c:2417 -#: storage/lmgr/predicate.c:3899 -#, c-format -msgid "You might need to increase max_pred_locks_per_transaction." -msgstr "max_pred_locks_per_transaction 값을 늘려야 할 수도 있습니다." - -#: storage/lmgr/predicate.c:4030 storage/lmgr/predicate.c:4066 -#: storage/lmgr/predicate.c:4099 storage/lmgr/predicate.c:4107 -#: storage/lmgr/predicate.c:4146 storage/lmgr/predicate.c:4388 -#: storage/lmgr/predicate.c:4725 storage/lmgr/predicate.c:4737 -#: storage/lmgr/predicate.c:4780 storage/lmgr/predicate.c:4818 +#: storage/lmgr/predicate.c:3935 storage/lmgr/predicate.c:3971 +#: storage/lmgr/predicate.c:4004 storage/lmgr/predicate.c:4012 +#: storage/lmgr/predicate.c:4051 storage/lmgr/predicate.c:4281 +#: storage/lmgr/predicate.c:4600 storage/lmgr/predicate.c:4612 +#: storage/lmgr/predicate.c:4659 storage/lmgr/predicate.c:4695 #, c-format msgid "" "could not serialize access due to read/write dependencies among transactions" msgstr "트랜잭션간 읽기/쓰기 의존성 때문에 serialize 접근을 할 수 없음" -#: storage/lmgr/predicate.c:4032 storage/lmgr/predicate.c:4068 -#: storage/lmgr/predicate.c:4101 storage/lmgr/predicate.c:4109 -#: storage/lmgr/predicate.c:4148 storage/lmgr/predicate.c:4390 -#: storage/lmgr/predicate.c:4727 storage/lmgr/predicate.c:4739 -#: storage/lmgr/predicate.c:4782 storage/lmgr/predicate.c:4820 +#: storage/lmgr/predicate.c:3937 storage/lmgr/predicate.c:3973 +#: storage/lmgr/predicate.c:4006 storage/lmgr/predicate.c:4014 +#: storage/lmgr/predicate.c:4053 storage/lmgr/predicate.c:4283 +#: storage/lmgr/predicate.c:4602 storage/lmgr/predicate.c:4614 +#: storage/lmgr/predicate.c:4661 storage/lmgr/predicate.c:4697 #, c-format msgid "The transaction might succeed if retried." msgstr "재시도하면 그 트랜잭션이 성공할 것입니다." -#: storage/lmgr/proc.c:358 +#: storage/lmgr/proc.c:349 #, c-format msgid "" "number of requested standby connections exceeds max_wal_senders (currently " "%d)" msgstr "대기 서버 연결 수가 max_wal_senders 설정값(현재 %d)을 초과했습니다" -#: storage/lmgr/proc.c:1337 -#, c-format -msgid "Process %d waits for %s on %s." -msgstr "%d 프로세스가 대기중, 잠금종류: %s, 내용: %s" - -#: storage/lmgr/proc.c:1348 -#, c-format -msgid "sending cancel to blocking autovacuum PID %d" -msgstr "%d PID autovacuum 블럭킹하기 위해 취소 신호를 보냅니다" - -#: storage/lmgr/proc.c:1468 +#: storage/lmgr/proc.c:1472 #, c-format msgid "" "process %d avoided deadlock for %s on %s by rearranging queue order after " @@ -21355,220 +23915,199 @@ msgstr "" "%d PID 프로세스는 %s(%s)에 대해 교착 상태가 발생하지 않도록 %ld.%03dms 후에 " "대기열 순서를 다시 조정함" -#: storage/lmgr/proc.c:1483 +#: storage/lmgr/proc.c:1487 #, c-format msgid "" "process %d detected deadlock while waiting for %s on %s after %ld.%03d ms" msgstr "%d PID 프로세스에서 %s(%s) 대기중 %ld.%03dms 후에 교착 상태를 감지함" -#: storage/lmgr/proc.c:1492 +#: storage/lmgr/proc.c:1496 #, c-format msgid "process %d still waiting for %s on %s after %ld.%03d ms" msgstr "%d PID 프로세스에서 여전히 %s(%s) 작업을 기다리고 있음(%ld.%03dms 후)" -#: storage/lmgr/proc.c:1499 +#: storage/lmgr/proc.c:1503 #, c-format msgid "process %d acquired %s on %s after %ld.%03d ms" msgstr "%d PID 프로세스가 %s(%s) 작업을 위해 잠금 취득함(%ld.%03dms 후)" -#: storage/lmgr/proc.c:1515 +#: storage/lmgr/proc.c:1520 #, c-format msgid "process %d failed to acquire %s on %s after %ld.%03d ms" msgstr "프로세스 %d에서 %s(%s)을(를) 취득하지 못함(%ld.%03dms 후)" -#: storage/page/bufpage.c:145 +#: storage/page/bufpage.c:152 #, c-format msgid "page verification failed, calculated checksum %u but expected %u" msgstr "페이지 검사 실패, 계산된 체크섬은 %u, 기대값은 %u" -#: storage/page/bufpage.c:209 storage/page/bufpage.c:503 -#: storage/page/bufpage.c:740 storage/page/bufpage.c:873 -#: storage/page/bufpage.c:969 storage/page/bufpage.c:1081 +#: storage/page/bufpage.c:217 storage/page/bufpage.c:730 +#: storage/page/bufpage.c:1073 storage/page/bufpage.c:1208 +#: storage/page/bufpage.c:1314 storage/page/bufpage.c:1426 #, c-format msgid "corrupted page pointers: lower = %u, upper = %u, special = %u" msgstr "손상된 페이지 위치: 하위값 = %u, 상위값 = %u, 특수값 = %u" -#: storage/page/bufpage.c:525 +#: storage/page/bufpage.c:759 #, c-format msgid "corrupted line pointer: %u" msgstr "손상된 줄 위치: %u" -#: storage/page/bufpage.c:552 storage/page/bufpage.c:924 +#: storage/page/bufpage.c:789 storage/page/bufpage.c:1266 #, c-format msgid "corrupted item lengths: total %u, available space %u" msgstr "손상된 아이템 길이: 전체 %u, 사용가능한 공간 %u" -#: storage/page/bufpage.c:759 storage/page/bufpage.c:897 -#: storage/page/bufpage.c:985 storage/page/bufpage.c:1097 +#: storage/page/bufpage.c:1092 storage/page/bufpage.c:1233 +#: storage/page/bufpage.c:1330 storage/page/bufpage.c:1442 #, c-format msgid "corrupted line pointer: offset = %u, size = %u" msgstr "손상된 줄 위치: 오프셋 = %u, 크기 = %u" -#: storage/smgr/md.c:333 storage/smgr/md.c:836 -#, c-format -msgid "could not truncate file \"%s\": %m" -msgstr "\"%s\" 파일을 비울 수 없음: %m" - -#: storage/smgr/md.c:407 +#: storage/smgr/md.c:487 storage/smgr/md.c:549 #, c-format msgid "cannot extend file \"%s\" beyond %u blocks" msgstr "\"%s\" 파일을 %u개 블록을 초과하여 확장할 수 없음" -#: storage/smgr/md.c:422 +#: storage/smgr/md.c:502 storage/smgr/md.c:613 #, c-format msgid "could not extend file \"%s\": %m" msgstr "\"%s\" 파일을 확장할 수 없음: %m" -#: storage/smgr/md.c:424 storage/smgr/md.c:431 storage/smgr/md.c:719 -#, c-format -msgid "Check free disk space." -msgstr "디스크 여유 공간을 확인해 주십시오." - -#: storage/smgr/md.c:428 +#: storage/smgr/md.c:508 #, c-format msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u" msgstr "\"%s\" 파일을 확장할 수 없음: %d/%d바이트만 %u 블록에 썼음" -#: storage/smgr/md.c:640 +#: storage/smgr/md.c:591 +#, c-format +msgid "could not extend file \"%s\" with FileFallocate(): %m" +msgstr "FileFallocate() 함수로 \"%s\" 파일을 확장할 수 없음: %m" + +#: storage/smgr/md.c:782 #, c-format msgid "could not read block %u in file \"%s\": %m" msgstr "%u 블럭을 \"%s\" 파일에서 읽을 수 없음: %m" -#: storage/smgr/md.c:656 +#: storage/smgr/md.c:798 #, c-format msgid "could not read block %u in file \"%s\": read only %d of %d bytes" msgstr "%u 블럭을 \"%s\" 파일에서 읽을 수 없음: %d / %d 바이트만 읽음" -#: storage/smgr/md.c:710 +#: storage/smgr/md.c:856 #, c-format msgid "could not write block %u in file \"%s\": %m" msgstr "%u 블럭을 \"%s\" 파일에 쓸 수 없음: %m" -#: storage/smgr/md.c:715 +#: storage/smgr/md.c:861 #, c-format msgid "could not write block %u in file \"%s\": wrote only %d of %d bytes" msgstr "%u 블럭을 \"%s\" 파일에 쓸 수 없음: %d / %d 바이트만 씀" -#: storage/smgr/md.c:807 +#: storage/smgr/md.c:1012 #, c-format msgid "could not truncate file \"%s\" to %u blocks: it's only %u blocks now" msgstr "\"%s\" 파일을 %u 블럭으로 비울 수 없음: 현재 %u 블럭 뿐 임" -#: storage/smgr/md.c:862 +#: storage/smgr/md.c:1067 #, c-format msgid "could not truncate file \"%s\" to %u blocks: %m" msgstr "\"%s\" 파일을 %u 블럭으로 정리할 수 없음: %m" -#: storage/smgr/md.c:957 -#, c-format -msgid "could not forward fsync request because request queue is full" -msgstr "요청 큐가 가득차 forward fsync 요청을 처리할 수 없음" - -#: storage/smgr/md.c:1256 +#: storage/smgr/md.c:1494 #, c-format msgid "" "could not open file \"%s\" (target block %u): previous segment is only %u " "blocks" msgstr "\"%s\" 파일을 열기 실패(대상 블록: %u): 이전 조각은 %u 블럭 뿐임" -#: storage/smgr/md.c:1270 +#: storage/smgr/md.c:1508 #, c-format msgid "could not open file \"%s\" (target block %u): %m" msgstr "\"%s\" 파일을 열기 실패(대상 블록: %u): %m" -#: storage/sync/sync.c:401 +#: tcop/fastpath.c:142 utils/fmgr/fmgr.c:2132 #, c-format -msgid "could not fsync file \"%s\" but retrying: %m" -msgstr "\"%s\" 파일 fsync 실패, 재시도함: %m" +msgid "function with OID %u does not exist" +msgstr "OID %u 함수 없음" -#: tcop/fastpath.c:109 tcop/fastpath.c:461 tcop/fastpath.c:591 +#: tcop/fastpath.c:149 #, c-format -msgid "invalid argument size %d in function call message" -msgstr "함수 호출 메시지 안에 있는 잘못된 %d 인자 크기" +msgid "cannot call function \"%s\" via fastpath interface" +msgstr "fastpath 인터페이스를 이용한 \"%s\" 함수 호출 실패" -#: tcop/fastpath.c:307 +#: tcop/fastpath.c:234 #, c-format msgid "fastpath function call: \"%s\" (OID %u)" msgstr "fastpath 함수 호출: \"%s\" (OID %u)" -#: tcop/fastpath.c:389 tcop/postgres.c:1323 tcop/postgres.c:1581 -#: tcop/postgres.c:2013 tcop/postgres.c:2250 +#: tcop/fastpath.c:313 tcop/postgres.c:1365 tcop/postgres.c:1601 +#: tcop/postgres.c:2059 tcop/postgres.c:2309 #, c-format msgid "duration: %s ms" msgstr "실행시간: %s ms" -#: tcop/fastpath.c:393 +#: tcop/fastpath.c:317 #, c-format msgid "duration: %s ms fastpath function call: \"%s\" (OID %u)" msgstr "작업시간: %s ms fastpath 함수 호출: \"%s\" (OID %u)" -#: tcop/fastpath.c:429 tcop/fastpath.c:556 +#: tcop/fastpath.c:353 #, c-format msgid "function call message contains %d arguments but function requires %d" msgstr "함수 호출 메시지는 %d 인자를 사용하지만, 함수는 %d 인자가 필요합니다" -#: tcop/fastpath.c:437 +#: tcop/fastpath.c:361 #, c-format msgid "function call message contains %d argument formats but %d arguments" msgstr "함수 호출 메시지는 %d 인자를 사용하지만, 함수는 %d 인자가 필요합니다" -#: tcop/fastpath.c:524 tcop/fastpath.c:607 +#: tcop/fastpath.c:385 #, c-format -msgid "incorrect binary data format in function argument %d" -msgstr "함수 인자 %d 안에 잘못된 바이너리 자료 형식 발견됨" +msgid "invalid argument size %d in function call message" +msgstr "함수 호출 메시지 안에 있는 잘못된 %d 인자 크기" -#: tcop/postgres.c:355 tcop/postgres.c:391 tcop/postgres.c:418 +#: tcop/fastpath.c:448 #, c-format -msgid "unexpected EOF on client connection" -msgstr "클라이언트 연결에서 예상치 않은 EOF 발견됨" +msgid "incorrect binary data format in function argument %d" +msgstr "함수 인자 %d 안에 잘못된 바이너리 자료 형식 발견됨" -#: tcop/postgres.c:441 tcop/postgres.c:453 tcop/postgres.c:464 -#: tcop/postgres.c:476 tcop/postgres.c:4539 +#: tcop/postgres.c:463 tcop/postgres.c:4882 #, c-format msgid "invalid frontend message type %d" msgstr "잘못된 frontend 메시지 형태 %d" -#: tcop/postgres.c:1042 +#: tcop/postgres.c:1072 #, c-format msgid "statement: %s" msgstr "명령 구문: %s" -#: tcop/postgres.c:1328 +#: tcop/postgres.c:1370 #, c-format msgid "duration: %s ms statement: %s" msgstr "실행시간: %s ms 명령 구문: %s" -#: tcop/postgres.c:1377 -#, c-format -msgid "parse %s: %s" -msgstr "구문 %s: %s" - -#: tcop/postgres.c:1434 +#: tcop/postgres.c:1476 #, c-format msgid "cannot insert multiple commands into a prepared statement" msgstr "준비된 명령 구문에는 다중 명령을 삽입할 수 없습니다" -#: tcop/postgres.c:1586 +#: tcop/postgres.c:1606 #, c-format msgid "duration: %s ms parse %s: %s" msgstr "실행시간: %s ms %s 구문분석: %s" -#: tcop/postgres.c:1633 -#, c-format -msgid "bind %s to %s" -msgstr "바인드: %s -> %s" - -#: tcop/postgres.c:1652 tcop/postgres.c:2516 +#: tcop/postgres.c:1672 tcop/postgres.c:2629 #, c-format msgid "unnamed prepared statement does not exist" msgstr "이름없는 준비된 명령 구문(unnamed prepared statement) 없음" -#: tcop/postgres.c:1693 +#: tcop/postgres.c:1713 #, c-format msgid "bind message has %d parameter formats but %d parameters" msgstr "바인드 메시지는 %d 매개 변수 형태지만, %d 매개 변수여야함" -#: tcop/postgres.c:1699 +#: tcop/postgres.c:1719 #, c-format msgid "" "bind message supplies %d parameters, but prepared statement \"%s\" requires " @@ -21577,85 +24116,115 @@ msgstr "" "바인드 메시지는 %d개의 매개 변수를 지원하지만, \"%s\" 준비된 명령 구문" "(prepared statement)에서는%d 개의 매개 변수가 필요합니다" -#: tcop/postgres.c:1897 +#: tcop/postgres.c:1937 #, c-format msgid "incorrect binary data format in bind parameter %d" msgstr "바인드 매개 변수 %d 안에 잘못된 바이너리 자료 형태가 있음" -#: tcop/postgres.c:2018 +#: tcop/postgres.c:2064 #, c-format msgid "duration: %s ms bind %s%s%s: %s" msgstr "실행시간: %s ms %s%s%s 접속: %s" -#: tcop/postgres.c:2068 tcop/postgres.c:2600 +#: tcop/postgres.c:2118 tcop/postgres.c:2712 #, c-format msgid "portal \"%s\" does not exist" msgstr "\"%s\" portal 없음" -#: tcop/postgres.c:2153 +#: tcop/postgres.c:2189 #, c-format msgid "%s %s%s%s: %s" msgstr "%s %s%s%s: %s" -#: tcop/postgres.c:2155 tcop/postgres.c:2258 +#: tcop/postgres.c:2191 tcop/postgres.c:2317 msgid "execute fetch from" msgstr "자료뽑기" -#: tcop/postgres.c:2156 tcop/postgres.c:2259 +#: tcop/postgres.c:2192 tcop/postgres.c:2318 msgid "execute" msgstr "쿼리실행" -#: tcop/postgres.c:2255 +#: tcop/postgres.c:2314 #, c-format msgid "duration: %s ms %s %s%s%s: %s" msgstr "수행시간: %s ms %s %s%s%s: %s" -#: tcop/postgres.c:2401 +#: tcop/postgres.c:2462 #, c-format msgid "prepare: %s" msgstr "prepare: %s" -#: tcop/postgres.c:2426 +#: tcop/postgres.c:2487 #, c-format msgid "parameters: %s" msgstr "매개 변수: %s" -#: tcop/postgres.c:2441 +#: tcop/postgres.c:2502 #, c-format msgid "abort reason: recovery conflict" msgstr "중지 이유: 복구 충돌" -#: tcop/postgres.c:2457 +#: tcop/postgres.c:2518 #, c-format msgid "User was holding shared buffer pin for too long." -msgstr "" +msgstr "사용자가 너무 오랫동안 공유 버퍼 핀을 붙잡고 있습니다." -#: tcop/postgres.c:2460 +#: tcop/postgres.c:2521 #, c-format msgid "User was holding a relation lock for too long." -msgstr "" +msgstr "사용자가 너무 오랫동안 릴레이션 잠금을 하고 있습니다." -#: tcop/postgres.c:2463 +#: tcop/postgres.c:2524 #, c-format msgid "User was or might have been using tablespace that must be dropped." -msgstr "" +msgstr "삭제할 테이블스페이스를 사용자가 사용했거나, 사용하고 있습니다." -#: tcop/postgres.c:2466 +#: tcop/postgres.c:2527 #, c-format msgid "User query might have needed to see row versions that must be removed." -msgstr "" +msgstr "사용자 쿼리가 삭제해야할 로우 버전를 볼 필요가 있는 것 같습니다." + +#: tcop/postgres.c:2530 +#, c-format +msgid "User was using a logical replication slot that must be invalidated." +msgstr "사용자가 잘못된 논리 복제 슬롯을 사용했습니다." -#: tcop/postgres.c:2472 +#: tcop/postgres.c:2536 #, c-format msgid "User was connected to a database that must be dropped." -msgstr "삭제 되어져야할 데이터베이스 사용자 접속해 있습니다." +msgstr "삭제 되어져야할 데이터베이스에 사용자가 접속해 있습니다." + +#: tcop/postgres.c:2575 +#, c-format +msgid "portal \"%s\" parameter $%d = %s" +msgstr "\"%s\" 포탈 $%d 매개 변수 = %s" + +#: tcop/postgres.c:2578 +#, c-format +msgid "portal \"%s\" parameter $%d" +msgstr "\"%s\" 포탈 $%d 매개 변수" + +#: tcop/postgres.c:2584 +#, c-format +msgid "unnamed portal parameter $%d = %s" +msgstr "이름없는 포탈 $%d 매개 변수 = %s" + +#: tcop/postgres.c:2587 +#, c-format +msgid "unnamed portal parameter $%d" +msgstr "이름없는 포탈 $%d 매개 변수" + +#: tcop/postgres.c:2932 +#, c-format +msgid "terminating connection because of unexpected SIGQUIT signal" +msgstr "예상치 못한 SIGQUIT 신호로 연결을 끝냅니다" -#: tcop/postgres.c:2796 +#: tcop/postgres.c:2938 #, c-format msgid "terminating connection because of crash of another server process" msgstr "다른 서버 프로세스가 손상을 입어 현재 연결을 중지합니다" -#: tcop/postgres.c:2797 +#: tcop/postgres.c:2939 #, c-format msgid "" "The postmaster has commanded this server process to roll back the current " @@ -21666,19 +24235,24 @@ msgstr "" "와의 연결을 끊으라는 명령을 보냈습니다. 왜냐하면, 다른 서버 프로세스가 비정상" "적으로 중지되어 공유 메모리가 손상되었을 가능성이 있기 때문입니다" -#: tcop/postgres.c:2801 tcop/postgres.c:3107 +#: tcop/postgres.c:2943 tcop/postgres.c:3310 #, c-format msgid "" "In a moment you should be able to reconnect to the database and repeat your " "command." msgstr "잠시 뒤에 다시 연결 해서 작업을 계속 하십시오" -#: tcop/postgres.c:2883 +#: tcop/postgres.c:2950 +#, c-format +msgid "terminating connection due to immediate shutdown command" +msgstr "immediate 종료 명령으로 연결을 끝냅니다" + +#: tcop/postgres.c:3036 #, c-format msgid "floating-point exception" msgstr "부동소수점 예외발생" -#: tcop/postgres.c:2884 +#: tcop/postgres.c:3037 #, c-format msgid "" "An invalid floating-point operation was signaled. This probably means an out-" @@ -21687,72 +24261,72 @@ msgstr "" "잘못된 부동소수점 작업이 감지 되었습니다. 이것은 아마도 결과값 범위초과나 0으" "로 나누는 작업과 같은 잘못된 연산 때문에 발생한 것 같습니다" -#: tcop/postgres.c:3037 +#: tcop/postgres.c:3214 #, c-format msgid "canceling authentication due to timeout" msgstr "시간 초과로 인증 작업을 취소합니다." -#: tcop/postgres.c:3041 +#: tcop/postgres.c:3218 #, c-format msgid "terminating autovacuum process due to administrator command" -msgstr "관리자 명령으로 인해 자동 청소 프로세스를 종료하는 중" +msgstr "관리자 명령으로 인해 자동 청소 프로세스를 끝냅니다" -#: tcop/postgres.c:3045 +#: tcop/postgres.c:3222 #, c-format msgid "terminating logical replication worker due to administrator command" msgstr "관리자 요청에 의해서 논리 복제 작업자를 끝냅니다" -#: tcop/postgres.c:3049 -#, c-format -msgid "logical replication launcher shutting down" -msgstr "논리 복제 관리자를 중지하고 있습니다" - -#: tcop/postgres.c:3062 tcop/postgres.c:3072 tcop/postgres.c:3105 +#: tcop/postgres.c:3239 tcop/postgres.c:3249 tcop/postgres.c:3308 #, c-format msgid "terminating connection due to conflict with recovery" -msgstr "복구 작업 중 충돌로 연결을 종료합니다." +msgstr "복구 작업 중 충돌로 연결을 끝냅니다" -#: tcop/postgres.c:3078 +#: tcop/postgres.c:3260 #, c-format msgid "terminating connection due to administrator command" msgstr "관리자 요청에 의해서 연결을 끝냅니다" -#: tcop/postgres.c:3088 +#: tcop/postgres.c:3291 #, c-format msgid "connection to client lost" msgstr "서버로부터 연결이 끊어졌습니다." -#: tcop/postgres.c:3154 +#: tcop/postgres.c:3361 #, c-format msgid "canceling statement due to lock timeout" msgstr "잠금 대기 시간 초과로 작업을 취소합니다." -#: tcop/postgres.c:3161 +#: tcop/postgres.c:3368 #, c-format msgid "canceling statement due to statement timeout" msgstr "명령실행시간 초과로 작업을 취소합니다." -#: tcop/postgres.c:3168 +#: tcop/postgres.c:3375 #, c-format msgid "canceling autovacuum task" msgstr "자동 청소 작업을 취소하는 중" -#: tcop/postgres.c:3191 +#: tcop/postgres.c:3398 #, c-format msgid "canceling statement due to user request" msgstr "사용자 요청에 의해 작업을 취소합니다." -#: tcop/postgres.c:3201 +#: tcop/postgres.c:3412 #, c-format msgid "terminating connection due to idle-in-transaction timeout" msgstr "idle-in-transaction 시간 초과로 연결을 끝냅니다" -#: tcop/postgres.c:3318 +#: tcop/postgres.c:3423 +#, c-format +msgid "terminating connection due to idle-session timeout" +msgstr "idle-session 시간 초과로 연결을 끝냅니다" + +#: tcop/postgres.c:3514 #, c-format msgid "stack depth limit exceeded" msgstr "스택 깊이를 초과했습니다" -#: tcop/postgres.c:3319 +#: tcop/postgres.c:3515 #, c-format msgid "" "Increase the configuration parameter \"max_stack_depth\" (currently %dkB), " @@ -21761,59 +24335,78 @@ msgstr "" "먼저 OS에서 지원하는 스택 depth 최대값을 확인한 뒤, 허용범위 안에서 " "\"max_stack_depth\" (현재값: %dkB) 매개 변수 값의 설정치를 증가시키세요." -#: tcop/postgres.c:3382 +#: tcop/postgres.c:3562 #, c-format msgid "\"max_stack_depth\" must not exceed %ldkB." msgstr "\"max_stack_depth\" 값은 %ldkB를 초과할 수 없습니다" -#: tcop/postgres.c:3384 +#: tcop/postgres.c:3564 #, c-format msgid "" "Increase the platform's stack depth limit via \"ulimit -s\" or local " "equivalent." msgstr "OS의 \"ulimit -s\" 명령과 같은 것으로 스택 깊이를 늘려주십시오." -#: tcop/postgres.c:3744 +#: tcop/postgres.c:3587 +#, c-format +msgid "client_connection_check_interval must be set to 0 on this platform." +msgstr "이 플랫폼에서는 client_connection_check_interval 값은 0 이어야 합니다." + +#: tcop/postgres.c:3608 +#, c-format +msgid "Cannot enable parameter when \"log_statement_stats\" is true." +msgstr "\"log_statement_stats\" 값이 true 일 때는 이 값을 활성화할 수 없습니다" + +#: tcop/postgres.c:3623 +#, c-format +msgid "" +"Cannot enable \"log_statement_stats\" when \"log_parser_stats\", " +"\"log_planner_stats\", or \"log_executor_stats\" is true." +msgstr "" +"\"log_parser_stats\", \"log_planner_stats\", \"log_executor_stats\" 설정값들 " +"중 하나가 true 일 때는 \"log_statement_stats\" 설정을 활성화할 수 없습니다" + +#: tcop/postgres.c:3971 #, c-format msgid "invalid command-line argument for server process: %s" msgstr "서버 프로세스의 명령행 인자가 잘못되었습니다: %s" -#: tcop/postgres.c:3745 tcop/postgres.c:3751 +#: tcop/postgres.c:3972 tcop/postgres.c:3978 #, c-format msgid "Try \"%s --help\" for more information." msgstr "자세한 사항은 \"%s --help\" 명령으로 살펴보세요." -#: tcop/postgres.c:3749 +#: tcop/postgres.c:3976 #, c-format msgid "%s: invalid command-line argument: %s" msgstr "%s: 잘못된 명령행 인자: %s" -#: tcop/postgres.c:3811 +#: tcop/postgres.c:4029 #, c-format msgid "%s: no database nor user name specified" msgstr "%s: 데이터베이스와 사용자를 지정하지 않았습니다" -#: tcop/postgres.c:4447 +#: tcop/postgres.c:4779 #, c-format msgid "invalid CLOSE message subtype %d" msgstr "잘못된 CLOSE 메시지 서브타입 %d" -#: tcop/postgres.c:4482 +#: tcop/postgres.c:4816 #, c-format msgid "invalid DESCRIBE message subtype %d" msgstr "잘못된 DESCRIBE 메시지 서브타입 %d" -#: tcop/postgres.c:4560 +#: tcop/postgres.c:4903 #, c-format msgid "fastpath function calls not supported in a replication connection" msgstr "복제 연결에서는 fastpath 함수 호출을 지원하지 않습니다" -#: tcop/postgres.c:4564 +#: tcop/postgres.c:4907 #, c-format msgid "extended query protocol not supported in a replication connection" -msgstr "" +msgstr "복제 연결에서는 확장된 쿼리 프로토콜을 지원하지 않습니다" -#: tcop/postgres.c:4741 +#: tcop/postgres.c:5087 #, c-format msgid "" "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s host=%s%s" @@ -21822,53 +24415,65 @@ msgstr "" "연결종료: 세션 시간: %d:%02d:%02d.%03d 사용자=%s 데이터베이스=%s 호스트=%s%s" "%s" -#: tcop/pquery.c:629 +#: tcop/pquery.c:641 #, c-format msgid "bind message has %d result formats but query has %d columns" msgstr "" "바인드 메시지는 %d 결과 포멧을 가지고 있고, 쿼리는 %d 칼럼을 가지고 있습니다" -#: tcop/pquery.c:932 +#: tcop/pquery.c:944 tcop/pquery.c:1701 #, c-format msgid "cursor can only scan forward" msgstr "이 커서는 앞으로 이동 전용입니다" -#: tcop/pquery.c:933 +#: tcop/pquery.c:945 tcop/pquery.c:1702 #, c-format msgid "Declare it with SCROLL option to enable backward scan." msgstr "" "뒤로 이동 가능한 커서를 만드려면 SCROLL 옵션을 추가해서 커서를 만드세요." #. translator: %s is name of a SQL command, eg CREATE -#: tcop/utility.c:413 +#: tcop/utility.c:417 #, c-format msgid "cannot execute %s in a read-only transaction" msgstr "읽기 전용 트랜잭션에서는 %s 명령을 실행할 수 없습니다." #. translator: %s is name of a SQL command, eg CREATE -#: tcop/utility.c:431 +#: tcop/utility.c:435 #, c-format msgid "cannot execute %s during a parallel operation" msgstr "병렬 처리 작업에서는 %s 명령을 실행할 수 없습니다." #. translator: %s is name of a SQL command, eg CREATE -#: tcop/utility.c:450 +#: tcop/utility.c:454 #, c-format msgid "cannot execute %s during recovery" msgstr "복구 작업 중에는 %s 명령을 실행할 수 없습니다." #. translator: %s is name of a SQL command, eg PREPARE -#: tcop/utility.c:468 +#: tcop/utility.c:472 #, c-format msgid "cannot execute %s within security-restricted operation" msgstr "보안 제한 작업 내에서 %s을(를) 실행할 수 없음" -#: tcop/utility.c:912 +#. translator: %s is name of a SQL command, eg LISTEN +#: tcop/utility.c:828 #, c-format -msgid "must be superuser to do CHECKPOINT" -msgstr "CHECKPOINT 명령은 슈퍼유저만 사용할 수 있습니다" +msgid "cannot execute %s within a background process" +msgstr "백그라운드 프로세스에서는 %s 명령을 실행할 수 없습니다." -#: tsearch/dict_ispell.c:52 tsearch/dict_thesaurus.c:620 +#. translator: %s is name of a SQL command, eg CHECKPOINT +#: tcop/utility.c:954 +#, c-format +msgid "permission denied to execute %s command" +msgstr "%s 명령 실행 권한 없음" + +#: tcop/utility.c:956 +#, c-format +msgid "Only roles with privileges of the \"%s\" role may execute this command." +msgstr "이 명령 실행은 \"%s\" 롤 권한이 있는 롤만 할 수 있습니다." + +#: tsearch/dict_ispell.c:52 tsearch/dict_thesaurus.c:616 #, c-format msgid "multiple DictFile parameters" msgstr "DictFile 매개 변수가 여러 개 있음" @@ -21888,7 +24493,7 @@ msgstr "인식할 수 없는 Ispell 매개 변수: \"%s\"" msgid "missing AffFile parameter" msgstr "AffFile 매개 변수가 누락됨" -#: tsearch/dict_ispell.c:102 tsearch/dict_thesaurus.c:644 +#: tsearch/dict_ispell.c:102 tsearch/dict_thesaurus.c:640 #, c-format msgid "missing DictFile parameter" msgstr "DictFile 매개 변수가 누락됨" @@ -21938,152 +24543,152 @@ msgstr "예기치 않은 줄 끝 또는 어휘소" msgid "unexpected end of line" msgstr "예기치 않은 줄 끝" -#: tsearch/dict_thesaurus.c:297 +#: tsearch/dict_thesaurus.c:292 #, c-format msgid "too many lexemes in thesaurus entry" msgstr "기준어 항목에 너무 많은 어휘소가 있음" -#: tsearch/dict_thesaurus.c:421 +#: tsearch/dict_thesaurus.c:416 #, c-format msgid "" "thesaurus sample word \"%s\" isn't recognized by subdictionary (rule %d)" msgstr "\"%s\" 기준 단어는 하위 사전에서 인식할 수 없음(규칙 %d)" -#: tsearch/dict_thesaurus.c:427 +#: tsearch/dict_thesaurus.c:422 #, c-format msgid "thesaurus sample word \"%s\" is a stop word (rule %d)" msgstr "\"%s\" 동의어 사전 샘플 단어는 중지 단어임(규칙 %d)" -#: tsearch/dict_thesaurus.c:430 +#: tsearch/dict_thesaurus.c:425 #, c-format msgid "Use \"?\" to represent a stop word within a sample phrase." msgstr "샘플 구 내에서 중지 단어를 나타내려면 \"?\"를 사용하십시오." -#: tsearch/dict_thesaurus.c:572 +#: tsearch/dict_thesaurus.c:567 #, c-format msgid "thesaurus substitute word \"%s\" is a stop word (rule %d)" msgstr "\"%s\" 동의어 사전 대체 단어는 중지 단어임(규칙 %d)" -#: tsearch/dict_thesaurus.c:579 +#: tsearch/dict_thesaurus.c:574 #, c-format msgid "" "thesaurus substitute word \"%s\" isn't recognized by subdictionary (rule %d)" msgstr "\"%s\" 동의어 사전 대체 단어는 하위 사전에서 인식할 수 없음(규칙 %d)" -#: tsearch/dict_thesaurus.c:591 +#: tsearch/dict_thesaurus.c:586 #, c-format msgid "thesaurus substitute phrase is empty (rule %d)" msgstr "동의어 사전 대체 구가 비어 있음(규칙 %d)" -#: tsearch/dict_thesaurus.c:629 +#: tsearch/dict_thesaurus.c:625 #, c-format msgid "multiple Dictionary parameters" msgstr "Dictionary 매개 변수가 여러 개 있음" -#: tsearch/dict_thesaurus.c:636 +#: tsearch/dict_thesaurus.c:632 #, c-format msgid "unrecognized Thesaurus parameter: \"%s\"" msgstr "인식할 수 없는 Thesaurus 매개 변수: \"%s\"" -#: tsearch/dict_thesaurus.c:648 +#: tsearch/dict_thesaurus.c:644 #, c-format msgid "missing Dictionary parameter" msgstr "Dictionary 매개 변수가 누락됨" -#: tsearch/spell.c:380 tsearch/spell.c:397 tsearch/spell.c:406 -#: tsearch/spell.c:1036 +#: tsearch/spell.c:381 tsearch/spell.c:398 tsearch/spell.c:407 +#: tsearch/spell.c:1043 #, c-format msgid "invalid affix flag \"%s\"" msgstr "잘못된 affix 플래그: \"%s\"" -#: tsearch/spell.c:384 tsearch/spell.c:1040 +#: tsearch/spell.c:385 tsearch/spell.c:1047 #, c-format msgid "affix flag \"%s\" is out of range" msgstr "affix 플래그 범위 초과: \"%s\"" -#: tsearch/spell.c:414 +#: tsearch/spell.c:415 #, c-format msgid "invalid character in affix flag \"%s\"" msgstr "affix 플래그에 이상한 문자가 있음: \"%s\"" -#: tsearch/spell.c:434 +#: tsearch/spell.c:435 #, c-format msgid "invalid affix flag \"%s\" with \"long\" flag value" -msgstr "" +msgstr "\"long\" 플래그 값을 포함하는 잘못된 affix 플래그: \"%s\"" -#: tsearch/spell.c:524 +#: tsearch/spell.c:525 #, c-format msgid "could not open dictionary file \"%s\": %m" msgstr "\"%s\" 사전 파일을 열 수 없음: %m" -#: tsearch/spell.c:742 utils/adt/regexp.c:208 +#: tsearch/spell.c:749 utils/adt/regexp.c:224 jsonpath_gram.y:559 #, c-format msgid "invalid regular expression: %s" msgstr "잘못된 정규식: %s" -#: tsearch/spell.c:956 tsearch/spell.c:973 tsearch/spell.c:990 -#: tsearch/spell.c:1007 tsearch/spell.c:1072 gram.y:15993 gram.y:16010 +#: tsearch/spell.c:963 tsearch/spell.c:980 tsearch/spell.c:997 +#: tsearch/spell.c:1014 tsearch/spell.c:1079 gram.y:18123 gram.y:18140 #, c-format msgid "syntax error" msgstr "구문 오류" -#: tsearch/spell.c:1163 tsearch/spell.c:1175 tsearch/spell.c:1734 -#: tsearch/spell.c:1739 tsearch/spell.c:1744 +#: tsearch/spell.c:1170 tsearch/spell.c:1182 tsearch/spell.c:1742 +#: tsearch/spell.c:1747 tsearch/spell.c:1752 #, c-format msgid "invalid affix alias \"%s\"" msgstr "잘못된 affix 별칭: \"%s\"" -#: tsearch/spell.c:1216 tsearch/spell.c:1287 tsearch/spell.c:1436 +#: tsearch/spell.c:1223 tsearch/spell.c:1294 tsearch/spell.c:1443 #, c-format msgid "could not open affix file \"%s\": %m" msgstr "\"%s\" affix 파일을 열 수 없음: %m" -#: tsearch/spell.c:1270 +#: tsearch/spell.c:1277 #, c-format msgid "" "Ispell dictionary supports only \"default\", \"long\", and \"num\" flag " "values" msgstr "Ispell 사전은 \"default\", \"long\", \"num\" 플래그 값만 지원함" -#: tsearch/spell.c:1314 +#: tsearch/spell.c:1321 #, c-format msgid "invalid number of flag vector aliases" msgstr "잘못된 플래그 백터 별칭 개수" -#: tsearch/spell.c:1337 +#: tsearch/spell.c:1344 #, c-format msgid "number of aliases exceeds specified number %d" msgstr "alias 수가 지정한 %d 개수를 초과함" -#: tsearch/spell.c:1552 +#: tsearch/spell.c:1559 #, c-format msgid "affix file contains both old-style and new-style commands" msgstr "affix 파일에 옛방식과 새방식 명령이 함께 있습니다" -#: tsearch/to_tsany.c:185 utils/adt/tsvector.c:272 utils/adt/tsvector_op.c:1121 +#: tsearch/to_tsany.c:195 utils/adt/tsvector.c:278 utils/adt/tsvector_op.c:1128 #, c-format msgid "string is too long for tsvector (%d bytes, max %d bytes)" msgstr "" "문자열이 너무 길어서 tsvector에 사용할 수 없음(%d바이트, 최대 %d바이트)" -#: tsearch/ts_locale.c:212 +#: tsearch/ts_locale.c:238 #, c-format msgid "line %d of configuration file \"%s\": \"%s\"" msgstr "%d번째 줄(해당 파일: \"%s\"): \"%s\"" -#: tsearch/ts_locale.c:329 +#: tsearch/ts_locale.c:317 #, c-format msgid "conversion from wchar_t to server encoding failed: %m" msgstr "wchar_t에서 서버 인코딩으로 변환하지 못함: %m" -#: tsearch/ts_parse.c:386 tsearch/ts_parse.c:393 tsearch/ts_parse.c:562 -#: tsearch/ts_parse.c:569 +#: tsearch/ts_parse.c:387 tsearch/ts_parse.c:394 tsearch/ts_parse.c:573 +#: tsearch/ts_parse.c:580 #, c-format msgid "word is too long to be indexed" msgstr "단어가 너무 길어서 인덱싱할 수 없음" -#: tsearch/ts_parse.c:387 tsearch/ts_parse.c:394 tsearch/ts_parse.c:563 -#: tsearch/ts_parse.c:570 +#: tsearch/ts_parse.c:388 tsearch/ts_parse.c:395 tsearch/ts_parse.c:574 +#: tsearch/ts_parse.c:581 #, c-format msgid "Words longer than %d characters are ignored." msgstr "%d자보다 긴 단어는 무시됩니다." @@ -22098,1554 +24703,1612 @@ msgstr "\"%s\" 전문 검색 구성 파일 이름이 잘못됨" msgid "could not open stop-word file \"%s\": %m" msgstr "\"%s\" 중지 단어 파일을 열 수 없음: %m" -#: tsearch/wparser.c:313 tsearch/wparser.c:401 tsearch/wparser.c:478 +#: tsearch/wparser.c:308 tsearch/wparser.c:396 tsearch/wparser.c:473 #, c-format msgid "text search parser does not support headline creation" msgstr "전문 검색 분석기에서 헤드라인 작성을 지원하지 않음" -#: tsearch/wparser_def.c:2585 +#: tsearch/wparser_def.c:2663 #, c-format msgid "unrecognized headline parameter: \"%s\"" msgstr "인식할 수 없는 headline 매개 변수: \"%s\"" -#: tsearch/wparser_def.c:2604 +#: tsearch/wparser_def.c:2673 #, c-format msgid "MinWords should be less than MaxWords" msgstr "MinWords는 MaxWords보다 작아야 함" -#: tsearch/wparser_def.c:2608 +#: tsearch/wparser_def.c:2677 #, c-format msgid "MinWords should be positive" msgstr "MinWords는 양수여야 함" -#: tsearch/wparser_def.c:2612 +#: tsearch/wparser_def.c:2681 #, c-format msgid "ShortWord should be >= 0" msgstr "ShortWord는 0보다 크거나 같아야 함" -#: tsearch/wparser_def.c:2616 +#: tsearch/wparser_def.c:2685 #, c-format msgid "MaxFragments should be >= 0" msgstr "MaxFragments는 0보다 크거나 같아야 함" +#: utils/activity/pgstat.c:438 +#, c-format +msgid "could not unlink permanent statistics file \"%s\": %m" +msgstr "\"%s\" 매개 변수 통계 파일을 지울 수 없음: %m" + +#: utils/activity/pgstat.c:1252 +#, c-format +msgid "invalid statistics kind: \"%s\"" +msgstr "잘못된 통계정보 종류: \"%s\"" + +#: utils/activity/pgstat.c:1332 +#, c-format +msgid "could not open temporary statistics file \"%s\": %m" +msgstr "\"%s\" 임시 통계 파일을 열 수 없음: %m" + +#: utils/activity/pgstat.c:1444 +#, c-format +msgid "could not write temporary statistics file \"%s\": %m" +msgstr "\"%s\" 임시 통계 파일에 쓰기 실패: %m" + +#: utils/activity/pgstat.c:1453 +#, c-format +msgid "could not close temporary statistics file \"%s\": %m" +msgstr "\"%s\" 임시 통계 파일을 닫을 수 없습니다: %m" + +#: utils/activity/pgstat.c:1461 +#, c-format +msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m" +msgstr "\"%s\" 임시 통계 파일 이름을 \"%s\" (으)로 바꿀 수 없습니다: %m" + +#: utils/activity/pgstat.c:1510 +#, c-format +msgid "could not open statistics file \"%s\": %m" +msgstr "\"%s\" 통계 파일을 열 수 없음: %m" + +#: utils/activity/pgstat.c:1672 +#, c-format +msgid "corrupted statistics file \"%s\"" +msgstr "\"%s\" 통계 파일이 손상되었음" + +#: utils/activity/pgstat_function.c:118 +#, c-format +msgid "function call to dropped function" +msgstr "삭제될 함수를 호출함" + +#: utils/activity/pgstat_xact.c:363 +#, c-format +msgid "resetting existing statistics for kind %s, db=%u, oid=%u" +msgstr "%s 종류의 기존 통계 정보를 초기화합니다, db=%u, oid=%u" + # # nonun 부분 begin -#: utils/adt/acl.c:172 utils/adt/name.c:93 +#: utils/adt/acl.c:177 utils/adt/name.c:93 #, c-format msgid "identifier too long" msgstr "식별자(identifier)가 너무 깁니다." -#: utils/adt/acl.c:173 utils/adt/name.c:94 +#: utils/adt/acl.c:178 utils/adt/name.c:94 #, c-format msgid "Identifier must be less than %d characters." msgstr "식별자(Identifier)는 %d 글자 이상일 수 없습니다." -#: utils/adt/acl.c:256 +#: utils/adt/acl.c:266 #, c-format msgid "unrecognized key word: \"%s\"" msgstr "알 수 없는 않은 키워드: \"%s\"" -#: utils/adt/acl.c:257 +#: utils/adt/acl.c:267 #, c-format msgid "ACL key word must be \"group\" or \"user\"." msgstr "ACL 키워드는 \"group\" 또는 \"user\" 중에 하나여야 합니다." -#: utils/adt/acl.c:262 +#: utils/adt/acl.c:275 #, c-format msgid "missing name" msgstr "이름이 빠졌습니다." -#: utils/adt/acl.c:263 +#: utils/adt/acl.c:276 #, c-format msgid "A name must follow the \"group\" or \"user\" key word." msgstr "이름은 \"group\" 또는 \"user\" 키워드 뒤에 있어야 합니다." -#: utils/adt/acl.c:269 +#: utils/adt/acl.c:282 #, c-format msgid "missing \"=\" sign" msgstr "\"=\" 기호가 빠졌습니다." -#: utils/adt/acl.c:322 +#: utils/adt/acl.c:341 #, c-format msgid "invalid mode character: must be one of \"%s\"" msgstr "잘못된 조건: \"%s\" 중에 한 가지여야 합니다." -#: utils/adt/acl.c:344 +#: utils/adt/acl.c:371 #, c-format msgid "a name must follow the \"/\" sign" msgstr "이름은 \"/\"기호 뒤에 있어야 합니다." -#: utils/adt/acl.c:352 +#: utils/adt/acl.c:383 #, c-format msgid "defaulting grantor to user ID %u" msgstr "%u 사용자 ID에서 기본 권한자로 할당하고 있습니다" -#: utils/adt/acl.c:538 +#: utils/adt/acl.c:569 #, c-format msgid "ACL array contains wrong data type" msgstr "ACL 배열에 잘못된 자료형을 사용하고 있습니다" -#: utils/adt/acl.c:542 +#: utils/adt/acl.c:573 #, c-format msgid "ACL arrays must be one-dimensional" -msgstr "ACL 배열은 일차원 배열이어야합니다" +msgstr "ACL 배열은 일차원 배열이어야 합니다" -#: utils/adt/acl.c:546 +#: utils/adt/acl.c:577 #, c-format msgid "ACL arrays must not contain null values" msgstr "ACL 배열에는 null 값을 포함할 수 없습니다" -#: utils/adt/acl.c:570 +#: utils/adt/acl.c:606 #, c-format msgid "extra garbage at the end of the ACL specification" msgstr "ACL 설정 정보 끝에 끝에 쓸모 없는 내용들이 더 포함되어있습니다" -#: utils/adt/acl.c:1205 +#: utils/adt/acl.c:1248 #, c-format msgid "grant options cannot be granted back to your own grantor" msgstr "부여 옵션을 해당 부여자에게 다시 부여할 수 없음" -#: utils/adt/acl.c:1266 -#, c-format -msgid "dependent privileges exist" -msgstr "???의존(적인) 권한이 존재합니다" - -#: utils/adt/acl.c:1267 -#, c-format -msgid "Use CASCADE to revoke them too." -msgstr "그것들을 취소하려면 \"CASCADE\"를 사용하세요." - -#: utils/adt/acl.c:1521 +#: utils/adt/acl.c:1564 #, c-format msgid "aclinsert is no longer supported" msgstr "aclinsert 더이상 지원하지 않음" -#: utils/adt/acl.c:1531 +#: utils/adt/acl.c:1574 #, c-format msgid "aclremove is no longer supported" msgstr "aclremovie 더이상 지원하지 않음" -#: utils/adt/acl.c:1617 utils/adt/acl.c:1671 +#: utils/adt/acl.c:1693 #, c-format msgid "unrecognized privilege type: \"%s\"" msgstr "알 수 없는 권한 타입: \"%s\"" -#: utils/adt/acl.c:3471 utils/adt/regproc.c:103 utils/adt/regproc.c:278 +#: utils/adt/acl.c:3476 utils/adt/regproc.c:100 utils/adt/regproc.c:265 #, c-format msgid "function \"%s\" does not exist" msgstr "\"%s\" 함수가 없습니다." -#: utils/adt/acl.c:4943 +#: utils/adt/acl.c:5023 #, c-format -msgid "must be member of role \"%s\"" -msgstr "\"%s\" 롤의 구성원이어야 함" - -#: utils/adt/array_expanded.c:274 utils/adt/arrayfuncs.c:933 -#: utils/adt/arrayfuncs.c:1533 utils/adt/arrayfuncs.c:3236 -#: utils/adt/arrayfuncs.c:3376 utils/adt/arrayfuncs.c:5911 -#: utils/adt/arrayfuncs.c:6252 utils/adt/arrayutils.c:93 -#: utils/adt/arrayutils.c:102 utils/adt/arrayutils.c:109 -#, c-format -msgid "array size exceeds the maximum allowed (%d)" -msgstr "배열 크기가 최대치 (%d)를 초과했습니다" +msgid "must be able to SET ROLE \"%s\"" +msgstr "SET ROLE \"%s\" 작업이 있어야 함" -#: utils/adt/array_userfuncs.c:80 utils/adt/array_userfuncs.c:466 -#: utils/adt/array_userfuncs.c:546 utils/adt/json.c:645 utils/adt/json.c:740 -#: utils/adt/json.c:778 utils/adt/jsonb.c:1115 utils/adt/jsonb.c:1144 -#: utils/adt/jsonb.c:1538 utils/adt/jsonb.c:1702 utils/adt/jsonb.c:1712 +#: utils/adt/array_userfuncs.c:102 utils/adt/array_userfuncs.c:489 +#: utils/adt/array_userfuncs.c:878 utils/adt/json.c:694 utils/adt/json.c:831 +#: utils/adt/json.c:869 utils/adt/jsonb.c:1139 utils/adt/jsonb.c:1211 +#: utils/adt/jsonb.c:1629 utils/adt/jsonb.c:1817 utils/adt/jsonb.c:1827 #, c-format msgid "could not determine input data type" msgstr "입력 자료형을 결정할 수 없음" -#: utils/adt/array_userfuncs.c:85 +#: utils/adt/array_userfuncs.c:107 #, c-format msgid "input data type is not an array" msgstr "입력 자료형이 배열이 아닙니다." -#: utils/adt/array_userfuncs.c:129 utils/adt/array_userfuncs.c:181 -#: utils/adt/arrayfuncs.c:1336 utils/adt/float.c:1243 utils/adt/float.c:1317 -#: utils/adt/float.c:3960 utils/adt/float.c:3974 utils/adt/int.c:759 -#: utils/adt/int.c:781 utils/adt/int.c:795 utils/adt/int.c:809 -#: utils/adt/int.c:840 utils/adt/int.c:861 utils/adt/int.c:978 -#: utils/adt/int.c:992 utils/adt/int.c:1006 utils/adt/int.c:1039 -#: utils/adt/int.c:1053 utils/adt/int.c:1067 utils/adt/int.c:1098 -#: utils/adt/int.c:1180 utils/adt/int.c:1244 utils/adt/int.c:1312 -#: utils/adt/int.c:1318 utils/adt/int8.c:1292 utils/adt/numeric.c:1559 -#: utils/adt/numeric.c:3435 utils/adt/varbit.c:1188 utils/adt/varbit.c:1576 -#: utils/adt/varlena.c:1087 utils/adt/varlena.c:3377 +#: 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 #, c-format msgid "integer out of range" msgstr "정수 범위를 벗어남" -#: utils/adt/array_userfuncs.c:136 utils/adt/array_userfuncs.c:191 +#: utils/adt/array_userfuncs.c:158 utils/adt/array_userfuncs.c:213 #, c-format msgid "argument must be empty or one-dimensional array" msgstr "인자는 비어있거나 1차원 배열이어야 합니다." -#: utils/adt/array_userfuncs.c:273 utils/adt/array_userfuncs.c:312 -#: utils/adt/array_userfuncs.c:349 utils/adt/array_userfuncs.c:378 -#: utils/adt/array_userfuncs.c:406 +#: utils/adt/array_userfuncs.c:295 utils/adt/array_userfuncs.c:334 +#: utils/adt/array_userfuncs.c:371 utils/adt/array_userfuncs.c:400 +#: utils/adt/array_userfuncs.c:428 #, c-format msgid "cannot concatenate incompatible arrays" msgstr "연결할 수 없는 배열들 입니다." -#: utils/adt/array_userfuncs.c:274 +#: utils/adt/array_userfuncs.c:296 #, c-format msgid "" "Arrays with element types %s and %s are not compatible for concatenation." msgstr "%s 자료형의 배열과 %s 자료형의 배열은 연결할 수 없습니다." -#: utils/adt/array_userfuncs.c:313 +#: utils/adt/array_userfuncs.c:335 #, c-format msgid "Arrays of %d and %d dimensions are not compatible for concatenation." msgstr "%d차원(배열 깊이) 배열과 %d차원 배열은 연결할 수 없습니다." -#: utils/adt/array_userfuncs.c:350 +#: utils/adt/array_userfuncs.c:372 #, c-format msgid "" "Arrays with differing element dimensions are not compatible for " "concatenation." msgstr "차원(배열 깊이)이 다른 배열들을 서로 합칠 수 없습니다" -#: utils/adt/array_userfuncs.c:379 utils/adt/array_userfuncs.c:407 +#: utils/adt/array_userfuncs.c:401 utils/adt/array_userfuncs.c:429 #, c-format msgid "Arrays with differing dimensions are not compatible for concatenation." msgstr "차원(배열 깊이)이 다른 배열들을 서로 합칠 수 없습니다" -#: utils/adt/array_userfuncs.c:662 utils/adt/array_userfuncs.c:814 +#: utils/adt/array_userfuncs.c:987 utils/adt/array_userfuncs.c:995 +#: utils/adt/arrayfuncs.c:5590 utils/adt/arrayfuncs.c:5596 +#, c-format +msgid "cannot accumulate arrays of different dimensionality" +msgstr "배열 차수가 서로 틀린 배열은 누적할 수 없음" + +#: utils/adt/array_userfuncs.c:1286 utils/adt/array_userfuncs.c:1440 #, c-format msgid "searching for elements in multidimensional arrays is not supported" msgstr "다차원 배열에서 요소 검색 기능은 지원하지 않음" -#: utils/adt/array_userfuncs.c:686 +#: utils/adt/array_userfuncs.c:1315 #, c-format msgid "initial position must not be null" msgstr "초기 위치값은 null값이 아니여야 함" -#: utils/adt/arrayfuncs.c:270 utils/adt/arrayfuncs.c:284 -#: utils/adt/arrayfuncs.c:295 utils/adt/arrayfuncs.c:317 -#: utils/adt/arrayfuncs.c:332 utils/adt/arrayfuncs.c:346 -#: utils/adt/arrayfuncs.c:352 utils/adt/arrayfuncs.c:359 -#: utils/adt/arrayfuncs.c:490 utils/adt/arrayfuncs.c:506 -#: utils/adt/arrayfuncs.c:517 utils/adt/arrayfuncs.c:532 -#: utils/adt/arrayfuncs.c:553 utils/adt/arrayfuncs.c:583 -#: utils/adt/arrayfuncs.c:590 utils/adt/arrayfuncs.c:598 -#: utils/adt/arrayfuncs.c:632 utils/adt/arrayfuncs.c:655 -#: utils/adt/arrayfuncs.c:675 utils/adt/arrayfuncs.c:787 -#: utils/adt/arrayfuncs.c:796 utils/adt/arrayfuncs.c:826 -#: utils/adt/arrayfuncs.c:841 utils/adt/arrayfuncs.c:894 +#: utils/adt/array_userfuncs.c:1688 +#, c-format +msgid "sample size must be between 0 and %d" +msgstr "샘플 크기는 0에서 %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 #, c-format msgid "malformed array literal: \"%s\"" msgstr "비정상적인 배열 문자: \"%s\"" -#: utils/adt/arrayfuncs.c:271 +#: utils/adt/arrayfuncs.c:274 #, c-format msgid "\"[\" must introduce explicitly-specified array dimensions." msgstr "배열 차원 정의는 \"[\" 문자로 시작해야 합니다." -#: utils/adt/arrayfuncs.c:285 +#: utils/adt/arrayfuncs.c:288 #, c-format msgid "Missing array dimension value." msgstr "배열 차원(배열 깊이) 값이 빠졌습니다." -#: utils/adt/arrayfuncs.c:296 utils/adt/arrayfuncs.c:333 +#: utils/adt/arrayfuncs.c:299 utils/adt/arrayfuncs.c:338 #, c-format msgid "Missing \"%s\" after array dimensions." msgstr "배열 차원(배열 깊이) 표현에서 \"%s\" 문자가 빠졌습니다." -#: utils/adt/arrayfuncs.c:305 utils/adt/arrayfuncs.c:2884 -#: utils/adt/arrayfuncs.c:2916 utils/adt/arrayfuncs.c:2931 +#: utils/adt/arrayfuncs.c:308 utils/adt/arrayfuncs.c:2933 +#: utils/adt/arrayfuncs.c:2965 utils/adt/arrayfuncs.c:2980 #, c-format msgid "upper bound cannot be less than lower bound" msgstr "상한값은 하한값보다 작을 수 없습니다" -#: utils/adt/arrayfuncs.c:318 +#: utils/adt/arrayfuncs.c:321 #, c-format msgid "Array value must start with \"{\" or dimension information." msgstr "배열값은 \"{\" 또는 배열 깊이 정보로 시작되어야 합니다" -#: utils/adt/arrayfuncs.c:347 +#: utils/adt/arrayfuncs.c:352 #, c-format msgid "Array contents must start with \"{\"." msgstr "배열형은 \"{\" 문자로 시작해야 합니다." -#: utils/adt/arrayfuncs.c:353 utils/adt/arrayfuncs.c:360 +#: utils/adt/arrayfuncs.c:360 utils/adt/arrayfuncs.c:367 #, c-format msgid "Specified array dimensions do not match array contents." msgstr "지정한 배열 차원에 해당하는 배열이 없습니다." -#: utils/adt/arrayfuncs.c:491 utils/adt/arrayfuncs.c:518 -#: utils/adt/rangetypes.c:2181 utils/adt/rangetypes.c:2189 -#: utils/adt/rowtypes.c:210 utils/adt/rowtypes.c:218 +#: utils/adt/arrayfuncs.c:507 utils/adt/arrayfuncs.c:533 +#: utils/adt/multirangetypes.c:166 utils/adt/rangetypes.c:2405 +#: utils/adt/rangetypes.c:2413 utils/adt/rowtypes.c:219 +#: utils/adt/rowtypes.c:230 #, c-format msgid "Unexpected end of input." msgstr "입력의 예상치 못한 종료." -#: utils/adt/arrayfuncs.c:507 utils/adt/arrayfuncs.c:554 -#: utils/adt/arrayfuncs.c:584 utils/adt/arrayfuncs.c:633 +#: utils/adt/arrayfuncs.c:522 utils/adt/arrayfuncs.c:569 +#: utils/adt/arrayfuncs.c:599 utils/adt/arrayfuncs.c:648 #, c-format msgid "Unexpected \"%c\" character." msgstr "예기치 않은 \"%c\" 문자" -#: utils/adt/arrayfuncs.c:533 utils/adt/arrayfuncs.c:656 +#: utils/adt/arrayfuncs.c:548 utils/adt/arrayfuncs.c:671 #, c-format msgid "Unexpected array element." msgstr "예기치 않은 배열 요소" -#: utils/adt/arrayfuncs.c:591 +#: utils/adt/arrayfuncs.c:606 #, c-format msgid "Unmatched \"%c\" character." msgstr "짝이 안 맞는 \"%c\" 문자" -#: utils/adt/arrayfuncs.c:599 utils/adt/jsonfuncs.c:2452 +#: utils/adt/arrayfuncs.c:614 utils/adt/jsonfuncs.c:2553 #, c-format msgid "Multidimensional arrays must have sub-arrays with matching dimensions." msgstr "다차원 배열에는 일치하는 차원이 포함된 배열 식이 있어야 함" -#: utils/adt/arrayfuncs.c:676 +#: utils/adt/arrayfuncs.c:691 utils/adt/multirangetypes.c:293 #, c-format msgid "Junk after closing right brace." msgstr "오른쪽 닫기 괄호 뒤에 정크" -#: utils/adt/arrayfuncs.c:1298 utils/adt/arrayfuncs.c:3344 -#: utils/adt/arrayfuncs.c:5817 +#: utils/adt/arrayfuncs.c:1325 utils/adt/arrayfuncs.c:3479 +#: utils/adt/arrayfuncs.c:6080 #, c-format msgid "invalid number of dimensions: %d" msgstr "잘못된 배열 차원(배열 깊이): %d" -#: utils/adt/arrayfuncs.c:1309 +#: utils/adt/arrayfuncs.c:1336 #, c-format msgid "invalid array flags" msgstr "잘못된 배열 플래그" -#: utils/adt/arrayfuncs.c:1317 +#: utils/adt/arrayfuncs.c:1358 #, c-format -msgid "wrong element type" -msgstr "잘못된 요소 타입" +msgid "binary data has array element type %u (%s) instead of expected %u (%s)" +msgstr "이진 자료에 있는 배열 요소 자료형이 %u (%s) 입니다. 기대값: %u (%s)" -#: utils/adt/arrayfuncs.c:1367 utils/adt/rangetypes.c:335 -#: utils/cache/lsyscache.c:2835 +#: utils/adt/arrayfuncs.c:1402 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 "%s 자료형에서 사용할 바이너리 입력 함수가 없습니다." -#: utils/adt/arrayfuncs.c:1507 +#: utils/adt/arrayfuncs.c:1542 #, c-format msgid "improper binary format in array element %d" msgstr "%d 번째 배열 요소의 포맷이 부적절합니다." -#: utils/adt/arrayfuncs.c:1588 utils/adt/rangetypes.c:340 -#: utils/cache/lsyscache.c:2868 +#: utils/adt/arrayfuncs.c:1623 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 "%s 자료형에서 사용할 바이너리 출력 함수가 없습니다." -#: utils/adt/arrayfuncs.c:2066 +#: utils/adt/arrayfuncs.c:2102 #, c-format msgid "slices of fixed-length arrays not implemented" msgstr "특정 크기로 배열을 절단하는 기능은 구현되지 않습니다." -#: utils/adt/arrayfuncs.c:2244 utils/adt/arrayfuncs.c:2266 -#: utils/adt/arrayfuncs.c:2315 utils/adt/arrayfuncs.c:2551 -#: utils/adt/arrayfuncs.c:2862 utils/adt/arrayfuncs.c:5803 -#: utils/adt/arrayfuncs.c:5829 utils/adt/arrayfuncs.c:5840 -#: utils/adt/json.c:1141 utils/adt/json.c:1216 utils/adt/jsonb.c:1316 -#: utils/adt/jsonb.c:1402 utils/adt/jsonfuncs.c:4340 utils/adt/jsonfuncs.c:4490 -#: utils/adt/jsonfuncs.c:4602 utils/adt/jsonfuncs.c:4648 +#: utils/adt/arrayfuncs.c:2280 utils/adt/arrayfuncs.c:2302 +#: utils/adt/arrayfuncs.c:2351 utils/adt/arrayfuncs.c:2589 +#: utils/adt/arrayfuncs.c:2911 utils/adt/arrayfuncs.c:6066 +#: utils/adt/arrayfuncs.c:6092 utils/adt/arrayfuncs.c:6103 +#: utils/adt/json.c:1497 utils/adt/json.c:1569 utils/adt/jsonb.c:1416 +#: utils/adt/jsonb.c:1500 utils/adt/jsonfuncs.c:4434 utils/adt/jsonfuncs.c:4587 +#: utils/adt/jsonfuncs.c:4698 utils/adt/jsonfuncs.c:4746 #, c-format msgid "wrong number of array subscripts" msgstr "잘못된 배열 하위 스크립트(1,2...차원 배열 표시 문제)" -#: utils/adt/arrayfuncs.c:2249 utils/adt/arrayfuncs.c:2357 -#: utils/adt/arrayfuncs.c:2615 utils/adt/arrayfuncs.c:2921 +#: utils/adt/arrayfuncs.c:2285 utils/adt/arrayfuncs.c:2393 +#: utils/adt/arrayfuncs.c:2656 utils/adt/arrayfuncs.c:2970 #, c-format msgid "array subscript out of range" msgstr "배열 하위 스크립트 범위를 초과했습니다" -#: utils/adt/arrayfuncs.c:2254 +#: utils/adt/arrayfuncs.c:2290 #, c-format msgid "cannot assign null value to an element of a fixed-length array" msgstr "고정 길이 배열의 요소에 null 값을 지정할 수 없음" -#: utils/adt/arrayfuncs.c:2809 +#: utils/adt/arrayfuncs.c:2858 #, c-format msgid "updates on slices of fixed-length arrays not implemented" msgstr "고정된 크기의 배열의 조각을 업데이트 하는 기능은 구현되지 않았습니다." -#: utils/adt/arrayfuncs.c:2840 +#: utils/adt/arrayfuncs.c:2889 #, c-format msgid "array slice subscript must provide both boundaries" msgstr "배열 나누기 서브스크립트는 반드시 둘다 범위안에 있어야 합니다" -#: utils/adt/arrayfuncs.c:2841 +#: utils/adt/arrayfuncs.c:2890 #, c-format msgid "" "When assigning to a slice of an empty array value, slice boundaries must be " "fully specified." -msgstr "" +msgstr "빈 배열 대상으로 자르기를 할 때는 자르기 범위가 전체여야 합니다." -#: utils/adt/arrayfuncs.c:2852 utils/adt/arrayfuncs.c:2947 +#: utils/adt/arrayfuncs.c:2901 utils/adt/arrayfuncs.c:2997 #, c-format msgid "source array too small" msgstr "원본 배열이 너무 작습니다." -#: utils/adt/arrayfuncs.c:3500 +#: utils/adt/arrayfuncs.c:3637 #, c-format msgid "null array element not allowed in this context" msgstr "이 구문에서는 배열의 null 요소를 허용하지 않습니다" -#: utils/adt/arrayfuncs.c:3602 utils/adt/arrayfuncs.c:3773 -#: utils/adt/arrayfuncs.c:4129 +#: utils/adt/arrayfuncs.c:3808 utils/adt/arrayfuncs.c:3979 +#: utils/adt/arrayfuncs.c:4370 #, c-format msgid "cannot compare arrays of different element types" msgstr "배열 요소 자료형이 서로 틀린 배열은 비교할 수 없습니다." -#: utils/adt/arrayfuncs.c:3951 utils/adt/rangetypes.c:1254 -#: utils/adt/rangetypes.c:1318 +#: utils/adt/arrayfuncs.c:4157 utils/adt/multirangetypes.c:2806 +#: utils/adt/multirangetypes.c:2878 utils/adt/rangetypes.c:1354 +#: utils/adt/rangetypes.c:1418 utils/adt/rowtypes.c:1885 #, c-format msgid "could not identify a hash function for type %s" msgstr "%s 자료형에서 사용할 해시 함수를 찾을 수 없습니다." -#: utils/adt/arrayfuncs.c:4044 +#: utils/adt/arrayfuncs.c:4285 utils/adt/rowtypes.c:2006 #, c-format msgid "could not identify an extended hash function for type %s" msgstr "%s 자료형에서 사용할 확장된 해시 함수를 찾을 수 없습니다." -#: utils/adt/arrayfuncs.c:5221 +#: utils/adt/arrayfuncs.c:5480 #, c-format msgid "data type %s is not an array type" msgstr "%s 자료형은 배열이 아닙니다." -#: utils/adt/arrayfuncs.c:5276 +#: utils/adt/arrayfuncs.c:5535 #, c-format msgid "cannot accumulate null arrays" msgstr "null 배열을 누적할 수 없음" -#: utils/adt/arrayfuncs.c:5304 +#: utils/adt/arrayfuncs.c:5563 #, c-format msgid "cannot accumulate empty arrays" msgstr "빈 배열을 누적할 수 없음" -#: utils/adt/arrayfuncs.c:5331 utils/adt/arrayfuncs.c:5337 -#, c-format -msgid "cannot accumulate arrays of different dimensionality" -msgstr "배열 차수가 서로 틀린 배열은 누적할 수 없음" - -#: utils/adt/arrayfuncs.c:5701 utils/adt/arrayfuncs.c:5741 +#: utils/adt/arrayfuncs.c:5964 utils/adt/arrayfuncs.c:6004 #, c-format msgid "dimension array or low bound array cannot be null" msgstr "차원 배열 또는 하한 배열은 NULL일 수 없음" -#: utils/adt/arrayfuncs.c:5804 utils/adt/arrayfuncs.c:5830 +#: utils/adt/arrayfuncs.c:6067 utils/adt/arrayfuncs.c:6093 #, c-format msgid "Dimension array must be one dimensional." msgstr "차원 배열은 일차원 배열이어야 합니다." -#: utils/adt/arrayfuncs.c:5809 utils/adt/arrayfuncs.c:5835 +#: utils/adt/arrayfuncs.c:6072 utils/adt/arrayfuncs.c:6098 #, c-format msgid "dimension values cannot be null" msgstr "차원 값은 null일 수 없음" -#: utils/adt/arrayfuncs.c:5841 +#: utils/adt/arrayfuncs.c:6104 #, c-format msgid "Low bound array has different size than dimensions array." msgstr "하한 배열의 크기가 차원 배열과 다릅니다." -#: utils/adt/arrayfuncs.c:6117 +#: utils/adt/arrayfuncs.c:6382 #, c-format msgid "removing elements from multidimensional arrays is not supported" msgstr "다차원 배열에서 요소 삭제기능은 지원되지 않음" -#: utils/adt/arrayfuncs.c:6394 +#: utils/adt/arrayfuncs.c:6659 #, c-format msgid "thresholds must be one-dimensional array" msgstr "threshold 값은 1차원 배열이어야 합니다." -#: utils/adt/arrayfuncs.c:6399 +#: utils/adt/arrayfuncs.c:6664 #, c-format msgid "thresholds array must not contain NULLs" msgstr "threshold 배열에는 null이 포함되지 않아야 함" -#: utils/adt/arrayutils.c:209 +#: utils/adt/arrayfuncs.c:6897 +#, c-format +msgid "number of elements to trim must be between 0 and %d" +msgstr "요소 자름 수는 0부터 %d까지입니다" + +#: utils/adt/arraysubs.c:93 utils/adt/arraysubs.c:130 +#, c-format +msgid "array subscript must have type integer" +msgstr "배열 요소 번호는 정수형이어야 합니다." + +#: utils/adt/arraysubs.c:198 utils/adt/arraysubs.c:217 +#, c-format +msgid "array subscript in assignment must not be null" +msgstr "배열 요소 지정하는 번호값으로 null 값을 사용할 수 없습니다" + +#: utils/adt/arrayutils.c:161 +#, c-format +msgid "array lower bound is too large: %d" +msgstr "배열 lower bound가 너무 큽니다: %d" + +#: utils/adt/arrayutils.c:263 #, c-format msgid "typmod array must be type cstring[]" msgstr "typmod 배열은 cstring[] 형식이어야 함" -#: utils/adt/arrayutils.c:214 +#: utils/adt/arrayutils.c:268 #, c-format msgid "typmod array must be one-dimensional" msgstr "typmod 배열은 일차원 배열이어야 함" -#: utils/adt/arrayutils.c:219 +#: utils/adt/arrayutils.c:273 #, c-format msgid "typmod array must not contain nulls" msgstr "typmod 배열에는 null이 포함되지 않아야 함" -#: utils/adt/ascii.c:76 +#: utils/adt/ascii.c:77 #, c-format 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:3757 -#: utils/adt/float.c:187 utils/adt/float.c:271 utils/adt/float.c:295 -#: utils/adt/float.c:412 utils/adt/float.c:497 utils/adt/float.c:525 -#: utils/adt/geo_ops.c:220 utils/adt/geo_ops.c:230 utils/adt/geo_ops.c:242 -#: utils/adt/geo_ops.c:274 utils/adt/geo_ops.c:316 utils/adt/geo_ops.c:326 -#: utils/adt/geo_ops.c:974 utils/adt/geo_ops.c:1378 utils/adt/geo_ops.c:1413 -#: utils/adt/geo_ops.c:1421 utils/adt/geo_ops.c:3476 utils/adt/geo_ops.c:4645 -#: utils/adt/geo_ops.c:4660 utils/adt/geo_ops.c:4667 utils/adt/int8.c:126 -#: utils/adt/jsonpath.c:182 utils/adt/mac.c:94 utils/adt/mac8.c:93 -#: utils/adt/mac8.c:166 utils/adt/mac8.c:184 utils/adt/mac8.c:202 -#: utils/adt/mac8.c:221 utils/adt/network.c:100 utils/adt/numeric.c:601 -#: utils/adt/numeric.c:628 utils/adt/numeric.c:6001 utils/adt/numeric.c:6025 -#: utils/adt/numeric.c:6049 utils/adt/numeric.c:6882 utils/adt/numeric.c:6908 -#: utils/adt/numutils.c:116 utils/adt/numutils.c:126 utils/adt/numutils.c:170 -#: utils/adt/numutils.c:246 utils/adt/numutils.c:322 utils/adt/oid.c:44 -#: utils/adt/oid.c:58 utils/adt/oid.c:64 utils/adt/oid.c:86 -#: utils/adt/pg_lsn.c:73 utils/adt/tid.c:74 utils/adt/tid.c:82 -#: utils/adt/tid.c:90 utils/adt/timestamp.c:494 utils/adt/uuid.c:136 -#: utils/adt/xid8funcs.c:346 +#: 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 #, 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/int8.c:118 utils/adt/numutils.c:140 -#: utils/adt/numutils.c:147 utils/adt/numutils.c:240 utils/adt/numutils.c:316 -#: utils/adt/oid.c:70 utils/adt/oid.c:109 +#: 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 #, c-format msgid "value \"%s\" is out of range for type %s" msgstr "입력한 \"%s\" 값은 %s 자료형 범위를 초과했습니다" #: 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:104 utils/adt/int.c:824 utils/adt/int.c:940 -#: utils/adt/int.c:1020 utils/adt/int.c:1082 utils/adt/int.c:1120 -#: utils/adt/int.c:1148 utils/adt/int8.c:593 utils/adt/int8.c:651 -#: utils/adt/int8.c:978 utils/adt/int8.c:1058 utils/adt/int8.c:1120 -#: utils/adt/int8.c:1200 utils/adt/numeric.c:7446 utils/adt/numeric.c:7736 -#: utils/adt/numeric.c:9318 utils/adt/timestamp.c:3264 +#: 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 #, c-format msgid "division by zero" msgstr "0으로는 나눌수 없습니다." -#: utils/adt/char.c:169 +#: utils/adt/char.c:197 #, c-format msgid "\"char\" out of range" msgstr "\"char\" 범위를 벗어났습니다." -#: utils/adt/date.c:61 utils/adt/timestamp.c:95 utils/adt/varbit.c:104 -#: utils/adt/varchar.c:48 +#: utils/adt/cryptohashfuncs.c:48 utils/adt/cryptohashfuncs.c:70 +#, c-format +msgid "could not compute %s hash: %s" +msgstr "%s 해시 계산 실패: %s" + +#: utils/adt/date.c:63 utils/adt/timestamp.c:100 utils/adt/varbit.c:105 +#: utils/adt/varchar.c:49 #, c-format msgid "invalid type modifier" msgstr "잘못된 자료형 한정자" -#: utils/adt/date.c:73 +#: utils/adt/date.c:75 #, c-format msgid "TIME(%d)%s precision must not be negative" msgstr "TIME(%d)%s 정밀도로 음수를 사용할 수 없습니다" -#: utils/adt/date.c:79 +#: utils/adt/date.c:81 #, c-format msgid "TIME(%d)%s precision reduced to maximum allowed, %d" msgstr "TIME(%d)%s 정밀도는 최대값(%d)으로 줄였습니다" -#: utils/adt/date.c:158 utils/adt/date.c:166 utils/adt/formatting.c:4210 -#: utils/adt/formatting.c:4219 utils/adt/formatting.c:4325 -#: utils/adt/formatting.c:4335 +#: utils/adt/date.c:166 utils/adt/date.c:174 utils/adt/formatting.c:4241 +#: utils/adt/formatting.c:4250 utils/adt/formatting.c:4363 +#: utils/adt/formatting.c:4373 #, c-format msgid "date out of range: \"%s\"" msgstr "날짜 범위가 벗어났음: \"%s\"" -#: utils/adt/date.c:213 utils/adt/date.c:525 utils/adt/date.c:549 -#: utils/adt/xml.c:2210 +#: 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 #, c-format msgid "date out of range" msgstr "날짜가 범위를 벗어남" -#: utils/adt/date.c:259 utils/adt/timestamp.c:574 +#: utils/adt/date.c:267 utils/adt/timestamp.c:582 #, c-format msgid "date field value out of range: %d-%02d-%02d" msgstr "날짜 필드의 값이 범위를 벗어남: %d-%02d-%02d" -#: utils/adt/date.c:266 utils/adt/date.c:275 utils/adt/timestamp.c:580 +#: utils/adt/date.c:274 utils/adt/date.c:283 utils/adt/timestamp.c:588 #, c-format msgid "date out of range: %d-%02d-%02d" msgstr "날짜 범위가 벗어났음: %d-%02d-%02d" -#: utils/adt/date.c:313 utils/adt/date.c:336 utils/adt/date.c:362 -#: utils/adt/date.c:1170 utils/adt/date.c:1216 utils/adt/date.c:1772 -#: utils/adt/date.c:1803 utils/adt/date.c:1832 utils/adt/date.c:2664 -#: utils/adt/datetime.c:1655 utils/adt/formatting.c:4067 -#: utils/adt/formatting.c:4099 utils/adt/formatting.c:4179 -#: utils/adt/formatting.c:4301 utils/adt/json.c:418 utils/adt/json.c:457 -#: utils/adt/timestamp.c:222 utils/adt/timestamp.c:254 -#: utils/adt/timestamp.c:692 utils/adt/timestamp.c:701 -#: utils/adt/timestamp.c:779 utils/adt/timestamp.c:812 -#: utils/adt/timestamp.c:2843 utils/adt/timestamp.c:2864 -#: utils/adt/timestamp.c:2877 utils/adt/timestamp.c:2886 -#: utils/adt/timestamp.c:2894 utils/adt/timestamp.c:2949 -#: utils/adt/timestamp.c:2972 utils/adt/timestamp.c:2985 -#: utils/adt/timestamp.c:2996 utils/adt/timestamp.c:3004 -#: utils/adt/timestamp.c:3664 utils/adt/timestamp.c:3789 -#: utils/adt/timestamp.c:3830 utils/adt/timestamp.c:3920 -#: utils/adt/timestamp.c:3964 utils/adt/timestamp.c:4067 -#: utils/adt/timestamp.c:4552 utils/adt/timestamp.c:4748 -#: utils/adt/timestamp.c:5075 utils/adt/timestamp.c:5089 -#: utils/adt/timestamp.c:5094 utils/adt/timestamp.c:5108 -#: utils/adt/timestamp.c:5141 utils/adt/timestamp.c:5218 -#: utils/adt/timestamp.c:5259 utils/adt/timestamp.c:5263 -#: utils/adt/timestamp.c:5332 utils/adt/timestamp.c:5336 -#: utils/adt/timestamp.c:5350 utils/adt/timestamp.c:5384 utils/adt/xml.c:2232 -#: utils/adt/xml.c:2239 utils/adt/xml.c:2259 utils/adt/xml.c:2266 -#, c-format -msgid "timestamp out of range" -msgstr "타임스탬프 범위를 벗어남" - -#: utils/adt/date.c:500 +#: utils/adt/date.c:494 #, c-format msgid "cannot subtract infinite dates" msgstr "무한 날짜를 뺄 수 없음" -#: utils/adt/date.c:589 utils/adt/date.c:646 utils/adt/date.c:680 -#: utils/adt/date.c:2701 utils/adt/date.c:2711 +#: utils/adt/date.c:592 utils/adt/date.c:655 utils/adt/date.c:691 +#: utils/adt/date.c:2885 utils/adt/date.c:2895 #, c-format msgid "date out of range for timestamp" msgstr "날짜가 타임스탬프 범위를 벗어남" -#: utils/adt/date.c:1389 utils/adt/date.c:2159 utils/adt/formatting.c:4387 +#: 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 +#, 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: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 +#, 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: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 +#, c-format +msgid "timestamp out of range" +msgstr "타임스탬프 범위를 벗어남" + +#: utils/adt/date.c:1535 utils/adt/date.c:2343 utils/adt/formatting.c:4431 #, c-format msgid "time out of range" msgstr "시간 범위를 벗어남" -#: utils/adt/date.c:1441 utils/adt/timestamp.c:589 +#: utils/adt/date.c:1587 utils/adt/timestamp.c:597 #, c-format msgid "time field value out of range: %d:%02d:%02g" msgstr "시간 필드의 값이 범위를 벗어남: %d:%02d:%02g" -#: utils/adt/date.c:1961 utils/adt/date.c:2463 utils/adt/float.c:1071 -#: utils/adt/float.c:1140 utils/adt/int.c:616 utils/adt/int.c:663 -#: utils/adt/int.c:698 utils/adt/int8.c:492 utils/adt/numeric.c:2197 -#: utils/adt/timestamp.c:3313 utils/adt/timestamp.c:3344 -#: utils/adt/timestamp.c:3375 +#: 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 #, c-format msgid "invalid preceding or following size in window function" msgstr "윈도우 함수에서 앞에 오거나 뒤에 따라오는 크기가 잘못됨" -#: utils/adt/date.c:2046 utils/adt/date.c:2059 -#, c-format -msgid "\"time\" units \"%s\" not recognized" -msgstr "\"%s\" 는 \"time\" 자료형 단위가 아닙니다." - -#: utils/adt/date.c:2167 +#: utils/adt/date.c:2351 #, c-format msgid "time zone displacement out of range" msgstr "타임 존 변위가 범위를 벗어남" -#: utils/adt/date.c:2796 utils/adt/date.c:2809 -#, c-format -msgid "\"time with time zone\" units \"%s\" not recognized" -msgstr "\"%s\" 는 \"time with time zone\" 자료형의 단위가 아닙니다." - -#: utils/adt/date.c:2882 utils/adt/datetime.c:906 utils/adt/datetime.c:1813 -#: utils/adt/datetime.c:4601 utils/adt/timestamp.c:513 -#: utils/adt/timestamp.c:540 utils/adt/timestamp.c:4150 -#: utils/adt/timestamp.c:5100 utils/adt/timestamp.c:5342 -#, c-format -msgid "time zone \"%s\" not recognized" -msgstr "\"%s\" 이름의 시간대는 없습니다." - -#: utils/adt/date.c:2914 utils/adt/timestamp.c:5130 utils/adt/timestamp.c:5373 +#: utils/adt/date.c:3110 utils/adt/timestamp.c:5506 utils/adt/timestamp.c:5736 #, c-format msgid "interval time zone \"%s\" must not include months or days" msgstr "" "\"%s\" 시간대 간격(interval time zone) 값으로 달(month) 또는 일(day)을 포함" "할 수 없습니다" -#: utils/adt/datetime.c:3730 utils/adt/datetime.c:3737 +#: utils/adt/datetime.c:3223 utils/adt/datetime.c:4002 +#: utils/adt/datetime.c:4008 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 #, c-format msgid "date/time field value out of range: \"%s\"" msgstr "날짜/시간 필드의 값이 범위를 벗어남: \"%s\"" -#: utils/adt/datetime.c:3739 +#: utils/adt/datetime.c:3985 #, c-format msgid "Perhaps you need a different \"datestyle\" setting." msgstr "날짜 표현 방식(\"datestyle\")을 다른 것으로 사용하고 있는 듯 합니다." -#: utils/adt/datetime.c:3744 +#: utils/adt/datetime.c:3990 #, c-format msgid "interval field value out of range: \"%s\"" msgstr "interval 필드의 값이 범위를 벗어남: \"%s\"" -#: utils/adt/datetime.c:3750 +#: utils/adt/datetime.c:3996 #, c-format msgid "time zone displacement out of range: \"%s\"" msgstr "표준시간대 범위를 벗어남: \"%s\"" -#: utils/adt/datetime.c:4603 +#: utils/adt/datetime.c:4010 #, c-format msgid "" "This time zone name appears in the configuration file for time zone " "abbreviation \"%s\"." msgstr "" +"이 시간대 이름은 시간대 약어 \"%s\"에 대한 환경 설정 파일에 나타납니다." -#: utils/adt/datum.c:89 utils/adt/datum.c:101 +#: utils/adt/datum.c:90 utils/adt/datum.c:102 #, c-format msgid "invalid Datum pointer" msgstr "잘못된 Datum 포인터" -#: utils/adt/dbsize.c:759 utils/adt/dbsize.c:827 +#: utils/adt/dbsize.c:761 utils/adt/dbsize.c:837 #, c-format msgid "invalid size: \"%s\"" msgstr "잘못된 크기: \"%s\"" -#: utils/adt/dbsize.c:828 +#: utils/adt/dbsize.c:838 #, c-format msgid "Invalid size unit: \"%s\"." msgstr "잘못된 크기 단위: \"%s\"" -#: utils/adt/dbsize.c:829 +#: utils/adt/dbsize.c:839 #, c-format -msgid "Valid units are \"bytes\", \"kB\", \"MB\", \"GB\", and \"TB\"." +msgid "" +"Valid units are \"bytes\", \"B\", \"kB\", \"MB\", \"GB\", \"TB\", and \"PB\"." msgstr "" -"이 매개 변수에 유효한 단위는 \"bytes\",\"kB\", \"MB\", \"GB\", \"TB\"입니다." +"유효한 단위는 \"bytes\", \"B\", \"kB\", \"MB\", \"GB\", \"TB\", \"PB\"입니다." #: utils/adt/domains.c:92 #, c-format msgid "type %s is not a domain" msgstr "%s 자료형은 도메인이 아닙니다" -#: utils/adt/encode.c:64 utils/adt/encode.c:112 +#: utils/adt/encode.c:66 utils/adt/encode.c:114 #, c-format msgid "unrecognized encoding: \"%s\"" msgstr "알 수 없는 인코딩: \"%s\"" -#: utils/adt/encode.c:78 +#: utils/adt/encode.c:80 #, c-format msgid "result of encoding conversion is too large" msgstr "인코딩 변환 결과가 너무 깁니다" -#: utils/adt/encode.c:126 +#: utils/adt/encode.c:128 #, c-format msgid "result of decoding conversion is too large" msgstr "디코딩 변환 결과가 너무 깁니다" -#: utils/adt/encode.c:184 +#: utils/adt/encode.c:217 utils/adt/encode.c:227 #, c-format -msgid "invalid hexadecimal digit: \"%c\"" -msgstr "잘못된 16진수: \"%c\"" +msgid "invalid hexadecimal digit: \"%.*s\"" +msgstr "잘못된 16진수: \"%.*s\"" -#: utils/adt/encode.c:212 +#: utils/adt/encode.c:223 #, c-format msgid "invalid hexadecimal data: odd number of digits" msgstr "잘못된 16진수 데이터: 데이터의 길이가 홀수 입니다." -#: utils/adt/encode.c:329 +#: utils/adt/encode.c:344 #, c-format msgid "unexpected \"=\" while decoding base64 sequence" msgstr "base64 자료를 디코딩 하는 중 예상치 못한 \"=\" 문자 발견" -#: utils/adt/encode.c:341 +#: utils/adt/encode.c:356 #, c-format -msgid "invalid symbol \"%c\" while decoding base64 sequence" -msgstr "base64 자료를 디코딩 하는 중 잘못된 \"%c\" 기호 발견" +msgid "invalid symbol \"%.*s\" found while decoding base64 sequence" +msgstr "base64 자료를 디코딩 하는 중 잘못된 \"%.*s\" 기호 발견" -#: utils/adt/encode.c:361 +#: utils/adt/encode.c:377 #, c-format msgid "invalid base64 end sequence" msgstr "base64 마침 조합이 잘못되었음" -#: utils/adt/encode.c:362 +#: utils/adt/encode.c:378 #, c-format msgid "Input data is missing padding, is truncated, or is otherwise corrupted." msgstr "입력값에 여백 처리값이 빠졌거나, 자료가 손상되었습니다." -#: utils/adt/encode.c:476 utils/adt/encode.c:541 utils/adt/jsonfuncs.c:619 -#: utils/adt/varlena.c:319 utils/adt/varlena.c:360 jsonpath_gram.y:528 -#: jsonpath_scan.l:519 jsonpath_scan.l:530 jsonpath_scan.l:540 -#: jsonpath_scan.l:582 +#: utils/adt/encode.c:492 utils/adt/encode.c:557 utils/adt/jsonfuncs.c:648 +#: utils/adt/varlena.c:331 utils/adt/varlena.c:372 jsonpath_gram.y:528 +#: jsonpath_scan.l:629 jsonpath_scan.l:640 jsonpath_scan.l:650 +#: jsonpath_scan.l:701 #, c-format msgid "invalid input syntax for type %s" msgstr "%s 자료형에 대한 잘못된 입력 구문" -#: utils/adt/enum.c:100 +#: utils/adt/enum.c:99 #, c-format msgid "unsafe use of new value \"%s\" of enum type %s" -msgstr "" +msgstr "\"%s\" 새 값이 안전하지 않게 사용되었습니다. 해당 자료형: %s" -#: utils/adt/enum.c:103 +#: utils/adt/enum.c:102 #, c-format msgid "New enum values must be committed before they can be used." -msgstr "" +msgstr "새 요소 값은 사용되기 전에 먼저 커밋되어야 합니다." -#: utils/adt/enum.c:121 utils/adt/enum.c:131 utils/adt/enum.c:189 -#: utils/adt/enum.c:199 +#: utils/adt/enum.c:121 utils/adt/enum.c:131 utils/adt/enum.c:194 +#: utils/adt/enum.c:204 #, c-format msgid "invalid input value for enum %s: \"%s\"" msgstr "%s 열거형의 입력 값이 잘못됨: \"%s\"" -#: utils/adt/enum.c:161 utils/adt/enum.c:227 utils/adt/enum.c:286 +#: utils/adt/enum.c:166 utils/adt/enum.c:232 utils/adt/enum.c:291 #, c-format msgid "invalid internal value for enum: %u" msgstr "열거형의 내부 값이 잘못됨: %u" -#: utils/adt/enum.c:446 utils/adt/enum.c:475 utils/adt/enum.c:515 -#: utils/adt/enum.c:535 +#: utils/adt/enum.c:451 utils/adt/enum.c:480 utils/adt/enum.c:520 +#: utils/adt/enum.c:540 #, c-format msgid "could not determine actual enum type" msgstr "실제 열거형의 자료형을 확인할 수 없음" -#: utils/adt/enum.c:454 utils/adt/enum.c:483 +#: utils/adt/enum.c:459 utils/adt/enum.c:488 #, c-format msgid "enum %s contains no values" msgstr "\"%s\" 열거형 자료에 값이 없음" -#: utils/adt/expandedrecord.c:99 utils/adt/expandedrecord.c:231 -#: utils/cache/typcache.c:1632 utils/cache/typcache.c:1788 -#: utils/cache/typcache.c:1918 utils/fmgr/funcapi.c:456 -#, c-format -msgid "type %s is not composite" -msgstr "%s 자료형은 복합 자료형이 아닙니다" - -#: utils/adt/float.c:88 +#: utils/adt/float.c:89 #, c-format msgid "value out of range: overflow" msgstr "값이 범위를 벗어남: 오버플로" -#: utils/adt/float.c:96 +#: utils/adt/float.c:97 #, c-format msgid "value out of range: underflow" msgstr "값이 범위를 벗어남: 언더플로" -#: utils/adt/float.c:265 +#: utils/adt/float.c:286 #, c-format msgid "\"%s\" is out of range for type real" msgstr "\"%s\"는 real 자료형의 범위를 벗어납니다." -#: utils/adt/float.c:489 +#: utils/adt/float.c:488 #, c-format msgid "\"%s\" is out of range for type double precision" msgstr "\"%s\"는 double precision 자료형의 범위를 벗어납니다." -#: utils/adt/float.c:1268 utils/adt/float.c:1342 utils/adt/int.c:336 -#: utils/adt/int.c:874 utils/adt/int.c:896 utils/adt/int.c:910 -#: utils/adt/int.c:924 utils/adt/int.c:956 utils/adt/int.c:1194 -#: utils/adt/int8.c:1313 utils/adt/numeric.c:3553 utils/adt/numeric.c:3562 +#: 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 #, c-format msgid "smallint out of range" msgstr "smallint의 범위를 벗어났습니다." -#: utils/adt/float.c:1468 utils/adt/numeric.c:8329 +#: utils/adt/float.c:1453 utils/adt/numeric.c:3693 utils/adt/numeric.c:10027 #, c-format msgid "cannot take square root of a negative number" msgstr "음수의 제곱근을 구할 수 없습니다." -#: utils/adt/float.c:1536 utils/adt/numeric.c:3239 +#: utils/adt/float.c:1521 utils/adt/numeric.c:3981 utils/adt/numeric.c:4093 #, c-format msgid "zero raised to a negative power is undefined" msgstr "0의 음수 거듭제곱이 정의되어 있지 않음" -#: utils/adt/float.c:1540 utils/adt/numeric.c:3245 +#: utils/adt/float.c:1525 utils/adt/numeric.c:3985 utils/adt/numeric.c:10918 #, c-format msgid "a negative number raised to a non-integer power yields a complex result" msgstr "음수의 비정수 거듭제곱을 계산하면 복잡한 결과가 생성됨" -#: utils/adt/float.c:1614 utils/adt/float.c:1647 utils/adt/numeric.c:8993 +#: utils/adt/float.c:1701 utils/adt/float.c:1734 utils/adt/numeric.c:3893 +#: utils/adt/numeric.c:10698 #, c-format msgid "cannot take logarithm of zero" msgstr "0의 대수를 구할 수 없습니다." -#: utils/adt/float.c:1618 utils/adt/float.c:1651 utils/adt/numeric.c:8997 +#: 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 #, c-format msgid "cannot take logarithm of a negative number" msgstr "음수의 대수를 구할 수 없습니다." -#: utils/adt/float.c:1684 utils/adt/float.c:1715 utils/adt/float.c:1810 -#: utils/adt/float.c:1837 utils/adt/float.c:1865 utils/adt/float.c:1892 -#: utils/adt/float.c:2039 utils/adt/float.c:2076 utils/adt/float.c:2246 -#: utils/adt/float.c:2302 utils/adt/float.c:2367 utils/adt/float.c:2424 -#: utils/adt/float.c:2615 utils/adt/float.c:2639 +#: utils/adt/float.c:1771 utils/adt/float.c:1802 utils/adt/float.c:1897 +#: utils/adt/float.c:1924 utils/adt/float.c:1952 utils/adt/float.c:1979 +#: utils/adt/float.c:2126 utils/adt/float.c:2163 utils/adt/float.c:2333 +#: utils/adt/float.c:2389 utils/adt/float.c:2454 utils/adt/float.c:2511 +#: utils/adt/float.c:2702 utils/adt/float.c:2726 #, c-format msgid "input is out of range" msgstr "입력값이 범위를 벗어났습니다." -#: utils/adt/float.c:2706 +#: utils/adt/float.c:2867 #, c-format msgid "setseed parameter %g is out of allowed range [-1,1]" -msgstr "" +msgstr "%g setseed 매개 변수가 [-1,1] 범위를 벗어났습니다." -#: utils/adt/float.c:3938 utils/adt/numeric.c:1509 +#: utils/adt/float.c:4095 utils/adt/numeric.c:1841 #, c-format msgid "count must be greater than zero" -msgstr "카운트 값은 0 보다 커야합니다" +msgstr "카운트 값은 0 보다 커야 합니다" -#: utils/adt/float.c:3943 utils/adt/numeric.c:1516 +#: utils/adt/float.c:4100 utils/adt/numeric.c:1852 #, c-format msgid "operand, lower bound, and upper bound cannot be NaN" msgstr "피연산자, 하한 및 상한은 NaN일 수 없음" -#: utils/adt/float.c:3949 +#: utils/adt/float.c:4106 utils/adt/numeric.c:1857 #, c-format msgid "lower and upper bounds must be finite" msgstr "하한 및 상한은 유한한 값이어야 함" -#: utils/adt/float.c:3983 utils/adt/numeric.c:1529 +#: utils/adt/float.c:4172 utils/adt/numeric.c:1871 #, c-format msgid "lower bound cannot equal upper bound" msgstr "하한값은 상한값과 같을 수 없습니다" -#: utils/adt/formatting.c:532 +#: utils/adt/formatting.c:519 #, c-format msgid "invalid format specification for an interval value" msgstr "간격 값에 대한 형식 지정이 잘못됨" -#: utils/adt/formatting.c:533 +#: utils/adt/formatting.c:520 #, c-format msgid "Intervals are not tied to specific calendar dates." msgstr "간격이 특정 달력 날짜에 연결되어 있지 않습니다." -#: utils/adt/formatting.c:1157 +#: utils/adt/formatting.c:1150 #, c-format msgid "\"EEEE\" must be the last pattern used" -msgstr "" +msgstr "\"EEEE\"는 사용된 마지막 패턴이어야 합니다." -#: utils/adt/formatting.c:1165 +#: utils/adt/formatting.c:1158 #, c-format msgid "\"9\" must be ahead of \"PR\"" -msgstr "???\"9\"는 \"PR\" 앞이어야 한다." +msgstr "\"9\"는 \"PR\" 앞에 있어야 합니다." -#: utils/adt/formatting.c:1181 +#: utils/adt/formatting.c:1174 #, c-format msgid "\"0\" must be ahead of \"PR\"" -msgstr "???\"0\"은 \"PR\" 앞이어야 한다." +msgstr "\"0\"은 \"PR\" 앞에 있어야 합니다." -#: utils/adt/formatting.c:1208 +#: utils/adt/formatting.c:1201 #, c-format msgid "multiple decimal points" -msgstr "???여러개의 소숫점" +msgstr "소숫점이 여러개 있습니다." -#: utils/adt/formatting.c:1212 utils/adt/formatting.c:1295 +#: utils/adt/formatting.c:1205 utils/adt/formatting.c:1288 #, c-format msgid "cannot use \"V\" and decimal point together" msgstr "\"V\" 와 소숫점을 함께 쓸 수 없습니다." -#: utils/adt/formatting.c:1224 +#: utils/adt/formatting.c:1217 #, c-format msgid "cannot use \"S\" twice" msgstr "\"S\"를 두 번 사용할 수 없음" -#: utils/adt/formatting.c:1228 +#: utils/adt/formatting.c:1221 #, c-format msgid "cannot use \"S\" and \"PL\"/\"MI\"/\"SG\"/\"PR\" together" msgstr "\"S\" 와 \"PL\"/\"MI\"/\"SG\"/\"PR\" 를 함께 쓸 수 없습니다." -#: utils/adt/formatting.c:1248 +#: utils/adt/formatting.c:1241 #, c-format msgid "cannot use \"S\" and \"MI\" together" msgstr "\"S\" 와 \"MI\" 를 함께 쓸 수 없습니다." -#: utils/adt/formatting.c:1258 +#: utils/adt/formatting.c:1251 #, c-format msgid "cannot use \"S\" and \"PL\" together" msgstr "\"S\" 와 \"PL\" 를 함께 쓸 수 없습니다." -#: utils/adt/formatting.c:1268 +#: utils/adt/formatting.c:1261 #, c-format msgid "cannot use \"S\" and \"SG\" together" msgstr "\"S\" 와 \"SG\" 를 함께 쓸 수 없습니다." -#: utils/adt/formatting.c:1277 +#: utils/adt/formatting.c:1270 #, c-format msgid "cannot use \"PR\" and \"S\"/\"PL\"/\"MI\"/\"SG\" together" msgstr "\"PR\" 와 \"S\"/\"PL\"/\"MI\"/\"SG\" 를 함께 쓸 수 없습니다." -#: utils/adt/formatting.c:1303 +#: utils/adt/formatting.c:1296 #, c-format msgid "cannot use \"EEEE\" twice" msgstr "\"EEEE\"를 두 번 사용할 수 없음" -#: utils/adt/formatting.c:1309 +#: utils/adt/formatting.c:1302 #, c-format msgid "\"EEEE\" is incompatible with other formats" msgstr "\"EEEE\"는 다른 포맷과 호환하지 않습니다" -#: utils/adt/formatting.c:1310 +#: utils/adt/formatting.c:1303 #, c-format msgid "" "\"EEEE\" may only be used together with digit and decimal point patterns." -msgstr "" +msgstr "\"EEEE\"는 숫자와 소수점 패턴, 이 두 형식과 함께 사용되어야 합니다." -#: utils/adt/formatting.c:1394 +#: utils/adt/formatting.c:1387 #, c-format msgid "invalid datetime format separator: \"%s\"" msgstr "잘못된 datetime 양식 구분자: \"%s\"" -#: utils/adt/formatting.c:1522 +#: utils/adt/formatting.c:1514 #, c-format msgid "\"%s\" is not a number" msgstr "\"%s\"는 숫자가 아닙니다." -#: utils/adt/formatting.c:1600 +#: utils/adt/formatting.c:1592 #, c-format msgid "case conversion failed: %s" msgstr "잘못된 형 변환 규칙: %s" -#: utils/adt/formatting.c:1665 utils/adt/formatting.c:1789 -#: utils/adt/formatting.c:1914 +#: utils/adt/formatting.c:1646 utils/adt/formatting.c:1768 +#: utils/adt/formatting.c:1891 #, c-format msgid "could not determine which collation to use for %s function" msgstr "%s 함수에서 사용할 정렬규칙(collation)을 결정할 수 없음" -#: utils/adt/formatting.c:2286 +#: utils/adt/formatting.c:2274 #, c-format msgid "invalid combination of date conventions" msgstr "날짜 변환을 위한 잘못된 조합" -#: utils/adt/formatting.c:2287 +#: utils/adt/formatting.c:2275 #, c-format msgid "" "Do not mix Gregorian and ISO week date conventions in a formatting template." msgstr "" "형식 템플릿에 그레고리오력과 ISO week date 변환을 함께 사용하지 마십시오." -#: utils/adt/formatting.c:2310 +#: utils/adt/formatting.c:2297 #, c-format msgid "conflicting values for \"%s\" field in formatting string" msgstr "형식 문자열에서 \"%s\" 필드의 값이 충돌함" -#: utils/adt/formatting.c:2313 +#: utils/adt/formatting.c:2299 #, c-format msgid "This value contradicts a previous setting for the same field type." msgstr "이 값은 동일한 필드 형식의 이전 설정과 모순됩니다." -#: utils/adt/formatting.c:2384 +#: utils/adt/formatting.c:2366 #, c-format msgid "source string too short for \"%s\" formatting field" msgstr "소스 문자열이 너무 짧아서 \"%s\" 형식 필드에 사용할 수 없음" -#: utils/adt/formatting.c:2387 +#: utils/adt/formatting.c:2368 #, c-format msgid "Field requires %d characters, but only %d remain." msgstr "필드에 %d자가 필요한데 %d자만 남았습니다." -#: utils/adt/formatting.c:2390 utils/adt/formatting.c:2405 +#: utils/adt/formatting.c:2370 utils/adt/formatting.c:2384 #, c-format msgid "" "If your source string is not fixed-width, try using the \"FM\" modifier." msgstr "소스 문자열이 고정 너비가 아닌 경우 \"FM\" 한정자를 사용해 보십시오." -#: utils/adt/formatting.c:2400 utils/adt/formatting.c:2414 -#: utils/adt/formatting.c:2637 +#: utils/adt/formatting.c:2380 utils/adt/formatting.c:2393 +#: utils/adt/formatting.c:2614 #, c-format msgid "invalid value \"%s\" for \"%s\"" msgstr "\"%s\" 값은 \"%s\"에 유효하지 않음" -#: utils/adt/formatting.c:2402 +#: utils/adt/formatting.c:2382 #, c-format msgid "Field requires %d characters, but only %d could be parsed." msgstr "필드에 %d자가 필요한데 %d자만 구문 분석할 수 있습니다." -#: utils/adt/formatting.c:2416 +#: utils/adt/formatting.c:2395 #, c-format msgid "Value must be an integer." msgstr "값은 정수여야 합니다." -#: utils/adt/formatting.c:2421 +#: utils/adt/formatting.c:2400 #, c-format msgid "value for \"%s\" in source string is out of range" msgstr "소스 문자열의 \"%s\" 값이 범위를 벗어남" -#: utils/adt/formatting.c:2423 +#: utils/adt/formatting.c:2402 #, c-format msgid "Value must be in the range %d to %d." msgstr "값은 %d에서 %d 사이의 범위에 있어야 합니다." -#: utils/adt/formatting.c:2639 +#: utils/adt/formatting.c:2616 #, c-format msgid "The given value did not match any of the allowed values for this field." msgstr "지정된 값이 이 필드에 허용되는 값과 일치하지 않습니다." -#: utils/adt/formatting.c:2856 utils/adt/formatting.c:2876 -#: utils/adt/formatting.c:2896 utils/adt/formatting.c:2916 -#: utils/adt/formatting.c:2935 utils/adt/formatting.c:2954 -#: utils/adt/formatting.c:2978 utils/adt/formatting.c:2996 -#: utils/adt/formatting.c:3014 utils/adt/formatting.c:3032 -#: utils/adt/formatting.c:3049 utils/adt/formatting.c:3066 +#: utils/adt/formatting.c:2832 utils/adt/formatting.c:2852 +#: utils/adt/formatting.c:2872 utils/adt/formatting.c:2892 +#: utils/adt/formatting.c:2911 utils/adt/formatting.c:2930 +#: utils/adt/formatting.c:2954 utils/adt/formatting.c:2972 +#: utils/adt/formatting.c:2990 utils/adt/formatting.c:3008 +#: utils/adt/formatting.c:3025 utils/adt/formatting.c:3042 #, c-format msgid "localized string format value too long" -msgstr "" +msgstr "자국어화 문자열 포멧 값이 너무 깁니다" -#: utils/adt/formatting.c:3300 +#: utils/adt/formatting.c:3322 #, c-format msgid "unmatched format separator \"%c\"" -msgstr "" +msgstr "맞지 않는 구분자 포멧 \"%c\"" -#: utils/adt/formatting.c:3361 +#: utils/adt/formatting.c:3383 #, c-format msgid "unmatched format character \"%s\"" msgstr "짝이 안 맞는 \"%s\" 문자" -#: utils/adt/formatting.c:3467 utils/adt/formatting.c:3811 +#: utils/adt/formatting.c:3491 #, c-format msgid "formatting field \"%s\" is only supported in to_char" msgstr "\"%s\" 필드 양식은 to_char 함수에서만 지원합니다." -#: utils/adt/formatting.c:3642 +#: utils/adt/formatting.c:3665 #, c-format msgid "invalid input string for \"Y,YYY\"" msgstr "\"Y,YYY\"에 대한 입력 문자열이 잘못됨" -#: utils/adt/formatting.c:3728 +#: utils/adt/formatting.c:3754 #, c-format msgid "input string is too short for datetime format" msgstr "입력 문자열이 datetime 양식용으로는 너무 짧습니다" -#: utils/adt/formatting.c:3736 +#: utils/adt/formatting.c:3762 #, c-format msgid "trailing characters remain in input string after datetime format" -msgstr "" +msgstr "날짜 및 시간 형식 후 입력 문자열에 남은 문자가 있습니다." -#: utils/adt/formatting.c:4281 +#: utils/adt/formatting.c:4319 #, c-format msgid "missing time zone in input string for type timestamptz" -msgstr "" +msgstr "timestamptz 자료형을 위한 입력 문자열에 시간대가 누락되었습니다." -#: utils/adt/formatting.c:4287 +#: utils/adt/formatting.c:4325 #, c-format msgid "timestamptz out of range" msgstr "timestamptz 범위를 벗어남" -#: utils/adt/formatting.c:4315 +#: utils/adt/formatting.c:4353 #, c-format msgid "datetime format is zoned but not timed" msgstr "datetime 양식이 지역시간대값이 있는데, 시간값이 아님" -#: utils/adt/formatting.c:4367 +#: utils/adt/formatting.c:4411 #, c-format msgid "missing time zone in input string for type timetz" -msgstr "" +msgstr "timetz 자료형을 위한 입력 문자열에 시간대가 누락되었습니다." -#: utils/adt/formatting.c:4373 +#: utils/adt/formatting.c:4417 #, c-format msgid "timetz out of range" msgstr "timetz 범위를 벗어남" -#: utils/adt/formatting.c:4399 +#: utils/adt/formatting.c:4443 #, c-format msgid "datetime format is not dated and not timed" -msgstr "" +msgstr "날짜시간 형식이 날짜도 아니고, 시간도 아닙니다." -#: utils/adt/formatting.c:4532 +#: utils/adt/formatting.c:4575 #, c-format msgid "hour \"%d\" is invalid for the 12-hour clock" msgstr "시간 \"%d\"은(는) 12시간제에 유효하지 않음" -#: utils/adt/formatting.c:4534 +#: utils/adt/formatting.c:4577 #, c-format msgid "Use the 24-hour clock, or give an hour between 1 and 12." msgstr "24시간제를 사용하거나 1에서 12 사이의 시간을 지정하십시오." -#: utils/adt/formatting.c:4645 +#: utils/adt/formatting.c:4689 #, c-format msgid "cannot calculate day of year without year information" msgstr "연도 정보 없이 몇번째 날(day of year) 인지 계산할 수 없습니다." -#: utils/adt/formatting.c:5564 +#: utils/adt/formatting.c:5621 #, c-format msgid "\"EEEE\" not supported for input" msgstr "\"EEEE\" 입력 양식은 지원되지 않습니다." -#: utils/adt/formatting.c:5576 +#: utils/adt/formatting.c:5633 #, c-format msgid "\"RN\" not supported for input" msgstr "\"RN\" 입력 양식은 지원되지 않습니다." -#: utils/adt/genfile.c:75 -#, c-format -msgid "reference to parent directory (\"..\") not allowed" -msgstr "상위 디렉터리(\"..\") 참조는 허용되지 않음" - -#: utils/adt/genfile.c:86 +#: utils/adt/genfile.c:84 #, c-format msgid "absolute path not allowed" msgstr "절대 경로는 허용하지 않음" -#: utils/adt/genfile.c:91 +#: utils/adt/genfile.c:89 #, c-format -msgid "path must be in or below the current directory" -msgstr "경로는 현재 디렉터리와 그 하위 디렉터리여야 합니다." +msgid "path must be in or below the data directory" +msgstr "경로는 현재 디렉터리 안이거나, 데이터 디렉터리 이하여야함" -#: utils/adt/genfile.c:116 utils/adt/oracle_compat.c:185 -#: utils/adt/oracle_compat.c:283 utils/adt/oracle_compat.c:759 -#: utils/adt/oracle_compat.c:1054 +#: utils/adt/genfile.c:114 utils/adt/oracle_compat.c:190 +#: utils/adt/oracle_compat.c:288 utils/adt/oracle_compat.c:839 +#: utils/adt/oracle_compat.c:1142 #, c-format msgid "requested length too large" msgstr "요청된 길이가 너무 깁니다" -#: utils/adt/genfile.c:133 +#: utils/adt/genfile.c:131 #, c-format msgid "could not seek in file \"%s\": %m" msgstr "\"%s\" 파일에서 seek 작업을 할 수 없음: %m" -#: utils/adt/genfile.c:174 +#: utils/adt/genfile.c:171 #, c-format msgid "file length too large" msgstr "파일 길이가 너무 깁니다" -#: utils/adt/genfile.c:251 +#: utils/adt/genfile.c:248 #, c-format msgid "must be superuser to read files with adminpack 1.0" msgstr "adminpack 1.0 확장 모듈을 사용할 때는 파일을 읽으려면 슈퍼유져여야함" -#: utils/adt/geo_ops.c:979 utils/adt/geo_ops.c:1025 +#: utils/adt/genfile.c:702 +#, c-format +msgid "tablespace with OID %u does not exist" +msgstr "OID %u 테이블스페이스 없음" + +#: utils/adt/geo_ops.c:998 utils/adt/geo_ops.c:1052 #, c-format msgid "invalid line specification: A and B cannot both be zero" msgstr "선 정의가 잘못됨: A와 B 둘다 0일 수는 없음" -#: utils/adt/geo_ops.c:987 utils/adt/geo_ops.c:1090 +#: utils/adt/geo_ops.c:1008 utils/adt/geo_ops.c:1124 #, c-format msgid "invalid line specification: must be two distinct points" msgstr "선 정의가 잘못된: 두 점은 서로 다른 위치여야 함" -#: utils/adt/geo_ops.c:1399 utils/adt/geo_ops.c:3486 utils/adt/geo_ops.c:4354 -#: utils/adt/geo_ops.c:5248 +#: utils/adt/geo_ops.c:1438 utils/adt/geo_ops.c:3438 utils/adt/geo_ops.c:4368 +#: utils/adt/geo_ops.c:5253 #, c-format msgid "too many points requested" msgstr "너무 많은 점들이 요청되었습니다." -#: utils/adt/geo_ops.c:1461 +#: utils/adt/geo_ops.c:1502 #, c-format msgid "invalid number of points in external \"path\" value" msgstr "???\"path\" 의 값에 잘못된 갯수의 point들" -#: utils/adt/geo_ops.c:2537 -#, c-format -msgid "function \"dist_lb\" not implemented" -msgstr "\"dist_lb\" 함수는 구현되지 않았습니다." - -#: utils/adt/geo_ops.c:2556 -#, c-format -msgid "function \"dist_bl\" not implemented" -msgstr "\"dist_bl\" 함수는 구현되지 않았습니다." - -#: utils/adt/geo_ops.c:2975 -#, c-format -msgid "function \"close_sl\" not implemented" -msgstr "\"close_sl\" 함수는 구현되지 않았습니다." - -#: utils/adt/geo_ops.c:3122 -#, c-format -msgid "function \"close_lb\" not implemented" -msgstr "\"close_lb\" 함수는 구현되지 않았습니다." - -#: utils/adt/geo_ops.c:3533 +#: utils/adt/geo_ops.c:3487 #, c-format msgid "invalid number of points in external \"polygon\" value" msgstr "???\"polygon\" 값에 잘못된 갯수의 point들" -#: utils/adt/geo_ops.c:4069 -#, c-format -msgid "function \"poly_distance\" not implemented" -msgstr "\"poly_distance\" 함수는 구현되지 않았습니다." - -#: utils/adt/geo_ops.c:4446 -#, c-format -msgid "function \"path_center\" not implemented" -msgstr "\"path_center\" 함수는 구현되지 않았습니다." - #: utils/adt/geo_ops.c:4463 #, c-format msgid "open path cannot be converted to polygon" msgstr "닫히지 않은 path 는 폴리곤으로 변환할 수 없습니다." -#: utils/adt/geo_ops.c:4713 +#: utils/adt/geo_ops.c:4718 #, c-format msgid "invalid radius in external \"circle\" value" msgstr "부적절한 \"circle\" 값의 반지름" -#: utils/adt/geo_ops.c:5234 +#: utils/adt/geo_ops.c:5239 #, c-format msgid "cannot convert circle with radius zero to polygon" msgstr "반지름이 0인 원은 폴리곤으로 변환할 수 없습니다." -#: utils/adt/geo_ops.c:5239 +#: utils/adt/geo_ops.c:5244 #, c-format msgid "must request at least 2 points" msgstr "적어도 2개의 point들이 필요합니다." -#: utils/adt/int.c:164 -#, c-format -msgid "int2vector has too many elements" -msgstr "int2vector 는 너무 많은 요소를 가지고 있습니다." - -#: utils/adt/int.c:239 +#: utils/adt/int.c:264 #, c-format msgid "invalid int2vector data" msgstr "잘못된 int2vector 자료" -#: utils/adt/int.c:245 utils/adt/oid.c:215 utils/adt/oid.c:296 -#, c-format -msgid "oidvector has too many elements" -msgstr "oidvector에 너무 많은 요소가 있습니다" - -#: utils/adt/int.c:1510 utils/adt/int8.c:1439 utils/adt/numeric.c:1417 -#: utils/adt/timestamp.c:5435 utils/adt/timestamp.c:5515 +#: 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 #, c-format msgid "step size cannot equal zero" msgstr "단계 크기는 0일 수 없음" -#: utils/adt/int8.c:527 utils/adt/int8.c:550 utils/adt/int8.c:564 -#: utils/adt/int8.c:578 utils/adt/int8.c:609 utils/adt/int8.c:633 -#: utils/adt/int8.c:715 utils/adt/int8.c:783 utils/adt/int8.c:789 -#: utils/adt/int8.c:815 utils/adt/int8.c:829 utils/adt/int8.c:853 -#: utils/adt/int8.c:866 utils/adt/int8.c:935 utils/adt/int8.c:949 -#: utils/adt/int8.c:963 utils/adt/int8.c:994 utils/adt/int8.c:1016 -#: utils/adt/int8.c:1030 utils/adt/int8.c:1044 utils/adt/int8.c:1077 -#: utils/adt/int8.c:1091 utils/adt/int8.c:1105 utils/adt/int8.c:1136 -#: utils/adt/int8.c:1158 utils/adt/int8.c:1172 utils/adt/int8.c:1186 -#: utils/adt/int8.c:1348 utils/adt/int8.c:1383 utils/adt/numeric.c:3508 -#: utils/adt/varbit.c:1656 +#: 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 #, c-format msgid "bigint out of range" msgstr "bigint의 범위를 벗어났습니다." -#: utils/adt/int8.c:1396 +#: utils/adt/int8.c:1361 #, c-format msgid "OID out of range" msgstr "OID의 범위를 벗어났습니다." -#: utils/adt/json.c:271 utils/adt/jsonb.c:757 +#: utils/adt/json.c:320 utils/adt/jsonb.c:781 #, c-format msgid "key value must be scalar, not array, composite, or json" msgstr "" "키 값은 스칼라 형이어야 함. 배열, 복합 자료형, json 형은 사용할 수 없음" -#: utils/adt/json.c:892 utils/adt/json.c:902 utils/fmgr/funcapi.c:1812 +#: utils/adt/json.c:1113 utils/adt/json.c:1123 utils/fmgr/funcapi.c:2082 #, c-format msgid "could not determine data type for argument %d" msgstr "%d번째 인자의 자료형을 알수가 없습니다." -#: utils/adt/json.c:926 utils/adt/jsonb.c:1728 +#: utils/adt/json.c:1146 utils/adt/json.c:1337 utils/adt/json.c:1513 +#: utils/adt/json.c:1591 utils/adt/jsonb.c:1432 utils/adt/jsonb.c:1522 #, c-format -msgid "field name must not be null" -msgstr "필드 이름이 null 이면 안됩니다" +msgid "null value not allowed for object key" +msgstr "개체 키 값으로 null 을 허용하지 않음" + +#: utils/adt/json.c:1189 utils/adt/json.c:1352 +#, c-format +msgid "duplicate JSON object key value: %s" +msgstr "JSON 객체 키 값 중복: %s" -#: utils/adt/json.c:1010 utils/adt/jsonb.c:1178 +#: utils/adt/json.c:1297 utils/adt/jsonb.c:1233 #, c-format msgid "argument list must have even number of elements" msgstr "인자 목록은 요소수의 짝수개여야 합니다." #. translator: %s is a SQL function name -#: utils/adt/json.c:1012 utils/adt/jsonb.c:1180 +#: utils/adt/json.c:1299 utils/adt/jsonb.c:1235 #, c-format msgid "The arguments of %s must consist of alternating keys and values." msgstr "%s 함수의 인자들은 각각 key, value 쌍으로 있어야 합니다." -#: utils/adt/json.c:1028 -#, c-format -msgid "argument %d cannot be null" -msgstr "%d 번째 인자는 null 이면 안됩니다" - -#: utils/adt/json.c:1029 -#, c-format -msgid "Object keys should be text." -msgstr "개체 키는 문자열이어야 합니다." - -#: utils/adt/json.c:1135 utils/adt/jsonb.c:1310 +#: utils/adt/json.c:1491 utils/adt/jsonb.c:1410 #, c-format msgid "array must have two columns" msgstr "배열은 두개의 칼럼이어야 함" -#: utils/adt/json.c:1159 utils/adt/json.c:1243 utils/adt/jsonb.c:1334 -#: utils/adt/jsonb.c:1429 -#, c-format -msgid "null value not allowed for object key" -msgstr "개체 키 값으로 null 을 허용하지 않음" - -#: utils/adt/json.c:1232 utils/adt/jsonb.c:1418 +#: utils/adt/json.c:1580 utils/adt/jsonb.c:1511 #, c-format msgid "mismatched array dimensions" msgstr "배열 차수가 안맞음" -#: utils/adt/jsonb.c:287 +#: utils/adt/json.c:1764 utils/adt/jsonb_util.c:1958 +#, c-format +msgid "duplicate JSON object key value" +msgstr "JSON 객체 키 값 중복" + +#: utils/adt/jsonb.c:294 #, c-format msgid "string too long to represent as jsonb string" msgstr "jsonb 문자열로 길이를 초과함" -#: utils/adt/jsonb.c:288 +#: utils/adt/jsonb.c:295 #, c-format msgid "" "Due to an implementation restriction, jsonb strings cannot exceed %d bytes." msgstr "구현상 제한으로 jsonb 문자열은 %d 바이트를 넘을 수 없습니다." -#: utils/adt/jsonb.c:1193 +#: utils/adt/jsonb.c:1252 #, c-format msgid "argument %d: key must not be null" msgstr "%d 번째 인자: 키 값은 null이면 안됩니다." -#: utils/adt/jsonb.c:1781 +#: utils/adt/jsonb.c:1843 +#, c-format +msgid "field name must not be null" +msgstr "필드 이름이 null 이면 안됩니다" + +#: utils/adt/jsonb.c:1905 #, c-format msgid "object keys must be strings" msgstr "개체 키는 문자열이어야 합니다" -#: utils/adt/jsonb.c:1944 +#: utils/adt/jsonb.c:2116 #, c-format msgid "cannot cast jsonb null to type %s" msgstr "jsonb null 값을 %s 자료형으로 형 변환 할 수 없음" -#: utils/adt/jsonb.c:1945 +#: utils/adt/jsonb.c:2117 #, c-format msgid "cannot cast jsonb string to type %s" msgstr "jsonb 문자열 값을 %s 자료형으로 형 변환 할 수 없음" -#: utils/adt/jsonb.c:1946 +#: utils/adt/jsonb.c:2118 #, c-format msgid "cannot cast jsonb numeric to type %s" msgstr "jsonb 숫자 값을 %s 자료형으로 형 변환 할 수 없음" -#: utils/adt/jsonb.c:1947 +#: utils/adt/jsonb.c:2119 #, c-format msgid "cannot cast jsonb boolean to type %s" -msgstr "jsonb 불린 값을 %s 자료형으로 형 변환 할 수 없음" +msgstr "jsonb 불리언 값을 %s 자료형으로 형 변환 할 수 없음" -#: utils/adt/jsonb.c:1948 +#: utils/adt/jsonb.c:2120 #, c-format msgid "cannot cast jsonb array to type %s" msgstr "jsonb 배열 값을 %s 자료형으로 형 변환 할 수 없음" -#: utils/adt/jsonb.c:1949 +#: utils/adt/jsonb.c:2121 #, c-format msgid "cannot cast jsonb object to type %s" msgstr "jsonb object 값을 %s 자료형으로 형 변환 할 수 없음" -#: utils/adt/jsonb.c:1950 +#: utils/adt/jsonb.c:2122 #, c-format msgid "cannot cast jsonb array or object to type %s" msgstr "jsonb object나 배열 값을 %s 자료형으로 형 변환 할 수 없음" -#: utils/adt/jsonb_util.c:699 +#: utils/adt/jsonb_util.c:758 #, c-format msgid "number of jsonb object pairs exceeds the maximum allowed (%zu)" msgstr "jsonb 개체 쌍의 개수가 최대치를 초과함 (%zu)" -#: utils/adt/jsonb_util.c:740 +#: utils/adt/jsonb_util.c:799 #, c-format msgid "number of jsonb array elements exceeds the maximum allowed (%zu)" msgstr "jsonb 배열 요소 개수가 최대치를 초과함 (%zu)" -#: utils/adt/jsonb_util.c:1614 utils/adt/jsonb_util.c:1634 +#: utils/adt/jsonb_util.c:1673 utils/adt/jsonb_util.c:1693 +#, c-format +msgid "total size of jsonb array elements exceeds the maximum of %d bytes" +msgstr "jsonb 배열 요소 총 크기가 최대치를 초과함 (%d 바이트)" + +#: utils/adt/jsonb_util.c:1754 utils/adt/jsonb_util.c:1789 +#: utils/adt/jsonb_util.c:1809 +#, c-format +msgid "total size of jsonb object elements exceeds the maximum of %d bytes" +msgstr "jsonb 개체 요소들의 총 크기가 최대치를 초과함 (%d 바이트)" + +#: utils/adt/jsonbsubs.c:70 utils/adt/jsonbsubs.c:151 +#, c-format +msgid "jsonb subscript does not support slices" +msgstr "jsonb 서브스크립트가 slice를 지원하지 않음" + +#: utils/adt/jsonbsubs.c:103 utils/adt/jsonbsubs.c:117 +#, c-format +msgid "subscript type %s is not supported" +msgstr "%s 자료형은 서브스크립트를 지원하지 않음" + +#: utils/adt/jsonbsubs.c:104 +#, c-format +msgid "jsonb subscript must be coercible to only one type, integer or text." +msgstr "jsonb 서브스크립트로는 숫자 또는 문자열 중 하나만 쓸 수 있음" + +#: utils/adt/jsonbsubs.c:118 +#, c-format +msgid "jsonb subscript must be coercible to either integer or text." +msgstr "jsonb 서브스크립트로는 숫자 또는 문자열 중 하나만 쓸 수 있음" + +#: utils/adt/jsonbsubs.c:139 #, c-format -msgid "total size of jsonb array elements exceeds the maximum of %u bytes" -msgstr "jsonb 배열 요소 총 크기가 최대치를 초과함 (%u 바이트)" +msgid "jsonb subscript must have text type" +msgstr "배열 서브스크립트는 반드시 문자열이어야합니다." -#: utils/adt/jsonb_util.c:1695 utils/adt/jsonb_util.c:1730 -#: utils/adt/jsonb_util.c:1750 +#: utils/adt/jsonbsubs.c:207 #, c-format -msgid "total size of jsonb object elements exceeds the maximum of %u bytes" -msgstr "jsonb 개체 요소들의 총 크기가 최대치를 초과함 (%u 바이트)" +msgid "jsonb subscript in assignment must not be null" +msgstr "jsonb 서브스크립트로 null 값이 올 수 없음" -#: utils/adt/jsonfuncs.c:551 utils/adt/jsonfuncs.c:796 -#: utils/adt/jsonfuncs.c:2330 utils/adt/jsonfuncs.c:2770 -#: utils/adt/jsonfuncs.c:3560 utils/adt/jsonfuncs.c:3891 +#: utils/adt/jsonfuncs.c:572 utils/adt/jsonfuncs.c:821 +#: utils/adt/jsonfuncs.c:2429 utils/adt/jsonfuncs.c:2881 +#: utils/adt/jsonfuncs.c:3676 utils/adt/jsonfuncs.c:4018 #, c-format msgid "cannot call %s on a scalar" msgstr "스칼라형에서는 %s 호출 할 수 없음" -#: utils/adt/jsonfuncs.c:556 utils/adt/jsonfuncs.c:783 -#: utils/adt/jsonfuncs.c:2772 utils/adt/jsonfuncs.c:3549 +#: utils/adt/jsonfuncs.c:577 utils/adt/jsonfuncs.c:806 +#: utils/adt/jsonfuncs.c:2883 utils/adt/jsonfuncs.c:3663 #, c-format msgid "cannot call %s on an array" msgstr "배열형에서는 %s 호출 할 수 없음" -#: utils/adt/jsonfuncs.c:613 jsonpath_scan.l:498 +#: utils/adt/jsonfuncs.c:636 jsonpath_scan.l:596 #, c-format msgid "unsupported Unicode escape sequence" msgstr "지원하지 않는 유니코드 이스케이프 조합" -#: utils/adt/jsonfuncs.c:692 +#: utils/adt/jsonfuncs.c:713 #, c-format msgid "JSON data, line %d: %s%s%s" msgstr "JSON 자료, %d 번째 줄: %s%s%s" -#: utils/adt/jsonfuncs.c:1682 utils/adt/jsonfuncs.c:1717 +#: utils/adt/jsonfuncs.c:1875 utils/adt/jsonfuncs.c:1912 #, c-format msgid "cannot get array length of a scalar" msgstr "스칼라형의 배열 길이를 구할 수 없음" -#: utils/adt/jsonfuncs.c:1686 utils/adt/jsonfuncs.c:1705 +#: utils/adt/jsonfuncs.c:1879 utils/adt/jsonfuncs.c:1898 #, c-format msgid "cannot get array length of a non-array" msgstr "비배열형 자료의 배열 길이를 구할 수 없음" -#: utils/adt/jsonfuncs.c:1782 +#: utils/adt/jsonfuncs.c:1978 #, c-format msgid "cannot call %s on a non-object" msgstr "비개체형에서 %s 호출 할 수 없음" -#: utils/adt/jsonfuncs.c:2021 +#: utils/adt/jsonfuncs.c:2166 #, c-format msgid "cannot deconstruct an array as an object" -msgstr "" +msgstr "배열을 객체로 해체할 수 없음" -#: utils/adt/jsonfuncs.c:2033 +#: utils/adt/jsonfuncs.c:2180 #, c-format msgid "cannot deconstruct a scalar" msgstr "스칼라형으로 재구축할 수 없음" -#: utils/adt/jsonfuncs.c:2079 +#: utils/adt/jsonfuncs.c:2225 #, c-format msgid "cannot extract elements from a scalar" msgstr "스칼라형에서 요소를 추출할 수 없음" -#: utils/adt/jsonfuncs.c:2083 +#: utils/adt/jsonfuncs.c:2229 #, c-format msgid "cannot extract elements from an object" msgstr "개체형에서 요소를 추출할 수 없음" -#: utils/adt/jsonfuncs.c:2317 utils/adt/jsonfuncs.c:3775 +#: utils/adt/jsonfuncs.c:2414 utils/adt/jsonfuncs.c:3896 #, c-format msgid "cannot call %s on a non-array" msgstr "비배열형에서 %s 호출 할 수 없음" -#: utils/adt/jsonfuncs.c:2387 utils/adt/jsonfuncs.c:2392 -#: utils/adt/jsonfuncs.c:2409 utils/adt/jsonfuncs.c:2415 +#: utils/adt/jsonfuncs.c:2488 utils/adt/jsonfuncs.c:2493 +#: utils/adt/jsonfuncs.c:2510 utils/adt/jsonfuncs.c:2516 #, c-format msgid "expected JSON array" msgstr "예기치 않은 json 배열" -#: utils/adt/jsonfuncs.c:2388 +#: utils/adt/jsonfuncs.c:2489 #, c-format msgid "See the value of key \"%s\"." msgstr "\"%s\" 키의 값을 지정하세요" -#: utils/adt/jsonfuncs.c:2410 +#: utils/adt/jsonfuncs.c:2511 #, c-format msgid "See the array element %s of key \"%s\"." msgstr "%s 배열 요소, 해당 키: \"%s\" 참조" -#: utils/adt/jsonfuncs.c:2416 +#: utils/adt/jsonfuncs.c:2517 #, c-format msgid "See the array element %s." msgstr "배열 요소: %s 참조" -#: utils/adt/jsonfuncs.c:2451 +#: utils/adt/jsonfuncs.c:2552 #, c-format msgid "malformed JSON array" msgstr "잘못된 json 배열" #. translator: %s is a function name, eg json_to_record -#: utils/adt/jsonfuncs.c:3278 +#: utils/adt/jsonfuncs.c:3389 #, c-format msgid "first argument of %s must be a row type" msgstr "%s의 첫번째 인자는 row 형이어야 합니다" #. translator: %s is a function name, eg json_to_record -#: utils/adt/jsonfuncs.c:3302 +#: utils/adt/jsonfuncs.c:3413 #, c-format msgid "could not determine row type for result of %s" msgstr "%s 함수의 반환 로우 자료형을 알수가 없음" -#: utils/adt/jsonfuncs.c:3304 +#: utils/adt/jsonfuncs.c:3415 #, c-format msgid "" "Provide a non-null record argument, or call the function in the FROM clause " @@ -23654,273 +26317,293 @@ msgstr "" "non-null 레코드 인자를 지정하거나, 함수를 호출 할 때 FROM 절에서 칼럼 정의 목" "록도 함께 지정해야 합니다." -#: utils/adt/jsonfuncs.c:3792 utils/adt/jsonfuncs.c:3873 +#: utils/adt/jsonfuncs.c:3785 utils/fmgr/funcapi.c:94 +#, c-format +msgid "materialize mode required, but it is not allowed in this context" +msgstr "materialize 모드가 필요합니다만, 이 구문에서는 허용되지 않습니다" + +#: utils/adt/jsonfuncs.c:3913 utils/adt/jsonfuncs.c:3997 #, c-format msgid "argument of %s must be an array of objects" msgstr "%s의 인자는 개체의 배열이어야 합니다" -#: utils/adt/jsonfuncs.c:3825 +#: utils/adt/jsonfuncs.c:3946 #, c-format msgid "cannot call %s on an object" msgstr "개체에서 %s 호출할 수 없음" -#: utils/adt/jsonfuncs.c:4286 utils/adt/jsonfuncs.c:4345 -#: utils/adt/jsonfuncs.c:4425 +#: utils/adt/jsonfuncs.c:4380 utils/adt/jsonfuncs.c:4439 +#: utils/adt/jsonfuncs.c:4519 #, c-format msgid "cannot delete from scalar" msgstr "스칼라형에서 삭제 할 수 없음" -#: utils/adt/jsonfuncs.c:4430 +#: utils/adt/jsonfuncs.c:4524 #, c-format msgid "cannot delete from object using integer index" msgstr "인덱스 번호를 사용해서 개체에서 삭제 할 수 없음" -#: utils/adt/jsonfuncs.c:4495 utils/adt/jsonfuncs.c:4653 +#: utils/adt/jsonfuncs.c:4592 utils/adt/jsonfuncs.c:4751 #, c-format msgid "cannot set path in scalar" msgstr "스칼라형에는 path 를 지정할 수 없음" -#: utils/adt/jsonfuncs.c:4537 utils/adt/jsonfuncs.c:4579 +#: utils/adt/jsonfuncs.c:4633 utils/adt/jsonfuncs.c:4675 #, c-format msgid "" "null_value_treatment must be \"delete_key\", \"return_target\", " "\"use_json_null\", or \"raise_exception\"" msgstr "" +"null_value_treatment 값은 \"delete_key\", \"return_target\", \"use_json_null" +"\" 또는 \"raise_exception\" 이어야 합니다." -#: utils/adt/jsonfuncs.c:4550 +#: utils/adt/jsonfuncs.c:4646 #, c-format msgid "JSON value must not be null" msgstr "JSON 값으로 null을 사용할 수 없음" -#: utils/adt/jsonfuncs.c:4551 +#: utils/adt/jsonfuncs.c:4647 #, c-format msgid "" "Exception was raised because null_value_treatment is \"raise_exception\"." msgstr "" +"null_value_treatment 설정값이 \"raise_exception\"으로 되어 있어 예외를 일으켰" +"습니다." -#: utils/adt/jsonfuncs.c:4552 +#: utils/adt/jsonfuncs.c:4648 #, c-format msgid "" "To avoid, either change the null_value_treatment argument or ensure that an " "SQL NULL is not passed." msgstr "" +"이 상황을 피하려면, null_value_treatment 설정을 바꾸든지, SQL NULL 값을 사용" +"하지 않아야 합니다." -#: utils/adt/jsonfuncs.c:4607 +#: utils/adt/jsonfuncs.c:4703 #, c-format msgid "cannot delete path in scalar" msgstr "스칼라형에서 path를 지울 수 없음" -#: utils/adt/jsonfuncs.c:4776 -#, c-format -msgid "invalid concatenation of jsonb objects" -msgstr "jsonb 개체들의 잘못된 결합" - -#: utils/adt/jsonfuncs.c:4810 +#: utils/adt/jsonfuncs.c:4917 #, c-format msgid "path element at position %d is null" msgstr "%d 위치의 path 요소는 null 입니다." -#: utils/adt/jsonfuncs.c:4896 +#: utils/adt/jsonfuncs.c:4936 utils/adt/jsonfuncs.c:4967 +#: utils/adt/jsonfuncs.c:5040 #, c-format msgid "cannot replace existing key" msgstr "이미 있는 키로는 대체할 수 없음" -#: utils/adt/jsonfuncs.c:4897 +#: utils/adt/jsonfuncs.c:4937 utils/adt/jsonfuncs.c:4968 +#, c-format +msgid "The path assumes key is a composite object, but it is a scalar value." +msgstr "path assumes key는 복합 자료형인데, 스칼라 값이 사용되고 있습니다." + +#: utils/adt/jsonfuncs.c:5041 #, c-format msgid "Try using the function jsonb_set to replace key value." msgstr "키 값을 변경하려면, jsonb_set 함수를 사용하세요." -#: utils/adt/jsonfuncs.c:4979 +#: utils/adt/jsonfuncs.c:5145 #, c-format msgid "path element at position %d is not an integer: \"%s\"" msgstr "%d 번째 위치의 path 요소는 정수가 아님: \"%s\"" -#: utils/adt/jsonfuncs.c:5098 +#: utils/adt/jsonfuncs.c:5162 +#, c-format +msgid "path element at position %d is out of range: %d" +msgstr "%d 번째 위치의 path 요소는 범위를 벗어남: %d" + +#: utils/adt/jsonfuncs.c:5314 #, c-format msgid "wrong flag type, only arrays and scalars are allowed" -msgstr "" +msgstr "잘못된 플래그 자료형, 배열이나, 스칼라 형만 허용합니다." -#: utils/adt/jsonfuncs.c:5105 +#: utils/adt/jsonfuncs.c:5321 #, c-format msgid "flag array element is not a string" msgstr "플래그 배열 요소가 문자열이 아님" -#: utils/adt/jsonfuncs.c:5106 utils/adt/jsonfuncs.c:5128 +#: utils/adt/jsonfuncs.c:5322 utils/adt/jsonfuncs.c:5344 #, c-format msgid "" "Possible values are: \"string\", \"numeric\", \"boolean\", \"key\", and \"all" "\"." msgstr "" +"사용 가능한 값: \"string\", \"numeric\", \"boolean\", \"key\", \"all\"." -#: utils/adt/jsonfuncs.c:5126 +#: utils/adt/jsonfuncs.c:5342 #, c-format msgid "wrong flag in flag array: \"%s\"" -msgstr "" +msgstr "플래그 배열 안에 잘못된 플래그: \"%s\"" -#: utils/adt/jsonpath.c:362 +#: utils/adt/jsonpath.c:382 #, c-format msgid "@ is not allowed in root expressions" msgstr "@ 기호는 루트 표현식에서는 사용할 수 없음" -#: utils/adt/jsonpath.c:368 +#: utils/adt/jsonpath.c:388 #, c-format msgid "LAST is allowed only in array subscripts" msgstr "LAST 키워드는 배열 하위 스크립트 전용임" -#: utils/adt/jsonpath_exec.c:360 +#: utils/adt/jsonpath_exec.c:361 #, c-format msgid "single boolean result is expected" msgstr "단일 불리언 반환값이 예상 됨" -#: utils/adt/jsonpath_exec.c:556 +#: utils/adt/jsonpath_exec.c:557 #, c-format msgid "\"vars\" argument is not an object" -msgstr "" +msgstr "\"vars\" 인자가 객체가 아닙니다." -#: utils/adt/jsonpath_exec.c:557 +#: utils/adt/jsonpath_exec.c:558 #, c-format msgid "" "Jsonpath parameters should be encoded as key-value pairs of \"vars\" object." -msgstr "" +msgstr "jsonpath 매개 변수는 \"vars\" 객체의 키-값 쌍으로 인코드 되어야합니다." -#: utils/adt/jsonpath_exec.c:674 +#: utils/adt/jsonpath_exec.c:675 #, c-format msgid "JSON object does not contain key \"%s\"" -msgstr "" +msgstr "JSON 객체 안에 \"%s\" 이름의 키가 없습니다." -#: utils/adt/jsonpath_exec.c:686 +#: utils/adt/jsonpath_exec.c:687 #, c-format msgid "jsonpath member accessor can only be applied to an object" -msgstr "" +msgstr "jsonpath member accessor는 하나의 객체를 대상으로 합니다." -#: utils/adt/jsonpath_exec.c:715 +#: utils/adt/jsonpath_exec.c:716 #, c-format msgid "jsonpath wildcard array accessor can only be applied to an array" -msgstr "" +msgstr "jsonpath wildcard array accessor는 하나의 배열을 대상으로 합니다." -#: utils/adt/jsonpath_exec.c:763 +#: utils/adt/jsonpath_exec.c:764 #, c-format msgid "jsonpath array subscript is out of bounds" msgstr "jsonpath 배열 하위 스크립트 범위를 초과했습니다" -#: utils/adt/jsonpath_exec.c:820 +#: utils/adt/jsonpath_exec.c:821 #, c-format msgid "jsonpath array accessor can only be applied to an array" -msgstr "" +msgstr "jsonpath array accessor는 하나의 배열을 대상으로 합니다." -#: utils/adt/jsonpath_exec.c:874 +#: utils/adt/jsonpath_exec.c:873 #, c-format msgid "jsonpath wildcard member accessor can only be applied to an object" -msgstr "" +msgstr "jsonpath wildcard member accessor는 하나의 객체를 대상으로 합니다." -#: utils/adt/jsonpath_exec.c:1004 +#: utils/adt/jsonpath_exec.c:1007 #, c-format msgid "jsonpath item method .%s() can only be applied to an array" -msgstr "" +msgstr "jsonpath .%s() item method는 하나의 배열을 대상으로 합니다." -#: utils/adt/jsonpath_exec.c:1059 +#: utils/adt/jsonpath_exec.c:1060 #, c-format msgid "" "numeric argument of jsonpath item method .%s() is out of range for type " "double precision" msgstr "" -"jsonpath 아이템 메서드 .%s() 의 숫자 인자가 double precision 형의 " -"범위를 벗어남" +"jsonpath 아이템 메서드 .%s() 의 숫자 인자가 double precision 형의 범위를 벗어" +"남" -#: utils/adt/jsonpath_exec.c:1080 +#: utils/adt/jsonpath_exec.c:1081 #, c-format msgid "" "string argument of jsonpath item method .%s() is not a valid representation " "of a double precision number" msgstr "" +"jsonpath item method .%s()의 문자열 인자가 double precision 숫자로 표현되는 " +"형식이 아닙니다." -#: utils/adt/jsonpath_exec.c:1093 +#: utils/adt/jsonpath_exec.c:1094 #, c-format msgid "" "jsonpath item method .%s() can only be applied to a string or numeric value" -msgstr "" +msgstr "jsonpath item method .%s() 대상은 문자열이나, 숫자 값만 허용합니다." -#: utils/adt/jsonpath_exec.c:1583 +#: utils/adt/jsonpath_exec.c:1584 #, c-format msgid "left operand of jsonpath operator %s is not a single numeric value" -msgstr "" +msgstr "jsonpath %s 연산자의 왼쪽 값이 단일 숫자값이 아닙니다." -#: utils/adt/jsonpath_exec.c:1590 +#: utils/adt/jsonpath_exec.c:1591 #, c-format msgid "right operand of jsonpath operator %s is not a single numeric value" -msgstr "" +msgstr "jsonpath %s 연산자의 오른쪽 값이 단일 숫자값이 아닙니다." -#: utils/adt/jsonpath_exec.c:1658 +#: utils/adt/jsonpath_exec.c:1659 #, c-format msgid "operand of unary jsonpath operator %s is not a numeric value" -msgstr "" +msgstr "jsonpath %s 단항 연산용 값이 숫자가 아닙니다." -#: utils/adt/jsonpath_exec.c:1756 +#: utils/adt/jsonpath_exec.c:1758 #, c-format msgid "jsonpath item method .%s() can only be applied to a numeric value" -msgstr "" +msgstr "jsonpath .%s() 항목 메서드는 숫자값만 대상으로 합니다." -#: utils/adt/jsonpath_exec.c:1796 +#: utils/adt/jsonpath_exec.c:1798 #, c-format msgid "jsonpath item method .%s() can only be applied to a string" -msgstr "" +msgstr "jsonpath .%s() 항목 메서드는 문자열만 대상으로 합니다." -#: utils/adt/jsonpath_exec.c:1890 +#: utils/adt/jsonpath_exec.c:1901 #, c-format msgid "datetime format is not recognized: \"%s\"" msgstr "알 수 없는 datetime 양식: \"%s\"" -#: utils/adt/jsonpath_exec.c:1892 +#: utils/adt/jsonpath_exec.c:1903 #, c-format msgid "Use a datetime template argument to specify the input data format." -msgstr "" +msgstr "입력 자료 형식을 지정하는 datetime 템플릿 인자를 사용하세요." -#: utils/adt/jsonpath_exec.c:1960 +#: utils/adt/jsonpath_exec.c:1971 #, c-format msgid "jsonpath item method .%s() can only be applied to an object" -msgstr "" +msgstr "jsonpath .%s() 항목 메서드는 객체만 대상으로 합니다." -#: utils/adt/jsonpath_exec.c:2143 +#: utils/adt/jsonpath_exec.c:2153 #, c-format msgid "could not find jsonpath variable \"%s\"" msgstr "\"%s\" jsonpath 변수 찾기 실패" -#: utils/adt/jsonpath_exec.c:2407 +#: utils/adt/jsonpath_exec.c:2417 #, c-format msgid "jsonpath array subscript is not a single numeric value" -msgstr "" +msgstr "jsonpath 배열 첨자가 단일 숫자값이 아닙니다." -#: utils/adt/jsonpath_exec.c:2419 +#: utils/adt/jsonpath_exec.c:2429 #, c-format msgid "jsonpath array subscript is out of integer range" msgstr "jsonpath 배열 하위 스크립트가 정수 범위를 초과했음" -#: utils/adt/jsonpath_exec.c:2596 +#: utils/adt/jsonpath_exec.c:2606 #, c-format msgid "cannot convert value from %s to %s without time zone usage" -msgstr "" +msgstr "지역 시간대 지정 없이는 %s에서 %s로 값을 바꿀 수 없습니다." -#: utils/adt/jsonpath_exec.c:2598 +#: utils/adt/jsonpath_exec.c:2608 #, c-format msgid "Use *_tz() function for time zone support." -msgstr "" +msgstr "지역 시간대를 지정하려면, *_tz() 함수를 사용하세요." -#: utils/adt/levenshtein.c:133 +#: utils/adt/levenshtein.c:132 #, c-format msgid "levenshtein argument exceeds maximum length of %d characters" msgstr "levenshtein 인자값으로 그 길이가 %d 문자의 최대 길이를 초과했음" -#: utils/adt/like.c:160 +#: utils/adt/like.c:161 #, c-format msgid "nondeterministic collations are not supported for LIKE" msgstr "LIKE 연산에서 사용할 비결정 정렬규칙(collation)은 지원하지 않음" -#: utils/adt/like.c:193 utils/adt/like_support.c:1002 +#: utils/adt/like.c:190 utils/adt/like_support.c:1024 #, c-format msgid "could not determine which collation to use for ILIKE" msgstr "ILIKE 연산에서 사용할 정렬규칙(collation)을 결정할 수 없음" -#: utils/adt/like.c:201 +#: utils/adt/like.c:202 #, c-format msgid "nondeterministic collations are not supported for ILIKE" msgstr "ILIKE 연산에서 사용할 비결정 정렬규칙(collation)은 지원하지 않음" @@ -23930,22 +26613,22 @@ msgstr "ILIKE 연산에서 사용할 비결정 정렬규칙(collation)은 지원 msgid "LIKE pattern must not end with escape character" msgstr "LIKE 패턴은 이스케이프 문자로 끝나지 않아야 함" -#: utils/adt/like_match.c:293 utils/adt/regexp.c:700 +#: utils/adt/like_match.c:293 utils/adt/regexp.c:801 #, c-format msgid "invalid escape string" msgstr "잘못된 이스케이프 문자열" -#: utils/adt/like_match.c:294 utils/adt/regexp.c:701 +#: utils/adt/like_match.c:294 utils/adt/regexp.c:802 #, c-format msgid "Escape string must be empty or one character." msgstr "이스케이프 문자열은 비어있거나 한개의 문자여야 합니다." -#: utils/adt/like_support.c:987 +#: utils/adt/like_support.c:1014 #, c-format msgid "case insensitive matching not supported on type bytea" msgstr "bytea 형식에서는 대/소문자를 구분하지 않는 일치가 지원되지 않음" -#: utils/adt/like_support.c:1089 +#: utils/adt/like_support.c:1115 #, c-format msgid "regular-expression matching not supported on type bytea" msgstr "bytea 형식에서는 정규식 일치가 지원되지 않음" @@ -23955,233 +26638,298 @@ msgstr "bytea 형식에서는 정규식 일치가 지원되지 않음" msgid "invalid octet value in \"macaddr\" value: \"%s\"" msgstr "\"macaddr\"에 대한 잘못된 옥텟(octet) 값: \"%s\"" -#: utils/adt/mac8.c:563 +#: utils/adt/mac8.c:554 #, c-format msgid "macaddr8 data out of range to convert to macaddr" -msgstr "" +msgstr "macaddr8 자료가 macaddr 형으로 변환하기에는 그 범위가 너무 넓습니다." -#: utils/adt/mac8.c:564 +#: utils/adt/mac8.c:555 #, c-format msgid "" "Only addresses that have FF and FE as values in the 4th and 5th bytes from " "the left, for example xx:xx:xx:ff:fe:xx:xx:xx, are eligible to be converted " "from macaddr8 to macaddr." msgstr "" +"macaddr8에서 macaddr 형으로 변환 할 수 있는 값은 왼쪽에서 4번째, 5번째 바이트" +"가 FF와 FE 값(예: xx:xx:xx:ff:fe:xx:xx:xx)인 경우일 때만입니다." + +#: utils/adt/mcxtfuncs.c:182 +#, c-format +msgid "PID %d is not a PostgreSQL server process" +msgstr "PID %d 프로그램은 PostgreSQL 서버 프로세스가 아닙니다" -#: utils/adt/misc.c:240 +#: utils/adt/misc.c:237 #, c-format msgid "global tablespace never has databases" msgstr "전역 테이블스페이스는 데이터베이스를 결코 포함하지 않습니다." -#: utils/adt/misc.c:262 +#: utils/adt/misc.c:259 #, c-format msgid "%u is not a tablespace OID" msgstr "%u 테이블스페이스 OID가 아님" -#: utils/adt/misc.c:448 +#: utils/adt/misc.c:454 msgid "unreserved" msgstr "예약되지 않음" -#: utils/adt/misc.c:452 +#: utils/adt/misc.c:458 msgid "unreserved (cannot be function or type name)" msgstr "예약되지 않음(함수, 자료형 이름일 수 없음)" -#: utils/adt/misc.c:456 +#: utils/adt/misc.c:462 msgid "reserved (can be function or type name)" msgstr "예약됨(함수, 자료형 이름일 수 있음)" -#: utils/adt/misc.c:460 +#: utils/adt/misc.c:466 msgid "reserved" msgstr "예약됨" -#: utils/adt/misc.c:634 utils/adt/misc.c:648 utils/adt/misc.c:687 -#: utils/adt/misc.c:693 utils/adt/misc.c:699 utils/adt/misc.c:722 +#: utils/adt/misc.c:477 +msgid "can be bare label" +msgstr "" + +#: utils/adt/misc.c:482 +msgid "requires AS" +msgstr "AS 필요함" + +#: utils/adt/misc.c:853 utils/adt/misc.c:867 utils/adt/misc.c:906 +#: utils/adt/misc.c:912 utils/adt/misc.c:918 utils/adt/misc.c:941 #, c-format msgid "string is not a valid identifier: \"%s\"" msgstr "문자열이 타당한 식별자가 아님: \"%s\"" -#: utils/adt/misc.c:636 +#: utils/adt/misc.c:855 #, c-format msgid "String has unclosed double quotes." msgstr "문자열 표기에서 큰따옴표 짝이 안맞습니다." -#: utils/adt/misc.c:650 +#: utils/adt/misc.c:869 #, c-format msgid "Quoted identifier must not be empty." msgstr "인용부호 있는 식별자: 비어있으면 안됩니다" -#: utils/adt/misc.c:689 +#: utils/adt/misc.c:908 #, c-format msgid "No valid identifier before \".\"." msgstr "\".\" 전에 타당한 식별자가 없음" -#: utils/adt/misc.c:695 +#: utils/adt/misc.c:914 #, c-format msgid "No valid identifier after \".\"." msgstr "\".\" 뒤에 타당한 식별자 없음" -#: utils/adt/misc.c:753 +#: utils/adt/misc.c:974 #, c-format msgid "log format \"%s\" is not supported" msgstr "\"%s\" 양식의 로그는 지원하지 않습니다" -#: utils/adt/misc.c:754 +#: utils/adt/misc.c:975 #, c-format -msgid "The supported log formats are \"stderr\" and \"csvlog\"." -msgstr "" +msgid "The supported log formats are \"stderr\", \"csvlog\", and \"jsonlog\"." +msgstr "사용할 수 있는 로그 양식은 \"stderr\", \"csvlog\", \"jsonlog\" 입니다." + +#: utils/adt/multirangetypes.c:151 utils/adt/multirangetypes.c:164 +#: utils/adt/multirangetypes.c:193 utils/adt/multirangetypes.c:267 +#: utils/adt/multirangetypes.c:291 +#, c-format +msgid "malformed multirange literal: \"%s\"" +msgstr "비정상적인 multirange 문자열: \"%s\"" + +#: utils/adt/multirangetypes.c:153 +#, c-format +msgid "Missing left brace." +msgstr "왼쪽 중괄호가 필요합니다." + +#: utils/adt/multirangetypes.c:195 +#, c-format +msgid "Expected range start." +msgstr "범위 시작값 없음" + +#: utils/adt/multirangetypes.c:269 +#, c-format +msgid "Expected comma or end of multirange." +msgstr "multirange 구분자(,) 또는 끝이 없습니다." + +#: utils/adt/multirangetypes.c:982 +#, c-format +msgid "multiranges cannot be constructed from multidimensional arrays" +msgstr "다중 차원 배열은 다중 범위 자료형으로 구성할 수 없습니다." + +#: utils/adt/multirangetypes.c:1008 +#, c-format +msgid "multirange values cannot contain null members" +msgstr "multirange의 한 범위로 null 값이 올 수 없음" -#: utils/adt/network.c:111 +#: utils/adt/network.c:110 #, c-format msgid "invalid cidr value: \"%s\"" msgstr "cidr 자료형에 대한 잘못된 입력: \"%s\"" -#: utils/adt/network.c:112 utils/adt/network.c:242 +#: utils/adt/network.c:111 utils/adt/network.c:241 #, c-format msgid "Value has bits set to right of mask." msgstr "마스크 오른쪽에 설정된 비트가 값에 포함되어 있습니다." -#: utils/adt/network.c:153 utils/adt/network.c:1199 utils/adt/network.c:1224 -#: utils/adt/network.c:1249 +#: utils/adt/network.c:152 utils/adt/network.c:1184 utils/adt/network.c:1209 +#: utils/adt/network.c:1234 #, c-format msgid "could not format inet value: %m" msgstr "inet 값의 형식을 지정할 수 없음: %m" #. translator: %s is inet or cidr -#: utils/adt/network.c:210 +#: utils/adt/network.c:209 #, c-format msgid "invalid address family in external \"%s\" value" msgstr "잘못 된 주소군 \"%s\"" #. translator: %s is inet or cidr -#: utils/adt/network.c:217 +#: utils/adt/network.c:216 #, c-format msgid "invalid bits in external \"%s\" value" msgstr "\"%s\" 값에 잘못된 비트가 있음" #. translator: %s is inet or cidr -#: utils/adt/network.c:226 +#: utils/adt/network.c:225 #, c-format msgid "invalid length in external \"%s\" value" msgstr "외부 \"%s\" 값의 길이가 잘못 되었음" -#: utils/adt/network.c:241 +#: utils/adt/network.c:240 #, c-format msgid "invalid external \"cidr\" value" msgstr "외부 \"cidr\" 값이 잘못됨" -#: utils/adt/network.c:337 utils/adt/network.c:360 +#: utils/adt/network.c:336 utils/adt/network.c:359 #, c-format msgid "invalid mask length: %d" msgstr "잘못된 마스크 길이: %d" -#: utils/adt/network.c:1267 +#: utils/adt/network.c:1252 #, c-format msgid "could not format cidr value: %m" msgstr "cidr 값을 처리할 수 없음: %m" -#: utils/adt/network.c:1500 +#: utils/adt/network.c:1485 #, c-format msgid "cannot merge addresses from different families" msgstr "서로 다른 페밀리에서는 주소를 병합할 수 없음" -#: utils/adt/network.c:1916 +#: utils/adt/network.c:1893 #, c-format msgid "cannot AND inet values of different sizes" msgstr "서로 크기가 틀린 inet 값들은 AND 연산을 할 수 없습니다." -#: utils/adt/network.c:1948 +#: utils/adt/network.c:1925 #, c-format msgid "cannot OR inet values of different sizes" msgstr "서로 크기가 틀린 inet 값들은 OR 연산을 할 수 없습니다." -#: utils/adt/network.c:2009 utils/adt/network.c:2085 +#: utils/adt/network.c:1986 utils/adt/network.c:2062 #, c-format msgid "result is out of range" msgstr "결과가 범위를 벗어났습니다." -#: utils/adt/network.c:2050 +#: utils/adt/network.c:2027 #, c-format msgid "cannot subtract inet values of different sizes" msgstr "inet 값에서 서로 크기가 틀리게 부분 추출(subtract)할 수 없음" -#: utils/adt/numeric.c:827 +#: 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 +#, c-format +msgid "value overflows numeric format" +msgstr "값이 수치 형식에 넘처남" + +#: utils/adt/numeric.c:1098 #, c-format msgid "invalid sign in external \"numeric\" value" msgstr "외부 \"numeric\" 값의 부호가 잘못됨" -#: utils/adt/numeric.c:833 +#: utils/adt/numeric.c:1104 #, c-format msgid "invalid scale in external \"numeric\" value" msgstr "외부 \"numeric\" 값의 잘못된 스케일" -#: utils/adt/numeric.c:842 +#: utils/adt/numeric.c:1113 #, c-format msgid "invalid digit in external \"numeric\" value" msgstr "외부 \"numeric\" 값의 숫자가 잘못됨" -#: utils/adt/numeric.c:1040 utils/adt/numeric.c:1054 +#: utils/adt/numeric.c:1328 utils/adt/numeric.c:1342 #, c-format msgid "NUMERIC precision %d must be between 1 and %d" msgstr "NUMERIC 정밀도 %d 값은 범위(1 .. %d)를 벗어났습니다." -#: utils/adt/numeric.c:1045 +#: utils/adt/numeric.c:1333 #, c-format -msgid "NUMERIC scale %d must be between 0 and precision %d" -msgstr "NUMERIC 스케일 %d 값은 정밀도 범위(0 .. %d)를 벗어났습니다." +msgid "NUMERIC scale %d must be between %d and %d" +msgstr "NUMERIC 스케일 %d 값은 %d부터 %d까지 입니다." -#: utils/adt/numeric.c:1063 +#: utils/adt/numeric.c:1351 #, c-format msgid "invalid NUMERIC type modifier" msgstr "잘못된 NUMERIC 형식 한정자" -#: utils/adt/numeric.c:1395 +#: utils/adt/numeric.c:1709 #, c-format msgid "start value cannot be NaN" msgstr "시작값은 NaN 일 수 없음" -#: utils/adt/numeric.c:1400 +#: utils/adt/numeric.c:1713 +#, c-format +msgid "start value cannot be infinity" +msgstr "시작 값은 무한일 수 없음" + +#: utils/adt/numeric.c:1720 #, c-format msgid "stop value cannot be NaN" msgstr "종료값은 NaN 일 수 없음" -#: utils/adt/numeric.c:1410 +#: utils/adt/numeric.c:1724 +#, c-format +msgid "stop value cannot be infinity" +msgstr "종료값은 무한일 수 없음" + +#: utils/adt/numeric.c:1737 #, c-format msgid "step size cannot be NaN" msgstr "단계 크기는 NaN 일 수 없음" -#: utils/adt/numeric.c:2958 utils/adt/numeric.c:6064 utils/adt/numeric.c:6522 -#: utils/adt/numeric.c:8802 utils/adt/numeric.c:9240 utils/adt/numeric.c:9354 -#: utils/adt/numeric.c:9427 +#: utils/adt/numeric.c:1741 #, c-format -msgid "value overflows numeric format" -msgstr "값이 수치 형식에 넘처남" +msgid "step size cannot be infinity" +msgstr "단계 크기는 무한일 수 없음" -#: utils/adt/numeric.c:3417 +#: utils/adt/numeric.c:3633 #, c-format -msgid "cannot convert NaN to integer" -msgstr "NaN 값을 정수형으로 변환할 수 없습니다" +msgid "factorial of a negative number is undefined" +msgstr "음수 거듭제곱이 정의되어 있지 않음" -#: utils/adt/numeric.c:3500 +#: utils/adt/numeric.c:4366 utils/adt/numeric.c:4446 utils/adt/numeric.c:4487 +#: utils/adt/numeric.c:4683 #, c-format -msgid "cannot convert NaN to bigint" -msgstr "NaN 값을 bigint형으로 변환할 수 없습니다" +msgid "cannot convert NaN to %s" +msgstr "NaN 값을 %s 형으로 변환할 수 없습니다" -#: utils/adt/numeric.c:3545 +#: utils/adt/numeric.c:4370 utils/adt/numeric.c:4450 utils/adt/numeric.c:4491 +#: utils/adt/numeric.c:4687 #, c-format -msgid "cannot convert NaN to smallint" -msgstr "NaN 값을 smallint형으로 변환할 수 없습니다" +msgid "cannot convert infinity to %s" +msgstr "무한은 %s 형으로 변환할 수 없음" -#: utils/adt/numeric.c:3582 utils/adt/numeric.c:3653 +#: utils/adt/numeric.c:4696 #, c-format -msgid "cannot convert infinity to numeric" -msgstr "무한(infinity)은 숫자로 변환할 수 없음" +msgid "pg_lsn out of range" +msgstr "pg_lsn 값의 범위를 벗어났습니다." -#: utils/adt/numeric.c:6606 +#: utils/adt/numeric.c:7896 utils/adt/numeric.c:7947 #, c-format msgid "numeric field overflow" msgstr "수치 필드 오버플로우" -#: utils/adt/numeric.c:6607 +#: utils/adt/numeric.c:7897 #, c-format msgid "" "A field with precision %d, scale %d must round to an absolute value less " @@ -24190,60 +26938,71 @@ msgstr "" "전체 자릿수 %d, 소수 자릿수 %d의 필드는 %s%d보다 작은 절대 값으로 반올림해야 " "합니다." -#: utils/adt/numutils.c:154 +#: utils/adt/numeric.c:7948 #, c-format -msgid "value \"%s\" is out of range for 8-bit integer" -msgstr "값 \"%s\"은(는) 8비트 정수의 범위를 벗어남" +msgid "A field with precision %d, scale %d cannot hold an infinite value." +msgstr "전체 자릿수 %d, 소수 자릿수 %d의 필드는 무한 값을 처리할 수 없음." -#: utils/adt/oid.c:290 +#: utils/adt/oid.c:216 #, c-format msgid "invalid oidvector data" msgstr "잘못된 oidvector 자료" -#: utils/adt/oracle_compat.c:896 +#: utils/adt/oracle_compat.c:976 #, c-format msgid "requested character too large" msgstr "요청된 문자가 너무 큼" -#: utils/adt/oracle_compat.c:946 utils/adt/oracle_compat.c:1008 -#, c-format -msgid "requested character too large for encoding: %d" -msgstr "요청한 문자가 너무 커서 인코딩할 수 없음: %d" - -#: utils/adt/oracle_compat.c:987 +#: utils/adt/oracle_compat.c:1020 #, c-format -msgid "requested character not valid for encoding: %d" -msgstr "요청한 문자가 인코딩용으로 타당치 않음: %d" +msgid "character number must be positive" +msgstr "문자 번호는 양수여야 함" -#: utils/adt/oracle_compat.c:1001 +#: utils/adt/oracle_compat.c:1024 #, c-format msgid "null character not permitted" msgstr "null 문자는 허용되지 않음" -#: utils/adt/orderedsetaggs.c:442 utils/adt/orderedsetaggs.c:546 -#: utils/adt/orderedsetaggs.c:684 +#: utils/adt/oracle_compat.c:1042 utils/adt/oracle_compat.c:1095 +#, c-format +msgid "requested character too large for encoding: %u" +msgstr "요청한 문자가 너무 커서 인코딩할 수 없음: %u" + +#: utils/adt/oracle_compat.c:1083 +#, c-format +msgid "requested character not valid for encoding: %u" +msgstr "요청한 문자가 인코딩용으로 타당치 않음: %u" + +#: utils/adt/orderedsetaggs.c:448 utils/adt/orderedsetaggs.c:553 +#: utils/adt/orderedsetaggs.c:693 #, c-format msgid "percentile value %g is not between 0 and 1" msgstr "%g 퍼센트 값이 0과 1사이가 아닙니다." -#: utils/adt/pg_locale.c:1262 +#: utils/adt/pg_locale.c:1406 +#, c-format +msgid "could not open collator for locale \"%s\" with rules \"%s\": %s" +msgstr "\"%s\" 로케일(해당 규칙 \"%s\")용 문자 정렬 규칙 열기 실패: %s" + +#: utils/adt/pg_locale.c:1417 utils/adt/pg_locale.c:2831 +#: utils/adt/pg_locale.c:2904 #, c-format -msgid "Apply system library package updates." -msgstr "OS 라이브러리 패키지를 업데이트 하세요." +msgid "ICU is not supported in this build" +msgstr "ICU 지원 기능을 뺀 채로 서버가 만들어졌습니다." -#: utils/adt/pg_locale.c:1477 +#: utils/adt/pg_locale.c:1446 #, c-format msgid "could not create locale \"%s\": %m" msgstr "\"%s\" 로케일을 만들 수 없음: %m" -#: utils/adt/pg_locale.c:1480 +#: utils/adt/pg_locale.c:1449 #, c-format msgid "" "The operating system could not find any locale data for the locale name \"%s" "\"." msgstr "운영체제에서 \"%s\" 로케일 이름에 대한 로케일 파일을 찾을 수 없습니다." -#: utils/adt/pg_locale.c:1582 +#: utils/adt/pg_locale.c:1564 #, c-format msgid "" "collations with different collate and ctype values are not supported on this " @@ -24252,307 +27011,391 @@ msgstr "" "이 플랫폼에서는 서로 다른 정렬규칙(collation)과 문자집합(ctype)을 함께 쓸 수 " "없습니다." -#: utils/adt/pg_locale.c:1591 +#: utils/adt/pg_locale.c:1573 #, c-format msgid "collation provider LIBC is not supported on this platform" msgstr "이 플랫폼에서는 LIBC 문자 정렬 제공자 기능(ICU)을 지원하지 않음." -#: utils/adt/pg_locale.c:1603 -#, c-format -msgid "" -"collations with different collate and ctype values are not supported by ICU" -msgstr "" -"ICU 지원 기능에서는 서로 다른 정렬규칙(collation)과 문자집합(ctype)을 함께 " -"쓸 수 없습니다." - -#: utils/adt/pg_locale.c:1609 utils/adt/pg_locale.c:1696 -#: utils/adt/pg_locale.c:1969 -#, c-format -msgid "could not open collator for locale \"%s\": %s" -msgstr "\"%s\" 로케일용 문자 정렬 규칙 열기 실패: %s" - -#: utils/adt/pg_locale.c:1623 -#, c-format -msgid "ICU is not supported in this build" -msgstr "ICU 지원 기능을 뺀 채로 서버가 만들어졌습니다." - -#: utils/adt/pg_locale.c:1624 -#, c-format -msgid "You need to rebuild PostgreSQL using --with-icu." -msgstr "--with-icu 옵션을 사용하여 PostgreSQL을 다시 빌드해야 합니다." - -#: utils/adt/pg_locale.c:1644 +#: utils/adt/pg_locale.c:1614 #, c-format -msgid "collation \"%s\" has no actual version, but a version was specified" -msgstr "\"%s\" 정렬규칙은 분명한 버전이 없는데 버전을 지정했음" +msgid "collation \"%s\" has no actual version, but a version was recorded" +msgstr "\"%s\" 문자 정렬 규칙은 버전이 없는데 버전을 지정했음" -#: utils/adt/pg_locale.c:1651 +#: utils/adt/pg_locale.c:1620 #, c-format msgid "collation \"%s\" has version mismatch" -msgstr "\"%s\" 정렬규칙은 버전이 맞지 않음" +msgstr "\"%s\" 문자 정렬 규칙은 버전이 맞지 않음" -#: utils/adt/pg_locale.c:1653 +#: utils/adt/pg_locale.c:1622 #, c-format msgid "" "The collation in the database was created using version %s, but the " "operating system provides version %s." msgstr "" +"데이터베이스를 만들때 %s 버전으로 문자 정렬 규칙을 만들었는데, 현재 OS는 %s " +"버전을 제공하고 있습니다." -#: utils/adt/pg_locale.c:1656 +#: utils/adt/pg_locale.c:1625 #, c-format msgid "" "Rebuild all objects affected by this collation and run ALTER COLLATION %s " "REFRESH VERSION, or build PostgreSQL with the right library version." msgstr "" +"해당 정렬 규칙과 연관된 모든 객체를 다시 만들고, ALTER COLLATION %s REFRESH " +"VERSION 명령을 실행하거나, 바른 라이브러리 버전을 지정해서, PostgreSQL을 빌드" +"하세요." -#: utils/adt/pg_locale.c:1747 +#: utils/adt/pg_locale.c:1691 +#, c-format +msgid "could not load locale \"%s\"" +msgstr "\"%s\" 로케일을 만들 수 없음: %m" + +#: utils/adt/pg_locale.c:1716 #, c-format msgid "could not get collation version for locale \"%s\": error code %lu" msgstr "\"%s\" 로케일용 정렬 변환 규칙을 구할 수 없음: 오류 코드 %lu" -#: utils/adt/pg_locale.c:1784 +#: utils/adt/pg_locale.c:1772 utils/adt/pg_locale.c:1785 +#, c-format +msgid "could not convert string to UTF-16: error code %lu" +msgstr "UTF-16 인코딩으로 문자열을 변환할 수 없음: 오류번호 %lu" + +#: utils/adt/pg_locale.c:1799 +#, c-format +msgid "could not compare Unicode strings: %m" +msgstr "유니코드 문자열 비교 실패: %m" + +#: utils/adt/pg_locale.c:1980 +#, c-format +msgid "collation failed: %s" +msgstr "문자열 정렬: %s" + +#: utils/adt/pg_locale.c:2201 utils/adt/pg_locale.c:2233 +#, c-format +msgid "sort key generation failed: %s" +msgstr "정렬 키 생성 실패: %s" + +#: utils/adt/pg_locale.c:2474 +#, c-format +msgid "could not get language from locale \"%s\": %s" +msgstr "\"%s\" 로케일에서 언어를 찾을 수 없음: %s" + +#: utils/adt/pg_locale.c:2495 utils/adt/pg_locale.c:2511 +#, c-format +msgid "could not open collator for locale \"%s\": %s" +msgstr "\"%s\" 로케일용 문자 정렬 규칙 열기 실패: %s" + +#: utils/adt/pg_locale.c:2536 #, c-format msgid "encoding \"%s\" not supported by ICU" msgstr "\"%s\" 인코딩은 ICU 기능을 지원하지 않음" -#: utils/adt/pg_locale.c:1791 +#: utils/adt/pg_locale.c:2543 #, c-format msgid "could not open ICU converter for encoding \"%s\": %s" msgstr "\"%s\" 인코딩용 ICU 변환기 열기 실패: %s" -#: utils/adt/pg_locale.c:1822 utils/adt/pg_locale.c:1831 -#: utils/adt/pg_locale.c:1860 utils/adt/pg_locale.c:1870 +#: utils/adt/pg_locale.c:2561 utils/adt/pg_locale.c:2580 +#: utils/adt/pg_locale.c:2636 utils/adt/pg_locale.c:2647 #, c-format msgid "%s failed: %s" msgstr "%s 실패: %s" -#: utils/adt/pg_locale.c:2142 +#: utils/adt/pg_locale.c:2822 +#, c-format +msgid "could not convert locale name \"%s\" to language tag: %s" +msgstr "\"%s\" 로케일 이름을 언어 태그로 변환할 수 없음: %s" + +#: utils/adt/pg_locale.c:2863 +#, c-format +msgid "could not get language from ICU locale \"%s\": %s" +msgstr "\"%s\" ICU 로케일에서 언어 찾기 실패: %s" + +#: utils/adt/pg_locale.c:2865 utils/adt/pg_locale.c:2894 +#, c-format +msgid "To disable ICU locale validation, set the parameter \"%s\" to \"%s\"." +msgstr "ICU 로케일 검사를 하지 않으려면, \"%s\" 값을 \"%s\"로 지정하세요." + +#: utils/adt/pg_locale.c:2892 +#, c-format +msgid "ICU locale \"%s\" has unknown language \"%s\"" +msgstr "\"%s\" ICU 로케일은 알 수 없는 \"%s\" 언어를 사용합니다." + +#: utils/adt/pg_locale.c:3073 #, c-format msgid "invalid multibyte character for locale" msgstr "로케일을 위한 잘못된 멀티바이트 문자" -#: utils/adt/pg_locale.c:2143 +#: utils/adt/pg_locale.c:3074 #, c-format msgid "" "The server's LC_CTYPE locale is probably incompatible with the database " "encoding." msgstr "서버의 LC_CTYPE 로케일은 이 데이터베이스 인코딩과 호환되지 않습니다." +#: utils/adt/pg_lsn.c:263 +#, c-format +msgid "cannot add NaN to pg_lsn" +msgstr "NaN 값을 pg_lsn 형으로 변환할 수 없습니다" + +#: utils/adt/pg_lsn.c:297 +#, c-format +msgid "cannot subtract NaN from pg_lsn" +msgstr "pg_lsn 에서는 NaN 형을 빼낼 수 없습니다" + #: utils/adt/pg_upgrade_support.c:29 #, c-format msgid "function can only be called when server is in binary upgrade mode" msgstr "함수는 서버가 이진 업그레이드 상태에서만 호출 될 수 있습니다" -#: utils/adt/pgstatfuncs.c:500 +#: utils/adt/pgstatfuncs.c:254 #, c-format msgid "invalid command name: \"%s\"" msgstr "잘못된 명령어 이름: \"%s\"" -#: utils/adt/pseudotypes.c:57 utils/adt/pseudotypes.c:91 +#: utils/adt/pgstatfuncs.c:1774 +#, c-format +msgid "unrecognized reset target: \"%s\"" +msgstr "알 수 없는 리셋 타겟: \"%s\"" + +#: utils/adt/pgstatfuncs.c:1775 +#, c-format +msgid "" +"Target must be \"archiver\", \"bgwriter\", \"io\", \"recovery_prefetch\", or " +"\"wal\"." +msgstr "" +"사용 가능한 타겟은 \"archiver\", \"bgwriter\", \"io\", \"recovery_prefetch" +"\", \"wal\" 입니다." + +#: utils/adt/pgstatfuncs.c:1857 +#, c-format +msgid "invalid subscription OID %u" +msgstr "잘못된 구독 OID %u" + +#: utils/adt/pseudotypes.c:58 utils/adt/pseudotypes.c:92 #, c-format msgid "cannot display a value of type %s" msgstr "%s 자료형의 값은 표시할 수 없음" -#: utils/adt/pseudotypes.c:283 +#: utils/adt/pseudotypes.c:310 #, c-format msgid "cannot accept a value of a shell type" msgstr "셸 형태 값은 사용할 수 없음" -#: utils/adt/pseudotypes.c:293 +#: utils/adt/pseudotypes.c:320 #, c-format msgid "cannot display a value of a shell type" msgstr "shell 형식의 값은 표시할 수 없음" -#: utils/adt/rangetypes.c:406 +#: utils/adt/rangetypes.c:415 #, c-format msgid "range constructor flags argument must not be null" msgstr "range 자료형 구성자 플래그 인자로 null을 사용할 수 없음" -#: utils/adt/rangetypes.c:993 +#: utils/adt/rangetypes.c:1014 #, c-format msgid "result of range difference would not be contiguous" -msgstr "" +msgstr "범위 차이 결과가 연속적이지 않습니다." -#: utils/adt/rangetypes.c:1054 +#: utils/adt/rangetypes.c:1075 #, c-format msgid "result of range union would not be contiguous" -msgstr "" +msgstr "범위 결합 결과가 연속적이지 않습니다." -#: utils/adt/rangetypes.c:1600 +#: utils/adt/rangetypes.c:1750 #, c-format msgid "range lower bound must be less than or equal to range upper bound" msgstr "range 자료형의 하한값은 상한값과 같거나 작아야 합니다" -#: utils/adt/rangetypes.c:1983 utils/adt/rangetypes.c:1996 -#: utils/adt/rangetypes.c:2010 +#: utils/adt/rangetypes.c:2197 utils/adt/rangetypes.c:2210 +#: utils/adt/rangetypes.c:2224 #, c-format msgid "invalid range bound flags" msgstr "잘못된 range 구성 플래그" -#: utils/adt/rangetypes.c:1984 utils/adt/rangetypes.c:1997 -#: utils/adt/rangetypes.c:2011 +#: utils/adt/rangetypes.c:2198 utils/adt/rangetypes.c:2211 +#: utils/adt/rangetypes.c:2225 #, c-format msgid "Valid values are \"[]\", \"[)\", \"(]\", and \"()\"." msgstr "유효한 값은 \"[]\", \"[)\", \"(]\", \"()\"." -#: utils/adt/rangetypes.c:2076 utils/adt/rangetypes.c:2093 -#: utils/adt/rangetypes.c:2106 utils/adt/rangetypes.c:2124 -#: utils/adt/rangetypes.c:2135 utils/adt/rangetypes.c:2179 -#: utils/adt/rangetypes.c:2187 +#: utils/adt/rangetypes.c:2293 utils/adt/rangetypes.c:2310 +#: utils/adt/rangetypes.c:2325 utils/adt/rangetypes.c:2345 +#: utils/adt/rangetypes.c:2356 utils/adt/rangetypes.c:2403 +#: utils/adt/rangetypes.c:2411 #, c-format msgid "malformed range literal: \"%s\"" msgstr "비정상적인 range 문자: \"%s\"" -#: utils/adt/rangetypes.c:2078 +#: utils/adt/rangetypes.c:2295 #, c-format msgid "Junk after \"empty\" key word." msgstr " \"empty\" 키워드 뒤에 정크가 있음" -#: utils/adt/rangetypes.c:2095 +#: utils/adt/rangetypes.c:2312 #, c-format msgid "Missing left parenthesis or bracket." msgstr "왼쪽 괄호가 빠졌음" -#: utils/adt/rangetypes.c:2108 +#: utils/adt/rangetypes.c:2327 #, c-format msgid "Missing comma after lower bound." msgstr "하한값 뒤에 쉼표가 빠졌음" -#: utils/adt/rangetypes.c:2126 +#: utils/adt/rangetypes.c:2347 #, c-format msgid "Too many commas." msgstr "칼럼이 너무 많습니다." -#: utils/adt/rangetypes.c:2137 +#: utils/adt/rangetypes.c:2358 #, c-format msgid "Junk after right parenthesis or bracket." msgstr "오른쪽 괄호 다음에 정크가 있음" -#: utils/adt/regexp.c:289 utils/adt/regexp.c:1543 utils/adt/varlena.c:4493 +#: utils/adt/regexp.c:305 utils/adt/regexp.c:1997 utils/adt/varlena.c:4270 #, c-format msgid "regular expression failed: %s" msgstr "잘못된 정규식: %s" -#: utils/adt/regexp.c:426 +#: utils/adt/regexp.c:446 utils/adt/regexp.c:681 +#, c-format +msgid "invalid regular expression option: \"%.*s\"" +msgstr "잘못된 정규식 옵션: \"%.*s\"" + +#: utils/adt/regexp.c:683 +#, c-format +msgid "" +"If you meant to use regexp_replace() with a start parameter, cast the fourth " +"argument to integer explicitly." +msgstr "" +"시작 위치를 지정하려는 regexp_replace() 함수 사용인 경우, 네번째 인자는 정수" +"형을 지정해야합니다." + +#: utils/adt/regexp.c:717 utils/adt/regexp.c:726 utils/adt/regexp.c:1083 +#: utils/adt/regexp.c:1147 utils/adt/regexp.c:1156 utils/adt/regexp.c:1165 +#: utils/adt/regexp.c:1174 utils/adt/regexp.c:1854 utils/adt/regexp.c:1863 +#: utils/adt/regexp.c:1872 utils/misc/guc.c:6610 utils/misc/guc.c:6644 #, c-format -msgid "invalid regular expression option: \"%c\"" -msgstr "잘못된 정규식 옵션: \"%c\"" +msgid "invalid value for parameter \"%s\": %d" +msgstr "잘못된 \"%s\" 매개 변수의 값: %d" -#: utils/adt/regexp.c:836 +#: utils/adt/regexp.c:937 #, c-format msgid "" "SQL regular expression may not contain more than two escape-double-quote " "separators" msgstr "" +"SQL 정규 표현식에서는 두 개 이상의 이스케이프 큰 따옴표 구분자를 쓸 수 없음" #. translator: %s is a SQL function name -#: utils/adt/regexp.c:981 utils/adt/regexp.c:1363 utils/adt/regexp.c:1418 +#: utils/adt/regexp.c:1094 utils/adt/regexp.c:1185 utils/adt/regexp.c:1272 +#: utils/adt/regexp.c:1311 utils/adt/regexp.c:1699 utils/adt/regexp.c:1754 +#: utils/adt/regexp.c:1883 #, c-format msgid "%s does not support the \"global\" option" msgstr "%s 함수는 \"global\" 옵션을 지원하지 않음" -#: utils/adt/regexp.c:983 +#: utils/adt/regexp.c:1313 #, c-format msgid "Use the regexp_matches function instead." msgstr "대신에 regexp_matches 함수를 사용하세요." -#: utils/adt/regexp.c:1165 +#: utils/adt/regexp.c:1501 #, c-format msgid "too many regular expression matches" msgstr "너무 많음 정규식 매치" -#: utils/adt/regproc.c:107 +#: utils/adt/regproc.c:104 #, c-format msgid "more than one function named \"%s\"" msgstr "\"%s\"(이)라는 함수가 두 개 이상 있음" -#: utils/adt/regproc.c:525 +#: utils/adt/regproc.c:513 #, c-format msgid "more than one operator named %s" msgstr "%s(이)라는 연산자가 두 개 이상 있음" -#: utils/adt/regproc.c:692 utils/adt/regproc.c:733 gram.y:8223 +#: utils/adt/regproc.c:670 gram.y:8841 #, c-format msgid "missing argument" msgstr "인자가 빠졌음" -#: utils/adt/regproc.c:693 utils/adt/regproc.c:734 gram.y:8224 +#: utils/adt/regproc.c:671 gram.y:8842 #, c-format msgid "Use NONE to denote the missing argument of a unary operator." msgstr "단항 연산자에서 인자 없음을 표시할 때는 NONE 인자를 사용하세요." -#: utils/adt/regproc.c:697 utils/adt/regproc.c:738 utils/adt/regproc.c:2018 -#: utils/adt/ruleutils.c:9297 utils/adt/ruleutils.c:9466 +#: utils/adt/regproc.c:675 utils/adt/regproc.c:2009 utils/adt/ruleutils.c:10013 +#: utils/adt/ruleutils.c:10226 #, c-format msgid "too many arguments" msgstr "인자가 너무 많습니다" -#: utils/adt/regproc.c:698 utils/adt/regproc.c:739 +#: utils/adt/regproc.c:676 #, c-format msgid "Provide two argument types for operator." msgstr "연산자를 위해서는 두개의 인자 자료형을 지정하십시오." -#: utils/adt/regproc.c:1602 utils/adt/regproc.c:1626 utils/adt/regproc.c:1727 -#: utils/adt/regproc.c:1751 utils/adt/regproc.c:1853 utils/adt/regproc.c:1858 -#: utils/adt/varlena.c:3642 utils/adt/varlena.c:3647 +#: utils/adt/regproc.c:1544 utils/adt/regproc.c:1661 utils/adt/regproc.c:1790 +#: utils/adt/regproc.c:1795 utils/adt/varlena.c:3410 utils/adt/varlena.c:3415 #, c-format msgid "invalid name syntax" msgstr "잘못된 이름 구문" -#: utils/adt/regproc.c:1916 +#: utils/adt/regproc.c:1904 #, c-format msgid "expected a left parenthesis" msgstr "왼쪽 괄호가 필요합니다." -#: utils/adt/regproc.c:1932 +#: utils/adt/regproc.c:1922 #, c-format msgid "expected a right parenthesis" msgstr "오른쪽 괄호가 필요합니다." -#: utils/adt/regproc.c:1951 +#: utils/adt/regproc.c:1941 #, c-format msgid "expected a type name" msgstr "자료형 이름을 지정하십시오" -#: utils/adt/regproc.c:1983 +#: utils/adt/regproc.c:1973 #, c-format msgid "improper type name" msgstr "부적절한 형식 이름" -#: utils/adt/ri_triggers.c:296 utils/adt/ri_triggers.c:1537 -#: utils/adt/ri_triggers.c:2470 +#: utils/adt/ri_triggers.c:306 utils/adt/ri_triggers.c:1625 +#: utils/adt/ri_triggers.c:2610 #, c-format msgid "insert or update on table \"%s\" violates foreign key constraint \"%s\"" msgstr "" "\"%s\" 테이블에서 자료 추가, 갱신 작업이 \"%s\" 참조키(foreign key) 제약 조건" "을 위배했습니다" -#: utils/adt/ri_triggers.c:299 utils/adt/ri_triggers.c:1540 +#: utils/adt/ri_triggers.c:309 utils/adt/ri_triggers.c:1628 #, c-format msgid "MATCH FULL does not allow mixing of null and nonnull key values." msgstr "MATCH FULL에 null 키 값과 nonnull 키 값을 함께 사용할 수 없습니다." -#: utils/adt/ri_triggers.c:1940 +#: utils/adt/ri_triggers.c:2045 #, c-format msgid "function \"%s\" must be fired for INSERT" msgstr "INSERT에 대해 \"%s\" 함수를 실행해야 함" -#: utils/adt/ri_triggers.c:1946 +#: utils/adt/ri_triggers.c:2051 #, c-format msgid "function \"%s\" must be fired for UPDATE" msgstr "UPDATE에 대해 \"%s\" 함수를 실행해야 함" -#: utils/adt/ri_triggers.c:1952 +#: utils/adt/ri_triggers.c:2057 #, c-format msgid "function \"%s\" must be fired for DELETE" msgstr "DELETE에 대해 \"%s\" 함수를 실행해야 함" -#: utils/adt/ri_triggers.c:1975 +#: utils/adt/ri_triggers.c:2080 #, c-format msgid "no pg_constraint entry for trigger \"%s\" on table \"%s\"" msgstr "\"%s\" 트리거(해당 테이블: \"%s\")에 대한 pg_constraint 항목이 없음" -#: utils/adt/ri_triggers.c:1977 +#: utils/adt/ri_triggers.c:2082 #, c-format msgid "" "Remove this referential integrity trigger and its mates, then do ALTER TABLE " @@ -24561,12 +27404,12 @@ msgstr "" "해당 트리거 관련 개체를 제거한 후 ALTER TABLE ADD CONSTRAINT 명령으로 추가하" "세요" -#: utils/adt/ri_triggers.c:2007 gram.y:3818 +#: utils/adt/ri_triggers.c:2112 gram.y:4223 #, c-format msgid "MATCH PARTIAL not yet implemented" msgstr "MATCH PARTIAL 기능은 아직 구현 안되었습니다" -#: utils/adt/ri_triggers.c:2295 +#: utils/adt/ri_triggers.c:2435 #, c-format msgid "" "referential integrity query on \"%s\" from constraint \"%s\" on \"%s\" gave " @@ -24575,32 +27418,32 @@ msgstr "" "\"%s\"에 대한 참조 무결성 쿼리(제약조건: \"%s\", 해당 릴레이션: \"%s\")를 실" "행하면 예기치 않은 결과가 발생함" -#: utils/adt/ri_triggers.c:2299 +#: utils/adt/ri_triggers.c:2439 #, c-format msgid "This is most likely due to a rule having rewritten the query." msgstr "이 문제는 주로 룰이 재작성 되었을 때 발생합니다." -#: utils/adt/ri_triggers.c:2460 +#: utils/adt/ri_triggers.c:2600 #, c-format msgid "removing partition \"%s\" violates foreign key constraint \"%s\"" msgstr "\"%s\" 파티션 지우기는 \"%s\" 참조키 제약조건을 위반함" -#: utils/adt/ri_triggers.c:2463 utils/adt/ri_triggers.c:2488 +#: utils/adt/ri_triggers.c:2603 utils/adt/ri_triggers.c:2628 #, c-format msgid "Key (%s)=(%s) is still referenced from table \"%s\"." msgstr "(%s)=(%s) 키가 \"%s\" 테이블에서 여전히 참조됩니다." -#: utils/adt/ri_triggers.c:2474 +#: utils/adt/ri_triggers.c:2614 #, c-format msgid "Key (%s)=(%s) is not present in table \"%s\"." msgstr "(%s)=(%s) 키가 \"%s\" 테이블에 없습니다." -#: utils/adt/ri_triggers.c:2477 +#: utils/adt/ri_triggers.c:2617 #, c-format msgid "Key is not present in table \"%s\"." msgstr "\"%s\" 테이블에 키가 없습니다." -#: utils/adt/ri_triggers.c:2483 +#: utils/adt/ri_triggers.c:2623 #, c-format msgid "" "update or delete on table \"%s\" violates foreign key constraint \"%s\" on " @@ -24609,90 +27452,101 @@ msgstr "" "\"%s\" 테이블의 자료 갱신, 삭제 작업이 \"%s\" 참조키(foreign key) 제약 조건 " "- \"%s\" 테이블 - 을 위반했습니다" -#: utils/adt/ri_triggers.c:2491 +#: utils/adt/ri_triggers.c:2631 #, c-format msgid "Key is still referenced from table \"%s\"." msgstr "\"%s\" 테이블에서 키가 여전히 참조됩니다." -#: utils/adt/rowtypes.c:104 utils/adt/rowtypes.c:482 +#: utils/adt/rowtypes.c:106 utils/adt/rowtypes.c:510 #, c-format msgid "input of anonymous composite types is not implemented" msgstr "익명 복합 형식의 입력이 구현되어 있지 않음" -#: utils/adt/rowtypes.c:156 utils/adt/rowtypes.c:185 utils/adt/rowtypes.c:208 -#: utils/adt/rowtypes.c:216 utils/adt/rowtypes.c:268 utils/adt/rowtypes.c:276 +#: utils/adt/rowtypes.c:159 utils/adt/rowtypes.c:191 utils/adt/rowtypes.c:217 +#: utils/adt/rowtypes.c:228 utils/adt/rowtypes.c:286 utils/adt/rowtypes.c:297 #, c-format msgid "malformed record literal: \"%s\"" msgstr "비정상적인 레코드 문자: \"%s\"" -#: utils/adt/rowtypes.c:157 +#: utils/adt/rowtypes.c:160 #, c-format msgid "Missing left parenthesis." msgstr "왼쪽 괄호가 필요합니다." -#: utils/adt/rowtypes.c:186 +#: utils/adt/rowtypes.c:192 #, c-format msgid "Too few columns." msgstr "칼럼이 너무 적습니다." -#: utils/adt/rowtypes.c:269 +#: utils/adt/rowtypes.c:287 #, c-format msgid "Too many columns." msgstr "칼럼이 너무 많습니다." -#: utils/adt/rowtypes.c:277 +#: utils/adt/rowtypes.c:298 #, c-format msgid "Junk after right parenthesis." msgstr "오른쪽 괄호가 필요합니다." -#: utils/adt/rowtypes.c:531 +#: utils/adt/rowtypes.c:559 #, c-format msgid "wrong number of columns: %d, expected %d" msgstr "열 수(%d)가 최대값(%d)을 초과했습니다" -#: utils/adt/rowtypes.c:559 +#: utils/adt/rowtypes.c:601 #, c-format -msgid "wrong data type: %u, expected %u" -msgstr "잘못된 자료형: %u, 예상되는 자료형 %u" +msgid "" +"binary data has type %u (%s) instead of expected %u (%s) in record column %d" +msgstr "바이너리 자료형이 %u (%s) 임. 기대 자료형: %u (%s), 해당 칼럼: %d" -#: utils/adt/rowtypes.c:620 +#: utils/adt/rowtypes.c:668 #, c-format msgid "improper binary format in record column %d" msgstr "%d 번째 레코드 열에서 잘못된 바이너리 포맷이 있습니다" -#: utils/adt/rowtypes.c:911 utils/adt/rowtypes.c:1157 utils/adt/rowtypes.c:1415 -#: utils/adt/rowtypes.c:1661 +#: utils/adt/rowtypes.c:959 utils/adt/rowtypes.c:1205 utils/adt/rowtypes.c:1463 +#: utils/adt/rowtypes.c:1709 #, c-format msgid "cannot compare dissimilar column types %s and %s at record column %d" msgstr "서로 다른 열 형식 %s과(와) %s(레코드 열 %d)을(를) 비교할 수 없음" -#: utils/adt/rowtypes.c:1002 utils/adt/rowtypes.c:1227 -#: utils/adt/rowtypes.c:1512 utils/adt/rowtypes.c:1697 +#: utils/adt/rowtypes.c:1050 utils/adt/rowtypes.c:1275 +#: utils/adt/rowtypes.c:1560 utils/adt/rowtypes.c:1745 #, c-format msgid "cannot compare record types with different numbers of columns" msgstr "칼럼 수가 서로 다른 레코드 자료형을 비교할 수 없음" -#: utils/adt/ruleutils.c:4821 +#: utils/adt/ruleutils.c:2694 +#, c-format +msgid "input is a query, not an expression" +msgstr "입력값이 expression이 아니라, query 임" + +#: utils/adt/ruleutils.c:2706 +#, c-format +msgid "expression contains variables of more than one relation" +msgstr "expression이 하나 이상의 릴레이션 변수를 포함하고 있음" + +#: utils/adt/ruleutils.c:2713 +#, c-format +msgid "expression contains variables" +msgstr "expression이 변수들을 포함하고 있음" + +#: utils/adt/ruleutils.c:5227 #, c-format msgid "rule \"%s\" has unsupported event type %d" msgstr "\"%s\" 룰은 %d 이벤트 형태를 지원하지 않습니다" -#: utils/adt/timestamp.c:107 +#: utils/adt/timestamp.c:112 #, c-format msgid "TIMESTAMP(%d)%s precision must not be negative" msgstr "TIMESTAMP(%d)%s 정밀도로 음수를 사용할 수 없습니다" -#: utils/adt/timestamp.c:113 +#: utils/adt/timestamp.c:118 #, c-format msgid "TIMESTAMP(%d)%s precision reduced to maximum allowed, %d" msgstr "TIMESTAMP(%d)%s 정밀도는 최대값(%d)으로 줄였습니다" -#: utils/adt/timestamp.c:176 utils/adt/timestamp.c:434 utils/misc/guc.c:11901 -#, c-format -msgid "timestamp out of range: \"%s\"" -msgstr "타임스탬프 값이 범위를 벗어났음: \"%s\"" - -#: utils/adt/timestamp.c:372 +#: utils/adt/timestamp.c:378 #, c-format msgid "timestamp(%d) precision must be between %d and %d" msgstr "타임스탬프(%d) 정밀도는 %d에서 %d 사이여야 함" @@ -24702,105 +27556,71 @@ msgstr "타임스탬프(%d) 정밀도는 %d에서 %d 사이여야 함" msgid "Numeric time zones must have \"-\" or \"+\" as first character." msgstr "숫자형 타임 존 형식은 처음에 \"-\" 또는 \"+\" 문자가 있어야 합니다." -#: utils/adt/timestamp.c:509 +#: utils/adt/timestamp.c:508 #, c-format msgid "numeric time zone \"%s\" out of range" msgstr "\"%s\" 숫자형 타임 존 범위 벗어남" -#: utils/adt/timestamp.c:601 utils/adt/timestamp.c:611 -#: utils/adt/timestamp.c:619 +#: utils/adt/timestamp.c:609 utils/adt/timestamp.c:619 +#: utils/adt/timestamp.c:627 #, c-format msgid "timestamp out of range: %d-%02d-%02d %d:%02d:%02g" msgstr "타임스탬프 값이 범위를 벗어났음: %d-%02d-%02d %d:%02d:%02g" -#: utils/adt/timestamp.c:720 +#: utils/adt/timestamp.c:728 #, c-format msgid "timestamp cannot be NaN" msgstr "타임스탬프 값으로 NaN 값을 지정할 수 없음" -#: utils/adt/timestamp.c:738 utils/adt/timestamp.c:750 +#: utils/adt/timestamp.c:746 utils/adt/timestamp.c:758 #, c-format msgid "timestamp out of range: \"%g\"" msgstr "타임스탬프 값이 범위를 벗어났음: \"%g\"" -#: utils/adt/timestamp.c:935 utils/adt/timestamp.c:1509 -#: utils/adt/timestamp.c:1944 utils/adt/timestamp.c:3042 -#: utils/adt/timestamp.c:3047 utils/adt/timestamp.c:3052 -#: utils/adt/timestamp.c:3102 utils/adt/timestamp.c:3109 -#: utils/adt/timestamp.c:3116 utils/adt/timestamp.c:3136 -#: utils/adt/timestamp.c:3143 utils/adt/timestamp.c:3150 -#: utils/adt/timestamp.c:3180 utils/adt/timestamp.c:3188 -#: utils/adt/timestamp.c:3232 utils/adt/timestamp.c:3659 -#: utils/adt/timestamp.c:3784 utils/adt/timestamp.c:4244 -#, c-format -msgid "interval out of range" -msgstr "간격이 범위를 벗어남" - -#: utils/adt/timestamp.c:1062 utils/adt/timestamp.c:1095 +#: utils/adt/timestamp.c:1065 utils/adt/timestamp.c:1098 #, c-format msgid "invalid INTERVAL type modifier" msgstr "잘못된 INTERVAL 형식 한정자" -#: utils/adt/timestamp.c:1078 +#: utils/adt/timestamp.c:1081 #, c-format msgid "INTERVAL(%d) precision must not be negative" msgstr "INTERVAL(%d) 정밀도로 음수값이 올 수 없습니다" -#: utils/adt/timestamp.c:1084 +#: utils/adt/timestamp.c:1087 #, c-format msgid "INTERVAL(%d) precision reduced to maximum allowed, %d" msgstr "INTERVAL(%d) 정밀도는 허용 최대치(%d)로 감소 되었습니다" -#: utils/adt/timestamp.c:1466 +#: utils/adt/timestamp.c:1473 #, c-format msgid "interval(%d) precision must be between %d and %d" msgstr "간격(%d) 정밀도는 %d에서 %d 사이여야 함" -#: utils/adt/timestamp.c:2643 +#: utils/adt/timestamp.c:2703 #, c-format msgid "cannot subtract infinite timestamps" msgstr "타임스탬프 무한값을 추출 할 수 없음" -#: utils/adt/timestamp.c:3912 utils/adt/timestamp.c:4505 -#: utils/adt/timestamp.c:4667 utils/adt/timestamp.c:4688 +#: utils/adt/timestamp.c:3956 utils/adt/timestamp.c:4139 #, c-format -msgid "timestamp units \"%s\" not supported" -msgstr "\"%s\" timestamp 유닛은 지원하지 않습니다" +msgid "origin out of range" +msgstr "오리진의 범위를 벗어났습니다." -#: utils/adt/timestamp.c:3926 utils/adt/timestamp.c:4459 -#: utils/adt/timestamp.c:4698 +#: utils/adt/timestamp.c:3961 utils/adt/timestamp.c:4144 #, c-format -msgid "timestamp units \"%s\" not recognized" -msgstr "\"%s\" timestamp 유닛을 처리하지 못했습니다" - -#: utils/adt/timestamp.c:4056 utils/adt/timestamp.c:4500 -#: utils/adt/timestamp.c:4863 utils/adt/timestamp.c:4885 -#, c-format -msgid "timestamp with time zone units \"%s\" not supported" -msgstr "\"%s\" 시간대 유닛이 있는 timestamp 자료형은 지원하지 않습니다" - -#: utils/adt/timestamp.c:4073 utils/adt/timestamp.c:4454 -#: utils/adt/timestamp.c:4894 -#, c-format -msgid "timestamp with time zone units \"%s\" not recognized" -msgstr "\"%s\" 시간대 유닛이 있는 timestamp 값을 처리하지 못했습니다" - -#: utils/adt/timestamp.c:4231 -#, c-format -msgid "" -"interval units \"%s\" not supported because months usually have fractional " -"weeks" -msgstr "" +msgid "timestamps cannot be binned into intervals containing months or years" +msgstr "timestamp값은 월이나 년을 포함하는 interval 형으로 바인드할 수 없음" -#: utils/adt/timestamp.c:4237 utils/adt/timestamp.c:4988 +#: utils/adt/timestamp.c:3968 utils/adt/timestamp.c:4151 #, c-format -msgid "interval units \"%s\" not supported" -msgstr "\"%s\" 유닛 간격(interval units)은 지원하지 않습니다" +msgid "stride must be greater than zero" +msgstr "stride 값은 0 보다 커야 합니다" -#: utils/adt/timestamp.c:4253 utils/adt/timestamp.c:5011 +#: utils/adt/timestamp.c:4434 #, c-format -msgid "interval units \"%s\" not recognized" -msgstr "\"%s\" 유닛 간격(interval units)을 처리하지 못했습니다" +msgid "Months usually have fractional weeks." +msgstr "달에는 보통 분수형태의 주간이 있습니다." #: utils/adt/trigfuncs.c:42 #, c-format @@ -24822,53 +27642,49 @@ msgstr "suppress_redundant_updates_trigger: 업데이트 전에 호출되어야 msgid "suppress_redundant_updates_trigger: must be called for each row" msgstr "suppress_redundant_updates_trigger: 각 행에 대해 호출되어야 함" -#: utils/adt/tsgistidx.c:92 +#: utils/adt/tsquery.c:210 utils/adt/tsquery_op.c:125 #, c-format -msgid "gtsvector_in not implemented" -msgstr "gtsvector_in이 구현되어 있지 않음" - -#: utils/adt/tsquery.c:200 -#, c-format -msgid "distance in phrase operator should not be greater than %d" +msgid "" +"distance in phrase operator must be an integer value between zero and %d " +"inclusive" msgstr "분석 작업에서 사용한 거리값은 %d 보다 클 수 없습니다" -#: utils/adt/tsquery.c:310 utils/adt/tsquery.c:725 -#: utils/adt/tsvector_parser.c:133 -#, c-format -msgid "syntax error in tsquery: \"%s\"" -msgstr "tsquery에 구문 오류가 있음: \"%s\"" - -#: utils/adt/tsquery.c:334 +#: utils/adt/tsquery.c:344 #, c-format msgid "no operand in tsquery: \"%s\"" msgstr "tsquery에 피연산자가 없음: \"%s\"" -#: utils/adt/tsquery.c:568 +#: utils/adt/tsquery.c:558 #, c-format msgid "value is too big in tsquery: \"%s\"" msgstr "tsquery의 값이 너무 큼: \"%s\"" -#: utils/adt/tsquery.c:573 +#: utils/adt/tsquery.c:563 #, c-format msgid "operand is too long in tsquery: \"%s\"" msgstr "tsquery의 피연산자가 너무 긺: \"%s\"" -#: utils/adt/tsquery.c:601 +#: utils/adt/tsquery.c:591 #, c-format msgid "word is too long in tsquery: \"%s\"" msgstr "tsquery의 단어가 너무 긺: \"%s\"" -#: utils/adt/tsquery.c:870 +#: utils/adt/tsquery.c:717 utils/adt/tsvector_parser.c:147 +#, c-format +msgid "syntax error in tsquery: \"%s\"" +msgstr "tsquery에 구문 오류가 있음: \"%s\"" + +#: utils/adt/tsquery.c:883 #, c-format msgid "text-search query doesn't contain lexemes: \"%s\"" msgstr "텍스트 검색 쿼리에 어휘소가 포함되어 있지 않음: \"%s\"" -#: utils/adt/tsquery.c:881 utils/adt/tsquery_util.c:375 +#: utils/adt/tsquery.c:894 utils/adt/tsquery_util.c:376 #, c-format msgid "tsquery is too large" msgstr "tsquery 길이가 너무 깁니다" -#: utils/adt/tsquery_cleanup.c:407 +#: utils/adt/tsquery_cleanup.c:409 #, c-format msgid "" "text-search query contains only stop words or doesn't contain lexemes, " @@ -24877,11 +27693,6 @@ msgstr "" "텍스트 검색 쿼리에 중지 단어만 포함되어 있거나 어휘소가 포함되어 있지 않음, " "무시됨" -#: utils/adt/tsquery_op.c:124 -#, c-format -msgid "distance in phrase operator should be non-negative and less than %d" -msgstr "분석 작업에서 사용한 거리값은 %d 보다 작고 양수값만 사용할 수 있습니다" - #: utils/adt/tsquery_rewrite.c:321 #, c-format msgid "ts_rewrite query must return two tsquery columns" @@ -24902,365 +27713,358 @@ msgstr "가중치 배열이 너무 짧음" msgid "array of weight must not contain nulls" msgstr "가중치 배열에는 null이 포함되지 않아야 함" -#: utils/adt/tsrank.c:431 utils/adt/tsrank.c:872 +#: utils/adt/tsrank.c:431 utils/adt/tsrank.c:871 #, c-format msgid "weight out of range" msgstr "가중치가 범위를 벗어남" -#: utils/adt/tsvector.c:215 +#: utils/adt/tsvector.c:217 #, c-format msgid "word is too long (%ld bytes, max %ld bytes)" msgstr "단어가 너무 긺(%ld바이트, 최대 %ld바이트)" -#: utils/adt/tsvector.c:222 +#: utils/adt/tsvector.c:224 #, c-format msgid "string is too long for tsvector (%ld bytes, max %ld bytes)" msgstr "" "문자열이 너무 길어서 tsvector에 사용할 수 없음(%ld바이트, 최대 %ld바이트)" -#: utils/adt/tsvector_op.c:328 utils/adt/tsvector_op.c:608 -#: utils/adt/tsvector_op.c:770 +#: utils/adt/tsvector_op.c:773 #, c-format msgid "lexeme array may not contain nulls" msgstr "어휘소 배열에는 null이 포함되지 않아야 함" -#: utils/adt/tsvector_op.c:840 +#: utils/adt/tsvector_op.c:778 +#, c-format +msgid "lexeme array may not contain empty strings" +msgstr "어휘소 배열에는 빈문자열이 포함되지 않아야 함" + +#: utils/adt/tsvector_op.c:847 #, c-format msgid "weight array may not contain nulls" msgstr "가중치 배열에는 null이 포함되지 않아야 함" -#: utils/adt/tsvector_op.c:864 +#: utils/adt/tsvector_op.c:871 #, c-format msgid "unrecognized weight: \"%c\"" msgstr "알 수 없는 가중치: \"%c\"" -#: utils/adt/tsvector_op.c:2414 +#: utils/adt/tsvector_op.c:2601 #, c-format msgid "ts_stat query must return one tsvector column" msgstr "ts_stat 쿼리는 하나의 tsvector 칼럼을 반환해야 함" -#: utils/adt/tsvector_op.c:2603 +#: utils/adt/tsvector_op.c:2790 #, c-format msgid "tsvector column \"%s\" does not exist" msgstr "\"%s\" tsvector 칼럼이 없음" -#: utils/adt/tsvector_op.c:2610 +#: utils/adt/tsvector_op.c:2797 #, c-format msgid "column \"%s\" is not of tsvector type" msgstr "\"%s\" 칼럼은 tsvector 형식이 아님" -#: utils/adt/tsvector_op.c:2622 +#: utils/adt/tsvector_op.c:2809 #, c-format msgid "configuration column \"%s\" does not exist" msgstr "\"%s\" 구성 칼럼이 없음" -#: utils/adt/tsvector_op.c:2628 +#: utils/adt/tsvector_op.c:2815 #, c-format msgid "column \"%s\" is not of regconfig type" msgstr "\"%s\" 칼럼은 regconfig 형이 아님" -#: utils/adt/tsvector_op.c:2635 +#: utils/adt/tsvector_op.c:2822 #, c-format msgid "configuration column \"%s\" must not be null" msgstr "\"%s\" 구성 칼럼은 null이 아니어야 함" -#: utils/adt/tsvector_op.c:2648 +#: utils/adt/tsvector_op.c:2835 #, c-format msgid "text search configuration name \"%s\" must be schema-qualified" msgstr "\"%s\" 텍스트 검색 구성 이름이 스키마로 한정되어야 함" -#: utils/adt/tsvector_op.c:2673 +#: utils/adt/tsvector_op.c:2860 #, c-format msgid "column \"%s\" is not of a character type" msgstr "\"%s\" 칼럼은 문자형이 아님" -#: utils/adt/tsvector_parser.c:134 +#: utils/adt/tsvector_parser.c:148 #, c-format msgid "syntax error in tsvector: \"%s\"" msgstr "tsvector에 구문 오류가 있음: \"%s\"" -#: utils/adt/tsvector_parser.c:200 +#: utils/adt/tsvector_parser.c:221 #, c-format msgid "there is no escaped character: \"%s\"" msgstr "이스케이프 문자가 없음: \"%s\"" -#: utils/adt/tsvector_parser.c:318 +#: utils/adt/tsvector_parser.c:339 #, c-format msgid "wrong position info in tsvector: \"%s\"" msgstr "tsvector에 잘못된 위치 정보가 있음: \"%s\"" -#: utils/adt/uuid.c:428 +#: utils/adt/uuid.c:413 #, c-format msgid "could not generate random values" msgstr "무작위 값 생성 실패" -#: utils/adt/varbit.c:109 utils/adt/varchar.c:53 +#: utils/adt/varbit.c:110 utils/adt/varchar.c:54 #, c-format msgid "length for type %s must be at least 1" -msgstr "%s 자료형의 길이는 최소 1 이상이어야합니다" +msgstr "%s 자료형의 길이는 최소 1 이상이어야 합니다" -#: utils/adt/varbit.c:114 utils/adt/varchar.c:57 +#: utils/adt/varbit.c:115 utils/adt/varchar.c:58 #, c-format msgid "length for type %s cannot exceed %d" -msgstr "%s 자료형의 길이는 최대 %d 이하여야합니다" +msgstr "%s 자료형의 길이는 최대 %d 이하여야 합니다" -#: utils/adt/varbit.c:197 utils/adt/varbit.c:498 utils/adt/varbit.c:993 +#: utils/adt/varbit.c:198 utils/adt/varbit.c:499 utils/adt/varbit.c:994 #, c-format msgid "bit string length exceeds the maximum allowed (%d)" msgstr "비트 문자열 길이가 최대치 (%d)를 초과했습니다" -#: utils/adt/varbit.c:211 utils/adt/varbit.c:355 utils/adt/varbit.c:405 +#: utils/adt/varbit.c:212 utils/adt/varbit.c:356 utils/adt/varbit.c:406 #, c-format msgid "bit string length %d does not match type bit(%d)" msgstr "" "길이가 %d인 비트 문자열 자료는 bit(%d) 자료형의 길이와 일치하지 않습니다" -#: utils/adt/varbit.c:233 utils/adt/varbit.c:534 +#: utils/adt/varbit.c:234 utils/adt/varbit.c:535 #, c-format -msgid "\"%c\" is not a valid binary digit" -msgstr "\"%c\" 문자는 2진수 문자가 아닙니다" +msgid "\"%.*s\" is not a valid binary digit" +msgstr "\"%.*s\" 문자는 2진수 문자가 아닙니다" -#: utils/adt/varbit.c:258 utils/adt/varbit.c:559 +#: utils/adt/varbit.c:259 utils/adt/varbit.c:560 #, c-format -msgid "\"%c\" is not a valid hexadecimal digit" -msgstr "\"%c\" 문자는 16진수 문자가 아닙니다" +msgid "\"%.*s\" is not a valid hexadecimal digit" +msgstr "\"%.*s\" 문자는 16진수 문자가 아닙니다" -#: utils/adt/varbit.c:346 utils/adt/varbit.c:651 +#: utils/adt/varbit.c:347 utils/adt/varbit.c:652 #, c-format msgid "invalid length in external bit string" msgstr "외부 비트 문자열의 길이가 잘못되었습니다" -#: utils/adt/varbit.c:512 utils/adt/varbit.c:660 utils/adt/varbit.c:756 +#: utils/adt/varbit.c:513 utils/adt/varbit.c:661 utils/adt/varbit.c:757 #, c-format msgid "bit string too long for type bit varying(%d)" msgstr "비트 문자열이 너무 깁니다(해당 자료형 bit varying(%d))" -#: utils/adt/varbit.c:1086 utils/adt/varbit.c:1184 utils/adt/varlena.c:875 -#: utils/adt/varlena.c:939 utils/adt/varlena.c:1083 utils/adt/varlena.c:3306 -#: utils/adt/varlena.c:3373 +#: utils/adt/varbit.c:1081 utils/adt/varbit.c:1191 utils/adt/varlena.c:908 +#: utils/adt/varlena.c:971 utils/adt/varlena.c:1128 utils/adt/varlena.c:3052 +#: utils/adt/varlena.c:3130 #, c-format msgid "negative substring length not allowed" msgstr "substring에서 음수 길이는 허용하지 않음" -#: utils/adt/varbit.c:1241 +#: utils/adt/varbit.c:1261 #, c-format msgid "cannot AND bit strings of different sizes" msgstr "서로 크기가 틀린 비트 문자열로 AND 연산을 할 수 없습니다." -#: utils/adt/varbit.c:1282 +#: utils/adt/varbit.c:1302 #, c-format msgid "cannot OR bit strings of different sizes" msgstr "서로 크기가 틀린 비트 문자열로 OR 연산을 할 수 없습니다." -#: utils/adt/varbit.c:1322 +#: utils/adt/varbit.c:1342 #, c-format msgid "cannot XOR bit strings of different sizes" msgstr "서로 크기가 틀린 비트 문자열은 XOR 연산을 할 수 없습니다." -#: utils/adt/varbit.c:1804 utils/adt/varbit.c:1862 +#: utils/adt/varbit.c:1824 utils/adt/varbit.c:1882 #, c-format msgid "bit index %d out of valid range (0..%d)" msgstr "비트 %d 인덱스의 범위를 벗어남 (0..%d)" -#: utils/adt/varbit.c:1813 utils/adt/varlena.c:3566 +#: utils/adt/varbit.c:1833 utils/adt/varlena.c:3334 #, c-format msgid "new bit must be 0 or 1" -msgstr "새 비트값은 0 또는 1 이어야합니다" +msgstr "새 비트값은 0 또는 1 이어야 합니다" -#: utils/adt/varchar.c:157 utils/adt/varchar.c:310 +#: utils/adt/varchar.c:162 utils/adt/varchar.c:313 #, c-format msgid "value too long for type character(%d)" msgstr "character(%d) 자료형에 너무 긴 자료를 담으려고 합니다." -#: utils/adt/varchar.c:472 utils/adt/varchar.c:634 +#: utils/adt/varchar.c:476 utils/adt/varchar.c:640 #, c-format msgid "value too long for type character varying(%d)" msgstr "character varying(%d) 자료형에 너무 긴 자료를 담으려고 합니다." -#: utils/adt/varchar.c:732 utils/adt/varlena.c:1475 +#: utils/adt/varchar.c:738 utils/adt/varlena.c:1517 #, c-format msgid "could not determine which collation to use for string comparison" msgstr "문자열 비교 작업에 사용할 정렬규칙(collation)을 결정할 수 없음" -#: utils/adt/varlena.c:1182 utils/adt/varlena.c:1915 +#: utils/adt/varlena.c:1227 utils/adt/varlena.c:1806 #, c-format msgid "nondeterministic collations are not supported for substring searches" msgstr "문자열 검색 작업에 사용할 비결정 정렬규칙(collation)을 지원하지 않음" -#: utils/adt/varlena.c:1574 utils/adt/varlena.c:1587 -#, c-format -msgid "could not convert string to UTF-16: error code %lu" -msgstr "UTF-16 인코딩으로 문자열을 변환할 수 없음: 오류번호 %lu" - -#: utils/adt/varlena.c:1602 -#, c-format -msgid "could not compare Unicode strings: %m" -msgstr "유니코드 문자열 비교 실패: %m" - -#: utils/adt/varlena.c:1653 utils/adt/varlena.c:2367 -#, c-format -msgid "collation failed: %s" -msgstr "문자열 정렬: %s" - -#: utils/adt/varlena.c:2575 -#, c-format -msgid "sort key generation failed: %s" -msgstr "정렬 키 생성 실패: %s" - -#: utils/adt/varlena.c:3450 utils/adt/varlena.c:3517 +#: utils/adt/varlena.c:3218 utils/adt/varlena.c:3285 #, c-format msgid "index %d out of valid range, 0..%d" msgstr "%d 인덱스의 범위를 벗어남, 0..%d" -#: utils/adt/varlena.c:3481 utils/adt/varlena.c:3553 +#: utils/adt/varlena.c:3249 utils/adt/varlena.c:3321 #, c-format msgid "index %lld out of valid range, 0..%lld" msgstr "%lld 인덱스의 범위를 벗어남, 0..%lld" -#: utils/adt/varlena.c:4590 +#: utils/adt/varlena.c:4382 #, c-format -msgid "field position must be greater than zero" -msgstr "필드 위치 값은 0 보다 커야합니다" +msgid "field position must not be zero" +msgstr "필드 위치 값은 0 이 아니여야 함" -#: utils/adt/varlena.c:5456 +#: utils/adt/varlena.c:5554 #, c-format msgid "unterminated format() type specifier" msgstr "마무리 안된 format() 형 식별자" -#: utils/adt/varlena.c:5457 utils/adt/varlena.c:5591 utils/adt/varlena.c:5712 +#: utils/adt/varlena.c:5555 utils/adt/varlena.c:5689 utils/adt/varlena.c:5810 #, c-format msgid "For a single \"%%\" use \"%%%%\"." msgstr "하나의 \"%%\" 문자를 표시하려면, \"%%%%\" 형태로 사용하세요" -#: utils/adt/varlena.c:5589 utils/adt/varlena.c:5710 +#: utils/adt/varlena.c:5687 utils/adt/varlena.c:5808 #, c-format -msgid "unrecognized format() type specifier \"%c\"" -msgstr "인식할 수 없는 format() 형 식별자 \"%c\"" +msgid "unrecognized format() type specifier \"%.*s\"" +msgstr "인식할 수 없는 format() 형 식별자 \"%.*s\"" -#: utils/adt/varlena.c:5602 utils/adt/varlena.c:5659 +#: utils/adt/varlena.c:5700 utils/adt/varlena.c:5757 #, c-format msgid "too few arguments for format()" msgstr "format() 작업을 위한 인자가 너무 적음" -#: utils/adt/varlena.c:5755 utils/adt/varlena.c:5937 +#: utils/adt/varlena.c:5853 utils/adt/varlena.c:6035 #, c-format msgid "number is out of range" msgstr "수치 범위를 벗어남" -#: utils/adt/varlena.c:5818 utils/adt/varlena.c:5846 +#: utils/adt/varlena.c:5916 utils/adt/varlena.c:5944 #, c-format msgid "format specifies argument 0, but arguments are numbered from 1" msgstr "" "format 함수에서 사용할 수 있는 인자 위치 번호는 0이 아니라, 1부터 시작합니다" -#: utils/adt/varlena.c:5839 +#: utils/adt/varlena.c:5937 #, c-format msgid "width argument position must be ended by \"$\"" msgstr "넓이 인자 위치값은 \"$\" 문자로 끝나야 합니다" -#: utils/adt/varlena.c:5884 +#: utils/adt/varlena.c:5982 #, c-format msgid "null values cannot be formatted as an SQL identifier" msgstr "null 값은 SQL 식별자로 포멧될 수 없음" -#: utils/adt/varlena.c:6010 +#: utils/adt/varlena.c:6190 #, c-format msgid "Unicode normalization can only be performed if server encoding is UTF8" msgstr "" +"유니코드 normalization 작업은 서버 인코딩이 UTF8 일때만 할 수 있습니다." -#: utils/adt/varlena.c:6023 +#: utils/adt/varlena.c:6203 #, c-format msgid "invalid normalization form: %s" msgstr "잘못된 normalization 형식: %s" -#: utils/adt/windowfuncs.c:243 +#: utils/adt/varlena.c:6406 utils/adt/varlena.c:6441 utils/adt/varlena.c:6476 +#, c-format +msgid "invalid Unicode code point: %04X" +msgstr "잘못된 유니코드 코드 포인트: %04X" + +#: utils/adt/varlena.c:6506 +#, c-format +msgid "Unicode escapes must be \\XXXX, \\+XXXXXX, \\uXXXX, or \\UXXXXXXXX." +msgstr "" +"유니코드 이스케이프는 \\XXXX, \\+XXXXXX, \\uXXXX, 또는 \\UXXXXXXXX 형태여야 " +"합니다." + +#: utils/adt/windowfuncs.c:442 #, c-format msgid "argument of ntile must be greater than zero" msgstr "ntile의 인자는 0보다 커야 함" -#: utils/adt/windowfuncs.c:465 +#: utils/adt/windowfuncs.c:706 #, c-format msgid "argument of nth_value must be greater than zero" msgstr "nth_value의 인자는 0보다 커야 함" -#: utils/adt/xid8funcs.c:116 +#: utils/adt/xid8funcs.c:125 #, c-format -msgid "transaction ID %s is in the future" -msgstr "%s 트랜잭션 ID는 미래의 것입니다" +msgid "transaction ID %llu is in the future" +msgstr "%llu 트랜잭션 ID는 미래의 것입니다" #: utils/adt/xid8funcs.c:547 #, c-format msgid "invalid external pg_snapshot data" msgstr "외부 pg_snapshot 자료가 잘못됨" -#: utils/adt/xml.c:222 +#: utils/adt/xml.c:228 #, c-format msgid "unsupported XML feature" msgstr "지원되지 않는 XML 기능" -#: utils/adt/xml.c:223 +#: utils/adt/xml.c:229 #, c-format msgid "This functionality requires the server to be built with libxml support." msgstr "이 기능을 사용하려면 libxml 지원으로 서버를 빌드해야 합니다." -#: utils/adt/xml.c:224 -#, c-format -msgid "You need to rebuild PostgreSQL using --with-libxml." -msgstr "--with-libxml을 사용하여 PostgreSQL을 다시 빌드해야 합니다." - -#: utils/adt/xml.c:243 utils/mb/mbutils.c:570 +#: utils/adt/xml.c:248 utils/mb/mbutils.c:628 #, c-format msgid "invalid encoding name \"%s\"" msgstr "\"%s\" 인코딩 이름이 잘못됨" -#: utils/adt/xml.c:486 utils/adt/xml.c:491 +#: utils/adt/xml.c:496 utils/adt/xml.c:501 #, c-format msgid "invalid XML comment" msgstr "잘못된 XML 주석" -#: utils/adt/xml.c:620 +#: utils/adt/xml.c:660 #, c-format msgid "not an XML document" msgstr "XML 문서가 아님" -#: utils/adt/xml.c:779 utils/adt/xml.c:802 +#: utils/adt/xml.c:956 utils/adt/xml.c:979 #, c-format msgid "invalid XML processing instruction" msgstr "잘못된 XML 처리 명령" -#: utils/adt/xml.c:780 +#: utils/adt/xml.c:957 #, c-format msgid "XML processing instruction target name cannot be \"%s\"." msgstr "XML 처리 명령 대상 이름은 \"%s\"일 수 없습니다." -#: utils/adt/xml.c:803 +#: utils/adt/xml.c:980 #, c-format msgid "XML processing instruction cannot contain \"?>\"." msgstr "XML 처리 명령에는 \"?>\"를 포함할 수 없습니다." -#: utils/adt/xml.c:882 +#: utils/adt/xml.c:1059 #, c-format msgid "xmlvalidate is not implemented" msgstr "xmlvalidate가 구현되어 있지 않음" -#: utils/adt/xml.c:961 +#: utils/adt/xml.c:1115 #, c-format msgid "could not initialize XML library" msgstr "XML 라이브러리를 초기화할 수 없음" -#: utils/adt/xml.c:962 +#: utils/adt/xml.c:1116 #, c-format msgid "" -"libxml2 has incompatible char type: sizeof(char)=%u, sizeof(xmlChar)=%u." +"libxml2 has incompatible char type: sizeof(char)=%zu, sizeof(xmlChar)=%zu." msgstr "" -"libxml2에 호환되지 않는 문자 자료형 있음: sizeof(char)=%u, sizeof(xmlChar)=%u" +"libxml2에 호환되지 않는 문자 자료형 있음: sizeof(char)=%zu, sizeof(xmlChar)=" +"%zu" -#: utils/adt/xml.c:1048 +#: utils/adt/xml.c:1202 #, c-format msgid "could not set up XML error handler" msgstr "XML 오류 핸들러를 설정할 수 없음" -#: utils/adt/xml.c:1049 +#: utils/adt/xml.c:1203 #, c-format msgid "" "This probably indicates that the version of libxml2 being used is not " @@ -25269,121 +28073,121 @@ msgstr "" "이 문제는 PostgreSQL 서버를 만들 때 사용한 libxml2 헤더 파일이 호환성이 없는 " "것 같습니다." -#: utils/adt/xml.c:1936 +#: utils/adt/xml.c:2189 msgid "Invalid character value." msgstr "잘못된 문자 값입니다." -#: utils/adt/xml.c:1939 +#: utils/adt/xml.c:2192 msgid "Space required." msgstr "공간이 필요합니다." -#: utils/adt/xml.c:1942 +#: utils/adt/xml.c:2195 msgid "standalone accepts only 'yes' or 'no'." msgstr "독립 실행형은 'yes' 또는 'no'만 허용합니다." -#: utils/adt/xml.c:1945 +#: utils/adt/xml.c:2198 msgid "Malformed declaration: missing version." msgstr "선언 형식이 잘못됨: 버전이 누락되었습니다." -#: utils/adt/xml.c:1948 +#: utils/adt/xml.c:2201 msgid "Missing encoding in text declaration." msgstr "텍스트 선언에서 인코딩이 누락되었습니다." -#: utils/adt/xml.c:1951 +#: utils/adt/xml.c:2204 msgid "Parsing XML declaration: '?>' expected." msgstr "XML 선언 구문 분석 중: '?>'가 필요합니다." -#: utils/adt/xml.c:1954 +#: utils/adt/xml.c:2207 #, c-format msgid "Unrecognized libxml error code: %d." msgstr "인식할 수 없는 libxml 오류 코드: %d." -#: utils/adt/xml.c:2211 +#: utils/adt/xml.c:2461 #, c-format msgid "XML does not support infinite date values." msgstr "XML은 무한 날짜 값을 지원하지 않습니다." -#: utils/adt/xml.c:2233 utils/adt/xml.c:2260 +#: utils/adt/xml.c:2483 utils/adt/xml.c:2510 #, c-format msgid "XML does not support infinite timestamp values." msgstr "XML은 무한 타임스탬프 값을 지원하지 않습니다." -#: utils/adt/xml.c:2676 +#: utils/adt/xml.c:2926 #, c-format msgid "invalid query" msgstr "잘못된 쿼리" -#: utils/adt/xml.c:4016 +#: utils/adt/xml.c:4266 #, c-format msgid "invalid array for XML namespace mapping" msgstr "XML 네임스페이스 매핑에 사용할 배열이 잘못됨" -#: utils/adt/xml.c:4017 +#: utils/adt/xml.c:4267 #, c-format msgid "" "The array must be two-dimensional with length of the second axis equal to 2." msgstr "" "이 배열은 key, value로 구성된 배열을 요소로 하는 2차원 배열이어야 합니다." -#: utils/adt/xml.c:4041 +#: utils/adt/xml.c:4291 #, c-format msgid "empty XPath expression" msgstr "XPath 식이 비어 있음" -#: utils/adt/xml.c:4093 +#: utils/adt/xml.c:4343 #, c-format msgid "neither namespace name nor URI may be null" msgstr "네임스페이스 이름 및 URI는 null일 수 없음" -#: utils/adt/xml.c:4100 +#: utils/adt/xml.c:4350 #, c-format msgid "could not register XML namespace with name \"%s\" and URI \"%s\"" msgstr "" "이름 \"%s\" 및 URI \"%s\"을(를) 사용하여 XML 네임스페이스를 등록할 수 없음" -#: utils/adt/xml.c:4451 +#: utils/adt/xml.c:4693 #, c-format msgid "DEFAULT namespace is not supported" msgstr "DEFAULT 네임스페이스는 지원하지 않습니다." -#: utils/adt/xml.c:4480 +#: utils/adt/xml.c:4722 #, c-format msgid "row path filter must not be empty string" msgstr "로우 경로 필터는 비어있으면 안됩니다" -#: utils/adt/xml.c:4511 +#: utils/adt/xml.c:4753 #, c-format msgid "column path filter must not be empty string" msgstr "칼럼 경로 필터는 비어있으면 안됩니다" -#: utils/adt/xml.c:4661 +#: utils/adt/xml.c:4897 #, c-format msgid "more than one value returned by column XPath expression" msgstr "칼럼 XPath 표현식에 사용된 결과가 하나 이상의 값을 사용합니다" -#: utils/cache/lsyscache.c:1015 +#: utils/cache/lsyscache.c:1043 #, c-format msgid "cast from type %s to type %s does not exist" msgstr "%s 형에서 %s 형으로 바꾸는 형변환 규칙(cast)가 없음" # # nonun 부분 end -#: utils/cache/lsyscache.c:2764 utils/cache/lsyscache.c:2797 -#: utils/cache/lsyscache.c:2830 utils/cache/lsyscache.c:2863 +#: utils/cache/lsyscache.c:2845 utils/cache/lsyscache.c:2878 +#: utils/cache/lsyscache.c:2911 utils/cache/lsyscache.c:2944 #, c-format msgid "type %s is only a shell" msgstr "%s 형식은 셸일 뿐임" -#: utils/cache/lsyscache.c:2769 +#: utils/cache/lsyscache.c:2850 #, c-format msgid "no input function available for type %s" msgstr "%s 자료형을 위한 입력 함수가 없습니다" -#: utils/cache/lsyscache.c:2802 +#: utils/cache/lsyscache.c:2883 #, c-format msgid "no output function available for type %s" msgstr "%s 자료형을 위한 출력 함수가 없습니다" -#: utils/cache/partcache.c:215 +#: utils/cache/partcache.c:219 #, c-format msgid "" "operator class \"%s\" of access method %s is missing support function %d for " @@ -25392,152 +28196,166 @@ msgstr "" "\"%s\" 연산자 클래스(접근 방법: %s)에는 %d 개의 지원 지원 함수(해당 자료형 " "%s)가 빠졌습니다" -#: utils/cache/plancache.c:718 +#: utils/cache/plancache.c:724 #, c-format msgid "cached plan must not change result type" msgstr "캐시된 계획에서 결과 형식을 바꾸지 않아야 함" -#: utils/cache/relcache.c:6078 +#: utils/cache/relcache.c:3741 +#, c-format +msgid "heap relfilenumber value not set when in binary upgrade mode" +msgstr "이진 업그레이드 작업 때, 힙 relfilenumber 값이 지정되지 않았습니다" + +#: utils/cache/relcache.c:3749 +#, c-format +msgid "unexpected request for new relfilenumber in binary upgrade mode" +msgstr "바이너리 업그레이드 모드 중에 새 relfilenumber 값 요청이 실패" + +#: utils/cache/relcache.c:6495 #, c-format msgid "could not create relation-cache initialization file \"%s\": %m" msgstr "\"%s\" 릴레이션-캐시 초기화 파일을 만들 수 없음: %m" -#: utils/cache/relcache.c:6080 +#: utils/cache/relcache.c:6497 #, c-format msgid "Continuing anyway, but there's something wrong." msgstr "어쨌든 계속하는데, 뭔가 잘못 된 것이 있습니다." -#: utils/cache/relcache.c:6402 +#: utils/cache/relcache.c:6819 #, c-format msgid "could not remove cache file \"%s\": %m" msgstr "\"%s\" 캐쉬 파일을 삭제할 수 없음: %m" -#: utils/cache/relmapper.c:531 +#: utils/cache/relmapper.c:596 #, c-format msgid "cannot PREPARE a transaction that modified relation mapping" msgstr "릴레이션 맵핑을 변경하는 트랜잭셜을 PREPARE할 수 없음" -#: utils/cache/relmapper.c:761 +#: utils/cache/relmapper.c:850 #, c-format msgid "relation mapping file \"%s\" contains invalid data" msgstr "\"%s\" 릴레이션 맵핑 파일에 잘못된 데이터가 있습니다" -#: utils/cache/relmapper.c:771 +#: utils/cache/relmapper.c:860 #, c-format msgid "relation mapping file \"%s\" contains incorrect checksum" msgstr "\"%s\" 릴레이션 맵핑 파일에 잘못된 checksum 값이 있음" -#: utils/cache/typcache.c:1692 utils/fmgr/funcapi.c:461 +#: utils/cache/typcache.c:1803 utils/fmgr/funcapi.c:566 #, c-format msgid "record type has not been registered" msgstr "레코드 형식이 등록되지 않았음" #: utils/error/assert.c:37 #, c-format -msgid "TRAP: ExceptionalCondition: bad arguments\n" -msgstr "TRAP: ExceptionalCondition: 잘못된 인자\n" +msgid "TRAP: ExceptionalCondition: bad arguments in PID %d\n" +msgstr "TRAP: ExceptionalCondition: %d PID 안에 잘못된 인자\n" #: utils/error/assert.c:40 #, c-format -msgid "TRAP: %s(\"%s\", File: \"%s\", Line: %d)\n" -msgstr "TRAP: %s(\"%s\", 파일: \"%s\", 줄: %d)\n" +msgid "TRAP: failed Assert(\"%s\"), File: \"%s\", Line: %d, PID: %d\n" +msgstr "TRAP: Assert 실패(\"%s\"), 파일: \"%s\", 줄: %d, PID: %d\n" -#: utils/error/elog.c:322 +#: utils/error/elog.c:416 #, c-format msgid "error occurred before error message processing is available\n" msgstr "오류 메시지 처리가 활성화 되기 전에 오류가 발생했습니다\n" -#: utils/error/elog.c:1868 +#: utils/error/elog.c:2092 #, c-format msgid "could not reopen file \"%s\" as stderr: %m" msgstr "stderr 로 사용하기 위해 \"%s\" 파일 다시 열기 실패: %m" -#: utils/error/elog.c:1881 +#: utils/error/elog.c:2105 #, c-format msgid "could not reopen file \"%s\" as stdout: %m" -msgstr "표준출력(stdout)으로 사용하기 위해 \"%s\" 파일을 여는 도중 실패: %m" +msgstr "표준출력(stdout)으로 사용하기 위해 \"%s\" 파일 다시 열기 실패: %m" + +#: utils/error/elog.c:2141 +#, c-format +msgid "invalid character" +msgstr "잘못된 문자" -#: utils/error/elog.c:2373 utils/error/elog.c:2407 utils/error/elog.c:2423 +#: utils/error/elog.c:2847 utils/error/elog.c:2874 utils/error/elog.c:2890 msgid "[unknown]" msgstr "[알수없음]" -#: utils/error/elog.c:2893 utils/error/elog.c:3203 utils/error/elog.c:3311 +#: utils/error/elog.c:3163 utils/error/elog.c:3484 utils/error/elog.c:3591 msgid "missing error text" msgstr "오류 내용을 뺍니다" -#: utils/error/elog.c:2896 utils/error/elog.c:2899 utils/error/elog.c:3314 -#: utils/error/elog.c:3317 +#: utils/error/elog.c:3166 utils/error/elog.c:3169 #, c-format msgid " at character %d" msgstr " %d 번째 문자 부근" -#: utils/error/elog.c:2909 utils/error/elog.c:2916 +#: utils/error/elog.c:3179 utils/error/elog.c:3186 msgid "DETAIL: " msgstr "상세정보: " -#: utils/error/elog.c:2923 +#: utils/error/elog.c:3193 msgid "HINT: " msgstr "힌트: " -#: utils/error/elog.c:2930 +#: utils/error/elog.c:3200 msgid "QUERY: " msgstr "쿼리:" -#: utils/error/elog.c:2937 +#: utils/error/elog.c:3207 msgid "CONTEXT: " msgstr "내용: " -#: utils/error/elog.c:2947 +#: utils/error/elog.c:3217 #, c-format msgid "LOCATION: %s, %s:%d\n" msgstr "위치: %s, %s:%d\n" -#: utils/error/elog.c:2954 +#: utils/error/elog.c:3224 #, c-format msgid "LOCATION: %s:%d\n" msgstr "위치: %s:%d\n" -#: utils/error/elog.c:2961 +#: utils/error/elog.c:3231 msgid "BACKTRACE: " -msgstr "" +msgstr "역추적: " -#: utils/error/elog.c:2975 +#: utils/error/elog.c:3243 msgid "STATEMENT: " msgstr "명령 구문: " -#: utils/error/elog.c:3364 +#: utils/error/elog.c:3636 msgid "DEBUG" msgstr "디버그" -#: utils/error/elog.c:3368 +#: utils/error/elog.c:3640 msgid "LOG" msgstr "로그" -#: utils/error/elog.c:3371 +#: utils/error/elog.c:3643 msgid "INFO" msgstr "정보" -#: utils/error/elog.c:3374 +#: utils/error/elog.c:3646 msgid "NOTICE" msgstr "알림" -#: utils/error/elog.c:3377 +#: utils/error/elog.c:3650 msgid "WARNING" msgstr "경고" -#: utils/error/elog.c:3380 +#: utils/error/elog.c:3653 msgid "ERROR" msgstr "오류" -#: utils/error/elog.c:3383 +#: utils/error/elog.c:3656 msgid "FATAL" msgstr "치명적오류" -#: utils/error/elog.c:3386 +#: utils/error/elog.c:3659 msgid "PANIC" msgstr "손상" -#: utils/fmgr/dfmgr.c:130 +#: utils/fmgr/dfmgr.c:128 #, c-format msgid "could not find function \"%s\" in file \"%s\"" msgstr "\"%s\" 함수를 \"%s\" 파일에서 찾을 수 없음" @@ -25567,244 +28385,271 @@ msgstr "\"%s\" 라이브러리는 사용할 수 없습니다: 버전이 틀림" msgid "Server is version %d, library is version %s." msgstr "서버 버전 = %d, 라이브러리 버전 %s." -#: utils/fmgr/dfmgr.c:346 +#: utils/fmgr/dfmgr.c:341 +#, c-format +msgid "incompatible library \"%s\": ABI mismatch" +msgstr "\"%s\" 라이브러리는 호환되지 않음: ABI 틀림" + +#: utils/fmgr/dfmgr.c:343 +#, c-format +msgid "Server has ABI \"%s\", library has \"%s\"." +msgstr "서버 ABI는 \"%s\", 라이브러리 ABI는 \"%s\"." + +#: utils/fmgr/dfmgr.c:361 #, c-format msgid "Server has FUNC_MAX_ARGS = %d, library has %d." msgstr "서버의 경우 FUNC_MAX_ARGS = %d인데 라이브러리에 %d이(가) 있습니다." -#: utils/fmgr/dfmgr.c:355 +#: utils/fmgr/dfmgr.c:370 #, c-format msgid "Server has INDEX_MAX_KEYS = %d, library has %d." msgstr "서버의 경우 INDEX_MAX_KEYS = %d인데 라이브러리에 %d이(가) 있습니다." -#: utils/fmgr/dfmgr.c:364 +#: utils/fmgr/dfmgr.c:379 #, c-format msgid "Server has NAMEDATALEN = %d, library has %d." msgstr "서버의 경우 NAMEDATALEN = %d인데 라이브러리에 %d이(가) 있습니다." -#: utils/fmgr/dfmgr.c:373 +#: utils/fmgr/dfmgr.c:388 #, c-format msgid "Server has FLOAT8PASSBYVAL = %s, library has %s." msgstr "서버의 경우 FLOAT8PASSBYVAL = %s인데 라이브러리에 %s이(가) 있습니다." -#: utils/fmgr/dfmgr.c:380 +#: utils/fmgr/dfmgr.c:395 msgid "Magic block has unexpected length or padding difference." msgstr "매직 블록에 예기치 않은 길이 또는 여백 차이가 있습니다." -#: utils/fmgr/dfmgr.c:383 +#: utils/fmgr/dfmgr.c:398 #, c-format msgid "incompatible library \"%s\": magic block mismatch" msgstr "\"%s\" 라이브러리는 사용할 수 없습니다: magic black 틀림" -#: utils/fmgr/dfmgr.c:547 +#: utils/fmgr/dfmgr.c:492 #, c-format msgid "access to library \"%s\" is not allowed" msgstr "\"%s\" 라이브러리 사용이 금지되어있습니다" -#: utils/fmgr/dfmgr.c:573 +#: utils/fmgr/dfmgr.c:518 #, c-format msgid "invalid macro name in dynamic library path: %s" msgstr "동적 라이브러리 경로에서 잘못된 매크로 이름: %s" -#: utils/fmgr/dfmgr.c:613 +#: utils/fmgr/dfmgr.c:558 #, c-format msgid "zero-length component in parameter \"dynamic_library_path\"" msgstr "\"dynamic_library_path\" 매개 변수 값으로 길이가 0인 값을 사용했음" -#: utils/fmgr/dfmgr.c:632 +#: utils/fmgr/dfmgr.c:577 #, c-format msgid "component in parameter \"dynamic_library_path\" is not an absolute path" msgstr "\"dynamic_library_path\" 매개 변수 값으로 절대 경로를 사용할 수 없음" -#: utils/fmgr/fmgr.c:238 +#: utils/fmgr/fmgr.c:236 #, c-format msgid "internal function \"%s\" is not in internal lookup table" msgstr "\"%s\" 내부 함수를 내부 검색 테이블에서 찾을 수 없습니다" -#: utils/fmgr/fmgr.c:487 +#: utils/fmgr/fmgr.c:470 #, c-format msgid "could not find function information for function \"%s\"" msgstr "\"%s\" 함수의 함수 정보를 찾을 수 없음" -#: utils/fmgr/fmgr.c:489 +#: utils/fmgr/fmgr.c:472 #, c-format msgid "" "SQL-callable functions need an accompanying PG_FUNCTION_INFO_V1(funcname)." -msgstr "" +msgstr "SQL 호출 가능한 함수는 PG_FUNCTION_INFO_V1(함수명) 정의를 해야함" -#: utils/fmgr/fmgr.c:507 +#: utils/fmgr/fmgr.c:490 #, c-format msgid "unrecognized API version %d reported by info function \"%s\"" -msgstr "_^_ %d 알수 없는 API 버전이 \"%s\" 함수에 의해서 보고되었음" +msgstr "%d 알수 없는 API 버전이 \"%s\" 함수에 의해서 보고되었음" -#: utils/fmgr/fmgr.c:2003 +#: utils/fmgr/fmgr.c:2080 #, c-format msgid "operator class options info is absent in function call context" -msgstr "" +msgstr "연산자 클래스 옵션 정보가 함수 호출 컨텍스트에서 빠졌음" -#: utils/fmgr/fmgr.c:2070 +#: utils/fmgr/fmgr.c:2147 #, c-format msgid "language validation function %u called for language %u instead of %u" msgstr "" "%u OID 언어 유효성 검사 함수가 %u OID 프로시져 언어용으로 호출되었음, 원래 언" "어는 %u" -#: utils/fmgr/funcapi.c:384 +#: utils/fmgr/funcapi.c:489 #, c-format msgid "" "could not determine actual result type for function \"%s\" declared to " "return type %s" msgstr "\"%s\" 함수의 실재 리턴 자료형을 알 수 없음, 정의된 리턴 자료형: %s" -#: utils/fmgr/funcapi.c:1651 utils/fmgr/funcapi.c:1683 +#: utils/fmgr/funcapi.c:634 +#, c-format +msgid "argument declared %s does not contain a range type but type %s" +msgstr "%s 로 선언된 인자가 range 자료형이 아니고, %s 자료형입니다" + +#: utils/fmgr/funcapi.c:717 +#, c-format +msgid "could not find multirange type for data type %s" +msgstr "%s 자료형용 multirange 형을 찾을 수 없음" + +#: utils/fmgr/funcapi.c:1921 utils/fmgr/funcapi.c:1953 #, c-format msgid "number of aliases does not match number of columns" msgstr "alias 수가 열 수와 틀립니다" -#: utils/fmgr/funcapi.c:1677 +#: utils/fmgr/funcapi.c:1947 #, c-format msgid "no column alias was provided" msgstr "열 별칭이 제공되지 않았음" -#: utils/fmgr/funcapi.c:1701 +#: utils/fmgr/funcapi.c:1971 #, c-format msgid "could not determine row description for function returning record" msgstr "레코드를 리턴하는 함수를 위한 행(row) 구성 정보를 구할 수 없음" -#: utils/init/miscinit.c:285 +#: utils/init/miscinit.c:347 #, c-format msgid "data directory \"%s\" does not exist" msgstr "\"%s\" 데이터 디렉터리 없음" -#: utils/init/miscinit.c:290 +#: utils/init/miscinit.c:352 #, c-format msgid "could not read permissions of directory \"%s\": %m" msgstr "\"%s\" 디렉터리 읽기 권한 없음: %m" -#: utils/init/miscinit.c:298 +#: utils/init/miscinit.c:360 #, c-format msgid "specified data directory \"%s\" is not a directory" msgstr "지정한 \"%s\" 데이터 디렉터리는 디렉터리가 아님" -#: utils/init/miscinit.c:314 +#: utils/init/miscinit.c:376 #, c-format msgid "data directory \"%s\" has wrong ownership" msgstr "\"%s\" 데이터 디렉터리 소유주가 잘못 되었습니다." -#: utils/init/miscinit.c:316 +#: utils/init/miscinit.c:378 #, c-format msgid "The server must be started by the user that owns the data directory." -msgstr "서버는 지정한 데이터 디렉터리의 소유주 권한으로 시작되어야합니다." +msgstr "서버는 지정한 데이터 디렉터리의 소유주 권한으로 시작되어야 합니다." -#: utils/init/miscinit.c:334 +#: utils/init/miscinit.c:396 #, c-format msgid "data directory \"%s\" has invalid permissions" msgstr "\"%s\" 데이터 디렉터리 접근 권한에 문제가 있습니다." -#: utils/init/miscinit.c:336 +#: utils/init/miscinit.c:398 #, c-format msgid "Permissions should be u=rwx (0700) or u=rwx,g=rx (0750)." msgstr "액세스 권한은 u=rwx (0700) 또는 u=rwx,o=rx (0750) 값이어야 합니다." -#: utils/init/miscinit.c:615 utils/misc/guc.c:7139 +#: utils/init/miscinit.c:456 +#, c-format +msgid "could not change directory to \"%s\": %m" +msgstr "\"%s\" 이름의 디렉터리로 이동할 수 없습니다: %m" + +#: utils/init/miscinit.c:693 utils/misc/guc.c:3548 #, c-format msgid "cannot set parameter \"%s\" within security-restricted operation" msgstr "보안 제한 작업 내에서 \"%s\" 매개 변수를 설정할 수 없음" -#: utils/init/miscinit.c:683 +#: utils/init/miscinit.c:765 #, c-format msgid "role with OID %u does not exist" msgstr "%u OID 롤이 없음" -#: utils/init/miscinit.c:713 +#: utils/init/miscinit.c:795 #, c-format msgid "role \"%s\" is not permitted to log in" msgstr "\"%s\" 롤은 접속을 허용하지 않음" -#: utils/init/miscinit.c:731 +#: utils/init/miscinit.c:813 #, c-format msgid "too many connections for role \"%s\"" msgstr "\"%s\" 롤의 최대 동시 접속수를 초과했습니다" -#: utils/init/miscinit.c:791 +#: utils/init/miscinit.c:912 #, c-format msgid "permission denied to set session authorization" msgstr "세션 인증을 지정하기 위한 권한이 없음" -#: utils/init/miscinit.c:874 +#: utils/init/miscinit.c:995 #, c-format msgid "invalid role OID: %u" msgstr "잘못된 롤 OID: %u" -#: utils/init/miscinit.c:928 +#: utils/init/miscinit.c:1142 #, c-format msgid "database system is shut down" msgstr "데이터베이스 시스템 서비스를 중지했습니다" -#: utils/init/miscinit.c:1015 +#: utils/init/miscinit.c:1229 #, c-format msgid "could not create lock file \"%s\": %m" msgstr "\"%s\" 잠금 파일을 만들 수 없음: %m" -#: utils/init/miscinit.c:1029 +#: utils/init/miscinit.c:1243 #, c-format msgid "could not open lock file \"%s\": %m" msgstr "\"%s\" 잠금파일을 열 수 없음: %m" -#: utils/init/miscinit.c:1036 +#: utils/init/miscinit.c:1250 #, c-format msgid "could not read lock file \"%s\": %m" msgstr "\"%s\" 잠금 파일을 읽을 수 없음: %m" -#: utils/init/miscinit.c:1045 +#: utils/init/miscinit.c:1259 #, c-format msgid "lock file \"%s\" is empty" msgstr "\"%s\" 잠금 파일이 비었음" -#: utils/init/miscinit.c:1046 +#: utils/init/miscinit.c:1260 #, c-format msgid "" "Either another server is starting, or the lock file is the remnant of a " "previous server startup crash." msgstr "" +"다른 서버가 실행 중이거나, 이전 서버 시작 작업을 실패 해서 잠금 파일이 남아 " +"있는 경우입니다." -#: utils/init/miscinit.c:1090 +#: utils/init/miscinit.c:1304 #, c-format msgid "lock file \"%s\" already exists" msgstr "\"%s\" 잠금 파일이 이미 있음" -#: utils/init/miscinit.c:1094 +#: utils/init/miscinit.c:1308 #, c-format msgid "Is another postgres (PID %d) running in data directory \"%s\"?" msgstr "" "다른 postgres 프로그램(PID %d)이 \"%s\" 데이터 디렉터리를 사용해서 실행중입니" "까?" -#: utils/init/miscinit.c:1096 +#: utils/init/miscinit.c:1310 #, c-format msgid "Is another postmaster (PID %d) running in data directory \"%s\"?" msgstr "" "다른 postmaster 프로그램(PID %d)이 \"%s\" 데이터 디렉터리를 사용해서 실행중입" "니까?" -#: utils/init/miscinit.c:1099 +#: utils/init/miscinit.c:1313 #, c-format msgid "Is another postgres (PID %d) using socket file \"%s\"?" msgstr "" "다른 postgres 프로그램(PID %d)이 \"%s\" 소켓 파일을 사용해서 실행중입니까?" -#: utils/init/miscinit.c:1101 +#: utils/init/miscinit.c:1315 #, c-format msgid "Is another postmaster (PID %d) using socket file \"%s\"?" msgstr "" "다른 postmaster 프로그램(PID %d)이 \"%s\" 소켓 파일을 사용해서 실행중입니까?" -#: utils/init/miscinit.c:1152 +#: utils/init/miscinit.c:1366 #, c-format msgid "could not remove old lock file \"%s\": %m" msgstr "\"%s\" 옛 잠금 파일을 삭제할 수 없음: %m" -#: utils/init/miscinit.c:1154 +#: utils/init/miscinit.c:1368 #, c-format msgid "" "The file seems accidentally left over, but it could not be removed. Please " @@ -25814,48 +28659,48 @@ msgstr "" "셸 명령을 이용해서 파일을 삭제 하고 다시 시도해 보십시오. - 내용 참 거시기 하" "네" -#: utils/init/miscinit.c:1191 utils/init/miscinit.c:1205 -#: utils/init/miscinit.c:1216 +#: utils/init/miscinit.c:1405 utils/init/miscinit.c:1419 +#: utils/init/miscinit.c:1430 #, c-format msgid "could not write lock file \"%s\": %m" msgstr "\"%s\" 잠금 파일에 쓸 수 없음: %m" -#: utils/init/miscinit.c:1327 utils/init/miscinit.c:1469 utils/misc/guc.c:10038 +#: utils/init/miscinit.c:1541 utils/init/miscinit.c:1683 utils/misc/guc.c:5580 #, c-format msgid "could not read from file \"%s\": %m" msgstr "\"%s\" 파일을 읽을 수 없음: %m" -#: utils/init/miscinit.c:1457 +#: utils/init/miscinit.c:1671 #, c-format msgid "could not open file \"%s\": %m; continuing anyway" msgstr "\"%s\" 파일을 열 수 없음: %m; 어째든 계속 진행함" -#: utils/init/miscinit.c:1482 +#: utils/init/miscinit.c:1696 #, c-format msgid "lock file \"%s\" contains wrong PID: %ld instead of %ld" msgstr "\"%s\" 잠금 파일에 있는 PID 값이 이상합니다: 현재값 %ld, 원래값 %ld" -#: utils/init/miscinit.c:1521 utils/init/miscinit.c:1537 +#: utils/init/miscinit.c:1735 utils/init/miscinit.c:1751 #, c-format msgid "\"%s\" is not a valid data directory" msgstr "\"%s\" 값은 바른 데이터디렉터리가 아닙니다" -#: utils/init/miscinit.c:1523 +#: utils/init/miscinit.c:1737 #, c-format msgid "File \"%s\" is missing." msgstr "\"%s\" 파일이 없습니다." -#: utils/init/miscinit.c:1539 +#: utils/init/miscinit.c:1753 #, c-format msgid "File \"%s\" does not contain valid data." msgstr "\"%s\" 파일에 잘못된 자료가 기록되어 있습니다." -#: utils/init/miscinit.c:1541 +#: utils/init/miscinit.c:1755 #, c-format msgid "You might need to initdb." msgstr "initdb 명령을 실행해 새 클러스터를 만들어야 할 수도 있습니다." -#: utils/init/miscinit.c:1549 +#: utils/init/miscinit.c:1763 #, c-format msgid "" "The data directory was initialized by PostgreSQL version %s, which is not " @@ -25864,603 +28709,884 @@ msgstr "" "이 데이터 디렉터리는 PostgreSQL %s 버전으로 초기화 되어있는데, 이 서버의 %s " "버전은 이 버전과 호환성이 없습니다." -#: utils/init/miscinit.c:1616 +#: utils/init/postinit.c:259 +#, c-format +msgid "replication connection authorized: user=%s" +msgstr "복제 연결 인증: user=%s" + +#: utils/init/postinit.c:262 +#, c-format +msgid "connection authorized: user=%s" +msgstr "연결 인증: user=%s" + +#: utils/init/postinit.c:265 +#, c-format +msgid " database=%s" +msgstr " database=%s" + +#: utils/init/postinit.c:268 +#, c-format +msgid " application_name=%s" +msgstr " application_name=%s" + +#: utils/init/postinit.c:273 #, c-format -msgid "loaded library \"%s\"" -msgstr "\"%s\" 라이브러리 로드 완료" +msgid " SSL enabled (protocol=%s, cipher=%s, bits=%d)" +msgstr " SSL 활성화 (protocol=%s, cipher=%s, bits=%d)" -#: utils/init/postinit.c:255 +#: utils/init/postinit.c:285 #, c-format msgid "" -"replication connection authorized: user=%s application_name=%s SSL enabled " -"(protocol=%s, cipher=%s, bits=%d, compression=%s)" +" GSS (authenticated=%s, encrypted=%s, delegated_credentials=%s, principal=%s)" msgstr "" -"복제 연결 인증: 사용자=%s application_name=%s SSL 활성화 (프로토콜=%s, 알고리" -"즘=%s, 비트=%d, 압축=%s)" +" GSS (authenticated=%s, encrypted=%s, delegated_credentials=%s, principal=%s)" -#: utils/init/postinit.c:261 utils/init/postinit.c:267 -#: utils/init/postinit.c:289 utils/init/postinit.c:295 -msgid "off" -msgstr "off" +#: utils/init/postinit.c:286 utils/init/postinit.c:287 +#: utils/init/postinit.c:288 utils/init/postinit.c:293 +#: utils/init/postinit.c:294 utils/init/postinit.c:295 +msgid "no" +msgstr "no" -#: utils/init/postinit.c:261 utils/init/postinit.c:267 -#: utils/init/postinit.c:289 utils/init/postinit.c:295 -msgid "on" -msgstr "on" +#: utils/init/postinit.c:286 utils/init/postinit.c:287 +#: utils/init/postinit.c:288 utils/init/postinit.c:293 +#: utils/init/postinit.c:294 utils/init/postinit.c:295 +msgid "yes" +msgstr "yes" -#: utils/init/postinit.c:262 +#: utils/init/postinit.c:292 +#, c-format +msgid " GSS (authenticated=%s, encrypted=%s, delegated_credentials=%s)" +msgstr " GSS (authenticated=%s, encrypted=%s, delegated_credentials=%s)" + +#: utils/init/postinit.c:333 +#, c-format +msgid "database \"%s\" has disappeared from pg_database" +msgstr "\"%s\" 데이터베이스는 pg_database 항목에 없습니다" + +#: utils/init/postinit.c:335 +#, c-format +msgid "Database OID %u now seems to belong to \"%s\"." +msgstr "데이터베이스 OID %u이(가) 현재 \"%s\"에 속해 있는 것 같습니다." + +#: utils/init/postinit.c:355 +#, c-format +msgid "database \"%s\" is not currently accepting connections" +msgstr "\"%s\" 데이터베이스는 현재 접속을 허용하지 않습니다" + +#: utils/init/postinit.c:368 +#, c-format +msgid "permission denied for database \"%s\"" +msgstr "\"%s\" 데이터베이스 액세스 권한 없음" + +#: utils/init/postinit.c:369 +#, c-format +msgid "User does not have CONNECT privilege." +msgstr "사용자에게 CONNECT 권한이 없습니다." + +#: utils/init/postinit.c:386 +#, c-format +msgid "too many connections for database \"%s\"" +msgstr "\"%s\" 데이터베이스 최대 접속수를 초과했습니다" + +#: utils/init/postinit.c:410 utils/init/postinit.c:417 +#, c-format +msgid "database locale is incompatible with operating system" +msgstr "데이터베이스 로케일이 운영 체제와 호환되지 않음" + +#: utils/init/postinit.c:411 +#, c-format +msgid "" +"The database was initialized with LC_COLLATE \"%s\", which is not " +"recognized by setlocale()." +msgstr "" +"데이터베이스가 setlocale()에서 인식할 수 없는 LC_COLLATE \"%s\"(으)로 초기화" +"되었습니다." + +#: utils/init/postinit.c:413 utils/init/postinit.c:420 +#, c-format +msgid "" +"Recreate the database with another locale or install the missing locale." +msgstr "" +"다른 로케일로 데이터베이스를 다시 만들거나 누락된 로케일을 설치하십시오." + +#: utils/init/postinit.c:418 +#, c-format +msgid "" +"The database was initialized with LC_CTYPE \"%s\", which is not recognized " +"by setlocale()." +msgstr "" +"setlocale()에서 인식할 수 없는 \"%s\" LC_CTYPE 값으로 데이터베이스가 초기화되" +"었습니다." + +#: utils/init/postinit.c:475 +#, c-format +msgid "database \"%s\" has a collation version mismatch" +msgstr "\"%s\" 데이터베이스의 문자 정렬 규칙은 버전이 맞지 않음" + +#: utils/init/postinit.c:477 +#, c-format +msgid "" +"The database was created using collation version %s, but the operating " +"system provides version %s." +msgstr "" +"데이터베이스를 만들때 %s 버전으로 문자 정렬 규칙을 만들었는데, 현재 OS는 %s " +"버전을 제공하고 있습니다." + +#: utils/init/postinit.c:480 +#, c-format +msgid "" +"Rebuild all objects in this database that use the default collation and run " +"ALTER DATABASE %s REFRESH COLLATION VERSION, or build PostgreSQL with the " +"right library version." +msgstr "" +"해당 정렬 규칙과 연관된 모든 객체를 다시 만들고, ALTER COLLATION %s REFRESH " +"VERSION 명령을 실행하거나, 바른 라이브러리 버전을 지정해서, PostgreSQL을 빌드" +"하세요." + +#: utils/init/postinit.c:891 +#, c-format +msgid "no roles are defined in this database system" +msgstr "이 데이터베이스에는 어떠한 롤 정의도 없습니다" + +#: utils/init/postinit.c:892 +#, c-format +msgid "You should immediately run CREATE USER \"%s\" SUPERUSER;." +msgstr "다음 명령을 먼저 실행하십시오: CREATE USER \"%s\" SUPERUSER;." + +#: utils/init/postinit.c:928 +#, c-format +msgid "must be superuser to connect in binary upgrade mode" +msgstr "슈퍼유저만 바이너리 업그레이드 모드 중에 연결 할 수 있음" + +#: utils/init/postinit.c:949 +#, c-format +msgid "remaining connection slots are reserved for roles with the %s attribute" +msgstr "남은 연결 슬롯은 %s 속성을 가진 롤용으로 남겨 놓았음" + +#: utils/init/postinit.c:955 +#, c-format +msgid "" +"remaining connection slots are reserved for roles with privileges of the \"%s" +"\" role" +msgstr "남은 연결 슬롯은 \"%s\" 롤 권한이 있는 롤용으로 남겨 놓았음" + +#: utils/init/postinit.c:967 +#, c-format +msgid "permission denied to start WAL sender" +msgstr "WAL 송신기 시작할 권한 없음" + +#: utils/init/postinit.c:968 +#, c-format +msgid "Only roles with the %s attribute may start a WAL sender process." +msgstr "WAL 송시기 시작은 %s 속성이 있는 롤만 할 수 있습니다." + +#: utils/init/postinit.c:1086 +#, c-format +msgid "It seems to have just been dropped or renamed." +msgstr "삭제되었거나 이름이 바뀐 것 같습니다." + +#: utils/init/postinit.c:1090 +#, c-format +msgid "database %u does not exist" +msgstr "%u 데이터베이스가 없음" + +#: utils/init/postinit.c:1099 +#, c-format +msgid "cannot connect to invalid database \"%s\"" +msgstr "잘못된 \"%s\" 데이터베이스로 접속할 수 없음" + +#: utils/init/postinit.c:1159 +#, c-format +msgid "The database subdirectory \"%s\" is missing." +msgstr "데이터베이스 디렉터리에 \"%s\" 하위 디렉터리가 없습니다" + +#: utils/init/usercontext.c:43 +#, c-format +msgid "role \"%s\" cannot SET ROLE to \"%s\"" +msgstr "\"%s\" 롤은 \"%s\" 롤로 SET ROLE 작업 할 수 없음" + +#: utils/mb/conv.c:522 utils/mb/conv.c:733 +#, c-format +msgid "invalid encoding number: %d" +msgstr "잘못된 인코딩 번호: %d" + +#: utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:129 +#: utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:165 +#, c-format +msgid "unexpected encoding ID %d for ISO 8859 character sets" +msgstr "%d은(는) ISO 8859 문자 집합에 대한 예기치 않은 인코딩 ID임" + +#: utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:110 +#: utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:146 +#, c-format +msgid "unexpected encoding ID %d for WIN character sets" +msgstr "%d은(는) WIN 문자 집합에 대한 예기치 않은 인코딩 ID임" + +#: utils/mb/mbutils.c:298 utils/mb/mbutils.c:901 +#, c-format +msgid "conversion between %s and %s is not supported" +msgstr "%s 인코딩과 %s 인코딩 사이의 변환은 지원하지 않습니다" + +#: utils/mb/mbutils.c:386 +#, c-format +msgid "" +"default conversion function for encoding \"%s\" to \"%s\" does not exist" +msgstr "" +"\"%s\" 인코딩을 \"%s\" 인코딩으로 변환할 기본 변환규칙(conversion)이 없음" + +#: utils/mb/mbutils.c:403 utils/mb/mbutils.c:431 utils/mb/mbutils.c:816 +#: utils/mb/mbutils.c:843 +#, c-format +msgid "String of %d bytes is too long for encoding conversion." +msgstr "%d바이트의 문자열은 너무 길어서 인코딩 규칙에 맞지 않습니다." + +#: utils/mb/mbutils.c:569 +#, c-format +msgid "invalid source encoding name \"%s\"" +msgstr "\"%s\" 원본 인코딩 이름이 타당치 못함" + +#: utils/mb/mbutils.c:574 +#, c-format +msgid "invalid destination encoding name \"%s\"" +msgstr "\"%s\" 대상 인코딩 이름이 타당치 못함" + +#: utils/mb/mbutils.c:714 +#, c-format +msgid "invalid byte value for encoding \"%s\": 0x%02x" +msgstr "\"%s\" 인코딩에서 사용할 수 없는 바이트: 0x%02x" + +#: utils/mb/mbutils.c:878 +#, c-format +msgid "invalid Unicode code point" +msgstr "잘못된 유니코드 코드 포인트" + +#: utils/mb/mbutils.c:1204 +#, c-format +msgid "bind_textdomain_codeset failed" +msgstr "bind_textdomain_codeset 실패" + +#: utils/mb/mbutils.c:1725 +#, c-format +msgid "invalid byte sequence for encoding \"%s\": %s" +msgstr "\"%s\" 인코딩에서 사용할 수 없는 문자가 있음: %s" + +#: utils/mb/mbutils.c:1758 +#, c-format +msgid "" +"character with byte sequence %s in encoding \"%s\" has no equivalent in " +"encoding \"%s\"" +msgstr "" +"%s 바이트로 조합된 문자(인코딩: \"%s\")와 대응되는 문자 코드가 \"%s\" 인코딩" +"에는 없습니다" + +#: utils/misc/conffiles.c:88 +#, c-format +msgid "empty configuration directory name: \"%s\"" +msgstr "비어 있는 환경 설정 디렉터리 이름: \"%s\"" + +#: utils/misc/conffiles.c:100 #, c-format +msgid "could not open configuration directory \"%s\": %m" +msgstr "\"%s\" 환경 설정 디렉터리를 열 수 없습니다: %m" + +#: utils/misc/guc.c:115 msgid "" -"replication connection authorized: user=%s SSL enabled (protocol=%s, cipher=" -"%s, bits=%d, compression=%s)" +"Valid units for this parameter are \"B\", \"kB\", \"MB\", \"GB\", and \"TB\"." +msgstr "" +"이 매개 변수에 유효한 단위는 \"B\", \"kB\", \"MB\",\"GB\", \"TB\" 입니다." + +#: utils/misc/guc.c:152 +msgid "" +"Valid units for this parameter are \"us\", \"ms\", \"s\", \"min\", \"h\", " +"and \"d\"." msgstr "" -"복제 연결 인증: 사용자=%s SSL 활성화 (프로토콜=%s, 알고리즘=%s, 비트=%d, 압축" -"=%s)" +"이 매개 변수에 유효한 단위는 \"us\", \"ms\", \"s\", \"min\", \"h\", \"d\" 입" +"니다." + +#: utils/misc/guc.c:421 +#, c-format +msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %d" +msgstr "알 수 없는 환경 매개 변수 이름 \"%s\", 해당 파일: \"%s\", 줄번호: %d" + +#: utils/misc/guc.c:461 utils/misc/guc.c: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 +#, c-format +msgid "parameter \"%s\" cannot be changed without restarting the server" +msgstr "\"%s\" 매개 변수는 서버 재실행 없이 지금 변경 될 수 없음" -#: utils/init/postinit.c:272 +#: utils/misc/guc.c:497 #, c-format -msgid "replication connection authorized: user=%s application_name=%s" -msgstr "복제 연결 인증: 사용자=%s application_name=%s" +msgid "parameter \"%s\" removed from configuration file, reset to default" +msgstr "환경설정 파일에 \"%s\" 매개 변수가 빠졌음, 초기값을 사용함" -#: utils/init/postinit.c:275 +#: utils/misc/guc.c:562 #, c-format -msgid "replication connection authorized: user=%s" -msgstr "복제 연결 인증: 사용자=%s" +msgid "parameter \"%s\" changed to \"%s\"" +msgstr "\"%s\" 매개 변수 값을 \"%s\"(으)로 바꿨음" -#: utils/init/postinit.c:284 +#: utils/misc/guc.c:604 #, c-format -msgid "" -"connection authorized: user=%s database=%s application_name=%s SSL enabled " -"(protocol=%s, cipher=%s, bits=%d, compression=%s)" -msgstr "" -"연결 인증: 사용자=%s 데이터베이스=%s application_name=%s SSL 활성화 (프로토콜" -"=%s, 알고리즘=%s, 비트=%d, 압축=%s)" +msgid "configuration file \"%s\" contains errors" +msgstr "\"%s\" 환경 설정파일에 오류가 있음" -#: utils/init/postinit.c:290 +#: utils/misc/guc.c:609 #, c-format msgid "" -"connection authorized: user=%s database=%s SSL enabled (protocol=%s, cipher=" -"%s, bits=%d, compression=%s)" -msgstr "" -"연결 인증: 사용자=%s 데이터베이스=%s SSL 활성화 (프로토콜=%s, 알고리즘=%s, 비" -"트=%d, 압축=%s)" +"configuration file \"%s\" contains errors; unaffected changes were applied" +msgstr "\"%s\" 환경 설정 파일에 오류가 있어 새로 변경될 설정이 없습니다" -#: utils/init/postinit.c:300 +#: utils/misc/guc.c:614 #, c-format -msgid "connection authorized: user=%s database=%s application_name=%s" -msgstr "연결 인증: 사용자=%s 데이터베이스=%s application_name=%s" +msgid "configuration file \"%s\" contains errors; no changes were applied" +msgstr "\"%s\" 환경 설정 파일에 오류가 있어 아무 설정도 반영되지 않았습니다." -#: utils/init/postinit.c:302 +#: utils/misc/guc.c:1211 utils/misc/guc.c:1227 #, c-format -msgid "connection authorized: user=%s database=%s" -msgstr "연결 인증: 사용자=%s 데이터베이스=%s" +msgid "invalid configuration parameter name \"%s\"" +msgstr "알 수 없는 환경 매개 변수 이름 \"%s\"" -#: utils/init/postinit.c:334 +#: utils/misc/guc.c:1213 #, c-format -msgid "database \"%s\" has disappeared from pg_database" -msgstr "\"%s\" 데이터베이스는 pg_database 항목에 없습니다" +msgid "" +"Custom parameter names must be two or more simple identifiers separated by " +"dots." +msgstr "" +"사용자 정의 환경 설정 변수 이름은 두 글자 이상의 식별자 이름과 점(.)을 구분자" +"로 하는 이름이어야 합니다." -#: utils/init/postinit.c:336 +#: utils/misc/guc.c:1229 #, c-format -msgid "Database OID %u now seems to belong to \"%s\"." -msgstr "데이터베이스 OID %u이(가) 현재 \"%s\"에 속해 있는 것 같습니다." +msgid "\"%s\" is a reserved prefix." +msgstr "\"%s\" 이름은 예약된 접두사입니다." -#: utils/init/postinit.c:356 +#: utils/misc/guc.c:1243 #, c-format -msgid "database \"%s\" is not currently accepting connections" -msgstr "\"%s\" 데이터베이스는 현재 접속을 허용하지 않습니다" +msgid "unrecognized configuration parameter \"%s\"" +msgstr "알 수 없는 환경 매개 변수 이름: \"%s\"" -#: utils/init/postinit.c:369 +#: utils/misc/guc.c:1765 #, c-format -msgid "permission denied for database \"%s\"" -msgstr "\"%s\" 데이터베이스 액세스 권한 없음" +msgid "%s: could not access directory \"%s\": %s\n" +msgstr "%s: \"%s\" 디렉터리에 액세스할 수 없음: %s\n" -#: utils/init/postinit.c:370 +#: utils/misc/guc.c:1770 #, c-format -msgid "User does not have CONNECT privilege." -msgstr "사용자에게 CONNECT 권한이 없습니다." +msgid "" +"Run initdb or pg_basebackup to initialize a PostgreSQL data directory.\n" +msgstr "" +"initdb 명령이나, pg_basebackup 명령으로 PostgreSQL 데이터 디렉터리를 초기화 " +"하세요.\n" -#: utils/init/postinit.c:387 +#: utils/misc/guc.c:1794 #, c-format -msgid "too many connections for database \"%s\"" -msgstr "\"%s\" 데이터베이스 최대 접속수를 초과했습니다" +msgid "" +"%s does not know where to find the server configuration file.\n" +"You must specify the --config-file or -D invocation option or set the PGDATA " +"environment variable.\n" +msgstr "" +"%s 프로그램은 데이터베이스 시스템 환경 설정 파일을 찾지 못했습니다.\n" +"직접 --config-file 또는 -D 옵션을 이용해서 데이터 디렉터리를 지정하든지,\n" +"PGDATA 이름의 환경 변수를 만들고 그 값으로 해당 디렉터리를 지정한 뒤,\n" +"이 프로그램을 다시 실행해 보십시오.\n" -#: utils/init/postinit.c:409 utils/init/postinit.c:416 +#: utils/misc/guc.c:1817 #, c-format -msgid "database locale is incompatible with operating system" -msgstr "데이터베이스 로케일이 운영 체제와 호환되지 않음" +msgid "%s: could not access the server configuration file \"%s\": %s\n" +msgstr "%s: \"%s\" 환경 설정 파일을 접근할 수 없습니다: %s\n" -#: utils/init/postinit.c:410 +#: utils/misc/guc.c:1845 #, c-format msgid "" -"The database was initialized with LC_COLLATE \"%s\", which is not " -"recognized by setlocale()." +"%s does not know where to find the database system data.\n" +"This can be specified as \"data_directory\" in \"%s\", or by the -D " +"invocation option, or by the PGDATA environment variable.\n" msgstr "" -"데이터베이스가 setlocale()에서 인식할 수 없는 LC_COLLATE \"%s\"(으)로 초기화" -"되었습니다." +"%s 프로그램은 데이터베이스 시스템 데이터 디렉터리를 찾지 못했습니다.\n" +"\"%s\" 파일에서 \"data_directory\" 값을 지정하든지,\n" +"직접 -D 옵션을 이용해서 데이터 디렉터리를 지정하든지,\n" +"PGDATA 이름의 환경 변수를 만들고 그 값으로 해당 디렉터리를 지정한 뒤,\n" +"이 프로그램을 다시 실행해 보십시오.\n" -#: utils/init/postinit.c:412 utils/init/postinit.c:419 +#: utils/misc/guc.c:1897 #, c-format msgid "" -"Recreate the database with another locale or install the missing locale." +"%s does not know where to find the \"hba\" configuration file.\n" +"This can be specified as \"hba_file\" in \"%s\", or by the -D invocation " +"option, or by the PGDATA environment variable.\n" msgstr "" -"다른 로케일로 데이터베이스를 다시 만들거나 누락된 로케일을 설치하십시오." +"%s 프로그램은 \"hba\" 환경설정파일을 찾지 못했습니다.\n" +"\"%s\" 파일에서 \"hba_file\" 값을 지정하든지,\n" +"직접 -D 옵션을 이용해서 데이터 디렉터리를 지정하든지,\n" +"PGDATA 이름의 환경 변수를 만들고 그 값으로 해당 디렉터리를 지정한 뒤,\n" +"이 프로그램을 다시 실행해 보십시오.\n" -#: utils/init/postinit.c:417 +#: utils/misc/guc.c:1928 #, c-format msgid "" -"The database was initialized with LC_CTYPE \"%s\", which is not recognized " -"by setlocale()." +"%s does not know where to find the \"ident\" configuration file.\n" +"This can be specified as \"ident_file\" in \"%s\", or by the -D invocation " +"option, or by the PGDATA environment variable.\n" msgstr "" -"setlocale()에서 인식할 수 없는 \"%s\" LC_CTYPE 값으로 데이터베이스가 초기화되" -"었습니다." +"%s 프로그램은 \"ident\" 환경설정파일을 찾지 못했습니다.\n" +"\"%s\" 파일에서 \"ident_file\" 값을 지정하든지,\n" +"직접 -D 옵션을 이용해서 데이터 디렉터리를 지정하든지,\n" +"PGDATA 이름의 환경 변수를 만들고 그 값으로 해당 디렉터리를 지정한 뒤,\n" +"이 프로그램을 다시 실행해 보십시오.\n" + +#: utils/misc/guc.c:2894 +msgid "Value exceeds integer range." +msgstr "값이 정수 범위를 초과합니다." -#: utils/init/postinit.c:762 +#: utils/misc/guc.c:3130 #, c-format -msgid "no roles are defined in this database system" -msgstr "이 데이터베이스에는 어떠한 롤 정의도 없습니다" +msgid "%d%s%s is outside the valid range for parameter \"%s\" (%d .. %d)" +msgstr "%d%s%s 값은 \"%s\" 매개 변수의 값으로 타당한 범위(%d .. %d)를 벗어남" -#: utils/init/postinit.c:763 +#: utils/misc/guc.c:3166 #, c-format -msgid "You should immediately run CREATE USER \"%s\" SUPERUSER;." -msgstr "다음 명령을 먼저 실행하십시오: CREATE USER \"%s\" SUPERUSER;." +msgid "%g%s%s is outside the valid range for parameter \"%s\" (%g .. %g)" +msgstr "%g%s%s 값은 \"%s\" 매개 변수의 값으로 타당한 범위(%g .. %g)를 벗어남" -#: utils/init/postinit.c:799 +#: utils/misc/guc.c:3366 utils/misc/guc_funcs.c:54 #, c-format -msgid "new replication connections are not allowed during database shutdown" -msgstr "데이터베이스 중지 중에는 새로운 복제 연결을 할 수 없습니다." +msgid "cannot set parameters during a parallel operation" +msgstr "병렬 작업 중에는 매개 변수를 설정할 수 없음" -#: utils/init/postinit.c:803 +#: utils/misc/guc.c:3383 utils/misc/guc.c:4530 #, c-format -msgid "must be superuser to connect during database shutdown" -msgstr "슈퍼유저만 데이터베이스 종료 중에 연결할 수 있음" +msgid "parameter \"%s\" cannot be changed" +msgstr "\"%s\" 매개 변수는 변경될 수 없음" -#: utils/init/postinit.c:813 +#: utils/misc/guc.c:3416 #, c-format -msgid "must be superuser to connect in binary upgrade mode" -msgstr "슈퍼유저만 바이너리 업그레이드 모드 중에 연결 할 수 있음" +msgid "parameter \"%s\" cannot be changed now" +msgstr "\"%s\" 매개 변수는 지금 변경 될 수 없음" -#: utils/init/postinit.c:826 +#: utils/misc/guc.c:3443 utils/misc/guc.c:3501 utils/misc/guc.c:4506 +#: utils/misc/guc.c:6546 #, c-format -msgid "" -"remaining connection slots are reserved for non-replication superuser " -"connections" -msgstr "남은 연결 슬롯은 non-replication 슈퍼유저 연결용으로 남겨 놓았음" +msgid "permission denied to set parameter \"%s\"" +msgstr "\"%s\" 매개 변수를 지정할 권한이 없습니다." -#: utils/init/postinit.c:836 +#: utils/misc/guc.c:3481 #, c-format -msgid "must be superuser or replication role to start walsender" -msgstr "" -"superuser 또는 replication 권한을 가진 롤만 walsender 프로세스를 시작할 수 있" -"음" +msgid "parameter \"%s\" cannot be set after connection start" +msgstr "\"%s\" 매개 변수값은 연결 시작한 뒤에는 변경할 수 없습니다" -#: utils/init/postinit.c:905 +#: utils/misc/guc.c:3540 #, c-format -msgid "database %u does not exist" -msgstr "%u 데이터베이스가 없음" +msgid "cannot set parameter \"%s\" within security-definer function" +msgstr "보안 정의자 함수 내에서 \"%s\" 매개 변수를 설정할 수 없음" -#: utils/init/postinit.c:994 +#: utils/misc/guc.c:3561 #, c-format -msgid "It seems to have just been dropped or renamed." -msgstr "삭제되었거나 이름이 바뀐 것 같습니다." +msgid "parameter \"%s\" cannot be reset" +msgstr "\"%s\" 매개 변수는 리셋할 수 없음" -#: utils/init/postinit.c:1012 +#: utils/misc/guc.c:3568 #, c-format -msgid "The database subdirectory \"%s\" is missing." -msgstr "데이터베이스 디렉터리에 \"%s\" 하위 디렉터리가 없습니다" +msgid "parameter \"%s\" cannot be set locally in functions" +msgstr "\"%s\" 매개 변수값은 함수 안에서 지역적으로 지정할 수 없습니다" -#: utils/init/postinit.c:1017 +#: utils/misc/guc.c:4212 utils/misc/guc.c:4259 utils/misc/guc.c:5266 #, c-format -msgid "could not access directory \"%s\": %m" -msgstr "\"%s\" 디렉터리를 액세스할 수 없습니다: %m" +msgid "permission denied to examine \"%s\"" +msgstr "\"%s\" 검사 권한 없음" -#: utils/mb/conv.c:443 utils/mb/conv.c:635 +#: utils/misc/guc.c:4213 utils/misc/guc.c:4260 utils/misc/guc.c:5267 #, c-format -msgid "invalid encoding number: %d" -msgstr "잘못된 인코딩 번호: %d" +msgid "" +"Only roles with privileges of the \"%s\" role may examine this parameter." +msgstr "이 매개 변수의 검사는 \"%s\" 롤 권한이 있는 롤만 할 수 있습니다." -#: utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:122 -#: utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:154 +#: utils/misc/guc.c:4496 #, c-format -msgid "unexpected encoding ID %d for ISO 8859 character sets" -msgstr "%d은(는) ISO 8859 문자 집합에 대한 예기치 않은 인코딩 ID임" +msgid "permission denied to perform ALTER SYSTEM RESET ALL" +msgstr "ALTER SYSTEM RESET ALL 실행 권한 없음" -#: utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:103 -#: utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:135 +#: utils/misc/guc.c:4562 #, c-format -msgid "unexpected encoding ID %d for WIN character sets" -msgstr "%d은(는) WIN 문자 집합에 대한 예기치 않은 인코딩 ID임" +msgid "parameter value for ALTER SYSTEM must not contain a newline" +msgstr "" +"ALTER SYSTEM 명령으로 지정하는 매개 변수 값에는 줄바꿈 문자가 없어야 합니다" -#: utils/mb/mbutils.c:297 utils/mb/mbutils.c:842 +#: utils/misc/guc.c:4608 #, c-format -msgid "conversion between %s and %s is not supported" -msgstr "%s 인코딩과 %s 인코딩 사이의 변환은 지원하지 않습니다" +msgid "could not parse contents of file \"%s\"" +msgstr "\"%s\" 파일의 내용을 분석할 수 없음" -#: utils/mb/mbutils.c:385 +#: utils/misc/guc.c:4790 #, c-format -msgid "" -"default conversion function for encoding \"%s\" to \"%s\" does not exist" -msgstr "" -"\"%s\" 인코딩을 \"%s\" 인코딩으로 변환할 기본 변환규칙(conversion)이 없음" +msgid "attempt to redefine parameter \"%s\"" +msgstr "\"%s\" 매개 변수를 다시 정의하려고 함" -#: utils/mb/mbutils.c:402 utils/mb/mbutils.c:429 utils/mb/mbutils.c:758 -#: utils/mb/mbutils.c:784 +#: utils/misc/guc.c:5129 #, c-format -msgid "String of %d bytes is too long for encoding conversion." -msgstr "%d바이트의 문자열은 너무 길어서 인코딩 규칙에 맞지 않습니다." +msgid "invalid configuration parameter name \"%s\", removing it" +msgstr "알 수 없는 환경 매개 변수 이름 \"%s\", 이 설정은 지웁니다." -#: utils/mb/mbutils.c:511 +#: utils/misc/guc.c:5131 #, c-format -msgid "invalid source encoding name \"%s\"" -msgstr "\"%s\" 원본 인코딩 이름이 타당치 못함" +msgid "\"%s\" is now a reserved prefix." +msgstr "\"%s\" 이름은 현재 예약된 접두사입니다." -#: utils/mb/mbutils.c:516 +#: utils/misc/guc.c:6000 #, c-format -msgid "invalid destination encoding name \"%s\"" -msgstr "\"%s\" 대상 인코딩 이름이 타당치 못함" +msgid "while setting parameter \"%s\" to \"%s\"" +msgstr "\"%s\" 매개 변수 값을 \"%s\" (으)로 바꾸는 중" -#: utils/mb/mbutils.c:656 +#: utils/misc/guc.c:6169 #, c-format -msgid "invalid byte value for encoding \"%s\": 0x%02x" -msgstr "\"%s\" 인코딩에서 사용할 수 없는 바이트: 0x%02x" +msgid "parameter \"%s\" could not be set" +msgstr "\"%s\" 매개 변수는 설정할 수 없음" -#: utils/mb/mbutils.c:819 +#: utils/misc/guc.c:6259 #, c-format -msgid "invalid Unicode code point" -msgstr "잘못된 유니코드 코드 포인트" +msgid "could not parse setting for parameter \"%s\"" +msgstr "지정한 \"%s\" 매개 변수값의 구문분석을 실패했습니다." -#: utils/mb/mbutils.c:1087 +#: utils/misc/guc.c:6678 #, c-format -msgid "bind_textdomain_codeset failed" -msgstr "bind_textdomain_codeset 실패" +msgid "invalid value for parameter \"%s\": %g" +msgstr "잘못된 \"%s\" 매개 변수의 값: %g" -#: utils/mb/mbutils.c:1595 +#: utils/misc/guc_funcs.c:130 #, c-format -msgid "invalid byte sequence for encoding \"%s\": %s" -msgstr "\"%s\" 인코딩에서 사용할 수 없는 문자가 있음: %s" +msgid "SET LOCAL TRANSACTION SNAPSHOT is not implemented" +msgstr "SET LOCAL TRANSACTION SNAPSHOT 명령은 아직 구현 되지 않았습니다" -#: utils/mb/mbutils.c:1628 +#: utils/misc/guc_funcs.c:218 #, c-format -msgid "" -"character with byte sequence %s in encoding \"%s\" has no equivalent in " -"encoding \"%s\"" -msgstr "" -"%s 바이트로 조합된 문자(인코딩: \"%s\")와 대응되는 문자 코드가 \"%s\" 인코딩" -"에는 없습니다" +msgid "SET %s takes only one argument" +msgstr "SET %s 명령은 하나의 값만 지정해야 합니다" + +#: utils/misc/guc_funcs.c:342 +#, c-format +msgid "SET requires parameter name" +msgstr "SET 명령은 매개 변수 이름이 필요합니다" -#: utils/misc/guc.c:679 +#: utils/misc/guc_tables.c:662 msgid "Ungrouped" msgstr "소속그룹없음" -#: utils/misc/guc.c:681 +#: utils/misc/guc_tables.c:664 msgid "File Locations" msgstr "파일 위치" -#: utils/misc/guc.c:683 -msgid "Connections and Authentication" -msgstr "연결과 인증" - -#: utils/misc/guc.c:685 +#: utils/misc/guc_tables.c:666 msgid "Connections and Authentication / Connection Settings" -msgstr "연결과 인증 / 연결 설정값" +msgstr "연결과 인증 / 연결 설정" -#: utils/misc/guc.c:687 +#: utils/misc/guc_tables.c:668 +msgid "Connections and Authentication / TCP Settings" +msgstr "연결과 인증 / TCP 설정" + +#: utils/misc/guc_tables.c:670 msgid "Connections and Authentication / Authentication" msgstr "연결과 인증 / 인증" -#: utils/misc/guc.c:689 +#: utils/misc/guc_tables.c:672 msgid "Connections and Authentication / SSL" msgstr "연결과 인증 / SSL" -#: utils/misc/guc.c:691 -msgid "Resource Usage" -msgstr "자원 사용량" - -#: utils/misc/guc.c:693 +#: utils/misc/guc_tables.c:674 msgid "Resource Usage / Memory" msgstr "자원 사용량 / 메모리" -#: utils/misc/guc.c:695 +#: utils/misc/guc_tables.c:676 msgid "Resource Usage / Disk" msgstr "자원 사용량 / 디스크" -#: utils/misc/guc.c:697 +#: utils/misc/guc_tables.c:678 msgid "Resource Usage / Kernel Resources" msgstr "자원 사용량 / 커널 자원" -#: utils/misc/guc.c:699 +#: utils/misc/guc_tables.c:680 msgid "Resource Usage / Cost-Based Vacuum Delay" msgstr "자원 사용량 / 비용기반 청소 지연" -#: utils/misc/guc.c:701 +#: utils/misc/guc_tables.c:682 msgid "Resource Usage / Background Writer" msgstr "자원 사용량 / 백그라운드 쓰기" -#: utils/misc/guc.c:703 +#: utils/misc/guc_tables.c:684 msgid "Resource Usage / Asynchronous Behavior" msgstr "자원 사용량 / 비동기 기능" -#: utils/misc/guc.c:705 -msgid "Write-Ahead Log" -msgstr "Write-Ahead 로그" - -#: utils/misc/guc.c:707 +#: utils/misc/guc_tables.c:686 msgid "Write-Ahead Log / Settings" msgstr "Write-Ahead 로그 / 설정값" -#: utils/misc/guc.c:709 +#: utils/misc/guc_tables.c:688 msgid "Write-Ahead Log / Checkpoints" msgstr "Write-Ahead 로그 / 체크포인트" -#: utils/misc/guc.c:711 +#: utils/misc/guc_tables.c:690 msgid "Write-Ahead Log / Archiving" msgstr "Write-Ahead 로그 / 아카이브" -#: utils/misc/guc.c:713 +#: utils/misc/guc_tables.c:692 +msgid "Write-Ahead Log / Recovery" +msgstr "Write-Ahead 로그 / 복구" + +#: utils/misc/guc_tables.c:694 msgid "Write-Ahead Log / Archive Recovery" msgstr "Write-Ahead 로그 / 아카이브 복구" -#: utils/misc/guc.c:715 +#: utils/misc/guc_tables.c:696 msgid "Write-Ahead Log / Recovery Target" msgstr "Write-Ahead 로그 / 복구 대상" -#: utils/misc/guc.c:717 -msgid "Replication" -msgstr "복제" - -#: utils/misc/guc.c:719 +#: utils/misc/guc_tables.c:698 msgid "Replication / Sending Servers" msgstr "복제 / 보내기 서버" -#: utils/misc/guc.c:721 -msgid "Replication / Master Server" +#: utils/misc/guc_tables.c:700 +msgid "Replication / Primary Server" msgstr "복제 / 주 서버" -#: utils/misc/guc.c:723 +#: utils/misc/guc_tables.c:702 msgid "Replication / Standby Servers" msgstr "복제 / 대기 서버" -#: utils/misc/guc.c:725 +#: utils/misc/guc_tables.c:704 msgid "Replication / Subscribers" msgstr "복제 / 구독" -#: utils/misc/guc.c:727 -msgid "Query Tuning" -msgstr "쿼리 튜닝" - -#: utils/misc/guc.c:729 +#: utils/misc/guc_tables.c:706 msgid "Query Tuning / Planner Method Configuration" msgstr "쿼리 튜닝 / 실행계획기 메서드 설정" -#: utils/misc/guc.c:731 +#: utils/misc/guc_tables.c:708 msgid "Query Tuning / Planner Cost Constants" msgstr "쿼리 튜닝 / 실행계획기 비용 상수" -#: utils/misc/guc.c:733 +#: utils/misc/guc_tables.c:710 msgid "Query Tuning / Genetic Query Optimizer" msgstr "쿼리 튜닝 / 일반적인 쿼리 최적화기" -#: utils/misc/guc.c:735 +#: utils/misc/guc_tables.c:712 msgid "Query Tuning / Other Planner Options" msgstr "쿼리 튜닝 / 기타 실행계획기 옵션들" -#: utils/misc/guc.c:737 -msgid "Reporting and Logging" -msgstr "보고와 로그" - -#: utils/misc/guc.c:739 +#: utils/misc/guc_tables.c:714 msgid "Reporting and Logging / Where to Log" msgstr "보고와 로그 / 로그 위치" -#: utils/misc/guc.c:741 +#: utils/misc/guc_tables.c:716 msgid "Reporting and Logging / When to Log" msgstr "보고와 로그 / 로그 시점" -#: utils/misc/guc.c:743 +#: utils/misc/guc_tables.c:718 msgid "Reporting and Logging / What to Log" msgstr "보고와 로그 / 로그 내용" -#: utils/misc/guc.c:745 -msgid "Process Title" -msgstr "프로세스 제목" - -#: utils/misc/guc.c:747 -msgid "Statistics" -msgstr "통계" +#: utils/misc/guc_tables.c:720 +msgid "Reporting and Logging / Process Title" +msgstr "보고와 로그 / 프로세스 타이틀" -#: utils/misc/guc.c:749 +#: utils/misc/guc_tables.c:722 msgid "Statistics / Monitoring" msgstr "통계 / 모니터링" -#: utils/misc/guc.c:751 -msgid "Statistics / Query and Index Statistics Collector" -msgstr "통계 / 쿼리 및 인덱스 사용 통계 수집기" +#: utils/misc/guc_tables.c:724 +msgid "Statistics / Cumulative Query and Index Statistics" +msgstr "통계 / 쿼리 및 인덱스 누적 통계" -#: utils/misc/guc.c:753 +#: utils/misc/guc_tables.c:726 msgid "Autovacuum" msgstr "Autovacuum" -#: utils/misc/guc.c:755 -msgid "Client Connection Defaults" -msgstr "클라이언트 연결 초기값" - -#: utils/misc/guc.c:757 +#: utils/misc/guc_tables.c:728 msgid "Client Connection Defaults / Statement Behavior" msgstr "클라이언트 연결 초기값 / 구문 특성" -#: utils/misc/guc.c:759 +#: utils/misc/guc_tables.c:730 msgid "Client Connection Defaults / Locale and Formatting" msgstr "클라이언트 연결 초기값 / 로케일과 출력양식" -#: utils/misc/guc.c:761 +#: utils/misc/guc_tables.c:732 msgid "Client Connection Defaults / Shared Library Preloading" msgstr "클라이언트 연결 초기값 / 공유 라이브러리 미리 로딩" -#: utils/misc/guc.c:763 +#: utils/misc/guc_tables.c:734 msgid "Client Connection Defaults / Other Defaults" msgstr "클라이언트 연결 초기값 / 기타 초기값" -#: utils/misc/guc.c:765 +#: utils/misc/guc_tables.c:736 msgid "Lock Management" msgstr "잠금 관리" -#: utils/misc/guc.c:767 -msgid "Version and Platform Compatibility" -msgstr "버전과 플랫폼 호환성" - -#: utils/misc/guc.c:769 +#: utils/misc/guc_tables.c:738 msgid "Version and Platform Compatibility / Previous PostgreSQL Versions" msgstr "버전과 플랫폼 호환성 / 이전 PostgreSQL 버전" -#: utils/misc/guc.c:771 +#: utils/misc/guc_tables.c:740 msgid "Version and Platform Compatibility / Other Platforms and Clients" msgstr "버전과 플랫폼 호환성 / 다른 플랫폼과 클라이언트" -#: utils/misc/guc.c:773 +#: utils/misc/guc_tables.c:742 msgid "Error Handling" msgstr "오류 처리" -#: utils/misc/guc.c:775 +#: utils/misc/guc_tables.c:744 msgid "Preset Options" msgstr "프리셋 옵션들" -#: utils/misc/guc.c:777 +#: utils/misc/guc_tables.c:746 msgid "Customized Options" msgstr "사용자 정의 옵션들" -#: utils/misc/guc.c:779 +#: utils/misc/guc_tables.c:748 msgid "Developer Options" msgstr "개발자 옵션들" -#: utils/misc/guc.c:837 -msgid "" -"Valid units for this parameter are \"B\", \"kB\", \"MB\", \"GB\", and \"TB\"." -msgstr "" -"이 매개 변수에 유효한 단위는 \"B\", \"kB\", \"MB\",\"GB\", \"TB\" 입니다." - -#: utils/misc/guc.c:874 -msgid "" -"Valid units for this parameter are \"us\", \"ms\", \"s\", \"min\", \"h\", " -"and \"d\"." -msgstr "" -"이 매개 변수에 유효한 단위는 \"us\", \"ms\", \"s\", \"min\", \"h\", \"d\" 입" -"니다." - -#: utils/misc/guc.c:936 +#: utils/misc/guc_tables.c:805 msgid "Enables the planner's use of sequential-scan plans." msgstr "실행계획자가 순차적-스캔(sequential-sca) 계획을 사용함" -#: utils/misc/guc.c:946 +#: utils/misc/guc_tables.c:815 msgid "Enables the planner's use of index-scan plans." msgstr "실행계획자가 인덱스-스캔 계획을 사용함." -#: utils/misc/guc.c:956 +#: utils/misc/guc_tables.c:825 msgid "Enables the planner's use of index-only-scan plans." msgstr "실행계획자가 인덱스-전용-탐색 계획을 사용함." -#: utils/misc/guc.c:966 +#: utils/misc/guc_tables.c:835 msgid "Enables the planner's use of bitmap-scan plans." msgstr "실행계획기가 bitmap-scan 계획을 사용하도록 함" -#: utils/misc/guc.c:976 +#: utils/misc/guc_tables.c:845 msgid "Enables the planner's use of TID scan plans." msgstr "실행계획자가 TID 스캔 계획을 사용함" -#: utils/misc/guc.c:986 +#: utils/misc/guc_tables.c:855 msgid "Enables the planner's use of explicit sort steps." msgstr "실행계획자가 명시 정렬 단계(explicit sort step)를 사용함" -#: utils/misc/guc.c:996 +#: utils/misc/guc_tables.c:865 msgid "Enables the planner's use of incremental sort steps." msgstr "실행계획자가 증분 정렬 단계(incremental sort step)를 사용함" -#: utils/misc/guc.c:1005 +#: utils/misc/guc_tables.c:875 msgid "Enables the planner's use of hashed aggregation plans." msgstr "실행계획자가 해시된 집계 계획을 사용함" -#: utils/misc/guc.c:1015 +#: utils/misc/guc_tables.c:885 msgid "Enables the planner's use of materialization." msgstr "실행계획자가 materialization 계획을 사용함" -#: utils/misc/guc.c:1025 +#: utils/misc/guc_tables.c:895 +msgid "Enables the planner's use of memoization." +msgstr "실행계획자가 memoization 계획을 사용함" + +#: utils/misc/guc_tables.c:905 msgid "Enables the planner's use of nested-loop join plans." msgstr "실행계획자가 근접순환 조인(nested-loop join) 계획을 사용함" -#: utils/misc/guc.c:1035 +#: utils/misc/guc_tables.c:915 msgid "Enables the planner's use of merge join plans." msgstr "실행계획자가 병합 조인(merge join) 계획을 사용함" -#: utils/misc/guc.c:1045 +#: utils/misc/guc_tables.c:925 msgid "Enables the planner's use of hash join plans." msgstr "실행계획자가 해시 조인(hash join) 계획을 사용함" -#: utils/misc/guc.c:1055 +#: utils/misc/guc_tables.c:935 msgid "Enables the planner's use of gather merge plans." msgstr "실행계획자가 병합 수집(gather merge) 계획을 사용함" -#: utils/misc/guc.c:1065 +#: utils/misc/guc_tables.c:945 msgid "Enables partitionwise join." -msgstr "" +msgstr "partitionwise join 활성화" -#: utils/misc/guc.c:1075 +#: utils/misc/guc_tables.c:955 msgid "Enables partitionwise aggregation and grouping." -msgstr "" +msgstr "partitionwise 집계 및 그룹핑 활성화" -#: utils/misc/guc.c:1085 +#: utils/misc/guc_tables.c:965 msgid "Enables the planner's use of parallel append plans." msgstr "실행계획자가 병렬 추가 계획을 사용함" -#: utils/misc/guc.c:1095 +#: utils/misc/guc_tables.c:975 msgid "Enables the planner's use of parallel hash plans." msgstr "실행계획자가 병렬 해시 계획을 사용함" -#: utils/misc/guc.c:1105 -msgid "Enables plan-time and run-time partition pruning." -msgstr "" +#: utils/misc/guc_tables.c:985 +msgid "Enables plan-time and execution-time partition pruning." +msgstr "파티션 프루닝 계획수립 및 실행 시간 활성화" -#: utils/misc/guc.c:1106 +#: 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 "" +"쿼리 실행 계획기와 실행기가 조회해야할 파티션들이 어떤 것들인지 쿼리에서 범위" +"를 판단하는 것을 허용함" -#: utils/misc/guc.c:1117 +#: 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 "" +"ORDER BY / DISTINCT 집계 함수 처리를 위해 미리 정렬된 입력을 제공하는 계획을 " +"생성하는 실행 계획기 기능을 활성화함" + +#: 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 "" +"쿼리 실행 계획기가 ORDER BY / DISTINCT 절을 사용하여 집계 함수를 쓸 때 미리 " +"정렬된 입력을 제공하는 계획을 작성할 수 있습니다. 비활성화하면 쿼리 실행 중" +"에 암묵적인 정렬을 항상 합니다." + +#: utils/misc/guc_tables.c:1012 +msgid "Enables the planner's use of async append plans." +msgstr "실행계획자가 비동기 추가 계획을 사용함" + +#: utils/misc/guc_tables.c:1022 msgid "Enables genetic query optimization." msgstr "유전적 쿼리 최적화(GEQO)를 사용함" -#: utils/misc/guc.c:1118 +#: utils/misc/guc_tables.c:1023 msgid "This algorithm attempts to do planning without exhaustive searching." msgstr "이 알고리즘은 실행계획기의 과도한 작업 비용을 낮춥니다" -#: utils/misc/guc.c:1129 +#: utils/misc/guc_tables.c:1034 msgid "Shows whether the current user is a superuser." msgstr "현재 사용자가 슈퍼유저인지 보여줍니다." -#: utils/misc/guc.c:1139 +#: utils/misc/guc_tables.c:1044 msgid "Enables advertising the server via Bonjour." msgstr "Bonjour 서버 사용" -#: utils/misc/guc.c:1148 +#: utils/misc/guc_tables.c:1053 msgid "Collects transaction commit time." msgstr "트랜잭션 커밋 시간을 수집함" -#: utils/misc/guc.c:1157 +#: utils/misc/guc_tables.c:1062 msgid "Enables SSL connections." msgstr "SSL 연결을 가능하게 함." -#: utils/misc/guc.c:1166 -msgid "Also use ssl_passphrase_command during server reload." +#: utils/misc/guc_tables.c:1071 +msgid "Controls whether ssl_passphrase_command is called during server reload." msgstr "" +"서버 reload 작업 중 ssl_passphrase_command 로 지정한 명령을 실행 할 것인지를 " +"제어함." -#: utils/misc/guc.c:1175 +#: utils/misc/guc_tables.c:1080 msgid "Give priority to server ciphersuite order." msgstr "SSL 인증 알고리즘 우선 순위를 정함" -#: utils/misc/guc.c:1184 +#: utils/misc/guc_tables.c:1089 msgid "Forces synchronization of updates to disk." msgstr "강제로 변경된 버퍼 자료를 디스크와 동기화 시킴." -#: utils/misc/guc.c:1185 +#: 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 insures that a database " @@ -26472,11 +29598,11 @@ msgstr "" "스템의 비정상적인 동작이나, 하드웨어에서 오류가 발생되었을 경우에도 자료를 안" "전하게 지킬 수 있도록 도와줄 것입니다." -#: utils/misc/guc.c:1196 +#: utils/misc/guc_tables.c:1101 msgid "Continues processing after a checksum failure." msgstr "체크섬 실패 후 처리 계속 함" -#: utils/misc/guc.c:1197 +#: 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 " @@ -26491,11 +29617,11 @@ msgstr "" "니다. 이 설정은 데이터 클러스터에서 체크섬 기능이 활성화 되어 있는 경우에만 " "영향을 받습니다." -#: utils/misc/guc.c:1211 +#: utils/misc/guc_tables.c:1116 msgid "Continues processing past damaged page headers." msgstr "손상된 자료 헤더 발견시 작업 진행 여부 선택" -#: utils/misc/guc.c:1212 +#: 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 " @@ -26504,16 +29630,17 @@ msgid "" "rows on the damaged page." msgstr "" "일반적으로 손상된 페이지 헤더를 발견하게 되면, PostgreSQL에서는 오류를 발생하" -"고, 현재 트랜잭션을 중지합니다. zero_damaged_pages 값을 true로 지정하면, 이런 손상된 페이지" -"를 발견하면, 경고 메시지를 보여주고, 그 페이지의 크기를 0으로 만들고 작업을 " -"계속 진행합니다. 이 기능을 사용한다 함은 손상된 자료를 없애겠다는 것을 의미합" -"니다. 이것은 곧 저장되어있는 자료가 삭제 될 수도 있음을 의미하기도 합니다." +"고, 현재 트랜잭션을 중지합니다. zero_damaged_pages 값을 true로 지정하면, 이" +"런 손상된 페이지를 발견하면, 경고 메시지를 보여주고, 그 페이지의 크기를 0으" +"로 만들고 작업을 계속 진행합니다. 이 기능을 사용한다 함은 손상된 자료를 없애" +"겠다는 것을 의미합니다. 이것은 곧 저장되어있는 자료가 삭제 될 수도 있음을 의" +"미하기도 합니다." -#: utils/misc/guc.c:1225 +#: utils/misc/guc_tables.c:1130 msgid "Continues recovery after an invalid pages failure." msgstr "잘못된 페이지 실패 후 복구 계속 함" -#: utils/misc/guc.c:1226 +#: 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. " @@ -26523,18 +29650,18 @@ msgid "" "corruption, or other serious problems. Only has an effect during recovery or " "in standby mode." msgstr "" -"PostgreSQL은 WAL 기반 복구 작업에서 해당 페이지가 잘못되어 있으면, " -"PANIC 오류를 내고 복구 작업을 중지하고 멈춥니다. ignore_invalid_pages 값을 " -" true로 지정하면, 이런 손상된 페이지가 있을 때, 경고 메시지를 보여주고, " -"복구 작업 계속 진행합니다. 이 기능을 사용하면 서버 비정상 종료나 자료 손실 " -"숨은 손상, 기타 심각한 문제가 일어 날 수 있습니다. 이 설정은 복구 작업 때나 " -"대기 모드 상태에서만 작동합니다." +"PostgreSQL은 WAL 기반 복구 작업에서 해당 페이지가 잘못되어 있으면, PANIC 오류" +"를 내고 복구 작업을 중지하고 멈춥니다. ignore_invalid_pages 값을 true로 지" +"정하면, 이런 손상된 페이지가 있을 때, 경고 메시지를 보여주고, 복구 작업 계속 " +"진행합니다. 이 기능을 사용하면 서버 비정상 종료나 자료 손실 숨은 손상, 기타 " +"심각한 문제가 일어 날 수 있습니다. 이 설정은 복구 작업 때나 대기 모드 상태에" +"서만 작동합니다." -#: utils/misc/guc.c:1244 +#: utils/misc/guc_tables.c:1149 msgid "Writes full pages to WAL when first modified after a checkpoint." msgstr "체크포인트 후 처음 수정할 때 전체 페이지를 WAL에 씁니다." -#: utils/misc/guc.c:1245 +#: 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 " @@ -26546,101 +29673,110 @@ msgstr "" "없을 수도 있습니다. 이 옵션은 안전하게 복구가 가능하도록 체크포인트 후 처음 " "수정한 페이지는 그 페이지 전체를 WAL에 씁니다." -#: utils/misc/guc.c:1258 +#: utils/misc/guc_tables.c:1163 msgid "" "Writes full pages to WAL when first modified after a checkpoint, even for a " -"non-critical modifications." +"non-critical modification." msgstr "" -"체크포인트 작업 후 자료 페이지에 첫 변경이 있는 경우, WAL에 변경된 내용만 기" -"록하는 것이 아니라, 해당 페이지 전체를 기록합니다." - -#: utils/misc/guc.c:1268 -msgid "Compresses full-page writes written in WAL file." -msgstr "WAL 파일에 기록되는 전체 페이지를 압축함" +"체크포인트 작업 후 자료 페이지에 첫 변경이 있는 경우, 치명적인 변경이 아닐지" +"라도 해당 페이지 전체를 기록합니다." -#: utils/misc/guc.c:1278 +#: utils/misc/guc_tables.c:1173 msgid "Writes zeroes to new WAL files before first use." -msgstr "" +msgstr "처음 사용 되기 전에 WAL 파일을 0으로 채웁니다." -#: utils/misc/guc.c:1288 +#: utils/misc/guc_tables.c:1183 msgid "Recycles WAL files by renaming them." -msgstr "" +msgstr "파일 이름 변경으로 WAL 파일을 재사용합니다." -#: utils/misc/guc.c:1298 +#: utils/misc/guc_tables.c:1193 msgid "Logs each checkpoint." msgstr "체크포인트 관련 정보를 기록합니다." -#: utils/misc/guc.c:1307 +#: utils/misc/guc_tables.c:1202 msgid "Logs each successful connection." msgstr "연결 성공한 정보들 모두를 기록함" -#: utils/misc/guc.c:1316 +#: utils/misc/guc_tables.c:1211 msgid "Logs end of a session, including duration." msgstr "기간을 포함하여 세션의 끝을 기록합니다." -#: utils/misc/guc.c:1325 +#: utils/misc/guc_tables.c:1220 msgid "Logs each replication command." msgstr "복제 관련 작업 내역을 기록합니다." -#: utils/misc/guc.c:1334 +#: utils/misc/guc_tables.c:1229 msgid "Shows whether the running server has assertion checks enabled." msgstr "서버가 assertion 검사 기능이 활성화 되어 실행되는지 보여 줌" -#: utils/misc/guc.c:1349 +#: utils/misc/guc_tables.c:1240 msgid "Terminate session on any error." msgstr "어떤 오류가 생기면 세션을 종료함" -#: utils/misc/guc.c:1358 +#: utils/misc/guc_tables.c:1249 msgid "Reinitialize server after backend crash." msgstr "백엔드가 비정상 종료되면 서버를 재초기화함" -#: utils/misc/guc.c:1368 +#: utils/misc/guc_tables.c:1258 +msgid "Remove temporary files after backend crash." +msgstr "백엔드 비정상 종료 뒤에는 임시 파일을 지웁니다." + +#: utils/misc/guc_tables.c:1268 +msgid "Send SIGABRT not SIGQUIT to child processes after backend crash." +msgstr "" +"백엔드 비정상 종료 될 때 하위 프로세스에게 SIGQUIT 대신에 SIGABRT 신호를 보냄" + +#: utils/misc/guc_tables.c:1278 +msgid "Send SIGABRT not SIGKILL to stuck child processes." +msgstr "멈춘 하위 프로세스에게 SIGKILL 대신에 SIGABRT 신호를 보냄" + +#: utils/misc/guc_tables.c:1289 msgid "Logs the duration of each completed SQL statement." msgstr "SQL 명령 구문의 실행완료 시간을 기록함" -#: utils/misc/guc.c:1377 +#: utils/misc/guc_tables.c:1298 msgid "Logs each query's parse tree." msgstr "각 쿼리의 구문 분석 트리를 기록합니다." -#: utils/misc/guc.c:1386 +#: utils/misc/guc_tables.c:1307 msgid "Logs each query's rewritten parse tree." msgstr "각 쿼리의 재작성된 구문 분석 트리를 기록합니다." -#: utils/misc/guc.c:1395 +#: utils/misc/guc_tables.c:1316 msgid "Logs each query's execution plan." msgstr "각 쿼리의 실행 계획을 기록합니다." -#: utils/misc/guc.c:1404 +#: utils/misc/guc_tables.c:1325 msgid "Indents parse and plan tree displays." msgstr "구문과 실행계획을 보여 줄때, 들여쓰기를 함." -#: utils/misc/guc.c:1413 +#: utils/misc/guc_tables.c:1334 msgid "Writes parser performance statistics to the server log." msgstr "구문분석 성능 통계를 서버 로그에 기록함." -#: utils/misc/guc.c:1422 +#: utils/misc/guc_tables.c:1343 msgid "Writes planner performance statistics to the server log." msgstr "실행계획자 성능 통계를 서버 로그에 기록함." -#: utils/misc/guc.c:1431 +#: utils/misc/guc_tables.c:1352 msgid "Writes executor performance statistics to the server log." msgstr "실행자 성능 통계를 서버 로그에 기록함." -#: utils/misc/guc.c:1440 +#: utils/misc/guc_tables.c:1361 msgid "Writes cumulative performance statistics to the server log." msgstr "누적 성능 통계를 서버 로그에 기록함." -#: utils/misc/guc.c:1450 +#: utils/misc/guc_tables.c:1371 msgid "" "Logs system resource usage statistics (memory and CPU) on various B-tree " "operations." msgstr "다양한 B트리 작업에 자원(메모리, CPU) 사용 통계를 기록에 남기" -#: utils/misc/guc.c:1462 +#: utils/misc/guc_tables.c:1383 msgid "Collects information about executing commands." msgstr "명령 실행에 대한 정보를 수집함" -#: utils/misc/guc.c:1463 +#: 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." @@ -26648,59 +29784,67 @@ msgstr "" "각 세션에서 사용하고 있는 현재 실행 중인 명령의 수행 시간, 명령 내용등에 대" "한 정보를 수집하도록 함" -#: utils/misc/guc.c:1473 +#: utils/misc/guc_tables.c:1394 msgid "Collects statistics on database activity." msgstr "데이터베이스 활동에 대한 통계를 수집합니다." -#: utils/misc/guc.c:1482 +#: utils/misc/guc_tables.c:1403 msgid "Collects timing statistics for database I/O activity." msgstr "데이터베이스 I/O 활동에 대한 통계를 수집합니다." -#: utils/misc/guc.c:1492 +#: utils/misc/guc_tables.c:1412 +msgid "Collects timing statistics for WAL I/O activity." +msgstr "WAL I/O 활동에 작업 시간 통계를 수집합니다." + +#: utils/misc/guc_tables.c:1422 msgid "Updates the process title to show the active SQL command." msgstr "활성 SQL 명령을 표시하도록 프로세스 제목을 업데이트합니다." -#: utils/misc/guc.c:1493 +#: 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 "" "서버가 새 SQL 명령을 받을 때마다 프로세스 제목이 업데이트될 수 있도록 합니다." -#: utils/misc/guc.c:1506 +#: utils/misc/guc_tables.c:1432 msgid "Starts the autovacuum subprocess." msgstr "자동 청소 하위 프로세스를 실행함" -#: utils/misc/guc.c:1516 +#: utils/misc/guc_tables.c:1442 msgid "Generates debugging output for LISTEN and NOTIFY." msgstr "LISTEN, NOTIFY 명령 사용을 위한 디버깅 출력을 만듦." -#: utils/misc/guc.c:1528 +#: utils/misc/guc_tables.c:1454 msgid "Emits information about lock usage." msgstr "잠금 사용 정보를 로그로 남김" -#: utils/misc/guc.c:1538 +#: utils/misc/guc_tables.c:1464 msgid "Emits information about user lock usage." msgstr "사용자 잠금 사용 정보를 로그로 남김" -#: utils/misc/guc.c:1548 +#: utils/misc/guc_tables.c:1474 msgid "Emits information about lightweight lock usage." msgstr "가벼운 잠금 사용 정보를 로그로 남김" -#: utils/misc/guc.c:1558 +#: utils/misc/guc_tables.c:1484 msgid "" "Dumps information about all current locks when a deadlock timeout occurs." msgstr "교착 잠금 시간 제한 상황이 발생하면 그 때의 모든 잠금 정보를 보여줌" -#: utils/misc/guc.c:1570 +#: utils/misc/guc_tables.c:1496 msgid "Logs long lock waits." msgstr "긴 잠금 대기를 기록합니다." -#: utils/misc/guc.c:1580 +#: utils/misc/guc_tables.c:1505 +msgid "Logs standby recovery conflict waits." +msgstr "대기 서버 복구 충돌에 따른 대기 정보를 로그에 남깁니다." + +#: utils/misc/guc_tables.c:1514 msgid "Logs the host name in the connection logs." msgstr "연결 기록에서 호스트 이름을 기록함." -#: utils/misc/guc.c:1581 +#: 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 " @@ -26711,38 +29855,38 @@ msgstr "" "true로 바꾼다면, 이 IP의 호스트 이름을 구해서 이 이름을 사용합니다 이것의 성" "능은 OS의 IP에서 이름구하기 성능과 관계됩니다." -#: utils/misc/guc.c:1592 +#: utils/misc/guc_tables.c:1526 msgid "Treats \"expr=NULL\" as \"expr IS NULL\"." -msgstr "\"표현=NULL\" 식을 \"표현 IS NULL\"로 취급함." +msgstr "\"표현식=NULL\" 식을 \"표현식 IS NULL\"로 취급함." -#: utils/misc/guc.c:1593 +#: 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 "" -"표현 = NULL 의 바른 처리는 항상 null 값을 리턴해야하지만, 편의성을 위해서 " -"expr = NULL 구문을 expr IS NULL 구문으로 바꾸어서 처리하도록 함이렇게하면, " -"윗 구문은 true 를 리턴함" +"표현식 = NULL 의 바른 처리는 항상 null 값을 리턴해야하지만, 편의성을 위해서 " +"표현식 = NULL 구문을 표현식 IS NULL 구문으로 바꾸어서 처리하도록 해서 계산에 " +"따라 true, false를 반환합니다." -#: utils/misc/guc.c:1605 +#: utils/misc/guc_tables.c:1539 msgid "Enables per-database user names." msgstr "per-database 사용자 이름 활성화." -#: utils/misc/guc.c:1614 +#: utils/misc/guc_tables.c:1548 msgid "Sets the default read-only status of new transactions." msgstr "새로운 트랜잭션의 상태를 초기값으로 읽기전용으로 설정합니다." -#: utils/misc/guc.c:1623 +#: utils/misc/guc_tables.c:1558 msgid "Sets the current transaction's read-only status." msgstr "현재 트랜잭셕의 읽기 전용 상태를 지정합니다." -#: utils/misc/guc.c:1633 +#: utils/misc/guc_tables.c:1568 msgid "Sets the default deferrable status of new transactions." msgstr "새 트랜잭션의 기본 지연 가능한 상태를 지정" -#: utils/misc/guc.c:1642 +#: 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." @@ -26750,24 +29894,25 @@ msgstr "" "읽기 전용 직렬화 가능한 트랜잭션이 직렬 처리에서 오류가 없을 때까지 그 트랜잭" "션을 지연할 것이지 결정함" -#: utils/misc/guc.c:1652 +#: utils/misc/guc_tables.c:1587 msgid "Enable row security." msgstr "로우 단위 보안 기능을 활성화" -#: utils/misc/guc.c:1653 +#: utils/misc/guc_tables.c:1588 msgid "When enabled, row security will be applied to all users." msgstr "이 값이 활성화 되면 로우 단위 보안 기능이 모든 사용자 대상으로 적용됨" -#: utils/misc/guc.c:1661 -msgid "Check function bodies during CREATE FUNCTION." +#: utils/misc/guc_tables.c:1596 +msgid "Check routine bodies during CREATE FUNCTION and CREATE PROCEDURE." msgstr "" -"CREATE FUNCTION 명령으로 함수를 만들 때, 함수 본문 부분의 구문을 검사합니다." +"CREATE FUNCTION, CREATE PROCEDURE 명령을 실행할 때 본문 부분의 구문을 검사합" +"니다." -#: utils/misc/guc.c:1670 +#: utils/misc/guc_tables.c:1605 msgid "Enable input of NULL elements in arrays." msgstr "배열에 NULL 요소가 입력될 수 있도록 합니다." -#: utils/misc/guc.c:1671 +#: 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." @@ -26775,42 +29920,42 @@ msgstr "" "이 값이 on이면 배열 입력 값에 따옴표 없이 입력된 NULL이 null 값을 의미하고, " "그렇지 않으면 문자 그대로 처리됩니다." -#: utils/misc/guc.c:1687 +#: utils/misc/guc_tables.c:1622 msgid "WITH OIDS is no longer supported; this can only be false." -msgstr "" +msgstr "WITH OIDS 구문은 더 이상 지원하지 않음; 이 값은 false만 허용합니다." -#: utils/misc/guc.c:1697 +#: utils/misc/guc_tables.c:1632 msgid "" "Start a subprocess to capture stderr output and/or csvlogs into log files." msgstr "" "로그 기록 하위 프로세스를 시작하여 stderr 출력 및/또는 csvlog를 로그 파일에 " "씁니다." -#: utils/misc/guc.c:1706 +#: utils/misc/guc_tables.c:1641 msgid "Truncate existing log files of same name during log rotation." msgstr "로그 회전 중 동일한 이름의 기존 로그 파일을 자릅니다." -#: utils/misc/guc.c:1717 +#: utils/misc/guc_tables.c:1652 msgid "Emit information about resource usage in sorting." msgstr "정렬 시 리소스 사용 정보를 내보냅니다." -#: utils/misc/guc.c:1731 +#: utils/misc/guc_tables.c:1666 msgid "Generate debugging output for synchronized scanning." msgstr "동기화된 스캔을 위해 디버깅 출력을 생성합니다." -#: utils/misc/guc.c:1746 +#: utils/misc/guc_tables.c:1681 msgid "Enable bounded sorting using heap sort." msgstr "힙 정렬을 통해 제한적 정렬을 사용합니다." -#: utils/misc/guc.c:1759 +#: utils/misc/guc_tables.c:1694 msgid "Emit WAL-related debugging output." msgstr "WAL 관련 디버깅 출력을 내보냅니다." -#: utils/misc/guc.c:1771 -msgid "Datetimes are integer based." -msgstr "datetime 형을 정수형으로 사용함" +#: utils/misc/guc_tables.c:1706 +msgid "Shows whether datetimes are integer based." +msgstr "date, time 값을 정수 기반으로 할지를 보여줍니다." -#: utils/misc/guc.c:1782 +#: utils/misc/guc_tables.c:1717 msgid "" "Sets whether Kerberos and GSSAPI user names should be treated as case-" "insensitive." @@ -26818,42 +29963,50 @@ msgstr "" "Kerberos 및 GSSAPI 사용자 이름에서 대/소문자를 구분하지 않을지 여부를 설정합" "니다." -#: utils/misc/guc.c:1792 +#: utils/misc/guc_tables.c:1727 +msgid "Sets whether GSSAPI delegation should be accepted from the client." +msgstr "클라이언트에서 GSSAPI 위임을 수락할지 여부를 설정합니다." + +#: utils/misc/guc_tables.c:1737 msgid "Warn about backslash escapes in ordinary string literals." msgstr "일반 문자열 리터럴의 백슬래시 이스케이프에 대해 경고합니다." -#: utils/misc/guc.c:1802 +#: utils/misc/guc_tables.c:1747 msgid "Causes '...' strings to treat backslashes literally." msgstr "'...' 문자열에서 백슬래시가 리터럴로 처리되도록 합니다." -#: utils/misc/guc.c:1813 +#: utils/misc/guc_tables.c:1758 msgid "Enable synchronized sequential scans." msgstr "동기화된 순차적 스캔을 사용합니다." -#: utils/misc/guc.c:1823 +#: utils/misc/guc_tables.c:1768 msgid "Sets whether to include or exclude transaction with recovery target." msgstr "복구 대상에서 트랜잭션을 포함할지 제외할지 선택합니다." -#: utils/misc/guc.c:1833 +#: utils/misc/guc_tables.c:1778 msgid "Allows connections and queries during recovery." msgstr "복구 중에서도 접속과 쿼리 사용을 허용함" -#: utils/misc/guc.c:1843 +#: utils/misc/guc_tables.c:1788 msgid "" "Allows feedback from a hot standby to the primary that will avoid query " "conflicts." msgstr "" "읽기 전용 보조 서버가 보내는 쿼리 충돌을 피하기 위한 피드백을 주 서버가 받음" -#: utils/misc/guc.c:1853 +#: utils/misc/guc_tables.c:1798 +msgid "Shows whether hot standby is currently active." +msgstr "hot standby 가 활성화 되었는지 보여줌" + +#: utils/misc/guc_tables.c:1809 msgid "Allows modifications of the structure of system tables." msgstr "시스템 테이블의 구조를 수정할 수 있도록 합니다." -#: utils/misc/guc.c:1864 +#: utils/misc/guc_tables.c:1820 msgid "Disables reading from system indexes." msgstr "시스템 인덱스 읽기를 금지함" -#: utils/misc/guc.c:1865 +#: 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." @@ -26861,12 +30014,16 @@ msgstr "" "이 설정이 활성화 되어도 그 인덱스는 갱신되어 사용하는데는 안전합니다. 하지" "만 서버가 전체적으로 늦어질 수 있습니다." -#: utils/misc/guc.c:1876 +#: utils/misc/guc_tables.c:1832 +msgid "Allows tablespaces directly inside pg_tblspc, for testing." +msgstr "테이블스페이스를 pg_tblspc 안에 바로 만듦, 테스팅용" + +#: utils/misc/guc_tables.c:1843 msgid "" "Enables backward compatibility mode for privilege checks on large objects." msgstr "대형 개체에 대한 접근 권한 검사를 위한 하위 호환성이 있게 함" -#: utils/misc/guc.c:1877 +#: 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." @@ -26874,89 +30031,84 @@ msgstr "" "PostgreSQL 9.0 이전 버전의 호환성을 위해 대형 개체에 대한 읽기, 변경 시 접근 " "권한 검사를 안 하도록 설정함" -#: utils/misc/guc.c:1887 -msgid "" -"Emit a warning for constructs that changed meaning since PostgreSQL 9.4." -msgstr "PostgreSQL 9.4 버전까지 사용되었던 우선 순위가 적용되면 경고를 보여줌" - -#: utils/misc/guc.c:1897 +#: utils/misc/guc_tables.c:1854 msgid "When generating SQL fragments, quote all identifiers." msgstr "SQL 구문을 만들 때, 모든 식별자는 따옴표를 사용함" -#: utils/misc/guc.c:1907 +#: utils/misc/guc_tables.c:1864 msgid "Shows whether data checksums are turned on for this cluster." -msgstr "" +msgstr "이 클러스터에서 자료 체크섬 기능을 사용하는지 보여줌" -#: utils/misc/guc.c:1918 +#: utils/misc/guc_tables.c:1875 msgid "Add sequence number to syslog messages to avoid duplicate suppression." msgstr "syslog 사용시 메시지 중복을 방지하기 위해 일련 번호를 매깁니다." -#: utils/misc/guc.c:1928 +#: utils/misc/guc_tables.c:1885 msgid "Split messages sent to syslog by lines and to fit into 1024 bytes." msgstr "syslog 사용시 메시지를 한 줄에 1024 바이트만 쓰도록 나눕니다" -#: utils/misc/guc.c:1938 +#: utils/misc/guc_tables.c:1895 msgid "Controls whether Gather and Gather Merge also run subplans." -msgstr "" +msgstr "Gather와 Gather Merge 작업을 서브플랜에서도 할지를 제어함." -#: utils/misc/guc.c:1939 -msgid "Should gather nodes also run subplans, or just gather tuples?" -msgstr "" +#: utils/misc/guc_tables.c:1896 +msgid "Should gather nodes also run subplans or just gather tuples?" +msgstr "서브플랜에서 gather 노드를 실행할지, 단지 튜플만 모을지 지정" -#: utils/misc/guc.c:1949 +#: utils/misc/guc_tables.c:1906 msgid "Allow JIT compilation." -msgstr "" +msgstr "JIT 짜깁기 허용" -#: utils/misc/guc.c:1960 -msgid "Register JIT compiled function with debugger." -msgstr "" +#: utils/misc/guc_tables.c:1917 +msgid "Register JIT-compiled functions with debugger." +msgstr "디버거용 JIT 컴파일된 함수 등록" -#: utils/misc/guc.c:1977 +#: utils/misc/guc_tables.c:1934 msgid "Write out LLVM bitcode to facilitate JIT debugging." -msgstr "" +msgstr "LLVM bitcode 출력에 JIT 디버깅 정보 함께 기록" -#: utils/misc/guc.c:1988 +#: utils/misc/guc_tables.c:1945 msgid "Allow JIT compilation of expressions." -msgstr "" +msgstr "표현식의 JIT 짜깁기 허용" -#: utils/misc/guc.c:1999 -msgid "Register JIT compiled function with perf profiler." -msgstr "" +#: utils/misc/guc_tables.c:1956 +msgid "Register JIT-compiled functions with perf profiler." +msgstr "perf 프로파일러용 JIT 컴파일된 함수 등록" -#: utils/misc/guc.c:2016 +#: utils/misc/guc_tables.c:1973 msgid "Allow JIT compilation of tuple deforming." -msgstr "" +msgstr "튜플 deform에 JIT 짜깁기 허용" -#: utils/misc/guc.c:2027 +#: utils/misc/guc_tables.c:1984 msgid "Whether to continue running after a failure to sync data files." -msgstr "" +msgstr "데이터 파일 동기화 작업 실패 뒤에도 실행을 계속할지 선택함" -#: utils/misc/guc.c:2036 +#: 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 "" +"WAL 수신기가 영구 슬롯 설정이 되어 있지 않을 때, 임시 복제 슬롯을 만들지 지정" -#: utils/misc/guc.c:2054 +#: utils/misc/guc_tables.c:2011 msgid "" -"Forces a switch to the next WAL file if a new file has not been started " -"within N seconds." -msgstr "" -"새 파일이 N초 내에 시작되지 않은 경우 강제로 다음 WAL 파일로 전환합니다." +"Sets the amount of time to wait before forcing a switch to the next WAL file." +msgstr "다음 WAL 파일로 강제 전환하기 전에 대기할 시간 지정" -#: utils/misc/guc.c:2065 -msgid "Waits N seconds on connection startup after authentication." -msgstr "연결 작업에서 인증이 끝난 뒤 N초 기다림" +#: utils/misc/guc_tables.c:2022 +msgid "" +"Sets the amount of time to wait after authentication on connection startup." +msgstr "연결 작업시 인증이 끝난 뒤 대기 시간 지정" -#: utils/misc/guc.c:2066 utils/misc/guc.c:2624 +#: utils/misc/guc_tables.c:2024 utils/misc/guc_tables.c:2658 msgid "This allows attaching a debugger to the process." msgstr "이렇게 하면 디버거를 프로세스에 연결할 수 있습니다." -#: utils/misc/guc.c:2075 +#: utils/misc/guc_tables.c:2033 msgid "Sets the default statistics target." msgstr "기본 통계 대상을 지정합니다." -#: utils/misc/guc.c:2076 +#: 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." @@ -26964,12 +30116,12 @@ msgstr "" "특정 칼럼을 지정하지 않고 ALTER TABLE SET STATISTICS 명령을 사용했을 때, 통" "계 대상이 될 칼럼을 지정합니다." -#: utils/misc/guc.c:2085 +#: utils/misc/guc_tables.c:2043 msgid "Sets the FROM-list size beyond which subqueries are not collapsed." msgstr "" "이 크기를 초과할 경우 하위 쿼리가 축소되지 않는 FROM 목록 크기를 설정합니다." -#: utils/misc/guc.c:2087 +#: 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." @@ -26977,12 +30129,12 @@ msgstr "" "결과 FROM 목록에 포함된 항목이 이 개수를 넘지 않는 경우 계획 관리자가 하" "위 쿼리를 상위 쿼리에 병합합니다." -#: utils/misc/guc.c:2098 +#: utils/misc/guc_tables.c:2056 msgid "Sets the FROM-list size beyond which JOIN constructs are not flattened." msgstr "" "이 크기를 초과할 경우 JOIN 구문이 결합되지 않는 FROM 목록 크기를 설정합니다." -#: utils/misc/guc.c:2100 +#: 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." @@ -26990,32 +30142,32 @@ msgstr "" "결과 목록에 포함된 항목이 이 개수를 넘지 않을 때마다 계획 관리자가 명시" "적 JOIN 구문을 FROM 항목 목록에 결합합니다." -#: utils/misc/guc.c:2111 +#: utils/misc/guc_tables.c:2069 msgid "Sets the threshold of FROM items beyond which GEQO is used." msgstr "" "이 임계값을 초과할 경우 GEQO가 사용되는 FROM 항목의 임계값을 설정합니다." -#: utils/misc/guc.c:2121 +#: utils/misc/guc_tables.c:2079 msgid "GEQO: effort is used to set the default for other GEQO parameters." msgstr "GEQO: 다른 GEQO 매개 변수의 기본 값을 설정하는 데 사용됩니다." -#: utils/misc/guc.c:2131 +#: utils/misc/guc_tables.c:2089 msgid "GEQO: number of individuals in the population." msgstr "GEQO: 모집단의 개인 수입니다." -#: utils/misc/guc.c:2132 utils/misc/guc.c:2142 +#: utils/misc/guc_tables.c:2090 utils/misc/guc_tables.c:2100 msgid "Zero selects a suitable default value." msgstr "0을 지정하면 적절한 기본 값이 선택됩니다." -#: utils/misc/guc.c:2141 +#: utils/misc/guc_tables.c:2099 msgid "GEQO: number of iterations of the algorithm." msgstr "GEQO: 알고리즘의 반복 수입니다." -#: utils/misc/guc.c:2153 +#: utils/misc/guc_tables.c:2111 msgid "Sets the time to wait on a lock before checking for deadlock." msgstr "교착 상태를 확인하기 전에 잠금을 기다릴 시간을 설정합니다." -#: utils/misc/guc.c:2164 +#: utils/misc/guc_tables.c:2122 msgid "" "Sets the maximum delay before canceling queries when a hot standby server is " "processing archived WAL data." @@ -27023,54 +30175,84 @@ msgstr "" "읽기 전용 보조 서버가 아카이브된 WAL 자료를 처리할 때, 지연될 수 있는 최대 시" "간" -#: utils/misc/guc.c:2175 +#: 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 "" "읽기 전용 보조 서버가 스트림 WAL 자료를 처리할 때, 지연될 수 있는 최대 시간" -#: utils/misc/guc.c:2186 +#: utils/misc/guc_tables.c:2144 msgid "Sets the minimum delay for applying changes during recovery." -msgstr "" +msgstr "변경 사항 반영을 위한 최소 지연 시간 지정" -#: utils/misc/guc.c:2197 +#: utils/misc/guc_tables.c:2155 msgid "" "Sets the maximum interval between WAL receiver status reports to the sending " "server." msgstr "WAL 정보를 보내는 서버에게 WAL 수신기 상태를 보고하는 최대 간격" -#: utils/misc/guc.c:2208 +#: utils/misc/guc_tables.c:2166 msgid "Sets the maximum wait time to receive data from the sending server." msgstr "" "WAL 정보를 보내는 서버로부터 보낸 자료를 받기위해 기다릴 수 있는 최대 허용 시" "간을 설정합니다." -#: utils/misc/guc.c:2219 +#: utils/misc/guc_tables.c:2177 msgid "Sets the maximum number of concurrent connections." msgstr "최대 동시 접속수를 지정합니다." -#: utils/misc/guc.c:2230 +#: utils/misc/guc_tables.c:2188 msgid "Sets the number of connection slots reserved for superusers." msgstr "superuser 동시 접속수를 지정합니다." -#: utils/misc/guc.c:2244 +#: utils/misc/guc_tables.c:2198 +msgid "" +"Sets the number of connection slots reserved for roles with privileges of " +"pg_use_reserved_connections." +msgstr "" +"pg_use_reserved_connections 권한이 있는 롤의 예약된 연결 슬롯 수를 설정합니" +"다." + +#: utils/misc/guc_tables.c:2209 +msgid "Amount of dynamic shared memory reserved at startup." +msgstr "시작시 확보할 동적 공유 메모리 크기" + +#: utils/misc/guc_tables.c:2224 msgid "Sets the number of shared memory buffers used by the server." -msgstr "서버에서 사용할 공유 메모리의 개수를 지정함" +msgstr "서버에서 사용할 공유 메모리 버퍼 개수를 지정함" + +#: utils/misc/guc_tables.c:2235 +msgid "Sets the buffer pool size for VACUUM, ANALYZE, and autovacuum." +msgstr "VACUUM, ANALYZE, autovacuum 작업용 버퍼 풀 크기를 설정합니다." + +#: 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 "서버의 메인 공유 메모리 영역 크기를 보여줌(MB 단위로 근사값처리함)" + +#: utils/misc/guc_tables.c:2257 +msgid "Shows the number of huge pages needed for the main shared memory area." +msgstr "메인 공유 메모리 영역용 huge 페이지 개수를 보여줌" + +#: utils/misc/guc_tables.c:2258 +msgid "-1 indicates that the value could not be determined." +msgstr "-1 은 사용하지 않음을 뜻함" -#: utils/misc/guc.c:2255 +#: utils/misc/guc_tables.c:2268 msgid "Sets the maximum number of temporary buffers used by each session." msgstr "각 세션에서 사용하는 임시 버퍼의 최대 개수를 지정" -#: utils/misc/guc.c:2266 +#: utils/misc/guc_tables.c:2279 msgid "Sets the TCP port the server listens on." msgstr "TCP 포트 번호를 지정함." -#: utils/misc/guc.c:2276 +#: utils/misc/guc_tables.c:2289 msgid "Sets the access permissions of the Unix-domain socket." msgstr "유닉스 도메인 소켓 파일의 액세스 권한을 지정함" -#: utils/misc/guc.c:2277 +#: 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 " @@ -27081,11 +30263,11 @@ msgstr "" "수 값은 chmod 및 umask 시스템 호출에서 수락되는 형태의 숫자 모드 지정이어야 " "합니다. (일반적인 8진수 형식을 사용하려면 숫자가 0으로 시작해야 합니다.)" -#: utils/misc/guc.c:2291 +#: utils/misc/guc_tables.c:2304 msgid "Sets the file permissions for log files." msgstr "로그 파일의 파일 접근 권한을 지정합니다." -#: utils/misc/guc.c:2292 +#: 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 " @@ -27095,11 +30277,11 @@ msgstr "" "이어야 합니다. (일반적인 8진수 형식을 사용하려면 숫자가 0으로 시작해야 합니" "다.)" -#: utils/misc/guc.c:2306 -msgid "Mode of the data directory." -msgstr "데이터 디렉터리의 모드" +#: utils/misc/guc_tables.c:2319 +msgid "Shows the mode of the data directory." +msgstr "데이터 디렉터리의 모드값을 보여줌" -#: utils/misc/guc.c:2307 +#: 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 " @@ -27109,11 +30291,11 @@ msgstr "" "이어야 합니다. (일반적인 8진수 형식을 사용하려면 숫자가 0으로 시작해야 합니" "다.)" -#: utils/misc/guc.c:2320 +#: utils/misc/guc_tables.c:2333 msgid "Sets the maximum memory to be used for query workspaces." msgstr "쿼리 작업공간을 위해 사용될 메모리의 최대값을 지정함." -#: utils/misc/guc.c:2321 +#: 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." @@ -27121,268 +30303,303 @@ msgstr "" "임시 디스크 파일로 전환하기 전에 각 내부 정렬 작업과 해시 테이블에서 이 크기" "의 메모리를 사용할 수 있습니다." -#: utils/misc/guc.c:2333 +#: utils/misc/guc_tables.c:2346 msgid "Sets the maximum memory to be used for maintenance operations." msgstr "관리 작업을 위해 사용될 메모리의 최대값을 지정함." -#: utils/misc/guc.c:2334 +#: utils/misc/guc_tables.c:2347 msgid "This includes operations such as VACUUM and CREATE INDEX." msgstr "관리작업은 VACUUM, CREATE INDEX 같은 작업을 뜻합니다." -#: utils/misc/guc.c:2344 +#: utils/misc/guc_tables.c:2357 msgid "Sets the maximum memory to be used for logical decoding." msgstr "논리 디코딩 작업을 위해 사용될 메모리의 최대값을 지정함." -#: utils/misc/guc.c:2345 +#: utils/misc/guc_tables.c:2358 msgid "" "This much memory can be used by each internal reorder buffer before spilling " "to disk." -msgstr "" -"이 메모리는 디스크 기록 전에 각 내부 재정렬 버퍼로 사용될 수 있습니다." +msgstr "이 메모리는 디스크 기록 전에 각 내부 재정렬 버퍼로 사용될 수 있습니다." -#: utils/misc/guc.c:2361 +#: utils/misc/guc_tables.c:2374 msgid "Sets the maximum stack depth, in kilobytes." msgstr "스택깊이(KB 단위) 최대값을 지정합니다." -#: utils/misc/guc.c:2372 +#: utils/misc/guc_tables.c:2385 msgid "Limits the total size of all temporary files used by each process." msgstr "각 프로세스에서 사용하는 모든 임시 파일의 총 크기 제한" -#: utils/misc/guc.c:2373 +#: utils/misc/guc_tables.c:2386 msgid "-1 means no limit." msgstr "-1은 제한 없음" -#: utils/misc/guc.c:2383 +#: utils/misc/guc_tables.c:2396 msgid "Vacuum cost for a page found in the buffer cache." msgstr "버퍼 캐시에 있는 페이지의 청소 비용입니다." -#: utils/misc/guc.c:2393 +#: utils/misc/guc_tables.c:2406 msgid "Vacuum cost for a page not found in the buffer cache." msgstr "버퍼 캐시에 없는 페이지의 청소 비용입니다." -#: utils/misc/guc.c:2403 +#: utils/misc/guc_tables.c:2416 msgid "Vacuum cost for a page dirtied by vacuum." msgstr "청소로 페이지 변경 시 부과되는 비용입니다." -#: utils/misc/guc.c:2413 +#: utils/misc/guc_tables.c:2426 msgid "Vacuum cost amount available before napping." msgstr "청소가 중지되는 청소 비용 합계입니다." -#: utils/misc/guc.c:2423 +#: utils/misc/guc_tables.c:2436 msgid "Vacuum cost amount available before napping, for autovacuum." msgstr "자동 청소에 대한 청소가 중지되는 청소 비용 합계입니다." -#: utils/misc/guc.c:2433 +#: utils/misc/guc_tables.c:2446 msgid "" "Sets the maximum number of simultaneously open files for each server process." msgstr "각각의 서버 프로세스에서 동시에 열릴 수 있는 최대 파일 갯수를 지정함." -#: utils/misc/guc.c:2446 +#: utils/misc/guc_tables.c:2459 msgid "Sets the maximum number of simultaneously prepared transactions." msgstr "동시에 준비된 트랜잭션 최대 개수 지정" -#: utils/misc/guc.c:2457 +#: utils/misc/guc_tables.c:2470 msgid "Sets the minimum OID of tables for tracking locks." msgstr "잠금 추적을 위한 테이블의 최소 OID 지정" -#: utils/misc/guc.c:2458 +#: utils/misc/guc_tables.c:2471 msgid "Is used to avoid output on system tables." -msgstr "" +msgstr "시스템 테이블 출력 방지용" -#: utils/misc/guc.c:2467 +#: utils/misc/guc_tables.c:2480 msgid "Sets the OID of the table with unconditionally lock tracing." -msgstr "" +msgstr "무조건 잠금 추적용 테이블 OID 지정" -#: utils/misc/guc.c:2479 +#: utils/misc/guc_tables.c:2492 msgid "Sets the maximum allowed duration of any statement." msgstr "모든 쿼리문에 적용되는 허용되는 최대 수행시간" -#: utils/misc/guc.c:2480 utils/misc/guc.c:2491 utils/misc/guc.c:2502 +#: 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 "이 값이 0이면 이런 제한이 없음." -#: utils/misc/guc.c:2490 +#: utils/misc/guc_tables.c:2503 msgid "Sets the maximum allowed duration of any wait for a lock." msgstr "모든 잠금에 적용되는 기다리는 최대 대기 시간" -#: utils/misc/guc.c:2501 -msgid "Sets the maximum allowed duration of any idling transaction." -msgstr "idle-in-transaction 상태로 있을 수 있는 최대 시간" +#: utils/misc/guc_tables.c:2514 +msgid "" +"Sets the maximum allowed idle time between queries, when in a transaction." +msgstr "idle-in-transaction 상태로 있을 수 있는 최대 시간 지정" + +#: utils/misc/guc_tables.c:2525 +msgid "" +"Sets the maximum allowed idle time between queries, when not in a " +"transaction." +msgstr "idle 상태로 있을 수 있는 최대 시간 지정" -#: utils/misc/guc.c:2512 +#: utils/misc/guc_tables.c:2536 msgid "Minimum age at which VACUUM should freeze a table row." msgstr "VACUUM에서 테이블 행을 동결할 때까지의 최소 기간입니다." -#: utils/misc/guc.c:2522 +#: utils/misc/guc_tables.c:2546 msgid "Age at which VACUUM should scan whole table to freeze tuples." msgstr "" "VACUUM에서 튜플을 동결하기 위해 전체 테이블을 스캔할 때까지의 기간입니다." -#: utils/misc/guc.c:2532 +#: utils/misc/guc_tables.c:2556 msgid "Minimum age at which VACUUM should freeze a MultiXactId in a table row." msgstr "VACUUM에서 테이블 MultiXactId 동결할 때까지의 최소 기간입니다." -#: utils/misc/guc.c:2542 +#: utils/misc/guc_tables.c:2566 msgid "Multixact age at which VACUUM should scan whole table to freeze tuples." msgstr "" "VACUUM에서 튜플을 동결하기 위해 전체 테이블을 스캔할 때까지의 멀티트랜잭션 기" "간입니다." -#: utils/misc/guc.c:2552 +#: utils/misc/guc_tables.c:2576 +msgid "" +"Age at which VACUUM should trigger failsafe to avoid a wraparound outage." +msgstr "" +"VACUUM 작업에서 트랜잭션ID 겹침 방지를 피하기 위한 freeze 작업을 하는 테이블 " +"나이" + +#: utils/misc/guc_tables.c:2585 msgid "" -"Number of transactions by which VACUUM and HOT cleanup should be deferred, " -"if any." +"Multixact age at which VACUUM should trigger failsafe to avoid a wraparound " +"outage." msgstr "" +"VACUUM 작업에서 트랜잭션ID 겹침 방지를 피하기 위한 freeze 작업을 하는 멀티트" +"랜잭션 나이" -#: utils/misc/guc.c:2565 +#: utils/misc/guc_tables.c:2598 msgid "Sets the maximum number of locks per transaction." msgstr "하나의 트랜잭션에서 사용할 수 있는 최대 잠금 횟수를 지정함." -#: utils/misc/guc.c:2566 +#: utils/misc/guc_tables.c:2599 msgid "" "The shared lock table is sized on the assumption that at most " -"max_locks_per_transaction * max_connections distinct objects will need to be " -"locked at any one time." +"max_locks_per_transaction objects per server process or prepared transaction " +"will need to be locked at any one time." msgstr "" "공유 잠금 테이블은 한 번에 잠궈야 할 고유 개체 수가 " -"max_locks_per_transaction * max_connections를 넘지 않는다는 가정 하에 크기가 " -"지정됩니다." +"max_locks_per_transaction * (max_connections 또는 미리 준비된 트랜잭션 수)를 " +"넘지 않는다는 가정 하에 크기가 지정됩니다." -#: utils/misc/guc.c:2577 +#: utils/misc/guc_tables.c:2610 msgid "Sets the maximum number of predicate locks per transaction." msgstr "하나의 트랜잭션에서 사용할 수 있는 최대 잠금 횟수를 지정함." -#: utils/misc/guc.c:2578 +#: 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 * max_connections distinct objects will need " -"to be locked at any one time." +"max_pred_locks_per_transaction objects per server process or prepared " +"transaction will need to be locked at any one time." msgstr "" "공유 predicate 잠금 테이블은 한 번에 잠궈야 할 고유 개체 수가 " -"max_pred_locks_per_transaction * max_connections를 넘지 않는다는 가정 하에 크" -"기가 지정됩니다." +"max_pred_locks_per_transaction * (max_connections 또는 미리 준비된 트랜잭션 " +"수)를 넘지 않는다는 가정 하에 크기가 지정됩니다." -#: utils/misc/guc.c:2589 +#: utils/misc/guc_tables.c:2622 msgid "" "Sets the maximum number of predicate-locked pages and tuples per relation." -msgstr "하나의 트랜잭션에서 사용할 수 있는 페이지와 튜플의 최대수 지정함." +msgstr "릴레이션 당 최대 predicate-lock 페이지와 튜플 수 지정" -#: utils/misc/guc.c:2590 +#: 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 "" +"한 연결에서 같은 릴레이션 대상으로 이 값보다 큰 페이지와 튜플을 잠근다면, 그 " +"잠금은 릴레이션 수준 잠금으로 변경 된다." -#: utils/misc/guc.c:2600 +#: utils/misc/guc_tables.c:2633 msgid "Sets the maximum number of predicate-locked tuples per page." -msgstr "페이지당 잠금 튜플 최대 수 지정." +msgstr "페이지당 predicate-lock 튜플 최대 수 지정." -#: utils/misc/guc.c:2601 +#: 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 "" +"한 연결에서 같은 페이지 대상으로 이 값보다 튜플을 잠근다면, 그 잠금은 페이지 " +"수준 잠금으로 변경 된다." -#: utils/misc/guc.c:2611 +#: utils/misc/guc_tables.c:2644 msgid "Sets the maximum allowed time to complete client authentication." msgstr "클라이언트 인증을 완료할 수 있는 최대 허용 시간을 설정합니다." -#: utils/misc/guc.c:2623 -msgid "Waits N seconds on connection startup before authentication." -msgstr "인증 전에 연결이 시작되도록 N초 동안 기다립니다." +#: utils/misc/guc_tables.c:2656 +msgid "" +"Sets the amount of time to wait before authentication on connection startup." +msgstr "연결 할 때 인증 전 기다리는 시간 지정" + +#: utils/misc/guc_tables.c:2668 +msgid "Buffer size for reading ahead in the WAL during recovery." +msgstr "복구에서 WAL 미리 읽을 버퍼 크기" -#: utils/misc/guc.c:2634 +#: utils/misc/guc_tables.c:2669 +msgid "" +"Maximum distance to read ahead in the WAL to prefetch referenced data blocks." +msgstr "" +"참조된 데이터 블록을 미리 가져오기 위해 WAL에서 미리 읽을 수 있는 최대 거리." + +#: utils/misc/guc_tables.c:2679 msgid "Sets the size of WAL files held for standby servers." msgstr "대기 서버를 위해 보관하고 있을 WAL 파일 크기를 지정" -#: utils/misc/guc.c:2645 +#: utils/misc/guc_tables.c:2690 msgid "Sets the minimum size to shrink the WAL to." msgstr "WAL 최소 크기" -#: utils/misc/guc.c:2657 +#: utils/misc/guc_tables.c:2702 msgid "Sets the WAL size that triggers a checkpoint." msgstr "체크포인트 작업을 할 WAL 크기 지정" -#: utils/misc/guc.c:2669 +#: utils/misc/guc_tables.c:2714 msgid "Sets the maximum time between automatic WAL checkpoints." msgstr "자동 WAL 체크포인트 사이의 최대 간격을 설정합니다." -#: utils/misc/guc.c:2680 +#: utils/misc/guc_tables.c:2725 msgid "" -"Enables warnings if checkpoint segments are filled more frequently than this." -msgstr "지정 시간 안에 체크포인트 조각이 모두 채워지면 경고를 냄" +"Sets the maximum time before warning if checkpoints triggered by WAL volume " +"happen too frequently." +msgstr "" +"WAL 기록 때문에 자주 발생하는 체크포인트 경고를 보이지 않는 최대 시간 지정" -#: utils/misc/guc.c:2682 +#: utils/misc/guc_tables.c:2727 msgid "" "Write a message to the server log if checkpoints caused by the filling of " -"checkpoint segment files happens more frequently than this number of " -"seconds. Zero turns off the warning." +"WAL segment files happen more frequently than this amount of time. Zero " +"turns off the warning." msgstr "" "체크포인트 작업이 지금 지정한 시간(초)보다 자주 체크포인트 세그먼트 파일에 내" "용이 꽉 차는 사태가 발생하면 경고 메시지를 서버 로그에 남깁니다. 이 값을 0으" -"로 지정하면 이 기능 없음" +"로 지정하면 경고 남기지 않음" -#: utils/misc/guc.c:2694 utils/misc/guc.c:2910 utils/misc/guc.c:2957 +#: 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 "" +msgstr "쓰기 작업 뒤 디스크 동기화를 수행할 페이지 수" -#: utils/misc/guc.c:2705 +#: utils/misc/guc_tables.c:2751 msgid "Sets the number of disk-page buffers in shared memory for WAL." msgstr "" "WAL 기능을 위해 공유 메모리에서 사용할 디스크 페이지 버퍼 개수를 지정함." -#: utils/misc/guc.c:2716 +#: utils/misc/guc_tables.c:2762 msgid "Time between WAL flushes performed in the WAL writer." msgstr "WAL 기록자가 지정 시간 만큼 쉬고 쓰기 작업을 반복함" -#: utils/misc/guc.c:2727 +#: utils/misc/guc_tables.c:2773 msgid "Amount of WAL written out by WAL writer that triggers a flush." msgstr "" -#: utils/misc/guc.c:2738 -msgid "Size of new file to fsync instead of writing WAL." +#: utils/misc/guc_tables.c:2784 +msgid "Minimum size of new file to fsync instead of writing WAL." msgstr "" -#: utils/misc/guc.c:2749 +#: utils/misc/guc_tables.c:2795 msgid "Sets the maximum number of simultaneously running WAL sender processes." msgstr "동시에 작동할 WAL 송신 프로세스 최대 수 지정" -#: utils/misc/guc.c:2760 +#: utils/misc/guc_tables.c:2806 msgid "Sets the maximum number of simultaneously defined replication slots." msgstr "동시에 사용할 수 있는 복제 슬롯 최대 수 지정" -#: utils/misc/guc.c:2770 +#: utils/misc/guc_tables.c:2816 msgid "Sets the maximum WAL size that can be reserved by replication slots." msgstr "복제 슬롯을 위해 보관할 최대 WAL 크기 지정" -#: utils/misc/guc.c:2771 +#: 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 "" -#: utils/misc/guc.c:2783 +#: utils/misc/guc_tables.c:2829 msgid "Sets the maximum time to wait for WAL replication." msgstr "WAL 복제를 위해 기다릴 최대 시간 설정" -#: utils/misc/guc.c:2794 +#: utils/misc/guc_tables.c:2840 msgid "" "Sets the delay in microseconds between transaction commit and flushing WAL " "to disk." msgstr "" "트랜잭션과 트랜잭션 로그의 적용 사이의 간격을 microsecond 단위로 지정함" -#: utils/misc/guc.c:2806 +#: utils/misc/guc_tables.c:2852 msgid "" -"Sets the minimum concurrent open transactions before performing commit_delay." +"Sets the minimum number of concurrent open transactions required before " +"performing commit_delay." msgstr "commit_delay 처리하기 전에 있는 최소 동시 열려 있는 트랜잭션 개수." -#: utils/misc/guc.c:2817 +#: utils/misc/guc_tables.c:2863 msgid "Sets the number of digits displayed for floating-point values." msgstr "부동소수형 값을 표기할 때 " -#: utils/misc/guc.c:2818 +#: 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 " @@ -27390,33 +30607,31 @@ msgid "" "output mode." msgstr "" "이 값은 real, duoble 부동 소숫점과 지리정보 자료형에 영향을 끼칩니다. 이 값" -"은 정수여야합니다(FLT_DIG or DBL_DIG as appropriate - 무슨 말인지). 음수면 " +"은 정수여야 합니다(FLT_DIG or DBL_DIG as appropriate - 무슨 말인지). 음수면 " "그 만큼 소숫점 자리를 더 많이 생략해서 정확도를 떨어뜨립니다." -#: utils/misc/guc.c:2830 +#: 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 "" -"" +"log_statement_sample_rate 설정으로 수집할 로그 가운데, 기록할 최소 쿼리 수행 " +"시간" -#: utils/misc/guc.c:2833 +#: utils/misc/guc_tables.c:2879 msgid "Zero logs a sample of all queries. -1 turns this feature off." -msgstr "" -"0을 지정하면 모든 쿼리를 로깅하고, -1을 지정하면 이 기능이 해제됩니다." +msgstr "0을 지정하면 모든 쿼리를 로깅하고, -1을 지정하면 이 기능이 해제됩니다." -#: utils/misc/guc.c:2843 +#: utils/misc/guc_tables.c:2889 msgid "" "Sets the minimum execution time above which all statements will be logged." -msgstr "" -"모든 실행 쿼리문을 로그로 남길 최소 실행 시간을 설정합니다." +msgstr "모든 실행 쿼리문을 로그로 남길 최소 실행 시간을 설정합니다." -#: utils/misc/guc.c:2845 +#: utils/misc/guc_tables.c:2891 msgid "Zero prints all queries. -1 turns this feature off." -msgstr "" -"0을 지정하면 모든 쿼리를 로깅하고, -1을 지정하면 이 기능이 해제됩니다." +msgstr "0을 지정하면 모든 쿼리를 로깅하고, -1을 지정하면 이 기능이 해제됩니다." -#: utils/misc/guc.c:2855 +#: utils/misc/guc_tables.c:2901 msgid "" "Sets the minimum execution time above which autovacuum actions will be " "logged." @@ -27424,208 +30639,208 @@ msgstr "" "이 시간을 초과할 경우 자동 청소 작업 로그를 남길 최소 실행 시간을 설정합니" "다." -#: utils/misc/guc.c:2857 +#: utils/misc/guc_tables.c:2903 msgid "Zero prints all actions. -1 turns autovacuum logging off." msgstr "" -"0을 지정하면 모든 작업을 로깅하고, -1을 지정하면 자동 청소관련 로그를 남기지 않음" +"0을 지정하면 모든 작업을 로깅하고, -1을 지정하면 자동 청소관련 로그를 남기지 " +"않음" -#: utils/misc/guc.c:2867 +#: utils/misc/guc_tables.c:2913 msgid "" -"When logging statements, limit logged parameter values to first N bytes." -msgstr "" +"Sets the maximum length in bytes of data logged for bind parameter values " +"when logging statements." +msgstr "쿼리문 로그 저장에 쓸 매개변수 값의 최대 길이 바이트" -#: utils/misc/guc.c:2868 utils/misc/guc.c:2879 +#: utils/misc/guc_tables.c:2915 utils/misc/guc_tables.c:2927 msgid "-1 to print values in full." -msgstr "" +msgstr "-1은 길이 제한 없이 전체" -#: utils/misc/guc.c:2878 +#: utils/misc/guc_tables.c:2925 msgid "" -"When reporting an error, limit logged parameter values to first N bytes." -msgstr "" +"Sets the maximum length in bytes of data logged for bind parameter values " +"when logging statements, on error." +msgstr "쿼리 오류 시 쿼리문 로그 저장에 쓸 매개변수 값의 최대 길이 바이트" -#: utils/misc/guc.c:2889 +#: utils/misc/guc_tables.c:2937 msgid "Background writer sleep time between rounds." msgstr "백그라운드 기록자의 잠자는 시간" -#: utils/misc/guc.c:2900 +#: utils/misc/guc_tables.c:2948 msgid "Background writer maximum number of LRU pages to flush per round." msgstr "라운드당 플러시할 백그라운드 작성기 최대 LRU 페이지 수입니다." -#: utils/misc/guc.c:2923 +#: utils/misc/guc_tables.c:2971 msgid "" "Number of simultaneous requests that can be handled efficiently by the disk " "subsystem." -msgstr "" -"디스크 하위 시스템에서 효율적으로 처리할 수 있는 동시 요청 수입니다." +msgstr "디스크 하위 시스템에서 효율적으로 처리할 수 있는 동시 요청 수입니다." -#: utils/misc/guc.c:2924 -msgid "" -"For RAID arrays, this should be approximately the number of drive spindles " -"in the array." -msgstr "RAID 배열의 경우 이 값은 대략 배열의 드라이브 스핀들 수입니다." - -#: utils/misc/guc.c:2941 +#: utils/misc/guc_tables.c:2985 msgid "" "A variant of effective_io_concurrency that is used for maintenance work." msgstr "" -#: utils/misc/guc.c:2970 +#: utils/misc/guc_tables.c:3011 msgid "Maximum number of concurrent worker processes." msgstr "동시 작업자 프로세스의 최대 수" -#: utils/misc/guc.c:2982 +#: utils/misc/guc_tables.c:3023 msgid "Maximum number of logical replication worker processes." msgstr "논리 복제 작업자 프로세스의 최대 수" -#: utils/misc/guc.c:2994 +#: utils/misc/guc_tables.c:3035 msgid "Maximum number of table synchronization workers per subscription." msgstr "구독을 위한 테이블 동기화 작업자의 최대 수" -#: utils/misc/guc.c:3004 -msgid "Automatic log file rotation will occur after N minutes." -msgstr "N분 후에 자동 로그 파일 회전이 발생합니다." +#: utils/misc/guc_tables.c:3047 +msgid "Maximum number of parallel apply workers per subscription." +msgstr "구독을 위한 테이블 병렬 동기화 작업자의 최대 수" -#: utils/misc/guc.c:3015 -msgid "Automatic log file rotation will occur after N kilobytes." -msgstr "N킬로바이트 후에 자동 로그 파일 회전이 발생합니다." +#: utils/misc/guc_tables.c:3057 +msgid "Sets the amount of time to wait before forcing log file rotation." +msgstr "강제 로그 파일 바꾸기 전 대기 시간 지정" -#: utils/misc/guc.c:3026 +#: utils/misc/guc_tables.c:3069 +msgid "Sets the maximum size a log file can reach before being rotated." +msgstr "로그 파일 바꾸기 전 최대 로그 파일 크기 지정" + +#: utils/misc/guc_tables.c:3081 msgid "Shows the maximum number of function arguments." msgstr "함수 인자의 최대 갯수를 보여줍니다" -#: utils/misc/guc.c:3037 +#: utils/misc/guc_tables.c:3092 msgid "Shows the maximum number of index keys." msgstr "인덱스 키의 최대개수를 보여줍니다." -#: utils/misc/guc.c:3048 +#: utils/misc/guc_tables.c:3103 msgid "Shows the maximum identifier length." msgstr "최대 식별자 길이를 표시합니다." -#: utils/misc/guc.c:3059 +#: utils/misc/guc_tables.c:3114 msgid "Shows the size of a disk block." msgstr "디스크 블록의 크기를 표시합니다." -#: utils/misc/guc.c:3070 +#: utils/misc/guc_tables.c:3125 msgid "Shows the number of pages per disk file." msgstr "디스크 파일당 페이지 수를 표시합니다." -#: utils/misc/guc.c:3081 +#: utils/misc/guc_tables.c:3136 msgid "Shows the block size in the write ahead log." msgstr "미리 쓰기 로그의 블록 크기를 표시합니다." -#: utils/misc/guc.c:3092 +#: utils/misc/guc_tables.c:3147 msgid "" "Sets the time to wait before retrying to retrieve WAL after a failed attempt." msgstr "" -#: utils/misc/guc.c:3104 +#: utils/misc/guc_tables.c:3159 msgid "Shows the size of write ahead log segments." msgstr "미리 쓰기 로그 세그먼트당 페이지 크기를 표시합니다." -#: utils/misc/guc.c:3117 +#: utils/misc/guc_tables.c:3172 msgid "Time to sleep between autovacuum runs." msgstr "자동 청소 실행 사이의 절전 모드 시간입니다." -#: utils/misc/guc.c:3127 +#: utils/misc/guc_tables.c:3182 msgid "Minimum number of tuple updates or deletes prior to vacuum." msgstr "청소 전의 최소 튜플 업데이트 또는 삭제 수입니다." -#: utils/misc/guc.c:3136 +#: utils/misc/guc_tables.c:3191 msgid "" "Minimum number of tuple inserts prior to vacuum, or -1 to disable insert " "vacuums." msgstr "청소를 위한 최소 튜플 삽입 수입니다. -1은 insert는 vacuum에서 제외" -#: utils/misc/guc.c:3145 +#: utils/misc/guc_tables.c:3200 msgid "Minimum number of tuple inserts, updates, or deletes prior to analyze." msgstr "통계 정보 수집을 위한 최소 튜플 삽입, 업데이트 또는 삭제 수입니다." -#: utils/misc/guc.c:3155 +#: utils/misc/guc_tables.c:3210 msgid "" "Age at which to autovacuum a table to prevent transaction ID wraparound." msgstr "" "트랜잭션 ID 겹침 방지를 위해 테이블에 대해 autovacuum 작업을 수행할 테이블 나" "이를 지정합니다." -#: utils/misc/guc.c:3166 +#: utils/misc/guc_tables.c:3222 msgid "" "Multixact age at which to autovacuum a table to prevent multixact wraparound." msgstr "" "멀티 트랜잭션 ID 겹침 방지를 위해 테이블에 대해 autovacuum 작업을 수행할 트랜" "잭션 나이를 지정합니다." -#: utils/misc/guc.c:3176 +#: utils/misc/guc_tables.c:3232 msgid "" "Sets the maximum number of simultaneously running autovacuum worker " "processes." msgstr "동시에 작업할 수 있는 autovacuum 작업자 최대 수 지정" -#: utils/misc/guc.c:3186 +#: utils/misc/guc_tables.c:3242 msgid "" "Sets the maximum number of parallel processes per maintenance operation." msgstr "유지보수 작업에서 사용할 병렬 프로세스 최대 수를 지정" -#: utils/misc/guc.c:3196 +#: utils/misc/guc_tables.c:3252 msgid "Sets the maximum number of parallel processes per executor node." msgstr "실행 노드당 최대 병렬 처리 수 지정" -#: utils/misc/guc.c:3207 +#: utils/misc/guc_tables.c:3263 msgid "" "Sets the maximum number of parallel workers that can be active at one time." msgstr "한번에 작업할 수 있는 병렬 작업자 최대 수 지정" -#: utils/misc/guc.c:3218 +#: utils/misc/guc_tables.c:3274 msgid "Sets the maximum memory to be used by each autovacuum worker process." msgstr "각 autovacuum 작업자 프로세스가 사용할 메모리 최대치" -#: utils/misc/guc.c:3229 +#: utils/misc/guc_tables.c:3285 msgid "" "Time before a snapshot is too old to read pages changed after the snapshot " "was taken." msgstr "" -#: utils/misc/guc.c:3230 +#: utils/misc/guc_tables.c:3286 msgid "A value of -1 disables this feature." msgstr "이 값이 -1 이면 이 기능 사용 안함" -#: utils/misc/guc.c:3240 +#: utils/misc/guc_tables.c:3296 msgid "Time between issuing TCP keepalives." msgstr "TCP 연결 유지 실행 간격입니다." -#: utils/misc/guc.c:3241 utils/misc/guc.c:3252 utils/misc/guc.c:3376 +#: 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 "이 값이 0이면 시스템 기본 값" -#: utils/misc/guc.c:3251 +#: utils/misc/guc_tables.c:3307 msgid "Time between TCP keepalive retransmits." msgstr "TCP keepalive 시간 설정" -#: utils/misc/guc.c:3262 +#: utils/misc/guc_tables.c:3318 msgid "SSL renegotiation is no longer supported; this can only be 0." msgstr "" -#: utils/misc/guc.c:3273 +#: utils/misc/guc_tables.c:3329 msgid "Maximum number of TCP keepalive retransmits." msgstr "TCP keepalive 확인 최대 횟수" -#: utils/misc/guc.c:3274 +#: utils/misc/guc_tables.c:3330 msgid "" -"This controls the number of consecutive keepalive retransmits that can be " -"lost before a connection is considered dead. A value of 0 uses the system " -"default." +"Number of consecutive keepalive retransmits that can be lost before a " +"connection is considered dead. A value of 0 uses the system default." msgstr "" -"이 값은 연결이 중단된 것으로 간주되기 전에 손실될 수 있는 연속 연결 유" -"지 재전송 수를 제어합니다. 값 0을 지정하면 시스템 기본 값이 사용됩니다." +"연결이 중단된 것으로 간주되기 전에 연결 유지 요청을 위한 연속적인 keepalive " +"패킷 전송 수. 0을 지정하면 시스템 기본 값이 사용됩니다." -#: utils/misc/guc.c:3285 +#: utils/misc/guc_tables.c:3341 msgid "Sets the maximum allowed result for exact search by GIN." msgstr "정확한 GIN 기준 검색에 허용되는 최대 결과 수를 설정합니다." -#: utils/misc/guc.c:3296 +#: utils/misc/guc_tables.c:3352 msgid "Sets the planner's assumption about the total size of the data caches." msgstr "디스크 캐시 총 크기에 대한 계획 관리자의 가정을 설정합니다." -#: utils/misc/guc.c:3297 +#: 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 " @@ -27634,59 +30849,85 @@ msgstr "" "즉, PostgreSQL에서 사용하는 총 캐시 크기입니다(커널 캐시와 공유 버퍼 모두 포" "함). 이 값은 디스크 페이지 단위로 측정되며, 일반적으로 각각 8kB입니다." -#: utils/misc/guc.c:3308 +#: utils/misc/guc_tables.c:3364 msgid "Sets the minimum amount of table data for a parallel scan." msgstr "병렬 조회를 위한 최소 테이블 자료량 지정" -#: utils/misc/guc.c:3309 +#: 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 "" -#: utils/misc/guc.c:3319 +#: utils/misc/guc_tables.c:3375 msgid "Sets the minimum amount of index data for a parallel scan." msgstr "병렬 조회를 위한 최소 인덱스 자료량 지정" -#: utils/misc/guc.c:3320 +#: 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 "" -#: utils/misc/guc.c:3331 +#: utils/misc/guc_tables.c:3387 msgid "Shows the server version as an integer." msgstr "서버 버전을 정수형으로 보여줍니다" -#: utils/misc/guc.c:3342 +#: utils/misc/guc_tables.c:3398 msgid "Log the use of temporary files larger than this number of kilobytes." msgstr "이 킬로바이트 수보다 큰 임시 파일의 사용을 기록합니다." -#: utils/misc/guc.c:3343 +#: utils/misc/guc_tables.c:3399 msgid "Zero logs all files. The default is -1 (turning this feature off)." msgstr "" "0을 지정하면 모든 파일이 기록됩니다. 기본 값은 -1로, 이 기능이 해제됩니다." -#: utils/misc/guc.c:3353 +#: utils/misc/guc_tables.c:3409 msgid "Sets the size reserved for pg_stat_activity.query, in bytes." msgstr "pg_stat_activity.query에 예약되는 크기(바이트)를 설정합니다." -#: utils/misc/guc.c:3364 +#: utils/misc/guc_tables.c:3420 msgid "Sets the maximum size of the pending list for GIN index." msgstr "GIN 인덱스를 위한 팬딩(pending) 목록의 최대 크기 지정" -#: utils/misc/guc.c:3375 +#: utils/misc/guc_tables.c:3431 msgid "TCP user timeout." msgstr "" -#: utils/misc/guc.c:3395 +#: utils/misc/guc_tables.c:3442 +msgid "The size of huge page that should be requested." +msgstr "" + +#: utils/misc/guc_tables.c:3453 +msgid "Aggressively flush system caches for debugging purposes." +msgstr "" + +#: utils/misc/guc_tables.c:3476 +msgid "" +"Sets the time interval between checks for disconnection while running " +"queries." +msgstr "쿼리 실행 중에 연결을 끊을지 검사하는 간격을 지정합니다." + +#: utils/misc/guc_tables.c:3487 +msgid "Time between progress updates for long-running startup operations." +msgstr "연결 작업이 오래 진행되는 경우 진행 상태 갱신 주기" + +#: utils/misc/guc_tables.c:3489 +msgid "0 turns this feature off." +msgstr "0을 지정하면 이 기능이 해제됩니다." + +#: utils/misc/guc_tables.c:3499 +msgid "Sets the iteration count for SCRAM secret generation." +msgstr "SCRAM 비밀번호 생성용 이터레이션 수를 지정합니다." + +#: utils/misc/guc_tables.c:3519 msgid "" "Sets the planner's estimate of the cost of a sequentially fetched disk page." msgstr "" "순차적으로 접근하는 디스크 페이지에 대한 계획 관리자의 예상 비용을 설정합니" "다." -#: utils/misc/guc.c:3406 +#: utils/misc/guc_tables.c:3530 msgid "" "Sets the planner's estimate of the cost of a nonsequentially fetched disk " "page." @@ -27694,11 +30935,11 @@ msgstr "" "비순차적으로 접근하는 디스크 페이지에 대한 계획 관리자의 예상 비용을 설정합니" "다." -#: utils/misc/guc.c:3417 +#: utils/misc/guc_tables.c:3541 msgid "Sets the planner's estimate of the cost of processing each tuple (row)." msgstr "각 튜플(행)에 대한 계획 관리자의 예상 처리 비용을 설정합니다." -#: utils/misc/guc.c:3428 +#: utils/misc/guc_tables.c:3552 msgid "" "Sets the planner's estimate of the cost of processing each index entry " "during an index scan." @@ -27706,7 +30947,7 @@ msgstr "" "실행 계획기의 비용 계산에 사용될 인덱스 스캔으로 각 인덱스 항목을 처리하는 예" "상 처리 비용을 설정합니다." -#: utils/misc/guc.c:3439 +#: utils/misc/guc_tables.c:3563 msgid "" "Sets the planner's estimate of the cost of processing each operator or " "function call." @@ -27714,77 +30955,87 @@ msgstr "" "실행 계획기의 비용 계산에 사용될 함수 호출이나 연산자 연산 처리하는 예상 처" "리 비용을 설정합니다." -#: utils/misc/guc.c:3450 +#: utils/misc/guc_tables.c:3574 msgid "" "Sets the planner's estimate of the cost of passing each tuple (row) from " -"worker to master backend." -msgstr "각 튜플(행)에 대한 계획 관리자의 예상 처리 비용을 설정합니다." +"worker to leader backend." +msgstr "" +"각 튜플(행)을 작업자에서 리더 백엔드로 보내는 예상 비용을 실행계획기에 설정합" +"니다." -#: utils/misc/guc.c:3461 +#: utils/misc/guc_tables.c:3585 msgid "" "Sets the planner's estimate of the cost of starting up worker processes for " "parallel query." msgstr "" +"병렬 쿼리를 위해 작업자 프로세스 시작하는데 드는 예상 비용을 실행계획기에 설" +"정합니다." -#: utils/misc/guc.c:3473 +#: utils/misc/guc_tables.c:3597 msgid "Perform JIT compilation if query is more expensive." -msgstr "" +msgstr "쿼리 수행 예상 비용이 이 값보다 크면, JIT 짜깁기를 수행" -#: utils/misc/guc.c:3474 +#: utils/misc/guc_tables.c:3598 msgid "-1 disables JIT compilation." -msgstr "" +msgstr "-1 = JIT 짜깁기 안함" -#: utils/misc/guc.c:3484 -msgid "Optimize JITed functions if query is more expensive." -msgstr "" +#: utils/misc/guc_tables.c:3608 +msgid "Optimize JIT-compiled functions if query is more expensive." +msgstr "쿼리 수행 예상 비용이 이 값보다 크면, JIT-컴파일된 함수 최적화 함" -#: utils/misc/guc.c:3485 +#: utils/misc/guc_tables.c:3609 msgid "-1 disables optimization." -msgstr "-1 최적화 비활성화" +msgstr "-1 = 최적화 비활성화" -#: utils/misc/guc.c:3495 +#: utils/misc/guc_tables.c:3619 msgid "Perform JIT inlining if query is more expensive." -msgstr "" +msgstr "쿼리 수행 예상 비용이 이 값보다 크면, JIT 인라인 작업 수행" -#: utils/misc/guc.c:3496 +#: utils/misc/guc_tables.c:3620 msgid "-1 disables inlining." -msgstr "" +msgstr "-1 = 인라인 기능 끔" -#: utils/misc/guc.c:3506 +#: 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 "검색될 커서 행에 대한 계획 관리자의 예상 분수 값을 설정합니다." -#: utils/misc/guc.c:3518 +#: utils/misc/guc_tables.c:3642 +msgid "" +"Sets the planner's estimate of the average size of a recursive query's " +"working table." +msgstr "재귀 호출 쿼리 대상 테이블의 평균 크기를 실행 계획기에 설정 함" + +#: utils/misc/guc_tables.c:3654 msgid "GEQO: selective pressure within the population." msgstr "GEQO: 모집단 내의 선택 압력입니다." -#: utils/misc/guc.c:3529 +#: utils/misc/guc_tables.c:3665 msgid "GEQO: seed for random path selection." msgstr "GEQO: 무작위 경로 선택을 위한 씨드" -#: utils/misc/guc.c:3540 +#: utils/misc/guc_tables.c:3676 msgid "Multiple of work_mem to use for hash tables." -msgstr "" +msgstr "테이블 해시 작업에서 쓸 work_mem 값의 배율" -#: utils/misc/guc.c:3551 +#: utils/misc/guc_tables.c:3687 msgid "Multiple of the average buffer usage to free per round." msgstr "라운드당 해제할 평균 버퍼 사용의 배수입니다." -#: utils/misc/guc.c:3561 +#: utils/misc/guc_tables.c:3697 msgid "Sets the seed for random-number generation." msgstr "난수 생성 속도를 설정합니다." -#: utils/misc/guc.c:3572 +#: utils/misc/guc_tables.c:3708 msgid "Vacuum cost delay in milliseconds." msgstr "청소 비용 지연(밀리초)입니다." -#: utils/misc/guc.c:3583 +#: utils/misc/guc_tables.c:3719 msgid "Vacuum cost delay in milliseconds, for autovacuum." msgstr "자동 청소에 대한 청소 비용 지연(밀리초)입니다." -#: utils/misc/guc.c:3594 +#: utils/misc/guc_tables.c:3730 msgid "" "Number of tuple updates or deletes prior to vacuum as a fraction of " "reltuples." @@ -27792,11 +31043,11 @@ msgstr "" "vacuum 작업을 진행할 update, delete 작업량을 전체 자료에 대한 분수값으로 지정" "합니다." -#: utils/misc/guc.c:3604 +#: utils/misc/guc_tables.c:3740 msgid "Number of tuple inserts prior to vacuum as a fraction of reltuples." msgstr "" -#: utils/misc/guc.c:3614 +#: utils/misc/guc_tables.c:3750 msgid "" "Number of tuple inserts, updates, or deletes prior to analyze as a fraction " "of reltuples." @@ -27804,808 +31055,587 @@ msgstr "" "통계 수집 작업을 진행할 insert, update, delete 작업량을 전체 자료에 대한 분수" "값으로 지정합니다." -#: utils/misc/guc.c:3624 +#: utils/misc/guc_tables.c:3760 msgid "" "Time spent flushing dirty buffers during checkpoint, as fraction of " "checkpoint interval." -msgstr "" -"체크포인트 반복 주기 안에 작업을 완료할 분수값(1=100%)" - -#: utils/misc/guc.c:3634 -msgid "" -"Number of tuple inserts prior to index cleanup as a fraction of reltuples." -msgstr "" +msgstr "체크포인트 반복 주기 안에 작업을 완료할 분수값(1=100%)" -#: utils/misc/guc.c:3644 +#: utils/misc/guc_tables.c:3770 msgid "Fraction of statements exceeding log_min_duration_sample to be logged." msgstr "" -#: utils/misc/guc.c:3645 +#: utils/misc/guc_tables.c:3771 msgid "Use a value between 0.0 (never log) and 1.0 (always log)." -msgstr "" +msgstr "0.0 (로그 안남김)에서 1.0(모두 남김) 값을 지정할 수 있음" -#: utils/misc/guc.c:3654 -msgid "Set the fraction of transactions to log for new transactions." -msgstr "새 트랜잭션에 대해서 로그에 남길 트랜잭션 비율을 설정합니다." +#: utils/misc/guc_tables.c:3780 +msgid "Sets the fraction of transactions from which to log all statements." +msgstr "모든 구문을 로그로 남기려고 할 때, 그 남길 비율" -#: utils/misc/guc.c:3655 +#: utils/misc/guc_tables.c:3781 msgid "" -"Logs all statements from a fraction of transactions. Use a value between 0.0 " -"(never log) and 1.0 (log all statements for all transactions)." -msgstr "" +"Use a value between 0.0 (never log) and 1.0 (log all statements for all " +"transactions)." +msgstr "0.0(모두 안 남김) 부터 1.0 (모두 남김)까지 지정할 수 있습니다." -#: utils/misc/guc.c:3675 +#: utils/misc/guc_tables.c:3800 msgid "Sets the shell command that will be called to archive a WAL file." msgstr "WAL 파일을 아카이빙하기 위해 호출될 셸 명령을 설정합니다." -#: utils/misc/guc.c:3685 +#: utils/misc/guc_tables.c:3801 +msgid "This is used only if \"archive_library\" is not set." +msgstr "이 설정은 \"archive_library\" 설정이 안되어 있을 때만 작동합니다." + +#: utils/misc/guc_tables.c:3810 +msgid "Sets the library that will be called to archive a WAL file." +msgstr "WAL 파일을 아카이빙하기 위해 호출될 셸 명령을 설정합니다." + +#: utils/misc/guc_tables.c:3811 +msgid "An empty string indicates that \"archive_command\" should be used." +msgstr "\"archive_command\" 설정값은 빈 문자열이어야 합니다." + +#: utils/misc/guc_tables.c:3820 msgid "" "Sets the shell command that will be called to retrieve an archived WAL file." msgstr "아카이브된 WAL 파일을 재 반영할 쉘 명령어를 설정합니다." -#: utils/misc/guc.c:3695 +#: utils/misc/guc_tables.c:3830 msgid "Sets the shell command that will be executed at every restart point." msgstr "매 복구 작업이 끝난 다음 실행할 쉘 명령어를 설정합니다." -#: utils/misc/guc.c:3705 +#: utils/misc/guc_tables.c:3840 msgid "" "Sets the shell command that will be executed once at the end of recovery." msgstr "복구 작업 끝에 한 번 실행될 쉘 명령어를 설정합니다." -#: utils/misc/guc.c:3715 +#: utils/misc/guc_tables.c:3850 msgid "Specifies the timeline to recover into." msgstr "복구할 타임라인을 지정합니다." -#: utils/misc/guc.c:3725 +#: utils/misc/guc_tables.c:3860 msgid "" "Set to \"immediate\" to end recovery as soon as a consistent state is " "reached." -msgstr "" +msgstr "복구를 끝내는 지점을 가장 최근으로 하려면, \"immediate\"로 지정하세요." -#: utils/misc/guc.c:3734 +#: utils/misc/guc_tables.c:3869 msgid "Sets the transaction ID up to which recovery will proceed." -msgstr "" +msgstr "복구를 끝낼 마지막 트랜잭션 ID 지정" -#: utils/misc/guc.c:3743 +#: utils/misc/guc_tables.c:3878 msgid "Sets the time stamp up to which recovery will proceed." -msgstr "" +msgstr "복구를 끝낼 마지막 시간 지정" -#: utils/misc/guc.c:3752 +#: utils/misc/guc_tables.c:3887 msgid "Sets the named restore point up to which recovery will proceed." -msgstr "" +msgstr "복구를 끝낼 복원 지점 이름 지정" -#: utils/misc/guc.c:3761 +#: utils/misc/guc_tables.c:3896 msgid "" "Sets the LSN of the write-ahead log location up to which recovery will " "proceed." -msgstr "" - -#: utils/misc/guc.c:3771 -msgid "Specifies a file name whose presence ends recovery in the standby." -msgstr "" +msgstr "복구용 미리 쓰기 로그의 복구 지점 LSN 지정" -#: utils/misc/guc.c:3781 +#: utils/misc/guc_tables.c:3906 msgid "Sets the connection string to be used to connect to the sending server." -msgstr "" +msgstr "트랜잭션 로그를 보내는 서버로 접속하기 위한 접속 문자열 지정" -#: utils/misc/guc.c:3792 +#: utils/misc/guc_tables.c:3917 msgid "Sets the name of the replication slot to use on the sending server." msgstr "복제 슬롯 이름을 지정합니다." -#: utils/misc/guc.c:3802 +#: utils/misc/guc_tables.c:3927 msgid "Sets the client's character set encoding." msgstr "클라이언트 문자 세트 인코딩을 지정함" -#: utils/misc/guc.c:3813 +#: utils/misc/guc_tables.c:3938 msgid "Controls information prefixed to each log line." msgstr "각 로그 줄 앞에 추가할 정보를 제어합니다." -#: utils/misc/guc.c:3814 +#: utils/misc/guc_tables.c:3939 msgid "If blank, no prefix is used." msgstr "비워 두면 접두사가 사용되지 않습니다." -#: utils/misc/guc.c:3823 +#: utils/misc/guc_tables.c:3948 msgid "Sets the time zone to use in log messages." msgstr "로그 메시지에 사용할 표준 시간대를 설정합니다." -#: utils/misc/guc.c:3833 +#: utils/misc/guc_tables.c:3958 msgid "Sets the display format for date and time values." msgstr "날짜와 시간 값을 나타내는 모양을 지정합니다." -#: utils/misc/guc.c:3834 +#: utils/misc/guc_tables.c:3959 msgid "Also controls interpretation of ambiguous date inputs." msgstr "또한 모호한 날짜 입력의 해석을 제어합니다." -#: utils/misc/guc.c:3845 +#: utils/misc/guc_tables.c:3970 msgid "Sets the default table access method for new tables." msgstr "새 테이블에서 사용할 기본 테이블 접근 방법을 지정합니다." -#: utils/misc/guc.c:3856 +#: utils/misc/guc_tables.c:3981 msgid "Sets the default tablespace to create tables and indexes in." msgstr "테이블 및 인덱스를 만들 기본 테이블스페이스를 설정합니다." -#: utils/misc/guc.c:3857 +#: utils/misc/guc_tables.c:3982 msgid "An empty string selects the database's default tablespace." msgstr "빈 문자열을 지정하면 데이터베이스의 기본 테이블스페이스가 선택됩니다." -#: utils/misc/guc.c:3867 +#: utils/misc/guc_tables.c:3992 msgid "Sets the tablespace(s) to use for temporary tables and sort files." msgstr "임시 테이블 및 정렬 파일에 사용할 테이블스페이스를 설정합니다." -#: utils/misc/guc.c:3878 +#: utils/misc/guc_tables.c:4003 +msgid "" +"Sets whether a CREATEROLE user automatically grants the role to themselves, " +"and with which options." +msgstr "CREATEROLE 권한이 있는 사용자가 자동으로 스스로에게 부여할 옵션 지정" + +#: utils/misc/guc_tables.c:4015 msgid "Sets the path for dynamically loadable modules." msgstr "동적으로 불러올 수 있는 모듈들이 있는 경로를 지정함." -#: utils/misc/guc.c:3879 +#: 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 "" -"동적으로 로드 가능한 모듈을 열어야 하는데 지정한 이름에 디렉터리 구성 요" -"소가 없는 경우(즉, 이름에 슬래시가 없음) 시스템은 이 경로에서 지정한 파일을 " -"검색합니다." +"동적으로 로드 가능한 모듈을 열어야 하는데 해당 모듈 이름에 디렉터리 구성 요소" +"가 없는 경우(즉, 이름에 슬래시 기호가 없는 경우) 시스템은 이 경로에서 지정한 " +"파일을 검색합니다." -#: utils/misc/guc.c:3892 +#: utils/misc/guc_tables.c:4029 msgid "Sets the location of the Kerberos server key file." msgstr "Kerberos 서버 키 파일의 위치를 지정함." -#: utils/misc/guc.c:3903 +#: utils/misc/guc_tables.c:4040 msgid "Sets the Bonjour service name." msgstr "Bonjour 서비스 이름을 지정" -#: utils/misc/guc.c:3915 -msgid "Shows the collation order locale." -msgstr "데이터 정렬 순서 로케일을 표시합니다." - -#: utils/misc/guc.c:3926 -msgid "Shows the character classification and case conversion locale." -msgstr "문자 분류 및 대/소문자 변환 로케일을 표시합니다." - -#: utils/misc/guc.c:3937 +#: utils/misc/guc_tables.c:4050 msgid "Sets the language in which messages are displayed." msgstr "보여질 메시지로 사용할 언어 지정." -#: utils/misc/guc.c:3947 +#: utils/misc/guc_tables.c:4060 msgid "Sets the locale for formatting monetary amounts." msgstr "통화금액 표현 양식으로 사용할 로케일 지정." -#: utils/misc/guc.c:3957 +#: utils/misc/guc_tables.c:4070 msgid "Sets the locale for formatting numbers." msgstr "숫자 표현 양식으로 사용할 로케일 지정." -#: utils/misc/guc.c:3967 +#: utils/misc/guc_tables.c:4080 msgid "Sets the locale for formatting date and time values." msgstr "날짜와 시간 값을 표현할 양식으로 사용할 로케일 지정." -#: utils/misc/guc.c:3977 +#: utils/misc/guc_tables.c:4090 msgid "Lists shared libraries to preload into each backend." msgstr "각각의 백엔드에 미리 불러올 공유 라이브러리들을 지정합니다" -#: utils/misc/guc.c:3988 +#: utils/misc/guc_tables.c:4101 msgid "Lists shared libraries to preload into server." msgstr "서버에 미리 불러올 공유 라이브러리들을 지정합니다" -#: utils/misc/guc.c:3999 +#: utils/misc/guc_tables.c:4112 msgid "Lists unprivileged shared libraries to preload into each backend." msgstr "" "각각의 백엔드에 미리 불러올 접근제한 없는 공유 라이브러리들을 지정합니다" -#: utils/misc/guc.c:4010 +#: utils/misc/guc_tables.c:4123 msgid "Sets the schema search order for names that are not schema-qualified." msgstr "스키마로 한정되지 않은 이름의 스키마 검색 순서를 설정합니다." -#: utils/misc/guc.c:4022 -msgid "Sets the server (database) character set encoding." -msgstr "서버 문자 코드 세트 인코딩 지정." +#: utils/misc/guc_tables.c:4135 +msgid "Shows the server (database) character set encoding." +msgstr "서버 (데이터베이스) 문자 세트 인코딩 보여줌" -#: utils/misc/guc.c:4034 +#: utils/misc/guc_tables.c:4147 msgid "Shows the server version." msgstr "서버 버전 보임." -#: utils/misc/guc.c:4046 +#: utils/misc/guc_tables.c:4159 msgid "Sets the current role." msgstr "현재 롤을 지정" -#: utils/misc/guc.c:4058 +#: utils/misc/guc_tables.c:4171 msgid "Sets the session user name." msgstr "세션 사용자 이름 지정." -#: utils/misc/guc.c:4069 +#: utils/misc/guc_tables.c:4182 msgid "Sets the destination for server log output." msgstr "서버 로그 출력을 위한 대상을 지정합니다." -#: utils/misc/guc.c:4070 +#: utils/misc/guc_tables.c:4183 msgid "" -"Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", and " -"\"eventlog\", depending on the platform." +"Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", " +"\"jsonlog\", and \"eventlog\", depending on the platform." msgstr "" -"유효한 값은 플랫폼에 따라 \"stderr\", \"syslog\", \"csvlog\" 및 \"eventlog" -"\"의 조합입니다." +"유효한 값은 플랫폼에 따라 \"stderr\", \"syslog\", \"csvlog\", \"jsonlog\" 및 " +"\"eventlog\"의 조합입니다." -#: utils/misc/guc.c:4081 +#: utils/misc/guc_tables.c:4194 msgid "Sets the destination directory for log files." msgstr "로그 파일의 대상 디렉터리를 설정합니다." -#: utils/misc/guc.c:4082 +#: utils/misc/guc_tables.c:4195 msgid "Can be specified as relative to the data directory or as absolute path." msgstr "데이터 디렉터리의 상대 경로 또는 절대 경로로 지정할 수 있습니다." -#: utils/misc/guc.c:4092 +#: utils/misc/guc_tables.c:4205 msgid "Sets the file name pattern for log files." msgstr "로그 파일의 파일 이름 패턴을 설정합니다." -#: utils/misc/guc.c:4103 +#: utils/misc/guc_tables.c:4216 msgid "Sets the program name used to identify PostgreSQL messages in syslog." msgstr "syslog에서 구분할 PostgreSQL 메시지에 사용될 프로그램 이름을 지정." -#: utils/misc/guc.c:4114 +#: utils/misc/guc_tables.c:4227 msgid "" "Sets the application name used to identify PostgreSQL messages in the event " "log." msgstr "" "이벤트 로그에서 PostgreSQL 메시지 식별자로 사용할 응용프로그램 이름 지정" -#: utils/misc/guc.c:4125 +#: utils/misc/guc_tables.c:4238 msgid "Sets the time zone for displaying and interpreting time stamps." msgstr "시간대(time zone)를 지정함." -#: utils/misc/guc.c:4135 +#: utils/misc/guc_tables.c:4248 msgid "Selects a file of time zone abbreviations." msgstr "표준 시간대 약어 파일을 선택합니다." -#: utils/misc/guc.c:4145 +#: utils/misc/guc_tables.c:4258 msgid "Sets the owning group of the Unix-domain socket." msgstr "유닉스 도메인 소켓의 소유주를 지정" -#: utils/misc/guc.c:4146 +#: utils/misc/guc_tables.c:4259 msgid "" "The owning user of the socket is always the user that starts the server." msgstr "소켓 소유자는 항상 서버를 시작하는 사용자입니다." -#: utils/misc/guc.c:4156 +#: utils/misc/guc_tables.c:4269 msgid "Sets the directories where Unix-domain sockets will be created." msgstr "유닉스 도메인 소켓을 만들 디렉터리를 지정합니다." -#: utils/misc/guc.c:4171 +#: utils/misc/guc_tables.c:4280 msgid "Sets the host name or IP address(es) to listen to." msgstr "서비스할 호스트이름이나, IP를 지정함." -#: utils/misc/guc.c:4186 +#: utils/misc/guc_tables.c:4295 msgid "Sets the server's data directory." msgstr "서버의 데이터 디렉터리 위치를 지정합니다." -#: utils/misc/guc.c:4197 +#: utils/misc/guc_tables.c:4306 msgid "Sets the server's main configuration file." msgstr "서버의 기본 환경설정 파일 경로를 지정합니다." -#: utils/misc/guc.c:4208 +#: utils/misc/guc_tables.c:4317 msgid "Sets the server's \"hba\" configuration file." msgstr "서버의 \"hba\" 구성 파일을 설정합니다." -#: utils/misc/guc.c:4219 +#: utils/misc/guc_tables.c:4328 msgid "Sets the server's \"ident\" configuration file." msgstr "서버의 \"ident\" 구성 파일을 설정합니다." -#: utils/misc/guc.c:4230 +#: utils/misc/guc_tables.c:4339 msgid "Writes the postmaster PID to the specified file." msgstr "postmaster PID가 기록된 파일의 경로를 지정합니다." -#: utils/misc/guc.c:4241 -msgid "Name of the SSL library." -msgstr "" +#: utils/misc/guc_tables.c:4350 +msgid "Shows the name of the SSL library." +msgstr "SSL 라이브러리 이름을 보여줌" -#: utils/misc/guc.c:4256 +#: utils/misc/guc_tables.c:4365 msgid "Location of the SSL server certificate file." msgstr "서버 인증서 파일 위치를 지정함" -#: utils/misc/guc.c:4266 +#: utils/misc/guc_tables.c:4375 msgid "Location of the SSL server private key file." msgstr "SSL 서버 개인 키 파일의 위치를 지정함." -#: utils/misc/guc.c:4276 +#: utils/misc/guc_tables.c:4385 msgid "Location of the SSL certificate authority file." -msgstr "" +msgstr "SSL 인증 authority 파일 위치" -#: utils/misc/guc.c:4286 +#: utils/misc/guc_tables.c:4395 msgid "Location of the SSL certificate revocation list file." msgstr "SSL 인증서 파기 목록 파일의 위치" -#: utils/misc/guc.c:4296 -msgid "Writes temporary statistics files to the specified directory." -msgstr "지정한 디렉터리에 임시 통계 파일을 씁니다." +#: utils/misc/guc_tables.c:4405 +msgid "Location of the SSL certificate revocation list directory." +msgstr "SSL 인증서 파기 목록 디렉터리 위치" -#: utils/misc/guc.c:4307 +#: utils/misc/guc_tables.c:4415 msgid "" "Number of synchronous standbys and list of names of potential synchronous " "ones." msgstr "" -#: utils/misc/guc.c:4318 +#: utils/misc/guc_tables.c:4426 msgid "Sets default text search configuration." msgstr "기본 텍스트 검색 구성을 설정합니다." -#: utils/misc/guc.c:4328 +#: utils/misc/guc_tables.c:4436 msgid "Sets the list of allowed SSL ciphers." msgstr "허용되는 SSL 암호 목록을 설정합니다." -#: utils/misc/guc.c:4343 +#: utils/misc/guc_tables.c:4451 msgid "Sets the curve to use for ECDH." msgstr "ECDH에 사용할 curve 설정" -#: utils/misc/guc.c:4358 +#: utils/misc/guc_tables.c:4466 msgid "Location of the SSL DH parameters file." msgstr "SSL DH 매개 변수 파일의 위치." -#: utils/misc/guc.c:4369 +#: utils/misc/guc_tables.c:4477 msgid "Command to obtain passphrases for SSL." -msgstr "" +msgstr "SSL 비밀번호 입력을 위한 명령" -#: utils/misc/guc.c:4380 +#: utils/misc/guc_tables.c:4488 msgid "Sets the application name to be reported in statistics and logs." -msgstr "" +msgstr "통계정보와 로그에 포함될 응용프로그램 이름 지정" -#: utils/misc/guc.c:4391 +#: utils/misc/guc_tables.c:4499 msgid "Sets the name of the cluster, which is included in the process title." -msgstr "" +msgstr "프로세스 타이틀에 포함될 클러스터 이름 지정" -#: utils/misc/guc.c:4402 +#: utils/misc/guc_tables.c:4510 msgid "" "Sets the WAL resource managers for which WAL consistency checks are done." -msgstr "" +msgstr "WAL 동시성 검사 완료용 WAL 자원 관리자 지정" -#: utils/misc/guc.c:4403 +#: 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 "" +"풀페이지 이미지가 모든 데이터 블록을 위해 기록될 것이며 WAL 재반영 결과를 이" +"중 검증을 합니다." -#: utils/misc/guc.c:4413 +#: utils/misc/guc_tables.c:4521 msgid "JIT provider to use." msgstr "사용할 JIT 제공자" -#: utils/misc/guc.c:4424 +#: utils/misc/guc_tables.c:4532 msgid "Log backtrace for errors in these functions." msgstr "이 함수들 안에 오류 추적용 로그를 남김" -#: utils/misc/guc.c:4444 +#: utils/misc/guc_tables.c:4543 +msgid "Use direct I/O for file access." +msgstr "파일 접근을 위해 직접 I/O를 사용합니다." + +#: utils/misc/guc_tables.c:4563 msgid "Sets whether \"\\'\" is allowed in string literals." msgstr "문자열에서 \"\\'\" 문자 사용을 허용할 것인지를 정하세요" -#: utils/misc/guc.c:4454 +#: utils/misc/guc_tables.c:4573 msgid "Sets the output format for bytea." msgstr "bytea 값의 표시 형식을 설정합니다." -#: utils/misc/guc.c:4464 +#: utils/misc/guc_tables.c:4583 msgid "Sets the message levels that are sent to the client." msgstr "클라이언트 측에 보여질 메시지 수준을 지정함." -#: utils/misc/guc.c:4465 utils/misc/guc.c:4530 utils/misc/guc.c:4541 -#: utils/misc/guc.c:4617 +#: 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 "" -"각 수준에는 이 수준 뒤에 있는 모든 수준이 포함됩니다. 수준이 뒤에 있을수" -"록 전송되는 메시지 수가 적습니다." +"각 수준은 이 수준 뒤에 있는 모든 수준이 포함됩니다. 수준이 뒤에 있을수록 전송" +"되는 메시지 수가 적습니다." -#: utils/misc/guc.c:4475 +#: utils/misc/guc_tables.c:4594 +msgid "Enables in-core computation of query identifiers." +msgstr "query_id를 내부적으로 사용함" + +#: utils/misc/guc_tables.c:4604 msgid "Enables the planner to use constraints to optimize queries." msgstr "실행계획기가 쿼리 최적화 작업에서 제약 조건을 사용하도록 함" -#: utils/misc/guc.c:4476 +#: utils/misc/guc_tables.c:4605 msgid "" "Table scans will be skipped if their constraints guarantee that no rows " "match the query." msgstr "" -"제약 조건에 의해 쿼리와 일치하는 행이 없는 경우 테이블 스캔을 건너뜁니" -"다." +"제약 조건에 의해 쿼리와 일치하는 행이 없는 경우 테이블 스캔을 건너뜁니다." -#: utils/misc/guc.c:4487 +#: utils/misc/guc_tables.c:4616 +msgid "Sets the default compression method for compressible values." +msgstr "압축 가능한 값을 압축하기 위한 기본 압축 방법을 지정합니다." + +#: utils/misc/guc_tables.c:4627 msgid "Sets the transaction isolation level of each new transaction." msgstr "각 새 트랜잭션의 트랜잭션 격리 수준을 설정합니다." -#: utils/misc/guc.c:4497 +#: utils/misc/guc_tables.c:4637 msgid "Sets the current transaction's isolation level." msgstr "현재 트랜잭션 독립성 수준(isolation level)을 지정함." -#: utils/misc/guc.c:4508 +#: utils/misc/guc_tables.c:4648 msgid "Sets the display format for interval values." msgstr "간격 값의 표시 형식을 설정합니다." -#: utils/misc/guc.c:4519 +#: utils/misc/guc_tables.c:4659 +msgid "Log level for reporting invalid ICU locale strings." +msgstr "" + +#: utils/misc/guc_tables.c:4669 msgid "Sets the verbosity of logged messages." msgstr "기록되는 메시지의 상세 정도를 지정합니다." -#: utils/misc/guc.c:4529 +#: utils/misc/guc_tables.c:4679 msgid "Sets the message levels that are logged." msgstr "서버 로그에 기록될 메시지 수준을 지정함." -#: utils/misc/guc.c:4540 +#: utils/misc/guc_tables.c:4690 msgid "" "Causes all statements generating error at or above this level to be logged." msgstr "" "오류가 있는 모든 쿼리문이나 지정한 로그 레벨 이상의 쿼리문을 로그로 남김" -#: utils/misc/guc.c:4551 +#: utils/misc/guc_tables.c:4701 msgid "Sets the type of statements logged." msgstr "서버로그에 기록될 구문 종류를 지정합니다." -#: utils/misc/guc.c:4561 +#: utils/misc/guc_tables.c:4711 msgid "Sets the syslog \"facility\" to be used when syslog enabled." msgstr "syslog 기능을 사용할 때, 사용할 syslog \"facility\" 값을 지정." -#: utils/misc/guc.c:4576 -msgid "Sets the session's behavior for triggers and rewrite rules." -msgstr "트리거 및 다시 쓰기 규칙에 대한 세션의 동작을 설정합니다." - -#: utils/misc/guc.c:4586 -msgid "Sets the current transaction's synchronization level." -msgstr "현재 트랜잭션 격리 수준(isolation level)을 지정함." - -#: utils/misc/guc.c:4596 -msgid "Allows archiving of WAL files using archive_command." -msgstr "archive_command를 사용하여 WAL 파일을 따로 보관하도록 설정합니다." - -#: utils/misc/guc.c:4606 -msgid "Sets the action to perform upon reaching the recovery target." -msgstr "" - -#: utils/misc/guc.c:4616 -msgid "Enables logging of recovery-related debugging information." -msgstr "복구 작업과 관련된 디버깅 정보를 기록하도록 합니다." - -#: utils/misc/guc.c:4632 -msgid "Collects function-level statistics on database activity." -msgstr "데이터베이스 활동에 대한 함수 수준 통계를 수집합니다." - -#: utils/misc/guc.c:4642 -msgid "Set the level of information written to the WAL." -msgstr "WAL에 저장할 내용 수준을 지정합니다." - -#: utils/misc/guc.c:4652 -msgid "Selects the dynamic shared memory implementation used." -msgstr "사용할 동적 공유 메모리 관리방식을 선택합니다." - -#: utils/misc/guc.c:4662 -msgid "" -"Selects the shared memory implementation used for the main shared memory " -"region." -msgstr "사용할 동적 공유 메모리 관리방식을 선택합니다." - -#: utils/misc/guc.c:4672 -msgid "Selects the method used for forcing WAL updates to disk." -msgstr "디스크에 대한 강제 WAL 업데이트에 사용되는 방법을 선택합니다." - -#: utils/misc/guc.c:4682 -msgid "Sets how binary values are to be encoded in XML." -msgstr "XML에서 바이너리 값이 인코딩되는 방식을 설정합니다." - -#: utils/misc/guc.c:4692 -msgid "" -"Sets whether XML data in implicit parsing and serialization operations is to " -"be considered as documents or content fragments." -msgstr "" -"암시적 구문 분석 및 직렬화 작업의 XML 데이터를 문서 또는 내용 조각으로 간주할" -"지 여부를 설정합니다." - -#: utils/misc/guc.c:4703 -msgid "Use of huge pages on Linux or Windows." -msgstr "리눅스 또는 Windows huge 페이지 사용 여부" - -#: utils/misc/guc.c:4713 -msgid "Forces use of parallel query facilities." -msgstr "병렬 쿼리 기능을 활성화" - -#: utils/misc/guc.c:4714 -msgid "" -"If possible, run query using a parallel worker and with parallel " -"restrictions." -msgstr "" - -#: utils/misc/guc.c:4724 -msgid "Chooses the algorithm for encrypting passwords." -msgstr "" - -#: utils/misc/guc.c:4734 -msgid "Controls the planner's selection of custom or generic plan." -msgstr "" - -#: utils/misc/guc.c:4735 -msgid "" -"Prepared statements can have custom and generic plans, and the planner will " -"attempt to choose which is better. This can be set to override the default " -"behavior." -msgstr "" - -#: utils/misc/guc.c:4747 -msgid "Sets the minimum SSL/TLS protocol version to use." -msgstr "사용할 최소 SSL/TLS 프로토콜 버전을 지정합니다." - -#: utils/misc/guc.c:4759 -msgid "Sets the maximum SSL/TLS protocol version to use." -msgstr "사용할 최대 SSL/TLS 프로토콜 버전을 지정합니다." - -#: utils/misc/guc.c:5562 -#, c-format -msgid "%s: could not access directory \"%s\": %s\n" -msgstr "%s: \"%s\" 디렉터리에 액세스할 수 없음: %s\n" - -#: utils/misc/guc.c:5567 -#, c-format -msgid "" -"Run initdb or pg_basebackup to initialize a PostgreSQL data directory.\n" -msgstr "" -"initdb 명령이나, pg_basebackup 명령으로 PostgreSQL 데이터 디렉터리를 초기화 " -"하세요.\n" - -#: utils/misc/guc.c:5587 -#, c-format -msgid "" -"%s does not know where to find the server configuration file.\n" -"You must specify the --config-file or -D invocation option or set the PGDATA " -"environment variable.\n" -msgstr "" -"%s 프로그램은 데이터베이스 시스템 환경 설정 파일을 찾지 못했습니다.\n" -"직접 --config-file 또는 -D 옵션을 이용해서 데이터 디렉터리를 지정하든지,\n" -"PGDATA 이름의 환경 변수를 만들고 그 값으로 해당 디렉터리를 지정한 뒤,\n" -"이 프로그램을 다시 실행해 보십시오.\n" - -#: utils/misc/guc.c:5606 -#, c-format -msgid "%s: could not access the server configuration file \"%s\": %s\n" -msgstr "%s: \"%s\" 환경 설정 파일을 접근할 수 없습니다: %s\n" - -#: utils/misc/guc.c:5632 -#, c-format -msgid "" -"%s does not know where to find the database system data.\n" -"This can be specified as \"data_directory\" in \"%s\", or by the -D " -"invocation option, or by the PGDATA environment variable.\n" -msgstr "" -"%s 프로그램은 데이터베이스 시스템 데이터 디렉터리를 찾지 못했습니다.\n" -"\"%s\" 파일에서 \"data_directory\" 값을 지정하든지,\n" -"직접 -D 옵션을 이용해서 데이터 디렉터리를 지정하든지,\n" -"PGDATA 이름의 환경 변수를 만들고 그 값으로 해당 디렉터리를 지정한 뒤,\n" -"이 프로그램을 다시 실행해 보십시오.\n" - -#: utils/misc/guc.c:5680 -#, c-format -msgid "" -"%s does not know where to find the \"hba\" configuration file.\n" -"This can be specified as \"hba_file\" in \"%s\", or by the -D invocation " -"option, or by the PGDATA environment variable.\n" -msgstr "" -"%s 프로그램은 \"hba\" 환경설정파일을 찾지 못했습니다.\n" -"\"%s\" 파일에서 \"hba_file\" 값을 지정하든지,\n" -"직접 -D 옵션을 이용해서 데이터 디렉터리를 지정하든지,\n" -"PGDATA 이름의 환경 변수를 만들고 그 값으로 해당 디렉터리를 지정한 뒤,\n" -"이 프로그램을 다시 실행해 보십시오.\n" - -#: utils/misc/guc.c:5703 -#, c-format -msgid "" -"%s does not know where to find the \"ident\" configuration file.\n" -"This can be specified as \"ident_file\" in \"%s\", or by the -D invocation " -"option, or by the PGDATA environment variable.\n" -msgstr "" -"%s 프로그램은 \"ident\" 환경설정파일을 찾지 못했습니다.\n" -"\"%s\" 파일에서 \"ident_file\" 값을 지정하든지,\n" -"직접 -D 옵션을 이용해서 데이터 디렉터리를 지정하든지,\n" -"PGDATA 이름의 환경 변수를 만들고 그 값으로 해당 디렉터리를 지정한 뒤,\n" -"이 프로그램을 다시 실행해 보십시오.\n" - -#: utils/misc/guc.c:6545 -msgid "Value exceeds integer range." -msgstr "값이 정수 범위를 초과합니다." - -#: utils/misc/guc.c:6781 -#, c-format -msgid "%d%s%s is outside the valid range for parameter \"%s\" (%d .. %d)" -msgstr "%d%s%s 값은 \"%s\" 매개 변수의 값으로 타당한 범위(%d .. %d)를 벗어남" - -#: utils/misc/guc.c:6817 -#, c-format -msgid "%g%s%s is outside the valid range for parameter \"%s\" (%g .. %g)" -msgstr "%g%s%s 값은 \"%s\" 매개 변수의 값으로 타당한 범위(%g .. %g)를 벗어남" - -#: utils/misc/guc.c:6973 utils/misc/guc.c:8340 -#, c-format -msgid "cannot set parameters during a parallel operation" -msgstr "병렬 작업 중에는 매개 변수를 설정할 수 없음" - -#: utils/misc/guc.c:6980 utils/misc/guc.c:7732 utils/misc/guc.c:7785 -#: utils/misc/guc.c:7836 utils/misc/guc.c:8169 utils/misc/guc.c:8936 -#: utils/misc/guc.c:9198 utils/misc/guc.c:10864 -#, c-format -msgid "unrecognized configuration parameter \"%s\"" -msgstr "알 수 없는 환경 매개 변수 이름: \"%s\"" - -#: utils/misc/guc.c:6995 utils/misc/guc.c:8181 -#, c-format -msgid "parameter \"%s\" cannot be changed" -msgstr "\"%s\" 매개 변수는 변경될 수 없음" - -#: utils/misc/guc.c:7018 utils/misc/guc.c:7212 utils/misc/guc.c:7302 -#: utils/misc/guc.c:7392 utils/misc/guc.c:7500 utils/misc/guc.c:7595 -#: guc-file.l:352 -#, c-format -msgid "parameter \"%s\" cannot be changed without restarting the server" -msgstr "\"%s\" 매개 변수는 서버 재실행 없이 지금 변경 될 수 없음" - -#: utils/misc/guc.c:7028 -#, c-format -msgid "parameter \"%s\" cannot be changed now" -msgstr "\"%s\" 매개 변수는 지금 변경 될 수 없음" - -#: utils/misc/guc.c:7046 utils/misc/guc.c:7093 utils/misc/guc.c:10880 -#, c-format -msgid "permission denied to set parameter \"%s\"" -msgstr "\"%s\" 매개 변수를 지정할 권한이 없습니다." - -#: utils/misc/guc.c:7083 -#, c-format -msgid "parameter \"%s\" cannot be set after connection start" -msgstr "\"%s\" 매개 변수값은 연결 시작한 뒤에는 변경할 수 없습니다" - -#: utils/misc/guc.c:7131 -#, c-format -msgid "cannot set parameter \"%s\" within security-definer function" -msgstr "보안 정의자 함수 내에서 \"%s\" 매개 변수를 설정할 수 없음" - -#: utils/misc/guc.c:7740 utils/misc/guc.c:7790 utils/misc/guc.c:9205 -#, c-format -msgid "must be superuser or a member of pg_read_all_settings to examine \"%s\"" -msgstr "\"%s\" 검사를 위한 pg_read_all_settings의 맴버는 superuser여야합니다" +#: utils/misc/guc_tables.c:4722 +msgid "Sets the session's behavior for triggers and rewrite rules." +msgstr "트리거 및 다시 쓰기 규칙에 대한 세션의 동작을 설정합니다." -#: utils/misc/guc.c:7881 -#, c-format -msgid "SET %s takes only one argument" -msgstr "SET %s 명령은 하나의 값만 지정해야합니다" +#: utils/misc/guc_tables.c:4732 +msgid "Sets the current transaction's synchronization level." +msgstr "현재 트랜잭션 격리 수준(isolation level)을 지정함." -#: utils/misc/guc.c:8129 -#, c-format -msgid "must be superuser to execute ALTER SYSTEM command" -msgstr "슈퍼유저만 ALTER SYSTEM 명령을 실행할 수 있음" +#: utils/misc/guc_tables.c:4742 +msgid "Allows archiving of WAL files using archive_command." +msgstr "archive_command를 사용하여 WAL 파일을 따로 보관하도록 설정합니다." -#: utils/misc/guc.c:8214 -#, c-format -msgid "parameter value for ALTER SYSTEM must not contain a newline" +#: utils/misc/guc_tables.c:4752 +msgid "Sets the action to perform upon reaching the recovery target." msgstr "" -"ALTER SYSTEM 명령으로 지정하는 매개 변수 값에는 줄바꿈 문자가 없어야 합니다" -#: utils/misc/guc.c:8259 -#, c-format -msgid "could not parse contents of file \"%s\"" -msgstr "\"%s\" 파일의 내용을 분석할 수 없음" +#: utils/misc/guc_tables.c:4762 +msgid "Enables logging of recovery-related debugging information." +msgstr "복구 작업과 관련된 디버깅 정보를 기록하도록 합니다." -#: utils/misc/guc.c:8416 -#, c-format -msgid "SET LOCAL TRANSACTION SNAPSHOT is not implemented" -msgstr "SET LOCAL TRANSACTION SNAPSHOT 명령은 아직 구현 되지 않았습니다" +#: utils/misc/guc_tables.c:4779 +msgid "Collects function-level statistics on database activity." +msgstr "데이터베이스 활동에 대한 함수 수준 통계를 수집합니다." -#: utils/misc/guc.c:8500 -#, c-format -msgid "SET requires parameter name" -msgstr "SET 명령은 매개 변수 이름이 필요합니다" +#: utils/misc/guc_tables.c:4790 +msgid "Sets the consistency of accesses to statistics data." +msgstr "통계 자료 접근의 동시성을 지정합니다." -#: utils/misc/guc.c:8633 -#, c-format -msgid "attempt to redefine parameter \"%s\"" -msgstr "\"%s\" 매개 변수를 다시 정의하려고 함" +#: utils/misc/guc_tables.c:4800 +msgid "Compresses full-page writes written in WAL file with specified method." +msgstr "WAL 파일에 페이지 전체를 기록할 때 사용할 압축 방법" -#: utils/misc/guc.c:10426 -#, c-format -msgid "while setting parameter \"%s\" to \"%s\"" -msgstr "\"%s\" 매개 변수 값을 \"%s\" (으)로 바꾸는 중" +#: utils/misc/guc_tables.c:4810 +msgid "Sets the level of information written to the WAL." +msgstr "WAL에 저장할 내용 수준을 지정합니다." -#: utils/misc/guc.c:10494 -#, c-format -msgid "parameter \"%s\" could not be set" -msgstr "\"%s\" 매개 변수는 설정할 수 없음" +#: utils/misc/guc_tables.c:4820 +msgid "Selects the dynamic shared memory implementation used." +msgstr "사용할 동적 공유 메모리 관리방식을 선택합니다." -#: utils/misc/guc.c:10584 -#, c-format -msgid "could not parse setting for parameter \"%s\"" -msgstr "지정한 \"%s\" 매개 변수값의 구문분석을 실패했습니다." +#: utils/misc/guc_tables.c:4830 +msgid "" +"Selects the shared memory implementation used for the main shared memory " +"region." +msgstr "사용할 동적 공유 메모리 관리방식을 선택합니다." -#: utils/misc/guc.c:10942 utils/misc/guc.c:10976 -#, c-format -msgid "invalid value for parameter \"%s\": %d" -msgstr "잘못된 \"%s\" 매개 변수의 값: %d" +#: utils/misc/guc_tables.c:4840 +msgid "Selects the method used for forcing WAL updates to disk." +msgstr "디스크에 대한 강제 WAL 업데이트에 사용되는 방법을 선택합니다." -#: utils/misc/guc.c:11010 -#, c-format -msgid "invalid value for parameter \"%s\": %g" -msgstr "잘못된 \"%s\" 매개 변수의 값: %g" +#: utils/misc/guc_tables.c:4850 +msgid "Sets how binary values are to be encoded in XML." +msgstr "XML에서 바이너리 값이 인코딩되는 방식을 설정합니다." -#: utils/misc/guc.c:11280 -#, c-format +#: utils/misc/guc_tables.c:4860 msgid "" -"\"temp_buffers\" cannot be changed after any temporary tables have been " -"accessed in the session." +"Sets whether XML data in implicit parsing and serialization operations is to " +"be considered as documents or content fragments." msgstr "" -"해당 세션에서 어떤 임시 테이블도 사용하고 있지 않아야 \"temp_buffers\" 설정" -"을 변경할 수 있습니다." +"암시적 구문 분석 및 직렬화 작업의 XML 데이터를 문서 또는 내용 조각으로 간주할" +"지 여부를 설정합니다." -#: utils/misc/guc.c:11292 -#, c-format -msgid "Bonjour is not supported by this build" -msgstr "Bonjour 기능을 뺀 채로 서버가 만들어졌습니다." +#: utils/misc/guc_tables.c:4871 +msgid "Use of huge pages on Linux or Windows." +msgstr "리눅스 또는 Windows huge 페이지 사용 여부" -#: utils/misc/guc.c:11305 -#, c-format -msgid "SSL is not supported by this build" -msgstr "SSL 접속 기능을 뺀 채로 서버가 만들어졌습니다." +#: utils/misc/guc_tables.c:4881 +msgid "Prefetch referenced blocks during recovery." +msgstr "복구 작업 중에 참조하는 블록을 미리 준비하는 방법." -#: utils/misc/guc.c:11317 -#, c-format -msgid "Cannot enable parameter when \"log_statement_stats\" is true." -msgstr "\"log_statement_stats\" 값이 true 일 때는 이 값을 활성화할 수 없습니다" +#: utils/misc/guc_tables.c:4882 +msgid "Look ahead in the WAL to find references to uncached data." +msgstr "따라잡지 못한 데이터를 WAL에서 미리 준비함" -#: utils/misc/guc.c:11329 -#, c-format +#: utils/misc/guc_tables.c:4891 +msgid "Forces the planner's use parallel query nodes." +msgstr "병렬 쿼리를 강제로 사용하도록 지정합니다." + +#: utils/misc/guc_tables.c:4892 msgid "" -"Cannot enable \"log_statement_stats\" when \"log_parser_stats\", " -"\"log_planner_stats\", or \"log_executor_stats\" is true." +"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 "" -"\"log_parser_stats\", \"log_planner_stats\", \"log_executor_stats\" 설정값들 " -"중 하나가 true 일 때는 \"log_statement_stats\" 설정을 활성화할 수 없습니다" -#: utils/misc/guc.c:11559 -#, c-format -msgid "" -"effective_io_concurrency must be set to 0 on platforms that lack " -"posix_fadvise()." +#: utils/misc/guc_tables.c:4904 +msgid "Chooses the algorithm for encrypting passwords." msgstr "" -#: utils/misc/guc.c:11572 -#, c-format +#: utils/misc/guc_tables.c:4914 +msgid "Controls the planner's selection of custom or generic plan." +msgstr "" + +#: utils/misc/guc_tables.c:4915 msgid "" -"maintenance_io_concurrency must be set to 0 on platforms that lack " -"posix_fadvise()." +"Prepared statements can have custom and generic plans, and the planner will " +"attempt to choose which is better. This can be set to override the default " +"behavior." msgstr "" -#: utils/misc/guc.c:11688 -#, c-format -msgid "invalid character" -msgstr "잘못된 문자" +#: utils/misc/guc_tables.c:4927 +msgid "Sets the minimum SSL/TLS protocol version to use." +msgstr "사용할 최소 SSL/TLS 프로토콜 버전을 지정합니다." -#: utils/misc/guc.c:11748 -#, c-format -msgid "recovery_target_timeline is not a valid number." -msgstr "recovery_target_timeline 값으로 잘못된 숫자입니다." +#: utils/misc/guc_tables.c:4939 +msgid "Sets the maximum SSL/TLS protocol version to use." +msgstr "사용할 최대 SSL/TLS 프로토콜 버전을 지정합니다." -#: utils/misc/guc.c:11788 -#, c-format -msgid "multiple recovery targets specified" -msgstr "복구 대상을 다중 지정했음" +#: utils/misc/guc_tables.c:4951 +msgid "" +"Sets the method for synchronizing the data directory before crash recovery." +msgstr "" -#: utils/misc/guc.c:11789 -#, c-format +#: utils/misc/guc_tables.c:4960 msgid "" -"At most one of recovery_target, recovery_target_lsn, recovery_target_name, " -"recovery_target_time, recovery_target_xid may be set." +"Forces immediate streaming or serialization of changes in large transactions." msgstr "" -#: utils/misc/guc.c:11797 -#, c-format -msgid "The only allowed value is \"immediate\"." -msgstr "이 값으로는 \"immediate\" 만 허용합니다." +#: 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 "" -#: utils/misc/help_config.c:130 +#: utils/misc/help_config.c:129 #, c-format msgid "internal error: unrecognized run-time parameter type\n" msgstr "내부 오류: 알 수 없는 실시간 서버 설정 변수\n" -#: utils/misc/pg_config.c:60 -#, c-format -msgid "" -"query-specified return tuple and function return type are not compatible" -msgstr "" - -#: utils/misc/pg_controldata.c:60 utils/misc/pg_controldata.c:138 -#: utils/misc/pg_controldata.c:241 utils/misc/pg_controldata.c:306 +#: utils/misc/pg_controldata.c:48 utils/misc/pg_controldata.c:86 +#: utils/misc/pg_controldata.c:175 utils/misc/pg_controldata.c:214 #, c-format msgid "calculated CRC checksum does not match value stored in file" msgstr "계산된 CRC 체크섬 값이 파일에 저장된 값과 다름" @@ -28629,7 +31659,7 @@ msgstr "" "테이블 소유주를 위해 정책을 비활성하려면, ALTER TABLE NO FORCE ROW LEVEL " "SECURITY 명령을 사용하세요" -#: utils/misc/timeout.c:395 +#: utils/misc/timeout.c:524 #, c-format msgid "cannot add more timeout reasons" msgstr "시간 초과로 더이상 추가할 수 없음" @@ -28700,121 +31730,107 @@ msgstr "\"%s\" 파일에서 time zone 파일 재귀호출 최대치를 초과했 msgid "could not read time zone file \"%s\": %m" msgstr "\"%s\" time zone 파일을 읽을 수 없음: %m" -#: utils/misc/tzparser.c:375 +#: utils/misc/tzparser.c:376 #, c-format msgid "line is too long in time zone file \"%s\", line %d" msgstr "\"%s\" 표준 시간대 파일의 %d번째 줄이 너무 깁니다." -#: utils/misc/tzparser.c:398 +#: utils/misc/tzparser.c:400 #, c-format msgid "@INCLUDE without file name in time zone file \"%s\", line %d" msgstr "\"%s\" 표준 시간대 파일의 %d번째 줄에 파일 이름이 없는 @INCLUDE가 있음" -#: utils/mmgr/aset.c:476 utils/mmgr/generation.c:234 utils/mmgr/slab.c:236 +#: utils/mmgr/aset.c:446 utils/mmgr/generation.c:206 utils/mmgr/slab.c:367 #, c-format msgid "Failed while creating memory context \"%s\"." msgstr "\"%s\" 메모리 컨텍스트를 만드는 동안 오류가 발생했습니다." -#: utils/mmgr/dsa.c:519 utils/mmgr/dsa.c:1332 +#: utils/mmgr/dsa.c:532 utils/mmgr/dsa.c:1346 #, c-format msgid "could not attach to dynamic shared area" msgstr "동적 공유 메모리 영역을 할당할 수 없음" -#: utils/mmgr/mcxt.c:822 utils/mmgr/mcxt.c:858 utils/mmgr/mcxt.c:896 -#: utils/mmgr/mcxt.c:934 utils/mmgr/mcxt.c:970 utils/mmgr/mcxt.c:1001 -#: utils/mmgr/mcxt.c:1037 utils/mmgr/mcxt.c:1089 utils/mmgr/mcxt.c:1124 -#: utils/mmgr/mcxt.c:1159 +#: utils/mmgr/mcxt.c:1047 utils/mmgr/mcxt.c:1083 utils/mmgr/mcxt.c:1121 +#: utils/mmgr/mcxt.c:1159 utils/mmgr/mcxt.c:1247 utils/mmgr/mcxt.c:1278 +#: utils/mmgr/mcxt.c:1314 utils/mmgr/mcxt.c:1503 utils/mmgr/mcxt.c:1548 +#: utils/mmgr/mcxt.c:1605 #, c-format msgid "Failed on request of size %zu in memory context \"%s\"." msgstr "크기가 %zu인 요청에서 오류가 발생했습니다. 해당 메모리 컨텍스트 \"%s\"" -#: utils/mmgr/portalmem.c:187 +#: utils/mmgr/mcxt.c:1210 +#, c-format +msgid "logging memory contexts of PID %d" +msgstr "" + +#: utils/mmgr/portalmem.c:188 #, c-format msgid "cursor \"%s\" already exists" msgstr "\"%s\" 이름의 커서가 이미 있음" -#: utils/mmgr/portalmem.c:191 +#: utils/mmgr/portalmem.c:192 #, c-format msgid "closing existing cursor \"%s\"" msgstr "이미 있는 \"%s\" 커서를 닫습니다" -#: utils/mmgr/portalmem.c:400 +#: utils/mmgr/portalmem.c:402 #, c-format msgid "portal \"%s\" cannot be run" msgstr "\"%s\" portal 실행할 수 없음" -#: utils/mmgr/portalmem.c:478 +#: utils/mmgr/portalmem.c:480 #, c-format msgid "cannot drop pinned portal \"%s\"" msgstr "\"%s\" 선점된 포털을 삭제할 수 없음" -#: utils/mmgr/portalmem.c:486 +#: utils/mmgr/portalmem.c:488 #, c-format msgid "cannot drop active portal \"%s\"" msgstr "\"%s\" 활성 포털을 삭제할 수 없음" -#: utils/mmgr/portalmem.c:731 +#: utils/mmgr/portalmem.c:739 #, c-format msgid "cannot PREPARE a transaction that has created a cursor WITH HOLD" msgstr "WITH HOLD 옵션으로 커서를 만든 트랜잭션을 PREPARE할 수 없음" -#: utils/mmgr/portalmem.c:1270 +#: utils/mmgr/portalmem.c:1230 #, c-format msgid "" "cannot perform transaction commands inside a cursor loop that is not read-" "only" msgstr "" -#: utils/sort/logtape.c:266 utils/sort/logtape.c:289 +#: utils/sort/logtape.c:266 utils/sort/logtape.c:287 #, c-format msgid "could not seek to block %ld of temporary file" msgstr "임시 파일의 %ld 블럭을 찾을 수 없음" -#: utils/sort/logtape.c:295 -#, c-format -msgid "could not read block %ld of temporary file: read only %zu of %zu bytes" -msgstr "%ld 블럭을 임시 파일에서 읽을 수 없음: %zu / %zu 바이트만 읽음" - -#: utils/sort/sharedtuplestore.c:430 utils/sort/sharedtuplestore.c:439 -#: utils/sort/sharedtuplestore.c:462 utils/sort/sharedtuplestore.c:479 -#: utils/sort/sharedtuplestore.c:496 -#, c-format -msgid "could not read from shared tuplestore temporary file" -msgstr "tuplestore 임시 파일을 읽을 수 없음" - -#: utils/sort/sharedtuplestore.c:485 +#: utils/sort/sharedtuplestore.c:467 #, c-format msgid "unexpected chunk in shared tuplestore temporary file" msgstr "공유된 tuplestore 임시 파일에서 예상치 못한 청크" -#: utils/sort/sharedtuplestore.c:569 +#: utils/sort/sharedtuplestore.c:549 #, c-format msgid "could not seek to block %u in shared tuplestore temporary file" msgstr "공유 tuplestore 임시 파일에서 %u 블록을 찾을 수 없음" -#: utils/sort/sharedtuplestore.c:576 -#, c-format -msgid "" -"could not read from shared tuplestore temporary file: read only %zu of %zu " -"bytes" -msgstr "공유 tuplestore 임시 파일을 읽을 수 없음: %zu / %zu 바이트만 읽음" - -#: utils/sort/tuplesort.c:3140 +#: utils/sort/tuplesort.c:2372 #, c-format msgid "cannot have more than %d runs for an external sort" msgstr "외부 정렬을 위해 %d 개 이상의 런을 만들 수 없음" -#: utils/sort/tuplesort.c:4221 +#: utils/sort/tuplesortvariants.c:1363 #, c-format msgid "could not create unique index \"%s\"" msgstr "\"%s\" 고유 인덱스를 만들 수 없음" -#: utils/sort/tuplesort.c:4223 +#: utils/sort/tuplesortvariants.c:1365 #, c-format msgid "Key %s is duplicated." msgstr "%s 키가 중복됨" -#: utils/sort/tuplesort.c:4224 +#: utils/sort/tuplesortvariants.c:1366 #, c-format msgid "Duplicate keys exist." msgstr "중복된 키가 있음" @@ -28828,39 +31844,32 @@ msgstr "중복된 키가 있음" msgid "could not seek in tuplestore temporary file" msgstr "tuplestore 임시 파일에서 seek 작업을 할 수 없음" -#: utils/sort/tuplestore.c:1477 utils/sort/tuplestore.c:1540 -#: utils/sort/tuplestore.c:1548 -#, c-format -msgid "" -"could not read from tuplestore temporary file: read only %zu of %zu bytes" -msgstr "tuplestore 임시 파일을 읽을 수 없음: %zu / %zu 바이트만 읽음" - -#: utils/time/snapmgr.c:624 +#: utils/time/snapmgr.c:571 #, c-format msgid "The source transaction is not running anymore." msgstr "소스 트랜잭션이 더 이상 실행중이지 않음" -#: utils/time/snapmgr.c:1232 +#: utils/time/snapmgr.c:1166 #, c-format msgid "cannot export a snapshot from a subtransaction" msgstr "서브트랜잭션에서 스냅샷을 내보낼 수 없음" -#: utils/time/snapmgr.c:1391 utils/time/snapmgr.c:1396 -#: utils/time/snapmgr.c:1401 utils/time/snapmgr.c:1416 -#: utils/time/snapmgr.c:1421 utils/time/snapmgr.c:1426 -#: utils/time/snapmgr.c:1441 utils/time/snapmgr.c:1446 -#: utils/time/snapmgr.c:1451 utils/time/snapmgr.c:1553 -#: utils/time/snapmgr.c:1569 utils/time/snapmgr.c:1594 +#: utils/time/snapmgr.c:1325 utils/time/snapmgr.c:1330 +#: utils/time/snapmgr.c:1335 utils/time/snapmgr.c:1350 +#: utils/time/snapmgr.c:1355 utils/time/snapmgr.c:1360 +#: utils/time/snapmgr.c:1375 utils/time/snapmgr.c:1380 +#: utils/time/snapmgr.c:1385 utils/time/snapmgr.c:1487 +#: utils/time/snapmgr.c:1503 utils/time/snapmgr.c:1528 #, c-format msgid "invalid snapshot data in file \"%s\"" msgstr "\"%s\" 파일에 유효하지 않은 스냅샷 자료가 있습니다" -#: utils/time/snapmgr.c:1488 +#: utils/time/snapmgr.c:1422 #, c-format msgid "SET TRANSACTION SNAPSHOT must be called before any query" msgstr "쿼리보다 먼저 SET TRANSACTION SNAPSHOP 명령을 호출해야 함" -#: utils/time/snapmgr.c:1497 +#: utils/time/snapmgr.c:1431 #, c-format msgid "" "a snapshot-importing transaction must have isolation level SERIALIZABLE or " @@ -28869,12 +31878,12 @@ msgstr "" "스냅샷 가져오기 트랜잭션은 그 격리 수준이 SERIALIZABLE 또는 REPEATABLE READ " "여야 함" -#: utils/time/snapmgr.c:1506 utils/time/snapmgr.c:1515 +#: utils/time/snapmgr.c:1440 utils/time/snapmgr.c:1449 #, c-format msgid "invalid snapshot identifier: \"%s\"" msgstr "잘못된 스냅샷 식별자: \"%s\"" -#: utils/time/snapmgr.c:1607 +#: utils/time/snapmgr.c:1541 #, c-format msgid "" "a serializable transaction cannot import a snapshot from a non-serializable " @@ -28883,7 +31892,7 @@ msgstr "" "직렬화 가능한 트랜잭션은 직렬화 가능하지 않은 트랜잭션에서 스냅샷을 가져올 " "수 없음" -#: utils/time/snapmgr.c:1611 +#: utils/time/snapmgr.c:1545 #, c-format msgid "" "a non-read-only serializable transaction cannot import a snapshot from a " @@ -28891,478 +31900,502 @@ msgid "" msgstr "" "읽기-쓰기 직렬화된 트랜잭션이 읽기 전용 트랜잭션의 스냅샷을 가져올 수 없음" -#: utils/time/snapmgr.c:1626 +#: utils/time/snapmgr.c:1560 #, c-format msgid "cannot import a snapshot from a different database" msgstr "서로 다른 데이터베이스를 대상으로는 스냅샷을 가져올 수 없음" -#: gram.y:1047 +#: gram.y:1197 #, c-format msgid "UNENCRYPTED PASSWORD is no longer supported" msgstr "UNENCRYPTED PASSWORD 옵션은 더이상 지원하지 않음" -#: gram.y:1048 +#: gram.y:1198 #, c-format msgid "Remove UNENCRYPTED to store the password in encrypted form instead." msgstr "" -#: gram.y:1110 -#, c-format -msgid "unrecognized role option \"%s\"" -msgstr "인식할 수 없는 롤 옵션 \"%s\"" - -#: gram.y:1357 gram.y:1372 +#: gram.y:1525 gram.y:1541 #, c-format msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements" msgstr "" "CREATE SCHEMA IF NOT EXISTS 구문에서는 스키마 요소들을 포함할 수 없습니다." -#: gram.y:1518 +#: gram.y:1693 #, c-format msgid "current database cannot be changed" msgstr "현재 데이터베이스를 바꿀 수 없음" -#: gram.y:1642 +#: gram.y:1826 #, c-format msgid "time zone interval must be HOUR or HOUR TO MINUTE" msgstr "" "지역시간대 간격(time zone interval) 값은 시(HOUR) 또는 시분(HOUR TO MINUTE) " -"값이어야합니다" +"값이어야 합니다" -#: gram.y:2177 +#: gram.y:2443 #, c-format msgid "column number must be in range from 1 to %d" msgstr "칼럼 번호는 1 - %d 사이의 범위에 있어야 합니다." -#: gram.y:2709 +#: gram.y:3039 #, c-format msgid "sequence option \"%s\" not supported here" msgstr "\"%s\" 시퀀스 옵션은 지원되지 않음" -#: gram.y:2738 +#: gram.y:3068 #, c-format msgid "modulus for hash partition provided more than once" msgstr "해시 파티션용 모듈을 한 번 이상 지정했습니다" -#: gram.y:2747 +#: gram.y:3077 #, c-format msgid "remainder for hash partition provided more than once" msgstr "해시 파티션용 나머지 처리기를 한 번 이상 지정했습니다" -#: gram.y:2754 +#: gram.y:3084 #, c-format msgid "unrecognized hash partition bound specification \"%s\"" msgstr "잘못된 해시 파티션 범위 명세 \"%s\"" -#: gram.y:2762 +#: gram.y:3092 #, c-format msgid "modulus for hash partition must be specified" msgstr "해시 파티션용 모듈을 지정하세요" -#: gram.y:2766 +#: gram.y:3096 #, c-format msgid "remainder for hash partition must be specified" msgstr "해시 파티션용 나머지 처리기를 지정하세요" -#: gram.y:2967 gram.y:3000 +#: gram.y:3304 gram.y:3338 #, c-format msgid "STDIN/STDOUT not allowed with PROGRAM" msgstr "PROGRAM 옵션과 STDIN/STDOUT 옵션은 함께 쓸 수 없습니다" -#: gram.y:2973 +#: gram.y:3310 #, c-format msgid "WHERE clause not allowed with COPY TO" msgstr "WHERE 절은 COPY TO 구문을 허용하지 않음" -#: gram.y:3305 gram.y:3312 gram.y:11647 gram.y:11655 +#: gram.y:3649 gram.y:3656 gram.y:12821 gram.y:12829 #, c-format msgid "GLOBAL is deprecated in temporary table creation" msgstr "GLOBAL 예약어는 임시 테이블 만들기에서 더 이상 사용하지 않습니다" -#: gram.y:3552 +#: gram.y:3932 #, c-format msgid "for a generated column, GENERATED ALWAYS must be specified" msgstr "" -#: gram.y:4512 +#: gram.y:4315 +#, c-format +msgid "a column list with %s is only supported for ON DELETE actions" +msgstr "%s의 칼럼 목록은 ON DELETE 액션용으로만 지원합니다." + +#: gram.y:5027 #, c-format msgid "CREATE EXTENSION ... FROM is no longer supported" msgstr "CREATE EXTENSION ... FROM 구문은 지원하지 않습니다." -#: gram.y:5338 +#: gram.y:5725 #, c-format msgid "unrecognized row security option \"%s\"" msgstr "인식할 수 없는 로우 단위 보안 옵션 \"%s\"" -#: gram.y:5339 +#: gram.y:5726 #, c-format msgid "Only PERMISSIVE or RESTRICTIVE policies are supported currently." msgstr "" -#: gram.y:5452 +#: gram.y:5811 +#, c-format +msgid "CREATE OR REPLACE CONSTRAINT TRIGGER is not supported" +msgstr "CREATE OR REPLACE CONSTRAINT TRIGGER 구문은 지원하지 않습니다." + +#: gram.y:5848 msgid "duplicate trigger events specified" msgstr "중복 트리거 이벤트가 지정됨" -#: gram.y:5600 +#: gram.y:5997 #, c-format msgid "conflicting constraint properties" msgstr "제약조건 속성이 충돌함" -#: gram.y:5696 +#: gram.y:6096 #, c-format msgid "CREATE ASSERTION is not yet implemented" msgstr "CREATE ASSERTION 명령은 아직 구현 되지 않았습니다" -#: gram.y:6079 +#: gram.y:6504 #, c-format msgid "RECHECK is no longer required" msgstr "RECHECK는 더 이상 필요하지 않음" -#: gram.y:6080 +#: gram.y:6505 #, c-format msgid "Update your data type." msgstr "자료형을 업데이트하십시오." -#: gram.y:7831 +#: gram.y:8378 #, c-format msgid "aggregates cannot have output arguments" msgstr "집계 함수는 output 인자를 지정할 수 없음" -#: gram.y:10153 gram.y:10171 +#: gram.y:11054 gram.y:11073 #, c-format msgid "WITH CHECK OPTION not supported on recursive views" msgstr "WITH CHECK OPTION 구문은 재귀적인 뷰에서 지원하지 않습니다" -#: gram.y:11779 +#: gram.y:12960 #, c-format msgid "LIMIT #,# syntax is not supported" msgstr "LIMIT #,# 구문은 지원하지 않습니다." -#: gram.y:11780 +#: gram.y:12961 #, c-format msgid "Use separate LIMIT and OFFSET clauses." msgstr "LIMIT # OFFSET # 구문을 사용하세요." -#: gram.y:12106 gram.y:12131 -#, c-format -msgid "VALUES in FROM must have an alias" -msgstr "FROM 안의 VALUES는 반드시 alias가 있어야합니다" - -#: gram.y:12107 gram.y:12132 -#, c-format -msgid "For example, FROM (VALUES ...) [AS] foo." -msgstr "예, FROM (VALUES ...) [AS] foo." - -#: gram.y:12112 gram.y:12137 -#, c-format -msgid "subquery in FROM must have an alias" -msgstr "FROM 절 내의 subquery 에는 반드시 alias 를 가져야만 합니다" - -#: gram.y:12113 gram.y:12138 -#, c-format -msgid "For example, FROM (SELECT ...) [AS] foo." -msgstr "예, FROM (SELECT ...) [AS] foo." - -#: gram.y:12591 +#: gram.y:13821 #, c-format msgid "only one DEFAULT value is allowed" msgstr "" -#: gram.y:12600 +#: gram.y:13830 #, c-format msgid "only one PATH value per column is allowed" msgstr "" -#: gram.y:12609 +#: gram.y:13839 #, c-format msgid "conflicting or redundant NULL / NOT NULL declarations for column \"%s\"" msgstr "NULL/NOT NULL 선언이 서로 충돌합니다 : \"%s\" 칼럼" -#: gram.y:12618 +#: gram.y:13848 #, c-format msgid "unrecognized column option \"%s\"" msgstr "인식할 수 없는 칼럼 옵션 \"%s\"" -#: gram.y:12872 +#: gram.y:14102 #, c-format msgid "precision for type float must be at least 1 bit" -msgstr "실수형 자료의 정밀도 값으로는 적어도 1 bit 이상을 지정해야합니다." +msgstr "실수형 자료의 정밀도 값으로는 적어도 1 bit 이상을 지정해야 합니다." -#: gram.y:12881 +#: gram.y:14111 #, c-format msgid "precision for type float must be less than 54 bits" msgstr "실수형 자료의 정밀도 값으로 최대 54 bit 까지입니다." -#: gram.y:13372 +#: gram.y:14614 #, c-format msgid "wrong number of parameters on left side of OVERLAPS expression" msgstr "OVERLAPS 식의 왼쪽에 있는 매개 변수 수가 잘못됨" -#: gram.y:13377 +#: gram.y:14619 #, c-format msgid "wrong number of parameters on right side of OVERLAPS expression" msgstr "OVERLAPS 식의 오른쪽에 있는 매개 변수 수가 잘못됨" -#: gram.y:13552 +#: gram.y:14796 #, c-format msgid "UNIQUE predicate is not yet implemented" msgstr "UNIQUE 술어는 아직 구현되지 못했습니다" -#: gram.y:13915 +#: gram.y:15212 #, c-format msgid "cannot use multiple ORDER BY clauses with WITHIN GROUP" msgstr "WITHIN GROUP 구문 안에서 중복된 ORDER BY 구문은 허용하지 않습니다" -#: gram.y:13920 +#: gram.y:15217 #, c-format msgid "cannot use DISTINCT with WITHIN GROUP" msgstr "DISTINCT과 WITHIN GROUP을 함께 쓸 수 없습니다" -#: gram.y:13925 +#: gram.y:15222 #, c-format msgid "cannot use VARIADIC with WITHIN GROUP" msgstr "VARIADIC과 WITHIN GROUP을 함께 쓸 수 없습니다" -#: gram.y:14391 gram.y:14414 +#: gram.y:15856 gram.y:15880 #, c-format msgid "frame start cannot be UNBOUNDED FOLLOWING" msgstr "프레임 시작은 UNBOUNDED FOLLOWING일 수 없음" -#: gram.y:14396 +#: gram.y:15861 #, c-format msgid "frame starting from following row cannot end with current row" msgstr "따라오는 로우의 프레임 시작은 현재 로우의 끝일 수 없습니다" -#: gram.y:14419 +#: gram.y:15885 #, c-format msgid "frame end cannot be UNBOUNDED PRECEDING" msgstr "프레임 끝은 UNBOUNDED PRECEDING일 수 없음" -#: gram.y:14425 +#: gram.y:15891 #, c-format msgid "frame starting from current row cannot have preceding rows" msgstr "현재 로우의 프레임 시작은 선행하는 로우를 가질 수 없습니다" -#: gram.y:14432 +#: gram.y:15898 #, c-format msgid "frame starting from following row cannot have preceding rows" msgstr "따라오는 로우의 프레임 시작은 선행하는 로우를 가질 수 없습니다" -#: gram.y:15082 +#: gram.y:16659 #, c-format msgid "type modifier cannot have parameter name" msgstr "자료형 한정자는 매개 변수 이름을 사용할 수 없음" -#: gram.y:15088 +#: gram.y:16665 #, c-format msgid "type modifier cannot have ORDER BY" msgstr "자료형 한정자는 ORDER BY 구문을 사용할 수 없음" -#: gram.y:15153 gram.y:15160 +#: gram.y:16733 gram.y:16740 gram.y:16747 #, c-format msgid "%s cannot be used as a role name here" msgstr "%s 이름은 여기서 롤 이름으로 사용할 수 없음" -#: gram.y:15841 gram.y:16030 +#: gram.y:16837 gram.y:18294 +#, c-format +msgid "WITH TIES cannot be specified without ORDER BY clause" +msgstr "" + +#: gram.y:17973 gram.y:18160 msgid "improper use of \"*\"" msgstr "\"*\" 사용이 잘못됨" -#: gram.y:16094 +#: 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 "" -#: gram.y:16131 +#: gram.y:18261 #, c-format msgid "multiple ORDER BY clauses not allowed" msgstr "중복된 ORDER BY 구문은 허용하지 않습니다" -#: gram.y:16142 +#: gram.y:18272 #, c-format msgid "multiple OFFSET clauses not allowed" msgstr "중복된 OFFSET 구문은 허용하지 않습니다" -#: gram.y:16151 +#: gram.y:18281 #, c-format msgid "multiple LIMIT clauses not allowed" msgstr "중복된 LIMIT 구문은 허용하지 않습니다" -#: gram.y:16160 +#: gram.y:18290 #, c-format msgid "multiple limit options not allowed" msgstr "중복된 limit 옵션은 허용하지 않음" -#: gram.y:16164 -#, c-format -msgid "WITH TIES cannot be specified without ORDER BY clause" -msgstr "" - -#: gram.y:16172 +#: gram.y:18317 #, c-format msgid "multiple WITH clauses not allowed" msgstr "중복된 WITH 절은 허용하지 않음" -#: gram.y:16376 +#: gram.y:18510 #, c-format msgid "OUT and INOUT arguments aren't allowed in TABLE functions" msgstr "OUT 및 INOUT 인자는 TABLE 함수에 사용할 수 없음" -#: gram.y:16472 +#: gram.y:18643 #, c-format msgid "multiple COLLATE clauses not allowed" msgstr "중복된 COLLATE 구문은 허용하지 않습니다" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:16510 gram.y:16523 +#: gram.y:18681 gram.y:18694 #, c-format msgid "%s constraints cannot be marked DEFERRABLE" msgstr "%s 제약조건에는 DEFERRABLE 옵션을 쓸 수 없음" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:16536 +#: gram.y:18707 #, c-format msgid "%s constraints cannot be marked NOT VALID" msgstr "%s 제약조건에는 NOT VALID 옵션을 쓸 수 없음" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:16549 +#: gram.y:18720 #, c-format msgid "%s constraints cannot be marked NO INHERIT" msgstr "%s 제약조건에는 NO INHERIT 옵션을 쓸 수 없음" -#: guc-file.l:315 +#: gram.y:18742 #, c-format -msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %u" -msgstr "알 수 없는 환경 매개 변수 이름: \"%s\", 해당 파일: \"%s\", 줄번호: %u" +msgid "unrecognized partitioning strategy \"%s\"" +msgstr "알 수 없는 파티션 규칙 \"%s\"" -#: guc-file.l:388 +#: gram.y:18766 #, c-format -msgid "parameter \"%s\" removed from configuration file, reset to default" -msgstr "환경설정 파일에 \"%s\" 매개 변수가 빠졌음, 초기값을 사용함" +msgid "invalid publication object list" +msgstr "잘못된 발행 객체 목록" -#: guc-file.l:454 +#: gram.y:18767 #, c-format -msgid "parameter \"%s\" changed to \"%s\"" -msgstr "\"%s\" 매개 변수 값을 \"%s\"(으)로 바꿨음" +msgid "" +"One of TABLE or TABLES IN SCHEMA must be specified before a standalone table " +"or schema name." +msgstr "" -#: guc-file.l:496 +#: gram.y:18783 #, c-format -msgid "configuration file \"%s\" contains errors" -msgstr "\"%s\" 환경 설정파일에 오류가 있음" +msgid "invalid table name" +msgstr "잘못된 테이블 이름" -#: guc-file.l:501 +#: gram.y:18804 #, c-format -msgid "" -"configuration file \"%s\" contains errors; unaffected changes were applied" -msgstr "\"%s\" 환경 설정 파일에 오류가 있어 새로 변경될 설정이 없습니다" +msgid "WHERE clause not allowed for schema" +msgstr "WHERE 절은 스키마용으로 허용하지 않음" -#: guc-file.l:506 +#: gram.y:18811 #, c-format -msgid "configuration file \"%s\" contains errors; no changes were applied" -msgstr "\"%s\" 환경 설정 파일에 오류가 있어 아무 설정도 반영되지 않았습니다." +msgid "column specification not allowed for schema" +msgstr "칼럼 명세는 스키마용으로 허용하지 않음" + +#: gram.y:18825 +#, c-format +msgid "invalid schema name" +msgstr "잘못된 스키마 이름" -#: guc-file.l:578 +#: guc-file.l:192 #, c-format msgid "empty configuration file name: \"%s\"" msgstr "비어있는 환경 설정 파일 이름: \"%s\"" -#: guc-file.l:595 +#: guc-file.l:209 #, c-format msgid "" "could not open configuration file \"%s\": maximum nesting depth exceeded" msgstr "설정 파일 \"%s\"을 열 수 없습니다: 최대 디렉터리 깊이를 초과했음" -#: guc-file.l:615 +#: guc-file.l:229 #, c-format msgid "configuration file recursion in \"%s\"" msgstr "\"%s\" 안에 환경 설정파일이 서로 참조함" -#: guc-file.l:642 +#: guc-file.l:245 +#, c-format +msgid "could not open configuration file \"%s\": %m" +msgstr "\"%s\" 설정 파일 을 열수 없습니다: %m" + +#: guc-file.l:256 #, c-format msgid "skipping missing configuration file \"%s\"" msgstr "\"%s\" 환경 설정파일이 없으나 건너뜀" -#: guc-file.l:896 +#: guc-file.l:511 #, c-format msgid "syntax error in file \"%s\" line %u, near end of line" msgstr "\"%s\" 파일 %u 줄 끝부분에서 구문 오류 있음" -#: guc-file.l:906 +#: guc-file.l:521 #, c-format msgid "syntax error in file \"%s\" line %u, near token \"%s\"" msgstr "\"%s\" 파일 %u 줄에서 구문 오류 있음, \"%s\" 토큰 부근" -#: guc-file.l:926 +#: guc-file.l:541 #, c-format msgid "too many syntax errors found, abandoning file \"%s\"" msgstr "구문 오류가 너무 많습니다. \"%s\" 파일을 무시합니다" -#: guc-file.l:981 -#, c-format -msgid "empty configuration directory name: \"%s\"" -msgstr "비어 있는 환경 설정 디렉터리 이름: \"%s\"" - -#: guc-file.l:1000 -#, c-format -msgid "could not open configuration directory \"%s\": %m" -msgstr "\"%s\" 환경 설정 디렉터리를 열 수 없습니다: %m" - #: jsonpath_gram.y:529 #, c-format -msgid "unrecognized flag character \"%c\" in LIKE_REGEX predicate" -msgstr "LIKE_REGEX 한정자 안에, 알 수 없는 플래그 문자: \"%c\"" +msgid "Unrecognized flag character \"%.*s\" in LIKE_REGEX predicate." +msgstr "LIKE_REGEX 구문에서 알 수 없는 플래그 문자: \"%.*s\"" -#: jsonpath_gram.y:583 +#: jsonpath_gram.y:607 #, c-format msgid "XQuery \"x\" flag (expanded regular expressions) is not implemented" -msgstr "" +msgstr "XQuery \"x\" 플래그 (확장된 정규 표현식)는 구현되지 않았습니다." + +#: jsonpath_scan.l:174 +msgid "invalid Unicode escape sequence" +msgstr "잘못된 유니코드 이스케이프 순차연결" + +#: jsonpath_scan.l:180 +msgid "invalid hexadecimal character sequence" +msgstr "잘못된 16진수 문자 순차연결" + +#: jsonpath_scan.l:195 +msgid "unexpected end after backslash" +msgstr "백슬래시 뒤 예기치 않은 줄 끝" + +#: jsonpath_scan.l:201 repl_scanner.l:209 scan.l:741 +msgid "unterminated quoted string" +msgstr "마무리 안된 따옴표 안의 문자열" + +#: jsonpath_scan.l:228 +msgid "unexpected end of comment" +msgstr "주석 뒤 예기치 않은 줄 끝" + +#: jsonpath_scan.l:319 +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 +msgid "trailing junk after numeric literal" +msgstr "숫자 뒤에 쓸모 없는 값이 더 있음" #. translator: %s is typically "syntax error" -#: jsonpath_scan.l:286 +#: jsonpath_scan.l:375 #, c-format msgid "%s at end of jsonpath input" msgstr "%s, jsonpath 입력 끝부분" #. translator: first %s is typically "syntax error" -#: jsonpath_scan.l:293 +#: jsonpath_scan.l:382 #, c-format msgid "%s at or near \"%s\" of jsonpath input" msgstr "%s, jsonpath 입력 \"%s\" 부근" -#: repl_gram.y:349 repl_gram.y:381 +#: jsonpath_scan.l:557 +msgid "invalid input" +msgstr "잘못된 입력" + +#: jsonpath_scan.l:583 +msgid "invalid hexadecimal digit" +msgstr "잘못된 16진수" + +#: jsonpath_scan.l:614 +#, c-format +msgid "could not convert Unicode to server encoding" +msgstr "유니코드를 서버 인코딩으로 바꿀 수 없음" + +#: repl_gram.y:301 repl_gram.y:333 #, c-format msgid "invalid timeline %u" msgstr "잘못된 타임라인: %u" -#: repl_scanner.l:131 +#: repl_scanner.l:152 msgid "invalid streaming start location" msgstr "잘못된 스트리밍 시작 위치" -#: repl_scanner.l:182 scan.l:717 -msgid "unterminated quoted string" -msgstr "마무리 안된 따옴표 안의 문자열" - # # advance 끝 -#: scan.l:458 +#: scan.l:482 msgid "unterminated /* comment" msgstr "마무리 안된 /* 주석" -#: scan.l:478 +#: scan.l:502 msgid "unterminated bit string literal" msgstr "마무리 안된 비트 문자열 문자" -#: scan.l:492 +#: scan.l:516 msgid "unterminated hexadecimal string literal" msgstr "마무리 안된 16진수 문자열 문자" -#: scan.l:542 +#: scan.l:566 #, c-format msgid "unsafe use of string constant with Unicode escapes" msgstr "유니코드 이스케이프와 함께 문자열 상수를 사용하는 것은 안전하지 않음" -#: scan.l:543 +#: scan.l:567 #, c-format msgid "" "String constants with Unicode escapes cannot be used when " @@ -29371,21 +32404,21 @@ msgstr "" "standard_conforming_strings = off 인 경우 문자열 상수 표기에서 유니코드 이스" "케이프를 사용할 수 없습니다." -#: scan.l:604 +#: scan.l:628 msgid "unhandled previous state in xqs" -msgstr "" +msgstr "xqs 안에 처리할 수 없는 이전 상태" -#: scan.l:678 +#: scan.l:702 #, c-format msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX." msgstr "유니코드 이스케이프는 \\uXXXX 또는 \\UXXXXXXXX 형태여야 합니다." -#: scan.l:689 +#: scan.l:713 #, c-format msgid "unsafe use of \\' in a string literal" msgstr "문자열 안에 \\' 사용이 안전하지 않습니다" -#: scan.l:690 +#: scan.l:714 #, c-format msgid "" "Use '' to write quotes in strings. \\' is insecure in client-only encodings." @@ -29393,62 +32426,176 @@ msgstr "" "작은 따옴표는 '' 형태로 사용하십시오. \\' 표기법은 클라이언트 전용 인코딩에" "서 안전하지 않습니다." -#: scan.l:762 +#: scan.l:786 msgid "unterminated dollar-quoted string" msgstr "마무리 안된 달러-따옴표 안의 문자열" -#: scan.l:779 scan.l:789 +#: scan.l:803 scan.l:813 msgid "zero-length delimited identifier" msgstr "길이가 0인 구분 식별자" -#: scan.l:800 syncrep_scanner.l:91 +#: scan.l:824 syncrep_scanner.l:101 msgid "unterminated quoted identifier" msgstr "마무리 안된 따옴표 안의 식별자" # # nonun 부분 begin -#: scan.l:963 +#: scan.l:987 msgid "operator too long" msgstr "연산자가 너무 깁니다." +#: scan.l:1000 +msgid "trailing junk after parameter" +msgstr "매개 변수 뒤에 쓸모 없는 값이 더 있음" + +#: scan.l:1021 +msgid "invalid hexadecimal integer" +msgstr "잘못된 16진수" + +#: scan.l:1025 +msgid "invalid octal integer" +msgstr "잘못된 8진수" + +#: scan.l:1029 +msgid "invalid binary integer" +msgstr "잘못된 바이너리 숫자" + #. translator: %s is typically the translation of "syntax error" -#: scan.l:1171 +#: scan.l:1236 #, c-format msgid "%s at end of input" msgstr "%s, 입력 끝부분" #. translator: first %s is typically the translation of "syntax error" -#: scan.l:1179 +#: scan.l:1244 #, c-format msgid "%s at or near \"%s\"" msgstr "%s, \"%s\" 부근" -#: scan.l:1373 +#: scan.l:1434 #, c-format msgid "nonstandard use of \\' in a string literal" msgstr "문자열 안에 있는 \\' 문자는 표준이 아닙니다" -#: scan.l:1374 +#: scan.l:1435 #, c-format msgid "" "Use '' to write quotes in strings, or use the escape string syntax (E'...')." msgstr "작은 따옴표는 '' 형태니, 인용부호 표기법(E'...') 형태로 사용하십시오." -#: scan.l:1383 +#: scan.l:1444 #, c-format msgid "nonstandard use of \\\\ in a string literal" msgstr "문자열 안에 있는 \\\\ 문자는 표준이 아닙니다" -#: scan.l:1384 +#: scan.l:1445 #, c-format msgid "Use the escape string syntax for backslashes, e.g., E'\\\\'." msgstr "백슬래시 표기는 인용부호 표기법으로 사용하세요, 예, E'\\\\'." -#: scan.l:1398 +#: scan.l:1459 #, c-format msgid "nonstandard use of escape in a string literal" msgstr "문자열 안에 비표준 escape 문자를 사용하고 있습니다" -#: scan.l:1399 +#: scan.l:1460 #, c-format msgid "Use the escape string syntax for escapes, e.g., E'\\r\\n'." msgstr "인용부호 표기법을 사용하세요, 예, E'\\r\\n'." + +#, c-format +#~ msgid "FORMAT JSON has no effect for json and jsonb types" +#~ msgstr "" +#~ "json, jsonb 자료형에서는 FORMAT JSON 지정이 아무런 영향을 끼치지 못합니다." + +#, c-format +#~ msgid "Subscribed publication %s is subscribing to other publications." +#~ msgid_plural "" +#~ "Subscribed publications %s are subscribing to other publications." +#~ msgstr[0] "%s 구독은 이미 다른 발행을 구독하고 있습니다." + +#, c-format +#~ msgid "duplicate JSON key %s" +#~ msgstr "중복된 JSON 키 %s" + +#, c-format +#~ msgid "duplicate JSON object key" +#~ msgstr "JSON 객체 키 중복" + +#, c-format +#~ msgid "authentication file token too long, skipping: \"%s\"" +#~ msgstr "인증 파일의 토큰이 너무 길어서 건너뜁니다: \"%s\"" + +#~ msgid "logical replication table synchronization worker" +#~ msgstr "논리 복제 테이블 동기화 작업자" + +#~ msgid "logical replication apply worker" +#~ msgstr "논리 복제 반영 작업자" + +#, c-format +#~ msgid "" +#~ "%s for subscription \"%s\" will restart because of a parameter change" +#~ msgstr "매개 변수가 바뀌어서 %s(해당 구독: \"%s\")가 다시 시작됩니다." + +#, c-format +#~ msgid "%s for subscription \"%s\" has started" +#~ msgstr "%s가 \"%s\" 구독용으로 시작되었음" + +#, c-format +#~ msgid "could not set compression flag for %s: %s" +#~ msgstr "%s 용 압축 플래그를 지정할 수 없음: %s" + +#, c-format +#~ msgid "permission denied to cluster \"%s\", skipping it" +#~ msgstr "\"%s\" 클러스터 권한 없음, 건너뜀" + +#, c-format +#~ msgid "unexpected DEFAULT in COPY data" +#~ msgstr "COPY 자료 안에 예상치 못한 DEFAULT" + +#, c-format +#~ msgid "must be a superuser to terminate superuser process" +#~ msgstr "슈퍼유저의 세션을 정리하려면 슈퍼유저여야 합니다." + +#~ msgid "invalid unicode sequence" +#~ msgstr "잘못된 유니코드 이스케이프" + +#~ msgid "unexpected end of quoted string" +#~ msgstr "따옴표 뒤 예기치 않은 줄 끝" + +#, c-format +#~ msgid "missing contrecord at %X/%X" +#~ msgstr "%X/%X 위치에 contrecord 없음" + +#, c-format +#~ msgid "unable to map dynamic shared memory segment" +#~ msgstr "동적 공유 메모리 세그먼트를 할당할 수 없음" + +#, c-format +#~ msgid "bad magic number in dynamic shared memory segment" +#~ msgstr "동적 공유 메모리 세그먼트에 잘못된 매직 번호가 있음" + +#, c-format +#~ msgid "You might need to increase max_logical_replication_workers." +#~ msgstr "max_logical_replication_workers 값을 늘리세요." + +#, c-format +#~ msgid "You might need to increase max_worker_processes." +#~ msgstr "max_worker_processes 값을 늘리세요." + +#, c-format +#~ msgid "You might need to increase max_slot_wal_keep_size." +#~ msgstr "max_slot_wal_keep_size 값을 늘리세요." + +#, c-format +#~ msgid "You might need to increase max_locks_per_transaction." +#~ msgstr "max_locks_per_transaction을 늘려야 할 수도 있습니다." + +#, c-format +#~ msgid "You might need to increase max_pred_locks_per_transaction." +#~ msgstr "max_pred_locks_per_transaction 값을 늘려야 할 수도 있습니다." + +#~ msgid "Shows the collation order locale." +#~ msgstr "데이터 정렬 순서 로케일을 표시합니다." + +#~ msgid "Shows the character classification and case conversion locale." +#~ msgstr "문자 분류 및 대/소문자 변환 로케일을 표시합니다." diff --git a/src/bin/initdb/po/el.po b/src/bin/initdb/po/el.po index 7c1c32a090b..d162d6bab04 100644 --- a/src/bin/initdb/po/el.po +++ b/src/bin/initdb/po/el.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: initdb (PostgreSQL) 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-04-12 08:19+0000\n" -"PO-Revision-Date: 2023-04-12 11:22+0200\n" +"POT-Creation-Date: 2023-08-14 23:19+0000\n" +"PO-Revision-Date: 2023-08-15 11:59+0200\n" "Last-Translator: Georgios Kokolatos \n" "Language-Team: \n" "Language: el\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 3.2.2\n" +"X-Generator: Poedit 3.3.2\n" #: ../../../src/common/logging.c:276 #, c-format @@ -40,85 +40,77 @@ msgstr "λεπτομέρεια: " msgid "hint: " msgstr "υπόδειξη: " -#: ../../common/exec.c:149 ../../common/exec.c:266 ../../common/exec.c:312 +#: ../../common/exec.c:172 #, c-format -msgid "could not identify current directory: %m" -msgstr "δεν ήταν δυνατή η αναγνώριση του τρέχοντος καταλόγου: %m" +msgid "invalid binary \"%s\": %m" +msgstr "μη έγκυρο δυαδικό αρχείο «%s»: %m" -#: ../../common/exec.c:168 +#: ../../common/exec.c:215 #, c-format -msgid "invalid binary \"%s\"" -msgstr "μη έγκυρο δυαδικό αρχείο «%s»" +msgid "could not read binary \"%s\": %m" +msgstr "δεν ήταν δυνατή η ανάγνωση του δυαδικού αρχείου «%s»: %m" -#: ../../common/exec.c:218 -#, c-format -msgid "could not read binary \"%s\"" -msgstr "δεν ήταν δυνατή η ανάγνωση του δυαδικού αρχείου «%s»" - -#: ../../common/exec.c:226 +#: ../../common/exec.c:223 #, c-format msgid "could not find a \"%s\" to execute" msgstr "δεν βρέθηκε το αρχείο «%s» για να εκτελεστεί" -#: ../../common/exec.c:282 ../../common/exec.c:321 -#, c-format -msgid "could not change directory to \"%s\": %m" -msgstr "δεν ήταν δυνατή η μετάβαση στον κατάλογο «%s»: %m" - -#: ../../common/exec.c:299 +#: ../../common/exec.c:250 #, c-format -msgid "could not read symbolic link \"%s\": %m" -msgstr "δεν ήταν δυνατή η ανάγνωση του συμβολικού συνδέσμου «%s»: %m" +msgid "could not resolve path \"%s\" to absolute form: %m" +msgstr "δεν δύναται η επίλυση διαδρομής «%s» σε απόλυτη μορφή: %m" -#: ../../common/exec.c:422 +#: ../../common/exec.c:412 #, c-format msgid "%s() failed: %m" msgstr "%s() απέτυχε: %m" -#: ../../common/exec.c:560 ../../common/exec.c:605 ../../common/exec.c:697 -#: initdb.c:334 +#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 +#: initdb.c:349 #, c-format msgid "out of memory" msgstr "έλλειψη μνήμης" #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 -#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format msgid "out of memory\n" msgstr "έλλειψη μνήμης\n" -#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 #, c-format msgid "cannot duplicate null pointer (internal error)\n" msgstr "δεν ήταν δυνατή η αντιγραφή δείκτη null (εσωτερικό σφάλμα)\n" -#: ../../common/file_utils.c:87 ../../common/file_utils.c:451 +#: ../../common/file_utils.c:87 ../../common/file_utils.c:447 #, c-format msgid "could not stat file \"%s\": %m" msgstr "δεν ήταν δυνατή η εκτέλεση stat στο αρχείο «%s»: %m" -#: ../../common/file_utils.c:166 ../../common/pgfnames.c:48 +#: ../../common/file_utils.c:162 ../../common/pgfnames.c:48 +#: ../../common/rmtree.c:63 #, c-format msgid "could not open directory \"%s\": %m" msgstr "δεν ήταν δυνατό το άνοιγμα του καταλόγου «%s»: %m" -#: ../../common/file_utils.c:200 ../../common/pgfnames.c:69 +#: ../../common/file_utils.c:196 ../../common/pgfnames.c:69 +#: ../../common/rmtree.c:104 #, c-format msgid "could not read directory \"%s\": %m" msgstr "δεν ήταν δυνατή η ανάγνωση του καταλόγου «%s»: %m" -#: ../../common/file_utils.c:232 ../../common/file_utils.c:291 -#: ../../common/file_utils.c:365 +#: ../../common/file_utils.c:228 ../../common/file_utils.c:287 +#: ../../common/file_utils.c:361 #, c-format msgid "could not open file \"%s\": %m" msgstr "δεν ήταν δυνατό το άνοιγμα του αρχείου «%s»: %m" -#: ../../common/file_utils.c:303 ../../common/file_utils.c:373 +#: ../../common/file_utils.c:299 ../../common/file_utils.c:369 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "δεν ήταν δυνατή η εκτέλεση της εντολής fsync στο αρχείο «%s»: %m" -#: ../../common/file_utils.c:383 +#: ../../common/file_utils.c:379 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "δεν ήταν δυνατή η μετονομασία του αρχείου «%s» σε «%s»: %m" @@ -128,55 +120,45 @@ msgstr "δεν ήταν δυνατή η μετονομασία του αρχεί msgid "could not close directory \"%s\": %m" msgstr "δεν ήταν δυνατό το κλείσιμο του καταλόγου «%s»: %m" -#: ../../common/restricted_token.c:64 -#, c-format -msgid "could not load library \"%s\": error code %lu" -msgstr "δεν ήταν δυνατή η φόρτωση της βιβλιοθήκης «%s»: κωδικός σφάλματος %lu" - -#: ../../common/restricted_token.c:73 -#, c-format -msgid "cannot create restricted tokens on this platform: error code %lu" -msgstr "δεν ήταν δυνατή η δημιουργία διακριτικών περιορισμού στην παρούσα πλατφόρμα: κωδικός σφάλματος %lu" - -#: ../../common/restricted_token.c:82 +#: ../../common/restricted_token.c:60 #, c-format msgid "could not open process token: error code %lu" msgstr "δεν ήταν δυνατό το άνοιγμα διακριτικού διεργασίας: κωδικός σφάλματος %lu" -#: ../../common/restricted_token.c:97 +#: ../../common/restricted_token.c:74 #, c-format msgid "could not allocate SIDs: error code %lu" msgstr "δεν ήταν δυνατή η εκχώρηση SID: κωδικός σφάλματος %lu" -#: ../../common/restricted_token.c:119 +#: ../../common/restricted_token.c:94 #, c-format msgid "could not create restricted token: error code %lu" msgstr "δεν ήταν δυνατή η δημιουργία διακριτικού διεργασίας: κωδικός σφάλματος %lu" -#: ../../common/restricted_token.c:140 +#: ../../common/restricted_token.c:115 #, c-format msgid "could not start process for command \"%s\": error code %lu" msgstr "δεν ήταν δυνατή η εκκίνηση διεργασίας για την εντολή «%s»: κωδικός σφάλματος %lu" -#: ../../common/restricted_token.c:178 +#: ../../common/restricted_token.c:153 #, c-format msgid "could not re-execute with restricted token: error code %lu" msgstr "δεν ήταν δυνατή η επανεκκίνηση με διακριτικό περιορισμού: κωδικός σφάλματος %lu" -#: ../../common/restricted_token.c:193 +#: ../../common/restricted_token.c:168 #, c-format msgid "could not get exit code from subprocess: error code %lu" msgstr "δεν ήταν δυνατή η απόκτηση κωδικού εξόδου από την υποδιεργασία: κωδικός σφάλματος %lu" -#: ../../common/rmtree.c:79 +#: ../../common/rmtree.c:95 #, c-format -msgid "could not stat file or directory \"%s\": %m" -msgstr "δεν ήταν δυνατή η εκτέλεση stat στο αρχείο ή κατάλογο «%s»: %m" +msgid "could not remove file \"%s\": %m" +msgstr "δεν ήταν δυνατή η αφαίρεση του αρχείου «%s»: %m" -#: ../../common/rmtree.c:101 ../../common/rmtree.c:113 +#: ../../common/rmtree.c:122 #, c-format -msgid "could not remove file or directory \"%s\": %m" -msgstr "δεν ήταν δυνατή η αφαίρεση αρχείου ή καταλόγου «%s»: %m" +msgid "could not remove directory \"%s\": %m" +msgstr "δεν ήταν δυνατή η αφαίρεση του καταλόγου «%s»: %m" #: ../../common/username.c:43 #, c-format @@ -192,289 +174,314 @@ msgstr "ο χρήστης δεν υπάρχει" msgid "user name lookup failure: error code %lu" msgstr "αποτυχία αναζήτησης ονόματος χρήστη: κωδικός σφάλματος %lu" -#: ../../common/wait_error.c:45 +#: ../../common/wait_error.c:55 #, c-format msgid "command not executable" msgstr "εντολή μη εκτελέσιμη" -#: ../../common/wait_error.c:49 +#: ../../common/wait_error.c:59 #, c-format msgid "command not found" msgstr "εντολή δεν βρέθηκε" -#: ../../common/wait_error.c:54 +#: ../../common/wait_error.c:64 #, c-format msgid "child process exited with exit code %d" msgstr "απόγονος διεργασίας τερμάτισε με κωδικό εξόδου %d" -#: ../../common/wait_error.c:62 +#: ../../common/wait_error.c:72 #, c-format msgid "child process was terminated by exception 0x%X" msgstr "απόγονος διεργασίας τερματίστηκε με εξαίρεση 0x%X" -#: ../../common/wait_error.c:66 +#: ../../common/wait_error.c:76 #, c-format msgid "child process was terminated by signal %d: %s" msgstr "απόγονος διεργασίας τερματίστηκε με σήμα %d: %s" -#: ../../common/wait_error.c:72 +#: ../../common/wait_error.c:82 #, c-format msgid "child process exited with unrecognized status %d" msgstr "απόγονος διεργασίας τερμάτισε με μη αναγνωρίσιμη κατάσταση %d" -#: ../../port/dirmod.c:221 +#: ../../port/dirmod.c:287 #, c-format msgid "could not set junction for \"%s\": %s\n" msgstr "δεν ήταν δυνατός ο ορισμός διασταύρωσης για «%s»: %s\n" -#: ../../port/dirmod.c:298 +#: ../../port/dirmod.c:367 #, c-format msgid "could not get junction for \"%s\": %s\n" msgstr "δεν ήταν δυνατή η απόκτηση διασταύρωσης για «%s»: %s\n" -#: initdb.c:464 initdb.c:1459 +#: initdb.c:618 initdb.c:1613 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "δεν ήταν δυνατό το άνοιγμα αρχείου «%s» για ανάγνωση: %m" -#: initdb.c:505 initdb.c:809 initdb.c:829 +#: initdb.c:662 initdb.c:966 initdb.c:986 #, c-format msgid "could not open file \"%s\" for writing: %m" msgstr "δεν ήταν δυνατό το άνοιγμα αρχείου «%s» για εγγραφή: %m" -#: initdb.c:509 initdb.c:812 initdb.c:831 +#: initdb.c:666 initdb.c:969 initdb.c:988 #, c-format msgid "could not write file \"%s\": %m" msgstr "δεν ήταν δυνατή η εγγραφή αρχείου «%s»: %m" -#: initdb.c:513 +#: initdb.c:670 #, c-format msgid "could not close file \"%s\": %m" msgstr "δεν ήταν δυνατό το κλείσιμο του αρχείου «%s»: %m" -#: initdb.c:529 +#: initdb.c:686 #, c-format msgid "could not execute command \"%s\": %m" msgstr "δεν ήταν δυνατή η εκτέλεση της εντολής «%s»: %m" -#: initdb.c:547 +#: initdb.c:704 #, c-format msgid "removing data directory \"%s\"" msgstr "αφαιρείται ο κατάλογος δεδομένων «%s»" -#: initdb.c:549 +#: initdb.c:706 #, c-format msgid "failed to remove data directory" msgstr "απέτυχε η αφαίρεση καταλόγου δεδομένων" -#: initdb.c:553 +#: initdb.c:710 #, c-format msgid "removing contents of data directory \"%s\"" msgstr "αφαιρούνται περιεχόμενα του καταλόγου δεδομένων «%s»" -#: initdb.c:556 +#: initdb.c:713 #, c-format msgid "failed to remove contents of data directory" msgstr "απέτυχε η αφαίρεση περιεχομένων του καταλόγου δεδομένων" -#: initdb.c:561 +#: initdb.c:718 #, c-format msgid "removing WAL directory \"%s\"" msgstr "αφαίρεση καταλόγου WAL «%s»" -#: initdb.c:563 +#: initdb.c:720 #, c-format msgid "failed to remove WAL directory" msgstr "απέτυχε η αφαίρεση καταλόγου WAL" -#: initdb.c:567 +#: initdb.c:724 #, c-format msgid "removing contents of WAL directory \"%s\"" msgstr "αφαιρούνται τα περιεχόμενα του καταλόγου WAL «%s»" -#: initdb.c:569 +#: initdb.c:726 #, c-format msgid "failed to remove contents of WAL directory" msgstr "απέτυχε η αφαίρεση περιεχόμενων του καταλόγου WAL" -#: initdb.c:576 +#: initdb.c:733 #, c-format msgid "data directory \"%s\" not removed at user's request" msgstr "ο κατάλογος δεδομένων «%s» δεν αφαιρείται κατα απαίτηση του χρήστη" -#: initdb.c:580 +#: initdb.c:737 #, c-format msgid "WAL directory \"%s\" not removed at user's request" msgstr "ο κατάλογος WAL «%s» δεν αφαιρέθηκε κατά απαίτηση του χρήστη" -#: initdb.c:598 +#: initdb.c:755 #, c-format msgid "cannot be run as root" msgstr "δεν δύναται η εκτέλεση ως υπερχρήστης" -#: initdb.c:599 +#: initdb.c:756 #, c-format msgid "Please log in (using, e.g., \"su\") as the (unprivileged) user that will own the server process." msgstr "Παρακαλώ συνδεθείτε (χρησιμοποιώντας, π.χ. την εντολή «su») ως ο (μη προνομιούχος) χρήστης που θα είναι κάτοχος της διεργασίας του διακομιστή." -#: initdb.c:631 +#: initdb.c:788 #, c-format msgid "\"%s\" is not a valid server encoding name" msgstr "«%s» δεν είναι έγκυρο όνομα κωδικοποίησης διακομιστή" -#: initdb.c:775 +#: initdb.c:932 #, c-format msgid "file \"%s\" does not exist" msgstr "το αρχείο «%s» δεν υπάρχει" -#: initdb.c:776 initdb.c:781 initdb.c:788 +#: initdb.c:933 initdb.c:938 initdb.c:945 #, c-format msgid "This might mean you have a corrupted installation or identified the wrong directory with the invocation option -L." msgstr "Αυτό μπορεί να σημαίνει ότι έχετε μια κατεστραμμένη εγκατάσταση ή ορίσατε λάθος κατάλογο με την επιλογή επίκλησης -L." -#: initdb.c:780 +#: initdb.c:937 #, c-format msgid "could not access file \"%s\": %m" msgstr "δεν ήταν δυνατή η πρόσβαση του αρχείο «%s»: %m" -#: initdb.c:787 +#: initdb.c:944 #, c-format msgid "file \"%s\" is not a regular file" msgstr "το αρχείο «%s» δεν είναι ένα κανονικό αρχείο" -#: initdb.c:922 +#: initdb.c:1077 #, c-format msgid "selecting dynamic shared memory implementation ... " msgstr "επιλογή εφαρμογής δυναμικής κοινόχρηστης μνήμης ... " -#: initdb.c:931 +#: initdb.c:1086 #, c-format msgid "selecting default max_connections ... " msgstr "επιλογή προκαθορισμένης τιμής max_connections ... " -#: initdb.c:962 +#: initdb.c:1106 #, c-format msgid "selecting default shared_buffers ... " msgstr "επιλογή προκαθορισμένης τιμής shared_buffers ... " -#: initdb.c:996 +#: initdb.c:1129 #, c-format msgid "selecting default time zone ... " msgstr "επιλογή προκαθορισμένης ζώνης ώρας ... " -#: initdb.c:1030 +#: initdb.c:1206 msgid "creating configuration files ... " msgstr "δημιουργία αρχείων ρύθμισης ... " -#: initdb.c:1188 initdb.c:1204 initdb.c:1287 initdb.c:1299 +#: initdb.c:1367 initdb.c:1381 initdb.c:1448 initdb.c:1459 #, c-format msgid "could not change permissions of \"%s\": %m" msgstr "δεν ήταν δυνατή η αλλαγή δικαιωμάτων του «%s»: %m" -#: initdb.c:1319 +#: initdb.c:1477 #, c-format msgid "running bootstrap script ... " msgstr "εκτέλεση σεναρίου bootstrap ... " -#: initdb.c:1331 +#: initdb.c:1489 #, c-format msgid "input file \"%s\" does not belong to PostgreSQL %s" msgstr "το αρχείο εισόδου «%s» δεν ανήκει στην PostgreSQL %s" -#: initdb.c:1333 +#: initdb.c:1491 #, c-format msgid "Specify the correct path using the option -L." msgstr "Καθορίστε τη σωστή διαδρομή χρησιμοποιώντας την επιλογή -L." -#: initdb.c:1437 +#: initdb.c:1591 msgid "Enter new superuser password: " msgstr "Εισάγετε νέο κωδικό πρόσβασης υπερχρήστη: " -#: initdb.c:1438 +#: initdb.c:1592 msgid "Enter it again: " msgstr "Εισάγετε ξανά: " -#: initdb.c:1441 +#: initdb.c:1595 #, c-format msgid "Passwords didn't match.\n" msgstr "Οι κωδικοί πρόσβασης δεν είναι ίδιοι.\n" -#: initdb.c:1465 +#: initdb.c:1619 #, c-format msgid "could not read password from file \"%s\": %m" msgstr "δεν ήταν δυνατή η ανάγνωση κωδικού πρόσβασης από το αρχείο «%s»: %m" -#: initdb.c:1468 +#: initdb.c:1622 #, c-format msgid "password file \"%s\" is empty" msgstr "αρχείο κωδικών πρόσβασης «%s» είναι άδειο" -#: initdb.c:1915 +#: initdb.c:2034 #, c-format msgid "caught signal\n" msgstr "συνελήφθει σήμα\n" -#: initdb.c:1921 +#: initdb.c:2040 #, c-format msgid "could not write to child process: %s\n" msgstr "δεν ήταν δυνατή η εγγραφή στην απογονική διεργασία: %s\n" -#: initdb.c:1929 +#: initdb.c:2048 #, c-format msgid "ok\n" msgstr "εντάξει\n" -#: initdb.c:2018 +#: initdb.c:2137 #, c-format msgid "setlocale() failed" msgstr "setlocale() απέτυχε" -#: initdb.c:2036 +#: initdb.c:2155 #, c-format msgid "failed to restore old locale \"%s\"" msgstr "απέτυχε να επαναφέρει την παλαιά εντοπιότητα «%s»" -#: initdb.c:2043 +#: initdb.c:2163 #, c-format msgid "invalid locale name \"%s\"" msgstr "άκυρη ονομασία εντοπιότητας «%s»" -#: initdb.c:2054 +#: initdb.c:2164 +#, c-format +msgid "If the locale name is specific to ICU, use --icu-locale." +msgstr "Αν το όνομα της εντοπιότητας είναι συγκεκριμένο για το ICU, χρησιμοποιήστε --icu-locale." + +#: initdb.c:2177 #, c-format msgid "invalid locale settings; check LANG and LC_* environment variables" msgstr "μη έγκυρες ρυθμίσεις εντοπιότητας, ελέγξτε τις μεταβλητές περιβάλλοντος LANG και LC_*" -#: initdb.c:2080 initdb.c:2104 +#: initdb.c:2203 initdb.c:2227 #, c-format msgid "encoding mismatch" msgstr "αναντιστοιχία κωδικοποίησης" -#: initdb.c:2081 +#: initdb.c:2204 #, c-format msgid "The encoding you selected (%s) and the encoding that the selected locale uses (%s) do not match. This would lead to misbehavior in various character string processing functions." msgstr "Η κωδικοποίηση που επιλέξατε (%s) και η κωδικοποίηση που χρησιμοποιεί η επιλεγμένη τοπική γλώσσα (%s) δεν ταιριάζουν. Αυτό θα οδηγούσε σε κακή συμπεριφορά σε διάφορες λειτουργίες επεξεργασίας συμβολοσειρών χαρακτήρων." -#: initdb.c:2086 initdb.c:2107 +#: initdb.c:2209 initdb.c:2230 #, c-format msgid "Rerun %s and either do not specify an encoding explicitly, or choose a matching combination." msgstr "Επανεκτελέστε %s και είτε μην καθορίσετε ρητά μια κωδικοποίηση, είτε επιλέξτε ταιριαστό συνδυασμό." -#: initdb.c:2105 +#: initdb.c:2228 #, c-format msgid "The encoding you selected (%s) is not supported with the ICU provider." msgstr "Η κωδικοποίηση που επιλέξατε (%s) δεν υποστηρίζεται από τον πάροχο ICU." -#: initdb.c:2169 +#: initdb.c:2279 #, c-format -msgid "ICU locale must be specified" -msgstr "ICU εντοπιότητα πρέπει να έχει καθοριστεί" +msgid "could not convert locale name \"%s\" to language tag: %s" +msgstr "δεν δύναται η μετατροπή ονόματος locale «%s» σε ετικέτα γλώσσας: %s" -#: initdb.c:2176 +#: initdb.c:2285 initdb.c:2337 initdb.c:2416 #, c-format msgid "ICU is not supported in this build" msgstr "ICU δεν υποστηρίζεται σε αυτήν την πλατφόρμα" -#: initdb.c:2187 +#: initdb.c:2308 +#, c-format +msgid "could not get language from locale \"%s\": %s" +msgstr "δεν δύναται ο ορισμός της γλώσσας από το locale «%s»: %s" + +#: initdb.c:2334 +#, c-format +msgid "locale \"%s\" has unknown language \"%s\"" +msgstr "εντοπιότητα «%s» έχει άγνωστη γλώσσα «%s»" + +#: initdb.c:2400 +#, c-format +msgid "ICU locale must be specified" +msgstr "ICU εντοπιότητα πρέπει να έχει καθοριστεί" + +#: initdb.c:2404 +#, c-format +msgid "Using language tag \"%s\" for ICU locale \"%s\".\n" +msgstr "Χρήση ετικέτας γλώσσας «%s» για την εντοπιότητα ICU «%s».\n" + +#: initdb.c:2427 #, c-format msgid "" "%s initializes a PostgreSQL database cluster.\n" @@ -483,17 +490,17 @@ msgstr "" "%s αρχικοποιεί μία συστάδα PostgreSQL βάσης δεδομένων.\n" "\n" -#: initdb.c:2188 +#: initdb.c:2428 #, c-format msgid "Usage:\n" msgstr "Χρήση:\n" -#: initdb.c:2189 +#: initdb.c:2429 #, c-format msgid " %s [OPTION]... [DATADIR]\n" msgstr " %s [ΕΠΙΛΟΓH]... [DATADIR]\n" -#: initdb.c:2190 +#: initdb.c:2430 #, c-format msgid "" "\n" @@ -502,52 +509,57 @@ msgstr "" "\n" "Επιλογές:\n" -#: initdb.c:2191 +#: initdb.c:2431 #, c-format msgid " -A, --auth=METHOD default authentication method for local connections\n" msgstr " -A, --auth=METHOD προκαθορισμένη μέθοδος ταυτοποίησης για τοπικές συνδέσεις\n" -#: initdb.c:2192 +#: initdb.c:2432 #, c-format msgid " --auth-host=METHOD default authentication method for local TCP/IP connections\n" msgstr " --auth-host=METHOD προκαθορισμένη μέθοδος ταυτοποίησης για τοπικές συνδέσεις πρωτοκόλλου TCP/IP\n" -#: initdb.c:2193 +#: initdb.c:2433 #, c-format msgid " --auth-local=METHOD default authentication method for local-socket connections\n" msgstr " --auth-local=METHOD προκαθορισμένη μέθοδος ταυτοποίησης για συνδέσεις τοπικής υποδοχής\n" -#: initdb.c:2194 +#: initdb.c:2434 #, c-format msgid " [-D, --pgdata=]DATADIR location for this database cluster\n" msgstr " [-D, --pgdata=]DATADIR τοποθεσία για αυτή τη συστάδα βάσης δεδομένων\n" -#: initdb.c:2195 +#: initdb.c:2435 #, c-format msgid " -E, --encoding=ENCODING set default encoding for new databases\n" msgstr " -E, --encoding=ENCODING όρισε την προκαθορισμένη κωδικοποίηση για καινούριες βάσεις δεδομένων\n" -#: initdb.c:2196 +#: initdb.c:2436 #, c-format msgid " -g, --allow-group-access allow group read/execute on data directory\n" msgstr " -g, --allow-group-access επέτρεψε εγγραφή/ανάγνωση για την ομάδα στο κατάλογο δεδομένων\n" -#: initdb.c:2197 +#: initdb.c:2437 #, c-format msgid " --icu-locale=LOCALE set ICU locale ID for new databases\n" -msgstr " --locale=LOCALE όρισε την ICU εντοπιότητα για καινούριες βάσεις δεδομένων\n" +msgstr " --icu-locale=LOCALE όρισε την ICU εντοπιότητα για καινούριες βάσεις δεδομένων\n" -#: initdb.c:2198 +#: initdb.c:2438 +#, c-format +msgid " --icu-rules=RULES set additional ICU collation rules for new databases\n" +msgstr " --icu-rules=RULES όρισε πρόσθετους κανόνες ταξινόμησης ICU για νέες βάσεις δεδομένων\n" + +#: initdb.c:2439 #, c-format msgid " -k, --data-checksums use data page checksums\n" msgstr " -k, --data-checksums χρησιμοποίησε αθροίσματα ελέγχου σελίδων δεδομένων\n" -#: initdb.c:2199 +#: initdb.c:2440 #, c-format msgid " --locale=LOCALE set default locale for new databases\n" msgstr " --locale=LOCALE όρισε την προκαθορισμένη εντοπιότητα για καινούριες βάσεις δεδομένων\n" -#: initdb.c:2200 +#: initdb.c:2441 #, c-format msgid "" " --lc-collate=, --lc-ctype=, --lc-messages=LOCALE\n" @@ -560,12 +572,12 @@ msgstr "" " όρισε την προκαθορισμένη εντοπιότητα για τις σχετικές κατηγορίες\n" " καινούριων βάσεων δεδομένων (προκαθορισμένη τιμή διαβάζεται από το περιβάλλον)\n" -#: initdb.c:2204 +#: initdb.c:2445 #, c-format msgid " --no-locale equivalent to --locale=C\n" msgstr " --no-locale ισοδύναμο με --locale=C\n" -#: initdb.c:2205 +#: initdb.c:2446 #, c-format msgid "" " --locale-provider={libc|icu}\n" @@ -574,12 +586,12 @@ msgstr "" " --locale-provider={libc|icu}\n" " όρισε τον προκαθορισμένο πάροχο εντοπιότητας για νέες βάσεις δεδομένων\n" -#: initdb.c:2207 +#: initdb.c:2448 #, c-format msgid " --pwfile=FILE read password for the new superuser from file\n" msgstr " --pwfile=FILE διάβασε τον κωδικό πρόσβασης για τον νέο υπερχρήστη από το αρχείο\n" -#: initdb.c:2208 +#: initdb.c:2449 #, c-format msgid "" " -T, --text-search-config=CFG\n" @@ -588,27 +600,27 @@ msgstr "" " -T, --text-search-config=CFG\n" " προκαθορισμένη ρύθμιση αναζήτησης κειμένου\n" -#: initdb.c:2210 +#: initdb.c:2451 #, c-format msgid " -U, --username=NAME database superuser name\n" msgstr " -U, --username=NAME όνομα υπερχρήστη βάσης δεδομένων\n" -#: initdb.c:2211 +#: initdb.c:2452 #, c-format msgid " -W, --pwprompt prompt for a password for the new superuser\n" msgstr " -W, --pwprompt προτροπή για κωδικό πρόσβασης για τον νέο υπερχρήστη\n" -#: initdb.c:2212 +#: initdb.c:2453 #, c-format msgid " -X, --waldir=WALDIR location for the write-ahead log directory\n" msgstr " -X, --waldir=WALDIR τοποθεσία για τον κατάλογο write-ahead log\n" -#: initdb.c:2213 +#: initdb.c:2454 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr " --wal-segsize=SIZE μέγεθος των τμημάτων WAL, σε megabytes\n" -#: initdb.c:2214 +#: initdb.c:2455 #, c-format msgid "" "\n" @@ -617,47 +629,52 @@ msgstr "" "\n" "Λιγότερο συχνά χρησιμοποιούμενες επιλογές:\n" -#: initdb.c:2215 +#: initdb.c:2456 +#, c-format +msgid " -c, --set NAME=VALUE override default setting for server parameter\n" +msgstr " -c, --set NAME=VALUE παράκαμψε την προεπιλεγμένη ρύθμιση για την παράμετρο του διακομιστή\n" + +#: initdb.c:2457 #, c-format msgid " -d, --debug generate lots of debugging output\n" msgstr " -d, --debug δημιούργησε πολλές καταγραφές αποσφαλμάτωσης\n" -#: initdb.c:2216 +#: initdb.c:2458 #, c-format msgid " --discard-caches set debug_discard_caches=1\n" msgstr " --discard-caches όρισε debug_discard_caches=1\n" -#: initdb.c:2217 +#: initdb.c:2459 #, c-format msgid " -L DIRECTORY where to find the input files\n" msgstr " -L DIRECTORY τοποθεσία εύρεσης αρχείων εισόδου\n" -#: initdb.c:2218 +#: initdb.c:2460 #, c-format msgid " -n, --no-clean do not clean up after errors\n" msgstr " -n, --no-clean να μην καθαριστούν σφάλματα\n" -#: initdb.c:2219 +#: initdb.c:2461 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" msgstr " -N, --no-sync να μην αναμένει την ασφαλή εγγραφή αλλαγών στον δίσκο\n" -#: initdb.c:2220 +#: initdb.c:2462 #, c-format msgid " --no-instructions do not print instructions for next steps\n" msgstr " --no-instructions να μην εκτυπώσει οδηγίες για τα επόμενα βήματα\n" -#: initdb.c:2221 +#: initdb.c:2463 #, c-format msgid " -s, --show show internal settings\n" msgstr " -s, --show δείξε τις εσωτερικές ρυθμίσεις\n" -#: initdb.c:2222 +#: initdb.c:2464 #, c-format msgid " -S, --sync-only only sync database files to disk, then exit\n" msgstr " -S, --sync-only συγχρόνισε μόνο αρχεία της βάσης δεδομένων στον δίσκο, στη συνέχεια έξοδος\n" -#: initdb.c:2223 +#: initdb.c:2465 #, c-format msgid "" "\n" @@ -666,17 +683,17 @@ msgstr "" "\n" "Άλλες επιλογές:\n" -#: initdb.c:2224 +#: initdb.c:2466 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version εμφάνισε πληροφορίες έκδοσης, στη συνέχεια έξοδος\n" -#: initdb.c:2225 +#: initdb.c:2467 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help εμφάνισε αυτό το μήνυμα βοήθειας, στη συνέχεια έξοδος\n" -#: initdb.c:2226 +#: initdb.c:2468 #, c-format msgid "" "\n" @@ -687,7 +704,7 @@ msgstr "" "Εάν δεν έχει καθοριστεί ο κατάλογος δεδομένων, χρησιμοποιείται η\n" "μεταβλητή περιβάλλοντος PGDATA.\n" -#: initdb.c:2228 +#: initdb.c:2470 #, c-format msgid "" "\n" @@ -696,72 +713,72 @@ msgstr "" "\n" "Υποβάλετε αναφορές σφάλματων σε <%s>.\n" -#: initdb.c:2229 +#: initdb.c:2471 #, c-format msgid "%s home page: <%s>\n" msgstr "%s αρχική σελίδα: <%s>\n" -#: initdb.c:2257 +#: initdb.c:2499 #, c-format msgid "invalid authentication method \"%s\" for \"%s\" connections" msgstr "μη έγκυρη μέθοδος ταυτοποίησης «%s» για συνδέσεις «%s»" -#: initdb.c:2271 +#: initdb.c:2513 #, c-format msgid "must specify a password for the superuser to enable password authentication" msgstr "απαιτείται ο καθορισμός κωδικού πρόσβασης για τον υπερχρήστη για να την ενεργοποίηση του ελέγχου ταυτότητας κωδικού πρόσβασης" -#: initdb.c:2290 +#: initdb.c:2532 #, c-format msgid "no data directory specified" msgstr "δεν ορίστηκε κατάλογος δεδομένων" -#: initdb.c:2291 +#: initdb.c:2533 #, c-format msgid "You must identify the directory where the data for this database system will reside. Do this with either the invocation option -D or the environment variable PGDATA." msgstr "Πρέπει να προσδιορίσετε τον κατάλογο όπου θα αποθηκεύονται τα δεδομένα. Κάντε το είτε με την επιλογή κλήσης -D ή με τη μεταβλητή περιβάλλοντος PGDATA." -#: initdb.c:2308 +#: initdb.c:2550 #, c-format msgid "could not set environment" msgstr "δεν ήταν δυνατή η ρύθμιση περιβάλλοντος" -#: initdb.c:2326 +#: initdb.c:2568 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "το πρόγραμμα «%s» απαιτείται από το %s αλλά δεν βρέθηκε στον ίδιο κατάλογο με το «%s»." -#: initdb.c:2329 +#: initdb.c:2571 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "το πρόγραμμα «%s» βρέθηκε από το «%s» αλλά δεν ήταν η ίδια έκδοση με το %s" -#: initdb.c:2344 +#: initdb.c:2586 #, c-format msgid "input file location must be an absolute path" msgstr "η τοποθεσία του αρχείου εισόδου πρέπει να είναι μία πλήρης διαδρομή" -#: initdb.c:2361 +#: initdb.c:2603 #, c-format msgid "The database cluster will be initialized with locale \"%s\".\n" msgstr "Η συστάδα βάσης δεδομένων θα αρχικοποιηθεί με εντοπιότητα «%s».\n" -#: initdb.c:2364 +#: initdb.c:2606 #, c-format msgid "The database cluster will be initialized with this locale configuration:\n" msgstr "Η συστάδα βάσης δεδομένων θα αρχικοποιηθεί με αυτή τη ρύθμιση εντοπιότητας:\n" -#: initdb.c:2365 +#: initdb.c:2607 #, c-format msgid " provider: %s\n" msgstr " πάροχος: %s\n" -#: initdb.c:2367 +#: initdb.c:2609 #, c-format msgid " ICU locale: %s\n" msgstr " ICU εντοπιότητα: %s\n" -#: initdb.c:2368 +#: initdb.c:2610 #, c-format msgid "" " LC_COLLATE: %s\n" @@ -778,27 +795,22 @@ msgstr "" " LC_NUMERIC: %s\n" " LC_TIME: %s\n" -#: initdb.c:2385 -#, c-format -msgid "The default database encoding has been set to \"%s\".\n" -msgstr "Η προεπιλεγμένη κωδικοποίηση βάσης δεδομένων έχει οριστεί ως «%s».\n" - -#: initdb.c:2397 +#: initdb.c:2640 #, c-format msgid "could not find suitable encoding for locale \"%s\"" msgstr "δεν μπόρεσε να βρεθεί κατάλληλη κωδικοποίηση για την εντοπιότητα «%s»" -#: initdb.c:2399 +#: initdb.c:2642 #, c-format msgid "Rerun %s with the -E option." msgstr "Επανεκτελέστε %s με την επιλογή -E." -#: initdb.c:2400 initdb.c:3021 initdb.c:3041 +#: initdb.c:2643 initdb.c:3176 initdb.c:3284 initdb.c:3304 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Δοκιμάστε «%s --help» για περισσότερες πληροφορίες." -#: initdb.c:2412 +#: initdb.c:2655 #, c-format msgid "" "Encoding \"%s\" implied by locale is not allowed as a server-side encoding.\n" @@ -807,112 +819,107 @@ msgstr "" "Η κωδικοποίηση «%s» που υπονοείται από τις τοπικές ρυθμίσεις δεν επιτρέπεται ως κωδικοποίηση από την πλευρά του διακομιστή.\n" "Η προεπιλεγμένη κωδικοποίηση βάσης δεδομένων θα οριστεί σε «%s».\n" -#: initdb.c:2417 +#: initdb.c:2660 #, c-format msgid "locale \"%s\" requires unsupported encoding \"%s\"" msgstr "εντοπιότητα «%s» προαπαιτεί τη μην υποστηριζόμενη κωδικοποίηση«%s»" -#: initdb.c:2419 +#: initdb.c:2662 #, c-format msgid "Encoding \"%s\" is not allowed as a server-side encoding." msgstr "Η κωδικοποίηση «%s» δεν επιτρέπεται ως κωδικοποίηση από την πλευρά του διακομιστή." -#: initdb.c:2421 +#: initdb.c:2664 #, c-format msgid "Rerun %s with a different locale selection." msgstr "Επανεκτελέστε %s με διαφορετική επιλογή εντοπιότητας." -#: initdb.c:2429 +#: initdb.c:2672 #, c-format msgid "The default database encoding has accordingly been set to \"%s\".\n" msgstr "Η προεπιλεγμένη κωδικοποίηση βάσης δεδομένων έχει οριστεί ως «%s».\n" -#: initdb.c:2498 +#: initdb.c:2741 #, c-format msgid "could not find suitable text search configuration for locale \"%s\"" msgstr "δεν ήταν δυνατή η εύρεση κατάλληλων ρυθμίσεων για την μηχανή αναζήτησης για την εντοπιότητα «%s»" -#: initdb.c:2509 +#: initdb.c:2752 #, c-format msgid "suitable text search configuration for locale \"%s\" is unknown" msgstr "οι κατάλληλες ρυθμίσεις για την μηχανή αναζήτησης για την εντοπιότητα «%s» δεν είναι γνωστές" -#: initdb.c:2514 +#: initdb.c:2757 #, c-format msgid "specified text search configuration \"%s\" might not match locale \"%s\"" msgstr "η ορισμένη ρύθμιση μηχανής αναζήτησης «%s» μπορεί να μην ταιριάζει με την εντοπιότητα «%s»" -#: initdb.c:2519 +#: initdb.c:2762 #, c-format msgid "The default text search configuration will be set to \"%s\".\n" msgstr "Η προκαθορισμένη ρύθμιση μηχανής αναζήτησης θα οριστεί ως «%s».\n" -#: initdb.c:2562 initdb.c:2633 +#: initdb.c:2805 initdb.c:2876 #, c-format msgid "creating directory %s ... " msgstr "δημιουργία καταλόγου %s ... " -#: initdb.c:2567 initdb.c:2638 initdb.c:2690 initdb.c:2746 +#: initdb.c:2810 initdb.c:2881 initdb.c:2929 initdb.c:2985 #, c-format msgid "could not create directory \"%s\": %m" msgstr "δεν ήταν δυνατή η δημιουργία του καταλόγου «%s»: %m" -#: initdb.c:2576 initdb.c:2648 +#: initdb.c:2819 initdb.c:2891 #, c-format msgid "fixing permissions on existing directory %s ... " msgstr "διορθώνονται τα δικαιώματα του υπάρχοντος καταλόγου %s ... " -#: initdb.c:2581 initdb.c:2653 +#: initdb.c:2824 initdb.c:2896 #, c-format msgid "could not change permissions of directory \"%s\": %m" msgstr "δεν ήταν δυνατή η αλλαγή δικαιωμάτων του καταλόγου «%s»: %m" -#: initdb.c:2593 initdb.c:2665 +#: initdb.c:2836 initdb.c:2908 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "ο κατάλογος «%s» υπάρχει και δεν είναι άδειος" -#: initdb.c:2597 +#: initdb.c:2840 #, c-format msgid "If you want to create a new database system, either remove or empty the directory \"%s\" or run %s with an argument other than \"%s\"." msgstr "Αν θέλετε να δημιουργήσετε ένα νέο σύστημα βάσεων δεδομένων, είτε αφαιρέστε ή αδειάστε τον κατάλογο «%s» είτε εκτελέστε το %s με ένα άλλο όρισμα εκτός από το «%s» ." -#: initdb.c:2605 initdb.c:2675 initdb.c:3058 +#: initdb.c:2848 initdb.c:2918 initdb.c:3325 #, c-format msgid "could not access directory \"%s\": %m" msgstr "δεν ήταν δυνατή η πρόσβαση του καταλόγου «%s»: %m" -#: initdb.c:2626 +#: initdb.c:2869 #, c-format msgid "WAL directory location must be an absolute path" msgstr "η τοποθεσία του καταλόγου WAL πρέπει να είναι μία πλήρης διαδρομή" -#: initdb.c:2669 +#: initdb.c:2912 #, c-format msgid "If you want to store the WAL there, either remove or empty the directory \"%s\"." msgstr "Εάν θέλετε να αποθηκεύσετε το WAL εκεί, είτε αφαιρέστε ή αδειάστε τον κατάλογο «%s»." -#: initdb.c:2680 +#: initdb.c:2922 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "δεν ήταν δυνατή η δημιουργία του συμβολικού συνδέσμου «%s»: %m" -#: initdb.c:2683 -#, c-format -msgid "symlinks are not supported on this platform" -msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στην παρούσα πλατφόρμα" - -#: initdb.c:2702 +#: initdb.c:2941 #, c-format msgid "It contains a dot-prefixed/invisible file, perhaps due to it being a mount point." msgstr "Περιέχει ένα αρχείο με πρόθεμα κουκκίδας/αόρατο, ίσως επειδή είναι ένα σημείο προσάρτησης." -#: initdb.c:2704 +#: initdb.c:2943 #, c-format msgid "It contains a lost+found directory, perhaps due to it being a mount point." msgstr "Περιέχει έναν κατάλογο lost+found, ίσως επειδή είναι ένα σημείο προσάρτησης." -#: initdb.c:2706 +#: initdb.c:2945 #, c-format msgid "" "Using a mount point directly as the data directory is not recommended.\n" @@ -921,65 +928,70 @@ msgstr "" "Δεν προτείνεται η άμεση χρήση ενός σημείου προσάρτησης ως καταλόγου δεδομένων.\n" "Δημιουργείστε έναν υποκατάλογο υπό του σημείου προσάρτησης." -#: initdb.c:2732 +#: initdb.c:2971 #, c-format msgid "creating subdirectories ... " msgstr "δημιουργία υποκαταλόγων ... " -#: initdb.c:2775 +#: initdb.c:3014 msgid "performing post-bootstrap initialization ... " msgstr "πραγματοποίηση σταδίου αρχικοποίησης post-bootstrap ... " -#: initdb.c:2940 +#: initdb.c:3175 +#, c-format +msgid "-c %s requires a value" +msgstr "-c %s απαιτεί μια τιμή" + +#: initdb.c:3200 #, c-format msgid "Running in debug mode.\n" msgstr "Εκτέλεση σε λειτουργία αποσφαλμάτωσης.\n" -#: initdb.c:2944 +#: initdb.c:3204 #, c-format msgid "Running in no-clean mode. Mistakes will not be cleaned up.\n" msgstr "Εκτέλεση σε λειτουργία μη καθαρισμού. Τα σφάλματα δεν θα καθαριστούν.\n" -#: initdb.c:3014 +#: initdb.c:3274 #, c-format msgid "unrecognized locale provider: %s" msgstr "μη αναγνωρίσιμος πάροχος εντοπιότητας: %s" -#: initdb.c:3039 +#: initdb.c:3302 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "πάρα πολλές παράμετροι εισόδου από την γραμμή εντολών (η πρώτη είναι η «%s»)" -#: initdb.c:3046 +#: initdb.c:3309 initdb.c:3313 #, c-format msgid "%s cannot be specified unless locale provider \"%s\" is chosen" msgstr "%s δεν είναι δυνατό να καθοριστεί, εκτός εάν επιλεγεί «%s» ως πάροχος εντοπιότητας" -#: initdb.c:3060 initdb.c:3137 +#: initdb.c:3327 initdb.c:3404 msgid "syncing data to disk ... " msgstr "συγχρονίζονται δεδομένα στο δίσκο ... " -#: initdb.c:3068 +#: initdb.c:3335 #, c-format msgid "password prompt and password file cannot be specified together" msgstr "η προτροπή κωδικού εισόδου και το αρχείο κωδικού εισόδου δεν δύναται να οριστούν ταυτόχρονα" -#: initdb.c:3090 +#: initdb.c:3357 #, c-format msgid "argument of --wal-segsize must be a number" msgstr "η παράμετρος --wal-segsize πρέπει να είναι αριθμός" -#: initdb.c:3092 +#: initdb.c:3359 #, c-format msgid "argument of --wal-segsize must be a power of 2 between 1 and 1024" msgstr "η παράμετρος --wal-segsize πρέπει να έχει τιμή δύναμης 2 μεταξύ 1 και 1024" -#: initdb.c:3106 +#: initdb.c:3373 #, c-format msgid "superuser name \"%s\" is disallowed; role names cannot begin with \"pg_\"" msgstr "το όνομα υπερχρήστη «%s» δεν επιτρέπεται, τα ονόματα ρόλων δεν δύναται να αρχίζουν με «pg_»" -#: initdb.c:3108 +#: initdb.c:3375 #, c-format msgid "" "The files belonging to this database system will be owned by user \"%s\".\n" @@ -990,17 +1002,17 @@ msgstr "" "Αυτός ο χρήστης πρέπει επίσης να κατέχει τη διαδικασία διακομιστή.\n" "\n" -#: initdb.c:3124 +#: initdb.c:3391 #, c-format msgid "Data page checksums are enabled.\n" msgstr "Τα αθροίσματα ελέγχου σελίδων δεδομένων είναι ενεργοποιημένα.\n" -#: initdb.c:3126 +#: initdb.c:3393 #, c-format msgid "Data page checksums are disabled.\n" msgstr "Τα αθροίσματα ελέγχου των σελίδων δεδομένων είναι απενεργοποιημένα.\n" -#: initdb.c:3143 +#: initdb.c:3410 #, c-format msgid "" "\n" @@ -1011,22 +1023,22 @@ msgstr "" "Ο συγχρονισμός με το δίσκο παραλείφθηκε.\n" "Ο κατάλογος δεδομένων ενδέχεται να αλλοιωθεί εάν καταρρεύσει το λειτουργικού συστήματος.\n" -#: initdb.c:3148 +#: initdb.c:3415 #, c-format msgid "enabling \"trust\" authentication for local connections" msgstr "ενεργοποιείται η μέθοδος ταυτοποίησης «trust» για τοπικές συνδέσεις" -#: initdb.c:3149 +#: initdb.c:3416 #, c-format msgid "You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb." msgstr "Μπορείτε να το αλλάξετε αυτό τροποποιώντας το pg_hba.conf ή χρησιμοποιώντας την επιλογή -A ή --auth-local και --auth-host, την επόμενη φορά που θα εκτελέσετε το initdb." #. translator: This is a placeholder in a shell command. -#: initdb.c:3179 +#: initdb.c:3446 msgid "logfile" msgstr "logfile" -#: initdb.c:3181 +#: initdb.c:3448 #, c-format msgid "" "\n" @@ -1044,8 +1056,41 @@ msgstr "" #~ msgid " --clobber-cache use cache-clobbering debug option\n" #~ msgstr " --clobber-cache χρησιμοποίησε την επιλογή εντοπισμού σφαλμάτων cache-clobbering\n" +#~ msgid "The default database encoding has been set to \"%s\".\n" +#~ msgstr "Η προεπιλεγμένη κωδικοποίηση βάσης δεδομένων έχει οριστεί ως «%s».\n" + +#~ msgid "cannot create restricted tokens on this platform: error code %lu" +#~ msgstr "δεν ήταν δυνατή η δημιουργία διακριτικών περιορισμού στην παρούσα πλατφόρμα: κωδικός σφάλματος %lu" + +#~ msgid "could not change directory to \"%s\": %m" +#~ msgstr "δεν ήταν δυνατή η μετάβαση στον κατάλογο «%s»: %m" + +#~ msgid "could not identify current directory: %m" +#~ msgstr "δεν ήταν δυνατή η αναγνώριση του τρέχοντος καταλόγου: %m" + +#~ msgid "could not load library \"%s\": error code %lu" +#~ msgstr "δεν ήταν δυνατή η φόρτωση της βιβλιοθήκης «%s»: κωδικός σφάλματος %lu" + +#~ msgid "could not read binary \"%s\"" +#~ msgstr "δεν ήταν δυνατή η ανάγνωση του δυαδικού αρχείου «%s»" + +#~ msgid "could not read symbolic link \"%s\": %m" +#~ msgstr "δεν ήταν δυνατή η ανάγνωση του συμβολικού συνδέσμου «%s»: %m" + +#~ msgid "could not remove file or directory \"%s\": %m" +#~ msgstr "δεν ήταν δυνατή η αφαίρεση αρχείου ή καταλόγου «%s»: %m" + +#~ msgid "could not stat file or directory \"%s\": %m" +#~ msgstr "δεν ήταν δυνατή η εκτέλεση stat στο αρχείο ή κατάλογο «%s»: %m" + #~ msgid "fatal: " #~ msgstr "κρίσιμο: " +#~ msgid "invalid binary \"%s\"" +#~ msgstr "μη έγκυρο δυαδικό αρχείο «%s»" + #~ msgid "pclose failed: %m" #~ msgstr "απέτυχε η εντολή pclose: %m" + +#~ msgid "symlinks are not supported on this platform" +#~ msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στην παρούσα πλατφόρμα" diff --git a/src/bin/initdb/po/ko.po b/src/bin/initdb/po/ko.po index 72f9db7f21e..871c7ca7e6d 100644 --- a/src/bin/initdb/po/ko.po +++ b/src/bin/initdb/po/ko.po @@ -3,10 +3,10 @@ # msgid "" msgstr "" -"Project-Id-Version: initdb (PostgreSQL) 13\n" +"Project-Id-Version: initdb (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2020-10-05 01:16+0000\n" -"PO-Revision-Date: 2020-10-05 17:52+0900\n" +"POT-Creation-Date: 2023-09-07 05:50+0000\n" +"PO-Revision-Date: 2023-09-08 16:09+0900\n" "Last-Translator: Ioseph Kim \n" "Language-Team: Korean \n" "Language: ko\n" @@ -15,100 +15,97 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../../../src/common/logging.c:236 -#, c-format -msgid "fatal: " -msgstr "심각: " - -#: ../../../src/common/logging.c:243 +#: ../../../src/common/logging.c:276 #, c-format msgid "error: " msgstr "오류: " -#: ../../../src/common/logging.c:250 +#: ../../../src/common/logging.c:283 #, c-format msgid "warning: " msgstr "경고: " -#: ../../common/exec.c:137 ../../common/exec.c:254 ../../common/exec.c:300 +#: ../../../src/common/logging.c:294 #, c-format -msgid "could not identify current directory: %m" -msgstr "현재 디렉터리를 알 수 없음: %m" +msgid "detail: " +msgstr "상세정보: " -#: ../../common/exec.c:156 +#: ../../../src/common/logging.c:301 #, c-format -msgid "invalid binary \"%s\"" -msgstr "\"%s\" 파일은 잘못된 바이너리 파일입니다" +msgid "hint: " +msgstr "힌트: " -#: ../../common/exec.c:206 +#: ../../common/exec.c:172 #, c-format -msgid "could not read binary \"%s\"" -msgstr "\"%s\" 바이너리 파일을 읽을 수 없음" +msgid "invalid binary \"%s\": %m" +msgstr "\"%s\" 파일은 잘못된 바이너리 파일임: %m" -#: ../../common/exec.c:214 +#: ../../common/exec.c:215 #, c-format -msgid "could not find a \"%s\" to execute" -msgstr "\"%s\" 실행 파일을 찾을 수 없음" +msgid "could not read binary \"%s\": %m" +msgstr "\"%s\" 바이너리 파일을 읽을 수 없음: %m" -#: ../../common/exec.c:270 ../../common/exec.c:309 +#: ../../common/exec.c:223 #, c-format -msgid "could not change directory to \"%s\": %m" -msgstr "\"%s\" 이름의 디렉터리로 이동할 수 없습니다: %m" +msgid "could not find a \"%s\" to execute" +msgstr "\"%s\" 실행 파일을 찾을 수 없음" -#: ../../common/exec.c:287 +#: ../../common/exec.c:250 #, c-format -msgid "could not read symbolic link \"%s\": %m" -msgstr "\"%s\" 심볼릭 링크 파일을 읽을 수 없음: %m" +msgid "could not resolve path \"%s\" to absolute form: %m" +msgstr "\"%s\" 경로를 절대 경로로 바꿀 수 없음: %m" -#: ../../common/exec.c:410 +#: ../../common/exec.c:412 #, c-format -msgid "pclose failed: %m" -msgstr "pclose 실패: %m" +msgid "%s() failed: %m" +msgstr "%s() 실패: %m" -#: ../../common/exec.c:539 ../../common/exec.c:584 ../../common/exec.c:676 -#: initdb.c:325 +#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 +#: initdb.c:349 #, c-format msgid "out of memory" msgstr "메모리 부족" #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 -#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format msgid "out of memory\n" msgstr "메모리 부족\n" -#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 #, c-format msgid "cannot duplicate null pointer (internal error)\n" msgstr "null 포인터를 중복할 수 없음 (내부 오류)\n" -#: ../../common/file_utils.c:79 ../../common/file_utils.c:181 +#: ../../common/file_utils.c:87 ../../common/file_utils.c:447 #, c-format msgid "could not stat file \"%s\": %m" msgstr "\"%s\" 파일의 상태값을 알 수 없음: %m" -#: ../../common/file_utils.c:158 ../../common/pgfnames.c:48 +#: ../../common/file_utils.c:162 ../../common/pgfnames.c:48 +#: ../../common/rmtree.c:63 #, c-format msgid "could not open directory \"%s\": %m" msgstr "\"%s\" 디렉터리 열 수 없음: %m" -#: ../../common/file_utils.c:192 ../../common/pgfnames.c:69 +#: ../../common/file_utils.c:196 ../../common/pgfnames.c:69 +#: ../../common/rmtree.c:104 #, c-format msgid "could not read directory \"%s\": %m" msgstr "\"%s\" 디렉터리를 읽을 수 없음: %m" -#: ../../common/file_utils.c:224 ../../common/file_utils.c:283 -#: ../../common/file_utils.c:357 +#: ../../common/file_utils.c:228 ../../common/file_utils.c:287 +#: ../../common/file_utils.c:361 #, c-format msgid "could not open file \"%s\": %m" msgstr "\"%s\" 파일을 열 수 없음: %m" -#: ../../common/file_utils.c:295 ../../common/file_utils.c:365 +#: ../../common/file_utils.c:299 ../../common/file_utils.c:369 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "\"%s\" 파일 fsync 실패: %m" -#: ../../common/file_utils.c:375 +#: ../../common/file_utils.c:379 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "\"%s\" 파일을 \"%s\" 파일로 이름을 바꿀 수 없음: %m" @@ -118,55 +115,45 @@ msgstr "\"%s\" 파일을 \"%s\" 파일로 이름을 바꿀 수 없음: %m" msgid "could not close directory \"%s\": %m" msgstr "\"%s\" 디렉터리를 닫을 수 없음: %m" -#: ../../common/restricted_token.c:64 -#, c-format -msgid "could not load library \"%s\": error code %lu" -msgstr "\"%s\" 라이브러리를 불러 올 수 없음: 오류 코드 %lu" - -#: ../../common/restricted_token.c:73 -#, c-format -msgid "cannot create restricted tokens on this platform: error code %lu" -msgstr "이 운영체제에서 restricted token을 만들 수 없음: 오류 코드 %lu" - -#: ../../common/restricted_token.c:82 +#: ../../common/restricted_token.c:60 #, c-format msgid "could not open process token: error code %lu" msgstr "프로세스 토큰을 열 수 없음: 오류 코드 %lu" -#: ../../common/restricted_token.c:97 +#: ../../common/restricted_token.c:74 #, c-format msgid "could not allocate SIDs: error code %lu" msgstr "SID를 할당할 수 없음: 오류 코드 %lu" -#: ../../common/restricted_token.c:119 +#: ../../common/restricted_token.c:94 #, c-format msgid "could not create restricted token: error code %lu" msgstr "제한된 토큰을 만들 수 없음: 오류 코드 %lu" -#: ../../common/restricted_token.c:140 +#: ../../common/restricted_token.c:115 #, c-format msgid "could not start process for command \"%s\": error code %lu" msgstr "\"%s\" 명령용 프로세스를 시작할 수 없음: 오류 코드 %lu" -#: ../../common/restricted_token.c:178 +#: ../../common/restricted_token.c:153 #, c-format msgid "could not re-execute with restricted token: error code %lu" msgstr "제한된 토큰으로 재실행할 수 없음: 오류 코드 %lu" -#: ../../common/restricted_token.c:194 +#: ../../common/restricted_token.c:168 #, c-format msgid "could not get exit code from subprocess: error code %lu" msgstr "하위 프로세스의 종료 코드를 구할 수 없음: 오류 코드 %lu" -#: ../../common/rmtree.c:79 +#: ../../common/rmtree.c:95 #, c-format -msgid "could not stat file or directory \"%s\": %m" -msgstr "파일 또는 디렉터리 \"%s\"의 상태를 확인할 수 없음: %m" +msgid "could not remove file \"%s\": %m" +msgstr "\"%s\" 파일을 지울 수 없음: %m" -#: ../../common/rmtree.c:101 ../../common/rmtree.c:113 +#: ../../common/rmtree.c:122 #, c-format -msgid "could not remove file or directory \"%s\": %m" -msgstr "\"%s\" 파일 또는 디렉터리를 지울 수 없음: %m" +msgid "could not remove directory \"%s\": %m" +msgstr "\"%s\" 디렉터리를 지울 수 없음: %m" #: ../../common/username.c:43 #, c-format @@ -182,285 +169,333 @@ msgstr "사용자 없음" msgid "user name lookup failure: error code %lu" msgstr "사용자 이름 찾기 실패: 오류 코드 %lu" -#: ../../common/wait_error.c:45 +#: ../../common/wait_error.c:55 #, c-format msgid "command not executable" msgstr "명령을 실행할 수 없음" -#: ../../common/wait_error.c:49 +#: ../../common/wait_error.c:59 #, c-format msgid "command not found" msgstr "해당 명령어 없음" -#: ../../common/wait_error.c:54 +#: ../../common/wait_error.c:64 #, c-format msgid "child process exited with exit code %d" msgstr "하위 프로세스가 종료되었음, 종료 코드 %d" -#: ../../common/wait_error.c:62 +#: ../../common/wait_error.c:72 #, c-format msgid "child process was terminated by exception 0x%X" msgstr "0x%X 예외로 하위 프로세스가 종료되었음." -#: ../../common/wait_error.c:66 +#: ../../common/wait_error.c:76 #, c-format msgid "child process was terminated by signal %d: %s" msgstr "하위 프로세스가 종료되었음, 시그널 %d: %s" -#: ../../common/wait_error.c:72 +#: ../../common/wait_error.c:82 #, c-format msgid "child process exited with unrecognized status %d" msgstr "하위 프로세스가 종료되었음, 알수 없는 상태 %d" -#: ../../port/dirmod.c:221 +#: ../../port/dirmod.c:287 #, c-format msgid "could not set junction for \"%s\": %s\n" msgstr "\"%s\" 파일의 연결을 설정할 수 없음: %s\n" -#: ../../port/dirmod.c:298 +#: ../../port/dirmod.c:367 #, c-format msgid "could not get junction for \"%s\": %s\n" msgstr "\"%s\" 파일의 정션을 구할 수 없음: %s\n" -#: initdb.c:481 initdb.c:1505 +#: initdb.c:618 initdb.c:1613 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "\"%s\" 파일 일기 모드로 열기 실패: %m" -#: initdb.c:536 initdb.c:846 initdb.c:872 +#: initdb.c:662 initdb.c:966 initdb.c:986 #, c-format msgid "could not open file \"%s\" for writing: %m" msgstr "\"%s\" 파일 열기 실패: %m" -#: initdb.c:543 initdb.c:550 initdb.c:852 initdb.c:877 +#: initdb.c:666 initdb.c:969 initdb.c:988 #, c-format msgid "could not write file \"%s\": %m" msgstr "\"%s\" 파일 쓰기 실패: %m" -#: initdb.c:568 +#: initdb.c:670 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "\"%s\" 파일을 닫을 수 없음: %m" + +#: initdb.c:686 #, c-format msgid "could not execute command \"%s\": %m" msgstr "\"%s\" 명령을 실행할 수 없음: %m" -#: initdb.c:586 +#: initdb.c:704 #, c-format msgid "removing data directory \"%s\"" msgstr "\"%s\" 데이터 디렉터리를 지우는 중" -#: initdb.c:588 +#: initdb.c:706 #, c-format msgid "failed to remove data directory" msgstr "데이터 디렉터리를 지우는데 실패" -#: initdb.c:592 +#: initdb.c:710 #, c-format msgid "removing contents of data directory \"%s\"" msgstr "\"%s\" 데이터 디렉터리 안의 내용을 지우는 중" -#: initdb.c:595 +#: initdb.c:713 #, c-format msgid "failed to remove contents of data directory" msgstr "데이터 디렉터리 내용을 지우는데 실패" -#: initdb.c:600 +#: initdb.c:718 #, c-format msgid "removing WAL directory \"%s\"" msgstr "\"%s\" WAL 디렉터리를 지우는 중" -#: initdb.c:602 +#: initdb.c:720 #, c-format msgid "failed to remove WAL directory" msgstr "WAL 디렉터리를 지우는데 실패" -#: initdb.c:606 +#: initdb.c:724 #, c-format msgid "removing contents of WAL directory \"%s\"" msgstr "\"%s\" WAL 디렉터리 안의 내용을 지우는 중" -#: initdb.c:608 +#: initdb.c:726 #, c-format msgid "failed to remove contents of WAL directory" msgstr "WAL 디렉터리 내용을 지우는데 실패" -#: initdb.c:615 +#: initdb.c:733 #, c-format msgid "data directory \"%s\" not removed at user's request" msgstr "\"%s\" 데이터 디렉터리가 사용자의 요청으로 삭제되지 않았음" -#: initdb.c:619 +#: initdb.c:737 #, c-format msgid "WAL directory \"%s\" not removed at user's request" msgstr "\"%s\" WAL 디렉터리가 사용자의 요청으로 삭제되지 않았음" -#: initdb.c:637 +#: initdb.c:755 #, c-format msgid "cannot be run as root" msgstr "root 권한으로 실행할 수 없음" -#: initdb.c:639 +#: initdb.c:756 #, c-format msgid "" -"Please log in (using, e.g., \"su\") as the (unprivileged) user that will\n" -"own the server process.\n" +"Please log in (using, e.g., \"su\") as the (unprivileged) user that will own " +"the server process." msgstr "" -"시스템관리자 권한이 없는, 서버프로세스의 소유주가 될 일반 사용자로\n" -"로그인 해서(\"su\" 같은 명령 이용) 실행하십시오.\n" +"시스템관리자 권한이 없는, 서버프로세스의 소유주가 될 일반 사용자로 로그인 해" +"서(\"su\" 같은 명령 이용) 실행하십시오." -#: initdb.c:672 +#: initdb.c:788 #, c-format msgid "\"%s\" is not a valid server encoding name" msgstr "\"%s\" 인코딩은 서버 인코딩 이름을 사용할 수 없음" -#: initdb.c:805 +#: initdb.c:932 #, c-format msgid "file \"%s\" does not exist" msgstr "\"%s\" 파일 없음" -#: initdb.c:807 initdb.c:814 initdb.c:823 +#: initdb.c:933 initdb.c:938 initdb.c:945 #, c-format msgid "" -"This might mean you have a corrupted installation or identified\n" -"the wrong directory with the invocation option -L.\n" +"This might mean you have a corrupted installation or identified the wrong " +"directory with the invocation option -L." msgstr "" -"설치가 잘못되었거나 –L 호출 옵션으로 식별한 디렉터리가\n" -"잘못되었을 수 있습니다.\n" +"설치가 잘못되었거나 -L 호출 옵션으로 지정한 디렉터리가 잘못되었을 수 있습니" +"다." -#: initdb.c:812 +#: initdb.c:937 #, c-format msgid "could not access file \"%s\": %m" msgstr "\"%s\" 파일에 액세스할 수 없음: %m" -#: initdb.c:821 +#: initdb.c:944 #, c-format msgid "file \"%s\" is not a regular file" msgstr "\"%s\" 파일은 일반 파일이 아님" -#: initdb.c:966 +#: initdb.c:1077 #, c-format msgid "selecting dynamic shared memory implementation ... " msgstr "사용할 동적 공유 메모리 관리방식을 선택하는 중 ... " -#: initdb.c:975 +#: initdb.c:1086 #, c-format msgid "selecting default max_connections ... " msgstr "max_connections 초기값을 선택하는 중 ..." -#: initdb.c:1006 +#: initdb.c:1106 #, c-format msgid "selecting default shared_buffers ... " msgstr "기본 shared_buffers를 선택하는 중... " -#: initdb.c:1040 +#: initdb.c:1129 #, c-format msgid "selecting default time zone ... " msgstr "기본 지역 시간대를 선택 중 ... " -#: initdb.c:1074 +#: initdb.c:1206 msgid "creating configuration files ... " msgstr "환경설정 파일을 만드는 중 ..." -#: initdb.c:1227 initdb.c:1246 initdb.c:1332 initdb.c:1347 +#: initdb.c:1367 initdb.c:1381 initdb.c:1448 initdb.c:1459 #, c-format msgid "could not change permissions of \"%s\": %m" msgstr "\"%s\" 접근 권한을 바꿀 수 없음: %m" -#: initdb.c:1369 +#: initdb.c:1477 #, c-format msgid "running bootstrap script ... " msgstr "부트스트랩 스크립트 실행 중 ... " -#: initdb.c:1381 +#: initdb.c:1489 #, c-format msgid "input file \"%s\" does not belong to PostgreSQL %s" msgstr "\"%s\" 입력 파일이 PostgreSQL %s 용이 아님" -#: initdb.c:1384 +#: initdb.c:1491 #, c-format -msgid "" -"Check your installation or specify the correct path using the option -L.\n" -msgstr "설치상태를 확인해 보고, -L 옵션으로 바른 경로를 지정하십시오.\n" +msgid "Specify the correct path using the option -L." +msgstr "-L 옵션으로 바른 경로를 지정하십시오." -#: initdb.c:1482 +#: initdb.c:1591 msgid "Enter new superuser password: " msgstr "새 superuser 암호를 입력하십시오:" -#: initdb.c:1483 +#: initdb.c:1592 msgid "Enter it again: " msgstr "암호 확인:" -#: initdb.c:1486 +#: initdb.c:1595 #, c-format msgid "Passwords didn't match.\n" msgstr "암호가 서로 틀립니다.\n" -#: initdb.c:1512 +#: initdb.c:1619 #, c-format msgid "could not read password from file \"%s\": %m" msgstr "\"%s\" 파일에서 암호를 읽을 수 없음: %m" -#: initdb.c:1515 +#: initdb.c:1622 #, c-format msgid "password file \"%s\" is empty" msgstr "\"%s\" 패스워드 파일이 비어있음" -#: initdb.c:2043 +#: initdb.c:2034 #, c-format msgid "caught signal\n" msgstr "시스템의 간섭 신호(signal) 받았음\n" -#: initdb.c:2049 +#: initdb.c:2040 #, c-format msgid "could not write to child process: %s\n" msgstr "하위 프로세스에 쓸 수 없음: %s\n" -#: initdb.c:2057 +#: initdb.c:2048 #, c-format msgid "ok\n" msgstr "완료\n" # # search5 끝 # # advance 부분 -#: initdb.c:2147 +#: initdb.c:2137 #, c-format msgid "setlocale() failed" msgstr "setlocale() 실패" -#: initdb.c:2168 +#: initdb.c:2155 #, c-format msgid "failed to restore old locale \"%s\"" msgstr "\"%s\" 옛 로케일을 복원할 수 없음" -#: initdb.c:2177 +#: initdb.c:2163 #, c-format msgid "invalid locale name \"%s\"" msgstr "\"%s\" 로케일 이름이 잘못됨" -#: initdb.c:2188 +#: initdb.c:2164 +#, c-format +msgid "If the locale name is specific to ICU, use --icu-locale." +msgstr "ICU 로케일 이름을 사용하려면, --icu-locale 옵션을 사용하세요." + +#: initdb.c:2177 #, c-format msgid "invalid locale settings; check LANG and LC_* environment variables" msgstr "잘못된 로케일 설정; LANG 또는 LC_* OS 환경 변수를 확인하세요" -#: initdb.c:2215 +#: initdb.c:2203 initdb.c:2227 #, c-format msgid "encoding mismatch" msgstr "인코딩 불일치" -#: initdb.c:2217 +#: initdb.c:2204 #, c-format msgid "" -"The encoding you selected (%s) and the encoding that the\n" -"selected locale uses (%s) do not match. This would lead to\n" -"misbehavior in various character string processing functions.\n" -"Rerun %s and either do not specify an encoding explicitly,\n" -"or choose a matching combination.\n" +"The encoding you selected (%s) and the encoding that the selected locale " +"uses (%s) do not match. This would lead to misbehavior in various character " +"string processing functions." msgstr "" -"선택한 인코딩(%s)과 선택한 로케일에서 사용하는\n" -"인코딩(%s)이 일치하지 않습니다. 이로 인해\n" -"여러 문자열 처리 함수에 오작동이 발생할 수 있습니다.\n" -"%s을(를) 다시 실행하고 인코딩을 명시적으로 지정하지 않거나\n" -"일치하는 조합을 선택하십시오.\n" +"선택한 인코딩(%s)과 선택한 로케일에서 사용하는 인코딩(%s)이 일치하지 않습니" +"다. 이로 인해 여러 문자열 처리 함수에 오작동이 발생할 수 있습니다." -#: initdb.c:2289 +#: initdb.c:2209 initdb.c:2230 +#, c-format +msgid "" +"Rerun %s and either do not specify an encoding explicitly, or choose a " +"matching combination." +msgstr "" +"암묵적으로 지정된 인코딩이 마음에 들지 않으면 지정할 수 있는 인코딩을 지정해" +"서 %s 작업을 다시 하세요." + +#: initdb.c:2228 +#, c-format +msgid "The encoding you selected (%s) is not supported with the ICU provider." +msgstr "지정한 %s 인코딩을 ICU 제공자가 지원하지 않습니다." + +#: initdb.c:2279 +#, c-format +msgid "could not convert locale name \"%s\" to language tag: %s" +msgstr "\"%s\" 로케일 이름을 로케일 태그로 바꿀 수 없음: %s" + +#: initdb.c:2285 initdb.c:2337 initdb.c:2416 +#, c-format +msgid "ICU is not supported in this build" +msgstr "ICU 지원 기능을 뺀 채로 서버가 만들어졌습니다." + +#: initdb.c:2308 +#, c-format +msgid "could not get language from locale \"%s\": %s" +msgstr "\"%s\" 로케일에서 언어를 찾을 수 없음: %s" + +#: initdb.c:2334 +#, c-format +msgid "locale \"%s\" has unknown language \"%s\"" +msgstr "\"%s\" 로케일은 \"%s\" 라는 알 수 없는 언어를 사용함" + +#: initdb.c:2400 +#, c-format +msgid "ICU locale must be specified" +msgstr "ICU 로케일을 지정해야합니다." + +#: initdb.c:2404 +#, c-format +msgid "Using language tag \"%s\" for ICU locale \"%s\".\n" +msgstr "\"%s\" 로케일 태그를 사용함, 해당 ICU 로케일: \"%s\"\n" + +#: initdb.c:2427 #, c-format msgid "" "%s initializes a PostgreSQL database cluster.\n" @@ -469,17 +504,17 @@ msgstr "" "%s PostgreSQL 데이터베이스 클러스터를 초기화 하는 프로그램.\n" "\n" -#: initdb.c:2290 +#: initdb.c:2428 #, c-format msgid "Usage:\n" msgstr "사용법:\n" -#: initdb.c:2291 +#: initdb.c:2429 #, c-format msgid " %s [OPTION]... [DATADIR]\n" msgstr " %s [옵션]... [DATADIR]\n" -#: initdb.c:2292 +#: initdb.c:2430 #, c-format msgid "" "\n" @@ -488,50 +523,69 @@ msgstr "" "\n" "옵션들:\n" -#: initdb.c:2293 +#: initdb.c:2431 #, c-format msgid "" " -A, --auth=METHOD default authentication method for local " "connections\n" msgstr " -A, --auth=METHOD 로컬 연결의 기본 인증 방법\n" -#: initdb.c:2294 +#: initdb.c:2432 #, c-format msgid "" " --auth-host=METHOD default authentication method for local TCP/IP " "connections\n" msgstr " --auth-host=METHOD local TCP/IP 연결에 대한 기본 인증 방법\n" -#: initdb.c:2295 +#: initdb.c:2433 #, c-format msgid "" " --auth-local=METHOD default authentication method for local-socket " "connections\n" msgstr " --auth-local=METHOD local-socket 연결에 대한 기본 인증 방법\n" -#: initdb.c:2296 +#: initdb.c:2434 #, c-format msgid " [-D, --pgdata=]DATADIR location for this database cluster\n" msgstr " [-D, --pgdata=]DATADIR 새 데이터베이스 클러스터를 만들 디렉터리\n" -#: initdb.c:2297 +#: initdb.c:2435 #, c-format msgid " -E, --encoding=ENCODING set default encoding for new databases\n" msgstr " -E, --encoding=ENCODING 새 데이터베이스의 기본 인코딩\n" -#: initdb.c:2298 +#: initdb.c:2436 #, c-format msgid "" " -g, --allow-group-access allow group read/execute on data directory\n" msgstr "" " -g, --allow-group-access 데이터 디렉터리를 그룹이 읽고 접근할 있게 함\n" -#: initdb.c:2299 +#: initdb.c:2437 +#, c-format +msgid " --icu-locale=LOCALE set ICU locale ID for new databases\n" +msgstr " --icu-locale=LOCALE 새 데이터베이스의 ICU 로케일 ID 지정\n" + +#: initdb.c:2438 +#, c-format +msgid "" +" --icu-rules=RULES set additional ICU collation rules for new " +"databases\n" +msgstr "" +" --icu-rules=RULES 새 데이터베이스의 추가 ICU 문자열 정렬 규칙을 지" +"정\n" + +#: initdb.c:2439 +#, c-format +msgid " -k, --data-checksums use data page checksums\n" +msgstr " -k, --data-checksums 자료 페이지 체크섬 사용\n" + +#: initdb.c:2440 #, c-format msgid " --locale=LOCALE set default locale for new databases\n" msgstr " --locale=LOCALE 새 데이터베이스의 기본 로케일 설정\n" -#: initdb.c:2300 +#: initdb.c:2441 #, c-format msgid "" " --lc-collate=, --lc-ctype=, --lc-messages=LOCALE\n" @@ -545,18 +599,27 @@ msgstr "" " 새 데이터베이스의 각 범주에 기본 로케일 설정\n" " (환경에서 가져온 기본 값)\n" -#: initdb.c:2304 +#: initdb.c:2445 #, c-format msgid " --no-locale equivalent to --locale=C\n" msgstr " --no-locale -locale=C와 같음\n" -#: initdb.c:2305 +#: initdb.c:2446 +#, c-format +msgid "" +" --locale-provider={libc|icu}\n" +" set default locale provider for new databases\n" +msgstr "" +" --locale-provider={libc|icu}\n" +" 새 데이터베이스의 로케일 제공자 지정\n" + +#: initdb.c:2448 #, c-format msgid "" " --pwfile=FILE read password for the new superuser from file\n" msgstr " --pwfile=FILE 파일에서 새 superuser의 암호 읽기\n" -#: initdb.c:2306 +#: initdb.c:2449 #, c-format msgid "" " -T, --text-search-config=CFG\n" @@ -565,29 +628,29 @@ msgstr "" " -T, --text-search-config=CFG\n" " 기본 텍스트 검색 구성\n" -#: initdb.c:2308 +#: initdb.c:2451 #, c-format msgid " -U, --username=NAME database superuser name\n" msgstr " -U, --username=NAME 데이터베이스 superuser 이름\n" -#: initdb.c:2309 +#: initdb.c:2452 #, c-format msgid "" " -W, --pwprompt prompt for a password for the new superuser\n" msgstr " -W, --pwprompt 새 superuser 암호를 입력 받음\n" -#: initdb.c:2310 +#: initdb.c:2453 #, c-format msgid "" " -X, --waldir=WALDIR location for the write-ahead log directory\n" msgstr " -X, --waldir=WALDIR 트랜잭션 로그 디렉터리 위치\n" -#: initdb.c:2311 +#: initdb.c:2454 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr " --wal-segsize=SIZE WAL 조각 파일 크기, MB단위\n" -#: initdb.c:2312 +#: initdb.c:2455 #, c-format msgid "" "\n" @@ -596,27 +659,33 @@ msgstr "" "\n" "덜 일반적으로 사용되는 옵션들:\n" -#: initdb.c:2313 +#: initdb.c:2456 +#, c-format +msgid "" +" -c, --set NAME=VALUE override default setting for server parameter\n" +msgstr " -c, --set NAME=VALUE 서버 매개 변수 기본 설정을 바꿈\n" + +#: initdb.c:2457 #, c-format msgid " -d, --debug generate lots of debugging output\n" msgstr " -d, --debug 디버깅에 필요한 정보들도 함께 출력함\n" -#: initdb.c:2314 +#: initdb.c:2458 #, c-format -msgid " -k, --data-checksums use data page checksums\n" -msgstr " -k, --data-checksums 자료 페이지 체크섬 사용\n" +msgid " --discard-caches set debug_discard_caches=1\n" +msgstr " --discard-caches debug_discard_caches=1 지정\n" -#: initdb.c:2315 +#: initdb.c:2459 #, c-format msgid " -L DIRECTORY where to find the input files\n" msgstr " -L DIRECTORY 입력파일들이 있는 디렉터리\n" -#: initdb.c:2316 +#: initdb.c:2460 #, c-format msgid " -n, --no-clean do not clean up after errors\n" msgstr " -n, --no-clean 오류가 발생되었을 경우 그대로 둠\n" -#: initdb.c:2317 +#: initdb.c:2461 #, c-format msgid "" " -N, --no-sync do not wait for changes to be written safely to " @@ -624,17 +693,23 @@ msgid "" msgstr "" " -N, --no-sync 작업 완료 뒤 디스크 동기화 작업을 하지 않음\n" -#: initdb.c:2318 +#: initdb.c:2462 +#, c-format +msgid " --no-instructions do not print instructions for next steps\n" +msgstr " --no-instructions 다음 작업을 위해 구성 정보를 출력 안함\n" + +#: initdb.c:2463 #, c-format msgid " -s, --show show internal settings\n" msgstr " -s, --show 내부 설정값들을 보여줌\n" -#: initdb.c:2319 +#: initdb.c:2464 #, c-format -msgid " -S, --sync-only only sync data directory\n" -msgstr " -S, --sync-only 데이터 디렉터리만 동기화\n" +msgid "" +" -S, --sync-only only sync database files to disk, then exit\n" +msgstr " -S, --sync-only 데이터 디렉터리만 동기화하고 마침\n" -#: initdb.c:2320 +#: initdb.c:2465 #, c-format msgid "" "\n" @@ -643,17 +718,17 @@ msgstr "" "\n" "기타 옵션:\n" -#: initdb.c:2321 +#: initdb.c:2466 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version 버전 정보를 보여주고 마침\n" -#: initdb.c:2322 +#: initdb.c:2467 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help 이 도움말을 보여주고 마침\n" -#: initdb.c:2323 +#: initdb.c:2468 #, c-format msgid "" "\n" @@ -663,7 +738,7 @@ msgstr "" "\n" "데이터 디렉터리를 지정하지 않으면, PGDATA 환경 변수값을 사용합니다.\n" -#: initdb.c:2325 +#: initdb.c:2470 #, c-format msgid "" "\n" @@ -672,104 +747,117 @@ msgstr "" "\n" "문제점 보고 주소: <%s>\n" -#: initdb.c:2326 +#: initdb.c:2471 #, c-format msgid "%s home page: <%s>\n" msgstr "%s 홈페이지: <%s>\n" -#: initdb.c:2354 +#: initdb.c:2499 #, c-format msgid "invalid authentication method \"%s\" for \"%s\" connections" msgstr "\"%s\" 인증 방법은 \"%s\" 연결에서는 사용할 수 없음" -#: initdb.c:2370 +#: initdb.c:2513 #, c-format -msgid "must specify a password for the superuser to enable %s authentication" -msgstr "%s 인증방식을 사용하려면, 반드시 superuser의 암호를 지정해야함" +msgid "" +"must specify a password for the superuser to enable password authentication" +msgstr "비밀번호 인증방식을 사용하려면, 반드시 superuser의 암호를 지정해야함" -#: initdb.c:2397 +#: initdb.c:2532 #, c-format msgid "no data directory specified" msgstr "데이터 디렉터리를 지정하지 않았음" -#: initdb.c:2399 +#: initdb.c:2533 #, c-format msgid "" -"You must identify the directory where the data for this database system\n" -"will reside. Do this with either the invocation option -D or the\n" -"environment variable PGDATA.\n" +"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 "" -"이 작업을 진행하려면, 반드시 이 데이터 디렉터리를 지정해 주어야합니다.\n" -"지정하는 방법은 -D 옵션의 값이나, PGDATA 환경 변수값으로 지정해 주면 됩니" -"다.\n" +"이 작업을 진행하려면, 반드시 이 데이터 디렉터리를 지정해 주어야합니다. 지정하" +"는 방법은 -D 옵션의 값이나, PGDATA 환경 변수값으로 지정해 주면 됩니 다." -#: initdb.c:2434 +#: initdb.c:2550 +#, c-format +msgid "could not set environment" +msgstr "환경 변수를 지정할 수 없음" + +#: initdb.c:2568 #, c-format msgid "" -"The program \"%s\" is needed by %s but was not found in the\n" -"same directory as \"%s\".\n" -"Check your installation." +"program \"%s\" is needed by %s but was not found in the same directory as " +"\"%s\"" msgstr "" -"\"%s\" 프로그램이 %s 작업에서 필요합니다. 그런데, 이 파일이\n" -"\"%s\" 파일이 있는 디렉터리안에 없습니다.\n" -"설치 상태를 확인해 주십시오." +"\"%s\" 프로그램이 %s 작업에서 필요합니다. 그런데, 이 파일이 \"%s\" 파일이 있" +"는 디렉터리안에 없습니다." -#: initdb.c:2439 +#: initdb.c:2571 #, c-format -msgid "" -"The program \"%s\" was found by \"%s\"\n" -"but was not the same version as %s.\n" -"Check your installation." +msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "" -"\"%s\" 프로그램을 \"%s\" 작업 때문에 찾았지만 이 파일은\n" -"%s 프로그램의 버전과 다릅니다.\n" -"설치 상태를 확인해 주십시오." +"\"%s\" 프로그램을 \"%s\" 작업 때문에 찾았지만 이 파일은 %s 프로그램의 버전과 " +"다릅니다." -#: initdb.c:2458 +#: initdb.c:2586 #, c-format msgid "input file location must be an absolute path" msgstr "입력 파일 위치는 반드시 절대경로여야함" -#: initdb.c:2475 +#: initdb.c:2603 #, c-format msgid "The database cluster will be initialized with locale \"%s\".\n" msgstr "데이터베이스 클러스터는 \"%s\" 로케일으로 초기화될 것입니다.\n" -#: initdb.c:2478 +#: initdb.c:2606 +#, c-format +msgid "" +"The database cluster will be initialized with this locale configuration:\n" +msgstr "데이터베이스 클러스터는 아래 로케일 환경으로 초기화될 것입니다:\n" + +#: initdb.c:2607 +#, c-format +msgid " provider: %s\n" +msgstr " 제공자: %s\n" + +#: initdb.c:2609 +#, c-format +msgid " ICU locale: %s\n" +msgstr " ICU 로케일: %s\n" + +#: initdb.c:2610 #, c-format msgid "" -"The database cluster will be initialized with locales\n" -" COLLATE: %s\n" -" CTYPE: %s\n" -" MESSAGES: %s\n" -" MONETARY: %s\n" -" NUMERIC: %s\n" -" TIME: %s\n" +" LC_COLLATE: %s\n" +" LC_CTYPE: %s\n" +" LC_MESSAGES: %s\n" +" LC_MONETARY: %s\n" +" LC_NUMERIC: %s\n" +" LC_TIME: %s\n" msgstr "" -"데이터베이스 클러스터는 다음 로케일으로 초기화될 것입니다.\n" -" COLLATE: %s\n" -" CTYPE: %s\n" -" MESSAGES: %s\n" -" MONETARY: %s\n" -" NUMERIC: %s\n" -" TIME: %s\n" +" LC_COLLATE: %s\n" +" LC_CTYPE: %s\n" +" LC_MESSAGES: %s\n" +" LC_MONETARY: %s\n" +" LC_NUMERIC: %s\n" +" LC_TIME: %s\n" -#: initdb.c:2502 +#: initdb.c:2640 #, c-format msgid "could not find suitable encoding for locale \"%s\"" msgstr "\"%s\" 로케일에 알맞은 인코딩을 찾을 수 없음" -#: initdb.c:2504 +#: initdb.c:2642 #, c-format -msgid "Rerun %s with the -E option.\n" -msgstr "-E 옵션으로 %s 지정해 주십시오.\n" +msgid "Rerun %s with the -E option." +msgstr "-E 옵션 지정해서 %s 작업을 다시 하세요." -#: initdb.c:2505 initdb.c:3127 initdb.c:3148 +#: initdb.c:2643 initdb.c:3176 initdb.c:3284 initdb.c:3304 #, c-format -msgid "Try \"%s --help\" for more information.\n" -msgstr "보다 자세한 정보를 보려면 \"%s --help\" 옵션을 사용하십시오.\n" +msgid "Try \"%s --help\" for more information." +msgstr "자세한 사항은 \"%s --help\" 명령으로 살펴보세요." -#: initdb.c:2518 +#: initdb.c:2655 #, c-format msgid "" "Encoding \"%s\" implied by locale is not allowed as a server-side encoding.\n" @@ -778,180 +866,189 @@ msgstr "" "\"%s\" 인코딩을 서버측 인코딩으로 사용할 수 없습니다.\n" "기본 데이터베이스는 \"%s\" 인코딩으로 지정됩니다.\n" -#: initdb.c:2523 +#: initdb.c:2660 #, c-format msgid "locale \"%s\" requires unsupported encoding \"%s\"" msgstr "\"%s\" 로케일은 지원하지 않는 \"%s\" 인코딩을 필요로 함" -#: initdb.c:2526 +#: initdb.c:2662 #, c-format -msgid "" -"Encoding \"%s\" is not allowed as a server-side encoding.\n" -"Rerun %s with a different locale selection.\n" -msgstr "" -"\"%s\" 인코딩을 서버측 인코딩으로 사용할 수 없습니다.\n" -"다른 로케일을 선택하고 %s을(를) 다시 실행하십시오.\n" +msgid "Encoding \"%s\" is not allowed as a server-side encoding." +msgstr "\"%s\" 인코딩을 서버측 인코딩으로 사용할 수 없습니다." + +#: initdb.c:2664 +#, c-format +msgid "Rerun %s with a different locale selection." +msgstr "다른 로케일을 지정해서 %s 작업을 다시 하세요." -#: initdb.c:2535 +#: initdb.c:2672 #, c-format msgid "The default database encoding has accordingly been set to \"%s\".\n" msgstr "기본 데이터베이스 인코딩은 \"%s\" 인코딩으로 설정되었습니다.\n" -#: initdb.c:2597 +#: initdb.c:2741 #, c-format msgid "could not find suitable text search configuration for locale \"%s\"" msgstr "\"%s\" 로케일에 알맞은 전문검색 설정을 찾을 수 없음" -#: initdb.c:2608 +#: initdb.c:2752 #, c-format msgid "suitable text search configuration for locale \"%s\" is unknown" msgstr "\"%s\" 로케일에 알맞은 전문검색 설정을 알 수 없음" -#: initdb.c:2613 +#: initdb.c:2757 #, c-format msgid "" "specified text search configuration \"%s\" might not match locale \"%s\"" msgstr "지정한 \"%s\" 전문검색 설정은 \"%s\" 로케일과 일치하지 않음" -#: initdb.c:2618 +#: initdb.c:2762 #, c-format msgid "The default text search configuration will be set to \"%s\".\n" msgstr "기본 텍스트 검색 구성이 \"%s\"(으)로 설정됩니다.\n" -#: initdb.c:2662 initdb.c:2744 +#: initdb.c:2805 initdb.c:2876 #, c-format msgid "creating directory %s ... " msgstr "%s 디렉터리 만드는 중 ..." -#: initdb.c:2668 initdb.c:2750 initdb.c:2815 initdb.c:2877 +#: initdb.c:2810 initdb.c:2881 initdb.c:2929 initdb.c:2985 #, c-format msgid "could not create directory \"%s\": %m" msgstr "\"%s\" 디렉터리를 만들 수 없음: %m" -#: initdb.c:2679 initdb.c:2762 +#: initdb.c:2819 initdb.c:2891 #, c-format msgid "fixing permissions on existing directory %s ... " msgstr "이미 있는 %s 디렉터리의 액세스 권한을 고치는 중 ..." -#: initdb.c:2685 initdb.c:2768 +#: initdb.c:2824 initdb.c:2896 #, c-format msgid "could not change permissions of directory \"%s\": %m" msgstr "\"%s\" 디렉터리의 액세스 권한을 바꿀 수 없습니다: %m" -#: initdb.c:2699 initdb.c:2782 +#: initdb.c:2836 initdb.c:2908 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "\"%s\" 디렉터리가 있지만 비어 있지 않음" -#: initdb.c:2704 +#: initdb.c:2840 #, c-format msgid "" -"If you want to create a new database system, either remove or empty\n" -"the directory \"%s\" or run %s\n" -"with an argument other than \"%s\".\n" +"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 "" -"새로운 데이터베이스 시스템을 만들려면\n" -"\"%s\" 디렉터리를 제거하거나 비우십시오. 또는 %s을(를)\n" -"\"%s\" 이외의 인수를 사용하여 실행하십시오.\n" +"새로운 데이터베이스 시스템을 만들려면 \"%s\" 디렉터리를 제거하거나 비우십시" +"오. 또는 %s 작업을 \"%s\" 디렉터리가 아닌 것으로 지정해서 하세요." -#: initdb.c:2712 initdb.c:2794 initdb.c:3163 +#: initdb.c:2848 initdb.c:2918 initdb.c:3325 #, c-format msgid "could not access directory \"%s\": %m" msgstr "\"%s\" 디렉터리를 액세스할 수 없습니다: %m" -#: initdb.c:2735 +#: initdb.c:2869 #, c-format msgid "WAL directory location must be an absolute path" msgstr "WAL 디렉터리 위치는 절대 경로여야 함" -#: initdb.c:2787 +#: initdb.c:2912 #, c-format msgid "" -"If you want to store the WAL there, either remove or empty the directory\n" -"\"%s\".\n" +"If you want to store the WAL there, either remove or empty the directory \"%s" +"\"." msgstr "" -"트랜잭션 로그를 해당 위치에 저장하려면\n" -"\"%s\" 디렉터리를 제거하거나 비우십시오.\n" +"트랜잭션 로그를 해당 위치에 저장하려면 \"%s\" 디렉터리를 제거하거나 비우십시" +"오." -#: initdb.c:2801 +#: initdb.c:2922 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "\"%s\" 심벌릭 링크를 만들 수 없음: %m" -#: initdb.c:2806 -#, c-format -msgid "symlinks are not supported on this platform" -msgstr "이 플랫폼에서는 심볼 링크가 지원되지 않음" - -#: initdb.c:2830 +#: initdb.c:2941 #, c-format msgid "" "It contains a dot-prefixed/invisible file, perhaps due to it being a mount " -"point.\n" +"point." msgstr "" "점(.)으로 시작하는 숨은 파일이 포함되어 있습니다. 마운트 최상위 디렉터리 같습" -"니다.\n" +"니다." -#: initdb.c:2833 +#: initdb.c:2943 #, c-format msgid "" -"It contains a lost+found directory, perhaps due to it being a mount point.\n" -msgstr "lost-found 디렉터리가 있습니다. 마운트 최상위 디렉터리 같습니다.\n" +"It contains a lost+found directory, perhaps due to it being a mount point." +msgstr "lost-found 디렉터리가 있습니다. 마운트 최상위 디렉터리 같습니다." -#: initdb.c:2836 +#: initdb.c:2945 #, c-format msgid "" "Using a mount point directly as the data directory is not recommended.\n" -"Create a subdirectory under the mount point.\n" +"Create a subdirectory under the mount point." msgstr "" "마운트 최상위 디렉터리를 데이터 디렉터리로 사용하는 것은 권장하지 않습니다.\n" -"하위 디렉터리를 만들어서 그것을 데이터 디렉터리로 사용하세요.\n" +"하위 디렉터리를 만들어서 그것을 데이터 디렉터리로 사용하세요." -#: initdb.c:2862 +#: initdb.c:2971 #, c-format msgid "creating subdirectories ... " msgstr "하위 디렉터리 만드는 중 ..." -#: initdb.c:2908 +#: initdb.c:3014 msgid "performing post-bootstrap initialization ... " msgstr "부트스트랩 다음 초기화 작업 중 ... " -#: initdb.c:3065 +#: initdb.c:3175 +#, c-format +msgid "-c %s requires a value" +msgstr "-c %s 설정은 값을 필요로 합니다." + +#: initdb.c:3200 #, c-format msgid "Running in debug mode.\n" msgstr "디버그 모드로 실행 중.\n" -#: initdb.c:3069 +#: initdb.c:3204 #, c-format msgid "Running in no-clean mode. Mistakes will not be cleaned up.\n" msgstr "지저분 모드로 실행 중. 오류가 발생되어도 뒷정리를 안합니다.\n" -#: initdb.c:3146 +#: initdb.c:3274 +#, c-format +msgid "unrecognized locale provider: %s" +msgstr "알 수 없는 로케일 제공자 이름: %s" + +#: initdb.c:3302 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "너무 많은 명령행 인자를 지정했습니다. (처음 \"%s\")" -#: initdb.c:3167 initdb.c:3256 +#: initdb.c:3309 initdb.c:3313 +#, c-format +msgid "%s cannot be specified unless locale provider \"%s\" is chosen" +msgstr "%s 옵션은 \"%s\" 로케일 제공자를 사용할 때만 사용할 수 있습니다." + +#: initdb.c:3327 initdb.c:3404 msgid "syncing data to disk ... " msgstr "자료를 디스크에 동기화 하는 중 ... " -#: initdb.c:3176 +#: initdb.c:3335 #, c-format msgid "password prompt and password file cannot be specified together" msgstr "" "암호를 입력받는 옵션과 암호를 파일에서 가져오는 옵션은 동시에 사용될 수 없음" -#: initdb.c:3201 +#: initdb.c:3357 #, c-format msgid "argument of --wal-segsize must be a number" msgstr "--wal-segsize 옵션 값은 숫자여야 함" -#: initdb.c:3206 +#: initdb.c:3359 #, c-format -msgid "argument of --wal-segsize must be a power of 2 between 1 and 1024" +msgid "argument of --wal-segsize must be a power of two between 1 and 1024" msgstr "--wal-segsize 옵션값은 1에서 1024사이 2^n 값이여야 함" -#: initdb.c:3223 +#: initdb.c:3373 #, c-format msgid "" "superuser name \"%s\" is disallowed; role names cannot begin with \"pg_\"" @@ -959,7 +1056,7 @@ msgstr "" "\"%s\" 사용자는 슈퍼유저 이름으로 쓸 수 없습니다. \"pg_\"로 시작하는롤 이름" "은 허용하지 않음" -#: initdb.c:3227 +#: initdb.c:3375 #, c-format msgid "" "The files belonging to this database system will be owned by user \"%s\".\n" @@ -970,17 +1067,17 @@ msgstr "" "지정될 것입니다. 또한 이 사용자는 서버 프로세스의 소유주가 됩니다.\n" "\n" -#: initdb.c:3243 +#: initdb.c:3391 #, c-format msgid "Data page checksums are enabled.\n" msgstr "자료 페이지 체크섬 기능 사용함.\n" -#: initdb.c:3245 +#: initdb.c:3393 #, c-format msgid "Data page checksums are disabled.\n" msgstr "자료 페이지 체크섬 기능 사용 하지 않음\n" -#: initdb.c:3262 +#: initdb.c:3410 #, c-format msgid "" "\n" @@ -992,27 +1089,27 @@ msgstr "" "이 상태에서 OS가 갑자기 중지 되면 데이터 디렉토리 안에 있는 자료가 깨질 수 있" "습니다.\n" -#: initdb.c:3267 +#: initdb.c:3415 #, c-format msgid "enabling \"trust\" authentication for local connections" msgstr "로컬 접속용 \"trust\" 인증을 설정 함" -#: initdb.c:3268 +#: initdb.c:3416 #, c-format msgid "" -"You can change this by editing pg_hba.conf or using the option -A, or\n" -"--auth-local and --auth-host, the next time you run initdb.\n" +"You can change this by editing pg_hba.conf or using the option -A, or --auth-" +"local and --auth-host, the next time you run initdb." msgstr "" -"이 값을 바꾸려면, pg_hba.conf 파일을 수정하든지,\n" -"다음번 initdb 명령을 사용할 때, -A 옵션 또는 --auth-local,\n" -"--auth-host 옵션을 사용해서 인증 방법을 지정할 수 있습니다.\n" +"이 값을 바꾸려면, pg_hba.conf 파일을 수정하든지, 다음번 initdb 명령을 사용할 " +"때, -A 옵션 또는 --auth-local, --auth-host 옵션을 사용해서 initdb 작업을 하세" +"요." #. translator: This is a placeholder in a shell command. -#: initdb.c:3293 +#: initdb.c:3446 msgid "logfile" msgstr "로그파일" -#: initdb.c:3295 +#: initdb.c:3448 #, c-format msgid "" "\n" @@ -1026,3 +1123,15 @@ msgstr "" "\n" " %s\n" "\n" + +#, c-format +#~ msgid "Using default ICU locale \"%s\".\n" +#~ msgstr "기본 ICU 로케일로 \"%s\" 사용함.\n" + +#, c-format +#~ msgid "could not open collator for default locale: %s" +#~ msgstr "기본 로케일용 문자열 정렬 규칙을 열 수 없음: %s" + +#, c-format +#~ msgid "could not determine default ICU locale" +#~ msgstr "기본 ICU 로케일을 결정할 수 없음" diff --git a/src/bin/initdb/po/zh_TW.po b/src/bin/initdb/po/zh_TW.po new file mode 100644 index 00000000000..de22ba631c5 --- /dev/null +++ b/src/bin/initdb/po/zh_TW.po @@ -0,0 +1,1373 @@ +# Traditional Chinese message translation file for initdb +# Copyright (C) 2023 PostgreSQL Global Development Group +# This file is distributed under the same license as the initdb (PostgreSQL) package. +# 2004-12-13 Zhenbang Wei +# +msgid "" +msgstr "" +"Project-Id-Version: initdb (PostgreSQL) 16\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2023-09-05 20:50+0000\n" +"PO-Revision-Date: 2023-09-11 08:36+0800\n" +"Last-Translator: Zhenbang Wei \n" +"Language-Team: \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.3.2\n" + +# libpq/be-secure.c:294 libpq/be-secure.c:387 +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "錯誤: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "警告: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "詳細內容: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "提示: " + +# command.c:122 +#: ../../common/exec.c:172 +#, c-format +msgid "invalid binary \"%s\": %m" +msgstr "無效的執行檔 \"%s\": %m" + +# command.c:1103 +#: ../../common/exec.c:215 +#, c-format +msgid "could not read binary \"%s\": %m" +msgstr "無法讀取執行檔 \"%s\": %m" + +#: ../../common/exec.c:223 +#, c-format +msgid "could not find a \"%s\" to execute" +msgstr "找不到可執行的 \"%s\"" + +# utils/error/elog.c:1128 +#: ../../common/exec.c:250 +#, c-format +msgid "could not resolve path \"%s\" to absolute form: %m" +msgstr "無法將路徑 \"%s\" 解析為絕對路徑: %m" + +# fe-misc.c:991 +#: ../../common/exec.c:412 +#, c-format +msgid "%s() failed: %m" +msgstr "%s() 失敗: %m" + +# commands/sequence.c:798 executor/execGrouping.c:328 +# executor/execGrouping.c:388 executor/nodeIndexscan.c:1051 lib/dllist.c:43 +# lib/dllist.c:88 libpq/auth.c:637 postmaster/pgstat.c:1006 +# postmaster/pgstat.c:1023 postmaster/pgstat.c:2452 postmaster/pgstat.c:2527 +# postmaster/pgstat.c:2572 postmaster/pgstat.c:2623 +# postmaster/postmaster.c:755 postmaster/postmaster.c:1625 +# postmaster/postmaster.c:2344 storage/buffer/localbuf.c:139 +# storage/file/fd.c:587 storage/file/fd.c:620 storage/file/fd.c:766 +# storage/ipc/sinval.c:789 storage/lmgr/lock.c:497 storage/smgr/md.c:138 +# storage/smgr/md.c:848 storage/smgr/smgr.c:213 utils/adt/cash.c:297 +# utils/adt/cash.c:312 utils/adt/oracle_compat.c:73 +# utils/adt/oracle_compat.c:124 utils/adt/regexp.c:191 +# utils/adt/ri_triggers.c:3471 utils/cache/relcache.c:164 +# utils/cache/relcache.c:178 utils/cache/relcache.c:1130 +# utils/cache/typcache.c:165 utils/cache/typcache.c:487 +# utils/fmgr/dfmgr.c:127 utils/fmgr/fmgr.c:521 utils/fmgr/fmgr.c:532 +# utils/init/miscinit.c:213 utils/init/miscinit.c:234 +# utils/init/miscinit.c:244 utils/misc/guc.c:1898 utils/misc/guc.c:1911 +# utils/misc/guc.c:1924 utils/mmgr/aset.c:337 utils/mmgr/aset.c:503 +# utils/mmgr/aset.c:700 utils/mmgr/aset.c:893 utils/mmgr/portalmem.c:75 +#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 +#: initdb.c:349 +#, c-format +msgid "out of memory" +msgstr "記憶體不足" + +#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 +#, c-format +msgid "out of memory\n" +msgstr "記憶體不足\n" + +# common.c:78 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "無法複製 null 指標(內部錯誤)\n" + +# access/transam/xlog.c:1936 access/transam/xlog.c:2038 +# access/transam/xlog.c:5291 +#: ../../common/file_utils.c:87 ../../common/file_utils.c:447 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "無法查詢檔案 \"%s\" 的狀態: %m" + +# access/transam/slru.c:930 commands/tablespace.c:529 +# commands/tablespace.c:694 utils/adt/misc.c:174 +#: ../../common/file_utils.c:162 ../../common/pgfnames.c:48 +#: ../../common/rmtree.c:63 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "無法開啟目錄 \"%s\": %m" + +# access/transam/slru.c:967 commands/tablespace.c:577 +# commands/tablespace.c:721 +#: ../../common/file_utils.c:196 ../../common/pgfnames.c:69 +#: ../../common/rmtree.c:104 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "無法讀取目錄 \"%s\": %m" + +# access/transam/slru.c:638 access/transam/xlog.c:1631 +# access/transam/xlog.c:2742 access/transam/xlog.c:2832 +# access/transam/xlog.c:2930 libpq/hba.c:911 libpq/hba.c:935 +# utils/error/elog.c:1118 utils/init/miscinit.c:783 utils/init/miscinit.c:889 +# utils/misc/database.c:68 +#: ../../common/file_utils.c:228 ../../common/file_utils.c:287 +#: ../../common/file_utils.c:361 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "無法開啟檔案 \"%s\": %m" + +# access/transam/slru.c:673 access/transam/xlog.c:1562 +# access/transam/xlog.c:1686 access/transam/xlog.c:3008 +#: ../../common/file_utils.c:299 ../../common/file_utils.c:369 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "無法 fsync 檔案 \"%s\": %m" + +# access/transam/xlog.c:3037 access/transam/xlog.c:3819 +# access/transam/xlog.c:3862 commands/user.c:282 commands/user.c:412 +# postmaster/pgarch.c:597 +#: ../../common/file_utils.c:379 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "無法將檔案 \"%s\" 更名為 \"%s\": %m" + +# access/transam/slru.c:930 commands/tablespace.c:529 +# commands/tablespace.c:694 utils/adt/misc.c:174 +#: ../../common/pgfnames.c:74 +#, c-format +msgid "could not close directory \"%s\": %m" +msgstr "無法關閉目錄 \"%s\": %m" + +# port/win32/security.c:39 +#: ../../common/restricted_token.c:60 +#, c-format +msgid "could not open process token: error code %lu" +msgstr "無法開啟行程 token: 錯誤碼 %lu" + +# port/pg_sema.c:117 port/sysv_sema.c:117 +#: ../../common/restricted_token.c:74 +#, c-format +msgid "could not allocate SIDs: error code %lu" +msgstr "無法配置 SID: 錯誤碼 %lu" + +# port/win32/signal.c:239 +#: ../../common/restricted_token.c:94 +#, c-format +msgid "could not create restricted token: error code %lu" +msgstr "無法建立受限 token: 錯誤碼 %lu" + +#: ../../common/restricted_token.c:115 +#, c-format +msgid "could not start process for command \"%s\": error code %lu" +msgstr "無法為指令 \"%s\" 啟動行程: 錯誤碼 %lu" + +# port/win32/signal.c:239 +#: ../../common/restricted_token.c:153 +#, c-format +msgid "could not re-execute with restricted token: error code %lu" +msgstr "無法使用受限 token 重新執行: 錯誤碼 %lu" + +#: ../../common/restricted_token.c:168 +#, c-format +msgid "could not get exit code from subprocess: error code %lu" +msgstr "無法從子行程取得結束碼: 錯誤碼 %lu" + +# access/transam/xlog.c:1944 access/transam/xlog.c:5453 +# access/transam/xlog.c:5607 postmaster/postmaster.c:3504 +#: ../../common/rmtree.c:95 +#, c-format +msgid "could not remove file \"%s\": %m" +msgstr "無法刪除檔案 \"%s\": %m" + +# commands/tablespace.c:610 +#: ../../common/rmtree.c:122 +#, c-format +msgid "could not remove directory \"%s\": %m" +msgstr "無法刪除目錄 \"%s\": %m" + +# libpq/be-secure.c:689 +#: ../../common/username.c:43 +#, c-format +msgid "could not look up effective user ID %ld: %s" +msgstr "找不到有效的使用者 ID %ld: %s" + +# commands/user.c:899 commands/user.c:1012 commands/user.c:1104 +# commands/user.c:1233 commands/variable.c:664 utils/cache/lsyscache.c:2064 +# utils/init/miscinit.c:335 +#: ../../common/username.c:45 +msgid "user does not exist" +msgstr "使用者不存在" + +# port/win32/security.c:39 +#: ../../common/username.c:60 +#, c-format +msgid "user name lookup failure: error code %lu" +msgstr "找不到使用者名稱: 錯誤碼 %lu" + +#: ../../common/wait_error.c:55 +#, c-format +msgid "command not executable" +msgstr "無法執行指令" + +#: ../../common/wait_error.c:59 +#, c-format +msgid "command not found" +msgstr "找不到指令" + +#: ../../common/wait_error.c:64 +#, c-format +msgid "child process exited with exit code %d" +msgstr "子行程結束,結束碼 %d" + +#: ../../common/wait_error.c:72 +#, c-format +msgid "child process was terminated by exception 0x%X" +msgstr "子行程因異常 0x%X 而停止" + +#: ../../common/wait_error.c:76 +#, c-format +msgid "child process was terminated by signal %d: %s" +msgstr "子行程因信號 %d 而停止: %s" + +#: ../../common/wait_error.c:82 +#, c-format +msgid "child process exited with unrecognized status %d" +msgstr "子行程因不明狀態 %d 而停止" + +#: ../../port/dirmod.c:287 +#, c-format +msgid "could not set junction for \"%s\": %s\n" +msgstr "無法設置 junction 至 \"%s\": %s\n" + +#: ../../port/dirmod.c:367 +#, c-format +msgid "could not get junction for \"%s\": %s\n" +msgstr "無法取得 \"%s\" 的 junction: %s\n" + +# commands/copy.c:1031 +#: initdb.c:618 initdb.c:1613 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "無法開啟檔案 \"%s\" 以進行讀取: %m" + +# commands/copy.c:1094 +#: initdb.c:662 initdb.c:966 initdb.c:986 +#, c-format +msgid "could not open file \"%s\" for writing: %m" +msgstr "無法開啟檔案 \"%s\" 以進行寫入: %m" + +# access/transam/xlog.c:5319 access/transam/xlog.c:5439 +#: initdb.c:666 initdb.c:969 initdb.c:988 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "無法寫入檔案 \"%s\": %m" + +# access/transam/slru.c:680 access/transam/xlog.c:1567 +# access/transam/xlog.c:1691 access/transam/xlog.c:3013 +#: initdb.c:670 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "無法關閉檔案 \"%s\": %m" + +#: initdb.c:686 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "無法執行指令 \"%s\": %m" + +#: initdb.c:704 +#, c-format +msgid "removing data directory \"%s\"" +msgstr "刪除資料目錄 \"%s\"" + +#: initdb.c:706 +#, c-format +msgid "failed to remove data directory" +msgstr "無法刪除資料目錄" + +#: initdb.c:710 +#, c-format +msgid "removing contents of data directory \"%s\"" +msgstr "刪除資料目錄 \"%s\" 的內容" + +#: initdb.c:713 +#, c-format +msgid "failed to remove contents of data directory" +msgstr "無法刪除資料目錄的內容" + +#: initdb.c:718 +#, c-format +msgid "removing WAL directory \"%s\"" +msgstr "刪除 WAL 目錄 \"%s\"" + +#: initdb.c:720 +#, c-format +msgid "failed to remove WAL directory" +msgstr "無法刪除 WAL 目錄" + +#: initdb.c:724 +#, c-format +msgid "removing contents of WAL directory \"%s\"" +msgstr "刪除 WAL 目錄 \"%s\" 的內容" + +#: initdb.c:726 +#, c-format +msgid "failed to remove contents of WAL directory" +msgstr "無法刪除 WAL 目錄的內容" + +#: initdb.c:733 +#, c-format +msgid "data directory \"%s\" not removed at user's request" +msgstr "根據使用者要求,未刪除資料目錄 \"%s\"" + +#: initdb.c:737 +#, c-format +msgid "WAL directory \"%s\" not removed at user's request" +msgstr "根據使用者要求,未刪除WAL目錄 \"%s\"" + +# translator: %s represents an SQL statement name +# access/transam/xact.c:2195 +#: initdb.c:755 +#, c-format +msgid "cannot be run as root" +msgstr "無法以 root 執行" + +#: initdb.c:756 +#, c-format +msgid "Please log in (using, e.g., \"su\") as the (unprivileged) user that will own the server process." +msgstr "請以擁有伺服器行程的(非特權)使用者身分登入(例如用 \"su\" 命令)。" + +#: initdb.c:788 +#, c-format +msgid "\"%s\" is not a valid server encoding name" +msgstr "\"%s\" 不是有效的伺服器編碼名稱" + +# commands/comment.c:582 +#: initdb.c:932 +#, c-format +msgid "file \"%s\" does not exist" +msgstr "檔案 \"%s\" 不存在" + +#: initdb.c:933 initdb.c:938 initdb.c:945 +#, c-format +msgid "This might mean you have a corrupted installation or identified the wrong directory with the invocation option -L." +msgstr "這可能表示您的安裝損壞或使用錯誤的目錄選項 -L。" + +# utils/fmgr/dfmgr.c:107 utils/fmgr/dfmgr.c:209 utils/fmgr/dfmgr.c:263 +#: initdb.c:937 +#, c-format +msgid "could not access file \"%s\": %m" +msgstr "無法存取檔案 \"%s\": %m" + +#: initdb.c:944 +#, c-format +msgid "file \"%s\" is not a regular file" +msgstr "檔案 \"%s\" 不是一般檔案" + +#: initdb.c:1077 +#, c-format +msgid "selecting dynamic shared memory implementation ... " +msgstr "選擇動態共享記憶體實作方式… " + +#: initdb.c:1086 +#, c-format +msgid "selecting default max_connections ... " +msgstr "選擇預設 max_connections … " + +#: initdb.c:1106 +#, c-format +msgid "selecting default shared_buffers ... " +msgstr "選擇預設 shared_buffers … " + +#: initdb.c:1129 +#, c-format +msgid "selecting default time zone ... " +msgstr "選擇預設時區 … " + +#: initdb.c:1206 +msgid "creating configuration files ... " +msgstr "建立設定檔中… " + +# libpq/pqcomm.c:520 +#: initdb.c:1367 initdb.c:1381 initdb.c:1448 initdb.c:1459 +#, c-format +msgid "could not change permissions of \"%s\": %m" +msgstr "無法修改檔案 \"%s\" 的權限: %m" + +#: initdb.c:1477 +#, c-format +msgid "running bootstrap script ... " +msgstr "執行啟動腳本… " + +# tcop/utility.c:92 +#: initdb.c:1489 +#, c-format +msgid "input file \"%s\" does not belong to PostgreSQL %s" +msgstr "輸入檔 \"%s\" 不屬於 PostgreSQL %s" + +#: initdb.c:1491 +#, c-format +msgid "Specify the correct path using the option -L." +msgstr "使用選項 -L 指定正確的路徑。" + +#: initdb.c:1591 +msgid "Enter new superuser password: " +msgstr "輸入超級使用者的新密碼: " + +#: initdb.c:1592 +msgid "Enter it again: " +msgstr "請重新輸入: " + +#: initdb.c:1595 +#, c-format +msgid "Passwords didn't match.\n" +msgstr "密碼不符。\n" + +#: initdb.c:1619 +#, c-format +msgid "could not read password from file \"%s\": %m" +msgstr "無法從檔案 \"%s\" 讀取密碼: %m" + +# commands/tablespace.c:334 +#: initdb.c:1622 +#, c-format +msgid "password file \"%s\" is empty" +msgstr "密碼檔 \"%s\" 是空的" + +#: initdb.c:2034 +#, c-format +msgid "caught signal\n" +msgstr "捕捉到信號\n" + +#: initdb.c:2040 +#, c-format +msgid "could not write to child process: %s\n" +msgstr "無法寫入至子行程: %s\n" + +#: initdb.c:2048 +#, c-format +msgid "ok\n" +msgstr "成功\n" + +# fe-misc.c:991 +#: initdb.c:2137 +#, c-format +msgid "setlocale() failed" +msgstr "setlocale() 失敗" + +# utils/init/miscinit.c:648 +#: initdb.c:2155 +#, c-format +msgid "failed to restore old locale \"%s\"" +msgstr "無法還原舊的區域設定 \"%s\"" + +#: initdb.c:2163 +#, c-format +msgid "invalid locale name \"%s\"" +msgstr "無效的區域名稱 \"%s\"" + +#: initdb.c:2164 +#, c-format +msgid "If the locale name is specific to ICU, use --icu-locale." +msgstr "如果區域名稱是 ICU 專用的,請使用 --icu-locale。" + +#: initdb.c:2177 +#, c-format +msgid "invalid locale settings; check LANG and LC_* environment variables" +msgstr "無效的區域設定;請檢查 LANG 和 LC_* 環境變數" + +#: initdb.c:2203 initdb.c:2227 +#, c-format +msgid "encoding mismatch" +msgstr "編碼不符" + +#: initdb.c:2204 +#, c-format +msgid "The encoding you selected (%s) and the encoding that the selected locale uses (%s) do not match. This would lead to misbehavior in various character string processing functions." +msgstr "您選擇的編碼方式(%s)和所選的區域使用的編碼方式(%s)不符合。這可能會導致各種字串處理函數的不正常行為。" + +#: initdb.c:2209 initdb.c:2230 +#, c-format +msgid "Rerun %s and either do not specify an encoding explicitly, or choose a matching combination." +msgstr "重新執行 %s 且不明確指定編碼或選擇一個相符的組合。" + +#: initdb.c:2228 +#, c-format +msgid "The encoding you selected (%s) is not supported with the ICU provider." +msgstr "您所選擇的編碼方式(%s)不受 ICU 提供者支援。" + +# rewrite/rewriteDefine.c:421 +#: initdb.c:2279 +#, c-format +msgid "could not convert locale name \"%s\" to language tag: %s" +msgstr "無法將區域名稱 \"%s\" 轉換為語言標籤: %s" + +# input.c:213 +#: initdb.c:2285 initdb.c:2337 initdb.c:2416 +#, c-format +msgid "ICU is not supported in this build" +msgstr "此版本不支援 ICU" + +# utils/init/miscinit.c:792 utils/misc/guc.c:5074 +#: initdb.c:2308 +#, c-format +msgid "could not get language from locale \"%s\": %s" +msgstr "無法從區域設定 \"%s\" 獲得語言: %s" + +#: initdb.c:2334 +#, c-format +msgid "locale \"%s\" has unknown language \"%s\"" +msgstr "區域設定 \"%s\" 具有未知的語言 \"%s\"" + +# commands/aggregatecmds.c:111 +#: initdb.c:2400 +#, c-format +msgid "ICU locale must be specified" +msgstr "必須指定 ICU 區域設定" + +#: initdb.c:2404 +#, c-format +msgid "Using language tag \"%s\" for ICU locale \"%s\".\n" +msgstr "使用語言標籤 \"%s\" 來設定 ICU 區域 \"%s\"。\n" + +#: initdb.c:2427 +#, c-format +msgid "" +"%s initializes a PostgreSQL database cluster.\n" +"\n" +msgstr "" +"%s 初始化 PostgreSQL 資料庫叢集。\n" +"\n" + +#: initdb.c:2428 +#, c-format +msgid "Usage:\n" +msgstr "用法:\n" + +#: initdb.c:2429 +#, c-format +msgid " %s [OPTION]... [DATADIR]\n" +msgstr "" + +#: initdb.c:2430 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"選項:\n" + +#: initdb.c:2431 +#, c-format +msgid " -A, --auth=METHOD default authentication method for local connections\n" +msgstr " -A, --auth=METHOD 本機連線的預設驗證方法\n" + +#: initdb.c:2432 +#, c-format +msgid " --auth-host=METHOD default authentication method for local TCP/IP connections\n" +msgstr " --auth-host=METHOD 本機 TCP/IP 連線的預設驗證方法\n" + +#: initdb.c:2433 +#, c-format +msgid " --auth-local=METHOD default authentication method for local-socket connections\n" +msgstr " --auth-local=METHOD 本機 socket 連線的預設驗證方法\n" + +#: initdb.c:2434 +#, c-format +msgid " [-D, --pgdata=]DATADIR location for this database cluster\n" +msgstr " [-D, --pgdata=]DATADIR 資料庫叢集的位置\n" + +#: initdb.c:2435 +#, c-format +msgid " -E, --encoding=ENCODING set default encoding for new databases\n" +msgstr " -E, --encoding=ENCODING 設定新資料庫的預設編碼\n" + +#: initdb.c:2436 +#, c-format +msgid " -g, --allow-group-access allow group read/execute on data directory\n" +msgstr " -g, --allow-group-access 允許群組對數據目錄進行讀取和執行操作\n" + +#: initdb.c:2437 +#, c-format +msgid " --icu-locale=LOCALE set ICU locale ID for new databases\n" +msgstr " --icu-locale=LOCALE 設定新資料庫的 ICU 區域識別碼\n" + +#: initdb.c:2438 +#, c-format +msgid " --icu-rules=RULES set additional ICU collation rules for new databases\n" +msgstr " --icu-rules=RULES 設定新資料庫的額外 ICU 排序規則\n" + +#: initdb.c:2439 +#, c-format +msgid " -k, --data-checksums use data page checksums\n" +msgstr " -k, --data-checksums 使用資料頁檢查\n" + +#: initdb.c:2440 +#, c-format +msgid " --locale=LOCALE set default locale for new databases\n" +msgstr " --locale=LOCALE 定新資料庫的預設區域\n" + +#: initdb.c:2441 +#, c-format +msgid "" +" --lc-collate=, --lc-ctype=, --lc-messages=LOCALE\n" +" --lc-monetary=, --lc-numeric=, --lc-time=LOCALE\n" +" set default locale in the respective category for\n" +" new databases (default taken from environment)\n" +msgstr "" +" --lc-collate=, --lc-ctype=, --lc-messages=LOCALE\n" +" --lc-monetary=, --lc-numeric=, --lc-time=LOCALE\n" +" 設定新資料庫相應類別的預設區域(預設值取自環境)\n" + +#: initdb.c:2445 +#, c-format +msgid " --no-locale equivalent to --locale=C\n" +msgstr " --no-locale 同 --locale=C\n" + +#: initdb.c:2446 +#, c-format +msgid "" +" --locale-provider={libc|icu}\n" +" set default locale provider for new databases\n" +msgstr "" +" --locale-provider={libc|icu}\n" +" 設定新資料庫的預設域提供者\n" + +#: initdb.c:2448 +#, c-format +msgid " --pwfile=FILE read password for the new superuser from file\n" +msgstr "" +" --pwfile=FILE 從檔案中讀取新超級使用者的密碼\n" +"\n" + +#: initdb.c:2449 +#, c-format +msgid "" +" -T, --text-search-config=CFG\n" +" default text search configuration\n" +msgstr "" +" -T, --text-search-config=CFG\n" +" 預設文字搜尋配置\n" + +#: initdb.c:2451 +#, c-format +msgid " -U, --username=NAME database superuser name\n" +msgstr "" +" -U, --username=NAME 資料庫超級使用者名稱\n" +"\n" + +#: initdb.c:2452 +#, c-format +msgid " -W, --pwprompt prompt for a password for the new superuser\n" +msgstr " -W, --pwprompt 提示輸入新超級使用者的密碼\n" + +#: initdb.c:2453 +#, c-format +msgid " -X, --waldir=WALDIR location for the write-ahead log directory\n" +msgstr " -X, --waldir=WALDIR write-ahead 日誌目錄的位置\n" + +#: initdb.c:2454 +#, c-format +msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" +msgstr " --wal-segsize=SIZE WAL 段的大小,單位是 MB\n" + +#: initdb.c:2455 +#, c-format +msgid "" +"\n" +"Less commonly used options:\n" +msgstr "" +"\n" +"較少使用的選項:\n" + +# postmaster/postmaster.c:1022 tcop/postgres.c:2120 +#: initdb.c:2456 +#, c-format +msgid " -c, --set NAME=VALUE override default setting for server parameter\n" +msgstr " -c, --set NAME=VALUE 覆寫伺服器參數的預設設定\n" + +#: initdb.c:2457 +#, c-format +msgid " -d, --debug generate lots of debugging output\n" +msgstr " -d, --debug 產生大量的除錯訊息\n" + +#: initdb.c:2458 +#, c-format +msgid " --discard-caches set debug_discard_caches=1\n" +msgstr " --discard-caches 設定 debug_discard_caches=1\n" + +#: initdb.c:2459 +#, c-format +msgid " -L DIRECTORY where to find the input files\n" +msgstr " -L DIRECTORY 指定尋找輸入檔案的路徑\n" + +#: initdb.c:2460 +#, c-format +msgid " -n, --no-clean do not clean up after errors\n" +msgstr " -n, --no-clean 錯誤發生後不執行清理動作\n" + +#: initdb.c:2461 +#, c-format +msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" +msgstr " -N, --no-sync 不等待將被安全地寫入磁碟的資料\n" + +#: initdb.c:2462 +#, c-format +msgid " --no-instructions do not print instructions for next steps\n" +msgstr " --no-instructions 不顯示下一步操作的指示\n" + +#: initdb.c:2463 +#, c-format +msgid " -s, --show show internal settings\n" +msgstr " -s, --show 顯示內部設定\n" + +#: initdb.c:2464 +#, c-format +msgid " -S, --sync-only only sync database files to disk, then exit\n" +msgstr " -S, --sync-only 只同步資料庫檔案至磁碟,然後結束\n" + +#: initdb.c:2465 +#, c-format +msgid "" +"\n" +"Other options:\n" +msgstr "" +"\n" +"其他選項:\n" + +#: initdb.c:2466 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version 顯示版本,然後結束\n" + +#: initdb.c:2467 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help 顯示說明,然後結束\n" + +#: initdb.c:2468 +#, c-format +msgid "" +"\n" +"If the data directory is not specified, the environment variable PGDATA\n" +"is used.\n" +msgstr "" +"\n" +"如果未指定資料目錄,則將使用環境變數 PGDATA。\n" + +#: initdb.c:2470 +#, c-format +msgid "" +"\n" +"Report bugs to <%s>.\n" +msgstr "" +"\n" +"回報錯誤至 <%s>。\n" + +#: initdb.c:2471 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "%s 網站: <%s>\n" + +#: initdb.c:2499 +#, c-format +msgid "invalid authentication method \"%s\" for \"%s\" connections" +msgstr "無效的身份驗證方法 \"%s\" 用於 \"%s\" 連線" + +#: initdb.c:2513 +#, c-format +msgid "must specify a password for the superuser to enable password authentication" +msgstr "必須為超級使用者指定密碼以啟用密碼驗證" + +#: initdb.c:2532 +#, c-format +msgid "no data directory specified" +msgstr "未指定資料目錄" + +#: initdb.c:2533 +#, c-format +msgid "You must identify the directory where the data for this database system will reside. Do this with either the invocation option -D or the environment variable PGDATA." +msgstr "您必須確認資料庫系統存放資料的目錄。您可以使用 -D 選項或是環境變數 PGDATA。" + +#: initdb.c:2550 +#, c-format +msgid "could not set environment" +msgstr "無法設定環境" + +#: initdb.c:2568 +#, c-format +msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" +msgstr "程式 \"%s\" 為 %s 所需,但未在同一目錄中找到 \"%s\"" + +#: initdb.c:2571 +#, c-format +msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" +msgstr "程式 \"%s\" 被 \"%s\" 找到,但版本不同於 %s" + +#: initdb.c:2586 +#, c-format +msgid "input file location must be an absolute path" +msgstr "輸入檔案的位置必須是絕對路徑" + +#: initdb.c:2603 +#, c-format +msgid "The database cluster will be initialized with locale \"%s\".\n" +msgstr "資料庫叢集將以區域 \"%s\" 進行初始化。\n" + +#: initdb.c:2606 +#, c-format +msgid "The database cluster will be initialized with this locale configuration:\n" +msgstr "資料庫叢集將以此語言環境設定進行初始化:\n" + +#: initdb.c:2607 +#, c-format +msgid " provider: %s\n" +msgstr " 提供者: %s\n" + +#: initdb.c:2609 +#, c-format +msgid " ICU locale: %s\n" +msgstr " ICU 區域: %s\n" + +#: initdb.c:2610 +#, c-format +msgid "" +" LC_COLLATE: %s\n" +" LC_CTYPE: %s\n" +" LC_MESSAGES: %s\n" +" LC_MONETARY: %s\n" +" LC_NUMERIC: %s\n" +" LC_TIME: %s\n" +msgstr "" +" LC_COLLATE: %s\n" +" LC_CTYPE: %s\n" +" LC_MESSAGES: %s\n" +" LC_MONETARY: %s\n" +" LC_NUMERIC: %s\n" +" LC_TIME: %s\n" + +#: initdb.c:2640 +#, c-format +msgid "could not find suitable encoding for locale \"%s\"" +msgstr "找不到適合區域 \"%s\" 的編碼" + +#: initdb.c:2642 +#, c-format +msgid "Rerun %s with the -E option." +msgstr "以 -E 選項重新執行 %s。" + +# tcop/postgres.c:2636 tcop/postgres.c:2652 +#: initdb.c:2643 initdb.c:3176 initdb.c:3284 initdb.c:3304 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "用 \"%s --help\" 取得更多資訊。" + +#: initdb.c:2655 +#, c-format +msgid "" +"Encoding \"%s\" implied by locale is not allowed as a server-side encoding.\n" +"The default database encoding will be set to \"%s\" instead.\n" +msgstr "" +"由區域隱含的編碼 \"%s\" 不被允許作為伺服器端的編碼。\n" +"預設的資料庫編碼將設定為 \"%s\"。\n" + +#: initdb.c:2660 +#, c-format +msgid "locale \"%s\" requires unsupported encoding \"%s\"" +msgstr "區域 \"%s\" 需要不支援的編碼 \"%s\"。" + +#: initdb.c:2662 +#, c-format +msgid "Encoding \"%s\" is not allowed as a server-side encoding." +msgstr "編碼 \"%s\" 不允許作為伺服器端編碼。" + +#: initdb.c:2664 +#, c-format +msgid "Rerun %s with a different locale selection." +msgstr "以不同的區域重新執行 %s。" + +#: initdb.c:2672 +#, c-format +msgid "The default database encoding has accordingly been set to \"%s\".\n" +msgstr "預設資料庫編碼已被設為 \"%s\"。\n" + +#: initdb.c:2741 +#, c-format +msgid "could not find suitable text search configuration for locale \"%s\"" +msgstr "無法找到適用於區域 \"%s\" 的文字搜尋配置" + +# utils/misc/guc.c:2507 +#: initdb.c:2752 +#, c-format +msgid "suitable text search configuration for locale \"%s\" is unknown" +msgstr "無法確定適用於區域 \"%s\" 的文字搜尋配置" + +#: initdb.c:2757 +#, c-format +msgid "specified text search configuration \"%s\" might not match locale \"%s\"" +msgstr "指定的文字搜尋配置 \"%s\" 可能與區域 \"%s\" 不相符" + +#: initdb.c:2762 +#, c-format +msgid "The default text search configuration will be set to \"%s\".\n" +msgstr "預設文字搜尋配置將被設為 \"%s\"。\n" + +#: initdb.c:2805 initdb.c:2876 +#, c-format +msgid "creating directory %s ... " +msgstr "正在建立目錄 %s… " + +# commands/tablespace.c:154 commands/tablespace.c:162 +# commands/tablespace.c:168 +#: initdb.c:2810 initdb.c:2881 initdb.c:2929 initdb.c:2985 +#, c-format +msgid "could not create directory \"%s\": %m" +msgstr "無法建立目錄 \"%s\": %m" + +#: initdb.c:2819 initdb.c:2891 +#, c-format +msgid "fixing permissions on existing directory %s ... " +msgstr "正在修復現有目錄 %s 的權限… " + +#: initdb.c:2824 initdb.c:2896 +#, c-format +msgid "could not change permissions of directory \"%s\": %m" +msgstr "無法變更目錄 \"%s\" 的權限: %m" + +# commands/tablespace.c:334 +#: initdb.c:2836 initdb.c:2908 +#, c-format +msgid "directory \"%s\" exists but is not empty" +msgstr "目錄 \"%s\" 已存在,但不是空目錄。" + +#: initdb.c:2840 +#, c-format +msgid "If you want to create a new database system, either remove or empty the directory \"%s\" or run %s with an argument other than \"%s\"." +msgstr "若要建立新的資料庫系統,請刪除或清空目錄 \"%s\",或執行 %s 並使用 \"%s\" 以外的參數。" + +# utils/init/postinit.c:283 +#: initdb.c:2848 initdb.c:2918 initdb.c:3325 +#, c-format +msgid "could not access directory \"%s\": %m" +msgstr "無法存取目錄 \"%s\": %m" + +#: initdb.c:2869 +#, c-format +msgid "WAL directory location must be an absolute path" +msgstr "WAL 目錄的位置必須是絕對路徑" + +#: initdb.c:2912 +#, c-format +msgid "If you want to store the WAL there, either remove or empty the directory \"%s\"." +msgstr "如果您想將 WAL 存儲在這個位置,請刪除或清空目錄 \"%s\"。" + +# commands/tablespace.c:355 commands/tablespace.c:984 +#: initdb.c:2922 +#, c-format +msgid "could not create symbolic link \"%s\": %m" +msgstr "無法建立符號連結 \"%s\": %m" + +#: initdb.c:2941 +#, c-format +msgid "It contains a dot-prefixed/invisible file, perhaps due to it being a mount point." +msgstr "其中包含一個以點號開頭的隱藏檔案,可能是因為它是一個掛載點。" + +#: initdb.c:2943 +#, c-format +msgid "It contains a lost+found directory, perhaps due to it being a mount point." +msgstr "這包含一個 lost+found 目錄,可能是因為它是一個掛載點。" + +#: initdb.c:2945 +#, c-format +msgid "" +"Using a mount point directly as the data directory is not recommended.\n" +"Create a subdirectory under the mount point." +msgstr "" +"不建議直接使用掛載點作為資料目錄。\n" +"請在掛載點下建立一個子目錄。" + +#: initdb.c:2971 +#, c-format +msgid "creating subdirectories ... " +msgstr "建立子目錄… " + +#: initdb.c:3014 +msgid "performing post-bootstrap initialization ... " +msgstr "執行啟動後的初始化程序… " + +# bootstrap/bootstrap.c:304 postmaster/postmaster.c:500 tcop/postgres.c:2507 +#: initdb.c:3175 +#, c-format +msgid "-c %s requires a value" +msgstr "-c %s 需要提供一個值" + +#: initdb.c:3200 +#, c-format +msgid "Running in debug mode.\n" +msgstr "以除錯模式執行。\n" + +#: initdb.c:3204 +#, c-format +msgid "Running in no-clean mode. Mistakes will not be cleaned up.\n" +msgstr "以不清理模式執行。錯誤將不會被清除。\n" + +#: initdb.c:3274 +#, c-format +msgid "unrecognized locale provider: %s" +msgstr "未能識別的區域提供者: %s" + +#: initdb.c:3302 +#, c-format +msgid "too many command-line arguments (first is \"%s\")" +msgstr "命令列參數過多(第一個是 \"%s\")" + +#: initdb.c:3309 initdb.c:3313 +#, c-format +msgid "%s cannot be specified unless locale provider \"%s\" is chosen" +msgstr "除非選擇了語言提供者 \"%2$s\",否則不能指定 %1$s" + +#: initdb.c:3327 initdb.c:3404 +msgid "syncing data to disk ... " +msgstr "正在將資料同步到磁碟… " + +#: initdb.c:3335 +#, c-format +msgid "password prompt and password file cannot be specified together" +msgstr "不能同時指定密碼提示和密碼檔案" + +# commands/define.c:197 +#: initdb.c:3357 +#, c-format +msgid "argument of --wal-segsize must be a number" +msgstr "--wal-segsize 的參數必須是數字" + +#: initdb.c:3359 +#, c-format +msgid "argument of --wal-segsize must be a power of two between 1 and 1024" +msgstr "--wal-segsize 的參數必須是1和1024之間的二的次方數" + +#: initdb.c:3373 +#, c-format +msgid "superuser name \"%s\" is disallowed; role names cannot begin with \"pg_\"" +msgstr "不允許使用超級使用者名稱 \"%s\";角色名稱不能以 \"pg_\" 開頭" + +#: initdb.c:3375 +#, c-format +msgid "" +"The files belonging to this database system will be owned by user \"%s\".\n" +"This user must also own the server process.\n" +"\n" +msgstr "" +"資料庫系統的檔案屬於使用者 \"%s\"。這個使用者也必須擁有伺服器行程。\n" +"\n" + +#: initdb.c:3391 +#, c-format +msgid "Data page checksums are enabled.\n" +msgstr "已啟動資料頁檢查。\n" + +#: initdb.c:3393 +#, c-format +msgid "Data page checksums are disabled.\n" +msgstr "已停用資料頁檢查。\n" + +#: initdb.c:3410 +#, c-format +msgid "" +"\n" +"Sync to disk skipped.\n" +"The data directory might become corrupt if the operating system crashes.\n" +msgstr "" +"\n" +"已略過同步至磁碟。\n" +"如果作業系統當機,資料目錄可能會損壞。\n" + +# libpq/auth.c:465 +#: initdb.c:3415 +#, c-format +msgid "enabling \"trust\" authentication for local connections" +msgstr "啟動本機連線的 \"trust\" 身份驗證" + +#: initdb.c:3416 +#, 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 "您可以在下次執行 initdb 時透過編輯 pg_hba.conf 或使用 -A 或 --auth-local 和 --auth-host 選項來更改這個設定。" + +#. translator: This is a placeholder in a shell command. +#: initdb.c:3446 +msgid "logfile" +msgstr "" + +#: initdb.c:3448 +#, c-format +msgid "" +"\n" +"Success. You can now start the database server using:\n" +"\n" +" %s\n" +"\n" +msgstr "" +"\n" +"成功。您現在可以使用以下指令啟動資料庫伺服器:\n" +"\n" +" %s\n" +"\n" + +#~ msgid " --locale=LOCALE initialize database cluster with given locale\n" +#~ msgstr " --locale=LOCALE 以指定的locale初始化資料庫cluster\n" + +#~ msgid "%s: The password file was not generated. Please report this problem.\n" +#~ msgstr "%s:無法產生密碼檔,請回報這個錯誤。\n" + +#, c-format +#~ msgid "%s: could not access directory \"%s\": %s\n" +#~ msgstr "%s: 無法存取目錄 \"%s\": %s\n" + +# utils/fmgr/dfmgr.c:107 utils/fmgr/dfmgr.c:209 utils/fmgr/dfmgr.c:263 +#, c-format +#~ msgid "%s: could not access file \"%s\": %s\n" +#~ msgstr "%s: 無法存取檔案 \"%s\":%s\n" + +#, c-format +#~ msgid "%s: could not create directory \"%s\": %s\n" +#~ msgstr "%s: 無法建立目錄\"%s\": %s\n" + +# commands/tablespace.c:355 commands/tablespace.c:984 +#, c-format +#~ msgid "%s: could not create symbolic link \"%s\": %s\n" +#~ msgstr "%s: 無法建立符號連結 \"%s\":%s\n" + +#~ msgid "%s: could not determine valid short version string\n" +#~ msgstr "%s:無法取得短版本字串\n" + +#, c-format +#~ msgid "%s: could not get current user name: %s\n" +#~ msgstr "%s: 無法取得目前使用者名稱: %s\n" + +#, c-format +#~ msgid "%s: could not obtain information about current user: %s\n" +#~ msgstr "%s: 無法取得目前使用者資訊; %s\n" + +#, c-format +#~ msgid "%s: could not open file \"%s\" for reading: %s\n" +#~ msgstr "%s: 無法開啟檔案\"%s\"讀取資料: %s\n" + +#, c-format +#~ msgid "%s: could not open file \"%s\" for writing: %s\n" +#~ msgstr "%s: 無法開啟檔案\"%s\"寫入資料: %s\n" + +#, c-format +#~ msgid "%s: could not write file \"%s\": %s\n" +#~ msgstr "%s: 無法寫入檔案\"%s\"; %s\n" + +#~ msgid "%s: failed\n" +#~ msgstr "%s:失敗\n" + +#, c-format +#~ msgid "%s: failed to remove contents of transaction log directory\n" +#~ msgstr "%s: 無法移除交易日誌目錄的內容\n" + +#, c-format +#~ msgid "%s: failed to remove transaction log directory\n" +#~ msgstr "%s: 無法移除交易日誌目錄\n" + +#, c-format +#~ msgid "%s: file \"%s\" does not exist\n" +#~ msgstr "%s: 檔案 \"%s\" 不存在\n" + +#, c-format +#~ msgid "" +#~ "%s: input file \"%s\" does not belong to PostgreSQL %s\n" +#~ "Check your installation or specify the correct path using the option -L.\n" +#~ msgstr "" +#~ "%s: 輸入檔 \"%s\" 不屬於 PostgreSQL %s\n" +#~ "請檢查你的安裝或用 -L 選項指定正確的路徑。\n" + +#, c-format +#~ msgid "%s: invalid locale name \"%s\"\n" +#~ msgstr "%s: 無效的區域名稱 \"%s\"\n" + +#, c-format +#~ msgid "%s: locale name has non-ASCII characters, skipped: %s\n" +#~ msgstr "%s: 區域名稱有非ASCII字元,忽略: %s\n" + +#, c-format +#~ msgid "%s: locale name too long, skipped: %s\n" +#~ msgstr "%s: 區域名稱太長,忽略: %s\n" + +#, c-format +#~ msgid "%s: out of memory\n" +#~ msgstr "%s: 記憶體用盡\n" + +#, c-format +#~ msgid "%s: removing contents of transaction log directory \"%s\"\n" +#~ msgstr "%s: 正在移除交易日誌目錄的內容 \"%s\"\n" + +# access/transam/xlog.c:2163 +#, c-format +#~ msgid "%s: removing transaction log directory \"%s\"\n" +#~ msgstr "%s: 正在移除交易日誌目錄 \"%s\"\n" + +# commands/tablespace.c:386 commands/tablespace.c:483 +#, c-format +#~ msgid "%s: symlinks are not supported on this platform" +#~ msgstr "%s: 此平台不支援符號連結" + +#, c-format +#~ msgid "%s: transaction log directory \"%s\" not removed at user's request\n" +#~ msgstr "%s: 無法依使用者要求刪除交易日誌目錄 \"%s\"\n" + +#, c-format +#~ msgid "%s: unrecognized authentication method \"%s\"\n" +#~ msgstr "%s: 無法辨認的驗證方式\"%s\"\n" + +# describe.c:1542 +#, c-format +#~ msgid "No usable system locales were found.\n" +#~ msgstr "找不到可用的系統區域。\n" + +#, c-format +#~ msgid "" +#~ "The program \"postgres\" is needed by %s but was not found in the\n" +#~ "same directory as \"%s\".\n" +#~ "Check your installation.\n" +#~ msgstr "" +#~ "%s 需要程式 \"postgres\",但是在與\"%s\"相同的目錄中找不到。\n" +#~ "請檢查你的安裝。\n" + +#, c-format +#~ msgid "" +#~ "The program \"postgres\" was found by \"%s\"\n" +#~ "but was not the same version as %s.\n" +#~ "Check your installation.\n" +#~ msgstr "" +#~ "\"%s\" 已找到程式 \"postgres\",但是與 %s 的版本不符。\n" +#~ "請檢查你的安裝。\n" + +#, c-format +#~ msgid "Try \"%s --help\" for more information.\n" +#~ msgstr "執行\"%s --help\"取得更多資訊。\n" + +#, c-format +#~ msgid "Use the option \"--debug\" to see details.\n" +#~ msgstr "用 \"--debug\" 選項取得詳細資訊。\n" + +#, c-format +#~ msgid "child process was terminated by signal %s" +#~ msgstr "子行程被信號 %s 終止" + +#~ msgid "copying template1 to postgres ... " +#~ msgstr "複製 template1 到 postgres..." + +#~ msgid "copying template1 to template0 ... " +#~ msgstr "複製 template1 到 template0 ..." + +#, c-format +#~ msgid "could not change directory to \"%s\"" +#~ msgstr "無法切換目錄至\"%s\"" + +#, c-format +#~ msgid "could not identify current directory: %s" +#~ msgstr "無法識別目前的目錄:%s" + +# access/transam/slru.c:930 commands/tablespace.c:529 +# commands/tablespace.c:694 utils/adt/misc.c:174 +#, c-format +#~ msgid "could not open directory \"%s\": %s\n" +#~ msgstr "無法開啟目錄 \"%s\":%s\n" + +# access/transam/slru.c:967 commands/tablespace.c:577 +# commands/tablespace.c:721 +#, c-format +#~ msgid "could not read directory \"%s\": %s\n" +#~ msgstr "無法讀取目錄 \"%s\":%s\n" + +#, c-format +#~ msgid "could not read symbolic link \"%s\"" +#~ msgstr "無法讀取符號連結\"%s\"" + +# commands/tablespace.c:610 +#, c-format +#~ msgid "could not remove file or directory \"%s\": %s\n" +#~ msgstr "無法移除檔案或目錄 \"%s\":%s\n" + +# access/transam/slru.c:967 commands/tablespace.c:577 +# commands/tablespace.c:721 +#, c-format +#~ msgid "could not stat file or directory \"%s\": %s\n" +#~ msgstr "無法對檔案或目錄 \"%s\" 執行 stat 函式:%s\n" + +#~ msgid "creating collations ... " +#~ msgstr "建立定序 ... " + +#~ msgid "creating conversions ... " +#~ msgstr "建立轉換 ... " + +#~ msgid "creating dictionaries ... " +#~ msgstr "建立字典..." + +#~ msgid "creating directory %s/%s ... " +#~ msgstr "建立目錄 %s/%s ..." + +#~ msgid "creating information schema ... " +#~ msgstr "建立information schema ... " + +#~ msgid "creating system views ... " +#~ msgstr "建立系統views..." + +#, c-format +#~ msgid "creating template1 database in %s/base/1 ... " +#~ msgstr "建立 template1 資料庫於 %s/base/1 ... " + +#~ msgid "enabling unlimited row size for system tables ... " +#~ msgstr "啟用系統資料表的無資料筆數限制 ..." + +#~ msgid "initializing dependencies ... " +#~ msgstr "初始化相依性..." + +#~ msgid "initializing pg_authid ... " +#~ msgstr "初始化 pg_authid..." + +#~ msgid "loading PL/pgSQL server-side language ... " +#~ msgstr "載入 PL/pgSQL 伺服器端語言 ..." + +#~ msgid "loading system objects' descriptions ... " +#~ msgstr "正在載入系統物件的描述..." + +# commands/tablespace.c:386 commands/tablespace.c:483 +#, c-format +#~ msgid "not supported on this platform\n" +#~ msgstr "在此平台不支援\n" + +#, c-format +#~ msgid "setting password ... " +#~ msgstr "設定密碼..." + +#~ msgid "setting privileges on built-in objects ... " +#~ msgstr "設定內建物件的權限 ... " + +#~ msgid "vacuuming database template1 ... " +#~ msgstr "重整資料庫template1 ..." diff --git a/src/bin/pg_archivecleanup/po/ko.po b/src/bin/pg_archivecleanup/po/ko.po index 785839ab2fd..a4601e2a39a 100644 --- a/src/bin/pg_archivecleanup/po/ko.po +++ b/src/bin/pg_archivecleanup/po/ko.po @@ -5,10 +5,10 @@ # msgid "" msgstr "" -"Project-Id-Version: pg_archivecleanup (PostgreSQL) 13\n" +"Project-Id-Version: pg_archivecleanup (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2020-10-05 01:16+0000\n" -"PO-Revision-Date: 2020-10-05 17:51+0900\n" +"POT-Creation-Date: 2023-09-07 05:51+0000\n" +"PO-Revision-Date: 2023-05-30 12:38+0900\n" "Last-Translator: Ioseph Kim \n" "Language-Team: Korean \n" "Language: ko\n" @@ -17,58 +17,63 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../../../src/common/logging.c:236 -#, c-format -msgid "fatal: " -msgstr "심각: " - -#: ../../../src/common/logging.c:243 +#: ../../../src/common/logging.c:276 #, c-format msgid "error: " msgstr "오류: " -#: ../../../src/common/logging.c:250 +#: ../../../src/common/logging.c:283 #, c-format msgid "warning: " msgstr "경고: " +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "상세정보: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "힌트: " + #: pg_archivecleanup.c:66 #, c-format msgid "archive location \"%s\" does not exist" msgstr "\"%s\" 이름의 아카이브 위치가 없음" -#: pg_archivecleanup.c:152 +#: pg_archivecleanup.c:151 #, c-format msgid "could not remove file \"%s\": %m" msgstr "\"%s\" 파일을 삭제할 수 없음: %m" -#: pg_archivecleanup.c:160 +#: pg_archivecleanup.c:157 #, c-format msgid "could not read archive location \"%s\": %m" msgstr "\"%s\" 아카이브 위치를 읽을 수 없음: %m" -#: pg_archivecleanup.c:163 +#: pg_archivecleanup.c:160 #, c-format msgid "could not close archive location \"%s\": %m" msgstr "\"%s\" 아카이브 위치를 닫을 수 없음: %m" -#: pg_archivecleanup.c:167 +#: pg_archivecleanup.c:164 #, c-format msgid "could not open archive location \"%s\": %m" msgstr "\"%s\" 아카이브 위치를 열 수 없음: %m" -#: pg_archivecleanup.c:240 +#: pg_archivecleanup.c:237 #, c-format msgid "invalid file name argument" msgstr "잘못된 파일 이름 매개변수" -#: pg_archivecleanup.c:241 pg_archivecleanup.c:315 pg_archivecleanup.c:336 -#: pg_archivecleanup.c:348 pg_archivecleanup.c:355 +#: pg_archivecleanup.c:238 pg_archivecleanup.c:313 pg_archivecleanup.c:333 +#: pg_archivecleanup.c:345 pg_archivecleanup.c:352 #, c-format -msgid "Try \"%s --help\" for more information.\n" -msgstr "보다 자세한 정보는 \"%s --help\" 명령을 참조하세요.\n" +msgid "Try \"%s --help\" for more information." +msgstr "자세한 사항은 \"%s --help\" 명령으로 살펴보세요." -#: pg_archivecleanup.c:254 +#: pg_archivecleanup.c:251 #, c-format msgid "" "%s removes older WAL files from PostgreSQL archives.\n" @@ -78,17 +83,17 @@ msgstr "" "WAL 파일을 지웁니다.\n" "\n" -#: pg_archivecleanup.c:255 +#: pg_archivecleanup.c:252 #, c-format msgid "Usage:\n" msgstr "사용법:\n" -#: pg_archivecleanup.c:256 +#: pg_archivecleanup.c:253 #, c-format msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" msgstr " %s [옵션]... 아카이브위치 보관할제일오래된파일\n" -#: pg_archivecleanup.c:257 +#: pg_archivecleanup.c:254 #, c-format msgid "" "\n" @@ -97,33 +102,33 @@ msgstr "" "\n" "옵션들:\n" -#: pg_archivecleanup.c:258 +#: pg_archivecleanup.c:255 #, c-format msgid " -d generate debug output (verbose mode)\n" msgstr " -d 보다 자세한 작업 내용 출력\n" -#: pg_archivecleanup.c:259 +#: pg_archivecleanup.c:256 #, c-format msgid "" " -n dry run, show the names of the files that would be removed\n" msgstr " -n 지울 대상만 확인하고 지우지는 않음\n" -#: pg_archivecleanup.c:260 +#: pg_archivecleanup.c:257 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version 버전 정보를 보여주고 마침\n" -#: pg_archivecleanup.c:261 +#: pg_archivecleanup.c:258 #, c-format msgid " -x EXT clean up files if they have this extension\n" msgstr " -x EXT 해당 확장자 파일들을 작업 대상으로 함\n" -#: pg_archivecleanup.c:262 +#: pg_archivecleanup.c:259 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help 도움말을 보여주고 마침\n" -#: pg_archivecleanup.c:263 +#: pg_archivecleanup.c:260 #, c-format msgid "" "\n" @@ -139,7 +144,7 @@ msgstr "" "사용예:\n" " archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" -#: pg_archivecleanup.c:268 +#: pg_archivecleanup.c:265 #, c-format msgid "" "\n" @@ -154,7 +159,7 @@ msgstr "" " pg_archivecleanup /mnt/server/archiverdir " "000000010000000000000010.00000020.backup\n" -#: pg_archivecleanup.c:272 +#: pg_archivecleanup.c:269 #, c-format msgid "" "\n" @@ -163,22 +168,22 @@ msgstr "" "\n" "문제점 보고 주소: <%s>\n" -#: pg_archivecleanup.c:273 +#: pg_archivecleanup.c:270 #, c-format msgid "%s home page: <%s>\n" msgstr "%s 홈페이지: <%s>\n" -#: pg_archivecleanup.c:335 +#: pg_archivecleanup.c:332 #, c-format msgid "must specify archive location" msgstr "아카이브 위치는 지정해야 함" -#: pg_archivecleanup.c:347 +#: pg_archivecleanup.c:344 #, c-format msgid "must specify oldest kept WAL file" msgstr "남길 가장 오래된 WAL 파일은 지정해야 함" -#: pg_archivecleanup.c:354 +#: pg_archivecleanup.c:351 #, c-format msgid "too many command-line arguments" msgstr "너무 많은 명령행 인자를 지정했음" diff --git a/src/bin/pg_basebackup/po/el.po b/src/bin/pg_basebackup/po/el.po index f4fd4d66a75..c75216c6ee0 100644 --- a/src/bin/pg_basebackup/po/el.po +++ b/src/bin/pg_basebackup/po/el.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_basebackup (PostgreSQL) 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-04-12 16:47+0000\n" -"PO-Revision-Date: 2023-04-14 10:40+0200\n" +"POT-Creation-Date: 2023-08-14 23:18+0000\n" +"PO-Revision-Date: 2023-08-15 13:17+0200\n" "Last-Translator: Georgios Kokolatos \n" "Language-Team: \n" "Language: el\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Poedit 3.2.2\n" +"X-Generator: Poedit 3.3.2\n" #: ../../../src/common/logging.c:276 #, c-format @@ -38,87 +38,99 @@ msgstr "λεπτομέρεια: " msgid "hint: " msgstr "υπόδειξη: " -#: ../../common/compression.c:130 ../../common/compression.c:139 -#: ../../common/compression.c:148 +#: ../../common/compression.c:132 ../../common/compression.c:141 +#: ../../common/compression.c:150 bbstreamer_gzip.c:116 bbstreamer_gzip.c:249 +#: bbstreamer_lz4.c:100 bbstreamer_lz4.c:298 bbstreamer_zstd.c:129 +#: bbstreamer_zstd.c:284 #, c-format msgid "this build does not support compression with %s" msgstr "η παρούσα κατασκευή δεν υποστηρίζει συμπίεση με %s" -#: ../../common/compression.c:203 +#: ../../common/compression.c:205 msgid "found empty string where a compression option was expected" msgstr "βρέθηκε κενή συμβολοσειρά όπου αναμενόταν μια επιλογή συμπίεσης" -#: ../../common/compression.c:237 +#: ../../common/compression.c:244 #, c-format msgid "unrecognized compression option: \"%s\"" msgstr "μη αναγνωρίσιμη παράμετρος συμπίεσης: «%s»" -#: ../../common/compression.c:276 +#: ../../common/compression.c:283 #, c-format msgid "compression option \"%s\" requires a value" msgstr "η επιλογή συμπίεσης «%s» απαιτεί τιμή" -#: ../../common/compression.c:285 +#: ../../common/compression.c:292 #, c-format msgid "value for compression option \"%s\" must be an integer" msgstr "η τιμή της επιλογής συμπίεσης «%s» πρέπει να είναι ακέραια" -#: ../../common/compression.c:335 +#: ../../common/compression.c:331 +#, c-format +msgid "value for compression option \"%s\" must be a Boolean value" +msgstr "η τιμή της επιλογής συμπίεσης «%s» πρέπει να είναι Δυαδική τιμή" + +#: ../../common/compression.c:379 #, c-format msgid "compression algorithm \"%s\" does not accept a compression level" msgstr "ο αλγόριθμος συμπίεσης «%s» δεν δέχεται επίπεδο συμπίεσης" -#: ../../common/compression.c:342 +#: ../../common/compression.c:386 #, c-format msgid "compression algorithm \"%s\" expects a compression level between %d and %d (default at %d)" msgstr "ο αλγόριθμος συμπίεσης «%s» αναμένει ένα επίπεδο συμπίεσης μεταξύ %d και %d (προεπιλογμένο %d)" -#: ../../common/compression.c:353 +#: ../../common/compression.c:397 #, c-format msgid "compression algorithm \"%s\" does not accept a worker count" msgstr "ο αλγόριθμος συμπίεσης «%s» δεν δέχεται μέγεθος εργατών" +#: ../../common/compression.c:408 +#, c-format +msgid "compression algorithm \"%s\" does not support long-distance mode" +msgstr "ο αλγόριθμος συμπίεσης «%s» δεν υποστηρίζει λειτουργία μεγάλων αποστάσεων" + #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 -#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format msgid "out of memory\n" msgstr "έλλειψη μνήμης\n" -#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 #, c-format msgid "cannot duplicate null pointer (internal error)\n" msgstr "δεν ήταν δυνατή η αντιγραφή δείκτη null (εσωτερικό σφάλμα)\n" -#: ../../common/file_utils.c:87 ../../common/file_utils.c:451 -#: pg_receivewal.c:380 pg_recvlogical.c:341 +#: ../../common/file_utils.c:87 ../../common/file_utils.c:447 +#: pg_receivewal.c:319 pg_recvlogical.c:339 #, c-format msgid "could not stat file \"%s\": %m" msgstr "δεν ήταν δυνατή η εκτέλεση stat στο αρχείο «%s»: %m" -#: ../../common/file_utils.c:166 pg_receivewal.c:303 +#: ../../common/file_utils.c:162 pg_receivewal.c:242 #, c-format msgid "could not open directory \"%s\": %m" msgstr "δεν ήταν δυνατό το άνοιγμα του καταλόγου «%s»: %m" -#: ../../common/file_utils.c:200 pg_receivewal.c:532 +#: ../../common/file_utils.c:196 pg_receivewal.c:471 #, c-format msgid "could not read directory \"%s\": %m" msgstr "δεν ήταν δυνατή η ανάγνωση του καταλόγου «%s»: %m" -#: ../../common/file_utils.c:232 ../../common/file_utils.c:291 -#: ../../common/file_utils.c:365 ../../fe_utils/recovery_gen.c:121 -#: pg_receivewal.c:447 +#: ../../common/file_utils.c:228 ../../common/file_utils.c:287 +#: ../../common/file_utils.c:361 ../../fe_utils/recovery_gen.c:121 +#: pg_receivewal.c:386 #, c-format msgid "could not open file \"%s\": %m" msgstr "δεν ήταν δυνατό το άνοιγμα του αρχείου «%s»: %m" -#: ../../common/file_utils.c:303 ../../common/file_utils.c:373 -#: pg_recvlogical.c:196 +#: ../../common/file_utils.c:299 ../../common/file_utils.c:369 +#: pg_recvlogical.c:194 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "δεν ήταν δυνατή η εκτέλεση της εντολής fsync στο αρχείο «%s»: %m" -#: ../../common/file_utils.c:383 pg_basebackup.c:2266 walmethods.c:459 +#: ../../common/file_utils.c:379 pg_basebackup.c:2237 walmethods.c:462 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "δεν ήταν δυνατή η μετονομασία του αρχείου «%s» σε «%s»: %m" @@ -135,24 +147,24 @@ msgstr "%s πρέπει να βρίσκεται εντός εύρους %d..%d" #: ../../fe_utils/recovery_gen.c:34 ../../fe_utils/recovery_gen.c:45 #: ../../fe_utils/recovery_gen.c:70 ../../fe_utils/recovery_gen.c:90 -#: ../../fe_utils/recovery_gen.c:149 pg_basebackup.c:1646 +#: ../../fe_utils/recovery_gen.c:149 pg_basebackup.c:1609 #, c-format msgid "out of memory" msgstr "έλλειψη μνήμης" #: ../../fe_utils/recovery_gen.c:124 bbstreamer_file.c:121 -#: bbstreamer_file.c:258 pg_basebackup.c:1443 pg_basebackup.c:1737 +#: bbstreamer_file.c:258 pg_basebackup.c:1406 pg_basebackup.c:1700 #, c-format msgid "could not write to file \"%s\": %m" msgstr "δεν ήταν δυνατή η εγγραφή στο αρχείο «%s»: %m" -#: ../../fe_utils/recovery_gen.c:133 bbstreamer_file.c:93 bbstreamer_file.c:339 -#: pg_basebackup.c:1507 pg_basebackup.c:1716 +#: ../../fe_utils/recovery_gen.c:133 bbstreamer_file.c:93 bbstreamer_file.c:360 +#: pg_basebackup.c:1470 pg_basebackup.c:1679 #, c-format msgid "could not create file \"%s\": %m" msgstr "δεν ήταν δυνατή η δημιουργία αρχείου «%s»: %m" -#: bbstreamer_file.c:138 pg_recvlogical.c:635 +#: bbstreamer_file.c:138 pg_recvlogical.c:633 #, c-format msgid "could not close file \"%s\": %m" msgstr "δεν ήταν δυνατό το κλείσιμο του αρχείου «%s»: %m" @@ -162,22 +174,22 @@ msgstr "δεν ήταν δυνατό το κλείσιμο του αρχείου msgid "unexpected state while extracting archive" msgstr "μη αναμενόμενη κατάσταση κατά την εξαγωγή αρχειοθήκης" -#: bbstreamer_file.c:298 pg_basebackup.c:696 pg_basebackup.c:740 +#: bbstreamer_file.c:320 pg_basebackup.c:686 pg_basebackup.c:730 #, c-format msgid "could not create directory \"%s\": %m" msgstr "δεν ήταν δυνατή η δημιουργία του καταλόγου «%s»: %m" -#: bbstreamer_file.c:304 +#: bbstreamer_file.c:325 #, c-format msgid "could not set permissions on directory \"%s\": %m" msgstr "δεν ήταν δυνατή η ανάγνωση δικαιωμάτων του καταλόγου «%s»: %m" -#: bbstreamer_file.c:323 +#: bbstreamer_file.c:344 #, c-format msgid "could not create symbolic link from \"%s\" to \"%s\": %m" msgstr "δεν ήταν δυνατή η δημιουργία συμβολικού συνδέσμου από «%s» σε «%s»: %m" -#: bbstreamer_file.c:343 +#: bbstreamer_file.c:364 #, c-format msgid "could not set permissions on file \"%s\": %m" msgstr "δεν ήταν δυνατός ο ορισμός δικαιωμάτων στο αρχείο «%s»: %m" @@ -202,11 +214,6 @@ msgstr "δεν ήταν δυνατό το άνοιγμα αρχείου εξόδ msgid "could not set compression level %d: %s" msgstr "δεν ήταν δυνατή η ρύθμιση επιπέδου συμπίεσης %d: %s" -#: bbstreamer_gzip.c:116 bbstreamer_gzip.c:249 -#, c-format -msgid "this build does not support gzip compression" -msgstr "η παρούσα κατασκευή δεν υποστηρίζει συμπίεση gzip" - #: bbstreamer_gzip.c:143 #, c-format msgid "could not write to compressed file \"%s\": %s" @@ -217,12 +224,12 @@ msgstr "δεν ήταν δυνατή η εγγραφή σε συμπιεσμέν msgid "could not close compressed file \"%s\": %m" msgstr "δεν ήταν δυνατό το κλείσιμο του συμπιεσμένου αρχείου «%s»: %m" -#: bbstreamer_gzip.c:245 walmethods.c:869 +#: bbstreamer_gzip.c:245 walmethods.c:876 #, c-format msgid "could not initialize compression library" msgstr "δεν ήταν δυνατή η αρχικοποίηση της βιβλιοθήκης συμπίεσης" -#: bbstreamer_gzip.c:296 bbstreamer_lz4.c:354 bbstreamer_zstd.c:316 +#: bbstreamer_gzip.c:296 bbstreamer_lz4.c:354 bbstreamer_zstd.c:329 #, c-format msgid "could not decompress data: %s" msgstr "δεν ήταν δυνατή η αποσυμπίεση δεδομένων: %s" @@ -237,17 +244,12 @@ msgstr "απροσδόκητη κατάσταση κατά την έγχυση msgid "could not create lz4 compression context: %s" msgstr "δεν ήταν δυνατή η δημιουργία lz4 περιεχομένου συμπίεσης: %s" -#: bbstreamer_lz4.c:100 bbstreamer_lz4.c:298 -#, c-format -msgid "this build does not support lz4 compression" -msgstr "η παρούσα κατασκευή δεν υποστηρίζει συμπίεση lz4" - #: bbstreamer_lz4.c:140 #, c-format msgid "could not write lz4 header: %s" msgstr "δεν ήταν δυνατή η εγγραφή κεφαλίδας lz4: %s" -#: bbstreamer_lz4.c:189 bbstreamer_zstd.c:168 bbstreamer_zstd.c:210 +#: bbstreamer_lz4.c:189 bbstreamer_zstd.c:181 bbstreamer_zstd.c:223 #, c-format msgid "could not compress data: %s" msgstr "δεν ήταν δυνατή η συμπίεση δεδομένων: %s" @@ -297,97 +299,97 @@ msgstr "δεν ήταν δυνατή η ρύθμιση επιπέδου συμπ msgid "could not set compression worker count to %d: %s" msgstr "δεν ήταν δυνατή η ρύθμιση αριθμού εργατών συμπίεσης %d: %s" -#: bbstreamer_zstd.c:116 bbstreamer_zstd.c:271 +#: bbstreamer_zstd.c:116 #, c-format -msgid "this build does not support zstd compression" -msgstr "η παρούσα κατασκευή δεν υποστηρίζει συμπίεση zstd" +msgid "could not enable long-distance mode: %s" +msgstr "δεν δύναται να ενεργοποιήσει τη λειτουργία μεγάλων αποστάσεων: «%s»" -#: bbstreamer_zstd.c:262 +#: bbstreamer_zstd.c:275 #, c-format msgid "could not create zstd decompression context" msgstr "δεν ήταν δυνατή η δημιουργία zstd περιεχομένου αποσυμπίεσης" -#: pg_basebackup.c:240 +#: pg_basebackup.c:238 #, c-format msgid "removing data directory \"%s\"" msgstr "αφαιρείται ο κατάλογος δεδομένων «%s»" -#: pg_basebackup.c:242 +#: pg_basebackup.c:240 #, c-format msgid "failed to remove data directory" msgstr "απέτυχε η αφαίρεση καταλόγου δεδομένων" -#: pg_basebackup.c:246 +#: pg_basebackup.c:244 #, c-format msgid "removing contents of data directory \"%s\"" msgstr "αφαιρούνται περιεχόμενα του καταλόγου δεδομένων «%s»" -#: pg_basebackup.c:248 +#: pg_basebackup.c:246 #, c-format msgid "failed to remove contents of data directory" msgstr "απέτυχε η αφαίρεση περιεχομένων του καταλόγου δεδομένων" -#: pg_basebackup.c:253 +#: pg_basebackup.c:251 #, c-format msgid "removing WAL directory \"%s\"" msgstr "αφαίρεση καταλόγου WAL «%s»" -#: pg_basebackup.c:255 +#: pg_basebackup.c:253 #, c-format msgid "failed to remove WAL directory" msgstr "απέτυχε η αφαίρεση καταλόγου WAL" -#: pg_basebackup.c:259 +#: pg_basebackup.c:257 #, c-format msgid "removing contents of WAL directory \"%s\"" msgstr "αφαιρούνται τα περιεχόμενα του καταλόγου WAL «%s»" -#: pg_basebackup.c:261 +#: pg_basebackup.c:259 #, c-format msgid "failed to remove contents of WAL directory" msgstr "απέτυχε η αφαίρεση περιεχόμενων του καταλόγου WAL" -#: pg_basebackup.c:267 +#: pg_basebackup.c:265 #, c-format msgid "data directory \"%s\" not removed at user's request" msgstr "ο κατάλογος δεδομένων «%s» δεν αφαιρείται κατα απαίτηση του χρήστη" -#: pg_basebackup.c:270 +#: pg_basebackup.c:268 #, c-format msgid "WAL directory \"%s\" not removed at user's request" msgstr "κατάλογος WAL «%s» δεν αφαιρέθηκε κατά απαίτηση του χρήστη" -#: pg_basebackup.c:274 +#: pg_basebackup.c:272 #, c-format msgid "changes to tablespace directories will not be undone" msgstr "οι αλλαγές στους καταλόγους πινακοχώρων δεν θα αναιρεθούν" -#: pg_basebackup.c:326 +#: pg_basebackup.c:324 #, c-format msgid "directory name too long" msgstr "πολύ μακρύ όνομα καταλόγου" -#: pg_basebackup.c:333 +#: pg_basebackup.c:331 #, c-format msgid "multiple \"=\" signs in tablespace mapping" msgstr "πολλαπλά σύμβολα \"=\" στην αντιστοίχιση πινακοχώρου" -#: pg_basebackup.c:342 +#: pg_basebackup.c:340 #, c-format msgid "invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\"" msgstr "μη έγκυρη μορφή αντιστοίχισης πινακοχώρου «%s», πρέπει να είναι «OLDDIR=NEWDIR»" -#: pg_basebackup.c:361 +#: pg_basebackup.c:359 #, c-format msgid "old directory is not an absolute path in tablespace mapping: %s" msgstr "ο παλιός κατάλογος δεν είναι απόλυτη διαδρομή στην αντιστοίχιση πινακοχώρου: %s" -#: pg_basebackup.c:365 +#: pg_basebackup.c:363 #, c-format msgid "new directory is not an absolute path in tablespace mapping: %s" msgstr "ο νέος κατάλογος δεν είναι μια απόλυτη διαδρομή στην αντιστοίχιση πινακοχώρου: %s" -#: pg_basebackup.c:387 +#: pg_basebackup.c:385 #, c-format msgid "" "%s takes a base backup of a running PostgreSQL server.\n" @@ -396,17 +398,17 @@ msgstr "" "%s λαμβάνει ένα αντίγραφο ασφαλείας βάσης ενός διακομιστή PostgreSQL που εκτελείται.\n" "\n" -#: pg_basebackup.c:389 pg_receivewal.c:81 pg_recvlogical.c:78 +#: pg_basebackup.c:387 pg_receivewal.c:79 pg_recvlogical.c:76 #, c-format msgid "Usage:\n" msgstr "Χρήση:\n" -#: pg_basebackup.c:390 pg_receivewal.c:82 pg_recvlogical.c:79 +#: pg_basebackup.c:388 pg_receivewal.c:80 pg_recvlogical.c:77 #, c-format msgid " %s [OPTION]...\n" msgstr " %s [ΕΠΙΛΟΓΗ]...\n" -#: pg_basebackup.c:391 +#: pg_basebackup.c:389 #, c-format msgid "" "\n" @@ -415,17 +417,17 @@ msgstr "" "\n" "Επιλογές που ελέγχουν το περιεχόμενο εξόδου:\n" -#: pg_basebackup.c:392 +#: pg_basebackup.c:390 #, c-format msgid " -D, --pgdata=DIRECTORY receive base backup into directory\n" msgstr " -D, --pgdata=DIRECTORY λάβε το αντίγραφο ασφαλείας βάσης στον κατάλογο\n" -#: pg_basebackup.c:393 +#: pg_basebackup.c:391 #, c-format msgid " -F, --format=p|t output format (plain (default), tar)\n" msgstr " -F, --format=p|t μορφή εξόδου (απλή (προεπιλογή), tar)\n" -#: pg_basebackup.c:394 +#: pg_basebackup.c:392 #, c-format msgid "" " -r, --max-rate=RATE maximum transfer rate to transfer data directory\n" @@ -434,7 +436,7 @@ msgstr "" " -r, --max-rate=RATE μέγιστος ρυθμός μεταφοράς για τη μεταφορά καταλόγου δεδομένων\n" " (σε kB/s, ή χρησιμοποιήστε το επίθημα «k» ή «M»)\n" -#: pg_basebackup.c:396 +#: pg_basebackup.c:394 #, c-format msgid "" " -R, --write-recovery-conf\n" @@ -443,7 +445,7 @@ msgstr "" " -R, --write-recovery-conf\n" " εγγραφή των ρυθμίσεων αναπαραγωγής\n" -#: pg_basebackup.c:398 +#: pg_basebackup.c:396 #, c-format msgid "" " -t, --target=TARGET[:DETAIL]\n" @@ -452,7 +454,7 @@ msgstr "" " -t, --target=TARGET[:DETAIL]\n" " προορισμός αντιγράφων ασφαλείας (εάν είναι άλλος από τον πελάτη)\n" -#: pg_basebackup.c:400 +#: pg_basebackup.c:398 #, c-format msgid "" " -T, --tablespace-mapping=OLDDIR=NEWDIR\n" @@ -461,12 +463,12 @@ msgstr "" " -T, --tablespace-mapping=OLDDIR=NEWDIR\n" " μετακίνησε τον πινακοχώρο από OLDDIR σε NEWDIR\n" -#: pg_basebackup.c:402 +#: pg_basebackup.c:400 #, c-format msgid " --waldir=WALDIR location for the write-ahead log directory\n" msgstr " --waldir=WALDIR τοποθεσία για τον κατάλογο write-ahead log\n" -#: pg_basebackup.c:403 +#: pg_basebackup.c:401 #, c-format msgid "" " -X, --wal-method=none|fetch|stream\n" @@ -475,12 +477,12 @@ msgstr "" " -X, --wal-method=none|fetch|stream\n" " περιέλαβε τα απαιτούμενα αρχεία WAL με την ορισμένη μέθοδο\n" -#: pg_basebackup.c:405 +#: pg_basebackup.c:403 #, c-format msgid " -z, --gzip compress tar output\n" msgstr " -z, --gzip συμπίεσε την έξοδο tar\n" -#: pg_basebackup.c:406 +#: pg_basebackup.c:404 #, c-format msgid "" " -Z, --compress=[{client|server}-]METHOD[:DETAIL]\n" @@ -489,14 +491,14 @@ msgstr "" " -Z, --compress=[{client|server}-]METHOD[:DETAIL]\n" " συμπίεσε στον πελάτη ή στον διακομιστή όπως ορίζεται\n" -#: pg_basebackup.c:408 +#: pg_basebackup.c:406 #, c-format msgid " -Z, --compress=none do not compress tar output\n" msgstr "" " -Z, --compress=none να μην συμπιέσει την έξοδο tar\n" "\n" -#: pg_basebackup.c:409 +#: pg_basebackup.c:407 #, c-format msgid "" "\n" @@ -505,7 +507,7 @@ msgstr "" "\n" "Γενικές επιλογές:\n" -#: pg_basebackup.c:410 +#: pg_basebackup.c:408 #, c-format msgid "" " -c, --checkpoint=fast|spread\n" @@ -514,47 +516,47 @@ msgstr "" " -c, --checkpoint=fast|spread\n" " όρισε fast ή spread λειτουργία λήψης σημείων ελέγχου\n" -#: pg_basebackup.c:412 +#: pg_basebackup.c:410 #, c-format msgid " -C, --create-slot create replication slot\n" msgstr " -C, --create-slot δημιούργησε υποδοχή αναπαραγωγής\n" -#: pg_basebackup.c:413 +#: pg_basebackup.c:411 #, c-format msgid " -l, --label=LABEL set backup label\n" msgstr " -l, --label=LABEL όρισε ετικέτα αντιγράφου ασφαλείας\n" -#: pg_basebackup.c:414 +#: pg_basebackup.c:412 #, c-format msgid " -n, --no-clean do not clean up after errors\n" msgstr " -n, --no-clean να μην καθαριστούν σφάλματα\n" -#: pg_basebackup.c:415 +#: pg_basebackup.c:413 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" msgstr " -N, --no-sync να μην αναμένει την ασφαλή εγγραφή αλλαγών στον δίσκο\n" -#: pg_basebackup.c:416 +#: pg_basebackup.c:414 #, c-format msgid " -P, --progress show progress information\n" msgstr " -P, --progress εμφάνισε πληροφορίες προόδου\n" -#: pg_basebackup.c:417 pg_receivewal.c:91 +#: pg_basebackup.c:415 pg_receivewal.c:89 #, c-format msgid " -S, --slot=SLOTNAME replication slot to use\n" msgstr " -S, --slot=SLOTNAME υποδοχή αναπαραγωγής για χρήση\n" -#: pg_basebackup.c:418 pg_receivewal.c:93 pg_recvlogical.c:100 +#: pg_basebackup.c:416 pg_receivewal.c:91 pg_recvlogical.c:98 #, c-format msgid " -v, --verbose output verbose messages\n" msgstr " -v, --verbose περιφραστικά μηνύματα εξόδου\n" -#: pg_basebackup.c:419 pg_receivewal.c:94 pg_recvlogical.c:101 +#: pg_basebackup.c:417 pg_receivewal.c:92 pg_recvlogical.c:99 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version εμφάνισε πληροφορίες έκδοσης, στη συνέχεια έξοδος\n" -#: pg_basebackup.c:420 +#: pg_basebackup.c:418 #, c-format msgid "" " --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" @@ -563,7 +565,7 @@ msgstr "" " --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" " χρησιμοποίησε αυτόν τον αλγόριθμο για τα αθροίσματα ελέγχου διακήρυξης\n" -#: pg_basebackup.c:422 +#: pg_basebackup.c:420 #, c-format msgid "" " --manifest-force-encode\n" @@ -573,22 +575,22 @@ msgstr "" " χρήση δεκαεξαδικής κωδικοποίησης για όλα\n" " τα ονόματα αρχείων στη διακήρυξη\n" -#: pg_basebackup.c:424 +#: pg_basebackup.c:422 #, c-format msgid " --no-estimate-size do not estimate backup size in server side\n" msgstr " --no-estimate-size να μην εκτιμήσει το μέγεθος του αντιγράφου ασφαλείας στην πλευρά του διακομιστή\n" -#: pg_basebackup.c:425 +#: pg_basebackup.c:423 #, c-format msgid " --no-manifest suppress generation of backup manifest\n" msgstr " --no-manifest κατάστειλε τη δημιουργία της διακήρυξης αντιγράφων ασφαλείας\n" -#: pg_basebackup.c:426 +#: pg_basebackup.c:424 #, c-format msgid " --no-slot prevent creation of temporary replication slot\n" msgstr " --no-slot εμπόδισε την δημιουργία προσωρινής υποδοχής αναπαραγωγής\n" -#: pg_basebackup.c:427 +#: pg_basebackup.c:425 #, c-format msgid "" " --no-verify-checksums\n" @@ -597,12 +599,12 @@ msgstr "" " --no-verify-checksums\n" " να μην επιβεβαιώσει τα αθροίσματα ελέγχου\n" -#: pg_basebackup.c:429 pg_receivewal.c:97 pg_recvlogical.c:102 +#: pg_basebackup.c:427 pg_receivewal.c:95 pg_recvlogical.c:100 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help εμφάνισε αυτό το μήνυμα βοήθειας, μετά έξοδος\n" -#: pg_basebackup.c:430 pg_receivewal.c:98 pg_recvlogical.c:103 +#: pg_basebackup.c:428 pg_receivewal.c:96 pg_recvlogical.c:101 #, c-format msgid "" "\n" @@ -611,22 +613,22 @@ msgstr "" "\n" "Επιλογές σύνδεσης:\n" -#: pg_basebackup.c:431 pg_receivewal.c:99 +#: pg_basebackup.c:429 pg_receivewal.c:97 #, c-format msgid " -d, --dbname=CONNSTR connection string\n" msgstr " -d, --dbname=CONNSTR συμβολοσειρά σύνδεσης\n" -#: pg_basebackup.c:432 pg_receivewal.c:100 pg_recvlogical.c:105 +#: pg_basebackup.c:430 pg_receivewal.c:98 pg_recvlogical.c:103 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=HOSTNAME διακομιστής βάσης δεδομένων ή κατάλογος υποδοχών\n" -#: pg_basebackup.c:433 pg_receivewal.c:101 pg_recvlogical.c:106 +#: pg_basebackup.c:431 pg_receivewal.c:99 pg_recvlogical.c:104 #, c-format msgid " -p, --port=PORT database server port number\n" msgstr " -p, --port=PORT θύρα διακομιστή βάσης δεδομένων\n" -#: pg_basebackup.c:434 +#: pg_basebackup.c:432 #, c-format msgid "" " -s, --status-interval=INTERVAL\n" @@ -635,22 +637,22 @@ msgstr "" " -s, --status-interval=INTERVAL\n" " χρόνος μεταξύ αποστολής πακέτων κατάστασης στον διακομιστή (σε δευτερόλεπτα)\n" -#: pg_basebackup.c:436 pg_receivewal.c:102 pg_recvlogical.c:107 +#: pg_basebackup.c:434 pg_receivewal.c:100 pg_recvlogical.c:105 #, c-format msgid " -U, --username=NAME connect as specified database user\n" msgstr " -U, --username=NAME σύνδεση ως ο ορισμένος χρήστης βάσης δεδομένων\n" -#: pg_basebackup.c:437 pg_receivewal.c:103 pg_recvlogical.c:108 +#: pg_basebackup.c:435 pg_receivewal.c:101 pg_recvlogical.c:106 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password να μην ζητείται ποτέ κωδικός πρόσβασης\n" -#: pg_basebackup.c:438 pg_receivewal.c:104 pg_recvlogical.c:109 +#: pg_basebackup.c:436 pg_receivewal.c:102 pg_recvlogical.c:107 #, c-format msgid " -W, --password force password prompt (should happen automatically)\n" msgstr " -W, --password αναγκαστική προτροπή κωδικού πρόσβασης (πρέπει να συμβεί αυτόματα)\n" -#: pg_basebackup.c:439 pg_receivewal.c:108 pg_recvlogical.c:110 +#: pg_basebackup.c:437 pg_receivewal.c:106 pg_recvlogical.c:108 #, c-format msgid "" "\n" @@ -659,480 +661,475 @@ msgstr "" "\n" "Υποβάλετε αναφορές σφάλματων σε <%s>.\n" -#: pg_basebackup.c:440 pg_receivewal.c:109 pg_recvlogical.c:111 +#: pg_basebackup.c:438 pg_receivewal.c:107 pg_recvlogical.c:109 #, c-format msgid "%s home page: <%s>\n" msgstr "%s αρχική σελίδα: <%s>\n" -#: pg_basebackup.c:482 +#: pg_basebackup.c:477 #, c-format msgid "could not read from ready pipe: %m" msgstr "δεν ήταν δυνατή η ανάγνωση από έτοιμη pipe: %m" -#: pg_basebackup.c:485 pg_basebackup.c:632 pg_basebackup.c:2180 -#: streamutil.c:444 +#: pg_basebackup.c:480 pg_basebackup.c:622 pg_basebackup.c:2151 +#: streamutil.c:441 #, c-format msgid "could not parse write-ahead log location \"%s\"" msgstr "δεν ήταν δυνατή η ανάλυση της τοποθεσίας write-ahead log «%s»" -#: pg_basebackup.c:591 pg_receivewal.c:663 +#: pg_basebackup.c:585 pg_receivewal.c:600 #, c-format msgid "could not finish writing WAL files: %m" msgstr "δεν ήταν δυνατός ο τερματισμός εγγραφής αρχείων WAL: %m" -#: pg_basebackup.c:641 +#: pg_basebackup.c:631 #, c-format msgid "could not create pipe for background process: %m" msgstr "δεν ήταν δυνατή η δημιουργία pipe για διεργασίες παρασκηνίου : %m" -#: pg_basebackup.c:674 +#: pg_basebackup.c:664 #, c-format msgid "created temporary replication slot \"%s\"" msgstr "δημιουργήθηκε προσωρινή υποδοχή αναπαραγωγής «%s»" -#: pg_basebackup.c:677 +#: pg_basebackup.c:667 #, c-format msgid "created replication slot \"%s\"" msgstr "δημιουργήθηκε υποδοχή αναπαραγωγής «%s»" -#: pg_basebackup.c:711 +#: pg_basebackup.c:701 #, c-format msgid "could not create background process: %m" msgstr "δεν ήταν δυνατή η δημιουργία διαδικασίας παρασκηνίου: %m" -#: pg_basebackup.c:720 +#: pg_basebackup.c:710 #, c-format msgid "could not create background thread: %m" msgstr "δεν ήταν δυνατή η δημιουργία νήματος παρασκηνίου: %m" -#: pg_basebackup.c:759 +#: pg_basebackup.c:749 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "ο κατάλογος «%s» υπάρχει και δεν είναι άδειος" -#: pg_basebackup.c:765 +#: pg_basebackup.c:755 #, c-format msgid "could not access directory \"%s\": %m" msgstr "δεν ήταν δυνατή η πρόσβαση του καταλόγου «%s»: %m" -#: pg_basebackup.c:842 +#: pg_basebackup.c:831 #, 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 πινακοχώρος %*s" msgstr[1] "%*s/%s kB (100%%), %d/%d πινακοχώροι %*s" -#: pg_basebackup.c:854 +#: pg_basebackup.c:843 #, 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 πινακοχώρος (%s%-*.*s)" msgstr[1] "%*s/%s kB (%d%%), %d/%d πινακοχώροι (%s%-*.*s)" -#: pg_basebackup.c:870 +#: pg_basebackup.c:859 #, 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 πινακοχώρος" msgstr[1] "%*s/%s kB (%d%%), %d/%d πινακοχώροι" -#: pg_basebackup.c:894 +#: pg_basebackup.c:883 #, c-format msgid "transfer rate \"%s\" is not a valid value" msgstr "η τιμή ρυθμού μεταφοράς «%s» δεν είναι έγκυρη" -#: pg_basebackup.c:896 +#: pg_basebackup.c:885 #, c-format msgid "invalid transfer rate \"%s\": %m" msgstr "μη έγκυρος ρυθμός μεταφοράς «%s»: %m" -#: pg_basebackup.c:903 +#: pg_basebackup.c:892 #, c-format msgid "transfer rate must be greater than zero" msgstr "ο ρυθμός μεταφοράς πρέπει να είναι μεγαλύτερος από μηδέν" -#: pg_basebackup.c:933 +#: pg_basebackup.c:922 #, c-format msgid "invalid --max-rate unit: \"%s\"" msgstr "μη έγκυρη μονάδα --max-rate: «%s»" -#: pg_basebackup.c:937 +#: pg_basebackup.c:926 #, c-format msgid "transfer rate \"%s\" exceeds integer range" msgstr "ο ρυθμός μεταφοράς «%s» υπερβαίνει το εύρος ακεραίων" -#: pg_basebackup.c:944 +#: pg_basebackup.c:933 #, c-format msgid "transfer rate \"%s\" is out of range" msgstr "ο ρυθμός μεταφοράς «%s» βρίσκεται εκτός εύρους τιμών" -#: pg_basebackup.c:1040 +#: pg_basebackup.c:995 #, c-format msgid "could not get COPY data stream: %s" msgstr "δεν ήταν δυνατή η λήψη ροής δεδομένων COPY: %s" -#: pg_basebackup.c:1057 pg_recvlogical.c:438 pg_recvlogical.c:610 -#: receivelog.c:981 +#: pg_basebackup.c:1012 pg_recvlogical.c:436 pg_recvlogical.c:608 +#: receivelog.c:973 #, c-format msgid "could not read COPY data: %s" msgstr "δεν ήταν δυνατή η ανάγνωση δεδομένων COPY: %s" -#: pg_basebackup.c:1061 +#: pg_basebackup.c:1016 #, c-format msgid "background process terminated unexpectedly" msgstr "διεργασία παρασκηνίου τερματίστηκε απρόσμενα" -#: pg_basebackup.c:1132 +#: pg_basebackup.c:1087 #, c-format msgid "cannot inject manifest into a compressed tar file" msgstr "δεν είναι δυνατή η έγχυση διακύρηξης σε συμπιεσμένο αρχείο tarfile" -#: pg_basebackup.c:1133 +#: pg_basebackup.c:1088 #, c-format msgid "Use client-side compression, send the output to a directory rather than standard output, or use %s." msgstr "Χρησιμοποιήστε συμπίεση από την πλευρά του πελάτη, στείλτε την έξοδο σε έναν κατάλογο αντί για την τυπική έξοδο, ή χρησιμοποιήστε %s." -#: pg_basebackup.c:1149 +#: pg_basebackup.c:1104 #, c-format msgid "cannot parse archive \"%s\"" msgstr "δεν ήταν δυνατή η ανάλυση αρχειοθήκης «%s»" -#: pg_basebackup.c:1150 +#: pg_basebackup.c:1105 #, c-format msgid "Only tar archives can be parsed." msgstr "Μόνο οι αρχειοθήκες tar μπορούν να συμπιεστούν." -#: pg_basebackup.c:1152 +#: pg_basebackup.c:1107 #, c-format msgid "Plain format requires pg_basebackup to parse the archive." msgstr "Η απλή μορφή απαιτεί pg_basebackup για την ανάλυση του αρχείου." -#: pg_basebackup.c:1154 +#: pg_basebackup.c:1109 #, c-format msgid "Using - as the output directory requires pg_basebackup to parse the archive." msgstr "Η χρήση του - ως καταλόγου εξόδου απαιτεί την ανάλυση του αρχείου από το pg_basebackup." -#: pg_basebackup.c:1156 +#: pg_basebackup.c:1111 #, c-format msgid "The -R option requires pg_basebackup to parse the archive." msgstr "Η επιλογή -R απαιτεί pg_basebackup για την ανάλυση του αρχείου." -#: pg_basebackup.c:1367 +#: pg_basebackup.c:1330 #, c-format msgid "archives must precede manifest" msgstr "τα αρχεία πρέπει να προηγούνται του μανιφέστου" -#: pg_basebackup.c:1382 +#: pg_basebackup.c:1345 #, c-format msgid "invalid archive name: \"%s\"" msgstr "άκυρη ονομασία αρχειοθήκης «%s»" -#: pg_basebackup.c:1454 +#: pg_basebackup.c:1417 #, c-format msgid "unexpected payload data" msgstr "μη αναμενόμενα δεδομένα φορτίου" -#: pg_basebackup.c:1597 +#: pg_basebackup.c:1560 #, c-format msgid "empty COPY message" msgstr "κενό μήνυμα COPY" -#: pg_basebackup.c:1599 +#: pg_basebackup.c:1562 #, c-format msgid "malformed COPY message of type %d, length %zu" msgstr "κακοσχηματισμένο μήνυμα COPY τύπου %d, μήκους %zu" -#: pg_basebackup.c:1797 +#: pg_basebackup.c:1760 #, c-format msgid "incompatible server version %s" msgstr "μη συμβατή έκδοση διακομιστή %s" -#: pg_basebackup.c:1813 +#: pg_basebackup.c:1776 #, c-format msgid "Use -X none or -X fetch to disable log streaming." msgstr "Χρησιμοποίησε -X none ή -X fetch για την απενεργοποίηση της ροής καταγραφής." -#: pg_basebackup.c:1881 +#: pg_basebackup.c:1844 #, c-format msgid "backup targets are not supported by this server version" msgstr "οι στόχοι αντιγράφων ασφαλείας δεν υποστηρίζονται από αυτήν την έκδοση διακομιστή" -#: pg_basebackup.c:1884 +#: pg_basebackup.c:1847 #, c-format msgid "recovery configuration cannot be written when a backup target is used" msgstr "δεν είναι δυνατή η σύνταξη αρχείου ρυθμίσεων αποκατάστασης όταν χρησιμοποιείται προορισμός αντιγράφων ασφαλείας" -#: pg_basebackup.c:1911 +#: pg_basebackup.c:1874 #, c-format msgid "server does not support server-side compression" msgstr "ο διακομιστής δεν υποστηρίζει συμπίεση από την πλευρά του διακομιστή" -#: pg_basebackup.c:1921 +#: pg_basebackup.c:1884 #, c-format msgid "initiating base backup, waiting for checkpoint to complete" msgstr "έναρξη δημιουργίας αντιγράφων ασφαλείας βάσης, αναμονή ολοκλήρωσης του σημείου ελέγχου" -#: pg_basebackup.c:1925 +#: pg_basebackup.c:1888 #, c-format msgid "waiting for checkpoint" msgstr "αναμονή για το σημείο ελέγχου" -#: pg_basebackup.c:1938 pg_recvlogical.c:262 receivelog.c:549 receivelog.c:588 -#: streamutil.c:291 streamutil.c:364 streamutil.c:416 streamutil.c:504 -#: streamutil.c:656 streamutil.c:701 +#: pg_basebackup.c:1901 pg_recvlogical.c:260 receivelog.c:543 receivelog.c:582 +#: streamutil.c:288 streamutil.c:361 streamutil.c:413 streamutil.c:501 +#: streamutil.c:653 streamutil.c:698 #, c-format msgid "could not send replication command \"%s\": %s" msgstr "δεν ήταν δυνατή η αποστολή εντολής αναπαραγωγής «%s»: %s" -#: pg_basebackup.c:1946 +#: pg_basebackup.c:1909 #, c-format msgid "could not initiate base backup: %s" msgstr "δεν ήταν δυνατή η έναρξη αντιγράφου ασφαλείας βάσης: %s" -#: pg_basebackup.c:1949 +#: pg_basebackup.c:1912 #, c-format msgid "server returned unexpected response to BASE_BACKUP command; got %d rows and %d fields, expected %d rows and %d fields" msgstr "ο διακομιστής επέστρεψε μη αναμενόμενη απόκριση στην εντολή BASE_BACKUP· έλαβε %d σειρές και %d πεδία, ανέμενε %d σειρές και %d πεδία" -#: pg_basebackup.c:1955 +#: pg_basebackup.c:1918 #, c-format msgid "checkpoint completed" msgstr "ολοκληρώθηκε το σημείο ελέγχου" -#: pg_basebackup.c:1970 +#: pg_basebackup.c:1932 #, c-format msgid "write-ahead log start point: %s on timeline %u" msgstr "σημείο εκκίνησης write-ahead: %s στην χρονογραμμή %u" -#: pg_basebackup.c:1978 +#: pg_basebackup.c:1940 #, c-format msgid "could not get backup header: %s" msgstr "δεν ήταν δυνατή η απόκτηση κεφαλίδας αντιγράφου ασφαλείας: %s" -#: pg_basebackup.c:1981 +#: pg_basebackup.c:1943 #, c-format msgid "no data returned from server" msgstr "δεν επιστράφηκαν δεδομένα από τον διακομιστή" -#: pg_basebackup.c:2016 +#: pg_basebackup.c:1986 #, c-format msgid "can only write single tablespace to stdout, database has %d" msgstr "μπορεί να γράψει μόνο έναν πινακοχώρο στην τυπική έξοδο, η βάση δεδομένων διαθέτει %d" -#: pg_basebackup.c:2029 +#: pg_basebackup.c:1999 #, c-format msgid "starting background WAL receiver" msgstr "εκκίνηση λήψης WAL στο παρασκήνιο" -#: pg_basebackup.c:2111 +#: pg_basebackup.c:2082 #, c-format msgid "backup failed: %s" msgstr "η δημιουργία αντιγράφων ασφαλείας απέτυχε: %s" -#: pg_basebackup.c:2114 +#: pg_basebackup.c:2085 #, c-format msgid "no write-ahead log end position returned from server" msgstr "δεν επιστράφηκε τελική θέση write-ahead log από τον διακομιστή" -#: pg_basebackup.c:2117 +#: pg_basebackup.c:2088 #, c-format msgid "write-ahead log end point: %s" msgstr "τελικό σημείο write-ahead log: %s" -#: pg_basebackup.c:2128 +#: pg_basebackup.c:2099 #, c-format msgid "checksum error occurred" msgstr "προέκυψε σφάλμα αθροίσματος ελέγχου" -#: pg_basebackup.c:2133 +#: pg_basebackup.c:2104 #, c-format msgid "final receive failed: %s" msgstr "απέτυχε η τελική λήψη: %s" -#: pg_basebackup.c:2157 +#: pg_basebackup.c:2128 #, c-format msgid "waiting for background process to finish streaming ..." msgstr "αναμένει τη διαδικασία παρασκηνίου να ολοκληρώσει τη ροή ..." -#: pg_basebackup.c:2161 +#: pg_basebackup.c:2132 #, c-format msgid "could not send command to background pipe: %m" msgstr "δεν ήταν δυνατή η αποστολή της εντολής σε pipe παρασκηνίου: %m" -#: pg_basebackup.c:2166 +#: pg_basebackup.c:2137 #, c-format msgid "could not wait for child process: %m" msgstr "δεν ήταν δυνατή η αναμονή απογονικής διεργασίας: %m" -#: pg_basebackup.c:2168 +#: pg_basebackup.c:2139 #, c-format msgid "child %d died, expected %d" msgstr "απόγονος %d πέθανε, ανέμενε %d" -#: pg_basebackup.c:2170 streamutil.c:91 streamutil.c:197 +#: pg_basebackup.c:2141 streamutil.c:91 streamutil.c:196 #, c-format msgid "%s" msgstr "%s" -#: pg_basebackup.c:2190 +#: pg_basebackup.c:2161 #, c-format msgid "could not wait for child thread: %m" msgstr "δεν ήταν δυνατή η αναμονή απογονικού νήματος: %m" -#: pg_basebackup.c:2195 +#: pg_basebackup.c:2166 #, c-format msgid "could not get child thread exit status: %m" msgstr "δεν ήταν δυνατή η απόκτηση κατάστασης εξόδου απογονικού νήματος: %m" -#: pg_basebackup.c:2198 +#: pg_basebackup.c:2169 #, c-format msgid "child thread exited with error %u" msgstr "το απογονικό νήμα εξήλθε με σφάλμα %u" -#: pg_basebackup.c:2227 +#: pg_basebackup.c:2198 #, c-format msgid "syncing data to disk ..." msgstr "συγχρονίζονται δεδομένα στο δίσκο …" -#: pg_basebackup.c:2252 +#: pg_basebackup.c:2223 #, c-format msgid "renaming backup_manifest.tmp to backup_manifest" msgstr "μετονομάζει backup_manifest.tmp σε backup_manifest" -#: pg_basebackup.c:2272 +#: pg_basebackup.c:2243 #, c-format msgid "base backup completed" msgstr "ολοκληρώθηκε το αντίγραφο ασφαλείας βάσης" -#: pg_basebackup.c:2361 +#: pg_basebackup.c:2326 +#, c-format +msgid "invalid checkpoint argument \"%s\", must be \"fast\" or \"spread\"" +msgstr "μη έγκυρη παράμετρος σημείου ελέγχου «%s», πρέπει να είναι «fast» ή «spread»" + +#: pg_basebackup.c:2344 #, c-format msgid "invalid output format \"%s\", must be \"plain\" or \"tar\"" msgstr "μη έγκυρη μορφή εξόδου «%s», πρέπει να είναι «plain» ή «tar»" -#: pg_basebackup.c:2405 +#: pg_basebackup.c:2422 #, c-format msgid "invalid wal-method option \"%s\", must be \"fetch\", \"stream\", or \"none\"" msgstr "μη έγκυρη επιλογή μεθόδου wal «%s», πρέπει να είναι «fetch», «stream», ή «none»" -#: pg_basebackup.c:2435 -#, c-format -msgid "invalid checkpoint argument \"%s\", must be \"fast\" or \"spread\"" -msgstr "μη έγκυρη παράμετρος σημείου ελέγχου «%s», πρέπει να είναι «fast» ή «spread»" - -#: pg_basebackup.c:2486 pg_basebackup.c:2498 pg_basebackup.c:2520 -#: pg_basebackup.c:2532 pg_basebackup.c:2538 pg_basebackup.c:2590 -#: pg_basebackup.c:2601 pg_basebackup.c:2611 pg_basebackup.c:2617 -#: pg_basebackup.c:2624 pg_basebackup.c:2636 pg_basebackup.c:2648 -#: pg_basebackup.c:2656 pg_basebackup.c:2669 pg_basebackup.c:2675 -#: pg_basebackup.c:2684 pg_basebackup.c:2696 pg_basebackup.c:2707 -#: pg_basebackup.c:2715 pg_receivewal.c:814 pg_receivewal.c:826 -#: pg_receivewal.c:833 pg_receivewal.c:842 pg_receivewal.c:849 -#: pg_receivewal.c:859 pg_recvlogical.c:837 pg_recvlogical.c:849 -#: pg_recvlogical.c:859 pg_recvlogical.c:866 pg_recvlogical.c:873 -#: pg_recvlogical.c:880 pg_recvlogical.c:887 pg_recvlogical.c:894 -#: pg_recvlogical.c:901 pg_recvlogical.c:908 +#: pg_basebackup.c: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_receivewal.c:767 pg_receivewal.c:776 pg_receivewal.c:783 +#: pg_receivewal.c:793 pg_recvlogical.c:835 pg_recvlogical.c:847 +#: pg_recvlogical.c:857 pg_recvlogical.c:864 pg_recvlogical.c:871 +#: pg_recvlogical.c:878 pg_recvlogical.c:885 pg_recvlogical.c:892 +#: pg_recvlogical.c:899 pg_recvlogical.c:906 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Δοκιμάστε «%s --help» για περισσότερες πληροφορίες." -#: pg_basebackup.c:2496 pg_receivewal.c:824 pg_recvlogical.c:847 +#: pg_basebackup.c:2467 pg_receivewal.c:758 pg_recvlogical.c:845 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "πάρα πολλές παράμετροι εισόδου από την γραμμή εντολών (η πρώτη είναι η «%s»)" -#: pg_basebackup.c:2519 +#: pg_basebackup.c:2490 #, c-format msgid "cannot specify both format and backup target" msgstr "δεν είναι δυνατός ο καθορισμός τόσο ενός ονόματος βάσης δεδομένων όσο και στόχου αντιγράφων ασφαλείας" -#: pg_basebackup.c:2531 +#: pg_basebackup.c:2502 #, c-format msgid "must specify output directory or backup target" msgstr "πρέπει να καθορίσετε τον κατάλογο εξόδου ή το στόχο δημιουργίας αντιγράφων ασφαλείας" -#: pg_basebackup.c:2537 +#: pg_basebackup.c:2508 #, c-format msgid "cannot specify both output directory and backup target" msgstr "δεν είναι δυνατός ο καθορισμός τόσο του καταλόγου εξόδου όσο και του προορισμού αντιγράφων ασφαλείας" -#: pg_basebackup.c:2567 pg_receivewal.c:868 +#: pg_basebackup.c:2538 pg_receivewal.c:802 #, c-format msgid "unrecognized compression algorithm: \"%s\"" msgstr "μη αναγνωρίσιμος αλγόριθμος συμπίεσης: «%s»" -#: pg_basebackup.c:2573 pg_receivewal.c:875 +#: pg_basebackup.c:2544 pg_receivewal.c:809 #, c-format msgid "invalid compression specification: %s" msgstr "μη έγκυρη προδιαγραφή συμπίεσης: %s" -#: pg_basebackup.c:2589 +#: pg_basebackup.c:2560 #, c-format msgid "client-side compression is not possible when a backup target is specified" msgstr "η συμπίεση από την πλευρά του πελάτη δεν είναι δυνατή όταν έχει καθοριστεί ένας στόχος δημιουργίας αντιγράφων ασφαλείας" -#: pg_basebackup.c:2600 +#: pg_basebackup.c:2571 #, c-format msgid "only tar mode backups can be compressed" msgstr "μόνο τα αντίγραφα ασφαλείας tar μπορούν να συμπιεστούν" -#: pg_basebackup.c:2610 +#: pg_basebackup.c:2581 #, c-format msgid "WAL cannot be streamed when a backup target is specified" msgstr "δεν είναι δυνατή η ροή WAL όταν καθορίζεται στόχος αντιγράφου ασφαλείας" -#: pg_basebackup.c:2616 +#: pg_basebackup.c:2587 #, c-format msgid "cannot stream write-ahead logs in tar mode to stdout" msgstr "δεν είναι δυνατή η ροή write-ahead logs σε λειτουργία tar στην τυπική έξοδο" -#: pg_basebackup.c:2623 +#: pg_basebackup.c:2594 #, c-format msgid "replication slots can only be used with WAL streaming" msgstr "οι υποδοχές αναπαραγωγής μπορούν να χρησιμοποιηθούν μόνο με ροή WAL" -#: pg_basebackup.c:2635 +#: pg_basebackup.c:2606 #, c-format msgid "--no-slot cannot be used with slot name" msgstr "--no-slot δεν μπορεί να χρησιμοποιηθεί σε συνδυασμό με όνομα υποδοχής" #. translator: second %s is an option name -#: pg_basebackup.c:2646 pg_receivewal.c:840 +#: pg_basebackup.c:2617 pg_receivewal.c:774 #, c-format msgid "%s needs a slot to be specified using --slot" msgstr "%s χρειάζεται να έχει οριστεί μία υποδοχή με --slot" -#: pg_basebackup.c:2654 pg_basebackup.c:2694 pg_basebackup.c:2705 -#: pg_basebackup.c:2713 +#: pg_basebackup.c:2625 pg_basebackup.c:2665 pg_basebackup.c:2676 +#: pg_basebackup.c:2684 #, c-format msgid "%s and %s are incompatible options" msgstr "%s και %s αποτελούν μη συμβατές επιλογές" -#: pg_basebackup.c:2668 +#: pg_basebackup.c:2639 #, c-format msgid "WAL directory location cannot be specified along with a backup target" msgstr "η τοποθεσία του καταλόγου WAL δεν μπορεί να καθοριστεί μαζί με στόχο αντιγράφου ασφαλείας" -#: pg_basebackup.c:2674 +#: pg_basebackup.c:2645 #, c-format msgid "WAL directory location can only be specified in plain mode" msgstr "η τοποθεσία του καταλόγου WAL μπορεί να καθοριστεί μόνο σε λειτουργία plain" -#: pg_basebackup.c:2683 +#: pg_basebackup.c:2654 #, c-format msgid "WAL directory location must be an absolute path" msgstr "η τοποθεσία του καταλόγου WAL πρέπει να είναι μία πλήρης διαδρομή" -#: pg_basebackup.c:2784 +#: pg_basebackup.c:2754 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "δεν ήταν δυνατή η δημιουργία του συμβολικού συνδέσμου «%s»: %m" -#: pg_basebackup.c:2786 -#, c-format -msgid "symlinks are not supported on this platform" -msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στην παρούσα πλατφόρμα" - -#: pg_receivewal.c:79 +#: pg_receivewal.c:77 #, c-format msgid "" "%s receives PostgreSQL streaming write-ahead logs.\n" @@ -1141,7 +1138,7 @@ msgstr "" "%s λαμβάνει ροές PostgreSQL write-ahead logs.\n" "\n" -#: pg_receivewal.c:83 pg_recvlogical.c:84 +#: pg_receivewal.c:81 pg_recvlogical.c:82 #, c-format msgid "" "\n" @@ -1150,32 +1147,32 @@ msgstr "" "\n" "Επιλογές:\n" -#: pg_receivewal.c:84 +#: pg_receivewal.c:82 #, c-format msgid " -D, --directory=DIR receive write-ahead log files into this directory\n" msgstr " -D, --directory=DIR να λάβει αρχεία write-ahead log files into this directory\n" -#: pg_receivewal.c:85 pg_recvlogical.c:85 +#: pg_receivewal.c:83 pg_recvlogical.c:83 #, c-format msgid " -E, --endpos=LSN exit after receiving the specified LSN\n" msgstr " -E, --endpos=LSN έξοδος μετά τη λήψη του καθορισμένου LSN\n" -#: pg_receivewal.c:86 pg_recvlogical.c:89 +#: pg_receivewal.c:84 pg_recvlogical.c:87 #, c-format msgid " --if-not-exists do not error if slot already exists when creating a slot\n" msgstr " --if-not-exists μην θεωρηθεί ώς σφάλμα η ήδη ύπαρξη υποδοχής κατά τη δημιουργία μιας υποδοχής\n" -#: pg_receivewal.c:87 pg_recvlogical.c:91 +#: pg_receivewal.c:85 pg_recvlogical.c:89 #, c-format msgid " -n, --no-loop do not loop on connection lost\n" msgstr " -n, --no-loop να μην εισέλθει σε βρόχο κατά την απώλεια σύνδεσης\n" -#: pg_receivewal.c:88 +#: pg_receivewal.c:86 #, c-format msgid " --no-sync do not wait for changes to be written safely to disk\n" msgstr " --no-sync να μην αναμένει την ασφαλή εγγραφή αλλαγών στον δίσκο\n" -#: pg_receivewal.c:89 pg_recvlogical.c:96 +#: pg_receivewal.c:87 pg_recvlogical.c:94 #, c-format msgid "" " -s, --status-interval=SECS\n" @@ -1184,12 +1181,12 @@ msgstr "" " -s, --status-interval=SECS\n" " χρόνος μεταξύ πακέτων κατάστασης που αποστέλλονται στο διακομιστή (προεπιλογή: %d)\n" -#: pg_receivewal.c:92 +#: pg_receivewal.c:90 #, c-format msgid " --synchronous flush write-ahead log immediately after writing\n" msgstr " --synchronous flush write-ahead log αμέσως μετά τη γραφή\n" -#: pg_receivewal.c:95 +#: pg_receivewal.c:93 #, c-format msgid "" " -Z, --compress=METHOD[:DETAIL]\n" @@ -1198,7 +1195,7 @@ msgstr "" " -Z, --compress=METHOD[:DETAIL]\n" " συμπίεσε όπως ορίζεται\n" -#: pg_receivewal.c:105 +#: pg_receivewal.c:103 #, c-format msgid "" "\n" @@ -1207,158 +1204,158 @@ msgstr "" "\n" "Προαιρετικές δράσεις:\n" -#: pg_receivewal.c:106 pg_recvlogical.c:81 +#: pg_receivewal.c:104 pg_recvlogical.c:79 #, c-format msgid " --create-slot create a new replication slot (for the slot's name see --slot)\n" msgstr " --create-slot δημιούργησε μια νέα υποδοχή αναπαραγωγής (για το όνομα της υποδοχής, δείτε --slot)\n" -#: pg_receivewal.c:107 pg_recvlogical.c:82 +#: pg_receivewal.c:105 pg_recvlogical.c:80 #, c-format msgid " --drop-slot drop the replication slot (for the slot's name see --slot)\n" msgstr " --drop-slot εγκατάληψη της υποδοχής αναπαραγωγής (για το όνομα της υποδοχής δείτε --slot)\n" -#: pg_receivewal.c:252 +#: pg_receivewal.c:191 #, c-format msgid "finished segment at %X/%X (timeline %u)" msgstr "τελείωσε το τμήμα σε %X/%X (χρονογραμμή %u)" -#: pg_receivewal.c:259 +#: pg_receivewal.c:198 #, c-format msgid "stopped log streaming at %X/%X (timeline %u)" msgstr "διακοπή ροής αρχείων καταγραφής σε %X/%X (χρονογραμμή %u)" -#: pg_receivewal.c:275 +#: pg_receivewal.c:214 #, c-format msgid "switched to timeline %u at %X/%X" msgstr "μεταπήδησε στη χρονογραμμή %u στο %X/%X" -#: pg_receivewal.c:285 +#: pg_receivewal.c:224 #, c-format msgid "received interrupt signal, exiting" msgstr "λήψη σήματος διακοπής, έξοδος" -#: pg_receivewal.c:317 +#: pg_receivewal.c:256 #, c-format msgid "could not close directory \"%s\": %m" msgstr "δεν ήταν δυνατό το κλείσιμο του καταλόγου «%s»: %m" -#: pg_receivewal.c:384 +#: pg_receivewal.c:323 #, c-format msgid "segment file \"%s\" has incorrect size %lld, skipping" msgstr "το αρχείο τμήματος «%s» έχει εσφαλμένο μέγεθος %lld, θα παραληφθεί" -#: pg_receivewal.c:401 +#: pg_receivewal.c:340 #, c-format msgid "could not open compressed file \"%s\": %m" msgstr "δεν ήταν δυνατό το άνοιγμα του συμπιεσμένου αρχείου «%s»: %m" -#: pg_receivewal.c:404 +#: pg_receivewal.c:343 #, c-format msgid "could not seek in compressed file \"%s\": %m" msgstr "δεν ήταν δυνατή η αναζήτηση στο συμπιεσμένο αρχείο «%s»: %m" -#: pg_receivewal.c:410 +#: pg_receivewal.c:349 #, c-format msgid "could not read compressed file \"%s\": %m" msgstr "δεν ήταν δυνατή η ανάγνωση του συμπιεσμένου αρχείου «%s»: %m" -#: pg_receivewal.c:413 +#: pg_receivewal.c:352 #, c-format msgid "could not read compressed file \"%s\": read %d of %zu" msgstr "δεν ήταν δυνατή η ανάγνωση του συμπιεσμένου αρχείου «%s»: ανέγνωσε %d από %zu" -#: pg_receivewal.c:423 +#: pg_receivewal.c:362 #, c-format msgid "compressed segment file \"%s\" has incorrect uncompressed size %d, skipping" msgstr "συμπιεσμένο αρχείο τμήματος «%s» έχει εσφαλμένο μη συμπιεσμένο μέγεθος %d, θα παραληφθεί" -#: pg_receivewal.c:451 +#: pg_receivewal.c:390 #, c-format msgid "could not create LZ4 decompression context: %s" msgstr "δεν ήταν δυνατή η δημιουργία LZ4 περιεχομένου αποσυμπίεσης: %s" -#: pg_receivewal.c:463 +#: pg_receivewal.c:402 #, c-format msgid "could not read file \"%s\": %m" msgstr "δεν ήταν δυνατή η ανάγνωση του αρχείου «%s»: %m" -#: pg_receivewal.c:481 +#: pg_receivewal.c:420 #, c-format msgid "could not decompress file \"%s\": %s" msgstr "δεν ήταν δυνατή η αποσυμπιέση αρχείου «%s»: %s" -#: pg_receivewal.c:504 +#: pg_receivewal.c:443 #, c-format msgid "could not free LZ4 decompression context: %s" msgstr "δεν ήταν δυνατή η απελευθέρωση LZ4 περιεχομένου αποσυμπίεσης: %s" -#: pg_receivewal.c:509 +#: pg_receivewal.c:448 #, c-format msgid "compressed segment file \"%s\" has incorrect uncompressed size %zu, skipping" msgstr "συμπιεσμένο αρχείο τμήματος «%s» έχει εσφαλμένο μη συμπιεσμένο μέγεθος %zu, θα παραληφθεί" -#: pg_receivewal.c:514 +#: pg_receivewal.c:453 #, c-format msgid "cannot check file \"%s\": compression with %s not supported by this build" msgstr "δεν είναι δυνατός ο έλεγχος του αρχείου «%s»: η συμπίεση με %s δεν υποστηρίζεται από αυτήν την κατασκευή" -#: pg_receivewal.c:641 +#: pg_receivewal.c:578 #, c-format msgid "starting log streaming at %X/%X (timeline %u)" msgstr "έναρξη ροής αρχείων καταγραφής σε %X/%X (χρονογραμμή %u)" -#: pg_receivewal.c:783 pg_recvlogical.c:785 +#: pg_receivewal.c:693 pg_recvlogical.c:783 #, c-format msgid "could not parse end position \"%s\"" msgstr "δεν ήταν δυνατή η ανάλυση της τελικής τοποθεσίας «%s»" -#: pg_receivewal.c:832 +#: pg_receivewal.c:766 #, c-format msgid "cannot use --create-slot together with --drop-slot" msgstr "δεν είναι δυνατή η χρήση --create-slot σε συνδυασμό με --drop-slot" -#: pg_receivewal.c:848 +#: pg_receivewal.c:782 #, c-format msgid "cannot use --synchronous together with --no-sync" msgstr "δεν είναι δυνατή η χρήση --synchronous σε συνδυασμό με --no-sync" -#: pg_receivewal.c:858 +#: pg_receivewal.c:792 #, c-format msgid "no target directory specified" msgstr "δεν καθορίστηκε κατάλογος δεδομένων προορισμού" -#: pg_receivewal.c:882 +#: pg_receivewal.c:816 #, c-format msgid "compression with %s is not yet supported" msgstr "η συμπίεση με %s δεν υποστηρίζεται ακόμα" -#: pg_receivewal.c:924 +#: pg_receivewal.c:859 #, c-format msgid "replication connection using slot \"%s\" is unexpectedly database specific" msgstr "η σύνδεση αναπαραγωγής χρησιμοποιώντας την υποδοχή «%s» είναι απροσδόκητα συνυφασμένη με βάση δεδομένων" -#: pg_receivewal.c:943 pg_recvlogical.c:955 +#: pg_receivewal.c:878 pg_recvlogical.c:954 #, c-format msgid "dropping replication slot \"%s\"" msgstr "κατάργηση υποδοχής αναπαραγωγής «%s»" -#: pg_receivewal.c:954 pg_recvlogical.c:965 +#: pg_receivewal.c:889 pg_recvlogical.c:964 #, c-format msgid "creating replication slot \"%s\"" msgstr "δημιουργία υποδοχής αναπαραγωγής «%s»" -#: pg_receivewal.c:983 pg_recvlogical.c:989 +#: pg_receivewal.c:918 pg_recvlogical.c:988 #, c-format msgid "disconnected" msgstr "αποσυνδέθηκε" #. translator: check source for value for %d -#: pg_receivewal.c:987 pg_recvlogical.c:993 +#: pg_receivewal.c:922 pg_recvlogical.c:992 #, c-format msgid "disconnected; waiting %d seconds to try again" msgstr "αποσυνδέθηκε· αναμένει %d δεύτερα για να προσπαθήσει ξανά" -#: pg_recvlogical.c:76 +#: pg_recvlogical.c:74 #, c-format msgid "" "%s controls PostgreSQL logical decoding streams.\n" @@ -1367,7 +1364,7 @@ msgstr "" "%s ελέγχει ροές λογικής αποκωδικοποίησης PostgreSQL.\n" "\n" -#: pg_recvlogical.c:80 +#: pg_recvlogical.c:78 #, c-format msgid "" "\n" @@ -1376,17 +1373,17 @@ msgstr "" "\n" "Δράση που θα πραγματοποιηθεί:\n" -#: pg_recvlogical.c:83 +#: pg_recvlogical.c:81 #, c-format msgid " --start start streaming in a replication slot (for the slot's name see --slot)\n" msgstr " --start εκκίνηση ροής σε μια υποδοχή αναπαραγωγής (για το όνομα της υποδοχής δείτε --slot)\n" -#: pg_recvlogical.c:86 +#: pg_recvlogical.c:84 #, c-format msgid " -f, --file=FILE receive log into this file, - for stdout\n" msgstr " -f, --file=FILE λάβε το log σε αυτό το αρείο, - για τυπική έξοδο\n" -#: pg_recvlogical.c:87 +#: pg_recvlogical.c:85 #, c-format msgid "" " -F --fsync-interval=SECS\n" @@ -1395,12 +1392,12 @@ msgstr "" " -F --fsync-interval=SECS\n" " χρόνος μεταξύ fsyncs του αρχείου εξόδου (προεπιλογή: %d)\n" -#: pg_recvlogical.c:90 +#: pg_recvlogical.c:88 #, c-format msgid " -I, --startpos=LSN where in an existing slot should the streaming start\n" msgstr " -I, --startpos=LSN από πού θα ξεκινήσει η ροή σε μια υπάρχουσα υποδοχή\n" -#: pg_recvlogical.c:92 +#: pg_recvlogical.c:90 #, c-format msgid "" " -o, --option=NAME[=VALUE]\n" @@ -1411,400 +1408,395 @@ msgstr "" " πέρασε την επιλογή NAME με προαιρετική τιμή VALUE στο\n" " plugin εξόδου\n" -#: pg_recvlogical.c:95 +#: pg_recvlogical.c:93 #, c-format msgid " -P, --plugin=PLUGIN use output plugin PLUGIN (default: %s)\n" msgstr " -P, --plugin=PLUGIN χρησιμοποίησε το plugin εξόδου PLUGIN (προεπιλογή: %s)\n" -#: pg_recvlogical.c:98 +#: pg_recvlogical.c:96 #, c-format msgid " -S, --slot=SLOTNAME name of the logical replication slot\n" msgstr " -S, --slot=SLOTNAME όνομα της λογικής υποδοχής αναπαραγωγής\n" -#: pg_recvlogical.c:99 +#: pg_recvlogical.c:97 #, c-format msgid " -t, --two-phase enable decoding of prepared transactions when creating a slot\n" msgstr " -t, --two-phase ενεργοποιήσε την αποκωδικοποίηση των προετοιμασμένων συναλλαγών κατά τη δημιουργία μιας υποδοχής\n" -#: pg_recvlogical.c:104 +#: pg_recvlogical.c:102 #, c-format msgid " -d, --dbname=DBNAME database to connect to\n" msgstr " -d, --dbname=DBNAME βάση δεδομένων για να συνδεθεί\n" -#: pg_recvlogical.c:137 +#: pg_recvlogical.c:135 #, c-format msgid "confirming write up to %X/%X, flush to %X/%X (slot %s)" msgstr "επιβεβαίωση εγγραφής έως %X/%X, flush σε %X/%X (υποδοχή %s)" -#: pg_recvlogical.c:161 receivelog.c:366 +#: pg_recvlogical.c:159 receivelog.c:360 #, c-format msgid "could not send feedback packet: %s" msgstr "δεν ήταν δυνατή η αποστολή πακέτου σχολίων: %s" -#: pg_recvlogical.c:229 +#: pg_recvlogical.c:227 #, c-format msgid "starting log streaming at %X/%X (slot %s)" msgstr "έναρξη ροής αρχείων καταγραφής σε %X/%X (υποδοχή %s)" -#: pg_recvlogical.c:271 +#: pg_recvlogical.c:269 #, c-format msgid "streaming initiated" msgstr "έναρξη ροής" -#: pg_recvlogical.c:335 +#: pg_recvlogical.c:333 #, c-format msgid "could not open log file \"%s\": %m" msgstr "δεν ήταν δυνατό το άνοιγμα του αρχείου καταγραφής «%s»: %m" -#: pg_recvlogical.c:364 receivelog.c:889 +#: pg_recvlogical.c:362 receivelog.c:882 #, c-format msgid "invalid socket: %s" msgstr "άκυρος υποδοχέας: %s" -#: pg_recvlogical.c:417 receivelog.c:917 +#: pg_recvlogical.c:415 receivelog.c:910 #, c-format msgid "%s() failed: %m" msgstr "%s() απέτυχε: %m" -#: pg_recvlogical.c:424 receivelog.c:967 +#: pg_recvlogical.c:422 receivelog.c:959 #, c-format msgid "could not receive data from WAL stream: %s" msgstr "δεν ήταν δυνατή η λήψη δεδομένων από τη ροή WAL: %s" -#: pg_recvlogical.c:466 pg_recvlogical.c:517 receivelog.c:1011 -#: receivelog.c:1074 +#: pg_recvlogical.c:464 pg_recvlogical.c:515 receivelog.c:1003 +#: receivelog.c:1066 #, c-format msgid "streaming header too small: %d" msgstr "πολύ μικρή κεφαλίδα ροής: %d" -#: pg_recvlogical.c:501 receivelog.c:849 +#: pg_recvlogical.c:499 receivelog.c:843 #, c-format msgid "unrecognized streaming header: \"%c\"" msgstr "μη αναγνωρίσιμη κεφαλίδα ροής: «%c»" -#: pg_recvlogical.c:555 pg_recvlogical.c:567 +#: pg_recvlogical.c:553 pg_recvlogical.c:565 #, c-format msgid "could not write %d bytes to log file \"%s\": %m" msgstr "δεν ήταν δυνατή η εγγραφή %d bytes στο αρχείο καταγραφής «%s»: %m" -#: pg_recvlogical.c:621 receivelog.c:648 receivelog.c:685 +#: pg_recvlogical.c:619 receivelog.c:642 receivelog.c:679 #, c-format msgid "unexpected termination of replication stream: %s" msgstr "μη αναμενόμενος τερματισμός της ροής αναπαραγωγής: %s" -#: pg_recvlogical.c:780 +#: pg_recvlogical.c:778 #, c-format msgid "could not parse start position \"%s\"" msgstr "δεν ήταν δυνατή η ανάλυση της θέσης έναρξης «%s»" -#: pg_recvlogical.c:858 +#: pg_recvlogical.c:856 #, c-format msgid "no slot specified" msgstr "δεν καθορίστηκε υποδοχή" -#: pg_recvlogical.c:865 +#: pg_recvlogical.c:863 #, c-format msgid "no target file specified" msgstr "δεν καθορίστηκε αρχείο προορισμού" -#: pg_recvlogical.c:872 +#: pg_recvlogical.c:870 #, c-format msgid "no database specified" msgstr "δεν καθορίστηκε βάση δεδομένων" -#: pg_recvlogical.c:879 +#: pg_recvlogical.c:877 #, c-format msgid "at least one action needs to be specified" msgstr "πρέπει να οριστεί τουλάχιστον μία πράξη" -#: pg_recvlogical.c:886 +#: pg_recvlogical.c:884 #, c-format msgid "cannot use --create-slot or --start together with --drop-slot" msgstr "δεν είναι δυνατή η χρήση --create-slot ή --start σε συνδυασμό με --drop-slot" -#: pg_recvlogical.c:893 +#: pg_recvlogical.c:891 #, c-format msgid "cannot use --create-slot or --drop-slot together with --startpos" msgstr "δεν είναι δυνατή η χρήση --create-slot ή --start σε συνδυασμό με --startpos" -#: pg_recvlogical.c:900 +#: pg_recvlogical.c:898 #, c-format msgid "--endpos may only be specified with --start" msgstr "--endpos μπορεί να καθοριστεί μόνο με --start" -#: pg_recvlogical.c:907 +#: pg_recvlogical.c:905 #, c-format msgid "--two-phase may only be specified with --create-slot" msgstr "--two-phase μπορεί να καθοριστεί μόνο με --create-slot" -#: pg_recvlogical.c:939 +#: pg_recvlogical.c:938 #, c-format msgid "could not establish database-specific replication connection" msgstr "δεν ήταν δυνατή η δημιουργία σύνδεσης αναπαραγωγής συγκεκριμένης βάσης δεδομένων" -#: pg_recvlogical.c:1033 +#: pg_recvlogical.c:1032 #, c-format msgid "end position %X/%X reached by keepalive" msgstr "τελική θέση %X/%X που επιτεύχθηκε από keepalive" -#: pg_recvlogical.c:1036 +#: pg_recvlogical.c:1035 #, c-format msgid "end position %X/%X reached by WAL record at %X/%X" msgstr "τελική θέση %X/%X που επιτεύχθηκε από εγγραφή WAL στο %X/%X" -#: receivelog.c:68 +#: receivelog.c:66 #, c-format msgid "could not create archive status file \"%s\": %s" msgstr "δεν ήταν δυνατή η δημιουργία αρχείου κατάστασης αρχειοθήκης «%s»: %s" -#: receivelog.c:75 +#: receivelog.c:73 #, c-format msgid "could not close archive status file \"%s\": %s" msgstr "δεν ήταν δυνατό το κλείσιμο αρχείου κατάστασης αρχειοθήκης «%s»: %s" -#: receivelog.c:123 +#: receivelog.c:122 #, c-format msgid "could not get size of write-ahead log file \"%s\": %s" msgstr "δεν ήταν δυνατή η απόκτηση μεγέθους του υπάρχοντος αρχείου write-ahead log «%s»: %s" -#: receivelog.c:134 +#: receivelog.c:133 #, c-format msgid "could not open existing write-ahead log file \"%s\": %s" msgstr "δεν ήταν δυνατό το άνοιγμα του υπάρχοντος αρχείου write-ahead log «%s»: %s" -#: receivelog.c:143 +#: receivelog.c:142 #, c-format msgid "could not fsync existing write-ahead log file \"%s\": %s" msgstr "δεν ήταν δυνατό το fsync του υπάρχοντος αρχείου write-ahead log «%s»: %s" -#: receivelog.c:158 +#: receivelog.c:157 #, c-format msgid "write-ahead log file \"%s\" has %zd byte, should be 0 or %d" msgid_plural "write-ahead log file \"%s\" has %zd bytes, should be 0 or %d" msgstr[0] "το αρχείο write-ahead log «%s» έχει %zd byte, θα έπρεπε να είναι 0 ή %d" msgstr[1] "το αρχείο write-ahead log «%s» έχει %zd bytes, θα έπρεπε να είναι 0 ή %d" -#: receivelog.c:174 +#: receivelog.c:175 #, c-format msgid "could not open write-ahead log file \"%s\": %s" msgstr "δεν ήταν δυνατό το άνοιγμα του αρχείου write-ahead log «%s»: %s" -#: receivelog.c:208 -#, c-format -msgid "could not determine seek position in file \"%s\": %s" -msgstr "δεν ήταν δυνατός ο προσδιορισμός της θέσης αναζήτησης στο αρχείο «%s»: %s" - -#: receivelog.c:223 +#: receivelog.c:216 #, c-format msgid "not renaming \"%s\", segment is not complete" msgstr "δεν μετονομάζει «%s», το τμήμα δεν είναι πλήρες" -#: receivelog.c:234 receivelog.c:323 receivelog.c:694 +#: receivelog.c:227 receivelog.c:317 receivelog.c:688 #, c-format msgid "could not close file \"%s\": %s" msgstr "δεν ήταν δυνατό το κλείσιμο του αρχείου «%s»: %s" -#: receivelog.c:295 +#: receivelog.c:288 #, c-format msgid "server reported unexpected history file name for timeline %u: %s" msgstr "ο διακομιστής ανέφερε μη αναμενόμενο όνομα αρχείου ιστορικού για την χρονογραμμή %u: %s" -#: receivelog.c:303 +#: receivelog.c:297 #, c-format msgid "could not create timeline history file \"%s\": %s" msgstr "δεν ήταν δυνατή η δημιουργία αρχείου ιστορικού χρονογραμμής «%s»: %s" -#: receivelog.c:310 +#: receivelog.c:304 #, c-format msgid "could not write timeline history file \"%s\": %s" msgstr "δεν ήταν δυνατή η εγγραφή αρχείου ιστορικού χρονογραμμής «%s»: %s" -#: receivelog.c:400 +#: receivelog.c:394 #, c-format msgid "incompatible server version %s; client does not support streaming from server versions older than %s" msgstr "μη συμβατή έκδοση διακομιστή %s· Ο πελάτης δεν υποστηρίζει ροή από εκδόσεις διακομιστών παλαιότερες από %s" -#: receivelog.c:409 +#: receivelog.c:403 #, c-format msgid "incompatible server version %s; client does not support streaming from server versions newer than %s" msgstr "μη συμβατή έκδοση διακομιστή %s· Ο πελάτης δεν υποστηρίζει ροή από εκδόσεις διακομιστών νεότερες από %s" -#: receivelog.c:514 +#: receivelog.c:508 #, c-format msgid "system identifier does not match between base backup and streaming connection" msgstr "το αναγνωριστικό συστήματος δεν αντιστοιχεί μεταξύ βασικού αντιγράφου ασφαλείας και σύνδεσης ροής" -#: receivelog.c:522 +#: receivelog.c:516 #, c-format msgid "starting timeline %u is not present in the server" msgstr "η χρονογραμμή εκκίνησης %u δεν υπάρχει στο διακομιστή" -#: receivelog.c:561 +#: receivelog.c:555 #, c-format msgid "unexpected response to TIMELINE_HISTORY command: got %d rows and %d fields, expected %d rows and %d fields" msgstr "μη αναμενόμενη απόκριση στην εντολή TIMELINE_HISTORY: έλαβε %d σειρές και %d πεδία, ανέμενε %d σειρές και %d πεδία" -#: receivelog.c:632 +#: receivelog.c:626 #, c-format msgid "server reported unexpected next timeline %u, following timeline %u" msgstr "ο διακομιστής ανέφερε απροσδόκητη επόμενη χρονογραμμή %u, ακολουθώντας τη χρονογραμμή %u" -#: receivelog.c:638 +#: receivelog.c:632 #, c-format msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X" msgstr "ο διακομιστής σταμάτησε τη ροή χρονογραμμής %u στο %X/%X, αλλά ανέφερε ότι η επόμενη χρονογραμμή %u να ξεκινήσει από το %X/%X" -#: receivelog.c:678 +#: receivelog.c:672 #, c-format msgid "replication stream was terminated before stop point" msgstr "η ροή αναπαραγωγής τερματίστηκε πριν από το σημείο διακοπής" -#: receivelog.c:724 +#: receivelog.c:718 #, c-format msgid "unexpected result set after end-of-timeline: got %d rows and %d fields, expected %d rows and %d fields" msgstr "μη αναμενόμενο σύνολο αποτελεσμάτων μετά το τέλος της χρονογραμμής: έλαβε %d σειρές και %d πεδία, ανέμενε %d σειρές και %d πεδία" -#: receivelog.c:733 +#: receivelog.c:727 #, c-format msgid "could not parse next timeline's starting point \"%s\"" msgstr "δεν ήταν δυνατή η ανάλυση του σημείου εκκίνησης «%s» της επόμενης χρονογραμμής" -#: receivelog.c:781 receivelog.c:1030 walmethods.c:1205 +#: receivelog.c:775 receivelog.c:1022 walmethods.c:1201 #, c-format msgid "could not fsync file \"%s\": %s" msgstr "δεν ήταν δυνατή η εκτέλεση της εντολής fsync στο αρχείο «%s»: %s" -#: receivelog.c:1091 +#: receivelog.c:1083 #, c-format msgid "received write-ahead log record for offset %u with no file open" msgstr "έλαβε εγγραφή write-ahead log για μετατόπιση %u χωρίς ανοικτό αρχείου" -#: receivelog.c:1101 +#: receivelog.c:1093 #, c-format msgid "got WAL data offset %08x, expected %08x" msgstr "έλαβε μετατόπιση δεδομένων WAL %08x, ανέμενε %08x" -#: receivelog.c:1135 +#: receivelog.c:1128 #, c-format msgid "could not write %d bytes to WAL file \"%s\": %s" msgstr "δεν ήταν δυνατή η εγγραφή %d bytes στο αρχείο WAL «%s»: %s" -#: receivelog.c:1160 receivelog.c:1200 receivelog.c:1230 +#: receivelog.c:1153 receivelog.c:1193 receivelog.c:1222 #, c-format msgid "could not send copy-end packet: %s" msgstr "δεν ήταν δυνατή η αποστολή πακέτου copy-end: %s" -#: streamutil.c:159 +#: streamutil.c:158 msgid "Password: " msgstr "Κωδικός πρόσβασης: " -#: streamutil.c:182 +#: streamutil.c:181 #, c-format msgid "could not connect to server" msgstr "δεν ήταν δυνατή η σύνδεση με το διακομιστή" -#: streamutil.c:225 +#: streamutil.c:222 #, c-format msgid "could not clear search_path: %s" msgstr "δεν ήταν δυνατή η εκκαθάριση του search_path: %s" -#: streamutil.c:241 +#: streamutil.c:238 #, c-format msgid "could not determine server setting for integer_datetimes" msgstr "δεν ήταν δυνατός ο προσδιορισμός της ρύθμισης διακομιστή για integer_datetimes" -#: streamutil.c:248 +#: streamutil.c:245 #, c-format msgid "integer_datetimes compile flag does not match server" msgstr "η επισήμανση μεταγλώττισης integer_datetimes δεν συμφωνεί με το διακομιστή" -#: streamutil.c:299 +#: streamutil.c:296 #, c-format msgid "could not fetch WAL segment size: got %d rows and %d fields, expected %d rows and %d or more fields" msgstr "δεν ήταν δυνατή η λήψη μεγέθους τμήματος WAL: %d σειρές και %d πεδία, ανέμενε %d σειρές και %d ή περισσότερα πεδία" -#: streamutil.c:309 +#: streamutil.c:306 #, c-format msgid "WAL segment size could not be parsed" msgstr "δεν ήταν δυνατή η ανάλυση του μεγέθους του τμήματος WAL" -#: streamutil.c:327 +#: streamutil.c:324 #, c-format msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the remote server reported a value of %d byte" msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the remote server reported a value of %d bytes" msgstr[0] "το μέγεθος τμήματος WAL πρέπει να έχει τιμή δύναμη του δύο μεταξύ 1 MB και 1 GB, αλλά ο απομακρυσμένος διακομιστής ανέφερε τιμή %d byte" msgstr[1] "το μέγεθος τμήματος WAL πρέπει να έχει τιμή δύναμη του δύο μεταξύ 1 MB και 1 GB, αλλά ο απομακρυσμένος διακομιστής ανέφερε τιμή %d bytes" -#: streamutil.c:372 +#: streamutil.c:369 #, c-format msgid "could not fetch group access flag: got %d rows and %d fields, expected %d rows and %d or more fields" msgstr "δεν ήταν δυνατή η λήψη επισήμανσης πρόσβασης group: %d σειρές και %d πεδία, ανέμενε %d σειρές και %d ή περισσότερα πεδία" -#: streamutil.c:381 +#: streamutil.c:378 #, c-format msgid "group access flag could not be parsed: %s" msgstr "δεν ήταν δυνατή η ανάλυση της σημαίας πρόσβασης γκρουπ: %s" -#: streamutil.c:424 streamutil.c:461 +#: streamutil.c:421 streamutil.c:458 #, c-format msgid "could not identify system: got %d rows and %d fields, expected %d rows and %d or more fields" msgstr "δεν ήταν δυνατή η αναγνώριση του συστήματος: έλαβε %d σειρές και %d πεδία, ανέμενε %d σειρές και %d ή περισσότερα πεδία" -#: streamutil.c:513 +#: streamutil.c:510 #, c-format msgid "could not read replication slot \"%s\": got %d rows and %d fields, expected %d rows and %d fields" msgstr "δεν ήταν δυνατή η ανάγνωση της υποδοχής αναπαραγωγής «%s»: έλαβε %d σειρές και %d πεδία, ανέμενε %d σειρές και %d πεδία" -#: streamutil.c:525 +#: streamutil.c:522 #, c-format msgid "replication slot \"%s\" does not exist" msgstr "η υποδοχή αναπαραγωγής «%s» δεν υπάρχει" -#: streamutil.c:536 +#: streamutil.c:533 #, c-format msgid "expected a physical replication slot, got type \"%s\" instead" msgstr "αναμένεται μια φυσική υποδοχή αναπαραγωγής, πήρε τον τύπο «%s» αντ 'αυτού" -#: streamutil.c:550 +#: streamutil.c:547 #, c-format msgid "could not parse restart_lsn \"%s\" for replication slot \"%s\"" msgstr "δεν ήταν δυνατή η ανάλυση restart_lsn «%s» για την υποδοχή αναπαραγωγής «%s»" -#: streamutil.c:667 +#: streamutil.c:664 #, c-format msgid "could not create replication slot \"%s\": got %d rows and %d fields, expected %d rows and %d fields" msgstr "δεν ήταν δυνατή η δημιουργία της υποδοχής αναπαραγωγής «%s»: %d σειρές και %d πεδία, ανέμενε %d σειρές και %d πεδία" -#: streamutil.c:711 +#: streamutil.c:708 #, c-format msgid "could not drop replication slot \"%s\": got %d rows and %d fields, expected %d rows and %d fields" msgstr "δεν ήταν δυνατή η κατάργηση της υποδοχής αναπαραγωγής «%s»: έλαβε %d σειρές και %d πεδία, ανέμενε %d σειρές και %d πεδία" -#: walmethods.c:720 walmethods.c:1267 +#: walmethods.c:721 walmethods.c:1264 msgid "could not compress data" msgstr "δεν ήταν δυνατή η συμπίεση δεδομένων" -#: walmethods.c:749 +#: walmethods.c:750 msgid "could not reset compression stream" msgstr "δεν ήταν δυνατή η επαναφορά της ροής συμπίεσης" -#: walmethods.c:880 +#: walmethods.c:888 msgid "implementation error: tar files can't have more than one open file" msgstr "σφάλμα υλοποίησης: τα αρχεία tar δεν μπορούν να έχουν περισσότερα από ένα ανοιχτά αρχεία" -#: walmethods.c:894 +#: walmethods.c:903 msgid "could not create tar header" msgstr "δεν ήταν δυνατή η δημιουργία κεφαλίδας tar" -#: walmethods.c:910 walmethods.c:951 walmethods.c:1170 walmethods.c:1183 +#: walmethods.c:920 walmethods.c:961 walmethods.c:1166 walmethods.c:1179 msgid "could not change compression parameters" msgstr "δεν ήταν δυνατή η αλλαγή παραμέτρων συμπίεσης" -#: walmethods.c:1055 +#: walmethods.c:1052 msgid "unlink not supported with compression" msgstr "το unlink δεν υποστηρίζεται με συμπίεση" -#: walmethods.c:1291 +#: walmethods.c:1288 msgid "could not close compression stream" msgstr "δεν ήταν δυνατό το κλείσιμο της ροής συμπίεσης" @@ -1814,6 +1806,9 @@ msgstr "δεν ήταν δυνατό το κλείσιμο της ροής συ #~ msgid " -Z, --compress=0-9 compress tar output with given compression level\n" #~ msgstr " -Z, --compress=0-9 συμπίεσε την έξοδο tar με το ορισμένο επίπεδο συμπίεσης\n" +#~ msgid "could not determine seek position in file \"%s\": %s" +#~ msgstr "δεν ήταν δυνατός ο προσδιορισμός της θέσης αναζήτησης στο αρχείο «%s»: %s" + #~ msgid "could not get write-ahead log end position from server: %s" #~ msgstr "δεν ήταν δυνατή η απόκτηση τελικής θέσης write-ahead log από τον διακομιστή: %s" @@ -1835,5 +1830,17 @@ msgstr "δεν ήταν δυνατό το κλείσιμο της ροής συ #~ msgid "invalid tar block header size: %zu" #~ msgstr "μη έγκυρο μέγεθος κεφαλίδας μπλοκ tar: %zu" +#~ msgid "symlinks are not supported on this platform" +#~ msgstr "συμβολικοί σύνδεσμοι δεν υποστηρίζονται στην παρούσα πλατφόρμα" + +#~ msgid "this build does not support gzip compression" +#~ msgstr "η παρούσα κατασκευή δεν υποστηρίζει συμπίεση gzip" + +#~ msgid "this build does not support lz4 compression" +#~ msgstr "η παρούσα κατασκευή δεν υποστηρίζει συμπίεση lz4" + +#~ msgid "this build does not support zstd compression" +#~ msgstr "η παρούσα κατασκευή δεν υποστηρίζει συμπίεση zstd" + #~ msgid "unrecognized link indicator \"%c\"" #~ msgstr "μη αναγνωρίσιμος δείκτης σύνδεσης «%c»" diff --git a/src/bin/pg_basebackup/po/ko.po b/src/bin/pg_basebackup/po/ko.po index bbd19de7431..a6c688e1d07 100644 --- a/src/bin/pg_basebackup/po/ko.po +++ b/src/bin/pg_basebackup/po/ko.po @@ -5,10 +5,10 @@ # msgid "" msgstr "" -"Project-Id-Version: pg_basebackup (PostgreSQL) 13\n" +"Project-Id-Version: pg_basebackup (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2020-10-05 01:15+0000\n" -"PO-Revision-Date: 2020-10-06 11:02+0900\n" +"POT-Creation-Date: 2023-09-07 05:49+0000\n" +"PO-Revision-Date: 2023-05-26 13:20+0900\n" "Last-Translator: Ioseph Kim \n" "Language-Team: Korean \n" "Language: ko\n" @@ -17,167 +17,383 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../../../src/common/logging.c:236 -#, c-format -msgid "fatal: " -msgstr "심각: " - -#: ../../../src/common/logging.c:243 +#: ../../../src/common/logging.c:276 #, c-format msgid "error: " msgstr "오류: " -#: ../../../src/common/logging.c:250 +#: ../../../src/common/logging.c:283 #, c-format msgid "warning: " msgstr "경고: " +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "상세정보: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "힌트: " + +#: ../../common/compression.c:132 ../../common/compression.c:141 +#: ../../common/compression.c:150 bbstreamer_gzip.c:116 bbstreamer_gzip.c:249 +#: bbstreamer_lz4.c:100 bbstreamer_lz4.c:298 bbstreamer_zstd.c:129 +#: bbstreamer_zstd.c:284 +#, c-format +msgid "this build does not support compression with %s" +msgstr "이 버전은 %s 압축 기능을 포함 하지 않고 빌드 되었습니다." + +#: ../../common/compression.c:205 +msgid "found empty string where a compression option was expected" +msgstr "압축 옵션을 지정하는 자리에 빈 문자열이 있습니다." + +#: ../../common/compression.c:244 +#, c-format +msgid "unrecognized compression option: \"%s\"" +msgstr "인식할 수 없는 압축 옵션: \"%s\"" + +#: ../../common/compression.c:283 +#, c-format +msgid "compression option \"%s\" requires a value" +msgstr "\"%s\" 압축 옵션에는 그 지정값이 필요합니다." + +#: ../../common/compression.c:292 +#, c-format +msgid "value for compression option \"%s\" must be an integer" +msgstr "\"%s\" 압축 옵션 값은 정수여야 합니다." + +#: ../../common/compression.c:331 +#, c-format +msgid "value for compression option \"%s\" must be a Boolean value" +msgstr "\"%s\" 압축 옵션 값은 부울린형여야 합니다." + +#: ../../common/compression.c:379 +#, c-format +msgid "compression algorithm \"%s\" does not accept a compression level" +msgstr "\"%s\" 압축 알고리즘은 압축 수준을 지정할 수 없습니다." + +#: ../../common/compression.c:386 +#, c-format +msgid "" +"compression algorithm \"%s\" expects a compression level between %d and %d " +"(default at %d)" +msgstr "" +"\"%s\" 압축 알고리즘은 압축 수준값으로 %d에서 %d까지만 허용함 (기본값 %d)" + +#: ../../common/compression.c:397 +#, c-format +msgid "compression algorithm \"%s\" does not accept a worker count" +msgstr "\"%s\" 압축 알고리즘은 병렬 작업 수를 지정할 수 없습니다." + +#: ../../common/compression.c:408 +#, c-format +msgid "compression algorithm \"%s\" does not support long-distance mode" +msgstr "\"%s\" 압축 알고리즘은 원거리 모드를 지원하지 않습니다." + #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 -#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format msgid "out of memory\n" msgstr "메모리 부족\n" -#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 #, c-format msgid "cannot duplicate null pointer (internal error)\n" msgstr "null 포인터를 복제할 수 없음(내부 오류)\n" -#: ../../common/file_utils.c:79 ../../common/file_utils.c:181 -#: pg_receivewal.c:266 pg_recvlogical.c:340 +#: ../../common/file_utils.c:87 ../../common/file_utils.c:447 +#: pg_receivewal.c:319 pg_recvlogical.c:339 #, c-format msgid "could not stat file \"%s\": %m" msgstr "\"%s\" 파일의 상태값을 알 수 없음: %m" -#: ../../common/file_utils.c:158 pg_receivewal.c:169 +#: ../../common/file_utils.c:162 pg_receivewal.c:242 #, c-format msgid "could not open directory \"%s\": %m" msgstr "\"%s\" 디렉터리 열 수 없음: %m" -#: ../../common/file_utils.c:192 pg_receivewal.c:337 +#: ../../common/file_utils.c:196 pg_receivewal.c:471 #, c-format msgid "could not read directory \"%s\": %m" msgstr "\"%s\" 디렉터리를 읽을 수 없음: %m" -#: ../../common/file_utils.c:224 ../../common/file_utils.c:283 -#: ../../common/file_utils.c:357 ../../fe_utils/recovery_gen.c:134 +#: ../../common/file_utils.c:228 ../../common/file_utils.c:287 +#: ../../common/file_utils.c:361 ../../fe_utils/recovery_gen.c:121 +#: pg_receivewal.c:386 #, c-format msgid "could not open file \"%s\": %m" msgstr "\"%s\" 파일을 열 수 없음: %m" -#: ../../common/file_utils.c:295 ../../common/file_utils.c:365 -#: pg_recvlogical.c:193 +#: ../../common/file_utils.c:299 ../../common/file_utils.c:369 +#: pg_recvlogical.c:194 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "\"%s\" 파일 fsync 실패: %m" -#: ../../common/file_utils.c:375 +#: ../../common/file_utils.c:379 pg_basebackup.c:2238 walmethods.c:462 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "\"%s\" 파일을 \"%s\" 파일로 이름을 바꿀 수 없음: %m" -#: ../../fe_utils/recovery_gen.c:35 ../../fe_utils/recovery_gen.c:49 -#: ../../fe_utils/recovery_gen.c:77 ../../fe_utils/recovery_gen.c:100 -#: ../../fe_utils/recovery_gen.c:171 pg_basebackup.c:1248 +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "\"%s\" 값은 \"%s\" 옵션값으로 유효하지 않음" + +#: ../../fe_utils/option_utils.c:76 +#, c-format +msgid "%s must be in range %d..%d" +msgstr "%s 값은 %d부터 %d까지 지정할 수 있습니다." + +#: ../../fe_utils/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:1610 #, c-format msgid "out of memory" msgstr "메모리 부족" -#: ../../fe_utils/recovery_gen.c:140 pg_basebackup.c:1021 pg_basebackup.c:1714 -#: pg_basebackup.c:1770 +#: ../../fe_utils/recovery_gen.c:124 bbstreamer_file.c:121 +#: bbstreamer_file.c:258 pg_basebackup.c:1407 pg_basebackup.c:1701 #, c-format msgid "could not write to file \"%s\": %m" msgstr "\"%s\" 파일 쓰기 실패: %m" -#: ../../fe_utils/recovery_gen.c:152 pg_basebackup.c:1166 pg_basebackup.c:1671 -#: pg_basebackup.c:1747 +#: ../../fe_utils/recovery_gen.c:133 bbstreamer_file.c:93 bbstreamer_file.c:360 +#: pg_basebackup.c:1471 pg_basebackup.c:1680 #, c-format msgid "could not create file \"%s\": %m" msgstr "\"%s\" 파일을 만들 수 없음: %m" -#: pg_basebackup.c:224 +#: bbstreamer_file.c:138 pg_recvlogical.c:633 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "\"%s\" 파일을 닫을 수 없음: %m" + +#: bbstreamer_file.c:275 +#, c-format +msgid "unexpected state while extracting archive" +msgstr "아카이브 추출 중 예상치 못한 상태값 발견" + +#: bbstreamer_file.c:320 pg_basebackup.c:687 pg_basebackup.c:731 +#, c-format +msgid "could not create directory \"%s\": %m" +msgstr "\"%s\" 디렉터리를 만들 수 없음: %m" + +#: bbstreamer_file.c:325 +#, c-format +msgid "could not set permissions on directory \"%s\": %m" +msgstr "\"%s\" 디렉터리 액세스 권한을 지정할 수 없음: %m" + +#: bbstreamer_file.c:344 +#, c-format +msgid "could not create symbolic link from \"%s\" to \"%s\": %m" +msgstr "\"%s\" 파일을 \"%s\" 심볼릭 링크로 만들 수 없음: %m" + +#: bbstreamer_file.c:364 +#, c-format +msgid "could not set permissions on file \"%s\": %m" +msgstr "파일 \"%s\" 의 접근권한을 지정할 수 없음: %m" + +#: bbstreamer_gzip.c:95 +#, c-format +msgid "could not create compressed file \"%s\": %m" +msgstr "\"%s\" 압축 파일 만들기 실패: %m" + +#: bbstreamer_gzip.c:103 +#, c-format +msgid "could not duplicate stdout: %m" +msgstr "stdout을 중복할 수 없음: %m" + +#: bbstreamer_gzip.c:107 +#, c-format +msgid "could not open output file: %m" +msgstr "출력파일을 열 수 없음: %m" + +#: bbstreamer_gzip.c:111 +#, c-format +msgid "could not set compression level %d: %s" +msgstr "잘못된 압축 수위 %d: %s" + +#: bbstreamer_gzip.c:143 +#, c-format +msgid "could not write to compressed file \"%s\": %s" +msgstr "\"%s\" 압축 파일 쓰기 실패: %s" + +#: bbstreamer_gzip.c:167 +#, c-format +msgid "could not close compressed file \"%s\": %m" +msgstr "\"%s\" 압축 파일 닫기 실패: %m" + +#: bbstreamer_gzip.c:245 walmethods.c:876 +#, c-format +msgid "could not initialize compression library" +msgstr "압축 라이브러리를 초기화할 수 없음" + +#: bbstreamer_gzip.c:296 bbstreamer_lz4.c:354 bbstreamer_zstd.c:329 +#, c-format +msgid "could not decompress data: %s" +msgstr "압축 풀기 실패: %s" + +#: bbstreamer_inject.c:189 +#, c-format +msgid "unexpected state while injecting recovery settings" +msgstr "복원 관련 설정을 추가 하는 도중 예상치 못한 상태 발견" + +#: bbstreamer_lz4.c:95 +#, c-format +msgid "could not create lz4 compression context: %s" +msgstr "lz4 압축 컨텍스트 정보를 생성할 수 없습니다: %s" + +#: bbstreamer_lz4.c:140 +#, c-format +msgid "could not write lz4 header: %s" +msgstr "lz4 헤더를 쓸 수 없음: %s" + +#: bbstreamer_lz4.c:189 bbstreamer_zstd.c:181 bbstreamer_zstd.c:223 +#, c-format +msgid "could not compress data: %s" +msgstr "자료를 압축할 수 없음: %s" + +#: bbstreamer_lz4.c:241 +#, c-format +msgid "could not end lz4 compression: %s" +msgstr "lz4 압축을 끝낼 수 없음: %s" + +#: bbstreamer_lz4.c:293 +#, c-format +msgid "could not initialize compression library: %s" +msgstr "압축 라이브러리를 초기화 할 수 없음: %s" + +#: bbstreamer_tar.c:244 +#, c-format +msgid "tar file trailer exceeds 2 blocks" +msgstr "tar 파일 끝부분에서 2 블록이 초과됨" + +#: bbstreamer_tar.c:249 +#, c-format +msgid "unexpected state while parsing tar archive" +msgstr "tar 아카이브 분석 중 예상치 못한 상태 발견" + +#: bbstreamer_tar.c:296 +#, c-format +msgid "tar member has empty name" +msgstr "tar 맴버에 이름이 없음" + +#: bbstreamer_tar.c:328 +#, c-format +msgid "COPY stream ended before last file was finished" +msgstr "마지막 파일을 끝내기 전에 COPY 스트림이 끝났음" + +#: bbstreamer_zstd.c:85 +#, c-format +msgid "could not create zstd compression context" +msgstr "zstd 압축 컨텍스트를 만들 수 없음" + +#: bbstreamer_zstd.c:91 +#, c-format +msgid "could not set zstd compression level to %d: %s" +msgstr "zstd 압축 수준을 %d 값으로 지정할 수 없음: %s" + +#: bbstreamer_zstd.c:105 +#, c-format +msgid "could not set compression worker count to %d: %s" +msgstr "압축용 병렬 작업자 수를 %d 값으로 지정할 수 없음: %s" + +#: bbstreamer_zstd.c:116 +#, c-format +msgid "could not enable long-distance mode: %s" +msgstr "원거리 모드를 활성화 할 수 없음: %s" + +#: bbstreamer_zstd.c:275 +#, c-format +msgid "could not create zstd decompression context" +msgstr "zstd 압축 컨텍스트를 만들 수 없음" + +#: pg_basebackup.c:238 #, c-format msgid "removing data directory \"%s\"" msgstr "\"%s\" 디렉터리를 지우는 중" -#: pg_basebackup.c:226 +#: pg_basebackup.c:240 #, c-format msgid "failed to remove data directory" msgstr "데이터 디렉터리 삭제 실패" -#: pg_basebackup.c:230 +#: pg_basebackup.c:244 #, c-format msgid "removing contents of data directory \"%s\"" msgstr "\"%s\" 데이터 디렉터리의 내용을 지우는 중" -#: pg_basebackup.c:232 +#: pg_basebackup.c:246 #, c-format msgid "failed to remove contents of data directory" msgstr "데이터 디렉터리의 내용을 지울 수 없음" -#: pg_basebackup.c:237 +#: pg_basebackup.c:251 #, c-format msgid "removing WAL directory \"%s\"" msgstr "\"%s\" WAL 디렉터리를 지우는 중" -#: pg_basebackup.c:239 +#: pg_basebackup.c:253 #, c-format msgid "failed to remove WAL directory" msgstr "WAL 디렉터리 삭제 실패" -#: pg_basebackup.c:243 +#: pg_basebackup.c:257 #, c-format msgid "removing contents of WAL directory \"%s\"" msgstr "\"%s\" WAL 디렉터리 내용을 지우는 중" -#: pg_basebackup.c:245 +#: pg_basebackup.c:259 #, c-format msgid "failed to remove contents of WAL directory" msgstr "WAL 디렉터리의 내용을 지울 수 없음" -#: pg_basebackup.c:251 +#: pg_basebackup.c:265 #, c-format msgid "data directory \"%s\" not removed at user's request" msgstr "사용자 요청으로 \"%s\" 데이터 디렉터리를 지우지 않았음" -#: pg_basebackup.c:254 +#: pg_basebackup.c:268 #, c-format msgid "WAL directory \"%s\" not removed at user's request" msgstr "사용자 요청으로 \"%s\" WAL 디렉터리를 지우지 않았음" -#: pg_basebackup.c:258 +#: pg_basebackup.c:272 #, c-format msgid "changes to tablespace directories will not be undone" msgstr "아직 마무리 되지 않은 테이블스페이스 디렉터리 변경함" -#: pg_basebackup.c:299 +#: pg_basebackup.c:324 #, c-format msgid "directory name too long" msgstr "디렉터리 이름이 너무 김" -#: pg_basebackup.c:309 +#: pg_basebackup.c:331 #, c-format msgid "multiple \"=\" signs in tablespace mapping" msgstr "테이블스페이스 맵핑 하는 곳에서 \"=\" 문자가 중복 되어 있음" -#: pg_basebackup.c:321 +#: pg_basebackup.c:340 #, c-format msgid "invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\"" msgstr "" "\"%s\" 형식의 테이블스페이스 맵핑이 잘못 되었음, \"OLDDIR=NEWDIR\" 형식이어" "야 함" -#: pg_basebackup.c:333 +#: pg_basebackup.c:359 #, c-format msgid "old directory is not an absolute path in tablespace mapping: %s" msgstr "테이블스페이스 맵핑용 옛 디렉터리가 절대 경로가 아님: %s" -#: pg_basebackup.c:340 +#: pg_basebackup.c:363 #, c-format msgid "new directory is not an absolute path in tablespace mapping: %s" msgstr "테이블스페이스 맵핑용 새 디렉터리가 절대 경로가 아님: %s" -#: pg_basebackup.c:379 +#: pg_basebackup.c:385 #, c-format msgid "" "%s takes a base backup of a running PostgreSQL server.\n" @@ -187,17 +403,17 @@ msgstr "" "다.\n" "\n" -#: pg_basebackup.c:381 pg_receivewal.c:79 pg_recvlogical.c:75 +#: pg_basebackup.c:387 pg_receivewal.c:79 pg_recvlogical.c:76 #, c-format msgid "Usage:\n" msgstr "사용법:\n" -#: pg_basebackup.c:382 pg_receivewal.c:80 pg_recvlogical.c:76 +#: pg_basebackup.c:388 pg_receivewal.c:80 pg_recvlogical.c:77 #, c-format msgid " %s [OPTION]...\n" msgstr " %s [옵션]...\n" -#: pg_basebackup.c:383 +#: pg_basebackup.c:389 #, c-format msgid "" "\n" @@ -206,17 +422,17 @@ msgstr "" "\n" "출력물을 제어야하는 옵션들:\n" -#: pg_basebackup.c:384 +#: pg_basebackup.c:390 #, c-format msgid " -D, --pgdata=DIRECTORY receive base backup into directory\n" msgstr " -D, --pgdata=디렉터리 베이스 백업 결과물이 저장될 디렉터리\n" -#: pg_basebackup.c:385 +#: pg_basebackup.c:391 #, c-format msgid " -F, --format=p|t output format (plain (default), tar)\n" msgstr " -F, --format=p|t 출력 형식 (plain (초기값), tar)\n" -#: pg_basebackup.c:386 +#: pg_basebackup.c:392 #, c-format msgid "" " -r, --max-rate=RATE maximum transfer rate to transfer data directory\n" @@ -226,7 +442,7 @@ msgstr "" " (단위는 kB/s, 또는 숫자 뒤에 \"k\" 또는 \"M\" 단위 " "문자 지정 가능)\n" -#: pg_basebackup.c:388 +#: pg_basebackup.c:394 #, c-format msgid "" " -R, --write-recovery-conf\n" @@ -235,7 +451,16 @@ msgstr "" " -R, --write-recovery-conf\n" " 복제를 위한 환경 설정 함\n" -#: pg_basebackup.c:390 +#: pg_basebackup.c:396 +#, c-format +msgid "" +" -t, --target=TARGET[:DETAIL]\n" +" backup target (if other than client)\n" +msgstr "" +" -t, --target=TARGET[:DETAIL]\n" +" 백업 타겟 지정 (이곳 또는 다른 곳)\n" + +#: pg_basebackup.c:398 #, c-format msgid "" " -T, --tablespace-mapping=OLDDIR=NEWDIR\n" @@ -244,12 +469,12 @@ msgstr "" " -T, --tablespace-mapping=옛DIR=새DIR\n" " 테이블스페이스 디렉터리 새 맵핑\n" -#: pg_basebackup.c:392 +#: pg_basebackup.c:400 #, c-format msgid " --waldir=WALDIR location for the write-ahead log directory\n" msgstr " --waldir=WALDIR 트랜잭션 로그 디렉터리 지정\n" -#: pg_basebackup.c:393 +#: pg_basebackup.c:401 #, c-format msgid "" " -X, --wal-method=none|fetch|stream\n" @@ -258,18 +483,26 @@ msgstr "" " -X, --wal-method=none|fetch|stream\n" " 필요한 WAL 파일을 백업하는 방법\n" -#: pg_basebackup.c:395 +#: pg_basebackup.c:403 #, c-format msgid " -z, --gzip compress tar output\n" msgstr " -z, --gzip tar 출력물을 압축\n" -#: pg_basebackup.c:396 +#: pg_basebackup.c:404 #, c-format msgid "" -" -Z, --compress=0-9 compress tar output with given compression level\n" -msgstr " -Z, --compress=0-9 압축된 tar 파일의 압축 수위 지정\n" +" -Z, --compress=[{client|server}-]METHOD[:DETAIL]\n" +" compress on client or server as specified\n" +msgstr "" +" -Z, --compress=[{client|server}-]METHOD[:DETAIL]\n" +" 압축 관련 설정\n" + +#: pg_basebackup.c:406 +#, c-format +msgid " -Z, --compress=none do not compress tar output\n" +msgstr " -Z, --compress=none tar 출력에서 압축 안함\n" -#: pg_basebackup.c:397 +#: pg_basebackup.c:407 #, c-format msgid "" "\n" @@ -278,7 +511,7 @@ msgstr "" "\n" "일반 옵션들:\n" -#: pg_basebackup.c:398 +#: pg_basebackup.c:408 #, c-format msgid "" " -c, --checkpoint=fast|spread\n" @@ -287,49 +520,49 @@ msgstr "" " -c, --checkpoint=fast|spread\n" " 체크포인트 방법\n" -#: pg_basebackup.c:400 +#: pg_basebackup.c:410 #, c-format msgid " -C, --create-slot create replication slot\n" msgstr " -C, --create-slot 새 복제 슬롯을 만듬\n" -#: pg_basebackup.c:401 +#: pg_basebackup.c:411 #, c-format msgid " -l, --label=LABEL set backup label\n" msgstr " -l, --label=라벨 백업 라벨 지정\n" -#: pg_basebackup.c:402 +#: pg_basebackup.c:412 #, c-format msgid " -n, --no-clean do not clean up after errors\n" msgstr " -n, --no-clean 오류 발생 시 정리하지 않음\n" -#: pg_basebackup.c:403 +#: pg_basebackup.c:413 #, c-format msgid "" " -N, --no-sync do not wait for changes to be written safely to " "disk\n" msgstr " -N, --no-sync 디스크 쓰기 뒤 sync 작업 생략\n" -#: pg_basebackup.c:404 +#: pg_basebackup.c:414 #, c-format msgid " -P, --progress show progress information\n" msgstr " -P, --progress 진행 과정 보여줌\n" -#: pg_basebackup.c:405 pg_receivewal.c:89 +#: pg_basebackup.c:415 pg_receivewal.c:89 #, c-format msgid " -S, --slot=SLOTNAME replication slot to use\n" msgstr " -S, --slot=슬롯이름 지정한 복제 슬롯을 사용함\n" -#: pg_basebackup.c:406 pg_receivewal.c:91 pg_recvlogical.c:96 +#: pg_basebackup.c:416 pg_receivewal.c:91 pg_recvlogical.c:98 #, c-format msgid " -v, --verbose output verbose messages\n" msgstr " -v, --verbose 자세한 작업 메시지 보여줌\n" -#: pg_basebackup.c:407 pg_receivewal.c:92 pg_recvlogical.c:97 +#: pg_basebackup.c:417 pg_receivewal.c:92 pg_recvlogical.c:99 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version 버전 정보 보여주고 마침\n" -#: pg_basebackup.c:408 +#: pg_basebackup.c:418 #, c-format msgid "" " --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" @@ -338,7 +571,7 @@ msgstr "" " --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" " 사용할 manifest 체크섬 알고리즘\n" -#: pg_basebackup.c:410 +#: pg_basebackup.c:420 #, c-format msgid "" " --manifest-force-encode\n" @@ -347,23 +580,23 @@ msgstr "" " --manifest-force-encode\n" " manifest 내 모든 파일 이름을 16진수 인코딩함\n" -#: pg_basebackup.c:412 +#: pg_basebackup.c:422 #, c-format msgid " --no-estimate-size do not estimate backup size in server side\n" msgstr " --no-estimate-size 서버측 백업 크기를 예상하지 않음\n" -#: pg_basebackup.c:413 +#: pg_basebackup.c:423 #, c-format msgid " --no-manifest suppress generation of backup manifest\n" msgstr " --no-manifest 백업 매니페스트 만들지 않음\n" -#: pg_basebackup.c:414 +#: pg_basebackup.c:424 #, c-format msgid "" " --no-slot prevent creation of temporary replication slot\n" msgstr " --no-slot 임시 복제 슬롯 만들지 않음\n" -#: pg_basebackup.c:415 +#: pg_basebackup.c:425 #, c-format msgid "" " --no-verify-checksums\n" @@ -372,12 +605,12 @@ msgstr "" " --no-verify-checksums\n" " 체크섬 검사 안함\n" -#: pg_basebackup.c:417 pg_receivewal.c:94 pg_recvlogical.c:98 +#: pg_basebackup.c:427 pg_receivewal.c:95 pg_recvlogical.c:100 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help 이 도움말을 보여주고 마침\n" -#: pg_basebackup.c:418 pg_receivewal.c:95 pg_recvlogical.c:99 +#: pg_basebackup.c:428 pg_receivewal.c:96 pg_recvlogical.c:101 #, c-format msgid "" "\n" @@ -386,22 +619,22 @@ msgstr "" "\n" "연결 옵션들:\n" -#: pg_basebackup.c:419 pg_receivewal.c:96 +#: pg_basebackup.c:429 pg_receivewal.c:97 #, c-format msgid " -d, --dbname=CONNSTR connection string\n" msgstr " -d, --dbname=접속문자열 서버 접속 문자열\n" -#: pg_basebackup.c:420 pg_receivewal.c:97 pg_recvlogical.c:101 +#: pg_basebackup.c:430 pg_receivewal.c:98 pg_recvlogical.c:103 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=호스트이름 접속할 데이터베이스 서버나 소켓 디렉터리\n" -#: pg_basebackup.c:421 pg_receivewal.c:98 pg_recvlogical.c:102 +#: pg_basebackup.c:431 pg_receivewal.c:99 pg_recvlogical.c:104 #, c-format msgid " -p, --port=PORT database server port number\n" msgstr " -p, --port=포트 데이터베이스 서버 포트 번호\n" -#: pg_basebackup.c:422 +#: pg_basebackup.c:432 #, c-format msgid "" " -s, --status-interval=INTERVAL\n" @@ -411,17 +644,17 @@ msgstr "" " -s, --status-interval=초\n" " 초 단위 매번 서버로 상태 패킷을 보냄\n" -#: pg_basebackup.c:424 pg_receivewal.c:99 pg_recvlogical.c:103 +#: pg_basebackup.c:434 pg_receivewal.c:100 pg_recvlogical.c:105 #, c-format msgid " -U, --username=NAME connect as specified database user\n" msgstr " -U, --username=사용자 접속할 특정 데이터베이스 사용자\n" -#: pg_basebackup.c:425 pg_receivewal.c:100 pg_recvlogical.c:104 +#: pg_basebackup.c:435 pg_receivewal.c:101 pg_recvlogical.c:106 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password 비밀번호 물어 보지 않음\n" -#: pg_basebackup.c:426 pg_receivewal.c:101 pg_recvlogical.c:105 +#: pg_basebackup.c:436 pg_receivewal.c:102 pg_recvlogical.c:107 #, c-format msgid "" " -W, --password force password prompt (should happen " @@ -429,7 +662,7 @@ msgid "" msgstr "" " -W, --password 항상 비밀번호 프롬프트 보임 (자동으로 판단 함)\n" -#: pg_basebackup.c:427 pg_receivewal.c:105 pg_recvlogical.c:106 +#: pg_basebackup.c:437 pg_receivewal.c:106 pg_recvlogical.c:108 #, c-format msgid "" "\n" @@ -438,96 +671,91 @@ msgstr "" "\n" "문제점 보고 주소: <%s>\n" -#: pg_basebackup.c:428 pg_receivewal.c:106 pg_recvlogical.c:107 +#: pg_basebackup.c:438 pg_receivewal.c:107 pg_recvlogical.c:109 #, c-format msgid "%s home page: <%s>\n" msgstr "%s 홈페이지: <%s>\n" -#: pg_basebackup.c:471 +#: pg_basebackup.c:477 #, c-format msgid "could not read from ready pipe: %m" msgstr "준비된 파이프로부터 읽기 실패: %m" -#: pg_basebackup.c:477 pg_basebackup.c:608 pg_basebackup.c:2133 -#: streamutil.c:450 +#: 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\"" msgstr "트랜잭션 로그 위치 \"%s\" 분석 실패" -#: pg_basebackup.c:573 pg_receivewal.c:441 +#: pg_basebackup.c:585 pg_receivewal.c:600 #, c-format msgid "could not finish writing WAL files: %m" msgstr "WAL 파일 쓰기 마무리 실패: %m" -#: pg_basebackup.c:620 +#: pg_basebackup.c:631 #, c-format msgid "could not create pipe for background process: %m" msgstr "백그라운드 프로세스를 위한 파이프 만들기 실패: %m" -#: pg_basebackup.c:655 +#: pg_basebackup.c:665 #, c-format msgid "created temporary replication slot \"%s\"" -msgstr "\"%s\" 임시 복제 슬롯을 만들 수 없음" +msgstr "\"%s\" 임시 복제 슬롯을 만듦" -#: pg_basebackup.c:658 +#: pg_basebackup.c:668 #, c-format msgid "created replication slot \"%s\"" msgstr "\"%s\" 이름의 복제 슬롯을 만듦" -#: pg_basebackup.c:678 pg_basebackup.c:731 pg_basebackup.c:1620 -#, c-format -msgid "could not create directory \"%s\": %m" -msgstr "\"%s\" 디렉터리를 만들 수 없음: %m" - -#: pg_basebackup.c:696 +#: pg_basebackup.c:702 #, c-format msgid "could not create background process: %m" msgstr "백그라운드 프로세스 만들기 실패: %m" -#: pg_basebackup.c:708 +#: pg_basebackup.c:711 #, c-format msgid "could not create background thread: %m" msgstr "백그라운드 스래드 만들기 실패: %m" -#: pg_basebackup.c:752 +#: pg_basebackup.c:750 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "\"%s\" 디렉터리가 있지만 비어 있지 않음" -#: pg_basebackup.c:759 +#: pg_basebackup.c:756 #, c-format msgid "could not access directory \"%s\": %m" msgstr "\"%s\" 디렉터리를 액세스할 수 없습니다: %m" -#: pg_basebackup.c:824 +#: 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 테이블스페이스 %*s" -#: pg_basebackup.c:836 +#: 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 테이블스페이스 (%s%-*.*s)" -#: pg_basebackup.c:852 +#: 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 테이블스페이스" -#: pg_basebackup.c:877 +#: pg_basebackup.c:884 #, c-format msgid "transfer rate \"%s\" is not a valid value" msgstr "\"%s\" 전송 속도는 잘못된 값임" -#: pg_basebackup.c:882 +#: pg_basebackup.c:886 #, c-format msgid "invalid transfer rate \"%s\": %m" msgstr "잘못된 전송 속도 \"%s\": %m" -#: pg_basebackup.c:891 +#: pg_basebackup.c:893 #, c-format msgid "transfer rate must be greater than zero" msgstr "전송 속도는 0보다 커야 함" @@ -537,122 +765,147 @@ msgstr "전송 속도는 0보다 커야 함" msgid "invalid --max-rate unit: \"%s\"" msgstr "잘못된 --max-rate 단위: \"%s\"" -#: pg_basebackup.c:930 +#: pg_basebackup.c:927 #, c-format msgid "transfer rate \"%s\" exceeds integer range" msgstr "\"%s\" 전송 속도는 정수형 범위가 아님" -#: pg_basebackup.c:940 +#: pg_basebackup.c:934 #, c-format msgid "transfer rate \"%s\" is out of range" msgstr "\"%s\" 전송 속도는 범위 초과" -#: pg_basebackup.c:961 +#: pg_basebackup.c:996 #, c-format msgid "could not get COPY data stream: %s" msgstr "COPY 데이터 스트림을 사용할 수 없음: %s" -#: pg_basebackup.c:981 pg_recvlogical.c:435 pg_recvlogical.c:607 -#: receivelog.c:965 +#: 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 "COPY 자료를 읽을 수 없음: %s" -#: pg_basebackup.c:1007 +#: pg_basebackup.c:1017 #, c-format -msgid "could not write to compressed file \"%s\": %s" -msgstr "\"%s\" 압축 파일 쓰기 실패: %s" +msgid "background process terminated unexpectedly" +msgstr "백그라운드 프로세스가 예상치 않게 종료됨" -#: pg_basebackup.c:1071 +#: pg_basebackup.c:1088 #, c-format -msgid "could not duplicate stdout: %m" -msgstr "stdout을 중복할 수 없음: %m" +msgid "cannot inject manifest into a compressed tar file" +msgstr "압축된 tar 파일에는 manifest를 넣을 수 없습니다." -#: pg_basebackup.c:1078 +#: pg_basebackup.c:1089 #, c-format -msgid "could not open output file: %m" -msgstr "출력파일을 열 수 없음: %m" +msgid "" +"Use client-side compression, send the output to a directory rather than " +"standard output, or use %s." +msgstr "" +"결과물을 표준 출력으로 보내지 말고, 디렉터리로 보낸 뒤 클라이언트 측에서 압" +"축 하거나, %s 옵션을 사용하세요." -#: pg_basebackup.c:1085 pg_basebackup.c:1106 pg_basebackup.c:1135 +#: pg_basebackup.c:1105 #, c-format -msgid "could not set compression level %d: %s" -msgstr "잘못된 압축 수위 %d: %s" +msgid "cannot parse archive \"%s\"" +msgstr "\"%s\" 아카이브를 구문분석할 수 없음" -#: pg_basebackup.c:1155 +#: pg_basebackup.c:1106 #, c-format -msgid "could not create compressed file \"%s\": %s" -msgstr "\"%s\" 압축 파일 만들기 실패: %s" +msgid "Only tar archives can be parsed." +msgstr "tar 형식만 구문분석할 수 있음" -#: pg_basebackup.c:1267 +#: pg_basebackup.c:1108 #, c-format -msgid "could not close compressed file \"%s\": %s" -msgstr "\"%s\" 압축 파일 닫기 실패: %s" +msgid "Plain format requires pg_basebackup to parse the archive." +msgstr "아카이브를 분석하기 위해서는 일반 양식이어야 합니다." -#: pg_basebackup.c:1279 pg_recvlogical.c:632 +#: pg_basebackup.c:1110 #, c-format -msgid "could not close file \"%s\": %m" -msgstr "\"%s\" 파일을 닫을 수 없음: %m" +msgid "" +"Using - as the output directory requires pg_basebackup to parse the archive." +msgstr "아카이브를 분석하기 위해 출력 디렉터리 이름으로 - 문자를 사용하세요." -#: pg_basebackup.c:1541 +#: pg_basebackup.c:1112 #, c-format -msgid "COPY stream ended before last file was finished" -msgstr "마지막 파일을 끝내기 전에 COPY 스트림이 끝났음" +msgid "The -R option requires pg_basebackup to parse the archive." +msgstr "아카이브를 분석하기 위해 -R 옵션을 사용하세요." -#: pg_basebackup.c:1570 +#: pg_basebackup.c:1331 #, c-format -msgid "invalid tar block header size: %zu" -msgstr "잘못된 tar 블럭 헤더 크기: %zu" +msgid "archives must precede manifest" +msgstr "아카이브 작업은 매니페스트보다 앞서야합니다" -#: pg_basebackup.c:1627 +#: pg_basebackup.c:1346 #, c-format -msgid "could not set permissions on directory \"%s\": %m" -msgstr "\"%s\" 디렉터리 액세스 권한을 지정할 수 없음: %m" +msgid "invalid archive name: \"%s\"" +msgstr "잘못된 아카이브 이름: \"%s\"" -#: pg_basebackup.c:1651 +#: pg_basebackup.c:1418 #, c-format -msgid "could not create symbolic link from \"%s\" to \"%s\": %m" -msgstr "\"%s\" 파일을 \"%s\" 심볼릭 링크로 만들 수 없음: %m" +msgid "unexpected payload data" +msgstr "비정상 payload 자료" -#: pg_basebackup.c:1658 +#: pg_basebackup.c:1561 #, c-format -msgid "unrecognized link indicator \"%c\"" -msgstr "알 수 없는 링크 지시자 \"%c\"" +msgid "empty COPY message" +msgstr "빈 COPY 메시지" -#: pg_basebackup.c:1677 +#: pg_basebackup.c:1563 #, c-format -msgid "could not set permissions on file \"%s\": %m" -msgstr "파일 \"%s\" 의 접근권한을 지정할 수 없음: %m" +msgid "malformed COPY message of type %d, length %zu" +msgstr "타입 %d의 잘못된 COPY 메시지, 길이: %zu" -#: pg_basebackup.c:1831 +#: pg_basebackup.c:1761 #, c-format msgid "incompatible server version %s" msgstr "호환하지 않는 서버 버전 %s" -#: pg_basebackup.c:1846 +#: pg_basebackup.c:1777 #, c-format -msgid "HINT: use -X none or -X fetch to disable log streaming" +msgid "Use -X none or -X fetch to disable log streaming." msgstr "" -"힌트: 트랜잭션 로그 스트리밍을 사용하지 않으려면 -X none 또는 -X fetch 옵션" -"을 사용하세요." +"트랜잭션 로그 스트리밍을 사용하지 않으려면 -X none 또는 -X fetch 옵션을 사용" +"하세요." + +#: pg_basebackup.c:1845 +#, c-format +msgid "backup targets are not supported by this server version" +msgstr "이 서버는 백업 타켓을 지원하지 않음." -#: pg_basebackup.c:1882 +#: pg_basebackup.c:1848 +#, c-format +msgid "recovery configuration cannot be written when a backup target is used" +msgstr "백업 타겟을 사용할 때는 원 환경 설정을 기록할 수 없습니다." + +#: pg_basebackup.c:1875 +#, c-format +msgid "server does not support server-side compression" +msgstr "이 서버는 서버 측 압축을 지원하지 않습니다" + +#: pg_basebackup.c:1885 #, c-format msgid "initiating base backup, waiting for checkpoint to complete" msgstr "베이스 백업을 초기화 중, 체크포인트 완료를 기다리는 중" -#: pg_basebackup.c:1908 pg_recvlogical.c:262 receivelog.c:481 receivelog.c:530 -#: receivelog.c:569 streamutil.c:297 streamutil.c:370 streamutil.c:422 -#: streamutil.c:533 streamutil.c:578 +#: pg_basebackup.c:1889 +#, c-format +msgid "waiting for checkpoint" +msgstr "체크포인트가 끝나길 기다리는 중" + +#: 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 "\"%s\" 복제 명령을 보낼 수 없음: %s" -#: pg_basebackup.c:1919 +#: pg_basebackup.c:1910 #, c-format msgid "could not initiate base backup: %s" msgstr "베이스 백업을 초기화 할 수 없음: %s" -#: pg_basebackup.c:1925 +#: pg_basebackup.c:1913 #, c-format msgid "" "server returned unexpected response to BASE_BACKUP command; got %d rows and " @@ -661,124 +914,129 @@ msgstr "" "서버가 BASE_BACKUP 명령에 대해서 잘못된 응답을 했습니다; 응답값: %d 로우, %d " "필드, (기대값: %d 로우, %d 필드)" -#: pg_basebackup.c:1933 +#: pg_basebackup.c:1919 #, c-format msgid "checkpoint completed" msgstr "체크포인트 완료" -#: pg_basebackup.c:1948 +#: pg_basebackup.c:1933 #, c-format msgid "write-ahead log start point: %s on timeline %u" msgstr "트랙잭션 로그 시작 위치: %s, 타임라인: %u" -#: pg_basebackup.c:1957 +#: pg_basebackup.c:1941 #, c-format msgid "could not get backup header: %s" msgstr "백업 헤더를 구할 수 없음: %s" -#: pg_basebackup.c:1963 +#: pg_basebackup.c:1944 #, c-format msgid "no data returned from server" msgstr "서버가 아무런 자료도 주지 않았음" -#: pg_basebackup.c:1995 +#: pg_basebackup.c:1987 #, c-format msgid "can only write single tablespace to stdout, database has %d" msgstr "" "표준 출력으로는 하나의 테이블스페이스만 쓸 수 있음, 데이터베이스는 %d 개의 테" "이블 스페이스가 있음" -#: pg_basebackup.c:2007 +#: pg_basebackup.c:2000 #, c-format msgid "starting background WAL receiver" msgstr "백그라운드 WAL 수신자 시작 중" -#: pg_basebackup.c:2046 +#: pg_basebackup.c:2083 #, c-format -msgid "could not get write-ahead log end position from server: %s" -msgstr "서버에서 트랜잭션 로그 마지막 위치를 구할 수 없음: %s" +msgid "backup failed: %s" +msgstr "백업 실패: %s" -#: pg_basebackup.c:2052 +#: pg_basebackup.c:2086 #, c-format msgid "no write-ahead log end position returned from server" msgstr "서버에서 트랜잭션 로그 마지막 위치가 수신 되지 않았음" -#: pg_basebackup.c:2057 +#: pg_basebackup.c:2089 #, c-format msgid "write-ahead log end point: %s" msgstr "트랜잭션 로그 마지막 위치: %s" -#: pg_basebackup.c:2068 +#: pg_basebackup.c:2100 #, c-format msgid "checksum error occurred" msgstr "체크섬 오류 발생" -#: pg_basebackup.c:2073 +#: pg_basebackup.c:2105 #, c-format msgid "final receive failed: %s" msgstr "수신 작업 마무리 실패: %s" -#: pg_basebackup.c:2097 +#: pg_basebackup.c:2129 #, c-format msgid "waiting for background process to finish streaming ..." msgstr "스트리밍을 끝내기 위해서 백그라운드 프로세스를 기다리는 중 ..." -#: pg_basebackup.c:2102 +#: pg_basebackup.c:2133 #, c-format msgid "could not send command to background pipe: %m" msgstr "백그라운드 파이프로 명령을 보낼 수 없음: %m" -#: pg_basebackup.c:2110 +#: pg_basebackup.c:2138 #, c-format msgid "could not wait for child process: %m" msgstr "하위 프로세스를 기다릴 수 없음: %m" -#: pg_basebackup.c:2115 +#: pg_basebackup.c:2140 #, c-format msgid "child %d died, expected %d" msgstr "%d 개의 하위 프로세스가 종료됨, 기대값 %d" -#: pg_basebackup.c:2120 streamutil.c:92 +#: pg_basebackup.c:2142 streamutil.c:91 streamutil.c:196 #, c-format msgid "%s" msgstr "%s" -#: pg_basebackup.c:2145 +#: pg_basebackup.c:2162 #, c-format msgid "could not wait for child thread: %m" msgstr "하위 스레드를 기다릴 수 없음: %m" -#: pg_basebackup.c:2151 +#: pg_basebackup.c:2167 #, c-format msgid "could not get child thread exit status: %m" msgstr "하위 스레드 종료 상태가 정상적이지 않음: %m" -#: pg_basebackup.c:2156 +#: pg_basebackup.c:2170 #, c-format msgid "child thread exited with error %u" msgstr "하위 스레드가 비정상 종료됨: 오류 코드 %u" -#: pg_basebackup.c:2184 +#: pg_basebackup.c:2199 #, c-format msgid "syncing data to disk ..." msgstr "자료를 디스크에 동기화 하는 중 ... " -#: pg_basebackup.c:2209 +#: pg_basebackup.c:2224 #, c-format msgid "renaming backup_manifest.tmp to backup_manifest" msgstr "backup_manifest.tmp 파일을 backup_manifest로 바꾸는 중" -#: pg_basebackup.c:2220 +#: pg_basebackup.c:2244 #, c-format msgid "base backup completed" msgstr "베이스 백업 완료" -#: pg_basebackup.c:2305 +#: pg_basebackup.c:2327 +#, c-format +msgid "invalid checkpoint argument \"%s\", must be \"fast\" or \"spread\"" +msgstr "잘못된 체크포인트 옵션값 \"%s\", \"fast\" 또는 \"spread\"만 사용 가능" + +#: pg_basebackup.c:2345 #, c-format msgid "invalid output format \"%s\", must be \"plain\" or \"tar\"" msgstr "\"%s\" 값은 잘못된 출력 형식, \"plain\" 또는 \"tar\" 만 사용 가능" -#: pg_basebackup.c:2349 +#: pg_basebackup.c:2423 #, c-format msgid "" "invalid wal-method option \"%s\", must be \"fetch\", \"stream\", or \"none\"" @@ -786,117 +1044,115 @@ msgstr "" "\"%s\" 값은 잘못된 wal-method 옵션값, \"fetch\", \"stream\" 또는 \"none\"만 " "사용 가능" -#: pg_basebackup.c:2377 pg_receivewal.c:580 +#: 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 +#: pg_recvlogical.c:878 pg_recvlogical.c:885 pg_recvlogical.c:892 +#: pg_recvlogical.c:899 pg_recvlogical.c:906 #, c-format -msgid "invalid compression level \"%s\"" -msgstr "잘못된 압축 수위 \"%s\"" +msgid "Try \"%s --help\" for more information." +msgstr "자세한 사항은 \"%s --help\" 명령으로 살펴보세요." -#: pg_basebackup.c:2388 +#: pg_basebackup.c:2468 pg_receivewal.c:758 pg_recvlogical.c:845 #, c-format -msgid "invalid checkpoint argument \"%s\", must be \"fast\" or \"spread\"" -msgstr "잘못된 체크포인트 옵션값 \"%s\", \"fast\" 또는 \"spread\"만 사용 가능" +msgid "too many command-line arguments (first is \"%s\")" +msgstr "너무 많은 명령행 인자를 지정했습니다. (처음 \"%s\")" -#: pg_basebackup.c:2415 pg_receivewal.c:555 pg_recvlogical.c:820 +#: pg_basebackup.c:2491 #, c-format -msgid "invalid status interval \"%s\"" -msgstr "잘못된 상태값 간격: \"%s\"" +msgid "cannot specify both format and backup target" +msgstr "백업 양식과 백업 타겟을 함께 사용할 수 없음" -#: pg_basebackup.c:2445 pg_basebackup.c:2458 pg_basebackup.c:2469 -#: pg_basebackup.c:2480 pg_basebackup.c:2488 pg_basebackup.c:2496 -#: pg_basebackup.c:2506 pg_basebackup.c:2519 pg_basebackup.c:2527 -#: pg_basebackup.c:2538 pg_basebackup.c:2548 pg_basebackup.c:2565 -#: pg_basebackup.c:2573 pg_basebackup.c:2581 pg_receivewal.c:605 -#: pg_receivewal.c:618 pg_receivewal.c:626 pg_receivewal.c:636 -#: pg_receivewal.c:644 pg_receivewal.c:655 pg_recvlogical.c:846 -#: pg_recvlogical.c:859 pg_recvlogical.c:870 pg_recvlogical.c:878 -#: pg_recvlogical.c:886 pg_recvlogical.c:894 pg_recvlogical.c:902 -#: pg_recvlogical.c:910 pg_recvlogical.c:918 +#: pg_basebackup.c:2503 #, c-format -msgid "Try \"%s --help\" for more information.\n" -msgstr "자제한 사항은 \"%s --help\" 명령으로 살펴보십시오.\n" +msgid "must specify output directory or backup target" +msgstr "출력 디렉터리를 지정하거나, 백업 타겟을 지정하세요." -#: pg_basebackup.c:2456 pg_receivewal.c:616 pg_recvlogical.c:857 +#: pg_basebackup.c:2509 #, c-format -msgid "too many command-line arguments (first is \"%s\")" -msgstr "너무 많은 명령행 인자를 지정했습니다. (처음 \"%s\")" +msgid "cannot specify both output directory and backup target" +msgstr "출력 디렉터리와 백업 타겟은 함께 지정할 수 없음" -#: pg_basebackup.c:2468 pg_receivewal.c:654 +#: pg_basebackup.c:2539 pg_receivewal.c:802 #, c-format -msgid "no target directory specified" -msgstr "대상 디렉터리를 지정하지 않음" +msgid "unrecognized compression algorithm: \"%s\"" +msgstr "알 수 없는 압축 알고리즘: \"%s\"" + +#: pg_basebackup.c:2545 pg_receivewal.c:809 +#, c-format +msgid "invalid compression specification: %s" +msgstr "잘못된 압축 정보: %s" -#: pg_basebackup.c:2479 +#: pg_basebackup.c:2561 +#, c-format +msgid "" +"client-side compression is not possible when a backup target is specified" +msgstr "백업 타켓을 사용할 때는 클라이언트 측 압축을 사용할 수 없습니다." + +#: pg_basebackup.c:2572 #, c-format msgid "only tar mode backups can be compressed" msgstr "tar 형식만 압축을 사용할 수 있음" -#: pg_basebackup.c:2487 +#: pg_basebackup.c:2582 +#, c-format +msgid "WAL cannot be streamed when a backup target is specified" +msgstr "백업 타겟을 지정할 때는 WAL 스트리밍을 사용할 수 없습니다." + +#: pg_basebackup.c:2588 #, c-format msgid "cannot stream write-ahead logs in tar mode to stdout" msgstr "tar 방식에서 stdout으로 트랜잭션 로그 스트리밍 불가" -#: pg_basebackup.c:2495 +#: pg_basebackup.c:2595 #, c-format msgid "replication slots can only be used with WAL streaming" msgstr "복제 슬롯은 WAL 스트리밍 방식에서만 사용할 수 있음" -#: pg_basebackup.c:2505 +#: pg_basebackup.c:2607 #, c-format msgid "--no-slot cannot be used with slot name" msgstr "슬롯 이름을 지정한 경우 --no-slot 옵션을 사용할 수 없음" #. translator: second %s is an option name -#: pg_basebackup.c:2517 pg_receivewal.c:634 +#: pg_basebackup.c:2618 pg_receivewal.c:774 #, c-format msgid "%s needs a slot to be specified using --slot" msgstr "%s 옵션은 --slot 옵션을 함께 사용해야 함" -#: pg_basebackup.c:2526 +#: pg_basebackup.c:2626 pg_basebackup.c:2666 pg_basebackup.c:2677 +#: pg_basebackup.c:2685 #, c-format -msgid "--create-slot and --no-slot are incompatible options" -msgstr "--create-slot 옵션과 -no-slot 옵션은 함께 사용할 수 없음" +msgid "%s and %s are incompatible options" +msgstr "%s 옵션과 %s 옵션은 함께 사용할 수 없음" -#: pg_basebackup.c:2537 +#: pg_basebackup.c:2640 +#, c-format +msgid "WAL directory location cannot be specified along with a backup target" +msgstr "트랜잭션 로그 디렉터리 위치는 백업 타켓과 함께 지정할 수 없음" + +#: pg_basebackup.c:2646 #, c-format msgid "WAL directory location can only be specified in plain mode" msgstr "트랜잭션 로그 디렉터리 위치는 plain 모드에서만 사용할 수 있음" -#: pg_basebackup.c:2547 +#: pg_basebackup.c:2655 #, c-format msgid "WAL directory location must be an absolute path" msgstr "트랜잭션 로그 디렉터리 위치는 절대 경로여야 함" -#: pg_basebackup.c:2557 pg_receivewal.c:663 -#, c-format -msgid "this build does not support compression" -msgstr "이 버전은 압축 하는 기능을 포함 하지 않고 빌드 되었습니다." - -#: pg_basebackup.c:2564 -#, c-format -msgid "--progress and --no-estimate-size are incompatible options" -msgstr "--progress 옵션과 --no-estimate-size 옵션은 함께 사용할 수 없음" - -#: pg_basebackup.c:2572 -#, c-format -msgid "--no-manifest and --manifest-checksums are incompatible options" -msgstr "--no-manifest 옵션과 --manifest-checksums 옵션은 함께 사용할 수 없음" - -#: pg_basebackup.c:2580 -#, c-format -msgid "--no-manifest and --manifest-force-encode are incompatible options" -msgstr "" -"--no-manifest 옵션과 --manifest-force-encode 옵션은 함께 사용할 수 없음" - -#: pg_basebackup.c:2639 +#: pg_basebackup.c:2755 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "\"%s\" 심벌릭 링크를 만들 수 없음: %m" -#: pg_basebackup.c:2643 -#, c-format -msgid "symlinks are not supported on this platform" -msgstr "이 플랫폼에서는 심볼 링크가 지원되지 않음" - #: pg_receivewal.c:77 #, c-format msgid "" @@ -906,7 +1162,7 @@ msgstr "" "%s 프로그램은 PostgreSQL 스트리밍 트랜잭션 로그를 수신하는 도구입니다.\n" "\n" -#: pg_receivewal.c:81 pg_recvlogical.c:81 +#: pg_receivewal.c:81 pg_recvlogical.c:82 #, c-format msgid "" "\n" @@ -922,12 +1178,12 @@ msgid "" msgstr "" " -D, --directory=DIR 지정한 디렉터리로 트랜잭션 로그 파일을 백업함\n" -#: pg_receivewal.c:83 pg_recvlogical.c:82 +#: pg_receivewal.c:83 pg_recvlogical.c:83 #, c-format msgid " -E, --endpos=LSN exit after receiving the specified LSN\n" msgstr " -E, --endpos=LSN 지정한 LSN까지 받고 종료함\n" -#: pg_receivewal.c:84 pg_recvlogical.c:86 +#: pg_receivewal.c:84 pg_recvlogical.c:87 #, c-format msgid "" " --if-not-exists do not error if slot already exists when creating a " @@ -935,7 +1191,7 @@ msgid "" msgstr "" " --if-not-exists 슬롯을 새로 만들 때 이미 있어도 오류 내지 않음\n" -#: pg_receivewal.c:85 pg_recvlogical.c:88 +#: pg_receivewal.c:85 pg_recvlogical.c:89 #, c-format msgid " -n, --no-loop do not loop on connection lost\n" msgstr " -n, --no-loop 접속이 끊겼을 때 재연결 하지 않음\n" @@ -947,7 +1203,7 @@ msgid "" "disk\n" msgstr " --no-sync 디스크 쓰기 뒤 sync 작업 생략\n" -#: pg_receivewal.c:87 pg_recvlogical.c:93 +#: pg_receivewal.c:87 pg_recvlogical.c:94 #, c-format msgid "" " -s, --status-interval=SECS\n" @@ -966,10 +1222,14 @@ msgstr " --synchronous 쓰기 작업 후 즉시 트랜잭션 로그를 #: pg_receivewal.c:93 #, c-format -msgid " -Z, --compress=0-9 compress logs with given compression level\n" -msgstr " -Z, --compress=0-9 압축된 로그 파일의 압축 수위 지정\n" +msgid "" +" -Z, --compress=METHOD[:DETAIL]\n" +" compress as specified\n" +msgstr "" +" -Z, --compress=METHOD[:DETAIL]\n" +" 압축 관련 속성 지정\n" -#: pg_receivewal.c:102 +#: pg_receivewal.c:103 #, c-format msgid "" "\n" @@ -978,7 +1238,7 @@ msgstr "" "\n" "추가 기능:\n" -#: pg_receivewal.c:103 pg_recvlogical.c:78 +#: pg_receivewal.c:104 pg_recvlogical.c:79 #, c-format msgid "" " --create-slot create a new replication slot (for the slot's name " @@ -987,7 +1247,7 @@ msgstr "" " --create-slot 새 복제 슬롯을 만듬 (--slot 옵션에서 슬롯 이름 지" "정)\n" -#: pg_receivewal.c:104 pg_recvlogical.c:79 +#: pg_receivewal.c:105 pg_recvlogical.c:80 #, c-format msgid "" " --drop-slot drop the replication slot (for the slot's name see " @@ -995,115 +1255,152 @@ msgid "" msgstr "" " --drop-slot 복제 슬롯 삭제 (--slot 옵션에서 슬롯 이름 지정)\n" -#: pg_receivewal.c:117 +#: pg_receivewal.c:191 #, c-format msgid "finished segment at %X/%X (timeline %u)" msgstr "마무리된 세그먼트 위치: %X/%X (타임라인 %u)" -#: pg_receivewal.c:124 +#: pg_receivewal.c:198 #, c-format msgid "stopped log streaming at %X/%X (timeline %u)" msgstr "로그 스트리밍 중지된 위치: %X/%X (타임라인 %u)" -#: pg_receivewal.c:140 +#: pg_receivewal.c:214 #, c-format msgid "switched to timeline %u at %X/%X" msgstr "전환됨: 타임라인 %u, 위치 %X/%X" -#: pg_receivewal.c:150 +#: pg_receivewal.c:224 #, c-format msgid "received interrupt signal, exiting" msgstr "인터럽터 시그널을 받음, 종료함" -#: pg_receivewal.c:186 +#: pg_receivewal.c:256 #, c-format msgid "could not close directory \"%s\": %m" msgstr "\"%s\" 디렉터리를 닫을 수 없음: %m" -#: pg_receivewal.c:272 +#: pg_receivewal.c:323 #, c-format -msgid "segment file \"%s\" has incorrect size %d, skipping" -msgstr "\"%s\" 조각 파일은 잘못된 크기임: %d, 무시함" +msgid "segment file \"%s\" has incorrect size %lld, skipping" +msgstr "\"%s\" 조각 파일은 잘못된 크기임: %lld, 무시함" -#: pg_receivewal.c:290 +#: pg_receivewal.c:340 #, c-format msgid "could not open compressed file \"%s\": %m" msgstr "\"%s\" 압축 파일 열기 실패: %m" -#: pg_receivewal.c:296 +#: pg_receivewal.c:343 #, c-format msgid "could not seek in compressed file \"%s\": %m" msgstr "\"%s\" 압축 파일 작업 위치 찾기 실패: %m" -#: pg_receivewal.c:304 +#: pg_receivewal.c:349 #, c-format msgid "could not read compressed file \"%s\": %m" msgstr "\"%s\" 압축 파일 읽기 실패: %m" -#: pg_receivewal.c:307 +#: pg_receivewal.c:352 #, c-format msgid "could not read compressed file \"%s\": read %d of %zu" msgstr "\"%s\" 압축 파일을 읽을 수 없음: %d 읽음, 전체 %zu" -#: pg_receivewal.c:318 +#: pg_receivewal.c:362 #, c-format msgid "" "compressed segment file \"%s\" has incorrect uncompressed size %d, skipping" msgstr "\"%s\" 압축 파일은 압축 풀었을 때 잘못된 크기임: %d, 무시함" -#: pg_receivewal.c:422 +#: pg_receivewal.c:390 #, c-format -msgid "starting log streaming at %X/%X (timeline %u)" -msgstr "로그 스트리밍 시작 위치: %X/%X (타임라인 %u)" +msgid "could not create LZ4 decompression context: %s" +msgstr "LZ4 압축 컨텍스트 정보를 생성할 수 없습니다: %s" + +#: pg_receivewal.c:402 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "\"%s\" 파일을 읽을 수 없음: %m" + +#: pg_receivewal.c:420 +#, c-format +msgid "could not decompress file \"%s\": %s" +msgstr "\"%s\" 파일 압축 풀기 실패: %s" -#: pg_receivewal.c:537 pg_recvlogical.c:762 +#: pg_receivewal.c:443 #, c-format -msgid "invalid port number \"%s\"" -msgstr "잘못된 포트 번호: \"%s\"" +msgid "could not free LZ4 decompression context: %s" +msgstr "LZ4 압축 해제 컨텍스트 반환 실패: %s" -#: pg_receivewal.c:565 pg_recvlogical.c:788 +#: pg_receivewal.c:448 +#, c-format +msgid "" +"compressed segment file \"%s\" has incorrect uncompressed size %zu, skipping" +msgstr "\"%s\" 압축된 조각 파일은 압축 풀었을 때 잘못된 크기임: %zu, 무시함" + +#: pg_receivewal.c:453 +#, c-format +msgid "" +"cannot check file \"%s\": compression with %s not supported by this build" +msgstr "\"%s\" 파일 검사 실패: %s 압축을 지원 안하게 빌드되었음" + +#: pg_receivewal.c:578 +#, c-format +msgid "starting log streaming at %X/%X (timeline %u)" +msgstr "로그 스트리밍 시작 위치: %X/%X (타임라인 %u)" + +#: pg_receivewal.c:693 pg_recvlogical.c:783 #, c-format msgid "could not parse end position \"%s\"" msgstr "시작 위치 구문이 잘못됨 \"%s\"" -#: pg_receivewal.c:625 +#: pg_receivewal.c:766 #, c-format msgid "cannot use --create-slot together with --drop-slot" msgstr "--create-slot 옵션과 --drop-slot 옵션을 함께 사용할 수 없음" -#: pg_receivewal.c:643 +#: pg_receivewal.c:782 #, c-format msgid "cannot use --synchronous together with --no-sync" msgstr "--synchronous 옵션과 --no-sync 옵션을 함께 사용할 수 없음" -#: pg_receivewal.c:719 +#: pg_receivewal.c:792 +#, c-format +msgid "no target directory specified" +msgstr "대상 디렉터리를 지정하지 않음" + +#: pg_receivewal.c:816 +#, c-format +msgid "compression with %s is not yet supported" +msgstr "%s 압축을 아직 지원하지 않음" + +#: pg_receivewal.c:859 #, c-format msgid "" "replication connection using slot \"%s\" is unexpectedly database specific" msgstr "\"%s\" 슬롯을 이용한 복제 연결은 이 데이터베이스에서 사용할 수 없음" -#: pg_receivewal.c:730 pg_recvlogical.c:966 +#: pg_receivewal.c:878 pg_recvlogical.c:954 #, c-format msgid "dropping replication slot \"%s\"" msgstr "\"%s\" 이름의 복제 슬롯을 삭제 중" -#: pg_receivewal.c:741 pg_recvlogical.c:976 +#: pg_receivewal.c:889 pg_recvlogical.c:964 #, c-format msgid "creating replication slot \"%s\"" msgstr "\"%s\" 이름의 복제 슬롯을 만드는 중" -#: pg_receivewal.c:767 pg_recvlogical.c:1001 +#: pg_receivewal.c:918 pg_recvlogical.c:988 #, c-format msgid "disconnected" msgstr "연결 끊김" #. translator: check source for value for %d -#: pg_receivewal.c:773 pg_recvlogical.c:1007 +#: pg_receivewal.c:922 pg_recvlogical.c:992 #, c-format msgid "disconnected; waiting %d seconds to try again" msgstr "연결 끊김; 다시 연결 하기 위해 %d 초를 기다리는 중" -#: pg_recvlogical.c:73 +#: pg_recvlogical.c:74 #, c-format msgid "" "%s controls PostgreSQL logical decoding streams.\n" @@ -1112,7 +1409,7 @@ msgstr "" "%s 프로그램은 논리 디코딩 스트림을 제어하는 도구입니다.\n" "\n" -#: pg_recvlogical.c:77 +#: pg_recvlogical.c:78 #, c-format msgid "" "\n" @@ -1121,7 +1418,7 @@ msgstr "" "\n" "성능에 관계된 기능들:\n" -#: pg_recvlogical.c:80 +#: pg_recvlogical.c:81 #, c-format msgid "" " --start start streaming in a replication slot (for the " @@ -1130,12 +1427,12 @@ msgstr "" " --start 복제 슬롯을 이용한 스트리밍 시작 (--slot 옵션에서 슬" "롯 이름 지정)\n" -#: pg_recvlogical.c:83 +#: pg_recvlogical.c:84 #, c-format msgid " -f, --file=FILE receive log into this file, - for stdout\n" msgstr " -f, --file=파일 작업 로그를 해당 파일에 기록, 표준 출력은 -\n" -#: pg_recvlogical.c:84 +#: pg_recvlogical.c:85 #, c-format msgid "" " -F --fsync-interval=SECS\n" @@ -1146,14 +1443,14 @@ msgstr "" " 지정한 초 간격으로 파일 fsync 작업을 함 (초기값: " "%d)\n" -#: pg_recvlogical.c:87 +#: pg_recvlogical.c:88 #, c-format msgid "" " -I, --startpos=LSN where in an existing slot should the streaming " "start\n" msgstr " -I, --startpos=LSN 스트리밍을 시작할 기존 슬롯 위치\n" -#: pg_recvlogical.c:89 +#: pg_recvlogical.c:90 #, c-format msgid "" " -o, --option=NAME[=VALUE]\n" @@ -1164,206 +1461,215 @@ msgstr "" " 출력 플러그인에서 사용할 옵션들의 옵션 이름과 그 " "값\n" -#: pg_recvlogical.c:92 +#: pg_recvlogical.c:93 #, c-format msgid " -P, --plugin=PLUGIN use output plugin PLUGIN (default: %s)\n" msgstr " -P, --plugin=PLUGIN 사용할 출력 플러그인 (초기값: %s)\n" -#: pg_recvlogical.c:95 +#: pg_recvlogical.c:96 #, c-format msgid " -S, --slot=SLOTNAME name of the logical replication slot\n" msgstr " -S, --slot=슬롯이름 논리 복제 슬롯 이름\n" -#: pg_recvlogical.c:100 +#: pg_recvlogical.c:97 +#, c-format +msgid "" +" -t, --two-phase enable decoding of prepared transactions when " +"creating a slot\n" +msgstr "" +" -t, --two-phase 슬롯을 만들 때 미리 준비된 트랜잭션 디코딩 활성화\n" + +#: pg_recvlogical.c:102 #, c-format msgid " -d, --dbname=DBNAME database to connect to\n" msgstr " -d, --dbname=디비이름 접속할 데이터베이스\n" -#: pg_recvlogical.c:133 +#: pg_recvlogical.c:135 #, c-format msgid "confirming write up to %X/%X, flush to %X/%X (slot %s)" msgstr "쓰기 확인 위치: %X/%X, 플러시 위치 %X/%X (슬롯 %s)" -#: pg_recvlogical.c:157 receivelog.c:343 +#: pg_recvlogical.c:159 receivelog.c:360 #, c-format msgid "could not send feedback packet: %s" msgstr "피드백 패킷을 보낼 수 없음: %s" -#: pg_recvlogical.c:230 +#: pg_recvlogical.c:227 #, c-format msgid "starting log streaming at %X/%X (slot %s)" msgstr "로그 스트리밍 시작 함, 위치: %X/%X (슬롯 %s)" -#: pg_recvlogical.c:271 +#: pg_recvlogical.c:269 #, c-format msgid "streaming initiated" msgstr "스트리밍 초기화 됨" -#: pg_recvlogical.c:335 +#: pg_recvlogical.c:333 #, c-format msgid "could not open log file \"%s\": %m" msgstr "\"%s\" 잠금파일을 열 수 없음: %m" -#: pg_recvlogical.c:361 receivelog.c:873 +#: pg_recvlogical.c:362 receivelog.c:882 #, c-format msgid "invalid socket: %s" msgstr "잘못된 소켓: %s" -#: pg_recvlogical.c:414 receivelog.c:901 +#: pg_recvlogical.c:415 receivelog.c:910 #, c-format -msgid "select() failed: %m" -msgstr "select() 실패: %m" +msgid "%s() failed: %m" +msgstr "%s() 실패: %m" -#: pg_recvlogical.c:421 receivelog.c:951 +#: pg_recvlogical.c:422 receivelog.c:959 #, c-format msgid "could not receive data from WAL stream: %s" msgstr "WAL 스트림에서 자료 받기 실패: %s" -#: pg_recvlogical.c:463 pg_recvlogical.c:514 receivelog.c:995 receivelog.c:1061 +#: pg_recvlogical.c:464 pg_recvlogical.c:515 receivelog.c:1003 +#: receivelog.c:1066 #, c-format msgid "streaming header too small: %d" msgstr "스트리밍 헤더 크기가 너무 작음: %d" -#: pg_recvlogical.c:498 receivelog.c:833 +#: pg_recvlogical.c:499 receivelog.c:843 #, c-format msgid "unrecognized streaming header: \"%c\"" msgstr "알 수 없는 스트리밍 헤더: \"%c\"" -#: pg_recvlogical.c:552 pg_recvlogical.c:564 +#: pg_recvlogical.c:553 pg_recvlogical.c:565 #, c-format -msgid "could not write %u bytes to log file \"%s\": %m" -msgstr "%u 바이트 쓰기 실패, 로그파일 \"%s\": %m" +msgid "could not write %d bytes to log file \"%s\": %m" +msgstr "%d 바이트 쓰기 실패, 대상 로그파일 \"%s\": %m" -#: pg_recvlogical.c:618 receivelog.c:629 receivelog.c:666 +#: pg_recvlogical.c:619 receivelog.c:642 receivelog.c:679 #, c-format msgid "unexpected termination of replication stream: %s" msgstr "복제 스트림의 예상치 못한 종료: %s" -#: pg_recvlogical.c:742 -#, c-format -msgid "invalid fsync interval \"%s\"" -msgstr "\"%s\" 값은 잘못된 fsync 반복주기 임" - -#: pg_recvlogical.c:780 +#: pg_recvlogical.c:778 #, c-format msgid "could not parse start position \"%s\"" msgstr "시작 위치 구문이 잘못됨 \"%s\"" -#: pg_recvlogical.c:869 +#: pg_recvlogical.c:856 #, c-format msgid "no slot specified" msgstr "슬롯을 지정하지 않았음" -#: pg_recvlogical.c:877 +#: pg_recvlogical.c:863 #, c-format msgid "no target file specified" msgstr "대상 파일을 지정하지 않았음" -#: pg_recvlogical.c:885 +#: pg_recvlogical.c:870 #, c-format msgid "no database specified" msgstr "데이터베이스 지정하지 않았음" -#: pg_recvlogical.c:893 +#: pg_recvlogical.c:877 #, c-format msgid "at least one action needs to be specified" msgstr "적어도 하나 이상의 작업 방법을 지정해야 함" -#: pg_recvlogical.c:901 +#: pg_recvlogical.c:884 #, c-format msgid "cannot use --create-slot or --start together with --drop-slot" msgstr "" "--create-slot 옵션 또는 --start 옵션은 --drop-slot 옵션과 함께 사용할 수 없음" -#: pg_recvlogical.c:909 +#: pg_recvlogical.c:891 #, c-format msgid "cannot use --create-slot or --drop-slot together with --startpos" msgstr "" " --create-slot 옵션이나 --drop-slot 옵션은 --startpos 옵션과 함께 쓸 수 없음" -#: pg_recvlogical.c:917 +#: pg_recvlogical.c:898 #, c-format msgid "--endpos may only be specified with --start" msgstr "--endpos 옵션은 --start 옵션과 함께 사용해야 함" -#: pg_recvlogical.c:948 +#: pg_recvlogical.c:905 +#, c-format +msgid "--two-phase may only be specified with --create-slot" +msgstr "--two-phase 옵션은 --create-slot 옵션을 쓸 때만 사용 가능함" + +#: pg_recvlogical.c:938 #, c-format msgid "could not establish database-specific replication connection" msgstr "데이터베이스 의존적인 복제 연결을 할 수 없음" -#: pg_recvlogical.c:1047 +#: pg_recvlogical.c:1032 #, c-format msgid "end position %X/%X reached by keepalive" msgstr "keepalive에 의해서 %X/%X 마지막 위치에 도달했음" -#: pg_recvlogical.c:1050 +#: pg_recvlogical.c:1035 #, c-format msgid "end position %X/%X reached by WAL record at %X/%X" msgstr "%X/%X 마지막 위치가 WAL 레코드 %X/%X 위치에서 도달했음" -#: receivelog.c:69 +#: receivelog.c:66 #, c-format msgid "could not create archive status file \"%s\": %s" msgstr "\"%s\" archive status 파일을 만들 수 없습니다: %s" -#: receivelog.c:116 +#: receivelog.c:73 +#, c-format +msgid "could not close archive status file \"%s\": %s" +msgstr "\"%s\" archive status 파일을 닫을 수 없습니다: %s" + +#: receivelog.c:122 #, c-format msgid "could not get size of write-ahead log file \"%s\": %s" msgstr "\"%s\" WAL 파일 크기를 알 수 없음: %s" -#: receivelog.c:126 +#: receivelog.c:133 #, c-format msgid "could not open existing write-ahead log file \"%s\": %s" msgstr "이미 있는 \"%s\" 트랜잭션 로그 파일을 열 수 없음: %s" -#: receivelog.c:134 +#: receivelog.c:142 #, c-format msgid "could not fsync existing write-ahead log file \"%s\": %s" msgstr "이미 있는 \"%s\" WAL 파일 fsync 실패: %s" -#: receivelog.c:148 +#: receivelog.c:157 #, c-format -msgid "write-ahead log file \"%s\" has %d byte, should be 0 or %d" -msgid_plural "write-ahead log file \"%s\" has %d bytes, should be 0 or %d" +msgid "write-ahead log file \"%s\" has %zd byte, should be 0 or %d" +msgid_plural "write-ahead log file \"%s\" has %zd bytes, should be 0 or %d" msgstr[0] "" -"\"%s\" 트랜잭션 로그파일의 크기가 %d 바이트임, 0 또는 %d 바이트여야 함" +"\"%s\" 트랜잭션 로그파일의 크기가 %zd 바이트임, 0 또는 %d 바이트여야 함" -#: receivelog.c:163 +#: receivelog.c:175 #, c-format msgid "could not open write-ahead log file \"%s\": %s" msgstr "\"%s\" WAL 파일을 열 수 없음: %s" -#: receivelog.c:189 +#: receivelog.c:216 #, c-format -msgid "could not determine seek position in file \"%s\": %s" -msgstr "\"%s\" 파일의 시작 위치를 결정할 수 없음: %s" +msgid "not renaming \"%s\", segment is not complete" +msgstr "\"%s\" 이름 변경 실패, 세그먼트가 완료되지 않았음" -#: receivelog.c:203 -#, c-format -msgid "not renaming \"%s%s\", segment is not complete" -msgstr "\"%s%s\" 이름 변경 실패, 세그먼트가 완료되지 않았음" - -#: receivelog.c:215 receivelog.c:300 receivelog.c:675 +#: receivelog.c:227 receivelog.c:317 receivelog.c:688 #, c-format msgid "could not close file \"%s\": %s" msgstr "\"%s\" 파일을 닫을 수 없음: %s" -#: receivelog.c:272 +#: receivelog.c:288 #, c-format msgid "server reported unexpected history file name for timeline %u: %s" msgstr "타임라인 %u 번을 위한 내역 파일 이름이 잘못 되었음: %s" -#: receivelog.c:280 +#: receivelog.c:297 #, c-format msgid "could not create timeline history file \"%s\": %s" msgstr "\"%s\" 타임라인 내역 파일을 만들 수 없음: %s" -#: receivelog.c:287 +#: receivelog.c:304 #, c-format msgid "could not write timeline history file \"%s\": %s" msgstr "\"%s\" 타임라인 내역 파일에 쓸 수 없음: %s" -#: receivelog.c:377 +#: receivelog.c:394 #, c-format msgid "" "incompatible server version %s; client does not support streaming from " @@ -1372,7 +1678,7 @@ msgstr "" "%s 서버 버전은 호환되지 않음; 클라이언트는 %s 버전 보다 오래된 서버의 스트리" "밍은 지원하지 않음" -#: receivelog.c:386 +#: receivelog.c:403 #, c-format msgid "" "incompatible server version %s; client does not support streaming from " @@ -1381,27 +1687,18 @@ msgstr "" "%s 서버 버전은 호환되지 않음; 클라이언트는 %s 버전 보다 새로운 서버의 스트리" "밍은 지원하지 않음" -#: receivelog.c:488 streamutil.c:430 streamutil.c:467 -#, c-format -msgid "" -"could not identify system: got %d rows and %d fields, expected %d rows and " -"%d or more fields" -msgstr "" -"시스템을 식별할 수 없음: 로우수 %d, 필드수 %d, 예상값: 로우수 %d, 필드수 %d " -"이상" - -#: receivelog.c:495 +#: receivelog.c:508 #, c-format msgid "" "system identifier does not match between base backup and streaming connection" msgstr "시스템 식별자가 베이스 백업과 스트리밍 연결에서 서로 다름" -#: receivelog.c:501 +#: receivelog.c:516 #, c-format msgid "starting timeline %u is not present in the server" msgstr "%u 타임라인으로 시작하는 것을 서버에서 제공 하지 않음" -#: receivelog.c:542 +#: receivelog.c:555 #, c-format msgid "" "unexpected response to TIMELINE_HISTORY command: got %d rows and %d fields, " @@ -1410,12 +1707,12 @@ msgstr "" "TIMELINE_HISTORY 명령 결과가 잘못됨: 받은 값: 로우수 %d, 필드수 %d, 예상값: " "로우수 %d, 필드수 %d" -#: receivelog.c:613 +#: receivelog.c:626 #, c-format msgid "server reported unexpected next timeline %u, following timeline %u" msgstr "서버가 잘못된 다음 타임라인 번호 %u 보고함, 이전 타임라인 번호 %u" -#: receivelog.c:619 +#: receivelog.c:632 #, c-format msgid "" "server stopped streaming timeline %u at %X/%X, but reported next timeline %u " @@ -1424,12 +1721,12 @@ msgstr "" "서버의 중지 위치: 타임라인 %u, 위치 %X/%X, 하지만 보고 받은 위치: 타임라인 " "%u 위치 %X/%X" -#: receivelog.c:659 +#: receivelog.c:672 #, c-format msgid "replication stream was terminated before stop point" msgstr "복제 스트림이 중지 위치 전에 종료 되었음" -#: receivelog.c:705 +#: receivelog.c:718 #, c-format msgid "" "unexpected result set after end-of-timeline: got %d rows and %d fields, " @@ -1438,66 +1735,61 @@ msgstr "" "타임라인 끝에 잘못된 결과가 발견 됨: 로우수 %d, 필드수 %d / 예상값: 로우수 " "%d, 필드수 %d" -#: receivelog.c:714 +#: receivelog.c:727 #, c-format msgid "could not parse next timeline's starting point \"%s\"" msgstr "다음 타임라인 시작 위치 분석 실패 \"%s\"" -#: receivelog.c:763 receivelog.c:1015 +#: receivelog.c:775 receivelog.c:1022 walmethods.c:1201 #, c-format msgid "could not fsync file \"%s\": %s" msgstr "\"%s\" 파일 fsync 실패: %s" -#: receivelog.c:1078 +#: receivelog.c:1083 #, c-format msgid "received write-ahead log record for offset %u with no file open" msgstr "%u 위치의 수신된 트랜잭션 로그 레코드에 파일을 열 수 없음" -#: receivelog.c:1088 +#: receivelog.c:1093 #, c-format msgid "got WAL data offset %08x, expected %08x" msgstr "잘못된 WAL 자료 위치 %08x, 기대값 %08x" -#: receivelog.c:1122 +#: receivelog.c:1128 #, c-format -msgid "could not write %u bytes to WAL file \"%s\": %s" -msgstr "%u 바이트를 \"%s\" WAL 파일에 쓸 수 없음: %s" +msgid "could not write %d bytes to WAL file \"%s\": %s" +msgstr "%d 바이트를 \"%s\" WAL 파일에 쓸 수 없음: %s" -#: receivelog.c:1147 receivelog.c:1187 receivelog.c:1218 +#: receivelog.c:1153 receivelog.c:1193 receivelog.c:1222 #, c-format msgid "could not send copy-end packet: %s" msgstr "copy-end 패킷을 보낼 수 없음: %s" -#: streamutil.c:160 +#: streamutil.c:158 msgid "Password: " msgstr "암호: " -#: streamutil.c:185 +#: streamutil.c:181 #, c-format msgid "could not connect to server" msgstr "서버 접속 실패" -#: streamutil.c:202 -#, c-format -msgid "could not connect to server: %s" -msgstr "서버 접속 실패: %s" - -#: streamutil.c:231 +#: streamutil.c:222 #, c-format msgid "could not clear search_path: %s" msgstr "search_path를 지울 수 없음: %s" -#: streamutil.c:247 +#: streamutil.c:238 #, c-format msgid "could not determine server setting for integer_datetimes" msgstr "integer_datetimes 서버 설정을 알 수 없음" -#: streamutil.c:254 +#: streamutil.c:245 #, c-format msgid "integer_datetimes compile flag does not match server" msgstr "integer_datetimes 컴파일 플래그가 서버와 일치하지 않음" -#: streamutil.c:305 +#: streamutil.c:296 #, c-format msgid "" "could not fetch WAL segment size: got %d rows and %d fields, expected %d " @@ -1506,12 +1798,12 @@ msgstr "" "WAL 조각 크기 계산 실패: 로우수 %d, 필드수 %d, 예상값: 로우수 %d, 필드수 %d " "이상" -#: streamutil.c:315 +#: streamutil.c:306 #, c-format msgid "WAL segment size could not be parsed" msgstr "WAL 조각 크기 분석 못함" -#: streamutil.c:333 +#: streamutil.c:324 #, c-format msgid "" "WAL segment size must be a power of two between 1 MB and 1 GB, but the " @@ -1520,10 +1812,10 @@ msgid_plural "" "WAL segment size must be a power of two between 1 MB and 1 GB, but the " "remote server reported a value of %d bytes" msgstr[0] "" -"WAL 조각 파일 크기는 1MB에서 1GB사이 2의 제곱 크기여야 하는데, " -"원격 서버는 %d 바이트입니다." +"WAL 조각 파일 크기는 1MB에서 1GB사이 2의 제곱 크기여야 하는데, 원격 서버는 " +"%d 바이트입니다." -#: streamutil.c:378 +#: streamutil.c:369 #, c-format msgid "" "could not fetch group access flag: got %d rows and %d fields, expected %d " @@ -1532,12 +1824,45 @@ msgstr "" "그룹 접근 플래그를 가져올 수 없음: 로우수 %d, 필드수 %d, 예상값: 로우수 %d, " "필드수 %d 이상" -#: streamutil.c:387 +#: streamutil.c:378 #, c-format msgid "group access flag could not be parsed: %s" msgstr "그룹 접근 플래그를 분석 못함: %s" -#: streamutil.c:544 +#: streamutil.c:421 streamutil.c:458 +#, c-format +msgid "" +"could not identify system: got %d rows and %d fields, expected %d rows and " +"%d or more fields" +msgstr "" +"시스템을 식별할 수 없음: 로우수 %d, 필드수 %d, 예상값: 로우수 %d, 필드수 %d " +"이상" + +#: streamutil.c:510 +#, c-format +msgid "" +"could not read replication slot \"%s\": got %d rows and %d fields, expected " +"%d rows and %d fields" +msgstr "" +"\"%s\" 복제 슬롯을 읽을 수 없음: 로우수 %d, 필드수 %d, 기대값 로우수 %d, 필드" +"수 %d" + +#: streamutil.c:522 +#, c-format +msgid "replication slot \"%s\" does not exist" +msgstr "\"%s\" 이름의 복제 슬롯이 없습니다" + +#: streamutil.c:533 +#, c-format +msgid "expected a physical replication slot, got type \"%s\" instead" +msgstr "물리 복제 슬롯을 사용해야 함, \"%s\" 복제 슬롯임" + +#: streamutil.c:547 +#, c-format +msgid "could not parse restart_lsn \"%s\" for replication slot \"%s\"" +msgstr "\"%s\" restart_lsn 위치를 해석할 수 없음, 해당 슬롯: \"%s\"" + +#: streamutil.c:664 #, c-format msgid "" "could not create replication slot \"%s\": got %d rows and %d fields, " @@ -1546,7 +1871,7 @@ msgstr "" "\"%s\" 복제 슬롯을 만들 수 없음: 로우수 %d, 필드수 %d, 기대값 로우수 %d, 필드" "수 %d" -#: streamutil.c:588 +#: streamutil.c:708 #, c-format msgid "" "could not drop replication slot \"%s\": got %d rows and %d fields, expected " @@ -1555,34 +1880,30 @@ msgstr "" "\"%s\" 복제 슬롯을 삭제할 수 없음: 로우수 %d, 필드수 %d, 기대값 로우수 %d, 필" "드수 %d" -#: walmethods.c:438 walmethods.c:927 +#: walmethods.c:721 walmethods.c:1264 msgid "could not compress data" msgstr "자료를 압축할 수 없음" -#: walmethods.c:470 +#: walmethods.c:750 msgid "could not reset compression stream" msgstr "압축 스트림을 리셋할 수 없음" -#: walmethods.c:568 -msgid "could not initialize compression library" -msgstr "압축 라이브러리를 초기화할 수 없음" - -#: walmethods.c:580 +#: walmethods.c:888 msgid "implementation error: tar files can't have more than one open file" msgstr "구현 오류: tar 파일은 하나 이상 열 수 없음" -#: walmethods.c:594 +#: walmethods.c:903 msgid "could not create tar header" msgstr "tar 해더를 만들 수 없음" -#: walmethods.c:608 walmethods.c:648 walmethods.c:843 walmethods.c:854 +#: walmethods.c:920 walmethods.c:961 walmethods.c:1166 walmethods.c:1179 msgid "could not change compression parameters" msgstr "압축 매개 변수를 바꿀 수 없음" -#: walmethods.c:730 +#: walmethods.c:1052 msgid "unlink not supported with compression" msgstr "압축 상태에서 파일 삭제는 지원하지 않음" -#: walmethods.c:952 +#: walmethods.c:1288 msgid "could not close compression stream" msgstr "압축 스트림을 닫을 수 없음" diff --git a/src/bin/pg_checksums/po/ko.po b/src/bin/pg_checksums/po/ko.po index ff767cfc7df..3c9a6027c02 100644 --- a/src/bin/pg_checksums/po/ko.po +++ b/src/bin/pg_checksums/po/ko.po @@ -5,10 +5,10 @@ # msgid "" msgstr "" -"Project-Id-Version: pg_checksums (PostgreSQL) 13\n" +"Project-Id-Version: pg_checksums (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2020-10-05 20:47+0000\n" -"PO-Revision-Date: 2020-10-06 11:13+0900\n" +"POT-Creation-Date: 2023-09-07 05:53+0000\n" +"PO-Revision-Date: 2023-05-30 12:38+0900\n" "Last-Translator: Ioseph Kim \n" "Language-Team: PostgreSQL Korea \n" "Language: ko\n" @@ -16,22 +16,37 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../../src/common/logging.c:236 -#, c-format -msgid "fatal: " -msgstr "심각: " - -#: ../../../src/common/logging.c:243 +#: ../../../src/common/logging.c:276 #, c-format msgid "error: " msgstr "오류: " -#: ../../../src/common/logging.c:250 +#: ../../../src/common/logging.c:283 #, c-format msgid "warning: " msgstr "경고: " -#: pg_checksums.c:75 +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "상세정보: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "힌트: " + +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "\"%s\" 값은 \"%s\" 옵션값으로 유효하지 않음" + +#: ../../fe_utils/option_utils.c:76 +#, c-format +msgid "%s must be in range %d..%d" +msgstr "%s 값은 %d부터 %d까지 지정할 수 있습니다." + +#: pg_checksums.c:79 #, c-format msgid "" "%s enables, disables, or verifies data checksums in a PostgreSQL database " @@ -42,17 +57,17 @@ msgstr "" "비활성화 또는 유효성 검사를 합니다.\n" "\n" -#: pg_checksums.c:76 +#: pg_checksums.c:80 #, c-format msgid "Usage:\n" msgstr "사용법:\n" -#: pg_checksums.c:77 +#: pg_checksums.c:81 #, c-format msgid " %s [OPTION]... [DATADIR]\n" msgstr " %s [옵션]... [DATADIR]\n" -#: pg_checksums.c:78 +#: pg_checksums.c:82 #, c-format msgid "" "\n" @@ -61,33 +76,33 @@ msgstr "" "\n" "옵션들:\n" -#: pg_checksums.c:79 +#: pg_checksums.c:83 #, c-format msgid " [-D, --pgdata=]DATADIR data directory\n" msgstr " [-D, --pgdata=]DATADIR 데이터 디렉터리\n" -#: pg_checksums.c:80 +#: pg_checksums.c:84 #, c-format msgid " -c, --check check data checksums (default)\n" msgstr " -c, --check 실 작업 없이, 그냥 검사만 (기본값)\n" -#: pg_checksums.c:81 +#: pg_checksums.c:85 #, c-format msgid " -d, --disable disable data checksums\n" msgstr " -d, --disable 자료 페이지 체크섬 비활성화\n" -#: pg_checksums.c:82 +#: pg_checksums.c:86 #, c-format msgid " -e, --enable enable data checksums\n" msgstr " -e, --enable 자료 페이지 체크섬 활성화\n" -#: pg_checksums.c:83 +#: pg_checksums.c:87 #, c-format msgid "" " -f, --filenode=FILENODE check only relation with specified filenode\n" msgstr " -f, --filenode=FILENODE 지정한 파일노드만 검사\n" -#: pg_checksums.c:84 +#: pg_checksums.c:88 #, c-format msgid "" " -N, --no-sync do not wait for changes to be written safely to " @@ -95,27 +110,27 @@ msgid "" msgstr "" " -N, --no-sync 작업 완료 뒤 디스크 동기화 작업을 하지 않음\n" -#: pg_checksums.c:85 +#: pg_checksums.c:89 #, c-format msgid " -P, --progress show progress information\n" msgstr " -P, --progress 진행 과정 보여줌\n" -#: pg_checksums.c:86 +#: pg_checksums.c:90 #, c-format msgid " -v, --verbose output verbose messages\n" msgstr " -v, --verbose 자세한 작업 메시지 보여줌\n" -#: pg_checksums.c:87 +#: pg_checksums.c:91 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version 버전 정보를 보여주고 마침\n" -#: pg_checksums.c:88 +#: pg_checksums.c:92 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help 이 도움말을 보여주고 마침\n" -#: pg_checksums.c:89 +#: pg_checksums.c:93 #, c-format msgid "" "\n" @@ -129,37 +144,37 @@ msgstr "" "사용합니다.\n" "\n" -#: pg_checksums.c:91 +#: pg_checksums.c:95 #, c-format msgid "Report bugs to <%s>.\n" msgstr "문제점 보고 주소: <%s>\n" -#: pg_checksums.c:92 +#: pg_checksums.c:96 #, c-format msgid "%s home page: <%s>\n" msgstr "%s 홈페이지: <%s>\n" -#: pg_checksums.c:161 +#: pg_checksums.c:153 #, c-format -msgid "%*s/%s MB (%d%%) computed" -msgstr "%*s/%s MB (%d%%) 계산됨" +msgid "%lld/%lld MB (%d%%) computed" +msgstr "%lld/%lld MB (%d%%) 계산됨" -#: pg_checksums.c:207 +#: pg_checksums.c:200 #, c-format msgid "could not open file \"%s\": %m" msgstr "\"%s\" 파일을 열 수 없음: %m" -#: pg_checksums.c:223 +#: pg_checksums.c:214 #, c-format msgid "could not read block %u in file \"%s\": %m" msgstr "%u 블럭을 \"%s\" 파일에서 읽을 수 없음: %m" -#: pg_checksums.c:226 +#: pg_checksums.c:217 #, c-format msgid "could not read block %u in file \"%s\": read %d of %d" msgstr "%u 블럭을 \"%s\" 파일에서 읽을 수 없음: %d / %d 바이트만 읽음" -#: pg_checksums.c:243 +#: pg_checksums.c:240 #, c-format msgid "" "checksum verification failed in file \"%s\", block %u: calculated checksum " @@ -168,156 +183,161 @@ msgstr "" "\"%s\" 파일, %u 블럭의 체크섬 검사 실패: 계산된 체크섬은 %X 값이지만, 블럭에" "는 %X 값이 있음" -#: pg_checksums.c:258 +#: pg_checksums.c:263 #, c-format msgid "seek failed for block %u in file \"%s\": %m" msgstr "%u 블럭을 \"%s\" 파일에서 찾을 수 없음: %m" -#: pg_checksums.c:267 +#: pg_checksums.c:270 #, c-format msgid "could not write block %u in file \"%s\": %m" msgstr "%u 블럭을 \"%s\" 파일에 쓸 수 없음: %m" -#: pg_checksums.c:270 +#: pg_checksums.c:273 #, c-format msgid "could not write block %u in file \"%s\": wrote %d of %d" msgstr "%u 블럭을 \"%s\" 파일에 쓸 수 없음: %d / %d 바이트만 씀" -#: pg_checksums.c:283 +#: pg_checksums.c:285 #, c-format msgid "checksums verified in file \"%s\"" msgstr "\"%s\" 파일 체크섬 검사 마침" -#: pg_checksums.c:285 +#: pg_checksums.c:287 #, c-format msgid "checksums enabled in file \"%s\"" msgstr "\"%s\" 파일 체크섬 활성화 함" -#: pg_checksums.c:310 +#: pg_checksums.c:318 #, c-format msgid "could not open directory \"%s\": %m" msgstr "\"%s\" 디렉터리 열 수 없음: %m" -#: pg_checksums.c:337 pg_checksums.c:416 +#: pg_checksums.c:342 pg_checksums.c:411 #, c-format msgid "could not stat file \"%s\": %m" msgstr "\"%s\" 파일의 상태값을 알 수 없음: %m" -#: pg_checksums.c:364 +#: pg_checksums.c:366 #, c-format msgid "invalid segment number %d in file name \"%s\"" msgstr "잘못된 조각 번호 %d, 해당 파일: \"%s\"" -#: pg_checksums.c:497 -#, c-format -msgid "invalid filenode specification, must be numeric: %s" -msgstr "파일노드 값이 이상함. 이 값은 숫자여야 함: %s" - -#: pg_checksums.c:515 pg_checksums.c:531 pg_checksums.c:541 pg_checksums.c:550 +#: pg_checksums.c:508 pg_checksums.c:524 pg_checksums.c:534 pg_checksums.c:542 #, c-format -msgid "Try \"%s --help\" for more information.\n" -msgstr "자제한 사항은 \"%s --help\" 명령으로 살펴보십시오.\n" +msgid "Try \"%s --help\" for more information." +msgstr "자세한 사항은 \"%s --help\" 명령으로 살펴보세요." -#: pg_checksums.c:530 +#: pg_checksums.c:523 #, c-format msgid "no data directory specified" msgstr "데이터 디렉터리를 지정하지 않았음" -#: pg_checksums.c:539 +#: pg_checksums.c:532 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "너무 많은 명령행 인수를 지정했음 (처음 \"%s\")" -#: pg_checksums.c:549 +#: pg_checksums.c:541 #, c-format msgid "option -f/--filenode can only be used with --check" msgstr "-f/--filenode 옵션은 --check 옵션만 사용할 수 있음" -#: pg_checksums.c:559 +#: pg_checksums.c:549 #, c-format msgid "pg_control CRC value is incorrect" msgstr "pg_control CRC 값이 잘못되었음" -#: pg_checksums.c:565 +#: pg_checksums.c:552 #, c-format msgid "cluster is not compatible with this version of pg_checksums" msgstr "해당 클러스터는 이 버전 pg_checksum과 호환되지 않음" -#: pg_checksums.c:571 +#: pg_checksums.c:556 #, c-format msgid "database cluster is not compatible" msgstr "데이터베이스 클러스터는 호환되지 않음" -#: pg_checksums.c:572 +#: pg_checksums.c:557 #, c-format msgid "" "The database cluster was initialized with block size %u, but pg_checksums " -"was compiled with block size %u.\n" +"was compiled with block size %u." msgstr "" "이 데이터베이스 클러스터는 %u 블록 크기로 초기화 되었지만, pg_checksum은 %u " -"블록 크기로 컴파일 되어있습니다.\n" +"블록 크기로 컴파일 되어있습니다." -#: pg_checksums.c:585 +#: pg_checksums.c:569 #, c-format msgid "cluster must be shut down" msgstr "먼저 서버가 중지되어야 함" -#: pg_checksums.c:592 +#: pg_checksums.c:573 #, c-format msgid "data checksums are not enabled in cluster" msgstr "이 클러스터는 자료 체크섬이 비활성화 상태임" -#: pg_checksums.c:599 +#: pg_checksums.c:577 #, c-format msgid "data checksums are already disabled in cluster" msgstr "이 클러스터는 이미 자료 체크섬이 비활성화 상태임" -#: pg_checksums.c:606 +#: pg_checksums.c:581 #, c-format msgid "data checksums are already enabled in cluster" msgstr "이 클러스터는 이미 자료 체크섬이 활성화 상태임" -#: pg_checksums.c:632 +#: pg_checksums.c:605 #, c-format msgid "Checksum operation completed\n" msgstr "체크섬 작업 완료\n" -#: pg_checksums.c:633 +#: pg_checksums.c:606 +#, c-format +msgid "Files scanned: %lld\n" +msgstr "조사한 파일수: %lld\n" + +#: pg_checksums.c:607 +#, c-format +msgid "Blocks scanned: %lld\n" +msgstr "조사한 블럭수: %lld\n" + +#: pg_checksums.c:610 #, c-format -msgid "Files scanned: %s\n" -msgstr "조사한 파일수: %s\n" +msgid "Bad checksums: %lld\n" +msgstr "잘못된 체크섬: %lld\n" -#: pg_checksums.c:634 +#: pg_checksums.c:611 pg_checksums.c:643 #, c-format -msgid "Blocks scanned: %s\n" -msgstr "조사한 블럭수: %s\n" +msgid "Data checksum version: %u\n" +msgstr "자료 체크섬 버전: %u\n" -#: pg_checksums.c:637 +#: pg_checksums.c:618 #, c-format -msgid "Bad checksums: %s\n" -msgstr "잘못된 체크섬: %s\n" +msgid "Files written: %lld\n" +msgstr "기록한 파일수: %lld\n" -#: pg_checksums.c:638 pg_checksums.c:665 +#: pg_checksums.c:619 #, c-format -msgid "Data checksum version: %d\n" -msgstr "자료 체크섬 버전: %d\n" +msgid "Blocks written: %lld\n" +msgstr "기록한 블럭수: %lld\n" -#: pg_checksums.c:657 +#: pg_checksums.c:635 #, c-format msgid "syncing data directory" msgstr "데이터 디렉터리 fsync 중" -#: pg_checksums.c:661 +#: pg_checksums.c:639 #, c-format msgid "updating control file" msgstr "컨트롤 파일 바꾸는 중" -#: pg_checksums.c:667 +#: pg_checksums.c:645 #, c-format msgid "Checksums enabled in cluster\n" msgstr "이 클러스터는 자료 체크섬 옵션이 활성화 되었음\n" -#: pg_checksums.c:669 +#: pg_checksums.c:647 #, c-format msgid "Checksums disabled in cluster\n" msgstr "이 클러스터는 자료 체크섬 옵션이 비활성화 되었음\n" diff --git a/src/bin/pg_config/po/el.po b/src/bin/pg_config/po/el.po index 5f96e8a2f71..422d6d1c29a 100644 --- a/src/bin/pg_config/po/el.po +++ b/src/bin/pg_config/po/el.po @@ -9,15 +9,15 @@ msgid "" msgstr "" "Project-Id-Version: pg_config (PostgreSQL) 14\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2021-07-20 03:45+0000\n" -"PO-Revision-Date: 2021-07-20 10:27+0200\n" +"POT-Creation-Date: 2023-08-14 23:17+0000\n" +"PO-Revision-Date: 2023-08-15 13:21+0200\n" "Last-Translator: Georgios Kokolatos \n" "Language-Team: \n" "Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 3.0\n" +"X-Generator: Poedit 3.3.2\n" #: ../../common/config_info.c:134 ../../common/config_info.c:142 #: ../../common/config_info.c:150 ../../common/config_info.c:158 @@ -26,42 +26,32 @@ msgstr "" msgid "not recorded" msgstr "δεν έχει καταγραφεί" -#: ../../common/exec.c:136 ../../common/exec.c:253 ../../common/exec.c:299 +#: ../../common/exec.c:172 #, c-format -msgid "could not identify current directory: %m" -msgstr "δεν ήταν δυνατή η αναγνώριση του τρέχοντος καταλόγου: %m" +msgid "invalid binary \"%s\": %m" +msgstr "μη έγκυρο δυαδικό αρχείο «%s»: %m" -#: ../../common/exec.c:155 +#: ../../common/exec.c:215 #, c-format -msgid "invalid binary \"%s\"" -msgstr "μη έγκυρο δυαδικό αρχείο «%s»" +msgid "could not read binary \"%s\": %m" +msgstr "δεν ήταν δυνατή η ανάγνωση του δυαδικού αρχείου «%s»: %m" -#: ../../common/exec.c:205 -#, c-format -msgid "could not read binary \"%s\"" -msgstr "δεν ήταν δυνατή η ανάγνωση του δυαδικού αρχείου «%s»" - -#: ../../common/exec.c:213 +#: ../../common/exec.c:223 #, c-format msgid "could not find a \"%s\" to execute" msgstr "δεν βρέθηκε το αρχείο «%s» για να εκτελεστεί" -#: ../../common/exec.c:269 ../../common/exec.c:308 +#: ../../common/exec.c:250 #, c-format -msgid "could not change directory to \"%s\": %m" -msgstr "δεν ήταν δυνατή η μετάβαση στον κατάλογο «%s»: %m" +msgid "could not resolve path \"%s\" to absolute form: %m" +msgstr "δεν δύναται η επίλυση διαδρομής «%s» σε απόλυτη μορφή: %m" -#: ../../common/exec.c:286 -#, c-format -msgid "could not read symbolic link \"%s\": %m" -msgstr "δεν ήταν δυνατή η ανάγνωση του συμβολικού συνδέσμου «%s»: %m" - -#: ../../common/exec.c:409 +#: ../../common/exec.c:412 #, c-format msgid "%s() failed: %m" msgstr "%s() απέτυχε: %m" -#: ../../common/exec.c:522 ../../common/exec.c:567 ../../common/exec.c:659 +#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 msgid "out of memory" msgstr "έλλειψη μνήμης" @@ -186,8 +176,7 @@ msgstr " --cppflags εμφάνισε την τιμή CPPFLAGS που #: pg_config.c:96 #, c-format msgid " --cflags show CFLAGS value used when PostgreSQL was built\n" -msgstr "" -" --cflags εμφάνισε την τιμή CFLAGS που χρησιμοποιήθηκε κατά την κατασκευή της PostgreSQL\n" +msgstr " --cflags εμφάνισε την τιμή CFLAGS που χρησιμοποιήθηκε κατά την κατασκευή της PostgreSQL\n" #: pg_config.c:97 #, c-format @@ -259,3 +248,18 @@ msgstr "%s: δεν ήταν δυνατή η εύρεση του ιδίου εκ #, c-format msgid "%s: invalid argument: %s\n" msgstr "%s: μη έγκυρη παράμετρος: %s\n" + +#~ msgid "could not change directory to \"%s\": %m" +#~ msgstr "δεν ήταν δυνατή η μετάβαση στον κατάλογο «%s»: %m" + +#~ msgid "could not identify current directory: %m" +#~ msgstr "δεν ήταν δυνατή η αναγνώριση του τρέχοντος καταλόγου: %m" + +#~ msgid "could not read binary \"%s\"" +#~ msgstr "δεν ήταν δυνατή η ανάγνωση του δυαδικού αρχείου «%s»" + +#~ msgid "could not read symbolic link \"%s\": %m" +#~ msgstr "δεν ήταν δυνατή η ανάγνωση του συμβολικού συνδέσμου «%s»: %m" + +#~ msgid "invalid binary \"%s\"" +#~ msgstr "μη έγκυρο δυαδικό αρχείο «%s»" diff --git a/src/bin/pg_config/po/ko.po b/src/bin/pg_config/po/ko.po index 2d44f89e731..de908476058 100644 --- a/src/bin/pg_config/po/ko.po +++ b/src/bin/pg_config/po/ko.po @@ -3,10 +3,10 @@ # msgid "" msgstr "" -"Project-Id-Version: pg_config (PostgreSQL) 13\n" +"Project-Id-Version: pg_config (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2020-10-05 20:44+0000\n" -"PO-Revision-Date: 2020-10-06 11:15+0900\n" +"POT-Creation-Date: 2023-09-07 05:48+0000\n" +"PO-Revision-Date: 2023-05-26 13:20+0900\n" "Last-Translator: Ioseph Kim \n" "Language-Team: Korean team \n" "Language: ko\n" @@ -22,42 +22,32 @@ msgstr "" msgid "not recorded" msgstr "기록되어 있지 않음" -#: ../../common/exec.c:137 ../../common/exec.c:254 ../../common/exec.c:300 +#: ../../common/exec.c:172 #, c-format -msgid "could not identify current directory: %m" -msgstr "현재 디렉터리를 알 수 없음: %m" +msgid "invalid binary \"%s\": %m" +msgstr "\"%s\" 파일은 잘못된 바이너리 파일임: %m" -#: ../../common/exec.c:156 +#: ../../common/exec.c:215 #, c-format -msgid "invalid binary \"%s\"" -msgstr "잘못된 바이너리 파일: \"%s\"" +msgid "could not read binary \"%s\": %m" +msgstr "\"%s\" 바이너리 파일을 읽을 수 없음: %m" -#: ../../common/exec.c:206 -#, c-format -msgid "could not read binary \"%s\"" -msgstr "\"%s\" 바이너리 파일을 읽을 수 없음" - -#: ../../common/exec.c:214 +#: ../../common/exec.c:223 #, c-format msgid "could not find a \"%s\" to execute" msgstr "실행할 \"%s\" 파일 찾을 수 없음" -#: ../../common/exec.c:270 ../../common/exec.c:309 -#, c-format -msgid "could not change directory to \"%s\": %m" -msgstr "\"%s\" 디렉터리로 바꿀 수 없음: %m" - -#: ../../common/exec.c:287 +#: ../../common/exec.c:250 #, c-format -msgid "could not read symbolic link \"%s\": %m" -msgstr "\"%s\" 심벌릭 링크를 읽을 수 없음: %m" +msgid "could not resolve path \"%s\" to absolute form: %m" +msgstr "\"%s\" 경로를 절대경로로 바꿀 수 없음: %m" -#: ../../common/exec.c:410 +#: ../../common/exec.c:412 #, c-format -msgid "pclose failed: %m" -msgstr "pclose 실패: %m" +msgid "%s() failed: %m" +msgstr "%s() 실패: %m" -#: ../../common/exec.c:539 ../../common/exec.c:584 ../../common/exec.c:676 +#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 msgid "out of memory" msgstr "메모리 부족" diff --git a/src/bin/pg_controldata/po/ko.po b/src/bin/pg_controldata/po/ko.po index 962b36ece72..4b40dca65e0 100644 --- a/src/bin/pg_controldata/po/ko.po +++ b/src/bin/pg_controldata/po/ko.po @@ -3,10 +3,10 @@ # msgid "" msgstr "" -"Project-Id-Version: pg_controldata (PostgreSQL) 13\n" +"Project-Id-Version: pg_controldata (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2020-10-05 20:46+0000\n" -"PO-Revision-Date: 2020-10-06 11:18+0900\n" +"POT-Creation-Date: 2023-09-07 05:52+0000\n" +"PO-Revision-Date: 2023-05-30 12:38+0900\n" "Last-Translator: Ioseph Kim \n" "Language-Team: Korean Team \n" "Language: ko\n" @@ -20,26 +20,26 @@ msgstr "" msgid "could not open file \"%s\" for reading: %m" msgstr "\"%s\" 파일을 읽기 모드로 열 수 없습니다: %m" -#: ../../common/controldata_utils.c:89 +#: ../../common/controldata_utils.c:86 #, c-format msgid "could not read file \"%s\": %m" msgstr "\"%s\" 파일을 읽을 수 없습니다: %m" -#: ../../common/controldata_utils.c:101 +#: ../../common/controldata_utils.c:95 #, c-format msgid "could not read file \"%s\": read %d of %zu" msgstr "\"%s\" 파일을 읽을 수 없음: %d 읽음, 전체 %zu" -#: ../../common/controldata_utils.c:117 ../../common/controldata_utils.c:259 +#: ../../common/controldata_utils.c:108 ../../common/controldata_utils.c:236 #, c-format msgid "could not close file \"%s\": %m" msgstr "\"%s\" 파일을 닫을 수 없습니다: %m" -#: ../../common/controldata_utils.c:135 +#: ../../common/controldata_utils.c:124 msgid "byte ordering mismatch" msgstr "바이트 순서 불일치" -#: ../../common/controldata_utils.c:137 +#: ../../common/controldata_utils.c:126 #, c-format msgid "" "possible byte ordering mismatch\n" @@ -53,17 +53,17 @@ msgstr "" "이 프로그램에서 사용하는 순서와 일치해야 합니다. 이 경우 아래 결과는\n" "올바르지 않으며 이 데이터 디렉터리에 PostgreSQL을 설치할 수 없습니다." -#: ../../common/controldata_utils.c:203 +#: ../../common/controldata_utils.c:186 #, c-format msgid "could not open file \"%s\": %m" msgstr "\"%s\" 파일을 읽을 수 없습니다: %m" -#: ../../common/controldata_utils.c:224 +#: ../../common/controldata_utils.c:205 #, c-format msgid "could not write file \"%s\": %m" msgstr "\"%s\" 파일을 쓸 수 없습니다: %m" -#: ../../common/controldata_utils.c:245 +#: ../../common/controldata_utils.c:224 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "\"%s\" 파일을 fsync 할 수 없습니다: %m" @@ -171,12 +171,12 @@ msgstr "알수 없는 상태 코드" msgid "unrecognized wal_level" msgstr "알 수 없는 wal_level" -#: pg_controldata.c:137 pg_controldata.c:155 pg_controldata.c:163 +#: pg_controldata.c:138 pg_controldata.c:156 pg_controldata.c:163 #, c-format -msgid "Try \"%s --help\" for more information.\n" -msgstr "보다 자세한 정보는 \"%s --help\"\n" +msgid "Try \"%s --help\" for more information." +msgstr "자세한 사항은 \"%s --help\" 명령으로 살펴보세요." -#: pg_controldata.c:153 +#: pg_controldata.c:154 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "너무 많은 명령행 인수를 지정했습니다. (처음 \"%s\")" @@ -255,250 +255,250 @@ msgstr "pg_control 마지막 변경시간: %s\n" msgid "Latest checkpoint location: %X/%X\n" msgstr "마지막 체크포인트 위치: %X/%X\n" -#: pg_controldata.c:241 +#: pg_controldata.c:240 #, c-format msgid "Latest checkpoint's REDO location: %X/%X\n" msgstr "마지막 체크포인트 REDO 위치: %X/%X\n" -#: pg_controldata.c:244 +#: pg_controldata.c:242 #, c-format msgid "Latest checkpoint's REDO WAL file: %s\n" msgstr "마지막 체크포인트 REDO WAL 파일: %s\n" -#: pg_controldata.c:246 +#: pg_controldata.c:244 #, c-format msgid "Latest checkpoint's TimeLineID: %u\n" msgstr "마지막 체크포인트 TimeLineID: %u\n" -#: pg_controldata.c:248 +#: pg_controldata.c:246 #, c-format msgid "Latest checkpoint's PrevTimeLineID: %u\n" msgstr "마지막 체크포인트 PrevTimeLineID: %u\n" -#: pg_controldata.c:250 +#: pg_controldata.c:248 #, c-format msgid "Latest checkpoint's full_page_writes: %s\n" msgstr "마지막 체크포인트 full_page_writes: %s\n" -#: pg_controldata.c:251 pg_controldata.c:296 pg_controldata.c:308 +#: pg_controldata.c:249 pg_controldata.c:290 pg_controldata.c:302 msgid "off" msgstr "off" -#: pg_controldata.c:251 pg_controldata.c:296 pg_controldata.c:308 +#: pg_controldata.c:249 pg_controldata.c:290 pg_controldata.c:302 msgid "on" msgstr "on" -#: pg_controldata.c:252 +#: pg_controldata.c:250 #, c-format msgid "Latest checkpoint's NextXID: %u:%u\n" msgstr "마지막 체크포인트 NextXID: %u:%u\n" -#: pg_controldata.c:255 +#: pg_controldata.c:253 #, c-format msgid "Latest checkpoint's NextOID: %u\n" msgstr "마지막 체크포인트 NextOID: %u\n" -#: pg_controldata.c:257 +#: pg_controldata.c:255 #, c-format msgid "Latest checkpoint's NextMultiXactId: %u\n" msgstr "마지막 체크포인트 NextMultiXactId: %u\n" -#: pg_controldata.c:259 +#: pg_controldata.c:257 #, c-format msgid "Latest checkpoint's NextMultiOffset: %u\n" msgstr "마지막 체크포인트 NextMultiOffset: %u\n" -#: pg_controldata.c:261 +#: pg_controldata.c:259 #, c-format msgid "Latest checkpoint's oldestXID: %u\n" msgstr "마지막 체크포인트 제일오래된XID: %u\n" -#: pg_controldata.c:263 +#: pg_controldata.c:261 #, c-format msgid "Latest checkpoint's oldestXID's DB: %u\n" msgstr "마지막 체크포인트 제일오래된XID의 DB: %u\n" -#: pg_controldata.c:265 +#: pg_controldata.c:263 #, c-format msgid "Latest checkpoint's oldestActiveXID: %u\n" msgstr "마지막 체크포인트 제일오래된ActiveXID:%u\n" -#: pg_controldata.c:267 +#: pg_controldata.c:265 #, c-format msgid "Latest checkpoint's oldestMultiXid: %u\n" msgstr "마지막 체크포인트 제일오래된MultiXid: %u\n" -#: pg_controldata.c:269 +#: pg_controldata.c:267 #, c-format msgid "Latest checkpoint's oldestMulti's DB: %u\n" msgstr "마지막 체크포인트 제일오래된멀티Xid DB:%u\n" -#: pg_controldata.c:271 +#: pg_controldata.c:269 #, c-format msgid "Latest checkpoint's oldestCommitTsXid:%u\n" msgstr "마지막 체크포인트 제일오래된CommitTsXid:%u\n" -#: pg_controldata.c:273 +#: pg_controldata.c:271 #, c-format msgid "Latest checkpoint's newestCommitTsXid:%u\n" msgstr "마지막 체크포인트 최신CommitTsXid: %u\n" -#: pg_controldata.c:275 +#: pg_controldata.c:273 #, c-format msgid "Time of latest checkpoint: %s\n" msgstr "마지막 체크포인트 시간: %s\n" -#: pg_controldata.c:277 +#: pg_controldata.c:275 #, c-format msgid "Fake LSN counter for unlogged rels: %X/%X\n" msgstr "언로그 릴레이션의 가짜 LSN 카운터: %X/%X\n" -#: pg_controldata.c:280 +#: pg_controldata.c:277 #, c-format msgid "Minimum recovery ending location: %X/%X\n" msgstr "최소 복구 마지막 위치: %X/%X\n" -#: pg_controldata.c:283 +#: pg_controldata.c:279 #, c-format msgid "Min recovery ending loc's timeline: %u\n" msgstr "최소 복구 종료 위치의 타임라인: %u\n" -#: pg_controldata.c:285 +#: pg_controldata.c:281 #, c-format msgid "Backup start location: %X/%X\n" msgstr "백업 시작 위치: %X/%X\n" -#: pg_controldata.c:288 +#: pg_controldata.c:283 #, c-format msgid "Backup end location: %X/%X\n" msgstr "백업 종료 위치: %X/%X\n" -#: pg_controldata.c:291 +#: pg_controldata.c:285 #, c-format msgid "End-of-backup record required: %s\n" msgstr "백업 종료 레코드 필요 여부: %s\n" -#: pg_controldata.c:292 +#: pg_controldata.c:286 msgid "no" msgstr "아니오" -#: pg_controldata.c:292 +#: pg_controldata.c:286 msgid "yes" msgstr "예" -#: pg_controldata.c:293 +#: pg_controldata.c:287 #, c-format msgid "wal_level setting: %s\n" msgstr "wal_level 설정값: %s\n" -#: pg_controldata.c:295 +#: pg_controldata.c:289 #, c-format msgid "wal_log_hints setting: %s\n" msgstr "wal_log_hints 설정값: %s\n" -#: pg_controldata.c:297 +#: pg_controldata.c:291 #, c-format msgid "max_connections setting: %d\n" msgstr "max_connections 설정값: %d\n" -#: pg_controldata.c:299 +#: pg_controldata.c:293 #, c-format msgid "max_worker_processes setting: %d\n" msgstr "max_worker_processes 설정값: %d\n" -#: pg_controldata.c:301 +#: pg_controldata.c:295 #, c-format msgid "max_wal_senders setting: %d\n" msgstr "max_wal_senders 설정값: %d\n" -#: pg_controldata.c:303 +#: pg_controldata.c:297 #, c-format msgid "max_prepared_xacts setting: %d\n" msgstr "max_prepared_xacts 설정값: %d\n" -#: pg_controldata.c:305 +#: pg_controldata.c:299 #, c-format msgid "max_locks_per_xact setting: %d\n" msgstr "max_locks_per_xact 설정값: %d\n" -#: pg_controldata.c:307 +#: pg_controldata.c:301 #, c-format msgid "track_commit_timestamp setting: %s\n" msgstr "track_commit_timestamp 설정값: %s\n" -#: pg_controldata.c:309 +#: pg_controldata.c:303 #, c-format msgid "Maximum data alignment: %u\n" msgstr "최대 자료 정렬: %u\n" -#: pg_controldata.c:312 +#: pg_controldata.c:306 #, c-format msgid "Database block size: %u\n" msgstr "데이터베이스 블록 크기: %u\n" -#: pg_controldata.c:314 +#: pg_controldata.c:308 #, c-format msgid "Blocks per segment of large relation: %u\n" msgstr "대형 릴레이션의 세그먼트당 블럭 개수: %u\n" -#: pg_controldata.c:316 +#: pg_controldata.c:310 #, c-format msgid "WAL block size: %u\n" msgstr "WAL 블록 크기: %u\n" -#: pg_controldata.c:318 +#: pg_controldata.c:312 #, c-format msgid "Bytes per WAL segment: %u\n" msgstr "WAL 세그먼트의 크기(byte): %u\n" -#: pg_controldata.c:320 +#: pg_controldata.c:314 #, c-format msgid "Maximum length of identifiers: %u\n" msgstr "식별자 최대 길이: %u\n" -#: pg_controldata.c:322 +#: pg_controldata.c:316 #, c-format msgid "Maximum columns in an index: %u\n" msgstr "인덱스에서 사용하는 최대 열 수: %u\n" -#: pg_controldata.c:324 +#: pg_controldata.c:318 #, c-format msgid "Maximum size of a TOAST chunk: %u\n" msgstr "TOAST 청크 최대 크기: %u\n" -#: pg_controldata.c:326 +#: pg_controldata.c:320 #, c-format msgid "Size of a large-object chunk: %u\n" msgstr "대형 객체 청크 크기: %u\n" -#: pg_controldata.c:329 +#: pg_controldata.c:323 #, c-format msgid "Date/time type storage: %s\n" msgstr "날짜/시간형 자료의 저장방식: %s\n" -#: pg_controldata.c:330 +#: pg_controldata.c:324 msgid "64-bit integers" msgstr "64-비트 정수" -#: pg_controldata.c:331 +#: pg_controldata.c:325 #, c-format msgid "Float8 argument passing: %s\n" msgstr "Float8 인수 전달: %s\n" -#: pg_controldata.c:332 +#: pg_controldata.c:326 msgid "by reference" msgstr "참조별" -#: pg_controldata.c:332 +#: pg_controldata.c:326 msgid "by value" msgstr "값별" -#: pg_controldata.c:333 +#: pg_controldata.c:327 #, c-format msgid "Data page checksum version: %u\n" msgstr "데이터 페이지 체크섬 버전: %u\n" -#: pg_controldata.c:335 +#: pg_controldata.c:329 #, c-format msgid "Mock authentication nonce: %s\n" msgstr "임시 모의 인증: %s\n" diff --git a/src/bin/pg_ctl/po/el.po b/src/bin/pg_ctl/po/el.po index 27cea8604ee..69fbd604eeb 100644 --- a/src/bin/pg_ctl/po/el.po +++ b/src/bin/pg_ctl/po/el.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_ctl (PostgreSQL) 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-04-24 03:48+0000\n" -"PO-Revision-Date: 2023-04-24 09:04+0200\n" +"POT-Creation-Date: 2023-08-14 23:18+0000\n" +"PO-Revision-Date: 2023-08-15 13:37+0200\n" "Last-Translator: Georgios Kokolatos \n" "Language-Team: \n" "Language: el\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 3.2.2\n" +"X-Generator: Poedit 3.3.2\n" #: ../../common/exec.c:172 #, c-format @@ -36,10 +36,9 @@ msgid "could not find a \"%s\" to execute" msgstr "δεν βρέθηκε το αρχείο «%s» για να εκτελεστεί" #: ../../common/exec.c:250 -#, fuzzy, c-format -#| msgid "could not rename file \"%s\" to \"%s\": %m" +#, c-format msgid "could not resolve path \"%s\" to absolute form: %m" -msgstr "δεν ήταν δυνατή η μετονομασία του αρχείου «%s» σε «%s»: %m" +msgstr "δεν δύναται η επίλυση διαδρομής «%s» σε απόλυτη μορφή: %m" #: ../../common/exec.c:412 #, c-format @@ -170,7 +169,7 @@ msgstr "%s: δεν ήταν δυνατή η αποστολή σήματος δι #: pg_ctl.c:883 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"\n" -msgstr "Το πρόγραμμα «%s» απαιτείται από %s αλλά δεν βρέθηκε στον ίδιο κατάλογο με το «%s».\n" +msgstr "το πρόγραμμα «%s» χρειάζεται από %s αλλά δεν βρέθηκε στον ίδιο κατάλογο με το «%s»\n" #: pg_ctl.c:886 #, c-format diff --git a/src/bin/pg_ctl/po/ko.po b/src/bin/pg_ctl/po/ko.po index b925b323b65..03d2ac81901 100644 --- a/src/bin/pg_ctl/po/ko.po +++ b/src/bin/pg_ctl/po/ko.po @@ -3,10 +3,10 @@ # msgid "" msgstr "" -"Project-Id-Version: pg_ctl (PostgreSQL) 13\n" +"Project-Id-Version: pg_ctl (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-04-24 03:48+0000\n" -"PO-Revision-Date: 2023-04-24 09:04+0200\n" +"POT-Creation-Date: 2023-09-07 05:49+0000\n" +"PO-Revision-Date: 2023-05-26 13:21+0900\n" "Last-Translator: Ioseph Kim \n" "Language-Team: Korean Team \n" "Language: ko\n" @@ -16,16 +16,14 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" #: ../../common/exec.c:172 -#, fuzzy, c-format -#| msgid "invalid binary \"%s\"" +#, c-format msgid "invalid binary \"%s\": %m" -msgstr "잘못된 바이너리 파일 \"%s\"" +msgstr "\"%s\" 파일은 잘못된 바이너리 파일임: %m" #: ../../common/exec.c:215 -#, fuzzy, c-format -#| msgid "could not read binary \"%s\"" +#, c-format msgid "could not read binary \"%s\": %m" -msgstr "\"%s\" 바이너리 파일을 읽을 수 없음" +msgstr "\"%s\" 바이너리 파일을 읽을 수 없음: %m" #: ../../common/exec.c:223 #, c-format @@ -33,16 +31,14 @@ msgid "could not find a \"%s\" to execute" msgstr "실행할 \"%s\" 파일을 찾을 수 없음" #: ../../common/exec.c:250 -#, fuzzy, c-format -#| msgid "could not reopen file \"%s\" as stderr: %m" +#, c-format msgid "could not resolve path \"%s\" to absolute form: %m" -msgstr "stderr 로 사용하기 위해 \"%s\" 파일 다시 열기 실패: %m" +msgstr "\"%s\" 경로를 절대경로로 바꿀 수 없음: %m" #: ../../common/exec.c:412 -#, fuzzy, c-format -#| msgid "%s failed: %m" +#, c-format msgid "%s() failed: %m" -msgstr "%s 실패: %m" +msgstr "%s() 실패: %m" #: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 msgid "out of memory" @@ -148,7 +144,9 @@ msgstr "%s: 서버를 시작할 수 없음: 오류 코드 %lu\n" #: pg_ctl.c:782 #, c-format msgid "%s: cannot set core file size limit; disallowed by hard limit\n" -msgstr "%s: 코어 파일 크기 한도를 설정할 수 없음, 하드 디스크 용량 초과로 허용되지 않음\n" +msgstr "" +"%s: 코어 파일 크기 한도를 설정할 수 없음, 하드 디스크 용량 초과로 허용되지 않" +"음\n" #: pg_ctl.c:808 #, c-format @@ -166,28 +164,20 @@ msgid "%s: could not send stop signal (PID: %d): %s\n" msgstr "%s: stop 시그널을 보낼 수 없음 (PID: %d): %s\n" #: pg_ctl.c:883 -#, fuzzy, c-format -#| msgid "" -#| "The program \"%s\" is needed by %s but was not found in the\n" -#| "same directory as \"%s\".\n" -#| "Check your installation." -msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"\n" +#, c-format +msgid "" +"program \"%s\" is needed by %s but was not found in the same directory as " +"\"%s\"\n" msgstr "" "\"%s\" 프로그램이 %s 작업에서 필요합니다. 그런데, 이 파일이\n" "\"%s\" 파일이 있는 디렉터리안에 없습니다.\n" -"설치 상태를 확인해 주십시오." #: pg_ctl.c:886 -#, fuzzy, c-format -#| msgid "" -#| "The program \"%s\" was found by \"%s\"\n" -#| "but was not the same version as %s.\n" -#| "Check your installation." +#, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s\n" msgstr "" "\"%s\" 프로그램을 \"%s\" 작업 때문에 찾았지만 이 파일은\n" "%s 프로그램의 버전과 다릅니다.\n" -"설치 상태를 확인해 주십시오." #: pg_ctl.c:918 #, c-format @@ -283,7 +273,8 @@ msgstr "어째든 서버를 시작해 봅니다\n" #: pg_ctl.c:1095 #, c-format msgid "%s: cannot restart server; single-user server is running (PID: %d)\n" -msgstr "%s: 서버를 다시 시작 할 수 없음; 단일사용자 서버가 실행 중임 (PID: %d)\n" +msgstr "" +"%s: 서버를 다시 시작 할 수 없음; 단일사용자 서버가 실행 중임 (PID: %d)\n" #: pg_ctl.c:1098 pg_ctl.c:1157 msgid "Please terminate the single-user server and try again.\n" @@ -301,7 +292,9 @@ msgstr "어째든 서버를 시작합니다\n" #: pg_ctl.c:1154 #, c-format msgid "%s: cannot reload server; single-user server is running (PID: %d)\n" -msgstr "%s: 서버 환경설정을 다시 불러올 수 없음; 단일 사용자 서버가 실행 중임 (PID: %d)\n" +msgstr "" +"%s: 서버 환경설정을 다시 불러올 수 없음; 단일 사용자 서버가 실행 중임 (PID: " +"%d)\n" #: pg_ctl.c:1163 #, c-format @@ -362,7 +355,8 @@ msgstr "서버를 운영 모드로 전환합니다\n" #: pg_ctl.c:1274 #, c-format msgid "%s: cannot rotate log file; single-user server is running (PID: %d)\n" -msgstr "%s: 서버 로그 파일을 바꿀 수 없음; 단일 사용자 서버가 실행 중임 (PID: %d)\n" +msgstr "" +"%s: 서버 로그 파일을 바꿀 수 없음; 단일 사용자 서버가 실행 중임 (PID: %d)\n" #: pg_ctl.c:1284 #, c-format @@ -571,9 +565,11 @@ msgstr " %s kill 시그널이름 PID\n" #, c-format msgid "" " %s register [-D DATADIR] [-N SERVICENAME] [-U USERNAME] [-P PASSWORD]\n" -" [-S START-TYPE] [-e SOURCE] [-W] [-t SECS] [-s] [-o OPTIONS]\n" +" [-S START-TYPE] [-e SOURCE] [-W] [-t SECS] [-s] [-o " +"OPTIONS]\n" msgstr "" -" %s register [-D 데이터디렉터리] [-N 서비스이름] [-U 사용자이름] [-P 암호]\n" +" %s register [-D 데이터디렉터리] [-N 서비스이름] [-U 사용자이름] [-P 암" +"호]\n" " [-S 시작형태] [-e SOURCE] [-w] [-t 초] [-o 옵션]\n" #: pg_ctl.c:1982 @@ -593,17 +589,21 @@ msgstr "" #: pg_ctl.c:1986 #, c-format msgid " -D, --pgdata=DATADIR location of the database storage area\n" -msgstr " -D, --pgdata=데이터디렉터리 데이터베이스 자료가 저장되어있는 디렉터리\n" +msgstr "" +" -D, --pgdata=데이터디렉터리 데이터베이스 자료가 저장되어있는 디렉터리\n" #: pg_ctl.c:1988 #, c-format -msgid " -e SOURCE event source for logging when running as a service\n" -msgstr " -e SOURCE 서비스가 실행 중일때 쌓을 로그를 위한 이벤트 소스\n" +msgid "" +" -e SOURCE event source for logging when running as a service\n" +msgstr "" +" -e SOURCE 서비스가 실행 중일때 쌓을 로그를 위한 이벤트 소스\n" #: pg_ctl.c:1990 #, c-format msgid " -s, --silent only print errors, no informational messages\n" -msgstr " -s, --silent 일반적인 메시지는 보이지 않고, 오류만 보여줌\n" +msgstr "" +" -s, --silent 일반적인 메시지는 보이지 않고, 오류만 보여줌\n" #: pg_ctl.c:1991 #, c-format @@ -684,8 +684,10 @@ msgstr "" #: pg_ctl.c:2009 #, c-format -msgid " -m, --mode=MODE MODE can be \"smart\", \"fast\", or \"immediate\"\n" -msgstr " -m, --mode=모드 모드는 \"smart\", \"fast\", \"immediate\" 중 하나\n" +msgid "" +" -m, --mode=MODE MODE can be \"smart\", \"fast\", or \"immediate\"\n" +msgstr "" +" -m, --mode=모드 모드는 \"smart\", \"fast\", \"immediate\" 중 하나\n" #: pg_ctl.c:2011 #, c-format @@ -704,12 +706,16 @@ msgstr " smart 모든 클라이언트의 연결이 끊기게 되면 중 #: pg_ctl.c:2013 #, c-format msgid " fast quit directly, with proper shutdown (default)\n" -msgstr " fast 클라이언트의 연결을 강제로 끊고 정상적으로 중지 됨 (기본값)\n" +msgstr "" +" fast 클라이언트의 연결을 강제로 끊고 정상적으로 중지 됨 (기본값)\n" #: pg_ctl.c:2014 #, c-format -msgid " immediate quit without complete shutdown; will lead to recovery on restart\n" -msgstr " immediate 그냥 무조건 중지함; 다시 시작할 때 복구 작업을 할 수도 있음\n" +msgid "" +" immediate quit without complete shutdown; will lead to recovery on " +"restart\n" +msgstr "" +" immediate 그냥 무조건 중지함; 다시 시작할 때 복구 작업을 할 수도 있음\n" #: pg_ctl.c:2016 #, c-format @@ -731,7 +737,8 @@ msgstr "" #: pg_ctl.c:2021 #, c-format -msgid " -N SERVICENAME service name with which to register PostgreSQL server\n" +msgid "" +" -N SERVICENAME service name with which to register PostgreSQL server\n" msgstr " -N SERVICENAME 서비스 목록에 등록될 PostgreSQL 서비스 이름\n" #: pg_ctl.c:2022 @@ -760,7 +767,8 @@ msgstr "" #: pg_ctl.c:2027 #, c-format -msgid " auto start service automatically during system startup (default)\n" +msgid "" +" auto start service automatically during system startup (default)\n" msgstr " auto 시스템이 시작되면 자동으로 서비스가 시작됨 (초기값)\n" #: pg_ctl.c:2028 @@ -845,38 +853,6 @@ msgstr "%s: 수행할 작업을 지정하지 않았습니다\n" #: pg_ctl.c:2445 #, c-format -msgid "%s: no database directory specified and environment variable PGDATA unset\n" +msgid "" +"%s: no database directory specified and environment variable PGDATA unset\n" msgstr "%s: -D 옵션도 없고, PGDATA 환경변수값도 지정되어 있지 않습니다.\n" - -#, c-format -#~ msgid "" -#~ "The program \"%s\" is needed by %s but was not found in the\n" -#~ "same directory as \"%s\".\n" -#~ "Check your installation.\n" -#~ msgstr "" -#~ "\"%s\" 프로그램은 %s 에서 필요로 합니다. 그런데, 이 파일이\n" -#~ "\"%s\" 디렉터리 안에 없습니다.\n" -#~ "설치 상태를 확인해 주십시오.\n" - -#, c-format -#~ msgid "" -#~ "The program \"%s\" was found by \"%s\"\n" -#~ "but was not the same version as %s.\n" -#~ "Check your installation.\n" -#~ msgstr "" -#~ "\"%s\" 프로그램을 \"%s\" 에서 필요해서 찾았지만 이 파일은\n" -#~ "%s 버전과 같지 않습니다.\n" -#~ "설치 상태를 확인해 주십시오.\n" - -#~ msgid "" -#~ "WARNING: online backup mode is active\n" -#~ "Shutdown will not complete until pg_stop_backup() is called.\n" -#~ "\n" -#~ msgstr "" -#~ "경고: 온라인 백업 모드가 활성 상태입니다.\n" -#~ "pg_stop_backup()이 호출될 때까지 종료가 완료되지 않습니다.\n" -#~ "\n" - -#, c-format -#~ msgid "pclose failed: %m" -#~ msgstr "pclose 실패: %m" diff --git a/src/bin/pg_ctl/po/zh_TW.po b/src/bin/pg_ctl/po/zh_TW.po new file mode 100644 index 00000000000..a8937759b1a --- /dev/null +++ b/src/bin/pg_ctl/po/zh_TW.po @@ -0,0 +1,983 @@ +# Traditional Chinese message translation file for pg_ctl +# Copyright (C) 2023 PostgreSQL Global Development Group +# This file is distributed under the same license as the pg_ctl (PostgreSQL) package. +# 2004-12-13 Zhenbang Wei +# +msgid "" +msgstr "" +"Project-Id-Version: pg_ctl (PostgreSQL) 16\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2023-09-05 20:48+0000\n" +"PO-Revision-Date: 2023-09-11 08:37+0800\n" +"Last-Translator: Zhenbang Wei \n" +"Language-Team: \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.3.2\n" + +# command.c:122 +#: ../../common/exec.c:172 +#, c-format +msgid "invalid binary \"%s\": %m" +msgstr "無效的執行檔 \"%s\": %m" + +# command.c:1103 +#: ../../common/exec.c:215 +#, c-format +msgid "could not read binary \"%s\": %m" +msgstr "無法讀取執行檔 \"%s\": %m" + +#: ../../common/exec.c:223 +#, c-format +msgid "could not find a \"%s\" to execute" +msgstr "找不到可執行的 \"%s\"" + +# utils/error/elog.c:1128 +#: ../../common/exec.c:250 +#, c-format +msgid "could not resolve path \"%s\" to absolute form: %m" +msgstr "無法解析路徑 \"%s\" 為絕對路徑: %m" + +# fe-misc.c:991 +#: ../../common/exec.c:412 +#, c-format +msgid "%s() failed: %m" +msgstr "%s() 失敗: %m" + +# commands/sequence.c:798 executor/execGrouping.c:328 +# executor/execGrouping.c:388 executor/nodeIndexscan.c:1051 lib/dllist.c:43 +# lib/dllist.c:88 libpq/auth.c:637 postmaster/pgstat.c:1006 +# postmaster/pgstat.c:1023 postmaster/pgstat.c:2452 postmaster/pgstat.c:2527 +# postmaster/pgstat.c:2572 postmaster/pgstat.c:2623 +# postmaster/postmaster.c:755 postmaster/postmaster.c:1625 +# postmaster/postmaster.c:2344 storage/buffer/localbuf.c:139 +# storage/file/fd.c:587 storage/file/fd.c:620 storage/file/fd.c:766 +# storage/ipc/sinval.c:789 storage/lmgr/lock.c:497 storage/smgr/md.c:138 +# storage/smgr/md.c:848 storage/smgr/smgr.c:213 utils/adt/cash.c:297 +# utils/adt/cash.c:312 utils/adt/oracle_compat.c:73 +# utils/adt/oracle_compat.c:124 utils/adt/regexp.c:191 +# utils/adt/ri_triggers.c:3471 utils/cache/relcache.c:164 +# utils/cache/relcache.c:178 utils/cache/relcache.c:1130 +# utils/cache/typcache.c:165 utils/cache/typcache.c:487 +# utils/fmgr/dfmgr.c:127 utils/fmgr/fmgr.c:521 utils/fmgr/fmgr.c:532 +# utils/init/miscinit.c:213 utils/init/miscinit.c:234 +# utils/init/miscinit.c:244 utils/misc/guc.c:1898 utils/misc/guc.c:1911 +# utils/misc/guc.c:1924 utils/mmgr/aset.c:337 utils/mmgr/aset.c:503 +# utils/mmgr/aset.c:700 utils/mmgr/aset.c:893 utils/mmgr/portalmem.c:75 +#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 +msgid "out of memory" +msgstr "記憶體不足" + +# commands/sequence.c:798 executor/execGrouping.c:328 +# executor/execGrouping.c:388 executor/nodeIndexscan.c:1051 lib/dllist.c:43 +# lib/dllist.c:88 libpq/auth.c:637 postmaster/pgstat.c:1006 +# postmaster/pgstat.c:1023 postmaster/pgstat.c:2452 postmaster/pgstat.c:2527 +# postmaster/pgstat.c:2572 postmaster/pgstat.c:2623 +# postmaster/postmaster.c:755 postmaster/postmaster.c:1625 +# postmaster/postmaster.c:2344 storage/buffer/localbuf.c:139 +# storage/file/fd.c:587 storage/file/fd.c:620 storage/file/fd.c:766 +# storage/ipc/sinval.c:789 storage/lmgr/lock.c:497 storage/smgr/md.c:138 +# storage/smgr/md.c:848 storage/smgr/smgr.c:213 utils/adt/cash.c:297 +# utils/adt/cash.c:312 utils/adt/oracle_compat.c:73 +# utils/adt/oracle_compat.c:124 utils/adt/regexp.c:191 +# utils/adt/ri_triggers.c:3471 utils/cache/relcache.c:164 +# utils/cache/relcache.c:178 utils/cache/relcache.c:1130 +# utils/cache/typcache.c:165 utils/cache/typcache.c:487 +# utils/fmgr/dfmgr.c:127 utils/fmgr/fmgr.c:521 utils/fmgr/fmgr.c:532 +# utils/init/miscinit.c:213 utils/init/miscinit.c:234 +# utils/init/miscinit.c:244 utils/misc/guc.c:1898 utils/misc/guc.c:1911 +# utils/misc/guc.c:1924 utils/mmgr/aset.c:337 utils/mmgr/aset.c:503 +# utils/mmgr/aset.c:700 utils/mmgr/aset.c:893 utils/mmgr/portalmem.c:75 +#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 +#: ../../port/path.c:753 ../../port/path.c:791 ../../port/path.c:808 +#, c-format +msgid "out of memory\n" +msgstr "記憶體不足\n" + +# common.c:78 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "無法複製 null 指標(內部錯誤)\n" + +#: ../../common/wait_error.c:55 +#, c-format +msgid "command not executable" +msgstr "無法執行指令" + +#: ../../common/wait_error.c:59 +#, c-format +msgid "command not found" +msgstr "找不到指令" + +#: ../../common/wait_error.c:64 +#, c-format +msgid "child process exited with exit code %d" +msgstr "子行程結束,結束碼 %d" + +#: ../../common/wait_error.c:72 +#, c-format +msgid "child process was terminated by exception 0x%X" +msgstr "子行程因異常 0x%X 而停止" + +#: ../../common/wait_error.c:76 +#, c-format +msgid "child process was terminated by signal %d: %s" +msgstr "子行程因信號 %d 而停止: %s" + +#: ../../common/wait_error.c:82 +#, c-format +msgid "child process exited with unrecognized status %d" +msgstr "子行程結束,不明狀態碼 %d" + +#: ../../port/path.c:775 +#, c-format +msgid "could not get current working directory: %s\n" +msgstr "無法取得目前的工作目錄: %s\n" + +# postmaster/postmaster.c:892 +#: pg_ctl.c:255 +#, c-format +msgid "%s: directory \"%s\" does not exist\n" +msgstr "%s: 目錄 \"%s\" 不存在\n" + +#: pg_ctl.c:258 +#, c-format +msgid "%s: could not access directory \"%s\": %s\n" +msgstr "%s: 無法存取目錄 \"%s\": %s\n" + +# postmaster/postmaster.c:892 +#: pg_ctl.c:271 +#, c-format +msgid "%s: directory \"%s\" is not a database cluster directory\n" +msgstr "%s: 目錄 \"%s\" 不是資料庫叢集目錄\n" + +#: pg_ctl.c:284 +#, c-format +msgid "%s: could not open PID file \"%s\": %s\n" +msgstr "%s: 無法開啟 PID 檔 \"%s\": %s\n" + +#: pg_ctl.c:293 +#, c-format +msgid "%s: the PID file \"%s\" is empty\n" +msgstr "%s: PID 檔 \"%s\" 是空的\n" + +# access/transam/xlog.c:5414 access/transam/xlog.c:5535 +# access/transam/xlog.c:5541 access/transam/xlog.c:5572 +# access/transam/xlog.c:5578 +#: pg_ctl.c:296 +#, c-format +msgid "%s: invalid data in PID file \"%s\"\n" +msgstr "%s: PID 檔 \"%s\" 中的資料無效\n" + +#: pg_ctl.c:458 pg_ctl.c:500 +#, c-format +msgid "%s: could not start server: %s\n" +msgstr "%s: 無法啟動伺服器: %s\n" + +#: pg_ctl.c:478 +#, c-format +msgid "%s: could not start server due to setsid() failure: %s\n" +msgstr "%s: 由於 setsid() 失敗,無法啟動伺服器: %s\n" + +# command.c:1148 +#: pg_ctl.c:548 +#, c-format +msgid "%s: could not open log file \"%s\": %s\n" +msgstr "%s: 無法開啟日誌檔 \"%s\": %s\n" + +#: pg_ctl.c:565 +#, c-format +msgid "%s: could not start server: error code %lu\n" +msgstr "%s: 無法啟動伺服器: 錯誤碼 %lu\n" + +#: pg_ctl.c:782 +#, c-format +msgid "%s: cannot set core file size limit; disallowed by hard limit\n" +msgstr "%s: 無法設定核心檔案大小限制,被硬限制禁止\n" + +#: pg_ctl.c:808 +#, c-format +msgid "%s: could not read file \"%s\"\n" +msgstr "%s: 無法讀取檔案 \"%s\"\n" + +#: pg_ctl.c:813 +#, c-format +msgid "%s: option file \"%s\" must have exactly one line\n" +msgstr "%s: 選項檔 \"%s\" 只能有一行內容\n" + +#: pg_ctl.c:855 pg_ctl.c:1039 pg_ctl.c:1107 +#, c-format +msgid "%s: could not send stop signal (PID: %d): %s\n" +msgstr "%s: 無法發送停止信號(PID: %d): %s\n" + +#: pg_ctl.c:883 +#, c-format +msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"\n" +msgstr "程式 \"%s\" 被 %s 所需,但在相同目錄中並未找到 \"%s\"。\n" + +#: pg_ctl.c:886 +#, c-format +msgid "program \"%s\" was found by \"%s\" but was not the same version as %s\n" +msgstr "程式 \"%s\" 被 \"%s\" 找到,但版本與 %s 不相同。\n" + +#: pg_ctl.c:918 +#, c-format +msgid "%s: database system initialization failed\n" +msgstr "%s: 資料庫系統初始化失敗。\n" + +#: pg_ctl.c:933 +#, c-format +msgid "%s: another server might be running; trying to start server anyway\n" +msgstr "%s: 可能有另一個伺服器正在執行;嘗試強制啟動伺服器\n" + +#: pg_ctl.c:981 +msgid "waiting for server to start..." +msgstr "等待伺服器啟動中..." + +#: pg_ctl.c:986 pg_ctl.c:1063 pg_ctl.c:1126 pg_ctl.c:1238 +msgid " done\n" +msgstr " 完成\n" + +#: pg_ctl.c:987 +msgid "server started\n" +msgstr "伺服器已啟動\n" + +#: pg_ctl.c:990 pg_ctl.c:996 pg_ctl.c:1243 +msgid " stopped waiting\n" +msgstr " 停止等待\n" + +#: pg_ctl.c:991 +#, c-format +msgid "%s: server did not start in time\n" +msgstr "%s: 伺服器未能及時啟動\n" + +#: pg_ctl.c:997 +#, c-format +msgid "" +"%s: could not start server\n" +"Examine the log output.\n" +msgstr "" +"%s: 無法啟動伺服器\n" +"請檢查日誌輸出。\n" + +#: pg_ctl.c:1005 +msgid "server starting\n" +msgstr "伺服器啟動中\n" + +#: pg_ctl.c:1024 pg_ctl.c:1083 pg_ctl.c:1147 pg_ctl.c:1186 pg_ctl.c:1267 +#, c-format +msgid "%s: PID file \"%s\" does not exist\n" +msgstr "%s: PID 檔 \"%s\" 不存在\n" + +#: pg_ctl.c:1025 pg_ctl.c:1085 pg_ctl.c:1148 pg_ctl.c:1187 pg_ctl.c:1268 +msgid "Is server running?\n" +msgstr "伺服器是否在執行中?\n" + +#: pg_ctl.c:1031 +#, c-format +msgid "%s: cannot stop server; single-user server is running (PID: %d)\n" +msgstr "%s: 無法停止伺服器,單人模式伺服器執行中(PID: %d)\n" + +#: pg_ctl.c:1046 +msgid "server shutting down\n" +msgstr "伺服器關閉中\n" + +#: pg_ctl.c:1051 pg_ctl.c:1112 +msgid "waiting for server to shut down..." +msgstr "等待伺服器關閉中..." + +#: pg_ctl.c:1055 pg_ctl.c:1117 +msgid " failed\n" +msgstr " 失敗\n" + +#: pg_ctl.c:1057 pg_ctl.c:1119 +#, c-format +msgid "%s: server does not shut down\n" +msgstr "%s: 伺服器未停止\n" + +#: pg_ctl.c:1059 pg_ctl.c:1121 +msgid "" +"HINT: The \"-m fast\" option immediately disconnects sessions rather than\n" +"waiting for session-initiated disconnection.\n" +msgstr "提示: 使用 \"-m fast\" 選項會立即中斷工作階段,而不是等待由工作階段發起的斷線。\n" + +#: pg_ctl.c:1065 pg_ctl.c:1127 +msgid "server stopped\n" +msgstr "伺服器已停止\n" + +#: pg_ctl.c:1086 +msgid "trying to start server anyway\n" +msgstr "嘗試強制啟動伺服器。\n" + +#: pg_ctl.c:1095 +#, c-format +msgid "%s: cannot restart server; single-user server is running (PID: %d)\n" +msgstr "%s: 無法重新啟動伺服器,單人模式伺服器執行中(PID: %d)\n" + +#: pg_ctl.c:1098 pg_ctl.c:1157 +msgid "Please terminate the single-user server and try again.\n" +msgstr "請結束單人模式伺服器,然後再試一次。\n" + +#: pg_ctl.c:1131 +#, c-format +msgid "%s: old server process (PID: %d) seems to be gone\n" +msgstr "%s: 舊的伺服器行程(PID: %d) 似乎已經不存在\n" + +#: pg_ctl.c:1133 +msgid "starting server anyway\n" +msgstr "強制啟動伺服器中\n" + +#: pg_ctl.c:1154 +#, c-format +msgid "%s: cannot reload server; single-user server is running (PID: %d)\n" +msgstr "%s: 無法重新載入伺服器,單人模式伺服器執行中(PID: %d)\n" + +#: pg_ctl.c:1163 +#, c-format +msgid "%s: could not send reload signal (PID: %d): %s\n" +msgstr "%s: 無法發送重新載入信號(PID: %d): %s\n" + +#: pg_ctl.c:1168 +msgid "server signaled\n" +msgstr "伺服器已收到信號\n" + +#: pg_ctl.c:1193 +#, c-format +msgid "%s: cannot promote server; single-user server is running (PID: %d)\n" +msgstr "%s: 無法升級伺服器,單人模式伺服器執行中(PID: %d)\n" + +#: pg_ctl.c:1201 +#, c-format +msgid "%s: cannot promote server; server is not in standby mode\n" +msgstr "%s: 無法升級伺服器,伺服器不在待機模式\n" + +# postmaster/postmaster.c:799 +#: pg_ctl.c:1211 +#, c-format +msgid "%s: could not create promote signal file \"%s\": %s\n" +msgstr "%s: 無法建立升級信號檔案 \"%s\": %s\n" + +# postmaster/postmaster.c:799 +#: pg_ctl.c:1217 +#, c-format +msgid "%s: could not write promote signal file \"%s\": %s\n" +msgstr "%s: 無法寫入升級信號檔 \"%s\": %s\n" + +#: pg_ctl.c:1225 +#, c-format +msgid "%s: could not send promote signal (PID: %d): %s\n" +msgstr "%s: 無法發送升級信號(PID: %d): %s\n" + +#: pg_ctl.c:1228 +#, c-format +msgid "%s: could not remove promote signal file \"%s\": %s\n" +msgstr "%s: 無法刪除升級信號檔 \"%s\": %s\n" + +#: pg_ctl.c:1235 +msgid "waiting for server to promote..." +msgstr "等得伺服器升級中..." + +#: pg_ctl.c:1239 +msgid "server promoted\n" +msgstr "伺服器已升級\n" + +#: pg_ctl.c:1244 +#, c-format +msgid "%s: server did not promote in time\n" +msgstr "%s: 伺服器未能及時升級\n" + +#: pg_ctl.c:1250 +msgid "server promoting\n" +msgstr "伺服器升級中\n" + +#: pg_ctl.c:1274 +#, c-format +msgid "%s: cannot rotate log file; single-user server is running (PID: %d)\n" +msgstr "%s: 無法輪替日誌檔,單人模式伺服器執行中(PID: %d)\n" + +# postmaster/postmaster.c:799 +#: pg_ctl.c:1284 +#, c-format +msgid "%s: could not create log rotation signal file \"%s\": %s\n" +msgstr "%s: 無法建立日誌輪替信號檔 \"%s\": %s\n" + +# postmaster/postmaster.c:799 +#: pg_ctl.c:1290 +#, c-format +msgid "%s: could not write log rotation signal file \"%s\": %s\n" +msgstr "%s: 無法寫入日誌輪替信號檔 \"%s\": %s\n" + +#: pg_ctl.c:1298 +#, c-format +msgid "%s: could not send log rotation signal (PID: %d): %s\n" +msgstr "%s: 無法發送日誌輪替信號(PID: %d): %s\n" + +#: pg_ctl.c:1301 +#, c-format +msgid "%s: could not remove log rotation signal file \"%s\": %s\n" +msgstr "%s: 無法刪除日誌輪替信號檔 \"%s\": %s\n" + +# commands/user.c:655 +#: pg_ctl.c:1306 +msgid "server signaled to rotate log file\n" +msgstr "伺服器已收到日誌輪替信號\n" + +#: pg_ctl.c:1353 +#, c-format +msgid "%s: single-user server is running (PID: %d)\n" +msgstr "%s: 單人模式伺服器執行中(PID: %d)\n" + +#: pg_ctl.c:1367 +#, c-format +msgid "%s: server is running (PID: %d)\n" +msgstr "%s: 伺服器執行中(PID: %d)\n" + +#: pg_ctl.c:1383 +#, c-format +msgid "%s: no server running\n" +msgstr "%s: 沒有執行中的伺服器\n" + +#: pg_ctl.c:1400 +#, c-format +msgid "%s: could not send signal %d (PID: %d): %s\n" +msgstr "%s: 無法發送信號 %d(PID: %d): %s\n" + +#: pg_ctl.c:1431 +#, c-format +msgid "%s: could not find own program executable\n" +msgstr "%s: 找不到自身的程式執行檔\n" + +#: pg_ctl.c:1441 +#, c-format +msgid "%s: could not find postgres program executable\n" +msgstr "%s: 找不到 postgres 程式的執行檔\n" + +#: pg_ctl.c:1511 pg_ctl.c:1545 +#, c-format +msgid "%s: could not open service manager\n" +msgstr "%s: 無法開啟服務管理員\n" + +#: pg_ctl.c:1517 +#, c-format +msgid "%s: service \"%s\" already registered\n" +msgstr "%s: 服務 \"%s\" 已註冊\n" + +#: pg_ctl.c:1528 +#, c-format +msgid "%s: could not register service \"%s\": error code %lu\n" +msgstr "%s: 無法註冊服務 \"%s\": 錯誤碼 %lu\n" + +#: pg_ctl.c:1551 +#, c-format +msgid "%s: service \"%s\" not registered\n" +msgstr "%s: 服務 \"%s\" 未註冊\n" + +#: pg_ctl.c:1558 +#, c-format +msgid "%s: could not open service \"%s\": error code %lu\n" +msgstr "%s: 無法開啟服務 \"%s\": 錯誤碼 %lu\n" + +#: pg_ctl.c:1567 +#, c-format +msgid "%s: could not unregister service \"%s\": error code %lu\n" +msgstr "%s: 無法取消註冊服務 \"%s\": 錯誤碼 %lu\n" + +#: pg_ctl.c:1654 +msgid "Waiting for server startup...\n" +msgstr "等待伺服器啟動...\n" + +#: pg_ctl.c:1657 +msgid "Timed out waiting for server startup\n" +msgstr "等待伺服器啟動逾時\n" + +# utils/init/postinit.c:130 +#: pg_ctl.c:1661 +msgid "Server started and accepting connections\n" +msgstr "伺服器已啟動並接受連線\n" + +#: pg_ctl.c:1716 +#, c-format +msgid "%s: could not start service \"%s\": error code %lu\n" +msgstr "%s: 無法啟動服務 \"%s\": 錯誤碼 %lu\n" + +# port/win32/security.c:39 +#: pg_ctl.c:1789 +#, c-format +msgid "%s: could not open process token: error code %lu\n" +msgstr "%s: 無法開啟行程 token: 錯誤碼 %lu\n" + +#: pg_ctl.c:1803 +#, c-format +msgid "%s: could not allocate SIDs: error code %lu\n" +msgstr "%s: 無法配置 SID: 錯誤碼 %lu\n" + +# port/win32/signal.c:239 +#: pg_ctl.c:1829 +#, c-format +msgid "%s: could not create restricted token: error code %lu\n" +msgstr "%s: 無法建立受限制的 token: 錯誤碼 %lu\n" + +#: pg_ctl.c:1911 +#, c-format +msgid "%s: could not get LUIDs for privileges: error code %lu\n" +msgstr "%s: 無法取得特權的LUID: 錯誤碼 %lu\n" + +#: pg_ctl.c:1919 pg_ctl.c:1934 +#, c-format +msgid "%s: could not get token information: error code %lu\n" +msgstr "%s: 無法取得 token 資訊: 錯誤碼 %lu\n" + +#: pg_ctl.c:1928 +#, c-format +msgid "%s: out of memory\n" +msgstr "%s: 記憶體不足\n" + +#: pg_ctl.c:1958 +#, c-format +msgid "Try \"%s --help\" for more information.\n" +msgstr "用 \"%s --help\" 取得更多資訊。\n" + +#: pg_ctl.c:1966 +#, c-format +msgid "" +"%s is a utility to initialize, start, stop, or control a PostgreSQL server.\n" +"\n" +msgstr "" +"%s 是用於初始化、啟動、停止或控制 PostgreSQL 伺服器的工具。\n" +"\n" + +#: pg_ctl.c:1967 +#, c-format +msgid "Usage:\n" +msgstr "用法:\n" + +#: pg_ctl.c:1968 +#, c-format +msgid " %s init[db] [-D DATADIR] [-s] [-o OPTIONS]\n" +msgstr " %s init[db] [-D DATADIR] [-s] [-o OPTIONS]\n" + +#: pg_ctl.c:1969 +#, c-format +msgid "" +" %s start [-D DATADIR] [-l FILENAME] [-W] [-t SECS] [-s]\n" +" [-o OPTIONS] [-p PATH] [-c]\n" +msgstr "" +" %s start [-D DATADIR] [-l FILENAME] [-W] [-t SECS] [-s]\n" +" [-o OPTIONS] [-p PATH] [-c]\n" + +#: pg_ctl.c:1971 +#, c-format +msgid " %s stop [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n" +msgstr " %s stop [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n" + +#: pg_ctl.c:1972 +#, c-format +msgid "" +" %s restart [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n" +" [-o OPTIONS] [-c]\n" +msgstr "" +" %s restart [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n" +" [-o OPTIONS] [-c]\n" + +#: pg_ctl.c:1974 +#, c-format +msgid " %s reload [-D DATADIR] [-s]\n" +msgstr " %s reload [-D DATADIR] [-s]\n" + +#: pg_ctl.c:1975 +#, c-format +msgid " %s status [-D DATADIR]\n" +msgstr " %s status [-D DATADIR]\n" + +#: pg_ctl.c:1976 +#, c-format +msgid " %s promote [-D DATADIR] [-W] [-t SECS] [-s]\n" +msgstr " %s promote [-D DATADIR] [-W] [-t SECS] [-s]\n" + +#: pg_ctl.c:1977 +#, c-format +msgid " %s logrotate [-D DATADIR] [-s]\n" +msgstr " %s logrotate [-D DATADIR] [-s]\n" + +#: pg_ctl.c:1978 +#, c-format +msgid " %s kill SIGNALNAME PID\n" +msgstr " %s kill SIGNALNAME PID\n" + +#: pg_ctl.c:1980 +#, c-format +msgid "" +" %s register [-D DATADIR] [-N SERVICENAME] [-U USERNAME] [-P PASSWORD]\n" +" [-S START-TYPE] [-e SOURCE] [-W] [-t SECS] [-s] [-o OPTIONS]\n" +msgstr "" +" %s register [-D DATADIR] [-N SERVICENAME] [-U USERNAME] [-P PASSWORD]\n" +" [-S START-TYPE] [-e SOURCE] [-W] [-t SECS] [-s] [-o OPTIONS]\n" + +#: pg_ctl.c:1982 +#, c-format +msgid " %s unregister [-N SERVICENAME]\n" +msgstr " %s unregister [-N SERVICENAME]\n" + +#: pg_ctl.c:1985 +#, c-format +msgid "" +"\n" +"Common options:\n" +msgstr "" +"\n" +"常用選項:\n" + +#: pg_ctl.c:1986 +#, c-format +msgid " -D, --pgdata=DATADIR location of the database storage area\n" +msgstr " -D, --pgdata=DATADIR 資料庫儲存區域的位置\n" + +#: pg_ctl.c:1988 +#, c-format +msgid " -e SOURCE event source for logging when running as a service\n" +msgstr " -e SOURCE 在作為服務運行時的記錄事件來源\n" + +#: pg_ctl.c:1990 +#, c-format +msgid " -s, --silent only print errors, no informational messages\n" +msgstr " -s, --silent 僅顯示錯誤訊息,不顯示資訊性訊息。\n" + +#: pg_ctl.c:1991 +#, c-format +msgid " -t, --timeout=SECS seconds to wait when using -w option\n" +msgstr " -t, --timeout=SECS 使用 -w 選項時等待的秒數\n" + +#: pg_ctl.c:1992 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version 顯示版本,然後結束\n" + +#: pg_ctl.c:1993 +#, c-format +msgid " -w, --wait wait until operation completes (default)\n" +msgstr " -w, --wait 等待操作完成(預設值)\n" + +#: pg_ctl.c:1994 +#, c-format +msgid " -W, --no-wait do not wait until operation completes\n" +msgstr " -W, --no-wait 不等待操作完成\n" + +#: pg_ctl.c:1995 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help 顯示說明,然後結束\n" + +#: pg_ctl.c:1996 +#, c-format +msgid "If the -D option is omitted, the environment variable PGDATA is used.\n" +msgstr "若省略 -D 選項,將使用環境變數 PGDATA。\n" + +#: pg_ctl.c:1998 +#, c-format +msgid "" +"\n" +"Options for start or restart:\n" +msgstr "" +"\n" +"啟動或重新啟動的選項:\n" + +#: pg_ctl.c:2000 +#, c-format +msgid " -c, --core-files allow postgres to produce core files\n" +msgstr " -c, --core-files 允許 PostgreSQL 生成核心傾印\n" + +#: pg_ctl.c:2002 +#, c-format +msgid " -c, --core-files not applicable on this platform\n" +msgstr " -c, --core-files 不適用此平台\n" + +#: pg_ctl.c:2004 +#, c-format +msgid " -l, --log=FILENAME write (or append) server log to FILENAME\n" +msgstr " -l, --log=FILENAME 將伺服器日誌寫入(或附加到)檔案 FILENAME\n" + +#: pg_ctl.c:2005 +#, c-format +msgid "" +" -o, --options=OPTIONS command line options to pass to postgres\n" +" (PostgreSQL server executable) or initdb\n" +msgstr " -o, --options=OPTIONS 傳遞給 postgres(PostgreSQL 伺服器執行檔)或 initdb 的命令列選項\n" + +#: pg_ctl.c:2007 +#, c-format +msgid " -p PATH-TO-POSTGRES normally not necessary\n" +msgstr " -p PATH-TO-POSTGRES 通常不需要\n" + +#: pg_ctl.c:2008 +#, c-format +msgid "" +"\n" +"Options for stop or restart:\n" +msgstr "" +"\n" +"停止或重新啟動的選項:\n" + +#: pg_ctl.c:2009 +#, c-format +msgid " -m, --mode=MODE MODE can be \"smart\", \"fast\", or \"immediate\"\n" +msgstr " -m, --mode=MODE MODE 可以是 \"smart\", \"fast\", \"immediate\"\n" + +#: pg_ctl.c:2011 +#, c-format +msgid "" +"\n" +"Shutdown modes are:\n" +msgstr "" +"\n" +"停止模式: \n" + +#: pg_ctl.c:2012 +#, c-format +msgid " smart quit after all clients have disconnected\n" +msgstr " smart 在所有客戶端中斷連線後結束\n" + +#: pg_ctl.c:2013 +#, c-format +msgid " fast quit directly, with proper shutdown (default)\n" +msgstr " fast 直接結束,正常停止(預設)\n" + +#: pg_ctl.c:2014 +#, c-format +msgid " immediate quit without complete shutdown; will lead to recovery on restart\n" +msgstr " immediate 立即結束,不進行完整的停止;重新啟動時將進行復原\n" + +#: pg_ctl.c:2016 +#, c-format +msgid "" +"\n" +"Allowed signal names for kill:\n" +msgstr "" +"\n" +"允許用於 kill 命令的信號名稱:\n" + +#: pg_ctl.c:2020 +#, c-format +msgid "" +"\n" +"Options for register and unregister:\n" +msgstr "" +"\n" +"註冊和取消註冊服務的選項:\n" + +#: pg_ctl.c:2021 +#, c-format +msgid " -N SERVICENAME service name with which to register PostgreSQL server\n" +msgstr " -N SERVICENAME 註冊 PostgreSQL 伺服器的服務名稱\n" + +#: pg_ctl.c:2022 +#, c-format +msgid " -P PASSWORD password of account to register PostgreSQL server\n" +msgstr " -P PASSWORD 註冊 PostgreSQL 伺服器的帳號密碼\n" + +#: pg_ctl.c:2023 +#, c-format +msgid " -U USERNAME user name of account to register PostgreSQL server\n" +msgstr " -U USERNAME 註冊 PostgreSQL 伺服器的帳號名稱\n" + +#: pg_ctl.c:2024 +#, c-format +msgid " -S START-TYPE service start type to register PostgreSQL server\n" +msgstr " -S START-TYPE 註冊 PostgreSQL 伺服器的啟動方式\n" + +#: pg_ctl.c:2026 +#, c-format +msgid "" +"\n" +"Start types are:\n" +msgstr "" +"\n" +"啟動方式:\n" + +#: pg_ctl.c:2027 +#, c-format +msgid " auto start service automatically during system startup (default)\n" +msgstr " auto 系統啟動時自動啟動服務(預設)\n" + +#: pg_ctl.c:2028 +#, c-format +msgid " demand start service on demand\n" +msgstr " demand 手動啟動服務\n" + +#: pg_ctl.c:2031 +#, c-format +msgid "" +"\n" +"Report bugs to <%s>.\n" +msgstr "" +"\n" +"回報錯誤至 <%s>。\n" + +#: pg_ctl.c:2032 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "%s 網頁: <%s>\n" + +#: pg_ctl.c:2057 +#, c-format +msgid "%s: unrecognized shutdown mode \"%s\"\n" +msgstr "%s: 無法識別的關停模式 \"%s\"\n" + +#: pg_ctl.c:2086 +#, c-format +msgid "%s: unrecognized signal name \"%s\"\n" +msgstr "%s: 無法識別的信號名稱 \"%s\"\n" + +#: pg_ctl.c:2103 +#, c-format +msgid "%s: unrecognized start type \"%s\"\n" +msgstr "%s: 無法識別的啟動方式 \"%s\"\n" + +#: pg_ctl.c:2159 +#, c-format +msgid "%s: could not determine the data directory using command \"%s\"\n" +msgstr "%s: 無法使用命令 \"%s\" 確定資料目錄\n" + +#: pg_ctl.c:2182 +#, c-format +msgid "%s: control file appears to be corrupt\n" +msgstr "%s: 控制檔似乎損壞\n" + +#: pg_ctl.c:2250 +#, c-format +msgid "" +"%s: cannot be run as root\n" +"Please log in (using, e.g., \"su\") as the (unprivileged) user that will\n" +"own the server process.\n" +msgstr "" +"%s: 無法以 root 身分執行\n" +"請以將會擁有伺服務行程的(非特權)使用者登入(例如用 \"su\" 命令)。\n" + +# commands/tablespace.c:386 commands/tablespace.c:483 +#: pg_ctl.c:2333 +#, c-format +msgid "%s: -S option not supported on this platform\n" +msgstr "%s: 此平台不支援 -S 選項\n" + +#: pg_ctl.c:2370 +#, c-format +msgid "%s: too many command-line arguments (first is \"%s\")\n" +msgstr "%s: 命令列參數過多(第一個是 \"%s\")\n" + +#: pg_ctl.c:2396 +#, c-format +msgid "%s: missing arguments for kill mode\n" +msgstr "%s: 未指定 kill 模式參數\n" + +#: pg_ctl.c:2414 +#, c-format +msgid "%s: unrecognized operation mode \"%s\"\n" +msgstr "%s: 無法識別的操作模式 \"%s\"\n" + +#: pg_ctl.c:2424 +#, c-format +msgid "%s: no operation specified\n" +msgstr "%s: 沒有任何操作\n" + +#: pg_ctl.c:2445 +#, c-format +msgid "%s: no database directory specified and environment variable PGDATA unset\n" +msgstr "%s: 未指定資料庫目錄,且未設定環境變數 PGDATA\n" + +#, c-format +#~ msgid " %s start [-w] [-t SECS] [-D DATADIR] [-s] [-l FILENAME] [-o \"OPTIONS\"]\n" +#~ msgstr " %s start [-w] [-t 秒數] [-D 資料目錄] [-s] [-l 檔名] [-o \"選項\"]\n" + +#, c-format +#~ msgid " --help show this help, then exit\n" +#~ msgstr " --help 顯示這份說明然後結束\n" + +#, c-format +#~ msgid " --version output version information, then exit\n" +#~ msgstr " --version 顯示版本資訊然後結束\n" + +#, c-format +#~ msgid "" +#~ "%s is a utility to start, stop, restart, promote, reload configuration files,\n" +#~ "report the status of a PostgreSQL server, or signal a PostgreSQL process.\n" +#~ "\n" +#~ msgstr "" +#~ "%s 可以用來啟動、停止、重新啟動、提升、重新載入設定檔、\n" +#~ "報告 PostgreSQL 伺服器狀態,或送信號給 PostgreSQL 行程。\n" +#~ "\n" + +#, c-format +#~ msgid "%s: -w option cannot use a relative socket directory specification\n" +#~ msgstr "%s: -w 選項不能和相對 socket 目錄一起使用\n" + +#, c-format +#~ msgid "%s: -w option is not supported when starting a pre-9.1 server\n" +#~ msgstr "%s: 啟動 pre-9.1 伺服器時不支援 -w 選項\n" + +#~ msgid "%s: a standalone backend \"postgres\" is running (PID: %ld)\n" +#~ msgstr "%s:一個獨立後端\"postgres\"正在執行(PID:%ld)\n" + +#, c-format +#~ msgid "%s: could not wait for server because of misconfiguration\n" +#~ msgstr "%s: 無法等待伺服器,設定錯誤\n" + +#~ msgid "%s: invalid option %s\n" +#~ msgstr "%s:無效的選項 %s\n" + +#~ msgid "%s: neither postmaster nor postgres running\n" +#~ msgstr "%s:postmaster或postgres尚未執行\n" + +#, c-format +#~ msgid "%s: this data directory is running a pre-existing postmaster\n" +#~ msgstr "%s: 這個資料目錄正在執行以前的 postmaster\n" + +#, c-format +#~ msgid "" +#~ "(The default is to wait for shutdown, but not for start or restart.)\n" +#~ "\n" +#~ msgstr "" +#~ "(預設是關閉時而非啟動或重新啟動時等待。)\n" +#~ "\n" + +#~ msgid "" +#~ "The program \"postmaster\" is needed by %s but was not found in the\n" +#~ "same directory as \"%s\".\n" +#~ "Check your installation.\n" +#~ msgstr "" +#~ "%s 需要\"postmaster\"程式,但是在與\"%s\"相同的目錄中找不到。\n" +#~ "檢查你的安裝。\n" + +#~ msgid "" +#~ "The program \"postmaster\" was found by \"%s\"\n" +#~ "but was not the same version as %s.\n" +#~ "Check your installation.\n" +#~ msgstr "" +#~ "\"%s\"已找到程式\"postmaster\",但是與 %s 版本不符。\n" +#~ "請檢查你的安裝。\n" + +#~ msgid "" +#~ "WARNING: online backup mode is active\n" +#~ "Shutdown will not complete until pg_stop_backup() is called.\n" +#~ "\n" +#~ msgstr "" +#~ "警告: 線上備份模式作用中\n" +#~ "必須呼叫 pg_stop_backup(),關閉作業才能完成。\n" +#~ "\n" + +#, c-format +#~ msgid "child process was terminated by signal %s" +#~ msgstr "子行程被信號 %s 結束" + +#, c-format +#~ msgid "could not change directory to \"%s\"" +#~ msgstr "無法切換目錄至 \"%s\"" + +#, c-format +#~ msgid "could not read symbolic link \"%s\"" +#~ msgstr "無法讀取符號連結 \"%s\"" + +#~ msgid "server is still starting up\n" +#~ msgstr "伺服器仍在啟動中\n" diff --git a/src/bin/pg_dump/po/el.po b/src/bin/pg_dump/po/el.po index ae66e0cbac0..391412a42f4 100644 --- a/src/bin/pg_dump/po/el.po +++ b/src/bin/pg_dump/po/el.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_dump (PostgreSQL) 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-04-14 09:19+0000\n" -"PO-Revision-Date: 2023-04-14 13:39+0200\n" +"POT-Creation-Date: 2023-08-14 23:20+0000\n" +"PO-Revision-Date: 2023-08-15 14:32+0200\n" "Last-Translator: Georgios Kokolatos \n" "Language-Team: \n" "Language: el\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 3.2.2\n" +"X-Generator: Poedit 3.3.2\n" #: ../../../src/common/logging.c:276 #, c-format @@ -40,82 +40,124 @@ msgstr "λεπτομέρεια: " msgid "hint: " msgstr "υπόδειξη: " -#: ../../common/exec.c:149 ../../common/exec.c:266 ../../common/exec.c:312 +#: ../../common/compression.c:132 ../../common/compression.c:141 +#: ../../common/compression.c:150 compress_gzip.c:413 compress_gzip.c:420 +#: compress_io.c:109 compress_lz4.c:780 compress_lz4.c:787 compress_zstd.c:25 +#: compress_zstd.c:31 #, c-format -msgid "could not identify current directory: %m" -msgstr "δεν ήταν δυνατή η αναγνώριση του τρέχοντος καταλόγου: %m" +msgid "this build does not support compression with %s" +msgstr "η παρούσα κατασκευή δεν υποστηρίζει συμπίεση με %s" -#: ../../common/exec.c:168 +#: ../../common/compression.c:205 +msgid "found empty string where a compression option was expected" +msgstr "βρέθηκε κενή συμβολοσειρά όπου αναμενόταν μια επιλογή συμπίεσης" + +#: ../../common/compression.c:244 #, c-format -msgid "invalid binary \"%s\"" -msgstr "μη έγκυρο δυαδικό αρχείο «%s»" +msgid "unrecognized compression option: \"%s\"" +msgstr "μη αναγνωρίσιμη παράμετρος συμπίεσης: «%s»" -#: ../../common/exec.c:218 +#: ../../common/compression.c:283 #, c-format -msgid "could not read binary \"%s\"" -msgstr "δεν ήταν δυνατή η ανάγνωση του δυαδικού αρχείου «%s»" +msgid "compression option \"%s\" requires a value" +msgstr "η επιλογή συμπίεσης «%s» απαιτεί τιμή" -#: ../../common/exec.c:226 +#: ../../common/compression.c:292 #, c-format -msgid "could not find a \"%s\" to execute" -msgstr "δεν βρέθηκε το αρχείο «%s» για να εκτελεστεί" +msgid "value for compression option \"%s\" must be an integer" +msgstr "η τιμή της επιλογής συμπίεσης «%s» πρέπει να είναι ακέραια" + +#: ../../common/compression.c:331 +#, c-format +msgid "value for compression option \"%s\" must be a Boolean value" +msgstr "η τιμή της επιλογής συμπίεσης «%s» πρέπει να είναι Δυαδική τιμή" + +#: ../../common/compression.c:379 +#, c-format +msgid "compression algorithm \"%s\" does not accept a compression level" +msgstr "ο αλγόριθμος συμπίεσης «%s» δεν δέχεται επίπεδο συμπίεσης" + +#: ../../common/compression.c:386 +#, c-format +msgid "compression algorithm \"%s\" expects a compression level between %d and %d (default at %d)" +msgstr "ο αλγόριθμος συμπίεσης «%s» αναμένει ένα επίπεδο συμπίεσης μεταξύ %d και %d (προεπιλογμένο %d)" + +#: ../../common/compression.c:397 +#, c-format +msgid "compression algorithm \"%s\" does not accept a worker count" +msgstr "ο αλγόριθμος συμπίεσης «%s» δεν δέχεται μέγεθος εργατών" + +#: ../../common/compression.c:408 +#, c-format +msgid "compression algorithm \"%s\" does not support long-distance mode" +msgstr "ο αλγόριθμος συμπίεσης «%s» δεν υποστηρίζει λειτουργία μεγάλων αποστάσεων" -#: ../../common/exec.c:282 ../../common/exec.c:321 +#: ../../common/exec.c:172 #, c-format -msgid "could not change directory to \"%s\": %m" -msgstr "δεν ήταν δυνατή η μετάβαση στον κατάλογο «%s»: %m" +msgid "invalid binary \"%s\": %m" +msgstr "μη έγκυρο δυαδικό αρχείο «%s»: %m" -#: ../../common/exec.c:299 +#: ../../common/exec.c:215 #, c-format -msgid "could not read symbolic link \"%s\": %m" -msgstr "δεν ήταν δυνατή η ανάγνωση του συμβολικού συνδέσμου «%s»: %m" +msgid "could not read binary \"%s\": %m" +msgstr "δεν ήταν δυνατή η ανάγνωση του δυαδικού αρχείου «%s»: %m" -#: ../../common/exec.c:422 parallel.c:1611 +#: ../../common/exec.c:223 +#, c-format +msgid "could not find a \"%s\" to execute" +msgstr "δεν βρέθηκε το αρχείο «%s» για να εκτελεστεί" + +#: ../../common/exec.c:250 +#, c-format +msgid "could not resolve path \"%s\" to absolute form: %m" +msgstr "δεν δύναται η επίλυση διαδρομής «%s» σε απόλυτη μορφή: %m" + +#: ../../common/exec.c:412 parallel.c:1609 #, c-format msgid "%s() failed: %m" msgstr "%s() απέτυχε: %m" -#: ../../common/exec.c:560 ../../common/exec.c:605 ../../common/exec.c:697 +#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 msgid "out of memory" msgstr "έλλειψη μνήμης" #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 -#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format msgid "out of memory\n" msgstr "έλλειψη μνήμης\n" -#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 #, c-format msgid "cannot duplicate null pointer (internal error)\n" msgstr "δεν ήταν δυνατή η αντιγραφή δείκτη null (εσωτερικό σφάλμα)\n" -#: ../../common/wait_error.c:45 +#: ../../common/wait_error.c:55 #, c-format msgid "command not executable" msgstr "εντολή μη εκτελέσιμη" -#: ../../common/wait_error.c:49 +#: ../../common/wait_error.c:59 #, c-format msgid "command not found" msgstr "εντολή δεν βρέθηκε" -#: ../../common/wait_error.c:54 +#: ../../common/wait_error.c:64 #, c-format msgid "child process exited with exit code %d" msgstr "απόγονος διεργασίας τερμάτισε με κωδικό εξόδου %d" -#: ../../common/wait_error.c:62 +#: ../../common/wait_error.c:72 #, c-format msgid "child process was terminated by exception 0x%X" msgstr "απόγονος διεργασίας τερματίστηκε με εξαίρεση 0x%X" -#: ../../common/wait_error.c:66 +#: ../../common/wait_error.c:76 #, c-format msgid "child process was terminated by signal %d: %s" msgstr "απόγονος διεργασίας τερματίστηκε με σήμα %d: %s" -#: ../../common/wait_error.c:72 +#: ../../common/wait_error.c:82 #, c-format msgid "child process exited with unrecognized status %d" msgstr "απόγονος διεργασίας τερμάτισε με μη αναγνωρίσιμη κατάσταση %d" @@ -130,304 +172,351 @@ msgstr "μη έγκυρη τιμή «%s» για την επιλογή %s" msgid "%s must be in range %d..%d" msgstr "%s πρέπει να βρίσκεται εντός εύρους %d..%d" -#: common.c:134 +#: common.c:132 #, c-format msgid "reading extensions" msgstr "ανάγνωση επεκτάσεων" -#: common.c:137 +#: common.c:135 #, c-format msgid "identifying extension members" msgstr "προσδιορισμός μελών επέκτασεων" -#: common.c:140 +#: common.c:138 #, c-format msgid "reading schemas" msgstr "ανάγνωση σχημάτων" -#: common.c:149 +#: common.c:147 #, c-format msgid "reading user-defined tables" msgstr "ανάγνωση πινάκων ορισμένων από το χρήστη" -#: common.c:154 +#: common.c:152 #, c-format msgid "reading user-defined functions" msgstr "ανάγνωση συναρτήσεων ορισμένων από το χρήστη" -#: common.c:158 +#: common.c:156 #, c-format msgid "reading user-defined types" msgstr "ανάγνωση τύπων ορισμένων από το χρήστη" -#: common.c:162 +#: common.c:160 #, c-format msgid "reading procedural languages" msgstr "ανάγνωση δομημένων γλωσσών" -#: common.c:165 +#: common.c:163 #, c-format msgid "reading user-defined aggregate functions" msgstr "ανάγνωση συναρτήσεων συγκεντρωτικών αποτελεσμάτων ορισμένων από το χρήστη" -#: common.c:168 +#: common.c:166 #, c-format msgid "reading user-defined operators" msgstr "ανάγνωση χειριστών ορισμένων από το χρήστη" -#: common.c:171 +#: common.c:169 #, c-format msgid "reading user-defined access methods" msgstr "ανάγνωση μεθόδων πρόσβασης ορισμένων από το χρήστη" -#: common.c:174 +#: common.c:172 #, c-format msgid "reading user-defined operator classes" msgstr "ανάγνωση κλάσεων χειριστών ορισμένων από το χρήστη" -#: common.c:177 +#: common.c:175 #, c-format msgid "reading user-defined operator families" msgstr "ανάγνωση οικογενειών χειριστών ορισμένων από το χρήστη" -#: common.c:180 +#: common.c:178 #, c-format msgid "reading user-defined text search parsers" msgstr "ανάγνωση αναλυτών αναζήτησης κειμένου ορισμένων από το χρήστη" -#: common.c:183 +#: common.c:181 #, c-format msgid "reading user-defined text search templates" msgstr "ανάγνωση προτύπων αναζήτησης κειμένου ορισμένων από το χρήστη" -#: common.c:186 +#: common.c:184 #, c-format msgid "reading user-defined text search dictionaries" msgstr "ανάγνωση λεξικών αναζήτησης κειμένου ορισμένων από το χρήστη" -#: common.c:189 +#: common.c:187 #, c-format msgid "reading user-defined text search configurations" msgstr "ανάγνωση ρυθμίσεων παραμέτρων αναζήτησης κειμένου ορισμένων από το χρήστη" -#: common.c:192 +#: common.c:190 #, c-format msgid "reading user-defined foreign-data wrappers" msgstr "ανάγνωση περιτυλίξεων ξενικών δεδομένων ορισμένων από το χρήστη" -#: common.c:195 +#: common.c:193 #, c-format msgid "reading user-defined foreign servers" msgstr "ανάγνωση ξενικών διακομιστών ορισμένων από το χρήστη" -#: common.c:198 +#: common.c:196 #, c-format msgid "reading default privileges" msgstr "ανάγνωση προεπιλεγμένων δικαιωμάτων" -#: common.c:201 +#: common.c:199 #, c-format msgid "reading user-defined collations" msgstr "ανάγνωση συρραφών ορισμένων από το χρήστη" -#: common.c:204 +#: common.c:202 #, c-format msgid "reading user-defined conversions" msgstr "ανάγνωση μετατροπών ορισμένων από το χρήστη" -#: common.c:207 +#: common.c:205 #, c-format msgid "reading type casts" msgstr "ανάγνωση τύπων καστ" -#: common.c:210 +#: common.c:208 #, c-format msgid "reading transforms" msgstr "ανάγωση μετατροπών" -#: common.c:213 +#: common.c:211 #, c-format msgid "reading table inheritance information" msgstr "ανάγωση πληροφοριών κληρονομιάς πινάκων" -#: common.c:216 +#: common.c:214 #, c-format msgid "reading event triggers" msgstr "ανάγνωση ενεργοποιήσεων συμβάντων" -#: common.c:220 +#: common.c:218 #, c-format msgid "finding extension tables" msgstr "εύρεση πινάκων επέκτασης" -#: common.c:224 +#: common.c:222 #, c-format msgid "finding inheritance relationships" msgstr "εύρεση σχέσεων κληρονιμιά" -#: common.c:227 +#: common.c:225 #, c-format msgid "reading column info for interesting tables" msgstr "ανάγνωση πληροφοριών στήλης για ενδιαφέροντες πίνακες" -#: common.c:230 +#: common.c:228 #, c-format msgid "flagging inherited columns in subtables" msgstr "επισήμανση κληρονομούμενων στηλών σε υποπίνακες" -#: common.c:233 +#: common.c:231 #, c-format msgid "reading partitioning data" msgstr "ανάγνωση δεδομένων κατάτμησης" -#: common.c:236 +#: common.c:234 #, c-format msgid "reading indexes" msgstr "ανάγνωση ευρετηρίων" -#: common.c:239 +#: common.c:237 #, c-format msgid "flagging indexes in partitioned tables" msgstr "επισήμανση ευρετηρίων σε κατατμημένους πινάκες" -#: common.c:242 +#: common.c:240 #, c-format msgid "reading extended statistics" msgstr "ανάγνωση εκτεταμένων στατιστικών στοιχείων" -#: common.c:245 +#: common.c:243 #, c-format msgid "reading constraints" msgstr "ανάγνωση περιορισμών" -#: common.c:248 +#: common.c:246 #, c-format msgid "reading triggers" msgstr "ανάγνωση ενεργοποιήσεων συμβάντων" -#: common.c:251 +#: common.c:249 #, c-format msgid "reading rewrite rules" msgstr "ανάγνωση κανόνων επανεγγραφής" -#: common.c:254 +#: common.c:252 #, c-format msgid "reading policies" msgstr "ανάγνωση πολιτικών" -#: common.c:257 +#: common.c:255 #, c-format msgid "reading publications" msgstr "ανάγνωση δημοσιεύσεων" -#: common.c:260 +#: common.c:258 #, c-format msgid "reading publication membership of tables" msgstr "ανάγνωση ιδιοτήτων μελών δημοσιεύσεων πινάκων" -#: common.c:263 +#: common.c:261 #, c-format msgid "reading publication membership of schemas" msgstr "ανάγνωση ιδιοτήτων μελών δημοσιεύσεων των σχημάτων" -#: common.c:266 +#: common.c:264 #, c-format msgid "reading subscriptions" msgstr "ανάγνωση συνδρομών" -#: common.c:345 -#, c-format -msgid "invalid number of parents %d for table \"%s\"" -msgstr "μη έγκυρος αριθμός γονέων %d για τον πίνακα «%s»" - -#: common.c:1006 +#: common.c:327 #, c-format msgid "failed sanity check, parent OID %u of table \"%s\" (OID %u) not found" msgstr "απέτυχε ο έλεγχος ακεραιότητας, το γονικό OID %u του πίνακα «%s» (OID %u) δεν βρέθηκε" -#: common.c:1045 +#: common.c:369 +#, c-format +msgid "invalid number of parents %d for table \"%s\"" +msgstr "μη έγκυρος αριθμός γονέων %d για τον πίνακα «%s»" + +#: common.c:1049 #, c-format msgid "could not parse numeric array \"%s\": too many numbers" msgstr "δεν ήταν δυνατή η ανάλυση της αριθμητικής συστοιχίας «%s»: πάρα πολλοί αριθμοί" -#: common.c:1057 +#: common.c:1061 #, c-format msgid "could not parse numeric array \"%s\": invalid character in number" msgstr "δεν ήταν δυνατή η ανάλυση της αριθμητικής συστοιχίας «%s»: μη έγκυρος χαρακτήρας σε αριθμό" -#: compress_io.c:111 -#, c-format -msgid "invalid compression code: %d" -msgstr "μη έγκυρος κωδικός συμπίεσης: %d" - -#: compress_io.c:134 compress_io.c:170 compress_io.c:188 compress_io.c:504 -#: compress_io.c:547 -#, c-format -msgid "not built with zlib support" -msgstr "δεν έχει κατασκευαστεί με υποστήριξη zlib" - -#: compress_io.c:236 compress_io.c:333 +#: compress_gzip.c:69 compress_gzip.c:183 #, c-format msgid "could not initialize compression library: %s" msgstr "δεν ήταν δυνατή η αρχικοποίηση της βιβλιοθήκης συμπίεσης: %s" -#: compress_io.c:256 +#: compress_gzip.c:93 #, c-format msgid "could not close compression stream: %s" msgstr "δεν ήταν δυνατό το κλείσιμο της ροής συμπίεσης: %s" -#: compress_io.c:273 +#: compress_gzip.c:113 compress_lz4.c:227 compress_zstd.c:109 #, c-format msgid "could not compress data: %s" msgstr "δεν ήταν δυνατή η συμπίεση δεδομένων: %s" -#: compress_io.c:349 compress_io.c:364 +#: compress_gzip.c:199 compress_gzip.c:214 #, c-format msgid "could not uncompress data: %s" msgstr "δεν ήταν δυνατή η αποσυμπίεση δεδομένων: %s" -#: compress_io.c:371 +#: compress_gzip.c:221 #, c-format msgid "could not close compression library: %s" msgstr "δεν ήταν δυνατό το κλείσιμο της βιβλιοθήκης συμπίεσης: %s" -#: compress_io.c:584 compress_io.c:621 +#: compress_gzip.c:266 compress_gzip.c:295 compress_lz4.c:608 +#: compress_lz4.c:628 compress_lz4.c:647 compress_none.c:97 compress_none.c:140 #, c-format msgid "could not read from input file: %s" msgstr "δεν ήταν δυνατή η ανάγνωση από το αρχείο εισόδου: %s" -#: compress_io.c:623 pg_backup_custom.c:643 pg_backup_directory.c:553 -#: pg_backup_tar.c:726 pg_backup_tar.c:749 +#: compress_gzip.c:297 compress_lz4.c:630 compress_none.c:142 +#: compress_zstd.c:371 pg_backup_custom.c:653 pg_backup_directory.c:558 +#: pg_backup_tar.c:725 pg_backup_tar.c:748 #, c-format msgid "could not read from input file: end of file" msgstr "δεν ήταν δυνατή η ανάγνωση από το αρχείο εισόδου: τέλος αρχείου" -#: parallel.c:253 +#: compress_lz4.c:157 +#, c-format +msgid "could not create LZ4 decompression context: %s" +msgstr "δεν ήταν δυνατή η δημιουργία LZ4 περιεχομένου αποσυμπίεσης: %s" + +#: compress_lz4.c:180 +#, c-format +msgid "could not decompress: %s" +msgstr "δεν ήταν δυνατή η αποσυμπίεση: %s" + +#: compress_lz4.c:193 +#, c-format +msgid "could not free LZ4 decompression context: %s" +msgstr "δεν ήταν δυνατή η απελευθέρωση LZ4 περιεχομένου αποσυμπίεσης: %s" + +#: compress_lz4.c:259 compress_lz4.c:266 compress_lz4.c:680 compress_lz4.c:690 +#, c-format +msgid "could not end compression: %s" +msgstr "δεν ήταν δυνατός ο τερματισμός συμπίεσης: %s" + +#: compress_lz4.c:301 +#, c-format +msgid "could not initialize LZ4 compression: %s" +msgstr "δεν ήταν δυνατή η αρχικοποίηση LZ4 συμπίεσης: %s" + +#: compress_lz4.c:697 +#, c-format +msgid "could not end decompression: %s" +msgstr "δεν ήταν δυνατός ο τερματισμός αποσυμπίεσης: %s" + +#: compress_zstd.c:66 +#, c-format +msgid "could not set compression parameter \"%s\": %s" +msgstr "δεν ήταν δυνατή η ρύθμιση παραμέτρου συμπίεσης «%s»: %s" + +#: compress_zstd.c:78 compress_zstd.c:231 compress_zstd.c:490 +#: compress_zstd.c:498 +#, c-format +msgid "could not initialize compression library" +msgstr "δεν ήταν δυνατή η αρχικοποίηση της βιβλιοθήκης συμπίεσης" + +#: compress_zstd.c:194 compress_zstd.c:308 +#, c-format +msgid "could not decompress data: %s" +msgstr "δεν ήταν δυνατή η αποσυμπίεση δεδομένων: %s" + +#: compress_zstd.c:373 pg_backup_custom.c:655 +#, c-format +msgid "could not read from input file: %m" +msgstr "δεν ήταν δυνατή η ανάγνωση από αρχείο: %m" + +#: compress_zstd.c:501 +#, c-format +msgid "unhandled mode \"%s\"" +msgstr "μη χειρισμένη κατάσταση «%s»" + +#: parallel.c:251 #, c-format msgid "%s() failed: error code %d" msgstr "%s() απέτυχε: κωδικός σφάλματος %d" -#: parallel.c:961 +#: parallel.c:959 #, c-format msgid "could not create communication channels: %m" msgstr "δεν ήταν δυνατή η δημιουργία καναλιών επικοινωνίας: %m" -#: parallel.c:1018 +#: parallel.c:1016 #, c-format msgid "could not create worker process: %m" msgstr "δεν ήταν δυνατή η δημιουργία διεργασίας εργάτη: %m" -#: parallel.c:1148 +#: parallel.c:1146 #, c-format msgid "unrecognized command received from leader: \"%s\"" msgstr "μη αναγνωρίσιμη εντολή που ελήφθη από τον αρχηγό: «%s»" -#: parallel.c:1191 parallel.c:1429 +#: parallel.c:1189 parallel.c:1427 #, c-format msgid "invalid message received from worker: \"%s\"" msgstr "άκυρο μήνυμα που ελήφθη από εργάτη: «%s»" -#: parallel.c:1323 +#: parallel.c:1321 #, c-format msgid "" "could not obtain lock on relation \"%s\"\n" @@ -436,557 +525,557 @@ msgstr "" "δεν ήταν δυνατή η απόκτηση κλειδιού για τη σχέση \"%s\"\n" "Αυτό συνήθως σημαίνει ότι κάποιος ζήτησε ένα κλειδί ACCESS EXCLUSIVE στον πίνακα αφού η γονική διεργασία pg_dump είχε ήδη αποκτήσει το αρχικό κλειδί ACCESS SHARE στον πίνακα." -#: parallel.c:1412 +#: parallel.c:1410 #, c-format msgid "a worker process died unexpectedly" msgstr "μία διεργασία εργάτη τερματίστηκε απρόσμενα" -#: parallel.c:1534 parallel.c:1652 +#: parallel.c:1532 parallel.c:1650 #, c-format msgid "could not write to the communication channel: %m" msgstr "δεν ήταν δυνατή η εγγραφή στο κανάλι επικοινωνίας: %m" -#: parallel.c:1736 +#: parallel.c:1734 #, c-format msgid "pgpipe: could not create socket: error code %d" msgstr "pgpipe: δεν ήταν δυνατή η δημιουργία υποδοχέα: κωδικός σφάλματος %d" -#: parallel.c:1747 +#: parallel.c:1745 #, c-format msgid "pgpipe: could not bind: error code %d" msgstr "pgpipe: δεν ήταν δυνατή η δέσμευση: κωδικός σφάλματος %d" -#: parallel.c:1754 +#: parallel.c:1752 #, c-format msgid "pgpipe: could not listen: error code %d" msgstr "pgpipe: δεν ήταν δυνατή η ακρόαση: κωδικός σφάλματος %d" -#: parallel.c:1761 +#: parallel.c:1759 #, c-format msgid "pgpipe: %s() failed: error code %d" msgstr "%s() απέτυχε: κωδικός σφάλματος %d" -#: parallel.c:1772 +#: parallel.c:1770 #, c-format msgid "pgpipe: could not create second socket: error code %d" msgstr "pgpipe: δεν ήταν δυνατή η δημιουργία δεύτερης υποδοχής: κωδικός σφάλματος %d" -#: parallel.c:1781 +#: parallel.c:1779 #, c-format msgid "pgpipe: could not connect socket: error code %d" msgstr "pgpipe: δεν ήταν δυνατή η σύνδεση της υποδοχής: κωδικός σφάλματος %d" -#: parallel.c:1790 +#: parallel.c:1788 #, c-format msgid "pgpipe: could not accept connection: error code %d" msgstr "pgpipe: δεν ήταν δυνατή η αποδοχή σύνδεσης: κωδικός σφάλματος %d" -#: pg_backup_archiver.c:280 pg_backup_archiver.c:1632 +#: pg_backup_archiver.c:276 pg_backup_archiver.c:1603 #, c-format msgid "could not close output file: %m" msgstr "δεν ήταν δυνατό το κλείσιμο αρχείου εξόδου: %m" -#: pg_backup_archiver.c:324 pg_backup_archiver.c:328 +#: pg_backup_archiver.c:320 pg_backup_archiver.c:324 #, c-format msgid "archive items not in correct section order" msgstr "αρχειοθέτηση στοιχείων που δεν βρίσκονται σε σωστή σειρά ενότητας" -#: pg_backup_archiver.c:334 +#: pg_backup_archiver.c:330 #, c-format msgid "unexpected section code %d" msgstr "μη αναμενόμενος κώδικας ενότητας %d" -#: pg_backup_archiver.c:371 +#: pg_backup_archiver.c:367 #, c-format msgid "parallel restore is not supported with this archive file format" msgstr "η παράλληλη επαναφορά δεν υποστηρίζεται από αυτήν τη μορφή αρχείου αρχειοθέτησης" -#: pg_backup_archiver.c:375 +#: pg_backup_archiver.c:371 #, c-format msgid "parallel restore is not supported with archives made by pre-8.0 pg_dump" msgstr "η παράλληλη επαναφορά δεν υποστηρίζεται με αρχεία που έγιναν από pg_dump προ έκδοσης 8.0" -#: pg_backup_archiver.c:393 +#: pg_backup_archiver.c:392 #, c-format -msgid "cannot restore from compressed archive (compression not supported in this installation)" -msgstr "δεν είναι δυνατή η επαναφορά από συμπιεσμένη αρχειοθήκη (η συμπίεση δεν υποστηρίζεται σε αυτήν την εγκατάσταση)" +msgid "cannot restore from compressed archive (%s)" +msgstr "δεν είναι δυνατή η επαναφορά από συμπιεσμένη αρχειοθήκη (%s)" -#: pg_backup_archiver.c:410 +#: pg_backup_archiver.c:412 #, c-format msgid "connecting to database for restore" msgstr "σύνδεση με βάση δεδομένων για επαναφορά" -#: pg_backup_archiver.c:412 +#: pg_backup_archiver.c:414 #, c-format msgid "direct database connections are not supported in pre-1.3 archives" msgstr "οι απευθείας συνδέσεις βάσεων δεδομένων δεν υποστηρίζονται σε προ-1.3 αρχεία" -#: pg_backup_archiver.c:455 +#: pg_backup_archiver.c:457 #, c-format msgid "implied data-only restore" msgstr "υποδηλούμενη επαναφορά μόνο δεδομένων" -#: pg_backup_archiver.c:521 +#: pg_backup_archiver.c:523 #, c-format msgid "dropping %s %s" msgstr "εγκαταλείπει %s: %s" -#: pg_backup_archiver.c:621 +#: pg_backup_archiver.c:623 #, c-format msgid "could not find where to insert IF EXISTS in statement \"%s\"" msgstr "δεν ήταν δυνατή η εύρεση του σημείου εισαγωγής IF EXISTS στη δήλωση «%s»" -#: pg_backup_archiver.c:777 pg_backup_archiver.c:779 +#: pg_backup_archiver.c:778 pg_backup_archiver.c:780 #, c-format msgid "warning from original dump file: %s" msgstr "προειδοποίηση από το αρχικό αρχείο απόθεσης: %s" -#: pg_backup_archiver.c:794 +#: pg_backup_archiver.c:795 #, c-format msgid "creating %s \"%s.%s\"" msgstr "δημιουργία %s «%s.%s»" -#: pg_backup_archiver.c:797 +#: pg_backup_archiver.c:798 #, c-format msgid "creating %s \"%s\"" msgstr "δημιουργία %s «%s»" -#: pg_backup_archiver.c:847 +#: pg_backup_archiver.c:848 #, c-format msgid "connecting to new database \"%s\"" msgstr "σύνδεση με νέα βάση δεδομένων «%s»" -#: pg_backup_archiver.c:874 +#: pg_backup_archiver.c:875 #, c-format msgid "processing %s" msgstr "επεξεργασία %s" -#: pg_backup_archiver.c:896 +#: pg_backup_archiver.c:897 #, c-format msgid "processing data for table \"%s.%s\"" msgstr "επεξεργασία δεδομένων για τον πίνακα «%s.%s»" -#: pg_backup_archiver.c:966 +#: pg_backup_archiver.c:967 #, c-format msgid "executing %s %s" msgstr "εκτέλεση %s %s" -#: pg_backup_archiver.c:1005 +#: pg_backup_archiver.c:1008 #, c-format msgid "disabling triggers for %s" msgstr "απενεργοποίηση ενεργοποιήσεων για %s" -#: pg_backup_archiver.c:1031 +#: pg_backup_archiver.c:1034 #, c-format msgid "enabling triggers for %s" msgstr "ενεργοποίηση ενεργοποιήσεων για %s" -#: pg_backup_archiver.c:1096 +#: pg_backup_archiver.c:1099 #, c-format msgid "internal error -- WriteData cannot be called outside the context of a DataDumper routine" msgstr "εσωτερικό σφάλμα -- Δεν είναι δυνατή η κλήση του WriteData εκτός του περιβάλλοντος μιας ρουτίνας DataDumper" -#: pg_backup_archiver.c:1279 +#: pg_backup_archiver.c:1287 #, c-format msgid "large-object output not supported in chosen format" msgstr "η έξοδος μεγάλου αντικειμένου δεν υποστηρίζεται στην επιλεγμένη μορφή" -#: pg_backup_archiver.c:1337 +#: pg_backup_archiver.c:1345 #, c-format msgid "restored %d large object" msgid_plural "restored %d large objects" msgstr[0] "επανέφερε %d μεγάλο αντικείμενο" msgstr[1] "επανέφερε %d μεγάλα αντικείμενα" -#: pg_backup_archiver.c:1358 pg_backup_tar.c:669 +#: pg_backup_archiver.c:1366 pg_backup_tar.c:668 #, c-format msgid "restoring large object with OID %u" msgstr "επαναφορά μεγάλου αντικειμένου με OID %u" -#: pg_backup_archiver.c:1370 +#: pg_backup_archiver.c:1378 #, c-format msgid "could not create large object %u: %s" msgstr "δεν ήταν δυνατή η δημιουργία μεγάλου αντικειμένου %u: %s" -#: pg_backup_archiver.c:1375 pg_dump.c:3607 +#: pg_backup_archiver.c:1383 pg_dump.c:3718 #, c-format msgid "could not open large object %u: %s" msgstr "δεν ήταν δυνατό το άνοιγμα μεγάλου αντικειμένου %u: %s" -#: pg_backup_archiver.c:1431 +#: pg_backup_archiver.c:1439 #, c-format msgid "could not open TOC file \"%s\": %m" msgstr "δεν ήταν δυνατό το άνοιγμα αρχείου TOC «%s»: %m" -#: pg_backup_archiver.c:1459 +#: pg_backup_archiver.c:1467 #, c-format msgid "line ignored: %s" msgstr "παραβλέπεται γραμμή: %s" -#: pg_backup_archiver.c:1466 +#: pg_backup_archiver.c:1474 #, c-format msgid "could not find entry for ID %d" msgstr "δεν ήταν δυνατή η εύρεση καταχώρησης για ID %d" -#: pg_backup_archiver.c:1489 pg_backup_directory.c:222 -#: pg_backup_directory.c:599 +#: pg_backup_archiver.c:1497 pg_backup_directory.c:221 +#: pg_backup_directory.c:606 #, c-format msgid "could not close TOC file: %m" msgstr "δεν ήταν δυνατό το κλείσιμο του αρχείου TOC %m" -#: pg_backup_archiver.c:1603 pg_backup_custom.c:156 pg_backup_directory.c:332 -#: pg_backup_directory.c:586 pg_backup_directory.c:649 -#: pg_backup_directory.c:668 pg_dumpall.c:476 +#: pg_backup_archiver.c:1584 pg_backup_custom.c:156 pg_backup_directory.c:332 +#: pg_backup_directory.c:593 pg_backup_directory.c:658 +#: pg_backup_directory.c:676 pg_dumpall.c:501 #, c-format msgid "could not open output file \"%s\": %m" msgstr "δεν ήταν δυνατό το άνοιγμα του αρχείου εξόδου «%s»: %m" -#: pg_backup_archiver.c:1605 pg_backup_custom.c:162 +#: pg_backup_archiver.c:1586 pg_backup_custom.c:162 #, c-format msgid "could not open output file: %m" msgstr "δεν ήταν δυνατό το άνοιγμα αρχείου εξόδου %m" -#: pg_backup_archiver.c:1699 +#: pg_backup_archiver.c:1669 #, 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] "έγραψε %zu byte δεδομένων μεγάλου αντικειμένου (αποτέλεσμα = %d)" msgstr[1] "έγραψε %zu bytes δεδομένων μεγάλου αντικειμένου (αποτέλεσμα = %d)" -#: pg_backup_archiver.c:1705 +#: pg_backup_archiver.c:1675 #, c-format msgid "could not write to large object: %s" msgstr "δεν ήταν δυνατή η εγγραφή σε μεγάλο αντικείμενο: %s" -#: pg_backup_archiver.c:1795 +#: pg_backup_archiver.c:1765 #, c-format msgid "while INITIALIZING:" msgstr "ενόσω INITIALIZING:" -#: pg_backup_archiver.c:1800 +#: pg_backup_archiver.c:1770 #, c-format msgid "while PROCESSING TOC:" msgstr "ενόσω PROCESSING TOC:" -#: pg_backup_archiver.c:1805 +#: pg_backup_archiver.c:1775 #, c-format msgid "while FINALIZING:" msgstr "ενόσω FINALIZING:" -#: pg_backup_archiver.c:1810 +#: pg_backup_archiver.c:1780 #, c-format msgid "from TOC entry %d; %u %u %s %s %s" msgstr "από καταχώρηση TOC %d; %u %u %s %s %s" -#: pg_backup_archiver.c:1886 +#: pg_backup_archiver.c:1856 #, c-format msgid "bad dumpId" msgstr "εσφαλμένο dumpId" -#: pg_backup_archiver.c:1907 +#: pg_backup_archiver.c:1877 #, c-format msgid "bad table dumpId for TABLE DATA item" msgstr "εσφαλμένος πίνακας dumpId για στοιχείο TABLE DATA" -#: pg_backup_archiver.c:1999 +#: pg_backup_archiver.c:1969 #, c-format msgid "unexpected data offset flag %d" msgstr "μη αναμενόμενη σημαία όφσετ δεδομένων %d" -#: pg_backup_archiver.c:2012 +#: pg_backup_archiver.c:1982 #, c-format msgid "file offset in dump file is too large" msgstr "το όφσετ αρχείου στο αρχείο απόθεσης είναι πολύ μεγάλο" -#: pg_backup_archiver.c:2150 pg_backup_archiver.c:2160 +#: pg_backup_archiver.c:2093 #, c-format msgid "directory name too long: \"%s\"" msgstr "πολύ μακρύ όνομα καταλόγου: «%s»" -#: pg_backup_archiver.c:2168 +#: pg_backup_archiver.c:2143 #, 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:2176 pg_backup_custom.c:173 pg_backup_custom.c:807 -#: pg_backup_directory.c:207 pg_backup_directory.c:395 +#: pg_backup_archiver.c:2151 pg_backup_custom.c:173 pg_backup_custom.c:816 +#: pg_backup_directory.c:206 pg_backup_directory.c:395 #, c-format msgid "could not open input file \"%s\": %m" msgstr "δεν ήταν δυνατό το άνοιγμα του αρχείου εισόδου «%s»: %m" -#: pg_backup_archiver.c:2183 pg_backup_custom.c:179 +#: pg_backup_archiver.c:2158 pg_backup_custom.c:179 #, c-format msgid "could not open input file: %m" msgstr "δεν ήταν δυνατό το άνοιγμα αρχείου εισόδου %m" -#: pg_backup_archiver.c:2189 +#: pg_backup_archiver.c:2164 #, c-format msgid "could not read input file: %m" msgstr "δεν ήταν δυνατή η ανάγνωση αρχείου εισόδου: %m" -#: pg_backup_archiver.c:2191 +#: pg_backup_archiver.c:2166 #, c-format msgid "input file is too short (read %lu, expected 5)" msgstr "το αρχείο εισόδου είναι πολύ σύντομο (διάβασε %lu, ανάμενε 5)" -#: pg_backup_archiver.c:2223 +#: pg_backup_archiver.c:2198 #, c-format msgid "input file appears to be a text format dump. Please use psql." msgstr "το αρχείο εισαγωγής φαίνεται να είναι απόθεση μορφής κειμένου. Παρακαλώ χρησιμοποιήστε το psql." -#: pg_backup_archiver.c:2229 +#: pg_backup_archiver.c:2204 #, c-format msgid "input file does not appear to be a valid archive (too short?)" msgstr "το αρχείο εισόδου δεν φαίνεται να είναι έγκυρη αρχειοθήκη (πολύ σύντομο;)" -#: pg_backup_archiver.c:2235 +#: pg_backup_archiver.c:2210 #, c-format msgid "input file does not appear to be a valid archive" msgstr "το αρχείο εισόδου δεν φαίνεται να είναι έγκυρη αρχειοθήκη" -#: pg_backup_archiver.c:2244 +#: pg_backup_archiver.c:2219 #, c-format msgid "could not close input file: %m" msgstr "δεν ήταν δυνατό το κλείσιμο αρχείου εισόδου: %m" -#: pg_backup_archiver.c:2361 +#: pg_backup_archiver.c:2297 +#, c-format +msgid "could not open stdout for appending: %m" +msgstr "δεν ήταν δυνατό το άνοιγμα τυπικής εξόδου για προσάρτηση: %m" + +#: pg_backup_archiver.c:2342 #, c-format msgid "unrecognized file format \"%d\"" msgstr "μη αναγνωρίσιμη μορφή αρχείου «%d»" -#: pg_backup_archiver.c:2443 pg_backup_archiver.c:4505 +#: pg_backup_archiver.c:2423 pg_backup_archiver.c:4448 #, c-format msgid "finished item %d %s %s" msgstr "τερματισμός στοιχείου %d %s %s" -#: pg_backup_archiver.c:2447 pg_backup_archiver.c:4518 +#: pg_backup_archiver.c:2427 pg_backup_archiver.c:4461 #, c-format msgid "worker process failed: exit code %d" msgstr "διεργασία εργάτη απέτυχε: κωδικός εξόδου %d" -#: pg_backup_archiver.c:2568 +#: pg_backup_archiver.c:2548 #, c-format msgid "entry ID %d out of range -- perhaps a corrupt TOC" msgstr "καταχώρηση με ID %d εκτός εύρους τιμών -- ίσως αλλοιωμένο TOC" -#: pg_backup_archiver.c:2648 +#: pg_backup_archiver.c:2628 #, c-format msgid "restoring tables WITH OIDS is not supported anymore" msgstr "η επαναφορά πινάκων WITH OIDS δεν υποστηρίζεται πλέον" -#: pg_backup_archiver.c:2730 +#: pg_backup_archiver.c:2710 #, c-format msgid "unrecognized encoding \"%s\"" msgstr "μη αναγνωρίσιμη κωδικοποίηση «%s»" -#: pg_backup_archiver.c:2735 +#: pg_backup_archiver.c:2715 #, c-format msgid "invalid ENCODING item: %s" msgstr "μη έγκυρο στοιχείο ENCODING: %s" -#: pg_backup_archiver.c:2753 +#: pg_backup_archiver.c:2733 #, c-format msgid "invalid STDSTRINGS item: %s" msgstr "μη έγκυρο στοιχείο STDSTRINGS: %s" -#: pg_backup_archiver.c:2778 +#: pg_backup_archiver.c:2758 #, c-format msgid "schema \"%s\" not found" msgstr "το σχήμα «%s» δεν βρέθηκε" -#: pg_backup_archiver.c:2785 +#: pg_backup_archiver.c:2765 #, c-format msgid "table \"%s\" not found" msgstr "ο πίνακας «%s» δεν βρέθηκε" -#: pg_backup_archiver.c:2792 +#: pg_backup_archiver.c:2772 #, c-format msgid "index \"%s\" not found" msgstr "το ευρετήριο «%s» δεν βρέθηκε" -#: pg_backup_archiver.c:2799 +#: pg_backup_archiver.c:2779 #, c-format msgid "function \"%s\" not found" msgstr "η συνάρτηση «%s» δεν βρέθηκε" -#: pg_backup_archiver.c:2806 +#: pg_backup_archiver.c:2786 #, c-format msgid "trigger \"%s\" not found" msgstr "η ενεργοποίηση «%s» δεν βρέθηκε" -#: pg_backup_archiver.c:3203 +#: pg_backup_archiver.c:3183 #, c-format msgid "could not set session user to \"%s\": %s" msgstr "δεν ήταν δυνατός ο ορισμός του χρήστη συνεδρίας σε «%s»: %s" -#: pg_backup_archiver.c:3340 +#: pg_backup_archiver.c:3315 #, c-format msgid "could not set search_path to \"%s\": %s" msgstr "δεν ήταν δυνατός ο ορισμός του search_path σε «%s»: %s" -#: pg_backup_archiver.c:3402 +#: pg_backup_archiver.c:3376 #, c-format msgid "could not set default_tablespace to %s: %s" msgstr "δεν ήταν δυνατός ο ορισμός του default_tablespace σε «%s»: %s" -#: pg_backup_archiver.c:3452 +#: pg_backup_archiver.c:3425 #, c-format msgid "could not set default_table_access_method: %s" msgstr "δεν ήταν δυνατός ο ορισμός του default_table_access_method: %s" -#: pg_backup_archiver.c:3546 pg_backup_archiver.c:3711 +#: pg_backup_archiver.c:3530 #, c-format msgid "don't know how to set owner for object type \"%s\"" msgstr "δεν γνωρίζω πώς να οριστεί κάτοχος για τύπο αντικειμένου «%s»" -#: pg_backup_archiver.c:3814 +#: pg_backup_archiver.c:3752 #, c-format msgid "did not find magic string in file header" msgstr "δεν βρέθηκε μαγική συμβολοσειρά στην κεφαλίδα αρχείου" -#: pg_backup_archiver.c:3828 +#: pg_backup_archiver.c:3766 #, c-format msgid "unsupported version (%d.%d) in file header" msgstr "μη υποστηριζόμενη έκδοση (%d.%d) στην κεφαλίδα αρχείου" -#: pg_backup_archiver.c:3833 +#: pg_backup_archiver.c:3771 #, c-format msgid "sanity check on integer size (%lu) failed" msgstr "απέτυχε έλεγχος ακεραιότητας για μέγεθος ακεραίου (%lu)" -#: pg_backup_archiver.c:3837 +#: pg_backup_archiver.c:3775 #, c-format msgid "archive was made on a machine with larger integers, some operations might fail" msgstr "το αρχείο δημιουργήθηκε σε έναν υπολογιστή με μεγαλύτερους ακέραιους, ορισμένες λειτουργίες ενδέχεται να αποτύχουν" -#: pg_backup_archiver.c:3847 +#: pg_backup_archiver.c:3785 #, c-format msgid "expected format (%d) differs from format found in file (%d)" msgstr "η αναμενόμενη μορφή (%d) διαφέρει από τη μορφή που βρίσκεται στο αρχείο (%d)" -#: pg_backup_archiver.c:3862 +#: pg_backup_archiver.c:3807 #, c-format -msgid "archive is compressed, but this installation does not support compression -- no data will be available" -msgstr "το αρχείο είναι συμπιεσμένο, αλλά αυτή η εγκατάσταση δεν υποστηρίζει συμπίεση -- δεν θα υπάρχουν διαθέσιμα δεδομένα" +msgid "archive is compressed, but this installation does not support compression (%s) -- no data will be available" +msgstr "το αρχείο είναι συμπιεσμένο, αλλά αυτή η εγκατάσταση δεν υποστηρίζει συμπίεση (%s) -- δεν θα υπάρχουν διαθέσιμα δεδομένα" -#: pg_backup_archiver.c:3896 +#: pg_backup_archiver.c:3843 #, c-format msgid "invalid creation date in header" msgstr "μη έγκυρη ημερομηνία δημιουργίας στην κεφαλίδα" -#: pg_backup_archiver.c:4030 +#: pg_backup_archiver.c:3977 #, c-format msgid "processing item %d %s %s" msgstr "επεξεργασία στοιχείου %d %s %s" -#: pg_backup_archiver.c:4109 +#: pg_backup_archiver.c:4052 #, c-format msgid "entering main parallel loop" msgstr "εισέρχεται στο κύριο παράλληλο βρόχο" -#: pg_backup_archiver.c:4120 +#: pg_backup_archiver.c:4063 #, c-format msgid "skipping item %d %s %s" msgstr "παράβλεψη στοιχείου %d %s %s" -#: pg_backup_archiver.c:4129 +#: pg_backup_archiver.c:4072 #, c-format msgid "launching item %d %s %s" msgstr "εκκίνηση στοιχείου %d %s %s" -#: pg_backup_archiver.c:4183 +#: pg_backup_archiver.c:4126 #, c-format msgid "finished main parallel loop" msgstr "εξέρχεται από το κύριο παράλληλο βρόχο" -#: pg_backup_archiver.c:4219 +#: pg_backup_archiver.c:4162 #, c-format msgid "processing missed item %d %s %s" msgstr "επεξεργασία παραβλεπόμενου στοιχείου %d %s %s" -#: pg_backup_archiver.c:4824 +#: pg_backup_archiver.c:4767 #, c-format msgid "table \"%s\" could not be created, will not restore its data" msgstr "δεν ήταν δυνατή η δημιουργία του πίνακα «%s», δεν θα επαναφερθούν τα δεδομένα του" -#: pg_backup_custom.c:376 pg_backup_null.c:147 +#: pg_backup_custom.c:380 pg_backup_null.c:147 #, c-format msgid "invalid OID for large object" msgstr "μη έγκυρο OID για μεγάλο αντικειμένο" -#: pg_backup_custom.c:439 pg_backup_custom.c:505 pg_backup_custom.c:629 -#: pg_backup_custom.c:865 pg_backup_tar.c:1016 pg_backup_tar.c:1021 +#: pg_backup_custom.c:445 pg_backup_custom.c:511 pg_backup_custom.c:640 +#: pg_backup_custom.c:874 pg_backup_tar.c:1014 pg_backup_tar.c:1019 #, c-format msgid "error during file seek: %m" msgstr "σφάλμα κατά τη διάρκεια αναζήτησης σε αρχείο: %m" -#: pg_backup_custom.c:478 +#: pg_backup_custom.c:484 #, c-format msgid "data block %d has wrong seek position" msgstr "%d μπλοκ δεδομένων έχει εσφαλμένη θέση αναζήτησης" -#: pg_backup_custom.c:495 +#: pg_backup_custom.c:501 #, c-format msgid "unrecognized data block type (%d) while searching archive" msgstr "τύπος μπλοκ δεδομένων (%d) που δεν αναγνωρίζεται κατά την αναζήτηση αρχειοθέτησης" -#: pg_backup_custom.c:517 +#: pg_backup_custom.c:523 #, c-format msgid "could not find block ID %d in archive -- possibly due to out-of-order restore request, which cannot be handled due to non-seekable input file" msgstr "δεν ήταν δυνατή η εύρεση μπλοκ ID %d στο αρχείο -- πιθανώς λόγω αίτησης επαναφοράς εκτός σειράς, η οποία δεν είναι δυνατό να αντιμετωπιστεί λόγω μη αναζητήσιμου αρχείου εισόδου" -#: pg_backup_custom.c:522 +#: pg_backup_custom.c:528 #, c-format msgid "could not find block ID %d in archive -- possibly corrupt archive" msgstr "δεν ήταν δυνατή η εύρεση μπλοκ ID %d στην αρχειοθήκη -- πιθανώς αλλοιωμένη αρχειοθήκη" -#: pg_backup_custom.c:529 +#: pg_backup_custom.c:535 #, c-format msgid "found unexpected block ID (%d) when reading data -- expected %d" msgstr "βρέθηκε μη αναμενόμενο μπλοκ ID (%d) κατά την ανάγνωση δεδομένων -- αναμενόμενο %d" -#: pg_backup_custom.c:543 +#: pg_backup_custom.c:549 #, c-format msgid "unrecognized data block type %d while restoring archive" msgstr "μη αναγνωρίσιμος τύπος μπλοκ δεδομένων %d κατά την επαναφορά της αρχειοθήκης" -#: pg_backup_custom.c:645 -#, c-format -msgid "could not read from input file: %m" -msgstr "δεν ήταν δυνατή η ανάγνωση από αρχείο: %m" - -#: pg_backup_custom.c:746 pg_backup_custom.c:798 pg_backup_custom.c:943 -#: pg_backup_tar.c:1019 +#: pg_backup_custom.c:755 pg_backup_custom.c:807 pg_backup_custom.c:952 +#: pg_backup_tar.c:1017 #, c-format msgid "could not determine seek position in archive file: %m" msgstr "δεν ήταν δυνατός ο προσδιορισμός της θέσης αναζήτησης στην αρχειοθήκη: %m" -#: pg_backup_custom.c:762 pg_backup_custom.c:802 +#: pg_backup_custom.c:771 pg_backup_custom.c:811 #, c-format msgid "could not close archive file: %m" msgstr "δεν ήταν δυνατό το κλείσιμο της αρχειοθήκης: %m" -#: pg_backup_custom.c:785 +#: pg_backup_custom.c:794 #, c-format msgid "can only reopen input archives" msgstr "μπορεί να επα-ανοίξει μόνο αρχειοθήκες εισόδου" -#: pg_backup_custom.c:792 +#: pg_backup_custom.c:801 #, c-format msgid "parallel restore from standard input is not supported" msgstr "η επαναφορά από τυπική είσοδο δεν υποστηρίζεται" -#: pg_backup_custom.c:794 +#: pg_backup_custom.c:803 #, c-format msgid "parallel restore from non-seekable file is not supported" msgstr "η παράλληλη επαναφορά από μη αναζητήσιμο αρχείο δεν υποστηρίζεται" -#: pg_backup_custom.c:810 +#: pg_backup_custom.c:819 #, c-format msgid "could not set seek position in archive file: %m" msgstr "δεν ήταν δυνατή η αναζήτηση θέσης στο αρχείο αρχειοθέτησης: %m" -#: pg_backup_custom.c:889 +#: pg_backup_custom.c:898 #, c-format msgid "compressor active" msgstr "συμπιεστής ενεργός" @@ -996,12 +1085,12 @@ msgstr "συμπιεστής ενεργός" msgid "could not get server_version from libpq" msgstr "δεν ήταν δυνατή η απόκτηση server_version από libpq" -#: pg_backup_db.c:53 pg_dumpall.c:1646 +#: pg_backup_db.c:53 pg_dumpall.c:1809 #, c-format msgid "aborting because of server version mismatch" msgstr "ματαίωση λόγω ασυμφωνίας έκδοσης διακομιστή" -#: pg_backup_db.c:54 pg_dumpall.c:1647 +#: pg_backup_db.c:54 pg_dumpall.c:1810 #, c-format msgid "server version: %s; %s version: %s" msgstr "έκδοση διακομιστή: %s; %s έκδοση: %s" @@ -1011,7 +1100,7 @@ msgstr "έκδοση διακομιστή: %s; %s έκδοση: %s" msgid "already connected to a database" msgstr "ήδη συνδεδεμένος σε βάση δεδομένων" -#: pg_backup_db.c:128 pg_backup_db.c:178 pg_dumpall.c:1490 pg_dumpall.c:1595 +#: pg_backup_db.c:128 pg_backup_db.c:178 pg_dumpall.c:1656 pg_dumpall.c:1758 msgid "Password: " msgstr "Κωδικός πρόσβασης: " @@ -1025,92 +1114,93 @@ msgstr "δεν ήταν δυνατή η σύνδεση σε βάση δεδομ msgid "reconnection failed: %s" msgstr "επανασύνδεση απέτυχε: %s" -#: pg_backup_db.c:190 pg_backup_db.c:265 pg_dumpall.c:1520 pg_dumpall.c:1604 +#: 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 #, c-format msgid "%s" msgstr "%s" -#: pg_backup_db.c:272 pg_dumpall.c:1709 pg_dumpall.c:1732 +#: pg_backup_db.c:271 pg_dumpall.c:1872 pg_dumpall.c:1895 #, c-format msgid "query failed: %s" msgstr "το ερώτημα απέτυχε: %s" -#: pg_backup_db.c:274 pg_dumpall.c:1710 pg_dumpall.c:1733 +#: pg_backup_db.c:273 pg_dumpall.c:1873 pg_dumpall.c:1896 #, c-format msgid "Query was: %s" msgstr "Το ερώτημα ήταν: %s" -#: pg_backup_db.c:316 +#: pg_backup_db.c:315 #, c-format msgid "query returned %d row instead of one: %s" msgid_plural "query returned %d rows instead of one: %s" msgstr[0] "το ερώτημα επέστρεψε %d σειρά αντί μίας: %s" msgstr[1] "το ερώτημα επέστρεψε %d σειρές αντί μίας: %s" -#: pg_backup_db.c:352 +#: pg_backup_db.c:351 #, c-format msgid "%s: %sCommand was: %s" msgstr "%s: %s η εντολή ήταν: %s" -#: pg_backup_db.c:408 pg_backup_db.c:482 pg_backup_db.c:489 +#: pg_backup_db.c:407 pg_backup_db.c:481 pg_backup_db.c:488 msgid "could not execute query" msgstr "δεν ήταν δυνατή η εκτέλεση ερωτήματος" -#: pg_backup_db.c:461 +#: pg_backup_db.c:460 #, c-format msgid "error returned by PQputCopyData: %s" msgstr "επιστράφηκε σφάλμα από PQputCopyData: %s" -#: pg_backup_db.c:510 +#: pg_backup_db.c:509 #, c-format msgid "error returned by PQputCopyEnd: %s" msgstr "επιστράφηκε σφάλμα από PQputCopyEnd: %s" -#: pg_backup_db.c:516 +#: pg_backup_db.c:515 #, c-format msgid "COPY failed for table \"%s\": %s" msgstr "COPY απέτυχε για πίνακα «%s»: %s" -#: pg_backup_db.c:522 pg_dump.c:2106 +#: pg_backup_db.c:521 pg_dump.c:2202 #, c-format msgid "unexpected extra results during COPY of table \"%s\"" msgstr "μη αναμενόμενα αποτελέσματα κατά τη διάρκεια COPY του πίνακα «%s»" -#: pg_backup_db.c:534 +#: pg_backup_db.c:533 msgid "could not start database transaction" msgstr "δεν ήταν δυνατή η εκκίνηση συναλλαγής βάσης δεδομένων" -#: pg_backup_db.c:542 +#: pg_backup_db.c:541 msgid "could not commit database transaction" msgstr "δεν ήταν δυνατή η ολοκλήρωση της συναλλαγής βάσης δεδομένων" -#: pg_backup_directory.c:156 +#: pg_backup_directory.c:155 #, c-format msgid "no output directory specified" msgstr "δεν ορίστηκε κατάλογος δεδομένων εξόδου" -#: pg_backup_directory.c:185 +#: pg_backup_directory.c:184 #, c-format msgid "could not read directory \"%s\": %m" msgstr "δεν ήταν δυνατή η ανάγνωση του καταλόγου «%s»: %m" -#: pg_backup_directory.c:189 +#: pg_backup_directory.c:188 #, c-format msgid "could not close directory \"%s\": %m" msgstr "δεν ήταν δυνατό το κλείσιμο του καταλόγου «%s»: %m" -#: pg_backup_directory.c:195 +#: pg_backup_directory.c:194 #, c-format msgid "could not create directory \"%s\": %m" msgstr "δεν ήταν δυνατή η δημιουργία του καταλόγου «%s»: %m" -#: pg_backup_directory.c:355 pg_backup_directory.c:497 -#: pg_backup_directory.c:533 +#: pg_backup_directory.c:356 pg_backup_directory.c:499 +#: pg_backup_directory.c:537 #, c-format msgid "could not write to output file: %s" msgstr "δεν ήταν δυνατή η εγγραφή εξόδου στο αρχείο: %s" -#: pg_backup_directory.c:373 +#: pg_backup_directory.c:374 #, c-format msgid "could not close data file: %m" msgstr "δεν ήταν δυνατό το κλείσιμο του αρχείου δεδομένων: %m" @@ -1120,42 +1210,42 @@ msgstr "δεν ήταν δυνατό το κλείσιμο του αρχείου msgid "could not close data file \"%s\": %m" msgstr "δεν ήταν δυνατό το κλείσιμο του αρχείου δεδομένων «%s»: %m" -#: pg_backup_directory.c:447 +#: pg_backup_directory.c:448 #, c-format msgid "could not open large object TOC file \"%s\" for input: %m" msgstr "δεν ήταν δυνατό το άνοιγμα αρχείου TOC μεγάλου αντικειμένου «%s» για είσοδο: %m" -#: pg_backup_directory.c:458 +#: pg_backup_directory.c:459 #, c-format msgid "invalid line in large object TOC file \"%s\": \"%s\"" msgstr "μη έγκυρη γραμμή σε αρχείο TOC μεγάλου αντικειμένου «%s»: «%s»" -#: pg_backup_directory.c:467 +#: pg_backup_directory.c:468 #, c-format msgid "error reading large object TOC file \"%s\"" msgstr "σφάλμα κατά την ανάγνωση αρχείου TOC μεγάλου αντικειμένου «%s»" -#: pg_backup_directory.c:471 +#: pg_backup_directory.c:472 #, c-format msgid "could not close large object TOC file \"%s\": %m" msgstr "δεν ήταν δυνατό το κλείσιμο αρχείου TOC μεγάλου αντικειμένου «%s»: %m" -#: pg_backup_directory.c:685 +#: pg_backup_directory.c:694 #, c-format -msgid "could not close blob data file: %m" -msgstr "δεν μπόρεσε να κλείσει το αρχείο δεδομένων μεγάλων αντικειμένων: %m" +msgid "could not close LO data file: %m" +msgstr "δεν ήταν δυνατό το κλείσιμο του αρχείου δεδομένων LO: %m" -#: pg_backup_directory.c:691 +#: pg_backup_directory.c:704 #, c-format -msgid "could not write to blobs TOC file" -msgstr "δεν ήταν δυνατή η εγγραφή σε αρχείο TOC blobs" +msgid "could not write to LOs TOC file: %s" +msgstr "δεν ήταν δυνατή η εγγραφή σε αρχείο LOs TOC: %s" -#: pg_backup_directory.c:705 +#: pg_backup_directory.c:720 #, c-format -msgid "could not close blobs TOC file: %m" -msgstr "δεν ήταν δυνατό το κλείσιμο αρχείου TOC μεγάλων αντικειμένων: %m" +msgid "could not close LOs TOC file: %m" +msgstr "δεν ήταν δυνατό το κλείσιμο του αρχείου LOs TOC %m" -#: pg_backup_directory.c:724 +#: pg_backup_directory.c:739 #, c-format msgid "file name too long: \"%s\"" msgstr "πολύ μακρύ όνομα αρχείου: «%s»" @@ -1176,7 +1266,7 @@ msgid "could not open TOC file for output: %m" msgstr "δεν ήταν δυνατό το άνοιγμα αρχείου TOC για έξοδο: %m" #: pg_backup_tar.c:198 pg_backup_tar.c:334 pg_backup_tar.c:389 -#: pg_backup_tar.c:405 pg_backup_tar.c:893 +#: pg_backup_tar.c:405 pg_backup_tar.c:891 #, c-format msgid "compression is not supported by tar archive format" msgstr "δεν υποστηρίζεται συμπίεση από τη μορφή αρχειοθέτησης tar" @@ -1201,44 +1291,44 @@ msgstr "δεν ήταν δυνατή η εύρεση του αρχείου «%s msgid "could not generate temporary file name: %m" msgstr "δεν ήταν δυνατή η δημιουργία ονόματος προσωρινού αρχείου: %m" -#: pg_backup_tar.c:624 +#: pg_backup_tar.c:623 #, c-format msgid "unexpected COPY statement syntax: \"%s\"" msgstr "μη αναμενόμενη σύνταξη πρότασης COPY: «%s»" -#: pg_backup_tar.c:890 +#: pg_backup_tar.c:888 #, c-format msgid "invalid OID for large object (%u)" msgstr "μη έγκυρο OID για μεγάλο αντικείμενο (%u)" -#: pg_backup_tar.c:1035 +#: pg_backup_tar.c:1033 #, c-format msgid "could not close temporary file: %m" msgstr "δεν ήταν δυνατό το κλείσιμο προσωρινού αρχείου: %m" -#: pg_backup_tar.c:1038 +#: pg_backup_tar.c:1036 #, c-format msgid "actual file length (%lld) does not match expected (%lld)" msgstr "το πραγματικό μήκος του αρχείου (%lld) δεν αντιστοιχεί στο αναμενόμενο (%lld)" -#: pg_backup_tar.c:1084 pg_backup_tar.c:1115 +#: pg_backup_tar.c:1082 pg_backup_tar.c:1113 #, c-format msgid "could not find header for file \"%s\" in tar archive" msgstr "δεν ήταν δυνατή η εύρεση κεφαλίδας για το αρχείο «%s» στο αρχείο tar" -#: pg_backup_tar.c:1102 +#: pg_backup_tar.c:1100 #, c-format msgid "restoring data out of order is not supported in this archive format: \"%s\" is required, but comes before \"%s\" in the archive file." msgstr "η επαναφορά δεδομένων εκτός σειράς δεν υποστηρίζεται σε αυτήν τη μορφή αρχειοθέτησης: απαιτείται «%s», αλλά προηγείται της «%s» στο αρχείο αρχειοθέτησης." -#: pg_backup_tar.c:1149 +#: pg_backup_tar.c:1147 #, c-format msgid "incomplete tar header found (%lu byte)" msgid_plural "incomplete tar header found (%lu bytes)" msgstr[0] "βρέθηκε ατελής κεφαλίδα tar (%lu byte)" msgstr[1] "βρέθηκε ατελής κεφαλίδα tar (%lu bytes)" -#: pg_backup_tar.c:1188 +#: pg_backup_tar.c:1186 #, c-format msgid "corrupt tar header found in %s (expected %d, computed %d) file position %llu" msgstr "αλλοιωμένη κεφαλίδα tar βρέθηκε σε %s (αναμενόμενη %d, υπολογισμένη %d) θέση αρχείου %llu" @@ -1248,9 +1338,9 @@ msgstr "αλλοιωμένη κεφαλίδα tar βρέθηκε σε %s (ανα msgid "unrecognized section name: \"%s\"" msgstr "μη αναγνωρισμένο όνομα τμήματος: «%s»" -#: pg_backup_utils.c:55 pg_dump.c:628 pg_dump.c:645 pg_dumpall.c:340 -#: pg_dumpall.c:350 pg_dumpall.c:358 pg_dumpall.c:366 pg_dumpall.c:373 -#: pg_dumpall.c:383 pg_dumpall.c:458 pg_restore.c:291 pg_restore.c:307 +#: pg_backup_utils.c:55 pg_dump.c:662 pg_dump.c:679 pg_dumpall.c:365 +#: pg_dumpall.c:375 pg_dumpall.c:383 pg_dumpall.c:391 pg_dumpall.c:398 +#: pg_dumpall.c:408 pg_dumpall.c:483 pg_restore.c:291 pg_restore.c:307 #: pg_restore.c:321 #, c-format msgid "Try \"%s --help\" for more information." @@ -1261,72 +1351,82 @@ msgstr "Δοκιμάστε «%s --help» για περισσότερες πλη msgid "out of on_exit_nicely slots" msgstr "έλλειψη υποδοχών on_exit_nicely" -#: pg_dump.c:643 pg_dumpall.c:348 pg_restore.c:305 +#: pg_dump.c:677 pg_dumpall.c:373 pg_restore.c:305 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "πάρα πολλές παράμετροι εισόδου από την γραμμή εντολών (η πρώτη είναι η «%s»)" -#: pg_dump.c:662 pg_restore.c:328 +#: pg_dump.c:696 pg_restore.c:328 #, c-format msgid "options -s/--schema-only and -a/--data-only cannot be used together" msgstr "οι επιλογές -s/--schema-only και -a/--data-only δεν είναι δυνατό να χρησιμοποιηθούν μαζί" -#: pg_dump.c:665 +#: pg_dump.c:699 #, c-format msgid "options -s/--schema-only and --include-foreign-data cannot be used together" msgstr "οι επιλογές -s/--schema-only και --include-foreign-data δεν είναι δυνατό να χρησιμοποιηθούν μαζί" -#: pg_dump.c:668 +#: pg_dump.c:702 #, c-format msgid "option --include-foreign-data is not supported with parallel backup" msgstr "η επιλογή --include-foreign-data δεν υποστηρίζεται με παράλληλη δημιουργία αντιγράφων ασφαλείας" -#: pg_dump.c:671 pg_restore.c:331 +#: pg_dump.c:705 pg_restore.c:331 #, c-format msgid "options -c/--clean and -a/--data-only cannot be used together" msgstr "οι επιλογές -c/--clean και -a/--data-only δεν είναι δυνατό να χρησιμοποιηθούν μαζί" -#: pg_dump.c:674 pg_dumpall.c:378 pg_restore.c:356 +#: pg_dump.c:708 pg_dumpall.c:403 pg_restore.c:356 #, c-format msgid "option --if-exists requires option -c/--clean" msgstr "η επιλογή --if-exists απαιτεί την επιλογή -c/--clean" -#: pg_dump.c:681 +#: pg_dump.c:715 #, c-format msgid "option --on-conflict-do-nothing requires option --inserts, --rows-per-insert, or --column-inserts" msgstr "η επιλογή --on-conflict-do-nothing απαιτεί την επιλογή --inserts, --rows-per-insert, ή --column-inserts" -#: pg_dump.c:703 +#: pg_dump.c:744 +#, c-format +msgid "unrecognized compression algorithm: \"%s\"" +msgstr "μη αναγνωρίσιμος αλγόριθμος συμπίεσης: «%s»" + +#: pg_dump.c:751 #, c-format -msgid "requested compression not available in this installation -- archive will be uncompressed" -msgstr "η συμπίεση που ζητήθηκε δεν είναι διαθέσιμη σε αυτήν την εγκατάσταση -- η αρχειοθήκη θα είναι ασυμπίεστη" +msgid "invalid compression specification: %s" +msgstr "μη έγκυρη προδιαγραφή συμπίεσης: %s" -#: pg_dump.c:716 +#: pg_dump.c:764 +#, c-format +msgid "compression option \"%s\" is not currently supported by pg_dump" +msgstr "η επιλογή συμπίεσης «%s» δεν υποστηρίζεται ακόμα από το pg_dump" + +#: pg_dump.c:776 #, c-format msgid "parallel backup only supported by the directory format" msgstr "παράλληλο αντίγραφο ασφαλείας υποστηρίζεται μόνο από μορφή καταλόγου" -#: pg_dump.c:762 +#: pg_dump.c:822 #, c-format msgid "last built-in OID is %u" msgstr "το τελευταίο ενσωματωμένο OID είναι %u" -#: pg_dump.c:771 +#: pg_dump.c:831 #, c-format msgid "no matching schemas were found" msgstr "δεν βρέθηκαν σχήματα που να ταιριάζουν" -#: pg_dump.c:785 +#: pg_dump.c:848 #, c-format msgid "no matching tables were found" msgstr "δεν βρέθηκαν πίνακες που να ταιριάζουν" -#: pg_dump.c:807 +#: pg_dump.c:876 #, c-format msgid "no matching extensions were found" msgstr "δεν βρέθηκαν επεκτάσεις που να ταιριάζουν" -#: pg_dump.c:990 +#: pg_dump.c:1056 #, c-format msgid "" "%s dumps a database as a text file or to other formats.\n" @@ -1335,17 +1435,17 @@ msgstr "" "%s αποθέτει μια βάση δεδομένων ως αρχείο κειμένου ή σε άλλες μορφές.\n" "\n" -#: pg_dump.c:991 pg_dumpall.c:605 pg_restore.c:433 +#: pg_dump.c:1057 pg_dumpall.c:630 pg_restore.c:433 #, c-format msgid "Usage:\n" msgstr "Χρήση:\n" -#: pg_dump.c:992 +#: pg_dump.c:1058 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [ΕΠΙΛΟΓΗ]... [DBNAME]\n" -#: pg_dump.c:994 pg_dumpall.c:608 pg_restore.c:436 +#: pg_dump.c:1060 pg_dumpall.c:633 pg_restore.c:436 #, c-format msgid "" "\n" @@ -1354,12 +1454,12 @@ msgstr "" "\n" "Γενικές επιλογές:\n" -#: pg_dump.c:995 +#: pg_dump.c:1061 #, c-format msgid " -f, --file=FILENAME output file or directory name\n" msgstr " -f, --file=FILENAME αρχείο εξόδου ή όνομα καταλόγου\n" -#: pg_dump.c:996 +#: pg_dump.c:1062 #, c-format msgid "" " -F, --format=c|d|t|p output file format (custom, directory, tar,\n" @@ -1368,42 +1468,46 @@ msgstr "" " -F, --format=c|d|t|p μορφή αρχείου εξόδου (προσαρμοσμένη, κατάλογος, tar,\n" " απλό κείμενο (προεπιλογή))\n" -#: pg_dump.c:998 +#: pg_dump.c:1064 #, c-format msgid " -j, --jobs=NUM use this many parallel jobs to dump\n" msgstr " -j, --jobs=NUM χρησιμοποιήστε τόσες πολλές παράλληλες εργασίες για απόθεση\n" -#: pg_dump.c:999 pg_dumpall.c:610 +#: pg_dump.c:1065 pg_dumpall.c:635 #, c-format msgid " -v, --verbose verbose mode\n" msgstr " -v, --verbose περιφραστική λειτουργία\n" -#: pg_dump.c:1000 pg_dumpall.c:611 +#: pg_dump.c:1066 pg_dumpall.c:636 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version εμφάνισε πληροφορίες έκδοσης και, στη συνέχεια, έξοδος\n" -#: pg_dump.c:1001 +#: pg_dump.c:1067 #, c-format -msgid " -Z, --compress=0-9 compression level for compressed formats\n" -msgstr " -Z, --compress=0-9 επίπεδο συμπίεσης για συμπιεσμένες μορφές\n" +msgid "" +" -Z, --compress=METHOD[:DETAIL]\n" +" compress as specified\n" +msgstr "" +" -Z, --compress=METHOD[:DETAIL]\n" +" συμπίεσε όπως ορίζεται\n" -#: pg_dump.c:1002 pg_dumpall.c:612 +#: pg_dump.c:1069 pg_dumpall.c:637 #, c-format msgid " --lock-wait-timeout=TIMEOUT fail after waiting TIMEOUT for a table lock\n" msgstr " --lock-wait-timeout=TIMEOUT αποτυγχάνει μετά την αναμονή TIMEOUT για το κλείδωμα πίνακα\n" -#: pg_dump.c:1003 pg_dumpall.c:639 +#: pg_dump.c:1070 pg_dumpall.c:664 #, c-format msgid " --no-sync do not wait for changes to be written safely to disk\n" msgstr " --no-sync να μην αναμένει την ασφαλή εγγραφή αλλαγών στον δίσκο\n" -#: pg_dump.c:1004 pg_dumpall.c:613 +#: pg_dump.c:1071 pg_dumpall.c:638 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help εμφάνισε αυτό το μήνυμα βοήθειας, και μετά έξοδος\n" -#: pg_dump.c:1006 pg_dumpall.c:614 +#: pg_dump.c:1073 pg_dumpall.c:639 #, c-format msgid "" "\n" @@ -1412,52 +1516,62 @@ msgstr "" "\n" "Επιλογές που ελέγχουν το περιεχόμενο εξόδου:\n" -#: pg_dump.c:1007 pg_dumpall.c:615 +#: pg_dump.c:1074 pg_dumpall.c:640 #, c-format msgid " -a, --data-only dump only the data, not the schema\n" msgstr " -a, --data-only αποθέτει μόνο τα δεδομένα, όχι το σχήμα\n" -#: pg_dump.c:1008 +#: pg_dump.c:1075 +#, c-format +msgid " -b, --large-objects include large objects in dump\n" +msgstr " -b, --large-objects περιέλαβε μεγάλα αντικείμενα στην απόθεση\n" + +#: pg_dump.c:1076 #, c-format -msgid " -b, --blobs include large objects in dump\n" -msgstr " -b, --blobs περιέλαβε μεγάλα αντικείμενα στην απόθεση\n" +msgid " --blobs (same as --large-objects, deprecated)\n" +msgstr " -b, --blobs (όπως --large-objects, παρωχημένο)\n" -#: pg_dump.c:1009 +#: pg_dump.c:1077 #, c-format -msgid " -B, --no-blobs exclude large objects in dump\n" +msgid " -B, --no-large-objects exclude large objects in dump\n" msgstr " -B, --no-blobs εξαίρεσε μεγάλα αντικείμενα στην απόθεση\n" -#: pg_dump.c:1010 pg_restore.c:447 +#: pg_dump.c:1078 +#, c-format +msgid " --no-blobs (same as --no-large-objects, deprecated)\n" +msgstr " --no-blobs (όπως --no-large-objects, παρωχημένο)\n" + +#: pg_dump.c:1079 pg_restore.c:447 #, c-format msgid " -c, --clean clean (drop) database objects before recreating\n" msgstr " -c, --clean καθάρισε (εγκατάληψε) αντικείμενα βάσης δεδομένων πριν από την αναδημιουργία\n" -#: pg_dump.c:1011 +#: pg_dump.c:1080 #, c-format msgid " -C, --create include commands to create database in dump\n" msgstr " -C, --create συμπεριέλαβε εντολές για τη δημιουργία βάσης δεδομένων στην απόθεση\n" -#: pg_dump.c:1012 +#: pg_dump.c:1081 #, c-format msgid " -e, --extension=PATTERN dump the specified extension(s) only\n" msgstr " -e, --extension=PATTERN απόριψε μόνο τις καθορισμένες επεκτάσεις\n" -#: pg_dump.c:1013 pg_dumpall.c:617 +#: pg_dump.c:1082 pg_dumpall.c:642 #, c-format msgid " -E, --encoding=ENCODING dump the data in encoding ENCODING\n" msgstr " -E, --encoding=ENCODING απόθεσε τα δεδομένα στην κωδικοποίηση ENCODING\n" -#: pg_dump.c:1014 +#: pg_dump.c:1083 #, c-format msgid " -n, --schema=PATTERN dump the specified schema(s) only\n" msgstr " -n, --schema=PATTERN απόθεση μόνο για τα καθορισμένα σχήματα\n" -#: pg_dump.c:1015 +#: pg_dump.c:1084 #, c-format msgid " -N, --exclude-schema=PATTERN do NOT dump the specified schema(s)\n" msgstr " -N, --exclude-schema=PATTERN να ΜΗΝ αποθέσει τα καθορισμένα σχήματα\n" -#: pg_dump.c:1016 +#: pg_dump.c:1085 #, c-format msgid "" " -O, --no-owner skip restoration of object ownership in\n" @@ -1466,52 +1580,52 @@ msgstr "" " -O, --no-owner παράλειπε την αποκατάσταση της κυριότητας των αντικειμένων στη\n" " μορφή απλού κειμένου\n" -#: pg_dump.c:1018 pg_dumpall.c:621 +#: pg_dump.c:1087 pg_dumpall.c:646 #, c-format msgid " -s, --schema-only dump only the schema, no data\n" msgstr " -s, --schema-only απόθεση μόνο το σχήμα, χωρίς δεδομένα\n" -#: pg_dump.c:1019 +#: pg_dump.c:1088 #, c-format msgid " -S, --superuser=NAME superuser user name to use in plain-text format\n" msgstr " -S, --superuser=NAME όνομα χρήστη υπερ-χρήστη που θα χρησιμοποιηθεί σε μορφή απλού κειμένου\n" -#: pg_dump.c:1020 +#: pg_dump.c:1089 #, c-format -msgid " -t, --table=PATTERN dump the specified table(s) only\n" +msgid " -t, --table=PATTERN dump only the specified table(s)\n" msgstr " -t, --table=PATTERN απόθεση μόνο των καθορισμένων πινάκων\n" -#: pg_dump.c:1021 +#: pg_dump.c:1090 #, c-format msgid " -T, --exclude-table=PATTERN do NOT dump the specified table(s)\n" msgstr " -T, --exclude-table=PATTERN να ΜΗΝ αποθέτει τους καθορισμένους πίνακες\n" -#: pg_dump.c:1022 pg_dumpall.c:624 +#: pg_dump.c:1091 pg_dumpall.c:649 #, c-format msgid " -x, --no-privileges do not dump privileges (grant/revoke)\n" msgstr " -x, --no-privileges να ΜΗΝ αποθέτει δικαιώματα (εκχώρηση/ανάκληση)\n" -#: pg_dump.c:1023 pg_dumpall.c:625 +#: pg_dump.c:1092 pg_dumpall.c:650 #, c-format msgid " --binary-upgrade for use by upgrade utilities only\n" msgstr " --binary-upgrade μόνο για χρήση μόνο από βοηθητικά προγράμματα αναβάθμισης\n" -#: pg_dump.c:1024 pg_dumpall.c:626 +#: pg_dump.c:1093 pg_dumpall.c:651 #, c-format msgid " --column-inserts dump data as INSERT commands with column names\n" -msgstr " --column-inserts αποθέτει δεδομένα ως εντολές INSERT με ονόματα στηλών\n" +msgstr " --column-inserts απόθεσε δεδομένα ως εντολές INSERT με ονόματα στηλών\n" -#: pg_dump.c:1025 pg_dumpall.c:627 +#: pg_dump.c:1094 pg_dumpall.c:652 #, c-format msgid " --disable-dollar-quoting disable dollar quoting, use SQL standard quoting\n" msgstr " --disable-dollar-quoting απενεργοποίησε την παράθεση δολαρίου, χρήση τυποποιημένης παράθεσης SQL\n" -#: pg_dump.c:1026 pg_dumpall.c:628 pg_restore.c:464 +#: pg_dump.c:1095 pg_dumpall.c:653 pg_restore.c:464 #, c-format msgid " --disable-triggers disable triggers during data-only restore\n" msgstr " --disable-triggers απενεργοποίησε τα εναύσματα κατά την επαναφορά δεδομένων-μόνο\n" -#: pg_dump.c:1027 +#: pg_dump.c:1096 #, c-format msgid "" " --enable-row-security enable row security (dump only content user has\n" @@ -1520,22 +1634,44 @@ msgstr "" " --enable-row-security ενεργοποιήστε την ασφάλεια σειρών (απόθεση μόνο του περιεχομένου που ο χρήστης έχει\n" " πρόσβαση)\n" -#: pg_dump.c:1029 +#: pg_dump.c:1098 +#, c-format +msgid "" +" --exclude-table-and-children=PATTERN\n" +" do NOT dump the specified table(s), including\n" +" child and partition tables\n" +msgstr "" +" --exclude-table-and-children=PATTERN\n" +" να ΜΗΝ αποθέσει τους ορισμένους πίνακες, περιλαμβάνοντας\n" +" απογονικούς και κατατμημένους πίνακες\n" + +#: pg_dump.c:1101 #, c-format msgid " --exclude-table-data=PATTERN do NOT dump data for the specified table(s)\n" msgstr " --exclude-table-data=PATTERN να ΜΗΝ αποθέσει δεδομένα για τους καθορισμένους πίνακες\n" -#: pg_dump.c:1030 pg_dumpall.c:630 +#: pg_dump.c:1102 +#, c-format +msgid "" +" --exclude-table-data-and-children=PATTERN\n" +" do NOT dump data for the specified table(s),\n" +" including child and partition tables\n" +msgstr "" +" --exclude-table-data-and-children=PATTERN\n" +" να ΜΗΝ αποθέσει δεδομένα για τους ορισμένους πίνακες,\n" +" περιλαμβάνοντας απογονικούς και κατατμημένους πίνακες\n" + +#: pg_dump.c:1105 pg_dumpall.c:655 #, c-format msgid " --extra-float-digits=NUM override default setting for extra_float_digits\n" msgstr " --extra-float-digits=NUM παράκαμψε την προεπιλεγμένη ρύθμιση για extra_float_digits\n" -#: pg_dump.c:1031 pg_dumpall.c:631 pg_restore.c:466 +#: pg_dump.c:1106 pg_dumpall.c:656 pg_restore.c:466 #, c-format msgid " --if-exists use IF EXISTS when dropping objects\n" msgstr " --if-exists χρησιμοποίησε το IF EXISTS κατά την εγκαταλήψη αντικειμένων\n" -#: pg_dump.c:1032 +#: pg_dump.c:1107 #, c-format msgid "" " --include-foreign-data=PATTERN\n" @@ -1546,87 +1682,87 @@ msgstr "" " περιέλαβε δεδομένα ξένων πινάκων για\n" " διακομιστές που ταιριάζουν με PATTERN\n" -#: pg_dump.c:1035 pg_dumpall.c:632 +#: pg_dump.c:1110 pg_dumpall.c:657 #, c-format msgid " --inserts dump data as INSERT commands, rather than COPY\n" msgstr " --inserts απόθεσε δεδομένα ως εντολές INSERT, αντί για COPY\n" -#: pg_dump.c:1036 pg_dumpall.c:633 +#: pg_dump.c:1111 pg_dumpall.c:658 #, c-format msgid " --load-via-partition-root load partitions via the root table\n" msgstr " --load-via-partition-root φόρτωσε διαχωρίσματα μέσω του βασικού πίνακα\n" -#: pg_dump.c:1037 pg_dumpall.c:634 +#: pg_dump.c:1112 pg_dumpall.c:659 #, c-format msgid " --no-comments do not dump comments\n" -msgstr " --no-comments να μην αποθέσεις σχόλια\n" +msgstr " --no-comments να μην αποθέσει σχόλια\n" -#: pg_dump.c:1038 pg_dumpall.c:635 +#: pg_dump.c:1113 pg_dumpall.c:660 #, c-format msgid " --no-publications do not dump publications\n" -msgstr " --no-publications να μην αποθέσεις δημοσιεύσεις\n" +msgstr " --no-publications να μην αποθέσει δημοσιεύσεις\n" -#: pg_dump.c:1039 pg_dumpall.c:637 +#: pg_dump.c:1114 pg_dumpall.c:662 #, c-format msgid " --no-security-labels do not dump security label assignments\n" -msgstr " --no-security-labels να μην αποθέσεις αντιστοιχίσεις ετικετών ασφαλείας\n" +msgstr " --no-security-labels να μην αποθέσει αντιστοιχίσεις ετικετών ασφαλείας\n" -#: pg_dump.c:1040 pg_dumpall.c:638 +#: pg_dump.c:1115 pg_dumpall.c:663 #, c-format msgid " --no-subscriptions do not dump subscriptions\n" -msgstr " --no-publications να μην αποθέσεις συνδρομές\n" +msgstr " --no-publications να μην αποθέσει συνδρομές\n" -#: pg_dump.c:1041 pg_dumpall.c:640 +#: pg_dump.c:1116 pg_dumpall.c:665 #, c-format msgid " --no-table-access-method do not dump table access methods\n" msgstr " --no-table-access-method να μην αποθέσει μεθόδους πρόσβασης πινάκων\n" -#: pg_dump.c:1042 pg_dumpall.c:641 +#: pg_dump.c:1117 pg_dumpall.c:666 #, c-format msgid " --no-tablespaces do not dump tablespace assignments\n" msgstr " --no-tablespaces να μην αποθέσει αναθέσεις πινακοχώρος\n" -#: pg_dump.c:1043 pg_dumpall.c:642 +#: pg_dump.c:1118 pg_dumpall.c:667 #, c-format msgid " --no-toast-compression do not dump TOAST compression methods\n" msgstr " --no-toast-compression να μην αποθέσει τις μεθόδους συμπίεσης TOAST\n" -#: pg_dump.c:1044 pg_dumpall.c:643 +#: pg_dump.c:1119 pg_dumpall.c:668 #, c-format msgid " --no-unlogged-table-data do not dump unlogged table data\n" msgstr " --no-unlogged-table-data να μην αποθέσει μη δεδομένα μη-καταγραμένου πίνακα\n" -#: pg_dump.c:1045 pg_dumpall.c:644 +#: pg_dump.c:1120 pg_dumpall.c:669 #, c-format msgid " --on-conflict-do-nothing add ON CONFLICT DO NOTHING to INSERT commands\n" -msgstr " --on-conflict-do-nothing προσθέστε ON CONFLICT DO NOTHING στις εντολές INSERT\n" +msgstr " --on-conflict-do-nothing πρόσθεσε ON CONFLICT DO NOTHING στις εντολές INSERT\n" -#: pg_dump.c:1046 pg_dumpall.c:645 +#: pg_dump.c:1121 pg_dumpall.c:670 #, c-format msgid " --quote-all-identifiers quote all identifiers, even if not key words\n" msgstr " --quote-all-identifiers παράθεσε όλα τα αναγνωριστικά, ακόμα και αν δεν είναι λέξεις κλειδιά\n" -#: pg_dump.c:1047 pg_dumpall.c:646 +#: pg_dump.c:1122 pg_dumpall.c:671 #, c-format msgid " --rows-per-insert=NROWS number of rows per INSERT; implies --inserts\n" msgstr " --rows-per-insert=NROWS αριθμός γραμμών ανά INSERT; υπονοεί --inserts\n" -#: pg_dump.c:1048 +#: pg_dump.c:1123 #, c-format msgid " --section=SECTION dump named section (pre-data, data, or post-data)\n" msgstr " --section=SECTION απόθεσε ονομασμένες ενότητες (προ-δεδομένα, δεδομένα, ή μετα-δεδομένα)\n" -#: pg_dump.c:1049 +#: pg_dump.c:1124 #, c-format msgid " --serializable-deferrable wait until the dump can run without anomalies\n" msgstr " --serializable-deferrable ανάμενε έως ότου η απόθεση να μπορεί να τρέξει χωρίς ανωμαλίες\n" -#: pg_dump.c:1050 +#: pg_dump.c:1125 #, c-format msgid " --snapshot=SNAPSHOT use given snapshot for the dump\n" msgstr " --snapshot=SNAPSHOT χρησιμοποίησε το δοσμένο στιγμιότυπο για την απόθεση\n" -#: pg_dump.c:1051 pg_restore.c:476 +#: pg_dump.c:1126 pg_restore.c:476 #, c-format msgid "" " --strict-names require table and/or schema include patterns to\n" @@ -1635,7 +1771,16 @@ msgstr "" " --strict-names απαίτησε τα μοτίβα περίληψης πίνακα ή/και σχήματος να\n" " αντιστοιχήσουν τουλάχιστον μία οντότητα το καθένα\n" -#: pg_dump.c:1053 pg_dumpall.c:647 pg_restore.c:478 +#: pg_dump.c:1128 +#, c-format +msgid "" +" --table-and-children=PATTERN dump only the specified table(s), including\n" +" child and partition tables\n" +msgstr "" +" --table-and-children=PATTERN απόθεσε μόνο τους ορισμένους πίνακες, περιλαμβάνοντας\n" +" απογονικούς και κατατμημένους πίνακες\n" + +#: pg_dump.c:1130 pg_dumpall.c:672 pg_restore.c:478 #, c-format msgid "" " --use-set-session-authorization\n" @@ -1646,7 +1791,7 @@ msgstr "" " χρησιμοποιήσε τις εντολές SET SESSION AUTHORIZATION αντί των\n" " ALTER OWNER για τον ορισμό ιδιοκτησίας\n" -#: pg_dump.c:1057 pg_dumpall.c:651 pg_restore.c:482 +#: pg_dump.c:1134 pg_dumpall.c:676 pg_restore.c:482 #, c-format msgid "" "\n" @@ -1655,42 +1800,42 @@ msgstr "" "\n" "Επιλογές σύνδεσης:\n" -#: pg_dump.c:1058 +#: pg_dump.c:1135 #, c-format msgid " -d, --dbname=DBNAME database to dump\n" msgstr " -d, --dbname=DBNAME βάση δεδομένων για απόθεση\n" -#: pg_dump.c:1059 pg_dumpall.c:653 pg_restore.c:483 +#: pg_dump.c:1136 pg_dumpall.c:678 pg_restore.c:483 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=HOSTNAME διακομιστής βάσης δεδομένων ή κατάλογος υποδοχών\n" -#: pg_dump.c:1060 pg_dumpall.c:655 pg_restore.c:484 +#: pg_dump.c:1137 pg_dumpall.c:680 pg_restore.c:484 #, c-format msgid " -p, --port=PORT database server port number\n" msgstr " -p, --port=PORT θύρα διακομιστή βάσης δεδομένων\n" -#: pg_dump.c:1061 pg_dumpall.c:656 pg_restore.c:485 +#: pg_dump.c:1138 pg_dumpall.c:681 pg_restore.c:485 #, c-format msgid " -U, --username=NAME connect as specified database user\n" msgstr " -U, --username=NAME σύνδεση ως ο ορισμένος χρήστης βάσης δεδομένων\n" -#: pg_dump.c:1062 pg_dumpall.c:657 pg_restore.c:486 +#: pg_dump.c:1139 pg_dumpall.c:682 pg_restore.c:486 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password να μην ζητείται ποτέ κωδικός πρόσβασης\n" -#: pg_dump.c:1063 pg_dumpall.c:658 pg_restore.c:487 +#: pg_dump.c:1140 pg_dumpall.c:683 pg_restore.c:487 #, c-format msgid " -W, --password force password prompt (should happen automatically)\n" msgstr " -W, --password αναγκαστική προτροπή κωδικού πρόσβασης (πρέπει να συμβεί αυτόματα)\n" -#: pg_dump.c:1064 pg_dumpall.c:659 +#: pg_dump.c:1141 pg_dumpall.c:684 #, c-format msgid " --role=ROLENAME do SET ROLE before dump\n" msgstr " --role=ROLENAME κάνε SET ROLE πριν την απόθεση\n" -#: pg_dump.c:1066 +#: pg_dump.c:1143 #, c-format msgid "" "\n" @@ -1703,448 +1848,448 @@ msgstr "" "περιβάλλοντος PGDATABASE.\n" "\n" -#: pg_dump.c:1068 pg_dumpall.c:663 pg_restore.c:494 +#: pg_dump.c:1145 pg_dumpall.c:688 pg_restore.c:494 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Υποβάλετε αναφορές σφάλματων σε <%s>.\n" -#: pg_dump.c:1069 pg_dumpall.c:664 pg_restore.c:495 +#: pg_dump.c:1146 pg_dumpall.c:689 pg_restore.c:495 #, c-format msgid "%s home page: <%s>\n" msgstr "%s αρχική σελίδα: <%s>\n" -#: pg_dump.c:1088 pg_dumpall.c:488 +#: pg_dump.c:1165 pg_dumpall.c:513 #, c-format msgid "invalid client encoding \"%s\" specified" msgstr "καθορίστηκε μη έγκυρη κωδικοποίηση προγράμματος-πελάτη «%s»" -#: pg_dump.c:1226 +#: pg_dump.c:1303 #, c-format msgid "parallel dumps from standby servers are not supported by this server version" msgstr "οι παράλληλες αποθέσεις δεν υποστηρίζονται από αυτήν την έκδοση διακομιστή" -#: pg_dump.c:1291 +#: pg_dump.c:1368 #, c-format msgid "invalid output format \"%s\" specified" msgstr "ορίστηκε μη έγκυρη μορφή εξόδου «%s»" -#: pg_dump.c:1332 pg_dump.c:1388 pg_dump.c:1441 pg_dumpall.c:1282 +#: pg_dump.c:1409 pg_dump.c:1465 pg_dump.c:1518 pg_dumpall.c:1449 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "ακατάλληλο αναγνωρισμένο όνομα (πάρα πολλά διάστικτα ονόματα): %s" -#: pg_dump.c:1340 +#: pg_dump.c:1417 #, c-format msgid "no matching schemas were found for pattern \"%s\"" msgstr "δεν βρέθηκαν σχήματα που να ταιριάζουν με το μοτίβο «%s»" -#: pg_dump.c:1393 +#: pg_dump.c:1470 #, c-format msgid "no matching extensions were found for pattern \"%s\"" msgstr "δεν βρέθηκαν επεκτάσεις που ταιριάζουν με το μοτίβο «%s»" -#: pg_dump.c:1446 +#: pg_dump.c:1523 #, c-format msgid "no matching foreign servers were found for pattern \"%s\"" msgstr "δεν βρέθηκαν ξένοι διακομιστές που να ταιριάζουν με το μοτίβο «%s»" -#: pg_dump.c:1509 +#: pg_dump.c:1594 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "ακατάλληλο όνομα σχέσης (πολλά διάστικτα ονόματα): %s" -#: pg_dump.c:1520 +#: pg_dump.c:1616 #, c-format msgid "no matching tables were found for pattern \"%s\"" msgstr "δεν βρέθηκαν πίνακες που να ταιριάζουν για το μοτίβο «%s»" -#: pg_dump.c:1547 +#: pg_dump.c:1643 #, c-format msgid "You are currently not connected to a database." msgstr "Αυτή τη στιγμή δεν είστε συνδεδεμένοι σε μία βάση δεδομένων." -#: pg_dump.c:1550 +#: pg_dump.c:1646 #, c-format msgid "cross-database references are not implemented: %s" msgstr "οι παραπομπές μεταξύ βάσεων δεδομένων δεν είναι υλοποιημένες: %s" -#: pg_dump.c:1981 +#: pg_dump.c:2077 #, c-format msgid "dumping contents of table \"%s.%s\"" msgstr "αποθέτει τα δεδομένα του πίνακα «%s.%s»" -#: pg_dump.c:2087 +#: pg_dump.c:2183 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetCopyData() failed." msgstr "Η απόθεση των περιεχομένων του πίνακα «%s» απέτυχε: PQgetCopyData() απέτυχε." -#: pg_dump.c:2088 pg_dump.c:2098 +#: pg_dump.c:2184 pg_dump.c:2194 #, c-format msgid "Error message from server: %s" msgstr "Μήνυμα σφάλματος από διακομιστή: %s" -#: pg_dump.c:2089 pg_dump.c:2099 +#: pg_dump.c:2185 pg_dump.c:2195 #, c-format msgid "Command was: %s" msgstr "Η εντολή ήταν: %s" -#: pg_dump.c:2097 +#: pg_dump.c:2193 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetResult() failed." msgstr "Η απόθεση των περιεχομένων του πίνακα «%s» απέτυχε: PQgetResult() απέτυχε." -#: pg_dump.c:2179 +#: pg_dump.c:2275 #, c-format msgid "wrong number of fields retrieved from table \"%s\"" msgstr "λανθασμένος αριθμός πεδίων που ανακτήθηκαν από τον πίνακα «%s»" -#: pg_dump.c:2875 +#: pg_dump.c:2973 #, c-format msgid "saving database definition" msgstr "αποθήκευση ορισμού βάσης δεδομένων" -#: pg_dump.c:2971 +#: pg_dump.c:3078 #, c-format msgid "unrecognized locale provider: %s" msgstr "μη αναγνωρίσιμος πάροχος εντοπιότητας: %s" -#: pg_dump.c:3317 +#: pg_dump.c:3429 #, c-format msgid "saving encoding = %s" msgstr "αποθηκεύει encoding = %s" -#: pg_dump.c:3342 +#: pg_dump.c:3454 #, c-format msgid "saving standard_conforming_strings = %s" msgstr "αποθηκεύει standard_conforming_strings = %s" -#: pg_dump.c:3381 +#: pg_dump.c:3493 #, c-format msgid "could not parse result of current_schemas()" msgstr "δεν ήταν δυνατή η ανάλυση του αποτελέσματος της current_schemas()" -#: pg_dump.c:3400 +#: pg_dump.c:3512 #, c-format msgid "saving search_path = %s" msgstr "αποθηκεύει search_path = %s" -#: pg_dump.c:3438 +#: pg_dump.c:3549 #, c-format msgid "reading large objects" msgstr "ανάγνωση μεγάλων αντικειμένων" -#: pg_dump.c:3576 +#: pg_dump.c:3687 #, c-format msgid "saving large objects" msgstr "αποθηκεύει μεγάλων αντικειμένων" -#: pg_dump.c:3617 +#: pg_dump.c:3728 #, c-format msgid "error reading large object %u: %s" msgstr "σφάλμα κατά την ανάγνωση %u μεγάλου αντικειμένου: %s" -#: pg_dump.c:3723 +#: pg_dump.c:3834 #, c-format msgid "reading row-level security policies" msgstr "διαβάζει πολιτικές ασφαλείας επιπέδου σειράς" -#: pg_dump.c:3864 +#: pg_dump.c:3975 #, c-format msgid "unexpected policy command type: %c" msgstr "μη αναμενόμενος τύπος εντολής πολιτικής: %c" -#: pg_dump.c:4314 pg_dump.c:4632 pg_dump.c:11833 pg_dump.c:17684 -#: pg_dump.c:17686 pg_dump.c:18307 +#: pg_dump.c:4425 pg_dump.c:4760 pg_dump.c:11984 pg_dump.c:17857 +#: pg_dump.c:17859 pg_dump.c:18480 #, c-format msgid "could not parse %s array" msgstr "δεν ήταν δυνατή η ανάλυση συστοιχίας %s" -#: pg_dump.c:4500 +#: pg_dump.c:4613 #, c-format msgid "subscriptions not dumped because current user is not a superuser" msgstr "οι συνδρομές δεν απορρίπτονται, επειδή ο τρέχων χρήστης δεν είναι υπερχρήστης" -#: pg_dump.c:5014 +#: pg_dump.c:5149 #, c-format msgid "could not find parent extension for %s %s" msgstr "δεν ήταν δυνατή η εύρεση γονικής επέκτασης για %s %s" -#: pg_dump.c:5159 +#: pg_dump.c:5294 #, c-format msgid "schema with OID %u does not exist" msgstr "το σχήμα με %u OID δεν υπάρχει" -#: pg_dump.c:6613 pg_dump.c:16948 +#: pg_dump.c:6776 pg_dump.c:17121 #, c-format msgid "failed sanity check, parent table with OID %u of sequence with OID %u not found" msgstr "απέτυχε ο έλεγχος ακεραιότητας, ο γονικός πίνακας με OID %u της ακολουθίας με OID %u δεν βρέθηκε" -#: pg_dump.c:6756 +#: pg_dump.c:6919 #, c-format msgid "failed sanity check, table OID %u appearing in pg_partitioned_table not found" msgstr "απέτυχε ο έλεγχος ακεραιότηταςς, το OID %u πίνακα που εμφανίζεται στο pg_partitioned_table δεν βρέθηκε" -#: pg_dump.c:6987 pg_dump.c:7254 pg_dump.c:7725 pg_dump.c:8392 pg_dump.c:8513 -#: pg_dump.c:8667 +#: pg_dump.c:7150 pg_dump.c:7417 pg_dump.c:7888 pg_dump.c:8552 pg_dump.c:8671 +#: pg_dump.c:8819 #, c-format msgid "unrecognized table OID %u" msgstr "μη αναγνωρίσιμο OID %u πίνακα" -#: pg_dump.c:6991 +#: pg_dump.c:7154 #, c-format msgid "unexpected index data for table \"%s\"" msgstr "μη έγκυρα δεδομένα ευρετηρίου για τον πίνακα «%s»" -#: pg_dump.c:7486 +#: pg_dump.c:7649 #, c-format msgid "failed sanity check, parent table with OID %u of pg_rewrite entry with OID %u not found" msgstr "απέτυχε ο έλεγχος ακεραιότητας, ο γονικός πίνακας με OID %u της καταχώρησης pg_rewrite με OID %u δεν βρέθηκε" -#: pg_dump.c:7777 +#: pg_dump.c:7940 #, c-format msgid "query produced null referenced table name for foreign key trigger \"%s\" on table \"%s\" (OID of table: %u)" msgstr "το ερώτημα παρήγαγε null πίνακα αναφοράς για το έναυσμα ξένου κλειδιού «%s» στον πίνακα «%s» (OID του πίνακα: %u)" -#: pg_dump.c:8396 +#: pg_dump.c:8556 #, c-format msgid "unexpected column data for table \"%s\"" msgstr "μη έγκυρα δεδομένα στηλών στον πίνακα «%s»" -#: pg_dump.c:8426 +#: pg_dump.c:8585 #, c-format msgid "invalid column numbering in table \"%s\"" msgstr "μη έγκυρη αρίθμηση στηλών στον πίνακα «%s»" -#: pg_dump.c:8475 +#: pg_dump.c:8633 #, c-format msgid "finding table default expressions" msgstr "εύρεση προεπιλεγμένων εκφράσεων πίνακα" -#: pg_dump.c:8517 +#: pg_dump.c:8675 #, c-format msgid "invalid adnum value %d for table \"%s\"" msgstr "μη έγκυρη τιμή adnum %d για τον πίνακα «%s»" -#: pg_dump.c:8617 +#: pg_dump.c:8769 #, c-format msgid "finding table check constraints" msgstr "εύρεση περιορισμών ελέγχου για τον πίνακα" -#: pg_dump.c:8671 +#: pg_dump.c:8823 #, c-format msgid "expected %d check constraint on table \"%s\" but found %d" msgid_plural "expected %d check constraints on table \"%s\" but found %d" msgstr[0] "αναμενόμενος %d περιορισμός ελέγχου στον πίνακα «%s», αλλά βρήκε %d" msgstr[1] "αναμενόμενοι %d περιορισμοί ελέγχου στον πίνακα «%s», αλλά βρήκε %d" -#: pg_dump.c:8675 +#: pg_dump.c:8827 #, c-format msgid "The system catalogs might be corrupted." msgstr "Οι κατάλογοι συστήματος ενδέχεται να είναι αλλοιωμένοι." -#: pg_dump.c:9365 +#: pg_dump.c:9517 #, c-format msgid "role with OID %u does not exist" msgstr "το σχήμα με OID %u δεν υπάρχει" -#: pg_dump.c:9477 pg_dump.c:9506 +#: pg_dump.c:9629 pg_dump.c:9658 #, c-format msgid "unsupported pg_init_privs entry: %u %u %d" msgstr "μη υποστηριζόμενα pg_init_privs entry: %u %u %d" -#: pg_dump.c:10327 +#: pg_dump.c:10479 #, c-format msgid "typtype of data type \"%s\" appears to be invalid" msgstr "typtype του τύπου δεδομένων «%s» φαίνεται να μην είναι έγκυρο" -#: pg_dump.c:11902 +#: pg_dump.c:12053 #, c-format msgid "unrecognized provolatile value for function \"%s\"" msgstr "μη αναγνωρίσιμη τιμή provolatile για τη συνάρτηση «%s»" -#: pg_dump.c:11952 pg_dump.c:13777 +#: pg_dump.c:12103 pg_dump.c:13948 #, c-format msgid "unrecognized proparallel value for function \"%s\"" msgstr "μη αναγνωρίσιμη τιμή proparallel για τη συνάρτηση «%s»" -#: pg_dump.c:12083 pg_dump.c:12189 pg_dump.c:12196 +#: pg_dump.c:12233 pg_dump.c:12339 pg_dump.c:12346 #, c-format msgid "could not find function definition for function with OID %u" msgstr "δεν ήταν δυνατή η εύρεση ορισμού συνάντησης για την συνάρτηση με OID %u" -#: pg_dump.c:12122 +#: pg_dump.c:12272 #, c-format msgid "bogus value in pg_cast.castfunc or pg_cast.castmethod field" msgstr "πλαστή τιμή στο πεδίο pg_cast.castfunc ή pg_cast.castmethod" -#: pg_dump.c:12125 +#: pg_dump.c:12275 #, c-format msgid "bogus value in pg_cast.castmethod field" msgstr "πλαστή τιμή στο πεδίο pg_cast.castmethod" -#: pg_dump.c:12215 +#: pg_dump.c:12365 #, c-format msgid "bogus transform definition, at least one of trffromsql and trftosql should be nonzero" msgstr "πλαστός ορισμός μετασχηματισμού, τουλάχιστον μία από trffromsql και trftosql θα πρέπει να είναι μη μηδενική" -#: pg_dump.c:12232 +#: pg_dump.c:12382 #, c-format msgid "bogus value in pg_transform.trffromsql field" msgstr "πλαστή τιμή στο πεδίο pg_transform.trffromsql" -#: pg_dump.c:12253 +#: pg_dump.c:12403 #, c-format msgid "bogus value in pg_transform.trftosql field" msgstr "πλαστή τιμή στο πεδίοpg_transform.trftosql" -#: pg_dump.c:12398 +#: pg_dump.c:12548 #, c-format msgid "postfix operators are not supported anymore (operator \"%s\")" msgstr "χειριστές postfix δεν υποστηρίζεται πλέον (χειριστής «%s»)" -#: pg_dump.c:12568 +#: pg_dump.c:12718 #, c-format msgid "could not find operator with OID %s" msgstr "δεν ήταν δυνατή η εύρεση χειριστή με OID %s" -#: pg_dump.c:12636 +#: pg_dump.c:12786 #, c-format msgid "invalid type \"%c\" of access method \"%s\"" msgstr "μη έγκυρος τύπος «%c» για την μεθόδο πρόσβασης «%s»" -#: pg_dump.c:13278 +#: pg_dump.c:13443 #, c-format msgid "unrecognized collation provider: %s" msgstr "μη αναγνωρίσιμος πάροχος συρραφής: %s" -#: pg_dump.c:13696 +#: pg_dump.c:13867 #, c-format msgid "unrecognized aggfinalmodify value for aggregate \"%s\"" msgstr "μη αναγνωρίσιμη τιμή aggfinalmodify για το συγκεντρωτικό «%s»" -#: pg_dump.c:13752 +#: pg_dump.c:13923 #, c-format msgid "unrecognized aggmfinalmodify value for aggregate \"%s\"" msgstr "μη αναγνωρίσιμη τιμή aggmfinalmodify για το συγκεντρωτικό «%s»" -#: pg_dump.c:14470 +#: pg_dump.c:14640 #, c-format msgid "unrecognized object type in default privileges: %d" msgstr "μη αναγνωρίσιμος τύπος αντικειμένου σε προεπιλεγμένα δικαιώματα: %d" -#: pg_dump.c:14486 +#: pg_dump.c:14656 #, c-format msgid "could not parse default ACL list (%s)" msgstr "δεν ήταν δυνατή η ανάλυση της προεπιλεγμένης λίστας ACL (%s)" -#: pg_dump.c:14568 +#: pg_dump.c:14738 #, c-format msgid "could not parse initial ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "δεν μπόρεσε να αναλύσει την αρχική λίστα ACL (%s) ή την προεπιλεγμένη (%s) για το αντικείμενο «%s» (%s)" -#: pg_dump.c:14593 +#: pg_dump.c:14763 #, c-format msgid "could not parse ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "δεν μπόρεσε να αναλύσει τη λίστα ACL (%s) ή την προεπιλογή (%s) για το αντικείμενο «%s» (%s)" -#: pg_dump.c:15131 +#: pg_dump.c:15304 #, c-format msgid "query to obtain definition of view \"%s\" returned no data" msgstr "το ερώτημα για τη λήψη ορισμού της όψης «%s» δεν επέστρεψε δεδομένα" -#: pg_dump.c:15134 +#: pg_dump.c:15307 #, c-format msgid "query to obtain definition of view \"%s\" returned more than one definition" msgstr "το ερώτημα για τη λήψη ορισμού της όψης «%s» επέστρεψε περισσότερους από έναν ορισμούς" -#: pg_dump.c:15141 +#: pg_dump.c:15314 #, c-format msgid "definition of view \"%s\" appears to be empty (length zero)" msgstr "ο ορισμός της όψης «%s» φαίνεται να είναι κενός (μηδενικό μήκος)" -#: pg_dump.c:15225 +#: pg_dump.c:15398 #, c-format msgid "WITH OIDS is not supported anymore (table \"%s\")" msgstr "WITH OIDS δεν υποστηρίζεται πλέον (πίνακας «%s»)" -#: pg_dump.c:16154 +#: pg_dump.c:16322 #, c-format msgid "invalid column number %d for table \"%s\"" msgstr "μη έγκυρος αριθμός στήλης %d για τον πίνακα «%s»" -#: pg_dump.c:16232 +#: pg_dump.c:16400 #, c-format msgid "could not parse index statistic columns" msgstr "δεν ήταν δυνατή η ανάλυση στηλών στατιστικής ευρετηρίου" -#: pg_dump.c:16234 +#: pg_dump.c:16402 #, c-format msgid "could not parse index statistic values" msgstr "δεν ήταν δυνατή η ανάλυση ευρετηρίου στατιστικών τιμών" -#: pg_dump.c:16236 +#: pg_dump.c:16404 #, c-format msgid "mismatched number of columns and values for index statistics" msgstr "ασυμφωνία αριθμού στηλών και τιμών για στατιστικά στοιχεία ευρετηρίου" -#: pg_dump.c:16454 +#: pg_dump.c:16620 #, c-format msgid "missing index for constraint \"%s\"" msgstr "λείπει ευρετήριο για τον περιορισμό «%s»" -#: pg_dump.c:16682 +#: pg_dump.c:16855 #, c-format msgid "unrecognized constraint type: %c" msgstr "μη αναγνωρίσιμος τύπος περιορισμού: %c" -#: pg_dump.c:16783 pg_dump.c:17012 +#: pg_dump.c:16956 pg_dump.c:17185 #, c-format msgid "query to get data of sequence \"%s\" returned %d row (expected 1)" msgid_plural "query to get data of sequence \"%s\" returned %d rows (expected 1)" msgstr[0] "ερώτημα για τη λήψη δεδομένων ακολουθίας «%s» επέστρεψε %d γραμμή (αναμένεται 1)" msgstr[1] "ερώτημα για τη λήψη δεδομένων ακολουθίας «%s» επέστρεψε %d γραμμές (αναμένεται 1)" -#: pg_dump.c:16815 +#: pg_dump.c:16988 #, c-format msgid "unrecognized sequence type: %s" msgstr "μη αναγνωρίσιμος τύπος ακολουθίας: %s" -#: pg_dump.c:17104 +#: pg_dump.c:17277 #, c-format msgid "unexpected tgtype value: %d" msgstr "μη αναγνωρίσιμος τύπος tgtype: %d" -#: pg_dump.c:17176 +#: pg_dump.c:17349 #, c-format msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"" msgstr "μη έγκυρη συμβολοσειρά παραμέτρου (%s) για το έναυσμα «%s» στον πίνακα «%s»" -#: pg_dump.c:17445 +#: pg_dump.c:17618 #, c-format msgid "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows returned" msgstr "ερώτημα για τη λήψη κανόνα «%s» για τον πίνακα «%s» απέτυχε: επιστράφηκε εσφαλμένος αριθμός γραμμών" -#: pg_dump.c:17598 +#: pg_dump.c:17771 #, c-format msgid "could not find referenced extension %u" msgstr "δεν ήταν δυνατή η εύρεση της αναφερόμενης επέκτασης %u" -#: pg_dump.c:17688 +#: pg_dump.c:17861 #, c-format msgid "mismatched number of configurations and conditions for extension" msgstr "ασυμφωνία αριθμού διαμορφώσεων και συνθηκών για επέκταση" -#: pg_dump.c:17820 +#: pg_dump.c:17993 #, c-format msgid "reading dependency data" msgstr "ανάγνωση δεδομένων εξάρτησης" -#: pg_dump.c:17906 +#: pg_dump.c:18079 #, c-format msgid "no referencing object %u %u" msgstr "δεν αναφέρεται αντικείμενο %u %u" -#: pg_dump.c:17917 +#: pg_dump.c:18090 #, c-format msgid "no referenced object %u %u" msgstr "μη αναφερόμενο αντικείμενο %u %u" @@ -2164,69 +2309,64 @@ msgstr "μη έγκυρη εξάρτηση %d" msgid "could not identify dependency loop" msgstr "δεν ήταν δυνατός ο προσδιορισμός βρόχου εξάρτησης" -#: pg_dump_sort.c:1232 +#: pg_dump_sort.c:1276 #, c-format msgid "there are circular foreign-key constraints on this table:" msgid_plural "there are circular foreign-key constraints among these tables:" msgstr[0] "υπάρχουν κυκλικοί περιορισμοί ξένου κλειδιού σε αυτόν τον πίνακα:" msgstr[1] "υπάρχουν κυκλικοί περιορισμοί ξένου κλειδιού σε αυτούς τους πίνακες:" -#: pg_dump_sort.c:1236 pg_dump_sort.c:1256 -#, c-format -msgid " %s" -msgstr " %s" - -#: pg_dump_sort.c:1237 +#: pg_dump_sort.c:1281 #, c-format msgid "You might not be able to restore the dump without using --disable-triggers or temporarily dropping the constraints." msgstr "Ενδέχεται να μην μπορείτε να επαναφέρετε την ένδειξη χωρίς να χρησιμοποιήσετε --disable-triggers ή να εγκαταλήψετε προσωρινά τους περιορισμούς." -#: pg_dump_sort.c:1238 +#: pg_dump_sort.c:1282 #, c-format msgid "Consider using a full dump instead of a --data-only dump to avoid this problem." msgstr "Εξετάστε το ενδεχόμενο να χρησιμοποιήσετε μια πλήρη απόθεση αντί για μια --data-only απόθεση για να αποφύγετε αυτό το πρόβλημα." -#: pg_dump_sort.c:1250 +#: pg_dump_sort.c:1294 #, c-format msgid "could not resolve dependency loop among these items:" msgstr "δεν ήταν δυνατή η επίλυση του βρόχου εξάρτησης μεταξύ αυτών των στοιχείων:" -#: pg_dumpall.c:205 +#: pg_dumpall.c:230 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "το πρόγραμμα «%s» απαιτείται από %s αλλά δεν βρέθηκε στον ίδιο κατάλογο με το «%s»" -#: pg_dumpall.c:208 +#: pg_dumpall.c:233 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "το πρόγραμμα «%s» βρέθηκε από το «%s» αλλά δεν ήταν η ίδια έκδοση με το %s" -#: pg_dumpall.c:357 +#: pg_dumpall.c:382 #, c-format msgid "option --exclude-database cannot be used together with -g/--globals-only, -r/--roles-only, or -t/--tablespaces-only" msgstr "επιλογή --exclude-database δεν μπορεί να χρησιμοποιηθεί μαζί με -g/--globals-only, -r/--roles-only, ή -t/--tablespaces-only" -#: pg_dumpall.c:365 +#: pg_dumpall.c:390 #, c-format msgid "options -g/--globals-only and -r/--roles-only cannot be used together" msgstr "οι επιλογές -g/--globals-only και -r/--roles-only δεν μπορούν να χρησιμοποιηθούν μαζί" -#: pg_dumpall.c:372 +#: pg_dumpall.c:397 #, c-format msgid "options -g/--globals-only and -t/--tablespaces-only cannot be used together" msgstr "οι επιλογές -g/--globals-only μόνο και -t/--tablespaces-only δεν είναι δυνατό να χρησιμοποιηθούν μαζί" -#: pg_dumpall.c:382 +#: pg_dumpall.c:407 #, c-format msgid "options -r/--roles-only and -t/--tablespaces-only cannot be used together" msgstr "οι επιλογές -r/--roles-only και -t/--tablespaces-only δεν μπορούν να χρησιμοποιηθούν μαζί" -#: pg_dumpall.c:444 pg_dumpall.c:1587 +#: pg_dumpall.c:469 pg_dumpall.c:1750 #, c-format msgid "could not connect to database \"%s\"" msgstr "δεν ήταν δυνατή η σύνδεση στη βάση δεδομένων «%s»" -#: pg_dumpall.c:456 +#: pg_dumpall.c:481 #, c-format msgid "" "could not connect to databases \"postgres\" or \"template1\"\n" @@ -2235,7 +2375,7 @@ msgstr "" "δεν ήταν δυνατή η σύνδεση με τις βάσεις δεδομένων \"postgres\" ή \"Template1\"\n" "Παρακαλώ καθορίστε μία εναλλακτική βάση δεδομένων." -#: pg_dumpall.c:604 +#: pg_dumpall.c:629 #, c-format msgid "" "%s extracts a PostgreSQL database cluster into an SQL script file.\n" @@ -2244,69 +2384,69 @@ msgstr "" "%s εξάγει μία συστάδα βάσεων δεδομένων PostgreSQL σε ένα αρχείο σεναρίου SQL.\n" "\n" -#: pg_dumpall.c:606 +#: pg_dumpall.c:631 #, c-format msgid " %s [OPTION]...\n" msgstr " %s [ΕΠΙΛΟΓΗ]...\n" -#: pg_dumpall.c:609 +#: pg_dumpall.c:634 #, c-format msgid " -f, --file=FILENAME output file name\n" msgstr " -f, --file=FILENAME όνομα αρχείου εξόδου\n" -#: pg_dumpall.c:616 +#: pg_dumpall.c:641 #, c-format msgid " -c, --clean clean (drop) databases before recreating\n" msgstr " -c, --clean καθάρισε (εγκατάληψε) βάσεις δεδομένων πριν από την αναδημιουργία\n" -#: pg_dumpall.c:618 +#: pg_dumpall.c:643 #, c-format msgid " -g, --globals-only dump only global objects, no databases\n" msgstr " -g, --globals-only απόθεσε μόνο καθολικά αντικείμενα, όχι βάσεις δεδομένων\n" -#: pg_dumpall.c:619 pg_restore.c:456 +#: pg_dumpall.c:644 pg_restore.c:456 #, c-format msgid " -O, --no-owner skip restoration of object ownership\n" msgstr " -O, --no-owner παράλειψε την αποκατάσταση της κυριότητας αντικειμένων\n" -#: pg_dumpall.c:620 +#: pg_dumpall.c:645 #, c-format msgid " -r, --roles-only dump only roles, no databases or tablespaces\n" msgstr " -r, --roles-only απόθεσε μόνο ρόλους, όχι βάσεις δεδομένων ή πινακοχώρους\n" -#: pg_dumpall.c:622 +#: pg_dumpall.c:647 #, c-format msgid " -S, --superuser=NAME superuser user name to use in the dump\n" msgstr " -S, --superuser=NAME όνομα υπερχρήστη για να χρησιμοποιηθεί στην απόθεση\n" -#: pg_dumpall.c:623 +#: pg_dumpall.c:648 #, c-format msgid " -t, --tablespaces-only dump only tablespaces, no databases or roles\n" msgstr " -t, --tablespaces-only απόθεσε μόνο πινακοχώρους, όχι βάσεις δεδομένων ή ρόλους\n" -#: pg_dumpall.c:629 +#: pg_dumpall.c:654 #, c-format msgid " --exclude-database=PATTERN exclude databases whose name matches PATTERN\n" msgstr " --exclude-database=PATTERN εξαίρεσε βάσεις δεδομένων των οποίων το όνομα ταιριάζει με PATTERN\n" -#: pg_dumpall.c:636 +#: pg_dumpall.c:661 #, c-format msgid " --no-role-passwords do not dump passwords for roles\n" msgstr " --no-role-passwords να μην αποθέσει κωδικούς πρόσβασης για ρόλους\n" -#: pg_dumpall.c:652 +#: pg_dumpall.c:677 #, c-format msgid " -d, --dbname=CONNSTR connect using connection string\n" msgstr " -d, --dbname=CONNSTR σύνδεση με χρήση συμβολοσειράς σύνδεσης\n" -#: pg_dumpall.c:654 +#: pg_dumpall.c:679 #, c-format msgid " -l, --database=DBNAME alternative default database\n" msgstr "" " -l, --database=DBNAME εναλλακτική προεπιλεγμένη βάση δεδομένων\n" "\n" -#: pg_dumpall.c:661 +#: pg_dumpall.c:686 #, c-format msgid "" "\n" @@ -2319,57 +2459,62 @@ msgstr "" "έξοδο.\n" "\n" -#: pg_dumpall.c:803 +#: pg_dumpall.c:828 #, c-format msgid "role name starting with \"pg_\" skipped (%s)" msgstr "όνομα ρόλου που αρχίζει «pg_» παραλείπεται (%s)" -#: pg_dumpall.c:1018 +#: pg_dumpall.c:1050 +#, c-format +msgid "could not find a legal dump ordering for memberships in role \"%s\"" +msgstr "δεν μπόρεσε να βρεθεί νόμιμη σειρά ταξινόμησης για συνδρομές ρόλου «%s»" + +#: pg_dumpall.c:1185 #, c-format msgid "could not parse ACL list (%s) for parameter \"%s\"" msgstr "δεν ήταν δυνατή η ανάλυση της λίστας ACL (%s) για την παράμετρο «%s»" -#: pg_dumpall.c:1136 +#: pg_dumpall.c:1303 #, c-format msgid "could not parse ACL list (%s) for tablespace \"%s\"" msgstr "δεν ήταν δυνατή η ανάλυση της λίστας ACL (%s) για τον πινακοχώρο «%s»" -#: pg_dumpall.c:1343 +#: pg_dumpall.c:1510 #, c-format msgid "excluding database \"%s\"" msgstr "εξαιρεί τη βάση δεδομένων «%s»" -#: pg_dumpall.c:1347 +#: pg_dumpall.c:1514 #, c-format msgid "dumping database \"%s\"" msgstr "αποθέτει τη βάση δεδομένων «%s»" -#: pg_dumpall.c:1378 +#: pg_dumpall.c:1545 #, c-format msgid "pg_dump failed on database \"%s\", exiting" msgstr "pg_dump απέτυχε στη βάση δεδομένων «%s», εξέρχεται" -#: pg_dumpall.c:1384 +#: pg_dumpall.c:1551 #, c-format msgid "could not re-open the output file \"%s\": %m" msgstr "δεν ήταν δυνατό το εκ νέου άνοιγμα του αρχείου εξόδου «%s»: %m" -#: pg_dumpall.c:1425 +#: pg_dumpall.c:1592 #, c-format msgid "running \"%s\"" msgstr "εκτελείται «%s»" -#: pg_dumpall.c:1630 +#: pg_dumpall.c:1793 #, c-format msgid "could not get server version" msgstr "δεν ήταν δυνατή η απόκτηση έκδοσης διακομιστή" -#: pg_dumpall.c:1633 +#: pg_dumpall.c:1796 #, c-format msgid "could not parse server version \"%s\"" msgstr "δεν ήταν δυνατή η ανάλυση έκδοσης διακομιστή «%s»" -#: pg_dumpall.c:1703 pg_dumpall.c:1726 +#: pg_dumpall.c:1866 pg_dumpall.c:1889 #, c-format msgid "executing %s" msgstr "εκτελείται %s" @@ -2619,9 +2764,15 @@ msgstr "" "Εάν δεν παρέχεται όνομα αρχείου εισόδου, τότε χρησιμοποιείται η τυπική είσοδος.\n" "\n" +#~ msgid " %s" +#~ msgstr " %s" + #~ msgid " --no-synchronized-snapshots do not use synchronized snapshots in parallel jobs\n" #~ msgstr " --no-synchronized-snapshots να μην χρησιμοποιήσει συγχρονισμένα στιγμιότυπα σε παράλληλες εργασίες\n" +#~ msgid " -Z, --compress=0-9 compression level for compressed formats\n" +#~ msgstr " -Z, --compress=0-9 επίπεδο συμπίεσης για συμπιεσμένες μορφές\n" + #~ msgid "" #~ "Synchronized snapshots are not supported by this server version.\n" #~ "Run with --no-synchronized-snapshots instead if you do not need\n" @@ -2652,18 +2803,33 @@ msgstr "" #~ msgid "bogus value in proargmodes array" #~ msgstr "πλαστή τιμή στη συστοιχία proargmodes" +#~ msgid "cannot restore from compressed archive (compression not supported in this installation)" +#~ msgstr "δεν είναι δυνατή η επαναφορά από συμπιεσμένη αρχειοθήκη (η συμπίεση δεν υποστηρίζεται σε αυτήν την εγκατάσταση)" + #~ msgid "compression level must be in range 0..9" #~ msgstr "το επίπεδο συμπίεσης πρέπει να βρίσκεται στο εύρος 0..9" #~ msgid "connection to database \"%s\" failed: %s" #~ msgstr "σύνδεση στη βάση δεδομένων «%s» απέτυχε: %s" +#~ msgid "could not change directory to \"%s\": %m" +#~ msgstr "δεν ήταν δυνατή η μετάβαση στον κατάλογο «%s»: %m" + +#~ msgid "could not close blob data file: %m" +#~ msgstr "δεν μπόρεσε να κλείσει το αρχείο δεδομένων μεγάλων αντικειμένων: %m" + +#~ msgid "could not close blobs TOC file: %m" +#~ msgstr "δεν ήταν δυνατό το κλείσιμο αρχείου TOC μεγάλων αντικειμένων: %m" + #~ msgid "could not close tar member" #~ msgstr "δεν ήταν δυνατό το κλείσιμο μέλους tar" #~ msgid "could not connect to database \"%s\": %s" #~ msgstr "δεν ήταν δυνατή η σύνδεση στη βάση δεδομένων «%s»: %s" +#~ msgid "could not identify current directory: %m" +#~ msgstr "δεν ήταν δυνατή η αναγνώριση του τρέχοντος καταλόγου: %m" + #~ msgid "could not open temporary file" #~ msgstr "δεν ήταν δυνατό το άνοιγμα του προσωρινού αρχείου" @@ -2688,6 +2854,12 @@ msgstr "" #~ msgid "could not parse subpublications array" #~ msgstr "δεν ήταν δυνατή η ανάλυση της συστοιχίας υποδημοσιεύσεων" +#~ msgid "could not read binary \"%s\"" +#~ msgstr "δεν ήταν δυνατή η ανάγνωση του δυαδικού αρχείου «%s»" + +#~ msgid "could not read symbolic link \"%s\": %m" +#~ msgstr "δεν ήταν δυνατή η ανάγνωση του συμβολικού συνδέσμου «%s»: %m" + #~ msgid "could not write to large object (result: %lu, expected: %lu)" #~ msgstr "δεν ήταν δυνατή η εγγραφή σε μεγάλο αντικείμενο (αποτέλεσμα: %lu, αναμένεται: %lu)" @@ -2703,12 +2875,21 @@ msgstr "" #~ msgid "finding the columns and types of table \"%s.%s\"" #~ msgstr "εύρεση των στηλών και των τύπων του πίνακα «%s.%s»" +#~ msgid "invalid binary \"%s\"" +#~ msgstr "μη έγκυρο δυαδικό αρχείο «%s»" + +#~ msgid "invalid compression code: %d" +#~ msgstr "μη έγκυρος κωδικός συμπίεσης: %d" + #~ msgid "invalid number of parallel jobs" #~ msgstr "μη έγκυρος αριθμός παράλληλων εργασιών" #~ msgid "maximum number of parallel jobs is %d" #~ msgstr "ο μέγιστος αριθμός παράλληλων εργασιών είναι %d" +#~ msgid "not built with zlib support" +#~ msgstr "δεν έχει κατασκευαστεί με υποστήριξη zlib" + #~ msgid "owner of aggregate function \"%s\" appears to be invalid" #~ msgstr "ο κάτοχος της συνάρτησης συγκεντρωτικών αποτελεσμάτων «%s» φαίνεται να μην είναι έγκυρος" @@ -2757,6 +2938,9 @@ msgstr "" #~ msgid "reading triggers for table \"%s.%s\"" #~ msgstr "ανάγνωση εναυσμάτων για τον πίνακα «%s.%s»" +#~ msgid "requested compression not available in this installation -- archive will be uncompressed" +#~ msgstr "η συμπίεση που ζητήθηκε δεν είναι διαθέσιμη σε αυτήν την εγκατάσταση -- η αρχειοθήκη θα είναι ασυμπίεστη" + #~ msgid "rows-per-insert must be in range %d..%d" #~ msgstr "rows-per-insert πρέπει να βρίσκονται στο εύρος %d..%d" diff --git a/src/bin/pg_dump/po/ko.po b/src/bin/pg_dump/po/ko.po index f533f7e4729..f38254e8dfb 100644 --- a/src/bin/pg_dump/po/ko.po +++ b/src/bin/pg_dump/po/ko.po @@ -3,10 +3,10 @@ # msgid "" msgstr "" -"Project-Id-Version: pg_dump (PostgreSQL) 13\n" +"Project-Id-Version: pg_dump (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2020-10-05 20:46+0000\n" -"PO-Revision-Date: 2020-10-06 13:40+0900\n" +"POT-Creation-Date: 2023-09-07 05:51+0000\n" +"PO-Revision-Date: 2023-09-08 16:10+0900\n" "Last-Translator: Ioseph Kim \n" "Language-Team: Korean Team \n" "Language: ko\n" @@ -15,386 +15,506 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../../../src/common/logging.c:236 -#, c-format -msgid "fatal: " -msgstr "심각: " - -#: ../../../src/common/logging.c:243 +#: ../../../src/common/logging.c:276 #, c-format msgid "error: " msgstr "오류: " -#: ../../../src/common/logging.c:250 +#: ../../../src/common/logging.c:283 #, c-format msgid "warning: " msgstr "경고: " -#: ../../common/exec.c:137 ../../common/exec.c:254 ../../common/exec.c:300 +#: ../../../src/common/logging.c:294 #, c-format -msgid "could not identify current directory: %m" -msgstr "현재 디렉터리를 알 수 없음: %m" +msgid "detail: " +msgstr "상세정보: " -#: ../../common/exec.c:156 +#: ../../../src/common/logging.c:301 #, c-format -msgid "invalid binary \"%s\"" -msgstr "잘못된 바이너리 파일 \"%s\"" +msgid "hint: " +msgstr "힌트: " -#: ../../common/exec.c:206 +#: ../../common/compression.c:132 ../../common/compression.c:141 +#: ../../common/compression.c:150 compress_gzip.c:413 compress_gzip.c:420 +#: compress_io.c:109 compress_lz4.c:780 compress_lz4.c:787 compress_zstd.c:25 +#: compress_zstd.c:31 #, c-format -msgid "could not read binary \"%s\"" -msgstr "\"%s\" 바이너리 파일을 읽을 수 없음" +msgid "this build does not support compression with %s" +msgstr "이 프로그램은 %s 압축 미지원 상태로 빌드 되었습니다" + +#: ../../common/compression.c:205 +msgid "found empty string where a compression option was expected" +msgstr "압축 옵션을 지정해야할 곳에 빈 문자열을 지정했습니다" -#: ../../common/exec.c:214 +#: ../../common/compression.c:244 #, c-format -msgid "could not find a \"%s\" to execute" -msgstr "실행 할 \"%s\" 파일을 찾을 수 없음" +msgid "unrecognized compression option: \"%s\"" +msgstr "알 수 없는 압축 옵션: \"%s\"" + +#: ../../common/compression.c:283 +#, c-format +msgid "compression option \"%s\" requires a value" +msgstr "\"%s\" 압축 옵션은 값을 필요로 합니다" + +#: ../../common/compression.c:292 +#, c-format +msgid "value for compression option \"%s\" must be an integer" +msgstr "\"%s\" 압축 옵션의 값은 정수형이어야 합니다." + +#: ../../common/compression.c:331 +#, c-format +msgid "value for compression option \"%s\" must be a Boolean value" +msgstr "\"%s\" 압축 옵션의 값은 부울린형이어야 합니다." + +#: ../../common/compression.c:379 +#, c-format +msgid "compression algorithm \"%s\" does not accept a compression level" +msgstr "\"%s\" 압축 알고리즘은 압축 수준을 지정할 수 없습니다" + +#: ../../common/compression.c:386 +#, c-format +msgid "" +"compression algorithm \"%s\" expects a compression level between %d and %d " +"(default at %d)" +msgstr "" +"\"%s\" 압축 알고리즘은 압축 수준으로 %d부터 %d까지만 허용합니다(기본값: %d)." -#: ../../common/exec.c:270 ../../common/exec.c:309 +#: ../../common/compression.c:397 #, c-format -msgid "could not change directory to \"%s\": %m" -msgstr "\"%s\" 이름의 디렉터리로 이동할 수 없습니다: %m" +msgid "compression algorithm \"%s\" does not accept a worker count" +msgstr "\"%s\" 압축 알고리즘을 사용할 때는 작업자 수를 지정할 수 없습니다" -#: ../../common/exec.c:287 +#: ../../common/compression.c:408 #, c-format -msgid "could not read symbolic link \"%s\": %m" -msgstr "\"%s\" 심볼릭 링크 파일을 읽을 수 없음: %m" +msgid "compression algorithm \"%s\" does not support long-distance mode" +msgstr "\"%s\" 압축 알고리즘은 원거리 모드를 지원하지 않습니다" -#: ../../common/exec.c:410 +#: ../../common/exec.c:172 #, c-format -msgid "pclose failed: %m" -msgstr "pclose 실패: %m" +msgid "invalid binary \"%s\": %m" +msgstr "\"%s\" 파일은 잘못된 바이너리 파일임: %m" -#: ../../common/exec.c:539 ../../common/exec.c:584 ../../common/exec.c:676 +#: ../../common/exec.c:215 +#, c-format +msgid "could not read binary \"%s\": %m" +msgstr "\"%s\" 바이너리 파일을 읽을 수 없음: %m" + +#: ../../common/exec.c:223 +#, c-format +msgid "could not find a \"%s\" to execute" +msgstr "실행 할 \"%s\" 파일을 찾을 수 없음" + +#: ../../common/exec.c:250 +#, c-format +msgid "could not resolve path \"%s\" to absolute form: %m" +msgstr "\"%s\" 경로를 절대경로로 바꿀 수 없음: %m" + +#: ../../common/exec.c:412 parallel.c:1609 +#, c-format +msgid "%s() failed: %m" +msgstr "%s() 실패: %m" + +#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 msgid "out of memory" msgstr "메모리 부족" #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 -#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format msgid "out of memory\n" msgstr "메모리 부족\n" -#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 #, c-format msgid "cannot duplicate null pointer (internal error)\n" msgstr "null 포인터를 중복할 수 없음 (내부 오류)\n" -#: ../../common/wait_error.c:45 +#: ../../common/wait_error.c:55 #, c-format msgid "command not executable" msgstr "명령을 실행할 수 없음" -#: ../../common/wait_error.c:49 +#: ../../common/wait_error.c:59 #, c-format msgid "command not found" msgstr "해당 명령어 없음" -#: ../../common/wait_error.c:54 +#: ../../common/wait_error.c:64 #, c-format msgid "child process exited with exit code %d" msgstr "하위 프로세스가 종료되었음, 종료 코드 %d" -#: ../../common/wait_error.c:62 +#: ../../common/wait_error.c:72 #, c-format msgid "child process was terminated by exception 0x%X" msgstr "0x%X 예외처리로 하위 프로세스가 종료되었음" -#: ../../common/wait_error.c:66 +#: ../../common/wait_error.c:76 #, c-format msgid "child process was terminated by signal %d: %s" msgstr "하위 프로세스가 종료되었음, 시그널 %d: %s" -#: ../../common/wait_error.c:72 +#: ../../common/wait_error.c:82 #, c-format msgid "child process exited with unrecognized status %d" msgstr "하위 프로세스가 종료되었음, 알수 없는 상태 %d" -#: common.c:121 +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "\"%s\" 값은 %s 옵션 값으로 유효하지 않음" + +#: ../../fe_utils/option_utils.c:76 +#, c-format +msgid "%s must be in range %d..%d" +msgstr "%s 값은 %d부터 %d까지 지정할 수 있습니다." + +#: common.c:132 #, c-format msgid "reading extensions" msgstr "확장 기능 읽는 중" -#: common.c:125 +#: common.c:135 #, c-format msgid "identifying extension members" msgstr "확장 멤버를 식별 중" -#: common.c:128 +#: common.c:138 #, c-format msgid "reading schemas" msgstr "스키마들을 읽는 중" -#: common.c:138 +#: common.c:147 #, c-format msgid "reading user-defined tables" msgstr "사용자 정의 테이블들을 읽는 중" -#: common.c:145 +#: common.c:152 #, c-format msgid "reading user-defined functions" msgstr "사용자 정의 함수들 읽는 중" -#: common.c:150 +#: common.c:156 #, c-format msgid "reading user-defined types" msgstr "사용자 정의 자료형을 읽는 중" -#: common.c:155 +#: common.c:160 #, c-format msgid "reading procedural languages" msgstr "프로시쥬얼 언어를 읽는 중" -#: common.c:158 +#: common.c:163 #, c-format msgid "reading user-defined aggregate functions" msgstr "사용자 정의 집계 함수를 읽는 중" -#: common.c:161 +#: common.c:166 #, c-format msgid "reading user-defined operators" msgstr "사용자 정의 연산자를 읽는 중" -#: common.c:165 +#: common.c:169 #, c-format msgid "reading user-defined access methods" msgstr "사용자 정의 접근 방법을 읽는 중" -#: common.c:168 +#: common.c:172 #, c-format msgid "reading user-defined operator classes" msgstr "사용자 정의 연산자 클래스를 읽는 중" -#: common.c:171 +#: common.c:175 #, c-format msgid "reading user-defined operator families" msgstr "사용자 정의 연산자 부류들 읽는 중" -#: common.c:174 +#: common.c:178 #, c-format msgid "reading user-defined text search parsers" msgstr "사용자 정의 텍스트 검색 파서를 읽는 중" -#: common.c:177 +#: common.c:181 #, c-format msgid "reading user-defined text search templates" msgstr "사용자 정의 텍스트 검색 템플릿을 읽는 중" -#: common.c:180 +#: common.c:184 #, c-format msgid "reading user-defined text search dictionaries" msgstr "사용자 정의 텍스트 검색 사전을 읽는 중" -#: common.c:183 +#: common.c:187 #, c-format msgid "reading user-defined text search configurations" msgstr "사용자 정의 텍스트 검색 구성을 읽는 중" -#: common.c:186 +#: common.c:190 #, c-format msgid "reading user-defined foreign-data wrappers" msgstr "사용자 정의 외부 데이터 래퍼를 읽는 중" -#: common.c:189 +#: common.c:193 #, c-format msgid "reading user-defined foreign servers" msgstr "사용자 정의 외부 서버를 읽는 중" -#: common.c:192 +#: common.c:196 #, c-format msgid "reading default privileges" msgstr "기본 접근 권한 읽는 중" -#: common.c:195 +#: common.c:199 #, c-format msgid "reading user-defined collations" msgstr "사용자 정의 글자 정렬(collation) 읽는 중" -#: common.c:199 +#: common.c:202 #, c-format msgid "reading user-defined conversions" msgstr "사용자 정의 인코딩 변환규칙을 읽는 중" -#: common.c:202 +#: common.c:205 #, c-format msgid "reading type casts" msgstr "형변환자(type cast)들을 읽는 중" -#: common.c:205 +#: common.c:208 #, c-format msgid "reading transforms" msgstr "변환자(transform) 읽는 중" -#: common.c:208 +#: common.c:211 #, c-format msgid "reading table inheritance information" msgstr "테이블 상속 정보를 읽는 중" -#: common.c:211 +#: common.c:214 #, c-format msgid "reading event triggers" msgstr "이벤트 트리거들을 읽는 중" -#: common.c:215 +#: common.c:218 #, c-format msgid "finding extension tables" msgstr "확장 테이블을 찾는 중" -#: common.c:219 +#: common.c:222 #, c-format msgid "finding inheritance relationships" msgstr "상속 관계를 조사중" -#: common.c:222 +#: common.c:225 #, c-format msgid "reading column info for interesting tables" msgstr "재미난 테이블들(interesting tables)을 위해 열 정보를 읽는 중" -#: common.c:225 +#: common.c:228 #, c-format msgid "flagging inherited columns in subtables" msgstr "하위 테이블에서 상속된 열 구분중" -#: common.c:228 +#: common.c:231 +#, c-format +msgid "reading partitioning data" +msgstr "파티션 자료 읽는 중" + +#: common.c:234 #, c-format msgid "reading indexes" msgstr "인덱스들을 읽는 중" -#: common.c:231 +#: common.c:237 #, c-format msgid "flagging indexes in partitioned tables" msgstr "하위 파티션 테이블에서 인덱스를 플래그 처리하는 중" -#: common.c:234 +#: common.c:240 #, c-format msgid "reading extended statistics" msgstr "확장 통계들을 읽는 중" -#: common.c:237 +#: common.c:243 #, c-format msgid "reading constraints" msgstr "제약 조건들을 읽는 중" -#: common.c:240 +#: common.c:246 #, c-format msgid "reading triggers" msgstr "트리거들을 읽는 중" -#: common.c:243 +#: common.c:249 #, c-format msgid "reading rewrite rules" msgstr "룰(rule) 읽는 중" -#: common.c:246 +#: common.c:252 #, c-format msgid "reading policies" msgstr "정책 읽는 중" -#: common.c:249 +#: common.c:255 #, c-format msgid "reading publications" msgstr "발행 정보를 읽는 중" -#: common.c:252 +#: common.c:258 #, c-format -msgid "reading publication membership" -msgstr "발행 맵버쉽을 읽을 중" +msgid "reading publication membership of tables" +msgstr "테이블의 발행 맵버쉽을 읽는 중" -#: common.c:255 +#: common.c:261 +#, c-format +msgid "reading publication membership of schemas" +msgstr "스키마의 발행 맵버쉽을 읽을 중" + +#: common.c:264 #, c-format msgid "reading subscriptions" msgstr "구독정보를 읽는 중" -#: common.c:1025 +#: common.c:327 #, c-format msgid "failed sanity check, parent OID %u of table \"%s\" (OID %u) not found" msgstr "안전 검사 실패, OID %u인 부모 개체가 없음. 해당 테이블 \"%s\" (OID %u)" -#: common.c:1067 +#: common.c:369 +#, c-format +msgid "invalid number of parents %d for table \"%s\"" +msgstr "잘못된 부모 수: %d, 해당 테이블 \"%s\"" + +#: common.c:1049 #, c-format msgid "could not parse numeric array \"%s\": too many numbers" msgstr "\"%s\" 숫자 배열을 분석할 수 없음: 너무 많은 숫자들이 있음" -#: common.c:1082 +#: common.c:1061 #, c-format msgid "could not parse numeric array \"%s\": invalid character in number" msgstr "\"%s\" 숫자 배열을 분석할 수 없음: 숫자안에 이상한 글자가 있음" -#: compress_io.c:111 -#, c-format -msgid "invalid compression code: %d" -msgstr "잘못된 압축 수위: %d" - -#: compress_io.c:134 compress_io.c:170 compress_io.c:188 compress_io.c:504 -#: compress_io.c:547 -#, c-format -msgid "not built with zlib support" -msgstr "zlib 지원 기능이 없음" - -#: compress_io.c:236 compress_io.c:333 +#: compress_gzip.c:69 compress_gzip.c:183 #, c-format msgid "could not initialize compression library: %s" msgstr "압축 라이브러리를 초기화 할 수 없음: %s" -#: compress_io.c:256 +#: compress_gzip.c:93 #, c-format msgid "could not close compression stream: %s" msgstr "압축 스트림을 닫을 수 없음: %s" -#: compress_io.c:273 +#: compress_gzip.c:113 compress_lz4.c:227 compress_zstd.c:109 #, c-format msgid "could not compress data: %s" msgstr "자료를 압축할 수 없음: %s" -#: compress_io.c:349 compress_io.c:364 +#: compress_gzip.c:199 compress_gzip.c:214 #, c-format msgid "could not uncompress data: %s" msgstr "자료 압축을 풀 수 없습니다: %s" -#: compress_io.c:371 +#: compress_gzip.c:221 #, c-format msgid "could not close compression library: %s" msgstr "압축 라이브러리를 닫을 수 없음: %s" -#: compress_io.c:584 compress_io.c:621 pg_backup_tar.c:557 pg_backup_tar.c:560 +#: compress_gzip.c:266 compress_gzip.c:295 compress_lz4.c:608 +#: compress_lz4.c:628 compress_lz4.c:647 compress_none.c:97 compress_none.c:140 #, c-format msgid "could not read from input file: %s" msgstr "입력 파일을 읽을 수 없음: %s" -#: compress_io.c:623 pg_backup_custom.c:646 pg_backup_directory.c:552 -#: pg_backup_tar.c:793 pg_backup_tar.c:816 +#: compress_gzip.c:297 compress_lz4.c:630 compress_none.c:142 +#: compress_zstd.c:371 pg_backup_custom.c:653 pg_backup_directory.c:558 +#: pg_backup_tar.c:725 pg_backup_tar.c:748 #, c-format msgid "could not read from input file: end of file" msgstr "입력 파일을 읽을 수 없음: 파일 끝" -# # search5 끝 -# # advance 부분 -#: parallel.c:267 +#: compress_lz4.c:157 +#, c-format +msgid "could not create LZ4 decompression context: %s" +msgstr "LZ4 압축 해제 컨텍스트를 만들 수 없음: %s" + +#: compress_lz4.c:180 +#, c-format +msgid "could not decompress: %s" +msgstr "압축 풀기 실패: %s" + +#: compress_lz4.c:193 +#, c-format +msgid "could not free LZ4 decompression context: %s" +msgstr "LZ4 압축 해제 컨텍스트 반환 실패: %s" + +#: compress_lz4.c:259 compress_lz4.c:266 compress_lz4.c:680 compress_lz4.c:690 +#, c-format +msgid "could not end compression: %s" +msgstr "압축 끝내기 실패: %s" + +#: compress_lz4.c:301 +#, c-format +msgid "could not initialize LZ4 compression: %s" +msgstr "LZ4 압축 초기화 할 수 없음: %s" + +#: compress_lz4.c:697 +#, c-format +msgid "could not end decompression: %s" +msgstr "압축 풀기 작업 끝내기 실패: %s" + +#: compress_zstd.c:66 #, c-format -msgid "WSAStartup failed: %d" -msgstr "WSAStartup 작업 실패: %d" +msgid "could not set compression parameter \"%s\": %s" +msgstr "\"%s\" 압축 매개 변수를 지정할 수 없음: %s" -#: parallel.c:978 +#: compress_zstd.c:78 compress_zstd.c:231 compress_zstd.c:490 +#: compress_zstd.c:498 +#, c-format +msgid "could not initialize compression library" +msgstr "압축 라이브러리를 초기화 할 수 없음" + +#: compress_zstd.c:194 compress_zstd.c:308 +#, c-format +msgid "could not decompress data: %s" +msgstr "자료를 압축 해제 할 수 없음: %s" + +#: compress_zstd.c:373 pg_backup_custom.c:655 +#, c-format +msgid "could not read from input file: %m" +msgstr "입력 파일을 읽을 수 없음: %m" + +#: compress_zstd.c:501 +#, c-format +msgid "unhandled mode \"%s\"" +msgstr "\"%s\" 모드는 처리할 수 없음" + +#: parallel.c:251 +#, c-format +msgid "%s() failed: error code %d" +msgstr "%s() 실패: 오류 코드 %d" + +#: parallel.c:959 #, c-format msgid "could not create communication channels: %m" msgstr "통신 체널을 만들 수 없음: %m" -#: parallel.c:1035 +#: parallel.c:1016 #, c-format msgid "could not create worker process: %m" msgstr "작업자 프로세스를 만들 수 없음: %m" -#: parallel.c:1165 +#: parallel.c:1146 #, c-format -msgid "unrecognized command received from master: \"%s\"" -msgstr "마스터에서 알 수 없는 명령을 받음: \"%s\"" +msgid "unrecognized command received from leader: \"%s\"" +msgstr "리더로부터 알 수 없는 명령을 수신함: \"%s\"" -#: parallel.c:1208 parallel.c:1446 +#: parallel.c:1189 parallel.c:1427 #, c-format msgid "invalid message received from worker: \"%s\"" msgstr "작업 프로세스로부터 잘못된 메시지를 받음: \"%s\"" -#: parallel.c:1340 +#: parallel.c:1321 #, c-format msgid "" "could not obtain lock on relation \"%s\"\n" @@ -406,436 +526,432 @@ msgstr "" "이 상황은 일반적으로 다른 세션에서 해당 테이블을 이미 덤프하고 있거나 기타 다" "른 이유로 다른 세션에 의해서 선점 된 경우입니다." -#: parallel.c:1429 +#: parallel.c:1410 #, c-format msgid "a worker process died unexpectedly" msgstr "작업 프로세스가 예상치 않게 종료됨" -#: parallel.c:1551 parallel.c:1669 +#: parallel.c:1532 parallel.c:1650 #, c-format msgid "could not write to the communication channel: %m" msgstr "통신 체널에에 쓸 수 없음: %m" -#: parallel.c:1628 -#, c-format -msgid "select() failed: %m" -msgstr "select() 실패: %m" - -#: parallel.c:1753 +#: parallel.c:1734 #, c-format msgid "pgpipe: could not create socket: error code %d" msgstr "pgpipe: 소켓을 만들 수 없음: 오류 코드 %d" -#: parallel.c:1764 +#: parallel.c:1745 #, c-format msgid "pgpipe: could not bind: error code %d" msgstr "pgpipe: 바인딩 할 수 없음: 오류 코드 %d" -#: parallel.c:1771 +#: parallel.c:1752 #, c-format msgid "pgpipe: could not listen: error code %d" msgstr "pgpipe: 리슨 할 수 없음: 오류 코드 %d" -#: parallel.c:1778 +#: parallel.c:1759 #, c-format -msgid "pgpipe: getsockname() failed: error code %d" -msgstr "pgpipe: getsockname() 실패: 오류 코드 %d" +msgid "pgpipe: %s() failed: error code %d" +msgstr "pgpipe: %s() 실패: 오류 코드 %d" -#: parallel.c:1789 +#: parallel.c:1770 #, c-format msgid "pgpipe: could not create second socket: error code %d" msgstr "pgpipe: 두번째 소켓을 만들 수 없음: 오류 코드 %d" -#: parallel.c:1798 +#: parallel.c:1779 #, c-format msgid "pgpipe: could not connect socket: error code %d" msgstr "pgpipe: 소켓 접속 실패: 오류 코드 %d" -#: parallel.c:1807 +#: parallel.c:1788 #, c-format msgid "pgpipe: could not accept connection: error code %d" msgstr "pgpipe: 접속을 승인할 수 없음: 오류 코드 %d" -#: pg_backup_archiver.c:277 pg_backup_archiver.c:1587 +#: pg_backup_archiver.c:276 pg_backup_archiver.c:1603 #, c-format msgid "could not close output file: %m" msgstr "출력 파일을 닫을 수 없음: %m" -#: pg_backup_archiver.c:321 pg_backup_archiver.c:325 +#: pg_backup_archiver.c:320 pg_backup_archiver.c:324 #, c-format msgid "archive items not in correct section order" msgstr "아카이브 아이템의 순서가 섹션에서 비정상적임" -#: pg_backup_archiver.c:331 +#: pg_backup_archiver.c:330 #, c-format msgid "unexpected section code %d" msgstr "예상치 못한 섹션 코드 %d" -#: pg_backup_archiver.c:368 +#: pg_backup_archiver.c:367 #, c-format msgid "parallel restore is not supported with this archive file format" msgstr "이 아카이브 파일 형식에서는 병렬 복원이 지원되지 않음" -#: pg_backup_archiver.c:372 +#: pg_backup_archiver.c:371 #, c-format msgid "parallel restore is not supported with archives made by pre-8.0 pg_dump" msgstr "8.0 이전 pg_dump로 만든 아카이브에서는 병렬 복원이 지원되지 않음" -#: pg_backup_archiver.c:390 +#: pg_backup_archiver.c:392 #, c-format -msgid "" -"cannot restore from compressed archive (compression not supported in this " -"installation)" -msgstr "" -"압축된 자료파일을 복원용으로 사용할 수 없습니다(압축기능을 지원하지 않고 컴파" -"일되었음)" +msgid "cannot restore from compressed archive (%s)" +msgstr "압축된 아카이브 (%s) 에서 복원할 수 없음" -#: pg_backup_archiver.c:407 +#: pg_backup_archiver.c:412 #, c-format msgid "connecting to database for restore" msgstr "복원 작업을 위해 데이터베이스에 접속 중" -#: pg_backup_archiver.c:409 +#: pg_backup_archiver.c:414 #, c-format msgid "direct database connections are not supported in pre-1.3 archives" msgstr "pre-1.3 archive에서 직통 데이터베이스 접속은 지원되지 않음" -#: pg_backup_archiver.c:452 +#: pg_backup_archiver.c:457 #, c-format msgid "implied data-only restore" msgstr "암묵적으로 자료만 복원" -#: pg_backup_archiver.c:518 +#: pg_backup_archiver.c:523 #, c-format msgid "dropping %s %s" msgstr "%s %s 삭제 중" -#: pg_backup_archiver.c:613 +#: pg_backup_archiver.c:623 #, c-format msgid "could not find where to insert IF EXISTS in statement \"%s\"" msgstr "\"%s\" 구문에서 insert IF EXISTS 부분을 찾을 수 없음" -#: pg_backup_archiver.c:769 pg_backup_archiver.c:771 +#: pg_backup_archiver.c:778 pg_backup_archiver.c:780 #, c-format msgid "warning from original dump file: %s" msgstr "원본 덤프 파일에서 발생한 경고: %s" -#: pg_backup_archiver.c:786 +#: pg_backup_archiver.c:795 #, c-format msgid "creating %s \"%s.%s\"" msgstr "%s \"%s.%s\" 만드는 중" -#: pg_backup_archiver.c:789 +#: pg_backup_archiver.c:798 #, c-format msgid "creating %s \"%s\"" msgstr "%s \"%s\" 만드는 중" -#: pg_backup_archiver.c:839 +#: pg_backup_archiver.c:848 #, c-format msgid "connecting to new database \"%s\"" msgstr "\"%s\" 새 데이터베이스에 접속중" -#: pg_backup_archiver.c:866 +#: pg_backup_archiver.c:875 #, c-format msgid "processing %s" msgstr "%s 처리 중" -#: pg_backup_archiver.c:886 +#: pg_backup_archiver.c:897 #, c-format msgid "processing data for table \"%s.%s\"" msgstr "\"%s.%s\" 테이블의 자료를 처리 중" -#: pg_backup_archiver.c:948 +#: pg_backup_archiver.c:967 #, c-format msgid "executing %s %s" msgstr "실행중: %s %s" -#: pg_backup_archiver.c:987 +#: pg_backup_archiver.c:1008 #, c-format msgid "disabling triggers for %s" msgstr "%s 트리거 작동을 비활성화 하는 중" -#: pg_backup_archiver.c:1013 +#: pg_backup_archiver.c:1034 #, c-format msgid "enabling triggers for %s" msgstr "%s 트리거 작동을 활성화 하는 중" -#: pg_backup_archiver.c:1041 +#: pg_backup_archiver.c:1099 #, c-format msgid "" "internal error -- WriteData cannot be called outside the context of a " "DataDumper routine" msgstr "내부 오류 -- WriteData는 DataDumper 루틴 영역 밖에서 호출 될 수 없음" -#: pg_backup_archiver.c:1224 +#: pg_backup_archiver.c:1287 #, c-format msgid "large-object output not supported in chosen format" msgstr "선택한 파일 양식으로는 large-object를 덤프할 수 없음" -#: pg_backup_archiver.c:1282 +#: pg_backup_archiver.c:1345 #, c-format msgid "restored %d large object" msgid_plural "restored %d large objects" msgstr[0] "%d개의 큰 개체가 복원됨" -#: pg_backup_archiver.c:1303 pg_backup_tar.c:736 +#: pg_backup_archiver.c:1366 pg_backup_tar.c:668 #, c-format msgid "restoring large object with OID %u" msgstr "%u OID large object를 복원중" -#: pg_backup_archiver.c:1315 +#: pg_backup_archiver.c:1378 #, c-format msgid "could not create large object %u: %s" msgstr "%u large object를 만들 수 없음: %s" -#: pg_backup_archiver.c:1320 pg_dump.c:3548 +#: pg_backup_archiver.c:1383 pg_dump.c:3718 #, c-format msgid "could not open large object %u: %s" msgstr "%u large object를 열 수 없음: %s" -#: pg_backup_archiver.c:1377 +#: pg_backup_archiver.c:1439 #, c-format msgid "could not open TOC file \"%s\": %m" msgstr "TOC 파일 \"%s\"을(를) 열 수 없음: %m" -#: pg_backup_archiver.c:1417 +#: pg_backup_archiver.c:1467 #, c-format msgid "line ignored: %s" msgstr "줄 무시됨: %s" -#: pg_backup_archiver.c:1424 +#: pg_backup_archiver.c:1474 #, c-format msgid "could not find entry for ID %d" msgstr "%d ID에 대한 항목을 찾지 못했음" -#: pg_backup_archiver.c:1445 pg_backup_directory.c:222 -#: pg_backup_directory.c:598 +#: pg_backup_archiver.c:1497 pg_backup_directory.c:221 +#: pg_backup_directory.c:606 #, c-format msgid "could not close TOC file: %m" msgstr "TOC 파일을 닫을 수 없음: %m" -#: pg_backup_archiver.c:1559 pg_backup_custom.c:156 pg_backup_directory.c:332 -#: pg_backup_directory.c:585 pg_backup_directory.c:648 -#: pg_backup_directory.c:667 pg_dumpall.c:484 +#: pg_backup_archiver.c:1584 pg_backup_custom.c:156 pg_backup_directory.c:332 +#: pg_backup_directory.c:593 pg_backup_directory.c:658 +#: pg_backup_directory.c:676 pg_dumpall.c:501 #, c-format msgid "could not open output file \"%s\": %m" msgstr "\"%s\" 출력 파일을 열 수 없음: %m" -#: pg_backup_archiver.c:1561 pg_backup_custom.c:162 +#: pg_backup_archiver.c:1586 pg_backup_custom.c:162 #, c-format msgid "could not open output file: %m" msgstr "출력 파일을 열 수 없음: %m" -#: pg_backup_archiver.c:1654 +#: pg_backup_archiver.c:1669 #, c-format -msgid "wrote %lu byte of large object data (result = %lu)" -msgid_plural "wrote %lu bytes of large object data (result = %lu)" -msgstr[0] "%lu바이트의 큰 개체 데이터를 씀(결과 = %lu)" +msgid "wrote %zu byte of large object data (result = %d)" +msgid_plural "wrote %zu bytes of large object data (result = %d)" +msgstr[0] "%zu 바이트의 큰 객체 데이터를 씀(결과 = %d)" -#: pg_backup_archiver.c:1659 +#: pg_backup_archiver.c:1675 #, c-format -msgid "could not write to large object (result: %lu, expected: %lu)" -msgstr "large object를 쓸 수 없음 (결과값: %lu, 예상값: %lu)" +msgid "could not write to large object: %s" +msgstr "큰 객체를 쓸 수 없음: %s" -#: pg_backup_archiver.c:1749 +#: pg_backup_archiver.c:1765 #, c-format msgid "while INITIALIZING:" msgstr "초기화 작업 중:" -#: pg_backup_archiver.c:1754 +#: pg_backup_archiver.c:1770 #, c-format msgid "while PROCESSING TOC:" msgstr "TOC 처리하는 중:" -#: pg_backup_archiver.c:1759 +#: pg_backup_archiver.c:1775 #, c-format msgid "while FINALIZING:" msgstr "뒷 마무리 작업 중:" -#: pg_backup_archiver.c:1764 +#: pg_backup_archiver.c:1780 #, c-format msgid "from TOC entry %d; %u %u %s %s %s" msgstr "%d TOC 항목에서; %u %u %s %s %s" -#: pg_backup_archiver.c:1840 +#: pg_backup_archiver.c:1856 #, c-format msgid "bad dumpId" msgstr "잘못된 dumpID" -#: pg_backup_archiver.c:1861 +#: pg_backup_archiver.c:1877 #, c-format msgid "bad table dumpId for TABLE DATA item" msgstr "TABLE DATA 아이템에 대한 잘못된 테이블 dumpId" -#: pg_backup_archiver.c:1953 +#: pg_backup_archiver.c:1969 #, c-format msgid "unexpected data offset flag %d" msgstr "예상치 못한 자료 옵셋 플래그 %d" -#: pg_backup_archiver.c:1966 +#: pg_backup_archiver.c:1982 #, c-format msgid "file offset in dump file is too large" msgstr "덤프 파일에서 파일 옵셋 값이 너무 큽니다" -#: pg_backup_archiver.c:2103 pg_backup_archiver.c:2113 +#: pg_backup_archiver.c:2093 #, c-format msgid "directory name too long: \"%s\"" msgstr "디렉터리 이름이 너무 긺: \"%s\"" -#: pg_backup_archiver.c:2121 +#: pg_backup_archiver.c:2143 #, 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:2129 pg_backup_custom.c:173 pg_backup_custom.c:812 -#: pg_backup_directory.c:207 pg_backup_directory.c:394 +#: pg_backup_archiver.c:2151 pg_backup_custom.c:173 pg_backup_custom.c:816 +#: pg_backup_directory.c:206 pg_backup_directory.c:395 #, c-format msgid "could not open input file \"%s\": %m" msgstr "\"%s\" 입력 파일을 열 수 없음: %m" -#: pg_backup_archiver.c:2136 pg_backup_custom.c:179 +#: pg_backup_archiver.c:2158 pg_backup_custom.c:179 #, c-format msgid "could not open input file: %m" msgstr "입력 파일을 열 수 없음: %m" -#: pg_backup_archiver.c:2142 +#: pg_backup_archiver.c:2164 #, c-format msgid "could not read input file: %m" msgstr "입력 파일을 읽을 수 없음: %m" -#: pg_backup_archiver.c:2144 +#: pg_backup_archiver.c:2166 #, c-format msgid "input file is too short (read %lu, expected 5)" msgstr "입력 파일이 너무 짧습니다 (%lu 읽었음, 예상치 5)" -#: pg_backup_archiver.c:2229 +#: pg_backup_archiver.c:2198 #, c-format msgid "input file appears to be a text format dump. Please use psql." msgstr "입력 파일은 일반 텍스트 덤프 파일입니다. psql 명령을 사용하세요." -#: pg_backup_archiver.c:2235 +#: pg_backup_archiver.c:2204 #, c-format msgid "input file does not appear to be a valid archive (too short?)" msgstr "입력 파일에서 타당한 아카이브를 찾을 수 없습니다(너무 짧은지?)" -#: pg_backup_archiver.c:2241 +#: pg_backup_archiver.c:2210 #, c-format msgid "input file does not appear to be a valid archive" msgstr "입력 파일에서 타당한 아카이브를 찾을 수 없음" -#: pg_backup_archiver.c:2261 +#: pg_backup_archiver.c:2219 #, c-format msgid "could not close input file: %m" msgstr "입력 파일을 닫을 수 없음: %m" -#: pg_backup_archiver.c:2373 +#: pg_backup_archiver.c:2297 +#, c-format +msgid "could not open stdout for appending: %m" +msgstr "추가용 표준출력 파일을 열 수 없음: %m" + +#: pg_backup_archiver.c:2342 #, c-format msgid "unrecognized file format \"%d\"" msgstr "알 수 없는 파일 포멧: \"%d\"" -#: pg_backup_archiver.c:2455 pg_backup_archiver.c:4458 +#: pg_backup_archiver.c:2423 pg_backup_archiver.c:4448 #, c-format msgid "finished item %d %s %s" msgstr "%d %s %s 항목 마침" -#: pg_backup_archiver.c:2459 pg_backup_archiver.c:4471 +#: pg_backup_archiver.c:2427 pg_backup_archiver.c:4461 #, c-format msgid "worker process failed: exit code %d" msgstr "작업자 프로세스 실패: 종료 코드 %d" -#: pg_backup_archiver.c:2579 +#: pg_backup_archiver.c:2548 #, c-format msgid "entry ID %d out of range -- perhaps a corrupt TOC" msgstr "%d ID 항목은 범위를 벗어났음 -- TOC 정보가 손상된 듯 합니다" -#: pg_backup_archiver.c:2646 +#: pg_backup_archiver.c:2628 #, c-format msgid "restoring tables WITH OIDS is not supported anymore" msgstr "WITH OIDS 옵션이 있는 테이블의 복원은 이제 지원하지 않습니다" -#: pg_backup_archiver.c:2728 +#: pg_backup_archiver.c:2710 #, c-format msgid "unrecognized encoding \"%s\"" msgstr "알 수 없는 인코딩: \"%s\"" -#: pg_backup_archiver.c:2733 +#: pg_backup_archiver.c:2715 #, c-format msgid "invalid ENCODING item: %s" msgstr "잘못된 ENCODING 항목: %s" -#: pg_backup_archiver.c:2751 +#: pg_backup_archiver.c:2733 #, c-format msgid "invalid STDSTRINGS item: %s" msgstr "잘못된 STDSTRINGS 항목: %s" -#: pg_backup_archiver.c:2776 +#: pg_backup_archiver.c:2758 #, c-format msgid "schema \"%s\" not found" msgstr "\"%s\" 스키마를 찾을 수 없음" -#: pg_backup_archiver.c:2783 +#: pg_backup_archiver.c:2765 #, c-format msgid "table \"%s\" not found" msgstr "\"%s\" 테이블을 찾을 수 없음" -#: pg_backup_archiver.c:2790 +#: pg_backup_archiver.c:2772 #, c-format msgid "index \"%s\" not found" msgstr "\"%s\" 인덱스를 찾을 수 없음" -#: pg_backup_archiver.c:2797 +#: pg_backup_archiver.c:2779 #, c-format msgid "function \"%s\" not found" msgstr "\"%s\" 함수를 찾을 수 없음" -#: pg_backup_archiver.c:2804 +#: pg_backup_archiver.c:2786 #, c-format msgid "trigger \"%s\" not found" msgstr "\"%s\" 트리거를 찾을 수 없음" -#: pg_backup_archiver.c:3196 +#: pg_backup_archiver.c:3183 #, c-format msgid "could not set session user to \"%s\": %s" msgstr "\"%s\" 사용자로 세션 사용자를 지정할 수 없음: %s" -#: pg_backup_archiver.c:3328 +#: pg_backup_archiver.c:3315 #, c-format msgid "could not set search_path to \"%s\": %s" msgstr "search_path를 \"%s\"(으)로 지정할 수 없음: %s" -#: pg_backup_archiver.c:3390 +#: pg_backup_archiver.c:3376 #, c-format msgid "could not set default_tablespace to %s: %s" msgstr "default_tablespace로 %s(으)로 지정할 수 없음: %s" -#: pg_backup_archiver.c:3435 +#: pg_backup_archiver.c:3425 #, c-format msgid "could not set default_table_access_method: %s" msgstr "default_table_access_method를 지정할 수 없음: %s" -#: pg_backup_archiver.c:3527 pg_backup_archiver.c:3685 +#: pg_backup_archiver.c:3530 #, c-format msgid "don't know how to set owner for object type \"%s\"" msgstr "\"%s\" 개체의 소유주를 지정할 수 없습니다" -#: pg_backup_archiver.c:3789 +#: pg_backup_archiver.c:3752 #, c-format msgid "did not find magic string in file header" msgstr "파일 헤더에서 매직 문자열을 찾지 못했습니다" -#: pg_backup_archiver.c:3802 +#: pg_backup_archiver.c:3766 #, c-format msgid "unsupported version (%d.%d) in file header" msgstr "파일 헤더에 있는 %d.%d 버전은 지원되지 않습니다" -#: pg_backup_archiver.c:3807 +#: pg_backup_archiver.c:3771 #, c-format msgid "sanity check on integer size (%lu) failed" msgstr "정수 크기 (%lu) 안전성 검사 실패" -#: pg_backup_archiver.c:3811 +#: pg_backup_archiver.c:3775 #, c-format msgid "" "archive was made on a machine with larger integers, some operations might " @@ -844,82 +960,82 @@ msgstr "" "이 아카이브는 큰 정수를 지원하는 시스템에서 만들어졌습니다. 그래서 몇 동작이 " "실패할 수도 있습니다." -#: pg_backup_archiver.c:3821 +#: pg_backup_archiver.c:3785 #, c-format msgid "expected format (%d) differs from format found in file (%d)" msgstr "예상되는 포멧 (%d)와 발견된 파일 포멧 (%d)이 서로 다름" -#: pg_backup_archiver.c:3837 +#: pg_backup_archiver.c:3807 #, c-format msgid "" -"archive is compressed, but this installation does not support compression -- " -"no data will be available" +"archive is compressed, but this installation does not support compression " +"(%s) -- no data will be available" msgstr "" -"아카이브는 압축되어있지만, 이 프로그램에서는 압축기능을 지원하지 못합니다 -- " -"이 안에 있는 자료를 모두 사용할 수 없습니다." +"아카이브는 압축되어있지만, 이 프로그램에서는 (%s) 압축기능을 지원하지 못합니" +"다 -- 이 안에 있는 자료를 모두 사용할 수 없습니다." -#: pg_backup_archiver.c:3855 +#: pg_backup_archiver.c:3843 #, c-format msgid "invalid creation date in header" msgstr "헤더에 잘못된 생성 날짜가 있음" -#: pg_backup_archiver.c:3983 +#: pg_backup_archiver.c:3977 #, c-format msgid "processing item %d %s %s" msgstr "%d %s %s 항목을 처리하는 중" -#: pg_backup_archiver.c:4062 +#: pg_backup_archiver.c:4052 #, c-format msgid "entering main parallel loop" msgstr "기본 병렬 루프로 시작 중" -#: pg_backup_archiver.c:4073 +#: pg_backup_archiver.c:4063 #, c-format msgid "skipping item %d %s %s" msgstr "%d %s %s 항목을 건너뛰는 중" -#: pg_backup_archiver.c:4082 +#: pg_backup_archiver.c:4072 #, c-format msgid "launching item %d %s %s" msgstr "%d %s %s 항목을 시작하는 중" -#: pg_backup_archiver.c:4136 +#: pg_backup_archiver.c:4126 #, c-format msgid "finished main parallel loop" msgstr "기본 병렬 루프 마침" -#: pg_backup_archiver.c:4172 +#: pg_backup_archiver.c:4162 #, c-format msgid "processing missed item %d %s %s" msgstr "누락된 %d %s %s 항목 처리 중" -#: pg_backup_archiver.c:4777 +#: pg_backup_archiver.c:4767 #, c-format msgid "table \"%s\" could not be created, will not restore its data" msgstr "\"%s\" 테이블을 만들 수 없어, 해당 자료는 복원되지 않을 것입니다." -#: pg_backup_custom.c:378 pg_backup_null.c:147 +#: pg_backup_custom.c:380 pg_backup_null.c:147 #, c-format msgid "invalid OID for large object" msgstr "잘못된 large object용 OID" -#: pg_backup_custom.c:441 pg_backup_custom.c:507 pg_backup_custom.c:632 -#: pg_backup_custom.c:870 pg_backup_tar.c:1086 pg_backup_tar.c:1091 +#: pg_backup_custom.c:445 pg_backup_custom.c:511 pg_backup_custom.c:640 +#: pg_backup_custom.c:874 pg_backup_tar.c:1014 pg_backup_tar.c:1019 #, c-format msgid "error during file seek: %m" msgstr "파일 seek 작업하는 도중 오류가 발생했습니다: %m" -#: pg_backup_custom.c:480 +#: pg_backup_custom.c:484 #, c-format msgid "data block %d has wrong seek position" msgstr "%d 자료 블록에 잘못된 접근 위치가 있음" -#: pg_backup_custom.c:497 +#: pg_backup_custom.c:501 #, c-format msgid "unrecognized data block type (%d) while searching archive" msgstr "아카이브 검색하는 동안 알 수 없는 자료 블럭 형태(%d)를 발견함" -#: pg_backup_custom.c:519 +#: pg_backup_custom.c:523 #, c-format msgid "" "could not find block ID %d in archive -- possibly due to out-of-order " @@ -928,219 +1044,225 @@ msgstr "" "아카이브에서 블록 ID %d을(를) 찾지 못했습니다. 복원 요청이 잘못된 것 같습니" "다. 입력 파일을 검색할 수 없으므로 요청을 처리할 수 없습니다." -#: pg_backup_custom.c:524 +#: pg_backup_custom.c:528 #, c-format msgid "could not find block ID %d in archive -- possibly corrupt archive" msgstr "" "아카이브에서 블록 ID %d을(를) 찾을 수 없습니다. 아카이브가 손상된 것 같습니" "다." -#: pg_backup_custom.c:531 +#: pg_backup_custom.c:535 #, c-format msgid "found unexpected block ID (%d) when reading data -- expected %d" msgstr "자료를 읽는 동안 예상치 못한 ID (%d) 발견됨 -- 예상값 %d" -#: pg_backup_custom.c:545 +#: pg_backup_custom.c:549 #, c-format msgid "unrecognized data block type %d while restoring archive" msgstr "아카이브 복원하는 중에, 알 수 없는 자료 블럭 형태 %d 를 발견함" -#: pg_backup_custom.c:648 -#, c-format -msgid "could not read from input file: %m" -msgstr "입력 파일을 읽을 수 없음: %m" - -#: pg_backup_custom.c:751 pg_backup_custom.c:803 pg_backup_custom.c:948 -#: pg_backup_tar.c:1089 +#: pg_backup_custom.c:755 pg_backup_custom.c:807 pg_backup_custom.c:952 +#: pg_backup_tar.c:1017 #, c-format msgid "could not determine seek position in archive file: %m" msgstr "아카이브 파일에서 검색 위치를 확인할 수 없음: %m" -#: pg_backup_custom.c:767 pg_backup_custom.c:807 +#: pg_backup_custom.c:771 pg_backup_custom.c:811 #, c-format msgid "could not close archive file: %m" msgstr "자료 파일을 닫을 수 없음: %m" -#: pg_backup_custom.c:790 +#: pg_backup_custom.c:794 #, c-format msgid "can only reopen input archives" msgstr "입력 아카이브만 다시 열 수 있음" -#: pg_backup_custom.c:797 +#: pg_backup_custom.c:801 #, c-format msgid "parallel restore from standard input is not supported" msgstr "표준 입력을 이용한 병렬 복원 작업은 지원하지 않습니다" -#: pg_backup_custom.c:799 +#: pg_backup_custom.c:803 #, c-format msgid "parallel restore from non-seekable file is not supported" msgstr "" "시작 위치를 임의로 지정할 수 없는 파일로는 병렬 복원 작업을 할 수 없습니다." -#: pg_backup_custom.c:815 +#: pg_backup_custom.c:819 #, c-format msgid "could not set seek position in archive file: %m" msgstr "아카이브 파일에서 검색 위치를 설정할 수 없음: %m" -#: pg_backup_custom.c:894 +#: pg_backup_custom.c:898 #, c-format msgid "compressor active" msgstr "압축기 사용" -#: pg_backup_db.c:41 +#: pg_backup_db.c:42 #, c-format msgid "could not get server_version from libpq" msgstr "libpq에서 server_verion 값을 구할 수 없음" -#: pg_backup_db.c:52 pg_dumpall.c:1826 -#, c-format -msgid "server version: %s; %s version: %s" -msgstr "서버 버전: %s; %s 버전: %s" - -#: pg_backup_db.c:54 pg_dumpall.c:1828 +#: pg_backup_db.c:53 pg_dumpall.c:1809 #, c-format msgid "aborting because of server version mismatch" msgstr "서버 버전이 일치하지 않아 중단하는 중" -#: pg_backup_db.c:124 +#: pg_backup_db.c:54 pg_dumpall.c:1810 +#, c-format +msgid "server version: %s; %s version: %s" +msgstr "서버 버전: %s; %s 버전: %s" + +#: pg_backup_db.c:120 #, c-format msgid "already connected to a database" msgstr "데이터베이스에 이미 접속해 있음" -#: pg_backup_db.c:133 pg_backup_db.c:185 pg_dumpall.c:1651 pg_dumpall.c:1764 +#: pg_backup_db.c:128 pg_backup_db.c:178 pg_dumpall.c:1656 pg_dumpall.c:1758 msgid "Password: " msgstr "암호: " -#: pg_backup_db.c:177 +#: pg_backup_db.c:170 #, c-format msgid "could not connect to database" msgstr "데이터베이스 접속을 할 수 없음" -#: pg_backup_db.c:195 +#: pg_backup_db.c:187 #, c-format -msgid "reconnection to database \"%s\" failed: %s" -msgstr "\"%s\" 데이터베이스 재접속 실패: %s" +msgid "reconnection failed: %s" +msgstr "재연결 실패: %s" -#: pg_backup_db.c:199 -#, c-format -msgid "connection to database \"%s\" failed: %s" -msgstr "\"%s\" 데이터베이스에 접속 할 수 없음: %s" - -#: pg_backup_db.c:272 pg_dumpall.c:1684 +#: 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 #, c-format msgid "%s" msgstr "%s" -#: pg_backup_db.c:279 pg_dumpall.c:1889 pg_dumpall.c:1912 +#: pg_backup_db.c:271 pg_dumpall.c:1872 pg_dumpall.c:1895 #, c-format msgid "query failed: %s" msgstr "쿼리 실패: %s" -#: pg_backup_db.c:281 pg_dumpall.c:1890 pg_dumpall.c:1913 +#: pg_backup_db.c:273 pg_dumpall.c:1873 pg_dumpall.c:1896 #, c-format -msgid "query was: %s" +msgid "Query was: %s" msgstr "사용한 쿼리: %s" -#: pg_backup_db.c:322 +#: pg_backup_db.c:315 #, c-format msgid "query returned %d row instead of one: %s" msgid_plural "query returned %d rows instead of one: %s" msgstr[0] "쿼리에서 한 개가 아닌 %d개의 행을 반환: %s" -#: pg_backup_db.c:358 +#: pg_backup_db.c:351 #, c-format msgid "%s: %sCommand was: %s" msgstr "%s: %s사용된 명령: %s" -#: pg_backup_db.c:414 pg_backup_db.c:488 pg_backup_db.c:495 +#: pg_backup_db.c:407 pg_backup_db.c:481 pg_backup_db.c:488 msgid "could not execute query" msgstr "쿼리를 실행 할 수 없음" -#: pg_backup_db.c:467 +#: pg_backup_db.c:460 #, c-format msgid "error returned by PQputCopyData: %s" msgstr "PQputCopyData에 의해서 오류가 반환되었음: %s" -#: pg_backup_db.c:516 +#: pg_backup_db.c:509 #, c-format msgid "error returned by PQputCopyEnd: %s" msgstr "PQputCopyEnd에 의해서 오류가 반환되었음: %s" -#: pg_backup_db.c:522 +#: pg_backup_db.c:515 #, c-format msgid "COPY failed for table \"%s\": %s" msgstr "\"%s\" 테이블을 위한 COPY 실패: %s" -#: pg_backup_db.c:528 pg_dump.c:1988 +#: pg_backup_db.c:521 pg_dump.c:2202 #, c-format msgid "unexpected extra results during COPY of table \"%s\"" msgstr "\"%s\" 테이블 COPY 작업 중 잘못된 부가 결과가 있음" -#: pg_backup_db.c:540 +#: pg_backup_db.c:533 msgid "could not start database transaction" msgstr "데이터베이스 트랜잭션을 시작할 수 없음" -#: pg_backup_db.c:548 +#: pg_backup_db.c:541 msgid "could not commit database transaction" msgstr "데이터베이스 트랜잭션을 commit 할 수 없음" -#: pg_backup_directory.c:156 +#: pg_backup_directory.c:155 #, c-format msgid "no output directory specified" msgstr "자료가 저장될 디렉터리를 지정하지 않았음" -#: pg_backup_directory.c:185 +#: pg_backup_directory.c:184 #, c-format msgid "could not read directory \"%s\": %m" msgstr "\"%s\" 디렉터리를 읽을 수 없음: %m" -#: pg_backup_directory.c:189 +#: pg_backup_directory.c:188 #, c-format msgid "could not close directory \"%s\": %m" msgstr "\"%s\" 디렉터리를 닫을 수 없음: %m" -#: pg_backup_directory.c:195 +#: pg_backup_directory.c:194 #, c-format msgid "could not create directory \"%s\": %m" msgstr "\"%s\" 디렉터리를 만들 수 없음: %m" -#: pg_backup_directory.c:355 pg_backup_directory.c:496 -#: pg_backup_directory.c:532 +#: pg_backup_directory.c:356 pg_backup_directory.c:499 +#: pg_backup_directory.c:537 #, c-format msgid "could not write to output file: %s" msgstr "출력 파일을 쓸 수 없음: %s" -#: pg_backup_directory.c:406 +#: pg_backup_directory.c:374 +#, c-format +msgid "could not close data file: %m" +msgstr "자료 파일을 닫을 수 없음: %m" + +#: pg_backup_directory.c:407 #, c-format msgid "could not close data file \"%s\": %m" msgstr "\"%s\" 자료 파일을 닫을 수 없음: %m" -#: pg_backup_directory.c:446 +#: pg_backup_directory.c:448 #, c-format msgid "could not open large object TOC file \"%s\" for input: %m" msgstr "입력용 large object TOC 파일(\"%s\")을 열 수 없음: %m" -#: pg_backup_directory.c:457 +#: pg_backup_directory.c:459 #, c-format msgid "invalid line in large object TOC file \"%s\": \"%s\"" msgstr "large object TOC 파일(\"%s\")을 닫을 수 없음: \"%s\"" -#: pg_backup_directory.c:466 +#: pg_backup_directory.c:468 #, c-format msgid "error reading large object TOC file \"%s\"" msgstr "large object TOC 파일(\"%s\")을 닫을 수 없음" -#: pg_backup_directory.c:470 +#: pg_backup_directory.c:472 #, c-format msgid "could not close large object TOC file \"%s\": %m" msgstr "large object TOC 파일(\"%s\")을 닫을 수 없음: %m" -#: pg_backup_directory.c:689 +#: pg_backup_directory.c:694 +#, c-format +msgid "could not close LO data file: %m" +msgstr "LO 자료 파일을 닫을 수 없음: %m" + +#: pg_backup_directory.c:704 +#, c-format +msgid "could not write to LOs TOC file: %s" +msgstr "LO TOC 파일에 쓸 수 없음: %s" + +#: pg_backup_directory.c:720 #, c-format -msgid "could not write to blobs TOC file" -msgstr "blob TOC 파일에 쓸 수 없음" +msgid "could not close LOs TOC file: %m" +msgstr "LO TOC 파일을 닫을 수 없음: %m" -#: pg_backup_directory.c:721 +#: pg_backup_directory.c:739 #, c-format msgid "file name too long: \"%s\"" msgstr "파일 이름이 너무 긺: \"%s\"" @@ -1150,77 +1272,68 @@ msgstr "파일 이름이 너무 긺: \"%s\"" msgid "this format cannot be read" msgstr "이 파일 형태는 읽을 수 없음" -#: pg_backup_tar.c:177 +#: pg_backup_tar.c:172 #, c-format msgid "could not open TOC file \"%s\" for output: %m" msgstr "출력용 TOC 파일 \"%s\"을(를) 열 수 없음: %m" -#: pg_backup_tar.c:184 +#: pg_backup_tar.c:179 #, c-format msgid "could not open TOC file for output: %m" msgstr "출력용 TOC 파일을 열 수 없음: %m" -#: pg_backup_tar.c:203 pg_backup_tar.c:358 +#: pg_backup_tar.c:198 pg_backup_tar.c:334 pg_backup_tar.c:389 +#: pg_backup_tar.c:405 pg_backup_tar.c:891 #, c-format msgid "compression is not supported by tar archive format" msgstr "tar 출력 포멧에서 압축 기능을 지원하지 않음" -#: pg_backup_tar.c:211 +#: pg_backup_tar.c:206 #, c-format msgid "could not open TOC file \"%s\" for input: %m" msgstr "입력용 TOC 파일(\"%s\")을 열 수 없음: %m" -#: pg_backup_tar.c:218 +#: pg_backup_tar.c:213 #, c-format msgid "could not open TOC file for input: %m" msgstr "입력용 TOC 파일을 열 수 없음: %m" -#: pg_backup_tar.c:344 +#: pg_backup_tar.c:322 #, c-format msgid "could not find file \"%s\" in archive" msgstr "아카이브에서 \"%s\" 파일을 찾을 수 없음" -#: pg_backup_tar.c:410 +#: pg_backup_tar.c:382 #, c-format msgid "could not generate temporary file name: %m" msgstr "임시 파일 이름을 짓지 못했습니다: %m" -#: pg_backup_tar.c:421 -#, c-format -msgid "could not open temporary file" -msgstr "임시 파일을 열 수 없음" - -#: pg_backup_tar.c:448 -#, c-format -msgid "could not close tar member" -msgstr "tar 맴버를 닫지 못했습니다" - -#: pg_backup_tar.c:691 +#: pg_backup_tar.c:623 #, c-format msgid "unexpected COPY statement syntax: \"%s\"" msgstr "COPY 구문 오류: \"%s\"" -#: pg_backup_tar.c:958 +#: pg_backup_tar.c:888 #, c-format msgid "invalid OID for large object (%u)" msgstr "잘못된 large object OID: %u" -#: pg_backup_tar.c:1105 +#: pg_backup_tar.c:1033 #, c-format msgid "could not close temporary file: %m" msgstr "임시 파일을 열 수 없음: %m" -#: pg_backup_tar.c:1114 +#: pg_backup_tar.c:1036 #, c-format -msgid "actual file length (%s) does not match expected (%s)" -msgstr "실재 파일 길이(%s)와 예상되는 값(%s)이 다릅니다" +msgid "actual file length (%lld) does not match expected (%lld)" +msgstr "실재 파일 길이(%lld)와 예상되는 값(%lld)이 다릅니다" -#: pg_backup_tar.c:1171 pg_backup_tar.c:1201 +#: pg_backup_tar.c:1082 pg_backup_tar.c:1113 #, c-format msgid "could not find header for file \"%s\" in tar archive" msgstr "tar 아카이브에서 \"%s\" 파일을 위한 헤더를 찾을 수 없음" -#: pg_backup_tar.c:1189 +#: pg_backup_tar.c:1100 #, c-format msgid "" "restoring data out of order is not supported in this archive format: \"%s\" " @@ -1229,84 +1342,69 @@ msgstr "" "순서를 넘어서는 자료 덤프 작업은 이 아카이브 포멧에서는 지원하지 않습니다: " "\"%s\" 요구되었지만, 이 아카이브 파일에서는 \"%s\" 전에 옵니다." -#: pg_backup_tar.c:1234 +#: pg_backup_tar.c:1147 #, c-format msgid "incomplete tar header found (%lu byte)" msgid_plural "incomplete tar header found (%lu bytes)" msgstr[0] "불완전한 tar 헤더가 있음(%lu 바이트)" -#: pg_backup_tar.c:1285 +#: pg_backup_tar.c:1186 #, c-format msgid "" -"corrupt tar header found in %s (expected %d, computed %d) file position %s" -msgstr "%s 안에 손상된 tar 헤더 발견 (예상치 %d, 계산된 값 %d), 파일 위치 %s" +"corrupt tar header found in %s (expected %d, computed %d) file position %llu" +msgstr "%s 안에 손상된 tar 헤더 발견 (예상치 %d, 계산된 값 %d), 파일 위치 %llu" #: pg_backup_utils.c:54 #, c-format msgid "unrecognized section name: \"%s\"" msgstr "알 수 없는 섹션 이름: \"%s\"" -#: pg_backup_utils.c:55 pg_dump.c:607 pg_dump.c:624 pg_dumpall.c:338 -#: pg_dumpall.c:348 pg_dumpall.c:357 pg_dumpall.c:366 pg_dumpall.c:374 -#: pg_dumpall.c:388 pg_dumpall.c:464 pg_restore.c:284 pg_restore.c:300 -#: pg_restore.c:318 +#: pg_backup_utils.c:55 pg_dump.c:662 pg_dump.c:679 pg_dumpall.c:365 +#: pg_dumpall.c:375 pg_dumpall.c:383 pg_dumpall.c:391 pg_dumpall.c:398 +#: pg_dumpall.c:408 pg_dumpall.c:483 pg_restore.c:291 pg_restore.c:307 +#: pg_restore.c:321 #, c-format -msgid "Try \"%s --help\" for more information.\n" -msgstr "보다 자세한 사용법은 \"%s --help\"\n" +msgid "Try \"%s --help\" for more information." +msgstr "자세한 사항은 \"%s --help\" 명령으로 살펴보세요." -#: pg_backup_utils.c:68 +#: pg_backup_utils.c:66 #, c-format msgid "out of on_exit_nicely slots" msgstr "on_exit_nicely 슬롯 범위 벗어남" -#: pg_dump.c:533 -#, c-format -msgid "compression level must be in range 0..9" -msgstr "압축 수위는 0부터 9까지 지정할 수 있음" - -#: pg_dump.c:571 -#, c-format -msgid "extra_float_digits must be in range -15..3" -msgstr "extra_float_digits 값은 -15..3 사이값이어야 함" - -#: pg_dump.c:594 -#, c-format -msgid "rows-per-insert must be in range %d..%d" -msgstr "rows-per-insert 값은 %d부터 %d까지 지정할 수 있습니다." - -#: pg_dump.c:622 pg_dumpall.c:346 pg_restore.c:298 +#: pg_dump.c:677 pg_dumpall.c:373 pg_restore.c:305 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "너무 많은 명령행 인자를 지정했음 (시작: \"%s\")" -#: pg_dump.c:643 pg_restore.c:327 +#: pg_dump.c:696 pg_restore.c:328 #, c-format msgid "options -s/--schema-only and -a/--data-only cannot be used together" msgstr "-s/--schema-only 옵션과 -a/--data-only 옵션은 함께 사용할 수 없음" -#: pg_dump.c:648 +#: pg_dump.c:699 #, c-format msgid "" "options -s/--schema-only and --include-foreign-data cannot be used together" msgstr "" "-s/--schema-only 옵션과 --include-foreign-data 옵션은 함께 사용할 수 없음" -#: pg_dump.c:651 +#: pg_dump.c:702 #, c-format msgid "option --include-foreign-data is not supported with parallel backup" msgstr "--include-foreign-data 옵션은 병렬 백업 작업에서 지원하지 않음" -#: pg_dump.c:655 pg_restore.c:333 +#: pg_dump.c:705 pg_restore.c:331 #, c-format msgid "options -c/--clean and -a/--data-only cannot be used together" msgstr "-c/--clean 옵션과 -a/--data-only 옵션은 함께 사용할 수 없음" -#: pg_dump.c:660 pg_dumpall.c:381 pg_restore.c:382 +#: pg_dump.c:708 pg_dumpall.c:403 pg_restore.c:356 #, c-format msgid "option --if-exists requires option -c/--clean" msgstr "--if-exists 옵션은 -c/--clean 옵션과 함께 사용해야 함" -#: pg_dump.c:667 +#: pg_dump.c:715 #, c-format msgid "" "option --on-conflict-do-nothing requires option --inserts, --rows-per-" @@ -1315,57 +1413,47 @@ msgstr "" "--on-conflict-do-nothing 옵션은 --inserts, --rows-per-insert 또는 --column-" "inserts 옵션과 함께 사용해야 함" -#: pg_dump.c:689 +#: pg_dump.c:744 #, c-format -msgid "" -"requested compression not available in this installation -- archive will be " -"uncompressed" -msgstr "" -"요청한 압축 기능은 이 설치판에서는 사용할 수 없습니다 -- 자료 파일은 압축 없" -"이 만들어질 것입니다" +msgid "unrecognized compression algorithm: \"%s\"" +msgstr "알 수 없는 압축 알고리즘: \"%s\"" -#: pg_dump.c:710 pg_restore.c:349 +#: pg_dump.c:751 #, c-format -msgid "invalid number of parallel jobs" -msgstr "잘못된 병렬 작업 수" +msgid "invalid compression specification: %s" +msgstr "잘못된 압축 명세: %s" -#: pg_dump.c:714 +#: pg_dump.c:764 #, c-format -msgid "parallel backup only supported by the directory format" -msgstr "병렬 백업은 디렉터리 기반 출력일 때만 사용할 수 있습니다." +msgid "compression option \"%s\" is not currently supported by pg_dump" +msgstr "\"%s\" 압축 옵션은 pg_dump에서 현재 지원하지 않음" -#: pg_dump.c:769 +#: pg_dump.c:776 #, c-format -msgid "" -"Synchronized snapshots are not supported by this server version.\n" -"Run with --no-synchronized-snapshots instead if you do not need\n" -"synchronized snapshots." -msgstr "" -"이 서버 버전에서는 동기화된 스냅샷 기능을 사용할 수 없음.\n" -"동기화된 스냅샷 기능이 필요 없다면, --no-synchronized-snapshots\n" -"옵션을 지정해서 덤프할 수 있습니다." - -#: pg_dump.c:775 -#, c-format -msgid "Exported snapshots are not supported by this server version." -msgstr "이 서버는 exported snapshot을 지원하지 않음." +msgid "parallel backup only supported by the directory format" +msgstr "병렬 백업은 디렉터리 기반 출력일 때만 사용할 수 있습니다." -#: pg_dump.c:787 +#: pg_dump.c:822 #, c-format msgid "last built-in OID is %u" msgstr "마지막 내장 OID는 %u" -#: pg_dump.c:796 +#: pg_dump.c:831 #, c-format msgid "no matching schemas were found" msgstr "조건에 맞는 스키마가 없습니다" -#: pg_dump.c:810 +#: pg_dump.c:848 #, c-format msgid "no matching tables were found" msgstr "조건에 맞는 테이블이 없습니다" -#: pg_dump.c:990 +#: pg_dump.c:876 +#, c-format +msgid "no matching extensions were found" +msgstr "조건에 맞는 확장 모듈이 없습니다" + +#: pg_dump.c:1056 #, c-format msgid "" "%s dumps a database as a text file or to other formats.\n" @@ -1375,17 +1463,17 @@ msgstr "" "다른 형태의 파일로 덤프합니다.\n" "\n" -#: pg_dump.c:991 pg_dumpall.c:617 pg_restore.c:462 +#: pg_dump.c:1057 pg_dumpall.c:630 pg_restore.c:433 #, c-format msgid "Usage:\n" msgstr "사용법:\n" -#: pg_dump.c:992 +#: pg_dump.c:1058 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [옵션]... [DB이름]\n" -#: pg_dump.c:994 pg_dumpall.c:620 pg_restore.c:465 +#: pg_dump.c:1060 pg_dumpall.c:633 pg_restore.c:436 #, c-format msgid "" "\n" @@ -1394,12 +1482,12 @@ msgstr "" "\n" "일반 옵션들:\n" -#: pg_dump.c:995 +#: pg_dump.c:1061 #, c-format msgid " -f, --file=FILENAME output file or directory name\n" msgstr " -f, --file=파일이름 출력 파일 또는 디렉터리 이름\n" -#: pg_dump.c:996 +#: pg_dump.c:1062 #, c-format msgid "" " -F, --format=c|d|t|p output file format (custom, directory, tar,\n" @@ -1408,47 +1496,50 @@ msgstr "" " -F, --format=c|d|t|p 출력 파일 형식(사용자 지정, 디렉터리, tar,\n" " 일반 텍스트(초기값))\n" -#: pg_dump.c:998 +#: pg_dump.c:1064 #, c-format msgid " -j, --jobs=NUM use this many parallel jobs to dump\n" msgstr " -j, --jobs=개수 덤프 작업을 병렬 처리 함\n" -#: pg_dump.c:999 pg_dumpall.c:622 +#: pg_dump.c:1065 pg_dumpall.c:635 #, c-format msgid " -v, --verbose verbose mode\n" msgstr " -v, --verbose 작업 내역을 자세히 봄\n" -#: pg_dump.c:1000 pg_dumpall.c:623 +#: pg_dump.c:1066 pg_dumpall.c:636 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version 버전 정보를 보여주고 마침\n" -#: pg_dump.c:1001 +#: pg_dump.c:1067 #, c-format msgid "" -" -Z, --compress=0-9 compression level for compressed formats\n" -msgstr " -Z, --compress=0-9 출력 자료 압축 수위\n" +" -Z, --compress=METHOD[:DETAIL]\n" +" compress as specified\n" +msgstr "" +" -Z, --compress=METHOD[:DETAIL]\n" +" 압축 지정\n" -#: pg_dump.c:1002 pg_dumpall.c:624 +#: pg_dump.c:1069 pg_dumpall.c:637 #, c-format msgid "" " --lock-wait-timeout=TIMEOUT fail after waiting TIMEOUT for a table lock\n" msgstr "" " --lock-wait-timeout=초 테이블 잠금 시 지정한 초만큼 기다린 후 실패\n" -#: pg_dump.c:1003 pg_dumpall.c:651 +#: pg_dump.c:1070 pg_dumpall.c:664 #, c-format msgid "" " --no-sync do not wait for changes to be written safely " "to disk\n" msgstr " --no-sync fsync 작업 생략\n" -#: pg_dump.c:1004 pg_dumpall.c:625 +#: pg_dump.c:1071 pg_dumpall.c:638 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help 이 도움말을 보여주고 마침\n" -#: pg_dump.c:1006 pg_dumpall.c:626 +#: pg_dump.c:1073 pg_dumpall.c:639 #, c-format msgid "" "\n" @@ -1457,22 +1548,34 @@ msgstr "" "\n" "출력 내용을 다루는 옵션들:\n" -#: pg_dump.c:1007 pg_dumpall.c:627 +#: pg_dump.c:1074 pg_dumpall.c:640 #, c-format msgid " -a, --data-only dump only the data, not the schema\n" msgstr " -a, --data-only 스키마 빼고 자료만 덤프\n" -#: pg_dump.c:1008 +#: pg_dump.c:1075 +#, c-format +msgid " -b, --large-objects include large objects in dump\n" +msgstr " -b, --large-objects 큰 객체를 덤프에 포함\n" + +#: pg_dump.c:1076 +#, c-format +msgid " --blobs (same as --large-objects, deprecated)\n" +msgstr " --blobs (--large-objects 와 같음, 옛날 옵션)\n" + +#: pg_dump.c:1077 #, c-format -msgid " -b, --blobs include large objects in dump\n" -msgstr " -b, --blobs Large Object들도 함께 덤프함\n" +msgid " -B, --no-large-objects exclude large objects in dump\n" +msgstr " -B, --no-large-objects 큰 객체 빼고 덤프\n" -#: pg_dump.c:1009 +#: pg_dump.c:1078 #, c-format -msgid " -B, --no-blobs exclude large objects in dump\n" -msgstr " -B, --no-blobs Large Object들을 제외하고 덤프함\n" +msgid "" +" --no-blobs (same as --no-large-objects, deprecated)\n" +msgstr "" +" --no-blobs (--no-large-objects와 같음, 옛날 옵션)\n" -#: pg_dump.c:1010 pg_restore.c:476 +#: pg_dump.c:1079 pg_restore.c:447 #, c-format msgid "" " -c, --clean clean (drop) database objects before " @@ -1481,29 +1584,34 @@ msgstr "" " -c, --clean 다시 만들기 전에 데이터베이스 개체 지우기(삭" "제)\n" -#: pg_dump.c:1011 +#: pg_dump.c:1080 #, c-format msgid "" " -C, --create include commands to create database in dump\n" msgstr "" " -C, --create 데이터베이스 만드는 명령구문도 포함시킴\n" -#: pg_dump.c:1012 pg_dumpall.c:629 +#: pg_dump.c:1081 +#, c-format +msgid " -e, --extension=PATTERN dump the specified extension(s) only\n" +msgstr " -e, --extension=PATTERN 지정한 확장 모듈들만 덤프 함\n" + +#: pg_dump.c:1082 pg_dumpall.c:642 #, c-format msgid " -E, --encoding=ENCODING dump the data in encoding ENCODING\n" msgstr " -E, --encoding=인코딩 지정한 인코딩으로 자료를 덤프 함\n" -#: pg_dump.c:1013 +#: pg_dump.c:1083 #, c-format msgid " -n, --schema=PATTERN dump the specified schema(s) only\n" msgstr " -n, --schema=PATTERN 지정한 SCHEMA들 자료만 덤프\n" -#: pg_dump.c:1014 +#: pg_dump.c:1084 #, c-format msgid " -N, --exclude-schema=PATTERN do NOT dump the specified schema(s)\n" msgstr " -N, --exclude-schema=PATTERN 지정한 SCHEMA들만 빼고 모두 덤프\n" -#: pg_dump.c:1015 +#: pg_dump.c:1085 #, c-format msgid "" " -O, --no-owner skip restoration of object ownership in\n" @@ -1512,12 +1620,12 @@ msgstr "" " -O, --no-owner 일반 텍스트 형식에서\n" " 개체 소유권 복원 건너뛰기\n" -#: pg_dump.c:1017 pg_dumpall.c:633 +#: pg_dump.c:1087 pg_dumpall.c:646 #, c-format msgid " -s, --schema-only dump only the schema, no data\n" msgstr " -s, --schema-only 자료구조(스키마)만 덤프\n" -#: pg_dump.c:1018 +#: pg_dump.c:1088 #, c-format msgid "" " -S, --superuser=NAME superuser user name to use in plain-text " @@ -1526,28 +1634,28 @@ msgstr "" " -S, --superuser=NAME 일반 텍스트 형식에서 사용할 슈퍼유저 사용자 이" "름\n" -#: pg_dump.c:1019 +#: pg_dump.c:1089 #, c-format -msgid " -t, --table=PATTERN dump the specified table(s) only\n" +msgid " -t, --table=PATTERN dump only the specified table(s)\n" msgstr " -t, --table=PATTERN 지정한 이름의 테이블들만 덤프\n" -#: pg_dump.c:1020 +#: pg_dump.c:1090 #, c-format msgid " -T, --exclude-table=PATTERN do NOT dump the specified table(s)\n" msgstr " -T, --exclude-table=PATTERN 지정한 테이블들만 빼고 덤프\n" -#: pg_dump.c:1021 pg_dumpall.c:636 +#: pg_dump.c:1091 pg_dumpall.c:649 #, c-format msgid " -x, --no-privileges do not dump privileges (grant/revoke)\n" msgstr "" " -x, --no-privileges 접근 권한 (grant/revoke) 정보는 덤프 안 함\n" -#: pg_dump.c:1022 pg_dumpall.c:637 +#: pg_dump.c:1092 pg_dumpall.c:650 #, c-format msgid " --binary-upgrade for use by upgrade utilities only\n" msgstr " --binary-upgrade 업그레이드 유틸리티 전용\n" -#: pg_dump.c:1023 pg_dumpall.c:638 +#: pg_dump.c:1093 pg_dumpall.c:651 #, c-format msgid "" " --column-inserts dump data as INSERT commands with column " @@ -1555,7 +1663,7 @@ msgid "" msgstr "" " --column-inserts 칼럼 이름과 함께 INSERT 명령으로 자료 덤프\n" -#: pg_dump.c:1024 pg_dumpall.c:639 +#: pg_dump.c:1094 pg_dumpall.c:652 #, c-format msgid "" " --disable-dollar-quoting disable dollar quoting, use SQL standard " @@ -1563,13 +1671,13 @@ msgid "" msgstr "" " --disable-dollar-quoting $ 인용 구문 사용안함, SQL 표준 따옴표 사용\n" -#: pg_dump.c:1025 pg_dumpall.c:640 pg_restore.c:493 +#: pg_dump.c:1095 pg_dumpall.c:653 pg_restore.c:464 #, c-format msgid "" " --disable-triggers disable triggers during data-only restore\n" msgstr " --disable-triggers 자료만 복원할 때 트리거 사용을 안함\n" -#: pg_dump.c:1026 +#: pg_dump.c:1096 #, c-format msgid "" " --enable-row-security enable row security (dump only content user " @@ -1579,25 +1687,48 @@ msgstr "" " --enable-row-security 로우 보안 활성화 (현재 작업자가 접근할 수\n" " 있는 자료만 덤프 함)\n" -#: pg_dump.c:1028 +#: pg_dump.c:1098 +#, c-format +msgid "" +" --exclude-table-and-children=PATTERN\n" +" do NOT dump the specified table(s), " +"including\n" +" child and partition tables\n" +msgstr "" +" --exclude-table-and-children=PATTERN\n" +" 상속 하위, 파티션 하위 테이블을 포함하는\n" +" 패턴의 테이블들은 빼고 덤프\n" + +#: pg_dump.c:1101 #, c-format msgid "" " --exclude-table-data=PATTERN do NOT dump data for the specified table(s)\n" msgstr " --exclude-table-data=PATTERN 해당 테이블 자료는 덤프 안함\n" -#: pg_dump.c:1029 pg_dumpall.c:642 +#: pg_dump.c:1102 +#, c-format +msgid "" +" --exclude-table-data-and-children=PATTERN\n" +" do NOT dump data for the specified table(s),\n" +" including child and partition tables\n" +msgstr "" +" --exclude-table-data-and-children=PATTERN\n" +" 상속 하위, 파티션 하위 테이블을 포함하는\n" +" 패턴의 테이블들의 자료는 빼고 덤프\n" + +#: pg_dump.c:1105 pg_dumpall.c:655 #, c-format msgid "" " --extra-float-digits=NUM override default setting for " "extra_float_digits\n" msgstr " --extra-float-digits=NUM 기본 extra_float_digits 값 바꿈\n" -#: pg_dump.c:1030 pg_dumpall.c:643 pg_restore.c:495 +#: pg_dump.c:1106 pg_dumpall.c:656 pg_restore.c:466 #, c-format msgid " --if-exists use IF EXISTS when dropping objects\n" msgstr " --if-exists 객체 삭제 시 IF EXISTS 구문 사용\n" -#: pg_dump.c:1031 +#: pg_dump.c:1107 #, c-format msgid "" " --include-foreign-data=PATTERN\n" @@ -1608,58 +1739,60 @@ msgstr "" " 지정한 패턴과 일치하는 외부 서버의 외부\n" " 테이블 자료를 포함\n" -#: pg_dump.c:1034 pg_dumpall.c:644 +#: pg_dump.c:1110 pg_dumpall.c:657 #, c-format msgid "" " --inserts dump data as INSERT commands, rather than " "COPY\n" msgstr " --inserts COPY 대신 INSERT 명령으로 자료 덤프\n" -#: pg_dump.c:1035 pg_dumpall.c:645 +#: pg_dump.c:1111 pg_dumpall.c:658 #, c-format msgid " --load-via-partition-root load partitions via the root table\n" msgstr "" " --load-via-partition-root 상위 테이블을 통해 하위 테이블을 로드함\n" -#: pg_dump.c:1036 pg_dumpall.c:646 +#: pg_dump.c:1112 pg_dumpall.c:659 #, c-format msgid " --no-comments do not dump comments\n" msgstr " --no-comments 코멘트는 덤프 안함\n" -#: pg_dump.c:1037 pg_dumpall.c:647 +#: pg_dump.c:1113 pg_dumpall.c:660 #, c-format msgid " --no-publications do not dump publications\n" msgstr " --no-publications 발행 정보는 덤프하지 않음\n" -#: pg_dump.c:1038 pg_dumpall.c:649 +#: pg_dump.c:1114 pg_dumpall.c:662 #, c-format msgid " --no-security-labels do not dump security label assignments\n" msgstr " --no-security-labels 보안 라벨 할당을 덤프 하지 않음\n" -#: pg_dump.c:1039 pg_dumpall.c:650 +#: pg_dump.c:1115 pg_dumpall.c:663 #, c-format msgid " --no-subscriptions do not dump subscriptions\n" msgstr " --no-subscriptions 구독 정보는 덤프하지 않음\n" -#: pg_dump.c:1040 +#: pg_dump.c:1116 pg_dumpall.c:665 #, c-format -msgid "" -" --no-synchronized-snapshots do not use synchronized snapshots in parallel " -"jobs\n" -msgstr "" -" --no-synchronized-snapshots 병렬 작업에서 스냅샷 일관성을 맞추지 않음\n" +msgid " --no-table-access-method do not dump table access methods\n" +msgstr " --no-table-access-method 테이블 접근 방법은 덤프하지 않음\n" -#: pg_dump.c:1041 pg_dumpall.c:652 +#: pg_dump.c:1117 pg_dumpall.c:666 #, c-format msgid " --no-tablespaces do not dump tablespace assignments\n" msgstr " --no-tablespaces 테이블스페이스 할당을 덤프하지 않음\n" -#: pg_dump.c:1042 pg_dumpall.c:653 +#: pg_dump.c:1118 pg_dumpall.c:667 +#, c-format +msgid " --no-toast-compression do not dump TOAST compression methods\n" +msgstr " --no-toast-compression TOAST 압축 방법은 덤프하지 않음\n" + +#: pg_dump.c:1119 pg_dumpall.c:668 #, c-format msgid " --no-unlogged-table-data do not dump unlogged table data\n" msgstr " --no-unlogged-table-data 언로그드 테이블 자료는 덤프하지 않음\n" -#: pg_dump.c:1043 pg_dumpall.c:654 +#: pg_dump.c:1120 pg_dumpall.c:669 #, c-format msgid "" " --on-conflict-do-nothing add ON CONFLICT DO NOTHING to INSERT " @@ -1668,14 +1801,14 @@ msgstr "" " --on-conflict-do-nothing INSERT 구문에 ON CONFLICT DO NOTHING 옵션 추" "가\n" -#: pg_dump.c:1044 pg_dumpall.c:655 +#: pg_dump.c:1121 pg_dumpall.c:670 #, c-format msgid "" " --quote-all-identifiers quote all identifiers, even if not key words\n" msgstr "" " --quote-all-identifiers 예약어가 아니여도 모든 식별자는 따옴표를 씀\n" -#: pg_dump.c:1045 pg_dumpall.c:656 +#: pg_dump.c:1122 pg_dumpall.c:671 #, c-format msgid "" " --rows-per-insert=NROWS number of rows per INSERT; implies --inserts\n" @@ -1683,7 +1816,7 @@ msgstr "" " --rows-per-insert=NROWS 한 INSERT 명령으로 입력할 로우 수; --inserts\n" " 옵션을 사용한 것으로 가정 함\n" -#: pg_dump.c:1046 +#: pg_dump.c:1123 #, c-format msgid "" " --section=SECTION dump named section (pre-data, data, or post-" @@ -1691,7 +1824,7 @@ msgid "" msgstr "" " --section=SECTION 해당 섹션(pre-data, data, post-data)만 덤프\n" -#: pg_dump.c:1047 +#: pg_dump.c:1124 #, c-format msgid "" " --serializable-deferrable wait until the dump can run without " @@ -1700,12 +1833,12 @@ msgstr "" " --serializable-deferrable 자료 정합성을 보장하기 위해 덤프 작업을\n" " 직렬화 가능한 트랜잭션으로 처리 함\n" -#: pg_dump.c:1048 +#: pg_dump.c:1125 #, c-format msgid " --snapshot=SNAPSHOT use given snapshot for the dump\n" msgstr " --snapshot=SNAPSHOT 지정한 스냅샷을 덤프 함\n" -#: pg_dump.c:1049 pg_restore.c:504 +#: pg_dump.c:1126 pg_restore.c:476 #, c-format msgid "" " --strict-names require table and/or schema include patterns " @@ -1716,7 +1849,16 @@ msgstr "" "는\n" " 객체가 적어도 하나 이상 있어야 함\n" -#: pg_dump.c:1051 pg_dumpall.c:657 pg_restore.c:506 +#: pg_dump.c:1128 +#, c-format +msgid "" +" --table-and-children=PATTERN dump only the specified table(s), including\n" +" child and partition tables\n" +msgstr "" +" --table-and-children=PATTERN 해당 패턴의 상속 하위, 파티션 하위 테이블만\n" +" 덤프\n" + +#: pg_dump.c:1130 pg_dumpall.c:672 pg_restore.c:478 #, c-format msgid "" " --use-set-session-authorization\n" @@ -1729,7 +1871,7 @@ msgstr "" "명령\n" " 대신 사용하여 소유권 설정\n" -#: pg_dump.c:1055 pg_dumpall.c:661 pg_restore.c:510 +#: pg_dump.c:1134 pg_dumpall.c:676 pg_restore.c:482 #, c-format msgid "" "\n" @@ -1738,45 +1880,45 @@ msgstr "" "\n" "연결 옵션들:\n" -#: pg_dump.c:1056 +#: pg_dump.c:1135 #, c-format msgid " -d, --dbname=DBNAME database to dump\n" msgstr " -d, --dbname=DBNAME 덤프할 데이터베이스\n" -#: pg_dump.c:1057 pg_dumpall.c:663 pg_restore.c:511 +#: pg_dump.c:1136 pg_dumpall.c:678 pg_restore.c:483 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" " -h, --host=HOSTNAME 접속할 데이터베이스 서버 또는 소켓 디렉터리\n" -#: pg_dump.c:1058 pg_dumpall.c:665 pg_restore.c:512 +#: pg_dump.c:1137 pg_dumpall.c:680 pg_restore.c:484 #, c-format msgid " -p, --port=PORT database server port number\n" msgstr " -p, --port=PORT 데이터베이스 서버의 포트 번호\n" -#: pg_dump.c:1059 pg_dumpall.c:666 pg_restore.c:513 +#: pg_dump.c:1138 pg_dumpall.c:681 pg_restore.c:485 #, c-format msgid " -U, --username=NAME connect as specified database user\n" msgstr " -U, --username=NAME 연결할 데이터베이스 사용자\n" -#: pg_dump.c:1060 pg_dumpall.c:667 pg_restore.c:514 +#: pg_dump.c:1139 pg_dumpall.c:682 pg_restore.c:486 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password 암호 프롬프트 표시 안 함\n" -#: pg_dump.c:1061 pg_dumpall.c:668 pg_restore.c:515 +#: pg_dump.c:1140 pg_dumpall.c:683 pg_restore.c:487 #, c-format msgid "" " -W, --password force password prompt (should happen " "automatically)\n" msgstr " -W, --password 암호 입력 프롬프트 보임(자동으로 처리함)\n" -#: pg_dump.c:1062 pg_dumpall.c:669 +#: pg_dump.c:1141 pg_dumpall.c:684 #, c-format msgid " --role=ROLENAME do SET ROLE before dump\n" msgstr " --role=ROLENAME 덤프 전에 SET ROLE 수행\n" -#: pg_dump.c:1064 +#: pg_dump.c:1143 #, c-format msgid "" "\n" @@ -1789,239 +1931,212 @@ msgstr "" "사용합니다.\n" "\n" -#: pg_dump.c:1066 pg_dumpall.c:673 pg_restore.c:522 +#: pg_dump.c:1145 pg_dumpall.c:688 pg_restore.c:494 #, c-format msgid "Report bugs to <%s>.\n" msgstr "문제점 보고 주소 <%s>\n" -#: pg_dump.c:1067 pg_dumpall.c:674 pg_restore.c:523 +#: pg_dump.c:1146 pg_dumpall.c:689 pg_restore.c:495 #, c-format msgid "%s home page: <%s>\n" msgstr "%s 홈페이지: <%s>\n" -#: pg_dump.c:1086 pg_dumpall.c:499 +#: pg_dump.c:1165 pg_dumpall.c:513 #, c-format msgid "invalid client encoding \"%s\" specified" msgstr "클라이언트 인코딩 값이 잘못되었습니다: \"%s\"" -#: pg_dump.c:1232 +#: pg_dump.c:1303 #, c-format msgid "" -"Synchronized snapshots on standby servers are not supported by this server " -"version.\n" -"Run with --no-synchronized-snapshots instead if you do not need\n" -"synchronized snapshots." -msgstr "" -"이 서버 버전에서는 대기 서버에서 동기화된 스냅샷 기능을 사용할 수 없음.\n" -"동기화된 스냅샷 기능이 필요 없다면, --no-synchronized-snapshots\n" -"옵션을 지정해서 덤프할 수 있습니다." +"parallel dumps from standby servers are not supported by this server version" +msgstr "대기 서버에서 병렬 덤프는 이 서버 버전에서 지원하지 않음" -#: pg_dump.c:1301 +#: pg_dump.c:1368 #, c-format msgid "invalid output format \"%s\" specified" msgstr "\"%s\" 값은 잘못된 출력 파일 형태입니다." -#: pg_dump.c:1339 +#: pg_dump.c:1409 pg_dump.c:1465 pg_dump.c:1518 pg_dumpall.c:1449 +#, c-format +msgid "improper qualified name (too many dotted names): %s" +msgstr "적당하지 않은 qualified 이름 입니다 (너무 많은 점이 있네요): %s" + +#: pg_dump.c:1417 #, c-format msgid "no matching schemas were found for pattern \"%s\"" msgstr "\"%s\" 검색 조건에 만족하는 스키마가 없습니다" -#: pg_dump.c:1386 +#: pg_dump.c:1470 +#, c-format +msgid "no matching extensions were found for pattern \"%s\"" +msgstr "\"%s\" 검색 조건에 만족하는 확장 모듈이 없습니다" + +#: pg_dump.c:1523 #, c-format msgid "no matching foreign servers were found for pattern \"%s\"" msgstr "\"%s\" 검색 조건에 만족하는 외부 서버가 없습니다" -#: pg_dump.c:1449 +#: pg_dump.c:1594 +#, c-format +msgid "improper relation name (too many dotted names): %s" +msgstr "" +"적당하지 않은 릴레이션(relation) 이름 입니다 (너무 많은 점이 있네요): %s" + +#: pg_dump.c:1616 #, c-format msgid "no matching tables were found for pattern \"%s\"" msgstr "\"%s\" 검색 조건에 만족하는 테이블이 없습니다" -#: pg_dump.c:1862 +#: pg_dump.c:1643 +#, c-format +msgid "You are currently not connected to a database." +msgstr "현재 데이터베이스에 연결되어있지 않습니다." + +#: pg_dump.c:1646 +#, c-format +msgid "cross-database references are not implemented: %s" +msgstr "서로 다른 데이터베이스간의 참조는 구현되어있지 않습니다: %s" + +#: pg_dump.c:2077 #, c-format msgid "dumping contents of table \"%s.%s\"" msgstr "\"%s.%s\" 테이블의 내용 덤프 중" -#: pg_dump.c:1969 +#: pg_dump.c:2183 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetCopyData() failed." msgstr "\"%s\" 테이블 내용을 덤프하면서 오류 발생: PQgetCopyData() 실패." -#: pg_dump.c:1970 pg_dump.c:1980 +#: pg_dump.c:2184 pg_dump.c:2194 #, c-format msgid "Error message from server: %s" msgstr "서버에서 보낸 오류 메시지: %s" -#: pg_dump.c:1971 pg_dump.c:1981 +#: pg_dump.c:2185 pg_dump.c:2195 #, c-format -msgid "The command was: %s" +msgid "Command was: %s" msgstr "사용된 명령: %s" -#: pg_dump.c:1979 +#: pg_dump.c:2193 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetResult() failed." msgstr "\"%s\" 테이블 내용을 덤프하면서 오류 발생: PQgetResult() 실패." -#: pg_dump.c:2735 +#: pg_dump.c:2275 +#, c-format +msgid "wrong number of fields retrieved from table \"%s\"" +msgstr "\"%s\" 테이블에서 잘못된 필드 수" + +#: pg_dump.c:2973 #, c-format msgid "saving database definition" msgstr "데이터베이스 구성정보를 저장 중" -#: pg_dump.c:3207 +#: pg_dump.c:3078 +#, c-format +msgid "unrecognized locale provider: %s" +msgstr "알 수 없는 로케일 제공자 이름: %s" + +#: pg_dump.c:3429 #, c-format msgid "saving encoding = %s" msgstr "인코딩 = %s 저장 중" -#: pg_dump.c:3232 +#: pg_dump.c:3454 #, c-format msgid "saving standard_conforming_strings = %s" msgstr "standard_conforming_strings = %s 저장 중" -#: pg_dump.c:3271 +#: pg_dump.c:3493 #, c-format msgid "could not parse result of current_schemas()" msgstr "current_schemas() 결과를 분석할 수 없음" -#: pg_dump.c:3290 +#: pg_dump.c:3512 #, c-format msgid "saving search_path = %s" msgstr "search_path = %s 저장 중" -#: pg_dump.c:3330 +#: pg_dump.c:3549 #, c-format msgid "reading large objects" msgstr "large object 읽는 중" -#: pg_dump.c:3512 +#: pg_dump.c:3687 #, c-format msgid "saving large objects" msgstr "large object들을 저장 중" -#: pg_dump.c:3558 +#: pg_dump.c:3728 #, c-format msgid "error reading large object %u: %s" msgstr "%u large object 읽는 중 오류: %s" -#: pg_dump.c:3610 -#, c-format -msgid "reading row security enabled for table \"%s.%s\"" -msgstr "\"%s.%s\" 테이블을 위한 로우 보안 활성화를 읽는 중" - -#: pg_dump.c:3641 +#: pg_dump.c:3834 #, c-format -msgid "reading policies for table \"%s.%s\"" -msgstr "\"%s.%s\" 테이블을 위한 정책 읽는 중" +msgid "reading row-level security policies" +msgstr "로우 단위 보안 정책 읽는 중" -#: pg_dump.c:3793 +#: pg_dump.c:3975 #, c-format msgid "unexpected policy command type: %c" msgstr "예상치 못한 정책 명령 형태: %c" -#: pg_dump.c:3944 -#, c-format -msgid "owner of publication \"%s\" appears to be invalid" -msgstr "\"%s\" 구독의 소유주가 적당하지 않습니다." - -#: pg_dump.c:4089 +#: pg_dump.c:4425 pg_dump.c:4760 pg_dump.c:11984 pg_dump.c:17894 +#: pg_dump.c:17896 pg_dump.c:18517 #, c-format -msgid "reading publication membership for table \"%s.%s\"" -msgstr "\"%s.%s\" 테이블을 위한 발행 맵버쉽을 읽는 중" +msgid "could not parse %s array" +msgstr "%s 배열을 분석할 수 없음" -#: pg_dump.c:4232 +#: pg_dump.c:4613 #, c-format msgid "subscriptions not dumped because current user is not a superuser" msgstr "" "현재 사용자가 슈퍼유저가 아니기 때문에 서브스크립션들은 덤프하지 못했음" -#: pg_dump.c:4286 -#, c-format -msgid "owner of subscription \"%s\" appears to be invalid" -msgstr "\"%s\" 구독의 소유주가 적당하지 않습니다." - -#: pg_dump.c:4330 -#, c-format -msgid "could not parse subpublications array" -msgstr "구독 배열을 분석할 수 없음" - -#: pg_dump.c:4652 +#: pg_dump.c:5149 #, c-format msgid "could not find parent extension for %s %s" msgstr "%s %s 객체와 관련된 상위 확장 기능을 찾을 수 없음" -#: pg_dump.c:4784 -#, c-format -msgid "owner of schema \"%s\" appears to be invalid" -msgstr "\"%s\" 스키마의 소유주가 바르지 않습니다" - -#: pg_dump.c:4807 +#: pg_dump.c:5294 #, c-format msgid "schema with OID %u does not exist" msgstr "OID %u 스키마 없음" -#: pg_dump.c:5132 -#, c-format -msgid "owner of data type \"%s\" appears to be invalid" -msgstr "\"%s\" 자료형의 소유주가 적당하지 않습니다." - -#: pg_dump.c:5217 -#, c-format -msgid "owner of operator \"%s\" appears to be invalid" -msgstr "\"%s\" 연산자의 소유주가 적당하지 않습니다." - -#: pg_dump.c:5519 -#, c-format -msgid "owner of operator class \"%s\" appears to be invalid" -msgstr "\"%s\" 연산자 클래스의 소유주가 적당하지 않습니다." - -#: pg_dump.c:5603 -#, c-format -msgid "owner of operator family \"%s\" appears to be invalid" -msgstr "\"%s\" 연산자 부류의 소유주가 적당하지 않습니다." - -#: pg_dump.c:5772 -#, c-format -msgid "owner of aggregate function \"%s\" appears to be invalid" -msgstr "\"%s\" 집계 함수의 소유주가 적당하지 않습니다." - -#: pg_dump.c:6032 -#, c-format -msgid "owner of function \"%s\" appears to be invalid" -msgstr "\"%s\" 함수의 소유주가 적당하지 않습니다." - -#: pg_dump.c:6860 -#, c-format -msgid "owner of table \"%s\" appears to be invalid" -msgstr "\"%s\" 테이블의 소유주가 적당하지 않습니다." - -#: pg_dump.c:6902 pg_dump.c:17380 +#: pg_dump.c:6776 pg_dump.c:17158 #, c-format msgid "" "failed sanity check, parent table with OID %u of sequence with OID %u not " "found" msgstr "의존성 검사 실패, 부모 테이블 OID %u 없음. 해당 시퀀스 개체 OID %u" -#: pg_dump.c:7044 +#: pg_dump.c:6919 +#, c-format +msgid "" +"failed sanity check, table OID %u appearing in pg_partitioned_table not found" +msgstr "완전성 검사 실패, OID %u인 객체가 pg_partitioned_table에 없음" + +#: pg_dump.c:7150 pg_dump.c:7417 pg_dump.c:7888 pg_dump.c:8552 pg_dump.c:8671 +#: pg_dump.c:8819 #, c-format -msgid "reading indexes for table \"%s.%s\"" -msgstr "\"%s.%s\" 테이블에서 사용하는 인덱스들을 읽는 중" +msgid "unrecognized table OID %u" +msgstr "알 수 없는 테이블 OID %u" -#: pg_dump.c:7459 +#: pg_dump.c:7154 #, c-format -msgid "reading foreign key constraints for table \"%s.%s\"" -msgstr "\"%s.%s\" 테이블에서 사용하는 참조키 제약조건을 읽는 중" +msgid "unexpected index data for table \"%s\"" +msgstr "\"%s\" 테이블의 인덱스 자료를 알 수 없음" -#: pg_dump.c:7740 +#: pg_dump.c:7649 #, c-format msgid "" "failed sanity check, parent table with OID %u of pg_rewrite entry with OID " "%u not found" msgstr "의존성 검사 실패, 부모 테이블 OID %u 없음. 해당 pg_rewrite 개체 OID %u" -#: pg_dump.c:7823 -#, c-format -msgid "reading triggers for table \"%s.%s\"" -msgstr "\"%s.%s\" 테이블에서 사용하는 트리거들을 읽는 중" - -#: pg_dump.c:7956 +#: pg_dump.c:7940 #, c-format msgid "" "query produced null referenced table name for foreign key trigger \"%s\" on " @@ -2030,218 +2145,209 @@ msgstr "" "쿼리가 참조테이블 정보가 없는 \"%s\" 참조키 트리거를 \"%s\" (해당 OID: %u) 테" "이블에서 만들었습니다." -#: pg_dump.c:8511 +#: pg_dump.c:8556 #, c-format -msgid "finding the columns and types of table \"%s.%s\"" -msgstr "\"%s.%s\" 테이블의 칼럼과 자료형을 찾는 중" +msgid "unexpected column data for table \"%s\"" +msgstr "\"%s\" 테이블의 알 수 없는 칼럼 자료" -#: pg_dump.c:8647 +#: pg_dump.c:8585 #, c-format msgid "invalid column numbering in table \"%s\"" msgstr "\"%s\" 테이블에 매겨져 있는 열 번호가 잘못되었습니다" -#: pg_dump.c:8684 +#: pg_dump.c:8633 #, c-format -msgid "finding default expressions of table \"%s.%s\"" -msgstr "\"%s.%s\" 테이블에서 default 표현들 찾는 중" +msgid "finding table default expressions" +msgstr "default 표현식 찾는 중" -#: pg_dump.c:8706 +#: pg_dump.c:8675 #, c-format msgid "invalid adnum value %d for table \"%s\"" msgstr "적당하지 않는 adnum 값: %d, 해당 테이블 \"%s\"" -#: pg_dump.c:8771 +#: pg_dump.c:8769 #, c-format -msgid "finding check constraints for table \"%s.%s\"" -msgstr "\"%s.%s\" 테이블에서 사용하는 체크 제약 조건을 찾는 중" +msgid "finding table check constraints" +msgstr "테이블 체크 제약조건 찾는 중" -#: pg_dump.c:8820 +#: pg_dump.c:8823 #, c-format msgid "expected %d check constraint on table \"%s\" but found %d" msgid_plural "expected %d check constraints on table \"%s\" but found %d" msgstr[0] "" "%d개의 제약 조건이 \"%s\" 테이블에 있을 것으로 예상했으나 %d개를 찾음" -#: pg_dump.c:8824 -#, c-format -msgid "(The system catalogs might be corrupted.)" -msgstr "(시스템 카탈로그가 손상되었는 것 같습니다)" - -#: pg_dump.c:10410 -#, c-format -msgid "typtype of data type \"%s\" appears to be invalid" -msgstr "\"%s\" 자료형의 typtype가 잘못 되어 있음" - -#: pg_dump.c:11764 -#, c-format -msgid "bogus value in proargmodes array" -msgstr "proargmodes 배열에 잘못된 값이 있음" - -#: pg_dump.c:12136 +#: pg_dump.c:8827 #, c-format -msgid "could not parse proallargtypes array" -msgstr "proallargtypes 배열을 분석할 수 없습니다" +msgid "The system catalogs might be corrupted." +msgstr "시스템 카탈로그가 손상되었는 것 같습니다." -#: pg_dump.c:12152 +#: pg_dump.c:9517 #, c-format -msgid "could not parse proargmodes array" -msgstr "proargmodes 배열을 분석할 수 없습니다" +msgid "role with OID %u does not exist" +msgstr "%u OID 롤이 없음" -#: pg_dump.c:12166 +#: pg_dump.c:9629 pg_dump.c:9658 #, c-format -msgid "could not parse proargnames array" -msgstr "proargnames 배열을 분석할 수 없습니다" +msgid "unsupported pg_init_privs entry: %u %u %d" +msgstr "지원하지 않는 pg_init_privs 항목: %u %u %d" -#: pg_dump.c:12177 +#: pg_dump.c:10479 #, c-format -msgid "could not parse proconfig array" -msgstr "proconfig 배열을 구문 분석할 수 없음" +msgid "typtype of data type \"%s\" appears to be invalid" +msgstr "\"%s\" 자료형의 typtype가 잘못 되어 있음" -#: pg_dump.c:12257 +#: pg_dump.c:12053 #, c-format msgid "unrecognized provolatile value for function \"%s\"" msgstr "\"%s\" 함수의 provolatile 값이 잘못 되었습니다" -#: pg_dump.c:12307 pg_dump.c:14365 +#: pg_dump.c:12103 pg_dump.c:13985 #, c-format msgid "unrecognized proparallel value for function \"%s\"" msgstr "\"%s\" 함수의 proparallel 값이 잘못 되었습니다" -#: pg_dump.c:12446 pg_dump.c:12555 pg_dump.c:12562 +#: pg_dump.c:12233 pg_dump.c:12339 pg_dump.c:12346 #, c-format msgid "could not find function definition for function with OID %u" msgstr "%u OID 함수에 대한 함수 정의를 찾을 수 없음" -#: pg_dump.c:12485 +#: pg_dump.c:12272 #, c-format msgid "bogus value in pg_cast.castfunc or pg_cast.castmethod field" msgstr "pg_cast.castfunc 또는 pg_cast.castmethod 필드에 잘못된 값이 있음" -#: pg_dump.c:12488 +#: pg_dump.c:12275 #, c-format msgid "bogus value in pg_cast.castmethod field" msgstr "pg_cast.castmethod 필드에 잘못된 값이 있음" -#: pg_dump.c:12581 +#: pg_dump.c:12365 #, c-format msgid "" "bogus transform definition, at least one of trffromsql and trftosql should " "be nonzero" msgstr "잘못된 전송 정의, trffromsql 또는 trftosql 중 하나는 비어 있으면 안됨" -#: pg_dump.c:12598 +#: pg_dump.c:12382 #, c-format msgid "bogus value in pg_transform.trffromsql field" msgstr "pg_transform.trffromsql 필드에 잘못된 값이 있음" -#: pg_dump.c:12619 +#: pg_dump.c:12403 #, c-format msgid "bogus value in pg_transform.trftosql field" msgstr "pg_transform.trftosql 필드에 잘못된 값이 있음" -#: pg_dump.c:12935 +#: pg_dump.c:12548 +#, c-format +msgid "postfix operators are not supported anymore (operator \"%s\")" +msgstr "postfix 연산자는 더이상 지원하지 않습니다.(\"%s\" 연산자)" + +#: pg_dump.c:12718 #, c-format msgid "could not find operator with OID %s" msgstr "%s OID의 연산자를 찾을 수 없음" -#: pg_dump.c:13003 +#: pg_dump.c:12786 #, c-format msgid "invalid type \"%c\" of access method \"%s\"" msgstr "\"%c\" 잘못된 자료형, 해당 접근 방법: \"%s\"" -#: pg_dump.c:13757 +#: pg_dump.c:13455 pg_dump.c:13514 #, c-format msgid "unrecognized collation provider: %s" msgstr "알 수 없는 정렬규칙 제공자 이름: %s" -#: pg_dump.c:14229 +#: pg_dump.c:13464 pg_dump.c:13473 pg_dump.c:13483 pg_dump.c:13498 #, c-format -msgid "" -"aggregate function %s could not be dumped correctly for this database " -"version; ignored" -msgstr "" -"%s 집계 함수는 이 데이터베이스 버전에서는 바르게 덤프되질 못했습니다; 무시함" +msgid "invalid collation \"%s\"" +msgstr "잘못된 문자정렬규칙 \"%s\"" -#: pg_dump.c:14284 +#: pg_dump.c:13904 #, c-format msgid "unrecognized aggfinalmodify value for aggregate \"%s\"" msgstr "\"%s\" 집계 함수용 aggfinalmodify 값이 이상함" -#: pg_dump.c:14340 +#: pg_dump.c:13960 #, c-format msgid "unrecognized aggmfinalmodify value for aggregate \"%s\"" msgstr "\"%s\" 집계 함수용 aggmfinalmodify 값이 이상함" -#: pg_dump.c:15062 +#: pg_dump.c:14677 #, c-format msgid "unrecognized object type in default privileges: %d" msgstr "기본 접근 권한에서 알 수 없는 객체형이 있음: %d" -#: pg_dump.c:15080 +#: pg_dump.c:14693 #, c-format msgid "could not parse default ACL list (%s)" msgstr "기본 ACL 목록 (%s)을 분석할 수 없음" -#: pg_dump.c:15165 +#: pg_dump.c:14775 #, c-format msgid "" -"could not parse initial GRANT ACL list (%s) or initial REVOKE ACL list (%s) " -"for object \"%s\" (%s)" +"could not parse initial ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "" -"GRANT ACL 목록 초기값 (%s) 또는 REVOKE ACL 목록 초기값 (%s) 분석할 수 없음, " -"해당 객체: \"%s\" (%s)" +"초기 ACL 목록 (%s) 또는 default (%s) 분석할 수 없음, 해당 객체: \"%s\" (%s)" -#: pg_dump.c:15173 +#: pg_dump.c:14800 #, c-format -msgid "" -"could not parse GRANT ACL list (%s) or REVOKE ACL list (%s) for object \"%s" -"\" (%s)" -msgstr "" -"GRANT ACL 목록 (%s) 또는 REVOKE ACL 목록 (%s) 분석할 수 없음, 해당 객체: \"%s" -"\" (%s)" +msgid "could not parse ACL list (%s) or default (%s) for object \"%s\" (%s)" +msgstr "ACL 목록 (%s) 또는 default (%s) 분석할 수 없음, 해당 객체: \"%s\" (%s)" -#: pg_dump.c:15688 +#: pg_dump.c:15341 #, c-format msgid "query to obtain definition of view \"%s\" returned no data" msgstr "\"%s\" 뷰 정의 정보가 없습니다." -#: pg_dump.c:15691 +#: pg_dump.c:15344 #, c-format msgid "" "query to obtain definition of view \"%s\" returned more than one definition" msgstr "\"%s\" 뷰 정의 정보가 하나 이상 있습니다." -#: pg_dump.c:15698 +#: pg_dump.c:15351 #, c-format msgid "definition of view \"%s\" appears to be empty (length zero)" msgstr "\"%s\" 뷰의 정의 내용이 비어있습니다." -#: pg_dump.c:15780 +#: pg_dump.c:15435 #, c-format msgid "WITH OIDS is not supported anymore (table \"%s\")" msgstr "WITH OIDS 옵션은 더이상 지원하지 않음 (\"%s\" 테이블)" -#: pg_dump.c:16260 -#, c-format -msgid "invalid number of parents %d for table \"%s\"" -msgstr "잘못된 부모 수: %d, 해당 테이블 \"%s\"" - -#: pg_dump.c:16583 +#: pg_dump.c:16359 #, c-format msgid "invalid column number %d for table \"%s\"" msgstr "잘못된 열 번호 %d, 해당 테이블 \"%s\"" -#: pg_dump.c:16868 +#: pg_dump.c:16437 +#, c-format +msgid "could not parse index statistic columns" +msgstr "인덱스 통계정보 칼럼 분석 실패" + +#: pg_dump.c:16439 +#, c-format +msgid "could not parse index statistic values" +msgstr "인덱스 통계정보 값 분석 실패" + +#: pg_dump.c:16441 +#, c-format +msgid "mismatched number of columns and values for index statistics" +msgstr "인덱스 통계정보용 칼럼수와 값수가 일치하지 않음" + +#: pg_dump.c:16657 #, c-format msgid "missing index for constraint \"%s\"" msgstr "\"%s\" 제약 조건을 위한 인덱스가 빠졌습니다" -#: pg_dump.c:17093 +#: pg_dump.c:16892 #, c-format msgid "unrecognized constraint type: %c" msgstr "알 수 없는 제약 조건 종류: %c" -#: pg_dump.c:17225 pg_dump.c:17445 +#: pg_dump.c:16993 pg_dump.c:17222 #, c-format msgid "query to get data of sequence \"%s\" returned %d row (expected 1)" msgid_plural "" @@ -2249,22 +2355,22 @@ msgid_plural "" msgstr[0] "" "\"%s\" 시퀀스의 데이터를 가져오기 위한 쿼리에서 %d개의 행 반환(1개 필요)" -#: pg_dump.c:17259 +#: pg_dump.c:17025 #, c-format msgid "unrecognized sequence type: %s" msgstr "알 수 없는 시퀀스 형태: %s" -#: pg_dump.c:17543 +#: pg_dump.c:17314 #, c-format msgid "unexpected tgtype value: %d" msgstr "기대되지 않은 tgtype 값: %d" -#: pg_dump.c:17617 +#: pg_dump.c:17386 #, c-format msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"" msgstr "잘못된 인수 문자열 (%s), 해당 트리거 \"%s\", 사용되는 테이블 \"%s\"" -#: pg_dump.c:17853 +#: pg_dump.c:17655 #, c-format msgid "" "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows " @@ -2272,58 +2378,53 @@ msgid "" msgstr "" "\"%s\" 규칙(\"%s\" 테이블)을 가져오기 위한 쿼리 실패: 잘못된 행 수 반환" -#: pg_dump.c:18015 +#: pg_dump.c:17808 #, c-format msgid "could not find referenced extension %u" msgstr "%u 확장기능과 관련된 상위 확장 기능을 찾을 수 없음" -#: pg_dump.c:18229 +#: pg_dump.c:17898 +#, c-format +msgid "mismatched number of configurations and conditions for extension" +msgstr "확장 모듈용 환경설정 매개변수 수와 조건 수가 일치 하지 않음" + +#: pg_dump.c:18030 #, c-format msgid "reading dependency data" msgstr "의존 관계 자료 읽는 중" -#: pg_dump.c:18322 +#: pg_dump.c:18116 #, c-format msgid "no referencing object %u %u" msgstr "%u %u 개체의 하위 관련 개체가 없음" -#: pg_dump.c:18333 +#: pg_dump.c:18127 #, c-format msgid "no referenced object %u %u" msgstr "%u %u 개체의 상위 관련 개체가 없음" -#: pg_dump.c:18706 -#, c-format -msgid "could not parse reloptions array" -msgstr "reloptions 배열을 분석할 수 없음" - -#: pg_dump_sort.c:360 +#: pg_dump_sort.c:422 #, c-format msgid "invalid dumpId %d" msgstr "잘못된 dumpId %d" -#: pg_dump_sort.c:366 +#: pg_dump_sort.c:428 #, c-format msgid "invalid dependency %d" msgstr "잘못된 의존성 %d" -#: pg_dump_sort.c:599 +#: pg_dump_sort.c:661 #, c-format msgid "could not identify dependency loop" msgstr "의존 관계를 식별 할 수 없음" -#: pg_dump_sort.c:1170 +#: pg_dump_sort.c:1276 #, c-format msgid "there are circular foreign-key constraints on this table:" msgid_plural "there are circular foreign-key constraints among these tables:" msgstr[0] "다음 데이블 간 참조키가 서로 교차하고 있음:" -#: pg_dump_sort.c:1174 pg_dump_sort.c:1194 -#, c-format -msgid " %s" -msgstr " %s" - -#: pg_dump_sort.c:1175 +#: pg_dump_sort.c:1281 #, c-format msgid "" "You might not be able to restore the dump without using --disable-triggers " @@ -2332,7 +2433,7 @@ msgstr "" "--disable-triggers 옵션으로 복원할 수 있습니다. 또는 임시로 제약 조건을 삭제" "하고 복원하세요." -#: pg_dump_sort.c:1176 +#: pg_dump_sort.c:1282 #, c-format msgid "" "Consider using a full dump instead of a --data-only dump to avoid this " @@ -2340,34 +2441,27 @@ msgid "" msgstr "" "이 문제를 피하려면, --data-only 덤프 대신에 모든 덤프를 사용하길 권합니다." -#: pg_dump_sort.c:1188 +#: pg_dump_sort.c:1294 #, c-format msgid "could not resolve dependency loop among these items:" msgstr "다음 항목 간 의존 관계를 분석할 수 없음:" -#: pg_dumpall.c:199 +#: pg_dumpall.c:230 #, c-format msgid "" -"The program \"%s\" is needed by %s but was not found in the\n" -"same directory as \"%s\".\n" -"Check your installation." +"program \"%s\" is needed by %s but was not found in the same directory as " +"\"%s\"" msgstr "" -"\"%s\" 프로그램이 %s 작업에서 필요로 하지만, \"%s\" 프로그램이\n" -"있는 같은 디렉터리에서 찾을 수 없습니다.\n" -"설치 상태를 살펴 보십시오." +"\"%s\" 프로그램이 %s 작업에서 필요로 하지만, \"%s\" 디렉터리 안에 함께 있지 " +"않습니다" -#: pg_dumpall.c:204 +#: pg_dumpall.c:233 #, c-format -msgid "" -"The program \"%s\" was found by \"%s\"\n" -"but was not the same version as %s.\n" -"Check your installation." +msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "" -"\"%s\" 프로그램이 \"%s\" 작업 때문에 찾았지만, \n" -"%s 버전과 같지 않습니다.\n" -"설치 상태를 살펴 보십시오." +"\"%s\" 프로그램을 \"%s\" 작업 때문에 찾았지만, %s 버전과 같지 않습니다." -#: pg_dumpall.c:356 +#: pg_dumpall.c:382 #, c-format msgid "" "option --exclude-database cannot be used together with -g/--globals-only, -" @@ -2376,31 +2470,31 @@ msgstr "" "--exclude-database 옵션은 -g/--globals-only, -r/--roles-only, 또는 -t/--" "tablespaces-only 옵션과 함께 쓸 수 없음" -#: pg_dumpall.c:365 +#: pg_dumpall.c:390 #, c-format msgid "options -g/--globals-only and -r/--roles-only cannot be used together" msgstr "-g/--globals-only 옵션과 -r/--roles-only 옵션은 함께 사용할 수 없음" -#: pg_dumpall.c:373 +#: pg_dumpall.c:397 #, c-format msgid "" "options -g/--globals-only and -t/--tablespaces-only cannot be used together" msgstr "" "-g/--globals-only 옵션과 -t/--tablespaces-only 옵션은 함께 사용할 수 없음" -#: pg_dumpall.c:387 +#: pg_dumpall.c:407 #, c-format msgid "" "options -r/--roles-only and -t/--tablespaces-only cannot be used together" msgstr "" "-r/--roles-only 옵션과 -t/--tablespaces-only 옵션은 함께 사용할 수 없음" -#: pg_dumpall.c:448 pg_dumpall.c:1754 +#: pg_dumpall.c:469 pg_dumpall.c:1750 #, c-format msgid "could not connect to database \"%s\"" msgstr "\"%s\" 데이터베이스에 접속할 수 없음" -#: pg_dumpall.c:462 +#: pg_dumpall.c:481 #, c-format msgid "" "could not connect to databases \"postgres\" or \"template1\"\n" @@ -2409,7 +2503,7 @@ msgstr "" "\"postgres\" 또는 \"template1\" 데이터베이스에 연결할 수 없습니다.\n" "다른 데이터베이스를 지정하십시오." -#: pg_dumpall.c:616 +#: pg_dumpall.c:629 #, c-format msgid "" "%s extracts a PostgreSQL database cluster into an SQL script file.\n" @@ -2419,35 +2513,35 @@ msgstr "" "추출하는 프로그램입니다.\n" "\n" -#: pg_dumpall.c:618 +#: pg_dumpall.c:631 #, c-format msgid " %s [OPTION]...\n" msgstr " %s [옵션]...\n" -#: pg_dumpall.c:621 +#: pg_dumpall.c:634 #, c-format msgid " -f, --file=FILENAME output file name\n" msgstr " -f, --file=파일이름 출력 파일 이름\n" -#: pg_dumpall.c:628 +#: pg_dumpall.c:641 #, c-format msgid "" " -c, --clean clean (drop) databases before recreating\n" msgstr "" " -c, --clean 다시 만들기 전에 데이터베이스 지우기(삭제)\n" -#: pg_dumpall.c:630 +#: pg_dumpall.c:643 #, c-format msgid " -g, --globals-only dump only global objects, no databases\n" msgstr "" " -g, --globals-only 데이터베이스는 제외하고 글로벌 개체만 덤프\n" -#: pg_dumpall.c:631 pg_restore.c:485 +#: pg_dumpall.c:644 pg_restore.c:456 #, c-format msgid " -O, --no-owner skip restoration of object ownership\n" msgstr " -O, --no-owner 개체 소유권 복원 건너뛰기\n" -#: pg_dumpall.c:632 +#: pg_dumpall.c:645 #, c-format msgid "" " -r, --roles-only dump only roles, no databases or tablespaces\n" @@ -2455,12 +2549,12 @@ msgstr "" " -r, --roles-only 데이터베이스나 테이블스페이스는 제외하고 역할" "만 덤프\n" -#: pg_dumpall.c:634 +#: pg_dumpall.c:647 #, c-format msgid " -S, --superuser=NAME superuser user name to use in the dump\n" msgstr " -S, --superuser=NAME 덤프에 사용할 슈퍼유저 사용자 이름\n" -#: pg_dumpall.c:635 +#: pg_dumpall.c:648 #, c-format msgid "" " -t, --tablespaces-only dump only tablespaces, no databases or roles\n" @@ -2468,29 +2562,29 @@ msgstr "" " -t, --tablespaces-only 데이터베이스나 역할은 제외하고 테이블스페이스" "만 덤프\n" -#: pg_dumpall.c:641 +#: pg_dumpall.c:654 #, c-format msgid "" " --exclude-database=PATTERN exclude databases whose name matches PATTERN\n" msgstr "" " --exclude-database=PATTERN 해당 PATTERN에 일치하는 데이터베이스 제외\n" -#: pg_dumpall.c:648 +#: pg_dumpall.c:661 #, c-format msgid " --no-role-passwords do not dump passwords for roles\n" msgstr " --no-role-passwords 롤용 비밀번호를 덤프하지 않음\n" -#: pg_dumpall.c:662 +#: pg_dumpall.c:677 #, c-format msgid " -d, --dbname=CONNSTR connect using connection string\n" msgstr " -d, --dbname=접속문자열 서버 접속 문자열\n" -#: pg_dumpall.c:664 +#: pg_dumpall.c:679 #, c-format msgid " -l, --database=DBNAME alternative default database\n" msgstr " -l, --database=DBNAME 대체용 기본 데이터베이스\n" -#: pg_dumpall.c:671 +#: pg_dumpall.c:686 #, c-format msgid "" "\n" @@ -2504,99 +2598,99 @@ msgstr "" "출력에 쓰여집니다.\n" "\n" -#: pg_dumpall.c:877 +#: pg_dumpall.c:828 #, c-format msgid "role name starting with \"pg_\" skipped (%s)" msgstr "롤 이름이 \"pg_\"로 시작함, 무시함: (%s)" -#: pg_dumpall.c:1278 +#: pg_dumpall.c:1050 +#, c-format +msgid "could not find a legal dump ordering for memberships in role \"%s\"" +msgstr "\"%s\" 롤은 덤프할 수 있는 롤을 포함하고 있지 않습니다" + +#: pg_dumpall.c:1185 +#, c-format +msgid "could not parse ACL list (%s) for parameter \"%s\"" +msgstr "ACL 목록 (%s)을 분석할 수 없음, 해당 매개변수 \"%s\"" + +#: pg_dumpall.c:1303 #, c-format msgid "could not parse ACL list (%s) for tablespace \"%s\"" msgstr "테이블스페이스 용 ACL 목록 (%s)을 분석할 수 없음, 해당개체 \"%s\"" -#: pg_dumpall.c:1495 +#: pg_dumpall.c:1510 #, c-format msgid "excluding database \"%s\"" msgstr "\"%s\" 데이터베이스를 제외하는 중" -#: pg_dumpall.c:1499 +#: pg_dumpall.c:1514 #, c-format msgid "dumping database \"%s\"" msgstr "\"%s\" 데이터베이스 덤프 중" -#: pg_dumpall.c:1531 +#: pg_dumpall.c:1545 #, c-format msgid "pg_dump failed on database \"%s\", exiting" msgstr "\"%s\" 데이터베이스에서 pg_dump 작업 중에 오류가 발생, 끝냅니다." -#: pg_dumpall.c:1540 +#: pg_dumpall.c:1551 #, c-format msgid "could not re-open the output file \"%s\": %m" msgstr "\"%s\" 출력 파일을 다시 열 수 없음: %m" -#: pg_dumpall.c:1584 +#: pg_dumpall.c:1592 #, c-format msgid "running \"%s\"" msgstr "\"%s\" 가동중" -#: pg_dumpall.c:1775 -#, c-format -msgid "could not connect to database \"%s\": %s" -msgstr "\"%s\" 데이터베이스에 접속할 수 없음: %s" - -#: pg_dumpall.c:1805 +#: pg_dumpall.c:1793 #, c-format msgid "could not get server version" msgstr "서버 버전을 알 수 없음" -#: pg_dumpall.c:1811 +#: pg_dumpall.c:1796 #, c-format msgid "could not parse server version \"%s\"" msgstr "\"%s\" 서버 버전을 분석할 수 없음" -#: pg_dumpall.c:1883 pg_dumpall.c:1906 +#: pg_dumpall.c:1866 pg_dumpall.c:1889 #, c-format msgid "executing %s" msgstr "실행중: %s" -#: pg_restore.c:308 +#: pg_restore.c:313 #, c-format msgid "one of -d/--dbname and -f/--file must be specified" msgstr "-d/--dbname 옵션 또는 -f/--file 옵션 중 하나를 지정해야 함" -#: pg_restore.c:317 +#: pg_restore.c:320 #, c-format msgid "options -d/--dbname and -f/--file cannot be used together" msgstr "-d/--dbname 옵션과 -f/--file 옵션은 함께 사용할 수 없음" -#: pg_restore.c:343 +#: pg_restore.c:338 #, c-format msgid "options -C/--create and -1/--single-transaction cannot be used together" msgstr "-C/--clean 옵션과 -1/--single-transaction 옵션은 함께 사용할 수 없음" -#: pg_restore.c:357 -#, c-format -msgid "maximum number of parallel jobs is %d" -msgstr "병렬 작업 최대수는 %d 입니다." - -#: pg_restore.c:366 +#: pg_restore.c:342 #, c-format msgid "cannot specify both --single-transaction and multiple jobs" msgstr "--single-transaction 및 병렬 작업을 함께 지정할 수는 없음" -#: pg_restore.c:408 +#: pg_restore.c:380 #, c-format msgid "" "unrecognized archive format \"%s\"; please specify \"c\", \"d\", or \"t\"" msgstr "" "알 수 없는 아카이브 형식: \"%s\"; 사용할 수 있는 값: \"c\", \"d\", \"t\"" -#: pg_restore.c:448 +#: pg_restore.c:419 #, c-format msgid "errors ignored on restore: %d" msgstr "복원작업에서의 오류들이 무시되었음: %d" -#: pg_restore.c:461 +#: pg_restore.c:432 #, c-format msgid "" "%s restores a PostgreSQL database from an archive created by pg_dump.\n" @@ -2606,47 +2700,47 @@ msgstr "" "그 자료를 일괄 입력합니다.\n" "\n" -#: pg_restore.c:463 +#: pg_restore.c:434 #, c-format msgid " %s [OPTION]... [FILE]\n" msgstr " %s [옵션]... [파일]\n" -#: pg_restore.c:466 +#: pg_restore.c:437 #, c-format msgid " -d, --dbname=NAME connect to database name\n" msgstr " -d, --dbname=NAME 접속할 데이터베이스 이름\n" -#: pg_restore.c:467 +#: pg_restore.c:438 #, c-format msgid " -f, --file=FILENAME output file name (- for stdout)\n" msgstr " -f, --file=FILENAME 출력 파일 이름 (표준 출력: -)\n" -#: pg_restore.c:468 +#: pg_restore.c:439 #, c-format msgid " -F, --format=c|d|t backup file format (should be automatic)\n" msgstr " -F, --format=c|d|t 백업 파일 형식 (지정하지 않으면 자동분석)\n" -#: pg_restore.c:469 +#: pg_restore.c:440 #, c-format msgid " -l, --list print summarized TOC of the archive\n" msgstr " -l, --list 자료의 요약된 목차를 보여줌\n" -#: pg_restore.c:470 +#: pg_restore.c:441 #, c-format msgid " -v, --verbose verbose mode\n" msgstr " -v, --verbose 자세한 정보 보여줌\n" -#: pg_restore.c:471 +#: pg_restore.c:442 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version 버전 정보를 보여주고 마침\n" -#: pg_restore.c:472 +#: pg_restore.c:443 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help 이 도움말을 보여주고 마침\n" -#: pg_restore.c:474 +#: pg_restore.c:445 #, c-format msgid "" "\n" @@ -2655,33 +2749,33 @@ msgstr "" "\n" "리스토어 처리를 위한 옵션들:\n" -#: pg_restore.c:475 +#: pg_restore.c:446 #, c-format msgid " -a, --data-only restore only the data, no schema\n" msgstr " -a, --data-only 스키마는 빼고 자료만 입력함\n" -#: pg_restore.c:477 +#: pg_restore.c:448 #, c-format msgid " -C, --create create the target database\n" msgstr " -C, --create 작업 대상 데이터베이스를 만듦\n" -#: pg_restore.c:478 +#: pg_restore.c:449 #, c-format msgid " -e, --exit-on-error exit on error, default is to continue\n" msgstr "" " -e, --exit-on-error 오류가 생기면 끝냄, 기본은 계속 진행함\n" -#: pg_restore.c:479 +#: pg_restore.c:450 #, c-format msgid " -I, --index=NAME restore named index\n" msgstr " -I, --index=NAME 지정한 인덱스 만듦\n" -#: pg_restore.c:480 +#: pg_restore.c:451 #, c-format msgid " -j, --jobs=NUM use this many parallel jobs to restore\n" msgstr " -j, --jobs=NUM 여러 병렬 작업을 사용하여 복원\n" -#: pg_restore.c:481 +#: pg_restore.c:452 #, c-format msgid "" " -L, --use-list=FILENAME use table of contents from this file for\n" @@ -2690,27 +2784,27 @@ msgstr "" " -L, --use-list=FILENAME 출력을 선택하고 해당 순서를 지정하기 위해\n" " 이 파일의 목차 사용\n" -#: pg_restore.c:483 +#: pg_restore.c:454 #, c-format msgid " -n, --schema=NAME restore only objects in this schema\n" msgstr " -n, --schema=NAME 해당 스키마의 개체들만 복원함\n" -#: pg_restore.c:484 +#: pg_restore.c:455 #, c-format msgid " -N, --exclude-schema=NAME do not restore objects in this schema\n" msgstr " -N, --exclude-schema=NAME 해당 스키마의 개체들은 복원 안함\n" -#: pg_restore.c:486 +#: pg_restore.c:457 #, c-format msgid " -P, --function=NAME(args) restore named function\n" msgstr " -P, --function=NAME(args) 지정한 함수 만듦\n" -#: pg_restore.c:487 +#: pg_restore.c:458 #, c-format msgid " -s, --schema-only restore only the schema, no data\n" msgstr " -s, --schema-only 자료구조(스키마)만 만듦\n" -#: pg_restore.c:488 +#: pg_restore.c:459 #, c-format msgid "" " -S, --superuser=NAME superuser user name to use for disabling " @@ -2719,40 +2813,40 @@ msgstr "" " -S, --superuser=NAME 트리거를 사용하지 않기 위해 사용할 슈퍼유저\n" " 사용자 이름\n" -#: pg_restore.c:489 +#: pg_restore.c:460 #, c-format msgid "" " -t, --table=NAME restore named relation (table, view, etc.)\n" msgstr " -t, --table=NAME 복원할 객체 이름 (테이블, 뷰, 기타)\n" -#: pg_restore.c:490 +#: pg_restore.c:461 #, c-format msgid " -T, --trigger=NAME restore named trigger\n" msgstr " -T, --trigger=NAME 지정한 트리거 만듦\n" -#: pg_restore.c:491 +#: pg_restore.c:462 #, c-format msgid "" " -x, --no-privileges skip restoration of access privileges (grant/" "revoke)\n" msgstr " -x, --no-privileges 접근 권한(grant/revoke) 지정 안함\n" -#: pg_restore.c:492 +#: pg_restore.c:463 #, c-format msgid " -1, --single-transaction restore as a single transaction\n" msgstr " -1, --single-transaction 하나의 트랜잭션 작업으로 복원함\n" -#: pg_restore.c:494 +#: pg_restore.c:465 #, c-format msgid " --enable-row-security enable row security\n" msgstr " --enable-row-security 로우 보안 활성화\n" -#: pg_restore.c:496 +#: pg_restore.c:467 #, c-format msgid " --no-comments do not restore comments\n" msgstr " --no-comments 코멘트는 복원하지 않음\n" -#: pg_restore.c:497 +#: pg_restore.c:468 #, c-format msgid "" " --no-data-for-failed-tables do not restore data of tables that could not " @@ -2762,27 +2856,32 @@ msgstr "" " --no-data-for-failed-tables 만들 수 없는 테이블에 대해서는 자료를 덤프하" "지 않음\n" -#: pg_restore.c:499 +#: pg_restore.c:470 #, c-format msgid " --no-publications do not restore publications\n" msgstr " --no-publications 발행 정보는 복원 안함\n" -#: pg_restore.c:500 +#: pg_restore.c:471 #, c-format msgid " --no-security-labels do not restore security labels\n" msgstr " --no-security-labels 보안 라벨을 복원하지 않음\n" -#: pg_restore.c:501 +#: pg_restore.c:472 #, c-format msgid " --no-subscriptions do not restore subscriptions\n" msgstr " --no-subscriptions 구독 정보는 복원 안함\n" -#: pg_restore.c:502 +#: pg_restore.c:473 +#, c-format +msgid " --no-table-access-method do not restore table access methods\n" +msgstr " --no-table-access-method 테이블 접근 방법 복원 안함\n" + +#: pg_restore.c:474 #, c-format msgid " --no-tablespaces do not restore tablespace assignments\n" msgstr " --no-tablespaces 테이블스페이스 할당을 복원하지 않음\n" -#: pg_restore.c:503 +#: pg_restore.c:475 #, c-format msgid "" " --section=SECTION restore named section (pre-data, data, or " @@ -2791,12 +2890,12 @@ msgstr "" " --section=SECTION 지정한 섹션만 복원함\n" " 섹션 종류: pre-data, data, post-data\n" -#: pg_restore.c:516 +#: pg_restore.c:488 #, c-format msgid " --role=ROLENAME do SET ROLE before restore\n" msgstr " --role=ROLENAME 복원 전에 SET ROLE 수행\n" -#: pg_restore.c:518 +#: pg_restore.c:490 #, c-format msgid "" "\n" @@ -2809,7 +2908,7 @@ msgstr "" "기\n" "위해서 여러번 사용할 수 있습니다.\n" -#: pg_restore.c:521 +#: pg_restore.c:493 #, c-format msgid "" "\n" @@ -2819,3 +2918,7 @@ msgstr "" "\n" "사용할 입력 파일을 지정하지 않았다면, 표준 입력(stdin)을 사용합니다.\n" "\n" + +#, c-format +#~ msgid " %s" +#~ msgstr " %s" diff --git a/src/bin/pg_dump/po/zh_TW.po b/src/bin/pg_dump/po/zh_TW.po new file mode 100644 index 00000000000..935cc7f1ce3 --- /dev/null +++ b/src/bin/pg_dump/po/zh_TW.po @@ -0,0 +1,3300 @@ +# Traditional Chinese message translation file for pg_dump +# Copyright (C) 2023 PostgreSQL Global Development Group +# This file is distributed under the same license as the pg_dump (PostgreSQL) package. +# 2004-12-13 Zhenbang Wei +# +msgid "" +msgstr "" +"Project-Id-Version: pg_dump (PostgreSQL) 16\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2023-09-07 05:51+0000\n" +"PO-Revision-Date: 2023-09-11 11:38+0800\n" +"Last-Translator: Zhenbang Wei \n" +"Language-Team: \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 3.3.2\n" + +# libpq/be-secure.c:294 libpq/be-secure.c:387 +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "錯誤: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "警告: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "詳細內容: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "提示: " + +#: ../../common/compression.c:132 ../../common/compression.c:141 +#: ../../common/compression.c:150 compress_gzip.c:413 compress_gzip.c:420 +#: compress_io.c:109 compress_lz4.c:780 compress_lz4.c:787 compress_zstd.c:25 +#: compress_zstd.c:31 +#, c-format +msgid "this build does not support compression with %s" +msgstr "此版本不支援使用 %s 進行壓縮" + +#: ../../common/compression.c:205 +msgid "found empty string where a compression option was expected" +msgstr "在預期壓縮選項的地方發現空字串" + +#: ../../common/compression.c:244 +#, c-format +msgid "unrecognized compression option: \"%s\"" +msgstr "無法辨識的壓縮選項: %s" + +# bootstrap/bootstrap.c:304 postmaster/postmaster.c:500 tcop/postgres.c:2507 +#: ../../common/compression.c:283 +#, c-format +msgid "compression option \"%s\" requires a value" +msgstr "壓縮選項 \"%s\" 需要提供數值" + +# commands/define.c:233 +#: ../../common/compression.c:292 +#, c-format +msgid "value for compression option \"%s\" must be an integer" +msgstr "壓縮選項 \"%s\" 的數值必須是整數" + +# commands/define.c:233 +#: ../../common/compression.c:331 +#, c-format +msgid "value for compression option \"%s\" must be a Boolean value" +msgstr "壓縮選項 \"%s\" 的數值必須是布林值" + +# commands/indexcmds.c:623 +#: ../../common/compression.c:379 +#, c-format +msgid "compression algorithm \"%s\" does not accept a compression level" +msgstr "壓縮演算法 \"%s\" 不接受壓縮等級" + +#: ../../common/compression.c:386 +#, c-format +msgid "compression algorithm \"%s\" expects a compression level between %d and %d (default at %d)" +msgstr "壓縮演算法 \"%s\" 預期的壓縮等級應在 %d 到 %d 之間(預設值 %d)" + +# commands/indexcmds.c:623 +#: ../../common/compression.c:397 +#, c-format +msgid "compression algorithm \"%s\" does not accept a worker count" +msgstr "壓縮演算法 \"%s\" 不支援工作執行緒數目設定" + +# commands/indexcmds.c:224 +#: ../../common/compression.c:408 +#, c-format +msgid "compression algorithm \"%s\" does not support long-distance mode" +msgstr "壓縮演算法 \"%s\" 不支援長距離模式" + +# command.c:122 +#: ../../common/exec.c:172 +#, c-format +msgid "invalid binary \"%s\": %m" +msgstr "無效的執行檔 \"%s\": %m" + +# command.c:1103 +#: ../../common/exec.c:215 +#, c-format +msgid "could not read binary \"%s\": %m" +msgstr "無法讀取執行檔 \"%s\": %m" + +#: ../../common/exec.c:223 +#, c-format +msgid "could not find a \"%s\" to execute" +msgstr "找不到可執行的 \"%s\"" + +# utils/error/elog.c:1128 +#: ../../common/exec.c:250 +#, c-format +msgid "could not resolve path \"%s\" to absolute form: %m" +msgstr "無法將路徑 \"%s\" 解析為絕對路徑: %m" + +# fe-misc.c:991 +#: ../../common/exec.c:412 parallel.c:1609 +#, c-format +msgid "%s() failed: %m" +msgstr "%s() 失敗: %m" + +# commands/sequence.c:798 executor/execGrouping.c:328 +# executor/execGrouping.c:388 executor/nodeIndexscan.c:1051 lib/dllist.c:43 +# lib/dllist.c:88 libpq/auth.c:637 postmaster/pgstat.c:1006 +# postmaster/pgstat.c:1023 postmaster/pgstat.c:2452 postmaster/pgstat.c:2527 +# postmaster/pgstat.c:2572 postmaster/pgstat.c:2623 +# postmaster/postmaster.c:755 postmaster/postmaster.c:1625 +# postmaster/postmaster.c:2344 storage/buffer/localbuf.c:139 +# storage/file/fd.c:587 storage/file/fd.c:620 storage/file/fd.c:766 +# storage/ipc/sinval.c:789 storage/lmgr/lock.c:497 storage/smgr/md.c:138 +# storage/smgr/md.c:848 storage/smgr/smgr.c:213 utils/adt/cash.c:297 +# utils/adt/cash.c:312 utils/adt/oracle_compat.c:73 +# utils/adt/oracle_compat.c:124 utils/adt/regexp.c:191 +# utils/adt/ri_triggers.c:3471 utils/cache/relcache.c:164 +# utils/cache/relcache.c:178 utils/cache/relcache.c:1130 +# utils/cache/typcache.c:165 utils/cache/typcache.c:487 +# utils/fmgr/dfmgr.c:127 utils/fmgr/fmgr.c:521 utils/fmgr/fmgr.c:532 +# utils/init/miscinit.c:213 utils/init/miscinit.c:234 +# utils/init/miscinit.c:244 utils/misc/guc.c:1898 utils/misc/guc.c:1911 +# utils/misc/guc.c:1924 utils/mmgr/aset.c:337 utils/mmgr/aset.c:503 +# utils/mmgr/aset.c:700 utils/mmgr/aset.c:893 utils/mmgr/portalmem.c:75 +#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 +msgid "out of memory" +msgstr "記憶體不足" + +#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 +#, c-format +msgid "out of memory\n" +msgstr "記憶體不足\n" + +# common.c:78 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "無法複製 null 指標(內部錯誤)\n" + +#: ../../common/wait_error.c:55 +#, c-format +msgid "command not executable" +msgstr "無法執行的命令" + +#: ../../common/wait_error.c:59 +#, c-format +msgid "command not found" +msgstr "找不到命令" + +#: ../../common/wait_error.c:64 +#, c-format +msgid "child process exited with exit code %d" +msgstr "子行程結束,結束碼 %d" + +#: ../../common/wait_error.c:72 +#, c-format +msgid "child process was terminated by exception 0x%X" +msgstr "子行程因異常 0x%X 而停止" + +#: ../../common/wait_error.c:76 +#, c-format +msgid "child process was terminated by signal %d: %s" +msgstr "子行程因信號 %d 而停止: %s" + +#: ../../common/wait_error.c:82 +#, c-format +msgid "child process exited with unrecognized status %d" +msgstr "子行程因不明狀態 %d 而停止" + +# utils/adt/formatting.c:2044 +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "值 \"%s\" 對於 \"%s\" 是無效的" + +#: ../../fe_utils/option_utils.c:76 +#, c-format +msgid "%s must be in range %d..%d" +msgstr "%s 必須在範圍 %d..%d 內" + +#: common.c:132 +#, c-format +msgid "reading extensions" +msgstr "讀取擴充功能" + +#: common.c:135 +#, c-format +msgid "identifying extension members" +msgstr "識別擴充功能成員" + +#: common.c:138 +#, c-format +msgid "reading schemas" +msgstr "讀取 schema" + +#: common.c:147 +#, c-format +msgid "reading user-defined tables" +msgstr "讀取使用者自定資料表" + +#: common.c:152 +#, c-format +msgid "reading user-defined functions" +msgstr "讀取使用者自定函數" + +#: common.c:156 +#, c-format +msgid "reading user-defined types" +msgstr "讀取使用者自定資料型別" + +#: common.c:160 +#, c-format +msgid "reading procedural languages" +msgstr "讀取程序語言" + +#: common.c:163 +#, c-format +msgid "reading user-defined aggregate functions" +msgstr "讀取使用者自定聚合函數" + +#: common.c:166 +#, c-format +msgid "reading user-defined operators" +msgstr "讀取使用者自定操作符" + +#: common.c:169 +#, c-format +msgid "reading user-defined access methods" +msgstr "讀取使用者自定存取方式" + +#: common.c:172 +#, c-format +msgid "reading user-defined operator classes" +msgstr "讀取使用者自定操作符類別" + +#: common.c:175 +#, c-format +msgid "reading user-defined operator families" +msgstr "讀取使用者自定操作符族群" + +#: common.c:178 +#, c-format +msgid "reading user-defined text search parsers" +msgstr "讀取使用者自定文字搜尋解析器" + +#: common.c:181 +#, c-format +msgid "reading user-defined text search templates" +msgstr "讀取使用者自定文字搜尋範本" + +#: common.c:184 +#, c-format +msgid "reading user-defined text search dictionaries" +msgstr "讀取使用者自定文字搜尋字典" + +# sql_help.h:129 +#: common.c:187 +#, c-format +msgid "reading user-defined text search configurations" +msgstr "讀取使用者自定文字搜尋組態" + +#: common.c:190 +#, c-format +msgid "reading user-defined foreign-data wrappers" +msgstr "讀取使用者自定外部資料封裝程式" + +#: common.c:193 +#, c-format +msgid "reading user-defined foreign servers" +msgstr "讀取使用者自定外部伺服器" + +#: common.c:196 +#, c-format +msgid "reading default privileges" +msgstr "讀取預設權限" + +#: common.c:199 +#, c-format +msgid "reading user-defined collations" +msgstr "讀取使用者自定定序" + +#: common.c:202 +#, c-format +msgid "reading user-defined conversions" +msgstr "讀取使用者自定轉換規則" + +#: common.c:205 +#, c-format +msgid "reading type casts" +msgstr "讀取轉型" + +#: common.c:208 +#, c-format +msgid "reading transforms" +msgstr "讀取 transform" + +#: common.c:211 +#, c-format +msgid "reading table inheritance information" +msgstr "讀取資料表繼承資訊" + +#: common.c:214 +#, c-format +msgid "reading event triggers" +msgstr "讀取事件觸發器" + +#: common.c:218 +#, c-format +msgid "finding extension tables" +msgstr "尋找擴充功能資料表" + +#: common.c:222 +#, c-format +msgid "finding inheritance relationships" +msgstr "尋找繼承關係" + +#: common.c:225 +#, c-format +msgid "reading column info for interesting tables" +msgstr "讀取所關注的資料表欄位資訊" + +#: common.c:228 +#, c-format +msgid "flagging inherited columns in subtables" +msgstr "在子資料表中標示繼承的欄位" + +#: common.c:231 +#, c-format +msgid "reading partitioning data" +msgstr "讀取分區資料" + +#: common.c:234 +#, c-format +msgid "reading indexes" +msgstr "讀取索引" + +#: common.c:237 +#, c-format +msgid "flagging indexes in partitioned tables" +msgstr "標示分區資料表中的索引" + +#: common.c:240 +#, c-format +msgid "reading extended statistics" +msgstr "讀取擴展統計資料" + +#: common.c:243 +#, c-format +msgid "reading constraints" +msgstr "讀取約束條件" + +#: common.c:246 +#, c-format +msgid "reading triggers" +msgstr "讀取觸發器" + +#: common.c:249 +#, c-format +msgid "reading rewrite rules" +msgstr "讀取重寫規則" + +#: common.c:252 +#, c-format +msgid "reading policies" +msgstr "讀取政策" + +#: common.c:255 +#, c-format +msgid "reading publications" +msgstr "讀取發布" + +#: common.c:258 +#, c-format +msgid "reading publication membership of tables" +msgstr "讀取資料表的發布成員" + +#: common.c:261 +#, c-format +msgid "reading publication membership of schemas" +msgstr "讀取 schema 的發布成員" + +#: common.c:264 +#, c-format +msgid "reading subscriptions" +msgstr "讀取訂閱" + +#: common.c:327 +#, c-format +msgid "failed sanity check, parent OID %u of table \"%s\" (OID %u) not found" +msgstr "未通過完整性檢查,找不到資料表 \"%2$s\"(OID %3$u)的父 OID %1$u" + +#: common.c:369 +#, c-format +msgid "invalid number of parents %d for table \"%s\"" +msgstr "" + +#: common.c:1049 +#, c-format +msgid "could not parse numeric array \"%s\": too many numbers" +msgstr "無法解析數字陣列 \"%s\": 數字過多" + +#: common.c:1061 +#, c-format +msgid "could not parse numeric array \"%s\": invalid character in number" +msgstr "無法解析數字陣列\"%s\": 數字中有無效字元" + +#: compress_gzip.c:69 compress_gzip.c:183 +#, c-format +msgid "could not initialize compression library: %s" +msgstr "無法初始化壓縮程式庫: %s" + +#: compress_gzip.c:93 +#, c-format +msgid "could not close compression stream: %s" +msgstr "無法關閉壓縮串流: %s" + +#: compress_gzip.c:113 compress_lz4.c:227 compress_zstd.c:109 +#, c-format +msgid "could not compress data: %s" +msgstr "無法壓縮資料: %s" + +#: compress_gzip.c:199 compress_gzip.c:214 +#, c-format +msgid "could not uncompress data: %s" +msgstr "無法解壓縮資料: %s" + +#: compress_gzip.c:221 +#, c-format +msgid "could not close compression library: %s" +msgstr "無法關閉壓縮程式庫: %s" + +# input.c:210 +#: compress_gzip.c:266 compress_gzip.c:295 compress_lz4.c:608 +#: compress_lz4.c:628 compress_lz4.c:647 compress_none.c:97 compress_none.c:140 +#, c-format +msgid "could not read from input file: %s" +msgstr "無法從輸入檔讀取: %s" + +# input.c:210 +#: compress_gzip.c:297 compress_lz4.c:630 compress_none.c:142 +#: compress_zstd.c:371 pg_backup_custom.c:653 pg_backup_directory.c:558 +#: pg_backup_tar.c:725 pg_backup_tar.c:748 +#, c-format +msgid "could not read from input file: end of file" +msgstr "無法從輸入檔讀取: 檔案結束" + +# libpq/be-secure.c:649 +#: compress_lz4.c:157 +#, c-format +msgid "could not create LZ4 decompression context: %s" +msgstr "無法建立 LZ4 解壓縮內容: %s" + +#: compress_lz4.c:180 +#, c-format +msgid "could not decompress: %s" +msgstr "無法解壓縮: %s" + +#: compress_lz4.c:193 +#, c-format +msgid "could not free LZ4 decompression context: %s" +msgstr "無法釋放 LZ4 解壓縮 context: %s" + +#: compress_lz4.c:259 compress_lz4.c:266 compress_lz4.c:680 compress_lz4.c:690 +#, c-format +msgid "could not end compression: %s" +msgstr "無法結束壓縮: %s" + +#: compress_lz4.c:301 +#, c-format +msgid "could not initialize LZ4 compression: %s" +msgstr "無法初始化 LZ4 壓縮: %s" + +#: compress_lz4.c:697 +#, c-format +msgid "could not end decompression: %s" +msgstr "無法結束解壓縮: %s" + +#: compress_zstd.c:66 +#, c-format +msgid "could not set compression parameter \"%s\": %s" +msgstr "無法設定壓縮參數 \"%s\": %s" + +#: compress_zstd.c:78 compress_zstd.c:231 compress_zstd.c:490 +#: compress_zstd.c:498 +#, c-format +msgid "could not initialize compression library" +msgstr "無法初始化壓縮程式庫" + +#: compress_zstd.c:194 compress_zstd.c:308 +#, c-format +msgid "could not decompress data: %s" +msgstr "無法解壓縮資料: %s" + +# input.c:210 +#: compress_zstd.c:373 pg_backup_custom.c:655 +#, c-format +msgid "could not read from input file: %m" +msgstr "無法從輸入檔讀取: %m" + +#: compress_zstd.c:501 +#, c-format +msgid "unhandled mode \"%s\"" +msgstr "未處理的模式 \"%s\"" + +#: parallel.c:251 +#, c-format +msgid "%s() failed: error code %d" +msgstr "%s() 失敗: 錯誤碼 %d" + +# access/transam/xlog.c:3132 +#: parallel.c:959 +#, c-format +msgid "could not create communication channels: %m" +msgstr "無法建立通訊通道: %m" + +# fe-connect.c:1197 +#: parallel.c:1016 +#, c-format +msgid "could not create worker process: %m" +msgstr "無法建立工作行程: %m" + +# access/transam/xlog.c:3720 +#: parallel.c:1146 +#, c-format +msgid "unrecognized command received from leader: \"%s\"" +msgstr "從領導者接收到無法識別的命令: \"%s\"" + +# libpq/hba.c:1437 +#: parallel.c:1189 parallel.c:1427 +#, c-format +msgid "invalid message received from worker: \"%s\"" +msgstr "從工作行程接收到無效的訊息:\"%s\"" + +#: parallel.c:1321 +#, c-format +msgid "" +"could not obtain lock on relation \"%s\"\n" +"This usually means that someone requested an ACCESS EXCLUSIVE lock on the table after the pg_dump parent process had gotten the initial ACCESS SHARE lock on the table." +msgstr "" +"無法在 relation \"%s\" 上獲得鎖定\n" +"這通常表示在 pg_dump 的父行程獲得資料表的初始 ACCESS SHARE 鎖定之後,有人要求對該資料表進行 ACCESS EXCLUSIVE 鎖定。" + +#: parallel.c:1410 +#, c-format +msgid "a worker process died unexpectedly" +msgstr "工作行程意外終止" + +# access/transam/xlog.c:3143 access/transam/xlog.c:3330 +#: parallel.c:1532 parallel.c:1650 +#, c-format +msgid "could not write to the communication channel: %m" +msgstr "無法寫入到通訊通道: %m" + +# port/pg_sema.c:117 port/sysv_sema.c:117 +#: parallel.c:1734 +#, c-format +msgid "pgpipe: could not create socket: error code %d" +msgstr "pgpipe: 無法建立 socket: 錯誤碼 %d" + +# libpq/be-secure.c:789 +#: parallel.c:1745 +#, c-format +msgid "pgpipe: could not bind: error code %d" +msgstr "pgpipe: 綁定失敗: 錯誤碼 %d" + +# port/win32/security.c:39 +#: parallel.c:1752 +#, c-format +msgid "pgpipe: could not listen: error code %d" +msgstr "pgpipe: 無法監聽: 錯誤碼 %d" + +#: parallel.c:1759 +#, c-format +msgid "pgpipe: %s() failed: error code %d" +msgstr "pgpipe: %s() 失敗: 錯誤碼 %d" + +# port/win32/signal.c:239 +#: parallel.c:1770 +#, c-format +msgid "pgpipe: could not create second socket: error code %d" +msgstr "pgpipe: 無法建立第二個 socket: 錯誤碼 %d" + +# port/win32/signal.c:239 +#: parallel.c:1779 +#, c-format +msgid "pgpipe: could not connect socket: error code %d" +msgstr "pgpipe: 無法連線 socket: 錯誤碼 %d" + +# libpq/be-secure.c:807 +#: parallel.c:1788 +#, c-format +msgid "pgpipe: could not accept connection: error code %d" +msgstr "pgpipe: 無法接受連線: 錯誤碼 %d" + +#: pg_backup_archiver.c:276 pg_backup_archiver.c:1603 +#, c-format +msgid "could not close output file: %m" +msgstr "無法關閉輸出檔案: %m" + +#: pg_backup_archiver.c:320 pg_backup_archiver.c:324 +#, c-format +msgid "archive items not in correct section order" +msgstr "封存項目未按正確的區段順序排列" + +# utils/adt/rowtypes.c:178 utils/adt/rowtypes.c:186 +#: pg_backup_archiver.c:330 +#, c-format +msgid "unexpected section code %d" +msgstr "非預期的區段碼 %d" + +# input.c:213 +#: pg_backup_archiver.c:367 +#, c-format +msgid "parallel restore is not supported with this archive file format" +msgstr "封存檔案格式不支援並行還原" + +#: pg_backup_archiver.c:371 +#, c-format +msgid "parallel restore is not supported with archives made by pre-8.0 pg_dump" +msgstr "pg_dump 8.0版以前所建立的封存檔不支援並行還原" + +#: pg_backup_archiver.c:392 +#, c-format +msgid "cannot restore from compressed archive (%s)" +msgstr "無法從壓縮封存檔案(%s)還原" + +#: pg_backup_archiver.c:412 +#, c-format +msgid "connecting to database for restore" +msgstr "連線至資料庫以進行還原" + +#: pg_backup_archiver.c:414 +#, c-format +msgid "direct database connections are not supported in pre-1.3 archives" +msgstr "直接資料庫連線在1.3以前版本的封存檔不支援" + +#: pg_backup_archiver.c:457 +#, c-format +msgid "implied data-only restore" +msgstr "意味著還原 data-only 備份" + +#: pg_backup_archiver.c:523 +#, c-format +msgid "dropping %s %s" +msgstr "刪除 %s %s" + +#: pg_backup_archiver.c:623 +#, c-format +msgid "could not find where to insert IF EXISTS in statement \"%s\"" +msgstr "無法找到在陳述式 \"%s\" 中插入 IF EXISTS 的位置" + +#: pg_backup_archiver.c:778 pg_backup_archiver.c:780 +#, c-format +msgid "warning from original dump file: %s" +msgstr "來自原始備份檔的警告: %s" + +#: pg_backup_archiver.c:795 +#, c-format +msgid "creating %s \"%s.%s\"" +msgstr "建立 %s \"%s.%s\"" + +#: pg_backup_archiver.c:798 +#, c-format +msgid "creating %s \"%s\"" +msgstr "建立 %s \"%s\"" + +#: pg_backup_archiver.c:848 +#, c-format +msgid "connecting to new database \"%s\"" +msgstr "連線至新資料庫 \"%s\"" + +#: pg_backup_archiver.c:875 +#, c-format +msgid "processing %s" +msgstr "處理 %s" + +#: pg_backup_archiver.c:897 +#, c-format +msgid "processing data for table \"%s.%s\"" +msgstr "處理資料表 \"%s.%s\" 的資料" + +#: pg_backup_archiver.c:967 +#, c-format +msgid "executing %s %s" +msgstr "執行 %s %s" + +#: pg_backup_archiver.c:1008 +#, c-format +msgid "disabling triggers for %s" +msgstr "停用 %s 的觸發器" + +#: pg_backup_archiver.c:1034 +#, c-format +msgid "enabling triggers for %s" +msgstr "啟動 %s 的觸發器" + +#: pg_backup_archiver.c:1099 +#, c-format +msgid "internal error -- WriteData cannot be called outside the context of a DataDumper routine" +msgstr "內部錯誤 - WriteData 不可在 DataDumper 程序的 context 之外呼叫" + +#: pg_backup_archiver.c:1287 +#, c-format +msgid "large-object output not supported in chosen format" +msgstr "所選格式不支援大物件的輸出" + +#: pg_backup_archiver.c:1345 +#, c-format +msgid "restored %d large object" +msgid_plural "restored %d large objects" +msgstr[0] "已還原 %d 個大物件" + +#: pg_backup_archiver.c:1366 pg_backup_tar.c:668 +#, c-format +msgid "restoring large object with OID %u" +msgstr "還原 OID 為 %u 的大物件" + +#: pg_backup_archiver.c:1378 +#, c-format +msgid "could not create large object %u: %s" +msgstr "無法建立大物件 %u: %s" + +# fe-lobj.c:410 +# fe-lobj.c:495 +#: pg_backup_archiver.c:1383 pg_dump.c:3718 +#, c-format +msgid "could not open large object %u: %s" +msgstr "無法開啟大型物件 %u: %s" + +# fe-lobj.c:410 +# fe-lobj.c:495 +#: pg_backup_archiver.c:1439 +#, c-format +msgid "could not open TOC file \"%s\": %m" +msgstr "無法開啟 TOC 檔 \"%s\": %m" + +#: pg_backup_archiver.c:1467 +#, c-format +msgid "line ignored: %s" +msgstr "忽略行: %s" + +#: pg_backup_archiver.c:1474 +#, c-format +msgid "could not find entry for ID %d" +msgstr "找不到 ID 為 %d 的項目" + +#: pg_backup_archiver.c:1497 pg_backup_directory.c:221 +#: pg_backup_directory.c:606 +#, c-format +msgid "could not close TOC file: %m" +msgstr "無法關閉 TOC 檔: %m" + +#: pg_backup_archiver.c:1584 pg_backup_custom.c:156 pg_backup_directory.c:332 +#: pg_backup_directory.c:593 pg_backup_directory.c:658 +#: pg_backup_directory.c:676 pg_dumpall.c:501 +#, c-format +msgid "could not open output file \"%s\": %m" +msgstr "無法開啟輸出檔 \"%s\": %m" + +#: pg_backup_archiver.c:1586 pg_backup_custom.c:162 +#, c-format +msgid "could not open output file: %m" +msgstr "無法開啟輸出檔: %m" + +#: pg_backup_archiver.c:1669 +#, 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] "已寫入 %zu 位元組的大物件資料(結果 = %d)" + +#: pg_backup_archiver.c:1675 +#, c-format +msgid "could not write to large object: %s" +msgstr "無法寫入大物件: %s" + +#: pg_backup_archiver.c:1765 +#, c-format +msgid "while INITIALIZING:" +msgstr "當 INITIALIZING:" + +#: pg_backup_archiver.c:1770 +#, c-format +msgid "while PROCESSING TOC:" +msgstr "當 PROCESSING TOC:" + +#: pg_backup_archiver.c:1775 +#, c-format +msgid "while FINALIZING:" +msgstr "當 FINALIZING:" + +#: pg_backup_archiver.c:1780 +#, c-format +msgid "from TOC entry %d; %u %u %s %s %s" +msgstr "從 TOC 項目 %d; %u %u %s %s %s" + +#: pg_backup_archiver.c:1856 +#, c-format +msgid "bad dumpId" +msgstr "不正確的 dumpId" + +#: pg_backup_archiver.c:1877 +#, c-format +msgid "bad table dumpId for TABLE DATA item" +msgstr "TABLE DATA 項目的資料表 dumpId 不正確" + +#: pg_backup_archiver.c:1969 +#, c-format +msgid "unexpected data offset flag %d" +msgstr "非預期的資料位移標記 %d" + +#: pg_backup_archiver.c:1982 +#, c-format +msgid "file offset in dump file is too large" +msgstr "備份檔中的檔案位移過大" + +# utils/mb/encnames.c:445 +#: pg_backup_archiver.c:2093 +#, c-format +msgid "directory name too long: \"%s\"" +msgstr "目錄名稱過長: \"%s\"" + +#: pg_backup_archiver.c:2143 +#, c-format +msgid "directory \"%s\" does not appear to be a valid archive (\"toc.dat\" does not exist)" +msgstr "目錄 \"%s\" 似乎不是有效的封存檔(\"toc.dat\" 不存在)" + +#: pg_backup_archiver.c:2151 pg_backup_custom.c:173 pg_backup_custom.c:816 +#: pg_backup_directory.c:206 pg_backup_directory.c:395 +#, c-format +msgid "could not open input file \"%s\": %m" +msgstr "無法開啟輸入檔 \"%s\": %m" + +#: pg_backup_archiver.c:2158 pg_backup_custom.c:179 +#, c-format +msgid "could not open input file: %m" +msgstr "無法開啟輸入檔: %m" + +#: pg_backup_archiver.c:2164 +#, c-format +msgid "could not read input file: %m" +msgstr "無法讀取輸入檔: %m" + +#: pg_backup_archiver.c:2166 +#, c-format +msgid "input file is too short (read %lu, expected 5)" +msgstr "輸入檔過短(讀取 %lu,預期 5)" + +#: pg_backup_archiver.c:2198 +#, c-format +msgid "input file appears to be a text format dump. Please use psql." +msgstr "輸入檔似乎是文字格式備份,請用 psql。" + +#: pg_backup_archiver.c:2204 +#, c-format +msgid "input file does not appear to be a valid archive (too short?)" +msgstr "輸入檔似乎不是有效的封存檔(太短?)" + +#: pg_backup_archiver.c:2210 +#, c-format +msgid "input file does not appear to be a valid archive" +msgstr "輸入檔似乎不是有效的封存檔" + +#: pg_backup_archiver.c:2219 +#, c-format +msgid "could not close input file: %m" +msgstr "無法關閉輸入檔: %m" + +# commands/copy.c:1031 +#: pg_backup_archiver.c:2297 +#, c-format +msgid "could not open stdout for appending: %m" +msgstr "無法開啟 stdout 以追加內容: %m" + +#: pg_backup_archiver.c:2342 +#, c-format +msgid "unrecognized file format \"%d\"" +msgstr "無法辨識的檔案格式 \"%d\"" + +#: pg_backup_archiver.c:2423 pg_backup_archiver.c:4448 +#, c-format +msgid "finished item %d %s %s" +msgstr "已完成項目 %d %s %s" + +#: pg_backup_archiver.c:2427 pg_backup_archiver.c:4461 +#, c-format +msgid "worker process failed: exit code %d" +msgstr "工作行程失敗: 結束碼 %d" + +#: pg_backup_archiver.c:2548 +#, c-format +msgid "entry ID %d out of range -- perhaps a corrupt TOC" +msgstr "項目 ID %d 超出範圍 - 可能是 TOC 損壞" + +# commands/dbcommands.c:138 +#: pg_backup_archiver.c:2628 +#, c-format +msgid "restoring tables WITH OIDS is not supported anymore" +msgstr "不再支援還原 WITH OIDS 的資料表" + +# utils/adt/encode.c:55 utils/adt/encode.c:91 +#: pg_backup_archiver.c:2710 +#, c-format +msgid "unrecognized encoding \"%s\"" +msgstr "無法識別的編碼 \"%s\"" + +#: pg_backup_archiver.c:2715 +#, c-format +msgid "invalid ENCODING item: %s" +msgstr "無效的 ENCODING 項目: %s" + +#: pg_backup_archiver.c:2733 +#, c-format +msgid "invalid STDSTRINGS item: %s" +msgstr "無效的 STDSTRINGS 項目: %s" + +#: pg_backup_archiver.c:2758 +#, c-format +msgid "schema \"%s\" not found" +msgstr "找不到 schema \"%s\"" + +# utils/adt/date.c:2510 utils/adt/timestamp.c:3793 utils/adt/timestamp.c:3942 +#: pg_backup_archiver.c:2765 +#, c-format +msgid "table \"%s\" not found" +msgstr "找不到資料表 \"%s\"" + +# utils/adt/date.c:2510 utils/adt/timestamp.c:3793 utils/adt/timestamp.c:3942 +#: pg_backup_archiver.c:2772 +#, c-format +msgid "index \"%s\" not found" +msgstr "找不到索引 \"%s\"" + +# utils/adt/date.c:2510 utils/adt/timestamp.c:3793 utils/adt/timestamp.c:3942 +#: pg_backup_archiver.c:2779 +#, c-format +msgid "function \"%s\" not found" +msgstr "找不到函數 \"%s\"" + +# utils/adt/date.c:2510 utils/adt/timestamp.c:3793 utils/adt/timestamp.c:3942 +#: pg_backup_archiver.c:2786 +#, c-format +msgid "trigger \"%s\" not found" +msgstr "找不到觸發器 \"%s\"" + +#: pg_backup_archiver.c:3183 +#, c-format +msgid "could not set session user to \"%s\": %s" +msgstr "無法將工作階段使用者設為 \"%s\": %s" + +#: pg_backup_archiver.c:3315 +#, c-format +msgid "could not set search_path to \"%s\": %s" +msgstr "無法將 search_path 設為 \"%s\": %s" + +# access/transam/slru.c:930 commands/tablespace.c:529 +# commands/tablespace.c:694 utils/adt/misc.c:174 +#: pg_backup_archiver.c:3376 +#, c-format +msgid "could not set default_tablespace to %s: %s" +msgstr "無法將 default_tablespace 設為 %s: %s" + +#: pg_backup_archiver.c:3425 +#, c-format +msgid "could not set default_table_access_method: %s" +msgstr "無法設定 default_table_access_method: %s" + +#: pg_backup_archiver.c:3530 +#, c-format +msgid "don't know how to set owner for object type \"%s\"" +msgstr "不知道如何設定物件型別 \"%s\" 的擁有者" + +#: pg_backup_archiver.c:3752 +#, c-format +msgid "did not find magic string in file header" +msgstr "檔案標頭中找不到魔術字串" + +#: pg_backup_archiver.c:3766 +#, c-format +msgid "unsupported version (%d.%d) in file header" +msgstr "檔案標頭中的版本不受支援(%d.%d)" + +#: pg_backup_archiver.c:3771 +#, c-format +msgid "sanity check on integer size (%lu) failed" +msgstr "整數大小(%lu)的完整性檢查失敗" + +#: pg_backup_archiver.c:3775 +#, c-format +msgid "archive was made on a machine with larger integers, some operations might fail" +msgstr "封存檔是在支援較大整數的電腦上建立的,某些操作可能會失敗" + +#: pg_backup_archiver.c:3785 +#, c-format +msgid "expected format (%d) differs from format found in file (%d)" +msgstr "預期的格式(%d)與檔案中找到的格式(%d)不同" + +#: pg_backup_archiver.c:3807 +#, c-format +msgid "archive is compressed, but this installation does not support compression (%s) -- no data will be available" +msgstr "封存檔已被壓縮,但是程式不支援壓縮法(%s) -- 無法讀取資料" + +#: pg_backup_archiver.c:3843 +#, c-format +msgid "invalid creation date in header" +msgstr "標頭中的建立日期無效" + +#: pg_backup_archiver.c:3977 +#, c-format +msgid "processing item %d %s %s" +msgstr "處理項目 %d %s %s" + +#: pg_backup_archiver.c:4052 +#, c-format +msgid "entering main parallel loop" +msgstr "進入主要並行迴圈" + +#: pg_backup_archiver.c:4063 +#, c-format +msgid "skipping item %d %s %s" +msgstr "跳過項目 %d %s %s" + +#: pg_backup_archiver.c:4072 +#, c-format +msgid "launching item %d %s %s" +msgstr "啟動項目 %d %s %s" + +#: pg_backup_archiver.c:4126 +#, c-format +msgid "finished main parallel loop" +msgstr "完成主要並行迴圈" + +#: pg_backup_archiver.c:4162 +#, c-format +msgid "processing missed item %d %s %s" +msgstr "處理遺漏的項目 %d %s %s" + +#: pg_backup_archiver.c:4767 +#, c-format +msgid "table \"%s\" could not be created, will not restore its data" +msgstr "無法建立資料表 \"%s\",將不會還原資料" + +#: pg_backup_custom.c:380 pg_backup_null.c:147 +#, c-format +msgid "invalid OID for large object" +msgstr "大物件的 OID 無效" + +#: pg_backup_custom.c:445 pg_backup_custom.c:511 pg_backup_custom.c:640 +#: pg_backup_custom.c:874 pg_backup_tar.c:1014 pg_backup_tar.c:1019 +#, c-format +msgid "error during file seek: %m" +msgstr "檔案 seek 時發生錯誤: %m" + +#: pg_backup_custom.c:484 +#, c-format +msgid "data block %d has wrong seek position" +msgstr "資料區塊 %d 的 seek 位置錯誤" + +#: pg_backup_custom.c:501 +#, c-format +msgid "unrecognized data block type (%d) while searching archive" +msgstr "搜尋封存檔時發現無法識別的資料區塊類型(%d)" + +#: pg_backup_custom.c:523 +#, c-format +msgid "could not find block ID %d in archive -- possibly due to out-of-order restore request, which cannot be handled due to non-seekable input file" +msgstr "無法在封存檔中找到區塊 ID %d -- 可能是因為非循序還原請求,因不能 seek 輸入檔導致無法處理" + +#: pg_backup_custom.c:528 +#, c-format +msgid "could not find block ID %d in archive -- possibly corrupt archive" +msgstr "無法在封存檔中找到區塊編號 %d -- 可能是因為封存檔損壞" + +#: pg_backup_custom.c:535 +#, c-format +msgid "found unexpected block ID (%d) when reading data -- expected %d" +msgstr "讀取資料時發現非預期的區塊 ID (%d) -- 預期是 %d" + +#: pg_backup_custom.c:549 +#, c-format +msgid "unrecognized data block type %d while restoring archive" +msgstr "還原封存檔時發現無法識別的資料區塊類型 %d" + +#: pg_backup_custom.c:755 pg_backup_custom.c:807 pg_backup_custom.c:952 +#: pg_backup_tar.c:1017 +#, c-format +msgid "could not determine seek position in archive file: %m" +msgstr "無法確定封存檔中的 seek 位置: %m" + +#: pg_backup_custom.c:771 pg_backup_custom.c:811 +#, c-format +msgid "could not close archive file: %m" +msgstr "無法關閉封存檔: %m" + +#: pg_backup_custom.c:794 +#, c-format +msgid "can only reopen input archives" +msgstr "只能重新開啟輸入封存檔" + +#: pg_backup_custom.c:801 +#, c-format +msgid "parallel restore from standard input is not supported" +msgstr "不支援來自標準輸入的並行還原" + +#: pg_backup_custom.c:803 +#, c-format +msgid "parallel restore from non-seekable file is not supported" +msgstr "不支援從不可 seek 的檔案進行並行還原" + +#: pg_backup_custom.c:819 +#, c-format +msgid "could not set seek position in archive file: %m" +msgstr "無法設定封存檔的 seek 位置: %m" + +#: pg_backup_custom.c:898 +#, c-format +msgid "compressor active" +msgstr "壓縮器啟用" + +#: pg_backup_db.c:42 +#, c-format +msgid "could not get server_version from libpq" +msgstr "無法從 libpq 取得 server_version" + +#: pg_backup_db.c:53 pg_dumpall.c:1809 +#, c-format +msgid "aborting because of server version mismatch" +msgstr "因伺服器版本不符而中止" + +#: pg_backup_db.c:54 pg_dumpall.c:1810 +#, c-format +msgid "server version: %s; %s version: %s" +msgstr "伺服器版本: %s; %s 版本: %s" + +#: pg_backup_db.c:120 +#, c-format +msgid "already connected to a database" +msgstr "已連線至資料庫" + +#: pg_backup_db.c:128 pg_backup_db.c:178 pg_dumpall.c:1656 pg_dumpall.c:1758 +msgid "Password: " +msgstr "密碼: " + +#: pg_backup_db.c:170 +#, c-format +msgid "could not connect to database" +msgstr "無法連線至資料庫" + +# postmaster/postmaster.c:2603 +#: pg_backup_db.c:187 +#, c-format +msgid "reconnection failed: %s" +msgstr "重新連線失敗: %s" + +# commands/vacuum.c:2258 commands/vacuumlazy.c:489 commands/vacuumlazy.c:770 +# nodes/print.c:86 storage/lmgr/deadlock.c:888 tcop/postgres.c:3285 +#: 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 +#, c-format +msgid "%s" +msgstr "" + +#: pg_backup_db.c:271 pg_dumpall.c:1872 pg_dumpall.c:1895 +#, c-format +msgid "query failed: %s" +msgstr "查詢失敗: %s" + +#: pg_backup_db.c:273 pg_dumpall.c:1873 pg_dumpall.c:1896 +#, c-format +msgid "Query was: %s" +msgstr "查詢是: %s" + +#: pg_backup_db.c:315 +#, c-format +msgid "query returned %d row instead of one: %s" +msgid_plural "query returned %d rows instead of one: %s" +msgstr[0] "查詢傳回 %d 筆資料,而非一筆資料: %s" + +#: pg_backup_db.c:351 +#, c-format +msgid "%s: %sCommand was: %s" +msgstr "%s: %s命令是: %s" + +#: pg_backup_db.c:407 pg_backup_db.c:481 pg_backup_db.c:488 +msgid "could not execute query" +msgstr "無法執行查詢" + +#: pg_backup_db.c:460 +#, c-format +msgid "error returned by PQputCopyData: %s" +msgstr "PQputCopyData 返回的錯誤: %s" + +#: pg_backup_db.c:509 +#, c-format +msgid "error returned by PQputCopyEnd: %s" +msgstr "PQputCopyEnd 返回的錯誤: %s" + +# describe.c:933 +#: pg_backup_db.c:515 +#, c-format +msgid "COPY failed for table \"%s\": %s" +msgstr "COPY 資料表 \"%s\" 失敗: %s" + +# commands/copy.c:453 +#: pg_backup_db.c:521 pg_dump.c:2202 +#, c-format +msgid "unexpected extra results during COPY of table \"%s\"" +msgstr "在 COPY 資料表 \"%s\" 時出現非預期的額外結果" + +#: pg_backup_db.c:533 +msgid "could not start database transaction" +msgstr "無法開始資料庫交易" + +#: pg_backup_db.c:541 +msgid "could not commit database transaction" +msgstr "無法提交資料庫交易" + +#: pg_backup_directory.c:155 +#, c-format +msgid "no output directory specified" +msgstr "未指定輸出目錄" + +# access/transam/slru.c:967 commands/tablespace.c:577 +# commands/tablespace.c:721 +#: pg_backup_directory.c:184 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "無法讀取目錄 \"%s\": %m" + +# access/transam/slru.c:930 commands/tablespace.c:529 +# commands/tablespace.c:694 utils/adt/misc.c:174 +#: pg_backup_directory.c:188 +#, c-format +msgid "could not close directory \"%s\": %m" +msgstr "無法關閉目錄 \"%s\": %m" + +# commands/tablespace.c:154 commands/tablespace.c:162 +# commands/tablespace.c:168 +#: pg_backup_directory.c:194 +#, c-format +msgid "could not create directory \"%s\": %m" +msgstr "無法建立目錄 \"%s\": %m" + +#: pg_backup_directory.c:356 pg_backup_directory.c:499 +#: pg_backup_directory.c:537 +#, c-format +msgid "could not write to output file: %s" +msgstr "無法寫入輸出檔: %s" + +#: pg_backup_directory.c:374 +#, c-format +msgid "could not close data file: %m" +msgstr "無法關閉資料檔: %m" + +# access/transam/slru.c:680 access/transam/xlog.c:1567 +# access/transam/xlog.c:1691 access/transam/xlog.c:3013 +#: pg_backup_directory.c:407 +#, c-format +msgid "could not close data file \"%s\": %m" +msgstr "無法關閉資料檔 \"%s\": %m" + +#: pg_backup_directory.c:448 +#, c-format +msgid "could not open large object TOC file \"%s\" for input: %m" +msgstr "無法開啟大物件 TOC 檔 \"%s\" 進行輸入: %m" + +#: pg_backup_directory.c:459 +#, c-format +msgid "invalid line in large object TOC file \"%s\": \"%s\"" +msgstr "大物件 TOC 檔 \"%s\" 中有無效的行: \"%s\"" + +#: pg_backup_directory.c:468 +#, c-format +msgid "error reading large object TOC file \"%s\"" +msgstr "無法讀取大物件檔 \"%s\"" + +#: pg_backup_directory.c:472 +#, c-format +msgid "could not close large object TOC file \"%s\": %m" +msgstr "無法關閉大物件 TOC 檔 \"%s\": %m" + +#: pg_backup_directory.c:694 +#, c-format +msgid "could not close LO data file: %m" +msgstr "無法關閉 LO 資料檔: %m" + +# postmaster/syslogger.c:703 +#: pg_backup_directory.c:704 +#, c-format +msgid "could not write to LOs TOC file: %s" +msgstr "無法寫入 LO TOC 檔: %s" + +#: pg_backup_directory.c:720 +#, c-format +msgid "could not close LOs TOC file: %m" +msgstr "無法關閉 LO TOC 檔: %m" + +# utils/mb/encnames.c:445 +#: pg_backup_directory.c:739 +#, c-format +msgid "file name too long: \"%s\"" +msgstr "檔案名稱過長: \"%s\"" + +#: pg_backup_null.c:74 +#, c-format +msgid "this format cannot be read" +msgstr "無法讀取此格式" + +#: pg_backup_tar.c:172 +#, c-format +msgid "could not open TOC file \"%s\" for output: %m" +msgstr "無法開啟 TOC 檔 \"%s\" 進行輸出: %m" + +#: pg_backup_tar.c:179 +#, c-format +msgid "could not open TOC file for output: %m" +msgstr "無法開啟 TOC 檔進行輸出: %m" + +#: pg_backup_tar.c:198 pg_backup_tar.c:334 pg_backup_tar.c:389 +#: pg_backup_tar.c:405 pg_backup_tar.c:891 +#, c-format +msgid "compression is not supported by tar archive format" +msgstr "壓縮並不支援 tar 封存檔格式" + +#: pg_backup_tar.c:206 +#, c-format +msgid "could not open TOC file \"%s\" for input: %m" +msgstr "無法開啟 TOC 檔 \"%s\" 進行輸入: %m" + +#: pg_backup_tar.c:213 +#, c-format +msgid "could not open TOC file for input: %m" +msgstr "無法開啟 TOC 檔進行輸入: %m" + +#: pg_backup_tar.c:322 +#, c-format +msgid "could not find file \"%s\" in archive" +msgstr "無法在封存檔中找到檔案 \"%s\"" + +#: pg_backup_tar.c:382 +#, c-format +msgid "could not generate temporary file name: %m" +msgstr "無法產生暫存檔名: %m" + +#: pg_backup_tar.c:623 +#, c-format +msgid "unexpected COPY statement syntax: \"%s\"" +msgstr "非預期的 COPY 敘述語法: \"%s\"" + +#: pg_backup_tar.c:888 +#, c-format +msgid "invalid OID for large object (%u)" +msgstr "大物件(%u)的 OID 無效" + +# command.c:1148 +#: pg_backup_tar.c:1033 +#, c-format +msgid "could not close temporary file: %m" +msgstr "無法關閉暫存檔: %m" + +#: pg_backup_tar.c:1036 +#, c-format +msgid "actual file length (%lld) does not match expected (%lld)" +msgstr "實際檔案長度(%lld)與預期長度(%lld)不符" + +#: pg_backup_tar.c:1082 pg_backup_tar.c:1113 +#, c-format +msgid "could not find header for file \"%s\" in tar archive" +msgstr "在 tar 封存檔中找不到檔案 \"%s\" 的標頭" + +#: pg_backup_tar.c:1100 +#, c-format +msgid "restoring data out of order is not supported in this archive format: \"%s\" is required, but comes before \"%s\" in the archive file." +msgstr "這種封存檔格式不支援非循序還原: 需要的是 \"%s\",但在封存檔案中卻出現在 \"%s\" 之前。" + +#: pg_backup_tar.c:1147 +#, c-format +msgid "incomplete tar header found (%lu byte)" +msgid_plural "incomplete tar header found (%lu bytes)" +msgstr[0] "找到不完整的 tar 標頭(%lu 位元組)" + +#: pg_backup_tar.c:1186 +#, c-format +msgid "corrupt tar header found in %s (expected %d, computed %d) file position %llu" +msgstr "在 %s 中發現損壞的 tar 標頭(預期是 %d,計算得到 %d)檔案位置 %llu" + +# commands/variable.c:403 +#: pg_backup_utils.c:54 +#, c-format +msgid "unrecognized section name: \"%s\"" +msgstr "無法識別的區段名稱: \" %s \"" + +# tcop/postgres.c:2636 tcop/postgres.c:2652 +#: pg_backup_utils.c:55 pg_dump.c:662 pg_dump.c:679 pg_dumpall.c:365 +#: pg_dumpall.c:375 pg_dumpall.c:383 pg_dumpall.c:391 pg_dumpall.c:398 +#: pg_dumpall.c:408 pg_dumpall.c:483 pg_restore.c:291 pg_restore.c:307 +#: pg_restore.c:321 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "用 \"%s --help\" 取得更多資訊。" + +#: pg_backup_utils.c:66 +#, c-format +msgid "out of on_exit_nicely slots" +msgstr "on_exit_nicely 槽已用盡" + +#: pg_dump.c:677 pg_dumpall.c:373 pg_restore.c:305 +#, c-format +msgid "too many command-line arguments (first is \"%s\")" +msgstr "命令列引數過多(第一個是 \"%s\")" + +#: pg_dump.c:696 pg_restore.c:328 +#, c-format +msgid "options -s/--schema-only and -a/--data-only cannot be used together" +msgstr "無法同時使用選項 -s/--schema-only 和 -a/--data-only" + +#: pg_dump.c:699 +#, c-format +msgid "options -s/--schema-only and --include-foreign-data cannot be used together" +msgstr "無法同時使用選項 -s/--schema-only 和 --include-foreign-data" + +#: pg_dump.c:702 +#, c-format +msgid "option --include-foreign-data is not supported with parallel backup" +msgstr "選項 --include-foreign-data 不支援並行備份" + +#: pg_dump.c:705 pg_restore.c:331 +#, c-format +msgid "options -c/--clean and -a/--data-only cannot be used together" +msgstr "無法同時使用選項 -c/--clean 和 -a/--data-only" + +#: pg_dump.c:708 pg_dumpall.c:403 pg_restore.c:356 +#, c-format +msgid "option --if-exists requires option -c/--clean" +msgstr "選項 --if-exists 需要選項 -c/--clean" + +#: pg_dump.c:715 +#, c-format +msgid "option --on-conflict-do-nothing requires option --inserts, --rows-per-insert, or --column-inserts" +msgstr "選項 --on-conflict-do-nothing 需要選項 --inserts 或 --rows-per-insert 或 --column-inserts" + +# access/transam/xlog.c:3720 +#: pg_dump.c:744 +#, c-format +msgid "unrecognized compression algorithm: \"%s\"" +msgstr "無法識別的壓縮演算法: \" %s \"" + +# fe-connect.c:2675 +#: pg_dump.c:751 +#, c-format +msgid "invalid compression specification: %s" +msgstr "無效的壓縮規格: %s" + +#: pg_dump.c:764 +#, c-format +msgid "compression option \"%s\" is not currently supported by pg_dump" +msgstr "pg_dump 目前不支援壓縮選項 \"%s\"" + +# input.c:213 +#: pg_dump.c:776 +#, c-format +msgid "parallel backup only supported by the directory format" +msgstr "並行備份只支援目錄格式" + +#: pg_dump.c:822 +#, c-format +msgid "last built-in OID is %u" +msgstr "最後的內建 OID 為 %u" + +# describe.c:1542 +#: pg_dump.c:831 +#, c-format +msgid "no matching schemas were found" +msgstr "找不到符合的 schema" + +# describe.c:1542 +#: pg_dump.c:848 +#, c-format +msgid "no matching tables were found" +msgstr "找不到符合的資料表" + +# describe.c:1542 +#: pg_dump.c:876 +#, c-format +msgid "no matching extensions were found" +msgstr "找不到符合的擴充功能" + +#: pg_dump.c:1056 +#, c-format +msgid "" +"%s dumps a database as a text file or to other formats.\n" +"\n" +msgstr "" +"%s 會將資料庫備份為文字檔或其他格式。\n" +"\n" + +#: pg_dump.c:1057 pg_dumpall.c:630 pg_restore.c:433 +#, c-format +msgid "Usage:\n" +msgstr "用法:\n" + +#: pg_dump.c:1058 +#, c-format +msgid " %s [OPTION]... [DBNAME]\n" +msgstr "" + +#: pg_dump.c:1060 pg_dumpall.c:633 pg_restore.c:436 +#, c-format +msgid "" +"\n" +"General options:\n" +msgstr "" +"\n" +"一般選項:\n" + +#: pg_dump.c:1061 +#, c-format +msgid " -f, --file=FILENAME output file or directory name\n" +msgstr " -f, --file=FILENAME 輸出檔案或目錄的名稱\n" + +#: pg_dump.c:1062 +#, c-format +msgid "" +" -F, --format=c|d|t|p output file format (custom, directory, tar,\n" +" plain text (default))\n" +msgstr " -F, --format=c|d|t|p 輸出檔案格式(自訂、目錄、tar、純文字(預設))\n" + +#: pg_dump.c:1064 +#, c-format +msgid " -j, --jobs=NUM use this many parallel jobs to dump\n" +msgstr " -j, --jobs=NUM 使用這麼多並行作業來備份\n" + +#: pg_dump.c:1065 pg_dumpall.c:635 +#, c-format +msgid " -v, --verbose verbose mode\n" +msgstr " -v, --verbose 詳細模式\n" + +#: pg_dump.c:1066 pg_dumpall.c:636 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version 顯示版本,然後結束\n" + +#: pg_dump.c:1067 +#, c-format +msgid "" +" -Z, --compress=METHOD[:DETAIL]\n" +" compress as specified\n" +msgstr "" +" -Z, --compress=METHOD[:DETAIL]\n" +" 根據指定的方式壓縮\n" + +#: pg_dump.c:1069 pg_dumpall.c:637 +#, c-format +msgid " --lock-wait-timeout=TIMEOUT fail after waiting TIMEOUT for a table lock\n" +msgstr " --lock-wait-timeout=TIMEOUT 等待資料表鎖定超過 TIMEOUT 後失敗\n" + +#: pg_dump.c:1070 pg_dumpall.c:664 +#, c-format +msgid " --no-sync do not wait for changes to be written safely to disk\n" +msgstr " --no-sync 不等待變更被安全寫入磁碟\n" + +#: pg_dump.c:1071 pg_dumpall.c:638 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help 顯示說明,然後結束\n" + +#: pg_dump.c:1073 pg_dumpall.c:639 +#, c-format +msgid "" +"\n" +"Options controlling the output content:\n" +msgstr "" +"\n" +"控制輸出內容的選項:\n" + +#: pg_dump.c:1074 pg_dumpall.c:640 +#, c-format +msgid " -a, --data-only dump only the data, not the schema\n" +msgstr " -a, --data-only 只備份資料,不含 schema\n" + +#: pg_dump.c:1075 +#, c-format +msgid " -b, --large-objects include large objects in dump\n" +msgstr " -b, --large-objects 在備份中包含大物件\n" + +#: pg_dump.c:1076 +#, c-format +msgid " --blobs (same as --large-objects, deprecated)\n" +msgstr " --blobs (同 --large-objects,已作廢)\n" + +#: pg_dump.c:1077 +#, c-format +msgid " -B, --no-large-objects exclude large objects in dump\n" +msgstr " -B, --no-large-objects 在備份中排除大物件\n" + +#: pg_dump.c:1078 +#, c-format +msgid " --no-blobs (same as --no-large-objects, deprecated)\n" +msgstr " --no-blobs (同 --no-large-objects,已作廢)\n" + +#: pg_dump.c:1079 pg_restore.c:447 +#, c-format +msgid " -c, --clean clean (drop) database objects before recreating\n" +msgstr " -c, --clean 重建前清理(刪除)資料庫物件\n" + +#: pg_dump.c:1080 +#, c-format +msgid " -C, --create include commands to create database in dump\n" +msgstr " -C, --create 在備份中包含建立資料庫的命令\n" + +#: pg_dump.c:1081 +#, c-format +msgid " -e, --extension=PATTERN dump the specified extension(s) only\n" +msgstr " -e, --extension=PATTERN 只備份指定的擴充功能\n" + +#: pg_dump.c:1082 pg_dumpall.c:642 +#, c-format +msgid " -E, --encoding=ENCODING dump the data in encoding ENCODING\n" +msgstr " -E, --encoding=ENCODING 以編碼 ENCODING 備份資料\n" + +#: pg_dump.c:1083 +#, c-format +msgid " -n, --schema=PATTERN dump the specified schema(s) only\n" +msgstr " -n, --schema=PATTERN 只備份指定的 schema\n" + +#: pg_dump.c:1084 +#, c-format +msgid " -N, --exclude-schema=PATTERN do NOT dump the specified schema(s)\n" +msgstr " -N, --exclude-schema=PATTERN 不要備份指定的 schema\n" + +#: pg_dump.c:1085 +#, c-format +msgid "" +" -O, --no-owner skip restoration of object ownership in\n" +" plain-text format\n" +msgstr " -O, --no-owner 在純文字格式跳過還原物件擁有權\n" + +#: pg_dump.c:1087 pg_dumpall.c:646 +#, c-format +msgid " -s, --schema-only dump only the schema, no data\n" +msgstr " -s, --schema-only 只備份 schema,不含資料\n" + +#: pg_dump.c:1088 +#, c-format +msgid " -S, --superuser=NAME superuser user name to use in plain-text format\n" +msgstr " -S, --superuser=NAME 在純文字格式使用的超級使用者名稱\n" + +#: pg_dump.c:1089 +#, c-format +msgid " -t, --table=PATTERN dump only the specified table(s)\n" +msgstr " -t, --table=PATTERN 只備份指定的資料表\n" + +#: pg_dump.c:1090 +#, c-format +msgid " -T, --exclude-table=PATTERN do NOT dump the specified table(s)\n" +msgstr " -T, --exclude-table=PATTERN 不要備份指定的資料表\n" + +#: pg_dump.c:1091 pg_dumpall.c:649 +#, c-format +msgid " -x, --no-privileges do not dump privileges (grant/revoke)\n" +msgstr " -x, --no-privileges 不要備份權限(grant/revoke)\n" + +#: pg_dump.c:1092 pg_dumpall.c:650 +#, c-format +msgid " --binary-upgrade for use by upgrade utilities only\n" +msgstr " --binary-upgrade 只供升級工具使用\n" + +#: pg_dump.c:1093 pg_dumpall.c:651 +#, c-format +msgid " --column-inserts dump data as INSERT commands with column names\n" +msgstr " --column-inserts 將資料備份為包含欄位名稱的 INSERT 命令\n" + +#: pg_dump.c:1094 pg_dumpall.c:652 +#, c-format +msgid " --disable-dollar-quoting disable dollar quoting, use SQL standard quoting\n" +msgstr " --disable-dollar-quoting 停用錢號引號,使用 SQL 標準引號\n" + +#: pg_dump.c:1095 pg_dumpall.c:653 pg_restore.c:464 +#, c-format +msgid " --disable-triggers disable triggers during data-only restore\n" +msgstr " --disable-triggers 還原 data-only 備份時停用觸發器\n" + +#: pg_dump.c:1096 +#, c-format +msgid "" +" --enable-row-security enable row security (dump only content user has\n" +" access to)\n" +msgstr " --enable-row-security 啟用列安全性(只備份使用者有存取權的內容)\n" + +#: pg_dump.c:1098 +#, c-format +msgid "" +" --exclude-table-and-children=PATTERN\n" +" do NOT dump the specified table(s), including\n" +" child and partition tables\n" +msgstr "" +" --exclude-table-and-children=PATTERN\n" +" 不要備份指定的資料表,包括\n" +" 子資料表和分割資料表\n" + +#: pg_dump.c:1101 +#, c-format +msgid " --exclude-table-data=PATTERN do NOT dump data for the specified table(s)\n" +msgstr " --exclude-table-data=PATTERN 不要備份指定資料表的資料\n" + +#: pg_dump.c:1102 +#, c-format +msgid "" +" --exclude-table-data-and-children=PATTERN\n" +" do NOT dump data for the specified table(s),\n" +" including child and partition tables\n" +msgstr "" +" --exclude-table-data-and-children=PATTERN\n" +" 不要備份指定資料表的資料,包括\n" +" 子資料表和分割資料表\n" +"\n" + +#: pg_dump.c:1105 pg_dumpall.c:655 +#, c-format +msgid " --extra-float-digits=NUM override default setting for extra_float_digits\n" +msgstr " --extra-float-digits=NUM 覆蓋 extra_float_digits 的預設設定\n" + +#: pg_dump.c:1106 pg_dumpall.c:656 pg_restore.c:466 +#, c-format +msgid " --if-exists use IF EXISTS when dropping objects\n" +msgstr " --if-exists 刪除物件時使用 IF EXISTS\n" + +#: pg_dump.c:1107 +#, c-format +msgid "" +" --include-foreign-data=PATTERN\n" +" include data of foreign tables on foreign\n" +" servers matching PATTERN\n" +msgstr "" +" --include-foreign-data=PATTERN\n" +" 含包符合 PATTERN 的外部伺服器上的\n" +" 外部資料表中的資料\n" + +#: pg_dump.c:1110 pg_dumpall.c:657 +#, c-format +msgid " --inserts dump data as INSERT commands, rather than COPY\n" +msgstr " --inserts 備份資料為 INSERT 命令,而不是 COPY\n" + +#: pg_dump.c:1111 pg_dumpall.c:658 +#, c-format +msgid " --load-via-partition-root load partitions via the root table\n" +msgstr " --load-via-partition-root 透過主資料表載入分割資料表\n" + +#: pg_dump.c:1112 pg_dumpall.c:659 +#, c-format +msgid " --no-comments do not dump comments\n" +msgstr " --no-comments 不備份註解\n" + +#: pg_dump.c:1113 pg_dumpall.c:660 +#, c-format +msgid " --no-publications do not dump publications\n" +msgstr " --no-publications 不備份發布\n" + +#: pg_dump.c:1114 pg_dumpall.c:662 +#, c-format +msgid " --no-security-labels do not dump security label assignments\n" +msgstr " --no-security-labels 不備份安全性標籤\n" + +#: pg_dump.c:1115 pg_dumpall.c:663 +#, c-format +msgid " --no-subscriptions do not dump subscriptions\n" +msgstr " --no-subscriptions 不備份訂閱\n" + +#: pg_dump.c:1116 pg_dumpall.c:665 +#, c-format +msgid " --no-table-access-method do not dump table access methods\n" +msgstr " --no-table-access-method 不備份資料表存取方式\n" + +#: pg_dump.c:1117 pg_dumpall.c:666 +#, c-format +msgid " --no-tablespaces do not dump tablespace assignments\n" +msgstr " --no-tablespaces 不備份資料表空間\n" + +#: pg_dump.c:1118 pg_dumpall.c:667 +#, c-format +msgid " --no-toast-compression do not dump TOAST compression methods\n" +msgstr " --no-toast-compression 不備份 TOAST 壓縮方法\n" + +#: pg_dump.c:1119 pg_dumpall.c:668 +#, c-format +msgid " --no-unlogged-table-data do not dump unlogged table data\n" +msgstr " --no-unlogged-table-data 不備份無日誌資料表的資料\n" + +#: pg_dump.c:1120 pg_dumpall.c:669 +#, c-format +msgid " --on-conflict-do-nothing add ON CONFLICT DO NOTHING to INSERT commands\n" +msgstr " --on-conflict-do-nothing 在 INSERT 命令加上 ON CONFLICT DO NOTHING\n" + +#: pg_dump.c:1121 pg_dumpall.c:670 +#, c-format +msgid " --quote-all-identifiers quote all identifiers, even if not key words\n" +msgstr " --quote-all-identifiers 所有識別名稱加引號,即使不是關鍵字\n" + +#: pg_dump.c:1122 pg_dumpall.c:671 +#, c-format +msgid " --rows-per-insert=NROWS number of rows per INSERT; implies --inserts\n" +msgstr " --rows-per-insert=NROWS 每個 INSERT 的資料筆數;意味著使用 --inserts\n" + +#: pg_dump.c:1123 +#, c-format +msgid " --section=SECTION dump named section (pre-data, data, or post-data)\n" +msgstr " --section=SECTION 備份指定的區段(pre-data、data 或 post-data)\n" + +#: pg_dump.c:1124 +#, c-format +msgid " --serializable-deferrable wait until the dump can run without anomalies\n" +msgstr " --serializable-deferrable 等待備份可在無異常狀況下執行\n" + +#: pg_dump.c:1125 +#, c-format +msgid " --snapshot=SNAPSHOT use given snapshot for the dump\n" +msgstr " --snapshot=SNAPSHOT 使用指定的快照進行備份\n" + +#: pg_dump.c:1126 pg_restore.c:476 +#, c-format +msgid "" +" --strict-names require table and/or schema include patterns to\n" +" match at least one entity each\n" +msgstr "" +" --strict-names 比對資料表和schema的PATTERN必需\n" +" 找到符合條件的對象\n" + +#: pg_dump.c:1128 +#, c-format +msgid "" +" --table-and-children=PATTERN dump only the specified table(s), including\n" +" child and partition tables\n" +msgstr "" +" --table-and-children=PATTERN 只備份指定的資料表,包括\n" +" 子資料表和分割資料表\n" + +#: pg_dump.c:1130 pg_dumpall.c:672 pg_restore.c:478 +#, c-format +msgid "" +" --use-set-session-authorization\n" +" use SET SESSION AUTHORIZATION commands instead of\n" +" ALTER OWNER commands to set ownership\n" +msgstr "" +" --use-set-session-authorization\n" +" 使用 SET SESSION AUTHORIZATION 命令而非\n" +" ALTER OWNER 命令來設定擁有權\n" + +#: pg_dump.c:1134 pg_dumpall.c:676 pg_restore.c:482 +#, c-format +msgid "" +"\n" +"Connection options:\n" +msgstr "" +"\n" +"連線選項:\n" + +#: pg_dump.c:1135 +#, c-format +msgid " -d, --dbname=DBNAME database to dump\n" +msgstr " -d, --dbname=DBNAME 要備份的資料庫\n" + +#: pg_dump.c:1136 pg_dumpall.c:678 pg_restore.c:483 +#, c-format +msgid " -h, --host=HOSTNAME database server host or socket directory\n" +msgstr " -h, --host=HOSTNAME 資料庫伺服器主機或socket目錄\n" + +#: pg_dump.c:1137 pg_dumpall.c:680 pg_restore.c:484 +#, c-format +msgid " -p, --port=PORT database server port number\n" +msgstr " -p, --port=PORT 資料庫伺服器連接埠\n" + +#: pg_dump.c:1138 pg_dumpall.c:681 pg_restore.c:485 +#, c-format +msgid " -U, --username=NAME connect as specified database user\n" +msgstr " -U, --username=NAME 以指定的資料庫使用者連線\n" + +#: pg_dump.c:1139 pg_dumpall.c:682 pg_restore.c:486 +#, c-format +msgid " -w, --no-password never prompt for password\n" +msgstr " -w, --no-password 不詢問密碼\n" + +#: pg_dump.c:1140 pg_dumpall.c:683 pg_restore.c:487 +#, c-format +msgid " -W, --password force password prompt (should happen automatically)\n" +msgstr " -W, --password 要求輸入密碼(應該是自動的)\n" + +#: pg_dump.c:1141 pg_dumpall.c:684 +#, c-format +msgid " --role=ROLENAME do SET ROLE before dump\n" +msgstr " --role=ROLENAME 備份之前 SET ROLE\n" + +#: pg_dump.c:1143 +#, c-format +msgid "" +"\n" +"If no database name is supplied, then the PGDATABASE environment\n" +"variable value is used.\n" +"\n" +msgstr "" +"\n" +"若未提供資料庫名稱,則使用環境變數 PGDATABASE 的內容。\n" +"\n" + +#: pg_dump.c:1145 pg_dumpall.c:688 pg_restore.c:494 +#, c-format +msgid "Report bugs to <%s>.\n" +msgstr "回報錯誤至 <%s>。\n" + +#: pg_dump.c:1146 pg_dumpall.c:689 pg_restore.c:495 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "%s 網頁: <%s>\n" + +#: pg_dump.c:1165 pg_dumpall.c:513 +#, c-format +msgid "invalid client encoding \"%s\" specified" +msgstr "指定的客戶端編碼 \"%s\" 無效" + +#: pg_dump.c:1303 +#, c-format +msgid "parallel dumps from standby servers are not supported by this server version" +msgstr "伺服器版本不支援來自待命伺服器的並行備份" + +#: pg_dump.c:1368 +#, c-format +msgid "invalid output format \"%s\" specified" +msgstr "指定的輸出格式 \"%s\" 無效" + +# catalog/namespace.c:1201 gram.y:2516 gram.y:7422 parser/parse_expr.c:1183 +# parser/parse_target.c:734 +#: pg_dump.c:1409 pg_dump.c:1465 pg_dump.c:1518 pg_dumpall.c:1449 +#, c-format +msgid "improper qualified name (too many dotted names): %s" +msgstr "不合標準的正式名稱(太多點號名稱): %s" + +# describe.c:1542 +#: pg_dump.c:1417 +#, c-format +msgid "no matching schemas were found for pattern \"%s\"" +msgstr "找不到符合模式 \"%s\" 的 schema" + +# describe.c:1542 +#: pg_dump.c:1470 +#, c-format +msgid "no matching extensions were found for pattern \"%s\"" +msgstr "找不到符合模式 \"%s\" 的擴充功能" + +#: pg_dump.c:1523 +#, c-format +msgid "no matching foreign servers were found for pattern \"%s\"" +msgstr "找不到符合模式 \"%s\" 的外部伺服器" + +# catalog/namespace.c:1313 +#: pg_dump.c:1594 +#, c-format +msgid "improper relation name (too many dotted names): %s" +msgstr "不合標準的 relation 名稱(太多點號名稱): %s" + +# describe.c:1542 +#: pg_dump.c:1616 +#, c-format +msgid "no matching tables were found for pattern \"%s\"" +msgstr "找不到符合模式 \"%s\" 的資料表" + +# common.c:636 +# common.c:871 +#: pg_dump.c:1643 +#, c-format +msgid "You are currently not connected to a database." +msgstr "目前尚未連線至資料庫。" + +# catalog/namespace.c:1195 parser/parse_expr.c:1157 parser/parse_target.c:725 +#: pg_dump.c:1646 +#, c-format +msgid "cross-database references are not implemented: %s" +msgstr "尚未實作跨資料庫參考: %s" + +#: pg_dump.c:2077 +#, c-format +msgid "dumping contents of table \"%s.%s\"" +msgstr "備份資料表 \"%s.%s\" 的內容" + +#: pg_dump.c:2183 +#, c-format +msgid "Dumping the contents of table \"%s\" failed: PQgetCopyData() failed." +msgstr "備份資料表 \"%s\" 的內容失敗: PQgetCopyData() 失敗。" + +#: pg_dump.c:2184 pg_dump.c:2194 +#, c-format +msgid "Error message from server: %s" +msgstr "伺服器錯誤訊息: %s" + +#: pg_dump.c:2185 pg_dump.c:2195 +#, c-format +msgid "Command was: %s" +msgstr "命令是: %s" + +#: pg_dump.c:2193 +#, c-format +msgid "Dumping the contents of table \"%s\" failed: PQgetResult() failed." +msgstr "備份資料表 \"%s\" 的內容失敗: PQgetResult() 失敗。" + +# utils/init/miscinit.c:792 utils/misc/guc.c:5074 +#: pg_dump.c:2275 +#, c-format +msgid "wrong number of fields retrieved from table \"%s\"" +msgstr "從資料表 \"%s\" 取得的欄位數不正確" + +#: pg_dump.c:2973 +#, c-format +msgid "saving database definition" +msgstr "儲存資料庫定義" + +#: pg_dump.c:3078 +#, c-format +msgid "unrecognized locale provider: %s" +msgstr "無法識別的區域提供者: %s" + +#: pg_dump.c:3429 +#, c-format +msgid "saving encoding = %s" +msgstr "儲存 encoding = %s" + +#: pg_dump.c:3454 +#, c-format +msgid "saving standard_conforming_strings = %s" +msgstr "儲存 standard_conforming_strings = %s" + +#: pg_dump.c:3493 +#, c-format +msgid "could not parse result of current_schemas()" +msgstr "無法解析 current_schemas() 的結果" + +#: pg_dump.c:3512 +#, c-format +msgid "saving search_path = %s" +msgstr "儲存 search_path = %s" + +#: pg_dump.c:3549 +#, c-format +msgid "reading large objects" +msgstr "讀取大物件" + +#: pg_dump.c:3687 +#, c-format +msgid "saving large objects" +msgstr "儲存大物件" + +#: pg_dump.c:3728 +#, c-format +msgid "error reading large object %u: %s" +msgstr "讀取大物件 %u 時發生錯誤: %s" + +#: pg_dump.c:3834 +#, c-format +msgid "reading row-level security policies" +msgstr "讀取列層級安全政策" + +# utils/adt/regproc.c:1209 +#: pg_dump.c:3975 +#, c-format +msgid "unexpected policy command type: %c" +msgstr "非預期的政策命令類型: %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 +#, c-format +msgid "could not parse %s array" +msgstr "無法解析 %s 陣列" + +# utils/misc/guc.c:434 +#: pg_dump.c:4613 +#, c-format +msgid "subscriptions not dumped because current user is not a superuser" +msgstr "未備份訂閱,因為目前使用者不是超級使用者" + +# catalog/dependency.c:152 +#: pg_dump.c:5149 +#, c-format +msgid "could not find parent extension for %s %s" +msgstr "找不到 %s %s 的父擴充功能" + +# catalog/aclchk.c:1689 catalog/aclchk.c:2001 +#: pg_dump.c:5294 +#, c-format +msgid "schema with OID %u does not exist" +msgstr "OID 為 %u 的 schema 不存在" + +#: pg_dump.c:6776 pg_dump.c:17158 +#, c-format +msgid "failed sanity check, parent table with OID %u of sequence with OID %u not found" +msgstr "完整性檢查失敗,找不到 OID 為 %u 的序列(父資料表 OID 為 %u)" + +#: pg_dump.c:6919 +#, c-format +msgid "failed sanity check, table OID %u appearing in pg_partitioned_table not found" +msgstr "完整性檢查失敗,在 pg_partitioned_table 中找不到 OID 為 %u 的資料表" + +#: pg_dump.c:7150 pg_dump.c:7417 pg_dump.c:7888 pg_dump.c:8552 pg_dump.c:8671 +#: pg_dump.c:8819 +#, c-format +msgid "unrecognized table OID %u" +msgstr "無法辨識的資料表 OID %u" + +#: pg_dump.c:7154 +#, c-format +msgid "unexpected index data for table \"%s\"" +msgstr "非預期的資料表 \"%s\" 索引資料" + +#: pg_dump.c:7649 +#, c-format +msgid "failed sanity check, parent table with OID %u of pg_rewrite entry with OID %u not found" +msgstr "完整性檢查失敗,找不到 OID 為 %u 的父資料表(pg_rewrite 項目 OID 為 %u)" + +#: pg_dump.c:7940 +#, c-format +msgid "query produced null referenced table name for foreign key trigger \"%s\" on table \"%s\" (OID of table: %u)" +msgstr "查詢產生空的參考資料表名稱給資料表 \"%2$s\"(資料表 OID:%3$u)上的外鍵觸發器 \"%1$s\" " + +#: pg_dump.c:8556 +#, c-format +msgid "unexpected column data for table \"%s\"" +msgstr "非預期的資料表 \"%s\" 欄位資料" + +#: pg_dump.c:8585 +#, c-format +msgid "invalid column numbering in table \"%s\"" +msgstr "資料表 \"%s\" 中的欄位編號無效" + +# commands/typecmds.c:637 +#: pg_dump.c:8633 +#, c-format +msgid "finding table default expressions" +msgstr "尋找資料表的預設表達式" + +#: pg_dump.c:8675 +#, c-format +msgid "invalid adnum value %d for table \"%s\"" +msgstr "資料表 \"%2$s\" 的 adnum 值 %1$d 的無效" + +#: pg_dump.c:8769 +#, c-format +msgid "finding table check constraints" +msgstr "尋找表格的檢查約束" + +#: pg_dump.c:8823 +#, c-format +msgid "expected %d check constraint on table \"%s\" but found %d" +msgid_plural "expected %d check constraints on table \"%s\" but found %d" +msgstr[0] "預期在資料表 \"%2$s\" 上有 %1$d 個檢查約束,但找到 %3$d 個" + +#: pg_dump.c:8827 +#, c-format +msgid "The system catalogs might be corrupted." +msgstr "系統目錄可能已損毀" + +# catalog/aclchk.c:1917 +#: pg_dump.c:9517 +#, c-format +msgid "role with OID %u does not exist" +msgstr "OID 為 %u 的角色不存在" + +#: pg_dump.c:9629 pg_dump.c:9658 +#, c-format +msgid "unsupported pg_init_privs entry: %u %u %d" +msgstr "不支援的 pg_init_privs 項目:%u %u %d" + +#: pg_dump.c:10479 +#, c-format +msgid "typtype of data type \"%s\" appears to be invalid" +msgstr "資料型別 \"%s\" 的 typtype 似乎無效" + +#: pg_dump.c:12053 +#, c-format +msgid "unrecognized provolatile value for function \"%s\"" +msgstr "函數 \"%s\" 的 provolatile 值無法識別" + +#: pg_dump.c:12103 pg_dump.c:13985 +#, c-format +msgid "unrecognized proparallel value for function \"%s\"" +msgstr "函數 \"%s\" 的 proparallel 值無法識別" + +# access/heap/heapam.c:495 +#: pg_dump.c:12233 pg_dump.c:12339 pg_dump.c:12346 +#, c-format +msgid "could not find function definition for function with OID %u" +msgstr "找不到 OID 為 %u 的函數定義" + +#: pg_dump.c:12272 +#, c-format +msgid "bogus value in pg_cast.castfunc or pg_cast.castmethod field" +msgstr "pg_cast.castfunc 或 pg_cast.castmethod 欄位的內容是偽造的" + +#: pg_dump.c:12275 +#, c-format +msgid "bogus value in pg_cast.castmethod field" +msgstr "pg_cast.castmethod 欄位的內容是偽造的" + +#: pg_dump.c:12365 +#, c-format +msgid "bogus transform definition, at least one of trffromsql and trftosql should be nonzero" +msgstr "轉換定義是偽造的,trffromsql 和 trftosql 至少其中一個應為非零值" + +#: pg_dump.c:12382 +#, c-format +msgid "bogus value in pg_transform.trffromsql field" +msgstr "pg_transform.trffromsql 欄位的內容是偽造的" + +#: pg_dump.c:12403 +#, c-format +msgid "bogus value in pg_transform.trftosql field" +msgstr "pg_transform.trftosql 欄位的內容是偽造的" + +# catalog/pg_proc.c:487 +#: pg_dump.c:12548 +#, c-format +msgid "postfix operators are not supported anymore (operator \"%s\")" +msgstr "不再支援後置運算符(運算符 \"%s\")" + +#: pg_dump.c:12718 +#, c-format +msgid "could not find operator with OID %s" +msgstr "找不到 OID 為 %s 的運算符" + +# parser/parse_type.c:372 parser/parse_type.c:467 +#: pg_dump.c:12786 +#, c-format +msgid "invalid type \"%c\" of access method \"%s\"" +msgstr "存取方法 \"%2$s\" 的類型 \"%1$c\" 無效" + +# utils/misc/guc.c:3281 utils/misc/guc.c:3970 utils/misc/guc.c:4006 +# utils/misc/guc.c:4062 utils/misc/guc.c:4399 utils/misc/guc.c:4548 +#: pg_dump.c:13455 pg_dump.c:13514 +#, c-format +msgid "unrecognized collation provider: %s" +msgstr "無法識別的定序提供者: %s" + +#: pg_dump.c:13464 pg_dump.c:13473 pg_dump.c:13483 pg_dump.c:13498 +#, c-format +msgid "invalid collation \"%s\"" +msgstr "無效的定序 \"%s\"" + +#: pg_dump.c:13904 +#, c-format +msgid "unrecognized aggfinalmodify value for aggregate \"%s\"" +msgstr "聚合函數 \"%s\" 的 aggfinalmodify 值無法識別" + +#: pg_dump.c:13960 +#, c-format +msgid "unrecognized aggmfinalmodify value for aggregate \"%s\"" +msgstr "聚合函數 \"%s\" 的 aggmfinalmodify 值無法識別" + +#: pg_dump.c:14677 +#, c-format +msgid "unrecognized object type in default privileges: %d" +msgstr "無法識別物件類型給預設權限: %d" + +#: pg_dump.c:14693 +#, c-format +msgid "could not parse default ACL list (%s)" +msgstr "無法解析預設 ACL 清單(%s)" + +#: pg_dump.c:14775 +#, c-format +msgid "could not parse initial ACL list (%s) or default (%s) for object \"%s\" (%s)" +msgstr "無法解析預設初始 ACL 清單(%s)或預設(%s)給物件 \"%s\"(%s)" + +#: pg_dump.c:14800 +#, c-format +msgid "could not parse ACL list (%s) or default (%s) for object \"%s\" (%s)" +msgstr "無法解析預設 ACL 清單(%s)或預設(%s)給物件 \"%s\"(%s)" + +#: pg_dump.c:15341 +#, c-format +msgid "query to obtain definition of view \"%s\" returned no data" +msgstr "取得檢視表 \"%s\" 定義的查詢未返回資料" + +#: pg_dump.c:15344 +#, c-format +msgid "query to obtain definition of view \"%s\" returned more than one definition" +msgstr "取得檢視表 \"%s\" 定義的查詢返回一筆以上定義" + +#: pg_dump.c:15351 +#, c-format +msgid "definition of view \"%s\" appears to be empty (length zero)" +msgstr "檢視表 \"%s\" 的定義似乎是空的(長度為 0)" + +# commands/dbcommands.c:138 +#: pg_dump.c:15435 +#, c-format +msgid "WITH OIDS is not supported anymore (table \"%s\")" +msgstr "不再支援 WITH OIDS(資料表 \"%s\")" + +#: pg_dump.c:16359 +#, c-format +msgid "invalid column number %d for table \"%s\"" +msgstr "表格 \"%2$s\" 的欄位編號 %1$d 無效" + +# postmaster/pgstat.c:1908 +#: pg_dump.c:16437 +#, c-format +msgid "could not parse index statistic columns" +msgstr "無法解析索引統計欄位" + +# postmaster/pgstat.c:2234 +#: pg_dump.c:16439 +#, c-format +msgid "could not parse index statistic values" +msgstr "無法解析索引統計內容" + +#: pg_dump.c:16441 +#, c-format +msgid "mismatched number of columns and values for index statistics" +msgstr "索引統計欄位和內容的數量不符" + +#: pg_dump.c:16657 +#, c-format +msgid "missing index for constraint \"%s\"" +msgstr "缺少約束 \"%s\" 的索引" + +#: pg_dump.c:16892 +#, c-format +msgid "unrecognized constraint type: %c" +msgstr "無法識別的約束類型: %c" + +#: pg_dump.c:16993 pg_dump.c:17222 +#, c-format +msgid "query to get data of sequence \"%s\" returned %d row (expected 1)" +msgid_plural "query to get data of sequence \"%s\" returned %d rows (expected 1)" +msgstr[0] "取得序列 \"%s\" 資料的查詢傳回 %d 筆資料(預期 1 筆)" + +# utils/adt/acl.c:1261 utils/adt/acl.c:1486 utils/adt/acl.c:1698 +# utils/adt/acl.c:1902 utils/adt/acl.c:2106 utils/adt/acl.c:2315 +# utils/adt/acl.c:2516 +#: pg_dump.c:17025 +#, c-format +msgid "unrecognized sequence type: %s" +msgstr "無法辨識的序列類型: %s" + +# fe-exec.c:1204 +#: pg_dump.c:17314 +#, c-format +msgid "unexpected tgtype value: %d" +msgstr "非預期的 tgtype 值: %d" + +#: pg_dump.c:17386 +#, c-format +msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"" +msgstr "觸發器 \"%2$s\" 在表格 \"%3$s\" 上的參數字串無效(%1$s)" + +#: pg_dump.c:17655 +#, c-format +msgid "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows returned" +msgstr "取得資料表 \"%s\" 的規則 \"%s\" 的查詢失敗: 返回的資料筆數錯誤" + +# catalog/dependency.c:152 +#: pg_dump.c:17808 +#, c-format +msgid "could not find referenced extension %u" +msgstr "找不到參考的擴充功能 %u" + +#: pg_dump.c:17898 +#, c-format +msgid "mismatched number of configurations and conditions for extension" +msgstr "擴充功能的配置和條件的數量不符" + +#: pg_dump.c:18030 +#, c-format +msgid "reading dependency data" +msgstr "讀取相依性資料" + +#: pg_dump.c:18116 +#, c-format +msgid "no referencing object %u %u" +msgstr "沒有參考物件 %u %u" + +#: pg_dump.c:18127 +#, c-format +msgid "no referenced object %u %u" +msgstr "沒有被參考物件 %u %u" + +# commands/user.c:240 commands/user.c:371 +#: pg_dump_sort.c:422 +#, c-format +msgid "invalid dumpId %d" +msgstr "無效的 dumpId %d" + +# commands/dbcommands.c:263 +#: pg_dump_sort.c:428 +#, c-format +msgid "invalid dependency %d" +msgstr "無效的相依性 %d" + +#: pg_dump_sort.c:661 +#, c-format +msgid "could not identify dependency loop" +msgstr "無法識別相依性迴圈" + +#: pg_dump_sort.c:1276 +#, c-format +msgid "there are circular foreign-key constraints on this table:" +msgid_plural "there are circular foreign-key constraints among these tables:" +msgstr[0] "資料表存在循環的外鍵約束:" + +#: pg_dump_sort.c:1281 +#, c-format +msgid "You might not be able to restore the dump without using --disable-triggers or temporarily dropping the constraints." +msgstr "若不使用 --disable-triggers 或者暫時刪除約束條件可能導致無法還原備份" + +#: pg_dump_sort.c:1282 +#, c-format +msgid "Consider using a full dump instead of a --data-only dump to avoid this problem." +msgstr "考慮使用完整備份而不是 --data-only 備份以避免這個問題" + +#: pg_dump_sort.c:1294 +#, c-format +msgid "could not resolve dependency loop among these items:" +msgstr "無法解決這些項目之間的相依迴圈:" + +#: pg_dumpall.c:230 +#, c-format +msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" +msgstr "程式 \"%s\" 被 %s 需要,但在相同目錄下找不到 \"%s\"。" + +#: pg_dumpall.c:233 +#, c-format +msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" +msgstr "程式 \"%s\" 被 \"%s\" 找到,但版本與 %s 不同" + +#: pg_dumpall.c:382 +#, c-format +msgid "option --exclude-database cannot be used together with -g/--globals-only, -r/--roles-only, or -t/--tablespaces-only" +msgstr "選項 --exclude-database 不能與 -g/--globals-only 或 -r/--roles-only 或 -t/--tablespaces-only 一起使用" + +#: pg_dumpall.c:390 +#, c-format +msgid "options -g/--globals-only and -r/--roles-only cannot be used together" +msgstr "選項 -g/--globals-only 和 -r/--roles-only 不能一起使用" + +#: pg_dumpall.c:397 +#, c-format +msgid "options -g/--globals-only and -t/--tablespaces-only cannot be used together" +msgstr "選項 -g/--globals-only 和 -t/--tablespaces-only 不能一起使用" + +#: pg_dumpall.c:407 +#, c-format +msgid "options -r/--roles-only and -t/--tablespaces-only cannot be used together" +msgstr "選項 -r/--roles-only 和 -t/--tablespaces-only 不能一起使用" + +#: pg_dumpall.c:469 pg_dumpall.c:1750 +#, c-format +msgid "could not connect to database \"%s\"" +msgstr "無法連線至資料庫\"%s\"" + +#: pg_dumpall.c:481 +#, c-format +msgid "" +"could not connect to databases \"postgres\" or \"template1\"\n" +"Please specify an alternative database." +msgstr "" +"無法連線至資料庫 \"postgres\" 或 \"template1\"\n" +"請指定另一個資料庫。" + +#: pg_dumpall.c:629 +#, c-format +msgid "" +"%s extracts a PostgreSQL database cluster into an SQL script file.\n" +"\n" +msgstr "" +"%s 將 PostgreSQL 資料庫叢集提取成 SQL 腳本檔\n" +"\n" + +#: pg_dumpall.c:631 +#, c-format +msgid " %s [OPTION]...\n" +msgstr "" + +#: pg_dumpall.c:634 +#, c-format +msgid " -f, --file=FILENAME output file name\n" +msgstr " -f, --file=FILENAME 輸出檔名稱\n" + +#: pg_dumpall.c:641 +#, c-format +msgid " -c, --clean clean (drop) databases before recreating\n" +msgstr " -c, --clean 重建之前清除(刪除)資料庫\n" + +#: pg_dumpall.c:643 +#, c-format +msgid " -g, --globals-only dump only global objects, no databases\n" +msgstr " -g, --globals-only 只備份全域物件,不包括資料庫\n" + +#: pg_dumpall.c:644 pg_restore.c:456 +#, c-format +msgid " -O, --no-owner skip restoration of object ownership\n" +msgstr " -O, --no-owner 跳過物件所有權的還原\n" + +#: pg_dumpall.c:645 +#, c-format +msgid " -r, --roles-only dump only roles, no databases or tablespaces\n" +msgstr " -r, --roles-only 只備份角色,不包括資料庫或資料表空間\n" + +#: pg_dumpall.c:647 +#, c-format +msgid " -S, --superuser=NAME superuser user name to use in the dump\n" +msgstr " -S, --superuser=NAME 備份時使用的超級使用者名稱\n" + +#: pg_dumpall.c:648 +#, c-format +msgid " -t, --tablespaces-only dump only tablespaces, no databases or roles\n" +msgstr " -t, --tablespaces-only 只備份資料表空間,不包括資料庫或角色\n" + +#: pg_dumpall.c:654 +#, c-format +msgid " --exclude-database=PATTERN exclude databases whose name matches PATTERN\n" +msgstr " --exclude-database=PATTERN 排除名稱符合PATTERN的資料庫\n" + +#: pg_dumpall.c:661 +#, c-format +msgid " --no-role-passwords do not dump passwords for roles\n" +msgstr " --no-role-passwords 不要備份角色的密碼\n" + +#: pg_dumpall.c:677 +#, c-format +msgid " -d, --dbname=CONNSTR connect using connection string\n" +msgstr " -d, --dbname=CONNSTR 用連線字串進行連線\n" + +#: pg_dumpall.c:679 +#, c-format +msgid " -l, --database=DBNAME alternative default database\n" +msgstr " -l, --database=DBNAME 替代的預設資料庫\n" + +#: pg_dumpall.c:686 +#, c-format +msgid "" +"\n" +"If -f/--file is not used, then the SQL script will be written to the standard\n" +"output.\n" +"\n" +msgstr "" +"\n" +"若未使用 -f/--file 選項,SQL 腳本將被寫入標準輸出。\n" +"\n" + +#: pg_dumpall.c:828 +#, c-format +msgid "role name starting with \"pg_\" skipped (%s)" +msgstr "跳過以 \"pg_\" 開頭的角色名稱(%s)" + +#: pg_dumpall.c:1050 +#, c-format +msgid "could not find a legal dump ordering for memberships in role \"%s\"" +msgstr "無法為角色 \"%s\" 的成員找到合法的備份順序" + +#: pg_dumpall.c:1185 +#, c-format +msgid "could not parse ACL list (%s) for parameter \"%s\"" +msgstr "無法解析參數 \"%2$s\" 的 ACL 清單 (%1$s)" + +#: pg_dumpall.c:1303 +#, c-format +msgid "could not parse ACL list (%s) for tablespace \"%s\"" +msgstr "無法解析資料表空間 \"%2$s\" 的 ACL 清單 (%1$s)" + +#: pg_dumpall.c:1510 +#, c-format +msgid "excluding database \"%s\"" +msgstr "排除資料庫 \"%s\"" + +#: pg_dumpall.c:1514 +#, c-format +msgid "dumping database \"%s\"" +msgstr "備份資料庫\"%s\"" + +#: pg_dumpall.c:1545 +#, c-format +msgid "pg_dump failed on database \"%s\", exiting" +msgstr "pg_dump 資料庫 \"%s\" 失敗,結束" + +# command.c:1148 +#: pg_dumpall.c:1551 +#, c-format +msgid "could not re-open the output file \"%s\": %m" +msgstr "無法重新開啟輸出檔 \"%s\": %m" + +#: pg_dumpall.c:1592 +#, c-format +msgid "running \"%s\"" +msgstr "執行 \"%s\"" + +#: pg_dumpall.c:1793 +#, c-format +msgid "could not get server version" +msgstr "無法取得伺服器版本" + +#: pg_dumpall.c:1796 +#, c-format +msgid "could not parse server version \"%s\"" +msgstr "無法解析伺服器版本\"%s\"" + +#: pg_dumpall.c:1866 pg_dumpall.c:1889 +#, c-format +msgid "executing %s" +msgstr "執行 %s" + +#: pg_restore.c:313 +#, c-format +msgid "one of -d/--dbname and -f/--file must be specified" +msgstr "必須指定 -d/--dbname 和 -f/--file 其中之一" + +#: pg_restore.c:320 +#, c-format +msgid "options -d/--dbname and -f/--file cannot be used together" +msgstr "不能同時使用 -d/--dbname 和 -f/--file 選項" + +#: pg_restore.c:338 +#, c-format +msgid "options -C/--create and -1/--single-transaction cannot be used together" +msgstr "不能同時使用 -C/--create 和 -1/--single-transaction 選項" + +#: pg_restore.c:342 +#, c-format +msgid "cannot specify both --single-transaction and multiple jobs" +msgstr "不能同時指定 --single-transaction 和多個工作" + +#: pg_restore.c:380 +#, c-format +msgid "unrecognized archive format \"%s\"; please specify \"c\", \"d\", or \"t\"" +msgstr "無法識別的封存檔格式 \"%s\",請指定 \"c\" 或 \"d\" 或 \"t\"" + +#: pg_restore.c:419 +#, c-format +msgid "errors ignored on restore: %d" +msgstr "還原時忽略的錯誤: %d" + +#: pg_restore.c:432 +#, c-format +msgid "" +"%s restores a PostgreSQL database from an archive created by pg_dump.\n" +"\n" +msgstr "" +"%s 從 pg_dump 所產生的封存檔還原 PostgreSQL 資料庫。\n" +"\n" + +#: pg_restore.c:434 +#, c-format +msgid " %s [OPTION]... [FILE]\n" +msgstr "" + +#: pg_restore.c:437 +#, c-format +msgid " -d, --dbname=NAME connect to database name\n" +msgstr " -d, --dbname=NAME 連線至資料庫名稱\n" + +#: pg_restore.c:438 +#, c-format +msgid " -f, --file=FILENAME output file name (- for stdout)\n" +msgstr " -f, --file=FILENAME 輸出檔名(- 代表標準輸出)\n" + +#: pg_restore.c:439 +#, c-format +msgid " -F, --format=c|d|t backup file format (should be automatic)\n" +msgstr " -F, --format=c|d|t 備份檔格式(應會自動選擇)\n" + +#: pg_restore.c:440 +#, c-format +msgid " -l, --list print summarized TOC of the archive\n" +msgstr " -l, --list 顯示封存檔的 TOC 摘要\n" + +#: pg_restore.c:441 +#, c-format +msgid " -v, --verbose verbose mode\n" +msgstr " -v, --verbose 詳細模式\n" + +#: pg_restore.c:442 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version 顯示版本,然後結束\n" + +#: pg_restore.c:443 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help 顯示說明,然後結束\n" + +#: pg_restore.c:445 +#, c-format +msgid "" +"\n" +"Options controlling the restore:\n" +msgstr "" +"\n" +"還原控制選項:\n" + +#: pg_restore.c:446 +#, c-format +msgid " -a, --data-only restore only the data, no schema\n" +msgstr " -a, --data-only 只還原資料,不包括 schema\n" + +#: pg_restore.c:448 +#, c-format +msgid " -C, --create create the target database\n" +msgstr " -C, --create 建立目標資料庫\n" + +#: pg_restore.c:449 +#, c-format +msgid " -e, --exit-on-error exit on error, default is to continue\n" +msgstr " -e, --exit-on-error 發生錯誤就結束,預設是繼續執行\n" + +#: pg_restore.c:450 +#, c-format +msgid " -I, --index=NAME restore named index\n" +msgstr " -I, --index=NAME 還原指定的索引\n" + +#: pg_restore.c:451 +#, c-format +msgid " -j, --jobs=NUM use this many parallel jobs to restore\n" +msgstr " -j, --jobs=NUM 用這麼多並行工作進行還原\n" + +#: pg_restore.c:452 +#, c-format +msgid "" +" -L, --use-list=FILENAME use table of contents from this file for\n" +" selecting/ordering output\n" +msgstr " -L, --use-list=FILENAME 用檔案中的目錄表來選擇/排序輸出\n" + +#: pg_restore.c:454 +#, c-format +msgid " -n, --schema=NAME restore only objects in this schema\n" +msgstr " -n, --schema=NAME 只還原指定 schema 中的物件\n" + +#: pg_restore.c:455 +#, c-format +msgid " -N, --exclude-schema=NAME do not restore objects in this schema\n" +msgstr " -N, --exclude-schema=NAME 不要還原指定 schema 中的物件\n" + +#: pg_restore.c:457 +#, c-format +msgid " -P, --function=NAME(args) restore named function\n" +msgstr " -P, --function=NAME(args) 還原指定的函數\n" + +#: pg_restore.c:458 +#, c-format +msgid " -s, --schema-only restore only the schema, no data\n" +msgstr " -s, --schema-only 只還原 schema,不包含資料\n" + +#: pg_restore.c:459 +#, c-format +msgid " -S, --superuser=NAME superuser user name to use for disabling triggers\n" +msgstr " -S, --superuser=NAME 用於停用觸發器的超級使用者名稱\n" + +#: pg_restore.c:460 +#, c-format +msgid " -t, --table=NAME restore named relation (table, view, etc.)\n" +msgstr " -t, --table=NAME 還原指定的 relation(資料表、檢視表等)\n" + +#: pg_restore.c:461 +#, c-format +msgid " -T, --trigger=NAME restore named trigger\n" +msgstr " -T, --trigger=NAME 還原指定的觸發器\n" + +#: pg_restore.c:462 +#, c-format +msgid " -x, --no-privileges skip restoration of access privileges (grant/revoke)\n" +msgstr " -x, --no-privileges 不還原存取權限(grant/revoke)\n" + +#: pg_restore.c:463 +#, c-format +msgid " -1, --single-transaction restore as a single transaction\n" +msgstr " -1, --single-transaction 用一個交易還原\n" + +#: pg_restore.c:465 +#, c-format +msgid " --enable-row-security enable row security\n" +msgstr " --enable-row-security 啟動列層級安全性\n" + +#: pg_restore.c:467 +#, c-format +msgid " --no-comments do not restore comments\n" +msgstr " --no-comments 不要還原註釋\n" + +#: pg_restore.c:468 +#, c-format +msgid "" +" --no-data-for-failed-tables do not restore data of tables that could not be\n" +" created\n" +msgstr " --no-data-for-failed-tables 不要為無法建立的資料表還原資料\n" + +#: pg_restore.c:470 +#, c-format +msgid " --no-publications do not restore publications\n" +msgstr " --no-publications 不要還原發布\n" + +#: pg_restore.c:471 +#, c-format +msgid " --no-security-labels do not restore security labels\n" +msgstr " --no-security-labels 不要還原安全性標籤\n" + +#: pg_restore.c:472 +#, c-format +msgid " --no-subscriptions do not restore subscriptions\n" +msgstr " --no-subscriptions 不要還原訂閱\n" + +#: pg_restore.c:473 +#, c-format +msgid " --no-table-access-method do not restore table access methods\n" +msgstr " --no-table-access-method 不要還原資料表存取方式\n" + +#: pg_restore.c:474 +#, c-format +msgid " --no-tablespaces do not restore tablespace assignments\n" +msgstr " --no-tablespaces 不要還原資料表空間分配\n" + +#: pg_restore.c:475 +#, c-format +msgid " --section=SECTION restore named section (pre-data, data, or post-data)\n" +msgstr "" +" --section=SECTION 還原指定的區段(pre-data、data 或 post-data)\n" +"\n" + +#: pg_restore.c:488 +#, c-format +msgid " --role=ROLENAME do SET ROLE before restore\n" +msgstr " --role=ROLENAME 還原之前 SET ROLE\n" + +#: pg_restore.c:490 +#, c-format +msgid "" +"\n" +"The options -I, -n, -N, -P, -t, -T, and --section can be combined and specified\n" +"multiple times to select multiple objects.\n" +msgstr "" +"\n" +"選項 -I、-n、-N、-P、-t、-T 和 --section 可以同時使用並多次指定,以選擇多個物件\n" + +#: pg_restore.c:493 +#, c-format +msgid "" +"\n" +"If no input file name is supplied, then standard input is used.\n" +"\n" +msgstr "" +"\n" +"若未提供輸入檔名則會使用標準輸入。\n" +"\n" + +#, c-format +#~ msgid " --disable-triggers disable triggers during data-only restore\n" +#~ msgstr " --disable-triggers 在 data-only 還原期間停用觸發程序\n" + +#, c-format +#~ msgid " --help show this help, then exit\n" +#~ msgstr " --help 顯示此說明,然後結束\n" + +#, c-format +#~ msgid " --help show this help, then exit\n" +#~ msgstr " --help 顯示這份說明然後結束\n" + +#, c-format +#~ msgid "" +#~ " --use-set-session-authorization\n" +#~ " use SET SESSION AUTHORIZATION commands instead of\n" +#~ " ALTER OWNER commands to set ownership\n" +#~ msgstr "" +#~ " --use-set-session-authorization\n" +#~ " 使用 SET SESSION AUTHORIZATION 指令而非\n" +#~ " ALTER OWNER 指令來設定擁有關係\n" + +#, c-format +#~ msgid " --version output version information, then exit\n" +#~ msgstr " --version 輸出版本資訊,然後結束\n" + +#, c-format +#~ msgid " --version output version information, then exit\n" +#~ msgstr " --version 顯示版本資訊然後結束\n" + +#, c-format +#~ msgid " -O, --no-owner skip restoration of object ownership\n" +#~ msgstr " -O, --no-owner 忽略設定物件擁有關係的命令\n" + +#, c-format +#~ msgid " -Z, --compress=0-9 compression level for compressed formats\n" +#~ msgstr " -Z, --compress=0-9 壓縮格式的壓縮層級\n" + +#, c-format +#~ msgid " -c, --clean clean (drop) database objects before recreating\n" +#~ msgstr " -c, --clean 重建之前清除 (捨棄) 資料庫物件\n" + +#, c-format +#~ msgid " -o, --oids include OIDs in dump\n" +#~ msgstr " -o, --oids 將 OID 包含在備份中\n" + +#, c-format +#~ msgid "%s: could not connect to database \"%s\": %s\n" +#~ msgstr "%s: 無法連線至資料庫\"%s\": %s\n" + +# command.c:1148 +#, c-format +#~ msgid "%s: could not open the output file \"%s\": %s\n" +#~ msgstr "%s: 無法開啟輸出檔 \"%s\":%s\n" + +#, c-format +#~ msgid "%s: could not parse version \"%s\"\n" +#~ msgstr "%s: 無法解譯版本 \"%s\"\n" + +#, c-format +#~ msgid "%s: executing %s\n" +#~ msgstr "%s: 執行 %s\n" + +#~ msgid "%s: invalid -X option -- %s\n" +#~ msgstr "%s: 無效的 -X 選項 -- %s\n" + +#, c-format +#~ msgid "%s: out of memory\n" +#~ msgstr "%s: 記憶體用盡\n" + +#~ msgid "(The INSERT command cannot set OIDs.)\n" +#~ msgstr "(INSERT命令不能設定OID。)\n" + +#~ msgid "*** aborted because of error\n" +#~ msgstr "*** 因為發生錯誤而中止\n" + +#~ msgid "-C and -1 are incompatible options\n" +#~ msgstr "-C 和 -1 是不相容選項\n" + +#~ msgid "-C and -c are incompatible options\n" +#~ msgstr "-C 和 -c 選項不可以同時使?\n" + +#~ msgid "SQL command failed\n" +#~ msgstr "SQL命令失敗\n" + +#, c-format +#~ msgid "TOC Entry %s at %s (length %lu, checksum %d)\n" +#~ msgstr "TOC Entry %s 於 %s (長度 %lu,checksum %d)\n" + +#, c-format +#~ msgid "" +#~ "The program \"pg_dump\" is needed by %s but was not found in the\n" +#~ "same directory as \"%s\".\n" +#~ "Check your installation.\n" +#~ msgstr "" +#~ "%s 需要\"pg_dump\"程式,但是在與\"%s\"相同的目錄中找不到。\n" +#~ "請檢查你的安裝。\n" + +#, c-format +#~ msgid "" +#~ "The program \"pg_dump\" was found by \"%s\"\n" +#~ "but was not the same version as %s.\n" +#~ "Check your installation.\n" +#~ msgstr "" +#~ "%s 已找到\"pg_dump\"程式,但是與\"%s\"版本不符。\n" +#~ "請檢查你的安裝。\n" + +#, c-format +#~ msgid "Try \"%s --help\" for more information.\n" +#~ msgstr "執行 \"%s --help\" 以顯示更多資訊。\n" + +#~ msgid "" +#~ "WARNING:\n" +#~ " This format is for demonstration purposes; it is not intended for\n" +#~ " normal use. Files will be written in the current working directory.\n" +#~ msgstr "" +#~ "警告: \n" +#~ " 這種格式僅用於示範,不是用來做一般備份,檔案會被\n" +#~ " 寫至目前的工作目錄\n" + +#, c-format +#~ msgid "WARNING: aggregate function %s could not be dumped correctly for this database version; ignored\n" +#~ msgstr "警告: 此資料庫版本無法正確備份aggregate function %s,予以忽略\n" + +#~ msgid "WARNING: bogus value in proargmodes array\n" +#~ msgstr "警告: proargmodes 陣列中有偽值\n" + +#~ msgid "WARNING: could not parse proallargtypes array\n" +#~ msgstr "警告: 無法解譯 proallargtypes 陣列\n" + +#~ msgid "WARNING: could not parse proargnames array\n" +#~ msgstr "警告: 無法解讀proargnames陣列\n" + +#~ msgid "WARNING: could not parse proconfig array\n" +#~ msgstr "警告: 無法解譯 proconfig 陣列\n" + +#~ msgid "WARNING: ftell mismatch with expected position -- ftell used\n" +#~ msgstr "警告: ftell與預期位置不符 -- 已使用ftell\n" + +#, c-format +#~ msgid "WARNING: owner of aggregate function \"%s\" appears to be invalid\n" +#~ msgstr "警告: aggregate function \"%s\"的擁有者無效\n" + +#, c-format +#~ msgid "WARNING: owner of function \"%s\" appears to be invalid\n" +#~ msgstr "警告: 函式\"%s\"的擁有者無效\n" + +#, c-format +#~ msgid "WARNING: owner of operator \"%s\" appears to be invalid\n" +#~ msgstr "警告: operator \"%s\"的擁有者無效\n" + +#, c-format +#~ msgid "WARNING: owner of operator class \"%s\" appears to be invalid\n" +#~ msgstr "警告: operator class \"%s\"的擁有者無效\n" + +#, c-format +#~ msgid "WARNING: owner of operator family \"%s\" appears to be invalid\n" +#~ msgstr "警告: 運算子家族 \"%s\" 的擁有者無效\n" + +#, c-format +#~ msgid "WARNING: owner of schema \"%s\" appears to be invalid\n" +#~ msgstr "警告: schema \"%s\"的擁有者無效\n" + +#, c-format +#~ msgid "WARNING: owner of table \"%s\" appears to be invalid\n" +#~ msgstr "警告: 資料表\"%s\"的擁有者無效\n" + +#~ msgid "WARNING: requested compression not available in this installation -- archive will be uncompressed\n" +#~ msgstr "警告: 程式不支援要求使用的壓縮法 -- 備份檔將不會被壓縮\n" + +#, c-format +#~ msgid "allocating AH for %s, format %d\n" +#~ msgstr "為 %s 配置AH,格式 %d\n" + +#~ msgid "archive member too large for tar format\n" +#~ msgstr "tar格式中的備份檔成員太大\n" + +#~ msgid "archiver" +#~ msgstr "壓縮器" + +#~ msgid "archiver (db)" +#~ msgstr "壓縮器(db)" + +#~ msgid "attempting to ascertain archive format\n" +#~ msgstr "嘗試確認備份檔格式\n" + +# fe-exec.c:653 +# fe-exec.c:705 +# fe-exec.c:745 +#~ msgid "cannot duplicate null pointer\n" +#~ msgstr "無法複製 Null 指標\n" + +#~ msgid "cannot reopen non-seekable file\n" +#~ msgstr "無法重新開啟不可搜尋的檔案\n" + +#~ msgid "cannot reopen stdin\n" +#~ msgstr "無法重新開啟 stdin\n" + +#, c-format +#~ msgid "child process was terminated by signal %s" +#~ msgstr "子進程被信號 %s 終止" + +#~ msgid "compression support is disabled in this format\n" +#~ msgstr "此種備份格式的壓縮支援被關閉\n" + +#, c-format +#~ msgid "connecting to database \"%s\" as user \"%s\"\n" +#~ msgstr "連線至資料庫\"%s\"以使用者\"%s\"\n" + +# fe-misc.c:544 +# fe-misc.c:748 +#~ msgid "connection needs password\n" +#~ msgstr "連線需要密碼\n" + +#, c-format +#~ msgid "connection to database \"%s\" failed: %s" +#~ msgstr "連線至資料庫\"%s\"失敗: %s" + +#, c-format +#~ msgid "could not change directory to \"%s\"" +#~ msgstr "無法切換目錄至\"%s\"" + +#~ msgid "could not close data file after reading\n" +#~ msgstr "讀取後無法開啟資料檔\n" + +#~ msgid "could not close large object file\n" +#~ msgstr "無法關閉large object檔\n" + +#~ msgid "could not close tar member\n" +#~ msgstr "無法關閉tar成員\n" + +# fe-connect.c:1197 +#, c-format +#~ msgid "could not create worker thread: %s\n" +#~ msgstr "無法建立工作者執行緒:%s\n" + +#, c-format +#~ msgid "could not find block ID %d in archive -- possibly due to out-of-order restore request, which cannot be handled due to lack of data offsets in archive\n" +#~ msgstr "在封存檔中找不到區塊 ID %d,可能是失序的還原要求所致,因為封存檔中缺乏資料位移,所以無法加以處理\n" + +#~ msgid "could not find entry for pg_indexes in pg_class\n" +#~ msgstr "pg_class中找不到pg_indexes\n" + +#~ msgid "could not find slot of finished worker\n" +#~ msgstr "找不到完成的工作者位置\n" + +#~ msgid "could not open large object\n" +#~ msgstr "無法開啟large object\n" + +#, c-format +#~ msgid "could not open large object TOC for input: %s\n" +#~ msgstr "無法開啟large object TOC做輸入: %s\n" + +#, c-format +#~ msgid "could not open large object TOC for output: %s\n" +#~ msgstr "無法開啟large object TOC做輸出: %s\n" + +#, c-format +#~ msgid "could not open output file \"%s\" for writing\n" +#~ msgstr "無法開啟並寫入備份檔\"%s\"\n" + +#~ msgid "could not open temporary file\n" +#~ msgstr "無法開啟暫存檔\n" + +#~ msgid "could not output padding at end of tar member\n" +#~ msgstr "無法輸出填充內容至tar成員之後\n" + +#, c-format +#~ msgid "could not parse version string \"%s\"\n" +#~ msgstr "無法解讀版本字串\"%s\"\n" + +#, c-format +#~ msgid "could not read symbolic link \"%s\"" +#~ msgstr "無法讀取符號連結\"%s\"" + +#~ msgid "could not write byte\n" +#~ msgstr "無法寫入位元組\n" + +#, c-format +#~ msgid "could not write byte: %s\n" +#~ msgstr "無法寫入位元組: %s\n" + +#~ msgid "could not write null block at end of tar archive\n" +#~ msgstr "無法在tar備份檔寫入空區塊\n" + +#~ msgid "could not write to custom output routine\n" +#~ msgstr "無法寫入自定備份函式\n" + +#, c-format +#~ msgid "could not write to large object (result: %lu, expected: %lu)\n" +#~ msgstr "無法寫至large object(結果: %lu,預期: %lu)\n" + +#~ msgid "custom archiver" +#~ msgstr "自定壓縮器" + +#~ msgid "dumpBlobs(): could not open large object: %s" +#~ msgstr "dumpBlobs(): 無法開啟large object: %s" + +#~ msgid "dumpDatabase(): could not find pg_largeobject.relfrozenxid\n" +#~ msgstr "dumpDatabase(): 找不到 pg_largeobject.relfrozenxid\n" + +#~ msgid "dumpDatabase(): could not find pg_largeobject_metadata.relfrozenxid\n" +#~ msgstr "dumpDatabase(): 找不到 pg_largeobject_metadata.relfrozenxid\n" + +#~ msgid "entering restore_toc_entries_parallel\n" +#~ msgstr "正在輸入 restore_toc_entries_parallel\n" + +#~ msgid "failed to connect to database\n" +#~ msgstr "連線至資料庫失敗\n" + +#~ msgid "failed to reconnect to database\n" +#~ msgstr "重新連線至資料庫失敗\n" + +#~ msgid "file archiver" +#~ msgstr "檔案壓縮器" + +#, c-format +#~ msgid "finding default expressions of table \"%s\"\n" +#~ msgstr "尋找資料表\"%s\"的預設expressions\n" + +#, c-format +#~ msgid "finding the columns and types of table \"%s\"\n" +#~ msgstr "尋找資料表\"%s\"的欄位和型別\n" + +#~ msgid "found more than one entry for pg_indexes in pg_class\n" +#~ msgstr "pg_class中發現一個以上的pg_indexes\n" + +#~ msgid "found more than one pg_database entry for this database\n" +#~ msgstr "資料庫中發現一個以上的pg_database\n" + +#~ msgid "internal error -- neither th nor fh specified in tarReadRaw()\n" +#~ msgstr "內部錯誤 -- tarReadRaw()中未指定th或fh\n" + +#, c-format +#~ msgid "invalid COPY statement -- could not find \"copy\" in string \"%s\"\n" +#~ msgstr "非法的COPY敘述 -- 在字串\"%s\"中找不到\"copy\"\n" + +#, c-format +#~ msgid "invalid COPY statement -- could not find \"from stdin\" in string \"%s\" starting at position %lu\n" +#~ msgstr "無效的COPY敘述 -- 找不到\"from stdin\"於字串\"%s\"的位置 %lu\n" + +#, c-format +#~ msgid "mismatch in actual vs. predicted file position (%s vs. %s)\n" +#~ msgstr "實際檔案位置(%s)與預期位置(%s)不符\n" + +#, c-format +#~ msgid "missing pg_database entry for database \"%s\"\n" +#~ msgstr "資料庫\"%s\"中沒有pg_database\n" + +#~ msgid "missing pg_database entry for this database\n" +#~ msgstr "資料庫中沒有pg_database\n" + +#, c-format +#~ msgid "moving from position %s to next member at file position %s\n" +#~ msgstr "從位置 %s 移至位於檔案位置 %s 的下一個成員\n" + +#~ msgid "no item ready\n" +#~ msgstr "項目皆未就緒\n" + +#~ msgid "no label definitions found for enum ID %u\n" +#~ msgstr "找不到 enum ID %u 的標籤定義\n" + +#, c-format +#~ msgid "now at file position %s\n" +#~ msgstr "目前在檔案位置 %s\n" + +#~ msgid "options --inserts/--column-inserts and -o/--oids cannot be used together\n" +#~ msgstr "選項 --inserts/--column-inserts 和 -o/--oids 不能一起使用\n" + +#~ msgid "parallel_restore should not return\n" +#~ msgstr "parallel_restore 不應傳回\n" + +#, c-format +#~ msgid "query returned more than one (%d) pg_database entry for database \"%s\"\n" +#~ msgstr "查詢傳回一個以上(%d)的pg_database於資料庫\"%s\"\n" + +#~ msgid "query returned no rows: %s\n" +#~ msgstr "查詢未傳回資料列:%s\n" + +#, c-format +#~ msgid "query to get data of sequence \"%s\" returned name \"%s\"\n" +#~ msgstr "取得sequence \"%s\"資料的查詢傳回名稱\"%s\"\n" + +#, c-format +#~ msgid "read TOC entry %d (ID %d) for %s %s\n" +#~ msgstr "讀取TOC entry %d (ID %d)給%s %s\n" + +#, c-format +#~ msgid "reading triggers for table \"%s\"\n" +#~ msgstr "為資料表\"%s\"讀取triggers\n" + +#, c-format +#~ msgid "reducing dependencies for %d\n" +#~ msgstr "正在減少 %d 的相依性\n" + +#, c-format +#~ msgid "restoring large object OID %u\n" +#~ msgstr "還原large object OID %u\n" + +#~ msgid "saving large object comments\n" +#~ msgstr "正在儲存大型物件註解\n" + +#, c-format +#~ msgid "schema with OID %u does not exist\n" +#~ msgstr "OID為%u的schema不存在\n" + +#~ msgid "server version must be at least 7.3 to use schema selection switches\n" +#~ msgstr "伺服器版本必須至少是 7.3,才能使用網要選取參數\n" + +#, c-format +#~ msgid "setting owner and privileges for %s %s\n" +#~ msgstr "為 %s %s 設定擁有者和權限\n" + +#, c-format +#~ msgid "skipping tar member %s\n" +#~ msgstr "跳過tar成員 %s\n" + +#~ msgid "tar archiver" +#~ msgstr "tar壓縮器" + +#, c-format +#~ msgid "transferring dependency %d -> %d to %d\n" +#~ msgstr "正在轉送相依性 %d -> %d 到 %d\n" + +# utils/adt/rowtypes.c:178 utils/adt/rowtypes.c:186 +#~ msgid "unexpected end of file\n" +#~ msgstr "非預期的檔案結尾\n" + +#, c-format +#~ msgid "worker process crashed: status %d\n" +#~ msgstr "背景工作處理序已損毀: 狀態 %d\n" diff --git a/src/bin/pg_resetwal/po/ko.po b/src/bin/pg_resetwal/po/ko.po index 03e30bc6d88..64d8a8fb01b 100644 --- a/src/bin/pg_resetwal/po/ko.po +++ b/src/bin/pg_resetwal/po/ko.po @@ -3,10 +3,10 @@ # msgid "" msgstr "" -"Project-Id-Version: pg_resetwal (PostgreSQL) 13\n" +"Project-Id-Version: pg_resetwal (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2020-10-05 20:45+0000\n" -"PO-Revision-Date: 2020-10-06 13:44+0900\n" +"POT-Creation-Date: 2023-09-07 05:50+0000\n" +"PO-Revision-Date: 2023-09-08 16:10+0900\n" "Last-Translator: Ioseph Kim \n" "Language-Team: Korean Team \n" "Language: ko\n" @@ -15,168 +15,169 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../../../src/common/logging.c:236 -#, c-format -msgid "fatal: " -msgstr "심각: " - -#: ../../../src/common/logging.c:243 +#: ../../../src/common/logging.c:276 #, c-format msgid "error: " msgstr "오류: " -#: ../../../src/common/logging.c:250 +#: ../../../src/common/logging.c:283 #, c-format msgid "warning: " msgstr "경고: " -#: ../../common/restricted_token.c:64 +#: ../../../src/common/logging.c:294 #, c-format -msgid "could not load library \"%s\": error code %lu" -msgstr "\"%s\" 라이브러리를 로드할 수 없음: 오류 코드 %lu" +msgid "detail: " +msgstr "상세정보: " -#: ../../common/restricted_token.c:73 +#: ../../../src/common/logging.c:301 #, c-format -msgid "cannot create restricted tokens on this platform: error code %lu" -msgstr "이 운영체제에서 restricted token을 만들 수 없음: 오류 코드 %lu" +msgid "hint: " +msgstr "힌트: " -#: ../../common/restricted_token.c:82 +#: ../../common/restricted_token.c:60 #, c-format msgid "could not open process token: error code %lu" msgstr "프로세스 토큰을 열 수 없음: 오류 코드 %lu" -#: ../../common/restricted_token.c:97 +#: ../../common/restricted_token.c:74 #, c-format msgid "could not allocate SIDs: error code %lu" msgstr "SID를 할당할 수 없음: 오류 코드 %lu" -#: ../../common/restricted_token.c:119 +#: ../../common/restricted_token.c:94 #, c-format msgid "could not create restricted token: error code %lu" msgstr "상속된 토큰을 만들 수 없음: 오류 코드 %lu" -#: ../../common/restricted_token.c:140 +#: ../../common/restricted_token.c:115 #, c-format msgid "could not start process for command \"%s\": error code %lu" msgstr "\"%s\" 명령용 프로세스를 시작할 수 없음: 오류 코드 %lu" -#: ../../common/restricted_token.c:178 +#: ../../common/restricted_token.c:153 #, c-format msgid "could not re-execute with restricted token: error code %lu" msgstr "상속된 토큰으로 재실행할 수 없음: 오류 코드 %lu" -#: ../../common/restricted_token.c:194 +#: ../../common/restricted_token.c:168 #, c-format msgid "could not get exit code from subprocess: error code %lu" msgstr "하위 프로세스의 종료 코드를 구할 수 없음: 오류 코드 %lu" #. translator: the second %s is a command line argument (-e, etc) -#: pg_resetwal.c:160 pg_resetwal.c:175 pg_resetwal.c:190 pg_resetwal.c:197 -#: pg_resetwal.c:221 pg_resetwal.c:236 pg_resetwal.c:244 pg_resetwal.c:269 -#: pg_resetwal.c:283 +#: pg_resetwal.c:163 pg_resetwal.c:176 pg_resetwal.c:189 pg_resetwal.c:202 +#: pg_resetwal.c:209 pg_resetwal.c:228 pg_resetwal.c:241 pg_resetwal.c:249 +#: pg_resetwal.c:269 pg_resetwal.c:280 #, c-format msgid "invalid argument for option %s" msgstr "%s 옵션의 잘못된 인자" -#: pg_resetwal.c:161 pg_resetwal.c:176 pg_resetwal.c:191 pg_resetwal.c:198 -#: pg_resetwal.c:222 pg_resetwal.c:237 pg_resetwal.c:245 pg_resetwal.c:270 -#: pg_resetwal.c:284 pg_resetwal.c:310 pg_resetwal.c:323 pg_resetwal.c:331 +#: pg_resetwal.c:164 pg_resetwal.c:177 pg_resetwal.c:190 pg_resetwal.c:203 +#: pg_resetwal.c:210 pg_resetwal.c:229 pg_resetwal.c:242 pg_resetwal.c:250 +#: pg_resetwal.c:270 pg_resetwal.c:281 pg_resetwal.c:303 pg_resetwal.c:316 +#: pg_resetwal.c:323 #, c-format -msgid "Try \"%s --help\" for more information.\n" -msgstr "자세한 사용법은 \"%s --help\"\n" +msgid "Try \"%s --help\" for more information." +msgstr "자세한 사항은 \"%s --help\" 명령으로 살펴보세요." -#: pg_resetwal.c:166 +#: pg_resetwal.c:168 #, c-format msgid "transaction ID epoch (-e) must not be -1" msgstr "트랜잭션 ID epoch (-e) 값은 -1이 아니여야함" #: pg_resetwal.c:181 #, c-format -msgid "transaction ID (-x) must not be 0" -msgstr "트랜잭션 ID (-x) 값은 0이 아니여야함" +msgid "oldest transaction ID (-u) must be greater than or equal to %u" +msgstr "제일 오래된 트랜잭션 ID (-u)는 %u 보다 크거나 같아야 함" + +#: pg_resetwal.c:194 +#, c-format +msgid "transaction ID (-x) must be greater than or equal to %u" +msgstr "트랜잭션 ID (-x)는 %u 보다 크거나 같아야 함" -#: pg_resetwal.c:205 pg_resetwal.c:212 +#: pg_resetwal.c:216 pg_resetwal.c:220 #, c-format msgid "transaction ID (-c) must be either 0 or greater than or equal to 2" msgstr "-c 옵션으로 지정한 트랜잭션 ID는 0이거나 2이상이어야 함" -#: pg_resetwal.c:227 +#: pg_resetwal.c:233 #, c-format msgid "OID (-o) must not be 0" msgstr "OID (-o) 값은 0이 아니여야함" -#: pg_resetwal.c:250 +#: pg_resetwal.c:254 #, c-format msgid "multitransaction ID (-m) must not be 0" msgstr "멀티트랜잭션 ID (-m) 값은 0이 아니여야함" -#: pg_resetwal.c:260 +#: pg_resetwal.c:261 #, c-format msgid "oldest multitransaction ID (-m) must not be 0" msgstr "제일 오래된 멀티트랜잭션 ID (-m) 값은 0이 아니여야함" -#: pg_resetwal.c:275 +#: pg_resetwal.c:274 #, c-format msgid "multitransaction offset (-O) must not be -1" msgstr "멀티트랜잭션 옵셋 (-O) 값은 -1이 아니여야함" -#: pg_resetwal.c:299 +#: pg_resetwal.c:296 #, c-format msgid "argument of --wal-segsize must be a number" msgstr "--wal-segsize 값은 숫자여야 합니다" -#: pg_resetwal.c:304 +#: pg_resetwal.c:298 #, c-format -msgid "argument of --wal-segsize must be a power of 2 between 1 and 1024" +msgid "argument of --wal-segsize must be a power of two between 1 and 1024" msgstr "--wal-segsize 값은 1부터 1024사이 2^n 값이어야 합니다" -#: pg_resetwal.c:321 +#: pg_resetwal.c:314 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "너무 많은 명령행 인수를 지정했습니다. (처음 \"%s\")" -#: pg_resetwal.c:330 +#: pg_resetwal.c:322 #, c-format msgid "no data directory specified" msgstr "데이터 디렉터리를 지정하지 않았음" -#: pg_resetwal.c:344 +#: pg_resetwal.c:336 #, c-format msgid "cannot be executed by \"root\"" msgstr "\"root\" 계정으로는 실행 할 수 없음" -#: pg_resetwal.c:345 +#: pg_resetwal.c:337 #, c-format msgid "You must run %s as the PostgreSQL superuser." msgstr "PostgreSQL superuser로 %s 프로그램을 실행하십시오." -#: pg_resetwal.c:356 +#: pg_resetwal.c:347 #, c-format msgid "could not read permissions of directory \"%s\": %m" msgstr "\"%s\" 디렉터리 읽기 권한 없음: %m" -#: pg_resetwal.c:365 +#: pg_resetwal.c:353 #, c-format msgid "could not change directory to \"%s\": %m" msgstr "\"%s\" 이름의 디렉터리로 이동할 수 없습니다: %m" -#: pg_resetwal.c:381 pg_resetwal.c:544 pg_resetwal.c:595 +#: pg_resetwal.c:366 pg_resetwal.c:518 pg_resetwal.c:566 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "\"%s\" 파일 일기 모드로 열기 실패: %m" -#: pg_resetwal.c:388 +#: pg_resetwal.c:371 #, c-format msgid "lock file \"%s\" exists" msgstr "\"%s\" 잠금 파일이 있음" -#: pg_resetwal.c:389 +#: pg_resetwal.c:372 #, c-format msgid "Is a server running? If not, delete the lock file and try again." msgstr "" "서버가 가동중인가요? 그렇지 않다면, 이 파일을 지우고 다시 시도하십시오." -#: pg_resetwal.c:492 +#: pg_resetwal.c:467 #, c-format msgid "" "\n" @@ -185,7 +186,7 @@ msgstr "" "\n" "이 설정값들이 타당하다고 판단되면, 강제로 갱신하려면, -f 옵션을 쓰세요.\n" -#: pg_resetwal.c:504 +#: pg_resetwal.c:479 #, c-format msgid "" "The database server was not shut down cleanly.\n" @@ -196,34 +197,34 @@ msgstr "" "트랜잭션 로그를 다시 설정하는 것은 자료 손실을 야기할 수 있습니다.\n" "그럼에도 불구하고 진행하려면, -f 옵션을 사용해서 강제 설정을 하십시오.\n" -#: pg_resetwal.c:518 +#: pg_resetwal.c:493 #, c-format msgid "Write-ahead log reset\n" msgstr "트랜잭션 로그 재설정\n" -#: pg_resetwal.c:553 +#: pg_resetwal.c:525 #, c-format msgid "unexpected empty file \"%s\"" msgstr "\"%s\" 파일은 예상치 않게 비었음" -#: pg_resetwal.c:555 pg_resetwal.c:611 +#: pg_resetwal.c:527 pg_resetwal.c:581 #, c-format msgid "could not read file \"%s\": %m" msgstr "\"%s\" 파일을 읽을 수 없음: %m" -#: pg_resetwal.c:564 +#: pg_resetwal.c:535 #, c-format msgid "data directory is of wrong version" msgstr "잘못된 버전의 데이터 디렉터리입니다." -#: pg_resetwal.c:565 +#: pg_resetwal.c:536 #, c-format msgid "" "File \"%s\" contains \"%s\", which is not compatible with this program's " "version \"%s\"." msgstr "\"%s\" 파일 버전은 \"%s\", 이 프로그램 버전은 \"%s\"." -#: pg_resetwal.c:598 +#: pg_resetwal.c:569 #, c-format msgid "" "If you are sure the data directory path is correct, execute\n" @@ -234,12 +235,12 @@ msgstr "" "보십시오.\n" " touch %s" -#: pg_resetwal.c:629 +#: pg_resetwal.c:597 #, c-format msgid "pg_control exists but has invalid CRC; proceed with caution" msgstr "pg_control 파일이 있지만, CRC값이 잘못되었습니다; 경고와 함께 진행함" -#: pg_resetwal.c:638 +#: pg_resetwal.c:606 #, c-format msgid "" "pg_control specifies invalid WAL segment size (%d byte); proceed with caution" @@ -250,12 +251,12 @@ msgstr[0] "" "pg_control 파일에 잘못된 WAL 조각 파일 크기(%d 바이트)가 지정됨; 경고와 함께 " "진행함" -#: pg_resetwal.c:649 +#: pg_resetwal.c:617 #, c-format msgid "pg_control exists but is broken or wrong version; ignoring it" msgstr "pg_control 파일이 있지만, 손상되었거나 버전을 알 수 없음; 무시함" -#: pg_resetwal.c:744 +#: pg_resetwal.c:712 #, c-format msgid "" "Guessed pg_control values:\n" @@ -264,7 +265,7 @@ msgstr "" "추측된 pg_control 설정값들:\n" "\n" -#: pg_resetwal.c:746 +#: pg_resetwal.c:714 #, c-format msgid "" "Current pg_control values:\n" @@ -273,167 +274,167 @@ msgstr "" "현재 pg_control 설정값들:\n" "\n" -#: pg_resetwal.c:748 +#: pg_resetwal.c:716 #, c-format msgid "pg_control version number: %u\n" msgstr "pg_control 버전 번호: %u\n" -#: pg_resetwal.c:750 +#: pg_resetwal.c:718 #, c-format msgid "Catalog version number: %u\n" msgstr "카탈로그 버전 번호: %u\n" -#: pg_resetwal.c:752 +#: pg_resetwal.c:720 #, c-format msgid "Database system identifier: %llu\n" msgstr "데이터베이스 시스템 식별자: %llu\n" -#: pg_resetwal.c:754 +#: pg_resetwal.c:722 #, c-format msgid "Latest checkpoint's TimeLineID: %u\n" msgstr "마지막 체크포인트 TimeLineID: %u\n" -#: pg_resetwal.c:756 +#: pg_resetwal.c:724 #, c-format msgid "Latest checkpoint's full_page_writes: %s\n" msgstr "마지막 체크포인트 full_page_writes: %s\n" -#: pg_resetwal.c:757 +#: pg_resetwal.c:725 msgid "off" msgstr "off" -#: pg_resetwal.c:757 +#: pg_resetwal.c:725 msgid "on" msgstr "on" -#: pg_resetwal.c:758 +#: pg_resetwal.c:726 #, c-format msgid "Latest checkpoint's NextXID: %u:%u\n" msgstr "마지막 체크포인트 NextXID: %u:%u\n" -#: pg_resetwal.c:761 +#: pg_resetwal.c:729 #, c-format msgid "Latest checkpoint's NextOID: %u\n" msgstr "마지막 체크포인트 NextOID: %u\n" -#: pg_resetwal.c:763 +#: pg_resetwal.c:731 #, c-format msgid "Latest checkpoint's NextMultiXactId: %u\n" msgstr "마지막 체크포인트 NextMultiXactId: %u\n" -#: pg_resetwal.c:765 +#: pg_resetwal.c:733 #, c-format msgid "Latest checkpoint's NextMultiOffset: %u\n" msgstr "마지막 체크포인트 NextMultiOffset: %u\n" -#: pg_resetwal.c:767 +#: pg_resetwal.c:735 #, c-format msgid "Latest checkpoint's oldestXID: %u\n" msgstr "마지막 체크포인트 제일 오래된 XID: %u\n" -#: pg_resetwal.c:769 +#: pg_resetwal.c:737 #, c-format msgid "Latest checkpoint's oldestXID's DB: %u\n" msgstr "마지막 체크포인트 제일 오래된 XID의 DB:%u\n" -#: pg_resetwal.c:771 +#: pg_resetwal.c:739 #, c-format msgid "Latest checkpoint's oldestActiveXID: %u\n" msgstr "마지막 체크포인트 제일 오래된 ActiveXID:%u\n" -#: pg_resetwal.c:773 +#: pg_resetwal.c:741 #, c-format msgid "Latest checkpoint's oldestMultiXid: %u\n" msgstr "마지막 체크포인트 제일 오래된 MultiXid:%u\n" -#: pg_resetwal.c:775 +#: pg_resetwal.c:743 #, c-format msgid "Latest checkpoint's oldestMulti's DB: %u\n" msgstr "마지막 체크포인트 제일 오래된 MultiXid의 DB:%u\n" -#: pg_resetwal.c:777 +#: pg_resetwal.c:745 #, c-format msgid "Latest checkpoint's oldestCommitTsXid:%u\n" msgstr "마지막 체크포인트 제일 오래된 CommitTsXid:%u\n" -#: pg_resetwal.c:779 +#: pg_resetwal.c:747 #, c-format msgid "Latest checkpoint's newestCommitTsXid:%u\n" msgstr "마지막 체크포인트 최신 CommitTsXid: %u\n" -#: pg_resetwal.c:781 +#: pg_resetwal.c:749 #, c-format msgid "Maximum data alignment: %u\n" msgstr "최대 자료 정렬: %u\n" -#: pg_resetwal.c:784 +#: pg_resetwal.c:752 #, c-format msgid "Database block size: %u\n" msgstr "데이터베이스 블록 크기: %u\n" -#: pg_resetwal.c:786 +#: pg_resetwal.c:754 #, c-format msgid "Blocks per segment of large relation: %u\n" msgstr "대형 릴레이션의 세그먼트당 블럭 갯수: %u\n" -#: pg_resetwal.c:788 +#: pg_resetwal.c:756 #, c-format msgid "WAL block size: %u\n" msgstr "WAL 블록 크기: %u\n" -#: pg_resetwal.c:790 pg_resetwal.c:876 +#: pg_resetwal.c:758 pg_resetwal.c:844 #, c-format msgid "Bytes per WAL segment: %u\n" msgstr "WAL 세그먼트의 크기(byte): %u\n" -#: pg_resetwal.c:792 +#: pg_resetwal.c:760 #, c-format msgid "Maximum length of identifiers: %u\n" msgstr "식별자 최대 길이: %u\n" -#: pg_resetwal.c:794 +#: pg_resetwal.c:762 #, c-format msgid "Maximum columns in an index: %u\n" msgstr "인덱스에서 사용하는 최대 열 수: %u\n" -#: pg_resetwal.c:796 +#: pg_resetwal.c:764 #, c-format msgid "Maximum size of a TOAST chunk: %u\n" msgstr "TOAST 청크의 최대 크기: %u\n" -#: pg_resetwal.c:798 +#: pg_resetwal.c:766 #, c-format msgid "Size of a large-object chunk: %u\n" msgstr "대형객체 청크의 최대 크기: %u\n" -#: pg_resetwal.c:801 +#: pg_resetwal.c:769 #, c-format msgid "Date/time type storage: %s\n" msgstr "날짜/시간형 자료의 저장방식: %s\n" -#: pg_resetwal.c:802 +#: pg_resetwal.c:770 msgid "64-bit integers" msgstr "64-비트 정수" -#: pg_resetwal.c:803 +#: pg_resetwal.c:771 #, c-format msgid "Float8 argument passing: %s\n" msgstr "Float8 인수 전달: %s\n" -#: pg_resetwal.c:804 +#: pg_resetwal.c:772 msgid "by reference" msgstr "참조별" -#: pg_resetwal.c:804 +#: pg_resetwal.c:772 msgid "by value" msgstr "값별" -#: pg_resetwal.c:805 +#: pg_resetwal.c:773 #, c-format msgid "Data page checksum version: %u\n" msgstr "데이터 페이지 체크섬 버전: %u\n" -#: pg_resetwal.c:819 +#: pg_resetwal.c:787 #, c-format msgid "" "\n" @@ -446,102 +447,102 @@ msgstr "" "변경될 값:\n" "\n" -#: pg_resetwal.c:823 +#: pg_resetwal.c:791 #, c-format msgid "First log segment after reset: %s\n" msgstr "리셋 뒤 첫 로그 세그먼트: %s\n" -#: pg_resetwal.c:827 +#: pg_resetwal.c:795 #, c-format msgid "NextMultiXactId: %u\n" msgstr "NextMultiXactId: %u\n" -#: pg_resetwal.c:829 +#: pg_resetwal.c:797 #, c-format msgid "OldestMultiXid: %u\n" msgstr "OldestMultiXid: %u\n" -#: pg_resetwal.c:831 +#: pg_resetwal.c:799 #, c-format msgid "OldestMulti's DB: %u\n" msgstr "OldestMultiXid의 DB: %u\n" -#: pg_resetwal.c:837 +#: pg_resetwal.c:805 #, c-format msgid "NextMultiOffset: %u\n" msgstr "NextMultiOffset: %u\n" -#: pg_resetwal.c:843 +#: pg_resetwal.c:811 #, c-format msgid "NextOID: %u\n" msgstr "NextOID: %u\n" -#: pg_resetwal.c:849 +#: pg_resetwal.c:817 #, c-format msgid "NextXID: %u\n" msgstr "NextXID: %u\n" -#: pg_resetwal.c:851 +#: pg_resetwal.c:819 #, c-format msgid "OldestXID: %u\n" msgstr "OldestXID: %u\n" -#: pg_resetwal.c:853 +#: pg_resetwal.c:821 #, c-format msgid "OldestXID's DB: %u\n" msgstr "OldestXID의 DB: %u\n" -#: pg_resetwal.c:859 +#: pg_resetwal.c:827 #, c-format msgid "NextXID epoch: %u\n" msgstr "NextXID epoch: %u\n" -#: pg_resetwal.c:865 +#: pg_resetwal.c:833 #, c-format msgid "oldestCommitTsXid: %u\n" msgstr "제일 오래된 CommitTsXid: %u\n" -#: pg_resetwal.c:870 +#: pg_resetwal.c:838 #, c-format msgid "newestCommitTsXid: %u\n" msgstr "최근 CommitTsXid: %u\n" -#: pg_resetwal.c:956 pg_resetwal.c:1024 pg_resetwal.c:1071 +#: pg_resetwal.c:921 pg_resetwal.c:974 pg_resetwal.c:1009 #, c-format msgid "could not open directory \"%s\": %m" msgstr "\"%s\" 디렉터리 열 수 없음: %m" -#: pg_resetwal.c:991 pg_resetwal.c:1044 pg_resetwal.c:1094 +#: pg_resetwal.c:947 pg_resetwal.c:988 pg_resetwal.c:1026 #, c-format msgid "could not read directory \"%s\": %m" msgstr "\"%s\" 디렉터리를 읽을 수 없음: %m" -#: pg_resetwal.c:997 pg_resetwal.c:1050 pg_resetwal.c:1100 +#: pg_resetwal.c:950 pg_resetwal.c:991 pg_resetwal.c:1029 #, c-format msgid "could not close directory \"%s\": %m" msgstr "\"%s\" 디렉터리를 닫을 수 없음: %m" -#: pg_resetwal.c:1036 pg_resetwal.c:1086 +#: pg_resetwal.c:983 pg_resetwal.c:1021 #, c-format msgid "could not delete file \"%s\": %m" msgstr "\"%s\" 파일을 지울 수 없음: %m" -#: pg_resetwal.c:1167 +#: pg_resetwal.c:1093 #, c-format msgid "could not open file \"%s\": %m" msgstr "\"%s\" 파일을 열 수 없음: %m" -#: pg_resetwal.c:1177 pg_resetwal.c:1190 +#: pg_resetwal.c:1101 pg_resetwal.c:1113 #, c-format msgid "could not write file \"%s\": %m" msgstr "\"%s\" 파일 쓰기 실패: %m" -#: pg_resetwal.c:1197 +#: pg_resetwal.c:1118 #, c-format msgid "fsync error: %m" msgstr "fsync 오류: %m" -#: pg_resetwal.c:1208 +#: pg_resetwal.c:1127 #, c-format msgid "" "%s resets the PostgreSQL write-ahead log.\n" @@ -550,7 +551,7 @@ msgstr "" "%s 프로그램은 PostgreSQL 트랜잭션 로그를 다시 설정합니다.\n" "\n" -#: pg_resetwal.c:1209 +#: pg_resetwal.c:1128 #, c-format msgid "" "Usage:\n" @@ -561,93 +562,100 @@ msgstr "" " %s [옵션]... DATADIR\n" "\n" -#: pg_resetwal.c:1210 +#: pg_resetwal.c:1129 #, c-format msgid "Options:\n" msgstr "옵션들:\n" -#: pg_resetwal.c:1211 +#: pg_resetwal.c:1130 #, c-format msgid "" " -c, --commit-timestamp-ids=XID,XID\n" -" set oldest and newest transactions bearing\n" -" commit timestamp (zero means no change)\n" +" set oldest and newest transactions " +"bearing\n" +" commit timestamp (zero means no change)\n" msgstr "" " -c, --commit-timestamp-ids=XID,XID\n" -" 커밋 타임스탬프를 사용할 최소,최대 트랜잭" +" 커밋 타임스탬프를 사용할 최소,최대 트랜잭" "션\n" -" ID 값 (0이면 바꾸지 않음)\n" +" ID 값 (0이면 바꾸지 않음)\n" -#: pg_resetwal.c:1214 +#: pg_resetwal.c:1133 #, c-format -msgid " [-D, --pgdata=]DATADIR data directory\n" -msgstr " [-D, --pgdata=]DATADIR 데이터 디렉터리\n" +msgid " [-D, --pgdata=]DATADIR data directory\n" +msgstr " [-D, --pgdata=]DATADIR 데이터 디렉터리\n" -#: pg_resetwal.c:1215 +#: pg_resetwal.c:1134 #, c-format -msgid " -e, --epoch=XIDEPOCH set next transaction ID epoch\n" -msgstr " -e, --epoch=XIDEPOCH 다음 트랙잭션 ID epoch 지정\n" +msgid " -e, --epoch=XIDEPOCH set next transaction ID epoch\n" +msgstr " -e, --epoch=XIDEPOCH 다음 트랙잭션 ID epoch 지정\n" -#: pg_resetwal.c:1216 +#: pg_resetwal.c:1135 #, c-format -msgid " -f, --force force update to be done\n" -msgstr " -f, --force 강제로 갱신함\n" +msgid " -f, --force force update to be done\n" +msgstr " -f, --force 강제로 갱신함\n" -#: pg_resetwal.c:1217 +#: pg_resetwal.c:1136 #, c-format msgid "" -" -l, --next-wal-file=WALFILE set minimum starting location for new WAL\n" +" -l, --next-wal-file=WALFILE set minimum starting location for new " +"WAL\n" msgstr "" -" -l, --next-wal-file=WALFILE 새 트랜잭션 로그를 위한 WAL 최소 시작 위치" +" -l, --next-wal-file=WALFILE 새 트랜잭션 로그를 위한 WAL 최소 시작 위치" "를 강제로 지정\n" -#: pg_resetwal.c:1218 +#: pg_resetwal.c:1137 #, c-format msgid "" -" -m, --multixact-ids=MXID,MXID set next and oldest multitransaction ID\n" +" -m, --multixact-ids=MXID,MXID set next and oldest multitransaction ID\n" msgstr "" -" -m, --multixact-ids=MXID,MXID 다음 제일 오래된 멀티트랜잭션 ID 지정\n" +" -m, --multixact-ids=MXID,MXID 다음 제일 오래된 멀티트랜잭션 ID 지정\n" -#: pg_resetwal.c:1219 +#: pg_resetwal.c:1138 #, c-format msgid "" -" -n, --dry-run no update, just show what would be done\n" +" -n, --dry-run no update, just show what would be done\n" msgstr "" -" -n, --dry-run 갱신하지 않음, 컨트롤 값들을 보여주기만 함" -"(테스트용)\n" +" -n, --dry-run 갱신하지 않음, 컨트롤 값들을 보여주기만 " +"함\n" + +#: pg_resetwal.c:1139 +#, c-format +msgid " -o, --next-oid=OID set next OID\n" +msgstr " -o, --next-oid=OID 다음 OID 지정\n" -#: pg_resetwal.c:1220 +#: pg_resetwal.c:1140 #, c-format -msgid " -o, --next-oid=OID set next OID\n" -msgstr " -o, --next-oid=OID 다음 OID 지정\n" +msgid " -O, --multixact-offset=OFFSET set next multitransaction offset\n" +msgstr " -O, --multixact-offset=OFFSET 다음 멀티트랜잭션 옵셋 지정\n" -#: pg_resetwal.c:1221 +#: pg_resetwal.c:1141 #, c-format -msgid " -O, --multixact-offset=OFFSET set next multitransaction offset\n" -msgstr " -O, --multixact-offset=OFFSET 다음 멀티트랜잭션 옵셋 지정\n" +msgid " -u, --oldest-transaction-id=XID set oldest transaction ID\n" +msgstr " -u, --oldest-transaction-id=XID 제일 오래된 트랜잭션 ID 지정\n" -#: pg_resetwal.c:1222 +#: pg_resetwal.c:1142 #, c-format msgid "" -" -V, --version output version information, then exit\n" -msgstr " -V, --version 버전 정보를 보여주고 마침\n" +" -V, --version output version information, then exit\n" +msgstr " -V, --version 버전 정보를 보여주고 마침\n" -#: pg_resetwal.c:1223 +#: pg_resetwal.c:1143 #, c-format -msgid " -x, --next-transaction-id=XID set next transaction ID\n" -msgstr " -x, --next-transaction-id=XID 다음 트랜잭션 ID 지정\n" +msgid " -x, --next-transaction-id=XID set next transaction ID\n" +msgstr " -x, --next-transaction-id=XID 다음 트랜잭션 ID 지정\n" -#: pg_resetwal.c:1224 +#: pg_resetwal.c:1144 #, c-format -msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" -msgstr " --wal-segsize=SIZE WAL 조각 파일 크기, MB 단위\n" +msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" +msgstr " --wal-segsize=SIZE WAL 조각 파일 크기, MB 단위\n" -#: pg_resetwal.c:1225 +#: pg_resetwal.c:1145 #, c-format -msgid " -?, --help show this help, then exit\n" -msgstr " -?, --help 이 도움말을 보여주고 마침\n" +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help 이 도움말을 표시하고 종료\n" -#: pg_resetwal.c:1226 +#: pg_resetwal.c:1146 #, c-format msgid "" "\n" @@ -656,7 +664,7 @@ msgstr "" "\n" "문제점 보고 주소: <%s>\n" -#: pg_resetwal.c:1227 +#: pg_resetwal.c:1147 #, c-format msgid "%s home page: <%s>\n" msgstr "%s 홈페이지: <%s>\n" diff --git a/src/bin/pg_rewind/po/el.po b/src/bin/pg_rewind/po/el.po index 44cfc690b6e..bea1edafacd 100644 --- a/src/bin/pg_rewind/po/el.po +++ b/src/bin/pg_rewind/po/el.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_rewind (PostgreSQL) 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-04-14 09:20+0000\n" -"PO-Revision-Date: 2023-04-14 14:32+0200\n" +"POT-Creation-Date: 2023-08-14 23:21+0000\n" +"PO-Revision-Date: 2023-08-15 15:11+0200\n" "Last-Translator: Georgios Kokolatos \n" "Language-Team: \n" "Language: el\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Poedit 3.2.2\n" +"X-Generator: Poedit 3.3.2\n" #: ../../../src/common/logging.c:276 #, c-format @@ -41,82 +41,82 @@ msgid "hint: " msgstr "υπόδειξη: " #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 -#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format msgid "out of memory\n" msgstr "έλλειψη μνήμης\n" -#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 #, c-format msgid "cannot duplicate null pointer (internal error)\n" msgstr "δεν ήταν δυνατή η αντιγραφή δείκτη null (εσωτερικό σφάλμα)\n" -#: ../../common/restricted_token.c:64 +#: ../../common/percentrepl.c:79 ../../common/percentrepl.c:118 #, c-format -msgid "could not load library \"%s\": error code %lu" -msgstr "δεν ήταν δυνατή η φόρτωση της βιβλιοθήκης «%s»: κωδικός σφάλματος %lu" +msgid "invalid value for parameter \"%s\": \"%s\"" +msgstr "άκυρη τιμή για την παράμετρο «%s»: «%s»" -#: ../../common/restricted_token.c:73 +#: ../../common/percentrepl.c:80 #, c-format -msgid "cannot create restricted tokens on this platform: error code %lu" -msgstr "δεν ήταν δυνατή η δημιουργία διακριτικών περιορισμού στην παρούσα πλατφόρμα: κωδικός σφάλματος %lu" +msgid "String ends unexpectedly after escape character \"%%\"." +msgstr "Η συμβολοσειρά τερματίζει απροσδόκητα μετά τον χαρακτήρα διαφυγής «%%»." -#: ../../common/restricted_token.c:82 +#: ../../common/percentrepl.c:119 +#, c-format +msgid "String contains unexpected placeholder \"%%%c\"." +msgstr "Η συμβολοσειρά περιέχει μη αναμενόμενο σύμβολο αναμονής «%%%c»." + +#: ../../common/restricted_token.c:60 #, c-format msgid "could not open process token: error code %lu" msgstr "δεν ήταν δυνατό το άνοιγμα διακριτικού διεργασίας: κωδικός σφάλματος %lu" -#: ../../common/restricted_token.c:97 +#: ../../common/restricted_token.c:74 #, c-format msgid "could not allocate SIDs: error code %lu" msgstr "δεν ήταν δυνατή η εκχώρηση SID: κωδικός σφάλματος %lu" -#: ../../common/restricted_token.c:119 +#: ../../common/restricted_token.c:94 #, c-format msgid "could not create restricted token: error code %lu" msgstr "δεν ήταν δυνατή η δημιουργία διακριτικού διεργασίας: κωδικός σφάλματος %lu" -#: ../../common/restricted_token.c:140 +#: ../../common/restricted_token.c:115 #, c-format msgid "could not start process for command \"%s\": error code %lu" msgstr "δεν ήταν δυνατή η εκκίνηση διεργασίας για την εντολή «%s»: κωδικός σφάλματος %lu" -#: ../../common/restricted_token.c:178 +#: ../../common/restricted_token.c:153 #, c-format msgid "could not re-execute with restricted token: error code %lu" msgstr "δεν ήταν δυνατή η επανεκκίνηση με διακριτικό περιορισμού: κωδικός σφάλματος %lu" -#: ../../common/restricted_token.c:193 +#: ../../common/restricted_token.c:168 #, c-format msgid "could not get exit code from subprocess: error code %lu" msgstr "δεν ήταν δυνατή η απόκτηση κωδικού εξόδου από την υποδιεργασία: κωδικός σφάλματος %lu" -#: ../../fe_utils/archive.c:52 -#, c-format -msgid "cannot use restore_command with %%r placeholder" -msgstr "δεν είναι δυνατή η χρήση restore_command μαζί με %%r placeholder" - -#: ../../fe_utils/archive.c:70 +#: ../../fe_utils/archive.c:69 #, c-format msgid "unexpected file size for \"%s\": %lld instead of %lld" msgstr "μη αναμενόμενο μέγεθος αρχείου για «%s»: %lld αντί για %lld" -#: ../../fe_utils/archive.c:78 +#: ../../fe_utils/archive.c:77 #, c-format msgid "could not open file \"%s\" restored from archive: %m" msgstr "δεν ήταν δυνατό το άνοιγμα του αρχείου «%s» που έχει επαναφερθεί από την αρχειοθήκη: %m" -#: ../../fe_utils/archive.c:87 file_ops.c:417 +#: ../../fe_utils/archive.c:86 file_ops.c:417 #, c-format msgid "could not stat file \"%s\": %m" msgstr "δεν ήταν δυνατή η εκτέλεση stat στο αρχείο «%s»: %m" -#: ../../fe_utils/archive.c:99 +#: ../../fe_utils/archive.c:98 #, c-format msgid "restore_command failed: %s" msgstr "restore_command απέτυχε: %s" -#: ../../fe_utils/archive.c:106 +#: ../../fe_utils/archive.c:105 #, c-format msgid "could not restore file \"%s\" from archive" msgstr "δεν ήταν δυνατή η επαναφορά του αρχείου «%s» από την αρχειοθήκη" @@ -228,27 +228,22 @@ msgstr "δεν ήταν δυνατή η ανάγνωση του αρχείου msgid "could not open directory \"%s\": %m" msgstr "δεν ήταν δυνατό το άνοιγμα του καταλόγου «%s»: %m" -#: file_ops.c:446 +#: file_ops.c:441 #, c-format msgid "could not read symbolic link \"%s\": %m" msgstr "δεν ήταν δυνατή η ανάγνωση του συμβολικού συνδέσμου «%s»: %m" -#: file_ops.c:449 +#: file_ops.c:444 #, c-format msgid "symbolic link \"%s\" target is too long" msgstr "ο συμβολικός σύνδεσμος «%s» είναι πολύ μακρύς" -#: file_ops.c:464 -#, c-format -msgid "\"%s\" is a symbolic link, but symbolic links are not supported on this platform" -msgstr "«%s» είναι ένας συμβολικός σύνδεσμος, αλλά οι συμβολικοί σύνδεσμοι δεν υποστηρίζονται σε αυτήν την πλατφόρμα" - -#: file_ops.c:471 +#: file_ops.c:462 #, c-format msgid "could not read directory \"%s\": %m" msgstr "δεν ήταν δυνατή η ανάγνωση του καταλόγου «%s»: %m" -#: file_ops.c:475 +#: file_ops.c:466 #, c-format msgid "could not close directory \"%s\": %m" msgstr "δεν ήταν δυνατό το κλείσιμο του καταλόγου «%s»: %m" @@ -468,7 +463,7 @@ msgstr "δεν ήταν δυνατή η αναζήτηση στο αρχείο msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X" msgstr "Η εγγραφή WAL τροποποιεί μια σχέση, αλλά ο τύπος εγγραφής δεν αναγνωρίζεται: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X" -#: pg_rewind.c:86 +#: pg_rewind.c:92 #, c-format msgid "" "%s resynchronizes a PostgreSQL cluster with another copy of the cluster.\n" @@ -477,7 +472,7 @@ msgstr "" "%s επανασυγχρονίζει μία συστάδα PostgreSQL με ένα άλλο αντίγραφο της συστάδας.\n" "\n" -#: pg_rewind.c:87 +#: pg_rewind.c:93 #, c-format msgid "" "Usage:\n" @@ -488,12 +483,12 @@ msgstr "" " %s [ΕΠΙΛΟΓΗ]...\n" "\n" -#: pg_rewind.c:88 +#: pg_rewind.c:94 #, c-format msgid "Options:\n" msgstr "Επιλογές:\n" -#: pg_rewind.c:89 +#: pg_rewind.c:95 #, c-format msgid "" " -c, --restore-target-wal use restore_command in target configuration to\n" @@ -502,39 +497,39 @@ msgstr "" " -c, --restore-target-wal χρησιμοποίησε restore_command στη ρύθμιση προορισμού για την\n" " ανάκτηση αρχείων WAL από αρχειοθήκες\n" -#: pg_rewind.c:91 +#: pg_rewind.c:97 #, c-format msgid " -D, --target-pgdata=DIRECTORY existing data directory to modify\n" msgstr " -D, --target-pgdata=DIRECTORY υπάρχον κατάλογος δεδομένων προς τροποποιήση\n" -#: pg_rewind.c:92 +#: pg_rewind.c:98 #, c-format msgid " --source-pgdata=DIRECTORY source data directory to synchronize with\n" msgstr " --source-pgdata=DIRECTORY κατάλογος δεδομένων προέλευσης για συγχρονισμό\n" -#: pg_rewind.c:93 +#: pg_rewind.c:99 #, c-format msgid " --source-server=CONNSTR source server to synchronize with\n" msgstr " --source-server=CONNSTR διακομιστής προέλευσης για συγχρονισμό\n" -#: pg_rewind.c:94 +#: pg_rewind.c:100 #, c-format msgid " -n, --dry-run stop before modifying anything\n" msgstr " -n, --dry-run τερματισμός πριν να τροποποιηθεί οτιδήποτε\n" -#: pg_rewind.c:95 +#: pg_rewind.c:101 #, c-format msgid "" " -N, --no-sync do not wait for changes to be written\n" " safely to disk\n" msgstr " -N, --no-sync να μην αναμένει την ασφαλή εγγραφή αλλαγών στον δίσκο\n" -#: pg_rewind.c:97 +#: pg_rewind.c:103 #, c-format msgid " -P, --progress write progress messages\n" msgstr " -P, --progress εμφάνισε πληροφορίες προόδου\n" -#: pg_rewind.c:98 +#: pg_rewind.c:104 #, c-format msgid "" " -R, --write-recovery-conf write configuration for replication\n" @@ -543,7 +538,7 @@ msgstr "" " -R, --write-recovery-conf εγγραφή των ρυθμίσεων αναπαραγωγής\n" " (απαιτεί --source-server)\n" -#: pg_rewind.c:100 +#: pg_rewind.c:106 #, c-format msgid "" " --config-file=FILENAME use specified main server configuration\n" @@ -552,27 +547,27 @@ msgstr "" " --config-file=FILENAME χρησιμοποίησε το ορισμένο αρχείο ρυθμίσεων του βασικού διακομιστή\n" " κατά την εκτέλεση συστάδας προορισμού\n" -#: pg_rewind.c:102 +#: pg_rewind.c:108 #, c-format msgid " --debug write a lot of debug messages\n" msgstr " --debug εγγραφή πολλών μηνύματων εντοπισμού σφαλμάτων\n" -#: pg_rewind.c:103 +#: pg_rewind.c:109 #, c-format msgid " --no-ensure-shutdown do not automatically fix unclean shutdown\n" msgstr " --no-ensure-shutdown να μην διορθώνει αυτόματα ακάθαρτο τερματισμό\n" -#: pg_rewind.c:104 +#: pg_rewind.c:110 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version εμφάνισε πληροφορίες έκδοσης, στη συνέχεια έξοδος\n" -#: pg_rewind.c:105 +#: pg_rewind.c:111 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help εμφάνισε αυτό το μήνυμα βοήθειας, στη συνέχεια έξοδος\n" -#: pg_rewind.c:106 +#: pg_rewind.c:112 #, c-format msgid "" "\n" @@ -581,225 +576,220 @@ msgstr "" "\n" "Υποβάλετε αναφορές σφάλματων σε <%s>.\n" -#: pg_rewind.c:107 +#: pg_rewind.c:113 #, c-format msgid "%s home page: <%s>\n" msgstr "%s αρχική σελίδα: <%s>\n" -#: pg_rewind.c:215 pg_rewind.c:223 pg_rewind.c:230 pg_rewind.c:237 -#: pg_rewind.c:244 pg_rewind.c:252 +#: pg_rewind.c:223 pg_rewind.c:231 pg_rewind.c:238 pg_rewind.c:245 +#: pg_rewind.c:252 pg_rewind.c:260 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Δοκιμάστε «%s --help» για περισσότερες πληροφορίες." -#: pg_rewind.c:222 +#: pg_rewind.c:230 #, c-format msgid "no source specified (--source-pgdata or --source-server)" msgstr "δεν καθορίστηκε προέλευση (--source-pgdata ή --source-server)" -#: pg_rewind.c:229 +#: pg_rewind.c:237 #, c-format msgid "only one of --source-pgdata or --source-server can be specified" msgstr "μόνο ένα από τα --source-pgdata ή --source-server μπορεί να καθοριστεί" -#: pg_rewind.c:236 +#: pg_rewind.c:244 #, c-format msgid "no target data directory specified (--target-pgdata)" msgstr "δεν καθορίστηκε κατάλογος δεδομένων προορισμού (--target-pgdata)" -#: pg_rewind.c:243 +#: pg_rewind.c:251 #, c-format msgid "no source server information (--source-server) specified for --write-recovery-conf" msgstr "δεν καθορίστηκαν πληροφορίες διακομιστή προέλευσης (--source-server) για --write-recovery-conf" -#: pg_rewind.c:250 +#: pg_rewind.c:258 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "πάρα πολλές παράμετροι εισόδου από την γραμμή εντολών (η πρώτη είναι η «%s»)" -#: pg_rewind.c:265 +#: pg_rewind.c:273 #, c-format msgid "cannot be executed by \"root\"" msgstr "δεν είναι δυνατή η εκτέλεση από «root»" -#: pg_rewind.c:266 +#: pg_rewind.c:274 #, c-format msgid "You must run %s as the PostgreSQL superuser." msgstr "Πρέπει να εκτελέσετε %s ως υπερχρήστης PostgreSQL." -#: pg_rewind.c:276 +#: pg_rewind.c:284 #, c-format msgid "could not read permissions of directory \"%s\": %m" msgstr "δεν ήταν δυνατή η ανάγνωση δικαιωμάτων του καταλόγου «%s»: %m" -#: pg_rewind.c:294 +#: pg_rewind.c:302 #, c-format msgid "%s" msgstr "%s" -#: pg_rewind.c:297 +#: pg_rewind.c:305 #, c-format msgid "connected to server" msgstr "συνδεδεμένος στον διακομιστή" -#: pg_rewind.c:344 +#: pg_rewind.c:366 #, c-format msgid "source and target cluster are on the same timeline" msgstr "συστάδες προορισμού και προέλευσης βρίσκονται στην ίδια χρονογραμμή" -#: pg_rewind.c:353 +#: pg_rewind.c:387 #, c-format msgid "servers diverged at WAL location %X/%X on timeline %u" msgstr "οι διακομιστές αποκλίνουν στην τοποθεσία WAL %X/%X στη χρονογραμμή %u" -#: pg_rewind.c:401 +#: pg_rewind.c:442 #, c-format msgid "no rewind required" msgstr "δεν απαιτείται επαναφορά" -#: pg_rewind.c:410 +#: pg_rewind.c:451 #, c-format msgid "rewinding from last common checkpoint at %X/%X on timeline %u" msgstr "επαναφορά από το τελευταίο κοινό σημείο ελέγχου στο %X/%X στη χρονογραμμή %u" -#: pg_rewind.c:420 +#: pg_rewind.c:461 #, c-format msgid "reading source file list" msgstr "ανάγνωση λίστας αρχείων προέλευσης" -#: pg_rewind.c:424 +#: pg_rewind.c:465 #, c-format msgid "reading target file list" msgstr "ανάγνωση λίστας αρχείων προορισμού" -#: pg_rewind.c:433 +#: pg_rewind.c:474 #, c-format msgid "reading WAL in target" msgstr "ανάγνωση WAL στον προορισμό" -#: pg_rewind.c:454 +#: pg_rewind.c:495 #, c-format msgid "need to copy %lu MB (total source directory size is %lu MB)" msgstr "πρέπει να αντιγραφούν %lu MB (το συνολικό μέγεθος καταλόγου προέλευσης είναι %lu MB)" -#: pg_rewind.c:472 +#: pg_rewind.c:513 #, c-format msgid "syncing target data directory" msgstr "συγχρονισμός καταλόγου δεδομένων προορισμού" -#: pg_rewind.c:488 +#: pg_rewind.c:529 #, c-format msgid "Done!" msgstr "Ολοκληρώθηκε!" -#: pg_rewind.c:568 +#: pg_rewind.c:609 #, c-format msgid "no action decided for file \"%s\"" msgstr "καμία ενέργεια δεν αποφασίστηκε για το αρχείο «%s»" -#: pg_rewind.c:600 +#: pg_rewind.c:641 #, c-format msgid "source system was modified while pg_rewind was running" msgstr "το σύστημα προέλευσης τροποποιήθηκε κατά την εκτέλεση του pg_rewind" -#: pg_rewind.c:604 +#: pg_rewind.c:645 #, c-format msgid "creating backup label and updating control file" msgstr "δημιουργία ετικέτας αντιγράφων ασφαλείας και ενημέρωση αρχείου ελέγχου" -#: pg_rewind.c:654 +#: pg_rewind.c:695 #, c-format msgid "source system was in unexpected state at end of rewind" msgstr "το σύστημα προέλευσης βρισκόταν σε μη αναμενόμενη κατάσταση στο τέλος της επαναφοράς" -#: pg_rewind.c:685 +#: pg_rewind.c:727 #, c-format msgid "source and target clusters are from different systems" msgstr "οι συστάδες προέλευσης και προορισμού προέρχονται από διαφορετικά συστήματα" -#: pg_rewind.c:693 +#: pg_rewind.c:735 #, c-format msgid "clusters are not compatible with this version of pg_rewind" msgstr "η συστάδα δεν είναι συμβατή με αυτήν την έκδοση pg_rewind" -#: pg_rewind.c:703 +#: pg_rewind.c:745 #, c-format msgid "target server needs to use either data checksums or \"wal_log_hints = on\"" msgstr "ο διακομιστής προορισμού πρέπει να χρησιμοποιεί είτε άθροισμα ελέγχου δεδομένων είτε «wal_log_hints = on»" -#: pg_rewind.c:714 +#: pg_rewind.c:756 #, c-format msgid "target server must be shut down cleanly" msgstr "ο διακομιστής προορισμού πρέπει να τερματιστεί καθαρά" -#: pg_rewind.c:724 +#: pg_rewind.c:766 #, c-format msgid "source data directory must be shut down cleanly" msgstr "ο κατάλογος δεδομένων προέλευσης πρέπει να τερματιστεί καθαρά" -#: pg_rewind.c:771 +#: pg_rewind.c:813 #, c-format msgid "%*s/%s kB (%d%%) copied" msgstr "%*s/%s kB (%d%%) αντιγράφηκαν" -#: pg_rewind.c:834 -#, c-format -msgid "invalid control file" -msgstr "μη έγκυρο αρχείο ελέγχου" - -#: pg_rewind.c:918 +#: pg_rewind.c:941 #, c-format msgid "could not find common ancestor of the source and target cluster's timelines" msgstr "δεν ήταν δυνατή η εύρεση κοινού προγόνου των χρονογραμμών των συστάδων προέλευσης και προορισμού" -#: pg_rewind.c:959 +#: pg_rewind.c:982 #, c-format msgid "backup label buffer too small" msgstr "ενδιάμεση μνήμη ετικέτας αντιγράφων ασφαλείας πολύ μικρή" -#: pg_rewind.c:982 +#: pg_rewind.c:1005 #, c-format msgid "unexpected control file CRC" msgstr "μη αναμενόμενο αρχείο ελέγχου CRC" -#: pg_rewind.c:994 +#: pg_rewind.c:1017 #, c-format msgid "unexpected control file size %d, expected %d" msgstr "μη αναμενόμενο μέγεθος αρχείου ελέγχου %d, αναμένεται %d" -#: pg_rewind.c:1003 +#: pg_rewind.c:1026 #, 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 πρέπει να ανήκει σε δύναμη του δύο μεταξύ 1 MB και 1 GB, αλλά το αρχείο ελέγχου καθορίζει %d byte" msgstr[1] "η τιμή του μεγέθους τμήματος WAL πρέπει να ανήκει σε δύναμη του δύο μεταξύ 1 MB και 1 GB, αλλά το αρχείο ελέγχου καθορίζει %d bytes" -#: pg_rewind.c:1042 pg_rewind.c:1112 +#: pg_rewind.c:1065 pg_rewind.c:1135 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "το πρόγραμμα «%s» απαιτείται από %s αλλά δεν βρέθηκε στον ίδιο κατάλογο με το «%s»" -#: pg_rewind.c:1045 pg_rewind.c:1115 +#: pg_rewind.c:1068 pg_rewind.c:1138 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "το πρόγραμμα «%s» βρέθηκε από το «%s» αλλά δεν ήταν η ίδια έκδοση με το %s" -#: pg_rewind.c:1078 +#: pg_rewind.c:1101 #, c-format msgid "restore_command is not set in the target cluster" msgstr "η εντολή restore_command δεν έχει οριστεί στη συστάδα προορισμού" -#: pg_rewind.c:1119 +#: pg_rewind.c:1142 #, c-format msgid "executing \"%s\" for target server to complete crash recovery" msgstr "εκτέλεση «%s» για την ολοκλήρωση της αποκατάστασης σφαλμάτων του διακομιστή προορισμού" -#: pg_rewind.c:1156 +#: pg_rewind.c:1180 #, c-format msgid "postgres single-user mode in target cluster failed" msgstr "λειτουργία μοναδικού-χρήστη postgres στο σύμπλεγμα προορισμού απέτυχε" -#: pg_rewind.c:1157 +#: pg_rewind.c:1181 #, c-format msgid "Command was: %s" msgstr "Η εντολή ήταν: %s" @@ -839,95 +829,90 @@ msgstr "μη έγκυρα δεδομένα στο αρχείο ιστορικο msgid "Timeline IDs must be less than child timeline's ID." msgstr "Τα ID χρονογραμμής πρέπει να είναι λιγότερα από τα ID της χρονογραμμής απογόνου." -#: xlogreader.c:625 +#: xlogreader.c:626 #, c-format -msgid "invalid record offset at %X/%X" -msgstr "μη έγκυρη μετατόπιση εγγραφών σε %X/%X" +msgid "invalid record offset at %X/%X: expected at least %u, got %u" +msgstr "μη έγκυρη μετατόπιση εγγραφής σε %X/%X: περίμενε τουλάχιστον %u, έλαβε %u" -#: xlogreader.c:633 +#: xlogreader.c:635 #, c-format msgid "contrecord is requested by %X/%X" msgstr "contrecord ζητείται από %X/%X" -#: xlogreader.c:674 xlogreader.c:1121 +#: xlogreader.c:676 xlogreader.c:1119 #, c-format -msgid "invalid record length at %X/%X: wanted %u, got %u" -msgstr "μη έγκυρο μήκος εγγραφής σε %X/%X: χρειαζόταν %u, έλαβε %u" +msgid "invalid record length at %X/%X: expected at least %u, got %u" +msgstr "μη έγκυρο μήκος εγγραφής σε %X/%X: περίμενε τουλάχιστον %u, έλαβε %u" -#: xlogreader.c:703 +#: xlogreader.c:705 #, c-format msgid "out of memory while trying to decode a record of length %u" msgstr "έλλειψη μνήμης κατά την προσπάθεια αποκωδικοποίησης εγγραφής με μήκος %u" -#: xlogreader.c:725 +#: xlogreader.c:727 #, c-format msgid "record length %u at %X/%X too long" msgstr "μήκος εγγραφής %u σε %X/%X πολύ μακρύ" -#: xlogreader.c:774 +#: xlogreader.c:776 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "δεν υπάρχει σημαία contrecord στο %X/%X" -#: xlogreader.c:787 +#: xlogreader.c:789 #, c-format msgid "invalid contrecord length %u (expected %lld) at %X/%X" msgstr "μη έγκυρο μήκος contrecord %u (αναμένεται %lld) σε %X/%X" -#: xlogreader.c:922 -#, c-format -msgid "missing contrecord at %X/%X" -msgstr "λείπει contrecord στο %X/%X" - -#: xlogreader.c:1129 +#: xlogreader.c:1127 #, c-format msgid "invalid resource manager ID %u at %X/%X" msgstr "μη έγκυρο ID %u διαχειριστή πόρων στο %X/%X" -#: xlogreader.c:1142 xlogreader.c:1158 +#: xlogreader.c:1140 xlogreader.c:1156 #, c-format msgid "record with incorrect prev-link %X/%X at %X/%X" msgstr "εγγραφή με εσφαλμένο prev-link %X/%X σε %X/%X" -#: xlogreader.c:1194 +#: xlogreader.c:1192 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "εσφαλμένο άθροισμα ελέγχου δεδομένων διαχειριστή πόρων σε εγγραφή στο %X/%X" -#: xlogreader.c:1231 +#: xlogreader.c:1226 #, c-format -msgid "invalid magic number %04X in log segment %s, offset %u" -msgstr "μη έγκυρος μαγικός αριθμός %04X στο τμήμα καταγραφής %s, μετατόπιση %u" +msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "μη έγκυρος μαγικός αριθμός %04X στο τμήμα WAL %s, LSN %X/%X, μετατόπιση %u" -#: xlogreader.c:1245 xlogreader.c:1286 +#: xlogreader.c:1241 xlogreader.c:1283 #, c-format -msgid "invalid info bits %04X in log segment %s, offset %u" -msgstr "μη έγκυρα info bits %04X στο τμήμα καταγραφής %s, μετατόπιση %u" +msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "μη έγκυρα info bits %04X στο τμήμα WAL %s, LSN %X/%X, μετατόπιση %u" -#: xlogreader.c:1260 +#: xlogreader.c:1257 #, c-format msgid "WAL file is from different database system: WAL file database system identifier is %llu, pg_control database system identifier is %llu" msgstr "WAL αρχείο προέρχεται από διαφορετικό σύστημα βάσης δεδομένων: το WAL αναγνωριστικό συστήματος βάσης δεδομένων αρχείων είναι %llu, το pg_control αναγνωριστικό συστήματος βάσης δεδομένων είναι %llu" -#: xlogreader.c:1268 +#: xlogreader.c:1265 #, c-format msgid "WAL file is from different database system: incorrect segment size in page header" msgstr "WAL αρχείο προέρχεται από διαφορετικό σύστημα βάσης δεδομένων: εσφαλμένο μέγεθος τμήματος στην κεφαλίδα σελίδας" -#: xlogreader.c:1274 +#: xlogreader.c:1271 #, c-format msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header" msgstr "WAL αρχείο προέρχεται από διαφορετικό σύστημα βάσης δεδομένων: εσφαλμένο XLOG_BLCKSZ στην κεφαλίδα σελίδας" -#: xlogreader.c:1305 +#: xlogreader.c:1303 #, c-format -msgid "unexpected pageaddr %X/%X in log segment %s, offset %u" -msgstr "μη αναμενόμενο pageaddr %X/%X στο τμήμα καταγραφής %s, μετατόπιση %u" +msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "μη αναμενόμενο pageaddr %X/%X στο τμήμα WAL %s, LSN %X/%X, μετατόπιση %u" -#: xlogreader.c:1330 +#: xlogreader.c:1329 #, c-format -msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u" -msgstr "εκτός ακολουθίας ID χρονογραμμής %u (μετά %u) στο τμήμα καταγραφής %s, μετατόπιση %u" +msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u" +msgstr "εκτός ακολουθίας ID χρονογραμμής %u (μετά %u) στο τμήμα WAL %s, LSN %X/%X, μετατόπιση %u" #: xlogreader.c:1735 #, c-format @@ -979,38 +964,59 @@ msgstr "μη έγκυρο block_id %u στο %X/%X" msgid "record with invalid length at %X/%X" msgstr "εγγραφή με μη έγκυρο μήκος στο %X/%X" -#: xlogreader.c:1967 +#: xlogreader.c:1968 #, c-format msgid "could not locate backup block with ID %d in WAL record" msgstr "δεν ήταν δυνατή η εύρεση μπλοκ αντιγράφου με ID %d στην εγγραφή WAL" -#: xlogreader.c:2051 +#: xlogreader.c:2052 #, c-format msgid "could not restore image at %X/%X with invalid block %d specified" msgstr "δεν ήταν δυνατή η επαναφορά εικόνας στο %X/%X με ορισμένο άκυρο μπλοκ %d" -#: xlogreader.c:2058 +#: xlogreader.c:2059 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" msgstr "δεν ήταν δυνατή η επαναφορά εικόνας στο %X/%X με άκυρη κατάσταση, μπλοκ %d" -#: xlogreader.c:2085 xlogreader.c:2102 +#: xlogreader.c:2086 xlogreader.c:2103 #, c-format msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d" msgstr "δεν ήταν δυνατή η επαναφορά εικόνας σε %X/%X συμπιεσμένη με %s που δεν υποστηρίζεται από την υλοποίηση, μπλοκ %d" -#: xlogreader.c:2111 +#: xlogreader.c:2112 #, c-format msgid "could not restore image at %X/%X compressed with unknown method, block %d" msgstr "δεν ήταν δυνατή η επαναφορά εικόνας σε %X/%X συμπιεσμένη με άγνωστη μέθοδο, μπλοκ %d" -#: xlogreader.c:2119 +#: xlogreader.c:2120 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "δεν ήταν δυνατή η αποσυμπιέση εικόνας στο %X/%X, μπλοκ %d" +#~ msgid "\"%s\" is a symbolic link, but symbolic links are not supported on this platform" +#~ msgstr "«%s» είναι ένας συμβολικός σύνδεσμος, αλλά οι συμβολικοί σύνδεσμοι δεν υποστηρίζονται σε αυτήν την πλατφόρμα" + #~ msgid "You must run %s as the PostgreSQL superuser.\n" #~ msgstr "Πρέπει να εκτελέσετε %s ως υπερχρήστης PostgreSQL.\n" +#~ msgid "cannot create restricted tokens on this platform: error code %lu" +#~ msgstr "δεν ήταν δυνατή η δημιουργία διακριτικών περιορισμού στην παρούσα πλατφόρμα: κωδικός σφάλματος %lu" + +#~ msgid "cannot use restore_command with %%r placeholder" +#~ msgstr "δεν είναι δυνατή η χρήση restore_command μαζί με %%r placeholder" + +#~ msgid "could not load library \"%s\": error code %lu" +#~ msgstr "δεν ήταν δυνατή η φόρτωση της βιβλιοθήκης «%s»: κωδικός σφάλματος %lu" + #~ msgid "fatal: " #~ msgstr "κρίσιμο: " + +#~ msgid "invalid control file" +#~ msgstr "μη έγκυρο αρχείο ελέγχου" + +#~ msgid "invalid record offset at %X/%X" +#~ msgstr "μη έγκυρη μετατόπιση εγγραφών σε %X/%X" + +#~ msgid "missing contrecord at %X/%X" +#~ msgstr "λείπει contrecord στο %X/%X" diff --git a/src/bin/pg_rewind/po/ko.po b/src/bin/pg_rewind/po/ko.po index 4be7bf25e31..4ca7e7106f8 100644 --- a/src/bin/pg_rewind/po/ko.po +++ b/src/bin/pg_rewind/po/ko.po @@ -5,10 +5,10 @@ # msgid "" msgstr "" -"Project-Id-Version: pg_rewind (PostgreSQL) 12\n" +"Project-Id-Version: pg_rewind (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2020-02-09 20:16+0000\n" -"PO-Revision-Date: 2019-10-31 17:52+0900\n" +"POT-Creation-Date: 2023-09-07 05:52+0000\n" +"PO-Revision-Date: 2023-05-26 13:21+0900\n" "Last-Translator: Ioseph Kim \n" "Language-Team: Korean \n" "Language: ko\n" @@ -17,397 +17,458 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../../../src/common/logging.c:188 -#, c-format -msgid "fatal: " -msgstr "심각: " - -#: ../../../src/common/logging.c:195 +#: ../../../src/common/logging.c:276 #, c-format msgid "error: " msgstr "오류: " -#: ../../../src/common/logging.c:202 +#: ../../../src/common/logging.c:283 #, c-format msgid "warning: " msgstr "경고: " +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "상세정보: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "힌트: " + #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 -#: ../../common/fe_memutils.c:98 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format msgid "out of memory\n" msgstr "메모리 부족\n" -#: ../../common/fe_memutils.c:92 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 #, c-format msgid "cannot duplicate null pointer (internal error)\n" msgstr "null 포인터를 복제할 수 없음(내부 오류)\n" -#: ../../common/restricted_token.c:69 +#: ../../common/percentrepl.c:79 ../../common/percentrepl.c:118 #, c-format -msgid "cannot create restricted tokens on this platform" -msgstr "restricted token을 이 운영체제에서는 만들 수 없음" +msgid "invalid value for parameter \"%s\": \"%s\"" +msgstr "\"%s\" 매개 변수용 값이 잘못됨: \"%s\"" -#: ../../common/restricted_token.c:78 +#: ../../common/percentrepl.c:80 +#, c-format +msgid "String ends unexpectedly after escape character \"%%\"." +msgstr "\"%%\" 이스케이프 문자 뒤에 정상 문자열이 없음" + +#: ../../common/percentrepl.c:119 +#, c-format +msgid "String contains unexpected placeholder \"%%%c\"." +msgstr "\"%%%c\" 양식을 쓸 문자열이 아님" + +#: ../../common/restricted_token.c:60 #, c-format msgid "could not open process token: error code %lu" msgstr "프로세스 토큰을 열 수 없음: 오류 코드 %lu" -#: ../../common/restricted_token.c:91 +#: ../../common/restricted_token.c:74 #, c-format msgid "could not allocate SIDs: error code %lu" msgstr "SID를 할당할 수 없음: 오류 코드 %lu" -#: ../../common/restricted_token.c:110 +#: ../../common/restricted_token.c:94 #, c-format msgid "could not create restricted token: error code %lu" msgstr "restricted token을 만들 수 없음: 오류 코드 %lu" -#: ../../common/restricted_token.c:131 +#: ../../common/restricted_token.c:115 #, c-format msgid "could not start process for command \"%s\": error code %lu" msgstr "\"%s\" 명령을 위한 프로세스를 시작할 수 없음: 오류 코드 %lu" -#: ../../common/restricted_token.c:169 +#: ../../common/restricted_token.c:153 #, c-format msgid "could not re-execute with restricted token: error code %lu" msgstr "restricted token을 재실행 할 수 없음: 오류 코드 %lu" -#: ../../common/restricted_token.c:185 +#: ../../common/restricted_token.c:168 #, c-format msgid "could not get exit code from subprocess: error code %lu" msgstr "하위 프로세스의 종료 코드를 구할 수 없음: 오류 코드 %lu" -#: copy_fetch.c:59 +#: ../../fe_utils/archive.c:69 #, c-format -msgid "could not open directory \"%s\": %m" -msgstr "\"%s\" 디렉터리 열 수 없음: %m" +msgid "unexpected file size for \"%s\": %lld instead of %lld" +msgstr "\"%s\" 파일 크기가 이상함: %lld 로 비정상, 정상값 %lld" -#: copy_fetch.c:88 filemap.c:187 filemap.c:348 +#: ../../fe_utils/archive.c:77 #, c-format -msgid "could not stat file \"%s\": %m" -msgstr "\"%s\" 파일의 상태값을 알 수 없음: %m" - -#: copy_fetch.c:117 -#, c-format -msgid "could not read symbolic link \"%s\": %m" -msgstr "\"%s\" 심볼릭 링크 파일을 읽을 수 없음: %m" - -#: copy_fetch.c:120 -#, c-format -msgid "symbolic link \"%s\" target is too long" -msgstr "\"%s\" 심볼릭 링크의 대상이 너무 긺" - -#: copy_fetch.c:135 -#, c-format -msgid "" -"\"%s\" is a symbolic link, but symbolic links are not supported on this " -"platform" -msgstr "" -"\"%s\" 파일은 심볼릭 링크 파일이지만 이 운영체제는 심볼릭 링크 파일을 지원하" -"지 않음" +msgid "could not open file \"%s\" restored from archive: %m" +msgstr "아카이브에서 \"%s\" 파일 복원 실패: %m" -#: copy_fetch.c:142 +#: ../../fe_utils/archive.c:86 file_ops.c:417 #, c-format -msgid "could not read directory \"%s\": %m" -msgstr "\"%s\" 디렉터리를 읽을 수 없음: %m" +msgid "could not stat file \"%s\": %m" +msgstr "\"%s\" 파일의 상태값을 알 수 없음: %m" -#: copy_fetch.c:146 +#: ../../fe_utils/archive.c:98 #, c-format -msgid "could not close directory \"%s\": %m" -msgstr "\"%s\" 디렉터리를 닫을 수 없음: %m" +msgid "restore_command failed: %s" +msgstr "restore_command 실패: %s" -#: copy_fetch.c:166 +#: ../../fe_utils/archive.c:105 #, c-format -msgid "could not open source file \"%s\": %m" -msgstr "\"%s\" 원본 파일을 열 수 없음: %m" +msgid "could not restore file \"%s\" from archive" +msgstr "아카이브에서 \"%s\" 파일 복원 실패" -#: copy_fetch.c:170 +#: ../../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 #, c-format -msgid "could not seek in source file: %m" -msgstr "원본 파일에서 seek 작업을 할 수 없음: %m" +msgid "out of memory" +msgstr "메모리 부족" -#: copy_fetch.c:187 file_ops.c:311 parsexlog.c:314 +#: ../../fe_utils/recovery_gen.c:121 parsexlog.c:312 #, c-format -msgid "could not read file \"%s\": %m" -msgstr "\"%s\" 파일을 읽을 수 없음: %m" +msgid "could not open file \"%s\": %m" +msgstr "\"%s\" 파일을 열 수 없음: %m" -#: copy_fetch.c:190 +#: ../../fe_utils/recovery_gen.c:124 #, c-format -msgid "unexpected EOF while reading file \"%s\"" -msgstr "\"%s\" 파일을 읽는 중 예상치 못한 EOF" +msgid "could not write to file \"%s\": %m" +msgstr "\"%s\" 파일 쓰기 실패: %m" -#: copy_fetch.c:197 +#: ../../fe_utils/recovery_gen.c:133 #, c-format -msgid "could not close file \"%s\": %m" -msgstr "\"%s\" 파일을 닫을 수 없음: %m" +msgid "could not create file \"%s\": %m" +msgstr "\"%s\" 파일을 만들 수 없음: %m" -#: file_ops.c:62 +#: file_ops.c:67 #, c-format msgid "could not open target file \"%s\": %m" msgstr "\"%s\" 대상 파일을 열 수 없음: %m" -#: file_ops.c:76 +#: file_ops.c:81 #, c-format msgid "could not close target file \"%s\": %m" msgstr "\"%s\" 대상 파일을 닫을 수 없음: %m" -#: file_ops.c:96 +#: file_ops.c:101 #, c-format msgid "could not seek in target file \"%s\": %m" msgstr "\"%s\" 대상 파일에서 seek 작업을 할 수 없음: %m" -#: file_ops.c:112 +#: file_ops.c:117 #, c-format msgid "could not write file \"%s\": %m" msgstr "\"%s\" 파일 쓰기 실패: %m" -#: file_ops.c:162 +#: file_ops.c:150 file_ops.c:177 +#, c-format +msgid "undefined file type for \"%s\"" +msgstr "알 수 없는 파일 포멧: \"%s\"" + +#: file_ops.c:173 #, c-format msgid "invalid action (CREATE) for regular file" msgstr "일반 파일에 대한 잘못 된 작업 (CREATE)" -#: file_ops.c:185 +#: file_ops.c:200 #, c-format msgid "could not remove file \"%s\": %m" msgstr "\"%s\" 파일을 삭제할 수 없음: %m" -#: file_ops.c:203 +#: file_ops.c:218 #, c-format msgid "could not open file \"%s\" for truncation: %m" msgstr "트랙잭션을 위한 \"%s\" 파일을 열 수 없음: %m" -#: file_ops.c:207 +#: file_ops.c:222 #, c-format msgid "could not truncate file \"%s\" to %u: %m" msgstr "\"%s\" 파일을 %u 크기로 정리할 수 없음: %m" -#: file_ops.c:223 +#: file_ops.c:238 #, c-format msgid "could not create directory \"%s\": %m" msgstr "\"%s\" 디렉터리를 만들 수 없음: %m" -#: file_ops.c:237 +#: file_ops.c:252 #, c-format msgid "could not remove directory \"%s\": %m" msgstr "\"%s\" 디렉터리를 삭제할 수 없음: %m" -#: file_ops.c:251 +#: file_ops.c:266 #, c-format msgid "could not create symbolic link at \"%s\": %m" msgstr "\"%s\"에 대한 심볼릭 링크를 만들 수 없음: %m" -#: file_ops.c:265 +#: file_ops.c:280 #, c-format msgid "could not remove symbolic link \"%s\": %m" msgstr "\"%s\" 심벌릭 링크를 삭제할 수 없음: %m" -#: file_ops.c:296 file_ops.c:300 +#: file_ops.c:326 file_ops.c:330 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "\"%s\" 파일 일기 모드로 열기 실패: %m" -#: file_ops.c:314 parsexlog.c:316 +#: file_ops.c:341 local_source.c:104 local_source.c:163 parsexlog.c:350 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "\"%s\" 파일을 읽을 수 없음: %m" + +#: file_ops.c:344 parsexlog.c:352 #, c-format msgid "could not read file \"%s\": read %d of %zu" msgstr "\"%s\" 파일을 읽을 수 없음: %d 읽음, 전체 %zu" -#: filemap.c:179 +#: file_ops.c:388 #, c-format -msgid "data file \"%s\" in source is not a regular file" -msgstr "\"%s\" 자료 파일은 일반 파일이 아님" +msgid "could not open directory \"%s\": %m" +msgstr "\"%s\" 디렉터리 열 수 없음: %m" -#: filemap.c:201 +#: file_ops.c:441 #, c-format -msgid "\"%s\" is not a directory" -msgstr "\"%s\" 디렉터리가 아님" +msgid "could not read symbolic link \"%s\": %m" +msgstr "\"%s\" 심볼릭 링크 파일을 읽을 수 없음: %m" -#: filemap.c:224 +#: file_ops.c:444 #, c-format -msgid "\"%s\" is not a symbolic link" -msgstr "\"%s\" 심볼릭 링크가 아님" +msgid "symbolic link \"%s\" target is too long" +msgstr "\"%s\" 심볼릭 링크의 대상이 너무 긺" + +#: file_ops.c:462 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "\"%s\" 디렉터리를 읽을 수 없음: %m" + +#: file_ops.c:466 +#, c-format +msgid "could not close directory \"%s\": %m" +msgstr "\"%s\" 디렉터리를 닫을 수 없음: %m" #: filemap.c:236 #, c-format -msgid "\"%s\" is not a regular file" -msgstr "\"%s\" 일반 파일이 아님" +msgid "data file \"%s\" in source is not a regular file" +msgstr "\"%s\" 자료 파일은 일반 파일이 아님" -#: filemap.c:360 +#: filemap.c:241 filemap.c:274 #, c-format -msgid "source file list is empty" -msgstr "원본 파일 목록이 비었음" +msgid "duplicate source file \"%s\"" +msgstr "\"%s\" 소스 파일을 두 번 지정했습니다" -#: filemap.c:475 +#: filemap.c:329 #, c-format -msgid "unexpected page modification for directory or symbolic link \"%s\"" -msgstr "디텍터리나 심볼릭 링크 \"%s\" 의 페이지 변경 정보가 잘못 됨" +msgid "unexpected page modification for non-regular file \"%s\"" +msgstr "\"%s\" 비일반 파일의 페이지 변경 정보가 잘못됨" -#: libpq_fetch.c:52 +#: filemap.c:679 filemap.c:773 #, c-format -msgid "could not connect to server: %s" -msgstr "서버 접속 실패: %s" +msgid "unknown file type for \"%s\"" +msgstr "\"%s\" 파일 형식을 알 수 없음" -#: libpq_fetch.c:56 +#: filemap.c:706 #, c-format -msgid "connected to server" -msgstr "서버 접속 완료" +msgid "file \"%s\" is of different type in source and target" +msgstr "\"%s\" 파일 형식이 소스와 타켓이 서로 다름" -#: libpq_fetch.c:65 +#: filemap.c:778 #, c-format -msgid "could not clear search_path: %s" -msgstr "search_path를 지울 수 없음: %s" +msgid "could not decide what to do with file \"%s\"" +msgstr "\"%s\" 파일로 뭘 해야할지 결정할 수 없음" -#: libpq_fetch.c:77 +#: libpq_source.c:130 #, c-format -msgid "source server must not be in recovery mode" -msgstr "원본 서버는 복구 모드가 아니여야 함" +msgid "could not clear search_path: %s" +msgstr "search_path를 지울 수 없음: %s" -#: libpq_fetch.c:87 +#: libpq_source.c:141 #, c-format msgid "full_page_writes must be enabled in the source server" msgstr "원본 서버는 full_page_writes 옵션으로 운영되어야 함" -#: libpq_fetch.c:113 libpq_fetch.c:139 +#: libpq_source.c:152 #, c-format -msgid "error running query (%s) in source server: %s" -msgstr "원본에서에서 쿼리(%s) 실행 오류: %s" +msgid "could not prepare statement to fetch file contents: %s" +msgstr "파일 내용을 뽑기 위한 구문을 준비할 수 없음: %s" + +#: libpq_source.c:171 +#, c-format +msgid "error running query (%s) on source server: %s" +msgstr "원본 서버에서 쿼리 (%s) 실행 오류: %s" -#: libpq_fetch.c:118 +#: libpq_source.c:176 #, c-format msgid "unexpected result set from query" msgstr "쿼리 결과가 바르지 않음" -#: libpq_fetch.c:159 +#: libpq_source.c:198 +#, c-format +msgid "error running query (%s) in source server: %s" +msgstr "원본에서에서 쿼리(%s) 실행 오류: %s" + +#: libpq_source.c:219 #, c-format msgid "unrecognized result \"%s\" for current WAL insert location" msgstr "현재 WAL 삽입 위치를 위한 결과가 잘못됨 : \"%s\"" -#: libpq_fetch.c:209 +#: libpq_source.c:270 #, c-format msgid "could not fetch file list: %s" msgstr "파일 목록을 가져올 수 없음: %s" -#: libpq_fetch.c:214 +#: libpq_source.c:275 #, c-format msgid "unexpected result set while fetching file list" msgstr "파일 목록을 가져온 결과가 잘못 됨" -#: libpq_fetch.c:262 +#: libpq_source.c:467 #, c-format msgid "could not send query: %s" msgstr "쿼리를 보낼 수 없음: %s" -#: libpq_fetch.c:267 +#: libpq_source.c:470 #, c-format msgid "could not set libpq connection to single row mode" msgstr "libpq 연결을 단일 로우 모드로 지정할 수 없음" -#: libpq_fetch.c:288 +#: libpq_source.c:500 #, c-format msgid "unexpected result while fetching remote files: %s" msgstr "원격 파일을 가져오는 도중 결과가 잘못됨: %s" -#: libpq_fetch.c:294 +#: libpq_source.c:505 +#, c-format +msgid "received more data chunks than requested" +msgstr "용천 된 것보다 많은 데이터 청크를 받았음" + +#: libpq_source.c:509 #, c-format msgid "unexpected result set size while fetching remote files" msgstr "원격 파일을 가져오는 도중 결과 집합의 크기가 잘못 됨" -#: libpq_fetch.c:300 +#: libpq_source.c:515 #, c-format msgid "" "unexpected data types in result set while fetching remote files: %u %u %u" msgstr "원격 파일을 가져오는 도중 결과 집합의 자료형이 잘못 됨: %u %u %u" -#: libpq_fetch.c:308 +#: libpq_source.c:523 #, c-format msgid "unexpected result format while fetching remote files" msgstr "원격 파일을 가져오는 중 예상치 못한 결과 형식 발견" -#: libpq_fetch.c:314 +#: libpq_source.c:529 #, c-format msgid "unexpected null values in result while fetching remote files" msgstr "원격 파일을 가져오는 도중 결과안에 null 값이 잘못됨" -#: libpq_fetch.c:318 +#: libpq_source.c:533 #, c-format msgid "unexpected result length while fetching remote files" msgstr "원격 파일을 가져오는 도중 결과 길이가 잘못됨" -#: libpq_fetch.c:384 +#: libpq_source.c:566 +#, c-format +msgid "received data for file \"%s\", when requested for \"%s\"" +msgstr "\"%s\" 파일용 데이터를 받았음, \"%s\" 요청 처리용" + +#: libpq_source.c:570 +#, c-format +msgid "" +"received data at offset %lld of file \"%s\", when requested for offset %lld" +msgstr "" +"%lld 오프셋(해당파일: \"%s\")에 데이터를 받았음, %lld 오프셋 요청 처리용" + +#: libpq_source.c:582 +#, c-format +msgid "received more than requested for file \"%s\"" +msgstr "\"%s\" 파일을 위한 보다 많은 요청을 받았음" + +#: libpq_source.c:595 +#, c-format +msgid "unexpected number of data chunks received" +msgstr "데이터 청크 수신 숫자가 이상함" + +#: libpq_source.c:638 #, c-format msgid "could not fetch remote file \"%s\": %s" msgstr "\"%s\" 원격 파일을 가져올 수 없음: %s" -#: libpq_fetch.c:389 +#: libpq_source.c:643 #, c-format msgid "unexpected result set while fetching remote file \"%s\"" msgstr "\"%s\" 원격파일을 가져오는 도중 결과 집합이 잘못 됨" -#: libpq_fetch.c:433 +#: local_source.c:90 local_source.c:142 #, c-format -msgid "could not send COPY data: %s" -msgstr "COPY 자료를 보낼 수 없음: %s" +msgid "could not open source file \"%s\": %m" +msgstr "\"%s\" 원본 파일을 열 수 없음: %m" -#: libpq_fetch.c:462 +#: local_source.c:117 #, c-format -msgid "could not send file list: %s" -msgstr "파일 목록을 보낼 수 없음: %s" +msgid "" +"size of source file \"%s\" changed concurrently: %d bytes expected, %d copied" +msgstr "\"%s\" 소스 파일 크기가 현재 변경 되었음: 기대값: %d, 실재값 %d" -#: libpq_fetch.c:504 +#: local_source.c:121 local_source.c:172 #, c-format -msgid "could not send end-of-COPY: %s" -msgstr "COPY끝을 보낼 수 없음: %s" +msgid "could not close file \"%s\": %m" +msgstr "\"%s\" 파일을 닫을 수 없음: %m" -#: libpq_fetch.c:510 +#: local_source.c:146 #, c-format -msgid "unexpected result while sending file list: %s" -msgstr "파일 목록을 보내는 도중 결과가 잘못 됨: %s" +msgid "could not seek in source file: %m" +msgstr "원본 파일에서 seek 작업을 할 수 없음: %m" -#: parsexlog.c:74 parsexlog.c:127 parsexlog.c:185 +#: local_source.c:165 #, c-format -msgid "out of memory" -msgstr "메모리 부족" +msgid "unexpected EOF while reading file \"%s\"" +msgstr "\"%s\" 파일을 읽는 중 예상치 못한 EOF" + +#: parsexlog.c:80 parsexlog.c:139 parsexlog.c:199 +#, c-format +msgid "out of memory while allocating a WAL reading processor" +msgstr "WAL 읽기 프로세서를 할당하는 중 메모리 부족" -#: parsexlog.c:87 parsexlog.c:133 +#: parsexlog.c:92 parsexlog.c:146 #, c-format msgid "could not read WAL record at %X/%X: %s" msgstr "%X/%X 위치에서 WAL 레코드를 읽을 수 없음: %s" -#: parsexlog.c:91 parsexlog.c:136 +#: parsexlog.c:96 parsexlog.c:149 #, c-format msgid "could not read WAL record at %X/%X" msgstr "%X/%X 위치에서 WAL 레코드를 읽을 수 없음" -#: parsexlog.c:197 +#: parsexlog.c:108 +#, c-format +msgid "end pointer %X/%X is not a valid end point; expected %X/%X" +msgstr "%X/%X 끝 포인터는 바른값이 아님; 기대값: %X/%X" + +#: parsexlog.c:212 #, c-format msgid "could not find previous WAL record at %X/%X: %s" msgstr "%X/%X 위치에서 이전 WAL 레코드를 찾을 수 없음: %s" -#: parsexlog.c:201 +#: parsexlog.c:216 #, c-format msgid "could not find previous WAL record at %X/%X" msgstr "%X/%X 위치에서 이전 WAL 레코드를 찾을 수 없음" -#: parsexlog.c:292 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "\"%s\" 파일을 열 수 없음: %m" - -#: parsexlog.c:305 +#: parsexlog.c:341 #, c-format msgid "could not seek in file \"%s\": %m" msgstr "\"%s\" 파일에서 seek 작업을 할 수 없음: %m" -#: parsexlog.c:385 +#: parsexlog.c:440 #, c-format msgid "" "WAL record modifies a relation, but record type is not recognized: lsn: %X/" -"%X, rmgr: %s, info: %02X" +"%X, rmid: %d, rmgr: %s, info: %02X" msgstr "" -"WAL 레코드가 릴레이션을 변경하려고 하지만, 레코드 형태가 올바르지 않음\n" -"lsn: %X/%X, rmgr: %s, info: %02X" +"WAL 레코드가 릴레이션을 변경하려고 하지만, 레코드 형태가 바르지 않음: lsn: " +"%X/%X, rmid: %d, rmgr: %s, info: %02X" -#: pg_rewind.c:72 +#: pg_rewind.c:92 #, c-format msgid "" "%s resynchronizes a PostgreSQL cluster with another copy of the cluster.\n" @@ -417,7 +478,7 @@ msgstr "" "니다.\n" "\n" -#: pg_rewind.c:73 +#: pg_rewind.c:93 #, c-format msgid "" "Usage:\n" @@ -428,33 +489,43 @@ msgstr "" " %s [옵션]...\n" "\n" -#: pg_rewind.c:74 +#: pg_rewind.c:94 #, c-format msgid "Options:\n" msgstr "옵션들:\n" -#: pg_rewind.c:75 +#: pg_rewind.c:95 +#, c-format +msgid "" +" -c, --restore-target-wal use restore_command in target configuration " +"to\n" +" retrieve WAL files from archives\n" +msgstr "" +" -c, --restore-target-wal 아카이브에서 WAL 파일을 가져오기 위해\n" +" 대상 환경 설정 restore_command 사용\n" + +#: pg_rewind.c:97 #, c-format msgid " -D, --target-pgdata=DIRECTORY existing data directory to modify\n" msgstr " -D, --target-pgdata=디렉터리 변경하려는 데이터 디렉터리\n" -#: pg_rewind.c:76 +#: pg_rewind.c:98 #, c-format msgid "" " --source-pgdata=DIRECTORY source data directory to synchronize with\n" msgstr " --source-pgdata=디렉터리 동기화 원본이 되는 데이터 디렉터리\n" -#: pg_rewind.c:77 +#: pg_rewind.c:99 #, c-format msgid " --source-server=CONNSTR source server to synchronize with\n" msgstr " --source-server=연결문자열 원본 서버 접속 정보\n" -#: pg_rewind.c:78 +#: pg_rewind.c:100 #, c-format msgid " -n, --dry-run stop before modifying anything\n" msgstr " -n, --dry-run 변경 작업 전에 멈춤(검사, 확인용)\n" -#: pg_rewind.c:79 +#: pg_rewind.c:101 #, c-format msgid "" " -N, --no-sync do not wait for changes to be written\n" @@ -463,145 +534,207 @@ msgstr "" " -N, --no-sync 작업 완료 뒤 디스크 동기화 작업을 하지 않" "음\n" -#: pg_rewind.c:81 +#: pg_rewind.c:103 #, c-format msgid " -P, --progress write progress messages\n" msgstr " -P, --progress 진행 과정 메시지를 보여줌\n" -#: pg_rewind.c:82 +#: pg_rewind.c:104 +#, c-format +msgid "" +" -R, --write-recovery-conf write configuration for replication\n" +" (requires --source-server)\n" +msgstr "" +" -R, --write-recovery-conf 복제를 위한 환경 설정 함\n" +" (--source-server 설정 필요함)\n" + +#: pg_rewind.c:106 +#, c-format +msgid "" +" --config-file=FILENAME use specified main server configuration\n" +" file when running target cluster\n" +msgstr "" +" --config-file=파일이름 대상 클러스터를 실행할 때 사용할\n" +" 서버 환경 설정 파일 지정\n" + +#: pg_rewind.c:108 #, c-format msgid " --debug write a lot of debug messages\n" msgstr " --debug 디버그 메시지를 보여줌\n" -#: pg_rewind.c:83 +#: pg_rewind.c:109 +#, c-format +msgid "" +" --no-ensure-shutdown do not automatically fix unclean shutdown\n" +msgstr "" +" --no-ensure-shutdown 비정상 종료 시 자동 뒷정리 작업 안함\n" + +#: pg_rewind.c:110 #, c-format msgid "" " -V, --version output version information, then exit\n" msgstr " -V, --version 버전 정보를 보여주고 마침\n" -#: pg_rewind.c:84 +#: pg_rewind.c:111 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help 이 도움말을 보여주고 마침\n" -#: pg_rewind.c:85 +#: pg_rewind.c:112 #, c-format msgid "" "\n" -"Report bugs to .\n" +"Report bugs to <%s>.\n" msgstr "" "\n" -"오류보고: .\n" +"문제점 보고 주소: <%s>\n" + +#: pg_rewind.c:113 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "%s 홈페이지: <%s>\n" -#: pg_rewind.c:142 pg_rewind.c:178 pg_rewind.c:185 pg_rewind.c:192 -#: pg_rewind.c:200 +#: pg_rewind.c:223 pg_rewind.c:231 pg_rewind.c:238 pg_rewind.c:245 +#: pg_rewind.c:252 pg_rewind.c:260 #, c-format -msgid "Try \"%s --help\" for more information.\n" -msgstr "자제한 사항은 \"%s --help\" 명령으로 살펴보십시오.\n" +msgid "Try \"%s --help\" for more information." +msgstr "자세한 사항은 \"%s --help\" 명령으로 살펴보세요." -#: pg_rewind.c:177 +#: pg_rewind.c:230 #, c-format msgid "no source specified (--source-pgdata or --source-server)" msgstr "" "원본을 지정하지 않았음 (--source-pgdata 또는 --source-server 옵션을 지정 해" "야 함)" -#: pg_rewind.c:184 +#: pg_rewind.c:237 #, c-format msgid "only one of --source-pgdata or --source-server can be specified" msgstr "--source-pgdata 또는 --source-server 옵션 중 하나만 지정해야 함" -#: pg_rewind.c:191 +#: pg_rewind.c:244 #, c-format msgid "no target data directory specified (--target-pgdata)" msgstr "대상 데이터 디렉토리가 지정되지 않았음 (--target-pgdata 옵션 사용)" -#: pg_rewind.c:198 +#: pg_rewind.c:251 +#, c-format +msgid "" +"no source server information (--source-server) specified for --write-" +"recovery-conf" +msgstr "--write-recovery-conf 용 원보 서버 정보(--source-server) 없음" + +#: pg_rewind.c:258 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "너무 많은 명령행 인수를 지정했습니다. (처음 \"%s\")" -#: pg_rewind.c:213 +#: pg_rewind.c:273 #, c-format msgid "cannot be executed by \"root\"" msgstr "\"root\" 계정으로는 실행 할 수 없음" -#: pg_rewind.c:214 +#: pg_rewind.c:274 #, c-format -msgid "You must run %s as the PostgreSQL superuser.\n" -msgstr "PostgreSQL superuser로 %s 프로그램을 실행하십시오.\n" +msgid "You must run %s as the PostgreSQL superuser." +msgstr "PostgreSQL superuser로 %s 프로그램을 실행하십시오." -#: pg_rewind.c:225 +#: pg_rewind.c:284 #, c-format msgid "could not read permissions of directory \"%s\": %m" msgstr "\"%s\" 디렉터리 읽기 권한 없음: %m" -#: pg_rewind.c:256 +#: pg_rewind.c:302 +#, c-format +msgid "%s" +msgstr "%s" + +#: pg_rewind.c:305 +#, c-format +msgid "connected to server" +msgstr "서버 접속 완료" + +#: pg_rewind.c:366 #, c-format msgid "source and target cluster are on the same timeline" msgstr "원본과 대상 클러스터의 타임라인이 같음" -#: pg_rewind.c:262 +#: pg_rewind.c:387 #, c-format msgid "servers diverged at WAL location %X/%X on timeline %u" msgstr "서버 분기 WAL 위치: %X/%X, 타임라인 %u" -#: pg_rewind.c:299 +#: pg_rewind.c:442 #, c-format msgid "no rewind required" msgstr "되감을 필요 없음" -#: pg_rewind.c:306 +#: pg_rewind.c:451 #, c-format msgid "rewinding from last common checkpoint at %X/%X on timeline %u" msgstr "재동기화 시작함, 마지막 체크포인트 위치 %X/%X, 타임라인 %u" -#: pg_rewind.c:315 +#: pg_rewind.c:461 #, c-format msgid "reading source file list" msgstr "원본 파일 목록 읽는 중" -#: pg_rewind.c:318 +#: pg_rewind.c:465 #, c-format msgid "reading target file list" msgstr "대상 파일 목록 읽는 중" -#: pg_rewind.c:329 +#: pg_rewind.c:474 #, c-format msgid "reading WAL in target" msgstr "대상 서버에서 WAL 읽는 중" -#: pg_rewind.c:346 +#: pg_rewind.c:495 #, c-format msgid "need to copy %lu MB (total source directory size is %lu MB)" msgstr "복사를 위해서 %lu MB 필요함 (원본 디렉토리 전체 크기는 %lu MB)" -#: pg_rewind.c:365 -#, c-format -msgid "creating backup label and updating control file" -msgstr "백업 라벨을 만들고, 컨트롤 파일을 갱신 중" - -#: pg_rewind.c:395 +#: pg_rewind.c:513 #, c-format msgid "syncing target data directory" msgstr "대상 데이터 디렉터리 동기화 중" -#: pg_rewind.c:398 +#: pg_rewind.c:529 #, c-format msgid "Done!" msgstr "완료!" -#: pg_rewind.c:410 +#: pg_rewind.c:609 +#, c-format +msgid "no action decided for file \"%s\"" +msgstr "%s 외부 테이블 접근 권한 없음" + +#: pg_rewind.c:641 +#, c-format +msgid "source system was modified while pg_rewind was running" +msgstr "pg_rewind 실행 되고 있는 중에 원본 시스템이 변경 되었음" + +#: pg_rewind.c:645 +#, c-format +msgid "creating backup label and updating control file" +msgstr "백업 라벨을 만들고, 컨트롤 파일을 갱신 중" + +#: pg_rewind.c:695 +#, c-format +msgid "source system was in unexpected state at end of rewind" +msgstr "rewind 끝에 원본 시스템의 상태가 예상값과 다름" + +#: pg_rewind.c:727 #, c-format msgid "source and target clusters are from different systems" msgstr "원본과 대상 클러스터가 서로 다른 시스템임" -#: pg_rewind.c:418 +#: pg_rewind.c:735 #, c-format msgid "clusters are not compatible with this version of pg_rewind" msgstr "해당 클러스터는 이 pg_rewind 버전으로 작업할 수 없음" -#: pg_rewind.c:428 +#: pg_rewind.c:745 #, c-format msgid "" "target server needs to use either data checksums or \"wal_log_hints = on\"" @@ -609,48 +742,43 @@ msgstr "" "대상 서버의 데이터 클러스터가 데이터 체크섬 기능을 켰거나, \"wal_log_hints " "= on\" 설정이 되어야 함" -#: pg_rewind.c:439 +#: pg_rewind.c:756 #, c-format msgid "target server must be shut down cleanly" msgstr "대상 서버는 정상 종료되어야 함" -#: pg_rewind.c:449 +#: pg_rewind.c:766 #, c-format msgid "source data directory must be shut down cleanly" msgstr "원본 데이터 디렉토리는 정상적으로 종료되어야 함" -#: pg_rewind.c:498 +#: pg_rewind.c:813 #, c-format msgid "%*s/%s kB (%d%%) copied" msgstr "%*s/%s kB (%d%%) 복사됨" -#: pg_rewind.c:559 -#, c-format -msgid "invalid control file" -msgstr "잘못된 컨트롤 파일" - -#: pg_rewind.c:643 +#: pg_rewind.c:941 #, c-format msgid "" "could not find common ancestor of the source and target cluster's timelines" msgstr "원본과 대상 서버의 공통된 상위 타임라인을 찾을 수 없음" -#: pg_rewind.c:684 +#: pg_rewind.c:982 #, c-format msgid "backup label buffer too small" msgstr "백업 라벨 버퍼가 너무 작음" -#: pg_rewind.c:707 +#: pg_rewind.c:1005 #, c-format msgid "unexpected control file CRC" msgstr "컨트롤 파일 CRC 오류" -#: pg_rewind.c:717 +#: pg_rewind.c:1017 #, c-format msgid "unexpected control file size %d, expected %d" msgstr "컨트롤 파일의 크기가 %d 로 비정상, 정상값 %d" -#: pg_rewind.c:726 +#: pg_rewind.c:1026 #, c-format msgid "" "WAL segment size must be a power of two between 1 MB and 1 GB, but the " @@ -662,106 +790,147 @@ msgstr[0] "" "WAL 조각 파일은 1MB부터 1GB 사이 2^n 크기여야 하지만, 컨트롤 파일에는 %d 바이" "트로 지정되었음" -#: timeline.c:76 timeline.c:82 +#: pg_rewind.c:1065 pg_rewind.c:1135 +#, c-format +msgid "" +"program \"%s\" is needed by %s but was not found in the same directory as " +"\"%s\"" +msgstr "" +"\"%s\" 프로그램이 %s 작업에서 필요합니다. 그런데, 이 파일이 \"%s\" 파일이 있" +"는 디렉터리안에 없습니다." + +#: pg_rewind.c:1068 pg_rewind.c:1138 +#, c-format +msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" +msgstr "" +"\"%s\" 프로그램을 \"%s\" 작업 때문에 찾았지만 이 파일은 %s 프로그램의 버전과 " +"다릅니다." + +#: pg_rewind.c:1101 +#, c-format +msgid "restore_command is not set in the target cluster" +msgstr "대상 클러스터에 restore_command 설정이 없음" + +#: pg_rewind.c:1142 +#, c-format +msgid "executing \"%s\" for target server to complete crash recovery" +msgstr "대상 서버에서 비정상 종료 후 복구 작업을 위해 \"%s\" 실행 중" + +#: pg_rewind.c:1180 +#, c-format +msgid "postgres single-user mode in target cluster failed" +msgstr "대상 클러스터를 단일 사용자 모드로 postgres 실행 실패" + +#: pg_rewind.c:1181 +#, c-format +msgid "Command was: %s" +msgstr "사용된 명령: %s" + +#: timeline.c:75 timeline.c:81 #, c-format msgid "syntax error in history file: %s" msgstr "히스토리 파일에서 문법오류: %s" -#: timeline.c:77 +#: timeline.c:76 #, c-format msgid "Expected a numeric timeline ID." msgstr "숫자 타임라인 ID가 필요합니다." -#: timeline.c:83 +#: timeline.c:82 #, c-format msgid "Expected a write-ahead log switchpoint location." msgstr "트랜잭션 로그 전환 위치 값이 있어야 함" -#: timeline.c:88 +#: timeline.c:87 #, c-format msgid "invalid data in history file: %s" msgstr "작업내역 파일에 잘못된 자료가 있음: %s" -#: timeline.c:89 +#: timeline.c:88 #, c-format msgid "Timeline IDs must be in increasing sequence." msgstr "타임라인 ID 값은 그 값이 증가하는 순번값이어야합니다." -#: timeline.c:109 +#: timeline.c:108 #, c-format msgid "invalid data in history file" msgstr "내역 파일에 잘못된 자료가 있음" -#: timeline.c:110 +#: timeline.c:109 #, c-format msgid "Timeline IDs must be less than child timeline's ID." msgstr "타임라인 ID는 하위 타임라인 ID보다 작아야 합니다." -#: xlogreader.c:299 +#: xlogreader.c:626 #, c-format -msgid "invalid record offset at %X/%X" -msgstr "잘못된 레코드 위치: %X/%X" +msgid "invalid record offset at %X/%X: expected at least %u, got %u" +msgstr "잘못된 레코드 오프셋:위치 %X/%X, 기대값 %u, 실재값 %u" -#: xlogreader.c:307 +#: xlogreader.c:635 #, c-format msgid "contrecord is requested by %X/%X" msgstr "%X/%X에서 contrecord를 필요로 함" -#: xlogreader.c:348 xlogreader.c:645 +#: xlogreader.c:676 xlogreader.c:1119 +#, c-format +msgid "invalid record length at %X/%X: expected at least %u, got %u" +msgstr "잘못된 레코드 길이:위치 %X/%X, 기대값 %u, 실재값 %u" + +#: xlogreader.c:705 #, c-format -msgid "invalid record length at %X/%X: wanted %u, got %u" -msgstr "잘못된 레코드 길이: %X/%X, 기대값 %u, 실재값 %u" +msgid "out of memory while trying to decode a record of length %u" +msgstr "%u 길이의 레코드를 디코딩 하는 중 메모리 부족" -#: xlogreader.c:372 +#: xlogreader.c:727 #, c-format msgid "record length %u at %X/%X too long" msgstr "너무 긴 길이(%u)의 레코드가 %X/%X에 있음" -#: xlogreader.c:404 +#: xlogreader.c:776 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "%X/%X 위치에 contrecord 플래그가 없음" -#: xlogreader.c:417 +#: xlogreader.c:789 #, c-format -msgid "invalid contrecord length %u at %X/%X" -msgstr "잘못된 contrecord 길이 %u, 위치 %X/%X" +msgid "invalid contrecord length %u (expected %lld) at %X/%X" +msgstr "잘못된 contrecord 길이 %u (기대값: %lld), 위치 %X/%X" -#: xlogreader.c:653 +#: xlogreader.c:1127 #, c-format msgid "invalid resource manager ID %u at %X/%X" msgstr "잘못된 자원 관리 ID %u, 위치: %X/%X" -#: xlogreader.c:667 xlogreader.c:684 +#: xlogreader.c:1140 xlogreader.c:1156 #, c-format msgid "record with incorrect prev-link %X/%X at %X/%X" msgstr "레코드의 잘못된 프리링크 %X/%X, 해당 레코드 %X/%X" -#: xlogreader.c:721 +#: xlogreader.c:1192 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "잘못된 자원관리자 데이터 체크섬, 위치: %X/%X 레코드" -#: xlogreader.c:758 +#: xlogreader.c:1226 #, c-format -msgid "invalid magic number %04X in log segment %s, offset %u" -msgstr "%04X 매직 번호가 잘못됨, 로그 파일 %s, 위치 %u" +msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "%04X 매직 번호가 잘못됨, WAL 조각파일: %s, LSN %X/%X, 오프셋 %u" -#: xlogreader.c:772 xlogreader.c:823 +#: xlogreader.c:1241 xlogreader.c:1283 #, c-format -msgid "invalid info bits %04X in log segment %s, offset %u" -msgstr "잘못된 정보 비트 %04X, 로그 파일 %s, 위치 %u" +msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "잘못된 정보 비트 %04X, WAL 조각파일: %s, LSN %X/%X, 오프셋 %u" -#: xlogreader.c:798 +#: xlogreader.c:1257 #, c-format msgid "" "WAL file is from different database system: WAL file database system " -"identifier is %s, pg_control database system identifier is %s" +"identifier is %llu, pg_control database system identifier is %llu" msgstr "" -"WAL 파일이 다른 시스템의 것입니다. WAL 파일의 시스템 식별자는 %s, pg_control " -"의 식별자는 %s" +"WAL 파일이 다른 시스템의 것입니다. WAL 파일의 시스템 식별자는 %llu, " +"pg_control 의 식별자는 %llu" -#: xlogreader.c:805 +#: xlogreader.c:1265 #, c-format msgid "" "WAL file is from different database system: incorrect segment size in page " @@ -770,7 +939,7 @@ msgstr "" "WAL 파일이 다른 데이터베이스 시스템의 것입니다: 페이지 헤더에 지정된 값이 잘" "못된 조각 크기임" -#: xlogreader.c:811 +#: xlogreader.c:1271 #, c-format msgid "" "WAL file is from different database system: incorrect XLOG_BLCKSZ in page " @@ -779,32 +948,36 @@ msgstr "" "WAL 파일이 다른 데이터베이스 시스템의 것입니다: 페이지 헤더의 XLOG_BLCKSZ 값" "이 바르지 않음" -#: xlogreader.c:842 +#: xlogreader.c:1303 #, c-format -msgid "unexpected pageaddr %X/%X in log segment %s, offset %u" -msgstr "잘못된 페이지 주소 %X/%X, 로그 파일 %s, 위치 %u" +msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "잘못된 페이지 주소 %X/%X, WAL 조각파일: %s, LSN %X/%X, 오프셋 %u" -#: xlogreader.c:867 +#: xlogreader.c:1329 #, c-format -msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u" -msgstr "타임라인 범위 벗어남 %u (이전 번호 %u), 로그 파일 %s, 위치 %u" +msgid "" +"out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, " +"offset %u" +msgstr "" +"타임라인 범위 벗어남 %u (이전 번호 %u), WAL 조각파일: %s, LSN %X/%X, 오프셋 " +"%u" -#: xlogreader.c:1112 +#: xlogreader.c:1735 #, c-format msgid "out-of-order block_id %u at %X/%X" msgstr "%u block_id는 범위를 벗어남, 위치 %X/%X" -#: xlogreader.c:1135 +#: xlogreader.c:1759 #, c-format msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X" msgstr "BKPBLOCK_HAS_DATA 지정했지만, %X/%X 에 자료가 없음" -#: xlogreader.c:1142 +#: xlogreader.c:1766 #, c-format msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X" msgstr "BKPBLOCK_HAS_DATA 지정 않았지만, %u 길이의 자료가 있음, 위치 %X/%X" -#: xlogreader.c:1178 +#: xlogreader.c:1802 #, c-format msgid "" "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at " @@ -813,43 +986,77 @@ msgstr "" "BKPIMAGE_HAS_HOLE 설정이 되어 있지만, 옵셋: %u, 길이: %u, 블록 이미지 길이: " "%u, 대상: %X/%X" -#: xlogreader.c:1194 +#: xlogreader.c:1818 #, c-format msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X" msgstr "" "BKPIMAGE_HAS_HOLE 설정이 안되어 있지만, 옵셋: %u, 길이: %u, 대상: %X/%X" -#: xlogreader.c:1209 +#: xlogreader.c:1832 #, c-format -msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X" +msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" msgstr "" -"BKPIMAGE_IS_COMPRESSED 설정이 되어 있지만, 블록 이미지 길이: %u, 대상: %X/%X" +"BKPIMAGE_COMPRESSED 설정이 되어 있지만, 블록 이미지 길이: %u, 대상: %X/%X" -#: xlogreader.c:1224 +#: xlogreader.c:1847 #, c-format msgid "" -"neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image " +"neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image " "length is %u at %X/%X" msgstr "" -"BKPIMAGE_HAS_HOLE, BKPIMAGE_IS_COMPRESSED 지정 안되어 있으나, 블록 이미지 길" -"이는 %u, 대상: %X/%X" +"BKPIMAGE_HAS_HOLE, BKPIMAGE_COMPRESSED 지정 안되어 있으나, 블록 이미지 길이" +"는 %u, 대상: %X/%X" -#: xlogreader.c:1240 +#: xlogreader.c:1863 #, c-format msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X" msgstr "BKPBLOCK_SAME_REL 설정이 되어 있지만, %X/%X 에 이전 릴레이션 없음" -#: xlogreader.c:1252 +#: xlogreader.c:1875 #, c-format msgid "invalid block_id %u at %X/%X" msgstr "잘못된 block_id %u, 위치 %X/%X" -#: xlogreader.c:1341 +#: xlogreader.c:1942 #, c-format msgid "record with invalid length at %X/%X" msgstr "잘못된 레코드 길이, 위치 %X/%X" -#: xlogreader.c:1430 +#: xlogreader.c:1968 +#, c-format +msgid "could not locate backup block with ID %d in WAL record" +msgstr "WAL 레코드에 %d ID 백업 블록이 없음" + +#: xlogreader.c:2052 +#, c-format +msgid "could not restore image at %X/%X with invalid block %d specified" +msgstr "%X/%X 위치에 이미지 복원 실패(%d 블록이 바르지 않음)" + +#: xlogreader.c:2059 +#, c-format +msgid "could not restore image at %X/%X with invalid state, block %d" +msgstr "%X/%X 에 잘못된 상태값으로 이미지 복원 실패, 블록 %d" + +#: xlogreader.c:2086 xlogreader.c:2103 +#, c-format +msgid "" +"could not restore image at %X/%X compressed with %s not supported by build, " +"block %d" +msgstr "" +"%X/%X 위치에 %s 압축된 이미지 복원 실패, 해당 엔진이 지원하지 않음, 해당블" +"록: %d" + +#: xlogreader.c:2112 +#, c-format +msgid "" +"could not restore image at %X/%X compressed with unknown method, block %d" +msgstr "%X/%X 위치에 알수 없는 압축 방식의 이미지 복원 실패, 해당블록: %d" + +#: xlogreader.c:2120 +#, c-format +msgid "could not decompress image at %X/%X, block %d" +msgstr "%X/%X 에서 이미 압축 풀기 실패, 블록 %d" + #, c-format -msgid "invalid compressed image at %X/%X, block %d" -msgstr "잘못된 압축 이미지, 위치 %X/%X, 블록 %d" +#~ msgid "missing contrecord at %X/%X" +#~ msgstr "%X/%X 위치에 contrecord 없음" diff --git a/src/bin/pg_test_fsync/po/ko.po b/src/bin/pg_test_fsync/po/ko.po index a3aee6bfd9f..d26cbae756f 100644 --- a/src/bin/pg_test_fsync/po/ko.po +++ b/src/bin/pg_test_fsync/po/ko.po @@ -5,10 +5,10 @@ # msgid "" msgstr "" -"Project-Id-Version: pg_test_fsync (PostgreSQL) 12\n" +"Project-Id-Version: pg_test_fsync (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2020-02-09 20:17+0000\n" -"PO-Revision-Date: 2020-02-10 09:58+0900\n" +"POT-Creation-Date: 2023-09-07 05:52+0000\n" +"PO-Revision-Date: 2023-05-30 12:39+0900\n" "Last-Translator: Ioseph Kim \n" "Language-Team: Korean \n" "Language: ko\n" @@ -17,58 +17,109 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "오류: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "경고: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "상세정보: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "힌트: " + #. translator: maintain alignment with NA_FORMAT -#: pg_test_fsync.c:31 +#: pg_test_fsync.c:32 #, c-format msgid "%13.3f ops/sec %6.0f usecs/op\n" msgstr "%13.3f ops/sec %6.0f usecs/op\n" -#: pg_test_fsync.c:157 +#: pg_test_fsync.c:50 +#, c-format +msgid "could not create thread for alarm" +msgstr "알람용 쓰레드를 만들 수 없음" + +#: pg_test_fsync.c:95 +#, c-format +msgid "%s: %m" +msgstr "%s: %m" + +#: pg_test_fsync.c:159 #, c-format msgid "Usage: %s [-f FILENAME] [-s SECS-PER-TEST]\n" msgstr "사용법: %s [-f 파일이름] [-s 검사초]\n" -#: pg_test_fsync.c:181 pg_test_fsync.c:192 +#: pg_test_fsync.c:185 #, c-format -msgid "Try \"%s --help\" for more information.\n" -msgstr "자세한 사용법은 \"%s --help\" 명령을 이용하세요.\n" +msgid "invalid argument for option %s" +msgstr "%s 옵션의 잘못된 인자" -#: pg_test_fsync.c:197 +#: pg_test_fsync.c:186 pg_test_fsync.c:198 pg_test_fsync.c:207 #, c-format -msgid "%d second per test\n" -msgid_plural "%d seconds per test\n" -msgstr[0] "검사 간격: %d 초\n" +msgid "Try \"%s --help\" for more information." +msgstr "자세한 사항은 \"%s --help\" 명령으로 살펴보세요." -#: pg_test_fsync.c:202 +#: pg_test_fsync.c:192 +#, c-format +msgid "%s must be in range %u..%u" +msgstr "%s 값은 %u부터 %u까지 지정할 수 있습니다." + +#: pg_test_fsync.c:205 +#, c-format +msgid "too many command-line arguments (first is \"%s\")" +msgstr "너무 많은 명령행 인자를 지정했습니다. (처음 \"%s\")" + +#: pg_test_fsync.c:211 +#, c-format +msgid "%u second per test\n" +msgid_plural "%u seconds per test\n" +msgstr[0] "검사 간격: %u초\n" + +#: pg_test_fsync.c:216 #, c-format msgid "O_DIRECT supported on this platform for open_datasync and open_sync.\n" msgstr "" "이 플랫폼에서는 open_datasync, open_sync 에서 O_DIRECT 옵션을 지원함.\n" -#: pg_test_fsync.c:204 +#: pg_test_fsync.c:218 +#, c-format +msgid "F_NOCACHE supported on this platform for open_datasync and open_sync.\n" +msgstr "" +"이 플랫폼에서는 open_datasync, open_sync 에서 F_NOCACHE 옵션을 지원함.\n" + +#: pg_test_fsync.c:220 #, c-format msgid "Direct I/O is not supported on this platform.\n" msgstr "이 플랫폼은 direct I/O 기능을 지원하지 않음.\n" -#: pg_test_fsync.c:229 pg_test_fsync.c:294 pg_test_fsync.c:318 -#: pg_test_fsync.c:341 pg_test_fsync.c:482 pg_test_fsync.c:494 -#: pg_test_fsync.c:510 pg_test_fsync.c:516 pg_test_fsync.c:541 +#: pg_test_fsync.c:245 pg_test_fsync.c:335 pg_test_fsync.c:357 +#: pg_test_fsync.c:381 pg_test_fsync.c:525 pg_test_fsync.c:537 +#: pg_test_fsync.c:553 pg_test_fsync.c:559 pg_test_fsync.c:581 msgid "could not open output file" msgstr "출력 파일을 열 수 없음" -#: pg_test_fsync.c:233 pg_test_fsync.c:275 pg_test_fsync.c:300 -#: pg_test_fsync.c:324 pg_test_fsync.c:347 pg_test_fsync.c:385 -#: pg_test_fsync.c:443 pg_test_fsync.c:484 pg_test_fsync.c:512 -#: pg_test_fsync.c:543 +#: pg_test_fsync.c:249 pg_test_fsync.c:319 pg_test_fsync.c:344 +#: pg_test_fsync.c:366 pg_test_fsync.c:390 pg_test_fsync.c:429 +#: pg_test_fsync.c:488 pg_test_fsync.c:527 pg_test_fsync.c:555 +#: pg_test_fsync.c:586 msgid "write failed" msgstr "쓰기 실패" -#: pg_test_fsync.c:237 pg_test_fsync.c:326 pg_test_fsync.c:349 -#: pg_test_fsync.c:486 pg_test_fsync.c:518 +#: pg_test_fsync.c:253 pg_test_fsync.c:368 pg_test_fsync.c:392 +#: pg_test_fsync.c:529 pg_test_fsync.c:561 msgid "fsync failed" msgstr "fsync 실패" -#: pg_test_fsync.c:251 +#: pg_test_fsync.c:292 #, c-format msgid "" "\n" @@ -77,7 +128,7 @@ msgstr "" "\n" "하나의 %dkB 쓰기에 대한 파일 싱크 방법 비교:\n" -#: pg_test_fsync.c:253 +#: pg_test_fsync.c:294 #, c-format msgid "" "\n" @@ -86,7 +137,7 @@ msgstr "" "\n" "두개의 %dkB 쓰기에 대한 파일 싱크 방법 비교:\n" -#: pg_test_fsync.c:254 +#: pg_test_fsync.c:295 #, c-format msgid "" "(in wal_sync_method preference order, except fdatasync is Linux's default)\n" @@ -94,21 +145,16 @@ msgstr "" "(fdatasync가 리눅스 기본값이기에 제외하고, wal_sync_method 우선으로 처리 " "함)\n" -#: pg_test_fsync.c:265 pg_test_fsync.c:368 pg_test_fsync.c:434 +#: pg_test_fsync.c:306 pg_test_fsync.c:409 pg_test_fsync.c:476 msgid "n/a*" msgstr "n/a*" -#: pg_test_fsync.c:277 pg_test_fsync.c:303 pg_test_fsync.c:328 -#: pg_test_fsync.c:351 pg_test_fsync.c:387 pg_test_fsync.c:445 -msgid "seek failed" -msgstr "찾기 실패" - -#: pg_test_fsync.c:283 pg_test_fsync.c:308 pg_test_fsync.c:356 -#: pg_test_fsync.c:393 pg_test_fsync.c:451 +#: pg_test_fsync.c:325 pg_test_fsync.c:397 pg_test_fsync.c:435 +#: pg_test_fsync.c:494 msgid "n/a" msgstr "n/a" -#: pg_test_fsync.c:398 +#: pg_test_fsync.c:440 #, c-format msgid "" "* This file system and its mount options do not support direct\n" @@ -117,7 +163,7 @@ msgstr "" "* 이 파일 시스템과 마운트 옵션이 direct I/O 기능을 지원하지 않음\n" " 예: journaled mode에서 ext4\n" -#: pg_test_fsync.c:406 +#: pg_test_fsync.c:448 #, c-format msgid "" "\n" @@ -126,7 +172,7 @@ msgstr "" "\n" "서로 다른 쓰기량으로 open_sync 비교:\n" -#: pg_test_fsync.c:407 +#: pg_test_fsync.c:449 #, c-format msgid "" "(This is designed to compare the cost of writing 16kB in different write\n" @@ -134,27 +180,27 @@ msgid "" msgstr "" "(서로 다른 크기로 16kB를 쓰는데, open_sync 옵션을 사용할 때의 비용 비교)\n" -#: pg_test_fsync.c:410 +#: pg_test_fsync.c:452 msgid " 1 * 16kB open_sync write" msgstr " 1 * 16kB open_sync 쓰기" -#: pg_test_fsync.c:411 +#: pg_test_fsync.c:453 msgid " 2 * 8kB open_sync writes" msgstr " 2 * 8kB open_sync 쓰기" -#: pg_test_fsync.c:412 +#: pg_test_fsync.c:454 msgid " 4 * 4kB open_sync writes" msgstr " 4 * 4kB open_sync 쓰기" -#: pg_test_fsync.c:413 +#: pg_test_fsync.c:455 msgid " 8 * 2kB open_sync writes" msgstr " 8 * 2kB open_sync 쓰기" -#: pg_test_fsync.c:414 +#: pg_test_fsync.c:456 msgid "16 * 1kB open_sync writes" msgstr "16 * 1kB open_sync 쓰기" -#: pg_test_fsync.c:467 +#: pg_test_fsync.c:510 #, c-format msgid "" "\n" @@ -163,7 +209,7 @@ msgstr "" "\n" "쓰기 방지 파일에서 fsync 작동 여부 검사:\n" -#: pg_test_fsync.c:468 +#: pg_test_fsync.c:511 #, c-format msgid "" "(If the times are similar, fsync() can sync data written on a different\n" @@ -172,7 +218,7 @@ msgstr "" "(이 값이 비슷하다면, fsync() 호출로 여러 파일 상태에 대해서 sync를 사용\n" "할 수 있음.)\n" -#: pg_test_fsync.c:533 +#: pg_test_fsync.c:576 #, c-format msgid "" "\n" @@ -180,12 +226,3 @@ msgid "" msgstr "" "\n" "Non-sync %dkB 쓰기:\n" - -#~ msgid "Could not create thread for alarm\n" -#~ msgstr "알람용 쓰레드를 만들 수 없음\n" - -#~ msgid "%s: too many command-line arguments (first is \"%s\")\n" -#~ msgstr "%s: 너무 많은 명령행 인자를 지정했음 (시작은 \"%s\")\n" - -#~ msgid "%s: %s\n" -#~ msgstr "%s: %s\n" diff --git a/src/bin/pg_test_timing/po/ko.po b/src/bin/pg_test_timing/po/ko.po index a0a7527b003..1f1da785b3f 100644 --- a/src/bin/pg_test_timing/po/ko.po +++ b/src/bin/pg_test_timing/po/ko.po @@ -5,10 +5,10 @@ # msgid "" msgstr "" -"Project-Id-Version: pg_test_timing (PostgreSQL) 12\n" +"Project-Id-Version: pg_test_timing (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2020-02-09 20:15+0000\n" -"PO-Revision-Date: 2020-02-10 09:59+0900\n" +"POT-Creation-Date: 2023-09-07 05:50+0000\n" +"PO-Revision-Date: 2023-05-30 12:39+0900\n" "Last-Translator: Ioseph Kim \n" "Language-Team: Korean \n" "Language: ko\n" @@ -17,61 +17,66 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: pg_test_timing.c:55 +#: pg_test_timing.c:59 #, c-format msgid "Usage: %s [-d DURATION]\n" msgstr "사용법: %s [-d 간격]\n" -#: pg_test_timing.c:75 pg_test_timing.c:87 pg_test_timing.c:104 +#: pg_test_timing.c:81 +#, c-format +msgid "%s: invalid argument for option %s\n" +msgstr "%s: %s 옵션의 잘못된 인자\n" + +#: pg_test_timing.c:83 pg_test_timing.c:97 pg_test_timing.c:109 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "더 자세한 정보는 \"%s --help\" 명령을 이용하세요.\n" -#: pg_test_timing.c:85 +#: pg_test_timing.c:90 #, c-format -msgid "%s: too many command-line arguments (first is \"%s\")\n" -msgstr "%s: 너무 많은 명령행 인자를 사용했습니다 (시작은 \"%s\")\n" +msgid "%s: %s must be in range %u..%u\n" +msgstr "%s: %s 값은 %u부터 %u까지 지정할 수 있습니다.\n" -#: pg_test_timing.c:94 +#: pg_test_timing.c:107 #, c-format -msgid "Testing timing overhead for %d second.\n" -msgid_plural "Testing timing overhead for %d seconds.\n" -msgstr[0] "%d초 동안 타이밍 오버해더 검사.\n" +msgid "%s: too many command-line arguments (first is \"%s\")\n" +msgstr "%s: 너무 많은 명령행 인자를 사용했습니다 (시작은 \"%s\")\n" -#: pg_test_timing.c:102 +#: pg_test_timing.c:115 #, c-format -msgid "%s: duration must be a positive integer (duration is \"%d\")\n" -msgstr "%s: 간격은 양수여야 합니다. (간격: \"%d\")\n" +msgid "Testing timing overhead for %u second.\n" +msgid_plural "Testing timing overhead for %u seconds.\n" +msgstr[0] "%u초 동안 타이밍 오버해더 검사.\n" -#: pg_test_timing.c:140 +#: pg_test_timing.c:151 #, c-format msgid "Detected clock going backwards in time.\n" msgstr "거꾸로 흐른 감지된 클럭.\n" -#: pg_test_timing.c:141 +#: pg_test_timing.c:152 #, c-format msgid "Time warp: %d ms\n" msgstr "간격: %d ms\n" -#: pg_test_timing.c:164 +#: pg_test_timing.c:175 #, c-format msgid "Per loop time including overhead: %0.2f ns\n" msgstr "오버헤더를 포함한 루프 시간: %0.2f ns\n" -#: pg_test_timing.c:175 +#: pg_test_timing.c:186 msgid "< us" msgstr "< us" -#: pg_test_timing.c:176 +#: pg_test_timing.c:187 #, no-c-format msgid "% of total" msgstr "% of total" -#: pg_test_timing.c:177 +#: pg_test_timing.c:188 msgid "count" msgstr "회" -#: pg_test_timing.c:186 +#: pg_test_timing.c:197 #, c-format msgid "Histogram of timing durations:\n" msgstr "타이밍 간견 히스토그램:\n" diff --git a/src/bin/pg_upgrade/po/ko.po b/src/bin/pg_upgrade/po/ko.po index 5fa498a2203..3851add1dd8 100644 --- a/src/bin/pg_upgrade/po/ko.po +++ b/src/bin/pg_upgrade/po/ko.po @@ -5,10 +5,10 @@ # msgid "" msgstr "" -"Project-Id-Version: pg_upgrade (PostgreSQL) 13\n" +"Project-Id-Version: pg_upgrade (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2020-10-05 20:45+0000\n" -"PO-Revision-Date: 2020-10-06 14:02+0900\n" +"POT-Creation-Date: 2023-09-07 05:49+0000\n" +"PO-Revision-Date: 2023-09-08 16:11+0900\n" "Last-Translator: Ioseph Kim \n" "Language-Team: Korean \n" "Language: ko\n" @@ -17,286 +17,253 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: check.c:66 +#: check.c:69 #, c-format msgid "" "Performing Consistency Checks on Old Live Server\n" -"------------------------------------------------\n" +"------------------------------------------------" msgstr "" "옛 운영 서버에서 일관성 검사를 진행합니다.\n" -"------------------------------------------\n" +"------------------------------------------" -#: check.c:72 +#: check.c:75 #, c-format msgid "" "Performing Consistency Checks\n" -"-----------------------------\n" +"-----------------------------" msgstr "" "일관성 검사 수행중\n" -"------------------\n" +"------------------" -#: check.c:190 +#: check.c:221 #, c-format msgid "" "\n" -"*Clusters are compatible*\n" +"*Clusters are compatible*" msgstr "" "\n" -"*클러스터 호환성*\n" +"*클러스터 호환성*" -#: check.c:196 +#: check.c:229 #, c-format msgid "" "\n" "If pg_upgrade fails after this point, you must re-initdb the\n" -"new cluster before continuing.\n" +"new cluster before continuing." msgstr "" "\n" "여기서 pg_upgrade 작업을 실패한다면, 재시도 하기 전에 먼저\n" -"새 클러스터를 처음부터 다시 만들어 진행해야 합니다.\n" +"새 클러스터를 처음부터 다시 만들어 진행해야 합니다." -#: check.c:232 +#: check.c:270 #, c-format msgid "" -"Optimizer statistics are not transferred by pg_upgrade so,\n" -"once you start the new server, consider running:\n" -" %s\n" -"\n" +"Optimizer statistics are not transferred by pg_upgrade.\n" +"Once you start the new server, consider running:\n" +" %s/vacuumdb %s--all --analyze-in-stages" msgstr "" "pg_upgrade 작업에서는 최적화기를 위한 통계 정보까지 업그레이드\n" "하지는 않습니다. 새 서버가 실행 될 때, 다음 명령을 수행하길 권합니다:\n" -" %s\n" -"\n" +" %s/vacuumdb %s--all --analyze-in-stages" -#: check.c:237 -#, c-format -msgid "" -"Optimizer statistics and free space information are not transferred\n" -"by pg_upgrade so, once you start the new server, consider running:\n" -" %s\n" -"\n" -msgstr "" -"pg_upgrade 작업으로는 통계 정보와 빈 공간 정보는 업그레이드 되지\n" -"않습니다. 새 서버가 실행 될 때, 다음 명령을 수행하길 권합니다:\n" -" %s\n" -"\n" - -#: check.c:244 +#: check.c:276 #, c-format msgid "" "Running this script will delete the old cluster's data files:\n" -" %s\n" +" %s" msgstr "" "아래 스크립트를 실행하면, 옛 클러스터 자료를 지울 것입니다:\n" -" %s\n" +" %s" -#: check.c:249 +#: check.c:281 #, c-format msgid "" "Could not create a script to delete the old cluster's data files\n" "because user-defined tablespaces or the new cluster's data directory\n" "exist in the old cluster directory. The old cluster's contents must\n" -"be deleted manually.\n" +"be deleted manually." msgstr "" "옛 클러스터 자료 파일을 지우는 스크립트를 만들지 못했습니다.\n" "사용자 정의 테이블스페이스나, 새 클러스터가 옛 클러스터 안에\n" -"있기 때문입니다. 옛 클러스터 자료는 직접 찾아서 지우세요.\n" +"있기 때문입니다. 옛 클러스터 자료는 직접 찾아서 지우세요." -#: check.c:259 +#: check.c:293 #, c-format msgid "Checking cluster versions" msgstr "클러스터 버전 검사 중" -#: check.c:271 +#: check.c:305 #, c-format -msgid "This utility can only upgrade from PostgreSQL version 8.4 and later.\n" -msgstr "이 도구는 PostgreSQL 8.4 이상 버전에서 사용할 수 있습니다.\n" +msgid "This utility can only upgrade from PostgreSQL version %s and later." +msgstr "이 도구는 PostgreSQL %s 과 그 이상 버전에서 사용할 수 있습니다." -#: check.c:275 +#: check.c:310 #, c-format -msgid "This utility can only upgrade to PostgreSQL version %s.\n" -msgstr "이 도구는 PostgreSQL %s 버전으로만 업그레이드 할 수 있습니다.\n" +msgid "This utility can only upgrade to PostgreSQL version %s." +msgstr "이 도구는 PostgreSQL %s 버전으로만 업그레이드 할 수 있습니다." -#: check.c:284 +#: check.c:319 #, c-format msgid "" -"This utility cannot be used to downgrade to older major PostgreSQL " -"versions.\n" +"This utility cannot be used to downgrade to older major PostgreSQL versions." msgstr "" "이 도구는 더 낮은 메이져 PostgreSQL 버전으로 다운그레이드하는데 사용할 수 없" -"습니다.\n" - -#: check.c:289 -#, c-format -msgid "" -"Old cluster data and binary directories are from different major versions.\n" -msgstr "옛 클러스터 자료와 실행파일 디렉터리가 서로 메이져 버전이 다릅니다.\n" +"습니다." -#: check.c:292 +#: check.c:324 #, c-format msgid "" -"New cluster data and binary directories are from different major versions.\n" -msgstr "새 클러스터 자료와 실행파일 디렉터리가 서로 메이져 버전이 다릅니다.\n" +"Old cluster data and binary directories are from different major versions." +msgstr "옛 클러스터 자료와 실행파일 디렉터리가 서로 메이져 버전이 다릅니다." -#: check.c:309 +#: check.c:327 #, c-format msgid "" -"When checking a pre-PG 9.1 live old server, you must specify the old " -"server's port number.\n" -msgstr "" -"옛 서버가 9.1 버전 이전 이라면 옛 서버의 포트를 반드시 지정해야 합니다.\n" +"New cluster data and binary directories are from different major versions." +msgstr "새 클러스터 자료와 실행파일 디렉터리가 서로 메이져 버전이 다릅니다." -#: check.c:313 +#: check.c:342 #, c-format msgid "" -"When checking a live server, the old and new port numbers must be " -"different.\n" +"When checking a live server, the old and new port numbers must be different." msgstr "" -"운영 서버 검사를 할 때는, 옛 서버, 새 서버의 포트를 다르게 지정해야 합니다.\n" +"운영 서버 검사를 할 때는, 옛 서버, 새 서버의 포트를 다르게 지정해야 합니다." -#: check.c:328 +#: check.c:362 #, c-format -msgid "encodings for database \"%s\" do not match: old \"%s\", new \"%s\"\n" +msgid "New cluster database \"%s\" is not empty: found relation \"%s.%s\"" msgstr "" -"\"%s\" 데이터베이스의 인코딩이 서로 다릅니다: 옛 서버 \"%s\", 새 서버 \"%s" -"\"\n" +"\"%s\" 새 데이터베이스 클러스터가 비어있지 않음: \"%s.%s\" 릴레이션을 찾았음" -#: check.c:333 +#: check.c:385 #, c-format -msgid "" -"lc_collate values for database \"%s\" do not match: old \"%s\", new \"%s\"\n" -msgstr "" -"\"%s\" 데이터베이스의 lc_collate 값이 서로 다릅니다: 옛 서버 \"%s\", 새 서버 " -"\"%s\"\n" +msgid "Checking for new cluster tablespace directories" +msgstr "새 클러스터 테이블스페이스 디렉터리 검사 중" -#: check.c:336 +#: check.c:396 #, c-format -msgid "" -"lc_ctype values for database \"%s\" do not match: old \"%s\", new \"%s\"\n" -msgstr "" -"\"%s\" 데이터베이스의 lc_ctype 값이 서로 다릅니다: 옛 서버 \"%s\", 새 서버 " -"\"%s\"\n" +msgid "new cluster tablespace directory already exists: \"%s\"" +msgstr "새 클러스터 테이블스페이스 디렉터리가 이미 있음: \"%s\"" -#: check.c:409 -#, c-format -msgid "New cluster database \"%s\" is not empty: found relation \"%s.%s\"\n" -msgstr "" -"\"%s\" 새 데이터베이스 클러스터가 비어있지 않습니다.\n" -" -- \"%s.%s\" 릴레이션을 찾았음\n" - -#: check.c:458 -#, c-format -msgid "Creating script to analyze new cluster" -msgstr "새 클러스터 통계정보 수집 스크립트를 만듭니다" - -#: check.c:472 check.c:600 check.c:864 check.c:943 check.c:1053 check.c:1144 -#: file.c:336 function.c:240 option.c:497 version.c:54 version.c:199 -#: version.c:341 -#, c-format -msgid "could not open file \"%s\": %s\n" -msgstr "\"%s\" 파일을 열 수 없음: %s\n" - -#: check.c:527 check.c:656 -#, c-format -msgid "could not add execute permission to file \"%s\": %s\n" -msgstr "\"%s\" 파일에 실행 권한을 추가 할 수 없음: %s\n" - -#: check.c:563 +#: check.c:429 #, c-format msgid "" "\n" -"WARNING: new data directory should not be inside the old data directory, e." -"g. %s\n" +"WARNING: new data directory should not be inside the old data directory, i." +"e. %s" msgstr "" "\n" -"경고: 새 데이터 디렉터리는 옛 데이터 디렉터리 안에 둘 수 없습니다, 예: %s\n" +"경고: 새 데이터 디렉터리는 옛 데이터 디렉터리 안에 둘 수 없습니다, 예: %s" -#: check.c:587 +#: check.c:453 #, c-format msgid "" "\n" "WARNING: user-defined tablespace locations should not be inside the data " -"directory, e.g. %s\n" +"directory, i.e. %s" msgstr "" "\n" "경고: 사용자 정의 테이블스페이스 위치를 데이터 디렉터리 안에 둘 수 없습니다, " -"예: %s\n" +"예: %s" -#: check.c:597 +#: check.c:463 #, c-format msgid "Creating script to delete old cluster" msgstr "옛 클러스터를 지우는 스크립트를 만듭니다" -#: check.c:676 +#: check.c:466 check.c:639 check.c:755 check.c:850 check.c:979 check.c:1056 +#: check.c:1299 check.c:1373 file.c:339 function.c:163 option.c:476 +#: version.c:116 version.c:292 version.c:426 +#, c-format +msgid "could not open file \"%s\": %s" +msgstr "\"%s\" 파일을 열 수 없음: %s" + +#: check.c:517 +#, c-format +msgid "could not add execute permission to file \"%s\": %s" +msgstr "\"%s\" 파일에 실행 권한을 추가 할 수 없음: %s" + +#: check.c:537 #, c-format msgid "Checking database user is the install user" msgstr "데이터베이스 사용자가 설치 작업을 한 사용자인지 확인합니다" -#: check.c:692 +#: check.c:553 #, c-format -msgid "database user \"%s\" is not the install user\n" -msgstr "\"%s\" 데이터베이스 사용자는 설치 작업을 한 사용자가 아닙니다\n" +msgid "database user \"%s\" is not the install user" +msgstr "\"%s\" 데이터베이스 사용자는 설치 작업을 한 사용자가 아닙니다" -#: check.c:703 +#: check.c:564 #, c-format -msgid "could not determine the number of users\n" -msgstr "사용자 수를 확인할 수 없음\n" +msgid "could not determine the number of users" +msgstr "사용자 수를 확인할 수 없음" -#: check.c:711 +#: check.c:572 #, c-format -msgid "Only the install user can be defined in the new cluster.\n" -msgstr "새 클러스터에서만 설치 사용 사용자가 정의될 수 있음\n" +msgid "Only the install user can be defined in the new cluster." +msgstr "새 클러스터에서만 설치 사용 사용자가 정의될 수 있음" -#: check.c:731 +#: check.c:601 #, c-format msgid "Checking database connection settings" msgstr "데이터베이스 연결 설정을 확인 중" -#: check.c:753 +#: check.c:627 #, c-format msgid "" "template0 must not allow connections, i.e. its pg_database.datallowconn must " -"be false\n" +"be false" msgstr "" "template0 데이터베이스 접속을 금지해야 합니다. 예: 해당 데이터베이스의 " -"pg_database.datallowconn 값이 false여야 합니다.\n" +"pg_database.datallowconn 값이 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 +#, c-format +msgid "fatal" +msgstr "치명적 오류" -#: check.c:763 +#: check.c:655 #, c-format msgid "" -"All non-template0 databases must allow connections, i.e. their pg_database." -"datallowconn must be true\n" +"All non-template0 databases must allow connections, i.e. their\n" +"pg_database.datallowconn must be true. Your installation contains\n" +"non-template0 databases with their pg_database.datallowconn set to\n" +"false. Consider allowing connection for all non-template0 databases\n" +"or drop the databases which do not allow connections. A list of\n" +"databases with the problem is in the file:\n" +" %s" msgstr "" -"template0 데이터베이스를 제외한 다른 모든 데이터베이스는 접속이 가능해야합니" -"다. 예: 그들의 pg_database.datallowconn 값은 true여야 합니다.\n" +"template0이 아닌 모든 데이터베이스는 연결을 허용해야하며, 즉 \n" +"pg_database.datallowconn 값이 true여야합니다. 설치된 데이터베이스\n" +"중 pg_database.datallowconn 값이 false로 설정된 template0이 아닌\n" +"데이터베이스가 있습니다. template0이 아닌 데이터베이스의 모든 연결을\n" +"허용하거나 연결을 허용하지 않는 데이터베이스를 삭제하는 것이 좋습니다.\n" +"문제가 있는 데이터베이스 목록은 다음 파일에 기록해 두었습니다:\n" +" %s" -#: check.c:788 +#: check.c:680 #, c-format msgid "Checking for prepared transactions" msgstr "미리 준비된 트랜잭션을 확인 중" -#: check.c:797 +#: check.c:689 #, c-format -msgid "The source cluster contains prepared transactions\n" -msgstr "옛 클러스터에 미리 준비된 트랜잭션이 있음\n" +msgid "The source cluster contains prepared transactions" +msgstr "옛 클러스터에 미리 준비된 트랜잭션이 있음" -#: check.c:799 +#: check.c:691 #, c-format -msgid "The target cluster contains prepared transactions\n" -msgstr "새 클러스터에 미리 준비된 트랜잭션이 있음\n" +msgid "The target cluster contains prepared transactions" +msgstr "새 클러스터에 미리 준비된 트랜잭션이 있음" -#: check.c:825 +#: check.c:716 #, c-format msgid "Checking for contrib/isn with bigint-passing mismatch" msgstr "contrib/isn 모듈의 bigint 처리가 서로 같은지 확인 중" -#: check.c:886 check.c:965 check.c:1076 check.c:1167 function.c:262 -#: version.c:245 version.c:282 version.c:425 -#, c-format -msgid "fatal\n" -msgstr "치명적 오류\n" - -#: check.c:887 +#: check.c:776 #, c-format msgid "" "Your installation contains \"contrib/isn\" functions which rely on the\n" @@ -305,444 +272,534 @@ msgid "" "manually dump databases in the old cluster that use \"contrib/isn\"\n" "facilities, drop them, perform the upgrade, and then restore them. A\n" "list of the problem functions is in the file:\n" -" %s\n" -"\n" +" %s" msgstr "" "설치되어 있는 \"contrib/isn\" 모듈은 bigint 자료형을 사용합니다.\n" "이 bigint 자료형의 처리 방식이 새 버전과 옛 버전 사이 호환성이 없어,\n" "이 클러스터 업그레이드를 할 수 없습니다. 먼저 수동으로 데이터베이스를 \n" "덤프하고, 해당 모듈을 삭제하고, 업그레이드 한 뒤 다시 덤프 파일을 이용해\n" "복원할 수 있습니다. 문제가 있는 함수는 아래 파일 안에 있습니다:\n" -" %s\n" -"\n" +" %s" + +#: check.c:798 +#, c-format +msgid "Checking for user-defined postfix operators" +msgstr "사용자 정의 postfix 연산자를 검사 중" + +#: check.c:874 +#, c-format +msgid "" +"Your installation contains user-defined postfix operators, which are not\n" +"supported anymore. Consider dropping the postfix operators and replacing\n" +"them with prefix operators or function calls.\n" +"A list of user-defined postfix operators is in the file:\n" +" %s" +msgstr "" +"더 이상 사용자 정의 postfix 연산자를 지원하지 않습니다.\n" +"해당 연산자를 지우고, prefix 연산자로 바꾸거나, 함수 호출\n" +"방식으로 바꾸는 것을 고려해 보십시오.\n" +"관련 사용자 정의 postfix 연산자 목록은 아래 파일 안에 있습니다:\n" +" %s" + +#: check.c:898 +#, c-format +msgid "Checking for incompatible polymorphic functions" +msgstr "불완전한 다형 함수를 확인합니다" -#: check.c:911 +#: check.c:1000 +#, c-format +msgid "" +"Your installation contains user-defined objects that refer to internal\n" +"polymorphic functions with arguments of type \"anyarray\" or \"anyelement" +"\".\n" +"These user-defined objects must be dropped before upgrading and restored\n" +"afterwards, changing them to refer to the new corresponding functions with\n" +"arguments of type \"anycompatiblearray\" and \"anycompatible\".\n" +"A list of the problematic objects is in the file:\n" +" %s" +msgstr "" +"이 서버에는 \"anyarray\" 또는 \"anyelement\" 유형의 인수를 사용하는 \n" +"내부 다형 함수를 참조하는 사용자 정의 객체가 있습니다. \n" +"이러한 사용자 정의 객체는 업그레이드하기 전에 삭제하고, \n" +"\"anycompatiblearray\" 또는 \"anycompatible\" 유형의 새로운 대응 함수를\n" +"참조하도록 변경한 후 다시 복원해야합니다. 문제가 있는 객체 목록은\n" +"다음 파일 안에 있습니다:\n" +" %s" + +#: check.c:1024 #, c-format msgid "Checking for tables WITH OIDS" msgstr "WITH OIDS 옵션 있는 테이블 확인 중" -#: check.c:966 +#: check.c:1077 #, c-format msgid "" "Your installation contains tables declared WITH OIDS, which is not\n" "supported anymore. Consider removing the oid column using\n" " ALTER TABLE ... SET WITHOUT OIDS;\n" "A list of tables with the problem is in the file:\n" -" %s\n" -"\n" +" %s" msgstr "" "더 이상 WITH OIDS 옵션을 사용하는 테이블을 지원하지 않습니다.\n" "먼저 oid 칼럼이 있는 기존 테이블을 대상으로 다음 명령을 실행해서\n" "이 옵션을 뺄 것을 고려해 보십시오.\n" " ALTER TABLE ... SET WITHOUT OIDS;\n" "관련 테이블 목록은 아래 파일 안에 있습니다:\n" -" %s\n" -"\n" +" %s" + +#: check.c:1105 +#, c-format +msgid "Checking for system-defined composite types in user tables" +msgstr "사용자가 만든 테이블에 내장 복합 자료형을 쓰는지 확인 중" + +#: check.c:1136 +#, c-format +msgid "" +"Your installation contains system-defined composite types in user tables.\n" +"These type OIDs are not stable across PostgreSQL versions,\n" +"so this cluster cannot currently be upgraded. You can\n" +"drop the problem columns and restart the upgrade.\n" +"A list of the problem columns is in the file:\n" +" %s" +msgstr "" +"해당 데이터베이스 사용자가 만든 테이블에서 내장 복합 자료형을 사용하고 있습니" +"다.\n" +"이 자료형의 OID 값이 PostgreSQL 버전별로 다를 수 있어,\n" +"업그레이드 할 수 없습니다. 해당 칼럼을 삭제한 뒤 다시 업그레이드하세요.\n" +"해당 칼럼이 있는 테이블 목록은 다음 파일 안에 있습니다:\n" +" %s" -#: check.c:996 +#: check.c:1164 #, c-format msgid "Checking for reg* data types in user tables" msgstr "사용자가 만든 테이블에 reg* 자료형을 쓰는지 확인 중" -#: check.c:1077 +#: check.c:1197 #, c-format msgid "" "Your installation contains one of the reg* data types in user tables.\n" "These data types reference system OIDs that are not preserved by\n" "pg_upgrade, so this cluster cannot currently be upgraded. You can\n" -"remove the problem tables and restart the upgrade. A list of the\n" -"problem columns is in the file:\n" -" %s\n" -"\n" +"drop the problem columns and restart the upgrade.\n" +"A list of the problem columns is in the file:\n" +" %s" msgstr "" "옛 서버에서 사용자가 만든 테이블에서 reg* 자료형을 사용하고 있습니다.\n" "이 자료형들은 pg_upgrade 명령으로 내정된 시스템 OID를 사용하지 못할 수\n" "있습니다. 그래서 업그레이드 작업을 진행할 수 없습니다.\n" -"사용하고 있는 테이블들을 지우고 업그레이드 작업을 다시 시도하세요.\n" +"사용하고 있는 칼럼을 지우고 업그레이드 작업을 다시 시도하세요.\n" "이런 자료형을 사용하는 칼럼들은 아래 파일 안에 있습니다:\n" -" %s\n" -"\n" +" %s" + +#: check.c:1218 +#, c-format +msgid "Checking for incompatible \"aclitem\" data type in user tables" +msgstr "사용자 테이블에서 \"aclitem\" 자료형 호환성 검사 중" -#: check.c:1102 +#: check.c:1225 +#, c-format +msgid "" +"Your installation contains the \"aclitem\" data type in user tables.\n" +"The internal format of \"aclitem\" changed in PostgreSQL version 16\n" +"so this cluster cannot currently be upgraded. You can drop the\n" +"problem columns and restart the upgrade. A list of the problem\n" +"columns is in the file:\n" +" %s" +msgstr "" +"사용자 테이블에서 \"jsonb\" 자료형을 사용하고 있습니다.\n" +"9.4 베타 비전 이후 \"jsonb\" 내부 자료 구조가 바뀌었습니다.\n" +"그래서, 업그레이드 작업이 불가능합니다.\n" +"해당 칼럼들을 지우고 업그레이드 작업을 진행하세요\n" +"해당 자료형을 사용하는 칼럼들은 아래 파일 안에 있습니다:\n" +" %s" + +#: check.c:1246 #, c-format msgid "Checking for incompatible \"jsonb\" data type" msgstr "\"jsonb\" 자료형 호환성 확인 중" -#: check.c:1168 +#: check.c:1255 #, c-format msgid "" "Your installation contains the \"jsonb\" data type in user tables.\n" "The internal format of \"jsonb\" changed during 9.4 beta so this\n" -"cluster cannot currently be upgraded. You can remove the problem\n" -"tables and restart the upgrade. A list of the problem columns is\n" -"in the file:\n" -" %s\n" -"\n" +"cluster cannot currently be upgraded. You can\n" +"drop the problem columns and restart the upgrade.\n" +"A list of the problem columns is in the file:\n" +" %s" msgstr "" "사용자 테이블에서 \"jsonb\" 자료형을 사용하고 있습니다.\n" -"9.4 베타 비전 이후 JSONB 내부 자료 구조가 바뀌었습니다.\n" +"9.4 베타 비전 이후 \"jsonb\" 내부 자료 구조가 바뀌었습니다.\n" "그래서, 업그레이드 작업이 불가능합니다.\n" -"해당 테이블들을 지우고 업그레이드 작업을 진행하세요\n" -"해당 자료형을 칼럼들은 아래 파일 안에 있습니다:\n" -" %s\n" -"\n" +"해당 칼럼들을 지우고 업그레이드 작업을 진행하세요\n" +"해당 자료형을 사용하는 칼럼들은 아래 파일 안에 있습니다:\n" +" %s" -#: check.c:1190 +#: check.c:1282 #, c-format msgid "Checking for roles starting with \"pg_\"" msgstr "\"pg_\"로 시작하는 롤 확인 중" -#: check.c:1200 +#: check.c:1314 #, c-format -msgid "The source cluster contains roles starting with \"pg_\"\n" -msgstr "옛 클러스터에 \"pg_\" 시작하는 롤이 있습니다.\n" - -#: check.c:1202 -#, c-format -msgid "The target cluster contains roles starting with \"pg_\"\n" -msgstr "새 클러스터에 \"pg_\"로 시작하는 롤이 있습니다.\n" - -#: check.c:1228 -#, c-format -msgid "failed to get the current locale\n" -msgstr "현재 로케일을 확인 할 수 없음\n" +msgid "" +"Your installation contains roles starting with \"pg_\".\n" +"\"pg_\" is a reserved prefix for system roles. The cluster\n" +"cannot be upgraded until these roles are renamed.\n" +"A list of roles starting with \"pg_\" is in the file:\n" +" %s" +msgstr "" +"기존 데이터베이스에 사용자가 만든 \"pg_\"로 시작하는 롤이\n" +"있습니다. \"pg_\"는 시스템 롤로 예약된 접두어입니다.\n" +"이 롤들을 다른 이름으로 바꿔야 업그레이드가 가능합니다.\n" +"\"pg_\"로 시작하는 롤 이름 목록은 다음 파일에 있습니다:\n" +" %s" -#: check.c:1237 +#: check.c:1334 #, c-format -msgid "failed to get system locale name for \"%s\"\n" -msgstr "\"%s\"용 시스템 로케일 이름을 알 수 없음\n" +msgid "Checking for user-defined encoding conversions" +msgstr "사용자 정의 인코딩 변환규칙을 검사 중" -#: check.c:1243 +#: check.c:1395 #, c-format -msgid "failed to restore old locale \"%s\"\n" -msgstr "\"%s\" 옛 로케일을 복원할 수 없음\n" +msgid "" +"Your installation contains user-defined encoding conversions.\n" +"The conversion function parameters changed in PostgreSQL version 14\n" +"so this cluster cannot currently be upgraded. You can remove the\n" +"encoding conversions in the old cluster and restart the upgrade.\n" +"A list of user-defined encoding conversions is in the file:\n" +" %s" +msgstr "" +"사용자 정의 인코딩 변환 규칙용 변환 함수 매개 변수가\n" +"PostgreSQL 14 비전 이후 바뀌었습니다.\n" +"그래서, 업그레이드 작업이 불가능합니다.\n" +"먼저 이런 변환 규칙을 옛 서버에서 지우고 다시 시도하세요.\n" +"해당 변환 규칙 목록은 아래 파일 안에 있습니다:\n" +" %s" -#: controldata.c:127 controldata.c:195 +#: controldata.c:129 controldata.c:175 controldata.c:199 controldata.c:508 #, c-format -msgid "could not get control data using %s: %s\n" -msgstr "%s 사용하는 컨트롤 자료를 구할 수 없음: %s\n" +msgid "could not get control data using %s: %s" +msgstr "%s 사용하는 컨트롤 자료를 구할 수 없음: %s" -#: controldata.c:138 +#: controldata.c:140 #, c-format -msgid "%d: database cluster state problem\n" -msgstr "%d: 데이터베이스 클러스터 상태 문제\n" +msgid "%d: database cluster state problem" +msgstr "%d: 데이터베이스 클러스터 상태 문제" -#: controldata.c:156 +#: controldata.c:158 #, c-format msgid "" "The source cluster was shut down while in recovery mode. To upgrade, use " -"\"rsync\" as documented or shut it down as a primary.\n" +"\"rsync\" as documented or shut it down as a primary." msgstr "" "원본 클러스터는 복구 모드(대기 서버 모드나, 복구 중) 상태에서 중지 되었습니" "다. 업그레이드 하려면, 문서에 언급한 것 처럼 \"rsync\"를 사용하든가, 그 서버" -"를 운영 서버 모드로 바꾼 뒤 중지하고 작업하십시오.\n" +"를 운영 서버 모드로 바꾼 뒤 중지하고 작업하십시오." -#: controldata.c:158 +#: controldata.c:160 #, c-format msgid "" "The target cluster was shut down while in recovery mode. To upgrade, use " -"\"rsync\" as documented or shut it down as a primary.\n" +"\"rsync\" as documented or shut it down as a primary." msgstr "" "대상 클러스터는 복구 모드(대기 서버 모드나, 복구 중) 상태에서 중지 되었습니" "다. 업그레이드 하려면, 문서에 언급한 것 처럼 \"rsync\"를 사용하든가, 그 서버" -"를 운영 서버 모드로 바꾼 뒤 중지하고 작업하십시오.\n" +"를 운영 서버 모드로 바꾼 뒤 중지하고 작업하십시오." -#: controldata.c:163 +#: controldata.c:165 #, c-format -msgid "The source cluster was not shut down cleanly.\n" -msgstr "원본 클러스터는 정상적으로 종료되어야 함\n" +msgid "The source cluster was not shut down cleanly." +msgstr "원본 클러스터는 정상적으로 종료되어야 함" -#: controldata.c:165 +#: controldata.c:167 #, c-format -msgid "The target cluster was not shut down cleanly.\n" -msgstr "대상 클러스터는 정상 종료되어야 함\n" +msgid "The target cluster was not shut down cleanly." +msgstr "대상 클러스터는 정상 종료되어야 함" -#: controldata.c:176 +#: controldata.c:181 #, c-format -msgid "The source cluster lacks cluster state information:\n" -msgstr "원본 클러스터에 클러스터 상태 정보가 없음:\n" +msgid "The source cluster lacks cluster state information:" +msgstr "원본 클러스터에 클러스터 상태 정보가 없음:" -#: controldata.c:178 +#: controldata.c:183 #, c-format -msgid "The target cluster lacks cluster state information:\n" -msgstr "대상 클러스터에 클러스터 상태 정보가 없음:\n" +msgid "The target cluster lacks cluster state information:" +msgstr "대상 클러스터에 클러스터 상태 정보가 없음:" -#: controldata.c:208 dump.c:49 pg_upgrade.c:339 pg_upgrade.c:375 -#: relfilenode.c:247 util.c:79 +#: controldata.c:214 dump.c:50 exec.c:119 pg_upgrade.c:517 pg_upgrade.c:554 +#: relfilenumber.c:231 server.c:34 util.c:337 #, c-format msgid "%s" msgstr "%s" -#: controldata.c:215 +#: controldata.c:221 #, c-format -msgid "%d: pg_resetwal problem\n" -msgstr "%d: pg_resetwal 문제\n" +msgid "%d: pg_resetwal problem" +msgstr "%d: pg_resetwal 문제" -#: controldata.c:225 controldata.c:235 controldata.c:246 controldata.c:257 -#: controldata.c:268 controldata.c:287 controldata.c:298 controldata.c:309 -#: controldata.c:320 controldata.c:331 controldata.c:342 controldata.c:345 -#: controldata.c:349 controldata.c:359 controldata.c:371 controldata.c:382 -#: controldata.c:393 controldata.c:404 controldata.c:415 controldata.c:426 -#: controldata.c:437 controldata.c:448 controldata.c:459 controldata.c:470 -#: controldata.c:481 +#: controldata.c:231 controldata.c:241 controldata.c:252 controldata.c:263 +#: controldata.c:274 controldata.c:293 controldata.c:304 controldata.c:315 +#: controldata.c:326 controldata.c:337 controldata.c:348 controldata.c:359 +#: controldata.c:362 controldata.c:366 controldata.c:376 controldata.c:388 +#: controldata.c:399 controldata.c:410 controldata.c:421 controldata.c:432 +#: controldata.c:443 controldata.c:454 controldata.c:465 controldata.c:476 +#: controldata.c:487 controldata.c:498 #, c-format -msgid "%d: controldata retrieval problem\n" -msgstr "%d: controldata 복원 문제\n" +msgid "%d: controldata retrieval problem" +msgstr "%d: controldata 복원 문제" -#: controldata.c:546 +#: controldata.c:579 #, c-format -msgid "The source cluster lacks some required control information:\n" -msgstr "옛 클러스터에 필요한 컨트롤 정보가 몇몇 빠져있음:\n" +msgid "The source cluster lacks some required control information:" +msgstr "옛 클러스터에 필요한 컨트롤 정보가 몇몇 빠져있음:" -#: controldata.c:549 +#: controldata.c:582 #, c-format -msgid "The target cluster lacks some required control information:\n" -msgstr "새 클러스터에 필요한 컨트롤 정보가 몇몇 빠져있음:\n" +msgid "The target cluster lacks some required control information:" +msgstr "새 클러스터에 필요한 컨트롤 정보가 몇몇 빠져있음:" -#: controldata.c:552 +#: controldata.c:585 #, c-format -msgid " checkpoint next XID\n" -msgstr " 체크포인트 다음 XID\n" +msgid " checkpoint next XID" +msgstr " 체크포인트 다음 XID" -#: controldata.c:555 +#: controldata.c:588 #, c-format -msgid " latest checkpoint next OID\n" -msgstr " 마지막 체크포인트 다음 OID\n" +msgid " latest checkpoint next OID" +msgstr " 마지막 체크포인트 다음 OID" -#: controldata.c:558 +#: controldata.c:591 #, c-format -msgid " latest checkpoint next MultiXactId\n" -msgstr " 마지막 체크포인트 다음 MultiXactId\n" +msgid " latest checkpoint next MultiXactId" +msgstr " 마지막 체크포인트 다음 MultiXactId" -#: controldata.c:562 +#: controldata.c:595 #, c-format -msgid " latest checkpoint oldest MultiXactId\n" -msgstr " 마지막 체크포인트 제일 오래된 MultiXactId\n" +msgid " latest checkpoint oldest MultiXactId" +msgstr " 마지막 체크포인트 제일 오래된 MultiXactId" -#: controldata.c:565 +#: controldata.c:598 #, c-format -msgid " latest checkpoint next MultiXactOffset\n" -msgstr " 마지막 체크포인트 다음 MultiXactOffset\n" +msgid " latest checkpoint oldestXID" +msgstr " 마지막 체크포인트 제일 오래된 XID" -#: controldata.c:568 +#: controldata.c:601 #, c-format -msgid " first WAL segment after reset\n" -msgstr " 리셋 뒤 첫 WAL 조각\n" +msgid " latest checkpoint next MultiXactOffset" +msgstr " 마지막 체크포인트 다음 MultiXactOffset" -#: controldata.c:571 +#: controldata.c:604 #, c-format -msgid " float8 argument passing method\n" -msgstr " float8 인자 처리 방식\n" +msgid " first WAL segment after reset" +msgstr " 리셋 뒤 첫 WAL 조각" -#: controldata.c:574 +#: controldata.c:607 #, c-format -msgid " maximum alignment\n" -msgstr " 최대 정렬\n" +msgid " float8 argument passing method" +msgstr " float8 인자 처리 방식" -#: controldata.c:577 +#: controldata.c:610 #, c-format -msgid " block size\n" -msgstr " 블록 크기\n" +msgid " maximum alignment" +msgstr " 최대 정렬" -#: controldata.c:580 +#: controldata.c:613 #, c-format -msgid " large relation segment size\n" -msgstr " 대형 릴레이션 조각 크기\n" +msgid " block size" +msgstr " 블록 크기" -#: controldata.c:583 +#: controldata.c:616 #, c-format -msgid " WAL block size\n" -msgstr " WAL 블록 크기\n" +msgid " large relation segment size" +msgstr " 대형 릴레이션 조각 크기" -#: controldata.c:586 +#: controldata.c:619 #, c-format -msgid " WAL segment size\n" -msgstr " WAL 조각 크기\n" +msgid " WAL block size" +msgstr " WAL 블록 크기" -#: controldata.c:589 +#: controldata.c:622 #, c-format -msgid " maximum identifier length\n" -msgstr " 최대 식별자 길이\n" +msgid " WAL segment size" +msgstr " WAL 조각 크기" -#: controldata.c:592 +#: controldata.c:625 #, c-format -msgid " maximum number of indexed columns\n" -msgstr " 최대 인덱스 칼럼 수\n" +msgid " maximum identifier length" +msgstr " 최대 식별자 길이" -#: controldata.c:595 +#: controldata.c:628 #, c-format -msgid " maximum TOAST chunk size\n" -msgstr " 최대 토스트 조각 크기\n" +msgid " maximum number of indexed columns" +msgstr " 최대 인덱스 칼럼 수" -#: controldata.c:599 +#: controldata.c:631 #, c-format -msgid " large-object chunk size\n" -msgstr " 대형 객체 조각 크기\n" +msgid " maximum TOAST chunk size" +msgstr " 최대 토스트 조각 크기" -#: controldata.c:602 +#: controldata.c:635 #, c-format -msgid " dates/times are integers?\n" -msgstr " date/time 자료형을 정수로?\n" +msgid " large-object chunk size" +msgstr " 대형 객체 조각 크기" -#: controldata.c:606 +#: controldata.c:638 +#, c-format +msgid " dates/times are integers?" +msgstr " date/time 자료형을 정수로?" + +#: controldata.c:642 #, c-format -msgid " data checksum version\n" -msgstr " 자료 체크섬 버전\n" +msgid " data checksum version" +msgstr " 자료 체크섬 버전" -#: controldata.c:608 +#: controldata.c:644 #, c-format -msgid "Cannot continue without required control information, terminating\n" -msgstr "필요한 컨트롤 정보 없이는 진행할 수 없음, 중지 함\n" +msgid "Cannot continue without required control information, terminating" +msgstr "필요한 컨트롤 정보 없이는 진행할 수 없음, 중지 함" -#: controldata.c:623 +#: controldata.c:659 #, c-format msgid "" -"old and new pg_controldata alignments are invalid or do not match\n" -"Likely one cluster is a 32-bit install, the other 64-bit\n" +"old and new pg_controldata alignments are invalid or do not match.\n" +"Likely one cluster is a 32-bit install, the other 64-bit" msgstr "" "클러스터간 pg_controldata 정렬이 서로 다릅니다.\n" -"하나는 32비트고, 하나는 64비트인 경우 같습니다\n" +"하나는 32비트고, 하나는 64비트인 경우 같습니다." -#: controldata.c:627 +#: controldata.c:663 #, c-format -msgid "old and new pg_controldata block sizes are invalid or do not match\n" -msgstr "클러스터간 pg_controldata 블록 크기가 서로 다릅니다.\n" +msgid "old and new pg_controldata block sizes are invalid or do not match" +msgstr "클러스터간 pg_controldata 블록 크기가 서로 다릅니다." -#: controldata.c:630 +#: controldata.c:666 #, c-format msgid "" "old and new pg_controldata maximum relation segment sizes are invalid or do " -"not match\n" -msgstr "클러스터간 pg_controldata 최대 릴레이션 조각 크가가 서로 다릅니다.\n" +"not match" +msgstr "클러스터간 pg_controldata 최대 릴레이션 조각 크가가 서로 다릅니다." -#: controldata.c:633 +#: controldata.c:669 #, c-format -msgid "" -"old and new pg_controldata WAL block sizes are invalid or do not match\n" -msgstr "클러스터간 pg_controldata WAL 블록 크기가 서로 다릅니다.\n" +msgid "old and new pg_controldata WAL block sizes are invalid or do not match" +msgstr "클러스터간 pg_controldata WAL 블록 크기가 서로 다릅니다." -#: controldata.c:636 +#: controldata.c:672 #, c-format msgid "" -"old and new pg_controldata WAL segment sizes are invalid or do not match\n" -msgstr "클러스터간 pg_controldata WAL 조각 크기가 서로 다릅니다.\n" +"old and new pg_controldata WAL segment sizes are invalid or do not match" +msgstr "클러스터간 pg_controldata WAL 조각 크기가 서로 다릅니다." -#: controldata.c:639 +#: controldata.c:675 #, c-format msgid "" "old and new pg_controldata maximum identifier lengths are invalid or do not " -"match\n" -msgstr "클러스터간 pg_controldata 최대 식별자 길이가 서로 다릅니다.\n" +"match" +msgstr "클러스터간 pg_controldata 최대 식별자 길이가 서로 다릅니다." -#: controldata.c:642 +#: controldata.c:678 #, c-format msgid "" "old and new pg_controldata maximum indexed columns are invalid or do not " -"match\n" -msgstr "클러스터간 pg_controldata 최대 인덱스 칼럼수가 서로 다릅니다.\n" +"match" +msgstr "클러스터간 pg_controldata 최대 인덱스 칼럼수가 서로 다릅니다." -#: controldata.c:645 +#: controldata.c:681 #, c-format msgid "" "old and new pg_controldata maximum TOAST chunk sizes are invalid or do not " -"match\n" -msgstr "클러스터간 pg_controldata 최대 토스트 조각 크기가 서로 다릅니다.\n" +"match" +msgstr "클러스터간 pg_controldata 최대 토스트 조각 크기가 서로 다릅니다." -#: controldata.c:650 +#: controldata.c:686 #, c-format msgid "" "old and new pg_controldata large-object chunk sizes are invalid or do not " -"match\n" -msgstr "클러스터간 pg_controldata 대형 객체 조각 크기가 서로 다릅니다.\n" +"match" +msgstr "클러스터간 pg_controldata 대형 객체 조각 크기가 서로 다릅니다." -#: controldata.c:653 +#: controldata.c:689 #, c-format -msgid "old and new pg_controldata date/time storage types do not match\n" -msgstr "클러스터간 pg_controldata date/time 저장 크기가 서로 다릅니다.\n" +msgid "old and new pg_controldata date/time storage types do not match" +msgstr "클러스터간 pg_controldata date/time 저장 크기가 서로 다릅니다." -#: controldata.c:666 +#: controldata.c:702 #, c-format -msgid "old cluster does not use data checksums but the new one does\n" +msgid "old cluster does not use data checksums but the new one does" msgstr "" "옛 클러스터는 데이터 체크섬 기능을 사용하지 않고, 새 클러스터는 사용하고 있습" -"니다.\n" +"니다." -#: controldata.c:669 +#: controldata.c:705 #, c-format -msgid "old cluster uses data checksums but the new one does not\n" +msgid "old cluster uses data checksums but the new one does not" msgstr "" "옛 클러스터는 데이터 체크섬 기능을 사용하고, 새 클러스터는 사용하고 있지 않습" -"니다.\n" +"니다." -#: controldata.c:671 +#: controldata.c:707 #, c-format -msgid "old and new cluster pg_controldata checksum versions do not match\n" -msgstr "클러스터간 pg_controldata 체크섬 버전이 서로 다릅니다.\n" +msgid "old and new cluster pg_controldata checksum versions do not match" +msgstr "클러스터간 pg_controldata 체크섬 버전이 서로 다릅니다." -#: controldata.c:682 +#: controldata.c:718 #, c-format msgid "Adding \".old\" suffix to old global/pg_control" msgstr "옛 global/pg_control 파일에 \".old\" 이름을 덧붙입니다." -#: controldata.c:687 +#: controldata.c:723 #, c-format -msgid "Unable to rename %s to %s.\n" -msgstr "%s 이름을 %s 이름으로 바꿀 수 없음.\n" +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "\"%s\" 파일을 \"%s\" 파일로 이름을 바꿀 수 없음: %m" -#: controldata.c:690 +#: controldata.c:727 #, c-format msgid "" "\n" "If you want to start the old cluster, you will need to remove\n" "the \".old\" suffix from %s/global/pg_control.old.\n" "Because \"link\" mode was used, the old cluster cannot be safely\n" -"started once the new cluster has been started.\n" -"\n" +"started once the new cluster has been started." msgstr "" "\n" "옛 버전으로 옛 클러스터를 사용해서 서버를 실행하려면,\n" "%s/global/pg_control.old 파일의 이름을 \".old\" 빼고 바꾸어\n" "사용해야합니다. 업그레이드를 \"link\" 모드로 했기 때문에,\n" "한번이라도 새 버전의 서버가 이 클러스터를 이용해서 실행되었다면,\n" -"이 파일이 더 이상 안전하지 않기 때문입니다.\n" -"\n" +"이 파일이 더 이상 안전하지 않기 때문입니다." #: dump.c:20 #, c-format msgid "Creating dump of global objects" msgstr "전역 객체 덤프를 만듭니다" -#: dump.c:31 +#: dump.c:32 #, c-format -msgid "Creating dump of database schemas\n" -msgstr "데이터베이스 스키마 덤프를 만듭니다\n" +msgid "Creating dump of database schemas" +msgstr "데이터베이스 스키마 덤프를 만듭니다" -#: exec.c:44 +#: exec.c:47 exec.c:52 #, c-format -msgid "could not get pg_ctl version data using %s: %s\n" -msgstr "%s 명령을 사용해서 pg_ctl 버전 자료를 구할 수 없음: %s\n" +msgid "could not get pg_ctl version data using %s: %s" +msgstr "%s 명령을 사용해서 pg_ctl 버전 자료를 구할 수 없음: %s" -#: exec.c:50 +#: exec.c:56 #, c-format -msgid "could not get pg_ctl version output from %s\n" -msgstr "%s에서 pg_ctl 버전을 알 수 없음\n" +msgid "could not get pg_ctl version output from %s" +msgstr "%s에서 pg_ctl 버전을 알 수 없음" -#: exec.c:104 exec.c:108 +#: exec.c:113 exec.c:117 #, c-format -msgid "command too long\n" -msgstr "명령이 너무 긺\n" +msgid "command too long" +msgstr "명령이 너무 긺" -#: exec.c:110 util.c:37 util.c:225 +#: exec.c:161 pg_upgrade.c:286 #, c-format -msgid "%s\n" -msgstr "%s\n" +msgid "could not open log file \"%s\": %m" +msgstr "\"%s\" 로그 파일을 열 수 없음: %m" -#: exec.c:149 option.c:217 -#, c-format -msgid "could not open log file \"%s\": %m\n" -msgstr "\"%s\" 로그 파일을 열 수 없음: %m\n" - -#: exec.c:178 +#: exec.c:193 #, c-format msgid "" "\n" @@ -751,400 +808,330 @@ msgstr "" "\n" "*실패*" -#: exec.c:181 +#: exec.c:196 #, c-format -msgid "There were problems executing \"%s\"\n" -msgstr "\"%s\" 실행에서 문제 발생\n" +msgid "There were problems executing \"%s\"" +msgstr "\"%s\" 실행에서 문제 발생" -#: exec.c:184 +#: exec.c:199 #, c-format msgid "" "Consult the last few lines of \"%s\" or \"%s\" for\n" -"the probable cause of the failure.\n" +"the probable cause of the failure." msgstr "" "\"%s\" 또는 \"%s\" 파일의 마지막 부분을 살펴보면\n" -"이 문제를 풀 실마리가 보일 것입니다.\n" +"이 문제를 풀 실마리가 보일 것입니다." -#: exec.c:189 +#: exec.c:204 #, c-format msgid "" "Consult the last few lines of \"%s\" for\n" -"the probable cause of the failure.\n" +"the probable cause of the failure." msgstr "" "\"%s\" 파일의 마지막 부분을 살펴보면\n" -"이 문제를 풀 실마리가 보일 것입니다.\n" +"이 문제를 풀 실마리가 보일 것입니다." -#: exec.c:204 option.c:226 +#: exec.c:219 pg_upgrade.c:296 #, c-format -msgid "could not write to log file \"%s\": %m\n" -msgstr "\"%s\" 로그 파일을 쓸 수 없음: %m\n" +msgid "could not write to log file \"%s\": %m" +msgstr "\"%s\" 로그 파일을 쓸 수 없음: %m" -#: exec.c:230 +#: exec.c:245 #, c-format -msgid "could not open file \"%s\" for reading: %s\n" -msgstr "\"%s\" 파일을 읽기 위해 열 수 없습니다: %s\n" +msgid "could not open file \"%s\" for reading: %s" +msgstr "\"%s\" 파일을 읽기 위해 열 수 없습니다: %s" -#: exec.c:257 +#: exec.c:272 #, c-format -msgid "You must have read and write access in the current directory.\n" -msgstr "현재 디렉터리의 읽기 쓰기 권한을 부여하세요.\n" +msgid "You must have read and write access in the current directory." +msgstr "현재 디렉터리의 읽기 쓰기 권한을 부여하세요." -#: exec.c:310 exec.c:372 exec.c:436 +#: exec.c:325 exec.c:391 #, c-format -msgid "check for \"%s\" failed: %s\n" -msgstr "\"%s\" 검사 실패: %s\n" +msgid "check for \"%s\" failed: %s" +msgstr "\"%s\" 검사 실패: %s" -#: exec.c:313 exec.c:375 +#: exec.c:328 exec.c:394 #, c-format -msgid "\"%s\" is not a directory\n" -msgstr "\"%s\" 파일은 디렉터리가 아닙니다.\n" +msgid "\"%s\" is not a directory" +msgstr "\"%s\" 파일은 디렉터리가 아닙니다." -#: exec.c:439 +#: exec.c:441 #, c-format -msgid "check for \"%s\" failed: not a regular file\n" -msgstr "\"%s\" 검사 실패: 일반 파일이 아닙니다\n" +msgid "check for \"%s\" failed: %m" +msgstr "\"%s\" 검사 실패: %m" -#: exec.c:451 +#: exec.c:446 #, c-format -msgid "check for \"%s\" failed: cannot read file (permission denied)\n" -msgstr "\"%s\" 검사 실패: 해당 파일을 읽을 수 없음 (접근 권한 없음)\n" +msgid "check for \"%s\" failed: cannot execute" +msgstr "\"%s\" 검사 실패: 실행할 수 없음" -#: exec.c:459 +#: exec.c:456 #, c-format -msgid "check for \"%s\" failed: cannot execute (permission denied)\n" -msgstr "\"%s\" 검사 실패: 실행할 수 없음 (접근 권한 없음)\n" +msgid "" +"check for \"%s\" failed: incorrect version: found \"%s\", expected \"%s\"" +msgstr "\"%s\" 검사 실패: 잘못된 버전: 현재 \"%s\", 기대값 \"%s\"" -#: file.c:43 file.c:61 +#: file.c:43 file.c:64 #, c-format -msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %s\n" -msgstr "\"%s.%s\" (\"%s\" / \"%s\") 릴레이션 클론 중 오류: %s\n" +msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %s" +msgstr "\"%s.%s\" (\"%s\" / \"%s\") 릴레이션 클론 중 오류: %s" #: file.c:50 #, c-format -msgid "" -"error while cloning relation \"%s.%s\": could not open file \"%s\": %s\n" -msgstr "\"%s.%s\" 릴레이션 클론 중 오류: \"%s\" 파일을 열 수 없음: %s\n" +msgid "error while cloning relation \"%s.%s\": could not open file \"%s\": %s" +msgstr "\"%s.%s\" 릴레이션 클론 중 오류: \"%s\" 파일을 열 수 없음: %s" #: file.c:55 #, c-format msgid "" -"error while cloning relation \"%s.%s\": could not create file \"%s\": %s\n" -msgstr "\"%s.%s\" 릴레이션 클론 중 오류: \"%s\" 파일을 만들 수 없음: %s\n" +"error while cloning relation \"%s.%s\": could not create file \"%s\": %s" +msgstr "\"%s.%s\" 릴레이션 클론 중 오류: \"%s\" 파일을 만들 수 없음: %s" -#: file.c:87 file.c:190 +#: file.c:90 file.c:193 #, c-format -msgid "" -"error while copying relation \"%s.%s\": could not open file \"%s\": %s\n" -msgstr "\"%s.%s\" 릴레이션 복사 중 오류: \"%s\" 파일을 열 수 없음: %s\n" +msgid "error while copying relation \"%s.%s\": could not open file \"%s\": %s" +msgstr "\"%s.%s\" 릴레이션 복사 중 오류: \"%s\" 파일을 열 수 없음: %s" -#: file.c:92 file.c:199 +#: file.c:95 file.c:202 #, c-format msgid "" -"error while copying relation \"%s.%s\": could not create file \"%s\": %s\n" -msgstr "\"%s.%s\" 릴레이션 복사 중 오류: \"%s\" 파일을 만들 수 없음: %s\n" +"error while copying relation \"%s.%s\": could not create file \"%s\": %s" +msgstr "\"%s.%s\" 릴레이션 복사 중 오류: \"%s\" 파일을 만들 수 없음: %s" -#: file.c:106 file.c:223 +#: file.c:109 file.c:226 #, c-format -msgid "" -"error while copying relation \"%s.%s\": could not read file \"%s\": %s\n" -msgstr "\"%s.%s\" 릴레이션 복사 중 오류: \"%s\" 파일을 읽을 수 없음: %s\n" +msgid "error while copying relation \"%s.%s\": could not read file \"%s\": %s" +msgstr "\"%s.%s\" 릴레이션 복사 중 오류: \"%s\" 파일을 읽을 수 없음: %s" -#: file.c:118 file.c:301 +#: file.c:121 file.c:304 #, c-format -msgid "" -"error while copying relation \"%s.%s\": could not write file \"%s\": %s\n" -msgstr "\"%s.%s\" 릴레이션 복사 중 오류: \"%s\" 파일을 쓸 수 없음: %s\n" +msgid "error while copying relation \"%s.%s\": could not write file \"%s\": %s" +msgstr "\"%s.%s\" 릴레이션 복사 중 오류: \"%s\" 파일을 쓸 수 없음: %s" -#: file.c:132 +#: file.c:135 #, c-format -msgid "error while copying relation \"%s.%s\" (\"%s\" to \"%s\"): %s\n" -msgstr "\"%s.%s\" (\"%s\" / \"%s\") 릴레이션 복사 중 오류: %s\n" +msgid "error while copying relation \"%s.%s\" (\"%s\" to \"%s\"): %s" +msgstr "\"%s.%s\" (\"%s\" / \"%s\") 릴레이션 복사 중 오류: %s" -#: file.c:151 +#: file.c:154 #, c-format -msgid "" -"error while creating link for relation \"%s.%s\" (\"%s\" to \"%s\"): %s\n" -msgstr "\"%s.%s\" (\"%s\" / \"%s\") 릴레이션 링크 만드는 중 오류: %s\n" +msgid "error while creating link for relation \"%s.%s\" (\"%s\" to \"%s\"): %s" +msgstr "\"%s.%s\" (\"%s\" / \"%s\") 릴레이션 링크 만드는 중 오류: %s" -#: file.c:194 +#: file.c:197 #, c-format -msgid "" -"error while copying relation \"%s.%s\": could not stat file \"%s\": %s\n" +msgid "error while copying relation \"%s.%s\": could not stat file \"%s\": %s" msgstr "" -"\"%s.%s\" 릴레이션 복사 중 오류: \"%s\" 파일 상태 정보를 알 수 없음: %s\n" +"\"%s.%s\" 릴레이션 복사 중 오류: \"%s\" 파일 상태 정보를 알 수 없음: %s" -#: file.c:226 +#: file.c:229 #, c-format msgid "" -"error while copying relation \"%s.%s\": partial page found in file \"%s\"\n" -msgstr "\"%s.%s\" 릴레이션 복사 중 오류: \"%s\" 파일에 페이지가 손상되었음\n" +"error while copying relation \"%s.%s\": partial page found in file \"%s\"" +msgstr "\"%s.%s\" 릴레이션 복사 중 오류: \"%s\" 파일에 페이지가 손상되었음" -#: file.c:328 file.c:345 +#: file.c:331 file.c:348 #, c-format -msgid "could not clone file between old and new data directories: %s\n" -msgstr "옛 데이터 디렉터리와 새 데이터 디렉터리 사이 파일 클론 실패: %s\n" +msgid "could not clone file between old and new data directories: %s" +msgstr "옛 데이터 디렉터리와 새 데이터 디렉터리 사이 파일 클론 실패: %s" -#: file.c:341 +#: file.c:344 #, c-format -msgid "could not create file \"%s\": %s\n" -msgstr "\"%s\" 파일을 만들 수 없음: %s\n" +msgid "could not create file \"%s\": %s" +msgstr "\"%s\" 파일을 만들 수 없음: %s" -#: file.c:352 +#: file.c:355 #, c-format -msgid "file cloning not supported on this platform\n" -msgstr "이 운영체제는 파일 클론 기능을 제공하지 않습니다.\n" +msgid "file cloning not supported on this platform" +msgstr "이 운영체제는 파일 클론 기능을 제공하지 않습니다." -#: file.c:369 +#: file.c:372 #, c-format msgid "" "could not create hard link between old and new data directories: %s\n" "In link mode the old and new data directories must be on the same file " -"system.\n" +"system." msgstr "" "데이터 디렉터리간 하드 링크를 만들 수 없음: %s\n" -"하드 링크를 사용하려면, 두 디렉터리가 같은 시스템 볼륨 안에 있어야 합니다.\n" +"하드 링크를 사용하려면, 두 디렉터리가 같은 시스템 볼륨 안에 있어야 합니다." -#: function.c:114 -#, c-format -msgid "" -"\n" -"The old cluster has a \"plpython_call_handler\" function defined\n" -"in the \"public\" schema which is a duplicate of the one defined\n" -"in the \"pg_catalog\" schema. You can confirm this by executing\n" -"in psql:\n" -"\n" -" \\df *.plpython_call_handler\n" -"\n" -"The \"public\" schema version of this function was created by a\n" -"pre-8.1 install of plpython, and must be removed for pg_upgrade\n" -"to complete because it references a now-obsolete \"plpython\"\n" -"shared object file. You can remove the \"public\" schema version\n" -"of this function by running the following command:\n" -"\n" -" DROP FUNCTION public.plpython_call_handler()\n" -"\n" -"in each affected database:\n" -"\n" -msgstr "" -"\n" -"옛 클러스터는 \"plpython_call_handler\" 함수가 \"public\" 스키마 안에\n" -"정의 되어있습니다. 이 함수는 \"pg_catalog\" 스키마 안에 있어야합니다.\n" -"psql에서 다음 명령으로 이 함수의 위치를 살펴 볼 수 있습니다:\n" -"\n" -" \\df *.plpython_call_handler\n" -"\n" -"\"public\" 스키마 안에 이 함수가 있는 경우는 8.1 버전 이전 버전이었습니다.\n" -"업그레이드 작업을 정상적으로 마치려면, 먼저 \"plpython\" 관련 객체들을 먼저\n" -"모두 지우고, 새 버전용 모듈을 설치해서 사용해야 합니다.\n" -"이 삭제 작업은 다음과 같이 진행합니다:\n" -"\n" -" DROP FUNCTION public.plpython_call_handler()\n" -"\n" -"이 작업은 관련 모든 데이터베이스 단위로 진행되어야 합니다.\n" -"\n" - -#: function.c:132 -#, c-format -msgid " %s\n" -msgstr " %s\n" - -#: function.c:142 -#, c-format -msgid "Remove the problem functions from the old cluster to continue.\n" -msgstr "옛 클러스터에서 문제가 있는 함수들을 삭제하고 진행하세요.\n" - -#: function.c:189 +#: function.c:128 #, c-format msgid "Checking for presence of required libraries" msgstr "필요한 라이브러리 확인 중" -#: function.c:242 +#: function.c:165 #, c-format msgid "could not load library \"%s\": %s" msgstr "\"%s\" 라이브러리 로드 실패: %s" -#: function.c:253 +#: function.c:176 #, c-format msgid "In database: %s\n" msgstr "데이터베이스: %s\n" -#: function.c:263 +#: function.c:186 #, c-format msgid "" "Your installation references loadable libraries that are missing from the\n" "new installation. You can add these libraries to the new installation,\n" "or remove the functions using them from the old installation. A list of\n" "problem libraries is in the file:\n" -" %s\n" -"\n" +" %s" msgstr "" "옛 버전에는 있고, 새 버전에는 없는 라이브러리들이 있습니다. 새 버전에\n" "해당 라이브러리들을 설치하거나, 옛 버전에서 해당 라이브러리를 삭제하고,\n" "업그레이드 작업을 해야합니다. 문제가 있는 라이브러리들은 다음과 같습니다:\n" -" %s\n" -"\n" +" %s" -#: info.c:131 +#: info.c:126 #, c-format msgid "" "Relation names for OID %u in database \"%s\" do not match: old name \"%s.%s" -"\", new name \"%s.%s\"\n" +"\", new name \"%s.%s\"" msgstr "" "%u OID에 대한 \"%s\" 데이터베이스 이름이 서로 다릅니다: 옛 이름: \"%s.%s\", " -"새 이름: \"%s.%s\"\n" +"새 이름: \"%s.%s\"" -#: info.c:151 +#: info.c:146 #, c-format -msgid "Failed to match up old and new tables in database \"%s\"\n" -msgstr "\"%s\" 데이터베이스 내 테이블 이름이 서로 다릅니다:\n" +msgid "Failed to match up old and new tables in database \"%s\"" +msgstr "\"%s\" 데이터베이스 내 테이블 이름이 서로 다릅니다" -#: info.c:240 +#: info.c:227 #, c-format msgid " which is an index on \"%s.%s\"" msgstr " 해당 인덱스: \"%s.%s\"" -#: info.c:250 +#: info.c:237 #, c-format msgid " which is an index on OID %u" msgstr " 해당 인덱스의 OID: %u" -#: info.c:262 +#: info.c:249 #, c-format msgid " which is the TOAST table for \"%s.%s\"" msgstr " \"%s.%s\" 객체의 토스트 테이블" -#: info.c:270 +#: info.c:257 #, c-format msgid " which is the TOAST table for OID %u" msgstr " 해당 토스트 베이블의 OID: %u" -#: info.c:274 +#: info.c:261 #, c-format msgid "" "No match found in old cluster for new relation with OID %u in database \"%s" -"\": %s\n" +"\": %s" msgstr "" -"새 클러스터의 %u OID (해당 데이터베이스: \"%s\")가 옛 클러스터에 없음: %s\n" +"새 클러스터의 %u OID (해당 데이터베이스: \"%s\")가 옛 클러스터에 없음: %s" -#: info.c:277 +#: info.c:264 #, c-format msgid "" "No match found in new cluster for old relation with OID %u in database \"%s" -"\": %s\n" +"\": %s" msgstr "" -"옛 클러스터의 %u OID (해당 데이터베이스: \"%s\")가 새 클러스터에 없음: %s\n" +"옛 클러스터의 %u OID (해당 데이터베이스: \"%s\")가 새 클러스터에 없음: %s" #: info.c:289 #, c-format -msgid "mappings for database \"%s\":\n" -msgstr "\"%s\" 데이터베이스 맵핑 중:\n" - -#: info.c:292 -#, c-format -msgid "%s.%s: %u to %u\n" -msgstr "%s.%s: %u / %u\n" - -#: info.c:297 info.c:633 -#, c-format msgid "" "\n" -"\n" +"source databases:" msgstr "" "\n" -"\n" +"원본 데이터베이스:" -#: info.c:322 +#: info.c:291 #, c-format msgid "" "\n" -"source databases:\n" +"target databases:" msgstr "" "\n" -"원본 데이터베이스:\n" +"대상 데이터베이스:" -#: info.c:324 +#: info.c:329 #, c-format -msgid "" -"\n" -"target databases:\n" -msgstr "" -"\n" -"대상 데이터베이스:\n" +msgid "template0 not found" +msgstr "template0 찾을 수 없음" -#: info.c:631 +#: info.c:645 #, c-format -msgid "Database: %s\n" -msgstr "데이터베이스: %s\n" +msgid "Database: %s" +msgstr "데이터베이스: %s" -#: info.c:644 +#: info.c:657 #, c-format -msgid "relname: %s.%s: reloid: %u reltblspace: %s\n" -msgstr "relname: %s.%s: reloid: %u reltblspace: %s\n" +msgid "relname: %s.%s: reloid: %u reltblspace: %s" +msgstr "relname: %s.%s: reloid: %u reltblspace: %s" -#: option.c:102 +#: option.c:101 #, c-format -msgid "%s: cannot be run as root\n" -msgstr "%s: root 권한으로 실행할 수 없음\n" +msgid "%s: cannot be run as root" +msgstr "%s: root 권한으로 실행할 수 없음" -#: option.c:170 +#: option.c:168 #, c-format -msgid "invalid old port number\n" -msgstr "잘못된 옛 포트 번호\n" +msgid "invalid old port number" +msgstr "잘못된 옛 포트 번호" -#: option.c:175 +#: option.c:173 #, c-format -msgid "invalid new port number\n" -msgstr "잘못된 새 포트 번호\n" +msgid "invalid new port number" +msgstr "잘못된 새 포트 번호" -#: option.c:207 +#: option.c:203 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "보다 자세한 사용법은 \"%s --help\" 명령을 이용하세요.\n" -#: option.c:214 +#: option.c:210 #, c-format -msgid "too many command-line arguments (first is \"%s\")\n" -msgstr "너무 많은 명령행 인자를 지정 했음 (시작: \"%s\")\n" +msgid "too many command-line arguments (first is \"%s\")" +msgstr "너무 많은 명령행 인자를 지정 했음 (시작: \"%s\")" -#: option.c:220 +#: option.c:213 #, c-format -msgid "Running in verbose mode\n" -msgstr "작업 내역을 자세히 봄\n" +msgid "Running in verbose mode" +msgstr "작업 내역을 자세히 봄" -#: option.c:251 +#: option.c:231 msgid "old cluster binaries reside" msgstr "옛 클러스터 실행파일 위치" -#: option.c:253 +#: option.c:233 msgid "new cluster binaries reside" msgstr "새 클러스터 실팽파일 위치" -#: option.c:255 +#: option.c:235 msgid "old cluster data resides" msgstr "옛 클러스터 자료 위치" -#: option.c:257 +#: option.c:237 msgid "new cluster data resides" msgstr "새 클러스터 자료 위치" -#: option.c:259 +#: option.c:239 msgid "sockets will be created" msgstr "소켓 파일 만들 위치" -#: option.c:276 option.c:374 +#: option.c:256 option.c:356 #, c-format -msgid "could not determine current directory\n" -msgstr "현재 디렉터리 위치를 알 수 없음\n" +msgid "could not determine current directory" +msgstr "현재 디렉터리 위치를 알 수 없음" -#: option.c:279 +#: option.c:259 #, c-format msgid "" -"cannot run pg_upgrade from inside the new cluster data directory on Windows\n" +"cannot run pg_upgrade from inside the new cluster data directory on Windows" msgstr "" "윈도우즈 환경에서는 pg_upgrade 명령은 새 클러스터 데이터 디렉터리 안에서는 실" -"행할 수 없음\n" +"행할 수 없음" -#: option.c:288 +#: option.c:268 #, c-format msgid "" "pg_upgrade upgrades a PostgreSQL cluster to a different major version.\n" @@ -1153,12 +1140,12 @@ msgstr "" "새 데이터 클러스터 버전과 pg_upgrade 버전의 메이저 버전이 서로 다릅니다.\n" "\n" -#: option.c:289 +#: option.c:269 #, c-format msgid "Usage:\n" msgstr "사용법:\n" -#: option.c:290 +#: option.c:270 #, c-format msgid "" " pg_upgrade [OPTION]...\n" @@ -1167,17 +1154,17 @@ msgstr "" " pg_upgrade [옵션]...\n" "\n" -#: option.c:291 +#: option.c:271 #, c-format msgid "Options:\n" msgstr "옵션:\n" -#: option.c:292 +#: option.c:272 #, c-format msgid " -b, --old-bindir=BINDIR old cluster executable directory\n" msgstr " -b, --old-bindir=BINDIR 옛 클러스터 실행 파일의 디렉터리\n" -#: option.c:293 +#: option.c:273 #, c-format msgid "" " -B, --new-bindir=BINDIR new cluster executable directory (default\n" @@ -1186,23 +1173,23 @@ msgstr "" " -B, --new-bindir=BINDIR 새 클러스터 실행 파일의 디렉터리 (기본값:\n" " pg_upgrade가 있는 디렉터리)\n" -#: option.c:295 +#: option.c:275 #, c-format msgid "" " -c, --check check clusters only, don't change any data\n" msgstr " -c, --check 실 작업 없이, 그냥 검사만\n" -#: option.c:296 +#: option.c:276 #, c-format msgid " -d, --old-datadir=DATADIR old cluster data directory\n" msgstr " -d, --old-datadir=DATADIR 옛 클러스터 데이터 디렉터리\n" -#: option.c:297 +#: option.c:277 #, c-format msgid " -D, --new-datadir=DATADIR new cluster data directory\n" msgstr " -D, --new-datadir=DATADIR 새 클러스터 데이터 디렉터리\n" -#: option.c:298 +#: option.c:278 #, c-format msgid "" " -j, --jobs=NUM number of simultaneous processes or threads " @@ -1210,7 +1197,7 @@ msgid "" msgstr "" " -j, --jobs=NUM 동시에 작업할 프로세스 또는 쓰레드 수\n" -#: option.c:299 +#: option.c:279 #, c-format msgid "" " -k, --link link instead of copying files to new " @@ -1218,36 +1205,44 @@ msgid "" msgstr "" " -k, --link 새 클러스터 구축을 복사 대신 링크 사용\n" -#: option.c:300 +#: option.c:280 +#, c-format +msgid "" +" -N, --no-sync do not wait for changes to be written safely " +"to disk\n" +msgstr "" +" -N, --no-sync 작업 완료 뒤 디스크 동기화 작업을 하지 않음\n" + +#: option.c:281 #, c-format msgid "" " -o, --old-options=OPTIONS old cluster options to pass to the server\n" msgstr " -o, --old-options=옵션 옛 서버에서 사용할 서버 옵션들\n" -#: option.c:301 +#: option.c:282 #, c-format msgid "" " -O, --new-options=OPTIONS new cluster options to pass to the server\n" msgstr " -O, --new-options=옵션 새 서버에서 사용할 서버 옵션들\n" -#: option.c:302 +#: option.c:283 #, c-format msgid " -p, --old-port=PORT old cluster port number (default %d)\n" msgstr " -p, --old-port=PORT 옛 클러스터 포트 번호 (기본값 %d)\n" -#: option.c:303 +#: option.c:284 #, c-format msgid " -P, --new-port=PORT new cluster port number (default %d)\n" msgstr " -P, --new-port=PORT 새 클러스터 포트 번호 (기본값 %d)\n" -#: option.c:304 +#: option.c:285 #, c-format msgid "" " -r, --retain retain SQL and log files after success\n" msgstr "" " -r, --retain 작업 완료 후 사용했던 SQL과 로그 파일 남김\n" -#: option.c:305 +#: option.c:286 #, c-format msgid "" " -s, --socketdir=DIR socket directory to use (default current " @@ -1256,23 +1251,23 @@ msgstr "" " -s, --socketdir=DIR 사용할 소켓 디렉터리 (기본값: 현재 디렉터" "리)\n" -#: option.c:306 +#: option.c:287 #, c-format msgid " -U, --username=NAME cluster superuser (default \"%s\")\n" msgstr " -U, --username=이름 클러스터 슈퍼유저 (기본값 \"%s\")\n" -#: option.c:307 +#: option.c:288 #, c-format msgid " -v, --verbose enable verbose internal logging\n" msgstr " -v, --verbose 작업 내역을 자세히 남김\n" -#: option.c:308 +#: option.c:289 #, c-format msgid "" " -V, --version display version information, then exit\n" msgstr " -V, --version 버전 정보를 보여주고 마침\n" -#: option.c:309 +#: option.c:290 #, c-format msgid "" " --clone clone instead of copying files to new " @@ -1280,12 +1275,17 @@ msgid "" msgstr "" " --clone 새 클러스터 구축을 복사 대신 클론 사용\n" -#: option.c:310 +#: option.c:291 +#, c-format +msgid " --copy copy files to new cluster (default)\n" +msgstr " --copy 새 클러스터로 파일 복사 (기본값)\n" + +#: option.c:292 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help 이 도움말을 보여주고 마침\n" -#: option.c:311 +#: option.c:293 #, c-format msgid "" "\n" @@ -1300,7 +1300,7 @@ msgstr "" " 옛 서버를 중지하고\n" " 새 서버도 중지하세요.\n" -#: option.c:316 +#: option.c:298 #, c-format msgid "" "\n" @@ -1317,7 +1317,7 @@ msgstr "" " 옛 버전의 \"bin\" 디렉터리 (-b BINDIR)\n" " 새 버전의 \"bin\" 디렉터리 (-B BINDIR)\n" -#: option.c:322 +#: option.c:304 #, c-format msgid "" "\n" @@ -1332,7 +1332,7 @@ msgstr "" "newCluster/bin\n" "or\n" -#: option.c:327 +#: option.c:309 #, c-format msgid "" " $ export PGDATAOLD=oldCluster/data\n" @@ -1347,7 +1347,7 @@ msgstr "" " $ export PGBINNEW=newCluster/bin\n" " $ pg_upgrade\n" -#: option.c:333 +#: option.c:315 #, c-format msgid "" " C:\\> set PGDATAOLD=oldCluster/data\n" @@ -1362,7 +1362,7 @@ msgstr "" " C:\\> set PGBINNEW=newCluster/bin\n" " C:\\> pg_upgrade\n" -#: option.c:339 +#: option.c:321 #, c-format msgid "" "\n" @@ -1371,257 +1371,273 @@ msgstr "" "\n" "문제점 보고 주소: <%s>\n" -#: option.c:340 +#: option.c:322 #, c-format msgid "%s home page: <%s>\n" msgstr "%s 홈페이지: <%s>\n" -#: option.c:380 +#: option.c:362 #, c-format msgid "" "You must identify the directory where the %s.\n" -"Please use the %s command-line option or the %s environment variable.\n" +"Please use the %s command-line option or the %s environment variable." msgstr "" "%s 위치의 디렉터리를 알고 있어야 함.\n" -"%s 명령행 옵션이나, %s 환경 변수를 사용하세요.\n" +"%s 명령행 옵션이나, %s 환경 변수를 사용하세요." -#: option.c:432 +#: option.c:415 #, c-format msgid "Finding the real data directory for the source cluster" msgstr "원본 클러스터용 실 데이터 디렉터리를 찾는 중" -#: option.c:434 +#: option.c:417 #, c-format msgid "Finding the real data directory for the target cluster" msgstr "대상 클러스터용 실 데이터 디렉터리를 찾는 중" -#: option.c:446 +#: option.c:430 option.c:435 #, c-format -msgid "could not get data directory using %s: %s\n" -msgstr "%s 지정한 데이터 디렉터리를 찾을 수 없음: %s\n" +msgid "could not get data directory using %s: %s" +msgstr "%s 지정한 데이터 디렉터리를 찾을 수 없음: %s" -#: option.c:505 +#: option.c:484 #, c-format -msgid "could not read line %d from file \"%s\": %s\n" -msgstr "%d 번째 줄을 \"%s\" 파일에서 읽을 수 없음: %s\n" +msgid "could not read line %d from file \"%s\": %s" +msgstr "%d 번째 줄을 \"%s\" 파일에서 읽을 수 없음: %s" -#: option.c:522 +#: option.c:501 #, c-format -msgid "user-supplied old port number %hu corrected to %hu\n" -msgstr "지정한 %hu 옛 포트 번호를 %hu 번호로 바꿈\n" +msgid "user-supplied old port number %hu corrected to %hu" +msgstr "지정한 %hu 옛 포트 번호를 %hu 번호로 바꿈" -#: parallel.c:127 parallel.c:238 +#: parallel.c:127 parallel.c:235 #, c-format -msgid "could not create worker process: %s\n" -msgstr "작업용 프로세스를 만들 수 없음: %s\n" +msgid "could not create worker process: %s" +msgstr "작업용 프로세스를 만들 수 없음: %s" -#: parallel.c:146 parallel.c:259 +#: parallel.c:143 parallel.c:253 #, c-format -msgid "could not create worker thread: %s\n" -msgstr "작업용 쓰레드를 만들 수 없음: %s\n" +msgid "could not create worker thread: %s" +msgstr "작업용 쓰레드를 만들 수 없음: %s" -#: parallel.c:300 +#: parallel.c:294 #, c-format -msgid "waitpid() failed: %s\n" -msgstr "waitpid() 실패: %s\n" +msgid "%s() failed: %s" +msgstr "%s() 실패: %s" -#: parallel.c:304 +#: parallel.c:298 #, c-format -msgid "child process exited abnormally: status %d\n" -msgstr "하위 작업자가 비정상 종료됨: 상태값 %d\n" +msgid "child process exited abnormally: status %d" +msgstr "하위 작업자가 비정상 종료됨: 상태값 %d" -#: parallel.c:319 +#: parallel.c:313 #, c-format -msgid "child worker exited abnormally: %s\n" -msgstr "하위 작업자가 비정상 종료됨: %s\n" +msgid "child worker exited abnormally: %s" +msgstr "하위 작업자가 비정상 종료됨: %s" -#: pg_upgrade.c:108 +#: pg_upgrade.c:107 #, c-format -msgid "could not read permissions of directory \"%s\": %s\n" -msgstr "\"%s\" 디렉터리 읽기 권한 없음: %s\n" +msgid "could not read permissions of directory \"%s\": %s" +msgstr "\"%s\" 디렉터리 읽기 권한 없음: %s" -#: pg_upgrade.c:123 +#: pg_upgrade.c:139 #, c-format msgid "" "\n" "Performing Upgrade\n" -"------------------\n" +"------------------" msgstr "" "\n" "업그레이드 진행 중\n" -"------------------\n" +"------------------" -#: pg_upgrade.c:166 +#: pg_upgrade.c:184 #, c-format msgid "Setting next OID for new cluster" msgstr "새 클러스터용 다음 OID 설정 중" -#: pg_upgrade.c:173 +#: pg_upgrade.c:193 #, c-format msgid "Sync data directory to disk" msgstr "데이터 디렉터리 fsync 작업 중" -#: pg_upgrade.c:185 +#: pg_upgrade.c:205 #, c-format msgid "" "\n" "Upgrade Complete\n" -"----------------\n" +"----------------" msgstr "" "\n" -"업그레이드 완료\n" -"---------------\n" +"업그레이드 마침\n" +"---------------" + +#: pg_upgrade.c:238 pg_upgrade.c:251 pg_upgrade.c:258 pg_upgrade.c:265 +#: pg_upgrade.c:283 pg_upgrade.c:294 +#, c-format +msgid "directory path for new cluster is too long" +msgstr "새 클러스터용 디렉터리 이름이 너무 김" + +#: pg_upgrade.c:272 pg_upgrade.c:274 pg_upgrade.c:276 pg_upgrade.c:278 +#, c-format +msgid "could not create directory \"%s\": %m" +msgstr "\"%s\" 디렉터리를 만들 수 없음: %m" -#: pg_upgrade.c:220 +#: pg_upgrade.c:327 #, c-format -msgid "%s: could not find own program executable\n" -msgstr "%s: 실행할 프로그램을 찾을 수 없습니다.\n" +msgid "%s: could not find own program executable" +msgstr "%s: 실행할 프로그램을 찾을 수 없습니다." -#: pg_upgrade.c:246 +#: pg_upgrade.c:353 #, c-format msgid "" "There seems to be a postmaster servicing the old cluster.\n" -"Please shutdown that postmaster and try again.\n" +"Please shutdown that postmaster and try again." msgstr "" "옛 서버가 현재 운영 되고 있습니다.\n" -"먼저 서버를 중지하고 진행하세요.\n" +"먼저 서버를 중지하고 진행하세요." -#: pg_upgrade.c:259 +#: pg_upgrade.c:366 #, c-format msgid "" "There seems to be a postmaster servicing the new cluster.\n" -"Please shutdown that postmaster and try again.\n" +"Please shutdown that postmaster and try again." msgstr "" "새 서버가 현재 운영 되고 있습니다.\n" -"먼저 서버를 중지하고 진행하세요.\n" +"먼저 서버를 중지하고 진행하세요." + +#: pg_upgrade.c:388 +#, c-format +msgid "Setting locale and encoding for new cluster" +msgstr "새 클러스터용 로케일과 인코딩 설정 중" -#: pg_upgrade.c:273 +#: pg_upgrade.c:450 #, c-format msgid "Analyzing all rows in the new cluster" msgstr "새 클러스터의 모든 로우에 대해서 통계 정보 수집 중" -#: pg_upgrade.c:286 +#: pg_upgrade.c:463 #, c-format msgid "Freezing all rows in the new cluster" msgstr "새 클러스터의 모든 로우에 대해서 영구 격리(freeze) 중" -#: pg_upgrade.c:306 +#: pg_upgrade.c:483 #, c-format msgid "Restoring global objects in the new cluster" msgstr "새 클러스터에 전역 객체를 복원 중" -#: pg_upgrade.c:321 +#: pg_upgrade.c:499 #, c-format -msgid "Restoring database schemas in the new cluster\n" -msgstr "새 클러스터에 데이터베이스 스키마 복원 중\n" +msgid "Restoring database schemas in the new cluster" +msgstr "새 클러스터에 데이터베이스 스키마 복원 중" -#: pg_upgrade.c:425 +#: pg_upgrade.c:605 #, c-format msgid "Deleting files from new %s" msgstr "새 %s에서 파일 지우는 중" -#: pg_upgrade.c:429 +#: pg_upgrade.c:609 #, c-format -msgid "could not delete directory \"%s\"\n" -msgstr "\"%s\" 디렉터리를 삭제 할 수 없음\n" +msgid "could not delete directory \"%s\"" +msgstr "\"%s\" 디렉터리를 삭제 할 수 없음" -#: pg_upgrade.c:448 +#: pg_upgrade.c:628 #, c-format msgid "Copying old %s to new server" msgstr "옛 %s 객체를 새 서버로 복사 중" -#: pg_upgrade.c:475 +#: pg_upgrade.c:654 +#, c-format +msgid "Setting oldest XID for new cluster" +msgstr "새 클러스터용 제일 오래된 XID 설정 중" + +#: pg_upgrade.c:662 #, c-format msgid "Setting next transaction ID and epoch for new cluster" msgstr "새 클러스터용 다음 트랜잭션 ID와 epoch 값 설정 중" -#: pg_upgrade.c:505 +#: pg_upgrade.c:692 #, c-format msgid "Setting next multixact ID and offset for new cluster" msgstr "새 클러스터용 다음 멀티 트랜잭션 ID와 위치 값 설정 중" -#: pg_upgrade.c:529 +#: pg_upgrade.c:716 #, c-format msgid "Setting oldest multixact ID in new cluster" msgstr "새 클러스터용 제일 오래된 멀티 트랜잭션 ID 설정 중" -#: pg_upgrade.c:549 +#: pg_upgrade.c:736 #, c-format msgid "Resetting WAL archives" msgstr "WAL 아카이브 재설정 중" -#: pg_upgrade.c:592 +#: pg_upgrade.c:779 #, c-format msgid "Setting frozenxid and minmxid counters in new cluster" msgstr "새 클러스터에서 frozenxid, minmxid 값 설정 중" -#: pg_upgrade.c:594 +#: pg_upgrade.c:781 #, c-format msgid "Setting minmxid counter in new cluster" msgstr "새 클러스터에서 minmxid 값 설정 중" -#: relfilenode.c:35 +#: relfilenumber.c:35 #, c-format -msgid "Cloning user relation files\n" -msgstr "사용자 릴레이션 파일 클론 중\n" +msgid "Cloning user relation files" +msgstr "사용자 릴레이션 파일 클론 중" -#: relfilenode.c:38 +#: relfilenumber.c:38 #, c-format -msgid "Copying user relation files\n" -msgstr "사용자 릴레이션 파일 복사 중\n" +msgid "Copying user relation files" +msgstr "사용자 릴레이션 파일 복사 중" -#: relfilenode.c:41 +#: relfilenumber.c:41 #, c-format -msgid "Linking user relation files\n" -msgstr "사용자 릴레이션 파일 링크 중\n" +msgid "Linking user relation files" +msgstr "사용자 릴레이션 파일 링크 중" -#: relfilenode.c:115 +#: relfilenumber.c:115 #, c-format -msgid "old database \"%s\" not found in the new cluster\n" -msgstr "\"%s\" 이름의 옛 데이터베이스를 새 클러스터에서 찾을 수 없음\n" +msgid "old database \"%s\" not found in the new cluster" +msgstr "\"%s\" 이름의 옛 데이터베이스를 새 클러스터에서 찾을 수 없음" -#: relfilenode.c:234 +#: relfilenumber.c:218 #, c-format msgid "" -"error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %s\n" -msgstr "\"%s.%s\" (\"%s\" / \"%s\") 파일이 있는지 확인 도중 오류 발생: %s\n" - -#: relfilenode.c:252 -#, c-format -msgid "rewriting \"%s\" to \"%s\"\n" -msgstr "\"%s\" 객체를 \"%s\" 객체로 다시 쓰는 중\n" +"error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %s" +msgstr "\"%s.%s\" (\"%s\" / \"%s\") 파일이 있는지 확인 도중 오류 발생: %s" -#: relfilenode.c:260 +#: relfilenumber.c:236 #, c-format -msgid "cloning \"%s\" to \"%s\"\n" -msgstr "\"%s\" 객체를 \"%s\" 객체로 클론 중\n" +msgid "rewriting \"%s\" to \"%s\"" +msgstr "\"%s\" 객체를 \"%s\" 객체로 다시 쓰는 중" -#: relfilenode.c:265 +#: relfilenumber.c:244 #, c-format -msgid "copying \"%s\" to \"%s\"\n" -msgstr "\"%s\" 객체를 \"%s\" 객체로 복사 중\n" +msgid "cloning \"%s\" to \"%s\"" +msgstr "\"%s\" 객체를 \"%s\" 객체로 클론 중" -#: relfilenode.c:270 +#: relfilenumber.c:249 #, c-format -msgid "linking \"%s\" to \"%s\"\n" -msgstr "\"%s\" 객체를 \"%s\" 객체로 링크 중\n" +msgid "copying \"%s\" to \"%s\"" +msgstr "\"%s\" 객체를 \"%s\" 객체로 복사 중" -#: server.c:33 +#: relfilenumber.c:254 #, c-format -msgid "connection to database failed: %s" -msgstr "데이터베이스 연결 실패: %s" +msgid "linking \"%s\" to \"%s\"" +msgstr "\"%s\" 객체를 \"%s\" 객체로 링크 중" -#: server.c:39 server.c:141 util.c:135 util.c:165 +#: server.c:39 server.c:143 util.c:248 util.c:278 #, c-format msgid "Failure, exiting\n" msgstr "실패, 종료함\n" -#: server.c:131 +#: server.c:133 #, c-format -msgid "executing: %s\n" -msgstr "실행중: %s\n" +msgid "executing: %s" +msgstr "실행중: %s" -#: server.c:137 +#: server.c:139 #, c-format msgid "" "SQL command failed\n" @@ -1632,218 +1648,173 @@ msgstr "" "%s\n" "%s" -#: server.c:167 +#: server.c:169 #, c-format -msgid "could not open version file \"%s\": %m\n" -msgstr "\"%s\" 버전 파일 열기 실패: %m\n" +msgid "could not open version file \"%s\": %m" +msgstr "\"%s\" 버전 파일 열기 실패: %m" -#: server.c:171 +#: server.c:173 #, c-format -msgid "could not parse version file \"%s\"\n" -msgstr "\"%s\" 버전 파일 구문 분석 실패\n" +msgid "could not parse version file \"%s\"" +msgstr "\"%s\" 버전 파일 구문 분석 실패" -#: server.c:297 +#: server.c:288 #, c-format msgid "" "\n" -"connection to database failed: %s" +"%s" msgstr "" "\n" -"데이터베이스 연결 실패: %s" +"%s" -#: server.c:302 +#: server.c:292 #, c-format msgid "" "could not connect to source postmaster started with the command:\n" -"%s\n" +"%s" msgstr "" "다음 명령으로 실행된 원본 서버로 접속할 수 없음:\n" -"%s\n" +"%s" -#: server.c:306 +#: server.c:296 #, c-format msgid "" "could not connect to target postmaster started with the command:\n" -"%s\n" +"%s" msgstr "" "다음 명령으로 실행된 대상 서버로 접속할 수 없음:\n" -"%s\n" +"%s" -#: server.c:320 +#: server.c:310 #, c-format -msgid "pg_ctl failed to start the source server, or connection failed\n" -msgstr "원본 서버를 실행하는 pg_ctl 작업 실패, 또는 연결 실패\n" +msgid "pg_ctl failed to start the source server, or connection failed" +msgstr "원본 서버를 실행하는 pg_ctl 작업 실패, 또는 연결 실패" -#: server.c:322 +#: server.c:312 #, c-format -msgid "pg_ctl failed to start the target server, or connection failed\n" -msgstr "대상 서버를 실행하는 pg_ctl 작업 실패, 또는 연결 실패\n" +msgid "pg_ctl failed to start the target server, or connection failed" +msgstr "대상 서버를 실행하는 pg_ctl 작업 실패, 또는 연결 실패" -#: server.c:367 +#: server.c:357 #, c-format -msgid "out of memory\n" -msgstr "메모리 부족\n" +msgid "out of memory" +msgstr "메모리 부족" -#: server.c:380 +#: server.c:370 #, c-format -msgid "libpq environment variable %s has a non-local server value: %s\n" -msgstr "%s libpq 환경 변수가 로컬 서버 값이 아님: %s\n" +msgid "libpq environment variable %s has a non-local server value: %s" +msgstr "%s libpq 환경 변수가 로컬 서버 값이 아님: %s" #: tablespace.c:28 #, c-format msgid "" "Cannot upgrade to/from the same system catalog version when\n" -"using tablespaces.\n" +"using tablespaces." msgstr "" "사용자 정의 테이블스페이스를 사용하는 경우 같은 시스템 카탈로그 버전으로\n" -"업그레이드 작업을 진행할 수 없습니다.\n" - -#: tablespace.c:86 -#, c-format -msgid "tablespace directory \"%s\" does not exist\n" -msgstr "\"%s\" 이름의 테이블스페이스 디렉터리가 없음\n" +"업그레이드 작업을 진행할 수 없습니다." -#: tablespace.c:90 +#: tablespace.c:83 #, c-format -msgid "could not stat tablespace directory \"%s\": %s\n" -msgstr "\"%s\" 테이블스페이스 디렉터리의 상태 정보를 구할 수 없음: %s\n" +msgid "tablespace directory \"%s\" does not exist" +msgstr "\"%s\" 이름의 테이블스페이스 디렉터리가 없음" -#: tablespace.c:95 +#: tablespace.c:87 #, c-format -msgid "tablespace path \"%s\" is not a directory\n" -msgstr "\"%s\" 테이블스페이스 경로는 디렉터리가 아님\n" +msgid "could not stat tablespace directory \"%s\": %s" +msgstr "\"%s\" 테이블스페이스 디렉터리의 상태 정보를 구할 수 없음: %s" -#: util.c:49 +#: tablespace.c:92 #, c-format -msgid " " -msgstr " " +msgid "tablespace path \"%s\" is not a directory" +msgstr "\"%s\" 테이블스페이스 경로는 디렉터리가 아님" -#: util.c:82 +#: util.c:53 util.c:56 util.c:139 util.c:170 util.c:172 #, c-format msgid "%-*s" msgstr "%-*s" -#: util.c:174 +#: util.c:107 #, c-format -msgid "ok" -msgstr "ok" - -#: version.c:29 -#, c-format -msgid "Checking for large objects" -msgstr "대형 객체 확인 중" - -#: version.c:77 version.c:384 -#, c-format -msgid "warning" -msgstr "경고" +msgid "could not access directory \"%s\": %m" +msgstr "\"%s\" 디렉터리를 액세스할 수 없습니다: %m" -#: version.c:79 +#: util.c:287 #, c-format -msgid "" -"\n" -"Your installation contains large objects. The new database has an\n" -"additional large object permission table. After upgrading, you will be\n" -"given a command to populate the pg_largeobject_metadata table with\n" -"default permissions.\n" -"\n" -msgstr "" -"\n" -"이 데이터베이스는 대형 객체를 사용하고 있습니다. 새 데이터베이스에서는\n" -"이들의 접근 권한 제어를 위해 추가적인 테이블을 사용합니다. 업그레이드 후\n" -"이 객체들의 접근 권한은 pg_largeobject_metadata 테이블에 기본값으로 지정됩니" -"다.\n" -"\n" - -#: version.c:85 -#, c-format -msgid "" -"\n" -"Your installation contains large objects. The new database has an\n" -"additional large object permission table, so default permissions must be\n" -"defined for all large objects. The file\n" -" %s\n" -"when executed by psql by the database superuser will set the default\n" -"permissions.\n" -"\n" -msgstr "" -"\n" -"이 데이터베이스는 대형 객체를 사용하고 있습니다. 새 데이터베이스에서는\n" -"이들의 접근 권한 제어를 위해 추가적인 테이블을 사용합니다. 그래서\n" -"이들의 접근 권한을 기본값으로 설정하려면,\n" -" %s\n" -"파일을 새 서버가 실행 되었을 때 슈퍼유저 권한으로 psql 명령으로\n" -"실행 하세요.\n" -"\n" +msgid "ok" +msgstr "ok" -#: version.c:239 +#: version.c:184 #, c-format msgid "Checking for incompatible \"line\" data type" msgstr "\"line\" 자료형 호환성 확인 중" -#: version.c:246 +#: version.c:193 #, c-format msgid "" -"Your installation contains the \"line\" data type in user tables. This\n" -"data type changed its internal and input/output format between your old\n" -"and new clusters so this cluster cannot currently be upgraded. You can\n" -"remove the problem tables and restart the upgrade. A list of the problem\n" -"columns is in the file:\n" -" %s\n" -"\n" +"Your installation contains the \"line\" data type in user tables.\n" +"This data type changed its internal and input/output format\n" +"between your old and new versions so this\n" +"cluster cannot currently be upgraded. You can\n" +"drop the problem columns and restart the upgrade.\n" +"A list of the problem columns is in the file:\n" +" %s" msgstr "" -"해당 데이터베이스에서 \"line\" 자료형을 사용하는 칼럼이 있습니다.\n" +"해당 데이터베이스에서 \"line\" 자료형을 사용하는 테이블이 있습니다.\n" "이 자료형의 입출력 방식이 옛 버전과 새 버전에서 서로 호환하지 않습니다.\n" "먼저 이 자료형을 사용하는 테이블을 삭제 후 업그레이드 작업을 하고,\n" -"수동으로 복원 작업을 해야 합니다. 해당 파일들은 다음과 같습니다:\n" -" %s\n" -"\n" +"수동으로 복원 작업을 해야 합니다.\n" +"작업 대상 테이블 목록을 다음 파일 안에 있습니다:\n" +" %s" -#: version.c:276 +#: version.c:224 #, c-format msgid "Checking for invalid \"unknown\" user columns" msgstr "잘못된 \"unknown\" 사용자 칼럼을 확인 중" -#: version.c:283 +#: version.c:233 #, c-format msgid "" -"Your installation contains the \"unknown\" data type in user tables. This\n" -"data type is no longer allowed in tables, so this cluster cannot currently\n" -"be upgraded. You can remove the problem tables and restart the upgrade.\n" +"Your installation contains the \"unknown\" data type in user tables.\n" +"This data type is no longer allowed in tables, so this\n" +"cluster cannot currently be upgraded. You can\n" +"drop the problem columns and restart the upgrade.\n" "A list of the problem columns is in the file:\n" -" %s\n" -"\n" +" %s" msgstr "" "해당 데이터베이스에서 사용자 테이블에서 \"unknown\" 자료형을 사용하고 있습니" "다.\n" "이 자료형은 더 이상 사용할 수 없습니다. 이 문제를 옛 버전에서 먼저 정리하고\n" -"업그레이드 작업을 진행하세요. 해당 파일은 다음과 같습니다:\n" -" %s\n" -"\n" +"업그레이드 작업을 진행하세요.\n" +"해당 테이블 목록은 다음 파일 안에 있습니다:\n" +" %s" -#: version.c:306 +#: version.c:257 #, c-format msgid "Checking for hash indexes" msgstr "해쉬 인덱스 확인 중" -#: version.c:386 +#: version.c:335 +#, c-format +msgid "warning" +msgstr "경고" + +#: version.c:337 #, c-format msgid "" "\n" "Your installation contains hash indexes. These indexes have different\n" "internal formats between your old and new clusters, so they must be\n" "reindexed with the REINDEX command. After upgrading, you will be given\n" -"REINDEX instructions.\n" -"\n" +"REINDEX instructions." msgstr "" "\n" "해당 데이터베이스에서 해쉬 인덱스를 사용하고 있습니다. 해쉬 인덱스 자료구조" "가\n" "새 버전에서 호환되지 않습니다. 업그레이드 후에 해당 인덱스들을\n" -"REINDEX 명령으로 다시 만들어야 합니다.\n" -"\n" +"REINDEX 명령으로 다시 만들어야 합니다." -#: version.c:392 +#: version.c:343 #, c-format msgid "" "\n" @@ -1852,8 +1823,7 @@ msgid "" "reindexed with the REINDEX command. The file\n" " %s\n" "when executed by psql by the database superuser will recreate all invalid\n" -"indexes; until then, none of these indexes will be used.\n" -"\n" +"indexes; until then, none of these indexes will be used." msgstr "" "\n" "해당 데이터베이스에서 해쉬 인덱스를 사용하고 있습니다. 해쉬 인덱스 자료구조" @@ -1861,29 +1831,52 @@ msgstr "" "새 버전에서 호환되지 않습니다. 업그레이드 후 다음 파일을\n" "슈퍼유저 권한으로 실행한 psql에서 실행해서, REINDEX 작업을 진행하세요:\n" " %s\n" -"이 작업이 있기 전까지는 해당 인덱스는 invalid 상태로 사용할 수 없게 됩니다.\n" -"\n" +"이 작업이 있기 전까지는 해당 인덱스는 invalid 상태로 사용할 수 없게 됩니다." -#: version.c:418 +#: version.c:369 #, c-format msgid "Checking for invalid \"sql_identifier\" user columns" msgstr "잘못된 \"sql_identifier\" 사용자 칼럼을 확인 중" -#: version.c:426 +#: version.c:379 #, c-format msgid "" -"Your installation contains the \"sql_identifier\" data type in user tables\n" -"and/or indexes. The on-disk format for this data type has changed, so this\n" -"cluster cannot currently be upgraded. You can remove the problem tables or\n" -"change the data type to \"name\" and restart the upgrade.\n" +"Your installation contains the \"sql_identifier\" data type in user tables.\n" +"The on-disk format for this data type has changed, so this\n" +"cluster cannot currently be upgraded. You can\n" +"drop the problem columns and restart the upgrade.\n" "A list of the problem columns is in the file:\n" -" %s\n" -"\n" +" %s" msgstr "" -"사용자 테이블 또는/이나 인덱스에 \"sql_identifier\" 자료형을 사용하고\n" -"있습니다. 이 자료형의 저장 양식이 바뀌었기에, 이 클러스터는 업그레이드\n" -"되어야합니다. 해당 테이블을 지우거나, 해당 칼럼의 자료형을 \"name\" 형으로\n" -"바꾸고, 서버를 재실행 한 뒤 업그레이드 하십시오.\n" -"문제의 칼럼이 있는 파일들은 다음과 같습니다:\n" +"사용자 테이블 또는 인덱스에 \"sql_identifier\" 자료형을 사용하고\n" +"있습니다. 이 자료형의 저장 양식이 바뀌었기에, 업그레이드 할 수\n" +"없습니다. 해당 테이블의 칼럼을 지우고 다시 업그레이드 하십시오.\n" +"문제의 칼럼이 있는 목록은 다음 파일 안에 있습니다:\n" +" %s" + +#: version.c:402 +#, c-format +msgid "Checking for extension updates" +msgstr "확장 모듈 업데이트 확인 중" + +#: version.c:450 +#, c-format +msgid "notice" +msgstr "알림" + +#: version.c:451 +#, c-format +msgid "" +"\n" +"Your installation contains extensions that should be updated\n" +"with the ALTER EXTENSION command. The file\n" " %s\n" +"when executed by psql by the database superuser will update\n" +"these extensions." +msgstr "" "\n" +"해당 서버에는 업데이트 해야하는 확장 모듈이 있습니다.\n" +"이 작업은 ALTER EXTENSION 명령으로 할 수 있으며, 작업 명령은\n" +" %s\n" +"파일 안에 있습니다. 데이터베이스 슈퍼유저로 psql로 접속해서\n" +"이 파일 안에 있는 명령을 수행하면 확장 모듈을 업데이트 할 수 있습니다." diff --git a/src/bin/pg_verifybackup/po/el.po b/src/bin/pg_verifybackup/po/el.po index 2ec9396805b..3e3f20c67c5 100644 --- a/src/bin/pg_verifybackup/po/el.po +++ b/src/bin/pg_verifybackup/po/el.po @@ -9,15 +9,15 @@ msgid "" msgstr "" "Project-Id-Version: pg_verifybackup (PostgreSQL) 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-04-14 09:16+0000\n" -"PO-Revision-Date: 2023-04-14 14:44+0200\n" +"POT-Creation-Date: 2023-08-14 23:16+0000\n" +"PO-Revision-Date: 2023-08-15 15:22+0200\n" "Last-Translator: Georgios Kokolatos \n" "Language-Team: \n" "Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 3.2.2\n" +"X-Generator: Poedit 3.3.2\n" #: ../../../src/common/logging.c:276 #, c-format @@ -40,92 +40,97 @@ msgid "hint: " msgstr "υπόδειξη: " #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 -#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format msgid "out of memory\n" msgstr "έλλειψη μνήμης\n" -#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 #, c-format msgid "cannot duplicate null pointer (internal error)\n" msgstr "δεν ήταν δυνατή η αντιγραφή δείκτη null (εσωτερικό σφάλμα)\n" -#: ../../common/jsonapi.c:1092 +#: ../../common/jsonapi.c:1144 #, c-format msgid "Escape sequence \"\\%s\" is invalid." msgstr "Η ακολουθία διαφυγής «\\%s» δεν είναι έγκυρη." -#: ../../common/jsonapi.c:1095 +#: ../../common/jsonapi.c:1147 #, c-format msgid "Character with value 0x%02x must be escaped." msgstr "Ο χαρακτήρας με τιμή 0x%02x πρέπει να διαφύγει." -#: ../../common/jsonapi.c:1098 +#: ../../common/jsonapi.c:1150 #, c-format msgid "Expected end of input, but found \"%s\"." msgstr "Ανέμενε τέλος εισόδου, αλλά βρήκε «%s»." -#: ../../common/jsonapi.c:1101 +#: ../../common/jsonapi.c:1153 #, c-format msgid "Expected array element or \"]\", but found \"%s\"." msgstr "Ανέμενε στοιχείο συστυχίας ή «]», αλλά βρέθηκε «%s»." -#: ../../common/jsonapi.c:1104 +#: ../../common/jsonapi.c:1156 #, c-format msgid "Expected \",\" or \"]\", but found \"%s\"." msgstr "Ανέμενε «,» ή «]», αλλά βρήκε «%s»." -#: ../../common/jsonapi.c:1107 +#: ../../common/jsonapi.c:1159 #, c-format msgid "Expected \":\", but found \"%s\"." msgstr "Ανέμενε «:», αλλά βρήκε «%s»." -#: ../../common/jsonapi.c:1110 +#: ../../common/jsonapi.c:1162 #, c-format msgid "Expected JSON value, but found \"%s\"." msgstr "Ανέμενε τιμή JSON, αλλά βρήκε «%s»." -#: ../../common/jsonapi.c:1113 +#: ../../common/jsonapi.c:1165 msgid "The input string ended unexpectedly." msgstr "Η συμβολοσειρά εισόδου τερματίστηκε αναπάντεχα." -#: ../../common/jsonapi.c:1115 +#: ../../common/jsonapi.c:1167 #, c-format msgid "Expected string or \"}\", but found \"%s\"." msgstr "Ανέμενε συμβολοσειρά ή «}», αλλά βρήκε «%s»." -#: ../../common/jsonapi.c:1118 +#: ../../common/jsonapi.c:1170 #, c-format msgid "Expected \",\" or \"}\", but found \"%s\"." msgstr "Ανέμενε «,» ή «}», αλλά βρήκε «%s»." -#: ../../common/jsonapi.c:1121 +#: ../../common/jsonapi.c:1173 #, c-format msgid "Expected string, but found \"%s\"." msgstr "Ανέμενε συμβολοσειρά, αλλά βρήκε «%s»." -#: ../../common/jsonapi.c:1124 +#: ../../common/jsonapi.c:1176 #, c-format msgid "Token \"%s\" is invalid." msgstr "Το διακριτικό «%s» δεν είναι έγκυρο." -#: ../../common/jsonapi.c:1127 +#: ../../common/jsonapi.c:1179 msgid "\\u0000 cannot be converted to text." msgstr "Δεν είναι δυνατή η μετατροπή του \\u0000 σε κείμενο." -#: ../../common/jsonapi.c:1129 +#: ../../common/jsonapi.c:1181 msgid "\"\\u\" must be followed by four hexadecimal digits." msgstr "Το «\\u» πρέπει να ακολουθείται από τέσσερα δεκαεξαδικά ψηφία." -#: ../../common/jsonapi.c:1132 +#: ../../common/jsonapi.c:1184 msgid "Unicode escape values cannot be used for code point values above 007F when the encoding is not UTF8." msgstr "Δεν μπορούν να χρησιμοποιηθούν τιμές διαφυγής Unicode για τιμές σημείου κώδικα άνω του 007F όταν η κωδικοποίηση δεν είναι UTF8." -#: ../../common/jsonapi.c:1134 +#: ../../common/jsonapi.c:1187 +#, c-format +msgid "Unicode escape value could not be translated to the server's encoding %s." +msgstr "Τιμές διαφυγής Unicode δεν δύναται να μεταφραστούν στην εντοπιότητα %s του διακομιστή." + +#: ../../common/jsonapi.c:1190 msgid "Unicode high surrogate must not follow a high surrogate." msgstr "Υψηλό διακριτικό Unicode δεν πρέπει να ακολουθεί υψηλό διακριτικό." -#: ../../common/jsonapi.c:1136 +#: ../../common/jsonapi.c:1192 msgid "Unicode low surrogate must follow a high surrogate." msgstr "Χαμηλό διακριτικό Unicode πρέπει να ακολουθεί υψηλό διακριτικό." @@ -141,283 +146,293 @@ msgstr "η διακήρυξη έληξε απροσδόκητα" msgid "unexpected object start" msgstr "μη αναμενόμενη αρχή αντικειμένου" -#: parse_manifest.c:224 +#: parse_manifest.c:226 msgid "unexpected object end" msgstr "μη αναμενόμενο τέλος αντικειμένου" -#: parse_manifest.c:251 +#: parse_manifest.c:255 msgid "unexpected array start" msgstr "μη αναμενόμενη αρχή συστοιχίας" -#: parse_manifest.c:274 +#: parse_manifest.c:280 msgid "unexpected array end" msgstr "μη αναμενόμενο τέλος συστοιχίας" -#: parse_manifest.c:299 +#: parse_manifest.c:307 msgid "expected version indicator" msgstr "ανέμενε ένδειξη έκδοσης" -#: parse_manifest.c:328 +#: parse_manifest.c:336 msgid "unrecognized top-level field" msgstr "μη αναγνωρίσιμο πεδίο ανώτατου επιπέδου" -#: parse_manifest.c:347 +#: parse_manifest.c:355 msgid "unexpected file field" msgstr "μη αναμενόμενο πεδίο αρχείου" -#: parse_manifest.c:361 +#: parse_manifest.c:369 msgid "unexpected WAL range field" msgstr "μη αναμενόμενο πεδίο περιοχής WAL" -#: parse_manifest.c:367 +#: parse_manifest.c:375 msgid "unexpected object field" msgstr "μη αναμενόμενο πεδίο αντικειμένου" -#: parse_manifest.c:397 +#: parse_manifest.c:407 msgid "unexpected manifest version" msgstr "μη αναμενόμενη έκδοση διακήρυξης" -#: parse_manifest.c:448 +#: parse_manifest.c:458 msgid "unexpected scalar" msgstr "μη αναμενόμενο scalar" -#: parse_manifest.c:472 +#: parse_manifest.c:484 msgid "missing path name" msgstr "λείπει όνομα διαδρομής" -#: parse_manifest.c:475 +#: parse_manifest.c:487 msgid "both path name and encoded path name" msgstr "και όνομα διαδρομής και κωδικοποιημένο όνομα διαδρομής" -#: parse_manifest.c:477 +#: parse_manifest.c:489 msgid "missing size" msgstr "λείπει το μέγεθος" -#: parse_manifest.c:480 +#: parse_manifest.c:492 msgid "checksum without algorithm" msgstr "άθροισμα ελέγχου χωρίς αλγόριθμο" -#: parse_manifest.c:494 +#: parse_manifest.c:506 msgid "could not decode file name" msgstr "δεν ήταν δυνατή η αποκωδικοποίηση του ονόματος αρχείου" -#: parse_manifest.c:504 +#: parse_manifest.c:516 msgid "file size is not an integer" msgstr "το μέγεθος αρχείου δεν είναι ακέραιος" -#: parse_manifest.c:510 +#: parse_manifest.c:522 #, c-format msgid "unrecognized checksum algorithm: \"%s\"" msgstr "μη αναγνωρίσιμος αλγόριθμος αθροίσματος ελέγχου: «%s»" -#: parse_manifest.c:529 +#: parse_manifest.c:541 #, c-format msgid "invalid checksum for file \"%s\": \"%s\"" msgstr "μη έγκυρο άθροισμα ελέγχου για το αρχείο «%s»: «%s»" -#: parse_manifest.c:572 +#: parse_manifest.c:584 msgid "missing timeline" msgstr "λείπει η χρονογραμμή" -#: parse_manifest.c:574 +#: parse_manifest.c:586 msgid "missing start LSN" msgstr "λείπει αρχικό LSN" -#: parse_manifest.c:576 +#: parse_manifest.c:588 msgid "missing end LSN" msgstr "λείπει τελικό LSN" -#: parse_manifest.c:582 +#: parse_manifest.c:594 msgid "timeline is not an integer" msgstr "η χρονογραμμή δεν είναι ακέραιος" -#: parse_manifest.c:585 +#: parse_manifest.c:597 msgid "could not parse start LSN" msgstr "δεν ήταν δυνατή η ανάλυση του αρχικού LSN" -#: parse_manifest.c:588 +#: parse_manifest.c:600 msgid "could not parse end LSN" msgstr "δεν ήταν δυνατή η ανάλυση του τελικού LSN" -#: parse_manifest.c:649 +#: parse_manifest.c:661 msgid "expected at least 2 lines" msgstr "αναμένονταν τουλάχιστον 2 γραμμές" -#: parse_manifest.c:652 +#: parse_manifest.c:664 msgid "last line not newline-terminated" msgstr "η τελευταία γραμμή δεν τερματίστηκε με newline" -#: parse_manifest.c:657 +#: parse_manifest.c:669 #, c-format msgid "out of memory" msgstr "έλλειψη μνήμης" -#: parse_manifest.c:659 +#: parse_manifest.c:671 #, c-format msgid "could not initialize checksum of manifest" msgstr "δεν ήταν δυνατή η αρχικοποίηση του αθροίσματος ελέγχου της διακήρυξης" -#: parse_manifest.c:661 +#: parse_manifest.c:673 #, c-format msgid "could not update checksum of manifest" msgstr "δεν ήταν δυνατή η ενημέρωση του αθροίσματος ελέγχου της διακήρυξης" -#: parse_manifest.c:664 +#: parse_manifest.c:676 #, c-format msgid "could not finalize checksum of manifest" msgstr "δεν ήταν δυνατή η ολοκλήρωση του αθροίσματος ελέγχου της διακήρυξης" -#: parse_manifest.c:668 +#: parse_manifest.c:680 #, c-format msgid "manifest has no checksum" msgstr "η διακήρυξη δεν έχει άθροισμα ελέγχου" -#: parse_manifest.c:672 +#: parse_manifest.c:684 #, c-format msgid "invalid manifest checksum: \"%s\"" msgstr "μη έγκυρο άθροισμα ελέγχου διακήρυξης: «%s»" -#: parse_manifest.c:676 +#: parse_manifest.c:688 #, c-format msgid "manifest checksum mismatch" msgstr "αναντιστοιχία ελέγχου αθροίσματος διακήρυξης" -#: parse_manifest.c:691 +#: parse_manifest.c:703 #, c-format msgid "could not parse backup manifest: %s" msgstr "δεν ήταν δυνατή η ανάλυση του αντιγράφου ασφαλείας της διακήρυξης: %s" -#: pg_verifybackup.c:256 pg_verifybackup.c:265 pg_verifybackup.c:276 +#: pg_verifybackup.c:273 pg_verifybackup.c:282 pg_verifybackup.c:293 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Δοκιμάστε «%s --help» για περισσότερες πληροφορίες." -#: pg_verifybackup.c:264 +#: pg_verifybackup.c:281 #, c-format msgid "no backup directory specified" msgstr "δεν ορίστηκε κατάλογος αντιγράφου ασφαλείας" -#: pg_verifybackup.c:274 +#: pg_verifybackup.c:291 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "πάρα πολλές παράμετροι εισόδου από την γραμμή εντολών (η πρώτη είναι η «%s»)" -#: pg_verifybackup.c:297 +#: pg_verifybackup.c:299 +#, c-format +msgid "cannot specify both %s and %s" +msgstr "δεν είναι δυνατός ο καθορισμός τόσο %s και %s" + +#: pg_verifybackup.c:319 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "το πρόγραμμα «%s» απαιτείται από %s αλλά δεν βρέθηκε στον ίδιο κατάλογο με το «%s»" -#: pg_verifybackup.c:300 +#: pg_verifybackup.c:322 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "το πρόγραμμα «%s» βρέθηκε από το «%s» αλλά δεν ήταν η ίδια έκδοση με το %s" -#: pg_verifybackup.c:356 +#: pg_verifybackup.c:378 #, c-format msgid "backup successfully verified\n" msgstr "το αντίγραφο ασφαλείας επαληθεύτηκε με επιτυχία\n" -#: pg_verifybackup.c:382 pg_verifybackup.c:718 +#: pg_verifybackup.c:404 pg_verifybackup.c:748 #, c-format msgid "could not open file \"%s\": %m" msgstr "δεν ήταν δυνατό το άνοιγμα του αρχείου «%s»: %m" -#: pg_verifybackup.c:386 +#: pg_verifybackup.c:408 #, c-format msgid "could not stat file \"%s\": %m" msgstr "δεν ήταν δυνατή η εκτέλεση stat στο αρχείο «%s»: %m" -#: pg_verifybackup.c:406 pg_verifybackup.c:745 +#: pg_verifybackup.c:428 pg_verifybackup.c:779 #, c-format msgid "could not read file \"%s\": %m" msgstr "δεν ήταν δυνατή η ανάγνωση του αρχείου «%s»: %m" -#: pg_verifybackup.c:409 +#: pg_verifybackup.c:431 #, c-format msgid "could not read file \"%s\": read %d of %lld" msgstr "δεν ήταν δυνατή η ανάγνωση του αρχείου «%s»: ανέγνωσε %d από %lld" -#: pg_verifybackup.c:469 +#: pg_verifybackup.c:491 #, c-format msgid "duplicate path name in backup manifest: \"%s\"" msgstr "διπλότυπο όνομα διαδρομής στη διακήρυξη αντιγράφου ασφαλείας: «%s»" -#: pg_verifybackup.c:532 pg_verifybackup.c:539 +#: pg_verifybackup.c:554 pg_verifybackup.c:561 #, c-format msgid "could not open directory \"%s\": %m" msgstr "δεν ήταν δυνατό το άνοιγμα του καταλόγου «%s»: %m" -#: pg_verifybackup.c:571 +#: pg_verifybackup.c:593 #, c-format msgid "could not close directory \"%s\": %m" msgstr "δεν ήταν δυνατό το κλείσιμο του καταλόγου «%s»: %m" -#: pg_verifybackup.c:591 +#: pg_verifybackup.c:613 #, c-format msgid "could not stat file or directory \"%s\": %m" msgstr "δεν ήταν δυνατή η εκτέλεση stat στο αρχείο ή κατάλογο «%s»: %m" -#: pg_verifybackup.c:614 +#: pg_verifybackup.c:636 #, c-format msgid "\"%s\" is not a file or directory" msgstr "«%s» δεν είναι αρχείο ή κατάλογος" -#: pg_verifybackup.c:624 +#: pg_verifybackup.c:646 #, c-format msgid "\"%s\" is present on disk but not in the manifest" msgstr "«%s» βρίσκεται στο δίσκο, αλλά όχι στη διακήρυξη" -#: pg_verifybackup.c:636 +#: pg_verifybackup.c:658 #, c-format msgid "\"%s\" has size %lld on disk but size %zu in the manifest" msgstr "«%s» έχει μέγεθος %lld στο δίσκο, αλλά μέγεθος %zu στη διακήρυξη" -#: pg_verifybackup.c:663 +#: pg_verifybackup.c:689 #, c-format msgid "\"%s\" is present in the manifest but not on disk" msgstr "«%s» βρίσκεται στη διακήρυξη αλλά όχι στο δίσκο" -#: pg_verifybackup.c:726 +#: pg_verifybackup.c:756 #, c-format msgid "could not initialize checksum of file \"%s\"" msgstr "δεν ήταν δυνατή η αρχικοποίηση του αθροίσματος ελέγχου του αρχείου «%s»" -#: pg_verifybackup.c:738 +#: pg_verifybackup.c:768 #, c-format msgid "could not update checksum of file \"%s\"" msgstr "δεν ήταν δυνατή η ενημέρωση αθροίσματος ελέγχου του αρχείου «%s»" -#: pg_verifybackup.c:751 +#: pg_verifybackup.c:785 #, c-format msgid "could not close file \"%s\": %m" msgstr "δεν ήταν δυνατό το κλείσιμο του αρχείου «%s»: %m" -#: pg_verifybackup.c:770 +#: pg_verifybackup.c:804 #, c-format msgid "file \"%s\" should contain %zu bytes, but read %zu bytes" msgstr "το αρχείο «%s» έπρεπε να περιέχει %zu bytes, αλλά να αναγνώστηκαν %zu bytes" -#: pg_verifybackup.c:780 +#: pg_verifybackup.c:814 #, c-format msgid "could not finalize checksum of file \"%s\"" msgstr "δεν ήταν δυνατή η ολοκλήρωση του αθροίσματος ελέγχου του αρχείου «%s»" -#: pg_verifybackup.c:788 +#: pg_verifybackup.c:822 #, c-format msgid "file \"%s\" has checksum of length %d, but expected %d" msgstr "το αρχείο «%s» έχει άθροισμα ελέγχου μήκους %d, αλλά αναμένεται %d" -#: pg_verifybackup.c:792 +#: pg_verifybackup.c:826 #, c-format msgid "checksum mismatch for file \"%s\"" msgstr "αναντιστοιχία αθροίσματος ελέγχου για το αρχείο «%s»" -#: pg_verifybackup.c:816 +#: pg_verifybackup.c:851 #, c-format msgid "WAL parsing failed for timeline %u" msgstr "απέτυχε η ανάλυση WAL για την χρονογραμμή %u" -#: pg_verifybackup.c:902 +#: pg_verifybackup.c:965 +#, c-format +msgid "%*s/%s kB (%d%%) verified" +msgstr "%*s/%s kB (%d%%) επιβεβαιώθηκαν" + +#: pg_verifybackup.c:982 #, c-format msgid "" "%s verifies a backup against the backup manifest.\n" @@ -426,7 +441,7 @@ msgstr "" "%s επαληθεύει ένα αντίγραφο ασφαλείας έναντι της διακήρυξης αντιγράφων ασφαλείας.\n" "\n" -#: pg_verifybackup.c:903 +#: pg_verifybackup.c:983 #, c-format msgid "" "Usage:\n" @@ -437,57 +452,62 @@ msgstr "" " %s [ΕΠΙΛΟΓΗ]... BACKUPDIR\n" "\n" -#: pg_verifybackup.c:904 +#: pg_verifybackup.c:984 #, c-format msgid "Options:\n" msgstr "Επιλογές:\n" -#: pg_verifybackup.c:905 +#: pg_verifybackup.c:985 #, c-format msgid " -e, --exit-on-error exit immediately on error\n" msgstr " -e, --exit-on-error να εξέλθει άμεσα σε σφάλμα\n" -#: pg_verifybackup.c:906 +#: pg_verifybackup.c:986 #, c-format msgid " -i, --ignore=RELATIVE_PATH ignore indicated path\n" msgstr " -i, --ignore=RELATIVE_PATH αγνόησε την υποδεικνυόμενη διαδρομή\n" -#: pg_verifybackup.c:907 +#: pg_verifybackup.c:987 #, c-format msgid " -m, --manifest-path=PATH use specified path for manifest\n" msgstr " -m, --manifest-path=PATH χρησιμοποίησε την καθορισμένη διαδρομή για την διακήρυξη\n" -#: pg_verifybackup.c:908 +#: pg_verifybackup.c:988 #, c-format msgid " -n, --no-parse-wal do not try to parse WAL files\n" msgstr " -n, --no-parse-wal μην δοκιμάσεις να αναλύσεις αρχεία WAL\n" -#: pg_verifybackup.c:909 +#: pg_verifybackup.c:989 +#, c-format +msgid " -P, --progress show progress information\n" +msgstr " -P, --progress εμφάνισε πληροφορίες προόδου\n" + +#: pg_verifybackup.c:990 #, c-format msgid " -q, --quiet do not print any output, except for errors\n" msgstr " -q, --quiet να μην εκτυπώσεις καμία έξοδο, εκτός από σφάλματα\n" -#: pg_verifybackup.c:910 +#: pg_verifybackup.c:991 #, c-format msgid " -s, --skip-checksums skip checksum verification\n" msgstr " -s, --skip-checksums παράκαμψε την επαλήθευση αθροισμάτων ελέγχου\n" -#: pg_verifybackup.c:911 +#: pg_verifybackup.c:992 #, c-format msgid " -w, --wal-directory=PATH use specified path for WAL files\n" msgstr " -w, --wal-directory=PATH χρησιμοποίησε την καθορισμένη διαδρομή για αρχεία WAL\n" -#: pg_verifybackup.c:912 +#: pg_verifybackup.c:993 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version εμφάνισε πληροφορίες έκδοσης, στη συνέχεια έξοδος\n" -#: pg_verifybackup.c:913 +#: pg_verifybackup.c:994 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help εμφάνισε αυτό το μήνυμα βοήθειας, στη συνέχεια έξοδος\n" -#: pg_verifybackup.c:914 +#: pg_verifybackup.c:995 #, c-format msgid "" "\n" @@ -496,7 +516,7 @@ msgstr "" "\n" "Υποβάλετε αναφορές σφάλματων σε <%s>.\n" -#: pg_verifybackup.c:915 +#: pg_verifybackup.c:996 #, c-format msgid "%s home page: <%s>\n" msgstr "%s αρχική σελίδα: <%s>\n" diff --git a/src/bin/pg_verifybackup/po/ko.po b/src/bin/pg_verifybackup/po/ko.po index 06d9ce2844d..acdc3da5e02 100644 --- a/src/bin/pg_verifybackup/po/ko.po +++ b/src/bin/pg_verifybackup/po/ko.po @@ -5,10 +5,10 @@ # msgid "" msgstr "" -"Project-Id-Version: pg_verifybackup (PostgreSQL) 13\n" +"Project-Id-Version: pg_verifybackup (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2020-10-05 20:43+0000\n" -"PO-Revision-Date: 2020-10-06 14:45+0900\n" +"POT-Creation-Date: 2023-09-07 05:47+0000\n" +"PO-Revision-Date: 2023-05-26 13:22+0900\n" "Last-Translator: Ioseph Kim \n" "Language-Team: PostgreSQL Korea \n" "Language: ko\n" @@ -16,111 +16,130 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../../src/common/logging.c:236 -#, c-format -msgid "fatal: " -msgstr "심각: " - -#: ../../../src/common/logging.c:243 +#: ../../../src/common/logging.c:276 #, c-format msgid "error: " msgstr "오류: " -#: ../../../src/common/logging.c:250 +#: ../../../src/common/logging.c:283 #, c-format msgid "warning: " msgstr "경고: " +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "상세정보: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "힌트: " + #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 -#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format msgid "out of memory\n" msgstr "메모리 부족\n" -#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 #, c-format msgid "cannot duplicate null pointer (internal error)\n" msgstr "null 포인터를 중복할 수 없음 (내부 오류)\n" -#: ../../common/jsonapi.c:1064 +#: ../../common/jsonapi.c:1144 #, c-format msgid "Escape sequence \"\\%s\" is invalid." msgstr "잘못된 이스케이프 조합: \"\\%s\"" -#: ../../common/jsonapi.c:1067 +#: ../../common/jsonapi.c:1147 #, c-format msgid "Character with value 0x%02x must be escaped." msgstr "0x%02x 값의 문자는 이스케이프 되어야함." -#: ../../common/jsonapi.c:1070 +#: ../../common/jsonapi.c:1150 #, c-format msgid "Expected end of input, but found \"%s\"." msgstr "입력 자료의 끝을 기대했는데, \"%s\" 값이 더 있음." -#: ../../common/jsonapi.c:1073 +#: ../../common/jsonapi.c:1153 #, c-format msgid "Expected array element or \"]\", but found \"%s\"." msgstr "\"]\" 가 필요한데 \"%s\"이(가) 있음" -#: ../../common/jsonapi.c:1076 +#: ../../common/jsonapi.c:1156 #, c-format msgid "Expected \",\" or \"]\", but found \"%s\"." msgstr "\",\" 또는 \"]\"가 필요한데 \"%s\"이(가) 있음" -#: ../../common/jsonapi.c:1079 +#: ../../common/jsonapi.c:1159 #, c-format msgid "Expected \":\", but found \"%s\"." msgstr "\":\"가 필요한데 \"%s\"이(가) 있음" -#: ../../common/jsonapi.c:1082 +#: ../../common/jsonapi.c:1162 #, c-format msgid "Expected JSON value, but found \"%s\"." msgstr "JSON 값을 기대했는데, \"%s\" 값임" -#: ../../common/jsonapi.c:1085 +#: ../../common/jsonapi.c:1165 msgid "The input string ended unexpectedly." msgstr "입력 문자열이 예상치 않게 끝났음." -#: ../../common/jsonapi.c:1087 +#: ../../common/jsonapi.c:1167 #, c-format msgid "Expected string or \"}\", but found \"%s\"." msgstr "\"}\"가 필요한데 \"%s\"이(가) 있음" -#: ../../common/jsonapi.c:1090 +#: ../../common/jsonapi.c:1170 #, c-format msgid "Expected \",\" or \"}\", but found \"%s\"." msgstr "\",\" 또는 \"}\"가 필요한데 \"%s\"이(가) 있음" -#: ../../common/jsonapi.c:1093 +#: ../../common/jsonapi.c:1173 #, c-format msgid "Expected string, but found \"%s\"." msgstr "문자열 값을 기대했는데, \"%s\" 값임" -#: ../../common/jsonapi.c:1096 +#: ../../common/jsonapi.c:1176 #, c-format msgid "Token \"%s\" is invalid." msgstr "잘못된 토큰: \"%s\"" -#: ../../common/jsonapi.c:1099 +#: ../../common/jsonapi.c:1179 msgid "\\u0000 cannot be converted to text." msgstr "\\u0000 값은 text 형으로 변환할 수 없음." -#: ../../common/jsonapi.c:1101 +#: ../../common/jsonapi.c:1181 msgid "\"\\u\" must be followed by four hexadecimal digits." msgstr "\"\\u\" 표기법은 뒤에 4개의 16진수가 와야합니다." -#: ../../common/jsonapi.c:1104 -msgid "Unicode escape values cannot be used for code point values above 007F when the encoding is not UTF8." -msgstr "인코딩은 UTF8이 아닐 때 유니코드 이스케이프 값은 007F 이상 코드 포인트 값으로 사용할 수 없음." +#: ../../common/jsonapi.c:1184 +msgid "" +"Unicode escape values cannot be used for code point values above 007F when " +"the encoding is not UTF8." +msgstr "" +"인코딩은 UTF8이 아닐 때 유니코드 이스케이프 값은 007F 이상 코드 포인트 값으" +"로 사용할 수 없음." + +#: ../../common/jsonapi.c:1187 +#, c-format +msgid "" +"Unicode escape value could not be translated to the server's encoding %s." +msgstr "서버 인코딩이 %s 인 경우 해당 유니코드 이스케이프 값을 변환할 수 없음." -#: ../../common/jsonapi.c:1106 +#: ../../common/jsonapi.c:1190 msgid "Unicode high surrogate must not follow a high surrogate." msgstr "유니코드 상위 surrogate(딸림 코드)는 상위 딸림 코드 뒤에 오면 안됨." -#: ../../common/jsonapi.c:1108 +#: ../../common/jsonapi.c:1192 msgid "Unicode low surrogate must follow a high surrogate." msgstr "유니코드 상위 surrogate(딸림 코드) 뒤에는 하위 딸림 코드가 있어야 함." +#: parse_manifest.c:150 +msgid "parsing failed" +msgstr "구문 분석 실패" + #: parse_manifest.c:152 msgid "manifest ended unexpectedly" msgstr "메니페스트가 비정상적으로 끝났음" @@ -129,260 +148,296 @@ msgstr "메니페스트가 비정상적으로 끝났음" msgid "unexpected object start" msgstr "비정상적인 개체 시작" -#: parse_manifest.c:224 +#: parse_manifest.c:226 msgid "unexpected object end" msgstr "비정상적인 개체 끝" -#: parse_manifest.c:251 +#: parse_manifest.c:255 msgid "unexpected array start" msgstr "비정상적인 배열 시작" -#: parse_manifest.c:274 +#: parse_manifest.c:280 msgid "unexpected array end" msgstr "비정상적인 배열 끝" -#: parse_manifest.c:299 +#: parse_manifest.c:307 msgid "expected version indicator" msgstr "버전 지시자가 있어야 함" -#: parse_manifest.c:328 +#: parse_manifest.c:336 msgid "unrecognized top-level field" msgstr "최상위 필드를 알 수 없음" -#: parse_manifest.c:347 +#: parse_manifest.c:355 msgid "unexpected file field" msgstr "예상치 못한 파일 필드" -#: parse_manifest.c:361 +#: parse_manifest.c:369 msgid "unexpected WAL range field" msgstr "예상치 못한 WAL 범위 필드" -#: parse_manifest.c:367 +#: parse_manifest.c:375 msgid "unexpected object field" msgstr "예상치 못한 개체 필드" -#: parse_manifest.c:397 +#: parse_manifest.c:407 msgid "unexpected manifest version" msgstr "예상치 못한 메니페스트 버전" -#: parse_manifest.c:448 +#: parse_manifest.c:458 msgid "unexpected scalar" msgstr "예상치 못한 스칼라" -#: parse_manifest.c:472 +#: parse_manifest.c:484 msgid "missing path name" msgstr "패스 이름 빠짐" -#: parse_manifest.c:475 +#: parse_manifest.c:487 msgid "both path name and encoded path name" msgstr "패스 이름과 인코딩 된 패스 이름이 함께 있음" -#: parse_manifest.c:477 +#: parse_manifest.c:489 msgid "missing size" msgstr "크기 빠짐" -#: parse_manifest.c:480 +#: parse_manifest.c:492 msgid "checksum without algorithm" msgstr "알고리즘 없는 체크섬" -#: parse_manifest.c:494 +#: parse_manifest.c:506 msgid "could not decode file name" msgstr "파일 이름을 디코딩할 수 없음" -#: parse_manifest.c:504 +#: parse_manifest.c:516 msgid "file size is not an integer" msgstr "파일 크기가 정수가 아님" -#: parse_manifest.c:510 +#: parse_manifest.c:522 #, c-format msgid "unrecognized checksum algorithm: \"%s\"" msgstr "알 수 없는 체크섬 알고리즘: \"%s\"" -#: parse_manifest.c:529 +#: parse_manifest.c:541 #, c-format msgid "invalid checksum for file \"%s\": \"%s\"" msgstr "\"%s\" 파일의 체크섬이 잘못됨: \"%s\"" -#: parse_manifest.c:572 +#: parse_manifest.c:584 msgid "missing timeline" msgstr "타임라인 빠짐" -#: parse_manifest.c:574 +#: parse_manifest.c:586 msgid "missing start LSN" msgstr "시작 LSN 빠짐" -#: parse_manifest.c:576 +#: parse_manifest.c:588 msgid "missing end LSN" msgstr "끝 LSN 빠짐" -#: parse_manifest.c:582 +#: parse_manifest.c:594 msgid "timeline is not an integer" msgstr "타임라인이 정수가 아님" -#: parse_manifest.c:585 +#: parse_manifest.c:597 msgid "could not parse start LSN" msgstr "시작 LSN 값을 분석할 수 없음" -#: parse_manifest.c:588 +#: parse_manifest.c:600 msgid "could not parse end LSN" msgstr "끝 LSN 값을 분석할 수 없음" -#: parse_manifest.c:649 +#: parse_manifest.c:661 msgid "expected at least 2 lines" msgstr "적어도 2줄이 더 있어야 함" -#: parse_manifest.c:652 +#: parse_manifest.c:664 msgid "last line not newline-terminated" msgstr "마지막 줄에 줄바꿈 문자가 없음" -#: parse_manifest.c:661 +#: parse_manifest.c:669 +#, c-format +msgid "out of memory" +msgstr "메모리 부족" + +#: parse_manifest.c:671 +#, c-format +msgid "could not initialize checksum of manifest" +msgstr "메니페스트 체크섬 초기화를 할 수 없음" + +#: parse_manifest.c:673 +#, c-format +msgid "could not update checksum of manifest" +msgstr "메니페스트 체크섬 갱신 할 수 없음" + +#: parse_manifest.c:676 +#, c-format +msgid "could not finalize checksum of manifest" +msgstr "메니페스트 체크섬 마무리 작업 할 수 없음" + +#: parse_manifest.c:680 #, c-format msgid "manifest has no checksum" msgstr "메니페스트에 체크섬 없음" -#: parse_manifest.c:665 +#: parse_manifest.c:684 #, c-format msgid "invalid manifest checksum: \"%s\"" msgstr "잘못된 메니페스트 체크섬: \"%s\"" -#: parse_manifest.c:669 +#: parse_manifest.c:688 #, c-format msgid "manifest checksum mismatch" msgstr "메니페스트 체크섬 불일치" -#: parse_manifest.c:683 +#: parse_manifest.c:703 #, c-format msgid "could not parse backup manifest: %s" msgstr "백업 메니페스트 구문 분석 실패: %s" -#: pg_verifybackup.c:255 pg_verifybackup.c:265 pg_verifybackup.c:277 +#: pg_verifybackup.c:273 pg_verifybackup.c:282 pg_verifybackup.c:293 #, c-format -msgid "Try \"%s --help\" for more information.\n" -msgstr "자제한 사항은 \"%s --help\" 명령으로 살펴보십시오.\n" +msgid "Try \"%s --help\" for more information." +msgstr "자세한 사항은 \"%s --help\" 명령으로 살펴보세요." -#: pg_verifybackup.c:264 +#: pg_verifybackup.c:281 #, c-format msgid "no backup directory specified" msgstr "백업 디렉터리를 지정하지 않았음" -#: pg_verifybackup.c:275 +#: pg_verifybackup.c:291 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "너무 많은 명령행 인자를 지정했습니다. (처음 \"%s\")" -#: pg_verifybackup.c:298 +#: pg_verifybackup.c:299 #, c-format -msgid "" -"The program \"%s\" is needed by %s but was not found in the\n" -"same directory as \"%s\".\n" -"Check your installation." -msgstr "" -"\"%s\" 프로그램이 %s 작업에서 필요하지만 \"%s\" 프로그램이\n" -"있는 디렉터리 내에 없습니다.\n" -"설치 상태를 확인해 보세요." +msgid "cannot specify both %s and %s" +msgstr "%s 옵션과 %s 옵션을 같이 지정할 수는 없음" -#: pg_verifybackup.c:303 +#: pg_verifybackup.c:319 #, c-format msgid "" -"The program \"%s\" was found by \"%s\"\n" -"but was not the same version as %s.\n" -"Check your installation." +"program \"%s\" is needed by %s but was not found in the same directory as " +"\"%s\"" msgstr "" -"\"%s\" 프로그램을 \"%s\" 작업을 위해 찾았지만\n" -"%s 버전과 같지 않습니다.\n" -"설치 상태를 확인해 보세요." +"\"%s\" 프로그램이 %s 작업에서 필요하지만 같은 \"%s\" 디렉터리 내에 없습니다." -#: pg_verifybackup.c:361 +#: pg_verifybackup.c:322 +#, c-format +msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" +msgstr "\"%s\" 프로그램을 \"%s\" 작업을 위해 찾았지만 %s 버전과 같지 않습니다." + +#: pg_verifybackup.c:378 #, c-format msgid "backup successfully verified\n" msgstr "백업 검사 완료\n" -#: pg_verifybackup.c:387 pg_verifybackup.c:723 +#: pg_verifybackup.c:404 pg_verifybackup.c:748 #, c-format msgid "could not open file \"%s\": %m" msgstr "\"%s\" 파일을 열 수 없음: %m" -#: pg_verifybackup.c:391 +#: pg_verifybackup.c:408 #, c-format msgid "could not stat file \"%s\": %m" msgstr "\"%s\" 파일의 상태값을 알 수 없음: %m" -#: pg_verifybackup.c:411 pg_verifybackup.c:738 +#: pg_verifybackup.c:428 pg_verifybackup.c:779 #, c-format msgid "could not read file \"%s\": %m" msgstr "\"%s\" 파일을 읽을 수 없음: %m" -#: pg_verifybackup.c:414 +#: pg_verifybackup.c:431 #, c-format -msgid "could not read file \"%s\": read %d of %zu" -msgstr "\"%s\" 파일을 읽을 수 없음: %d 읽음, 전체 %zu" +msgid "could not read file \"%s\": read %d of %lld" +msgstr "\"%s\" 파일을 읽을 수 없음: %d 읽음, 전체 %lld" -#: pg_verifybackup.c:474 +#: pg_verifybackup.c:491 #, c-format msgid "duplicate path name in backup manifest: \"%s\"" msgstr "백업 메니페스트 안에 경로 이름이 중복됨: \"%s\"" -#: pg_verifybackup.c:537 pg_verifybackup.c:544 +#: pg_verifybackup.c:554 pg_verifybackup.c:561 #, c-format msgid "could not open directory \"%s\": %m" msgstr "\"%s\" 디렉터리 열 수 없음: %m" -#: pg_verifybackup.c:576 +#: pg_verifybackup.c:593 #, c-format msgid "could not close directory \"%s\": %m" msgstr "\"%s\" 디렉터리를 닫을 수 없음: %m" -#: pg_verifybackup.c:596 +#: pg_verifybackup.c:613 #, c-format msgid "could not stat file or directory \"%s\": %m" msgstr "파일 또는 디렉터리 \"%s\"의 상태를 확인할 수 없음: %m" -#: pg_verifybackup.c:619 +#: pg_verifybackup.c:636 #, c-format msgid "\"%s\" is not a file or directory" msgstr "\"%s\" 이름은 파일이나 디렉터리가 아님" -#: pg_verifybackup.c:629 +#: pg_verifybackup.c:646 #, c-format msgid "\"%s\" is present on disk but not in the manifest" msgstr "디스크에는 \"%s\" 개체가 있으나, 메니페스트 안에는 없음" -#: pg_verifybackup.c:641 +#: pg_verifybackup.c:658 #, c-format -msgid "\"%s\" has size %zu on disk but size %zu in the manifest" -msgstr "\"%s\" 의 디스크 크기는 %zu 이나 메니페스트 안에는 %zu 입니다" +msgid "\"%s\" has size %lld on disk but size %zu in the manifest" +msgstr "\"%s\" 의 디스크 크기는 %lld 이나 메니페스트 안에는 %zu 입니다." -#: pg_verifybackup.c:668 +#: pg_verifybackup.c:689 #, c-format msgid "\"%s\" is present in the manifest but not on disk" msgstr "메니페스트 안에는 \"%s\" 개체가 있으나 디스크에는 없음" -#: pg_verifybackup.c:744 +#: pg_verifybackup.c:756 +#, c-format +msgid "could not initialize checksum of file \"%s\"" +msgstr "\"%s\" 파일 체크섬을 초기화 할 수 없음" + +#: pg_verifybackup.c:768 +#, c-format +msgid "could not update checksum of file \"%s\"" +msgstr "\"%s\" 파일 체크섬을 갱신할 수 없음" + +#: pg_verifybackup.c:785 #, c-format msgid "could not close file \"%s\": %m" msgstr "\"%s\" 파일을 닫을 수 없음: %m" -#: pg_verifybackup.c:763 +#: pg_verifybackup.c:804 #, c-format msgid "file \"%s\" should contain %zu bytes, but read %zu bytes" msgstr "\"%s\" 파일은 %zu 바이트이나 %zu 바이트를 읽음" -#: pg_verifybackup.c:774 +#: pg_verifybackup.c:814 +#, c-format +msgid "could not finalize checksum of file \"%s\"" +msgstr "\"%s\" 파일 체크섬을 마무리 할 수 없음" + +#: pg_verifybackup.c:822 #, c-format msgid "file \"%s\" has checksum of length %d, but expected %d" msgstr "\"%s\" 파일 체크섬 %d, 예상되는 값: %d" -#: pg_verifybackup.c:778 +#: pg_verifybackup.c:826 #, c-format msgid "checksum mismatch for file \"%s\"" msgstr "\"%s\" 파일의 체크섬이 맞지 않음" -#: pg_verifybackup.c:804 +#: pg_verifybackup.c:851 #, c-format msgid "WAL parsing failed for timeline %u" msgstr "타임라인 %u번의 WAL 분석 오류" -#: pg_verifybackup.c:890 +#: pg_verifybackup.c:965 +#, c-format +msgid "%*s/%s kB (%d%%) verified" +msgstr "%*s/%s kB (%d%%) 검사됨" + +#: pg_verifybackup.c:982 #, c-format msgid "" "%s verifies a backup against the backup manifest.\n" @@ -391,7 +446,7 @@ msgstr "" "%s 프로그램은 백업 메니페스트로 백업을 검사합니다.\n" "\n" -#: pg_verifybackup.c:891 +#: pg_verifybackup.c:983 #, c-format msgid "" "Usage:\n" @@ -402,57 +457,64 @@ msgstr "" " %s [옵션]... 백업디렉터리\n" "\n" -#: pg_verifybackup.c:892 +#: pg_verifybackup.c:984 #, c-format msgid "Options:\n" msgstr "옵션들:\n" -#: pg_verifybackup.c:893 +#: pg_verifybackup.c:985 #, c-format msgid " -e, --exit-on-error exit immediately on error\n" msgstr " -e, --exit-on-error 오류가 있으면 작업 중지\n" -#: pg_verifybackup.c:894 +#: pg_verifybackup.c:986 #, c-format msgid " -i, --ignore=RELATIVE_PATH ignore indicated path\n" msgstr " -i, --ignore=상대경로 지정한 경로 건너뜀\n" -#: pg_verifybackup.c:895 +#: pg_verifybackup.c:987 #, c-format msgid " -m, --manifest-path=PATH use specified path for manifest\n" msgstr " -m, --manifest-path=경로 메니페스트 파일 경로 지정\n" -#: pg_verifybackup.c:896 +#: pg_verifybackup.c:988 #, c-format msgid " -n, --no-parse-wal do not try to parse WAL files\n" msgstr " -n, --no-parse-wal WAL 파일 검사 건너뜀\n" -#: pg_verifybackup.c:897 +#: pg_verifybackup.c:989 +#, c-format +msgid " -P, --progress show progress information\n" +msgstr " -P, --progress 진행 정보를 보여줌\n" + +#: pg_verifybackup.c:990 #, c-format -msgid " -q, --quiet do not print any output, except for errors\n" -msgstr " -q, --quiet 오류를 빼고 나머지는 아무 것도 안 보여줌\n" +msgid "" +" -q, --quiet do not print any output, except for errors\n" +msgstr "" +" -q, --quiet 오류를 빼고 나머지는 아무 것도 안 보여줌\n" -#: pg_verifybackup.c:898 +#: pg_verifybackup.c:991 #, c-format msgid " -s, --skip-checksums skip checksum verification\n" msgstr " -s, --skip-checksums 체크섬 검사 건너뜀\n" -#: pg_verifybackup.c:899 +#: pg_verifybackup.c:992 #, c-format msgid " -w, --wal-directory=PATH use specified path for WAL files\n" msgstr " -w, --wal-directory=경로 WAL 파일이 있는 경로 지정\n" -#: pg_verifybackup.c:900 +#: pg_verifybackup.c:993 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version 버전 정보를 보여주고 마침\n" -#: pg_verifybackup.c:901 +#: pg_verifybackup.c:994 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help 이 도움말을 보여주고 마침\n" -#: pg_verifybackup.c:902 +#: pg_verifybackup.c:995 #, c-format msgid "" "\n" @@ -461,7 +523,7 @@ msgstr "" "\n" "문제점 보고 주소: <%s>\n" -#: pg_verifybackup.c:903 +#: pg_verifybackup.c:996 #, c-format msgid "%s home page: <%s>\n" msgstr "%s 홈페이지: <%s>\n" diff --git a/src/bin/pg_waldump/po/el.po b/src/bin/pg_waldump/po/el.po index 622c6f2e0aa..5cc4cbd142a 100644 --- a/src/bin/pg_waldump/po/el.po +++ b/src/bin/pg_waldump/po/el.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_waldump (PostgreSQL) 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-04-16 09:47+0000\n" -"PO-Revision-Date: 2023-04-17 11:17+0200\n" +"POT-Creation-Date: 2023-08-14 23:17+0000\n" +"PO-Revision-Date: 2023-08-15 15:33+0200\n" "Last-Translator: Georgios Kokolatos \n" "Language-Team: \n" "Language: el\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Poedit 3.2.2\n" +"X-Generator: Poedit 3.3.2\n" #: ../../../src/common/logging.c:276 #, c-format @@ -40,54 +40,89 @@ msgstr "λεπτομέρεια: " msgid "hint: " msgstr "υπόδειξη: " -#: pg_waldump.c:160 +#: pg_waldump.c:137 +#, c-format +msgid "could not create directory \"%s\": %m" +msgstr "δεν ήταν δυνατή η δημιουργία του καταλόγου «%s»: %m" + +#: pg_waldump.c:146 +#, c-format +msgid "directory \"%s\" exists but is not empty" +msgstr "ο κατάλογος «%s» υπάρχει και δεν είναι άδειος" + +#: pg_waldump.c:150 +#, c-format +msgid "could not access directory \"%s\": %m" +msgstr "δεν ήταν δυνατή η πρόσβαση του καταλόγου «%s»: %m" + +#: pg_waldump.c:199 pg_waldump.c:528 #, c-format msgid "could not open file \"%s\": %m" msgstr "δεν ήταν δυνατό το άνοιγμα του αρχείου «%s»: %m" -#: pg_waldump.c:216 +#: pg_waldump.c:255 #, c-format msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d byte" msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d bytes" msgstr[0] "η τιμή του μεγέθους τμήματος WAL πρέπει να ανήκει σε δύναμη του δύο μεταξύ 1 MB και 1 GB, αλλά η κεφαλίδα «%s» του αρχείου WAL καθορίζει %d byte" msgstr[1] "η τιμή του μεγέθους τμήματος WAL πρέπει να ανήκει σε δύναμη του δύο μεταξύ 1 MB και 1 GB, αλλά η κεφαλίδα «%s» του αρχείου WAL καθορίζει %d bytes" -#: pg_waldump.c:222 +#: pg_waldump.c:261 #, c-format msgid "could not read file \"%s\": %m" msgstr "δεν ήταν δυνατή η ανάγνωση του αρχείου «%s»: %m" -#: pg_waldump.c:225 +#: pg_waldump.c:264 #, c-format msgid "could not read file \"%s\": read %d of %d" msgstr "δεν ήταν δυνατή η ανάγνωση του αρχείου «%s»: ανέγνωσε %d από %d" -#: pg_waldump.c:286 +#: pg_waldump.c:325 #, c-format msgid "could not locate WAL file \"%s\"" msgstr "δεν ήταν δυνατός ο εντοπισμός του αρχείου WAL «%s»" -#: pg_waldump.c:288 +#: pg_waldump.c:327 #, c-format msgid "could not find any WAL file" msgstr "δεν ήταν δυνατή η εύρεση οποιουδήποτε αρχείου WAL" -#: pg_waldump.c:329 +#: pg_waldump.c:368 #, c-format msgid "could not find file \"%s\": %m" msgstr "δεν ήταν δυνατή η εύρεση του αρχείου «%s»: %m" -#: pg_waldump.c:378 +#: pg_waldump.c:417 #, c-format msgid "could not read from file %s, offset %d: %m" msgstr "δεν ήταν δυνατή η ανάγνωση από αρχείο %s, μετατόπιση %d: %m" -#: pg_waldump.c:382 +#: pg_waldump.c:421 #, c-format msgid "could not read from file %s, offset %d: read %d of %d" msgstr "δεν ήταν δυνατή η ανάγνωση από αρχείο %s, μετατόπιση %d: ανέγνωσε %d από %d" -#: pg_waldump.c:658 +#: pg_waldump.c:511 +#, c-format +msgid "%s" +msgstr "%s" + +#: pg_waldump.c:519 +#, c-format +msgid "invalid fork number: %u" +msgstr "μη έγκυρος αριθμός fork %u" + +#: pg_waldump.c:531 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "δεν ήταν δυνατή η εγγραφή αρχείου «%s»: %m" + +#: pg_waldump.c:534 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "δεν ήταν δυνατό το κλείσιμο του αρχείου «%s»: %m" + +#: pg_waldump.c:754 #, c-format msgid "" "%s decodes and displays PostgreSQL write-ahead logs for debugging.\n" @@ -96,17 +131,17 @@ msgstr "" "%s αποκωδικοποιεί και εμφανίζει αρχεία καταγραφής εμπρόσθιας-εγγραφής PostgreSQL για αποσφαλμάτωση.\n" "\n" -#: pg_waldump.c:660 +#: pg_waldump.c:756 #, c-format msgid "Usage:\n" msgstr "Χρήση:\n" -#: pg_waldump.c:661 +#: pg_waldump.c:757 #, c-format msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n" msgstr " %s [ΕΠΙΛΟΓΗ]... [STARTSEG [ENDSEG]]\n" -#: pg_waldump.c:662 +#: pg_waldump.c:758 #, c-format msgid "" "\n" @@ -115,27 +150,27 @@ msgstr "" "\n" "Επιλογές:\n" -#: pg_waldump.c:663 +#: pg_waldump.c:759 #, c-format msgid " -b, --bkp-details output detailed information about backup blocks\n" msgstr " -b, --bkp-details πάραγε λεπτομερείς πληροφορίες σχετικά με τα μπλοκ αντιγράφων ασφαλείας\n" -#: pg_waldump.c:664 +#: pg_waldump.c:760 #, c-format msgid " -B, --block=N with --relation, only show records that modify block N\n" msgstr " -B, --block=N μαζί με --relation, εμφάνισε μόνο εγγραφές που τροποποιούν το μπλοκ N\n" -#: pg_waldump.c:665 +#: pg_waldump.c:761 #, c-format msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n" msgstr " -e, --end=RECPTR σταμάτησε την ανάγνωση στη τοποθεσία WAL RECPTR\n" -#: pg_waldump.c:666 +#: pg_waldump.c:762 #, c-format msgid " -f, --follow keep retrying after reaching end of WAL\n" msgstr " -f, --follow εξακολούθησε την προσπάθεια μετά την επίτευξη του τέλους του WAL\n" -#: pg_waldump.c:667 +#: pg_waldump.c:763 #, c-format msgid "" " -F, --fork=FORK only show records that modify blocks in fork FORK;\n" @@ -144,28 +179,28 @@ msgstr "" " -F, --fork=FORK εμφάνισε μόνο εγγραφές που τροποποιούν μπλοκ στο fork FORK,\n" " έγκυρες ονομασίες είναι main, fsm, vm, init\n" -#: pg_waldump.c:669 +#: pg_waldump.c:765 #, c-format msgid " -n, --limit=N number of records to display\n" msgstr " -n, --limit=N αριθμός των εγγραφών για εμφάνιση\n" -#: pg_waldump.c:670 +#: pg_waldump.c:766 #, c-format msgid "" -" -p, --path=PATH directory in which to find log segment files or a\n" +" -p, --path=PATH directory in which to find WAL segment files or a\n" " directory with a ./pg_wal that contains such files\n" " (default: current directory, ./pg_wal, $PGDATA/pg_wal)\n" msgstr "" -" -p, --path=PATH κατάλογος στον οποίο βρίσκονται αρχεία τμήματος καταγραφής ή\n" +" -p, --path=PATH κατάλογος στον οποίο βρίσκονται αρχεία τμήματος WAL ή\n" " ένα κατάλογο με ./pg_wal που περιέχει τέτοια αρχεία\n" " (προεπιλογή: τρέχων κατάλογος, ./pg_wal, $PGDATA/pg_wal)\n" -#: pg_waldump.c:673 +#: pg_waldump.c:769 #, c-format msgid " -q, --quiet do not print any output, except for errors\n" msgstr " -q, --quiet να μην εκτυπωθεί καμία έξοδος, εκτός από σφάλματα\n" -#: pg_waldump.c:674 +#: pg_waldump.c:770 #, c-format msgid "" " -r, --rmgr=RMGR only show records generated by resource manager RMGR;\n" @@ -174,41 +209,41 @@ msgstr "" " -r, --rmgr=RMGR εμφάνισε μόνο εγγραφές που δημιουργούνται από τον διαχειριστή πόρων RMGR·\n" " χρησιμοποίησε --rmgr=list για την παράθεση έγκυρων ονομάτων διαχειριστών πόρων\n" -#: pg_waldump.c:676 +#: 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 εμφάνισε μόνο εγγραφές που τροποποιούν μπλοκ στη σχέση T/D/R\n" -#: pg_waldump.c:677 +#: pg_waldump.c:773 #, c-format msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n" msgstr " -s, --start=RECPTR άρχισε την ανάγνωση WAL από την τοποθεσία RECPTR\n" -#: pg_waldump.c:678 +#: pg_waldump.c:774 #, c-format msgid "" -" -t, --timeline=TLI timeline from which to read log records\n" +" -t, --timeline=TLI timeline from which to read WAL records\n" " (default: 1 or the value used in STARTSEG)\n" msgstr "" -" -t, --timeline=TLI χρονογραμή από την οποία να αναγνωστούν εγγραφές καταγραφής\n" +" -t, --timeline=TLI χρονογραμή από την οποία να αναγνωστούν εγγραφές WAL\n" " (προεπιλογή: 1 ή η τιμή που χρησιμοποιήθηκε στο STARTSEG)\n" -#: pg_waldump.c:680 +#: pg_waldump.c:776 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version εμφάνισε πληροφορίες έκδοσης, στη συνέχεια έξοδος\n" -#: pg_waldump.c:681 +#: pg_waldump.c:777 #, c-format msgid " -w, --fullpage only show records with a full page write\n" msgstr " -w, --fullpage εμφάνισε μόνο εγγραφές με εγγραφή πλήρους σελίδας\n" -#: pg_waldump.c:682 +#: pg_waldump.c:778 #, c-format msgid " -x, --xid=XID only show records with transaction ID XID\n" msgstr " -x, --xid=XID εμφάνισε μόνο εγγραφές με ID συναλλαγής XID\n" -#: pg_waldump.c:683 +#: pg_waldump.c:779 #, c-format msgid "" " -z, --stats[=record] show statistics instead of records\n" @@ -217,12 +252,17 @@ msgstr "" " -z, --stats[=record] εμφάνισε στατιστικά στοιχεία αντί για εγγραφές\n" " (προαιρετικά, εμφάνισε στατιστικά στοιχεία ανά εγγραφή)\n" -#: pg_waldump.c:685 +#: pg_waldump.c:781 +#, c-format +msgid " --save-fullpage=DIR save full page images to DIR\n" +msgstr " --save-fullpage=DIR αποθήκευσε πλήρεις εικόνες σελίδων σε DIR\n" + +#: pg_waldump.c:782 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help εμφάνισε αυτό το μήνυμα βοήθειας, στη συνέχεια έξοδος\n" -#: pg_waldump.c:686 +#: pg_waldump.c:783 #, c-format msgid "" "\n" @@ -231,227 +271,222 @@ msgstr "" "\n" "Υποβάλετε αναφορές σφάλματων σε <%s>.\n" -#: pg_waldump.c:687 +#: pg_waldump.c:784 #, c-format msgid "%s home page: <%s>\n" msgstr "%s αρχική σελίδα: <%s>\n" -#: pg_waldump.c:781 +#: pg_waldump.c:880 #, c-format msgid "no arguments specified" msgstr "δεν καθορίστηκαν παράμετροι" -#: pg_waldump.c:797 +#: pg_waldump.c:896 #, c-format msgid "invalid block number: \"%s\"" msgstr "μη έγκυρος αριθμός μπλοκ: «%s»" -#: pg_waldump.c:806 pg_waldump.c:904 +#: pg_waldump.c:905 pg_waldump.c:1003 #, c-format msgid "invalid WAL location: \"%s\"" msgstr "άκυρη τοποθεσία WAL: «%s»" -#: pg_waldump.c:819 +#: pg_waldump.c:918 #, c-format msgid "invalid fork name: \"%s\"" msgstr "μη έγκυρη ονομασία fork «%s»" -#: pg_waldump.c:827 +#: pg_waldump.c:926 pg_waldump.c:1029 #, c-format msgid "invalid value \"%s\" for option %s" msgstr "μη έγκυρη τιμή «%s» για την επιλογή %s" -#: pg_waldump.c:858 +#: pg_waldump.c:957 #, c-format msgid "custom resource manager \"%s\" does not exist" msgstr "ο προσαρμοσμένος διαχειριστής πόρων «%s» δεν υπάρχει" -#: pg_waldump.c:879 +#: pg_waldump.c:978 #, c-format msgid "resource manager \"%s\" does not exist" msgstr "ο διαχειριστής πόρων «%s» δεν υπάρχει" -#: pg_waldump.c:894 +#: pg_waldump.c:993 #, c-format msgid "invalid relation specification: \"%s\"" msgstr "μη έγκυρη προδιαγραφή σχέσης: «%s»" -#: pg_waldump.c:895 +#: pg_waldump.c:994 #, c-format msgid "Expecting \"tablespace OID/database OID/relation filenode\"." msgstr "Αναμένει \"tablespace OID/database OID/relation filenode\"." -#: pg_waldump.c:914 +#: pg_waldump.c:1036 #, c-format -msgid "invalid timeline specification: \"%s\"" -msgstr "άκυρη προδιαγραφή χρονοδιαγραμμής: «%s»" +msgid "%s must be in range %u..%u" +msgstr "%s πρέπει να βρίσκεται εντός εύρους %u..%u" -#: pg_waldump.c:924 +#: pg_waldump.c:1051 #, c-format msgid "invalid transaction ID specification: \"%s\"" msgstr "μη έγκυρη προδιαγραφή ID συναλλαγής: «%s»" -#: pg_waldump.c:939 +#: pg_waldump.c:1066 #, c-format msgid "unrecognized value for option %s: %s" msgstr "μη αναγνωρίσιμη τιμή για την επιλογή %s: %s" -#: pg_waldump.c:953 +#: pg_waldump.c:1083 #, c-format msgid "option %s requires option %s to be specified" msgstr "η επιλογή %s απαιτεί να έχει καθοριστεί η επιλογή %s" -#: pg_waldump.c:960 +#: pg_waldump.c:1090 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "πάρα πολλές παράμετροι εισόδου από την γραμμή εντολών (η πρώτη είναι η «%s»)" -#: pg_waldump.c:970 pg_waldump.c:990 +#: pg_waldump.c:1100 pg_waldump.c:1123 #, c-format msgid "could not open directory \"%s\": %m" msgstr "δεν ήταν δυνατό το άνοιγμα του καταλόγου «%s»: %m" -#: pg_waldump.c:996 pg_waldump.c:1026 +#: pg_waldump.c:1129 pg_waldump.c:1159 #, c-format msgid "could not open file \"%s\"" msgstr "δεν ήταν δυνατό το άνοιγμα του αρχείου «%s»" -#: pg_waldump.c:1006 +#: pg_waldump.c:1139 #, c-format msgid "start WAL location %X/%X is not inside file \"%s\"" msgstr "τοποθεσία εκκίνησης WAL %X/%X δεν βρίσκεται μέσα στο αρχείο «%s»" -#: pg_waldump.c:1033 +#: pg_waldump.c:1166 #, c-format msgid "ENDSEG %s is before STARTSEG %s" msgstr "ENDSEG %s βρίσκεται πριν από STARTSEG %s" -#: pg_waldump.c:1048 +#: pg_waldump.c:1181 #, c-format msgid "end WAL location %X/%X is not inside file \"%s\"" msgstr "η τελική τοποθεσία WAL %X/%X δεν βρίσκεται μέσα στο αρχείο «%s»" -#: pg_waldump.c:1060 +#: pg_waldump.c:1193 #, c-format msgid "no start WAL location given" msgstr "δεν δόθηκε καμία τοποθεσία έναρξης WAL" -#: pg_waldump.c:1074 +#: pg_waldump.c:1207 #, c-format msgid "out of memory while allocating a WAL reading processor" msgstr "η μνήμη δεν επαρκεί για την εκχώρηση επεξεργαστή ανάγνωσης WAL" -#: pg_waldump.c:1080 +#: pg_waldump.c:1213 #, c-format msgid "could not find a valid record after %X/%X" msgstr "δεν ήταν δυνατή η εύρεση έγκυρης εγγραφής μετά %X/%X" -#: pg_waldump.c:1090 +#: 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] "πρώτη εγγραφή βρίσκεται μετά από %X/%X, σε %X/%X, παρακάμπτοντας %u byte\n" msgstr[1] "πρώτη εγγραφή βρίσκεται μετά από %X/%X, σε %X/%X, παρακάμπτοντας %u bytes\n" -#: pg_waldump.c:1171 +#: pg_waldump.c:1308 #, c-format msgid "error in WAL record at %X/%X: %s" msgstr "σφάλμα στην εγγραφή WAL στο %X/%X: %s" -#: pg_waldump.c:1180 +#: pg_waldump.c:1317 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Δοκιμάστε «%s --help» για περισσότερες πληροφορίες." -#: xlogreader.c:625 +#: xlogreader.c:626 #, c-format -msgid "invalid record offset at %X/%X" -msgstr "μη έγκυρη μετατόπιση εγγραφών σε %X/%X" +msgid "invalid record offset at %X/%X: expected at least %u, got %u" +msgstr "μη έγκυρο μήκος εγγραφής σε %X/%X: ανέμενε τουλάχιστον %u, έλαβε %u" -#: xlogreader.c:633 +#: xlogreader.c:635 #, c-format msgid "contrecord is requested by %X/%X" msgstr "contrecord ζητείται από %X/%X" -#: xlogreader.c:674 xlogreader.c:1121 +#: xlogreader.c:676 xlogreader.c:1119 #, c-format -msgid "invalid record length at %X/%X: wanted %u, got %u" -msgstr "μη έγκυρο μήκος εγγραφής σε %X/%X: χρειαζόταν %u, έλαβε %u" +msgid "invalid record length at %X/%X: expected at least %u, got %u" +msgstr "μη έγκυρο μήκος εγγραφής σε %X/%X: ανένεμενε τουλάχιστον %u, έλαβε %u" -#: xlogreader.c:703 +#: xlogreader.c:705 #, c-format msgid "out of memory while trying to decode a record of length %u" msgstr "έλλειψη μνήμης κατά την προσπάθεια αποκωδικοποίησης εγγραφής με μήκος %u" -#: xlogreader.c:725 +#: xlogreader.c:727 #, c-format msgid "record length %u at %X/%X too long" msgstr "μήκος εγγραφής %u σε %X/%X πολύ μακρύ" -#: xlogreader.c:774 +#: xlogreader.c:776 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "δεν υπάρχει σημαία contrecord στο %X/%X" -#: xlogreader.c:787 +#: xlogreader.c:789 #, c-format msgid "invalid contrecord length %u (expected %lld) at %X/%X" msgstr "μη έγκυρο μήκος contrecord %u (αναμένεται %lld) σε %X/%X" -#: xlogreader.c:922 -#, c-format -msgid "missing contrecord at %X/%X" -msgstr "λείπει contrecord στο %X/%X" - -#: xlogreader.c:1129 +#: xlogreader.c:1127 #, c-format msgid "invalid resource manager ID %u at %X/%X" msgstr "μη έγκυρο ID %u διαχειριστή πόρων στο %X/%X" -#: xlogreader.c:1142 xlogreader.c:1158 +#: xlogreader.c:1140 xlogreader.c:1156 #, c-format msgid "record with incorrect prev-link %X/%X at %X/%X" msgstr "εγγραφή με εσφαλμένο prev-link %X/%X σε %X/%X" -#: xlogreader.c:1194 +#: xlogreader.c:1192 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "εσφαλμένο άθροισμα ελέγχου δεδομένων διαχειριστή πόρων σε εγγραφή στο %X/%X" -#: xlogreader.c:1231 +#: xlogreader.c:1226 #, c-format -msgid "invalid magic number %04X in log segment %s, offset %u" -msgstr "μη έγκυρος μαγικός αριθμός %04X στο τμήμα καταγραφής %s, μετατόπιση %u" +msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "μη έγκυρος μαγικός αριθμός %04X στο τμήμα WAL %s, LSN %X/%X, μετατόπιση %u" -#: xlogreader.c:1245 xlogreader.c:1286 +#: xlogreader.c:1241 xlogreader.c:1283 #, c-format -msgid "invalid info bits %04X in log segment %s, offset %u" -msgstr "μη έγκυρα info bits %04X στο τμήμα καταγραφής %s, μετατόπιση %u" +msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "μη έγκυρα info bits %04X στο τμήμα WAL %s, LSN %X/%X, μετατόπιση %u" -#: xlogreader.c:1260 +#: xlogreader.c:1257 #, c-format msgid "WAL file is from different database system: WAL file database system identifier is %llu, pg_control database system identifier is %llu" msgstr "WAL αρχείο προέρχεται από διαφορετικό σύστημα βάσης δεδομένων: το WAL αναγνωριστικό συστήματος βάσης δεδομένων αρχείων είναι %llu, το pg_control αναγνωριστικό συστήματος βάσης δεδομένων είναι %llu" -#: xlogreader.c:1268 +#: xlogreader.c:1265 #, c-format msgid "WAL file is from different database system: incorrect segment size in page header" msgstr "WAL αρχείο προέρχεται από διαφορετικό σύστημα βάσης δεδομένων: εσφαλμένο μέγεθος τμήματος στην κεφαλίδα σελίδας" -#: xlogreader.c:1274 +#: xlogreader.c:1271 #, c-format msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header" msgstr "WAL αρχείο προέρχεται από διαφορετικό σύστημα βάσης δεδομένων: εσφαλμένο XLOG_BLCKSZ στην κεφαλίδα σελίδας" -#: xlogreader.c:1305 +#: xlogreader.c:1303 #, c-format -msgid "unexpected pageaddr %X/%X in log segment %s, offset %u" -msgstr "μη αναμενόμενο pageaddr %X/%X στο τμήμα καταγραφής %s, μετατόπιση %u" +msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "μη αναμενόμενο pageaddr %X/%X στο τμήμα WAL %s, LSN %X/%X, μετατόπιση %u" -#: xlogreader.c:1330 +#: xlogreader.c:1329 #, c-format -msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u" -msgstr "εκτός ακολουθίας ID χρονογραμμής %u (μετά %u) στο τμήμα καταγραφής %s, μετατόπιση %u" +msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u" +msgstr "εκτός ακολουθίας ID χρονογραμμής %u (μετά %u) στο τμήμα WAL %s, LSN %X/%X, μετατόπιση %u" #: xlogreader.c:1735 #, c-format @@ -503,32 +538,32 @@ msgstr "μη έγκυρο block_id %u στο %X/%X" msgid "record with invalid length at %X/%X" msgstr "εγγραφή με μη έγκυρο μήκος στο %X/%X" -#: xlogreader.c:1967 +#: xlogreader.c:1968 #, c-format msgid "could not locate backup block with ID %d in WAL record" msgstr "δεν ήταν δυνατή η εύρεση μπλοκ αντιγράφου με ID %d στην εγγραφή WAL" -#: xlogreader.c:2051 +#: xlogreader.c:2052 #, c-format msgid "could not restore image at %X/%X with invalid block %d specified" msgstr "δεν ήταν δυνατή η επαναφορά εικόνας στο %X/%X με ορισμένο άκυρο μπλοκ %d" -#: xlogreader.c:2058 +#: xlogreader.c:2059 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" msgstr "δεν ήταν δυνατή η επαναφορά εικόνας στο %X/%X με άκυρη κατάσταση, μπλοκ %d" -#: xlogreader.c:2085 xlogreader.c:2102 +#: xlogreader.c:2086 xlogreader.c:2103 #, c-format msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d" msgstr "δεν ήταν δυνατή η επαναφορά εικόνας σε %X/%X συμπιεσμένη με %s που δεν υποστηρίζεται από την υλοποίηση, μπλοκ %d" -#: xlogreader.c:2111 +#: xlogreader.c:2112 #, c-format msgid "could not restore image at %X/%X compressed with unknown method, block %d" msgstr "δεν ήταν δυνατή η επαναφορά εικόνας σε %X/%X συμπιεσμένη με άγνωστη μέθοδο, μπλοκ %d" -#: xlogreader.c:2119 +#: xlogreader.c:2120 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "δεν ήταν δυνατή η αποσυμπιέση εικόνας στο %X/%X, μπλοκ %d" @@ -557,6 +592,15 @@ msgstr "δεν ήταν δυνατή η αποσυμπιέση εικόνας σ #~ msgid "fatal: " #~ msgstr "κρίσιμο: " +#~ msgid "invalid record offset at %X/%X" +#~ msgstr "μη έγκυρη μετατόπιση εγγραφών σε %X/%X" + +#~ msgid "invalid timeline specification: \"%s\"" +#~ msgstr "άκυρη προδιαγραφή χρονοδιαγραμμής: «%s»" + +#~ msgid "missing contrecord at %X/%X" +#~ msgstr "λείπει contrecord στο %X/%X" + #~ msgid "out of memory" #~ msgstr "έλλειψη μνήμης" diff --git a/src/bin/pg_waldump/po/ko.po b/src/bin/pg_waldump/po/ko.po index 3a175f0a8d1..3594b9bc3ce 100644 --- a/src/bin/pg_waldump/po/ko.po +++ b/src/bin/pg_waldump/po/ko.po @@ -5,10 +5,10 @@ # msgid "" msgstr "" -"Project-Id-Version: pg_waldump (PostgreSQL) 12\n" +"Project-Id-Version: pg_waldump (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2020-02-09 20:14+0000\n" -"PO-Revision-Date: 2019-10-31 18:06+0900\n" +"POT-Creation-Date: 2023-09-07 05:48+0000\n" +"PO-Revision-Date: 2023-05-26 13:22+0900\n" "Last-Translator: Ioseph Kim \n" "Language-Team: Korean \n" "Language: ko\n" @@ -17,27 +17,47 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../../../src/common/logging.c:188 -#, c-format -msgid "fatal: " -msgstr "심각: " - -#: ../../../src/common/logging.c:195 +#: ../../../src/common/logging.c:276 #, c-format msgid "error: " msgstr "오류: " -#: ../../../src/common/logging.c:202 +#: ../../../src/common/logging.c:283 #, c-format msgid "warning: " msgstr "경고: " -#: pg_waldump.c:148 +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "상세정보: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "힌트: " + +#: pg_waldump.c:137 +#, c-format +msgid "could not create directory \"%s\": %m" +msgstr "\"%s\" 디렉터리를 만들 수 없음: %m" + +#: pg_waldump.c:146 +#, c-format +msgid "directory \"%s\" exists but is not empty" +msgstr "\"%s\" 디렉터리가 있지만, 비어있지 않음" + +#: pg_waldump.c:150 +#, c-format +msgid "could not access directory \"%s\": %m" +msgstr "\"%s\" 디렉터리에 접근 할 수 없음: %m" + +#: pg_waldump.c:199 pg_waldump.c:528 #, c-format -msgid "could not open file \"%s\": %s" -msgstr "\"%s\" 파일을 열 수 없음: %s" +msgid "could not open file \"%s\": %m" +msgstr "\"%s\" 파일을 열 수 없음: %m" -#: pg_waldump.c:205 +#: pg_waldump.c:255 #, c-format msgid "" "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL " @@ -49,64 +69,79 @@ msgstr[0] "" "WAL 조각 파일 크기는 1MB에서 1GB사이 2^n 이어야하지만, \"%s\" WAL 파일 헤더에" "는 %d 바이트로 지정되어있습니다" -#: pg_waldump.c:213 +#: pg_waldump.c:261 #, c-format -msgid "could not read file \"%s\": %s" -msgstr "\"%s\" 파일을 읽을 수 없음: %s" +msgid "could not read file \"%s\": %m" +msgstr "\"%s\" 파일을 읽을 수 없음: %m" -#: pg_waldump.c:216 +#: pg_waldump.c:264 #, c-format -msgid "could not read file \"%s\": read %d of %zu" -msgstr "\"%s\" 파일을 읽을 수 없음: %d 읽음, 전체 %zu" +msgid "could not read file \"%s\": read %d of %d" +msgstr "\"%s\" 파일을 읽을 수 없음: %d 읽음, 전체 %d" -#: pg_waldump.c:294 +#: pg_waldump.c:325 #, c-format msgid "could not locate WAL file \"%s\"" msgstr "\"%s\" WAL 파일 찾기 실패" -#: pg_waldump.c:296 +#: pg_waldump.c:327 #, c-format msgid "could not find any WAL file" msgstr "어떤 WAL 파일도 찾을 수 없음" -#: pg_waldump.c:367 +#: pg_waldump.c:368 +#, c-format +msgid "could not find file \"%s\": %m" +msgstr "\"%s\" 파일을 찾을 수 없음: %m" + +#: pg_waldump.c:417 +#, c-format +msgid "could not read from file %s, offset %d: %m" +msgstr "\"%s\" 파일에서 %d 위치를 읽을 수 없음: %m" + +#: pg_waldump.c:421 +#, c-format +msgid "could not read from file %s, offset %d: read %d of %d" +msgstr "%s 파일에서 %d 위치에서 읽기 실패: %d 읽음, 전체 %d" + +#: pg_waldump.c:511 #, c-format -msgid "could not find file \"%s\": %s" -msgstr "\"%s\" 파일을 찾을 수 없음: %s" +msgid "%s" +msgstr "%s" -#: pg_waldump.c:382 +#: pg_waldump.c:519 #, c-format -msgid "could not seek in log file %s to offset %u: %s" -msgstr "%s 로그 조각 파일에서 %u 위치를 찾을 수 없음: %s" +msgid "invalid fork number: %u" +msgstr "잘못된 포크 번호: %u" -#: pg_waldump.c:405 +#: pg_waldump.c:531 #, c-format -msgid "could not read from log file %s, offset %u, length %d: %s" -msgstr "%s 로그 조각 파일에서 %u 위치에서 %d 길이를 읽을 수 없음: %s" +msgid "could not write file \"%s\": %m" +msgstr "\"%s\" 파일을 쓸 수 없음: %m" -#: pg_waldump.c:408 +#: pg_waldump.c:534 #, c-format -msgid "could not read from log file %s, offset %u: read %d of %zu" -msgstr "%s 로그 조각 파일에서 %u 위치에서 읽기 실패: %d / %zu 읽음" +msgid "could not close file \"%s\": %m" +msgstr "\"%s\" 파일을 닫을 수 없음: %m" -#: pg_waldump.c:788 +#: pg_waldump.c:754 #, c-format msgid "" "%s decodes and displays PostgreSQL write-ahead logs for debugging.\n" "\n" msgstr "%s 명령은 디버깅을 위해 PostgreSQL 미리 쓰기 로그(WAL)를 분석합니다.\n" -#: pg_waldump.c:790 +#: pg_waldump.c:756 #, c-format msgid "Usage:\n" msgstr "사용법:\n" -#: pg_waldump.c:791 +#: pg_waldump.c:757 #, c-format msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n" msgstr " %s [옵션]... [시작파일 [마침파일]]\n" -#: pg_waldump.c:792 +#: pg_waldump.c:758 #, c-format msgid "" "\n" @@ -115,40 +150,63 @@ msgstr "" "\n" "옵션들:\n" -#: pg_waldump.c:793 +#: pg_waldump.c:759 #, c-format msgid "" " -b, --bkp-details output detailed information about backup blocks\n" msgstr " -b, --bkp-details 백업 블록에 대한 자세한 정보도 출력함\n" -#: pg_waldump.c:794 +#: pg_waldump.c:760 +#, c-format +msgid "" +" -B, --block=N with --relation, only show records that modify " +"block N\n" +msgstr "" +" -B, --block=N --relation 옵션과 함께, 변경된 N번 블록의 레코드만" +"봄\n" + +#: pg_waldump.c:761 #, c-format msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n" msgstr " -e, --end=RECPTR RECPTR WAL 위치에서 읽기 멈춤\n" -#: pg_waldump.c:795 +#: pg_waldump.c:762 #, c-format msgid " -f, --follow keep retrying after reaching end of WAL\n" msgstr " -f, --follow WAL 끝까지 읽은 뒤에도 계속 진행함\n" -#: pg_waldump.c:796 +#: pg_waldump.c:763 +#, c-format +msgid "" +" -F, --fork=FORK only show records that modify blocks in fork FORK;\n" +" valid names are main, fsm, vm, init\n" +msgstr "" +" -F, --fork=FORK 지정한 FORK 종류 포크의 변경 블록의 레코드만\n" +" 사용가능한 포크: main, fsm, vm, init\n" + +#: pg_waldump.c:765 #, c-format msgid " -n, --limit=N number of records to display\n" msgstr " -n, --limit=N 출력할 레코드 수\n" -#: pg_waldump.c:797 +#: pg_waldump.c:766 #, c-format msgid "" -" -p, --path=PATH directory in which to find log segment files or a\n" +" -p, --path=PATH directory in which to find WAL segment files or a\n" " directory with a ./pg_wal that contains such files\n" " (default: current directory, ./pg_wal, $PGDATA/" "pg_wal)\n" msgstr "" -" -p, --path=PATH 로그 조각 파일이 있는 디렉터리 지정, 또는\n" +" -p, --path=PATH WAL 조각 파일이 있는 디렉터리 지정, 또는\n" " ./pg_wal 디렉터리가 있는 디렉터리 지정\n" " (기본값: 현재 디렉터리, ./pg_wal, PGDATA/pg_wal)\n" -#: pg_waldump.c:800 +#: pg_waldump.c:769 +#, c-format +msgid " -q, --quiet do not print any output, except for errors\n" +msgstr " -q, --quiet 오류를 빼고 나머지는 아무 것도 안 보여줌\n" + +#: pg_waldump.c:770 #, c-format msgid "" " -r, --rmgr=RMGR only show records generated by resource manager " @@ -159,31 +217,44 @@ msgstr "" " -r, --rmgr=RMGR 리소스 관리자 RMGR에서 만든 레코드만 출력함\n" " 리소스 관리자 이들을 --rmgr=list 로 봄\n" -#: pg_waldump.c:802 +#: 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 T/D/R 릴레이션에서 변경 블록 레코드만 보여줌\n" + +#: pg_waldump.c:773 #, c-format msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n" msgstr " -s, --start=RECPTR WAL RECPTR 위치에서 읽기 시작\n" -#: pg_waldump.c:803 +#: pg_waldump.c:774 #, c-format msgid "" -" -t, --timeline=TLI timeline from which to read log records\n" +" -t, --timeline=TLI timeline from which to read WAL records\n" " (default: 1 or the value used in STARTSEG)\n" msgstr "" -" -t, --timeline=TLI 읽기 시작할 타임라인 번호\n" +" -t, --timeline=TLI WAL 레코드를 시작할 타임라인 번호\n" " (기본값: 1 또는 STARTSEG에 사용된 값)\n" -#: pg_waldump.c:805 +#: pg_waldump.c:776 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version 버전 정보 보여주고 마침\n" -#: pg_waldump.c:806 +#: pg_waldump.c:777 +#, c-format +msgid " -w, --fullpage only show records with a full page write\n" +msgstr " -w, --fullpage full page write 레코드만 보여줌\n" + +#: pg_waldump.c:778 #, c-format msgid " -x, --xid=XID only show records with transaction ID XID\n" msgstr " -x, --xid=XID 트랜잭션 XID 레코드만 출력\n" -#: pg_waldump.c:807 +#: pg_waldump.c:779 #, c-format msgid "" " -z, --stats[=record] show statistics instead of records\n" @@ -192,122 +263,353 @@ msgstr "" " -z, --stats[=record] 레크드 통계 정보를 보여줌\n" " (추가로, 레코드당 통계정보를 출력)\n" -#: pg_waldump.c:809 +#: pg_waldump.c:781 +#, c-format +msgid " --save-fullpage=DIR save full page images to DIR\n" +msgstr " --save-fullpage=DIR DIR에 전체 페이지 이미지 저장\n" + +#: pg_waldump.c:782 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help 이 도움말을 보여주고 마침\n" -#: pg_waldump.c:810 +#: pg_waldump.c:783 #, c-format msgid "" "\n" -"Report bugs to .\n" +"Report bugs to <%s>.\n" msgstr "" "\n" -"오류보고: .\n" +"문제점 보고 주소: <%s>\n" + +#: pg_waldump.c:784 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "%s 홈페이지: <%s>\n" -#: pg_waldump.c:884 +#: pg_waldump.c:880 #, c-format msgid "no arguments specified" msgstr "인자를 지정하세요" -#: pg_waldump.c:899 +#: pg_waldump.c:896 +#, c-format +msgid "invalid block number: \"%s\"" +msgstr "잘못된 블록 번호: \"%s\"" + +#: pg_waldump.c:905 pg_waldump.c:1003 +#, c-format +msgid "invalid WAL location: \"%s\"" +msgstr "잘못된 WAL 위치: \"%s\"" + +#: pg_waldump.c:918 +#, c-format +msgid "invalid fork name: \"%s\"" +msgstr "잘못된 포크 이름: \"%s\"" + +#: pg_waldump.c:926 pg_waldump.c:1029 #, c-format -msgid "could not parse end WAL location \"%s\"" -msgstr "\"%s\" 이름의 WAL 위치를 해석할 수 없음" +msgid "invalid value \"%s\" for option %s" +msgstr "\"%s\" 값은 %s 옵션 값으로 유효하지 않음" -#: pg_waldump.c:911 +#: pg_waldump.c:957 #, c-format -msgid "could not parse limit \"%s\"" -msgstr "\"%s\" 제한을 해석할 수 없음" +msgid "custom resource manager \"%s\" does not exist" +msgstr "\"%s\" 이름의 사용자 정의 리소스 관리자가 없음" -#: pg_waldump.c:939 +#: pg_waldump.c:978 #, c-format msgid "resource manager \"%s\" does not exist" msgstr "\"%s\" 이름의 리소스 관리자가 없음" -#: pg_waldump.c:948 +#: pg_waldump.c:993 #, c-format -msgid "could not parse start WAL location \"%s\"" -msgstr "\"%s\" WAL 위치를 해석할 수 없음" +msgid "invalid relation specification: \"%s\"" +msgstr "잘못된 릴레이션 양식: \"%s\"" -#: pg_waldump.c:958 +#: pg_waldump.c:994 #, c-format -msgid "could not parse timeline \"%s\"" -msgstr "\"%s\" 타임라인 번호를 해석할 수 없음" +msgid "Expecting \"tablespace OID/database OID/relation filenode\"." +msgstr "\"테이블스페이스OID/데이터베이스OID/릴레이션 filenode\" 양식을 기대함" -#: pg_waldump.c:965 +#: pg_waldump.c:1036 #, c-format -msgid "could not parse \"%s\" as a transaction ID" -msgstr "\"%s\" 문자열을 트랜잭션 ID로 해석할 수 없음" +msgid "%s must be in range %u..%u" +msgstr "%s 값은 %u부터 %u까지만 허용함" -#: pg_waldump.c:980 +#: pg_waldump.c:1051 #, c-format -msgid "unrecognized argument to --stats: %s" -msgstr "--stats 옵션값이 바르지 않음: %s" +msgid "invalid transaction ID specification: \"%s\"" +msgstr "잘못된 트랜잭션 ID 양식: \"%s\"" -#: pg_waldump.c:993 +#: pg_waldump.c:1066 #, c-format -msgid "too many command-line arguments (first is \"%s\")" -msgstr "너무 많은 명령행 인수를 지정했습니다. (처음 \"%s\")" +msgid "unrecognized value for option %s: %s" +msgstr "%s 옵션에 대한 알 수 없는 값: %s" -#: pg_waldump.c:1003 +#: pg_waldump.c:1083 #, c-format -msgid "path \"%s\" could not be opened: %s" -msgstr "\"%s\" 경로를 열 수 없음: %s" +msgid "option %s requires option %s to be specified" +msgstr "%s 옵션은 %s 옵션 설정이 필요합니다." + +#: pg_waldump.c:1090 +#, c-format +msgid "too many command-line arguments (first is \"%s\")" +msgstr "너무 많은 명령행 인수를 지정했습니다. (처음 \"%s\")" -#: pg_waldump.c:1024 +#: pg_waldump.c:1100 pg_waldump.c:1123 #, c-format -msgid "could not open directory \"%s\": %s" -msgstr "\"%s\" 디렉터리를 열 수 없음: %s" +msgid "could not open directory \"%s\": %m" +msgstr "\"%s\" 디렉터리 열 수 없음: %m" -#: pg_waldump.c:1031 pg_waldump.c:1062 +#: pg_waldump.c:1129 pg_waldump.c:1159 #, c-format msgid "could not open file \"%s\"" msgstr "\"%s\" 파일을 열 수 없음" -#: pg_waldump.c:1041 +#: pg_waldump.c:1139 #, c-format msgid "start WAL location %X/%X is not inside file \"%s\"" msgstr "%X/%X WAL 시작 위치가 \"%s\" 파일에 없음" -#: pg_waldump.c:1069 +#: pg_waldump.c:1166 #, c-format msgid "ENDSEG %s is before STARTSEG %s" msgstr "%s ENDSEG가 %s STARTSEG 앞에 있음" -#: pg_waldump.c:1084 +#: pg_waldump.c:1181 #, c-format msgid "end WAL location %X/%X is not inside file \"%s\"" msgstr "%X/%X WAL 끝 위치가 \"%s\" 파일에 없음" -#: pg_waldump.c:1097 +#: pg_waldump.c:1193 #, c-format msgid "no start WAL location given" msgstr "입력한 WAL 위치에서 시작할 수 없음" -#: pg_waldump.c:1107 +#: pg_waldump.c:1207 #, c-format -msgid "out of memory" -msgstr "메모리 부족" +msgid "out of memory while allocating a WAL reading processor" +msgstr "WAL 읽기 프로세서를 할당하는 중에 메모리 부족 발생" -#: pg_waldump.c:1113 +#: pg_waldump.c:1213 #, c-format msgid "could not find a valid record after %X/%X" msgstr "%X/%X 위치 뒤에 올바른 레코드가 없음" -#: pg_waldump.c:1124 +#: 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] "첫 레코드가 %X/%X 뒤에 있고, (%X/%X), %u 바이트 건너 뜀\n" -#: pg_waldump.c:1175 +#: pg_waldump.c:1308 #, c-format msgid "error in WAL record at %X/%X: %s" msgstr "%X/%X 위치에서 WAL 레코드 오류: %s" -#: pg_waldump.c:1185 +#: pg_waldump.c:1317 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "자세한 사항은 \"%s --help\" 명령으로 살펴보세요." + +#: xlogreader.c:626 +#, c-format +msgid "invalid record offset at %X/%X: expected at least %u, got %u" +msgstr "잘못된 레코드 오프셋: 위치 %X/%X, 기대값 %u, 실재값 %u" + +#: xlogreader.c:635 +#, c-format +msgid "contrecord is requested by %X/%X" +msgstr "%X/%X에서 contrecord를 필요로 함" + +#: xlogreader.c:676 xlogreader.c:1119 +#, c-format +msgid "invalid record length at %X/%X: expected at least %u, got %u" +msgstr "잘못된 레코드 길이: 위치 %X/%X, 기대값 %u, 실재값 %u" + +#: xlogreader.c:705 +#, c-format +msgid "out of memory while trying to decode a record of length %u" +msgstr "%u 길이 레코드를 디코드 작업을 위한 메모리가 부족함" + +#: xlogreader.c:727 +#, c-format +msgid "record length %u at %X/%X too long" +msgstr "너무 긴 길이(%u)의 레코드가 %X/%X에 있음" + +#: xlogreader.c:776 +#, c-format +msgid "there is no contrecord flag at %X/%X" +msgstr "%X/%X 위치에 contrecord 플래그가 없음" + +#: xlogreader.c:789 +#, c-format +msgid "invalid contrecord length %u (expected %lld) at %X/%X" +msgstr "잘못된 contrecord 길이 %u (기대값: %lld), 위치 %X/%X" + +#: xlogreader.c:1127 +#, c-format +msgid "invalid resource manager ID %u at %X/%X" +msgstr "잘못된 자원 관리 ID %u, 위치: %X/%X" + +#: xlogreader.c:1140 xlogreader.c:1156 +#, c-format +msgid "record with incorrect prev-link %X/%X at %X/%X" +msgstr "레코드의 잘못된 프리링크 %X/%X, 해당 레코드 %X/%X" + +#: xlogreader.c:1192 +#, c-format +msgid "incorrect resource manager data checksum in record at %X/%X" +msgstr "잘못된 자원관리자 데이터 체크섬, 위치: %X/%X 레코드" + +#: xlogreader.c:1226 +#, c-format +msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "%04X 매직 번호가 잘못됨, WAL 조각 파일 %s, LSN %X/%X, 오프셋 %u" + +#: xlogreader.c:1241 xlogreader.c:1283 +#, c-format +msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "잘못된 정보 비트 %04X, WAL 조각 파일 %s, LSN %X/%X, 오프셋 %u" + +#: xlogreader.c:1257 +#, c-format +msgid "" +"WAL file is from different database system: WAL file database system " +"identifier is %llu, pg_control database system identifier is %llu" +msgstr "" +"WAL 파일이 다른 시스템의 것입니다. WAL 파일의 시스템 식별자는 %llu, " +"pg_control 의 식별자는 %llu" + +#: xlogreader.c:1265 +#, c-format +msgid "" +"WAL file is from different database system: incorrect segment size in page " +"header" +msgstr "" +"WAL 파일이 다른 데이터베이스 시스템의 것입니다: 페이지 헤더에 지정된 값이 잘" +"못된 조각 크기임" + +#: xlogreader.c:1271 +#, c-format +msgid "" +"WAL file is from different database system: incorrect XLOG_BLCKSZ in page " +"header" +msgstr "" +"WAL 파일이 다른 데이터베이스 시스템의 것입니다: 페이지 헤더의 XLOG_BLCKSZ 값" +"이 바르지 않음" + +#: xlogreader.c:1303 +#, c-format +msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u" +msgstr "잘못된 페이지 주소 %X/%X, WAL 조각 파일 %s, LSN %X/%X, 오프셋 %u" + +#: xlogreader.c:1329 +#, c-format +msgid "" +"out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, " +"offset %u" +msgstr "" +"타임라인 범위 벗어남 %u (이전 번호 %u), WAL 조각 파일 %s, LSN %X/%X, 오프셋 " +"%u" + +#: xlogreader.c:1735 +#, c-format +msgid "out-of-order block_id %u at %X/%X" +msgstr "%u block_id는 범위를 벗어남, 위치 %X/%X" + +#: xlogreader.c:1759 +#, c-format +msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X" +msgstr "BKPBLOCK_HAS_DATA 지정했지만, %X/%X 에 자료가 없음" + +#: xlogreader.c:1766 +#, c-format +msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X" +msgstr "BKPBLOCK_HAS_DATA 지정 않았지만, %u 길이의 자료가 있음, 위치 %X/%X" + +#: xlogreader.c:1802 +#, c-format +msgid "" +"BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at " +"%X/%X" +msgstr "" +"BKPIMAGE_HAS_HOLE 설정이 되어 있지만, 옵셋: %u, 길이: %u, 블록 이미지 길이: " +"%u, 대상: %X/%X" + +#: xlogreader.c:1818 +#, c-format +msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X" +msgstr "" +"BKPIMAGE_HAS_HOLE 설정이 안되어 있지만, 옵셋: %u, 길이: %u, 대상: %X/%X" + +#: xlogreader.c:1832 +#, c-format +msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" +msgstr "" +"BKPIMAGE_COMPRESSED 설정이 되어 있지만, 블록 이미지 길이: %u, 대상: %X/%X" + +#: xlogreader.c:1847 +#, c-format +msgid "" +"neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image " +"length is %u at %X/%X" +msgstr "" +"BKPIMAGE_HAS_HOLE, BKPIMAGE_COMPRESSED 지정 안되어 있으나, 블록 이미지 길이" +"는 %u, 대상: %X/%X" + +#: xlogreader.c:1863 +#, c-format +msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X" +msgstr "BKPBLOCK_SAME_REL 설정이 되어 있지만, %X/%X 에 이전 릴레이션 없음" + +#: xlogreader.c:1875 +#, c-format +msgid "invalid block_id %u at %X/%X" +msgstr "잘못된 block_id %u, 위치 %X/%X" + +#: xlogreader.c:1942 +#, c-format +msgid "record with invalid length at %X/%X" +msgstr "잘못된 레코드 길이, 위치 %X/%X" + +#: xlogreader.c:1968 +#, c-format +msgid "could not locate backup block with ID %d in WAL record" +msgstr "WAL 레코드에서 %d ID의 백업 블록 위치를 바르게 잡을 수 없음" + +#: xlogreader.c:2052 +#, c-format +msgid "could not restore image at %X/%X with invalid block %d specified" +msgstr "%X/%X 위치에 이미지를 복원할 수 없음, 해당 %d 블록이 깨졌음" + +#: xlogreader.c:2059 +#, c-format +msgid "could not restore image at %X/%X with invalid state, block %d" +msgstr "이미지 복원 실패, 잘못된 상태의 압축 이미지, 위치 %X/%X, 블록 %d" + +#: xlogreader.c:2086 xlogreader.c:2103 +#, c-format +msgid "" +"could not restore image at %X/%X compressed with %s not supported by build, " +"block %d" +msgstr "" +"%X/%X 압축 위치에 이미지 복원할 수 없음, %s 압축을 지원하지 않음, 해당 블록: " +"%d" + +#: xlogreader.c:2112 +#, c-format +msgid "" +"could not restore image at %X/%X compressed with unknown method, block %d" +msgstr "" +"%X/%X 압축 위치에 이미지 복원할 수 없음, 알 수 없은 방법, 해당 블록: %d" + +#: xlogreader.c:2120 +#, c-format +msgid "could not decompress image at %X/%X, block %d" +msgstr "압축 이미지 풀기 실패, 위치 %X/%X, 블록 %d" + #, c-format -msgid "Try \"%s --help\" for more information.\n" -msgstr "자제한 사항은 \"%s --help\" 명령으로 살펴보십시오.\n" +#~ msgid "missing contrecord at %X/%X" +#~ msgstr "%X/%X 위치에 contrecord 없음" diff --git a/src/bin/psql/po/el.po b/src/bin/psql/po/el.po index fe419d14af0..9e4179afa66 100644 --- a/src/bin/psql/po/el.po +++ b/src/bin/psql/po/el.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: psql (PostgreSQL) 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-04-14 09:16+0000\n" -"PO-Revision-Date: 2023-09-05 09:51+0200\n" +"POT-Creation-Date: 2023-08-15 13:47+0000\n" +"PO-Revision-Date: 2023-08-16 11:55+0200\n" "Last-Translator: Georgios Kokolatos \n" "Language-Team: \n" "Language: el\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 3.2.2\n" +"X-Generator: Poedit 3.3.2\n" #: ../../../src/common/logging.c:276 #, c-format @@ -40,55 +40,45 @@ msgstr "λεπτομέρεια: " msgid "hint: " msgstr "υπόδειξη: " -#: ../../common/exec.c:149 ../../common/exec.c:266 ../../common/exec.c:312 +#: ../../common/exec.c:172 #, c-format -msgid "could not identify current directory: %m" -msgstr "δεν ήταν δυνατή η αναγνώριση του τρέχοντος καταλόγου: %m" +msgid "invalid binary \"%s\": %m" +msgstr "μη έγκυρο δυαδικό αρχείο «%s»: %m" -#: ../../common/exec.c:168 +#: ../../common/exec.c:215 #, c-format -msgid "invalid binary \"%s\"" -msgstr "μη έγκυρο δυαδικό αρχείο «%s»" +msgid "could not read binary \"%s\": %m" +msgstr "δεν ήταν δυνατή η ανάγνωση του δυαδικού αρχείου «%s»: %m" -#: ../../common/exec.c:218 -#, c-format -msgid "could not read binary \"%s\"" -msgstr "δεν ήταν δυνατή η ανάγνωση του δυαδικού αρχείου «%s»" - -#: ../../common/exec.c:226 +#: ../../common/exec.c:223 #, c-format msgid "could not find a \"%s\" to execute" msgstr "δεν βρέθηκε το αρχείο «%s» για να εκτελεστεί" -#: ../../common/exec.c:282 ../../common/exec.c:321 -#, c-format -msgid "could not change directory to \"%s\": %m" -msgstr "δεν ήταν δυνατή η μετάβαση στον κατάλογο «%s»: %m" - -#: ../../common/exec.c:299 +#: ../../common/exec.c:250 #, c-format -msgid "could not read symbolic link \"%s\": %m" -msgstr "δεν ήταν δυνατή η ανάγνωση του συμβολικού συνδέσμου «%s»: %m" +msgid "could not resolve path \"%s\" to absolute form: %m" +msgstr "δεν δύναται η επίλυση διαδρομής «%s» σε απόλυτη μορφή: %m" -#: ../../common/exec.c:422 +#: ../../common/exec.c:412 #, c-format msgid "%s() failed: %m" msgstr "%s() απέτυχε: %m" -#: ../../common/exec.c:560 ../../common/exec.c:605 ../../common/exec.c:697 -#: command.c:1321 command.c:3310 command.c:3359 command.c:3483 input.c:227 +#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 +#: command.c:1354 command.c:3439 command.c:3488 command.c:3612 input.c:226 #: mainloop.c:80 mainloop.c:398 #, c-format msgid "out of memory" msgstr "έλλειψη μνήμης" #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 -#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format msgid "out of memory\n" msgstr "έλλειψη μνήμης\n" -#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 #, c-format msgid "cannot duplicate null pointer (internal error)\n" msgstr "δεν ήταν δυνατή η αντιγραφή δείκτη null (εσωτερικό σφάλμα)\n" @@ -98,7 +88,7 @@ msgstr "δεν ήταν δυνατή η αντιγραφή δείκτη null (ε msgid "could not look up effective user ID %ld: %s" msgstr "δεν ήταν δυνατή η αναζήτηση ενεργής ταυτότητας χρήστη %ld: %s" -#: ../../common/username.c:45 command.c:575 +#: ../../common/username.c:45 command.c:613 msgid "user does not exist" msgstr "ο χρήστης δεν υπάρχει" @@ -107,32 +97,32 @@ msgstr "ο χρήστης δεν υπάρχει" msgid "user name lookup failure: error code %lu" msgstr "αποτυχία αναζήτησης ονόματος χρήστη: κωδικός σφάλματος %lu" -#: ../../common/wait_error.c:45 +#: ../../common/wait_error.c:55 #, c-format msgid "command not executable" msgstr "εντολή μη εκτελέσιμη" -#: ../../common/wait_error.c:49 +#: ../../common/wait_error.c:59 #, c-format msgid "command not found" msgstr "εντολή δεν βρέθηκε" -#: ../../common/wait_error.c:54 +#: ../../common/wait_error.c:64 #, c-format msgid "child process exited with exit code %d" msgstr "απόγονος διεργασίας τερμάτισε με κωδικό εξόδου %d" -#: ../../common/wait_error.c:62 +#: ../../common/wait_error.c:72 #, c-format msgid "child process was terminated by exception 0x%X" msgstr "απόγονος διεργασίας τερματίστηκε με εξαίρεση 0x%X" -#: ../../common/wait_error.c:66 +#: ../../common/wait_error.c:76 #, c-format msgid "child process was terminated by signal %d: %s" msgstr "απόγονος διεργασίας τερματίστηκε με σήμα %d: %s" -#: ../../common/wait_error.c:72 +#: ../../common/wait_error.c:82 #, c-format msgid "child process exited with unrecognized status %d" msgstr "απόγονος διεργασίας τερμάτισε με μη αναγνωρίσιμη κατάσταση %d" @@ -152,289 +142,319 @@ msgid_plural "(%lu rows)" msgstr[0] "(%lu σειρά)" msgstr[1] "(%lu σειρές)" -#: ../../fe_utils/print.c:3109 +#: ../../fe_utils/print.c:3154 #, c-format msgid "Interrupted\n" msgstr "Διακόπηκε\n" -#: ../../fe_utils/print.c:3173 +#: ../../fe_utils/print.c:3218 #, c-format msgid "Cannot add header to table content: column count of %d exceeded.\n" msgstr "Δεν είναι δυνατή η προσθήκη κεφαλίδας σε περιεχόμενο πίνακα: υπέρβαση του πλήθους στηλών %d.\n" -#: ../../fe_utils/print.c:3213 +#: ../../fe_utils/print.c:3258 #, c-format msgid "Cannot add cell to table content: total cell count of %d exceeded.\n" msgstr "Δεν είναι δυνατή η προσθήκη κελιού σε περιεχόμενο πίνακα: υπέρβαση του συνολικού αριθμού κελιών %d.\n" -#: ../../fe_utils/print.c:3471 +#: ../../fe_utils/print.c:3516 #, c-format msgid "invalid output format (internal error): %d" msgstr "μη έγκυρη μορφή εξόδου (εσωτερικό σφάλμα): %d" -#: ../../fe_utils/psqlscan.l:702 +#: ../../fe_utils/psqlscan.l:717 #, c-format msgid "skipping recursive expansion of variable \"%s\"" msgstr "παραλείπεται η αναδρομική επέκταση της μεταβλητής «%s»" -#: ../../port/thread.c:100 ../../port/thread.c:136 +#: ../../port/thread.c:50 ../../port/thread.c:86 #, c-format msgid "could not look up local user ID %d: %s" msgstr "δεν ήταν δυνατή η αναζήτηση ID τοπικού χρήστη %d: %s" -#: ../../port/thread.c:105 ../../port/thread.c:141 +#: ../../port/thread.c:55 ../../port/thread.c:91 #, c-format msgid "local user with ID %d does not exist" msgstr "δεν υπάρχει τοπικός χρήστης με ID %d" -#: command.c:232 +#: command.c:234 #, c-format msgid "invalid command \\%s" msgstr "μη έγκυρη εντολή «%s»" -#: command.c:234 +#: command.c:236 #, c-format msgid "Try \\? for help." msgstr "Δοκιμάστε \\? για βοήθεια." -#: command.c:252 +#: command.c:254 #, c-format msgid "\\%s: extra argument \"%s\" ignored" msgstr "\\%s: επιπλέον παράμετρος «%s» αγνοείται" -#: command.c:304 +#: command.c:306 #, c-format msgid "\\%s command ignored; use \\endif or Ctrl-C to exit current \\if block" msgstr "\\%s εντολή αγνοείται, χρησιμοποιείστε \\endif ή Ctrl-C για να εξέλθετε από το παρόν μπλοκ \\if" -#: command.c:573 +#: command.c:611 #, c-format msgid "could not get home directory for user ID %ld: %s" msgstr "δεν ήταν δυνατή η ανάλληψη προσωπικού καταλόγου για τον χρήστη με ID %ld: %s" -#: command.c:592 +#: command.c:630 #, c-format msgid "\\%s: could not change directory to \"%s\": %m" msgstr "\\%s: δεν ήταν δυνατή η μετάβαση στον κατάλογο «%s»: %m" -#: command.c:617 +#: command.c:654 #, c-format msgid "You are currently not connected to a database.\n" msgstr "Αυτή τη στιγμή δεν είστε συνδεδεμένοι σε μία βάση δεδομένων.\n" -#: command.c:627 +#: command.c:664 #, c-format msgid "You are connected to database \"%s\" as user \"%s\" on address \"%s\" at port \"%s\".\n" msgstr "Είστε συνδεδεμένοι στη βάση δεδομένων «%s» ως χρήστης «%s» στην διεύθυνση «%s» στη θύρα «%s».\n" -#: command.c:630 +#: command.c:667 #, c-format msgid "You are connected to database \"%s\" as user \"%s\" via socket in \"%s\" at port \"%s\".\n" msgstr "Είστε συνδεδεμένοι στη βάση δεδομένων «%s» ως χρήστης «%s» μέσω του υποδεχέα «%s» στη θύρα «%s».\n" -#: command.c:636 +#: command.c:673 #, c-format msgid "You are connected to database \"%s\" as user \"%s\" on host \"%s\" (address \"%s\") at port \"%s\".\n" msgstr "Είστε συνδεδεμένοι στη βάση δεδομένων «%s» ως χρήστης «%s» στον κεντρικό υπολογιστή «%s» (διεύθυνση «%s») στη θύρα «%s».\n" -#: command.c:639 +#: command.c:676 #, c-format msgid "You are connected to database \"%s\" as user \"%s\" on host \"%s\" at port \"%s\".\n" msgstr "Είστε συνδεδεμένοι στη βάση δεδομένων «%s» ως χρήστης «%s» στον κεντρικό υπολογιστή «%s» στη θύρα «%s».\n" -#: command.c:1030 command.c:1125 command.c:2654 +#: command.c:1066 command.c:1159 command.c:2682 #, c-format msgid "no query buffer" msgstr "μη ενδιάμεση μνήμη ερώτησης" -#: command.c:1063 command.c:5491 +#: command.c:1099 command.c:5689 #, c-format msgid "invalid line number: %s" msgstr "μη έγκυρος αριθμός γραμμής «%s»" -#: command.c:1203 +#: command.c:1237 msgid "No changes" msgstr "Καθόλου αλλάγες" -#: command.c:1282 +#: command.c:1315 #, c-format msgid "%s: invalid encoding name or conversion procedure not found" msgstr "%s: μη έγκυρη ονομασία κωδικοποίησης ή δεν βρέθηκε η διεργασία μετατροπής" -#: command.c:1317 command.c:2120 command.c:3306 command.c:3505 command.c:5597 -#: common.c:181 common.c:230 common.c:399 common.c:1082 common.c:1100 -#: common.c:1174 common.c:1281 common.c:1319 common.c:1407 common.c:1443 -#: copy.c:488 copy.c:722 help.c:66 large_obj.c:157 large_obj.c:192 +#: command.c:1350 command.c:2152 command.c:3435 command.c:3632 command.c:5795 +#: common.c:182 common.c:231 common.c:400 common.c:1102 common.c:1120 +#: common.c:1194 common.c:1313 common.c:1351 common.c:1444 common.c:1480 +#: copy.c:486 copy.c:720 help.c:66 large_obj.c:157 large_obj.c:192 #: large_obj.c:254 startup.c:304 #, c-format msgid "%s" msgstr "%s" -#: command.c:1324 +#: command.c:1357 msgid "There is no previous error." msgstr "Δεν υπάρχει προηγούμενο σφάλμα." -#: command.c:1437 +#: command.c:1470 #, c-format msgid "\\%s: missing right parenthesis" msgstr "\\%s: λείπει δεξιά παρένθεση" -#: command.c:1521 command.c:1651 command.c:1956 command.c:1970 command.c:1989 -#: command.c:2173 command.c:2415 command.c:2621 command.c:2661 +#: command.c:1554 command.c:1684 command.c:1988 command.c:2002 command.c:2021 +#: command.c:2203 command.c:2444 command.c:2649 command.c:2689 #, c-format msgid "\\%s: missing required argument" msgstr "\\%s: λείπει αναγκαία παράμετρος" -#: command.c:1782 +#: command.c:1815 #, c-format msgid "\\elif: cannot occur after \\else" msgstr "\\elif: δεν δύναται να προκύψει μετά \\else" -#: command.c:1787 +#: command.c:1820 #, c-format msgid "\\elif: no matching \\if" msgstr "\\elif: δεν υπάρχει αντίστοιχο \\if" -#: command.c:1851 +#: command.c:1884 #, c-format msgid "\\else: cannot occur after \\else" msgstr "\\else: δεν δύναται να προκύψει μετά \\else" -#: command.c:1856 +#: command.c:1889 #, c-format msgid "\\else: no matching \\if" msgstr "\\else: δεν υπάρχει αντίστοιχο \\if" -#: command.c:1896 +#: command.c:1929 #, c-format msgid "\\endif: no matching \\if" msgstr "\\endif: δεν υπάρχει αντίστοιχο \\if" -#: command.c:2053 +#: command.c:2085 msgid "Query buffer is empty." msgstr "Άδεια ενδιάμεση μνήμη ερώτησης." -#: command.c:2096 +#: command.c:2128 #, c-format msgid "Enter new password for user \"%s\": " msgstr "Εισάγετε νέο κωδικό πρόσβασης για το χρήστη «%s»: " -#: command.c:2100 +#: command.c:2132 msgid "Enter it again: " msgstr "Εισάγετε ξανά: " -#: command.c:2109 +#: command.c:2141 #, c-format msgid "Passwords didn't match." msgstr "Οι κωδικοί πρόσβασης δεν είναι ίδιοι." -#: command.c:2208 +#: command.c:2238 #, c-format msgid "\\%s: could not read value for variable" msgstr "\\%s: δεν ήταν δυνατή η ανάγνωση τιμής για την μεταβλητή" -#: command.c:2311 +#: command.c:2340 msgid "Query buffer reset (cleared)." msgstr "Μηδενισμός ενδιάμεσης μνήμη ερώτησης (καθάρισμα)." -#: command.c:2333 +#: command.c:2362 #, c-format msgid "Wrote history to file \"%s\".\n" msgstr "‘Εγραψε την ιστορία στο αρχείο «%s».\n" -#: command.c:2420 +#: command.c:2449 #, c-format msgid "\\%s: environment variable name must not contain \"=\"" msgstr "\\%s: η ονομασία μεταβλητή περιβάλλοντος environment δεν δύναται να εμπεριέχει «=«" -#: command.c:2468 +#: command.c:2497 #, c-format msgid "function name is required" msgstr "η ονομασία συνάρτησης είναι αναγκαία" -#: command.c:2470 +#: command.c:2499 #, c-format msgid "view name is required" msgstr "η ονομασία ορισμού είναι αναγκαία" -#: command.c:2593 +#: command.c:2621 msgid "Timing is on." msgstr "Η χρονομέτρηση είναι ενεργή." -#: command.c:2595 +#: command.c:2623 msgid "Timing is off." msgstr "Η χρονομέτρηση είναι ανενεργή." -#: command.c:2680 command.c:2708 command.c:3946 command.c:3949 command.c:3952 -#: command.c:3958 command.c:3960 command.c:3986 command.c:3996 command.c:4008 -#: command.c:4022 command.c:4049 command.c:4107 common.c:77 copy.c:331 -#: copy.c:403 psqlscanslash.l:784 psqlscanslash.l:795 psqlscanslash.l:805 +#: command.c:2709 command.c:2747 command.c:4074 command.c:4077 command.c:4080 +#: command.c:4086 command.c:4088 command.c:4114 command.c:4124 command.c:4136 +#: command.c:4150 command.c:4177 command.c:4235 common.c:78 copy.c:329 +#: copy.c:401 psqlscanslash.l:788 psqlscanslash.l:800 psqlscanslash.l:818 #, c-format msgid "%s: %m" msgstr "%s: %m" -#: command.c:3107 startup.c:243 startup.c:293 +#: command.c:2736 copy.c:388 +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: command.c:2806 command.c:2852 +#, c-format +msgid "\\watch: interval value is specified more than once" +msgstr "\\watch: η τιμή του διαστήματος καθορίζεται περισσότερες από μία φορές" + +#: command.c:2816 command.c:2862 +#, c-format +msgid "\\watch: incorrect interval value \"%s\"" +msgstr "\\watch: εσφαλμένη τιμή διαστήματος «%s»" + +#: command.c:2826 +#, c-format +msgid "\\watch: iteration count is specified more than once" +msgstr "\\watch: ο αριθμός των επαναλήψεων καθορίζεται περισσότερες από μία φορές" + +#: command.c:2836 +#, c-format +msgid "\\watch: incorrect iteration count \"%s\"" +msgstr "\\watch: εσφαλμένος αριθμός επαναλήψεων «%s»" + +#: command.c:2843 +#, c-format +msgid "\\watch: unrecognized parameter \"%s\"" +msgstr "\\watch: μη αναγνωρίσιμη παράμετρος «%s»" + +#: command.c:3236 startup.c:243 startup.c:293 msgid "Password: " msgstr "Κωδικός πρόσβασης: " -#: command.c:3112 startup.c:290 +#: command.c:3241 startup.c:290 #, c-format msgid "Password for user %s: " msgstr "Κωδικός πρόσβασης για τον χρήστη %s: " -#: command.c:3168 +#: command.c:3297 #, c-format msgid "Do not give user, host, or port separately when using a connection string" msgstr "Να μην οριστεί ξεχωριστά ο χρήστης, ο κεντρικός υπολογιστής, ή η θύρα όταν χρησιμοποιείται μια συμβολοσειρά σύνδεσης" -#: command.c:3203 +#: command.c:3332 #, c-format msgid "No database connection exists to re-use parameters from" msgstr "Δεν υπάρχει σύνδεση βάσης δεδομένων για την επαναχρησιμοποίηση παραμέτρων" -#: command.c:3511 +#: command.c:3638 #, c-format msgid "Previous connection kept" msgstr "Κρατήθηκε η προηγούμενη σύνδεση" -#: command.c:3517 +#: command.c:3644 #, c-format msgid "\\connect: %s" msgstr "\\connect: %s" -#: command.c:3573 +#: command.c:3700 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" on address \"%s\" at port \"%s\".\n" msgstr "" "Τώρα είστε συνδεδεμένοι στη βάση δεδομένων «%s» ως χρήστης «%s» στη διεύθυνση «%s» στη θύρα «%s».\n" "=\n" -#: command.c:3576 +#: command.c:3703 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" via socket in \"%s\" at port \"%s\".\n" msgstr "Τώρα είστε συνδεδεμένοι στη βάση δεδομένων «%s» ως χρήστης «%s» μέσω του υποδεχέα «%s» στη θύρα «%s».\n" -#: command.c:3582 +#: command.c:3709 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" on host \"%s\" (address \"%s\") at port \"%s\".\n" msgstr "Τώρα είστε συνδεδεμένοι στη βάση δεδομένων «%s» ως χρήστης «%s» στον κεντρικό υπολογιστή «%s» (διεύθυνση «%s») στη θύρα «%s».\n" -#: command.c:3585 +#: command.c:3712 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" on host \"%s\" at port \"%s\".\n" msgstr "Τώρα είστε συνδεδεμένοι στη βάση δεδομένων «%s» ως χρήστης «%s» στον κεντρικό υπολογιστή «%s» στη θύρα «%s».\n" -#: command.c:3590 +#: command.c:3717 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\".\n" msgstr "Τώρα είστε συνδεδεμένοι στη βάση δεδομένων «%s» ως χρήστης «%s».\n" -#: command.c:3630 +#: command.c:3757 #, c-format msgid "%s (%s, server %s)\n" msgstr "%s (%s, διακομιστής %s)\n" -#: command.c:3643 +#: command.c:3770 #, c-format msgid "" "WARNING: %s major version %s, server major version %s.\n" @@ -443,29 +463,29 @@ msgstr "" "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: %s κύρια έκδοση %s, %s κύρια έκδοση διακομιστή.\n" " Ορισμένες δυνατότητες psql ενδέχεται να μην λειτουργούν.\n" -#: command.c:3680 +#: command.c:3807 #, c-format msgid "SSL connection (protocol: %s, cipher: %s, compression: %s)\n" msgstr "SSL σύνδεση (πρωτόκολλο: %s, cipher: %s, συμπίεση: %s)\n" -#: command.c:3681 command.c:3682 +#: command.c:3808 command.c:3809 msgid "unknown" msgstr "άγνωστο" -#: command.c:3683 help.c:42 +#: command.c:3810 help.c:42 msgid "off" msgstr "κλειστό" -#: command.c:3683 help.c:42 +#: command.c:3810 help.c:42 msgid "on" msgstr "ανοικτό" -#: command.c:3697 +#: command.c:3824 #, c-format msgid "GSSAPI-encrypted connection\n" msgstr "GSSAPI-κρυπτογραφημένη σύνδεση\n" -#: command.c:3717 +#: command.c:3844 #, c-format msgid "" "WARNING: Console code page (%u) differs from Windows code page (%u)\n" @@ -476,271 +496,286 @@ msgstr "" " Χαρακτήρες 8-bit δύναται να μην λειτουργούν ορθά. Δείτε την αναφορά στη σελίδα\n" " psql με τίτλο «Σημειώσεις για χρήστες Windows» για πληροφορίες.\n" -#: command.c:3822 +#: command.c:3949 #, c-format msgid "environment variable PSQL_EDITOR_LINENUMBER_ARG must be set to specify a line number" msgstr "η μεταβλητή περιβάλλοντος PSQL_EDITOR_LINENUMBER_ARG πρέπει να έχει οριστεί για να ορίσετε αριθμό σειράς" -#: command.c:3851 +#: command.c:3979 #, c-format msgid "could not start editor \"%s\"" msgstr "δεν μπόρεσε να εκκινήσει τον editor «%s»" -#: command.c:3853 +#: command.c:3981 #, c-format msgid "could not start /bin/sh" msgstr "δεν μπόρεσε να εκκινήσει το /bin/sh" -#: command.c:3903 +#: command.c:4031 #, c-format msgid "could not locate temporary directory: %s" msgstr "δεν ήταν δυνατός ο εντοπισμός του προσωρινού καταλόγου %s" -#: command.c:3930 +#: command.c:4058 #, c-format msgid "could not open temporary file \"%s\": %m" msgstr "δεν ήταν δυνατό το άνοιγμα του προσωρινού αρχείου «%s»: %m" -#: command.c:4266 +#: command.c:4394 #, c-format msgid "\\pset: ambiguous abbreviation \"%s\" matches both \"%s\" and \"%s\"" msgstr "\\pset: διφορούμενης συντόμευση «%s» ταιριάζει τόσο «%s» όσο «%s»" -#: command.c:4286 +#: command.c:4414 #, c-format msgid "\\pset: allowed formats are aligned, asciidoc, csv, html, latex, latex-longtable, troff-ms, unaligned, wrapped" msgstr "\\pset: επιτρεπόμενες μορφές είναι aligned, asciidoc, csv, html, latex, latex-longtable, troff-ms, unaligned, wrapped" -#: command.c:4305 +#: command.c:4433 #, c-format msgid "\\pset: allowed line styles are ascii, old-ascii, unicode" msgstr "\\pset: επιτρεπόμενες μορφές γραμμών είναι ascii, old-ascii, unicode" -#: command.c:4320 +#: command.c:4448 #, c-format msgid "\\pset: allowed Unicode border line styles are single, double" msgstr "\\pset: επιτρεπόμενες μορφές Unicode border line είναι single, double" -#: command.c:4335 +#: command.c:4463 #, c-format msgid "\\pset: allowed Unicode column line styles are single, double" msgstr "\\pset: επιτρεπόμενες μορφές Unicode column line είναι single, double" -#: command.c:4350 +#: command.c:4478 #, c-format msgid "\\pset: allowed Unicode header line styles are single, double" msgstr "\\pset: επιτρεπόμενες μορφές Unicode header line είναι single, double" -#: command.c:4393 +#: command.c:4530 +#, c-format +msgid "\\pset: allowed xheader_width values are \"%s\" (default), \"%s\", \"%s\", or a number specifying the exact width" +msgstr "\\pset: οι επιτρεπόμενες τιμές xheader_width είναι «%s» (προεπιλογή), «%s», «%s» ή ένας αριθμός που καθορίζει το ακριβές πλάτος" + +#: command.c:4547 #, c-format msgid "\\pset: csv_fieldsep must be a single one-byte character" msgstr "\\pset: csv_fieldsep πρέπει να είναι ένας χαρακτήρας ενός-byte" -#: command.c:4398 +#: command.c:4552 #, c-format msgid "\\pset: csv_fieldsep cannot be a double quote, a newline, or a carriage return" msgstr "\\pset: csv_fieldsep δεν μπορεί να είναι διπλά εισαγωγικά, νέα γραμμή, ή carriage return" -#: command.c:4535 command.c:4723 +#: command.c:4690 command.c:4891 #, c-format msgid "\\pset: unknown option: %s" msgstr "\\pset: άγνωστη επιλογή: %s" -#: command.c:4555 +#: command.c:4710 #, c-format msgid "Border style is %d.\n" msgstr "Border style είναι %d.\n" -#: command.c:4561 +#: command.c:4716 #, c-format msgid "Target width is unset.\n" msgstr "Target width δεν είναι ορισμένο.\n" -#: command.c:4563 +#: command.c:4718 #, c-format msgid "Target width is %d.\n" msgstr "Target width είναι %d.\n" -#: command.c:4570 +#: command.c:4725 #, c-format msgid "Expanded display is on.\n" msgstr "Εκτεταμένη οθόνη είναι ενεργή.\n" -#: command.c:4572 +#: command.c:4727 #, c-format msgid "Expanded display is used automatically.\n" msgstr "Εκτεταμένη οθόνη χρησιμοποιείται αυτόματα.\n" -#: command.c:4574 +#: command.c:4729 #, c-format msgid "Expanded display is off.\n" msgstr "Εκτεταμένη οθόνη είναι ανενεργή.\n" -#: command.c:4580 +#: command.c:4736 command.c:4738 command.c:4740 +#, c-format +msgid "Expanded header width is \"%s\".\n" +msgstr "Το πλάτος της διευρυμένης κεφαλίδας είναι «%s».\n" + +#: command.c:4742 +#, c-format +msgid "Expanded header width is %d.\n" +msgstr "Το πλάτος της διευρυμένης κεφαλίδας είναι %d.\n" + +#: command.c:4748 #, c-format msgid "Field separator for CSV is \"%s\".\n" msgstr "Διαχωριστής πεδίων CSV είναι ο «%s».\n" -#: command.c:4588 command.c:4596 +#: command.c:4756 command.c:4764 #, c-format msgid "Field separator is zero byte.\n" msgstr "Διαχωριστής πεδίων είναι το μηδενικό byte\n" -#: command.c:4590 +#: command.c:4758 #, c-format msgid "Field separator is \"%s\".\n" msgstr "Διαχωριστής πεδίων είναι ο «%s».\n" -#: command.c:4603 +#: command.c:4771 #, c-format msgid "Default footer is on.\n" msgstr "Προκαθορισμένο υποσέλιδο είναι ενεργό.\n" -#: command.c:4605 +#: command.c:4773 #, c-format msgid "Default footer is off.\n" msgstr "Προκαθορισμένο υποσέλιδο είναι ανενεργό.\n" -#: command.c:4611 +#: command.c:4779 #, c-format msgid "Output format is %s.\n" msgstr "Η μορφή εξόδου είναι %s.\n" -#: command.c:4617 +#: command.c:4785 #, c-format msgid "Line style is %s.\n" msgstr "Η μορφή γραμμής είναι %s.\n" -#: command.c:4624 +#: command.c:4792 #, c-format msgid "Null display is \"%s\".\n" msgstr "Εμφάνιση Null είναι «%s».\n" -#: command.c:4632 +#: command.c:4800 #, c-format msgid "Locale-adjusted numeric output is on.\n" msgstr "Η κατά εντοπιότητα διορθωμένη μορφή αριθμητικής εξόδου είναι ενεργή.\n" -#: command.c:4634 +#: command.c:4802 #, c-format msgid "Locale-adjusted numeric output is off.\n" msgstr "Η κατά εντοπιότητα διορθωμένη μορφή αριθμητικής εξόδου είναι ανενεργή.\n" -#: command.c:4641 +#: command.c:4809 #, c-format msgid "Pager is used for long output.\n" msgstr "Χρησιμοποιείται Pager για μεγάλη έξοδο.\n" -#: command.c:4643 +#: command.c:4811 #, c-format msgid "Pager is always used.\n" msgstr "Χρησιμοποιείται Pager συνέχεια.\n" -#: command.c:4645 +#: command.c:4813 #, c-format msgid "Pager usage is off.\n" msgstr "Η χρήση Pager είναι ανενεργή.\n" -#: command.c:4651 +#: command.c:4819 #, c-format msgid "Pager won't be used for less than %d line.\n" msgid_plural "Pager won't be used for less than %d lines.\n" msgstr[0] "Ο Pager δεν θα χρησιμοποιηθεί για λιγότερο από %d γραμμή.\n" msgstr[1] "Ο Pager δεν θα χρησιμοποιηθεί για λιγότερες από %d γραμμές.\n" -#: command.c:4661 command.c:4671 +#: command.c:4829 command.c:4839 #, c-format msgid "Record separator is zero byte.\n" msgstr "Διαχωριστής εγγραφών είναι το μηδενικό byte\n" -#: command.c:4663 +#: command.c:4831 #, c-format msgid "Record separator is .\n" msgstr "Διαχωριστής εγγραφών είναι ο .\n" -#: command.c:4665 +#: command.c:4833 #, c-format msgid "Record separator is \"%s\".\n" msgstr "Διαχωριστής εγγραφών είναι ο/η «%s».\n" -#: command.c:4678 +#: command.c:4846 #, c-format msgid "Table attributes are \"%s\".\n" msgstr "Τα χαρακτηριστικά του πίνακα είναι «%s».\n" -#: command.c:4681 +#: command.c:4849 #, c-format msgid "Table attributes unset.\n" msgstr "Χαρακτηριστικά πίνακα μη ορισμένα.\n" -#: command.c:4688 +#: command.c:4856 #, c-format msgid "Title is \"%s\".\n" msgstr "Ο τίτλος είναι «%s».\n" -#: command.c:4690 +#: command.c:4858 #, c-format msgid "Title is unset.\n" msgstr "Ο τίτλος δεν είναι ορισμένος.\n" -#: command.c:4697 +#: command.c:4865 #, c-format msgid "Tuples only is on.\n" msgstr "Ενεργή όψη μόνο πλειάδων.\n" -#: command.c:4699 +#: command.c:4867 #, c-format msgid "Tuples only is off.\n" msgstr "Ανενεργή όψη μόνο πλειάδων.\n" -#: command.c:4705 +#: command.c:4873 #, c-format msgid "Unicode border line style is \"%s\".\n" msgstr "Το στυλ περιγράμματος γραμμής Unicode είναι «%s».\n" -#: command.c:4711 +#: command.c:4879 #, c-format msgid "Unicode column line style is \"%s\".\n" msgstr "Το στυλ περιγράμματος στήλης Unicode είναι «%s».\n" -#: command.c:4717 +#: command.c:4885 #, c-format msgid "Unicode header line style is \"%s\".\n" msgstr "Το στυλ περιγράμματος γραμμής κεφαλίδας Unicode είναι «%s».\n" -#: command.c:4950 +#: command.c:5134 #, c-format msgid "\\!: failed" msgstr "\\!: απέτυχε" -#: command.c:4984 +#: command.c:5168 #, c-format msgid "\\watch cannot be used with an empty query" msgstr "\\watch δεν μπορεί να χρησιμοποιηθεί με κενή ερώτηση" -#: command.c:5016 +#: command.c:5200 #, c-format msgid "could not set timer: %m" msgstr "δεν ήταν δυνατή η ρύθμιση του χρονομετρητή: %m" -#: command.c:5078 +#: command.c:5269 #, c-format msgid "%s\t%s (every %gs)\n" msgstr "%s\t%s (κάθε %gs)\n" -#: command.c:5081 +#: command.c:5272 #, c-format msgid "%s (every %gs)\n" msgstr "" "%s (κάθε %gs)\n" "\n" -#: command.c:5142 +#: command.c:5340 #, c-format msgid "could not wait for signals: %m" msgstr "δεν ήταν δυνατή η αναμονή για σήματα: %m" -#: command.c:5200 command.c:5207 common.c:572 common.c:579 common.c:1063 +#: command.c:5398 command.c:5405 common.c:592 common.c:599 common.c:1083 #, c-format msgid "" "********* QUERY **********\n" @@ -753,107 +788,107 @@ msgstr "" "**************************\n" "\n" -#: command.c:5386 +#: command.c:5584 #, c-format msgid "\"%s.%s\" is not a view" msgstr "«%s.%s» δεν είναι μία όψη" -#: command.c:5402 +#: command.c:5600 #, c-format msgid "could not parse reloptions array" msgstr "δεν ήταν δυνατή η ανάλυση συστυχίας reloptions" -#: common.c:166 +#: common.c:167 #, c-format msgid "cannot escape without active connection" msgstr "δεν είναι δυνατή η διαφυγή χωρίς ενεργή σύνδεση" -#: common.c:207 +#: common.c:208 #, c-format msgid "shell command argument contains a newline or carriage return: \"%s\"" msgstr "παράμετρος της εντολής κελύφους περιέχει μια νέα γραμμή ή μια επιστροφή μεταφοράς: «%s»" -#: common.c:311 +#: common.c:312 #, c-format msgid "connection to server was lost" msgstr "χάθηκε η σύνδεση στον διακομιστή" -#: common.c:315 +#: common.c:316 #, c-format msgid "The connection to the server was lost. Attempting reset: " msgstr "Χάθηκε η σύνδεση στον διακομιστή. Προσπάθεια επαναφοράς: " -#: common.c:320 +#: common.c:321 #, c-format msgid "Failed.\n" msgstr "Απέτυχε.\n" -#: common.c:337 +#: common.c:338 #, c-format msgid "Succeeded.\n" msgstr "Πέτυχε.\n" -#: common.c:389 common.c:1001 +#: common.c:390 common.c:1021 #, c-format msgid "unexpected PQresultStatus: %d" msgstr "μη αναμενόμενο PQresultStatus: %d" -#: common.c:511 +#: common.c:531 #, c-format msgid "Time: %.3f ms\n" msgstr "Χρόνος: %.3f ms\n" -#: common.c:526 +#: common.c:546 #, c-format msgid "Time: %.3f ms (%02d:%06.3f)\n" msgstr "Χρόνος: %.3f ms (%02d:%06.3f)\n" -#: common.c:535 +#: common.c:555 #, c-format msgid "Time: %.3f ms (%02d:%02d:%06.3f)\n" msgstr "Χρόνος: %.3f ms (%02d:%02d:%06.3f)\n" -#: common.c:542 +#: common.c:562 #, c-format msgid "Time: %.3f ms (%.0f d %02d:%02d:%06.3f)\n" msgstr "Χρόνος: %.3f ms (%.0f d %02d:%02d:%06.3f)\n" -#: common.c:566 common.c:623 common.c:1034 describe.c:6135 +#: common.c:586 common.c:643 common.c:1054 describe.c:6214 #, c-format msgid "You are currently not connected to a database." msgstr "Αυτή τη στιγμή δεν είστε συνδεδεμένοι σε μία βάση δεδομένων." -#: common.c:654 +#: common.c:674 #, c-format msgid "Asynchronous notification \"%s\" with payload \"%s\" received from server process with PID %d.\n" msgstr "Ελήφθει ασύγχρονη ειδοποίηση «%s» με ωφέλιμο φορτίο «%s» από τη διαδικασία διακομιστή με %d PID.\n" -#: common.c:657 +#: common.c:677 #, c-format msgid "Asynchronous notification \"%s\" received from server process with PID %d.\n" msgstr "Ελήφθει ασύγχρονη ειδοποίηση «%s» από τη διαδικασία διακομιστή με %d PID.\n" -#: common.c:688 +#: common.c:708 #, c-format msgid "could not print result table: %m" msgstr "δεν μπόρεσε να εκτυπώσει τον πίνακα αποτελέσματος: %m" -#: common.c:708 +#: common.c:728 #, c-format msgid "no rows returned for \\gset" msgstr "δεν επιστράφηκαν σειρές για \\gset" -#: common.c:713 +#: common.c:733 #, c-format msgid "more than one row returned for \\gset" msgstr "περισσότερες από μία γραμμές επιστράφηκαν για \\gset" -#: common.c:731 +#: common.c:751 #, c-format msgid "attempt to \\gset into specially treated variable \"%s\" ignored" msgstr "αγνοείται η προσπάθεια να τεθεί \\gset στην ειδικά διαμορφωμένη μεταβλητή «%s»" -#: common.c:1043 +#: common.c:1063 #, c-format msgid "" "***(Single step mode: verify command)*******************************************\n" @@ -864,28 +899,28 @@ msgstr "" "%s\n" "***(πατήστε return για να συνεχίσετε ή εισάγετε x και return για να ακυρώσετε)********************\n" -#: common.c:1126 +#: common.c:1146 #, c-format msgid "STATEMENT: %s" msgstr "ΔΗΛΩΣΗ: %s" -#: common.c:1162 +#: common.c:1182 #, c-format msgid "unexpected transaction status (%d)" msgstr "μη αναμενόμενη κατάσταση συναλλαγής: %d" -#: common.c:1303 describe.c:2020 +#: common.c:1335 describe.c:2026 msgid "Column" msgstr "Στήλη" -#: common.c:1304 describe.c:170 describe.c:358 describe.c:376 describe.c:1037 -#: describe.c:1193 describe.c:1725 describe.c:1749 describe.c:2021 -#: describe.c:3891 describe.c:4103 describe.c:4342 describe.c:4504 -#: describe.c:5767 +#: common.c:1336 describe.c:170 describe.c:358 describe.c:376 describe.c:1046 +#: describe.c:1200 describe.c:1732 describe.c:1756 describe.c:2027 +#: describe.c:3958 describe.c:4170 describe.c:4409 describe.c:4571 +#: describe.c:5846 msgid "Type" msgstr "Τύπος" -#: common.c:1353 +#: common.c:1385 #, c-format msgid "The command has no result, or the result has no columns.\n" msgstr "Η εντολή δεν έχει αποτέλεσμα, η το αποτέλεσμα δεν έχει στήλες.\n" @@ -905,46 +940,41 @@ msgstr "\\copy: σφάλμα ανάλυσης σε «%s»" msgid "\\copy: parse error at end of line" msgstr "\\copy: σφάλμα ανάλυσης στο τέλος γραμμής" -#: copy.c:328 +#: copy.c:326 #, c-format msgid "could not execute command \"%s\": %m" msgstr "δεν ήταν δυνατή η εκτέλεση της εντολής «%s»: %m" -#: copy.c:344 +#: copy.c:342 #, c-format msgid "could not stat file \"%s\": %m" msgstr "δεν ήταν δυνατή η εκτέλεση stat στο αρχείο «%s»: %m" -#: copy.c:348 +#: copy.c:346 #, c-format msgid "%s: cannot copy from/to a directory" msgstr "%s: δεν μπορεί να αντιγράψει από/προς κατάλογο" -#: copy.c:385 +#: copy.c:383 #, c-format msgid "could not close pipe to external command: %m" msgstr "δεν ήταν δυνατό το κλείσιμο της διοχέτευσης σε εξωτερική εντολή: %m" -#: copy.c:390 -#, c-format -msgid "%s: %s" -msgstr "%s: %s" - -#: copy.c:453 copy.c:463 +#: copy.c:451 copy.c:461 #, c-format msgid "could not write COPY data: %m" msgstr "δεν ήταν δυνατή η εγγραφή δεδομένων COPY: %m" -#: copy.c:469 +#: copy.c:467 #, c-format msgid "COPY data transfer failed: %s" msgstr "Μεταφορά δεδομένων μέσω COPY απέτυχε: %s" -#: copy.c:530 +#: copy.c:528 msgid "canceled by user" msgstr "ακυρώθηκε από τον χρήστη" -#: copy.c:541 +#: copy.c:539 msgid "" "Enter data to be copied followed by a newline.\n" "End with a backslash and a period on a line by itself, or an EOF signal." @@ -952,11 +982,11 @@ msgstr "" "Εισαγάγετε τα δεδομένα που θα αντιγραφούν ακολουθούμενα από νέα γραμμή.\n" "Τερματίστε με μια ανάστροφη κάθετο και μια τελεία σε μια ξεχωριστή γραμμή, ή ένα σήμα EOF." -#: copy.c:684 +#: copy.c:682 msgid "aborted because of read failure" msgstr "ματαιώθηκε λόγω σφάλματος κατά την ανάγνωση" -#: copy.c:718 +#: copy.c:716 msgid "trying to exit copy mode" msgstr "προσπαθεί να τερματίσει τη λειτουργία αντιγραφής" @@ -1005,21 +1035,21 @@ msgstr "\\crosstabview: αμφίσημο όνομα στήλης: «%s»" msgid "\\crosstabview: column name not found: \"%s\"" msgstr "\\crosstabview: όνομα στήλης δεν βρέθηκε: «%s»" -#: describe.c:87 describe.c:338 describe.c:635 describe.c:812 describe.c:1029 -#: describe.c:1182 describe.c:1257 describe.c:3880 describe.c:4090 -#: describe.c:4340 describe.c:4422 describe.c:4657 describe.c:4866 -#: describe.c:5095 describe.c:5339 describe.c:5409 describe.c:5420 -#: describe.c:5477 describe.c:5881 describe.c:5959 +#: describe.c:87 describe.c:338 describe.c:630 describe.c:807 describe.c:1038 +#: describe.c:1189 describe.c:1264 describe.c:3947 describe.c:4157 +#: describe.c:4407 describe.c:4489 describe.c:4724 describe.c:4932 +#: describe.c:5174 describe.c:5418 describe.c:5488 describe.c:5499 +#: describe.c:5556 describe.c:5960 describe.c:6038 msgid "Schema" msgstr "Σχήμα" -#: describe.c:88 describe.c:167 describe.c:229 describe.c:339 describe.c:636 -#: describe.c:813 describe.c:936 describe.c:1030 describe.c:1258 -#: describe.c:3881 describe.c:4091 describe.c:4256 describe.c:4341 -#: describe.c:4423 describe.c:4586 describe.c:4658 describe.c:4867 -#: describe.c:4967 describe.c:5096 describe.c:5340 describe.c:5410 -#: describe.c:5421 describe.c:5478 describe.c:5677 describe.c:5748 -#: describe.c:5957 describe.c:6186 describe.c:6494 +#: describe.c:88 describe.c:167 describe.c:229 describe.c:339 describe.c:631 +#: describe.c:808 describe.c:930 describe.c:1039 describe.c:1265 +#: describe.c:3948 describe.c:4158 describe.c:4323 describe.c:4408 +#: describe.c:4490 describe.c:4653 describe.c:4725 describe.c:4933 +#: describe.c:5046 describe.c:5175 describe.c:5419 describe.c:5489 +#: describe.c:5500 describe.c:5557 describe.c:5756 describe.c:5827 +#: describe.c:6036 describe.c:6265 describe.c:6573 msgid "Name" msgstr "Όνομα" @@ -1031,14 +1061,14 @@ msgstr "Τύπος δεδομένων αποτελεσμάτων" msgid "Argument data types" msgstr "Τύπος δεδομένων παραμέτρων" -#: describe.c:98 describe.c:105 describe.c:178 describe.c:243 describe.c:423 -#: describe.c:667 describe.c:828 describe.c:965 describe.c:1260 describe.c:2041 -#: describe.c:3676 describe.c:3935 describe.c:4137 describe.c:4280 -#: describe.c:4354 describe.c:4432 describe.c:4599 describe.c:4777 -#: describe.c:4903 describe.c:4976 describe.c:5097 describe.c:5248 -#: describe.c:5290 describe.c:5356 describe.c:5413 describe.c:5422 -#: describe.c:5479 describe.c:5695 describe.c:5770 describe.c:5895 -#: describe.c:5960 describe.c:6992 +#: describe.c:98 describe.c:105 describe.c:178 describe.c:243 describe.c:418 +#: describe.c:662 describe.c:823 describe.c:974 describe.c:1267 describe.c:2047 +#: describe.c:3676 describe.c:4002 describe.c:4204 describe.c:4347 +#: describe.c:4421 describe.c:4499 describe.c:4666 describe.c:4844 +#: describe.c:4982 describe.c:5055 describe.c:5176 describe.c:5327 +#: describe.c:5369 describe.c:5435 describe.c:5492 describe.c:5501 +#: describe.c:5558 describe.c:5774 describe.c:5849 describe.c:5974 +#: describe.c:6039 describe.c:7093 msgid "Description" msgstr "Περιγραφή" @@ -1055,11 +1085,11 @@ msgstr "Ο διακομιστής (έκδοση %s) δεν υποστηρίζε msgid "Index" msgstr "Ευρετήριο" -#: describe.c:169 describe.c:3899 describe.c:4116 describe.c:5882 +#: describe.c:169 describe.c:3966 describe.c:4183 describe.c:5961 msgid "Table" msgstr "Πίνακας" -#: describe.c:177 describe.c:5679 +#: describe.c:177 describe.c:5758 msgid "Handler" msgstr "Διαχειριστής" @@ -1067,11 +1097,11 @@ msgstr "Διαχειριστής" msgid "List of access methods" msgstr "Λίστα μεθόδων πρόσβασης" -#: describe.c:230 describe.c:404 describe.c:660 describe.c:937 describe.c:1181 -#: describe.c:3892 describe.c:4092 describe.c:4257 describe.c:4588 -#: describe.c:4968 describe.c:5678 describe.c:5749 describe.c:6187 -#: describe.c:6375 describe.c:6495 describe.c:6632 describe.c:6718 -#: describe.c:6980 +#: describe.c:230 describe.c:404 describe.c:655 describe.c:931 describe.c:1188 +#: describe.c:3959 describe.c:4159 describe.c:4324 describe.c:4655 +#: describe.c:5047 describe.c:5757 describe.c:5828 describe.c:6266 +#: describe.c:6454 describe.c:6574 describe.c:6733 describe.c:6819 +#: describe.c:7081 msgid "Owner" msgstr "Ιδιοκτήτης" @@ -1079,11 +1109,11 @@ msgstr "Ιδιοκτήτης" msgid "Location" msgstr "Τοποθεσία" -#: describe.c:241 describe.c:3509 +#: describe.c:241 describe.c:3517 describe.c:3858 msgid "Options" msgstr "Επιλογές" -#: describe.c:242 describe.c:658 describe.c:963 describe.c:3934 +#: describe.c:242 describe.c:653 describe.c:972 describe.c:4001 msgid "Size" msgstr "Μέγεθος" @@ -1118,7 +1148,7 @@ msgstr "proc" msgid "func" msgstr "func" -#: describe.c:374 describe.c:1390 +#: describe.c:374 describe.c:1397 msgid "trigger" msgstr "trigger" @@ -1170,568 +1200,564 @@ msgstr "Ασφάλεια" msgid "Language" msgstr "Γλώσσα" -#: describe.c:416 describe.c:420 -msgid "Source code" -msgstr "Πηγαίος κώδικας" +#: describe.c:415 describe.c:652 +msgid "Internal name" +msgstr "Εσωτερική ονομασία" -#: describe.c:594 +#: describe.c:589 msgid "List of functions" msgstr "Λίστα συναρτήσεων" -#: describe.c:657 -msgid "Internal name" -msgstr "Εσωτερική ονομασία" - -#: describe.c:659 +#: describe.c:654 msgid "Elements" msgstr "Στοιχεία" -#: describe.c:711 +#: describe.c:706 msgid "List of data types" msgstr "Λίστα τύπων δεδομένων" -#: describe.c:814 +#: describe.c:809 msgid "Left arg type" msgstr "Τύπος αριστερής παραμέτρου" -#: describe.c:815 +#: describe.c:810 msgid "Right arg type" msgstr "Τύπος δεξιάς παραμέτρου" -#: describe.c:816 +#: describe.c:811 msgid "Result type" msgstr "Τύπος αποτελέσματος" -#: describe.c:821 describe.c:4594 describe.c:4760 describe.c:5247 -#: describe.c:6909 describe.c:6913 +#: describe.c:816 describe.c:4661 describe.c:4827 describe.c:5326 +#: describe.c:7010 describe.c:7014 msgid "Function" msgstr "Συνάρτηση" -#: describe.c:902 +#: describe.c:897 msgid "List of operators" msgstr "Λίστα operators" -#: describe.c:938 +#: describe.c:932 msgid "Encoding" msgstr "Κωδικοποίηση" -#: describe.c:939 describe.c:4868 +#: describe.c:936 describe.c:940 +msgid "Locale Provider" +msgstr "Πάροχος εντοπιότητας" + +#: describe.c:944 describe.c:4947 msgid "Collate" msgstr "Σύνθεση" -#: describe.c:940 describe.c:4869 +#: describe.c:945 describe.c:4948 msgid "Ctype" msgstr "Ctype" -#: describe.c:945 describe.c:951 describe.c:4874 describe.c:4878 +#: describe.c:949 describe.c:953 describe.c:4953 describe.c:4957 msgid "ICU Locale" msgstr "ICU εντοπιότητα" -#: describe.c:946 describe.c:952 -msgid "Locale Provider" -msgstr "Πάροχος εντοπιότητας" +#: describe.c:957 describe.c:961 describe.c:4962 describe.c:4966 +msgid "ICU Rules" +msgstr "Κανόνες ICU" -#: describe.c:964 +#: describe.c:973 msgid "Tablespace" msgstr "Tablespace" -#: describe.c:990 +#: describe.c:999 msgid "List of databases" msgstr "Λίστα βάσεων δεδομένων" -#: describe.c:1031 describe.c:1184 describe.c:3882 +#: describe.c:1040 describe.c:1191 describe.c:3949 msgid "table" msgstr "πίνακας" -#: describe.c:1032 describe.c:3883 +#: describe.c:1041 describe.c:3950 msgid "view" msgstr "όψη" -#: describe.c:1033 describe.c:3884 +#: describe.c:1042 describe.c:3951 msgid "materialized view" msgstr "υλοποιημένη όψη" -#: describe.c:1034 describe.c:1186 describe.c:3886 +#: describe.c:1043 describe.c:1193 describe.c:3953 msgid "sequence" msgstr "ακολουθία" -#: describe.c:1035 describe.c:3888 +#: describe.c:1044 describe.c:3955 msgid "foreign table" msgstr "ξένος πίνακας" -#: describe.c:1036 describe.c:3889 describe.c:4101 +#: describe.c:1045 describe.c:3956 describe.c:4168 msgid "partitioned table" msgstr "κατατμημένος πίνακας" -#: describe.c:1047 +#: describe.c:1056 msgid "Column privileges" msgstr "Προνόμια στήλης" -#: describe.c:1078 describe.c:1112 +#: describe.c:1087 describe.c:1121 msgid "Policies" msgstr "Πολιτικές" -#: describe.c:1143 describe.c:4510 describe.c:6577 +#: describe.c:1150 describe.c:4577 describe.c:6678 msgid "Access privileges" msgstr "Προνόμια πρόσβασης" -#: describe.c:1188 +#: describe.c:1195 msgid "function" msgstr "συνάρτηση" -#: describe.c:1190 +#: describe.c:1197 msgid "type" msgstr "τύπος" -#: describe.c:1192 +#: describe.c:1199 msgid "schema" msgstr "σχήμα" -#: describe.c:1215 +#: describe.c:1222 msgid "Default access privileges" msgstr "Προεπιλεγμένες επιλογές δικαιωμάτων" -#: describe.c:1259 +#: describe.c:1266 msgid "Object" msgstr "Ατνικείμενο" -#: describe.c:1273 +#: describe.c:1280 msgid "table constraint" msgstr "περιορισμός πίνακα" -#: describe.c:1297 +#: describe.c:1304 msgid "domain constraint" msgstr "περιορισμός πεδίου" -#: describe.c:1321 +#: describe.c:1328 msgid "operator class" msgstr "κλάση χειριστή" -#: describe.c:1345 +#: describe.c:1352 msgid "operator family" msgstr "οικογένεια χειριστή" -#: describe.c:1368 +#: describe.c:1375 msgid "rule" msgstr "περιγραφή" -#: describe.c:1414 +#: describe.c:1421 msgid "Object descriptions" msgstr "Περιγραφές αντικειμένου" -#: describe.c:1479 describe.c:4007 +#: describe.c:1486 describe.c:4074 #, c-format msgid "Did not find any relation named \"%s\"." msgstr "Δεν βρέθηκε καμία σχέση με όνομα «%s»." -#: describe.c:1482 describe.c:4010 +#: describe.c:1489 describe.c:4077 #, c-format msgid "Did not find any relations." msgstr "Δεν βρέθηκαν καθόλου σχέσεις." -#: describe.c:1678 +#: describe.c:1685 #, c-format msgid "Did not find any relation with OID %s." msgstr "Δεν βρέθηκαν καθόλου σχέσεις με OID %s." -#: describe.c:1726 describe.c:1750 +#: describe.c:1733 describe.c:1757 msgid "Start" msgstr "Εκκίνηση" -#: describe.c:1727 describe.c:1751 +#: describe.c:1734 describe.c:1758 msgid "Minimum" msgstr "Ελάχιστο" -#: describe.c:1728 describe.c:1752 +#: describe.c:1735 describe.c:1759 msgid "Maximum" msgstr "Μέγιστο" -#: describe.c:1729 describe.c:1753 +#: describe.c:1736 describe.c:1760 msgid "Increment" msgstr "Επαύξηση" -#: describe.c:1730 describe.c:1754 describe.c:1884 describe.c:4426 -#: describe.c:4771 describe.c:4892 describe.c:4897 describe.c:6620 +#: describe.c:1737 describe.c:1761 describe.c:1890 describe.c:4493 +#: describe.c:4838 describe.c:4971 describe.c:4976 describe.c:6721 msgid "yes" msgstr "ναι" -#: describe.c:1731 describe.c:1755 describe.c:1885 describe.c:4426 -#: describe.c:4768 describe.c:4892 describe.c:6621 +#: describe.c:1738 describe.c:1762 describe.c:1891 describe.c:4493 +#: describe.c:4835 describe.c:4971 describe.c:6722 msgid "no" msgstr "όχι" -#: describe.c:1732 describe.c:1756 +#: describe.c:1739 describe.c:1763 msgid "Cycles?" msgstr "Κύκλοι;" -#: describe.c:1733 describe.c:1757 +#: describe.c:1740 describe.c:1764 msgid "Cache" msgstr "Προσωρινή μνήμη" -#: describe.c:1798 +#: describe.c:1805 #, c-format msgid "Owned by: %s" msgstr "Ανήκει σε: %s" -#: describe.c:1802 +#: describe.c:1809 #, c-format msgid "Sequence for identity column: %s" msgstr "Ακολουθία για τη στήλη ταυτότητας: %s" -#: describe.c:1810 +#: describe.c:1817 #, c-format msgid "Unlogged sequence \"%s.%s\"" msgstr "Ακαταχώρητη ακολουθία «%s.%s»" -#: describe.c:1813 +#: describe.c:1820 #, c-format msgid "Sequence \"%s.%s\"" msgstr "Ακολουθία «%s.%s»" -#: describe.c:1957 +#: describe.c:1963 #, c-format msgid "Unlogged table \"%s.%s\"" msgstr "Ακαταχώρητος πίνακας «%s.%s»" -#: describe.c:1960 +#: describe.c:1966 #, c-format msgid "Table \"%s.%s\"" msgstr "Πίνακας «%s.%s»" -#: describe.c:1964 +#: describe.c:1970 #, c-format msgid "View \"%s.%s\"" msgstr "Όψη «%s.%s»" -#: describe.c:1969 +#: describe.c:1975 #, c-format msgid "Unlogged materialized view \"%s.%s\"" msgstr "Ακαταχώρητη υλοποιημένη όψη «%s.%s»" -#: describe.c:1972 +#: describe.c:1978 #, c-format msgid "Materialized view \"%s.%s\"" msgstr "Υλοποιημένη όψη «%s.%s»" -#: describe.c:1977 +#: describe.c:1983 #, c-format msgid "Unlogged index \"%s.%s\"" msgstr "Ακαταχώρητο ευρετήριο «%s.%s»" -#: describe.c:1980 +#: describe.c:1986 #, c-format msgid "Index \"%s.%s\"" msgstr "Ευρετήριο «%s.%s»" -#: describe.c:1985 +#: describe.c:1991 #, c-format msgid "Unlogged partitioned index \"%s.%s\"" msgstr "Ακαταχώρητο κατατετμημένο ευρετήριο «%s.%s»" -#: describe.c:1988 +#: describe.c:1994 #, c-format msgid "Partitioned index \"%s.%s\"" msgstr "Κατατετμημένο ευρετήριο «%s.%s»" -#: describe.c:1992 +#: describe.c:1998 #, c-format msgid "TOAST table \"%s.%s\"" msgstr "TOAST πίνακας «%s.%s»" -#: describe.c:1996 +#: describe.c:2002 #, c-format msgid "Composite type \"%s.%s\"" msgstr "Συνθετικός τύπος «%s.%s»" -#: describe.c:2000 +#: describe.c:2006 #, c-format msgid "Foreign table \"%s.%s\"" msgstr "Ξενικός πίνακας «%s.%s»" -#: describe.c:2005 +#: describe.c:2011 #, c-format msgid "Unlogged partitioned table \"%s.%s\"" msgstr "Ακαταχώρητος κατατετμημένος πίνακας «%s.%s»" -#: describe.c:2008 +#: describe.c:2014 #, c-format msgid "Partitioned table \"%s.%s\"" msgstr "Κατατετμημένος πίνακας «%s.%s»" -#: describe.c:2024 describe.c:4343 +#: describe.c:2030 describe.c:4410 msgid "Collation" msgstr "Σύνθεση" -#: describe.c:2025 describe.c:4344 +#: describe.c:2031 describe.c:4411 msgid "Nullable" msgstr "Nullable" -#: describe.c:2026 describe.c:4345 +#: describe.c:2032 describe.c:4412 msgid "Default" msgstr "Προκαθορισμένο" -#: describe.c:2029 +#: describe.c:2035 msgid "Key?" msgstr "Κλειδί;" -#: describe.c:2031 describe.c:4665 describe.c:4676 +#: describe.c:2037 describe.c:4732 describe.c:4743 msgid "Definition" msgstr "Ορισμός" -#: describe.c:2033 describe.c:5694 describe.c:5769 describe.c:5835 -#: describe.c:5894 +#: describe.c:2039 describe.c:5773 describe.c:5848 describe.c:5914 +#: describe.c:5973 msgid "FDW options" msgstr "Επιλογές FDW" -#: describe.c:2035 +#: describe.c:2041 msgid "Storage" msgstr "Αποθήκευση" -#: describe.c:2037 +#: describe.c:2043 msgid "Compression" msgstr "Συμπίεση" -#: describe.c:2039 +#: describe.c:2045 msgid "Stats target" msgstr "Στόχος στατιστικών" -#: describe.c:2175 +#: describe.c:2181 #, c-format msgid "Partition of: %s %s%s" msgstr "Κατάτμηση του: %s %s%s" -#: describe.c:2188 +#: describe.c:2194 msgid "No partition constraint" msgstr "Κανένας περιορισμός κατάτμησης" -#: describe.c:2190 +#: describe.c:2196 #, c-format msgid "Partition constraint: %s" msgstr "Περιορισμός κατάτμησης: %s" -#: describe.c:2214 +#: describe.c:2220 #, c-format msgid "Partition key: %s" msgstr "Κλειδί κατάτμησης: %s" -#: describe.c:2240 +#: describe.c:2246 #, c-format msgid "Owning table: \"%s.%s\"" msgstr "Ιδιοκτήτης πίνακα «%s.%s»" -#: describe.c:2309 +#: describe.c:2315 msgid "primary key, " msgstr "κύριο κλειδί, " -#: describe.c:2312 +#: describe.c:2318 msgid "unique" msgstr "μοναδικό" -#: describe.c:2314 +#: describe.c:2320 msgid " nulls not distinct" msgstr " nulls μη διακριτά" -#: describe.c:2315 +#: describe.c:2321 msgid ", " msgstr ", " -#: describe.c:2322 +#: describe.c:2328 #, c-format msgid "for table \"%s.%s\"" msgstr "για πίνακα «%s.%s»" -#: describe.c:2326 +#: describe.c:2332 #, c-format msgid ", predicate (%s)" msgstr ", πρόβλεψη (%s)" -#: describe.c:2329 +#: describe.c:2335 msgid ", clustered" msgstr ", συσταδοποιημένο" -#: describe.c:2332 +#: describe.c:2338 msgid ", invalid" msgstr ", άκυρο" -#: describe.c:2335 +#: describe.c:2341 msgid ", deferrable" msgstr ", αναβαλλόμενο" -#: describe.c:2338 +#: describe.c:2344 msgid ", initially deferred" msgstr ", αρχικά αναβαλλόμενο" -#: describe.c:2341 +#: describe.c:2347 msgid ", replica identity" msgstr ", ταυτότητα πανομοιόματος" -#: describe.c:2395 +#: describe.c:2401 msgid "Indexes:" msgstr "Ευρετήρια:" -#: describe.c:2478 +#: describe.c:2484 msgid "Check constraints:" msgstr "Περιορισμοί ελέγχου:" -#: describe.c:2546 +#: describe.c:2552 msgid "Foreign-key constraints:" msgstr "Περιορισμοί ξενικών κλειδιών:" -#: describe.c:2609 +#: describe.c:2615 msgid "Referenced by:" msgstr "Αναφέρεται από:" -#: describe.c:2659 +#: describe.c:2665 msgid "Policies:" msgstr "Πολιτικές:" -#: describe.c:2662 +#: describe.c:2668 msgid "Policies (forced row security enabled):" msgstr "Πολιτικές (ενεργοποιημένη επιβολή ασφάλειας γραμμών):" -#: describe.c:2665 +#: describe.c:2671 msgid "Policies (row security enabled): (none)" msgstr "Πολιτικές (ενεργοποιημένη ασφάλεια γραμμών): (καμία)" -#: describe.c:2668 +#: describe.c:2674 msgid "Policies (forced row security enabled): (none)" msgstr "Πολιτικές (ενεργοποιημένη επιβολή ασφάλειας γραμμών): (καμία)" -#: describe.c:2671 +#: describe.c:2677 msgid "Policies (row security disabled):" msgstr "Πολιτικές (απενεργοποιημένη ασφάλεια γραμμών):" -#: describe.c:2731 describe.c:2835 +#: describe.c:2737 describe.c:2841 msgid "Statistics objects:" msgstr "Αντικείμενα στατιστικών:" -#: describe.c:2937 describe.c:3090 +#: describe.c:2943 describe.c:3096 msgid "Rules:" msgstr "Κανόνες:" -#: describe.c:2940 +#: describe.c:2946 msgid "Disabled rules:" msgstr "Απενεργοποιημένοι κανόνες:" -#: describe.c:2943 +#: describe.c:2949 msgid "Rules firing always:" msgstr "Κανόνες πάντα σε χρήση:" -#: describe.c:2946 +#: describe.c:2952 msgid "Rules firing on replica only:" msgstr "Κανόνες σε χρήση μόνο στο ομοίωμα:" -#: describe.c:3025 describe.c:5030 +#: describe.c:3031 describe.c:5109 msgid "Publications:" msgstr "Δημοσιεύσεις:" -#: describe.c:3073 +#: describe.c:3079 msgid "View definition:" msgstr "Ορισμός όψης:" -#: describe.c:3236 +#: describe.c:3242 msgid "Triggers:" msgstr "Triggers:" -#: describe.c:3239 +#: describe.c:3245 msgid "Disabled user triggers:" msgstr "Απενεργοποιημένες triggers χρήστη:" -#: describe.c:3242 +#: describe.c:3248 msgid "Disabled internal triggers:" msgstr "Απενεργοποιημένες εσωτερικές triggers:" -#: describe.c:3245 +#: describe.c:3251 msgid "Triggers firing always:" msgstr "Triggers πάντα σε χρήση:" -#: describe.c:3248 +#: describe.c:3254 msgid "Triggers firing on replica only:" msgstr "Triggers σε χρήση μόνο στο ομοίωμα:" -#: describe.c:3319 +#: describe.c:3325 #, c-format msgid "Server: %s" msgstr "Διακομιστής: %s" -#: describe.c:3327 +#: describe.c:3333 #, c-format msgid "FDW options: (%s)" msgstr "FDW επιλογές: (%s)" -#: describe.c:3348 +#: describe.c:3354 msgid "Inherits" msgstr "Κληρονομεί" -#: describe.c:3413 +#: describe.c:3419 #, c-format msgid "Number of partitions: %d" msgstr "Αριθμός κατατμήσεων: %d" -#: describe.c:3422 +#: describe.c:3428 #, c-format msgid "Number of partitions: %d (Use \\d+ to list them.)" msgstr "Αριθμός κατατμήσεων: %d (Χρησιμοποιείστε \\d+ για να τους απαριθμήσετε.)" -#: describe.c:3424 +#: describe.c:3430 #, c-format msgid "Number of child tables: %d (Use \\d+ to list them.)" msgstr "Αριθμός απογονικών πινάκων: %d (Χρησιμοποιείστε \\d+ για να τους απαριθμήσετε.)" -#: describe.c:3431 +#: describe.c:3437 msgid "Child tables" msgstr "Απογονικοί πίνακες" -#: describe.c:3431 +#: describe.c:3437 msgid "Partitions" msgstr "Κατατμήσεις" -#: describe.c:3462 +#: describe.c:3470 #, c-format msgid "Typed table of type: %s" msgstr "Τυποποιημένος πίνακας τύπου: %s" -#: describe.c:3478 +#: describe.c:3486 msgid "Replica Identity" msgstr "Ταυτότητα Ομοιόματος" -#: describe.c:3491 +#: describe.c:3499 msgid "Has OIDs: yes" msgstr "Έχει OIDs: ναι" -#: describe.c:3500 +#: describe.c:3508 #, c-format msgid "Access method: %s" msgstr "Μέθοδος πρόσβασης: %s" -#: describe.c:3579 +#: describe.c:3585 #, c-format msgid "Tablespace: \"%s\"" msgstr "Χώρος πινάκα: «%s»" #. translator: before this string there's an index description like #. '"foo_pkey" PRIMARY KEY, btree (a)' -#: describe.c:3591 +#: describe.c:3597 #, c-format msgid ", tablespace \"%s\"" msgstr ", χώρος πίνακα «%s»" -#: describe.c:3668 +#: describe.c:3670 msgid "List of roles" msgstr "Λίστα ρόλων" -#: describe.c:3670 +#: describe.c:3672 describe.c:3841 msgid "Role name" msgstr "Όνομα ρόλου" -#: describe.c:3671 +#: describe.c:3673 msgid "Attributes" msgstr "Χαρακτηριστικά" -#: describe.c:3673 -msgid "Member of" -msgstr "Μέλος του" - #: describe.c:3684 msgid "Superuser" msgstr "Υπερχρήστης" @@ -1775,383 +1801,395 @@ msgstr[1] "%d συνδέσεις" msgid "Password valid until " msgstr "Κωδικός πρόσβασης ενεργός μέχρι " -#: describe.c:3777 +#: describe.c:3775 msgid "Role" msgstr "Ρόλος" -#: describe.c:3778 +#: describe.c:3776 msgid "Database" msgstr "Βάση δεδομένων" -#: describe.c:3779 +#: describe.c:3777 msgid "Settings" msgstr "Ρυθμίσεις" -#: describe.c:3803 +#: describe.c:3801 #, c-format msgid "Did not find any settings for role \"%s\" and database \"%s\"." msgstr "Δεν βρέθηκαν ρυθμίσεις για το ρόλο «%s» και τη βάση δεδομένων «%s»." -#: describe.c:3806 +#: describe.c:3804 #, c-format msgid "Did not find any settings for role \"%s\"." msgstr "Δεν βρέθηκαν ρυθμίσεις για το ρόλο «%s»." -#: describe.c:3809 +#: describe.c:3807 #, c-format msgid "Did not find any settings." msgstr "Δεν βρέθηκαν ρυθμίσεις." -#: describe.c:3814 +#: describe.c:3812 msgid "List of settings" msgstr "Λίστα ρυθμίσεων" -#: describe.c:3885 +#: describe.c:3842 +msgid "Member of" +msgstr "Μέλος του" + +#: describe.c:3859 +msgid "Grantor" +msgstr "Χορηγός" + +#: describe.c:3886 +msgid "List of role grants" +msgstr "Λίστα χορηγιών ρόλων" + +#: describe.c:3952 msgid "index" msgstr "ευρετήριο" -#: describe.c:3887 +#: describe.c:3954 msgid "TOAST table" msgstr "TOAST πίνακας" -#: describe.c:3890 describe.c:4102 +#: describe.c:3957 describe.c:4169 msgid "partitioned index" msgstr "κατατετμημένο ευρετήριο" -#: describe.c:3910 +#: describe.c:3977 msgid "permanent" msgstr "μόνιμο" -#: describe.c:3911 +#: describe.c:3978 msgid "temporary" msgstr "προσωρινό" -#: describe.c:3912 +#: describe.c:3979 msgid "unlogged" msgstr "ακαταχώρητο" -#: describe.c:3913 +#: describe.c:3980 msgid "Persistence" msgstr "Διάρκεια" -#: describe.c:3929 +#: describe.c:3996 msgid "Access method" msgstr "Μέθοδος πρόσβασης" -#: describe.c:4015 +#: describe.c:4082 msgid "List of relations" msgstr "Λίστα σχέσεων" -#: describe.c:4063 +#: describe.c:4130 #, c-format msgid "The server (version %s) does not support declarative table partitioning." msgstr "Ο διακομιστής (έκδοση %s) δεν υποστηρίζει την δηλωτική δημιουργία κατατμήσεων πίνακα." -#: describe.c:4074 +#: describe.c:4141 msgid "List of partitioned indexes" msgstr "Λίστα κατατμημένων ευρετηρίων" -#: describe.c:4076 +#: describe.c:4143 msgid "List of partitioned tables" msgstr "Λίστα κατατμημένων πινάκων" -#: describe.c:4080 +#: describe.c:4147 msgid "List of partitioned relations" msgstr "Λίστα κατατμημένων σχέσεων" -#: describe.c:4111 +#: describe.c:4178 msgid "Parent name" msgstr "Γονικό όνομα" -#: describe.c:4124 +#: describe.c:4191 msgid "Leaf partition size" msgstr "Μέγεθος φύλλου κατάτμησης" -#: describe.c:4127 describe.c:4133 +#: describe.c:4194 describe.c:4200 msgid "Total size" msgstr "Συνολικό μέγεθος" -#: describe.c:4258 +#: describe.c:4325 msgid "Trusted" msgstr "Εμπιστευόμενο" -#: describe.c:4267 +#: describe.c:4334 msgid "Internal language" msgstr "Εσωτερική γλώσσα" -#: describe.c:4268 +#: describe.c:4335 msgid "Call handler" msgstr "Πρόγραμμα χειρισμού κλήσεων" -#: describe.c:4269 describe.c:5680 +#: describe.c:4336 describe.c:5759 msgid "Validator" msgstr "Ελεκτής" -#: describe.c:4270 +#: describe.c:4337 msgid "Inline handler" msgstr "Ενσωματωμένος χειριστής" -#: describe.c:4305 +#: describe.c:4372 msgid "List of languages" msgstr "Λίστα γλωσσών" -#: describe.c:4346 +#: describe.c:4413 msgid "Check" msgstr "Έλεγχος" -#: describe.c:4390 +#: describe.c:4457 msgid "List of domains" msgstr "Λίστα πεδίων" -#: describe.c:4424 +#: describe.c:4491 msgid "Source" msgstr "Πηγή" -#: describe.c:4425 +#: describe.c:4492 msgid "Destination" msgstr "Προορισμός" -#: describe.c:4427 describe.c:6622 +#: describe.c:4494 describe.c:6723 msgid "Default?" msgstr "Προεπιλογή;" -#: describe.c:4469 +#: describe.c:4536 msgid "List of conversions" msgstr "Λίστα μετατροπών" -#: describe.c:4497 +#: describe.c:4564 msgid "Parameter" msgstr "Παράμετρος" -#: describe.c:4498 +#: describe.c:4565 msgid "Value" msgstr "Τιμή" -#: describe.c:4505 +#: describe.c:4572 msgid "Context" msgstr "Περιεχόμενο" -#: describe.c:4538 +#: describe.c:4605 msgid "List of configuration parameters" msgstr "Λίστα ρυθμίσεων παραμέτρων" -#: describe.c:4540 +#: describe.c:4607 msgid "List of non-default configuration parameters" msgstr "Λίστα μη προεπιλεγμένων ρυθμίσεων παραμέτρων" -#: describe.c:4567 +#: describe.c:4634 #, c-format msgid "The server (version %s) does not support event triggers." msgstr "Ο διακομιστής (έκδοση %s) δεν υποστηρίζει εναύσματα συμβάντων." -#: describe.c:4587 +#: describe.c:4654 msgid "Event" msgstr "Συμβάν" -#: describe.c:4589 +#: describe.c:4656 msgid "enabled" msgstr "ενεγροποιημένο" -#: describe.c:4590 +#: describe.c:4657 msgid "replica" msgstr "ομοίωμα" -#: describe.c:4591 +#: describe.c:4658 msgid "always" msgstr "πάντα" -#: describe.c:4592 +#: describe.c:4659 msgid "disabled" msgstr "απενεργοποιημένο" -#: describe.c:4593 describe.c:6496 +#: describe.c:4660 describe.c:6575 msgid "Enabled" msgstr "Ενεργοποιημένο" -#: describe.c:4595 +#: describe.c:4662 msgid "Tags" msgstr "Ετικέτες" -#: describe.c:4619 +#: describe.c:4686 msgid "List of event triggers" msgstr "Λίστα ενεργοποιήσεων συμβάντων" -#: describe.c:4646 +#: describe.c:4713 #, c-format msgid "The server (version %s) does not support extended statistics." msgstr "Ο διακομιστής (έκδοση %s) δεν υποστηρίζει εκτεταμένες στατιστικές." -#: describe.c:4683 +#: describe.c:4750 msgid "Ndistinct" msgstr "Ndistinct" -#: describe.c:4684 +#: describe.c:4751 msgid "Dependencies" msgstr "Dependencies" -#: describe.c:4694 +#: describe.c:4761 msgid "MCV" msgstr "MCV" -#: describe.c:4718 +#: describe.c:4785 msgid "List of extended statistics" msgstr "Λίστα εκτεταμένων στατιστικών" -#: describe.c:4745 +#: describe.c:4812 msgid "Source type" msgstr "Τύπος πηγής" -#: describe.c:4746 +#: describe.c:4813 msgid "Target type" msgstr "Τύπος προοριστμού" -#: describe.c:4770 +#: describe.c:4837 msgid "in assignment" msgstr "σε ανάθεση" -#: describe.c:4772 +#: describe.c:4839 msgid "Implicit?" msgstr "Έμμεσα;" -#: describe.c:4831 +#: describe.c:4898 msgid "List of casts" msgstr "Λίστα casts" -#: describe.c:4883 describe.c:4887 +#: describe.c:4938 describe.c:4942 msgid "Provider" msgstr "Πάροχος" -#: describe.c:4893 describe.c:4898 +#: describe.c:4972 describe.c:4977 msgid "Deterministic?" msgstr "Ντετερμινιστικό;" -#: describe.c:4938 +#: describe.c:5017 msgid "List of collations" msgstr "Λίστα συρραφών" -#: describe.c:5000 +#: describe.c:5079 msgid "List of schemas" msgstr "Λίστα σχημάτων" -#: describe.c:5117 +#: describe.c:5196 msgid "List of text search parsers" msgstr "Λίστα αναλυτών αναζήτησης κειμένου" -#: describe.c:5167 +#: describe.c:5246 #, c-format msgid "Did not find any text search parser named \"%s\"." msgstr "Δεν βρήκε ανάλυση αναζήτησης κειμένου με το όνομα «%s»." -#: describe.c:5170 +#: describe.c:5249 #, c-format msgid "Did not find any text search parsers." msgstr "Δεν βρήκε ανάλυση αναζήτησης κειμένου." -#: describe.c:5245 +#: describe.c:5324 msgid "Start parse" msgstr "Εκκίνηση ανάλυσης" -#: describe.c:5246 +#: describe.c:5325 msgid "Method" msgstr "Μέθοδος" -#: describe.c:5250 +#: describe.c:5329 msgid "Get next token" msgstr "Λήψη επόμενου ενδεικτικού" -#: describe.c:5252 +#: describe.c:5331 msgid "End parse" msgstr "Τέλος ανάλυσης" -#: describe.c:5254 +#: describe.c:5333 msgid "Get headline" msgstr "Λήψη επικεφαλίδας" -#: describe.c:5256 +#: describe.c:5335 msgid "Get token types" msgstr "Λήψη τύπων ενδεικτικών" -#: describe.c:5267 +#: describe.c:5346 #, c-format msgid "Text search parser \"%s.%s\"" msgstr "Αναλυτής αναζήτης κειμένου «%s.%s»" -#: describe.c:5270 +#: describe.c:5349 #, c-format msgid "Text search parser \"%s\"" msgstr "Αναλυτής αναζήτης κειμένου «%s»" -#: describe.c:5289 +#: describe.c:5368 msgid "Token name" msgstr "Ονομασία ενδεικτικού" -#: describe.c:5303 +#: describe.c:5382 #, c-format msgid "Token types for parser \"%s.%s\"" msgstr "Τύποι ενδεικτικών αναλυτή «%s.%s»" -#: describe.c:5306 +#: describe.c:5385 #, c-format msgid "Token types for parser \"%s\"" msgstr "Τύποι ενδεικτικών αναλυτή «%s»" -#: describe.c:5350 +#: describe.c:5429 msgid "Template" msgstr "Πρότυπο" -#: describe.c:5351 +#: describe.c:5430 msgid "Init options" msgstr "Επιλογές εκκίνησης" -#: describe.c:5378 +#: describe.c:5457 msgid "List of text search dictionaries" msgstr "Λίστα λεξικών αναζήτησης κειμένου" -#: describe.c:5411 +#: describe.c:5490 msgid "Init" msgstr "Εκκίνηση" -#: describe.c:5412 +#: describe.c:5491 msgid "Lexize" msgstr "Lexize" -#: describe.c:5444 +#: describe.c:5523 msgid "List of text search templates" msgstr "Λίστα προτύπων αναζήτησης κειμένου" -#: describe.c:5499 +#: describe.c:5578 msgid "List of text search configurations" msgstr "Λίστα ρυθμίσεων αναζήτησης κειμένου" -#: describe.c:5550 +#: describe.c:5629 #, c-format msgid "Did not find any text search configuration named \"%s\"." msgstr "Δεν βρέθηκαν ρυθμίσεις αναζήτησης κειμένου με όνομα «%s»." -#: describe.c:5553 +#: describe.c:5632 #, c-format msgid "Did not find any text search configurations." msgstr "Δεν βρέθηκαν ρυθμίσεις αναζήτησης κειμένου." -#: describe.c:5619 +#: describe.c:5698 msgid "Token" msgstr "Ενδεικτικό" -#: describe.c:5620 +#: describe.c:5699 msgid "Dictionaries" msgstr "Λεξικά" -#: describe.c:5631 +#: describe.c:5710 #, c-format msgid "Text search configuration \"%s.%s\"" msgstr "Ρύθμιση αναζήτησης κειμένου «%s.%s»" -#: describe.c:5634 +#: describe.c:5713 #, c-format msgid "Text search configuration \"%s\"" msgstr "Ρύθμιση αναζήτησης κειμένου «%s»" -#: describe.c:5638 +#: describe.c:5717 #, c-format msgid "" "\n" @@ -2160,7 +2198,7 @@ msgstr "" "\n" "Αναλυτής: «%s.%s»" -#: describe.c:5641 +#: describe.c:5720 #, c-format msgid "" "\n" @@ -2169,249 +2207,261 @@ msgstr "" "\n" "Αναλυτής: «%s»" -#: describe.c:5722 +#: describe.c:5801 msgid "List of foreign-data wrappers" msgstr "Λίστα περιτύλιξης ξένων δεδομένων" -#: describe.c:5750 +#: describe.c:5829 msgid "Foreign-data wrapper" msgstr "Περιτύλιξη ξένων δεδομένων" -#: describe.c:5768 describe.c:5958 +#: describe.c:5847 describe.c:6037 msgid "Version" msgstr "Έκδοση" -#: describe.c:5799 +#: describe.c:5878 msgid "List of foreign servers" msgstr "Λίστα ξενικών διακομιστών" -#: describe.c:5824 describe.c:5883 +#: describe.c:5903 describe.c:5962 msgid "Server" msgstr "Διακομιστής" -#: describe.c:5825 +#: describe.c:5904 msgid "User name" msgstr "Όνομα χρήστη" -#: describe.c:5855 +#: describe.c:5934 msgid "List of user mappings" msgstr "Λίστα αντιστοιχιών χρηστών" -#: describe.c:5928 +#: describe.c:6007 msgid "List of foreign tables" msgstr "Λίστα ξενικών πινάκων" -#: describe.c:5980 +#: describe.c:6059 msgid "List of installed extensions" msgstr "Λίστα εγκατεστημένων επεκτάσεων" -#: describe.c:6028 +#: describe.c:6107 #, c-format msgid "Did not find any extension named \"%s\"." msgstr "Δεν βρέθηκε καμία επέκταση με το όνομα «%s»." -#: describe.c:6031 +#: describe.c:6110 #, c-format msgid "Did not find any extensions." msgstr "Δεν βρέθηκαν επεκτάσεις." -#: describe.c:6075 +#: describe.c:6154 msgid "Object description" msgstr "Περιγραφή αντικειμένου" -#: describe.c:6085 +#: describe.c:6164 #, c-format msgid "Objects in extension \"%s\"" msgstr "Αντικείμενα στην επέκταση «%s»" -#: describe.c:6126 +#: describe.c:6205 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "ακατάλληλο αναγνωρισμένο όνομα (πάρα πολλά διάστικτα ονόματα): %s" -#: describe.c:6140 +#: describe.c:6219 #, c-format msgid "cross-database references are not implemented: %s" msgstr "οι παραπομπές μεταξύ βάσεων δεδομένων δεν είναι υλοποιημένες: %s" -#: describe.c:6171 describe.c:6298 +#: describe.c:6250 describe.c:6377 #, c-format msgid "The server (version %s) does not support publications." msgstr "Ο διακομιστής (έκδοση %s) δεν υποστηρίζει δημοσιεύσεις." -#: describe.c:6188 describe.c:6376 +#: describe.c:6267 describe.c:6455 msgid "All tables" msgstr "Όλοι οι πίνακες" -#: describe.c:6189 describe.c:6377 +#: describe.c:6268 describe.c:6456 msgid "Inserts" msgstr "Εισαγωγές" -#: describe.c:6190 describe.c:6378 +#: describe.c:6269 describe.c:6457 msgid "Updates" msgstr "Ενημερώσεις" -#: describe.c:6191 describe.c:6379 +#: describe.c:6270 describe.c:6458 msgid "Deletes" msgstr "Διαγραφές" -#: describe.c:6195 describe.c:6381 +#: describe.c:6274 describe.c:6460 msgid "Truncates" msgstr "Περικοπές" -#: describe.c:6199 describe.c:6383 +#: describe.c:6278 describe.c:6462 msgid "Via root" msgstr "Διαμέσου υπερχρήστη" -#: describe.c:6221 +#: describe.c:6300 msgid "List of publications" msgstr "Λίστα δημοσιεύσεων" -#: describe.c:6345 +#: describe.c:6424 #, c-format msgid "Did not find any publication named \"%s\"." msgstr "Δεν βρέθηκε καμία δημοσίευση με όνομα «%s»." -#: describe.c:6348 +#: describe.c:6427 #, c-format msgid "Did not find any publications." msgstr "Δεν βρέθηκε καμία δημοσίευση." -#: describe.c:6372 +#: describe.c:6451 #, c-format msgid "Publication %s" msgstr "Δημοσίευση %s" -#: describe.c:6425 +#: describe.c:6504 msgid "Tables:" msgstr "Πίνακες:" -#: describe.c:6437 +#: describe.c:6516 msgid "Tables from schemas:" msgstr "Πίνακες από σχήματα:" -#: describe.c:6481 +#: describe.c:6560 #, c-format msgid "The server (version %s) does not support subscriptions." msgstr "Ο διακομιστής (έκδοση %s) δεν υποστηρίζει συνδρομές." -#: describe.c:6497 +#: describe.c:6576 msgid "Publication" msgstr "Δημοσίευση" -#: describe.c:6506 +#: describe.c:6585 msgid "Binary" msgstr "Δυαδικό" -#: describe.c:6507 +#: describe.c:6594 describe.c:6598 msgid "Streaming" msgstr "Ροής" -#: describe.c:6514 +#: describe.c:6606 msgid "Two-phase commit" msgstr "Συναλλαγή δύο φάσεων" -#: describe.c:6515 +#: describe.c:6607 msgid "Disable on error" msgstr "Απενεργοποίηση μετά από σφάλμα" -#: describe.c:6520 +#: describe.c:6614 +msgid "Origin" +msgstr "Πηγή" + +#: describe.c:6615 +msgid "Password required" +msgstr "Απαιτείται κωδικός πρόσβασης" + +#: describe.c:6616 +msgid "Run as owner?" +msgstr "Τρέξτε ως ιδιοκτήτης;" + +#: describe.c:6621 msgid "Synchronous commit" msgstr "Σύγχρονη δέσμευση" -#: describe.c:6521 +#: describe.c:6622 msgid "Conninfo" msgstr "Conninfo" -#: describe.c:6527 +#: describe.c:6628 msgid "Skip LSN" msgstr "Παράλειψη LSN" -#: describe.c:6554 +#: describe.c:6655 msgid "List of subscriptions" msgstr "Λίστα συνδρομών" -#: describe.c:6616 describe.c:6712 describe.c:6805 describe.c:6900 +#: describe.c:6717 describe.c:6813 describe.c:6906 describe.c:7001 msgid "AM" msgstr "ΑΜ" -#: describe.c:6617 +#: describe.c:6718 msgid "Input type" msgstr "Τύπος εισόδου" -#: describe.c:6618 +#: describe.c:6719 msgid "Storage type" msgstr "Τύπος αποθήκευσης" -#: describe.c:6619 +#: describe.c:6720 msgid "Operator class" msgstr "Κλάση χειριστή" -#: describe.c:6631 describe.c:6713 describe.c:6806 describe.c:6901 +#: describe.c:6732 describe.c:6814 describe.c:6907 describe.c:7002 msgid "Operator family" msgstr "Οικογένεια χειριστή" -#: describe.c:6667 +#: describe.c:6768 msgid "List of operator classes" msgstr "Λίστα οικογένειας κλάσεων" -#: describe.c:6714 +#: describe.c:6815 msgid "Applicable types" msgstr "Εφαρμόσιμοι τύποι" -#: describe.c:6756 +#: describe.c:6857 msgid "List of operator families" msgstr "Λίστα οικογενειών χειριστών" -#: describe.c:6807 +#: describe.c:6908 msgid "Operator" msgstr "Χειριστής" -#: describe.c:6808 +#: describe.c:6909 msgid "Strategy" msgstr "Στρατηγική" -#: describe.c:6809 +#: describe.c:6910 msgid "ordering" msgstr "διάταξη" -#: describe.c:6810 +#: describe.c:6911 msgid "search" msgstr "αναζήτηση" -#: describe.c:6811 +#: describe.c:6912 msgid "Purpose" msgstr "Στόχος" -#: describe.c:6816 +#: describe.c:6917 msgid "Sort opfamily" msgstr "Διάταξη opfamily" -#: describe.c:6855 +#: describe.c:6956 msgid "List of operators of operator families" msgstr "Λίστα χειριστών των οικογενειών χειριστών" -#: describe.c:6902 +#: describe.c:7003 msgid "Registered left type" msgstr "Καταχωρημένος αριστερός τύπος" -#: describe.c:6903 +#: describe.c:7004 msgid "Registered right type" msgstr "Καταχωρημένος δεξιός τύπος" -#: describe.c:6904 +#: describe.c:7005 msgid "Number" msgstr "Αριθμός" -#: describe.c:6948 +#: describe.c:7049 msgid "List of support functions of operator families" msgstr "Λίστα συναρτήσεων υποστήριξης των οικογενειών χειριστών" -#: describe.c:6979 +#: describe.c:7080 msgid "ID" msgstr "ID" -#: describe.c:7000 +#: describe.c:7101 msgid "Large objects" msgstr "Μεγάλα αντικείμενα" @@ -2423,7 +2473,7 @@ msgstr "" "psql είναι το διαδραστικό τερματικό της PostgreSQL.\n" "\n" -#: help.c:76 help.c:393 help.c:473 help.c:516 +#: help.c:76 help.c:395 help.c:479 help.c:522 msgid "Usage:\n" msgstr "Χρήση:\n" @@ -2674,18 +2724,22 @@ msgid "General\n" msgstr "Γενικά\n" #: help.c:192 +msgid " \\bind [PARAM]... set query parameters\n" +msgstr " \\bind [PARAM]... όρισε τις παραμέτρους του ερωτήματος\n" + +#: help.c:193 msgid " \\copyright show PostgreSQL usage and distribution terms\n" msgstr " \\copyright εμφάνισε τους όρους χρήσης και διανομής της PostgreSQL\n" -#: help.c:193 +#: help.c:194 msgid " \\crosstabview [COLUMNS] execute query and display result in crosstab\n" msgstr " \\crosstabview [COLUMNS] εκτέλεσε το ερώτημα και εμφάνισε τo αποτελέσμα σε όψη crosstab\n" -#: help.c:194 +#: help.c:195 msgid " \\errverbose show most recent error message at maximum verbosity\n" msgstr " \\errverbose εμφάνισε το πιο πρόσφατο μήνυμα σφάλματος στη μέγιστη λεπτομέρεια\n" -#: help.c:195 +#: help.c:196 msgid "" " \\g [(OPTIONS)] [FILE] execute query (and send result to file or |pipe);\n" " \\g with no arguments is equivalent to a semicolon\n" @@ -2693,364 +2747,368 @@ msgstr "" " \\g [(OPTIONS)] [FILE] εκτέλεσε το ερώτημα (και στείλε το αποτελέσματα σε αρχείο ή |pipe).\n" " \\g χωρίς ορίσματα ισοδυναμεί με το ερωματικό\n" -#: help.c:197 +#: help.c:198 msgid " \\gdesc describe result of query, without executing it\n" msgstr " \\gdesc περίγραψε το αποτέλεσμα του ερωτήματος, χωρίς να εκτελεστεί\n" -#: help.c:198 +#: help.c:199 msgid " \\gexec execute query, then execute each value in its result\n" msgstr " \\gexec εκτέλεσε το ερώτημα και, στη συνέχεια, εκτέλεσε κάθε τιμή του αποτελέσματός της\n" -#: help.c:199 +#: help.c:200 msgid " \\gset [PREFIX] execute query and store result in psql variables\n" msgstr " \\gset [PREFIX] εκτέλεσε το ερώτημα και αποθήκευσε το αποτελέσμα σε psql μεταβλητές\n" -#: help.c:200 +#: help.c:201 msgid " \\gx [(OPTIONS)] [FILE] as \\g, but forces expanded output mode\n" msgstr " \\gx [(OPTIONS)] [FILE] όμοια με \\g, αλλά επιβάλλει λειτουργία εκτεταμένης εξόδου\n" -#: help.c:201 +#: help.c:202 msgid " \\q quit psql\n" msgstr " \\q τερμάτισε psql\n" -#: help.c:202 -msgid " \\watch [SEC] execute query every SEC seconds\n" -msgstr " \\watch [SEC] εκτέλεση του ερωτήματος κάθε SEC δευτερόλεπτα\n" +#: help.c:203 +msgid " \\watch [[i=]SEC] [c=N] execute query every SEC seconds, up to N times\n" +msgstr " \\watch [[i=]SEC] [c=N] εκτέλεση ερωτήματος κάθε SEC δευτερόλεπτα, έως και N φορές\n" -#: help.c:203 help.c:211 help.c:223 help.c:233 help.c:240 help.c:296 help.c:304 -#: help.c:324 help.c:337 help.c:346 +#: help.c:204 help.c:212 help.c:224 help.c:234 help.c:241 help.c:298 help.c:306 +#: help.c:326 help.c:339 help.c:348 msgid "\n" msgstr "\n" -#: help.c:205 +#: help.c:206 msgid "Help\n" msgstr "Βοήθεια\n" -#: help.c:207 +#: help.c:208 msgid " \\? [commands] show help on backslash commands\n" msgstr " \\? [commands] εμφάνισε την βοήθεια για τις εντολές ανάποδης καθέτου\n" -#: help.c:208 +#: help.c:209 msgid " \\? options show help on psql command-line options\n" msgstr " \\? options εμφάνισε την βοήθεια για τις επιλογές εντολών γραμμής της psql\n" -#: help.c:209 +#: help.c:210 msgid " \\? variables show help on special variables\n" msgstr " \\? variables εμφάνισε την βοήθεια για τις ειδικές μεταβλητές\n" -#: help.c:210 +#: help.c:211 msgid " \\h [NAME] help on syntax of SQL commands, * for all commands\n" msgstr " \\h [NAME] βοήθεια για την σύνταξη των εντολών SQL, * για όλες τις εντολών\n" -#: help.c:213 +#: help.c:214 msgid "Query Buffer\n" msgstr "Ενδιάμεση μνήμη Ερωτήματος\n" -#: help.c:214 +#: help.c:215 msgid " \\e [FILE] [LINE] edit the query buffer (or file) with external editor\n" msgstr " \\e [FILE] [LINE] επεξεργάσου την ενδιάμεση μνήμη (ή αρχείο) ερωτήματος με εξωτερικό επεξεργαστή κειμένου\n" -#: help.c:215 +#: help.c:216 msgid " \\ef [FUNCNAME [LINE]] edit function definition with external editor\n" msgstr " \\ef [FUNCNAME [LINE]] επεξεργάσου τον ορισμό της συνάρτησης με εξωτερικό επεξεργαστή κειμένου\n" -#: help.c:216 +#: help.c:217 msgid " \\ev [VIEWNAME [LINE]] edit view definition with external editor\n" msgstr " \\ef [FUNCNAME [LINE]] επεξεργάσου τον ορισμό της όψης με εξωτερικό επεξεργαστή κειμένου\n" -#: help.c:217 +#: help.c:218 msgid " \\p show the contents of the query buffer\n" msgstr " \\p εμφάνισε τα περιοχόμενα της ενδιάμεσης μνήμης ερωτήματος\n" -#: help.c:218 +#: help.c:219 msgid " \\r reset (clear) the query buffer\n" msgstr " \\r επαναφορά (αρχικοποίηση) της ενδιάμεσης μνήμης ερωτήματος\n" -#: help.c:220 +#: help.c:221 msgid " \\s [FILE] display history or save it to file\n" msgstr " \\s [FILE] εμφάνισε το ιστορικό η αποθήκευσε το σε αρχείο\n" -#: help.c:222 +#: help.c:223 msgid " \\w FILE write query buffer to file\n" msgstr " \\w FILE γράψε την ενδιάμεση μνήμη ερωτήματος σε αρχείο\n" -#: help.c:225 +#: help.c:226 msgid "Input/Output\n" msgstr "Είσοδος/Έξοδος\n" -#: help.c:226 +#: help.c:227 msgid " \\copy ... perform SQL COPY with data stream to the client host\n" msgstr " \\copy ... εκτέλεσε SQL COPY με ροή δεδομένων σε διακομιστή πελάτη\n" -#: help.c:227 +#: help.c:228 msgid " \\echo [-n] [STRING] write string to standard output (-n for no newline)\n" msgstr " \\echo [-n] [STRING] γράψε την στοιχειοσειρά στην τυπική έξοδο (-n για παράληψη νέας γραμμής)\n" -#: help.c:228 +#: help.c:229 msgid " \\i FILE execute commands from file\n" msgstr " \\i FILE εκτέλεσε εντολές από αρχείο\n" -#: help.c:229 +#: help.c:230 msgid " \\ir FILE as \\i, but relative to location of current script\n" msgstr " \\ir FILE όπως \\i, αλλά σε σχέση με την τοποθεσία του τρέχοντος σεναρίου\n" -#: help.c:230 +#: help.c:231 msgid " \\o [FILE] send all query results to file or |pipe\n" msgstr " \\o [FILE] στείλε όλα τα αποτελέσματα ερωτημάτων σε αρχείο ή |pipe\n" -#: help.c:231 +#: help.c:232 msgid " \\qecho [-n] [STRING] write string to \\o output stream (-n for no newline)\n" msgstr " \\qecho [-n] [STRING] γράψε την στοιχειοσειρά στην ροή εξόδου \\o (-n για παράληψη νέας γραμμής)\n" -#: help.c:232 +#: help.c:233 msgid " \\warn [-n] [STRING] write string to standard error (-n for no newline)\n" msgstr " \\warn [-n] [STRING] γράψε την στοιχειοσειρά στο τυπικό σφάλμα (-n για παράληψη νέας γραμμής)\n" -#: help.c:235 +#: help.c:236 msgid "Conditional\n" msgstr "Υπό συνθήκη\n" -#: help.c:236 +#: help.c:237 msgid " \\if EXPR begin conditional block\n" msgstr " \\if EXPR έναρξη υπό συνθήκης μπλοκ\n" -#: help.c:237 +#: help.c:238 msgid " \\elif EXPR alternative within current conditional block\n" msgstr " \\elif EXPR εναλλακτική λύση εντός του τρέχοντος μπλοκ υπό όρους\n" -#: help.c:238 +#: help.c:239 msgid " \\else final alternative within current conditional block\n" msgstr " \\else τελική εναλλακτική λύση εντός του τρέχοντος μπλοκ υπό όρους\n" -#: help.c:239 +#: help.c:240 msgid " \\endif end conditional block\n" msgstr " \\endif τερματισμός μπλοκ υπό όρους\n" -#: help.c:242 +#: help.c:243 msgid "Informational\n" msgstr "Πληροφοριακά\n" -#: help.c:243 +#: help.c:244 msgid " (options: S = show system objects, + = additional detail)\n" msgstr " (επιλογές: S = εμφάνισε αντικείμενα συστήματος, + = επιπλέον λεπτομέριες)\n" -#: help.c:244 +#: help.c:245 msgid " \\d[S+] list tables, views, and sequences\n" msgstr " \\d[S+] εμφάνισε πίνακες, όψεις και σειρές\n" -#: help.c:245 +#: help.c:246 msgid " \\d[S+] NAME describe table, view, sequence, or index\n" msgstr " \\d[S+] NAME περιέγραψε πίνακα, όψη, σειρά, ή ευρετήριο\n" -#: help.c:246 +#: help.c:247 msgid " \\da[S] [PATTERN] list aggregates\n" msgstr " \\da[S] [PATTERN] απαρίθμησε συγκεντρωτικά\n" -#: help.c:247 +#: help.c:248 msgid " \\dA[+] [PATTERN] list access methods\n" msgstr " \\dA[+] [PATTERN] απαρίθμησε μεθόδους πρόσβασης\n" -#: help.c:248 +#: help.c:249 msgid " \\dAc[+] [AMPTRN [TYPEPTRN]] list operator classes\n" msgstr " \\dAc[+] [AMPTRN [TYPEPTRN]] απαρίθμησε κλάσεις χειριστή\n" -#: help.c:249 +#: help.c:250 msgid " \\dAf[+] [AMPTRN [TYPEPTRN]] list operator families\n" msgstr " \\dAf[+] [AMPTRN [TYPEPTRN]] απαρίθμησε οικογένειες χειριστών\n" -#: help.c:250 +#: help.c:251 msgid " \\dAo[+] [AMPTRN [OPFPTRN]] list operators of operator families\n" msgstr " \\dAo[+] [AMPTRN [OPFPTRN]] απαρίθμησε χειριστές των οικογενειών χειριστών\n" -#: help.c:251 +#: help.c:252 msgid " \\dAp[+] [AMPTRN [OPFPTRN]] list support functions of operator families\n" msgstr " \\dAp[+] [AMPTRN [OPFPTRN]] απαρίθμησε συναρτήσεις των οικογενειών χειριστών\n" -#: help.c:252 +#: help.c:253 msgid " \\db[+] [PATTERN] list tablespaces\n" msgstr " \\db[+] [PATTERN] απαρίθμησε πινακοχώρους\n" -#: help.c:253 +#: help.c:254 msgid " \\dc[S+] [PATTERN] list conversions\n" msgstr " \\dc[S+] [PATTERN] απαρίθμησε μετατροπές\n" -#: help.c:254 +#: help.c:255 msgid " \\dconfig[+] [PATTERN] list configuration parameters\n" msgstr " \\dconfig[+] [PATTERN] απαρίθμησε παραμέτρους ρύθμισης\n" -#: help.c:255 +#: help.c:256 msgid " \\dC[+] [PATTERN] list casts\n" msgstr " \\dC[+] [PATTERN] απαρίθμησε casts\n" -#: help.c:256 +#: help.c:257 msgid " \\dd[S] [PATTERN] show object descriptions not displayed elsewhere\n" msgstr " \\dd[S] [PATTERN] εμφάνισε περιγραφές αντικειμένων που δεν φαίνονται πουθενά αλλού\n" -#: help.c:257 +#: help.c:258 msgid " \\dD[S+] [PATTERN] list domains\n" msgstr " \\dD[S+] [PATTERN] απαρίθμησε πεδία\n" -#: help.c:258 +#: help.c:259 msgid " \\ddp [PATTERN] list default privileges\n" msgstr " \\ddp [PATTERN] απαρίθμησε προεπιλεγμένα προνόμια\n" -#: help.c:259 +#: help.c:260 msgid " \\dE[S+] [PATTERN] list foreign tables\n" msgstr " \\dE[S+] [PATTERN] απαρίθμησε ξενικούς πίνακες\n" -#: help.c:260 +#: help.c:261 msgid " \\des[+] [PATTERN] list foreign servers\n" msgstr " \\des[+] [PATTERN] απαρίθμησε ξενικούς διακομιστές\n" -#: help.c:261 +#: help.c:262 msgid " \\det[+] [PATTERN] list foreign tables\n" msgstr " \\det[+] [PATTERN] απαρίθμησε ξενικούς πίνακες\n" -#: help.c:262 +#: help.c:263 msgid " \\deu[+] [PATTERN] list user mappings\n" msgstr " \\deu[+] [PATTERN] απαρίθμησε αντιστοιχίες χρηστών\n" -#: help.c:263 +#: help.c:264 msgid " \\dew[+] [PATTERN] list foreign-data wrappers\n" msgstr " \\dew[+] [PATTERN] απαρίθμησε περιτυλίξεις ξένων δεδομένων\n" -#: help.c:264 +#: help.c:265 msgid "" " \\df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]]\n" " list [only agg/normal/procedure/trigger/window] functions\n" msgstr "" " \\df[anptw][S+] [FUNCPTRN [TYPEPTRN …]]\n" -" απαρίθμησε συναρτήσεις [μόνο agg/normal/procedures/trigger/window]\n" +" απαρίθμησε συναρτήσεις [μόνο agg/normal/procedures/trigger/window]\n" -#: help.c:266 +#: help.c:267 msgid " \\dF[+] [PATTERN] list text search configurations\n" msgstr " \\dF[+] [PATTERN] απαρίθμησε ρυθμίσεις αναζήτησης κειμένου\n" -#: help.c:267 +#: help.c:268 msgid " \\dFd[+] [PATTERN] list text search dictionaries\n" msgstr " \\dFd[+] [PATTERN] απαρίθμησε λεξικά αναζήτησης κειμένου\n" -#: help.c:268 +#: help.c:269 msgid " \\dFp[+] [PATTERN] list text search parsers\n" msgstr " \\dFp[+] [PATTERN] απαρίθμησε αναλυτές αναζήτησης κειμένου\n" -#: help.c:269 +#: help.c:270 msgid " \\dFt[+] [PATTERN] list text search templates\n" msgstr " \\dFt[+] [PATTERN] απαρίθμησε πρότυπα αναζήτησης κειμένου\n" -#: help.c:270 +#: help.c:271 msgid " \\dg[S+] [PATTERN] list roles\n" msgstr " \\dg[S+] [PATTERN] απαρίθμησε ρόλους\n" -#: help.c:271 +#: help.c:272 msgid " \\di[S+] [PATTERN] list indexes\n" msgstr " \\di[S+] [PATTERN] απαρίθμησε ευρετήρια\n" -#: help.c:272 +#: help.c:273 msgid " \\dl[+] list large objects, same as \\lo_list\n" msgstr " \\dl[+] απαρίθμησε μεγάλα αντικείμενα, όπως \\lo_list\n" -#: help.c:273 +#: help.c:274 msgid " \\dL[S+] [PATTERN] list procedural languages\n" msgstr " \\dL[S+] [PATTERN] απαρίθμησε διαδικαστικές γλώσσες\n" -#: help.c:274 +#: help.c:275 msgid " \\dm[S+] [PATTERN] list materialized views\n" msgstr " \\dm[S+] [PATTERN] απαρίθμησε υλοποιημένες όψεις\n" -#: help.c:275 +#: help.c:276 msgid " \\dn[S+] [PATTERN] list schemas\n" msgstr " \\dn[S+] [PATTERN] απαρίθμησε σχήματα\n" -#: help.c:276 +#: help.c:277 msgid "" " \\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]\n" " list operators\n" msgstr "" " \\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]\n" -" απαρίθμησε χειριστές\n" +" απαρίθμησε χειριστές\n" -#: help.c:278 +#: help.c:279 msgid " \\dO[S+] [PATTERN] list collations\n" msgstr " \\dO[S+] [PATTERN] απαρίθμησε συρραφές\n" -#: help.c:279 -msgid " \\dp [PATTERN] list table, view, and sequence access privileges\n" -msgstr " \\dp [PATTERN] απαρίθμησε προνόμια πρόσβασης πίνακα, όψης και σειράς\n" - #: help.c:280 +msgid " \\dp[S] [PATTERN] list table, view, and sequence access privileges\n" +msgstr " \\dp[S] [PATTERN] απαρίθμησε προνόμια πρόσβασης πίνακα, όψης και σειράς\n" + +#: help.c:281 msgid " \\dP[itn+] [PATTERN] list [only index/table] partitioned relations [n=nested]\n" msgstr " \\dP[itn+] [PATTERN] απαρίθμησε διαχωρισμένες σχέσεις [μόνο ευρετήριο/πίνακα] [n=nested]\n" -#: help.c:281 +#: help.c:282 msgid " \\drds [ROLEPTRN [DBPTRN]] list per-database role settings\n" msgstr " \\drds [ROLEPTRN [DBPTRN]] απαρίθμησε ρυθμίσεις ρόλου ανά βάση δεδομένων\n" -#: help.c:282 +#: help.c:283 +msgid " \\drg[S] [PATTERN] list role grants\n" +msgstr " \\drg[S] [PATTERN] απαρίθμησε χορηγούς ρόλων\n" + +#: help.c:284 msgid " \\dRp[+] [PATTERN] list replication publications\n" msgstr " \\dRp[+] [PATTERN] απαρίθμησε δημοσιεύσεις αναπαραγωγής\n" -#: help.c:283 +#: help.c:285 msgid " \\dRs[+] [PATTERN] list replication subscriptions\n" msgstr " \\dRs[+] [PATTERN] απαρίθμησε συνδρομές αναπαραγωγής\n" -#: help.c:284 +#: help.c:286 msgid " \\ds[S+] [PATTERN] list sequences\n" msgstr " \\ds[S+] [PATTERN] απαρίθμησε ακολουθίες\n" -#: help.c:285 +#: help.c:287 msgid " \\dt[S+] [PATTERN] list tables\n" msgstr " \\dt[S+] [PATTERN] απαρίθμησε πίνακες\n" -#: help.c:286 +#: help.c:288 msgid " \\dT[S+] [PATTERN] list data types\n" msgstr " \\dT[S+] [PATTERN] απαρίθμησε τύπους δεδομένων\n" -#: help.c:287 +#: help.c:289 msgid " \\du[S+] [PATTERN] list roles\n" msgstr " \\du[S+] [PATTERN] απαρίθμησε ρόλους\n" -#: help.c:288 +#: help.c:290 msgid " \\dv[S+] [PATTERN] list views\n" msgstr " \\dv[S+] [PATTERN] απαρίθμησε όψεις\n" -#: help.c:289 +#: help.c:291 msgid " \\dx[+] [PATTERN] list extensions\n" msgstr " \\dx[+] [PATTERN] απαρίθμησε προεκτάσεις\n" -#: help.c:290 +#: help.c:292 msgid " \\dX [PATTERN] list extended statistics\n" msgstr " \\dX [PATTERN] απαρίθμησε εναύσματα συμβάντων\n" -#: help.c:291 +#: help.c:293 msgid " \\dy[+] [PATTERN] list event triggers\n" msgstr " \\dy[+] [PATTERN] απαρίθμησε εναύσματα συμβάντων\n" -#: help.c:292 +#: help.c:294 msgid " \\l[+] [PATTERN] list databases\n" msgstr " \\l[+] [PATTERN] απαρίθμησε βάσεις δεδομένων\n" -#: help.c:293 +#: help.c:295 msgid " \\sf[+] FUNCNAME show a function's definition\n" msgstr " \\sf[+] FUNCNAME εμφάνισε τον ορισμό μίας συνάρτησης\n" -#: help.c:294 +#: help.c:296 msgid " \\sv[+] VIEWNAME show a view's definition\n" msgstr " \\sv[+] VIEWNAME εμφάνισε τον ορισμό μίας όψης\n" -#: help.c:295 -msgid " \\z [PATTERN] same as \\dp\n" -msgstr " \\z [PATTERN] όπως \\dp\n" +#: help.c:297 +msgid " \\z[S] [PATTERN] same as \\dp\n" +msgstr " \\z[S] [PATTERN] όπως \\dp\n" -#: help.c:298 +#: help.c:300 msgid "Large Objects\n" msgstr "Μεγάλα αντικείμενα\n" -#: help.c:299 +#: help.c:301 msgid " \\lo_export LOBOID FILE write large object to file\n" msgstr " \\lo_export LOBOID FILE εγγραφή μεγάλου αντικειμένου σε αρχείο\n" -#: help.c:300 +#: help.c:302 msgid "" " \\lo_import FILE [COMMENT]\n" " read large object from file\n" @@ -3058,36 +3116,36 @@ msgstr "" " \\lo_import FILE [COMMENT]\n" " ανάγνωση μεγάλων αντικειμένων από αρχείο\n" -#: help.c:302 +#: help.c:304 msgid " \\lo_list[+] list large objects\n" msgstr " \\lo_list[+] απαρίθμησε μεγάλα αντικείμενα\n" -#: help.c:303 +#: help.c:305 msgid " \\lo_unlink LOBOID delete a large object\n" msgstr " \\lo_unlink LOBOID διαγραφή μεγάλου αντικειμένου\n" -#: help.c:306 +#: help.c:308 msgid "Formatting\n" msgstr "Μορφοποίηση\n" -#: help.c:307 +#: help.c:309 msgid " \\a toggle between unaligned and aligned output mode\n" msgstr " \\a εναλλαγή μεταξύ μη ευθυγραμμισμένης και ευθυγραμμισμένης μορφής εξόδου\n" -#: help.c:308 +#: help.c:310 msgid " \\C [STRING] set table title, or unset if none\n" msgstr " \\C [STRING] όρισε τίτλο πίνακα, ή αναίρεσε εάν κενό\n" -#: help.c:309 +#: help.c:311 msgid " \\f [STRING] show or set field separator for unaligned query output\n" msgstr " \\f [STRING] εμφάνισε ή όρισε τον διαχωριστή πεδίου για μη ευθυγραμμισμένη έξοδο ερωτήματος\n" -#: help.c:310 +#: help.c:312 #, c-format msgid " \\H toggle HTML output mode (currently %s)\n" msgstr " \\H εναλλαγή λειτουργίας εξόδου HTML (επί του παρόντος %s)\n" -#: help.c:312 +#: help.c:314 msgid "" " \\pset [NAME [VALUE]] set table output option\n" " (border|columns|csv_fieldsep|expanded|fieldsep|\n" @@ -3105,29 +3163,29 @@ msgstr "" " unicode_border_linestyle|unicode_column_linestyle|\n" " unicode_header_linestyle)\n" -#: help.c:319 +#: help.c:321 #, c-format msgid " \\t [on|off] show only rows (currently %s)\n" msgstr " \\t [on|off] εμφάνισε μόνο γραμμές (επί του παρόντος %s)\n" -#: help.c:321 +#: help.c:323 msgid " \\T [STRING] set HTML
tag attributes, or unset if none\n" msgstr " \\T [STRING] ορίστε χαρακτηριστικά ετικέτας
HTML, ή αναιρέστε εάν δεν υπάρχουν\n" -#: help.c:322 +#: help.c:324 #, c-format msgid " \\x [on|off|auto] toggle expanded output (currently %s)\n" msgstr " \\x [on|off|auto] εναλλαγή τιμής διευρυμένης εξόδου (επί του παρόντος %s)\n" -#: help.c:323 +#: help.c:325 msgid "auto" msgstr "αυτόματο" -#: help.c:326 +#: help.c:328 msgid "Connection\n" msgstr "Σύνδεση\n" -#: help.c:328 +#: help.c:330 #, c-format msgid "" " \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n" @@ -3136,7 +3194,7 @@ msgstr "" " \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n" " σύνδεση σε νέα βάση δεδομένων (επί του παρόντος «%s»)\n" -#: help.c:332 +#: help.c:334 msgid "" " \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n" " connect to new database (currently no connection)\n" @@ -3144,60 +3202,60 @@ msgstr "" " \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n" " σύνδεση σε νέα βάση δεδομένων (επί του παρόντος καμία σύνδεση)\n" -#: help.c:334 +#: help.c:336 msgid " \\conninfo display information about current connection\n" msgstr " \\conninfo εμφάνιση πληροφοριών σχετικά με την παρούσα σύνδεση\n" -#: help.c:335 +#: help.c:337 msgid " \\encoding [ENCODING] show or set client encoding\n" msgstr " \\encoding [ENCODING] εμφάνισε ή όρισε την κωδικοποίηση του πελάτη\n" -#: help.c:336 +#: help.c:338 msgid " \\password [USERNAME] securely change the password for a user\n" msgstr " \\password [USERNAME] άλλαξε με ασφάλεια τον κωδικό πρόσβασης ενός χρήστη\n" -#: help.c:339 +#: help.c:341 msgid "Operating System\n" msgstr "Λειτουργικό σύστημα\n" -#: help.c:340 +#: help.c:342 msgid " \\cd [DIR] change the current working directory\n" msgstr " \\cd [DIR] άλλαξε τον παρόν κατάλογο εργασίας\n" -#: help.c:341 +#: help.c:343 msgid " \\getenv PSQLVAR ENVVAR fetch environment variable\n" -msgstr " \\setenv NAME [VALUE] λήψη μεταβλητής περιβάλλοντος\n" +msgstr " \\getenv PSQLVAR ENVVAR λήψη μεταβλητής περιβάλλοντος\n" -#: help.c:342 +#: help.c:344 msgid " \\setenv NAME [VALUE] set or unset environment variable\n" msgstr " \\setenv NAME [VALUE] όρισε ή αναίρεσε μεταβλητή περιβάλλοντος\n" -#: help.c:343 +#: help.c:345 #, c-format msgid " \\timing [on|off] toggle timing of commands (currently %s)\n" msgstr " \\timing [on|off] εναλλαγή χρονισμού των εντολών (επί του παρόντος %s)\n" -#: help.c:345 +#: help.c:347 msgid " \\! [COMMAND] execute command in shell or start interactive shell\n" msgstr " \\! [COMMAND] εκτέλεσε εντολή σε κέλυφος ή ξεκίνησε διαδραστικό κέλυφος\n" -#: help.c:348 +#: help.c:350 msgid "Variables\n" msgstr "Μεταβλητές\n" -#: help.c:349 +#: help.c:351 msgid " \\prompt [TEXT] NAME prompt user to set internal variable\n" msgstr " \\prompt [TEXT] NAME προέτρεψε τον χρήστη να ορίσει εσωτερική μεταβλητή\n" -#: help.c:350 +#: help.c:352 msgid " \\set [NAME [VALUE]] set internal variable, or list all if no parameters\n" msgstr " \\set [NAME [VALUE]] όρισε εσωτερική μεταβλητή, ή απαρίθμησέ τες όλες εάν δεν υπάρχουν παράμετροι\n" -#: help.c:351 +#: help.c:353 msgid " \\unset NAME unset (delete) internal variable\n" msgstr " \\unset NAME αναίρεσε (διέγραψε) εσωτερική μεταβλητή\n" -#: help.c:390 +#: help.c:392 msgid "" "List of specially treated variables\n" "\n" @@ -3205,11 +3263,11 @@ msgstr "" "Απαρίθμηση των ειδικά επεξεργασμένων μεταβλητών\n" "\n" -#: help.c:392 +#: help.c:394 msgid "psql variables:\n" msgstr "psql μεταβλητές:\n" -#: help.c:394 +#: help.c:396 msgid "" " psql --set=NAME=VALUE\n" " or \\set NAME VALUE inside psql\n" @@ -3219,7 +3277,7 @@ msgstr "" " ή \\set NAME VALUE μέσα σε psql\n" "\n" -#: help.c:396 +#: help.c:398 msgid "" " AUTOCOMMIT\n" " if set, successful SQL commands are automatically committed\n" @@ -3227,7 +3285,7 @@ msgstr "" " AUTOCOMMIT\n" " εφόσον ορισμένο, επιτυχημένες εντολές SQL ολοκληρώνονται αυτόματα\n" -#: help.c:398 +#: help.c:400 msgid "" " COMP_KEYWORD_CASE\n" " determines the case used to complete SQL key words\n" @@ -3237,7 +3295,7 @@ msgstr "" " καθορίζει τον τύπο (πεζά, κεφαλαία) για την ολοκλήρωση όρων SQL\n" " [lower, upper, preserve-lower, preserve-upper]\n" -#: help.c:401 +#: help.c:403 msgid "" " DBNAME\n" " the currently connected database name\n" @@ -3245,7 +3303,7 @@ msgstr "" " DBNAME\n" " ονομασία της συνδεδεμένης βάσης δεδομένων\n" -#: help.c:403 +#: help.c:405 msgid "" " ECHO\n" " controls what input is written to standard output\n" @@ -3254,8 +3312,9 @@ msgstr "" " ECHO\n" " ελέγχει ποία είσοδος γράφεται στην τυπική έξοδο\n" " [all, errors, none, queries]\n" +"\n" -#: help.c:406 +#: help.c:408 msgid "" " ECHO_HIDDEN\n" " if set, display internal queries executed by backslash commands;\n" @@ -3265,7 +3324,7 @@ msgstr "" " εάν έχει οριστεί, εμφανίστε εσωτερικά ερωτήματα που εκτελούνται από εντολές ανάστρωσής τους.\n" " εάν οριστεί σε \"noexec\", απλά δείξτε τους χωρίς εκτέλεση\n" -#: help.c:409 +#: help.c:411 msgid "" " ENCODING\n" " current client character set encoding\n" @@ -3273,15 +3332,15 @@ msgstr "" " ENCODING\n" " τρέχουσα κωδικοποίηση χαρακτήρων του προγράμματος-πελάτη\n" -#: help.c:411 +#: help.c:413 msgid "" " ERROR\n" -" true if last query failed, else false\n" +" \"true\" if last query failed, else \"false\"\n" msgstr "" -" ERROR\n" -" αληθές εάν το τελευταίο ερώτημα απέτυχε, διαφορετικά ψευδές\n" +" ΣΦΑΛΜΑ\n" +" \"true\" αν το τελευταίο ερώτημα απέτυχε, αλλιώς \"false\"\n" -#: help.c:413 +#: help.c:415 msgid "" " FETCH_COUNT\n" " the number of result rows to fetch and display at a time (0 = unlimited)\n" @@ -3289,7 +3348,7 @@ msgstr "" " FETCH_COUNT\n" " αριθμός των σειρών αποτελεσμάτων για λήψη και εμφάνιση ανά επανάλληψη (0 = απεριόριστος)\n" -#: help.c:415 +#: help.c:417 msgid "" " HIDE_TABLEAM\n" " if set, table access methods are not displayed\n" @@ -3297,7 +3356,7 @@ msgstr "" " HIDE_TABLEAM\n" " εάν έχει οριστεί, δεν εμφανίζονται μέθοδοι πρόσβασης πίνακα\n" -#: help.c:417 +#: help.c:419 msgid "" " HIDE_TOAST_COMPRESSION\n" " if set, compression methods are not displayed\n" @@ -3305,7 +3364,7 @@ msgstr "" " HIDE_TOAST_COMPRESSION\n" " εάν έχει οριστεί, δεν εμφανίζονται μέθοδοι συμπίεσης\n" -#: help.c:419 +#: help.c:421 msgid "" " HISTCONTROL\n" " controls command history [ignorespace, ignoredups, ignoreboth]\n" @@ -3313,7 +3372,7 @@ msgstr "" " HISTCONTROL\n" " ελέγχει το ιστορικό εντολών [ignorespace, ignoredups, ignoreboth]\n" -#: help.c:421 +#: help.c:423 msgid "" " HISTFILE\n" " file name used to store the command history\n" @@ -3321,7 +3380,7 @@ msgstr "" " HISTFILE\n" " όνομα αρχείου που χρησιμοποιείται για την αποθήκευση του ιστορικού εντολών\n" -#: help.c:423 +#: help.c:425 msgid "" " HISTSIZE\n" " maximum number of commands to store in the command history\n" @@ -3329,7 +3388,7 @@ msgstr "" " HISTSIZE\n" " μέγιστος αριθμός εντολών που θα αποθηκευτούν στο ιστορικό εντολών\n" -#: help.c:425 +#: help.c:427 msgid "" " HOST\n" " the currently connected database server host\n" @@ -3337,7 +3396,7 @@ msgstr "" " HOST\n" " ο συνδεδεμένος κεντρικός υπολογιστής διακομιστή βάσης δεδομένων\n" -#: help.c:427 +#: help.c:429 msgid "" " IGNOREEOF\n" " number of EOFs needed to terminate an interactive session\n" @@ -3345,7 +3404,7 @@ msgstr "" " IGNOREEOF\n" " αριθμός των EOF που απαιτούνται για τον τερματισμό μιας διαδραστικής συνεδρίας\n" -#: help.c:429 +#: help.c:431 msgid "" " LASTOID\n" " value of the last affected OID\n" @@ -3353,7 +3412,7 @@ msgstr "" " LASTOID\n" " τιμή του τελευταίου επηρεασμένου OID\n" -#: help.c:431 +#: help.c:433 msgid "" " LAST_ERROR_MESSAGE\n" " LAST_ERROR_SQLSTATE\n" @@ -3363,7 +3422,7 @@ msgstr "" " LAST_ERROR_SQLSTATE\n" " μήνυμα και SQLSTATE του τελευταίου σφάλματος, ή κενή συμβολοσειρά και \"00000\" εάν δεν\n" -#: help.c:434 +#: help.c:436 msgid "" " ON_ERROR_ROLLBACK\n" " if set, an error doesn't stop a transaction (uses implicit savepoints)\n" @@ -3371,7 +3430,7 @@ msgstr "" " ON_ERROR_ROLLBACK\n" " εάν έχει οριστεί, ένα σφάλμα δεν διακόπτει μια συναλλαγή (χρησιμοποιεί έμμεσα σημεία αποθήκευσης)\n" -#: help.c:436 +#: help.c:438 msgid "" " ON_ERROR_STOP\n" " stop batch execution after error\n" @@ -3379,7 +3438,7 @@ msgstr "" " ON_ERROR_STOP\n" " σταμάτησε την ομαδική εκτέλεση μετά από σφάλμα\n" -#: help.c:438 +#: help.c:440 msgid "" " PORT\n" " server port of the current connection\n" @@ -3387,7 +3446,7 @@ msgstr "" " PORT\n" " θύρα διακομιστή της τρέχουσας σύνδεσης\n" -#: help.c:440 +#: help.c:442 msgid "" " PROMPT1\n" " specifies the standard psql prompt\n" @@ -3395,7 +3454,7 @@ msgstr "" " PROMPT1\n" " ορίζει την τυπική προτροπή psql\n" -#: help.c:442 +#: help.c:444 msgid "" " PROMPT2\n" " specifies the prompt used when a statement continues from a previous line\n" @@ -3403,7 +3462,7 @@ msgstr "" " PROMPT2\n" " καθορίζει την προτροπή που χρησιμοποιείται όταν μια πρόταση συνεχίζεται από προηγούμενη γραμμή\n" -#: help.c:444 +#: help.c:446 msgid "" " PROMPT3\n" " specifies the prompt used during COPY ... FROM STDIN\n" @@ -3411,7 +3470,7 @@ msgstr "" " PROMPT3\n" " καθορίζει την προτροπή που χρησιμοποιείται κατά την διάρκεια COPY … FROM STDIN\n" -#: help.c:446 +#: help.c:448 msgid "" " QUIET\n" " run quietly (same as -q option)\n" @@ -3419,7 +3478,7 @@ msgstr "" " QUIET\n" " σιωπηλή εκτέλεση(όμοια με την επιλογή -q)\n" -#: help.c:448 +#: help.c:450 msgid "" " ROW_COUNT\n" " number of rows returned or affected by last query, or 0\n" @@ -3427,7 +3486,7 @@ msgstr "" " ROW_COUNT\n" " αριθμός των επηρεασμένων ή επιστρεφομένων σειρών του τελευταίου ερωτήματος, ή 0\n" -#: help.c:450 +#: help.c:452 msgid "" " SERVER_VERSION_NAME\n" " SERVER_VERSION_NUM\n" @@ -3437,7 +3496,23 @@ msgstr "" " SERVER_VERSION_NUM\n" " έκδοση διακομιστή (σε σύντομη συμβολοσειρά ή αριθμητική μορφή)\n" -#: help.c:453 +#: help.c:455 +msgid "" +" SHELL_ERROR\n" +" \"true\" if the last shell command failed, \"false\" if it succeeded\n" +msgstr "" +" SHELL_ERROR\n" +" \"true\" αν η τελευταία εντολή κελύφους απέτυχε, \"false\" αν πέτυχε\n" + +#: help.c:457 +msgid "" +" SHELL_EXIT_CODE\n" +" exit status of the last shell command\n" +msgstr "" +" SHELL_EXIT_CODE\n" +" κατάσταση εξόδου της τελευταίας εντολής του κελύφους\n" + +#: help.c:459 msgid "" " SHOW_ALL_RESULTS\n" " show all results of a combined query (\\;) instead of only the last\n" @@ -3445,7 +3520,7 @@ msgstr "" " SHOW_ALL_RESULTS\n" " εμφάνισε όλα τα αποτελέσματα ερωτημάτων (\\;) αντί μόνο του τελευταίου\n" -#: help.c:455 +#: help.c:461 msgid "" " SHOW_CONTEXT\n" " controls display of message context fields [never, errors, always]\n" @@ -3453,7 +3528,7 @@ msgstr "" " SHOW_CONTEXT\n" " ελέγχει την εμφάνιση των πεδίων του περιεχομένου μηνύματος [never, errors, always]\n" -#: help.c:457 +#: help.c:463 msgid "" " SINGLELINE\n" " if set, end of line terminates SQL commands (same as -S option)\n" @@ -3461,7 +3536,7 @@ msgstr "" " SINGLELINE\n" " εάν έχει οριστεί, το τέλος γραμμής ολοκληρώνει τα ερωτήματα SQL (όμοια με την επιλογή -S)\n" -#: help.c:459 +#: help.c:465 msgid "" " SINGLESTEP\n" " single-step mode (same as -s option)\n" @@ -3469,7 +3544,7 @@ msgstr "" " SINGLESTEP\n" " λειτουργία μονού-βήματος(όμοια με την επιλογή -s)\n" -#: help.c:461 +#: help.c:467 msgid "" " SQLSTATE\n" " SQLSTATE of last query, or \"00000\" if no error\n" @@ -3477,7 +3552,7 @@ msgstr "" " SQLSTATE\n" " SQLSTATE του τελευταίου ερωτήματος, ή «00000» εάν δεν υπήρξαν σφάλματα\n" -#: help.c:463 +#: help.c:469 msgid "" " USER\n" " the currently connected database user\n" @@ -3485,7 +3560,7 @@ msgstr "" " USER\n" " ο τρέχων συνδεδεμένος χρήστης βάσης δεδομένων\n" -#: help.c:465 +#: help.c:471 msgid "" " VERBOSITY\n" " controls verbosity of error reports [default, verbose, terse, sqlstate]\n" @@ -3493,7 +3568,7 @@ msgstr "" " VERBOSITY\n" " ελέγχει την περιφραστικότητα των αναφορών σφαλμάτων [default, verbose, terse, sqlstate]\n" -#: help.c:467 +#: help.c:473 msgid "" " VERSION\n" " VERSION_NAME\n" @@ -3505,7 +3580,7 @@ msgstr "" " VERSION_NUM\n" " η έκδοση της psql (σε περιγραφική συμβολοσειρά, σύντομη συμβολοσειρά, ή αριθμητική μορφή)\n" -#: help.c:472 +#: help.c:478 msgid "" "\n" "Display settings:\n" @@ -3513,7 +3588,7 @@ msgstr "" "\n" "Ρυθμίσεις εμφάνισης:\n" -#: help.c:474 +#: help.c:480 msgid "" " psql --pset=NAME[=VALUE]\n" " or \\pset NAME [VALUE] inside psql\n" @@ -3523,7 +3598,7 @@ msgstr "" " ή \\set NAME VALUE μέσα σε συνεδρία psql\n" "\n" -#: help.c:476 +#: help.c:482 msgid "" " border\n" " border style (number)\n" @@ -3531,7 +3606,7 @@ msgstr "" " border\n" " στυλ περιγράμματος (αριθμός)\n" -#: help.c:478 +#: help.c:484 msgid "" " columns\n" " target width for the wrapped format\n" @@ -3539,7 +3614,7 @@ msgstr "" " columns\n" " πλάτος προορισμού κατά την εμφάνιση αναδιπλωμένης μορφής\n" -#: help.c:480 +#: help.c:486 msgid "" " expanded (or x)\n" " expanded output [on, off, auto]\n" @@ -3547,7 +3622,7 @@ msgstr "" " expanded (ή x)\n" " διευρυμένη έξοδος [on, off, auto]\n" -#: help.c:482 +#: help.c:488 #, c-format msgid "" " fieldsep\n" @@ -3556,7 +3631,7 @@ msgstr "" " fieldsep\n" " διαχωριστικό πεδίου σε μορφή μή ευθυγραμισμένης εξόδου (προκαθοριμένο «%s»)\n" -#: help.c:485 +#: help.c:491 msgid "" " fieldsep_zero\n" " set field separator for unaligned output to a zero byte\n" @@ -3564,7 +3639,7 @@ msgstr "" " fieldsep_zero\n" " ορίζει το διαχωριστικό πεδίου για τη μορφή μη ευθυγραμμισμένης εξόδου στο μηδενικό byte\n" -#: help.c:487 +#: help.c:493 msgid "" " footer\n" " enable or disable display of the table footer [on, off]\n" @@ -3572,7 +3647,7 @@ msgstr "" " footer\n" " ενεργοποιεί ή απενεργοποιεί την εμφάνιση του υποσέλιδου σε πίνακα [on, off]\n" -#: help.c:489 +#: help.c:495 msgid "" " format\n" " set output format [unaligned, aligned, wrapped, html, asciidoc, ...]\n" @@ -3580,7 +3655,7 @@ msgstr "" " format\n" " ορίζει τη μορφή εξόδου [unaligned, aligned, wrapped, html, asciidoc, …]\n" -#: help.c:491 +#: help.c:497 msgid "" " linestyle\n" " set the border line drawing style [ascii, old-ascii, unicode]\n" @@ -3588,7 +3663,7 @@ msgstr "" " linestyle\n" " ορίζει τη μορφή περιγράμματος [ascii, old-ascii, unicode]\n" -#: help.c:493 +#: help.c:499 msgid "" " null\n" " set the string to be printed in place of a null value\n" @@ -3596,7 +3671,7 @@ msgstr "" " null\n" " ορίζει τη συμβολοσειρά που θα εκτυπωθεί στη θέση κενής τιμής\n" -#: help.c:495 +#: help.c:501 msgid "" " numericlocale\n" " enable display of a locale-specific character to separate groups of digits\n" @@ -3604,7 +3679,7 @@ msgstr "" " numericlocale\n" " ενεργοποίηση εμφάνισης ενός χαρακτήρα εντοπιότητας για το διαχωρισμό ομάδων ψηφίων\n" -#: help.c:497 +#: help.c:503 msgid "" " pager\n" " control when an external pager is used [yes, no, always]\n" @@ -3612,7 +3687,7 @@ msgstr "" " Pager\n" " ελέγχει πότε χρησιμοποιείται εξωτερικός σελιδοποιητής [yes, no, always]\n" -#: help.c:499 +#: help.c:505 msgid "" " recordsep\n" " record (line) separator for unaligned output\n" @@ -3620,7 +3695,7 @@ msgstr "" " recordsep\n" " διαχωριστικό εγγραφών (σειράς) κατά την έξοδο μη ευθυγραμμισμένης μορφής\n" -#: help.c:501 +#: help.c:507 msgid "" " recordsep_zero\n" " set record separator for unaligned output to a zero byte\n" @@ -3628,7 +3703,7 @@ msgstr "" " recordsep_zero\n" " ορίζει το διαχωριστικό εγγραφών στο μηδενικό byte κατά την έξοδο μη ευθυγραμμισμένης μορφής\n" -#: help.c:503 +#: help.c:509 msgid "" " tableattr (or T)\n" " specify attributes for table tag in html format, or proportional\n" @@ -3638,7 +3713,7 @@ msgstr "" " καθορίζει τα χαρακτηριστικά ενός πίνακα tag σε μορφή HTML, ή καθορίζει\n" " αναλογικό πλάτος στηλών για τύπους δεδομένων με αριστερή στοίχιση σε μορφή latex-longtable\n" -#: help.c:506 +#: help.c:512 msgid "" " title\n" " set the table title for subsequently printed tables\n" @@ -3646,7 +3721,7 @@ msgstr "" " title\n" " ορίζει τον τίτλο πίνακα για χρήση στους επόμενα εκτυπωμένους πίνακες\n" -#: help.c:508 +#: help.c:514 msgid "" " tuples_only\n" " if set, only actual table data is shown\n" @@ -3654,7 +3729,7 @@ msgstr "" " tuples_only\n" " εάν έχει ορισθεί, τότε εμφανίζονται μόνο τα δεδομένα πίνακα\n" -#: help.c:510 +#: help.c:516 msgid "" " unicode_border_linestyle\n" " unicode_column_linestyle\n" @@ -3666,7 +3741,7 @@ msgstr "" " unicode_header_linestyle\n" " ορισμός του στυλ γραμμής Unicode [single, double]\n" -#: help.c:515 +#: help.c:521 msgid "" "\n" "Environment variables:\n" @@ -3674,7 +3749,7 @@ msgstr "" "\n" "Μεταβλητές περιβάλλοντος:\n" -#: help.c:519 +#: help.c:525 msgid "" " NAME=VALUE [NAME=VALUE] psql ...\n" " or \\setenv NAME [VALUE] inside psql\n" @@ -3684,7 +3759,7 @@ msgstr "" " ή \\setenv ΟΝΟΜΑ [ΤΙΜΗ] μέσα σε συνεδρία psql\n" "\n" -#: help.c:521 +#: help.c:527 msgid "" " set NAME=VALUE\n" " psql ...\n" @@ -3696,7 +3771,7 @@ msgstr "" " ή \\setenv NAME [VALUE] μέσα σε συνεδρία psql\n" "\n" -#: help.c:524 +#: help.c:530 msgid "" " COLUMNS\n" " number of columns for wrapped format\n" @@ -3704,7 +3779,7 @@ msgstr "" " COLUMNS\n" " αριθμός στηλών για αναδιπλωμένη μορφή\n" -#: help.c:526 +#: help.c:532 msgid "" " PGAPPNAME\n" " same as the application_name connection parameter\n" @@ -3712,7 +3787,7 @@ msgstr "" " PGAPPNAME\n" " όμοια με την παράμετρο σύνδεσης application_name\n" -#: help.c:528 +#: help.c:534 msgid "" " PGDATABASE\n" " same as the dbname connection parameter\n" @@ -3720,7 +3795,7 @@ msgstr "" " PGDATABASE\n" " όμοια με την παράμετρο σύνδεσης dbname\n" -#: help.c:530 +#: help.c:536 msgid "" " PGHOST\n" " same as the host connection parameter\n" @@ -3728,7 +3803,7 @@ msgstr "" " PGHOST\n" " όμοια με την παράμετρο της σύνδεσης κεντρικού υπολογιστή\n" -#: help.c:532 +#: help.c:538 msgid "" " PGPASSFILE\n" " password file name\n" @@ -3736,7 +3811,7 @@ msgstr "" " PGPASSFILE\n" " αρχείο κωδικών πρόσβασης\n" -#: help.c:534 +#: help.c:540 msgid "" " PGPASSWORD\n" " connection password (not recommended)\n" @@ -3744,7 +3819,7 @@ msgstr "" " PGPASSWORD\n" " κωδικός πρόσβασης σύνδεσης (δεν συνιστάται)\n" -#: help.c:536 +#: help.c:542 msgid "" " PGPORT\n" " same as the port connection parameter\n" @@ -3752,7 +3827,7 @@ msgstr "" " PGPORT\n" " όμοια με την παράμετρο σύνδεσης θύρας\n" -#: help.c:538 +#: help.c:544 msgid "" " PGUSER\n" " same as the user connection parameter\n" @@ -3760,7 +3835,7 @@ msgstr "" " PGUSER\n" " όμοια με την παράμετρο σύνδεσης χρήστη\n" -#: help.c:540 +#: help.c:546 msgid "" " PSQL_EDITOR, EDITOR, VISUAL\n" " editor used by the \\e, \\ef, and \\ev commands\n" @@ -3768,15 +3843,15 @@ msgstr "" " PSQL_EDITOR, EDITOR, VISUAL\n" " πρόγραμμα επεξεργασίας κειμένου που χρησιμοποιείται από τις εντολές \\e, \\ef και \\ev\n" -#: help.c:542 +#: help.c:548 msgid "" " PSQL_EDITOR_LINENUMBER_ARG\n" " how to specify a line number when invoking the editor\n" msgstr "" " PSQL_EDITOR_LINENUMBER_ARG\n" -" τρόπος καθορισμού αριθμού γραμμής κατά την κλήση του προγράμματος επεξεργασίας κειμένου\n" +" τρόπος καθορισμού αριθμού γραμμής κατά την κλήση του επεξεργαστή κειμένου\n" -#: help.c:544 +#: help.c:550 msgid "" " PSQL_HISTORY\n" " alternative location for the command history file\n" @@ -3784,7 +3859,7 @@ msgstr "" " PSQL_HISTORY\n" " εναλλακτική τοποθεσία για το αρχείο ιστορικού εντολών\n" -#: help.c:546 +#: help.c:552 msgid "" " PSQL_PAGER, PAGER\n" " name of external pager program\n" @@ -3792,7 +3867,7 @@ msgstr "" " PSQL_PAGER, PAGER\n" " όνομα του εξωτερικού προγράμματος σελιδοποίησης\n" -#: help.c:549 +#: help.c:555 msgid "" " PSQL_WATCH_PAGER\n" " name of external pager program used for \\watch\n" @@ -3800,7 +3875,7 @@ msgstr "" " PSQL_WATCH_PAGER\n" " όνομα του εξωτερικού προγράμματος σελιδοποίησης για \\watch\n" -#: help.c:552 +#: help.c:558 msgid "" " PSQLRC\n" " alternative location for the user's .psqlrc file\n" @@ -3808,7 +3883,7 @@ msgstr "" " PSQLRC\n" " εναλλακτική τοποθεσία για το αρχείο .psqlrc του χρήστη\n" -#: help.c:554 +#: help.c:560 msgid "" " SHELL\n" " shell used by the \\! command\n" @@ -3816,7 +3891,7 @@ msgstr "" " SHELL\n" " shell που χρησιμοποιείται κατά την εντολή \\!\n" -#: help.c:556 +#: help.c:562 msgid "" " TMPDIR\n" " directory for temporary files\n" @@ -3824,11 +3899,11 @@ msgstr "" " TMPDIR\n" " κατάλογος για προσωρινά αρχεία\n" -#: help.c:616 +#: help.c:622 msgid "Available help:\n" msgstr "Διαθέσιμη βοήθεια:\n" -#: help.c:711 +#: help.c:717 #, c-format msgid "" "Command: %s\n" @@ -3847,7 +3922,7 @@ msgstr "" "Διεύθυνση URL: %s\n" "\n" -#: help.c:734 +#: help.c:740 #, c-format msgid "" "No help available for \"%s\".\n" @@ -3856,17 +3931,17 @@ msgstr "" "Δεν υπάρχει διαθέσιμη βοήθεια για το \"%s\".\n" "Δοκιμάστε \\h χωρίς παραμέτρους για να δείτε τη διαθέσιμη βοήθεια.\n" -#: input.c:217 +#: input.c:216 #, c-format msgid "could not read from input file: %m" msgstr "δεν ήταν δυνατή η ανάγνωση από αρχείο: %m" -#: input.c:478 input.c:516 +#: input.c:477 input.c:515 #, c-format msgid "could not save history to file \"%s\": %m" msgstr "δεν ήταν δυνατή η αποθήκευση του ιστορικού στο αρχείο «%s»: %m" -#: input.c:535 +#: input.c:534 #, c-format msgid "history is not supported by this installation" msgstr "το ιστορικό δεν υποστηρίζεται από την παρούσα εγκατάσταση" @@ -3953,12 +4028,12 @@ msgstr "το ερώτημα παραβλέφθηκε· χρησιμοποιήσ msgid "reached EOF without finding closing \\endif(s)" msgstr "έφτασε στο EOF χωρίς να βρεθούν τελικά \\endif(s)" -#: psqlscanslash.l:638 +#: psqlscanslash.l:640 #, c-format msgid "unterminated quoted string" msgstr "ανολοκλήρωτη συμβολοσειρά με εισαγωγικά" -#: psqlscanslash.l:811 +#: psqlscanslash.l:825 #, c-format msgid "%s: out of memory" msgstr "%s: έλλειψη μνήμης" @@ -4000,34 +4075,34 @@ msgstr "%s: έλλειψη μνήμης" #: 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:1749 sql_help.c:1765 sql_help.c:1996 -#: sql_help.c:2065 sql_help.c:2084 sql_help.c:2097 sql_help.c:2154 -#: sql_help.c:2161 sql_help.c:2171 sql_help.c:2197 sql_help.c:2228 -#: sql_help.c:2246 sql_help.c:2274 sql_help.c:2385 sql_help.c:2431 -#: sql_help.c:2456 sql_help.c:2479 sql_help.c:2483 sql_help.c:2517 -#: sql_help.c:2537 sql_help.c:2559 sql_help.c:2573 sql_help.c:2594 -#: sql_help.c:2623 sql_help.c:2658 sql_help.c:2683 sql_help.c:2730 -#: sql_help.c:3025 sql_help.c:3038 sql_help.c:3055 sql_help.c:3071 -#: sql_help.c:3111 sql_help.c:3165 sql_help.c:3169 sql_help.c:3171 -#: sql_help.c:3178 sql_help.c:3197 sql_help.c:3224 sql_help.c:3259 -#: sql_help.c:3271 sql_help.c:3280 sql_help.c:3324 sql_help.c:3338 -#: sql_help.c:3366 sql_help.c:3374 sql_help.c:3386 sql_help.c:3396 -#: sql_help.c:3404 sql_help.c:3412 sql_help.c:3420 sql_help.c:3428 -#: sql_help.c:3437 sql_help.c:3448 sql_help.c:3456 sql_help.c:3464 -#: sql_help.c:3472 sql_help.c:3480 sql_help.c:3490 sql_help.c:3499 -#: sql_help.c:3508 sql_help.c:3516 sql_help.c:3526 sql_help.c:3537 -#: sql_help.c:3545 sql_help.c:3554 sql_help.c:3565 sql_help.c:3574 -#: 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:3671 sql_help.c:3680 -#: sql_help.c:3688 sql_help.c:3705 sql_help.c:3720 sql_help.c:4030 -#: sql_help.c:4140 sql_help.c:4169 sql_help.c:4184 sql_help.c:4687 -#: sql_help.c:4735 sql_help.c:4893 +#: 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 msgid "name" msgstr "ονομασία" -#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:330 sql_help.c:1846 -#: sql_help.c:3339 sql_help.c:4455 +#: 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 msgid "aggregate_signature" msgstr "aggregate_signature" @@ -4048,7 +4123,7 @@ msgstr "new_name" #: 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:3011 +#: sql_help.c:1572 sql_help.c:1688 sql_help.c:3019 msgid "new_owner" msgstr "new_owner" @@ -4060,7 +4135,7 @@ msgstr "new_owner" msgid "new_schema" msgstr "new_schema" -#: sql_help.c:44 sql_help.c:1910 sql_help.c:3340 sql_help.c:4484 +#: sql_help.c:44 sql_help.c:1912 sql_help.c:3348 sql_help.c:4497 msgid "where aggregate_signature is:" msgstr "όπου aggregate_signature είναι:" @@ -4069,13 +4144,13 @@ msgstr "όπου aggregate_signature είναι:" #: 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:1864 sql_help.c:1881 sql_help.c:1887 sql_help.c:1911 -#: sql_help.c:1914 sql_help.c:1917 sql_help.c:2066 sql_help.c:2085 -#: sql_help.c:2088 sql_help.c:2386 sql_help.c:2595 sql_help.c:3341 -#: sql_help.c:3344 sql_help.c:3347 sql_help.c:3438 sql_help.c:3527 -#: sql_help.c:3555 sql_help.c:3905 sql_help.c:4354 sql_help.c:4461 -#: sql_help.c:4468 sql_help.c:4474 sql_help.c:4485 sql_help.c:4488 -#: sql_help.c:4491 +#: 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 msgid "argmode" msgstr "argmode" @@ -4084,12 +4159,12 @@ msgstr "argmode" #: 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:1865 sql_help.c:1882 sql_help.c:1888 sql_help.c:1912 -#: sql_help.c:1915 sql_help.c:1918 sql_help.c:2067 sql_help.c:2086 -#: sql_help.c:2089 sql_help.c:2387 sql_help.c:2596 sql_help.c:3342 -#: sql_help.c:3345 sql_help.c:3348 sql_help.c:3439 sql_help.c:3528 -#: sql_help.c:3556 sql_help.c:4462 sql_help.c:4469 sql_help.c:4475 -#: sql_help.c:4486 sql_help.c:4489 sql_help.c:4492 +#: 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 msgid "argname" msgstr "argname" @@ -4098,44 +4173,44 @@ msgstr "argname" #: 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:1866 sql_help.c:1883 sql_help.c:1889 sql_help.c:1913 -#: sql_help.c:1916 sql_help.c:1919 sql_help.c:2388 sql_help.c:2597 -#: sql_help.c:3343 sql_help.c:3346 sql_help.c:3349 sql_help.c:3440 -#: sql_help.c:3529 sql_help.c:3557 sql_help.c:4463 sql_help.c:4470 -#: sql_help.c:4476 sql_help.c:4487 sql_help.c:4490 sql_help.c:4493 +#: 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 msgid "argtype" msgstr "argtype" #: 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:1718 sql_help.c:1781 sql_help.c:1967 sql_help.c:1974 -#: sql_help.c:2277 sql_help.c:2327 sql_help.c:2334 sql_help.c:2343 -#: sql_help.c:2432 sql_help.c:2659 sql_help.c:2752 sql_help.c:3040 -#: sql_help.c:3225 sql_help.c:3247 sql_help.c:3387 sql_help.c:3742 -#: sql_help.c:3949 sql_help.c:4183 sql_help.c:4956 +#: 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 msgid "option" msgstr "επιλογή" -#: sql_help.c:115 sql_help.c:950 sql_help.c:1635 sql_help.c:2433 -#: sql_help.c:2660 sql_help.c:3226 sql_help.c:3388 +#: 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 msgid "where option can be:" msgstr "όπου option μπορεί να είναι:" -#: sql_help.c:116 sql_help.c:2209 +#: sql_help.c:116 sql_help.c:2217 msgid "allowconn" msgstr "allowconn" -#: sql_help.c:117 sql_help.c:951 sql_help.c:1636 sql_help.c:2210 -#: sql_help.c:2434 sql_help.c:2661 sql_help.c:3227 +#: 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 msgid "connlimit" msgstr "connlimit" -#: sql_help.c:118 sql_help.c:2211 +#: sql_help.c:118 sql_help.c:2219 msgid "istemplate" msgstr "istemplate" #: sql_help.c:124 sql_help.c:611 sql_help.c:679 sql_help.c:693 sql_help.c:1322 -#: sql_help.c:1374 sql_help.c:4187 +#: sql_help.c:1374 sql_help.c:4200 msgid "new_tablespace" msgstr "new_tablespace" @@ -4143,8 +4218,8 @@ msgstr "new_tablespace" #: 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:2398 sql_help.c:2601 -#: sql_help.c:3917 sql_help.c:4205 sql_help.c:4366 sql_help.c:4675 +#: 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 msgid "configuration_parameter" msgstr "configuration_parameter" @@ -4155,13 +4230,13 @@ msgstr "configuration_parameter" #: 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:2278 sql_help.c:2328 sql_help.c:2335 sql_help.c:2344 -#: sql_help.c:2399 sql_help.c:2400 sql_help.c:2464 sql_help.c:2467 -#: sql_help.c:2501 sql_help.c:2602 sql_help.c:2603 sql_help.c:2626 -#: sql_help.c:2753 sql_help.c:2792 sql_help.c:2902 sql_help.c:2915 -#: sql_help.c:2929 sql_help.c:2970 sql_help.c:2997 sql_help.c:3014 -#: sql_help.c:3041 sql_help.c:3248 sql_help.c:3950 sql_help.c:4676 -#: sql_help.c:4677 sql_help.c:4678 sql_help.c:4679 +#: 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 msgid "value" msgstr "value" @@ -4169,10 +4244,10 @@ msgstr "value" msgid "target_role" msgstr "target_role" -#: sql_help.c:201 sql_help.c:913 sql_help.c:2262 sql_help.c:2631 -#: sql_help.c:2708 sql_help.c:2713 sql_help.c:3880 sql_help.c:3889 -#: sql_help.c:3908 sql_help.c:3920 sql_help.c:4329 sql_help.c:4338 -#: sql_help.c:4357 sql_help.c:4369 +#: 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 msgid "schema_name" msgstr "schema_name" @@ -4187,31 +4262,31 @@ msgstr "όπου abbreviated_grant_or_revoke είναι ένα από:" #: sql_help.c:204 sql_help.c:205 sql_help.c:206 sql_help.c:207 sql_help.c:208 #: sql_help.c:209 sql_help.c:210 sql_help.c:211 sql_help.c:212 sql_help.c:213 #: sql_help.c:574 sql_help.c:610 sql_help.c:678 sql_help.c:822 sql_help.c:969 -#: sql_help.c:1321 sql_help.c:1654 sql_help.c:2437 sql_help.c:2438 -#: sql_help.c:2439 sql_help.c:2440 sql_help.c:2441 sql_help.c:2575 -#: sql_help.c:2664 sql_help.c:2665 sql_help.c:2666 sql_help.c:2667 -#: sql_help.c:2668 sql_help.c:3230 sql_help.c:3231 sql_help.c:3232 -#: sql_help.c:3233 sql_help.c:3234 sql_help.c:3929 sql_help.c:3933 -#: sql_help.c:4378 sql_help.c:4382 sql_help.c:4697 +#: 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 msgid "role_name" msgstr "role_name" #: 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:2231 sql_help.c:2235 sql_help.c:2347 sql_help.c:2352 -#: sql_help.c:2460 sql_help.c:2630 sql_help.c:2769 sql_help.c:2774 -#: sql_help.c:2776 sql_help.c:2897 sql_help.c:2910 sql_help.c:2924 -#: sql_help.c:2933 sql_help.c:2945 sql_help.c:2974 sql_help.c:3981 -#: sql_help.c:3996 sql_help.c:3998 sql_help.c:4085 sql_help.c:4088 -#: sql_help.c:4090 sql_help.c:4548 sql_help.c:4549 sql_help.c:4558 -#: sql_help.c:4605 sql_help.c:4606 sql_help.c:4607 sql_help.c:4608 -#: sql_help.c:4609 sql_help.c:4610 sql_help.c:4650 sql_help.c:4651 -#: sql_help.c:4656 sql_help.c:4661 sql_help.c:4805 sql_help.c:4806 -#: sql_help.c:4815 sql_help.c:4862 sql_help.c:4863 sql_help.c:4864 -#: sql_help.c:4865 sql_help.c:4866 sql_help.c:4867 sql_help.c:4921 -#: sql_help.c:4923 sql_help.c:4983 sql_help.c:5043 sql_help.c:5044 -#: sql_help.c:5053 sql_help.c:5100 sql_help.c:5101 sql_help.c:5102 -#: sql_help.c:5103 sql_help.c:5104 sql_help.c:5105 +#: 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 msgid "expression" msgstr "expression" @@ -4221,9 +4296,9 @@ msgstr "domain_constraint" #: 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:1852 -#: sql_help.c:1854 sql_help.c:2234 sql_help.c:2346 sql_help.c:2351 -#: sql_help.c:2932 sql_help.c:2944 sql_help.c:3993 +#: 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 msgid "constraint_name" msgstr "constraint_name" @@ -4247,82 +4322,82 @@ msgstr "όπου member_object είναι:" #: 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:1844 sql_help.c:1849 sql_help.c:1856 -#: sql_help.c:1857 sql_help.c:1858 sql_help.c:1859 sql_help.c:1860 -#: sql_help.c:1861 sql_help.c:1862 sql_help.c:1867 sql_help.c:1869 -#: sql_help.c:1873 sql_help.c:1875 sql_help.c:1879 sql_help.c:1884 -#: sql_help.c:1885 sql_help.c:1892 sql_help.c:1893 sql_help.c:1894 -#: sql_help.c:1895 sql_help.c:1896 sql_help.c:1897 sql_help.c:1898 -#: sql_help.c:1899 sql_help.c:1900 sql_help.c:1901 sql_help.c:1902 -#: sql_help.c:1907 sql_help.c:1908 sql_help.c:4451 sql_help.c:4456 -#: sql_help.c:4457 sql_help.c:4458 sql_help.c:4459 sql_help.c:4465 -#: sql_help.c:4466 sql_help.c:4471 sql_help.c:4472 sql_help.c:4477 -#: sql_help.c:4478 sql_help.c:4479 sql_help.c:4480 sql_help.c:4481 -#: sql_help.c:4482 +#: sql_help.c:371 sql_help.c:1846 sql_help.c:1851 sql_help.c:1858 +#: sql_help.c:1859 sql_help.c:1860 sql_help.c:1861 sql_help.c:1862 +#: sql_help.c:1863 sql_help.c:1864 sql_help.c:1869 sql_help.c:1871 +#: sql_help.c:1875 sql_help.c:1877 sql_help.c:1881 sql_help.c:1886 +#: sql_help.c:1887 sql_help.c:1894 sql_help.c:1895 sql_help.c:1896 +#: sql_help.c:1897 sql_help.c:1898 sql_help.c:1899 sql_help.c:1900 +#: sql_help.c:1901 sql_help.c:1902 sql_help.c:1903 sql_help.c:1904 +#: sql_help.c:1909 sql_help.c:1910 sql_help.c:4464 sql_help.c:4469 +#: sql_help.c:4470 sql_help.c:4471 sql_help.c:4472 sql_help.c:4478 +#: sql_help.c:4479 sql_help.c:4484 sql_help.c:4485 sql_help.c:4490 +#: sql_help.c:4491 sql_help.c:4492 sql_help.c:4493 sql_help.c:4494 +#: sql_help.c:4495 msgid "object_name" msgstr "object_name" -#: sql_help.c:329 sql_help.c:1845 sql_help.c:4454 +#: sql_help.c:329 sql_help.c:1847 sql_help.c:4467 msgid "aggregate_name" msgstr "aggregate_name" -#: sql_help.c:331 sql_help.c:1847 sql_help.c:2131 sql_help.c:2135 -#: sql_help.c:2137 sql_help.c:3357 +#: sql_help.c:331 sql_help.c:1849 sql_help.c:2135 sql_help.c:2139 +#: sql_help.c:2141 sql_help.c:3365 msgid "source_type" msgstr "source_type" -#: sql_help.c:332 sql_help.c:1848 sql_help.c:2132 sql_help.c:2136 -#: sql_help.c:2138 sql_help.c:3358 +#: sql_help.c:332 sql_help.c:1850 sql_help.c:2136 sql_help.c:2140 +#: sql_help.c:2142 sql_help.c:3366 msgid "target_type" msgstr "source_type" -#: sql_help.c:339 sql_help.c:786 sql_help.c:1863 sql_help.c:2133 -#: sql_help.c:2174 sql_help.c:2250 sql_help.c:2518 sql_help.c:2549 -#: sql_help.c:3117 sql_help.c:4353 sql_help.c:4460 sql_help.c:4577 -#: sql_help.c:4581 sql_help.c:4585 sql_help.c:4588 sql_help.c:4834 -#: sql_help.c:4838 sql_help.c:4842 sql_help.c:4845 sql_help.c:5072 -#: sql_help.c:5076 sql_help.c:5080 sql_help.c:5083 +#: 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 msgid "function_name" msgstr "function_name" -#: sql_help.c:344 sql_help.c:779 sql_help.c:1870 sql_help.c:2542 +#: sql_help.c:344 sql_help.c:779 sql_help.c:1872 sql_help.c:2550 msgid "operator_name" msgstr "operator_name" -#: sql_help.c:345 sql_help.c:715 sql_help.c:719 sql_help.c:723 sql_help.c:1871 -#: sql_help.c:2519 sql_help.c:3481 +#: 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 msgid "left_type" msgstr "source_type" -#: sql_help.c:346 sql_help.c:716 sql_help.c:720 sql_help.c:724 sql_help.c:1872 -#: sql_help.c:2520 sql_help.c:3482 +#: 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 msgid "right_type" msgstr "source_type" #: 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:1874 sql_help.c:1876 sql_help.c:2539 -#: sql_help.c:2560 sql_help.c:2950 sql_help.c:3491 sql_help.c:3500 +#: 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 msgid "index_method" msgstr "source_type" -#: sql_help.c:352 sql_help.c:1880 sql_help.c:4467 +#: sql_help.c:352 sql_help.c:1882 sql_help.c:4480 msgid "procedure_name" msgstr "procedure_name" -#: sql_help.c:356 sql_help.c:1886 sql_help.c:3904 sql_help.c:4473 +#: sql_help.c:356 sql_help.c:1888 sql_help.c:3914 sql_help.c:4486 msgid "routine_name" msgstr "routine_name" -#: sql_help.c:368 sql_help.c:1380 sql_help.c:1903 sql_help.c:2394 -#: sql_help.c:2600 sql_help.c:2905 sql_help.c:3084 sql_help.c:3662 -#: sql_help.c:3926 sql_help.c:4375 +#: 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 msgid "type_name" msgstr "type_name" -#: sql_help.c:369 sql_help.c:1904 sql_help.c:2393 sql_help.c:2599 -#: sql_help.c:3085 sql_help.c:3315 sql_help.c:3663 sql_help.c:3911 -#: sql_help.c:4360 +#: 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 msgid "lang_name" msgstr "lang_name" @@ -4330,11 +4405,11 @@ msgstr "lang_name" msgid "and aggregate_signature is:" msgstr "και aggregate_signature είναι:" -#: sql_help.c:395 sql_help.c:1998 sql_help.c:2275 +#: sql_help.c:395 sql_help.c:2002 sql_help.c:2283 msgid "handler_function" msgstr "handler_function" -#: sql_help.c:396 sql_help.c:2276 +#: sql_help.c:396 sql_help.c:2284 msgid "validator_function" msgstr "validator_function" @@ -4353,21 +4428,21 @@ msgstr "action" #: 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:1726 sql_help.c:1851 -#: sql_help.c:1964 sql_help.c:1970 sql_help.c:1983 sql_help.c:1984 -#: sql_help.c:1985 sql_help.c:2325 sql_help.c:2338 sql_help.c:2391 -#: sql_help.c:2459 sql_help.c:2465 sql_help.c:2498 sql_help.c:2629 -#: sql_help.c:2738 sql_help.c:2773 sql_help.c:2775 sql_help.c:2887 -#: sql_help.c:2896 sql_help.c:2906 sql_help.c:2909 sql_help.c:2919 -#: sql_help.c:2923 sql_help.c:2946 sql_help.c:2948 sql_help.c:2955 -#: sql_help.c:2968 sql_help.c:2973 sql_help.c:2977 sql_help.c:2978 -#: sql_help.c:2994 sql_help.c:3120 sql_help.c:3260 sql_help.c:3883 -#: sql_help.c:3884 sql_help.c:3980 sql_help.c:3995 sql_help.c:3997 -#: sql_help.c:3999 sql_help.c:4084 sql_help.c:4087 sql_help.c:4089 -#: sql_help.c:4332 sql_help.c:4333 sql_help.c:4453 sql_help.c:4614 -#: sql_help.c:4620 sql_help.c:4622 sql_help.c:4871 sql_help.c:4877 -#: sql_help.c:4879 sql_help.c:4920 sql_help.c:4922 sql_help.c:4924 -#: sql_help.c:4971 sql_help.c:5109 sql_help.c:5115 sql_help.c:5117 +#: 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 msgid "column_name" msgstr "column_name" @@ -4381,25 +4456,25 @@ msgid "where action is one of:" msgstr "όπου action είναι ένα από:" #: 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:2229 -#: sql_help.c:2326 sql_help.c:2538 sql_help.c:2731 sql_help.c:2888 -#: sql_help.c:3167 sql_help.c:4141 +#: 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 msgid "data_type" msgstr "data_type" #: 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:2230 sql_help.c:2329 -#: sql_help.c:2461 sql_help.c:2890 sql_help.c:2898 sql_help.c:2911 -#: sql_help.c:2925 sql_help.c:3168 sql_help.c:3174 sql_help.c:3990 +#: 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 msgid "collation" msgstr "collation" -#: sql_help.c:456 sql_help.c:1332 sql_help.c:2330 sql_help.c:2339 -#: sql_help.c:2891 sql_help.c:2907 sql_help.c:2920 +#: 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 msgid "column_constraint" msgstr "column_constraint" -#: sql_help.c:466 sql_help.c:608 sql_help.c:682 sql_help.c:1350 sql_help.c:4968 +#: sql_help.c:466 sql_help.c:608 sql_help.c:682 sql_help.c:1350 sql_help.c:4986 msgid "integer" msgstr "integer" @@ -4408,67 +4483,67 @@ msgstr "integer" msgid "attribute_option" msgstr "attribute_option" -#: sql_help.c:476 sql_help.c:1359 sql_help.c:2331 sql_help.c:2340 -#: sql_help.c:2892 sql_help.c:2908 sql_help.c:2921 +#: 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 msgid "table_constraint" msgstr "table_constraint" #: 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:1905 +#: sql_help.c:1365 sql_help.c:1366 sql_help.c:1367 sql_help.c:1907 msgid "trigger_name" msgstr "trigger_name" #: sql_help.c:483 sql_help.c:484 sql_help.c:1378 sql_help.c:1379 -#: sql_help.c:2332 sql_help.c:2337 sql_help.c:2895 sql_help.c:2918 +#: sql_help.c:2340 sql_help.c:2345 sql_help.c:2903 sql_help.c:2926 msgid "parent_table" msgstr "parent_table" #: 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:2261 +#: sql_help.c:1550 sql_help.c:2269 msgid "extension_name" msgstr "extension_name" -#: sql_help.c:545 sql_help.c:1025 sql_help.c:2395 +#: sql_help.c:545 sql_help.c:1025 sql_help.c:2403 msgid "execution_cost" msgstr "execution_cost" -#: sql_help.c:546 sql_help.c:1026 sql_help.c:2396 +#: sql_help.c:546 sql_help.c:1026 sql_help.c:2404 msgid "result_rows" msgstr "result_rows" -#: sql_help.c:547 sql_help.c:2397 +#: sql_help.c:547 sql_help.c:2405 msgid "support_function" msgstr "support_function" #: 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:2709 -#: sql_help.c:2711 sql_help.c:2714 sql_help.c:2715 sql_help.c:3881 -#: sql_help.c:3882 sql_help.c:3886 sql_help.c:3887 sql_help.c:3890 -#: sql_help.c:3891 sql_help.c:3893 sql_help.c:3894 sql_help.c:3896 -#: sql_help.c:3897 sql_help.c:3899 sql_help.c:3900 sql_help.c:3902 -#: sql_help.c:3903 sql_help.c:3909 sql_help.c:3910 sql_help.c:3912 -#: sql_help.c:3913 sql_help.c:3915 sql_help.c:3916 sql_help.c:3918 -#: sql_help.c:3919 sql_help.c:3921 sql_help.c:3922 sql_help.c:3924 -#: sql_help.c:3925 sql_help.c:3927 sql_help.c:3928 sql_help.c:3930 -#: sql_help.c:3931 sql_help.c:4330 sql_help.c:4331 sql_help.c:4335 -#: sql_help.c:4336 sql_help.c:4339 sql_help.c:4340 sql_help.c:4342 -#: sql_help.c:4343 sql_help.c:4345 sql_help.c:4346 sql_help.c:4348 -#: sql_help.c:4349 sql_help.c:4351 sql_help.c:4352 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:4367 sql_help.c:4368 sql_help.c:4370 -#: sql_help.c:4371 sql_help.c:4373 sql_help.c:4374 sql_help.c:4376 -#: sql_help.c:4377 sql_help.c:4379 sql_help.c:4380 +#: sql_help.c: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 msgid "role_specification" msgstr "role_specification" -#: sql_help.c:570 sql_help.c:572 sql_help.c:1664 sql_help.c:2198 -#: sql_help.c:2717 sql_help.c:3245 sql_help.c:3696 sql_help.c:4707 +#: 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 msgid "user_name" msgstr "user_name" -#: sql_help.c:573 sql_help.c:968 sql_help.c:1653 sql_help.c:2716 -#: sql_help.c:3932 sql_help.c:4381 +#: sql_help.c:573 sql_help.c:968 sql_help.c:1653 sql_help.c:2724 +#: sql_help.c:3942 sql_help.c:4394 msgid "where role_specification can be:" msgstr "όπου role_specification μπορεί να είναι:" @@ -4476,22 +4551,22 @@ msgstr "όπου role_specification μπορεί να είναι:" msgid "group_name" msgstr "group_name" -#: sql_help.c:596 sql_help.c:1425 sql_help.c:2208 sql_help.c:2468 -#: sql_help.c:2502 sql_help.c:2903 sql_help.c:2916 sql_help.c:2930 -#: sql_help.c:2971 sql_help.c:2998 sql_help.c:3010 sql_help.c:3923 -#: sql_help.c:4372 +#: 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 msgid "tablespace_name" msgstr "group_name" #: sql_help.c:598 sql_help.c:691 sql_help.c:1372 sql_help.c:1382 -#: sql_help.c:1420 sql_help.c:1780 sql_help.c:1783 +#: sql_help.c:1420 sql_help.c:1782 sql_help.c:1785 msgid "index_name" msgstr "index_name" #: 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:2466 sql_help.c:2500 -#: sql_help.c:2901 sql_help.c:2914 sql_help.c:2928 sql_help.c:2969 -#: sql_help.c:2996 +#: 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 msgid "storage_parameter" msgstr "storage_parameter" @@ -4499,11 +4574,11 @@ msgstr "storage_parameter" msgid "column_number" msgstr "column_number" -#: sql_help.c:631 sql_help.c:1868 sql_help.c:4464 +#: sql_help.c:631 sql_help.c:1870 sql_help.c:4477 msgid "large_object_oid" msgstr "large_object_oid" -#: sql_help.c:690 sql_help.c:1358 sql_help.c:2889 +#: sql_help.c:690 sql_help.c:1358 sql_help.c:2897 msgid "compression_method" msgstr "compression_method" @@ -4511,104 +4586,104 @@ msgstr "compression_method" msgid "new_access_method" msgstr "new_access_method" -#: sql_help.c:725 sql_help.c:2523 +#: sql_help.c:725 sql_help.c:2531 msgid "res_proc" msgstr "res_proc" -#: sql_help.c:726 sql_help.c:2524 +#: sql_help.c:726 sql_help.c:2532 msgid "join_proc" msgstr "join_proc" -#: sql_help.c:778 sql_help.c:790 sql_help.c:2541 +#: sql_help.c:778 sql_help.c:790 sql_help.c:2549 msgid "strategy_number" msgstr "strategy_number" #: 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:2543 sql_help.c:2544 -#: sql_help.c:2547 sql_help.c:2548 +#: 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 msgid "op_type" msgstr "op_type" -#: sql_help.c:782 sql_help.c:2545 +#: sql_help.c:782 sql_help.c:2553 msgid "sort_family_name" msgstr "index_name" -#: sql_help.c:783 sql_help.c:793 sql_help.c:2546 +#: sql_help.c:783 sql_help.c:793 sql_help.c:2554 msgid "support_number" msgstr "support_number" -#: sql_help.c:787 sql_help.c:2134 sql_help.c:2550 sql_help.c:3087 -#: sql_help.c:3089 +#: sql_help.c:787 sql_help.c:2138 sql_help.c:2558 sql_help.c:3095 +#: sql_help.c:3097 msgid "argument_type" msgstr "argument_type" #: 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:1725 sql_help.c:1779 -#: sql_help.c:1782 sql_help.c:1853 sql_help.c:1878 sql_help.c:1891 -#: sql_help.c:1906 sql_help.c:1963 sql_help.c:1969 sql_help.c:2324 -#: sql_help.c:2336 sql_help.c:2457 sql_help.c:2497 sql_help.c:2574 -#: sql_help.c:2628 sql_help.c:2685 sql_help.c:2737 sql_help.c:2770 -#: sql_help.c:2777 sql_help.c:2886 sql_help.c:2904 sql_help.c:2917 -#: sql_help.c:2993 sql_help.c:3113 sql_help.c:3294 sql_help.c:3517 -#: sql_help.c:3566 sql_help.c:3672 sql_help.c:3879 sql_help.c:3885 -#: sql_help.c:3946 sql_help.c:3978 sql_help.c:4328 sql_help.c:4334 -#: sql_help.c:4452 sql_help.c:4563 sql_help.c:4565 sql_help.c:4627 -#: sql_help.c:4666 sql_help.c:4820 sql_help.c:4822 sql_help.c:4884 -#: sql_help.c:4918 sql_help.c:4970 sql_help.c:5058 sql_help.c:5060 -#: sql_help.c:5122 +#: 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 msgid "table_name" msgstr "table_name" -#: sql_help.c:823 sql_help.c:2576 +#: sql_help.c:823 sql_help.c:2584 msgid "using_expression" msgstr "using_expression" -#: sql_help.c:824 sql_help.c:2577 +#: sql_help.c:824 sql_help.c:2585 msgid "check_expression" msgstr "check_expression" -#: sql_help.c:897 sql_help.c:899 sql_help.c:901 sql_help.c:2624 +#: sql_help.c:897 sql_help.c:899 sql_help.c:901 sql_help.c:2632 msgid "publication_object" msgstr "publication_object" -#: sql_help.c:903 sql_help.c:2625 +#: sql_help.c:903 sql_help.c:2633 msgid "publication_parameter" msgstr "publication_parameter" -#: sql_help.c:909 sql_help.c:2627 +#: sql_help.c:909 sql_help.c:2635 msgid "where publication_object is one of:" msgstr "όπου publication_object είναι ένα από:" -#: sql_help.c:952 sql_help.c:1637 sql_help.c:2435 sql_help.c:2662 -#: sql_help.c:3228 +#: sql_help.c:952 sql_help.c:1637 sql_help.c:2443 sql_help.c:2670 +#: sql_help.c:3236 msgid "password" msgstr "password" -#: sql_help.c:953 sql_help.c:1638 sql_help.c:2436 sql_help.c:2663 -#: sql_help.c:3229 +#: sql_help.c:953 sql_help.c:1638 sql_help.c:2444 sql_help.c:2671 +#: sql_help.c:3237 msgid "timestamp" msgstr "timestamp" #: 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:3892 -#: sql_help.c:4341 +#: sql_help.c:1646 sql_help.c:1649 sql_help.c:1652 sql_help.c:3902 +#: sql_help.c:4354 msgid "database_name" msgstr "database_name" -#: sql_help.c:1073 sql_help.c:2732 +#: sql_help.c:1073 sql_help.c:2740 msgid "increment" msgstr "increment" -#: sql_help.c:1074 sql_help.c:2733 +#: sql_help.c:1074 sql_help.c:2741 msgid "minvalue" msgstr "minvalue" -#: sql_help.c:1075 sql_help.c:2734 +#: sql_help.c:1075 sql_help.c:2742 msgid "maxvalue" msgstr "maxvalue" -#: sql_help.c:1076 sql_help.c:2735 sql_help.c:4561 sql_help.c:4664 -#: sql_help.c:4818 sql_help.c:4987 sql_help.c:5056 +#: 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 msgid "start" msgstr "start" @@ -4616,7 +4691,7 @@ msgstr "start" msgid "restart" msgstr "restart" -#: sql_help.c:1078 sql_help.c:2736 +#: sql_help.c:1078 sql_help.c:2744 msgid "cache" msgstr "cache" @@ -4624,11 +4699,11 @@ msgstr "cache" msgid "new_target" msgstr "new_target" -#: sql_help.c:1142 sql_help.c:2789 +#: sql_help.c:1142 sql_help.c:2797 msgid "conninfo" msgstr "conninfo" -#: sql_help.c:1144 sql_help.c:1148 sql_help.c:1152 sql_help.c:2790 +#: sql_help.c:1144 sql_help.c:1148 sql_help.c:1152 sql_help.c:2798 msgid "publication_name" msgstr "publication_name" @@ -4640,7 +4715,7 @@ msgstr "publication_option" msgid "refresh_option" msgstr "refresh_option" -#: sql_help.c:1161 sql_help.c:2791 +#: sql_help.c:1161 sql_help.c:2799 msgid "subscription_parameter" msgstr "subscription_parameter" @@ -4652,11 +4727,11 @@ msgstr "skip_option" msgid "partition_name" msgstr "partition_name" -#: sql_help.c:1325 sql_help.c:2341 sql_help.c:2922 +#: sql_help.c:1325 sql_help.c:2349 sql_help.c:2930 msgid "partition_bound_spec" msgstr "partition_bound_spec" -#: sql_help.c:1344 sql_help.c:1394 sql_help.c:2936 +#: sql_help.c:1344 sql_help.c:1394 sql_help.c:2944 msgid "sequence_options" msgstr "sequence_options" @@ -4672,18 +4747,18 @@ msgstr "table_constraint_using_index" msgid "rewrite_rule_name" msgstr "rewrite_rule_name" -#: sql_help.c:1383 sql_help.c:2353 sql_help.c:2961 +#: sql_help.c:1383 sql_help.c:2361 sql_help.c:2969 msgid "and partition_bound_spec is:" msgstr "και partition_bound_spec είναι:" -#: sql_help.c:1384 sql_help.c:1385 sql_help.c:1386 sql_help.c:2354 -#: sql_help.c:2355 sql_help.c:2356 sql_help.c:2962 sql_help.c:2963 -#: sql_help.c:2964 +#: 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 msgid "partition_bound_expr" msgstr "partition_bound_expr" -#: sql_help.c:1387 sql_help.c:1388 sql_help.c:2357 sql_help.c:2358 -#: sql_help.c:2965 sql_help.c:2966 +#: sql_help.c:1387 sql_help.c:1388 sql_help.c:2365 sql_help.c:2366 +#: sql_help.c:2973 sql_help.c:2974 msgid "numeric_literal" msgstr "numeric_literal" @@ -4691,48 +4766,48 @@ msgstr "numeric_literal" msgid "and column_constraint is:" msgstr "και column_constraint είναι:" -#: sql_help.c:1392 sql_help.c:2348 sql_help.c:2389 sql_help.c:2598 -#: sql_help.c:2934 +#: sql_help.c:1392 sql_help.c:2356 sql_help.c:2397 sql_help.c:2606 +#: sql_help.c:2942 msgid "default_expr" msgstr "default_expr" -#: sql_help.c:1393 sql_help.c:2349 sql_help.c:2935 +#: sql_help.c:1393 sql_help.c:2357 sql_help.c:2943 msgid "generation_expr" msgstr "generation_expr" #: sql_help.c:1395 sql_help.c:1396 sql_help.c:1405 sql_help.c:1407 -#: sql_help.c:1411 sql_help.c:2937 sql_help.c:2938 sql_help.c:2947 -#: sql_help.c:2949 sql_help.c:2953 +#: sql_help.c:1411 sql_help.c:2945 sql_help.c:2946 sql_help.c:2955 +#: sql_help.c:2957 sql_help.c:2961 msgid "index_parameters" msgstr "index_parameters" -#: sql_help.c:1397 sql_help.c:1414 sql_help.c:2939 sql_help.c:2956 +#: sql_help.c:1397 sql_help.c:1414 sql_help.c:2947 sql_help.c:2964 msgid "reftable" msgstr "reftable" -#: sql_help.c:1398 sql_help.c:1415 sql_help.c:2940 sql_help.c:2957 +#: sql_help.c:1398 sql_help.c:1415 sql_help.c:2948 sql_help.c:2965 msgid "refcolumn" msgstr "refcolumn" #: sql_help.c:1399 sql_help.c:1400 sql_help.c:1416 sql_help.c:1417 -#: sql_help.c:2941 sql_help.c:2942 sql_help.c:2958 sql_help.c:2959 +#: sql_help.c:2949 sql_help.c:2950 sql_help.c:2966 sql_help.c:2967 msgid "referential_action" msgstr "referential_action" -#: sql_help.c:1401 sql_help.c:2350 sql_help.c:2943 +#: sql_help.c:1401 sql_help.c:2358 sql_help.c:2951 msgid "and table_constraint is:" msgstr "και table_constraint είναι:" -#: sql_help.c:1409 sql_help.c:2951 +#: sql_help.c:1409 sql_help.c:2959 msgid "exclude_element" msgstr "exclude_element" -#: sql_help.c:1410 sql_help.c:2952 sql_help.c:4559 sql_help.c:4662 -#: sql_help.c:4816 sql_help.c:4985 sql_help.c:5054 +#: 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 msgid "operator" msgstr "operator" -#: sql_help.c:1412 sql_help.c:2469 sql_help.c:2954 +#: sql_help.c:1412 sql_help.c:2477 sql_help.c:2962 msgid "predicate" msgstr "predicate" @@ -4740,24 +4815,24 @@ msgstr "predicate" msgid "and table_constraint_using_index is:" msgstr "και table_constraint_using_index είναι:" -#: sql_help.c:1421 sql_help.c:2967 +#: sql_help.c:1421 sql_help.c:2975 msgid "index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are:" msgstr "index_parameters για περιορισμούς UNIQUE, PRIMARY KEY και EXCLUDE είναι:" -#: sql_help.c:1426 sql_help.c:2972 +#: sql_help.c:1426 sql_help.c:2980 msgid "exclude_element in an EXCLUDE constraint is:" msgstr "exclude_element σε έναν περιορισμό τύπου EXCLUDE είναι:" -#: sql_help.c:1429 sql_help.c:2462 sql_help.c:2899 sql_help.c:2912 -#: sql_help.c:2926 sql_help.c:2975 sql_help.c:3991 +#: 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 msgid "opclass" msgstr "opclass" -#: sql_help.c:1430 sql_help.c:2976 +#: sql_help.c:1430 sql_help.c:2984 msgid "referential_action in a FOREIGN KEY/REFERENCES constraint is:" msgstr "referential_action σε ένα περιορισμό FOREIGN KEY/REFERENCES είναι:" -#: sql_help.c:1448 sql_help.c:1451 sql_help.c:3013 +#: sql_help.c:1448 sql_help.c:1451 sql_help.c:3021 msgid "tablespace_option" msgstr "tablespace_option" @@ -4778,7 +4853,7 @@ msgid "new_dictionary" msgstr "new_dictionary" #: sql_help.c:1578 sql_help.c:1592 sql_help.c:1595 sql_help.c:1596 -#: sql_help.c:3166 +#: sql_help.c:3174 msgid "attribute_name" msgstr "attribute_name" @@ -4802,1574 +4877,1591 @@ msgstr "existing_enum_value" msgid "property" msgstr "property" -#: sql_help.c:1665 sql_help.c:2333 sql_help.c:2342 sql_help.c:2748 -#: sql_help.c:3246 sql_help.c:3697 sql_help.c:3901 sql_help.c:3947 -#: sql_help.c:4350 +#: 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 msgid "server_name" msgstr "server_name" -#: sql_help.c:1697 sql_help.c:1700 sql_help.c:3261 +#: sql_help.c:1697 sql_help.c:1700 sql_help.c:3269 msgid "view_option_name" msgstr "view_option_name" -#: sql_help.c:1698 sql_help.c:3262 +#: sql_help.c:1698 sql_help.c:3270 msgid "view_option_value" msgstr "view_option_value" -#: sql_help.c:1719 sql_help.c:1720 sql_help.c:4957 sql_help.c:4958 +#: sql_help.c:1720 sql_help.c:1721 sql_help.c:4974 sql_help.c:4975 msgid "table_and_columns" msgstr "table_and_columns" -#: sql_help.c:1721 sql_help.c:1784 sql_help.c:1975 sql_help.c:3745 -#: sql_help.c:4185 sql_help.c:4959 +#: sql_help.c:1722 sql_help.c:1786 sql_help.c:1978 sql_help.c:3754 +#: sql_help.c:4198 sql_help.c:4976 msgid "where option can be one of:" msgstr "όπου option μπορεί να είναι ένα από:" -#: sql_help.c:1722 sql_help.c:1723 sql_help.c:1785 sql_help.c:1977 -#: sql_help.c:1980 sql_help.c:2159 sql_help.c:3746 sql_help.c:3747 -#: sql_help.c:3748 sql_help.c:3749 sql_help.c:3750 sql_help.c:3751 -#: sql_help.c:3752 sql_help.c:3753 sql_help.c:4186 sql_help.c:4188 -#: sql_help.c:4960 sql_help.c:4961 sql_help.c:4962 sql_help.c:4963 -#: sql_help.c:4964 sql_help.c:4965 sql_help.c:4966 sql_help.c:4967 +#: 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 msgid "boolean" msgstr "boolean" -#: sql_help.c:1724 sql_help.c:4969 +#: sql_help.c:1725 sql_help.c:4989 +msgid "size" +msgstr "μέγεθος" + +#: sql_help.c:1726 sql_help.c:4990 msgid "and table_and_columns is:" msgstr "και table_and_columns είναι:" -#: sql_help.c:1740 sql_help.c:4723 sql_help.c:4725 sql_help.c:4749 +#: sql_help.c:1742 sql_help.c:4736 sql_help.c:4738 sql_help.c:4762 msgid "transaction_mode" msgstr "transaction_mode" -#: sql_help.c:1741 sql_help.c:4726 sql_help.c:4750 +#: sql_help.c:1743 sql_help.c:4739 sql_help.c:4763 msgid "where transaction_mode is one of:" msgstr "όπου transaction_mode είναι ένα από:" -#: sql_help.c:1750 sql_help.c:4569 sql_help.c:4578 sql_help.c:4582 -#: sql_help.c:4586 sql_help.c:4589 sql_help.c:4826 sql_help.c:4835 -#: sql_help.c:4839 sql_help.c:4843 sql_help.c:4846 sql_help.c:5064 -#: sql_help.c:5073 sql_help.c:5077 sql_help.c:5081 sql_help.c:5084 +#: 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 msgid "argument" msgstr "argument" -#: sql_help.c:1850 +#: sql_help.c:1852 msgid "relation_name" msgstr "relation_name" -#: sql_help.c:1855 sql_help.c:3895 sql_help.c:4344 +#: sql_help.c:1857 sql_help.c:3905 sql_help.c:4357 msgid "domain_name" msgstr "domain_name" -#: sql_help.c:1877 +#: sql_help.c:1879 msgid "policy_name" msgstr "policy_name" -#: sql_help.c:1890 +#: sql_help.c:1892 msgid "rule_name" msgstr "rule_name" -#: sql_help.c:1909 sql_help.c:4483 +#: sql_help.c:1911 sql_help.c:4496 msgid "string_literal" msgstr "string_literal" -#: sql_help.c:1934 sql_help.c:4150 sql_help.c:4397 +#: sql_help.c:1936 sql_help.c:4160 sql_help.c:4410 msgid "transaction_id" msgstr "transaction_id" -#: sql_help.c:1965 sql_help.c:1972 sql_help.c:4017 +#: sql_help.c:1968 sql_help.c:1975 sql_help.c:4027 msgid "filename" msgstr "filename" -#: sql_help.c:1966 sql_help.c:1973 sql_help.c:2687 sql_help.c:2688 -#: sql_help.c:2689 +#: sql_help.c:1969 sql_help.c:1976 sql_help.c:2695 sql_help.c:2696 +#: sql_help.c:2697 msgid "command" msgstr "command" -#: sql_help.c:1968 sql_help.c:2686 sql_help.c:3116 sql_help.c:3297 -#: sql_help.c:4001 sql_help.c:4078 sql_help.c:4081 sql_help.c:4552 -#: sql_help.c:4554 sql_help.c:4655 sql_help.c:4657 sql_help.c:4809 -#: sql_help.c:4811 sql_help.c:4927 sql_help.c:5047 sql_help.c:5049 +#: 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 msgid "condition" msgstr "condition" -#: sql_help.c:1971 sql_help.c:2503 sql_help.c:2999 sql_help.c:3263 -#: sql_help.c:3281 sql_help.c:3982 +#: sql_help.c:1974 sql_help.c:2511 sql_help.c:3007 sql_help.c:3271 +#: sql_help.c:3289 sql_help.c:3992 msgid "query" msgstr "query" -#: sql_help.c:1976 +#: sql_help.c:1979 msgid "format_name" msgstr "format_name" -#: sql_help.c:1978 +#: sql_help.c:1981 msgid "delimiter_character" msgstr "delimiter_character" -#: sql_help.c:1979 +#: sql_help.c:1982 msgid "null_string" msgstr "null_string" -#: sql_help.c:1981 +#: sql_help.c:1983 +msgid "default_string" +msgstr "default_string" + +#: sql_help.c:1985 msgid "quote_character" msgstr "quote_character" -#: sql_help.c:1982 +#: sql_help.c:1986 msgid "escape_character" msgstr "escape_character" -#: sql_help.c:1986 +#: sql_help.c:1990 msgid "encoding_name" msgstr "encoding_name" -#: sql_help.c:1997 +#: sql_help.c:2001 msgid "access_method_type" msgstr "access_method_type" -#: sql_help.c:2068 sql_help.c:2087 sql_help.c:2090 +#: sql_help.c:2072 sql_help.c:2091 sql_help.c:2094 msgid "arg_data_type" msgstr "arg_data_type" -#: sql_help.c:2069 sql_help.c:2091 sql_help.c:2099 +#: sql_help.c:2073 sql_help.c:2095 sql_help.c:2103 msgid "sfunc" msgstr "sfunc" -#: sql_help.c:2070 sql_help.c:2092 sql_help.c:2100 +#: sql_help.c:2074 sql_help.c:2096 sql_help.c:2104 msgid "state_data_type" msgstr "state_data_type" -#: sql_help.c:2071 sql_help.c:2093 sql_help.c:2101 +#: sql_help.c:2075 sql_help.c:2097 sql_help.c:2105 msgid "state_data_size" msgstr "state_data_size" -#: sql_help.c:2072 sql_help.c:2094 sql_help.c:2102 +#: sql_help.c:2076 sql_help.c:2098 sql_help.c:2106 msgid "ffunc" msgstr "ffunc" -#: sql_help.c:2073 sql_help.c:2103 +#: sql_help.c:2077 sql_help.c:2107 msgid "combinefunc" msgstr "combinefunc" -#: sql_help.c:2074 sql_help.c:2104 +#: sql_help.c:2078 sql_help.c:2108 msgid "serialfunc" msgstr "serialfunc" -#: sql_help.c:2075 sql_help.c:2105 +#: sql_help.c:2079 sql_help.c:2109 msgid "deserialfunc" msgstr "deserialfunc" -#: sql_help.c:2076 sql_help.c:2095 sql_help.c:2106 +#: sql_help.c:2080 sql_help.c:2099 sql_help.c:2110 msgid "initial_condition" msgstr "initial_condition" -#: sql_help.c:2077 sql_help.c:2107 +#: sql_help.c:2081 sql_help.c:2111 msgid "msfunc" msgstr "msfunc" -#: sql_help.c:2078 sql_help.c:2108 +#: sql_help.c:2082 sql_help.c:2112 msgid "minvfunc" msgstr "minvfunc" -#: sql_help.c:2079 sql_help.c:2109 +#: sql_help.c:2083 sql_help.c:2113 msgid "mstate_data_type" msgstr "mstate_data_type" -#: sql_help.c:2080 sql_help.c:2110 +#: sql_help.c:2084 sql_help.c:2114 msgid "mstate_data_size" msgstr "mstate_data_size" -#: sql_help.c:2081 sql_help.c:2111 +#: sql_help.c:2085 sql_help.c:2115 msgid "mffunc" msgstr "mffunc" -#: sql_help.c:2082 sql_help.c:2112 +#: sql_help.c:2086 sql_help.c:2116 msgid "minitial_condition" msgstr "minitial_condition" -#: sql_help.c:2083 sql_help.c:2113 +#: sql_help.c:2087 sql_help.c:2117 msgid "sort_operator" msgstr "sort_operator" -#: sql_help.c:2096 +#: sql_help.c:2100 msgid "or the old syntax" msgstr "ή την παλαιά σύνταξη" -#: sql_help.c:2098 +#: sql_help.c:2102 msgid "base_type" msgstr "base_type" -#: sql_help.c:2155 sql_help.c:2202 +#: sql_help.c:2160 sql_help.c:2209 msgid "locale" msgstr "locale" -#: sql_help.c:2156 sql_help.c:2203 +#: sql_help.c:2161 sql_help.c:2210 msgid "lc_collate" msgstr "lc_collate" -#: sql_help.c:2157 sql_help.c:2204 +#: sql_help.c:2162 sql_help.c:2211 msgid "lc_ctype" msgstr "lc_ctype" -#: sql_help.c:2158 sql_help.c:4450 +#: sql_help.c:2163 sql_help.c:4463 msgid "provider" msgstr "provider" -#: sql_help.c:2160 sql_help.c:2263 +#: sql_help.c:2165 +msgid "rules" +msgstr "κανόνες" + +#: sql_help.c:2166 sql_help.c:2271 msgid "version" msgstr "version" -#: sql_help.c:2162 +#: sql_help.c:2168 msgid "existing_collation" msgstr "existing_collation" -#: sql_help.c:2172 +#: sql_help.c:2178 msgid "source_encoding" msgstr "source_encoding" -#: sql_help.c:2173 +#: sql_help.c:2179 msgid "dest_encoding" msgstr "dest_encoding" -#: sql_help.c:2199 sql_help.c:3039 +#: sql_help.c:2206 sql_help.c:3047 msgid "template" msgstr "template" -#: sql_help.c:2200 +#: sql_help.c:2207 msgid "encoding" msgstr "dest_encoding" -#: sql_help.c:2201 +#: sql_help.c:2208 msgid "strategy" msgstr "strategy" -#: sql_help.c:2205 +#: sql_help.c:2212 msgid "icu_locale" msgstr "icu_locale" -#: sql_help.c:2206 +#: sql_help.c:2213 +msgid "icu_rules" +msgstr "icu_rules" + +#: sql_help.c:2214 msgid "locale_provider" msgstr "locale_provider" -#: sql_help.c:2207 +#: sql_help.c:2215 msgid "collation_version" msgstr "collation_version" -#: sql_help.c:2212 +#: sql_help.c:2220 msgid "oid" msgstr "oid" -#: sql_help.c:2232 +#: sql_help.c:2240 msgid "constraint" msgstr "constraint" -#: sql_help.c:2233 +#: sql_help.c:2241 msgid "where constraint is:" msgstr "όπου constraint είναι:" -#: sql_help.c:2247 sql_help.c:2684 sql_help.c:3112 +#: sql_help.c:2255 sql_help.c:2692 sql_help.c:3120 msgid "event" msgstr "event" -#: sql_help.c:2248 +#: sql_help.c:2256 msgid "filter_variable" msgstr "filter_variable" -#: sql_help.c:2249 +#: sql_help.c:2257 msgid "filter_value" msgstr "filter_value" -#: sql_help.c:2345 sql_help.c:2931 +#: sql_help.c:2353 sql_help.c:2939 msgid "where column_constraint is:" msgstr "όπου column_constraint είναι:" -#: sql_help.c:2390 +#: sql_help.c:2398 msgid "rettype" msgstr "rettype" -#: sql_help.c:2392 +#: sql_help.c:2400 msgid "column_type" msgstr "column_type" -#: sql_help.c:2401 sql_help.c:2604 +#: sql_help.c:2409 sql_help.c:2612 msgid "definition" msgstr "definition" -#: sql_help.c:2402 sql_help.c:2605 +#: sql_help.c:2410 sql_help.c:2613 msgid "obj_file" msgstr "obj_file" -#: sql_help.c:2403 sql_help.c:2606 +#: sql_help.c:2411 sql_help.c:2614 msgid "link_symbol" msgstr "link_symbol" -#: sql_help.c:2404 sql_help.c:2607 +#: sql_help.c:2412 sql_help.c:2615 msgid "sql_body" msgstr "sql_body" -#: sql_help.c:2442 sql_help.c:2669 sql_help.c:3235 +#: sql_help.c:2450 sql_help.c:2677 sql_help.c:3243 msgid "uid" msgstr "uid" -#: sql_help.c:2458 sql_help.c:2499 sql_help.c:2900 sql_help.c:2913 -#: sql_help.c:2927 sql_help.c:2995 +#: sql_help.c:2466 sql_help.c:2507 sql_help.c:2908 sql_help.c:2921 +#: sql_help.c:2935 sql_help.c:3003 msgid "method" msgstr "method" -#: sql_help.c:2463 +#: sql_help.c:2471 msgid "opclass_parameter" msgstr "opclass_parameter" -#: sql_help.c:2480 +#: sql_help.c:2488 msgid "call_handler" msgstr "call_handler" -#: sql_help.c:2481 +#: sql_help.c:2489 msgid "inline_handler" msgstr "inline_handler" -#: sql_help.c:2482 +#: sql_help.c:2490 msgid "valfunction" msgstr "valfunction" -#: sql_help.c:2521 +#: sql_help.c:2529 msgid "com_op" msgstr "com_op" -#: sql_help.c:2522 +#: sql_help.c:2530 msgid "neg_op" msgstr "neg_op" -#: sql_help.c:2540 +#: sql_help.c:2548 msgid "family_name" msgstr "family_name" -#: sql_help.c:2551 +#: sql_help.c:2559 msgid "storage_type" msgstr "storage_type" -#: sql_help.c:2690 sql_help.c:3119 +#: sql_help.c:2698 sql_help.c:3127 msgid "where event can be one of:" msgstr "όπου event μπορεί να είναι ένα από:" -#: sql_help.c:2710 sql_help.c:2712 +#: sql_help.c:2718 sql_help.c:2720 msgid "schema_element" msgstr "schema_element" -#: sql_help.c:2749 +#: sql_help.c:2757 msgid "server_type" msgstr "server_type" -#: sql_help.c:2750 +#: sql_help.c:2758 msgid "server_version" msgstr "server_version" -#: sql_help.c:2751 sql_help.c:3898 sql_help.c:4347 +#: sql_help.c:2759 sql_help.c:3908 sql_help.c:4360 msgid "fdw_name" msgstr "fdw_name" -#: sql_help.c:2768 sql_help.c:2771 +#: sql_help.c:2776 sql_help.c:2779 msgid "statistics_name" msgstr "statistics_name" -#: sql_help.c:2772 +#: sql_help.c:2780 msgid "statistics_kind" msgstr "statistics_kind" -#: sql_help.c:2788 +#: sql_help.c:2796 msgid "subscription_name" msgstr "subscription_name" -#: sql_help.c:2893 +#: sql_help.c:2901 msgid "source_table" msgstr "source_table" -#: sql_help.c:2894 +#: sql_help.c:2902 msgid "like_option" msgstr "like_option" -#: sql_help.c:2960 +#: sql_help.c:2968 msgid "and like_option is:" msgstr "και like_option είναι:" -#: sql_help.c:3012 +#: sql_help.c:3020 msgid "directory" msgstr "directory" -#: sql_help.c:3026 +#: sql_help.c:3034 msgid "parser_name" msgstr "parser_name" -#: sql_help.c:3027 +#: sql_help.c:3035 msgid "source_config" msgstr "source_config" -#: sql_help.c:3056 +#: sql_help.c:3064 msgid "start_function" msgstr "start_function" -#: sql_help.c:3057 +#: sql_help.c:3065 msgid "gettoken_function" msgstr "gettoken_function" -#: sql_help.c:3058 +#: sql_help.c:3066 msgid "end_function" msgstr "end_function" -#: sql_help.c:3059 +#: sql_help.c:3067 msgid "lextypes_function" msgstr "lextypes_function" -#: sql_help.c:3060 +#: sql_help.c:3068 msgid "headline_function" msgstr "headline_function" -#: sql_help.c:3072 +#: sql_help.c:3080 msgid "init_function" msgstr "init_function" -#: sql_help.c:3073 +#: sql_help.c:3081 msgid "lexize_function" msgstr "lexize_function" -#: sql_help.c:3086 +#: sql_help.c:3094 msgid "from_sql_function_name" msgstr "from_sql_function_name" -#: sql_help.c:3088 +#: sql_help.c:3096 msgid "to_sql_function_name" msgstr "to_sql_function_name" -#: sql_help.c:3114 +#: sql_help.c:3122 msgid "referenced_table_name" msgstr "referenced_table_name" -#: sql_help.c:3115 +#: sql_help.c:3123 msgid "transition_relation_name" msgstr "transition_relation_name" -#: sql_help.c:3118 +#: sql_help.c:3126 msgid "arguments" msgstr "arguments" -#: sql_help.c:3170 +#: sql_help.c:3178 msgid "label" msgstr "label" -#: sql_help.c:3172 +#: sql_help.c:3180 msgid "subtype" msgstr "subtype" -#: sql_help.c:3173 +#: sql_help.c:3181 msgid "subtype_operator_class" msgstr "subtype_operator_class" -#: sql_help.c:3175 +#: sql_help.c:3183 msgid "canonical_function" msgstr "canonical_function" -#: sql_help.c:3176 +#: sql_help.c:3184 msgid "subtype_diff_function" msgstr "subtype_diff_function" -#: sql_help.c:3177 +#: sql_help.c:3185 msgid "multirange_type_name" msgstr "multirange_type_name" -#: sql_help.c:3179 +#: sql_help.c:3187 msgid "input_function" msgstr "input_function" -#: sql_help.c:3180 +#: sql_help.c:3188 msgid "output_function" msgstr "output_function" -#: sql_help.c:3181 +#: sql_help.c:3189 msgid "receive_function" msgstr "receive_function" -#: sql_help.c:3182 +#: sql_help.c:3190 msgid "send_function" msgstr "send_function" -#: sql_help.c:3183 +#: sql_help.c:3191 msgid "type_modifier_input_function" msgstr "type_modifier_input_function" -#: sql_help.c:3184 +#: sql_help.c:3192 msgid "type_modifier_output_function" msgstr "type_modifier_output_function" -#: sql_help.c:3185 +#: sql_help.c:3193 msgid "analyze_function" msgstr "analyze_function" -#: sql_help.c:3186 +#: sql_help.c:3194 msgid "subscript_function" msgstr "subscript_function" -#: sql_help.c:3187 +#: sql_help.c:3195 msgid "internallength" msgstr "internallength" -#: sql_help.c:3188 +#: sql_help.c:3196 msgid "alignment" msgstr "alignment" -#: sql_help.c:3189 +#: sql_help.c:3197 msgid "storage" msgstr "storage" -#: sql_help.c:3190 +#: sql_help.c:3198 msgid "like_type" msgstr "like_type" -#: sql_help.c:3191 +#: sql_help.c:3199 msgid "category" msgstr "category" -#: sql_help.c:3192 +#: sql_help.c:3200 msgid "preferred" msgstr "preferred" -#: sql_help.c:3193 +#: sql_help.c:3201 msgid "default" msgstr "default" -#: sql_help.c:3194 +#: sql_help.c:3202 msgid "element" msgstr "element" -#: sql_help.c:3195 +#: sql_help.c:3203 msgid "delimiter" msgstr "delimiter" -#: sql_help.c:3196 +#: sql_help.c:3204 msgid "collatable" msgstr "collatable" -#: sql_help.c:3293 sql_help.c:3977 sql_help.c:4067 sql_help.c:4547 -#: sql_help.c:4649 sql_help.c:4804 sql_help.c:4917 sql_help.c:5042 +#: 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 msgid "with_query" msgstr "with_query" -#: sql_help.c:3295 sql_help.c:3979 sql_help.c:4566 sql_help.c:4572 -#: sql_help.c:4575 sql_help.c:4579 sql_help.c:4583 sql_help.c:4591 -#: sql_help.c:4823 sql_help.c:4829 sql_help.c:4832 sql_help.c:4836 -#: sql_help.c:4840 sql_help.c:4848 sql_help.c:4919 sql_help.c:5061 -#: sql_help.c:5067 sql_help.c:5070 sql_help.c:5074 sql_help.c:5078 -#: sql_help.c:5086 +#: 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 msgid "alias" msgstr "alias" -#: sql_help.c:3296 sql_help.c:4551 sql_help.c:4593 sql_help.c:4595 -#: sql_help.c:4599 sql_help.c:4601 sql_help.c:4602 sql_help.c:4603 -#: sql_help.c:4654 sql_help.c:4808 sql_help.c:4850 sql_help.c:4852 -#: sql_help.c:4856 sql_help.c:4858 sql_help.c:4859 sql_help.c:4860 -#: sql_help.c:4926 sql_help.c:5046 sql_help.c:5088 sql_help.c:5090 -#: sql_help.c:5094 sql_help.c:5096 sql_help.c:5097 sql_help.c:5098 +#: 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 msgid "from_item" msgstr "from_item" -#: sql_help.c:3298 sql_help.c:3779 sql_help.c:4117 sql_help.c:4928 +#: sql_help.c:3306 sql_help.c:3789 sql_help.c:4127 sql_help.c:4941 msgid "cursor_name" msgstr "cursor_name" -#: sql_help.c:3299 sql_help.c:3985 sql_help.c:4929 +#: sql_help.c:3307 sql_help.c:3995 sql_help.c:4942 msgid "output_expression" msgstr "output_expression" -#: sql_help.c:3300 sql_help.c:3986 sql_help.c:4550 sql_help.c:4652 -#: sql_help.c:4807 sql_help.c:4930 sql_help.c:5045 +#: 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 msgid "output_name" msgstr "output_name" -#: sql_help.c:3316 +#: sql_help.c:3324 msgid "code" msgstr "code" -#: sql_help.c:3721 +#: sql_help.c:3729 msgid "parameter" msgstr "parameter" -#: sql_help.c:3743 sql_help.c:3744 sql_help.c:4142 +#: sql_help.c:3752 sql_help.c:3753 sql_help.c:4152 msgid "statement" msgstr "statement" -#: sql_help.c:3778 sql_help.c:4116 +#: sql_help.c:3788 sql_help.c:4126 msgid "direction" msgstr "direction" -#: sql_help.c:3780 sql_help.c:4118 +#: sql_help.c:3790 sql_help.c:4128 msgid "where direction can be one of:" msgstr "όπου κατεύθυνση μπορεί να είναι μία από:" -#: sql_help.c:3781 sql_help.c:3782 sql_help.c:3783 sql_help.c:3784 -#: sql_help.c:3785 sql_help.c:4119 sql_help.c:4120 sql_help.c:4121 -#: sql_help.c:4122 sql_help.c:4123 sql_help.c:4560 sql_help.c:4562 -#: sql_help.c:4663 sql_help.c:4665 sql_help.c:4817 sql_help.c:4819 -#: sql_help.c:4986 sql_help.c:4988 sql_help.c:5055 sql_help.c:5057 +#: 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 msgid "count" msgstr "count" -#: sql_help.c:3888 sql_help.c:4337 +#: sql_help.c:3898 sql_help.c:4350 msgid "sequence_name" msgstr "sequence_name" -#: sql_help.c:3906 sql_help.c:4355 +#: sql_help.c:3916 sql_help.c:4368 msgid "arg_name" msgstr "arg_name" -#: sql_help.c:3907 sql_help.c:4356 +#: sql_help.c:3917 sql_help.c:4369 msgid "arg_type" msgstr "arg_type" -#: sql_help.c:3914 sql_help.c:4363 +#: sql_help.c:3924 sql_help.c:4376 msgid "loid" msgstr "loid" -#: sql_help.c:3945 +#: sql_help.c:3955 msgid "remote_schema" msgstr "remote_schema" -#: sql_help.c:3948 +#: sql_help.c:3958 msgid "local_schema" msgstr "local_schema" -#: sql_help.c:3983 +#: sql_help.c:3993 msgid "conflict_target" msgstr "conflict_target" -#: sql_help.c:3984 +#: sql_help.c:3994 msgid "conflict_action" msgstr "conflict_action" -#: sql_help.c:3987 +#: sql_help.c:3997 msgid "where conflict_target can be one of:" msgstr "όπου conflict_target μπορεί να είναι ένα από:" -#: sql_help.c:3988 +#: sql_help.c:3998 msgid "index_column_name" msgstr "index_column_name" -#: sql_help.c:3989 +#: sql_help.c:3999 msgid "index_expression" msgstr "index_expression" -#: sql_help.c:3992 +#: sql_help.c:4002 msgid "index_predicate" msgstr "index_predicate" -#: sql_help.c:3994 +#: sql_help.c:4004 msgid "and conflict_action is one of:" msgstr "και conflict_action είναι ένα από:" -#: sql_help.c:4000 sql_help.c:4925 +#: sql_help.c:4010 sql_help.c:4938 msgid "sub-SELECT" msgstr "sub-SELECT" -#: sql_help.c:4009 sql_help.c:4131 sql_help.c:4901 +#: sql_help.c:4019 sql_help.c:4141 sql_help.c:4914 msgid "channel" msgstr "channel" -#: sql_help.c:4031 +#: sql_help.c:4041 msgid "lockmode" msgstr "lockmode" -#: sql_help.c:4032 +#: sql_help.c:4042 msgid "where lockmode is one of:" msgstr "όπου lockmode είναι ένα από:" -#: sql_help.c:4068 +#: sql_help.c:4078 msgid "target_table_name" msgstr "table_table_name" -#: sql_help.c:4069 +#: sql_help.c:4079 msgid "target_alias" msgstr "target_alias" -#: sql_help.c:4070 +#: sql_help.c:4080 msgid "data_source" msgstr "data_source" -#: sql_help.c:4071 sql_help.c:4596 sql_help.c:4853 sql_help.c:5091 +#: sql_help.c:4081 sql_help.c:4609 sql_help.c:4866 sql_help.c:5112 msgid "join_condition" msgstr "join_condition" -#: sql_help.c:4072 +#: sql_help.c:4082 msgid "when_clause" msgstr "when_clause" -#: sql_help.c:4073 +#: sql_help.c:4083 msgid "where data_source is:" msgstr "όπου data_source είναι:" -#: sql_help.c:4074 +#: sql_help.c:4084 msgid "source_table_name" msgstr "source_table_name" -#: sql_help.c:4075 +#: sql_help.c:4085 msgid "source_query" msgstr "source_query" -#: sql_help.c:4076 +#: sql_help.c:4086 msgid "source_alias" msgstr "source_alias" -#: sql_help.c:4077 +#: sql_help.c:4087 msgid "and when_clause is:" msgstr "και when_clause είναι:" -#: sql_help.c:4079 +#: sql_help.c:4089 msgid "merge_update" msgstr "merge_update" -#: sql_help.c:4080 +#: sql_help.c:4090 msgid "merge_delete" msgstr "merge_delete" -#: sql_help.c:4082 +#: sql_help.c:4092 msgid "merge_insert" msgstr "merge_insert" -#: sql_help.c:4083 +#: sql_help.c:4093 msgid "and merge_insert is:" msgstr "και merge_insert είναι:" -#: sql_help.c:4086 +#: sql_help.c:4096 msgid "and merge_update is:" msgstr "και merge_update είναι:" -#: sql_help.c:4091 +#: sql_help.c:4101 msgid "and merge_delete is:" msgstr "και merge_delete είναι:" -#: sql_help.c:4132 +#: sql_help.c:4142 msgid "payload" msgstr "payload" -#: sql_help.c:4159 +#: sql_help.c:4169 msgid "old_role" msgstr "old_role" -#: sql_help.c:4160 +#: sql_help.c:4170 msgid "new_role" msgstr "new_role" -#: sql_help.c:4196 sql_help.c:4405 sql_help.c:4413 +#: sql_help.c:4209 sql_help.c:4418 sql_help.c:4426 msgid "savepoint_name" msgstr "savepoint_name" -#: sql_help.c:4553 sql_help.c:4611 sql_help.c:4810 sql_help.c:4868 -#: sql_help.c:5048 sql_help.c:5106 +#: sql_help.c:4566 sql_help.c:4624 sql_help.c:4823 sql_help.c:4881 +#: sql_help.c:5069 sql_help.c:5127 msgid "grouping_element" msgstr "grouping_element" -#: sql_help.c:4555 sql_help.c:4658 sql_help.c:4812 sql_help.c:5050 +#: sql_help.c:4568 sql_help.c:4671 sql_help.c:4825 sql_help.c:5071 msgid "window_name" msgstr "window_name" -#: sql_help.c:4556 sql_help.c:4659 sql_help.c:4813 sql_help.c:5051 +#: sql_help.c:4569 sql_help.c:4672 sql_help.c:4826 sql_help.c:5072 msgid "window_definition" msgstr "window_definition" -#: sql_help.c:4557 sql_help.c:4571 sql_help.c:4615 sql_help.c:4660 -#: sql_help.c:4814 sql_help.c:4828 sql_help.c:4872 sql_help.c:5052 -#: sql_help.c:5066 sql_help.c:5110 +#: 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 msgid "select" msgstr "select" -#: sql_help.c:4564 sql_help.c:4821 sql_help.c:5059 +#: sql_help.c:4577 sql_help.c:4834 sql_help.c:5080 msgid "where from_item can be one of:" msgstr "όπου from_item μπορεί να είναι ένα από:" -#: sql_help.c:4567 sql_help.c:4573 sql_help.c:4576 sql_help.c:4580 -#: sql_help.c:4592 sql_help.c:4824 sql_help.c:4830 sql_help.c:4833 -#: sql_help.c:4837 sql_help.c:4849 sql_help.c:5062 sql_help.c:5068 -#: sql_help.c:5071 sql_help.c:5075 sql_help.c:5087 +#: 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 msgid "column_alias" msgstr "column_alias" -#: sql_help.c:4568 sql_help.c:4825 sql_help.c:5063 +#: sql_help.c:4581 sql_help.c:4838 sql_help.c:5084 msgid "sampling_method" msgstr "sampling_method" -#: sql_help.c:4570 sql_help.c:4827 sql_help.c:5065 +#: sql_help.c:4583 sql_help.c:4840 sql_help.c:5086 msgid "seed" msgstr "seed" -#: sql_help.c:4574 sql_help.c:4613 sql_help.c:4831 sql_help.c:4870 -#: sql_help.c:5069 sql_help.c:5108 +#: sql_help.c:4587 sql_help.c:4626 sql_help.c:4844 sql_help.c:4883 +#: sql_help.c:5090 sql_help.c:5129 msgid "with_query_name" msgstr "with_query_name" -#: sql_help.c:4584 sql_help.c:4587 sql_help.c:4590 sql_help.c:4841 -#: sql_help.c:4844 sql_help.c:4847 sql_help.c:5079 sql_help.c:5082 -#: sql_help.c:5085 +#: 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 msgid "column_definition" msgstr "column_definition" -#: sql_help.c:4594 sql_help.c:4600 sql_help.c:4851 sql_help.c:4857 -#: sql_help.c:5089 sql_help.c:5095 +#: sql_help.c:4607 sql_help.c:4613 sql_help.c:4864 sql_help.c:4870 +#: sql_help.c:5110 sql_help.c:5116 msgid "join_type" msgstr "join_type" -#: sql_help.c:4597 sql_help.c:4854 sql_help.c:5092 +#: sql_help.c:4610 sql_help.c:4867 sql_help.c:5113 msgid "join_column" msgstr "join_column" -#: sql_help.c:4598 sql_help.c:4855 sql_help.c:5093 +#: sql_help.c:4611 sql_help.c:4868 sql_help.c:5114 msgid "join_using_alias" msgstr "join_using_alias" -#: sql_help.c:4604 sql_help.c:4861 sql_help.c:5099 +#: sql_help.c:4617 sql_help.c:4874 sql_help.c:5120 msgid "and grouping_element can be one of:" msgstr "και grouping_element μπορεί να είναι ένα από:" -#: sql_help.c:4612 sql_help.c:4869 sql_help.c:5107 +#: sql_help.c:4625 sql_help.c:4882 sql_help.c:5128 msgid "and with_query is:" msgstr "και with_query είναι:" -#: sql_help.c:4616 sql_help.c:4873 sql_help.c:5111 +#: sql_help.c:4629 sql_help.c:4886 sql_help.c:5132 msgid "values" msgstr "values" -#: sql_help.c:4617 sql_help.c:4874 sql_help.c:5112 +#: sql_help.c:4630 sql_help.c:4887 sql_help.c:5133 msgid "insert" msgstr "insert" -#: sql_help.c:4618 sql_help.c:4875 sql_help.c:5113 +#: sql_help.c:4631 sql_help.c:4888 sql_help.c:5134 msgid "update" msgstr "update" -#: sql_help.c:4619 sql_help.c:4876 sql_help.c:5114 +#: sql_help.c:4632 sql_help.c:4889 sql_help.c:5135 msgid "delete" msgstr "delete" -#: sql_help.c:4621 sql_help.c:4878 sql_help.c:5116 +#: sql_help.c:4634 sql_help.c:4891 sql_help.c:5137 msgid "search_seq_col_name" msgstr "search_seq_col_name" -#: sql_help.c:4623 sql_help.c:4880 sql_help.c:5118 +#: sql_help.c:4636 sql_help.c:4893 sql_help.c:5139 msgid "cycle_mark_col_name" msgstr "cycle_mark_col_name" -#: sql_help.c:4624 sql_help.c:4881 sql_help.c:5119 +#: sql_help.c:4637 sql_help.c:4894 sql_help.c:5140 msgid "cycle_mark_value" msgstr "cycle_mark_value" -#: sql_help.c:4625 sql_help.c:4882 sql_help.c:5120 +#: sql_help.c:4638 sql_help.c:4895 sql_help.c:5141 msgid "cycle_mark_default" msgstr "cycle_mark_default" -#: sql_help.c:4626 sql_help.c:4883 sql_help.c:5121 +#: sql_help.c:4639 sql_help.c:4896 sql_help.c:5142 msgid "cycle_path_col_name" msgstr "cycle_path_col_name" -#: sql_help.c:4653 +#: sql_help.c:4666 msgid "new_table" msgstr "new_table" -#: sql_help.c:4724 +#: sql_help.c:4737 msgid "snapshot_id" msgstr "snapshot_id" -#: sql_help.c:4984 +#: sql_help.c:5005 msgid "sort_expression" msgstr "sort_expression" -#: sql_help.c:5128 sql_help.c:6112 +#: sql_help.c:5149 sql_help.c:6133 msgid "abort the current transaction" msgstr "ματαιώστε την τρέχουσα συναλλαγή" -#: sql_help.c:5134 +#: sql_help.c:5155 msgid "change the definition of an aggregate function" msgstr "αλλάξτε τον ορισμό μιας συνάρτησης συγκεντρωτικών αποτελεσμάτων" -#: sql_help.c:5140 +#: sql_help.c:5161 msgid "change the definition of a collation" msgstr "αλλάξτε τον ορισμό συρραφής" -#: sql_help.c:5146 +#: sql_help.c:5167 msgid "change the definition of a conversion" msgstr "αλλάξτε τον ορισμό μίας μετατροπής" -#: sql_help.c:5152 +#: sql_help.c:5173 msgid "change a database" msgstr "αλλάξτε μία βάση δεδομένων" -#: sql_help.c:5158 +#: sql_help.c:5179 msgid "define default access privileges" msgstr "ορίσθε τα προεπιλεγμένα δικαιώματα πρόσβασης" -#: sql_help.c:5164 +#: sql_help.c:5185 msgid "change the definition of a domain" msgstr "αλλάξτε τον ορισμό ενός τομέα" -#: sql_help.c:5170 +#: sql_help.c:5191 msgid "change the definition of an event trigger" msgstr "αλλάξτε τον ορισμό μιας ενεργοποίησης συμβάντος" -#: sql_help.c:5176 +#: sql_help.c:5197 msgid "change the definition of an extension" msgstr "αλλάξτε τον ορισμό μίας προέκτασης" -#: sql_help.c:5182 +#: sql_help.c:5203 msgid "change the definition of a foreign-data wrapper" msgstr "αλλάξτε τον ορισιμό μιας περιτύλιξης ξένων δεδομένων" -#: sql_help.c:5188 +#: sql_help.c:5209 msgid "change the definition of a foreign table" msgstr "αλλάξτε τον ορισιμό ενός ξενικού πίνακα" -#: sql_help.c:5194 +#: sql_help.c:5215 msgid "change the definition of a function" msgstr "αλλάξτε τον ορισμό μιας συνάρτησης" -#: sql_help.c:5200 +#: sql_help.c:5221 msgid "change role name or membership" msgstr "αλλάξτε το όνομα ρόλου ή ιδιότητας μέλους" -#: sql_help.c:5206 +#: sql_help.c:5227 msgid "change the definition of an index" msgstr "αλλάξτε τον ορισμό ενός ευρετηρίου" -#: sql_help.c:5212 +#: sql_help.c:5233 msgid "change the definition of a procedural language" msgstr "αλλάξτε τον ορισμό μιας διαδικαστικής γλώσσας" -#: sql_help.c:5218 +#: sql_help.c:5239 msgid "change the definition of a large object" msgstr "αλλάξτε τον ορισιμό ενός μεγάλου αντικειμένου" -#: sql_help.c:5224 +#: sql_help.c:5245 msgid "change the definition of a materialized view" msgstr "αλλάξτε τον ορισμό μίας υλοποιημένης όψης" -#: sql_help.c:5230 +#: sql_help.c:5251 msgid "change the definition of an operator" msgstr "αλλάξτε τον ορισμό ενός χειριστή" -#: sql_help.c:5236 +#: sql_help.c:5257 msgid "change the definition of an operator class" msgstr "αλλάξτε τον ορισμό μίας κλάσης χειριστή" -#: sql_help.c:5242 +#: sql_help.c:5263 msgid "change the definition of an operator family" msgstr "αλλάξτε τον ορισμό μίας οικογένειας χειριστή" -#: sql_help.c:5248 +#: sql_help.c:5269 msgid "change the definition of a row-level security policy" msgstr "αλλάξτε τον ορισμό μιας πολιτικής ασφάλειας επιπέδου σειράς" -#: sql_help.c:5254 +#: sql_help.c:5275 msgid "change the definition of a procedure" msgstr "αλλάξτε τον ορισμό μίας διαδικασίας" -#: sql_help.c:5260 +#: sql_help.c:5281 msgid "change the definition of a publication" msgstr "αλλάξτε τον ορισμό μίας δημοσίευσης" -#: sql_help.c:5266 sql_help.c:5368 +#: sql_help.c:5287 sql_help.c:5389 msgid "change a database role" msgstr "αλλάξτε τον ρόλο μίας βάσης δεδομένων" -#: sql_help.c:5272 +#: sql_help.c:5293 msgid "change the definition of a routine" msgstr "αλλάξτε τον ορισμό μιας ρουτίνας" -#: sql_help.c:5278 +#: sql_help.c:5299 msgid "change the definition of a rule" msgstr "αλλάξτε τον ορισμό ενός κανόνα" -#: sql_help.c:5284 +#: sql_help.c:5305 msgid "change the definition of a schema" msgstr "αλλάξτε τον ορισμό ενός σχήματος" -#: sql_help.c:5290 +#: sql_help.c:5311 msgid "change the definition of a sequence generator" msgstr "αλλάξτε τον ορισμό μίας γεννήτριας ακολουθίας" -#: sql_help.c:5296 +#: sql_help.c:5317 msgid "change the definition of a foreign server" msgstr "αλλάξτε τον ορισμό ενός ξενικού διακομιστή" -#: sql_help.c:5302 +#: sql_help.c:5323 msgid "change the definition of an extended statistics object" msgstr "αλλάξτε τον ορισμό ενός εκτεταμένου αντικειμένου στατιστικών" -#: sql_help.c:5308 +#: sql_help.c:5329 msgid "change the definition of a subscription" msgstr "αλλάξτε τον ορισμό μιας συνδρομής" -#: sql_help.c:5314 +#: sql_help.c:5335 msgid "change a server configuration parameter" msgstr "αλλάξτε μία παράμετρο διαμόρφωσης διακομιστή" -#: sql_help.c:5320 +#: sql_help.c:5341 msgid "change the definition of a table" msgstr "αλλάξτε τον ορισμό ενός πίνακα" -#: sql_help.c:5326 +#: sql_help.c:5347 msgid "change the definition of a tablespace" msgstr "αλλάξτε τον ορισμό ενός πινακοχώρου" -#: sql_help.c:5332 +#: sql_help.c:5353 msgid "change the definition of a text search configuration" msgstr "αλλάξτε τον ορισμό μίας διαμόρφωσης αναζήτησης κειμένου" -#: sql_help.c:5338 +#: sql_help.c:5359 msgid "change the definition of a text search dictionary" msgstr "αλλάξτε τον ορισμό ενός λεξικού αναζήτησης κειμένου" -#: sql_help.c:5344 +#: sql_help.c:5365 msgid "change the definition of a text search parser" msgstr "αλλάξτε τον ορισμό ενός αναλυτή αναζήτησης κειμένου" -#: sql_help.c:5350 +#: sql_help.c:5371 msgid "change the definition of a text search template" msgstr "αλλάξτε τον ορισμό ενός προτύπου αναζήτησης κειμένου" -#: sql_help.c:5356 +#: sql_help.c:5377 msgid "change the definition of a trigger" msgstr "αλλάξτε τον ορισμό μιας ενεργοποίησης" -#: sql_help.c:5362 +#: sql_help.c:5383 msgid "change the definition of a type" msgstr "αλλάξτε τον ορισμό ενός τύπου" -#: sql_help.c:5374 +#: sql_help.c:5395 msgid "change the definition of a user mapping" msgstr "αλλάξτε τον ορισμό μίας αντιστοίχισης χρήστη" -#: sql_help.c:5380 +#: sql_help.c:5401 msgid "change the definition of a view" msgstr "αλλάξτε τον ορισμό μίας όψης" -#: sql_help.c:5386 +#: sql_help.c:5407 msgid "collect statistics about a database" msgstr "συλλέξτε στατιστικά σχετικά με μία βάση δεδομένων" -#: sql_help.c:5392 sql_help.c:6190 +#: sql_help.c:5413 sql_help.c:6211 msgid "start a transaction block" msgstr "εκκινήστε ένα μπλοκ συναλλαγής" -#: sql_help.c:5398 +#: sql_help.c:5419 msgid "invoke a procedure" msgstr "κλήση διαδικασίας" -#: sql_help.c:5404 +#: sql_help.c:5425 msgid "force a write-ahead log checkpoint" msgstr "επιβάλλετε εισαγωγή ενός σημείου ελέγχου (checkpoint) του write-ahead log" -#: sql_help.c:5410 +#: sql_help.c:5431 msgid "close a cursor" msgstr "κλείστε έναν δρομέα" -#: sql_help.c:5416 +#: sql_help.c:5437 msgid "cluster a table according to an index" msgstr "δημιουργείστε συστάδα ενός πίνακα σύμφωνα με ένα ευρετήριο" -#: sql_help.c:5422 +#: sql_help.c:5443 msgid "define or change the comment of an object" msgstr "ορίσετε ή αλλάξτε το σχόλιο ενός αντικειμένου" -#: sql_help.c:5428 sql_help.c:5986 +#: sql_help.c:5449 sql_help.c:6007 msgid "commit the current transaction" msgstr "ολοκληρώστε την τρέχουσας συναλλαγής" -#: sql_help.c:5434 +#: sql_help.c:5455 msgid "commit a transaction that was earlier prepared for two-phase commit" msgstr "ολοκληρώστε μία συναλλαγή που είχε προετοιμαστεί νωρίτερα για ολοκλήρωση σε δύο φάσεις" -#: sql_help.c:5440 +#: sql_help.c:5461 msgid "copy data between a file and a table" msgstr "αντιγράψτε δεδομένα μεταξύ ενός αρχείου και ενός πίνακα" -#: sql_help.c:5446 +#: sql_help.c:5467 msgid "define a new access method" msgstr "ορίσετε μία νέα μέθοδο πρόσβασης" -#: sql_help.c:5452 +#: sql_help.c:5473 msgid "define a new aggregate function" msgstr "ορίσετε μία νέα συνάρτηση συγκεντρωτικών αποτελεσμάτων" -#: sql_help.c:5458 +#: sql_help.c:5479 msgid "define a new cast" msgstr "ορίσετε ένα νέο καστ" -#: sql_help.c:5464 +#: sql_help.c:5485 msgid "define a new collation" msgstr "ορίσετε μία νέα συρραφή" -#: sql_help.c:5470 +#: sql_help.c:5491 msgid "define a new encoding conversion" msgstr "ορίσετε μία νέα μετατροπή κωδικοποίησης" -#: sql_help.c:5476 +#: sql_help.c:5497 msgid "create a new database" msgstr "δημιουργήστε μία νέα βάση δεδομένων" -#: sql_help.c:5482 +#: sql_help.c:5503 msgid "define a new domain" msgstr "ορίσετε ένα νέο πεδίο" -#: sql_help.c:5488 +#: sql_help.c:5509 msgid "define a new event trigger" msgstr "ορίσετε μία νέα ενεργοποίησης συμβάντος" -#: sql_help.c:5494 +#: sql_help.c:5515 msgid "install an extension" msgstr "εγκαταστήστε μία νέα προέκταση" -#: sql_help.c:5500 +#: sql_help.c:5521 msgid "define a new foreign-data wrapper" msgstr "ορίσετε μία νέα περιτύλιξη ξένων δεδομένων" -#: sql_help.c:5506 +#: sql_help.c:5527 msgid "define a new foreign table" msgstr "ορίσετε ένα νέο ξενικό πίνακα" -#: sql_help.c:5512 +#: sql_help.c:5533 msgid "define a new function" msgstr "ορίσετε μία νέα συνάρτηση" -#: sql_help.c:5518 sql_help.c:5578 sql_help.c:5680 +#: sql_help.c:5539 sql_help.c:5599 sql_help.c:5701 msgid "define a new database role" msgstr "ορίστε έναν νέο ρόλο βάσης δεδομένων" -#: sql_help.c:5524 +#: sql_help.c:5545 msgid "define a new index" msgstr "ορίστε ένα νέο ευρετήριο" -#: sql_help.c:5530 +#: sql_help.c:5551 msgid "define a new procedural language" msgstr "ορίστε μία νέα διαδικαστική γλώσσα" -#: sql_help.c:5536 +#: sql_help.c:5557 msgid "define a new materialized view" msgstr "ορίστε μία νέα υλοποιημένη όψη" -#: sql_help.c:5542 +#: sql_help.c:5563 msgid "define a new operator" msgstr "ορίστε έναν νέο χειριστή" -#: sql_help.c:5548 +#: sql_help.c:5569 msgid "define a new operator class" msgstr "ορίστε μία νέα κλάση χειριστή" -#: sql_help.c:5554 +#: sql_help.c:5575 msgid "define a new operator family" msgstr "ορίστε μία νέα οικογένεια χειριστή" -#: sql_help.c:5560 +#: sql_help.c:5581 msgid "define a new row-level security policy for a table" msgstr "ορίστε μία νέα πολιτική προστασίας σειράς για έναν πίνακα" -#: sql_help.c:5566 +#: sql_help.c:5587 msgid "define a new procedure" msgstr "ορίστε μία νέα διαδικασία" -#: sql_help.c:5572 +#: sql_help.c:5593 msgid "define a new publication" msgstr "ορίστε μία νέα κοινοποιήση" -#: sql_help.c:5584 +#: sql_help.c:5605 msgid "define a new rewrite rule" msgstr "ορίστε ένα νέο κανόνα επανεγγραφής" -#: sql_help.c:5590 +#: sql_help.c:5611 msgid "define a new schema" msgstr "ορίστε ένα νέο σχήμα" -#: sql_help.c:5596 +#: sql_help.c:5617 msgid "define a new sequence generator" msgstr "ορίστε ένα νέο παραγωγό ακολουθίων" -#: sql_help.c:5602 +#: sql_help.c:5623 msgid "define a new foreign server" msgstr "ορίστε ένα νέο ξενικό διακομιστή" -#: sql_help.c:5608 +#: sql_help.c:5629 msgid "define extended statistics" msgstr "ορίστε εκτεταμένα στατιστικά στοιχεία" -#: sql_help.c:5614 +#: sql_help.c:5635 msgid "define a new subscription" msgstr "ορίστε μία νέα συνδρομή" -#: sql_help.c:5620 +#: sql_help.c:5641 msgid "define a new table" msgstr "ορίσετε ένα νέο πίνακα" -#: sql_help.c:5626 sql_help.c:6148 +#: sql_help.c:5647 sql_help.c:6169 msgid "define a new table from the results of a query" msgstr "ορίστε ένα νέο πίνακα από τα αποτελέσματα ενός ερωτήματος" -#: sql_help.c:5632 +#: sql_help.c:5653 msgid "define a new tablespace" msgstr "ορίστε ένα νέο πινακοχώρο" -#: sql_help.c:5638 +#: sql_help.c:5659 msgid "define a new text search configuration" msgstr "ορίστε μία νέα διαμόρφωση αναζήτησης κειμένου" -#: sql_help.c:5644 +#: sql_help.c:5665 msgid "define a new text search dictionary" msgstr "ορίστε ένα νέο λεξικό αναζήτησης κειμένου" -#: sql_help.c:5650 +#: sql_help.c:5671 msgid "define a new text search parser" msgstr "ορίστε ένα νέο αναλυτή αναζήτησης κειμένου" -#: sql_help.c:5656 +#: sql_help.c:5677 msgid "define a new text search template" msgstr "ορίστε ένα νέο πρότυπο αναζήτησης κειμένου" -#: sql_help.c:5662 +#: sql_help.c:5683 msgid "define a new transform" msgstr "ορίστε μία νέα μετατροπή" -#: sql_help.c:5668 +#: sql_help.c:5689 msgid "define a new trigger" msgstr "ορίσετε μία νέα ενεργοποίηση" -#: sql_help.c:5674 +#: sql_help.c:5695 msgid "define a new data type" msgstr "ορίσετε ένα νέο τύπο δεδομένων" -#: sql_help.c:5686 +#: sql_help.c:5707 msgid "define a new mapping of a user to a foreign server" msgstr "ορίστε μία νέα αντιστοίχιση ενός χρήστη σε έναν ξένο διακομιστή" -#: sql_help.c:5692 +#: sql_help.c:5713 msgid "define a new view" msgstr "ορίστε μία νέα όψη" -#: sql_help.c:5698 +#: sql_help.c:5719 msgid "deallocate a prepared statement" msgstr "καταργήστε μία προετοιμασμένη δήλωση" -#: sql_help.c:5704 +#: sql_help.c:5725 msgid "define a cursor" msgstr "ορίστε έναν δρομέα" -#: sql_help.c:5710 +#: sql_help.c:5731 msgid "delete rows of a table" msgstr "διαγράψτε σειρές ενός πίνακα" -#: sql_help.c:5716 +#: sql_help.c:5737 msgid "discard session state" msgstr "καταργήστε την κατάσταση συνεδρίας" -#: sql_help.c:5722 +#: sql_help.c:5743 msgid "execute an anonymous code block" msgstr "εκτελέστε ανώνυμο μπλοκ κώδικα" -#: sql_help.c:5728 +#: sql_help.c:5749 msgid "remove an access method" msgstr "αφαιρέστε μία μέθοδο πρόσβασης" -#: sql_help.c:5734 +#: sql_help.c:5755 msgid "remove an aggregate function" msgstr "αφαιρέστε μία συνάρτηση συγκεντρωτικών αποτελεσμάτων" -#: sql_help.c:5740 +#: sql_help.c:5761 msgid "remove a cast" msgstr "αφαιρέστε ένα καστ" -#: sql_help.c:5746 +#: sql_help.c:5767 msgid "remove a collation" msgstr "αφαιρέστε μία συρραφή" -#: sql_help.c:5752 +#: sql_help.c:5773 msgid "remove a conversion" msgstr "αφαιρέστε μία μετατροπή" -#: sql_help.c:5758 +#: sql_help.c:5779 msgid "remove a database" msgstr "αφαιρέστε μία βάση δεδομένων" -#: sql_help.c:5764 +#: sql_help.c:5785 msgid "remove a domain" msgstr "αφαιρέστε ένα πεδίο" -#: sql_help.c:5770 +#: sql_help.c:5791 msgid "remove an event trigger" msgstr "αφαιρέστε μία ενεργοποίηση συμβάντος" -#: sql_help.c:5776 +#: sql_help.c:5797 msgid "remove an extension" msgstr "αφαιρέστε μία προέκταση" -#: sql_help.c:5782 +#: sql_help.c:5803 msgid "remove a foreign-data wrapper" msgstr "αφαιρέστε μία περιτύλιξη ξένων δεδομένων" -#: sql_help.c:5788 +#: sql_help.c:5809 msgid "remove a foreign table" msgstr "αφαιρέστε έναν ξενικό πίνακα" -#: sql_help.c:5794 +#: sql_help.c:5815 msgid "remove a function" msgstr "αφαιρέστε μία συνάρτηση" -#: sql_help.c:5800 sql_help.c:5866 sql_help.c:5968 +#: sql_help.c:5821 sql_help.c:5887 sql_help.c:5989 msgid "remove a database role" msgstr "αφαιρέστε έναν ρόλο μίας βάσης δεδομένων" -#: sql_help.c:5806 +#: sql_help.c:5827 msgid "remove an index" msgstr "αφαιρέστε ένα ευρετήριο" -#: sql_help.c:5812 +#: sql_help.c:5833 msgid "remove a procedural language" msgstr "αφαιρέστε μία διαδικαστική γλώσσα" -#: sql_help.c:5818 +#: sql_help.c:5839 msgid "remove a materialized view" msgstr "αφαιρέστε μία υλοποιημένη όψη" -#: sql_help.c:5824 +#: sql_help.c:5845 msgid "remove an operator" msgstr "αφαιρέστε έναν χειριστή" -#: sql_help.c:5830 +#: sql_help.c:5851 msgid "remove an operator class" msgstr "αφαιρέστε μία κλάση χειριστή" -#: sql_help.c:5836 +#: sql_help.c:5857 msgid "remove an operator family" msgstr "αφαιρέστε μία οικογένεια χειριστή" -#: sql_help.c:5842 +#: sql_help.c:5863 msgid "remove database objects owned by a database role" msgstr "αφαιρέστε αντικειμένα βάσης δεδομένων που ανήκουν σε ρόλο βάσης δεδομένων" -#: sql_help.c:5848 +#: sql_help.c:5869 msgid "remove a row-level security policy from a table" msgstr "αφαιρέστε μία πολιτική ασφαλείας επιπέδου σειράς από έναν πίνακα" -#: sql_help.c:5854 +#: sql_help.c:5875 msgid "remove a procedure" msgstr "αφαιρέστε μία διαδικασία" -#: sql_help.c:5860 +#: sql_help.c:5881 msgid "remove a publication" msgstr "αφαιρέστε μία δημοσίευση" -#: sql_help.c:5872 +#: sql_help.c:5893 msgid "remove a routine" msgstr "αφαιρέστε μία ρουτίνα" -#: sql_help.c:5878 +#: sql_help.c:5899 msgid "remove a rewrite rule" msgstr "αφαιρέστε έναν κανόνα επανεγγραφής" -#: sql_help.c:5884 +#: sql_help.c:5905 msgid "remove a schema" msgstr "αφαιρέστε ένα σχήμα" -#: sql_help.c:5890 +#: sql_help.c:5911 msgid "remove a sequence" msgstr "αφαιρέστε μία ακολουθία" -#: sql_help.c:5896 +#: sql_help.c:5917 msgid "remove a foreign server descriptor" msgstr "αφαιρέστε έναν περιγραφέα ξενικού διακομιστή" -#: sql_help.c:5902 +#: sql_help.c:5923 msgid "remove extended statistics" msgstr "αφαιρέστε εκτεταμένα στατιστικά στοιχεία" -#: sql_help.c:5908 +#: sql_help.c:5929 msgid "remove a subscription" msgstr "αφαιρέστε μία συνδρομή" -#: sql_help.c:5914 +#: sql_help.c:5935 msgid "remove a table" msgstr "αφαιρέστε έναν πίνακα" -#: sql_help.c:5920 +#: sql_help.c:5941 msgid "remove a tablespace" msgstr "αφαιρέστε έναν πινακοχώρο" -#: sql_help.c:5926 +#: sql_help.c:5947 msgid "remove a text search configuration" msgstr "αφαιρέστε μία διαμόρφωση αναζήτησης κειμένου" -#: sql_help.c:5932 +#: sql_help.c:5953 msgid "remove a text search dictionary" msgstr "αφαιρέστε ένα λεξικό αναζήτησης κειμένου" -#: sql_help.c:5938 +#: sql_help.c:5959 msgid "remove a text search parser" msgstr "αφαιρέστε έναν αναλυτή αναζήτησης κειμένου" -#: sql_help.c:5944 +#: sql_help.c:5965 msgid "remove a text search template" msgstr "αφαιρέστε ένα πρότυπο αναζήτησης κειμένου" -#: sql_help.c:5950 +#: sql_help.c:5971 msgid "remove a transform" msgstr "αφαιρέστε μία μετατροπή" -#: sql_help.c:5956 +#: sql_help.c:5977 msgid "remove a trigger" msgstr "αφαιρέστε μία ενεργοποίηση" -#: sql_help.c:5962 +#: sql_help.c:5983 msgid "remove a data type" msgstr "αφαιρέστε έναν τύπο δεδομένων" -#: sql_help.c:5974 +#: sql_help.c:5995 msgid "remove a user mapping for a foreign server" msgstr "αφαιρέστε μία αντιστοίχιση χρήστη για ξένο διακομιστή" -#: sql_help.c:5980 +#: sql_help.c:6001 msgid "remove a view" msgstr "αφαιρέστε μία όψη" -#: sql_help.c:5992 +#: sql_help.c:6013 msgid "execute a prepared statement" msgstr "εκτελέστε μία προεπιλεγμένη δήλωση" -#: sql_help.c:5998 +#: sql_help.c:6019 msgid "show the execution plan of a statement" msgstr "εμφανίστε το πλάνο εκτέλεσης μίας δήλωσης" -#: sql_help.c:6004 +#: sql_help.c:6025 msgid "retrieve rows from a query using a cursor" msgstr "ανακτήστε σειρές από ερώτημα μέσω δρομέα" -#: sql_help.c:6010 +#: sql_help.c:6031 msgid "define access privileges" msgstr "ορίσθε δικαιώματα πρόσβασης" -#: sql_help.c:6016 +#: sql_help.c:6037 msgid "import table definitions from a foreign server" msgstr "εισαγωγή ορισμών πίνακα από ξένο διακομιστή" -#: sql_help.c:6022 +#: sql_help.c:6043 msgid "create new rows in a table" msgstr "δημιουργήστε καινούργιες σειρές σε έναν πίνακα" -#: sql_help.c:6028 +#: sql_help.c:6049 msgid "listen for a notification" msgstr "ακούστε για μία κοινοποίηση" -#: sql_help.c:6034 +#: sql_help.c:6055 msgid "load a shared library file" msgstr "φορτώστε ένα αρχείο κοινόχρηστης βιβλιοθήκης" -#: sql_help.c:6040 +#: sql_help.c:6061 msgid "lock a table" msgstr "κλειδώστε έναν πίνακα" -#: sql_help.c:6046 +#: sql_help.c:6067 msgid "conditionally insert, update, or delete rows of a table" msgstr "υπό όρους εισαγωγή, ενημέρωση, ή διαγραφή σειρών ενός πίνακα" -#: sql_help.c:6052 +#: sql_help.c:6073 msgid "position a cursor" msgstr "τοποθετήστε έναν δρομέα" -#: sql_help.c:6058 +#: sql_help.c:6079 msgid "generate a notification" msgstr "δημιουργήστε μία κοινοποίηση" -#: sql_help.c:6064 +#: sql_help.c:6085 msgid "prepare a statement for execution" msgstr "προετοιμάστε μία δήλωση για εκτέλεση" -#: sql_help.c:6070 +#: sql_help.c:6091 msgid "prepare the current transaction for two-phase commit" msgstr "προετοιμάστε την τρέχουσας συναλλαγής για ολοκλήρωση σε δύο φάσεις" -#: sql_help.c:6076 +#: sql_help.c:6097 msgid "change the ownership of database objects owned by a database role" msgstr "αλλάξτε την κυριότητα αντικειμένων βάσης δεδομένων που ανήκουν σε ρόλο βάσης δεδομένων" -#: sql_help.c:6082 +#: sql_help.c:6103 msgid "replace the contents of a materialized view" msgstr "αντικαθαστήστε τα περιεχόμενα μίας υλοποιημένης όψης" -#: sql_help.c:6088 +#: sql_help.c:6109 msgid "rebuild indexes" msgstr "επανακατασκευάστε ευρετήρια" -#: sql_help.c:6094 -msgid "destroy a previously defined savepoint" -msgstr "καταστρέψτε ένα προηγούμενα ορισμένο σημείο αποθήκευσης" +#: sql_help.c:6115 +msgid "release a previously defined savepoint" +msgstr "απελευθέρωσε ένα προηγούμενα ορισμένο σημείο αποθήκευσης" -#: sql_help.c:6100 +#: sql_help.c:6121 msgid "restore the value of a run-time parameter to the default value" msgstr "επαναφορά της τιμής μιας παραμέτρου χρόνου εκτέλεσης στην προεπιλεγμένη τιμή" -#: sql_help.c:6106 +#: sql_help.c:6127 msgid "remove access privileges" msgstr "αφαιρέστε δικαιώματα πρόσβασης" -#: sql_help.c:6118 +#: sql_help.c:6139 msgid "cancel a transaction that was earlier prepared for two-phase commit" msgstr "ακύρωση συναλλαγής που είχε προετοιμαστεί προηγουμένως για ολοκλήρωση σε δύο φάσεις" -#: sql_help.c:6124 +#: sql_help.c:6145 msgid "roll back to a savepoint" msgstr "επαναφορά σε σημείο αποθήκευσης" -#: sql_help.c:6130 +#: sql_help.c:6151 msgid "define a new savepoint within the current transaction" msgstr "ορίστε ένα νέο σημείο αποθήκευσης (savepoint) μέσα στην τρέχουσα συναλλαγή" -#: sql_help.c:6136 +#: sql_help.c:6157 msgid "define or change a security label applied to an object" msgstr "ορίστε ή αλλάξτε μία ετικέτα ασφαλείας που εφαρμόζεται σε ένα αντικείμενο" -#: sql_help.c:6142 sql_help.c:6196 sql_help.c:6232 +#: sql_help.c:6163 sql_help.c:6217 sql_help.c:6253 msgid "retrieve rows from a table or view" msgstr "ανακτήστε σειρές από πίνακα ή όψη" -#: sql_help.c:6154 +#: sql_help.c:6175 msgid "change a run-time parameter" msgstr "αλλάξτε μία παράμετρο χρόνου εκτέλεσης" -#: sql_help.c:6160 +#: sql_help.c:6181 msgid "set constraint check timing for the current transaction" msgstr "ορίστε τον χρονισμό ελέγχου περιορισμού για την τρέχουσα συναλλαγή" -#: sql_help.c:6166 +#: sql_help.c:6187 msgid "set the current user identifier of the current session" msgstr "ορίστε το αναγνωριστικό τρέχοντος χρήστη της τρέχουσας συνεδρίας" -#: sql_help.c:6172 +#: sql_help.c:6193 msgid "set the session user identifier and the current user identifier of the current session" msgstr "ορίστε το αναγνωριστικό χρήστη συνεδρίας και το αναγνωριστικό τρέχοντος χρήστη της τρέχουσας συνεδρίας" -#: sql_help.c:6178 +#: sql_help.c:6199 msgid "set the characteristics of the current transaction" msgstr "ορίστε τα χαρακτηριστικά της τρέχουσας συναλλαγής" -#: sql_help.c:6184 +#: sql_help.c:6205 msgid "show the value of a run-time parameter" msgstr "εμφάνιση της τιμής μιας παραμέτρου χρόνου εκτέλεσης" -#: sql_help.c:6202 +#: sql_help.c:6223 msgid "empty a table or set of tables" msgstr "αδειάστε έναν πίνακα ή ένα σύνολο πινάκων" -#: sql_help.c:6208 +#: sql_help.c:6229 msgid "stop listening for a notification" msgstr "σταματήστε να ακούτε μια κοινοποίηση" -#: sql_help.c:6214 +#: sql_help.c:6235 msgid "update rows of a table" msgstr "ενημέρωση σειρών πίνακα" -#: sql_help.c:6220 +#: sql_help.c:6241 msgid "garbage-collect and optionally analyze a database" msgstr "συλλογή απορριμμάτων και προαιρετική ανάλυση βάσης δεδομένων" -#: sql_help.c:6226 +#: sql_help.c:6247 msgid "compute a set of rows" msgstr "υπολογίστε ένα σύνολο σειρών" @@ -6412,7 +6504,7 @@ msgstr "παραβλέπεται η πρόσθετη παράμετρος γρα msgid "could not find own program executable" msgstr "δεν ήταν δυνατή η εύρεση του ιδίου εκτελέσιμου προγράμματος" -#: tab-complete.c:5955 +#: tab-complete.c:6078 #, c-format msgid "" "tab completion query failed: %s\n" @@ -6438,7 +6530,7 @@ msgstr "άκυρη τιμή «%s» για «%s»: αναμένεται ακέρ msgid "invalid variable name: \"%s\"" msgstr "άκυρη ονομασία παραμέτρου «%s»" -#: variables.c:419 +#: variables.c:418 #, c-format msgid "" "unrecognized value \"%s\" for \"%s\"\n" @@ -6467,6 +6559,9 @@ msgstr "" #~ msgid "Enter new password: " #~ msgstr "Εισάγετε νέο κωδικό πρόσβασης: " +#~ msgid "Source code" +#~ msgstr "Πηγαίος κώδικας" + #~ msgid "Special relation \"%s.%s\"" #~ msgstr "Ειδική σχέση «%s.%s»" @@ -6515,9 +6610,24 @@ msgstr "" #~ msgid "\\watch cannot be used with COPY" #~ msgstr "\\watch δεν μπορεί να χρησιμοποιηθεί μαζί με COPY" +#~ msgid "could not change directory to \"%s\": %m" +#~ msgstr "δεν ήταν δυνατή η μετάβαση στον κατάλογο «%s»: %m" + +#~ msgid "could not identify current directory: %m" +#~ msgstr "δεν ήταν δυνατή η αναγνώριση του τρέχοντος καταλόγου: %m" + +#~ msgid "could not read binary \"%s\"" +#~ msgstr "δεν ήταν δυνατή η ανάγνωση του δυαδικού αρχείου «%s»" + +#~ msgid "could not read symbolic link \"%s\": %m" +#~ msgstr "δεν ήταν δυνατή η ανάγνωση του συμβολικού συνδέσμου «%s»: %m" + #~ msgid "fatal: " #~ msgstr "κρίσιμο: " +#~ msgid "invalid binary \"%s\"" +#~ msgstr "μη έγκυρο δυαδικό αρχείο «%s»" + #~ msgid "pclose failed: %m" #~ msgstr "απέτυχε η εντολή pclose: %m" diff --git a/src/bin/psql/po/ko.po b/src/bin/psql/po/ko.po index 3d3da974b68..4f3c2db3bb6 100644 --- a/src/bin/psql/po/ko.po +++ b/src/bin/psql/po/ko.po @@ -3,10 +3,10 @@ # msgid "" msgstr "" -"Project-Id-Version: psql (PostgreSQL) 13\n" +"Project-Id-Version: psql (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2020-10-12 22:13+0000\n" -"PO-Revision-Date: 2020-10-27 14:28+0900\n" +"POT-Creation-Date: 2023-09-07 05:48+0000\n" +"PO-Revision-Date: 2023-07-20 15:50+0900\n" "Last-Translator: Ioseph Kim \n" "Language-Team: Korean \n" "Language: ko\n" @@ -15,69 +15,65 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../../../src/common/logging.c:236 -#, c-format -msgid "fatal: " -msgstr "심각: " - -#: ../../../src/common/logging.c:243 +#: ../../../src/common/logging.c:276 #, c-format msgid "error: " msgstr "오류: " -#: ../../../src/common/logging.c:250 +#: ../../../src/common/logging.c:283 #, c-format msgid "warning: " msgstr "경고: " -#: ../../common/exec.c:137 ../../common/exec.c:254 ../../common/exec.c:300 +#: ../../../src/common/logging.c:294 #, c-format -msgid "could not identify current directory: %m" -msgstr "현재 디렉터리가 무엇인지 모르겠음: %m" +msgid "detail: " +msgstr "상세정보: " -#: ../../common/exec.c:156 +#: ../../../src/common/logging.c:301 #, c-format -msgid "invalid binary \"%s\"" -msgstr "잘못된 바이너리 파일: \"%s\"" +msgid "hint: " +msgstr "힌트: " -#: ../../common/exec.c:206 +#: ../../common/exec.c:172 #, c-format -msgid "could not read binary \"%s\"" -msgstr "\"%s\" 바이너리 파일을 읽을 수 없음" +msgid "invalid binary \"%s\": %m" +msgstr "\"%s\" 파일은 잘못된 바이너리 파일: %m" -#: ../../common/exec.c:214 +#: ../../common/exec.c:215 #, c-format -msgid "could not find a \"%s\" to execute" -msgstr "실행할 \"%s\" 파일 찾을 수 없음" +msgid "could not read binary \"%s\": %m" +msgstr "\"%s\" 바이너리 파일을 읽을 수 없음: %m" -#: ../../common/exec.c:270 ../../common/exec.c:309 +#: ../../common/exec.c:223 #, c-format -msgid "could not change directory to \"%s\": %m" -msgstr "\"%s\" 이름의 디렉터리로 이동할 수 없습니다: %m" +msgid "could not find a \"%s\" to execute" +msgstr "실행할 \"%s\" 파일 찾을 수 없음" -#: ../../common/exec.c:287 +#: ../../common/exec.c:250 #, c-format -msgid "could not read symbolic link \"%s\": %m" -msgstr "\"%s\" 심볼릭 링크 파일을 읽을 수 없음: %m" +msgid "could not resolve path \"%s\" to absolute form: %m" +msgstr "\"%s\" 경로를 절대경로로 바꿀 수 없음: %m" -#: ../../common/exec.c:410 +#: ../../common/exec.c:412 #, c-format -msgid "pclose failed: %m" -msgstr "pclose 실패: %m" +msgid "%s() failed: %m" +msgstr "%s() 실패: %m" -#: ../../common/exec.c:539 ../../common/exec.c:584 ../../common/exec.c:676 -#: command.c:1255 input.c:227 mainloop.c:81 mainloop.c:402 +#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 +#: command.c:1354 command.c:3439 command.c:3488 command.c:3612 input.c:226 +#: mainloop.c:80 mainloop.c:398 #, c-format msgid "out of memory" msgstr "메모리 부족" #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 -#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format msgid "out of memory\n" msgstr "메모리 부족\n" -#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 #, c-format msgid "cannot duplicate null pointer (internal error)\n" msgstr "null 포인터를 복제할 수 없음(내부 오류)\n" @@ -87,7 +83,7 @@ msgstr "null 포인터를 복제할 수 없음(내부 오류)\n" msgid "could not look up effective user ID %ld: %s" msgstr "UID %ld 해당하는 사용자를 찾을 수 없음: %s" -#: ../../common/username.c:45 command.c:559 +#: ../../common/username.c:45 command.c:613 msgid "user does not exist" msgstr "사용자 없음" @@ -96,118 +92,123 @@ msgstr "사용자 없음" msgid "user name lookup failure: error code %lu" msgstr "사용자 이름 찾기 실패: 오류번호 %lu" -#: ../../common/wait_error.c:45 +#: ../../common/wait_error.c:55 #, c-format msgid "command not executable" msgstr "명령을 실행할 수 없음" -#: ../../common/wait_error.c:49 +#: ../../common/wait_error.c:59 #, c-format msgid "command not found" msgstr "명령어를 찾을 수 없음" -#: ../../common/wait_error.c:54 +#: ../../common/wait_error.c:64 #, c-format msgid "child process exited with exit code %d" msgstr "하위 프로세스가 %d 코드로 종료했음" -#: ../../common/wait_error.c:62 +#: ../../common/wait_error.c:72 #, c-format msgid "child process was terminated by exception 0x%X" msgstr "0x%X 예외처리에 의해 하위 프로세스가 종료되었음" -#: ../../common/wait_error.c:66 +#: ../../common/wait_error.c:76 #, c-format msgid "child process was terminated by signal %d: %s" msgstr "하위 프로세스가 %d 신호를 받고 종료되었음: %s" -#: ../../common/wait_error.c:72 +#: ../../common/wait_error.c:82 #, c-format msgid "child process exited with unrecognized status %d" msgstr "하위 프로세스가 알 수 없는 상태(%d)로 종료되었음" -#: ../../fe_utils/cancel.c:161 ../../fe_utils/cancel.c:206 +#: ../../fe_utils/cancel.c:189 ../../fe_utils/cancel.c:238 msgid "Cancel request sent\n" msgstr "취소 요청 보냄\n" -#: ../../fe_utils/cancel.c:165 +#: ../../fe_utils/cancel.c:190 ../../fe_utils/cancel.c:239 msgid "Could not send cancel request: " msgstr "취소 요청 보내기 실패: " -#: ../../fe_utils/cancel.c:210 -#, c-format -msgid "Could not send cancel request: %s" -msgstr "취소 요청 보내기 실패: %s" - -#: ../../fe_utils/print.c:350 +#: ../../fe_utils/print.c:406 #, c-format msgid "(%lu row)" msgid_plural "(%lu rows)" msgstr[0] "(%lu개 행)" -#: ../../fe_utils/print.c:3055 +#: ../../fe_utils/print.c:3154 #, c-format msgid "Interrupted\n" msgstr "인트럽트발생\n" -#: ../../fe_utils/print.c:3119 +#: ../../fe_utils/print.c:3218 #, c-format msgid "Cannot add header to table content: column count of %d exceeded.\n" msgstr "테이블 내용에 헤더를 추가할 수 없음: 열 수가 %d개를 초과했습니다.\n" -#: ../../fe_utils/print.c:3159 +#: ../../fe_utils/print.c:3258 #, c-format msgid "Cannot add cell to table content: total cell count of %d exceeded.\n" msgstr "테이블 내용에 셀을 추가할 수 없음: 총 셀 수가 %d개를 초과했습니다.\n" -#: ../../fe_utils/print.c:3414 +#: ../../fe_utils/print.c:3516 #, c-format msgid "invalid output format (internal error): %d" msgstr "잘못된 출력 형식 (내부 오류): %d" -#: ../../fe_utils/psqlscan.l:694 +#: ../../fe_utils/psqlscan.l:717 #, c-format msgid "skipping recursive expansion of variable \"%s\"" msgstr "\"%s\" 변수의 재귀적 확장을 건너뛰는 중" -#: command.c:224 +#: ../../port/thread.c:50 ../../port/thread.c:86 +#, c-format +msgid "could not look up local user ID %d: %s" +msgstr "UID %d 해당하는 로컬 사용자를 찾을 수 없음: %s" + +#: ../../port/thread.c:55 ../../port/thread.c:91 +#, c-format +msgid "local user with ID %d does not exist" +msgstr "ID %d 로컬 사용자 없음" + +#: command.c:234 #, c-format msgid "invalid command \\%s" msgstr "잘못된 명령: \\%s" -#: command.c:226 +#: command.c:236 #, c-format msgid "Try \\? for help." msgstr "도움말을 보려면 \\?를 입력하십시오." -#: command.c:244 +#: command.c:254 #, c-format msgid "\\%s: extra argument \"%s\" ignored" msgstr "\\%s: \"%s\" 추가 인자가 무시되었음" -#: command.c:296 +#: command.c:306 #, c-format msgid "\\%s command ignored; use \\endif or Ctrl-C to exit current \\if block" msgstr "" "\\%s 명령은 무시함; 현재 \\if 블록을 중지하려면, \\endif 명령이나 Ctrl-C 키" "를 사용하세요." -#: command.c:557 +#: command.c:611 #, c-format msgid "could not get home directory for user ID %ld: %s" msgstr "UID %ld 사용자의 홈 디렉터리를 찾을 수 없음: %s" -#: command.c:575 +#: command.c:630 #, c-format msgid "\\%s: could not change directory to \"%s\": %m" msgstr "\\%s: \"%s\" 디렉터리로 이동할 수 없음: %m" -#: command.c:600 +#: command.c:654 #, c-format msgid "You are currently not connected to a database.\n" msgstr "현재 데이터베이스에 연결되어있지 않습니다.\n" -#: command.c:613 +#: command.c:664 #, c-format msgid "" "You are connected to database \"%s\" as user \"%s\" on address \"%s\" at " @@ -215,7 +216,7 @@ msgid "" msgstr "" "접속정보: 데이터베이스=\"%s\", 사용자=\"%s\", 주소=\"%s\", 포트=\"%s\".\n" -#: command.c:616 +#: command.c:667 #, c-format msgid "" "You are connected to database \"%s\" as user \"%s\" via socket in \"%s\" at " @@ -223,7 +224,7 @@ msgid "" msgstr "" "접속정보: 데이터베이스=\"%s\", 사용자=\"%s\", 소켓=\"%s\", 포트=\"%s\".\n" -#: command.c:622 +#: command.c:673 #, c-format msgid "" "You are connected to database \"%s\" as user \"%s\" on host \"%s\" (address " @@ -232,7 +233,7 @@ msgstr "" "접속정보: 데이터베이스=\"%s\", 사용자=\"%s\", 호스트=\"%s\" (주소=\"%s\"), 포" "트=\"%s\".\n" -#: command.c:625 +#: command.c:676 #, c-format msgid "" "You are connected to database \"%s\" as user \"%s\" on host \"%s\" at port " @@ -240,182 +241,199 @@ msgid "" msgstr "" "접속정보: 데이터베이스=\"%s\", 사용자=\"%s\", 호스트=\"%s\", 포트=\"%s\".\n" -#: command.c:965 command.c:1061 command.c:2550 +#: command.c:1066 command.c:1159 command.c:2682 #, c-format msgid "no query buffer" msgstr "쿼리 버퍼가 없음" -#: command.c:998 command.c:5061 +#: command.c:1099 command.c:5689 #, c-format msgid "invalid line number: %s" msgstr "잘못된 줄 번호: %s" -#: command.c:1052 -#, c-format -msgid "The server (version %s) does not support editing function source." -msgstr "이 서버(%s 버전)는 함수 소스 편집 기능을 제공하지 않습니다." - -#: command.c:1055 -#, c-format -msgid "The server (version %s) does not support editing view definitions." -msgstr "이 서버(%s 버전)는 뷰 정의 편집 기능을 제공하지 않습니다." - -#: command.c:1137 +#: command.c:1237 msgid "No changes" msgstr "변경 내용 없음" -#: command.c:1216 +#: command.c:1315 #, c-format msgid "%s: invalid encoding name or conversion procedure not found" msgstr "%s: 잘못된 인코딩 이름 또는 문자셋 변환 프로시저 없음" -#: command.c:1251 command.c:1992 command.c:3253 command.c:5163 common.c:174 -#: common.c:223 common.c:388 common.c:1237 common.c:1265 common.c:1373 -#: common.c:1480 common.c:1518 copy.c:488 copy.c:707 help.c:62 large_obj.c:157 -#: large_obj.c:192 large_obj.c:254 +#: command.c:1350 command.c:2152 command.c:3435 command.c:3632 command.c:5795 +#: common.c:182 common.c:231 common.c:400 common.c:1102 common.c:1120 +#: common.c:1194 common.c:1313 common.c:1351 common.c:1444 common.c:1480 +#: copy.c:486 copy.c:720 help.c:66 large_obj.c:157 large_obj.c:192 +#: large_obj.c:254 startup.c:304 #, c-format msgid "%s" msgstr "%s" -#: command.c:1258 +#: command.c:1357 msgid "There is no previous error." msgstr "이전 오류가 없습니다." -#: command.c:1371 +#: command.c:1470 #, c-format msgid "\\%s: missing right parenthesis" msgstr "\\%s: 오른쪽 괄호 빠졌음" -#: command.c:1548 command.c:1853 command.c:1867 command.c:1884 command.c:2044 -#: command.c:2281 command.c:2517 command.c:2557 +#: command.c:1554 command.c:1684 command.c:1988 command.c:2002 command.c:2021 +#: command.c:2203 command.c:2444 command.c:2649 command.c:2689 #, c-format msgid "\\%s: missing required argument" msgstr "\\%s: 필요한 인자가 빠졌음" -#: command.c:1679 +#: command.c:1815 #, c-format msgid "\\elif: cannot occur after \\else" msgstr "\\elif: \\else 구문 뒤에 올 수 없음" -#: command.c:1684 +#: command.c:1820 #, c-format msgid "\\elif: no matching \\if" msgstr "\\elif: \\if 명령과 짝이 안맞음" -#: command.c:1748 +#: command.c:1884 #, c-format msgid "\\else: cannot occur after \\else" msgstr "\\else: \\else 명령 뒤에 올 수 없음" -#: command.c:1753 +#: command.c:1889 #, c-format msgid "\\else: no matching \\if" msgstr "\\else: \\if 명령과 짝이 안맞음" -#: command.c:1793 +#: command.c:1929 #, c-format msgid "\\endif: no matching \\if" msgstr "\\endif: \\if 명령과 짝이 안맞음" -#: command.c:1948 +#: command.c:2085 msgid "Query buffer is empty." msgstr "쿼리 버퍼가 비었음." -#: command.c:1970 -msgid "Enter new password: " -msgstr "새 암호를 입력하세요:" +#: command.c:2128 +#, c-format +msgid "Enter new password for user \"%s\": " +msgstr "\"%s\" 사용자의 새 암호: " -#: command.c:1971 +#: command.c:2132 msgid "Enter it again: " msgstr "다시 입력해 주세요:" -#: command.c:1975 +#: command.c:2141 #, c-format msgid "Passwords didn't match." msgstr "암호가 서로 틀립니다." -#: command.c:2074 +#: command.c:2238 #, c-format msgid "\\%s: could not read value for variable" msgstr "\\%s: 변수 값을 읽을 수 없음" -#: command.c:2177 +#: command.c:2340 msgid "Query buffer reset (cleared)." msgstr "쿼리 버퍼 초기화 (비웠음)." -#: command.c:2199 +#: command.c:2362 #, c-format msgid "Wrote history to file \"%s\".\n" msgstr "명령내역(history)을 \"%s\" 파일에 기록했습니다.\n" -#: command.c:2286 +#: command.c:2449 #, c-format msgid "\\%s: environment variable name must not contain \"=\"" msgstr "\\%s: OS 환경 변수 이름에는 \"=\" 문자가 없어야 함" -#: command.c:2347 -#, c-format -msgid "The server (version %s) does not support showing function source." -msgstr "이 서버(%s 버전)는 함수 소스 보기 기능을 제공하지 않습니다." - -#: command.c:2350 -#, c-format -msgid "The server (version %s) does not support showing view definitions." -msgstr "이 서버(%s 버전)는 뷰 정의 보기 기능을 제공하지 않습니다." - -#: command.c:2357 +#: command.c:2497 #, c-format msgid "function name is required" msgstr "함수 이름이 필요함" -#: command.c:2359 +#: command.c:2499 #, c-format msgid "view name is required" msgstr "뷰 이름이 필요함" -#: command.c:2489 +#: command.c:2621 msgid "Timing is on." msgstr "작업수행시간 보임" -#: command.c:2491 +#: command.c:2623 msgid "Timing is off." msgstr "작업수행시간 숨김" -#: command.c:2576 command.c:2604 command.c:3661 command.c:3664 command.c:3667 -#: command.c:3673 command.c:3675 command.c:3683 command.c:3693 command.c:3702 -#: command.c:3716 command.c:3733 command.c:3791 common.c:70 copy.c:331 -#: copy.c:403 psqlscanslash.l:784 psqlscanslash.l:795 psqlscanslash.l:805 +#: command.c:2709 command.c:2747 command.c:4074 command.c:4077 command.c:4080 +#: command.c:4086 command.c:4088 command.c:4114 command.c:4124 command.c:4136 +#: command.c:4150 command.c:4177 command.c:4235 common.c:78 copy.c:329 +#: copy.c:401 psqlscanslash.l:788 psqlscanslash.l:800 psqlscanslash.l:818 #, c-format msgid "%s: %m" msgstr "%s: %m" -#: command.c:2988 startup.c:236 startup.c:287 +#: command.c:2736 copy.c:388 +#, c-format +msgid "%s: %s" +msgstr "%s: %s" + +#: command.c:2806 command.c:2852 +#, c-format +msgid "\\watch: interval value is specified more than once" +msgstr "\\watch: 반복 간격 값은 하나만 지정해야 합니다" + +#: command.c:2816 command.c:2862 +#, c-format +msgid "\\watch: incorrect interval value \"%s\"" +msgstr "\\watch: 잘못된 반복 간격 값 \"%s\"" + +#: command.c:2826 +#, c-format +msgid "\\watch: iteration count is specified more than once" +msgstr "\\watch: 최대 반복 회수는 하나만 지정해야 합니다" + +#: command.c:2836 +#, c-format +msgid "\\watch: incorrect iteration count \"%s\"" +msgstr "\\watch: 잘못된 최대 반복 회수 \"%s\"" + +#: command.c:2843 +#, c-format +msgid "\\watch: unrecognized parameter \"%s\"" +msgstr "\\watch: 알수 없는 매개 변수 \"%s\"" + +#: command.c:3236 startup.c:243 startup.c:293 msgid "Password: " msgstr "암호: " -#: command.c:2993 startup.c:284 +#: command.c:3241 startup.c:290 #, c-format msgid "Password for user %s: " msgstr "%s 사용자의 암호: " -#: command.c:3064 +#: command.c:3297 #, c-format msgid "" -"All connection parameters must be supplied because no database connection " -"exists" -msgstr "현재 접속 정보가 없습니다. 접속을 위한 연결 관련 매개변수를 지정하세요" +"Do not give user, host, or port separately when using a connection string" +msgstr "" +"연결 문자열을 사용할 때는 user, host, port 를 따로 따로 지정하지 마세요." + +#: command.c:3332 +#, c-format +msgid "No database connection exists to re-use parameters from" +msgstr "재접속할 데이터베이스 연결 정보가 없음" -#: command.c:3257 +#: command.c:3638 #, c-format msgid "Previous connection kept" msgstr "이전 연결이 유지되었음" -#: command.c:3261 +#: command.c:3644 #, c-format msgid "\\connect: %s" msgstr "\\연결: %s" -#: command.c:3310 +#: command.c:3700 #, c-format msgid "" "You are now connected to database \"%s\" as user \"%s\" on address \"%s\" at " @@ -423,7 +441,7 @@ msgid "" msgstr "" "접속정보: 데이터베이스=\"%s\", 사용자=\"%s\", 주소=\"%s\", 포트=\"%s\".\n" -#: command.c:3313 +#: command.c:3703 #, c-format msgid "" "You are now connected to database \"%s\" as user \"%s\" via socket in \"%s\" " @@ -431,7 +449,7 @@ msgid "" msgstr "" "접속정보: 데이터베이스=\"%s\", 사용자=\"%s\", 소켓=\"%s\", 포트=\"%s\".\n" -#: command.c:3319 +#: command.c:3709 #, c-format msgid "" "You are now connected to database \"%s\" as user \"%s\" on host \"%s" @@ -440,7 +458,7 @@ msgstr "" "접속정보: 데이터베이스=\"%s\", 사용자=\"%s\", 호스트=\"%s\" (주소 \"%s\"), 포" "트=\"%s\".\n" -#: command.c:3322 +#: command.c:3712 #, c-format msgid "" "You are now connected to database \"%s\" as user \"%s\" on host \"%s\" at " @@ -448,17 +466,17 @@ msgid "" msgstr "" "접속정보: 데이터베이스=\"%s\", 사용자=\"%s\", 호스트=\"%s\", 포트=\"%s\".\n" -#: command.c:3327 +#: command.c:3717 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\".\n" msgstr "접속정보: 데이터베이스=\"%s\", 사용자=\"%s\".\n" -#: command.c:3360 +#: command.c:3757 #, c-format msgid "%s (%s, server %s)\n" msgstr "%s(%s, %s 서버)\n" -#: command.c:3368 +#: command.c:3770 #, c-format msgid "" "WARNING: %s major version %s, server major version %s.\n" @@ -467,29 +485,29 @@ msgstr "" "경고: %s 메이저 버전 %s, 서버 메이저 버전 %s.\n" " 일부 psql 기능이 작동하지 않을 수도 있습니다.\n" -#: command.c:3407 +#: command.c:3807 #, c-format -msgid "SSL connection (protocol: %s, cipher: %s, bits: %s, compression: %s)\n" -msgstr "SSL 연결정보 (프로토콜: %s, 암호화기법: %s, 비트: %s, 압축: %s)\n" +msgid "SSL connection (protocol: %s, cipher: %s, compression: %s)\n" +msgstr "SSL 연결정보 (프로토콜: %s, 암호화기법: %s, 압축: %s)\n" -#: command.c:3408 command.c:3409 command.c:3410 +#: command.c:3808 command.c:3809 msgid "unknown" msgstr "알수없음" -#: command.c:3411 help.c:45 +#: command.c:3810 help.c:42 msgid "off" msgstr "off" -#: command.c:3411 help.c:45 +#: command.c:3810 help.c:42 msgid "on" msgstr "on" -#: command.c:3425 +#: command.c:3824 #, c-format msgid "GSSAPI-encrypted connection\n" msgstr "암호화된 GSSAPI 연결\n" -#: command.c:3445 +#: command.c:3844 #, c-format msgid "" "WARNING: Console code page (%u) differs from Windows code page (%u)\n" @@ -501,7 +519,7 @@ msgstr "" "참조\n" " 페이지 \"Notes for Windows users\"를 참조하십시오.\n" -#: command.c:3549 +#: command.c:3949 #, c-format msgid "" "environment variable PSQL_EDITOR_LINENUMBER_ARG must be set to specify a " @@ -510,32 +528,32 @@ msgstr "" "지정한 줄번호를 사용하기 위해서는 PSQL_EDITOR_LINENUMBER_ARG 이름의 OS 환경변" "수가 설정되어 있어야 합니다." -#: command.c:3578 +#: command.c:3979 #, c-format msgid "could not start editor \"%s\"" msgstr "\"%s\" 문서 편집기를 실행시킬 수 없음" -#: command.c:3580 +#: command.c:3981 #, c-format msgid "could not start /bin/sh" msgstr "/bin/sh 명령을 실행할 수 없음" -#: command.c:3618 +#: command.c:4031 #, c-format msgid "could not locate temporary directory: %s" msgstr "임시 디렉터리 경로를 알 수 없음: %s" -#: command.c:3645 +#: command.c:4058 #, c-format msgid "could not open temporary file \"%s\": %m" msgstr "\"%s\" 임시 파일을 열 수 없음: %m" -#: command.c:3950 +#: command.c:4394 #, c-format msgid "\\pset: ambiguous abbreviation \"%s\" matches both \"%s\" and \"%s\"" msgstr "\\pset: \"%s\" 생략형이 \"%s\" 또는 \"%s\" 값 모두 선택가능해서 모호함" -#: command.c:3970 +#: command.c:4414 #, c-format msgid "" "\\pset: allowed formats are aligned, asciidoc, csv, html, latex, latex-" @@ -544,32 +562,41 @@ msgstr "" "\\pset: 허용되는 출력 형식: aligned, asciidoc, csv, html, latex, latex-" "longtable, troff-ms, unaligned, wrapped" -#: command.c:3989 +#: command.c:4433 #, c-format msgid "\\pset: allowed line styles are ascii, old-ascii, unicode" msgstr "\\pset: 사용할 수 있는 선 모양은 ascii, old-ascii, unicode" -#: command.c:4004 +#: command.c:4448 #, c-format msgid "\\pset: allowed Unicode border line styles are single, double" msgstr "\\pset: 사용할 수 있는 유니코드 테두리 모양은 single, double" -#: command.c:4019 +#: command.c:4463 #, c-format msgid "\\pset: allowed Unicode column line styles are single, double" msgstr "\\pset: 사용할 수 있는 유니코드 칼럼 선 모양은 single, double" -#: command.c:4034 +#: command.c:4478 #, c-format msgid "\\pset: allowed Unicode header line styles are single, double" msgstr "\\pset: 사용할 수 있는 유니코드 헤더 선 모양은 single, double" -#: command.c:4077 +#: command.c:4530 +#, c-format +msgid "" +"\\pset: allowed xheader_width values are \"%s\" (default), \"%s\", \"%s\", " +"or a number specifying the exact width" +msgstr "" +"\\pset: xheader_width 값은 \"%s\" (기본값), \"%s\", \"%s\", 또는 정확한 너비 " +"숫자 입니다." + +#: command.c:4547 #, c-format msgid "\\pset: csv_fieldsep must be a single one-byte character" msgstr "\\pset: csv_fieldsep 문자는 1바이트의 단일 문자여야 함" -#: command.c:4082 +#: command.c:4552 #, c-format msgid "" "\\pset: csv_fieldsep cannot be a double quote, a newline, or a carriage " @@ -577,193 +604,213 @@ msgid "" msgstr "" "\\pset: csv_fieldsep 문자로 따옴표, 줄바꿈(\\n, \\r) 문자는 사용할 수 없음" -#: command.c:4219 command.c:4407 +#: command.c:4690 command.c:4891 #, c-format msgid "\\pset: unknown option: %s" msgstr "\\pset: 알 수 없는 옵션: %s" -#: command.c:4239 +#: command.c:4710 #, c-format msgid "Border style is %d.\n" msgstr "html 테이블의 테두리를 %d로 지정했습니다.\n" -#: command.c:4245 +#: command.c:4716 #, c-format msgid "Target width is unset.\n" msgstr "대상 너비 미지정.\n" -#: command.c:4247 +#: command.c:4718 #, c-format msgid "Target width is %d.\n" msgstr "대상 너비는 %d입니다.\n" -#: command.c:4254 +#: command.c:4725 #, c-format msgid "Expanded display is on.\n" msgstr "칼럼 단위 보기 기능 켬.\n" -#: command.c:4256 +#: command.c:4727 #, c-format msgid "Expanded display is used automatically.\n" msgstr "칼럼 단위 보기 기능을 자동으로 지정 함.\n" -#: command.c:4258 +#: command.c:4729 #, c-format msgid "Expanded display is off.\n" msgstr "칼럼 단위 보기 기능 끔.\n" -#: command.c:4264 +#: command.c:4736 command.c:4738 command.c:4740 +#, c-format +msgid "Expanded header width is \"%s\".\n" +msgstr "확장된 헤더 너비 = \"%s\".\n" + +#: command.c:4742 +#, c-format +msgid "Expanded header width is %d.\n" +msgstr "확장된 헤더 너비는 %d입니다.\n" + +#: command.c:4748 #, c-format msgid "Field separator for CSV is \"%s\".\n" msgstr "CSV용 필드 구분자: \"%s\".\n" -#: command.c:4272 command.c:4280 +#: command.c:4756 command.c:4764 #, c-format msgid "Field separator is zero byte.\n" msgstr "필드 구분자가 0 바이트입니다.\n" -#: command.c:4274 +#: command.c:4758 #, c-format msgid "Field separator is \"%s\".\n" msgstr "필드 구분자 \"%s\".\n" -#: command.c:4287 +#: command.c:4771 #, c-format msgid "Default footer is on.\n" msgstr "기본 꼬릿말 보기 기능 켬.\n" -#: command.c:4289 +#: command.c:4773 #, c-format msgid "Default footer is off.\n" msgstr "기본 꼬릿말 보기 기능 끔.\n" -#: command.c:4295 +#: command.c:4779 #, c-format msgid "Output format is %s.\n" msgstr "현재 출력 형식: %s.\n" -#: command.c:4301 +#: command.c:4785 #, c-format msgid "Line style is %s.\n" msgstr "선 모양: %s.\n" -#: command.c:4308 +#: command.c:4792 #, c-format msgid "Null display is \"%s\".\n" msgstr "Null 값은 \"%s\" 문자로 보여짐.\n" -#: command.c:4316 +#: command.c:4800 #, c-format msgid "Locale-adjusted numeric output is on.\n" msgstr "로케일 맞춤 숫자 표기 기능 켬.\n" -#: command.c:4318 +#: command.c:4802 #, c-format msgid "Locale-adjusted numeric output is off.\n" msgstr "로케일 맞춤 숫자 표기 기능 끔.\n" -#: command.c:4325 +#: command.c:4809 #, c-format msgid "Pager is used for long output.\n" msgstr "긴 출력을 위해 페이저가 사용됨.\n" -#: command.c:4327 +#: command.c:4811 #, c-format msgid "Pager is always used.\n" msgstr "항상 페이저가 사용됨.\n" -#: command.c:4329 +#: command.c:4813 #, c-format msgid "Pager usage is off.\n" msgstr "화면단위 보기 기능 끔(전체 자료 모두 보여줌).\n" -#: command.c:4335 +#: command.c:4819 #, c-format msgid "Pager won't be used for less than %d line.\n" msgid_plural "Pager won't be used for less than %d lines.\n" msgstr[0] "%d 줄보다 적은 경우는 페이지 단위 보기가 사용되지 않음\n" -#: command.c:4345 command.c:4355 +#: command.c:4829 command.c:4839 #, c-format msgid "Record separator is zero byte.\n" msgstr "레코드 구분자가 0 바이트임.\n" -#: command.c:4347 +#: command.c:4831 #, c-format msgid "Record separator is .\n" msgstr "레코드 구분자는 줄바꿈 문자입니다.\n" -#: command.c:4349 +#: command.c:4833 #, c-format msgid "Record separator is \"%s\".\n" msgstr "레코드 구분자 \"%s\".\n" -#: command.c:4362 +#: command.c:4846 #, c-format msgid "Table attributes are \"%s\".\n" msgstr "테이블 속성: \"%s\".\n" -#: command.c:4365 +#: command.c:4849 #, c-format msgid "Table attributes unset.\n" msgstr "테이블 속성 모두 지움.\n" -#: command.c:4372 +#: command.c:4856 #, c-format msgid "Title is \"%s\".\n" msgstr "출력 테이블의 제목: \"%s\"\n" -#: command.c:4374 +#: command.c:4858 #, c-format msgid "Title is unset.\n" msgstr "출력 테이블의 제목을 지정하지 않았습니다.\n" -#: command.c:4381 +#: command.c:4865 #, c-format msgid "Tuples only is on.\n" msgstr "자료만 보기 기능 켬.\n" -#: command.c:4383 +#: command.c:4867 #, c-format msgid "Tuples only is off.\n" msgstr "자료만 보기 기능 끔.\n" -#: command.c:4389 +#: command.c:4873 #, c-format msgid "Unicode border line style is \"%s\".\n" msgstr "유니코드 테두리 선문자: \"%s\".\n" -#: command.c:4395 +#: command.c:4879 #, c-format msgid "Unicode column line style is \"%s\".\n" msgstr "유니코드 칼럼 선문자: \"%s\".\n" -#: command.c:4401 +#: command.c:4885 #, c-format msgid "Unicode header line style is \"%s\".\n" msgstr "유니코드 헤더 선문자: \"%s\".\n" -#: command.c:4634 +#: command.c:5134 #, c-format msgid "\\!: failed" msgstr "\\!: 실패" -#: command.c:4659 common.c:648 +#: command.c:5168 #, c-format msgid "\\watch cannot be used with an empty query" msgstr "\\watch 명령으로 수행할 쿼리가 없습니다." -#: command.c:4700 +#: command.c:5200 +#, c-format +msgid "could not set timer: %m" +msgstr "타이머 설정 실패: %m" + +#: command.c:5269 #, c-format msgid "%s\t%s (every %gs)\n" msgstr "%s\t%s (%g초 간격)\n" -#: command.c:4703 +#: command.c:5272 #, c-format msgid "%s (every %gs)\n" msgstr "%s (%g초 간격)\n" -#: command.c:4757 command.c:4764 common.c:548 common.c:555 common.c:1220 +#: command.c:5340 +#, c-format +msgid "could not wait for signals: %m" +msgstr "신호를 기다릴 수 없었음: %m" + +#: command.c:5398 command.c:5405 common.c:592 common.c:599 common.c:1083 #, c-format msgid "" "********* QUERY **********\n" @@ -776,115 +823,111 @@ msgstr "" "**************************\n" "\n" -#: command.c:4956 +#: command.c:5584 #, c-format msgid "\"%s.%s\" is not a view" msgstr "\"%s.%s\" 뷰(view)가 아님" -#: command.c:4972 +#: command.c:5600 #, c-format msgid "could not parse reloptions array" msgstr "reloptions 배열을 분석할 수 없음" -#: common.c:159 +#: common.c:167 #, c-format msgid "cannot escape without active connection" msgstr "현재 접속한 연결 없이는 특수문자처리를 할 수 없음" -#: common.c:200 +#: common.c:208 #, c-format msgid "shell command argument contains a newline or carriage return: \"%s\"" msgstr "쉘 명령의 인자에 줄바꿈 문자가 있음: \"%s\"" -#: common.c:304 +#: common.c:312 #, c-format msgid "connection to server was lost" msgstr "서버 접속 끊김" -#: common.c:308 +#: common.c:316 #, c-format msgid "The connection to the server was lost. Attempting reset: " msgstr "서버로부터 연결이 끊어졌습니다. 다시 연결을 시도합니다: " -#: common.c:313 +#: common.c:321 #, c-format msgid "Failed.\n" msgstr "실패.\n" -#: common.c:326 +#: common.c:338 #, c-format msgid "Succeeded.\n" msgstr "성공.\n" -#: common.c:378 common.c:938 common.c:1155 +#: common.c:390 common.c:1021 #, c-format msgid "unexpected PQresultStatus: %d" msgstr "PQresultStatus 반환값이 잘못됨: %d" -#: common.c:487 +#: common.c:531 #, c-format msgid "Time: %.3f ms\n" msgstr "작업시간: %.3f ms\n" -#: common.c:502 +#: common.c:546 #, c-format msgid "Time: %.3f ms (%02d:%06.3f)\n" msgstr "작업시간: %.3f ms (%02d:%06.3f)\n" -#: common.c:511 +#: common.c:555 #, c-format msgid "Time: %.3f ms (%02d:%02d:%06.3f)\n" msgstr "작업시간: %.3f ms (%02d:%02d:%06.3f)\n" -#: common.c:518 +#: common.c:562 #, c-format msgid "Time: %.3f ms (%.0f d %02d:%02d:%06.3f)\n" msgstr "작업시간: %.3f ms (%.0f d %02d:%02d:%06.3f)\n" -#: common.c:542 common.c:600 common.c:1191 +#: common.c:586 common.c:643 common.c:1054 describe.c:6214 #, c-format msgid "You are currently not connected to a database." msgstr "현재 데이터베이스에 연결되어있지 않습니다." -#: common.c:655 -#, c-format -msgid "\\watch cannot be used with COPY" -msgstr "\\watch 작업으로 COPY 명령은 사용할 수 없음" - -#: common.c:660 -#, c-format -msgid "unexpected result status for \\watch" -msgstr "\\watch 쿼리 결과가 비정상적입니다." - -#: common.c:690 +#: common.c:674 #, c-format msgid "" "Asynchronous notification \"%s\" with payload \"%s\" received from server " "process with PID %d.\n" msgstr "\"%s\" 비동기 통지를 받음, 부가정보: \"%s\", 보낸 프로세스: %d.\n" -#: common.c:693 +#: common.c:677 #, c-format msgid "" "Asynchronous notification \"%s\" received from server process with PID %d.\n" msgstr "동기화 신호 \"%s\" 받음, 해당 서버 프로세스 PID %d.\n" -#: common.c:726 common.c:743 +#: common.c:708 #, c-format msgid "could not print result table: %m" msgstr "결과 테이블을 출력할 수 없음: %m" -#: common.c:764 +#: common.c:728 #, c-format msgid "no rows returned for \\gset" msgstr "\\gset 해당 자료 없음" -#: common.c:769 +#: common.c:733 #, c-format msgid "more than one row returned for \\gset" msgstr "\\gset 실행 결과가 단일 자료가 아님" -#: common.c:1200 +#: common.c:751 +#, c-format +msgid "attempt to \\gset into specially treated variable \"%s\" ignored" +msgstr "" +"\\gset 작업으로 특수하게 처리되는 변수인 \"%s\" 변수값을 바꿀 수 있어 무시함" + +#: common.c:1063 #, c-format msgid "" "***(Single step mode: verify " @@ -897,35 +940,28 @@ msgstr "" "%s\n" "***(Enter: 계속 진행, x Enter: 중지)********************\n" -#: common.c:1255 -#, c-format -msgid "" -"The server (version %s) does not support savepoints for ON_ERROR_ROLLBACK." -msgstr "" -"서버(%s 버전)에서 ON_ERROR_ROLLBACK에 사용할 savepoint를 지원하지 않습니다." - -#: common.c:1318 +#: common.c:1146 #, c-format msgid "STATEMENT: %s" msgstr "명령구문: %s" -#: common.c:1361 +#: common.c:1182 #, c-format msgid "unexpected transaction status (%d)" msgstr "알 수 없는 트랜잭션 상태 (%d)" -#: common.c:1502 describe.c:2001 +#: common.c:1335 describe.c:2026 msgid "Column" msgstr "필드명" -#: common.c:1503 describe.c:177 describe.c:393 describe.c:411 describe.c:456 -#: describe.c:473 describe.c:962 describe.c:1126 describe.c:1711 -#: describe.c:1735 describe.c:2002 describe.c:3729 describe.c:3939 -#: describe.c:4172 describe.c:5378 +#: common.c:1336 describe.c:170 describe.c:358 describe.c:376 describe.c:1046 +#: describe.c:1200 describe.c:1732 describe.c:1756 describe.c:2027 +#: describe.c:3958 describe.c:4170 describe.c:4409 describe.c:4571 +#: describe.c:5846 msgid "Type" -msgstr "종류" +msgstr "형태" -#: common.c:1552 +#: common.c:1385 #, c-format msgid "The command has no result, or the result has no columns.\n" msgstr "해당 명령 결과가 없거나, 그 결과에는 칼럼이 없습니다.\n" @@ -945,46 +981,41 @@ msgstr "\\copy: 구문 오류: \"%s\"" msgid "\\copy: parse error at end of line" msgstr "\\copy: 줄 끝에 구문 오류" -#: copy.c:328 +#: copy.c:326 #, c-format msgid "could not execute command \"%s\": %m" msgstr "\"%s\" 명령을 실행할 수 없음: %m" -#: copy.c:344 +#: copy.c:342 #, c-format msgid "could not stat file \"%s\": %m" msgstr "\"%s\" 파일의 상태값을 알 수 없음: %m" -#: copy.c:348 +#: copy.c:346 #, c-format msgid "%s: cannot copy from/to a directory" msgstr "%s: 디렉터리부터 또는 디렉터리로 복사할 수 없음" -#: copy.c:385 +#: copy.c:383 #, c-format msgid "could not close pipe to external command: %m" msgstr "외부 명령으로 파이프를 닫을 수 없음: %m" -#: copy.c:390 -#, c-format -msgid "%s: %s" -msgstr "%s: %s" - -#: copy.c:453 copy.c:463 +#: copy.c:451 copy.c:461 #, c-format msgid "could not write COPY data: %m" msgstr "COPY 자료를 기록할 수 없음: %m" -#: copy.c:469 +#: copy.c:467 #, c-format msgid "COPY data transfer failed: %s" msgstr "COPY 자료 변환 실패: %s" -#: copy.c:530 +#: copy.c:528 msgid "canceled by user" msgstr "사용자에 의해서 취소됨" -#: copy.c:541 +#: copy.c:539 msgid "" "Enter data to be copied followed by a newline.\n" "End with a backslash and a period on a line by itself, or an EOF signal." @@ -993,11 +1024,11 @@ msgstr "" "자료입력이 끝나면 backslash 점 (\\.) 마지막 줄 처음에 입력하는 EOF 시그널을 " "보내세요." -#: copy.c:669 +#: copy.c:682 msgid "aborted because of read failure" msgstr "읽기 실패로 중지됨" -#: copy.c:703 +#: copy.c:716 msgid "trying to exit copy mode" msgstr "복사 모드를 종료하는 중" @@ -1054,1113 +1085,1161 @@ msgstr "\\crosstabview: 칼럼 이름이 모호함: \"%s\"" msgid "\\crosstabview: column name not found: \"%s\"" msgstr "\\crosstabview: 칼럼 이름 없음: \"%s\"" -#: describe.c:75 describe.c:373 describe.c:678 describe.c:810 describe.c:954 -#: describe.c:1115 describe.c:1187 describe.c:3718 describe.c:3926 -#: describe.c:4170 describe.c:4261 describe.c:4528 describe.c:4688 -#: describe.c:4929 describe.c:5004 describe.c:5015 describe.c:5077 -#: describe.c:5502 describe.c:5585 +#: describe.c:87 describe.c:338 describe.c:630 describe.c:807 describe.c:1038 +#: describe.c:1189 describe.c:1264 describe.c:3947 describe.c:4157 +#: describe.c:4407 describe.c:4489 describe.c:4724 describe.c:4932 +#: describe.c:5174 describe.c:5418 describe.c:5488 describe.c:5499 +#: describe.c:5556 describe.c:5960 describe.c:6038 msgid "Schema" msgstr "스키마" -#: describe.c:76 describe.c:174 describe.c:242 describe.c:250 describe.c:374 -#: describe.c:679 describe.c:811 describe.c:872 describe.c:955 describe.c:1188 -#: describe.c:3719 describe.c:3927 describe.c:4093 describe.c:4171 -#: describe.c:4262 describe.c:4341 describe.c:4529 describe.c:4613 -#: describe.c:4689 describe.c:4930 describe.c:5005 describe.c:5016 -#: describe.c:5078 describe.c:5275 describe.c:5359 describe.c:5583 -#: describe.c:5755 describe.c:5995 +#: describe.c:88 describe.c:167 describe.c:229 describe.c:339 describe.c:631 +#: describe.c:808 describe.c:930 describe.c:1039 describe.c:1265 +#: describe.c:3948 describe.c:4158 describe.c:4323 describe.c:4408 +#: describe.c:4490 describe.c:4653 describe.c:4725 describe.c:4933 +#: describe.c:5046 describe.c:5175 describe.c:5419 describe.c:5489 +#: describe.c:5500 describe.c:5557 describe.c:5756 describe.c:5827 +#: describe.c:6036 describe.c:6265 describe.c:6573 msgid "Name" msgstr "이름" -#: describe.c:77 describe.c:386 describe.c:404 describe.c:450 describe.c:467 +#: describe.c:89 describe.c:351 describe.c:369 msgid "Result data type" msgstr "반환 자료형" -#: describe.c:85 describe.c:98 describe.c:102 describe.c:387 describe.c:405 -#: describe.c:451 describe.c:468 +#: describe.c:90 describe.c:352 describe.c:370 msgid "Argument data types" msgstr "인자 자료형" -#: describe.c:110 describe.c:117 describe.c:185 describe.c:273 describe.c:513 -#: describe.c:727 describe.c:826 describe.c:897 describe.c:1190 describe.c:2020 -#: describe.c:3506 describe.c:3779 describe.c:3973 describe.c:4124 -#: describe.c:4198 describe.c:4271 describe.c:4354 describe.c:4437 -#: describe.c:4556 describe.c:4622 describe.c:4690 describe.c:4831 -#: describe.c:4873 describe.c:4946 describe.c:5008 describe.c:5017 -#: describe.c:5079 describe.c:5301 describe.c:5381 describe.c:5516 -#: describe.c:5586 large_obj.c:290 large_obj.c:300 +#: describe.c:98 describe.c:105 describe.c:178 describe.c:243 describe.c:418 +#: describe.c:662 describe.c:823 describe.c:974 describe.c:1267 describe.c:2047 +#: describe.c:3676 describe.c:4002 describe.c:4204 describe.c:4347 +#: describe.c:4421 describe.c:4499 describe.c:4666 describe.c:4844 +#: describe.c:4982 describe.c:5055 describe.c:5176 describe.c:5327 +#: describe.c:5369 describe.c:5435 describe.c:5492 describe.c:5501 +#: describe.c:5558 describe.c:5774 describe.c:5849 describe.c:5974 +#: describe.c:6039 describe.c:7093 msgid "Description" msgstr "설명" -#: describe.c:135 +#: describe.c:128 msgid "List of aggregate functions" msgstr "통계 함수 목록" -#: describe.c:160 +#: describe.c:153 #, c-format msgid "The server (version %s) does not support access methods." msgstr "서버(%s 버전)에서 접근 방법을 지원하지 않습니다." -#: describe.c:175 +#: describe.c:168 msgid "Index" msgstr "인덱스" -#: describe.c:176 describe.c:3737 describe.c:3952 describe.c:5503 +#: describe.c:169 describe.c:3966 describe.c:4183 describe.c:5961 msgid "Table" msgstr "테이블" -#: describe.c:184 describe.c:5280 +#: describe.c:177 describe.c:5758 msgid "Handler" msgstr "핸들러" -#: describe.c:203 +#: describe.c:201 msgid "List of access methods" msgstr "접근 방법 목록" -#: describe.c:229 -#, c-format -msgid "The server (version %s) does not support tablespaces." -msgstr "서버(%s 버전)에서 테이블스페이스를 지원하지 않습니다." - -#: describe.c:243 describe.c:251 describe.c:501 describe.c:717 describe.c:873 -#: describe.c:1114 describe.c:3730 describe.c:3928 describe.c:4097 -#: describe.c:4343 describe.c:4614 describe.c:5276 describe.c:5360 -#: describe.c:5756 describe.c:5893 describe.c:5996 describe.c:6111 -#: describe.c:6190 large_obj.c:289 +#: describe.c:230 describe.c:404 describe.c:655 describe.c:931 describe.c:1188 +#: describe.c:3959 describe.c:4159 describe.c:4324 describe.c:4655 +#: describe.c:5047 describe.c:5757 describe.c:5828 describe.c:6266 +#: describe.c:6454 describe.c:6574 describe.c:6733 describe.c:6819 +#: describe.c:7081 msgid "Owner" msgstr "소유주" -#: describe.c:244 describe.c:252 +#: describe.c:231 msgid "Location" msgstr "위치" -#: describe.c:263 describe.c:3323 +#: describe.c:241 describe.c:3517 describe.c:3858 msgid "Options" msgstr "옵션" -#: describe.c:268 describe.c:690 describe.c:889 describe.c:3771 describe.c:3775 +#: describe.c:242 describe.c:653 describe.c:972 describe.c:4001 msgid "Size" msgstr "크기" -#: describe.c:290 +#: describe.c:266 msgid "List of tablespaces" msgstr "테이블스페이스 목록" -#: describe.c:333 +#: describe.c:311 #, c-format msgid "\\df only takes [anptwS+] as options" msgstr "\\df 명령은 [anptwS+]만 추가로 사용함" -#: describe.c:341 describe.c:352 +#: describe.c:319 #, c-format msgid "\\df does not take a \"%c\" option with server version %s" msgstr "\\df 명령은 \"%c\" 옵션을 %s 버전 서버에서는 사용할 수 없음" #. translator: "agg" is short for "aggregate" -#: describe.c:389 describe.c:407 describe.c:453 describe.c:470 +#: describe.c:354 describe.c:372 msgid "agg" msgstr "집계" -#: describe.c:390 describe.c:408 +#: describe.c:355 describe.c:373 msgid "window" msgstr "창" -#: describe.c:391 +#: describe.c:356 msgid "proc" -msgstr "" +msgstr "proc" -#: describe.c:392 describe.c:410 describe.c:455 describe.c:472 +#: describe.c:357 describe.c:375 msgid "func" msgstr "함수" -#: describe.c:409 describe.c:454 describe.c:471 describe.c:1324 +#: describe.c:374 describe.c:1397 msgid "trigger" msgstr "트리거" -#: describe.c:483 +#: describe.c:386 msgid "immutable" msgstr "immutable" -#: describe.c:484 +#: describe.c:387 msgid "stable" msgstr "stable" -#: describe.c:485 +#: describe.c:388 msgid "volatile" msgstr "volatile" -#: describe.c:486 +#: describe.c:389 msgid "Volatility" msgstr "휘발성" -#: describe.c:494 +#: describe.c:397 msgid "restricted" msgstr "엄격함" -#: describe.c:495 +#: describe.c:398 msgid "safe" msgstr "safe" -#: describe.c:496 +#: describe.c:399 msgid "unsafe" msgstr "unsafe" -#: describe.c:497 +#: describe.c:400 msgid "Parallel" msgstr "병렬처리" -#: describe.c:502 +#: describe.c:405 msgid "definer" msgstr "definer" -#: describe.c:503 +#: describe.c:406 msgid "invoker" msgstr "invoker" -#: describe.c:504 +#: describe.c:407 msgid "Security" msgstr "보안" -#: describe.c:511 +#: describe.c:412 msgid "Language" msgstr "언어" -#: describe.c:512 -msgid "Source code" -msgstr "소스 코드" +#: describe.c:415 describe.c:652 +msgid "Internal name" +msgstr "내부 이름" -#: describe.c:641 +#: describe.c:589 msgid "List of functions" msgstr "함수 목록" -#: describe.c:689 -msgid "Internal name" -msgstr "내부 이름" - -#: describe.c:711 +#: describe.c:654 msgid "Elements" msgstr "요소" -#: describe.c:768 +#: describe.c:706 msgid "List of data types" msgstr "자료형 목록" -#: describe.c:812 +#: describe.c:809 msgid "Left arg type" msgstr "왼쪽 인수 자료형" -#: describe.c:813 +#: describe.c:810 msgid "Right arg type" msgstr "오른쪽 인수 자료형" -#: describe.c:814 +#: describe.c:811 msgid "Result type" msgstr "반환 자료형" -#: describe.c:819 describe.c:4349 describe.c:4414 describe.c:4420 -#: describe.c:4830 describe.c:6362 describe.c:6366 +#: describe.c:816 describe.c:4661 describe.c:4827 describe.c:5326 +#: describe.c:7010 describe.c:7014 msgid "Function" msgstr "함수" -#: describe.c:844 +#: describe.c:897 msgid "List of operators" msgstr "연산자 목록" -#: describe.c:874 +#: describe.c:932 msgid "Encoding" msgstr "인코딩" -#: describe.c:879 describe.c:4530 +#: describe.c:936 describe.c:940 +msgid "Locale Provider" +msgstr "로케일 제공자" + +#: describe.c:944 describe.c:4947 msgid "Collate" msgstr "Collate" -#: describe.c:880 describe.c:4531 +#: describe.c:945 describe.c:4948 msgid "Ctype" msgstr "Ctype" -#: describe.c:893 +#: describe.c:949 describe.c:953 describe.c:4953 describe.c:4957 +msgid "ICU Locale" +msgstr "ICU 로케일" + +#: describe.c:957 describe.c:961 describe.c:4962 describe.c:4966 +msgid "ICU Rules" +msgstr "ICU 룰" + +#: describe.c:973 msgid "Tablespace" msgstr "테이블스페이스" -#: describe.c:915 +#: describe.c:999 msgid "List of databases" msgstr "데이터베이스 목록" -#: describe.c:956 describe.c:1117 describe.c:3720 +#: describe.c:1040 describe.c:1191 describe.c:3949 msgid "table" msgstr "테이블" -#: describe.c:957 describe.c:3721 +#: describe.c:1041 describe.c:3950 msgid "view" msgstr "뷰(view)" -#: describe.c:958 describe.c:3722 +#: describe.c:1042 describe.c:3951 msgid "materialized view" msgstr "구체화된 뷰" -#: describe.c:959 describe.c:1119 describe.c:3724 +#: describe.c:1043 describe.c:1193 describe.c:3953 msgid "sequence" msgstr "시퀀스" -#: describe.c:960 describe.c:3726 +#: describe.c:1044 describe.c:3955 msgid "foreign table" msgstr "외부 테이블" -#: describe.c:961 describe.c:3727 describe.c:3937 +#: describe.c:1045 describe.c:3956 describe.c:4168 msgid "partitioned table" msgstr "파티션 테이블" -#: describe.c:973 +#: describe.c:1056 msgid "Column privileges" msgstr "칼럼 접근권한" -#: describe.c:1004 describe.c:1038 +#: describe.c:1087 describe.c:1121 msgid "Policies" msgstr "정책" -#: describe.c:1070 describe.c:6052 describe.c:6056 +#: describe.c:1150 describe.c:4577 describe.c:6678 msgid "Access privileges" msgstr "액세스 권한" -#: describe.c:1101 -#, c-format -msgid "The server (version %s) does not support altering default privileges." -msgstr "이 서버(%s 버전)는 ALTER DEFAULT PRIVILEGES 기능을 지원하지 않습니다." - -#: describe.c:1121 +#: describe.c:1195 msgid "function" msgstr "함수" -#: describe.c:1123 +#: describe.c:1197 msgid "type" msgstr "type" -#: describe.c:1125 +#: describe.c:1199 msgid "schema" msgstr "스키마" -#: describe.c:1149 +#: describe.c:1222 msgid "Default access privileges" msgstr "기본 접근권한" -#: describe.c:1189 +#: describe.c:1266 msgid "Object" msgstr "개체" -#: describe.c:1203 +#: describe.c:1280 msgid "table constraint" msgstr "테이블 제약 조건" -#: describe.c:1225 +#: describe.c:1304 msgid "domain constraint" msgstr "도메인 제약조건" -#: describe.c:1253 +#: describe.c:1328 msgid "operator class" msgstr "연산자 클래스" -#: describe.c:1282 +#: describe.c:1352 msgid "operator family" msgstr "연산자 부류" -#: describe.c:1304 +#: describe.c:1375 msgid "rule" msgstr "룰(rule)" -#: describe.c:1346 +#: describe.c:1421 msgid "Object descriptions" msgstr "개체 설명" -#: describe.c:1402 describe.c:3843 +#: describe.c:1486 describe.c:4074 #, c-format msgid "Did not find any relation named \"%s\"." msgstr "\"%s\" 이름을 릴레이션(relation) 없음." -#: describe.c:1405 describe.c:3846 +#: describe.c:1489 describe.c:4077 #, c-format msgid "Did not find any relations." msgstr "관련 릴레이션 찾을 수 없음." -#: describe.c:1660 +#: describe.c:1685 #, c-format msgid "Did not find any relation with OID %s." msgstr "%s oid의 어떤 릴레이션(relation)도 찾을 수 없음." -#: describe.c:1712 describe.c:1736 +#: describe.c:1733 describe.c:1757 msgid "Start" msgstr "시작" -#: describe.c:1713 describe.c:1737 +#: describe.c:1734 describe.c:1758 msgid "Minimum" msgstr "최소값" -#: describe.c:1714 describe.c:1738 +#: describe.c:1735 describe.c:1759 msgid "Maximum" msgstr "최대값" -#: describe.c:1715 describe.c:1739 +#: describe.c:1736 describe.c:1760 msgid "Increment" msgstr "증가값" -#: describe.c:1716 describe.c:1740 describe.c:1871 describe.c:4265 -#: describe.c:4431 describe.c:4545 describe.c:4550 describe.c:6099 +#: describe.c:1737 describe.c:1761 describe.c:1890 describe.c:4493 +#: describe.c:4838 describe.c:4971 describe.c:4976 describe.c:6721 msgid "yes" msgstr "예" -#: describe.c:1717 describe.c:1741 describe.c:1872 describe.c:4265 -#: describe.c:4428 describe.c:4545 describe.c:6100 +#: describe.c:1738 describe.c:1762 describe.c:1891 describe.c:4493 +#: describe.c:4835 describe.c:4971 describe.c:6722 msgid "no" msgstr "아니오" -#: describe.c:1718 describe.c:1742 +#: describe.c:1739 describe.c:1763 msgid "Cycles?" msgstr "순환?" -#: describe.c:1719 describe.c:1743 +#: describe.c:1740 describe.c:1764 msgid "Cache" msgstr "캐쉬" -#: describe.c:1786 +#: describe.c:1805 #, c-format msgid "Owned by: %s" msgstr "소유주: %s" -#: describe.c:1790 +#: describe.c:1809 #, c-format msgid "Sequence for identity column: %s" msgstr "식별 칼럼용 시퀀스: %s" -#: describe.c:1797 +#: describe.c:1817 +#, c-format +msgid "Unlogged sequence \"%s.%s\"" +msgstr "\"%s.%s\" 로그 미사용 시퀀스" + +#: describe.c:1820 #, c-format msgid "Sequence \"%s.%s\"" msgstr "\"%s.%s\" 시퀀스" -#: describe.c:1933 +#: describe.c:1963 #, c-format msgid "Unlogged table \"%s.%s\"" msgstr "로그 미사용 테이블 \"%s.%s\"" -#: describe.c:1936 +#: describe.c:1966 #, c-format msgid "Table \"%s.%s\"" msgstr "\"%s.%s\" 테이블" -#: describe.c:1940 +#: describe.c:1970 #, c-format msgid "View \"%s.%s\"" msgstr "\"%s.%s\" 뷰(view)" -#: describe.c:1945 +#: describe.c:1975 #, c-format msgid "Unlogged materialized view \"%s.%s\"" msgstr "트랜잭션 로그를 남기지 않은 구체화된 뷰 \"%s.%s\"" -#: describe.c:1948 +#: describe.c:1978 #, c-format msgid "Materialized view \"%s.%s\"" msgstr "Materialized 뷰 \"%s.%s\"" -#: describe.c:1953 +#: describe.c:1983 #, c-format msgid "Unlogged index \"%s.%s\"" msgstr "\"%s.%s\" 로그 미사용 인덱스" -#: describe.c:1956 +#: describe.c:1986 #, c-format msgid "Index \"%s.%s\"" msgstr "\"%s.%s\" 인덱스" -#: describe.c:1961 +#: describe.c:1991 #, c-format msgid "Unlogged partitioned index \"%s.%s\"" msgstr "\"%s.%s\" 로그 미사용 파티션 인덱스" -#: describe.c:1964 +#: describe.c:1994 #, c-format msgid "Partitioned index \"%s.%s\"" msgstr "\"%s.%s\" 파티션 인덱스" -#: describe.c:1969 -#, c-format -msgid "Special relation \"%s.%s\"" -msgstr "\"%s.%s\" 특수 릴레이션(relation)" - -#: describe.c:1973 +#: describe.c:1998 #, c-format msgid "TOAST table \"%s.%s\"" msgstr "\"%s.%s\" TOAST 테이블" -#: describe.c:1977 +#: describe.c:2002 #, c-format msgid "Composite type \"%s.%s\"" msgstr "\"%s.%s\" 복합자료형" -#: describe.c:1981 +#: describe.c:2006 #, c-format msgid "Foreign table \"%s.%s\"" msgstr "\"%s.%s\" 외부 테이블" -#: describe.c:1986 +#: describe.c:2011 #, c-format msgid "Unlogged partitioned table \"%s.%s\"" msgstr "로그 미사용 파티션 테이블 \"%s.%s\"" -#: describe.c:1989 +#: describe.c:2014 #, c-format msgid "Partitioned table \"%s.%s\"" msgstr "\"%s.%s\" 파티션 테이블" -#: describe.c:2005 describe.c:4178 +#: describe.c:2030 describe.c:4410 msgid "Collation" -msgstr "Collation" +msgstr "정렬규칙" -#: describe.c:2006 describe.c:4185 +#: describe.c:2031 describe.c:4411 msgid "Nullable" msgstr "NULL허용" -#: describe.c:2007 describe.c:4186 +#: describe.c:2032 describe.c:4412 msgid "Default" msgstr "초기값" -#: describe.c:2010 +#: describe.c:2035 msgid "Key?" -msgstr "" +msgstr "Key?" -#: describe.c:2012 +#: describe.c:2037 describe.c:4732 describe.c:4743 msgid "Definition" msgstr "정의" -#: describe.c:2014 describe.c:5296 describe.c:5380 describe.c:5451 -#: describe.c:5515 +#: describe.c:2039 describe.c:5773 describe.c:5848 describe.c:5914 +#: describe.c:5973 msgid "FDW options" msgstr "FDW 옵션" -#: describe.c:2016 +#: describe.c:2041 msgid "Storage" msgstr "스토리지" -#: describe.c:2018 +#: describe.c:2043 +msgid "Compression" +msgstr "압축" + +#: describe.c:2045 msgid "Stats target" msgstr "통계수집량" -#: describe.c:2131 +#: describe.c:2181 #, c-format -msgid "Partition of: %s %s" -msgstr "소속 파티션: %s %s" +msgid "Partition of: %s %s%s" +msgstr "소속 파티션: %s %s%s" -#: describe.c:2143 +#: describe.c:2194 msgid "No partition constraint" msgstr "파티션 제약 조건 없음" -#: describe.c:2145 +#: describe.c:2196 #, c-format msgid "Partition constraint: %s" msgstr "파티션 제약조건: %s" -#: describe.c:2169 +#: describe.c:2220 #, c-format msgid "Partition key: %s" msgstr "파티션 키: %s" -#: describe.c:2195 +#: describe.c:2246 #, c-format msgid "Owning table: \"%s.%s\"" msgstr "소속 테이블: \"%s.%s\"" -#: describe.c:2266 +#: describe.c:2315 msgid "primary key, " msgstr "기본키, " -#: describe.c:2268 -msgid "unique, " -msgstr "고유, " +#: describe.c:2318 +msgid "unique" +msgstr "고유" -#: describe.c:2274 +#: describe.c:2320 +msgid " nulls not distinct" +msgstr " nulls not distinct" + +#: describe.c:2321 +msgid ", " +msgstr ", " + +#: describe.c:2328 #, c-format msgid "for table \"%s.%s\"" msgstr "적용테이블: \"%s.%s\"" -#: describe.c:2278 +#: describe.c:2332 #, c-format msgid ", predicate (%s)" msgstr ", predicate (%s)" -#: describe.c:2281 +#: describe.c:2335 msgid ", clustered" msgstr ", 클러스됨" -#: describe.c:2284 +#: describe.c:2338 msgid ", invalid" msgstr ", 잘못됨" -#: describe.c:2287 +#: describe.c:2341 msgid ", deferrable" msgstr ", 지연가능" -#: describe.c:2290 +#: describe.c:2344 msgid ", initially deferred" msgstr ", 트랜잭션단위지연" -#: describe.c:2293 +#: describe.c:2347 msgid ", replica identity" msgstr ", 복제 식별자" -#: describe.c:2360 +#: describe.c:2401 msgid "Indexes:" msgstr "인덱스들:" -#: describe.c:2444 +#: describe.c:2484 msgid "Check constraints:" msgstr "체크 제약 조건:" -#: describe.c:2512 +#: describe.c:2552 msgid "Foreign-key constraints:" msgstr "참조키 제약 조건:" -#: describe.c:2575 +#: describe.c:2615 msgid "Referenced by:" msgstr "다음에서 참조됨:" -#: describe.c:2625 +#: describe.c:2665 msgid "Policies:" msgstr "정책:" -#: describe.c:2628 +#: describe.c:2668 msgid "Policies (forced row security enabled):" msgstr "정책 (로우단위 보안정책 강제 활성화):" -#: describe.c:2631 +#: describe.c:2671 msgid "Policies (row security enabled): (none)" msgstr "정책 (로우단위 보안정책 활성화): (없음)" -#: describe.c:2634 +#: describe.c:2674 msgid "Policies (forced row security enabled): (none)" msgstr "정책 (로우단위 보안정책 강제 활성화): (없음)" -#: describe.c:2637 +#: describe.c:2677 msgid "Policies (row security disabled):" msgstr "정책 (로우단위 보안정책 비활성화):" -#: describe.c:2705 +#: describe.c:2737 describe.c:2841 msgid "Statistics objects:" msgstr "통계정보 객체:" -#: describe.c:2819 describe.c:2923 +#: describe.c:2943 describe.c:3096 msgid "Rules:" msgstr "룰(rule)들:" -#: describe.c:2822 +#: describe.c:2946 msgid "Disabled rules:" msgstr "사용중지된 규칙:" -#: describe.c:2825 +#: describe.c:2949 msgid "Rules firing always:" msgstr "항상 발생하는 규칙:" -#: describe.c:2828 +#: describe.c:2952 msgid "Rules firing on replica only:" msgstr "복제본에서만 발생하는 규칙:" -#: describe.c:2868 +#: describe.c:3031 describe.c:5109 msgid "Publications:" msgstr "발행자:" -#: describe.c:2906 +#: describe.c:3079 msgid "View definition:" msgstr "뷰 정의:" -#: describe.c:3053 +#: describe.c:3242 msgid "Triggers:" msgstr "트리거들:" -#: describe.c:3057 +#: describe.c:3245 msgid "Disabled user triggers:" msgstr "사용중지된 사용자 트리거:" -#: describe.c:3059 -msgid "Disabled triggers:" -msgstr "사용중지된 트리거:" - -#: describe.c:3062 +#: describe.c:3248 msgid "Disabled internal triggers:" msgstr "사용중지된 내부 트리거:" -#: describe.c:3065 +#: describe.c:3251 msgid "Triggers firing always:" msgstr "항상 발생하는 트리거:" -#: describe.c:3068 +#: describe.c:3254 msgid "Triggers firing on replica only:" msgstr "복제본에서만 발생하는 트리거:" -#: describe.c:3140 +#: describe.c:3325 #, c-format msgid "Server: %s" msgstr "서버: %s" -#: describe.c:3148 +#: describe.c:3333 #, c-format msgid "FDW options: (%s)" msgstr "FDW 옵션들: (%s)" -#: describe.c:3169 +#: describe.c:3354 msgid "Inherits" msgstr "상속" -#: describe.c:3229 +#: describe.c:3419 #, c-format msgid "Number of partitions: %d" msgstr "파티션 테이블 수: %d" -#: describe.c:3238 +#: describe.c:3428 #, c-format msgid "Number of partitions: %d (Use \\d+ to list them.)" msgstr "파티션 테이블 수: %d (\\d+ 명령으로 볼 수 있음)" -#: describe.c:3240 +#: describe.c:3430 #, c-format msgid "Number of child tables: %d (Use \\d+ to list them.)" msgstr "하위 테이블 수: %d (\\d+ 명령으로 볼 수 있음)" -#: describe.c:3247 +#: describe.c:3437 msgid "Child tables" msgstr "하위 테이블" -#: describe.c:3247 +#: describe.c:3437 msgid "Partitions" msgstr "파티션들" -#: describe.c:3276 +#: describe.c:3470 #, c-format msgid "Typed table of type: %s" msgstr "자료형의 typed 테이블: %s" -#: describe.c:3292 +#: describe.c:3486 msgid "Replica Identity" msgstr "복제 식별자" -#: describe.c:3305 +#: describe.c:3499 msgid "Has OIDs: yes" msgstr "OID 사용: yes" -#: describe.c:3314 +#: describe.c:3508 #, c-format msgid "Access method: %s" msgstr "접근 방법: %s" -#: describe.c:3394 +#: describe.c:3585 #, c-format msgid "Tablespace: \"%s\"" msgstr "테이블스페이스: \"%s\"" #. translator: before this string there's an index description like #. '"foo_pkey" PRIMARY KEY, btree (a)' -#: describe.c:3406 +#: describe.c:3597 #, c-format msgid ", tablespace \"%s\"" msgstr ", \"%s\" 테이블스페이스" -#: describe.c:3499 +#: describe.c:3670 msgid "List of roles" msgstr "롤 목록" -#: describe.c:3501 +#: describe.c:3672 describe.c:3841 msgid "Role name" msgstr "롤 이름" -#: describe.c:3502 +#: describe.c:3673 msgid "Attributes" msgstr "속성" -#: describe.c:3503 -msgid "Member of" -msgstr "소속 그룹:" - -#: describe.c:3514 +#: describe.c:3684 msgid "Superuser" msgstr "슈퍼유저" -#: describe.c:3517 +#: describe.c:3687 msgid "No inheritance" msgstr "상속 없음" -#: describe.c:3520 +#: describe.c:3690 msgid "Create role" msgstr "롤 만들기" -#: describe.c:3523 +#: describe.c:3693 msgid "Create DB" msgstr "DB 만들기" -#: describe.c:3526 +#: describe.c:3696 msgid "Cannot login" msgstr "로그인할 수 없음" -#: describe.c:3530 +#: describe.c:3699 msgid "Replication" msgstr "복제" -#: describe.c:3534 +#: describe.c:3703 msgid "Bypass RLS" msgstr "RLS 통과" -#: describe.c:3543 +#: describe.c:3712 msgid "No connections" msgstr "연결 없음" -#: describe.c:3545 +#: describe.c:3714 #, c-format msgid "%d connection" msgid_plural "%d connections" msgstr[0] "%d개 연결" -#: describe.c:3555 +#: describe.c:3724 msgid "Password valid until " msgstr "비밀번호 만료기한: " -#: describe.c:3605 -#, c-format -msgid "The server (version %s) does not support per-database role settings." -msgstr "이 서버(%s 버전)는 데이터베이스 개별 롤 설정을 지원하지 않습니다." - -#: describe.c:3618 +#: describe.c:3775 msgid "Role" msgstr "롤" -#: describe.c:3619 +#: describe.c:3776 msgid "Database" msgstr "데이터베이스" -#: describe.c:3620 +#: describe.c:3777 msgid "Settings" msgstr "설정" -#: describe.c:3641 +#: describe.c:3801 #, c-format msgid "Did not find any settings for role \"%s\" and database \"%s\"." msgstr "\"%s\" 롤과 \"%s\" 데이터베이스에 대한 특정 설정이 없습니다." -#: describe.c:3644 +#: describe.c:3804 #, c-format msgid "Did not find any settings for role \"%s\"." msgstr "\"%s\" 롤용 특정 설정이 없음." -#: describe.c:3647 +#: describe.c:3807 #, c-format msgid "Did not find any settings." msgstr "추가 설정 없음." -#: describe.c:3652 +#: describe.c:3812 msgid "List of settings" msgstr "설정 목록" -#: describe.c:3723 +#: describe.c:3842 +msgid "Member of" +msgstr "소속 그룹" + +#: describe.c:3859 +msgid "Grantor" +msgstr "부여자" + +#: describe.c:3886 +msgid "List of role grants" +msgstr "롤 부여 목록" + +#: describe.c:3952 msgid "index" msgstr "인덱스" -#: describe.c:3725 -msgid "special" -msgstr "특수" +#: describe.c:3954 +msgid "TOAST table" +msgstr "TOAST 테이블" -#: describe.c:3728 describe.c:3938 +#: describe.c:3957 describe.c:4169 msgid "partitioned index" msgstr "파티션_인덱스" -#: describe.c:3752 +#: describe.c:3977 msgid "permanent" -msgstr "" +msgstr "영구" -#: describe.c:3753 +#: describe.c:3978 msgid "temporary" -msgstr "" +msgstr "임시" -#: describe.c:3754 +#: describe.c:3979 msgid "unlogged" -msgstr "" +msgstr "로깅안함" -#: describe.c:3755 +#: describe.c:3980 msgid "Persistence" -msgstr "" +msgstr "지속성" + +#: describe.c:3996 +msgid "Access method" +msgstr "접근 방법" -#: describe.c:3851 +#: describe.c:4082 msgid "List of relations" -msgstr "릴레이션(relation) 목록" +msgstr "릴레이션 목록" -#: describe.c:3899 +#: describe.c:4130 #, c-format msgid "" "The server (version %s) does not support declarative table partitioning." msgstr "이 서버(%s 버전)는 파티션 테이블 기능을 지원하지 않습니다." -#: describe.c:3910 +#: describe.c:4141 msgid "List of partitioned indexes" msgstr "파티션 인덱스 목록" -#: describe.c:3912 +#: describe.c:4143 msgid "List of partitioned tables" msgstr "파티션 테이블 목록" -#: describe.c:3916 +#: describe.c:4147 msgid "List of partitioned relations" msgstr "파티션 릴레이션(relation) 목록" -#: describe.c:3947 +#: describe.c:4178 msgid "Parent name" msgstr "상위 이름" -#: describe.c:3960 +#: describe.c:4191 msgid "Leaf partition size" msgstr "하위 파티션 크기" -#: describe.c:3963 describe.c:3969 +#: describe.c:4194 describe.c:4200 msgid "Total size" msgstr "전체 크기" -#: describe.c:4101 +#: describe.c:4325 msgid "Trusted" msgstr "신뢰됨" -#: describe.c:4109 +#: describe.c:4334 msgid "Internal language" msgstr "내부 언어" -#: describe.c:4110 +#: describe.c:4335 msgid "Call handler" msgstr "호출 핸들러" -#: describe.c:4111 describe.c:5283 +#: describe.c:4336 describe.c:5759 msgid "Validator" msgstr "유효성 검사기" -#: describe.c:4114 +#: describe.c:4337 msgid "Inline handler" msgstr "인라인 핸들러" -#: describe.c:4142 +#: describe.c:4372 msgid "List of languages" msgstr "언어 목록" -#: describe.c:4187 +#: describe.c:4413 msgid "Check" msgstr "체크" -#: describe.c:4229 +#: describe.c:4457 msgid "List of domains" msgstr "도메인(domain) 목록" -#: describe.c:4263 +#: describe.c:4491 msgid "Source" msgstr "소스" -#: describe.c:4264 +#: describe.c:4492 msgid "Destination" msgstr "설명" -#: describe.c:4266 describe.c:6101 +#: describe.c:4494 describe.c:6723 msgid "Default?" msgstr "초기값?" -#: describe.c:4303 +#: describe.c:4536 msgid "List of conversions" msgstr "문자코드변환규칙(conversion) 목록" -#: describe.c:4342 +#: describe.c:4564 +msgid "Parameter" +msgstr "매개변수" + +#: describe.c:4565 +msgid "Value" +msgstr "값" + +#: describe.c:4572 +msgid "Context" +msgstr "컨텍스트" + +#: describe.c:4605 +msgid "List of configuration parameters" +msgstr "환경설정 매개변수 목록" + +#: describe.c:4607 +msgid "List of non-default configuration parameters" +msgstr "기본값이 아닌 값으로 지정된 환경설정 매개변수 목록" + +#: describe.c:4634 +#, c-format +msgid "The server (version %s) does not support event triggers." +msgstr "이 서버(%s 버전)는 이벤트 트리거를 지원하지 않습니다." + +#: describe.c:4654 msgid "Event" msgstr "이벤트" -#: describe.c:4344 +#: describe.c:4656 msgid "enabled" msgstr "활성화" -#: describe.c:4345 +#: describe.c:4657 msgid "replica" msgstr "replica" -#: describe.c:4346 +#: describe.c:4658 msgid "always" msgstr "항상" -#: describe.c:4347 +#: describe.c:4659 msgid "disabled" msgstr "비활성화" -#: describe.c:4348 describe.c:5997 +#: describe.c:4660 describe.c:6575 msgid "Enabled" msgstr "활성화" -#: describe.c:4350 +#: describe.c:4662 msgid "Tags" msgstr "태그" -#: describe.c:4369 +#: describe.c:4686 msgid "List of event triggers" msgstr "이벤트 트리거 목록" -#: describe.c:4398 +#: describe.c:4713 +#, c-format +msgid "The server (version %s) does not support extended statistics." +msgstr "이 서버(%s 버전)에서 확장 통계정보를 지원하지 않습니다." + +#: describe.c:4750 +msgid "Ndistinct" +msgstr "Ndistinct" + +#: describe.c:4751 +msgid "Dependencies" +msgstr "Dependencies" + +#: describe.c:4761 +msgid "MCV" +msgstr "MCV" + +#: describe.c:4785 +msgid "List of extended statistics" +msgstr "확장 통계정보 목록" + +#: describe.c:4812 msgid "Source type" msgstr "Source 자료형" -#: describe.c:4399 +#: describe.c:4813 msgid "Target type" msgstr "Target 자료형" -#: describe.c:4430 +#: describe.c:4837 msgid "in assignment" msgstr "in assignment" -#: describe.c:4432 +#: describe.c:4839 msgid "Implicit?" msgstr "Implicit?" -#: describe.c:4487 +#: describe.c:4898 msgid "List of casts" msgstr "형변환자 목록" -#: describe.c:4515 -#, c-format -msgid "The server (version %s) does not support collations." -msgstr "이 서버(%s 버전)는 문자 정렬(collation) 기능을 지원하지 않습니다." - -#: describe.c:4536 describe.c:4540 +#: describe.c:4938 describe.c:4942 msgid "Provider" msgstr "제공자" -#: describe.c:4546 describe.c:4551 +#: describe.c:4972 describe.c:4977 msgid "Deterministic?" -msgstr "" +msgstr "Deterministic?" -#: describe.c:4586 +#: describe.c:5017 msgid "List of collations" msgstr "문자 정렬 목록" -#: describe.c:4645 +#: describe.c:5079 msgid "List of schemas" -msgstr "스키마(schema) 목록" - -#: describe.c:4670 describe.c:4917 describe.c:4988 describe.c:5059 -#, c-format -msgid "The server (version %s) does not support full text search." -msgstr "이 서버(%s 버전)에서 전문 검색을 지원하지 않습니다." +msgstr "스키마 목록" -#: describe.c:4705 +#: describe.c:5196 msgid "List of text search parsers" msgstr "텍스트 검색 파서 목록" -#: describe.c:4750 +#: describe.c:5246 #, c-format msgid "Did not find any text search parser named \"%s\"." msgstr "\"%s\"(이)라는 전문 검색 분석기를 찾지 못했습니다." -#: describe.c:4753 +#: describe.c:5249 #, c-format msgid "Did not find any text search parsers." msgstr "특정 전문 검색 분석기를 찾지 못했습니다." -#: describe.c:4828 +#: describe.c:5324 msgid "Start parse" msgstr "구문 분석 시작" -#: describe.c:4829 +#: describe.c:5325 msgid "Method" msgstr "방법" -#: describe.c:4833 +#: describe.c:5329 msgid "Get next token" msgstr "다음 토큰 가져오기" -#: describe.c:4835 +#: describe.c:5331 msgid "End parse" msgstr "구문 분석 종료" -#: describe.c:4837 +#: describe.c:5333 msgid "Get headline" msgstr "헤드라인 가져오기" -#: describe.c:4839 +#: describe.c:5335 msgid "Get token types" msgstr "토큰 형식 가져오기" -#: describe.c:4850 +#: describe.c:5346 #, c-format msgid "Text search parser \"%s.%s\"" msgstr "\"%s.%s\" 텍스트 검색 파서" -#: describe.c:4853 +#: describe.c:5349 #, c-format msgid "Text search parser \"%s\"" msgstr "\"%s\" 텍스트 검색 파서" -#: describe.c:4872 +#: describe.c:5368 msgid "Token name" msgstr "토큰 이름" -#: describe.c:4883 +#: describe.c:5382 #, c-format msgid "Token types for parser \"%s.%s\"" msgstr "\"%s.%s\" 파서의 토큰 형식" -#: describe.c:4886 +#: describe.c:5385 #, c-format msgid "Token types for parser \"%s\"" msgstr "\"%s\" 파서의 토큰 형식" -#: describe.c:4940 +#: describe.c:5429 msgid "Template" msgstr "템플릿" -#: describe.c:4941 +#: describe.c:5430 msgid "Init options" msgstr "초기화 옵션" -#: describe.c:4963 +#: describe.c:5457 msgid "List of text search dictionaries" msgstr "텍스트 검색 사전 목록" -#: describe.c:5006 +#: describe.c:5490 msgid "Init" msgstr "초기화" -#: describe.c:5007 +#: describe.c:5491 msgid "Lexize" msgstr "Lexize" -#: describe.c:5034 +#: describe.c:5523 msgid "List of text search templates" msgstr "텍스트 검색 템플릿 목록" -#: describe.c:5094 +#: describe.c:5578 msgid "List of text search configurations" msgstr "텍스트 검색 구성 목록" -#: describe.c:5140 +#: describe.c:5629 #, c-format msgid "Did not find any text search configuration named \"%s\"." msgstr "\"%s\"(이)라는 텍스트 검색 구성을 찾지 못했습니다." -#: describe.c:5143 +#: describe.c:5632 #, c-format msgid "Did not find any text search configurations." msgstr "특정 텍스트 검색 구성을 찾지 못했습니다." -#: describe.c:5209 +#: describe.c:5698 msgid "Token" msgstr "토큰" -#: describe.c:5210 +#: describe.c:5699 msgid "Dictionaries" msgstr "사전" -#: describe.c:5221 +#: describe.c:5710 #, c-format msgid "Text search configuration \"%s.%s\"" msgstr "텍스트 검색 구성 \"%s.%s\"" -#: describe.c:5224 +#: describe.c:5713 #, c-format msgid "Text search configuration \"%s\"" msgstr "텍스트 검색 구성 \"%s\"" -#: describe.c:5228 +#: describe.c:5717 #, c-format msgid "" "\n" @@ -2169,7 +2248,7 @@ msgstr "" "\n" "파서: \"%s.%s\"" -#: describe.c:5231 +#: describe.c:5720 #, c-format msgid "" "\n" @@ -2178,237 +2257,265 @@ msgstr "" "\n" "파서: \"%s\"" -#: describe.c:5265 -#, c-format -msgid "The server (version %s) does not support foreign-data wrappers." -msgstr "이 서버(%s 버전)에서 외부 데이터 래퍼를 지원하지 않습니다." - -#: describe.c:5323 +#: describe.c:5801 msgid "List of foreign-data wrappers" msgstr "외부 데이터 래퍼 목록" -#: describe.c:5348 -#, c-format -msgid "The server (version %s) does not support foreign servers." -msgstr "이 서버(%s 버전)에서 외부 서버를 지원하지 않습니다." - -#: describe.c:5361 +#: describe.c:5829 msgid "Foreign-data wrapper" msgstr "외부 데이터 래퍼" -#: describe.c:5379 describe.c:5584 +#: describe.c:5847 describe.c:6037 msgid "Version" msgstr "버전" -#: describe.c:5405 +#: describe.c:5878 msgid "List of foreign servers" msgstr "외부 서버 목록" -#: describe.c:5430 -#, c-format -msgid "The server (version %s) does not support user mappings." -msgstr "이 서버(%s 버전)에서 사용자 매핑을 지원하지 않습니다." - -#: describe.c:5440 describe.c:5504 +#: describe.c:5903 describe.c:5962 msgid "Server" msgstr "서버" -#: describe.c:5441 +#: describe.c:5904 msgid "User name" msgstr "사용자 이름" -#: describe.c:5466 +#: describe.c:5934 msgid "List of user mappings" msgstr "사용자 매핑 목록" -#: describe.c:5491 -#, c-format -msgid "The server (version %s) does not support foreign tables." -msgstr "이 서버(%s 버전)에서 외부 테이블을 지원하지 않습니다." - -#: describe.c:5544 +#: describe.c:6007 msgid "List of foreign tables" msgstr "외부 테이블 목록" -#: describe.c:5569 describe.c:5626 -#, c-format -msgid "The server (version %s) does not support extensions." -msgstr "이 서버(%s 버전)에서 확장기능을 지원하지 않습니다." - -#: describe.c:5601 +#: describe.c:6059 msgid "List of installed extensions" msgstr "설치된 확장기능 목록" -#: describe.c:5654 +#: describe.c:6107 #, c-format msgid "Did not find any extension named \"%s\"." msgstr "\"%s\" 이름의 확장 기능 모듈을 찾을 수 없습니다." -#: describe.c:5657 +#: describe.c:6110 #, c-format msgid "Did not find any extensions." msgstr "추가할 확장 기능 모듈이 없음." -#: describe.c:5701 +#: describe.c:6154 msgid "Object description" msgstr "개체 설명" -#: describe.c:5711 +#: describe.c:6164 #, c-format msgid "Objects in extension \"%s\"" msgstr "\"%s\" 확장 기능 안에 포함된 객체들" -#: describe.c:5740 describe.c:5816 +#: describe.c:6205 +#, c-format +msgid "improper qualified name (too many dotted names): %s" +msgstr "적당하지 않은 qualified 이름 입니다 (너무 많은 점이 있네요): %s" + +#: describe.c:6219 +#, c-format +msgid "cross-database references are not implemented: %s" +msgstr "서로 다른 데이터베이스간의 참조는 구현되어있지 않습니다: %s" + +#: describe.c:6250 describe.c:6377 #, c-format msgid "The server (version %s) does not support publications." msgstr "이 서버(%s 버전)는 논리 복제 발행 기능을 지원하지 않습니다." -#: describe.c:5757 describe.c:5894 +#: describe.c:6267 describe.c:6455 msgid "All tables" msgstr "모든 테이블" -#: describe.c:5758 describe.c:5895 +#: describe.c:6268 describe.c:6456 msgid "Inserts" msgstr "Inserts" -#: describe.c:5759 describe.c:5896 +#: describe.c:6269 describe.c:6457 msgid "Updates" msgstr "Updates" -#: describe.c:5760 describe.c:5897 +#: describe.c:6270 describe.c:6458 msgid "Deletes" msgstr "Deletes" -#: describe.c:5764 describe.c:5899 +#: describe.c:6274 describe.c:6460 msgid "Truncates" -msgstr "" +msgstr "Truncates" -#: describe.c:5768 describe.c:5901 +#: describe.c:6278 describe.c:6462 msgid "Via root" -msgstr "" +msgstr "Via root" -#: describe.c:5785 +#: describe.c:6300 msgid "List of publications" msgstr "발행 목록" -#: describe.c:5858 +#: describe.c:6424 #, c-format msgid "Did not find any publication named \"%s\"." msgstr "\"%s\" 이름의 발행 없음." -#: describe.c:5861 +#: describe.c:6427 #, c-format msgid "Did not find any publications." msgstr "발행 없음." -#: describe.c:5890 +#: describe.c:6451 #, c-format msgid "Publication %s" msgstr "%s 발행" -#: describe.c:5938 +#: describe.c:6504 msgid "Tables:" -msgstr "테이블" +msgstr "테이블들:" + +#: describe.c:6516 +msgid "Tables from schemas:" +msgstr "다음 스키마의 모든 테이블:" -#: describe.c:5982 +#: describe.c:6560 #, c-format msgid "The server (version %s) does not support subscriptions." msgstr "이 서버(%s 버전)는 구독 기능을 지원하지 않습니다." -#: describe.c:5998 +#: describe.c:6576 msgid "Publication" msgstr "발행" -#: describe.c:6005 +#: describe.c:6585 +msgid "Binary" +msgstr "바이너리" + +#: describe.c:6594 describe.c:6598 +msgid "Streaming" +msgstr "스트리밍" + +#: describe.c:6606 +msgid "Two-phase commit" +msgstr "2단계 커밋" + +#: describe.c:6607 +msgid "Disable on error" +msgstr "오류가 생기면 비활성" + +#: describe.c:6614 +msgid "Origin" +msgstr "오리진" + +#: describe.c:6615 +msgid "Password required" +msgstr "비밀번호 필요함" + +#: describe.c:6616 +msgid "Run as owner?" +msgstr "소유주 권한으로 실행?" + +#: describe.c:6621 msgid "Synchronous commit" msgstr "동기식 커밋" -#: describe.c:6006 +#: describe.c:6622 msgid "Conninfo" msgstr "연결정보" -#: describe.c:6028 +#: describe.c:6628 +msgid "Skip LSN" +msgstr "LSN 건너뜀" + +#: describe.c:6655 msgid "List of subscriptions" msgstr "구독 목록" -#: describe.c:6095 describe.c:6184 describe.c:6270 describe.c:6353 +#: describe.c:6717 describe.c:6813 describe.c:6906 describe.c:7001 msgid "AM" -msgstr "" +msgstr "AM" -#: describe.c:6096 +#: describe.c:6718 msgid "Input type" msgstr "입력 자료형" -#: describe.c:6097 +#: describe.c:6719 msgid "Storage type" msgstr "스토리지 유형" -#: describe.c:6098 +#: describe.c:6720 msgid "Operator class" msgstr "연산자 클래스" -#: describe.c:6110 describe.c:6185 describe.c:6271 describe.c:6354 +#: describe.c:6732 describe.c:6814 describe.c:6907 describe.c:7002 msgid "Operator family" msgstr "연산자 부류" -#: describe.c:6143 +#: describe.c:6768 msgid "List of operator classes" msgstr "연산자 클래스 목록" -#: describe.c:6186 +#: describe.c:6815 msgid "Applicable types" -msgstr "" +msgstr "Applicable types" -#: describe.c:6225 +#: describe.c:6857 msgid "List of operator families" msgstr "연산자 부류 목록" -#: describe.c:6272 +#: describe.c:6908 msgid "Operator" msgstr "연산자" -#: describe.c:6273 +#: describe.c:6909 msgid "Strategy" msgstr "전략번호" -#: describe.c:6274 +#: describe.c:6910 msgid "ordering" -msgstr "" +msgstr "ordering" -#: describe.c:6275 +#: describe.c:6911 msgid "search" -msgstr "" +msgstr "search" -#: describe.c:6276 +#: describe.c:6912 msgid "Purpose" -msgstr "" +msgstr "Purpose" -#: describe.c:6281 +#: describe.c:6917 msgid "Sort opfamily" msgstr "정렬 연산자 부류" -#: describe.c:6312 +#: describe.c:6956 msgid "List of operators of operator families" msgstr "연산자 부류 소속 연산자 목록" -#: describe.c:6355 +#: describe.c:7003 msgid "Registered left type" msgstr "등록된 왼쪽 자료형" -#: describe.c:6356 +#: describe.c:7004 msgid "Registered right type" msgstr "등록된 오른쪽 자료형" -#: describe.c:6357 +#: describe.c:7005 msgid "Number" -msgstr "" +msgstr "번호" -#: describe.c:6393 +#: describe.c:7049 msgid "List of support functions of operator families" msgstr "연산자 부류 소속 지원 함수 목록" -#: help.c:73 -#, c-format +#: describe.c:7080 +msgid "ID" +msgstr "ID" + +#: describe.c:7101 +msgid "Large objects" +msgstr "대형 객체들" + +#: help.c:75 msgid "" "psql is the PostgreSQL interactive terminal.\n" "\n" @@ -2416,13 +2523,11 @@ msgstr "" "psql은 PostgreSQL 대화식 터미널입니다.\n" "\n" -#: help.c:74 help.c:355 help.c:431 help.c:474 -#, c-format +#: help.c:76 help.c:395 help.c:479 help.c:522 msgid "Usage:\n" msgstr "사용법:\n" -#: help.c:75 -#, c-format +#: help.c:77 msgid "" " psql [OPTION]... [DBNAME [USERNAME]]\n" "\n" @@ -2430,38 +2535,33 @@ msgstr "" " psql [OPTION]... [DBNAME [USERNAME]]\n" "\n" -#: help.c:77 -#, c-format +#: help.c:79 msgid "General options:\n" msgstr "일반 옵션:\n" -#: help.c:82 -#, c-format +#: help.c:84 msgid "" " -c, --command=COMMAND run only single command (SQL or internal) and " "exit\n" msgstr "" " -c, --command=COMMAND 하나의 명령(SQL 또는 내부 명령)만 실행하고 끝냄\n" -#: help.c:83 +#: help.c:85 #, c-format msgid "" " -d, --dbname=DBNAME database name to connect to (default: \"%s\")\n" msgstr " -d, --dbname=DBNAME 연결할 데이터베이스 이름(기본 값: \"%s\")\n" -#: help.c:84 -#, c-format +#: help.c:87 msgid " -f, --file=FILENAME execute commands from file, then exit\n" msgstr " -f, --file=FILENAME 파일 안에 지정한 명령을 실행하고 끝냄\n" -#: help.c:85 -#, c-format +#: help.c:88 msgid " -l, --list list available databases, then exit\n" msgstr "" " -l, --list 사용 가능한 데이터베이스 목록을 표시하고 끝냄\n" -#: help.c:86 -#, c-format +#: help.c:89 msgid "" " -v, --set=, --variable=NAME=VALUE\n" " set psql variable NAME to VALUE\n" @@ -2471,18 +2571,15 @@ msgstr "" " psql 변수 NAME을 VALUE로 설정\n" " (예, -v ON_ERROR_STOP=1)\n" -#: help.c:89 -#, c-format +#: help.c:92 msgid " -V, --version output version information, then exit\n" msgstr " -V, --version 버전 정보를 보여주고 마침\n" -#: help.c:90 -#, c-format +#: help.c:93 msgid " -X, --no-psqlrc do not read startup file (~/.psqlrc)\n" msgstr " -X, --no-psqlrc 시작 파일(~/.psqlrc)을 읽지 않음\n" -#: help.c:91 -#, c-format +#: help.c:94 msgid "" " -1 (\"one\"), --single-transaction\n" " execute as a single transaction (if non-" @@ -2491,25 +2588,21 @@ msgstr "" " -1 (\"one\"), --single-transaction\n" " 명령 파일을 하나의 트랜잭션으로 실행\n" -#: help.c:93 -#, c-format +#: help.c:96 msgid " -?, --help[=options] show this help, then exit\n" msgstr " -?, --help[=options] 이 도움말을 표시하고 종료\n" -#: help.c:94 -#, c-format +#: help.c:97 msgid " --help=commands list backslash commands, then exit\n" msgstr "" " --help=commands psql 내장명령어(\\문자로 시작하는)를 표시하고 종" "료\n" -#: help.c:95 -#, c-format +#: help.c:98 msgid " --help=variables list special variables, then exit\n" msgstr " --help=variables 특별 변수들 보여주고, 종료\n" -#: help.c:97 -#, c-format +#: help.c:100 msgid "" "\n" "Input and output options:\n" @@ -2517,64 +2610,53 @@ msgstr "" "\n" "입출력 옵션:\n" -#: help.c:98 -#, c-format +#: help.c:101 msgid " -a, --echo-all echo all input from script\n" msgstr " -a, --echo-all 스크립트의 모든 입력 표시\n" -#: help.c:99 -#, c-format +#: help.c:102 msgid " -b, --echo-errors echo failed commands\n" msgstr " -b, --echo-errors 실패한 명령들 출력\n" -#: help.c:100 -#, c-format +#: help.c:103 msgid " -e, --echo-queries echo commands sent to server\n" msgstr " -e, --echo-queries 서버로 보낸 명령 표시\n" -#: help.c:101 -#, c-format +#: help.c:104 msgid "" " -E, --echo-hidden display queries that internal commands generate\n" msgstr " -E, --echo-hidden 내부 명령이 생성하는 쿼리 표시\n" -#: help.c:102 -#, c-format +#: help.c:105 msgid " -L, --log-file=FILENAME send session log to file\n" msgstr " -L, --log-file=FILENAME 세션 로그를 파일로 보냄\n" -#: help.c:103 -#, c-format +#: help.c:106 msgid "" " -n, --no-readline disable enhanced command line editing (readline)\n" msgstr "" " -n, --no-readline 확장된 명령행 편집 기능을 사용중지함(readline)\n" -#: help.c:104 -#, c-format +#: help.c:107 msgid " -o, --output=FILENAME send query results to file (or |pipe)\n" msgstr " -o, --output=FILENAME 쿼리 결과를 파일(또는 |파이프)로 보냄\n" -#: help.c:105 -#, c-format +#: help.c:108 msgid "" " -q, --quiet run quietly (no messages, only query output)\n" msgstr " -q, --quiet 자동 실행(메시지 없이 쿼리 결과만 표시)\n" -#: help.c:106 -#, c-format +#: help.c:109 msgid " -s, --single-step single-step mode (confirm each query)\n" msgstr " -s, --single-step 단독 순차 모드(각 쿼리 확인)\n" -#: help.c:107 -#, c-format +#: help.c:110 msgid "" " -S, --single-line single-line mode (end of line terminates SQL " "command)\n" msgstr " -S, --single-line 한 줄 모드(줄 끝에서 SQL 명령이 종료됨)\n" -#: help.c:109 -#, c-format +#: help.c:112 msgid "" "\n" "Output format options:\n" @@ -2582,18 +2664,16 @@ msgstr "" "\n" "출력 형식 옵션:\n" -#: help.c:110 -#, c-format +#: help.c:113 msgid " -A, --no-align unaligned table output mode\n" msgstr " -A, --no-align 정렬되지 않은 표 형태의 출력 모드\n" -#: help.c:111 -#, c-format +#: help.c:114 msgid "" " --csv CSV (Comma-Separated Values) table output mode\n" msgstr " --csv CSV (쉼표-분리 자료) 테이블 출력 모드\n" -#: help.c:112 +#: help.c:115 #, c-format msgid "" " -F, --field-separator=STRING\n" @@ -2604,21 +2684,18 @@ msgstr "" " unaligned 출력용 필드 구분자 설정(기본 값: \"%s" "\")\n" -#: help.c:115 -#, c-format +#: help.c:118 msgid " -H, --html HTML table output mode\n" msgstr " -H, --html HTML 표 형태 출력 모드\n" -#: help.c:116 -#, c-format +#: help.c:119 msgid "" " -P, --pset=VAR[=ARG] set printing option VAR to ARG (see \\pset " "command)\n" msgstr "" " -P, --pset=VAR[=ARG] 인쇄 옵션 VAR을 ARG로 설정(\\pset 명령 참조)\n" -#: help.c:117 -#, c-format +#: help.c:120 msgid "" " -R, --record-separator=STRING\n" " record separator for unaligned output (default: " @@ -2628,26 +2705,22 @@ msgstr "" " unaligned 출력용 레코드 구분자 설정\n" " (기본 값: 줄바꿈 문자)\n" -#: help.c:119 -#, c-format +#: help.c:122 msgid " -t, --tuples-only print rows only\n" msgstr " -t, --tuples-only 행만 인쇄\n" -#: help.c:120 -#, c-format +#: help.c:123 msgid "" " -T, --table-attr=TEXT set HTML table tag attributes (e.g., width, " "border)\n" msgstr "" " -T, --table-attr=TEXT HTML table 태그 속성 설정(예: width, border)\n" -#: help.c:121 -#, c-format +#: help.c:124 msgid " -x, --expanded turn on expanded table output\n" msgstr " -x, --expanded 확장된 표 형태로 출력\n" -#: help.c:122 -#, c-format +#: help.c:125 msgid "" " -z, --field-separator-zero\n" " set field separator for unaligned output to zero " @@ -2656,8 +2729,7 @@ msgstr "" " -z, --field-separator-zero\n" " unaligned 출력용 필드 구분자를 0 바이트로 지정\n" -#: help.c:124 -#, c-format +#: help.c:127 msgid "" " -0, --record-separator-zero\n" " set record separator for unaligned output to zero " @@ -2666,8 +2738,7 @@ msgstr "" " -0, --record-separator-zero\n" " unaligned 출력용 레코드 구분자를 0 바이트로 지정\n" -#: help.c:127 -#, c-format +#: help.c:130 msgid "" "\n" "Connection options:\n" @@ -2675,7 +2746,7 @@ msgstr "" "\n" "연결 옵션들:\n" -#: help.c:130 +#: help.c:133 #, c-format msgid "" " -h, --host=HOSTNAME database server host or socket directory " @@ -2684,11 +2755,11 @@ msgstr "" " -h, --host=HOSTNAME 데이터베이스 서버 호스트 또는 소켓 디렉터리\n" " (기본값: \"%s\")\n" -#: help.c:131 +#: help.c:134 msgid "local socket" msgstr "로컬 소켓" -#: help.c:134 +#: help.c:137 #, c-format msgid " -p, --port=PORT database server port (default: \"%s\")\n" msgstr " -p, --port=PORT 데이터베이스 서버 포트(기본 값: \"%s\")\n" @@ -2698,20 +2769,17 @@ msgstr " -p, --port=PORT 데이터베이스 서버 포트(기본 값: msgid " -U, --username=USERNAME database user name (default: \"%s\")\n" msgstr " -U, --username=USERNAME 데이터베이스 사용자 이름(기본 값: \"%s\")\n" -#: help.c:141 -#, c-format +#: help.c:142 msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password 암호 프롬프트 표시 안 함\n" -#: help.c:142 -#, c-format +#: help.c:143 msgid "" " -W, --password force password prompt (should happen " "automatically)\n" msgstr " -W, --password 암호 입력 프롬프트 보임(자동으로 처리함)\n" -#: help.c:144 -#, c-format +#: help.c:145 msgid "" "\n" "For more information, type \"\\?\" (for internal commands) or \"\\help" @@ -2726,109 +2794,103 @@ msgstr "" "설명서에서 psql 섹션을 참조하십시오.\n" "\n" -#: help.c:147 +#: help.c:148 #, c-format msgid "Report bugs to <%s>.\n" msgstr "문제점 보고 주소: <%s>\n" -#: help.c:148 +#: help.c:149 #, c-format msgid "%s home page: <%s>\n" msgstr "%s 홈페이지: <%s>\n" -#: help.c:174 -#, c-format +#: help.c:191 msgid "General\n" msgstr "일반\n" -#: help.c:175 -#, c-format +#: help.c:192 +msgid " \\bind [PARAM]... set query parameters\n" +msgstr " \\bind [PARAM]... 쿼리 매개 변수 지정\n" + +#: help.c:193 msgid "" " \\copyright show PostgreSQL usage and distribution terms\n" msgstr " \\copyright PostgreSQL 사용법 및 저작권 정보 표시\n" -#: help.c:176 -#, c-format +#: help.c:194 msgid "" -" \\crosstabview [COLUMNS] execute query and display results in crosstab\n" +" \\crosstabview [COLUMNS] execute query and display result in crosstab\n" msgstr "" " \\crosstabview [칼럼들] 쿼리를 실행하고, 피봇 테이블 형태로 자료를 보여줌\n" -#: help.c:177 -#, c-format +#: help.c:195 msgid "" " \\errverbose show most recent error message at maximum " "verbosity\n" msgstr "" " \\errverbose 최대 자세히 보기 상태에서 최근 오류를 다 보여줌\n" -#: help.c:178 -#, c-format +#: help.c:196 msgid "" -" \\g [(OPTIONS)] [FILE] execute query (and send results to file or |" -"pipe);\n" +" \\g [(OPTIONS)] [FILE] execute query (and send result to file or |pipe);\n" " \\g with no arguments is equivalent to a semicolon\n" msgstr "" -" \\g [(OPTIONS)] [FILE] 쿼리 실행 (결과는 지정한 파일로, 또는 | 파이프로);\n" +" \\g [(OPTIONS)] [FILE] 쿼리 실행 (결과는 지정한 파일로, 또는 |파이프로);\n" " \\g 명령에서 인자가 없으면 세미콜론과 같음\n" -#: help.c:180 -#, c-format +#: help.c:198 msgid "" " \\gdesc describe result of query, without executing it\n" msgstr "" " \\gdesc 쿼리를 실행하지 않고 그 결과 칼럼과 자료형을 출력\n" -#: help.c:181 -#, c-format +#: help.c:199 msgid "" " \\gexec execute query, then execute each value in its " "result\n" msgstr " \\gexec 쿼리를 실행하고, 그 결과를 각각 실행 함\n" -#: help.c:182 -#, c-format +#: help.c:200 msgid "" -" \\gset [PREFIX] execute query and store results in psql variables\n" +" \\gset [PREFIX] execute query and store result in psql variables\n" msgstr " \\gset [PREFIX] 쿼리 실행 뒤 그 결과를 psql 변수로 저장\n" -#: help.c:183 -#, c-format +#: help.c:201 msgid " \\gx [(OPTIONS)] [FILE] as \\g, but forces expanded output mode\n" -msgstr " \\gx [(OPTIONS)] [FILE] \\g 명령과 같으나, 출력을 확장 모드로 강제함\n" +msgstr "" +" \\gx [(OPTIONS)] [FILE] \\g 명령과 같으나, 출력을 확장 모드로 강제함\n" -#: help.c:184 -#, c-format +#: help.c:202 msgid " \\q quit psql\n" msgstr " \\q psql 종료\n" -#: help.c:185 -#, c-format -msgid " \\watch [SEC] execute query every SEC seconds\n" -msgstr " \\watch [SEC] 매 초마다 쿼리 실행\n" +#: help.c:203 +msgid "" +" \\watch [[i=]SEC] [c=N] execute query every SEC seconds, up to N times\n" +msgstr " \\watch [[i=]SEC] [c=N] SEC초 간격, N번 반복\n" -#: help.c:188 -#, c-format +#: help.c:204 help.c:212 help.c:224 help.c:234 help.c:241 help.c:298 help.c:306 +#: help.c:326 help.c:339 help.c:348 +msgid "\n" +msgstr "\n" + +#: help.c:206 msgid "Help\n" msgstr "도움말\n" -#: help.c:190 -#, c-format +#: help.c:208 msgid " \\? [commands] show help on backslash commands\n" msgstr " \\? [commands] psql 역슬래시 명령어 설명\n" -#: help.c:191 -#, c-format +#: help.c:209 msgid " \\? options show help on psql command-line options\n" msgstr " \\? options psql 명령행 옵션 도움말 보기\n" -#: help.c:192 -#, c-format +#: help.c:210 msgid " \\? variables show help on special variables\n" msgstr " \\? variables psql 환경 설정 변수들에 설명 보기\n" -#: help.c:193 -#, c-format +#: help.c:211 msgid "" " \\h [NAME] help on syntax of SQL commands, * for all " "commands\n" @@ -2836,56 +2898,46 @@ msgstr "" " \\h [NAME] SQL 명령 구문 도움말, 모든 명령을 표시하려면 * 입" "력\n" -#: help.c:196 -#, c-format +#: help.c:214 msgid "Query Buffer\n" msgstr "쿼리 버퍼\n" -#: help.c:197 -#, c-format +#: help.c:215 msgid "" " \\e [FILE] [LINE] edit the query buffer (or file) with external " "editor\n" msgstr " \\e [FILE] [LINE] 외부 편집기로 쿼리 버퍼(또는 파일) 편집\n" -#: help.c:198 -#, c-format +#: help.c:216 msgid "" " \\ef [FUNCNAME [LINE]] edit function definition with external editor\n" msgstr " \\ef [FUNCNAME [LINE]] 외부 편집기로 해당 함수 내용 편집\n" -#: help.c:199 -#, c-format +#: help.c:217 msgid " \\ev [VIEWNAME [LINE]] edit view definition with external editor\n" msgstr " \\ev [VIEWNAME [LINE]] 외부 편집기로 해당 뷰 정의 편집\n" -#: help.c:200 -#, c-format +#: help.c:218 msgid " \\p show the contents of the query buffer\n" msgstr " \\p 쿼리 버퍼의 내용 표시\n" -#: help.c:201 -#, c-format +#: help.c:219 msgid " \\r reset (clear) the query buffer\n" msgstr " \\r 쿼리 버퍼 초기화(모두 지움)\n" -#: help.c:203 -#, c-format +#: help.c:221 msgid " \\s [FILE] display history or save it to file\n" msgstr " \\s [FILE] 기록 표시 또는 파일에 저장\n" -#: help.c:205 -#, c-format +#: help.c:223 msgid " \\w FILE write query buffer to file\n" msgstr " \\w FILE 쿼리 버퍼를 파일에 기록\n" -#: help.c:208 -#, c-format +#: help.c:226 msgid "Input/Output\n" msgstr "입력/출력\n" -#: help.c:209 -#, c-format +#: help.c:227 msgid "" " \\copy ... perform SQL COPY with data stream to the client " "host\n" @@ -2893,367 +2945,344 @@ msgstr "" " \\copy ... 클라이언트 호스트에 있는 자료를 SQL COPY 명령 실" "행\n" -#: help.c:210 -#, c-format +#: help.c:228 msgid "" " \\echo [-n] [STRING] write string to standard output (-n for no " "newline)\n" msgstr " \\echo [-n] [STRING] 문자열을 표준 출력에 기록 (-n 줄바꿈 없음)\n" -#: help.c:211 -#, c-format +#: help.c:229 msgid " \\i FILE execute commands from file\n" msgstr " \\i FILE 파일에서 명령 실행\n" -#: help.c:212 -#, c-format +#: help.c:230 msgid "" " \\ir FILE as \\i, but relative to location of current " "script\n" msgstr "" " \\ir FILE \\i 명령과 같으나, 경로가 현재 위치 기준 상대적\n" -#: help.c:213 -#, c-format +#: help.c:231 msgid " \\o [FILE] send all query results to file or |pipe\n" msgstr " \\o [FILE] 모든 쿼리 결과를 파일 또는 |파이프로 보냄\n" -#: help.c:214 -#, c-format +#: help.c:232 msgid "" " \\qecho [-n] [STRING] write string to \\o output stream (-n for no " "newline)\n" -msgstr " \\qecho [-n] [STRING] 문자열을 \\o 출력 스트림에 기록 (-n 줄바꿈 없음)\n" +msgstr "" +" \\qecho [-n] [STRING] 문자열을 \\o 출력 스트림에 기록 (-n 줄바꿈 없음)\n" -#: help.c:215 -#, c-format +#: help.c:233 msgid "" " \\warn [-n] [STRING] write string to standard error (-n for no " "newline)\n" msgstr " \\warn [-n] [STRING] 문자열을 stderr에 기록 (-n 줄바꿈 없음)\n" -#: help.c:218 -#, c-format +#: help.c:236 msgid "Conditional\n" msgstr "조건문\n" -#: help.c:219 -#, c-format +#: help.c:237 msgid " \\if EXPR begin conditional block\n" msgstr " \\if EXPR 조건문 시작\n" -#: help.c:220 -#, c-format +#: help.c:238 msgid "" " \\elif EXPR alternative within current conditional block\n" msgstr " \\elif EXPR else if 구문 시작\n" -#: help.c:221 -#, c-format +#: help.c:239 msgid "" " \\else final alternative within current conditional " "block\n" msgstr " \\else 조건문의 그 외 조건\n" -#: help.c:222 -#, c-format +#: help.c:240 msgid " \\endif end conditional block\n" msgstr " \\endif 조건문 끝\n" -#: help.c:225 -#, c-format +#: help.c:243 msgid "Informational\n" msgstr "정보보기\n" -#: help.c:226 -#, c-format +#: help.c:244 msgid " (options: S = show system objects, + = additional detail)\n" msgstr " (옵션: S = 시스템 개체 표시, + = 추가 상세 정보)\n" -#: help.c:227 -#, c-format +#: help.c:245 msgid " \\d[S+] list tables, views, and sequences\n" msgstr " \\d[S+] 테이블, 뷰 및 시퀀스 목록\n" -#: help.c:228 -#, c-format +#: help.c:246 msgid " \\d[S+] NAME describe table, view, sequence, or index\n" msgstr " \\d[S+] NAME 테이블, 뷰, 시퀀스 또는 인덱스 설명\n" -#: help.c:229 -#, c-format +#: help.c:247 msgid " \\da[S] [PATTERN] list aggregates\n" msgstr " \\da[S] [PATTERN] 집계 함수 목록\n" -#: help.c:230 -#, c-format +#: help.c:248 msgid " \\dA[+] [PATTERN] list access methods\n" msgstr " \\dA[+] [PATTERN] 접근 방법 목록\n" -#: help.c:231 -#, c-format +#: help.c:249 msgid " \\dAc[+] [AMPTRN [TYPEPTRN]] list operator classes\n" msgstr " \\dAc[+] [AMPTRN [TYPEPTRN]] 연산자 클래스 목록\n" -#: help.c:232 -#, c-format +#: help.c:250 msgid " \\dAf[+] [AMPTRN [TYPEPTRN]] list operator families\n" msgstr " \\dAf[+] [AMPTRN [TYPEPTRN]] 연산자 부류 목록\n" -#: help.c:233 -#, c-format +#: help.c:251 msgid " \\dAo[+] [AMPTRN [OPFPTRN]] list operators of operator families\n" msgstr " \\dAo[+] [AMPTRN [OPFPTRN]] 연산자 부류 소속 연산자 목록\n" -#: help.c:234 -#, c-format +#: help.c:252 msgid "" -" \\dAp [AMPTRN [OPFPTRN]] list support functions of operator families\n" -msgstr "" -" \\dAp [AMPTRN [OPFPTRN]] 연산자 가족에 포함된 지원 함수 목록\n" +" \\dAp[+] [AMPTRN [OPFPTRN]] list support functions of operator families\n" +msgstr " \\dAp[+] [AMPTRN [OPFPTRN]] 연산자 가족에 포함된 지원 함수 목록\n" -#: help.c:235 -#, c-format +#: help.c:253 msgid " \\db[+] [PATTERN] list tablespaces\n" msgstr " \\db[+] [PATTERN] 테이블스페이스 목록\n" -#: help.c:236 -#, c-format +#: help.c:254 msgid " \\dc[S+] [PATTERN] list conversions\n" msgstr " \\dc[S+] [PATTERN] 문자셋 변환자 목록\n" -#: help.c:237 -#, c-format +#: help.c:255 +msgid " \\dconfig[+] [PATTERN] list configuration parameters\n" +msgstr " \\dconfig[+] [PATTERN] 환경설정 매개변수 목록\n" + +#: help.c:256 msgid " \\dC[+] [PATTERN] list casts\n" msgstr " \\dC[+] [PATTERN] 자료형 변환자 목록\n" -#: help.c:238 -#, c-format +#: help.c:257 msgid "" " \\dd[S] [PATTERN] show object descriptions not displayed elsewhere\n" msgstr "" " \\dd[S] [PATTERN] 다른 곳에서는 볼 수 없는 객체 설명을 보여줌\n" -#: help.c:239 -#, c-format +#: help.c:258 msgid " \\dD[S+] [PATTERN] list domains\n" msgstr " \\dD[S+] [PATTERN] 도메인 목록\n" -#: help.c:240 -#, c-format +#: help.c:259 msgid " \\ddp [PATTERN] list default privileges\n" msgstr " \\ddp [PATTERN] 기본 접근권한 목록\n" -#: help.c:241 -#, c-format +#: help.c:260 msgid " \\dE[S+] [PATTERN] list foreign tables\n" msgstr " \\dE[S+] [PATTERN] 외부 테이블 목록\n" -#: help.c:242 -#, c-format -msgid " \\det[+] [PATTERN] list foreign tables\n" -msgstr " \\det[+] [PATTERN] 외부 테이블 목록\n" - -#: help.c:243 -#, c-format +#: help.c:261 msgid " \\des[+] [PATTERN] list foreign servers\n" msgstr " \\des[+] [PATTERN] 외부 서버 목록\n" -#: help.c:244 -#, c-format +#: help.c:262 +msgid " \\det[+] [PATTERN] list foreign tables\n" +msgstr " \\det[+] [PATTERN] 외부 테이블 목록\n" + +#: help.c:263 msgid " \\deu[+] [PATTERN] list user mappings\n" msgstr " \\deu[+] [PATTERN] 사용자 매핑 목록\n" -#: help.c:245 -#, c-format +#: help.c:264 msgid " \\dew[+] [PATTERN] list foreign-data wrappers\n" msgstr " \\dew[+] [PATTERN] 외부 데이터 래퍼 목록\n" -#: help.c:246 -#, c-format +#: help.c:265 msgid "" -" \\df[anptw][S+] [PATRN] list [only agg/normal/procedures/trigger/window] " +" \\df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]]\n" +" list [only agg/normal/procedure/trigger/window] " "functions\n" msgstr "" -" \\df[anptw][S+] [PATRN] [agg/normal/procedures/trigger/window] 함수 목록\n" +" \\df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]]\n" +" [agg/normal/procedure/trigger/window 단일] 함수 목" +"록\n" -#: help.c:247 -#, c-format +#: help.c:267 msgid " \\dF[+] [PATTERN] list text search configurations\n" msgstr " \\dF[+] [PATTERN] 텍스트 검색 구성 목록\n" -#: help.c:248 -#, c-format +#: help.c:268 msgid " \\dFd[+] [PATTERN] list text search dictionaries\n" msgstr " \\dFd[+] [PATTERN] 텍스트 검색 사전 목록\n" -#: help.c:249 -#, c-format +#: help.c:269 msgid " \\dFp[+] [PATTERN] list text search parsers\n" msgstr " \\dFp[+] [PATTERN] 텍스트 검색 파서 목록\n" -#: help.c:250 -#, c-format +#: help.c:270 msgid " \\dFt[+] [PATTERN] list text search templates\n" msgstr " \\dFt[+] [PATTERN] 텍스트 검색 템플릿 목록\n" -#: help.c:251 -#, c-format +#: help.c:271 msgid " \\dg[S+] [PATTERN] list roles\n" msgstr " \\dg[S+] [PATTERN] 롤 목록\n" -#: help.c:252 -#, c-format +#: help.c:272 msgid " \\di[S+] [PATTERN] list indexes\n" msgstr " \\di[S+] [PATTERN] 인덱스 목록\n" -#: help.c:253 -#, c-format -msgid " \\dl list large objects, same as \\lo_list\n" -msgstr " \\dl 큰 개체 목록, \\lo_list 명령과 같음\n" +#: help.c:273 +msgid " \\dl[+] list large objects, same as \\lo_list\n" +msgstr " \\dl[+] 큰 개체 목록, \\lo_list 명령과 같음\n" -#: help.c:254 -#, c-format +#: help.c:274 msgid " \\dL[S+] [PATTERN] list procedural languages\n" msgstr " \\dL[S+] [PATTERN] 프로시져 언어 목록\n" -#: help.c:255 -#, c-format +#: help.c:275 msgid " \\dm[S+] [PATTERN] list materialized views\n" msgstr " \\dm[S+] [PATTERN] materialized 뷰 목록\n" -#: help.c:256 -#, c-format +#: help.c:276 msgid " \\dn[S+] [PATTERN] list schemas\n" msgstr " \\dn[S+] [PATTERN] 스키마 목록\n" -#: help.c:257 -#, c-format -msgid " \\do[S] [PATTERN] list operators\n" -msgstr " \\do[S] [PATTERN] 연산자 목록\n" +#: help.c:277 +msgid "" +" \\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]\n" +" list operators\n" +msgstr "" +" \\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]\n" +" 연산자 목록\n" -#: help.c:258 -#, c-format +#: help.c:279 msgid " \\dO[S+] [PATTERN] list collations\n" msgstr " \\dO[S+] [PATTERN] collation 목록\n" -#: help.c:259 -#, c-format +#: help.c:280 msgid "" -" \\dp [PATTERN] list table, view, and sequence access privileges\n" -msgstr " \\dp [PATTERN] 테이블, 뷰 및 시퀀스 액세스 권한 목록\n" +" \\dp[S] [PATTERN] list table, view, and sequence access privileges\n" +msgstr " \\dp[S] [PATTERN] 테이블, 뷰 및 시퀀스 액세스 권한 목록\n" -#: help.c:260 -#, c-format +#: help.c:281 msgid "" " \\dP[itn+] [PATTERN] list [only index/table] partitioned relations " "[n=nested]\n" msgstr "" " \\dP[itn+] [PATTERN] 파티션 릴레이션 목록 [인덱스/테이블만] [n=nested]\n" -#: help.c:261 -#, c-format -msgid " \\drds [PATRN1 [PATRN2]] list per-database role settings\n" -msgstr " \\drds [PATRN1 [PATRN2]] 데이터베이스별 롤 설정 목록\n" +#: help.c:282 +msgid " \\drds [ROLEPTRN [DBPTRN]] list per-database role settings\n" +msgstr " \\drds [ROLEPTRN [DBPTRN]] per-database 롤 설정 목록\n" -#: help.c:262 -#, c-format +#: help.c:283 +msgid " \\drg[S] [PATTERN] list role grants\n" +msgstr " \\drg[S] [PATTERN] 롤 부여 목록\n" + +#: help.c:284 msgid " \\dRp[+] [PATTERN] list replication publications\n" msgstr " \\dRp[+] [PATTERN] 복제 발행 목록\n" -#: help.c:263 -#, c-format +#: help.c:285 msgid " \\dRs[+] [PATTERN] list replication subscriptions\n" msgstr " \\dRs[+] [PATTERN] 복제 구독 목록\n" -#: help.c:264 -#, c-format +#: help.c:286 msgid " \\ds[S+] [PATTERN] list sequences\n" msgstr " \\ds[S+] [PATTERN] 시퀀스 목록\n" -#: help.c:265 -#, c-format +#: help.c:287 msgid " \\dt[S+] [PATTERN] list tables\n" msgstr " \\dt[S+] [PATTERN] 테이블 목록\n" -#: help.c:266 -#, c-format +#: help.c:288 msgid " \\dT[S+] [PATTERN] list data types\n" msgstr " \\dT[S+] [PATTERN] 데이터 형식 목록\n" -#: help.c:267 -#, c-format +#: help.c:289 msgid " \\du[S+] [PATTERN] list roles\n" msgstr " \\du[S+] [PATTERN] 롤 목록\n" -#: help.c:268 -#, c-format +#: help.c:290 msgid " \\dv[S+] [PATTERN] list views\n" msgstr " \\dv[S+] [PATTERN] 뷰 목록\n" -#: help.c:269 -#, c-format +#: help.c:291 msgid " \\dx[+] [PATTERN] list extensions\n" msgstr " \\dx[+] [PATTERN] 확장 모듈 목록\n" -#: help.c:270 -#, c-format -msgid " \\dy [PATTERN] list event triggers\n" -msgstr " \\dy [PATTERN] 이벤트 트리거 목록\n" +#: help.c:292 +msgid " \\dX [PATTERN] list extended statistics\n" +msgstr " \\dX [PATTERN] 확장 통계 정보 목록\n" -#: help.c:271 -#, c-format +#: help.c:293 +msgid " \\dy[+] [PATTERN] list event triggers\n" +msgstr " \\dy[+] [PATTERN] 이벤트 트리거 목록\n" + +#: help.c:294 msgid " \\l[+] [PATTERN] list databases\n" msgstr " \\l[+] [PATTERN] 데이터베이스 목록\n" -#: help.c:272 -#, c-format +#: help.c:295 msgid " \\sf[+] FUNCNAME show a function's definition\n" msgstr " \\sf[+] 함수이름 함수 정의 보기\n" -#: help.c:273 -#, c-format +#: help.c:296 msgid " \\sv[+] VIEWNAME show a view's definition\n" msgstr " \\sv[+] 뷰이름 뷰 정의 보기\n" -#: help.c:274 -#, c-format -msgid " \\z [PATTERN] same as \\dp\n" -msgstr " \\z [PATTERN] \\dp와 같음\n" +#: help.c:297 +msgid " \\z[S] [PATTERN] same as \\dp\n" +msgstr " \\z[S] [PATTERN] \\dp 와 같음\n" -#: help.c:277 -#, c-format +#: help.c:300 +msgid "Large Objects\n" +msgstr "큰 개체\n" + +#: help.c:301 +msgid " \\lo_export LOBOID FILE write large object to file\n" +msgstr " \\lo_export LOBOID FILE 큰 개체를 파일로 저장\n" + +#: help.c:302 +msgid "" +" \\lo_import FILE [COMMENT]\n" +" read large object from file\n" +msgstr "" +" \\lo_import FILE [COMMENT]\n" +" 파일에서 큰 개체 가져오기\n" + +#: help.c:304 +msgid " \\lo_list[+] list large objects\n" +msgstr " \\lo_list[+] 큰 개체 목록\n" + +#: help.c:305 +msgid " \\lo_unlink LOBOID delete a large object\n" +msgstr " \\lo_unlink LOBOID 큰 개체 삭제\n" + +#: help.c:308 msgid "Formatting\n" msgstr "출력 형식\n" -#: help.c:278 -#, c-format +#: help.c:309 msgid "" " \\a toggle between unaligned and aligned output mode\n" msgstr "" " \\a 정렬되지 않은 출력 모드와 정렬된 출력 모드 전환\n" -#: help.c:279 -#, c-format +#: help.c:310 msgid " \\C [STRING] set table title, or unset if none\n" msgstr "" " \\C [STRING] 테이블 제목 설정 또는 값이 없는 경우 설정 안 함\n" -#: help.c:280 -#, c-format +#: help.c:311 msgid "" " \\f [STRING] show or set field separator for unaligned query " "output\n" msgstr "" " \\f [STRING] unaligned 출력에 대해 필드 구분자 표시 또는 설정\n" -#: help.c:281 +#: help.c:312 #, c-format msgid " \\H toggle HTML output mode (currently %s)\n" msgstr " \\H HTML 출력 모드 전환(현재 %s)\n" -#: help.c:283 -#, c-format +#: help.c:314 msgid "" " \\pset [NAME [VALUE]] set table output option\n" " (border|columns|csv_fieldsep|expanded|fieldsep|\n" @@ -3271,30 +3300,32 @@ msgstr "" " unicode_border_linestyle|unicode_column_linestyle|\n" " unicode_header_linestyle)\n" -#: help.c:290 +#: help.c:321 #, c-format msgid " \\t [on|off] show only rows (currently %s)\n" msgstr " \\t [on|off] 행만 표시(현재 %s)\n" -#: help.c:292 -#, c-format +#: help.c:323 msgid "" " \\T [STRING] set HTML
tag attributes, or unset if none\n" msgstr "" " \\T [STRING] HTML
태그 속성 설정 또는 비었는 경우 설정 " "안 함\n" -#: help.c:293 +#: help.c:324 #, c-format msgid " \\x [on|off|auto] toggle expanded output (currently %s)\n" msgstr " \\x [on|off|auto] 확장된 출력 전환 (현재 %s)\n" -#: help.c:297 -#, c-format +#: help.c:325 +msgid "auto" +msgstr "자동" + +#: help.c:328 msgid "Connection\n" msgstr "연결\n" -#: help.c:299 +#: help.c:330 #, c-format msgid "" " \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n" @@ -3303,8 +3334,7 @@ msgstr "" " \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n" " 새 데이터베이스에 접속 (현재 \"%s\")\n" -#: help.c:303 -#, c-format +#: help.c:334 msgid "" " \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n" " connect to new database (currently no connection)\n" @@ -3312,62 +3342,56 @@ msgstr "" " \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n" " 새 데이터베이스에 접속 (현재 접속해 있지 않음)\n" -#: help.c:305 -#, c-format +#: help.c:336 msgid "" " \\conninfo display information about current connection\n" msgstr " \\conninfo 현재 데이터베이스 접속 정보 보기\n" -#: help.c:306 -#, c-format +#: help.c:337 msgid " \\encoding [ENCODING] show or set client encoding\n" msgstr " \\encoding [ENCODING] 클라이언트 인코딩 표시 또는 설정\n" -#: help.c:307 -#, c-format +#: help.c:338 msgid " \\password [USERNAME] securely change the password for a user\n" msgstr " \\password [USERNAME] 사용자 암호를 안전하게 변경\n" -#: help.c:310 -#, c-format +#: help.c:341 msgid "Operating System\n" msgstr "운영 체제\n" -#: help.c:311 -#, c-format +#: help.c:342 msgid " \\cd [DIR] change the current working directory\n" msgstr " \\cd [DIR] 현재 작업 디렉터리 변경\n" -#: help.c:312 -#, c-format +#: help.c:343 +msgid " \\getenv PSQLVAR ENVVAR fetch environment variable\n" +msgstr " \\getenv PSQLVAR ENVVAR 환경 변수값을 psql 변수값으로\n" + +#: help.c:344 msgid " \\setenv NAME [VALUE] set or unset environment variable\n" msgstr " \\setenv NAME [VALUE] 환경 변수 지정 및 해제\n" -#: help.c:313 +#: help.c:345 #, c-format msgid " \\timing [on|off] toggle timing of commands (currently %s)\n" msgstr " \\timing [on|off] 명령 실행 시간 전환(현재 %s)\n" -#: help.c:315 -#, c-format +#: help.c:347 msgid "" " \\! [COMMAND] execute command in shell or start interactive " "shell\n" msgstr " \\! [COMMAND] 셸 명령 실행 또는 대화식 셸 시작\n" -#: help.c:318 -#, c-format +#: help.c:350 msgid "Variables\n" msgstr "변수\n" -#: help.c:319 -#, c-format +#: help.c:351 msgid " \\prompt [TEXT] NAME prompt user to set internal variable\n" msgstr "" " \\prompt [TEXT] NAME 사용자에게 내부 변수를 설정하라는 메시지 표시\n" -#: help.c:320 -#, c-format +#: help.c:352 msgid "" " \\set [NAME [VALUE]] set internal variable, or list all if no " "parameters\n" @@ -3375,43 +3399,21 @@ msgstr "" " \\set [NAME [VALUE]] 내부 변수 설정 또는 미지정 경우 모든 변수 목록 표" "시\n" -#: help.c:321 -#, c-format +#: help.c:353 msgid " \\unset NAME unset (delete) internal variable\n" msgstr " \\unset NAME 내부 변수 설정 해제(삭제)\n" -#: help.c:324 -#, c-format -msgid "Large Objects\n" -msgstr "큰 개체\n" - -#: help.c:325 -#, c-format -msgid "" -" \\lo_export LOBOID FILE\n" -" \\lo_import FILE [COMMENT]\n" -" \\lo_list\n" -" \\lo_unlink LOBOID large object operations\n" -msgstr "" -" \\lo_export LOBOID FILE\n" -" \\lo_import FILE [COMMENT]\n" -" \\lo_list\n" -" \\lo_unlink LOBOID 큰 개체 작업\n" - -#: help.c:352 -#, c-format +#: help.c:392 msgid "" "List of specially treated variables\n" "\n" msgstr "특별한 기능 설정 변수 목록\n" -#: help.c:354 -#, c-format +#: help.c:394 msgid "psql variables:\n" msgstr "psql 변수들:\n" -#: help.c:356 -#, c-format +#: help.c:396 msgid "" " psql --set=NAME=VALUE\n" " or \\set NAME VALUE inside psql\n" @@ -3421,8 +3423,7 @@ msgstr "" " 또는 psql 명령 모드에서는 \\set NAME VALUE\n" "\n" -#: help.c:358 -#, c-format +#: help.c:398 msgid "" " AUTOCOMMIT\n" " if set, successful SQL commands are automatically committed\n" @@ -3430,8 +3431,7 @@ msgstr "" " AUTOCOMMIT\n" " 설정 되면, SQL 명령이 정상 실행 되면 자동 커밋 함\n" -#: help.c:360 -#, c-format +#: help.c:400 msgid "" " COMP_KEYWORD_CASE\n" " determines the case used to complete SQL key words\n" @@ -3441,8 +3441,7 @@ msgstr "" " SQL 키워드 자동완성에서 대소문자 처리\n" " [lower, upper, preserve-lower, preserve-upper]\n" -#: help.c:363 -#, c-format +#: help.c:403 msgid "" " DBNAME\n" " the currently connected database name\n" @@ -3450,8 +3449,7 @@ msgstr "" " DBNAME\n" " 현재 접속한 데이터베이스 이름\n" -#: help.c:365 -#, c-format +#: help.c:405 msgid "" " ECHO\n" " controls what input is written to standard output\n" @@ -3461,8 +3459,7 @@ msgstr "" " 입력을 표준 출력으로 보낼 종류\n" " [all, errors, none, queries]\n" -#: help.c:368 -#, c-format +#: help.c:408 msgid "" " ECHO_HIDDEN\n" " if set, display internal queries executed by backslash commands;\n" @@ -3472,8 +3469,7 @@ msgstr "" " 지정 되면 psql 내장 명령어의 내부 쿼리를 출력함;\n" " \"noexec\" 값으로 설정하면, 실행되지 않고 쿼리만 보여줌\n" -#: help.c:371 -#, c-format +#: help.c:411 msgid "" " ENCODING\n" " current client character set encoding\n" @@ -3481,17 +3477,15 @@ msgstr "" " ENCODING\n" " 현재 클라이언트 인코딩 지정\n" -#: help.c:373 -#, c-format +#: help.c:413 msgid "" " ERROR\n" -" true if last query failed, else false\n" +" \"true\" if last query failed, else \"false\"\n" msgstr "" " ERROR\n" -" 마지막 쿼리가 실패했으면 true, 아니면 false\n" +" 마지막 쿼리가 실패했으면 \"true\", 아니면 \"false\"\n" -#: help.c:375 -#, c-format +#: help.c:415 msgid "" " FETCH_COUNT\n" " the number of result rows to fetch and display at a time (0 = " @@ -3500,8 +3494,7 @@ msgstr "" " FETCH_COUNT\n" " 쿼리 결과에 대해서 출력할 최대 로우 개수 (0=제한없음)\n" -#: help.c:377 -#, c-format +#: help.c:417 msgid "" " HIDE_TABLEAM\n" " if set, table access methods are not displayed\n" @@ -3509,8 +3502,15 @@ msgstr "" " HIDE_TABLEAM\n" " 지정하면 테이블 접근 방법을 보여주지 않음\n" -#: help.c:379 -#, c-format +#: help.c:419 +msgid "" +" HIDE_TOAST_COMPRESSION\n" +" if set, compression methods are not displayed\n" +msgstr "" +" HIDE_TOAST_COMPRESSION\n" +" 지정하면 TOAST 압축 종류 보여주지 않음\n" + +#: help.c:421 msgid "" " HISTCONTROL\n" " controls command history [ignorespace, ignoredups, ignoreboth]\n" @@ -3518,8 +3518,7 @@ msgstr "" " HISTCONTROL\n" " 명령 내역 처리 방법 [ignorespace, ignoredups, ignoreboth]\n" -#: help.c:381 -#, c-format +#: help.c:423 msgid "" " HISTFILE\n" " file name used to store the command history\n" @@ -3527,8 +3526,7 @@ msgstr "" " HISTFILE\n" " 명령 내역을 저장할 파일 이름\n" -#: help.c:383 -#, c-format +#: help.c:425 msgid "" " HISTSIZE\n" " maximum number of commands to store in the command history\n" @@ -3536,8 +3534,7 @@ msgstr "" " HISTSIZE\n" " 명령 내역 최대 보관 개수\n" -#: help.c:385 -#, c-format +#: help.c:427 msgid "" " HOST\n" " the currently connected database server host\n" @@ -3545,8 +3542,7 @@ msgstr "" " HOST\n" " 현재 접속한 데이터베이스 서버 호스트\n" -#: help.c:387 -#, c-format +#: help.c:429 msgid "" " IGNOREEOF\n" " number of EOFs needed to terminate an interactive session\n" @@ -3554,8 +3550,7 @@ msgstr "" " IGNOREEOF\n" " 대화형 세션 종료를 위한 EOF 개수\n" -#: help.c:389 -#, c-format +#: help.c:431 msgid "" " LASTOID\n" " value of the last affected OID\n" @@ -3563,8 +3558,7 @@ msgstr "" " LASTOID\n" " 마지막 영향 받은 OID 값\n" -#: help.c:391 -#, c-format +#: help.c:433 msgid "" " LAST_ERROR_MESSAGE\n" " LAST_ERROR_SQLSTATE\n" @@ -3575,8 +3569,7 @@ msgstr "" " LAST_ERROR_SQLSTATE\n" " 마지막 오류 메시지와 SQLSTATE, 정상이면, 빈 문자열과 \"00000\"\n" -#: help.c:394 -#, c-format +#: help.c:436 msgid "" " ON_ERROR_ROLLBACK\n" " if set, an error doesn't stop a transaction (uses implicit savepoints)\n" @@ -3584,8 +3577,7 @@ msgstr "" " ON_ERROR_ROLLBACK\n" " 설정하면 오류 발생시에도 트랜잭션 중지 안함 (savepoint 암묵적 사용)\n" -#: help.c:396 -#, c-format +#: help.c:438 msgid "" " ON_ERROR_STOP\n" " stop batch execution after error\n" @@ -3593,8 +3585,7 @@ msgstr "" " ON_ERROR_STOP\n" " 배치 작업 시 오류가 발생하면 중지함\n" -#: help.c:398 -#, c-format +#: help.c:440 msgid "" " PORT\n" " server port of the current connection\n" @@ -3602,8 +3593,7 @@ msgstr "" " PORT\n" " 현재 접속한 서버 포트\n" -#: help.c:400 -#, c-format +#: help.c:442 msgid "" " PROMPT1\n" " specifies the standard psql prompt\n" @@ -3611,8 +3601,7 @@ msgstr "" " PROMPT1\n" " 기본 psql 프롬프트 정의\n" -#: help.c:402 -#, c-format +#: help.c:444 msgid "" " PROMPT2\n" " specifies the prompt used when a statement continues from a previous " @@ -3621,8 +3610,7 @@ msgstr "" " PROMPT2\n" " 아직 구문이 덜 끝난 명령행의 프롬프트\n" -#: help.c:404 -#, c-format +#: help.c:446 msgid "" " PROMPT3\n" " specifies the prompt used during COPY ... FROM STDIN\n" @@ -3630,8 +3618,7 @@ msgstr "" " PROMPT3\n" " COPY ... FROM STDIN 작업시 보일 프롬프트\n" -#: help.c:406 -#, c-format +#: help.c:448 msgid "" " QUIET\n" " run quietly (same as -q option)\n" @@ -3639,8 +3626,7 @@ msgstr "" " QUIET\n" " 조용히 실행 (-q 옵션과 같음)\n" -#: help.c:408 -#, c-format +#: help.c:450 msgid "" " ROW_COUNT\n" " number of rows returned or affected by last query, or 0\n" @@ -3648,8 +3634,7 @@ msgstr "" " ROW_COUNT\n" " 마지막 쿼리 작업 대상 로우 수, 또는 0\n" -#: help.c:410 -#, c-format +#: help.c:452 msgid "" " SERVER_VERSION_NAME\n" " SERVER_VERSION_NUM\n" @@ -3659,8 +3644,32 @@ msgstr "" " SERVER_VERSION_NUM\n" " 문자열 버전 정보나, 숫자 형식 버전 정보\n" -#: help.c:413 -#, c-format +#: help.c:455 +msgid "" +" SHELL_ERROR\n" +" \"true\" if the last shell command failed, \"false\" if it succeeded\n" +msgstr "" +" SHELL_ERROR\n" +" 마지막 쉘 명령이 실패했으면 \"true\", 아니면 \"false\"\n" + +#: help.c:457 +msgid "" +" SHELL_EXIT_CODE\n" +" exit status of the last shell command\n" +msgstr "" +" SHELL_EXIT_CODE\n" +" 마지막 쉘 명령의 종료 코드\n" + +#: help.c:459 +msgid "" +" SHOW_ALL_RESULTS\n" +" show all results of a combined query (\\;) instead of only the last\n" +msgstr "" +" SHOW_ALL_RESULTS\n" +" 여러 쿼리가 연속하는 경우(\\;) 모든 쿼리 결과를 출력, off면 마지막 결과" +"만\n" + +#: help.c:461 msgid "" " SHOW_CONTEXT\n" " controls display of message context fields [never, errors, always]\n" @@ -3668,8 +3677,7 @@ msgstr "" " SHOW_CONTEXT\n" " 상황별 자세한 메시지 내용 출력 제어 [never, errors, always]\n" -#: help.c:415 -#, c-format +#: help.c:463 msgid "" " SINGLELINE\n" " if set, end of line terminates SQL commands (same as -S option)\n" @@ -3677,8 +3685,7 @@ msgstr "" " SINGLELINE\n" " 한 줄에 하나의 SQL 명령 실행 (-S 옵션과 같음)\n" -#: help.c:417 -#, c-format +#: help.c:465 msgid "" " SINGLESTEP\n" " single-step mode (same as -s option)\n" @@ -3686,8 +3693,7 @@ msgstr "" " SINGLESTEP\n" " 각 명령을 확인하며 실행 (-s 옵션과 같음)\n" -#: help.c:419 -#, c-format +#: help.c:467 msgid "" " SQLSTATE\n" " SQLSTATE of last query, or \"00000\" if no error\n" @@ -3695,8 +3701,7 @@ msgstr "" " SQLSTATE\n" " 마지막 쿼리의 SQLSTATE 값, 오류가 없으면 \"00000\"\n" -#: help.c:421 -#, c-format +#: help.c:469 msgid "" " USER\n" " the currently connected database user\n" @@ -3704,8 +3709,7 @@ msgstr "" " USER\n" " 현재 접속한 데이터베이스 사용자\n" -#: help.c:423 -#, c-format +#: help.c:471 msgid "" " VERBOSITY\n" " controls verbosity of error reports [default, verbose, terse, sqlstate]\n" @@ -3713,8 +3717,7 @@ msgstr "" " VERBOSITY\n" " 오류 출력시 자세히 볼 내용 범위 [default, verbose, terse, sqlstate]\n" -#: help.c:425 -#, c-format +#: help.c:473 msgid "" " VERSION\n" " VERSION_NAME\n" @@ -3726,8 +3729,7 @@ msgstr "" " VERSION_NUM\n" " psql 버전 (자세한 버전, 단순한 버전, 숫자형 버전)\n" -#: help.c:430 -#, c-format +#: help.c:478 msgid "" "\n" "Display settings:\n" @@ -3735,8 +3737,7 @@ msgstr "" "\n" "출력 설정들:\n" -#: help.c:432 -#, c-format +#: help.c:480 msgid "" " psql --pset=NAME[=VALUE]\n" " or \\pset NAME [VALUE] inside psql\n" @@ -3746,8 +3747,7 @@ msgstr "" " 또는 psql 명령 모드에서는 \\pset NAME [VALUE]\n" "\n" -#: help.c:434 -#, c-format +#: help.c:482 msgid "" " border\n" " border style (number)\n" @@ -3755,8 +3755,7 @@ msgstr "" " border\n" " 테두리 모양 (숫자)\n" -#: help.c:436 -#, c-format +#: help.c:484 msgid "" " columns\n" " target width for the wrapped format\n" @@ -3764,8 +3763,7 @@ msgstr "" " columns\n" " 줄바꿈을 위한 너비 지정\n" -#: help.c:438 -#, c-format +#: help.c:486 msgid "" " expanded (or x)\n" " expanded output [on, off, auto]\n" @@ -3773,7 +3771,7 @@ msgstr "" " expanded (또는 x)\n" " 확장된 출력 전환 [on, off, auto]\n" -#: help.c:440 +#: help.c:488 #, c-format msgid "" " fieldsep\n" @@ -3782,8 +3780,7 @@ msgstr "" " fieldsep\n" " unaligned 출력용 필드 구분자 (초기값 \"%s\"')\n" -#: help.c:443 -#, c-format +#: help.c:491 msgid "" " fieldsep_zero\n" " set field separator for unaligned output to a zero byte\n" @@ -3791,8 +3788,7 @@ msgstr "" " fieldsep_zero\n" " unaligned 출력용 필드 구분자를 0 바이트로 지정\n" -#: help.c:445 -#, c-format +#: help.c:493 msgid "" " footer\n" " enable or disable display of the table footer [on, off]\n" @@ -3800,8 +3796,7 @@ msgstr "" " footer\n" " 테이블 꼬리말 보이기 전환 [on, off]\n" -#: help.c:447 -#, c-format +#: help.c:495 msgid "" " format\n" " set output format [unaligned, aligned, wrapped, html, asciidoc, ...]\n" @@ -3809,8 +3804,7 @@ msgstr "" " format\n" " 출력 양식 지정 [unaligned, aligned, wrapped, html, asciidoc, ...]\n" -#: help.c:449 -#, c-format +#: help.c:497 msgid "" " linestyle\n" " set the border line drawing style [ascii, old-ascii, unicode]\n" @@ -3818,8 +3812,7 @@ msgstr "" " linestyle\n" " 테두리 선 모양 지정 [ascii, old-ascii, unicode]\n" -#: help.c:451 -#, c-format +#: help.c:499 msgid "" " null\n" " set the string to be printed in place of a null value\n" @@ -3827,8 +3820,7 @@ msgstr "" " null\n" " null 값 출력 방법\n" -#: help.c:453 -#, c-format +#: help.c:501 msgid "" " numericlocale\n" " enable display of a locale-specific character to separate groups of " @@ -3837,8 +3829,7 @@ msgstr "" " numericlocale\n" " 숫자 출력에서 로케일 기반 천자리 분리 문자 활성화 [on, off]\n" -#: help.c:455 -#, c-format +#: help.c:503 msgid "" " pager\n" " control when an external pager is used [yes, no, always]\n" @@ -3846,8 +3837,7 @@ msgstr "" " pager\n" " 외부 페이지 단위 보기 도구 사용 여부 [yes, no, always]\n" -#: help.c:457 -#, c-format +#: help.c:505 msgid "" " recordsep\n" " record (line) separator for unaligned output\n" @@ -3855,8 +3845,7 @@ msgstr "" " recordsep\n" " unaligned 출력용 레코드(줄) 구분자\n" -#: help.c:459 -#, c-format +#: help.c:507 msgid "" " recordsep_zero\n" " set record separator for unaligned output to a zero byte\n" @@ -3864,8 +3853,7 @@ msgstr "" " recordsep_zero\n" " unaligned 출력용 레코드 구분자를 0 바이트로 지정\n" -#: help.c:461 -#, c-format +#: help.c:509 msgid "" " tableattr (or T)\n" " specify attributes for table tag in html format, or proportional\n" @@ -3873,10 +3861,9 @@ msgid "" msgstr "" " tableattr (또는 T)\n" " html 테이블 태그에 대한 속성이나,\n" -" latex-longtable 양식에서 왼쪽 정렬 자료용 칼럼 넓이 지정\n" +" latex-longtable 양식에서 왼쪽 정렬 자료용 칼럼 너비 지정\n" -#: help.c:464 -#, c-format +#: help.c:512 msgid "" " title\n" " set the table title for subsequently printed tables\n" @@ -3884,8 +3871,7 @@ msgstr "" " title\n" " 테이블 제목 지정\n" -#: help.c:466 -#, c-format +#: help.c:514 msgid "" " tuples_only\n" " if set, only actual table data is shown\n" @@ -3893,8 +3879,7 @@ msgstr "" " tuples_only\n" " 지정되면, 자료만 보임\n" -#: help.c:468 -#, c-format +#: help.c:516 msgid "" " unicode_border_linestyle\n" " unicode_column_linestyle\n" @@ -3906,8 +3891,7 @@ msgstr "" " unicode_header_linestyle\n" " 유니코드 선 종류 [single, double]\n" -#: help.c:473 -#, c-format +#: help.c:521 msgid "" "\n" "Environment variables:\n" @@ -3915,8 +3899,7 @@ msgstr "" "\n" "OS 환경 변수들:\n" -#: help.c:477 -#, c-format +#: help.c:525 msgid "" " NAME=VALUE [NAME=VALUE] psql ...\n" " or \\setenv NAME [VALUE] inside psql\n" @@ -3926,8 +3909,7 @@ msgstr "" " 또는 psql 명령 모드에서는 \\setenv NAME [VALUE]\n" "\n" -#: help.c:479 -#, c-format +#: help.c:527 msgid "" " set NAME=VALUE\n" " psql ...\n" @@ -3939,8 +3921,7 @@ msgstr "" " 또는 psql 명령 모드에서는 \\setenv NAME [VALUE]\n" "\n" -#: help.c:482 -#, c-format +#: help.c:530 msgid "" " COLUMNS\n" " number of columns for wrapped format\n" @@ -3948,8 +3929,7 @@ msgstr "" " COLUMNS\n" " 다음 줄로 넘어갈 칼럼 수\n" -#: help.c:484 -#, c-format +#: help.c:532 msgid "" " PGAPPNAME\n" " same as the application_name connection parameter\n" @@ -3957,8 +3937,7 @@ msgstr "" " PGAPPNAME\n" " application_name 변수값으로 사용됨\n" -#: help.c:486 -#, c-format +#: help.c:534 msgid "" " PGDATABASE\n" " same as the dbname connection parameter\n" @@ -3966,8 +3945,7 @@ msgstr "" " PGDATABASE\n" " 접속할 데이터베이스 이름\n" -#: help.c:488 -#, c-format +#: help.c:536 msgid "" " PGHOST\n" " same as the host connection parameter\n" @@ -3975,17 +3953,7 @@ msgstr "" " PGHOST\n" " 서버 접속용 호스트 이름\n" -#: help.c:490 -#, c-format -msgid "" -" PGPASSWORD\n" -" connection password (not recommended)\n" -msgstr "" -" PGPASSWORD\n" -" 서버 접속 비밀번호 (보안에 취약함)\n" - -#: help.c:492 -#, c-format +#: help.c:538 msgid "" " PGPASSFILE\n" " password file name\n" @@ -3993,8 +3961,15 @@ msgstr "" " PGPASSFILE\n" " 서버 접속용 비밀번호가 저장된 파일 이름\n" -#: help.c:494 -#, c-format +#: help.c:540 +msgid "" +" PGPASSWORD\n" +" connection password (not recommended)\n" +msgstr "" +" PGPASSWORD\n" +" 서버 접속 비밀번호 (보안에 취약함)\n" + +#: help.c:542 msgid "" " PGPORT\n" " same as the port connection parameter\n" @@ -4002,8 +3977,7 @@ msgstr "" " PGPORT\n" " 서버 접속용 포트\n" -#: help.c:496 -#, c-format +#: help.c:544 msgid "" " PGUSER\n" " same as the user connection parameter\n" @@ -4011,8 +3985,7 @@ msgstr "" " PGUSER\n" " 서버 접속용 데이터베이스 사용자 이름\n" -#: help.c:498 -#, c-format +#: help.c:546 msgid "" " PSQL_EDITOR, EDITOR, VISUAL\n" " editor used by the \\e, \\ef, and \\ev commands\n" @@ -4020,8 +3993,7 @@ msgstr "" " PSQL_EDITOR, EDITOR, VISUAL\n" " \\e, \\ef, \\ev 명령에서 사용할 외부 편집기 경로\n" -#: help.c:500 -#, c-format +#: help.c:548 msgid "" " PSQL_EDITOR_LINENUMBER_ARG\n" " how to specify a line number when invoking the editor\n" @@ -4029,8 +4001,7 @@ msgstr "" " PSQL_EDITOR_LINENUMBER_ARG\n" " 외부 편집기 호출 시 사용할 줄번호 선택 옵션\n" -#: help.c:502 -#, c-format +#: help.c:550 msgid "" " PSQL_HISTORY\n" " alternative location for the command history file\n" @@ -4038,8 +4009,7 @@ msgstr "" " PSQL_HISTORY\n" " 사용자 .psql_history 파일 임의 지정\n" -#: help.c:504 -#, c-format +#: help.c:552 msgid "" " PSQL_PAGER, PAGER\n" " name of external pager program\n" @@ -4047,8 +4017,15 @@ msgstr "" " PAGER\n" " 페이지 단위 보기에서 사용할 프로그램\n" -#: help.c:506 -#, c-format +#: help.c:555 +msgid "" +" PSQL_WATCH_PAGER\n" +" name of external pager program used for \\watch\n" +msgstr "" +" PSQL_WATCH_PAGER\n" +" \\watch 명령에서 사용할 외장 페이저 프로그램 이름\n" + +#: help.c:558 msgid "" " PSQLRC\n" " alternative location for the user's .psqlrc file\n" @@ -4056,8 +4033,7 @@ msgstr "" " PSQLRC\n" " 사용자 .psqlrc 파일의 임의 지정\n" -#: help.c:508 -#, c-format +#: help.c:560 msgid "" " SHELL\n" " shell used by the \\! command\n" @@ -4065,8 +4041,7 @@ msgstr "" " SHELL\n" " \\! 명령에서 사용할 쉘\n" -#: help.c:510 -#, c-format +#: help.c:562 msgid "" " TMPDIR\n" " directory for temporary files\n" @@ -4074,11 +4049,11 @@ msgstr "" " TMPDIR\n" " 임시 파일을 사용할 디렉터리\n" -#: help.c:554 +#: help.c:622 msgid "Available help:\n" msgstr "사용 가능한 도움말:\n" -#: help.c:642 +#: help.c:717 #, c-format msgid "" "Command: %s\n" @@ -4096,7 +4071,7 @@ msgstr "" "URL: %s\n" "\n" -#: help.c:661 +#: help.c:740 #, c-format msgid "" "No help available for \"%s\".\n" @@ -4105,17 +4080,17 @@ msgstr "" "\"%s\" 명령에 대한 도움말 없음.\n" "\\h 명령을 인자 없이 호출 하면 사용 가능한 모든 명령 보여줌.\n" -#: input.c:217 +#: input.c:216 #, c-format msgid "could not read from input file: %m" msgstr "입력 파일을 읽을 수 없음: %m" -#: input.c:471 input.c:509 +#: input.c:477 input.c:515 #, c-format msgid "could not save history to file \"%s\": %m" msgstr "history를 \"%s\" 파일로 저장할 수 없음: %m" -#: input.c:528 +#: input.c:534 #, c-format msgid "history is not supported by this installation" msgstr "히스토리 기능은 이 설치본에서는 지원하지 않음" @@ -4135,25 +4110,17 @@ msgstr "%s: 현재 트랜잭션 중지됨" msgid "%s: unknown transaction status" msgstr "%s: 알 수 없는 트랜잭션 상태" -#: large_obj.c:288 large_obj.c:299 -msgid "ID" -msgstr "ID" - -#: large_obj.c:309 -msgid "Large objects" -msgstr "대형 객체들" - -#: mainloop.c:136 +#: mainloop.c:133 #, c-format msgid "\\if: escaped" msgstr "\\if: escaped" -#: mainloop.c:195 +#: mainloop.c:192 #, c-format msgid "Use \"\\q\" to leave %s.\n" msgstr "마치려면 \"\\q\"를 입력하세요: %s\n" -#: mainloop.c:217 +#: mainloop.c:214 msgid "" "The input is a PostgreSQL custom-format dump.\n" "Use the pg_restore command-line client to restore this dump to a database.\n" @@ -4162,19 +4129,19 @@ msgstr "" "이 덤프 내용을 데이터베이스에 반영하려면,\n" "pg_restore 명령행 클라이언트를 사용하세요.\n" -#: mainloop.c:298 +#: mainloop.c:295 msgid "Use \\? for help or press control-C to clear the input buffer." msgstr "\\? 도움말, Ctrl-C 입력 버퍼 비우기" -#: mainloop.c:300 +#: mainloop.c:297 msgid "Use \\? for help." msgstr "도움말을 보려면 \\?를 입력하십시오." -#: mainloop.c:304 +#: mainloop.c:301 msgid "You are using psql, the command-line interface to PostgreSQL." msgstr "PostgreSQL에 대한 명령행 인터페이스인 psql을 사용하고 있습니다." -#: mainloop.c:305 +#: mainloop.c:302 #, c-format msgid "" "Type: \\copyright for distribution terms\n" @@ -4189,2298 +4156,2479 @@ msgstr "" " \\g 또는 명령 끝에 세미콜론(;) 쿼리 실행\n" " \\q 마침\n" -#: mainloop.c:329 +#: mainloop.c:326 msgid "Use \\q to quit." msgstr "\\q 마침" -#: mainloop.c:332 mainloop.c:356 +#: mainloop.c:329 mainloop.c:353 msgid "Use control-D to quit." msgstr "마침은 Ctrl-D" -#: mainloop.c:334 mainloop.c:358 +#: mainloop.c:331 mainloop.c:355 msgid "Use control-C to quit." msgstr "마침은 Ctrl-C" -#: mainloop.c:465 mainloop.c:613 +#: mainloop.c:459 mainloop.c:618 #, c-format msgid "query ignored; use \\endif or Ctrl-C to exit current \\if block" msgstr "" "쿼리 무시됨; 현재 \\if 블록을 끝내려면 \\endif 또는 Ctrl-C 키를 사용하세요." -#: mainloop.c:631 +#: mainloop.c:636 #, c-format msgid "reached EOF without finding closing \\endif(s)" msgstr "\\endif 없이 EOF 도달" -#: psqlscanslash.l:638 +#: psqlscanslash.l:640 #, c-format msgid "unterminated quoted string" msgstr "마무리 안된 따옴표 안의 문자열" -#: psqlscanslash.l:811 +#: psqlscanslash.l:825 #, c-format msgid "%s: out of memory" msgstr "%s: 메모리 부족" #: sql_help.c:35 sql_help.c:38 sql_help.c:41 sql_help.c:65 sql_help.c:66 #: sql_help.c:68 sql_help.c:70 sql_help.c:81 sql_help.c:83 sql_help.c:85 -#: sql_help.c:111 sql_help.c:117 sql_help.c:119 sql_help.c:121 sql_help.c:123 -#: sql_help.c:126 sql_help.c:128 sql_help.c:130 sql_help.c:235 sql_help.c:237 -#: sql_help.c:238 sql_help.c:240 sql_help.c:242 sql_help.c:245 sql_help.c:247 -#: sql_help.c:249 sql_help.c:251 sql_help.c:263 sql_help.c:264 sql_help.c:265 -#: sql_help.c:267 sql_help.c:316 sql_help.c:318 sql_help.c:320 sql_help.c:322 -#: sql_help.c:391 sql_help.c:396 sql_help.c:398 sql_help.c:440 sql_help.c:442 -#: sql_help.c:445 sql_help.c:447 sql_help.c:515 sql_help.c:520 sql_help.c:525 -#: sql_help.c:530 sql_help.c:535 sql_help.c:588 sql_help.c:590 sql_help.c:592 -#: sql_help.c:594 sql_help.c:596 sql_help.c:599 sql_help.c:601 sql_help.c:604 -#: sql_help.c:615 sql_help.c:617 sql_help.c:658 sql_help.c:660 sql_help.c:662 -#: sql_help.c:665 sql_help.c:667 sql_help.c:669 sql_help.c:702 sql_help.c:706 -#: sql_help.c:710 sql_help.c:729 sql_help.c:732 sql_help.c:735 sql_help.c:764 -#: sql_help.c:776 sql_help.c:784 sql_help.c:787 sql_help.c:790 sql_help.c:805 -#: sql_help.c:808 sql_help.c:837 sql_help.c:842 sql_help.c:847 sql_help.c:852 -#: sql_help.c:857 sql_help.c:879 sql_help.c:881 sql_help.c:883 sql_help.c:885 -#: sql_help.c:888 sql_help.c:890 sql_help.c:931 sql_help.c:975 sql_help.c:980 -#: sql_help.c:985 sql_help.c:990 sql_help.c:995 sql_help.c:1014 sql_help.c:1025 -#: sql_help.c:1027 sql_help.c:1046 sql_help.c:1056 sql_help.c:1058 -#: sql_help.c:1060 sql_help.c:1072 sql_help.c:1076 sql_help.c:1078 -#: sql_help.c:1090 sql_help.c:1092 sql_help.c:1094 sql_help.c:1096 -#: sql_help.c:1112 sql_help.c:1114 sql_help.c:1118 sql_help.c:1121 -#: sql_help.c:1122 sql_help.c:1123 sql_help.c:1126 sql_help.c:1128 -#: sql_help.c:1262 sql_help.c:1264 sql_help.c:1267 sql_help.c:1270 -#: sql_help.c:1272 sql_help.c:1274 sql_help.c:1277 sql_help.c:1280 -#: sql_help.c:1391 sql_help.c:1393 sql_help.c:1395 sql_help.c:1398 -#: sql_help.c:1419 sql_help.c:1422 sql_help.c:1425 sql_help.c:1428 -#: sql_help.c:1432 sql_help.c:1434 sql_help.c:1436 sql_help.c:1438 -#: sql_help.c:1452 sql_help.c:1455 sql_help.c:1457 sql_help.c:1459 -#: sql_help.c:1469 sql_help.c:1471 sql_help.c:1481 sql_help.c:1483 -#: sql_help.c:1493 sql_help.c:1496 sql_help.c:1519 sql_help.c:1521 -#: sql_help.c:1523 sql_help.c:1525 sql_help.c:1528 sql_help.c:1530 -#: sql_help.c:1533 sql_help.c:1536 sql_help.c:1586 sql_help.c:1629 -#: sql_help.c:1632 sql_help.c:1634 sql_help.c:1636 sql_help.c:1639 -#: sql_help.c:1641 sql_help.c:1643 sql_help.c:1646 sql_help.c:1696 -#: sql_help.c:1712 sql_help.c:1933 sql_help.c:2002 sql_help.c:2021 -#: sql_help.c:2034 sql_help.c:2091 sql_help.c:2098 sql_help.c:2108 -#: sql_help.c:2129 sql_help.c:2155 sql_help.c:2173 sql_help.c:2200 -#: sql_help.c:2295 sql_help.c:2340 sql_help.c:2364 sql_help.c:2387 -#: sql_help.c:2391 sql_help.c:2425 sql_help.c:2445 sql_help.c:2467 -#: sql_help.c:2481 sql_help.c:2501 sql_help.c:2524 sql_help.c:2554 -#: sql_help.c:2579 sql_help.c:2625 sql_help.c:2903 sql_help.c:2916 -#: sql_help.c:2933 sql_help.c:2949 sql_help.c:2989 sql_help.c:3041 -#: sql_help.c:3045 sql_help.c:3047 sql_help.c:3053 sql_help.c:3071 -#: sql_help.c:3098 sql_help.c:3133 sql_help.c:3145 sql_help.c:3154 -#: sql_help.c:3198 sql_help.c:3212 sql_help.c:3240 sql_help.c:3248 -#: sql_help.c:3260 sql_help.c:3270 sql_help.c:3278 sql_help.c:3286 -#: sql_help.c:3294 sql_help.c:3302 sql_help.c:3311 sql_help.c:3322 -#: sql_help.c:3330 sql_help.c:3338 sql_help.c:3346 sql_help.c:3354 -#: sql_help.c:3364 sql_help.c:3373 sql_help.c:3382 sql_help.c:3390 -#: sql_help.c:3400 sql_help.c:3411 sql_help.c:3419 sql_help.c:3428 -#: sql_help.c:3439 sql_help.c:3448 sql_help.c:3456 sql_help.c:3464 -#: sql_help.c:3472 sql_help.c:3480 sql_help.c:3488 sql_help.c:3496 -#: sql_help.c:3504 sql_help.c:3512 sql_help.c:3520 sql_help.c:3528 -#: sql_help.c:3545 sql_help.c:3554 sql_help.c:3562 sql_help.c:3579 -#: sql_help.c:3594 sql_help.c:3869 sql_help.c:3920 sql_help.c:3949 -#: sql_help.c:3962 sql_help.c:4407 sql_help.c:4455 sql_help.c:4596 +#: 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 msgid "name" msgstr "이름" -#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:327 sql_help.c:1783 -#: sql_help.c:3213 sql_help.c:4193 +#: 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 msgid "aggregate_signature" msgstr "집계함수_식별구문" -#: sql_help.c:37 sql_help.c:67 sql_help.c:82 sql_help.c:118 sql_help.c:250 -#: sql_help.c:268 sql_help.c:399 sql_help.c:446 sql_help.c:524 sql_help.c:571 -#: sql_help.c:589 sql_help.c:616 sql_help.c:666 sql_help.c:731 sql_help.c:786 -#: sql_help.c:807 sql_help.c:846 sql_help.c:891 sql_help.c:932 sql_help.c:984 -#: sql_help.c:1016 sql_help.c:1026 sql_help.c:1059 sql_help.c:1079 -#: sql_help.c:1093 sql_help.c:1129 sql_help.c:1271 sql_help.c:1392 -#: sql_help.c:1435 sql_help.c:1456 sql_help.c:1470 sql_help.c:1482 -#: sql_help.c:1495 sql_help.c:1522 sql_help.c:1587 sql_help.c:1640 +#: 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 msgid "new_name" msgstr "새이름" -#: sql_help.c:40 sql_help.c:69 sql_help.c:84 sql_help.c:120 sql_help.c:248 -#: sql_help.c:266 sql_help.c:397 sql_help.c:482 sql_help.c:529 sql_help.c:618 -#: sql_help.c:627 sql_help.c:685 sql_help.c:705 sql_help.c:734 sql_help.c:789 -#: sql_help.c:851 sql_help.c:889 sql_help.c:989 sql_help.c:1028 sql_help.c:1057 -#: sql_help.c:1077 sql_help.c:1091 sql_help.c:1127 sql_help.c:1332 -#: sql_help.c:1394 sql_help.c:1437 sql_help.c:1458 sql_help.c:1520 -#: sql_help.c:1635 sql_help.c:2889 +#: 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 msgid "new_owner" msgstr "새사용자" -#: sql_help.c:43 sql_help.c:71 sql_help.c:86 sql_help.c:252 sql_help.c:319 -#: sql_help.c:448 sql_help.c:534 sql_help.c:668 sql_help.c:709 sql_help.c:737 -#: sql_help.c:792 sql_help.c:856 sql_help.c:994 sql_help.c:1061 sql_help.c:1095 -#: sql_help.c:1273 sql_help.c:1439 sql_help.c:1460 sql_help.c:1472 -#: sql_help.c:1484 sql_help.c:1524 sql_help.c:1642 +#: 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 msgid "new_schema" msgstr "새스키마" -#: sql_help.c:44 sql_help.c:1847 sql_help.c:3214 sql_help.c:4222 +#: sql_help.c:44 sql_help.c:1912 sql_help.c:3348 sql_help.c:4497 msgid "where aggregate_signature is:" msgstr "집계함수_식별구문 사용법:" -#: sql_help.c:45 sql_help.c:48 sql_help.c:51 sql_help.c:337 sql_help.c:350 -#: sql_help.c:354 sql_help.c:370 sql_help.c:373 sql_help.c:376 sql_help.c:516 -#: sql_help.c:521 sql_help.c:526 sql_help.c:531 sql_help.c:536 sql_help.c:838 -#: sql_help.c:843 sql_help.c:848 sql_help.c:853 sql_help.c:858 sql_help.c:976 -#: sql_help.c:981 sql_help.c:986 sql_help.c:991 sql_help.c:996 sql_help.c:1801 -#: sql_help.c:1818 sql_help.c:1824 sql_help.c:1848 sql_help.c:1851 -#: sql_help.c:1854 sql_help.c:2003 sql_help.c:2022 sql_help.c:2025 -#: sql_help.c:2296 sql_help.c:2502 sql_help.c:3215 sql_help.c:3218 -#: sql_help.c:3221 sql_help.c:3312 sql_help.c:3401 sql_help.c:3429 -#: sql_help.c:3753 sql_help.c:4101 sql_help.c:4199 sql_help.c:4206 -#: sql_help.c:4212 sql_help.c:4223 sql_help.c:4226 sql_help.c:4229 +#: 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 msgid "argmode" msgstr "인자모드" -#: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:338 sql_help.c:351 -#: sql_help.c:355 sql_help.c:371 sql_help.c:374 sql_help.c:377 sql_help.c:517 -#: sql_help.c:522 sql_help.c:527 sql_help.c:532 sql_help.c:537 sql_help.c:839 -#: sql_help.c:844 sql_help.c:849 sql_help.c:854 sql_help.c:859 sql_help.c:977 -#: sql_help.c:982 sql_help.c:987 sql_help.c:992 sql_help.c:997 sql_help.c:1802 -#: sql_help.c:1819 sql_help.c:1825 sql_help.c:1849 sql_help.c:1852 -#: sql_help.c:1855 sql_help.c:2004 sql_help.c:2023 sql_help.c:2026 -#: sql_help.c:2297 sql_help.c:2503 sql_help.c:3216 sql_help.c:3219 -#: sql_help.c:3222 sql_help.c:3313 sql_help.c:3402 sql_help.c:3430 -#: sql_help.c:4200 sql_help.c:4207 sql_help.c:4213 sql_help.c:4224 -#: sql_help.c:4227 sql_help.c:4230 +#: 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 msgid "argname" msgstr "인자이름" -#: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:339 sql_help.c:352 -#: sql_help.c:356 sql_help.c:372 sql_help.c:375 sql_help.c:378 sql_help.c:518 -#: sql_help.c:523 sql_help.c:528 sql_help.c:533 sql_help.c:538 sql_help.c:840 -#: sql_help.c:845 sql_help.c:850 sql_help.c:855 sql_help.c:860 sql_help.c:978 -#: sql_help.c:983 sql_help.c:988 sql_help.c:993 sql_help.c:998 sql_help.c:1803 -#: sql_help.c:1820 sql_help.c:1826 sql_help.c:1850 sql_help.c:1853 -#: sql_help.c:1856 sql_help.c:2298 sql_help.c:2504 sql_help.c:3217 -#: sql_help.c:3220 sql_help.c:3223 sql_help.c:3314 sql_help.c:3403 -#: sql_help.c:3431 sql_help.c:4201 sql_help.c:4208 sql_help.c:4214 -#: sql_help.c:4225 sql_help.c:4228 sql_help.c:4231 +#: 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 msgid "argtype" msgstr "인자자료형" -#: sql_help.c:112 sql_help.c:394 sql_help.c:471 sql_help.c:483 sql_help.c:926 -#: sql_help.c:1074 sql_help.c:1453 sql_help.c:1581 sql_help.c:1613 -#: sql_help.c:1665 sql_help.c:1904 sql_help.c:1911 sql_help.c:2203 -#: sql_help.c:2245 sql_help.c:2252 sql_help.c:2261 sql_help.c:2341 -#: sql_help.c:2555 sql_help.c:2647 sql_help.c:2918 sql_help.c:3099 -#: sql_help.c:3121 sql_help.c:3261 sql_help.c:3616 sql_help.c:3788 -#: sql_help.c:3961 sql_help.c:4658 +#: 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 msgid "option" msgstr "옵션" -#: sql_help.c:113 sql_help.c:927 sql_help.c:1582 sql_help.c:2342 -#: sql_help.c:2556 sql_help.c:3100 sql_help.c:3262 +#: 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 msgid "where option can be:" msgstr "옵션 사용법:" -#: sql_help.c:114 sql_help.c:2137 +#: sql_help.c:116 sql_help.c:2217 msgid "allowconn" msgstr "접속허용" -#: sql_help.c:115 sql_help.c:928 sql_help.c:1583 sql_help.c:2138 -#: sql_help.c:2343 sql_help.c:2557 sql_help.c:3101 +#: 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 msgid "connlimit" msgstr "접속제한" -#: sql_help.c:116 sql_help.c:2139 +#: sql_help.c:118 sql_help.c:2219 msgid "istemplate" msgstr "템플릿?" -#: sql_help.c:122 sql_help.c:606 sql_help.c:671 sql_help.c:1276 sql_help.c:1325 +#: 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 msgid "new_tablespace" msgstr "새테이블스페이스" -#: sql_help.c:124 sql_help.c:127 sql_help.c:129 sql_help.c:544 sql_help.c:546 -#: sql_help.c:547 sql_help.c:863 sql_help.c:865 sql_help.c:866 sql_help.c:935 -#: sql_help.c:939 sql_help.c:942 sql_help.c:1003 sql_help.c:1005 -#: sql_help.c:1006 sql_help.c:1140 sql_help.c:1143 sql_help.c:1590 -#: sql_help.c:1594 sql_help.c:1597 sql_help.c:2308 sql_help.c:2508 -#: sql_help.c:3980 sql_help.c:4396 +#: 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 msgid "configuration_parameter" msgstr "환경설정_매개변수" -#: sql_help.c:125 sql_help.c:395 sql_help.c:466 sql_help.c:472 sql_help.c:484 -#: sql_help.c:545 sql_help.c:598 sql_help.c:677 sql_help.c:683 sql_help.c:864 -#: sql_help.c:887 sql_help.c:936 sql_help.c:1004 sql_help.c:1075 -#: sql_help.c:1117 sql_help.c:1120 sql_help.c:1125 sql_help.c:1141 -#: sql_help.c:1142 sql_help.c:1307 sql_help.c:1327 sql_help.c:1375 -#: sql_help.c:1397 sql_help.c:1454 sql_help.c:1538 sql_help.c:1591 -#: sql_help.c:1614 sql_help.c:2204 sql_help.c:2246 sql_help.c:2253 -#: sql_help.c:2262 sql_help.c:2309 sql_help.c:2310 sql_help.c:2372 -#: sql_help.c:2375 sql_help.c:2409 sql_help.c:2509 sql_help.c:2510 -#: sql_help.c:2527 sql_help.c:2648 sql_help.c:2678 sql_help.c:2783 -#: sql_help.c:2796 sql_help.c:2810 sql_help.c:2851 sql_help.c:2875 -#: sql_help.c:2892 sql_help.c:2919 sql_help.c:3122 sql_help.c:3789 -#: sql_help.c:4397 sql_help.c:4398 +#: 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 msgid "value" msgstr "값" -#: sql_help.c:197 +#: sql_help.c:200 msgid "target_role" msgstr "대상롤" -#: sql_help.c:198 sql_help.c:2188 sql_help.c:2603 sql_help.c:2608 -#: sql_help.c:3735 sql_help.c:3742 sql_help.c:3756 sql_help.c:3762 -#: sql_help.c:4083 sql_help.c:4090 sql_help.c:4104 sql_help.c:4110 +#: 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 msgid "schema_name" msgstr "스키마이름" -#: sql_help.c:199 +#: sql_help.c:202 msgid "abbreviated_grant_or_revoke" msgstr "grant_또는_revoke_내용" -#: sql_help.c:200 +#: sql_help.c:203 msgid "where abbreviated_grant_or_revoke is one of:" msgstr "grant_또는_revoke_내용에 사용되는 구문:" -#: sql_help.c:201 sql_help.c:202 sql_help.c:203 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:569 sql_help.c:605 sql_help.c:670 sql_help.c:810 sql_help.c:946 -#: sql_help.c:1275 sql_help.c:1601 sql_help.c:2346 sql_help.c:2347 -#: sql_help.c:2348 sql_help.c:2349 sql_help.c:2350 sql_help.c:2483 -#: sql_help.c:2560 sql_help.c:2561 sql_help.c:2562 sql_help.c:2563 -#: sql_help.c:2564 sql_help.c:3104 sql_help.c:3105 sql_help.c:3106 -#: sql_help.c:3107 sql_help.c:3108 sql_help.c:3768 sql_help.c:3772 -#: sql_help.c:4116 sql_help.c:4120 sql_help.c:4417 +#: 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 msgid "role_name" msgstr "롤이름" -#: sql_help.c:236 sql_help.c:459 sql_help.c:1291 sql_help.c:1293 -#: sql_help.c:1342 sql_help.c:1354 sql_help.c:1379 sql_help.c:1631 -#: sql_help.c:2158 sql_help.c:2162 sql_help.c:2265 sql_help.c:2270 -#: sql_help.c:2368 sql_help.c:2778 sql_help.c:2791 sql_help.c:2805 -#: sql_help.c:2814 sql_help.c:2826 sql_help.c:2855 sql_help.c:3820 -#: sql_help.c:3835 sql_help.c:3837 sql_help.c:4282 sql_help.c:4283 -#: sql_help.c:4292 sql_help.c:4333 sql_help.c:4334 sql_help.c:4335 -#: sql_help.c:4336 sql_help.c:4337 sql_help.c:4338 sql_help.c:4371 -#: sql_help.c:4372 sql_help.c:4377 sql_help.c:4382 sql_help.c:4521 -#: sql_help.c:4522 sql_help.c:4531 sql_help.c:4572 sql_help.c:4573 -#: sql_help.c:4574 sql_help.c:4575 sql_help.c:4576 sql_help.c:4577 -#: sql_help.c:4624 sql_help.c:4626 sql_help.c:4685 sql_help.c:4741 -#: sql_help.c:4742 sql_help.c:4751 sql_help.c:4792 sql_help.c:4793 -#: sql_help.c:4794 sql_help.c:4795 sql_help.c:4796 sql_help.c:4797 +#: 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 msgid "expression" msgstr "표현식" -#: sql_help.c:239 +#: sql_help.c:242 msgid "domain_constraint" msgstr "도메인_제약조건" -#: sql_help.c:241 sql_help.c:243 sql_help.c:246 sql_help.c:474 sql_help.c:475 -#: sql_help.c:1268 sql_help.c:1313 sql_help.c:1314 sql_help.c:1315 -#: sql_help.c:1341 sql_help.c:1353 sql_help.c:1370 sql_help.c:1789 -#: sql_help.c:1791 sql_help.c:2161 sql_help.c:2264 sql_help.c:2269 -#: sql_help.c:2813 sql_help.c:2825 sql_help.c:3832 +#: 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 msgid "constraint_name" msgstr "제약조건_이름" -#: sql_help.c:244 sql_help.c:1269 +#: sql_help.c:247 sql_help.c:1315 msgid "new_constraint_name" msgstr "새제약조건_이름" -#: sql_help.c:317 sql_help.c:1073 +#: sql_help.c:320 sql_help.c:1099 msgid "new_version" msgstr "새버전" -#: sql_help.c:321 sql_help.c:323 +#: sql_help.c:324 sql_help.c:326 msgid "member_object" msgstr "맴버_객체" -#: sql_help.c:324 +#: sql_help.c:327 msgid "where member_object is:" msgstr "맴버_객체 사용법:" -#: sql_help.c:325 sql_help.c:330 sql_help.c:331 sql_help.c:332 sql_help.c:333 -#: sql_help.c:334 sql_help.c:335 sql_help.c:340 sql_help.c:344 sql_help.c:346 -#: sql_help.c:348 sql_help.c:357 sql_help.c:358 sql_help.c:359 sql_help.c:360 -#: sql_help.c:361 sql_help.c:362 sql_help.c:363 sql_help.c:364 sql_help.c:367 -#: sql_help.c:368 sql_help.c:1781 sql_help.c:1786 sql_help.c:1793 -#: sql_help.c:1794 sql_help.c:1795 sql_help.c:1796 sql_help.c:1797 -#: sql_help.c:1798 sql_help.c:1799 sql_help.c:1804 sql_help.c:1806 -#: sql_help.c:1810 sql_help.c:1812 sql_help.c:1816 sql_help.c:1821 -#: sql_help.c:1822 sql_help.c:1829 sql_help.c:1830 sql_help.c:1831 -#: sql_help.c:1832 sql_help.c:1833 sql_help.c:1834 sql_help.c:1835 -#: sql_help.c:1836 sql_help.c:1837 sql_help.c:1838 sql_help.c:1839 -#: sql_help.c:1844 sql_help.c:1845 sql_help.c:4189 sql_help.c:4194 -#: sql_help.c:4195 sql_help.c:4196 sql_help.c:4197 sql_help.c:4203 -#: sql_help.c:4204 sql_help.c:4209 sql_help.c:4210 sql_help.c:4215 -#: sql_help.c:4216 sql_help.c:4217 sql_help.c:4218 sql_help.c:4219 -#: sql_help.c:4220 +#: sql_help.c:328 sql_help.c:333 sql_help.c:334 sql_help.c:335 sql_help.c:336 +#: sql_help.c:337 sql_help.c:338 sql_help.c:343 sql_help.c:347 sql_help.c:349 +#: sql_help.c:351 sql_help.c:360 sql_help.c:361 sql_help.c:362 sql_help.c:363 +#: sql_help.c:364 sql_help.c:365 sql_help.c:366 sql_help.c:367 sql_help.c:370 +#: sql_help.c:371 sql_help.c:1846 sql_help.c:1851 sql_help.c:1858 +#: sql_help.c:1859 sql_help.c:1860 sql_help.c:1861 sql_help.c:1862 +#: sql_help.c:1863 sql_help.c:1864 sql_help.c:1869 sql_help.c:1871 +#: sql_help.c:1875 sql_help.c:1877 sql_help.c:1881 sql_help.c:1886 +#: sql_help.c:1887 sql_help.c:1894 sql_help.c:1895 sql_help.c:1896 +#: sql_help.c:1897 sql_help.c:1898 sql_help.c:1899 sql_help.c:1900 +#: sql_help.c:1901 sql_help.c:1902 sql_help.c:1903 sql_help.c:1904 +#: sql_help.c:1909 sql_help.c:1910 sql_help.c:4464 sql_help.c:4469 +#: sql_help.c:4470 sql_help.c:4471 sql_help.c:4472 sql_help.c:4478 +#: sql_help.c:4479 sql_help.c:4484 sql_help.c:4485 sql_help.c:4490 +#: sql_help.c:4491 sql_help.c:4492 sql_help.c:4493 sql_help.c:4494 +#: sql_help.c:4495 msgid "object_name" msgstr "객체이름" -#: sql_help.c:326 sql_help.c:1782 sql_help.c:4192 +#: sql_help.c:329 sql_help.c:1847 sql_help.c:4467 msgid "aggregate_name" msgstr "집계함수이름" -#: sql_help.c:328 sql_help.c:1784 sql_help.c:2068 sql_help.c:2072 -#: sql_help.c:2074 sql_help.c:3231 +#: sql_help.c:331 sql_help.c:1849 sql_help.c:2135 sql_help.c:2139 +#: sql_help.c:2141 sql_help.c:3365 msgid "source_type" msgstr "기존자료형" -#: sql_help.c:329 sql_help.c:1785 sql_help.c:2069 sql_help.c:2073 -#: sql_help.c:2075 sql_help.c:3232 +#: sql_help.c:332 sql_help.c:1850 sql_help.c:2136 sql_help.c:2140 +#: sql_help.c:2142 sql_help.c:3366 msgid "target_type" msgstr "대상자료형" -#: sql_help.c:336 sql_help.c:774 sql_help.c:1800 sql_help.c:2070 -#: sql_help.c:2111 sql_help.c:2176 sql_help.c:2426 sql_help.c:2457 -#: sql_help.c:2995 sql_help.c:4100 sql_help.c:4198 sql_help.c:4311 -#: sql_help.c:4315 sql_help.c:4319 sql_help.c:4322 sql_help.c:4550 -#: sql_help.c:4554 sql_help.c:4558 sql_help.c:4561 sql_help.c:4770 -#: sql_help.c:4774 sql_help.c:4778 sql_help.c:4781 +#: 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 msgid "function_name" msgstr "함수이름" -#: sql_help.c:341 sql_help.c:767 sql_help.c:1807 sql_help.c:2450 +#: sql_help.c:344 sql_help.c:779 sql_help.c:1872 sql_help.c:2550 msgid "operator_name" msgstr "연산자이름" -#: sql_help.c:342 sql_help.c:703 sql_help.c:707 sql_help.c:711 sql_help.c:1808 -#: sql_help.c:2427 sql_help.c:3355 +#: 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 msgid "left_type" msgstr "왼쪽인자_자료형" -#: sql_help.c:343 sql_help.c:704 sql_help.c:708 sql_help.c:712 sql_help.c:1809 -#: sql_help.c:2428 sql_help.c:3356 +#: 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 msgid "right_type" msgstr "오른쪽인자_자료형" -#: sql_help.c:345 sql_help.c:347 sql_help.c:730 sql_help.c:733 sql_help.c:736 -#: sql_help.c:765 sql_help.c:777 sql_help.c:785 sql_help.c:788 sql_help.c:791 -#: sql_help.c:1359 sql_help.c:1811 sql_help.c:1813 sql_help.c:2447 -#: sql_help.c:2468 sql_help.c:2831 sql_help.c:3365 sql_help.c:3374 +#: 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 msgid "index_method" msgstr "색인방법" -#: sql_help.c:349 sql_help.c:1817 sql_help.c:4205 +#: sql_help.c:352 sql_help.c:1882 sql_help.c:4480 msgid "procedure_name" msgstr "프로시져_이름" -#: sql_help.c:353 sql_help.c:1823 sql_help.c:3752 sql_help.c:4211 +#: sql_help.c:356 sql_help.c:1888 sql_help.c:3914 sql_help.c:4486 msgid "routine_name" msgstr "루틴_이름" -#: sql_help.c:365 sql_help.c:1331 sql_help.c:1840 sql_help.c:2304 -#: sql_help.c:2507 sql_help.c:2786 sql_help.c:2962 sql_help.c:3536 -#: sql_help.c:3766 sql_help.c:4114 +#: 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 msgid "type_name" msgstr "자료형이름" -#: sql_help.c:366 sql_help.c:1841 sql_help.c:2303 sql_help.c:2506 -#: sql_help.c:2963 sql_help.c:3189 sql_help.c:3537 sql_help.c:3758 -#: sql_help.c:4106 +#: 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 msgid "lang_name" msgstr "언어_이름" -#: sql_help.c:369 +#: sql_help.c:372 msgid "and aggregate_signature is:" msgstr "집계함수_식별구문 사용법:" -#: sql_help.c:392 sql_help.c:1935 sql_help.c:2201 +#: sql_help.c:395 sql_help.c:2002 sql_help.c:2283 msgid "handler_function" msgstr "핸들러_함수" -#: sql_help.c:393 sql_help.c:2202 +#: sql_help.c:396 sql_help.c:2284 msgid "validator_function" msgstr "유효성검사_함수" -#: sql_help.c:441 sql_help.c:519 sql_help.c:659 sql_help.c:841 sql_help.c:979 -#: sql_help.c:1263 sql_help.c:1529 +#: 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 msgid "action" msgstr "동작" -#: sql_help.c:443 sql_help.c:450 sql_help.c:454 sql_help.c:455 sql_help.c:458 -#: sql_help.c:460 sql_help.c:461 sql_help.c:462 sql_help.c:464 sql_help.c:467 -#: sql_help.c:469 sql_help.c:470 sql_help.c:663 sql_help.c:673 sql_help.c:675 -#: sql_help.c:678 sql_help.c:680 sql_help.c:1055 sql_help.c:1265 -#: sql_help.c:1283 sql_help.c:1287 sql_help.c:1288 sql_help.c:1292 -#: sql_help.c:1294 sql_help.c:1295 sql_help.c:1296 sql_help.c:1297 -#: sql_help.c:1299 sql_help.c:1302 sql_help.c:1303 sql_help.c:1305 -#: sql_help.c:1308 sql_help.c:1310 sql_help.c:1355 sql_help.c:1357 -#: sql_help.c:1364 sql_help.c:1373 sql_help.c:1378 sql_help.c:1630 -#: sql_help.c:1633 sql_help.c:1637 sql_help.c:1673 sql_help.c:1788 -#: sql_help.c:1901 sql_help.c:1907 sql_help.c:1920 sql_help.c:1921 -#: sql_help.c:1922 sql_help.c:2243 sql_help.c:2256 sql_help.c:2301 -#: sql_help.c:2367 sql_help.c:2373 sql_help.c:2406 sql_help.c:2633 -#: sql_help.c:2661 sql_help.c:2662 sql_help.c:2769 sql_help.c:2777 -#: sql_help.c:2787 sql_help.c:2790 sql_help.c:2800 sql_help.c:2804 -#: sql_help.c:2827 sql_help.c:2829 sql_help.c:2836 sql_help.c:2849 -#: sql_help.c:2854 sql_help.c:2872 sql_help.c:2998 sql_help.c:3134 -#: sql_help.c:3737 sql_help.c:3738 sql_help.c:3819 sql_help.c:3834 -#: sql_help.c:3836 sql_help.c:3838 sql_help.c:4085 sql_help.c:4086 -#: sql_help.c:4191 sql_help.c:4342 sql_help.c:4581 sql_help.c:4623 -#: sql_help.c:4625 sql_help.c:4627 sql_help.c:4673 sql_help.c:4801 +#: 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 msgid "column_name" msgstr "칼럼이름" -#: sql_help.c:444 sql_help.c:664 sql_help.c:1266 sql_help.c:1638 +#: sql_help.c:447 sql_help.c:672 sql_help.c:1312 sql_help.c:1691 msgid "new_column_name" msgstr "새칼럼이름" -#: sql_help.c:449 sql_help.c:540 sql_help.c:672 sql_help.c:862 sql_help.c:1000 -#: sql_help.c:1282 sql_help.c:1539 +#: 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 msgid "where action is one of:" msgstr "동작 사용법:" -#: sql_help.c:451 sql_help.c:456 sql_help.c:1047 sql_help.c:1284 -#: sql_help.c:1289 sql_help.c:1541 sql_help.c:1545 sql_help.c:2156 -#: sql_help.c:2244 sql_help.c:2446 sql_help.c:2626 sql_help.c:2770 -#: sql_help.c:3043 sql_help.c:3921 +#: 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 msgid "data_type" msgstr "자료형" -#: sql_help.c:452 sql_help.c:457 sql_help.c:1285 sql_help.c:1290 -#: sql_help.c:1542 sql_help.c:1546 sql_help.c:2157 sql_help.c:2247 -#: sql_help.c:2369 sql_help.c:2771 sql_help.c:2779 sql_help.c:2792 -#: sql_help.c:2806 sql_help.c:3044 sql_help.c:3050 sql_help.c:3829 +#: 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 msgid "collation" msgstr "collation" -#: sql_help.c:453 sql_help.c:1286 sql_help.c:2248 sql_help.c:2257 -#: sql_help.c:2772 sql_help.c:2788 sql_help.c:2801 +#: 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 msgid "column_constraint" msgstr "칼럼_제약조건" -#: sql_help.c:463 sql_help.c:603 sql_help.c:674 sql_help.c:1304 sql_help.c:4670 +#: sql_help.c:466 sql_help.c:608 sql_help.c:682 sql_help.c:1350 sql_help.c:4986 msgid "integer" msgstr "정수" -#: sql_help.c:465 sql_help.c:468 sql_help.c:676 sql_help.c:679 sql_help.c:1306 -#: sql_help.c:1309 +#: sql_help.c:468 sql_help.c:471 sql_help.c:684 sql_help.c:687 sql_help.c:1352 +#: sql_help.c:1355 msgid "attribute_option" msgstr "속성_옵션" -#: sql_help.c:473 sql_help.c:1311 sql_help.c:2249 sql_help.c:2258 -#: sql_help.c:2773 sql_help.c:2789 sql_help.c:2802 +#: 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 msgid "table_constraint" msgstr "테이블_제약조건" -#: sql_help.c:476 sql_help.c:477 sql_help.c:478 sql_help.c:479 sql_help.c:1316 -#: sql_help.c:1317 sql_help.c:1318 sql_help.c:1319 sql_help.c:1842 +#: 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 msgid "trigger_name" msgstr "트리거이름" -#: sql_help.c:480 sql_help.c:481 sql_help.c:1329 sql_help.c:1330 -#: sql_help.c:2250 sql_help.c:2255 sql_help.c:2776 sql_help.c:2799 +#: 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 msgid "parent_table" msgstr "상위_테이블" -#: sql_help.c:539 sql_help.c:595 sql_help.c:661 sql_help.c:861 sql_help.c:999 -#: sql_help.c:1498 sql_help.c:2187 +#: 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 msgid "extension_name" msgstr "확장모듈이름" -#: sql_help.c:541 sql_help.c:1001 sql_help.c:2305 +#: sql_help.c:545 sql_help.c:1025 sql_help.c:2403 msgid "execution_cost" msgstr "실행비용" -#: sql_help.c:542 sql_help.c:1002 sql_help.c:2306 +#: sql_help.c:546 sql_help.c:1026 sql_help.c:2404 msgid "result_rows" msgstr "반환자료수" -#: sql_help.c:543 sql_help.c:2307 +#: sql_help.c:547 sql_help.c:2405 msgid "support_function" msgstr "지원_함수" -#: sql_help.c:564 sql_help.c:566 sql_help.c:925 sql_help.c:933 sql_help.c:937 -#: sql_help.c:940 sql_help.c:943 sql_help.c:1580 sql_help.c:1588 -#: sql_help.c:1592 sql_help.c:1595 sql_help.c:1598 sql_help.c:2604 -#: sql_help.c:2606 sql_help.c:2609 sql_help.c:2610 sql_help.c:3736 -#: sql_help.c:3740 sql_help.c:3743 sql_help.c:3745 sql_help.c:3747 -#: sql_help.c:3749 sql_help.c:3751 sql_help.c:3757 sql_help.c:3759 -#: sql_help.c:3761 sql_help.c:3763 sql_help.c:3765 sql_help.c:3767 -#: sql_help.c:3769 sql_help.c:3770 sql_help.c:4084 sql_help.c:4088 -#: sql_help.c:4091 sql_help.c:4093 sql_help.c:4095 sql_help.c:4097 -#: sql_help.c:4099 sql_help.c:4105 sql_help.c:4107 sql_help.c:4109 -#: sql_help.c:4111 sql_help.c:4113 sql_help.c:4115 sql_help.c:4117 -#: sql_help.c:4118 +#: 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 msgid "role_specification" msgstr "롤_명세" -#: sql_help.c:565 sql_help.c:567 sql_help.c:1611 sql_help.c:2130 -#: sql_help.c:2612 sql_help.c:3119 sql_help.c:3570 sql_help.c:4427 +#: 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 msgid "user_name" msgstr "사용자이름" -#: sql_help.c:568 sql_help.c:945 sql_help.c:1600 sql_help.c:2611 -#: sql_help.c:3771 sql_help.c:4119 +#: sql_help.c:573 sql_help.c:968 sql_help.c:1653 sql_help.c:2724 +#: sql_help.c:3942 sql_help.c:4394 msgid "where role_specification can be:" msgstr "롤_명세 사용법:" -#: sql_help.c:570 +#: sql_help.c:575 msgid "group_name" msgstr "그룹이름" -#: sql_help.c:591 sql_help.c:1376 sql_help.c:2136 sql_help.c:2376 -#: sql_help.c:2410 sql_help.c:2784 sql_help.c:2797 sql_help.c:2811 -#: sql_help.c:2852 sql_help.c:2876 sql_help.c:2888 sql_help.c:3764 -#: sql_help.c:4112 +#: 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 msgid "tablespace_name" msgstr "테이블스페이스이름" -#: sql_help.c:593 sql_help.c:681 sql_help.c:1324 sql_help.c:1333 -#: sql_help.c:1371 sql_help.c:1722 +#: 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 msgid "index_name" msgstr "인덱스이름" -#: sql_help.c:597 sql_help.c:600 sql_help.c:682 sql_help.c:684 sql_help.c:1326 -#: sql_help.c:1328 sql_help.c:1374 sql_help.c:2374 sql_help.c:2408 -#: sql_help.c:2782 sql_help.c:2795 sql_help.c:2809 sql_help.c:2850 -#: sql_help.c:2874 +#: 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 msgid "storage_parameter" msgstr "스토리지_매개변수" -#: sql_help.c:602 +#: sql_help.c:607 msgid "column_number" msgstr "칼럼번호" -#: sql_help.c:626 sql_help.c:1805 sql_help.c:4202 +#: sql_help.c:631 sql_help.c:1870 sql_help.c:4477 msgid "large_object_oid" msgstr "대형_객체_oid" -#: sql_help.c:713 sql_help.c:2431 +#: sql_help.c:690 sql_help.c:1358 sql_help.c:2897 +msgid "compression_method" +msgstr "압축_방법" + +#: sql_help.c:692 sql_help.c:1373 +msgid "new_access_method" +msgstr "새_접근_방법" + +#: sql_help.c:725 sql_help.c:2531 msgid "res_proc" -msgstr "" +msgstr "res_proc" -#: sql_help.c:714 sql_help.c:2432 +#: sql_help.c:726 sql_help.c:2532 msgid "join_proc" -msgstr "" +msgstr "join_proc" -#: sql_help.c:766 sql_help.c:778 sql_help.c:2449 +#: sql_help.c:778 sql_help.c:790 sql_help.c:2549 msgid "strategy_number" msgstr "전략_번호" -#: sql_help.c:768 sql_help.c:769 sql_help.c:772 sql_help.c:773 sql_help.c:779 -#: sql_help.c:780 sql_help.c:782 sql_help.c:783 sql_help.c:2451 sql_help.c:2452 -#: sql_help.c:2455 sql_help.c:2456 +#: 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 msgid "op_type" msgstr "연산자자료형" -#: sql_help.c:770 sql_help.c:2453 +#: sql_help.c:782 sql_help.c:2553 msgid "sort_family_name" -msgstr "" +msgstr "정렬_가족_이름" -#: sql_help.c:771 sql_help.c:781 sql_help.c:2454 +#: sql_help.c:783 sql_help.c:793 sql_help.c:2554 msgid "support_number" -msgstr "" +msgstr "지원_번호" -#: sql_help.c:775 sql_help.c:2071 sql_help.c:2458 sql_help.c:2965 -#: sql_help.c:2967 +#: sql_help.c:787 sql_help.c:2138 sql_help.c:2558 sql_help.c:3095 +#: sql_help.c:3097 msgid "argument_type" msgstr "인자자료형" -#: sql_help.c:806 sql_help.c:809 sql_help.c:880 sql_help.c:882 sql_help.c:884 -#: sql_help.c:1015 sql_help.c:1054 sql_help.c:1494 sql_help.c:1497 -#: sql_help.c:1672 sql_help.c:1721 sql_help.c:1790 sql_help.c:1815 -#: sql_help.c:1828 sql_help.c:1843 sql_help.c:1900 sql_help.c:1906 -#: sql_help.c:2242 sql_help.c:2254 sql_help.c:2365 sql_help.c:2405 -#: sql_help.c:2482 sql_help.c:2525 sql_help.c:2581 sql_help.c:2632 -#: sql_help.c:2663 sql_help.c:2768 sql_help.c:2785 sql_help.c:2798 -#: sql_help.c:2871 sql_help.c:2991 sql_help.c:3168 sql_help.c:3391 -#: sql_help.c:3440 sql_help.c:3546 sql_help.c:3734 sql_help.c:3739 -#: sql_help.c:3785 sql_help.c:3817 sql_help.c:4082 sql_help.c:4087 -#: sql_help.c:4190 sql_help.c:4297 sql_help.c:4299 sql_help.c:4348 -#: sql_help.c:4387 sql_help.c:4536 sql_help.c:4538 sql_help.c:4587 -#: sql_help.c:4621 sql_help.c:4672 sql_help.c:4756 sql_help.c:4758 -#: sql_help.c:4807 +#: 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 msgid "table_name" -msgstr "테이블이름" +msgstr "테이블_이름" -#: sql_help.c:811 sql_help.c:2484 +#: sql_help.c:823 sql_help.c:2584 msgid "using_expression" -msgstr "" +msgstr "using_expression" -#: sql_help.c:812 sql_help.c:2485 +#: sql_help.c:824 sql_help.c:2585 msgid "check_expression" msgstr "체크_표현식" -#: sql_help.c:886 sql_help.c:2526 +#: sql_help.c:897 sql_help.c:899 sql_help.c:901 sql_help.c:2632 +msgid "publication_object" +msgstr "발행_객체" + +#: sql_help.c:903 sql_help.c:2633 msgid "publication_parameter" msgstr "발행_매개변수" -#: sql_help.c:929 sql_help.c:1584 sql_help.c:2344 sql_help.c:2558 -#: sql_help.c:3102 +#: sql_help.c:909 sql_help.c:2635 +msgid "where publication_object is one of:" +msgstr "발행_객체 사용법:" + +#: sql_help.c:952 sql_help.c:1637 sql_help.c:2443 sql_help.c:2670 +#: sql_help.c:3236 msgid "password" msgstr "암호" -#: sql_help.c:930 sql_help.c:1585 sql_help.c:2345 sql_help.c:2559 -#: sql_help.c:3103 +#: sql_help.c:953 sql_help.c:1638 sql_help.c:2444 sql_help.c:2671 +#: sql_help.c:3237 msgid "timestamp" -msgstr "" +msgstr "타임스탬프" -#: sql_help.c:934 sql_help.c:938 sql_help.c:941 sql_help.c:944 sql_help.c:1589 -#: sql_help.c:1593 sql_help.c:1596 sql_help.c:1599 sql_help.c:3744 -#: sql_help.c:4092 +#: 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 msgid "database_name" -msgstr "데이터베이스이름" +msgstr "데이터베이스_이름" -#: sql_help.c:1048 sql_help.c:2627 +#: sql_help.c:1073 sql_help.c:2740 msgid "increment" -msgstr "" +msgstr "증가값" -#: sql_help.c:1049 sql_help.c:2628 +#: sql_help.c:1074 sql_help.c:2741 msgid "minvalue" msgstr "최소값" -#: sql_help.c:1050 sql_help.c:2629 +#: sql_help.c:1075 sql_help.c:2742 msgid "maxvalue" msgstr "최대값" -#: sql_help.c:1051 sql_help.c:2630 sql_help.c:4295 sql_help.c:4385 -#: sql_help.c:4534 sql_help.c:4689 sql_help.c:4754 +#: 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 msgid "start" msgstr "시작" -#: sql_help.c:1052 sql_help.c:1301 +#: sql_help.c:1077 sql_help.c:1347 msgid "restart" msgstr "재시작" -#: sql_help.c:1053 sql_help.c:2631 +#: sql_help.c:1078 sql_help.c:2744 msgid "cache" msgstr "캐쉬" -#: sql_help.c:1097 +#: sql_help.c:1123 msgid "new_target" msgstr "새대상" -#: sql_help.c:1113 sql_help.c:2675 +#: sql_help.c:1142 sql_help.c:2797 msgid "conninfo" msgstr "접속정보" -#: sql_help.c:1115 sql_help.c:2676 +#: sql_help.c:1144 sql_help.c:1148 sql_help.c:1152 sql_help.c:2798 msgid "publication_name" msgstr "발행_이름" -#: sql_help.c:1116 -msgid "set_publication_option" -msgstr "발행_옵션_설정" +#: sql_help.c:1145 sql_help.c:1149 sql_help.c:1153 +msgid "publication_option" +msgstr "발행_옵션" -#: sql_help.c:1119 +#: sql_help.c:1156 msgid "refresh_option" msgstr "새로고침_옵션" -#: sql_help.c:1124 sql_help.c:2677 +#: sql_help.c:1161 sql_help.c:2799 msgid "subscription_parameter" msgstr "구독_매개변수" -#: sql_help.c:1278 sql_help.c:1281 +#: sql_help.c:1164 +msgid "skip_option" +msgstr "skip_option" + +#: sql_help.c:1324 sql_help.c:1327 msgid "partition_name" msgstr "파티션_이름" -#: sql_help.c:1279 sql_help.c:2259 sql_help.c:2803 +#: sql_help.c:1325 sql_help.c:2349 sql_help.c:2930 msgid "partition_bound_spec" msgstr "파티션_범위_정의" -#: sql_help.c:1298 sql_help.c:1345 sql_help.c:2817 +#: sql_help.c:1344 sql_help.c:1394 sql_help.c:2944 msgid "sequence_options" msgstr "시퀀스_옵션" -#: sql_help.c:1300 +#: sql_help.c:1346 msgid "sequence_option" msgstr "시퀀스_옵션" -#: sql_help.c:1312 +#: sql_help.c:1360 msgid "table_constraint_using_index" -msgstr "" +msgstr "색인을_사용하는_테이블_제약조건" -#: sql_help.c:1320 sql_help.c:1321 sql_help.c:1322 sql_help.c:1323 +#: sql_help.c:1368 sql_help.c:1369 sql_help.c:1370 sql_help.c:1371 msgid "rewrite_rule_name" -msgstr "" +msgstr "rewrite_룰_이름" -#: sql_help.c:1334 sql_help.c:2842 +#: sql_help.c:1383 sql_help.c:2361 sql_help.c:2969 msgid "and partition_bound_spec is:" -msgstr "" +msgstr "파티션_범위_정의 사용법:" -#: sql_help.c:1335 sql_help.c:1336 sql_help.c:1337 sql_help.c:2843 -#: sql_help.c:2844 sql_help.c:2845 +#: 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 msgid "partition_bound_expr" -msgstr "파티션_범위_정의" +msgstr "파티션_범위_표현식" -#: sql_help.c:1338 sql_help.c:1339 sql_help.c:2846 sql_help.c:2847 +#: sql_help.c:1387 sql_help.c:1388 sql_help.c:2365 sql_help.c:2366 +#: sql_help.c:2973 sql_help.c:2974 msgid "numeric_literal" -msgstr "" +msgstr "숫자" -#: sql_help.c:1340 +#: sql_help.c:1389 msgid "and column_constraint is:" msgstr "칼럼_제약조건 사용법:" -#: sql_help.c:1343 sql_help.c:2266 sql_help.c:2299 sql_help.c:2505 -#: sql_help.c:2815 +#: sql_help.c:1392 sql_help.c:2356 sql_help.c:2397 sql_help.c:2606 +#: sql_help.c:2942 msgid "default_expr" msgstr "초기값_표현식" -#: sql_help.c:1344 sql_help.c:2267 sql_help.c:2816 +#: sql_help.c:1393 sql_help.c:2357 sql_help.c:2943 msgid "generation_expr" -msgstr "" +msgstr "생성_표현식" -#: sql_help.c:1346 sql_help.c:1347 sql_help.c:1356 sql_help.c:1358 -#: sql_help.c:1362 sql_help.c:2818 sql_help.c:2819 sql_help.c:2828 -#: sql_help.c:2830 sql_help.c:2834 +#: 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 msgid "index_parameters" -msgstr "색인매개변수" +msgstr "색인_매개변수" -#: sql_help.c:1348 sql_help.c:1365 sql_help.c:2820 sql_help.c:2837 +#: sql_help.c:1397 sql_help.c:1414 sql_help.c:2947 sql_help.c:2964 msgid "reftable" msgstr "참조테이블" -#: sql_help.c:1349 sql_help.c:1366 sql_help.c:2821 sql_help.c:2838 +#: sql_help.c:1398 sql_help.c:1415 sql_help.c:2948 sql_help.c:2965 msgid "refcolumn" msgstr "참조칼럼" -#: sql_help.c:1350 sql_help.c:1351 sql_help.c:1367 sql_help.c:1368 -#: sql_help.c:2822 sql_help.c:2823 sql_help.c:2839 sql_help.c:2840 +#: 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 msgid "referential_action" msgstr "참조_방식" -#: sql_help.c:1352 sql_help.c:2268 sql_help.c:2824 +#: sql_help.c:1401 sql_help.c:2358 sql_help.c:2951 msgid "and table_constraint is:" msgstr "테이블_제약조건 사용법:" -#: sql_help.c:1360 sql_help.c:2832 +#: sql_help.c:1409 sql_help.c:2959 msgid "exclude_element" -msgstr "" +msgstr "exclude_요소" -#: sql_help.c:1361 sql_help.c:2833 sql_help.c:4293 sql_help.c:4383 -#: sql_help.c:4532 sql_help.c:4687 sql_help.c:4752 +#: 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 msgid "operator" msgstr "연산자" -#: sql_help.c:1363 sql_help.c:2377 sql_help.c:2835 +#: sql_help.c:1412 sql_help.c:2477 sql_help.c:2962 msgid "predicate" msgstr "범위한정구문" -#: sql_help.c:1369 +#: sql_help.c:1418 msgid "and table_constraint_using_index is:" -msgstr "" +msgstr "색인을_사용하는_테이블_제약조건 사용법:" -#: sql_help.c:1372 sql_help.c:2848 +#: sql_help.c:1421 sql_help.c:2975 msgid "index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are:" -msgstr "" +msgstr "UNIQUE, PRIMARY KEY, EXCLUDE 제약조건에서 쓰는 색인_매개변수 사용법:" -#: sql_help.c:1377 sql_help.c:2853 +#: sql_help.c:1426 sql_help.c:2980 msgid "exclude_element in an EXCLUDE constraint is:" -msgstr "" +msgstr "EXCLUDE 제약조건에서 쓰는 exclude_요소 사용법:" -#: sql_help.c:1380 sql_help.c:2370 sql_help.c:2780 sql_help.c:2793 -#: sql_help.c:2807 sql_help.c:2856 sql_help.c:3830 +#: 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 msgid "opclass" msgstr "연산자클래스" -#: sql_help.c:1396 sql_help.c:1399 sql_help.c:2891 +#: sql_help.c:1430 sql_help.c:2984 +msgid "referential_action in a FOREIGN KEY/REFERENCES constraint is:" +msgstr "FOREIGN KEY/REFERENCES 제약조건에서 쓰는 참조_방식 사용법:" + +#: sql_help.c:1448 sql_help.c:1451 sql_help.c:3021 msgid "tablespace_option" msgstr "테이블스페이스_옵션" -#: sql_help.c:1420 sql_help.c:1423 sql_help.c:1429 sql_help.c:1433 +#: sql_help.c:1472 sql_help.c:1475 sql_help.c:1481 sql_help.c:1485 msgid "token_type" msgstr "토큰_종류" -#: sql_help.c:1421 sql_help.c:1424 +#: sql_help.c:1473 sql_help.c:1476 msgid "dictionary_name" msgstr "사전이름" -#: sql_help.c:1426 sql_help.c:1430 +#: sql_help.c:1478 sql_help.c:1482 msgid "old_dictionary" msgstr "옛사전" -#: sql_help.c:1427 sql_help.c:1431 +#: sql_help.c:1479 sql_help.c:1483 msgid "new_dictionary" msgstr "새사전" -#: sql_help.c:1526 sql_help.c:1540 sql_help.c:1543 sql_help.c:1544 -#: sql_help.c:3042 +#: sql_help.c:1578 sql_help.c:1592 sql_help.c:1595 sql_help.c:1596 +#: sql_help.c:3174 msgid "attribute_name" msgstr "속성이름" -#: sql_help.c:1527 +#: sql_help.c:1579 msgid "new_attribute_name" msgstr "새속성이름" -#: sql_help.c:1531 sql_help.c:1535 +#: sql_help.c:1583 sql_help.c:1587 msgid "new_enum_value" -msgstr "" +msgstr "새_enum_값" -#: sql_help.c:1532 +#: sql_help.c:1584 msgid "neighbor_enum_value" -msgstr "" +msgstr "옆_enum_값" -#: sql_help.c:1534 +#: sql_help.c:1586 msgid "existing_enum_value" -msgstr "" +msgstr "기존_enum_값" -#: sql_help.c:1537 +#: sql_help.c:1589 msgid "property" msgstr "속성" -#: sql_help.c:1612 sql_help.c:2251 sql_help.c:2260 sql_help.c:2643 -#: sql_help.c:3120 sql_help.c:3571 sql_help.c:3750 sql_help.c:3786 -#: sql_help.c:4098 +#: 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 msgid "server_name" msgstr "서버이름" -#: sql_help.c:1644 sql_help.c:1647 sql_help.c:3135 +#: sql_help.c:1697 sql_help.c:1700 sql_help.c:3269 msgid "view_option_name" msgstr "뷰_옵션이름" -#: sql_help.c:1645 sql_help.c:3136 +#: sql_help.c:1698 sql_help.c:3270 msgid "view_option_value" -msgstr "" +msgstr "뷰_옵션_값" -#: sql_help.c:1666 sql_help.c:1667 sql_help.c:4659 sql_help.c:4660 +#: sql_help.c:1720 sql_help.c:1721 sql_help.c:4974 sql_help.c:4975 msgid "table_and_columns" msgstr "테이블과_칼럼" -#: sql_help.c:1668 sql_help.c:1912 sql_help.c:3619 sql_help.c:3963 -#: sql_help.c:4661 +#: sql_help.c:1722 sql_help.c:1786 sql_help.c:1978 sql_help.c:3754 +#: sql_help.c:4198 sql_help.c:4976 msgid "where option can be one of:" msgstr "옵션 사용법:" -#: sql_help.c:1669 sql_help.c:1670 sql_help.c:1914 sql_help.c:1917 -#: sql_help.c:2096 sql_help.c:3620 sql_help.c:3621 sql_help.c:3622 -#: sql_help.c:3623 sql_help.c:3624 sql_help.c:3625 sql_help.c:3626 -#: sql_help.c:3627 sql_help.c:4662 sql_help.c:4663 sql_help.c:4664 -#: sql_help.c:4665 sql_help.c:4666 sql_help.c:4667 sql_help.c:4668 -#: sql_help.c:4669 +#: 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 msgid "boolean" -msgstr "" +msgstr "불린" + +#: sql_help.c:1725 sql_help.c:4989 +msgid "size" +msgstr "크기" -#: sql_help.c:1671 sql_help.c:4671 +#: sql_help.c:1726 sql_help.c:4990 msgid "and table_and_columns is:" msgstr "테이블과_칼럼 사용법:" -#: sql_help.c:1687 sql_help.c:4443 sql_help.c:4445 sql_help.c:4469 +#: sql_help.c:1742 sql_help.c:4736 sql_help.c:4738 sql_help.c:4762 msgid "transaction_mode" msgstr "트랜잭션모드" -#: sql_help.c:1688 sql_help.c:4446 sql_help.c:4470 +#: sql_help.c:1743 sql_help.c:4739 sql_help.c:4763 msgid "where transaction_mode is one of:" msgstr "트랜잭션모드 사용법:" -#: sql_help.c:1697 sql_help.c:4303 sql_help.c:4312 sql_help.c:4316 -#: sql_help.c:4320 sql_help.c:4323 sql_help.c:4542 sql_help.c:4551 -#: sql_help.c:4555 sql_help.c:4559 sql_help.c:4562 sql_help.c:4762 -#: sql_help.c:4771 sql_help.c:4775 sql_help.c:4779 sql_help.c:4782 +#: 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 msgid "argument" msgstr "인자" -#: sql_help.c:1787 +#: sql_help.c:1852 msgid "relation_name" msgstr "릴레이션이름" -#: sql_help.c:1792 sql_help.c:3746 sql_help.c:4094 +#: sql_help.c:1857 sql_help.c:3905 sql_help.c:4357 msgid "domain_name" msgstr "도메인이름" -#: sql_help.c:1814 +#: sql_help.c:1879 msgid "policy_name" msgstr "정책이름" -#: sql_help.c:1827 +#: sql_help.c:1892 msgid "rule_name" msgstr "룰이름" -#: sql_help.c:1846 -msgid "text" -msgstr "" +#: sql_help.c:1911 sql_help.c:4496 +msgid "string_literal" +msgstr "문자열_리터럴" -#: sql_help.c:1871 sql_help.c:3930 sql_help.c:4135 +#: sql_help.c:1936 sql_help.c:4160 sql_help.c:4410 msgid "transaction_id" msgstr "트랜잭션_id" -#: sql_help.c:1902 sql_help.c:1909 sql_help.c:3856 +#: sql_help.c:1968 sql_help.c:1975 sql_help.c:4027 msgid "filename" msgstr "파일이름" -#: sql_help.c:1903 sql_help.c:1910 sql_help.c:2583 sql_help.c:2584 -#: sql_help.c:2585 +#: sql_help.c:1969 sql_help.c:1976 sql_help.c:2695 sql_help.c:2696 +#: sql_help.c:2697 msgid "command" msgstr "명령어" -#: sql_help.c:1905 sql_help.c:2582 sql_help.c:2994 sql_help.c:3171 -#: sql_help.c:3840 sql_help.c:4286 sql_help.c:4288 sql_help.c:4376 -#: sql_help.c:4378 sql_help.c:4525 sql_help.c:4527 sql_help.c:4630 -#: sql_help.c:4745 sql_help.c:4747 +#: 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 msgid "condition" msgstr "조건" -#: sql_help.c:1908 sql_help.c:2411 sql_help.c:2877 sql_help.c:3137 -#: sql_help.c:3155 sql_help.c:3821 +#: sql_help.c:1974 sql_help.c:2511 sql_help.c:3007 sql_help.c:3271 +#: sql_help.c:3289 sql_help.c:3992 msgid "query" msgstr "쿼리문" -#: sql_help.c:1913 +#: sql_help.c:1979 msgid "format_name" msgstr "입출력양식이름" -#: sql_help.c:1915 +#: sql_help.c:1981 msgid "delimiter_character" msgstr "구분문자" -#: sql_help.c:1916 +#: sql_help.c:1982 msgid "null_string" msgstr "널문자열" -#: sql_help.c:1918 +#: sql_help.c:1983 +msgid "default_string" +msgstr "기본_문자열" + +#: sql_help.c:1985 msgid "quote_character" msgstr "인용부호" -#: sql_help.c:1919 +#: sql_help.c:1986 msgid "escape_character" msgstr "이스케이프 문자" -#: sql_help.c:1923 +#: sql_help.c:1990 msgid "encoding_name" msgstr "인코딩이름" -#: sql_help.c:1934 +#: sql_help.c:2001 msgid "access_method_type" -msgstr "" +msgstr "접근_방법_종류" -#: sql_help.c:2005 sql_help.c:2024 sql_help.c:2027 +#: sql_help.c:2072 sql_help.c:2091 sql_help.c:2094 msgid "arg_data_type" msgstr "인자자료형" -#: sql_help.c:2006 sql_help.c:2028 sql_help.c:2036 +#: sql_help.c:2073 sql_help.c:2095 sql_help.c:2103 msgid "sfunc" -msgstr "" +msgstr "sfunc" -#: sql_help.c:2007 sql_help.c:2029 sql_help.c:2037 +#: sql_help.c:2074 sql_help.c:2096 sql_help.c:2104 msgid "state_data_type" -msgstr "" +msgstr "state_data_type" -#: sql_help.c:2008 sql_help.c:2030 sql_help.c:2038 +#: sql_help.c:2075 sql_help.c:2097 sql_help.c:2105 msgid "state_data_size" -msgstr "" +msgstr "state_data_size" -#: sql_help.c:2009 sql_help.c:2031 sql_help.c:2039 +#: sql_help.c:2076 sql_help.c:2098 sql_help.c:2106 msgid "ffunc" -msgstr "" +msgstr "ffunc" -#: sql_help.c:2010 sql_help.c:2040 +#: sql_help.c:2077 sql_help.c:2107 msgid "combinefunc" -msgstr "" +msgstr "combinefunc" -#: sql_help.c:2011 sql_help.c:2041 +#: sql_help.c:2078 sql_help.c:2108 msgid "serialfunc" -msgstr "" +msgstr "serialfunc" -#: sql_help.c:2012 sql_help.c:2042 +#: sql_help.c:2079 sql_help.c:2109 msgid "deserialfunc" -msgstr "" +msgstr "deserialfunc" -#: sql_help.c:2013 sql_help.c:2032 sql_help.c:2043 +#: sql_help.c:2080 sql_help.c:2099 sql_help.c:2110 msgid "initial_condition" -msgstr "" +msgstr "initial_condition" -#: sql_help.c:2014 sql_help.c:2044 +#: sql_help.c:2081 sql_help.c:2111 msgid "msfunc" -msgstr "" +msgstr "msfunc" -#: sql_help.c:2015 sql_help.c:2045 +#: sql_help.c:2082 sql_help.c:2112 msgid "minvfunc" -msgstr "" +msgstr "minvfunc" -#: sql_help.c:2016 sql_help.c:2046 +#: sql_help.c:2083 sql_help.c:2113 msgid "mstate_data_type" -msgstr "" +msgstr "mstate_data_type" -#: sql_help.c:2017 sql_help.c:2047 +#: sql_help.c:2084 sql_help.c:2114 msgid "mstate_data_size" -msgstr "" +msgstr "mstate_data_size" -#: sql_help.c:2018 sql_help.c:2048 +#: sql_help.c:2085 sql_help.c:2115 msgid "mffunc" -msgstr "" +msgstr "mffunc" -#: sql_help.c:2019 sql_help.c:2049 +#: sql_help.c:2086 sql_help.c:2116 msgid "minitial_condition" -msgstr "" +msgstr "minitial_condition" -#: sql_help.c:2020 sql_help.c:2050 +#: sql_help.c:2087 sql_help.c:2117 msgid "sort_operator" msgstr "정렬연산자" -#: sql_help.c:2033 +#: sql_help.c:2100 msgid "or the old syntax" msgstr "또는 옛날 구문" -#: sql_help.c:2035 +#: sql_help.c:2102 msgid "base_type" msgstr "기본자료형" -#: sql_help.c:2092 sql_help.c:2133 +#: sql_help.c:2160 sql_help.c:2209 msgid "locale" msgstr "로케일" -#: sql_help.c:2093 sql_help.c:2134 +#: sql_help.c:2161 sql_help.c:2210 msgid "lc_collate" msgstr "lc_collate" -#: sql_help.c:2094 sql_help.c:2135 +#: sql_help.c:2162 sql_help.c:2211 msgid "lc_ctype" msgstr "lc_ctype" -#: sql_help.c:2095 sql_help.c:4188 +#: sql_help.c:2163 sql_help.c:4463 msgid "provider" msgstr "제공자" -#: sql_help.c:2097 sql_help.c:2189 +#: sql_help.c:2165 +msgid "rules" +msgstr "룰" + +#: sql_help.c:2166 sql_help.c:2271 msgid "version" msgstr "버전" -#: sql_help.c:2099 +#: sql_help.c:2168 msgid "existing_collation" -msgstr "" +msgstr "기존_collation" -#: sql_help.c:2109 +#: sql_help.c:2178 msgid "source_encoding" msgstr "원래인코딩" -#: sql_help.c:2110 +#: sql_help.c:2179 msgid "dest_encoding" msgstr "대상인코딩" -#: sql_help.c:2131 sql_help.c:2917 +#: sql_help.c:2206 sql_help.c:3047 msgid "template" msgstr "템플릿" -#: sql_help.c:2132 +#: sql_help.c:2207 msgid "encoding" msgstr "인코딩" -#: sql_help.c:2159 +#: sql_help.c:2208 +msgid "strategy" +msgstr "전략번호" + +#: sql_help.c:2212 +msgid "icu_locale" +msgstr "icu_로케일" + +#: sql_help.c:2213 +msgid "icu_rules" +msgstr "icu_룰" + +#: sql_help.c:2214 +msgid "locale_provider" +msgstr "로케일_제공자" + +#: sql_help.c:2215 +msgid "collation_version" +msgstr "collation_version" + +#: sql_help.c:2220 +msgid "oid" +msgstr "oid" + +#: sql_help.c:2240 msgid "constraint" msgstr "제약조건" -#: sql_help.c:2160 +#: sql_help.c:2241 msgid "where constraint is:" msgstr "제약조건 사용법:" -#: sql_help.c:2174 sql_help.c:2580 sql_help.c:2990 +#: sql_help.c:2255 sql_help.c:2692 sql_help.c:3120 msgid "event" msgstr "이벤트" -#: sql_help.c:2175 +#: sql_help.c:2256 msgid "filter_variable" -msgstr "" +msgstr "필터_변수" -#: sql_help.c:2263 sql_help.c:2812 +#: sql_help.c:2257 +msgid "filter_value" +msgstr "필터_값" + +#: sql_help.c:2353 sql_help.c:2939 msgid "where column_constraint is:" msgstr "칼럼_제약조건 사용법:" -#: sql_help.c:2300 +#: sql_help.c:2398 msgid "rettype" -msgstr "" +msgstr "rettype" -#: sql_help.c:2302 +#: sql_help.c:2400 msgid "column_type" -msgstr "" +msgstr "칼럼_자료형" -#: sql_help.c:2311 sql_help.c:2511 +#: sql_help.c:2409 sql_help.c:2612 msgid "definition" msgstr "함수정의" -#: sql_help.c:2312 sql_help.c:2512 +#: sql_help.c:2410 sql_help.c:2613 msgid "obj_file" msgstr "오브젝트파일" -#: sql_help.c:2313 sql_help.c:2513 +#: sql_help.c:2411 sql_help.c:2614 msgid "link_symbol" msgstr "연결할_함수명" -#: sql_help.c:2351 sql_help.c:2565 sql_help.c:3109 +#: sql_help.c:2412 sql_help.c:2615 +msgid "sql_body" +msgstr "sql_본문" + +#: sql_help.c:2450 sql_help.c:2677 sql_help.c:3243 msgid "uid" -msgstr "" +msgstr "uid" -#: sql_help.c:2366 sql_help.c:2407 sql_help.c:2781 sql_help.c:2794 -#: sql_help.c:2808 sql_help.c:2873 +#: sql_help.c:2466 sql_help.c:2507 sql_help.c:2908 sql_help.c:2921 +#: sql_help.c:2935 sql_help.c:3003 msgid "method" msgstr "색인방법" -#: sql_help.c:2371 +#: sql_help.c:2471 msgid "opclass_parameter" msgstr "opclass_매개변수" -#: sql_help.c:2388 +#: sql_help.c:2488 msgid "call_handler" -msgstr "" +msgstr "호출_핸들러" -#: sql_help.c:2389 +#: sql_help.c:2489 msgid "inline_handler" -msgstr "" +msgstr "인라인_핸들러" -#: sql_help.c:2390 +#: sql_help.c:2490 msgid "valfunction" msgstr "구문검사함수" -#: sql_help.c:2429 +#: sql_help.c:2529 msgid "com_op" -msgstr "" +msgstr "com_op" -#: sql_help.c:2430 +#: sql_help.c:2530 msgid "neg_op" -msgstr "" +msgstr "neg_op" -#: sql_help.c:2448 +#: sql_help.c:2548 msgid "family_name" -msgstr "" +msgstr "family_name" -#: sql_help.c:2459 +#: sql_help.c:2559 msgid "storage_type" msgstr "스토리지_유형" -#: sql_help.c:2586 sql_help.c:2997 +#: sql_help.c:2698 sql_help.c:3127 msgid "where event can be one of:" msgstr "이벤트 사용법:" -#: sql_help.c:2605 sql_help.c:2607 +#: sql_help.c:2718 sql_help.c:2720 msgid "schema_element" -msgstr "" +msgstr "스키마_요소" -#: sql_help.c:2644 +#: sql_help.c:2757 msgid "server_type" msgstr "서버_종류" -#: sql_help.c:2645 +#: sql_help.c:2758 msgid "server_version" msgstr "서버_버전" -#: sql_help.c:2646 sql_help.c:3748 sql_help.c:4096 +#: sql_help.c:2759 sql_help.c:3908 sql_help.c:4360 msgid "fdw_name" msgstr "fdw_이름" -#: sql_help.c:2659 +#: sql_help.c:2776 sql_help.c:2779 msgid "statistics_name" msgstr "통계정보_이름" -#: sql_help.c:2660 +#: sql_help.c:2780 msgid "statistics_kind" msgstr "통계정보_종류" -#: sql_help.c:2674 +#: sql_help.c:2796 msgid "subscription_name" msgstr "구독_이름" -#: sql_help.c:2774 +#: sql_help.c:2901 msgid "source_table" msgstr "원본테이블" -#: sql_help.c:2775 +#: sql_help.c:2902 msgid "like_option" msgstr "LIKE구문옵션" -#: sql_help.c:2841 +#: sql_help.c:2968 msgid "and like_option is:" -msgstr "" +msgstr "LIKE구문옵션 사용법:" -#: sql_help.c:2890 +#: sql_help.c:3020 msgid "directory" msgstr "디렉터리" -#: sql_help.c:2904 +#: sql_help.c:3034 msgid "parser_name" msgstr "구문분석기_이름" -#: sql_help.c:2905 +#: sql_help.c:3035 msgid "source_config" msgstr "원본_설정" -#: sql_help.c:2934 +#: sql_help.c:3064 msgid "start_function" msgstr "시작_함수" -#: sql_help.c:2935 +#: sql_help.c:3065 msgid "gettoken_function" msgstr "gettoken함수" -#: sql_help.c:2936 +#: sql_help.c:3066 msgid "end_function" msgstr "종료_함수" -#: sql_help.c:2937 +#: sql_help.c:3067 msgid "lextypes_function" msgstr "lextypes함수" -#: sql_help.c:2938 +#: sql_help.c:3068 msgid "headline_function" msgstr "headline함수" -#: sql_help.c:2950 +#: sql_help.c:3080 msgid "init_function" msgstr "init함수" -#: sql_help.c:2951 +#: sql_help.c:3081 msgid "lexize_function" msgstr "lexize함수" -#: sql_help.c:2964 +#: sql_help.c:3094 msgid "from_sql_function_name" -msgstr "" +msgstr "sql에서_언어로_바꿀때쓸_함수이름" -#: sql_help.c:2966 +#: sql_help.c:3096 msgid "to_sql_function_name" -msgstr "" +msgstr "언어에서_sql로_바꿀때쓸_함수이름" -#: sql_help.c:2992 +#: sql_help.c:3122 msgid "referenced_table_name" -msgstr "" +msgstr "참조된_테이블_이름" -#: sql_help.c:2993 +#: sql_help.c:3123 msgid "transition_relation_name" -msgstr "전달_릴레이션이름" +msgstr "전달_릴레이션_이름" -#: sql_help.c:2996 +#: sql_help.c:3126 msgid "arguments" msgstr "인자들" -#: sql_help.c:3046 sql_help.c:4221 +#: sql_help.c:3178 msgid "label" -msgstr "" +msgstr "enum요소" -#: sql_help.c:3048 +#: sql_help.c:3180 msgid "subtype" -msgstr "" +msgstr "subtype" -#: sql_help.c:3049 +#: sql_help.c:3181 msgid "subtype_operator_class" -msgstr "" +msgstr "subtype_operator_class" -#: sql_help.c:3051 +#: sql_help.c:3183 msgid "canonical_function" -msgstr "" +msgstr "canonical_function" -#: sql_help.c:3052 +#: sql_help.c:3184 msgid "subtype_diff_function" -msgstr "" +msgstr "subtype_diff_function" + +#: sql_help.c:3185 +msgid "multirange_type_name" +msgstr "다중범위_자료형_이름" -#: sql_help.c:3054 +#: sql_help.c:3187 msgid "input_function" msgstr "입력함수" -#: sql_help.c:3055 +#: sql_help.c:3188 msgid "output_function" msgstr "출력함수" -#: sql_help.c:3056 +#: sql_help.c:3189 msgid "receive_function" msgstr "받는함수" -#: sql_help.c:3057 +#: sql_help.c:3190 msgid "send_function" msgstr "주는함수" -#: sql_help.c:3058 +#: sql_help.c:3191 msgid "type_modifier_input_function" -msgstr "" +msgstr "type_modifier_input_function" -#: sql_help.c:3059 +#: sql_help.c:3192 msgid "type_modifier_output_function" -msgstr "" +msgstr "type_modifier_output_function" -#: sql_help.c:3060 +#: sql_help.c:3193 msgid "analyze_function" msgstr "분석함수" -#: sql_help.c:3061 +#: sql_help.c:3194 +msgid "subscript_function" +msgstr "구독_함수" + +#: sql_help.c:3195 msgid "internallength" -msgstr "" +msgstr "내부길이" -#: sql_help.c:3062 +#: sql_help.c:3196 msgid "alignment" msgstr "정렬" -#: sql_help.c:3063 +#: sql_help.c:3197 msgid "storage" msgstr "스토리지" -#: sql_help.c:3064 +#: sql_help.c:3198 msgid "like_type" -msgstr "" +msgstr "like_type" -#: sql_help.c:3065 +#: sql_help.c:3199 msgid "category" -msgstr "" +msgstr "category" -#: sql_help.c:3066 +#: sql_help.c:3200 msgid "preferred" -msgstr "" +msgstr "preferred" -#: sql_help.c:3067 +#: sql_help.c:3201 msgid "default" msgstr "기본값" -#: sql_help.c:3068 +#: sql_help.c:3202 msgid "element" msgstr "요소" -#: sql_help.c:3069 +#: sql_help.c:3203 msgid "delimiter" msgstr "구분자" -#: sql_help.c:3070 +#: sql_help.c:3204 msgid "collatable" -msgstr "" +msgstr "collatable" -#: sql_help.c:3167 sql_help.c:3816 sql_help.c:4281 sql_help.c:4370 -#: sql_help.c:4520 sql_help.c:4620 sql_help.c:4740 +#: 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 msgid "with_query" -msgstr "" +msgstr "with절_쿼리" -#: sql_help.c:3169 sql_help.c:3818 sql_help.c:4300 sql_help.c:4306 -#: sql_help.c:4309 sql_help.c:4313 sql_help.c:4317 sql_help.c:4325 -#: sql_help.c:4539 sql_help.c:4545 sql_help.c:4548 sql_help.c:4552 -#: sql_help.c:4556 sql_help.c:4564 sql_help.c:4622 sql_help.c:4759 -#: sql_help.c:4765 sql_help.c:4768 sql_help.c:4772 sql_help.c:4776 -#: sql_help.c:4784 +#: 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 msgid "alias" msgstr "별칭" -#: sql_help.c:3170 sql_help.c:4285 sql_help.c:4327 sql_help.c:4329 -#: sql_help.c:4375 sql_help.c:4524 sql_help.c:4566 sql_help.c:4568 -#: sql_help.c:4629 sql_help.c:4744 sql_help.c:4786 sql_help.c:4788 +#: 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 msgid "from_item" -msgstr "" +msgstr "from절_항목" -#: sql_help.c:3172 sql_help.c:3653 sql_help.c:3897 sql_help.c:4631 +#: sql_help.c:3306 sql_help.c:3789 sql_help.c:4127 sql_help.c:4941 msgid "cursor_name" msgstr "커서이름" -#: sql_help.c:3173 sql_help.c:3824 sql_help.c:4632 +#: sql_help.c:3307 sql_help.c:3995 sql_help.c:4942 msgid "output_expression" msgstr "출력표현식" -#: sql_help.c:3174 sql_help.c:3825 sql_help.c:4284 sql_help.c:4373 -#: sql_help.c:4523 sql_help.c:4633 sql_help.c:4743 +#: 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 msgid "output_name" -msgstr "" +msgstr "출력_이름" -#: sql_help.c:3190 +#: sql_help.c:3324 msgid "code" -msgstr "" +msgstr "코드" -#: sql_help.c:3595 +#: sql_help.c:3729 msgid "parameter" msgstr "매개변수" -#: sql_help.c:3617 sql_help.c:3618 sql_help.c:3922 +#: sql_help.c:3752 sql_help.c:3753 sql_help.c:4152 msgid "statement" msgstr "명령구문" -#: sql_help.c:3652 sql_help.c:3896 +#: sql_help.c:3788 sql_help.c:4126 msgid "direction" msgstr "방향" -#: sql_help.c:3654 sql_help.c:3898 -msgid "where direction can be empty or one of:" -msgstr "방향 자리는 비워두거나 다음 중 하나:" +#: sql_help.c:3790 sql_help.c:4128 +msgid "where direction can be one of:" +msgstr "방향 사용법:" -#: sql_help.c:3655 sql_help.c:3656 sql_help.c:3657 sql_help.c:3658 -#: sql_help.c:3659 sql_help.c:3899 sql_help.c:3900 sql_help.c:3901 -#: sql_help.c:3902 sql_help.c:3903 sql_help.c:4294 sql_help.c:4296 -#: sql_help.c:4384 sql_help.c:4386 sql_help.c:4533 sql_help.c:4535 -#: sql_help.c:4688 sql_help.c:4690 sql_help.c:4753 sql_help.c:4755 +#: 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 msgid "count" msgstr "출력개수" -#: sql_help.c:3741 sql_help.c:4089 +#: sql_help.c:3898 sql_help.c:4350 msgid "sequence_name" msgstr "시퀀스이름" -#: sql_help.c:3754 sql_help.c:4102 +#: sql_help.c:3916 sql_help.c:4368 msgid "arg_name" msgstr "인자이름" -#: sql_help.c:3755 sql_help.c:4103 +#: sql_help.c:3917 sql_help.c:4369 msgid "arg_type" msgstr "인자자료형" -#: sql_help.c:3760 sql_help.c:4108 +#: sql_help.c:3924 sql_help.c:4376 msgid "loid" -msgstr "" +msgstr "큰개체_oid" -#: sql_help.c:3784 +#: sql_help.c:3955 msgid "remote_schema" msgstr "원격_스키마" -#: sql_help.c:3787 +#: sql_help.c:3958 msgid "local_schema" msgstr "로컬_스키마" -#: sql_help.c:3822 +#: sql_help.c:3993 msgid "conflict_target" -msgstr "" +msgstr "충돌_대상" -#: sql_help.c:3823 +#: sql_help.c:3994 msgid "conflict_action" -msgstr "" +msgstr "충돌_작업" -#: sql_help.c:3826 +#: sql_help.c:3997 msgid "where conflict_target can be one of:" -msgstr "conflict_target 사용법:" +msgstr "충돌_대상 사용법:" + +#: sql_help.c:3998 +msgid "index_column_name" +msgstr "인덱스칼럼이름" + +#: sql_help.c:3999 +msgid "index_expression" +msgstr "인덱스표현식" + +#: sql_help.c:4002 +msgid "index_predicate" +msgstr "부분인덱스식" + +#: sql_help.c:4004 +msgid "and conflict_action is one of:" +msgstr "충돌_작업 사용법:" + +#: sql_help.c:4010 sql_help.c:4938 +msgid "sub-SELECT" +msgstr "서브셀렉트" + +#: sql_help.c:4019 sql_help.c:4141 sql_help.c:4914 +msgid "channel" +msgstr "채널" + +#: sql_help.c:4041 +msgid "lockmode" +msgstr "잠금모드" + +#: sql_help.c:4042 +msgid "where lockmode is one of:" +msgstr "잠금모드 사용법:" + +#: sql_help.c:4078 +msgid "target_table_name" +msgstr "대상_테이블_이름" + +#: sql_help.c:4079 +msgid "target_alias" +msgstr "대상_별칭" + +#: sql_help.c:4080 +msgid "data_source" +msgstr "데이터_소스" + +#: sql_help.c:4081 sql_help.c:4609 sql_help.c:4866 sql_help.c:5112 +msgid "join_condition" +msgstr "조인_조건" + +#: sql_help.c:4082 +msgid "when_clause" +msgstr "when절" + +#: sql_help.c:4083 +msgid "where data_source is:" +msgstr "데이터_소스 사용법:" + +#: sql_help.c:4084 +msgid "source_table_name" +msgstr "원본_테이블_이름" + +#: sql_help.c:4085 +msgid "source_query" +msgstr "소스_쿼리" -#: sql_help.c:3827 -msgid "index_column_name" -msgstr "인덱스칼럼이름" +#: sql_help.c:4086 +msgid "source_alias" +msgstr "소스_별칭" -#: sql_help.c:3828 -msgid "index_expression" -msgstr "인덱스표현식" +#: sql_help.c:4087 +msgid "and when_clause is:" +msgstr "when절 사용법:" -#: sql_help.c:3831 -msgid "index_predicate" -msgstr "" +#: sql_help.c:4089 +msgid "merge_update" +msgstr "merge_update" -#: sql_help.c:3833 -msgid "and conflict_action is one of:" -msgstr "conflict_action 사용법:" +#: sql_help.c:4090 +msgid "merge_delete" +msgstr "merge_delete" -#: sql_help.c:3839 sql_help.c:4628 -msgid "sub-SELECT" -msgstr "" +#: sql_help.c:4092 +msgid "merge_insert" +msgstr "merge_insert" -#: sql_help.c:3848 sql_help.c:3911 sql_help.c:4604 -msgid "channel" -msgstr "" +#: sql_help.c:4093 +msgid "and merge_insert is:" +msgstr "merge_insert 사용법:" -#: sql_help.c:3870 -msgid "lockmode" -msgstr "" +#: sql_help.c:4096 +msgid "and merge_update is:" +msgstr "merge_update 사용법:" -#: sql_help.c:3871 -msgid "where lockmode is one of:" -msgstr "lockmode 사용법:" +#: sql_help.c:4101 +msgid "and merge_delete is:" +msgstr "merge_delete 사용법:" -#: sql_help.c:3912 +#: sql_help.c:4142 msgid "payload" -msgstr "" +msgstr "payload" -#: sql_help.c:3939 +#: sql_help.c:4169 msgid "old_role" msgstr "기존롤" -#: sql_help.c:3940 +#: sql_help.c:4170 msgid "new_role" msgstr "새롤" -#: sql_help.c:3971 sql_help.c:4143 sql_help.c:4151 +#: sql_help.c:4209 sql_help.c:4418 sql_help.c:4426 msgid "savepoint_name" msgstr "savepoint_name" -#: sql_help.c:4287 sql_help.c:4339 sql_help.c:4526 sql_help.c:4578 -#: sql_help.c:4746 sql_help.c:4798 +#: sql_help.c:4566 sql_help.c:4624 sql_help.c:4823 sql_help.c:4881 +#: sql_help.c:5069 sql_help.c:5127 msgid "grouping_element" -msgstr "" +msgstr "grouping_element" -#: sql_help.c:4289 sql_help.c:4379 sql_help.c:4528 sql_help.c:4748 +#: sql_help.c:4568 sql_help.c:4671 sql_help.c:4825 sql_help.c:5071 msgid "window_name" msgstr "윈도우이름" -#: sql_help.c:4290 sql_help.c:4380 sql_help.c:4529 sql_help.c:4749 +#: sql_help.c:4569 sql_help.c:4672 sql_help.c:4826 sql_help.c:5072 msgid "window_definition" msgstr "원도우정의" -#: sql_help.c:4291 sql_help.c:4305 sql_help.c:4343 sql_help.c:4381 -#: sql_help.c:4530 sql_help.c:4544 sql_help.c:4582 sql_help.c:4750 -#: sql_help.c:4764 sql_help.c:4802 +#: 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 msgid "select" -msgstr "" +msgstr "select" -#: sql_help.c:4298 sql_help.c:4537 sql_help.c:4757 +#: sql_help.c:4577 sql_help.c:4834 sql_help.c:5080 msgid "where from_item can be one of:" -msgstr "" +msgstr "from절_항목 사용법:" -#: sql_help.c:4301 sql_help.c:4307 sql_help.c:4310 sql_help.c:4314 -#: sql_help.c:4326 sql_help.c:4540 sql_help.c:4546 sql_help.c:4549 -#: sql_help.c:4553 sql_help.c:4565 sql_help.c:4760 sql_help.c:4766 -#: sql_help.c:4769 sql_help.c:4773 sql_help.c:4785 +#: 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 msgid "column_alias" msgstr "칼럼별칭" -#: sql_help.c:4302 sql_help.c:4541 sql_help.c:4761 +#: sql_help.c:4581 sql_help.c:4838 sql_help.c:5084 msgid "sampling_method" msgstr "표본추출방법" -#: sql_help.c:4304 sql_help.c:4543 sql_help.c:4763 +#: sql_help.c:4583 sql_help.c:4840 sql_help.c:5086 msgid "seed" -msgstr "" +msgstr "seed" -#: sql_help.c:4308 sql_help.c:4341 sql_help.c:4547 sql_help.c:4580 -#: sql_help.c:4767 sql_help.c:4800 +#: sql_help.c:4587 sql_help.c:4626 sql_help.c:4844 sql_help.c:4883 +#: sql_help.c:5090 sql_help.c:5129 msgid "with_query_name" -msgstr "" +msgstr "with절_쿼리_이름" -#: sql_help.c:4318 sql_help.c:4321 sql_help.c:4324 sql_help.c:4557 -#: sql_help.c:4560 sql_help.c:4563 sql_help.c:4777 sql_help.c:4780 -#: sql_help.c:4783 +#: 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 msgid "column_definition" msgstr "칼럼정의" -#: sql_help.c:4328 sql_help.c:4567 sql_help.c:4787 +#: sql_help.c:4607 sql_help.c:4613 sql_help.c:4864 sql_help.c:4870 +#: sql_help.c:5110 sql_help.c:5116 msgid "join_type" -msgstr "" - -#: sql_help.c:4330 sql_help.c:4569 sql_help.c:4789 -msgid "join_condition" -msgstr "" +msgstr "조인_종류" -#: sql_help.c:4331 sql_help.c:4570 sql_help.c:4790 +#: sql_help.c:4610 sql_help.c:4867 sql_help.c:5113 msgid "join_column" -msgstr "" +msgstr "조인_칼럼" -#: sql_help.c:4332 sql_help.c:4571 sql_help.c:4791 +#: sql_help.c:4611 sql_help.c:4868 sql_help.c:5114 +msgid "join_using_alias" +msgstr "조인_별칭" + +#: sql_help.c:4617 sql_help.c:4874 sql_help.c:5120 msgid "and grouping_element can be one of:" -msgstr "" +msgstr "grouping_element 사용법:" -#: sql_help.c:4340 sql_help.c:4579 sql_help.c:4799 +#: sql_help.c:4625 sql_help.c:4882 sql_help.c:5128 msgid "and with_query is:" -msgstr "" +msgstr "with절_쿼리 사용법:" -#: sql_help.c:4344 sql_help.c:4583 sql_help.c:4803 +#: sql_help.c:4629 sql_help.c:4886 sql_help.c:5132 msgid "values" msgstr "값" -#: sql_help.c:4345 sql_help.c:4584 sql_help.c:4804 +#: sql_help.c:4630 sql_help.c:4887 sql_help.c:5133 msgid "insert" -msgstr "" +msgstr "insert" -#: sql_help.c:4346 sql_help.c:4585 sql_help.c:4805 +#: sql_help.c:4631 sql_help.c:4888 sql_help.c:5134 msgid "update" -msgstr "" +msgstr "update" -#: sql_help.c:4347 sql_help.c:4586 sql_help.c:4806 +#: sql_help.c:4632 sql_help.c:4889 sql_help.c:5135 msgid "delete" -msgstr "" +msgstr "delete" -#: sql_help.c:4374 +#: sql_help.c:4634 sql_help.c:4891 sql_help.c:5137 +msgid "search_seq_col_name" +msgstr "search_seq_col_name" + +#: sql_help.c:4636 sql_help.c:4893 sql_help.c:5139 +msgid "cycle_mark_col_name" +msgstr "cycle_mark_col_name" + +#: sql_help.c:4637 sql_help.c:4894 sql_help.c:5140 +msgid "cycle_mark_value" +msgstr "cycle_mark_value" + +#: sql_help.c:4638 sql_help.c:4895 sql_help.c:5141 +msgid "cycle_mark_default" +msgstr "cycle_mark_default" + +#: sql_help.c:4639 sql_help.c:4896 sql_help.c:5142 +msgid "cycle_path_col_name" +msgstr "cycle_path_col_name" + +#: sql_help.c:4666 msgid "new_table" msgstr "새테이블" -#: sql_help.c:4399 -msgid "timezone" -msgstr "" - -#: sql_help.c:4444 +#: sql_help.c:4737 msgid "snapshot_id" -msgstr "" +msgstr "스냅샷_id" -#: sql_help.c:4686 +#: sql_help.c:5005 msgid "sort_expression" -msgstr "" +msgstr "정렬_표현식" -#: sql_help.c:4813 sql_help.c:5791 +#: sql_help.c:5149 sql_help.c:6133 msgid "abort the current transaction" msgstr "현재 트랜잭션 중지함" -#: sql_help.c:4819 +#: sql_help.c:5155 msgid "change the definition of an aggregate function" msgstr "집계함수 정보 바꾸기" -#: sql_help.c:4825 +#: sql_help.c:5161 msgid "change the definition of a collation" msgstr "collation 정의 바꾸기" -#: sql_help.c:4831 +#: sql_help.c:5167 msgid "change the definition of a conversion" msgstr "문자코드 변환규칙(conversion) 정보 바꾸기" -#: sql_help.c:4837 +#: sql_help.c:5173 msgid "change a database" msgstr "데이터베이스 변경" -#: sql_help.c:4843 +#: sql_help.c:5179 msgid "define default access privileges" msgstr "기본 접근 권한 정의" -#: sql_help.c:4849 +#: sql_help.c:5185 msgid "change the definition of a domain" msgstr "도메인 정보 바꾸기" -#: sql_help.c:4855 +#: sql_help.c:5191 msgid "change the definition of an event trigger" msgstr "트리거 정보 바꾸기" -#: sql_help.c:4861 +#: sql_help.c:5197 msgid "change the definition of an extension" msgstr "확장모듈 정의 바꾸기" -#: sql_help.c:4867 +#: sql_help.c:5203 msgid "change the definition of a foreign-data wrapper" msgstr "외부 데이터 래퍼 정의 바꾸기" -#: sql_help.c:4873 +#: sql_help.c:5209 msgid "change the definition of a foreign table" msgstr "외부 테이블 정의 바꾸기" -#: sql_help.c:4879 +#: sql_help.c:5215 msgid "change the definition of a function" msgstr "함수 정보 바꾸기" -#: sql_help.c:4885 +#: sql_help.c:5221 msgid "change role name or membership" msgstr "롤 이름이나 맴버쉽 바꾸기" -#: sql_help.c:4891 +#: sql_help.c:5227 msgid "change the definition of an index" msgstr "인덱스 정의 바꾸기" -#: sql_help.c:4897 +#: sql_help.c:5233 msgid "change the definition of a procedural language" msgstr "procedural language 정보 바꾸기" -#: sql_help.c:4903 +#: sql_help.c:5239 msgid "change the definition of a large object" msgstr "대형 객체 정의 바꾸기" -#: sql_help.c:4909 +#: sql_help.c:5245 msgid "change the definition of a materialized view" msgstr "materialized 뷰 정의 바꾸기" -#: sql_help.c:4915 +#: sql_help.c:5251 msgid "change the definition of an operator" msgstr "연산자 정의 바꾸기" -#: sql_help.c:4921 +#: sql_help.c:5257 msgid "change the definition of an operator class" msgstr "연산자 클래스 정보 바꾸기" -#: sql_help.c:4927 +#: sql_help.c:5263 msgid "change the definition of an operator family" msgstr "연산자 부류의 정의 바꾸기" -#: sql_help.c:4933 -msgid "change the definition of a row level security policy" +#: sql_help.c:5269 +msgid "change the definition of a row-level security policy" msgstr "로우 단위 보안 정책의 정의 바꾸기" -#: sql_help.c:4939 +#: sql_help.c:5275 msgid "change the definition of a procedure" msgstr "프로시져 정의 바꾸기" -#: sql_help.c:4945 +#: sql_help.c:5281 msgid "change the definition of a publication" msgstr "발행 정보 바꾸기" -#: sql_help.c:4951 sql_help.c:5053 +#: sql_help.c:5287 sql_help.c:5389 msgid "change a database role" msgstr "데이터베이스 롤 변경" -#: sql_help.c:4957 +#: sql_help.c:5293 msgid "change the definition of a routine" msgstr "루틴 정의 바꾸기" -#: sql_help.c:4963 +#: sql_help.c:5299 msgid "change the definition of a rule" msgstr "룰 정의 바꾸기" -#: sql_help.c:4969 +#: sql_help.c:5305 msgid "change the definition of a schema" msgstr "스키마 이름 바꾸기" -#: sql_help.c:4975 +#: sql_help.c:5311 msgid "change the definition of a sequence generator" msgstr "시퀀스 정보 바꾸기" -#: sql_help.c:4981 +#: sql_help.c:5317 msgid "change the definition of a foreign server" msgstr "외부 서버 정의 바꾸기" -#: sql_help.c:4987 +#: sql_help.c:5323 msgid "change the definition of an extended statistics object" msgstr "확장 통계정보 객체 정의 바꾸기" -#: sql_help.c:4993 +#: sql_help.c:5329 msgid "change the definition of a subscription" msgstr "구독 정보 바꾸기" -#: sql_help.c:4999 +#: sql_help.c:5335 msgid "change a server configuration parameter" msgstr "서버 환경 설정 매개 변수 바꾸기" -#: sql_help.c:5005 +#: sql_help.c:5341 msgid "change the definition of a table" msgstr "테이블 정보 바꾸기" -#: sql_help.c:5011 +#: sql_help.c:5347 msgid "change the definition of a tablespace" msgstr "테이블스페이스 정의 바꾸기" -#: sql_help.c:5017 +#: sql_help.c:5353 msgid "change the definition of a text search configuration" msgstr "텍스트 검색 구성 정의 바꾸기" -#: sql_help.c:5023 +#: sql_help.c:5359 msgid "change the definition of a text search dictionary" msgstr "텍스트 검색 사전 정의 바꾸기" -#: sql_help.c:5029 +#: sql_help.c:5365 msgid "change the definition of a text search parser" msgstr "텍스트 검색 파서 정의 바꾸기" -#: sql_help.c:5035 +#: sql_help.c:5371 msgid "change the definition of a text search template" msgstr "텍스트 검색 템플릿 정의 바꾸기" -#: sql_help.c:5041 +#: sql_help.c:5377 msgid "change the definition of a trigger" msgstr "트리거 정보 바꾸기" -#: sql_help.c:5047 +#: sql_help.c:5383 msgid "change the definition of a type" msgstr "자료형 정의 바꾸기" -#: sql_help.c:5059 +#: sql_help.c:5395 msgid "change the definition of a user mapping" msgstr "사용자 매핑 정의 바꾸기" -#: sql_help.c:5065 +#: sql_help.c:5401 msgid "change the definition of a view" msgstr "뷰 정의 바꾸기" -#: sql_help.c:5071 +#: sql_help.c:5407 msgid "collect statistics about a database" msgstr "데이터베이스 사용 통계 정보를 갱신함" -#: sql_help.c:5077 sql_help.c:5869 +#: sql_help.c:5413 sql_help.c:6211 msgid "start a transaction block" msgstr "트랜잭션 블럭을 시작함" -#: sql_help.c:5083 +#: sql_help.c:5419 msgid "invoke a procedure" msgstr "프로시져 호출" -#: sql_help.c:5089 +#: sql_help.c:5425 msgid "force a write-ahead log checkpoint" msgstr "트랜잭션 로그를 강제로 체크포인트 함" -#: sql_help.c:5095 +#: sql_help.c:5431 msgid "close a cursor" msgstr "커서 닫기" -#: sql_help.c:5101 +#: sql_help.c:5437 msgid "cluster a table according to an index" msgstr "지정한 인덱스 기준으로 테이블 자료를 다시 저장함" -#: sql_help.c:5107 +#: sql_help.c:5443 msgid "define or change the comment of an object" msgstr "해당 개체의 코멘트를 지정하거나 수정함" -#: sql_help.c:5113 sql_help.c:5671 +#: sql_help.c:5449 sql_help.c:6007 msgid "commit the current transaction" msgstr "현재 트랜잭션 commit" -#: sql_help.c:5119 +#: sql_help.c:5455 msgid "commit a transaction that was earlier prepared for two-phase commit" msgstr "two-phase 커밋을 위해 먼저 준비된 트랜잭션을 커밋하세요." -#: sql_help.c:5125 +#: sql_help.c:5461 msgid "copy data between a file and a table" msgstr "테이블과 파일 사이 자료를 복사함" -#: sql_help.c:5131 +#: sql_help.c:5467 msgid "define a new access method" msgstr "새 접속 방법 정의" -#: sql_help.c:5137 +#: sql_help.c:5473 msgid "define a new aggregate function" msgstr "새 집계합수 만들기" -#: sql_help.c:5143 +#: sql_help.c:5479 msgid "define a new cast" msgstr "새 형변환자 만들기" -#: sql_help.c:5149 +#: sql_help.c:5485 msgid "define a new collation" msgstr "새 collation 만들기" -#: sql_help.c:5155 +#: sql_help.c:5491 msgid "define a new encoding conversion" msgstr "새 문자코드변환규칙(conversion) 만들기" -#: sql_help.c:5161 +#: sql_help.c:5497 msgid "create a new database" msgstr "데이터베이스 생성" -#: sql_help.c:5167 +#: sql_help.c:5503 msgid "define a new domain" msgstr "새 도메인 만들기" -#: sql_help.c:5173 +#: sql_help.c:5509 msgid "define a new event trigger" msgstr "새 이벤트 트리거 만들기" -#: sql_help.c:5179 +#: sql_help.c:5515 msgid "install an extension" msgstr "확장 모듈 설치" -#: sql_help.c:5185 +#: sql_help.c:5521 msgid "define a new foreign-data wrapper" msgstr "새 외부 데이터 래퍼 정의" -#: sql_help.c:5191 +#: sql_help.c:5527 msgid "define a new foreign table" msgstr "새 외부 테이블 정의" -#: sql_help.c:5197 +#: sql_help.c:5533 msgid "define a new function" msgstr "새 함수 만들기" -#: sql_help.c:5203 sql_help.c:5263 sql_help.c:5365 +#: sql_help.c:5539 sql_help.c:5599 sql_help.c:5701 msgid "define a new database role" msgstr "새 데이터베이스 롤 만들기" -#: sql_help.c:5209 +#: sql_help.c:5545 msgid "define a new index" msgstr "새 인덱스 만들기" -#: sql_help.c:5215 +#: sql_help.c:5551 msgid "define a new procedural language" msgstr "새 프로시주얼 언어 만들기" -#: sql_help.c:5221 +#: sql_help.c:5557 msgid "define a new materialized view" msgstr "새 materialized 뷰 만들기" -#: sql_help.c:5227 +#: sql_help.c:5563 msgid "define a new operator" msgstr "새 연산자 만들기" -#: sql_help.c:5233 +#: sql_help.c:5569 msgid "define a new operator class" msgstr "새 연잔자 클래스 만들기" -#: sql_help.c:5239 +#: sql_help.c:5575 msgid "define a new operator family" msgstr "새 연산자 부류 만들기" -#: sql_help.c:5245 -msgid "define a new row level security policy for a table" +#: sql_help.c:5581 +msgid "define a new row-level security policy for a table" msgstr "특정 테이블에 로우 단위 보안 정책 정의" -#: sql_help.c:5251 +#: sql_help.c:5587 msgid "define a new procedure" msgstr "새 프로시져 만들기" -#: sql_help.c:5257 +#: sql_help.c:5593 msgid "define a new publication" msgstr "새 발행 만들기" -#: sql_help.c:5269 +#: sql_help.c:5605 msgid "define a new rewrite rule" msgstr "새 룰(rule) 만들기" -#: sql_help.c:5275 +#: sql_help.c:5611 msgid "define a new schema" msgstr "새 스키마(schema) 만들기" -#: sql_help.c:5281 +#: sql_help.c:5617 msgid "define a new sequence generator" msgstr "새 시퀀스 만들기" -#: sql_help.c:5287 +#: sql_help.c:5623 msgid "define a new foreign server" msgstr "새 외부 서버 정의" -#: sql_help.c:5293 +#: sql_help.c:5629 msgid "define extended statistics" msgstr "새 확장 통계정보 만들기" -#: sql_help.c:5299 +#: sql_help.c:5635 msgid "define a new subscription" msgstr "새 구독 만들기" -#: sql_help.c:5305 +#: sql_help.c:5641 msgid "define a new table" msgstr "새 테이블 만들기" -#: sql_help.c:5311 sql_help.c:5827 +#: sql_help.c:5647 sql_help.c:6169 msgid "define a new table from the results of a query" msgstr "쿼리 결과를 새 테이블로 만들기" -#: sql_help.c:5317 +#: sql_help.c:5653 msgid "define a new tablespace" msgstr "새 테이블스페이스 만들기" -#: sql_help.c:5323 +#: sql_help.c:5659 msgid "define a new text search configuration" msgstr "새 텍스트 검색 구성 정의" -#: sql_help.c:5329 +#: sql_help.c:5665 msgid "define a new text search dictionary" msgstr "새 텍스트 검색 사전 정의" -#: sql_help.c:5335 +#: sql_help.c:5671 msgid "define a new text search parser" msgstr "새 텍스트 검색 파서 정의" -#: sql_help.c:5341 +#: sql_help.c:5677 msgid "define a new text search template" msgstr "새 텍스트 검색 템플릿 정의" -#: sql_help.c:5347 +#: sql_help.c:5683 msgid "define a new transform" msgstr "새 transform 만들기" -#: sql_help.c:5353 +#: sql_help.c:5689 msgid "define a new trigger" msgstr "새 트리거 만들기" -#: sql_help.c:5359 +#: sql_help.c:5695 msgid "define a new data type" msgstr "새 자료형 만들기" -#: sql_help.c:5371 +#: sql_help.c:5707 msgid "define a new mapping of a user to a foreign server" msgstr "사용자와 외부 서버 간의 새 매핑 정의" -#: sql_help.c:5377 +#: sql_help.c:5713 msgid "define a new view" msgstr "새 view 만들기" -#: sql_help.c:5383 +#: sql_help.c:5719 msgid "deallocate a prepared statement" msgstr "준비된 구문(prepared statement) 지우기" -#: sql_help.c:5389 +#: sql_help.c:5725 msgid "define a cursor" msgstr "커서 지정" -#: sql_help.c:5395 +#: sql_help.c:5731 msgid "delete rows of a table" msgstr "테이블의 자료 삭제" -#: sql_help.c:5401 +#: sql_help.c:5737 msgid "discard session state" msgstr "세션 상태 삭제" -#: sql_help.c:5407 +#: sql_help.c:5743 msgid "execute an anonymous code block" msgstr "임의 코드 블록 실행" -#: sql_help.c:5413 +#: sql_help.c:5749 msgid "remove an access method" msgstr "접근 방법 삭제" -#: sql_help.c:5419 +#: sql_help.c:5755 msgid "remove an aggregate function" msgstr "집계 함수 삭제" -#: sql_help.c:5425 +#: sql_help.c:5761 msgid "remove a cast" msgstr "형변환자 삭제" -#: sql_help.c:5431 +#: sql_help.c:5767 msgid "remove a collation" msgstr "collation 삭제" -#: sql_help.c:5437 +#: sql_help.c:5773 msgid "remove a conversion" msgstr "문자코드 변환규칙(conversion) 삭제" -#: sql_help.c:5443 +#: sql_help.c:5779 msgid "remove a database" msgstr "데이터베이스 삭제" -#: sql_help.c:5449 +#: sql_help.c:5785 msgid "remove a domain" msgstr "도메인 삭제" -#: sql_help.c:5455 +#: sql_help.c:5791 msgid "remove an event trigger" msgstr "이벤트 트리거 삭제" -#: sql_help.c:5461 +#: sql_help.c:5797 msgid "remove an extension" msgstr "확장 모듈 삭제" -#: sql_help.c:5467 +#: sql_help.c:5803 msgid "remove a foreign-data wrapper" msgstr "외부 데이터 래퍼 제거" -#: sql_help.c:5473 +#: sql_help.c:5809 msgid "remove a foreign table" msgstr "외부 테이블 삭제" -#: sql_help.c:5479 +#: sql_help.c:5815 msgid "remove a function" msgstr "함수 삭제" -#: sql_help.c:5485 sql_help.c:5551 sql_help.c:5653 +#: sql_help.c:5821 sql_help.c:5887 sql_help.c:5989 msgid "remove a database role" msgstr "데이터베이스 롤 삭제" -#: sql_help.c:5491 +#: sql_help.c:5827 msgid "remove an index" msgstr "인덱스 삭제" -#: sql_help.c:5497 +#: sql_help.c:5833 msgid "remove a procedural language" msgstr "프로시주얼 언어 삭제" -#: sql_help.c:5503 +#: sql_help.c:5839 msgid "remove a materialized view" msgstr "materialized 뷰 삭제" -#: sql_help.c:5509 +#: sql_help.c:5845 msgid "remove an operator" msgstr "연산자 삭제" -#: sql_help.c:5515 +#: sql_help.c:5851 msgid "remove an operator class" msgstr "연산자 클래스 삭제" -#: sql_help.c:5521 +#: sql_help.c:5857 msgid "remove an operator family" msgstr "연산자 부류 삭제" -#: sql_help.c:5527 +#: sql_help.c:5863 msgid "remove database objects owned by a database role" msgstr "데이터베이스 롤로 권한이 부여된 데이터베이스 개체들을 삭제하세요" -#: sql_help.c:5533 -msgid "remove a row level security policy from a table" -msgstr "특정 테이블에 정의된 로우 단위 보안 정책 삭제" +#: sql_help.c:5869 +msgid "remove a row-level security policy from a table" +msgstr "해당 테이블에 정의된 로우 단위 보안 정책 삭제" -#: sql_help.c:5539 +#: sql_help.c:5875 msgid "remove a procedure" msgstr "프로시져 삭제" -#: sql_help.c:5545 +#: sql_help.c:5881 msgid "remove a publication" msgstr "발행 삭제" -#: sql_help.c:5557 +#: sql_help.c:5893 msgid "remove a routine" msgstr "루틴 삭제" -#: sql_help.c:5563 +#: sql_help.c:5899 msgid "remove a rewrite rule" msgstr "룰(rule) 삭제" -#: sql_help.c:5569 +#: sql_help.c:5905 msgid "remove a schema" msgstr "스키마(schema) 삭제" -#: sql_help.c:5575 +#: sql_help.c:5911 msgid "remove a sequence" msgstr "시퀀스 삭제" -#: sql_help.c:5581 +#: sql_help.c:5917 msgid "remove a foreign server descriptor" msgstr "외부 서버 설명자 제거" -#: sql_help.c:5587 +#: sql_help.c:5923 msgid "remove extended statistics" msgstr "확장 통계정보 삭제" -#: sql_help.c:5593 +#: sql_help.c:5929 msgid "remove a subscription" msgstr "구독 삭제" -#: sql_help.c:5599 +#: sql_help.c:5935 msgid "remove a table" msgstr "테이블 삭제" -#: sql_help.c:5605 +#: sql_help.c:5941 msgid "remove a tablespace" msgstr "테이블스페이스 삭제" -#: sql_help.c:5611 +#: sql_help.c:5947 msgid "remove a text search configuration" msgstr "텍스트 검색 구성 제거" -#: sql_help.c:5617 +#: sql_help.c:5953 msgid "remove a text search dictionary" msgstr "텍스트 검색 사전 제거" -#: sql_help.c:5623 +#: sql_help.c:5959 msgid "remove a text search parser" msgstr "텍스트 검색 파서 제거" -#: sql_help.c:5629 +#: sql_help.c:5965 msgid "remove a text search template" msgstr "텍스트 검색 템플릿 제거" -#: sql_help.c:5635 +#: sql_help.c:5971 msgid "remove a transform" msgstr "transform 삭제" -#: sql_help.c:5641 +#: sql_help.c:5977 msgid "remove a trigger" msgstr "트리거 삭제" -#: sql_help.c:5647 +#: sql_help.c:5983 msgid "remove a data type" msgstr "자료형 삭제" -#: sql_help.c:5659 +#: sql_help.c:5995 msgid "remove a user mapping for a foreign server" msgstr "외부 서버에 대한 사용자 매핑 제거" -#: sql_help.c:5665 +#: sql_help.c:6001 msgid "remove a view" msgstr "뷰(view) 삭제" -#: sql_help.c:5677 +#: sql_help.c:6013 msgid "execute a prepared statement" msgstr "준비된 구문(prepared statement) 실행" -#: sql_help.c:5683 +#: sql_help.c:6019 msgid "show the execution plan of a statement" msgstr "쿼리 실행계획 보기" -#: sql_help.c:5689 +#: sql_help.c:6025 msgid "retrieve rows from a query using a cursor" msgstr "해당 커서에서 자료 뽑기" -#: sql_help.c:5695 +#: sql_help.c:6031 msgid "define access privileges" msgstr "액세스 권한 지정하기" -#: sql_help.c:5701 +#: sql_help.c:6037 msgid "import table definitions from a foreign server" msgstr "외부 서버로부터 테이블 정의 가져오기" -#: sql_help.c:5707 +#: sql_help.c:6043 msgid "create new rows in a table" msgstr "테이블 자료 삽입" -#: sql_help.c:5713 +#: sql_help.c:6049 msgid "listen for a notification" msgstr "특정 서버 메시지 수신함" -#: sql_help.c:5719 +#: sql_help.c:6055 msgid "load a shared library file" msgstr "공유 라이브러리 파일 로드" -#: sql_help.c:5725 +#: sql_help.c:6061 msgid "lock a table" msgstr "테이블 잠금" -#: sql_help.c:5731 +#: sql_help.c:6067 +msgid "conditionally insert, update, or delete rows of a table" +msgstr "조건부 테이블 insert, update, delete" + +#: sql_help.c:6073 msgid "position a cursor" msgstr "커서 위치 옮기기" -#: sql_help.c:5737 +#: sql_help.c:6079 msgid "generate a notification" msgstr "특정 서버 메시지 발생" -#: sql_help.c:5743 +#: sql_help.c:6085 msgid "prepare a statement for execution" msgstr "준비된 구문(prepared statement) 만들기" -#: sql_help.c:5749 +#: sql_help.c:6091 msgid "prepare the current transaction for two-phase commit" msgstr "two-phase 커밋을 위해 현재 트랜잭션을 준비함" -#: sql_help.c:5755 +#: sql_help.c:6097 msgid "change the ownership of database objects owned by a database role" msgstr "데이터베이스 롤로 권한이 부여된 데이터베이스 개체들의 소유주 바꾸기" -#: sql_help.c:5761 +#: sql_help.c:6103 msgid "replace the contents of a materialized view" msgstr "구체화된 뷰의 내용 수정" -#: sql_help.c:5767 +#: sql_help.c:6109 msgid "rebuild indexes" msgstr "인덱스 다시 만들기" -#: sql_help.c:5773 -msgid "destroy a previously defined savepoint" -msgstr "이전 정의된 savepoint를 파기함" +#: sql_help.c:6115 +msgid "release a previously defined savepoint" +msgstr "이전 정의된 savepoint를 지움" -#: sql_help.c:5779 +#: sql_help.c:6121 msgid "restore the value of a run-time parameter to the default value" msgstr "실시간 환경 변수값을 초기값으로 다시 지정" -#: sql_help.c:5785 +#: sql_help.c:6127 msgid "remove access privileges" msgstr "액세스 권한 해제하기" -#: sql_help.c:5797 +#: sql_help.c:6139 msgid "cancel a transaction that was earlier prepared for two-phase commit" msgstr "two-phase 커밋을 위해 먼저 준비되었던 트랜잭션 실행취소하기" -#: sql_help.c:5803 +#: sql_help.c:6145 msgid "roll back to a savepoint" msgstr "savepoint 파기하기" -#: sql_help.c:5809 +#: sql_help.c:6151 msgid "define a new savepoint within the current transaction" msgstr "현재 트랜잭션에서 새로운 savepoint 만들기" -#: sql_help.c:5815 +#: sql_help.c:6157 msgid "define or change a security label applied to an object" msgstr "해당 개체에 보안 라벨을 정의하거나 변경" -#: sql_help.c:5821 sql_help.c:5875 sql_help.c:5911 +#: sql_help.c:6163 sql_help.c:6217 sql_help.c:6253 msgid "retrieve rows from a table or view" msgstr "테이블이나 뷰의 자료를 출력" -#: sql_help.c:5833 +#: sql_help.c:6175 msgid "change a run-time parameter" msgstr "실시간 환경 변수값 바꾸기" -#: sql_help.c:5839 +#: sql_help.c:6181 msgid "set constraint check timing for the current transaction" msgstr "현재 트랜잭션에서 제약조건 설정" -#: sql_help.c:5845 +#: sql_help.c:6187 msgid "set the current user identifier of the current session" msgstr "현재 세션의 현재 사용자 식별자를 지정" -#: sql_help.c:5851 +#: sql_help.c:6193 msgid "" "set the session user identifier and the current user identifier of the " "current session" msgstr "현재 세션의 사용자 인증을 지정함 - 사용자 지정" -#: sql_help.c:5857 +#: sql_help.c:6199 msgid "set the characteristics of the current transaction" msgstr "현재 트랜잭션의 성질을 지정함" -#: sql_help.c:5863 +#: sql_help.c:6205 msgid "show the value of a run-time parameter" msgstr "실시간 환경 변수값들을 보여줌" -#: sql_help.c:5881 +#: sql_help.c:6223 msgid "empty a table or set of tables" msgstr "하나 또는 지정한 여러개의 테이블에서 모든 자료 지움" -#: sql_help.c:5887 +#: sql_help.c:6229 msgid "stop listening for a notification" msgstr "특정 서버 메시지 수신 기능 끔" -#: sql_help.c:5893 +#: sql_help.c:6235 msgid "update rows of a table" msgstr "테이블 자료 갱신" -#: sql_help.c:5899 +#: sql_help.c:6241 msgid "garbage-collect and optionally analyze a database" msgstr "물리적인 자료 정리 작업 - 쓰레기값 청소" -#: sql_help.c:5905 +#: sql_help.c:6247 msgid "compute a set of rows" msgstr "compute a set of rows" -#: startup.c:212 +#: startup.c:220 #, c-format msgid "-1 can only be used in non-interactive mode" msgstr "-1 옵션은 비대화형 모드에서만 사용할 수 있음" -#: startup.c:299 -#, c-format -msgid "could not connect to server: %s" -msgstr "서버 접속 실패: %s" - -#: startup.c:327 +#: startup.c:343 #, c-format msgid "could not open log file \"%s\": %m" msgstr "\"%s\" 잠금파일을 열 수 없음: %m" -#: startup.c:439 +#: startup.c:460 #, c-format msgid "" "Type \"help\" for help.\n" @@ -6489,27 +6637,27 @@ msgstr "" "도움말을 보려면 \"help\"를 입력하십시오.\n" "\n" -#: startup.c:589 +#: startup.c:612 #, c-format msgid "could not set printing parameter \"%s\"" msgstr "출력 매개 변수 \"%s\" 지정할 수 없음" -#: startup.c:697 +#: startup.c:719 #, c-format -msgid "Try \"%s --help\" for more information.\n" -msgstr "자세한 도움말은 \"%s --help\"\n" +msgid "Try \"%s --help\" for more information." +msgstr "자세한 사항은 \"%s --help\" 명령으로 살펴보세요." -#: startup.c:714 +#: startup.c:735 #, c-format msgid "extra command-line argument \"%s\" ignored" msgstr "추가 명령행 인자 \"%s\" 무시됨" -#: startup.c:763 +#: startup.c:783 #, c-format msgid "could not find own program executable" msgstr "실행 가능한 프로그램을 찾을 수 없음" -#: tab-complete.c:4640 +#: tab-complete.c:6078 #, c-format msgid "" "tab completion query failed: %s\n" @@ -6535,7 +6683,7 @@ msgstr "\"%s\" 값은 \"%s\" 변수값으로 사용할 수 없음; 정수형이 msgid "invalid variable name: \"%s\"" msgstr "잘못된 변수 이름: \"%s\"" -#: variables.c:393 +#: variables.c:418 #, c-format msgid "" "unrecognized value \"%s\" for \"%s\"\n" diff --git a/src/bin/scripts/po/el.po b/src/bin/scripts/po/el.po index 814e90a3a70..321de27e403 100644 --- a/src/bin/scripts/po/el.po +++ b/src/bin/scripts/po/el.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: pgscripts (PostgreSQL) 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-04-14 09:19+0000\n" -"PO-Revision-Date: 2023-04-14 14:51+0200\n" +"POT-Creation-Date: 2023-08-14 23:19+0000\n" +"PO-Revision-Date: 2023-08-15 16:06+0200\n" "Last-Translator: Georgios Kokolatos \n" "Language-Team: \n" "Language: el\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Poedit 3.2.2\n" +"X-Generator: Poedit 3.3.2\n" #: ../../../src/common/logging.c:276 #, c-format @@ -39,12 +39,12 @@ msgid "hint: " msgstr "υπόδειξη: " #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 -#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format msgid "out of memory\n" msgstr "έλλειψη μνήμης\n" -#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 #, c-format msgid "cannot duplicate null pointer (internal error)\n" msgstr "δεν ήταν δυνατή η αντιγραφή δείκτη null (εσωτερικό σφάλμα)\n" @@ -71,7 +71,7 @@ msgstr "Αίτηση ακύρωσης εστάλη\n" msgid "Could not send cancel request: " msgstr "Δεν ήταν δυνατή η αποστολή αίτησης ακύρωσης: " -#: ../../fe_utils/connect_utils.c:49 ../../fe_utils/connect_utils.c:104 +#: ../../fe_utils/connect_utils.c:49 ../../fe_utils/connect_utils.c:103 msgid "Password: " msgstr "Κωδικός πρόσβασης: " @@ -80,7 +80,7 @@ msgstr "Κωδικός πρόσβασης: " msgid "could not connect to database %s: out of memory" msgstr "δεν ήταν δυνατή η σύνδεση με τη βάσης δεδομένων %s: έλλειψη μνήμης" -#: ../../fe_utils/connect_utils.c:117 pg_isready.c:146 +#: ../../fe_utils/connect_utils.c:116 pg_isready.c:146 #, c-format msgid "%s" msgstr "%s" @@ -95,12 +95,12 @@ msgstr "μη έγκυρη τιμή «%s» για την επιλογή %s" msgid "%s must be in range %d..%d" msgstr "%s πρέπει να βρίσκεται εντός εύρους %d..%d" -#: ../../fe_utils/parallel_slot.c:301 +#: ../../fe_utils/parallel_slot.c:299 #, c-format msgid "too many jobs for this platform" msgstr "πάρα πολλές εργασίες για την παρούσα πλατφόρμα" -#: ../../fe_utils/parallel_slot.c:519 +#: ../../fe_utils/parallel_slot.c:520 #, c-format msgid "processing of database \"%s\" failed: %s" msgstr "η επεξεργασία της βάσης δεδομένων «%s» απέτυχε: %s" @@ -112,22 +112,22 @@ msgid_plural "(%lu rows)" msgstr[0] "(%lu σειρά)" msgstr[1] "(%lu σειρές)" -#: ../../fe_utils/print.c:3109 +#: ../../fe_utils/print.c:3154 #, c-format msgid "Interrupted\n" msgstr "Διακόπηκε\n" -#: ../../fe_utils/print.c:3173 +#: ../../fe_utils/print.c:3218 #, c-format msgid "Cannot add header to table content: column count of %d exceeded.\n" msgstr "Δεν είναι δυνατή η προσθήκη κεφαλίδας σε περιεχόμενο πίνακα: υπέρβαση του πλήθους στηλών %d.\n" -#: ../../fe_utils/print.c:3213 +#: ../../fe_utils/print.c:3258 #, c-format msgid "Cannot add cell to table content: total cell count of %d exceeded.\n" msgstr "Δεν είναι δυνατή η προσθήκη κελιού σε περιεχόμενο πίνακα: υπέρβαση του συνολικού αριθμού κελιών %d.\n" -#: ../../fe_utils/print.c:3471 +#: ../../fe_utils/print.c:3516 #, c-format msgid "invalid output format (internal error): %d" msgstr "μη έγκυρη μορφή εξόδου (εσωτερικό σφάλμα): %d" @@ -142,16 +142,16 @@ msgstr "το ερώτημα απέτυχε: %s" msgid "Query was: %s" msgstr "Το ερώτημα ήταν: %s" -#: clusterdb.c:113 clusterdb.c:132 createdb.c:139 createdb.c:158 -#: createuser.c:170 createuser.c:185 dropdb.c:104 dropdb.c:113 dropdb.c:121 +#: clusterdb.c:113 clusterdb.c:132 createdb.c:144 createdb.c:163 +#: createuser.c:195 createuser.c:210 dropdb.c:104 dropdb.c:113 dropdb.c:121 #: dropuser.c:95 dropuser.c:110 dropuser.c:123 pg_isready.c:97 pg_isready.c:111 -#: reindexdb.c:174 reindexdb.c:193 vacuumdb.c:241 vacuumdb.c:260 +#: reindexdb.c:174 reindexdb.c:193 vacuumdb.c:277 vacuumdb.c:297 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Δοκιμάστε «%s --help» για περισσότερες πληροφορίες." -#: clusterdb.c:130 createdb.c:156 createuser.c:183 dropdb.c:119 dropuser.c:108 -#: pg_isready.c:109 reindexdb.c:191 vacuumdb.c:258 +#: clusterdb.c:130 createdb.c:161 createuser.c:208 dropdb.c:119 dropuser.c:108 +#: pg_isready.c:109 reindexdb.c:191 vacuumdb.c:295 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "πάρα πολλοί παραμέτροι εισόδου από την γραμμή εντολών (ο πρώτη είναι η «%s»)" @@ -176,12 +176,12 @@ msgstr "η ομαδοποίηση του πίνακα «%s» στη βάση δ msgid "clustering of database \"%s\" failed: %s" msgstr "η ομαδοποίηση της βάσης δεδομένων «%s» απέτυχε: %s" -#: clusterdb.c:246 +#: clusterdb.c:248 #, c-format msgid "%s: clustering database \"%s\"\n" msgstr "%s: ομαδοποιείται η βάση δεδομένων «%s»\n" -#: clusterdb.c:262 +#: clusterdb.c:264 #, c-format msgid "" "%s clusters all previously clustered tables in a database.\n" @@ -190,19 +190,19 @@ msgstr "" "%s: ομαδοποιεί όλους του προηγούμενα ομαδοποιημένους πίνακες σε μία βάση δεδομένων\n" "\n" -#: clusterdb.c:263 createdb.c:281 createuser.c:346 dropdb.c:172 dropuser.c:170 -#: pg_isready.c:226 reindexdb.c:760 vacuumdb.c:964 +#: clusterdb.c:265 createdb.c:288 createuser.c:415 dropdb.c:172 dropuser.c:170 +#: pg_isready.c:226 reindexdb.c:750 vacuumdb.c:1127 #, c-format msgid "Usage:\n" msgstr "Χρήση:\n" -#: clusterdb.c:264 reindexdb.c:761 vacuumdb.c:965 +#: clusterdb.c:266 reindexdb.c:751 vacuumdb.c:1128 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [ΕΠΙΛΟΓΗ]... [DBNAME]\n" -#: clusterdb.c:265 createdb.c:283 createuser.c:348 dropdb.c:174 dropuser.c:172 -#: pg_isready.c:229 reindexdb.c:762 vacuumdb.c:966 +#: clusterdb.c:267 createdb.c:290 createuser.c:417 dropdb.c:174 dropuser.c:172 +#: pg_isready.c:229 reindexdb.c:752 vacuumdb.c:1129 #, c-format msgid "" "\n" @@ -211,48 +211,48 @@ msgstr "" "\n" "Επιλογές:\n" -#: clusterdb.c:266 +#: clusterdb.c:268 #, c-format msgid " -a, --all cluster all databases\n" msgstr " -a, --all ομαδοποίησε όλες τις βάσεις δεδομένων\n" -#: clusterdb.c:267 +#: clusterdb.c:269 #, c-format msgid " -d, --dbname=DBNAME database to cluster\n" msgstr " -d, --dbname=DBNAME βάση δεδομένων για ομαδοποίηση\n" -#: clusterdb.c:268 createuser.c:352 dropdb.c:175 dropuser.c:173 +#: clusterdb.c:270 createuser.c:423 dropdb.c:175 dropuser.c:173 #, c-format msgid " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo εμφάνισε τις εντολές που αποστέλλονται στο διακομιστή\n" -#: clusterdb.c:269 +#: clusterdb.c:271 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet να μην γράψεις κανένα μήνυμα\n" -#: clusterdb.c:270 +#: clusterdb.c:272 #, c-format msgid " -t, --table=TABLE cluster specific table(s) only\n" msgstr " -t, --table=TABLE να ομαδοποιήσεις μόνο συγκεκριμένους πίνακες\n" -#: clusterdb.c:271 +#: clusterdb.c:273 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose γράψε πολλά μηνύματα εξόδου\n" -#: clusterdb.c:272 createuser.c:364 dropdb.c:178 dropuser.c:176 +#: clusterdb.c:274 createuser.c:439 dropdb.c:178 dropuser.c:176 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version εμφάνισε πληροφορίες έκδοσης, στη συνέχεια έξοδος\n" -#: clusterdb.c:273 createuser.c:369 dropdb.c:180 dropuser.c:178 +#: clusterdb.c:275 createuser.c:447 dropdb.c:180 dropuser.c:178 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help εμφάνισε αυτό το μήνυμα βοήθειας, στη συνέχεια έξοδος\n" -#: clusterdb.c:274 createdb.c:298 createuser.c:370 dropdb.c:181 dropuser.c:179 -#: pg_isready.c:235 reindexdb.c:777 vacuumdb.c:991 +#: clusterdb.c:276 createdb.c:306 createuser.c:448 dropdb.c:181 dropuser.c:179 +#: pg_isready.c:235 reindexdb.c:767 vacuumdb.c:1158 #, c-format msgid "" "\n" @@ -261,37 +261,37 @@ msgstr "" "\n" "Επιλογές σύνδεσης:\n" -#: clusterdb.c:275 createuser.c:371 dropdb.c:182 dropuser.c:180 vacuumdb.c:992 +#: clusterdb.c:277 createuser.c:449 dropdb.c:182 dropuser.c:180 vacuumdb.c:1159 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=HOSTNAME διακομιστής βάσης δεδομένων ή κατάλογος υποδοχών\n" -#: clusterdb.c:276 createuser.c:372 dropdb.c:183 dropuser.c:181 vacuumdb.c:993 +#: clusterdb.c:278 createuser.c:450 dropdb.c:183 dropuser.c:181 vacuumdb.c:1160 #, c-format msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=PORT θύρα διακομιστή βάσης δεδομένων\n" -#: clusterdb.c:277 dropdb.c:184 vacuumdb.c:994 +#: clusterdb.c:279 dropdb.c:184 vacuumdb.c:1161 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" msgstr " -U, --username=USERNAME όνομα χρήστη με το οποίο να συνδεθεί\n" -#: clusterdb.c:278 createuser.c:374 dropdb.c:185 dropuser.c:183 vacuumdb.c:995 +#: clusterdb.c:280 createuser.c:452 dropdb.c:185 dropuser.c:183 vacuumdb.c:1162 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password να μην ζητείται ποτέ κωδικός πρόσβασης\n" -#: clusterdb.c:279 createuser.c:375 dropdb.c:186 dropuser.c:184 vacuumdb.c:996 +#: clusterdb.c:281 createuser.c:453 dropdb.c:186 dropuser.c:184 vacuumdb.c:1163 #, c-format msgid " -W, --password force password prompt\n" msgstr " -W, --password αναγκαστική προτροπή κωδικού πρόσβασης\n" -#: clusterdb.c:280 dropdb.c:187 vacuumdb.c:997 +#: clusterdb.c:282 dropdb.c:187 vacuumdb.c:1164 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" msgstr " --maintenance-db=DBNAME εναλλακτική βάση δεδομένων συντήρησης\n" -#: clusterdb.c:281 +#: clusterdb.c:283 #, c-format msgid "" "\n" @@ -300,8 +300,8 @@ msgstr "" "\n" "Διαβάστε την περιγραφή της SQL εντολής CLUSTER για λεπτομέρειες.\n" -#: clusterdb.c:282 createdb.c:306 createuser.c:376 dropdb.c:188 dropuser.c:185 -#: pg_isready.c:240 reindexdb.c:785 vacuumdb.c:999 +#: clusterdb.c:284 createdb.c:314 createuser.c:454 dropdb.c:188 dropuser.c:185 +#: pg_isready.c:240 reindexdb.c:775 vacuumdb.c:1166 #, c-format msgid "" "\n" @@ -310,8 +310,8 @@ msgstr "" "\n" "Υποβάλετε αναφορές σφάλματων σε <%s>.\n" -#: clusterdb.c:283 createdb.c:307 createuser.c:377 dropdb.c:189 dropuser.c:186 -#: pg_isready.c:241 reindexdb.c:786 vacuumdb.c:1000 +#: clusterdb.c:285 createdb.c:315 createuser.c:455 dropdb.c:189 dropuser.c:186 +#: pg_isready.c:241 reindexdb.c:776 vacuumdb.c:1167 #, c-format msgid "%s home page: <%s>\n" msgstr "%s αρχική σελίδα: <%s>\n" @@ -345,22 +345,22 @@ msgstr "%s (%s/%s) " msgid "Please answer \"%s\" or \"%s\".\n" msgstr "Παρακαλώ απαντήστε «%s» ή «%s».\n" -#: createdb.c:173 +#: createdb.c:170 #, c-format msgid "\"%s\" is not a valid encoding name" msgstr "«%s» δεν είναι έγκυρο όνομα κωδικοποίησης" -#: createdb.c:243 +#: createdb.c:250 #, c-format msgid "database creation failed: %s" msgstr "η δημιουργία βάσης δεδομένων απέτυχε: %s" -#: createdb.c:262 +#: createdb.c:269 #, c-format msgid "comment creation failed (database was created): %s" msgstr "η δημιουργία σχολίων απέτυχε (δημιουργήθηκε βάση δεδομένων): %s" -#: createdb.c:280 +#: createdb.c:287 #, c-format msgid "" "%s creates a PostgreSQL database.\n" @@ -369,47 +369,52 @@ msgstr "" "%s δημιουργεί μια βάση δεδομένων PostgreSQL.\n" "\n" -#: createdb.c:282 +#: createdb.c:289 #, c-format msgid " %s [OPTION]... [DBNAME] [DESCRIPTION]\n" msgstr " %s [ΕΠΙΛΟΓΗ]... [DBNAME] [ΠΕΡΙΓΡΑΦΗ]\n" -#: createdb.c:284 +#: createdb.c:291 #, c-format msgid " -D, --tablespace=TABLESPACE default tablespace for the database\n" msgstr " -D, --tablespace=TABLESPACE προεπιλεγμένος πινακοχώρος για τη βάση δεδομένων\n" -#: createdb.c:285 reindexdb.c:766 +#: createdb.c:292 reindexdb.c:756 #, c-format msgid " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo εμφάνισε τις εντολές που αποστέλλονται στο διακομιστή\n" -#: createdb.c:286 +#: createdb.c:293 #, c-format msgid " -E, --encoding=ENCODING encoding for the database\n" msgstr " -E, --encoding=ENCODING κωδικοποίηση για την βάση δεδομένων\n" -#: createdb.c:287 +#: createdb.c:294 #, c-format msgid " -l, --locale=LOCALE locale settings for the database\n" msgstr " -l, --locale=LOCALE ρυθμίσεις εντοπιότητας για τη βάση δεδομένων\n" -#: createdb.c:288 +#: createdb.c:295 #, c-format msgid " --lc-collate=LOCALE LC_COLLATE setting for the database\n" msgstr " --lc-collate=LOCALE ρύθμιση LC_COLLATE για την βάση δεδομένων\n" -#: createdb.c:289 +#: createdb.c:296 #, c-format msgid " --lc-ctype=LOCALE LC_CTYPE setting for the database\n" msgstr " --lc-collate=LOCALE ρύθμιση LC_CTYPE για την βάση δεδομένων\n" -#: createdb.c:290 +#: createdb.c:297 #, c-format msgid " --icu-locale=LOCALE ICU locale setting for the database\n" msgstr " --icu-locale=LOCALE ICU ρυθμίσεις εντοπιότητας για τη βάση δεδομένων\n" -#: createdb.c:291 +#: createdb.c:298 +#, c-format +msgid " --icu-rules=RULES ICU rules setting for the database\n" +msgstr " --icu-rules=RULES ICU ρυθμίσεις κανόνων για τη βάση δεδομένων\n" + +#: createdb.c:299 #, c-format msgid "" " --locale-provider={libc|icu}\n" @@ -418,62 +423,62 @@ msgstr "" " --locale-provider={libc|icu}\n" " πάροχος εντοπιότητας για την προεπιλεγμένη συρραφή της βάσης\n" -#: createdb.c:293 +#: createdb.c:301 #, c-format msgid " -O, --owner=OWNER database user to own the new database\n" msgstr " -O, --owner=OWNER όνομα χρήστη που θα κατέχει την νέα βάση δεδομένων\n" -#: createdb.c:294 +#: createdb.c:302 #, c-format msgid " -S, --strategy=STRATEGY database creation strategy wal_log or file_copy\n" msgstr " -S, --strategy=STRATEGY δημιουργία στρατηγικής wal_log βάσης δεδομένων ή flle_copy\n" -#: createdb.c:295 +#: createdb.c:303 #, c-format msgid " -T, --template=TEMPLATE template database to copy\n" msgstr " -T, --template=TEMPLATE πρωτότυπη βάση δεδομένων για αντιγραφή\n" -#: createdb.c:296 reindexdb.c:775 +#: createdb.c:304 reindexdb.c:765 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version εμφάνισε πληροφορίες έκδοσης και, στη συνέχεια, έξοδος\n" -#: createdb.c:297 reindexdb.c:776 +#: createdb.c:305 reindexdb.c:766 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help εμφάνισε αυτό το μήνυμα βοήθειας, και μετά έξοδος\n" -#: createdb.c:299 reindexdb.c:778 +#: createdb.c:307 reindexdb.c:768 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=HOSTNAME διακομιστής βάσης δεδομένων ή κατάλογος υποδοχών\n" -#: createdb.c:300 reindexdb.c:779 +#: createdb.c:308 reindexdb.c:769 #, c-format msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=PORT θύρα διακομιστή βάσης δεδομένων\n" -#: createdb.c:301 reindexdb.c:780 +#: createdb.c:309 reindexdb.c:770 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" msgstr " -U, --username=USERNAME όνομα χρήστη με το οποίο να συνδεθεί\n" -#: createdb.c:302 reindexdb.c:781 +#: createdb.c:310 reindexdb.c:771 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password να μην ζητείται ποτέ κωδικός πρόσβασης\n" -#: createdb.c:303 reindexdb.c:782 +#: createdb.c:311 reindexdb.c:772 #, c-format msgid " -W, --password force password prompt\n" msgstr " -W, --password αναγκαστική προτροπή κωδικού πρόσβασης\n" -#: createdb.c:304 reindexdb.c:783 +#: createdb.c:312 reindexdb.c:773 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" msgstr " --maintenance-db=DBNAME εναλλακτική βάση δεδομένων συντήρησης\n" -#: createdb.c:305 +#: createdb.c:313 #, c-format msgid "" "\n" @@ -482,46 +487,46 @@ msgstr "" "\n" "Από προεπιλογή, δημιουργείται μια βάση δεδομένων με το ίδιο όνομα με τον τρέχοντα χρήστη.\n" -#: createuser.c:193 +#: createuser.c:218 msgid "Enter name of role to add: " msgstr "Εισαγάγετε το όνομα του ρόλου για να προσθέσετε: " -#: createuser.c:208 +#: createuser.c:233 msgid "Enter password for new role: " msgstr "Εισαγάγετε κωδικό πρόσβασης για νέο ρόλο: " -#: createuser.c:209 +#: createuser.c:234 msgid "Enter it again: " msgstr "Εισάγετε ξανά: " -#: createuser.c:212 +#: createuser.c:237 #, c-format msgid "Passwords didn't match.\n" msgstr "Οι κωδικοί πρόσβασης δεν είναι ίδιοι.\n" -#: createuser.c:220 +#: createuser.c:245 msgid "Shall the new role be a superuser?" msgstr "Να είναι ο νέος ρόλος υπερχρήστης;" -#: createuser.c:235 +#: createuser.c:260 msgid "Shall the new role be allowed to create databases?" msgstr "Να επιτραπεί στον νέο ρόλο η δημιουργία βάσεων δεδομένων;" -#: createuser.c:243 +#: createuser.c:268 msgid "Shall the new role be allowed to create more new roles?" msgstr "Να επιτραπεί στον νέο ρόλο να δημιουργήσει περισσότερους νέους ρόλους;" -#: createuser.c:278 +#: createuser.c:309 #, c-format msgid "password encryption failed: %s" msgstr "η κρυπτογράφηση κωδικού πρόσβασης απέτυχε: %s" -#: createuser.c:331 +#: createuser.c:400 #, c-format msgid "creation of new role failed: %s" msgstr "η δημιουργία νέου ρόλου απέτυχε: %s" -#: createuser.c:345 +#: createuser.c:414 #, c-format msgid "" "%s creates a new PostgreSQL role.\n" @@ -530,32 +535,46 @@ msgstr "" "%s δημιουργεί ένα νέο ρόλο PostgreSQL.\n" "\n" -#: createuser.c:347 dropuser.c:171 +#: createuser.c:416 dropuser.c:171 #, c-format msgid " %s [OPTION]... [ROLENAME]\n" msgstr " %s [ΕΠΙΛΟΓΗ]... [ROLENAME]\n" -#: createuser.c:349 +#: createuser.c:418 +#, c-format +msgid "" +" -a, --with-admin=ROLE ROLE will be a member of new role with admin\n" +" option\n" +msgstr "" +" -a, --with-admin=ROLE Ο Ρόλος θα είναι μέρος του καινούριου ρόλου με\n" +" επιλογές διαχειριστή\n" + +#: createuser.c:420 #, c-format msgid " -c, --connection-limit=N connection limit for role (default: no limit)\n" msgstr " -c, --connection-limit=N όριο σύνδεσης για το ρόλο (προεπιλογή: κανένα όριο)\n" -#: createuser.c:350 +#: createuser.c:421 #, c-format msgid " -d, --createdb role can create new databases\n" msgstr " -d, --createdb ο ρόλος μπορεί να δημιουργήσει νέες βάσεις δεδομένων\n" -#: createuser.c:351 +#: createuser.c:422 #, c-format msgid " -D, --no-createdb role cannot create databases (default)\n" msgstr " -D, --no-createdb ο ρόλος δεν μπορεί να δημιουργήσει βάσεις δεδομένων (προεπιλογή)\n" -#: createuser.c:353 +#: createuser.c:424 #, c-format -msgid " -g, --role=ROLE new role will be a member of this role\n" -msgstr " -g, --role=ROLE ο καινούριος ρόλος να αποτελεί μέλος αυτού του ρόλου\n" +msgid " -g, --member-of=ROLE new role will be a member of ROLE\n" +msgstr " -g, --member-of=ROLE ο καινούριος ρόλος να αποτελεί μέλος αυτού του Ρόλου\n" -#: createuser.c:354 +#: createuser.c:425 +#, c-format +msgid " --role=ROLE (same as --member-of, deprecated)\n" +msgstr " --role=ROLE (το ίδιο όπως --member-of, παρωχημένο)\n" + +#: createuser.c:426 #, c-format msgid "" " -i, --inherit role inherits privileges of roles it is a\n" @@ -564,47 +583,61 @@ msgstr "" " -i, --inherit ο ρόλος να κληρονομεί τα προνόμια των ρόλων των\n" " οποίων είναι μέλος τους (προεπιλογή)\n" -#: createuser.c:356 +#: createuser.c:428 #, c-format msgid " -I, --no-inherit role does not inherit privileges\n" msgstr " -I, --no-inherit ο ρόλος δεν κληρονομεί προνόμια\n" -#: createuser.c:357 +#: createuser.c:429 #, c-format msgid " -l, --login role can login (default)\n" msgstr " -l, --login ο ρόλος μπορεί να συνδεθεί (προεπιλογή)\n" -#: createuser.c:358 +#: createuser.c:430 #, c-format msgid " -L, --no-login role cannot login\n" msgstr " -L, --no-login ο ρόλος δεν μπορεί να συνδεθεί\n" -#: createuser.c:359 +#: createuser.c:431 +#, c-format +msgid " -m, --with-member=ROLE ROLE will be a member of new role\n" +msgstr " -m, --with-member=ROLE Ο ρόλος να αποτελεί μέλος του καινούριου ρόλου\n" + +#: createuser.c:432 #, c-format msgid " -P, --pwprompt assign a password to new role\n" msgstr " -P, --pwprompt αντιστοιχίσε έναν κωδικό πρόσβασης στο νέο ρόλο\n" -#: createuser.c:360 +#: createuser.c:433 #, c-format msgid " -r, --createrole role can create new roles\n" msgstr " -r, --createrole ο ρόλος μπορεί να δημιουργεί νέους ρόλους\n" -#: createuser.c:361 +#: createuser.c:434 #, c-format msgid " -R, --no-createrole role cannot create roles (default)\n" msgstr " -R, --no-createrole ο ρόλος δεν μπορεί να δημιουργεί νέους ρόλους (προεπιλογή)\n" -#: createuser.c:362 +#: createuser.c:435 #, c-format msgid " -s, --superuser role will be superuser\n" msgstr " -s, --superuser ο ρόλος θα είναι υπερχρήστης\n" -#: createuser.c:363 +#: createuser.c:436 #, c-format msgid " -S, --no-superuser role will not be superuser (default)\n" msgstr " -S, --no-superuser ο ρόλος δεν θα είναι υπερχρήστης (προεπιλογή)\n" -#: createuser.c:365 +#: createuser.c:437 +#, c-format +msgid "" +" -v, --valid-until=TIMESTAMP\n" +" password expiration date and time for role\n" +msgstr "" +" -v, --valid-until=TIMESTAMP\n" +" ημερομηνία και ώρα για την εκπνοή κωδικού πρόσβασης του ρόλου\n" + +#: createuser.c:440 #, c-format msgid "" " --interactive prompt for missing role name and attributes rather\n" @@ -613,17 +646,31 @@ msgstr "" " --interactive να προτρέψει για το όνομα ρόλου και τα χαρακτηριστικά αντί\n" " να χρησιμοποιήσει προεπιλογές\n" -#: createuser.c:367 +#: createuser.c:442 +#, c-format +msgid " --bypassrls role can bypass row-level security (RLS) policy\n" +msgstr " --bypassrls ο ρόλος μπορεί να παρακάμψει την πολιτική ασφάλειας επιπέδου σειράς (RLS)\n" + +#: createuser.c:443 +#, c-format +msgid "" +" --no-bypassrls role cannot bypass row-level security (RLS) policy\n" +" (default)\n" +msgstr "" +" --no-bypassrls ο ρόλος δεν μπορεί να παρακάμψει την πολιτική ασφάλειας\n" +" επιπέδου σειράς (RLS) (προεπιλογή)\n" + +#: createuser.c:445 #, c-format msgid " --replication role can initiate replication\n" msgstr " --replication ο ρόλος μπορεί να εκκινήσει αναπαραγωγή\n" -#: createuser.c:368 +#: createuser.c:446 #, c-format -msgid " --no-replication role cannot initiate replication\n" -msgstr " --no-replication ο ρόλος να μην μπορεί να εκκινήσει αναπαραγωγή\n" +msgid " --no-replication role cannot initiate replication (default)\n" +msgstr " --no-replication ο ρόλος να μην μπορεί να εκκινήσει αναπαραγωγή (προεπιλογή)\n" -#: createuser.c:373 +#: createuser.c:451 #, c-format msgid " -U, --username=USERNAME user name to connect as (not the one to create)\n" msgstr " -U, --username=USERNAME όνομα χρήστη για να συνδεθεί ως (όχι αυτό που θα δημιουργηθεί)\n" @@ -859,49 +906,44 @@ msgstr "δεν είναι δυνατή η χρήση πολλαπλών εργα msgid "cannot use multiple jobs to reindex indexes" msgstr "δεν είναι δυνατή η χρήση πολλαπλών εργασιών για την επαναευρετηριοποίηση ευρετηρίων" -#: reindexdb.c:323 reindexdb.c:330 vacuumdb.c:425 vacuumdb.c:432 vacuumdb.c:439 -#: vacuumdb.c:446 vacuumdb.c:453 vacuumdb.c:460 vacuumdb.c:465 vacuumdb.c:469 -#: vacuumdb.c:473 +#: reindexdb.c:323 reindexdb.c:330 vacuumdb.c:509 vacuumdb.c:516 vacuumdb.c:523 +#: vacuumdb.c:530 vacuumdb.c:537 vacuumdb.c:544 vacuumdb.c:551 vacuumdb.c:556 +#: vacuumdb.c:560 vacuumdb.c:564 vacuumdb.c:568 #, c-format msgid "cannot use the \"%s\" option on server versions older than PostgreSQL %s" msgstr "δεν είναι δυνατή η χρήση της επιλογής «%s» σε εκδόσεις διακομιστών παλαιότερες από την PostgreSQL %s" -#: reindexdb.c:369 -#, c-format -msgid "cannot reindex system catalogs concurrently, skipping all" -msgstr "δεν είναι δυνατή η ταυτόχρονη επαναευρετηριοποίηση καταλόγων συστήματος, παρακάμπτονται όλοι" - -#: reindexdb.c:573 +#: reindexdb.c:561 #, c-format msgid "reindexing of database \"%s\" failed: %s" msgstr "επαναευρετηριοποίηση της βάσης δεδομένων «%s» απέτυχε: %s" -#: reindexdb.c:577 +#: reindexdb.c:565 #, c-format msgid "reindexing of index \"%s\" in database \"%s\" failed: %s" msgstr "η επανενεξάγηση του ευρετηρίου «%s» στη βάση δεδομένων «%s» απέτυχε: %s" -#: reindexdb.c:581 +#: reindexdb.c:569 #, c-format msgid "reindexing of schema \"%s\" in database \"%s\" failed: %s" msgstr "η επαναευρετηριοποίηση του σχήματος «%s» στη βάση δεδομένων «%s» απέτυχε: %s" -#: reindexdb.c:585 +#: reindexdb.c:573 #, c-format msgid "reindexing of system catalogs in database \"%s\" failed: %s" msgstr "η επαναευρετηριοποίηση καταλόγων συστήματος στη βάση δεδομένων «%s» απέτυχε: %s" -#: reindexdb.c:589 +#: reindexdb.c:577 #, c-format msgid "reindexing of table \"%s\" in database \"%s\" failed: %s" msgstr "η επαναευρετηριοποίηση του πίνακα «%s» στη βάση δεδομένων «%s» απέτυχε: %s" -#: reindexdb.c:742 +#: reindexdb.c:732 #, c-format msgid "%s: reindexing database \"%s\"\n" msgstr "%s: επαναευρετηριοποίηση της βάσης δεδομένων «%s»\n" -#: reindexdb.c:759 +#: reindexdb.c:749 #, c-format msgid "" "%s reindexes a PostgreSQL database.\n" @@ -910,62 +952,62 @@ msgstr "" "%s επαναευρετηριοποιεί μια βάση δεδομένων PostgreSQL.\n" "\n" -#: reindexdb.c:763 +#: reindexdb.c:753 #, c-format msgid " -a, --all reindex all databases\n" msgstr " -a, --all επαναευρετηριοποίηση όλων των βάσεων δεδομένων\n" -#: reindexdb.c:764 +#: reindexdb.c:754 #, c-format msgid " --concurrently reindex concurrently\n" msgstr " -a, --all ταυτόχρονη επαναευρετηριοποίηση\n" -#: reindexdb.c:765 +#: reindexdb.c:755 #, c-format msgid " -d, --dbname=DBNAME database to reindex\n" msgstr " -d, --dbname=DBNAME βάση δεδομένων για επαναευρετηριοποίηση\n" -#: reindexdb.c:767 +#: reindexdb.c:757 #, c-format msgid " -i, --index=INDEX recreate specific index(es) only\n" msgstr " -i, --index=INDEX δημιούργησε συγκεκριμένο(ους) πίνακα(ες) μόνο\n" -#: reindexdb.c:768 +#: reindexdb.c:758 #, c-format msgid " -j, --jobs=NUM use this many concurrent connections to reindex\n" msgstr " -j, --jobs=NUM χρησιμοποιήσε τόσες πολλές ταυτόχρονες συνδέσεις με το διακομιστή\n" -#: reindexdb.c:769 +#: reindexdb.c:759 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet να μην γράψεις κανένα μήνυμα\n" -#: reindexdb.c:770 +#: reindexdb.c:760 #, c-format msgid " -s, --system reindex system catalogs only\n" msgstr " -s, --system επαναευρετηριοποίηση μόνο καταλόγων συστήματος\n" -#: reindexdb.c:771 +#: reindexdb.c:761 #, c-format msgid " -S, --schema=SCHEMA reindex specific schema(s) only\n" msgstr " -S, --schema=SCHEMA επαναευρετηριοποίησε συγκεκριμένο(-α) σχήμα(-τα) μόνο\n" -#: reindexdb.c:772 +#: reindexdb.c:762 #, c-format msgid " -t, --table=TABLE reindex specific table(s) only\n" msgstr " -t, --table=TABLE επαναευρετηριοποίησε συγκεκριμένο(-ους) πίνακα(-ες) μόνο\n" -#: reindexdb.c:773 +#: reindexdb.c:763 #, c-format msgid " --tablespace=TABLESPACE tablespace where indexes are rebuilt\n" msgstr " --tablespace=TABLESPACE πινακοχώρος όπου επαναδημιουργούνται τα ευρετήρια\n" -#: reindexdb.c:774 +#: reindexdb.c:764 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose γράψε πολλά μηνύματα εξόδου\n" -#: reindexdb.c:784 +#: reindexdb.c:774 #, c-format msgid "" "\n" @@ -974,65 +1016,90 @@ msgstr "" "\n" "Διαβάστε την περιγραφή της SQL εντολής REINDEX για λεπτομέρειες.\n" -#: vacuumdb.c:267 vacuumdb.c:270 vacuumdb.c:273 vacuumdb.c:276 vacuumdb.c:279 -#: vacuumdb.c:282 vacuumdb.c:285 vacuumdb.c:294 +#: vacuumdb.c:310 vacuumdb.c:313 vacuumdb.c:316 vacuumdb.c:319 vacuumdb.c:322 +#: vacuumdb.c:325 vacuumdb.c:328 vacuumdb.c:331 vacuumdb.c:340 #, c-format msgid "cannot use the \"%s\" option when performing only analyze" msgstr "δεν είναι δυνατή η χρήση της επιλογής «%s» κατά την εκτέλεση μόνο της ανάλυσης" -#: vacuumdb.c:297 +#: vacuumdb.c:343 #, c-format msgid "cannot use the \"%s\" option when performing full vacuum" msgstr "δεν είναι δυνατή η χρήση της επιλογής «%s» κατά την εκτέλεση full vacuum" -#: vacuumdb.c:303 +#: vacuumdb.c:349 vacuumdb.c:357 #, c-format msgid "cannot use the \"%s\" option with the \"%s\" option" msgstr "δεν είναι δυνατή η χρήση της επιλογής «%s» μαζί με την επιλογή«%s»" -#: vacuumdb.c:322 +#: vacuumdb.c:428 #, c-format msgid "cannot vacuum all databases and a specific one at the same time" -msgstr "δεν μπορεί να εκτελέσει vacuum σε όλες τις βάσεις δεδομένων και μια συγκεκριμένη ταυτόχρονα" +msgstr "δεν είναι δυνατό το vacuum σε όλες τις βάσεις δεδομένων και μια συγκεκριμένη ταυτόχρονα" -#: vacuumdb.c:324 +#: vacuumdb.c:432 #, c-format msgid "cannot vacuum specific table(s) in all databases" -msgstr "δεν μπορεί να εκτελέσει vacuum συγκεκριμένους πίνακες σε όλες τις βάσεις δεδομένων" +msgstr "δεν είναι δυνατό το vacuum συγκεκριμένων πινάκων σε όλες τις βάσεις δεδομένων" + +#: vacuumdb.c:436 +#, c-format +msgid "cannot vacuum specific schema(s) in all databases" +msgstr "δεν είναι δυνατό το vacuum συγκεκριμένων σχημάτων σε όλες τις βάσεις δεδομένων" -#: vacuumdb.c:412 +#: vacuumdb.c:440 +#, c-format +msgid "cannot exclude specific schema(s) in all databases" +msgstr "δεν είναι δυνατή να αποκλίσει συγκεκριμένα σχήματα σε όλες τις βάσεις δεδομένων" + +#: vacuumdb.c:444 +#, c-format +msgid "cannot vacuum all tables in schema(s) and specific table(s) at the same time" +msgstr "δεν είναι δυνατό το vacuum όλων των πινάκων σε σχήμα(τα) και συγκεκριμένων πινάκων ταυτόχρονα" + +#: vacuumdb.c:448 +#, c-format +msgid "cannot vacuum specific table(s) and exclude schema(s) at the same time" +msgstr "δεν είναι δυνατό το vacuum συγκεκριμένων πινάκων και καταλόγων συστήματος ταυτόχρονα" + +#: vacuumdb.c:452 +#, c-format +msgid "cannot vacuum all tables in schema(s) and exclude schema(s) at the same time" +msgstr "δεν είναι δυνατό το vacuum όλων των πινάκων σε σχήμα(τα) και η εξαίρεση συγκεκριμένων σχημάτων ταυτόχρονα" + +#: vacuumdb.c:496 msgid "Generating minimal optimizer statistics (1 target)" msgstr "Δημιουργία ελάχιστων στατιστικών βελτιστοποιητή (1 στόχος)" -#: vacuumdb.c:413 +#: vacuumdb.c:497 msgid "Generating medium optimizer statistics (10 targets)" msgstr "Δημιουργία μεσαίων στατιστικών βελτιστοποιητή (10 στόχοι)" -#: vacuumdb.c:414 +#: vacuumdb.c:498 msgid "Generating default (full) optimizer statistics" msgstr "Δημιουργία προεπιλεγμένων (πλήρων) στατιστικών βελτιστοποιητή" -#: vacuumdb.c:479 +#: vacuumdb.c:577 #, c-format msgid "%s: processing database \"%s\": %s\n" msgstr "%s: επεξεργάζεται τη βάση δεδομένων «%s»: %s\n" -#: vacuumdb.c:482 +#: vacuumdb.c:580 #, c-format msgid "%s: vacuuming database \"%s\"\n" msgstr "%s: εκτελεί vacuum στη βάση δεδομένων «%s»\n" -#: vacuumdb.c:952 +#: vacuumdb.c:1115 #, c-format msgid "vacuuming of table \"%s\" in database \"%s\" failed: %s" msgstr "η εκτέλεση vacuum στον πίνακα «%s» στη βάση δεδομένων «%s» απέτυχε: %s" -#: vacuumdb.c:955 +#: vacuumdb.c:1118 #, c-format msgid "vacuuming of database \"%s\" failed: %s" msgstr "η εκτέλεση vacuum στη βάση δεδομένων «%s» απέτυχε: %s" -#: vacuumdb.c:963 +#: vacuumdb.c:1126 #, c-format msgid "" "%s cleans and analyzes a PostgreSQL database.\n" @@ -1041,114 +1108,134 @@ msgstr "" "%s καθαρίζει και αναλύει μια βάση δεδομένων PostgreSQL.\n" "\n" -#: vacuumdb.c:967 +#: vacuumdb.c:1130 #, c-format msgid " -a, --all vacuum all databases\n" msgstr " -a, --all εκτέλεσε vacuum σε όλες τις βάσεις δεδομένων\n" -#: vacuumdb.c:968 +#: vacuumdb.c:1131 +#, c-format +msgid " --buffer-usage-limit=SIZE size of ring buffer used for vacuum\n" +msgstr " --buffer-usage-limit=SIZE μέγεθος δακτυλίου ενδιάμεσης μνήμης για vacuum\n" + +#: vacuumdb.c:1132 #, c-format msgid " -d, --dbname=DBNAME database to vacuum\n" msgstr " -d, --dbname=DBNAME βάση δεδομένων για vacuum\n" -#: vacuumdb.c:969 +#: vacuumdb.c:1133 #, c-format msgid " --disable-page-skipping disable all page-skipping behavior\n" msgstr " --disable-page-skipping απενεργοποιήστε κάθε συμπεριφορά παράλειψης σελίδας\n" -#: vacuumdb.c:970 +#: vacuumdb.c:1134 #, c-format msgid " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo εμφάνισε τις εντολές που αποστέλλονται στο διακομιστή\n" -#: vacuumdb.c:971 +#: vacuumdb.c:1135 #, c-format msgid " -f, --full do full vacuuming\n" msgstr " -f, --full να εκτελέσει πλήρες vacuum\n" -#: vacuumdb.c:972 +#: vacuumdb.c:1136 #, c-format msgid " -F, --freeze freeze row transaction information\n" msgstr " -F, --freeze πάγωσε τις πληροφορίες σειράς συναλλαγής\n" -#: vacuumdb.c:973 +#: vacuumdb.c:1137 #, c-format msgid " --force-index-cleanup always remove index entries that point to dead tuples\n" msgstr " --force-index-cleanup αφαιρεί πάντα καταχωρήσεις ευρετηρίου που οδηγούν σε νεκρές πλειάδες\n" -#: vacuumdb.c:974 +#: vacuumdb.c:1138 #, c-format msgid " -j, --jobs=NUM use this many concurrent connections to vacuum\n" msgstr " -j, --jobs=NUM χρησιμοποιήσε τόσες πολλές ταυτόχρονες συνδέσεις με το διακομιστή\n" -#: vacuumdb.c:975 +#: vacuumdb.c:1139 #, c-format msgid " --min-mxid-age=MXID_AGE minimum multixact ID age of tables to vacuum\n" msgstr " --min-mxid-age=MXID_AGE ελάχιστη ηλικία multixact ID πινάκων για vacuum\n" -#: vacuumdb.c:976 +#: vacuumdb.c:1140 #, c-format msgid " --min-xid-age=XID_AGE minimum transaction ID age of tables to vacuum\n" msgstr " --min-xid-age=XID_AGE ελάχιστη ηλικία transaction ID πινάκων για vacuum\n" -#: vacuumdb.c:977 +#: vacuumdb.c:1141 #, c-format msgid " --no-index-cleanup don't remove index entries that point to dead tuples\n" msgstr " --no-index-cleanup να μην αφαιρέσει καταχωρήσεις ευρετηρίου που οδηγούν σε νεκρές πλειάδες\n" -#: vacuumdb.c:978 +#: vacuumdb.c:1142 +#, c-format +msgid " --no-process-main skip the main relation\n" +msgstr " --no-process-main παράλειψε την κύρια σχέση\n" + +#: vacuumdb.c:1143 #, c-format msgid " --no-process-toast skip the TOAST table associated with the table to vacuum\n" msgstr " --no-process-toast παράλειψε τον πίνακα TOAST που σχετίζεται με τον πίνακα που εκτελείται vacuum\n" -#: vacuumdb.c:979 +#: vacuumdb.c:1144 #, c-format msgid " --no-truncate don't truncate empty pages at the end of the table\n" msgstr " --no-truncate να μην περικόψει άδειες σελίδες από το τέλος του πίνακα\n" -#: vacuumdb.c:980 +#: vacuumdb.c:1145 +#, c-format +msgid " -n, --schema=PATTERN vacuum tables in the specified schema(s) only\n" +msgstr " -n, --schema=PATTERN vacuum πίνακες μόνο για τα καθορισμένα σχήματα\n" + +#: vacuumdb.c:1146 +#, c-format +msgid " -N, --exclude-schema=PATTERN do not vacuum tables in the specified schema(s)\n" +msgstr " -N, --exclude-schema=PATTERN να μην κάνει vacuum πίνακες στα καθορισμένα σχήματα\n" + +#: vacuumdb.c:1147 #, c-format msgid " -P, --parallel=PARALLEL_WORKERS use this many background workers for vacuum, if available\n" msgstr "" " -P, --parallel=PARALLEL_WORKERS χρησιμοποίησε τόσους πολλούς εργάτες παρασκηνίου\n" " για την εκτέλεση vacuum, εάν αυτοί είναι διαθέσιμοι\n" -#: vacuumdb.c:981 +#: vacuumdb.c:1148 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet να μην γράψεις κανένα μήνυμα\n" -#: vacuumdb.c:982 +#: vacuumdb.c:1149 #, c-format msgid " --skip-locked skip relations that cannot be immediately locked\n" msgstr " --skip-locked να παραλείψει σχέσεις που δεν μπορούν να κλειδωθούν άμεσα\n" -#: vacuumdb.c:983 +#: vacuumdb.c:1150 #, c-format msgid " -t, --table='TABLE[(COLUMNS)]' vacuum specific table(s) only\n" -msgstr " -t, --table=‘TABLE[(COLUMNS)]’ να εκτελέσει vacuum μόνο σε συγκεκριμένους πίνακες\n" +msgstr " -t, --table='TABLE[(COLUMNS)]' να εκτελέσει vacuum μόνο σε συγκεκριμένους πίνακες\n" -#: vacuumdb.c:984 +#: vacuumdb.c:1151 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose γράψε πολλά μηνύματα εξόδου\n" -#: vacuumdb.c:985 +#: vacuumdb.c:1152 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version εμφάνισε πληροφορίες έκδοσης, στη συνέχεια έξοδος\n" -#: vacuumdb.c:986 +#: vacuumdb.c:1153 #, c-format msgid " -z, --analyze update optimizer statistics\n" msgstr " -z, --analyze ενημέρωσε τα στατιστικά του βελτιστοποιητή\n" -#: vacuumdb.c:987 +#: vacuumdb.c:1154 #, c-format msgid " -Z, --analyze-only only update optimizer statistics; no vacuum\n" msgstr " -z, --analyze μόνο ενημέρωσε τα στατιστικά του βελτιστοποιητή· χωρίς vacuum\n" -#: vacuumdb.c:988 +#: vacuumdb.c:1155 #, c-format msgid "" " --analyze-in-stages only update optimizer statistics, in multiple\n" @@ -1157,12 +1244,12 @@ msgstr "" " --analyze-in-stages ενημέρωσε μόνο τα στατιστικά στοιχεία βελτιστοποίησης, σε πολλαπλά\n" " στάδια για ταχύτερα αποτελέσματα· χωρίς vacuum\n" -#: vacuumdb.c:990 +#: vacuumdb.c:1157 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help εμφάνισε αυτό το μήνυμα βοήθειας, στη συνέχεια έξοδος\n" -#: vacuumdb.c:998 +#: vacuumdb.c:1165 #, c-format msgid "" "\n" @@ -1171,6 +1258,9 @@ msgstr "" "\n" "Διαβάστε την περιγραφή της SQL εντολής VACUUM για λεπτομέρειες.\n" +#~ msgid "cannot reindex system catalogs concurrently, skipping all" +#~ msgstr "δεν είναι δυνατή η ταυτόχρονη επαναευρετηριοποίηση καταλόγων συστήματος, παρακάμπτονται όλοι" + #~ msgid "fatal: " #~ msgstr "κρίσιμο: " diff --git a/src/bin/scripts/po/ko.po b/src/bin/scripts/po/ko.po index 7593dcfae88..9df2d7b7022 100644 --- a/src/bin/scripts/po/ko.po +++ b/src/bin/scripts/po/ko.po @@ -3,10 +3,10 @@ # msgid "" msgstr "" -"Project-Id-Version: pgscripts (PostgreSQL) 13\n" +"Project-Id-Version: pgscripts (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2020-10-05 20:45+0000\n" -"PO-Revision-Date: 2020-10-13 15:50+0900\n" +"POT-Creation-Date: 2023-09-07 05:51+0000\n" +"PO-Revision-Date: 2023-05-26 13:22+0900\n" "Last-Translator: Ioseph Kim \n" "Language-Team: Korean \n" "Language: ko\n" @@ -15,28 +15,33 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../../../src/common/logging.c:236 -#, c-format -msgid "fatal: " -msgstr "심각: " - -#: ../../../src/common/logging.c:243 +#: ../../../src/common/logging.c:276 #, c-format msgid "error: " msgstr "오류: " -#: ../../../src/common/logging.c:250 +#: ../../../src/common/logging.c:283 #, c-format msgid "warning: " msgstr "경고: " +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "상세정보: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "힌트: " + #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 -#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format msgid "out of memory\n" msgstr "메모리 부족\n" -#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:154 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 #, c-format msgid "cannot duplicate null pointer (internal error)\n" msgstr "null 포인터를 복제할 수 없음(내부 오류)\n" @@ -55,85 +60,124 @@ msgstr "사용자 없음" msgid "user name lookup failure: error code %lu" msgstr "사용자 이름 찾기 실패: 오류번호 %lu" -#: ../../fe_utils/cancel.c:161 ../../fe_utils/cancel.c:206 +#: ../../fe_utils/cancel.c:189 ../../fe_utils/cancel.c:238 msgid "Cancel request sent\n" msgstr "취소 요청을 전송함\n" -#: ../../fe_utils/cancel.c:165 +#: ../../fe_utils/cancel.c:190 ../../fe_utils/cancel.c:239 msgid "Could not send cancel request: " msgstr "취소 요청을 전송할 수 없음: " -#: ../../fe_utils/cancel.c:210 +#: ../../fe_utils/connect_utils.c:49 ../../fe_utils/connect_utils.c:103 +msgid "Password: " +msgstr "암호:" + +#: ../../fe_utils/connect_utils.c:91 +#, c-format +msgid "could not connect to database %s: out of memory" +msgstr "%s 데이터베이스에 연결 할 수 없음: 메모리 부족" + +#: ../../fe_utils/connect_utils.c:116 pg_isready.c:146 +#, c-format +msgid "%s" +msgstr "%s" + +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "\"%s\" 값은 \"%s\" 옵션 값으로 유효하지 않음" + +#: ../../fe_utils/option_utils.c:76 +#, c-format +msgid "%s must be in range %d..%d" +msgstr "%s 값은 %d부터 %d까지 지정할 수 있습니다." + +#: ../../fe_utils/parallel_slot.c:299 +#, c-format +msgid "too many jobs for this platform" +msgstr "이 운영체제에서는 너무 많은 동시 작업임" + +#: ../../fe_utils/parallel_slot.c:520 #, c-format -msgid "Could not send cancel request: %s" -msgstr "취소 요청을 전송할 수 없음: %s" +msgid "processing of database \"%s\" failed: %s" +msgstr "\"%s\" 데이터베이스 작업 실패: %s" -#: ../../fe_utils/print.c:350 +#: ../../fe_utils/print.c:406 #, c-format msgid "(%lu row)" msgid_plural "(%lu rows)" msgstr[0] "(%lu개 행)" -#: ../../fe_utils/print.c:3055 +#: ../../fe_utils/print.c:3154 #, c-format msgid "Interrupted\n" msgstr "인트럽트발생\n" -#: ../../fe_utils/print.c:3119 +#: ../../fe_utils/print.c:3218 #, c-format msgid "Cannot add header to table content: column count of %d exceeded.\n" msgstr "테이블 내용에 헤더를 추가할 수 없음: 열 수가 %d개를 초과했습니다.\n" -#: ../../fe_utils/print.c:3159 +#: ../../fe_utils/print.c:3258 #, c-format msgid "Cannot add cell to table content: total cell count of %d exceeded.\n" msgstr "테이블 내용에 셀을 추가할 수 없음: 총 셀 수가 %d개를 초과했습니다.\n" -#: ../../fe_utils/print.c:3414 +#: ../../fe_utils/print.c:3516 #, c-format msgid "invalid output format (internal error): %d" msgstr "잘못된 출력 형식 (내부 오류): %d" -#: clusterdb.c:114 clusterdb.c:133 createdb.c:121 createdb.c:140 -#: createuser.c:171 createuser.c:186 dropdb.c:101 dropdb.c:110 dropdb.c:118 -#: dropuser.c:92 dropuser.c:107 dropuser.c:122 pg_isready.c:95 pg_isready.c:109 -#: reindexdb.c:168 reindexdb.c:187 vacuumdb.c:227 vacuumdb.c:246 +#: ../../fe_utils/query_utils.c:33 ../../fe_utils/query_utils.c:58 +#, c-format +msgid "query failed: %s" +msgstr "쿼리 실패: %s" + +#: ../../fe_utils/query_utils.c:34 ../../fe_utils/query_utils.c:59 #, c-format -msgid "Try \"%s --help\" for more information.\n" -msgstr "보다 자세한 사용법은 \"%s --help\"\n" +msgid "Query was: %s" +msgstr "사용한 쿼리: %s" + +#: clusterdb.c:113 clusterdb.c:132 createdb.c:144 createdb.c:163 +#: createuser.c:195 createuser.c:210 dropdb.c:104 dropdb.c:113 dropdb.c:121 +#: dropuser.c:95 dropuser.c:110 dropuser.c:123 pg_isready.c:97 pg_isready.c:111 +#: reindexdb.c:174 reindexdb.c:193 vacuumdb.c:277 vacuumdb.c:297 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "자세한 사항은 \"%s --help\" 명령으로 살펴보세요." -#: clusterdb.c:131 createdb.c:138 createuser.c:184 dropdb.c:116 dropuser.c:105 -#: pg_isready.c:107 reindexdb.c:185 vacuumdb.c:244 +#: clusterdb.c:130 createdb.c:161 createuser.c:208 dropdb.c:119 dropuser.c:108 +#: pg_isready.c:109 reindexdb.c:191 vacuumdb.c:295 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "명령행 인자를 너무 많이 지정했습니다 (시작: \"%s\")" -#: clusterdb.c:143 +#: clusterdb.c:148 #, c-format msgid "cannot cluster all databases and a specific one at the same time" msgstr "모든 DB 작업과 특정 DB 작업은 동시에 할 수 없습니다." -#: clusterdb.c:149 +#: clusterdb.c:151 #, c-format msgid "cannot cluster specific table(s) in all databases" msgstr "모든 DB를 대상으로 특정 테이블들을 클러스터할 수 없음" -#: clusterdb.c:217 +#: clusterdb.c:215 #, c-format msgid "clustering of table \"%s\" in database \"%s\" failed: %s" msgstr "\"%s\" 테이블(해당DB: \"%s\") 클러스터 작업 실패: %s" -#: clusterdb.c:220 +#: clusterdb.c:218 #, c-format msgid "clustering of database \"%s\" failed: %s" msgstr "\"%s\" 데이터베이스 클러스터 실패: %s" -#: clusterdb.c:253 +#: clusterdb.c:248 #, c-format msgid "%s: clustering database \"%s\"\n" msgstr "%s: \"%s\" 데이터베이스 클러스터 작업 중\n" -#: clusterdb.c:274 +#: clusterdb.c:264 #, c-format msgid "" "%s clusters all previously clustered tables in a database.\n" @@ -143,19 +187,19 @@ msgstr "" "다시 클러스터 작업을 합니다.\n" "\n" -#: clusterdb.c:275 createdb.c:259 createuser.c:347 dropdb.c:164 dropuser.c:163 -#: pg_isready.c:224 reindexdb.c:753 vacuumdb.c:921 +#: clusterdb.c:265 createdb.c:288 createuser.c:415 dropdb.c:172 dropuser.c:170 +#: pg_isready.c:226 reindexdb.c:750 vacuumdb.c:1127 #, c-format msgid "Usage:\n" msgstr "사용법:\n" -#: clusterdb.c:276 reindexdb.c:754 vacuumdb.c:922 +#: clusterdb.c:266 reindexdb.c:751 vacuumdb.c:1128 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [옵션]... [DB이름]\n" -#: clusterdb.c:277 createdb.c:261 createuser.c:349 dropdb.c:166 dropuser.c:165 -#: pg_isready.c:227 reindexdb.c:755 vacuumdb.c:923 +#: clusterdb.c:267 createdb.c:290 createuser.c:417 dropdb.c:174 dropuser.c:172 +#: pg_isready.c:229 reindexdb.c:752 vacuumdb.c:1129 #, c-format msgid "" "\n" @@ -164,49 +208,49 @@ msgstr "" "\n" "옵션들:\n" -#: clusterdb.c:278 +#: clusterdb.c:268 #, c-format msgid " -a, --all cluster all databases\n" msgstr " -a, --all 모든 데이터베이스를 대상으로\n" -#: clusterdb.c:279 +#: clusterdb.c:269 #, c-format msgid " -d, --dbname=DBNAME database to cluster\n" msgstr " -d, --dbname=DBNAME 클러스터 작업할 DB\n" -#: clusterdb.c:280 createuser.c:353 dropdb.c:167 dropuser.c:166 reindexdb.c:759 +#: clusterdb.c:270 createuser.c:423 dropdb.c:175 dropuser.c:173 #, c-format msgid "" " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo 서버로 보내는 작업 명령을 보여줌\n" -#: clusterdb.c:281 reindexdb.c:762 +#: clusterdb.c:271 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet 어떠한 메시지도 보여주지 않음\n" -#: clusterdb.c:282 +#: clusterdb.c:272 #, c-format msgid " -t, --table=TABLE cluster specific table(s) only\n" msgstr " -t, --table=TABLE 지정한 테이블들만 클러스터\n" -#: clusterdb.c:283 reindexdb.c:766 +#: clusterdb.c:273 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose 많은 출력 작성\n" -#: clusterdb.c:284 createuser.c:365 dropdb.c:170 dropuser.c:169 reindexdb.c:767 +#: clusterdb.c:274 createuser.c:439 dropdb.c:178 dropuser.c:176 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version 버전 정보를 보여주고 마침\n" -#: clusterdb.c:285 createuser.c:370 dropdb.c:172 dropuser.c:171 reindexdb.c:768 +#: clusterdb.c:275 createuser.c:447 dropdb.c:180 dropuser.c:178 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help 이 도움말을 보여주고 마침\n" -#: clusterdb.c:286 createdb.c:272 createuser.c:371 dropdb.c:173 dropuser.c:172 -#: pg_isready.c:233 reindexdb.c:769 vacuumdb.c:944 +#: clusterdb.c:276 createdb.c:306 createuser.c:448 dropdb.c:181 dropuser.c:179 +#: pg_isready.c:235 reindexdb.c:767 vacuumdb.c:1158 #, c-format msgid "" "\n" @@ -215,42 +259,38 @@ msgstr "" "\n" "연결 옵션들:\n" -#: clusterdb.c:287 createuser.c:372 dropdb.c:174 dropuser.c:173 reindexdb.c:770 -#: vacuumdb.c:945 +#: clusterdb.c:277 createuser.c:449 dropdb.c:182 dropuser.c:180 vacuumdb.c:1159 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" " -h, --host=HOSTNAME 데이터베이스 서버 호스트 또는 소켓 디렉터리\n" -#: clusterdb.c:288 createuser.c:373 dropdb.c:175 dropuser.c:174 reindexdb.c:771 -#: vacuumdb.c:946 +#: clusterdb.c:278 createuser.c:450 dropdb.c:183 dropuser.c:181 vacuumdb.c:1160 #, c-format msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=PORT 데이터베이스 서버 포트\n" -#: clusterdb.c:289 dropdb.c:176 reindexdb.c:772 vacuumdb.c:947 +#: clusterdb.c:279 dropdb.c:184 vacuumdb.c:1161 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" msgstr " -U, --username=USERNAME 접속할 사용자이름\n" -#: clusterdb.c:290 createuser.c:375 dropdb.c:177 dropuser.c:176 reindexdb.c:773 -#: vacuumdb.c:948 +#: clusterdb.c:280 createuser.c:452 dropdb.c:185 dropuser.c:183 vacuumdb.c:1162 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password 암호 프롬프트 표시 안 함\n" -#: clusterdb.c:291 createuser.c:376 dropdb.c:178 dropuser.c:177 reindexdb.c:774 -#: vacuumdb.c:949 +#: clusterdb.c:281 createuser.c:453 dropdb.c:186 dropuser.c:184 vacuumdb.c:1163 #, c-format msgid " -W, --password force password prompt\n" msgstr " -W, --password 암호 프롬프트 표시함\n" -#: clusterdb.c:292 dropdb.c:179 reindexdb.c:775 vacuumdb.c:950 +#: clusterdb.c:282 dropdb.c:187 vacuumdb.c:1164 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" msgstr " --maintenance-db=DBNAME 대체용 관리 대상 데이터베이스\n" -#: clusterdb.c:293 +#: clusterdb.c:283 #, c-format msgid "" "\n" @@ -259,8 +299,8 @@ msgstr "" "\n" "보다 자세한 내용은 CLUSTER SQL 명령어 설명서를 참조하십시오.\n" -#: clusterdb.c:294 createdb.c:280 createuser.c:377 dropdb.c:180 dropuser.c:178 -#: pg_isready.c:238 reindexdb.c:777 vacuumdb.c:952 +#: clusterdb.c:284 createdb.c:314 createuser.c:454 dropdb.c:188 dropuser.c:185 +#: pg_isready.c:240 reindexdb.c:775 vacuumdb.c:1166 #, c-format msgid "" "\n" @@ -269,95 +309,56 @@ msgstr "" "\n" "문제점 보고 주소: <%s>\n" -#: clusterdb.c:295 createdb.c:281 createuser.c:378 dropdb.c:181 dropuser.c:179 -#: pg_isready.c:239 reindexdb.c:778 vacuumdb.c:953 +#: clusterdb.c:285 createdb.c:315 createuser.c:455 dropdb.c:189 dropuser.c:186 +#: pg_isready.c:241 reindexdb.c:776 vacuumdb.c:1167 #, c-format msgid "%s home page: <%s>\n" msgstr "%s 홈페이지: <%s>\n" -#: common.c:79 common.c:125 -msgid "Password: " -msgstr "암호:" - -#: common.c:112 -#, c-format -msgid "could not connect to database %s: out of memory" -msgstr "%s 데이터베이스에 연결 할 수 없음: 메모리 부족" - -#: common.c:139 -#, c-format -msgid "could not connect to database %s: %s" -msgstr "%s 데이터베이스에 연결 할 수 없음: %s" - -#: common.c:214 common.c:239 -#, c-format -msgid "query failed: %s" -msgstr "쿼리 실패: %s" - -#: common.c:215 common.c:240 -#, c-format -msgid "query was: %s" -msgstr "사용한 쿼리: %s" - -#: common.c:312 -#, c-format -msgid "processing of database \"%s\" failed: %s" -msgstr "\"%s\" 데이터베이스 작업 실패: %s" - -#: common.c:406 +#: common.c:107 #, c-format msgid "query returned %d row instead of one: %s" msgid_plural "query returned %d rows instead of one: %s" msgstr[0] "쿼리에서 한 개가 아닌 %d개의 행을 반환: %s" #. translator: abbreviation for "yes" -#: common.c:430 +#: common.c:131 msgid "y" msgstr "y" #. translator: abbreviation for "no" -#: common.c:432 +#: common.c:133 msgid "n" msgstr "n" #. translator: This is a question followed by the translated options for #. "yes" and "no". -#: common.c:442 +#: common.c:143 #, c-format msgid "%s (%s/%s) " msgstr "%s (%s/%s) " -#: common.c:456 +#: common.c:164 #, c-format msgid "Please answer \"%s\" or \"%s\".\n" msgstr "\"%s\" 또는 \"%s\" 만 허용합니다.\n" -#: createdb.c:148 -#, c-format -msgid "only one of --locale and --lc-ctype can be specified" -msgstr "--locale 및 --lc-ctype 중 하나만 지정할 수 있음" - -#: createdb.c:153 -#, c-format -msgid "only one of --locale and --lc-collate can be specified" -msgstr "--locale 및 --lc-collate 중 하나만 지정할 수 있음" - -#: createdb.c:164 +#: createdb.c:170 #, c-format msgid "\"%s\" is not a valid encoding name" msgstr "\"%s\" 이름은 잘못된 인코딩 이름임" -#: createdb.c:221 +#: createdb.c:250 #, c-format msgid "database creation failed: %s" msgstr "데이터베이스 만들기 실패: %s" -#: createdb.c:240 +#: createdb.c:269 #, c-format msgid "comment creation failed (database was created): %s" msgstr "코멘트 추가하기 실패 (데이터베이스는 만들어졌음): %s" -#: createdb.c:258 +#: createdb.c:287 #, c-format msgid "" "%s creates a PostgreSQL database.\n" @@ -366,96 +367,126 @@ msgstr "" "%s 프로그램은 PostgreSQL 데이터베이스를 만듭니다.\n" "\n" -#: createdb.c:260 +#: createdb.c:289 #, c-format msgid " %s [OPTION]... [DBNAME] [DESCRIPTION]\n" msgstr " %s [옵션]... [DB이름] [설명]\n" -#: createdb.c:262 +#: createdb.c:291 #, c-format msgid " -D, --tablespace=TABLESPACE default tablespace for the database\n" msgstr "" " -D, --tablespace=TABLESPACE 데이터베이스를 위한 기본 테이블스페이스\n" -#: createdb.c:263 +#: createdb.c:292 reindexdb.c:756 #, c-format msgid "" " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo 서버로 보내는 작업 명령들을 보여줌\n" -#: createdb.c:264 +#: createdb.c:293 #, c-format msgid " -E, --encoding=ENCODING encoding for the database\n" msgstr " -E, --encoding=ENCODING 데이터베이스 인코딩\n" -#: createdb.c:265 +#: createdb.c:294 #, c-format msgid " -l, --locale=LOCALE locale settings for the database\n" msgstr " -l, --locale=LOCALE 데이터베이스의 로캘 설정\n" -#: createdb.c:266 +#: createdb.c:295 #, c-format msgid " --lc-collate=LOCALE LC_COLLATE setting for the database\n" msgstr " --lc-collate=LOCALE 데이터베이스의 LC_COLLATE 설정\n" -#: createdb.c:267 +#: createdb.c:296 #, c-format msgid " --lc-ctype=LOCALE LC_CTYPE setting for the database\n" msgstr " --lc-ctype=LOCALE 데이터베이스의 LC_CTYPE 설정\n" -#: createdb.c:268 +#: createdb.c:297 +#, c-format +msgid " --icu-locale=LOCALE ICU locale setting for the database\n" +msgstr " --icu-locale=LOCALE 데이터베이스 ICU 로캘 설정\n" + +#: createdb.c:298 +#, c-format +msgid " --icu-rules=RULES ICU rules setting for the database\n" +msgstr " --icu-rules=RULES 데이터베이스 ICU 룰 설정\n" + +#: createdb.c:299 +#, c-format +msgid "" +" --locale-provider={libc|icu}\n" +" locale provider for the database's default " +"collation\n" +msgstr "" +" --locale-provider={libc|icu}\n" +" 데이터베이스 기본 문자 정렬을 위한 로케일 제공" +"자\n" + +#: createdb.c:301 #, c-format msgid " -O, --owner=OWNER database user to own the new database\n" msgstr " -O, --owner=OWNER 데이터베이스 소유주\n" -#: createdb.c:269 +#: createdb.c:302 +#, c-format +msgid "" +" -S, --strategy=STRATEGY database creation strategy wal_log or " +"file_copy\n" +msgstr "" +" -S, --strategy=STRATEGY 데이터베이스 만드는 전략(wal_log 또는 " +"file_copy)\n" + +#: createdb.c:303 #, c-format msgid " -T, --template=TEMPLATE template database to copy\n" msgstr " -T, --template=TEMPLATE 복사할 템플릿 데이터베이스\n" -#: createdb.c:270 +#: createdb.c:304 reindexdb.c:765 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version 버전 정보를 보여주고 마침\n" -#: createdb.c:271 +#: createdb.c:305 reindexdb.c:766 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help 이 도움말을 보여주고 마침\n" -#: createdb.c:273 +#: createdb.c:307 reindexdb.c:768 #, c-format msgid "" " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" " -h, --host=HOSTNAME 데이터베이스 서버 호스트나 소켓 디렉터리\n" -#: createdb.c:274 +#: createdb.c:308 reindexdb.c:769 #, c-format msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=PORT 데이터베이스 서버 포트\n" -#: createdb.c:275 +#: createdb.c:309 reindexdb.c:770 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" msgstr " -U, --username=USERNAME 접속할 사용자\n" -#: createdb.c:276 +#: createdb.c:310 reindexdb.c:771 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password 암호 프롬프트 표시 안 함\n" -#: createdb.c:277 +#: createdb.c:311 reindexdb.c:772 #, c-format msgid " -W, --password force password prompt\n" msgstr " -W, --password 암호 프롬프트 표시함\n" -#: createdb.c:278 +#: createdb.c:312 reindexdb.c:773 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" msgstr " --maintenance-db=DBNAME 대체용 관리 대상 데이터베이스\n" -#: createdb.c:279 +#: createdb.c:313 #, c-format msgid "" "\n" @@ -465,51 +496,46 @@ msgstr "" "초기값으로, DB이름을 지정하지 않으면, 현재 사용자의 이름과 같은 데이터베이스" "가 만들어집니다.\n" -#: createuser.c:150 -#, c-format -msgid "invalid value for --connection-limit: %s" -msgstr "--connection-limit 옵션 값이 잘못됨: %s" - -#: createuser.c:194 +#: createuser.c:218 msgid "Enter name of role to add: " msgstr "추가할 새 롤(role)이름: " -#: createuser.c:211 +#: createuser.c:233 msgid "Enter password for new role: " msgstr "새 롤의 암호: " -#: createuser.c:213 +#: createuser.c:234 msgid "Enter it again: " msgstr "암호 확인: " -#: createuser.c:216 +#: createuser.c:237 #, c-format msgid "Passwords didn't match.\n" msgstr "암호가 서로 틀림.\n" -#: createuser.c:224 +#: createuser.c:245 msgid "Shall the new role be a superuser?" msgstr "새 롤을 superuser 권한으로 지정할까요?" -#: createuser.c:239 +#: createuser.c:260 msgid "Shall the new role be allowed to create databases?" msgstr "이 새 롤에게 데이터베이스를 만들 수 있는 권할을 줄까요?" -#: createuser.c:247 +#: createuser.c:268 msgid "Shall the new role be allowed to create more new roles?" msgstr "이 새 롤에게 또 다른 롤을 만들 수 있는 권한을 줄까요?" -#: createuser.c:277 +#: createuser.c:309 #, c-format msgid "password encryption failed: %s" msgstr "암호 암호화 실패: %s" -#: createuser.c:332 +#: createuser.c:400 #, c-format msgid "creation of new role failed: %s" msgstr "새 롤 만들기 실패: %s" -#: createuser.c:346 +#: createuser.c:414 #, c-format msgid "" "%s creates a new PostgreSQL role.\n" @@ -518,34 +544,48 @@ msgstr "" "%s 프로그램은 PostgreSQL 롤을 만듭니다.\n" "\n" -#: createuser.c:348 dropuser.c:164 +#: createuser.c:416 dropuser.c:171 #, c-format msgid " %s [OPTION]... [ROLENAME]\n" msgstr " %s [옵션]... [롤이름]\n" -#: createuser.c:350 +#: createuser.c:418 +#, c-format +msgid "" +" -a, --with-admin=ROLE ROLE will be a member of new role with admin\n" +" option\n" +msgstr "" +" -a, --with-admin=ROLE 지정한 롤이 새로 만들어질 롤의 관리 권한있는\n" +" 소속원이 됨\n" + +#: createuser.c:420 #, c-format msgid "" " -c, --connection-limit=N connection limit for role (default: no limit)\n" msgstr " -c, --connection-limit=N 연결 제한 수 (초기값: 무제한)\n" -#: createuser.c:351 +#: createuser.c:421 #, c-format msgid " -d, --createdb role can create new databases\n" msgstr " -d, --createdb 새 데이터베이스를 만들 수 있음\n" -#: createuser.c:352 +#: createuser.c:422 #, c-format msgid " -D, --no-createdb role cannot create databases (default)\n" msgstr "" " -D, --no-createdb 데이터베이스를 만들 수 있는 권한 없음 (초기값)\n" -#: createuser.c:354 +#: createuser.c:424 +#, c-format +msgid " -g, --member-of=ROLE new role will be a member of ROLE\n" +msgstr " -g, --member-of=ROLE 만들어지는 롤이 이 ROLE의 구성원이 됨\n" + +#: createuser.c:425 #, c-format -msgid " -g, --role=ROLE new role will be a member of this role\n" -msgstr " -g, --role=ROLE 만들어지는 롤이 이 롤의 구성원이 됨\n" +msgid " --role=ROLE (same as --member-of, deprecated)\n" +msgstr " --role=ROLE (--member-of와 같음, 옛날 옵션)\n" -#: createuser.c:355 +#: createuser.c:426 #, c-format msgid "" " -i, --inherit role inherits privileges of roles it is a\n" @@ -554,47 +594,61 @@ msgstr "" " -i, --inherit 롤의 권한을 상속할 수 있음\n" " (초기값)\n" -#: createuser.c:357 +#: createuser.c:428 #, c-format msgid " -I, --no-inherit role does not inherit privileges\n" msgstr " -I, --no-inherit 이 롤의 권한을 상속할 수 없음\n" -#: createuser.c:358 +#: createuser.c:429 #, c-format msgid " -l, --login role can login (default)\n" msgstr " -l, --login 로그인 허용 (초기값)\n" -#: createuser.c:359 +#: createuser.c:430 #, c-format msgid " -L, --no-login role cannot login\n" msgstr " -L, --no-login 로그인 할 수 없음\n" -#: createuser.c:360 +#: createuser.c:431 +#, c-format +msgid " -m, --with-member=ROLE ROLE will be a member of new role\n" +msgstr " -m, --with-member=ROLE ROLE이 새로 만들 롤의 소속원이 됨\n" + +#: createuser.c:432 #, c-format msgid " -P, --pwprompt assign a password to new role\n" msgstr " -P, --pwprompt 새 롤의 암호 지정\n" -#: createuser.c:361 +#: createuser.c:433 #, c-format msgid " -r, --createrole role can create new roles\n" msgstr " -r, --createrole 새 롤을 만들 수 있음\n" -#: createuser.c:362 +#: createuser.c:434 #, c-format msgid " -R, --no-createrole role cannot create roles (default)\n" msgstr " -R, --no-createrole 롤 만들 수 있는 권한 없음 (초기값)\n" -#: createuser.c:363 +#: createuser.c:435 #, c-format msgid " -s, --superuser role will be superuser\n" msgstr " -s, --superuser superuser 권한으로 지정\n" -#: createuser.c:364 +#: createuser.c:436 #, c-format msgid " -S, --no-superuser role will not be superuser (default)\n" msgstr " -S, --no-superuser 슈퍼유저 권한 없음 (초기값)\n" -#: createuser.c:366 +#: createuser.c:437 +#, c-format +msgid "" +" -v, --valid-until=TIMESTAMP\n" +" password expiration date and time for role\n" +msgstr "" +" -v, --valid-until=TIMESTAMP\n" +" 비밀번호 유효기한 지정\n" + +#: createuser.c:440 #, c-format msgid "" " --interactive prompt for missing role name and attributes " @@ -604,17 +658,34 @@ msgstr "" " --interactive 롤 이름과 속성을 초기값을 쓰지 않고\n" " 각각 직접 입력 선택 함\n" -#: createuser.c:368 +#: createuser.c:442 +#, c-format +msgid "" +" --bypassrls role can bypass row-level security (RLS) policy\n" +msgstr " --bypassrls 롤이 행 단위 보안 (RLS) 정책을 무시함\n" + +#: createuser.c:443 +#, c-format +msgid "" +" --no-bypassrls role cannot bypass row-level security (RLS) " +"policy\n" +" (default)\n" +msgstr "" +" --no-bypassrls 롤이 행 단위 보안 (RLS) 정책을 무시 못함\n" +" (기본값)\n" + +#: createuser.c:445 #, c-format msgid " --replication role can initiate replication\n" msgstr " --replication 복제 기능 이용할 수 있는 롤\n" -#: createuser.c:369 +#: createuser.c:446 #, c-format -msgid " --no-replication role cannot initiate replication\n" -msgstr " --no-replication 복제 기능을 이용할 수 없음\n" +msgid "" +" --no-replication role cannot initiate replication (default)\n" +msgstr " --no-replication 복제 권한 없음 (기본값)\n" -#: createuser.c:374 +#: createuser.c:451 #, c-format msgid "" " -U, --username=USERNAME user name to connect as (not the one to create)\n" @@ -622,26 +693,26 @@ msgstr "" " -U, --username=USERNAME 서버에 접속할 사용자\n" " (사용자만들기 작업을 할 사용자)\n" -#: dropdb.c:109 +#: dropdb.c:112 #, c-format msgid "missing required argument database name" msgstr "필수 항목인 데이터베이스 이름이 빠졌습니다" -#: dropdb.c:124 +#: dropdb.c:127 #, c-format msgid "Database \"%s\" will be permanently removed.\n" msgstr "\"%s\" 데이터베이스가 완전히 삭제 될 것입니다.\n" -#: dropdb.c:125 dropuser.c:130 +#: dropdb.c:128 dropuser.c:131 msgid "Are you sure?" msgstr "정말 계속 할까요? (y/n) " -#: dropdb.c:149 +#: dropdb.c:157 #, c-format msgid "database removal failed: %s" msgstr "데이터베이스 삭제 실패: %s" -#: dropdb.c:163 +#: dropdb.c:171 #, c-format msgid "" "%s removes a PostgreSQL database.\n" @@ -650,51 +721,50 @@ msgstr "" "%s 프로그램은 PostgreSQL 데이터베이스를 삭제합니다.\n" "\n" -#: dropdb.c:165 +#: dropdb.c:173 #, c-format msgid " %s [OPTION]... DBNAME\n" msgstr " %s [옵션]... DB이름\n" -#: dropdb.c:168 +#: dropdb.c:176 #, c-format msgid "" " -f, --force try to terminate other connections before " "dropping\n" -msgstr "" -" -f, --force 삭제 전에 접속한 다른 세션들 강제로 끊음\n" +msgstr " -f, --force 삭제 전에 접속한 다른 세션들 강제로 끊음\n" -#: dropdb.c:169 +#: dropdb.c:177 #, c-format msgid " -i, --interactive prompt before deleting anything\n" msgstr " -i, --interactive 지우기 전에 한 번 더 물어봄\n" -#: dropdb.c:171 +#: dropdb.c:179 #, c-format msgid "" " --if-exists don't report error if database doesn't exist\n" msgstr "" " --if-exists 해당 데이터베이스가 없어도 오류를 보고하지 않음\n" -#: dropuser.c:115 +#: dropuser.c:118 msgid "Enter name of role to drop: " msgstr "삭제할 롤 이름을 입력하십시오: " -#: dropuser.c:121 +#: dropuser.c:122 #, c-format msgid "missing required argument role name" msgstr "롤 이름은 필수 입력 인자입니다" -#: dropuser.c:129 +#: dropuser.c:130 #, c-format msgid "Role \"%s\" will be permanently removed.\n" msgstr "\"%s\" 롤은 영구히 삭제될 것입니다.\n" -#: dropuser.c:147 +#: dropuser.c:154 #, c-format msgid "removal of role \"%s\" failed: %s" msgstr "\"%s\" 롤 삭제 실패: %s" -#: dropuser.c:162 +#: dropuser.c:169 #, c-format msgid "" "%s removes a PostgreSQL role.\n" @@ -703,7 +773,7 @@ msgstr "" "%s 프로그램은 PostgreSQL 롤을 삭제합니다.\n" "\n" -#: dropuser.c:167 +#: dropuser.c:174 #, c-format msgid "" " -i, --interactive prompt before deleting anything, and prompt for\n" @@ -712,53 +782,48 @@ msgstr "" " -i, --interactive 롤 이름을 입력하지 않았다면,\n" " 해당 이름을 물어봄\n" -#: dropuser.c:170 +#: dropuser.c:177 #, c-format msgid " --if-exists don't report error if user doesn't exist\n" msgstr " --if-exists 해당 롤이 없어도 오류를 보고하지 않음\n" -#: dropuser.c:175 +#: dropuser.c:182 #, c-format msgid "" " -U, --username=USERNAME user name to connect as (not the one to drop)\n" msgstr " -U, --username=USERNAME 이 작업을 진행할 DB에 접속할 사용자\n" -#: pg_isready.c:144 -#, c-format -msgid "%s" -msgstr "%s" - -#: pg_isready.c:152 +#: pg_isready.c:154 #, c-format msgid "could not fetch default options" msgstr "기본 옵션 값을 가져올 수 없음" -#: pg_isready.c:201 +#: pg_isready.c:203 #, c-format msgid "accepting connections\n" msgstr "접속을 받아드리는 중\n" -#: pg_isready.c:204 +#: pg_isready.c:206 #, c-format msgid "rejecting connections\n" msgstr "접속을 거절하는 중\n" -#: pg_isready.c:207 +#: pg_isready.c:209 #, c-format msgid "no response\n" msgstr "응답 없음\n" -#: pg_isready.c:210 +#: pg_isready.c:212 #, c-format msgid "no attempt\n" msgstr "시도 없음\n" -#: pg_isready.c:213 +#: pg_isready.c:215 #, c-format msgid "unknown\n" msgstr "알수없음\n" -#: pg_isready.c:223 +#: pg_isready.c:225 #, c-format msgid "" "%s issues a connection check to a PostgreSQL database.\n" @@ -767,81 +832,76 @@ msgstr "" "%s 프로그램은 PostgreSQL 데이터베이스 접속을 검사합니다.\n" "\n" -#: pg_isready.c:225 +#: pg_isready.c:227 #, c-format msgid " %s [OPTION]...\n" msgstr " %s [옵션]...\n" -#: pg_isready.c:228 +#: pg_isready.c:230 #, c-format msgid " -d, --dbname=DBNAME database name\n" msgstr " -d, --dbname=DBNAME 데이터베이스 이름\n" -#: pg_isready.c:229 +#: pg_isready.c:231 #, c-format msgid " -q, --quiet run quietly\n" msgstr " -q, --quiet 조용히 실행함\n" -#: pg_isready.c:230 +#: pg_isready.c:232 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version 버전 정보를 보여주고 마침\n" -#: pg_isready.c:231 +#: pg_isready.c:233 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help 이 도움말을 보여주고 마침\n" -#: pg_isready.c:234 +#: pg_isready.c:236 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" " -h, --host=HOSTNAME 접속할 데이터베이스 서버 또는 소켓 디렉터리\n" -#: pg_isready.c:235 +#: pg_isready.c:237 #, c-format msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=PORT 데이터베이스 서버 포트\n" -#: pg_isready.c:236 +#: pg_isready.c:238 #, c-format msgid "" " -t, --timeout=SECS seconds to wait when attempting connection, 0 " "disables (default: %s)\n" msgstr " -t, --timeout=초 연결 제한 시간, 0 무제한 (초기값: %s)\n" -#: pg_isready.c:237 +#: pg_isready.c:239 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" msgstr " -U, --username=USERNAME 접속할 사용자이름\n" -#: reindexdb.c:154 vacuumdb.c:186 -#, c-format -msgid "number of parallel jobs must be at least 1" -msgstr "병렬 작업 숫자는 최소 1이어야 함" - -#: reindexdb.c:197 +#: reindexdb.c:209 #, c-format msgid "cannot reindex all databases and a specific one at the same time" msgstr "" "모든 데이터베이스 재색인 작업과 특정 데이터베이스 재색인 작업은 동시에 진행" "할 수 없습니다" -#: reindexdb.c:202 +#: reindexdb.c:211 #, c-format msgid "cannot reindex all databases and system catalogs at the same time" msgstr "" "모든 데이터베이스 재색인 작업과 시스템 카탈로그 재색인 작업은 동시에 진행할 " "수 없습니다" -#: reindexdb.c:207 +#: reindexdb.c:213 #, c-format msgid "cannot reindex specific schema(s) in all databases" msgstr "" "모든 데이터베이스 재색인 작업에서 특정 스키마들의 재색인 작업을 지정할 수 없" "습니다" -#: reindexdb.c:212 +#: reindexdb.c:215 #, c-format msgid "cannot reindex specific table(s) in all databases" msgstr "" @@ -855,75 +915,70 @@ msgstr "" "모든 데이터베이스 재색인 작업에서 특정 인덱스 재색인 작업을 지정할 수 없습니" "다" -#: reindexdb.c:229 +#: reindexdb.c:227 #, c-format msgid "cannot reindex specific schema(s) and system catalogs at the same time" msgstr "특정 스키마와 시스템 카탈로그 재색인 작업은 동시에 진행할 수 없습니다" -#: reindexdb.c:234 +#: reindexdb.c:229 #, c-format msgid "cannot reindex specific table(s) and system catalogs at the same time" msgstr "특정 테이블과 시스템 카탈로그 재색인 작업은 동시에 진행할 수 없습니다" -#: reindexdb.c:239 +#: reindexdb.c:231 #, c-format msgid "cannot reindex specific index(es) and system catalogs at the same time" msgstr "특정 인덱스와 시스템 카탈로그 재색인 작업은 동시에 진행할 수 없습니다" -#: reindexdb.c:245 +#: reindexdb.c:234 #, c-format msgid "cannot use multiple jobs to reindex system catalogs" msgstr "시스템 카탈로그 재색인 작업은 병렬로 처리할 수 없음" -#: reindexdb.c:272 +#: reindexdb.c:260 #, c-format msgid "cannot use multiple jobs to reindex indexes" msgstr "인덱스 다시 만들기에서는 다중 작업을 사용할 수 없음" -#: reindexdb.c:337 vacuumdb.c:410 vacuumdb.c:418 vacuumdb.c:425 vacuumdb.c:432 -#: vacuumdb.c:439 +#: reindexdb.c:323 reindexdb.c:330 vacuumdb.c:509 vacuumdb.c:516 vacuumdb.c:523 +#: vacuumdb.c:530 vacuumdb.c:537 vacuumdb.c:544 vacuumdb.c:551 vacuumdb.c:556 +#: vacuumdb.c:560 vacuumdb.c:564 vacuumdb.c:568 #, c-format msgid "" "cannot use the \"%s\" option on server versions older than PostgreSQL %s" -msgstr "" -"\"%s\" 옵션은 PostgreSQL %s 버전보다 오래된 서버에서는 사용할 수 없음" - -#: reindexdb.c:377 -#, c-format -msgid "cannot reindex system catalogs concurrently, skipping all" -msgstr "시스템 카탈로그 인덱스는 CONCURRENTLY 다시 만들기 못함, 모두 건너 뜀" +msgstr "\"%s\" 옵션은 PostgreSQL %s 버전보다 오래된 서버에서는 사용할 수 없음" -#: reindexdb.c:558 +#: reindexdb.c:561 #, c-format msgid "reindexing of database \"%s\" failed: %s" msgstr "\"%s\" 데이터베이스 재색인 작업 실패: %s" -#: reindexdb.c:562 +#: reindexdb.c:565 #, c-format msgid "reindexing of index \"%s\" in database \"%s\" failed: %s" msgstr "\"%s\" 인덱스(해당DB: \"%s\") 재색인 작업 실패: %s" -#: reindexdb.c:566 +#: reindexdb.c:569 #, c-format msgid "reindexing of schema \"%s\" in database \"%s\" failed: %s" msgstr "\"%s\" 스키마(해당DB: \"%s\") 재색인 작업 실패: %s" -#: reindexdb.c:570 +#: reindexdb.c:573 #, c-format msgid "reindexing of system catalogs in database \"%s\" failed: %s" msgstr "\"%s\" 데이터베이스 시스템 카탈로그 재색인 작업 실패: %s" -#: reindexdb.c:574 +#: reindexdb.c:577 #, c-format msgid "reindexing of table \"%s\" in database \"%s\" failed: %s" msgstr "\"%s\" 테이블(해당DB: \"%s\") 재색인 작업 실패: %s" -#: reindexdb.c:731 +#: reindexdb.c:732 #, c-format msgid "%s: reindexing database \"%s\"\n" msgstr "%s: \"%s\" 데이터베이스 재색인 작업 중\n" -#: reindexdb.c:752 +#: reindexdb.c:749 #, c-format msgid "" "%s reindexes a PostgreSQL database.\n" @@ -932,49 +987,66 @@ msgstr "" "%s 프로그램은 PostgreSQL 데이터베이스 재색인 작업을 합니다.\n" "\n" -#: reindexdb.c:756 +#: reindexdb.c:753 +#, c-format +msgid " -a, --all reindex all databases\n" +msgstr " -a, --all 모든 데이터베이스 재색인\n" + +#: reindexdb.c:754 +#, c-format +msgid " --concurrently reindex concurrently\n" +msgstr " --concurrently 테이블 잠그지 않는 재색인\n" + +#: reindexdb.c:755 #, c-format -msgid " -a, --all reindex all databases\n" -msgstr " -a, --all 모든 데이터베이스 재색인\n" +msgid " -d, --dbname=DBNAME database to reindex\n" +msgstr " -d, --dbname=DBNAME 지정한 데이터베이스의 재색인 작업\n" #: reindexdb.c:757 #, c-format -msgid " --concurrently reindex concurrently\n" -msgstr " --concurrently 테이블 잠그지 않는 재색인\n" +msgid " -i, --index=INDEX recreate specific index(es) only\n" +msgstr " -i, --index=INDEX 지정한 인덱스들만 다시 만듬\n" #: reindexdb.c:758 #, c-format -msgid " -d, --dbname=DBNAME database to reindex\n" -msgstr " -d, --dbname=DBNAME 지정한 데이터베이스의 재색인 작업\n" +msgid "" +" -j, --jobs=NUM use this many concurrent connections to " +"reindex\n" +msgstr "" +" -j, --jobs=NUM 재색인 작업을 여러개의 연결로 동시에 작업함\n" + +#: reindexdb.c:759 +#, c-format +msgid " -q, --quiet don't write any messages\n" +msgstr " -q, --quiet 어떠한 메시지도 보여주지 않음\n" #: reindexdb.c:760 #, c-format -msgid " -i, --index=INDEX recreate specific index(es) only\n" -msgstr " -i, --index=INDEX 지정한 인덱스들만 다시 만듬\n" +msgid " -s, --system reindex system catalogs only\n" +msgstr " -s, --system 시스템 카탈로그 재색인\n" #: reindexdb.c:761 #, c-format -msgid "" -" -j, --jobs=NUM use this many concurrent connections to reindex\n" -msgstr "" -" -j, --jobs=NUM 재색인 작업을 여러개의 연결로 동시에 작업함\n" +msgid " -S, --schema=SCHEMA reindex specific schema(s) only\n" +msgstr " -S, --schema=SCHEMA 지정한 스키마들 자료만 덤프\n" -#: reindexdb.c:763 +#: reindexdb.c:762 #, c-format -msgid " -s, --system reindex system catalogs\n" -msgstr " -s, --system 시스템 카탈로그 재색인\n" +msgid " -t, --table=TABLE reindex specific table(s) only\n" +msgstr " -t, --table=TABLE 지정한 테이블들만 재색인 작업\n" -#: reindexdb.c:764 +#: reindexdb.c:763 #, c-format -msgid " -S, --schema=SCHEMA reindex specific schema(s) only\n" -msgstr " -S, --schema=SCHEMA 지정한 스키마들 자료만 덤프\n" +msgid " --tablespace=TABLESPACE tablespace where indexes are rebuilt\n" +msgstr "" +" --tablespace=TABLESPACE 데이터베이스를 위한 기본 테이블스페이스\n" -#: reindexdb.c:765 +#: reindexdb.c:764 #, c-format -msgid " -t, --table=TABLE reindex specific table(s) only\n" -msgstr " -t, --table=TABLE 지정한 테이블들만 재색인 작업\n" +msgid " -v, --verbose write a lot of output\n" +msgstr " -v, --verbose 작업내역의 자세한 출력\n" -#: reindexdb.c:776 +#: reindexdb.c:774 #, c-format msgid "" "\n" @@ -983,80 +1055,97 @@ msgstr "" "\n" "보다 자세한 내용은 REINDEX SQL 명령어 설명서를 참조하십시오.\n" -#: scripts_parallel.c:234 +#: vacuumdb.c:310 vacuumdb.c:313 vacuumdb.c:316 vacuumdb.c:319 vacuumdb.c:322 +#: vacuumdb.c:325 vacuumdb.c:328 vacuumdb.c:331 vacuumdb.c:340 #, c-format -msgid "too many jobs for this platform -- try %d" -msgstr "이 운영체제에서는 너무 많은 동시 작업임 -- %d 시도" +msgid "cannot use the \"%s\" option when performing only analyze" +msgstr "통계 수집 전용 작업에서는 \"%s\" 옵션을 사용할 수 없음" -#: vacuumdb.c:194 +#: vacuumdb.c:343 #, c-format -msgid "parallel vacuum degree must be a non-negative integer" -msgstr "병렬 vacuum 값은 0 이상 정수형이어야 함" +msgid "cannot use the \"%s\" option when performing full vacuum" +msgstr "full vacuum 작업에서는 \"%s\" 옵션을 사용할 수 없음" -#: vacuumdb.c:214 +#: vacuumdb.c:349 vacuumdb.c:357 #, c-format -msgid "minimum transaction ID age must be at least 1" -msgstr "트랜잭션 ID 나이는 최소 1이어야 함" +msgid "cannot use the \"%s\" option with the \"%s\" option" +msgstr "\"%s\" 옵션과 \"%s\" 옵션을 함께 사용할 수 없음" -#: vacuumdb.c:222 +#: vacuumdb.c:428 #, c-format -msgid "minimum multixact ID age must be at least 1" -msgstr "multixact ID 나이는 최소 1이어야 함" +msgid "cannot vacuum all databases and a specific one at the same time" +msgstr "" +"-a 옵션이 있을 경우는 한 데이터베이스를 대상으로 작업을 진행할 수 없습니다." -#: vacuumdb.c:254 vacuumdb.c:260 vacuumdb.c:266 vacuumdb.c:278 +#: vacuumdb.c:432 #, c-format -msgid "cannot use the \"%s\" option when performing only analyze" -msgstr "통계 수집 전용 작업에서는 \"%s\" 옵션을 사용할 수 없음" +msgid "cannot vacuum specific table(s) in all databases" +msgstr "모든 데이터베이스를 대상으로는 특정 테이블들을 청소할 수는 없음" -#: vacuumdb.c:284 +#: vacuumdb.c:436 #, c-format -msgid "cannot use the \"%s\" option when performing full vacuum" -msgstr "full vacuum 작업에서는 \"%s\" 옵션을 사용할 수 없음" +msgid "cannot vacuum specific schema(s) in all databases" +msgstr "모든 데이터베이스를 대상으로는 특정 스키마들을 청소할 수는 없음" -#: vacuumdb.c:300 +#: vacuumdb.c:440 #, c-format -msgid "cannot vacuum all databases and a specific one at the same time" +msgid "cannot exclude specific schema(s) in all databases" +msgstr "모든 데이터베이스를 대상으로는 특정 스키마를 제외할 수 없음" + +#: vacuumdb.c:444 +#, c-format +msgid "" +"cannot vacuum all tables in schema(s) and specific table(s) at the same time" msgstr "" -"-a 옵션이 있을 경우는 한 데이터베이스를 대상으로 작업을 진행할 수 없습니다." +"스키마 안에 있는 모든 테이블을 청소하는 것과 특정 테이블만 청소하는 것을 동시" +"에 할 수 없음" -#: vacuumdb.c:305 +#: vacuumdb.c:448 #, c-format -msgid "cannot vacuum specific table(s) in all databases" -msgstr "모든 데이터베이스를 대상으로 특정 테이블들을 청소할 수는 없음" +msgid "cannot vacuum specific table(s) and exclude schema(s) at the same time" +msgstr "특정 테이블만 청소하는 것과 스키마를 제외하는 것은 동시에 할 수 없음" + +#: vacuumdb.c:452 +#, c-format +msgid "" +"cannot vacuum all tables in schema(s) and exclude schema(s) at the same time" +msgstr "" +"스키마 안 모든 테이블만 청소하는 것과 스키마를 제외하는 것은 동시에 할 수 없" +"음" -#: vacuumdb.c:396 +#: vacuumdb.c:496 msgid "Generating minimal optimizer statistics (1 target)" msgstr "최소 최적화 통계 수집 수행 중 (1% 대상)" -#: vacuumdb.c:397 +#: vacuumdb.c:497 msgid "Generating medium optimizer statistics (10 targets)" msgstr "일반 최적화 통계 수집 수행 중 (10% 대상)" -#: vacuumdb.c:398 +#: vacuumdb.c:498 msgid "Generating default (full) optimizer statistics" msgstr "최대 최적화 통계 수집 수행중 (모든 자료 대상)" -#: vacuumdb.c:447 +#: vacuumdb.c:577 #, c-format msgid "%s: processing database \"%s\": %s\n" msgstr "%s: \"%s\" 데이터베이스 작업 중: %s\n" -#: vacuumdb.c:450 +#: vacuumdb.c:580 #, c-format msgid "%s: vacuuming database \"%s\"\n" msgstr "%s: \"%s\" 데이터베이스를 청소 중\n" -#: vacuumdb.c:909 +#: vacuumdb.c:1115 #, c-format msgid "vacuuming of table \"%s\" in database \"%s\" failed: %s" msgstr "\"%s\" 테이블 (해당 DB: \"%s\") 청소하기 실패: %s" -#: vacuumdb.c:912 +#: vacuumdb.c:1118 #, c-format msgid "vacuuming of database \"%s\" failed: %s" msgstr "\"%s\" 데이터베이스 청소하기 실패: %s" -#: vacuumdb.c:920 +#: vacuumdb.c:1126 #, c-format msgid "" "%s cleans and analyzes a PostgreSQL database.\n" @@ -1066,39 +1155,52 @@ msgstr "" "퀴리 최적화기의 참고 자료를 갱신합니다.\n" "\n" -#: vacuumdb.c:924 +#: vacuumdb.c:1130 #, c-format msgid " -a, --all vacuum all databases\n" msgstr " -a, --all 모든 데이터베이스 청소\n" -#: vacuumdb.c:925 +#: vacuumdb.c:1131 +#, c-format +msgid " --buffer-usage-limit=SIZE size of ring buffer used for vacuum\n" +msgstr " --buffer-usage-limit=SIZE 청소를 위한 링 버커 크기\n" + +#: vacuumdb.c:1132 #, c-format msgid " -d, --dbname=DBNAME database to vacuum\n" msgstr " -d, --dbname=DBNAME DBNAME 데이터베이스 청소\n" -#: vacuumdb.c:926 +#: vacuumdb.c:1133 #, c-format msgid " --disable-page-skipping disable all page-skipping behavior\n" msgstr " --disable-page-skipping 모든 page-skipping 기능 비활성화\n" -#: vacuumdb.c:927 +#: vacuumdb.c:1134 #, c-format msgid "" " -e, --echo show the commands being sent to the " "server\n" msgstr " -e, --echo 서버로 보내는 명령들을 보여줌\n" -#: vacuumdb.c:928 +#: vacuumdb.c:1135 #, c-format msgid " -f, --full do full vacuuming\n" msgstr " -f, --full 대청소\n" -#: vacuumdb.c:929 +#: vacuumdb.c:1136 #, c-format msgid " -F, --freeze freeze row transaction information\n" msgstr " -F, --freeze 행 트랜잭션 정보 동결\n" -#: vacuumdb.c:930 +#: vacuumdb.c:1137 +#, c-format +msgid "" +" --force-index-cleanup always remove index entries that point to " +"dead tuples\n" +msgstr "" +" --force-index-cleanup 삭제된 튜플 대상 인덱스 항목 항상 삭제\n" + +#: vacuumdb.c:1138 #, c-format msgid "" " -j, --jobs=NUM use this many concurrent connections to " @@ -1106,7 +1208,7 @@ msgid "" msgstr "" " -j, --jobs=NUM 청소 작업을 여러개의 연결로 동시에 작업함\n" -#: vacuumdb.c:931 +#: vacuumdb.c:1139 #, c-format msgid "" " --min-mxid-age=MXID_AGE minimum multixact ID age of tables to " @@ -1114,7 +1216,7 @@ msgid "" msgstr "" " --min-mxid-age=MXID_AGE 청소할 테이블의 최소 multixact ID 나이\n" -#: vacuumdb.c:932 +#: vacuumdb.c:1140 #, c-format msgid "" " --min-xid-age=XID_AGE minimum transaction ID age of tables to " @@ -1122,21 +1224,67 @@ msgid "" msgstr "" " --min-xid-age=XID_AGE 청소할 테이블의 최소 트랜잭션 ID 나이\n" -#: vacuumdb.c:933 +#: vacuumdb.c:1141 +#, c-format +msgid "" +" --no-index-cleanup don't remove index entries that point to " +"dead tuples\n" +msgstr "" +" --no-index-cleanup 삭제된 튜플 대상 인덱스 항목 지우지 않음\n" + +#: vacuumdb.c:1142 +#, c-format +msgid " --no-process-main skip the main relation\n" +msgstr " --no-process-main 메인 릴레이션 건너뜀\n" + +#: vacuumdb.c:1143 +#, c-format +msgid "" +" --no-process-toast skip the TOAST table associated with the " +"table to vacuum\n" +msgstr "" +" --no-process-toast vacuum 대상 테이블과 관련된 TOAST 테이블 건" +"너뜀\n" + +#: vacuumdb.c:1144 +#, c-format +msgid "" +" --no-truncate don't truncate empty pages at the end of " +"the table\n" +msgstr "" +" --no-truncate 테이블 끝에 있는 빈 페이지를 지우지 않음\n" + +#: vacuumdb.c:1145 +#, c-format +msgid "" +" -n, --schema=PATTERN vacuum tables in the specified schema(s) " +"only\n" +msgstr "" +" -n, --schema=PATTERN 지정한 스키마 안에 있는 테이블만 청소함\n" + +#: vacuumdb.c:1146 +#, c-format +msgid "" +" -N, --exclude-schema=PATTERN do not vacuum tables in the specified " +"schema(s)\n" +msgstr "" +" -N, --exclude-schema=PATTERN 지정한 스키마 안에 있는 테이블만 청소안함\n" + +#: vacuumdb.c:1147 #, c-format msgid "" -" -P, --parallel=PARALLEL_DEGREE use this many background workers for " +" -P, --parallel=PARALLEL_WORKERS use this many background workers for " "vacuum, if available\n" msgstr "" " -P, --parallel=병렬작업수 vacuum 작업을 병렬로 처리 할 수 있는 경우\n" " 백그라운드 작업 프로세스 수\n" -#: vacuumdb.c:934 +#: vacuumdb.c:1148 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet 어떠한 메시지도 보여주지 않음\n" -#: vacuumdb.c:935 +#: vacuumdb.c:1149 #, c-format msgid "" " --skip-locked skip relations that cannot be immediately " @@ -1144,28 +1292,28 @@ msgid "" msgstr "" " --skip-locked 즉시 잠글 수 없는 릴레이션은 건너 뜀\n" -#: vacuumdb.c:936 +#: vacuumdb.c:1150 #, c-format msgid " -t, --table='TABLE[(COLUMNS)]' vacuum specific table(s) only\n" msgstr " -t, --table='TABLE[(COLUMNS)]' 지정한 특정 테이블들만 청소\n" -#: vacuumdb.c:937 +#: vacuumdb.c:1151 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose 작업내역의 자세한 출력\n" -#: vacuumdb.c:938 +#: vacuumdb.c:1152 #, c-format msgid "" " -V, --version output version information, then exit\n" msgstr " -V, --version 버전 정보를 보여주고 마침\n" -#: vacuumdb.c:939 +#: vacuumdb.c:1153 #, c-format msgid " -z, --analyze update optimizer statistics\n" msgstr " -z, --analyze 쿼리최적화 통계 정보를 갱신함\n" -#: vacuumdb.c:940 +#: vacuumdb.c:1154 #, c-format msgid "" " -Z, --analyze-only only update optimizer statistics; no " @@ -1174,7 +1322,7 @@ msgstr "" " -Z, --analyze-only 청소 작업 없이 쿼리최적화 통계 정보만 갱신" "함\n" -#: vacuumdb.c:941 +#: vacuumdb.c:1155 #, c-format msgid "" " --analyze-in-stages only update optimizer statistics, in " @@ -1184,12 +1332,12 @@ msgstr "" " --analyze-in-stages 보다 빠른 결과를 위해 다중 스테이지에서\n" " 최적화 통계치만 갱신함;청소 안함\n" -#: vacuumdb.c:943 +#: vacuumdb.c:1157 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help 이 도움말을 표시하고 종료\n" -#: vacuumdb.c:951 +#: vacuumdb.c:1165 #, c-format msgid "" "\n" diff --git a/src/interfaces/ecpg/preproc/po/ko.po b/src/interfaces/ecpg/preproc/po/ko.po index 43516f9f851..6b55d4eb4e2 100644 --- a/src/interfaces/ecpg/preproc/po/ko.po +++ b/src/interfaces/ecpg/preproc/po/ko.po @@ -5,10 +5,10 @@ # msgid "" msgstr "" -"Project-Id-Version: ecpg (PostgreSQL) 13\n" +"Project-Id-Version: ecpg (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2020-10-05 01:09+0000\n" -"PO-Revision-Date: 2020-10-05 16:55+0900\n" +"POT-Creation-Date: 2023-09-07 05:40+0000\n" +"PO-Revision-Date: 2023-05-30 12:36+0900\n" "Last-Translator: Ioseph Kim \n" "Language-Team: Korean Team \n" "Language: ko\n" @@ -22,37 +22,42 @@ msgstr "" msgid "variable \"%s\" must have a numeric type" msgstr "\"%s\" 변수는 숫자 형식이어야 함" -#: descriptor.c:124 descriptor.c:146 +#: descriptor.c:124 descriptor.c:155 #, c-format -msgid "descriptor \"%s\" does not exist" -msgstr "\"%s\" 설명자가 없음" +msgid "descriptor %s bound to connection %s does not exist" +msgstr "%s 설명자(해당 연결: %s)가 없음" -#: descriptor.c:161 descriptor.c:213 +#: descriptor.c:126 descriptor.c:157 +#, c-format +msgid "descriptor %s bound to the default connection does not exist" +msgstr "기본 연결을 위한 %s 설명자가 없음" + +#: descriptor.c:172 descriptor.c:224 #, c-format msgid "descriptor header item \"%d\" does not exist" msgstr "설명자 헤더 항목 \"%d\"이(가) 없음" -#: descriptor.c:183 +#: descriptor.c:194 #, c-format msgid "nullable is always 1" msgstr "null 허용 여부는 항상 1" -#: descriptor.c:186 +#: descriptor.c:197 #, c-format msgid "key_member is always 0" msgstr "key_member는 항상 0" -#: descriptor.c:280 +#: descriptor.c:291 #, c-format msgid "descriptor item \"%s\" is not implemented" msgstr "설명자 항목 \"%s\"이(가) 구현되지 않음" -#: descriptor.c:290 +#: descriptor.c:301 #, c-format msgid "descriptor item \"%s\" cannot be set" msgstr "설명자 항목 \"%s\"을(를) 설정할 수 없음" -#: ecpg.c:35 +#: ecpg.c:36 #, c-format msgid "" "%s is the PostgreSQL embedded SQL preprocessor for C programs.\n" @@ -61,7 +66,7 @@ msgstr "" "%s은(는) C 프로그램용 PostgreSQL 포함 SQL 전처리기입니다.\n" "\n" -#: ecpg.c:37 +#: ecpg.c:38 #, c-format msgid "" "Usage:\n" @@ -72,12 +77,12 @@ msgstr "" " %s [OPTION]... 파일...\n" "\n" -#: ecpg.c:40 +#: ecpg.c:41 #, c-format msgid "Options:\n" msgstr "옵션들:\n" -#: ecpg.c:41 +#: ecpg.c:42 #, c-format msgid "" " -c automatically generate C code from embedded SQL code;\n" @@ -86,7 +91,7 @@ msgstr "" " -c 포함된 SQL 코드에서 자동으로 C 코드를 생성합니다.\n" " EXEC SQL TYPE에 영향을 줍니다.\n" -#: ecpg.c:43 +#: ecpg.c:44 #, c-format msgid "" " -C MODE set compatibility mode; MODE can be one of\n" @@ -96,38 +101,38 @@ msgstr "" "다.\n" " \"INFORMIX\", \"INFORMIX_SE\", \"ORACLE\"\n" -#: ecpg.c:46 +#: ecpg.c:47 #, c-format msgid " -d generate parser debug output\n" msgstr " -d 파서 디버그 출력 생성\n" -#: ecpg.c:48 +#: ecpg.c:49 #, c-format msgid " -D SYMBOL define SYMBOL\n" msgstr " -D SYMBOL SYMBOL 정의\n" -#: ecpg.c:49 +#: ecpg.c:50 #, c-format msgid "" " -h parse a header file, this option includes option \"-c\"\n" msgstr " -h 헤더 파일 구문 분석. 이 옵션은 \"-c\" 옵션 포함\n" -#: ecpg.c:50 +#: ecpg.c:51 #, c-format msgid " -i parse system include files as well\n" msgstr " -i 시스템 포함 파일도 구문 분석\n" -#: ecpg.c:51 +#: ecpg.c:52 #, c-format msgid " -I DIRECTORY search DIRECTORY for include files\n" msgstr " -I DIRECTORY DIRECTORY에서 포함 파일 검색\n" -#: ecpg.c:52 +#: ecpg.c:53 #, c-format msgid " -o OUTFILE write result to OUTFILE\n" msgstr " -o OUTFILE OUTFILE에 결과 쓰기\n" -#: ecpg.c:53 +#: ecpg.c:54 #, c-format msgid "" " -r OPTION specify run-time behavior; OPTION can be:\n" @@ -137,27 +142,27 @@ msgstr "" "다.\n" " \"no_indicator\", \"prepare\", \"questionmarks\"\n" -#: ecpg.c:55 +#: ecpg.c:56 #, c-format msgid " --regression run in regression testing mode\n" msgstr " --regression 회귀 테스트 모드에서 실행\n" -#: ecpg.c:56 +#: ecpg.c:57 #, c-format msgid " -t turn on autocommit of transactions\n" msgstr " -t 트랜잭션 자동 커밋 설정\n" -#: ecpg.c:57 +#: ecpg.c:58 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version 버전 정보 보여주고 마침\n" -#: ecpg.c:58 +#: ecpg.c:59 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help 이 도움말을 보여주고 마침\n" -#: ecpg.c:59 +#: ecpg.c:60 #, c-format msgid "" "\n" @@ -168,7 +173,7 @@ msgstr "" "출력 파일 이름을 지정하지 않으면 입력 파일 이름에 .pgc가 있을 경우 제거하고\n" ".c를 추가하여 이름이 지정됩니다.\n" -#: ecpg.c:61 +#: ecpg.c:62 #, c-format msgid "" "\n" @@ -177,169 +182,183 @@ msgstr "" "\n" "문제점 보고 주소: <%s>\n" -#: ecpg.c:62 +#: ecpg.c:63 #, c-format msgid "%s home page: <%s>\n" msgstr "%s 홈페이지: <%s>\n" -#: ecpg.c:140 +#: ecpg.c:141 #, c-format msgid "%s: could not locate my own executable path\n" msgstr "%s: 실행 가능한 경로를 지정할 수 없습니다\n" -#: ecpg.c:175 ecpg.c:332 ecpg.c:343 -#, c-format -msgid "%s: could not open file \"%s\": %s\n" -msgstr "%s: \"%s\" 파일 열 수 없음: %s\n" - -#: ecpg.c:218 ecpg.c:231 ecpg.c:247 ecpg.c:273 +#: ecpg.c:184 ecpg.c:235 ecpg.c:249 ecpg.c:275 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "자제한 사항은 \"%s --help\" 명령으로 살펴보십시오.\n" -#: ecpg.c:242 +#: ecpg.c:192 #, c-format msgid "%s: parser debug support (-d) not available\n" msgstr "%s: 파서 디버그 지원(-d)을 사용할 수 없음\n" -#: ecpg.c:261 +#: ecpg.c:219 ecpg.c:334 ecpg.c:345 +#, c-format +msgid "%s: could not open file \"%s\": %s\n" +msgstr "%s: \"%s\" 파일 열 수 없음: %s\n" + +#: ecpg.c:263 #, c-format msgid "%s, the PostgreSQL embedded C preprocessor, version %s\n" msgstr "%s, PostgreSQL 포함 C 전처리기, 버전 %s\n" -#: ecpg.c:263 +#: ecpg.c:265 #, c-format msgid "EXEC SQL INCLUDE ... search starts here:\n" msgstr "EXEC SQL INCLUDE ... 여기서 검색 시작:\n" -#: ecpg.c:266 +#: ecpg.c:268 #, c-format msgid "end of search list\n" msgstr "검색 목록의 끝\n" -#: ecpg.c:272 +#: ecpg.c:274 #, c-format msgid "%s: no input files specified\n" msgstr "%s: 지정된 입력 파일 없음\n" -#: ecpg.c:466 +#: ecpg.c:478 #, c-format msgid "cursor \"%s\" has been declared but not opened" msgstr "\"%s\" 커서가 선언되었지만 열리지 않음" -#: ecpg.c:479 preproc.y:128 +#: ecpg.c:491 preproc.y:130 #, c-format msgid "could not remove output file \"%s\"\n" msgstr "출력 파일 \"%s\"을(를) 제거할 수 없음\n" -#: pgc.l:502 +#: pgc.l:520 #, c-format msgid "unterminated /* comment" msgstr "마무리 안된 /* 주석" -#: pgc.l:519 +#: pgc.l:537 #, c-format msgid "unterminated bit string literal" msgstr "마무리 안된 비트 문자열 문자" -#: pgc.l:527 +#: pgc.l:545 #, c-format msgid "unterminated hexadecimal string literal" msgstr "마무리 안된 16진수 문자열 문자" -#: pgc.l:602 +#: pgc.l:620 #, c-format msgid "invalid bit string literal" msgstr "잘못된 비트 문자열 리터럴" -#: pgc.l:623 +#: pgc.l:625 +#, c-format +msgid "invalid hexadecimal string literal" +msgstr "잘못된 16진수 문자열 문자" + +#: pgc.l:643 #, c-format msgid "unhandled previous state in xqs\n" msgstr "xqs 안에 다룰 수 없는 이전 상태값 있음\n" -#: pgc.l:652 pgc.l:754 +#: pgc.l:669 pgc.l:778 #, c-format msgid "unterminated quoted string" msgstr "마무리 안된 따옴표 안의 문자열" -#: pgc.l:703 +#: pgc.l:720 #, c-format msgid "unterminated dollar-quoted string" msgstr "마무리 안된 따옴표 안의 문자열" -#: pgc.l:721 pgc.l:734 +#: pgc.l:738 pgc.l:758 #, c-format msgid "zero-length delimited identifier" msgstr "길이가 0인 구분 식별자" -#: pgc.l:745 +#: pgc.l:769 #, c-format msgid "unterminated quoted identifier" msgstr "마무리 안된 따옴표 안의 식별자" -#: pgc.l:1076 +#: pgc.l:938 +#, c-format +msgid "trailing junk after parameter" +msgstr "매개 변수 뒤에 뭔가 붙었음" + +#: pgc.l:990 pgc.l:993 pgc.l:996 pgc.l:999 pgc.l:1002 pgc.l:1005 +#, c-format +msgid "trailing junk after numeric literal" +msgstr "숫자 뒤에 문자가 붙었습니다" + +#: pgc.l:1127 #, c-format msgid "nested /* ... */ comments" msgstr "중첩된 /* ... */ 주석" -#: pgc.l:1169 +#: pgc.l:1220 #, c-format msgid "missing identifier in EXEC SQL UNDEF command" msgstr "EXEC SQL UNDEF 명령에 식별자 누락" -#: pgc.l:1187 pgc.l:1200 pgc.l:1216 pgc.l:1229 +#: pgc.l:1238 pgc.l:1251 pgc.l:1267 pgc.l:1280 #, c-format msgid "too many nested EXEC SQL IFDEF conditions" msgstr "중첩된 EXEC SQL IFDEF 조건이 너무 많음" -#: pgc.l:1245 pgc.l:1256 pgc.l:1271 pgc.l:1293 +#: pgc.l:1296 pgc.l:1307 pgc.l:1322 pgc.l:1344 #, c-format msgid "missing matching \"EXEC SQL IFDEF\" / \"EXEC SQL IFNDEF\"" msgstr "일치하는 \"EXEC SQL IFDEF\" / \"EXEC SQL IFNDEF\" 누락" -#: pgc.l:1247 pgc.l:1258 pgc.l:1439 +#: pgc.l:1298 pgc.l:1309 pgc.l:1490 #, c-format msgid "missing \"EXEC SQL ENDIF;\"" msgstr "\"EXEC SQL ENDIF;\" 누락" -#: pgc.l:1273 pgc.l:1295 +#: pgc.l:1324 pgc.l:1346 #, c-format msgid "more than one EXEC SQL ELSE" msgstr "두 개 이상의 EXEC SQL ELSE" -#: pgc.l:1318 pgc.l:1332 +#: pgc.l:1369 pgc.l:1383 #, c-format msgid "unmatched EXEC SQL ENDIF" msgstr "일치하지 않는 EXEC SQL ENDIF" -#: pgc.l:1387 +#: pgc.l:1438 #, c-format msgid "missing identifier in EXEC SQL IFDEF command" msgstr "EXEC SQL IFDEF 명령에 식별자 누락" -#: pgc.l:1396 +#: pgc.l:1447 #, c-format msgid "missing identifier in EXEC SQL DEFINE command" msgstr "EXEC SQL DEFINE 명령에 식별자 누락" -#: pgc.l:1429 +#: pgc.l:1480 #, c-format msgid "syntax error in EXEC SQL INCLUDE command" msgstr "EXEC SQL INCLUDE 명령에 구문 오류 발생" -#: pgc.l:1479 +#: pgc.l:1530 #, c-format msgid "internal error: unreachable state; please report this to <%s>" msgstr "" -"내부 오류: 상태값을 알 수 없습니다. 이 문제를 <%s> 주소로 " -"알려주십시오." +"내부 오류: 상태값을 알 수 없습니다. 이 문제를 <%s> 주소로 알려주십시오." -#: pgc.l:1631 +#: pgc.l:1682 #, c-format msgid "Error: include path \"%s/%s\" is too long on line %d, skipping\n" msgstr "오류: 포함 경로 \"%s/%s\"이(가) %d줄에서 너무 길어서 건너뜀\n" -#: pgc.l:1654 +#: pgc.l:1705 #, c-format msgid "could not open include file \"%s\" on line %d" msgstr "포함 파일 \"%s\"을(를) %d줄에서 열 수 없음" @@ -348,124 +367,129 @@ msgstr "포함 파일 \"%s\"을(를) %d줄에서 열 수 없음" msgid "syntax error" msgstr "구문 오류" -#: preproc.y:82 +#: preproc.y:84 #, c-format msgid "WARNING: " msgstr "경고: " -#: preproc.y:85 +#: preproc.y:87 #, c-format msgid "ERROR: " msgstr "오류: " -#: preproc.y:512 +#: preproc.y:514 #, c-format msgid "cursor \"%s\" does not exist" msgstr "\"%s\" 이름의 커서가 없음" -#: preproc.y:541 +#: preproc.y:543 #, c-format msgid "initializer not allowed in type definition" msgstr "형식 정의에 이니셜라이저가 허용되지 않음" -#: preproc.y:543 +#: preproc.y:545 #, c-format msgid "type name \"string\" is reserved in Informix mode" msgstr "\"string\" 자료형 이름은 인포믹스 모드에서 예약어로 쓰입니다" -#: preproc.y:550 preproc.y:15960 +#: preproc.y:552 preproc.y:18392 #, c-format msgid "type \"%s\" is already defined" msgstr "\"%s\" 형식이 이미 정의됨" -#: preproc.y:575 preproc.y:16603 preproc.y:16928 variable.c:621 +#: preproc.y:577 preproc.y:19027 preproc.y:19349 variable.c:625 #, c-format msgid "multidimensional arrays for simple data types are not supported" msgstr "단순 데이터 형식에 다차원 배열이 지원되지 않음" -#: preproc.y:1704 +#: preproc.y:599 +#, c-format +msgid "connection %s is overwritten with %s by DECLARE statement %s" +msgstr "%s 연결은 %s 연결로 바뀌었음, 해당 DECLARE 구문: %s" + +#: preproc.y:1792 #, c-format msgid "AT option not allowed in CLOSE DATABASE statement" msgstr "CLOSE DATABASE 문에 AT 옵션이 허용되지 않음" -#: preproc.y:1952 +#: preproc.y:2042 #, c-format msgid "AT option not allowed in CONNECT statement" msgstr "CONNECT 문에 AT 옵션이 허용되지 않음" -#: preproc.y:1986 +#: preproc.y:2082 #, c-format msgid "AT option not allowed in DISCONNECT statement" msgstr "DISCONNECT 문에 AT 옵션이 허용되지 않음" -#: preproc.y:2041 +#: preproc.y:2137 #, c-format msgid "AT option not allowed in SET CONNECTION statement" msgstr "SET CONNECTION 문에 AT 옵션이 허용되지 않음" -#: preproc.y:2063 +#: preproc.y:2159 #, c-format msgid "AT option not allowed in TYPE statement" msgstr "TYPE 문에 AT 옵션이 허용되지 않음" -#: preproc.y:2072 +#: preproc.y:2168 #, c-format msgid "AT option not allowed in VAR statement" msgstr "VAR 문에 AT 옵션이 허용되지 않음" -#: preproc.y:2079 +#: preproc.y:2175 #, c-format msgid "AT option not allowed in WHENEVER statement" msgstr "WHENEVER 문에 AT 옵션이 허용되지 않음" -#: preproc.y:2156 preproc.y:2328 preproc.y:2333 preproc.y:2456 preproc.y:4034 -#: preproc.y:4682 preproc.y:5624 preproc.y:5924 preproc.y:7542 preproc.y:9081 -#: preproc.y:9086 preproc.y:11921 +#: 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 #, c-format msgid "unsupported feature will be passed to server" msgstr "지원되지 않는 기능이 서버에 전달됨" -#: preproc.y:2714 +#: preproc.y:2847 #, c-format msgid "SHOW ALL is not implemented" msgstr "SHOW ALL이 구현되지 않음" -#: preproc.y:3382 +#: preproc.y:3531 #, c-format msgid "COPY FROM STDIN is not implemented" msgstr "COPY FROM STDIN이 구현되지 않음" -#: preproc.y:10060 preproc.y:15545 +#: preproc.y:10303 preproc.y:17889 +#, c-format +msgid "\"database\" cannot be used as cursor name in INFORMIX mode" +msgstr "INFORMIX 모드에서는 \"database\"를 커서 이름으로 사용할 수 없음" + +#: preproc.y:10310 preproc.y:17899 #, c-format msgid "using variable \"%s\" in different declare statements is not supported" msgstr "서로 다른 선언 구문에서 \"%s\" 변수 사용은 지원하지 않습니다" -#: preproc.y:10062 preproc.y:15547 +#: preproc.y:10312 preproc.y:17901 #, c-format msgid "cursor \"%s\" is already defined" msgstr "\"%s\" 커서가 이미 정의됨" -#: preproc.y:10502 +#: preproc.y:10786 #, c-format msgid "no longer supported LIMIT #,# syntax passed to server" msgstr "더 이상 지원되지 않는 LIMIT #,# 구문이 서버에 전달됨" -#: preproc.y:10835 preproc.y:10842 -#, c-format -msgid "subquery in FROM must have an alias" -msgstr "FROM 절 내의 subquery 에는 반드시 alias 를 가져야만 합니다" - -#: preproc.y:15268 preproc.y:15275 +#: preproc.y:17581 preproc.y:17588 #, c-format msgid "CREATE TABLE AS cannot specify INTO" msgstr "CREATE TABLE AS에서 INTO를 지정할 수 없음" -#: preproc.y:15311 +#: preproc.y:17624 #, c-format msgid "expected \"@\", found \"%s\"" msgstr "\"@\"이 필요한데 \"%s\"이(가) 있음" -#: preproc.y:15323 +#: preproc.y:17636 #, c-format msgid "" "only protocols \"tcp\" and \"unix\" and database type \"postgresql\" are " @@ -473,89 +497,89 @@ msgid "" msgstr "" "\"tcp\" 및 \"unix\" 프로토콜과 데이터베이스 형식 \"postgresql\"만 지원됨" -#: preproc.y:15326 +#: preproc.y:17639 #, c-format msgid "expected \"://\", found \"%s\"" msgstr "\"://\"가 필요한데 \"%s\"이(가) 있음" -#: preproc.y:15331 +#: preproc.y:17644 #, c-format msgid "Unix-domain sockets only work on \"localhost\" but not on \"%s\"" msgstr "" "Unix-domain 소켓은 \"localhost\"에서만 작동하며 \"%s\"에서는 작동하지 않음" -#: preproc.y:15357 +#: preproc.y:17670 #, c-format msgid "expected \"postgresql\", found \"%s\"" msgstr "\"postgresql\"이 필요한데 \"%s\"이(가) 있음" -#: preproc.y:15360 +#: preproc.y:17673 #, c-format msgid "invalid connection type: %s" msgstr "잘못된 연결 형식: %s" -#: preproc.y:15369 +#: preproc.y:17682 #, c-format msgid "expected \"@\" or \"://\", found \"%s\"" msgstr "\"@\" 또는 \"://\"가 필요한데 \"%s\"이(가) 있음" -#: preproc.y:15444 preproc.y:15462 +#: preproc.y:17757 preproc.y:17775 #, c-format msgid "invalid data type" msgstr "잘못된 데이터 형식" -#: preproc.y:15473 preproc.y:15490 +#: preproc.y:17786 preproc.y:17803 #, c-format msgid "incomplete statement" msgstr "불완전한 문" -#: preproc.y:15476 preproc.y:15493 +#: preproc.y:17789 preproc.y:17806 #, c-format msgid "unrecognized token \"%s\"" msgstr "인식할 수 없는 토큰 \"%s\"" -#: preproc.y:15763 +#: preproc.y:17851 +#, c-format +msgid "name \"%s\" is already declared" +msgstr "\"%s\" 이름이 이미 정의됨" + +#: preproc.y:18140 #, c-format msgid "only data types numeric and decimal have precision/scale argument" msgstr "숫자 및 10진수 데이터 형식에만 전체 자릿수/소수 자릿수 인수 포함" -#: preproc.y:15775 +#: preproc.y:18211 #, c-format msgid "interval specification not allowed here" msgstr "여기에는 간격 지정이 허용되지 않음" -#: preproc.y:15935 preproc.y:15987 +#: preproc.y:18367 preproc.y:18419 #, c-format msgid "too many levels in nested structure/union definition" msgstr "중첩된 구조/union 정의에 수준이 너무 많음" -#: preproc.y:16110 +#: preproc.y:18542 #, c-format msgid "pointers to varchar are not implemented" msgstr "varchar에 대한 포인터가 구현되지 않음" -#: preproc.y:16297 preproc.y:16322 -#, c-format -msgid "using unsupported DESCRIBE statement" -msgstr "지원되지 않는 DESCRIBE 문 사용" - -#: preproc.y:16569 +#: preproc.y:18993 #, c-format msgid "initializer not allowed in EXEC SQL VAR command" msgstr "EXEC SQL VAR 명령에 이니셜라이저가 허용되지 않음" -#: preproc.y:16886 +#: preproc.y:19307 #, c-format msgid "arrays of indicators are not allowed on input" msgstr "입력에서 표시기의 배열이 허용되지 않음" -#: preproc.y:17073 +#: preproc.y:19494 #, c-format msgid "operator not allowed in variable definition" msgstr "연산자는 동적 정의 영역에서는 사용할 수 없음" #. translator: %s is typically the translation of "syntax error" -#: preproc.y:17114 +#: preproc.y:19535 #, c-format msgid "%s at or near \"%s\"" msgstr "%s, \"%s\" 부근" @@ -626,52 +650,52 @@ msgstr "\"%s\" 지시 구조체는 맴버가 너무 많음" msgid "unrecognized descriptor item code %d" msgstr "인식할 수 없는 설명자 항목 코드 %d" -#: variable.c:89 variable.c:116 +#: variable.c:89 variable.c:115 #, c-format msgid "incorrectly formed variable \"%s\"" msgstr "잘못된 형식의 변수 \"%s\"" -#: variable.c:139 +#: variable.c:138 #, c-format msgid "variable \"%s\" is not a pointer" msgstr "\"%s\" 변수가 포인터가 아님" -#: variable.c:142 variable.c:167 +#: variable.c:141 variable.c:166 #, c-format msgid "variable \"%s\" is not a pointer to a structure or a union" msgstr "\"%s\" 변수가 구조나 union의 포인터가 아님" -#: variable.c:154 +#: variable.c:153 #, c-format msgid "variable \"%s\" is neither a structure nor a union" msgstr "\"%s\" 변수가 구조나 union이 아님" -#: variable.c:164 +#: variable.c:163 #, c-format msgid "variable \"%s\" is not an array" msgstr "\"%s\" 변수가 배열이 아님" -#: variable.c:233 variable.c:255 +#: variable.c:232 variable.c:254 #, c-format msgid "variable \"%s\" is not declared" msgstr "\"%s\" 변수가 선언되지 않음" -#: variable.c:494 +#: variable.c:493 #, c-format msgid "indicator variable must have an integer type" msgstr "표시기 변수에 정수 형식이 있어야 함" -#: variable.c:506 +#: variable.c:510 #, c-format msgid "unrecognized data type name \"%s\"" msgstr "인식할 수 없는 데이터 형식 이름 \"%s\"" -#: variable.c:517 variable.c:525 variable.c:542 variable.c:545 +#: variable.c:521 variable.c:529 variable.c:546 variable.c:549 #, c-format msgid "multidimensional arrays are not supported" msgstr "다차원 배열이 지원되지 않음" -#: variable.c:534 +#: variable.c:538 #, c-format msgid "" "multilevel pointers (more than 2 levels) are not supported; found %d level" @@ -679,12 +703,12 @@ msgid_plural "" "multilevel pointers (more than 2 levels) are not supported; found %d levels" msgstr[0] "다중단계 포인터(2단계 이상)는 지원하지 않음; 발견된 레벨: %d" -#: variable.c:539 +#: variable.c:543 #, c-format msgid "pointer to pointer is not supported for this data type" msgstr "이 데이터 형식에는 포인터에 대한 포인터가 지원되지 않음" -#: variable.c:559 +#: variable.c:563 #, c-format msgid "multidimensional arrays for structures are not supported" msgstr "구조에는 다차원 배열이 지원되지 않음" diff --git a/src/interfaces/ecpg/preproc/po/zh_TW.po b/src/interfaces/ecpg/preproc/po/zh_TW.po index 9d94f8c1d13..ed50343362e 100644 --- a/src/interfaces/ecpg/preproc/po/zh_TW.po +++ b/src/interfaces/ecpg/preproc/po/zh_TW.po @@ -1,512 +1,596 @@ # Traditional Chinese message translation file for ecpg -# Copyright (C) 2010 PostgreSQL Global Development Group -# This file is distributed under the same license as the PostgreSQL package. +# Copyright (C) 2023 PostgreSQL Global Development Group +# This file is distributed under the same license as the ecpg (PostgreSQL) package. +# msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 9.1\n" -"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n" -"POT-Creation-Date: 2011-05-11 20:42+0000\n" -"PO-Revision-Date: 2013-09-03 23:28-0400\n" +"Project-Id-Version: ecpg (PostgreSQL) 16\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2023-09-06 06:39+0000\n" +"PO-Revision-Date: 2023-09-11 08:36+0800\n" "Last-Translator: Zhenbang Wei \n" -"Language-Team: EnterpriseDB translation team \n" +"Language-Team: \n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 3.3.2\n" #: descriptor.c:64 #, c-format msgid "variable \"%s\" must have a numeric type" -msgstr "變數 \"%s\" 必須具有數值型別" +msgstr "變數 \"%s\" 必須具有數值類型" -#: descriptor.c:124 descriptor.c:146 +#: descriptor.c:124 descriptor.c:155 #, c-format -msgid "descriptor \"%s\" does not exist" -msgstr "描述子 \"%s\" 不存在" +msgid "descriptor %s bound to connection %s does not exist" +msgstr "綁定到連線 %2$s 的描述符 %1$s 不存在" -#: descriptor.c:161 descriptor.c:210 +#: descriptor.c:126 descriptor.c:157 +#, c-format +msgid "descriptor %s bound to the default connection does not exist" +msgstr "綁定到預設連線的描述符 %s 不存在" + +#: descriptor.c:172 descriptor.c:224 #, c-format msgid "descriptor header item \"%d\" does not exist" -msgstr "描述子標頭項目 \"%d\" 不存在" +msgstr "描述符標頭項目 \"%d\" 不存在" -#: descriptor.c:182 +#: descriptor.c:194 +#, c-format msgid "nullable is always 1" -msgstr "Nullable 一律為 1" +msgstr "nullable 永遠為 1" -#: descriptor.c:185 +#: descriptor.c:197 +#, c-format msgid "key_member is always 0" -msgstr "key_member 一律為 0" +msgstr "key_member 永遠為 0" -#: descriptor.c:277 +#: descriptor.c:291 #, c-format msgid "descriptor item \"%s\" is not implemented" -msgstr "未實作描述子項目 \"%s\"" +msgstr "未實作描述符項目 \"%s\"" -#: descriptor.c:287 +#: descriptor.c:301 #, c-format msgid "descriptor item \"%s\" cannot be set" -msgstr "不能設定描述子項目 \"%s\"" +msgstr "無法設定描述符項目 \"%s\"" -#: ecpg.c:35 +#: ecpg.c:36 #, c-format msgid "" "%s is the PostgreSQL embedded SQL preprocessor for C programs.\n" "\n" msgstr "" -"%s 是 PostgreSQL 內嵌 SQL 前置處理器,適用於 C 程式。\n" +"%s 是用於 C 程式的 PostgreSQL 嵌入式 SQL 預處理器。\n" "\n" -#: ecpg.c:37 +#: ecpg.c:38 #, c-format msgid "" "Usage:\n" " %s [OPTION]... FILE...\n" "\n" msgstr "" -"使用方法:\n" -"%s [選項]...檔案...\n" +"用法:\n" +" %s [OPTION]... FILE...\n" "\n" # postmaster/postmaster.c:1017 tcop/postgres.c:2115 -#: ecpg.c:40 +#: ecpg.c:41 #, c-format msgid "Options:\n" -msgstr "選項:\n" +msgstr "選項: \n" -#: ecpg.c:41 +#: ecpg.c:42 #, c-format msgid "" " -c automatically generate C code from embedded SQL code;\n" " this affects EXEC SQL TYPE\n" msgstr "" -" -c 自動從內嵌 SQL 程式碼產生 C 程式碼,\n" -" EXEC SQL TYPE 會受到影響\n" +" -c 自動從嵌入式 SQL 碼生成 C 程式碼;\n" +" 這會影響 EXEC SQL TYPE\n" -#: ecpg.c:43 +#: ecpg.c:44 #, c-format msgid "" " -C MODE set compatibility mode; MODE can be one of\n" -" \"INFORMIX\", \"INFORMIX_SE\"\n" +" \"INFORMIX\", \"INFORMIX_SE\", \"ORACLE\"\n" msgstr "" -" -C 模式 設定相容性模式,模式可以是下列其中一項\n" -" \"INFORMIX\"、\"INFORMIX_SE\"\n" +" -C MODE 設定相容性模式;MODE 可以是:\n" +" \"INFORMIX\", \"INFORMIX_SE\", \"ORACLE\"\n" -#: ecpg.c:46 +#: ecpg.c:47 #, c-format msgid " -d generate parser debug output\n" -msgstr " -d 產生解譯器偵錯輸出\n" +msgstr " -d 產生解析器的除錯輸出\n" -#: ecpg.c:48 +#: ecpg.c:49 #, c-format msgid " -D SYMBOL define SYMBOL\n" -msgstr " -D 符號 定義符號\n" +msgstr " -D SYMBOL 定義 SYMBOL\n" -#: ecpg.c:49 +#: ecpg.c:50 #, c-format -msgid "" -" -h parse a header file, this option includes option \"-c\"\n" -msgstr " -h 解譯標頭檔,此選項包含選項 \"-c\"\n" +msgid " -h parse a header file, this option includes option \"-c\"\n" +msgstr " -h 解析標頭檔,此選項包括選項 \"-c\"\n" -#: ecpg.c:50 +#: ecpg.c:51 #, c-format msgid " -i parse system include files as well\n" -msgstr " -i 同時解譯系統引用檔案\n" +msgstr " -i 也解析系統引用檔\n" -#: ecpg.c:51 +#: ecpg.c:52 #, c-format msgid " -I DIRECTORY search DIRECTORY for include files\n" -msgstr " -I 目錄 搜尋引用檔案的目錄\n" +msgstr " -I DIRECTORY 在 DIRECTORY 目錄中尋找引用檔\n" -#: ecpg.c:52 +#: ecpg.c:53 #, c-format msgid " -o OUTFILE write result to OUTFILE\n" -msgstr " -o 輸出檔 將結果寫入輸出檔\n" +msgstr " -o OUTFILE 將結果寫入 OUTFILE\n" -#: ecpg.c:53 +#: ecpg.c:54 #, c-format msgid "" " -r OPTION specify run-time behavior; OPTION can be:\n" " \"no_indicator\", \"prepare\", \"questionmarks\"\n" msgstr "" -" -r 選項 指定執行階段行為,選項可以是:\n" -" \"no_indicator\"、\"prepare\"、\"questionmarks\"\n" +" -r OPTION 指定執行階段行為,選項可以是:\n" +" \"no_indicator\", \"prepare\", \"questionmarks\"\n" -#: ecpg.c:55 +#: ecpg.c:56 #, c-format msgid " --regression run in regression testing mode\n" msgstr " --regression 以迴歸測試模式執行\n" -#: ecpg.c:56 -#, c-format -msgid " -t turn on autocommit of transactions\n" -msgstr " -t 開啟交易自動提交功能\n" - #: ecpg.c:57 #, c-format -msgid " --help show this help, then exit\n" -msgstr " --help 顯示此說明然後結束\n" +msgid " -t turn on autocommit of transactions\n" +msgstr " -t 開啟交易的自動提交功能\n" #: ecpg.c:58 #, c-format -msgid " --version output version information, then exit\n" -msgstr " --version 輸出版本資訊然後結束\n" +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version 顯示版本,然後結束\n" #: ecpg.c:59 #, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help 顯示說明,然後結束\n" + +#: ecpg.c:60 +#, c-format msgid "" "\n" "If no output file is specified, the name is formed by adding .c to the\n" "input file name, after stripping off .pgc if present.\n" msgstr "" "\n" -"如果未指定輸出檔,檔名就是將輸入檔的檔名\n" -"去掉 .pgc (如果有的話) 再加上 .c。\n" +"如果未指定輸出檔案,檔名就是先將輸入檔名\n" +"去掉 .pgc(如果有的話)再加上 .c。\n" # tcop/postgres.c:2140 -#: ecpg.c:61 +#: ecpg.c:62 #, c-format msgid "" "\n" -"Report bugs to .\n" +"Report bugs to <%s>.\n" msgstr "" "\n" -"回報錯誤給 。\n" +"回報錯誤至 <%s>。\n" -#: ecpg.c:182 ecpg.c:333 ecpg.c:343 +#: ecpg.c:63 #, c-format -msgid "%s: could not open file \"%s\": %s\n" -msgstr "%s: 無法開啟檔案\"%s\": %s\n" +msgid "%s home page: <%s>\n" +msgstr "%s 網頁: <%s>\n" + +#: ecpg.c:141 +#, c-format +msgid "%s: could not locate my own executable path\n" +msgstr "%s: 無法找到自己的執行檔路徑\n" # postmaster/postmaster.c:512 postmaster/postmaster.c:525 -#: ecpg.c:221 ecpg.c:234 ecpg.c:250 ecpg.c:275 +#: ecpg.c:184 ecpg.c:235 ecpg.c:249 ecpg.c:275 #, c-format msgid "Try \"%s --help\" for more information.\n" -msgstr "執行\"%s --help\"顯示更多資訊。\n" +msgstr "用 \"%s --help\" 取得更多資訊。\n" -#: ecpg.c:245 +#: ecpg.c:192 #, c-format msgid "%s: parser debug support (-d) not available\n" -msgstr "%s: 解譯器偵錯支援 (-d) 無法使用\n" +msgstr "%s: 解析器的除錯支援 (-d) 不可用\n" + +#: ecpg.c:219 ecpg.c:334 ecpg.c:345 +#, c-format +msgid "%s: could not open file \"%s\": %s\n" +msgstr "%s: 無法開啟檔案 \"%s\": %s\n" #: ecpg.c:263 #, c-format -msgid "%s, the PostgreSQL embedded C preprocessor, version %d.%d.%d\n" -msgstr "%s,PostgreSQL 內嵌 C 前置處理器,版本 %d.%d.%d\n" +msgid "%s, the PostgreSQL embedded C preprocessor, version %s\n" +msgstr "%s,PostgreSQL 嵌入式 C 預處理器,版本 %s\n" #: ecpg.c:265 #, c-format msgid "EXEC SQL INCLUDE ... search starts here:\n" -msgstr "EXEC SQL INCLUDE ... 在此處開始搜尋:\n" +msgstr "EXEC SQL INCLUDE ... 搜尋開始於:\n" #: ecpg.c:268 #, c-format msgid "end of search list\n" -msgstr "搜尋清單結尾\n" +msgstr "搜尋清單結束\n" #: ecpg.c:274 #, c-format msgid "%s: no input files specified\n" msgstr "%s: 未指定輸入檔\n" -#: ecpg.c:466 +#: ecpg.c:478 #, c-format msgid "cursor \"%s\" has been declared but not opened" -msgstr "指標 \"%s\" 已宣告但尚未開啟" +msgstr "指標 \"%s\" 已經被宣告但尚未開啟" -#: ecpg.c:479 preproc.y:109 +#: ecpg.c:491 preproc.y:130 #, c-format msgid "could not remove output file \"%s\"\n" -msgstr "無法移除輸出檔 \"%s\"\n" +msgstr "無法刪除輸出檔 \"%s\"\n" # scan.l:312 -#: pgc.l:402 +#: pgc.l:520 +#, c-format msgid "unterminated /* comment" msgstr "未結束的 /* 註解" -#: pgc.l:415 -msgid "invalid bit string literal" -msgstr "位元字串實量無效" - # scan.l:339 -#: pgc.l:424 +#: pgc.l:537 +#, c-format msgid "unterminated bit string literal" -msgstr "未結束的位元字串實量" +msgstr "未結束的位元字串" # scan.l:358 -#: pgc.l:440 +#: pgc.l:545 +#, c-format msgid "unterminated hexadecimal string literal" -msgstr "未結束的十六進位字串實量" +msgstr "未結束的十六進位字串" + +#: pgc.l:620 +#, c-format +msgid "invalid bit string literal" +msgstr "無效的位元字串" + +# scan.l:358 +#: pgc.l:625 +#, c-format +msgid "invalid hexadecimal string literal" +msgstr "未結束的十六進位字串" + +#: pgc.l:643 +#, c-format +msgid "unhandled previous state in xqs\n" +msgstr "在 xqs 中未處理的先前狀態\n" # scan.l:407 -#: pgc.l:518 +#: pgc.l:669 pgc.l:778 +#, c-format msgid "unterminated quoted string" msgstr "未結束的引號字串" -#: pgc.l:573 pgc.l:586 +# scan.l:441 +#: pgc.l:720 +#, c-format +msgid "unterminated dollar-quoted string" +msgstr "未結束的錢號引號字串" + +#: pgc.l:738 pgc.l:758 +#, c-format msgid "zero-length delimited identifier" msgstr "長度為零的分隔識別字" -#: pgc.l:594 +#: pgc.l:769 +#, c-format msgid "unterminated quoted identifier" msgstr "未結束的引號識別字" -#: pgc.l:940 +# gram.y:3496 utils/adt/regproc.c:639 +#: pgc.l:938 +#, c-format +msgid "trailing junk after parameter" +msgstr "參數後有多餘的垃圾字符" + +#: pgc.l:990 pgc.l:993 pgc.l:996 pgc.l:999 pgc.l:1002 pgc.l:1005 +#, c-format +msgid "trailing junk after numeric literal" +msgstr "數字文字後有多餘的垃圾字符" + +# scan.l:312 +#: pgc.l:1127 +#, c-format +msgid "nested /* ... */ comments" +msgstr "巢狀的 /* ... */ 註解" + +#: pgc.l:1220 +#, c-format msgid "missing identifier in EXEC SQL UNDEF command" -msgstr "EXEC SQL UNDEF 指令遺漏識別字" +msgstr "在 EXEC SQL UNDEF 指令中缺少識別字" -#: pgc.l:986 pgc.l:1000 +#: pgc.l:1238 pgc.l:1251 pgc.l:1267 pgc.l:1280 +#, c-format +msgid "too many nested EXEC SQL IFDEF conditions" +msgstr "太多巢狀的 EXEC SQL IFDEF 條件" + +#: pgc.l:1296 pgc.l:1307 pgc.l:1322 pgc.l:1344 +#, c-format msgid "missing matching \"EXEC SQL IFDEF\" / \"EXEC SQL IFNDEF\"" -msgstr "遺漏相符的 \"EXEC SQL IFDEF\" / \"EXEC SQL IFNDEF\"" +msgstr "缺少相對的 \"EXEC SQL IFDEF\" / \"EXEC SQL IFNDEF\"" -#: pgc.l:989 pgc.l:1002 pgc.l:1178 +#: pgc.l:1298 pgc.l:1309 pgc.l:1490 +#, c-format msgid "missing \"EXEC SQL ENDIF;\"" -msgstr "遺漏 \"EXEC SQL ENDIF;\"" +msgstr "缺少 \"EXEC SQL ENDIF;\"" -#: pgc.l:1018 pgc.l:1037 +#: pgc.l:1324 pgc.l:1346 +#, c-format msgid "more than one EXEC SQL ELSE" msgstr "多個 EXEC SQL ELSE" -#: pgc.l:1059 pgc.l:1073 +#: pgc.l:1369 pgc.l:1383 +#, c-format msgid "unmatched EXEC SQL ENDIF" -msgstr "EXEC SQL ENDIF 不相符" - -#: pgc.l:1093 -msgid "too many nested EXEC SQL IFDEF conditions" -msgstr "過多巢狀 EXEC SQL IFDEF 條件" +msgstr "不相符的 EXEC SQL ENDIF" -#: pgc.l:1126 +#: pgc.l:1438 +#, c-format msgid "missing identifier in EXEC SQL IFDEF command" -msgstr "EXEC SQL IFDEF 指令遺漏識別字" +msgstr "在 EXEC SQL IFDEF 指令中缺少識別字" -#: pgc.l:1135 +#: pgc.l:1447 +#, c-format msgid "missing identifier in EXEC SQL DEFINE command" -msgstr "EXEC SQL DEFINE 指令遺漏識別字" +msgstr "在 EXEC SQL DEFINE 指令中缺少識別字" -#: pgc.l:1168 +#: pgc.l:1480 +#, c-format msgid "syntax error in EXEC SQL INCLUDE command" -msgstr "EXEC SQL INCLUDE 指令的語法錯誤" +msgstr "在 EXEC SQL INCLUDE 指令中的語法錯誤" -#: pgc.l:1217 -msgid "" -"internal error: unreachable state; please report this to " -msgstr "內部錯誤: 無法連線狀態,請將錯誤回報給 " +#: pgc.l:1530 +#, c-format +msgid "internal error: unreachable state; please report this to <%s>" +msgstr "內部錯誤: 非預期的狀態,請將錯誤回報至 <%s>" -#: pgc.l:1342 +#: pgc.l:1682 #, c-format msgid "Error: include path \"%s/%s\" is too long on line %d, skipping\n" -msgstr "錯誤: 引用檔路徑 \"%s/%s\" 太長 (位於行 %d),略過\n" +msgstr "錯誤: 引用檔路徑 \"%s/%s\" 第 %d 行太長,略過\n" -#: pgc.l:1364 +#: pgc.l:1705 #, c-format msgid "could not open include file \"%s\" on line %d" -msgstr "無法開啟引用檔 \"%s\" (位於行 %d)" +msgstr "無法開啟第 %2$d 行的引用檔 \"%1$s\"" # gram.y:8218 gram.y:8220 y.tab.c:19175 #: preproc.y:31 msgid "syntax error" msgstr "語法錯誤" -#: preproc.y:81 +#: preproc.y:84 #, c-format msgid "WARNING: " -msgstr "警告:" +msgstr "警告: " -#: preproc.y:85 +#: preproc.y:87 #, c-format msgid "ERROR: " -msgstr "錯誤:" +msgstr "錯誤: " # commands/portalcmds.c:182 commands/portalcmds.c:229 -#: preproc.y:391 +#: preproc.y:514 #, c-format msgid "cursor \"%s\" does not exist" -msgstr "指標 \"%s\"不存在" +msgstr "指標 \"%s\" 不存在" -#: preproc.y:419 +#: preproc.y:543 +#, c-format msgid "initializer not allowed in type definition" -msgstr "型別定義中不允許使用初始設定式" +msgstr "在型別定義中不允許初始值設定" # commands/user.c:1396 -#: preproc.y:421 +#: preproc.y:545 +#, c-format msgid "type name \"string\" is reserved in Informix mode" -msgstr "型別名稱 \"string\" 在 Informix 是保留字" +msgstr "型別名稱 \"string\" 在 Informix 模式是保留字" -#: preproc.y:428 preproc.y:13035 +#: preproc.y:552 preproc.y:18392 #, c-format msgid "type \"%s\" is already defined" -msgstr "型別 \"%s\" 已定義" +msgstr "型別 \"%s\" 已被定義" -#: preproc.y:452 preproc.y:13675 preproc.y:13996 variable.c:610 +#: preproc.y:577 preproc.y:19027 preproc.y:19349 variable.c:625 +#, c-format msgid "multidimensional arrays for simple data types are not supported" -msgstr "不支援簡單資料型別的多維度陣列" +msgstr "不支援簡單資料類型的多維陣列" -#: preproc.y:1426 +#: preproc.y:599 +#, c-format +msgid "connection %s is overwritten with %s by DECLARE statement %s" +msgstr "連線 %1$s 被 DECLARE 陳述式 %3$s 覆寫為 %2$s" + +#: preproc.y:1792 +#, c-format msgid "AT option not allowed in CLOSE DATABASE statement" msgstr "CLOSE DATABASE 陳述式中不允許使用 AT 選項" -#: preproc.y:1496 preproc.y:1640 -msgid "AT option not allowed in DEALLOCATE statement" -msgstr "DEALLOCATE 陳述式中不允許使用 AT 選項" - -#: preproc.y:1626 +#: preproc.y:2042 +#, c-format msgid "AT option not allowed in CONNECT statement" msgstr "CONNECT 陳述式中不允許使用 AT 選項" -#: preproc.y:1662 +#: preproc.y:2082 +#, c-format msgid "AT option not allowed in DISCONNECT statement" msgstr "DISCONNECT 陳述式中不允許使用 AT 選項" -#: preproc.y:1717 +#: preproc.y:2137 +#, c-format msgid "AT option not allowed in SET CONNECTION statement" msgstr "SET CONNECTION 陳述式中不允許使用 AT 選項" -#: preproc.y:1739 +#: preproc.y:2159 +#, c-format msgid "AT option not allowed in TYPE statement" msgstr "TYPE 陳述式中不允許使用 AT 選項" -#: preproc.y:1748 +#: preproc.y:2168 +#, c-format msgid "AT option not allowed in VAR statement" msgstr "VAR 陳述式中不允許使用 AT 選項" -#: preproc.y:1755 +#: preproc.y:2175 +#, c-format msgid "AT option not allowed in WHENEVER statement" msgstr "WHENEVER 陳述式中不允許使用 AT 選項" -#: preproc.y:2101 preproc.y:3272 preproc.y:3344 preproc.y:4550 preproc.y:4559 -#: preproc.y:4840 preproc.y:7127 preproc.y:7132 preproc.y:7137 preproc.y:9471 -#: preproc.y:10014 +#: 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 +#, c-format msgid "unsupported feature will be passed to server" -msgstr "不支援的功能將會傳遞到伺服器" +msgstr "不支援的功能將被傳到伺服器" -#: preproc.y:2327 +#: preproc.y:2847 +#, c-format msgid "SHOW ALL is not implemented" msgstr "未實作 SHOW ALL" -#: preproc.y:2750 preproc.y:2761 -msgid "COPY TO STDIN is not possible" -msgstr "COPY TO STDIN 不可行" - -#: preproc.y:2752 -msgid "COPY FROM STDOUT is not possible" -msgstr "COPY FROM STDOUT 不可行" - -#: preproc.y:2754 +#: preproc.y:3531 +#, c-format msgid "COPY FROM STDIN is not implemented" msgstr "未實作 COPY FROM STDIN" -#: preproc.y:4490 preproc.y:4501 -msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" -msgstr "限制宣告的 INITIALLY DEFERRED 必須是 DEFERRABLE" +#: preproc.y:10303 preproc.y:17889 +#, c-format +msgid "\"database\" cannot be used as cursor name in INFORMIX mode" +msgstr "在 INFORMIX 模式下無法使用 \"database\" 作為指標名稱" -#: preproc.y:7933 preproc.y:12624 +#: preproc.y:10310 preproc.y:17899 #, c-format msgid "using variable \"%s\" in different declare statements is not supported" -msgstr "在多個宣告陳述式中使用變數 \"%s\" 未被支援" +msgstr "不支援在不同的 DECLARE 陳述式中使用變數 \"%s\"" -#: preproc.y:7935 preproc.y:12626 +#: preproc.y:10312 preproc.y:17901 #, c-format msgid "cursor \"%s\" is already defined" -msgstr "指標 \"%s\" 已定義" +msgstr "指標 \"%s\" 已被定義" -#: preproc.y:8353 +#: preproc.y:10786 +#, c-format msgid "no longer supported LIMIT #,# syntax passed to server" -msgstr "不再支援的 LIMIT #,# 語法已傳遞到伺服器" +msgstr "不再支援的 LIMIT #,# 語法已傳到伺服器" -# gram.y:5166 parser/parse_clause.c:423 -#: preproc.y:8588 -msgid "subquery in FROM must have an alias" -msgstr "FROM中的子查詢要有別名" - -#: preproc.y:12356 +#: preproc.y:17581 preproc.y:17588 +#, c-format msgid "CREATE TABLE AS cannot specify INTO" msgstr "CREATE TABLE AS 不能指定 INTO" -#: preproc.y:12393 +#: preproc.y:17624 #, c-format msgid "expected \"@\", found \"%s\"" -msgstr "預期 \"@\",找到 \"%s\"" +msgstr "預期是 \"@\",但發現 \"%s\"" -#: preproc.y:12405 -msgid "" -"only protocols \"tcp\" and \"unix\" and database type \"postgresql\" are " -"supported" -msgstr "只支援通訊協定 \"tcp\" 和 \"unix\" 以及資料庫類型 \"postgresql\"" +#: preproc.y:17636 +#, c-format +msgid "only protocols \"tcp\" and \"unix\" and database type \"postgresql\" are supported" +msgstr "僅支援協議 \"tcp\"、\"unix\" 和資料庫類型 \"postgresql\"" -#: preproc.y:12408 +#: preproc.y:17639 #, c-format msgid "expected \"://\", found \"%s\"" -msgstr "預期 \"://\",找到 \"%s\"" +msgstr "預期是 \"://\",但發現 \"%s\"" -#: preproc.y:12413 +#: preproc.y:17644 #, c-format msgid "Unix-domain sockets only work on \"localhost\" but not on \"%s\"" -msgstr "Unix-可用域通訊端僅適用 \"localhost\",不適用 \"%s\"" +msgstr "Unix-domain socket 僅適用於 \"localhost\",不能用在 \"%s\"" -#: preproc.y:12439 +#: preproc.y:17670 #, c-format msgid "expected \"postgresql\", found \"%s\"" -msgstr "預期 \"postgresql\",找到 \"%s\"" +msgstr "預期是 \"postgresql\",但發現 \"%s\"" -#: preproc.y:12442 +#: preproc.y:17673 #, c-format msgid "invalid connection type: %s" -msgstr "連線類型無效:%s" +msgstr "無效的連線類型: %s" -#: preproc.y:12451 +#: preproc.y:17682 #, c-format msgid "expected \"@\" or \"://\", found \"%s\"" -msgstr "預期 \"@\" 或 \"://\",找到 \"%s\"" +msgstr "預期是 \"@\" 或 \"://\",但發現 \"%s\"" -#: preproc.y:12526 preproc.y:12544 +#: preproc.y:17757 preproc.y:17775 +#, c-format msgid "invalid data type" -msgstr "資料型別無效" +msgstr "無效的資料類型" -#: preproc.y:12555 preproc.y:12570 +#: preproc.y:17786 preproc.y:17803 +#, c-format msgid "incomplete statement" -msgstr "陳述式不完整" +msgstr "不完整的陳述式" -#: preproc.y:12558 preproc.y:12573 +#: preproc.y:17789 preproc.y:17806 #, c-format msgid "unrecognized token \"%s\"" -msgstr "無法辨識的 token \"%s\"" +msgstr "無法識別的 token \"%s\"" + +#: preproc.y:17851 +#, c-format +msgid "name \"%s\" is already declared" +msgstr "名稱 \"%s\" 已被宣告" -#: preproc.y:12846 +#: preproc.y:18140 +#, c-format msgid "only data types numeric and decimal have precision/scale argument" -msgstr "只有數值和十進位資料型別有精確度/小數位數參數" +msgstr "只有數值和小數資料類型具有精確度/小數位數參數" -#: preproc.y:12858 +#: preproc.y:18211 +#, c-format msgid "interval specification not allowed here" -msgstr "這裡不允許使用間隔規格" +msgstr "此處不允許間隔規格" -#: preproc.y:13010 preproc.y:13062 +#: preproc.y:18367 preproc.y:18419 +#, c-format msgid "too many levels in nested structure/union definition" msgstr "巢狀結構/聯集定義中的層級過多" -#: preproc.y:13193 +#: preproc.y:18542 +#, c-format msgid "pointers to varchar are not implemented" -msgstr "Varchar 的指標未實作" +msgstr "未實作指向 varchar 的指標" -#: preproc.y:13380 preproc.y:13405 -msgid "using unsupported DESCRIBE statement" -msgstr "使用不支援的 DESCRIBE 陳述式" - -#: preproc.y:13642 +#: preproc.y:18993 +#, c-format msgid "initializer not allowed in EXEC SQL VAR command" -msgstr "EXEC SQL VAR 指令中不允許使用初始設定式" +msgstr "在 EXEC SQL VAR 命令中不允許初始值設定" -#: preproc.y:13954 +#: preproc.y:19307 +#, c-format msgid "arrays of indicators are not allowed on input" -msgstr "輸入中不允許使用指標陣列" +msgstr "輸入不允許使用指標陣列" + +#: preproc.y:19494 +#, c-format +msgid "operator not allowed in variable definition" +msgstr "變數定義中不允許使用此運算子" # translator: first %s is typically "syntax error" # scan.l:629 #. translator: %s is typically the translation of "syntax error" -#: preproc.y:14208 +#: preproc.y:19535 #, c-format msgid "%s at or near \"%s\"" -msgstr "在\"%s\"附近發生 %s" +msgstr "%s 於 %s" # commands/sequence.c:798 executor/execGrouping.c:328 # executor/execGrouping.c:388 executor/nodeIndexscan.c:1051 lib/dllist.c:43 @@ -529,117 +613,152 @@ msgstr "在\"%s\"附近發生 %s" # utils/misc/guc.c:1924 utils/mmgr/aset.c:337 utils/mmgr/aset.c:503 # utils/mmgr/aset.c:700 utils/mmgr/aset.c:893 utils/mmgr/portalmem.c:75 #: type.c:18 type.c:30 +#, c-format msgid "out of memory" -msgstr "記憶體用盡" +msgstr "記憶體不足" -#: type.c:212 type.c:594 +#: type.c:214 type.c:685 #, c-format msgid "unrecognized variable type code %d" -msgstr "無法辨識的變數型別程式碼 %d " +msgstr "無法識別的變數類型碼 %d" -#: type.c:261 +#: type.c:263 #, c-format msgid "variable \"%s\" is hidden by a local variable of a different type" msgstr "變數 \"%s\" 被不同型別的區域變數遮蔽" -#: type.c:263 +#: type.c:265 #, c-format msgid "variable \"%s\" is hidden by a local variable" msgstr "變數 \"%s\" 被區域變數遮蔽" -#: type.c:275 +#: type.c:277 #, c-format -msgid "" -"indicator variable \"%s\" is hidden by a local variable of a different type" +msgid "indicator variable \"%s\" is hidden by a local variable of a different type" msgstr "指標變數 \"%s\" 被不同型別的區域變數遮蔽" -#: type.c:277 +#: type.c:279 #, c-format msgid "indicator variable \"%s\" is hidden by a local variable" msgstr "指標變數 \"%s\" 被區域變數遮蔽" -#: type.c:285 +#: type.c:287 +#, c-format msgid "indicator for array/pointer has to be array/pointer" msgstr "陣列/指標的指標必須是陣列/指標" -#: type.c:289 +#: type.c:291 +#, c-format msgid "nested arrays are not supported (except strings)" -msgstr "不支援巢狀陣列 (字串除外)" +msgstr "不支援巢狀陣列(字串除外)" -#: type.c:322 +#: type.c:333 +#, c-format msgid "indicator for struct has to be a struct" -msgstr "建構的指標必須是建構" +msgstr "結構體的指示器必須是一個結構體" -#: type.c:331 type.c:339 type.c:347 +#: type.c:353 type.c:374 type.c:394 +#, c-format msgid "indicator for simple data type has to be simple" -msgstr "簡單資料型別的指標必須簡單" +msgstr "簡單資料類型的指示器必須是簡單的" + +#: type.c:625 +#, c-format +msgid "indicator struct \"%s\" has too few members" +msgstr "指示器結構體 \"%s\" 成員過少" -#: type.c:653 +#: type.c:633 +#, c-format +msgid "indicator struct \"%s\" has too many members" +msgstr "指示器結構體 \"%s\" 成員過多" + +#: type.c:744 #, c-format msgid "unrecognized descriptor item code %d" -msgstr "無法辨識的描述子項目程式碼 %d" +msgstr "無法辨識的描述子項目代碼 %d" -#: variable.c:89 variable.c:112 +#: variable.c:89 variable.c:115 #, c-format msgid "incorrectly formed variable \"%s\"" -msgstr "變數 \"%s\" 的格式不正確" +msgstr "格式不正確的變數 \"%s\"" -#: variable.c:135 +#: variable.c:138 #, c-format msgid "variable \"%s\" is not a pointer" msgstr "變數 \"%s\" 不是指標" -#: variable.c:138 variable.c:163 +#: variable.c:141 variable.c:166 #, c-format msgid "variable \"%s\" is not a pointer to a structure or a union" msgstr "變數 \"%s\" 不是結構或聯集的指標" -#: variable.c:150 +#: variable.c:153 #, c-format msgid "variable \"%s\" is neither a structure nor a union" msgstr "變數 \"%s\" 不是結構或聯集" -#: variable.c:160 +#: variable.c:163 #, c-format msgid "variable \"%s\" is not an array" msgstr "變數 \"%s\" 不是陣列" -#: variable.c:229 variable.c:251 +#: variable.c:232 variable.c:254 #, c-format msgid "variable \"%s\" is not declared" msgstr "變數 \"%s\" 未宣告" -#: variable.c:484 +#: variable.c:493 +#, c-format msgid "indicator variable must have an integer type" msgstr "指標變數必須是整數型別" -#: variable.c:496 +#: variable.c:510 #, c-format msgid "unrecognized data type name \"%s\"" -msgstr " 無法辨識的資料型別名稱 \"%s\"" +msgstr "無法辨識的資料類型名稱 \"%s\"" -#: variable.c:507 variable.c:515 variable.c:532 variable.c:535 +#: variable.c:521 variable.c:529 variable.c:546 variable.c:549 +#, c-format msgid "multidimensional arrays are not supported" -msgstr "不支援多維度陣列" +msgstr "不支援多維陣列" -#: variable.c:524 +#: variable.c:538 #, c-format -msgid "" -"multilevel pointers (more than 2 levels) are not supported; found %d level" -msgid_plural "" -"multilevel pointers (more than 2 levels) are not supported; found %d levels" +msgid "multilevel pointers (more than 2 levels) are not supported; found %d level" +msgid_plural "multilevel pointers (more than 2 levels) are not supported; found %d levels" msgstr[0] "不支援多層指標(2層以上),發現 %d 層" -#: variable.c:529 +#: variable.c:543 +#, c-format msgid "pointer to pointer is not supported for this data type" msgstr "此資料型別不支援指標的指標" -#: variable.c:549 +#: variable.c:563 +#, c-format msgid "multidimensional arrays for structures are not supported" -msgstr "不支援多維度的結構陣列" +msgstr "不支援結構的多維陣列" -#~ msgid "OLD used in query that is not in a rule" -#~ msgstr "查詢中使用的 OLD 不在規則中" +#~ msgid "AT option not allowed in DEALLOCATE statement" +#~ msgstr "DEALLOCATE 陳述式中不允許使用 AT 選項" + +#~ msgid "COPY FROM STDOUT is not possible" +#~ msgstr "COPY FROM STDOUT 不可行" + +#~ msgid "COPY TO STDIN is not possible" +#~ msgstr "COPY TO STDIN 不可行" #~ msgid "NEW used in query that is not in a rule" #~ msgstr "查詢中使用的 NEW 不在規則中" + +#~ msgid "OLD used in query that is not in a rule" +#~ msgstr "查詢中使用的 OLD 不在規則中" + +#~ msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" +#~ msgstr "限制宣告的 INITIALLY DEFERRED 必須是 DEFERRABLE" + +# gram.y:5166 parser/parse_clause.c:423 +#~ msgid "subquery in FROM must have an alias" +#~ msgstr "FROM中的子查詢要有別名" + +#~ msgid "using unsupported DESCRIBE statement" +#~ msgstr "使用不支援的 DESCRIBE 陳述式" diff --git a/src/interfaces/libpq/po/el.po b/src/interfaces/libpq/po/el.po index cb286d41b0d..d957fe85a5d 100644 --- a/src/interfaces/libpq/po/el.po +++ b/src/interfaces/libpq/po/el.po @@ -7,1308 +7,1581 @@ # msgid "" msgstr "" -"Project-Id-Version: libpq (PostgreSQL) 14\n" +"Project-Id-Version: libpq (PostgreSQL) 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2021-07-14 05:09+0000\n" -"PO-Revision-Date: 2021-07-14 10:16+0200\n" +"POT-Creation-Date: 2023-08-14 23:10+0000\n" +"PO-Revision-Date: 2023-08-15 11:46+0200\n" "Last-Translator: Georgios Kokolatos \n" "Language-Team: \n" "Language: el\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 3.0\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 3.3.2\n" -#: fe-auth-scram.c:213 -msgid "malformed SCRAM message (empty message)\n" -msgstr "κακοσχηματισμένο μήνυμα SCRAM (κενό μήνυμα)\n" - -#: fe-auth-scram.c:219 -msgid "malformed SCRAM message (length mismatch)\n" -msgstr "κακοσχηματισμένο μήνυμα SCRAM (αναντιστοιχία μήκους)\n" - -#: fe-auth-scram.c:263 -msgid "could not verify server signature\n" -msgstr "δεν ήταν δυνατή πιστοποίηση της υπογραφής του διακομιστή\n" - -#: fe-auth-scram.c:270 -msgid "incorrect server signature\n" -msgstr "λανθασμένη υπογραφή διακομιστή\n" - -#: fe-auth-scram.c:279 -msgid "invalid SCRAM exchange state\n" -msgstr "άκυρη κατάσταση ανταλλαγής SCRAM\n" - -#: fe-auth-scram.c:306 -#, c-format -msgid "malformed SCRAM message (attribute \"%c\" expected)\n" -msgstr "κακοσχηματισμένο μήνυμα SCRAM (αναμένεται χαρακτηριστικό «%c»)\n" - -#: fe-auth-scram.c:315 -#, c-format -msgid "malformed SCRAM message (expected character \"=\" for attribute \"%c\")\n" -msgstr "κακοσχηματισμένο μήνυμα SCRAM (αναμένεται χαρακτήρας «=» για το χαρακτηριστικό «%c»)\n" - -#: fe-auth-scram.c:356 -msgid "could not generate nonce\n" -msgstr "δεν δύναται να δημιουργήσει nonce\n" - -#: fe-auth-scram.c:366 fe-auth-scram.c:441 fe-auth-scram.c:595 -#: fe-auth-scram.c:616 fe-auth-scram.c:642 fe-auth-scram.c:657 -#: fe-auth-scram.c:707 fe-auth-scram.c:746 fe-auth.c:290 fe-auth.c:362 -#: fe-auth.c:398 fe-auth.c:615 fe-auth.c:774 fe-auth.c:1132 fe-auth.c:1282 -#: fe-connect.c:911 fe-connect.c:1455 fe-connect.c:1624 fe-connect.c:2976 -#: fe-connect.c:4657 fe-connect.c:4918 fe-connect.c:5037 fe-connect.c:5289 -#: fe-connect.c:5370 fe-connect.c:5469 fe-connect.c:5725 fe-connect.c:5754 -#: fe-connect.c:5826 fe-connect.c:5850 fe-connect.c:5868 fe-connect.c:5969 -#: fe-connect.c:5978 fe-connect.c:6336 fe-connect.c:6486 fe-exec.c:1209 -#: fe-exec.c:3029 fe-exec.c:3212 fe-exec.c:3985 fe-exec.c:4150 -#: fe-gssapi-common.c:111 fe-lobj.c:881 fe-protocol3.c:1016 fe-protocol3.c:1724 -#: fe-secure-common.c:110 fe-secure-gssapi.c:504 fe-secure-openssl.c:440 -#: fe-secure-openssl.c:1133 -msgid "out of memory\n" -msgstr "έλλειψη μνήμης\n" +#: ../../port/thread.c:50 ../../port/thread.c:86 +#, c-format +msgid "could not look up local user ID %d: %s" +msgstr "δεν ήταν δυνατή η αναζήτηση ID τοπικού χρήστη %d: %s" + +#: ../../port/thread.c:55 ../../port/thread.c:91 +#, c-format +msgid "local user with ID %d does not exist" +msgstr "δεν υπάρχει τοπικός χρήστης με ID %d" + +#: fe-auth-scram.c:227 +#, c-format +msgid "malformed SCRAM message (empty message)" +msgstr "κακοσχηματισμένο μήνυμα SCRAM (κενό μήνυμα)" + +#: fe-auth-scram.c:232 +#, c-format +msgid "malformed SCRAM message (length mismatch)" +msgstr "κακοσχηματισμένο μήνυμα SCRAM (αναντιστοιχία μήκους)" + +#: fe-auth-scram.c:275 +#, c-format +msgid "could not verify server signature: %s" +msgstr "δεν ήταν δυνατή πιστοποίηση της υπογραφής του διακομιστή: %s" + +#: fe-auth-scram.c:281 +#, c-format +msgid "incorrect server signature" +msgstr "λανθασμένη υπογραφή διακομιστή" + +#: fe-auth-scram.c:290 +#, c-format +msgid "invalid SCRAM exchange state" +msgstr "άκυρη κατάσταση ανταλλαγής SCRAM" + +#: fe-auth-scram.c:317 +#, c-format +msgid "malformed SCRAM message (attribute \"%c\" expected)" +msgstr "κακοσχηματισμένο μήνυμα SCRAM (αναμένεται χαρακτηριστικό «%c»)" + +#: fe-auth-scram.c:326 +#, c-format +msgid "malformed SCRAM message (expected character \"=\" for attribute \"%c\")" +msgstr "κακοσχηματισμένο μήνυμα SCRAM (αναμένεται χαρακτήρας «=» για το χαρακτηριστικό «%c»)" -#: fe-auth-scram.c:374 -msgid "could not encode nonce\n" -msgstr "δεν δύναται να κωδικοποιήσει nonce\n" +#: fe-auth-scram.c:366 +#, c-format +msgid "could not generate nonce" +msgstr "δεν δύναται να δημιουργήσει nonce" + +#: fe-auth-scram.c:375 fe-auth-scram.c:448 fe-auth-scram.c:600 +#: fe-auth-scram.c:620 fe-auth-scram.c:644 fe-auth-scram.c:658 +#: fe-auth-scram.c:704 fe-auth-scram.c:740 fe-auth-scram.c:914 fe-auth.c:296 +#: fe-auth.c:369 fe-auth.c:403 fe-auth.c:618 fe-auth.c:729 fe-auth.c:1210 +#: fe-auth.c:1375 fe-connect.c:925 fe-connect.c:1759 fe-connect.c:1921 +#: fe-connect.c:3291 fe-connect.c:4496 fe-connect.c:5161 fe-connect.c:5416 +#: fe-connect.c:5534 fe-connect.c:5781 fe-connect.c:5861 fe-connect.c:5959 +#: fe-connect.c:6210 fe-connect.c:6237 fe-connect.c:6313 fe-connect.c:6336 +#: fe-connect.c:6360 fe-connect.c:6395 fe-connect.c:6481 fe-connect.c:6489 +#: fe-connect.c:6846 fe-connect.c:6996 fe-exec.c:527 fe-exec.c:1321 +#: fe-exec.c:3111 fe-exec.c:4071 fe-exec.c:4235 fe-gssapi-common.c:109 +#: fe-lobj.c:870 fe-protocol3.c:204 fe-protocol3.c:228 fe-protocol3.c:256 +#: fe-protocol3.c:273 fe-protocol3.c:353 fe-protocol3.c:720 fe-protocol3.c:959 +#: fe-protocol3.c:1770 fe-protocol3.c:2170 fe-secure-common.c:110 +#: fe-secure-gssapi.c:500 fe-secure-openssl.c:434 fe-secure-openssl.c:1285 +#, c-format +msgid "out of memory" +msgstr "έλλειψη μνήμης" -#: fe-auth-scram.c:563 -msgid "could not calculate client proof\n" -msgstr "δεν δύναται να υπολογίσει την απόδειξη του πελάτη\n" +#: fe-auth-scram.c:382 +#, c-format +msgid "could not encode nonce" +msgstr "δεν δύναται να κωδικοποιήσει nonce" -#: fe-auth-scram.c:579 -msgid "could not encode client proof\n" -msgstr "δεν δύναται να κωδικοποιήσει την απόδειξη του πελάτη\n" +#: fe-auth-scram.c:570 +#, c-format +msgid "could not calculate client proof: %s" +msgstr "δεν μπόρεσε να υπολογίσει την απόδειξη του πελάτη: %s" -#: fe-auth-scram.c:634 -msgid "invalid SCRAM response (nonce mismatch)\n" -msgstr "μη έγκυρη απόκριση SCRAM (ασυμφωνία nonce)\n" +#: fe-auth-scram.c:585 +#, c-format +msgid "could not encode client proof" +msgstr "δεν δύναται να κωδικοποιήσει την απόδειξη του πελάτη" + +#: fe-auth-scram.c:637 +#, c-format +msgid "invalid SCRAM response (nonce mismatch)" +msgstr "μη έγκυρη απόκριση SCRAM (ασυμφωνία nonce)" #: fe-auth-scram.c:667 -msgid "malformed SCRAM message (invalid salt)\n" -msgstr "κακοσχηματισμένο μήνυμα SCRAM (άκυρο salt)\n" +#, c-format +msgid "malformed SCRAM message (invalid salt)" +msgstr "κακοσχηματισμένο μήνυμα SCRAM (άκυρο salt)" -#: fe-auth-scram.c:681 -msgid "malformed SCRAM message (invalid iteration count)\n" -msgstr "κακοσχηματισμένο μήνυμα SCRAM (άκυρη μέτρηση επαναλήψεων)\n" +#: fe-auth-scram.c:680 +#, c-format +msgid "malformed SCRAM message (invalid iteration count)" +msgstr "κακοσχηματισμένο μήνυμα SCRAM (άκυρη μέτρηση επαναλήψεων)" -#: fe-auth-scram.c:687 -msgid "malformed SCRAM message (garbage at end of server-first-message)\n" -msgstr "κακοσχηματισμένο μήνυμα SCRAM (σκουπίδια στο τέλος του πρώτου-μηνύματος-διακομιστή)\n" +#: fe-auth-scram.c:685 +#, c-format +msgid "malformed SCRAM message (garbage at end of server-first-message)" +msgstr "κακοσχηματισμένο μήνυμα SCRAM (σκουπίδια στο τέλος του πρώτου-μηνύματος-διακομιστή)" -#: fe-auth-scram.c:723 +#: fe-auth-scram.c:719 #, c-format -msgid "error received from server in SCRAM exchange: %s\n" -msgstr "ελήφθει σφάλμα από τον διακομιστή κατά την ανταλλαγή SCRAM: %s\n" +msgid "error received from server in SCRAM exchange: %s" +msgstr "ελήφθει σφάλμα από τον διακομιστή κατά την ανταλλαγή SCRAM: %s" -#: fe-auth-scram.c:739 -msgid "malformed SCRAM message (garbage at end of server-final-message)\n" -msgstr "κακοσχηματισμένο μήνυμα SCRAM (σκουπίδια στο τέλος του τελικού-μηνύματος-διακομιστή)\n" +#: fe-auth-scram.c:734 +#, c-format +msgid "malformed SCRAM message (garbage at end of server-final-message)" +msgstr "κακοσχηματισμένο μήνυμα SCRAM (σκουπίδια στο τέλος του τελικού-μηνύματος-διακομιστή)" -#: fe-auth-scram.c:758 -msgid "malformed SCRAM message (invalid server signature)\n" -msgstr "κακοσχηματισμένο μήνυμα SCRAM (άκυρη υπογραφή διακομιστή)\n" +#: fe-auth-scram.c:751 +#, c-format +msgid "malformed SCRAM message (invalid server signature)" +msgstr "κακοσχηματισμένο μήνυμα SCRAM (άκυρη υπογραφή διακομιστή)" -#: fe-auth.c:76 +#: fe-auth-scram.c:923 +msgid "could not generate random salt" +msgstr "δεν δύναται να δημιουργήσει τυχαίο salt" + +#: fe-auth.c:77 #, c-format -msgid "out of memory allocating GSSAPI buffer (%d)\n" -msgstr "η μνήμη δεν επαρκεί για την εκχώρηση της ενδιάμεσης μνήμης του GSSAPI (%d)\n" +msgid "out of memory allocating GSSAPI buffer (%d)" +msgstr "η μνήμη δεν επαρκεί για την εκχώρηση της ενδιάμεσης μνήμης του GSSAPI (%d)" -#: fe-auth.c:131 +#: fe-auth.c:138 msgid "GSSAPI continuation error" msgstr "σφάλμα συνέχισης GSSAPI" -#: fe-auth.c:158 fe-auth.c:391 fe-gssapi-common.c:98 fe-secure-common.c:98 -msgid "host name must be specified\n" -msgstr "πρέπει να καθοριστεί το όνομα κεντρικού υπολογιστή\n" +#: fe-auth.c:168 fe-auth.c:397 fe-gssapi-common.c:97 fe-secure-common.c:99 +#: fe-secure-common.c:173 +#, c-format +msgid "host name must be specified" +msgstr "πρέπει να καθοριστεί το όνομα κεντρικού υπολογιστή" -#: fe-auth.c:165 -msgid "duplicate GSS authentication request\n" -msgstr "διπλότυπη αίτηση ελέγχου ταυτότητας GSS\n" +#: fe-auth.c:174 +#, c-format +msgid "duplicate GSS authentication request" +msgstr "διπλότυπη αίτηση ελέγχου ταυτότητας GSS" -#: fe-auth.c:230 +#: fe-auth.c:238 #, c-format -msgid "out of memory allocating SSPI buffer (%d)\n" -msgstr "η μνήμη δεν επαρκεί για την εκχώρηση της ενδιάμεσης μνήμης του SSPI (%d)\n" +msgid "out of memory allocating SSPI buffer (%d)" +msgstr "η μνήμη δεν επαρκεί για την εκχώρηση της ενδιάμεσης μνήμης του SSPI (%d)" -#: fe-auth.c:278 +#: fe-auth.c:285 msgid "SSPI continuation error" msgstr "σφάλμα συνέχισης SSPI" -#: fe-auth.c:351 -msgid "duplicate SSPI authentication request\n" -msgstr "διπλότυπη αίτηση ελέγχου ταυτότητας SSPI\n" +#: fe-auth.c:359 +#, c-format +msgid "duplicate SSPI authentication request" +msgstr "διπλότυπη αίτηση ελέγχου ταυτότητας SSPI" -#: fe-auth.c:377 +#: fe-auth.c:384 msgid "could not acquire SSPI credentials" msgstr "δεν δύναται η απόκτηση διαπιστευτηρίων SSPI" -#: fe-auth.c:433 -msgid "channel binding required, but SSL not in use\n" -msgstr "απαιτείται σύνδεση καναλιού, αλλά δεν χρησιμοποιείται SSL\n" +#: fe-auth.c:437 +#, c-format +msgid "channel binding required, but SSL not in use" +msgstr "απαιτείται σύνδεση καναλιού, αλλά δεν χρησιμοποιείται SSL" + +#: fe-auth.c:443 +#, c-format +msgid "duplicate SASL authentication request" +msgstr "διπλότυπη αίτηση ελέγχου ταυτότητας SASL" + +#: fe-auth.c:501 +#, c-format +msgid "channel binding is required, but client does not support it" +msgstr "απαιτείται σύνδεση καναλιού, αλλά ο πελάτης δεν την υποστηρίζει" + +#: fe-auth.c:517 +#, c-format +msgid "server offered SCRAM-SHA-256-PLUS authentication over a non-SSL connection" +msgstr "ο διακομιστής προσέφερε έλεγχο ταυτότητας SCRAM-SHA-256-PLUS μέσω σύνδεσης που δεν είναι SSL" + +#: fe-auth.c:531 +#, c-format +msgid "none of the server's SASL authentication mechanisms are supported" +msgstr "δεν υποστηρίζεται κανένας από τους μηχανισμούς ελέγχου ταυτότητας SASL του διακομιστή" + +#: fe-auth.c:538 +#, c-format +msgid "channel binding is required, but server did not offer an authentication method that supports channel binding" +msgstr "απαιτείται σύνδεση καναλιού, αλλά ο διακομιστής δεν προσέφερε καμία μέθοδο ελέγχου ταυτότητας που να υποστηρίζει σύνδεση καναλιού" + +#: fe-auth.c:641 +#, c-format +msgid "out of memory allocating SASL buffer (%d)" +msgstr "η μνήμη δεν επαρκεί για την εκχώρηση της ενδιάμεσης μνήμης του SASL (%d)" + +#: fe-auth.c:665 +#, c-format +msgid "AuthenticationSASLFinal received from server, but SASL authentication was not completed" +msgstr "παραλήφθηκε AuthenticationSASLFinal από το διακομιστή, αλλά ο έλεγχος ταυτότητας SASL δεν έχει ολοκληρωθεί" + +#: fe-auth.c:675 +#, c-format +msgid "no client response found after SASL exchange success" +msgstr "δεν βρέθηκε απάντηση πελάτη μετά την επιτυχία της ανταλλαγής SASL" + +#: fe-auth.c:738 fe-auth.c:745 fe-auth.c:1358 fe-auth.c:1369 +#, c-format +msgid "could not encrypt password: %s" +msgstr "δεν ήταν δυνατή η κρυπτογράφηση του κωδικού πρόσβασης : %s" -#: fe-auth.c:440 -msgid "duplicate SASL authentication request\n" -msgstr "διπλότυπη αίτηση ελέγχου ταυτότητας SASL\n" +#: fe-auth.c:773 +msgid "server requested a cleartext password" +msgstr "ο διακομιστής απαίτησε έναν κωδικό πρόσβασης καθαρού κειμένου" -#: fe-auth.c:496 -msgid "channel binding is required, but client does not support it\n" -msgstr "απαιτείται σύνδεση καναλιού, αλλά ο πελάτης δεν την υποστηρίζει\n" +#: fe-auth.c:775 +msgid "server requested a hashed password" +msgstr "ο διακομιστής απαίτησε έναν κατακερματισμένο κωδικό πρόσβασης" -#: fe-auth.c:513 -msgid "server offered SCRAM-SHA-256-PLUS authentication over a non-SSL connection\n" -msgstr "ο διακομιστής προσέφερε έλεγχο ταυτότητας SCRAM-SHA-256-PLUS μέσω σύνδεσης που δεν είναι SSL\n" +#: fe-auth.c:778 +msgid "server requested GSSAPI authentication" +msgstr "ο διακομιστής απαίτησε έλεγχο ταυτότητας GSSAPI" -#: fe-auth.c:525 -msgid "none of the server's SASL authentication mechanisms are supported\n" -msgstr "δεν υποστηρίζεται κανένας από τους μηχανισμούς ελέγχου ταυτότητας SASL του διακομιστή\n" +#: fe-auth.c:780 +msgid "server requested SSPI authentication" +msgstr "ο διακομιστής απαίτησε έλεγχο ταυτότητας SSPI" -#: fe-auth.c:533 -msgid "channel binding is required, but server did not offer an authentication method that supports channel binding\n" -msgstr "απαιτείται σύνδεση καναλιού, αλλά ο διακομιστής δεν προσέφερε καμία μέθοδο ελέγχου ταυτότητας που να υποστηρίζει σύνδεση καναλιού\n" +#: fe-auth.c:784 +msgid "server requested SASL authentication" +msgstr "ο διακομιστής απαίτησε έλεγχο ταυτότητας SASL" -#: fe-auth.c:639 +#: fe-auth.c:787 +msgid "server requested an unknown authentication type" +msgstr "ο διακομιστής απαίτησε έναν άγνωστο τύπο ελέγχου ταυτότητας" + +#: fe-auth.c:820 #, c-format -msgid "out of memory allocating SASL buffer (%d)\n" -msgstr "η μνήμη δεν επαρκεί για την εκχώρηση της ενδιάμεσης μνήμης του SASL (%d)\n" +msgid "server did not request an SSL certificate" +msgstr "ο διακομιστής δεν απαίτησε πιστοποιητικό SSL" -#: fe-auth.c:664 -msgid "AuthenticationSASLFinal received from server, but SASL authentication was not completed\n" -msgstr "παραλήφθηκε AuthenticationSASLFinal από το διακομιστή, αλλά ο έλεγχος ταυτότητας SASL έχει ολοκληρωθεί\n" +#: fe-auth.c:825 +#, c-format +msgid "server accepted connection without a valid SSL certificate" +msgstr "ο διακομιστής αποδέχθηκε σύνδεση χωρίς έγκυρο πιστοποιητικό SSL" -#: fe-auth.c:741 -msgid "SCM_CRED authentication method not supported\n" -msgstr "δεν υποστηρίζεται η μέθοδος πιστοποίησης SCM_CRED\n" +#: fe-auth.c:879 +msgid "server did not complete authentication" +msgstr "ο διακομιστής δεν ολοκλήρωσε την πιστοποίηση" -#: fe-auth.c:836 -msgid "channel binding required, but server authenticated client without channel binding\n" -msgstr "απαιτείται σύνδεση καναλιού, αλλά ο διακομιστής πιστοποίησε τον πελάτη χωρίς σύνδεση καναλιού\n" +#: fe-auth.c:913 +#, c-format +msgid "authentication method requirement \"%s\" failed: %s" +msgstr "η απαιτούμενη μέθοδος πιστοποίησης «%s» απέτυχε: %s" -#: fe-auth.c:842 -msgid "channel binding required but not supported by server's authentication request\n" -msgstr "απαιτείται σύνδεση καναλιού αλλά αυτή δεν υποστηρίζεται από την αίτηση ελέγχου ταυτότητας του διακομιστή\n" +#: fe-auth.c:936 +#, c-format +msgid "channel binding required, but server authenticated client without channel binding" +msgstr "απαιτείται σύνδεση καναλιού, αλλά ο διακομιστής πιστοποίησε τον πελάτη χωρίς σύνδεση καναλιού" -#: fe-auth.c:877 -msgid "Kerberos 4 authentication not supported\n" -msgstr "δεν υποστηρίζεται η μέθοδος πιστοποίησης Kerberos 4\n" +#: fe-auth.c:941 +#, c-format +msgid "channel binding required but not supported by server's authentication request" +msgstr "απαιτείται σύνδεση καναλιού αλλά αυτή δεν υποστηρίζεται από την αίτηση ελέγχου ταυτότητας του διακομιστή" -#: fe-auth.c:882 -msgid "Kerberos 5 authentication not supported\n" -msgstr "δεν υποστηρίζεται η μέθοδος πιστοποίησης Kerberos 5\n" +#: fe-auth.c:975 +#, c-format +msgid "Kerberos 4 authentication not supported" +msgstr "δεν υποστηρίζεται η μέθοδος πιστοποίησης Kerberos 4" -#: fe-auth.c:953 -msgid "GSSAPI authentication not supported\n" -msgstr "δεν υποστηρίζεται η μέθοδος πιστοποίησης GSSAPI\n" +#: fe-auth.c:979 +#, c-format +msgid "Kerberos 5 authentication not supported" +msgstr "δεν υποστηρίζεται η μέθοδος πιστοποίησης Kerberos 5" -#: fe-auth.c:985 -msgid "SSPI authentication not supported\n" -msgstr "δεν υποστηρίζεται η μέθοδος πιστοποίησης SSPI\n" +#: fe-auth.c:1049 +#, c-format +msgid "GSSAPI authentication not supported" +msgstr "δεν υποστηρίζεται η μέθοδος πιστοποίησης GSSAPI" -#: fe-auth.c:993 -msgid "Crypt authentication not supported\n" -msgstr "δεν υποστηρίζεται η μέθοδος πιστοποίησης Crypt\n" +#: fe-auth.c:1080 +#, c-format +msgid "SSPI authentication not supported" +msgstr "δεν υποστηρίζεται η μέθοδος πιστοποίησης SSPI" -#: fe-auth.c:1060 +#: fe-auth.c:1087 #, c-format -msgid "authentication method %u not supported\n" -msgstr "δεν υποστηρίζεται η μέθοδος πιστοποίησης %u\n" +msgid "Crypt authentication not supported" +msgstr "δεν υποστηρίζεται η μέθοδος πιστοποίησης Crypt" -#: fe-auth.c:1107 +#: fe-auth.c:1151 #, c-format -msgid "user name lookup failure: error code %lu\n" -msgstr "αποτυχία αναζήτησης ονόματος χρήστη: κωδικός σφάλματος % lu\n" +msgid "authentication method %u not supported" +msgstr "δεν υποστηρίζεται η μέθοδος πιστοποίησης %u" -#: fe-auth.c:1117 fe-connect.c:2851 +#: fe-auth.c:1197 #, c-format -msgid "could not look up local user ID %d: %s\n" -msgstr "δεν ήταν δυνατή η αναζήτηση ID τοπικού χρήστη %d: %s\n" +msgid "user name lookup failure: error code %lu" +msgstr "αποτυχία αναζήτησης ονόματος χρήστη: κωδικός σφάλματος %lu" -#: fe-auth.c:1122 fe-connect.c:2856 +#: fe-auth.c:1321 #, c-format -msgid "local user with ID %d does not exist\n" -msgstr "δεν υπάρχει τοπικός χρήστης με ID %d\n" +msgid "unexpected shape of result set returned for SHOW" +msgstr "μη αναμενόμενο σχήμα συνόλου αποτελεσμάτων που επιστράφηκε από την εντολή SHOW" -#: fe-auth.c:1226 -msgid "unexpected shape of result set returned for SHOW\n" -msgstr "μη αναμενόμενο σχήμα συνόλου αποτελεσμάτων που επιστράφηκε από την εντολή SHOW\n" +#: fe-auth.c:1329 +#, c-format +msgid "password_encryption value too long" +msgstr "πολύ μακρυά τιμή password_encryption" -#: fe-auth.c:1235 -msgid "password_encryption value too long\n" -msgstr "πολύ μακρυά τιμή password_encryption\n" +#: fe-auth.c:1379 +#, c-format +msgid "unrecognized password encryption algorithm \"%s\"" +msgstr "μη αναγνωρίσιμος αλγόριθμος κρυπτογράφησης «%s» κωδικού πρόσβασης" + +#: fe-connect.c:1132 +#, c-format +msgid "could not match %d host names to %d hostaddr values" +msgstr "δεν μπόρεσε να ταιριάξει %d ονομασίες διακομιστών με %d τιμές hostaddr" + +#: fe-connect.c:1212 +#, c-format +msgid "could not match %d port numbers to %d hosts" +msgstr "δεν μπόρεσε να ταιριάξει %d αριθμούς θυρών με %d διακομιστές" + +#: fe-connect.c:1337 +#, c-format +msgid "negative require_auth method \"%s\" cannot be mixed with non-negative methods" +msgstr "η αρνητική μέθοδος require_auth «%s» δεν μπορεί να συνδυαστεί με μη αρνητικές μεθόδους" + +#: fe-connect.c:1350 +#, c-format +msgid "require_auth method \"%s\" cannot be mixed with negative methods" +msgstr "η μέθοδος require_auth «%s» δεν μπορεί να συνδυαστεί με αρνητικές μεθόδους" -#: fe-auth.c:1275 +#: fe-connect.c:1410 fe-connect.c:1461 fe-connect.c:1503 fe-connect.c:1559 +#: fe-connect.c:1567 fe-connect.c:1598 fe-connect.c:1644 fe-connect.c:1684 +#: fe-connect.c:1705 #, c-format -msgid "unrecognized password encryption algorithm \"%s\"\n" -msgstr "μη αναγνωρίσιμος αλγόριθμος κρυπτογράφησης «%s» κωδικού πρόσβασης\n" +msgid "invalid %s value: \"%s\"" +msgstr "άκυρο %s τιμή: «%s»" -#: fe-connect.c:1094 +#: fe-connect.c:1443 #, c-format -msgid "could not match %d host names to %d hostaddr values\n" -msgstr "δεν μπόρεσε να ταιριάξει %d ονομασίες διακομιστών με %d τιμές hostaddr\n" +msgid "require_auth method \"%s\" is specified more than once" +msgstr "η μέθοδος require_auth «%s» χρησιμοποιείται περισσότερες από μία φορές" -#: fe-connect.c:1175 +#: fe-connect.c:1484 fe-connect.c:1523 fe-connect.c:1606 #, c-format -msgid "could not match %d port numbers to %d hosts\n" -msgstr "δεν μπόρεσε να ταιριάξει %d αριθμούς θυρών με %d διακομιστές\n" +msgid "%s value \"%s\" invalid when SSL support is not compiled in" +msgstr "%s τιμή «%s» είναι άκυρη όταν η υποστήριξη SSL δεν έχει μεταγλωττιστεί (compiled)" -#: fe-connect.c:1268 fe-connect.c:1294 fe-connect.c:1336 fe-connect.c:1345 -#: fe-connect.c:1378 fe-connect.c:1422 +#: fe-connect.c:1546 #, c-format -msgid "invalid %s value: \"%s\"\n" -msgstr "άκυρο %s τιμή: «%s»\n" +msgid "weak sslmode \"%s\" may not be used with sslrootcert=system (use \"verify-full\")" +msgstr "το αδύναμο sslmode «%s» δεν μπορεί να χρησιμοποιηθεί με sslrootcert=system (χρησιμοποιήστε το «verify-full»)" -#: fe-connect.c:1315 +#: fe-connect.c:1584 #, c-format -msgid "sslmode value \"%s\" invalid when SSL support is not compiled in\n" -msgstr "η τιμή SSLmode «%s» είναι άκυρη όταν η υποστήριξη SSL δεν έχει μεταγλωττιστεί (compiled)\n" +msgid "invalid SSL protocol version range" +msgstr "άκυρο εύρος εκδόσεων πρωτοκόλλου SSL" -#: fe-connect.c:1363 -msgid "invalid SSL protocol version range\n" -msgstr "άκυρο εύρος εκδόσεων πρωτοκόλλου SSL\n" +#: fe-connect.c:1621 +#, c-format +msgid "%s value \"%s\" is not supported (check OpenSSL version)" +msgstr "%s τιμή «%s» δεν υποστοιρίζεται (έλεγξε την έκδοση OpenSSL)" -#: fe-connect.c:1388 +#: fe-connect.c:1651 #, c-format -msgid "gssencmode value \"%s\" invalid when GSSAPI support is not compiled in\n" -msgstr "η τιμή SSLmode «%s» είναι άκυρη όταν η υποστήριξη GSSAPI δεν έχει μεταγλωττιστεί (compiled)\n" +msgid "gssencmode value \"%s\" invalid when GSSAPI support is not compiled in" +msgstr "η τιμή SSLmode «%s» είναι άκυρη όταν η υποστήριξη GSSAPI δεν έχει μεταγλωττιστεί (compiled)" -#: fe-connect.c:1648 +#: fe-connect.c:1944 #, c-format -msgid "could not set socket to TCP no delay mode: %s\n" -msgstr "δεν μπόρεσε να ορίσει τον υποδοχέα σε λειτουργία TCP χωρίς καθυστέρηση: %s\n" +msgid "could not set socket to TCP no delay mode: %s" +msgstr "δεν μπόρεσε να ορίσει τον υποδοχέα σε λειτουργία TCP χωρίς καθυστέρηση: %s" -#: fe-connect.c:1710 +#: fe-connect.c:2003 #, c-format msgid "connection to server on socket \"%s\" failed: " msgstr "σύνδεση στον διακομιστή στην υποδοχή «%s» απέτυχε: " -#: fe-connect.c:1737 +#: fe-connect.c:2029 #, c-format msgid "connection to server at \"%s\" (%s), port %s failed: " msgstr "σύνδεση στον διακομιστή σε «%s» (%s), θύρα %s απέτυχε: " -#: fe-connect.c:1742 +#: fe-connect.c:2034 #, c-format msgid "connection to server at \"%s\", port %s failed: " msgstr "σύνδεση στον διακομιστή σε «%s», θύρα %s απέτυχε: " -#: fe-connect.c:1767 -msgid "\tIs the server running locally and accepting connections on that socket?\n" -msgstr "\tΕκτελείται τοπικά ο διακομιστής και αποδέχεται συνδέσεις σε αυτή την υποδοχή;\n" +#: fe-connect.c:2057 +#, c-format +msgid "\tIs the server running locally and accepting connections on that socket?" +msgstr "\tΕκτελείται τοπικά ο διακομιστής και αποδέχεται συνδέσεις σε αυτή την υποδοχή;" -#: fe-connect.c:1771 -msgid "\tIs the server running on that host and accepting TCP/IP connections?\n" -msgstr "\tΕκτελείται ο διακομιστής σε αυτόν τον κεντρικό υπολογιστή και αποδέχεται συνδέσεις TCP/IP;\n" +#: fe-connect.c:2059 +#, c-format +msgid "\tIs the server running on that host and accepting TCP/IP connections?" +msgstr "\tΕκτελείται ο διακομιστής σε αυτόν τον κεντρικό υπολογιστή και αποδέχεται συνδέσεις TCP/IP;" -#: fe-connect.c:1835 +#: fe-connect.c:2122 #, c-format -msgid "invalid integer value \"%s\" for connection option \"%s\"\n" -msgstr "άκυρη τιμή ακεραίου »%s» για την επιλογή σύνδεσης «%s»\n" +msgid "invalid integer value \"%s\" for connection option \"%s\"" +msgstr "άκυρη τιμή ακεραίου »%s» για την επιλογή σύνδεσης «%s»" -#: fe-connect.c:1865 fe-connect.c:1900 fe-connect.c:1936 fe-connect.c:2025 -#: fe-connect.c:2639 +#: fe-connect.c:2151 fe-connect.c:2185 fe-connect.c:2220 fe-connect.c:2318 +#: fe-connect.c:2973 #, c-format -msgid "%s(%s) failed: %s\n" -msgstr "%s(%s) απέτυχε: %s\n" +msgid "%s(%s) failed: %s" +msgstr "%s(%s) απέτυχε: %s" -#: fe-connect.c:1990 +#: fe-connect.c:2284 #, c-format -msgid "%s(%s) failed: error code %d\n" -msgstr "%s(%s) απέτυχε: κωδικός σφάλματος %d\n" +msgid "%s(%s) failed: error code %d" +msgstr "%s(%s) απέτυχε: κωδικός σφάλματος %d" -#: fe-connect.c:2305 -msgid "invalid connection state, probably indicative of memory corruption\n" -msgstr "μη έγκυρη κατάσταση σύνδεσης, πιθανώς ενδεικτική αλλοίωσης μνήμης\n" +#: fe-connect.c:2597 +#, c-format +msgid "invalid connection state, probably indicative of memory corruption" +msgstr "μη έγκυρη κατάσταση σύνδεσης, πιθανώς ενδεικτική αλλοίωσης μνήμης" -#: fe-connect.c:2384 +#: fe-connect.c:2676 #, c-format -msgid "invalid port number: \"%s\"\n" -msgstr "μη έγκυρος αριθμός πύλης: «%s»\n" +msgid "invalid port number: \"%s\"" +msgstr "μη έγκυρος αριθμός πύλης: «%s»" -#: fe-connect.c:2400 +#: fe-connect.c:2690 #, c-format -msgid "could not translate host name \"%s\" to address: %s\n" -msgstr "δεν ήταν δυνατή η μετάφραση του ονόματος κεντρικού υπολογιστή «%s» στη διεύθυνση: %s\n" +msgid "could not translate host name \"%s\" to address: %s" +msgstr "δεν ήταν δυνατή η μετάφραση του ονόματος κεντρικού υπολογιστή «%s» στη διεύθυνση: %s" -#: fe-connect.c:2413 +#: fe-connect.c:2702 #, c-format -msgid "could not parse network address \"%s\": %s\n" -msgstr "δεν ήταν δυνατή η ανάλυση της διεύθυνσης δικτύου «%s»: %s\n" +msgid "could not parse network address \"%s\": %s" +msgstr "δεν ήταν δυνατή η ανάλυση της διεύθυνσης δικτύου «%s»: %s" -#: fe-connect.c:2426 +#: fe-connect.c:2713 #, c-format -msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)\n" -msgstr "η διαδρομή υποδοχής τομέα Unix «%s» είναι πολύ μακρυά (μέγιστο %d bytes)\n" +msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)" +msgstr "η διαδρομή υποδοχής τομέα Unix «%s» είναι πολύ μακρυά (μέγιστο %d bytes)" -#: fe-connect.c:2441 +#: fe-connect.c:2727 #, c-format -msgid "could not translate Unix-domain socket path \"%s\" to address: %s\n" -msgstr "δεν ήταν δυνατή η μετάφραση της διαδρομής υποδοχής πεδίου-Unix «%s» στη διεύθυνση: %s\n" +msgid "could not translate Unix-domain socket path \"%s\" to address: %s" +msgstr "δεν ήταν δυνατή η μετάφραση της διαδρομής υποδοχής πεδίου-Unix «%s» στη διεύθυνση: %s" -#: fe-connect.c:2567 +#: fe-connect.c:2901 #, c-format -msgid "could not create socket: %s\n" -msgstr "δεν ήταν δυνατή η δημιουργία υποδοχέα: %s\n" +msgid "could not create socket: %s" +msgstr "δεν ήταν δυνατή η δημιουργία υποδοχέα: %s" -#: fe-connect.c:2598 +#: fe-connect.c:2932 #, c-format -msgid "could not set socket to nonblocking mode: %s\n" -msgstr "δεν ήταν δυνατή η ρύθμιση της υποδοχής σε λειτουργία μη αποκλεισμού: %s\n" +msgid "could not set socket to nonblocking mode: %s" +msgstr "δεν ήταν δυνατή η ρύθμιση της υποδοχής σε λειτουργία μη αποκλεισμού: %s" -#: fe-connect.c:2608 +#: fe-connect.c:2943 #, c-format -msgid "could not set socket to close-on-exec mode: %s\n" -msgstr "δεν ήταν δυνατή η ρύθμιση της υποδοχής σε λειτουργία close-on-exec: %s\n" +msgid "could not set socket to close-on-exec mode: %s" +msgstr "δεν ήταν δυνατή η ρύθμιση της υποδοχής σε λειτουργία close-on-exec: %s" -#: fe-connect.c:2626 -msgid "keepalives parameter must be an integer\n" -msgstr "η παράμετρος keepalives πρέπει να είναι ακέραιος\n" +#: fe-connect.c:2961 +#, c-format +msgid "keepalives parameter must be an integer" +msgstr "η παράμετρος keepalives πρέπει να είναι ακέραιος" -#: fe-connect.c:2767 +#: fe-connect.c:3100 #, c-format -msgid "could not get socket error status: %s\n" -msgstr "δεν ήταν δυνατή η απόκτηση κατάστασης σφάλματος της υποδοχής: %s\n" +msgid "could not get socket error status: %s" +msgstr "δεν ήταν δυνατή η απόκτηση κατάστασης σφάλματος της υποδοχής: %s" -#: fe-connect.c:2795 +#: fe-connect.c:3127 #, c-format -msgid "could not get client address from socket: %s\n" -msgstr "δεν ήταν δυνατή η απόκτηση διεύθυνσης πελάτη από την υποδοχή: %s\n" +msgid "could not get client address from socket: %s" +msgstr "δεν ήταν δυνατή η απόκτηση διεύθυνσης πελάτη από την υποδοχή: %s" -#: fe-connect.c:2837 -msgid "requirepeer parameter is not supported on this platform\n" -msgstr "η παράμετρος requirepeer δεν υποστηρίζεται από την παρούσα πλατφόρμα\n" +#: fe-connect.c:3165 +#, c-format +msgid "requirepeer parameter is not supported on this platform" +msgstr "η παράμετρος requirepeer δεν υποστηρίζεται από την παρούσα πλατφόρμα" -#: fe-connect.c:2840 +#: fe-connect.c:3167 #, c-format -msgid "could not get peer credentials: %s\n" -msgstr "δεν ήταν δυνατή η απόκτηση διαπιστευτηρίων από peer: %s\n" +msgid "could not get peer credentials: %s" +msgstr "δεν ήταν δυνατή η απόκτηση διαπιστευτηρίων από peer: %s" -#: fe-connect.c:2864 +#: fe-connect.c:3180 #, c-format -msgid "requirepeer specifies \"%s\", but actual peer user name is \"%s\"\n" -msgstr "το requirepeer καθορίζει «%s», αλλά το πραγματικό όνομα ομότιμου χρήστη είναι «%s»\n" +msgid "requirepeer specifies \"%s\", but actual peer user name is \"%s\"" +msgstr "το requirepeer καθορίζει «%s», αλλά το πραγματικό όνομα ομότιμου χρήστη είναι «%s»" -#: fe-connect.c:2904 +#: fe-connect.c:3221 #, c-format -msgid "could not send GSSAPI negotiation packet: %s\n" -msgstr "δεν ήταν δυνατή η αποστολή GSSAPI πακέτου διαπραγμάτευσης: %s\n" +msgid "could not send GSSAPI negotiation packet: %s" +msgstr "δεν ήταν δυνατή η αποστολή GSSAPI πακέτου διαπραγμάτευσης: %s" -#: fe-connect.c:2916 -msgid "GSSAPI encryption required but was impossible (possibly no credential cache, no server support, or using a local socket)\n" -msgstr "GSSAPI κρυπτογράφηση απαιτείται αλλά ήταν αδύνατη (πιθανώς απουσία cache διαπιστευτηρίων, απουσία υποστήριξης διακομιστή, ή χρησιμοποιείται τοπική υποδοχή)\n" +#: fe-connect.c:3233 +#, c-format +msgid "GSSAPI encryption required but was impossible (possibly no credential cache, no server support, or using a local socket)" +msgstr "GSSAPI κρυπτογράφηση απαιτείται αλλά ήταν αδύνατη (πιθανώς απουσία cache διαπιστευτηρίων, απουσία υποστήριξης διακομιστή, ή χρησιμοποιείται τοπική υποδοχή)" -#: fe-connect.c:2958 +#: fe-connect.c:3274 #, c-format -msgid "could not send SSL negotiation packet: %s\n" -msgstr "" -"δεν ήταν δυνατή η αποστολή SSL πακέτου διαπραγμάτευσης: %s\n" -"\n" +msgid "could not send SSL negotiation packet: %s" +msgstr "δεν ήταν δυνατή η αποστολή SSL πακέτου διαπραγμάτευσης: %s" -#: fe-connect.c:2989 +#: fe-connect.c:3303 #, c-format -msgid "could not send startup packet: %s\n" -msgstr "δεν ήταν δυνατή η αποστολή πακέτου εκκίνησης: %s\n" +msgid "could not send startup packet: %s" +msgstr "δεν ήταν δυνατή η αποστολή πακέτου εκκίνησης: %s" -#: fe-connect.c:3065 -msgid "server does not support SSL, but SSL was required\n" -msgstr "ο διακομιστής δεν υποστηρίζει SSL, αλλά απαιτείται SSL\n" +#: fe-connect.c:3378 +#, c-format +msgid "server does not support SSL, but SSL was required" +msgstr "ο διακομιστής δεν υποστηρίζει SSL, αλλά απαιτείται SSL" -#: fe-connect.c:3092 +#: fe-connect.c:3404 #, c-format -msgid "received invalid response to SSL negotiation: %c\n" -msgstr "έλαβε μη έγκυρη απάντηση κατά τη διαπραγμάτευση SSL: %c\n" +msgid "received invalid response to SSL negotiation: %c" +msgstr "έλαβε μη έγκυρη απάντηση κατά τη διαπραγμάτευση SSL: %c" -#: fe-connect.c:3181 -msgid "server doesn't support GSSAPI encryption, but it was required\n" -msgstr "ο διακομιστής δεν υποστηρίζει κρυπτογράφηση GSSAPI, αλλά αυτή ήταν απαραίτητη\n" +#: fe-connect.c:3424 +#, c-format +msgid "received unencrypted data after SSL response" +msgstr "έλαβε μη κρυπτογραφημένα δεδομένα μετά την απάντηση SSL" -#: fe-connect.c:3193 +#: fe-connect.c:3504 #, c-format -msgid "received invalid response to GSSAPI negotiation: %c\n" -msgstr "έλαβε μη έγκυρη απάντηση κατά τη διαπραγμάτευση GSSAPI: %c\n" +msgid "server doesn't support GSSAPI encryption, but it was required" +msgstr "ο διακομιστής δεν υποστηρίζει κρυπτογράφηση GSSAPI, αλλά αυτή ήταν απαραίτητη" -#: fe-connect.c:3259 fe-connect.c:3284 +#: fe-connect.c:3515 #, c-format -msgid "expected authentication request from server, but received %c\n" -msgstr "ανέμενε αίτηση ελέγχου ταυτότητας από το διακομιστή, αλλά αντί αυτής ελήφθη %c\n" +msgid "received invalid response to GSSAPI negotiation: %c" +msgstr "έλαβε μη έγκυρη απάντηση κατά τη διαπραγμάτευση GSSAPI: %c" -#: fe-connect.c:3491 -msgid "unexpected message from server during startup\n" -msgstr "μη αναμενόμενο μήνυμα από το διακομιστή κατά την εκκίνηση\n" +#: fe-connect.c:3533 +#, c-format +msgid "received unencrypted data after GSSAPI encryption response" +msgstr "λήψη μη κρυπτογραφημένων δεδομένων μετά την απάντηση κρυπτογράφησης GSSAPI" + +#: fe-connect.c:3598 +#, c-format +msgid "expected authentication request from server, but received %c" +msgstr "ανέμενε αίτηση ελέγχου ταυτότητας από το διακομιστή, αλλά αντί αυτής ελήφθη %c" + +#: fe-connect.c:3625 fe-connect.c:3794 +#, c-format +msgid "received invalid authentication request" +msgstr "έλαβε μη έγκυρη αίτηση πιστοποίησης" + +#: fe-connect.c:3630 fe-connect.c:3779 +#, c-format +msgid "received invalid protocol negotiation message" +msgstr "έλαβε μη έγκυρο μήνυμα διαπραγμάτευσης πρωτοκόλλου" + +#: fe-connect.c:3648 fe-connect.c:3702 +#, c-format +msgid "received invalid error message" +msgstr "έλαβε άκυρο μήνυμα σφάλματος" -#: fe-connect.c:3583 -msgid "session is read-only\n" -msgstr "η περίοδος λειτουργίας είναι μόνο για ανάγνωση\n" +#: fe-connect.c:3865 +#, c-format +msgid "unexpected message from server during startup" +msgstr "μη αναμενόμενο μήνυμα από το διακομιστή κατά την εκκίνηση" -#: fe-connect.c:3586 -msgid "session is not read-only\n" -msgstr "η περίοδος λειτουργίας δεν είναι μόνο για ανάγνωση\n" +#: fe-connect.c:3956 +#, c-format +msgid "session is read-only" +msgstr "η περίοδος λειτουργίας είναι μόνο για ανάγνωση" -#: fe-connect.c:3640 -msgid "server is in hot standby mode\n" -msgstr "%s: ο διακομιστής βρίσκεται σε hot κατάσταση αναμονής\n" +#: fe-connect.c:3958 +#, c-format +msgid "session is not read-only" +msgstr "η περίοδος λειτουργίας δεν είναι μόνο για ανάγνωση" -#: fe-connect.c:3643 -msgid "server is not in hot standby mode\n" -msgstr "ο διακομιστής δεν βρίσκεται σε hot κατάσταση αναμονής\n" +#: fe-connect.c:4011 +#, c-format +msgid "server is in hot standby mode" +msgstr "ο διακομιστής βρίσκεται σε hot κατάσταση αναμονής" -#: fe-connect.c:3754 fe-connect.c:3806 +#: fe-connect.c:4013 #, c-format -msgid "\"%s\" failed\n" -msgstr "«%s» απέτυχε.\n" +msgid "server is not in hot standby mode" +msgstr "ο διακομιστής δεν βρίσκεται σε hot κατάσταση αναμονής" -#: fe-connect.c:3820 +#: fe-connect.c:4129 fe-connect.c:4179 #, c-format -msgid "invalid connection state %d, probably indicative of memory corruption\n" -msgstr "κατάσταση μη έγκυρης σύνδεσης %d, πιθανώς ενδεικτική αλλοίωσης της μνήμης\n" +msgid "\"%s\" failed" +msgstr "«%s» απέτυχε" -#: fe-connect.c:4266 fe-connect.c:4326 +#: fe-connect.c:4193 #, c-format -msgid "PGEventProc \"%s\" failed during PGEVT_CONNRESET event\n" -msgstr "PGEventProc «%s» απέτυχε κατά τη διάρκεια συμβάντος PGEVT_CONNRESET\n" +msgid "invalid connection state %d, probably indicative of memory corruption" +msgstr "κατάσταση μη έγκυρης σύνδεσης %d, πιθανώς ενδεικτική αλλοίωσης της μνήμης" -#: fe-connect.c:4670 +#: fe-connect.c:5174 #, c-format -msgid "invalid LDAP URL \"%s\": scheme must be ldap://\n" -msgstr "άκυρη διεύθυνση URL LDAP «%s»: ο συνδυασμός πρέπει να είναι ldap://\n" +msgid "invalid LDAP URL \"%s\": scheme must be ldap://" +msgstr "άκυρη διεύθυνση URL LDAP «%s»: ο συνδυασμός πρέπει να είναι ldap://" -#: fe-connect.c:4685 +#: fe-connect.c:5189 #, c-format -msgid "invalid LDAP URL \"%s\": missing distinguished name\n" -msgstr "άκυρη διεύθυνση URL LDAP «%s»: λείπει το αποκλειστικό όνομα\n" +msgid "invalid LDAP URL \"%s\": missing distinguished name" +msgstr "άκυρη διεύθυνση URL LDAP «%s»: λείπει το αποκλειστικό όνομα" -#: fe-connect.c:4697 fe-connect.c:4755 +#: fe-connect.c:5201 fe-connect.c:5259 #, c-format -msgid "invalid LDAP URL \"%s\": must have exactly one attribute\n" -msgstr "άκυρη διεύθυνση URL LDAP «%s»: πρέπει να περιέχει ακριβώς ένα χαρακτηριστικό\n" +msgid "invalid LDAP URL \"%s\": must have exactly one attribute" +msgstr "άκυρη διεύθυνση URL LDAP «%s»: πρέπει να περιέχει ακριβώς ένα χαρακτηριστικό" -#: fe-connect.c:4709 fe-connect.c:4771 +#: fe-connect.c:5213 fe-connect.c:5275 #, c-format -msgid "invalid LDAP URL \"%s\": must have search scope (base/one/sub)\n" -msgstr "άκυρη διεύθυνση URL LDAP «%s»: πρέπει να έχει εμβέλεια αναζήτησης (base/one/sub)\n" +msgid "invalid LDAP URL \"%s\": must have search scope (base/one/sub)" +msgstr "άκυρη διεύθυνση URL LDAP «%s»: πρέπει να έχει εμβέλεια αναζήτησης (base/one/sub)" -#: fe-connect.c:4721 +#: fe-connect.c:5225 #, c-format -msgid "invalid LDAP URL \"%s\": no filter\n" -msgstr "άκυρη διεύθυνση URL LDAP «%s»: κανένα φίλτρο\n" +msgid "invalid LDAP URL \"%s\": no filter" +msgstr "άκυρη διεύθυνση URL LDAP «%s»: κανένα φίλτρο" -#: fe-connect.c:4743 +#: fe-connect.c:5247 #, c-format -msgid "invalid LDAP URL \"%s\": invalid port number\n" -msgstr "άκυρη διεύθυνση URL LDAP «%s»: άκυρος αριθμός θύρας\n" +msgid "invalid LDAP URL \"%s\": invalid port number" +msgstr "άκυρη διεύθυνση URL LDAP «%s»: άκυρος αριθμός θύρας" -#: fe-connect.c:4781 -msgid "could not create LDAP structure\n" -msgstr "δεν ήταν δυνατή η δημιουργία δομής LDAP\n" +#: fe-connect.c:5284 +#, c-format +msgid "could not create LDAP structure" +msgstr "δεν ήταν δυνατή η δημιουργία δομής LDAP" -#: fe-connect.c:4857 +#: fe-connect.c:5359 #, c-format -msgid "lookup on LDAP server failed: %s\n" -msgstr "απέτυχε η αναζήτηση στον διακομιστή LDAP: %s\n" +msgid "lookup on LDAP server failed: %s" +msgstr "απέτυχε η αναζήτηση στον διακομιστή LDAP: %s" -#: fe-connect.c:4868 -msgid "more than one entry found on LDAP lookup\n" -msgstr "βρέθηκαν περισσότερες από μία καταχωρήσεις στην αναζήτηση LDAP\n" +#: fe-connect.c:5369 +#, c-format +msgid "more than one entry found on LDAP lookup" +msgstr "βρέθηκαν περισσότερες από μία καταχωρήσεις στην αναζήτηση LDAP" -#: fe-connect.c:4869 fe-connect.c:4881 -msgid "no entry found on LDAP lookup\n" -msgstr "δεν βρέθηκε καταχώρηση στην αναζήτηση LDAP\n" +#: fe-connect.c:5371 fe-connect.c:5382 +#, c-format +msgid "no entry found on LDAP lookup" +msgstr "δεν βρέθηκε καταχώρηση στην αναζήτηση LDAP" -#: fe-connect.c:4892 fe-connect.c:4905 -msgid "attribute has no values on LDAP lookup\n" -msgstr "το χαρακτηριστικό δεν έχει τιμές στην αναζήτηση LDAP\n" +#: fe-connect.c:5392 fe-connect.c:5404 +#, c-format +msgid "attribute has no values on LDAP lookup" +msgstr "το χαρακτηριστικό δεν έχει τιμές στην αναζήτηση LDAP" -#: fe-connect.c:4957 fe-connect.c:4976 fe-connect.c:5508 +#: fe-connect.c:5455 fe-connect.c:5474 fe-connect.c:5998 #, c-format -msgid "missing \"=\" after \"%s\" in connection info string\n" -msgstr "λείπει το «=» μετά από «%s» στην συμβολοσειρά πληροφορίας σύνδεσης\n" +msgid "missing \"=\" after \"%s\" in connection info string" +msgstr "λείπει το «=» μετά από «%s» στην συμβολοσειρά πληροφορίας σύνδεσης" -#: fe-connect.c:5049 fe-connect.c:5693 fe-connect.c:6469 +#: fe-connect.c:5545 fe-connect.c:6181 fe-connect.c:6979 #, c-format -msgid "invalid connection option \"%s\"\n" -msgstr "άκυρη επιλογή σύνδεσης «%s»\n" +msgid "invalid connection option \"%s\"" +msgstr "άκυρη επιλογή σύνδεσης «%s»" -#: fe-connect.c:5065 fe-connect.c:5557 -msgid "unterminated quoted string in connection info string\n" -msgstr "ατερμάτιστη συμβολοσειρά με εισαγωγικά στην συμβολοσειρά πληροφορίας σύνδεσης\n" +#: fe-connect.c:5560 fe-connect.c:6046 +#, c-format +msgid "unterminated quoted string in connection info string" +msgstr "ατερμάτιστη συμβολοσειρά με εισαγωγικά στην συμβολοσειρά πληροφορίας σύνδεσης" -#: fe-connect.c:5146 +#: fe-connect.c:5640 #, c-format -msgid "definition of service \"%s\" not found\n" -msgstr "δεν βρέθηκε ο ορισμός της υπηρεσίας «%s»\n" +msgid "definition of service \"%s\" not found" +msgstr "δεν βρέθηκε ο ορισμός της υπηρεσίας «%s»" -#: fe-connect.c:5172 +#: fe-connect.c:5666 #, c-format -msgid "service file \"%s\" not found\n" -msgstr "δεν βρέθηκε αρχείο υπηρεσίας «%s»\n" +msgid "service file \"%s\" not found" +msgstr "δεν βρέθηκε αρχείο υπηρεσίας «%s»" -#: fe-connect.c:5186 +#: fe-connect.c:5679 #, c-format -msgid "line %d too long in service file \"%s\"\n" -msgstr "Πολύ μακρυά γραμμή %d στο αρχείο υπηρεσίας «%s»\n" +msgid "line %d too long in service file \"%s\"" +msgstr "πολύ μακρυά γραμμή %d στο αρχείο υπηρεσίας «%s»" -#: fe-connect.c:5257 fe-connect.c:5301 +#: fe-connect.c:5750 fe-connect.c:5793 #, c-format -msgid "syntax error in service file \"%s\", line %d\n" -msgstr "συντακτικό σφάλμα στο αρχείο υπηρεσίας «%s», γραμμή %d\n" +msgid "syntax error in service file \"%s\", line %d" +msgstr "συντακτικό σφάλμα στο αρχείο υπηρεσίας «%s», γραμμή %d" -#: fe-connect.c:5268 +#: fe-connect.c:5761 #, c-format -msgid "nested service specifications not supported in service file \"%s\", line %d\n" -msgstr "οι ένθετες προδιαγραφές υπηρεσίας δεν υποστηρίζονται στο αρχείο υπηρεσίας «%s», γραμμή %d\n" +msgid "nested service specifications not supported in service file \"%s\", line %d" +msgstr "οι ένθετες προδιαγραφές υπηρεσίας δεν υποστηρίζονται στο αρχείο υπηρεσίας «%s», γραμμή %d" -#: fe-connect.c:5989 +#: fe-connect.c:6500 #, c-format -msgid "invalid URI propagated to internal parser routine: \"%s\"\n" -msgstr "μη έγκυρο URI διαδόθηκε στη ρουτίνα εσωτερικής ανάλυσης: «%s»\n" +msgid "invalid URI propagated to internal parser routine: \"%s\"" +msgstr "μη έγκυρο URI διαδόθηκε στη ρουτίνα εσωτερικής ανάλυσης: «%s»" -#: fe-connect.c:6066 +#: fe-connect.c:6577 #, c-format -msgid "end of string reached when looking for matching \"]\" in IPv6 host address in URI: \"%s\"\n" -msgstr "έφτασε στο τέλος της συμβολοσειράς κατά την αναζήτηση αντίστοιχου «]» στη διεύθυνση IPv6 κεντρικού υπολογιστή στο URI: «%s»\n" +msgid "end of string reached when looking for matching \"]\" in IPv6 host address in URI: \"%s\"" +msgstr "έφτασε στο τέλος της συμβολοσειράς κατά την αναζήτηση αντίστοιχου «]» στη διεύθυνση IPv6 κεντρικού υπολογιστή στο URI: «%s»" -#: fe-connect.c:6073 +#: fe-connect.c:6584 #, c-format -msgid "IPv6 host address may not be empty in URI: \"%s\"\n" -msgstr "η διεύθυνση IPv6 κεντρικού υπολογιστή δεν δύναται να είναι κενή στο URI: «%s»\n" +msgid "IPv6 host address may not be empty in URI: \"%s\"" +msgstr "η διεύθυνση IPv6 κεντρικού υπολογιστή δεν δύναται να είναι κενή στο URI: «%s»" -#: fe-connect.c:6088 +#: fe-connect.c:6599 #, c-format -msgid "unexpected character \"%c\" at position %d in URI (expected \":\" or \"/\"): \"%s\"\n" -msgstr "μη αναμενόμενος χαρακτήρας «%c» στη θέση %d του URI (αναμένεται «:» ή «/»): «%s»\n" +msgid "unexpected character \"%c\" at position %d in URI (expected \":\" or \"/\"): \"%s\"" +msgstr "μη αναμενόμενος χαρακτήρας «%c» στη θέση %d του URI (αναμένεται «:» ή «/»): «%s»" -#: fe-connect.c:6218 +#: fe-connect.c:6728 #, c-format -msgid "extra key/value separator \"=\" in URI query parameter: \"%s\"\n" -msgstr "επιπλέον διαχωριστικό κλειδιού/τιμής «=» στην παράμετρο ερωτήματος URI: «%s»\n" +msgid "extra key/value separator \"=\" in URI query parameter: \"%s\"" +msgstr "επιπλέον διαχωριστικό κλειδιού/τιμής «=» στην παράμετρο ερωτήματος URI: «%s»" -#: fe-connect.c:6238 +#: fe-connect.c:6748 #, c-format -msgid "missing key/value separator \"=\" in URI query parameter: \"%s\"\n" -msgstr "λείπει διαχωριστικό κλειδιού/τιμής «=» στην παράμετρο ερωτήματος URI: «%s»\n" +msgid "missing key/value separator \"=\" in URI query parameter: \"%s\"" +msgstr "λείπει διαχωριστικό κλειδιού/τιμής «=» στην παράμετρο ερωτήματος URI: «%s»" -#: fe-connect.c:6290 +#: fe-connect.c:6800 #, c-format -msgid "invalid URI query parameter: \"%s\"\n" -msgstr "άκυρη παράμετρος ερωτήματος URI: «%s»\n" +msgid "invalid URI query parameter: \"%s\"" +msgstr "άκυρη παράμετρος ερωτήματος URI: «%s»" -#: fe-connect.c:6364 +#: fe-connect.c:6874 #, c-format -msgid "invalid percent-encoded token: \"%s\"\n" -msgstr "άκυρο διακριτικό με κωδικοποίηση ποσοστού: «%s»\n" +msgid "invalid percent-encoded token: \"%s\"" +msgstr "άκυρο διακριτικό με κωδικοποίηση ποσοστού: «%s»" -#: fe-connect.c:6374 +#: fe-connect.c:6884 #, c-format -msgid "forbidden value %%00 in percent-encoded value: \"%s\"\n" -msgstr "απαγορευμένη τιμή %%00 σε τιμή κωδικοποιημένου ποσοστού: «%s»\n" +msgid "forbidden value %%00 in percent-encoded value: \"%s\"" +msgstr "απαγορευμένη τιμή %%00 σε τιμή κωδικοποιημένου ποσοστού: «%s»" -#: fe-connect.c:6744 +#: fe-connect.c:7248 msgid "connection pointer is NULL\n" msgstr "ο δείκτης σύνδεσης είναι NULL\n" -#: fe-connect.c:7024 +#: fe-connect.c:7256 fe-exec.c:710 fe-exec.c:970 fe-exec.c:3292 +#: fe-protocol3.c:974 fe-protocol3.c:1007 +msgid "out of memory\n" +msgstr "έλλειψη μνήμης\n" + +#: fe-connect.c:7547 #, c-format msgid "WARNING: password file \"%s\" is not a plain file\n" msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: το αρχείο κωδικών πρόσβασης «%s» δεν είναι ένα απλό αρχείο\n" -#: fe-connect.c:7033 +#: fe-connect.c:7556 #, c-format msgid "WARNING: password file \"%s\" has group or world access; permissions should be u=rw (0600) or less\n" msgstr "ΠΡΟΕΙΔΟΠΟΙΗΣΗ: το αρχείο κωδικού πρόσβασης «%s» έχει ομαδική ή παγκόσμια πρόσβαση· τα δικαιώματα πρέπει να είναι U=RW (0600) ή λιγότερα\n" -#: fe-connect.c:7141 +#: fe-connect.c:7663 #, c-format -msgid "password retrieved from file \"%s\"\n" -msgstr "ο κωδικός πρόσβασης ελήφθει από αρχείο «%s»\n" +msgid "password retrieved from file \"%s\"" +msgstr "ο κωδικός πρόσβασης ελήφθει από αρχείο «%s»" -#: fe-exec.c:449 fe-exec.c:3286 +#: fe-exec.c:466 fe-exec.c:3366 #, c-format msgid "row number %d is out of range 0..%d" msgstr "ο αριθμός σειράς %d βρίσκεται εκτός εύρους 0..%d" -#: fe-exec.c:510 fe-protocol3.c:219 fe-protocol3.c:244 fe-protocol3.c:273 -#: fe-protocol3.c:291 fe-protocol3.c:371 fe-protocol3.c:743 fe-protocol3.c:975 -msgid "out of memory" -msgstr "έλλειψη μνήμης" - -#: fe-exec.c:511 fe-protocol3.c:1932 +#: fe-exec.c:528 fe-protocol3.c:1976 #, c-format msgid "%s" msgstr "%s" -#: fe-exec.c:778 -msgid "write to server failed\n" -msgstr "απέτυχε η εγγραφή στον διακομιστή\n" +#: fe-exec.c:831 +#, c-format +msgid "write to server failed" +msgstr "απέτυχε η εγγραφή στον διακομιστή" + +#: fe-exec.c:869 +#, c-format +msgid "no error text available" +msgstr "κανένα μήνυμα σφάλματος διαθέσιμο" -#: fe-exec.c:850 +#: fe-exec.c:958 msgid "NOTICE" msgstr "NOTICE" -#: fe-exec.c:908 +#: fe-exec.c:1016 msgid "PGresult cannot support more than INT_MAX tuples" msgstr "το PGresult δεν μπορεί να υποστηρίξει περισσότερες πλείαδες από INT_MAX" -#: fe-exec.c:920 +#: fe-exec.c:1028 msgid "size_t overflow" msgstr "υπερχείλιση overflow" -#: fe-exec.c:1335 fe-exec.c:1440 fe-exec.c:1489 -msgid "command string is a null pointer\n" -msgstr "η συμβολοσειρά εντολής είναι ένας κενός δείκτης\n" +#: fe-exec.c:1444 fe-exec.c:1513 fe-exec.c:1559 +#, c-format +msgid "command string is a null pointer" +msgstr "η συμβολοσειρά εντολής είναι ένας κενός δείκτης" -#: fe-exec.c:1446 fe-exec.c:1495 fe-exec.c:1591 +#: fe-exec.c:1450 fe-exec.c:2888 #, c-format -msgid "number of parameters must be between 0 and %d\n" -msgstr "ο αριθμός των παραμέτρων πρέπει να είναι μεταξύ 0 και %d\n" +msgid "%s not allowed in pipeline mode" +msgstr "%s δεν επιτρέπεται σε λειτουργία αγωγού" -#: fe-exec.c:1483 fe-exec.c:1585 -msgid "statement name is a null pointer\n" -msgstr "η ονομασία της δήλωσης είναι ένας κενός δείκτης\n" +#: fe-exec.c:1518 fe-exec.c:1564 fe-exec.c:1658 +#, c-format +msgid "number of parameters must be between 0 and %d" +msgstr "ο αριθμός των παραμέτρων πρέπει να είναι μεταξύ 0 και %d" -#: fe-exec.c:1627 fe-exec.c:3139 -msgid "no connection to the server\n" -msgstr "καμία σύνδεση στον διακομιστή\n" +#: fe-exec.c:1554 fe-exec.c:1653 +#, c-format +msgid "statement name is a null pointer" +msgstr "η ονομασία της δήλωσης είναι ένας κενός δείκτης" -#: fe-exec.c:1636 fe-exec.c:3148 -msgid "another command is already in progress\n" -msgstr "υπάρχει άλλη εντολή σε πρόοδο\n" +#: fe-exec.c:1695 fe-exec.c:3220 +#, c-format +msgid "no connection to the server" +msgstr "καμία σύνδεση στον διακομιστή" -#: fe-exec.c:1665 -msgid "cannot queue commands during COPY\n" -msgstr "δεν είναι δυνατή η ουρά εντολών κατά τη διάρκεια του COPY\n" +#: fe-exec.c:1703 fe-exec.c:3228 +#, c-format +msgid "another command is already in progress" +msgstr "υπάρχει άλλη εντολή σε πρόοδο" -#: fe-exec.c:1783 -msgid "length must be given for binary parameter\n" -msgstr "το μήκος πρέπει να περαστεί ως δυαδική παράμετρος\n" +#: fe-exec.c:1733 +#, c-format +msgid "cannot queue commands during COPY" +msgstr "δεν είναι δυνατή η ουρά εντολών κατά τη διάρκεια του COPY" -#: fe-exec.c:2103 +#: fe-exec.c:1850 #, c-format -msgid "unexpected asyncStatus: %d\n" -msgstr "μη αναμενόμενο asyncStatus: %d\n" +msgid "length must be given for binary parameter" +msgstr "το μήκος πρέπει να περαστεί ως δυαδική παράμετρος" -#: fe-exec.c:2123 +#: fe-exec.c:2171 #, c-format -msgid "PGEventProc \"%s\" failed during PGEVT_RESULTCREATE event\n" -msgstr "PGEventProc «%s» κατά τη διάρκεια συμβάντος PGEVT_RESULTCREATE\n" +msgid "unexpected asyncStatus: %d" +msgstr "μη αναμενόμενο asyncStatus: %d" -#: fe-exec.c:2271 -msgid "synchronous command execution functions are not allowed in pipeline mode\n" -msgstr "οι συναρτήσεις σύγχρονης εκτέλεσης εντολών δεν επιτρέπονται σε λειτουργία διοχέτευσης\n" +#: fe-exec.c:2327 +#, c-format +msgid "synchronous command execution functions are not allowed in pipeline mode" +msgstr "οι συναρτήσεις σύγχρονης εκτέλεσης εντολών δεν επιτρέπονται σε λειτουργία διοχέτευσης" -#: fe-exec.c:2293 +#: fe-exec.c:2344 msgid "COPY terminated by new PQexec" msgstr "COPY τερματίστηκε από νέο PQexec" -#: fe-exec.c:2310 -msgid "PQexec not allowed during COPY BOTH\n" -msgstr "PQexec δεν επιτρέπεται κατά τη διάρκεια COPY BOTH\n" +#: fe-exec.c:2360 +#, c-format +msgid "PQexec not allowed during COPY BOTH" +msgstr "PQexec δεν επιτρέπεται κατά τη διάρκεια COPY BOTH" -#: fe-exec.c:2538 fe-exec.c:2594 fe-exec.c:2663 fe-protocol3.c:1863 -msgid "no COPY in progress\n" -msgstr "κανένα COPY σε εξέλιξη\n" +#: fe-exec.c:2586 fe-exec.c:2641 fe-exec.c:2709 fe-protocol3.c:1907 +#, c-format +msgid "no COPY in progress" +msgstr "κανένα COPY σε εξέλιξη" -#: fe-exec.c:2840 -msgid "PQfn not allowed in pipeline mode\n" -msgstr "το PQfn δεν επιτρέπεται σε λειτουργία διοχέτευσης\n" +#: fe-exec.c:2895 +#, c-format +msgid "connection in wrong state" +msgstr "σύνδεση σε λανθάνουσα κατάσταση" -#: fe-exec.c:2848 -msgid "connection in wrong state\n" -msgstr "σύνδεση σε λανθάνουσα κατάσταση\n" +#: fe-exec.c:2938 +#, c-format +msgid "cannot enter pipeline mode, connection not idle" +msgstr "δεν ήταν δυνατή η είσοδος σε λειτουργία διοχέτευσης, σύνδεση μη αδρανή" -#: fe-exec.c:2892 -msgid "cannot enter pipeline mode, connection not idle\n" -msgstr "δεν ήταν δυνατή η είσοδος σε λειτουργία διοχέτευσης, σύνδεση μη αδρανή\n" +#: fe-exec.c:2974 fe-exec.c:2995 +#, c-format +msgid "cannot exit pipeline mode with uncollected results" +msgstr "δεν είναι δυνατή η έξοδος από τη λειτουργία διοχέτευσης με μη λαμβανόμενα αποτελέσματα" -#: fe-exec.c:2926 fe-exec.c:2943 -msgid "cannot exit pipeline mode with uncollected results\n" -msgstr "δεν είναι δυνατή η έξοδος από τη λειτουργία διοχέτευσης με μη λαμβανόμενα αποτελέσματα\n" +#: fe-exec.c:2978 +#, c-format +msgid "cannot exit pipeline mode while busy" +msgstr "δεν είναι δυνατή η έξοδος από τη λειτουργία διοχέτευσης ενώ απασχολείται" -#: fe-exec.c:2931 -msgid "cannot exit pipeline mode while busy\n" -msgstr "δεν είναι δυνατή η έξοδος από τη λειτουργία διοχέτευσης ενώ απασχολείται\n" +#: fe-exec.c:2989 +#, c-format +msgid "cannot exit pipeline mode while in COPY" +msgstr "δεν μπορεί να εξέλθει από τη λειτουργία αγωγού ενώ βρίσκεται σε COPY" -#: fe-exec.c:3073 -msgid "cannot send pipeline when not in pipeline mode\n" -msgstr "δεν είναι δυνατή η αποστολή διοχέτευσης όταν δεν βρίσκεται σε λειτουργία διοχέτευσης\n" +#: fe-exec.c:3154 +#, c-format +msgid "cannot send pipeline when not in pipeline mode" +msgstr "δεν είναι δυνατή η αποστολή διοχέτευσης όταν δεν βρίσκεται σε λειτουργία διοχέτευσης" -#: fe-exec.c:3175 +#: fe-exec.c:3255 msgid "invalid ExecStatusType code" msgstr "άκυρος κωδικός ExecStatusType" -#: fe-exec.c:3202 +#: fe-exec.c:3282 msgid "PGresult is not an error result\n" msgstr "PGresult δεν είναι ένα αποτέλεσμα σφάλματος\n" -#: fe-exec.c:3270 fe-exec.c:3293 +#: fe-exec.c:3350 fe-exec.c:3373 #, c-format msgid "column number %d is out of range 0..%d" msgstr "αριθμός στήλης %d βρίσκεται εκτός εύρους 0..%d" -#: fe-exec.c:3308 +#: fe-exec.c:3388 #, c-format msgid "parameter number %d is out of range 0..%d" msgstr "αριθμός παραμέτρου %d βρίσκεται εκτός εύρους 0..%d" -#: fe-exec.c:3618 +#: fe-exec.c:3699 #, c-format msgid "could not interpret result from server: %s" msgstr "δεν μπόρεσε να ερμηνεύσει το αποτέλεσμα από τον διακομιστή: %s" -#: fe-exec.c:3878 fe-exec.c:3967 -msgid "incomplete multibyte character\n" -msgstr "ελλιπής χαρακτήρας πολλαπλών byte\n" +#: fe-exec.c:3964 fe-exec.c:4054 +#, c-format +msgid "incomplete multibyte character" +msgstr "ελλιπής χαρακτήρας πολλαπλών byte" -#: fe-gssapi-common.c:124 +#: fe-gssapi-common.c:122 msgid "GSSAPI name import error" msgstr "σφάλμα εισαγωγής ονόματος GSSAPI" -#: fe-lobj.c:145 fe-lobj.c:210 fe-lobj.c:403 fe-lobj.c:494 fe-lobj.c:568 -#: fe-lobj.c:969 fe-lobj.c:977 fe-lobj.c:985 fe-lobj.c:993 fe-lobj.c:1001 -#: fe-lobj.c:1009 fe-lobj.c:1017 fe-lobj.c:1025 +#: fe-lobj.c:144 fe-lobj.c:207 fe-lobj.c:397 fe-lobj.c:487 fe-lobj.c:560 +#: fe-lobj.c:956 fe-lobj.c:963 fe-lobj.c:970 fe-lobj.c:977 fe-lobj.c:984 +#: fe-lobj.c:991 fe-lobj.c:998 fe-lobj.c:1005 #, c-format -msgid "cannot determine OID of function %s\n" -msgstr "δεν ήταν δυνατός ο προσδιορισμός του OID της συνάρτησης %s\n" +msgid "cannot determine OID of function %s" +msgstr "δεν ήταν δυνατός ο προσδιορισμός του OID της συνάρτησης %s" -#: fe-lobj.c:162 -msgid "argument of lo_truncate exceeds integer range\n" -msgstr "η παράμετρος του lo_truncate υπερβαίνει το εύρος ακέραιων\n" +#: fe-lobj.c:160 +#, c-format +msgid "argument of lo_truncate exceeds integer range" +msgstr "η παράμετρος του lo_truncate υπερβαίνει το εύρος ακέραιων" -#: fe-lobj.c:266 -msgid "argument of lo_read exceeds integer range\n" -msgstr "η παράμετρος του lo_read υπερβαίνει το εύρος ακέραιων\n" +#: fe-lobj.c:262 +#, c-format +msgid "argument of lo_read exceeds integer range" +msgstr "η παράμετρος του lo_read υπερβαίνει το εύρος ακέραιων" -#: fe-lobj.c:318 -msgid "argument of lo_write exceeds integer range\n" -msgstr "η παράμετρος του lo_write υπερβαίνει το εύρος ακέραιων\n" +#: fe-lobj.c:313 +#, c-format +msgid "argument of lo_write exceeds integer range" +msgstr "η παράμετρος του lo_write υπερβαίνει το εύρος ακέραιων" -#: fe-lobj.c:678 fe-lobj.c:789 +#: fe-lobj.c:669 fe-lobj.c:780 #, c-format -msgid "could not open file \"%s\": %s\n" -msgstr "δεν ήταν δυνατό το άνοιγμα του αρχείου «%s»: %s\n" +msgid "could not open file \"%s\": %s" +msgstr "δεν ήταν δυνατό το άνοιγμα του αρχείου «%s»: %s" -#: fe-lobj.c:734 +#: fe-lobj.c:725 #, c-format -msgid "could not read from file \"%s\": %s\n" -msgstr "δεν ήταν δυνατή η ανάγνωση από το αρχείο «%s»: %s\n" +msgid "could not read from file \"%s\": %s" +msgstr "δεν ήταν δυνατή η ανάγνωση από το αρχείο «%s»: %s" -#: fe-lobj.c:810 fe-lobj.c:834 +#: fe-lobj.c:801 fe-lobj.c:824 #, c-format -msgid "could not write to file \"%s\": %s\n" -msgstr "δεν ήταν δυνατή η εγγραφή στο αρχείο »%s»: %s\n" +msgid "could not write to file \"%s\": %s" +msgstr "δεν ήταν δυνατή η εγγραφή στο αρχείο »%s»: %s" -#: fe-lobj.c:920 -msgid "query to initialize large object functions did not return data\n" -msgstr "το ερώτημα αρχικοποίησης συναρτήσεων μεγάλων αντικειμένων δεν επέστρεψε δεδομένα\n" +#: fe-lobj.c:908 +#, c-format +msgid "query to initialize large object functions did not return data" +msgstr "το ερώτημα αρχικοποίησης συναρτήσεων μεγάλων αντικειμένων δεν επέστρεψε δεδομένα" -#: fe-misc.c:242 +#: fe-misc.c:240 #, c-format msgid "integer of size %lu not supported by pqGetInt" msgstr "ακέραιος μεγέθους %lu δεν υποστηρίζεται από pqGetInt" -#: fe-misc.c:275 +#: fe-misc.c:273 #, c-format msgid "integer of size %lu not supported by pqPutInt" msgstr "ακέραιος μεγέθους %lu δεν υποστηρίζεται από pqPutInt" -#: fe-misc.c:576 fe-misc.c:822 -msgid "connection not open\n" -msgstr "μη ανοικτή σύνδεση\n" +#: fe-misc.c:573 +#, c-format +msgid "connection not open" +msgstr "μη ανοικτή σύνδεση" -#: fe-misc.c:755 fe-secure-openssl.c:209 fe-secure-openssl.c:316 -#: fe-secure.c:260 fe-secure.c:373 +#: fe-misc.c:751 fe-secure-openssl.c:215 fe-secure-openssl.c:315 +#: fe-secure.c:257 fe-secure.c:419 +#, c-format msgid "" "server closed the connection unexpectedly\n" "\tThis probably means the server terminated abnormally\n" -"\tbefore or while processing the request.\n" +"\tbefore or while processing the request." msgstr "" "ο διακομιστής έκλεισε απροσδόκητα τη σύνδεση\n" "\tΑυτό πιθανώς σημαίνει ότι ο διακομιστής τερματίστηκε ασυνήθιστα\n" -"\tπριν ή κατά την επεξεργασία του αιτήματος.\n" +"\tπριν ή κατά την επεξεργασία του αιτήματος." + +#: fe-misc.c:818 +msgid "connection not open\n" +msgstr "μη ανοικτή σύνδεση\n" -#: fe-misc.c:1015 -msgid "timeout expired\n" -msgstr "έληξε το χρονικό όριο\n" +#: fe-misc.c:1003 +#, c-format +msgid "timeout expired" +msgstr "έληξε το χρονικό όριο" -#: fe-misc.c:1060 -msgid "invalid socket\n" -msgstr "άκυρος υποδοχέας\n" +#: fe-misc.c:1047 +#, c-format +msgid "invalid socket" +msgstr "άκυρος υποδοχέας" -#: fe-misc.c:1083 +#: fe-misc.c:1069 #, c-format -msgid "%s() failed: %s\n" -msgstr "%s() απέτυχε: %s\n" +msgid "%s() failed: %s" +msgstr "%s() απέτυχε: %s" -#: fe-protocol3.c:196 +#: fe-protocol3.c:182 #, c-format msgid "message type 0x%02x arrived from server while idle" msgstr "μήνυμα τύπου 0x%02x έφτασε από το διακομιστή ενώ αυτός ήταν αδρανής" -#: fe-protocol3.c:403 -msgid "server sent data (\"D\" message) without prior row description (\"T\" message)\n" -msgstr "ο διακομιστής έστειλε δεδομένα («D» μήνυμα) χωρίς προηγούμενη περιγραφή γραμμής («T» μήνυμα)\n" +#: fe-protocol3.c:385 +#, c-format +msgid "server sent data (\"D\" message) without prior row description (\"T\" message)" +msgstr "ο διακομιστής έστειλε δεδομένα («D» μήνυμα) χωρίς προηγούμενη περιγραφή γραμμής («T» μήνυμα)" -#: fe-protocol3.c:446 +#: fe-protocol3.c:427 #, c-format -msgid "unexpected response from server; first received character was \"%c\"\n" -msgstr "μη αναμενόμενη απόκριση από το διακομιστή· πρώτος χαρακτήρας που ελήφθη ήταν «%c»\n" +msgid "unexpected response from server; first received character was \"%c\"" +msgstr "μη αναμενόμενη απόκριση από το διακομιστή· πρώτος χαρακτήρας που ελήφθη ήταν «%c»" -#: fe-protocol3.c:471 +#: fe-protocol3.c:450 #, c-format -msgid "message contents do not agree with length in message type \"%c\"\n" -msgstr "τα περιεχόμενα του μηνύματος δεν συμφωνούν με το μήκος του σε τύπο μηνύματος «%c»\n" +msgid "message contents do not agree with length in message type \"%c\"" +msgstr "τα περιεχόμενα του μηνύματος δεν συμφωνούν με το μήκος του σε τύπο μηνύματος «%c»" -#: fe-protocol3.c:491 +#: fe-protocol3.c:468 #, c-format -msgid "lost synchronization with server: got message type \"%c\", length %d\n" -msgstr "χάθηκε ο συγχρονισμός με το διακομιστή: ελήφθει τύπος μηνύματος «%c», μήκους %d\n" +msgid "lost synchronization with server: got message type \"%c\", length %d" +msgstr "χάθηκε ο συγχρονισμός με το διακομιστή: ελήφθει τύπος μηνύματος «%c», μήκους %d" -#: fe-protocol3.c:543 fe-protocol3.c:583 +#: fe-protocol3.c:520 fe-protocol3.c:560 msgid "insufficient data in \"T\" message" msgstr "ανεπαρκή δεδομένα σε «T» μήνυμα" -#: fe-protocol3.c:654 fe-protocol3.c:860 +#: fe-protocol3.c:631 fe-protocol3.c:837 msgid "out of memory for query result" msgstr "έλλειψη μνήμης για το αποτέλεσμα ερωτήματος" -#: fe-protocol3.c:723 +#: fe-protocol3.c:700 msgid "insufficient data in \"t\" message" msgstr "ανεπαρκή δεδομένα σε «t» μήνυμα" -#: fe-protocol3.c:782 fe-protocol3.c:814 fe-protocol3.c:832 +#: fe-protocol3.c:759 fe-protocol3.c:791 fe-protocol3.c:809 msgid "insufficient data in \"D\" message" msgstr "ανεπαρκή δεδομένα σε «D» μήνυμα" -#: fe-protocol3.c:788 +#: fe-protocol3.c:765 msgid "unexpected field count in \"D\" message" msgstr "μη αναμενόμενο πλήθος πεδίων σε »D» μήνυμα" -#: fe-protocol3.c:1029 +#: fe-protocol3.c:1020 msgid "no error message available\n" msgstr "κανένα μήνυμα σφάλματος διαθέσιμο\n" #. translator: %s represents a digit string -#: fe-protocol3.c:1077 fe-protocol3.c:1096 +#: fe-protocol3.c:1068 fe-protocol3.c:1087 #, c-format msgid " at character %s" -msgstr "σε χαρακτήρα %s" +msgstr " στο χαρακτήρα %s" -#: fe-protocol3.c:1109 +#: fe-protocol3.c:1100 #, c-format msgid "DETAIL: %s\n" msgstr "DETAIL: %s\n" -#: fe-protocol3.c:1112 +#: fe-protocol3.c:1103 #, c-format msgid "HINT: %s\n" msgstr "HINT: %s\n" -#: fe-protocol3.c:1115 +#: fe-protocol3.c:1106 #, c-format msgid "QUERY: %s\n" msgstr "ΕΡΩΤΗΜΑ: %s\n" -#: fe-protocol3.c:1122 +#: fe-protocol3.c:1113 #, c-format msgid "CONTEXT: %s\n" msgstr "CONTEXT: %s\n" -#: fe-protocol3.c:1131 +#: fe-protocol3.c:1122 #, c-format msgid "SCHEMA NAME: %s\n" msgstr "SCHEMA NAME: %s\n" -#: fe-protocol3.c:1135 +#: fe-protocol3.c:1126 #, c-format msgid "TABLE NAME: %s\n" msgstr "TABLE NAME: %s\n" -#: fe-protocol3.c:1139 +#: fe-protocol3.c:1130 #, c-format msgid "COLUMN NAME: %s\n" msgstr "COLUMN NAME: %s\n" -#: fe-protocol3.c:1143 +#: fe-protocol3.c:1134 #, c-format msgid "DATATYPE NAME: %s\n" msgstr "DATATYPE NAME: %s\n" -#: fe-protocol3.c:1147 +#: fe-protocol3.c:1138 #, c-format msgid "CONSTRAINT NAME: %s\n" msgstr "CONSTRAINT NAME: %s\n" -#: fe-protocol3.c:1159 +#: fe-protocol3.c:1150 msgid "LOCATION: " msgstr "LOCATION: " -#: fe-protocol3.c:1161 +#: fe-protocol3.c:1152 #, c-format msgid "%s, " msgstr "%s, " -#: fe-protocol3.c:1163 +#: fe-protocol3.c:1154 #, c-format msgid "%s:%s" msgstr "%s: %s" -#: fe-protocol3.c:1358 +#: fe-protocol3.c:1349 #, c-format msgid "LINE %d: " msgstr "ΓΡΑΜΜΗ %d: " -#: fe-protocol3.c:1757 -msgid "PQgetline: not doing text COPY OUT\n" -msgstr "PQgetline: δεν κάνει το κείμενο COPY OUT\n" +#: fe-protocol3.c:1423 +#, c-format +msgid "protocol version not supported by server: client uses %u.%u, server supports up to %u.%u" +msgstr "έκδοση πρωτοκόλλου που δεν υποστηρίζεται από τον διακομιστή: ο πελάτης χρησιμοποιεί %u.%u, ο διακομιστής υποστηρίζει έως και %u.%u" -#: fe-protocol3.c:2123 +#: fe-protocol3.c:1429 #, c-format -msgid "protocol error: id=0x%x\n" -msgstr "σφάλμα πρωτοκόλλου: id=0x%x\n" +msgid "protocol extension not supported by server: %s" +msgid_plural "protocol extensions not supported by server: %s" +msgstr[0] "η επέκταση πρωτοκόλλου δεν υποστηρίζεται από τον διακομιστή: %s" +msgstr[1] "οι επεκτάσεις πρωτοκόλλου δεν υποστηρίζονται από τον διακομιστή: %s" -#: fe-secure-common.c:124 -msgid "SSL certificate's name contains embedded null\n" -msgstr "το όνομα του πιστοποιητικού SSL περιέχει ενσωματωμένο null\n" +#: fe-protocol3.c:1437 +#, c-format +msgid "invalid %s message" +msgstr "μη έγκυρη μήνυμα %s" -#: fe-secure-common.c:171 -msgid "host name must be specified for a verified SSL connection\n" -msgstr "το όνομα κεντρικού υπολογιστή πρέπει να έχει καθοριστεί για μια επαληθευμένη σύνδεση SSL\n" +#: fe-protocol3.c:1802 +#, c-format +msgid "PQgetline: not doing text COPY OUT" +msgstr "PQgetline: δεν κάνει το κείμενο COPY OUT" -#: fe-secure-common.c:196 +#: fe-protocol3.c:2176 #, c-format -msgid "server certificate for \"%s\" does not match host name \"%s\"\n" -msgstr "το πιστοποιητικό διακομιστή για το «%s» δεν ταιριάζει με το όνομα κεντρικού υπολογιστή «%s»\n" +msgid "protocol error: no function result" +msgstr "σφάλμα πρωτοκόλλου: κανένα αποτέλεσμα συνάρτησης" -#: fe-secure-common.c:202 -msgid "could not get server's host name from server certificate\n" -msgstr "δεν ήταν δυνατή η απόκτηση του όνοματος κεντρικού υπολογιστή του διακομιστή από το πιστοποιητικό διακομιστή\n" +#: fe-protocol3.c:2187 +#, c-format +msgid "protocol error: id=0x%x" +msgstr "σφάλμα πρωτοκόλλου: id=0x%x" + +#: fe-secure-common.c:123 +#, c-format +msgid "SSL certificate's name contains embedded null" +msgstr "το όνομα του πιστοποιητικού SSL περιέχει ενσωματωμένο null" + +#: fe-secure-common.c:228 +#, c-format +msgid "certificate contains IP address with invalid length %zu" +msgstr "το πιστοποιητικό περιέχει διεύθυνση IP με μη έγκυρο μήκος %zu" + +#: fe-secure-common.c:237 +#, c-format +msgid "could not convert certificate's IP address to string: %s" +msgstr "δεν μπόρεσε να μετατρέψει τη διεύθυνση IP του πιστοποιητικού σε συμβολοσειρά: %s" + +#: fe-secure-common.c:269 +#, c-format +msgid "host name must be specified for a verified SSL connection" +msgstr "το όνομα κεντρικού υπολογιστή πρέπει να έχει καθοριστεί για μια επαληθευμένη σύνδεση SSL" + +#: fe-secure-common.c:286 +#, c-format +msgid "server certificate for \"%s\" (and %d other name) does not match host name \"%s\"" +msgid_plural "server certificate for \"%s\" (and %d other names) does not match host name \"%s\"" +msgstr[0] "το πιστοποιητικό διακομιστή για το «%s» (όπως και %d άλλο όνομα) δεν ταιριάζει με το όνομα κεντρικού υπολογιστή «%s»" +msgstr[1] "το πιστοποιητικό διακομιστή για το «%s» (όπως και %d άλλα ονόματα) δεν ταιριάζει με το όνομα κεντρικού υπολογιστή «%s»" + +#: fe-secure-common.c:294 +#, c-format +msgid "server certificate for \"%s\" does not match host name \"%s\"" +msgstr "το πιστοποιητικό διακομιστή για το «%s» δεν ταιριάζει με το όνομα κεντρικού υπολογιστή «%s»" + +#: fe-secure-common.c:299 +#, c-format +msgid "could not get server's host name from server certificate" +msgstr "δεν ήταν δυνατή η απόκτηση του όνοματος κεντρικού υπολογιστή του διακομιστή από το πιστοποιητικό διακομιστή" #: fe-secure-gssapi.c:201 msgid "GSSAPI wrap error" msgstr "σφάλμα αναδίπλωσης GSSAPI" -#: fe-secure-gssapi.c:209 -msgid "outgoing GSSAPI message would not use confidentiality\n" -msgstr "το εξερχόμενο μήνυμα GSSAPI δεν θα χρησιμοποιούσε εμπιστευτικότητα\n" +#: fe-secure-gssapi.c:208 +#, c-format +msgid "outgoing GSSAPI message would not use confidentiality" +msgstr "το εξερχόμενο μήνυμα GSSAPI δεν θα χρησιμοποιούσε εμπιστευτικότητα" -#: fe-secure-gssapi.c:217 +#: fe-secure-gssapi.c:215 #, c-format -msgid "client tried to send oversize GSSAPI packet (%zu > %zu)\n" -msgstr "ο πελάτης προσπάθησε να στείλει υπερμέγεθες πακέτο GSSAPI (%zu > %zu)\n" +msgid "client tried to send oversize GSSAPI packet (%zu > %zu)" +msgstr "ο πελάτης προσπάθησε να στείλει υπερμέγεθες πακέτο GSSAPI (%zu > %zu)" -#: fe-secure-gssapi.c:354 fe-secure-gssapi.c:596 +#: fe-secure-gssapi.c:351 fe-secure-gssapi.c:593 #, c-format -msgid "oversize GSSAPI packet sent by the server (%zu > %zu)\n" -msgstr "ο διακομιστής έστειλε υπερμέγεθες πακέτο GSSAPI (%zu > %zu)\n" +msgid "oversize GSSAPI packet sent by the server (%zu > %zu)" +msgstr "ο διακομιστής έστειλε υπερμέγεθες πακέτο GSSAPI (%zu > %zu)" -#: fe-secure-gssapi.c:393 +#: fe-secure-gssapi.c:390 msgid "GSSAPI unwrap error" msgstr "σφάλμα ξεδιπλώσης GSSAPI" -#: fe-secure-gssapi.c:403 -msgid "incoming GSSAPI message did not use confidentiality\n" -msgstr "εισερχόμενο μήνυμα GSSAPI δεν χρησιμοποίησε εμπιστευτικότητα\n" +#: fe-secure-gssapi.c:399 +#, c-format +msgid "incoming GSSAPI message did not use confidentiality" +msgstr "εισερχόμενο μήνυμα GSSAPI δεν χρησιμοποίησε εμπιστευτικότητα" -#: fe-secure-gssapi.c:642 +#: fe-secure-gssapi.c:656 msgid "could not initiate GSSAPI security context" msgstr "δεν ήταν δυνατή η έναρξη περιεχομένου ασφαλείας GSSAPI" -#: fe-secure-gssapi.c:670 +#: fe-secure-gssapi.c:685 msgid "GSSAPI size check error" msgstr "σφάλμα ελέγχου μεγέθους GSSAPI" -#: fe-secure-gssapi.c:681 +#: fe-secure-gssapi.c:696 msgid "GSSAPI context establishment error" msgstr "σφάλμα δημιουργίας περιεχομένου GSSAPI" -#: fe-secure-openssl.c:214 fe-secure-openssl.c:321 fe-secure-openssl.c:1333 +#: fe-secure-openssl.c:219 fe-secure-openssl.c:319 fe-secure-openssl.c:1531 #, c-format -msgid "SSL SYSCALL error: %s\n" -msgstr "SSL SYSCALL σφάλμα: %s\n" +msgid "SSL SYSCALL error: %s" +msgstr "SSL SYSCALL σφάλμα: %s" -#: fe-secure-openssl.c:221 fe-secure-openssl.c:328 fe-secure-openssl.c:1337 -msgid "SSL SYSCALL error: EOF detected\n" -msgstr "SSL SYSCALL σφάλμα: ανιχνεύτηκε EOF\n" +#: fe-secure-openssl.c:225 fe-secure-openssl.c:325 fe-secure-openssl.c:1534 +#, c-format +msgid "SSL SYSCALL error: EOF detected" +msgstr "SSL SYSCALL σφάλμα: ανιχνεύτηκε EOF" -#: fe-secure-openssl.c:232 fe-secure-openssl.c:339 fe-secure-openssl.c:1346 +#: fe-secure-openssl.c:235 fe-secure-openssl.c:335 fe-secure-openssl.c:1542 #, c-format -msgid "SSL error: %s\n" -msgstr "SSL σφάλμα: %s\n" +msgid "SSL error: %s" +msgstr "SSL σφάλμα: %s" -#: fe-secure-openssl.c:247 fe-secure-openssl.c:354 -msgid "SSL connection has been closed unexpectedly\n" -msgstr "η σύνδεση SSL έκλεισε απροσδόκητα\n" +#: fe-secure-openssl.c:249 fe-secure-openssl.c:349 +#, c-format +msgid "SSL connection has been closed unexpectedly" +msgstr "η σύνδεση SSL έκλεισε απροσδόκητα" + +#: fe-secure-openssl.c:254 fe-secure-openssl.c:354 fe-secure-openssl.c:1589 +#, c-format +msgid "unrecognized SSL error code: %d" +msgstr "μη αναγνωρίσιμος κωδικός σφάλματος SSL: %d" + +#: fe-secure-openssl.c:397 +#, c-format +msgid "could not determine server certificate signature algorithm" +msgstr "δεν μπόρεσε να προσδιορίσει τον αλγόριθμο υπογραφής πιστοποιητικού διακομιστή" -#: fe-secure-openssl.c:253 fe-secure-openssl.c:360 fe-secure-openssl.c:1396 +#: fe-secure-openssl.c:417 #, c-format -msgid "unrecognized SSL error code: %d\n" -msgstr "μη αναγνωρίσιμος κωδικός σφάλματος SSL: %d\n" +msgid "could not find digest for NID %s" +msgstr "δεν μπόρεσε να βρεθεί σύνοψη (digest) για NID %s" -#: fe-secure-openssl.c:400 -msgid "could not determine server certificate signature algorithm\n" -msgstr "δεν μπόρεσε να προσδιορίσει τον αλγόριθμο υπογραφής πιστοποιητικού διακομιστή\n" +#: fe-secure-openssl.c:426 +#, c-format +msgid "could not generate peer certificate hash" +msgstr "δεν ήταν δυνατή η δημιουργία ομότιμου πιστοποιητικού hash" -#: fe-secure-openssl.c:421 +#: fe-secure-openssl.c:509 #, c-format -msgid "could not find digest for NID %s\n" -msgstr "δεν μπόρεσε να βρεθεί σύνοψη (digest) για NID %s\n" +msgid "SSL certificate's name entry is missing" +msgstr "λείπει καταχώρηση ονόματος του πιστοποιητικού SSL" -#: fe-secure-openssl.c:431 -msgid "could not generate peer certificate hash\n" -msgstr "δεν ήταν δυνατή η δημιουργία ομότιμου πιστοποιητικού hash\n" +#: fe-secure-openssl.c:543 +#, c-format +msgid "SSL certificate's address entry is missing" +msgstr "λείπει καταχώρηση ονόματος του πιστοποιητικού SSL" -#: fe-secure-openssl.c:488 -msgid "SSL certificate's name entry is missing\n" -msgstr "λείπει καταχώρηση ονόματος του πιστοποιητικού SSL\n" +#: fe-secure-openssl.c:960 +#, c-format +msgid "could not create SSL context: %s" +msgstr "δεν ήταν δυνατή η δημιουργία περιεχομένου SSL: %s" -#: fe-secure-openssl.c:822 +#: fe-secure-openssl.c:1002 #, c-format -msgid "could not create SSL context: %s\n" -msgstr "δεν ήταν δυνατή η δημιουργία περιεχομένου SSL: %s\n" +msgid "invalid value \"%s\" for minimum SSL protocol version" +msgstr "άκυρη τιμή «%s» για την ελάχιστη έκδοση πρωτοκόλλου SSL" -#: fe-secure-openssl.c:861 +#: fe-secure-openssl.c:1012 #, c-format -msgid "invalid value \"%s\" for minimum SSL protocol version\n" -msgstr "άκυρη τιμή «%s» για την ελάχιστη έκδοση πρωτοκόλλου SSL\n" +msgid "could not set minimum SSL protocol version: %s" +msgstr "δεν ήταν δυνατό να ορίσει ελάχιστη έκδοση πρωτοκόλλου SSL: %s" -#: fe-secure-openssl.c:872 +#: fe-secure-openssl.c:1028 #, c-format -msgid "could not set minimum SSL protocol version: %s\n" -msgstr "δεν ήταν δυνατό να ορίσει ελάχιστη έκδοση πρωτοκόλλου SSL: %s\n" +msgid "invalid value \"%s\" for maximum SSL protocol version" +msgstr "άκυρη τιμή «%s» για μέγιστη έκδοση πρωτοκόλλου SSL" -#: fe-secure-openssl.c:890 +#: fe-secure-openssl.c:1038 #, c-format -msgid "invalid value \"%s\" for maximum SSL protocol version\n" -msgstr "άκυρη τιμή «%s» για μέγιστη έκδοση πρωτοκόλλου SSL\n" +msgid "could not set maximum SSL protocol version: %s" +msgstr "δεν ήταν δυνατό να ορίσει μέγιστη έκδοση πρωτοκόλλου SSL: %s" -#: fe-secure-openssl.c:901 +#: fe-secure-openssl.c:1076 #, c-format -msgid "could not set maximum SSL protocol version: %s\n" -msgstr "δεν ήταν δυνατό να ορίσει μέγιστη έκδοση πρωτοκόλλου SSL: %s\n" +msgid "could not load system root certificate paths: %s" +msgstr "δεν ήταν δυνατή η φόρτωση διαδρομών βασικών αρχείων πιστοποιητικών: %s" -#: fe-secure-openssl.c:937 +#: fe-secure-openssl.c:1093 #, c-format -msgid "could not read root certificate file \"%s\": %s\n" -msgstr "δεν ήταν δυνατή η ανάγνωση βασικού αρχείου πιστοποιητικού «%s»: %s\n" +msgid "could not read root certificate file \"%s\": %s" +msgstr "δεν ήταν δυνατή η ανάγνωση βασικού αρχείου πιστοποιητικού «%s»: %s" -#: fe-secure-openssl.c:990 +#: fe-secure-openssl.c:1145 +#, c-format msgid "" "could not get home directory to locate root certificate file\n" -"Either provide the file or change sslmode to disable server certificate verification.\n" +"Either provide the file, use the system's trusted roots with sslrootcert=system, or change sslmode to disable server certificate verification." msgstr "" "δεν ήταν δυνατή η δημιουργία του προσωπικού καταλόγου για τον εντοπισμό βασικού αρχείου πιστοποιητικού\n" -"Δώστε το αρχείο ή αλλάξτε το sslmode για να απενεργοποιήσετε την επαλήθευση πιστοποιητικού διακομιστή.\n" +"Δώστε το αρχείο ή αλλάξτε το sslmode για να απενεργοποιήσετε την επαλήθευση πιστοποιητικού διακομιστή." -#: fe-secure-openssl.c:994 +#: fe-secure-openssl.c:1148 #, c-format msgid "" "root certificate file \"%s\" does not exist\n" -"Either provide the file or change sslmode to disable server certificate verification.\n" +"Either provide the file, use the system's trusted roots with sslrootcert=system, or change sslmode to disable server certificate verification." msgstr "" -"βασικό αρχείο πιστοποιητικού \"%s\" δεν υπάρχει\n" -"Είτε παρουσιάστε το αρχείο ή αλλάξτε το sslmode για να απενεργοποιήσετε την επαλήθευση πιστοποιητικού διακομιστή.\n" +"βασικό αρχείο πιστοποιητικού «%s» δεν υπάρχει\n" +"Είτε παρουσιάστε το αρχείο, χρησιμοποιήστε τις επαληθευμένες roots του συστήματος με sslrootcert=system, ή αλλάξτε το sslmode για να απενεργοποιήσετε την επαλήθευση πιστοποιητικού διακομιστή." -#: fe-secure-openssl.c:1025 +#: fe-secure-openssl.c:1183 #, c-format -msgid "could not open certificate file \"%s\": %s\n" -msgstr "δεν ήταν δυνατό το άνοιγμα αρχείου πιστοποιητικού «%s»: %s\n" +msgid "could not open certificate file \"%s\": %s" +msgstr "δεν ήταν δυνατό το άνοιγμα αρχείου πιστοποιητικού «%s»: %s" -#: fe-secure-openssl.c:1044 +#: fe-secure-openssl.c:1201 #, c-format -msgid "could not read certificate file \"%s\": %s\n" -msgstr "δεν ήταν δυνατή η ανάγνωση αρχείου πιστοποιητικού «%s»: %s\n" +msgid "could not read certificate file \"%s\": %s" +msgstr "δεν ήταν δυνατή η ανάγνωση αρχείου πιστοποιητικού «%s»: %s" -#: fe-secure-openssl.c:1069 +#: fe-secure-openssl.c:1225 #, c-format -msgid "could not establish SSL connection: %s\n" -msgstr "δεν ήταν δυνατή η δημιουργία σύνδεσης SSL: %s\n" +msgid "could not establish SSL connection: %s" +msgstr "δεν ήταν δυνατή η δημιουργία σύνδεσης SSL: %s" -#: fe-secure-openssl.c:1103 +#: fe-secure-openssl.c:1257 #, c-format -msgid "could not set SSL Server Name Indication (SNI): %s\n" -msgstr "δεν ήταν δυνατός ο ορισμός SSL Server Name Indication (SNI): %s\n" +msgid "could not set SSL Server Name Indication (SNI): %s" +msgstr "δεν ήταν δυνατός ο ορισμός SSL Server Name Indication (SNI): %s" -#: fe-secure-openssl.c:1149 +#: fe-secure-openssl.c:1300 #, c-format -msgid "could not load SSL engine \"%s\": %s\n" -msgstr "δεν ήταν δυνατή η φόρτωση της μηχανής SSL «%s»: %s\n" +msgid "could not load SSL engine \"%s\": %s" +msgstr "δεν ήταν δυνατή η φόρτωση της μηχανής SSL «%s»: %s" -#: fe-secure-openssl.c:1161 +#: fe-secure-openssl.c:1311 #, c-format -msgid "could not initialize SSL engine \"%s\": %s\n" -msgstr "" -"δεν ήταν δυνατή η εκκίνηση του κινητήρα SSL »%s»: %s\n" -"\n" +msgid "could not initialize SSL engine \"%s\": %s" +msgstr "δεν ήταν δυνατή η εκκίνηση του κινητήρα SSL «%s»: %s" -#: fe-secure-openssl.c:1177 +#: fe-secure-openssl.c:1326 #, c-format -msgid "could not read private SSL key \"%s\" from engine \"%s\": %s\n" -msgstr "δεν ήταν δυνατή η ανάγνωση του ιδιωτικού κλειδιού SSL «%s» από την μηχανή «%s»: %s\n" +msgid "could not read private SSL key \"%s\" from engine \"%s\": %s" +msgstr "δεν ήταν δυνατή η ανάγνωση του ιδιωτικού κλειδιού SSL «%s» από την μηχανή «%s»: %s" -#: fe-secure-openssl.c:1191 +#: fe-secure-openssl.c:1339 #, c-format -msgid "could not load private SSL key \"%s\" from engine \"%s\": %s\n" -msgstr "δεν ήταν δυνατή η φόρτωση του ιδιωτικού κλειδιού SSL «%s» από την μηχανή «%s»: %s\n" +msgid "could not load private SSL key \"%s\" from engine \"%s\": %s" +msgstr "δεν ήταν δυνατή η φόρτωση του ιδιωτικού κλειδιού SSL «%s» από την μηχανή «%s»: %s" -#: fe-secure-openssl.c:1228 +#: fe-secure-openssl.c:1376 #, c-format -msgid "certificate present, but not private key file \"%s\"\n" -msgstr "υπάρχει πιστοποιητικό, αλλά όχι αρχείο ιδιωτικού κλειδιού «%s»\n" +msgid "certificate present, but not private key file \"%s\"" +msgstr "υπάρχει πιστοποιητικό, αλλά όχι αρχείο ιδιωτικού κλειδιού «%s»" -#: fe-secure-openssl.c:1236 +#: fe-secure-openssl.c:1379 #, c-format -msgid "private key file \"%s\" has group or world access; permissions should be u=rw (0600) or less\n" -msgstr "αρχείο ιδιωτικού κλειδιού «%s» έχει ομαδική ή παγκόσμια πρόσβαση· τα δικαιώματα πρέπει να είναι U=RW (0600) ή λιγότερα\n" +msgid "could not stat private key file \"%s\": %m" +msgstr "δεν ήταν δυνατή η φόρτωση αρχείου ιδιωτικού κλειδιού «%s»: %m" -#: fe-secure-openssl.c:1261 +#: fe-secure-openssl.c:1387 #, c-format -msgid "could not load private key file \"%s\": %s\n" -msgstr "δεν ήταν δυνατή η φόρτωση αρχείου ιδιωτικού κλειδιού «%s»: %s\n" +msgid "private key file \"%s\" is not a regular file" +msgstr "το αρχείο ιδιωτικού κλειδιού «%s» δεν είναι κανονικό αρχείο" -#: fe-secure-openssl.c:1279 +#: fe-secure-openssl.c:1420 #, c-format -msgid "certificate does not match private key file \"%s\": %s\n" -msgstr "το πιστοποιητικό δεν ταιριάζει με το αρχείο ιδιωτικού κλειδιού «%s»: %s\n" +msgid "private key file \"%s\" has group or world access; file must have permissions u=rw (0600) or less if owned by the current user, or permissions u=rw,g=r (0640) or less if owned by root" +msgstr "το αρχείο ιδιωτικού κλειδιού «%s» έχει πρόσβαση σε ομάδα ή κόσμο- το αρχείο πρέπει να έχει δικαιώματα u=rw (0600) ή λιγότερα αν ανήκει στον τρέχοντα χρήστη, ή δικαιώματα u=rw,g=r (0640) ή λιγότερα αν ανήκει στον υπερχρήστη" -#: fe-secure-openssl.c:1379 +#: fe-secure-openssl.c:1444 #, c-format -msgid "This may indicate that the server does not support any SSL protocol version between %s and %s.\n" -msgstr "Αυτό μπορεί να υποδεικνύει ότι ο διακομιστής δεν υποστηρίζει καμία έκδοση πρωτοκόλλου SSL μεταξύ %s και %s.\n" +msgid "could not load private key file \"%s\": %s" +msgstr "δεν ήταν δυνατή η φόρτωση αρχείου ιδιωτικού κλειδιού «%s»: %s" -#: fe-secure-openssl.c:1415 +#: fe-secure-openssl.c:1460 #, c-format -msgid "certificate could not be obtained: %s\n" -msgstr "" -"δεν ήταν δυνατή η λήψη πιστοποιητικού: %s\n" -"\n" +msgid "certificate does not match private key file \"%s\": %s" +msgstr "το πιστοποιητικό δεν ταιριάζει με το αρχείο ιδιωτικού κλειδιού «%s»: %s" + +#: fe-secure-openssl.c:1528 +#, c-format +msgid "SSL error: certificate verify failed: %s" +msgstr "SSL σφάλμα: η επαλήθευση πιστοποιητικού απέτυχε: %s" -#: fe-secure-openssl.c:1521 +#: fe-secure-openssl.c:1573 +#, c-format +msgid "This may indicate that the server does not support any SSL protocol version between %s and %s." +msgstr "Αυτό μπορεί να υποδεικνύει ότι ο διακομιστής δεν υποστηρίζει καμία έκδοση πρωτοκόλλου SSL μεταξύ %s και %s." + +#: fe-secure-openssl.c:1606 +#, c-format +msgid "certificate could not be obtained: %s" +msgstr "δεν ήταν δυνατή η λήψη πιστοποιητικού: %s" + +#: fe-secure-openssl.c:1711 #, c-format msgid "no SSL error reported" msgstr "δεν αναφέρθηκε κανένα σφάλμα SSL" -#: fe-secure-openssl.c:1530 +#: fe-secure-openssl.c:1720 #, c-format msgid "SSL error code %lu" msgstr "κωδικός σφάλματος SSL %lu" -#: fe-secure-openssl.c:1777 +#: fe-secure-openssl.c:1986 #, c-format msgid "WARNING: sslpassword truncated\n" msgstr "WARNING: περικομμένο sslpassword\n" -#: fe-secure.c:267 +#: fe-secure.c:263 #, c-format -msgid "could not receive data from server: %s\n" -msgstr "δεν ήταν δυνατή η λήψη δεδομένων από το διακομιστή: %s\n" +msgid "could not receive data from server: %s" +msgstr "δεν ήταν δυνατή η λήψη δεδομένων από το διακομιστή: %s" -#: fe-secure.c:380 +#: fe-secure.c:434 #, c-format -msgid "could not send data to server: %s\n" -msgstr "δεν ήταν δυνατή η αποστολή δεδομένων στο διακομιστή: %s\n" +msgid "could not send data to server: %s" +msgstr "δεν ήταν δυνατή η αποστολή δεδομένων στο διακομιστή: %s" -#: win32.c:314 +#: win32.c:310 #, c-format msgid "unrecognized socket error: 0x%08X/%d" msgstr "μη αναγνωρίσιμο σφάλμα υποδοχής: 0x%08X/%d" -#~ msgid "invalid channel_binding value: \"%s\"\n" -#~ msgstr "άκυρη τιμή channel_binding: «%s»\n" - -#~ msgid "invalid ssl_min_protocol_version value: \"%s\"\n" -#~ msgstr "άκυρη τιμή ssl_min_protocol_version: «%s»\n" - -#~ msgid "invalid ssl_max_protocol_version value: \"%s\"\n" -#~ msgstr "άκυρη τιμή ssl_max_protocol_version: «%s»\n" +#~ msgid "COPY IN state must be terminated first\n" +#~ msgstr "" +#~ "πρέπει πρώτα να τερματιστεί η κατάσταση COPY IN\n" +#~ "\n" -#~ msgid "invalid gssencmode value: \"%s\"\n" -#~ msgstr "άκυρη τιμή gssencmode: «%s»\n" +#~ msgid "COPY OUT state must be terminated first\n" +#~ msgstr "πρέπει πρώτα να τερματιστεί η κατάσταση COPY OUT\n" -#~ msgid "invalid target_session_attrs value: \"%s\"\n" -#~ msgstr "άκυρη τιμή target_session_attrs: «%s»\n" +#~ msgid "PGEventProc \"%s\" failed during PGEVT_CONNRESET event\n" +#~ msgstr "PGEventProc «%s» απέτυχε κατά τη διάρκεια συμβάντος PGEVT_CONNRESET\n" -#~ msgid "" -#~ "could not connect to server: %s\n" -#~ "\tIs the server running on host \"%s\" (%s) and accepting\n" -#~ "\tTCP/IP connections on port %s?\n" -#~ msgstr "" -#~ "δεν ήταν δυνατή η σύνδεση με το διακομιστή: %s\n" -#~ "\tΕκτελείται ο διακομιστής στον κεντρικό υπολογιστή »%s» (%s) και αποδέχεται\n" -#~ "\tσυνδέσεις TCP/IP στην θύρα %s;\n" +#~ msgid "PGEventProc \"%s\" failed during PGEVT_RESULTCREATE event\n" +#~ msgstr "PGEventProc «%s» κατά τη διάρκεια συμβάντος PGEVT_RESULTCREATE\n" -#~ msgid "setsockopt(%s) failed: %s\n" -#~ msgstr "setsockopt(%s) απέτυχε: %s\n" +#~ msgid "SCM_CRED authentication method not supported\n" +#~ msgstr "δεν υποστηρίζεται η μέθοδος πιστοποίησης SCM_CRED\n" #~ msgid "WSAIoctl(SIO_KEEPALIVE_VALS) failed: %ui\n" #~ msgstr "WSAIoctl(SIO_KEEPALIVE_VALS) απέτυχε: %ui\n" -#~ msgid "could not make a writable connection to server \"%s:%s\"\n" -#~ msgstr "δεν ήταν δυνατή η πραγματοποίηση εγγράψιμης σύνδεσης με το διακομιστή \"%s:%s\"\n" - -#~ msgid "test \"SHOW transaction_read_only\" failed on server \"%s:%s\"\n" -#~ msgstr "το τεστ «SHOW transaction_read_only» απέτυχε στον διακομιστή «%s:%s»\n" - -#~ msgid "function requires at least protocol version 3.0\n" -#~ msgstr "η συνάρτηση απαιτεί πρωτόκολλο ελάχιστης έκδοσης 3.0\n" - -#~ msgid "COPY IN state must be terminated first\n" -#~ msgstr "" -#~ "πρέπει πρώτα να τερματιστεί η κατάσταση COPY IN\n" -#~ "\n" - -#~ msgid "COPY OUT state must be terminated first\n" -#~ msgstr "πρέπει πρώτα να τερματιστεί η κατάσταση COPY OUT\n" +#~ msgid "cannot determine OID of function lo_creat\n" +#~ msgstr "δεν είναι δυνατός ο προσδιορισμός του OID της συνάρτησης lo_creat\n" -#~ msgid "cannot determine OID of function lo_truncate\n" -#~ msgstr "δεν μπόρεσε να προσδιορίσει το OID της συνάρτησης lo_truncate\n" +#~ msgid "cannot determine OID of function lo_create\n" +#~ msgstr "δεν μπόρεσε να προσδιορίσει το OID της συνάρτησης lo_create\n" -#~ msgid "cannot determine OID of function lo_truncate64\n" -#~ msgstr "δεν μπόρεσε να προσδιορίσει το OID της συνάρτησης lo_truncate64\n" +#~ msgid "cannot determine OID of function lo_lseek\n" +#~ msgstr "δεν είναι δυνατός ο προσδιορισμός του OID της συνάρτησης lo_lseek\n" #~ msgid "cannot determine OID of function lo_lseek64\n" #~ msgstr "δεν μπόρεσε να προσδιορίσει το OID της συνάρτησης lo_lseek64\n" -#~ msgid "cannot determine OID of function lo_create\n" -#~ msgstr "δεν μπόρεσε να προσδιορίσει το OID της συνάρτησης lo_create\n" +#~ msgid "cannot determine OID of function lo_open\n" +#~ msgstr "δεν είναι δυνατός ο προσδιορισμός του OID της συνάρτησης lo_open\n" #~ msgid "cannot determine OID of function lo_tell64\n" #~ msgstr "δεν μπόρεσε να προσδιορίσει το OID της συνάρτησης lo_tell64\n" -#~ msgid "cannot determine OID of function lo_open\n" -#~ msgstr "δεν είναι δυνατός ο προσδιορισμός του OID της συνάρτησης lo_open\n" +#~ msgid "cannot determine OID of function lo_truncate\n" +#~ msgstr "δεν μπόρεσε να προσδιορίσει το OID της συνάρτησης lo_truncate\n" -#~ msgid "cannot determine OID of function lo_creat\n" -#~ msgstr "δεν είναι δυνατός ο προσδιορισμός του OID της συνάρτησης lo_creat\n" +#~ msgid "cannot determine OID of function lo_truncate64\n" +#~ msgstr "δεν μπόρεσε να προσδιορίσει το OID της συνάρτησης lo_truncate64\n" #~ msgid "cannot determine OID of function lo_unlink\n" #~ msgstr "δεν είναι δυνατός ο προσδιορισμός του OID της συνάρτησης lo_unlink\n" -#~ msgid "cannot determine OID of function lo_lseek\n" -#~ msgstr "δεν είναι δυνατός ο προσδιορισμός του OID της συνάρτησης lo_lseek\n" - #~ msgid "cannot determine OID of function loread\n" #~ msgstr "δεν είναι δυνατός ο προσδιορισμός του OID της συνάρτησης loread\n" #~ msgid "cannot determine OID of function lowrite\n" #~ msgstr "δεν είναι δυνατός ο προσδιορισμός του OID της συνάρτησης lowrite\n" -#~ msgid "select() failed: %s\n" -#~ msgstr "απέτυχε το select(): %s\n" +#~ msgid "" +#~ "could not connect to server: %s\n" +#~ "\tIs the server running on host \"%s\" (%s) and accepting\n" +#~ "\tTCP/IP connections on port %s?\n" +#~ msgstr "" +#~ "δεν ήταν δυνατή η σύνδεση με το διακομιστή: %s\n" +#~ "\tΕκτελείται ο διακομιστής στον κεντρικό υπολογιστή »%s» (%s) και αποδέχεται\n" +#~ "\tσυνδέσεις TCP/IP στην θύρα %s;\n" + +#~ msgid "could not make a writable connection to server \"%s:%s\"\n" +#~ msgstr "δεν ήταν δυνατή η πραγματοποίηση εγγράψιμης σύνδεσης με το διακομιστή \"%s:%s\"\n" + +#~ msgid "function requires at least protocol version 3.0\n" +#~ msgstr "η συνάρτηση απαιτεί πρωτόκολλο ελάχιστης έκδοσης 3.0\n" + +#~ msgid "invalid channel_binding value: \"%s\"\n" +#~ msgstr "άκυρη τιμή channel_binding: «%s»\n" + +#~ msgid "invalid gssencmode value: \"%s\"\n" +#~ msgstr "άκυρη τιμή gssencmode: «%s»\n" #~ msgid "invalid setenv state %c, probably indicative of memory corruption\n" #~ msgstr "μη έγκυρη κατάσταση %c setenv, πιθανώς ενδεικτική αλλοίωσης μνήμης\n" +#~ msgid "invalid ssl_max_protocol_version value: \"%s\"\n" +#~ msgstr "άκυρη τιμή ssl_max_protocol_version: «%s»\n" + +#~ msgid "invalid ssl_min_protocol_version value: \"%s\"\n" +#~ msgstr "άκυρη τιμή ssl_min_protocol_version: «%s»\n" + #~ msgid "invalid state %c, probably indicative of memory corruption\n" #~ msgstr "μη έγκυρη κατάσταση %c, πιθανώς ενδεικτική αλλοίωσης μνήμης\n" -#~ msgid "unexpected character %c following empty query response (\"I\" message)" -#~ msgstr "μη αναμενόμενος χαρακτήρας %c μετά από κενή απόκριση ερωτήματος («I» μήνυμα)" +#~ msgid "invalid target_session_attrs value: \"%s\"\n" +#~ msgstr "άκυρη τιμή target_session_attrs: «%s»\n" -#~ msgid "server sent data (\"D\" message) without prior row description (\"T\" message)" -#~ msgstr "ο διακομιστής έστειλε δεδομένα («D» μήνυμα) χωρίς προηγούμενη περιγραφή γραμμής («T» μήνυμα)" +#~ msgid "lost synchronization with server, resetting connection" +#~ msgstr "χάθηκε ο συγχρονισμός με τον διακομιστή, επαναρυθμίζεται η σύνδεση" + +#~ msgid "select() failed: %s\n" +#~ msgstr "απέτυχε το select(): %s\n" #~ msgid "server sent binary data (\"B\" message) without prior row description (\"T\" message)" #~ msgstr "ο διακομιστής έστειλε δυαδικά δεδομένα («B» μήνυμα) χωρίς προηγούμενη περιγραφή γραμμής («T» μήνυμα)" -#~ msgid "lost synchronization with server, resetting connection" -#~ msgstr "χάθηκε ο συγχρονισμός με τον διακομιστή, επαναρυθμίζεται η σύνδεση" +#~ msgid "server sent data (\"D\" message) without prior row description (\"T\" message)\n" +#~ msgstr "ο διακομιστής έστειλε δεδομένα («D» μήνυμα) χωρίς προηγούμενη περιγραφή γραμμής («T» μήνυμα)\n" + +#~ msgid "setsockopt(%s) failed: %s\n" +#~ msgstr "setsockopt(%s) απέτυχε: %s\n" + +#~ msgid "test \"SHOW transaction_read_only\" failed on server \"%s:%s\"\n" +#~ msgstr "το τεστ «SHOW transaction_read_only» απέτυχε στον διακομιστή «%s:%s»\n" + +#~ msgid "unexpected character %c following empty query response (\"I\" message)" +#~ msgstr "μη αναμενόμενος χαρακτήρας %c μετά από κενή απόκριση ερωτήματος («I» μήνυμα)" + +#~ msgid "user name lookup failure: error code %lu\n" +#~ msgstr "αποτυχία αναζήτησης ονόματος χρήστη: κωδικός σφάλματος %lu\n" diff --git a/src/interfaces/libpq/po/ja.po b/src/interfaces/libpq/po/ja.po index aa9aa5bed64..af252b1fa9a 100644 --- a/src/interfaces/libpq/po/ja.po +++ b/src/interfaces/libpq/po/ja.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: libpq (PostgreSQL 16)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2023-06-19 09:32+0900\n" -"PO-Revision-Date: 2023-06-19 10:02+0900\n" +"PO-Revision-Date: 2023-08-23 07:41+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: Japan PostgreSQL Users Group \n" "Language: ja\n" @@ -1345,7 +1345,7 @@ msgid "" "Either provide the file, use the system's trusted roots with sslrootcert=system, or change sslmode to disable server certificate verification." msgstr "" "ルート証明書ファイルを特定するためのホームディレクトリが取得できませんでした\n" -"ファイルを用意する、 sslrootcert=systemでしすてむの信頼済みルート証明書を使用する、または sslmode を変更してサーバー証明書の検証を無効にしてください。" +"ファイルを用意する、 sslrootcert=systemでシステムの信頼済みルート証明書を使用する、または sslmode を変更してサーバー証明書の検証を無効にしてください。" #: fe-secure-openssl.c:1148 #, c-format @@ -1354,7 +1354,7 @@ msgid "" "Either provide the file, use the system's trusted roots with sslrootcert=system, or change sslmode to disable server certificate verification." msgstr "" "ルート証明書ファイル\"%s\"が存在しません\n" -"ファイルを用意する、sslrootcert=systemでしすてむの信頼済みルート証明書を使用する、またはsslmodeを変更してサーバー証明書の検証を無効にしてください。" +"ファイルを用意する、sslrootcert=systemでシステムの信頼済みルート証明書を使用する、またはsslmodeを変更してサーバー証明書の検証を無効にしてください。" #: fe-secure-openssl.c:1183 #, c-format diff --git a/src/interfaces/libpq/po/ko.po b/src/interfaces/libpq/po/ko.po index 602069ae8bf..e2cdc4e86e3 100644 --- a/src/interfaces/libpq/po/ko.po +++ b/src/interfaces/libpq/po/ko.po @@ -3,11 +3,11 @@ # msgid "" msgstr "" -"Project-Id-Version: libpq (PostgreSQL) 13\n" +"Project-Id-Version: libpq (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2020-10-05 01:09+0000\n" -"PO-Revision-Date: 2020-10-05 17:53+0900\n" -"Last-Translator: Ioseph Kim \n" +"POT-Creation-Date: 2023-09-07 05:40+0000\n" +"PO-Revision-Date: 2023-07-05 11:21+0900\n" +"Last-Translator: YOUR NAME \n" "Language-Team: Korean \n" "Language: ko\n" "MIME-Version: 1.0\n" @@ -15,646 +15,796 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: fe-auth-scram.c:212 -msgid "malformed SCRAM message (empty message)\n" -msgstr "SCRAM 메시지가 형식에 안맞음 (메시지 비었음)\n" +#: ../../port/thread.c:50 ../../port/thread.c:86 +#, c-format +msgid "could not look up local user ID %d: %s" +msgstr "UID %d 해당하는 로컬 사용자를 찾을 수 없음: %s" -#: fe-auth-scram.c:218 -msgid "malformed SCRAM message (length mismatch)\n" -msgstr "SCRAM 메시지가 형식에 안맞음 (길이 불일치)\n" +#: ../../port/thread.c:55 ../../port/thread.c:91 +#, c-format +msgid "local user with ID %d does not exist" +msgstr "ID %d 로컬 사용자 없음" -#: fe-auth-scram.c:265 -msgid "incorrect server signature\n" -msgstr "잘못된 서버 서명\n" +#: fe-auth-scram.c:227 +#, c-format +msgid "malformed SCRAM message (empty message)" +msgstr "SCRAM 메시지가 형식에 안맞음 (메시지 비었음)" -#: fe-auth-scram.c:274 -msgid "invalid SCRAM exchange state\n" -msgstr "SCRAM 교화 상태가 바르지 않음\n" +#: fe-auth-scram.c:232 +#, c-format +msgid "malformed SCRAM message (length mismatch)" +msgstr "SCRAM 메시지가 형식에 안맞음 (길이 불일치)" -#: fe-auth-scram.c:296 +#: fe-auth-scram.c:275 #, c-format -msgid "malformed SCRAM message (attribute \"%c\" expected)\n" -msgstr "SCRAM 메시지가 형식에 안맞음 (\"%c\" 속성이 예상됨)\n" +msgid "could not verify server signature: %s" +msgstr "서버 서명을 검사 할 수 없음: %s" -#: fe-auth-scram.c:305 +#: fe-auth-scram.c:281 #, c-format -msgid "" -"malformed SCRAM message (expected character \"=\" for attribute \"%c\")\n" -msgstr "SCRAM 메시지가 형식에 안맞음 (\"%c\" 속성 예상값은 \"=\")\n" - -#: fe-auth-scram.c:346 -msgid "could not generate nonce\n" -msgstr "암호화 토큰(nonce)을 만들 수 없음\n" - -#: fe-auth-scram.c:356 fe-auth-scram.c:431 fe-auth-scram.c:579 -#: fe-auth-scram.c:600 fe-auth-scram.c:626 fe-auth-scram.c:641 -#: fe-auth-scram.c:691 fe-auth-scram.c:725 fe-auth.c:289 fe-auth.c:359 -#: fe-auth.c:394 fe-auth.c:611 fe-auth.c:770 fe-auth.c:1129 fe-auth.c:1277 -#: fe-connect.c:892 fe-connect.c:1419 fe-connect.c:1595 fe-connect.c:2200 -#: fe-connect.c:2223 fe-connect.c:2952 fe-connect.c:4598 fe-connect.c:4854 -#: fe-connect.c:4973 fe-connect.c:5226 fe-connect.c:5306 fe-connect.c:5405 -#: fe-connect.c:5661 fe-connect.c:5690 fe-connect.c:5762 fe-connect.c:5786 -#: fe-connect.c:5804 fe-connect.c:5905 fe-connect.c:5914 fe-connect.c:6270 -#: fe-connect.c:6420 fe-exec.c:2747 fe-exec.c:3494 fe-exec.c:3659 -#: fe-gssapi-common.c:111 fe-lobj.c:895 fe-protocol2.c:1207 fe-protocol3.c:995 -#: fe-protocol3.c:1699 fe-secure-common.c:110 fe-secure-gssapi.c:504 -#: fe-secure-openssl.c:440 fe-secure-openssl.c:1091 -msgid "out of memory\n" -msgstr "메모리 부족\n" +msgid "incorrect server signature" +msgstr "잘못된 서버 서명" + +#: fe-auth-scram.c:290 +#, c-format +msgid "invalid SCRAM exchange state" +msgstr "SCRAM 교환 상태가 바르지 않음" + +#: fe-auth-scram.c:317 +#, c-format +msgid "malformed SCRAM message (attribute \"%c\" expected)" +msgstr "SCRAM 메시지가 형식에 안맞음 (\"%c\" 속성이 예상됨)" + +#: fe-auth-scram.c:326 +#, c-format +msgid "malformed SCRAM message (expected character \"=\" for attribute \"%c\")" +msgstr "SCRAM 메시지가 형식에 안맞음 (\"%c\" 속성 예상값은 \"=\")" + +#: fe-auth-scram.c:366 +#, c-format +msgid "could not generate nonce" +msgstr "암호화 토큰(nonce)을 만들 수 없음" -#: fe-auth-scram.c:364 -msgid "could not encode nonce\n" -msgstr "암호화 토큰(nonce)을 인코딩할 수 없음\n" +#: fe-auth-scram.c:375 fe-auth-scram.c:448 fe-auth-scram.c:600 +#: fe-auth-scram.c:620 fe-auth-scram.c:644 fe-auth-scram.c:658 +#: fe-auth-scram.c:704 fe-auth-scram.c:740 fe-auth-scram.c:914 fe-auth.c:296 +#: fe-auth.c:369 fe-auth.c:403 fe-auth.c:618 fe-auth.c:729 fe-auth.c:1210 +#: fe-auth.c:1375 fe-connect.c:925 fe-connect.c:1759 fe-connect.c:1921 +#: fe-connect.c:3291 fe-connect.c:4496 fe-connect.c:5161 fe-connect.c:5416 +#: fe-connect.c:5534 fe-connect.c:5781 fe-connect.c:5861 fe-connect.c:5959 +#: fe-connect.c:6210 fe-connect.c:6237 fe-connect.c:6313 fe-connect.c:6336 +#: fe-connect.c:6360 fe-connect.c:6395 fe-connect.c:6481 fe-connect.c:6489 +#: fe-connect.c:6846 fe-connect.c:6996 fe-exec.c:527 fe-exec.c:1321 +#: fe-exec.c:3111 fe-exec.c:4071 fe-exec.c:4235 fe-gssapi-common.c:109 +#: fe-lobj.c:870 fe-protocol3.c:204 fe-protocol3.c:228 fe-protocol3.c:256 +#: fe-protocol3.c:273 fe-protocol3.c:353 fe-protocol3.c:720 fe-protocol3.c:959 +#: fe-protocol3.c:1770 fe-protocol3.c:2170 fe-secure-common.c:110 +#: fe-secure-gssapi.c:500 fe-secure-openssl.c:434 fe-secure-openssl.c:1285 +#, c-format +msgid "out of memory" +msgstr "메모리 부족" -#: fe-auth-scram.c:563 -msgid "could not encode client proof\n" -msgstr "클라이언트 프루프(proof)를 인코딩할 수 없음\n" +#: fe-auth-scram.c:382 +#, c-format +msgid "could not encode nonce" +msgstr "암호화 토큰(nonce)을 인코딩할 수 없음" -#: fe-auth-scram.c:618 -msgid "invalid SCRAM response (nonce mismatch)\n" -msgstr "잘못된 SCRAM 응답 (토큰 불일치)\n" +#: fe-auth-scram.c:570 +#, c-format +msgid "could not calculate client proof: %s" +msgstr "클라이언트 프루프(proof)를 계산할 수 없음: %s" -#: fe-auth-scram.c:651 -msgid "malformed SCRAM message (invalid salt)\n" -msgstr "형식에 맞지 않은 SCRAM 메시지 (잘못된 소금)\n" +#: fe-auth-scram.c:585 +#, c-format +msgid "could not encode client proof" +msgstr "클라이언트 프루프(proof)를 인코딩할 수 없음" -#: fe-auth-scram.c:665 -msgid "malformed SCRAM message (invalid iteration count)\n" -msgstr "형식에 맞지 않은 SCRAM 메시지 (나열 숫자가 이상함)\n" +#: fe-auth-scram.c:637 +#, c-format +msgid "invalid SCRAM response (nonce mismatch)" +msgstr "잘못된 SCRAM 응답 (토큰 불일치)" -#: fe-auth-scram.c:671 -msgid "malformed SCRAM message (garbage at end of server-first-message)\n" +#: fe-auth-scram.c:667 +#, c-format +msgid "malformed SCRAM message (invalid salt)" +msgstr "형식에 맞지 않은 SCRAM 메시지 (잘못된 소금 salt)" + +#: fe-auth-scram.c:680 +#, c-format +msgid "malformed SCRAM message (invalid iteration count)" +msgstr "형식에 맞지 않은 SCRAM 메시지 (나열 숫자가 이상함)" + +#: fe-auth-scram.c:685 +#, c-format +msgid "malformed SCRAM message (garbage at end of server-first-message)" msgstr "" -"형식에 맞지 않은 SCRAM 메시지 (서버 첫 메시지 끝에 쓸모 없는 값이 있음)\n" +"형식에 맞지 않은 SCRAM 메시지 (서버 첫 메시지 끝에 쓸모 없는 값이 있음)" -#: fe-auth-scram.c:702 +#: fe-auth-scram.c:719 #, c-format -msgid "error received from server in SCRAM exchange: %s\n" -msgstr "SCRAM 교환작업에서 서버로부터 데이터를 받지 못했음: %s\n" +msgid "error received from server in SCRAM exchange: %s" +msgstr "SCRAM 교환작업에서 서버로부터 데이터를 받지 못했음: %s" -#: fe-auth-scram.c:718 -msgid "malformed SCRAM message (garbage at end of server-final-message)\n" +#: fe-auth-scram.c:734 +#, c-format +msgid "malformed SCRAM message (garbage at end of server-final-message)" msgstr "" -"형식에 맞지 않은 SCRAM 메시지 (서버 끝 메시지 뒤에 쓸모 없는 값이 있음)\n" +"형식에 맞지 않은 SCRAM 메시지 (서버 끝 메시지 뒤에 쓸모 없는 값이 있음)" + +#: fe-auth-scram.c:751 +#, c-format +msgid "malformed SCRAM message (invalid server signature)" +msgstr "형식에 맞지 않은 SCRAM 메시지 (서버 서명이 이상함)" -#: fe-auth-scram.c:737 -msgid "malformed SCRAM message (invalid server signature)\n" -msgstr "형식에 맞지 않은 SCRAM 메시지 (서버 사인이 이상함)\n" +#: fe-auth-scram.c:923 +msgid "could not generate random salt" +msgstr "무작위 솔트 생성 실패" -#: fe-auth.c:76 +#: fe-auth.c:77 #, c-format -msgid "out of memory allocating GSSAPI buffer (%d)\n" -msgstr "GSSAPI 버퍼(%d)에 할당할 메모리 부족\n" +msgid "out of memory allocating GSSAPI buffer (%d)" +msgstr "GSSAPI 버퍼(%d)에 할당할 메모리 부족" -#: fe-auth.c:131 +#: fe-auth.c:138 msgid "GSSAPI continuation error" msgstr "GSSAPI 연속 오류" -#: fe-auth.c:158 fe-auth.c:388 fe-gssapi-common.c:98 fe-secure-common.c:98 -msgid "host name must be specified\n" -msgstr "호스트 이름을 지정해야 함\n" +#: fe-auth.c:168 fe-auth.c:397 fe-gssapi-common.c:97 fe-secure-common.c:99 +#: fe-secure-common.c:173 +#, c-format +msgid "host name must be specified" +msgstr "호스트 이름을 지정해야 함" -#: fe-auth.c:165 -msgid "duplicate GSS authentication request\n" -msgstr "중복된 GSS 인증 요청\n" +#: fe-auth.c:174 +#, c-format +msgid "duplicate GSS authentication request" +msgstr "중복된 GSS 인증 요청" -#: fe-auth.c:230 +#: fe-auth.c:238 #, c-format -msgid "out of memory allocating SSPI buffer (%d)\n" -msgstr "SSPI 버퍼(%d)에 할당할 메모리 부족\n" +msgid "out of memory allocating SSPI buffer (%d)" +msgstr "SSPI 버퍼(%d)에 할당할 메모리 부족" -#: fe-auth.c:278 +#: fe-auth.c:285 msgid "SSPI continuation error" msgstr "SSPI 연속 오류" -#: fe-auth.c:349 -msgid "duplicate SSPI authentication request\n" -msgstr "중복된 SSPI 인증 요청\n" +#: fe-auth.c:359 +#, c-format +msgid "duplicate SSPI authentication request" +msgstr "중복된 SSPI 인증 요청" -#: fe-auth.c:374 +#: fe-auth.c:384 msgid "could not acquire SSPI credentials" msgstr "SSPI 자격 증명을 가져올 수 없음" -#: fe-auth.c:429 -msgid "channel binding required, but SSL not in use\n" -msgstr "채널 바인딩이 필요한데, SSL 기능이 꺼져있음\n" +#: fe-auth.c:437 +#, c-format +msgid "channel binding required, but SSL not in use" +msgstr "채널 바인딩이 필요한데, SSL 기능이 꺼져있음" -#: fe-auth.c:436 -msgid "duplicate SASL authentication request\n" -msgstr "중복된 SASL 인증 요청\n" +#: fe-auth.c:443 +#, c-format +msgid "duplicate SASL authentication request" +msgstr "중복된 SASL 인증 요청" -#: fe-auth.c:492 -msgid "channel binding is required, but client does not support it\n" -msgstr "채널 바인딩이 필요한데, 클라이언트에서 지원하지 않음\n" +#: fe-auth.c:501 +#, c-format +msgid "channel binding is required, but client does not support it" +msgstr "채널 바인딩이 필요한데, 클라이언트에서 지원하지 않음" -#: fe-auth.c:509 +#: fe-auth.c:517 +#, c-format msgid "" -"server offered SCRAM-SHA-256-PLUS authentication over a non-SSL connection\n" -msgstr "서버는 non-SSL 접속으로 SCRAM-SHA-256-PLUS 인증을 제공함\n" +"server offered SCRAM-SHA-256-PLUS authentication over a non-SSL connection" +msgstr "서버는 non-SSL 접속으로 SCRAM-SHA-256-PLUS 인증을 제공함" -#: fe-auth.c:521 -msgid "none of the server's SASL authentication mechanisms are supported\n" -msgstr "SASL 인증 메커니즘을 지원하는 서버가 없습니다.\n" +#: fe-auth.c:531 +#, c-format +msgid "none of the server's SASL authentication mechanisms are supported" +msgstr "SASL 인증 메커니즘을 지원하는 서버가 없습니다." -#: fe-auth.c:529 +#: fe-auth.c:538 +#, c-format msgid "" "channel binding is required, but server did not offer an authentication " -"method that supports channel binding\n" +"method that supports channel binding" msgstr "" -"채널 바인딩 기능을 사용하도록 지정했지만, 서버가 이 기능을 지원하지 않음\n" +"채널 바인딩 기능을 사용하도록 지정했지만, 서버가 이 기능을 지원하지 않음" -#: fe-auth.c:635 +#: fe-auth.c:641 #, c-format -msgid "out of memory allocating SASL buffer (%d)\n" -msgstr "SASL 버퍼(%d)에 할당할 메모리 부족\n" +msgid "out of memory allocating SASL buffer (%d)" +msgstr "SASL 버퍼(%d)에 할당할 메모리 부족" -#: fe-auth.c:660 +#: fe-auth.c:665 +#, c-format msgid "" "AuthenticationSASLFinal received from server, but SASL authentication was " -"not completed\n" +"not completed" msgstr "" -"서버에서 AuthenticationSASLFinal 응답을 받았지만, SASL 인증이 끝나지 않았음\n" +"서버에서 AuthenticationSASLFinal 응답을 받았지만, SASL 인증이 끝나지 않았음" -#: fe-auth.c:737 -msgid "SCM_CRED authentication method not supported\n" -msgstr "SCM_CRED 인증 방법이 지원되지 않음\n" +#: fe-auth.c:675 +#, c-format +msgid "no client response found after SASL exchange success" +msgstr "SASL 교환 성공 후 클라이언트 반응 없음" -#: fe-auth.c:836 -msgid "" -"channel binding required, but server authenticated client without channel " -"binding\n" -msgstr "" -"채널 바인딩이 필요한데, 서버가 체널 바인딩 없이 클라이언트를 인증함\n" +#: fe-auth.c:738 fe-auth.c:745 fe-auth.c:1358 fe-auth.c:1369 +#, c-format +msgid "could not encrypt password: %s" +msgstr "비밀번호를 암호화 할 수 없음: %s" -#: fe-auth.c:842 -msgid "" -"channel binding required but not supported by server's authentication " -"request\n" -msgstr "" -"채널 바인딩이 필요한데, 서버 인증 요청에서 지원하지 않음\n" +#: fe-auth.c:773 +msgid "server requested a cleartext password" +msgstr "서버가 평문 비밀번호를 요청했음" -#: fe-auth.c:875 -msgid "Kerberos 4 authentication not supported\n" -msgstr "Kerberos 4 인증 방법이 지원되지 않음\n" +#: fe-auth.c:775 +msgid "server requested a hashed password" +msgstr "서버가 해시된 비밀번호를 요청했음" -#: fe-auth.c:880 -msgid "Kerberos 5 authentication not supported\n" -msgstr "Kerberos 5 인증 방법이 지원되지 않음\n" +#: fe-auth.c:778 +msgid "server requested GSSAPI authentication" +msgstr "서버가 GSSAPI 인증을 요청했음" -#: fe-auth.c:951 -msgid "GSSAPI authentication not supported\n" -msgstr "GSSAPI 인증은 지원되지 않음\n" +#: fe-auth.c:780 +msgid "server requested SSPI authentication" +msgstr "서버가 SSPI 인증을 요청했음" -#: fe-auth.c:983 -msgid "SSPI authentication not supported\n" -msgstr "SSPI 인증은 지원되지 않음\n" +#: fe-auth.c:784 +msgid "server requested SASL authentication" +msgstr "서버가 SASL 인증을 요청했음" -#: fe-auth.c:991 -msgid "Crypt authentication not supported\n" -msgstr "암호화 인증은 지원되지 않음\n" +#: fe-auth.c:787 +msgid "server requested an unknown authentication type" +msgstr "서버가 알 수 없는 인증 형식을 요청했음" -#: fe-auth.c:1057 +#: fe-auth.c:820 #, c-format -msgid "authentication method %u not supported\n" -msgstr "%u 인증 방법이 지원되지 않음\n" +msgid "server did not request an SSL certificate" +msgstr "서버가 SSL 인증서를 요청하지 않았음" -#: fe-auth.c:1104 +#: fe-auth.c:825 #, c-format -msgid "user name lookup failure: error code %lu\n" -msgstr "사용자 이름 찾기 실패: 오류 코드 %lu\n" +msgid "server accepted connection without a valid SSL certificate" +msgstr "서버가 SSL 인증서 유효성 검사 없이 접속을 허용했음" -#: fe-auth.c:1114 fe-connect.c:2834 +#: fe-auth.c:879 +msgid "server did not complete authentication" +msgstr "서버가 인증 절차를 완료하지 못했음" + +#: fe-auth.c:913 #, c-format -msgid "could not look up local user ID %d: %s\n" -msgstr "UID %d 해당하는 사용자를 찾을 수 없음: %s\n" +msgid "authentication method requirement \"%s\" failed: %s" +msgstr "\"%s\" 인증 방법 요구 사항 실패: %s" + +#: fe-auth.c:936 +#, c-format +msgid "" +"channel binding required, but server authenticated client without channel " +"binding" +msgstr "채널 바인딩이 필요한데, 서버가 체널 바인딩 없이 클라이언트를 인증함" -#: fe-auth.c:1119 fe-connect.c:2839 +#: fe-auth.c:941 #, c-format -msgid "local user with ID %d does not exist\n" -msgstr "ID %d 로컬 사용자 없음\n" +msgid "" +"channel binding required but not supported by server's authentication request" +msgstr "채널 바인딩이 필요한데, 서버 인증 요청에서 지원하지 않음" -#: fe-auth.c:1221 -msgid "unexpected shape of result set returned for SHOW\n" -msgstr "SHOW 명령의 결과 자료가 비정상임\n" +#: fe-auth.c:975 +#, c-format +msgid "Kerberos 4 authentication not supported" +msgstr "Kerberos 4 인증 방법이 지원되지 않음" -#: fe-auth.c:1230 -msgid "password_encryption value too long\n" -msgstr "password_encryption 너무 긺\n" +#: fe-auth.c:979 +#, c-format +msgid "Kerberos 5 authentication not supported" +msgstr "Kerberos 5 인증 방법이 지원되지 않음" -#: fe-auth.c:1270 +#: fe-auth.c:1049 #, c-format -msgid "unrecognized password encryption algorithm \"%s\"\n" -msgstr "알 수 없는 비밀번호 암호화 알고리즘: \"%s\"\n" +msgid "GSSAPI authentication not supported" +msgstr "GSSAPI 인증은 지원되지 않음" -#: fe-connect.c:1075 +#: fe-auth.c:1080 #, c-format -msgid "could not match %d host names to %d hostaddr values\n" -msgstr "호스트 이름은 %d개인데, 호스트 주소는 %d개임\n" +msgid "SSPI authentication not supported" +msgstr "SSPI 인증은 지원되지 않음" -#: fe-connect.c:1156 +#: fe-auth.c:1087 #, c-format -msgid "could not match %d port numbers to %d hosts\n" -msgstr "포트 번호는 %d개인데, 호스트는 %d개입니다.\n" +msgid "Crypt authentication not supported" +msgstr "crypt 인증은 지원되지 않음" -#: fe-connect.c:1249 +#: fe-auth.c:1151 #, c-format -msgid "invalid channel_binding value: \"%s\"\n" -msgstr "잘못된 channel_binding 값: \"%s\"\n" +msgid "authentication method %u not supported" +msgstr "%u 인증 방법이 지원되지 않음" -#: fe-connect.c:1275 +#: fe-auth.c:1197 #, c-format -msgid "invalid sslmode value: \"%s\"\n" -msgstr "잘못된 sslmode 값: \"%s\"\n" +msgid "user name lookup failure: error code %lu" +msgstr "사용자 이름 찾기 실패: 오류 코드 %lu" -#: fe-connect.c:1296 +#: fe-auth.c:1321 #, c-format -msgid "sslmode value \"%s\" invalid when SSL support is not compiled in\n" -msgstr "" -"SSL 연결 기능을 지원하지 않고 컴파일 된 경우는 sslmode 값으로 \"%s\" 값은 타" -"당치 않습니다\n" +msgid "unexpected shape of result set returned for SHOW" +msgstr "SHOW 명령의 결과 자료가 비정상임" -#: fe-connect.c:1317 +#: fe-auth.c:1329 #, c-format -msgid "invalid ssl_min_protocol_version value: \"%s\"\n" -msgstr "잘못된 ssl_min_protocol_version 값: \"%s\"\n" +msgid "password_encryption value too long" +msgstr "password_encryption 너무 긺" -#: fe-connect.c:1325 +#: fe-auth.c:1379 #, c-format -msgid "invalid ssl_max_protocol_version value: \"%s\"\n" -msgstr "잘못된 ssl_max_protocol_version 값: \"%s\"\n" +msgid "unrecognized password encryption algorithm \"%s\"" +msgstr "알 수 없는 비밀번호 암호화 알고리즘: \"%s\"" -#: fe-connect.c:1342 -msgid "invalid SSL protocol version range\n" -msgstr "잘못된 SSL 프로토콜 버전 범위\n" +#: fe-connect.c:1132 +#, c-format +msgid "could not match %d host names to %d hostaddr values" +msgstr "호스트 이름은 %d개인데, 호스트 주소는 %d개임" -#: fe-connect.c:1357 +#: fe-connect.c:1212 #, c-format -msgid "invalid gssencmode value: \"%s\"\n" -msgstr "잘못된 gssencmode 값: \"%s\"\n" +msgid "could not match %d port numbers to %d hosts" +msgstr "포트 번호는 %d개인데, 호스트는 %d개입니다." -#: fe-connect.c:1366 +#: fe-connect.c:1337 #, c-format msgid "" -"gssencmode value \"%s\" invalid when GSSAPI support is not compiled in\n" +"negative require_auth method \"%s\" cannot be mixed with non-negative methods" msgstr "" -"GSSAPI 접속을 지원하지 않는 서버에서는 gssencmode 값(\"%s\")이 적당하지 않" -"음\n" +"\"%s\" negative require_auth 방법은 non-negative 방법과 함께 쓸 수 없음" -#: fe-connect.c:1401 +#: fe-connect.c:1350 #, c-format -msgid "invalid target_session_attrs value: \"%s\"\n" -msgstr "잘못된 target_session_attrs 값: \"%s\"\n" +msgid "require_auth method \"%s\" cannot be mixed with negative methods" +msgstr "\"%s\" require_auth 방법은 negative 방법과 함께 쓸 수 없음" -#: fe-connect.c:1619 +#: fe-connect.c:1410 fe-connect.c:1461 fe-connect.c:1503 fe-connect.c:1559 +#: fe-connect.c:1567 fe-connect.c:1598 fe-connect.c:1644 fe-connect.c:1684 +#: fe-connect.c:1705 #, c-format -msgid "could not set socket to TCP no delay mode: %s\n" -msgstr "소켓을 TCP에 no delay 모드로 지정할 수 없음: %s\n" +msgid "invalid %s value: \"%s\"" +msgstr "잘못된 %s 값: \"%s\"" -#: fe-connect.c:1680 +#: fe-connect.c:1443 #, c-format -msgid "" -"could not connect to server: %s\n" -"\tIs the server running locally and accepting\n" -"\tconnections on Unix domain socket \"%s\"?\n" +msgid "require_auth method \"%s\" is specified more than once" +msgstr "\"%s\" require_auth 방법을 한 번 이상 지정했음" + +#: fe-connect.c:1484 fe-connect.c:1523 fe-connect.c:1606 +#, c-format +msgid "%s value \"%s\" invalid when SSL support is not compiled in" msgstr "" -"서버에 연결할 수 없음: %s\n" -"\t로컬호스트에 서버가 가동 중인지,\n" -"\t\"%s\" 유닉스 도메인 소켓 접근이 가능한지 살펴보십시오.\n" +"SSL 연결 기능을 지원하지 않고 컴파일 된 경우는 %s 값으로 \"%s\" 값은 타당치 " +"않습니다." -#: fe-connect.c:1717 +#: fe-connect.c:1546 #, c-format msgid "" -"could not connect to server: %s\n" -"\tIs the server running on host \"%s\" (%s) and accepting\n" -"\tTCP/IP connections on port %s?\n" +"weak sslmode \"%s\" may not be used with sslrootcert=system (use \"verify-" +"full\")" +msgstr "" +"\"%s\" 엄격하지 않은 sslmode 설정일 때는 sslrootcert=system 설정을 할 수 없" +"음 (\"verify-full\" 설정을 사용하세요)" + +#: fe-connect.c:1584 +#, c-format +msgid "invalid SSL protocol version range" +msgstr "잘못된 SSL 프로토콜 버전 범위" + +#: fe-connect.c:1621 +#, c-format +msgid "%s value \"%s\" is not supported (check OpenSSL version)" +msgstr "%s 설정 \"%s\" 값은 지원하지 않음 (OpenSSL 버전을 확인하세요)" + +#: fe-connect.c:1651 +#, c-format +msgid "gssencmode value \"%s\" invalid when GSSAPI support is not compiled in" msgstr "" -"서버에 연결할 수 없음: %s\n" -"\t\"%s\" (%s) 호스트에 서버가 가동 중인지,\n" -"\t%s 포트로 TCP/IP 연결이 가능한지 살펴보십시오.\n" +"GSSAPI 접속을 지원하지 않는 서버에서는 gssencmode 값(\"%s\")이 적당하지 않음" + +#: fe-connect.c:1944 +#, c-format +msgid "could not set socket to TCP no delay mode: %s" +msgstr "소켓을 TCP에 no delay 모드로 지정할 수 없음: %s" + +#: fe-connect.c:2003 +#, c-format +msgid "connection to server on socket \"%s\" failed: " +msgstr "\"%s\" 소켓으로 서버 접속 할 수 없음: " + +#: fe-connect.c:2029 +#, c-format +msgid "connection to server at \"%s\" (%s), port %s failed: " +msgstr "\"%s\" (%s), %s 포트로 서버 접속 할 수 없음: " + +#: fe-connect.c:2034 +#, c-format +msgid "connection to server at \"%s\", port %s failed: " +msgstr "\"%s\" 포트 %s 서버에 접속 할 수 없음: " -#: fe-connect.c:1725 +#: fe-connect.c:2057 #, c-format msgid "" -"could not connect to server: %s\n" -"\tIs the server running on host \"%s\" and accepting\n" -"\tTCP/IP connections on port %s?\n" +"\tIs the server running locally and accepting connections on that socket?" +msgstr "" +"\t로컬 연결을 시도 중이고, 유닉스 도메인 소켓 접속을 허용하는지 확인하세요." + +#: fe-connect.c:2059 +#, c-format +msgid "\tIs the server running on that host and accepting TCP/IP connections?" msgstr "" -"서버에 연결할 수 없음: %s\n" -"\t\"%s\" 호스트에 서버가 가동 중인지,\n" -"\t%s 포트로 TCP/IP 연결이 가능한지 살펴보십시오.\n" +"\t해당 호스트에 서버가 실행 중이고, TCP/IP 접속을 허용하는지 확인하세요." -#: fe-connect.c:1795 +#: fe-connect.c:2122 #, c-format -msgid "invalid integer value \"%s\" for connection option \"%s\"\n" -msgstr "잘못된 정수값: \"%s\", 해당 연결 옵션: \"%s\"\n" +msgid "invalid integer value \"%s\" for connection option \"%s\"" +msgstr "잘못된 정수값: \"%s\", 해당 연결 옵션: \"%s\"" -#: fe-connect.c:1825 fe-connect.c:1859 fe-connect.c:1894 fe-connect.c:1981 -#: fe-connect.c:2623 +#: fe-connect.c:2151 fe-connect.c:2185 fe-connect.c:2220 fe-connect.c:2318 +#: fe-connect.c:2973 #, c-format -msgid "setsockopt(%s) failed: %s\n" -msgstr "setsockopt(%s) 실패: %s\n" +msgid "%s(%s) failed: %s" +msgstr "%s(%s) 실패: %s" -#: fe-connect.c:1947 +#: fe-connect.c:2284 #, c-format -msgid "WSAIoctl(SIO_KEEPALIVE_VALS) failed: %ui\n" -msgstr "WSAIoctl(SIO_KEEPALIVE_VALS) 실패: %ui\n" +msgid "%s(%s) failed: error code %d" +msgstr "%s(%s) 실패: 오류 코드 %d" -#: fe-connect.c:2313 -msgid "invalid connection state, probably indicative of memory corruption\n" -msgstr "잘못된 연결 상태, 메모리 손상일 가능성이 큼\n" +#: fe-connect.c:2597 +#, c-format +msgid "invalid connection state, probably indicative of memory corruption" +msgstr "잘못된 연결 상태, 메모리 손상일 가능성이 큼" -#: fe-connect.c:2379 +#: fe-connect.c:2676 #, c-format -msgid "invalid port number: \"%s\"\n" -msgstr "잘못된 포트 번호: \"%s\"\n" +msgid "invalid port number: \"%s\"" +msgstr "잘못된 포트 번호: \"%s\"" -#: fe-connect.c:2395 +#: fe-connect.c:2690 #, c-format -msgid "could not translate host name \"%s\" to address: %s\n" -msgstr "\"%s\" 호스트 이름을 전송할 수 없습니다: 대상 주소: %s\n" +msgid "could not translate host name \"%s\" to address: %s" +msgstr "\"%s\" 호스트 이름 IP 주소로 바꿀 수 없음: %s" -#: fe-connect.c:2408 +#: fe-connect.c:2702 #, c-format -msgid "could not parse network address \"%s\": %s\n" -msgstr "\"%s\" 네트워크 주소를 해석할 수 없음: %s\n" +msgid "could not parse network address \"%s\": %s" +msgstr "\"%s\" 네트워크 주소를 해석할 수 없음: %s" -#: fe-connect.c:2421 +#: fe-connect.c:2713 #, c-format -msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)\n" -msgstr "\"%s\" 유닉스 도메인 소켓 경로가 너무 깁니다 (최대 %d 바이트)\n" +msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)" +msgstr "\"%s\" 유닉스 도메인 소켓 경로가 너무 깁니다 (최대 %d 바이트)" -#: fe-connect.c:2436 +#: fe-connect.c:2727 #, c-format -msgid "could not translate Unix-domain socket path \"%s\" to address: %s\n" -msgstr "\"%s\" 유닉스 도메인 소켓 경로를 전송할 수 없습니다: 대상 주소: %s\n" +msgid "could not translate Unix-domain socket path \"%s\" to address: %s" +msgstr "\"%s\" 유닉스 도메인 소켓 경로를 주소로 바꿀 수 없음: %s" -#: fe-connect.c:2560 +#: fe-connect.c:2901 #, c-format -msgid "could not create socket: %s\n" -msgstr "소켓을 만들 수 없음: %s\n" +msgid "could not create socket: %s" +msgstr "소켓을 만들 수 없음: %s" -#: fe-connect.c:2582 +#: fe-connect.c:2932 #, c-format -msgid "could not set socket to nonblocking mode: %s\n" -msgstr "소켓을 nonblocking 모드로 지정할 수 없음: %s\n" +msgid "could not set socket to nonblocking mode: %s" +msgstr "소켓을 nonblocking 모드로 지정할 수 없음: %s" -#: fe-connect.c:2592 +#: fe-connect.c:2943 #, c-format -msgid "could not set socket to close-on-exec mode: %s\n" -msgstr "소켓을 close-on-exec 모드로 지정할 수 없음: %s\n" +msgid "could not set socket to close-on-exec mode: %s" +msgstr "소켓을 close-on-exec 모드로 지정할 수 없음: %s" -#: fe-connect.c:2610 -msgid "keepalives parameter must be an integer\n" -msgstr "keepalives 매개변수값은 정수여야 합니다.\n" +#: fe-connect.c:2961 +#, c-format +msgid "keepalives parameter must be an integer" +msgstr "keepalives 매개변수값은 정수여야 합니다." -#: fe-connect.c:2750 +#: fe-connect.c:3100 #, c-format -msgid "could not get socket error status: %s\n" -msgstr "소켓 오류 상태를 구할 수 없음: %s\n" +msgid "could not get socket error status: %s" +msgstr "소켓 오류 상태를 구할 수 없음: %s" -#: fe-connect.c:2778 +#: fe-connect.c:3127 #, c-format -msgid "could not get client address from socket: %s\n" -msgstr "소켓에서 클라이언트 주소를 구할 수 없음: %s\n" +msgid "could not get client address from socket: %s" +msgstr "소켓에서 클라이언트 주소를 구할 수 없음: %s" -#: fe-connect.c:2820 -msgid "requirepeer parameter is not supported on this platform\n" -msgstr "requirepeer 매개변수는 이 운영체제에서 지원하지 않음\n" +#: fe-connect.c:3165 +#, c-format +msgid "requirepeer parameter is not supported on this platform" +msgstr "requirepeer 매개변수는 이 운영체제에서 지원하지 않음" -#: fe-connect.c:2823 +#: fe-connect.c:3167 #, c-format -msgid "could not get peer credentials: %s\n" -msgstr "신뢰성 피어를 얻을 수 없습니다: %s\n" +msgid "could not get peer credentials: %s" +msgstr "신뢰성 피어를 얻을 수 없습니다: %s" -#: fe-connect.c:2847 +#: fe-connect.c:3180 #, c-format -msgid "requirepeer specifies \"%s\", but actual peer user name is \"%s\"\n" +msgid "requirepeer specifies \"%s\", but actual peer user name is \"%s\"" msgstr "" -"\"%s\" 이름으로 requirepeer를 지정했지만, 실재 사용자 이름은 \"%s\" 입니다\n" +"\"%s\" 이름으로 requirepeer를 지정했지만, 실재 사용자 이름은 \"%s\" 입니다." -#: fe-connect.c:2887 +#: fe-connect.c:3221 #, c-format -msgid "could not send GSSAPI negotiation packet: %s\n" -msgstr "GSSAPI 교섭 패킷을 보낼 수 없음: %s\n" +msgid "could not send GSSAPI negotiation packet: %s" +msgstr "GSSAPI 교섭 패킷을 보낼 수 없음: %s" -#: fe-connect.c:2899 +#: fe-connect.c:3233 +#, c-format msgid "" "GSSAPI encryption required but was impossible (possibly no credential cache, " -"no server support, or using a local socket)\n" +"no server support, or using a local socket)" msgstr "" "GSSAPI 암호화가 필요하지만 사용할 수 없음 (자격 증명 캐시가 없거나, 서버가 지" -"원하지 않거나, 로컬 소켓을 사용하고 있는 듯합니다.)\n" +"원하지 않거나, 로컬 소켓을 사용하고 있는 듯합니다.)" -#: fe-connect.c:2926 +#: fe-connect.c:3274 #, c-format -msgid "could not send SSL negotiation packet: %s\n" -msgstr "SSL 교섭 패킷을 보낼 수 없음: %s\n" +msgid "could not send SSL negotiation packet: %s" +msgstr "SSL 교섭 패킷을 보낼 수 없음: %s" -#: fe-connect.c:2965 +#: fe-connect.c:3303 #, c-format -msgid "could not send startup packet: %s\n" -msgstr "시작 패킷을 보낼 수 없음: %s\n" +msgid "could not send startup packet: %s" +msgstr "시작 패킷을 보낼 수 없음: %s" -#: fe-connect.c:3035 -msgid "server does not support SSL, but SSL was required\n" -msgstr "서버가 SSL 기능을 지원하지 않는데, SSL 기능을 요구했음\n" +#: fe-connect.c:3378 +#, c-format +msgid "server does not support SSL, but SSL was required" +msgstr "서버가 SSL 기능을 지원하지 않는데, SSL 기능을 요구했음" -#: fe-connect.c:3061 +#: fe-connect.c:3404 #, c-format -msgid "received invalid response to SSL negotiation: %c\n" -msgstr "SSL 교섭에 대한 잘못된 응답을 감지했음: %c\n" +msgid "received invalid response to SSL negotiation: %c" +msgstr "SSL 교섭에 대한 잘못된 응답을 감지했음: %c" -#: fe-connect.c:3151 -msgid "server doesn't support GSSAPI encryption, but it was required\n" -msgstr "서버가 GSSAPI 암호화 기능을 지원하지 않는데, 이것이 필요함\n" +#: fe-connect.c:3424 +#, c-format +msgid "received unencrypted data after SSL response" +msgstr "SSL 응답 후에 비암호화 데이터를 받았음" -#: fe-connect.c:3162 +#: fe-connect.c:3504 #, c-format -msgid "received invalid response to GSSAPI negotiation: %c\n" -msgstr "GSSAPI 교섭에 대한 잘못된 응답을 감지했음: %c\n" +msgid "server doesn't support GSSAPI encryption, but it was required" +msgstr "서버가 GSSAPI 암호화 기능을 지원하지 않는데, 이것이 필요함" -#: fe-connect.c:3229 fe-connect.c:3260 +#: fe-connect.c:3515 #, c-format -msgid "expected authentication request from server, but received %c\n" -msgstr "서버가 인증을 요구했지만, %c 받았음\n" +msgid "received invalid response to GSSAPI negotiation: %c" +msgstr "GSSAPI 교섭에 대한 잘못된 응답을 감지했음: %c" -#: fe-connect.c:3502 -msgid "unexpected message from server during startup\n" -msgstr "시작하는 동안 서버로부터 기대되지 않는 메시지\n" +#: fe-connect.c:3533 +#, c-format +msgid "received unencrypted data after GSSAPI encryption response" +msgstr "GSSAPI 암호화 응답 후 비암호화 데이터 받았음" -#: fe-connect.c:3707 +#: fe-connect.c:3598 #, c-format -msgid "could not make a writable connection to server \"%s:%s\"\n" -msgstr "\"%s:%s\" 서버에 쓰기 가능한 연결을 맺을 수 없음\n" +msgid "expected authentication request from server, but received %c" +msgstr "서버가 인증을 요구했지만, %c 받았음" -#: fe-connect.c:3753 +#: fe-connect.c:3625 fe-connect.c:3794 #, c-format -msgid "test \"SHOW transaction_read_only\" failed on server \"%s:%s\"\n" -msgstr "\"%s:%s\" 서버에서 \"SHOW transaction_read_only\" 검사가 실패함\n" +msgid "received invalid authentication request" +msgstr "잘못된 인증 요청을 받았음" -#: fe-connect.c:3768 +#: fe-connect.c:3630 fe-connect.c:3779 #, c-format -msgid "invalid connection state %d, probably indicative of memory corruption\n" -msgstr "잘못된 연결 상태 %d, 메모리 손상일 가능성이 큼\n" +msgid "received invalid protocol negotiation message" +msgstr "잘못된 프로토콜 교섭 메시지를 받았음" -#: fe-connect.c:4204 fe-connect.c:4264 +#: fe-connect.c:3648 fe-connect.c:3702 #, c-format -msgid "PGEventProc \"%s\" failed during PGEVT_CONNRESET event\n" -msgstr "PGEVT_CONNRESET 이벤트 동안 PGEventProc \"%s\"이(가) 실패함\n" +msgid "received invalid error message" +msgstr "잘못된 오류 메시지를 받았음" -#: fe-connect.c:4611 +#: fe-connect.c:3865 #, c-format -msgid "invalid LDAP URL \"%s\": scheme must be ldap://\n" -msgstr "잘못된 LDAP URL \"%s\": 스키마는 ldap:// 여야함\n" +msgid "unexpected message from server during startup" +msgstr "시작하는 동안 서버로부터 기대되지 않는 메시지" -#: fe-connect.c:4626 +#: fe-connect.c:3956 #, c-format -msgid "invalid LDAP URL \"%s\": missing distinguished name\n" -msgstr "잘못된 LDAP URL \"%s\": 식별자 이름이 빠졌음\n" +msgid "session is read-only" +msgstr "세션이 읽기 전용임" -#: fe-connect.c:4638 fe-connect.c:4693 +#: fe-connect.c:3958 #, c-format -msgid "invalid LDAP URL \"%s\": must have exactly one attribute\n" -msgstr "잘못된 LDAP URL \"%s\": 단 하나의 속성만 가져야함\n" +msgid "session is not read-only" +msgstr "세션이 읽기 전용이 아님" -#: fe-connect.c:4649 fe-connect.c:4708 +#: fe-connect.c:4011 #, c-format -msgid "invalid LDAP URL \"%s\": must have search scope (base/one/sub)\n" -msgstr "잘못된 LDAP URL \"%s\": 검색범위(base/one/sub)를 지정해야함\n" +msgid "server is in hot standby mode" +msgstr "서버가 hot standby 모드 상태임" -#: fe-connect.c:4660 +#: fe-connect.c:4013 #, c-format -msgid "invalid LDAP URL \"%s\": no filter\n" -msgstr "잘못된 LDAP URL \"%s\": 필터 없음\n" +msgid "server is not in hot standby mode" +msgstr "서버가 hot standby 모드 상태가 아님" -#: fe-connect.c:4681 +#: fe-connect.c:4129 fe-connect.c:4179 #, c-format -msgid "invalid LDAP URL \"%s\": invalid port number\n" -msgstr "잘못된 LDAP URL \"%s\": 포트번호가 잘못됨\n" +msgid "\"%s\" failed" +msgstr "\"%s\" 실패" -#: fe-connect.c:4717 -msgid "could not create LDAP structure\n" -msgstr "LDAP 구조를 만들 수 없음\n" +#: fe-connect.c:4193 +#, c-format +msgid "invalid connection state %d, probably indicative of memory corruption" +msgstr "잘못된 연결 상태 %d, 메모리 손상일 가능성이 큼" -#: fe-connect.c:4793 +#: fe-connect.c:5174 #, c-format -msgid "lookup on LDAP server failed: %s\n" -msgstr "LDAP 서버를 찾을 수 없음: %s\n" +msgid "invalid LDAP URL \"%s\": scheme must be ldap://" +msgstr "잘못된 LDAP URL \"%s\": 스키마는 ldap:// 여야함" -#: fe-connect.c:4804 -msgid "more than one entry found on LDAP lookup\n" -msgstr "LDAP 검색에서 하나 이상의 엔트리가 발견되었음\n" +#: fe-connect.c:5189 +#, c-format +msgid "invalid LDAP URL \"%s\": missing distinguished name" +msgstr "잘못된 LDAP URL \"%s\": 식별자 이름이 빠졌음" -#: fe-connect.c:4805 fe-connect.c:4817 -msgid "no entry found on LDAP lookup\n" -msgstr "LDAP 검색에서 해당 항목 없음\n" +#: fe-connect.c:5201 fe-connect.c:5259 +#, c-format +msgid "invalid LDAP URL \"%s\": must have exactly one attribute" +msgstr "잘못된 LDAP URL \"%s\": 단 하나의 속성만 가져야함" -#: fe-connect.c:4828 fe-connect.c:4841 -msgid "attribute has no values on LDAP lookup\n" -msgstr "LDAP 검색에서 속성의 값이 없음\n" +#: fe-connect.c:5213 fe-connect.c:5275 +#, c-format +msgid "invalid LDAP URL \"%s\": must have search scope (base/one/sub)" +msgstr "잘못된 LDAP URL \"%s\": 검색범위(base/one/sub)를 지정해야함" -#: fe-connect.c:4893 fe-connect.c:4912 fe-connect.c:5444 +#: fe-connect.c:5225 #, c-format -msgid "missing \"=\" after \"%s\" in connection info string\n" -msgstr "연결문자열에서 \"%s\" 다음에 \"=\" 문자 빠졌음\n" +msgid "invalid LDAP URL \"%s\": no filter" +msgstr "잘못된 LDAP URL \"%s\": 필터 없음" -#: fe-connect.c:4985 fe-connect.c:5629 fe-connect.c:6403 +#: fe-connect.c:5247 #, c-format -msgid "invalid connection option \"%s\"\n" -msgstr "잘못된 연결 옵션 \"%s\"\n" +msgid "invalid LDAP URL \"%s\": invalid port number" +msgstr "잘못된 LDAP URL \"%s\": 포트번호가 잘못됨" -#: fe-connect.c:5001 fe-connect.c:5493 -msgid "unterminated quoted string in connection info string\n" -msgstr "연결문자열에서 완성되지 못한 따옴표문자열이 있음\n" +#: fe-connect.c:5284 +#, c-format +msgid "could not create LDAP structure" +msgstr "LDAP 구조를 만들 수 없음" + +#: fe-connect.c:5359 +#, c-format +msgid "lookup on LDAP server failed: %s" +msgstr "LDAP 서버를 찾을 수 없음: %s" + +#: fe-connect.c:5369 +#, c-format +msgid "more than one entry found on LDAP lookup" +msgstr "LDAP 검색에서 하나 이상의 엔트리가 발견되었음" + +#: fe-connect.c:5371 fe-connect.c:5382 +#, c-format +msgid "no entry found on LDAP lookup" +msgstr "LDAP 검색에서 해당 항목 없음" + +#: fe-connect.c:5392 fe-connect.c:5404 +#, c-format +msgid "attribute has no values on LDAP lookup" +msgstr "LDAP 검색에서 속성의 값이 없음" + +#: fe-connect.c:5455 fe-connect.c:5474 fe-connect.c:5998 +#, c-format +msgid "missing \"=\" after \"%s\" in connection info string" +msgstr "연결문자열에서 \"%s\" 다음에 \"=\" 문자 빠졌음" + +#: fe-connect.c:5545 fe-connect.c:6181 fe-connect.c:6979 +#, c-format +msgid "invalid connection option \"%s\"" +msgstr "잘못된 연결 옵션 \"%s\"" + +#: fe-connect.c:5560 fe-connect.c:6046 +#, c-format +msgid "unterminated quoted string in connection info string" +msgstr "연결문자열에서 완성되지 못한 따옴표문자열이 있음" -#: fe-connect.c:5084 +#: fe-connect.c:5640 #, c-format -msgid "definition of service \"%s\" not found\n" -msgstr "\"%s\" 서비스 정의를 찾을 수 없음\n" +msgid "definition of service \"%s\" not found" +msgstr "\"%s\" 서비스 정의를 찾을 수 없음" -#: fe-connect.c:5107 +#: fe-connect.c:5666 #, c-format -msgid "service file \"%s\" not found\n" -msgstr "\"%s\" 서비스 파일을 찾을 수 없음\n" +msgid "service file \"%s\" not found" +msgstr "\"%s\" 서비스 파일을 찾을 수 없음" -#: fe-connect.c:5122 +#: fe-connect.c:5679 #, c-format -msgid "line %d too long in service file \"%s\"\n" -msgstr "%d번째 줄이 \"%s\" 서비스 파일에서 너무 깁니다\n" +msgid "line %d too long in service file \"%s\"" +msgstr "%d번째 줄이 \"%s\" 서비스 파일에서 너무 깁니다" -#: fe-connect.c:5194 fe-connect.c:5238 +#: fe-connect.c:5750 fe-connect.c:5793 #, c-format -msgid "syntax error in service file \"%s\", line %d\n" -msgstr "\"%s\" 서비스 파일의 %d번째 줄에 구문 오류 있음\n" +msgid "syntax error in service file \"%s\", line %d" +msgstr "\"%s\" 서비스 파일의 %d번째 줄에 구문 오류 있음" -#: fe-connect.c:5205 +#: fe-connect.c:5761 #, c-format msgid "" -"nested service specifications not supported in service file \"%s\", line %d\n" -msgstr "\"%s\" 서비스 파일의 %d번째 줄에 설정을 지원하지 않음\n" +"nested service specifications not supported in service file \"%s\", line %d" +msgstr "\"%s\" 서비스 파일의 %d번째 줄에 설정을 지원하지 않음" -#: fe-connect.c:5925 +#: fe-connect.c:6500 #, c-format -msgid "invalid URI propagated to internal parser routine: \"%s\"\n" -msgstr "URI 구문 분석을 할 수 없음: \"%s\"\n" +msgid "invalid URI propagated to internal parser routine: \"%s\"" +msgstr "URI 구문 분석을 할 수 없음: \"%s\"" -#: fe-connect.c:6002 +#: fe-connect.c:6577 #, c-format msgid "" "end of string reached when looking for matching \"]\" in IPv6 host address " -"in URI: \"%s\"\n" +"in URI: \"%s\"" msgstr "" -"URI의 IPv6 호스트 주소에서 \"]\" 매칭 검색을 실패했습니다, 해당 URI: \"%s\"\n" +"URI의 IPv6 호스트 주소에서 \"]\" 매칭 검색을 실패했습니다, 해당 URI: \"%s\"" -#: fe-connect.c:6009 +#: fe-connect.c:6584 #, c-format -msgid "IPv6 host address may not be empty in URI: \"%s\"\n" -msgstr "IPv6 호스트 주소가 없습니다, 해당 URI: \"%s\"\n" +msgid "IPv6 host address may not be empty in URI: \"%s\"" +msgstr "IPv6 호스트 주소가 없습니다, 해당 URI: \"%s\"" -#: fe-connect.c:6024 +#: fe-connect.c:6599 #, c-format msgid "" "unexpected character \"%c\" at position %d in URI (expected \":\" or \"/\"): " -"\"%s\"\n" +"\"%s\"" msgstr "" "잘못된 \"%c\" 문자가 URI 문자열 가운데 %d 번째 있습니다(\":\" 또는 \"/\" 문자" -"가 있어야 함): \"%s\"\n" +"가 있어야 함): \"%s\"" -#: fe-connect.c:6153 +#: fe-connect.c:6728 #, c-format -msgid "extra key/value separator \"=\" in URI query parameter: \"%s\"\n" -msgstr "키/밸류 구분자 \"=\" 문자가 필요함, 해당 URI 쿼리 매개변수: \"%s\"\n" +msgid "extra key/value separator \"=\" in URI query parameter: \"%s\"" +msgstr "" +"키/밸류 구분자 \"=\" 문자가 필요 이상 더 있음, 해당 URI 쿼리 매개변수: \"%s\"" -#: fe-connect.c:6173 +#: fe-connect.c:6748 #, c-format -msgid "missing key/value separator \"=\" in URI query parameter: \"%s\"\n" -msgstr "키/밸류 구분자 \"=\" 문자가 필요함, 해당 URI 쿼리 매개변수: \"%s\"\n" +msgid "missing key/value separator \"=\" in URI query parameter: \"%s\"" +msgstr "키/밸류 구분자 \"=\" 문자가 필요함, 해당 URI 쿼리 매개변수: \"%s\"" -#: fe-connect.c:6224 +#: fe-connect.c:6800 #, c-format -msgid "invalid URI query parameter: \"%s\"\n" -msgstr "잘못된 URL 쿼리 매개변수값: \"%s\"\n" +msgid "invalid URI query parameter: \"%s\"" +msgstr "잘못된 URL 쿼리 매개변수값: \"%s\"" -#: fe-connect.c:6298 +#: fe-connect.c:6874 #, c-format -msgid "invalid percent-encoded token: \"%s\"\n" -msgstr "잘못된 퍼센트 인코드 토큰: \"%s\"\n" +msgid "invalid percent-encoded token: \"%s\"" +msgstr "잘못된 퍼센트 인코드 토큰: \"%s\"" -#: fe-connect.c:6308 +#: fe-connect.c:6884 #, c-format -msgid "forbidden value %%00 in percent-encoded value: \"%s\"\n" -msgstr "퍼센트 인코드 값에 %%00 숨김 값이 있음: \"%s\"\n" +msgid "forbidden value %%00 in percent-encoded value: \"%s\"" +msgstr "퍼센트 인코드 값에 %%00 숨김 값이 있음: \"%s\"" -#: fe-connect.c:6671 +#: fe-connect.c:7248 msgid "connection pointer is NULL\n" msgstr "연결 포인터가 NULL\n" -#: fe-connect.c:6967 +#: fe-connect.c:7256 fe-exec.c:710 fe-exec.c:970 fe-exec.c:3292 +#: fe-protocol3.c:974 fe-protocol3.c:1007 +msgid "out of memory\n" +msgstr "메모리 부족\n" + +#: fe-connect.c:7547 #, c-format msgid "WARNING: password file \"%s\" is not a plain file\n" msgstr "경고: \"%s\" 패스워드 파일이 plain 파일이 아님\n" -#: fe-connect.c:6976 +#: fe-connect.c:7556 #, c-format msgid "" "WARNING: password file \"%s\" has group or world access; permissions should " @@ -663,279 +813,264 @@ msgstr "" "경고: 패스워드 파일 \"%s\"에 그룹 또는 범용 액세스 권한이 있습니다. 권한은 " "u=rw(0600) 이하여야 합니다.\n" -#: fe-connect.c:7084 +#: fe-connect.c:7663 #, c-format -msgid "password retrieved from file \"%s\"\n" -msgstr "\"%s\" 파일에서 암호를 찾을 수 없음\n" +msgid "password retrieved from file \"%s\"" +msgstr "\"%s\" 파일에서 암호를 찾을 수 없음" -#: fe-exec.c:444 fe-exec.c:2821 +#: fe-exec.c:466 fe-exec.c:3366 #, c-format msgid "row number %d is out of range 0..%d" msgstr "%d 번째 행(row)은 0..%d 범위를 벗어났음" -#: fe-exec.c:505 fe-protocol2.c:497 fe-protocol2.c:532 fe-protocol2.c:1050 -#: fe-protocol3.c:206 fe-protocol3.c:233 fe-protocol3.c:250 fe-protocol3.c:330 -#: fe-protocol3.c:723 fe-protocol3.c:954 -msgid "out of memory" -msgstr "메모리 부족" - -#: fe-exec.c:506 fe-protocol2.c:1396 fe-protocol3.c:1907 +#: fe-exec.c:528 fe-protocol3.c:1976 #, c-format msgid "%s" msgstr "%s" -#: fe-exec.c:815 -msgid "write to server failed\n" -msgstr "서버에 쓰기 실패\n" +#: fe-exec.c:831 +#, c-format +msgid "write to server failed" +msgstr "서버에 쓰기 실패" + +#: fe-exec.c:869 +#, c-format +msgid "no error text available" +msgstr "보여줄 오류 메시지가 없음" -#: fe-exec.c:896 +#: fe-exec.c:958 msgid "NOTICE" msgstr "알림" -#: fe-exec.c:954 +#: fe-exec.c:1016 msgid "PGresult cannot support more than INT_MAX tuples" msgstr "PGresult 함수는 INT_MAX 튜플보다 많은 경우를 지원하지 않음" -#: fe-exec.c:966 +#: fe-exec.c:1028 msgid "size_t overflow" msgstr "size_t 초과" -#: fe-exec.c:1243 fe-exec.c:1301 fe-exec.c:1347 -msgid "command string is a null pointer\n" -msgstr "명령 문자열이 null 포인터\n" +#: fe-exec.c:1444 fe-exec.c:1513 fe-exec.c:1559 +#, c-format +msgid "command string is a null pointer" +msgstr "명령 문자열이 null 포인터" -#: fe-exec.c:1307 fe-exec.c:1353 fe-exec.c:1448 -msgid "number of parameters must be between 0 and 65535\n" -msgstr "매개변수값으로 숫자는 0에서 65535까지만 쓸 수 있음\n" +#: fe-exec.c:1450 fe-exec.c:2888 +#, c-format +msgid "%s not allowed in pipeline mode" +msgstr "파이프라인 모드에서는 %s 사용할 수 없음" -#: fe-exec.c:1341 fe-exec.c:1442 -msgid "statement name is a null pointer\n" -msgstr "실행 구문 이름이 null 포인트(값이 없음)입니다\n" +#: fe-exec.c:1518 fe-exec.c:1564 fe-exec.c:1658 +#, c-format +msgid "number of parameters must be between 0 and %d" +msgstr "매개변수값으로 숫자는 0에서 %d까지만 쓸 수 있음" -#: fe-exec.c:1361 fe-exec.c:1524 fe-exec.c:2233 fe-exec.c:2435 -msgid "function requires at least protocol version 3.0\n" -msgstr "함수는 적어도 버전 3의 프로토콜을 요구하고 있습니다\n" +#: fe-exec.c:1554 fe-exec.c:1653 +#, c-format +msgid "statement name is a null pointer" +msgstr "실행 구문 이름이 null 포인트(값이 없음)입니다" -#: fe-exec.c:1479 -msgid "no connection to the server\n" -msgstr "서버에 대한 연결이 없음\n" +#: fe-exec.c:1695 fe-exec.c:3220 +#, c-format +msgid "no connection to the server" +msgstr "서버에 대한 연결이 없음" + +#: fe-exec.c:1703 fe-exec.c:3228 +#, c-format +msgid "another command is already in progress" +msgstr "처리 중에 이미 다른 명령이 존재함" -#: fe-exec.c:1486 -msgid "another command is already in progress\n" -msgstr "처리 중에 이미 다른 명령이 존재함\n" +#: fe-exec.c:1733 +#, c-format +msgid "cannot queue commands during COPY" +msgstr "COPY 작업 중 명령들을 큐에 담을 수 없음" -#: fe-exec.c:1600 -msgid "length must be given for binary parameter\n" -msgstr "바이너리 자료 매개 변수를 사용할 때는 그 길이를 지정해야 함\n" +#: fe-exec.c:1850 +#, c-format +msgid "length must be given for binary parameter" +msgstr "바이너리 자료 매개 변수를 사용할 때는 그 길이를 지정해야 함" -#: fe-exec.c:1863 +#: fe-exec.c:2171 #, c-format -msgid "unexpected asyncStatus: %d\n" -msgstr "기대되지 않은 동기화상태: %d\n" +msgid "unexpected asyncStatus: %d" +msgstr "기대되지 않은 asyncStatus: %d" -#: fe-exec.c:1883 +#: fe-exec.c:2327 #, c-format -msgid "PGEventProc \"%s\" failed during PGEVT_RESULTCREATE event\n" -msgstr "PGEVT_RESULTCREATE 이벤트 동안 PGEventProc \"%s\" 실패함\n" +msgid "" +"synchronous command execution functions are not allowed in pipeline mode" +msgstr "파이프라인 모드에서는 동기식 명령 실행 함수는 사용할 수 없음" -#: fe-exec.c:2043 +#: fe-exec.c:2344 msgid "COPY terminated by new PQexec" msgstr "새 PQexec 호출로 COPY 작업이 중지 되었습니다" -#: fe-exec.c:2051 -msgid "COPY IN state must be terminated first\n" -msgstr "COPY IN 상태가 먼저 끝나야함\n" +#: fe-exec.c:2360 +#, c-format +msgid "PQexec not allowed during COPY BOTH" +msgstr "COPY BOTH 작업 중에는 PQexec 사용할 수 없음" -#: fe-exec.c:2071 -msgid "COPY OUT state must be terminated first\n" -msgstr "COPY OUT 상태가 먼저 끝나야함\n" +#: fe-exec.c:2586 fe-exec.c:2641 fe-exec.c:2709 fe-protocol3.c:1907 +#, c-format +msgid "no COPY in progress" +msgstr "처리 가운데 COPY가 없음" -#: fe-exec.c:2079 -msgid "PQexec not allowed during COPY BOTH\n" -msgstr "COPY BOTH 작업 중에는 PQexec 사용할 수 없음\n" +#: fe-exec.c:2895 +#, c-format +msgid "connection in wrong state" +msgstr "잘못된 상태의 연결" + +#: fe-exec.c:2938 +#, c-format +msgid "cannot enter pipeline mode, connection not idle" +msgstr "파이프라인 모드로 바꿀 수 없음, 연결이 idle 상태가 아님" + +#: fe-exec.c:2974 fe-exec.c:2995 +#, c-format +msgid "cannot exit pipeline mode with uncollected results" +msgstr "수집할 수 없는 결과로 파이프라인 모드를 종료할 수 없음" + +#: fe-exec.c:2978 +#, c-format +msgid "cannot exit pipeline mode while busy" +msgstr "바빠서 파이프라인 모드를 종료할 수 없음" -#: fe-exec.c:2325 fe-exec.c:2392 fe-exec.c:2482 fe-protocol2.c:1353 -#: fe-protocol3.c:1838 -msgid "no COPY in progress\n" -msgstr "처리 가운데 COPY가 없음\n" +#: fe-exec.c:2989 +#, c-format +msgid "cannot exit pipeline mode while in COPY" +msgstr "COPY 하고 있어 파이프라인 모드를 종료할 수 없음" -#: fe-exec.c:2672 -msgid "connection in wrong state\n" -msgstr "잘못된 상태의 연결\n" +#: fe-exec.c:3154 +#, c-format +msgid "cannot send pipeline when not in pipeline mode" +msgstr "파이프라인 모드 상태가 아닐 때는 파이프라인을 보낼 수 없음" -#: fe-exec.c:2703 +#: fe-exec.c:3255 msgid "invalid ExecStatusType code" msgstr "잘못된 ExecStatusType 코드" -#: fe-exec.c:2730 +#: fe-exec.c:3282 msgid "PGresult is not an error result\n" msgstr "PGresult가 오류 결과가 아님\n" -#: fe-exec.c:2805 fe-exec.c:2828 +#: fe-exec.c:3350 fe-exec.c:3373 #, c-format msgid "column number %d is out of range 0..%d" msgstr "%d 번째 열은 0..%d 범위를 벗어났음" -#: fe-exec.c:2843 +#: fe-exec.c:3388 #, c-format msgid "parameter number %d is out of range 0..%d" msgstr "%d개의 매개 변수는 0..%d 범위를 벗어났음" -#: fe-exec.c:3153 +#: fe-exec.c:3699 #, c-format msgid "could not interpret result from server: %s" msgstr "서버로부터 결과처리를 중지 시킬 수 없음: %s" -#: fe-exec.c:3392 fe-exec.c:3476 -msgid "incomplete multibyte character\n" -msgstr "완성되지 않은 멀티바이트 문자\n" +#: fe-exec.c:3964 fe-exec.c:4054 +#, c-format +msgid "incomplete multibyte character" +msgstr "완성되지 않은 멀티바이트 문자" -#: fe-gssapi-common.c:124 +#: fe-gssapi-common.c:122 msgid "GSSAPI name import error" msgstr "GSSAPI 이름 가져오기 오류" -#: fe-lobj.c:154 -msgid "cannot determine OID of function lo_truncate\n" -msgstr "lo_truncate 함수의 OID를 결정할 수 없음\n" - -#: fe-lobj.c:170 -msgid "argument of lo_truncate exceeds integer range\n" -msgstr "lo_truncate 함수의 인자값이 정수 범위가 아님\n" - -#: fe-lobj.c:221 -msgid "cannot determine OID of function lo_truncate64\n" -msgstr "lo_truncate64 함수의 OID를 알 수 없음\n" - -#: fe-lobj.c:279 -msgid "argument of lo_read exceeds integer range\n" -msgstr "lo_read 함수의 인자값이 정수 범위가 아님\n" - -#: fe-lobj.c:334 -msgid "argument of lo_write exceeds integer range\n" -msgstr "lo_write 함수의 인자값이 정수 범위가 아님\n" - -#: fe-lobj.c:425 -msgid "cannot determine OID of function lo_lseek64\n" -msgstr "lo_lseek64 함수의 OID를 알 수 없음\n" - -#: fe-lobj.c:521 -msgid "cannot determine OID of function lo_create\n" -msgstr "lo_create 함수의 OID 조사를 할 수 없음\n" - -#: fe-lobj.c:600 -msgid "cannot determine OID of function lo_tell64\n" -msgstr "lo_tell64 함수의 OID를 알 수 없음\n" - -#: fe-lobj.c:706 fe-lobj.c:815 +#: fe-lobj.c:144 fe-lobj.c:207 fe-lobj.c:397 fe-lobj.c:487 fe-lobj.c:560 +#: fe-lobj.c:956 fe-lobj.c:963 fe-lobj.c:970 fe-lobj.c:977 fe-lobj.c:984 +#: fe-lobj.c:991 fe-lobj.c:998 fe-lobj.c:1005 #, c-format -msgid "could not open file \"%s\": %s\n" -msgstr "\"%s\" 파일을 열 수 없음: %s\n" +msgid "cannot determine OID of function %s" +msgstr "%s 함수의 OID 조사를 할 수 없음" -#: fe-lobj.c:761 +#: fe-lobj.c:160 #, c-format -msgid "could not read from file \"%s\": %s\n" -msgstr "\"%s\" 파일을 읽을 수 없음: %s\n" +msgid "argument of lo_truncate exceeds integer range" +msgstr "lo_truncate 함수의 인자값이 정수 범위가 아님" -#: fe-lobj.c:835 fe-lobj.c:859 +#: fe-lobj.c:262 #, c-format -msgid "could not write to file \"%s\": %s\n" -msgstr "\"%s\" 파일을 쓸 수 없음: %s\n" - -#: fe-lobj.c:946 -msgid "query to initialize large object functions did not return data\n" -msgstr "large object function을 초기화 하는 쿼리가 데이터를 리턴하지 않았음\n" - -#: fe-lobj.c:995 -msgid "cannot determine OID of function lo_open\n" -msgstr "lo_open 함수의 OID 조사를 할 수 없음\n" - -#: fe-lobj.c:1002 -msgid "cannot determine OID of function lo_close\n" -msgstr "lo_close 함수의 OID 조사를 할 수 없음\n" - -#: fe-lobj.c:1009 -msgid "cannot determine OID of function lo_creat\n" -msgstr "lo_create 함수의 OID 조사를 할 수 없음\n" +msgid "argument of lo_read exceeds integer range" +msgstr "lo_read 함수의 인자값이 정수 범위가 아님" -#: fe-lobj.c:1016 -msgid "cannot determine OID of function lo_unlink\n" -msgstr "lo_unlink 함수의 OID 조사를 할 수 없음\n" +#: fe-lobj.c:313 +#, c-format +msgid "argument of lo_write exceeds integer range" +msgstr "lo_write 함수의 인자값이 정수 범위가 아님" -#: fe-lobj.c:1023 -msgid "cannot determine OID of function lo_lseek\n" -msgstr "lo_lseek 함수의 OID 조사를 할 수 없음\n" +#: fe-lobj.c:669 fe-lobj.c:780 +#, c-format +msgid "could not open file \"%s\": %s" +msgstr "\"%s\" 파일을 열 수 없음: %s" -#: fe-lobj.c:1030 -msgid "cannot determine OID of function lo_tell\n" -msgstr "lo_tell 함수의 OID 조사를 할 수 없음\n" +#: fe-lobj.c:725 +#, c-format +msgid "could not read from file \"%s\": %s" +msgstr "\"%s\" 파일을 읽을 수 없음: %s" -#: fe-lobj.c:1037 -msgid "cannot determine OID of function loread\n" -msgstr "loread 함수의 OID 조사를 할 수 없음\n" +#: fe-lobj.c:801 fe-lobj.c:824 +#, c-format +msgid "could not write to file \"%s\": %s" +msgstr "\"%s\" 파일을 쓸 수 없음: %s" -#: fe-lobj.c:1044 -msgid "cannot determine OID of function lowrite\n" -msgstr "lowrite 함수의 OID 조사를 할 수 없음\n" +#: fe-lobj.c:908 +#, c-format +msgid "query to initialize large object functions did not return data" +msgstr "large object function을 초기화 하는 쿼리가 데이터를 리턴하지 않았음" -#: fe-misc.c:289 +#: fe-misc.c:240 #, c-format msgid "integer of size %lu not supported by pqGetInt" msgstr "%lu 정수형 크기는 pqGetInt 함수에서 지원하지 않음" -#: fe-misc.c:325 +#: fe-misc.c:273 #, c-format msgid "integer of size %lu not supported by pqPutInt" msgstr "%lu 정수형 크기는 pqPutInt 함수에서 지원하지 않음" -#: fe-misc.c:636 fe-misc.c:869 -msgid "connection not open\n" -msgstr "연결 열기 실패\n" +#: fe-misc.c:573 +#, c-format +msgid "connection not open" +msgstr "연결 열기 실패" -#: fe-misc.c:805 fe-secure-openssl.c:209 fe-secure-openssl.c:316 -#: fe-secure.c:267 fe-secure.c:383 +#: fe-misc.c:751 fe-secure-openssl.c:215 fe-secure-openssl.c:315 +#: fe-secure.c:257 fe-secure.c:419 +#, c-format msgid "" "server closed the connection unexpectedly\n" "\tThis probably means the server terminated abnormally\n" -"\tbefore or while processing the request.\n" +"\tbefore or while processing the request." msgstr "" -"서버가 갑자기 연결을 닫았음\n" +"서버가 갑자기 연결을 닫았음.\n" "\t이런 처리는 클라이언트의 요구를 처리하는 동안이나\n" -"\t처리하기 전에 서버가 갑자기 종료되었음을 의미함\n" - -#: fe-misc.c:1063 -msgid "timeout expired\n" -msgstr "시간 초과\n" +"\t처리하기 전에 서버가 갑자기 종료되었음을 의미함." -#: fe-misc.c:1108 -msgid "invalid socket\n" -msgstr "잘못된 소켓\n" +#: fe-misc.c:818 +msgid "connection not open\n" +msgstr "연결 열기 실패\n" -#: fe-misc.c:1131 +#: fe-misc.c:1003 #, c-format -msgid "select() failed: %s\n" -msgstr "select() 실패: %s\n" +msgid "timeout expired" +msgstr "시간 초과" -#: fe-protocol2.c:87 +#: fe-misc.c:1047 #, c-format -msgid "invalid setenv state %c, probably indicative of memory corruption\n" -msgstr "잘못된 환경변수 상태 %c, 메모리 손상일 가능성이 큼\n" +msgid "invalid socket" +msgstr "잘못된 소켓" -#: fe-protocol2.c:384 +#: fe-misc.c:1069 #, c-format -msgid "invalid state %c, probably indicative of memory corruption\n" -msgstr "잘못된 상태 %c, 메모리 손상일 가능성이 큼\n" +msgid "%s() failed: %s" +msgstr "%s() 실패: %s" -#: fe-protocol2.c:473 fe-protocol3.c:183 +#: fe-protocol3.c:182 #, c-format msgid "message type 0x%02x arrived from server while idle" msgstr "휴지(idle)동안 서버로 부터 0x%02x 형태 메시지를 받았음" -#: fe-protocol2.c:523 -#, c-format -msgid "unexpected character %c following empty query response (\"I\" message)" -msgstr "비어있는 쿼리 응답(\"I\" 메시지)에 뒤이어 %c의 잘못된 문자가 있음" - -#: fe-protocol2.c:589 +#: fe-protocol3.c:385 #, c-format msgid "" "server sent data (\"D\" message) without prior row description (\"T\" " @@ -943,398 +1078,460 @@ msgid "" msgstr "" "서버에서 먼저 행(row) 설명(\"T\" 메시지) 없이 자료(\"D\" 메시지)를 보냈음" -#: fe-protocol2.c:607 +#: fe-protocol3.c:427 #, c-format -msgid "" -"server sent binary data (\"B\" message) without prior row description (\"T\" " -"message)" -msgstr "" -"서버에서 먼저 행(row) 설명(\"T\" 메시지) 없이 바이너리 자료(\"B\" 메시지)를 " -"보냈음" - -#: fe-protocol2.c:626 fe-protocol3.c:408 -#, c-format -msgid "unexpected response from server; first received character was \"%c\"\n" -msgstr "서버로부터 예상치 못한 응답을 받았음; \"%c\" 문자를 첫문자로 받았음\n" - -#: fe-protocol2.c:755 fe-protocol2.c:930 fe-protocol3.c:622 fe-protocol3.c:849 -msgid "out of memory for query result" -msgstr "쿼리 결과 처리를 위한 메모리 부족" +msgid "unexpected response from server; first received character was \"%c\"" +msgstr "서버로부터 예상치 못한 응답을 받았음; \"%c\" 문자를 첫문자로 받았음" -#: fe-protocol2.c:1408 +#: fe-protocol3.c:450 #, c-format -msgid "lost synchronization with server, resetting connection" -msgstr "서버와의 동기화가 끊김, 연결을 재 시도함" +msgid "message contents do not agree with length in message type \"%c\"" +msgstr "메시지 내용이 \"%c\" 메시지 형태의 길이를 허락하지 않음" -#: fe-protocol2.c:1530 fe-protocol2.c:1562 fe-protocol3.c:2095 +#: fe-protocol3.c:468 #, c-format -msgid "protocol error: id=0x%x\n" -msgstr "프로토콜 오류: id=0x%x\n" +msgid "lost synchronization with server: got message type \"%c\", length %d" +msgstr "서버와의 동기화가 끊김: \"%c\" 형태 길이 %d 메시지 받음" -#: fe-protocol3.c:365 -msgid "" -"server sent data (\"D\" message) without prior row description (\"T\" " -"message)\n" -msgstr "" -"서버에서 먼저 행(row) 설명(\"T\" 메시지) 없이 자료(\"D\" 메시지)를 보냈음\n" - -#: fe-protocol3.c:429 -#, c-format -msgid "message contents do not agree with length in message type \"%c\"\n" -msgstr "메시지 내용이 \"%c\" 메시지 형태의 길이를 허락하지 않음\n" - -#: fe-protocol3.c:449 -#, c-format -msgid "lost synchronization with server: got message type \"%c\", length %d\n" -msgstr "서버와의 동기화가 끊김: \"%c\" 형태 길이 %d 메시지 받음\n" - -#: fe-protocol3.c:500 fe-protocol3.c:540 +#: fe-protocol3.c:520 fe-protocol3.c:560 msgid "insufficient data in \"T\" message" msgstr "\"T\" 메시지 안에 부족자 데이터" -#: fe-protocol3.c:573 -msgid "extraneous data in \"T\" message" -msgstr "\"T\" 메시지 안에 잘못된 데이터" +#: fe-protocol3.c:631 fe-protocol3.c:837 +msgid "out of memory for query result" +msgstr "쿼리 결과 처리를 위한 메모리 부족" -#: fe-protocol3.c:686 -msgid "extraneous data in \"t\" message" -msgstr "\"t\" 메시지 안에 잘못된 데이터" +#: fe-protocol3.c:700 +msgid "insufficient data in \"t\" message" +msgstr "\"t\" 메시지 안에 데이터가 충분하지 않음" -#: fe-protocol3.c:757 fe-protocol3.c:789 fe-protocol3.c:807 +#: fe-protocol3.c:759 fe-protocol3.c:791 fe-protocol3.c:809 msgid "insufficient data in \"D\" message" msgstr "\"D\" 메시지 안에 불충분한 데이터" -#: fe-protocol3.c:763 +#: fe-protocol3.c:765 msgid "unexpected field count in \"D\" message" msgstr "\"D\" 메시지 안에 예상치 못한 필드 수" -#: fe-protocol3.c:816 -msgid "extraneous data in \"D\" message" -msgstr "\"D\" 메시지 안에 잘못된 데이터" - -#: fe-protocol3.c:1008 +#: fe-protocol3.c:1020 msgid "no error message available\n" msgstr "보여줄 오류 메시지가 없음\n" #. translator: %s represents a digit string -#: fe-protocol3.c:1056 fe-protocol3.c:1075 +#: fe-protocol3.c:1068 fe-protocol3.c:1087 #, c-format msgid " at character %s" msgstr " 위치: %s" -#: fe-protocol3.c:1088 +#: fe-protocol3.c:1100 #, c-format msgid "DETAIL: %s\n" msgstr "상세정보: %s\n" -#: fe-protocol3.c:1091 +#: fe-protocol3.c:1103 #, c-format msgid "HINT: %s\n" msgstr "힌트: %s\n" -#: fe-protocol3.c:1094 +#: fe-protocol3.c:1106 #, c-format msgid "QUERY: %s\n" msgstr "쿼리: %s\n" -#: fe-protocol3.c:1101 +#: fe-protocol3.c:1113 #, c-format msgid "CONTEXT: %s\n" msgstr "구문: %s\n" -#: fe-protocol3.c:1110 +#: fe-protocol3.c:1122 #, c-format msgid "SCHEMA NAME: %s\n" msgstr "스키마 이름: %s\n" -#: fe-protocol3.c:1114 +#: fe-protocol3.c:1126 #, c-format msgid "TABLE NAME: %s\n" msgstr "테이블 이름: %s\n" -#: fe-protocol3.c:1118 +#: fe-protocol3.c:1130 #, c-format msgid "COLUMN NAME: %s\n" msgstr "칼럼 이름: %s\n" -#: fe-protocol3.c:1122 +#: fe-protocol3.c:1134 #, c-format msgid "DATATYPE NAME: %s\n" msgstr "자료형 이름: %s\n" -#: fe-protocol3.c:1126 +#: fe-protocol3.c:1138 #, c-format msgid "CONSTRAINT NAME: %s\n" msgstr "제약조건 이름: %s\n" -#: fe-protocol3.c:1138 +#: fe-protocol3.c:1150 msgid "LOCATION: " msgstr "위치: " -#: fe-protocol3.c:1140 +#: fe-protocol3.c:1152 #, c-format msgid "%s, " msgstr "%s, " -#: fe-protocol3.c:1142 +#: fe-protocol3.c:1154 #, c-format msgid "%s:%s" msgstr "%s:%s" -#: fe-protocol3.c:1337 +#: fe-protocol3.c:1349 #, c-format msgid "LINE %d: " msgstr "줄 %d: " -#: fe-protocol3.c:1732 -msgid "PQgetline: not doing text COPY OUT\n" -msgstr "PQgetline: text COPY OUT 작업을 할 수 없음\n" +#: fe-protocol3.c:1423 +#, c-format +msgid "" +"protocol version not supported by server: client uses %u.%u, server supports " +"up to %u.%u" +msgstr "" +"서버가 해당 프로토콜 버전을 지원하지 않음: 클라이언트=%u.%u, 서버=%u.%u" -#: fe-secure-common.c:124 -msgid "SSL certificate's name contains embedded null\n" -msgstr "SSL 인증서의 이름에 null 문자가 있음\n" +#: fe-protocol3.c:1429 +#, c-format +msgid "protocol extension not supported by server: %s" +msgid_plural "protocol extensions not supported by server: %s" +msgstr[0] "서버가 해당 프로토콜 확장을 지원하지 않음: %s" -#: fe-secure-common.c:171 -msgid "host name must be specified for a verified SSL connection\n" -msgstr "인증된 SSL 접속을 위해서는 호스트 이름을 지정해야 함\n" +#: fe-protocol3.c:1437 +#, c-format +msgid "invalid %s message" +msgstr "잘못된 %s 메시지" -#: fe-secure-common.c:196 +#: fe-protocol3.c:1802 #, c-format -msgid "server certificate for \"%s\" does not match host name \"%s\"\n" -msgstr "" -"서버 인증서의 이름 \"%s\"이(가) 호스트 이름 \"%s\"과(와) 일치하지 않음\n" +msgid "PQgetline: not doing text COPY OUT" +msgstr "PQgetline: text COPY OUT 작업을 할 수 없음" + +#: fe-protocol3.c:2176 +#, c-format +msgid "protocol error: no function result" +msgstr "프로토콜 오류: 함수 결과 없음" + +#: fe-protocol3.c:2187 +#, c-format +msgid "protocol error: id=0x%x" +msgstr "프로토콜 오류: id=0x%x" + +#: fe-secure-common.c:123 +#, c-format +msgid "SSL certificate's name contains embedded null" +msgstr "SSL 인증서의 이름에 null 문자가 있음" + +#: fe-secure-common.c:228 +#, c-format +msgid "certificate contains IP address with invalid length %zu" +msgstr "인증서에 IP 주소용 %zu 길이가 잘못됨" + +#: fe-secure-common.c:237 +#, c-format +msgid "could not convert certificate's IP address to string: %s" +msgstr "인증서의 IP 주소를 문자열로 바꿀 수 없음: %s" + +#: fe-secure-common.c:269 +#, c-format +msgid "host name must be specified for a verified SSL connection" +msgstr "인증된 SSL 접속을 위해서는 호스트 이름을 지정해야 함" + +#: fe-secure-common.c:286 +#, c-format +msgid "" +"server certificate for \"%s\" (and %d other name) does not match host name " +"\"%s\"" +msgid_plural "" +"server certificate for \"%s\" (and %d other names) does not match host name " +"\"%s\"" +msgstr[0] "" +"서버 인증서의 이름 \"%s\" (%d 기타 이름)이 \"%s\" 호스트 이름과 일치하지 않음" + +#: fe-secure-common.c:294 +#, c-format +msgid "server certificate for \"%s\" does not match host name \"%s\"" +msgstr "서버 인증서의 이름 \"%s\"이(가) \"%s\" 호스트 이름과 일치하지 않음" -#: fe-secure-common.c:202 -msgid "could not get server's host name from server certificate\n" -msgstr "서버 인증서에서 서버 호스트 이름을 찾을 수 없음\n" +#: fe-secure-common.c:299 +#, c-format +msgid "could not get server's host name from server certificate" +msgstr "서버 인증서에서 서버 호스트 이름을 찾을 수 없음" #: fe-secure-gssapi.c:201 msgid "GSSAPI wrap error" msgstr "GSSAPI 감싸기 오류" -#: fe-secure-gssapi.c:209 -msgid "outgoing GSSAPI message would not use confidentiality\n" -msgstr "GSSAPI 송출 메시지는 기밀성을 사용하지 말아야함\n" +#: fe-secure-gssapi.c:208 +#, c-format +msgid "outgoing GSSAPI message would not use confidentiality" +msgstr "GSSAPI 송출 메시지는 기밀성을 사용하지 말아야함" -#: fe-secure-gssapi.c:217 +#: fe-secure-gssapi.c:215 #, c-format -msgid "client tried to send oversize GSSAPI packet (%zu > %zu)\n" -msgstr "클라이언트의 GSSAPI 패킷이 너무 큼 (%zu > %zu)\n" +msgid "client tried to send oversize GSSAPI packet (%zu > %zu)" +msgstr "클라이언트의 GSSAPI 패킷이 너무 큼 (%zu > %zu)" -#: fe-secure-gssapi.c:354 fe-secure-gssapi.c:596 +#: fe-secure-gssapi.c:351 fe-secure-gssapi.c:593 #, c-format -msgid "oversize GSSAPI packet sent by the server (%zu > %zu)\n" -msgstr "서버의 GSSAPI 패킷이 너무 큼 (%zu > %zu)\n" +msgid "oversize GSSAPI packet sent by the server (%zu > %zu)" +msgstr "서버의 GSSAPI 패킷이 너무 큼 (%zu > %zu)" -#: fe-secure-gssapi.c:393 +#: fe-secure-gssapi.c:390 msgid "GSSAPI unwrap error" msgstr "GSSAPI 벗기기 오류" -#: fe-secure-gssapi.c:403 -msgid "incoming GSSAPI message did not use confidentiality\n" -msgstr "GSSAPI 수신 메시지는 기밀성을 사용하지 말아야 함\n" +#: fe-secure-gssapi.c:399 +#, c-format +msgid "incoming GSSAPI message did not use confidentiality" +msgstr "GSSAPI 수신 메시지는 기밀성을 사용하지 말아야 함" -#: fe-secure-gssapi.c:642 +#: fe-secure-gssapi.c:656 msgid "could not initiate GSSAPI security context" msgstr "GSSAPI 보안 context 초기화 실패" -#: fe-secure-gssapi.c:673 +#: fe-secure-gssapi.c:685 msgid "GSSAPI size check error" msgstr "GSSAPI 크기 검사 오류" -#: fe-secure-gssapi.c:684 +#: fe-secure-gssapi.c:696 msgid "GSSAPI context establishment error" msgstr "GSSAPI context 설정 오류" -#: fe-secure-openssl.c:214 fe-secure-openssl.c:321 fe-secure-openssl.c:1291 +#: fe-secure-openssl.c:219 fe-secure-openssl.c:319 fe-secure-openssl.c:1531 #, c-format -msgid "SSL SYSCALL error: %s\n" -msgstr "SSL SYSCALL 오류: %s\n" +msgid "SSL SYSCALL error: %s" +msgstr "SSL SYSCALL 오류: %s" -#: fe-secure-openssl.c:221 fe-secure-openssl.c:328 fe-secure-openssl.c:1295 -msgid "SSL SYSCALL error: EOF detected\n" -msgstr "SSL SYSCALL 오류: EOF 감지됨\n" +#: fe-secure-openssl.c:225 fe-secure-openssl.c:325 fe-secure-openssl.c:1534 +#, c-format +msgid "SSL SYSCALL error: EOF detected" +msgstr "SSL SYSCALL 오류: EOF 감지됨" -#: fe-secure-openssl.c:232 fe-secure-openssl.c:339 fe-secure-openssl.c:1304 +#: fe-secure-openssl.c:235 fe-secure-openssl.c:335 fe-secure-openssl.c:1542 #, c-format -msgid "SSL error: %s\n" -msgstr "SSL 오류: %s\n" +msgid "SSL error: %s" +msgstr "SSL 오류: %s" -#: fe-secure-openssl.c:247 fe-secure-openssl.c:354 -msgid "SSL connection has been closed unexpectedly\n" -msgstr "SSL 연결이 예상치 못하게 끊김\n" +#: fe-secure-openssl.c:249 fe-secure-openssl.c:349 +#, c-format +msgid "SSL connection has been closed unexpectedly" +msgstr "SSL 연결이 예상치 못하게 끊김" -#: fe-secure-openssl.c:253 fe-secure-openssl.c:360 fe-secure-openssl.c:1354 +#: fe-secure-openssl.c:254 fe-secure-openssl.c:354 fe-secure-openssl.c:1589 #, c-format -msgid "unrecognized SSL error code: %d\n" -msgstr "알 수 없는 SSL 오류 코드: %d\n" +msgid "unrecognized SSL error code: %d" +msgstr "알 수 없는 SSL 오류 코드: %d" -#: fe-secure-openssl.c:400 -msgid "could not determine server certificate signature algorithm\n" -msgstr "서버 인증서 서명 알고리즘을 알 수 없음\n" +#: fe-secure-openssl.c:397 +#, c-format +msgid "could not determine server certificate signature algorithm" +msgstr "서버 인증서 서명 알고리즘을 알 수 없음" -#: fe-secure-openssl.c:421 +#: fe-secure-openssl.c:417 #, c-format -msgid "could not find digest for NID %s\n" -msgstr "%s NID용 다이제스트를 찾을 수 없음\n" +msgid "could not find digest for NID %s" +msgstr "%s NID용 다이제스트를 찾을 수 없음" -#: fe-secure-openssl.c:431 -msgid "could not generate peer certificate hash\n" -msgstr "피어 인증 해시 값을 만들 수 없음\n" +#: fe-secure-openssl.c:426 +#, c-format +msgid "could not generate peer certificate hash" +msgstr "피어 인증 해시 값을 만들 수 없음" -#: fe-secure-openssl.c:488 -msgid "SSL certificate's name entry is missing\n" -msgstr "SSL 인증서의 이름 항목이 잘못됨\n" +#: fe-secure-openssl.c:509 +#, c-format +msgid "SSL certificate's name entry is missing" +msgstr "SSL 인증서의 이름 항목이 잘못됨" -#: fe-secure-openssl.c:815 +#: fe-secure-openssl.c:543 #, c-format -msgid "could not create SSL context: %s\n" -msgstr "SSL context를 만들 수 없음: %s\n" +msgid "SSL certificate's address entry is missing" +msgstr "SSL 인증서의 주소 항목이 빠졌음" -#: fe-secure-openssl.c:854 +#: fe-secure-openssl.c:960 #, c-format -msgid "invalid value \"%s\" for minimum SSL protocol version\n" -msgstr "잘못된 값: \"%s\", 대상: 최소 SSL 프로토콜 버전\n" +msgid "could not create SSL context: %s" +msgstr "SSL context를 만들 수 없음: %s" -#: fe-secure-openssl.c:865 +#: fe-secure-openssl.c:1002 #, c-format -msgid "could not set minimum SSL protocol version: %s\n" -msgstr "최소 SSL 프로토콜 버전을 지정할 수 없음: %s\n" +msgid "invalid value \"%s\" for minimum SSL protocol version" +msgstr "잘못된 값: \"%s\", 대상: 최소 SSL 프로토콜 버전" -#: fe-secure-openssl.c:883 +#: fe-secure-openssl.c:1012 +#, c-format +msgid "could not set minimum SSL protocol version: %s" +msgstr "최소 SSL 프로토콜 버전을 지정할 수 없음: %s" + +#: fe-secure-openssl.c:1028 #, c-format -msgid "invalid value \"%s\" for maximum SSL protocol version\n" -msgstr "잘못된 값: \"%s\", 대상: 최대 SSL 프로토콜 버전\n" +msgid "invalid value \"%s\" for maximum SSL protocol version" +msgstr "잘못된 값: \"%s\", 대상: 최대 SSL 프로토콜 버전" -#: fe-secure-openssl.c:894 +#: fe-secure-openssl.c:1038 #, c-format -msgid "could not set maximum SSL protocol version: %s\n" -msgstr "최대 SSL 프로토콜 버전을 지정할 수 없음: %s\n" +msgid "could not set maximum SSL protocol version: %s" +msgstr "최대 SSL 프로토콜 버전을 지정할 수 없음: %s" -#: fe-secure-openssl.c:930 +#: fe-secure-openssl.c:1076 #, c-format -msgid "could not read root certificate file \"%s\": %s\n" -msgstr "\"%s\" 루트 인증서 파일을 읽을 수 없음: %s\n" +msgid "could not load system root certificate paths: %s" +msgstr "시스템 루트 인증서 경로 불러오기 실패: %s" -#: fe-secure-openssl.c:974 +#: fe-secure-openssl.c:1093 +#, c-format +msgid "could not read root certificate file \"%s\": %s" +msgstr "\"%s\" 루트 인증서 파일을 읽을 수 없음: %s" + +#: fe-secure-openssl.c:1145 +#, c-format msgid "" "could not get home directory to locate root certificate file\n" -"Either provide the file or change sslmode to disable server certificate " -"verification.\n" +"Either provide the file, use the system's trusted roots with " +"sslrootcert=system, or change sslmode to disable server certificate " +"verification." msgstr "" "루트 인증서 파일이 있는 홈 디렉터리를 찾을 수 없음\n" -"해당 파일을 제공하거나 서버 인증서 확인을 사용하지 않도록 sslmode를 변경하십" -"시오.\n" +"해당 파일을 제공하거나, sslrootcert=system 설정으로 신뢰할 수 있는 시스템 루" +"트 인증서를 사용하거나, 서버 인증서 확인을 사용하지 않도록 sslmode를 변경하십" +"시오." -#: fe-secure-openssl.c:978 +#: fe-secure-openssl.c:1148 #, c-format msgid "" "root certificate file \"%s\" does not exist\n" -"Either provide the file or change sslmode to disable server certificate " -"verification.\n" +"Either provide the file, use the system's trusted roots with " +"sslrootcert=system, or change sslmode to disable server certificate " +"verification." msgstr "" "루트 인증서 파일 \"%s\"이(가) 없습니다.\n" -"해당 파일을 제공하거나 서버 인증서 확인을 사용하지 않도록 sslmode를 변경하십" -"시오.\n" +"해당 파일을 제공하거나, sslrootcert=system 설정으로 신뢰할 수 있는 시스템 루" +"트 인증서를 사용하거나, 서버 인증서 확인을 사용하지 않도록 sslmode를 변경하십" +"시오." -#: fe-secure-openssl.c:1009 +#: fe-secure-openssl.c:1183 #, c-format -msgid "could not open certificate file \"%s\": %s\n" -msgstr "\"%s\" 인증서 파일을 열수 없음: %s\n" +msgid "could not open certificate file \"%s\": %s" +msgstr "\"%s\" 인증서 파일을 열수 없음: %s" -#: fe-secure-openssl.c:1028 +#: fe-secure-openssl.c:1201 +#, c-format +msgid "could not read certificate file \"%s\": %s" +msgstr "\"%s\" 인증서 파일을 읽을 수 없음: %s" + +#: fe-secure-openssl.c:1225 +#, c-format +msgid "could not establish SSL connection: %s" +msgstr "SSL 연결을 확립할 수 없음: %s" + +#: fe-secure-openssl.c:1257 +#, c-format +msgid "could not set SSL Server Name Indication (SNI): %s" +msgstr "서버 이름 표시(SNI)를 설정할 수 없음: %s" + +#: fe-secure-openssl.c:1300 #, c-format -msgid "could not read certificate file \"%s\": %s\n" -msgstr "\"%s\" 인증서 파일을 읽을 수 없음: %s\n" +msgid "could not load SSL engine \"%s\": %s" +msgstr "SSL 엔진 \"%s\"을(를) 로드할 수 없음: %s" -#: fe-secure-openssl.c:1053 +#: fe-secure-openssl.c:1311 #, c-format -msgid "could not establish SSL connection: %s\n" -msgstr "SSL 연결을 확립할 수 없음: %s\n" +msgid "could not initialize SSL engine \"%s\": %s" +msgstr "SSL 엔진 \"%s\"을(를) 초기화할 수 없음: %s" -#: fe-secure-openssl.c:1107 +#: fe-secure-openssl.c:1326 #, c-format -msgid "could not load SSL engine \"%s\": %s\n" -msgstr "SSL 엔진 \"%s\"을(를) 로드할 수 없음: %s\n" +msgid "could not read private SSL key \"%s\" from engine \"%s\": %s" +msgstr "개인 SSL 키 \"%s\"을(를) \"%s\" 엔진에서 읽을 수 없음: %s" -#: fe-secure-openssl.c:1119 +#: fe-secure-openssl.c:1339 #, c-format -msgid "could not initialize SSL engine \"%s\": %s\n" -msgstr "SSL 엔진 \"%s\"을(를) 초기화할 수 없음: %s\n" +msgid "could not load private SSL key \"%s\" from engine \"%s\": %s" +msgstr "개인 SSL 키 \"%s\"을(를) \"%s\" 엔진에서 읽을 수 없음: %s" -#: fe-secure-openssl.c:1135 +#: fe-secure-openssl.c:1376 #, c-format -msgid "could not read private SSL key \"%s\" from engine \"%s\": %s\n" -msgstr "개인 SSL 키 \"%s\"을(를) \"%s\" 엔진에서 읽을 수 없음: %s\n" +msgid "certificate present, but not private key file \"%s\"" +msgstr "인증서가 있지만, \"%s\" 개인키가 아닙니다." -#: fe-secure-openssl.c:1149 +#: fe-secure-openssl.c:1379 #, c-format -msgid "could not load private SSL key \"%s\" from engine \"%s\": %s\n" -msgstr "개인 SSL 키 \"%s\"을(를) \"%s\" 엔진에서 읽을 수 없음: %s\n" +msgid "could not stat private key file \"%s\": %m" +msgstr "\"%s\" 개인키 파일 상태를 알 수 없음: %m" -#: fe-secure-openssl.c:1186 +#: fe-secure-openssl.c:1387 #, c-format -msgid "certificate present, but not private key file \"%s\"\n" -msgstr "인증서가 있지만, \"%s\" 개인키가 아닙니다.\n" +msgid "private key file \"%s\" is not a regular file" +msgstr "\"%s\" 개인키 파일은 일반 파일이 아님" -#: fe-secure-openssl.c:1194 +#: fe-secure-openssl.c:1420 #, c-format msgid "" -"private key file \"%s\" has group or world access; permissions should be " -"u=rw (0600) or less\n" +"private key file \"%s\" has group or world access; file must have " +"permissions u=rw (0600) or less if owned by the current user, or permissions " +"u=rw,g=r (0640) or less if owned by root" msgstr "" -"개인 키 파일 \"%s\"에 그룹 또는 범용 액세스 권한이 있습니다. 권한은 " -"u=rw(0600) 이하여야 합니다.\n" +"\"%s\" 개인키 파일의 접근권한이 그룹 또는 그외 사용자도 접근 가능함; 파일 소" +"유주가 현재 사용자라면, 접근권한을 u=rw (0600) 또는 더 작게 설정하고, root가 " +"소유주라면 u=rw,g=r (0640) 권한으로 지정하세요." -#: fe-secure-openssl.c:1219 +#: fe-secure-openssl.c:1444 #, c-format -msgid "could not load private key file \"%s\": %s\n" -msgstr "\"%s\" 개인키 파일을 불러들일 수 없습니다: %s\n" +msgid "could not load private key file \"%s\": %s" +msgstr "\"%s\" 개인키 파일을 불러들일 수 없습니다: %s" -#: fe-secure-openssl.c:1237 +#: fe-secure-openssl.c:1460 #, c-format -msgid "certificate does not match private key file \"%s\": %s\n" -msgstr "인증서가 \"%s\" 개인키 파일과 맞지 않습니다: %s\n" +msgid "certificate does not match private key file \"%s\": %s" +msgstr "인증서가 \"%s\" 개인키 파일과 맞지 않습니다: %s" -#: fe-secure-openssl.c:1337 +#: fe-secure-openssl.c:1528 +#, c-format +msgid "SSL error: certificate verify failed: %s" +msgstr "SSL 오류: 인증서 유효성 검사 실패: %s" + +#: fe-secure-openssl.c:1573 #, c-format msgid "" "This may indicate that the server does not support any SSL protocol version " -"between %s and %s.\n" -msgstr "" -"해당 서버는 SSL 프로토콜 버전 %s - %s 사이를 지원하지 않습니다.\n" +"between %s and %s." +msgstr "해당 서버는 SSL 프로토콜 버전 %s - %s 사이를 지원하지 않습니다." -#: fe-secure-openssl.c:1373 +#: fe-secure-openssl.c:1606 #, c-format -msgid "certificate could not be obtained: %s\n" -msgstr "인증서를 구하질 못했습니다: %s\n" +msgid "certificate could not be obtained: %s" +msgstr "인증서를 구하질 못했습니다: %s" -#: fe-secure-openssl.c:1462 +#: fe-secure-openssl.c:1711 #, c-format msgid "no SSL error reported" msgstr "SSL 오류 없음이 보고됨" -#: fe-secure-openssl.c:1471 +#: fe-secure-openssl.c:1720 #, c-format msgid "SSL error code %lu" msgstr "SSL 오류 번호 %lu" -#: fe-secure-openssl.c:1718 +#: fe-secure-openssl.c:1986 #, c-format msgid "WARNING: sslpassword truncated\n" msgstr "경고: sslpassword 삭제됨\n" -#: fe-secure.c:275 +#: fe-secure.c:263 #, c-format -msgid "could not receive data from server: %s\n" -msgstr "서버로부터 데이터를 받지 못했음: %s\n" +msgid "could not receive data from server: %s" +msgstr "서버로부터 데이터를 받지 못했음: %s" -#: fe-secure.c:390 +#: fe-secure.c:434 #, c-format -msgid "could not send data to server: %s\n" -msgstr "서버에 데이터를 보낼 수 없음: %s\n" +msgid "could not send data to server: %s" +msgstr "서버에 데이터를 보낼 수 없음: %s" -#: win32.c:314 +#: win32.c:310 #, c-format msgid "unrecognized socket error: 0x%08X/%d" msgstr "알 수 없는 소켓오류: 0x%08X/%d" diff --git a/src/pl/plperl/po/ko.po b/src/pl/plperl/po/ko.po index a512cfef74f..31c5f907b78 100644 --- a/src/pl/plperl/po/ko.po +++ b/src/pl/plperl/po/ko.po @@ -5,10 +5,10 @@ # msgid "" msgstr "" -"Project-Id-Version: plperl (PostgreSQL) 12\n" +"Project-Id-Version: plperl (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2020-02-09 20:08+0000\n" -"PO-Revision-Date: 2019-11-01 12:51+0900\n" +"POT-Creation-Date: 2023-09-07 05:39+0000\n" +"PO-Revision-Date: 2023-05-30 12:40+0900\n" "Last-Translator: Ioseph Kim \n" "Language-Team: Korean Team \n" "Language: ko\n" @@ -16,200 +16,205 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: plperl.c:406 +#: plperl.c:405 msgid "" "If true, trusted and untrusted Perl code will be compiled in strict mode." msgstr "true로 지정하면, Perl 코드가 엄격한 구문 검사로 컴파일 됨" -#: plperl.c:420 +#: plperl.c:419 msgid "" "Perl initialization code to execute when a Perl interpreter is initialized." msgstr "Perl 인터프리터가 초기화 될 때 실행할 Perl 초기화 코드" -#: plperl.c:442 +#: plperl.c:441 msgid "Perl initialization code to execute once when plperl is first used." msgstr "plperl 모듈이 처음 사용될 때 실행할 Perl 초기화 코드" -#: plperl.c:450 +#: plperl.c:449 msgid "Perl initialization code to execute once when plperlu is first used." msgstr "plperlu 모듈이 처음 사용될 때 실행할 Perl 초기화 코드" -#: plperl.c:647 +#: plperl.c:643 #, c-format msgid "cannot allocate multiple Perl interpreters on this platform" msgstr "이 플랫폼에 여러 Perl 인터프리터를 사용할 수 없음" -#: plperl.c:670 plperl.c:854 plperl.c:860 plperl.c:977 plperl.c:989 -#: plperl.c:1032 plperl.c:1055 plperl.c:2154 plperl.c:2264 plperl.c:2332 -#: plperl.c:2395 +#: plperl.c:666 plperl.c:850 plperl.c:856 plperl.c:973 plperl.c:985 +#: plperl.c:1028 plperl.c:1051 plperl.c:2151 plperl.c:2259 plperl.c:2327 +#: plperl.c:2390 #, c-format msgid "%s" msgstr "%s" -#: plperl.c:671 +#: plperl.c:667 #, c-format msgid "while executing PostgreSQL::InServer::SPI::bootstrap" msgstr "PostgreSQL::InServer::SPI::bootstrap 실행 중" -#: plperl.c:855 +#: plperl.c:851 #, c-format msgid "while parsing Perl initialization" msgstr "Perl 초기화 구문 분석 중" -#: plperl.c:861 +#: plperl.c:857 #, c-format msgid "while running Perl initialization" msgstr "Perl 초기화 실행 중" -#: plperl.c:978 +#: plperl.c:974 #, c-format msgid "while executing PLC_TRUSTED" msgstr "PLC_TRUSTED 실행 중" -#: plperl.c:990 +#: plperl.c:986 #, c-format msgid "while executing utf8fix" msgstr "utf8fix 실행 중" -#: plperl.c:1033 +#: plperl.c:1029 #, c-format msgid "while executing plperl.on_plperl_init" msgstr "plperl.on_plperl_init 실행 중" -#: plperl.c:1056 +#: plperl.c:1052 #, c-format msgid "while executing plperl.on_plperlu_init" msgstr "plperl.on_plperlu_init 실행 중" -#: plperl.c:1102 plperl.c:1793 +#: plperl.c:1098 plperl.c:1804 #, c-format msgid "Perl hash contains nonexistent column \"%s\"" msgstr "Perl 해시에 존재하지 않는 \"%s\" 칼럼이 포함되었습니다" -#: plperl.c:1107 plperl.c:1798 +#: plperl.c:1103 plperl.c:1809 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "\"%s\" 시스템 속성을 지정할 수 없음" -#: plperl.c:1195 -#, c-format -msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" -msgstr "지정한 배열 크기(%d)가 최대치(%d)를 초과했습니다" - -#: plperl.c:1207 plperl.c:1224 +#: plperl.c:1199 plperl.c:1214 plperl.c:1231 #, c-format msgid "" "multidimensional arrays must have array expressions with matching dimensions" msgstr "다차원 배열에는 일치하는 차원이 포함된 배열 식이 있어야 함" -#: plperl.c:1260 +#: plperl.c:1204 +#, c-format +msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" +msgstr "지정한 배열 크기(%d)가 최대치(%d)를 초과했습니다" + +#: plperl.c:1274 #, c-format msgid "cannot convert Perl array to non-array type %s" msgstr "Perl 배열형을 비배열형 %s 자료형으로 변환할 수 없음" -#: plperl.c:1363 +#: plperl.c:1375 #, c-format msgid "cannot convert Perl hash to non-composite type %s" msgstr "Perl 해시 자료형을 비복합 %s 자료형으로 변환할 수 없음" -#: plperl.c:1385 plperl.c:3306 +#: plperl.c:1397 plperl.c:3315 #, c-format msgid "" "function returning record called in context that cannot accept type record" msgstr "반환 자료형이 record인데 함수가 그 자료형으로 반환하지 않음" -#: plperl.c:1444 +#: plperl.c:1458 #, c-format msgid "lookup failed for type %s" msgstr "%s 자료형 찾기 실패" -#: plperl.c:1768 +#: plperl.c:1779 #, c-format msgid "$_TD->{new} does not exist" msgstr "$_TD->{new} 없음" -#: plperl.c:1772 +#: plperl.c:1783 #, c-format msgid "$_TD->{new} is not a hash reference" msgstr "$_TD->{new} 자료형이 해시 참조가 아님" -#: plperl.c:1803 +#: plperl.c:1814 #, c-format msgid "cannot set generated column \"%s\"" msgstr "\"%s\" 계산된 칼럼을 지정할 수 없음" -#: plperl.c:2029 plperl.c:2871 +#: plperl.c:2026 plperl.c:2867 #, c-format msgid "PL/Perl functions cannot return type %s" msgstr "PL/Perl 함수는 %s 자료형을 반환할 수 없음" -#: plperl.c:2042 plperl.c:2912 +#: plperl.c:2039 plperl.c:2906 #, c-format msgid "PL/Perl functions cannot accept type %s" msgstr "PL/Perl 함수는 %s 자료형을 사용할 수 없음" -#: plperl.c:2159 +#: plperl.c:2156 #, c-format msgid "didn't get a CODE reference from compiling function \"%s\"" msgstr "\"%s\" 함수를 컴파일 하면서 코드 참조를 구할 수 없음" -#: plperl.c:2252 +#: plperl.c:2247 #, c-format msgid "didn't get a return item from function" msgstr "함수에서 반환할 항목을 못 찾음" -#: plperl.c:2296 plperl.c:2363 +#: plperl.c:2291 plperl.c:2358 #, c-format msgid "couldn't fetch $_TD" msgstr "$_TD 못 구함" -#: plperl.c:2320 plperl.c:2383 +#: plperl.c:2315 plperl.c:2378 #, c-format msgid "didn't get a return item from trigger function" msgstr "트리거 함수에서 반환할 항목을 못 찾음" -#: plperl.c:2444 +#: plperl.c:2436 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "" "set-values 함수(테이블 리턴 함수)가 set 정의 없이 사용되었습니다 (테이블과 해" "당 열 alias 지정하세요)" -#: plperl.c:2489 +#: plperl.c:2441 +#, c-format +msgid "materialize mode required, but it is not allowed in this context" +msgstr "materialize 모드가 필요합니다만, 이 구문에서는 허용되지 않습니다" + +#: plperl.c:2485 #, c-format msgid "" "set-returning PL/Perl function must return reference to array or use " "return_next" msgstr "집합 반환 PL/Perl 함수는 배열 또는 return_next 를 사용해서 반환해야 함" -#: plperl.c:2610 +#: plperl.c:2606 #, c-format msgid "ignoring modified row in DELETE trigger" msgstr "DELETE 트리거에서는 변경된 로우는 무시 함" -#: plperl.c:2618 +#: plperl.c:2614 #, c-format msgid "" "result of PL/Perl trigger function must be undef, \"SKIP\", or \"MODIFY\"" msgstr "" "PL/Perl 트리거 함수의 결과는 undef, \"SKIP\", \"MODIFY\" 중 하나여야 함" -#: plperl.c:2866 +#: plperl.c:2862 #, c-format msgid "trigger functions can only be called as triggers" msgstr "트리거 함수는 트리거로만 호출될 수 있음" -#: plperl.c:3213 +#: plperl.c:3220 #, c-format msgid "query result has too many rows to fit in a Perl array" msgstr "쿼리 결과가 Perl 배열에 담기에는 너무 많습니다" -#: plperl.c:3283 +#: plperl.c:3292 #, c-format msgid "cannot use return_next in a non-SETOF function" msgstr "SETOF 함수가 아닌 경우에는 return_next 구문을 쓸 수 없음" -#: plperl.c:3357 +#: plperl.c:3366 #, c-format msgid "" "SETOF-composite-returning PL/Perl function must call return_next with " @@ -218,20 +223,17 @@ msgstr "" "SETOF-composite-returning PL/Perl 함수는 return_next 에서 해시 자료형을 참조" "해야 함" -#: plperl.c:4132 +#: plperl.c:4148 #, c-format msgid "PL/Perl function \"%s\"" msgstr "\"%s\" PL/Perl 함수" -#: plperl.c:4144 +#: plperl.c:4160 #, c-format msgid "compilation of PL/Perl function \"%s\"" msgstr "\"%s\" PL/Perl 함수 컴필레이션" -#: plperl.c:4153 +#: plperl.c:4169 #, c-format msgid "PL/Perl anonymous code block" msgstr "PL/Perl 익명 코드 블럭" - -#~ msgid "PL/Perl function must return reference to hash or array" -#~ msgstr "PL/Perl 함수는 해시나 배열 자료형을 참조하게 반환해야 함" diff --git a/src/pl/plpgsql/src/po/ko.po b/src/pl/plpgsql/src/po/ko.po index e1397d11028..567aec9e172 100644 --- a/src/pl/plpgsql/src/po/ko.po +++ b/src/pl/plpgsql/src/po/ko.po @@ -4,10 +4,10 @@ # Ioseph Kim , 2010 msgid "" msgstr "" -"Project-Id-Version: plpgsql (PostgreSQL) 13\n" +"Project-Id-Version: plpgsql (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2020-10-05 20:38+0000\n" -"PO-Revision-Date: 2020-10-06 16:39+0900\n" +"POT-Creation-Date: 2023-09-07 05:39+0000\n" +"PO-Revision-Date: 2023-05-30 12:40+0900\n" "Last-Translator: Ioseph Kim \n" "Language-Team: Korean \n" "Language: ko\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: pl_comp.c:436 pl_handler.c:471 +#: pl_comp.c:434 pl_handler.c:496 #, c-format msgid "PL/pgSQL functions cannot accept type %s" msgstr "PL/pgSQL 함수에 %s 형식을 사용할 수 없음" @@ -31,7 +31,7 @@ msgstr "다형적 함수 \"%s\"의 실제 반환 형식을 확인할 수 없음" msgid "trigger functions can only be called as triggers" msgstr "트리거 함수는 트리거로만 호출될 수 있음" -#: pl_comp.c:560 pl_handler.c:455 +#: pl_comp.c:560 pl_handler.c:480 #, c-format msgid "PL/pgSQL functions cannot return type %s" msgstr "PL/pgSQL 함수는 %s 형식을 반환할 수 없음" @@ -53,110 +53,120 @@ msgstr "대신 TG_NARGS 및 TG_ARGV를 통해 트리거의 인수에 액세스 msgid "event trigger functions cannot have declared arguments" msgstr "이벤트 트리거 함수는 선언된 인자(declare argument)를 사용할 수 없음" -#: pl_comp.c:997 +#: pl_comp.c:998 #, c-format msgid "compilation of PL/pgSQL function \"%s\" near line %d" msgstr "PL/pgSQL 함수 \"%s\" 컴파일(%d번째 줄 근처)" -#: pl_comp.c:1020 +#: pl_comp.c:1021 #, c-format msgid "parameter name \"%s\" used more than once" msgstr "\"%s\" 매개 변수가 여러 번 사용 됨" -#: pl_comp.c:1132 +#: pl_comp.c:1135 #, c-format msgid "column reference \"%s\" is ambiguous" msgstr "열 참조 \"%s\" 가 명확하지 않습니다." -#: pl_comp.c:1134 +#: pl_comp.c:1137 #, c-format msgid "It could refer to either a PL/pgSQL variable or a table column." msgstr "PL/pgSQL 변수명도, 테이블 칼럼 이름도 아니여야 함" -#: pl_comp.c:1317 pl_exec.c:5218 pl_exec.c:5583 pl_exec.c:5670 pl_exec.c:5761 -#: pl_exec.c:6749 +#: pl_comp.c:1314 pl_exec.c:5255 pl_exec.c:5428 pl_exec.c:5515 pl_exec.c:5606 +#: pl_exec.c:6624 #, c-format msgid "record \"%s\" has no field \"%s\"" msgstr "\"%s\" 레코드에 \"%s\" 필드가 없음" -#: pl_comp.c:1793 +#: pl_comp.c:1808 #, c-format msgid "relation \"%s\" does not exist" msgstr "\"%s\" 이름의 릴레이션(relation)이 없습니다" -#: pl_comp.c:1891 +#: pl_comp.c:1815 pl_comp.c:1857 +#, c-format +msgid "relation \"%s\" does not have a composite type" +msgstr "\"%s\" 릴레이션에는 복합 자료형이 없습니다" + +#: pl_comp.c:1923 #, c-format msgid "variable \"%s\" has pseudo-type %s" msgstr "\"%s\" 변수에 의사 형식 %s이(가) 있음" -#: pl_comp.c:2080 +#: pl_comp.c:2112 #, c-format msgid "type \"%s\" is only a shell" msgstr "자료형 \"%s\" 는 오로지 shell 에만 있습니다. " -#: pl_comp.c:2162 pl_exec.c:7050 +#: pl_comp.c:2194 pl_exec.c:6925 #, c-format msgid "type %s is not composite" msgstr "%s 자료형은 복합 자료형이 아님" -#: pl_comp.c:2210 pl_comp.c:2263 +#: pl_comp.c:2242 pl_comp.c:2295 #, c-format msgid "unrecognized exception condition \"%s\"" msgstr "인식할 수 없는 예외 조건 \"%s\"" -#: pl_comp.c:2484 +#: pl_comp.c:2524 #, c-format msgid "" "could not determine actual argument type for polymorphic function \"%s\"" msgstr "다형적 함수 \"%s\"의 실제 인수 형식을 확인할 수 없음" -#: pl_exec.c:498 pl_exec.c:935 pl_exec.c:1173 +#: pl_exec.c:511 pl_exec.c:950 pl_exec.c:1185 msgid "during initialization of execution state" msgstr "실행 상태를 초기화하는 동안" -#: pl_exec.c:504 +#: pl_exec.c:517 msgid "while storing call arguments into local variables" msgstr "호출 인수를 로컬 변수에 저장하는 동안" -#: pl_exec.c:592 pl_exec.c:1008 +#: pl_exec.c:605 pl_exec.c:1023 msgid "during function entry" msgstr "함수를 시작하는 동안" -#: pl_exec.c:617 +#: pl_exec.c:628 #, c-format msgid "control reached end of function without RETURN" msgstr "컨트롤이 RETURN 없이 함수 끝에 도달함" -#: pl_exec.c:624 +#: pl_exec.c:634 msgid "while casting return value to function's return type" msgstr "함수의 반환 형식으로 반환 값을 형변환하는 동안" -#: pl_exec.c:637 pl_exec.c:3653 +#: pl_exec.c:646 pl_exec.c:3681 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "" "set-values 함수(테이블 리턴 함수)가 set 정의 없이 사용되었습니다 (테이블과 해" "당 열 alias 지정하세요)" -#: pl_exec.c:763 pl_exec.c:1037 pl_exec.c:1198 +#: pl_exec.c:651 pl_exec.c:3687 +#, c-format +msgid "materialize mode required, but it is not allowed in this context" +msgstr "materialize 모드가 필요합니다만, 이 구문에서는 허용되지 않습니다" + +#: pl_exec.c:778 pl_exec.c:1049 pl_exec.c:1207 msgid "during function exit" msgstr "함수를 종료하는 동안" -#: pl_exec.c:818 pl_exec.c:882 pl_exec.c:3498 +#: pl_exec.c:833 pl_exec.c:897 pl_exec.c:3480 msgid "returned record type does not match expected record type" msgstr "반환된 레코드 형식이 필요한 레코드 형식과 일치하지 않음" -#: pl_exec.c:1033 pl_exec.c:1194 +#: pl_exec.c:1046 pl_exec.c:1204 #, c-format msgid "control reached end of trigger procedure without RETURN" msgstr "컨트롤이 RETURN 없이 트리거 프로시저 끝에 도달함" -#: pl_exec.c:1042 +#: pl_exec.c:1054 #, c-format msgid "trigger procedure cannot return a set" msgstr "트리거 프로시저는 집합을 반환할 수 없음" -#: pl_exec.c:1081 pl_exec.c:1109 +#: pl_exec.c:1093 pl_exec.c:1121 msgid "" "returned row structure does not match the structure of the triggering table" msgstr "반환된 행 구조가 트리거하는 테이블의 구조와 일치하지 않음" @@ -164,7 +174,7 @@ msgstr "반환된 행 구조가 트리거하는 테이블의 구조와 일치하 #. translator: last %s is a phrase such as "during statement block #. local variable initialization" #. -#: pl_exec.c:1244 +#: pl_exec.c:1262 #, c-format msgid "PL/pgSQL function %s line %d %s" msgstr "PL/pgSQL 함수 \"%s\" 의 %d번째 줄 %s" @@ -172,354 +182,349 @@ msgstr "PL/pgSQL 함수 \"%s\" 의 %d번째 줄 %s" #. translator: last %s is a phrase such as "while storing call #. arguments into local variables" #. -#: pl_exec.c:1255 +#: pl_exec.c:1273 #, 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:1263 +#: pl_exec.c:1281 #, c-format msgid "PL/pgSQL function %s line %d at %s" msgstr "PL/pgSQL 함수 \"%s\" 의 %d번째 %s" -#: pl_exec.c:1269 +#: pl_exec.c:1287 #, c-format msgid "PL/pgSQL function %s" msgstr "PL/pgSQL 함수 %s" -#: pl_exec.c:1607 +#: pl_exec.c:1658 msgid "during statement block local variable initialization" msgstr "문 블록 로컬 변수를 초기화하는 동안" -#: pl_exec.c:1705 +#: pl_exec.c:1763 msgid "during statement block entry" msgstr "문 블록을 시작하는 동안" -#: pl_exec.c:1737 +#: pl_exec.c:1795 msgid "during statement block exit" msgstr "문 블록을 종료하는 동안" -#: pl_exec.c:1775 +#: pl_exec.c:1833 msgid "during exception cleanup" msgstr "예외를 정리하는 동안" -#: pl_exec.c:2304 +#: pl_exec.c:2370 #, c-format msgid "" "procedure parameter \"%s\" is an output parameter but corresponding argument " "is not writable" msgstr "\"%s\" 프로시져 인자는 출력 인자인데, 값 변경이 불가능 함" -#: pl_exec.c:2309 +#: pl_exec.c:2375 #, c-format msgid "" "procedure parameter %d is an output parameter but corresponding argument is " "not writable" msgstr "%d 프로시져 인자는 출력 인자인데, 값 변경이 불가능 함" -#: pl_exec.c:2437 +#: pl_exec.c:2409 #, c-format msgid "GET STACKED DIAGNOSTICS cannot be used outside an exception handler" msgstr "GET STACKED DIAGNOSTICS 구문은 예외처리 헨들러 밖에서 사용할 수 없음" -#: pl_exec.c:2637 +#: pl_exec.c:2615 #, c-format msgid "case not found" msgstr "사례를 찾지 못함" -#: pl_exec.c:2638 +#: pl_exec.c:2616 #, c-format msgid "CASE statement is missing ELSE part." msgstr "CASE 문에 ELSE 부분이 누락되었습니다." -#: pl_exec.c:2731 +#: pl_exec.c:2709 #, c-format msgid "lower bound of FOR loop cannot be null" msgstr "FOR 루프의 하한은 null일 수 없음" -#: pl_exec.c:2747 +#: pl_exec.c:2725 #, c-format msgid "upper bound of FOR loop cannot be null" msgstr "FOR 루프의 상한은 null일 수 없음" -#: pl_exec.c:2765 +#: pl_exec.c:2743 #, c-format msgid "BY value of FOR loop cannot be null" msgstr "FOR 루프의 BY 값은 null일 수 없음" -#: pl_exec.c:2771 +#: pl_exec.c:2749 #, c-format msgid "BY value of FOR loop must be greater than zero" msgstr "FOR 루프의 BY 값은 0보다 커야 함" -#: pl_exec.c:2905 pl_exec.c:4632 +#: pl_exec.c:2883 pl_exec.c:4688 #, c-format msgid "cursor \"%s\" already in use" msgstr "\"%s\" 커서가 이미 사용 중임" -#: pl_exec.c:2928 pl_exec.c:4697 +#: pl_exec.c:2906 pl_exec.c:4758 #, c-format msgid "arguments given for cursor without arguments" msgstr "인수가 없는 커서에 인수가 제공됨" -#: pl_exec.c:2947 pl_exec.c:4716 +#: pl_exec.c:2925 pl_exec.c:4777 #, c-format msgid "arguments required for cursor" msgstr "커서에 인수 필요" -#: pl_exec.c:3034 +#: pl_exec.c:3016 #, c-format msgid "FOREACH expression must not be null" msgstr "FOREACH 구문은 null 이 아니여야 함" -#: pl_exec.c:3049 +#: pl_exec.c:3031 #, c-format msgid "FOREACH expression must yield an array, not type %s" msgstr "FOREACH 구문에서는 배열이 사용됩니다. 사용된 자료형 %s" -#: pl_exec.c:3066 +#: pl_exec.c:3048 #, c-format msgid "slice dimension (%d) is out of the valid range 0..%d" msgstr "slice dimension (%d) 값이 범위를 벗어남, 0..%d" -#: pl_exec.c:3093 +#: pl_exec.c:3075 #, c-format msgid "FOREACH ... SLICE loop variable must be of an array type" msgstr "FOREACH ... SLICE 루프 변수는 배열 자료형이어야 함" -#: pl_exec.c:3097 +#: pl_exec.c:3079 #, c-format msgid "FOREACH loop variable must not be of an array type" msgstr "FOREACH 반복 변수는 배열형이 아니여야 함" -#: pl_exec.c:3259 pl_exec.c:3316 pl_exec.c:3491 +#: pl_exec.c:3241 pl_exec.c:3298 pl_exec.c:3473 #, c-format msgid "" "cannot return non-composite value from function returning composite type" msgstr "" "함수의 반환값이 복합 자료형인데, 복합 자료형아닌 자료형을 반환하려고 함" -#: pl_exec.c:3355 pl_gram.y:3309 +#: pl_exec.c:3337 pl_gram.y:3295 #, c-format msgid "cannot use RETURN NEXT in a non-SETOF function" msgstr "SETOF 함수가 아닌 함수에서 RETURN NEXT를 사용할 수 없음" -#: pl_exec.c:3396 pl_exec.c:3528 +#: pl_exec.c:3378 pl_exec.c:3510 #, c-format msgid "wrong result type supplied in RETURN NEXT" msgstr "RETURN NEXT에 잘못된 결과 형식이 제공됨" -#: pl_exec.c:3434 pl_exec.c:3455 +#: pl_exec.c:3416 pl_exec.c:3437 #, c-format msgid "wrong record type supplied in RETURN NEXT" msgstr "RETURN NEXT에 잘못된 레코드 형식이 제공됨" -#: pl_exec.c:3547 +#: pl_exec.c:3529 #, c-format msgid "RETURN NEXT must have a parameter" msgstr "RETURN NEXT에 매개 변수 필요" -#: pl_exec.c:3573 pl_gram.y:3373 +#: pl_exec.c:3557 pl_gram.y:3359 #, c-format msgid "cannot use RETURN QUERY in a non-SETOF function" msgstr "SETOF 함수가 아닌 함수에서 RETURN QUERY를 사용할 수 없음" -#: pl_exec.c:3597 +#: pl_exec.c:3575 msgid "structure of query does not match function result type" msgstr "쿼리 구조가 함수 결과 형식과 일치하지 않음" -#: pl_exec.c:3681 pl_exec.c:3819 +#: pl_exec.c:3630 pl_exec.c:4465 pl_exec.c:8724 +#, c-format +msgid "query string argument of EXECUTE is null" +msgstr "EXECUTE의 쿼리 문자열 인수가 null임" + +#: pl_exec.c:3715 pl_exec.c:3853 #, c-format msgid "RAISE option already specified: %s" msgstr "RAISE 옵션이 이미 지정됨: %s" -#: pl_exec.c:3715 +#: pl_exec.c:3749 #, c-format msgid "RAISE without parameters cannot be used outside an exception handler" msgstr "매개 변수 없는 RAISE를 예외 처리기 외부에 사용할 수 없음" -#: pl_exec.c:3809 +#: pl_exec.c:3843 #, c-format msgid "RAISE statement option cannot be null" msgstr "RAISE 문 옵션이 null일 수 없음" -#: pl_exec.c:3879 +#: pl_exec.c:3913 #, c-format msgid "%s" msgstr "%s" -#: pl_exec.c:3934 +#: pl_exec.c:3968 #, c-format msgid "assertion failed" msgstr "assertion 실패" -#: pl_exec.c:4281 pl_exec.c:4471 +#: pl_exec.c:4338 pl_exec.c:4527 #, c-format msgid "cannot COPY to/from client in PL/pgSQL" msgstr "PL/pgSQL의 클라이언트와 상호 복사할 수 없음" -#: pl_exec.c:4287 +#: pl_exec.c:4344 #, c-format msgid "unsupported transaction command in PL/pgSQL" msgstr "PL/pgSQL 안에서는 지원하지 않는 트랜잭션 명령" -#: pl_exec.c:4310 pl_exec.c:4500 +#: pl_exec.c:4367 pl_exec.c:4556 #, c-format msgid "INTO used with a command that cannot return data" msgstr "데이터를 반환할 수 없는 명령과 함께 INTO가 사용됨" -#: pl_exec.c:4333 pl_exec.c:4523 +#: pl_exec.c:4390 pl_exec.c:4579 #, c-format msgid "query returned no rows" msgstr "쿼리에서 행을 반환하지 않음" -#: pl_exec.c:4355 pl_exec.c:4542 +#: pl_exec.c:4412 pl_exec.c:4598 pl_exec.c:5750 #, c-format msgid "query returned more than one row" msgstr "쿼리에서 두 개 이상의 행을 반환" -#: pl_exec.c:4357 +#: pl_exec.c:4414 #, c-format msgid "Make sure the query returns a single row, or use LIMIT 1." msgstr "하나의 로우만 반환하도록 쿼리를 바꾸거나 LIMIT 1 옵션을 추가하세요." -#: pl_exec.c:4373 +#: pl_exec.c:4430 #, c-format msgid "query has no destination for result data" msgstr "쿼리에 결과 데이터의 대상이 없음" -#: pl_exec.c:4374 +#: pl_exec.c:4431 #, c-format msgid "If you want to discard the results of a SELECT, use PERFORM instead." msgstr "SELECT의 결과를 취소하려면 대신 PERFORM을 사용하십시오." -#: pl_exec.c:4407 pl_exec.c:8729 -#, c-format -msgid "query string argument of EXECUTE is null" -msgstr "EXECUTE의 쿼리 문자열 인수가 null임" - -#: pl_exec.c:4463 +#: pl_exec.c:4519 #, c-format msgid "EXECUTE of SELECT ... INTO is not implemented" msgstr "SELECT의 EXECUTE... INTO가 구현되지 않음" -#: pl_exec.c:4464 +#: pl_exec.c:4520 #, c-format msgid "" "You might want to use EXECUTE ... INTO or EXECUTE CREATE TABLE ... AS " "instead." msgstr "EXECUTE ... INTO 또는 EXECUTE CREATE TABLE ... AS 구문을 사용하세요." -#: pl_exec.c:4477 +#: pl_exec.c:4533 #, c-format msgid "EXECUTE of transaction commands is not implemented" msgstr "트랜잭션 명령들의 EXECUTE 기능은 구현되지 않았음" -#: pl_exec.c:4778 pl_exec.c:4866 +#: pl_exec.c:4843 pl_exec.c:4931 #, c-format msgid "cursor variable \"%s\" is null" msgstr "커서 변수 \"%s\"이(가) null임" -#: pl_exec.c:4789 pl_exec.c:4877 +#: pl_exec.c:4854 pl_exec.c:4942 #, c-format msgid "cursor \"%s\" does not exist" msgstr "\"%s\" 이름의 커서가 없음" -#: pl_exec.c:4802 +#: pl_exec.c:4867 #, c-format msgid "relative or absolute cursor position is null" msgstr "상대 또는 절대 커서 위치가 null임" -#: pl_exec.c:5068 pl_exec.c:5163 +#: pl_exec.c:5105 pl_exec.c:5200 #, c-format msgid "null value cannot be assigned to variable \"%s\" declared NOT NULL" msgstr "NOT NULL이 선언된 \"%s\" 변수에 null 값을 할당할 수 없음" -#: pl_exec.c:5144 +#: pl_exec.c:5181 #, c-format msgid "cannot assign non-composite value to a row variable" msgstr "행 변수에 비복합 값을 할당할 수 없음" -#: pl_exec.c:5176 +#: pl_exec.c:5213 #, c-format msgid "cannot assign non-composite value to a record variable" msgstr "레코드 변수에 비복합 값을 할당할 수 없음" -#: pl_exec.c:5227 +#: pl_exec.c:5264 #, c-format msgid "cannot assign to system column \"%s\"" msgstr "시스템 열 \"%s\"에 할당할 수 없습니다." -#: pl_exec.c:5291 -#, c-format -msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" -msgstr "지정한 배열 크기(%d)가 최대치(%d)를 초과했습니다" - -#: pl_exec.c:5323 -#, c-format -msgid "subscripted object is not an array" -msgstr "하위 스크립트 개체는 배열이 아님" - -#: pl_exec.c:5361 +#: pl_exec.c:5713 #, c-format -msgid "array subscript in assignment must not be null" -msgstr "배열 하위 스크립트로 지정하는 값으로 null 값을 사용할 수 없습니다" +msgid "query did not return data" +msgstr "쿼리 실행 결과 자료가 없음" -#: pl_exec.c:5868 +#: pl_exec.c:5714 pl_exec.c:5726 pl_exec.c:5751 pl_exec.c:5827 pl_exec.c:5832 #, c-format -msgid "query \"%s\" did not return data" -msgstr "\"%s\" 쿼리에서 데이터를 반환하지 않음" +msgid "query: %s" +msgstr "쿼리: %s" -#: pl_exec.c:5876 +#: pl_exec.c:5722 #, c-format -msgid "query \"%s\" returned %d column" -msgid_plural "query \"%s\" returned %d columns" -msgstr[0] "\"%s\" 쿼리가 %d 개의 칼럼을 반환함" +msgid "query returned %d column" +msgid_plural "query returned %d columns" +msgstr[0] "쿼리가 %d 개의 칼럼을 반환함" -#: pl_exec.c:5904 +#: pl_exec.c:5826 #, c-format -msgid "query \"%s\" returned more than one row" -msgstr "\"%s\" 쿼리에서 두 개 이상의 행을 반환함" +msgid "query is SELECT INTO, but it should be plain SELECT" +msgstr "쿼리는 SELECT INTO 이지만, 일반 SELECT 구문이어야 함" -#: pl_exec.c:5967 +#: pl_exec.c:5831 #, c-format -msgid "query \"%s\" is not a SELECT" -msgstr "\"%s\" 쿼리가 SELECT가 아님" +msgid "query is not a SELECT" +msgstr "SELECT 쿼리가 아님" -#: pl_exec.c:6763 pl_exec.c:6803 pl_exec.c:6843 +#: pl_exec.c:6638 pl_exec.c:6678 pl_exec.c:6718 #, c-format msgid "" "type of parameter %d (%s) does not match that when preparing the plan (%s)" msgstr "" "%d번째 매개 변수의 자료형(%s)이 미리 준비된 실행계획의 자료형(%s)과 다릅니다" -#: pl_exec.c:7254 pl_exec.c:7288 pl_exec.c:7362 pl_exec.c:7388 +#: pl_exec.c:7129 pl_exec.c:7163 pl_exec.c:7237 pl_exec.c:7263 #, 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:7256 pl_exec.c:7290 pl_exec.c:7364 pl_exec.c:7390 +#: pl_exec.c:7131 pl_exec.c:7165 pl_exec.c:7239 pl_exec.c:7265 #, c-format msgid "%s check of %s is active." msgstr "%s 검사(해당 변수이름: %s)가 활성화 되어있습니다." -#: pl_exec.c:7260 pl_exec.c:7294 pl_exec.c:7368 pl_exec.c:7394 +#: pl_exec.c:7135 pl_exec.c:7169 pl_exec.c:7243 pl_exec.c:7269 #, c-format msgid "Make sure the query returns the exact list of columns." msgstr "쿼리 결과가 정확한 칼럼 목록을 반환하도록 수정하세요." -#: pl_exec.c:7781 +#: pl_exec.c:7656 #, c-format msgid "record \"%s\" is not assigned yet" msgstr "\"%s\" 레코드가 아직 할당되지 않음" -#: pl_exec.c:7782 +#: pl_exec.c:7657 #, c-format msgid "The tuple structure of a not-yet-assigned record is indeterminate." msgstr "아직 할당되지 않은 레코드의 튜플 구조는 미정입니다." +#: pl_exec.c:8322 pl_gram.y:3418 +#, c-format +msgid "variable \"%s\" is declared CONSTANT" +msgstr "\"%s\" 변수는 CONSTANT로 선언됨" + #: pl_funcs.c:237 msgid "statement block" msgstr "문 블록" @@ -552,55 +557,55 @@ msgstr "SQL 문" msgid "FOR over EXECUTE statement" msgstr "EXECUTE 문을 제어하는 FOR" -#: pl_gram.y:489 +#: pl_gram.y:485 #, c-format msgid "block label must be placed before DECLARE, not after" msgstr "블록 라벨은 DECLARE 영역 앞에 있어야 함" -#: pl_gram.y:509 +#: pl_gram.y:505 #, c-format msgid "collations are not supported by type %s" msgstr "%s 자료형은 collation 지원 안함" -#: pl_gram.y:528 +#: pl_gram.y:524 #, c-format msgid "variable \"%s\" must have a default value, since it's declared NOT NULL" msgstr "\"%s\" 변수는 NOT NULL 설정이 있어 기본값을 가져야 합니다" -#: pl_gram.y:675 pl_gram.y:690 pl_gram.y:716 +#: pl_gram.y:645 pl_gram.y:660 pl_gram.y:686 #, c-format msgid "variable \"%s\" does not exist" msgstr "\"%s\" 변수가 없음" -#: pl_gram.y:734 pl_gram.y:762 +#: pl_gram.y:704 pl_gram.y:732 msgid "duplicate declaration" msgstr "중복 선언" -#: pl_gram.y:745 pl_gram.y:773 +#: pl_gram.y:715 pl_gram.y:743 #, c-format msgid "variable \"%s\" shadows a previously defined variable" msgstr "variable \"%s\" shadows a previously defined variable" -#: pl_gram.y:993 +#: pl_gram.y:1016 #, c-format msgid "diagnostics item %s is not allowed in GET STACKED DIAGNOSTICS" msgstr "GET STACKED DIAGNOSTICS 에서 %s 항목을 사용할 수 없음" -#: pl_gram.y:1011 +#: pl_gram.y:1034 #, c-format msgid "diagnostics item %s is not allowed in GET CURRENT DIAGNOSTICS" msgstr "GET CURRENT DIAGNOSTICS 에서 %s 항목을 사용할 수 없음" -#: pl_gram.y:1106 +#: pl_gram.y:1132 msgid "unrecognized GET DIAGNOSTICS item" msgstr "알 수 없는 GET DIAGNOSTICS 항목" -#: pl_gram.y:1116 pl_gram.y:3553 +#: pl_gram.y:1148 pl_gram.y:3534 #, c-format msgid "\"%s\" is not a scalar variable" msgstr "\"%s\"은(는) 스칼라 변수가 아님" -#: pl_gram.y:1370 pl_gram.y:1567 +#: pl_gram.y:1378 pl_gram.y:1572 #, c-format msgid "" "loop variable of loop over rows must be a record variable or list of scalar " @@ -608,229 +613,224 @@ msgid "" msgstr "" "행에 있는 루프의 루프 변수는 레코드 변수이거나 스칼라 변수의 목록이어야 함" -#: pl_gram.y:1405 +#: pl_gram.y:1413 #, c-format msgid "cursor FOR loop must have only one target variable" msgstr "커서 FOR 루프에 대상 변수가 한 개만 있어야 함" -#: pl_gram.y:1412 +#: pl_gram.y:1420 #, c-format msgid "cursor FOR loop must use a bound cursor variable" msgstr "커서 FOR 루프는 바인딩된 커서 변수를 한 개만 사용해야 함" -#: pl_gram.y:1499 +#: pl_gram.y:1511 #, c-format msgid "integer FOR loop must have only one target variable" msgstr "정수 FOR 루프에 대상 변수가 한 개만 있어야 함" -#: pl_gram.y:1537 +#: pl_gram.y:1545 #, c-format msgid "cannot specify REVERSE in query FOR loop" msgstr "쿼리 FOR 루프에 REVERSE를 지정할 수 없음" -#: pl_gram.y:1670 +#: pl_gram.y:1675 #, c-format msgid "loop variable of FOREACH must be a known variable or list of variables" msgstr "FOREACH의 반복 변수는 알려진 변수이거나 변수의 목록이어야 함" -#: pl_gram.y:1712 +#: pl_gram.y:1717 #, c-format msgid "" "there is no label \"%s\" attached to any block or loop enclosing this " "statement" msgstr "임의 블록이나 루프 구문에 할당된 \"%s\" 라벨이 없음" -#: pl_gram.y:1720 +#: pl_gram.y:1725 #, c-format msgid "block label \"%s\" cannot be used in CONTINUE" msgstr "CONTINUE 안에서 \"%s\" 블록 라벨을 사용할 수 없음" -#: pl_gram.y:1735 +#: pl_gram.y:1740 #, c-format msgid "EXIT cannot be used outside a loop, unless it has a label" msgstr "루프 외부에 라벨 지정 없이 EXIT 사용할 수 없음" -#: pl_gram.y:1736 +#: pl_gram.y:1741 #, c-format msgid "CONTINUE cannot be used outside a loop" msgstr "CONTINUE를 루프 외부에 사용할 수 없음" -#: pl_gram.y:1760 pl_gram.y:1798 pl_gram.y:1846 pl_gram.y:2998 pl_gram.y:3083 -#: pl_gram.y:3194 pl_gram.y:3957 +#: 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 msgid "unexpected end of function definition" msgstr "예기치 않은 함수 정의의 끝" -#: pl_gram.y:1866 pl_gram.y:1890 pl_gram.y:1906 pl_gram.y:1912 pl_gram.y:2031 -#: pl_gram.y:2039 pl_gram.y:2053 pl_gram.y:2148 pl_gram.y:2399 pl_gram.y:2493 -#: pl_gram.y:2652 pl_gram.y:3799 pl_gram.y:3860 pl_gram.y:3938 +#: pl_gram.y:1871 pl_gram.y:1895 pl_gram.y:1911 pl_gram.y:1917 pl_gram.y:2042 +#: pl_gram.y:2050 pl_gram.y:2064 pl_gram.y:2159 pl_gram.y:2383 pl_gram.y:2473 +#: pl_gram.y:2632 pl_gram.y:3776 pl_gram.y:3837 pl_gram.y:3914 msgid "syntax error" msgstr "구문 오류" -#: pl_gram.y:1894 pl_gram.y:1896 pl_gram.y:2403 pl_gram.y:2405 +#: pl_gram.y:1899 pl_gram.y:1901 pl_gram.y:2387 pl_gram.y:2389 msgid "invalid SQLSTATE code" msgstr "잘못된 SQLSTATE 코드" -#: pl_gram.y:2096 +#: pl_gram.y:2107 msgid "syntax error, expected \"FOR\"" msgstr "구문 오류, \"FOR\" 필요" -#: pl_gram.y:2157 +#: pl_gram.y:2168 #, c-format msgid "FETCH statement cannot return multiple rows" msgstr "FETCH 구문은 다중 로우를 반환할 수 없음" -#: pl_gram.y:2281 +#: pl_gram.y:2265 #, c-format msgid "cursor variable must be a simple variable" msgstr "커서 변수는 단순 변수여야 함" -#: pl_gram.y:2287 +#: pl_gram.y:2271 #, c-format msgid "variable \"%s\" must be of type cursor or refcursor" msgstr "\"%s\" 변수는 커서 또는 ref 커서 형식이어야 함" -#: pl_gram.y:2623 pl_gram.y:2634 +#: pl_gram.y:2603 pl_gram.y:2614 #, c-format msgid "\"%s\" is not a known variable" msgstr "\"%s\" (은)는 알려진 변수가 아님" -#: pl_gram.y:2738 pl_gram.y:2748 pl_gram.y:2903 +#: pl_gram.y:2720 pl_gram.y:2730 pl_gram.y:2886 msgid "mismatched parentheses" msgstr "괄호의 짝이 맞지 않음" -#: pl_gram.y:2752 +#: pl_gram.y:2734 #, c-format msgid "missing \"%s\" at end of SQL expression" msgstr "SQL 식 끝에 \"%s\" 누락" -#: pl_gram.y:2758 +#: pl_gram.y:2740 #, c-format msgid "missing \"%s\" at end of SQL statement" msgstr "SQL 문 끝에 \"%s\" 누락" -#: pl_gram.y:2775 +#: pl_gram.y:2757 msgid "missing expression" msgstr "표현식 빠졌음" -#: pl_gram.y:2777 +#: pl_gram.y:2759 msgid "missing SQL statement" msgstr "SQL 문이 빠졌음" -#: pl_gram.y:2905 +#: pl_gram.y:2888 msgid "incomplete data type declaration" msgstr "불완전한 데이터 형식 선언" -#: pl_gram.y:2928 +#: pl_gram.y:2911 msgid "missing data type declaration" msgstr "데이터 형식 선언 누락" -#: pl_gram.y:3006 +#: pl_gram.y:2991 msgid "INTO specified more than once" msgstr "INTO가 여러 번 지정됨" -#: pl_gram.y:3175 +#: pl_gram.y:3161 msgid "expected FROM or IN" msgstr "FROM 또는 IN 필요" -#: pl_gram.y:3236 +#: pl_gram.y:3222 #, c-format msgid "RETURN cannot have a parameter in function returning set" msgstr "집합을 반환하는 함수에서 RETURN 구문에는 인자가 없음" -#: pl_gram.y:3237 +#: pl_gram.y:3223 #, c-format msgid "Use RETURN NEXT or RETURN QUERY." msgstr "RETURN NEXT 나 RETURN QUERY 구문을 사용하세요." -#: pl_gram.y:3247 +#: pl_gram.y:3233 #, c-format msgid "RETURN cannot have a parameter in a procedure" msgstr "프로시져에서는 RETURN 문의 매개 변수를 사용할 수 없음" -#: pl_gram.y:3252 +#: pl_gram.y:3238 #, c-format msgid "RETURN cannot have a parameter in function returning void" msgstr "RETURN은 void를 반환하는 함수에 매개 변수를 포함할 수 없음" -#: pl_gram.y:3261 +#: pl_gram.y:3247 #, c-format msgid "RETURN cannot have a parameter in function with OUT parameters" msgstr "RETURN은 OUT 매개 변수가 있는 함수에 매개 변수를 포함할 수 없음" -#: pl_gram.y:3324 +#: pl_gram.y:3310 #, c-format msgid "RETURN NEXT cannot have a parameter in function with OUT parameters" msgstr "RETURN NEXT는 OUT 매개 변수가 있는 함수에 매개 변수를 포함할 수 없음" -#: pl_gram.y:3432 -#, c-format -msgid "variable \"%s\" is declared CONSTANT" -msgstr "\"%s\" 변수는 CONSTANT로 선언됨" - -#: pl_gram.y:3495 +#: pl_gram.y:3476 #, c-format msgid "record variable cannot be part of multiple-item INTO list" msgstr "다중 아이템 INTO 목록의 부분으로 record 변수가 사용될 수 없음" -#: pl_gram.y:3541 +#: pl_gram.y:3522 #, c-format msgid "too many INTO variables specified" msgstr "너무 많은 INTO 변수가 지정됨" -#: pl_gram.y:3752 +#: pl_gram.y:3730 #, c-format msgid "end label \"%s\" specified for unlabeled block" msgstr "레이블이 없는 블록에 끝 레이블 \"%s\"이(가) 지정됨" -#: pl_gram.y:3759 +#: pl_gram.y:3737 #, c-format msgid "end label \"%s\" differs from block's label \"%s\"" msgstr "끝 레이블 \"%s\"이(가) 블록의 \"%s\" 레이블과 다름" -#: pl_gram.y:3794 +#: pl_gram.y:3771 #, c-format msgid "cursor \"%s\" has no arguments" msgstr "\"%s\" 커서에 인수가 없음" -#: pl_gram.y:3808 +#: pl_gram.y:3785 #, c-format msgid "cursor \"%s\" has arguments" msgstr "\"%s\" 커서에 인수가 있음" -#: pl_gram.y:3850 +#: pl_gram.y:3827 #, c-format msgid "cursor \"%s\" has no argument named \"%s\"" msgstr "\"%s\" 커서는 \"%s\" 이름의 인자가 없음" -#: pl_gram.y:3870 +#: pl_gram.y:3847 #, c-format msgid "value for parameter \"%s\" of cursor \"%s\" specified more than once" msgstr "\"%s\" 이름의 인자가 \"%s\" 커서에서 중복됨" -#: pl_gram.y:3895 +#: pl_gram.y:3872 #, c-format msgid "not enough arguments for cursor \"%s\"" msgstr "\"%s\" 커서를 위한 충분하지 않은 인자" -#: pl_gram.y:3902 +#: pl_gram.y:3879 #, c-format msgid "too many arguments for cursor \"%s\"" msgstr "\"%s\" 커서를 위한 인자가 너무 많음" -#: pl_gram.y:3989 +#: pl_gram.y:3965 msgid "unrecognized RAISE statement option" msgstr "인식할 수 없는 RAISE 문 옵션" -#: pl_gram.y:3993 +#: pl_gram.y:3969 msgid "syntax error, expected \"=\"" msgstr "구문 오류, \"=\" 필요" -#: pl_gram.y:4034 +#: pl_gram.y:4010 #, c-format msgid "too many parameters specified for RAISE" msgstr "RAISE에 지정된 매개 변수가 너무 많음" -#: pl_gram.y:4038 +#: pl_gram.y:4014 #, c-format msgid "too few parameters specified for RAISE" msgstr "RAISE에 지정된 매개 변수가 너무 적음" diff --git a/src/pl/plpython/po/el.po b/src/pl/plpython/po/el.po index cfe112353a0..a606ad11071 100644 --- a/src/pl/plpython/po/el.po +++ b/src/pl/plpython/po/el.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: plpython (PostgreSQL) 14\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2021-07-15 06:08+0000\n" -"PO-Revision-Date: 2021-07-15 09:57+0200\n" +"POT-Creation-Date: 2023-08-15 13:38+0000\n" +"PO-Revision-Date: 2023-08-15 16:14+0200\n" "Last-Translator: Georgios Kokolatos \n" "Language-Team: \n" "Language: el\n" @@ -18,7 +18,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Poedit 2.4.3\n" +"X-Generator: Poedit 3.3.2\n" #: plpy_cursorobject.c:72 #, c-format @@ -30,12 +30,12 @@ msgstr "plpy.cursor ανέμενε ένα ερώτημα ή ένα σχέδιο" msgid "plpy.cursor takes a sequence as its second argument" msgstr "plpy.cursor λαμβάνει μια ακολουθία ως τη δεύτερη παράμετρο" -#: plpy_cursorobject.c:171 plpy_spi.c:207 +#: plpy_cursorobject.c:171 plpy_spi.c:205 #, c-format msgid "could not execute plan" msgstr "δεν ήταν δυνατή η εκτέλεση του σχεδίου" -#: plpy_cursorobject.c:174 plpy_spi.c:210 +#: plpy_cursorobject.c:174 plpy_spi.c:208 #, c-format msgid "Expected sequence of %d argument, got %d: %s" msgid_plural "Expected sequence of %d arguments, got %d: %s" @@ -57,7 +57,7 @@ msgstr "επαναλαμβάνει ένα δρομέα σε μία ματαιω msgid "fetch from a closed cursor" msgstr "ανάκτηση από κλειστό δρομέα" -#: plpy_cursorobject.c:430 plpy_spi.c:403 +#: plpy_cursorobject.c:430 plpy_spi.c:401 #, c-format msgid "query result has too many rows to fit in a Python list" msgstr "το αποτέλεσμα του ερωτήματος έχει πάρα πολλές σειρές για να χωρέσει σε μια λίστα Python" @@ -67,7 +67,7 @@ msgstr "το αποτέλεσμα του ερωτήματος έχει πάρα msgid "closing a cursor in an aborted subtransaction" msgstr "κλείσιμο ενός δρομέα σε μία ματαιωμένη υποσυναλλαγή" -#: plpy_elog.c:125 plpy_elog.c:126 plpy_plpymodule.c:548 +#: plpy_elog.c:125 plpy_elog.c:126 plpy_plpymodule.c:530 #, c-format msgid "%s" msgstr "%s" @@ -107,166 +107,166 @@ msgstr "διεργασία PL/Python δεν επέστρεψε None" msgid "PL/Python function with return type \"void\" did not return None" msgstr "συνάρτηση PL/Python με τύπο επιστροφής «void» δεν επέστρεψε None" -#: plpy_exec.c:371 plpy_exec.c:397 +#: plpy_exec.c:369 plpy_exec.c:393 #, c-format msgid "unexpected return value from trigger procedure" msgstr "μη αναμενόμενη τιμή επιστροφής από διεργασία εναύσματος" -#: plpy_exec.c:372 +#: plpy_exec.c:370 #, c-format msgid "Expected None or a string." msgstr "Αναμενόταν None ή μία συμβολοσειρά." -#: plpy_exec.c:387 +#: plpy_exec.c:383 #, c-format msgid "PL/Python trigger function returned \"MODIFY\" in a DELETE trigger -- ignored" msgstr "συνάρτηση εναύσματος PL/Python επέστρεψε «MODIFY» σε ένα έναυσμα DELETE -- παραβλέφθηκε" -#: plpy_exec.c:398 +#: plpy_exec.c:394 #, c-format msgid "Expected None, \"OK\", \"SKIP\", or \"MODIFY\"." msgstr "Αναμενόταν None, «OK», «SKIP», ή «MODIFY»." -#: plpy_exec.c:443 +#: plpy_exec.c:444 #, c-format msgid "PyList_SetItem() failed, while setting up arguments" msgstr "PyList_SetItem() απέτυχε, κατά τη διάρκεια ετοιμασίας των παραμέτρων" -#: plpy_exec.c:447 +#: plpy_exec.c:448 #, c-format msgid "PyDict_SetItemString() failed, while setting up arguments" msgstr "PyDict_SetItemString() απέτυχε, κατά τη διάρκεια ετοιμασίας των παραμέτρων" -#: plpy_exec.c:459 +#: plpy_exec.c:460 #, c-format msgid "function returning record called in context that cannot accept type record" msgstr "συνάρτηση που επιστρέφει εγγραφή καλείται σε περιεχόμενο που δεν δύναται να αποδεχτεί τύπο εγγραφής" -#: plpy_exec.c:676 +#: plpy_exec.c:677 #, c-format msgid "while creating return value" msgstr "κατά τη δημιουργία τιμής επιστροφής" -#: plpy_exec.c:910 +#: plpy_exec.c:924 #, c-format msgid "TD[\"new\"] deleted, cannot modify row" msgstr "TD[«new»] διαγράφηκε, δεν είναι δυνατή η μετατροπή σειράς" -#: plpy_exec.c:915 +#: plpy_exec.c:929 #, c-format msgid "TD[\"new\"] is not a dictionary" msgstr "TD[«new»] δεν είναι ένα λεξικό" -#: plpy_exec.c:942 +#: plpy_exec.c:954 #, c-format msgid "TD[\"new\"] dictionary key at ordinal position %d is not a string" msgstr "TD[«new»] κλειδί λεξικού στη τακτή θέση %d δεν είναι μία συμβολοσειρά" -#: plpy_exec.c:949 +#: plpy_exec.c:961 #, c-format msgid "key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering row" msgstr "κλειδί «%s» που βρίσκεται στο TD[\"New\"] δεν υπάρχει ως στήλη στη γραμμή εναύσματος" -#: plpy_exec.c:954 +#: plpy_exec.c:966 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "δεν είναι δυνατός ο ορισμός του χαρακτηριστικού συστήματος «%s»" -#: plpy_exec.c:959 +#: plpy_exec.c:971 #, c-format msgid "cannot set generated column \"%s\"" msgstr "δεν είναι δυνατός ο ορισμός δημιουργημένης στήλης «%s»" -#: plpy_exec.c:1017 +#: plpy_exec.c:1029 #, c-format msgid "while modifying trigger row" msgstr "κατά την τροποποίηση εναύσματος σειράς" -#: plpy_exec.c:1075 +#: plpy_exec.c:1087 #, c-format msgid "forcibly aborting a subtransaction that has not been exited" msgstr "βίαιη ματαίωση μιας υποσυναλλαγής που δεν έχει εξέλθει" -#: plpy_main.c:121 +#: plpy_main.c:109 #, c-format msgid "multiple Python libraries are present in session" msgstr "υπάρχουν πολλαπλές βιβλιοθήκες Python στη συνεδρία" -#: plpy_main.c:122 +#: plpy_main.c:110 #, c-format msgid "Only one Python major version can be used in one session." msgstr "Μόνο μία κύρια έκδοση Python μπορεί να χρησιμοποιηθεί σε μία συνεδρία." -#: plpy_main.c:138 +#: plpy_main.c:122 #, c-format msgid "untrapped error in initialization" msgstr "μη παγιδευμένο σφάλμα κατά την προετοιμασία" -#: plpy_main.c:161 +#: plpy_main.c:145 #, c-format msgid "could not import \"__main__\" module" msgstr "δεν ήταν δυνατή η εισαγωγή του αρθρώματος «__main__»" -#: plpy_main.c:170 +#: plpy_main.c:154 #, c-format msgid "could not initialize globals" msgstr "δεν ήταν δυνατή η αρχικοποίηση καθολικών μεταβλητών" -#: plpy_main.c:393 +#: plpy_main.c:352 #, c-format msgid "PL/Python procedure \"%s\"" msgstr "διεργασία PL/Python «%s»" -#: plpy_main.c:396 +#: plpy_main.c:355 #, c-format msgid "PL/Python function \"%s\"" msgstr "συνάρτηση PL/Python «%s»" -#: plpy_main.c:404 +#: plpy_main.c:363 #, c-format msgid "PL/Python anonymous code block" msgstr "ονώνυμο μπλοκ κώδικα PL/Python" -#: plpy_plpymodule.c:182 plpy_plpymodule.c:185 +#: plpy_plpymodule.c:168 plpy_plpymodule.c:171 #, c-format msgid "could not import \"plpy\" module" msgstr "δεν ήταν δυνατή η εισαγωγή του αρθρώματος «plpy»" -#: plpy_plpymodule.c:200 +#: plpy_plpymodule.c:182 #, c-format msgid "could not create the spiexceptions module" msgstr "δεν ήταν δυνατή η δημιουργία του αρθρώματος spiexceptions" -#: plpy_plpymodule.c:208 +#: plpy_plpymodule.c:190 #, c-format msgid "could not add the spiexceptions module" msgstr "δεν ήταν δυνατή η πρόσθεση του αρθρώματος spiexceptions" -#: plpy_plpymodule.c:275 +#: plpy_plpymodule.c:257 #, c-format msgid "could not generate SPI exceptions" msgstr "δεν ήταν δυνατή η του αρθρώματος spiexceptions" -#: plpy_plpymodule.c:443 +#: plpy_plpymodule.c:425 #, c-format msgid "could not unpack arguments in plpy.elog" msgstr "δεν ήταν δυνατή η αποσυσκευασία παραμέτρων στο plpy.elog" -#: plpy_plpymodule.c:452 +#: plpy_plpymodule.c:434 msgid "could not parse error message in plpy.elog" msgstr "δεν ήταν δυνατή η ανάλυση μηνυμάτος σφάλματος στο plpy.elog" -#: plpy_plpymodule.c:469 +#: plpy_plpymodule.c:451 #, c-format msgid "argument 'message' given by name and position" msgstr "παράμετρος «μήνυμα» που δόθηκε με όνομα και θέση" -#: plpy_plpymodule.c:496 +#: plpy_plpymodule.c:478 #, c-format msgid "'%s' is an invalid keyword argument for this function" msgstr "‘%s’ είναι μία άκυρη παράμετρος με λέξη-κλειδί για αυτή τη συνάρτηση" -#: plpy_plpymodule.c:507 plpy_plpymodule.c:513 +#: plpy_plpymodule.c:489 plpy_plpymodule.c:495 #, c-format msgid "invalid SQLSTATE code" msgstr "μη έγκυρος κωδικός SQLSTATE" @@ -286,12 +286,12 @@ msgstr "οι συναρτήσεις PL/Python δεν μπορούν να επι msgid "PL/Python functions cannot accept type %s" msgstr "οι συναρτήσεις PL/Python δεν μπορούν να δεχθούν τύπο %s" -#: plpy_procedure.c:397 +#: plpy_procedure.c:395 #, c-format msgid "could not compile PL/Python function \"%s\"" msgstr "δεν ήταν δυνατή η μεταγλώττιση της συνάρτησης PL/Python «%s»" -#: plpy_procedure.c:400 +#: plpy_procedure.c:398 #, c-format msgid "could not compile anonymous PL/Python code block" msgstr "δεν ήταν δυνατή η μεταγλώττιση ανώνυμου μπλοκ κώδικα PL/Python" @@ -306,27 +306,27 @@ msgstr "η εντολή δεν παρήγαγε ένα σύνολο αποτελ msgid "second argument of plpy.prepare must be a sequence" msgstr "η δεύτερη παράμετρος του plpy.prepare επιβάλλεται να είναι μία ακολουθία" -#: plpy_spi.c:100 +#: plpy_spi.c:98 #, c-format msgid "plpy.prepare: type name at ordinal position %d is not a string" msgstr "plpy.prepare: το όνομα τύπου στη τακτή θέση %d δεν είναι συμβολοσειρά" -#: plpy_spi.c:172 +#: plpy_spi.c:170 #, c-format msgid "plpy.execute expected a query or a plan" msgstr "plpy.execute ανέμενε ένα ερώτημα ή ένα σχέδιο" -#: plpy_spi.c:191 +#: plpy_spi.c:189 #, c-format msgid "plpy.execute takes a sequence as its second argument" msgstr "plpy.execute λαμβάνει μια ακολουθία ως δεύτερη παράμετρό του" -#: plpy_spi.c:299 +#: plpy_spi.c:297 #, c-format msgid "SPI_execute_plan failed: %s" msgstr "SPI_execute_plan απέτυχε: %s" -#: plpy_spi.c:341 +#: plpy_spi.c:339 #, c-format msgid "SPI_execute failed: %s" msgstr "SPI_execute απέτυχε: %s" @@ -351,102 +351,92 @@ msgstr "δεν έχει εισέλθει σε αυτή τη υποσυναλλά msgid "there is no subtransaction to exit from" msgstr "δεν υπάρχει υποσυναλλαγή από την οποία να εξέλθει" -#: plpy_typeio.c:587 +#: plpy_typeio.c:588 #, c-format msgid "could not import a module for Decimal constructor" msgstr "δεν ήταν δυνατή η εισαγωγή αρθρώματος για τον κατασκευαστή Decimal" -#: plpy_typeio.c:591 +#: plpy_typeio.c:592 #, c-format msgid "no Decimal attribute in module" msgstr "καμία ιδιότητα Decimal στο άρθρωμα" -#: plpy_typeio.c:597 +#: plpy_typeio.c:598 #, c-format msgid "conversion from numeric to Decimal failed" msgstr "μετατροπή από αριθμητικό σε Decimal απέτυχε" -#: plpy_typeio.c:911 +#: plpy_typeio.c:912 #, c-format msgid "could not create bytes representation of Python object" msgstr "δεν ήταν δυνατή η δημιουργία bytes αναπαράστασης του αντικειμένου Python" -#: plpy_typeio.c:1056 +#: plpy_typeio.c:1049 #, c-format msgid "could not create string representation of Python object" msgstr "δεν ήταν δυνατή η δημιουργία string αναπαράστασης του αντικειμένου Python" -#: plpy_typeio.c:1067 +#: plpy_typeio.c:1060 #, c-format msgid "could not convert Python object into cstring: Python string representation appears to contain null bytes" msgstr "δεν ήταν δυνατή η μετατροπή του αντικειμένου Python σε cstring: Η αναπαράσταση συμβολοσειράς Python φαίνεται να περιέχει null bytes" -#: plpy_typeio.c:1178 +#: plpy_typeio.c:1157 #, c-format -msgid "number of array dimensions exceeds the maximum allowed (%d)" -msgstr "o αριθμός των διαστάσεων συστοιχίας υπερβαίνει το μέγιστο επιτρεπόμενο (%d)" +msgid "return value of function with array return type is not a Python sequence" +msgstr "η τιμή επιστροφής της συνάρτησης με τύπο επιστροφής συστυχίας δεν είναι μία ακολουθία Python" -#: plpy_typeio.c:1183 +#: plpy_typeio.c:1202 #, c-format msgid "could not determine sequence length for function return value" msgstr "δεν ήταν δυνατός ο προσδιορισμός του μήκους της ακολουθίας για την τιμή επιστροφής της συνάρτησης" -#: plpy_typeio.c:1188 plpy_typeio.c:1194 +#: plpy_typeio.c:1222 plpy_typeio.c:1237 plpy_typeio.c:1253 #, c-format -msgid "array size exceeds the maximum allowed" -msgstr "το μέγεθος συστοιχίας υπερβαίνει το μέγιστο επιτρεπόμενο" +msgid "multidimensional arrays must have array expressions with matching dimensions" +msgstr "πολυδιάστατες συστυχίες πρέπει να περιέχουν εκφράσεις συστυχίας με αντίστοιχο αριθμό διαστάσεων" -#: plpy_typeio.c:1222 +#: plpy_typeio.c:1227 #, c-format -msgid "return value of function with array return type is not a Python sequence" -msgstr "η τιμή επιστροφής της συνάρτησης με τύπο επιστροφής συστυχίας δεν είναι μία ακολουθία Python" - -#: plpy_typeio.c:1269 -#, c-format -msgid "wrong length of inner sequence: has length %d, but %d was expected" -msgstr "λάθος μήκος της εσωτερικής ακολουθίας: έχει μήκος %d , αλλά αναμενόταν %d" - -#: plpy_typeio.c:1271 -#, c-format -msgid "To construct a multidimensional array, the inner sequences must all have the same length." -msgstr "Για να κατασκευαστεί μια πολυδιάστατη συστυχία, οι εσωτερικές ακολουθίες πρέπει να έχουν όλες το ίδιο μήκος." +msgid "number of array dimensions exceeds the maximum allowed (%d)" +msgstr "o αριθμός των διαστάσεων συστοιχίας υπερβαίνει το μέγιστο επιτρεπόμενο (%d)" -#: plpy_typeio.c:1350 +#: plpy_typeio.c:1329 #, c-format msgid "malformed record literal: \"%s\"" msgstr "κακοσχηματισμένο εγγραφή: «%s»" -#: plpy_typeio.c:1351 +#: plpy_typeio.c:1330 #, c-format msgid "Missing left parenthesis." msgstr "Λείπει δεξιά παρένθεση." -#: plpy_typeio.c:1352 plpy_typeio.c:1553 +#: plpy_typeio.c:1331 plpy_typeio.c:1532 #, c-format msgid "To return a composite type in an array, return the composite type as a Python tuple, e.g., \"[('foo',)]\"." msgstr "Για να επιστρέψετε έναν σύνθετο τύπο σε μία συστυχία, επιστρέψτε τον σύνθετο τύπο ως πλειάδα Python, π.χ. «[(‘foo’,)»." -#: plpy_typeio.c:1399 +#: plpy_typeio.c:1378 #, c-format msgid "key \"%s\" not found in mapping" msgstr "κλειδί «%s» δεν βρέθηκε σε αντιστοίχιση" -#: plpy_typeio.c:1400 +#: plpy_typeio.c:1379 #, c-format msgid "To return null in a column, add the value None to the mapping with the key named after the column." msgstr "Για να επιστρέψετε null σε μια στήλη, προσθέστε την τιμή None στην αντιστοίχιση με το κλειδί που ονομάστηκε από τη στήλη." -#: plpy_typeio.c:1453 +#: plpy_typeio.c:1432 #, c-format msgid "length of returned sequence did not match number of columns in row" msgstr "το μήκος της ακολουθίας που επιστράφηκε δεν ταίριαζε με τον αριθμό των στηλών στη γραμμή" -#: plpy_typeio.c:1551 +#: plpy_typeio.c:1530 #, c-format msgid "attribute \"%s\" does not exist in Python object" msgstr "η ιδιότητα «%s» δεν υπάρχει στο αντικείμενο Python" -#: plpy_typeio.c:1554 +#: plpy_typeio.c:1533 #, c-format msgid "To return null in a column, let the returned object have an attribute named after column with value None." msgstr "Για να επιστρέψετε null σε μια στήλη, αφήστε το αντικείμενο που επιστράφηκε να έχει ένα χαρακτηριστικό που ονομάζεται από την στήλη με τιμή None." @@ -460,3 +450,12 @@ msgstr "δεν ήταν δυνατή η μετατροπή του αντικει #, c-format msgid "could not extract bytes from encoded string" msgstr "δεν ήταν δυνατή η εξόρυξη bytes από κωδικοποιημένη συμβολοσειρά" + +#~ msgid "To construct a multidimensional array, the inner sequences must all have the same length." +#~ msgstr "Για να κατασκευαστεί μια πολυδιάστατη συστυχία, οι εσωτερικές ακολουθίες πρέπει να έχουν όλες το ίδιο μήκος." + +#~ msgid "array size exceeds the maximum allowed" +#~ msgstr "το μέγεθος συστοιχίας υπερβαίνει το μέγιστο επιτρεπόμενο" + +#~ msgid "wrong length of inner sequence: has length %d, but %d was expected" +#~ msgstr "λάθος μήκος της εσωτερικής ακολουθίας: έχει μήκος %d , αλλά αναμενόταν %d" diff --git a/src/pl/plpython/po/ko.po b/src/pl/plpython/po/ko.po index e4d7a58a1b2..ef64d5cb153 100644 --- a/src/pl/plpython/po/ko.po +++ b/src/pl/plpython/po/ko.po @@ -5,10 +5,10 @@ # msgid "" msgstr "" -"Project-Id-Version: plpython (PostgreSQL) 12\n" +"Project-Id-Version: plpython (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2020-02-09 20:08+0000\n" -"PO-Revision-Date: 2019-11-01 12:53+0900\n" +"POT-Creation-Date: 2023-09-07 05:38+0000\n" +"PO-Revision-Date: 2023-05-30 12:40+0900\n" "Last-Translator: Ioseph Kim \n" "Language-Team: Korean \n" "Language: ko\n" @@ -17,65 +17,65 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: plpy_cursorobject.c:78 +#: plpy_cursorobject.c:72 #, c-format msgid "plpy.cursor expected a query or a plan" msgstr "plpy.cursor 객체는 쿼리나 plpy.prepare 객체를 인자로 사용합니다" -#: plpy_cursorobject.c:161 +#: plpy_cursorobject.c:155 #, c-format msgid "plpy.cursor takes a sequence as its second argument" msgstr "" "plpy.cursor 객체의 인자로 plpy.prepare 객체를 사용한 경우 두번째 인자는 " "prepare 객체의 매개변수가 있어야 합니다." -#: plpy_cursorobject.c:177 plpy_spi.c:211 +#: plpy_cursorobject.c:171 plpy_spi.c:205 #, c-format msgid "could not execute plan" msgstr "plpy.prepare 객체를 실행할 수 없음" -#: plpy_cursorobject.c:180 plpy_spi.c:214 +#: plpy_cursorobject.c:174 plpy_spi.c:208 #, c-format msgid "Expected sequence of %d argument, got %d: %s" msgid_plural "Expected sequence of %d arguments, got %d: %s" msgstr[0] "%d 개의 인자가 필요한데, %d개의 인자를 지정했음: %s" -#: plpy_cursorobject.c:329 +#: plpy_cursorobject.c:321 #, c-format msgid "iterating a closed cursor" msgstr "이미 닫긴 커서에서 다음 자료를 요구하고 있음" -#: plpy_cursorobject.c:337 plpy_cursorobject.c:403 +#: plpy_cursorobject.c:329 plpy_cursorobject.c:395 #, c-format msgid "iterating a cursor in an aborted subtransaction" msgstr "중지된 서브 트랜잭션에 있는 커서에서 다음 자료를 요구하고 있음" -#: plpy_cursorobject.c:395 +#: plpy_cursorobject.c:387 #, c-format msgid "fetch from a closed cursor" msgstr "닫긴 커서에서 fetch" -#: plpy_cursorobject.c:438 plpy_spi.c:409 +#: plpy_cursorobject.c:430 plpy_spi.c:401 #, c-format msgid "query result has too many rows to fit in a Python list" msgstr "쿼리 결과가 Python 리스트로 담기에는 너무 많습니다" -#: plpy_cursorobject.c:490 +#: plpy_cursorobject.c:482 #, c-format msgid "closing a cursor in an aborted subtransaction" msgstr "중지된 서브트랜잭션에서 커서를 닫고 있음" -#: plpy_elog.c:129 plpy_elog.c:130 plpy_plpymodule.c:553 +#: plpy_elog.c:125 plpy_elog.c:126 plpy_plpymodule.c:530 #, c-format msgid "%s" msgstr "%s" -#: plpy_exec.c:143 +#: plpy_exec.c:139 #, c-format msgid "unsupported set function return mode" msgstr "지원하지 않는 집합 함수 리턴 모드" -#: plpy_exec.c:144 +#: plpy_exec.c:140 #, c-format msgid "" "PL/Python set-returning functions only support returning one value per call." @@ -83,91 +83,91 @@ msgstr "" "PL/Python 집합-반환 함수는 한번의 호출에 대해서 하나의 값만 반환할 수 있습니" "다." -#: plpy_exec.c:157 +#: plpy_exec.c:153 #, c-format msgid "returned object cannot be iterated" msgstr "반환하는 객체가 iterable 형이 아님" -#: plpy_exec.c:158 +#: plpy_exec.c:154 #, c-format msgid "PL/Python set-returning functions must return an iterable object." msgstr "PL/Python 집합-반환 함수는 iterable 객체를 반환해야 합니다." -#: plpy_exec.c:172 +#: plpy_exec.c:168 #, c-format msgid "error fetching next item from iterator" msgstr "iterator에서 다음 아이템을 가져올 수 없음" -#: plpy_exec.c:215 +#: plpy_exec.c:211 #, c-format msgid "PL/Python procedure did not return None" msgstr "PL/Python 프로시져가 None을 반환하지 않았음" -#: plpy_exec.c:219 +#: plpy_exec.c:215 #, c-format msgid "PL/Python function with return type \"void\" did not return None" msgstr "" "반환 자료형이 \"void\"인 PL/Python 함수가 return None으로 끝나지 않았음" -#: plpy_exec.c:375 plpy_exec.c:401 +#: plpy_exec.c:369 plpy_exec.c:393 #, c-format msgid "unexpected return value from trigger procedure" msgstr "트리거 프로시져가 예상치 못한 값을 반환했습니다" -#: plpy_exec.c:376 +#: plpy_exec.c:370 #, c-format msgid "Expected None or a string." msgstr "None 이나 문자열이 있어야합니다." -#: plpy_exec.c:391 +#: plpy_exec.c:383 #, c-format msgid "" "PL/Python trigger function returned \"MODIFY\" in a DELETE trigger -- ignored" msgstr "" "PL/Python 트리거 함수가 DELETE 트리거에서 \"MODIFY\"를 반환했음 -- 무시함" -#: plpy_exec.c:402 +#: plpy_exec.c:394 #, c-format msgid "Expected None, \"OK\", \"SKIP\", or \"MODIFY\"." msgstr "None, \"OK\", \"SKIP\", 또는 \"MODIFY\"를 사용해야 함." -#: plpy_exec.c:452 +#: plpy_exec.c:444 #, c-format msgid "PyList_SetItem() failed, while setting up arguments" msgstr "PyList_SetItem() 함수가 인자 설정하는 중 실패" -#: plpy_exec.c:456 +#: plpy_exec.c:448 #, c-format msgid "PyDict_SetItemString() failed, while setting up arguments" msgstr "PyDict_SetItemString() 함수가 인자 설정하는 중 실패" -#: plpy_exec.c:468 +#: plpy_exec.c:460 #, c-format msgid "" "function returning record called in context that cannot accept type record" msgstr "반환 자료형이 record인데 함수가 그 자료형으로 반환하지 않음" -#: plpy_exec.c:685 +#: plpy_exec.c:677 #, c-format msgid "while creating return value" msgstr "반환값을 만들고 있은 중" -#: plpy_exec.c:919 +#: plpy_exec.c:924 #, c-format msgid "TD[\"new\"] deleted, cannot modify row" msgstr "TD[\"new\"] 변수가 삭제되었음, 로우를 수정할 수 없음" -#: plpy_exec.c:924 +#: plpy_exec.c:929 #, c-format msgid "TD[\"new\"] is not a dictionary" msgstr "TD[\"new\"] 변수가 딕션너리 형태가 아님" -#: plpy_exec.c:951 +#: plpy_exec.c:954 #, c-format msgid "TD[\"new\"] dictionary key at ordinal position %d is not a string" msgstr "%d 번째 TD[\"new\"] 딕션너리 키가 문자열이 아님" -#: plpy_exec.c:958 +#: plpy_exec.c:961 #, c-format msgid "" "key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering " @@ -175,17 +175,17 @@ msgid "" msgstr "" "로우 트리거 작업에서 칼럼으로 사용되는 \"%s\" 키가 TD[\"new\"] 변수에 없음." -#: plpy_exec.c:963 +#: plpy_exec.c:966 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "\"%s\" 시스템 속성을 지정할 수 없음" -#: plpy_exec.c:968 +#: plpy_exec.c:971 #, c-format msgid "cannot set generated column \"%s\"" msgstr "\"%s\" 계산된 칼럼을 지정할 수 없음" -#: plpy_exec.c:1026 +#: plpy_exec.c:1029 #, c-format msgid "while modifying trigger row" msgstr "로우 변경 트리거 작업 도중" @@ -195,196 +195,196 @@ msgstr "로우 변경 트리거 작업 도중" msgid "forcibly aborting a subtransaction that has not been exited" msgstr "서브트랜잭션이 중지됨으로 강제로 중지됨" -#: plpy_main.c:125 +#: plpy_main.c:109 #, c-format msgid "multiple Python libraries are present in session" msgstr "세션에서 여러 Python 라이브러리가 사용되고 있습니다" -#: plpy_main.c:126 +#: plpy_main.c:110 #, c-format msgid "Only one Python major version can be used in one session." msgstr "하나의 세션에서는 하나의 Python 메이져 버전만 사용할 수 있습니다." -#: plpy_main.c:142 +#: plpy_main.c:122 #, c-format msgid "untrapped error in initialization" msgstr "plpy 모듈 초기화 실패" -#: plpy_main.c:165 +#: plpy_main.c:145 #, c-format msgid "could not import \"__main__\" module" msgstr "\"__main__\" 모듈은 임포트 할 수 없음" -#: plpy_main.c:174 +#: plpy_main.c:154 #, c-format msgid "could not initialize globals" msgstr "전역변수들을 초기화 할 수 없음" -#: plpy_main.c:399 +#: plpy_main.c:352 #, c-format msgid "PL/Python procedure \"%s\"" msgstr "\"%s\" PL/Python 프로시져" -#: plpy_main.c:402 +#: plpy_main.c:355 #, c-format msgid "PL/Python function \"%s\"" msgstr "\"%s\" PL/Python 함수" -#: plpy_main.c:410 +#: plpy_main.c:363 #, c-format msgid "PL/Python anonymous code block" msgstr "PL/Python 익명 코드 블럭" -#: plpy_plpymodule.c:186 plpy_plpymodule.c:189 +#: plpy_plpymodule.c:168 plpy_plpymodule.c:171 #, c-format msgid "could not import \"plpy\" module" msgstr "\"plpy\" 모듈을 임포트 할 수 없음" -#: plpy_plpymodule.c:204 +#: plpy_plpymodule.c:182 #, c-format msgid "could not create the spiexceptions module" msgstr "spiexceptions 모듈을 만들 수 없음" -#: plpy_plpymodule.c:212 +#: plpy_plpymodule.c:190 #, c-format msgid "could not add the spiexceptions module" msgstr "spiexceptions 모듈을 추가할 수 없음" -#: plpy_plpymodule.c:280 +#: plpy_plpymodule.c:257 #, c-format msgid "could not generate SPI exceptions" msgstr "SPI 예외처리를 생성할 수 없음" -#: plpy_plpymodule.c:448 +#: plpy_plpymodule.c:425 #, c-format msgid "could not unpack arguments in plpy.elog" msgstr "잘못된 인자로 구성된 plpy.elog" -#: plpy_plpymodule.c:457 +#: plpy_plpymodule.c:434 msgid "could not parse error message in plpy.elog" msgstr "plpy.elog 에서 오류 메시지를 분석할 수 없음" -#: plpy_plpymodule.c:474 +#: plpy_plpymodule.c:451 #, c-format msgid "argument 'message' given by name and position" msgstr "'message' 인자는 이름과 위치가 있어야 함" -#: plpy_plpymodule.c:501 +#: plpy_plpymodule.c:478 #, c-format msgid "'%s' is an invalid keyword argument for this function" msgstr "'%s' 값은 이 함수에서 잘못된 예약어 인자입니다" -#: plpy_plpymodule.c:512 plpy_plpymodule.c:518 +#: plpy_plpymodule.c:489 plpy_plpymodule.c:495 #, c-format msgid "invalid SQLSTATE code" msgstr "잘못된 SQLSTATE 코드" -#: plpy_procedure.c:230 +#: plpy_procedure.c:225 #, c-format msgid "trigger functions can only be called as triggers" msgstr "트리거 함수는 트리거로만 호출될 수 있음" -#: plpy_procedure.c:234 +#: plpy_procedure.c:229 #, c-format msgid "PL/Python functions cannot return type %s" msgstr "PL/Python 함수는 %s 자료형을 반환할 수 없음" -#: plpy_procedure.c:312 +#: plpy_procedure.c:307 #, c-format msgid "PL/Python functions cannot accept type %s" msgstr "PL/Python 함수는 %s 자료형을 사용할 수 없음" -#: plpy_procedure.c:402 +#: plpy_procedure.c:395 #, c-format msgid "could not compile PL/Python function \"%s\"" msgstr "\"%s\" PL/Python 함수를 컴파일 할 수 없음" -#: plpy_procedure.c:405 +#: plpy_procedure.c:398 #, c-format msgid "could not compile anonymous PL/Python code block" msgstr "anonymous PL/Python 코드 블록을 컴파일 할 수 없음" -#: plpy_resultobject.c:121 plpy_resultobject.c:147 plpy_resultobject.c:173 +#: plpy_resultobject.c:117 plpy_resultobject.c:143 plpy_resultobject.c:169 #, c-format msgid "command did not produce a result set" msgstr "명령의 결과값이 없음" -#: plpy_spi.c:60 +#: plpy_spi.c:56 #, c-format msgid "second argument of plpy.prepare must be a sequence" msgstr "plpy.prepare 함수의 두번째 인자는 Python 시퀀스형이어야 함" -#: plpy_spi.c:104 +#: plpy_spi.c:98 #, c-format msgid "plpy.prepare: type name at ordinal position %d is not a string" msgstr "plpy.prepare: %d 번째 인자의 자료형이 문자열이 아님" -#: plpy_spi.c:176 +#: plpy_spi.c:170 #, c-format msgid "plpy.execute expected a query or a plan" msgstr "plpy.execute 함수의 인자는 쿼리문이나 plpy.prepare 객체여야 함" -#: plpy_spi.c:195 +#: plpy_spi.c:189 #, c-format msgid "plpy.execute takes a sequence as its second argument" msgstr "plpy.execut 함수의 두번째 인자는 python 시퀀스형이 와야함" -#: plpy_spi.c:305 +#: plpy_spi.c:297 #, c-format msgid "SPI_execute_plan failed: %s" msgstr "SPI_execute_plan 실패: %s" -#: plpy_spi.c:347 +#: plpy_spi.c:339 #, c-format msgid "SPI_execute failed: %s" msgstr "SPI_execute 실패: %s" -#: plpy_subxactobject.c:97 +#: plpy_subxactobject.c:92 #, c-format msgid "this subtransaction has already been entered" msgstr "이 서브트랜잭션은 이미 시작되었음" -#: plpy_subxactobject.c:103 plpy_subxactobject.c:161 +#: plpy_subxactobject.c:98 plpy_subxactobject.c:156 #, c-format msgid "this subtransaction has already been exited" msgstr "이 서브트랜잭션은 이미 끝났음" -#: plpy_subxactobject.c:155 +#: plpy_subxactobject.c:150 #, c-format msgid "this subtransaction has not been entered" msgstr "이 서브트랜잭션이 시작되지 않았음" -#: plpy_subxactobject.c:167 +#: plpy_subxactobject.c:162 #, c-format msgid "there is no subtransaction to exit from" msgstr "종료할 서브트랜잭션이 없음, 위치:" -#: plpy_typeio.c:591 +#: plpy_typeio.c:588 #, c-format msgid "could not import a module for Decimal constructor" msgstr "Decimal 자료형 처리를 위해 모듈을 임포트 할 수 없음" -#: plpy_typeio.c:595 +#: plpy_typeio.c:592 #, c-format msgid "no Decimal attribute in module" msgstr "모듈안에 Decimal 속성이 없음" -#: plpy_typeio.c:601 +#: plpy_typeio.c:598 #, c-format msgid "conversion from numeric to Decimal failed" msgstr "numeric 형을 Decimal 형으로 변환할 수 없음" -#: plpy_typeio.c:915 +#: plpy_typeio.c:912 #, c-format msgid "could not create bytes representation of Python object" msgstr "Python 객체를 bytea 자료형으로 변환할 수 없음" -#: plpy_typeio.c:1063 +#: plpy_typeio.c:1049 #, c-format msgid "could not create string representation of Python object" msgstr "Python 객체를 문자열 자료형으로 변환할 수 없음" -#: plpy_typeio.c:1074 +#: plpy_typeio.c:1060 #, c-format msgid "" "could not convert Python object into cstring: Python string representation " @@ -393,50 +393,39 @@ msgstr "" "Python 객체를 cstring 형으로 변환할 수 없음: Python string 변수에 null문자열" "이 포함되어 있음" -#: plpy_typeio.c:1183 +#: plpy_typeio.c:1157 #, c-format -msgid "number of array dimensions exceeds the maximum allowed (%d)" -msgstr "배열 차원이 최대치 (%d)를 초과 했습니다." +msgid "" +"return value of function with array return type is not a Python sequence" +msgstr "배열형으로 넘길 자료형이 Python 시퀀스형이 아님" -#: plpy_typeio.c:1187 +#: plpy_typeio.c:1202 #, c-format msgid "could not determine sequence length for function return value" msgstr "함수 반환 값으로 시퀀스 길이를 결정할 수 없음" -#: plpy_typeio.c:1190 plpy_typeio.c:1194 -#, c-format -msgid "array size exceeds the maximum allowed" -msgstr "배열 최대 크기를 초과함" - -#: plpy_typeio.c:1220 +#: plpy_typeio.c:1222 plpy_typeio.c:1237 plpy_typeio.c:1253 #, c-format msgid "" -"return value of function with array return type is not a Python sequence" -msgstr "배열형으로 넘길 자료형이 Python 시퀀스형이 아님" - -#: plpy_typeio.c:1266 -#, c-format -msgid "wrong length of inner sequence: has length %d, but %d was expected" -msgstr "잘못된 내부 시퀀스 길이, 길이 %d, %d 초과했음" +"multidimensional arrays must have array expressions with matching dimensions" +msgstr "다차원 배열에는 일치하는 차원이 포함된 배열 식이 있어야 함" -#: plpy_typeio.c:1268 +#: plpy_typeio.c:1227 #, c-format -msgid "" -"To construct a multidimensional array, the inner sequences must all have the " -"same length." -msgstr "다차원 배열을 사용하려면, 그 하위 배열의 차원이 모두 같아야합니다." +msgid "number of array dimensions exceeds the maximum allowed (%d)" +msgstr "배열 차원이 최대치 (%d)를 초과 했습니다." -#: plpy_typeio.c:1347 +#: plpy_typeio.c:1329 #, c-format msgid "malformed record literal: \"%s\"" msgstr "잘못된 레코드 표현: \"%s\"" -#: plpy_typeio.c:1348 +#: plpy_typeio.c:1330 #, c-format msgid "Missing left parenthesis." msgstr "왼쪽 괄호가 없음." -#: plpy_typeio.c:1349 plpy_typeio.c:1550 +#: plpy_typeio.c:1331 plpy_typeio.c:1532 #, c-format msgid "" "To return a composite type in an array, return the composite type as a " @@ -445,12 +434,12 @@ msgstr "" "배열에서 복합 자료형을 반환하려면, Python 튜플 형을 사용하세요. 예: " "\"[('foo',)]\"." -#: plpy_typeio.c:1396 +#: plpy_typeio.c:1378 #, c-format msgid "key \"%s\" not found in mapping" msgstr "맵 안에 \"%s\" 키가 없음" -#: plpy_typeio.c:1397 +#: plpy_typeio.c:1379 #, c-format msgid "" "To return null in a column, add the value None to the mapping with the key " @@ -459,17 +448,17 @@ msgstr "" "칼럼값으로 null을 반환하려면, 칼럼 다음에 해당 키 이름과 맵핑 되는 None값을 " "지정하세요" -#: plpy_typeio.c:1450 +#: plpy_typeio.c:1432 #, c-format msgid "length of returned sequence did not match number of columns in row" msgstr "반환되는 시퀀스형 변수의 길이가 로우의 칼럼수와 일치하지 않음" -#: plpy_typeio.c:1548 +#: plpy_typeio.c:1530 #, c-format msgid "attribute \"%s\" does not exist in Python object" msgstr "Python 객체 가운데 \"%s\" 속성이 없음" -#: plpy_typeio.c:1551 +#: plpy_typeio.c:1533 #, c-format msgid "" "To return null in a column, let the returned object have an attribute named " @@ -478,24 +467,12 @@ msgstr "" "칼럼 값으로 null 을 반환하려면, 값으로 None 값을 가지는 칼럼 뒤에, 속성 이름" "이 있는 객체를 반환하세요" -#: plpy_util.c:35 +#: plpy_util.c:31 #, c-format msgid "could not convert Python Unicode object to bytes" msgstr "Python 유니코드 객체를 UTF-8 문자열로 변환할 수 없음" -#: plpy_util.c:41 +#: plpy_util.c:37 #, c-format msgid "could not extract bytes from encoded string" msgstr "해당 인코드 문자열을 Python에서 사용할 수 없음" - -#~ msgid "could not create new dictionary" -#~ msgstr "새 디렉터리를 만들 수 없음" - -#~ msgid "could not create exception \"%s\"" -#~ msgstr "\"%s\" 예외처리를 생성할 수 없음" - -#~ msgid "could not create globals" -#~ msgstr "전역변수들을 만들 수 없음" - -#~ msgid "could not create new dictionary while building trigger arguments" -#~ msgstr "트리거 인자를 구성하는 중 새 딕션너리를 만들 수 없음" diff --git a/src/pl/tcl/po/ko.po b/src/pl/tcl/po/ko.po index 06732234569..1b8c5c7a644 100644 --- a/src/pl/tcl/po/ko.po +++ b/src/pl/tcl/po/ko.po @@ -5,10 +5,10 @@ # msgid "" msgstr "" -"Project-Id-Version: pltcl (PostgreSQL) 12\n" +"Project-Id-Version: pltcl (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2020-02-09 20:08+0000\n" -"PO-Revision-Date: 2019-11-01 12:52+0900\n" +"POT-Creation-Date: 2023-09-07 05:38+0000\n" +"PO-Revision-Date: 2023-05-30 12:40+0900\n" "Last-Translator: Ioseph Kim \n" "Language-Team: Korean Team \n" "Language: ko\n" @@ -17,11 +17,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: pltcl.c:464 +#: pltcl.c:462 msgid "PL/Tcl function to call once when pltcl is first used." msgstr "pltcl 언어가 처음 사용될 때 한번 호출 될 PL/Tcl 함수" -#: pltcl.c:471 +#: pltcl.c:469 msgid "PL/TclU function to call once when pltclu is first used." msgstr "pltclu 언어가 처음 사용될 때 한번 호출 될 PL/Tcl 함수" @@ -41,29 +41,34 @@ msgstr "\"%s\" 함수는 SECURITY DEFINER 속성이 없어야 합니다" msgid "processing %s parameter" msgstr "%s 매개 변수 처리 중" -#: pltcl.c:842 +#: pltcl.c:834 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "집합이 값이 함수가 집합을 사용할 수 없는 구문에서 호출 되었음" -#: pltcl.c:1015 +#: pltcl.c:839 +#, c-format +msgid "materialize mode required, but it is not allowed in this context" +msgstr "materialize 모드가 필요합니다만, 이 구문에서는 허용되지 않습니다" + +#: pltcl.c:1012 #, c-format msgid "" "function returning record called in context that cannot accept type record" msgstr "" "레코드를 반환하는 함수가 레코드 형을 사용할 수 없는 구문에서 호출 되었음" -#: pltcl.c:1299 +#: pltcl.c:1295 #, c-format msgid "could not split return value from trigger: %s" msgstr "트리거에서 반환값을 분리할 수 없음: %s" -#: pltcl.c:1379 pltcl.c:1809 +#: pltcl.c:1376 pltcl.c:1803 #, c-format msgid "%s" msgstr "%s" -#: pltcl.c:1380 +#: pltcl.c:1377 #, c-format msgid "" "%s\n" @@ -72,42 +77,42 @@ msgstr "" "%s\n" "해당 PL/Tcl 함수: \"%s\"" -#: pltcl.c:1544 +#: pltcl.c:1540 #, c-format msgid "trigger functions can only be called as triggers" msgstr "트리거 함수는 트리거로만 호출될 수 있음" -#: pltcl.c:1548 +#: pltcl.c:1544 #, c-format msgid "PL/Tcl functions cannot return type %s" msgstr "PL/Tcl 함수는 %s 자료형을 반환할 수 없음" -#: pltcl.c:1587 +#: pltcl.c:1583 #, c-format msgid "PL/Tcl functions cannot accept type %s" msgstr "PL/Tcl 함수는 %s 자료형을 사용할 수 없음" -#: pltcl.c:1701 +#: pltcl.c:1695 #, c-format msgid "could not create internal procedure \"%s\": %s" msgstr "\"%s\" 내부 프로시져를 만들 수 없음: %s" -#: pltcl.c:3208 +#: pltcl.c:3199 #, c-format msgid "column name/value list must have even number of elements" msgstr "칼럼 이름/값 목록은 그 요소의 개수가 짝수여야 함" -#: pltcl.c:3226 +#: pltcl.c:3217 #, c-format msgid "column name/value list contains nonexistent column name \"%s\"" msgstr "칼럼 이름/값 목록에 \"%s\" 칼럼에 대한 값이 없음" -#: pltcl.c:3233 +#: pltcl.c:3224 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "\"%s\" 시스템 속성을 지정할 수 없음" -#: pltcl.c:3239 +#: pltcl.c:3230 #, c-format msgid "cannot set generated column \"%s\"" msgstr "\"%s\" 계산된 칼럼을 지정할 수 없음" From 8d850423469291f724f1ea046f200045a249adaf Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Mon, 11 Sep 2023 14:22:52 +0200 Subject: [PATCH 166/317] Translation updates This file was missed in the previous update. Source-Git-URL: ssh://git@git.postgresql.org/pgtranslation/messages.git Source-Git-Hash: de944161c6153124a7bf720cb99823ff31b64bab --- src/interfaces/ecpg/ecpglib/po/zh_TW.po | 199 ++++++++++++++++++++++++ 1 file changed, 199 insertions(+) create mode 100644 src/interfaces/ecpg/ecpglib/po/zh_TW.po diff --git a/src/interfaces/ecpg/ecpglib/po/zh_TW.po b/src/interfaces/ecpg/ecpglib/po/zh_TW.po new file mode 100644 index 00000000000..25c8fad7805 --- /dev/null +++ b/src/interfaces/ecpg/ecpglib/po/zh_TW.po @@ -0,0 +1,199 @@ +# Traditional Chinese message translation file for ecpglib +# Copyright (C) 2023 PostgreSQL Global Development Group +# This file is distributed under the same license as the ecpglib (PostgreSQL) package. +# 2023-09-06 Zhenbang Wei +# +msgid "" +msgstr "" +"Project-Id-Version: ecpglib (PostgreSQL) 16\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2023-09-05 20:39+0000\n" +"PO-Revision-Date: 2023-09-08 11:13+0800\n" +"Last-Translator: Zhenbang Wei \n" +"Language-Team: \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.3.2\n" + +#: connect.c:243 +msgid "empty message text" +msgstr "空白的訊息內容" + +#: connect.c:410 connect.c:675 +msgid "" +msgstr "" + +#: descriptor.c:876 misc.c:119 +msgid "NULL" +msgstr "" + +#. translator: this string will be truncated at 149 characters expanded. +#: error.c:33 +#, c-format +msgid "no data found on line %d" +msgstr "第 %d 行找不到資料" + +#. translator: this string will be truncated at 149 characters expanded. +#: error.c:40 +#, c-format +msgid "out of memory on line %d" +msgstr "第 %d 行記憶體不足" + +#. translator: this string will be truncated at 149 characters expanded. +#: error.c:47 +#, c-format +msgid "unsupported type \"%s\" on line %d" +msgstr "第 %2$d 行有不支援的類型 \"%1$s\"" + +#. translator: this string will be truncated at 149 characters expanded. +#: error.c:54 +#, c-format +msgid "too many arguments on line %d" +msgstr "第 %d 行參數過多" + +#. translator: this string will be truncated at 149 characters expanded. +#: error.c:61 +#, c-format +msgid "too few arguments on line %d" +msgstr "第 %d 行參數過少" + +#. translator: this string will be truncated at 149 characters expanded. +#: error.c:68 +#, c-format +msgid "invalid input syntax for type int: \"%s\", on line %d" +msgstr "第 %2$d 行無效的 int 類型輸入語法:\"%1$s\"" + +#. translator: this string will be truncated at 149 characters expanded. +#: error.c:75 +#, c-format +msgid "invalid input syntax for type unsigned int: \"%s\", on line %d" +msgstr "第 %2$d 行無效的 unsigned int 類型輸入語法: \" %1$s\"" + +#. translator: this string will be truncated at 149 characters expanded. +#: error.c:82 +#, c-format +msgid "invalid input syntax for floating-point type: \"%s\", on line %d" +msgstr "第 %2$d 行無效的浮點數類型輸入語法:\"%1$s\"" + +#. translator: this string will be truncated at 149 characters expanded. +#: error.c:90 +#, c-format +msgid "invalid syntax for type boolean: \"%s\", on line %d" +msgstr "第 %2$d 行無效的 boolean 語法:\"%1$s\"" + +#. translator: this string will be truncated at 149 characters expanded. +#: error.c:95 +#, c-format +msgid "could not convert boolean value: size mismatch, on line %d" +msgstr "第 %d 行無法轉換布林值: 大小不符" + +#. translator: this string will be truncated at 149 characters expanded. +#: error.c:102 +#, c-format +msgid "empty query on line %d" +msgstr "第 %d 行的查詢為空" + +#. translator: this string will be truncated at 149 characters expanded. +#: error.c:109 +#, c-format +msgid "null value without indicator on line %d" +msgstr "第 %d 行沒有指示符號的空值" + +#. translator: this string will be truncated at 149 characters expanded. +#: error.c:116 +#, c-format +msgid "variable does not have an array type on line %d" +msgstr "第 %d 行變數並非陣列類型" + +#. translator: this string will be truncated at 149 characters expanded. +#: error.c:123 +#, c-format +msgid "data read from server is not an array on line %d" +msgstr "第 %d 行從伺服器讀取的資料並非陣列" + +#. translator: this string will be truncated at 149 characters expanded. +#: error.c:130 +#, c-format +msgid "inserting an array of variables is not supported on line %d" +msgstr "第 %d 行不支援插入變數陣列" + +#. translator: this string will be truncated at 149 characters expanded. +#: error.c:137 +#, c-format +msgid "connection \"%s\" does not exist on line %d" +msgstr "第 %2$d 行連線 \"%1$s\" 不存在" + +#. translator: this string will be truncated at 149 characters expanded. +#: error.c:144 +#, c-format +msgid "not connected to connection \"%s\" on line %d" +msgstr "第 %2$d 行未連接至連線 \"%1$s\"" + +#. translator: this string will be truncated at 149 characters expanded. +#: error.c:151 +#, c-format +msgid "invalid statement name \"%s\" on line %d" +msgstr "第 %2$d 行無效的陳述名稱 \"%1$s\"" + +#. translator: this string will be truncated at 149 characters expanded. +#: error.c:158 +#, c-format +msgid "descriptor \"%s\" not found on line %d" +msgstr "第 %2$d 行找不到描述符 \"%1$s\"" + +#. translator: this string will be truncated at 149 characters expanded. +#: error.c:165 +#, c-format +msgid "descriptor index out of range on line %d" +msgstr "第 %d 行描述符索引超出範圍" + +#. translator: this string will be truncated at 149 characters expanded. +#: error.c:172 +#, c-format +msgid "unrecognized descriptor item \"%s\" on line %d" +msgstr "第 %2$d 行無法識別的描述符 \"%1$s\"" + +#. translator: this string will be truncated at 149 characters expanded. +#: error.c:179 +#, c-format +msgid "variable does not have a numeric type on line %d" +msgstr "第 %d 行變數並非數值類型" + +#. translator: this string will be truncated at 149 characters expanded. +#: error.c:186 +#, c-format +msgid "variable does not have a character type on line %d" +msgstr "第 %d 行變數並非字符類型" + +#. translator: this string will be truncated at 149 characters expanded. +#: error.c:193 +#, c-format +msgid "error in transaction processing on line %d" +msgstr "第 %d 行交易處理中發生錯誤" + +#. translator: this string will be truncated at 149 characters expanded. +#: error.c:200 +#, c-format +msgid "could not connect to database \"%s\" on line %d" +msgstr "第 %2$d 行無法連線至資料庫 \"%1$s\"" + +#. translator: this string will be truncated at 149 characters expanded. +#: error.c:207 +#, c-format +msgid "SQL error %d on line %d" +msgstr "第 %2$d 行SQL 錯誤 %1$d" + +#: error.c:253 +msgid "the connection to the server was lost" +msgstr "與伺服器的連線已中斷" + +#: error.c:345 +#, c-format +msgid "SQL error: %s\n" +msgstr "SQL 錯誤: %s\n" + +#: execute.c:2188 execute.c:2195 +msgid "" +msgstr "" From 995222860dda6961f4aca1302c215d99e4757dd4 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 11 Sep 2023 16:10:09 -0400 Subject: [PATCH 167/317] Stamp 16.0. --- configure | 18 +++++++++--------- configure.ac | 2 +- meson.build | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/configure b/configure index 0727eabf2ec..0c325f0dc41 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 16rc1. +# Generated by GNU Autoconf 2.69 for PostgreSQL 16.0. # # Report bugs to . # @@ -582,8 +582,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='PostgreSQL' PACKAGE_TARNAME='postgresql' -PACKAGE_VERSION='16rc1' -PACKAGE_STRING='PostgreSQL 16rc1' +PACKAGE_VERSION='16.0' +PACKAGE_STRING='PostgreSQL 16.0' 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 16rc1 to adapt to many kinds of systems. +\`configure' configures PostgreSQL 16.0 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 16rc1:";; + short | recursive ) echo "Configuration of PostgreSQL 16.0:";; 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 16rc1 +PostgreSQL configure 16.0 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 16rc1, which was +It was created by PostgreSQL $as_me 16.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -19957,7 +19957,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 16rc1, which was +This file was extended by PostgreSQL $as_me 16.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -20028,7 +20028,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 16rc1 +PostgreSQL config.status 16.0 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index b00abb9466b..7f97248992d 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], [16rc1], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) +AC_INIT([PostgreSQL], [16.0], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.69], [], [m4_fatal([Autoconf version 2.69 is required. Untested combinations of 'autoconf' and PostgreSQL versions are not diff --git a/meson.build b/meson.build index 07d3c454fe1..38e4f03e602 100644 --- a/meson.build +++ b/meson.build @@ -8,7 +8,7 @@ project('postgresql', ['c'], - version: '16rc1', + version: '16.0', license: 'PostgreSQL', # We want < 0.56 for python 3.5 compatibility on old platforms. EPEL for From 1acd9dc09326f7a937f5b6521fd020b0424947f4 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 11 Sep 2023 16:25:06 -0400 Subject: [PATCH 168/317] Doc: fix release date in release-16.sgml. --- doc/src/sgml/release-16.sgml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/sgml/release-16.sgml b/doc/src/sgml/release-16.sgml index 5f174e99f67..660476e9d4e 100644 --- a/doc/src/sgml/release-16.sgml +++ b/doc/src/sgml/release-16.sgml @@ -6,7 +6,7 @@ Release date: - AS OF 2023-08-14, 2023-??-?? + 2023-09-14 From 73b87d9db803e6c23aac37e09f187a76e714eaaa Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Wed, 13 Sep 2023 09:53:52 +0900 Subject: [PATCH 169/317] Skip psql's TAP test for query cancellation entirely on Windows This changes 020_cancel.pl so as the test is entirely skipped on Windows. This test was already doing nothing under WIN32, except initializing and starting a node without using it so this shaves a few test cycles. Author: Yugo NAGATA Reviewed-by: Fabien Coelho Discussion: https://postgr.es/m/20230810125935.22c2922ea5250ba79358965b@sraoss.co.jp Backpatch-through: 15 --- src/bin/psql/t/020_cancel.pl | 118 +++++++++++++++++------------------ 1 file changed, 59 insertions(+), 59 deletions(-) diff --git a/src/bin/psql/t/020_cancel.pl b/src/bin/psql/t/020_cancel.pl index 0765d82b928..bf438a36c1f 100644 --- a/src/bin/psql/t/020_cancel.pl +++ b/src/bin/psql/t/020_cancel.pl @@ -9,72 +9,72 @@ use Test::More; use Time::HiRes qw(usleep); -my $tempdir = PostgreSQL::Test::Utils::tempdir; - -my $node = PostgreSQL::Test::Cluster->new('main'); -$node->init; -$node->start; - # Test query canceling by sending SIGINT to a running psql # # There is, as of this writing, no documented way to get the PID of # the process from IPC::Run. As a workaround, we have psql print its # own PID (which is the parent of the shell launched by psql) to a # file. -SKIP: +if ($windows_os) { - skip "cancel test requires a Unix shell", 2 if $windows_os; - - local %ENV = $node->_get_env(); - - my ($stdin, $stdout, $stderr); - - # Test whether shell supports $PPID. It's part of POSIX, but some - # pre-/non-POSIX shells don't support it (e.g., NetBSD). - $stdin = "\\! echo \$PPID"; - IPC::Run::run([ 'psql', '-X', '-v', 'ON_ERROR_STOP=1' ], - '<', \$stdin, '>', \$stdout, '2>', \$stderr); - $stdout =~ /^\d+$/ or skip "shell apparently does not support \$PPID", 2; - - # Now start the real test - my $h = IPC::Run::start([ 'psql', '-X', '-v', 'ON_ERROR_STOP=1' ], - \$stdin, \$stdout, \$stderr); - - # Get the PID - $stdout = ''; - $stderr = ''; - $stdin = "\\! echo \$PPID >$tempdir/psql.pid\n"; - pump $h while length $stdin; - my $count; - my $psql_pid; - until ( - -s "$tempdir/psql.pid" - and ($psql_pid = - PostgreSQL::Test::Utils::slurp_file("$tempdir/psql.pid")) =~ - /^\d+\n/s) - { - ($count++ < 100 * $PostgreSQL::Test::Utils::timeout_default) - or die "pid file did not appear"; - usleep(10_000); - } - - # Send sleep command and wait until the server has registered it - $stdin = "select pg_sleep($PostgreSQL::Test::Utils::timeout_default);\n"; - pump $h while length $stdin; - $node->poll_query_until('postgres', - q{SELECT (SELECT count(*) FROM pg_stat_activity WHERE query ~ '^select pg_sleep') > 0;} - ) or die "timed out"; - - # Send cancel request - kill 'INT', $psql_pid; - - my $result = finish $h; - - ok(!$result, 'query failed as expected'); - like( - $stderr, - qr/canceling statement due to user request/, - 'query was canceled'); + plan skip_all => "cancel test requires a Unix shell"; } +my $tempdir = PostgreSQL::Test::Utils::tempdir; + +my $node = PostgreSQL::Test::Cluster->new('main'); +$node->init; +$node->start; + +local %ENV = $node->_get_env(); + +my ($stdin, $stdout, $stderr); + +# Test whether shell supports $PPID. It's part of POSIX, but some +# pre-/non-POSIX shells don't support it (e.g., NetBSD). +$stdin = "\\! echo \$PPID"; +IPC::Run::run([ 'psql', '-X', '-v', 'ON_ERROR_STOP=1' ], + '<', \$stdin, '>', \$stdout, '2>', \$stderr); +$stdout =~ /^\d+$/ or skip "shell apparently does not support \$PPID", 2; + +# Now start the real test +my $h = IPC::Run::start([ 'psql', '-X', '-v', 'ON_ERROR_STOP=1' ], + \$stdin, \$stdout, \$stderr); + +# Get the PID +$stdout = ''; +$stderr = ''; +$stdin = "\\! echo \$PPID >$tempdir/psql.pid\n"; +pump $h while length $stdin; +my $count; +my $psql_pid; +until ( + -s "$tempdir/psql.pid" + and + ($psql_pid = PostgreSQL::Test::Utils::slurp_file("$tempdir/psql.pid")) + =~ /^\d+\n/s) +{ + ($count++ < 100 * $PostgreSQL::Test::Utils::timeout_default) + or die "pid file did not appear"; + usleep(10_000); +} + +# Send sleep command and wait until the server has registered it +$stdin = "select pg_sleep($PostgreSQL::Test::Utils::timeout_default);\n"; +pump $h while length $stdin; +$node->poll_query_until('postgres', + q{SELECT (SELECT count(*) FROM pg_stat_activity WHERE query ~ '^select pg_sleep') > 0;} +) or die "timed out"; + +# Send cancel request +kill 'INT', $psql_pid; + +my $result = finish $h; + +ok(!$result, 'query failed as expected'); +like( + $stderr, + qr/canceling statement due to user request/, + 'query was canceled'); + done_testing(); From 156b765351c4d3b80e9b8561a90b7830873b23f5 Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Wed, 13 Sep 2023 14:32:24 +1200 Subject: [PATCH 170/317] Fix exception safety bug in typcache.c. If an out-of-memory error was thrown at an unfortunate time, ensure_record_cache_typmod_slot_exists() could leak memory and leave behind a global state that produced an infinite loop on the next call. Fix by merging RecordCacheArray and RecordIdentifierArray into a single array. With only one allocation or re-allocation, there is no intermediate state. Back-patch to all supported releases. Reported-by: "James Pang (chaolpan)" Reviewed-by: Michael Paquier Discussion: https://postgr.es/m/PH0PR11MB519113E738814BDDA702EDADD6EFA%40PH0PR11MB5191.namprd11.prod.outlook.com --- src/backend/utils/cache/typcache.c | 48 +++++++++++++++++------------- src/tools/pgindent/typedefs.list | 1 + 2 files changed, 28 insertions(+), 21 deletions(-) diff --git a/src/backend/utils/cache/typcache.c b/src/backend/utils/cache/typcache.c index ed6360ce2b9..608cd5e8e43 100644 --- a/src/backend/utils/cache/typcache.c +++ b/src/backend/utils/cache/typcache.c @@ -273,10 +273,15 @@ static const dshash_parameters srtr_typmod_table_params = { /* hashtable for recognizing registered record types */ static HTAB *RecordCacheHash = NULL; -/* arrays of info about registered record types, indexed by assigned typmod */ -static TupleDesc *RecordCacheArray = NULL; -static uint64 *RecordIdentifierArray = NULL; -static int32 RecordCacheArrayLen = 0; /* allocated length of above arrays */ +typedef struct RecordCacheArrayEntry +{ + uint64 id; + TupleDesc tupdesc; +} RecordCacheArrayEntry; + +/* array of info about registered record types, indexed by assigned typmod */ +static RecordCacheArrayEntry *RecordCacheArray = NULL; +static int32 RecordCacheArrayLen = 0; /* allocated length of above array */ static int32 NextRecordTypmod = 0; /* number of entries used */ /* @@ -1703,10 +1708,9 @@ ensure_record_cache_typmod_slot_exists(int32 typmod) { if (RecordCacheArray == NULL) { - RecordCacheArray = (TupleDesc *) - MemoryContextAllocZero(CacheMemoryContext, 64 * sizeof(TupleDesc)); - RecordIdentifierArray = (uint64 *) - MemoryContextAllocZero(CacheMemoryContext, 64 * sizeof(uint64)); + RecordCacheArray = (RecordCacheArrayEntry *) + MemoryContextAllocZero(CacheMemoryContext, + 64 * sizeof(RecordCacheArrayEntry)); RecordCacheArrayLen = 64; } @@ -1714,8 +1718,10 @@ ensure_record_cache_typmod_slot_exists(int32 typmod) { int32 newlen = pg_nextpower2_32(typmod + 1); - RecordCacheArray = repalloc0_array(RecordCacheArray, TupleDesc, RecordCacheArrayLen, newlen); - RecordIdentifierArray = repalloc0_array(RecordIdentifierArray, uint64, RecordCacheArrayLen, newlen); + RecordCacheArray = repalloc0_array(RecordCacheArray, + RecordCacheArrayEntry, + RecordCacheArrayLen, + newlen); RecordCacheArrayLen = newlen; } } @@ -1753,8 +1759,8 @@ lookup_rowtype_tupdesc_internal(Oid type_id, int32 typmod, bool noError) { /* It is already in our local cache? */ if (typmod < RecordCacheArrayLen && - RecordCacheArray[typmod] != NULL) - return RecordCacheArray[typmod]; + RecordCacheArray[typmod].tupdesc != NULL) + return RecordCacheArray[typmod].tupdesc; /* Are we attached to a shared record typmod registry? */ if (CurrentSession->shared_typmod_registry != NULL) @@ -1780,19 +1786,19 @@ lookup_rowtype_tupdesc_internal(Oid type_id, int32 typmod, bool noError) * Our local array can now point directly to the TupleDesc * in shared memory, which is non-reference-counted. */ - RecordCacheArray[typmod] = tupdesc; + RecordCacheArray[typmod].tupdesc = tupdesc; Assert(tupdesc->tdrefcount == -1); /* * We don't share tupdesc identifiers across processes, so * assign one locally. */ - RecordIdentifierArray[typmod] = ++tupledesc_id_counter; + RecordCacheArray[typmod].id = ++tupledesc_id_counter; dshash_release_lock(CurrentSession->shared_typmod_table, entry); - return RecordCacheArray[typmod]; + return RecordCacheArray[typmod].tupdesc; } } } @@ -2005,10 +2011,10 @@ assign_record_type_typmod(TupleDesc tupDesc) ensure_record_cache_typmod_slot_exists(entDesc->tdtypmod); } - RecordCacheArray[entDesc->tdtypmod] = entDesc; + RecordCacheArray[entDesc->tdtypmod].tupdesc = entDesc; /* Assign a unique tupdesc identifier, too. */ - RecordIdentifierArray[entDesc->tdtypmod] = ++tupledesc_id_counter; + RecordCacheArray[entDesc->tdtypmod].id = ++tupledesc_id_counter; /* Fully initialized; create the hash table entry */ recentry = (RecordCacheEntry *) hash_search(RecordCacheHash, @@ -2057,10 +2063,10 @@ assign_record_type_identifier(Oid type_id, int32 typmod) * It's a transient record type, so look in our record-type table. */ if (typmod >= 0 && typmod < RecordCacheArrayLen && - RecordCacheArray[typmod] != NULL) + RecordCacheArray[typmod].tupdesc != NULL) { - Assert(RecordIdentifierArray[typmod] != 0); - return RecordIdentifierArray[typmod]; + Assert(RecordCacheArray[typmod].id != 0); + return RecordCacheArray[typmod].id; } /* For anonymous or unrecognized record type, generate a new ID */ @@ -2140,7 +2146,7 @@ SharedRecordTypmodRegistryInit(SharedRecordTypmodRegistry *registry, TupleDesc tupdesc; bool found; - tupdesc = RecordCacheArray[typmod]; + tupdesc = RecordCacheArray[typmod].tupdesc; if (tupdesc == NULL) continue; diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list index db833261f14..c9f57fa8102 100644 --- a/src/tools/pgindent/typedefs.list +++ b/src/tools/pgindent/typedefs.list @@ -2252,6 +2252,7 @@ ReadLocalXLogPageNoWaitPrivate ReadReplicationSlotCmd ReassignOwnedStmt RecheckForeignScan_function +RecordCacheArrayEntry RecordCacheEntry RecordCompareData RecordIOData From ffbba04bd6fbedfff37f0dad90a61dc9bf8748b6 Mon Sep 17 00:00:00 2001 From: Amit Kapila Date: Wed, 13 Sep 2023 09:48:31 +0530 Subject: [PATCH 171/317] Fix the ALTER SUBSCRIPTION to reflect the change in run_as_owner option. Reported-by: Jeff Davis Author: Hou Zhijie Reviewed-by: Amit Kapila Backpatch-through: 16 Discussion: http://postgr.es/m/17b62714fd115bd1899afd922954540a5c6a0467.camel@j-davis.com --- src/backend/commands/subscriptioncmds.c | 7 ++++ src/test/regress/expected/subscription.out | 4 ++- src/test/regress/sql/subscription.sql | 2 ++ .../subscription/t/033_run_as_table_owner.pl | 33 ++++++++++++++++++- 4 files changed, 44 insertions(+), 2 deletions(-) diff --git a/src/backend/commands/subscriptioncmds.c b/src/backend/commands/subscriptioncmds.c index 34d881fd94f..6fe111e98d3 100644 --- a/src/backend/commands/subscriptioncmds.c +++ b/src/backend/commands/subscriptioncmds.c @@ -1204,6 +1204,13 @@ AlterSubscription(ParseState *pstate, AlterSubscriptionStmt *stmt, = true; } + if (IsSet(opts.specified_opts, SUBOPT_RUN_AS_OWNER)) + { + values[Anum_pg_subscription_subrunasowner - 1] = + BoolGetDatum(opts.runasowner); + replaces[Anum_pg_subscription_subrunasowner - 1] = true; + } + if (IsSet(opts.specified_opts, SUBOPT_ORIGIN)) { values[Anum_pg_subscription_suborigin - 1] = diff --git a/src/test/regress/expected/subscription.out b/src/test/regress/expected/subscription.out index 3c1a0869eca..b15eddbff3c 100644 --- a/src/test/regress/expected/subscription.out +++ b/src/test/regress/expected/subscription.out @@ -155,14 +155,16 @@ ALTER SUBSCRIPTION regress_testsub SET PUBLICATION testpub2, testpub3 WITH (refr ALTER SUBSCRIPTION regress_testsub CONNECTION 'dbname=regress_doesnotexist2'; ALTER SUBSCRIPTION regress_testsub SET (slot_name = 'newname'); ALTER SUBSCRIPTION regress_testsub SET (password_required = false); +ALTER SUBSCRIPTION regress_testsub SET (run_as_owner = true); \dRs+ List of subscriptions Name | Owner | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Synchronous commit | Conninfo | Skip LSN -----------------+---------------------------+---------+---------------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+--------------------+------------------------------+---------- - regress_testsub | regress_subscription_user | f | {testpub2,testpub3} | f | off | d | f | any | f | f | off | dbname=regress_doesnotexist2 | 0/0 + regress_testsub | regress_subscription_user | f | {testpub2,testpub3} | f | off | d | f | any | f | t | off | dbname=regress_doesnotexist2 | 0/0 (1 row) ALTER SUBSCRIPTION regress_testsub SET (password_required = true); +ALTER SUBSCRIPTION regress_testsub SET (run_as_owner = false); -- fail ALTER SUBSCRIPTION regress_testsub SET (slot_name = ''); ERROR: replication slot name "" is too short diff --git a/src/test/regress/sql/subscription.sql b/src/test/regress/sql/subscription.sql index 55d7dbc9ab9..444e563ff3f 100644 --- a/src/test/regress/sql/subscription.sql +++ b/src/test/regress/sql/subscription.sql @@ -94,9 +94,11 @@ ALTER SUBSCRIPTION regress_testsub SET PUBLICATION testpub2, testpub3 WITH (refr ALTER SUBSCRIPTION regress_testsub CONNECTION 'dbname=regress_doesnotexist2'; ALTER SUBSCRIPTION regress_testsub SET (slot_name = 'newname'); ALTER SUBSCRIPTION regress_testsub SET (password_required = false); +ALTER SUBSCRIPTION regress_testsub SET (run_as_owner = true); \dRs+ ALTER SUBSCRIPTION regress_testsub SET (password_required = true); +ALTER SUBSCRIPTION regress_testsub SET (run_as_owner = false); -- fail ALTER SUBSCRIPTION regress_testsub SET (slot_name = ''); diff --git a/src/test/subscription/t/033_run_as_table_owner.pl b/src/test/subscription/t/033_run_as_table_owner.pl index 9de3c04a0c2..f4083202e53 100644 --- a/src/test/subscription/t/033_run_as_table_owner.pl +++ b/src/test/subscription/t/033_run_as_table_owner.pl @@ -193,6 +193,37 @@ sub revoke_superuser expect_replication("alice.unpartitioned", 3, 7, 13, "with INHERIT but not SET ROLE can replicate"); +# Similar to the previous test, remove all privileges again and instead, +# give the ability to SET ROLE to regress_alice. +$node_subscriber->safe_psql( + 'postgres', qq( +SET SESSION AUTHORIZATION regress_alice; +REVOKE ALL PRIVILEGES ON alice.unpartitioned FROM regress_admin; +RESET SESSION AUTHORIZATION; +GRANT regress_alice TO regress_admin WITH INHERIT FALSE, SET TRUE; +)); + +# Because replication is running as the subscription owner in this test, +# the above grant doesn't help. +publish_insert("alice.unpartitioned", 14); +expect_failure( + "alice.unpartitioned", + 3, + 7, + 13, + qr/ERROR: ( [A-Z0-9]+:)? permission denied for table unpartitioned/msi, + "with no privileges cannot replicate"); + +# Allow the replication to run as table owner and check that things start +# working. +$node_subscriber->safe_psql( + 'postgres', qq( +ALTER SUBSCRIPTION admin_sub SET (run_as_owner = false); +)); + +expect_replication("alice.unpartitioned", 4, 7, 14, + "can replicate after setting run_as_owner to false"); + # Remove the subscrition and truncate the table for the initial data sync # tests. $node_subscriber->safe_psql( @@ -222,7 +253,7 @@ sub revoke_superuser # Because the initial data sync is working as the table owner, all # data should be copied. $node_subscriber->wait_for_subscription_sync($node_publisher, 'admin_sub'); -expect_replication("alice.unpartitioned", 3, 7, 13, +expect_replication("alice.unpartitioned", 4, 7, 14, "table owner can do the initial data copy"); done_testing(); From 90838d6cb2075cbe697bf9a87b016d4ee8bcbd8d Mon Sep 17 00:00:00 2001 From: David Rowley Date: Thu, 14 Sep 2023 11:27:16 +1200 Subject: [PATCH 172/317] Fix incorrect logic in plan dependency recording Both 50e17ad28 and 29f45e299 mistakenly tried to record a plan dependency on a function but mistakenly inverted the OidIsValid test. This meant that we'd record a dependency only when the function's Oid was InvalidOid. Clearly this was meant to *not* record the dependency in that case. 50e17ad28 made this mistake first, then in v15 29f45e299 copied the same mistake. Reported-by: Tom Lane Backpatch-through: 14, where 50e17ad28 first made this mistake Discussion: https://postgr.es/m/2277537.1694301772@sss.pgh.pa.us --- src/backend/optimizer/plan/setrefs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/optimizer/plan/setrefs.c b/src/backend/optimizer/plan/setrefs.c index c63758cb2b7..eab517dd5cc 100644 --- a/src/backend/optimizer/plan/setrefs.c +++ b/src/backend/optimizer/plan/setrefs.c @@ -1979,10 +1979,10 @@ fix_expr_common(PlannerInfo *root, Node *node) set_sa_opfuncid(saop); record_plan_function_dependency(root, saop->opfuncid); - if (!OidIsValid(saop->hashfuncid)) + if (OidIsValid(saop->hashfuncid)) record_plan_function_dependency(root, saop->hashfuncid); - if (!OidIsValid(saop->negfuncid)) + if (OidIsValid(saop->negfuncid)) record_plan_function_dependency(root, saop->negfuncid); } else if (IsA(node, Const)) From 96b6f6635d326a17ebe7bb00aed8bbfa4ac552ac Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Thu, 14 Sep 2023 08:35:06 +0900 Subject: [PATCH 173/317] Refactor error messages for unsupported providers in pg_locale.c These code paths should not be reached normally, but if they are an error with "(null)" as information for the collation provider would show up if no locale is set, while we can assume that we are referring to libc. This refactors the code so as the provider is always reported even if no locale is set. The name of the function where the error happens is added, while on it, as it can be helpful for debugging. Issue introduced by d87d548cd030, so backpatch down to 16. Author: Michael Paquier, Ranier Vilela Reviewed-by: Jeff Davis, Kyotaro Horiguchi Discussion: https://postgr.es/m/7073610042fcf97e1bea2ce08b7e0214b5e11094.camel@j-davis.com Backpatch-through: 16 --- src/backend/utils/adt/pg_locale.c | 34 +++++++++++++++---------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/backend/utils/adt/pg_locale.c b/src/backend/utils/adt/pg_locale.c index 829eefa9803..f121d5f3066 100644 --- a/src/backend/utils/adt/pg_locale.c +++ b/src/backend/utils/adt/pg_locale.c @@ -81,6 +81,10 @@ #include #endif +/* Error triggered for locale-sensitive subroutines */ +#define PGLOCALE_SUPPORT_ERROR(provider) \ + elog(ERROR, "unsupported collprovider for %s: %c", __func__, provider) + /* * This should be large enough that most strings will fit, but small enough * that we feel comfortable putting it on the stack @@ -2035,7 +2039,7 @@ pg_strcoll(const char *arg1, const char *arg2, pg_locale_t locale) #endif else /* shouldn't happen */ - elog(ERROR, "unsupported collprovider: %c", locale->provider); + PGLOCALE_SUPPORT_ERROR(locale->provider); return result; } @@ -2071,7 +2075,7 @@ pg_strncoll(const char *arg1, size_t len1, const char *arg2, size_t len2, #endif else /* shouldn't happen */ - elog(ERROR, "unsupported collprovider: %c", locale->provider); + PGLOCALE_SUPPORT_ERROR(locale->provider); return result; } @@ -2092,7 +2096,7 @@ pg_strxfrm_libc(char *dest, const char *src, size_t destsize, return strxfrm(dest, src, destsize); #else /* shouldn't happen */ - elog(ERROR, "unsupported collprovider: %c", locale->provider); + PGLOCALE_SUPPORT_ERROR(locale->provider); return 0; /* keep compiler quiet */ #endif } @@ -2288,7 +2292,7 @@ pg_strxfrm_enabled(pg_locale_t locale) return true; else /* shouldn't happen */ - elog(ERROR, "unsupported collprovider: %c", locale->provider); + PGLOCALE_SUPPORT_ERROR(locale->provider); return false; /* keep compiler quiet */ } @@ -2320,7 +2324,7 @@ pg_strxfrm(char *dest, const char *src, size_t destsize, pg_locale_t locale) #endif else /* shouldn't happen */ - elog(ERROR, "unsupported collprovider: %c", locale->provider); + PGLOCALE_SUPPORT_ERROR(locale->provider); return result; } @@ -2357,7 +2361,7 @@ pg_strnxfrm(char *dest, size_t destsize, const char *src, size_t srclen, #endif else /* shouldn't happen */ - elog(ERROR, "unsupported collprovider: %c", locale->provider); + PGLOCALE_SUPPORT_ERROR(locale->provider); return result; } @@ -2375,7 +2379,7 @@ pg_strxfrm_prefix_enabled(pg_locale_t locale) return true; else /* shouldn't happen */ - elog(ERROR, "unsupported collprovider: %c", locale->provider); + PGLOCALE_SUPPORT_ERROR(locale->provider); return false; /* keep compiler quiet */ } @@ -2399,16 +2403,14 @@ pg_strxfrm_prefix(char *dest, const char *src, size_t destsize, { size_t result = 0; /* keep compiler quiet */ - if (!locale || locale->provider == COLLPROVIDER_LIBC) - elog(ERROR, "collprovider '%c' does not support pg_strxfrm_prefix()", - locale->provider); + if (!locale) + PGLOCALE_SUPPORT_ERROR(COLLPROVIDER_LIBC); #ifdef USE_ICU else if (locale->provider == COLLPROVIDER_ICU) result = pg_strnxfrm_prefix_icu(dest, src, -1, destsize, locale); #endif else - /* shouldn't happen */ - elog(ERROR, "unsupported collprovider: %c", locale->provider); + PGLOCALE_SUPPORT_ERROR(locale->provider); return result; } @@ -2436,16 +2438,14 @@ pg_strnxfrm_prefix(char *dest, size_t destsize, const char *src, { size_t result = 0; /* keep compiler quiet */ - if (!locale || locale->provider == COLLPROVIDER_LIBC) - elog(ERROR, "collprovider '%c' does not support pg_strnxfrm_prefix()", - locale->provider); + if (!locale) + PGLOCALE_SUPPORT_ERROR(COLLPROVIDER_LIBC); #ifdef USE_ICU else if (locale->provider == COLLPROVIDER_ICU) result = pg_strnxfrm_prefix_icu(dest, src, -1, destsize, locale); #endif else - /* shouldn't happen */ - elog(ERROR, "unsupported collprovider: %c", locale->provider); + PGLOCALE_SUPPORT_ERROR(locale->provider); return result; } From 1027a841685aa418df678dbf5e9f68e3fec2d7fb Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Thu, 14 Sep 2023 10:30:23 +0900 Subject: [PATCH 174/317] Improve error message on snapshot import in snapmgr.c When a snapshot file fails to be read in ImportSnapshot(), it would issue an ERROR as "invalid snapshot identifier" when opening a stream for it in read-only mode. This error message is reworded to be the same as all the other messages used in this case on failure, which is useful when debugging this area. Thinko introduced by bb446b689b66 where snapshot imports have been added. A backpatch down to 11 is done as this can improve any work related to snapshot imports in older branches. Author: Bharath Rupireddy Reviewed-by: Daniel Gustafsson Discussion: https://postgr.es/m/CALj2ACWmr=3KdxDkm8h7Zn1XxBoF6hdzq8WQyMn2y1OL5RYFrg@mail.gmail.com Backpatch-through: 11 --- src/backend/utils/time/snapmgr.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/backend/utils/time/snapmgr.c b/src/backend/utils/time/snapmgr.c index 3a419e348fa..5659ddaf31e 100644 --- a/src/backend/utils/time/snapmgr.c +++ b/src/backend/utils/time/snapmgr.c @@ -1445,8 +1445,9 @@ ImportSnapshot(const char *idstr) f = AllocateFile(path, PG_BINARY_R); if (!f) ereport(ERROR, - (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("invalid snapshot identifier: \"%s\"", idstr))); + (errcode_for_file_access(), + errmsg("could not open file \"%s\" for reading: %m", + path))); /* get the size of the file so that we know how much memory we need */ if (fstat(fileno(f), &stat_buf)) From 6393c2bac1ecc971641ca7777a13749ba19c28bf Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Wed, 13 Sep 2023 19:14:11 -0700 Subject: [PATCH 175/317] Fix tracking of temp table relation extensions as writes Karina figured out that I (Andres) confused BufferUsage.temp_blks_written with BufferUsage.local_blks_written in fcdda1e4b5. Tests in core PG can't easily test this, as BufferUsage is just used for EXPLAIN (ANALYZE, BUFFERS) and pg_stat_statements. Thus this commit adds tests for this to pg_stat_statements. Reported-by: Karina Litskevich Author: Karina Litskevich Author: Andres Freund Discussion: https://postgr.es/m/CACiT8ibxXA6+0amGikbeFhm8B84XdQVo6D0Qfd1pQ1s8zpsnxQ@mail.gmail.com Backpatch: 16-, where fcdda1e4b5 was merged --- contrib/pg_stat_statements/expected/dml.out | 27 +++++++++++++++++++++ contrib/pg_stat_statements/sql/dml.sql | 19 +++++++++++++++ src/backend/storage/buffer/localbuf.c | 2 +- 3 files changed, 47 insertions(+), 1 deletion(-) diff --git a/contrib/pg_stat_statements/expected/dml.out b/contrib/pg_stat_statements/expected/dml.out index 7b9c8f979ee..ede47a71acc 100644 --- a/contrib/pg_stat_statements/expected/dml.out +++ b/contrib/pg_stat_statements/expected/dml.out @@ -139,6 +139,33 @@ SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C"; 1 | 1 | SELECT pg_stat_statements_reset() (10 rows) +-- check that [temp] table relation extensions are tracked as writes +CREATE TABLE pgss_extend_tab (a int, b text); +CREATE TEMP TABLE pgss_extend_temp_tab (a int, b text); +SELECT pg_stat_statements_reset(); + pg_stat_statements_reset +-------------------------- + +(1 row) + +INSERT INTO pgss_extend_tab (a, b) SELECT generate_series(1, 1000), 'something'; +INSERT INTO pgss_extend_temp_tab (a, b) SELECT generate_series(1, 1000), 'something'; +WITH sizes AS ( + SELECT + pg_relation_size('pgss_extend_tab') / current_setting('block_size')::int8 AS rel_size, + pg_relation_size('pgss_extend_temp_tab') / current_setting('block_size')::int8 AS temp_rel_size +) +SELECT + SUM(local_blks_written) >= (SELECT temp_rel_size FROM sizes) AS temp_written_ok, + SUM(local_blks_dirtied) >= (SELECT temp_rel_size FROM sizes) AS temp_dirtied_ok, + SUM(shared_blks_written) >= (SELECT rel_size FROM sizes) AS written_ok, + SUM(shared_blks_dirtied) >= (SELECT rel_size FROM sizes) AS dirtied_ok +FROM pg_stat_statements; + temp_written_ok | temp_dirtied_ok | written_ok | dirtied_ok +-----------------+-----------------+------------+------------ + t | t | t | t +(1 row) + SELECT pg_stat_statements_reset(); pg_stat_statements_reset -------------------------- diff --git a/contrib/pg_stat_statements/sql/dml.sql b/contrib/pg_stat_statements/sql/dml.sql index af2f9fcf73b..3b5d2afb858 100644 --- a/contrib/pg_stat_statements/sql/dml.sql +++ b/contrib/pg_stat_statements/sql/dml.sql @@ -73,4 +73,23 @@ MERGE INTO pgss_dml_tab USING pgss_dml_tab st ON (st.a = pgss_dml_tab.a AND st.a DROP TABLE pgss_dml_tab; SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C"; + +-- check that [temp] table relation extensions are tracked as writes +CREATE TABLE pgss_extend_tab (a int, b text); +CREATE TEMP TABLE pgss_extend_temp_tab (a int, b text); +SELECT pg_stat_statements_reset(); +INSERT INTO pgss_extend_tab (a, b) SELECT generate_series(1, 1000), 'something'; +INSERT INTO pgss_extend_temp_tab (a, b) SELECT generate_series(1, 1000), 'something'; +WITH sizes AS ( + SELECT + pg_relation_size('pgss_extend_tab') / current_setting('block_size')::int8 AS rel_size, + pg_relation_size('pgss_extend_temp_tab') / current_setting('block_size')::int8 AS temp_rel_size +) +SELECT + SUM(local_blks_written) >= (SELECT temp_rel_size FROM sizes) AS temp_written_ok, + SUM(local_blks_dirtied) >= (SELECT temp_rel_size FROM sizes) AS temp_dirtied_ok, + SUM(shared_blks_written) >= (SELECT rel_size FROM sizes) AS written_ok, + SUM(shared_blks_dirtied) >= (SELECT rel_size FROM sizes) AS dirtied_ok +FROM pg_stat_statements; + SELECT pg_stat_statements_reset(); diff --git a/src/backend/storage/buffer/localbuf.c b/src/backend/storage/buffer/localbuf.c index 1735ec71419..567b8d15ef0 100644 --- a/src/backend/storage/buffer/localbuf.c +++ b/src/backend/storage/buffer/localbuf.c @@ -431,7 +431,7 @@ ExtendBufferedRelLocal(BufferManagerRelation bmr, *extended_by = extend_by; - pgBufferUsage.temp_blks_written += extend_by; + pgBufferUsage.local_blks_written += extend_by; return first_block; } From 3a354d1c9317e784032088b84cb19cab90b49731 Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Thu, 14 Sep 2023 16:00:36 +0900 Subject: [PATCH 176/317] Revert "Improve error message on snapshot import in snapmgr.c" This reverts commit a0d87bcd9b57, following a remark from Andres Frend that the new error can be triggered with an incorrect SET TRANSACTION SNAPSHOT command without being really helpful for the user as it uses the internal file name. Discussion: https://postgr.es/m/20230914020724.hlks7vunitvtbbz4@awork3.anarazel.de Backpatch-through: 11 --- src/backend/utils/time/snapmgr.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/backend/utils/time/snapmgr.c b/src/backend/utils/time/snapmgr.c index 5659ddaf31e..3a419e348fa 100644 --- a/src/backend/utils/time/snapmgr.c +++ b/src/backend/utils/time/snapmgr.c @@ -1445,9 +1445,8 @@ ImportSnapshot(const char *idstr) f = AllocateFile(path, PG_BINARY_R); if (!f) ereport(ERROR, - (errcode_for_file_access(), - errmsg("could not open file \"%s\" for reading: %m", - path))); + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("invalid snapshot identifier: \"%s\"", idstr))); /* get the size of the file so that we know how much memory we need */ if (fstat(fileno(f), &stat_buf)) From ddfcb686a04421b1146b9c0b2473d4d4897e9c41 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 15 Sep 2023 17:01:26 -0400 Subject: [PATCH 177/317] Track nesting depth correctly when drilling down into RECORD Vars. expandRecordVariable() failed to adjust the parse nesting structure correctly when recursing to inspect an outer-level Var. This could result in assertion failures or core dumps in corner cases. Likewise, get_name_for_var_field() failed to adjust the deparse namespace stack correctly when recursing to inspect an outer-level Var. In this case the likely result was a "bogus varno" error while deparsing a view. Per bug #18077 from Jingzhou Fu. Back-patch to all supported branches. Richard Guo, with some adjustments by me Discussion: https://postgr.es/m/18077-b9db97c6e0ab45d8@postgresql.org --- src/backend/parser/parse_target.c | 17 +++++--- src/backend/utils/adt/ruleutils.c | 37 +++++++++------- src/test/regress/expected/rowtypes.out | 60 ++++++++++++++++++++++++++ src/test/regress/sql/rowtypes.sql | 25 +++++++++++ 4 files changed, 119 insertions(+), 20 deletions(-) diff --git a/src/backend/parser/parse_target.c b/src/backend/parser/parse_target.c index e372c07196b..85e01fb8428 100644 --- a/src/backend/parser/parse_target.c +++ b/src/backend/parser/parse_target.c @@ -1544,7 +1544,8 @@ ExpandRowReference(ParseState *pstate, Node *expr, * drill down to find the ultimate defining expression and attempt to infer * the tupdesc from it. We ereport if we can't determine the tupdesc. * - * levelsup is an extra offset to interpret the Var's varlevelsup correctly. + * levelsup is an extra offset to interpret the Var's varlevelsup correctly + * when recursing. Outside callers should pass zero. */ TupleDesc expandRecordVariable(ParseState *pstate, Var *var, int levelsup) @@ -1632,10 +1633,17 @@ expandRecordVariable(ParseState *pstate, Var *var, int levelsup) /* * Recurse into the sub-select to see what its Var refers * to. We have to build an additional level of ParseState - * to keep in step with varlevelsup in the subselect. + * to keep in step with varlevelsup in the subselect; + * furthermore, the subquery RTE might be from an outer + * query level, in which case the ParseState for the + * subselect must have that outer level as parent. */ ParseState mypstate = {0}; + Index levelsup; + /* this loop must work, since GetRTEByRangeTablePosn did */ + for (levelsup = 0; levelsup < netlevelsup; levelsup++) + pstate = pstate->parentParseState; mypstate.parentParseState = pstate; mypstate.p_rtable = rte->subquery->rtable; /* don't bother filling the rest of the fake pstate */ @@ -1686,12 +1694,11 @@ expandRecordVariable(ParseState *pstate, Var *var, int levelsup) * Recurse into the CTE to see what its Var refers to. We * have to build an additional level of ParseState to keep * in step with varlevelsup in the CTE; furthermore it - * could be an outer CTE. + * could be an outer CTE (compare SUBQUERY case above). */ - ParseState mypstate; + ParseState mypstate = {0}; Index levelsup; - MemSet(&mypstate, 0, sizeof(mypstate)); /* this loop must work, since GetCTEForRTE did */ for (levelsup = 0; levelsup < rte->ctelevelsup + netlevelsup; diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index 63ab2ec2ff0..52b091a9bc9 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -7813,22 +7813,28 @@ get_name_for_var_field(Var *var, int fieldno, * Recurse into the sub-select to see what its Var * refers to. We have to build an additional level of * namespace to keep in step with varlevelsup in the - * subselect. + * subselect; furthermore, the subquery RTE might be + * from an outer query level, in which case the + * namespace for the subselect must have that outer + * level as parent namespace. */ + List *save_nslist = context->namespaces; + List *parent_namespaces; deparse_namespace mydpns; const char *result; + parent_namespaces = list_copy_tail(context->namespaces, + netlevelsup); + set_deparse_for_query(&mydpns, rte->subquery, - context->namespaces); + parent_namespaces); - context->namespaces = lcons(&mydpns, - context->namespaces); + context->namespaces = lcons(&mydpns, parent_namespaces); result = get_name_for_var_field((Var *) expr, fieldno, 0, context); - context->namespaces = - list_delete_first(context->namespaces); + context->namespaces = save_nslist; return result; } @@ -7920,7 +7926,7 @@ get_name_for_var_field(Var *var, int fieldno, attnum); if (ste == NULL || ste->resjunk) - elog(ERROR, "subquery %s does not have attribute %d", + elog(ERROR, "CTE %s does not have attribute %d", rte->eref->aliasname, attnum); expr = (Node *) ste->expr; if (IsA(expr, Var)) @@ -7928,21 +7934,22 @@ get_name_for_var_field(Var *var, int fieldno, /* * Recurse into the CTE to see what its Var refers to. * We have to build an additional level of namespace - * to keep in step with varlevelsup in the CTE. - * Furthermore it could be an outer CTE, so we may - * have to delete some levels of namespace. + * to keep in step with varlevelsup in the CTE; + * furthermore it could be an outer CTE (compare + * SUBQUERY case above). */ List *save_nslist = context->namespaces; - List *new_nslist; + List *parent_namespaces; deparse_namespace mydpns; const char *result; + parent_namespaces = list_copy_tail(context->namespaces, + ctelevelsup); + set_deparse_for_query(&mydpns, ctequery, - context->namespaces); + parent_namespaces); - new_nslist = list_copy_tail(context->namespaces, - ctelevelsup); - context->namespaces = lcons(&mydpns, new_nslist); + context->namespaces = lcons(&mydpns, parent_namespaces); result = get_name_for_var_field((Var *) expr, fieldno, 0, context); diff --git a/src/test/regress/expected/rowtypes.out b/src/test/regress/expected/rowtypes.out index 981ee0811a7..8f3c153bac2 100644 --- a/src/test/regress/expected/rowtypes.out +++ b/src/test/regress/expected/rowtypes.out @@ -1240,6 +1240,66 @@ select r, r is null as isnull, r is not null as isnotnull from r; (,) | t | f (6 rows) +-- +-- Check parsing of indirect references to composite values (bug #18077) +-- +explain (verbose, costs off) +with cte(c) as materialized (select row(1, 2)), + cte2(c) as (select * from cte) +select * from cte2 as t +where (select * from (select c as c1) s + where (select (c1).f1 > 0)) is not null; + QUERY PLAN +-------------------------------------------- + CTE Scan on cte + Output: cte.c + Filter: ((SubPlan 3) IS NOT NULL) + CTE cte + -> Result + Output: '(1,2)'::record + SubPlan 3 + -> Result + Output: cte.c + One-Time Filter: $2 + InitPlan 2 (returns $2) + -> Result + Output: ((cte.c).f1 > 0) +(13 rows) + +with cte(c) as materialized (select row(1, 2)), + cte2(c) as (select * from cte) +select * from cte2 as t +where (select * from (select c as c1) s + where (select (c1).f1 > 0)) is not null; + c +------- + (1,2) +(1 row) + +-- Also check deparsing of such cases +create view composite_v as +with cte(c) as materialized (select row(1, 2)), + cte2(c) as (select * from cte) +select 1 as one from cte2 as t +where (select * from (select c as c1) s + where (select (c1).f1 > 0)) is not null; +select pg_get_viewdef('composite_v', true); + pg_get_viewdef +-------------------------------------------------------- + WITH cte(c) AS MATERIALIZED ( + + SELECT ROW(1, 2) AS "row" + + ), cte2(c) AS ( + + SELECT cte.c + + FROM cte + + ) + + SELECT 1 AS one + + FROM cte2 t + + WHERE (( SELECT s.c1 + + FROM ( SELECT t.c AS c1) s + + WHERE ( SELECT (s.c1).f1 > 0))) IS NOT NULL; +(1 row) + +drop view composite_v; -- -- Tests for component access / FieldSelect -- diff --git a/src/test/regress/sql/rowtypes.sql b/src/test/regress/sql/rowtypes.sql index 565e6249d50..fd47dc9e0f6 100644 --- a/src/test/regress/sql/rowtypes.sql +++ b/src/test/regress/sql/rowtypes.sql @@ -494,6 +494,31 @@ with r(a,b) as materialized (null,row(1,2)), (null,row(null,null)), (null,null) ) select r, r is null as isnull, r is not null as isnotnull from r; +-- +-- Check parsing of indirect references to composite values (bug #18077) +-- +explain (verbose, costs off) +with cte(c) as materialized (select row(1, 2)), + cte2(c) as (select * from cte) +select * from cte2 as t +where (select * from (select c as c1) s + where (select (c1).f1 > 0)) is not null; + +with cte(c) as materialized (select row(1, 2)), + cte2(c) as (select * from cte) +select * from cte2 as t +where (select * from (select c as c1) s + where (select (c1).f1 > 0)) is not null; + +-- Also check deparsing of such cases +create view composite_v as +with cte(c) as materialized (select row(1, 2)), + cte2(c) as (select * from cte) +select 1 as one from cte2 as t +where (select * from (select c as c1) s + where (select (c1).f1 > 0)) is not null; +select pg_get_viewdef('composite_v', true); +drop view composite_v; -- -- Tests for component access / FieldSelect From 9f0e635162a5489cf6ae803634fc42d4e191f96b Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 18 Sep 2023 14:27:47 -0400 Subject: [PATCH 178/317] Don't crash if cursor_to_xmlschema is used on a non-data-returning Portal. cursor_to_xmlschema() assumed that any Portal must have a tupDesc, which is not so. Add a defensive check. It's plausible that this mistake occurred because of the rather poorly chosen name of the lookup function SPI_cursor_find(), which in such cases is returning something that isn't very much like a cursor. Add some documentation to try to forestall future errors of the same ilk. Report and patch by Boyu Yang (docs changes by me). Back-patch to all supported branches. Discussion: https://postgr.es/m/dd343010-c637-434c-a8cb-418f53bda3b8.yangboyu.yby@alibaba-inc.com --- doc/src/sgml/spi.sgml | 13 +++++++++++++ src/backend/utils/adt/xml.c | 4 ++++ 2 files changed, 17 insertions(+) diff --git a/doc/src/sgml/spi.sgml b/doc/src/sgml/spi.sgml index 16c3ab71e85..47f4b5b4317 100644 --- a/doc/src/sgml/spi.sgml +++ b/doc/src/sgml/spi.sgml @@ -2727,6 +2727,19 @@ Portal SPI_cursor_find(const char * name) NULL if none was found + + + Notes + + + Beware that this function can return a Portal object + that does not have cursor-like properties; for example it might not + return tuples. If you simply pass the Portal pointer + to other SPI functions, they can defend themselves against such + cases, but caution is appropriate when directly inspecting + the Portal. + + diff --git a/src/backend/utils/adt/xml.c b/src/backend/utils/adt/xml.c index 866d0d649a4..2300c7ebf34 100644 --- a/src/backend/utils/adt/xml.c +++ b/src/backend/utils/adt/xml.c @@ -3012,6 +3012,10 @@ cursor_to_xmlschema(PG_FUNCTION_ARGS) ereport(ERROR, (errcode(ERRCODE_UNDEFINED_CURSOR), errmsg("cursor \"%s\" does not exist", name))); + if (portal->tupDesc == NULL) + ereport(ERROR, + (errcode(ERRCODE_INVALID_CURSOR_STATE), + errmsg("portal \"%s\" does not return tuples", name))); xmlschema = _SPI_strdup(map_sql_table_to_xmlschema(portal->tupDesc, InvalidOid, nulls, From 0f8b2faa10e2a44294e2c99a2e82caf72ae06cde Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Tue, 19 Sep 2023 08:31:22 +0900 Subject: [PATCH 179/317] Fix assertion failure with PL/Python exceptions PLy_elog() was not able to handle correctly cases where a SPI called failed, which would fill in a DETAIL string able to trigger an assertion. We may want to improve this infrastructure so as it is able to provide any extra detail information provided by an error stack, but this is left as a future improvement as it could impact existing error stacks and any applications that depend on them. For now, the assertion is removed and a regression test is added to cover the case of a failure with a detail string. This problem exists since 2bd78eb8d51c, so backpatch all the way down with tweaks to the regression tests output added where required. Author: Alexander Lakhin Discussion: https://postgr.es/m/18070-ab9c171cbf4ebb0f@postgresql.org Backpatch-through: 11 --- src/pl/plpython/expected/plpython_error.out | 13 +++++++++++++ src/pl/plpython/expected/plpython_error_5.out | 13 +++++++++++++ src/pl/plpython/plpy_elog.c | 3 --- src/pl/plpython/sql/plpython_error.sql | 11 +++++++++++ 4 files changed, 37 insertions(+), 3 deletions(-) diff --git a/src/pl/plpython/expected/plpython_error.out b/src/pl/plpython/expected/plpython_error.out index 9af7ea7292d..68722b00097 100644 --- a/src/pl/plpython/expected/plpython_error.out +++ b/src/pl/plpython/expected/plpython_error.out @@ -445,3 +445,16 @@ PL/Python function "notice_outerfunc" 1 (1 row) +/* test error logged with an underlying exception that includes a detail + * string (bug #18070). + */ +CREATE FUNCTION python_error_detail() RETURNS SETOF text AS $$ + plan = plpy.prepare("SELECT to_date('xy', 'DD') d") + for row in plpy.cursor(plan): + yield row['d'] +$$ LANGUAGE plpython3u; +SELECT python_error_detail(); +ERROR: error fetching next item from iterator +DETAIL: spiexceptions.InvalidDatetimeFormat: invalid value "xy" for "DD" +CONTEXT: Traceback (most recent call last): +PL/Python function "python_error_detail" diff --git a/src/pl/plpython/expected/plpython_error_5.out b/src/pl/plpython/expected/plpython_error_5.out index 7fe864a1a57..fd9cd73be74 100644 --- a/src/pl/plpython/expected/plpython_error_5.out +++ b/src/pl/plpython/expected/plpython_error_5.out @@ -445,3 +445,16 @@ PL/Python function "notice_outerfunc" 1 (1 row) +/* test error logged with an underlying exception that includes a detail + * string (bug #18070). + */ +CREATE FUNCTION python_error_detail() RETURNS SETOF text AS $$ + plan = plpy.prepare("SELECT to_date('xy', 'DD') d") + for row in plpy.cursor(plan): + yield row['d'] +$$ LANGUAGE plpython3u; +SELECT python_error_detail(); +ERROR: error fetching next item from iterator +DETAIL: spiexceptions.InvalidDatetimeFormat: invalid value "xy" for "DD" +CONTEXT: Traceback (most recent call last): +PL/Python function "python_error_detail" diff --git a/src/pl/plpython/plpy_elog.c b/src/pl/plpython/plpy_elog.c index 7c627eacfbf..70de5ba13d7 100644 --- a/src/pl/plpython/plpy_elog.c +++ b/src/pl/plpython/plpy_elog.c @@ -103,9 +103,6 @@ PLy_elog_impl(int elevel, const char *fmt,...) } primary = emsg.data; - /* Since we have a format string, we cannot have a SPI detail. */ - Assert(detail == NULL); - /* If there's an exception message, it goes in the detail. */ if (xmsg) detail = xmsg; diff --git a/src/pl/plpython/sql/plpython_error.sql b/src/pl/plpython/sql/plpython_error.sql index 11f14ec5a7c..9bb1c0b085a 100644 --- a/src/pl/plpython/sql/plpython_error.sql +++ b/src/pl/plpython/sql/plpython_error.sql @@ -344,3 +344,14 @@ $$ LANGUAGE plpython3u; \set SHOW_CONTEXT always SELECT notice_outerfunc(); + +/* test error logged with an underlying exception that includes a detail + * string (bug #18070). + */ +CREATE FUNCTION python_error_detail() RETURNS SETOF text AS $$ + plan = plpy.prepare("SELECT to_date('xy', 'DD') d") + for row in plpy.cursor(plan): + yield row['d'] +$$ LANGUAGE plpython3u; + +SELECT python_error_detail(); From d06794dbc895604d669ba519effe7e49bbe6994f Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Tue, 19 Sep 2023 11:53:51 +0300 Subject: [PATCH 180/317] Fix GiST README's explanation of the NSN cross-check. The text got the condition backwards, it's "NSN > LSN", not "NSN < LSN". While we're at it, expand it a little for clarity. Reviewed-by: Daniel Gustafsson Discussion: https://www.postgresql.org/message-id/4cb46e18-e688-524a-0f73-b1f03ed5d6ee@iki.fi --- src/backend/access/gist/README | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/backend/access/gist/README b/src/backend/access/gist/README index efb2730e181..8015ff19f05 100644 --- a/src/backend/access/gist/README +++ b/src/backend/access/gist/README @@ -271,10 +271,10 @@ should be visited too. When split inserts the downlink to the parent, it clears the F_FOLLOW_RIGHT flag in the child, and sets the NSN field in the child page header to match the LSN of the insertion on the parent. If the F_FOLLOW_RIGHT flag is not set, a scan compares the NSN on the child and the -LSN it saw in the parent. If NSN < LSN, the scan looked at the parent page -before the downlink was inserted, so it should follow the rightlink. Otherwise -the scan saw the downlink in the parent page, and will/did follow that as -usual. +LSN it saw in the parent. If the child's NSN is greater than the LSN seen on +the parent, the scan looked at the parent page before the downlink was +inserted, so it should follow the rightlink. Otherwise the scan saw the +downlink in the parent page, and will/did follow that as usual. A scan can't normally see a page with the F_FOLLOW_RIGHT flag set, because a page split keeps the child pages locked until the downlink has been inserted From c4dc66020dcd50a59df4ea276165556c27489fb0 Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Wed, 20 Sep 2023 13:37:02 +0900 Subject: [PATCH 181/317] doc: Fix description of BUFFER_USAGE_LIMIT for VACUUM and ANALYZE BUFFER_USAGE_LIMIT requires a parameter, and 'B' is a supported unit. Author: Ryoga Yoshida Reviewed-by: Shinya Kato Discussion: https://postgr.es/m/9374034cb91b647b55a774a8980b0228@oss.nttdata.com Backpatch-through: 16 --- doc/src/sgml/ref/analyze.sgml | 8 ++++---- doc/src/sgml/ref/vacuum.sgml | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/src/sgml/ref/analyze.sgml b/doc/src/sgml/ref/analyze.sgml index aa3e9e1c5fe..73fa3b3dff3 100644 --- a/doc/src/sgml/ref/analyze.sgml +++ b/doc/src/sgml/ref/analyze.sgml @@ -28,7 +28,7 @@ ANALYZE [ VERBOSE ] [ table_and_columnsboolean ] SKIP_LOCKED [ boolean ] - BUFFER_USAGE_LIMIT [ size ] + BUFFER_USAGE_LIMIT size and table_and_columns is: @@ -136,9 +136,9 @@ ANALYZE [ VERBOSE ] [ table_and_columns Specifies an amount of memory in kilobytes. Sizes may also be specified as a string containing the numerical size followed by any one of the - following memory units: kB (kilobytes), - MB (megabytes), GB (gigabytes), or - TB (terabytes). + following memory units: B (bytes), + kB (kilobytes), MB (megabytes), + GB (gigabytes), or TB (terabytes). diff --git a/doc/src/sgml/ref/vacuum.sgml b/doc/src/sgml/ref/vacuum.sgml index 65c03bf8299..2b85c3d385d 100644 --- a/doc/src/sgml/ref/vacuum.sgml +++ b/doc/src/sgml/ref/vacuum.sgml @@ -39,7 +39,7 @@ VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ ANALYZE ] [ integer SKIP_DATABASE_STATS [ boolean ] ONLY_DATABASE_STATS [ boolean ] - BUFFER_USAGE_LIMIT [ size ] + BUFFER_USAGE_LIMIT size and table_and_columns is: @@ -399,9 +399,9 @@ VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ ANALYZE ] [ buffer_usage_limit) + { + Assert(serverVersion >= 160000); + appendPQExpBuffer(sql, "%sBUFFER_USAGE_LIMIT '%s'", sep, + vacopts->buffer_usage_limit); + sep = comma; + } if (sep != paren) appendPQExpBufferChar(sql, ')'); } From 0b642f9ec7ed21c3276354784e548a45311d6e3a Mon Sep 17 00:00:00 2001 From: Etsuro Fujita Date: Thu, 21 Sep 2023 19:45:01 +0900 Subject: [PATCH 183/317] Update comment about set_join_pathlist_hook(). The comment introduced by commit e7cb7ee14 was a bit too terse, which could lead to extensions doing different things within the hook function than we intend to allow. Extend the comment to explain what they can do within the hook function. Back-patch to all supported branches. In passing, I rephrased a nearby comment that I recently added to the back branches. Reviewed by David Rowley and Andrei Lepikhov. Discussion: https://postgr.es/m/CAPmGK15SBPA1nr3Aqsdm%2BYyS-ay0Ayo2BRYQ8_A2To9eLqwopQ%40mail.gmail.com --- src/backend/optimizer/path/joinpath.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/backend/optimizer/path/joinpath.c b/src/backend/optimizer/path/joinpath.c index 03b31859847..4588a4cffc3 100644 --- a/src/backend/optimizer/path/joinpath.c +++ b/src/backend/optimizer/path/joinpath.c @@ -326,7 +326,8 @@ add_paths_to_joinrel(PlannerInfo *root, /* * createplan.c does not currently support handling of pseudoconstant * clauses assigned to joins pushed down by extensions; check if the - * restrictlist has such clauses, and if so, disallow pushing down joins. + * restrictlist has such clauses, and if not, allow them to consider + * pushing down joins. */ if ((joinrel->fdwroutine && joinrel->fdwroutine->GetForeignJoinPaths) || @@ -347,7 +348,10 @@ add_paths_to_joinrel(PlannerInfo *root, jointype, &extra); /* - * 6. Finally, give extensions a chance to manipulate the path list. + * 6. Finally, give extensions a chance to manipulate the path list. They + * could add new paths (such as CustomPaths) by calling add_path(), or + * add_partial_path() if parallel aware. They could also delete or modify + * paths added by the core code. */ if (set_join_pathlist_hook && consider_join_pushdown) From 901ddcd7c3476f76f50c3cb2ea45dff67b8fe2c7 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Thu, 21 Sep 2023 11:27:29 -0400 Subject: [PATCH 184/317] doc: PG 16 relnotes: improve wording of promote_trigger item Reported-by: Dave Page Author: Dave Page Backpatch-through: 16 only --- doc/src/sgml/release-16.sgml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/sgml/release-16.sgml b/doc/src/sgml/release-16.sgml index 660476e9d4e..a0a8092120f 100644 --- a/doc/src/sgml/release-16.sgml +++ b/doc/src/sgml/release-16.sgml @@ -244,7 +244,7 @@ Author: Thomas Munro - This was used to promote a standby to primary, but is now easier + This was used to promote a standby to primary, but is now more easily accomplished with pg_ctl promote or pg_promote(). From d439dca1ce82a8d28745b2b0b19f9eeef71b412f Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 21 Sep 2023 23:11:30 -0400 Subject: [PATCH 185/317] Fix COMMIT/ROLLBACK AND CHAIN in the presence of subtransactions. In older branches, COMMIT/ROLLBACK AND CHAIN failed to propagate the current transaction's properties to the new transaction if there was any open subtransaction (unreleased savepoint). Instead, some previous transaction's properties would be restored. This is because the "if (s->chain)" check in CommitTransactionCommand examined the wrong instance of the "chain" flag and falsely concluded that it didn't need to save transaction properties. Our regression tests would have noticed this, except they used identical transaction properties for multiple tests in a row, so that the faulty behavior was not distinguishable from correct behavior. Commit 12d768e70 fixed the problem in v15 and later, but only rather accidentally, because I removed the "if (s->chain)" test to avoid a compiler warning, while not realizing that the warning was flagging a real bug. In v14 and before, remove the if-test and save transaction properties unconditionally; just as in the newer branches, that's not expensive enough to justify thinking harder. Add the comment and extra regression test to v15 and later to forestall any future recurrence, but there's no live bug in those branches. Patch by me, per bug #18118 from Liu Xiang. Back-patch to v12 where the AND CHAIN feature was added. Discussion: https://postgr.es/m/18118-4b72fcbb903aace6@postgresql.org --- src/backend/access/transam/xact.c | 1 + src/test/regress/expected/transactions.out | 40 ++++++++++++++++++++++ src/test/regress/sql/transactions.sql | 11 ++++++ 3 files changed, 52 insertions(+) diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c index 11e6a372c8d..ccfcee7f829 100644 --- a/src/backend/access/transam/xact.c +++ b/src/backend/access/transam/xact.c @@ -3043,6 +3043,7 @@ CommitTransactionCommand(void) TransactionState s = CurrentTransactionState; SavedTransactionCharacteristics savetc; + /* Must save in case we need to restore below */ SaveTransactionCharacteristics(&savetc); switch (s->blockState) diff --git a/src/test/regress/expected/transactions.out b/src/test/regress/expected/transactions.out index 428c9edcc6f..535f73cd40e 100644 --- a/src/test/regress/expected/transactions.out +++ b/src/test/regress/expected/transactions.out @@ -852,6 +852,46 @@ SHOW transaction_deferrable; on (1 row) +COMMIT; +START TRANSACTION ISOLATION LEVEL READ COMMITTED, READ WRITE, DEFERRABLE; +SHOW transaction_isolation; + transaction_isolation +----------------------- + read committed +(1 row) + +SHOW transaction_read_only; + transaction_read_only +----------------------- + off +(1 row) + +SHOW transaction_deferrable; + transaction_deferrable +------------------------ + on +(1 row) + +SAVEPOINT x; +COMMIT AND CHAIN; -- TBLOCK_SUBCOMMIT +SHOW transaction_isolation; + transaction_isolation +----------------------- + read committed +(1 row) + +SHOW transaction_read_only; + transaction_read_only +----------------------- + off +(1 row) + +SHOW transaction_deferrable; + transaction_deferrable +------------------------ + on +(1 row) + COMMIT; -- different mix of options just for fun START TRANSACTION ISOLATION LEVEL SERIALIZABLE, READ WRITE, NOT DEFERRABLE; diff --git a/src/test/regress/sql/transactions.sql b/src/test/regress/sql/transactions.sql index 75ffe929d45..07db0d6ec6d 100644 --- a/src/test/regress/sql/transactions.sql +++ b/src/test/regress/sql/transactions.sql @@ -489,6 +489,17 @@ SHOW transaction_read_only; SHOW transaction_deferrable; COMMIT; +START TRANSACTION ISOLATION LEVEL READ COMMITTED, READ WRITE, DEFERRABLE; +SHOW transaction_isolation; +SHOW transaction_read_only; +SHOW transaction_deferrable; +SAVEPOINT x; +COMMIT AND CHAIN; -- TBLOCK_SUBCOMMIT +SHOW transaction_isolation; +SHOW transaction_read_only; +SHOW transaction_deferrable; +COMMIT; + -- different mix of options just for fun START TRANSACTION ISOLATION LEVEL SERIALIZABLE, READ WRITE, NOT DEFERRABLE; SHOW transaction_isolation; From df3caeff0cc633b436ee1460cf8a0ca4beb434ee Mon Sep 17 00:00:00 2001 From: Daniel Gustafsson Date: Fri, 22 Sep 2023 11:18:25 +0200 Subject: [PATCH 186/317] Avoid potential pfree on NULL on OpenSSL errors Guard against the pointer being NULL before pfreeing upon an error returned from OpenSSL. Also handle errors from X509_NAME_print_ex which also can return -1 on memory allocation errors. Backpatch down to v15 where the code was added. Author: Sergey Shinderuk Discussion: https://postgr.es/m/8db5374d-32e0-6abb-d402-40762511eff2@postgrespro.ru Backpatch-through: v15 --- src/backend/libpq/be-secure-openssl.c | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c index 05276ab95ce..e9c86d08df2 100644 --- a/src/backend/libpq/be-secure-openssl.c +++ b/src/backend/libpq/be-secure-openssl.c @@ -620,8 +620,11 @@ be_tls_open_server(Port *port) bio = BIO_new(BIO_s_mem()); if (!bio) { - pfree(port->peer_cn); - port->peer_cn = NULL; + if (port->peer_cn != NULL) + { + pfree(port->peer_cn); + port->peer_cn = NULL; + } return -1; } @@ -632,12 +635,15 @@ be_tls_open_server(Port *port) * which make regular expression matching a bit easier. Also note that * it prints the Subject fields in reverse order. */ - X509_NAME_print_ex(bio, x509name, 0, XN_FLAG_RFC2253); - if (BIO_get_mem_ptr(bio, &bio_buf) <= 0) + if (X509_NAME_print_ex(bio, x509name, 0, XN_FLAG_RFC2253) == -1 || + BIO_get_mem_ptr(bio, &bio_buf) <= 0) { BIO_free(bio); - pfree(port->peer_cn); - port->peer_cn = NULL; + if (port->peer_cn != NULL) + { + pfree(port->peer_cn); + port->peer_cn = NULL; + } return -1; } peer_dn = MemoryContextAlloc(TopMemoryContext, bio_buf->length + 1); @@ -651,8 +657,11 @@ be_tls_open_server(Port *port) (errcode(ERRCODE_PROTOCOL_VIOLATION), errmsg("SSL certificate's distinguished name contains embedded null"))); pfree(peer_dn); - pfree(port->peer_cn); - port->peer_cn = NULL; + if (port->peer_cn != NULL) + { + pfree(port->peer_cn); + port->peer_cn = NULL; + } return -1; } From c4bf7957e52885c0443fea2173949e707a80df57 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 22 Sep 2023 14:52:36 -0400 Subject: [PATCH 187/317] Doc: copy-edit the introductory para for the pg_class catalog. The previous wording had a faint archaic whiff to it, and more importantly used "catalogs" as a verb, which while cutely self-referential seems likely to provoke confusion in this particular context. Also consistently use "kind" not "type" to refer to the different kinds of relations distinguished by relkind. Per gripe from Martin Nash. Back-patch to supported versions. Discussion: https://postgr.es/m/169518739902.3727338.4793815593763320945@wrigleys.postgresql.org --- doc/src/sgml/catalogs.sgml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml index 37c6a2bb736..43cccb43d62 100644 --- a/doc/src/sgml/catalogs.sgml +++ b/doc/src/sgml/catalogs.sgml @@ -1892,8 +1892,8 @@ SCRAM-SHA-256$<iteration count>:&l - The catalog pg_class catalogs tables and most - everything else that has columns or is otherwise similar to a + The catalog pg_class describes tables and + other objects that have columns or are otherwise similar to a table. This includes indexes (but see also pg_index), sequences (but see also <iteration count>:&l views, materialized views, composite types, and TOAST tables; see relkind. Below, when we mean all of these kinds of objects we speak of - relations. Not all columns are meaningful for all relation - types. + relations. Not all of pg_class's + columns are meaningful for all relation kinds.
From 7f24a5d255d7e8a7260b343fb0bea50d618ac49a Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Sat, 23 Sep 2023 10:26:24 +1200 Subject: [PATCH 188/317] Don't trust unvalidated xl_tot_len. xl_tot_len comes first in a WAL record. Usually we don't trust it to be the true length until we've validated the record header. If the record header was split across two pages, previously we wouldn't do the validation until after we'd already tried to allocate enough memory to hold the record, which was bad because it might actually be garbage bytes from a recycled WAL file, so we could try to allocate a lot of memory. Release 15 made it worse. Since 70b4f82a4b5, we'd at least generate an end-of-WAL condition if the garbage 4 byte value happened to be > 1GB, but we'd still try to allocate up to 1GB of memory bogusly otherwise. That was an improvement, but unfortunately release 15 tries to allocate another object before that, so you could get a FATAL error and recovery could fail. We can fix both variants of the problem more fundamentally using pre-existing page-level validation, if we just re-order some logic. The new order of operations in the split-header case defers all memory allocation based on xl_tot_len until we've read the following page. At that point we know that its first few bytes are not recycled data, by checking its xlp_pageaddr, and that its xlp_rem_len agrees with xl_tot_len on the preceding page. That is strong evidence that xl_tot_len was truly the start of a record that was logged. This problem was most likely to occur on a standby, because walreceiver.c recycles WAL files without zeroing out trailing regions of each page. We could fix that too, but it wouldn't protect us from rare crash scenarios where the trailing zeroes don't make it to disk. With reliable xl_tot_len validation in place, the ancient policy of considering malloc failure to indicate corruption at end-of-WAL seems quite surprising, but changing that is left for later work. Also included is a new TAP test to exercise various cases of end-of-WAL detection by writing contrived data into the WAL from Perl. Back-patch to 12. We decided not to put this change into the final release of 11. Author: Thomas Munro Author: Michael Paquier Reported-by: Alexander Lakhin Reviewed-by: Noah Misch (the idea, not the code) Reviewed-by: Michael Paquier Reviewed-by: Sergei Kornilov Reviewed-by: Alexander Lakhin Discussion: https://postgr.es/m/17928-aa92416a70ff44a2%40postgresql.org --- src/backend/access/transam/xlogreader.c | 123 ++++--- src/test/perl/PostgreSQL/Test/Utils.pm | 41 +++ src/test/recovery/meson.build | 1 + src/test/recovery/t/039_end_of_wal.pl | 460 ++++++++++++++++++++++++ 4 files changed, 569 insertions(+), 56 deletions(-) create mode 100644 src/test/recovery/t/039_end_of_wal.pl diff --git a/src/backend/access/transam/xlogreader.c b/src/backend/access/transam/xlogreader.c index c9f9f6e98f0..58654b746ca 100644 --- a/src/backend/access/transam/xlogreader.c +++ b/src/backend/access/transam/xlogreader.c @@ -192,6 +192,9 @@ XLogReaderFree(XLogReaderState *state) * XLOG_BLCKSZ, and make sure it's at least 5*Max(BLCKSZ, XLOG_BLCKSZ) to start * with. (That is enough for all "normal" records, but very large commit or * abort records might need more space.) + * + * Note: This routine should *never* be called for xl_tot_len until the header + * of the record has been fully validated. */ static bool allocate_recordbuf(XLogReaderState *state, uint32 reclength) @@ -201,25 +204,6 @@ allocate_recordbuf(XLogReaderState *state, uint32 reclength) newSize += XLOG_BLCKSZ - (newSize % XLOG_BLCKSZ); newSize = Max(newSize, 5 * Max(BLCKSZ, XLOG_BLCKSZ)); -#ifndef FRONTEND - - /* - * Note that in much unlucky circumstances, the random data read from a - * recycled segment can cause this routine to be called with a size - * causing a hard failure at allocation. For a standby, this would cause - * the instance to stop suddenly with a hard failure, preventing it to - * retry fetching WAL from one of its sources which could allow it to move - * on with replay without a manual restart. If the data comes from a past - * recycled segment and is still valid, then the allocation may succeed - * but record checks are going to fail so this would be short-lived. If - * the allocation fails because of a memory shortage, then this is not a - * hard failure either per the guarantee given by MCXT_ALLOC_NO_OOM. - */ - if (!AllocSizeIsValid(newSize)) - return false; - -#endif - if (state->readRecordBuf) pfree(state->readRecordBuf); state->readRecordBuf = @@ -669,41 +653,26 @@ XLogDecodeNextRecord(XLogReaderState *state, bool nonblocking) } else { - /* XXX: more validation should be done here */ - if (total_len < SizeOfXLogRecord) - { - report_invalid_record(state, - "invalid record length at %X/%X: expected at least %u, got %u", - LSN_FORMAT_ARGS(RecPtr), - (uint32) SizeOfXLogRecord, total_len); - goto err; - } + /* We'll validate the header once we have the next page. */ gotheader = false; } /* - * Find space to decode this record. Don't allow oversized allocation if - * the caller requested nonblocking. Otherwise, we *have* to try to - * decode the record now because the caller has nothing else to do, so - * allow an oversized record to be palloc'd if that turns out to be - * necessary. + * Try to find space to decode this record, if we can do so without + * calling palloc. If we can't, we'll try again below after we've + * validated that total_len isn't garbage bytes from a recycled WAL page. */ decoded = XLogReadRecordAlloc(state, total_len, - !nonblocking /* allow_oversized */ ); - if (decoded == NULL) + false /* allow_oversized */ ); + if (decoded == NULL && nonblocking) { /* - * There is no space in the decode buffer. The caller should help - * with that problem by consuming some records. + * There is no space in the circular decode buffer, and the caller is + * only reading ahead. The caller should consume existing records to + * make space. */ - if (nonblocking) - return XLREAD_WOULDBLOCK; - - /* We failed to allocate memory for an oversized record. */ - report_invalid_record(state, - "out of memory while trying to decode a record of length %u", total_len); - goto err; + return XLREAD_WOULDBLOCK; } len = XLOG_BLCKSZ - RecPtr % XLOG_BLCKSZ; @@ -718,16 +687,11 @@ XLogDecodeNextRecord(XLogReaderState *state, bool nonblocking) assembled = true; /* - * Enlarge readRecordBuf as needed. + * We always have space for a couple of pages, enough to validate a + * boundary-spanning record header. */ - if (total_len > state->readRecordBufSize && - !allocate_recordbuf(state, total_len)) - { - /* We treat this as a "bogus data" condition */ - report_invalid_record(state, "record length %u at %X/%X too long", - total_len, LSN_FORMAT_ARGS(RecPtr)); - goto err; - } + Assert(state->readRecordBufSize >= XLOG_BLCKSZ * 2); + Assert(state->readRecordBufSize >= len); /* Copy the first fragment of the record from the first page. */ memcpy(state->readRecordBuf, @@ -824,8 +788,35 @@ XLogDecodeNextRecord(XLogReaderState *state, bool nonblocking) goto err; gotheader = true; } - } while (gotlen < total_len); + /* + * We might need a bigger buffer. We have validated the record + * header, in the case that it split over a page boundary. We've + * also cross-checked total_len against xlp_rem_len on the second + * page, and verified xlp_pageaddr on both. + */ + if (total_len > state->readRecordBufSize) + { + char save_copy[XLOG_BLCKSZ * 2]; + + /* + * Save and restore the data we already had. It can't be more + * than two pages. + */ + Assert(gotlen <= lengthof(save_copy)); + Assert(gotlen <= state->readRecordBufSize); + memcpy(save_copy, state->readRecordBuf, gotlen); + if (!allocate_recordbuf(state, total_len)) + { + /* We treat this as a "bogus data" condition */ + report_invalid_record(state, "record length %u at %X/%X too long", + total_len, LSN_FORMAT_ARGS(RecPtr)); + goto err; + } + memcpy(state->readRecordBuf, save_copy, gotlen); + buffer = state->readRecordBuf + gotlen; + } + } while (gotlen < total_len); Assert(gotheader); record = (XLogRecord *) state->readRecordBuf; @@ -867,6 +858,28 @@ XLogDecodeNextRecord(XLogReaderState *state, bool nonblocking) state->NextRecPtr -= XLogSegmentOffset(state->NextRecPtr, state->segcxt.ws_segsize); } + /* + * If we got here without a DecodedXLogRecord, it means we needed to + * validate total_len before trusting it, but by now now we've done that. + */ + if (decoded == NULL) + { + Assert(!nonblocking); + decoded = XLogReadRecordAlloc(state, + total_len, + true /* allow_oversized */ ); + if (decoded == NULL) + { + /* + * We failed to allocate memory for an oversized record. As + * above, we currently treat this as a "bogus data" condition. + */ + report_invalid_record(state, + "out of memory while trying to decode a record of length %u", total_len); + goto err; + } + } + if (DecodeXLogRecord(state, decoded, record, RecPtr, &errormsg)) { /* Record the location of the next record. */ @@ -895,8 +908,6 @@ XLogDecodeNextRecord(XLogReaderState *state, bool nonblocking) state->decode_queue_head = decoded; return XLREAD_SUCCESS; } - else - return XLREAD_FAIL; err: if (assembled) diff --git a/src/test/perl/PostgreSQL/Test/Utils.pm b/src/test/perl/PostgreSQL/Test/Utils.pm index 617caa022f4..d66fe1cf453 100644 --- a/src/test/perl/PostgreSQL/Test/Utils.pm +++ b/src/test/perl/PostgreSQL/Test/Utils.pm @@ -71,6 +71,7 @@ our @EXPORT = qw( chmod_recursive check_pg_config dir_symlink + scan_server_header system_or_bail system_log run_log @@ -702,6 +703,46 @@ sub chmod_recursive =pod +=item scan_server_header(header_path, regexp) + +Returns an array that stores all the matches of the given regular expression +within the PostgreSQL installation's C. This can be used to +retrieve specific value patterns from the installation's header files. + +=cut + +sub scan_server_header +{ + my ($header_path, $regexp) = @_; + + my ($stdout, $stderr); + my $result = IPC::Run::run [ 'pg_config', '--includedir-server' ], '>', + \$stdout, '2>', \$stderr + or die "could not execute pg_config"; + chomp($stdout); + $stdout =~ s/\r$//; + + open my $header_h, '<', "$stdout/$header_path" or die "$!"; + + my @match = undef; + while (<$header_h>) + { + my $line = $_; + + if (@match = $line =~ /^$regexp/) + { + last; + } + } + + close $header_h; + die "could not find match in header $header_path\n" + unless @match; + return @match; +} + +=pod + =item check_pg_config(regexp) Return the number of matches of the given regular expression diff --git a/src/test/recovery/meson.build b/src/test/recovery/meson.build index e7328e48944..9e9c68d0513 100644 --- a/src/test/recovery/meson.build +++ b/src/test/recovery/meson.build @@ -43,6 +43,7 @@ tests += { 't/035_standby_logical_decoding.pl', 't/036_truncated_dropped.pl', 't/037_invalid_database.pl', + 't/039_end_of_wal.pl', ], }, } diff --git a/src/test/recovery/t/039_end_of_wal.pl b/src/test/recovery/t/039_end_of_wal.pl new file mode 100644 index 00000000000..a8b0b70bb16 --- /dev/null +++ b/src/test/recovery/t/039_end_of_wal.pl @@ -0,0 +1,460 @@ +# Copyright (c) 2023, PostgreSQL Global Development Group +# +# Test detecting end-of-WAL conditions. This test suite generates +# fake defective page and record headers to trigger various failure +# scenarios. + +use strict; +use warnings; +use PostgreSQL::Test::Cluster; +use PostgreSQL::Test::Utils; +use Test::More; +use Fcntl qw(SEEK_SET); + +use integer; # causes / operator to use integer math + +# Header size of record header. +my $RECORD_HEADER_SIZE = 24; + +# Fields retrieved from code headers. +my @scan_result = scan_server_header('access/xlog_internal.h', + '#define\s+XLOG_PAGE_MAGIC\s+(\w+)'); +my $XLP_PAGE_MAGIC = hex($scan_result[0]); +@scan_result = scan_server_header('access/xlog_internal.h', + '#define\s+XLP_FIRST_IS_CONTRECORD\s+(\w+)'); +my $XLP_FIRST_IS_CONTRECORD = hex($scan_result[0]); + +# Values queried from the server +my $WAL_SEGMENT_SIZE; +my $WAL_BLOCK_SIZE; +my $TLI; + +# Build path of a WAL segment. +sub wal_segment_path +{ + my $node = shift; + my $tli = shift; + my $segment = shift; + my $wal_path = + sprintf("%s/pg_wal/%08X%08X%08X", $node->data_dir, $tli, 0, $segment); + return $wal_path; +} + +# Calculate from a LSN (in bytes) its segment number and its offset. +sub lsn_to_segment_and_offset +{ + my $lsn = shift; + return ($lsn / $WAL_SEGMENT_SIZE, $lsn % $WAL_SEGMENT_SIZE); +} + +# Write some arbitrary data in WAL for the given segment at LSN. +# This should be called while the cluster is not running. +sub write_wal +{ + my $node = shift; + my $tli = shift; + my $lsn = shift; + my $data = shift; + + my ($segment, $offset) = lsn_to_segment_and_offset($lsn); + my $path = wal_segment_path($node, $tli, $segment); + + open my $fh, "+<:raw", $path or die; + seek($fh, $offset, SEEK_SET) or die; + print $fh $data; + close $fh; +} + +# Emit a WAL record of arbitrary size. Returns the end LSN of the +# record inserted, in bytes. +sub emit_message +{ + my $node = shift; + my $size = shift; + return int( + $node->safe_psql( + 'postgres', + "SELECT pg_logical_emit_message(true, '', repeat('a', $size)) - '0/0'" + )); +} + +# Get the current insert LSN of a node, in bytes. +sub get_insert_lsn +{ + my $node = shift; + return int( + $node->safe_psql( + 'postgres', "SELECT pg_current_wal_insert_lsn() - '0/0'")); +} + +# Get GUC value, converted to an int. +sub get_int_setting +{ + my $node = shift; + my $name = shift; + return int( + $node->safe_psql( + 'postgres', + "SELECT setting FROM pg_settings WHERE name = '$name'")); +} + +sub start_of_page +{ + my $lsn = shift; + return $lsn & ~($WAL_BLOCK_SIZE - 1); +} + +sub start_of_next_page +{ + my $lsn = shift; + return start_of_page($lsn) + $WAL_BLOCK_SIZE; +} + +# Build a fake WAL record header based on the data given by the caller. +# This needs to follow the format of the C structure XLogRecord. To +# be inserted with write_wal(). +sub build_record_header +{ + my $xl_tot_len = shift; + my $xl_xid = shift || 0; + my $xl_prev = shift || 0; + my $xl_info = shift || 0; + my $xl_rmid = shift || 0; + my $xl_crc = shift || 0; + + # This needs to follow the structure XLogRecord: + # I for xl_tot_len + # I for xl_xid + # Q for xl_prev + # C for xl_info + # C for xl_rmid + # BB for two bytes of padding + # I for xl_crc + return pack("IIQCCBBI", + $xl_tot_len, $xl_xid, $xl_prev, $xl_info, $xl_rmid, 0, 0, $xl_crc); +} + +# Build a fake WAL page header, based on the data given by the caller +# This needs to follow the format of the C structure XLogPageHeaderData. +# To be inserted with write_wal(). +sub build_page_header +{ + my $xlp_magic = shift; + my $xlp_info = shift || 0; + my $xlp_tli = shift || 0; + my $xlp_pageaddr = shift || 0; + my $xlp_rem_len = shift || 0; + + # This needs to follow the structure XLogPageHeaderData: + # S for xlp_magic + # S for xlp_info + # I for xlp_tli + # Q for xlp_pageaddr + # I for xlp_rem_len + return pack("SSIQI", + $xlp_magic, $xlp_info, $xlp_tli, $xlp_pageaddr, $xlp_rem_len); +} + +# Make sure we are far away enough from the end of a page that we could insert +# a couple of small records. This inserts a few records of a fixed size, until +# the threshold gets close enough to the end of the WAL page inserting records +# to. +sub advance_out_of_record_splitting_zone +{ + my $node = shift; + + my $page_threshold = $WAL_BLOCK_SIZE / 4; + my $end_lsn = get_insert_lsn($node); + my $page_offset = $end_lsn % $WAL_BLOCK_SIZE; + while ($page_offset >= $WAL_BLOCK_SIZE - $page_threshold) + { + emit_message($node, $page_threshold); + $end_lsn = get_insert_lsn($node); + $page_offset = $end_lsn % $WAL_BLOCK_SIZE; + } + return $end_lsn; +} + +# Advance so close to the end of a page that an XLogRecordHeader would not +# fit on it. +sub advance_to_record_splitting_zone +{ + my $node = shift; + + my $end_lsn = get_insert_lsn($node); + my $page_offset = $end_lsn % $WAL_BLOCK_SIZE; + + # Get fairly close to the end of a page in big steps + while ($page_offset <= $WAL_BLOCK_SIZE - 512) + { + emit_message($node, $WAL_BLOCK_SIZE - $page_offset - 256); + $end_lsn = get_insert_lsn($node); + $page_offset = $end_lsn % $WAL_BLOCK_SIZE; + } + + # Calibrate our message size so that we can get closer 8 bytes at + # a time. + my $message_size = $WAL_BLOCK_SIZE - 80; + while ($page_offset <= $WAL_BLOCK_SIZE - $RECORD_HEADER_SIZE) + { + emit_message($node, $message_size); + $end_lsn = get_insert_lsn($node); + + my $old_offset = $page_offset; + $page_offset = $end_lsn % $WAL_BLOCK_SIZE; + + # Adjust the message size until it causes 8 bytes changes in + # offset, enough to be able to split a record header. + my $delta = $page_offset - $old_offset; + if ($delta > 8) + { + $message_size -= 8; + } + elsif ($delta <= 0) + { + $message_size += 8; + } + } + return $end_lsn; +} + +# Setup a new node. The configuration chosen here minimizes the number +# of arbitrary records that could get generated in a cluster. Enlarging +# checkpoint_timeout avoids noise with checkpoint activity. wal_level +# set to "minimal" avoids random standby snapshot records. Autovacuum +# could also trigger randomly, generating random WAL activity of its own. +my $node = PostgreSQL::Test::Cluster->new("node"); +$node->init; +$node->append_conf( + 'postgresql.conf', + q[wal_level = minimal + autovacuum = off + checkpoint_timeout = '30min' +]); +$node->start; +$node->safe_psql('postgres', "CREATE TABLE t AS SELECT 42"); + +$WAL_SEGMENT_SIZE = get_int_setting($node, 'wal_segment_size'); +$WAL_BLOCK_SIZE = get_int_setting($node, 'wal_block_size'); +$TLI = $node->safe_psql('postgres', + "SELECT timeline_id FROM pg_control_checkpoint();"); + +my $end_lsn; +my $prev_lsn; + +########################################################################### +note "Single-page end-of-WAL detection"; +########################################################################### + +# xl_tot_len is 0 (a common case, we hit trailing zeroes). +emit_message($node, 0); +$end_lsn = advance_out_of_record_splitting_zone($node); +$node->stop('immediate'); +my $log_size = -s $node->logfile; +$node->start; +ok( $node->log_contains( + "invalid record length at .*: expected at least 24, got 0", $log_size + ), + "xl_tot_len zero"); + +# xl_tot_len is < 24 (presumably recycled garbage). +emit_message($node, 0); +$end_lsn = advance_out_of_record_splitting_zone($node); +$node->stop('immediate'); +write_wal($node, $TLI, $end_lsn, build_record_header(23)); +$log_size = -s $node->logfile; +$node->start; +ok( $node->log_contains( + "invalid record length at .*: expected at least 24, got 23", + $log_size), + "xl_tot_len short"); + +# Need more pages, but xl_prev check fails first. +emit_message($node, 0); +$end_lsn = advance_out_of_record_splitting_zone($node); +$node->stop('immediate'); +write_wal($node, $TLI, $end_lsn, + build_record_header(2 * 1024 * 1024 * 1024, 0, 0xdeadbeef)); +$log_size = -s $node->logfile; +$node->start; +ok( $node->log_contains( + "record with incorrect prev-link 0/DEADBEEF at .*", $log_size), + "xl_prev bad"); + +# xl_crc check fails. +emit_message($node, 0); +advance_out_of_record_splitting_zone($node); +$end_lsn = emit_message($node, 10); +$node->stop('immediate'); +# Corrupt a byte in that record, breaking its CRC. +write_wal($node, $TLI, $end_lsn - 8, '!'); +$log_size = -s $node->logfile; +$node->start; +ok( $node->log_contains( + "incorrect resource manager data checksum in record at .*", $log_size + ), + "xl_crc bad"); + + +########################################################################### +note "Multi-page end-of-WAL detection, header is not split"; +########################################################################### + +# This series of tests requires a valid xl_prev set in the record header +# written to WAL. + +# Good xl_prev, we hit zero page next (zero magic). +emit_message($node, 0); +$prev_lsn = advance_out_of_record_splitting_zone($node); +$end_lsn = emit_message($node, 0); +$node->stop('immediate'); +write_wal($node, $TLI, $end_lsn, + build_record_header(2 * 1024 * 1024 * 1024, 0, $prev_lsn)); +$log_size = -s $node->logfile; +$node->start; +ok($node->log_contains("invalid magic number 0000 .* LSN .*", $log_size), + "xlp_magic zero"); + +# Good xl_prev, we hit garbage page next (bad magic). +emit_message($node, 0); +$prev_lsn = advance_out_of_record_splitting_zone($node); +$end_lsn = emit_message($node, 0); +$node->stop('immediate'); +write_wal($node, $TLI, $end_lsn, + build_record_header(2 * 1024 * 1024 * 1024, 0, $prev_lsn)); +write_wal( + $node, $TLI, + start_of_next_page($end_lsn), + build_page_header(0xcafe, 0, 1, 0)); +$log_size = -s $node->logfile; +$node->start; +ok($node->log_contains("invalid magic number CAFE .* LSN .*", $log_size), + "xlp_magic bad"); + +# Good xl_prev, we hit typical recycled page (good xlp_magic, bad +# xlp_pageaddr). +emit_message($node, 0); +$prev_lsn = advance_out_of_record_splitting_zone($node); +$end_lsn = emit_message($node, 0); +$node->stop('immediate'); +write_wal($node, $TLI, $end_lsn, + build_record_header(2 * 1024 * 1024 * 1024, 0, $prev_lsn)); +write_wal( + $node, $TLI, + start_of_next_page($end_lsn), + build_page_header($XLP_PAGE_MAGIC, 0, 1, 0xbaaaaaad)); +$log_size = -s $node->logfile; +$node->start; +ok( $node->log_contains( + "unexpected pageaddr 0/BAAAAAAD in .*, LSN .*,", $log_size), + "xlp_pageaddr bad"); + +# Good xl_prev, xlp_magic, xlp_pageaddr, but bogus xlp_info. +emit_message($node, 0); +$prev_lsn = advance_out_of_record_splitting_zone($node); +$end_lsn = emit_message($node, 0); +$node->stop('immediate'); +write_wal($node, $TLI, $end_lsn, + build_record_header(2 * 1024 * 1024 * 1024, 42, $prev_lsn)); +write_wal( + $node, $TLI, + start_of_next_page($end_lsn), + build_page_header( + $XLP_PAGE_MAGIC, 0x1234, 1, start_of_next_page($end_lsn))); +$log_size = -s $node->logfile; +$node->start; +ok($node->log_contains("invalid info bits 1234 in .*, LSN .*,", $log_size), + "xlp_info bad"); + +# Good xl_prev, xlp_magic, xlp_pageaddr, but xlp_info doesn't mention +# continuation record. +emit_message($node, 0); +$prev_lsn = advance_out_of_record_splitting_zone($node); +$end_lsn = emit_message($node, 0); +$node->stop('immediate'); +write_wal($node, $TLI, $end_lsn, + build_record_header(2 * 1024 * 1024 * 1024, 42, $prev_lsn)); +write_wal( + $node, $TLI, + start_of_next_page($end_lsn), + build_page_header($XLP_PAGE_MAGIC, 0, 1, start_of_next_page($end_lsn))); +$log_size = -s $node->logfile; +$node->start; +ok($node->log_contains("there is no contrecord flag at .*", $log_size), + "xlp_info lacks XLP_FIRST_IS_CONTRECORD"); + +# Good xl_prev, xlp_magic, xlp_pageaddr, xlp_info but xlp_rem_len doesn't add +# up. +emit_message($node, 0); +$prev_lsn = advance_out_of_record_splitting_zone($node); +$end_lsn = emit_message($node, 0); +$node->stop('immediate'); +write_wal($node, $TLI, $end_lsn, + build_record_header(2 * 1024 * 1024 * 1024, 42, $prev_lsn)); +write_wal( + $node, $TLI, + start_of_next_page($end_lsn), + build_page_header( + $XLP_PAGE_MAGIC, $XLP_FIRST_IS_CONTRECORD, + 1, start_of_next_page($end_lsn), + 123456)); +$log_size = -s $node->logfile; +$node->start; +ok( $node->log_contains( + "invalid contrecord length 123456 .* at .*", $log_size), + "xlp_rem_len bad"); + + +########################################################################### +note "Multi-page, but header is split, so page checks are done first"; +########################################################################### + +# xl_prev is bad and xl_tot_len is too big, but we'll check xlp_magic first. +emit_message($node, 0); +$end_lsn = advance_to_record_splitting_zone($node); +$node->stop('immediate'); +write_wal($node, $TLI, $end_lsn, + build_record_header(2 * 1024 * 1024 * 1024, 0, 0xdeadbeef)); +$log_size = -s $node->logfile; +$node->start; +ok($node->log_contains("invalid magic number 0000 .* LSN .*", $log_size), + "xlp_magic zero (split record header)"); + +# And we'll also check xlp_pageaddr before any header checks. +emit_message($node, 0); +$end_lsn = advance_to_record_splitting_zone($node); +$node->stop('immediate'); +write_wal($node, $TLI, $end_lsn, + build_record_header(2 * 1024 * 1024 * 1024, 0, 0xdeadbeef)); +write_wal( + $node, $TLI, + start_of_next_page($end_lsn), + build_page_header( + $XLP_PAGE_MAGIC, $XLP_FIRST_IS_CONTRECORD, 1, 0xbaaaaaad)); +$log_size = -s $node->logfile; +$node->start; +ok( $node->log_contains( + "unexpected pageaddr 0/BAAAAAAD in .*, LSN .*,", $log_size), + "xlp_pageaddr bad (split record header)"); + +# We'll also discover that xlp_rem_len doesn't add up before any +# header checks, +emit_message($node, 0); +$end_lsn = advance_to_record_splitting_zone($node); +$node->stop('immediate'); +write_wal($node, $TLI, $end_lsn, + build_record_header(2 * 1024 * 1024 * 1024, 0, 0xdeadbeef)); +write_wal( + $node, $TLI, + start_of_next_page($end_lsn), + build_page_header( + $XLP_PAGE_MAGIC, $XLP_FIRST_IS_CONTRECORD, + 1, start_of_next_page($end_lsn), + 123456)); +$log_size = -s $node->logfile; +$node->start; +ok( $node->log_contains( + "invalid contrecord length 123456 .* at .*", $log_size), + "xlp_rem_len bad (split record header)"); + +done_testing(); From 676e928cbe73b60f30910a2841b3acf2dd4d4962 Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Sat, 23 Sep 2023 14:13:06 +1200 Subject: [PATCH 189/317] Don't use Perl pack('Q') in 039_end_of_wal.pl. 'Q' for 64 bit integers turns out not to work on 32 bit Perl, as revealed by the build farm. Use 'II' instead, and deal with endianness. Back-patch to 12, like bae868ca. Discussion: https://postgr.es/m/ZQ4r1vHcryBsSi_V%40paquier.xyz --- src/test/recovery/t/039_end_of_wal.pl | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/src/test/recovery/t/039_end_of_wal.pl b/src/test/recovery/t/039_end_of_wal.pl index a8b0b70bb16..61728bc38bb 100644 --- a/src/test/recovery/t/039_end_of_wal.pl +++ b/src/test/recovery/t/039_end_of_wal.pl @@ -13,6 +13,13 @@ use integer; # causes / operator to use integer math +# Is this a big-endian system ("network" byte order)? We can't use 'Q' in +# pack() calls because it's not available in some perl builds, so we need to +# break 64 bit LSN values into two 'I' values. Fortunately we don't need to +# deal with high values, so we can just write 0 for the high order 32 bits, but +# we need to know the endianness to do that. +my $BIG_ENDIAN = pack("L", 0x12345678) eq pack("N", 0x12345678); + # Header size of record header. my $RECORD_HEADER_SIZE = 24; @@ -125,13 +132,16 @@ sub build_record_header # This needs to follow the structure XLogRecord: # I for xl_tot_len # I for xl_xid - # Q for xl_prev + # II for xl_prev # C for xl_info # C for xl_rmid # BB for two bytes of padding # I for xl_crc - return pack("IIQCCBBI", - $xl_tot_len, $xl_xid, $xl_prev, $xl_info, $xl_rmid, 0, 0, $xl_crc); + return pack("IIIICCBBI", + $xl_tot_len, $xl_xid, + $BIG_ENDIAN ? 0 : $xl_prev, + $BIG_ENDIAN ? $xl_prev : 0, + $xl_info, $xl_rmid, 0, 0, $xl_crc); } # Build a fake WAL page header, based on the data given by the caller @@ -149,10 +159,12 @@ sub build_page_header # S for xlp_magic # S for xlp_info # I for xlp_tli - # Q for xlp_pageaddr + # II for xlp_pageaddr # I for xlp_rem_len - return pack("SSIQI", - $xlp_magic, $xlp_info, $xlp_tli, $xlp_pageaddr, $xlp_rem_len); + return pack("SSIIII", + $xlp_magic, $xlp_info, $xlp_tli, + $BIG_ENDIAN ? 0 : $xlp_pageaddr, + $BIG_ENDIAN ? $xlp_pageaddr : 0, $xlp_rem_len); } # Make sure we are far away enough from the end of a page that we could insert From 594c1248fa05ba4f119db40a84d1c074e76dbfe7 Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Mon, 25 Sep 2023 14:34:06 +0200 Subject: [PATCH 190/317] pg_upgrade: check for types removed in pg12 Commit cda6a8d01d39 removed a few datatypes, but didn't update pg_upgrade --check to throw error if these types are used. So the users find that pg_upgrade --check tells them that everything is fine, only to fail when the real upgrade is attempted. Reviewed-by: Tristan Partin Reviewed-by: Suraj Kharage Discussion: https://postgr.es/m/202309201654.ng4ksea25mti@alvherre.pgsql --- src/bin/pg_upgrade/check.c | 51 +++++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/src/bin/pg_upgrade/check.c b/src/bin/pg_upgrade/check.c index 5de13bdfe07..f1cd14ec9b1 100644 --- a/src/bin/pg_upgrade/check.c +++ b/src/bin/pg_upgrade/check.c @@ -26,6 +26,9 @@ static void check_for_tables_with_oids(ClusterInfo *cluster); static void check_for_composite_data_type_usage(ClusterInfo *cluster); static void check_for_reg_data_type_usage(ClusterInfo *cluster); static void check_for_aclitem_data_type_usage(ClusterInfo *cluster); +static void check_for_removed_data_type_usage(ClusterInfo *cluster, + const char *version, + const char *datatype); static void check_for_jsonb_9_4_usage(ClusterInfo *cluster); static void check_for_pg_role_prefix(ClusterInfo *cluster); static void check_for_new_tablespace_dir(ClusterInfo *new_cluster); @@ -111,6 +114,16 @@ check_and_dump_old_cluster(bool live_check) if (GET_MAJOR_VERSION(old_cluster.major_version) <= 1500) check_for_aclitem_data_type_usage(&old_cluster); + /* + * PG 12 removed types abstime, reltime, tinterval. + */ + if (GET_MAJOR_VERSION(old_cluster.major_version) <= 1100) + { + check_for_removed_data_type_usage(&old_cluster, "12", "abstime"); + check_for_removed_data_type_usage(&old_cluster, "12", "reltime"); + check_for_removed_data_type_usage(&old_cluster, "12", "tinterval"); + } + /* * PG 14 changed the function signature of encoding conversion functions. * Conversions from older versions cannot be upgraded automatically @@ -1215,7 +1228,8 @@ check_for_aclitem_data_type_usage(ClusterInfo *cluster) { char output_path[MAXPGPATH]; - prep_status("Checking for incompatible \"aclitem\" data type in user tables"); + prep_status("Checking for incompatible \"%s\" data type in user tables", + "aclitem"); snprintf(output_path, sizeof(output_path), "tables_using_aclitem.txt"); @@ -1233,6 +1247,41 @@ check_for_aclitem_data_type_usage(ClusterInfo *cluster) check_ok(); } +/* + * check_for_removed_data_type_usage + * + * Check for in-core data types that have been removed. Callers know + * the exact list. + */ +static void +check_for_removed_data_type_usage(ClusterInfo *cluster, const char *version, + const char *datatype) +{ + char output_path[MAXPGPATH]; + char typename[NAMEDATALEN]; + + prep_status("Checking for removed \"%s\" data type in user tables", + datatype); + + snprintf(output_path, sizeof(output_path), "tables_using_%s.txt", + datatype); + snprintf(typename, sizeof(typename), "pg_catalog.%s", datatype); + + if (check_for_data_type_usage(cluster, typename, output_path)) + { + pg_log(PG_REPORT, "fatal"); + pg_fatal("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", datatype, datatype, version, output_path); + } + else + check_ok(); +} + + /* * check_for_jsonb_9_4_usage() * From 2ff1220e1e00a692e5674da89e2a4b2eac7759d4 Mon Sep 17 00:00:00 2001 From: Daniel Gustafsson Date: Mon, 25 Sep 2023 16:03:17 +0200 Subject: [PATCH 191/317] vacuumdb: Fix excluding multiple schemas with -N When specifying multiple schemas to exclude with -N parameters, none of the schemas are actually excluded (a single -N worked as expected). This fixes the catalog query to handle multiple exclusions and adds a test for this case. Backpatch to v16 where this was introduced. Author: Nathan Bossart Author: Kuwamura Masaki Reported-by: Kuwamura Masaki Discussion: https://postgr.es/m/CAMyC8qp9mXPQd5D6s6CJxvmignsbTqGZwDDB6VYJOn1A8WG38w@mail.gmail.com Backpatch-through: 16 --- src/bin/scripts/t/100_vacuumdb.pl | 15 ++++++++++++++- src/bin/scripts/vacuumdb.c | 26 ++++++++++++++++---------- 2 files changed, 30 insertions(+), 11 deletions(-) diff --git a/src/bin/scripts/t/100_vacuumdb.pl b/src/bin/scripts/t/100_vacuumdb.pl index eccfcc54a1a..925079bbedb 100644 --- a/src/bin/scripts/t/100_vacuumdb.pl +++ b/src/bin/scripts/t/100_vacuumdb.pl @@ -112,6 +112,8 @@ CREATE INDEX i0 ON funcidx ((f1(x))); CREATE SCHEMA "Foo"; CREATE TABLE "Foo".bar(id int); + CREATE SCHEMA "Bar"; + CREATE TABLE "Bar".baz(id int); |); $node->command_ok([qw|vacuumdb -Z --table="need""q(uot"(")x") postgres|], 'column list'); @@ -159,10 +161,21 @@ [ 'vacuumdb', '--schema', '"Foo"', 'postgres' ], qr/VACUUM \(SKIP_DATABASE_STATS\) "Foo".bar/, 'vacuumdb --schema'); +$node->issues_sql_like( + [ 'vacuumdb', '--schema', '"Foo"', '--schema', '"Bar"', 'postgres' ], + qr/VACUUM\ \(SKIP_DATABASE_STATS\)\ "Foo".bar + .*VACUUM\ \(SKIP_DATABASE_STATS\)\ "Bar".baz + /sx, + 'vacuumdb multiple --schema switches'); $node->issues_sql_like( [ 'vacuumdb', '--exclude-schema', '"Foo"', 'postgres' ], - qr/(?:(?!VACUUM "Foo".bar).)*/, + qr/^(?!.*VACUUM \(SKIP_DATABASE_STATS\) "Foo".bar).*$/s, 'vacuumdb --exclude-schema'); +$node->issues_sql_like( + [ 'vacuumdb', '--exclude-schema', '"Foo"', '--exclude-schema', '"Bar"', 'postgres' ], + qr/^(?!.*VACUUM\ \(SKIP_DATABASE_STATS\)\ "Foo".bar + | VACUUM\ \(SKIP_DATABASE_STATS\)\ "Bar".baz).*$/sx, + 'vacuumdb multiple --exclude-schema switches'); $node->command_fails_like( [ 'vacuumdb', '-N', 'pg_catalog', '-t', 'pg_class', 'postgres', ], qr/cannot vacuum specific table\(s\) and exclude schema\(s\) at the same time/, diff --git a/src/bin/scripts/vacuumdb.c b/src/bin/scripts/vacuumdb.c index 005b064c06c..557ab5d8e13 100644 --- a/src/bin/scripts/vacuumdb.c +++ b/src/bin/scripts/vacuumdb.c @@ -678,18 +678,22 @@ vacuum_one_database(ConnParams *cparams, /* Used to match the tables or schemas listed by the user */ if (objects_listed) { - appendPQExpBufferStr(&catalog_query, " JOIN listed_objects" - " ON listed_objects.object_oid "); - - if (objfilter & OBJFILTER_SCHEMA_EXCLUDE) - appendPQExpBufferStr(&catalog_query, "OPERATOR(pg_catalog.!=) "); - else - appendPQExpBufferStr(&catalog_query, "OPERATOR(pg_catalog.=) "); + appendPQExpBufferStr(&catalog_query, " LEFT JOIN listed_objects" + " ON listed_objects.object_oid" + " OPERATOR(pg_catalog.=) "); if (objfilter & OBJFILTER_TABLE) appendPQExpBufferStr(&catalog_query, "c.oid\n"); else appendPQExpBufferStr(&catalog_query, "ns.oid\n"); + + if (objfilter & OBJFILTER_SCHEMA_EXCLUDE) + appendPQExpBuffer(&catalog_query, + " WHERE listed_objects.object_oid IS NULL\n"); + else + appendPQExpBuffer(&catalog_query, + " WHERE listed_objects.object_oid IS NOT NULL\n"); + has_where = true; } /* @@ -700,9 +704,11 @@ vacuum_one_database(ConnParams *cparams, */ if ((objfilter & OBJFILTER_TABLE) == 0) { - appendPQExpBufferStr(&catalog_query, " WHERE c.relkind OPERATOR(pg_catalog.=) ANY (array[" - CppAsString2(RELKIND_RELATION) ", " - CppAsString2(RELKIND_MATVIEW) "])\n"); + appendPQExpBuffer(&catalog_query, + " %s c.relkind OPERATOR(pg_catalog.=) ANY (array[" + CppAsString2(RELKIND_RELATION) ", " + CppAsString2(RELKIND_MATVIEW) "])\n", + has_where ? "AND" : "WHERE"); has_where = true; } From f161b9de5217b506a47f11576e245a2b1d297b3a Mon Sep 17 00:00:00 2001 From: Daniel Gustafsson Date: Mon, 25 Sep 2023 16:03:32 +0200 Subject: [PATCH 192/317] vacuumdb: Reword --help message for clarity The --help output stated that schemas were specified using PATTERN when they in fact aren't pattern matched but are required to be exact matches. This changes to SCHEMA to make that clear. Backpatch through v16 where this was introduced. Author: Kuwamura Masaki Discussion: https://postgr.es/m/CAMyC8qp9mXPQd5D6s6CJxvmignsbTqGZwDDB6VYJOn1A8WG38w@mail.gmail.com Backpatch-through: 16 --- src/bin/scripts/vacuumdb.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/scripts/vacuumdb.c b/src/bin/scripts/vacuumdb.c index 557ab5d8e13..d682573dc17 100644 --- a/src/bin/scripts/vacuumdb.c +++ b/src/bin/scripts/vacuumdb.c @@ -1171,8 +1171,8 @@ help(const char *progname) printf(_(" --no-process-main skip the main relation\n")); printf(_(" --no-process-toast skip the TOAST table associated with the table to vacuum\n")); printf(_(" --no-truncate don't truncate empty pages at the end of the table\n")); - printf(_(" -n, --schema=PATTERN vacuum tables in the specified schema(s) only\n")); - printf(_(" -N, --exclude-schema=PATTERN do not vacuum tables in the specified schema(s)\n")); + printf(_(" -n, --schema=SCHEMA vacuum tables in the specified schema(s) only\n")); + printf(_(" -N, --exclude-schema=SCHEMA do not vacuum tables in the specified schema(s)\n")); printf(_(" -P, --parallel=PARALLEL_WORKERS use this many background workers for vacuum, if available\n")); printf(_(" -q, --quiet don't write any messages\n")); printf(_(" --skip-locked skip relations that cannot be immediately locked\n")); From 69d6c1742541a47c5581f8ae9aae9c7eb20a387a Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 25 Sep 2023 11:50:28 -0400 Subject: [PATCH 193/317] Limit to_tsvector_byid's initial array allocation to something sane. The initial estimate of the number of distinct ParsedWords is just that: an estimate. Don't let it exceed what palloc is willing to allocate. If in fact we need more entries, we'll eventually fail trying to enlarge the array. But if we don't, this allows success on inputs that currently draw "invalid memory alloc request size". Per bug #18080 from Uwe Binder. Back-patch to all supported branches. Discussion: https://postgr.es/m/18080-d5c5e58fef8c99b7@postgresql.org --- src/backend/tsearch/to_tsany.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/backend/tsearch/to_tsany.c b/src/backend/tsearch/to_tsany.c index 3b6d41f9e8e..fe39d6c4b93 100644 --- a/src/backend/tsearch/to_tsany.c +++ b/src/backend/tsearch/to_tsany.c @@ -252,6 +252,8 @@ to_tsvector_byid(PG_FUNCTION_ARGS) * number */ if (prs.lenwords < 2) prs.lenwords = 2; + else if (prs.lenwords > MaxAllocSize / sizeof(ParsedWord)) + prs.lenwords = MaxAllocSize / sizeof(ParsedWord); prs.curwords = 0; prs.pos = 0; prs.words = (ParsedWord *) palloc(sizeof(ParsedWord) * prs.lenwords); From d1ce6b0e6543a2df76af9e9788a67af034209704 Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Mon, 25 Sep 2023 10:36:04 -0700 Subject: [PATCH 194/317] docs: Clarify --with-segsize-blocks documentation Without the added "relation" it's not immediately clear that the option relates to the relation segment size and not e.g. the WAL segment size. The option was added in d3b111e32. Reported-by: Tom Lane Discussion: https://postgr.es/m/837536.1695348498@sss.pgh.pa.us Backpatch: 16- --- doc/src/sgml/installation.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml index 75dc81a0a9e..37f542a325e 100644 --- a/doc/src/sgml/installation.sgml +++ b/doc/src/sgml/installation.sgml @@ -1694,7 +1694,7 @@ build-postgresql: - Specify the segment size in blocks. If both + Specify the relation segment size in blocks. If both and this option are specified, this option wins. @@ -3191,7 +3191,7 @@ ninja install - Specify the segment size in blocks. If both + Specify the relation segment size in blocks. If both and this option are specified, this option wins. From e16e93600e593a394858cb5f7452ce5d7386e7a6 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 25 Sep 2023 14:41:57 -0400 Subject: [PATCH 195/317] Collect dependency information for parsed CallStmts. Parse analysis of a CallStmt will inject mutable information, for instance the OID of the called procedure, so that subsequent DDL may create a need to re-parse the CALL. We failed to detect this for CALLs in plpgsql routines, because no dependency information was collected when putting a CallStmt into the plan cache. That could lead to misbehavior or strange errors such as "cache lookup failed". Before commit ee895a655, the issue would only manifest for CALLs appearing in atomic contexts, because we re-planned non-atomic CALLs every time through anyway. It is now apparent that extract_query_dependencies() probably needs a special case for every utility statement type for which stmt_requires_parse_analysis() returns true. I wanted to add something like Assert(!stmt_requires_parse_analysis(...)) when falling out of extract_query_dependencies_walker without doing anything, but there are API issues as well as a more fundamental point: stmt_requires_parse_analysis is supposed to be applied to raw parser output, so it'd be cheating to assume it will give the correct answer for post-parse-analysis trees. I contented myself with adding a comment. Per bug #18131 from Christian Stork. Back-patch to all supported branches. Discussion: https://postgr.es/m/18131-576854e79c5cd264@postgresql.org --- src/backend/optimizer/plan/setrefs.c | 23 +++++++++- src/pl/plpgsql/src/expected/plpgsql_call.out | 47 ++++++++++++++++++++ src/pl/plpgsql/src/sql/plpgsql_call.sql | 38 ++++++++++++++++ 3 files changed, 106 insertions(+), 2 deletions(-) diff --git a/src/backend/optimizer/plan/setrefs.c b/src/backend/optimizer/plan/setrefs.c index eab517dd5cc..a5c18a481b4 100644 --- a/src/backend/optimizer/plan/setrefs.c +++ b/src/backend/optimizer/plan/setrefs.c @@ -3537,8 +3537,27 @@ extract_query_dependencies_walker(Node *node, PlannerInfo *context) if (query->commandType == CMD_UTILITY) { /* - * Ignore utility statements, except those (such as EXPLAIN) that - * contain a parsed-but-not-planned query. + * This logic must handle any utility command for which parse + * analysis was nontrivial (cf. stmt_requires_parse_analysis). + * + * Notably, CALL requires its own processing. + */ + if (IsA(query->utilityStmt, CallStmt)) + { + CallStmt *callstmt = (CallStmt *) query->utilityStmt; + + /* We need not examine funccall, just the transformed exprs */ + (void) extract_query_dependencies_walker((Node *) callstmt->funcexpr, + context); + (void) extract_query_dependencies_walker((Node *) callstmt->outargs, + context); + return false; + } + + /* + * Ignore other utility statements, except those (such as EXPLAIN) + * that contain a parsed-but-not-planned query. For those, we + * just need to transfer our attention to the contained query. */ query = UtilityContainsQuery(query->utilityStmt); if (query == NULL) diff --git a/src/pl/plpgsql/src/expected/plpgsql_call.out b/src/pl/plpgsql/src/expected/plpgsql_call.out index 7ab23c6a21f..ab16416c1e2 100644 --- a/src/pl/plpgsql/src/expected/plpgsql_call.out +++ b/src/pl/plpgsql/src/expected/plpgsql_call.out @@ -483,3 +483,50 @@ BEGIN END; $$; NOTICE: +-- check that we detect change of dependencies in CALL +-- atomic and non-atomic call sites used to do this differently, so check both +CREATE PROCEDURE inner_p (f1 int) +AS $$ +BEGIN + RAISE NOTICE 'inner_p(%)', f1; +END +$$ LANGUAGE plpgsql; +CREATE FUNCTION f(int) RETURNS int AS $$ SELECT $1 + 1 $$ LANGUAGE sql; +CREATE PROCEDURE outer_p (f1 int) +AS $$ +BEGIN + RAISE NOTICE 'outer_p(%)', f1; + CALL inner_p(f(f1)); +END +$$ LANGUAGE plpgsql; +CREATE FUNCTION outer_f (f1 int) RETURNS void +AS $$ +BEGIN + RAISE NOTICE 'outer_f(%)', f1; + CALL inner_p(f(f1)); +END +$$ LANGUAGE plpgsql; +CALL outer_p(42); +NOTICE: outer_p(42) +NOTICE: inner_p(43) +SELECT outer_f(42); +NOTICE: outer_f(42) +NOTICE: inner_p(43) + outer_f +--------- + +(1 row) + +DROP FUNCTION f(int); +CREATE FUNCTION f(int) RETURNS int AS $$ SELECT $1 + 2 $$ LANGUAGE sql; +CALL outer_p(42); +NOTICE: outer_p(42) +NOTICE: inner_p(44) +SELECT outer_f(42); +NOTICE: outer_f(42) +NOTICE: inner_p(44) + outer_f +--------- + +(1 row) + diff --git a/src/pl/plpgsql/src/sql/plpgsql_call.sql b/src/pl/plpgsql/src/sql/plpgsql_call.sql index 14bbffa0b2e..8efc8e823ac 100644 --- a/src/pl/plpgsql/src/sql/plpgsql_call.sql +++ b/src/pl/plpgsql/src/sql/plpgsql_call.sql @@ -454,3 +454,41 @@ BEGIN RAISE NOTICE '%', v_Text; END; $$; + + +-- check that we detect change of dependencies in CALL +-- atomic and non-atomic call sites used to do this differently, so check both + +CREATE PROCEDURE inner_p (f1 int) +AS $$ +BEGIN + RAISE NOTICE 'inner_p(%)', f1; +END +$$ LANGUAGE plpgsql; + +CREATE FUNCTION f(int) RETURNS int AS $$ SELECT $1 + 1 $$ LANGUAGE sql; + +CREATE PROCEDURE outer_p (f1 int) +AS $$ +BEGIN + RAISE NOTICE 'outer_p(%)', f1; + CALL inner_p(f(f1)); +END +$$ LANGUAGE plpgsql; + +CREATE FUNCTION outer_f (f1 int) RETURNS void +AS $$ +BEGIN + RAISE NOTICE 'outer_f(%)', f1; + CALL inner_p(f(f1)); +END +$$ LANGUAGE plpgsql; + +CALL outer_p(42); +SELECT outer_f(42); + +DROP FUNCTION f(int); +CREATE FUNCTION f(int) RETURNS int AS $$ SELECT $1 + 2 $$ LANGUAGE sql; + +CALL outer_p(42); +SELECT outer_f(42); From 5bc3a1f07f9c4fd50a8462b73aa58a2e971a5eee Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Mon, 25 Sep 2023 11:50:02 -0700 Subject: [PATCH 196/317] pg_dump: tests: Correct test condition for invalid databases For some reason I used not_like = { pg_dumpall_dbprivs => 1, } in the test condition of one of the tests added in in c66a7d75e65. That doesn't make sense for two reasons: 1) not_like isn't a valid test condition 2) the database should not be dumped in any of the tests. Due to 1), the test achieved its goal, but clearly the formulation is confusing. Instead use like => {}, with a comment explaining why. Reported-by: Peter Eisentraut Discussion: https://postgr.es/m/3ddf79f2-8b7b-a093-11d2-5c739bc64f86@eisentraut.org Backpatch: 11-, like c66a7d75e65 --- src/bin/pg_dump/t/002_pg_dump.pl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/bin/pg_dump/t/002_pg_dump.pl b/src/bin/pg_dump/t/002_pg_dump.pl index c74b7234f61..9e325c13bee 100644 --- a/src/bin/pg_dump/t/002_pg_dump.pl +++ b/src/bin/pg_dump/t/002_pg_dump.pl @@ -1913,9 +1913,9 @@ CREATE DATABASE regression_invalid; UPDATE pg_database SET datconnlimit = -2 WHERE datname = 'regression_invalid'), regexp => qr/^CREATE DATABASE regression_invalid/m, - not_like => { - pg_dumpall_dbprivs => 1, - }, + + # invalid databases should never be dumped + like => {}, }, 'CREATE ACCESS METHOD gist2' => { From 75583cb87c5ea7597297783371f65473c7e68ad5 Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Tue, 26 Sep 2023 09:07:26 +1300 Subject: [PATCH 197/317] Fix edge-case for xl_tot_len broken by bae868ca. bae868ca removed a check that was still needed. If you had an xl_tot_len at the end of a page that was too small for a record header, but not big enough to span onto the next page, we'd immediately perform the CRC check using a bogus large length. Because of arbitrary coding differences between the CRC implementations on different platforms, nothing very bad happened on common modern systems. On systems using the _sb8.c fallback we could segfault. Restore that check, add a new assertion and supply a test for that case. Back-patch to 12, like bae868ca. Tested-by: Tom Lane Tested-by: Alexander Lakhin Discussion: https://postgr.es/m/CA%2BhUKGLCkTT7zYjzOxuLGahBdQ%3DMcF%3Dz5ZvrjSOnW4EDhVjT-g%40mail.gmail.com --- src/backend/access/transam/xlogreader.c | 11 +++++++++++ src/test/recovery/t/039_end_of_wal.pl | 13 +++++++++++++ 2 files changed, 24 insertions(+) diff --git a/src/backend/access/transam/xlogreader.c b/src/backend/access/transam/xlogreader.c index 58654b746ca..a17263df208 100644 --- a/src/backend/access/transam/xlogreader.c +++ b/src/backend/access/transam/xlogreader.c @@ -653,6 +653,15 @@ XLogDecodeNextRecord(XLogReaderState *state, bool nonblocking) } else { + /* There may be no next page if it's too small. */ + if (total_len < SizeOfXLogRecord) + { + report_invalid_record(state, + "invalid record length at %X/%X: expected at least %u, got %u", + LSN_FORMAT_ARGS(RecPtr), + (uint32) SizeOfXLogRecord, total_len); + goto err; + } /* We'll validate the header once we have the next page. */ gotheader = false; } @@ -1190,6 +1199,8 @@ ValidXLogRecord(XLogReaderState *state, XLogRecord *record, XLogRecPtr recptr) { pg_crc32c crc; + Assert(record->xl_tot_len >= SizeOfXLogRecord); + /* Calculate the CRC */ INIT_CRC32C(crc); COMP_CRC32C(crc, ((char *) record) + SizeOfXLogRecord, record->xl_tot_len - SizeOfXLogRecord); diff --git a/src/test/recovery/t/039_end_of_wal.pl b/src/test/recovery/t/039_end_of_wal.pl index 61728bc38bb..d2bf062bb23 100644 --- a/src/test/recovery/t/039_end_of_wal.pl +++ b/src/test/recovery/t/039_end_of_wal.pl @@ -281,6 +281,19 @@ sub advance_to_record_splitting_zone $log_size), "xl_tot_len short"); +# xl_tot_len in final position, not big enough to span into a new page but +# also not eligible for regular record header validation +emit_message($node, 0); +$end_lsn = advance_to_record_splitting_zone($node); +$node->stop('immediate'); +write_wal($node, $TLI, $end_lsn, build_record_header(1)); +$log_size = -s $node->logfile; +$node->start; +ok( $node->log_contains( + "invalid record length at .*: expected at least 24, got 1", $log_size + ), + "xl_tot_len short at end-of-page"); + # Need more pages, but xl_prev check fails first. emit_message($node, 0); $end_lsn = advance_out_of_record_splitting_zone($node); From 157826725548ef53a3946a18af742a29dafa51b7 Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Tue, 26 Sep 2023 08:16:41 +0900 Subject: [PATCH 198/317] doc: Tell about "vcregress taptest" for regression tests on Windows There was no mention of this command in the documentation, and it is useful to run the TAP tests of a target source directory. Author: Yugo Nagata Discussion: https://postgr.es/m/20230925153204.926d685d347ee1c8f527090c@sraoss.co.jp Backpatch-through: 11 --- doc/src/sgml/install-windows.sgml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/doc/src/sgml/install-windows.sgml b/doc/src/sgml/install-windows.sgml index 379a2ea80ba..f959d27d201 100644 --- a/doc/src/sgml/install-windows.sgml +++ b/doc/src/sgml/install-windows.sgml @@ -463,12 +463,19 @@ $ENV{CONFIG}="Debug"; vcregress isolationcheck vcregress bincheck vcregress recoverycheck +vcregress taptest To change the schedule used (default is parallel), append it to the command line like: vcregress check serial + + + vcregress taptest can be used to run the TAP tests + of a target directory, like: + +vcregress taptest src\bin\initdb\ For more information about the regression tests, see @@ -476,9 +483,10 @@ $ENV{CONFIG}="Debug"; - Running the regression tests on client programs, with - vcregress bincheck, or on recovery tests, with - vcregress recoverycheck, requires an additional Perl module + Running the regression tests on client programs with + vcregress bincheck, on recovery tests with + vcregress recoverycheck, or TAP tests specified with + vcregress taptest requires an additional Perl module to be installed: From 773d529c3ed4f6b077b110e7935f6161c9b2ca6a Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Tue, 26 Sep 2023 09:30:36 +0900 Subject: [PATCH 199/317] Fix behavior of "force" in pgstat_report_wal() As implemented in 5891c7a8ed8f, setting "force" to true in pgstat_report_wal() causes the routine to not wait for the pgstat shmem lock if it cannot be acquired, in which case the WAL and I/O statistics finish by not being flushed. The origin of the confusion comes from pgstat_flush_wal() and pgstat_flush_io(), that use "nowait" as sole argument. The I/O stats are new in v16. This is the opposite behavior of what has been used in pgstat_report_stat(), where "force" is the opposite of "nowait". In this case, when "force" is true, the routine sets "nowait" to false, which would cause the routine to wait for the pgstat shmem lock, ensuring that the stats are always flushed. When "force" is false, "nowait" is set to true, and the stats would only not be flushed if the pgstat shmem lock can be acquired, returning immediately without flushing the stats if the lock cannot be acquired. This commit changes pgstat_report_wal() so as "force" has the same behavior as in pgstat_report_stat(). There are currently three callers of pgstat_report_wal(): - Two in the checkpointer where force=true during a shutdown and the main checkpointer loop. Now the code behaves so as the stats are always flushed. - One in the main loop of the bgwriter, where force=false. Now the code behaves so as the stats would not be flushed if the pgstat shmem lock could not be acquired. Before this commit, some stats on WAL and I/O could have been lost after a shutdown, for example. Reported-by: Ryoga Yoshida Author: Ryoga Yoshida, Michael Paquier Discussion: https://postgr.es/m/f87a4d7be70530606b864fd1df91718c@oss.nttdata.com Backpatch-through: 15 --- src/backend/utils/activity/pgstat_wal.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/backend/utils/activity/pgstat_wal.c b/src/backend/utils/activity/pgstat_wal.c index bcaed14d02e..6a81b781357 100644 --- a/src/backend/utils/activity/pgstat_wal.c +++ b/src/backend/utils/activity/pgstat_wal.c @@ -38,13 +38,25 @@ static WalUsage prevWalUsage; * * Must be called by processes that generate WAL, that do not call * pgstat_report_stat(), like walwriter. + * + * "force" set to true ensures that the statistics are flushed; note that + * this needs to acquire the pgstat shmem LWLock, waiting on it. When + * set to false, the statistics may not be flushed if the lock could not + * be acquired. */ void pgstat_report_wal(bool force) { - pgstat_flush_wal(force); + bool nowait; + + /* like in pgstat.c, don't wait for lock acquisition when !force */ + nowait = !force; + + /* flush wal stats */ + pgstat_flush_wal(nowait); - pgstat_flush_io(force); + /* flush IO stats */ + pgstat_flush_io(nowait); } /* From 5638a6feeb4ae7b6033c0692d814115a4ffa538c Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Tue, 26 Sep 2023 14:14:49 +0300 Subject: [PATCH 200/317] Fix another bug in parent page splitting during GiST index build. Yet another bug in the ilk of commits a7ee7c851 and 741b88435. In 741b88435, we took care to clear the memorized location of the downlink when we split the parent page, because splitting the parent page can move the downlink. But we missed that even *updating* a tuple on the parent can move it, because updating a tuple on a gist page is implemented as a delete+insert, so the updated tuple gets moved to the end of the page. This commit fixes the bug in two different ways (belt and suspenders): 1. Clear the downlink when we update a tuple on the parent page, even if it's not split. This the same approach as in commits a7ee7c851 and 741b88435. I also noticed that gistFindCorrectParent did not clear the 'downlinkoffnum' when it stepped to the right sibling. Fix that too, as it seems like a clear bug even though I haven't been able to find a test case to hit that. 2. Change gistFindCorrectParent so that it treats 'downlinkoffnum' merely as a hint. It now always first checks if the downlink is still at that location, and if not, it scans the page like before. That's more robust if there are still more cases where we fail to clear 'downlinkoffnum' that we haven't yet uncovered. With this, it's no longer necessary to meticulously clear 'downlinkoffnum', so this makes the previous fixes unnecessary, but I didn't revert them because it still seems nice to clear it when we know that the downlink has moved. Also add the test case using the same test data that Alexander posted. I tried to reduce it to a smaller test, and I also tried to reproduce this with different test data, but I was not able to, so let's just include what we have. Backpatch to v12, like the previous fixes. Reported-by: Alexander Lakhin Discussion: https://www.postgresql.org/message-id/18129-caca016eaf0c3702@postgresql.org --- contrib/intarray/expected/_int.out | 91 +++++++++++++++ contrib/intarray/sql/_int.sql | 35 ++++++ src/backend/access/gist/gist.c | 180 ++++++++++++++++------------- 3 files changed, 226 insertions(+), 80 deletions(-) diff --git a/contrib/intarray/expected/_int.out b/contrib/intarray/expected/_int.out index cad37f1a244..b6cf5757825 100644 --- a/contrib/intarray/expected/_int.out +++ b/contrib/intarray/expected/_int.out @@ -876,4 +876,95 @@ SELECT count(*) from test__int WHERE a @@ '!20 & !21'; 6343 (1 row) +DROP INDEX text_idx; +-- Repeat the same queries with an extended data set. The data set is the +-- same that we used before, except that each element in the array is +-- repeated three times, offset by 1000 and 2000. For example, {1, 5} +-- becomes {1, 1001, 2001, 5, 1005, 2005}. +-- +-- That has proven to be unreasonably effective at exercising codepaths in +-- core GiST code related to splitting parent pages, which is not covered by +-- other tests. This is a bit out-of-place as the point is to test core GiST +-- code rather than this extension, but there is no suitable GiST opclass in +-- core that would reach the same codepaths. +CREATE TABLE more__int AS SELECT + -- Leave alone NULLs, empty arrays and the one row that we use to test + -- equality + CASE WHEN a IS NULL OR a = '{}' OR a = '{73,23,20}' THEN a ELSE + (select array_agg(u) || array_agg(u + 1000) || array_agg(u + 2000) from (select unnest(a) u) x) + END AS a, a as b + FROM test__int; +CREATE INDEX ON more__int using gist (a gist__int_ops(numranges = 252)); +SELECT count(*) from more__int WHERE a && '{23,50}'; + count +------- + 403 +(1 row) + +SELECT count(*) from more__int WHERE a @@ '23|50'; + count +------- + 403 +(1 row) + +SELECT count(*) from more__int WHERE a @> '{23,50}'; + count +------- + 12 +(1 row) + +SELECT count(*) from more__int WHERE a @@ '23&50'; + count +------- + 12 +(1 row) + +SELECT count(*) from more__int WHERE a @> '{20,23}'; + count +------- + 12 +(1 row) + +SELECT count(*) from more__int WHERE a <@ '{73,23,20}'; + count +------- + 10 +(1 row) + +SELECT count(*) from more__int WHERE a = '{73,23,20}'; + count +------- + 1 +(1 row) + +SELECT count(*) from more__int WHERE a @@ '50&68'; + count +------- + 9 +(1 row) + +SELECT count(*) from more__int WHERE a @> '{20,23}' or a @> '{50,68}'; + count +------- + 21 +(1 row) + +SELECT count(*) from more__int WHERE a @@ '(20&23)|(50&68)'; + count +------- + 21 +(1 row) + +SELECT count(*) from more__int WHERE a @@ '20 | !21'; + count +------- + 6566 +(1 row) + +SELECT count(*) from more__int WHERE a @@ '!20 & !21'; + count +------- + 6343 +(1 row) + RESET enable_seqscan; diff --git a/contrib/intarray/sql/_int.sql b/contrib/intarray/sql/_int.sql index a947c4f8fdd..dd5c668a0f4 100644 --- a/contrib/intarray/sql/_int.sql +++ b/contrib/intarray/sql/_int.sql @@ -195,4 +195,39 @@ SELECT count(*) from test__int WHERE a @@ '(20&23)|(50&68)'; SELECT count(*) from test__int WHERE a @@ '20 | !21'; SELECT count(*) from test__int WHERE a @@ '!20 & !21'; +DROP INDEX text_idx; + +-- Repeat the same queries with an extended data set. The data set is the +-- same that we used before, except that each element in the array is +-- repeated three times, offset by 1000 and 2000. For example, {1, 5} +-- becomes {1, 1001, 2001, 5, 1005, 2005}. +-- +-- That has proven to be unreasonably effective at exercising codepaths in +-- core GiST code related to splitting parent pages, which is not covered by +-- other tests. This is a bit out-of-place as the point is to test core GiST +-- code rather than this extension, but there is no suitable GiST opclass in +-- core that would reach the same codepaths. +CREATE TABLE more__int AS SELECT + -- Leave alone NULLs, empty arrays and the one row that we use to test + -- equality + CASE WHEN a IS NULL OR a = '{}' OR a = '{73,23,20}' THEN a ELSE + (select array_agg(u) || array_agg(u + 1000) || array_agg(u + 2000) from (select unnest(a) u) x) + END AS a, a as b + FROM test__int; +CREATE INDEX ON more__int using gist (a gist__int_ops(numranges = 252)); + +SELECT count(*) from more__int WHERE a && '{23,50}'; +SELECT count(*) from more__int WHERE a @@ '23|50'; +SELECT count(*) from more__int WHERE a @> '{23,50}'; +SELECT count(*) from more__int WHERE a @@ '23&50'; +SELECT count(*) from more__int WHERE a @> '{20,23}'; +SELECT count(*) from more__int WHERE a <@ '{73,23,20}'; +SELECT count(*) from more__int WHERE a = '{73,23,20}'; +SELECT count(*) from more__int WHERE a @@ '50&68'; +SELECT count(*) from more__int WHERE a @> '{20,23}' or a @> '{50,68}'; +SELECT count(*) from more__int WHERE a @@ '(20&23)|(50&68)'; +SELECT count(*) from more__int WHERE a @@ '20 | !21'; +SELECT count(*) from more__int WHERE a @@ '!20 & !21'; + + RESET enable_seqscan; diff --git a/src/backend/access/gist/gist.c b/src/backend/access/gist/gist.c index b1f19f6a8e6..8ef5fa03290 100644 --- a/src/backend/access/gist/gist.c +++ b/src/backend/access/gist/gist.c @@ -1018,87 +1018,106 @@ gistFindPath(Relation r, BlockNumber child, OffsetNumber *downlinkoffnum) * remain so at exit, but it might not be the same page anymore. */ static void -gistFindCorrectParent(Relation r, GISTInsertStack *child) +gistFindCorrectParent(Relation r, GISTInsertStack *child, bool is_build) { GISTInsertStack *parent = child->parent; + ItemId iid; + IndexTuple idxtuple; + OffsetNumber maxoff; + GISTInsertStack *ptr; gistcheckpage(r, parent->buffer); parent->page = (Page) BufferGetPage(parent->buffer); + maxoff = PageGetMaxOffsetNumber(parent->page); - /* here we don't need to distinguish between split and page update */ - if (child->downlinkoffnum == InvalidOffsetNumber || - parent->lsn != PageGetLSN(parent->page)) + /* Check if the downlink is still where it was before */ + if (child->downlinkoffnum != InvalidOffsetNumber && child->downlinkoffnum <= maxoff) { - /* parent is changed, look child in right links until found */ - OffsetNumber i, - maxoff; - ItemId iid; - IndexTuple idxtuple; - GISTInsertStack *ptr; + iid = PageGetItemId(parent->page, child->downlinkoffnum); + idxtuple = (IndexTuple) PageGetItem(parent->page, iid); + if (ItemPointerGetBlockNumber(&(idxtuple->t_tid)) == child->blkno) + return; /* still there */ + } - while (true) - { - maxoff = PageGetMaxOffsetNumber(parent->page); - for (i = FirstOffsetNumber; i <= maxoff; i = OffsetNumberNext(i)) - { - iid = PageGetItemId(parent->page, i); - idxtuple = (IndexTuple) PageGetItem(parent->page, iid); - if (ItemPointerGetBlockNumber(&(idxtuple->t_tid)) == child->blkno) - { - /* yes!!, found */ - child->downlinkoffnum = i; - return; - } - } + /* + * The page has changed since we looked. During normal operation, every + * update of a page changes its LSN, so the LSN we memorized should have + * changed too. During index build, however, we don't WAL-log the changes + * until we have built the index, so the LSN doesn't change. There is no + * concurrent activity during index build, but we might have changed the + * parent ourselves. + */ + Assert(parent->lsn != PageGetLSN(parent->page) || is_build); + + /* + * Scan the page to re-find the downlink. If the page was split, it might + * have moved to a different page, so follow the right links until we find + * it. + */ + while (true) + { + OffsetNumber i; - parent->blkno = GistPageGetOpaque(parent->page)->rightlink; - UnlockReleaseBuffer(parent->buffer); - if (parent->blkno == InvalidBlockNumber) + maxoff = PageGetMaxOffsetNumber(parent->page); + for (i = FirstOffsetNumber; i <= maxoff; i = OffsetNumberNext(i)) + { + iid = PageGetItemId(parent->page, i); + idxtuple = (IndexTuple) PageGetItem(parent->page, iid); + if (ItemPointerGetBlockNumber(&(idxtuple->t_tid)) == child->blkno) { - /* - * End of chain and still didn't find parent. It's a very-very - * rare situation when root splitted. - */ - break; + /* yes!!, found */ + child->downlinkoffnum = i; + return; } - parent->buffer = ReadBuffer(r, parent->blkno); - LockBuffer(parent->buffer, GIST_EXCLUSIVE); - gistcheckpage(r, parent->buffer); - parent->page = (Page) BufferGetPage(parent->buffer); } - /* - * awful!!, we need search tree to find parent ... , but before we - * should release all old parent - */ - - ptr = child->parent->parent; /* child->parent already released - * above */ - while (ptr) + parent->blkno = GistPageGetOpaque(parent->page)->rightlink; + parent->downlinkoffnum = InvalidOffsetNumber; + UnlockReleaseBuffer(parent->buffer); + if (parent->blkno == InvalidBlockNumber) { - ReleaseBuffer(ptr->buffer); - ptr = ptr->parent; + /* + * End of chain and still didn't find parent. It's a very-very + * rare situation when root splitted. + */ + break; } + parent->buffer = ReadBuffer(r, parent->blkno); + LockBuffer(parent->buffer, GIST_EXCLUSIVE); + gistcheckpage(r, parent->buffer); + parent->page = (Page) BufferGetPage(parent->buffer); + } - /* ok, find new path */ - ptr = parent = gistFindPath(r, child->blkno, &child->downlinkoffnum); + /* + * awful!!, we need search tree to find parent ... , but before we should + * release all old parent + */ - /* read all buffers as expected by caller */ - /* note we don't lock them or gistcheckpage them here! */ - while (ptr) - { - ptr->buffer = ReadBuffer(r, ptr->blkno); - ptr->page = (Page) BufferGetPage(ptr->buffer); - ptr = ptr->parent; - } + ptr = child->parent->parent; /* child->parent already released above */ + while (ptr) + { + ReleaseBuffer(ptr->buffer); + ptr = ptr->parent; + } - /* install new chain of parents to stack */ - child->parent = parent; + /* ok, find new path */ + ptr = parent = gistFindPath(r, child->blkno, &child->downlinkoffnum); - /* make recursive call to normal processing */ - LockBuffer(child->parent->buffer, GIST_EXCLUSIVE); - gistFindCorrectParent(r, child); + /* read all buffers as expected by caller */ + /* note we don't lock them or gistcheckpage them here! */ + while (ptr) + { + ptr->buffer = ReadBuffer(r, ptr->blkno); + ptr->page = (Page) BufferGetPage(ptr->buffer); + ptr = ptr->parent; } + + /* install new chain of parents to stack */ + child->parent = parent; + + /* make recursive call to normal processing */ + LockBuffer(child->parent->buffer, GIST_EXCLUSIVE); + gistFindCorrectParent(r, child, is_build); } /* @@ -1106,7 +1125,7 @@ gistFindCorrectParent(Relation r, GISTInsertStack *child) */ static IndexTuple gistformdownlink(Relation rel, Buffer buf, GISTSTATE *giststate, - GISTInsertStack *stack) + GISTInsertStack *stack, bool is_build) { Page page = BufferGetPage(buf); OffsetNumber maxoff; @@ -1147,7 +1166,7 @@ gistformdownlink(Relation rel, Buffer buf, GISTSTATE *giststate, ItemId iid; LockBuffer(stack->parent->buffer, GIST_EXCLUSIVE); - gistFindCorrectParent(rel, stack); + gistFindCorrectParent(rel, stack, is_build); iid = PageGetItemId(stack->parent->page, stack->downlinkoffnum); downlink = (IndexTuple) PageGetItem(stack->parent->page, iid); downlink = CopyIndexTuple(downlink); @@ -1193,7 +1212,7 @@ gistfixsplit(GISTInsertState *state, GISTSTATE *giststate) page = BufferGetPage(buf); /* Form the new downlink tuples to insert to parent */ - downlink = gistformdownlink(state->r, buf, giststate, stack); + downlink = gistformdownlink(state->r, buf, giststate, stack, state->is_build); si->buf = buf; si->downlink = downlink; @@ -1347,7 +1366,7 @@ gistfinishsplit(GISTInsertState *state, GISTInsertStack *stack, right = (GISTPageSplitInfo *) list_nth(splitinfo, pos); left = (GISTPageSplitInfo *) list_nth(splitinfo, pos - 1); - gistFindCorrectParent(state->r, stack); + gistFindCorrectParent(state->r, stack, state->is_build); if (gistinserttuples(state, stack->parent, giststate, &right->downlink, 1, InvalidOffsetNumber, @@ -1372,21 +1391,22 @@ gistfinishsplit(GISTInsertState *state, GISTInsertStack *stack, */ tuples[0] = left->downlink; tuples[1] = right->downlink; - gistFindCorrectParent(state->r, stack); - if (gistinserttuples(state, stack->parent, giststate, - tuples, 2, - stack->downlinkoffnum, - left->buf, right->buf, - true, /* Unlock parent */ - unlockbuf /* Unlock stack->buffer if caller wants - * that */ - )) - { - /* - * If the parent page was split, the downlink might have moved. - */ - stack->downlinkoffnum = InvalidOffsetNumber; - } + gistFindCorrectParent(state->r, stack, state->is_build); + (void) gistinserttuples(state, stack->parent, giststate, + tuples, 2, + stack->downlinkoffnum, + left->buf, right->buf, + true, /* Unlock parent */ + unlockbuf /* Unlock stack->buffer if caller + * wants that */ + ); + + /* + * The downlink might have moved when we updated it. Even if the page + * wasn't split, because gistinserttuples() implements updating the old + * tuple by removing and re-inserting it! + */ + stack->downlinkoffnum = InvalidOffsetNumber; Assert(left->buf == stack->buffer); From 96fa39e34e9f18a5f5e6074a7383b0e2651a0b43 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 26 Sep 2023 12:08:49 -0400 Subject: [PATCH 201/317] doc: PG 16 relnotes: clarify "relation" segsize mention Reported-by: harukat@sraoss.co.jp Discussion: https://postgr.es/m/18124-d363fa4873e176d6@postgresql.org Backpatch-through: 16 only --- doc/src/sgml/release-16.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/release-16.sgml b/doc/src/sgml/release-16.sgml index a0a8092120f..47b9960f5d9 100644 --- a/doc/src/sgml/release-16.sgml +++ b/doc/src/sgml/release-16.sgml @@ -3369,8 +3369,8 @@ Author: Andres Freund - Add build option to allow testing of small WAL - segment sizes (Andres Freund) + Add build option to allow testing of small table segment sizes + (Andres Freund) From a5b8044ac4ab4e4be2705068a7e19e2983c4a1e1 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 26 Sep 2023 17:31:06 -0400 Subject: [PATCH 202/317] doc: mention GROUP BY columns can reference target col numbers Reported-by: hape Discussion: https://postgr.es/m/168871536004.379168.9352636188330923805@wrigleys.postgresql.org Backpatch-through: 11 --- doc/src/sgml/ref/select.sgml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/src/sgml/ref/select.sgml b/doc/src/sgml/ref/select.sgml index 0ee0cc7e641..42d78913cf9 100644 --- a/doc/src/sgml/ref/select.sgml +++ b/doc/src/sgml/ref/select.sgml @@ -131,6 +131,9 @@ TABLE [ ONLY ] table_name [ * ] eliminates groups that do not satisfy the given condition. (See and below.) + Although query output columns are nominally computed in the next + step, they can also be referenced (by name or ordinal number) + in the GROUP BY clause. From 89849bd4fb9d896af7d618791a11e85f40944cd6 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 26 Sep 2023 18:54:10 -0400 Subject: [PATCH 203/317] doc: pg_upgrade, clarify standby servers must remain running Also mention that mismatching primary/standby LSNs should never happen. Reported-by: Nikolay Samokhvalov Discussion: https://postgr.es/m/CAM527d8heqkjG5VrvjU3Xjsqxg41ufUyabD9QZccdAxnpbRH-Q@mail.gmail.com Backpatch-through: 11 --- doc/src/sgml/ref/pgupgrade.sgml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/doc/src/sgml/ref/pgupgrade.sgml b/doc/src/sgml/ref/pgupgrade.sgml index 7816b4c6859..f9c16a5cdb7 100644 --- a/doc/src/sgml/ref/pgupgrade.sgml +++ b/doc/src/sgml/ref/pgupgrade.sgml @@ -380,8 +380,8 @@ NET STOP postgresql-&majorversion; - Streaming replication and log-shipping standby servers can - remain running until a later step. + Streaming replication and log-shipping standby servers must be + running during this shutdown so they receive all changes. @@ -394,8 +394,6 @@ NET STOP postgresql-&majorversion; servers are caught up by running pg_controldata against the old primary and standby clusters. Verify that the Latest checkpoint location values match in all clusters. - (There will be a mismatch if old standby servers were shut down - before the old primary or if the old standby servers are still running.) Also, make sure wal_level is not set to minimal in the postgresql.conf file on the new primary cluster. From 495a1562d6d90f23b245153f3b7023044dd6ca5d Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 26 Sep 2023 19:02:18 -0400 Subject: [PATCH 204/317] doc: clarify the behavior of unopenable listen_addresses Reported-by: Gurjeet Singh Discussion: https://postgr.es/m/CABwTF4WYPD9ov-kcSq1+J+ZJ5wYDQLXquY6Lu2cvb-Y7pTpSGA@mail.gmail.com Backpatch-through: 11 --- doc/src/sgml/config.sgml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index cb615ac4241..a58296b14af 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -656,10 +656,15 @@ include_dir 'conf.d' :: allows listening for all IPv6 addresses. If the list is empty, the server does not listen on any IP interface at all, in which case only Unix-domain sockets can be used to connect - to it. + to it. If the list is not empty, the server will start if it + can listen on at least one TCP/IP address. A warning will be + emitted for any TCP/IP address which cannot be opened. The default value is localhost, which allows only local TCP/IP loopback connections to be - made. While client authentication ( + + While client authentication () allows fine-grained control over who can access the server, listen_addresses controls which interfaces accept connection attempts, which From 79bfe57c7161fd54b189da745a37dffd929b4a8e Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 26 Sep 2023 19:23:59 -0400 Subject: [PATCH 205/317] doc: clarify handling of time zones with "time with time zone" Reported-by: davecramer@postgres.rocks Discussion: https://postgr.es/m/168451942371.714.9173574930845904336@wrigleys.postgresql.org Backpatch-through: 11 --- doc/src/sgml/datatype.sgml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/src/sgml/datatype.sgml b/doc/src/sgml/datatype.sgml index 8d32a8c9c5b..5d237657059 100644 --- a/doc/src/sgml/datatype.sgml +++ b/doc/src/sgml/datatype.sgml @@ -2040,7 +2040,8 @@ MINUTE TO SECOND America/New_York. In this case specifying the date is required in order to determine whether standard or daylight-savings time applies. The appropriate time zone offset is recorded in the - time with time zone value. + time with time zone value and is output as stored; + it is not adjusted to the active time zone.
From ab60245d48562fa9aaf5f528fdf68ef100b08452 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 26 Sep 2023 19:44:22 -0400 Subject: [PATCH 206/317] doc: clarify the effect of concurrent work_mem allocations Reported-by: Sami Imseih Discussion: https://postgr.es/m/66590882-F48C-4A25-83E3-73792CF8C51F@amazon.com Backpatch-through: 11 --- doc/src/sgml/config.sgml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index a58296b14af..8d1ccadcaff 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -1884,9 +1884,10 @@ include_dir 'conf.d' (such as a sort or hash table) before writing to temporary disk files. If this value is specified without units, it is taken as kilobytes. The default value is four megabytes (4MB). - Note that for a complex query, several sort or hash operations might be - running in parallel; each operation will generally be allowed - to use as much memory as this value specifies before it starts + Note that a complex query might perform several sort and hash + operations at the same time, with each operation generally being + allowed to use as much memory as this value specifies before + it starts to write data into temporary files. Also, several running sessions could be doing such operations concurrently. Therefore, the total memory used could be many times the value @@ -1900,7 +1901,7 @@ include_dir 'conf.d' Hash-based operations are generally more sensitive to memory availability than equivalent sort-based operations. The - memory available for hash tables is computed by multiplying + memory limit for a hash table is computed by multiplying work_mem by hash_mem_multiplier. This makes it possible for hash-based operations to use an amount of memory From 972882051deba7106042a024219ffce9ded44154 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 26 Sep 2023 21:06:21 -0400 Subject: [PATCH 207/317] Stop using "-multiply_defined suppress" on macOS. We started to use this linker switch in commit 9df308697 of 2004-07-13, which was in the OS X 10.3 era. Apparently it's been a no-op since around OS X 10.9. Apple's most recent toolchain version actively complains about it, so it's time to get rid of it. Discussion: https://postgr.es/m/467042.1695766998@sss.pgh.pa.us --- src/Makefile.shlib | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Makefile.shlib b/src/Makefile.shlib index 35abce58d22..f94d59d1c59 100644 --- a/src/Makefile.shlib +++ b/src/Makefile.shlib @@ -126,12 +126,12 @@ ifeq ($(PORTNAME), darwin) ifneq ($(SO_MAJOR_VERSION), 0) version_link = -compatibility_version $(SO_MAJOR_VERSION) -current_version $(SO_MAJOR_VERSION).$(SO_MINOR_VERSION) endif - LINK.shared = $(COMPILER) -dynamiclib -install_name '$(libdir)/lib$(NAME).$(SO_MAJOR_VERSION)$(DLSUFFIX)' $(version_link) $(exported_symbols_list) -multiply_defined suppress + LINK.shared = $(COMPILER) -dynamiclib -install_name '$(libdir)/lib$(NAME).$(SO_MAJOR_VERSION)$(DLSUFFIX)' $(version_link) $(exported_symbols_list) shlib = lib$(NAME).$(SO_MAJOR_VERSION)$(DLSUFFIX) shlib_major = lib$(NAME).$(SO_MAJOR_VERSION)$(DLSUFFIX) else # loadable module - LINK.shared = $(COMPILER) -bundle -multiply_defined suppress + LINK.shared = $(COMPILER) -bundle endif BUILD.exports = $(AWK) '/^[^\#]/ {printf "_%s\n",$$1}' $< >$@ exports_file = $(SHLIB_EXPORTS:%.txt=%.list) From fd5e038d4461360559c84f8df601f97198d3a79f Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Wed, 27 Sep 2023 14:41:15 +0900 Subject: [PATCH 208/317] unaccent: Tweak value of PYTHON when building without Python support As coded, the module's Makefile would fail to set a value for PYTHON as it checked if the variable is defined. When compiling without --with-python, PYTHON is defined and set to an empty value, so the existing check is not able to do its work. This commit switches the rule to check if the value is empty rather than defined, allowing the generation of unaccent.rules even if --with-python is not used as long as "python" exists. BISON and FLEX do the same in pgxs.mk, for instance. Thinko in f85a485f89e2. Author: Japin Li Discussion: https://postgr.es/m/MEYP282MB1669F86C0DC7B4DC48489CB0B6C3A@MEYP282MB1669.AUSP282.PROD.OUTLOOK.COM Backpatch-through: 13 --- contrib/unaccent/Makefile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/contrib/unaccent/Makefile b/contrib/unaccent/Makefile index d6c466e07ad..b837e864c50 100644 --- a/contrib/unaccent/Makefile +++ b/contrib/unaccent/Makefile @@ -30,7 +30,9 @@ endif update-unicode: $(srcdir)/unaccent.rules # Allow running this even without --with-python -PYTHON ?= python +ifeq ($(PYTHON),) +PYTHON = python +endif $(srcdir)/unaccent.rules: generate_unaccent_rules.py ../../src/common/unicode/UnicodeData.txt Latin-ASCII.xml $(PYTHON) $< --unicode-data-file $(word 2,$^) --latin-ascii-file $(word 3,$^) >$@ From 8568943a442544bf2e3cd7ebb7b6c4a36142b129 Mon Sep 17 00:00:00 2001 From: Amit Kapila Date: Wed, 27 Sep 2023 14:20:57 +0530 Subject: [PATCH 209/317] Fix the misuse of origin filter across multiple pg_logical_slot_get_changes() calls. The pgoutput module uses a global variable (publish_no_origin) to cache the action for the origin filter, but we didn't reset the flag when shutting down the output plugin, so subsequent retries may access the previous publish_no_origin value. We fix this by storing the flag in the output plugin's private data. Additionally, the patch removes the currently unused origin string from the structure. For the back branch, to avoid changing the exposed structure, we eliminated the global variable and instead directly used the origin string for change filtering. Author: Hou Zhijie Reviewed-by: Amit Kapila, Michael Paquier Backpatch-through: 16 Discussion: http://postgr.es/m/OS0PR01MB571690EF24F51F51EFFCBB0E94FAA@OS0PR01MB5716.jpnprd01.prod.outlook.com --- contrib/test_decoding/expected/replorigin.out | 56 +++++++++++++++++++ contrib/test_decoding/sql/replorigin.sql | 22 ++++++++ src/backend/replication/pgoutput/pgoutput.c | 14 ++--- 3 files changed, 85 insertions(+), 7 deletions(-) diff --git a/contrib/test_decoding/expected/replorigin.out b/contrib/test_decoding/expected/replorigin.out index 49ffaeea2da..c85e1a01b23 100644 --- a/contrib/test_decoding/expected/replorigin.out +++ b/contrib/test_decoding/expected/replorigin.out @@ -267,3 +267,59 @@ SELECT pg_replication_origin_drop('regress_test_decoding: regression_slot_no_lsn (1 row) +-- Test that the pgoutput correctly filters changes corresponding to the provided origin value. +SELECT 'init' FROM pg_create_logical_replication_slot('regression_slot', 'pgoutput'); + ?column? +---------- + init +(1 row) + +CREATE PUBLICATION pub FOR TABLE target_tbl; +SELECT pg_replication_origin_create('regress_test_decoding: regression_slot'); + pg_replication_origin_create +------------------------------ + 1 +(1 row) + +-- mark session as replaying +SELECT pg_replication_origin_session_setup('regress_test_decoding: regression_slot'); + pg_replication_origin_session_setup +------------------------------------- + +(1 row) + +INSERT INTO target_tbl(data) VALUES ('test data'); +-- The replayed change will be filtered. +SELECT count(*) = 0 FROM pg_logical_slot_peek_binary_changes('regression_slot', NULL, NULL, 'proto_version', '4', 'publication_names', 'pub', 'origin', 'none'); + ?column? +---------- + t +(1 row) + +-- The replayed change will be output if the origin value is not specified. +SELECT count(*) != 0 FROM pg_logical_slot_peek_binary_changes('regression_slot', NULL, NULL, 'proto_version', '4', 'publication_names', 'pub'); + ?column? +---------- + t +(1 row) + +-- Clean up +SELECT pg_replication_origin_session_reset(); + pg_replication_origin_session_reset +------------------------------------- + +(1 row) + +SELECT pg_drop_replication_slot('regression_slot'); + pg_drop_replication_slot +-------------------------- + +(1 row) + +SELECT pg_replication_origin_drop('regress_test_decoding: regression_slot'); + pg_replication_origin_drop +---------------------------- + +(1 row) + +DROP PUBLICATION pub; diff --git a/contrib/test_decoding/sql/replorigin.sql b/contrib/test_decoding/sql/replorigin.sql index db06541f565..e71ee02d050 100644 --- a/contrib/test_decoding/sql/replorigin.sql +++ b/contrib/test_decoding/sql/replorigin.sql @@ -124,3 +124,25 @@ SELECT data FROM pg_logical_slot_get_changes('regression_slot_no_lsn', NULL, NUL SELECT pg_replication_origin_session_reset(); SELECT pg_drop_replication_slot('regression_slot_no_lsn'); SELECT pg_replication_origin_drop('regress_test_decoding: regression_slot_no_lsn'); + +-- Test that the pgoutput correctly filters changes corresponding to the provided origin value. +SELECT 'init' FROM pg_create_logical_replication_slot('regression_slot', 'pgoutput'); +CREATE PUBLICATION pub FOR TABLE target_tbl; +SELECT pg_replication_origin_create('regress_test_decoding: regression_slot'); + +-- mark session as replaying +SELECT pg_replication_origin_session_setup('regress_test_decoding: regression_slot'); + +INSERT INTO target_tbl(data) VALUES ('test data'); + +-- The replayed change will be filtered. +SELECT count(*) = 0 FROM pg_logical_slot_peek_binary_changes('regression_slot', NULL, NULL, 'proto_version', '4', 'publication_names', 'pub', 'origin', 'none'); + +-- The replayed change will be output if the origin value is not specified. +SELECT count(*) != 0 FROM pg_logical_slot_peek_binary_changes('regression_slot', NULL, NULL, 'proto_version', '4', 'publication_names', 'pub'); + +-- Clean up +SELECT pg_replication_origin_session_reset(); +SELECT pg_drop_replication_slot('regression_slot'); +SELECT pg_replication_origin_drop('regress_test_decoding: regression_slot'); +DROP PUBLICATION pub; diff --git a/src/backend/replication/pgoutput/pgoutput.c b/src/backend/replication/pgoutput/pgoutput.c index b08ca550417..8caf75d4c82 100644 --- a/src/backend/replication/pgoutput/pgoutput.c +++ b/src/backend/replication/pgoutput/pgoutput.c @@ -82,7 +82,6 @@ static void pgoutput_stream_prepare_txn(LogicalDecodingContext *ctx, static bool publications_valid; static bool in_streaming; -static bool publish_no_origin; static List *LoadPublications(List *pubnames); static void publication_invalidation_cb(Datum arg, int cacheid, @@ -388,11 +387,9 @@ parse_output_parameters(List *options, PGOutputData *data) origin_option_given = true; data->origin = defGetString(defel); - if (pg_strcasecmp(data->origin, LOGICALREP_ORIGIN_NONE) == 0) - publish_no_origin = true; - else if (pg_strcasecmp(data->origin, LOGICALREP_ORIGIN_ANY) == 0) - publish_no_origin = false; - else + + if (pg_strcasecmp(data->origin, LOGICALREP_ORIGIN_NONE) != 0 && + pg_strcasecmp(data->origin, LOGICALREP_ORIGIN_ANY) != 0) ereport(ERROR, errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("unrecognized origin value: \"%s\"", data->origin)); @@ -1673,7 +1670,10 @@ static bool pgoutput_origin_filter(LogicalDecodingContext *ctx, RepOriginId origin_id) { - if (publish_no_origin && origin_id != InvalidRepOriginId) + PGOutputData *data = (PGOutputData *) ctx->output_plugin_private; + + if (data->origin && (pg_strcasecmp(data->origin, LOGICALREP_ORIGIN_NONE) == 0) && + origin_id != InvalidRepOriginId) return true; return false; From e9a94de13d5defc473805cf3369b7b20a9293ea3 Mon Sep 17 00:00:00 2001 From: Etsuro Fujita Date: Thu, 28 Sep 2023 19:45:01 +0900 Subject: [PATCH 210/317] Fix typo in src/backend/access/transam/README. --- src/backend/access/transam/README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/access/transam/README b/src/backend/access/transam/README index 22c8ae97551..6de2378748a 100644 --- a/src/backend/access/transam/README +++ b/src/backend/access/transam/README @@ -324,7 +324,7 @@ changes much more often than its xid, having GetSnapshotData look at xmins can lead to a lot of unnecessary cacheline ping-pong. Instead GetSnapshotData updates approximate thresholds (one that guarantees that all deleted rows older than it can be removed, another determining that deleted -rows newer than it can not be removed). GlobalVisTest* uses those threshold +rows newer than it can not be removed). GlobalVisTest* uses those thresholds to make invisibility decision, falling back to ComputeXidHorizons if necessary. From fdbac8c74255684f73a7833d081170d7f35839f4 Mon Sep 17 00:00:00 2001 From: David Rowley Date: Fri, 29 Sep 2023 00:02:56 +1300 Subject: [PATCH 211/317] Add missing TidRangePath handling in print_path() Tid Range scans were added back in bb437f995. That commit forgot to add handling for TidRangePaths in print_path(). Only people building with OPTIMIZER_DEBUG might have noticed this, which likely is the reason it's taken 4 years for anyone to notice. Author: Andrey Lepikhov Reported-by: Andrey Lepikhov Discussion: https://postgr.es/m/379082d6-1b6a-4cd6-9ecf-7157d8c08635@postgrespro.ru Backpatch-through: 14, where bb437f995 was introduced --- src/backend/optimizer/path/allpaths.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/backend/optimizer/path/allpaths.c b/src/backend/optimizer/path/allpaths.c index 9bdc70c702e..f75e0f99cb9 100644 --- a/src/backend/optimizer/path/allpaths.c +++ b/src/backend/optimizer/path/allpaths.c @@ -4470,6 +4470,9 @@ print_path(PlannerInfo *root, Path *path, int indent) case T_TidPath: ptype = "TidScan"; break; + case T_TidRangePath: + ptype = "TidRangePath"; + break; case T_SubqueryScanPath: ptype = "SubqueryScan"; break; From 46d4120128dad9a6f3b264fd91b3e2cc0d4c2777 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 28 Sep 2023 14:05:25 -0400 Subject: [PATCH 212/317] Fix checking of index expressions in CompareIndexInfo(). This code was sloppy about comparison of index columns that are expressions. It didn't reliably reject cases where one index has an expression where the other has a plain column, and it could index off the start of the attmap array, leading to a Valgrind complaint (though an actual crash seems unlikely). I'm not sure that the expression-vs-column sloppiness leads to any visible problem in practice, because the subsequent comparison of the two expression lists would reject cases where the indexes have different numbers of expressions overall. Maybe we could falsely match indexes having the same expressions in different column positions, but it'd require unlucky contents of the word before the attmap array. It's not too surprising that no problem has been reported from the field. Nonetheless, this code is clearly wrong. Per bug #18135 from Alexander Lakhin. Back-patch to all supported branches. Discussion: https://postgr.es/m/18135-532f4a755e71e4d2@postgresql.org --- src/backend/catalog/index.c | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c index f0225610328..1178046d926 100644 --- a/src/backend/catalog/index.c +++ b/src/backend/catalog/index.c @@ -2596,7 +2596,7 @@ CompareIndexInfo(IndexInfo *info1, IndexInfo *info2, /* * and columns match through the attribute map (actual attribute numbers - * might differ!) Note that this implies that index columns that are + * might differ!) Note that this checks that index columns that are * expressions appear in the same positions. We will next compare the * expressions themselves. */ @@ -2605,13 +2605,22 @@ CompareIndexInfo(IndexInfo *info1, IndexInfo *info2, if (attmap->maplen < info2->ii_IndexAttrNumbers[i]) elog(ERROR, "incorrect attribute map"); - /* ignore expressions at this stage */ - if ((info1->ii_IndexAttrNumbers[i] != InvalidAttrNumber) && - (attmap->attnums[info2->ii_IndexAttrNumbers[i] - 1] != - info1->ii_IndexAttrNumbers[i])) - return false; + /* ignore expressions for now (but check their collation/opfamily) */ + if (!(info1->ii_IndexAttrNumbers[i] == InvalidAttrNumber && + info2->ii_IndexAttrNumbers[i] == InvalidAttrNumber)) + { + /* fail if just one index has an expression in this column */ + if (info1->ii_IndexAttrNumbers[i] == InvalidAttrNumber || + info2->ii_IndexAttrNumbers[i] == InvalidAttrNumber) + return false; + + /* both are columns, so check for match after mapping */ + if (attmap->attnums[info2->ii_IndexAttrNumbers[i] - 1] != + info1->ii_IndexAttrNumbers[i]) + return false; + } - /* collation and opfamily is not valid for including columns */ + /* collation and opfamily are not valid for included columns */ if (i >= info1->ii_NumIndexKeyAttrs) continue; From b15370ddfe113c8782ef83368a9a95f39eef1749 Mon Sep 17 00:00:00 2001 From: Peter Geoghegan Date: Thu, 28 Sep 2023 16:29:35 -0700 Subject: [PATCH 213/317] Fix btmarkpos/btrestrpos array key wraparound bug. nbtree's mark/restore processing failed to correctly handle an edge case involving array key advancement and related search-type scan key state. Scans with ScalarArrayScalarArrayOpExpr quals requiring mark/restore processing (for a merge join) could incorrectly conclude that an affected array/scan key must not have advanced during the time between marking and restoring the scan's position. As a result of all this, array key handling within btrestrpos could skip a required call to _bt_preprocess_keys(). This confusion allowed later primitive index scans to overlook tuples matching the true current array keys. The scan's search-type scan keys would still have spurious values corresponding to the final array element(s) -- not values matching the first/now-current array element(s). To fix, remember that "array key wraparound" has taken place during the ongoing btrescan in a flag variable stored in the scan's state, and use that information at the point where btrestrpos decides if another call to _bt_preprocess_keys is required. Oversight in commit 70bc5833, which taught nbtree to handle array keys during mark/restore processing, but missed this subtlety. That commit was itself a bug fix for an issue in commit 9e8da0f7, which taught nbtree to handle ScalarArrayOpExpr quals natively. Author: Peter Geoghegan Discussion: https://postgr.es/m/CAH2-WzkgP3DDRJxw6DgjCxo-cu-DKrvjEv_ArkP2ctBJatDCYg@mail.gmail.com Backpatch: 11- (all supported branches). --- src/backend/access/nbtree/nbtree.c | 1 + src/backend/access/nbtree/nbtutils.c | 17 ++++++++++++++++- src/include/access/nbtree.h | 4 +++- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/backend/access/nbtree/nbtree.c b/src/backend/access/nbtree/nbtree.c index 62bc9917f13..6c5b5c69ce5 100644 --- a/src/backend/access/nbtree/nbtree.c +++ b/src/backend/access/nbtree/nbtree.c @@ -364,6 +364,7 @@ btbeginscan(Relation rel, int nkeys, int norderbys) so->keyData = NULL; so->arrayKeyData = NULL; /* assume no array keys for now */ + so->arraysStarted = false; so->numArrayKeys = 0; so->arrayKeys = NULL; so->arrayContext = NULL; diff --git a/src/backend/access/nbtree/nbtutils.c b/src/backend/access/nbtree/nbtutils.c index 7da499c4dd5..e4528db4779 100644 --- a/src/backend/access/nbtree/nbtutils.c +++ b/src/backend/access/nbtree/nbtutils.c @@ -539,6 +539,8 @@ _bt_start_array_keys(IndexScanDesc scan, ScanDirection dir) curArrayKey->cur_elem = 0; skey->sk_argument = curArrayKey->elem_values[curArrayKey->cur_elem]; } + + so->arraysStarted = true; } /* @@ -598,6 +600,14 @@ _bt_advance_array_keys(IndexScanDesc scan, ScanDirection dir) if (scan->parallel_scan != NULL) _bt_parallel_advance_array_keys(scan); + /* + * When no new array keys were found, the scan is "past the end" of the + * array keys. _bt_start_array_keys can still "restart" the array keys if + * a rescan is required. + */ + if (!found) + so->arraysStarted = false; + return found; } @@ -651,8 +661,13 @@ _bt_restore_array_keys(IndexScanDesc scan) * If we changed any keys, we must redo _bt_preprocess_keys. That might * sound like overkill, but in cases with multiple keys per index column * it seems necessary to do the full set of pushups. + * + * Also do this whenever the scan's set of array keys "wrapped around" at + * the end of the last primitive index scan. There won't have been a call + * to _bt_preprocess_keys from some other place following wrap around, so + * we do it for ourselves. */ - if (changed) + if (changed || !so->arraysStarted) { _bt_preprocess_keys(scan); /* The mark should have been set on a consistent set of keys... */ diff --git a/src/include/access/nbtree.h b/src/include/access/nbtree.h index 8891fa79734..9020abebc92 100644 --- a/src/include/access/nbtree.h +++ b/src/include/access/nbtree.h @@ -1036,8 +1036,10 @@ typedef struct BTArrayKeyInfo typedef struct BTScanOpaqueData { - /* these fields are set by _bt_preprocess_keys(): */ + /* all fields (except arraysStarted) are set by _bt_preprocess_keys(): */ bool qual_ok; /* false if qual can never be satisfied */ + bool arraysStarted; /* Started array keys, but have yet to "reach + * past the end" of all arrays? */ int numberOfKeys; /* number of preprocessed scan keys */ ScanKey keyData; /* array of preprocessed scan keys */ From 99b35dd1e052edad57f05bd9a5c5d9ebc879958e Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Fri, 29 Sep 2023 10:34:18 +0900 Subject: [PATCH 214/317] doc: Fix descriptions related to the handling of non-ASCII characters Since 45b1a67a0fcb, non-printable ASCII characters do not show up in various configuration paths as question marks, but as hexadecimal escapes. The documentation was not updated to reflect that. Author: Hayato Kuroda Reviewed-by: Jian He, Tom Lane, Karl O. Pinc, Peter Smith Discussion: https://postgr.es/m/TYAPR01MB586631D0961BF9C44893FAB1F523A@TYAPR01MB5866.jpnprd01.prod.outlook.com Backpatch-through: 16 --- doc/src/sgml/config.sgml | 15 +++++++++------ doc/src/sgml/postgres-fdw.sgml | 6 +++--- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 8d1ccadcaff..e0f7348c33a 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -7012,8 +7012,9 @@ local0.* /var/log/postgresql and included in CSV log entries. It can also be included in regular log entries via the parameter. Only printable ASCII characters may be used in the - application_name value. Other characters will be - replaced with question marks (?). + application_name value. + Other characters are replaced with C-style hexadecimal escapes. @@ -8009,10 +8010,12 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; The name can be any string of less than NAMEDATALEN characters (64 characters in a standard build). Only printable ASCII characters may be used in the - cluster_name value. Other characters will be - replaced with question marks (?). No name is shown - if this parameter is set to the empty string '' (which is - the default). This parameter can only be set at server start. + cluster_name value. + Other characters are replaced with C-style hexadecimal escapes. + No name is shown if this parameter is set to the empty string + '' (which is the default). + This parameter can only be set at server start. diff --git a/doc/src/sgml/postgres-fdw.sgml b/doc/src/sgml/postgres-fdw.sgml index 5062d712e74..c177fd41bcb 100644 --- a/doc/src/sgml/postgres-fdw.sgml +++ b/doc/src/sgml/postgres-fdw.sgml @@ -1067,9 +1067,9 @@ postgres=# SELECT postgres_fdw_disconnect_all(); of any length and contain even non-ASCII characters. However when it's passed to and used as application_name in a foreign server, note that it will be truncated to less than - NAMEDATALEN characters and anything other than - printable ASCII characters will be replaced with question - marks (?). + NAMEDATALEN characters. + Anything other than printable ASCII characters are replaced with C-style hexadecimal escapes. See for details. From f36c142673cae75e6771b0c45d4e6cce5a676496 Mon Sep 17 00:00:00 2001 From: Daniel Gustafsson Date: Fri, 29 Sep 2023 15:55:37 +0200 Subject: [PATCH 215/317] doc: Change statistics function xref to the right target Commit 7d3b7011b added a link to the statistics functions, which at the time were anchored under the section for statistics views. aebe989477a added a separate section for statistics functions, but the link was not updated to point to the new anchor. Fix by changing the xref. Backpatch to all supported branches. Author: Peter Smith Discussion: https://postgr.es/m/CAHut+Ptr0jKzNNtWnssLq+3jNhbyaBseqf6NPrWHk08mQFRoTg@mail.gmail.com Backpatch-through: 11 --- doc/src/sgml/func.sgml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index 61f3397f39d..0257e136ecd 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -22727,7 +22727,7 @@ SELECT * FROM pg_ls_dir('.') WITH ORDINALITY AS t(ls,n); In addition to the functions listed in this section, there are a number of functions related to the statistics system that also provide system - information. See for more + information. See for more information. From 4ea359057532038327fb1f8808931a6ac4e5c020 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 29 Sep 2023 13:13:54 -0400 Subject: [PATCH 216/317] Doc: improve description of dump/restore's --clean and --if-exists. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Try to make these option descriptions a little clearer for novices. Per gripe from Attila Gulyás. Discussion: https://postgr.es/m/169590536647.3727336.11070254203649648453@wrigleys.postgresql.org --- doc/src/sgml/ref/pg_dump.sgml | 17 ++++++++++------- doc/src/sgml/ref/pg_dumpall.sgml | 17 +++++++++++------ doc/src/sgml/ref/pg_restore.sgml | 18 +++++++++++------- 3 files changed, 32 insertions(+), 20 deletions(-) diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml index a3cf0608f5b..7ff5d04c73d 100644 --- a/doc/src/sgml/ref/pg_dump.sgml +++ b/doc/src/sgml/ref/pg_dump.sgml @@ -170,11 +170,12 @@ PostgreSQL documentation - Output commands to clean (drop) + Output commands to DROP all the dumped database objects prior to outputting the commands for creating them. - (Unless is also specified, - restore might generate some harmless error messages, if any objects - were not present in the destination database.) + This option is useful when the restore is to overwrite an existing + database. If any of the objects do not exist in the destination + database, ignorable error messages will be reported during + restore, unless is also specified. @@ -839,9 +840,11 @@ PostgreSQL documentation - Use conditional commands (i.e., add an IF EXISTS - clause) when cleaning database objects. This option is not valid - unless is also specified. + Use DROP ... IF EXISTS commands to drop objects + in mode. This suppresses does not + exist errors that might otherwise be reported. This + option is not valid unless is also + specified. diff --git a/doc/src/sgml/ref/pg_dumpall.sgml b/doc/src/sgml/ref/pg_dumpall.sgml index e219a79858e..d31585216c6 100644 --- a/doc/src/sgml/ref/pg_dumpall.sgml +++ b/doc/src/sgml/ref/pg_dumpall.sgml @@ -91,9 +91,12 @@ PostgreSQL documentation - Include SQL commands to clean (drop) databases before - recreating them. DROP commands for roles and - tablespaces are added as well. + Emit SQL commands to DROP all the dumped + databases, roles, and tablespaces before recreating them. + This option is useful when the restore is to overwrite an existing + cluster. If any of the objects do not exist in the destination + cluster, ignorable error messages will be reported during + restore, unless is also specified. @@ -324,9 +327,11 @@ PostgreSQL documentation - Use conditional commands (i.e., add an IF EXISTS - clause) to drop databases and other objects. This option is not valid - unless is also specified. + Use DROP ... IF EXISTS commands to drop objects + in mode. This suppresses does not + exist errors that might otherwise be reported. This + option is not valid unless is also + specified. diff --git a/doc/src/sgml/ref/pg_restore.sgml b/doc/src/sgml/ref/pg_restore.sgml index 47bd7dbda06..a81583191c1 100644 --- a/doc/src/sgml/ref/pg_restore.sgml +++ b/doc/src/sgml/ref/pg_restore.sgml @@ -111,10 +111,12 @@ PostgreSQL documentation - Clean (drop) database objects before recreating them. - (Unless is used, - this might generate some harmless error messages, if any objects - were not present in the destination database.) + Before restoring database objects, issue commands + to DROP all the objects that will be restored. + This option is useful for overwriting an existing database. + If any of the objects do not exist in the destination database, + ignorable error messages will be reported, + unless is also specified. @@ -580,9 +582,11 @@ PostgreSQL documentation - Use conditional commands (i.e., add an IF EXISTS - clause) to drop database objects. This option is not valid - unless is also specified. + Use DROP ... IF EXISTS commands to drop objects + in mode. This suppresses does not + exist errors that might otherwise be reported. This + option is not valid unless is also + specified. From f4f9958a06cb17c869a5cca79537a937c82d372c Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 29 Sep 2023 14:07:30 -0400 Subject: [PATCH 217/317] Suppress macOS warnings about duplicate libraries in link commands. As of Xcode 15 (macOS Sonoma), the linker complains about duplicate references to the same library. We see warnings about libpgport and libpgcommon being duplicated in many client executables. This is a consequence of the hack introduced in commit 6b7ef076b to list libpgport before libpq while not removing it from $(LIBS). (Commit 8396447cd later applied the same rule to libpgcommon.) The concern in 6b7ef076b was to ensure that the client executable wouldn't unintentionally depend on pgport functions from libpq. That concern is obsolete on any platform for which we can do symbol export control, because if we can then the pgport functions in libpq won't be exposed anyway. Hence, we can fix this problem by just removing libpgport and libpgcommon from $(libpq_pgport), and letting clients depend on the occurrences in $(LIBS). In the back branches, do that only on macOS (which we know has symbol export control). In HEAD, let's be more aggressive and remove the extra libraries everywhere. The only still-supported platforms that lack export control are MinGW/Cygwin, and it doesn't seem worth sweating over ABI stability details for those (or if somebody does care, it'd probably be possible to perform symbol export control for those too). As well as being simpler, this might give some microscopic improvement in build time. The meson build system is not changed here, as it doesn't have this particular disease, though it does have some related issues that we'll fix separately. Discussion: https://postgr.es/m/467042.1695766998@sss.pgh.pa.us --- src/Makefile.global.in | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/src/Makefile.global.in b/src/Makefile.global.in index 974b1dfef9e..cc4dc6de91e 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -586,19 +586,32 @@ endif libpq = -L$(libpq_builddir) -lpq # libpq_pgport is for use by client executables (not libraries) that use libpq. -# We force clients to pull symbols from the non-shared libraries libpgport +# We want clients to pull symbols from the non-shared libraries libpgport # and libpgcommon rather than pulling some libpgport symbols from libpq just # because libpq uses those functions too. This makes applications less -# dependent on changes in libpq's usage of pgport (on platforms where we -# don't have symbol export control for libpq). To do this we link to +# dependent on changes in libpq's usage of pgport. To do this we link to # pgport before libpq. This does cause duplicate -lpgport's to appear -# on client link lines, since that also appears in $(LIBS). +# on client link lines, since that also appears in $(LIBS). On platforms +# where we have symbol export control for libpq, the whole exercise is +# unnecessary because libpq won't expose any of these symbols. Currently, +# only macOS warns about duplicate library references, so we only suppress +# the duplicates on macOS. +ifeq ($(PORTNAME),darwin) +libpq_pgport = $(libpq) +else ifdef PGXS +libpq_pgport = -L$(libdir) -lpgcommon -lpgport $(libpq) +else +libpq_pgport = -L$(top_builddir)/src/common -lpgcommon -L$(top_builddir)/src/port -lpgport $(libpq) +endif + # libpq_pgport_shlib is the same idea, but for use in client shared libraries. +# We need those clients to use the shlib variants. (Ideally, users of this +# macro would strip libpgport and libpgcommon from $(LIBS), but no harm is +# done if they don't, since they will have satisfied all their references +# from these libraries.) ifdef PGXS -libpq_pgport = -L$(libdir) -lpgcommon -lpgport $(libpq) libpq_pgport_shlib = -L$(libdir) -lpgcommon_shlib -lpgport_shlib $(libpq) else -libpq_pgport = -L$(top_builddir)/src/common -lpgcommon -L$(top_builddir)/src/port -lpgport $(libpq) libpq_pgport_shlib = -L$(top_builddir)/src/common -lpgcommon_shlib -L$(top_builddir)/src/port -lpgport_shlib $(libpq) endif From 4c8750617be7344eac6cbe9318cd0314394c524c Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Fri, 29 Sep 2023 14:15:57 -0400 Subject: [PATCH 218/317] doc: PG 16 relnotes: change GRANT GROUP item to ALTER GROUP Reported-by: TAKATSUKA Haruka Discussion: https://postgr.es/m/18137-866ccb684317745f@postgresql.org Backpatch-through: 16 only --- doc/src/sgml/release-16.sgml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/sgml/release-16.sgml b/doc/src/sgml/release-16.sgml index 47b9960f5d9..ff518518979 100644 --- a/doc/src/sgml/release-16.sgml +++ b/doc/src/sgml/release-16.sgml @@ -967,8 +967,8 @@ Author: Robert Haas - Allow GRANT group_name TO - user_name to be performed with ADMIN + Allow ALTER GROUP group_name + ADD USER user_name to be performed with ADMIN OPTION (Robert Haas) From 5cc5f159fe6855b5088bf4d622e7b1b46e1a5cbc Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Fri, 29 Sep 2023 14:32:16 -0400 Subject: [PATCH 219/317] doc: fix link to ALTER GROUP Fix for commit 2882d1f31a. Reported-by: Tom Lane Discussion: https://postgr.es/m/1388368.1696011440@sss.pgh.pa.us Backpatch-through: 16 only --- doc/src/sgml/release-16.sgml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/sgml/release-16.sgml b/doc/src/sgml/release-16.sgml index ff518518979..2bd88353c67 100644 --- a/doc/src/sgml/release-16.sgml +++ b/doc/src/sgml/release-16.sgml @@ -967,7 +967,7 @@ Author: Robert Haas - Allow ALTER GROUP group_name + Allow ALTER GROUP group_name ADD USER user_name to be performed with ADMIN OPTION (Robert Haas) From 996aaca5e0aff9ba7d30d91a1c235f580a98258a Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 29 Sep 2023 20:20:57 -0400 Subject: [PATCH 220/317] Remove environment sensitivity in pl/tcl regression test. Add "-gmt 1" to our test invocations of the Tcl "clock" command, so that they do not consult the timezone environment. While it doesn't really matter which timezone is used here, it does matter that the command not fall over entirely. We've now discovered that at least on FreeBSD, "clock scan" will fail if /etc/localtime is missing. It seems worth making the test insensitive to that. Per Tomas Vondras' buildfarm animal dikkop. Thanks to Thomas Munro for the diagnosis. Discussion: https://postgr.es/m/316d304a-1dcd-cea1-3d6c-27f794727a06@enterprisedb.com --- src/pl/tcl/expected/pltcl_setup.out | 2 +- src/pl/tcl/sql/pltcl_setup.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pl/tcl/expected/pltcl_setup.out b/src/pl/tcl/expected/pltcl_setup.out index ed809f02bfb..a8fdcf31256 100644 --- a/src/pl/tcl/expected/pltcl_setup.out +++ b/src/pl/tcl/expected/pltcl_setup.out @@ -119,7 +119,7 @@ CREATE OPERATOR CLASS tcl_int4_ops -- for initialization problems. -- create function tcl_date_week(int4,int4,int4) returns text as $$ - return [clock format [clock scan "$2/$3/$1"] -format "%U"] + return [clock format [clock scan "$2/$3/$1" -gmt 1] -format "%U" -gmt 1] $$ language pltcl immutable; select tcl_date_week(2010,1,26); tcl_date_week diff --git a/src/pl/tcl/sql/pltcl_setup.sql b/src/pl/tcl/sql/pltcl_setup.sql index e9f59989b5b..b9892ea4f76 100644 --- a/src/pl/tcl/sql/pltcl_setup.sql +++ b/src/pl/tcl/sql/pltcl_setup.sql @@ -142,7 +142,7 @@ CREATE OPERATOR CLASS tcl_int4_ops -- for initialization problems. -- create function tcl_date_week(int4,int4,int4) returns text as $$ - return [clock format [clock scan "$2/$3/$1"] -format "%U"] + return [clock format [clock scan "$2/$3/$1" -gmt 1] -format "%U" -gmt 1] $$ language pltcl immutable; select tcl_date_week(2010,1,26); From ad4e3fd04839e30e4bd2ef6d2ab1539be336258e Mon Sep 17 00:00:00 2001 From: Dean Rasheed Date: Sat, 30 Sep 2023 10:54:29 +0100 Subject: [PATCH 221/317] Fix EvalPlanQual rechecking during MERGE. Under some circumstances, concurrent MERGE operations could lead to inconsistent results, that varied according the plan chosen. This was caused by a lack of rowmarks on the source relation, which meant that EvalPlanQual rechecking was not guaranteed to return the same source tuples when re-running the join query. Fix by ensuring that preprocess_rowmarks() sets up PlanRowMarks for all non-target relations used in MERGE, in the same way that it does for UPDATE and DELETE. Per bug #18103. Back-patch to v15, where MERGE was introduced. Dean Rasheed, reviewed by Richard Guo. Discussion: https://postgr.es/m/18103-c4386baab8e355e3%40postgresql.org --- src/backend/executor/README | 12 +- src/backend/executor/nodeModifyTable.c | 6 +- src/backend/optimizer/plan/planner.c | 5 +- src/include/nodes/execnodes.h | 4 +- src/include/nodes/plannodes.h | 4 +- src/test/isolation/expected/merge-join.out | 148 +++++++++++++++++++++ src/test/isolation/isolation_schedule | 1 + src/test/isolation/specs/merge-join.spec | 45 +++++++ src/test/regress/expected/merge.out | 8 +- src/test/regress/expected/with.out | 42 +++--- 10 files changed, 237 insertions(+), 38 deletions(-) create mode 100644 src/test/isolation/expected/merge-join.out create mode 100644 src/test/isolation/specs/merge-join.spec diff --git a/src/backend/executor/README b/src/backend/executor/README index 17775a49e26..642d63be613 100644 --- a/src/backend/executor/README +++ b/src/backend/executor/README @@ -26,7 +26,7 @@ unnecessarily (for example, Sort does not rescan its input if no parameters of the input have changed, since it can just reread its stored sorted data). For a SELECT, it is only necessary to deliver the top-level result tuples -to the client. For INSERT/UPDATE/DELETE, the actual table modification +to the client. For INSERT/UPDATE/DELETE/MERGE, the actual table modification operations happen in a top-level ModifyTable plan node. If the query includes a RETURNING clause, the ModifyTable node delivers the computed RETURNING rows as output, otherwise it returns nothing. Handling INSERT @@ -353,8 +353,8 @@ EvalPlanQual (READ COMMITTED Update Checking) For simple SELECTs, the executor need only pay attention to tuples that are valid according to the snapshot seen by the current transaction (ie, they were inserted by a previously committed transaction, and not deleted by any -previously committed transaction). However, for UPDATE and DELETE it is not -cool to modify or delete a tuple that's been modified by an open or +previously committed transaction). However, for UPDATE, DELETE, and MERGE it +is not cool to modify or delete a tuple that's been modified by an open or concurrently-committed transaction. If we are running in SERIALIZABLE isolation level then we just raise an error when this condition is seen to occur. In READ COMMITTED isolation level, we must work a lot harder. @@ -378,14 +378,14 @@ we're doing UPDATE). If no tuple is returned, then the modified tuple(s) fail the quals, so we ignore the current result tuple and continue the original query. -In UPDATE/DELETE, only the target relation needs to be handled this way. +In UPDATE/DELETE/MERGE, only the target relation needs to be handled this way. In SELECT FOR UPDATE, there may be multiple relations flagged FOR UPDATE, so we obtain lock on the current tuple version in each such relation before executing the recheck. It is also possible that there are relations in the query that are not -to be locked (they are neither the UPDATE/DELETE target nor specified to -be locked in SELECT FOR UPDATE/SHARE). When re-running the test query +to be locked (they are neither the UPDATE/DELETE/MERGE target nor specified +to be locked in SELECT FOR UPDATE/SHARE). When re-running the test query we want to use the same rows from these relations that were joined to the locked rows. For ordinary relations this can be implemented relatively cheaply by including the row TID in the join outputs and re-fetching that diff --git a/src/backend/executor/nodeModifyTable.c b/src/backend/executor/nodeModifyTable.c index 057f40bc443..20a957866de 100644 --- a/src/backend/executor/nodeModifyTable.c +++ b/src/backend/executor/nodeModifyTable.c @@ -4493,9 +4493,9 @@ ExecInitModifyTable(ModifyTable *node, EState *estate, int eflags) /* * If we have any secondary relations in an UPDATE or DELETE, they need to - * be treated like non-locked relations in SELECT FOR UPDATE, ie, the - * EvalPlanQual mechanism needs to be told about them. Locate the - * relevant ExecRowMarks. + * be treated like non-locked relations in SELECT FOR UPDATE, i.e., the + * EvalPlanQual mechanism needs to be told about them. This also goes for + * the source relations in a MERGE. Locate the relevant ExecRowMarks. */ arowmarks = NIL; foreach(l, node->rowMarks) diff --git a/src/backend/optimizer/plan/planner.c b/src/backend/optimizer/plan/planner.c index 7dc0a28ec85..38766142033 100644 --- a/src/backend/optimizer/plan/planner.c +++ b/src/backend/optimizer/plan/planner.c @@ -2262,11 +2262,12 @@ preprocess_rowmarks(PlannerInfo *root) else { /* - * We only need rowmarks for UPDATE, DELETE, or FOR [KEY] + * We only need rowmarks for UPDATE, DELETE, MERGE, or FOR [KEY] * UPDATE/SHARE. */ if (parse->commandType != CMD_UPDATE && - parse->commandType != CMD_DELETE) + parse->commandType != CMD_DELETE && + parse->commandType != CMD_MERGE) return; } diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h index 26e72501932..98f7221e0de 100644 --- a/src/include/nodes/execnodes.h +++ b/src/include/nodes/execnodes.h @@ -721,8 +721,8 @@ typedef struct EState * ExecRowMark - * runtime representation of FOR [KEY] UPDATE/SHARE clauses * - * When doing UPDATE, DELETE, or SELECT FOR [KEY] UPDATE/SHARE, we will have an - * ExecRowMark for each non-target relation in the query (except inheritance + * When doing UPDATE/DELETE/MERGE/SELECT FOR [KEY] UPDATE/SHARE, we will have + * an ExecRowMark for each non-target relation in the query (except inheritance * parent RTEs, which can be ignored at runtime). Virtual relations such as * subqueries-in-FROM will have an ExecRowMark with relation == NULL. See * PlanRowMark for details about most of the fields. In addition to fields diff --git a/src/include/nodes/plannodes.h b/src/include/nodes/plannodes.h index 16e172c7c71..9ee0103c945 100644 --- a/src/include/nodes/plannodes.h +++ b/src/include/nodes/plannodes.h @@ -1310,7 +1310,7 @@ typedef struct Limit * doing a separate remote query to lock each selected row is usually pretty * unappealing, so early locking remains a credible design choice for FDWs. * - * When doing UPDATE, DELETE, or SELECT FOR UPDATE/SHARE, we have to uniquely + * When doing UPDATE/DELETE/MERGE/SELECT FOR UPDATE/SHARE, we have to uniquely * identify all the source rows, not only those from the target relations, so * that we can perform EvalPlanQual rechecking at need. For plain tables we * can just fetch the TID, much as for a target relation; this case is @@ -1339,7 +1339,7 @@ typedef enum RowMarkType * PlanRowMark - * plan-time representation of FOR [KEY] UPDATE/SHARE clauses * - * When doing UPDATE, DELETE, or SELECT FOR UPDATE/SHARE, we create a separate + * When doing UPDATE/DELETE/MERGE/SELECT FOR UPDATE/SHARE, we create a separate * PlanRowMark node for each non-target relation in the query. Relations that * are not specified as FOR UPDATE/SHARE are marked ROW_MARK_REFERENCE (if * regular tables or supported foreign tables) or ROW_MARK_COPY (if not). diff --git a/src/test/isolation/expected/merge-join.out b/src/test/isolation/expected/merge-join.out new file mode 100644 index 00000000000..57f048c52e5 --- /dev/null +++ b/src/test/isolation/expected/merge-join.out @@ -0,0 +1,148 @@ +Parsed test spec with 2 sessions + +starting permutation: b1 m1 s1 c1 b2 m2 s2 c2 +step b1: BEGIN ISOLATION LEVEL READ COMMITTED; +step m1: MERGE INTO tgt USING src ON tgt.id = src.id + WHEN MATCHED THEN UPDATE SET val = src.val + WHEN NOT MATCHED THEN INSERT VALUES (src.id, src.val); +step s1: SELECT * FROM tgt; +id|val +--+--- + 1| 10 + 2| 20 + 3| 30 +(3 rows) + +step c1: COMMIT; +step b2: BEGIN ISOLATION LEVEL READ COMMITTED; +step m2: MERGE INTO tgt USING src ON tgt.id = src.id + WHEN MATCHED THEN UPDATE SET val = src.val + WHEN NOT MATCHED THEN INSERT VALUES (src.id, src.val); +step s2: SELECT * FROM tgt; +id|val +--+--- + 1| 10 + 2| 20 + 3| 30 +(3 rows) + +step c2: COMMIT; + +starting permutation: b1 b2 m1 hj ex m2 c1 c2 s1 +step b1: BEGIN ISOLATION LEVEL READ COMMITTED; +step b2: BEGIN ISOLATION LEVEL READ COMMITTED; +step m1: MERGE INTO tgt USING src ON tgt.id = src.id + WHEN MATCHED THEN UPDATE SET val = src.val + WHEN NOT MATCHED THEN INSERT VALUES (src.id, src.val); +step hj: SET LOCAL enable_mergejoin = off; SET LOCAL enable_nestloop = off; +step ex: EXPLAIN (verbose, costs off) + MERGE INTO tgt USING src ON tgt.id = src.id + WHEN MATCHED THEN UPDATE SET val = src.val + WHEN NOT MATCHED THEN INSERT VALUES (src.id, src.val); +QUERY PLAN +--------------------------------------------------- +Merge on public.tgt + -> Hash Left Join + Output: tgt.ctid, src.val, src.id, src.ctid + Inner Unique: true + Hash Cond: (src.id = tgt.id) + -> Seq Scan on public.src + Output: src.val, src.id, src.ctid + -> Hash + Output: tgt.ctid, tgt.id + -> Seq Scan on public.tgt + Output: tgt.ctid, tgt.id +(11 rows) + +step m2: MERGE INTO tgt USING src ON tgt.id = src.id + WHEN MATCHED THEN UPDATE SET val = src.val + WHEN NOT MATCHED THEN INSERT VALUES (src.id, src.val); +step c1: COMMIT; +step m2: <... completed> +step c2: COMMIT; +step s1: SELECT * FROM tgt; +id|val +--+--- + 1| 10 + 2| 20 + 3| 30 +(3 rows) + + +starting permutation: b1 b2 m1 mj ex m2 c1 c2 s1 +step b1: BEGIN ISOLATION LEVEL READ COMMITTED; +step b2: BEGIN ISOLATION LEVEL READ COMMITTED; +step m1: MERGE INTO tgt USING src ON tgt.id = src.id + WHEN MATCHED THEN UPDATE SET val = src.val + WHEN NOT MATCHED THEN INSERT VALUES (src.id, src.val); +step mj: SET LOCAL enable_hashjoin = off; SET LOCAL enable_nestloop = off; +step ex: EXPLAIN (verbose, costs off) + MERGE INTO tgt USING src ON tgt.id = src.id + WHEN MATCHED THEN UPDATE SET val = src.val + WHEN NOT MATCHED THEN INSERT VALUES (src.id, src.val); +QUERY PLAN +--------------------------------------------------- +Merge on public.tgt + -> Merge Left Join + Output: tgt.ctid, src.val, src.id, src.ctid + Inner Unique: true + Merge Cond: (src.id = tgt.id) + -> Index Scan using src_pkey on public.src + Output: src.val, src.id, src.ctid + -> Index Scan using tgt_pkey on public.tgt + Output: tgt.ctid, tgt.id +(9 rows) + +step m2: MERGE INTO tgt USING src ON tgt.id = src.id + WHEN MATCHED THEN UPDATE SET val = src.val + WHEN NOT MATCHED THEN INSERT VALUES (src.id, src.val); +step c1: COMMIT; +step m2: <... completed> +step c2: COMMIT; +step s1: SELECT * FROM tgt; +id|val +--+--- + 1| 10 + 2| 20 + 3| 30 +(3 rows) + + +starting permutation: b1 b2 m1 nl ex m2 c1 c2 s1 +step b1: BEGIN ISOLATION LEVEL READ COMMITTED; +step b2: BEGIN ISOLATION LEVEL READ COMMITTED; +step m1: MERGE INTO tgt USING src ON tgt.id = src.id + WHEN MATCHED THEN UPDATE SET val = src.val + WHEN NOT MATCHED THEN INSERT VALUES (src.id, src.val); +step nl: SET LOCAL enable_hashjoin = off; SET LOCAL enable_mergejoin = off; +step ex: EXPLAIN (verbose, costs off) + MERGE INTO tgt USING src ON tgt.id = src.id + WHEN MATCHED THEN UPDATE SET val = src.val + WHEN NOT MATCHED THEN INSERT VALUES (src.id, src.val); +QUERY PLAN +--------------------------------------------------- +Merge on public.tgt + -> Nested Loop Left Join + Output: tgt.ctid, src.val, src.id, src.ctid + Inner Unique: true + -> Seq Scan on public.src + Output: src.val, src.id, src.ctid + -> Index Scan using tgt_pkey on public.tgt + Output: tgt.ctid, tgt.id + Index Cond: (tgt.id = src.id) +(9 rows) + +step m2: MERGE INTO tgt USING src ON tgt.id = src.id + WHEN MATCHED THEN UPDATE SET val = src.val + WHEN NOT MATCHED THEN INSERT VALUES (src.id, src.val); +step c1: COMMIT; +step m2: <... completed> +step c2: COMMIT; +step s1: SELECT * FROM tgt; +id|val +--+--- + 1| 10 + 2| 20 + 3| 30 +(3 rows) + diff --git a/src/test/isolation/isolation_schedule b/src/test/isolation/isolation_schedule index 4fc56ae99c9..b2be88ead1d 100644 --- a/src/test/isolation/isolation_schedule +++ b/src/test/isolation/isolation_schedule @@ -51,6 +51,7 @@ test: merge-insert-update test: merge-delete test: merge-update test: merge-match-recheck +test: merge-join test: delete-abort-savept test: delete-abort-savept-2 test: aborted-keyrevoke diff --git a/src/test/isolation/specs/merge-join.spec b/src/test/isolation/specs/merge-join.spec new file mode 100644 index 00000000000..e33a02ccabc --- /dev/null +++ b/src/test/isolation/specs/merge-join.spec @@ -0,0 +1,45 @@ +# MERGE JOIN +# +# This test checks the EPQ recheck mechanism during MERGE when joining to a +# source table using different join methods, per bug #18103 + +setup +{ + CREATE TABLE src (id int PRIMARY KEY, val int); + CREATE TABLE tgt (id int PRIMARY KEY, val int); + INSERT INTO src SELECT x, x*10 FROM generate_series(1,3) g(x); + INSERT INTO tgt SELECT x, x FROM generate_series(1,3) g(x); +} + +teardown +{ + DROP TABLE src, tgt; +} + +session s1 +step b1 { BEGIN ISOLATION LEVEL READ COMMITTED; } +step m1 { MERGE INTO tgt USING src ON tgt.id = src.id + WHEN MATCHED THEN UPDATE SET val = src.val + WHEN NOT MATCHED THEN INSERT VALUES (src.id, src.val); } +step s1 { SELECT * FROM tgt; } +step c1 { COMMIT; } + +session s2 +step b2 { BEGIN ISOLATION LEVEL READ COMMITTED; } +step hj { SET LOCAL enable_mergejoin = off; SET LOCAL enable_nestloop = off; } +step mj { SET LOCAL enable_hashjoin = off; SET LOCAL enable_nestloop = off; } +step nl { SET LOCAL enable_hashjoin = off; SET LOCAL enable_mergejoin = off; } +step ex { EXPLAIN (verbose, costs off) + MERGE INTO tgt USING src ON tgt.id = src.id + WHEN MATCHED THEN UPDATE SET val = src.val + WHEN NOT MATCHED THEN INSERT VALUES (src.id, src.val); } +step m2 { MERGE INTO tgt USING src ON tgt.id = src.id + WHEN MATCHED THEN UPDATE SET val = src.val + WHEN NOT MATCHED THEN INSERT VALUES (src.id, src.val); } +step s2 { SELECT * FROM tgt; } +step c2 { COMMIT; } + +permutation b1 m1 s1 c1 b2 m2 s2 c2 +permutation b1 b2 m1 hj ex m2 c1 c2 s1 +permutation b1 b2 m1 mj ex m2 c1 c2 s1 +permutation b1 b2 m1 nl ex m2 c1 c2 s1 diff --git a/src/test/regress/expected/merge.out b/src/test/regress/expected/merge.out index 133d42117c0..28a6d0ba98b 100644 --- a/src/test/regress/expected/merge.out +++ b/src/test/regress/expected/merge.out @@ -1829,11 +1829,11 @@ MERGE INTO pa_target t USING pa_source s ON t.tid = s.sid Merge on public.pa_target t Merge on public.pa_targetp t_1 -> Hash Left Join - Output: s.sid, t_1.tableoid, t_1.ctid + Output: s.sid, s.ctid, t_1.tableoid, t_1.ctid Inner Unique: true Hash Cond: (s.sid = t_1.tid) -> Seq Scan on public.pa_source s - Output: s.sid + Output: s.sid, s.ctid -> Hash Output: t_1.tid, t_1.tableoid, t_1.ctid -> Seq Scan on public.pa_targetp t_1 @@ -1859,11 +1859,11 @@ MERGE INTO pa_target t USING pa_source s ON t.tid = s.sid -------------------------------------------- Merge on public.pa_target t -> Hash Left Join - Output: s.sid, t.ctid + Output: s.sid, s.ctid, t.ctid Inner Unique: true Hash Cond: (s.sid = t.tid) -> Seq Scan on public.pa_source s - Output: s.sid + Output: s.sid, s.ctid -> Hash Output: t.tid, t.ctid -> Result diff --git a/src/test/regress/expected/with.out b/src/test/regress/expected/with.out index 88e57a2c877..a01efa50a51 100644 --- a/src/test/regress/expected/with.out +++ b/src/test/regress/expected/with.out @@ -3015,28 +3015,30 @@ WITH cte_basic AS MATERIALIZED (SELECT 1 a, 'cte_basic val' b) MERGE INTO m USING (select 0 k, 'merge source SubPlan' v offset 0) o ON m.k=o.k WHEN MATCHED THEN UPDATE SET v = (SELECT b || ' merge update' FROM cte_basic WHERE cte_basic.a = m.k LIMIT 1) WHEN NOT MATCHED THEN INSERT VALUES(o.k, o.v); - QUERY PLAN ----------------------------------------------------------------- + QUERY PLAN +------------------------------------------------------------------- Merge on public.m CTE cte_basic -> Result Output: 1, 'cte_basic val'::text -> Hash Right Join - Output: m.ctid, (0), ('merge source SubPlan'::text) - Hash Cond: (m.k = (0)) + Output: m.ctid, o.k, o.v, o.* + Hash Cond: (m.k = o.k) -> Seq Scan on public.m Output: m.ctid, m.k -> Hash - Output: (0), ('merge source SubPlan'::text) - -> Result - Output: 0, 'merge source SubPlan'::text + Output: o.k, o.v, o.* + -> Subquery Scan on o + Output: o.k, o.v, o.* + -> Result + Output: 0, 'merge source SubPlan'::text SubPlan 2 -> Limit Output: ((cte_basic.b || ' merge update'::text)) -> CTE Scan on cte_basic Output: (cte_basic.b || ' merge update'::text) Filter: (cte_basic.a = m.k) -(19 rows) +(21 rows) -- InitPlan WITH cte_init AS MATERIALIZED (SELECT 1 a, 'cte_init val' b) @@ -3056,8 +3058,8 @@ WITH cte_init AS MATERIALIZED (SELECT 1 a, 'cte_init val' b) MERGE INTO m USING (select 1 k, 'merge source InitPlan' v offset 0) o ON m.k=o.k WHEN MATCHED THEN UPDATE SET v = (SELECT b || ' merge update' FROM cte_init WHERE a = 1 LIMIT 1) WHEN NOT MATCHED THEN INSERT VALUES(o.k, o.v); - QUERY PLAN ---------------------------------------------------------------- + QUERY PLAN +-------------------------------------------------------------------- Merge on public.m CTE cte_init -> Result @@ -3069,15 +3071,17 @@ WHEN NOT MATCHED THEN INSERT VALUES(o.k, o.v); Output: (cte_init.b || ' merge update'::text) Filter: (cte_init.a = 1) -> Hash Right Join - Output: m.ctid, (1), ('merge source InitPlan'::text) - Hash Cond: (m.k = (1)) + Output: m.ctid, o.k, o.v, o.* + Hash Cond: (m.k = o.k) -> Seq Scan on public.m Output: m.ctid, m.k -> Hash - Output: (1), ('merge source InitPlan'::text) - -> Result - Output: 1, 'merge source InitPlan'::text -(19 rows) + Output: o.k, o.v, o.* + -> Subquery Scan on o + Output: o.k, o.v, o.* + -> Result + Output: 1, 'merge source InitPlan'::text +(21 rows) -- MERGE source comes from CTE: WITH merge_source_cte AS MATERIALIZED (SELECT 15 a, 'merge_source_cte val' b) @@ -3111,14 +3115,14 @@ WHEN NOT MATCHED THEN INSERT VALUES(o.a, o.b || (SELECT merge_source_cte.*::text -> CTE Scan on merge_source_cte merge_source_cte_2 Output: ((merge_source_cte_2.*)::text || ' merge insert'::text) -> Hash Right Join - Output: m.ctid, merge_source_cte.a, merge_source_cte.b + Output: m.ctid, merge_source_cte.a, merge_source_cte.b, merge_source_cte.* Hash Cond: (m.k = merge_source_cte.a) -> Seq Scan on public.m Output: m.ctid, m.k -> Hash - Output: merge_source_cte.a, merge_source_cte.b + Output: merge_source_cte.a, merge_source_cte.b, merge_source_cte.* -> CTE Scan on merge_source_cte - Output: merge_source_cte.a, merge_source_cte.b + Output: merge_source_cte.a, merge_source_cte.b, merge_source_cte.* (20 rows) DROP TABLE m; From 7fd15ee8a5a884249c4498b2aa7a25db5470faee Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Sat, 30 Sep 2023 17:07:24 +0300 Subject: [PATCH 222/317] Fix briefly showing old progress stats for ANALYZE on inherited tables. ANALYZE on a table with inheritance children analyzes all the child tables in a loop. When stepping to next child table, it updated the child rel ID value in the command progress stats, but did not reset the 'sample_blks_total' and 'sample_blks_scanned' counters. acquire_sample_rows() updates 'sample_blks_total' as soon as the scan starts and 'sample_blks_scanned' after processing the first block, but until then, pg_stat_progress_analyze would display a bogus combination of the new child table relid with old counter values from the previously processed child table. Fix by resetting 'sample_blks_total' and 'sample_blks_scanned' to zero at the same time that 'current_child_table_relid' is updated. Backpatch to v13, where pg_stat_progress_analyze view was introduced. Reported-by: Justin Pryzby Discussion: https://www.postgresql.org/message-id/20230122162345.GP13860%40telsasoft.com --- src/backend/commands/analyze.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/backend/commands/analyze.c b/src/backend/commands/analyze.c index 7b2fff09fc9..fb5a47daf37 100644 --- a/src/backend/commands/analyze.c +++ b/src/backend/commands/analyze.c @@ -1534,8 +1534,25 @@ acquire_inherited_sample_rows(Relation onerel, int elevel, AcquireSampleRowsFunc acquirefunc = acquirefuncs[i]; double childblocks = relblocks[i]; - pgstat_progress_update_param(PROGRESS_ANALYZE_CURRENT_CHILD_TABLE_RELID, - RelationGetRelid(childrel)); + /* + * Report progress. The sampling function will normally report blocks + * done/total, but we need to reset them to 0 here, so that they don't + * show an old value until that. + */ + { + const int progress_index[] = { + PROGRESS_ANALYZE_CURRENT_CHILD_TABLE_RELID, + PROGRESS_ANALYZE_BLOCKS_DONE, + PROGRESS_ANALYZE_BLOCKS_TOTAL + }; + const int64 progress_vals[] = { + RelationGetRelid(childrel), + 0, + 0, + }; + + pgstat_progress_update_multi_param(3, progress_index, progress_vals); + } if (childblocks > 0) { From 4d44afb25d27940ee4b8dd601cf830b522663389 Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Sat, 30 Sep 2023 12:10:15 -0700 Subject: [PATCH 223/317] meson: macos: Correct -exported_symbols_list syntax for Sonoma compat -exported_symbols_list=... works on Ventura and earlier, but not on Sonoma. The easiest way to fix it is to -Wl,-exported_symbols_list,@0@ which actually seems more appropriate anyway, it's obviously a linker argument. It is easier to use the -Wl,, syntax than passing multiple arguments, due to the way the export_fmt is used (a single string that's formatted), but if it turns out to be necessary, we can go for multiple arguments as well. Reviewed-by: Tom Lane Discussion: https://postgr.es/m/20230928222248.jw6s7yktpfsfczha@alap3.anarazel.de Backpatch: 16-, where the meson based buildsystem was added --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 38e4f03e602..9e01066ef14 100644 --- a/meson.build +++ b/meson.build @@ -224,7 +224,7 @@ elif host_system == 'darwin' library_path_var = 'DYLD_LIBRARY_PATH' export_file_format = 'darwin' - export_fmt = '-exported_symbols_list=@0@' + export_fmt = '-Wl,-exported_symbols_list,@0@' mod_link_args_fmt = ['-bundle_loader', '@0@'] mod_link_with_dir = 'bindir' From c57a068be7f1f7a5ce342b7725bf81a8439f487d Mon Sep 17 00:00:00 2001 From: Andrew Dunstan Date: Sun, 1 Oct 2023 10:18:41 -0400 Subject: [PATCH 224/317] Only evaluate default values as required when doing COPY FROM Commit 9f8377f7a2 was a little too eager in fetching default values. Normally this would not matter, but if the default value is not valid for the type (e.g. a varchar that's too long) it caused an unnecessary error. Complaint and fix from Laurenz Albe Backpatch to release 16. Discussion: https://postgr.es/m/75a7b7483aeb331aa017328d606d568fc715b90d.camel@cybertec.at --- src/backend/commands/copyfrom.c | 9 ++++++++- src/test/regress/expected/copy.out | 17 +++++++++++++++++ src/test/regress/sql/copy.sql | 15 +++++++++++++++ 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c index b47cb5c66da..65b3e56cd49 100644 --- a/src/backend/commands/copyfrom.c +++ b/src/backend/commands/copyfrom.c @@ -1569,7 +1569,14 @@ BeginCopyFrom(ParseState *pstate, /* Get default info if available */ defexprs[attnum - 1] = NULL; - if (!att->attgenerated) + /* + * We only need the default values for columns that do not appear in + * the column list, unless the DEFAULT option was given. We never need + * default values for generated columns. + */ + if ((cstate->opts.default_print != NULL || + !list_member_int(cstate->attnumlist, attnum)) && + !att->attgenerated) { Expr *defexpr = (Expr *) build_column_default(cstate->rel, attnum); diff --git a/src/test/regress/expected/copy.out b/src/test/regress/expected/copy.out index 8a8bf43fdea..a5912c13a8c 100644 --- a/src/test/regress/expected/copy.out +++ b/src/test/regress/expected/copy.out @@ -240,3 +240,20 @@ SELECT * FROM header_copytest ORDER BY a; (5 rows) drop table header_copytest; +-- test COPY with overlong column defaults +create temp table oversized_column_default ( + col1 varchar(5) DEFAULT 'more than 5 chars', + col2 varchar(5)); +-- normal COPY should work +copy oversized_column_default from stdin; +-- error if the column is excluded +copy oversized_column_default (col2) from stdin; +ERROR: value too long for type character varying(5) +\. +invalid command \. +-- error if the DEFAULT option is given +copy oversized_column_default from stdin (default ''); +ERROR: value too long for type character varying(5) +\. +invalid command \. +drop table oversized_column_default; diff --git a/src/test/regress/sql/copy.sql b/src/test/regress/sql/copy.sql index f9da7b1508f..7fdb26d14f3 100644 --- a/src/test/regress/sql/copy.sql +++ b/src/test/regress/sql/copy.sql @@ -268,3 +268,18 @@ a c b SELECT * FROM header_copytest ORDER BY a; drop table header_copytest; + +-- test COPY with overlong column defaults +create temp table oversized_column_default ( + col1 varchar(5) DEFAULT 'more than 5 chars', + col2 varchar(5)); +-- normal COPY should work +copy oversized_column_default from stdin; +\. +-- error if the column is excluded +copy oversized_column_default (col2) from stdin; +\. +-- error if the DEFAULT option is given +copy oversized_column_default from stdin (default ''); +\. +drop table oversized_column_default; From 8546c0a9842600544cc5d12bf0d87e3ec1112b18 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 1 Oct 2023 12:09:26 -0400 Subject: [PATCH 225/317] In COPY FROM, fail cleanly when unsupported encoding conversion is needed. In recent releases, such cases fail with "cache lookup failed for function 0" rather than complaining that the conversion function doesn't exist as prior versions did. Seems to be a consequence of sloppy refactoring in commit f82de5c46. Add the missing error check. Per report from Pierre Fortin. Back-patch to v14 where the oversight crept in. Discussion: https://postgr.es/m/20230929163739.3bea46e5.pfortin@pfortin.com --- src/backend/commands/copyfrom.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c index 65b3e56cd49..81aef4aca8a 100644 --- a/src/backend/commands/copyfrom.c +++ b/src/backend/commands/copyfrom.c @@ -1481,6 +1481,12 @@ BeginCopyFrom(ParseState *pstate, cstate->need_transcoding = true; cstate->conversion_proc = FindDefaultConversionProc(cstate->file_encoding, GetDatabaseEncoding()); + if (!OidIsValid(cstate->conversion_proc)) + ereport(ERROR, + (errcode(ERRCODE_UNDEFINED_FUNCTION), + errmsg("default conversion function for encoding \"%s\" to \"%s\" does not exist", + pg_encoding_to_char(cstate->file_encoding), + pg_encoding_to_char(GetDatabaseEncoding())))); } cstate->copy_src = COPY_FILE; /* default */ From 3ca3996bac1bcdc08cc86bd966e6dab0fb7e4f9c Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 1 Oct 2023 13:16:47 -0400 Subject: [PATCH 226/317] Fix datalen calculation in tsvectorrecv(). After receiving position data for a lexeme, tsvectorrecv() advanced its "datalen" value by (npos+1)*sizeof(WordEntry) where the correct calculation is (npos+1)*sizeof(WordEntryPos). This accidentally failed to render the constructed tsvector invalid, but it did result in leaving some wasted space approximately equal to the space consumed by the position data. That could have several bad effects: * Disk space is wasted if the received tsvector is stored into a table as-is. * A legal tsvector could get rejected with "maximum total lexeme length exceeded" if the extra space pushes it over the MAXSTRPOS limit. * In edge cases, the finished tsvector could be assigned a length larger than the allocated size of its palloc chunk, conceivably leading to SIGSEGV when the tsvector gets copied somewhere else. The odds of a field failure of this sort seem low, though valgrind testing could probably have found this. While we're here, let's express the calculation as "sizeof(uint16) + npos * sizeof(WordEntryPos)" to avoid the type pun implicit in the "npos + 1" formulation. It's not wrong given that WordEntryPos had better be 2 bytes to avoid padding problems, but it seems clearer this way. Report and patch by Denis Erokhin. Back-patch to all supported versions. Discussion: https://postgr.es/m/009801d9f2d9$f29730c0$d7c59240$@datagile.ru --- src/backend/utils/adt/tsvector.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/utils/adt/tsvector.c b/src/backend/utils/adt/tsvector.c index 0e66f362c30..dff0bfe41fc 100644 --- a/src/backend/utils/adt/tsvector.c +++ b/src/backend/utils/adt/tsvector.c @@ -498,7 +498,7 @@ tsvectorrecv(PG_FUNCTION_ARGS) * But make sure the buffer is large enough first. */ while (hdrlen + SHORTALIGN(datalen + lex_len) + - (npos + 1) * sizeof(WordEntryPos) >= len) + sizeof(uint16) + npos * sizeof(WordEntryPos) >= len) { len *= 2; vec = (TSVector) repalloc(vec, len); @@ -544,7 +544,7 @@ tsvectorrecv(PG_FUNCTION_ARGS) elog(ERROR, "position information is misordered"); } - datalen += (npos + 1) * sizeof(WordEntry); + datalen += sizeof(uint16) + npos * sizeof(WordEntryPos); } } From 8e335b0b9014af2b2a5cac67a7a928510836a31d Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Mon, 2 Oct 2023 12:39:35 +0300 Subject: [PATCH 227/317] Flush WAL stats in bgwriter bgwriter can write out WAL, but did not flush the WAL pgstat counters, so the writes were not seen in pg_stat_wal. Back-patch to v14, where pg_stat_wal was introduced. Author: Nazir Bilal Yavuz Reviewed-by: Matthias van de Meent, Kyotaro Horiguchi Discussion: https://www.postgresql.org/message-id/CAN55FZ2FPYngovZstr%3D3w1KSEHe6toiZwrurbhspfkXe5UDocg%40mail.gmail.com --- src/backend/postmaster/bgwriter.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/backend/postmaster/bgwriter.c b/src/backend/postmaster/bgwriter.c index caad642ec93..f2e4f23d9fc 100644 --- a/src/backend/postmaster/bgwriter.c +++ b/src/backend/postmaster/bgwriter.c @@ -241,6 +241,7 @@ BackgroundWriterMain(void) /* Report pending statistics to the cumulative stats system */ pgstat_report_bgwriter(); + pgstat_report_wal(true); if (FirstCallSinceLastCheckpoint()) { From 3a97a8b8c62c3d4b0465588d3064b1879ec1d654 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 2 Oct 2023 13:27:51 -0400 Subject: [PATCH 228/317] Fix omission of column-level privileges in selective pg_restore. In a selective restore, ACLs for a table should be dumped if the table is selected to be dumped. However, if the table has both table-level and column-level ACLs, only the table-level ACL was restored. This happened because _tocEntryRequired assumed that an ACL could have only one dependency (the one on its table), and punted if there was more than one. But since commit ea9125304, column-level ACLs also depend on the table-level ACL if any, to ensure correct ordering in parallel restores. To fix, adjust the logic in _tocEntryRequired to ignore dependencies on ACLs. I extended a test case in 002_pg_dump.pl so that it purports to test for this; but in fact the test passes even without the fix. That's because this bug only manifests during a selective restore, while the scenarios 002_pg_dump.pl tests include only selective dumps. Perhaps somebody would like to extend the script so that it can test scenarios including selective restore, but I'm not touching that. Euler Taveira and Tom Lane, per report from Kong Man. Back-patch to all supported branches. Discussion: https://postgr.es/m/DM4PR11MB73976902DBBA10B1D652F9498B06A@DM4PR11MB7397.namprd11.prod.outlook.com --- src/bin/pg_dump/pg_backup_archiver.c | 24 +++++++++++++++++++++--- src/bin/pg_dump/t/002_pg_dump.pl | 10 ++++++---- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/src/bin/pg_dump/pg_backup_archiver.c b/src/bin/pg_dump/pg_backup_archiver.c index 39ebcfec326..ab351e457e0 100644 --- a/src/bin/pg_dump/pg_backup_archiver.c +++ b/src/bin/pg_dump/pg_backup_archiver.c @@ -2896,7 +2896,10 @@ _tocEntryRequired(TocEntry *te, teSection curSection, ArchiveHandle *AH) * TOC entry types only if their parent object is being restored. * Without selectivity options, we let through everything in the * archive. Note there may be such entries with no parent, eg - * non-default ACLs for built-in objects. + * non-default ACLs for built-in objects. Also, we make + * per-column ACLs additionally depend on the table's ACL if any + * to ensure correct restore order, so those dependencies should + * be ignored in this check. * * This code depends on the parent having been marked already, * which should be the case; if it isn't, perhaps due to @@ -2907,8 +2910,23 @@ _tocEntryRequired(TocEntry *te, teSection curSection, ArchiveHandle *AH) * But it's hard to tell which of their dependencies is the one to * consult. */ - if (te->nDeps != 1 || - TocIDRequired(AH, te->dependencies[0]) == 0) + bool dumpthis = false; + + for (int i = 0; i < te->nDeps; i++) + { + TocEntry *pte = getTocEntryByDumpId(AH, te->dependencies[i]); + + if (!pte) + continue; /* probably shouldn't happen */ + if (strcmp(pte->desc, "ACL") == 0) + continue; /* ignore dependency on another ACL */ + if (pte->reqs == 0) + continue; /* this object isn't marked, so ignore it */ + /* Found a parent to be dumped, so we want to dump this too */ + dumpthis = true; + break; + } + if (!dumpthis) return 0; } } diff --git a/src/bin/pg_dump/t/002_pg_dump.pl b/src/bin/pg_dump/t/002_pg_dump.pl index 9e325c13bee..d9c117f068d 100644 --- a/src/bin/pg_dump/t/002_pg_dump.pl +++ b/src/bin/pg_dump/t/002_pg_dump.pl @@ -4229,11 +4229,13 @@ 'GRANT SELECT ON TABLE measurement' => { create_order => 91, - create_sql => 'GRANT SELECT ON - TABLE dump_test.measurement - TO regress_dump_test_role;', + create_sql => 'GRANT SELECT ON TABLE dump_test.measurement + TO regress_dump_test_role; + GRANT SELECT(city_id) ON TABLE dump_test.measurement + TO "regress_quoted \"" role";', regexp => - qr/^\QGRANT SELECT ON TABLE dump_test.measurement TO regress_dump_test_role;\E/m, + qr/^\QGRANT SELECT ON TABLE dump_test.measurement TO regress_dump_test_role;\E\n.* + ^\QGRANT SELECT(city_id) ON TABLE dump_test.measurement TO "regress_quoted \"" role";\E/xms, like => { %full_runs, %dump_test_schema_runs, From 19525a0bdb149b822dc241de963dfc2b39d7410b Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Tue, 3 Oct 2023 10:25:12 +0900 Subject: [PATCH 229/317] Fail hard on out-of-memory failures in xlogreader.c This commit changes the WAL reader routines so as a FATAL for the backend or exit(FAILURE) for the frontend is triggered if an allocation for a WAL record decode fails in walreader.c, rather than treating this case as bogus data, which would be equivalent to the end of WAL. The key is to avoid palloc_extended(MCXT_ALLOC_NO_OOM) in walreader.c, relying on plain palloc() calls. The previous behavior could make WAL replay finish too early than it should. For example, crash recovery finishing earlier may corrupt clusters because not all the WAL available locally was replayed to ensure a consistent state. Out-of-memory failures would show up randomly depending on the memory pressure on the host, but one simple case would be to generate a large record, then replay this record after downsizing a host, as Ethan Mertz originally reported. This relies on bae868caf222, as the WAL reader routines now do the memory allocation required for a record only once its header has been fully read and validated, making xl_tot_len trustable. Making the WAL reader react differently on out-of-memory or bogus record data would require ABI changes, so this is the safest choice for stable branches. Also, it is worth noting that 3f1ce973467a has been using a plain palloc() in this code for some time now. Thanks to Noah Misch and Thomas Munro for the discussion. Like the other commit, backpatch down to 12, leaving out v11 that will be EOL'd soon. The behavior of considering a failed allocation as bogus data comes originally from 0ffe11abd3a0, where the record length retrieved from its header was not entirely trustable. Reported-by: Ethan Mertz Discussion: https://postgr.es/m/ZRKKdI5-RRlta3aF@paquier.xyz Backpatch-through: 12 --- src/backend/access/transam/xlogreader.c | 47 +++++-------------------- 1 file changed, 8 insertions(+), 39 deletions(-) diff --git a/src/backend/access/transam/xlogreader.c b/src/backend/access/transam/xlogreader.c index a17263df208..a1363e3b8f3 100644 --- a/src/backend/access/transam/xlogreader.c +++ b/src/backend/access/transam/xlogreader.c @@ -43,7 +43,7 @@ static void report_invalid_record(XLogReaderState *state, const char *fmt,...) pg_attribute_printf(2, 3); -static bool allocate_recordbuf(XLogReaderState *state, uint32 reclength); +static void allocate_recordbuf(XLogReaderState *state, uint32 reclength); static int ReadPageInternal(XLogReaderState *state, XLogRecPtr pageptr, int reqLen); static void XLogReaderInvalReadState(XLogReaderState *state); @@ -155,14 +155,7 @@ XLogReaderAllocate(int wal_segment_size, const char *waldir, * Allocate an initial readRecordBuf of minimal size, which can later be * enlarged if necessary. */ - if (!allocate_recordbuf(state, 0)) - { - pfree(state->errormsg_buf); - pfree(state->readBuf); - pfree(state); - return NULL; - } - + allocate_recordbuf(state, 0); return state; } @@ -184,7 +177,6 @@ XLogReaderFree(XLogReaderState *state) /* * Allocate readRecordBuf to fit a record of at least the given length. - * Returns true if successful, false if out of memory. * * readRecordBufSize is set to the new buffer size. * @@ -196,7 +188,7 @@ XLogReaderFree(XLogReaderState *state) * Note: This routine should *never* be called for xl_tot_len until the header * of the record has been fully validated. */ -static bool +static void allocate_recordbuf(XLogReaderState *state, uint32 reclength) { uint32 newSize = reclength; @@ -206,15 +198,8 @@ allocate_recordbuf(XLogReaderState *state, uint32 reclength) if (state->readRecordBuf) pfree(state->readRecordBuf); - state->readRecordBuf = - (char *) palloc_extended(newSize, MCXT_ALLOC_NO_OOM); - if (state->readRecordBuf == NULL) - { - state->readRecordBufSize = 0; - return false; - } + state->readRecordBuf = (char *) palloc(newSize); state->readRecordBufSize = newSize; - return true; } /* @@ -505,9 +490,7 @@ XLogReadRecordAlloc(XLogReaderState *state, size_t xl_tot_len, bool allow_oversi /* Not enough space in the decode buffer. Are we allowed to allocate? */ if (allow_oversized) { - decoded = palloc_extended(required_space, MCXT_ALLOC_NO_OOM); - if (decoded == NULL) - return NULL; + decoded = palloc(required_space); decoded->oversized = true; return decoded; } @@ -815,13 +798,7 @@ XLogDecodeNextRecord(XLogReaderState *state, bool nonblocking) Assert(gotlen <= lengthof(save_copy)); Assert(gotlen <= state->readRecordBufSize); memcpy(save_copy, state->readRecordBuf, gotlen); - if (!allocate_recordbuf(state, total_len)) - { - /* We treat this as a "bogus data" condition */ - report_invalid_record(state, "record length %u at %X/%X too long", - total_len, LSN_FORMAT_ARGS(RecPtr)); - goto err; - } + allocate_recordbuf(state, total_len); memcpy(state->readRecordBuf, save_copy, gotlen); buffer = state->readRecordBuf + gotlen; } @@ -877,16 +854,8 @@ XLogDecodeNextRecord(XLogReaderState *state, bool nonblocking) decoded = XLogReadRecordAlloc(state, total_len, true /* allow_oversized */ ); - if (decoded == NULL) - { - /* - * We failed to allocate memory for an oversized record. As - * above, we currently treat this as a "bogus data" condition. - */ - report_invalid_record(state, - "out of memory while trying to decode a record of length %u", total_len); - goto err; - } + /* allocation should always happen under allow_oversized */ + Assert(decoded != NULL); } if (DecodeXLogRecord(state, decoded, record, RecPtr, &errormsg)) From 31e9bf0ffe6b83421a48af27c7ede66c0a7314fd Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Tue, 3 Oct 2023 15:37:18 +0900 Subject: [PATCH 230/317] Avoid memory size overflow when allocating backend activity buffer The code in charge of copying the contents of PgBackendStatus to local memory could fail on memory allocation because of an overflow on the amount of memory to use. The overflow can happen when combining a high value track_activity_query_size (max at 1MB) with a large max_connections, when both multiplied get higher than INT32_MAX as both parameters treated as signed integers. This could for example trigger with the following functions, all calling pgstat_read_current_status(): - pg_stat_get_backend_subxact() - pg_stat_get_backend_idset() - pg_stat_get_progress_info() - pg_stat_get_activity() - pg_stat_get_db_numbackends() The change to use MemoryContextAllocHuge() has been introduced in 8d0ddccec636, so backpatch down to 12. Author: Jakub Wartak Discussion: https://postgr.es/m/CAKZiRmw8QSNVw2qNK-dznsatQqz+9DkCquxP0GHbbv1jMkGHMA@mail.gmail.com Backpatch-through: 12 --- src/backend/utils/activity/backend_status.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/backend/utils/activity/backend_status.c b/src/backend/utils/activity/backend_status.c index 722c5acf38d..6e734c6caff 100644 --- a/src/backend/utils/activity/backend_status.c +++ b/src/backend/utils/activity/backend_status.c @@ -765,7 +765,8 @@ pgstat_read_current_status(void) NAMEDATALEN * NumBackendStatSlots); localactivity = (char *) MemoryContextAllocHuge(backendStatusSnapContext, - pgstat_track_activity_query_size * NumBackendStatSlots); + (Size) pgstat_track_activity_query_size * + (Size) NumBackendStatSlots); #ifdef USE_SSL localsslstatus = (PgBackendSSLStatus *) MemoryContextAlloc(backendStatusSnapContext, From 164560fe239cce93ca54555af80347824cb451eb Mon Sep 17 00:00:00 2001 From: David Rowley Date: Thu, 5 Oct 2023 20:31:25 +1300 Subject: [PATCH 231/317] Fix memory leak in Memoize code Ensure we switch to the per-tuple memory context to prevent any memory leaks of detoasted Datums in MemoizeHash_hash() and MemoizeHash_equal(). Reported-by: Orlov Aleksej Author: Orlov Aleksej, David Rowley Discussion: https://postgr.es/m/83281eed63c74e4f940317186372abfd%40cft.ru Backpatch-through: 14, where Memoize was added --- src/backend/executor/nodeMemoize.c | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/src/backend/executor/nodeMemoize.c b/src/backend/executor/nodeMemoize.c index 4f04269e262..262f79784e7 100644 --- a/src/backend/executor/nodeMemoize.c +++ b/src/backend/executor/nodeMemoize.c @@ -158,10 +158,14 @@ static uint32 MemoizeHash_hash(struct memoize_hash *tb, const MemoizeKey *key) { MemoizeState *mstate = (MemoizeState *) tb->private_data; + ExprContext *econtext = mstate->ss.ps.ps_ExprContext; + MemoryContext oldcontext; TupleTableSlot *pslot = mstate->probeslot; uint32 hashkey = 0; int numkeys = mstate->nkeys; + oldcontext = MemoryContextSwitchTo(econtext->ecxt_per_tuple_memory); + if (mstate->binary_mode) { for (int i = 0; i < numkeys; i++) @@ -203,6 +207,8 @@ MemoizeHash_hash(struct memoize_hash *tb, const MemoizeKey *key) } } + ResetExprContext(econtext); + MemoryContextSwitchTo(oldcontext); return murmurhash32(hashkey); } @@ -226,7 +232,11 @@ MemoizeHash_equal(struct memoize_hash *tb, const MemoizeKey *key1, if (mstate->binary_mode) { + MemoryContext oldcontext; int numkeys = mstate->nkeys; + bool match = true; + + oldcontext = MemoryContextSwitchTo(econtext->ecxt_per_tuple_memory); slot_getallattrs(tslot); slot_getallattrs(pslot); @@ -236,7 +246,10 @@ MemoizeHash_equal(struct memoize_hash *tb, const MemoizeKey *key1, FormData_pg_attribute *attr; if (tslot->tts_isnull[i] != pslot->tts_isnull[i]) - return false; + { + match = false; + break; + } /* both NULL? they're equal */ if (tslot->tts_isnull[i]) @@ -246,9 +259,15 @@ MemoizeHash_equal(struct memoize_hash *tb, const MemoizeKey *key1, attr = &tslot->tts_tupleDescriptor->attrs[i]; if (!datum_image_eq(tslot->tts_values[i], pslot->tts_values[i], attr->attbyval, attr->attlen)) - return false; + { + match = false; + break; + } } - return true; + + ResetExprContext(econtext); + MemoryContextSwitchTo(oldcontext); + return match; } else { From 41cd0d6c533c020f61358bbff99fcb42172a86f8 Mon Sep 17 00:00:00 2001 From: Etsuro Fujita Date: Fri, 6 Oct 2023 18:30:01 +0900 Subject: [PATCH 232/317] Remove extra parenthesis from comment. --- src/backend/storage/ipc/procarray.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/storage/ipc/procarray.c b/src/backend/storage/ipc/procarray.c index 2a3da49b8fc..eaceefa0571 100644 --- a/src/backend/storage/ipc/procarray.c +++ b/src/backend/storage/ipc/procarray.c @@ -2127,7 +2127,7 @@ GetSnapshotDataReuse(Snapshot snapshot) * GetSnapshotData() cannot change while ProcArrayLock is held. Snapshot * contents only depend on transactions with xids and xactCompletionCount * is incremented whenever a transaction with an xid finishes (while - * holding ProcArrayLock) exclusively). Thus the xactCompletionCount check + * holding ProcArrayLock exclusively). Thus the xactCompletionCount check * ensures we would detect if the snapshot would have changed. * * As the snapshot contents are the same as it was before, it is safe to From 281bb3c9cf43aa84c59dcb44e2759f322cda9996 Mon Sep 17 00:00:00 2001 From: David Rowley Date: Mon, 9 Oct 2023 16:37:33 +1300 Subject: [PATCH 233/317] Strip off ORDER BY/DISTINCT aggregate pathkeys in create_agg_path 1349d2790 added code to adjust the PlannerInfo.group_pathkeys so that ORDER BY / DISTINCT aggregate functions could obtain pre-sorted inputs to allow faster execution. That commit forgot to adjust the pathkeys in create_agg_path(). Some code in there assumed that it was always fine to make the AggPath's pathkeys the same as its subpath's. That seems to have been ok up until 1349d2790, but since that commit adds pathkeys for columns which are within the aggregate function, those columns won't be available above the aggregate node. This can result in "could not find pathkey item to sort" during create_plan(). The fix here is to strip off the additional pathkeys added by adjust_group_pathkeys_for_groupagg(). It seems that the pathkeys here will only ever be group_pathkeys, so all we need to do is check if the length of the pathkey list is longer than the num_groupby_pathkeys and get rid of the additional ones only if we see extras. Reported-by: Justin Pryzby Reviewed-by: Richard Guo Discussion: https://postgr.es/m/ZQhYYRhUxpW3PSf9%40telsasoft.com Backpatch-through: 16, where 1349d2790 was introduced --- src/backend/optimizer/util/pathnode.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/backend/optimizer/util/pathnode.c b/src/backend/optimizer/util/pathnode.c index 5f5596841c8..e518a07e2c6 100644 --- a/src/backend/optimizer/util/pathnode.c +++ b/src/backend/optimizer/util/pathnode.c @@ -3127,10 +3127,26 @@ create_agg_path(PlannerInfo *root, pathnode->path.parallel_safe = rel->consider_parallel && subpath->parallel_safe; pathnode->path.parallel_workers = subpath->parallel_workers; + if (aggstrategy == AGG_SORTED) - pathnode->path.pathkeys = subpath->pathkeys; /* preserves order */ + { + /* + * Attempt to preserve the order of the subpath. Additional pathkeys + * may have been added in adjust_group_pathkeys_for_groupagg() to + * support ORDER BY / DISTINCT aggregates. Pathkeys added there + * belong to columns within the aggregate function, so we must strip + * these additional pathkeys off as those columns are unavailable + * above the aggregate node. + */ + if (list_length(subpath->pathkeys) > root->num_groupby_pathkeys) + pathnode->path.pathkeys = list_copy_head(subpath->pathkeys, + root->num_groupby_pathkeys); + else + pathnode->path.pathkeys = subpath->pathkeys; /* preserves order */ + } else pathnode->path.pathkeys = NIL; /* output is unordered */ + pathnode->subpath = subpath; pathnode->aggstrategy = aggstrategy; From cc9763f128f788347b18f06ae4a07c767c183cc2 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 9 Oct 2023 11:29:21 -0400 Subject: [PATCH 234/317] Doc: use CURRENT_USER not USER in plpgsql trigger examples. While these two built-in functions do exactly the same thing, CURRENT_USER seems preferable to use in documentation examples. It's easier to look up if the reader is unsure what it is. Also, this puts these examples in sync with an adjacent example that already used CURRENT_USER. Per question from Kirk Parker. Discussion: https://postgr.es/m/CANwZ8rmN_Eb0h0hoMRS8Feftaik0z89PxVsKg+cP+PctuOq=Qg@mail.gmail.com --- doc/src/sgml/plpgsql.sgml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/doc/src/sgml/plpgsql.sgml b/doc/src/sgml/plpgsql.sgml index f55e901c7e5..83f867f91d2 100644 --- a/doc/src/sgml/plpgsql.sgml +++ b/doc/src/sgml/plpgsql.sgml @@ -4330,11 +4330,11 @@ CREATE OR REPLACE FUNCTION process_emp_audit() RETURNS TRIGGER AS $emp_audit$ -- making use of the special variable TG_OP to work out the operation. -- IF (TG_OP = 'DELETE') THEN - INSERT INTO emp_audit SELECT 'D', now(), user, OLD.*; + INSERT INTO emp_audit SELECT 'D', now(), current_user, OLD.*; ELSIF (TG_OP = 'UPDATE') THEN - INSERT INTO emp_audit SELECT 'U', now(), user, NEW.*; + INSERT INTO emp_audit SELECT 'U', now(), current_user, NEW.*; ELSIF (TG_OP = 'INSERT') THEN - INSERT INTO emp_audit SELECT 'I', now(), user, NEW.*; + INSERT INTO emp_audit SELECT 'I', now(), current_user, NEW.*; END IF; RETURN NULL; -- result is ignored since this is an AFTER trigger END; @@ -4400,20 +4400,20 @@ CREATE OR REPLACE FUNCTION update_emp_view() RETURNS TRIGGER AS $$ IF NOT FOUND THEN RETURN NULL; END IF; OLD.last_updated = now(); - INSERT INTO emp_audit VALUES('D', user, OLD.*); + INSERT INTO emp_audit VALUES('D', current_user, OLD.*); RETURN OLD; ELSIF (TG_OP = 'UPDATE') THEN UPDATE emp SET salary = NEW.salary WHERE empname = OLD.empname; IF NOT FOUND THEN RETURN NULL; END IF; NEW.last_updated = now(); - INSERT INTO emp_audit VALUES('U', user, NEW.*); + INSERT INTO emp_audit VALUES('U', current_user, NEW.*); RETURN NEW; ELSIF (TG_OP = 'INSERT') THEN INSERT INTO emp VALUES(NEW.empname, NEW.salary); NEW.last_updated = now(); - INSERT INTO emp_audit VALUES('I', user, NEW.*); + INSERT INTO emp_audit VALUES('I', current_user, NEW.*); RETURN NEW; END IF; END; @@ -4628,13 +4628,13 @@ CREATE OR REPLACE FUNCTION process_emp_audit() RETURNS TRIGGER AS $emp_audit$ -- IF (TG_OP = 'DELETE') THEN INSERT INTO emp_audit - SELECT 'D', now(), user, o.* FROM old_table o; + SELECT 'D', now(), current_user, o.* FROM old_table o; ELSIF (TG_OP = 'UPDATE') THEN INSERT INTO emp_audit - SELECT 'U', now(), user, n.* FROM new_table n; + SELECT 'U', now(), current_user, n.* FROM new_table n; ELSIF (TG_OP = 'INSERT') THEN INSERT INTO emp_audit - SELECT 'I', now(), user, n.* FROM new_table n; + SELECT 'I', now(), current_user, n.* FROM new_table n; END IF; RETURN NULL; -- result is ignored since this is an AFTER trigger END; From 7c1afb23c29a73080010b6b846b725b015a9c7ce Mon Sep 17 00:00:00 2001 From: Jeff Davis Date: Tue, 10 Oct 2023 11:01:13 -0700 Subject: [PATCH 235/317] Fix bug in GenericXLogFinish(). Mark the buffers dirty before writing WAL. Discussion: https://postgr.es/m/25104133-7df8-cae3-b9a2-1c0aaa1c094a@iki.fi Reviewed-by: Heikki Linnakangas Backpatch-through: 11 --- src/backend/access/transam/generic_xlog.c | 56 +++++++++++------------ 1 file changed, 26 insertions(+), 30 deletions(-) diff --git a/src/backend/access/transam/generic_xlog.c b/src/backend/access/transam/generic_xlog.c index 6c68191ca62..6e747bf1b1c 100644 --- a/src/backend/access/transam/generic_xlog.c +++ b/src/backend/access/transam/generic_xlog.c @@ -347,6 +347,10 @@ GenericXLogFinish(GenericXLogState *state) START_CRIT_SECTION(); + /* + * Compute deltas if necessary, write changes to buffers, mark + * buffers dirty, and register changes. + */ for (i = 0; i < MAX_GENERIC_XLOG_PAGES; i++) { PageData *pageData = &state->pages[i]; @@ -359,41 +363,34 @@ GenericXLogFinish(GenericXLogState *state) page = BufferGetPage(pageData->buffer); pageHeader = (PageHeader) pageData->image; + /* + * Compute delta while we still have both the unmodified page and + * the new image. Not needed if we are logging the full image. + */ + if (!(pageData->flags & GENERIC_XLOG_FULL_IMAGE)) + computeDelta(pageData, page, (Page) pageData->image); + + /* + * Apply the image, being careful to zero the "hole" between + * pd_lower and pd_upper in order to avoid divergence between + * actual page state and what replay would produce. + */ + memcpy(page, pageData->image, pageHeader->pd_lower); + memset(page + pageHeader->pd_lower, 0, + pageHeader->pd_upper - pageHeader->pd_lower); + memcpy(page + pageHeader->pd_upper, + pageData->image + pageHeader->pd_upper, + BLCKSZ - pageHeader->pd_upper); + + MarkBufferDirty(pageData->buffer); + if (pageData->flags & GENERIC_XLOG_FULL_IMAGE) { - /* - * A full-page image does not require us to supply any xlog - * data. Just apply the image, being careful to zero the - * "hole" between pd_lower and pd_upper in order to avoid - * divergence between actual page state and what replay would - * produce. - */ - memcpy(page, pageData->image, pageHeader->pd_lower); - memset(page + pageHeader->pd_lower, 0, - pageHeader->pd_upper - pageHeader->pd_lower); - memcpy(page + pageHeader->pd_upper, - pageData->image + pageHeader->pd_upper, - BLCKSZ - pageHeader->pd_upper); - XLogRegisterBuffer(i, pageData->buffer, REGBUF_FORCE_IMAGE | REGBUF_STANDARD); } else { - /* - * In normal mode, calculate delta and write it as xlog data - * associated with this page. - */ - computeDelta(pageData, page, (Page) pageData->image); - - /* Apply the image, with zeroed "hole" as above */ - memcpy(page, pageData->image, pageHeader->pd_lower); - memset(page + pageHeader->pd_lower, 0, - pageHeader->pd_upper - pageHeader->pd_lower); - memcpy(page + pageHeader->pd_upper, - pageData->image + pageHeader->pd_upper, - BLCKSZ - pageHeader->pd_upper); - XLogRegisterBuffer(i, pageData->buffer, REGBUF_STANDARD); XLogRegisterBufData(i, pageData->delta, pageData->deltaLen); } @@ -402,7 +399,7 @@ GenericXLogFinish(GenericXLogState *state) /* Insert xlog record */ lsn = XLogInsert(RM_GENERIC_ID, 0); - /* Set LSN and mark buffers dirty */ + /* Set LSN */ for (i = 0; i < MAX_GENERIC_XLOG_PAGES; i++) { PageData *pageData = &state->pages[i]; @@ -410,7 +407,6 @@ GenericXLogFinish(GenericXLogState *state) if (BufferIsInvalid(pageData->buffer)) continue; PageSetLSN(BufferGetPage(pageData->buffer), lsn); - MarkBufferDirty(pageData->buffer); } END_CRIT_SECTION(); } From fcfd95b8acbbccb1ecde016dd6ae54bd26496205 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 10 Oct 2023 15:14:18 -0400 Subject: [PATCH 236/317] doc: document the need to analyze partitioned tables Autovacuum does not do it. Reported-by: Justin Pryzby Discussion: https://postgr.es/m/20210913035409.GA10647@telsasoft.com Backpatch-through: 11 --- doc/src/sgml/maintenance.sgml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/doc/src/sgml/maintenance.sgml b/doc/src/sgml/maintenance.sgml index 9cf9d030a8a..3018d8f64cf 100644 --- a/doc/src/sgml/maintenance.sgml +++ b/doc/src/sgml/maintenance.sgml @@ -861,10 +861,15 @@ analyze threshold = analyze base threshold + analyze scale factor * number of tu - Partitioned tables are not processed by autovacuum. Statistics - should be collected by running a manual ANALYZE when it is - first populated, and again whenever the distribution of data in its - partitions changes significantly. + Partitioned tables do not directly store tuples and consequently + are not processed by autovacuum. (Autovacuum does process table + partitions just like other tables.) Unfortunately, this means that + autovacuum does not run ANALYZE on partitioned + tables, and this can cause suboptimal plans for queries that reference + partitioned table statistics. You can work around this problem by + manually running ANALYZE on partitioned tables + when they are first populated, and again whenever the distribution + of data in their partitions changes significantly. From 6a337d3dd3a4fbce7d10460ce4d986e02256b858 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 10 Oct 2023 15:27:26 -0400 Subject: [PATCH 237/317] doc: clarify how the bootstrap user name is chosen Discussion: https://postgr.es/m/167931662853.3349090.18217722739345182859@wrigleys.postgresql.org Backpatch-through: 16 --- doc/src/sgml/user-manag.sgml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/doc/src/sgml/user-manag.sgml b/doc/src/sgml/user-manag.sgml index 27c1f3d7032..92a299d2d33 100644 --- a/doc/src/sgml/user-manag.sgml +++ b/doc/src/sgml/user-manag.sgml @@ -103,11 +103,10 @@ SELECT rolname FROM pg_roles WHERE rolcanlogin; In order to bootstrap the database system, a freshly initialized system always contains one predefined login-capable role. This role - is always a superuser, and by default it will have + is always a superuser, and it will have the same name as the operating system user that initialized the - database cluster, unless another name is specified while - running initdb. - It is common, but not required, to arrange for this role to be named + database cluster with initdb unless a different name + is specified. This role is often named postgres. In order to create more roles you first have to connect as this initial role. From 71c75a048ca1d81469776e53cf64138d61671bdc Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 10 Oct 2023 15:54:28 -0400 Subject: [PATCH 238/317] doc: add SSL configuration section reference Reported-by: Steve Atkins Discussion: https://postgr.es/m/B82E80DD-1452-4175-B19C-564FE46705BA@blighty.com Backpatch-through: 11 --- doc/src/sgml/client-auth.sgml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/src/sgml/client-auth.sgml b/doc/src/sgml/client-auth.sgml index 204d09df67b..2c3834d962b 100644 --- a/doc/src/sgml/client-auth.sgml +++ b/doc/src/sgml/client-auth.sgml @@ -2170,7 +2170,8 @@ host ... radius radiusservers="server1,server2" radiussecrets="""secret one"","" This authentication method uses SSL client certificates to perform - authentication. It is therefore only available for SSL connections. + authentication. It is therefore only available for SSL connections; + see for SSL configuration instructions. When using this authentication method, the server will require that the client provide a valid, trusted certificate. No password prompt will be sent to the client. The cn (Common Name) From f1d8ac5bf7c2a60741a4fe1972cc066a16737996 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 10 Oct 2023 16:04:56 -0400 Subject: [PATCH 239/317] doc: foreign servers with pushdown need matching collation Reported-by: Pete Storer Discussion: https://postgr.es/m/BL0PR05MB66283C57D72E321591AE4EB1F3CE9@BL0PR05MB6628.namprd05.prod.outlook.com Backpatch-through: 11 --- doc/src/sgml/ref/create_server.sgml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/src/sgml/ref/create_server.sgml b/doc/src/sgml/ref/create_server.sgml index af0a7a06fdc..05f4019453b 100644 --- a/doc/src/sgml/ref/create_server.sgml +++ b/doc/src/sgml/ref/create_server.sgml @@ -129,6 +129,11 @@ CREATE SERVER [ IF NOT EXISTS ] server_nameUSAGE privilege on the foreign server to be able to use it in this way. + + + If the foreign server supports sort pushdown, it is necessary for it + to have the same sort ordering as the local server. + From 13edca6eb6ed5080ccf96e96a3dadc05928779a7 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 10 Oct 2023 16:51:08 -0400 Subject: [PATCH 240/317] doc: clarify that SSPI and GSSAPI are interchangeable Reported-by: tpo_deb@sourcepole.ch Discussion: https://postgr.es/m/167846222574.1803490.15815104179136215862@wrigleys.postgresql.org Backpatch-through: 11 --- doc/src/sgml/client-auth.sgml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/doc/src/sgml/client-auth.sgml b/doc/src/sgml/client-auth.sgml index 2c3834d962b..e9c2d82472c 100644 --- a/doc/src/sgml/client-auth.sgml +++ b/doc/src/sgml/client-auth.sgml @@ -1510,10 +1510,12 @@ omicron bryanh guest1 negotiate mode, which will use Kerberos when possible and automatically fall back to NTLM in other cases. - SSPI authentication only works when both - server and client are running Windows, - or, on non-Windows platforms, when GSSAPI - is available. + SSPI and GSSAPI + interoperate as clients and servers, e.g., an + SSPI client can authenticate to an + GSSAPI server. It is recommended to use + SSPI on Windows clients and servers and + GSSAPI on non-Windows platforms. From db4cf29c9f6fa33f75407450d561761732f16b5e Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 10 Oct 2023 17:12:00 -0400 Subject: [PATCH 241/317] doc: pg_upgrade: use dynamic new cluster major version numbers Also update docs to use more recent old version numbers Reported-by: mark.a.sloan@gmail.com Discussion: https://postgr.es/m/169506804412.3727336.8571753495127355296@wrigleys.postgresql.org Backpatch-through: 16 --- doc/src/sgml/ref/pgupgrade.sgml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/doc/src/sgml/ref/pgupgrade.sgml b/doc/src/sgml/ref/pgupgrade.sgml index f9c16a5cdb7..494aa0b5bbc 100644 --- a/doc/src/sgml/ref/pgupgrade.sgml +++ b/doc/src/sgml/ref/pgupgrade.sgml @@ -40,9 +40,9 @@ PostgreSQL documentation pg_upgrade (formerly called pg_migrator) allows data stored in PostgreSQL data files to be upgraded to a later PostgreSQL major version without the data dump/restore typically required for - major version upgrades, e.g., from 9.5.8 to 9.6.4 or from 10.7 to 11.2. - It is not required for minor version upgrades, e.g., from 9.6.2 to 9.6.3 - or from 10.1 to 10.2. + major version upgrades, e.g., from 12.14 to 13.10 or from 14.9 to 15.5. + It is not required for minor version upgrades, e.g., from 12.7 to 12.8 + or from 14.1 to 14.5. @@ -367,14 +367,14 @@ make prefix=/usr/local/pgsql.new install Make sure both database servers are stopped using, on Unix, e.g.: -pg_ctl -D /opt/PostgreSQL/9.6 stop +pg_ctl -D /opt/PostgreSQL/12 stop pg_ctl -D /opt/PostgreSQL/&majorversion; stop or on Windows, using the proper service names: -NET STOP postgresql-9.6 +NET STOP postgresql-12 NET STOP postgresql-&majorversion; @@ -448,9 +448,9 @@ SET PATH=%PATH%;C:\Program Files\PostgreSQL\&majorversion;\bin; pg_upgrade.exe - --old-datadir "C:/Program Files/PostgreSQL/9.6/data" + --old-datadir "C:/Program Files/PostgreSQL/12/data" --new-datadir "C:/Program Files/PostgreSQL/&majorversion;/data" - --old-bindir "C:/Program Files/PostgreSQL/9.6/bin" + --old-bindir "C:/Program Files/PostgreSQL/12/bin" --new-bindir "C:/Program Files/PostgreSQL/&majorversion;/bin" @@ -580,8 +580,8 @@ rsync --archive --delete --hard-links --size-only --no-inc-recursive old_cluster remote directory, e.g., -rsync --archive --delete --hard-links --size-only --no-inc-recursive /opt/PostgreSQL/9.5 \ - /opt/PostgreSQL/9.6 standby.example.com:/opt/PostgreSQL +rsync --archive --delete --hard-links --size-only --no-inc-recursive /opt/PostgreSQL/12 \ + /opt/PostgreSQL/&majorversion; standby.example.com:/opt/PostgreSQL You can verify what the command will do using @@ -610,8 +610,8 @@ rsync --archive --delete --hard-links --size-only --no-inc-recursive /opt/Postgr rsync command for each tablespace directory, e.g.: -rsync --archive --delete --hard-links --size-only --no-inc-recursive /vol1/pg_tblsp/PG_9.5_201510051 \ - /vol1/pg_tblsp/PG_9.6_201608131 standby.example.com:/vol1/pg_tblsp +rsync --archive --delete --hard-links --size-only --no-inc-recursive /vol1/pg_tblsp/PG_12_201909212 \ + /vol1/pg_tblsp/PG_&majorversion;_202307071 standby.example.com:/vol1/pg_tblsp If you have relocated pg_wal outside the data From 3acbd4b6691b279c65db484964458dc58ce4fe6f Mon Sep 17 00:00:00 2001 From: David Rowley Date: Thu, 12 Oct 2023 19:51:26 +1300 Subject: [PATCH 242/317] Fix incorrect step generation in HASH partition pruning get_steps_using_prefix_recurse() incorrectly assumed that it could stop recursive processing of the 'prefix' list when cur_keyno was one before the step_lastkeyno. Since hash partition pruning can prune using IS NULL quals, and these IS NULL quals are not present in the 'prefix' list, then that logic could cause more levels of recursion than what is needed and lead to there being no more items in the 'prefix' list to process. This would manifest itself as a crash in some code that expected the 'start' ListCell not to be NULL. Here we adjust the logic so that instead of stopping recursion at 1 key before the step_lastkeyno, we just look at the llast(prefix) item and ensure we only recursively process up until just before whichever the last key is. This effectively allows keys to be missing in the 'prefix' list. This change does mean that step_lastkeyno is no longer needed, so we remove that from the static functions. I also spent quite some time reading this code and testing it to try to convince myself that there are no other issues. That resulted in the irresistible temptation of rewriting some comments, many of which were just not true or inconcise. Reported-by: Sergei Glukhov Reviewed-by: Sergei Glukhov, tender wang Discussion: https://postgr.es/m/2f09ce72-315e-2a33-589a-8519ada8df61@postgrespro.ru Backpatch-through: 11, where partition pruning was introduced. --- src/backend/partitioning/partprune.c | 103 ++++---- src/test/regress/expected/partition_prune.out | 219 +++++++++++++++++- src/test/regress/sql/partition_prune.sql | 55 ++++- 3 files changed, 315 insertions(+), 62 deletions(-) diff --git a/src/backend/partitioning/partprune.c b/src/backend/partitioning/partprune.c index 7179b22a057..ae76f7267e0 100644 --- a/src/backend/partitioning/partprune.c +++ b/src/backend/partitioning/partprune.c @@ -167,7 +167,6 @@ static List *get_steps_using_prefix(GeneratePruningStepsContext *context, bool step_op_is_ne, Expr *step_lastexpr, Oid step_lastcmpfn, - int step_lastkeyno, Bitmapset *step_nullkeys, List *prefix); static List *get_steps_using_prefix_recurse(GeneratePruningStepsContext *context, @@ -175,7 +174,6 @@ static List *get_steps_using_prefix_recurse(GeneratePruningStepsContext *context bool step_op_is_ne, Expr *step_lastexpr, Oid step_lastcmpfn, - int step_lastkeyno, Bitmapset *step_nullkeys, List *prefix, ListCell *start, @@ -1531,7 +1529,6 @@ gen_prune_steps_from_opexps(GeneratePruningStepsContext *context, pc->op_is_ne, pc->expr, pc->cmpfn, - 0, NULL, NIL); opsteps = list_concat(opsteps, pc_steps); @@ -1657,7 +1654,6 @@ gen_prune_steps_from_opexps(GeneratePruningStepsContext *context, pc->op_is_ne, pc->expr, pc->cmpfn, - pc->keyno, NULL, prefix); opsteps = list_concat(opsteps, pc_steps); @@ -1731,7 +1727,6 @@ gen_prune_steps_from_opexps(GeneratePruningStepsContext *context, false, pc->expr, pc->cmpfn, - pc->keyno, nullkeys, prefix); opsteps = list_concat(opsteps, pc_steps); @@ -2350,25 +2345,31 @@ match_clause_to_partition_key(GeneratePruningStepsContext *context, /* * get_steps_using_prefix - * Generate list of PartitionPruneStepOp steps each consisting of given - * opstrategy - * - * To generate steps, step_lastexpr and step_lastcmpfn are appended to - * expressions and cmpfns, respectively, extracted from the clauses in - * 'prefix'. Actually, since 'prefix' may contain multiple clauses for the - * same partition key column, we must generate steps for various combinations - * of the clauses of different keys. - * - * For list/range partitioning, callers must ensure that step_nullkeys is - * NULL, and that prefix contains at least one clause for each of the - * partition keys earlier than one specified in step_lastkeyno if it's - * greater than zero. For hash partitioning, step_nullkeys is allowed to be - * non-NULL, but they must ensure that prefix contains at least one clause - * for each of the partition keys other than those specified in step_nullkeys - * and step_lastkeyno. - * - * For both cases, callers must also ensure that clauses in prefix are sorted - * in ascending order of their partition key numbers. + * Generate a list of PartitionPruneStepOps based on the given input. + * + * 'step_lastexpr' and 'step_lastcmpfn' are the Expr and comparison function + * belonging to the final partition key that we have a clause for. 'prefix' + * is a list of PartClauseInfos for partition key numbers prior to the given + * 'step_lastexpr' and 'step_lastcmpfn'. 'prefix' may contain multiple + * PartClauseInfos belonging to a single partition key. We will generate a + * PartitionPruneStepOp for each combination of the given PartClauseInfos + * using, at most, one PartClauseInfo per partition key. + * + * For LIST and RANGE partitioned tables, callers must ensure that + * step_nullkeys is NULL, and that prefix contains at least one clause for + * each of the partition keys prior to the key that 'step_lastexpr' and + * 'step_lastcmpfn'belong to. + * + * For HASH partitioned tables, callers must ensure that 'prefix' contains at + * least one clause for each of the partition keys apart from the final key + * (the expr and comparison function for the final key are in 'step_lastexpr' + * and 'step_lastcmpfn'). A bit set in step_nullkeys can substitute clauses + * in the 'prefix' list for any given key. If a bit is set in 'step_nullkeys' + * for a given key, then there must be no PartClauseInfo for that key in the + * 'prefix' list. + * + * For each of the above cases, callers must ensure that PartClauseInfos in + * 'prefix' are sorted in ascending order of keyno. */ static List * get_steps_using_prefix(GeneratePruningStepsContext *context, @@ -2376,14 +2377,17 @@ get_steps_using_prefix(GeneratePruningStepsContext *context, bool step_op_is_ne, Expr *step_lastexpr, Oid step_lastcmpfn, - int step_lastkeyno, Bitmapset *step_nullkeys, List *prefix) { + /* step_nullkeys must be empty for RANGE and LIST partitioned tables */ Assert(step_nullkeys == NULL || context->rel->part_scheme->strategy == PARTITION_STRATEGY_HASH); - /* Quick exit if there are no values to prefix with. */ + /* + * No recursive processing is required when 'prefix' is an empty list. + * This occurs when there is only 1 partition key column. + */ if (prefix == NIL) { PartitionPruneStep *step; @@ -2397,13 +2401,12 @@ get_steps_using_prefix(GeneratePruningStepsContext *context, return list_make1(step); } - /* Recurse to generate steps for various combinations. */ + /* Recurse to generate steps for every combination of clauses. */ return get_steps_using_prefix_recurse(context, step_opstrategy, step_op_is_ne, step_lastexpr, step_lastcmpfn, - step_lastkeyno, step_nullkeys, prefix, list_head(prefix), @@ -2412,13 +2415,17 @@ get_steps_using_prefix(GeneratePruningStepsContext *context, /* * get_steps_using_prefix_recurse - * Recursively generate combinations of clauses for different partition - * keys and start generating steps upon reaching clauses for the greatest - * column that is less than the one for which we're currently generating - * steps (that is, step_lastkeyno) + * Generate and return a list of PartitionPruneStepOps using the 'prefix' + * list of PartClauseInfos starting at the 'start' cell. + * + * When 'prefix' contains multiple PartClauseInfos for a single partition key + * we create a PartitionPruneStepOp for each combination of duplicated + * PartClauseInfos. The returned list will contain a PartitionPruneStepOp + * for each unique combination of input PartClauseInfos containing at most one + * PartClauseInfo per partition key. * - * 'prefix' is the list of PartClauseInfos. - * 'start' is where we should start iterating for the current invocation. + * 'prefix' is the input list of PartClauseInfos sorted by keyno. + * 'start' marks the cell that searching the 'prefix' list should start from. * 'step_exprs' and 'step_cmpfns' each contains the expressions and cmpfns * we've generated so far from the clauses for the previous part keys. */ @@ -2428,7 +2435,6 @@ get_steps_using_prefix_recurse(GeneratePruningStepsContext *context, bool step_op_is_ne, Expr *step_lastexpr, Oid step_lastcmpfn, - int step_lastkeyno, Bitmapset *step_nullkeys, List *prefix, ListCell *start, @@ -2438,23 +2444,25 @@ get_steps_using_prefix_recurse(GeneratePruningStepsContext *context, List *result = NIL; ListCell *lc; int cur_keyno; + int final_keyno; /* Actually, recursion would be limited by PARTITION_MAX_KEYS. */ check_stack_depth(); - /* Check if we need to recurse. */ Assert(start != NULL); cur_keyno = ((PartClauseInfo *) lfirst(start))->keyno; - if (cur_keyno < step_lastkeyno - 1) + final_keyno = ((PartClauseInfo *) llast(prefix))->keyno; + + /* Check if we need to recurse. */ + if (cur_keyno < final_keyno) { PartClauseInfo *pc; ListCell *next_start; /* - * For each clause with cur_keyno, add its expr and cmpfn to - * step_exprs and step_cmpfns, respectively, and recurse after setting - * next_start to the ListCell of the first clause for the next - * partition key. + * Find the first PartClauseInfo belonging to the next partition key, + * the next recursive call must start iteration of the prefix list + * from that point. */ for_each_cell(lc, prefix, start) { @@ -2463,8 +2471,15 @@ get_steps_using_prefix_recurse(GeneratePruningStepsContext *context, if (pc->keyno > cur_keyno) break; } + + /* record where to start iterating in the next recursive call */ next_start = lc; + /* + * For each PartClauseInfo with keyno set to cur_keyno, add its expr + * and cmpfn to step_exprs and step_cmpfns, respectively, and recurse + * using 'next_start' as the starting point in the 'prefix' list. + */ for_each_cell(lc, prefix, start) { List *moresteps; @@ -2484,6 +2499,7 @@ get_steps_using_prefix_recurse(GeneratePruningStepsContext *context, } else { + /* check the 'prefix' list is sorted correctly */ Assert(pc->keyno > cur_keyno); break; } @@ -2493,7 +2509,6 @@ get_steps_using_prefix_recurse(GeneratePruningStepsContext *context, step_op_is_ne, step_lastexpr, step_lastcmpfn, - step_lastkeyno, step_nullkeys, prefix, next_start, @@ -2512,8 +2527,8 @@ get_steps_using_prefix_recurse(GeneratePruningStepsContext *context, * each clause with cur_keyno, which is all clauses from here onward * till the end of the list. Note that for hash partitioning, * step_nullkeys is allowed to be non-empty, in which case step_exprs - * would only contain expressions for the earlier partition keys that - * are not specified in step_nullkeys. + * would only contain expressions for the partition keys that are not + * specified in step_nullkeys. */ Assert(list_length(step_exprs) == cur_keyno || !bms_is_empty(step_nullkeys)); diff --git a/src/test/regress/expected/partition_prune.out b/src/test/regress/expected/partition_prune.out index 2abf7593858..6452a3b5f5c 100644 --- a/src/test/regress/expected/partition_prune.out +++ b/src/test/regress/expected/partition_prune.out @@ -4016,20 +4016,217 @@ explain (costs off) select * from rp_prefix_test3 where a >= 1 and b >= 1 and b Filter: ((a >= 1) AND (b >= 1) AND (d >= 0) AND (b = 2) AND (c = 2)) (2 rows) -create table hp_prefix_test (a int, b int, c int, d int) partition by hash (a part_test_int4_ops, b part_test_int4_ops, c part_test_int4_ops, d part_test_int4_ops); -create table hp_prefix_test_p1 partition of hp_prefix_test for values with (modulus 2, remainder 0); -create table hp_prefix_test_p2 partition of hp_prefix_test for values with (modulus 2, remainder 1); --- Test that get_steps_using_prefix() handles non-NULL step_nullkeys -explain (costs off) select * from hp_prefix_test where a = 1 and b is null and c = 1 and d = 1; - QUERY PLAN -------------------------------------------------------------- - Seq Scan on hp_prefix_test_p1 hp_prefix_test - Filter: ((b IS NULL) AND (a = 1) AND (c = 1) AND (d = 1)) -(2 rows) - drop table rp_prefix_test1; drop table rp_prefix_test2; drop table rp_prefix_test3; +-- +-- Test that get_steps_using_prefix() handles IS NULL clauses correctly +-- +create table hp_prefix_test (a int, b int, c int, d int) + partition by hash (a part_test_int4_ops, b part_test_int4_ops, c part_test_int4_ops, d part_test_int4_ops); +-- create 8 partitions +select 'create table hp_prefix_test_p' || x::text || ' partition of hp_prefix_test for values with (modulus 8, remainder ' || x::text || ');' +from generate_Series(0,7) x; + ?column? +------------------------------------------------------------------------------------------------------ + create table hp_prefix_test_p0 partition of hp_prefix_test for values with (modulus 8, remainder 0); + create table hp_prefix_test_p1 partition of hp_prefix_test for values with (modulus 8, remainder 1); + create table hp_prefix_test_p2 partition of hp_prefix_test for values with (modulus 8, remainder 2); + create table hp_prefix_test_p3 partition of hp_prefix_test for values with (modulus 8, remainder 3); + create table hp_prefix_test_p4 partition of hp_prefix_test for values with (modulus 8, remainder 4); + create table hp_prefix_test_p5 partition of hp_prefix_test for values with (modulus 8, remainder 5); + create table hp_prefix_test_p6 partition of hp_prefix_test for values with (modulus 8, remainder 6); + create table hp_prefix_test_p7 partition of hp_prefix_test for values with (modulus 8, remainder 7); +(8 rows) + +\gexec +create table hp_prefix_test_p0 partition of hp_prefix_test for values with (modulus 8, remainder 0); +create table hp_prefix_test_p1 partition of hp_prefix_test for values with (modulus 8, remainder 1); +create table hp_prefix_test_p2 partition of hp_prefix_test for values with (modulus 8, remainder 2); +create table hp_prefix_test_p3 partition of hp_prefix_test for values with (modulus 8, remainder 3); +create table hp_prefix_test_p4 partition of hp_prefix_test for values with (modulus 8, remainder 4); +create table hp_prefix_test_p5 partition of hp_prefix_test for values with (modulus 8, remainder 5); +create table hp_prefix_test_p6 partition of hp_prefix_test for values with (modulus 8, remainder 6); +create table hp_prefix_test_p7 partition of hp_prefix_test for values with (modulus 8, remainder 7); +-- insert 16 rows, one row for each test to perform. +insert into hp_prefix_test +select + case a when 0 then null else 1 end, + case b when 0 then null else 2 end, + case c when 0 then null else 3 end, + case d when 0 then null else 4 end +from + generate_series(0,1) a, + generate_series(0,1) b, + generate_Series(0,1) c, + generate_Series(0,1) d; +-- Ensure partition pruning works correctly for each combination of IS NULL +-- and equality quals. This may seem a little excessive, but there have been +-- a number of bugs in this area over the years. We make use of row only +-- output to reduce the size of the expected results. +\t on +select + 'explain (costs off) select tableoid::regclass,* from hp_prefix_test where ' || + string_agg(c.colname || case when g.s & (1 << c.colpos) = 0 then ' is null' else ' = ' || (colpos+1)::text end, ' and ' order by c.colpos) +from (values('a',0),('b',1),('c',2),('d',3)) c(colname, colpos), generate_Series(0,15) g(s) +group by g.s +order by g.s; + explain (costs off) select tableoid::regclass,* from hp_prefix_test where a is null and b is null and c is null and d is null + explain (costs off) select tableoid::regclass,* from hp_prefix_test where a = 1 and b is null and c is null and d is null + explain (costs off) select tableoid::regclass,* from hp_prefix_test where a is null and b = 2 and c is null and d is null + explain (costs off) select tableoid::regclass,* from hp_prefix_test where a = 1 and b = 2 and c is null and d is null + explain (costs off) select tableoid::regclass,* from hp_prefix_test where a is null and b is null and c = 3 and d is null + explain (costs off) select tableoid::regclass,* from hp_prefix_test where a = 1 and b is null and c = 3 and d is null + explain (costs off) select tableoid::regclass,* from hp_prefix_test where a is null and b = 2 and c = 3 and d is null + explain (costs off) select tableoid::regclass,* from hp_prefix_test where a = 1 and b = 2 and c = 3 and d is null + explain (costs off) select tableoid::regclass,* from hp_prefix_test where a is null and b is null and c is null and d = 4 + explain (costs off) select tableoid::regclass,* from hp_prefix_test where a = 1 and b is null and c is null and d = 4 + explain (costs off) select tableoid::regclass,* from hp_prefix_test where a is null and b = 2 and c is null and d = 4 + explain (costs off) select tableoid::regclass,* from hp_prefix_test where a = 1 and b = 2 and c is null and d = 4 + explain (costs off) select tableoid::regclass,* from hp_prefix_test where a is null and b is null and c = 3 and d = 4 + explain (costs off) select tableoid::regclass,* from hp_prefix_test where a = 1 and b is null and c = 3 and d = 4 + explain (costs off) select tableoid::regclass,* from hp_prefix_test where a is null and b = 2 and c = 3 and d = 4 + explain (costs off) select tableoid::regclass,* from hp_prefix_test where a = 1 and b = 2 and c = 3 and d = 4 + +\gexec +explain (costs off) select tableoid::regclass,* from hp_prefix_test where a is null and b is null and c is null and d is null + Seq Scan on hp_prefix_test_p0 hp_prefix_test + Filter: ((a IS NULL) AND (b IS NULL) AND (c IS NULL) AND (d IS NULL)) + +explain (costs off) select tableoid::regclass,* from hp_prefix_test where a = 1 and b is null and c is null and d is null + Seq Scan on hp_prefix_test_p1 hp_prefix_test + Filter: ((b IS NULL) AND (c IS NULL) AND (d IS NULL) AND (a = 1)) + +explain (costs off) select tableoid::regclass,* from hp_prefix_test where a is null and b = 2 and c is null and d is null + Seq Scan on hp_prefix_test_p2 hp_prefix_test + Filter: ((a IS NULL) AND (c IS NULL) AND (d IS NULL) AND (b = 2)) + +explain (costs off) select tableoid::regclass,* from hp_prefix_test where a = 1 and b = 2 and c is null and d is null + Seq Scan on hp_prefix_test_p4 hp_prefix_test + Filter: ((c IS NULL) AND (d IS NULL) AND (a = 1) AND (b = 2)) + +explain (costs off) select tableoid::regclass,* from hp_prefix_test where a is null and b is null and c = 3 and d is null + Seq Scan on hp_prefix_test_p3 hp_prefix_test + Filter: ((a IS NULL) AND (b IS NULL) AND (d IS NULL) AND (c = 3)) + +explain (costs off) select tableoid::regclass,* from hp_prefix_test where a = 1 and b is null and c = 3 and d is null + Seq Scan on hp_prefix_test_p7 hp_prefix_test + Filter: ((b IS NULL) AND (d IS NULL) AND (a = 1) AND (c = 3)) + +explain (costs off) select tableoid::regclass,* from hp_prefix_test where a is null and b = 2 and c = 3 and d is null + Seq Scan on hp_prefix_test_p4 hp_prefix_test + Filter: ((a IS NULL) AND (d IS NULL) AND (b = 2) AND (c = 3)) + +explain (costs off) select tableoid::regclass,* from hp_prefix_test where a = 1 and b = 2 and c = 3 and d is null + Seq Scan on hp_prefix_test_p5 hp_prefix_test + Filter: ((d IS NULL) AND (a = 1) AND (b = 2) AND (c = 3)) + +explain (costs off) select tableoid::regclass,* from hp_prefix_test where a is null and b is null and c is null and d = 4 + Seq Scan on hp_prefix_test_p4 hp_prefix_test + Filter: ((a IS NULL) AND (b IS NULL) AND (c IS NULL) AND (d = 4)) + +explain (costs off) select tableoid::regclass,* from hp_prefix_test where a = 1 and b is null and c is null and d = 4 + Seq Scan on hp_prefix_test_p6 hp_prefix_test + Filter: ((b IS NULL) AND (c IS NULL) AND (a = 1) AND (d = 4)) + +explain (costs off) select tableoid::regclass,* from hp_prefix_test where a is null and b = 2 and c is null and d = 4 + Seq Scan on hp_prefix_test_p5 hp_prefix_test + Filter: ((a IS NULL) AND (c IS NULL) AND (b = 2) AND (d = 4)) + +explain (costs off) select tableoid::regclass,* from hp_prefix_test where a = 1 and b = 2 and c is null and d = 4 + Seq Scan on hp_prefix_test_p6 hp_prefix_test + Filter: ((c IS NULL) AND (a = 1) AND (b = 2) AND (d = 4)) + +explain (costs off) select tableoid::regclass,* from hp_prefix_test where a is null and b is null and c = 3 and d = 4 + Seq Scan on hp_prefix_test_p4 hp_prefix_test + Filter: ((a IS NULL) AND (b IS NULL) AND (c = 3) AND (d = 4)) + +explain (costs off) select tableoid::regclass,* from hp_prefix_test where a = 1 and b is null and c = 3 and d = 4 + Seq Scan on hp_prefix_test_p5 hp_prefix_test + Filter: ((b IS NULL) AND (a = 1) AND (c = 3) AND (d = 4)) + +explain (costs off) select tableoid::regclass,* from hp_prefix_test where a is null and b = 2 and c = 3 and d = 4 + Seq Scan on hp_prefix_test_p6 hp_prefix_test + Filter: ((a IS NULL) AND (b = 2) AND (c = 3) AND (d = 4)) + +explain (costs off) select tableoid::regclass,* from hp_prefix_test where a = 1 and b = 2 and c = 3 and d = 4 + Seq Scan on hp_prefix_test_p4 hp_prefix_test + Filter: ((a = 1) AND (b = 2) AND (c = 3) AND (d = 4)) + +-- And ensure we get exactly 1 row from each. Again, all 16 possible combinations. +select + 'select tableoid::regclass,* from hp_prefix_test where ' || + string_agg(c.colname || case when g.s & (1 << c.colpos) = 0 then ' is null' else ' = ' || (colpos+1)::text end, ' and ' order by c.colpos) +from (values('a',0),('b',1),('c',2),('d',3)) c(colname, colpos), generate_Series(0,15) g(s) +group by g.s +order by g.s; + select tableoid::regclass,* from hp_prefix_test where a is null and b is null and c is null and d is null + select tableoid::regclass,* from hp_prefix_test where a = 1 and b is null and c is null and d is null + select tableoid::regclass,* from hp_prefix_test where a is null and b = 2 and c is null and d is null + select tableoid::regclass,* from hp_prefix_test where a = 1 and b = 2 and c is null and d is null + select tableoid::regclass,* from hp_prefix_test where a is null and b is null and c = 3 and d is null + select tableoid::regclass,* from hp_prefix_test where a = 1 and b is null and c = 3 and d is null + select tableoid::regclass,* from hp_prefix_test where a is null and b = 2 and c = 3 and d is null + select tableoid::regclass,* from hp_prefix_test where a = 1 and b = 2 and c = 3 and d is null + select tableoid::regclass,* from hp_prefix_test where a is null and b is null and c is null and d = 4 + select tableoid::regclass,* from hp_prefix_test where a = 1 and b is null and c is null and d = 4 + select tableoid::regclass,* from hp_prefix_test where a is null and b = 2 and c is null and d = 4 + select tableoid::regclass,* from hp_prefix_test where a = 1 and b = 2 and c is null and d = 4 + select tableoid::regclass,* from hp_prefix_test where a is null and b is null and c = 3 and d = 4 + select tableoid::regclass,* from hp_prefix_test where a = 1 and b is null and c = 3 and d = 4 + select tableoid::regclass,* from hp_prefix_test where a is null and b = 2 and c = 3 and d = 4 + select tableoid::regclass,* from hp_prefix_test where a = 1 and b = 2 and c = 3 and d = 4 + +\gexec +select tableoid::regclass,* from hp_prefix_test where a is null and b is null and c is null and d is null + hp_prefix_test_p0 | | | | + +select tableoid::regclass,* from hp_prefix_test where a = 1 and b is null and c is null and d is null + hp_prefix_test_p1 | 1 | | | + +select tableoid::regclass,* from hp_prefix_test where a is null and b = 2 and c is null and d is null + hp_prefix_test_p2 | | 2 | | + +select tableoid::regclass,* from hp_prefix_test where a = 1 and b = 2 and c is null and d is null + hp_prefix_test_p4 | 1 | 2 | | + +select tableoid::regclass,* from hp_prefix_test where a is null and b is null and c = 3 and d is null + hp_prefix_test_p3 | | | 3 | + +select tableoid::regclass,* from hp_prefix_test where a = 1 and b is null and c = 3 and d is null + hp_prefix_test_p7 | 1 | | 3 | + +select tableoid::regclass,* from hp_prefix_test where a is null and b = 2 and c = 3 and d is null + hp_prefix_test_p4 | | 2 | 3 | + +select tableoid::regclass,* from hp_prefix_test where a = 1 and b = 2 and c = 3 and d is null + hp_prefix_test_p5 | 1 | 2 | 3 | + +select tableoid::regclass,* from hp_prefix_test where a is null and b is null and c is null and d = 4 + hp_prefix_test_p4 | | | | 4 + +select tableoid::regclass,* from hp_prefix_test where a = 1 and b is null and c is null and d = 4 + hp_prefix_test_p6 | 1 | | | 4 + +select tableoid::regclass,* from hp_prefix_test where a is null and b = 2 and c is null and d = 4 + hp_prefix_test_p5 | | 2 | | 4 + +select tableoid::regclass,* from hp_prefix_test where a = 1 and b = 2 and c is null and d = 4 + hp_prefix_test_p6 | 1 | 2 | | 4 + +select tableoid::regclass,* from hp_prefix_test where a is null and b is null and c = 3 and d = 4 + hp_prefix_test_p4 | | | 3 | 4 + +select tableoid::regclass,* from hp_prefix_test where a = 1 and b is null and c = 3 and d = 4 + hp_prefix_test_p5 | 1 | | 3 | 4 + +select tableoid::regclass,* from hp_prefix_test where a is null and b = 2 and c = 3 and d = 4 + hp_prefix_test_p6 | | 2 | 3 | 4 + +select tableoid::regclass,* from hp_prefix_test where a = 1 and b = 2 and c = 3 and d = 4 + hp_prefix_test_p4 | 1 | 2 | 3 | 4 + +\t off drop table hp_prefix_test; -- -- Check that gen_partprune_steps() detects self-contradiction from clauses diff --git a/src/test/regress/sql/partition_prune.sql b/src/test/regress/sql/partition_prune.sql index d1c60b8fe9d..caf50458be9 100644 --- a/src/test/regress/sql/partition_prune.sql +++ b/src/test/regress/sql/partition_prune.sql @@ -1182,16 +1182,57 @@ explain (costs off) select * from rp_prefix_test3 where a >= 1 and b >= 1 and b -- that the caller arranges clauses in that prefix in the required order) explain (costs off) select * from rp_prefix_test3 where a >= 1 and b >= 1 and b = 2 and c = 2 and d >= 0; -create table hp_prefix_test (a int, b int, c int, d int) partition by hash (a part_test_int4_ops, b part_test_int4_ops, c part_test_int4_ops, d part_test_int4_ops); -create table hp_prefix_test_p1 partition of hp_prefix_test for values with (modulus 2, remainder 0); -create table hp_prefix_test_p2 partition of hp_prefix_test for values with (modulus 2, remainder 1); - --- Test that get_steps_using_prefix() handles non-NULL step_nullkeys -explain (costs off) select * from hp_prefix_test where a = 1 and b is null and c = 1 and d = 1; - drop table rp_prefix_test1; drop table rp_prefix_test2; drop table rp_prefix_test3; + +-- +-- Test that get_steps_using_prefix() handles IS NULL clauses correctly +-- +create table hp_prefix_test (a int, b int, c int, d int) + partition by hash (a part_test_int4_ops, b part_test_int4_ops, c part_test_int4_ops, d part_test_int4_ops); + +-- create 8 partitions +select 'create table hp_prefix_test_p' || x::text || ' partition of hp_prefix_test for values with (modulus 8, remainder ' || x::text || ');' +from generate_Series(0,7) x; +\gexec + +-- insert 16 rows, one row for each test to perform. +insert into hp_prefix_test +select + case a when 0 then null else 1 end, + case b when 0 then null else 2 end, + case c when 0 then null else 3 end, + case d when 0 then null else 4 end +from + generate_series(0,1) a, + generate_series(0,1) b, + generate_Series(0,1) c, + generate_Series(0,1) d; + +-- Ensure partition pruning works correctly for each combination of IS NULL +-- and equality quals. This may seem a little excessive, but there have been +-- a number of bugs in this area over the years. We make use of row only +-- output to reduce the size of the expected results. +\t on +select + 'explain (costs off) select tableoid::regclass,* from hp_prefix_test where ' || + string_agg(c.colname || case when g.s & (1 << c.colpos) = 0 then ' is null' else ' = ' || (colpos+1)::text end, ' and ' order by c.colpos) +from (values('a',0),('b',1),('c',2),('d',3)) c(colname, colpos), generate_Series(0,15) g(s) +group by g.s +order by g.s; +\gexec + +-- And ensure we get exactly 1 row from each. Again, all 16 possible combinations. +select + 'select tableoid::regclass,* from hp_prefix_test where ' || + string_agg(c.colname || case when g.s & (1 << c.colpos) = 0 then ' is null' else ' = ' || (colpos+1)::text end, ' and ' order by c.colpos) +from (values('a',0),('b',1),('c',2),('d',3)) c(colname, colpos), generate_Series(0,15) g(s) +group by g.s +order by g.s; +\gexec +\t off + drop table hp_prefix_test; -- From f6e9b7f7999327790ff1d5142631b12b4a372132 Mon Sep 17 00:00:00 2001 From: David Rowley Date: Thu, 12 Oct 2023 21:15:58 +1300 Subject: [PATCH 243/317] Doc: fix grammatical errors for enable_partitionwise_aggregate Author: Andrew Atkinson Reviewed-by: Ashutosh Bapat Discussion: https://postgr.es/m/CAG6XLEnC%3DEgq0YHRic2kWWDs4xwQnQ_kBA6qhhzAq1-pO_9Tfw%40mail.gmail.com Backpatch-through: 11, where enable_partitionwise_aggregate was added --- doc/src/sgml/config.sgml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index e0f7348c33a..e4ec5dabff8 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -5390,13 +5390,14 @@ ANY num_sync ( next_free was not reset between partitions. This problem occurred only when not able to use table_multi_insert(), as a dedicated BulkInsertState for each partition is used in that case. The bug was introduced in 00d1e02be24, but it was hard to hit at that point, as commonly bulk relation extension is not used when not using table_multi_insert(). It became more likely after 82a4edabd27, which expanded the use of bulk extension. To fix the bug, reset the bulk relation extension state in BulkInsertState in ReleaseBulkInsertStatePin(). That was added (in b1ecb9b3fcf) to tackle a very similar issue. Obviously the name is not quite correct, but there might be external callers, and bulk insert state needs to be reset in precisely in the situations that ReleaseBulkInsertStatePin() already needed to be called. Medium term the better fix likely is to disallow reusing BulkInsertState across relations. Add a test that, without the fix, reproduces #18130 in most configurations. The test also catches the problem fixed in b1ecb9b3fcf when run with small shared_buffers. Reported-by: Ivan Kolombet Analyzed-by: Tom Lane Analyzed-by: Andres Freund Bug: #18130 Discussion: https://postgr.es/m/18130-7a86a7356a75209d%40postgresql.org Discussion: https://postgr.es/m/257696.1695670946%40sss.pgh.pa.us Backpatch: 16- --- src/backend/access/heap/heapam.c | 11 +++++++++ src/test/regress/expected/copy.out | 37 ++++++++++++++++++++++++++++++ src/test/regress/sql/copy.sql | 37 ++++++++++++++++++++++++++++++ 3 files changed, 85 insertions(+) diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c index e8176aa7c8e..e6a1965e486 100644 --- a/src/backend/access/heap/heapam.c +++ b/src/backend/access/heap/heapam.c @@ -1808,6 +1808,17 @@ ReleaseBulkInsertStatePin(BulkInsertState bistate) if (bistate->current_buf != InvalidBuffer) ReleaseBuffer(bistate->current_buf); bistate->current_buf = InvalidBuffer; + + /* + * Despite the name, we also reset bulk relation extension + * state. Otherwise we can end up erroring out due to looking for free + * space in ->next_free of one partition, even though ->next_free was set + * when extending another partition. It's obviously also could be bad for + * efficiency to look at existing blocks at offsets from another + * partition, even if we don't error out. + */ + bistate->next_free = InvalidBlockNumber; + bistate->last_free = InvalidBlockNumber; } diff --git a/src/test/regress/expected/copy.out b/src/test/regress/expected/copy.out index a5912c13a8c..b48365ec981 100644 --- a/src/test/regress/expected/copy.out +++ b/src/test/regress/expected/copy.out @@ -257,3 +257,40 @@ ERROR: value too long for type character varying(5) \. invalid command \. drop table oversized_column_default; +-- +-- Create partitioned table that does not allow bulk insertions, to test bugs +-- related to the reuse of BulkInsertState across partitions (only done when +-- not using bulk insert). Switching between partitions often makes it more +-- likely to encounter these bugs, so we just switch on roughly every insert +-- by having an even/odd number partition and inserting evenly distributed +-- data. +-- +CREATE TABLE parted_si ( + id int not null, + data text not null, + -- prevent use of bulk insert by having a volatile function + rand float8 not null default random() +) +PARTITION BY LIST((id % 2)); +CREATE TABLE parted_si_p_even PARTITION OF parted_si FOR VALUES IN (0); +CREATE TABLE parted_si_p_odd PARTITION OF parted_si FOR VALUES IN (1); +-- Test that bulk relation extension handles reusing a single BulkInsertState +-- across partitions. Without the fix applied, this reliably reproduces +-- #18130 unless shared_buffers is extremely small (preventing any use use of +-- bulk relation extension). See +-- https://postgr.es/m/18130-7a86a7356a75209d%40postgresql.org +-- https://postgr.es/m/257696.1695670946%40sss.pgh.pa.us +\set filename :abs_srcdir '/data/desc.data' +COPY parted_si(id, data) FROM :'filename'; +-- An earlier bug (see commit b1ecb9b3fcf) could end up using a buffer from +-- the wrong partition. This test is *not* guaranteed to trigger that bug, but +-- does so when shared_buffers is small enough. To test if we encountered the +-- bug, check that the partition condition isn't violated. +SELECT tableoid::regclass, id % 2 = 0 is_even, count(*) from parted_si GROUP BY 1, 2 ORDER BY 1; + tableoid | is_even | count +------------------+---------+------- + parted_si_p_even | t | 5000 + parted_si_p_odd | f | 5000 +(2 rows) + +DROP TABLE parted_si; diff --git a/src/test/regress/sql/copy.sql b/src/test/regress/sql/copy.sql index 7fdb26d14f3..43d2e906dd9 100644 --- a/src/test/regress/sql/copy.sql +++ b/src/test/regress/sql/copy.sql @@ -283,3 +283,40 @@ copy oversized_column_default (col2) from stdin; copy oversized_column_default from stdin (default ''); \. drop table oversized_column_default; + + +-- +-- Create partitioned table that does not allow bulk insertions, to test bugs +-- related to the reuse of BulkInsertState across partitions (only done when +-- not using bulk insert). Switching between partitions often makes it more +-- likely to encounter these bugs, so we just switch on roughly every insert +-- by having an even/odd number partition and inserting evenly distributed +-- data. +-- +CREATE TABLE parted_si ( + id int not null, + data text not null, + -- prevent use of bulk insert by having a volatile function + rand float8 not null default random() +) +PARTITION BY LIST((id % 2)); + +CREATE TABLE parted_si_p_even PARTITION OF parted_si FOR VALUES IN (0); +CREATE TABLE parted_si_p_odd PARTITION OF parted_si FOR VALUES IN (1); + +-- Test that bulk relation extension handles reusing a single BulkInsertState +-- across partitions. Without the fix applied, this reliably reproduces +-- #18130 unless shared_buffers is extremely small (preventing any use use of +-- bulk relation extension). See +-- https://postgr.es/m/18130-7a86a7356a75209d%40postgresql.org +-- https://postgr.es/m/257696.1695670946%40sss.pgh.pa.us +\set filename :abs_srcdir '/data/desc.data' +COPY parted_si(id, data) FROM :'filename'; + +-- An earlier bug (see commit b1ecb9b3fcf) could end up using a buffer from +-- the wrong partition. This test is *not* guaranteed to trigger that bug, but +-- does so when shared_buffers is small enough. To test if we encountered the +-- bug, check that the partition condition isn't violated. +SELECT tableoid::regclass, id % 2 = 0 is_even, count(*) from parted_si GROUP BY 1, 2 ORDER BY 1; + +DROP TABLE parted_si; From ffd0e45f755c0e26e9845939af93494bd011c99d Mon Sep 17 00:00:00 2001 From: Noah Misch Date: Sat, 14 Oct 2023 15:54:46 -0700 Subject: [PATCH 246/317] Don't spuriously report FD_SETSIZE exhaustion on Windows. Starting on 2023-08-03, this intermittently terminated a "pgbench -C" test in CI. It could affect a high-client-count "pgbench" without "-C". While parallel reindexdb and vacuumdb reach the same problematic check, sufficient client count and/or connection turnover is less plausible for them. Given the lack of examples from the buildfarm or from manual builds, reproducing this must entail rare operating system configurations. Also correct the associated error message, which was wrong for non-Windows. Back-patch to v12, where the pgbench check first appeared. While v11 vacuumdb has the problematic check, reaching it with typical vacuumdb usage is implausible. Reviewed by Thomas Munro. Discussion: https://postgr.es/m/CA+hUKG+JwvTNdcyJTriy9BbtzF1veSRQ=9M_ZKFn9_LqE7Kp7Q@mail.gmail.com --- src/bin/pgbench/pgbench.c | 19 +++++++++++++----- src/fe_utils/parallel_slot.c | 37 ++++++++++++++++++++++++++++++++++-- 2 files changed, 49 insertions(+), 7 deletions(-) diff --git a/src/bin/pgbench/pgbench.c b/src/bin/pgbench/pgbench.c index 1d1670d4c2b..cc4533aa9d7 100644 --- a/src/bin/pgbench/pgbench.c +++ b/src/bin/pgbench/pgbench.c @@ -7782,14 +7782,23 @@ clear_socket_set(socket_set *sa) static void add_socket_to_set(socket_set *sa, int fd, int idx) { + /* See connect_slot() for background on this code. */ +#ifdef WIN32 + if (sa->fds.fd_count + 1 >= FD_SETSIZE) + { + pg_log_error("too many concurrent database clients for this platform: %d", + sa->fds.fd_count + 1); + exit(1); + } +#else if (fd < 0 || fd >= FD_SETSIZE) { - /* - * Doing a hard exit here is a bit grotty, but it doesn't seem worth - * complicating the API to make it less grotty. - */ - pg_fatal("too many client connections for select()"); + pg_log_error("socket file descriptor out of range for select(): %d", + fd); + pg_log_error_hint("Try fewer concurrent database clients."); + exit(1); } +#endif FD_SET(fd, &sa->fds); if (fd > sa->maxfd) sa->maxfd = fd; diff --git a/src/fe_utils/parallel_slot.c b/src/fe_utils/parallel_slot.c index aca238bce9f..2be83b70f68 100644 --- a/src/fe_utils/parallel_slot.c +++ b/src/fe_utils/parallel_slot.c @@ -295,8 +295,41 @@ connect_slot(ParallelSlotArray *sa, int slotno, const char *dbname) slot->connection = connectDatabase(sa->cparams, sa->progname, sa->echo, false, true); sa->cparams->override_dbname = old_override; - if (PQsocket(slot->connection) >= FD_SETSIZE) - pg_fatal("too many jobs for this platform"); + /* + * POSIX defines FD_SETSIZE as the highest file descriptor acceptable to + * FD_SET() and allied macros. Windows defines it as a ceiling on the + * count of file descriptors in the set, not a ceiling on the value of + * each file descriptor; see + * https://learn.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-select + * and + * https://learn.microsoft.com/en-us/windows/win32/api/winsock/ns-winsock-fd_set. + * We can't ignore that, because Windows starts file descriptors at a + * higher value, delays reuse, and skips values. With less than ten + * concurrent file descriptors, opened and closed rapidly, one can reach + * file descriptor 1024. + * + * Doing a hard exit here is a bit grotty, but it doesn't seem worth + * complicating the API to make it less grotty. + */ +#ifdef WIN32 + if (slotno >= FD_SETSIZE) + { + pg_log_error("too many jobs for this platform: %d", slotno); + exit(1); + } +#else + { + int fd = PQsocket(slot->connection); + + if (fd >= FD_SETSIZE) + { + pg_log_error("socket file descriptor out of range for select(): %d", + fd); + pg_log_error_hint("Try fewer jobs."); + exit(1); + } + } +#endif /* Setup the connection using the supplied command, if any. */ if (sa->initcmd) From 674b544b0d547a06ad816c9d353f57a6f8b8e46e Mon Sep 17 00:00:00 2001 From: Noah Misch Date: Sat, 14 Oct 2023 16:33:51 -0700 Subject: [PATCH 247/317] Dissociate btequalimage() from interval_ops, ending its deduplication. Under interval_ops, some equal values are distinguishable. One such pair is '24:00:00' and '1 day'. With that being so, btequalimage() breaches the documented contract for the "equalimage" btree support function. This can cause incorrect results from index-only scans. Users should REINDEX any btree indexes having interval-type columns. After updating, pg_amcheck will report an error for almost all such indexes. This fix makes interval_ops simply omit the support function, like numeric_ops does. Back-pack to v13, where btequalimage() first appeared. In back branches, for the benefit of old catalog content, btequalimage() code will return false for type "interval". Going forward, back-branch initdb will include the catalog change. Reviewed by Peter Geoghegan. Discussion: https://postgr.es/m/20231011013317.22.nmisch@google.com --- contrib/amcheck/verify_nbtree.c | 13 ++++++++++++- src/backend/utils/adt/datum.c | 14 ++++++-------- src/include/catalog/pg_amproc.dat | 2 -- src/include/catalog/pg_opfamily.dat | 2 +- src/test/regress/expected/opr_sanity.out | 3 ++- 5 files changed, 21 insertions(+), 13 deletions(-) diff --git a/contrib/amcheck/verify_nbtree.c b/contrib/amcheck/verify_nbtree.c index 94a9759322e..b2698aa5068 100644 --- a/contrib/amcheck/verify_nbtree.c +++ b/contrib/amcheck/verify_nbtree.c @@ -31,6 +31,7 @@ #include "access/xact.h" #include "catalog/index.h" #include "catalog/pg_am.h" +#include "catalog/pg_opfamily_d.h" #include "commands/tablecmds.h" #include "common/pg_prng.h" #include "lib/bloomfilter.h" @@ -338,10 +339,20 @@ bt_index_check_internal(Oid indrelid, bool parentcheck, bool heapallindexed, errmsg("index \"%s\" metapage has equalimage field set on unsupported nbtree version", RelationGetRelationName(indrel)))); if (allequalimage && !_bt_allequalimage(indrel, false)) + { + bool has_interval_ops = false; + + for (int i = 0; i < IndexRelationGetNumberOfKeyAttributes(indrel); i++) + if (indrel->rd_opfamily[i] == INTERVAL_BTREE_FAM_OID) + has_interval_ops = true; ereport(ERROR, (errcode(ERRCODE_INDEX_CORRUPTED), errmsg("index \"%s\" metapage incorrectly indicates that deduplication is safe", - RelationGetRelationName(indrel)))); + RelationGetRelationName(indrel)), + has_interval_ops + ? errhint("This is known of \"interval\" indexes last built on a version predating 2023-11.") + : 0)); + } /* Check index, possibly against table it is an index on */ bt_check_every_level(indrel, heaprel, heapkeyspace, parentcheck, diff --git a/src/backend/utils/adt/datum.c b/src/backend/utils/adt/datum.c index 9f06ee7626f..251dd23ca81 100644 --- a/src/backend/utils/adt/datum.c +++ b/src/backend/utils/adt/datum.c @@ -43,6 +43,7 @@ #include "postgres.h" #include "access/detoast.h" +#include "catalog/pg_type_d.h" #include "common/hashfn.h" #include "fmgr.h" #include "utils/builtins.h" @@ -385,20 +386,17 @@ datum_image_hash(Datum value, bool typByVal, int typLen) * datum_image_eq() in all cases can use this as their "equalimage" support * function. * - * Currently, we unconditionally assume that any B-Tree operator class that - * registers btequalimage as its support function 4 must be able to safely use - * optimizations like deduplication (i.e. we return true unconditionally). If - * it ever proved necessary to rescind support for an operator class, we could - * do that in a targeted fashion by doing something with the opcintype - * argument. + * Earlier minor releases erroneously associated this function with + * interval_ops. Detect that case to rescind deduplication support, without + * requiring initdb. *------------------------------------------------------------------------- */ Datum btequalimage(PG_FUNCTION_ARGS) { - /* Oid opcintype = PG_GETARG_OID(0); */ + Oid opcintype = PG_GETARG_OID(0); - PG_RETURN_BOOL(true); + PG_RETURN_BOOL(opcintype != INTERVALOID); } /*------------------------------------------------------------------------- diff --git a/src/include/catalog/pg_amproc.dat b/src/include/catalog/pg_amproc.dat index 5b950129de0..4c70da41def 100644 --- a/src/include/catalog/pg_amproc.dat +++ b/src/include/catalog/pg_amproc.dat @@ -172,8 +172,6 @@ { amprocfamily => 'btree/interval_ops', amproclefttype => 'interval', amprocrighttype => 'interval', amprocnum => '3', amproc => 'in_range(interval,interval,interval,bool,bool)' }, -{ amprocfamily => 'btree/interval_ops', amproclefttype => 'interval', - amprocrighttype => 'interval', amprocnum => '4', amproc => 'btequalimage' }, { amprocfamily => 'btree/macaddr_ops', amproclefttype => 'macaddr', amprocrighttype => 'macaddr', amprocnum => '1', amproc => 'macaddr_cmp' }, { amprocfamily => 'btree/macaddr_ops', amproclefttype => 'macaddr', diff --git a/src/include/catalog/pg_opfamily.dat b/src/include/catalog/pg_opfamily.dat index 91587b99d09..81a8525c5d0 100644 --- a/src/include/catalog/pg_opfamily.dat +++ b/src/include/catalog/pg_opfamily.dat @@ -50,7 +50,7 @@ opfmethod => 'btree', opfname => 'integer_ops' }, { oid => '1977', opfmethod => 'hash', opfname => 'integer_ops' }, -{ oid => '1982', +{ oid => '1982', oid_symbol => 'INTERVAL_BTREE_FAM_OID', opfmethod => 'btree', opfname => 'interval_ops' }, { oid => '1983', opfmethod => 'hash', opfname => 'interval_ops' }, diff --git a/src/test/regress/expected/opr_sanity.out b/src/test/regress/expected/opr_sanity.out index a1bdf2c0b5f..7a6f36a6a9a 100644 --- a/src/test/regress/expected/opr_sanity.out +++ b/src/test/regress/expected/opr_sanity.out @@ -2208,6 +2208,7 @@ ORDER BY 1, 2, 3; | array_ops | array_ops | anyarray | float_ops | float4_ops | real | float_ops | float8_ops | double precision + | interval_ops | interval_ops | interval | jsonb_ops | jsonb_ops | jsonb | multirange_ops | multirange_ops | anymultirange | numeric_ops | numeric_ops | numeric @@ -2216,7 +2217,7 @@ ORDER BY 1, 2, 3; | record_ops | record_ops | record | tsquery_ops | tsquery_ops | tsquery | tsvector_ops | tsvector_ops | tsvector -(15 rows) +(16 rows) -- **************** pg_index **************** -- Look for illegal values in pg_index fields. From 4959122a098a60990f71c0683c9cda4d5e030d3c Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Mon, 16 Oct 2023 10:43:47 +1300 Subject: [PATCH 248/317] Acquire ControlFileLock in relevant SQL functions. Commit dc7d70ea added functions that read the control file, but didn't acquire ControlFileLock. With unlucky timing, file systems that have weak interlocking like ext4 and ntfs could expose partially overwritten contents, and the checksum would fail. Back-patch to all supported releases. Reviewed-by: David Steele Reviewed-by: Anton A. Melnikov Reviewed-by: Michael Paquier Discussion: https://postgr.es/m/20221123014224.xisi44byq3cf5psi%40awork3.anarazel.de --- src/backend/utils/misc/pg_controldata.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/backend/utils/misc/pg_controldata.c b/src/backend/utils/misc/pg_controldata.c index f2c1084797b..a1003a464dc 100644 --- a/src/backend/utils/misc/pg_controldata.c +++ b/src/backend/utils/misc/pg_controldata.c @@ -24,6 +24,7 @@ #include "common/controldata_utils.h" #include "funcapi.h" #include "miscadmin.h" +#include "storage/lwlock.h" #include "utils/builtins.h" #include "utils/pg_lsn.h" #include "utils/timestamp.h" @@ -42,7 +43,9 @@ pg_control_system(PG_FUNCTION_ARGS) elog(ERROR, "return type must be a row type"); /* read the control file */ + LWLockAcquire(ControlFileLock, LW_SHARED); ControlFile = get_controlfile(DataDir, &crc_ok); + LWLockRelease(ControlFileLock); if (!crc_ok) ereport(ERROR, (errmsg("calculated CRC checksum does not match value stored in file"))); @@ -80,7 +83,9 @@ pg_control_checkpoint(PG_FUNCTION_ARGS) elog(ERROR, "return type must be a row type"); /* Read the control file. */ + LWLockAcquire(ControlFileLock, LW_SHARED); ControlFile = get_controlfile(DataDir, &crc_ok); + LWLockRelease(ControlFileLock); if (!crc_ok) ereport(ERROR, (errmsg("calculated CRC checksum does not match value stored in file"))); @@ -169,7 +174,9 @@ pg_control_recovery(PG_FUNCTION_ARGS) elog(ERROR, "return type must be a row type"); /* read the control file */ + LWLockAcquire(ControlFileLock, LW_SHARED); ControlFile = get_controlfile(DataDir, &crc_ok); + LWLockRelease(ControlFileLock); if (!crc_ok) ereport(ERROR, (errmsg("calculated CRC checksum does not match value stored in file"))); @@ -208,7 +215,9 @@ pg_control_init(PG_FUNCTION_ARGS) elog(ERROR, "return type must be a row type"); /* read the control file */ + LWLockAcquire(ControlFileLock, LW_SHARED); ControlFile = get_controlfile(DataDir, &crc_ok); + LWLockRelease(ControlFileLock); if (!crc_ok) ereport(ERROR, (errmsg("calculated CRC checksum does not match value stored in file"))); From ecf045b9a43964c44f8ee3b386382f9b44880c3a Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Mon, 16 Oct 2023 13:23:51 +1300 Subject: [PATCH 249/317] Fix comment from commit 22655aa231. Per automated complaint from BF animal koel this needed to be re-indented, but there was also a typo. Back-patch to 16. --- src/backend/access/heap/heapam.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c index e6a1965e486..a78e2b8881b 100644 --- a/src/backend/access/heap/heapam.c +++ b/src/backend/access/heap/heapam.c @@ -1810,10 +1810,10 @@ ReleaseBulkInsertStatePin(BulkInsertState bistate) bistate->current_buf = InvalidBuffer; /* - * Despite the name, we also reset bulk relation extension - * state. Otherwise we can end up erroring out due to looking for free - * space in ->next_free of one partition, even though ->next_free was set - * when extending another partition. It's obviously also could be bad for + * Despite the name, we also reset bulk relation extension state. + * Otherwise we can end up erroring out due to looking for free space in + * ->next_free of one partition, even though ->next_free was set when + * extending another partition. It could obviously also be bad for * efficiency to look at existing blocks at offsets from another * partition, even if we don't error out. */ From 1470ad3236bef17ddb1adaafb089220de235b754 Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Mon, 16 Oct 2023 17:10:13 +1300 Subject: [PATCH 250/317] Try to handle torn reads of pg_control in frontend. Some of our src/bin tools read the control file without any kind of interlocking against concurrent writes from the server. At least ext4 and ntfs can expose partially modified contents when you do that. For now, we'll try to tolerate this by retrying up to 10 times if the checksum doesn't match, until we get two reads in a row with the same bad checksum. This is not guaranteed to reach the right conclusion, but it seems very likely to. Thanks to Tom Lane for this suggestion. Various ideas for interlocking or atomicity were considered too complicated, unportable or expensive given the lack of field reports, but remain open for future reconsideration. Back-patch as far as 12. It doesn't seem like a good idea to put a heuristic change for a very rare problem into the final release of 11. Reviewed-by: Anton A. Melnikov Reviewed-by: David Steele Reviewed-by: Michael Paquier Discussion: https://postgr.es/m/20221123014224.xisi44byq3cf5psi%40awork3.anarazel.de --- src/common/controldata_utils.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/src/common/controldata_utils.c b/src/common/controldata_utils.c index 97235874662..4d1cd1ce989 100644 --- a/src/common/controldata_utils.c +++ b/src/common/controldata_utils.c @@ -56,12 +56,22 @@ get_controlfile(const char *DataDir, bool *crc_ok_p) char ControlFilePath[MAXPGPATH]; pg_crc32c crc; int r; +#ifdef FRONTEND + pg_crc32c last_crc; + int retries = 0; +#endif Assert(crc_ok_p); ControlFile = palloc_object(ControlFileData); snprintf(ControlFilePath, MAXPGPATH, "%s/global/pg_control", DataDir); +#ifdef FRONTEND + INIT_CRC32C(last_crc); + +retry: +#endif + #ifndef FRONTEND if ((fd = OpenTransientFile(ControlFilePath, O_RDONLY | PG_BINARY)) == -1) ereport(ERROR, @@ -117,6 +127,26 @@ get_controlfile(const char *DataDir, bool *crc_ok_p) *crc_ok_p = EQ_CRC32C(crc, ControlFile->crc); +#ifdef FRONTEND + + /* + * If the server was writing at the same time, it is possible that we read + * partially updated contents on some systems. If the CRC doesn't match, + * retry a limited number of times until we compute the same bad CRC twice + * in a row with a short sleep in between. Then the failure is unlikely + * to be due to a concurrent write. + */ + if (!*crc_ok_p && + (retries == 0 || !EQ_CRC32C(crc, last_crc)) && + retries < 10) + { + retries++; + last_crc = crc; + pg_usleep(10000); + goto retry; + } +#endif + /* Make sure the control file is valid byte order. */ if (ControlFile->pg_control_version % 65536 == 0 && ControlFile->pg_control_version / 65536 != 0) From 38efbe7777b3dec62c22667656a8402d75027456 Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Mon, 16 Oct 2023 12:57:39 -0400 Subject: [PATCH 251/317] Update the documentation on recovering from (M)XID exhaustion. The old documentation encourages entering single-user mode for no reason, which is a bad plan in most cases. Instead, discourage users from doing that, and explain the limited cases in which it may be desirable. The old documentation claims that running VACUUM as anyone but the superuser can't possibly work, which is not really true, because it might be that some other user has enough permissions to VACUUM all the tables that matter. Weaken the language just a bit. The old documentation claims that you can't run any commands when near XID exhaustion, which is false because you can still run commands that don't require an XID, like a SELECT without a locking clause. The old documentation doesn't clearly explain that it's a good idea to get rid of prepared transactons, long-running transactions, and replication slots that are preventing (M)XID horizon advancement. Spell out the steps to do that. Also, discourage the use of VACUUM FULL and VACUUM FREEZE in this type of scenario. Back-patch to v14. Much of this is good advice on all supported versions, but before 60f1f09ff44308667ef6c72fbafd68235e55ae27 the chances of VACUUM failing in multi-user mode were much higher. Alexander Alekseev, John Naylor, Robert Haas, reviewed at various times by Peter Geoghegan, Hannu Krosing, and Andres Freund. Discussion: http://postgr.es/m/CA+TgmoYtsUDrzaHcmjFhLzTk1VEv29mO_u-MT+XWHrBJ_4nD8A@mail.gmail.com --- doc/src/sgml/maintenance.sgml | 112 +++++++++++++++++++++++++++++----- 1 file changed, 97 insertions(+), 15 deletions(-) diff --git a/doc/src/sgml/maintenance.sgml b/doc/src/sgml/maintenance.sgml index 3018d8f64cf..66f2c6a02e8 100644 --- a/doc/src/sgml/maintenance.sgml +++ b/doc/src/sgml/maintenance.sgml @@ -660,29 +660,79 @@ HINT: To avoid a database shutdown, execute a database-wide VACUUM in that data (A manual VACUUM should fix the problem, as suggested by the - hint; but note that the VACUUM must be performed by a - superuser, else it will fail to process system catalogs and thus not - be able to advance the database's datfrozenxid.) - If these warnings are - ignored, the system will shut down and refuse to start any new - transactions once there are fewer than three million transactions left - until wraparound: + hint; but note that the VACUUM should be performed by a + superuser, else it will fail to process system catalogs, which prevent it from + being able to advance the database's datfrozenxid.) + If these warnings are ignored, the system will refuse to assign new XIDs once + there are fewer than three million transactions left until wraparound: ERROR: database is not accepting commands to avoid wraparound data loss in database "mydb" HINT: Stop the postmaster and vacuum that database in single-user mode. - The three-million-transaction safety margin exists to let the - administrator recover without data loss, by manually executing the - required VACUUM commands. However, since the system will not - execute commands once it has gone into the safety shutdown mode, - the only way to do this is to stop the server and start the server in single-user - mode to execute VACUUM. The shutdown mode is not enforced - in single-user mode. See the reference - page for details about using single-user mode. + In this condition any transactions already in progress can continue, + but only read-only transactions can be started. Operations that + modify database records or truncate relations will fail. + The VACUUM command can still be run normally. + Contrary to what the hint states, it is not necessary or desirable to stop the + postmaster or enter single user-mode in order to restore normal operation. + Instead, follow these steps: + + + + Resolve old prepared transactions. You can find these by checking + pg_prepared_xacts for rows where + age(transactionid) is large. Such transactions should be + committed or rolled back. + + + End long-running open transactions. You can find these by checking + pg_stat_activity for rows where + age(backend_xid) or age(backend_xmin) is + large. Such transactions should be committed or rolled back, or the session + can be terminated using pg_terminate_backend. + + + Drop any old replication slots. Use + pg_stat_replication to + find slots where age(xmin) or age(catalog_xmin) + is large. In many cases, such slots were created for replication to servers that no + longer exist, or that have been down for a long time. If you drop a slot for a server + that still exists and might still try to connect to that slot, that replica may + need to be rebuilt. + + + Execute VACUUM in the target database. A database-wide + VACUUM is simplest; to reduce the time required, it as also possible + to issue manual VACUUM commands on the tables where + relminxid is oldest. Do not use VACUUM FULL + in this scenario, because it requires an XID and will therefore fail, except in super-user + mode, where it will instead consume an XID and thus increase the risk of transaction ID + wraparound. Do not use VACUUM FREEZE either, because it will do + more than the minimum amount of work required to restore normal operation. + + + Once normal operation is restored, ensure that autovacuum is properly configured + in the target database in order to avoid future problems. + + + + + In earlier versions, it was sometimes necessary to stop the postmaster and + VACUUM the database in a single-user mode. In typical scenarios, this + is no longer necessary, and should be avoided whenever possible, since it involves taking + the system down. It is also riskier, since it disables transaction ID wraparound safeguards + that are designed to prevent data loss. The only reason to use single-user mode in this + scenario is if you wish to TRUNCATE or DROP unneeded + tables to avoid needing to VACUUM them. The three-million-transaction + safety margin exists to let the administrator do this. See the + reference page for details about using single-user mode. + + + Multixacts and Wraparound @@ -747,6 +797,38 @@ HINT: Stop the postmaster and vacuum that database in single-user mode. have the oldest multixact-age. Both of these kinds of aggressive scans will occur even if autovacuum is nominally disabled. + + + Similar to the XID case, if autovacuum fails to clear old MXIDs from a table, the + system will begin to emit warning messages when the database's oldest MXIDs reach forty + million transactions from the wraparound point. And, just as an the XID case, if these + warnings are ignored, the system will refuse to generate new MXIDs once there are fewer + than three million left until wraparound. + + + + Normal operation when MXIDs are exhausted can be restored in much the same way as + when XIDs are exhausted. Follow the same steps in the previous section, but with the + following differences: + + + + Running transactions and prepared transactions can be ignored if there + is no chance that they might appear in a multixact. + + + MXID information is not directly visible in system views such as + pg_stat_activity; however, looking for old XIDs is still a good + way of determining which transactions are causing MXID wraparound problems. + + + XID exhaustion will block all write transactions, but MXID exhaustion will + only block a subset of write transactions, specifically those that involve + row locks that require an MXID. + + + + From 3702bd1394ffe2d4c10ca9084973b9e81ed937d5 Mon Sep 17 00:00:00 2001 From: Nathan Bossart Date: Mon, 16 Oct 2023 12:42:17 -0500 Subject: [PATCH 252/317] Move extra code out of the Pre/PostRestoreCommand() section. If SIGTERM is received within this section, the startup process will immediately proc_exit() in the signal handler, so it is inadvisable to include any more code than is required there (as such code is unlikely to be compatible with doing proc_exit() in a signal handler). This commit moves the code recently added to this section (see 1b06d7bac9 and 7fed801135) to outside of the section. This ensures that the startup process only calls proc_exit() in its SIGTERM handler for the duration of the system() call, which is how this code worked from v8.4 to v14. Reported-by: Michael Paquier, Thomas Munro Analyzed-by: Andres Freund Suggested-by: Tom Lane Reviewed-by: Michael Paquier, Robert Haas, Thomas Munro, Andres Freund Discussion: https://postgr.es/m/Y9nGDSgIm83FHcad%40paquier.xyz Discussion: https://postgr.es/m/20230223231503.GA743455%40nathanxps13 Backpatch-through: 15 --- src/backend/access/transam/xlogarchive.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/backend/access/transam/xlogarchive.c b/src/backend/access/transam/xlogarchive.c index f3fb92c8f96..524e80adb1c 100644 --- a/src/backend/access/transam/xlogarchive.c +++ b/src/backend/access/transam/xlogarchive.c @@ -159,20 +159,27 @@ RestoreArchivedFile(char *path, const char *xlogfname, (errmsg_internal("executing restore command \"%s\"", xlogRestoreCmd))); + fflush(NULL); + pgstat_report_wait_start(WAIT_EVENT_RESTORE_COMMAND); + /* - * Check signals before restore command and reset afterwards. + * PreRestoreCommand() informs the SIGTERM handler for the startup process + * that it should proc_exit() right away. This is done for the duration + * of the system() call because there isn't a good way to break out while + * it is executing. Since we might call proc_exit() in a signal handler, + * it is best to put any additional logic before or after the + * PreRestoreCommand()/PostRestoreCommand() section. */ PreRestoreCommand(); /* * Copy xlog from archival storage to XLOGDIR */ - fflush(NULL); - pgstat_report_wait_start(WAIT_EVENT_RESTORE_COMMAND); rc = system(xlogRestoreCmd); - pgstat_report_wait_end(); PostRestoreCommand(); + + pgstat_report_wait_end(); pfree(xlogRestoreCmd); if (rc == 0) From 3b17437e1f88ab05aa1d3d67ea4e6a4aefa44fcb Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 16 Oct 2023 14:06:11 -0400 Subject: [PATCH 253/317] Ensure we have a snapshot while dropping ON COMMIT DROP temp tables. Dropping a temp table could entail TOAST table access to clean out toasted catalog entries, such as large pg_constraint.conbin strings for complex CHECK constraints. If we did that via ON COMMIT DROP, we triggered the assertion in init_toast_snapshot(), because there was no provision for setting up a snapshot for the drop actions. Fix that. (I assume here that the adjacent truncation actions for ON COMMIT DELETE ROWS don't have a similar problem: it doesn't seem like nontransactional truncations would need to touch any toasted fields. If that proves wrong, we could refactor a bit to have the same snapshot acquisition cover that too.) The test case added here does not fail before v15, because that assertion was added in 277692220 which was not back-patched. However, the race condition the assertion warns of surely exists further back, so back-patch to all supported branches. Per report from Richard Guo. Discussion: https://postgr.es/m/CAMbWs4-x26=_QxxgdJyNbiCDzvtr2WV5ZDso_v-CukKEe6cBZw@mail.gmail.com --- src/backend/commands/tablecmds.c | 8 ++++++++ src/test/regress/expected/temp.out | 20 ++++++++++++++++++++ src/test/regress/sql/temp.sql | 16 ++++++++++++++++ 3 files changed, 44 insertions(+) diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index 972fba5efa1..ffe25fe595f 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -16962,6 +16962,12 @@ PreCommit_on_commit_actions(void) add_exact_object_address(&object, targetObjects); } + /* + * Object deletion might involve toast table access (to clean up + * toasted catalog entries), so ensure we have a valid snapshot. + */ + PushActiveSnapshot(GetTransactionSnapshot()); + /* * Since this is an automatic drop, rather than one directly initiated * by the user, we pass the PERFORM_DELETION_INTERNAL flag. @@ -16969,6 +16975,8 @@ PreCommit_on_commit_actions(void) performMultipleDeletions(targetObjects, DROP_CASCADE, PERFORM_DELETION_INTERNAL | PERFORM_DELETION_QUIETLY); + PopActiveSnapshot(); + #ifdef USE_ASSERT_CHECKING /* diff --git a/src/test/regress/expected/temp.out b/src/test/regress/expected/temp.out index a5b3ed34a36..2a246a7e123 100644 --- a/src/test/regress/expected/temp.out +++ b/src/test/regress/expected/temp.out @@ -108,6 +108,26 @@ SELECT * FROM temptest; 1 (1 row) +COMMIT; +SELECT * FROM temptest; +ERROR: relation "temptest" does not exist +LINE 1: SELECT * FROM temptest; + ^ +-- Test it with a CHECK condition that produces a toasted pg_constraint entry +BEGIN; +do $$ +begin + execute format($cmd$ + CREATE TEMP TABLE temptest (col text CHECK (col < %L)) ON COMMIT DROP + $cmd$, + (SELECT string_agg(g.i::text || ':' || random()::text, '|') + FROM generate_series(1, 100) g(i))); +end$$; +SELECT * FROM temptest; + col +----- +(0 rows) + COMMIT; SELECT * FROM temptest; ERROR: relation "temptest" does not exist diff --git a/src/test/regress/sql/temp.sql b/src/test/regress/sql/temp.sql index 424d12b2833..2a487a1ef7f 100644 --- a/src/test/regress/sql/temp.sql +++ b/src/test/regress/sql/temp.sql @@ -101,6 +101,22 @@ COMMIT; SELECT * FROM temptest; +-- Test it with a CHECK condition that produces a toasted pg_constraint entry +BEGIN; +do $$ +begin + execute format($cmd$ + CREATE TEMP TABLE temptest (col text CHECK (col < %L)) ON COMMIT DROP + $cmd$, + (SELECT string_agg(g.i::text || ':' || random()::text, '|') + FROM generate_series(1, 100) g(i))); +end$$; + +SELECT * FROM temptest; +COMMIT; + +SELECT * FROM temptest; + -- ON COMMIT is only allowed for TEMP CREATE TABLE temptest(col int) ON COMMIT DELETE ROWS; From a6cb5f3918cd2f9b16eba5e3b08b19969c25961c Mon Sep 17 00:00:00 2001 From: Nathan Bossart Date: Tue, 17 Oct 2023 10:41:58 -0500 Subject: [PATCH 254/317] Avoid calling proc_exit() in processes forked by system(). The SIGTERM handler for the startup process immediately calls proc_exit() for the duration of the restore_command, i.e., a call to system(). This system() call forks a new process to execute the shell command, and this child process inherits the parent's signal handlers. If both the parent and child processes receive SIGTERM, both will attempt to call proc_exit(). This can end badly. For example, both processes will try to remove themselves from the PGPROC shared array. To fix this problem, this commit adds a check in StartupProcShutdownHandler() to see whether MyProcPid == getpid(). If they match, this is the parent process, and we can proc_exit() like before. If they do not match, this is a child process, and we just emit a message to STDERR (in a signal safe manner) and _exit(), thereby skipping any problematic exit callbacks. This commit also adds checks in proc_exit(), ProcKill(), and AuxiliaryProcKill() that verify they are not being called within such child processes. Suggested-by: Andres Freund Reviewed-by: Thomas Munro, Andres Freund Discussion: https://postgr.es/m/Y9nGDSgIm83FHcad%40paquier.xyz Discussion: https://postgr.es/m/20230223231503.GA743455%40nathanxps13 Backpatch-through: 11 --- src/include/utils/elog.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/include/utils/elog.h b/src/include/utils/elog.h index 92e33c73f3f..6630676f194 100644 --- a/src/include/utils/elog.h +++ b/src/include/utils/elog.h @@ -540,6 +540,7 @@ extern void write_jsonlog(ErrorData *edata); extern void write_stderr(const char *fmt,...) pg_attribute_printf(1, 2); extern bool error_stack_full(void); + /* * Write a message to STDERR using only async-signal-safe functions. This can * be used to safely emit a message from a signal handler. From fd59de00138b0f759551a24f991e56de0bc79a5c Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 17 Oct 2023 13:55:45 -0400 Subject: [PATCH 255/317] Back-patch test cases for timetz_zone/timetz_izone. Per code coverage reports, we had zero regression test coverage of these functions. That came back to bite us, as apparently that's allowed us to miss discovering misbehavior of this code with AIX's xlc compiler. Install relevant portions of the test cases added in 97957fdba, 2f0472030, 19fa97731. (Assuming the expected outcome that the xlc problem does appear in back branches, a code fix will follow.) Discussion: https://postgr.es/m/CA+hUKGK=DOC+hE-62FKfZy=Ybt5uLkrg3zCZD-jFykM-iPn8yw@mail.gmail.com --- src/test/regress/expected/timetz.out | 60 ++++++++++++++++++++++++++++ src/test/regress/sql/timetz.sql | 20 ++++++++++ 2 files changed, 80 insertions(+) diff --git a/src/test/regress/expected/timetz.out b/src/test/regress/expected/timetz.out index be49588b6d3..658a8391d7b 100644 --- a/src/test/regress/expected/timetz.out +++ b/src/test/regress/expected/timetz.out @@ -262,3 +262,63 @@ SELECT date_part('epoch', TIME WITH TIME ZONE '2020-05-26 13:30:25.575401- 63025.575401 (1 row) +-- +-- Test timetz_zone, timetz_izone +-- +BEGIN; +SET LOCAL TimeZone TO 'UTC'; +CREATE VIEW timetz_local_view AS + SELECT f1 AS dat, + f1 AT TIME ZONE current_setting('TimeZone') AS dat_at_tz, + f1 AT TIME ZONE INTERVAL '00:00' AS dat_at_int + FROM TIMETZ_TBL + ORDER BY f1; +SELECT pg_get_viewdef('timetz_local_view', true); + pg_get_viewdef +----------------------------------------------------------------------- + SELECT f1 AS dat, + + (f1 AT TIME ZONE current_setting('TimeZone'::text)) AS dat_at_tz,+ + (f1 AT TIME ZONE '@ 0'::interval) AS dat_at_int + + FROM timetz_tbl + + ORDER BY f1; +(1 row) + +TABLE timetz_local_view; + dat | dat_at_tz | dat_at_int +----------------+----------------+---------------- + 00:01:00-07 | 07:01:00+00 | 07:01:00+00 + 01:00:00-07 | 08:00:00+00 | 08:00:00+00 + 02:03:00-07 | 09:03:00+00 | 09:03:00+00 + 08:08:00-04 | 12:08:00+00 | 12:08:00+00 + 07:07:00-08 | 15:07:00+00 | 15:07:00+00 + 11:59:00-07 | 18:59:00+00 | 18:59:00+00 + 12:00:00-07 | 19:00:00+00 | 19:00:00+00 + 12:01:00-07 | 19:01:00+00 | 19:01:00+00 + 15:36:39-04 | 19:36:39+00 | 19:36:39+00 + 15:36:39-05 | 20:36:39+00 | 20:36:39+00 + 23:59:00-07 | 06:59:00+00 | 06:59:00+00 + 23:59:59.99-07 | 06:59:59.99+00 | 06:59:59.99+00 +(12 rows) + +SELECT f1 AS dat, + f1 AT TIME ZONE 'UTC+10' AS dat_at_tz, + f1 AT TIME ZONE INTERVAL '-10:00' AS dat_at_int + FROM TIMETZ_TBL + ORDER BY f1; + dat | dat_at_tz | dat_at_int +----------------+----------------+---------------- + 00:01:00-07 | 21:01:00-10 | 21:01:00-10 + 01:00:00-07 | 22:00:00-10 | 22:00:00-10 + 02:03:00-07 | 23:03:00-10 | 23:03:00-10 + 08:08:00-04 | 02:08:00-10 | 02:08:00-10 + 07:07:00-08 | 05:07:00-10 | 05:07:00-10 + 11:59:00-07 | 08:59:00-10 | 08:59:00-10 + 12:00:00-07 | 09:00:00-10 | 09:00:00-10 + 12:01:00-07 | 09:01:00-10 | 09:01:00-10 + 15:36:39-04 | 09:36:39-10 | 09:36:39-10 + 15:36:39-05 | 10:36:39-10 | 10:36:39-10 + 23:59:00-07 | 20:59:00-10 | 20:59:00-10 + 23:59:59.99-07 | 20:59:59.99-10 | 20:59:59.99-10 +(12 rows) + +ROLLBACK; diff --git a/src/test/regress/sql/timetz.sql b/src/test/regress/sql/timetz.sql index 93c7bb14288..1ffad1968b2 100644 --- a/src/test/regress/sql/timetz.sql +++ b/src/test/regress/sql/timetz.sql @@ -84,3 +84,23 @@ SELECT date_part('microsecond', TIME WITH TIME ZONE '2020-05-26 13:30:25.575401- SELECT date_part('millisecond', TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04'); SELECT date_part('second', TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04'); SELECT date_part('epoch', TIME WITH TIME ZONE '2020-05-26 13:30:25.575401-04'); + +-- +-- Test timetz_zone, timetz_izone +-- +BEGIN; +SET LOCAL TimeZone TO 'UTC'; +CREATE VIEW timetz_local_view AS + SELECT f1 AS dat, + f1 AT TIME ZONE current_setting('TimeZone') AS dat_at_tz, + f1 AT TIME ZONE INTERVAL '00:00' AS dat_at_int + FROM TIMETZ_TBL + ORDER BY f1; +SELECT pg_get_viewdef('timetz_local_view', true); +TABLE timetz_local_view; +SELECT f1 AS dat, + f1 AT TIME ZONE 'UTC+10' AS dat_at_tz, + f1 AT TIME ZONE INTERVAL '-10:00' AS dat_at_int + FROM TIMETZ_TBL + ORDER BY f1; +ROLLBACK; From b36fc224eb4ab38f9114c96e46a11cbe57d12cb3 Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Wed, 18 Oct 2023 14:54:39 +0900 Subject: [PATCH 256/317] Count write times when extending relation files for shared buffers Relation files extended multiple blocks at a time have been counting the number of blocks written, but forgot that to increment the write time in this case, as write and relation extension are treated as two different I/O operations in the shared stats: IOOP_EXTEND vs IOOP_WRITE. In this case IOOP_EXTEND was forgotten for normal (non-temporary) relations. Write times are tracked when track_io_timing is enabled, which is not the case by default. Author: Nazir Bilal Yavuz Reviewed-by: Robert Haas, Melanie Plageman Discussion: https://postgr.es/m/CAN55FZ19Ss279mZuqGbuUNxka0iPbLgYuOQXqAKewrjNrp27VA@mail.gmail.com Backpatch-through: 16 --- src/backend/utils/activity/pgstat_io.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/utils/activity/pgstat_io.c b/src/backend/utils/activity/pgstat_io.c index eb7d35d4225..8ec86701997 100644 --- a/src/backend/utils/activity/pgstat_io.c +++ b/src/backend/utils/activity/pgstat_io.c @@ -119,7 +119,7 @@ pgstat_count_io_op_time(IOObject io_object, IOContext io_context, IOOp io_op, INSTR_TIME_SET_CURRENT(io_time); INSTR_TIME_SUBTRACT(io_time, start_time); - if (io_op == IOOP_WRITE) + if (io_op == IOOP_WRITE || io_op == IOOP_EXTEND) { pgstat_count_buffer_write_time(INSTR_TIME_GET_MICROSEC(io_time)); if (io_object == IOOBJECT_RELATION) From ce0c91c60070481f5278b34dfc8a6a9b1a8f0a59 Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Wed, 18 Oct 2023 18:23:43 +0900 Subject: [PATCH 257/317] pg_upgrade: Fix test name in 002_pg_upgrade.pl Author: Hou Zhijie Discussion: https://postgr.es/m/TYAPR01MB5724A40D47E71F4717357EC694D5A@TYAPR01MB5724.jpnprd01.prod.outlook.com Backpatch-through: 15 --- src/bin/pg_upgrade/t/002_pg_upgrade.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/pg_upgrade/t/002_pg_upgrade.pl b/src/bin/pg_upgrade/t/002_pg_upgrade.pl index a5688a1cf2a..c6d83d3c211 100644 --- a/src/bin/pg_upgrade/t/002_pg_upgrade.pl +++ b/src/bin/pg_upgrade/t/002_pg_upgrade.pl @@ -382,7 +382,7 @@ sub filter_dump ], 'run of pg_upgrade --check for new instance'); ok(!-d $newnode->data_dir . "/pg_upgrade_output.d", - "pg_upgrade_output.d/ not removed after pg_upgrade --check success"); + "pg_upgrade_output.d/ removed after pg_upgrade --check success"); # Actual run, pg_upgrade_output.d is removed at the end. command_ok( From b0ad3d601931fcf445b3e4caa0d164f6ee5f1f7f Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Wed, 18 Oct 2023 22:09:05 +1300 Subject: [PATCH 258/317] jit: Support opaque pointers in LLVM 16. Remove use of LLVMGetElementType() and provide the type of all pointers to LLVMBuildXXX() functions when emitting IR, as required by modern LLVM versions[1]. * For LLVM <= 14, we'll still use the old LLVMBuildXXX() functions. * For LLVM == 15, we'll continue to do the same, explicitly opting out of opaque pointer mode. * For LLVM >= 16, we'll use the new LLVMBuildXXX2() functions that take the extra type argument. The difference is hidden behind some new IR emitting wrapper functions l_load(), l_gep(), l_call() etc. The change is mostly mechanical, except that at each site the correct type had to be provided. In some places we needed to do some extra work to get functions types, including some new wrappers for C++ APIs that are not yet exposed by in LLVM's C API, and some new "example" functions in llvmjit_types.c because it's no longer possible to start from the function pointer type and ask for the function type. Back-patch to 12, because it's a little tricker in 11 and we agreed not to put the latest LLVM support into the upcoming final release of 11. [1] https://llvm.org/docs/OpaquePointers.html Reviewed-by: Dmitry Dolgov <9erthalion6@gmail.com> Reviewed-by: Ronan Dunklau Reviewed-by: Andres Freund Discussion: https://postgr.es/m/CA%2BhUKGKNX_%3Df%2B1C4r06WETKTq0G4Z_7q4L4Fxn5WWpMycDj9Fw%40mail.gmail.com --- src/backend/jit/llvm/llvmjit.c | 57 ++-- src/backend/jit/llvm/llvmjit_deform.c | 119 ++++---- src/backend/jit/llvm/llvmjit_expr.c | 401 ++++++++++++++++---------- src/backend/jit/llvm/llvmjit_types.c | 39 ++- src/backend/jit/llvm/llvmjit_wrap.cpp | 12 + src/backend/jit/llvm/meson.build | 2 +- src/include/jit/llvmjit.h | 7 + src/include/jit/llvmjit_emit.h | 106 +++++-- 8 files changed, 479 insertions(+), 264 deletions(-) diff --git a/src/backend/jit/llvm/llvmjit.c b/src/backend/jit/llvm/llvmjit.c index 5c30494fa17..9e7ed1c2d25 100644 --- a/src/backend/jit/llvm/llvmjit.c +++ b/src/backend/jit/llvm/llvmjit.c @@ -85,8 +85,11 @@ LLVMTypeRef StructExprState; LLVMTypeRef StructAggState; LLVMTypeRef StructAggStatePerGroupData; LLVMTypeRef StructAggStatePerTransData; +LLVMTypeRef StructPlanState; LLVMValueRef AttributeTemplate; +LLVMValueRef ExecEvalSubroutineTemplate; +LLVMValueRef ExecEvalBoolSubroutineTemplate; LLVMModuleRef llvm_types_module = NULL; @@ -384,11 +387,7 @@ llvm_pg_var_type(const char *varname) if (!v_srcvar) elog(ERROR, "variable %s not in llvmjit_types.c", varname); - /* look at the contained type */ - typ = LLVMTypeOf(v_srcvar); - Assert(typ != NULL && LLVMGetTypeKind(typ) == LLVMPointerTypeKind); - typ = LLVMGetElementType(typ); - Assert(typ != NULL); + typ = LLVMGlobalGetValueType(v_srcvar); return typ; } @@ -400,12 +399,14 @@ llvm_pg_var_type(const char *varname) LLVMTypeRef llvm_pg_var_func_type(const char *varname) { - LLVMTypeRef typ = llvm_pg_var_type(varname); + LLVMValueRef v_srcvar; + LLVMTypeRef typ; + + v_srcvar = LLVMGetNamedFunction(llvm_types_module, varname); + if (!v_srcvar) + elog(ERROR, "function %s not in llvmjit_types.c", varname); - /* look at the contained type */ - Assert(LLVMGetTypeKind(typ) == LLVMPointerTypeKind); - typ = LLVMGetElementType(typ); - Assert(typ != NULL && LLVMGetTypeKind(typ) == LLVMFunctionTypeKind); + typ = LLVMGetFunctionType(v_srcvar); return typ; } @@ -435,7 +436,7 @@ llvm_pg_func(LLVMModuleRef mod, const char *funcname) v_fn = LLVMAddFunction(mod, funcname, - LLVMGetElementType(LLVMTypeOf(v_srcfn))); + LLVMGetFunctionType(v_srcfn)); llvm_copy_attributes(v_srcfn, v_fn); return v_fn; @@ -531,7 +532,7 @@ llvm_function_reference(LLVMJitContext *context, fcinfo->flinfo->fn_oid); v_fn = LLVMGetNamedGlobal(mod, funcname); if (v_fn != 0) - return LLVMBuildLoad(builder, v_fn, ""); + return l_load(builder, TypePGFunction, v_fn, ""); v_fn_addr = l_ptr_const(fcinfo->flinfo->fn_addr, TypePGFunction); @@ -541,7 +542,7 @@ llvm_function_reference(LLVMJitContext *context, LLVMSetLinkage(v_fn, LLVMPrivateLinkage); LLVMSetUnnamedAddr(v_fn, true); - return LLVMBuildLoad(builder, v_fn, ""); + return l_load(builder, TypePGFunction, v_fn, ""); } /* check if function already has been added */ @@ -549,7 +550,7 @@ llvm_function_reference(LLVMJitContext *context, if (v_fn != 0) return v_fn; - v_fn = LLVMAddFunction(mod, funcname, LLVMGetElementType(TypePGFunction)); + v_fn = LLVMAddFunction(mod, funcname, LLVMGetFunctionType(AttributeTemplate)); return v_fn; } @@ -801,12 +802,15 @@ llvm_session_initialize(void) LLVMInitializeNativeAsmParser(); /* - * When targeting an LLVM version with opaque pointers enabled by default, - * turn them off for the context we build our code in. We don't need to - * do so for other contexts (e.g. llvm_ts_context). Once the IR is - * generated, it carries the necessary information. + * When targeting LLVM 15, turn off opaque pointers for the context we + * build our code in. We don't need to do so for other contexts (e.g. + * llvm_ts_context). Once the IR is generated, it carries the necessary + * information. + * + * For 16 and above, opaque pointers must be used, and we have special + * code for that. */ -#if LLVM_VERSION_MAJOR > 14 +#if LLVM_VERSION_MAJOR == 15 LLVMContextSetOpaquePointers(LLVMGetGlobalContext(), false); #endif @@ -968,15 +972,7 @@ load_return_type(LLVMModuleRef mod, const char *name) if (!value) elog(ERROR, "function %s is unknown", name); - /* get type of function pointer */ - typ = LLVMTypeOf(value); - Assert(typ != NULL); - /* dereference pointer */ - typ = LLVMGetElementType(typ); - Assert(typ != NULL); - /* and look at return type */ - typ = LLVMGetReturnType(typ); - Assert(typ != NULL); + typ = LLVMGetFunctionReturnType(value); /* in llvmjit_wrap.cpp */ return typ; } @@ -1031,12 +1027,17 @@ llvm_create_types(void) StructHeapTupleTableSlot = llvm_pg_var_type("StructHeapTupleTableSlot"); StructMinimalTupleTableSlot = llvm_pg_var_type("StructMinimalTupleTableSlot"); StructHeapTupleData = llvm_pg_var_type("StructHeapTupleData"); + StructHeapTupleHeaderData = llvm_pg_var_type("StructHeapTupleHeaderData"); StructTupleDescData = llvm_pg_var_type("StructTupleDescData"); StructAggState = llvm_pg_var_type("StructAggState"); StructAggStatePerGroupData = llvm_pg_var_type("StructAggStatePerGroupData"); StructAggStatePerTransData = llvm_pg_var_type("StructAggStatePerTransData"); + StructPlanState = llvm_pg_var_type("StructPlanState"); + StructMinimalTupleData = llvm_pg_var_type("StructMinimalTupleData"); AttributeTemplate = LLVMGetNamedFunction(llvm_types_module, "AttributeTemplate"); + ExecEvalSubroutineTemplate = LLVMGetNamedFunction(llvm_types_module, "ExecEvalSubroutineTemplate"); + ExecEvalBoolSubroutineTemplate = LLVMGetNamedFunction(llvm_types_module, "ExecEvalBoolSubroutineTemplate"); } /* diff --git a/src/backend/jit/llvm/llvmjit_deform.c b/src/backend/jit/llvm/llvmjit_deform.c index 15d4a7b431a..dab480dd69b 100644 --- a/src/backend/jit/llvm/llvmjit_deform.c +++ b/src/backend/jit/llvm/llvmjit_deform.c @@ -171,13 +171,13 @@ slot_compile_deform(LLVMJitContext *context, TupleDesc desc, v_slot = LLVMGetParam(v_deform_fn, 0); v_tts_values = - l_load_struct_gep(b, v_slot, FIELDNO_TUPLETABLESLOT_VALUES, + l_load_struct_gep(b, StructTupleTableSlot, v_slot, FIELDNO_TUPLETABLESLOT_VALUES, "tts_values"); v_tts_nulls = - l_load_struct_gep(b, v_slot, FIELDNO_TUPLETABLESLOT_ISNULL, + l_load_struct_gep(b, StructTupleTableSlot, v_slot, FIELDNO_TUPLETABLESLOT_ISNULL, "tts_ISNULL"); - v_flagsp = LLVMBuildStructGEP(b, v_slot, FIELDNO_TUPLETABLESLOT_FLAGS, ""); - v_nvalidp = LLVMBuildStructGEP(b, v_slot, FIELDNO_TUPLETABLESLOT_NVALID, ""); + v_flagsp = l_struct_gep(b, StructTupleTableSlot, v_slot, FIELDNO_TUPLETABLESLOT_FLAGS, ""); + v_nvalidp = l_struct_gep(b, StructTupleTableSlot, v_slot, FIELDNO_TUPLETABLESLOT_NVALID, ""); if (ops == &TTSOpsHeapTuple || ops == &TTSOpsBufferHeapTuple) { @@ -188,9 +188,9 @@ slot_compile_deform(LLVMJitContext *context, TupleDesc desc, v_slot, l_ptr(StructHeapTupleTableSlot), "heapslot"); - v_slotoffp = LLVMBuildStructGEP(b, v_heapslot, FIELDNO_HEAPTUPLETABLESLOT_OFF, ""); + v_slotoffp = l_struct_gep(b, StructHeapTupleTableSlot, v_heapslot, FIELDNO_HEAPTUPLETABLESLOT_OFF, ""); v_tupleheaderp = - l_load_struct_gep(b, v_heapslot, FIELDNO_HEAPTUPLETABLESLOT_TUPLE, + l_load_struct_gep(b, StructHeapTupleTableSlot, v_heapslot, FIELDNO_HEAPTUPLETABLESLOT_TUPLE, "tupleheader"); } else if (ops == &TTSOpsMinimalTuple) @@ -202,9 +202,15 @@ slot_compile_deform(LLVMJitContext *context, TupleDesc desc, v_slot, l_ptr(StructMinimalTupleTableSlot), "minimalslot"); - v_slotoffp = LLVMBuildStructGEP(b, v_minimalslot, FIELDNO_MINIMALTUPLETABLESLOT_OFF, ""); + v_slotoffp = l_struct_gep(b, + StructMinimalTupleTableSlot, + v_minimalslot, + FIELDNO_MINIMALTUPLETABLESLOT_OFF, ""); v_tupleheaderp = - l_load_struct_gep(b, v_minimalslot, FIELDNO_MINIMALTUPLETABLESLOT_TUPLE, + l_load_struct_gep(b, + StructMinimalTupleTableSlot, + v_minimalslot, + FIELDNO_MINIMALTUPLETABLESLOT_TUPLE, "tupleheader"); } else @@ -214,21 +220,29 @@ slot_compile_deform(LLVMJitContext *context, TupleDesc desc, } v_tuplep = - l_load_struct_gep(b, v_tupleheaderp, FIELDNO_HEAPTUPLEDATA_DATA, + l_load_struct_gep(b, + StructHeapTupleData, + v_tupleheaderp, + FIELDNO_HEAPTUPLEDATA_DATA, "tuple"); v_bits = LLVMBuildBitCast(b, - LLVMBuildStructGEP(b, v_tuplep, - FIELDNO_HEAPTUPLEHEADERDATA_BITS, - ""), + l_struct_gep(b, + StructHeapTupleHeaderData, + v_tuplep, + FIELDNO_HEAPTUPLEHEADERDATA_BITS, + ""), l_ptr(LLVMInt8Type()), "t_bits"); v_infomask1 = - l_load_struct_gep(b, v_tuplep, + l_load_struct_gep(b, + StructHeapTupleHeaderData, + v_tuplep, FIELDNO_HEAPTUPLEHEADERDATA_INFOMASK, "infomask1"); v_infomask2 = l_load_struct_gep(b, + StructHeapTupleHeaderData, v_tuplep, FIELDNO_HEAPTUPLEHEADERDATA_INFOMASK2, "infomask2"); @@ -253,19 +267,21 @@ slot_compile_deform(LLVMJitContext *context, TupleDesc desc, */ v_hoff = LLVMBuildZExt(b, - l_load_struct_gep(b, v_tuplep, + l_load_struct_gep(b, + StructHeapTupleHeaderData, + v_tuplep, FIELDNO_HEAPTUPLEHEADERDATA_HOFF, ""), LLVMInt32Type(), "t_hoff"); - v_tupdata_base = - LLVMBuildGEP(b, - LLVMBuildBitCast(b, - v_tuplep, - l_ptr(LLVMInt8Type()), - ""), - &v_hoff, 1, - "v_tupdata_base"); + v_tupdata_base = l_gep(b, + LLVMInt8Type(), + LLVMBuildBitCast(b, + v_tuplep, + l_ptr(LLVMInt8Type()), + ""), + &v_hoff, 1, + "v_tupdata_base"); /* * Load tuple start offset from slot. Will be reset below in case there's @@ -274,7 +290,7 @@ slot_compile_deform(LLVMJitContext *context, TupleDesc desc, { LLVMValueRef v_off_start; - v_off_start = LLVMBuildLoad(b, v_slotoffp, "v_slot_off"); + v_off_start = l_load(b, LLVMInt32Type(), v_slotoffp, "v_slot_off"); v_off_start = LLVMBuildZExt(b, v_off_start, TypeSizeT, ""); LLVMBuildStore(b, v_off_start, v_offp); } @@ -314,6 +330,7 @@ slot_compile_deform(LLVMJitContext *context, TupleDesc desc, else { LLVMValueRef v_params[3]; + LLVMValueRef f; /* branch if not all columns available */ LLVMBuildCondBr(b, @@ -330,14 +347,16 @@ slot_compile_deform(LLVMJitContext *context, TupleDesc desc, v_params[0] = v_slot; v_params[1] = LLVMBuildZExt(b, v_maxatt, LLVMInt32Type(), ""); v_params[2] = l_int32_const(natts); - LLVMBuildCall(b, llvm_pg_func(mod, "slot_getmissingattrs"), - v_params, lengthof(v_params), ""); + f = llvm_pg_func(mod, "slot_getmissingattrs"); + l_call(b, + LLVMGetFunctionType(f), f, + v_params, lengthof(v_params), ""); LLVMBuildBr(b, b_find_start); } LLVMPositionBuilderAtEnd(b, b_find_start); - v_nvalid = LLVMBuildLoad(b, v_nvalidp, ""); + v_nvalid = l_load(b, LLVMInt16Type(), v_nvalidp, ""); /* * Build switch to go from nvalid to the right startblock. Callers @@ -438,7 +457,7 @@ slot_compile_deform(LLVMJitContext *context, TupleDesc desc, v_nullbyteno = l_int32_const(attnum >> 3); v_nullbytemask = l_int8_const(1 << ((attnum) & 0x07)); - v_nullbyte = l_load_gep1(b, v_bits, v_nullbyteno, "attnullbyte"); + v_nullbyte = l_load_gep1(b, LLVMInt8Type(), v_bits, v_nullbyteno, "attnullbyte"); v_nullbit = LLVMBuildICmp(b, LLVMIntEQ, @@ -455,11 +474,11 @@ slot_compile_deform(LLVMJitContext *context, TupleDesc desc, /* store null-byte */ LLVMBuildStore(b, l_int8_const(1), - LLVMBuildGEP(b, v_tts_nulls, &l_attno, 1, "")); + l_gep(b, LLVMInt8Type(), v_tts_nulls, &l_attno, 1, "")); /* store zero datum */ LLVMBuildStore(b, l_sizet_const(0), - LLVMBuildGEP(b, v_tts_values, &l_attno, 1, "")); + l_gep(b, TypeSizeT, v_tts_values, &l_attno, 1, "")); LLVMBuildBr(b, b_next); attguaranteedalign = false; @@ -518,10 +537,10 @@ slot_compile_deform(LLVMJitContext *context, TupleDesc desc, /* don't know if short varlena or not */ attguaranteedalign = false; - v_off = LLVMBuildLoad(b, v_offp, ""); + v_off = l_load(b, TypeSizeT, v_offp, ""); v_possible_padbyte = - l_load_gep1(b, v_tupdata_base, v_off, "padbyte"); + l_load_gep1(b, LLVMInt8Type(), v_tupdata_base, v_off, "padbyte"); v_ispad = LLVMBuildICmp(b, LLVMIntEQ, v_possible_padbyte, l_int8_const(0), @@ -540,7 +559,7 @@ slot_compile_deform(LLVMJitContext *context, TupleDesc desc, /* translation of alignment code (cf TYPEALIGN()) */ { LLVMValueRef v_off_aligned; - LLVMValueRef v_off = LLVMBuildLoad(b, v_offp, ""); + LLVMValueRef v_off = l_load(b, TypeSizeT, v_offp, ""); /* ((ALIGNVAL) - 1) */ LLVMValueRef v_alignval = l_sizet_const(alignto - 1); @@ -629,18 +648,18 @@ slot_compile_deform(LLVMJitContext *context, TupleDesc desc, /* compute address to load data from */ { - LLVMValueRef v_off = LLVMBuildLoad(b, v_offp, ""); + LLVMValueRef v_off = l_load(b, TypeSizeT, v_offp, ""); v_attdatap = - LLVMBuildGEP(b, v_tupdata_base, &v_off, 1, ""); + l_gep(b, LLVMInt8Type(), v_tupdata_base, &v_off, 1, ""); } /* compute address to store value at */ - v_resultp = LLVMBuildGEP(b, v_tts_values, &l_attno, 1, ""); + v_resultp = l_gep(b, TypeSizeT, v_tts_values, &l_attno, 1, ""); /* store null-byte (false) */ LLVMBuildStore(b, l_int8_const(0), - LLVMBuildGEP(b, v_tts_nulls, &l_attno, 1, "")); + l_gep(b, TypeStorageBool, v_tts_nulls, &l_attno, 1, "")); /* * Store datum. For byval: datums copy the value, extend to Datum's @@ -649,12 +668,12 @@ slot_compile_deform(LLVMJitContext *context, TupleDesc desc, if (att->attbyval) { LLVMValueRef v_tmp_loaddata; - LLVMTypeRef vartypep = - LLVMPointerType(LLVMIntType(att->attlen * 8), 0); + LLVMTypeRef vartype = LLVMIntType(att->attlen * 8); + LLVMTypeRef vartypep = LLVMPointerType(vartype, 0); v_tmp_loaddata = LLVMBuildPointerCast(b, v_attdatap, vartypep, ""); - v_tmp_loaddata = LLVMBuildLoad(b, v_tmp_loaddata, "attr_byval"); + v_tmp_loaddata = l_load(b, vartype, v_tmp_loaddata, "attr_byval"); v_tmp_loaddata = LLVMBuildZExt(b, v_tmp_loaddata, TypeSizeT, ""); LLVMBuildStore(b, v_tmp_loaddata, v_resultp); @@ -679,18 +698,20 @@ slot_compile_deform(LLVMJitContext *context, TupleDesc desc, } else if (att->attlen == -1) { - v_incby = LLVMBuildCall(b, - llvm_pg_func(mod, "varsize_any"), - &v_attdatap, 1, - "varsize_any"); + v_incby = l_call(b, + llvm_pg_var_func_type("varsize_any"), + llvm_pg_func(mod, "varsize_any"), + &v_attdatap, 1, + "varsize_any"); l_callsite_ro(v_incby); l_callsite_alwaysinline(v_incby); } else if (att->attlen == -2) { - v_incby = LLVMBuildCall(b, - llvm_pg_func(mod, "strlen"), - &v_attdatap, 1, "strlen"); + v_incby = l_call(b, + llvm_pg_var_func_type("strlen"), + llvm_pg_func(mod, "strlen"), + &v_attdatap, 1, "strlen"); l_callsite_ro(v_incby); @@ -710,7 +731,7 @@ slot_compile_deform(LLVMJitContext *context, TupleDesc desc, } else { - LLVMValueRef v_off = LLVMBuildLoad(b, v_offp, ""); + LLVMValueRef v_off = l_load(b, TypeSizeT, v_offp, ""); v_off = LLVMBuildAdd(b, v_off, v_incby, "increment_offset"); LLVMBuildStore(b, v_off, v_offp); @@ -736,13 +757,13 @@ slot_compile_deform(LLVMJitContext *context, TupleDesc desc, LLVMPositionBuilderAtEnd(b, b_out); { - LLVMValueRef v_off = LLVMBuildLoad(b, v_offp, ""); + LLVMValueRef v_off = l_load(b, TypeSizeT, v_offp, ""); LLVMValueRef v_flags; LLVMBuildStore(b, l_int16_const(natts), v_nvalidp); v_off = LLVMBuildTrunc(b, v_off, LLVMInt32Type(), ""); LLVMBuildStore(b, v_off, v_slotoffp); - v_flags = LLVMBuildLoad(b, v_flagsp, "tts_flags"); + v_flags = l_load(b, LLVMInt16Type(), v_flagsp, "tts_flags"); v_flags = LLVMBuildOr(b, v_flags, l_int16_const(TTS_FLAG_SLOW), ""); LLVMBuildStore(b, v_flags, v_flagsp); LLVMBuildRetVoid(b); diff --git a/src/backend/jit/llvm/llvmjit_expr.c b/src/backend/jit/llvm/llvmjit_expr.c index 00d7b8110b9..5b3528757e2 100644 --- a/src/backend/jit/llvm/llvmjit_expr.c +++ b/src/backend/jit/llvm/llvmjit_expr.c @@ -150,7 +150,7 @@ llvm_compile_expr(ExprState *state) /* create function */ eval_fn = LLVMAddFunction(mod, funcname, - llvm_pg_var_func_type("TypeExprStateEvalFunc")); + llvm_pg_var_func_type("ExecInterpExprStillValid")); LLVMSetLinkage(eval_fn, LLVMExternalLinkage); LLVMSetVisibility(eval_fn, LLVMDefaultVisibility); llvm_copy_attributes(AttributeTemplate, eval_fn); @@ -164,61 +164,95 @@ llvm_compile_expr(ExprState *state) LLVMPositionBuilderAtEnd(b, entry); - v_tmpvaluep = LLVMBuildStructGEP(b, v_state, - FIELDNO_EXPRSTATE_RESVALUE, - "v.state.resvalue"); - v_tmpisnullp = LLVMBuildStructGEP(b, v_state, - FIELDNO_EXPRSTATE_RESNULL, - "v.state.resnull"); - v_parent = l_load_struct_gep(b, v_state, + v_tmpvaluep = l_struct_gep(b, + StructExprState, + v_state, + FIELDNO_EXPRSTATE_RESVALUE, + "v.state.resvalue"); + v_tmpisnullp = l_struct_gep(b, + StructExprState, + v_state, + FIELDNO_EXPRSTATE_RESNULL, + "v.state.resnull"); + v_parent = l_load_struct_gep(b, + StructExprState, + v_state, FIELDNO_EXPRSTATE_PARENT, "v.state.parent"); /* build global slots */ - v_scanslot = l_load_struct_gep(b, v_econtext, + v_scanslot = l_load_struct_gep(b, + StructExprContext, + v_econtext, FIELDNO_EXPRCONTEXT_SCANTUPLE, "v_scanslot"); - v_innerslot = l_load_struct_gep(b, v_econtext, + v_innerslot = l_load_struct_gep(b, + StructExprContext, + v_econtext, FIELDNO_EXPRCONTEXT_INNERTUPLE, "v_innerslot"); - v_outerslot = l_load_struct_gep(b, v_econtext, + v_outerslot = l_load_struct_gep(b, + StructExprContext, + v_econtext, FIELDNO_EXPRCONTEXT_OUTERTUPLE, "v_outerslot"); - v_resultslot = l_load_struct_gep(b, v_state, + v_resultslot = l_load_struct_gep(b, + StructExprState, + v_state, FIELDNO_EXPRSTATE_RESULTSLOT, "v_resultslot"); /* build global values/isnull pointers */ - v_scanvalues = l_load_struct_gep(b, v_scanslot, + v_scanvalues = l_load_struct_gep(b, + StructTupleTableSlot, + v_scanslot, FIELDNO_TUPLETABLESLOT_VALUES, "v_scanvalues"); - v_scannulls = l_load_struct_gep(b, v_scanslot, + v_scannulls = l_load_struct_gep(b, + StructTupleTableSlot, + v_scanslot, FIELDNO_TUPLETABLESLOT_ISNULL, "v_scannulls"); - v_innervalues = l_load_struct_gep(b, v_innerslot, + v_innervalues = l_load_struct_gep(b, + StructTupleTableSlot, + v_innerslot, FIELDNO_TUPLETABLESLOT_VALUES, "v_innervalues"); - v_innernulls = l_load_struct_gep(b, v_innerslot, + v_innernulls = l_load_struct_gep(b, + StructTupleTableSlot, + v_innerslot, FIELDNO_TUPLETABLESLOT_ISNULL, "v_innernulls"); - v_outervalues = l_load_struct_gep(b, v_outerslot, + v_outervalues = l_load_struct_gep(b, + StructTupleTableSlot, + v_outerslot, FIELDNO_TUPLETABLESLOT_VALUES, "v_outervalues"); - v_outernulls = l_load_struct_gep(b, v_outerslot, + v_outernulls = l_load_struct_gep(b, + StructTupleTableSlot, + v_outerslot, FIELDNO_TUPLETABLESLOT_ISNULL, "v_outernulls"); - v_resultvalues = l_load_struct_gep(b, v_resultslot, + v_resultvalues = l_load_struct_gep(b, + StructTupleTableSlot, + v_resultslot, FIELDNO_TUPLETABLESLOT_VALUES, "v_resultvalues"); - v_resultnulls = l_load_struct_gep(b, v_resultslot, + v_resultnulls = l_load_struct_gep(b, + StructTupleTableSlot, + v_resultslot, FIELDNO_TUPLETABLESLOT_ISNULL, "v_resultnulls"); /* aggvalues/aggnulls */ - v_aggvalues = l_load_struct_gep(b, v_econtext, + v_aggvalues = l_load_struct_gep(b, + StructExprContext, + v_econtext, FIELDNO_EXPRCONTEXT_AGGVALUES, "v.econtext.aggvalues"); - v_aggnulls = l_load_struct_gep(b, v_econtext, + v_aggnulls = l_load_struct_gep(b, + StructExprContext, + v_econtext, FIELDNO_EXPRCONTEXT_AGGNULLS, "v.econtext.aggnulls"); @@ -252,8 +286,8 @@ llvm_compile_expr(ExprState *state) LLVMValueRef v_tmpisnull; LLVMValueRef v_tmpvalue; - v_tmpvalue = LLVMBuildLoad(b, v_tmpvaluep, ""); - v_tmpisnull = LLVMBuildLoad(b, v_tmpisnullp, ""); + v_tmpvalue = l_load(b, TypeSizeT, v_tmpvaluep, ""); + v_tmpisnull = l_load(b, TypeStorageBool, v_tmpisnullp, ""); LLVMBuildStore(b, v_tmpisnull, v_isnullp); @@ -296,7 +330,9 @@ llvm_compile_expr(ExprState *state) * whether deforming is required. */ v_nvalid = - l_load_struct_gep(b, v_slot, + l_load_struct_gep(b, + StructTupleTableSlot, + v_slot, FIELDNO_TUPLETABLESLOT_NVALID, ""); LLVMBuildCondBr(b, @@ -327,8 +363,10 @@ llvm_compile_expr(ExprState *state) params[0] = v_slot; - LLVMBuildCall(b, l_jit_deform, - params, lengthof(params), ""); + l_call(b, + LLVMGetFunctionType(l_jit_deform), + l_jit_deform, + params, lengthof(params), ""); } else { @@ -337,9 +375,10 @@ llvm_compile_expr(ExprState *state) params[0] = v_slot; params[1] = l_int32_const(op->d.fetch.last_var); - LLVMBuildCall(b, - llvm_pg_func(mod, "slot_getsomeattrs_int"), - params, lengthof(params), ""); + l_call(b, + llvm_pg_var_func_type("slot_getsomeattrs_int"), + llvm_pg_func(mod, "slot_getsomeattrs_int"), + params, lengthof(params), ""); } LLVMBuildBr(b, opblocks[opno + 1]); @@ -373,8 +412,8 @@ llvm_compile_expr(ExprState *state) } v_attnum = l_int32_const(op->d.var.attnum); - value = l_load_gep1(b, v_values, v_attnum, ""); - isnull = l_load_gep1(b, v_nulls, v_attnum, ""); + value = l_load_gep1(b, TypeSizeT, v_values, v_attnum, ""); + isnull = l_load_gep1(b, TypeStorageBool, v_nulls, v_attnum, ""); LLVMBuildStore(b, value, v_resvaluep); LLVMBuildStore(b, isnull, v_resnullp); @@ -439,15 +478,19 @@ llvm_compile_expr(ExprState *state) /* load data */ v_attnum = l_int32_const(op->d.assign_var.attnum); - v_value = l_load_gep1(b, v_values, v_attnum, ""); - v_isnull = l_load_gep1(b, v_nulls, v_attnum, ""); + v_value = l_load_gep1(b, TypeSizeT, v_values, v_attnum, ""); + v_isnull = l_load_gep1(b, TypeStorageBool, v_nulls, v_attnum, ""); /* compute addresses of targets */ v_resultnum = l_int32_const(op->d.assign_var.resultnum); - v_rvaluep = LLVMBuildGEP(b, v_resultvalues, - &v_resultnum, 1, ""); - v_risnullp = LLVMBuildGEP(b, v_resultnulls, - &v_resultnum, 1, ""); + v_rvaluep = l_gep(b, + TypeSizeT, + v_resultvalues, + &v_resultnum, 1, ""); + v_risnullp = l_gep(b, + TypeStorageBool, + v_resultnulls, + &v_resultnum, 1, ""); /* and store */ LLVMBuildStore(b, v_value, v_rvaluep); @@ -468,15 +511,15 @@ llvm_compile_expr(ExprState *state) size_t resultnum = op->d.assign_tmp.resultnum; /* load data */ - v_value = LLVMBuildLoad(b, v_tmpvaluep, ""); - v_isnull = LLVMBuildLoad(b, v_tmpisnullp, ""); + v_value = l_load(b, TypeSizeT, v_tmpvaluep, ""); + v_isnull = l_load(b, TypeStorageBool, v_tmpisnullp, ""); /* compute addresses of targets */ v_resultnum = l_int32_const(resultnum); v_rvaluep = - LLVMBuildGEP(b, v_resultvalues, &v_resultnum, 1, ""); + l_gep(b, TypeSizeT, v_resultvalues, &v_resultnum, 1, ""); v_risnullp = - LLVMBuildGEP(b, v_resultnulls, &v_resultnum, 1, ""); + l_gep(b, TypeStorageBool, v_resultnulls, &v_resultnum, 1, ""); /* store nullness */ LLVMBuildStore(b, v_isnull, v_risnullp); @@ -500,9 +543,10 @@ llvm_compile_expr(ExprState *state) LLVMPositionBuilderAtEnd(b, b_notnull); v_params[0] = v_value; v_value = - LLVMBuildCall(b, - llvm_pg_func(mod, "MakeExpandedObjectReadOnlyInternal"), - v_params, lengthof(v_params), ""); + l_call(b, + llvm_pg_var_func_type("MakeExpandedObjectReadOnlyInternal"), + llvm_pg_func(mod, "MakeExpandedObjectReadOnlyInternal"), + v_params, lengthof(v_params), ""); /* * Falling out of the if () with builder in b_notnull, @@ -665,8 +709,8 @@ llvm_compile_expr(ExprState *state) if (opcode == EEOP_BOOL_AND_STEP_FIRST) LLVMBuildStore(b, l_sbool_const(0), v_boolanynullp); - v_boolnull = LLVMBuildLoad(b, v_resnullp, ""); - v_boolvalue = LLVMBuildLoad(b, v_resvaluep, ""); + v_boolnull = l_load(b, TypeStorageBool, v_resnullp, ""); + v_boolvalue = l_load(b, TypeSizeT, v_resvaluep, ""); /* set resnull to boolnull */ LLVMBuildStore(b, v_boolnull, v_resnullp); @@ -707,7 +751,7 @@ llvm_compile_expr(ExprState *state) /* Build block that continues if bool is TRUE. */ LLVMPositionBuilderAtEnd(b, b_boolcont); - v_boolanynull = LLVMBuildLoad(b, v_boolanynullp, ""); + v_boolanynull = l_load(b, TypeStorageBool, v_boolanynullp, ""); /* set value to NULL if any previous values were NULL */ LLVMBuildCondBr(b, @@ -761,8 +805,8 @@ llvm_compile_expr(ExprState *state) if (opcode == EEOP_BOOL_OR_STEP_FIRST) LLVMBuildStore(b, l_sbool_const(0), v_boolanynullp); - v_boolnull = LLVMBuildLoad(b, v_resnullp, ""); - v_boolvalue = LLVMBuildLoad(b, v_resvaluep, ""); + v_boolnull = l_load(b, TypeStorageBool, v_resnullp, ""); + v_boolvalue = l_load(b, TypeSizeT, v_resvaluep, ""); /* set resnull to boolnull */ LLVMBuildStore(b, v_boolnull, v_resnullp); @@ -802,7 +846,7 @@ llvm_compile_expr(ExprState *state) /* build block that continues if bool is FALSE */ LLVMPositionBuilderAtEnd(b, b_boolcont); - v_boolanynull = LLVMBuildLoad(b, v_boolanynullp, ""); + v_boolanynull = l_load(b, TypeStorageBool, v_boolanynullp, ""); /* set value to NULL if any previous values were NULL */ LLVMBuildCondBr(b, @@ -826,8 +870,8 @@ llvm_compile_expr(ExprState *state) LLVMValueRef v_boolnull; LLVMValueRef v_negbool; - v_boolnull = LLVMBuildLoad(b, v_resnullp, ""); - v_boolvalue = LLVMBuildLoad(b, v_resvaluep, ""); + v_boolnull = l_load(b, TypeStorageBool, v_resnullp, ""); + v_boolvalue = l_load(b, TypeSizeT, v_resvaluep, ""); v_negbool = LLVMBuildZExt(b, LLVMBuildICmp(b, LLVMIntEQ, @@ -854,8 +898,8 @@ llvm_compile_expr(ExprState *state) b_qualfail = l_bb_before_v(opblocks[opno + 1], "op.%d.qualfail", opno); - v_resvalue = LLVMBuildLoad(b, v_resvaluep, ""); - v_resnull = LLVMBuildLoad(b, v_resnullp, ""); + v_resvalue = l_load(b, TypeSizeT, v_resvaluep, ""); + v_resnull = l_load(b, TypeStorageBool, v_resnullp, ""); v_nullorfalse = LLVMBuildOr(b, @@ -893,7 +937,7 @@ llvm_compile_expr(ExprState *state) /* Transfer control if current result is null */ - v_resnull = LLVMBuildLoad(b, v_resnullp, ""); + v_resnull = l_load(b, TypeStorageBool, v_resnullp, ""); LLVMBuildCondBr(b, LLVMBuildICmp(b, LLVMIntEQ, v_resnull, @@ -909,7 +953,7 @@ llvm_compile_expr(ExprState *state) /* Transfer control if current result is non-null */ - v_resnull = LLVMBuildLoad(b, v_resnullp, ""); + v_resnull = l_load(b, TypeStorageBool, v_resnullp, ""); LLVMBuildCondBr(b, LLVMBuildICmp(b, LLVMIntEQ, v_resnull, @@ -928,8 +972,8 @@ llvm_compile_expr(ExprState *state) /* Transfer control if current result is null or false */ - v_resvalue = LLVMBuildLoad(b, v_resvaluep, ""); - v_resnull = LLVMBuildLoad(b, v_resnullp, ""); + v_resvalue = l_load(b, TypeSizeT, v_resvaluep, ""); + v_resnull = l_load(b, TypeStorageBool, v_resnullp, ""); v_nullorfalse = LLVMBuildOr(b, @@ -948,7 +992,7 @@ llvm_compile_expr(ExprState *state) case EEOP_NULLTEST_ISNULL: { - LLVMValueRef v_resnull = LLVMBuildLoad(b, v_resnullp, ""); + LLVMValueRef v_resnull = l_load(b, TypeStorageBool, v_resnullp, ""); LLVMValueRef v_resvalue; v_resvalue = @@ -967,7 +1011,7 @@ llvm_compile_expr(ExprState *state) case EEOP_NULLTEST_ISNOTNULL: { - LLVMValueRef v_resnull = LLVMBuildLoad(b, v_resnullp, ""); + LLVMValueRef v_resnull = l_load(b, TypeStorageBool, v_resnullp, ""); LLVMValueRef v_resvalue; v_resvalue = @@ -1003,7 +1047,7 @@ llvm_compile_expr(ExprState *state) { LLVMBasicBlockRef b_isnull, b_notnull; - LLVMValueRef v_resnull = LLVMBuildLoad(b, v_resnullp, ""); + LLVMValueRef v_resnull = l_load(b, TypeStorageBool, v_resnullp, ""); b_isnull = l_bb_before_v(opblocks[opno + 1], "op.%d.isnull", opno); @@ -1047,7 +1091,7 @@ llvm_compile_expr(ExprState *state) else { LLVMValueRef v_value = - LLVMBuildLoad(b, v_resvaluep, ""); + l_load(b, TypeSizeT, v_resvaluep, ""); v_value = LLVMBuildZExt(b, LLVMBuildICmp(b, LLVMIntEQ, @@ -1075,20 +1119,19 @@ llvm_compile_expr(ExprState *state) case EEOP_PARAM_CALLBACK: { - LLVMTypeRef v_functype; LLVMValueRef v_func; LLVMValueRef v_params[3]; - v_functype = llvm_pg_var_func_type("TypeExecEvalSubroutine"); v_func = l_ptr_const(op->d.cparam.paramfunc, - LLVMPointerType(v_functype, 0)); + llvm_pg_var_type("TypeExecEvalSubroutine")); v_params[0] = v_state; v_params[1] = l_ptr_const(op, l_ptr(StructExprEvalStep)); v_params[2] = v_econtext; - LLVMBuildCall(b, - v_func, - v_params, lengthof(v_params), ""); + l_call(b, + LLVMGetFunctionType(ExecEvalSubroutineTemplate), + v_func, + v_params, lengthof(v_params), ""); LLVMBuildBr(b, opblocks[opno + 1]); break; @@ -1097,21 +1140,20 @@ llvm_compile_expr(ExprState *state) case EEOP_SBSREF_SUBSCRIPTS: { int jumpdone = op->d.sbsref_subscript.jumpdone; - LLVMTypeRef v_functype; LLVMValueRef v_func; LLVMValueRef v_params[3]; LLVMValueRef v_ret; - v_functype = llvm_pg_var_func_type("TypeExecEvalBoolSubroutine"); v_func = l_ptr_const(op->d.sbsref_subscript.subscriptfunc, - LLVMPointerType(v_functype, 0)); + llvm_pg_var_type("TypeExecEvalBoolSubroutine")); v_params[0] = v_state; v_params[1] = l_ptr_const(op, l_ptr(StructExprEvalStep)); v_params[2] = v_econtext; - v_ret = LLVMBuildCall(b, - v_func, - v_params, lengthof(v_params), ""); + v_ret = l_call(b, + LLVMGetFunctionType(ExecEvalBoolSubroutineTemplate), + v_func, + v_params, lengthof(v_params), ""); v_ret = LLVMBuildZExt(b, v_ret, TypeStorageBool, ""); LLVMBuildCondBr(b, @@ -1126,20 +1168,19 @@ llvm_compile_expr(ExprState *state) case EEOP_SBSREF_ASSIGN: case EEOP_SBSREF_FETCH: { - LLVMTypeRef v_functype; LLVMValueRef v_func; LLVMValueRef v_params[3]; - v_functype = llvm_pg_var_func_type("TypeExecEvalSubroutine"); v_func = l_ptr_const(op->d.sbsref.subscriptfunc, - LLVMPointerType(v_functype, 0)); + llvm_pg_var_type("TypeExecEvalSubroutine")); v_params[0] = v_state; v_params[1] = l_ptr_const(op, l_ptr(StructExprEvalStep)); v_params[2] = v_econtext; - LLVMBuildCall(b, - v_func, - v_params, lengthof(v_params), ""); + l_call(b, + LLVMGetFunctionType(ExecEvalSubroutineTemplate), + v_func, + v_params, lengthof(v_params), ""); LLVMBuildBr(b, opblocks[opno + 1]); break; @@ -1174,8 +1215,8 @@ llvm_compile_expr(ExprState *state) /* if casetest != NULL */ LLVMPositionBuilderAtEnd(b, b_avail); - v_casevalue = LLVMBuildLoad(b, v_casevaluep, ""); - v_casenull = LLVMBuildLoad(b, v_casenullp, ""); + v_casevalue = l_load(b, TypeSizeT, v_casevaluep, ""); + v_casenull = l_load(b, TypeStorageBool, v_casenullp, ""); LLVMBuildStore(b, v_casevalue, v_resvaluep); LLVMBuildStore(b, v_casenull, v_resnullp); LLVMBuildBr(b, opblocks[opno + 1]); @@ -1183,10 +1224,14 @@ llvm_compile_expr(ExprState *state) /* if casetest == NULL */ LLVMPositionBuilderAtEnd(b, b_notavail); v_casevalue = - l_load_struct_gep(b, v_econtext, + l_load_struct_gep(b, + StructExprContext, + v_econtext, FIELDNO_EXPRCONTEXT_CASEDATUM, ""); v_casenull = - l_load_struct_gep(b, v_econtext, + l_load_struct_gep(b, + StructExprContext, + v_econtext, FIELDNO_EXPRCONTEXT_CASENULL, ""); LLVMBuildStore(b, v_casevalue, v_resvaluep); LLVMBuildStore(b, v_casenull, v_resnullp); @@ -1211,7 +1256,7 @@ llvm_compile_expr(ExprState *state) v_nullp = l_ptr_const(op->d.make_readonly.isnull, l_ptr(TypeStorageBool)); - v_null = LLVMBuildLoad(b, v_nullp, ""); + v_null = l_load(b, TypeStorageBool, v_nullp, ""); /* store null isnull value in result */ LLVMBuildStore(b, v_null, v_resnullp); @@ -1228,13 +1273,14 @@ llvm_compile_expr(ExprState *state) v_valuep = l_ptr_const(op->d.make_readonly.value, l_ptr(TypeSizeT)); - v_value = LLVMBuildLoad(b, v_valuep, ""); + v_value = l_load(b, TypeSizeT, v_valuep, ""); v_params[0] = v_value; v_ret = - LLVMBuildCall(b, - llvm_pg_func(mod, "MakeExpandedObjectReadOnlyInternal"), - v_params, lengthof(v_params), ""); + l_call(b, + llvm_pg_var_func_type("MakeExpandedObjectReadOnlyInternal"), + llvm_pg_func(mod, "MakeExpandedObjectReadOnlyInternal"), + v_params, lengthof(v_params), ""); LLVMBuildStore(b, v_ret, v_resvaluep); LLVMBuildBr(b, opblocks[opno + 1]); @@ -1280,12 +1326,14 @@ llvm_compile_expr(ExprState *state) v_fcinfo_in = l_ptr_const(fcinfo_in, l_ptr(StructFunctionCallInfoData)); v_fcinfo_in_isnullp = - LLVMBuildStructGEP(b, v_fcinfo_in, - FIELDNO_FUNCTIONCALLINFODATA_ISNULL, - "v_fcinfo_in_isnull"); + l_struct_gep(b, + StructFunctionCallInfoData, + v_fcinfo_in, + FIELDNO_FUNCTIONCALLINFODATA_ISNULL, + "v_fcinfo_in_isnull"); /* output functions are not called on nulls */ - v_resnull = LLVMBuildLoad(b, v_resnullp, ""); + v_resnull = l_load(b, TypeStorageBool, v_resnullp, ""); LLVMBuildCondBr(b, LLVMBuildICmp(b, LLVMIntEQ, v_resnull, l_sbool_const(1), ""), @@ -1297,7 +1345,7 @@ llvm_compile_expr(ExprState *state) LLVMBuildBr(b, b_input); LLVMPositionBuilderAtEnd(b, b_calloutput); - v_resvalue = LLVMBuildLoad(b, v_resvaluep, ""); + v_resvalue = l_load(b, TypeSizeT, v_resvaluep, ""); /* set arg[0] */ LLVMBuildStore(b, @@ -1307,8 +1355,10 @@ llvm_compile_expr(ExprState *state) l_sbool_const(0), l_funcnullp(b, v_fcinfo_out, 0)); /* and call output function (can never return NULL) */ - v_output = LLVMBuildCall(b, v_fn_out, &v_fcinfo_out, - 1, "funccall_coerce_out"); + v_output = l_call(b, + LLVMGetFunctionType(v_fn_out), + v_fn_out, &v_fcinfo_out, + 1, "funccall_coerce_out"); LLVMBuildBr(b, b_input); /* build block handling input function call */ @@ -1362,8 +1412,10 @@ llvm_compile_expr(ExprState *state) /* reset fcinfo_in->isnull */ LLVMBuildStore(b, l_sbool_const(0), v_fcinfo_in_isnullp); /* and call function */ - v_retval = LLVMBuildCall(b, v_fn_in, &v_fcinfo_in, 1, - "funccall_iocoerce_in"); + v_retval = l_call(b, + LLVMGetFunctionType(v_fn_in), + v_fn_in, &v_fcinfo_in, 1, + "funccall_iocoerce_in"); LLVMBuildStore(b, v_retval, v_resvaluep); @@ -1696,7 +1748,7 @@ llvm_compile_expr(ExprState *state) */ v_cmpresult = LLVMBuildTrunc(b, - LLVMBuildLoad(b, v_resvaluep, ""), + l_load(b, TypeSizeT, v_resvaluep, ""), LLVMInt32Type(), ""); switch (rctype) @@ -1789,8 +1841,8 @@ llvm_compile_expr(ExprState *state) /* if casetest != NULL */ LLVMPositionBuilderAtEnd(b, b_avail); - v_casevalue = LLVMBuildLoad(b, v_casevaluep, ""); - v_casenull = LLVMBuildLoad(b, v_casenullp, ""); + v_casevalue = l_load(b, TypeSizeT, v_casevaluep, ""); + v_casenull = l_load(b, TypeStorageBool, v_casenullp, ""); LLVMBuildStore(b, v_casevalue, v_resvaluep); LLVMBuildStore(b, v_casenull, v_resnullp); LLVMBuildBr(b, opblocks[opno + 1]); @@ -1798,11 +1850,15 @@ llvm_compile_expr(ExprState *state) /* if casetest == NULL */ LLVMPositionBuilderAtEnd(b, b_notavail); v_casevalue = - l_load_struct_gep(b, v_econtext, + l_load_struct_gep(b, + StructExprContext, + v_econtext, FIELDNO_EXPRCONTEXT_DOMAINDATUM, ""); v_casenull = - l_load_struct_gep(b, v_econtext, + l_load_struct_gep(b, + StructExprContext, + v_econtext, FIELDNO_EXPRCONTEXT_DOMAINNULL, ""); LLVMBuildStore(b, v_casevalue, v_resvaluep); @@ -1869,8 +1925,8 @@ llvm_compile_expr(ExprState *state) v_aggno = l_int32_const(op->d.aggref.aggno); /* load agg value / null */ - value = l_load_gep1(b, v_aggvalues, v_aggno, "aggvalue"); - isnull = l_load_gep1(b, v_aggnulls, v_aggno, "aggnull"); + value = l_load_gep1(b, TypeSizeT, v_aggvalues, v_aggno, "aggvalue"); + isnull = l_load_gep1(b, TypeStorageBool, v_aggnulls, v_aggno, "aggnull"); /* and store result */ LLVMBuildStore(b, value, v_resvaluep); @@ -1901,12 +1957,12 @@ llvm_compile_expr(ExprState *state) */ v_wfuncnop = l_ptr_const(&wfunc->wfuncno, l_ptr(LLVMInt32Type())); - v_wfuncno = LLVMBuildLoad(b, v_wfuncnop, "v_wfuncno"); + v_wfuncno = l_load(b, LLVMInt32Type(), v_wfuncnop, "v_wfuncno"); /* load window func value / null */ - value = l_load_gep1(b, v_aggvalues, v_wfuncno, + value = l_load_gep1(b, TypeSizeT, v_aggvalues, v_wfuncno, "windowvalue"); - isnull = l_load_gep1(b, v_aggnulls, v_wfuncno, + isnull = l_load_gep1(b, TypeStorageBool, v_aggnulls, v_wfuncno, "windownull"); LLVMBuildStore(b, value, v_resvaluep); @@ -2020,14 +2076,14 @@ llvm_compile_expr(ExprState *state) b_argnotnull = b_checknulls[argno + 1]; if (opcode == EEOP_AGG_STRICT_INPUT_CHECK_NULLS) - v_argisnull = l_load_gep1(b, v_nullsp, v_argno, ""); + v_argisnull = l_load_gep1(b, TypeStorageBool, v_nullsp, v_argno, ""); else { LLVMValueRef v_argn; - v_argn = LLVMBuildGEP(b, v_argsp, &v_argno, 1, ""); + v_argn = l_gep(b, StructNullableDatum, v_argsp, &v_argno, 1, ""); v_argisnull = - l_load_struct_gep(b, v_argn, + l_load_struct_gep(b, StructNullableDatum, v_argn, FIELDNO_NULLABLE_DATUM_ISNULL, ""); } @@ -2061,13 +2117,16 @@ llvm_compile_expr(ExprState *state) v_aggstatep = LLVMBuildBitCast(b, v_parent, l_ptr(StructAggState), ""); - v_allpergroupsp = l_load_struct_gep(b, v_aggstatep, + v_allpergroupsp = l_load_struct_gep(b, + StructAggState, + v_aggstatep, FIELDNO_AGGSTATE_ALL_PERGROUPS, "aggstate.all_pergroups"); v_setoff = l_int32_const(op->d.agg_plain_pergroup_nullcheck.setoff); - v_pergroup_allaggs = l_load_gep1(b, v_allpergroupsp, v_setoff, ""); + v_pergroup_allaggs = l_load_gep1(b, l_ptr(StructAggStatePerGroupData), + v_allpergroupsp, v_setoff, ""); LLVMBuildCondBr(b, LLVMBuildICmp(b, LLVMIntEQ, @@ -2130,15 +2189,19 @@ llvm_compile_expr(ExprState *state) * [op->d.agg_trans.setoff] [op->d.agg_trans.transno]; */ v_allpergroupsp = - l_load_struct_gep(b, v_aggstatep, + l_load_struct_gep(b, + StructAggState, + v_aggstatep, FIELDNO_AGGSTATE_ALL_PERGROUPS, "aggstate.all_pergroups"); v_setoff = l_int32_const(op->d.agg_trans.setoff); v_transno = l_int32_const(op->d.agg_trans.transno); v_pergroupp = - LLVMBuildGEP(b, - l_load_gep1(b, v_allpergroupsp, v_setoff, ""), - &v_transno, 1, ""); + l_gep(b, + StructAggStatePerGroupData, + l_load_gep1(b, l_ptr(StructAggStatePerGroupData), + v_allpergroupsp, v_setoff, ""), + &v_transno, 1, ""); if (opcode == EEOP_AGG_PLAIN_TRANS_INIT_STRICT_BYVAL || @@ -2149,7 +2212,9 @@ llvm_compile_expr(ExprState *state) LLVMBasicBlockRef b_no_init; v_notransvalue = - l_load_struct_gep(b, v_pergroupp, + l_load_struct_gep(b, + StructAggStatePerGroupData, + v_pergroupp, FIELDNO_AGGSTATEPERGROUPDATA_NOTRANSVALUE, "notransvalue"); @@ -2178,10 +2243,11 @@ llvm_compile_expr(ExprState *state) params[2] = v_pergroupp; params[3] = v_aggcontext; - LLVMBuildCall(b, - llvm_pg_func(mod, "ExecAggInitGroup"), - params, lengthof(params), - ""); + l_call(b, + llvm_pg_var_func_type("ExecAggInitGroup"), + llvm_pg_func(mod, "ExecAggInitGroup"), + params, lengthof(params), + ""); LLVMBuildBr(b, opblocks[opno + 1]); } @@ -2200,7 +2266,9 @@ llvm_compile_expr(ExprState *state) b_strictpass = l_bb_before_v(opblocks[opno + 1], "op.%d.strictpass", opno); v_transnull = - l_load_struct_gep(b, v_pergroupp, + l_load_struct_gep(b, + StructAggStatePerGroupData, + v_pergroupp, FIELDNO_AGGSTATEPERGROUPDATA_TRANSVALUEISNULL, "transnull"); @@ -2220,20 +2288,23 @@ llvm_compile_expr(ExprState *state) l_ptr(StructExprContext)); v_current_setp = - LLVMBuildStructGEP(b, - v_aggstatep, - FIELDNO_AGGSTATE_CURRENT_SET, - "aggstate.current_set"); + l_struct_gep(b, + StructAggState, + v_aggstatep, + FIELDNO_AGGSTATE_CURRENT_SET, + "aggstate.current_set"); v_curaggcontext = - LLVMBuildStructGEP(b, - v_aggstatep, - FIELDNO_AGGSTATE_CURAGGCONTEXT, - "aggstate.curaggcontext"); + l_struct_gep(b, + StructAggState, + v_aggstatep, + FIELDNO_AGGSTATE_CURAGGCONTEXT, + "aggstate.curaggcontext"); v_current_pertransp = - LLVMBuildStructGEP(b, - v_aggstatep, - FIELDNO_AGGSTATE_CURPERTRANS, - "aggstate.curpertrans"); + l_struct_gep(b, + StructAggState, + v_aggstatep, + FIELDNO_AGGSTATE_CURPERTRANS, + "aggstate.curpertrans"); /* set aggstate globals */ LLVMBuildStore(b, v_aggcontext, v_curaggcontext); @@ -2249,19 +2320,25 @@ llvm_compile_expr(ExprState *state) /* store transvalue in fcinfo->args[0] */ v_transvaluep = - LLVMBuildStructGEP(b, v_pergroupp, - FIELDNO_AGGSTATEPERGROUPDATA_TRANSVALUE, - "transvalue"); + l_struct_gep(b, + StructAggStatePerGroupData, + v_pergroupp, + FIELDNO_AGGSTATEPERGROUPDATA_TRANSVALUE, + "transvalue"); v_transnullp = - LLVMBuildStructGEP(b, v_pergroupp, - FIELDNO_AGGSTATEPERGROUPDATA_TRANSVALUEISNULL, - "transnullp"); + l_struct_gep(b, + StructAggStatePerGroupData, + v_pergroupp, + FIELDNO_AGGSTATEPERGROUPDATA_TRANSVALUEISNULL, + "transnullp"); LLVMBuildStore(b, - LLVMBuildLoad(b, v_transvaluep, - "transvalue"), + l_load(b, + TypeSizeT, + v_transvaluep, + "transvalue"), l_funcvaluep(b, v_fcinfo, 0)); LLVMBuildStore(b, - LLVMBuildLoad(b, v_transnullp, "transnull"), + l_load(b, TypeStorageBool, v_transnullp, "transnull"), l_funcnullp(b, v_fcinfo, 0)); /* and invoke transition function */ @@ -2294,8 +2371,8 @@ llvm_compile_expr(ExprState *state) b_nocall = l_bb_before_v(opblocks[opno + 1], "op.%d.transnocall", opno); - v_transvalue = LLVMBuildLoad(b, v_transvaluep, ""); - v_transnull = LLVMBuildLoad(b, v_transnullp, ""); + v_transvalue = l_load(b, TypeSizeT, v_transvaluep, ""); + v_transnull = l_load(b, TypeStorageBool, v_transnullp, ""); /* * DatumGetPointer(newVal) != @@ -2321,9 +2398,11 @@ llvm_compile_expr(ExprState *state) v_fn = llvm_pg_func(mod, "ExecAggCopyTransValue"); v_newval = - LLVMBuildCall(b, v_fn, - params, lengthof(params), - ""); + l_call(b, + LLVMGetFunctionType(v_fn), + v_fn, + params, lengthof(params), + ""); /* store trans value */ LLVMBuildStore(b, v_newval, v_transvaluep); @@ -2359,7 +2438,7 @@ llvm_compile_expr(ExprState *state) v_args[0] = l_ptr_const(aggstate, l_ptr(StructAggState)); v_args[1] = l_ptr_const(pertrans, l_ptr(StructAggStatePerTransData)); - v_ret = LLVMBuildCall(b, v_fn, v_args, 2, ""); + v_ret = l_call(b, LLVMGetFunctionType(v_fn), v_fn, v_args, 2, ""); v_ret = LLVMBuildZExt(b, v_ret, TypeStorageBool, ""); LLVMBuildCondBr(b, @@ -2383,7 +2462,7 @@ llvm_compile_expr(ExprState *state) v_args[0] = l_ptr_const(aggstate, l_ptr(StructAggState)); v_args[1] = l_ptr_const(pertrans, l_ptr(StructAggStatePerTransData)); - v_ret = LLVMBuildCall(b, v_fn, v_args, 2, ""); + v_ret = l_call(b, LLVMGetFunctionType(v_fn), v_fn, v_args, 2, ""); v_ret = LLVMBuildZExt(b, v_ret, TypeStorageBool, ""); LLVMBuildCondBr(b, @@ -2481,15 +2560,17 @@ BuildV1Call(LLVMJitContext *context, LLVMBuilderRef b, v_fn = llvm_function_reference(context, b, mod, fcinfo); v_fcinfo = l_ptr_const(fcinfo, l_ptr(StructFunctionCallInfoData)); - v_fcinfo_isnullp = LLVMBuildStructGEP(b, v_fcinfo, - FIELDNO_FUNCTIONCALLINFODATA_ISNULL, - "v_fcinfo_isnull"); + v_fcinfo_isnullp = l_struct_gep(b, + StructFunctionCallInfoData, + v_fcinfo, + FIELDNO_FUNCTIONCALLINFODATA_ISNULL, + "v_fcinfo_isnull"); LLVMBuildStore(b, l_sbool_const(0), v_fcinfo_isnullp); - v_retval = LLVMBuildCall(b, v_fn, &v_fcinfo, 1, "funccall"); + v_retval = l_call(b, LLVMGetFunctionType(AttributeTemplate), v_fn, &v_fcinfo, 1, "funccall"); if (v_fcinfo_isnull) - *v_fcinfo_isnull = LLVMBuildLoad(b, v_fcinfo_isnullp, ""); + *v_fcinfo_isnull = l_load(b, TypeStorageBool, v_fcinfo_isnullp, ""); /* * Add lifetime-end annotation, signaling that writes to memory don't have @@ -2501,11 +2582,11 @@ BuildV1Call(LLVMJitContext *context, LLVMBuilderRef b, params[0] = l_int64_const(sizeof(NullableDatum) * fcinfo->nargs); params[1] = l_ptr_const(fcinfo->args, l_ptr(LLVMInt8Type())); - LLVMBuildCall(b, v_lifetime, params, lengthof(params), ""); + l_call(b, LLVMGetFunctionType(v_lifetime), v_lifetime, params, lengthof(params), ""); params[0] = l_int64_const(sizeof(fcinfo->isnull)); params[1] = l_ptr_const(&fcinfo->isnull, l_ptr(LLVMInt8Type())); - LLVMBuildCall(b, v_lifetime, params, lengthof(params), ""); + l_call(b, LLVMGetFunctionType(v_lifetime), v_lifetime, params, lengthof(params), ""); } return v_retval; @@ -2537,7 +2618,7 @@ build_EvalXFuncInt(LLVMBuilderRef b, LLVMModuleRef mod, const char *funcname, for (int i = 0; i < nargs; i++) params[argno++] = v_args[i]; - v_ret = LLVMBuildCall(b, v_fn, params, argno, ""); + v_ret = l_call(b, LLVMGetFunctionType(v_fn), v_fn, params, argno, ""); pfree(params); diff --git a/src/backend/jit/llvm/llvmjit_types.c b/src/backend/jit/llvm/llvmjit_types.c index 41ac4c6f45c..791902ff1f3 100644 --- a/src/backend/jit/llvm/llvmjit_types.c +++ b/src/backend/jit/llvm/llvmjit_types.c @@ -48,7 +48,7 @@ PGFunction TypePGFunction; size_t TypeSizeT; bool TypeStorageBool; -ExprStateEvalFunc TypeExprStateEvalFunc; + ExecEvalSubroutine TypeExecEvalSubroutine; ExecEvalBoolSubroutine TypeExecEvalBoolSubroutine; @@ -61,11 +61,14 @@ ExprEvalStep StructExprEvalStep; ExprState StructExprState; FunctionCallInfoBaseData StructFunctionCallInfoData; HeapTupleData StructHeapTupleData; +HeapTupleHeaderData StructHeapTupleHeaderData; MemoryContextData StructMemoryContextData; TupleTableSlot StructTupleTableSlot; HeapTupleTableSlot StructHeapTupleTableSlot; MinimalTupleTableSlot StructMinimalTupleTableSlot; TupleDescData StructTupleDescData; +PlanState StructPlanState; +MinimalTupleData StructMinimalTupleData; /* @@ -77,9 +80,42 @@ extern Datum AttributeTemplate(PG_FUNCTION_ARGS); Datum AttributeTemplate(PG_FUNCTION_ARGS) { + AssertVariableIsOfType(&AttributeTemplate, PGFunction); + PG_RETURN_NULL(); } +/* + * And some more "templates" to give us examples of function types + * corresponding to function pointer types. + */ + +extern void ExecEvalSubroutineTemplate(ExprState *state, + struct ExprEvalStep *op, + ExprContext *econtext); +void +ExecEvalSubroutineTemplate(ExprState *state, + struct ExprEvalStep *op, + ExprContext *econtext) +{ + AssertVariableIsOfType(&ExecEvalSubroutineTemplate, + ExecEvalSubroutine); +} + +extern bool ExecEvalBoolSubroutineTemplate(ExprState *state, + struct ExprEvalStep *op, + ExprContext *econtext); +bool +ExecEvalBoolSubroutineTemplate(ExprState *state, + struct ExprEvalStep *op, + ExprContext *econtext) +{ + AssertVariableIsOfType(&ExecEvalBoolSubroutineTemplate, + ExecEvalBoolSubroutine); + + return false; +} + /* * Clang represents stdbool.h style booleans that are returned by functions * differently (as i1) than stored ones (as i8). Therefore we do not just need @@ -140,4 +176,5 @@ void *referenced_functions[] = slot_getsomeattrs_int, strlen, varsize_any, + ExecInterpExprStillValid, }; diff --git a/src/backend/jit/llvm/llvmjit_wrap.cpp b/src/backend/jit/llvm/llvmjit_wrap.cpp index 05199a49566..997a2c02789 100644 --- a/src/backend/jit/llvm/llvmjit_wrap.cpp +++ b/src/backend/jit/llvm/llvmjit_wrap.cpp @@ -76,3 +76,15 @@ LLVMGetAttributeCountAtIndexPG(LLVMValueRef F, uint32 Idx) */ return LLVMGetAttributeCountAtIndex(F, Idx); } + +LLVMTypeRef +LLVMGetFunctionReturnType(LLVMValueRef r) +{ + return llvm::wrap(llvm::unwrap(r)->getReturnType()); +} + +LLVMTypeRef +LLVMGetFunctionType(LLVMValueRef r) +{ + return llvm::wrap(llvm::unwrap(r)->getFunctionType()); +} diff --git a/src/backend/jit/llvm/meson.build b/src/backend/jit/llvm/meson.build index a6524c06fe3..8ffaf414609 100644 --- a/src/backend/jit/llvm/meson.build +++ b/src/backend/jit/llvm/meson.build @@ -60,7 +60,7 @@ endif # XXX: Need to determine proper version of the function cflags for clang bitcode_cflags = ['-fno-strict-aliasing', '-fwrapv'] -if llvm.version().version_compare('>=15.0') +if llvm.version().version_compare('=15.0') bitcode_cflags += ['-Xclang', '-no-opaque-pointers'] endif bitcode_cflags += cppflags diff --git a/src/include/jit/llvmjit.h b/src/include/jit/llvmjit.h index 551b5854646..e7f34fa92a9 100644 --- a/src/include/jit/llvmjit.h +++ b/src/include/jit/llvmjit.h @@ -67,6 +67,8 @@ extern PGDLLIMPORT LLVMTypeRef TypeStorageBool; extern PGDLLIMPORT LLVMTypeRef StructNullableDatum; extern PGDLLIMPORT LLVMTypeRef StructTupleDescData; extern PGDLLIMPORT LLVMTypeRef StructHeapTupleData; +extern PGDLLIMPORT LLVMTypeRef StructHeapTupleHeaderData; +extern PGDLLIMPORT LLVMTypeRef StructMinimalTupleData; extern PGDLLIMPORT LLVMTypeRef StructTupleTableSlot; extern PGDLLIMPORT LLVMTypeRef StructHeapTupleTableSlot; extern PGDLLIMPORT LLVMTypeRef StructMinimalTupleTableSlot; @@ -78,8 +80,11 @@ extern PGDLLIMPORT LLVMTypeRef StructExprState; extern PGDLLIMPORT LLVMTypeRef StructAggState; extern PGDLLIMPORT LLVMTypeRef StructAggStatePerTransData; extern PGDLLIMPORT LLVMTypeRef StructAggStatePerGroupData; +extern PGDLLIMPORT LLVMTypeRef StructPlanState; extern PGDLLIMPORT LLVMValueRef AttributeTemplate; +extern PGDLLIMPORT LLVMValueRef ExecEvalBoolSubroutineTemplate; +extern PGDLLIMPORT LLVMValueRef ExecEvalSubroutineTemplate; extern void llvm_enter_fatal_on_oom(void); @@ -133,6 +138,8 @@ extern char *LLVMGetHostCPUFeatures(void); #endif extern unsigned LLVMGetAttributeCountAtIndexPG(LLVMValueRef F, uint32 Idx); +extern LLVMTypeRef LLVMGetFunctionReturnType(LLVMValueRef r); +extern LLVMTypeRef LLVMGetFunctionType(LLVMValueRef r); #ifdef __cplusplus } /* extern "C" */ diff --git a/src/include/jit/llvmjit_emit.h b/src/include/jit/llvmjit_emit.h index 0745dcac9c2..59c5c69585d 100644 --- a/src/include/jit/llvmjit_emit.h +++ b/src/include/jit/llvmjit_emit.h @@ -16,6 +16,7 @@ #ifdef USE_LLVM #include +#include #include "jit/llvmjit.h" @@ -103,26 +104,65 @@ l_pbool_const(bool i) return LLVMConstInt(TypeParamBool, (int) i, false); } +static inline LLVMValueRef +l_struct_gep(LLVMBuilderRef b, LLVMTypeRef t, LLVMValueRef v, int32 idx, const char *name) +{ +#if LLVM_VERSION_MAJOR < 16 + return LLVMBuildStructGEP(b, v, idx, ""); +#else + return LLVMBuildStructGEP2(b, t, v, idx, ""); +#endif +} + +static inline LLVMValueRef +l_gep(LLVMBuilderRef b, LLVMTypeRef t, LLVMValueRef v, LLVMValueRef *indices, int32 nindices, const char *name) +{ +#if LLVM_VERSION_MAJOR < 16 + return LLVMBuildGEP(b, v, indices, nindices, name); +#else + return LLVMBuildGEP2(b, t, v, indices, nindices, name); +#endif +} + +static inline LLVMValueRef +l_load(LLVMBuilderRef b, LLVMTypeRef t, LLVMValueRef v, const char *name) +{ +#if LLVM_VERSION_MAJOR < 16 + return LLVMBuildLoad(b, v, name); +#else + return LLVMBuildLoad2(b, t, v, name); +#endif +} + +static inline LLVMValueRef +l_call(LLVMBuilderRef b, LLVMTypeRef t, LLVMValueRef fn, LLVMValueRef *args, int32 nargs, const char *name) +{ +#if LLVM_VERSION_MAJOR < 16 + return LLVMBuildCall(b, fn, args, nargs, name); +#else + return LLVMBuildCall2(b, t, fn, args, nargs, name); +#endif +} + /* * Load a pointer member idx from a struct. */ static inline LLVMValueRef -l_load_struct_gep(LLVMBuilderRef b, LLVMValueRef v, int32 idx, const char *name) +l_load_struct_gep(LLVMBuilderRef b, LLVMTypeRef t, LLVMValueRef v, int32 idx, const char *name) { - LLVMValueRef v_ptr = LLVMBuildStructGEP(b, v, idx, ""); - - return LLVMBuildLoad(b, v_ptr, name); + return l_load(b, + LLVMStructGetTypeAtIndex(t, idx), + l_struct_gep(b, t, v, idx, ""), + name); } /* * Load value of a pointer, after applying one index operation. */ static inline LLVMValueRef -l_load_gep1(LLVMBuilderRef b, LLVMValueRef v, LLVMValueRef idx, const char *name) +l_load_gep1(LLVMBuilderRef b, LLVMTypeRef t, LLVMValueRef v, LLVMValueRef idx, const char *name) { - LLVMValueRef v_ptr = LLVMBuildGEP(b, v, &idx, 1, ""); - - return LLVMBuildLoad(b, v_ptr, name); + return l_load(b, t, l_gep(b, t, v, &idx, 1, ""), name); } /* separate, because pg_attribute_printf(2, 3) can't appear in definition */ @@ -210,7 +250,7 @@ l_mcxt_switch(LLVMModuleRef mod, LLVMBuilderRef b, LLVMValueRef nc) if (!(cur = LLVMGetNamedGlobal(mod, cmc))) cur = LLVMAddGlobal(mod, l_ptr(StructMemoryContextData), cmc); - ret = LLVMBuildLoad(b, cur, cmc); + ret = l_load(b, l_ptr(StructMemoryContextData), cur, cmc); LLVMBuildStore(b, nc, cur); return ret; @@ -225,13 +265,21 @@ l_funcnullp(LLVMBuilderRef b, LLVMValueRef v_fcinfo, size_t argno) LLVMValueRef v_args; LLVMValueRef v_argn; - v_args = LLVMBuildStructGEP(b, - v_fcinfo, - FIELDNO_FUNCTIONCALLINFODATA_ARGS, - ""); - v_argn = LLVMBuildStructGEP(b, v_args, argno, ""); - - return LLVMBuildStructGEP(b, v_argn, FIELDNO_NULLABLE_DATUM_ISNULL, ""); + v_args = l_struct_gep(b, + StructFunctionCallInfoData, + v_fcinfo, + FIELDNO_FUNCTIONCALLINFODATA_ARGS, + ""); + v_argn = l_struct_gep(b, + LLVMArrayType(StructNullableDatum, 0), + v_args, + argno, + ""); + return l_struct_gep(b, + StructNullableDatum, + v_argn, + FIELDNO_NULLABLE_DATUM_ISNULL, + ""); } /* @@ -243,13 +291,21 @@ l_funcvaluep(LLVMBuilderRef b, LLVMValueRef v_fcinfo, size_t argno) LLVMValueRef v_args; LLVMValueRef v_argn; - v_args = LLVMBuildStructGEP(b, - v_fcinfo, - FIELDNO_FUNCTIONCALLINFODATA_ARGS, - ""); - v_argn = LLVMBuildStructGEP(b, v_args, argno, ""); - - return LLVMBuildStructGEP(b, v_argn, FIELDNO_NULLABLE_DATUM_DATUM, ""); + v_args = l_struct_gep(b, + StructFunctionCallInfoData, + v_fcinfo, + FIELDNO_FUNCTIONCALLINFODATA_ARGS, + ""); + v_argn = l_struct_gep(b, + LLVMArrayType(StructNullableDatum, 0), + v_args, + argno, + ""); + return l_struct_gep(b, + StructNullableDatum, + v_argn, + FIELDNO_NULLABLE_DATUM_DATUM, + ""); } /* @@ -258,7 +314,7 @@ l_funcvaluep(LLVMBuilderRef b, LLVMValueRef v_fcinfo, size_t argno) static inline LLVMValueRef l_funcnull(LLVMBuilderRef b, LLVMValueRef v_fcinfo, size_t argno) { - return LLVMBuildLoad(b, l_funcnullp(b, v_fcinfo, argno), ""); + return l_load(b, TypeStorageBool, l_funcnullp(b, v_fcinfo, argno), ""); } /* @@ -267,7 +323,7 @@ l_funcnull(LLVMBuilderRef b, LLVMValueRef v_fcinfo, size_t argno) static inline LLVMValueRef l_funcvalue(LLVMBuilderRef b, LLVMValueRef v_fcinfo, size_t argno) { - return LLVMBuildLoad(b, l_funcvaluep(b, v_fcinfo, argno), ""); + return l_load(b, TypeSizeT, l_funcvaluep(b, v_fcinfo, argno), ""); } #endif /* USE_LLVM */ From 1d95a8f73142804b67cd7f3dedf49095055209da Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Thu, 19 Oct 2023 03:01:55 +1300 Subject: [PATCH 259/317] jit: Supply LLVMGlobalGetValueType() for LLVM < 8. Commit 37d5babb used this C API function while adding support for LLVM 16 and opaque pointers, but it's not available in LLVM 7 and older. Provide it in our own llvmjit_wrap.cpp. It just calls a C++ function that pre-dates LLVM 3.9, our minimum target. Back-patch to 12, like 37d5babb. Discussion: https://postgr.es/m/CA%2BhUKGKnLnJnWrkr%3D4mSGhE5FuTK55FY15uULR7%3Dzzc%3DwX4Nqw%40mail.gmail.com --- src/backend/jit/llvm/llvmjit_wrap.cpp | 8 ++++++++ src/include/jit/llvmjit.h | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/src/backend/jit/llvm/llvmjit_wrap.cpp b/src/backend/jit/llvm/llvmjit_wrap.cpp index 997a2c02789..cb896e2b6a5 100644 --- a/src/backend/jit/llvm/llvmjit_wrap.cpp +++ b/src/backend/jit/llvm/llvmjit_wrap.cpp @@ -88,3 +88,11 @@ LLVMGetFunctionType(LLVMValueRef r) { return llvm::wrap(llvm::unwrap(r)->getFunctionType()); } + +#if LLVM_VERSION_MAJOR < 8 +LLVMTypeRef +LLVMGlobalGetValueType(LLVMValueRef g) +{ + return llvm::wrap(llvm::unwrap(g)->getValueType()); +} +#endif diff --git a/src/include/jit/llvmjit.h b/src/include/jit/llvmjit.h index e7f34fa92a9..d7232167e85 100644 --- a/src/include/jit/llvmjit.h +++ b/src/include/jit/llvmjit.h @@ -141,6 +141,10 @@ extern unsigned LLVMGetAttributeCountAtIndexPG(LLVMValueRef F, uint32 Idx); extern LLVMTypeRef LLVMGetFunctionReturnType(LLVMValueRef r); extern LLVMTypeRef LLVMGetFunctionType(LLVMValueRef r); +#if LLVM_MAJOR_VERSION < 8 +extern LLVMTypeRef LLVMGlobalGetValueType(LLVMValueRef g); +#endif + #ifdef __cplusplus } /* extern "C" */ #endif From 9905c87ed76cafba05d115566341681b5495895b Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Wed, 18 Oct 2023 22:15:54 +1300 Subject: [PATCH 260/317] jit: Changes for LLVM 17. Changes required by https://llvm.org/docs/NewPassManager.html. Back-patch to 12, leaving the final release of 11 unchanged, consistent with earlier decision not to back-patch LLVM 16 support either. Author: Dmitry Dolgov <9erthalion6@gmail.com> Reviewed-by: Andres Freund Reviewed-by: Thomas Munro Discussion: https://postgr.es/m/CA%2BhUKG%2BWXznXCyTgCADd%3DHWkP9Qksa6chd7L%3DGCnZo-MBgg9Lg%40mail.gmail.com --- src/backend/jit/llvm/llvmjit.c | 31 +++++++++++++++++++++++++++ src/backend/jit/llvm/llvmjit_wrap.cpp | 6 ++++++ 2 files changed, 37 insertions(+) diff --git a/src/backend/jit/llvm/llvmjit.c b/src/backend/jit/llvm/llvmjit.c index 9e7ed1c2d25..252efb68b1f 100644 --- a/src/backend/jit/llvm/llvmjit.c +++ b/src/backend/jit/llvm/llvmjit.c @@ -18,6 +18,9 @@ #include #include #include +#if LLVM_VERSION_MAJOR > 16 +#include +#endif #if LLVM_VERSION_MAJOR > 11 #include #include @@ -27,12 +30,14 @@ #endif #include #include +#if LLVM_VERSION_MAJOR < 17 #include #include #include #if LLVM_VERSION_MAJOR > 6 #include #endif +#endif #include "jit/llvmjit.h" #include "jit/llvmjit_emit.h" @@ -561,6 +566,7 @@ llvm_function_reference(LLVMJitContext *context, static void llvm_optimize_module(LLVMJitContext *context, LLVMModuleRef module) { +#if LLVM_VERSION_MAJOR < 17 LLVMPassManagerBuilderRef llvm_pmb; LLVMPassManagerRef llvm_mpm; LLVMPassManagerRef llvm_fpm; @@ -624,6 +630,31 @@ llvm_optimize_module(LLVMJitContext *context, LLVMModuleRef module) LLVMDisposePassManager(llvm_mpm); LLVMPassManagerBuilderDispose(llvm_pmb); +#else + LLVMPassBuilderOptionsRef options; + LLVMErrorRef err; + const char *passes; + + if (context->base.flags & PGJIT_OPT3) + passes = "default"; + else + passes = "default,mem2reg"; + + options = LLVMCreatePassBuilderOptions(); + +#ifdef LLVM_PASS_DEBUG + LLVMPassBuilderOptionsSetDebugLogging(options, 1); +#endif + + LLVMPassBuilderOptionsSetInlinerThreshold(options, 512); + + err = LLVMRunPasses(module, passes, NULL, options); + + if (err) + elog(ERROR, "failed to JIT module: %s", llvm_error_message(err)); + + LLVMDisposePassBuilderOptions(options); +#endif } /* diff --git a/src/backend/jit/llvm/llvmjit_wrap.cpp b/src/backend/jit/llvm/llvmjit_wrap.cpp index cb896e2b6a5..90a41b91912 100644 --- a/src/backend/jit/llvm/llvmjit_wrap.cpp +++ b/src/backend/jit/llvm/llvmjit_wrap.cpp @@ -23,8 +23,14 @@ extern "C" #include #include +#if LLVM_VERSION_MAJOR < 17 #include +#endif +#if LLVM_VERSION_MAJOR > 16 +#include +#else #include +#endif #include "jit/llvmjit.h" From 313b0a47da3051750469fd16f0fd5df69770c6a5 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Wed, 18 Oct 2023 13:40:44 -0400 Subject: [PATCH 261/317] doc: PG 16 relnotes: fix spelling error Reported-by: Lele Gaifax Discussion: https://postgr.es/m/87cyximsps.fsf@metapensiero.it Backpatch-through: 16 only --- doc/src/sgml/release-16.sgml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/sgml/release-16.sgml b/doc/src/sgml/release-16.sgml index 2bd88353c67..2623c6aa371 100644 --- a/doc/src/sgml/release-16.sgml +++ b/doc/src/sgml/release-16.sgml @@ -2610,7 +2610,7 @@ Author: Tom Lane The Member of output column has been removed from \du and \dg because - this new command displays this informaion in more detail. + this new command displays this information in more detail. From 37e4848ec54c0d7d267ea016651e66398d4b07f8 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 18 Oct 2023 20:43:17 -0400 Subject: [PATCH 262/317] Improve pglz_decompress's defenses against corrupt compressed data. When processing a match tag, check to see if the claimed "off" is more than the distance back to the output buffer start. If it is, then the data is corrupt, and what's more we would fetch from outside the buffer boundaries and potentially incur a SIGSEGV. (Although the odds of that seem relatively low, given that "off" can't be more than 4K.) Back-patch to v13; before that, this function wasn't really trying to protect against bad data. Report and fix by Flavien Guedez. Discussion: https://postgr.es/m/01fc0593-e31e-463d-902c-dd43174acee2@oopacity.net --- src/common/pg_lzcompress.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/common/pg_lzcompress.c b/src/common/pg_lzcompress.c index f14c89fae47..95ad3388efd 100644 --- a/src/common/pg_lzcompress.c +++ b/src/common/pg_lzcompress.c @@ -735,11 +735,15 @@ pglz_decompress(const char *source, int32 slen, char *dest, /* * Check for corrupt data: if we fell off the end of the - * source, or if we obtained off = 0, we have problems. (We - * must check this, else we risk an infinite loop below in the - * face of corrupt data.) + * source, or if we obtained off = 0, or if off is more than + * the distance back to the buffer start, we have problems. + * (We must check for off = 0, else we risk an infinite loop + * below in the face of corrupt data. Likewise, the upper + * limit on off prevents accessing outside the buffer + * boundaries.) */ - if (unlikely(sp > srcend || off == 0)) + if (unlikely(sp > srcend || off == 0 || + off > (dp - (unsigned char *) dest))) return -1; /* From 019bf69fe6ac347190b2caaf75e4bf5324f556cf Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Thu, 19 Oct 2023 10:37:46 +0200 Subject: [PATCH 263/317] Remove duplicate name from list of acknowledgments Reported-by: Alvaro Herrera --- doc/src/sgml/release-16.sgml | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/src/sgml/release-16.sgml b/doc/src/sgml/release-16.sgml index 2623c6aa371..5e75127f0c7 100644 --- a/doc/src/sgml/release-16.sgml +++ b/doc/src/sgml/release-16.sgml @@ -4159,7 +4159,6 @@ Author: Andres Freund Takeshi Ideriha Tatsuhiro Nakamori Tatsuo Ishii - Ted Yu Teja Mupparti Tender Wang Teodor Sigaev From 7c185cd3947912f0807bbf036eda15862aa22384 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 20 Oct 2023 13:01:02 -0400 Subject: [PATCH 264/317] Doc: update CREATE OPERATOR's statement about => as an operator. This doco said that use of => as an operator "is deprecated". It's been fully disallowed since 865f14a2d back in 9.5, but evidently that commit missed updating this statement. Do so now. --- doc/src/sgml/ref/create_operator.sgml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/doc/src/sgml/ref/create_operator.sgml b/doc/src/sgml/ref/create_operator.sgml index e27512ff391..d4d45ec357d 100644 --- a/doc/src/sgml/ref/create_operator.sgml +++ b/doc/src/sgml/ref/create_operator.sgml @@ -52,7 +52,8 @@ CREATE OPERATOR name ( There are a few restrictions on your choice of name: - -- and /* cannot appear anywhere in an operator name, + + -- and /* cannot appear anywhere in an operator name, since they will be taken as the start of a comment. @@ -72,8 +73,8 @@ CREATE OPERATOR name ( - The use of => as an operator name is deprecated. It may - be disallowed altogether in a future release. + The symbol => is reserved by the SQL grammar, + so it cannot be used as an operator name. From f74c524494e43c22e26ef97571ed0d10ea396101 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 20 Oct 2023 13:40:15 -0400 Subject: [PATCH 265/317] Dodge a compiler bug affecting timetz_zone/timetz_izone. This avoids a compiler bug occurring in AIX's xlc, even in pretty late-model revisions. Buildfarm testing has now confirmed that only 64-bit xlc is affected. Although we are contemplating dropping support for xlc in v17, it's still supported in the back branches, so we need this fix. Back-patch of code changes from HEAD commit 19fa97731. (The test cases were already back-patched, in 4a427b82c et al.) Discussion: https://postgr.es/m/CA+hUKGK=DOC+hE-62FKfZy=Ybt5uLkrg3zCZD-jFykM-iPn8yw@mail.gmail.com --- src/backend/utils/adt/date.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/backend/utils/adt/date.c b/src/backend/utils/adt/date.c index ae0f24de2c3..5420de83422 100644 --- a/src/backend/utils/adt/date.c +++ b/src/backend/utils/adt/date.c @@ -3083,10 +3083,11 @@ timetz_zone(PG_FUNCTION_ARGS) result = (TimeTzADT *) palloc(sizeof(TimeTzADT)); result->time = t->time + (t->zone - tz) * USECS_PER_SEC; + /* C99 modulo has the wrong sign convention for negative input */ while (result->time < INT64CONST(0)) result->time += USECS_PER_DAY; - while (result->time >= USECS_PER_DAY) - result->time -= USECS_PER_DAY; + if (result->time >= USECS_PER_DAY) + result->time %= USECS_PER_DAY; result->zone = tz; @@ -3116,10 +3117,11 @@ timetz_izone(PG_FUNCTION_ARGS) result = (TimeTzADT *) palloc(sizeof(TimeTzADT)); result->time = time->time + (time->zone - tz) * USECS_PER_SEC; + /* C99 modulo has the wrong sign convention for negative input */ while (result->time < INT64CONST(0)) result->time += USECS_PER_DAY; - while (result->time >= USECS_PER_DAY) - result->time -= USECS_PER_DAY; + if (result->time >= USECS_PER_DAY) + result->time %= USECS_PER_DAY; result->zone = tz; From 500296fd6e56a67a13e262b806f91fe08e7bd9cf Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Fri, 20 Oct 2023 11:11:36 -0700 Subject: [PATCH 266/317] meson: Make detection of python more robust Previously we errored out if no python installation could be found (but we did handle not having enough of python installed to build plpython against). Presumably nobody hit this so far, as python is likely installed due to meson requiring python. Author: Tristan Partin Discussion: https://postgr.es/m/CSPIJVUDZFKX.3KHMOAVGF94RV@c3po Backpatch: 16-, where meson support was added --- meson.build | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/meson.build b/meson.build index 9e01066ef14..84cf893d100 100644 --- a/meson.build +++ b/meson.build @@ -1052,15 +1052,17 @@ endif ############################################################### pyopt = get_option('plpython') +python3_dep = not_found_dep if not pyopt.disabled() pm = import('python') python3_inst = pm.find_installation(required: pyopt) - python3_dep = python3_inst.dependency(embed: true, required: pyopt) - if not cc.check_header('Python.h', dependencies: python3_dep, required: pyopt) - python3_dep = not_found_dep + 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) + python3_dep = not_found_dep + endif endif -else - python3_dep = not_found_dep endif From 3454aaec4d655a1ecde0319d6c93ac34c3819e0e Mon Sep 17 00:00:00 2001 From: Alvaro Herrera Date: Fri, 20 Oct 2023 22:52:15 +0200 Subject: [PATCH 267/317] Make some error strings more generic It's undesirable to have SQL commands or configuration options in a translatable error string, so take some of these out. --- src/backend/commands/collationcmds.c | 13 +++++++++---- src/backend/commands/tablecmds.c | 20 +++++++++++++++----- src/backend/commands/typecmds.c | 12 +++++++++--- 3 files changed, 33 insertions(+), 12 deletions(-) diff --git a/src/backend/commands/collationcmds.c b/src/backend/commands/collationcmds.c index efb8b4d289f..4088481b9c7 100644 --- a/src/backend/commands/collationcmds.c +++ b/src/backend/commands/collationcmds.c @@ -250,19 +250,22 @@ DefineCollation(ParseState *pstate, List *names, List *parameters, bool if_not_e if (!collcollate) ereport(ERROR, (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), - errmsg("parameter \"lc_collate\" must be specified"))); + errmsg("parameter \"%s\" must be specified", + "lc_collate"))); if (!collctype) ereport(ERROR, (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), - errmsg("parameter \"lc_ctype\" must be specified"))); + errmsg("parameter \"%s\" must be specified", + "lc_ctype"))); } else if (collprovider == COLLPROVIDER_ICU) { if (!colliculocale) ereport(ERROR, (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), - errmsg("parameter \"locale\" must be specified"))); + errmsg("parameter \"%s\" must be specified", + "locale"))); /* * During binary upgrade, preserve the locale string. Otherwise, @@ -416,7 +419,9 @@ AlterCollation(AlterCollationStmt *stmt) if (collOid == DEFAULT_COLLATION_OID) ereport(ERROR, (errmsg("cannot refresh version of default collation"), - errhint("Use ALTER DATABASE ... REFRESH COLLATION VERSION instead."))); + /* translator: %s is an SQL command */ + errhint("Use %s instead.", + "ALTER DATABASE ... REFRESH COLLATION VERSION"))); if (!object_ownercheck(CollationRelationId, collOid, GetUserId())) aclcheck_error(ACLCHECK_NOT_OWNER, OBJECT_COLLATION, diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index ffe25fe595f..97796776000 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -7769,7 +7769,9 @@ ATExecColumnDefault(Relation rel, const char *colName, (errcode(ERRCODE_SYNTAX_ERROR), errmsg("column \"%s\" of relation \"%s\" is an identity column", colName, RelationGetRelationName(rel)), - newDefault ? 0 : errhint("Use ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY instead."))); + /* translator: %s is an SQL ALTER command */ + newDefault ? 0 : errhint("Use %s instead.", + "ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY"))); if (TupleDescAttr(tupdesc, attnum - 1)->attgenerated) ereport(ERROR, @@ -7777,7 +7779,9 @@ ATExecColumnDefault(Relation rel, const char *colName, errmsg("column \"%s\" of relation \"%s\" is a generated column", colName, RelationGetRelationName(rel)), newDefault || TupleDescAttr(tupdesc, attnum - 1)->attgenerated != ATTRIBUTE_GENERATED_STORED ? 0 : - errhint("Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION instead."))); + /* translator: %s is an SQL ALTER command */ + errhint("Use %s instead.", + "ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION"))); /* * Remove any old default for the column. We use RESTRICT here for @@ -13982,7 +13986,9 @@ ATExecChangeOwner(Oid relationOid, Oid newOwnerId, bool recursing, LOCKMODE lock (errcode(ERRCODE_WRONG_OBJECT_TYPE), errmsg("\"%s\" is a composite type", NameStr(tuple_class->relname)), - errhint("Use ALTER TYPE instead."))); + /* translator: %s is an SQL ALTER command */ + errhint("Use %s instead.", + "ALTER TYPE"))); break; case RELKIND_TOASTVALUE: if (recursing) @@ -17260,7 +17266,9 @@ RangeVarCallbackForAlterRelation(const RangeVar *rv, Oid relid, Oid oldrelid, ereport(ERROR, (errcode(ERRCODE_WRONG_OBJECT_TYPE), errmsg("\"%s\" is a composite type", rv->relname), - errhint("Use ALTER TYPE instead."))); + /* translator: %s is an SQL ALTER command */ + errhint("Use %s instead.", + "ALTER TYPE"))); /* * Don't allow ALTER TABLE .. SET SCHEMA on relations that can't be moved @@ -17279,7 +17287,9 @@ RangeVarCallbackForAlterRelation(const RangeVar *rv, Oid relid, Oid oldrelid, (errcode(ERRCODE_WRONG_OBJECT_TYPE), errmsg("cannot change schema of composite type \"%s\"", rv->relname), - errhint("Use ALTER TYPE instead."))); + /* translator: %s is an SQL ALTER command */ + errhint("Use %s instead.", + "ALTER TYPE"))); else if (relkind == RELKIND_TOASTVALUE) ereport(ERROR, (errcode(ERRCODE_WRONG_OBJECT_TYPE), diff --git a/src/backend/commands/typecmds.c b/src/backend/commands/typecmds.c index 3c72444d982..37b6524d305 100644 --- a/src/backend/commands/typecmds.c +++ b/src/backend/commands/typecmds.c @@ -3658,7 +3658,9 @@ RenameType(RenameStmt *stmt) (errcode(ERRCODE_WRONG_OBJECT_TYPE), errmsg("%s is a table's row type", format_type_be(typeOid)), - errhint("Use ALTER TABLE instead."))); + /* translator: %s is an SQL ALTER command */ + errhint("Use %s instead.", + "ALTER TABLE"))); /* don't allow direct alteration of array types, either */ if (IsTrueArrayType(typTup)) @@ -3739,7 +3741,9 @@ AlterTypeOwner(List *names, Oid newOwnerId, ObjectType objecttype) (errcode(ERRCODE_WRONG_OBJECT_TYPE), errmsg("%s is a table's row type", format_type_be(typeOid)), - errhint("Use ALTER TABLE instead."))); + /* translator: %s is an SQL ALTER command */ + errhint("Use %s instead.", + "ALTER TABLE"))); /* don't allow direct alteration of array types, either */ if (IsTrueArrayType(typTup)) @@ -4030,7 +4034,9 @@ AlterTypeNamespaceInternal(Oid typeOid, Oid nspOid, (errcode(ERRCODE_WRONG_OBJECT_TYPE), errmsg("%s is a table's row type", format_type_be(typeOid)), - errhint("Use ALTER TABLE instead."))); + /* translator: %s is an SQL ALTER command */ + errhint("Use %s instead.", + "ALTER TABLE"))); if (oldNspOid != nspOid) { From db92d728d2aad138e58d5a0f5be8e1f9abf042a2 Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Sun, 22 Oct 2023 10:04:55 +1300 Subject: [PATCH 268/317] Fix min_dynamic_shared_memory on Windows. When min_dynamic_shared_memory is set above 0, we try to find space in a pre-allocated region of the main shared memory area instead of calling dsm_impl_XXX() routines to allocate more. The dsm_pin_segment() and dsm_unpin_segment() routines had a bug: they called dsm_impl_XXX() routines even for main region segments. Nobody noticed before now because those routines do nothing on Unix, but on Windows they'd fail while attempting to duplicate an invalid Windows HANDLE. Add the missing gating. Back-patch to 14, where commit 84b1c63a added this feature. Fixes pgsql-bugs bug #18165. Reported-by: Maxime Boyer Tested-by: Alexander Lakhin Discussion: https://postgr.es/m/18165-bf4f525cea6e51de%40postgresql.org --- src/backend/storage/ipc/dsm.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/backend/storage/ipc/dsm.c b/src/backend/storage/ipc/dsm.c index 10b029bb162..7e4e27810e8 100644 --- a/src/backend/storage/ipc/dsm.c +++ b/src/backend/storage/ipc/dsm.c @@ -927,7 +927,7 @@ dsm_unpin_mapping(dsm_segment *seg) void dsm_pin_segment(dsm_segment *seg) { - void *handle; + void *handle = NULL; /* * Bump reference count for this segment in shared memory. This will @@ -938,7 +938,8 @@ dsm_pin_segment(dsm_segment *seg) LWLockAcquire(DynamicSharedMemoryControlLock, LW_EXCLUSIVE); if (dsm_control->item[seg->control_slot].pinned) elog(ERROR, "cannot pin a segment that is already pinned"); - dsm_impl_pin_segment(seg->handle, seg->impl_private, &handle); + if (!is_main_region_dsm_handle(seg->handle)) + dsm_impl_pin_segment(seg->handle, seg->impl_private, &handle); dsm_control->item[seg->control_slot].pinned = true; dsm_control->item[seg->control_slot].refcnt++; dsm_control->item[seg->control_slot].impl_private_pm_handle = handle; @@ -995,8 +996,9 @@ dsm_unpin_segment(dsm_handle handle) * releasing the lock, because impl_private_pm_handle may get modified by * dsm_impl_unpin_segment. */ - dsm_impl_unpin_segment(handle, - &dsm_control->item[control_slot].impl_private_pm_handle); + if (!is_main_region_dsm_handle(handle)) + dsm_impl_unpin_segment(handle, + &dsm_control->item[control_slot].impl_private_pm_handle); /* Note that 1 means no references (0 means unused slot). */ if (--dsm_control->item[control_slot].refcnt == 1) From 6fd6e3c5df17b4db9159781fadec92490e67ddf6 Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Sun, 22 Oct 2023 14:17:00 +1300 Subject: [PATCH 269/317] Log LLVM library version in configure output. When scanning build farm results, it's useful to be able to see which version is in use. For the Meson build system, this information was already displayed. Back-patch to all supported branches. Discussion: https://postgr.es/m/4022690.1697852728%40sss.pgh.pa.us --- config/llvm.m4 | 1 + configure | 2 ++ 2 files changed, 3 insertions(+) diff --git a/config/llvm.m4 b/config/llvm.m4 index 3a75cd8b4df..21d8cd4f90f 100644 --- a/config/llvm.m4 +++ b/config/llvm.m4 @@ -28,6 +28,7 @@ AC_DEFUN([PGAC_LLVM_SUPPORT], if echo $pgac_llvm_version | $AWK -F '.' '{ if ([$]1 >= 4 || ([$]1 == 3 && [$]2 >= 9)) exit 1; else exit 0;}';then AC_MSG_ERROR([$LLVM_CONFIG version is $pgac_llvm_version but at least 3.9 is required]) fi + AC_MSG_NOTICE([using llvm $pgac_llvm_version]) # need clang to create some bitcode files AC_ARG_VAR(CLANG, [path to clang compiler to generate bitcode]) diff --git a/configure b/configure index 0c325f0dc41..135d732d832 100755 --- a/configure +++ b/configure @@ -5126,6 +5126,8 @@ fi if echo $pgac_llvm_version | $AWK -F '.' '{ if ($1 >= 4 || ($1 == 3 && $2 >= 9)) exit 1; else exit 0;}';then as_fn_error $? "$LLVM_CONFIG version is $pgac_llvm_version but at least 3.9 is required" "$LINENO" 5 fi + { $as_echo "$as_me:${as_lineno-$LINENO}: using llvm $pgac_llvm_version" >&5 +$as_echo "$as_me: using llvm $pgac_llvm_version" >&6;} # need clang to create some bitcode files From f39afb1fbc62267114a25a124a2751c82cab9345 Mon Sep 17 00:00:00 2001 From: Peter Geoghegan Date: Tue, 24 Oct 2023 09:27:26 -0700 Subject: [PATCH 270/317] Doc: indexUnchanged is strictly a hint. Clearly spell out the limitations of aminsert()'s indexUnchanged hinting mechanism in the index AM documentation. Oversight in commit 9dc718bd, which added the "logically unchanged index" hint (which is used to trigger bottom-up index deletion). Author: Peter Geoghegan Reported-By: Tom Lane Reviewed-By: Tom Lane Discussion: https://postgr.es/m/CAH2-WzmU_BQ=-H9L+bxTSMQBqHMjp1DSwGypvL0gKs+dTOfkKg@mail.gmail.com Backpatch: 14-, where indexUnchanged hinting was introduced. --- doc/src/sgml/indexam.sgml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/doc/src/sgml/indexam.sgml b/doc/src/sgml/indexam.sgml index e813e2b620a..30eda37afa8 100644 --- a/doc/src/sgml/indexam.sgml +++ b/doc/src/sgml/indexam.sgml @@ -332,9 +332,13 @@ aminsert (Relation indexRelation, modify any columns covered by the index, but nevertheless requires a new version in the index. The index AM may use this hint to decide to apply bottom-up index deletion in parts of the index where many - versions of the same logical row accumulate. Note that updating a - non-key column does not affect the value of - indexUnchanged. + versions of the same logical row accumulate. Note that updating a non-key + column or a column that only appears in a partial index predicate does not + affect the value of indexUnchanged. The core code + determines each tuple's indexUnchanged value using a low + overhead approach that allows both false positives and false negatives. + Index AMs must not treat indexUnchanged as an + authoritative source of information about tuple visibility or versioning. From e20453a6136cb52f05cb3044355bff81694fd292 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 24 Oct 2023 14:48:28 -0400 Subject: [PATCH 271/317] Fix problems when a plain-inheritance parent table is excluded. When an UPDATE/DELETE/MERGE's target table is an old-style inheritance tree, it's possible for the parent to get excluded from the plan while some children are not. (I believe this is only possible if we can prove that a CHECK ... NO INHERIT constraint on the parent contradicts the query WHERE clause, so it's a very unusual case.) In such a case, ExecInitModifyTable mistakenly concluded that the first surviving child is the target table, leading to at least two bugs: 1. The wrong table's statement-level triggers would get fired. 2. In v16 and up, it was possible to fail with "invalid perminfoindex 0 in RTE with relid nnnn" due to the child RTE not having permissions data included in the query plan. This was hard to reproduce reliably because it did not occur unless the update triggered some non-HOT index updates. In v14 and up, this is easy to fix by defining ModifyTable.rootRelation to be the parent RTE in plain inheritance as well as partitioned cases. While the wrong-triggers bug also appears in older branches, the relevant code in both the planner and executor is quite a bit different, so it would take a good deal of effort to develop and test a suitable patch. Given the lack of field complaints about the trigger issue, I'll desist for now. (Patching v11 for this seems unwise anyway, given that it will have no more releases after next month.) Per bug #18147 from Hans Buschmann. Amit Langote and Tom Lane Discussion: https://postgr.es/m/18147-6fc796538913ee88@postgresql.org --- src/backend/executor/nodeModifyTable.c | 9 +++++---- src/backend/optimizer/plan/planner.c | 14 ++++--------- src/backend/optimizer/util/pathnode.c | 2 +- src/include/nodes/pathnodes.h | 2 +- src/include/nodes/plannodes.h | 13 +++++++------ src/test/regress/expected/inherit.out | 27 ++++++++++++++++++++++++++ src/test/regress/sql/inherit.sql | 19 ++++++++++++++++++ 7 files changed, 64 insertions(+), 22 deletions(-) diff --git a/src/backend/executor/nodeModifyTable.c b/src/backend/executor/nodeModifyTable.c index 20a957866de..92043dc54f0 100644 --- a/src/backend/executor/nodeModifyTable.c +++ b/src/backend/executor/nodeModifyTable.c @@ -4174,10 +4174,10 @@ ExecInitModifyTable(ModifyTable *node, EState *estate, int eflags) * must be converted, and * - the root partitioned table used for tuple routing. * - * If it's a partitioned table, the root partition doesn't appear - * elsewhere in the plan and its RT index is given explicitly in - * node->rootRelation. Otherwise (i.e. table inheritance) the target - * relation is the first relation in the node->resultRelations list. + * If it's a partitioned or inherited table, the root partition or + * appendrel RTE doesn't appear elsewhere in the plan and its RT index is + * given explicitly in node->rootRelation. Otherwise, the target relation + * is the sole relation in the node->resultRelations list. *---------- */ if (node->rootRelation > 0) @@ -4188,6 +4188,7 @@ ExecInitModifyTable(ModifyTable *node, EState *estate, int eflags) } else { + Assert(list_length(node->resultRelations) == 1); mtstate->rootResultRelInfo = mtstate->resultRelInfo; ExecInitResultRelation(estate, mtstate->resultRelInfo, linitial_int(node->resultRelations)); diff --git a/src/backend/optimizer/plan/planner.c b/src/backend/optimizer/plan/planner.c index 38766142033..36cd8fbb238 100644 --- a/src/backend/optimizer/plan/planner.c +++ b/src/backend/optimizer/plan/planner.c @@ -1800,6 +1800,9 @@ grouping_planner(PlannerInfo *root, double tuple_fraction) parse->resultRelation); int resultRelation = -1; + /* Pass the root result rel forward to the executor. */ + rootRelation = parse->resultRelation; + /* Add only leaf children to ModifyTable. */ while ((resultRelation = bms_next_member(root->leaf_result_relids, resultRelation)) >= 0) @@ -1923,6 +1926,7 @@ grouping_planner(PlannerInfo *root, double tuple_fraction) else { /* Single-relation INSERT/UPDATE/DELETE/MERGE. */ + rootRelation = 0; /* there's no separate root rel */ resultRelations = list_make1_int(parse->resultRelation); if (parse->commandType == CMD_UPDATE) updateColnosLists = list_make1(root->update_colnos); @@ -1934,16 +1938,6 @@ grouping_planner(PlannerInfo *root, double tuple_fraction) mergeActionLists = list_make1(parse->mergeActionList); } - /* - * If target is a partition root table, we need to mark the - * ModifyTable node appropriately for that. - */ - if (rt_fetch(parse->resultRelation, parse->rtable)->relkind == - RELKIND_PARTITIONED_TABLE) - rootRelation = parse->resultRelation; - else - rootRelation = 0; - /* * If there was a FOR [KEY] UPDATE/SHARE clause, the LockRows node * will have dealt with fetching non-locked marked rows, else we diff --git a/src/backend/optimizer/util/pathnode.c b/src/backend/optimizer/util/pathnode.c index e518a07e2c6..2185fc35a37 100644 --- a/src/backend/optimizer/util/pathnode.c +++ b/src/backend/optimizer/util/pathnode.c @@ -3646,7 +3646,7 @@ create_lockrows_path(PlannerInfo *root, RelOptInfo *rel, * 'operation' is the operation type * 'canSetTag' is true if we set the command tag/es_processed * 'nominalRelation' is the parent RT index for use of EXPLAIN - * 'rootRelation' is the partitioned table root RT index, or 0 if none + * 'rootRelation' is the partitioned/inherited table root RTI, or 0 if none * 'partColsUpdated' is true if any partitioning columns are being updated, * either from the target relation or a descendent partitioned table. * 'resultRelations' is an integer list of actual RT indexes of target rel(s) diff --git a/src/include/nodes/pathnodes.h b/src/include/nodes/pathnodes.h index a1dc1d07e18..94aebadd9f9 100644 --- a/src/include/nodes/pathnodes.h +++ b/src/include/nodes/pathnodes.h @@ -2334,7 +2334,7 @@ typedef struct ModifyTablePath CmdType operation; /* INSERT, UPDATE, DELETE, or MERGE */ bool canSetTag; /* do we set the command tag/es_processed? */ Index nominalRelation; /* Parent RT index for use of EXPLAIN */ - Index rootRelation; /* Root RT index, if target is partitioned */ + Index rootRelation; /* Root RT index, if partitioned/inherited */ bool partColsUpdated; /* some part key in hierarchy updated? */ List *resultRelations; /* integer list of RT indexes */ List *updateColnosLists; /* per-target-table update_colnos lists */ diff --git a/src/include/nodes/plannodes.h b/src/include/nodes/plannodes.h index 9ee0103c945..182903c3f7b 100644 --- a/src/include/nodes/plannodes.h +++ b/src/include/nodes/plannodes.h @@ -216,11 +216,12 @@ typedef struct ProjectSet * Apply rows produced by outer plan to result table(s), * by inserting, updating, or deleting. * - * If the originally named target table is a partitioned table, both - * nominalRelation and rootRelation contain the RT index of the partition - * root, which is not otherwise mentioned in the plan. Otherwise rootRelation - * is zero. However, nominalRelation will always be set, as it's the rel that - * EXPLAIN should claim is the INSERT/UPDATE/DELETE/MERGE target. + * If the originally named target table is a partitioned table or inheritance + * tree, both nominalRelation and rootRelation contain the RT index of the + * partition root or appendrel RTE, which is not otherwise mentioned in the + * plan. Otherwise rootRelation is zero. However, nominalRelation will + * always be set, as it's the rel that EXPLAIN should claim is the + * INSERT/UPDATE/DELETE/MERGE target. * * Note that rowMarks and epqParam are presumed to be valid for all the * table(s); they can't contain any info that varies across tables. @@ -232,7 +233,7 @@ typedef struct ModifyTable CmdType operation; /* INSERT, UPDATE, DELETE, or MERGE */ bool canSetTag; /* do we set the command tag/es_processed? */ Index nominalRelation; /* Parent RT index for use of EXPLAIN */ - Index rootRelation; /* Root RT index, if target is partitioned */ + Index rootRelation; /* Root RT index, if partitioned/inherited */ bool partColsUpdated; /* some part key in hierarchy updated? */ List *resultRelations; /* integer list of RT indexes */ List *updateColnosLists; /* per-target-table update_colnos lists */ diff --git a/src/test/regress/expected/inherit.out b/src/test/regress/expected/inherit.out index a7fbeed9eb9..0aa0d410a12 100644 --- a/src/test/regress/expected/inherit.out +++ b/src/test/regress/expected/inherit.out @@ -539,6 +539,33 @@ CREATE TEMP TABLE z (b TEXT, PRIMARY KEY(aa, b)) inherits (a); INSERT INTO z VALUES (NULL, 'text'); -- should fail ERROR: null value in column "aa" of relation "z" violates not-null constraint DETAIL: Failing row contains (null, text). +-- Check inherited UPDATE with first child excluded +create table some_tab (f1 int, f2 int, f3 int, check (f1 < 10) no inherit); +create table some_tab_child () inherits(some_tab); +insert into some_tab_child select i, i+1, 0 from generate_series(1,1000) i; +create index on some_tab_child(f1, f2); +-- while at it, also check that statement-level triggers fire +create function some_tab_stmt_trig_func() returns trigger as +$$begin raise notice 'updating some_tab'; return NULL; end;$$ +language plpgsql; +create trigger some_tab_stmt_trig + before update on some_tab execute function some_tab_stmt_trig_func(); +explain (costs off) +update some_tab set f3 = 11 where f1 = 12 and f2 = 13; + QUERY PLAN +------------------------------------------------------------------------------------ + Update on some_tab + Update on some_tab_child some_tab_1 + -> Result + -> Index Scan using some_tab_child_f1_f2_idx on some_tab_child some_tab_1 + Index Cond: ((f1 = 12) AND (f2 = 13)) +(5 rows) + +update some_tab set f3 = 11 where f1 = 12 and f2 = 13; +NOTICE: updating some_tab +drop table some_tab cascade; +NOTICE: drop cascades to table some_tab_child +drop function some_tab_stmt_trig_func(); -- Check inherited UPDATE with all children excluded create table some_tab (a int, b int); create table some_tab_child () inherits (some_tab); diff --git a/src/test/regress/sql/inherit.sql b/src/test/regress/sql/inherit.sql index 215d58e80d3..e15f9c364c2 100644 --- a/src/test/regress/sql/inherit.sql +++ b/src/test/regress/sql/inherit.sql @@ -97,6 +97,25 @@ SELECT relname, d.* FROM ONLY d, pg_class where d.tableoid = pg_class.oid; CREATE TEMP TABLE z (b TEXT, PRIMARY KEY(aa, b)) inherits (a); INSERT INTO z VALUES (NULL, 'text'); -- should fail +-- Check inherited UPDATE with first child excluded +create table some_tab (f1 int, f2 int, f3 int, check (f1 < 10) no inherit); +create table some_tab_child () inherits(some_tab); +insert into some_tab_child select i, i+1, 0 from generate_series(1,1000) i; +create index on some_tab_child(f1, f2); +-- while at it, also check that statement-level triggers fire +create function some_tab_stmt_trig_func() returns trigger as +$$begin raise notice 'updating some_tab'; return NULL; end;$$ +language plpgsql; +create trigger some_tab_stmt_trig + before update on some_tab execute function some_tab_stmt_trig_func(); + +explain (costs off) +update some_tab set f3 = 11 where f1 = 12 and f2 = 13; +update some_tab set f3 = 11 where f1 = 12 and f2 = 13; + +drop table some_tab cascade; +drop function some_tab_stmt_trig_func(); + -- Check inherited UPDATE with all children excluded create table some_tab (a int, b int); create table some_tab_child () inherits (some_tab); From 15a424d8f7097f85cd83ecd74f17fd4fc4580a46 Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Wed, 25 Oct 2023 09:27:09 +0900 Subject: [PATCH 272/317] Log OpenSSL version in ./configure output This information is useful to know when scanning buildfarm results, and it is already displayed in Meson. The output of `openssl version` is logged, with the command retrieved from PATH. This depends on c8e4030d1bdd, so backpatch down to 16. Reviewed-by: Peter Eisentraut, Daniel Gustafsson, Tom Lane Discussion: https://postgr.es/m/ZTW9yOlZaSVoFhTz@paquier.xyz Backpatch-through: 16 --- configure | 3 +++ configure.ac | 2 ++ 2 files changed, 5 insertions(+) diff --git a/configure b/configure index 135d732d832..a0b71dd4f2f 100755 --- a/configure +++ b/configure @@ -14179,6 +14179,9 @@ $as_echo_n "checking for OPENSSL... " >&6; } $as_echo "$OPENSSL" >&6; } fi +pgac_openssl_version="$($OPENSSL version 2> /dev/null || echo openssl not found)" +{ $as_echo "$as_me:${as_lineno-$LINENO}: using openssl: $pgac_openssl_version" >&5 +$as_echo "$as_me: using openssl: $pgac_openssl_version" >&6;} if test "$with_ssl" = openssl ; then ac_fn_c_check_header_mongrel "$LINENO" "openssl/ssl.h" "ac_cv_header_openssl_ssl_h" "$ac_includes_default" if test "x$ac_cv_header_openssl_ssl_h" = xyes; then : diff --git a/configure.ac b/configure.ac index 7f97248992d..cd34425daf9 100644 --- a/configure.ac +++ b/configure.ac @@ -1571,6 +1571,8 @@ if test "$with_gssapi" = yes ; then fi PGAC_PATH_PROGS(OPENSSL, openssl) +pgac_openssl_version="$($OPENSSL version 2> /dev/null || echo openssl not found)" +AC_MSG_NOTICE([using openssl: $pgac_openssl_version]) if test "$with_ssl" = openssl ; then AC_CHECK_HEADER(openssl/ssl.h, [], [AC_MSG_ERROR([header file is required for OpenSSL])]) AC_CHECK_HEADER(openssl/err.h, [], [AC_MSG_ERROR([header file is required for OpenSSL])]) From bb3272d045e456eeb0251ae8a046bfc7b302bbf2 Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Wed, 25 Oct 2023 09:41:09 +0900 Subject: [PATCH 273/317] doc: Fix some typos and grammar Author: Ekaterina Kiryanova, Elena Indrupskaya, Oleg Sibiryakov, Maxim Yablokov Discussion: https://postgr.es/m/7aad518b-3e6d-47f3-9184-b1d69cb412e7@postgrespro.ru Backpatch-through: 11 --- doc/src/sgml/charset.sgml | 2 +- doc/src/sgml/client-auth.sgml | 2 +- doc/src/sgml/installation.sgml | 4 ++-- doc/src/sgml/nls.sgml | 2 +- doc/src/sgml/pgwalinspect.sgml | 2 +- doc/src/sgml/ref/create_foreign_table.sgml | 2 +- doc/src/sgml/system-views.sgml | 2 +- doc/src/sgml/xact.sgml | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/doc/src/sgml/charset.sgml b/doc/src/sgml/charset.sgml index 25febcac4c0..975b9dc9523 100644 --- a/doc/src/sgml/charset.sgml +++ b/doc/src/sgml/charset.sgml @@ -1158,7 +1158,7 @@ SELECT 'w;x*y-z' = 'wxyz' COLLATE num_ignore_punct; -- true shows which textual feature differences are considered significant when determining equality at the - given level. The unicode character U+2063 is an + given level. The Unicode character U+2063 is an invisible separator, and as seen in the table, is ignored for at all levels of comparison less than identic. diff --git a/doc/src/sgml/client-auth.sgml b/doc/src/sgml/client-auth.sgml index e9c2d82472c..7fcddaa97df 100644 --- a/doc/src/sgml/client-auth.sgml +++ b/doc/src/sgml/client-auth.sgml @@ -984,7 +984,7 @@ mymap /^(.*)@otherdomain\.com$ guest a slash (/), the remainder of the field is treated as a regular expression (see for details of PostgreSQL's regular - expression syntax. It is not possible to use \1 + expression syntax). It is not possible to use \1 to use a capture from regular expression on system-username for a regular expression on database-username. diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml index 37f542a325e..c8cc116283d 100644 --- a/doc/src/sgml/installation.sgml +++ b/doc/src/sgml/installation.sgml @@ -2103,9 +2103,9 @@ ninja configure with the option to select the one you want to use and then build using meson compile. To learn more about these backends and other arguments you can provide to - ninja, you can refer to the meson - documentation. + Meson documentation. diff --git a/doc/src/sgml/nls.sgml b/doc/src/sgml/nls.sgml index 9b6a7da870d..0ad1b2c9c45 100644 --- a/doc/src/sgml/nls.sgml +++ b/doc/src/sgml/nls.sgml @@ -205,7 +205,7 @@ make update-po The PO files can be edited with a regular text editor. There are also several specialized editors for PO files which can help the process with - translation specific features. + translation-specific features. There is (unsurprisingly) a PO mode for Emacs, which can be quite useful. diff --git a/doc/src/sgml/pgwalinspect.sgml b/doc/src/sgml/pgwalinspect.sgml index 762ad698176..3a8121c70f1 100644 --- a/doc/src/sgml/pgwalinspect.sgml +++ b/doc/src/sgml/pgwalinspect.sgml @@ -209,7 +209,7 @@ block_fpi_data | The pg_filenode_relation function (see ) can help you to - determine which relation was modified during original execution + determine which relation was modified during original execution. diff --git a/doc/src/sgml/ref/create_foreign_table.sgml b/doc/src/sgml/ref/create_foreign_table.sgml index ae1f94b9de7..dc4b9075990 100644 --- a/doc/src/sgml/ref/create_foreign_table.sgml +++ b/doc/src/sgml/ref/create_foreign_table.sgml @@ -376,7 +376,7 @@ WITH ( MODULUS numeric_literal, REM an UPDATE that changes the partition key value can cause a row to be moved from a local partition to a foreign-table partition, provided the foreign data wrapper supports tuple routing. - However it is not currently possible to move a row from a + However, it is not currently possible to move a row from a foreign-table partition to another partition. An UPDATE that would require doing that will fail due to the partitioning constraint, assuming that that is properly diff --git a/doc/src/sgml/system-views.sgml b/doc/src/sgml/system-views.sgml index 57b228076e8..b3be3ebe710 100644 --- a/doc/src/sgml/system-views.sgml +++ b/doc/src/sgml/system-views.sgml @@ -1603,7 +1603,7 @@ Apply transaction locks are used in parallel mode to apply the transaction - in logical replication. The remote transaction id is displayed in the + in logical replication. The remote transaction ID is displayed in the transactionid column. The objsubid displays the lock subtype which is 0 for the lock used to synchronize the set of changes, and 1 for the lock used to wait for the transaction to diff --git a/doc/src/sgml/xact.sgml b/doc/src/sgml/xact.sgml index b467660eeec..ab22e45b05c 100644 --- a/doc/src/sgml/xact.sgml +++ b/doc/src/sgml/xact.sgml @@ -156,7 +156,7 @@ When a top-level transaction with an xid commits, all of its subcommitted child subtransactions are also persistently recorded - as committed in the pg_xact directory. If the + as committed in the pg_xact subdirectory. If the top-level transaction aborts, all its subtransactions are also aborted, even if they were subcommitted. From 09e98bb46b57a7969e21c99b51dac2e295dab5be Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 25 Oct 2023 17:34:47 -0400 Subject: [PATCH 274/317] Doc: remove misleading info about ecpg's CONNECT/DISCONNECT DEFAULT. As far as I can see, ecpg has no notion of a "default" open connection. You can do "CONNECT TO DEFAULT" but that just specifies letting libpq use all its default connection parameters --- the resulting connection is not special subsequently. In particular, SET CONNECTION = DEFAULT and DISCONNECT DEFAULT simply act on a connection named DEFAULT, if you've made one; they do not have special lookup rules. But the documentation of these commands makes it look like they do. Simplest fix, I think, is just to remove the paras suggesting that DEFAULT is special here. Also, SET CONNECTION *does* have one special lookup rule, which is that it recognizes CURRENT as an alias for the currently selected connection. SET CONNECTION = CURRENT is a no-op, so it's pretty useless, but nonetheless it does something different from selecting a connection by name; so we'd better document it. Per report from Sylvain Frandaz. Back-patch to all supported versions. Discussion: https://postgr.es/m/169824721149.1769274.1553568436817652238@wrigleys.postgresql.org --- doc/src/sgml/ecpg.sgml | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/doc/src/sgml/ecpg.sgml b/doc/src/sgml/ecpg.sgml index f52165165dc..73351a91360 100644 --- a/doc/src/sgml/ecpg.sgml +++ b/doc/src/sgml/ecpg.sgml @@ -412,12 +412,6 @@ EXEC SQL DISCONNECT connection; - - - DEFAULT - - - CURRENT @@ -7128,7 +7122,6 @@ EXEC SQL DEALLOCATE DESCRIPTOR mydesc; DISCONNECT connection_name DISCONNECT [ CURRENT ] -DISCONNECT DEFAULT DISCONNECT ALL @@ -7169,15 +7162,6 @@ DISCONNECT ALL - - DEFAULT - - - Close the default connection. - - - - ALL @@ -7196,13 +7180,11 @@ DISCONNECT ALL int main(void) { - EXEC SQL CONNECT TO testdb AS DEFAULT USER testuser; EXEC SQL CONNECT TO testdb AS con1 USER testuser; EXEC SQL CONNECT TO testdb AS con2 USER testuser; EXEC SQL CONNECT TO testdb AS con3 USER testuser; EXEC SQL DISCONNECT CURRENT; /* close con3 */ - EXEC SQL DISCONNECT DEFAULT; /* close DEFAULT */ EXEC SQL DISCONNECT ALL; /* close con2 and con1 */ return 0; @@ -7770,11 +7752,11 @@ SET CONNECTION [ TO | = ] connection_name - - DEFAULT + + CURRENT - Set the connection to the default connection. + Set the connection to the current connection (thus, nothing happens). From 37f262c032a5907fcfbe8e559cd76f57b34eaf40 Mon Sep 17 00:00:00 2001 From: Amit Langote Date: Thu, 26 Oct 2023 11:53:41 +0900 Subject: [PATCH 275/317] Prevent duplicate RTEPermissionInfo for plain-inheritance parents Currently, expand_single_inheritance_child() doesn't reset perminfoindex in a plain-inheritance parent's child RTE, because prior to 387f9ed0a0, the executor would use the first child RTE to locate the parent's RTEPermissionInfo. That in turn causes add_rte_to_flat_rtable() to create an extra RTEPermissionInfo belonging to the parent's child RTE with the same content as the one belonging to the parent's original ("root") RTE. In 387f9ed0a0, we changed things so that the executor can now use the parent's "root" RTE for locating its RTEPermissionInfo instead of the child RTE, so the latter's perminfoindex need not be set anymore, so make it so. Reported-by: Tom Lane Discussion: https://postgr.es/m/839708.1698174464@sss.pgh.pa.us Backpatch-through: 16 --- src/backend/optimizer/util/inherit.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/backend/optimizer/util/inherit.c b/src/backend/optimizer/util/inherit.c index 94de855a227..00b65ca305b 100644 --- a/src/backend/optimizer/util/inherit.c +++ b/src/backend/optimizer/util/inherit.c @@ -494,13 +494,8 @@ expand_single_inheritance_child(PlannerInfo *root, RangeTblEntry *parentrte, childrte->inh = false; childrte->securityQuals = NIL; - /* - * No permission checking for the child RTE unless it's the parent - * relation in its child role, which only applies to traditional - * inheritance. - */ - if (childOID != parentOID) - childrte->perminfoindex = 0; + /* No permission checking for child RTEs. */ + childrte->perminfoindex = 0; /* Link not-yet-fully-filled child RTE into data structures */ parse->rtable = lappend(parse->rtable, childrte); From 18f6f21040fc43706041ff686cebc46b1ce89dac Mon Sep 17 00:00:00 2001 From: Amit Langote Date: Thu, 26 Oct 2023 17:12:24 +0900 Subject: [PATCH 276/317] Avoid compiler warning in non-assert builds After 01575ad788e3, expand_single_inheritance_child()'s parentOID variable is read only in an Assert, provoking a compiler warning in non-assert builds. Fix that by marking the variable with PG_USED_FOR_ASSERTS_ONLY. Per report and suggestion from David Rowley Discussion: https://postgr.es/m/CAApHDvpjA_8Wxu4DCTRVAvPxC9atwMe6N%2ByvrcGsgb7mrfdpJA%40mail.gmail.com --- src/backend/optimizer/util/inherit.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/backend/optimizer/util/inherit.c b/src/backend/optimizer/util/inherit.c index 00b65ca305b..f9d3ff1e7ac 100644 --- a/src/backend/optimizer/util/inherit.c +++ b/src/backend/optimizer/util/inherit.c @@ -457,7 +457,8 @@ expand_single_inheritance_child(PlannerInfo *root, RangeTblEntry *parentrte, Index *childRTindex_p) { Query *parse = root->parse; - Oid parentOID = RelationGetRelid(parentrel); + Oid parentOID PG_USED_FOR_ASSERTS_ONLY = + RelationGetRelid(parentrel); Oid childOID = RelationGetRelid(childrel); RangeTblEntry *childrte; Index childRTindex; From dd273bd115d8396689f75881b60a3f7087cb21f1 Mon Sep 17 00:00:00 2001 From: Tomas Vondra Date: Fri, 27 Oct 2023 17:56:27 +0200 Subject: [PATCH 277/317] Fix overflow when calculating timestamp distance in BRIN When calculating distances for timestamp values for BRIN minmax-multi indexes, we need to be careful about overflows for extreme values. If the value overflows into a negative value, the index may be inefficient. The new regression test checks this for the timestamp type by adding a table with enough values to force range compaction/merging. The values are close to min/max, which means a risk of overflow. Fixed by converting the int64 values to double first, before calculating the distance. This prevents the overflow. We may lose some precision, of course, but that's good enough. In the worst case we build a slightly less efficient index, but for large distances this won't matter. This only affects minmax-multi indexes on timestamp columns, with ranges containing values sufficiently distant to cause an overflow. That seems like a fairly rare case in practice. Backpatch to 14, where minmax-multi indexes were introduced. Reported-by: Ashutosh Bapat Reviewed-by: Ashutosh Bapat, Dean Rasheed Backpatch-through: 14 Discussion: https://postgr.es/m/eef0ea8c-4aaa-8d0d-027f-58b1f35dd170@enterprisedb.com --- src/backend/access/brin/brin_minmax_multi.c | 2 +- src/test/regress/expected/brin_multi.out | 15 +++++++++++++++ src/test/regress/sql/brin_multi.sql | 21 +++++++++++++++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) diff --git a/src/backend/access/brin/brin_minmax_multi.c b/src/backend/access/brin/brin_minmax_multi.c index 8e4e6c2fc8a..1a7a80d20e6 100644 --- a/src/backend/access/brin/brin_minmax_multi.c +++ b/src/backend/access/brin/brin_minmax_multi.c @@ -2138,7 +2138,7 @@ brin_minmax_multi_distance_timestamp(PG_FUNCTION_ARGS) if (TIMESTAMP_NOT_FINITE(dt1) || TIMESTAMP_NOT_FINITE(dt2)) PG_RETURN_FLOAT8(0); - delta = dt2 - dt1; + delta = (float8) dt2 - (float8) dt1; Assert(delta >= 0); diff --git a/src/test/regress/expected/brin_multi.out b/src/test/regress/expected/brin_multi.out index 861a06ef8ca..b6a2ef195d8 100644 --- a/src/test/regress/expected/brin_multi.out +++ b/src/test/regress/expected/brin_multi.out @@ -466,3 +466,18 @@ EXPLAIN (COSTS OFF) SELECT * FROM brin_test_multi WHERE b = 1; Filter: (b = 1) (2 rows) +-- test overflows during CREATE INDEX with extreme timestamp values +CREATE TABLE brin_timestamp_test(a TIMESTAMPTZ); +SET datestyle TO iso; +-- values close to timetamp minimum +INSERT INTO brin_timestamp_test +SELECT '4713-01-01 00:00:01 BC'::timestamptz + (i || ' seconds')::interval + FROM generate_series(1,30) s(i); +-- values close to timetamp maximum +INSERT INTO brin_timestamp_test +SELECT '294276-12-01 00:00:01'::timestamptz + (i || ' seconds')::interval + FROM generate_series(1,30) s(i); +CREATE INDEX ON brin_timestamp_test USING brin (a timestamptz_minmax_multi_ops) WITH (pages_per_range=1); +DROP TABLE brin_timestamp_test; +RESET enable_seqscan; +RESET datestyle; diff --git a/src/test/regress/sql/brin_multi.sql b/src/test/regress/sql/brin_multi.sql index 070455257c0..95710511ca9 100644 --- a/src/test/regress/sql/brin_multi.sql +++ b/src/test/regress/sql/brin_multi.sql @@ -421,3 +421,24 @@ VACUUM ANALYZE brin_test_multi; EXPLAIN (COSTS OFF) SELECT * FROM brin_test_multi WHERE a = 1; -- Ensure brin index is not used when values are not correlated EXPLAIN (COSTS OFF) SELECT * FROM brin_test_multi WHERE b = 1; + +-- test overflows during CREATE INDEX with extreme timestamp values +CREATE TABLE brin_timestamp_test(a TIMESTAMPTZ); + +SET datestyle TO iso; + +-- values close to timetamp minimum +INSERT INTO brin_timestamp_test +SELECT '4713-01-01 00:00:01 BC'::timestamptz + (i || ' seconds')::interval + FROM generate_series(1,30) s(i); + +-- values close to timetamp maximum +INSERT INTO brin_timestamp_test +SELECT '294276-12-01 00:00:01'::timestamptz + (i || ' seconds')::interval + FROM generate_series(1,30) s(i); + +CREATE INDEX ON brin_timestamp_test USING brin (a timestamptz_minmax_multi_ops) WITH (pages_per_range=1); +DROP TABLE brin_timestamp_test; + +RESET enable_seqscan; +RESET datestyle; From 9186acde3b9aa386a4cd76c20644ce769ad735e2 Mon Sep 17 00:00:00 2001 From: Tomas Vondra Date: Fri, 27 Oct 2023 17:57:11 +0200 Subject: [PATCH 278/317] Fix calculation in brin_minmax_multi_distance_date When calculating the distance between date values, make sure to subtract them in the right order, i.e. (larger - smaller). The distance is used to determine which values to merge, and is expected to be a positive value. The code unfortunately did the subtraction in the opposite order, i.e. (smaller - larger), thus producing negative values and merging values the most distant values first. The resulting index is correct (i.e. produces correct results), but may be significantly less efficient. This affects all minmax-multi indexes on date columns. Backpatch to 14, where minmax-multi indexes were introduced. Reported-by: Ashutosh Bapat Reviewed-by: Ashutosh Bapat, Dean Rasheed Backpatch-through: 14 Discussion: https://postgr.es/m/eef0ea8c-4aaa-8d0d-027f-58b1f35dd170@enterprisedb.com --- src/backend/access/brin/brin_minmax_multi.c | 7 ++++++- src/test/regress/expected/brin_multi.out | 20 ++++++++++++++++++++ src/test/regress/sql/brin_multi.sql | 18 ++++++++++++++++++ 3 files changed, 44 insertions(+), 1 deletion(-) diff --git a/src/backend/access/brin/brin_minmax_multi.c b/src/backend/access/brin/brin_minmax_multi.c index 1a7a80d20e6..3bac8c98a00 100644 --- a/src/backend/access/brin/brin_minmax_multi.c +++ b/src/backend/access/brin/brin_minmax_multi.c @@ -2075,13 +2075,18 @@ brin_minmax_multi_distance_uuid(PG_FUNCTION_ARGS) Datum brin_minmax_multi_distance_date(PG_FUNCTION_ARGS) { + float8 delta = 0; DateADT dateVal1 = PG_GETARG_DATEADT(0); DateADT dateVal2 = PG_GETARG_DATEADT(1); if (DATE_NOT_FINITE(dateVal1) || DATE_NOT_FINITE(dateVal2)) PG_RETURN_FLOAT8(0); - PG_RETURN_FLOAT8(dateVal1 - dateVal2); + delta = (float8) dateVal2 - (float8) dateVal1; + + Assert(delta >= 0); + + PG_RETURN_FLOAT8(delta); } /* diff --git a/src/test/regress/expected/brin_multi.out b/src/test/regress/expected/brin_multi.out index b6a2ef195d8..ce10147afee 100644 --- a/src/test/regress/expected/brin_multi.out +++ b/src/test/regress/expected/brin_multi.out @@ -479,5 +479,25 @@ SELECT '294276-12-01 00:00:01'::timestamptz + (i || ' seconds')::interval FROM generate_series(1,30) s(i); CREATE INDEX ON brin_timestamp_test USING brin (a timestamptz_minmax_multi_ops) WITH (pages_per_range=1); DROP TABLE brin_timestamp_test; +-- test overflows during CREATE INDEX with extreme date values +CREATE TABLE brin_date_test(a DATE); +-- insert values close to date minimum +INSERT INTO brin_date_test SELECT '4713-01-01 BC'::date + i FROM generate_series(1, 30) s(i); +-- insert values close to date minimum +INSERT INTO brin_date_test SELECT '5874897-12-01'::date + i FROM generate_series(1, 30) s(i); +CREATE INDEX ON brin_date_test USING brin (a date_minmax_multi_ops) WITH (pages_per_range=1); +SET enable_seqscan = off; +-- make sure the ranges were built correctly and 2023-01-01 eliminates all +EXPLAIN (ANALYZE, TIMING OFF, COSTS OFF, SUMMARY OFF) +SELECT * FROM brin_date_test WHERE a = '2023-01-01'::date; + QUERY PLAN +------------------------------------------------------------------------- + Bitmap Heap Scan on brin_date_test (actual rows=0 loops=1) + Recheck Cond: (a = '2023-01-01'::date) + -> Bitmap Index Scan on brin_date_test_a_idx (actual rows=0 loops=1) + Index Cond: (a = '2023-01-01'::date) +(4 rows) + +DROP TABLE brin_date_test; RESET enable_seqscan; RESET datestyle; diff --git a/src/test/regress/sql/brin_multi.sql b/src/test/regress/sql/brin_multi.sql index 95710511ca9..b0dac67f5b0 100644 --- a/src/test/regress/sql/brin_multi.sql +++ b/src/test/regress/sql/brin_multi.sql @@ -440,5 +440,23 @@ SELECT '294276-12-01 00:00:01'::timestamptz + (i || ' seconds')::interval CREATE INDEX ON brin_timestamp_test USING brin (a timestamptz_minmax_multi_ops) WITH (pages_per_range=1); DROP TABLE brin_timestamp_test; +-- test overflows during CREATE INDEX with extreme date values +CREATE TABLE brin_date_test(a DATE); + +-- insert values close to date minimum +INSERT INTO brin_date_test SELECT '4713-01-01 BC'::date + i FROM generate_series(1, 30) s(i); + +-- insert values close to date minimum +INSERT INTO brin_date_test SELECT '5874897-12-01'::date + i FROM generate_series(1, 30) s(i); + +CREATE INDEX ON brin_date_test USING brin (a date_minmax_multi_ops) WITH (pages_per_range=1); + +SET enable_seqscan = off; + +-- make sure the ranges were built correctly and 2023-01-01 eliminates all +EXPLAIN (ANALYZE, TIMING OFF, COSTS OFF, SUMMARY OFF) +SELECT * FROM brin_date_test WHERE a = '2023-01-01'::date; + +DROP TABLE brin_date_test; RESET enable_seqscan; RESET datestyle; From 09b65113475168d587caec6bbbfbec3c5ff572cd Mon Sep 17 00:00:00 2001 From: Tomas Vondra Date: Fri, 27 Oct 2023 17:57:28 +0200 Subject: [PATCH 279/317] Fix minmax-multi on infinite date/timestamp values Make sure that infinite values in date/timestamp columns are treated as if in infinite distance. Infinite values should not be merged with other values, leaving them as outliers. The code however returned distance 0 in this case, so that infinite values were merged first. While this does not break the index (i.e. it still produces correct query results), it may make it much less efficient. We don't need explicit handling of infinite date/timestamp values when calculating distances, because those values are represented as extreme but regular values (e.g. INT64_MIN/MAX for the timestamp type). We don't need an exact distance, just a value that is much larger than distanced between regular values. With the added cast to double values, we can simply subtract the values. The regression test queries a value in the "gap" and checks the range was properly eliminated by the BRIN index. This only affects minmax-multi indexes on timestamp/date columns with infinite values, which is not very common in practice. The affected indexes may need to be rebuilt. Backpatch to 14, where minmax-multi indexes were introduced. Reported-by: Ashutosh Bapat Reviewed-by: Ashutosh Bapat, Dean Rasheed Backpatch-through: 14 Discussion: https://postgr.es/m/eef0ea8c-4aaa-8d0d-027f-58b1f35dd170@enterprisedb.com --- src/backend/access/brin/brin_minmax_multi.c | 6 --- src/test/regress/expected/brin_multi.out | 57 +++++++++++++++++++++ src/test/regress/sql/brin_multi.sql | 39 ++++++++++++++ 3 files changed, 96 insertions(+), 6 deletions(-) diff --git a/src/backend/access/brin/brin_minmax_multi.c b/src/backend/access/brin/brin_minmax_multi.c index 3bac8c98a00..978acb87e27 100644 --- a/src/backend/access/brin/brin_minmax_multi.c +++ b/src/backend/access/brin/brin_minmax_multi.c @@ -2079,9 +2079,6 @@ brin_minmax_multi_distance_date(PG_FUNCTION_ARGS) DateADT dateVal1 = PG_GETARG_DATEADT(0); DateADT dateVal2 = PG_GETARG_DATEADT(1); - if (DATE_NOT_FINITE(dateVal1) || DATE_NOT_FINITE(dateVal2)) - PG_RETURN_FLOAT8(0); - delta = (float8) dateVal2 - (float8) dateVal1; Assert(delta >= 0); @@ -2140,9 +2137,6 @@ brin_minmax_multi_distance_timestamp(PG_FUNCTION_ARGS) Timestamp dt1 = PG_GETARG_TIMESTAMP(0); Timestamp dt2 = PG_GETARG_TIMESTAMP(1); - if (TIMESTAMP_NOT_FINITE(dt1) || TIMESTAMP_NOT_FINITE(dt2)) - PG_RETURN_FLOAT8(0); - delta = (float8) dt2 - (float8) dt1; Assert(delta >= 0); diff --git a/src/test/regress/expected/brin_multi.out b/src/test/regress/expected/brin_multi.out index ce10147afee..2155b7bfc38 100644 --- a/src/test/regress/expected/brin_multi.out +++ b/src/test/regress/expected/brin_multi.out @@ -498,6 +498,63 @@ SELECT * FROM brin_date_test WHERE a = '2023-01-01'::date; Index Cond: (a = '2023-01-01'::date) (4 rows) +DROP TABLE brin_date_test; +RESET enable_seqscan; +-- test handling of infinite timestamp values +CREATE TABLE brin_timestamp_test(a TIMESTAMP); +INSERT INTO brin_timestamp_test VALUES ('-infinity'), ('infinity'); +INSERT INTO brin_timestamp_test +SELECT i FROM generate_series('2000-01-01'::timestamp, '2000-02-09'::timestamp, '1 day'::interval) s(i); +CREATE INDEX ON brin_timestamp_test USING brin (a timestamp_minmax_multi_ops) WITH (pages_per_range=1); +SET enable_seqscan = off; +EXPLAIN (ANALYZE, TIMING OFF, COSTS OFF, SUMMARY OFF) +SELECT * FROM brin_timestamp_test WHERE a = '2023-01-01'::timestamp; + QUERY PLAN +------------------------------------------------------------------------------ + Bitmap Heap Scan on brin_timestamp_test (actual rows=0 loops=1) + Recheck Cond: (a = '2023-01-01 00:00:00'::timestamp without time zone) + -> Bitmap Index Scan on brin_timestamp_test_a_idx (actual rows=0 loops=1) + Index Cond: (a = '2023-01-01 00:00:00'::timestamp without time zone) +(4 rows) + +EXPLAIN (ANALYZE, TIMING OFF, COSTS OFF, SUMMARY OFF) +SELECT * FROM brin_timestamp_test WHERE a = '1900-01-01'::timestamp; + QUERY PLAN +------------------------------------------------------------------------------ + Bitmap Heap Scan on brin_timestamp_test (actual rows=0 loops=1) + Recheck Cond: (a = '1900-01-01 00:00:00'::timestamp without time zone) + -> Bitmap Index Scan on brin_timestamp_test_a_idx (actual rows=0 loops=1) + Index Cond: (a = '1900-01-01 00:00:00'::timestamp without time zone) +(4 rows) + +DROP TABLE brin_timestamp_test; +RESET enable_seqscan; +-- test handling of infinite date values +CREATE TABLE brin_date_test(a DATE); +INSERT INTO brin_date_test VALUES ('-infinity'), ('infinity'); +INSERT INTO brin_date_test SELECT '2000-01-01'::date + i FROM generate_series(1, 40) s(i); +CREATE INDEX ON brin_date_test USING brin (a date_minmax_multi_ops) WITH (pages_per_range=1); +SET enable_seqscan = off; +EXPLAIN (ANALYZE, TIMING OFF, COSTS OFF, SUMMARY OFF) +SELECT * FROM brin_date_test WHERE a = '2023-01-01'::date; + QUERY PLAN +------------------------------------------------------------------------- + Bitmap Heap Scan on brin_date_test (actual rows=0 loops=1) + Recheck Cond: (a = '2023-01-01'::date) + -> Bitmap Index Scan on brin_date_test_a_idx (actual rows=0 loops=1) + Index Cond: (a = '2023-01-01'::date) +(4 rows) + +EXPLAIN (ANALYZE, TIMING OFF, COSTS OFF, SUMMARY OFF) +SELECT * FROM brin_date_test WHERE a = '1900-01-01'::date; + QUERY PLAN +------------------------------------------------------------------------- + Bitmap Heap Scan on brin_date_test (actual rows=0 loops=1) + Recheck Cond: (a = '1900-01-01'::date) + -> Bitmap Index Scan on brin_date_test_a_idx (actual rows=0 loops=1) + Index Cond: (a = '1900-01-01'::date) +(4 rows) + DROP TABLE brin_date_test; RESET enable_seqscan; RESET datestyle; diff --git a/src/test/regress/sql/brin_multi.sql b/src/test/regress/sql/brin_multi.sql index b0dac67f5b0..feb47ae3059 100644 --- a/src/test/regress/sql/brin_multi.sql +++ b/src/test/regress/sql/brin_multi.sql @@ -457,6 +457,45 @@ SET enable_seqscan = off; EXPLAIN (ANALYZE, TIMING OFF, COSTS OFF, SUMMARY OFF) SELECT * FROM brin_date_test WHERE a = '2023-01-01'::date; +DROP TABLE brin_date_test; +RESET enable_seqscan; + +-- test handling of infinite timestamp values +CREATE TABLE brin_timestamp_test(a TIMESTAMP); + +INSERT INTO brin_timestamp_test VALUES ('-infinity'), ('infinity'); +INSERT INTO brin_timestamp_test +SELECT i FROM generate_series('2000-01-01'::timestamp, '2000-02-09'::timestamp, '1 day'::interval) s(i); + +CREATE INDEX ON brin_timestamp_test USING brin (a timestamp_minmax_multi_ops) WITH (pages_per_range=1); + +SET enable_seqscan = off; + +EXPLAIN (ANALYZE, TIMING OFF, COSTS OFF, SUMMARY OFF) +SELECT * FROM brin_timestamp_test WHERE a = '2023-01-01'::timestamp; + +EXPLAIN (ANALYZE, TIMING OFF, COSTS OFF, SUMMARY OFF) +SELECT * FROM brin_timestamp_test WHERE a = '1900-01-01'::timestamp; + +DROP TABLE brin_timestamp_test; +RESET enable_seqscan; + +-- test handling of infinite date values +CREATE TABLE brin_date_test(a DATE); + +INSERT INTO brin_date_test VALUES ('-infinity'), ('infinity'); +INSERT INTO brin_date_test SELECT '2000-01-01'::date + i FROM generate_series(1, 40) s(i); + +CREATE INDEX ON brin_date_test USING brin (a date_minmax_multi_ops) WITH (pages_per_range=1); + +SET enable_seqscan = off; + +EXPLAIN (ANALYZE, TIMING OFF, COSTS OFF, SUMMARY OFF) +SELECT * FROM brin_date_test WHERE a = '2023-01-01'::date; + +EXPLAIN (ANALYZE, TIMING OFF, COSTS OFF, SUMMARY OFF) +SELECT * FROM brin_date_test WHERE a = '1900-01-01'::date; + DROP TABLE brin_date_test; RESET enable_seqscan; RESET datestyle; From 0b7380fd2a7efe02ab614a772e1d36a8e4101d30 Mon Sep 17 00:00:00 2001 From: Tomas Vondra Date: Fri, 27 Oct 2023 17:57:44 +0200 Subject: [PATCH 280/317] Fix minmax-multi distance for extreme interval values When calculating distance for interval values, the code mostly mimicked interval_mi, i.e. it built a new interval value for the difference. That however does not work for sufficiently distant interval values, when the difference overflows the interval range. Instead, we can calculate the distance directly, without constructing the intermediate (and unnecessary) interval value. Backpatch to 14, where minmax-multi indexes were introduced. Reported-by: Dean Rasheed Reviewed-by: Ashutosh Bapat, Dean Rasheed Backpatch-through: 14 Discussion: https://postgr.es/m/eef0ea8c-4aaa-8d0d-027f-58b1f35dd170@enterprisedb.com --- src/backend/access/brin/brin_minmax_multi.c | 33 +++------------------ src/test/regress/expected/brin_multi.out | 29 ++++++++++++++++++ src/test/regress/sql/brin_multi.sql | 21 +++++++++++++ 3 files changed, 54 insertions(+), 29 deletions(-) diff --git a/src/backend/access/brin/brin_minmax_multi.c b/src/backend/access/brin/brin_minmax_multi.c index 978acb87e27..c045691819c 100644 --- a/src/backend/access/brin/brin_minmax_multi.c +++ b/src/backend/access/brin/brin_minmax_multi.c @@ -2154,45 +2154,20 @@ brin_minmax_multi_distance_interval(PG_FUNCTION_ARGS) Interval *ia = PG_GETARG_INTERVAL_P(0); Interval *ib = PG_GETARG_INTERVAL_P(1); - Interval *result; int64 dayfraction; int64 days; - result = (Interval *) palloc(sizeof(Interval)); - - result->month = ib->month - ia->month; - /* overflow check copied from int4mi */ - if (!SAMESIGN(ib->month, ia->month) && - !SAMESIGN(result->month, ib->month)) - ereport(ERROR, - (errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE), - errmsg("interval out of range"))); - - result->day = ib->day - ia->day; - if (!SAMESIGN(ib->day, ia->day) && - !SAMESIGN(result->day, ib->day)) - ereport(ERROR, - (errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE), - errmsg("interval out of range"))); - - result->time = ib->time - ia->time; - if (!SAMESIGN(ib->time, ia->time) && - !SAMESIGN(result->time, ib->time)) - ereport(ERROR, - (errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE), - errmsg("interval out of range"))); - /* * Delta is (fractional) number of days between the intervals. Assume * months have 30 days for consistency with interval_cmp_internal. We * don't need to be exact, in the worst case we'll build a bit less * efficient ranges. But we should not contradict interval_cmp. */ - dayfraction = result->time % USECS_PER_DAY; - days = result->time / USECS_PER_DAY; - days += result->month * INT64CONST(30); - days += result->day; + dayfraction = (ib->time % USECS_PER_DAY) - (ia->time % USECS_PER_DAY); + days = (ib->time / USECS_PER_DAY) - (ia->time / USECS_PER_DAY); + days += (int64) ib->day - (int64) ia->day; + days += ((int64) ib->month - (int64) ia->month) * INT64CONST(30); /* convert to double precision */ delta = (double) days + dayfraction / (double) USECS_PER_DAY; diff --git a/src/test/regress/expected/brin_multi.out b/src/test/regress/expected/brin_multi.out index 2155b7bfc38..838d0c7f2be 100644 --- a/src/test/regress/expected/brin_multi.out +++ b/src/test/regress/expected/brin_multi.out @@ -558,3 +558,32 @@ SELECT * FROM brin_date_test WHERE a = '1900-01-01'::date; DROP TABLE brin_date_test; RESET enable_seqscan; RESET datestyle; +-- test handling of overflow for interval values +CREATE TABLE brin_interval_test(a INTERVAL); +INSERT INTO brin_interval_test SELECT (i || ' years')::interval FROM generate_series(-178000000, -177999980) s(i); +INSERT INTO brin_interval_test SELECT (i || ' years')::interval FROM generate_series( 177999980, 178000000) s(i); +CREATE INDEX ON brin_interval_test USING brin (a interval_minmax_multi_ops) WITH (pages_per_range=1); +SET enable_seqscan = off; +EXPLAIN (ANALYZE, TIMING OFF, COSTS OFF, SUMMARY OFF) +SELECT * FROM brin_interval_test WHERE a = '-30 years'::interval; + QUERY PLAN +----------------------------------------------------------------------------- + Bitmap Heap Scan on brin_interval_test (actual rows=0 loops=1) + Recheck Cond: (a = '@ 30 years ago'::interval) + -> Bitmap Index Scan on brin_interval_test_a_idx (actual rows=0 loops=1) + Index Cond: (a = '@ 30 years ago'::interval) +(4 rows) + +EXPLAIN (ANALYZE, TIMING OFF, COSTS OFF, SUMMARY OFF) +SELECT * FROM brin_interval_test WHERE a = '30 years'::interval; + QUERY PLAN +----------------------------------------------------------------------------- + Bitmap Heap Scan on brin_interval_test (actual rows=0 loops=1) + Recheck Cond: (a = '@ 30 years'::interval) + -> Bitmap Index Scan on brin_interval_test_a_idx (actual rows=0 loops=1) + Index Cond: (a = '@ 30 years'::interval) +(4 rows) + +DROP TABLE brin_interval_test; +RESET enable_seqscan; +RESET datestyle; diff --git a/src/test/regress/sql/brin_multi.sql b/src/test/regress/sql/brin_multi.sql index feb47ae3059..81a4b959f4f 100644 --- a/src/test/regress/sql/brin_multi.sql +++ b/src/test/regress/sql/brin_multi.sql @@ -499,3 +499,24 @@ SELECT * FROM brin_date_test WHERE a = '1900-01-01'::date; DROP TABLE brin_date_test; RESET enable_seqscan; RESET datestyle; + +-- test handling of overflow for interval values +CREATE TABLE brin_interval_test(a INTERVAL); + +INSERT INTO brin_interval_test SELECT (i || ' years')::interval FROM generate_series(-178000000, -177999980) s(i); + +INSERT INTO brin_interval_test SELECT (i || ' years')::interval FROM generate_series( 177999980, 178000000) s(i); + +CREATE INDEX ON brin_interval_test USING brin (a interval_minmax_multi_ops) WITH (pages_per_range=1); + +SET enable_seqscan = off; + +EXPLAIN (ANALYZE, TIMING OFF, COSTS OFF, SUMMARY OFF) +SELECT * FROM brin_interval_test WHERE a = '-30 years'::interval; + +EXPLAIN (ANALYZE, TIMING OFF, COSTS OFF, SUMMARY OFF) +SELECT * FROM brin_interval_test WHERE a = '30 years'::interval; + +DROP TABLE brin_interval_test; +RESET enable_seqscan; +RESET datestyle; From 5b3a036bc712a613acdfe8a68809758e0a145fc2 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 28 Oct 2023 11:54:40 -0400 Subject: [PATCH 281/317] Remove PHOT from our default timezone abbreviations list. Debian recently decided to split out a bunch of "obsolete" timezone names into a new tzdata-legacy package, which isn't installed by default. One of these zone names is Pacific/Enderbury, and that breaks our regression tests (on --with-system-tzdata builds) because our default timezone abbreviations list defines PHOT as Pacific/Enderbury. Pacific/Enderbury got renamed to Pacific/Kanton in tzdata 2021b, so that in distros that still have this entry it's just a symlink to Pacific/Kanton anyway. So one answer would be to redefine PHOT as Pacific/Kanton. However, then things would fail if the installed tzdata predates 2021b, which is recent enough that that seems like a real problem. Instead, let's just remove PHOT from the default list. That seems likely to affect nobody in the real world, because (a) it was an abbreviation that the tzdb crew made up in the first place, with no evidence of real-world usage, and (b) the total human population of the Phoenix Islands is less than two dozen persons, per Wikipedia. If anyone does use this zone abbreviation they can easily put it back via a custom abbreviations file. We'll keep PHOT in the Pacific.txt reference file, but change it to Pacific/Kanton there, as that definition seems more likely to be useful to future readers of that file. Per report from Victor Wagner. Back-patch to all supported branches. Discussion: https://postgr.es/m/20231027152049.4b5c8044@wagner.wagner.home --- src/timezone/tznames/Default | 1 - src/timezone/tznames/Pacific.txt | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/timezone/tznames/Default b/src/timezone/tznames/Default index 8a4dc59f886..563a125353b 100644 --- a/src/timezone/tznames/Default +++ b/src/timezone/tznames/Default @@ -618,7 +618,6 @@ NZST 43200 # New Zealand Standard Time # (Antarctica/McMurdo) # (Pacific/Auckland) PGT 36000 # Papua New Guinea Time (obsolete) -PHOT Pacific/Enderbury # Phoenix Islands Time (Kiribati) (obsolete) PONT 39600 # Ponape Time (Micronesia) (obsolete) PWT 32400 # Palau Time (obsolete) TAHT -36000 # Tahiti Time (obsolete) diff --git a/src/timezone/tznames/Pacific.txt b/src/timezone/tznames/Pacific.txt index c30008cb049..556a370af58 100644 --- a/src/timezone/tznames/Pacific.txt +++ b/src/timezone/tznames/Pacific.txt @@ -50,7 +50,7 @@ NZST 43200 # New Zealand Standard Time # (Antarctica/McMurdo) # (Pacific/Auckland) PGT 36000 # Papua New Guinea Time (obsolete) -PHOT Pacific/Enderbury # Phoenix Islands Time (Kiribati) (obsolete) +PHOT Pacific/Kanton # Phoenix Islands Time (Kiribati) (obsolete) PONT 39600 # Ponape Time (Micronesia) (obsolete) # CONFLICT! PST is not unique # Other timezones: From 8fac4601301612b8792ca7412b00e328f50ed859 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 28 Oct 2023 14:04:43 -0400 Subject: [PATCH 282/317] Fix intra-query memory leak when a SRF returns zero rows. When looping around after finding that the set-returning function returned zero rows for the current input tuple, ExecProjectSet neglected to reset either of the two memory contexts it's responsible for cleaning out. Typically this wouldn't cause much problem, because once the SRF does return at least one row, the contexts would get reset on the next call. However, if the SRF returns no rows for many input tuples in succession, quite a lot of memory could be transiently consumed. To fix, make sure we reset both contexts while looping around. Per bug #18172 from Sergei Kornilov. Back-patch to all supported branches. Discussion: https://postgr.es/m/18172-9b8c5fc1d676ded3@postgresql.org --- src/backend/executor/nodeProjectSet.c | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/backend/executor/nodeProjectSet.c b/src/backend/executor/nodeProjectSet.c index f6ff3dc44c1..7236cbad87b 100644 --- a/src/backend/executor/nodeProjectSet.c +++ b/src/backend/executor/nodeProjectSet.c @@ -72,20 +72,22 @@ ExecProjectSet(PlanState *pstate) return resultSlot; } - /* - * Reset argument context to free any expression evaluation storage - * allocated in the previous tuple cycle. Note this can't happen until - * we're done projecting out tuples from a scan tuple, as ValuePerCall - * functions are allowed to reference the arguments for each returned - * tuple. - */ - MemoryContextReset(node->argcontext); - /* * Get another input tuple and project SRFs from it. */ for (;;) { + /* + * Reset argument context to free any expression evaluation storage + * allocated in the previous tuple cycle. Note this can't happen + * until we're done projecting out tuples from a scan tuple, as + * ValuePerCall functions are allowed to reference the arguments for + * each returned tuple. However, if we loop around after finding that + * no rows are produced from a scan tuple, we should reset, to avoid + * leaking memory when many successive scan tuples produce no rows. + */ + MemoryContextReset(node->argcontext); + /* * Retrieve tuples from the outer plan until there are no more. */ @@ -111,6 +113,12 @@ ExecProjectSet(PlanState *pstate) */ if (resultSlot) return resultSlot; + + /* + * When we do loop back, we'd better reset the econtext again, just in + * case the SRF leaked some memory there. + */ + ResetExprContext(econtext); } return NULL; From 2f1d8500e99f3d96ca6206db11196d5a58e48934 Mon Sep 17 00:00:00 2001 From: Dean Rasheed Date: Sun, 29 Oct 2023 11:14:36 +0000 Subject: [PATCH 283/317] btree_gin: Fix calculation of leftmost interval value. Formerly, the value computed by leftmostvalue_interval() was a long way short of the minimum possible interval value. As a result, an index scan on a GIN index on an interval column with < or <= operators would miss large negative interval values. Fix by setting all fields of the leftmost interval to their minimum values, ensuring that the result is less than any other possible interval. Since this only affects index searches, no index rebuild is necessary. Back-patch to all supported branches. Dean Rasheed, reviewed by Heikki Linnakangas. Discussion: https://postgr.es/m/CAEZATCV80%2BgOfF8ehNUUfaKBZgZMDfCfL-g1HhWGb6kC3rpDfw%40mail.gmail.com --- contrib/btree_gin/btree_gin.c | 6 +++--- contrib/btree_gin/expected/interval.out | 16 +++++++++++----- contrib/btree_gin/sql/interval.sql | 4 +++- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/contrib/btree_gin/btree_gin.c b/contrib/btree_gin/btree_gin.c index c50d68ce186..b09bb8df964 100644 --- a/contrib/btree_gin/btree_gin.c +++ b/contrib/btree_gin/btree_gin.c @@ -306,9 +306,9 @@ leftmostvalue_interval(void) { Interval *v = palloc(sizeof(Interval)); - v->time = DT_NOBEGIN; - v->day = 0; - v->month = 0; + v->time = PG_INT64_MIN; + v->day = PG_INT32_MIN; + v->month = PG_INT32_MIN; return IntervalPGetDatum(v); } diff --git a/contrib/btree_gin/expected/interval.out b/contrib/btree_gin/expected/interval.out index 1f6ef54070e..8bb9806650d 100644 --- a/contrib/btree_gin/expected/interval.out +++ b/contrib/btree_gin/expected/interval.out @@ -3,30 +3,34 @@ CREATE TABLE test_interval ( i interval ); INSERT INTO test_interval VALUES + ( '-178000000 years' ), ( '03:55:08' ), ( '04:55:08' ), ( '05:55:08' ), ( '08:55:08' ), ( '09:55:08' ), - ( '10:55:08' ) + ( '10:55:08' ), + ( '178000000 years' ) ; CREATE INDEX idx_interval ON test_interval USING gin (i); SELECT * FROM test_interval WHERE i<'08:55:08'::interval ORDER BY i; i -------------------------- + @ 178000000 years ago @ 3 hours 55 mins 8 secs @ 4 hours 55 mins 8 secs @ 5 hours 55 mins 8 secs -(3 rows) +(4 rows) SELECT * FROM test_interval WHERE i<='08:55:08'::interval ORDER BY i; i -------------------------- + @ 178000000 years ago @ 3 hours 55 mins 8 secs @ 4 hours 55 mins 8 secs @ 5 hours 55 mins 8 secs @ 8 hours 55 mins 8 secs -(4 rows) +(5 rows) SELECT * FROM test_interval WHERE i='08:55:08'::interval ORDER BY i; i @@ -40,12 +44,14 @@ SELECT * FROM test_interval WHERE i>='08:55:08'::interval ORDER BY i; @ 8 hours 55 mins 8 secs @ 9 hours 55 mins 8 secs @ 10 hours 55 mins 8 secs -(3 rows) + @ 178000000 years +(4 rows) SELECT * FROM test_interval WHERE i>'08:55:08'::interval ORDER BY i; i --------------------------- @ 9 hours 55 mins 8 secs @ 10 hours 55 mins 8 secs -(2 rows) + @ 178000000 years +(3 rows) diff --git a/contrib/btree_gin/sql/interval.sql b/contrib/btree_gin/sql/interval.sql index e3851587833..7a2f3ac0d85 100644 --- a/contrib/btree_gin/sql/interval.sql +++ b/contrib/btree_gin/sql/interval.sql @@ -5,12 +5,14 @@ CREATE TABLE test_interval ( ); INSERT INTO test_interval VALUES + ( '-178000000 years' ), ( '03:55:08' ), ( '04:55:08' ), ( '05:55:08' ), ( '08:55:08' ), ( '09:55:08' ), - ( '10:55:08' ) + ( '10:55:08' ), + ( '178000000 years' ) ; CREATE INDEX idx_interval ON test_interval USING gin (i); From fccdde9069dcba6ff036f33067cb8873cf8bd92b Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 29 Oct 2023 12:56:24 -0400 Subject: [PATCH 284/317] Teach pg_dump about the new pg_subscription.subrunasowner option. Among numerous other oversights, commit 482675987 neglected to fix pg_dump to dump this new subscription option. Since the new default is "false" while the previous behavior corresponds to "true", this would cause legacy subscriptions to silently change behavior during dump/reload or pg_upgrade. That seems like a bad idea. Even if it was intended, failing to preserve the option once set in a new installation is certainly not OK. While here, reorder associated stanzas in pg_dump to match the field order in pg_subscription, in hopes of reducing the impression that all this code was written with the aid of a dartboard. Back-patch to v16 where this new field was added. Philip Warner (cosmetic tweaks by me) Discussion: https://postgr.es/m/20231027042539.01A3A220F0A@thebes.rime.com.au --- src/bin/pg_dump/pg_dump.c | 64 +++++++++++++++++++++++---------------- src/bin/pg_dump/pg_dump.h | 9 +++--- 2 files changed, 43 insertions(+), 30 deletions(-) diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index 12a0ce15caa..e398f2ca38d 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -4651,16 +4651,17 @@ getSubscriptions(Archive *fout) int i_oid; int i_subname; int i_subowner; + int i_subbinary; int i_substream; int i_subtwophasestate; int i_subdisableonerr; - int i_suborigin; + int i_subpasswordrequired; + int i_subrunasowner; int i_subconninfo; int i_subslotname; int i_subsynccommit; int i_subpublications; - int i_subbinary; - int i_subpasswordrequired; + int i_suborigin; int i, ntups; @@ -4714,12 +4715,14 @@ getSubscriptions(Archive *fout) if (fout->remoteVersion >= 160000) appendPQExpBufferStr(query, - " s.suborigin,\n" - " s.subpasswordrequired\n"); + " s.subpasswordrequired,\n" + " s.subrunasowner,\n" + " s.suborigin\n"); else appendPQExpBuffer(query, - " '%s' AS suborigin,\n" - " 't' AS subpasswordrequired\n", + " 't' AS subpasswordrequired,\n" + " 't' AS subrunasowner,\n" + " '%s' AS suborigin\n", LOGICALREP_ORIGIN_ANY); appendPQExpBufferStr(query, @@ -4739,16 +4742,17 @@ getSubscriptions(Archive *fout) i_oid = PQfnumber(res, "oid"); i_subname = PQfnumber(res, "subname"); i_subowner = PQfnumber(res, "subowner"); - i_subconninfo = PQfnumber(res, "subconninfo"); - i_subslotname = PQfnumber(res, "subslotname"); - i_subsynccommit = PQfnumber(res, "subsynccommit"); - i_subpublications = PQfnumber(res, "subpublications"); i_subbinary = PQfnumber(res, "subbinary"); i_substream = PQfnumber(res, "substream"); i_subtwophasestate = PQfnumber(res, "subtwophasestate"); i_subdisableonerr = PQfnumber(res, "subdisableonerr"); - i_suborigin = PQfnumber(res, "suborigin"); i_subpasswordrequired = PQfnumber(res, "subpasswordrequired"); + i_subrunasowner = PQfnumber(res, "subrunasowner"); + i_subconninfo = PQfnumber(res, "subconninfo"); + i_subslotname = PQfnumber(res, "subslotname"); + i_subsynccommit = PQfnumber(res, "subsynccommit"); + i_subpublications = PQfnumber(res, "subpublications"); + i_suborigin = PQfnumber(res, "suborigin"); subinfo = pg_malloc(ntups * sizeof(SubscriptionInfo)); @@ -4761,15 +4765,7 @@ getSubscriptions(Archive *fout) AssignDumpId(&subinfo[i].dobj); subinfo[i].dobj.name = pg_strdup(PQgetvalue(res, i, i_subname)); subinfo[i].rolname = getRoleName(PQgetvalue(res, i, i_subowner)); - subinfo[i].subconninfo = pg_strdup(PQgetvalue(res, i, i_subconninfo)); - if (PQgetisnull(res, i, i_subslotname)) - subinfo[i].subslotname = NULL; - else - subinfo[i].subslotname = pg_strdup(PQgetvalue(res, i, i_subslotname)); - subinfo[i].subsynccommit = - pg_strdup(PQgetvalue(res, i, i_subsynccommit)); - subinfo[i].subpublications = - pg_strdup(PQgetvalue(res, i, i_subpublications)); + subinfo[i].subbinary = pg_strdup(PQgetvalue(res, i, i_subbinary)); subinfo[i].substream = @@ -4778,9 +4774,22 @@ getSubscriptions(Archive *fout) pg_strdup(PQgetvalue(res, i, i_subtwophasestate)); subinfo[i].subdisableonerr = pg_strdup(PQgetvalue(res, i, i_subdisableonerr)); - subinfo[i].suborigin = pg_strdup(PQgetvalue(res, i, i_suborigin)); subinfo[i].subpasswordrequired = pg_strdup(PQgetvalue(res, i, i_subpasswordrequired)); + subinfo[i].subrunasowner = + pg_strdup(PQgetvalue(res, i, i_subrunasowner)); + subinfo[i].subconninfo = + pg_strdup(PQgetvalue(res, i, i_subconninfo)); + if (PQgetisnull(res, i, i_subslotname)) + subinfo[i].subslotname = NULL; + else + subinfo[i].subslotname = + pg_strdup(PQgetvalue(res, i, i_subslotname)); + subinfo[i].subsynccommit = + pg_strdup(PQgetvalue(res, i, i_subsynccommit)); + subinfo[i].subpublications = + pg_strdup(PQgetvalue(res, i, i_subpublications)); + subinfo[i].suborigin = pg_strdup(PQgetvalue(res, i, i_suborigin)); /* Decide whether we want to dump it */ selectDumpableObject(&(subinfo[i].dobj), fout); @@ -4856,14 +4865,17 @@ dumpSubscription(Archive *fout, const SubscriptionInfo *subinfo) if (strcmp(subinfo->subdisableonerr, "t") == 0) appendPQExpBufferStr(query, ", disable_on_error = true"); - if (pg_strcasecmp(subinfo->suborigin, LOGICALREP_ORIGIN_ANY) != 0) - appendPQExpBuffer(query, ", origin = %s", subinfo->suborigin); + if (strcmp(subinfo->subpasswordrequired, "t") != 0) + appendPQExpBuffer(query, ", password_required = false"); + + if (strcmp(subinfo->subrunasowner, "t") == 0) + appendPQExpBufferStr(query, ", run_as_owner = true"); if (strcmp(subinfo->subsynccommit, "off") != 0) appendPQExpBuffer(query, ", synchronous_commit = %s", fmtId(subinfo->subsynccommit)); - if (strcmp(subinfo->subpasswordrequired, "t") != 0) - appendPQExpBuffer(query, ", password_required = false"); + if (pg_strcasecmp(subinfo->suborigin, LOGICALREP_ORIGIN_ANY) != 0) + appendPQExpBuffer(query, ", origin = %s", subinfo->suborigin); appendPQExpBufferStr(query, ");\n"); diff --git a/src/bin/pg_dump/pg_dump.h b/src/bin/pg_dump/pg_dump.h index bc8f2ec36db..f73132bab4f 100644 --- a/src/bin/pg_dump/pg_dump.h +++ b/src/bin/pg_dump/pg_dump.h @@ -655,16 +655,17 @@ typedef struct _SubscriptionInfo { DumpableObject dobj; const char *rolname; - char *subconninfo; - char *subslotname; char *subbinary; char *substream; char *subtwophasestate; char *subdisableonerr; - char *suborigin; + char *subpasswordrequired; + char *subrunasowner; + char *subconninfo; + char *subslotname; char *subsynccommit; char *subpublications; - char *subpasswordrequired; + char *suborigin; } SubscriptionInfo; /* From ef4a116254ef708f98f717bb3493861cc73f5188 Mon Sep 17 00:00:00 2001 From: Noah Misch Date: Mon, 30 Oct 2023 14:46:05 -0700 Subject: [PATCH 285/317] amcheck: Distinguish interrupted page deletion from corruption. This prevents false-positive reports about "the first child of leftmost target page is not leftmost of its level", "block %u is not leftmost" and "left link/right link pair". They appeared if amcheck ran before VACUUM cleaned things, after a cluster exited recovery between the first-stage and second-stage WAL records of a deletion. Back-patch to v11 (all supported versions). Reviewed by Peter Geoghegan. Discussion: https://postgr.es/m/20231005025232.c7.nmisch@google.com --- contrib/amcheck/Makefile | 1 + contrib/amcheck/meson.build | 1 + contrib/amcheck/t/005_pitr.pl | 82 ++++++++++++++++++++++++++++++++ contrib/amcheck/verify_nbtree.c | 83 +++++++++++++++++++++++++++++++-- 4 files changed, 163 insertions(+), 4 deletions(-) create mode 100644 contrib/amcheck/t/005_pitr.pl diff --git a/contrib/amcheck/Makefile b/contrib/amcheck/Makefile index b82f221e50b..f830bd3c89e 100644 --- a/contrib/amcheck/Makefile +++ b/contrib/amcheck/Makefile @@ -12,6 +12,7 @@ PGFILEDESC = "amcheck - function for verifying relation integrity" REGRESS = check check_btree check_heap +EXTRA_INSTALL = contrib/pg_walinspect TAP_TESTS = 1 ifdef USE_PGXS diff --git a/contrib/amcheck/meson.build b/contrib/amcheck/meson.build index 5b55cf343a9..78a46bf273c 100644 --- a/contrib/amcheck/meson.build +++ b/contrib/amcheck/meson.build @@ -42,6 +42,7 @@ tests += { 't/001_verify_heapam.pl', 't/002_cic.pl', 't/003_cic_2pc.pl', + 't/005_pitr.pl', ], }, } diff --git a/contrib/amcheck/t/005_pitr.pl b/contrib/amcheck/t/005_pitr.pl new file mode 100644 index 00000000000..6bcc1596f2b --- /dev/null +++ b/contrib/amcheck/t/005_pitr.pl @@ -0,0 +1,82 @@ +# Copyright (c) 2021-2023, PostgreSQL Global Development Group + +# Test integrity of intermediate states by PITR to those states +use strict; +use warnings; +use PostgreSQL::Test::Cluster; +use PostgreSQL::Test::Utils; +use Test::More; + +# origin node: generate WAL records of interest. +my $origin = PostgreSQL::Test::Cluster->new('origin'); +$origin->init(has_archiving => 1, allows_streaming => 1); +$origin->append_conf('postgresql.conf', 'autovacuum = off'); +$origin->start; +$origin->backup('my_backup'); +# Create a table with each of 6 PK values spanning 1/4 of a block. Delete the +# first four, so one index leaf is eligible for deletion. Make a replication +# slot just so pg_walinspect will always have access to later WAL. +my $setup = <safe_psql('postgres', $setup); +my $before_vacuum_lsn = + $origin->safe_psql('postgres', "SELECT pg_current_wal_lsn()"); +# VACUUM to delete the aforementioned leaf page. Force an XLogFlush() by +# dropping a permanent table. That way, the XLogReader infrastructure can +# always see VACUUM's records, even under synchronous_commit=off. Finally, +# find the LSN of that VACUUM's last UNLINK_PAGE record. +my $vacuum = <safe_psql('postgres', $vacuum); +$origin->stop; +die "did not find UNLINK_PAGE record" unless $unlink_lsn; + +# replica node: amcheck at notable points in the WAL stream +my $replica = PostgreSQL::Test::Cluster->new('replica'); +$replica->init_from_backup($origin, 'my_backup', has_restoring => 1); +$replica->append_conf('postgresql.conf', + "recovery_target_lsn = '$unlink_lsn'"); +$replica->append_conf('postgresql.conf', 'recovery_target_inclusive = off'); +$replica->append_conf('postgresql.conf', 'recovery_target_action = promote'); +$replica->start; +$replica->poll_query_until('postgres', "SELECT pg_is_in_recovery() = 'f';") + or die "Timed out while waiting for PITR promotion"; +# recovery done; run amcheck +my $debug = "SET client_min_messages = 'debug1'"; +my ($rc, $stderr); +$rc = $replica->psql( + 'postgres', + "$debug; SELECT bt_index_parent_check('not_leftmost_pk', true)", + stderr => \$stderr); +print STDERR $stderr, "\n"; +is($rc, 0, "bt_index_parent_check passes"); +like( + $stderr, + qr/interrupted page deletion detected/, + "bt_index_parent_check: interrupted page deletion detected"); +$rc = $replica->psql( + 'postgres', + "$debug; SELECT bt_index_check('not_leftmost_pk', true)", + stderr => \$stderr); +print STDERR $stderr, "\n"; +is($rc, 0, "bt_index_check passes"); + +done_testing(); diff --git a/contrib/amcheck/verify_nbtree.c b/contrib/amcheck/verify_nbtree.c index b2698aa5068..dc7d4a516d8 100644 --- a/contrib/amcheck/verify_nbtree.c +++ b/contrib/amcheck/verify_nbtree.c @@ -148,6 +148,9 @@ static void bt_check_every_level(Relation rel, Relation heaprel, bool rootdescend); static BtreeLevel bt_check_level_from_leftmost(BtreeCheckState *state, BtreeLevel level); +static bool bt_leftmost_ignoring_half_dead(BtreeCheckState *state, + BlockNumber start, + BTPageOpaque start_opaque); static void bt_recheck_sibling_links(BtreeCheckState *state, BlockNumber btpo_prev_from_target, BlockNumber leftcurrent); @@ -776,7 +779,7 @@ bt_check_level_from_leftmost(BtreeCheckState *state, BtreeLevel level) */ if (state->readonly) { - if (!P_LEFTMOST(opaque)) + if (!bt_leftmost_ignoring_half_dead(state, current, opaque)) ereport(ERROR, (errcode(ERRCODE_INDEX_CORRUPTED), errmsg("block %u is not leftmost in index \"%s\"", @@ -830,8 +833,16 @@ bt_check_level_from_leftmost(BtreeCheckState *state, BtreeLevel level) */ } - /* Sibling links should be in mutual agreement */ - if (opaque->btpo_prev != leftcurrent) + /* + * Sibling links should be in mutual agreement. There arises + * leftcurrent == P_NONE && btpo_prev != P_NONE when the left sibling + * of the parent's low-key downlink is half-dead. (A half-dead page + * has no downlink from its parent.) Under heavyweight locking, the + * last bt_leftmost_ignoring_half_dead() validated this btpo_prev. + * Without heavyweight locking, validation of the P_NONE case remains + * unimplemented. + */ + if (opaque->btpo_prev != leftcurrent && leftcurrent != P_NONE) bt_recheck_sibling_links(state, opaque->btpo_prev, leftcurrent); /* Check level */ @@ -912,6 +923,66 @@ bt_check_level_from_leftmost(BtreeCheckState *state, BtreeLevel level) return nextleveldown; } +/* + * Like P_LEFTMOST(start_opaque), but accept an arbitrarily-long chain of + * half-dead, sibling-linked pages to the left. If a half-dead page appears + * under state->readonly, the database exited recovery between the first-stage + * and second-stage WAL records of a deletion. + */ +static bool +bt_leftmost_ignoring_half_dead(BtreeCheckState *state, + BlockNumber start, + BTPageOpaque start_opaque) +{ + BlockNumber reached = start_opaque->btpo_prev, + reached_from = start; + bool all_half_dead = true; + + /* + * To handle the !readonly case, we'd need to accept BTP_DELETED pages and + * potentially observe nbtree/README "Page deletion and backwards scans". + */ + Assert(state->readonly); + + while (reached != P_NONE && all_half_dead) + { + Page page = palloc_btree_page(state, reached); + BTPageOpaque reached_opaque = BTPageGetOpaque(page); + + CHECK_FOR_INTERRUPTS(); + + /* + * Try to detect btpo_prev circular links. _bt_unlink_halfdead_page() + * writes that side-links will continue to point to the siblings. + * Check btpo_next for that property. + */ + all_half_dead = P_ISHALFDEAD(reached_opaque) && + reached != start && + reached != reached_from && + reached_opaque->btpo_next == reached_from; + if (all_half_dead) + { + XLogRecPtr pagelsn = PageGetLSN(page); + + /* pagelsn should point to an XLOG_BTREE_MARK_PAGE_HALFDEAD */ + ereport(DEBUG1, + (errcode(ERRCODE_NO_DATA), + errmsg_internal("harmless interrupted page deletion detected in index \"%s\"", + RelationGetRelationName(state->rel)), + errdetail_internal("Block=%u right block=%u page lsn=%X/%X.", + reached, reached_from, + LSN_FORMAT_ARGS(pagelsn)))); + + reached_from = reached; + reached = reached_opaque->btpo_prev; + } + + pfree(page); + } + + return all_half_dead; +} + /* * Raise an error when target page's left link does not point back to the * previous target page, called leftcurrent here. The leftcurrent page's @@ -952,6 +1023,9 @@ bt_recheck_sibling_links(BtreeCheckState *state, BlockNumber btpo_prev_from_target, BlockNumber leftcurrent) { + /* passing metapage to BTPageGetOpaque() would give irrelevant findings */ + Assert(leftcurrent != P_NONE); + if (!state->readonly) { Buffer lbuf; @@ -1935,7 +2009,8 @@ bt_child_highkey_check(BtreeCheckState *state, opaque = BTPageGetOpaque(page); /* The first page we visit at the level should be leftmost */ - if (first && !BlockNumberIsValid(state->prevrightlink) && !P_LEFTMOST(opaque)) + if (first && !BlockNumberIsValid(state->prevrightlink) && + !bt_leftmost_ignoring_half_dead(state, blkno, opaque)) ereport(ERROR, (errcode(ERRCODE_INDEX_CORRUPTED), errmsg("the first child of leftmost target page is not leftmost of its level in index \"%s\"", From 6462ae13d2600e82d133130c270b0e17cc20e275 Mon Sep 17 00:00:00 2001 From: Noah Misch Date: Mon, 30 Oct 2023 14:46:05 -0700 Subject: [PATCH 286/317] Diagnose !indisvalid in more SQL functions. pgstatindex failed with ERRCODE_DATA_CORRUPTED, of the "can't-happen" class XX. The other functions succeeded on an empty index; they might have malfunctioned if the failed index build left torn I/O or other complex state. Report an ERROR in statistics functions pgstatindex, pgstatginindex, pgstathashindex, and pgstattuple. Report DEBUG1 and skip all index I/O in maintenance functions brin_desummarize_range, brin_summarize_new_values, brin_summarize_range, and gin_clean_pending_list. Back-patch to v11 (all supported versions). Discussion: https://postgr.es/m/20231001195309.a3@google.com --- contrib/pgstattuple/pgstatindex.c | 26 ++++++++++++++++++++++++++ contrib/pgstattuple/pgstattuple.c | 7 +++++++ src/backend/access/brin/brin.c | 27 +++++++++++++++++++++------ src/backend/access/gin/ginfast.c | 23 ++++++++++++++++++++--- 4 files changed, 74 insertions(+), 9 deletions(-) diff --git a/contrib/pgstattuple/pgstatindex.c b/contrib/pgstattuple/pgstatindex.c index d69ac1c93df..8e5a4d6a663 100644 --- a/contrib/pgstattuple/pgstatindex.c +++ b/contrib/pgstattuple/pgstatindex.c @@ -237,6 +237,18 @@ pgstatindex_impl(Relation rel, FunctionCallInfo fcinfo) (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("cannot access temporary tables of other sessions"))); + /* + * A !indisready index could lead to ERRCODE_DATA_CORRUPTED later, so exit + * early. We're capable of assessing an indisready&&!indisvalid index, + * but the results could be confusing. For example, the index's size + * could be too low for a valid index of the table. + */ + if (!rel->rd_index->indisvalid) + ereport(ERROR, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("index \"%s\" is not valid", + RelationGetRelationName(rel)))); + /* * Read metapage */ @@ -523,6 +535,13 @@ pgstatginindex_internal(Oid relid, FunctionCallInfo fcinfo) (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("cannot access temporary indexes of other sessions"))); + /* see pgstatindex_impl */ + if (!rel->rd_index->indisvalid) + ereport(ERROR, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("index \"%s\" is not valid", + RelationGetRelationName(rel)))); + /* * Read metapage */ @@ -600,6 +619,13 @@ pgstathashindex(PG_FUNCTION_ARGS) (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("cannot access temporary indexes of other sessions"))); + /* see pgstatindex_impl */ + if (!rel->rd_index->indisvalid) + ereport(ERROR, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("index \"%s\" is not valid", + RelationGetRelationName(rel)))); + /* Get the information we need from the metapage. */ memset(&stats, 0, sizeof(stats)); metabuf = _hash_getbuf(rel, HASH_METAPAGE, HASH_READ, LH_META_PAGE); diff --git a/contrib/pgstattuple/pgstattuple.c b/contrib/pgstattuple/pgstattuple.c index 7e2ad711034..81356802afc 100644 --- a/contrib/pgstattuple/pgstattuple.c +++ b/contrib/pgstattuple/pgstattuple.c @@ -259,6 +259,13 @@ pgstat_relation(Relation rel, FunctionCallInfo fcinfo) } else if (rel->rd_rel->relkind == RELKIND_INDEX) { + /* see pgstatindex_impl */ + if (!rel->rd_index->indisvalid) + ereport(ERROR, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("index \"%s\" is not valid", + RelationGetRelationName(rel)))); + switch (rel->rd_rel->relam) { case BTREE_AM_OID: diff --git a/src/backend/access/brin/brin.c b/src/backend/access/brin/brin.c index d4fec654bb6..a257903991d 100644 --- a/src/backend/access/brin/brin.c +++ b/src/backend/access/brin/brin.c @@ -1102,8 +1102,14 @@ brin_summarize_range(PG_FUNCTION_ARGS) errmsg("could not open parent table of index \"%s\"", RelationGetRelationName(indexRel)))); - /* OK, do it */ - brinsummarize(indexRel, heapRel, heapBlk, true, &numSummarized, NULL); + /* see gin_clean_pending_list() */ + if (indexRel->rd_index->indisvalid) + brinsummarize(indexRel, heapRel, heapBlk, true, &numSummarized, NULL); + else + ereport(DEBUG1, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("index \"%s\" is not valid", + RelationGetRelationName(indexRel)))); /* Roll back any GUC changes executed by index functions */ AtEOXact_GUC(false, save_nestlevel); @@ -1185,12 +1191,21 @@ brin_desummarize_range(PG_FUNCTION_ARGS) errmsg("could not open parent table of index \"%s\"", RelationGetRelationName(indexRel)))); - /* the revmap does the hard work */ - do + /* see gin_clean_pending_list() */ + if (indexRel->rd_index->indisvalid) { - done = brinRevmapDesummarizeRange(indexRel, heapBlk); + /* the revmap does the hard work */ + do + { + done = brinRevmapDesummarizeRange(indexRel, heapBlk); + } + while (!done); } - while (!done); + else + ereport(DEBUG1, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("index \"%s\" is not valid", + RelationGetRelationName(indexRel)))); relation_close(indexRel, ShareUpdateExclusiveLock); relation_close(heapRel, ShareUpdateExclusiveLock); diff --git a/src/backend/access/gin/ginfast.c b/src/backend/access/gin/ginfast.c index eb6c5548318..657e9412ec3 100644 --- a/src/backend/access/gin/ginfast.c +++ b/src/backend/access/gin/ginfast.c @@ -1032,7 +1032,6 @@ gin_clean_pending_list(PG_FUNCTION_ARGS) Oid indexoid = PG_GETARG_OID(0); Relation indexRel = index_open(indexoid, RowExclusiveLock); IndexBulkDeleteResult stats; - GinState ginstate; if (RecoveryInProgress()) ereport(ERROR, @@ -1064,8 +1063,26 @@ gin_clean_pending_list(PG_FUNCTION_ARGS) RelationGetRelationName(indexRel)); memset(&stats, 0, sizeof(stats)); - initGinState(&ginstate, indexRel); - ginInsertCleanup(&ginstate, true, true, true, &stats); + + /* + * Can't assume anything about the content of an !indisready index. Make + * those a no-op, not an error, so users can just run this function on all + * indexes of the access method. Since an indisready&&!indisvalid index + * is merely awaiting missed aminsert calls, we're capable of processing + * it. Decline to do so, out of an abundance of caution. + */ + if (indexRel->rd_index->indisvalid) + { + GinState ginstate; + + initGinState(&ginstate, indexRel); + ginInsertCleanup(&ginstate, true, true, true, &stats); + } + else + ereport(DEBUG1, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("index \"%s\" is not valid", + RelationGetRelationName(indexRel)))); index_close(indexRel, RowExclusiveLock); From 5a53b5863796fcae31b12c2aa43ac105f0d62899 Mon Sep 17 00:00:00 2001 From: David Rowley Date: Tue, 31 Oct 2023 16:42:35 +1300 Subject: [PATCH 287/317] Adjust the order of the prechecks in pgrowlocks() 4b8266415 added a precheck to pgrowlocks() to ensure the given object's pg_class.relam is HEAP_TABLE_AM_OID, however, that check was put before another check which was checking if the given object was a partitioned table. Since the pg_class.relam is always InvalidOid for partitioned tables, if pgrowlocks() was called passing a partitioned table, then the "only heap AM is supported" error would be raised instead of the intended error about the given object being a partitioned table. Here we simply move the pg_class.relam check to after the check that verifies that we are in fact working with a normal (non-partitioned) table. Reported-by: jian he Discussion: https://postgr.es/m/CACJufxFaSp_WguFCf0X98951zFVX+dXFnF1mxAb-G3g1HiHOow@mail.gmail.com Backpatch-through: 12, where 4b8266415 was introduced. --- contrib/pgrowlocks/pgrowlocks.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/contrib/pgrowlocks/pgrowlocks.c b/contrib/pgrowlocks/pgrowlocks.c index 99969ca26cd..5b95eaeea97 100644 --- a/contrib/pgrowlocks/pgrowlocks.c +++ b/contrib/pgrowlocks/pgrowlocks.c @@ -81,10 +81,6 @@ pgrowlocks(PG_FUNCTION_ARGS) relrv = makeRangeVarFromNameList(textToQualifiedNameList(relname)); rel = relation_openrv(relrv, AccessShareLock); - if (rel->rd_rel->relam != HEAP_TABLE_AM_OID) - ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("only heap AM is supported"))); - if (rel->rd_rel->relkind == RELKIND_PARTITIONED_TABLE) ereport(ERROR, (errcode(ERRCODE_WRONG_OBJECT_TYPE), @@ -96,6 +92,10 @@ pgrowlocks(PG_FUNCTION_ARGS) (errcode(ERRCODE_WRONG_OBJECT_TYPE), errmsg("\"%s\" is not a table", RelationGetRelationName(rel)))); + else if (rel->rd_rel->relam != HEAP_TABLE_AM_OID) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("only heap AM is supported"))); /* * check permissions: must have SELECT on table or be in From fce0ae3a67a3cc5f96767fc073b024d45c6f5f7d Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 31 Oct 2023 09:10:35 -0400 Subject: [PATCH 288/317] doc: 1-byte varlena headers can be used for user PLAIN storage This also updates some C comments. Reported-by: suchithjn22@gmail.com Discussion: https://postgr.es/m/167336599095.2667301.15497893107226841625@wrigleys.postgresql.org Author: Laurenz Albe (doc patch) Backpatch-through: 11 --- doc/src/sgml/storage.sgml | 4 +--- src/backend/access/common/heaptuple.c | 11 ++++++++++- src/backend/utils/adt/rangetypes.c | 3 ++- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/doc/src/sgml/storage.sgml b/doc/src/sgml/storage.sgml index 148fb1b49d9..3ea4e5526df 100644 --- a/doc/src/sgml/storage.sgml +++ b/doc/src/sgml/storage.sgml @@ -456,9 +456,7 @@ for storing TOAST-able columns on disk: PLAIN prevents either compression or - out-of-line storage; furthermore it disables use of single-byte headers - for varlena types. - This is the only possible strategy for + out-of-line storage. This is the only possible strategy for columns of non-TOAST-able data types. diff --git a/src/backend/access/common/heaptuple.c b/src/backend/access/common/heaptuple.c index ef246c901e7..6bedbdf07ff 100644 --- a/src/backend/access/common/heaptuple.c +++ b/src/backend/access/common/heaptuple.c @@ -68,7 +68,16 @@ #include "utils/memutils.h" -/* Does att's datatype allow packing into the 1-byte-header varlena format? */ +/* + * Does att's datatype allow packing into the 1-byte-header varlena format? + * While functions that use TupleDescAttr() and assign attstorage = + * TYPSTORAGE_PLAIN cannot use packed varlena headers, functions that call + * TupleDescInitEntry() use typeForm->typstorage (TYPSTORAGE_EXTENDED) and + * can use packed varlena headers, e.g.: + * CREATE TABLE test(a VARCHAR(10000) STORAGE PLAIN); + * INSERT INTO test VALUES (repeat('A',10)); + * This can be verified with pageinspect. + */ #define ATT_IS_PACKABLE(att) \ ((att)->attlen == -1 && (att)->attstorage != TYPSTORAGE_PLAIN) /* Use this if it's already known varlena */ diff --git a/src/backend/utils/adt/rangetypes.c b/src/backend/utils/adt/rangetypes.c index d65e5625c73..24bad529239 100644 --- a/src/backend/utils/adt/rangetypes.c +++ b/src/backend/utils/adt/rangetypes.c @@ -2608,7 +2608,8 @@ range_contains_elem_internal(TypeCacheEntry *typcache, const RangeType *r, Datum * values into a range object. They are modeled after heaptuple.c's * heap_compute_data_size() and heap_fill_tuple(), but we need not handle * null values here. TYPE_IS_PACKABLE must test the same conditions as - * heaptuple.c's ATT_IS_PACKABLE macro. + * heaptuple.c's ATT_IS_PACKABLE macro. See the comments thare for more + * details. */ /* Does datatype allow packing into the 1-byte-header varlena format? */ From e04d5f0ca8cbcf5daa50c9b409ed5fe89aefc5b7 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 31 Oct 2023 09:23:09 -0400 Subject: [PATCH 289/317] doc: add function argument and query parameter limits Also reorder entries and add commas. Reported-by: David G. Johnston Discussion: https://postgr.es/m/CAKFQuwYeNPxeocV3_0+Zx=_Xwvg+sNyEMdzyG5s2E2e0hZLQhg@mail.gmail.com Author: David G. Johnston (partial) Backpatch-through: 12 --- doc/src/sgml/limits.sgml | 42 ++++++++++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/doc/src/sgml/limits.sgml b/doc/src/sgml/limits.sgml index d5b2b627ddf..c549447013f 100644 --- a/doc/src/sgml/limits.sgml +++ b/doc/src/sgml/limits.sgml @@ -57,14 +57,14 @@ columns per table - 1600 + 1,600 further limited by tuple size fitting on a single page; see note below columns in a result set - 1664 + 1,664 @@ -74,12 +74,6 @@ - - identifier length - 63 bytes - can be increased by recompiling PostgreSQL - - indexes per table unlimited @@ -92,11 +86,29 @@ can be increased by recompiling PostgreSQL - - partition keys - 32 - can be increased by recompiling PostgreSQL - + + partition keys + 32 + can be increased by recompiling PostgreSQL + + + + identifier length + 63 bytes + can be increased by recompiling PostgreSQL + + + + function arguments + 100 + can be increased by recompiling PostgreSQL + + + + query parameters + 65,535 + +
@@ -104,9 +116,9 @@ The maximum number of columns for a table is further reduced as the tuple being stored must fit in a single 8192-byte heap page. For example, - excluding the tuple header, a tuple made up of 1600 int columns + excluding the tuple header, a tuple made up of 1,600 int columns would consume 6400 bytes and could be stored in a heap page, but a tuple of - 1600 bigint columns would consume 12800 bytes and would + 1,600 bigint columns would consume 12800 bytes and would therefore not fit inside a heap page. Variable-length fields of types such as text, varchar, and char From 2cae2a267648abf81e0ec570421cc286e12f3655 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 31 Oct 2023 10:13:11 -0400 Subject: [PATCH 290/317] doc: improve bpchar and character type length details Reported-by: Jeff Davis Discussion: https://postgr.es/m/32a9b8357e8e29b04f395f92c53b64e015a4caf1.camel@j-davis.com Author: Jeff Davis, adjustments by me Backpatch-through: 16 --- doc/src/sgml/datatype.sgml | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/doc/src/sgml/datatype.sgml b/doc/src/sgml/datatype.sgml index 5d237657059..5a6cfbd94d8 100644 --- a/doc/src/sgml/datatype.sgml +++ b/doc/src/sgml/datatype.sgml @@ -1174,7 +1174,11 @@ SELECT '52093.89'::money::numeric::float8; character(n), char(n), bpchar(n) - fixed-length, blank padded + fixed-length, blank-padded + + + bpchar + variable unlimited length, blank-trimmed text @@ -1230,19 +1234,22 @@ SELECT '52093.89'::money::numeric::float8; The type name varchar is an alias for character - varying, while char and bpchar are - aliases for character. - The varchar and char aliases are defined in - the SQL standard, but bpchar is - a PostgreSQL extension. + varying, while bpchar (with length specifier) and + char are aliases for character. The + varchar and char aliases are defined in the + SQL standard; bpchar is a + PostgreSQL extension. If specified, the length n must be greater - than zero and cannot exceed 10485760. - character without length specifier is equivalent to - character(1). If character varying is used - without length specifier, the type accepts strings of any size. + than zero and cannot exceed 10,485,760. If character + varying (or varchar) is used without + length specifier, the type accepts strings of any length. If + bpchar lacks a length specifier, it also accepts strings + of any length, but trailing spaces are semantically insignificant. + If character (or char) lacks a specifier, + it is equivalent to character(1). From bc73f98cb04897bef767612eb83d3fd82c7a89c5 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 31 Oct 2023 10:21:32 -0400 Subject: [PATCH 291/317] doc: improve ALTER SYSTEM description of value list quoting Reported-by: splarv@ya.ru Discussion: https://postgr.es/m/167105927893.1897.13227723035830709578@wrigleys.postgresql.org Backpatch-through: 11 --- doc/src/sgml/ref/alter_system.sgml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/doc/src/sgml/ref/alter_system.sgml b/doc/src/sgml/ref/alter_system.sgml index 6f8bd39eaf8..bea5714ba1a 100644 --- a/doc/src/sgml/ref/alter_system.sgml +++ b/doc/src/sgml/ref/alter_system.sgml @@ -21,7 +21,7 @@ PostgreSQL documentation -ALTER SYSTEM SET configuration_parameter { TO | = } { value | 'value' | DEFAULT } +ALTER SYSTEM SET configuration_parameter { TO | = } { value [, ...] | DEFAULT } ALTER SYSTEM RESET configuration_parameter ALTER SYSTEM RESET ALL @@ -83,9 +83,17 @@ ALTER SYSTEM RESET ALL New value of the parameter. Values can be specified as string constants, identifiers, numbers, or comma-separated lists of these, as appropriate for the particular parameter. + Values that are neither numbers nor valid identifiers must be quoted. DEFAULT can be written to specify removing the parameter and its value from postgresql.auto.conf. + + + For some list-accepting parameters, quoted values will produce + double-quoted output to preserve whitespace and commas; for others, + double-quotes must be used inside single-quoted strings to get + this effect. + From f23b1a9683b9f9f01fa2f6c635045c4685c55558 Mon Sep 17 00:00:00 2001 From: Daniel Gustafsson Date: Wed, 1 Nov 2023 11:46:30 +0100 Subject: [PATCH 292/317] Fix function name in comment The name of the function resulting from the macro expansion was incorrectly stated. Backpatch to 16 where it was introduced. Author: Kyotaro Horiguchi Discussion: https://postgr.es/m/20231101.172308.1740861597185391383.horikyota.ntt@gmail.com Backpatch-through: v16 --- src/backend/utils/adt/pgstatfuncs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/utils/adt/pgstatfuncs.c b/src/backend/utils/adt/pgstatfuncs.c index e10384f5372..9dfbe49d6a7 100644 --- a/src/backend/utils/adt/pgstatfuncs.c +++ b/src/backend/utils/adt/pgstatfuncs.c @@ -85,7 +85,7 @@ PG_STAT_GET_RELENTRY_INT64(ins_since_vacuum) /* pg_stat_get_live_tuples */ PG_STAT_GET_RELENTRY_INT64(live_tuples) -/* pg_stat_get_mods_since_analyze */ +/* pg_stat_get_mod_since_analyze */ PG_STAT_GET_RELENTRY_INT64(mod_since_analyze) /* pg_stat_get_numscans */ From 65a6f6ad2f505e2e2b38fd4bcc83bb8dd6aa4e31 Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Thu, 2 Nov 2023 07:33:20 +0900 Subject: [PATCH 293/317] doc: Replace reference to ERRCODE_RAISE_EXCEPTION by "raise_exception" This part of the documentation refers to exceptions as handled by PL/pgSQL, and using the internal error code is confusing. Per thinko in 66bde49d96a9. Reported-by: Euler Taveira, Bruce Momjian Discussion: https://postgr.es/m/ZUEUnLevXyW7DlCs@momjian.us Backpatch-through: 11 --- doc/src/sgml/plpgsql.sgml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/src/sgml/plpgsql.sgml b/doc/src/sgml/plpgsql.sgml index 83f867f91d2..5977534a627 100644 --- a/doc/src/sgml/plpgsql.sgml +++ b/doc/src/sgml/plpgsql.sgml @@ -3942,7 +3942,7 @@ RAISE unique_violation USING MESSAGE = 'Duplicate user ID: ' || user_id; If no condition name nor SQLSTATE is specified in a RAISE EXCEPTION command, the default is to use - ERRCODE_RAISE_EXCEPTION (P0001). + raise_exception (P0001). If no message text is specified, the default is to use the condition name or SQLSTATE as message text. From ccfe394f7466b60c062067c2cfc156f8d6c0c461 Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Thu, 2 Nov 2023 12:38:23 +0900 Subject: [PATCH 294/317] Fix 003_check_guc.pl when loading modules with custom GUCs The test missed that custom GUCs need to be ignored from the list of parameters that can exist in postgresql.conf.sample. This caused the test to fail on a server where such a module is loaded, when using EXTRA_INSTALL and TEMP_CONFIG, for instance. Author: Anton A. Melnikov Discussion: https://postgr.es/m/fc5509ce-5144-4dac-8d13-21793da44fc5@postgrespro.ru Backpatch-through: 15 --- src/test/modules/test_misc/t/003_check_guc.pl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/test/modules/test_misc/t/003_check_guc.pl b/src/test/modules/test_misc/t/003_check_guc.pl index 4fd6d03b9e6..a5d680e82e7 100644 --- a/src/test/modules/test_misc/t/003_check_guc.pl +++ b/src/test/modules/test_misc/t/003_check_guc.pl @@ -14,12 +14,13 @@ # Grab the names of all the parameters that can be listed in the # configuration sample file. config_file is an exception, it is not # in postgresql.conf.sample but is part of the lists from guc_tables.c. +# Custom GUCs loaded by extensions are excluded. my $all_params = $node->safe_psql( 'postgres', "SELECT name FROM pg_settings WHERE NOT 'NOT_IN_SAMPLE' = ANY (pg_settings_get_flags(name)) AND - name <> 'config_file' + name <> 'config_file' AND category <> 'Customized Options' ORDER BY 1"); # Note the lower-case conversion, for consistency. my @all_params_array = split("\n", lc($all_params)); From f4cf005889b9bd38aa78e17acb86ef98305e77e7 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 2 Nov 2023 11:47:33 -0400 Subject: [PATCH 295/317] Be more wary about NULL values for GUC string variables. get_explain_guc_options() crashed if a string GUC marked GUC_EXPLAIN has a NULL boot_val. Nosing around found a couple of other places that seemed insufficiently cautious about NULL string values, although those are likely unreachable in practice. Add some commentary defining the expectations for NULL values of string variables, in hopes of forestalling future additions of more such bugs. Xing Guo, Aleksander Alekseev, Tom Lane Discussion: https://postgr.es/m/CACpMh+AyDx5YUpPaAgzVwC1d8zfOL4JoD-uyFDnNSa1z0EsDQQ@mail.gmail.com --- src/backend/utils/misc/guc.c | 16 +++++++++++++--- src/include/utils/guc_tables.h | 10 ++++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index 07f0624517e..5ba7c93af38 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -1460,7 +1460,9 @@ check_GUC_init(struct config_generic *gconf) { struct config_string *conf = (struct config_string *) gconf; - if (*conf->variable != NULL && strcmp(*conf->variable, conf->boot_val) != 0) + if (*conf->variable != NULL && + (conf->boot_val == NULL || + strcmp(*conf->variable, conf->boot_val) != 0)) { elog(LOG, "GUC (PGC_STRING) %s, boot_val=%s, C-var=%s", conf->gen.name, conf->boot_val ? conf->boot_val : "", *conf->variable); @@ -5232,7 +5234,14 @@ get_explain_guc_options(int *num) { struct config_string *lconf = (struct config_string *) conf; - modified = (strcmp(lconf->boot_val, *(lconf->variable)) != 0); + if (lconf->boot_val == NULL && + *lconf->variable == NULL) + modified = false; + else if (lconf->boot_val == NULL || + *lconf->variable == NULL) + modified = true; + else + modified = (strcmp(lconf->boot_val, *(lconf->variable)) != 0); } break; @@ -5459,7 +5468,8 @@ write_one_nondefault_variable(FILE *fp, struct config_generic *gconf) { struct config_string *conf = (struct config_string *) gconf; - fprintf(fp, "%s", *conf->variable); + if (*conf->variable) + fprintf(fp, "%s", *conf->variable); } break; diff --git a/src/include/utils/guc_tables.h b/src/include/utils/guc_tables.h index 582c0278fd0..47eaaa1d162 100644 --- a/src/include/utils/guc_tables.h +++ b/src/include/utils/guc_tables.h @@ -241,6 +241,16 @@ struct config_real void *reset_extra; }; +/* + * A note about string GUCs: the boot_val is allowed to be NULL, which leads + * to the reset_val and the actual variable value (*variable) also being NULL. + * However, there is no way to set a NULL value subsequently using + * set_config_option or any other GUC API. Also, GUC APIs such as SHOW will + * display a NULL value as an empty string. Callers that choose to use a NULL + * boot_val should overwrite the setting later in startup, or else be careful + * that NULL doesn't have semantics that are visibly different from an empty + * string. + */ struct config_string { struct config_generic gen; From ede7f66a6907e7e709638f19e7df13d310838f82 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Fri, 3 Nov 2023 09:51:53 -0400 Subject: [PATCH 296/317] doc: ALTER DEFAULT PRIVILEGES does not affect inherited roles MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reported-by: Jordi Gutiérrez Hermoso Discussion: https://postgr.es/m/72652d72e1816bfc3c05d40f9e0e0373d07823c8.camel@octave.org Co-authored-by: Laurenz Albe Backpatch-through: 11 --- doc/src/sgml/ref/alter_default_privileges.sgml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/src/sgml/ref/alter_default_privileges.sgml b/doc/src/sgml/ref/alter_default_privileges.sgml index f1d54f5aa35..8a6006188d3 100644 --- a/doc/src/sgml/ref/alter_default_privileges.sgml +++ b/doc/src/sgml/ref/alter_default_privileges.sgml @@ -137,7 +137,11 @@ REVOKE [ GRANT OPTION FOR ] The name of an existing role of which the current role is a member. - If FOR ROLE is omitted, the current role is assumed. + Default access privileges are not inherited, so member roles + must use SET ROLE to access these privileges, + or ALTER DEFAULT PRIVILEGES must be run for + each member role. If FOR ROLE is omitted, + the current role is assumed. From 7a7bae71dcbbb29a0fb2705c4a49539e3703852b Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 3 Nov 2023 11:48:23 -0400 Subject: [PATCH 297/317] Doc: update CREATE RULE ref page's hoary discussion of views. This text left one with the impression that an ON SELECT rule could be attached to a plain table, which has not been true since commit 264c06820 (meaning the text was already misleading when written, evidently by me in 96bd67f61). However, it didn't get really bad until b23cd185f removed the convert-a-table-to-a-view logic, which had made it possible for scripts that thought they were attaching ON SELECTs to tables to still work. Rewrite into a form that makes it clear that an ON SELECT rule is better regarded as an implementation detail of a view. Pre-v16, point out that adding ON SELECT to a table actually converts it to a view. Per bug #18178 from Joshua Uyehara. Back-patch to all supported branches. Discussion: https://postgr.es/m/18178-05534d7064044d2d@postgresql.org --- doc/src/sgml/ref/create_rule.sgml | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/doc/src/sgml/ref/create_rule.sgml b/doc/src/sgml/ref/create_rule.sgml index dbf4c937841..4871a896dc3 100644 --- a/doc/src/sgml/ref/create_rule.sgml +++ b/doc/src/sgml/ref/create_rule.sgml @@ -59,15 +59,16 @@ CREATE [ OR REPLACE ] RULE name AS - Presently, ON SELECT rules must be unconditional - INSTEAD rules and must have actions that consist - of a single SELECT command. Thus, an - ON SELECT rule effectively turns the table into - a view, whose visible contents are the rows returned by the rule's - SELECT command rather than whatever had been - stored in the table (if anything). It is considered better style - to write a CREATE VIEW command than to create a - real table and define an ON SELECT rule for it. + Presently, ON SELECT rules can only be attached + to views. Such a rule must be named "_RETURN", + must be an unconditional INSTEAD rule, and must have + an action that consists of a single SELECT command. + This command defines the visible contents of the view. (The view + itself is basically a dummy table with no storage.) It's best to + regard such a rule as an implementation detail. While a view can be + redefined via CREATE OR REPLACE RULE "_RETURN" AS + ..., it's better style to use CREATE OR REPLACE + VIEW. From 9e0e330ba8fecda480dc4c75fb501a596e27b68a Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Fri, 3 Nov 2023 13:39:50 -0400 Subject: [PATCH 298/317] doc: CREATE DATABASE doesn't copy db-level perms. from template Reported-by: david@kapitaltrading.com Discussion: https://postgr.es/m/166007719137.995877.13951579839074751714@wrigleys.postgresql.org Backpatch-through: 11 --- doc/src/sgml/manage-ag.sgml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/doc/src/sgml/manage-ag.sgml b/doc/src/sgml/manage-ag.sgml index 192c5009945..f9fe47b6a29 100644 --- a/doc/src/sgml/manage-ag.sgml +++ b/doc/src/sgml/manage-ag.sgml @@ -213,6 +213,12 @@ createdb -O rolename dbname + + However, CREATE DATABASE does not copy database-level + GRANT permissions attached to the source database. + The new database has default database-level permissions. + + There is a second standard system database named template0.template0 This From 567c52c36ff6243eab292bb7eb05faa69da93cf8 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Fri, 3 Nov 2023 13:57:59 -0400 Subject: [PATCH 299/317] doc: \copy can get data values \. and end-of-input confused Reported-by: Svante Richter Discussion: https://postgr.es/m/fcd57e4-8f23-4c3e-a5db-2571d09208e2@beta.fastmail.com Backpatch-through: 11 --- doc/src/sgml/ref/psql-ref.sgml | 4 ++++ src/bin/psql/copy.c | 1 + 2 files changed, 5 insertions(+) diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml index 182e58353f1..87b77e21052 100644 --- a/doc/src/sgml/ref/psql-ref.sgml +++ b/doc/src/sgml/ref/psql-ref.sgml @@ -1119,6 +1119,10 @@ INSERT INTO tbl1 VALUES ($1, $2) \bind 'first value' 'second value' \g destination, because all data must pass through the client/server connection. For large amounts of data the SQL command might be preferable. + Also, because of this pass-through method, \copy + ... from in CSV mode will erroneously + treat a \. data value alone on a line as an + end-of-input marker. diff --git a/src/bin/psql/copy.c b/src/bin/psql/copy.c index b3cc3d9a290..8d6ce4cedd7 100644 --- a/src/bin/psql/copy.c +++ b/src/bin/psql/copy.c @@ -627,6 +627,7 @@ handleCopyIn(PGconn *conn, FILE *copystream, bool isbinary, PGresult **res) * This code erroneously assumes '\.' on a line alone * inside a quoted CSV string terminates the \copy. * https://www.postgresql.org/message-id/E1TdNVQ-0001ju-GO@wrigleys.postgresql.org + * https://www.postgresql.org/message-id/bfcd57e4-8f23-4c3e-a5db-2571d09208e2@beta.fastmail.com */ if ((linelen == 3 && memcmp(fgresult, "\\.\n", 3) == 0) || (linelen == 4 && memcmp(fgresult, "\\.\r\n", 4) == 0)) From 8e163ca991ace94fcbb7019566be68baab14e6c2 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 3 Nov 2023 17:54:08 -0400 Subject: [PATCH 300/317] First-draft release notes for 16.1. As usual, the release notes for other branches will be made by cutting these down, but put them up for community review first. Also as usual for a .1 release, there are some entries here that are not really relevant for v16 because they already appeared in 16.0. Those'll be removed later. --- doc/src/sgml/release-16.sgml | 1568 +++++++++++++++++++++++++++++++++- 1 file changed, 1562 insertions(+), 6 deletions(-) diff --git a/doc/src/sgml/release-16.sgml b/doc/src/sgml/release-16.sgml index 5e75127f0c7..cc04f83bd28 100644 --- a/doc/src/sgml/release-16.sgml +++ b/doc/src/sgml/release-16.sgml @@ -1,6 +1,1562 @@ + + Release 16.1 + + + Release date: + 2023-11-09 + + + + This release contains a variety of fixes from 16.0. + For information about new features in major release 16, see + . + + + + Migration to Version 16.1 + + + A dump/restore is not required for those running 16.X. + + + + However, several mistakes have been discovered that could lead to + certain types of indexes yielding wrong search results or being + unnecessarily inefficient. It is advisable + to REINDEX potentially-affected indexes after + installing this update. See the first through fourth changelog + entries below. + + + + + Changes + + + + + + + Fix misbehavior during recursive page split in GiST index build + (Heikki Linnakangas) + + + + Fix a case where the location of a page downlink was incorrectly + tracked, and introduce some logic to allow recovering from such + situations rather than silently doing the wrong thing. This error + could result in incorrect answers from subsequent index searches. + It may be advisable to reindex all GiST indexes after installing + this update. + + + + + + + Prevent de-duplication of btree index entries + for interval columns (Noah Misch) + + + + There are interval values that are distinguishable but + compare equal, for example 24:00:00 + and 1 day. This breaks assumptions made by btree + de-duplication, so interval columns need to be excluded + from de-duplication. This oversight can cause incorrect results + from index-only scans. Moreover, after + updating amcheck will report an error for + almost all such indexes. Users should reindex any btree indexes + on interval columns. + + + + + + + Process date values more sanely in + BRIN datetime_minmax_multi_ops indexes + (Tomas Vondra) + + + + The distance calculation for dates was backward, causing poor + decisions about which entries to merge. The index still produces + correct results, but is much less efficient than it should be. + Reindexing BRIN minmax_multi indexes + on date columns is advisable. + + + + + + + Process large timestamp and timestamptz + values more sanely in + BRIN datetime_minmax_multi_ops indexes + (Tomas Vondra) + + + + Infinities were mistakenly treated as having distance zero rather + than a large distance from other values, causing poor decisions + about which entries to merge. Also, finite-but-very-large values + (near the endpoints of the representable timestamp range) could + result in internal overflows, again causing poor decisions. The + index still produces correct results, but is much less efficient + than it should be. Reindexing BRIN minmax_multi + indexes on timestamp and timestamptz + columns is advisable if the column contains, or has contained, + infinities or large finite values. + + + + + + + Avoid calculation overflows in + BRIN interval_minmax_multi_ops indexes with + extreme interval values (Tomas Vondra) + + + + This bug might have caused unexpected failures while trying to + insert large interval values into such an index. + + + + + + + Fix partition step generation and runtime partition pruning for + hash-partitioned tables with multiple partition keys (David Rowley) + + + + Some cases involving an IS NULL condition on one + of the partition keys could result in a crash. + + + + + + + Fix inconsistent rechecking of concurrently-updated rows + during MERGE (Dean Rasheed) + + + + In READ COMMITTED mode, an update that finds that + its target row was just updated by a concurrent transaction will + recheck the query's WHERE conditions on the + updated row. MERGE failed to ensure that the + proper rows of other joined tables were used during this recheck, + possibly resulting in incorrect decisions about whether the + newly-updated row should be updated again + by MERGE. + + + + + + + Correctly identify the target table in an + inherited UPDATE/DELETE/MERGE + even when the parent table is excluded by constraints (Amit Langote, + Tom Lane) + + + + If the initially-named table is excluded by constraints, but not all + its inheritance descendants are, the first non-excluded descendant + was identified as the primary target table. This would lead to + firing statement-level triggers associated with that table, rather + than the initially-named table as should happen. In v16, the same + oversight could also lead to invalid perminfoindex 0 in RTE + with relid NNNN errors. + + + + + + + Fix edge case in btree mark/restore processing of ScalarArrayOpExpr + clauses (Peter Geoghegan) + + + + When restoring an indexscan to a previously marked position, the + code could miss required setup steps if the scan had advanced + exactly to the end of the matches for a ScalarArrayOpExpr (that is, + an indexcol = ANY(ARRAY[])) clause. This could + result in missing some rows that should have been fetched. + + + + + + + Fix intra-query memory leak in Memoize execution + (Orlov Aleksej, David Rowley) + + + + + + + Fix intra-query memory leak when a set-returning function repeatedly + returns zero rows (Tom Lane) + + + + + + + Don't crash if cursor_to_xmlschema() is applied + to a non-data-returning Portal (Boyu Yang) + + + + + + + Fix improper sharing of origin filter condition across + successive pg_logical_slot_get_changes() calls + (Hou Zhijie) + + + + The origin condition set by one call of this function would be + re-used by later calls that did not specify the origin argument. + This was not intended. + + + + + + + Throw the intended error if pgrowlocks() is + applied to a partitioned table (David Rowley) + + + + Previously, a not-on-point complaint only heap AM is + supported would be raised. + + + + + + + Handle invalid indexes more cleanly in assorted SQL functions + (Noah Misch) + + + + Report an error if pgstatindex(), + pgstatginindex(), + pgstathashindex(), + or pgstattuple() is applied to an invalid + index. If brin_desummarize_range(), + brin_summarize_new_values(), + brin_summarize_range(), + or gin_clean_pending_list() is applied to an + invalid index, do nothing except to report a debug-level message. + Formerly these functions attempted to process the index, and might + fail in strange ways depending on what the failed CREATE + INDEX had left behind. + + + + + + + Fix pg_stat_reset_single_table_counters() to do + the right thing for a shared catalog (Masahiro Ikeda) + + + + Previously the reset would be ineffective. + + + + + + + Avoid premature memory allocation failure with long inputs + to to_tsvector() (Tom Lane) + + + + + + + Fix over-allocation of the constructed tsvector + in tsvectorrecv() (Denis Erokhin) + + + + If the incoming vector includes position data, the binary receive + function left wasted space (roughly equal to the size of the + position data) in the finished tsvector. In extreme + cases this could lead to maximum total lexeme length + exceeded failures for vectors that were under the length + limit when emitted. In any case it could lead to wasted space + on-disk. + + + + + + + Fix incorrect coding in gtsvector_picksplit() + (Alexander Lakhin) + + + + This could lead to poor page-split decisions in GiST indexes + on tsvector columns. + + + + + + + Improve checks for corrupt PGLZ compressed data (Flavien Guedez) + + + + + + + Fix ALTER SUBSCRIPTION so that a commanded change + in the run_as_owner option is actually applied + (Hou Zhijie) + + + + + + + Fix COMMIT AND CHAIN/ROLLBACK AND + CHAIN to work properly when there is an unreleased + savepoint (Liu Xiang, Tom Lane) + + + + Instead of propagating the current transaction's properties to the + new transaction, they propagated some previous transaction's + properties. + + + + + + + Fix bulk table insertion into partitioned tables (Andres Freund) + + + + Improper sharing of insertion state across partitions could result + in failures during COPY FROM, typically + manifesting as could not read block NNNN in file XXXX: read + only 0 of 8192 bytes errors. + + + + + + + In COPY FROM, avoid evaluating column default + values that will not be needed by the command (Laurenz Albe) + + + + This avoids a possible error if the default value isn't actually + valid for the column, or if the default's expression would fail in + the current execution context. Such edge cases sometimes arise + while restoring dumps, for example. Previous releases did not fail + in this situation, so prevent v16 from doing so. + + + + + + + In COPY FROM, fail cleanly when an unsupported + encoding conversion is needed (Tom Lane) + + + + Recent refactoring accidentally removed the intended error check for + this, such that it ended in cache lookup failed for function + 0 instead of a useful error message. + + + + + + + Avoid crash in EXPLAIN if a parameter marked to + be displayed by EXPLAIN has a NULL boot-time + value (Xing Guo, Aleksander Alekseev, Tom Lane) + + + + No built-in parameter fits this description, but an extension could + define such a parameter. + + + + + + + Ensure we have a snapshot while dropping ON COMMIT + DROP temp tables (Tom Lane) + + + + This prevents possible misbehavior if any catalog entries for the + temp tables have fields wide enough to require toasting (such as a + very complex CHECK condition). + + + + + + + Avoid improper response to shutdown signals in child processes + just forked by system() (Nathan Bossart) + + + + This fix avoids a race condition in which a child process that has + been forked off by system(), but hasn't yet + exec'd the intended child program, might receive and act on a signal + intended for the parent server process. That would lead to + duplicate cleanup actions being performed, which will not end well. + + + + + + + Cope with torn reads of pg_control in frontend + programs (Thomas Munro) + + + + On some file systems, reading pg_control may + not be an atomic action when the server concurrently writes that + file. This is detectable via a bad CRC. Retry a few times to see + if the file becomes valid before we report error. + + + + + + + Avoid torn reads of pg_control in relevant SQL + functions (Thomas Munro) + + + + Acquire the appropriate lock before + reading pg_control, to ensure we get a + consistent view of that file. + + + + + + + Fix could not find pathkey item to sort errors + occurring while planning aggregate functions with ORDER + BY or DISTINCT options (David Rowley) + + + + + + + Avoid integer overflow when computing size of backend activity + string array (Jakub Wartak) + + + + On 64-bit machines we will allow values + of track_activity_query_size large enough to + cause 32-bit overflow when multiplied by the allowed number of + connections. The code actually allocating the per-backend local + array was careless about this though, and allocated the array + incorrectly. + + + + + + + Fix briefly showing inconsistent progress statistics + for ANALYZE on inherited tables + (Heikki Linnakangas) + + + + The block-level counters should be reset to zero at the same time we + update the current-relation field. + + + + + + + Fix the background writer to report any WAL writes it makes to the + statistics counters (Nazir Bilal Yavuz) + + + + + + + Fix confusion about forced-flush behavior + in pgstat_report_wal() + (Ryoga Yoshida, Michael Paquier) + + + + This could result in some statistics about WAL I/O being forgotten + in a shutdown. + + + + + + + Fix statistics tracking of temporary-table extensions (Karina + Litskevich, Andres Freund) + + + + These were counted as normal-table writes when they should be + counted as temp-table writes. + + + + + + + When track_io_timing is enabled, include the + time taken by relation extension operations as write time + (Nazir Bilal Yavuz) + + + + + + + Track the dependencies of cached CALL statements, + and re-plan them when needed (Tom Lane) + + + + DDL commands, such as replacement of a function that has been + inlined into a CALL argument, can create the need + to re-plan a CALL that has been cached by + PL/pgSQL. That was not happening, leading to misbehavior or strange + errors such as cache lookup failed. + + + + + + + Avoid a possible pfree-a-NULL-pointer crash after an error in + OpenSSL connection setup (Sergey Shinderuk) + + + + + + + Track nesting depth correctly when + inspecting RECORD-type Vars from outer query levels + (Richard Guo) + + + + This oversight could lead to assertion failures, core dumps, + or bogus varno errors. + + + + + + + Avoid record type has not been registered failure + when deparsing a view that contains references to fields of + composite constants (Tom Lane) + + + + + + + Allow extracting fields from + a RECORD-type ROW() expression + (Tom Lane) + + + + SQL code that knows that we name such + fields f1, f2, etc can use + those names to extract fields from the expression. This change was + originally made in version 13, and is now being back-patched into + older branches to support tests for a related bug. + + + + + + + Track hash function and negator function dependencies of + ScalarArrayOpExpr plan nodes (David Rowley) + + + + In most cases this oversight was harmless, since these functions + would be unlikely to disappear while the node's original operator + remains present. + + + + + + + Fix error-handling bug in RECORD type cache management + (Thomas Munro) + + + + An out-of-memory error occurring at just the wrong point could leave + behind inconsistent state that would lead to an infinite loop. + + + + + + + Fix assertion failure when logical decoding is retried in the same + session after an error (Hou Zhijie) + + + + + + + Treat out-of-memory failures as fatal while reading WAL + (Michael Paquier) + + + + Previously this would be treated as a bogus-data condition, leading + to the conclusion that we'd reached the end of WAL, which is + incorrect and could lead to inconsistent WAL replay. + + + + + + + Fix possible recovery failure due to trying to allocate memory based + on a bogus WAL record length field (Thomas Munro, Michael Paquier) + + + + + + + Ensure that standby-mode WAL recovery reports an error when an + invalid page header is found (Yugo Nagata, Kyotaro Horiguchi) + + + + + + + Fix race condition in database dropping that could lead to the + autovacuum launcher getting stuck (Andres Freund, Will Mortensen, + Jacob Speidel) + + + + The race could lead to a statistics entry for the removed database + remaining present, confusing the launcher's selection of which + database to process. + + + + + + + Fix datatype size confusion in logical tape management + (Ranier Vilela) + + + + Integer overflow was possible on platforms where long is wider than + int, although it would take a multiple-terabyte temporary file to + cause a problem. + + + + + + + Avoid unintended close of syslogger process's stdin + (Heikki Linnakangas) + + + + + + + Avoid doing plan cache revalidation of utility statements + that do not receive interesting processing during parse analysis + (Tom Lane) + + + + Aside from saving a few cycles, this prevents failure after a cache + invalidation for statements that must not set a snapshot, such + as SET TRANSACTION ISOLATION LEVEL. + + + + + + + Keep by-reference attmissingval values in + a long-lived context while they are being used (Andrew Dunstan) + + + + This avoids possible use of dangling pointers when a tuple slot + outlives the tuple descriptor with which its value was constructed. + + + + + + + Recalculate the effective value of search_path + after ALTER ROLE (Jeff Davis) + + + + This ensures that after renaming a role, the meaning of the special + string $user is re-determined. + + + + + + + Fix could not duplicate handle error occurring on + Windows when min_dynamic_shared_memory is set + above zero (Thomas Munro) + + + + + + + Fix order of operations in GenericXLogFinish + (Jeff Davis) + + + + This code violated the conditions required for crash safety by + writing WAL before marking changed buffers dirty. No core code uses + this function, but extensions do (contrib/bloom + does, for example). + + + + + + + Remove incorrect assertion in PL/Python exception handling + (Alexander Lakhin) + + + + + + + Fix pg_dump to dump the + new run_as_owner option of subscriptions + (Philip Warner) + + + + Due to this oversight, subscriptions would always be restored + with run_as_owner set + to false, which is not equivalent to their + behavior in pre-v16 releases. + + + + + + + Fix assertion failure in pg_dump when + it's asked to dump the pg_catalog schema (Peter + Eisentraut) + + + + + + + Fix pg_restore so that selective restores + will include both table-level and column-level ACLs for selected + tables (Euler Taveira, Tom Lane) + + + + Formerly, only the table-level ACL would get restored if both types + were present. + + + + + + + Add logic to pg_upgrade to check for use + of abstime, reltime, + and tinterval data types (Álvaro Herrera) + + + + These obsolete data types were removed + in PostgreSQL version 12, so check to + make sure they aren't present in an older database before claiming + it can be upgraded. + + + + + + + Avoid generating invalid temporary slot names + in pg_basebackup (Jelte Fennema) + + + + This has only been seen to occur when the server connection runs + through pgbouncer. + + + + + + + Avoid false too many client connections errors + in pgbench on Windows (Noah Misch) + + + + + + + Fix vacuumdb's handling of + multiple switches (Nathan Bossart, Kuwamura + Masaki) + + + + Multiple switches should exclude tables + in multiple schemas, but in fact excluded nothing due to faulty + construction of a generated query. + + + + + + + Fix vacuumdb to honor + its option in analyze-only + mode (Ryoga Yoshida, David Rowley) + + + + + + + In contrib/amcheck, do not report interrupted + page deletion as corruption (Noah Misch) + + + + This fix prevents false-positive reports of the first child + of leftmost target page is not leftmost of its + level, block NNNN is not leftmost + or left link/right link pair in index XXXX not in + agreement. They appeared + if amcheck ran after an unfinished btree + index page deletion and before VACUUM had cleaned + things up. + + + + + + + Fix failure of contrib/btree_gin indexes + on interval columns, + when an indexscan using the < + or <= operator is performed (Dean Rasheed) + + + + Such an indexscan failed to return all the entries it should. + + + + + + + Add support for LLVM 16 and 17 (Thomas Munro, Dmitry Dolgov) + + + + + + + Suppress assorted build-time warnings on + recent macOS (Tom Lane) + + + + Xcode 15 (released + with macOS Sonoma) changed the linker's + behavior in a way that causes many duplicate-library warnings while + building PostgreSQL. These were + harmless, but they're annoying so avoid citing the same libraries + twice. Also remove use of the linker switch, which apparently has been a no-op + for a long time, and is now actively complained of. + + + + + + + When building contrib/unaccent's rules file, + fall back to using python + if --with-python was not given and make + variable PYTHON was not set (Japin Li) + + + + + + + Remove PHOT (Phoenix Islands Time) from the + default timezone abbreviations list (Tom Lane) + + + + Presence of this abbreviation in the default list can cause failures + on recent Debian and Ubuntu releases, as they no longer install the + underlying tzdb entry by default. Since this is a made-up + abbreviation for a zone with a total human population of about two + dozen, it seems unlikely that anyone will miss it. If someone does, + they can put it back via a custom abbreviations file. + + + + + + + + Release 16 @@ -1328,7 +2884,7 @@ Author: Fujii Masao @@ -2226,7 +3782,7 @@ Author: John Naylor @@ -2743,7 +4299,7 @@ Author: Tom Lane Author: Michael Paquier 2022-08-15 [f6c750d31] Improve tab completion of ALTER TYPE in psql Author: Michael Paquier -2022-09-06 [4cbe57974] Add psql tab compression for SET COMPRESSION with ALTER +2022-09-06 [4cbe57974] Add psql tab compression for SET COMPRESSION with ALTER Author: Michael Paquier 2022-09-10 [6afcab6ac] Add psql tab compression for ALTER TABLE .. { OF | NOT O Author: Michael Paquier @@ -2954,7 +4510,7 @@ Author: Tom Lane @@ -3512,7 +5068,7 @@ Author: Michael Paquier @@ -3547,7 +5103,7 @@ Author: Andrew Dunstan From a7214333c573ba518858c910bf767855c2f15267 Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Fri, 3 Nov 2023 11:46:52 -0700 Subject: [PATCH 301/317] meson: docs: Install all manpages, not just ones in man1 In f13eb16485f I made a mistake leading to only man1 being installed. I will report a bug suggesting that meson warn about mistakes of this sort. Reported-by: Christoph Berg Discussion: https://postgr.es/m/ZUU5pRQO6ZUeBsi6@msg.df7cb.de Backpatch: 16-, where the meson build was introduced --- doc/src/sgml/meson.build | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/src/sgml/meson.build b/doc/src/sgml/meson.build index c6d77b5a150..4fcce2f6546 100644 --- a/doc/src/sgml/meson.build +++ b/doc/src/sgml/meson.build @@ -213,9 +213,10 @@ if docs_dep.found() install_doc_man = custom_target('install-man', output: 'install-man', + input: man, command: [ python, install_files, '--prefix', dir_prefix, - '--install-dirs', dir_man, man], + '--install-dirs', dir_man, '@INPUT@'], build_always_stale: true, build_by_default: false, ) alias_target('install-doc-man', install_doc_man) From dfdf3f6927ef39f37d1f029d341dc2f9f6336b7d Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 5 Nov 2023 13:14:07 -0500 Subject: [PATCH 302/317] Release notes for 16.1, 15.5, 14.10, 13.13, 12.17, 11.22. --- doc/src/sgml/release-16.sgml | 297 ----------------------------------- 1 file changed, 297 deletions(-) diff --git a/doc/src/sgml/release-16.sgml b/doc/src/sgml/release-16.sgml index cc04f83bd28..c8f8e1e2c9a 100644 --- a/doc/src/sgml/release-16.sgml +++ b/doc/src/sgml/release-16.sgml @@ -398,23 +398,6 @@ Branch: REL_11_STABLE [bae063db4] 2023-10-30 14:46:09 -0700 - - Fix pg_stat_reset_single_table_counters() to do - the right thing for a shared catalog (Masahiro Ikeda) - - - - Previously the reset would be ineffective. - - - - - - - Fix incorrect coding in gtsvector_picksplit() - (Alexander Lakhin) - - - - This could lead to poor page-split decisions in GiST indexes - on tsvector columns. - - - - - - - Fix COMMIT AND CHAIN/ROLLBACK AND - CHAIN to work properly when there is an unreleased - savepoint (Liu Xiang, Tom Lane) - - - - Instead of propagating the current transaction's properties to the - new transaction, they propagated some previous transaction's - properties. - - - - - - - Avoid record type has not been registered failure - when deparsing a view that contains references to fields of - composite constants (Tom Lane) - - - - - - - Allow extracting fields from - a RECORD-type ROW() expression - (Tom Lane) - - - - SQL code that knows that we name such - fields f1, f2, etc can use - those names to extract fields from the expression. This change was - originally made in version 13, and is now being back-patched into - older branches to support tests for a related bug. - - - - - - - Fix assertion failure when logical decoding is retried in the same - session after an error (Hou Zhijie) - - - - - - - Ensure that standby-mode WAL recovery reports an error when an - invalid page header is found (Yugo Nagata, Kyotaro Horiguchi) - - - - - - - Fix race condition in database dropping that could lead to the - autovacuum launcher getting stuck (Andres Freund, Will Mortensen, - Jacob Speidel) - - - - The race could lead to a statistics entry for the removed database - remaining present, confusing the launcher's selection of which - database to process. - - - - - - - Fix datatype size confusion in logical tape management - (Ranier Vilela) - - - - Integer overflow was possible on platforms where long is wider than - int, although it would take a multiple-terabyte temporary file to - cause a problem. - - - - - - - Avoid unintended close of syslogger process's stdin - (Heikki Linnakangas) - - - - - - - Avoid doing plan cache revalidation of utility statements - that do not receive interesting processing during parse analysis - (Tom Lane) - - - - Aside from saving a few cycles, this prevents failure after a cache - invalidation for statements that must not set a snapshot, such - as SET TRANSACTION ISOLATION LEVEL. - - - - - - - Keep by-reference attmissingval values in - a long-lived context while they are being used (Andrew Dunstan) - - - - This avoids possible use of dangling pointers when a tuple slot - outlives the tuple descriptor with which its value was constructed. - - - - - - - Recalculate the effective value of search_path - after ALTER ROLE (Jeff Davis) - - - - This ensures that after renaming a role, the meaning of the special - string $user is re-determined. - - - - - - - Fix assertion failure in pg_dump when - it's asked to dump the pg_catalog schema (Peter - Eisentraut) - - - - - - - Avoid generating invalid temporary slot names - in pg_basebackup (Jelte Fennema) - - - - This has only been seen to occur when the server connection runs - through pgbouncer. - - - - - + + Fix handling of unknown-type arguments + in DISTINCT "any" aggregate + functions (Tom Lane) + + + + This error led to a text-type value being interpreted + as an unknown-type value (that is, a zero-terminated + string) at runtime. This could result in disclosure of server + memory following the text value. + + + + The PostgreSQL Project thanks Jingzhou Fu + for reporting this problem. + (CVE-2023-5868) + + + + + + + Detect integer overflow while computing new array dimensions + (Tom Lane) + + + + When assigning new elements to array subscripts that are outside the + current array bounds, an undetected integer overflow could occur in + edge cases. Memory stomps that are potentially exploitable for + arbitrary code execution are possible, and so is disclosure of + server memory. + + + + The PostgreSQL Project thanks Pedro + Gallegos for reporting this problem. + (CVE-2023-5869) + + + + + + + Prevent the pg_signal_backend role from + signalling background workers and autovacuum processes + (Noah Misch, Jelte Fennema-Nio) + + + + The documentation says that pg_signal_backend + cannot issue signals to superuser-owned processes. It was able to + signal these background processes, though, because they advertise a + role OID of zero. Treat that as indicating superuser ownership. + The security implications of cancelling one of these process types + are fairly small so far as the core code goes (we'll just start + another one), but extensions might add background workers that are + more vulnerable. + + + + Also ensure that the is_superuser parameter is + set correctly in such processes. No specific security consequences + are known for that oversight, but it might be significant for some + extensions. + + + + The PostgreSQL Project thanks + Hemanth Sandrana and Mahendrakar Srinivasarao + for reporting this problem. + (CVE-2023-5870) + + + + +