Compare commits

..

7 Commits

Author SHA1 Message Date
Tom Lane
fd851f9e4a Stamp 11.22. 2023-11-06 17:13:58 -05:00
Tom Lane
3dbb3dd2d6 Last-minute updates for release notes.
Security: CVE-2023-5868, CVE-2023-5869, CVE-2023-5870
2023-11-06 13:26:33 -05:00
Tom Lane
c48008f599 Detect integer overflow while computing new array dimensions.
array_set_element() and related functions allow an array to be
enlarged by assigning to subscripts outside the current array bounds.
While these places were careful to check that the new bounds are
allowable, they neglected to consider the risk of integer overflow
in computing the new bounds.  In edge cases, we could compute new
bounds that are invalid but get past the subsequent checks,
allowing bad things to happen.  Memory stomps that are potentially
exploitable for arbitrary code execution are possible, and so is
disclosure of server memory.

To fix, perform the hazardous computations using overflow-detecting
arithmetic routines, which fortunately exist in all still-supported
branches.

The test cases added for this generate (after patching) errors that
mention the value of MaxArraySize, which is platform-dependent.
Rather than introduce multiple expected-files, use psql's VERBOSITY
parameter to suppress the printing of the message text.  v11 psql
lacks that parameter, so omit the tests in that branch.

Our thanks to Pedro Gallegos for reporting this problem.

Security: CVE-2023-5869
2023-11-06 10:56:43 -05:00
Tom Lane
8c6633f4de Compute aggregate argument types correctly in transformAggregateCall().
transformAggregateCall() captures the datatypes of the aggregate's
arguments immediately to construct the Aggref.aggargtypes list.
This seems reasonable because the arguments have already been
transformed --- but there is an edge case where they haven't been.
Specifically, if we have an unknown-type literal in an ANY argument
position, nothing will have been done with it earlier.  But if we
also have DISTINCT, then addTargetToGroupList() converts the literal
to "text" type, resulting in the aggargtypes list not matching the
actual runtime type of the argument.  The end result is that the
aggregate tries to interpret a "text" value as being of type
"unknown", that is a zero-terminated C string.  If the text value
contains no zero bytes, this could result in disclosure of server
memory following the text literal value.

To fix, move the collection of the aggargtypes list to the end
of transformAggregateCall(), after DISTINCT has been handled.
This requires slightly more code, but not a great deal.

Our thanks to Jingzhou Fu for reporting this problem.

Security: CVE-2023-5868
2023-11-06 10:38:00 -05:00
Noah Misch
a27be40c1b Set GUC "is_superuser" in all processes that set AuthenticatedUserId.
It was always false in single-user mode, in autovacuum workers, and in
background workers.  This had no specifically-identified security
consequences, but non-core code or future work might make it
security-relevant.  Back-patch to v11 (all supported versions).

Jelte Fennema-Nio.  Reported by Jelte Fennema-Nio.
2023-11-06 06:14:18 -08:00
Noah Misch
e082734c8e Ban role pg_signal_backend from more superuser backend types.
Documentation says it cannot signal "a backend owned by a superuser".
On the contrary, it could signal background workers, including the
logical replication launcher.  It could signal autovacuum workers and
the autovacuum launcher.  Block all that.  Signaling autovacuum workers
and those two launchers doesn't stall progress beyond what one could
achieve other ways.  If a cluster uses a non-core extension with a
background worker that does not auto-restart, this could create a denial
of service with respect to that background worker.  A background worker
with bugs in its code for responding to terminations or cancellations
could experience those bugs at a time the pg_signal_backend member
chooses.  Back-patch to v11 (all supported versions).

Reviewed by Jelte Fennema-Nio.  Reported by Hemanth Sandrana and
Mahendrakar Srinivasarao.

Security: CVE-2023-5870
2023-11-06 06:14:18 -08:00
Peter Eisentraut
b29af71cd9 Translation updates
Source-Git-URL: https://git.postgresql.org/git/pgtranslation/messages.git
Source-Git-Hash: 8174b9117de39641851e8c8f8f8cd300487a6f70
2023-11-06 13:29:04 +01:00
46 changed files with 3901 additions and 3548 deletions

18
configure vendored
View File

@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for PostgreSQL 11.21.
# Generated by GNU Autoconf 2.69 for PostgreSQL 11.22.
#
# Report bugs to <pgsql-bugs@postgresql.org>.
#
@ -582,8 +582,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='PostgreSQL'
PACKAGE_TARNAME='postgresql'
PACKAGE_VERSION='11.21'
PACKAGE_STRING='PostgreSQL 11.21'
PACKAGE_VERSION='11.22'
PACKAGE_STRING='PostgreSQL 11.22'
PACKAGE_BUGREPORT='pgsql-bugs@postgresql.org'
PACKAGE_URL=''
@ -1436,7 +1436,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 11.21 to adapt to many kinds of systems.
\`configure' configures PostgreSQL 11.22 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1501,7 +1501,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of PostgreSQL 11.21:";;
short | recursive ) echo "Configuration of PostgreSQL 11.22:";;
esac
cat <<\_ACEOF
@ -1666,7 +1666,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
PostgreSQL configure 11.21
PostgreSQL configure 11.22
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@ -2419,7 +2419,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 11.21, which was
It was created by PostgreSQL $as_me 11.22, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@ -19923,7 +19923,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 11.21, which was
This file was extended by PostgreSQL $as_me 11.22, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@ -19993,7 +19993,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 11.21
PostgreSQL config.status 11.22
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"

View File

@ -17,7 +17,7 @@ dnl Read the Autoconf manual for details.
dnl
m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
AC_INIT([PostgreSQL], [11.21], [pgsql-bugs@postgresql.org])
AC_INIT([PostgreSQL], [11.22], [pgsql-bugs@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

View File

@ -27,7 +27,7 @@ System Configuration:
Operating System (example: Linux 2.4.18) :
PostgreSQL version (example: PostgreSQL 11.21): PostgreSQL 11.21
PostgreSQL version (example: PostgreSQL 11.22): PostgreSQL 11.22
Compiler used (example: gcc 3.3.5) :

View File

@ -41,6 +41,119 @@
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [3b0776fde] 2023-11-06 10:38:00 -0500
Branch: REL_16_STABLE [d3d1e2509] 2023-11-06 10:38:00 -0500
Branch: REL_15_STABLE [4f4a422fb] 2023-11-06 10:38:00 -0500
Branch: REL_14_STABLE [9146d0d65] 2023-11-06 10:38:00 -0500
Branch: REL_13_STABLE [d3de70fdb] 2023-11-06 10:38:00 -0500
Branch: REL_12_STABLE [e911afd09] 2023-11-06 10:38:00 -0500
Branch: REL_11_STABLE [8c6633f4d] 2023-11-06 10:38:00 -0500
-->
<para>
Fix handling of unknown-type arguments
in <literal>DISTINCT</literal> <type>"any"</type> aggregate
functions (Tom Lane)
</para>
<para>
This error led to a <type>text</type>-type value being interpreted
as an <type>unknown</type>-type value (that is, a zero-terminated
string) at runtime. This could result in disclosure of server
memory following the <type>text</type> value.
</para>
<para>
The <productname>PostgreSQL</productname> Project thanks Jingzhou Fu
for reporting this problem.
(CVE-2023-5868)
</para>
</listitem>
<listitem>
<!--
Author: Tom Lane <tgl@sss.pgh.pa.us>
Branch: master [18b585155] 2023-11-06 10:56:43 -0500
Branch: REL_16_STABLE [e24daa94b] 2023-11-06 10:56:43 -0500
Branch: REL_15_STABLE [3bc6bc3ee] 2023-11-06 10:56:43 -0500
Branch: REL_14_STABLE [edc0a8d82] 2023-11-06 10:56:43 -0500
Branch: REL_13_STABLE [26c599beb] 2023-11-06 10:56:43 -0500
Branch: REL_12_STABLE [d267cea24] 2023-11-06 10:56:43 -0500
Branch: REL_11_STABLE [c48008f59] 2023-11-06 10:56:43 -0500
-->
<para>
Detect integer overflow while computing new array dimensions
(Tom Lane)
</para>
<para>
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.
</para>
<para>
The <productname>PostgreSQL</productname> Project thanks Pedro
Gallegos for reporting this problem.
(CVE-2023-5869)
</para>
</listitem>
<listitem>
<!--
Author: Noah Misch <noah@leadboat.com>
Branch: master [3a9b18b30] 2023-11-06 06:14:13 -0800
Branch: REL_16_STABLE [785412731] 2023-11-06 06:14:16 -0800
Branch: REL_15_STABLE [595c988c9] 2023-11-06 06:14:16 -0800
Branch: REL_14_STABLE [508acb901] 2023-11-06 06:14:17 -0800
Branch: REL_13_STABLE [28b609550] 2023-11-06 06:14:17 -0800
Branch: REL_12_STABLE [2893f2f40] 2023-11-06 06:14:17 -0800
Branch: REL_11_STABLE [e082734c8] 2023-11-06 06:14:18 -0800
Author: Noah Misch <noah@leadboat.com>
Branch: master [b72de09a1] 2023-11-06 06:14:13 -0800
Branch: REL_16_STABLE [2c3c5ec49] 2023-11-06 06:14:16 -0800
Branch: REL_15_STABLE [fbc371909] 2023-11-06 06:14:16 -0800
Branch: REL_14_STABLE [ecd5d240c] 2023-11-06 06:14:17 -0800
Branch: REL_13_STABLE [2c7a2a00a] 2023-11-06 06:14:17 -0800
Branch: REL_12_STABLE [7bbf4d037] 2023-11-06 06:14:17 -0800
Branch: REL_11_STABLE [a27be40c1] 2023-11-06 06:14:18 -0800
-->
<para>
Prevent the <literal>pg_signal_backend</literal> role from
signalling background workers and autovacuum processes
(Noah Misch, Jelte Fennema-Nio)
</para>
<para>
The documentation says that <literal>pg_signal_backend</literal>
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.
</para>
<para>
Also ensure that the <varname>is_superuser</varname> parameter is
set correctly in such processes. No specific security consequences
are known for that oversight, but it might be significant for some
extensions.
</para>
<para>
The <productname>PostgreSQL</productname> Project thanks
Hemanth Sandrana and Mahendrakar Srinivasarao
for reporting this problem.
(CVE-2023-5870)
</para>
</listitem>
<listitem>
<!--
Author: David Rowley <drowley@postgresql.org>
Branch: master [d9e46dfb7] 2023-10-13 01:12:31 +1300
Branch: REL_16_STABLE [595db9e9c] 2023-10-13 01:13:07 +1300

View File

@ -111,18 +111,6 @@ transformAggregateCall(ParseState *pstate, Aggref *agg,
int save_next_resno;
ListCell *lc;
/*
* Before separating the args into direct and aggregated args, make a list
* of their data type OIDs for use later.
*/
foreach(lc, args)
{
Expr *arg = (Expr *) lfirst(lc);
argtypes = lappend_oid(argtypes, exprType((Node *) arg));
}
agg->aggargtypes = argtypes;
if (AGGKIND_IS_ORDERED_SET(agg->aggkind))
{
/*
@ -234,6 +222,29 @@ transformAggregateCall(ParseState *pstate, Aggref *agg,
agg->aggorder = torder;
agg->aggdistinct = tdistinct;
/*
* Now build the aggargtypes list with the type OIDs of the direct and
* aggregated args, ignoring any resjunk entries that might have been
* added by ORDER BY/DISTINCT processing. We can't do this earlier
* because said processing can modify some args' data types, in particular
* by resolving previously-unresolved "unknown" literals.
*/
foreach(lc, agg->aggdirectargs)
{
Expr *arg = (Expr *) lfirst(lc);
argtypes = lappend_oid(argtypes, exprType((Node *) arg));
}
foreach(lc, tlist)
{
TargetEntry *tle = (TargetEntry *) lfirst(lc);
if (tle->resjunk)
continue; /* ignore junk */
argtypes = lappend_oid(argtypes, exprType((Node *) tle->expr));
}
agg->aggargtypes = argtypes;
check_agglevels_and_constraints(pstate, (Node *) agg);
}

File diff suppressed because it is too large Load Diff

View File

@ -21247,7 +21247,7 @@ msgstr "OID está fuera de rango"
#: utils/adt/json.c:794
#, 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."
#: utils/adt/json.c:835
#, c-format

File diff suppressed because it is too large Load Diff

View File

@ -12,8 +12,8 @@ msgid ""
msgstr ""
"Project-Id-Version: postgres (PostgreSQL 11)\n"
"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
"POT-Creation-Date: 2023-07-18 14:21+0900\n"
"PO-Revision-Date: 2023-07-18 14:47+0900\n"
"POT-Creation-Date: 2023-09-20 09:17+0900\n"
"PO-Revision-Date: 2023-09-20 09:31+0900\n"
"Last-Translator: Kyotaro Horiguchi <horikyota.ntt@gmail.com>\n"
"Language-Team: jpug-doc <jpug-doc@ml.postgresql.jp>\n"
"Language: ja\n"
@ -27,7 +27,7 @@ msgstr ""
msgid "not recorded"
msgstr "記録されていません"
#: ../common/controldata_utils.c:58 commands/copy.c:3200 commands/extension.c:3355 utils/adt/genfile.c:122
#: ../common/controldata_utils.c:58 commands/copy.c:3200 commands/extension.c:3371 utils/adt/genfile.c:122
#, c-format
msgid "could not open file \"%s\" for reading: %m"
msgstr "ファイル\"%s\"を読み取り用にオープンできませんでした: %m"
@ -38,7 +38,7 @@ msgid "%s: could not open file \"%s\" for reading: %s\n"
msgstr "%s: ファイル\"%s\"を読み取り用にオープンできませんでした: %s\n"
#: ../common/controldata_utils.c:75 access/transam/timeline.c:142 access/transam/timeline.c:361 access/transam/xlog.c:3471 access/transam/xlog.c:11305 access/transam/xlog.c:11318 access/transam/xlog.c:11771 access/transam/xlog.c:11851 access/transam/xlog.c:11890 access/transam/xlog.c:11933 access/transam/xlogfuncs.c:645 access/transam/xlogfuncs.c:664
#: commands/extension.c:3365 libpq/hba.c:499 replication/logical/origin.c:725 replication/logical/origin.c:755 replication/logical/reorderbuffer.c:3365 replication/walsender.c:515 storage/file/buffile.c:452 storage/file/copydir.c:195 utils/adt/genfile.c:197 utils/adt/misc.c:984
#: commands/extension.c:3381 libpq/hba.c:499 replication/logical/origin.c:725 replication/logical/origin.c:755 replication/logical/reorderbuffer.c:3365 replication/walsender.c:515 storage/file/buffile.c:452 storage/file/copydir.c:195 utils/adt/genfile.c:197 utils/adt/misc.c:984
#, c-format
msgid "could not read file \"%s\": %m"
msgstr "ファイル\"%s\"の読み取りに失敗しました: %m"
@ -446,7 +446,7 @@ msgstr "アクセスメソッド\"%2$s\"の演算子クラス\"%1$s\"は演算
msgid "operator class \"%s\" of access method %s is missing support function %d"
msgstr "アクセスメソッド\"%2$s\"の演算子クラス\"%1$s\"はサポート関数%3$dを含んでいません"
#: access/common/heaptuple.c:1080 access/common/heaptuple.c:1796
#: access/common/heaptuple.c:1170 access/common/heaptuple.c:1886
#, c-format
msgid "number of columns (%d) exceeds limit (%d)"
msgstr "列数(%d)が上限(%d)を超えています"
@ -751,7 +751,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:979 access/heap/rewriteheap.c:1200 access/heap/rewriteheap.c:1300 access/transam/timeline.c:427 access/transam/timeline.c:506 access/transam/xlog.c:3335 access/transam/xlog.c:3504 replication/logical/snapbuild.c:1770 replication/slot.c:1325 replication/slot.c:1421 storage/file/fd.c:660 storage/file/fd.c:3566 storage/smgr/md.c:1081
#: access/heap/rewriteheap.c:979 access/heap/rewriteheap.c:1200 access/heap/rewriteheap.c:1300 access/transam/timeline.c:427 access/transam/timeline.c:506 access/transam/xlog.c:3335 access/transam/xlog.c:3504 replication/logical/snapbuild.c:1782 replication/slot.c:1325 replication/slot.c:1421 storage/file/fd.c:660 storage/file/fd.c:3566 storage/smgr/md.c:1081
#: storage/smgr/md.c:1326 storage/smgr/md.c:1512 utils/misc/guc.c:7308
#, c-format
msgid "could not fsync file \"%s\": %m"
@ -774,19 +774,19 @@ msgid "could not seek to end of file \"%s\": %m"
msgstr "ファイル \"%s\" の終端へシークできませんでした: %m"
#: access/heap/rewriteheap.c:1187 access/transam/timeline.c:383 access/transam/timeline.c:419 access/transam/timeline.c:498 access/transam/xlog.c:3321 access/transam/xlog.c:3495 postmaster/postmaster.c:4532 postmaster/postmaster.c:4542 replication/logical/origin.c:596 replication/logical/origin.c:641 replication/logical/origin.c:663
#: replication/logical/snapbuild.c:1746 replication/slot.c:1307 storage/file/buffile.c:525 storage/file/copydir.c:208 utils/init/miscinit.c:1351 utils/init/miscinit.c:1362 utils/init/miscinit.c:1370 utils/misc/guc.c:7269 utils/misc/guc.c:7300 utils/misc/guc.c:9169 utils/misc/guc.c:9183 utils/time/snapmgr.c:1319 utils/time/snapmgr.c:1326
#: replication/logical/snapbuild.c:1758 replication/slot.c:1307 storage/file/buffile.c:525 storage/file/copydir.c:208 utils/init/miscinit.c:1351 utils/init/miscinit.c:1362 utils/init/miscinit.c:1370 utils/misc/guc.c:7269 utils/misc/guc.c:7300 utils/misc/guc.c:9169 utils/misc/guc.c:9183 utils/time/snapmgr.c:1319 utils/time/snapmgr.c:1326
#, c-format
msgid "could not write to file \"%s\": %m"
msgstr "ファイル\"%s\"を書き出せませんでした: %m"
#: access/heap/rewriteheap.c:1274 access/transam/xlogarchive.c:112 access/transam/xlogarchive.c:459 postmaster/postmaster.c:1297 postmaster/syslogger.c:1459 replication/logical/origin.c:569 replication/logical/reorderbuffer.c:2867 replication/logical/snapbuild.c:1688 replication/logical/snapbuild.c:2093 replication/slot.c:1391 storage/file/fd.c:711
#: access/heap/rewriteheap.c:1274 access/transam/xlogarchive.c:112 access/transam/xlogarchive.c:459 postmaster/postmaster.c:1297 postmaster/syslogger.c:1459 replication/logical/origin.c:569 replication/logical/reorderbuffer.c:2867 replication/logical/snapbuild.c:1700 replication/logical/snapbuild.c:2105 replication/slot.c:1391 storage/file/fd.c:711
#: storage/file/fd.c:3166 storage/file/fd.c:3228 storage/file/reinit.c:255 storage/ipc/dsm.c:310 storage/smgr/md.c:475 storage/smgr/md.c:519 storage/smgr/md.c:1459 utils/time/snapmgr.c:1657
#, c-format
msgid "could not remove file \"%s\": %m"
msgstr "ファイル\"%s\"を削除できませんでした: %m"
#: access/heap/rewriteheap.c:1289 access/transam/timeline.c:110 access/transam/timeline.c:250 access/transam/timeline.c:347 access/transam/xlog.c:3266 access/transam/xlog.c:3384 access/transam/xlog.c:3428 access/transam/xlog.c:3705 access/transam/xlog.c:3808 access/transam/xlogutils.c:708 postmaster/syslogger.c:1482 replication/basebackup.c:531
#: replication/basebackup.c:1424 replication/logical/origin.c:718 replication/logical/reorderbuffer.c:2348 replication/logical/reorderbuffer.c:2628 replication/logical/reorderbuffer.c:3345 replication/logical/snapbuild.c:1732 replication/logical/snapbuild.c:1835 replication/slot.c:1406 replication/walsender.c:488 replication/walsender.c:2450
#: replication/basebackup.c:1424 replication/logical/origin.c:718 replication/logical/reorderbuffer.c:2348 replication/logical/reorderbuffer.c:2628 replication/logical/reorderbuffer.c:3345 replication/logical/snapbuild.c:1744 replication/logical/snapbuild.c:1847 replication/slot.c:1406 replication/walsender.c:488 replication/walsender.c:2450
#: storage/file/copydir.c:161 storage/file/fd.c:643 storage/file/fd.c:3461 storage/file/fd.c:3545 storage/smgr/md.c:653 utils/error/elog.c:1872 utils/init/miscinit.c:1275 utils/init/miscinit.c:1410 utils/init/miscinit.c:1487 utils/misc/guc.c:7525 utils/misc/guc.c:7557
#, c-format
msgid "could not open file \"%s\": %m"
@ -2146,8 +2146,8 @@ msgstr "WALが一貫性があるリカバリポイントより前で終了しま
msgid "selected new timeline ID: %u"
msgstr "新しいタイムラインIDを選択: %u"
#: access/transam/xlog.c:8112 access/transam/xlog.c:10924 access/transam/xlog.c:11040 access/transam/xlog.c:11078 access/transam/xlog.c:11293 access/transam/xlogarchive.c:104 access/transam/xlogarchive.c:264 commands/copy.c:1893 commands/copy.c:3210 commands/extension.c:3344 commands/tablespace.c:793 commands/tablespace.c:884 guc-file.l:1064
#: replication/basebackup.c:537 replication/basebackup.c:609 replication/logical/snapbuild.c:1646 storage/file/copydir.c:68 storage/file/copydir.c:107 storage/file/fd.c:1760 storage/file/fd.c:3146 storage/file/fd.c:3328 storage/file/fd.c:3413 utils/adt/dbsize.c:70 utils/adt/dbsize.c:222 utils/adt/dbsize.c:302 utils/adt/genfile.c:411 utils/adt/genfile.c:626
#: access/transam/xlog.c:8112 access/transam/xlog.c:10924 access/transam/xlog.c:11040 access/transam/xlog.c:11078 access/transam/xlog.c:11293 access/transam/xlogarchive.c:104 access/transam/xlogarchive.c:264 commands/copy.c:1893 commands/copy.c:3210 commands/extension.c:3360 commands/tablespace.c:793 commands/tablespace.c:884 guc-file.l:1064
#: replication/basebackup.c:537 replication/basebackup.c:609 replication/logical/snapbuild.c:1658 storage/file/copydir.c:68 storage/file/copydir.c:107 storage/file/fd.c:1760 storage/file/fd.c:3146 storage/file/fd.c:3328 storage/file/fd.c:3413 utils/adt/dbsize.c:70 utils/adt/dbsize.c:222 utils/adt/dbsize.c:302 utils/adt/genfile.c:411 utils/adt/genfile.c:626
#: utils/adt/misc.c:545
#, c-format
msgid "could not stat file \"%s\": %m"
@ -2537,7 +2537,7 @@ msgstr "ファイル\"%s\"をアーカイブからリストアできませんで
msgid "%s \"%s\": %s"
msgstr "%s \"%s\": %s"
#: access/transam/xlogarchive.c:449 postmaster/syslogger.c:1517 replication/logical/snapbuild.c:1785 replication/slot.c:598 replication/slot.c:1211 replication/slot.c:1342 storage/file/fd.c:671 storage/file/fd.c:769 utils/time/snapmgr.c:1335
#: access/transam/xlogarchive.c:449 postmaster/syslogger.c:1517 replication/logical/snapbuild.c:1797 replication/slot.c:598 replication/slot.c:1211 replication/slot.c:1342 storage/file/fd.c:671 storage/file/fd.c:769 utils/time/snapmgr.c:1335
#, c-format
msgid "could not rename file \"%s\" to \"%s\": %m"
msgstr "ファイル\"%s\"の名前を\"%s\"に変更できませんでした: %m"
@ -2567,14 +2567,14 @@ msgstr "非排他バックアップが進行中です"
msgid "Did you mean to use pg_stop_backup('f')?"
msgstr "pg_stop_backup('f') を実行しようとしていたのではないですか?"
#: access/transam/xlogfuncs.c:183 commands/event_trigger.c:1464 commands/event_trigger.c:2022 commands/extension.c:1915 commands/extension.c:2024 commands/extension.c:2248 commands/prepare.c:726 executor/execExpr.c:2265 executor/execSRF.c:715 executor/functions.c:1049 foreign/foreign.c:488 libpq/hba.c:2614 replication/logical/launcher.c:1127
#: access/transam/xlogfuncs.c:183 commands/event_trigger.c:1464 commands/event_trigger.c:2022 commands/extension.c:1931 commands/extension.c:2040 commands/extension.c:2264 commands/prepare.c:726 executor/execExpr.c:2265 executor/execSRF.c:715 executor/functions.c:1049 foreign/foreign.c:488 libpq/hba.c:2614 replication/logical/launcher.c:1127
#: replication/logical/logicalfuncs.c:176 replication/logical/origin.c:1466 replication/slotfuncs.c:200 replication/walsender.c:3229 utils/adt/datetime.c:4782 utils/adt/genfile.c:500 utils/adt/genfile.c:580 utils/adt/jsonfuncs.c:1700 utils/adt/jsonfuncs.c:1831 utils/adt/jsonfuncs.c:2019 utils/adt/jsonfuncs.c:2146 utils/adt/jsonfuncs.c:3608
#: utils/adt/misc.c:410 utils/adt/pgstatfuncs.c:459 utils/adt/pgstatfuncs.c:560 utils/fmgr/funcapi.c:71 utils/misc/guc.c:8878 utils/mmgr/portalmem.c:1143
#, c-format
msgid "set-valued function called in context that cannot accept a set"
msgstr "このコンテキストで集合値の関数は集合を受け付けられません"
#: access/transam/xlogfuncs.c:187 commands/event_trigger.c:1468 commands/event_trigger.c:2026 commands/extension.c:1919 commands/extension.c:2028 commands/extension.c:2252 commands/prepare.c:730 foreign/foreign.c:493 libpq/hba.c:2618 replication/logical/launcher.c:1131 replication/logical/logicalfuncs.c:180 replication/logical/origin.c:1470
#: access/transam/xlogfuncs.c:187 commands/event_trigger.c:1468 commands/event_trigger.c:2026 commands/extension.c:1935 commands/extension.c:2044 commands/extension.c:2268 commands/prepare.c:730 foreign/foreign.c:493 libpq/hba.c:2618 replication/logical/launcher.c:1131 replication/logical/logicalfuncs.c:180 replication/logical/origin.c:1470
#: replication/slotfuncs.c:204 replication/walsender.c:3233 utils/adt/datetime.c:4786 utils/adt/genfile.c:504 utils/adt/genfile.c:584 utils/adt/misc.c:414 utils/adt/pgstatfuncs.c:463 utils/adt/pgstatfuncs.c:564 utils/misc/guc.c:8882 utils/misc/pg_config.c:43 utils/mmgr/portalmem.c:1147
#, c-format
msgid "materialize mode required, but it is not allowed in this context"
@ -2912,7 +2912,7 @@ msgstr "ラージオブジェクト%uは存在しません"
#: catalog/aclchk.c:932 catalog/aclchk.c:941 commands/collationcmds.c:113 commands/copy.c:1066 commands/copy.c:1086 commands/copy.c:1095 commands/copy.c:1104 commands/copy.c:1113 commands/copy.c:1122 commands/copy.c:1131 commands/copy.c:1140 commands/copy.c:1149 commands/copy.c:1167 commands/copy.c:1183 commands/copy.c:1203 commands/copy.c:1220
#: commands/dbcommands.c:156 commands/dbcommands.c:165 commands/dbcommands.c:174 commands/dbcommands.c:183 commands/dbcommands.c:192 commands/dbcommands.c:201 commands/dbcommands.c:210 commands/dbcommands.c:219 commands/dbcommands.c:228 commands/dbcommands.c:1455 commands/dbcommands.c:1464 commands/dbcommands.c:1473 commands/dbcommands.c:1482
#: commands/extension.c:1698 commands/extension.c:1708 commands/extension.c:1718 commands/extension.c:1728 commands/extension.c:2966 commands/foreigncmds.c:537 commands/foreigncmds.c:546 commands/functioncmds.c:561 commands/functioncmds.c:686 commands/functioncmds.c:695 commands/functioncmds.c:704 commands/functioncmds.c:713 commands/functioncmds.c:2108
#: commands/extension.c:1714 commands/extension.c:1724 commands/extension.c:1734 commands/extension.c:1744 commands/extension.c:2982 commands/foreigncmds.c:537 commands/foreigncmds.c:546 commands/functioncmds.c:561 commands/functioncmds.c:686 commands/functioncmds.c:695 commands/functioncmds.c:704 commands/functioncmds.c:713 commands/functioncmds.c:2108
#: commands/functioncmds.c:2116 commands/publicationcmds.c:92 commands/sequence.c:1263 commands/sequence.c:1273 commands/sequence.c:1283 commands/sequence.c:1293 commands/sequence.c:1303 commands/sequence.c:1313 commands/sequence.c:1323 commands/sequence.c:1333 commands/sequence.c:1343 commands/subscriptioncmds.c:111 commands/subscriptioncmds.c:121
#: commands/subscriptioncmds.c:131 commands/subscriptioncmds.c:141 commands/subscriptioncmds.c:157 commands/subscriptioncmds.c:168 commands/subscriptioncmds.c:182 commands/tablecmds.c:6533 commands/typecmds.c:295 commands/typecmds.c:1446 commands/typecmds.c:1455 commands/typecmds.c:1463 commands/typecmds.c:1471 commands/typecmds.c:1479 commands/user.c:134
#: commands/user.c:148 commands/user.c:157 commands/user.c:166 commands/user.c:175 commands/user.c:184 commands/user.c:193 commands/user.c:202 commands/user.c:211 commands/user.c:220 commands/user.c:229 commands/user.c:238 commands/user.c:247 commands/user.c:567 commands/user.c:575 commands/user.c:583 commands/user.c:591 commands/user.c:599
@ -2932,7 +2932,7 @@ msgid "cannot use IN SCHEMA clause when using GRANT/REVOKE ON SCHEMAS"
msgstr "GRANT/REVOKE ON SCHEMAS を使っている時には IN SCHEMA 句は指定できません"
#: catalog/aclchk.c:1579 catalog/objectaddress.c:1390 commands/analyze.c:433 commands/copy.c:4838 commands/sequence.c:1698 commands/tablecmds.c:6166 commands/tablecmds.c:6327 commands/tablecmds.c:6384 commands/tablecmds.c:6458 commands/tablecmds.c:6552 commands/tablecmds.c:6611 commands/tablecmds.c:6750 commands/tablecmds.c:6832 commands/tablecmds.c:6925
#: commands/tablecmds.c:7066 commands/tablecmds.c:9853 commands/tablecmds.c:10036 commands/tablecmds.c:10176 commands/tablecmds.c:10758 commands/trigger.c:913 parser/analyze.c:2336 parser/parse_relation.c:2784 parser/parse_relation.c:2847 parser/parse_target.c:1029 parser/parse_type.c:145 utils/adt/acl.c:2885 utils/adt/ruleutils.c:2473
#: commands/tablecmds.c:7066 commands/tablecmds.c:9853 commands/tablecmds.c:10036 commands/tablecmds.c:10176 commands/tablecmds.c:10758 commands/trigger.c:913 parser/analyze.c:2373 parser/parse_relation.c:2784 parser/parse_relation.c:2847 parser/parse_target.c:1029 parser/parse_type.c:145 utils/adt/acl.c:2885 utils/adt/ruleutils.c:2473
#, c-format
msgid "column \"%s\" of relation \"%s\" does not exist"
msgstr "リレーション\"%2$s\"の列\"%1$s\"は存在しません"
@ -3367,7 +3367,7 @@ msgstr "OID %uの外部データラッパーは存在しません"
msgid "foreign server with OID %u does not exist"
msgstr "OID %uの外部サーバは存在しません"
#: catalog/aclchk.c:4454 catalog/aclchk.c:4793 utils/cache/typcache.c:368
#: catalog/aclchk.c:4454 catalog/aclchk.c:4793 utils/cache/typcache.c:373
#, c-format
msgid "type with OID %u does not exist"
msgstr "OID %uの型は存在しません"
@ -3747,7 +3747,7 @@ msgstr "リレーション\"%s.%s\"は存在しません"
msgid "relation \"%s\" does not exist"
msgstr "リレーション\"%s\"は存在しません"
#: catalog/namespace.c:492 catalog/namespace.c:3022 commands/extension.c:1479 commands/extension.c:1485
#: catalog/namespace.c:492 catalog/namespace.c:3022 commands/extension.c:1495 commands/extension.c:1501
#, c-format
msgid "no schema has been selected to create in"
msgstr "作成先のスキーマが選択されていません"
@ -4470,12 +4470,12 @@ msgstr "変換\"%s\"はすでに存在します"
msgid "default conversion for %s to %s already exists"
msgstr "%sから%sへのデフォルトの変換はすでに存在します"
#: catalog/pg_depend.c:177 commands/extension.c:3243
#: catalog/pg_depend.c:177 commands/extension.c:3259
#, c-format
msgid "%s is already a member of extension \"%s\""
msgstr "%s はすでに機能拡張 \"%s\" のメンバです"
#: catalog/pg_depend.c:184 catalog/pg_depend.c:235 commands/extension.c:3283
#: catalog/pg_depend.c:184 catalog/pg_depend.c:235 commands/extension.c:3299
#, c-format
msgid "%s is not a member of extension \"%s\""
msgstr "%s は機能拡張 \"%s\" のメンバではありません"
@ -6429,7 +6429,7 @@ msgstr "EXPLAIN オプションの BUFFERS には ANALYZE 指定が必要です"
msgid "EXPLAIN option TIMING requires ANALYZE"
msgstr "EXPLAINオプションのTIMINGにはANALYZE指定が必要です"
#: commands/extension.c:168 commands/extension.c:2924
#: commands/extension.c:168 commands/extension.c:2940
#, c-format
msgid "extension \"%s\" does not exist"
msgstr "機能拡張 \"%s\" は存在しません"
@ -6539,117 +6539,122 @@ msgstr "機能拡張 \"%s\" を更新する権限がありません"
msgid "Must be superuser to update this extension."
msgstr "この機能拡張を更新するにはスーパーユーザである必要があります。"
#: commands/extension.c:1110
#: commands/extension.c:934
#, c-format
msgid "invalid character in extension \"%s\" schema: must not contain any of \"%s\""
msgstr "機能拡張\"%s\"のスキーマ名に不正な文字: \"%s\"のいずれの文字も含むことはできません"
#: commands/extension.c:1126
#, c-format
msgid "extension \"%s\" has no update path from version \"%s\" to version \"%s\""
msgstr "機能拡張 \"%s\" について、バージョン \"%s\" からバージョン \"%s\" へのアップデートパスがありません"
#: commands/extension.c:1317 commands/extension.c:2985
#: commands/extension.c:1333 commands/extension.c:3001
#, c-format
msgid "version to install must be specified"
msgstr "インストールするバージョンを指定してください"
#: commands/extension.c:1339
#: commands/extension.c:1355
#, c-format
msgid "FROM version must be different from installation target version \"%s\""
msgstr "FROM のバージョンはターゲットのバージョン \"%s\" と異なっていなければなりません"
#: commands/extension.c:1404
#: commands/extension.c:1420
#, c-format
msgid "extension \"%s\" has no installation script nor update path for version \"%s\""
msgstr "機能拡張\"%s\"にはバージョン\"%s\"のインストールスクリプトもアップデートパスもありません"
#: commands/extension.c:1439
#: commands/extension.c:1455
#, c-format
msgid "extension \"%s\" must be installed in schema \"%s\""
msgstr "機能拡張\"%s\" はスキーマ \"%s\" 内にインストールされていなければなりません"
#: commands/extension.c:1599
#: commands/extension.c:1615
#, c-format
msgid "cyclic dependency detected between extensions \"%s\" and \"%s\""
msgstr "機能拡張\"%s\"と\"%s\"の間に循環依存関係が検出されました"
#: commands/extension.c:1604
#: commands/extension.c:1620
#, c-format
msgid "installing required extension \"%s\""
msgstr "必要な機能拡張をインストールします:\"%s\""
#: commands/extension.c:1628
#: commands/extension.c:1644
#, c-format
msgid "required extension \"%s\" is not installed"
msgstr "要求された機能拡張 \"%s\" はインストールされていません"
#: commands/extension.c:1631
#: commands/extension.c:1647
#, c-format
msgid "Use CREATE EXTENSION ... CASCADE to install required extensions too."
msgstr "必要な機能拡張を一緒にインストールするには CREATE EXTENSION ... CASCADE を使ってください。"
#: commands/extension.c:1668
#: commands/extension.c:1684
#, c-format
msgid "extension \"%s\" already exists, skipping"
msgstr "機能拡張 \"%s\" はすでに存在します、スキップします"
#: commands/extension.c:1675
#: commands/extension.c:1691
#, c-format
msgid "extension \"%s\" already exists"
msgstr "機能拡張 \"%s\" はすでに存在します"
#: commands/extension.c:1686
#: commands/extension.c:1702
#, c-format
msgid "nested CREATE EXTENSION is not supported"
msgstr "入れ子の CREATE EXTENSION はサポートされません"
#: commands/extension.c:1867
#: commands/extension.c:1883
#, c-format
msgid "cannot drop extension \"%s\" because it is being modified"
msgstr "変更されているため拡張\"%s\"を削除できません"
#: commands/extension.c:2369
#: commands/extension.c:2385
#, c-format
msgid "pg_extension_config_dump() can only be called from an SQL script executed by CREATE EXTENSION"
msgstr "pg_extension_config_dump()はCREATE EXTENSIONにより実行されるSQLスクリプトからのみ呼び出すことができます"
#: commands/extension.c:2381
#: commands/extension.c:2397
#, c-format
msgid "OID %u does not refer to a table"
msgstr "OID %u がテーブルを参照していません"
#: commands/extension.c:2386
#: commands/extension.c:2402
#, c-format
msgid "table \"%s\" is not a member of the extension being created"
msgstr "テーブル \"%s\" は生成されようとしている機能拡張のメンバではありません"
#: commands/extension.c:2742
#: commands/extension.c:2758
#, c-format
msgid "cannot move extension \"%s\" into schema \"%s\" because the extension contains the schema"
msgstr "機能拡張がそのスキーマを含んでいるため、機能拡張\"%s\"をスキーマ\"%s\"に移動できません"
#: commands/extension.c:2783 commands/extension.c:2843
#: commands/extension.c:2799 commands/extension.c:2859
#, c-format
msgid "extension \"%s\" does not support SET SCHEMA"
msgstr "機能拡張 \"%s\" は SET SCHEMAをサポートしていません"
#: commands/extension.c:2845
#: commands/extension.c:2861
#, c-format
msgid "%s is not in the extension's schema \"%s\""
msgstr "機能拡張のスキーマ \"%2$s\" に %1$s が見つかりません"
#: commands/extension.c:2904
#: commands/extension.c:2920
#, c-format
msgid "nested ALTER EXTENSION is not supported"
msgstr "入れ子になった ALTER EXTENSION はサポートされていません"
#: commands/extension.c:2996
#: commands/extension.c:3012
#, c-format
msgid "version \"%s\" of extension \"%s\" is already installed"
msgstr "機能拡張 \"%2$s\" のバージョン \"%1$s\" はすでにインストールされています"
#: commands/extension.c:3255
#: commands/extension.c:3271
#, c-format
msgid "cannot add schema \"%s\" to extension \"%s\" because the schema contains the extension"
msgstr "スキーマ\"%s\"を拡張\"%s\"に追加できません。そのスキーマにその拡張が含まれているためです"
#: commands/extension.c:3349
#: commands/extension.c:3365
#, c-format
msgid "file \"%s\" is too large"
msgstr "ファイル\"%s\"は大きすぎます"
@ -10869,7 +10874,7 @@ msgstr "型%2$sの属性%1$dの型が間違っています"
msgid "Table has type %s, but query expects %s."
msgstr "テーブルの型は%sですが、問い合わせでは%sを想定しています。"
#: executor/execExprInterp.c:1948 utils/adt/expandedrecord.c:98 utils/adt/expandedrecord.c:230 utils/cache/typcache.c:1563 utils/cache/typcache.c:1719 utils/cache/typcache.c:1867 utils/fmgr/funcapi.c:439
#: executor/execExprInterp.c:1948 utils/adt/expandedrecord.c:98 utils/adt/expandedrecord.c:230 utils/cache/typcache.c:1563 utils/cache/typcache.c:1719 utils/cache/typcache.c:1867 utils/fmgr/funcapi.c:505
#, c-format
msgid "type %s is not composite"
msgstr "型%sは複合型ではありません"
@ -11521,7 +11526,7 @@ msgstr "カーソルで%s問い合わせを開くことができません"
msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported"
msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHAREはサポートされていません"
#: executor/spi.c:1516 parser/analyze.c:2473
#: executor/spi.c:1516 parser/analyze.c:2510
#, c-format
msgid "Scrollable cursors must be READ ONLY."
msgstr "スクロール可能カーソルは読み取り専用である必要があります。"
@ -13757,7 +13762,7 @@ msgstr "拡張可能ノードタイプ\"%s\"はすでに存在します"
msgid "ExtensibleNodeMethods \"%s\" was not registered"
msgstr "ExtensibleNodeMethods \"%s\" は登録されていません"
#: nodes/nodeFuncs.c:123 nodes/nodeFuncs.c:154 parser/parse_coerce.c:1942 parser/parse_coerce.c:1970 parser/parse_coerce.c:2046 parser/parse_expr.c:2120 parser/parse_func.c:695 parser/parse_oper.c:967 utils/fmgr/funcapi.c:511
#: nodes/nodeFuncs.c:123 nodes/nodeFuncs.c:154 parser/parse_coerce.c:1942 parser/parse_coerce.c:1970 parser/parse_coerce.c:2046 parser/parse_expr.c:2120 parser/parse_func.c:695 parser/parse_oper.c:967 utils/fmgr/funcapi.c:577
#, c-format
msgid "could not find array type for data type %s"
msgstr "データ型%sの配列型がありませんでした"
@ -13774,7 +13779,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:1800 parser/analyze.c:1648 parser/analyze.c:1847 parser/analyze.c:2680
#: optimizer/plan/planner.c:1800 parser/analyze.c:1685 parser/analyze.c:1884 parser/analyze.c:2717
#, c-format
msgid "%s is not allowed with UNION/INTERSECT/EXCEPT"
msgstr "UNION/INTERSECT/EXCEPTでは%sを使用できません"
@ -13865,204 +13870,204 @@ msgstr "ON CONFLICT DO UPDATEでの排除制約の使用はサポートされて
msgid "there is no unique or exclusion constraint matching the ON CONFLICT specification"
msgstr "ON CONFLICT 指定に合致するユニーク制約または排除制約がありません"
#: parser/analyze.c:711 parser/analyze.c:1418
#: parser/analyze.c:748 parser/analyze.c:1455
#, c-format
msgid "VALUES lists must all be the same length"
msgstr "VALUESリストはすべて同じ長さでなければなりません"
#: parser/analyze.c:921
#: parser/analyze.c:958
#, c-format
msgid "INSERT has more expressions than target columns"
msgstr "INSERTに対象列よりも多くの式があります"
#: parser/analyze.c:939
#: parser/analyze.c:976
#, c-format
msgid "INSERT has more target columns than expressions"
msgstr "INSERTに式よりも多くの対象列があります"
#: parser/analyze.c:943
#: parser/analyze.c:980
#, 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:1229 parser/analyze.c:1621
#: parser/analyze.c:1266 parser/analyze.c:1658
#, 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:1553 parser/analyze.c:2883
#: parser/analyze.c:1590 parser/analyze.c:2920
#, c-format
msgid "%s cannot be applied to VALUES"
msgstr "%sをVALUESに使用できません"
#: parser/analyze.c:1772
#: parser/analyze.c:1809
#, c-format
msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause"
msgstr "不正なUNION/INTERSECT/EXCEPT ORDER BY句です"
#: parser/analyze.c:1773
#: parser/analyze.c:1810
#, c-format
msgid "Only result column names can be used, not expressions or functions."
msgstr "式や関数ではなく、結果列の名前のみが使用できます。"
#: parser/analyze.c:1774
#: parser/analyze.c:1811
#, 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:1837
#: parser/analyze.c:1874
#, c-format
msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT"
msgstr "INTOはUNION/INTERSECT/EXCEPTの最初のSELECTでのみ使用できます"
#: parser/analyze.c:1909
#: parser/analyze.c:1946
#, c-format
msgid "UNION/INTERSECT/EXCEPT member statement cannot refer to other relations of same query level"
msgstr "UNION/INTERSECT/EXCEPTの要素となる文では同一問い合わせレベルの他のリレーションを参照できません"
#: parser/analyze.c:1998
#: parser/analyze.c:2035
#, c-format
msgid "each %s query must have the same number of columns"
msgstr "すべての%s問い合わせは同じ列数を返す必要があります"
#: parser/analyze.c:2391
#: parser/analyze.c:2428
#, c-format
msgid "RETURNING must have at least one column"
msgstr "RETURNINGには少なくとも1つの列が必要です"
#: parser/analyze.c:2432
#: parser/analyze.c:2469
#, c-format
msgid "cannot specify both SCROLL and NO SCROLL"
msgstr "SCROLLとNO SCROLLの両方を同時には指定できません"
#: parser/analyze.c:2451
#: parser/analyze.c:2488
#, 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:2459
#: parser/analyze.c:2496
#, c-format
msgid "DECLARE CURSOR WITH HOLD ... %s is not supported"
msgstr "DECLARE CURSOR WITH HOLD ... %sはサポートされていません"
#: parser/analyze.c:2462
#: parser/analyze.c:2499
#, 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:2470
#: parser/analyze.c:2507
#, 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:2481
#: parser/analyze.c:2518
#, c-format
msgid "DECLARE INSENSITIVE CURSOR ... %s is not supported"
msgstr "DECLARE INSENSITIVE CURSOR ... %sはサポートされていません"
#: parser/analyze.c:2484
#: parser/analyze.c:2521
#, c-format
msgid "Insensitive cursors must be READ ONLY."
msgstr "INSENSITIVEカーソルは読み取り専用である必要があります。"
#: parser/analyze.c:2550
#: parser/analyze.c:2587
#, c-format
msgid "materialized views must not use data-modifying statements in WITH"
msgstr "マテリアライズドビューではWITH句にデータを変更する文を含んではなりません"
#: parser/analyze.c:2560
#: parser/analyze.c:2597
#, c-format
msgid "materialized views must not use temporary tables or views"
msgstr "マテリアライズドビューでは一時テーブルやビューを使用してはいけません"
#: parser/analyze.c:2570
#: parser/analyze.c:2607
#, c-format
msgid "materialized views may not be defined using bound parameters"
msgstr "マテリアライズドビューは境界パラメータを用いて定義してはなりません"
#: parser/analyze.c:2582
#: parser/analyze.c:2619
#, 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:2687
#: parser/analyze.c:2724
#, 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:2694
#: parser/analyze.c:2731
#, 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:2701
#: parser/analyze.c:2738
#, 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:2708
#: parser/analyze.c:2745
#, 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:2715
#: parser/analyze.c:2752
#, 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:2722
#: parser/analyze.c:2759
#, 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:2814
#: parser/analyze.c:2851
#, 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:2856
#: parser/analyze.c:2893
#, 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:2865
#: parser/analyze.c:2902
#, 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:2874
#: parser/analyze.c:2911
#, 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:2892
#: parser/analyze.c:2929
#, 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:2901
#: parser/analyze.c:2938
#, 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:2918
#: parser/analyze.c:2955
#, c-format
msgid "relation \"%s\" in %s clause not found in FROM clause"
msgstr "%2$s句のリレーション\"%1$s\"はFROM句にありません"
@ -14662,7 +14667,7 @@ msgstr "\"anyarray\"と宣言された引数が全て同じでありません"
msgid "arguments declared \"anyrange\" are not all alike"
msgstr "\"anyrange\"と宣言された引数が全て同じでありません"
#: parser/parse_coerce.c:1816 parser/parse_coerce.c:2031 parser/parse_coerce.c:2065 utils/fmgr/funcapi.c:470
#: parser/parse_coerce.c:1816 parser/parse_coerce.c:2031 parser/parse_coerce.c:2065 utils/fmgr/funcapi.c:536
#, c-format
msgid "argument declared %s is not an array but type %s"
msgstr "%sと宣言された引数が配列ではなく%s型です"
@ -14672,7 +14677,7 @@ msgstr "%sと宣言された引数が配列ではなく%s型です"
msgid "argument declared %s is not consistent with argument declared %s"
msgstr "%sと宣言された引数と%sと宣言された引数とで整合性がありません"
#: parser/parse_coerce.c:1854 parser/parse_coerce.c:2078 utils/fmgr/funcapi.c:484
#: parser/parse_coerce.c:1854 parser/parse_coerce.c:2078 utils/fmgr/funcapi.c:550
#, c-format
msgid "argument declared %s is not a range type but type %s"
msgstr "%sと宣言された引数が範囲型ではなく型%sです"
@ -15563,7 +15568,7 @@ msgstr "%%TYPE参照が不適切です(ドット区切りの名前が多すぎ
msgid "type reference %s converted to %s"
msgstr "型参照%sは%sに変換されました"
#: parser/parse_type.c:279 parser/parse_type.c:856 utils/cache/typcache.c:373
#: parser/parse_type.c:279 parser/parse_type.c:856 utils/cache/typcache.c:378
#, c-format
msgid "type \"%s\" is only a shell"
msgstr "型\"%s\"は単なるシェルです"
@ -17542,74 +17547,74 @@ msgstr "pg_replslot/%2$s/*.xid の削除中にファイル\"%1$s\"の削除に
msgid "could not read from file \"%s\": read %d instead of %d bytes"
msgstr "ファイル\"%1$s\"の読み込みに失敗しました: %3$dバイトのはずが%2$dバイトでした"
#: replication/logical/snapbuild.c:649
#: replication/logical/snapbuild.c:661
#, c-format
msgid "initial slot snapshot too large"
msgstr "初期スロットスナップショットが大きすぎます"
#: replication/logical/snapbuild.c:703
#: replication/logical/snapbuild.c:715
#, c-format
msgid "exported logical decoding snapshot: \"%s\" with %u transaction ID"
msgid_plural "exported logical decoding snapshot: \"%s\" with %u transaction IDs"
msgstr[0] "エクスポートされた論理デコードスナップショット: \"%s\" (%u個のトランザクションID を含む)"
msgstr[1] "エクスポートされた論理デコードスナップショット: \"%s\" (%u個のトランザクションID を含む)"
#: replication/logical/snapbuild.c:1375 replication/logical/snapbuild.c:1482 replication/logical/snapbuild.c:1999
#: replication/logical/snapbuild.c:1387 replication/logical/snapbuild.c:1494 replication/logical/snapbuild.c:2011
#, c-format
msgid "logical decoding found consistent point at %X/%X"
msgstr "論理デコードは一貫性ポイントを%X/%Xで発見しました"
#: replication/logical/snapbuild.c:1377
#: replication/logical/snapbuild.c:1389
#, c-format
msgid "There are no running transactions."
msgstr "実行中のトランザクションはありません。"
#: replication/logical/snapbuild.c:1433
#: replication/logical/snapbuild.c:1445
#, c-format
msgid "logical decoding found initial starting point at %X/%X"
msgstr "論理デコードは初期開始点を%X/%Xで発見しました"
#: replication/logical/snapbuild.c:1435 replication/logical/snapbuild.c:1459
#: replication/logical/snapbuild.c:1447 replication/logical/snapbuild.c:1471
#, c-format
msgid "Waiting for transactions (approximately %d) older than %u to end."
msgstr "%2$uより古いトランザクション(おおよそ%1$d個)の完了を待っています"
#: replication/logical/snapbuild.c:1457
#: replication/logical/snapbuild.c:1469
#, c-format
msgid "logical decoding found initial consistent point at %X/%X"
msgstr "論理デコードは初期の一貫性ポイントを%X/%Xで発見しました"
#: replication/logical/snapbuild.c:1484
#: replication/logical/snapbuild.c:1496
#, c-format
msgid "There are no old transactions anymore."
msgstr "古いトランザクションはこれ以上はありません"
#: replication/logical/snapbuild.c:1861 replication/logical/snapbuild.c:1894 replication/logical/snapbuild.c:1914 replication/logical/snapbuild.c:1933
#: replication/logical/snapbuild.c:1873 replication/logical/snapbuild.c:1906 replication/logical/snapbuild.c:1926 replication/logical/snapbuild.c:1945
#, c-format
msgid "could not read file \"%s\", read %d of %d: %m"
msgstr "ファイル\"%1$s\"を読み込めませんでした、%3$dバイト中%2$dバイト: %m"
#: replication/logical/snapbuild.c:1868
#: replication/logical/snapbuild.c:1880
#, c-format
msgid "snapbuild state file \"%s\" has wrong magic number: %u instead of %u"
msgstr "スナップショット構築状態ファイル\"%1$s\"のマジックナンバーが不正です: %3$uのはずが%2$uでした"
#: replication/logical/snapbuild.c:1874
#: replication/logical/snapbuild.c:1886
#, c-format
msgid "snapbuild state file \"%s\" has unsupported version: %u instead of %u"
msgstr "スナップショット状態ファイル\"%1$s\"のバージョン%2$uはサポート外です: %3$uのはずが%2$uでした"
#: replication/logical/snapbuild.c:1946
#: replication/logical/snapbuild.c:1958
#, c-format
msgid "checksum mismatch for snapbuild state file \"%s\": is %u, should be %u"
msgstr "スナップショット生成状態ファイル\"%s\"のチェックサムが一致しません: %uですが、%uであるべきです"
#: replication/logical/snapbuild.c:2001
#: replication/logical/snapbuild.c:2013
#, c-format
msgid "Logical decoding will begin using saved snapshot."
msgstr "論理デコードは保存されたスナップショットを使って開始します。"
#: replication/logical/snapbuild.c:2073
#: replication/logical/snapbuild.c:2085
#, c-format
msgid "could not parse file name \"%s\""
msgstr "ファイル名\"%s\"をパースできませんでした"
@ -21185,7 +21190,7 @@ msgstr "JSONデータ、%d行目: %s%s%s"
msgid "key value must be scalar, not array, composite, or json"
msgstr "キー値は配列でも複合型でもJSONでもなく、スカラでなくてはなりません"
#: utils/adt/json.c:2101 utils/adt/json.c:2111 utils/fmgr/funcapi.c:1618
#: utils/adt/json.c:2101 utils/adt/json.c:2111 utils/fmgr/funcapi.c:1684
#, c-format
msgid "could not determine data type for argument %d"
msgstr "引数%dのデータ型が確定できませんでした"
@ -22061,7 +22066,7 @@ msgstr "\"%s\"という名前の関数が複数あります"
msgid "more than one operator named %s"
msgstr "%sという名前の演算子が複数あります"
#: utils/adt/regproc.c:696 utils/adt/regproc.c:737 utils/adt/regproc.c:1865 utils/adt/ruleutils.c:9228 utils/adt/ruleutils.c:9396
#: utils/adt/regproc.c:696 utils/adt/regproc.c:737 utils/adt/regproc.c:1865 utils/adt/ruleutils.c:9236 utils/adt/ruleutils.c:9404
#, c-format
msgid "too many arguments"
msgstr "引数が多すぎます"
@ -22821,52 +22826,57 @@ msgstr "XMLタイムスタンプ値としては無限をサポートしません
msgid "invalid query"
msgstr "不正な無効な問い合わせ"
#: utils/adt/xml.c:3982
#: utils/adt/xml.c:2751
#, c-format
msgid "portal \"%s\" does not return tuples"
msgstr "ポータル\"%s\"はタプルを返却しません"
#: utils/adt/xml.c:3986
#, c-format
msgid "invalid array for XML namespace mapping"
msgstr "XML名前空間マッピングに対する不正な配列"
#: utils/adt/xml.c:3983
#: utils/adt/xml.c:3987
#, c-format
msgid "The array must be two-dimensional with length of the second axis equal to 2."
msgstr "この配列は第2軸の長さが2である2次元配列でなければなりません。"
#: utils/adt/xml.c:4007
#: utils/adt/xml.c:4011
#, c-format
msgid "empty XPath expression"
msgstr "空のXPath式"
#: utils/adt/xml.c:4059
#: utils/adt/xml.c:4063
#, c-format
msgid "neither namespace name nor URI may be null"
msgstr "名前空間名もURIもnullにはできません"
#: utils/adt/xml.c:4066
#: utils/adt/xml.c:4070
#, c-format
msgid "could not register XML namespace with name \"%s\" and URI \"%s\""
msgstr "\"%s\"という名前のXML名前空間およびURI\"%s\"を登録できませんでした"
#: utils/adt/xml.c:4417
#: utils/adt/xml.c:4421
#, c-format
msgid "DEFAULT namespace is not supported"
msgstr "デフォルト名前空間は実装されていません"
#: utils/adt/xml.c:4446
#: utils/adt/xml.c:4450
#, c-format
msgid "row path filter must not be empty string"
msgstr "行パスフィルタは空文字列であってはなりません"
#: utils/adt/xml.c:4477
#: utils/adt/xml.c:4481
#, c-format
msgid "column path filter must not be empty string"
msgstr "列パスフィルタ空文字列であってはなりません"
#: utils/adt/xml.c:4619
#: utils/adt/xml.c:4623
#, c-format
msgid "XMLTABLE cannot cast a namespace node to a non-XML result type"
msgstr "XMLTABLEは名前空間ードを非XML結果型にキャストできません"
#: utils/adt/xml.c:4668
#: utils/adt/xml.c:4672
#, c-format
msgid "more than one value returned by column XPath expression"
msgstr "列XPath式が2つ以上の値を返却しました"
@ -22891,7 +22901,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:725
#: utils/cache/plancache.c:727
#, c-format
msgid "cached plan must not change result type"
msgstr "キャッシュした実行計画は結果型を変更してはなりません"
@ -22951,7 +22961,7 @@ msgstr "リレーションのマッピング用ファイル \"%s\"のfsyncに失
msgid "could not close relation mapping file \"%s\": %m"
msgstr "リレーションのマッピング用ファイル \"%s\"のクローズに失敗しました: %m"
#: utils/cache/typcache.c:1623 utils/fmgr/funcapi.c:444
#: utils/cache/typcache.c:1623 utils/fmgr/funcapi.c:510
#, c-format
msgid "record type has not been registered"
msgstr "レコード型は登録されていません"
@ -23172,22 +23182,22 @@ msgstr "info関数\"%2$s\"で報告されたAPIバージョン%1$dが不明で
msgid "language validation function %u called for language %u instead of %u"
msgstr "言語有効性検査関数%1$uが言語%3$uではなく%2$uに対して呼び出されました"
#: utils/fmgr/funcapi.c:367
#: utils/fmgr/funcapi.c:433
#, c-format
msgid "could not determine actual result type for function \"%s\" declared to return type %s"
msgstr "戻り値型%2$sとして宣言された関数\"%1$s\"の実際の結果型を決定できません"
#: utils/fmgr/funcapi.c:1457 utils/fmgr/funcapi.c:1489
#: utils/fmgr/funcapi.c:1523 utils/fmgr/funcapi.c:1555
#, c-format
msgid "number of aliases does not match number of columns"
msgstr "別名の数が列の数と一致しません"
#: utils/fmgr/funcapi.c:1483
#: utils/fmgr/funcapi.c:1549
#, c-format
msgid "no column alias was provided"
msgstr "列の別名が提供されていませんでした"
#: utils/fmgr/funcapi.c:1507
#: utils/fmgr/funcapi.c:1573
#, c-format
msgid "could not determine row description for function returning record"
msgstr "レコードを返す関数についての説明の行を決定できませんでした"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -23,6 +23,7 @@
#include "access/hash.h"
#include "access/htup_details.h"
#include "catalog/pg_type.h"
#include "common/int.h"
#include "funcapi.h"
#include "libpq/pqformat.h"
#include "utils/array.h"
@ -2310,22 +2311,38 @@ array_set_element(Datum arraydatum,
addedbefore = addedafter = 0;
/*
* Check subscripts
* Check subscripts. We assume the existing subscripts passed
* ArrayCheckBounds, so that dim[i] + lb[i] can be computed without
* overflow. But we must beware of other overflows in our calculations of
* new dim[] values.
*/
if (ndim == 1)
{
if (indx[0] < lb[0])
{
addedbefore = lb[0] - indx[0];
dim[0] += addedbefore;
/* addedbefore = lb[0] - indx[0]; */
/* dim[0] += addedbefore; */
if (pg_sub_s32_overflow(lb[0], indx[0], &addedbefore) ||
pg_add_s32_overflow(dim[0], addedbefore, &dim[0]))
ereport(ERROR,
(errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("array size exceeds the maximum allowed (%d)",
(int) MaxArraySize)));
lb[0] = indx[0];
if (addedbefore > 1)
newhasnulls = true; /* will insert nulls */
}
if (indx[0] >= (dim[0] + lb[0]))
{
addedafter = indx[0] - (dim[0] + lb[0]) + 1;
dim[0] += addedafter;
/* addedafter = indx[0] - (dim[0] + lb[0]) + 1; */
/* dim[0] += addedafter; */
if (pg_sub_s32_overflow(indx[0], dim[0] + lb[0], &addedafter) ||
pg_add_s32_overflow(addedafter, 1, &addedafter) ||
pg_add_s32_overflow(dim[0], addedafter, &dim[0]))
ereport(ERROR,
(errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("array size exceeds the maximum allowed (%d)",
(int) MaxArraySize)));
if (addedafter > 1)
newhasnulls = true; /* will insert nulls */
}
@ -2568,14 +2585,23 @@ array_set_element_expanded(Datum arraydatum,
addedbefore = addedafter = 0;
/*
* Check subscripts (this logic matches original array_set_element)
* Check subscripts (this logic must match array_set_element). We assume
* the existing subscripts passed ArrayCheckBounds, so that dim[i] + lb[i]
* can be computed without overflow. But we must beware of other
* overflows in our calculations of new dim[] values.
*/
if (ndim == 1)
{
if (indx[0] < lb[0])
{
addedbefore = lb[0] - indx[0];
dim[0] += addedbefore;
/* addedbefore = lb[0] - indx[0]; */
/* dim[0] += addedbefore; */
if (pg_sub_s32_overflow(lb[0], indx[0], &addedbefore) ||
pg_add_s32_overflow(dim[0], addedbefore, &dim[0]))
ereport(ERROR,
(errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("array size exceeds the maximum allowed (%d)",
(int) MaxArraySize)));
lb[0] = indx[0];
dimschanged = true;
if (addedbefore > 1)
@ -2583,8 +2609,15 @@ array_set_element_expanded(Datum arraydatum,
}
if (indx[0] >= (dim[0] + lb[0]))
{
addedafter = indx[0] - (dim[0] + lb[0]) + 1;
dim[0] += addedafter;
/* addedafter = indx[0] - (dim[0] + lb[0]) + 1; */
/* dim[0] += addedafter; */
if (pg_sub_s32_overflow(indx[0], dim[0] + lb[0], &addedafter) ||
pg_add_s32_overflow(addedafter, 1, &addedafter) ||
pg_add_s32_overflow(dim[0], addedafter, &dim[0]))
ereport(ERROR,
(errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("array size exceeds the maximum allowed (%d)",
(int) MaxArraySize)));
dimschanged = true;
if (addedafter > 1)
newhasnulls = true; /* will insert nulls */
@ -2866,7 +2899,10 @@ array_set_slice(Datum arraydatum,
addedbefore = addedafter = 0;
/*
* Check subscripts
* Check subscripts. We assume the existing subscripts passed
* ArrayCheckBounds, so that dim[i] + lb[i] can be computed without
* overflow. But we must beware of other overflows in our calculations of
* new dim[] values.
*/
if (ndim == 1)
{
@ -2881,18 +2917,31 @@ array_set_slice(Datum arraydatum,
errmsg("upper bound cannot be less than lower bound")));
if (lowerIndx[0] < lb[0])
{
if (upperIndx[0] < lb[0] - 1)
newhasnulls = true; /* will insert nulls */
addedbefore = lb[0] - lowerIndx[0];
dim[0] += addedbefore;
/* addedbefore = lb[0] - lowerIndx[0]; */
/* dim[0] += addedbefore; */
if (pg_sub_s32_overflow(lb[0], lowerIndx[0], &addedbefore) ||
pg_add_s32_overflow(dim[0], addedbefore, &dim[0]))
ereport(ERROR,
(errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("array size exceeds the maximum allowed (%d)",
(int) MaxArraySize)));
lb[0] = lowerIndx[0];
if (addedbefore > 1)
newhasnulls = true; /* will insert nulls */
}
if (upperIndx[0] >= (dim[0] + lb[0]))
{
if (lowerIndx[0] > (dim[0] + lb[0]))
/* addedafter = upperIndx[0] - (dim[0] + lb[0]) + 1; */
/* dim[0] += addedafter; */
if (pg_sub_s32_overflow(upperIndx[0], dim[0] + lb[0], &addedafter) ||
pg_add_s32_overflow(addedafter, 1, &addedafter) ||
pg_add_s32_overflow(dim[0], addedafter, &dim[0]))
ereport(ERROR,
(errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED),
errmsg("array size exceeds the maximum allowed (%d)",
(int) MaxArraySize)));
if (addedafter > 1)
newhasnulls = true; /* will insert nulls */
addedafter = upperIndx[0] - (dim[0] + lb[0]) + 1;
dim[0] += addedafter;
}
}
else

View File

@ -64,10 +64,6 @@ ArrayGetOffset0(int n, const int *tup, const int *scale)
* This must do overflow checking, since it is used to validate that a user
* dimensionality request doesn't overflow what we can handle.
*
* We limit array sizes to at most about a quarter billion elements,
* so that it's not necessary to check for overflow in quite so many
* places --- for instance when palloc'ing Datum arrays.
*
* The multiplication overflow check only works on machines that have int64
* arithmetic, but that is nearly all platforms these days, and doing check
* divides for those that don't seems way too expensive.
@ -78,8 +74,6 @@ ArrayGetNItems(int ndim, const int *dims)
int32 ret;
int i;
#define MaxArraySize ((Size) (MaxAllocSize / sizeof(Datum)))
if (ndim <= 0)
return 0;
ret = 1;

View File

@ -242,8 +242,13 @@ pg_signal_backend(int pid, int sig)
return SIGNAL_BACKEND_ERROR;
}
/* Only allow superusers to signal superuser-owned backends. */
if (superuser_arg(proc->roleId) && !superuser())
/*
* Only allow superusers to signal superuser-owned backends. Any process
* not advertising a role might have the importance of a superuser-owned
* backend, so treat it that way.
*/
if ((!OidIsValid(proc->roleId) || superuser_arg(proc->roleId)) &&
!superuser())
return SIGNAL_BACKEND_NOSUPERUSER;
/* Users can signal backends they have role membership in. */

View File

@ -700,6 +700,14 @@ InitializeSessionUserIdStandalone(void)
AuthenticatedUserIsSuperuser = true;
SetSessionUserId(BOOTSTRAP_SUPERUSERID, true);
/*
* XXX This should set SetConfigOption("session_authorization"), too.
* Since we don't, C code will get NULL, and current_setting() will get an
* empty string.
*/
SetConfigOption("is_superuser", "on",
PGC_INTERNAL, PGC_S_DYNAMIC_DEFAULT);
}

View File

@ -380,7 +380,7 @@ msgstr "Ingrésela nuevamente: "
#: initdb.c:1526
#, c-format
msgid "Passwords didn't match.\n"
msgstr "Las constraseñas no coinciden.\n"
msgstr "Las contraseñas no coinciden.\n"
#: initdb.c:1552
#, c-format

View File

@ -6,7 +6,7 @@
# Sergey Burladyan <eshkinkot@gmail.com>, 2009.
# Andrey Sudnik <sudnikand@yandex.ru>, 2010.
# Dmitriy Olshevskiy <olshevskiy87@bk.ru>, 2014.
# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022.
# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: initdb (PostgreSQL current)\n"

View File

@ -1,12 +1,12 @@
# 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 <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022.
# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: pg_basebackup (PostgreSQL current)\n"
"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
"POT-Creation-Date: 2022-11-01 14:44+0300\n"
"POT-Creation-Date: 2023-09-11 15:34+0300\n"
"PO-Revision-Date: 2022-09-05 15:10+0300\n"
"Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
"Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
@ -396,7 +396,7 @@ msgstr ""
msgid "%s: could not read from ready pipe: %s\n"
msgstr "%s: не удалось прочитать из готового канала: %s\n"
#: pg_basebackup.c:442 pg_basebackup.c:576 pg_basebackup.c:2084
#: pg_basebackup.c:442 pg_basebackup.c:576 pg_basebackup.c:2085
#: streamutil.c:461
#, c-format
msgid "%s: could not parse write-ahead log location \"%s\"\n"
@ -412,42 +412,42 @@ msgstr "%s: не удалось завершить запись файлов WAL
msgid "%s: could not create pipe for background process: %s\n"
msgstr "%s: не удалось создать канал для фонового процесса: %s\n"
#: pg_basebackup.c:625
#: pg_basebackup.c:626
#, c-format
msgid "%s: created temporary replication slot \"%s\"\n"
msgstr "%s: создан временный слот репликации \"%s\"\n"
#: pg_basebackup.c:628
#: pg_basebackup.c:629
#, c-format
msgid "%s: created replication slot \"%s\"\n"
msgstr "%s: создан слот репликации \"%s\"\n"
#: pg_basebackup.c:649 pg_basebackup.c:705 pg_basebackup.c:1484
#: pg_basebackup.c:650 pg_basebackup.c:706 pg_basebackup.c:1485
#, c-format
msgid "%s: could not create directory \"%s\": %s\n"
msgstr "%s: не удалось создать каталог \"%s\": %s\n"
#: pg_basebackup.c:668
#: pg_basebackup.c:669
#, c-format
msgid "%s: could not create background process: %s\n"
msgstr "%s: не удалось создать фоновый процесс: %s\n"
#: pg_basebackup.c:680
#: pg_basebackup.c:681
#, c-format
msgid "%s: could not create background thread: %s\n"
msgstr "%s: не удалось создать фоновый поток выполнения: %s\n"
#: pg_basebackup.c:728
#: pg_basebackup.c:729
#, c-format
msgid "%s: directory \"%s\" exists but is not empty\n"
msgstr "%s: каталог \"%s\" существует, но он не пуст\n"
#: pg_basebackup.c:736
#: pg_basebackup.c:737
#, c-format
msgid "%s: could not access directory \"%s\": %s\n"
msgstr "%s: ошибка доступа к каталогу \"%s\": %s\n"
#: pg_basebackup.c:798
#: pg_basebackup.c:799
#, c-format
msgid "%*s/%s kB (100%%), %d/%d tablespace %*s"
msgid_plural "%*s/%s kB (100%%), %d/%d tablespaces %*s"
@ -455,7 +455,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:810
#: pg_basebackup.c:811
#, c-format
msgid "%*s/%s kB (%d%%), %d/%d tablespace (%s%-*.*s)"
msgid_plural "%*s/%s kB (%d%%), %d/%d tablespaces (%s%-*.*s)"
@ -463,7 +463,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:826
#: pg_basebackup.c:827
#, c-format
msgid "%*s/%s kB (%d%%), %d/%d tablespace"
msgid_plural "%*s/%s kB (%d%%), %d/%d tablespaces"
@ -471,150 +471,150 @@ msgstr[0] "%*s/%s КБ (%d%%), табличное пространство %d/%d
msgstr[1] "%*s/%s КБ (%d%%), табличное пространство %d/%d"
msgstr[2] "%*s/%s КБ (%d%%), табличное пространство %d/%d"
#: pg_basebackup.c:851
#: pg_basebackup.c:852
#, c-format
msgid "%s: transfer rate \"%s\" is not a valid value\n"
msgstr "%s: неверное значение (\"%s\") для скорости передачи данных\n"
#: pg_basebackup.c:858
#: pg_basebackup.c:859
#, c-format
msgid "%s: invalid transfer rate \"%s\": %s\n"
msgstr "%s: неверная скорость передачи данных \"%s\": %s\n"
#: pg_basebackup.c:868
#: pg_basebackup.c:869
#, c-format
msgid "%s: transfer rate must be greater than zero\n"
msgstr "%s: скорость передачи должна быть больше 0\n"
#: pg_basebackup.c:902
#: pg_basebackup.c:903
#, c-format
msgid "%s: invalid --max-rate unit: \"%s\"\n"
msgstr "%s: неверная единица измерения в --max-rate: \"%s\"\n"
#: pg_basebackup.c:911
#: pg_basebackup.c:912
#, c-format
msgid "%s: transfer rate \"%s\" exceeds integer range\n"
msgstr "%s: скорость передачи \"%s\" вне целочисленного диапазона\n"
#: pg_basebackup.c:923
#: pg_basebackup.c:924
#, c-format
msgid "%s: transfer rate \"%s\" is out of range\n"
msgstr "%s: скорость передачи \"%s\" вне диапазона\n"
#: pg_basebackup.c:951
#: pg_basebackup.c:952
#, c-format
msgid "%s: could not write to compressed file \"%s\": %s\n"
msgstr "%s: не удалось записать сжатый файл \"%s\": %s\n"
#: pg_basebackup.c:965 pg_basebackup.c:1582 pg_basebackup.c:1748
#: pg_basebackup.c:966 pg_basebackup.c:1583 pg_basebackup.c:1749
#, c-format
msgid "%s: could not write to file \"%s\": %s\n"
msgstr "%s: не удалось записать файл \"%s\": %s\n"
#: pg_basebackup.c:1024 pg_basebackup.c:1045 pg_basebackup.c:1073
#: pg_basebackup.c:1025 pg_basebackup.c:1046 pg_basebackup.c:1074
#, c-format
msgid "%s: could not set compression level %d: %s\n"
msgstr "%s: не удалось установить уровень сжатия %d: %s\n"
#: pg_basebackup.c:1094
#: pg_basebackup.c:1095
#, c-format
msgid "%s: could not create compressed file \"%s\": %s\n"
msgstr "%s: не удалось создать сжатый файл \"%s\": %s\n"
#: pg_basebackup.c:1105 pg_basebackup.c:1538 pg_basebackup.c:1741
#: pg_basebackup.c:1106 pg_basebackup.c:1539 pg_basebackup.c:1742
#, c-format
msgid "%s: could not create file \"%s\": %s\n"
msgstr "%s: не удалось создать файл \"%s\": %s\n"
#: pg_basebackup.c:1117 pg_basebackup.c:1391
#: pg_basebackup.c:1118 pg_basebackup.c:1392
#, c-format
msgid "%s: could not get COPY data stream: %s"
msgstr "%s: не удалось получить поток данных COPY: %s"
#: pg_basebackup.c:1174
#: pg_basebackup.c:1175
#, c-format
msgid "%s: could not close compressed file \"%s\": %s\n"
msgstr "%s: не удалось закрыть сжатый файл \"%s\": %s\n"
#: pg_basebackup.c:1187 pg_recvlogical.c:657 receivelog.c:234 receivelog.c:319
#: pg_basebackup.c:1188 pg_recvlogical.c:657 receivelog.c:234 receivelog.c:319
#: receivelog.c:708
#, c-format
msgid "%s: could not close file \"%s\": %s\n"
msgstr "%s: не удалось закрыть файл \"%s\": %s\n"
#: pg_basebackup.c:1198 pg_basebackup.c:1420 pg_recvlogical.c:453
#: pg_basebackup.c:1199 pg_basebackup.c:1421 pg_recvlogical.c:453
#: pg_recvlogical.c:631 receivelog.c:1003
#, c-format
msgid "%s: could not read COPY data: %s"
msgstr "%s: не удалось прочитать данные COPY: %s"
#: pg_basebackup.c:1434
#: pg_basebackup.c:1435
#, c-format
msgid "%s: invalid tar block header size: %d\n"
msgstr "%s: неверный размер заголовка блока tar: %d\n"
#: pg_basebackup.c:1492
#: pg_basebackup.c:1493
#, c-format
msgid "%s: could not set permissions on directory \"%s\": %s\n"
msgstr "%s: не удалось установить права для каталога \"%s\": %s\n"
#: pg_basebackup.c:1516
#: pg_basebackup.c:1517
#, c-format
msgid "%s: could not create symbolic link from \"%s\" to \"%s\": %s\n"
msgstr "%s: не удалось создать символическую ссылку \"%s\" в \"%s\": %s\n"
#: pg_basebackup.c:1525
#: pg_basebackup.c:1526
#, c-format
msgid "%s: unrecognized link indicator \"%c\"\n"
msgstr "%s: нераспознанный индикатор связи \"%c\"\n"
#: pg_basebackup.c:1545
#: pg_basebackup.c:1546
#, c-format
msgid "%s: could not set permissions on file \"%s\": %s\n"
msgstr "%s: не удалось установить права доступа для файла \"%s\": %s\n"
#: pg_basebackup.c:1608
#: pg_basebackup.c:1609
#, c-format
msgid "%s: COPY stream ended before last file was finished\n"
msgstr "%s: поток COPY закончился до завершения последнего файла\n"
#: pg_basebackup.c:1636 pg_basebackup.c:1656 pg_basebackup.c:1663
#: pg_basebackup.c:1716
#: pg_basebackup.c:1637 pg_basebackup.c:1657 pg_basebackup.c:1664
#: pg_basebackup.c:1717
#, c-format
msgid "%s: out of memory\n"
msgstr "%s: нехватка памяти\n"
#: pg_basebackup.c:1789
#: pg_basebackup.c:1790
#, c-format
msgid "%s: incompatible server version %s\n"
msgstr "%s: несовместимая версия сервера %s\n"
#: pg_basebackup.c:1804
#: pg_basebackup.c:1805
#, c-format
msgid "HINT: use -X none or -X fetch to disable log streaming\n"
msgstr ""
"ПОДСКАЗКА: укажите -X none или -X fetch для отключения трансляции журнала\n"
#: pg_basebackup.c:1830
#: pg_basebackup.c:1831
#, c-format
msgid "%s: initiating base backup, waiting for checkpoint to complete\n"
msgstr ""
"%s: начинается базовое резервное копирование, ожидается завершение "
"контрольной точки\n"
#: pg_basebackup.c:1855 pg_recvlogical.c:270 receivelog.c:503 receivelog.c:556
#: pg_basebackup.c:1856 pg_recvlogical.c:270 receivelog.c:503 receivelog.c:556
#: receivelog.c:596 streamutil.c:302 streamutil.c:378 streamutil.c:431
#: streamutil.c:545 streamutil.c:591
#, c-format
msgid "%s: could not send replication command \"%s\": %s"
msgstr "%s: не удалось передать команду репликации \"%s\": %s"
#: pg_basebackup.c:1866
#: pg_basebackup.c:1867
#, c-format
msgid "%s: could not initiate base backup: %s"
msgstr "%s: не удалось инициализировать базовое резервное копирование: %s"
#: pg_basebackup.c:1873
#: pg_basebackup.c:1874
#, c-format
msgid ""
"%s: server returned unexpected response to BASE_BACKUP command; got %d rows "
@ -623,110 +623,110 @@ msgstr ""
"%s: сервер вернул неожиданный ответ на команду BASE_BACKUP; получено строк: "
"%d, полей: %d, а ожидалось строк: %d, полей: %d\n"
#: pg_basebackup.c:1881
#: pg_basebackup.c:1882
#, c-format
msgid "%s: checkpoint completed\n"
msgstr "%s: контрольная точка завершена\n"
#: pg_basebackup.c:1896
#: pg_basebackup.c:1897
#, c-format
msgid "%s: write-ahead log start point: %s on timeline %u\n"
msgstr "%s: стартовая точка в журнале предзаписи: %s на линии времени %u\n"
#: pg_basebackup.c:1905
#: pg_basebackup.c:1906
#, c-format
msgid "%s: could not get backup header: %s"
msgstr "%s: не удалось получить заголовок резервной копии: %s"
#: pg_basebackup.c:1911
#: pg_basebackup.c:1912
#, c-format
msgid "%s: no data returned from server\n"
msgstr "%s: сервер не вернул данные\n"
#: pg_basebackup.c:1943
#: pg_basebackup.c:1944
#, c-format
msgid "%s: can only write single tablespace to stdout, database has %d\n"
msgstr ""
"%s: в stdout можно вывести только одно табличное пространство, всего в СУБД "
"их %d\n"
#: pg_basebackup.c:1955
#: pg_basebackup.c:1956
#, c-format
msgid "%s: starting background WAL receiver\n"
msgstr "%s: запуск фонового процесса считывания WAL\n"
#: pg_basebackup.c:1987
#: pg_basebackup.c:1988
#, c-format
msgid "%s: could not get write-ahead log end position from server: %s"
msgstr ""
"%s: не удалось получить от сервера конечную позицию в журнале предзаписи: %s"
#: pg_basebackup.c:1994
#: pg_basebackup.c:1995
#, c-format
msgid "%s: no write-ahead log end position returned from server\n"
msgstr "%s: сервер не передал конечную позицию в журнале предзаписи\n"
#: pg_basebackup.c:2000
#: pg_basebackup.c:2001
#, c-format
msgid "%s: write-ahead log end point: %s\n"
msgstr "%s: конечная точка в журнале предзаписи: %s\n"
#: pg_basebackup.c:2011
#: pg_basebackup.c:2012
#, c-format
msgid "%s: checksum error occurred\n"
msgstr "%s: выявлена ошибка контрольной суммы\n"
#: pg_basebackup.c:2017
#: pg_basebackup.c:2018
#, c-format
msgid "%s: final receive failed: %s"
msgstr "%s: ошибка в конце передачи: %s"
#: pg_basebackup.c:2042
#: pg_basebackup.c:2043
#, c-format
msgid "%s: waiting for background process to finish streaming ...\n"
msgstr "%s: ожидание завершения потоковой передачи фоновым процессом...\n"
#: pg_basebackup.c:2048
#: pg_basebackup.c:2049
#, c-format
msgid "%s: could not send command to background pipe: %s\n"
msgstr "%s: не удалось отправить команду в канал фонового процесса: %s\n"
#: pg_basebackup.c:2057
#: pg_basebackup.c:2058
#, c-format
msgid "%s: could not wait for child process: %s\n"
msgstr "%s: сбой при ожидании дочернего процесса: %s\n"
#: pg_basebackup.c:2063
#: pg_basebackup.c:2064
#, c-format
msgid "%s: child %d died, expected %d\n"
msgstr "%s: завершился дочерний процесс %d вместо ожидаемого %d\n"
#: pg_basebackup.c:2096
#: pg_basebackup.c:2097
#, c-format
msgid "%s: could not wait for child thread: %s\n"
msgstr "%s: сбой при ожидании дочернего потока: %s\n"
#: pg_basebackup.c:2103
#: pg_basebackup.c:2104
#, c-format
msgid "%s: could not get child thread exit status: %s\n"
msgstr "%s: не удалось получить состояние завершения дочернего потока: %s\n"
#: pg_basebackup.c:2109
#: pg_basebackup.c:2110
#, c-format
msgid "%s: child thread exited with error %u\n"
msgstr "%s: дочерний поток завершился с ошибкой %u\n"
#: pg_basebackup.c:2147
#: pg_basebackup.c:2148
#, c-format
msgid "%s: base backup completed\n"
msgstr "%s: базовое резервное копирование завершено\n"
#: pg_basebackup.c:2228
#: pg_basebackup.c:2229
#, c-format
msgid "%s: invalid output format \"%s\", must be \"plain\" or \"tar\"\n"
msgstr "%s: неверный формат вывода \"%s\", должен быть \"plain\" или \"tar\"\n"
#: pg_basebackup.c:2273
#: pg_basebackup.c:2274
#, c-format
msgid ""
"%s: invalid wal-method option \"%s\", must be \"fetch\", \"stream\", or "
@ -735,12 +735,12 @@ msgstr ""
"%s: неверный аргумент для wal-method - \"%s\", допускается только \"fetch\", "
"\"stream\" или \"none\"\n"
#: pg_basebackup.c:2301 pg_receivewal.c:585
#: pg_basebackup.c:2302 pg_receivewal.c:585
#, c-format
msgid "%s: invalid compression level \"%s\"\n"
msgstr "%s: неверный уровень сжатия \"%s\"\n"
#: pg_basebackup.c:2313
#: pg_basebackup.c:2314
#, c-format
msgid ""
"%s: invalid checkpoint argument \"%s\", must be \"fast\" or \"spread\"\n"
@ -748,15 +748,15 @@ msgstr ""
"%s: неверный аргумент режима контрольных точек \"%s\", должен быть \"fast\" "
"или \"spread\"\n"
#: pg_basebackup.c:2340 pg_receivewal.c:557 pg_recvlogical.c:851
#: pg_basebackup.c:2341 pg_receivewal.c:557 pg_recvlogical.c:851
#, c-format
msgid "%s: invalid status interval \"%s\"\n"
msgstr "%s: неверный интервал сообщений о состоянии \"%s\"\n"
#: pg_basebackup.c:2359 pg_basebackup.c:2373 pg_basebackup.c:2384
#: pg_basebackup.c:2397 pg_basebackup.c:2407 pg_basebackup.c:2417
#: pg_basebackup.c:2429 pg_basebackup.c:2443 pg_basebackup.c:2453
#: pg_basebackup.c:2466 pg_basebackup.c:2477 pg_receivewal.c:611
#: pg_basebackup.c:2360 pg_basebackup.c:2374 pg_basebackup.c:2385
#: pg_basebackup.c:2398 pg_basebackup.c:2408 pg_basebackup.c:2418
#: pg_basebackup.c:2430 pg_basebackup.c:2444 pg_basebackup.c:2454
#: pg_basebackup.c:2467 pg_basebackup.c:2478 pg_receivewal.c:611
#: pg_receivewal.c:625 pg_receivewal.c:633 pg_receivewal.c:643
#: pg_receivewal.c:651 pg_receivewal.c:662 pg_recvlogical.c:878
#: pg_recvlogical.c:892 pg_recvlogical.c:903 pg_recvlogical.c:911
@ -766,70 +766,70 @@ msgstr "%s: неверный интервал сообщений о состоя
msgid "Try \"%s --help\" for more information.\n"
msgstr "Для дополнительной информации попробуйте \"%s --help\".\n"
#: pg_basebackup.c:2371 pg_receivewal.c:623 pg_recvlogical.c:890
#: pg_basebackup.c:2372 pg_receivewal.c:623 pg_recvlogical.c:890
#, c-format
msgid "%s: too many command-line arguments (first is \"%s\")\n"
msgstr "%s: слишком много аргументов командной строки (первый: \"%s\")\n"
#: pg_basebackup.c:2383 pg_receivewal.c:661
#: pg_basebackup.c:2384 pg_receivewal.c:661
#, c-format
msgid "%s: no target directory specified\n"
msgstr "%s: целевой каталог не указан\n"
#: pg_basebackup.c:2395
#: pg_basebackup.c:2396
#, c-format
msgid "%s: only tar mode backups can be compressed\n"
msgstr "%s: сжимать можно только резервные копии в архиве tar\n"
#: pg_basebackup.c:2405
#: pg_basebackup.c:2406
#, c-format
msgid "%s: cannot stream write-ahead logs in tar mode to stdout\n"
msgstr ""
"%s: транслировать журналы предзаписи в режиме tar в поток stdout нельзя\n"
#: pg_basebackup.c:2415
#: pg_basebackup.c:2416
#, c-format
msgid "%s: replication slots can only be used with WAL streaming\n"
msgstr ""
"%s: слоты репликации можно использовать только при потоковой передаче WAL\n"
#: pg_basebackup.c:2427
#: pg_basebackup.c:2428
#, c-format
msgid "%s: --no-slot cannot be used with slot name\n"
msgstr "%s: --no-slot нельзя использовать с именем слота\n"
#. translator: second %s is an option name
#: pg_basebackup.c:2441 pg_receivewal.c:641
#: pg_basebackup.c:2442 pg_receivewal.c:641
#, c-format
msgid "%s: %s needs a slot to be specified using --slot\n"
msgstr "%s: для %s необходимо задать слот с помощью параметра --slot\n"
#: pg_basebackup.c:2451
#: pg_basebackup.c:2452
#, c-format
msgid "%s: --create-slot and --no-slot are incompatible options\n"
msgstr "%s: параметры --create-slot и --no-slot несовместимы\n"
#: pg_basebackup.c:2464
#: pg_basebackup.c:2465
#, c-format
msgid "%s: WAL directory location can only be specified in plain mode\n"
msgstr "%s: расположение каталога WAL можно указать только в режиме plain\n"
#: pg_basebackup.c:2475
#: pg_basebackup.c:2476
#, c-format
msgid "%s: WAL directory location must be an absolute path\n"
msgstr "%s: расположение каталога WAL должно определяться абсолютным путём\n"
#: pg_basebackup.c:2487 pg_receivewal.c:671
#: pg_basebackup.c:2488 pg_receivewal.c:671
#, c-format
msgid "%s: this build does not support compression\n"
msgstr "%s: эта сборка программы не поддерживает сжатие\n"
#: pg_basebackup.c:2541
#: pg_basebackup.c:2542
#, c-format
msgid "%s: could not create symbolic link \"%s\": %s\n"
msgstr "%s: не удалось создать символическую ссылку \"%s\": %s\n"
#: pg_basebackup.c:2546
#: pg_basebackup.c:2547
#, c-format
msgid "%s: symlinks are not supported on this platform\n"
msgstr "%s: символические ссылки не поддерживаются в этой ОС\n"

View File

@ -5,7 +5,7 @@
# Serguei A. Mokhov <mokhov@cs.concordia.ca>, 2004-2005.
# Sergey Burladyan <eshkinkot@gmail.com>, 2009, 2012.
# Andrey Sudnik <sudnikand@gmail.com>, 2010.
# Alexander Lakhin <exclusion@gmail.com>, 2012-2016, 2017, 2019, 2020, 2021.
# Alexander Lakhin <exclusion@gmail.com>, 2012-2016, 2017, 2019, 2020, 2021, 2023.
msgid ""
msgstr ""
"Project-Id-Version: pg_config (PostgreSQL current)\n"

View File

@ -251,7 +251,7 @@ msgstr "Dernier REDO (reprise) du point de contrôle : %X/%X\n"
#: pg_controldata.c:250
#, 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:252
#, c-format

View File

@ -6,7 +6,7 @@
# Sergey Burladyan <eshkinkot@gmail.com>, 2009, 2012.
# Andrey Sudnik <sudnikand@gmail.com>, 2010.
# Dmitriy Olshevskiy <olshevskiy87@bk.ru>, 2014.
# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022.
# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: pg_ctl (PostgreSQL current)\n"

View File

@ -6,12 +6,11 @@
# Sergey Burladyan <eshkinkot@gmail.com>, 2012.
# Dmitriy Olshevskiy <olshevskiy87@bk.ru>, 2014.
# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023.
# Maxim Yablokov <m.yablokov@postgrespro.ru>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: pg_dump (PostgreSQL current)\n"
"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
"POT-Creation-Date: 2023-05-03 05:57+0300\n"
"POT-Creation-Date: 2023-11-03 09:10+0300\n"
"PO-Revision-Date: 2023-05-03 06:17+0300\n"
"Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
"Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
@ -776,12 +775,12 @@ msgstr "выделение структуры AH для %s, формат %d\n"
msgid "unrecognized file format \"%d\"\n"
msgstr "неопознанный формат файла: \"%d\"\n"
#: pg_backup_archiver.c:2451 pg_backup_archiver.c:4430
#: pg_backup_archiver.c:2451 pg_backup_archiver.c:4449
#, c-format
msgid "finished item %d %s %s\n"
msgstr "закончен объект %d %s %s\n"
#: pg_backup_archiver.c:2455 pg_backup_archiver.c:4443
#: pg_backup_archiver.c:2455 pg_backup_archiver.c:4462
#, c-format
msgid "worker process failed: exit code %d\n"
msgstr "рабочий процесс завершился с кодом возврата %d\n"
@ -836,48 +835,48 @@ msgstr "функция \"%s\" не найдена\n"
msgid "trigger \"%s\" not found\n"
msgstr "триггер \"%s\" не найден\n"
#: pg_backup_archiver.c:3199
#: pg_backup_archiver.c:3218
#, c-format
msgid "could not set session user to \"%s\": %s"
msgstr "не удалось переключить пользователя сеанса на \"%s\": %s"
#: pg_backup_archiver.c:3231
#: pg_backup_archiver.c:3250
#, c-format
msgid "could not set default_with_oids: %s"
msgstr "не удалось установить параметр default_with_oids: %s"
#: pg_backup_archiver.c:3378
#: pg_backup_archiver.c:3397
#, c-format
msgid "could not set search_path to \"%s\": %s"
msgstr "не удалось присвоить search_path значение \"%s\": %s"
#: pg_backup_archiver.c:3440
#: pg_backup_archiver.c:3459
#, c-format
msgid "could not set default_tablespace to %s: %s"
msgstr "не удалось задать для default_tablespace значение %s: %s"
#: pg_backup_archiver.c:3534 pg_backup_archiver.c:3706
#: pg_backup_archiver.c:3553 pg_backup_archiver.c:3725
#, c-format
msgid "WARNING: don't know how to set owner for object type \"%s\"\n"
msgstr ""
"ПРЕДУПРЕЖДЕНИЕ: неизвестно, как назначить владельца для объекта типа \"%s\"\n"
#: pg_backup_archiver.c:3795
#: pg_backup_archiver.c:3814
#, c-format
msgid "did not find magic string in file header\n"
msgstr "в заголовке файла не найдена нужная сигнатура\n"
#: pg_backup_archiver.c:3809
#: pg_backup_archiver.c:3828
#, c-format
msgid "unsupported version (%d.%d) in file header\n"
msgstr "неподдерживаемая версия (%d.%d) в заголовке файла\n"
#: pg_backup_archiver.c:3814
#: pg_backup_archiver.c:3833
#, c-format
msgid "sanity check on integer size (%lu) failed\n"
msgstr "несоответствие размера integer (%lu)\n"
#: pg_backup_archiver.c:3818
#: pg_backup_archiver.c:3837
#, c-format
msgid ""
"WARNING: archive was made on a machine with larger integers, some operations "
@ -886,12 +885,12 @@ msgstr ""
"ПРЕДУПРЕЖДЕНИЕ: архив был сделан на компьютере большей разрядности -- "
"возможен сбой некоторых операций\n"
#: pg_backup_archiver.c:3828
#: pg_backup_archiver.c:3847
#, c-format
msgid "expected format (%d) differs from format found in file (%d)\n"
msgstr "ожидаемый формат (%d) отличается от формата, указанного в файле (%d)\n"
#: pg_backup_archiver.c:3843
#: pg_backup_archiver.c:3862
#, c-format
msgid ""
"WARNING: archive is compressed, but this installation does not support "
@ -900,72 +899,72 @@ msgstr ""
"ПРЕДУПРЕЖДЕНИЕ: архив сжат, но установленная версия не поддерживает сжатие "
"-- данные недоступны\n"
#: pg_backup_archiver.c:3878
#: pg_backup_archiver.c:3897
#, c-format
msgid "WARNING: invalid creation date in header\n"
msgstr "ПРЕДУПРЕЖДЕНИЕ: неверная дата создания в заголовке\n"
#: pg_backup_archiver.c:3957
#: pg_backup_archiver.c:3976
#, c-format
msgid "entering restore_toc_entries_prefork\n"
msgstr "вход в restore_toc_entries_prefork\n"
#: pg_backup_archiver.c:4021
#: pg_backup_archiver.c:4040
#, c-format
msgid "processing item %d %s %s\n"
msgstr "обработка объекта %d %s %s\n"
#: pg_backup_archiver.c:4075
#: pg_backup_archiver.c:4094
#, c-format
msgid "entering restore_toc_entries_parallel\n"
msgstr "вход в restore_toc_entries_parallel\n"
#: pg_backup_archiver.c:4096
#: pg_backup_archiver.c:4115
#, c-format
msgid "entering main parallel loop\n"
msgstr "вход в основной параллельный цикл\n"
#: pg_backup_archiver.c:4107
#: pg_backup_archiver.c:4126
#, c-format
msgid "skipping item %d %s %s\n"
msgstr "объект %d %s %s пропускается\n"
#: pg_backup_archiver.c:4117
#: pg_backup_archiver.c:4136
#, c-format
msgid "launching item %d %s %s\n"
msgstr "объект %d %s %s запускается\n"
#: pg_backup_archiver.c:4171
#: pg_backup_archiver.c:4190
#, c-format
msgid "finished main parallel loop\n"
msgstr "основной параллельный цикл закончен\n"
#: pg_backup_archiver.c:4189
#: pg_backup_archiver.c:4208
#, c-format
msgid "entering restore_toc_entries_postfork\n"
msgstr "вход в restore_toc_entries_postfork\n"
#: pg_backup_archiver.c:4207
#: pg_backup_archiver.c:4226
#, c-format
msgid "processing missed item %d %s %s\n"
msgstr "обработка пропущенного объекта %d %s %s\n"
#: pg_backup_archiver.c:4386
#: pg_backup_archiver.c:4405
#, c-format
msgid "no item ready\n"
msgstr "элемент не готов\n"
#: pg_backup_archiver.c:4605
#: pg_backup_archiver.c:4624
#, c-format
msgid "transferring dependency %d -> %d to %d\n"
msgstr "переключение зависимости %d -> %d на %d\n"
#: pg_backup_archiver.c:4686
#: pg_backup_archiver.c:4705
#, c-format
msgid "reducing dependencies for %d\n"
msgstr "уменьшение зависимостей для %d\n"
#: pg_backup_archiver.c:4738
#: pg_backup_archiver.c:4757
#, c-format
msgid "table \"%s\" could not be created, will not restore its data\n"
msgstr "создать таблицу \"%s\" не удалось, её данные не будут восстановлены\n"

File diff suppressed because it is too large Load Diff

View File

@ -336,7 +336,7 @@ msgstr "Dernier oldestActiveXID du point de contrôle : %u\n"
#: pg_resetwal.c:812
#, 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:814
#, c-format

View File

@ -5,7 +5,7 @@
# Oleg Bartunov <oleg@sai.msu.su>, 2004.
# Sergey Burladyan <eshkinkot@gmail.com>, 2009.
# Dmitriy Olshevskiy <olshevskiy87@bk.ru>, 2014.
# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022.
# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: pg_resetxlog (PostgreSQL current)\n"

View File

@ -1,13 +1,13 @@
# Russian message translation file for pg_rewind
# Copyright (C) 2015-2016 PostgreSQL Global Development Group
# This file is distributed under the same license as the PostgreSQL package.
# Alexander Lakhin <exclusion@gmail.com>, 2015-2017, 2018, 2019, 2020, 2021, 2022.
# Alexander Lakhin <exclusion@gmail.com>, 2015-2017, 2018, 2019, 2020, 2021, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: pg_rewind (PostgreSQL current)\n"
"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
"POT-Creation-Date: 2022-04-26 13:45+0300\n"
"PO-Revision-Date: 2022-05-07 06:27+0300\n"
"PO-Revision-Date: 2023-08-30 15:22+0300\n"
"Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
"Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
"Language: ru\n"
@ -797,22 +797,22 @@ msgstr ""
#: xlogreader.c:304
#, c-format
msgid "invalid record offset at %X/%X"
msgstr "неверное смещение записи: %X/%X"
msgstr "неверное смещение записи в позиции %X/%X"
#: xlogreader.c:312
#, c-format
msgid "contrecord is requested by %X/%X"
msgstr "по смещению %X/%X запрошено продолжение записи"
msgstr "в позиции %X/%X запрошено продолжение записи"
#: xlogreader.c:353 xlogreader.c:683
#, c-format
msgid "invalid record length at %X/%X: wanted %u, got %u"
msgstr "неверная длина записи по смещению %X/%X: ожидалось %u, получено %u"
msgstr "неверная длина записи в позиции %X/%X: ожидалось %u, получено %u"
#: xlogreader.c:368
#, c-format
msgid "record length %u at %X/%X too long"
msgstr "длина записи %u по смещению %X/%X слишком велика"
msgstr "длина записи %u в позиции %X/%X слишком велика"
#: xlogreader.c:427
#, c-format
@ -827,19 +827,19 @@ msgstr "неверная длина contrecord (%u) в позиции %X/%X"
#: xlogreader.c:691
#, c-format
msgid "invalid resource manager ID %u at %X/%X"
msgstr "неверный ID менеджера ресурсов %u по смещению %X/%X"
msgstr "неверный ID менеджера ресурсов %u в позиции %X/%X"
#: xlogreader.c:705 xlogreader.c:722
#, 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:759
#, c-format
msgid "incorrect resource manager data checksum in record at %X/%X"
msgstr ""
"некорректная контрольная сумма данных менеджера ресурсов в записи по "
"смещению %X/%X"
"некорректная контрольная сумма данных менеджера ресурсов в записи в позиции "
"%X/%X"
#: xlogreader.c:796
#, c-format

View File

@ -1,14 +1,14 @@
# 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 <a.lakhin@postgrespro.ru>, 2017, 2018, 2019, 2020, 2021, 2022.
# Alexander Lakhin <a.lakhin@postgrespro.ru>, 2017, 2018, 2019, 2020, 2021, 2022, 2023.
# Maxim Yablokov <m.yablokov@postgrespro.ru>, 2021.
msgid ""
msgstr ""
"Project-Id-Version: pg_upgrade (PostgreSQL) 10\n"
"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
"POT-Creation-Date: 2023-02-02 08:44+0300\n"
"PO-Revision-Date: 2022-01-19 16:26+0300\n"
"PO-Revision-Date: 2023-08-30 15:47+0300\n"
"Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
"Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
"Language: ru\n"
@ -107,7 +107,7 @@ msgstr ""
#: check.c:250
#, c-format
msgid "This utility can only upgrade to PostgreSQL version %s.\n"
msgstr "Эта утилита может только повышать версию PostgreSQL до %s.\n"
msgstr "Эта утилита может повышать версию PostgreSQL только до %s.\n"
#: check.c:259
#, c-format
@ -265,7 +265,7 @@ msgid ""
"template0 must not allow connections, i.e. its pg_database.datallowconn must "
"be false\n"
msgstr ""
"База template0 не должна допускать подключения, то есть её свойство "
"база template0 не должна допускать подключения, то есть её свойство "
"pg_database.datallowconn должно быть false\n"
#: check.c:767
@ -517,7 +517,7 @@ msgstr "В целевом кластере не хватает необходи
#: controldata.c:563
#, c-format
msgid " checkpoint next XID\n"
msgstr " следующий XID последней конт. точки\n"
msgstr " следующий XID конт. точки\n"
# skip-rule: capital-letter-first
#: controldata.c:566
@ -1703,7 +1703,8 @@ msgstr "нехватка памяти\n"
#: server.c:381
#, c-format
msgid "libpq environment variable %s has a non-local server value: %s\n"
msgstr "в переменной окружения для libpq %s задано не локальное значение: %s\n"
msgstr ""
"в переменной окружения %s для libpq указан адрес не локального сервера: %s\n"
#: tablespace.c:28
#, c-format

View File

@ -1,13 +1,13 @@
# Russian message translation file for pg_waldump
# Copyright (C) 2017 PostgreSQL Global Development Group
# This file is distributed under the same license as the PostgreSQL package.
# Alexander Lakhin <a.lakhin@postgrespro.ru>, 2017, 2018, 2019, 2020, 2022.
# Alexander Lakhin <a.lakhin@postgrespro.ru>, 2017, 2018, 2019, 2020, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: pg_waldump (PostgreSQL) 10\n"
"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
"POT-Creation-Date: 2022-09-29 10:20+0300\n"
"PO-Revision-Date: 2022-09-29 14:17+0300\n"
"PO-Revision-Date: 2023-08-30 15:41+0300\n"
"Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
"Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
"Language: ru\n"
@ -321,22 +321,22 @@ msgstr "Для дополнительной информации попробу
#: xlogreader.c:304
#, c-format
msgid "invalid record offset at %X/%X"
msgstr "неверное смещение записи: %X/%X"
msgstr "неверное смещение записи в позиции %X/%X"
#: xlogreader.c:312
#, c-format
msgid "contrecord is requested by %X/%X"
msgstr "по смещению %X/%X запрошено продолжение записи"
msgstr "в позиции %X/%X запрошено продолжение записи"
#: xlogreader.c:353 xlogreader.c:683
#, c-format
msgid "invalid record length at %X/%X: wanted %u, got %u"
msgstr "неверная длина записи по смещению %X/%X: ожидалось %u, получено %u"
msgstr "неверная длина записи в позиции %X/%X: ожидалось %u, получено %u"
#: xlogreader.c:368
#, c-format
msgid "record length %u at %X/%X too long"
msgstr "длина записи %u по смещению %X/%X слишком велика"
msgstr "длина записи %u в позиции %X/%X слишком велика"
#: xlogreader.c:427
#, c-format
@ -351,19 +351,19 @@ msgstr "неверная длина contrecord (%u) в позиции %X/%X"
#: xlogreader.c:691
#, c-format
msgid "invalid resource manager ID %u at %X/%X"
msgstr "неверный ID менеджера ресурсов %u по смещению %X/%X"
msgstr "неверный ID менеджера ресурсов %u в позиции %X/%X"
#: xlogreader.c:705 xlogreader.c:722
#, 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:759
#, c-format
msgid "incorrect resource manager data checksum in record at %X/%X"
msgstr ""
"некорректная контрольная сумма данных менеджера ресурсов в записи по "
"смещению %X/%X"
"некорректная контрольная сумма данных менеджера ресурсов в записи в позиции "
"%X/%X"
#: xlogreader.c:796
#, c-format

View File

@ -343,12 +343,12 @@ msgstr "WAL-fil är från ett annat databassystem: WAL-filens databassystemident
#: xlogreader.c:843
#, 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:849
#, 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:880
#, c-format

View File

@ -283,7 +283,7 @@ msgstr "Ingrésela nuevamente: "
#: command.c:1819
#, c-format
msgid "Passwords didn't match.\n"
msgstr "Las constraseñas no coinciden.\n"
msgstr "Las contraseñas no coinciden.\n"
#: command.c:1909
#, c-format

View File

@ -3082,7 +3082,7 @@ msgid ""
" [all, errors, none, queries]\n"
msgstr ""
" ECHO\n"
" controlla quale input è scritto su stardard output\n"
" controlla quale input è scritto su standard output\n"
" [all, errors, none, queries]\n"
#: help.c:358

File diff suppressed because it is too large Load Diff

View File

@ -3,12 +3,12 @@
# This file is distributed under the same license as the PostgreSQL package.
# Serguei A. Mokhov, <mokhov@cs.concordia.ca>, 2003-2004.
# Oleg Bartunov <oleg@sai.msu.su>, 2004.
# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2019, 2020, 2021, 2022.
# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2019, 2020, 2021, 2022, 2023.
msgid ""
msgstr ""
"Project-Id-Version: pgscripts (PostgreSQL current)\n"
"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
"POT-Creation-Date: 2022-03-11 08:15+0300\n"
"POT-Creation-Date: 2023-08-07 16:41+0300\n"
"PO-Revision-Date: 2021-11-08 05:30+0300\n"
"Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
"Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
@ -108,12 +108,12 @@ msgstr "%s: кластеризовать таблицу \"%s\" в базе \"%s\
msgid "%s: clustering of database \"%s\" failed: %s"
msgstr "%s: кластеризовать базу \"%s\" не удалось: %s"
#: clusterdb.c:248
#: clusterdb.c:250
#, c-format
msgid "%s: clustering database \"%s\"\n"
msgstr "%s: кластеризация базы \"%s\"\n"
#: clusterdb.c:264
#: clusterdb.c:266
#, c-format
msgid ""
"%s clusters all previously clustered tables in a database.\n"
@ -122,19 +122,19 @@ msgstr ""
"%s упорядочивает данные всех кластеризованных таблиц в базе данных.\n"
"\n"
#: clusterdb.c:265 createdb.c:268 createuser.c:359 dropdb.c:162 dropuser.c:168
#: pg_isready.c:222 reindexdb.c:399 vacuumdb.c:1003
#: clusterdb.c:267 createdb.c:268 createuser.c:359 dropdb.c:162 dropuser.c:168
#: pg_isready.c:222 reindexdb.c:401 vacuumdb.c:1003
#, c-format
msgid "Usage:\n"
msgstr "Использование:\n"
#: clusterdb.c:266 reindexdb.c:400 vacuumdb.c:1004
#: clusterdb.c:268 reindexdb.c:402 vacuumdb.c:1004
#, c-format
msgid " %s [OPTION]... [DBNAME]\n"
msgstr " %s [ПАРАМЕТР]... [ИМЯ_БД]\n"
#: clusterdb.c:267 createdb.c:270 createuser.c:361 dropdb.c:164 dropuser.c:170
#: pg_isready.c:225 reindexdb.c:401 vacuumdb.c:1005
#: clusterdb.c:269 createdb.c:270 createuser.c:361 dropdb.c:164 dropuser.c:170
#: pg_isready.c:225 reindexdb.c:403 vacuumdb.c:1005
#, c-format
msgid ""
"\n"
@ -143,50 +143,50 @@ msgstr ""
"\n"
"Параметры:\n"
#: clusterdb.c:268
#: clusterdb.c:270
#, c-format
msgid " -a, --all cluster all databases\n"
msgstr " -a, --all кластеризовать все базы\n"
#: clusterdb.c:269
#: clusterdb.c:271
#, c-format
msgid " -d, --dbname=DBNAME database to cluster\n"
msgstr " -d, --dbname=ИМЯ_БД имя базы данных для кластеризации\n"
#: clusterdb.c:270 createuser.c:365 dropdb.c:165 dropuser.c:171 reindexdb.c:404
#: clusterdb.c:272 createuser.c:365 dropdb.c:165 dropuser.c:171 reindexdb.c:406
#, c-format
msgid ""
" -e, --echo show the commands being sent to the server\n"
msgstr " -e, --echo отображать команды, отправляемые серверу\n"
#: clusterdb.c:271 reindexdb.c:406
#: clusterdb.c:273 reindexdb.c:408
#, c-format
msgid " -q, --quiet don't write any messages\n"
msgstr " -q, --quiet не выводить никакие сообщения\n"
#: clusterdb.c:272
#: clusterdb.c:274
#, c-format
msgid " -t, --table=TABLE cluster specific table(s) only\n"
msgstr ""
" -t, --table=ТАБЛИЦА кластеризовать только указанную таблицу(ы)\n"
#: clusterdb.c:273 reindexdb.c:410
#: clusterdb.c:275 reindexdb.c:412
#, c-format
msgid " -v, --verbose write a lot of output\n"
msgstr " -v, --verbose выводить исчерпывающие сообщения\n"
#: clusterdb.c:274 createuser.c:377 dropdb.c:167 dropuser.c:174 reindexdb.c:411
#: clusterdb.c:276 createuser.c:377 dropdb.c:167 dropuser.c:174 reindexdb.c:413
#, c-format
msgid " -V, --version output version information, then exit\n"
msgstr " -V, --version показать версию и выйти\n"
#: clusterdb.c:275 createuser.c:382 dropdb.c:169 dropuser.c:176 reindexdb.c:412
#: clusterdb.c:277 createuser.c:382 dropdb.c:169 dropuser.c:176 reindexdb.c:414
#, c-format
msgid " -?, --help show this help, then exit\n"
msgstr " -?, --help показать эту справку и выйти\n"
#: clusterdb.c:276 createdb.c:281 createuser.c:383 dropdb.c:170 dropuser.c:177
#: pg_isready.c:231 reindexdb.c:413 vacuumdb.c:1021
#: clusterdb.c:278 createdb.c:281 createuser.c:383 dropdb.c:170 dropuser.c:177
#: pg_isready.c:231 reindexdb.c:415 vacuumdb.c:1021
#, c-format
msgid ""
"\n"
@ -195,43 +195,43 @@ msgstr ""
"\n"
"Параметры подключения:\n"
#: clusterdb.c:277 createuser.c:384 dropdb.c:171 dropuser.c:178 reindexdb.c:414
#: clusterdb.c:279 createuser.c:384 dropdb.c:171 dropuser.c:178 reindexdb.c:416
#: vacuumdb.c:1022
#, c-format
msgid " -h, --host=HOSTNAME database server host or socket directory\n"
msgstr ""
" -h, --host=ИМЯ имя сервера баз данных или каталог сокетов\n"
#: clusterdb.c:278 createuser.c:385 dropdb.c:172 dropuser.c:179 reindexdb.c:415
#: clusterdb.c:280 createuser.c:385 dropdb.c:172 dropuser.c:179 reindexdb.c:417
#: vacuumdb.c:1023
#, c-format
msgid " -p, --port=PORT database server port\n"
msgstr " -p, --port=ПОРТ порт сервера баз данных\n"
#: clusterdb.c:279 dropdb.c:173 reindexdb.c:416 vacuumdb.c:1024
#: clusterdb.c:281 dropdb.c:173 reindexdb.c:418 vacuumdb.c:1024
#, c-format
msgid " -U, --username=USERNAME user name to connect as\n"
msgstr ""
" -U, --username=ИМЯ имя пользователя для подключения к серверу\n"
#: clusterdb.c:280 createuser.c:387 dropdb.c:174 dropuser.c:181 reindexdb.c:417
#: clusterdb.c:282 createuser.c:387 dropdb.c:174 dropuser.c:181 reindexdb.c:419
#: vacuumdb.c:1025
#, c-format
msgid " -w, --no-password never prompt for password\n"
msgstr " -w, --no-password не запрашивать пароль\n"
#: clusterdb.c:281 createuser.c:388 dropdb.c:175 dropuser.c:182 reindexdb.c:418
#: clusterdb.c:283 createuser.c:388 dropdb.c:175 dropuser.c:182 reindexdb.c:420
#: vacuumdb.c:1026
#, c-format
msgid " -W, --password force password prompt\n"
msgstr " -W, --password запросить пароль\n"
#: clusterdb.c:282 dropdb.c:176 reindexdb.c:419 vacuumdb.c:1027
#: clusterdb.c:284 dropdb.c:176 reindexdb.c:421 vacuumdb.c:1027
#, c-format
msgid " --maintenance-db=DBNAME alternate maintenance database\n"
msgstr " --maintenance-db=ИМЯ_БД сменить опорную базу данных\n"
#: clusterdb.c:283
#: clusterdb.c:285
#, c-format
msgid ""
"\n"
@ -240,8 +240,8 @@ msgstr ""
"\n"
"Подробнее о кластеризации вы можете узнать в описании SQL-команды CLUSTER.\n"
#: clusterdb.c:284 createdb.c:289 createuser.c:389 dropdb.c:177 dropuser.c:183
#: pg_isready.c:236 reindexdb.c:421 vacuumdb.c:1029
#: clusterdb.c:286 createdb.c:289 createuser.c:389 dropdb.c:177 dropuser.c:183
#: pg_isready.c:236 reindexdb.c:423 vacuumdb.c:1029
#, c-format
msgid ""
"\n"
@ -870,17 +870,17 @@ msgstr "%s: переиндексировать схему \"%s\" в базе \"%
msgid "%s: reindexing of database \"%s\" failed: %s"
msgstr "%s: переиндексировать базу данных \"%s\" не удалось: %s"
#: reindexdb.c:353
#: reindexdb.c:355
#, c-format
msgid "%s: reindexing database \"%s\"\n"
msgstr "%s: переиндексация базы данных \"%s\"\n"
#: reindexdb.c:386
#: reindexdb.c:388
#, c-format
msgid "%s: reindexing of system catalogs failed: %s"
msgstr "%s: переиндексировать системные каталоги не удалось: %s"
#: reindexdb.c:398
#: reindexdb.c:400
#, c-format
msgid ""
"%s reindexes a PostgreSQL database.\n"
@ -889,40 +889,40 @@ msgstr ""
"%s переиндексирует базу данных PostgreSQL.\n"
"\n"
#: reindexdb.c:402
#: reindexdb.c:404
#, c-format
msgid " -a, --all reindex all databases\n"
msgstr " -a, --all переиндексировать все базы данных\n"
#: reindexdb.c:403
#: reindexdb.c:405
#, c-format
msgid " -d, --dbname=DBNAME database to reindex\n"
msgstr " -d, --dbname=БД имя базы для переиндексации\n"
#: reindexdb.c:405
#: reindexdb.c:407
#, c-format
msgid " -i, --index=INDEX recreate specific index(es) only\n"
msgstr " -i, --index=ИНДЕКС пересоздать только указанный индекс(ы)\n"
#: reindexdb.c:407
#: reindexdb.c:409
#, c-format
msgid " -s, --system reindex system catalogs only\n"
msgstr ""
" -s, --system переиндексировать только системные каталоги\n"
#: reindexdb.c:408
#: reindexdb.c:410
#, c-format
msgid " -S, --schema=SCHEMA reindex specific schema(s) only\n"
msgstr ""
" -S, --schema=СХЕМА переиндексировать только указанную схему(ы)\n"
#: reindexdb.c:409
#: reindexdb.c:411
#, c-format
msgid " -t, --table=TABLE reindex specific table(s) only\n"
msgstr ""
" -t, --table=ТАБЛИЦА переиндексировать только указанную таблицу(ы)\n"
#: reindexdb.c:420
#: reindexdb.c:422
#, c-format
msgid ""
"\n"

View File

@ -639,10 +639,10 @@
#define PACKAGE_NAME "PostgreSQL"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "PostgreSQL 11.21"
#define PACKAGE_STRING "PostgreSQL 11.22"
/* Define to the version of this package. */
#define PACKAGE_VERSION "11.21"
#define PACKAGE_VERSION "11.22"
/* Define to the name of a signed 128-bit integer type. */
#undef PG_INT128_TYPE
@ -651,10 +651,10 @@
#define PG_INT64_TYPE long long int
/* PostgreSQL version as a string */
#define PG_VERSION "11.21"
#define PG_VERSION "11.22"
/* PostgreSQL version as a number */
#define PG_VERSION_NUM 110021
#define PG_VERSION_NUM 110022
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "postgresql"

View File

@ -69,6 +69,13 @@ struct ExprState;
struct ExprContext;
/*
* Maximum number of elements in an array. We limit this to at most about a
* quarter billion elements, so that it's not necessary to check for overflow
* in quite so many places --- for instance when palloc'ing Datum arrays.
*/
#define MaxArraySize ((Size) (MaxAllocSize / sizeof(Datum)))
/*
* Arrays are varlena objects, so must meet the varlena convention that
* the first int32 of the object contains the total object size in bytes.

View File

@ -1,8 +1,8 @@
#include <winver.h>
VS_VERSION_INFO VERSIONINFO
FILEVERSION 11,0,21,0
PRODUCTVERSION 11,0,21,0
FILEVERSION 11,0,22,0
PRODUCTVERSION 11,0,22,0
FILEFLAGSMASK 0x3fL
FILEFLAGS 0
FILEOS VOS__WINDOWS32
@ -15,13 +15,13 @@ BEGIN
BEGIN
VALUE "CompanyName", "\0"
VALUE "FileDescription", "PostgreSQL Access Library\0"
VALUE "FileVersion", "11.21\0"
VALUE "FileVersion", "11.22\0"
VALUE "InternalName", "libpq\0"
VALUE "LegalCopyright", "Copyright (C) 2018\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "libpq.dll\0"
VALUE "ProductName", "PostgreSQL\0"
VALUE "ProductVersion", "11.21\0"
VALUE "ProductVersion", "11.22\0"
END
END
BLOCK "VarFileInfo"

View File

@ -4,14 +4,14 @@
# Serguei A. Mokhov <mokhov@cs.concordia.ca>, 2001-2004.
# Oleg Bartunov <oleg@sai.msu.su>, 2005.
# Andrey Sudnik <sudnikand@yandex.ru>, 2010.
# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022.
# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023.
# Maxim Yablokov <m.yablokov@postgrespro.ru>, 2021.
msgid ""
msgstr ""
"Project-Id-Version: libpq (PostgreSQL current)\n"
"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
"POT-Creation-Date: 2023-05-03 05:57+0300\n"
"PO-Revision-Date: 2022-05-07 06:33+0300\n"
"PO-Revision-Date: 2023-08-30 15:09+0300\n"
"Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
"Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
"Language: ru\n"
@ -71,7 +71,7 @@ msgstr "нехватка памяти\n"
#: fe-auth-scram.c:561
msgid "invalid SCRAM response (nonce mismatch)\n"
msgstr "неверный ответ SCRAM (несовпадение проверочного кода)\n"
msgstr "неверный ответ SCRAM (несовпадение разового кода)\n"
#: fe-auth-scram.c:592
msgid "malformed SCRAM message (invalid salt)\n"
@ -1010,7 +1010,7 @@ msgstr "имя в SSL-сертификате включает нулевой б
#: fe-secure-common.c:171
msgid "host name must be specified for a verified SSL connection\n"
msgstr "для проверенного SSL-соединения требуется указать имя узла\n"
msgstr "для проверенного SSL-соединения должно указываться имя узла\n"
#: fe-secure-common.c:196
#, c-format
@ -1020,7 +1020,7 @@ msgstr ""
#: fe-secure-common.c:202
msgid "could not get server's host name from server certificate\n"
msgstr "не удалось получить имя сервера из сертификата\n"
msgstr "не удалось получить имя сервера из серверного сертификата\n"
#: fe-secure-openssl.c:211 fe-secure-openssl.c:319 fe-secure-openssl.c:1258
#, c-format
@ -1060,7 +1060,7 @@ msgstr "не удалось сгенерировать хеш сертифика
#: fe-secure-openssl.c:491
msgid "SSL certificate's name entry is missing\n"
msgstr "запись имени в SSL-сертификате отсутствует\n"
msgstr "в SSL-сертификате отсутствует запись имени\n"
#: fe-secure-openssl.c:820
#, c-format
@ -1136,7 +1136,7 @@ msgstr "не удалось загрузить закрытый ключ SSL \"%
#: fe-secure-openssl.c:1125
#, c-format
msgid "certificate present, but not private key file \"%s\"\n"
msgstr "сертификат присутствует, но файла закрытого ключа \"%s\" нет\n"
msgstr "при наличии сертификата отсутствует файл закрытого ключа \"%s\"\n"
#: fe-secure-openssl.c:1134
#, c-format

View File

@ -321,7 +321,7 @@ msgstr "Unix域的套接字路径\"%s\"超长(最大为%d字节)\n"
#: fe-connect.c:2158
#, c-format
msgid "could not translate Unix-domain socket path \"%s\" to address: %s\n"
msgstr "无法解释 Unix-domian 套接字路径 \"%s\" 到地址: %s\n"
msgstr "无法解释 Unix-domain 套接字路径 \"%s\" 到地址: %s\n"
# fe-connect.c:891
#: fe-connect.c:2262

View File

@ -1,12 +1,12 @@
# Russian message translation file for plpython
# Copyright (C) 2012-2016 PostgreSQL Global Development Group
# This file is distributed under the same license as the PostgreSQL package.
# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019, 2023.
# Alexander Lakhin <exclusion@gmail.com>, 2012-2017, 2018, 2019.
msgid ""
msgstr ""
"Project-Id-Version: plpython (PostgreSQL current)\n"
"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
"POT-Creation-Date: 2023-05-05 05:24+0300\n"
"POT-Creation-Date: 2023-11-03 09:10+0300\n"
"PO-Revision-Date: 2023-05-05 06:34+0300\n"
"Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n"
"Language-Team: Russian <pgsql-ru-general@postgresql.org>\n"
@ -66,7 +66,7 @@ msgstr ""
msgid "closing a cursor in an aborted subtransaction"
msgstr "закрытие курсора в прерванной подтранзакции"
#: plpy_elog.c:127 plpy_elog.c:128 plpy_plpymodule.c:557
#: plpy_elog.c:124 plpy_elog.c:125 plpy_plpymodule.c:557
#, c-format
msgid "%s"
msgstr "%s"

View File

@ -1,14 +1,14 @@
# Swedish message translation file for plpython
# Copyright (C) 2017 PostgreSQL Global Development Group
# This file is distributed under the same license as the PostgreSQL package.
# Dennis Björklund <db@zigo.dhs.org>, 2017, 2018, 2019, 2020, 2021.
# Dennis Björklund <db@zigo.dhs.org>, 2017, 2018, 2019, 2020, 2021, 2022, 2023.
#
msgid ""
msgstr ""
"Project-Id-Version: PostgreSQL 11\n"
"Report-Msgid-Bugs-To: pgsql-bugs@postgresql.org\n"
"POT-Creation-Date: 2022-02-16 07:15+0000\n"
"PO-Revision-Date: 2021-11-07 10:38+0100\n"
"POT-Creation-Date: 2023-08-07 21:15+0000\n"
"PO-Revision-Date: 2023-08-02 12:03+0200\n"
"Last-Translator: Dennis Björklund <db@zigo.dhs.org>\n"
"Language-Team: Swedish <pgsql-translators@postgresql.org>\n"
"Language: sv\n"
@ -64,7 +64,7 @@ msgstr "frågeresultet har för många rader för att få plats i en Python-list
msgid "closing a cursor in an aborted subtransaction"
msgstr "stänger en markör i en avbruten subtransaktion"
#: plpy_elog.c:127 plpy_elog.c:128 plpy_plpymodule.c:559
#: plpy_elog.c:127 plpy_elog.c:128 plpy_plpymodule.c:557
#, c-format
msgid "%s"
msgstr "%s"
@ -107,7 +107,7 @@ msgstr "PL/Python-funktion med returtyp \"void\" returnerade inte None"
#: plpy_exec.c:374 plpy_exec.c:400
#, c-format
msgid "unexpected return value from trigger procedure"
msgstr "oväntat returvärde från utlösarprocedur"
msgstr "oväntat returvärde från triggerprocedur"
#: plpy_exec.c:375
#, c-format
@ -117,64 +117,64 @@ msgstr "Förväntade None eller en sträng."
#: plpy_exec.c:390
#, c-format
msgid "PL/Python trigger function returned \"MODIFY\" in a DELETE trigger -- ignored"
msgstr "PL/Python-utlösarfunktion returnerade \"MODIFY\" i en DELETE-utlösare -- ignorerad"
msgstr "PL/Python-triggerfunktion returnerade \"MODIFY\" i en DELETE-trigger -- ignorerad"
#: plpy_exec.c:401
#, c-format
msgid "Expected None, \"OK\", \"SKIP\", or \"MODIFY\"."
msgstr "Förväntade None, \"OK\", \"SKIP\" eller \"MODIFY\"."
#: plpy_exec.c:451
#: plpy_exec.c:456
#, c-format
msgid "PyList_SetItem() failed, while setting up arguments"
msgstr "PyList_SetItem() misslyckades vid uppsättning av argument"
#: plpy_exec.c:455
#: plpy_exec.c:460
#, c-format
msgid "PyDict_SetItemString() failed, while setting up arguments"
msgstr "PyDict_SetItemString() misslyckades vid uppsättning av argument"
#: plpy_exec.c:467
#: plpy_exec.c:472
#, c-format
msgid "function returning record called in context that cannot accept type record"
msgstr "en funktion med post som värde anropades i sammanhang där poster inte kan godtagas."
#: plpy_exec.c:684
#: plpy_exec.c:689
#, c-format
msgid "while creating return value"
msgstr "vid skapande av returvärde"
#: plpy_exec.c:909
#: plpy_exec.c:927
#, c-format
msgid "TD[\"new\"] deleted, cannot modify row"
msgstr "TD[\"new\"] raderad, kan inte modifiera rad"
#: plpy_exec.c:914
#: plpy_exec.c:932
#, c-format
msgid "TD[\"new\"] is not a dictionary"
msgstr "TD[\"new\"] är inte en dictionary"
#: plpy_exec.c:941
#: plpy_exec.c:959
#, c-format
msgid "TD[\"new\"] dictionary key at ordinal position %d is not a string"
msgstr "TD[\"new\"] dictionary-nyckel vid numerisk position %d är inte en sträng"
#: plpy_exec.c:948
#: plpy_exec.c:966
#, c-format
msgid "key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering row"
msgstr "nyckel \"%s\" hittad i TD[\"new\"] finns inte som en kolumn i den utlösande raden"
msgstr "nyckel \"%s\" hittad i TD[\"new\"] finns inte som en kolumn i den triggande raden"
#: plpy_exec.c:953
#: plpy_exec.c:971
#, c-format
msgid "cannot set system attribute \"%s\""
msgstr "kan inte sätta systemattribut \"%s\""
#: plpy_exec.c:1011
#: plpy_exec.c:1029
#, c-format
msgid "while modifying trigger row"
msgstr "vid modifiering av utlösande rad"
msgstr "vid modifiering av triggerrad"
#: plpy_exec.c:1072
#: plpy_exec.c:1090
#, c-format
msgid "forcibly aborting a subtransaction that has not been exited"
msgstr "tvingar avbrytande av subtransaktion som inte har avslutats"
@ -219,46 +219,46 @@ msgstr "PL/Python-funktion \"%s\""
msgid "PL/Python anonymous code block"
msgstr "PL/Python anonymt kodblock"
#: plpy_plpymodule.c:192 plpy_plpymodule.c:195
#: plpy_plpymodule.c:190 plpy_plpymodule.c:193
#, c-format
msgid "could not import \"plpy\" module"
msgstr "kunde inte importera \"plpy\"-modul"
#: plpy_plpymodule.c:210
#: plpy_plpymodule.c:208
#, c-format
msgid "could not create the spiexceptions module"
msgstr "kunde inte skapa modulen spiexceptions"
#: plpy_plpymodule.c:218
#: plpy_plpymodule.c:216
#, c-format
msgid "could not add the spiexceptions module"
msgstr "kunde inte lägga till modulen spiexceptions"
#: plpy_plpymodule.c:286
#: plpy_plpymodule.c:284
#, c-format
msgid "could not generate SPI exceptions"
msgstr "kunde inte skapa SPI-undantag"
#: plpy_plpymodule.c:454
#: plpy_plpymodule.c:452
#, c-format
msgid "could not unpack arguments in plpy.elog"
msgstr "kunde inte packa upp argument i plpy.elog"
#: plpy_plpymodule.c:463
#: plpy_plpymodule.c:461
msgid "could not parse error message in plpy.elog"
msgstr "kunde inte parsa felmeddelande i plpy.elog"
#: plpy_plpymodule.c:480
#: plpy_plpymodule.c:478
#, c-format
msgid "argument 'message' given by name and position"
msgstr "argumentet 'message' angivet med namn och position"
#: plpy_plpymodule.c:507
#: plpy_plpymodule.c:505
#, c-format
msgid "'%s' is an invalid keyword argument for this function"
msgstr "'%s' är ett ogiltigt nyckelordsargument för denna funktion"
#: plpy_plpymodule.c:518 plpy_plpymodule.c:524
#: plpy_plpymodule.c:516 plpy_plpymodule.c:522
#, c-format
msgid "invalid SQLSTATE code"
msgstr "ogiltig SQLSTATE-kod"
@ -343,102 +343,92 @@ msgstr "denna subtransaktion har inte gåtts in i"
msgid "there is no subtransaction to exit from"
msgstr "det finns ingen subtransaktion att avsluta från"
#: plpy_typeio.c:591
#: plpy_typeio.c:592
#, c-format
msgid "could not import a module for Decimal constructor"
msgstr "kunde inte importera en modul för Decimal-konstruktorn"
#: plpy_typeio.c:595
#: plpy_typeio.c:596
#, c-format
msgid "no Decimal attribute in module"
msgstr "inga Decimal-attribut i modulen"
#: plpy_typeio.c:601
#: plpy_typeio.c:602
#, c-format
msgid "conversion from numeric to Decimal failed"
msgstr "konvertering från numeric till Decimal misslyckades"
#: plpy_typeio.c:908
#: plpy_typeio.c:909
#, c-format
msgid "could not create bytes representation of Python object"
msgstr "kunde inte skapa byte-representation av Python-objekt"
#: plpy_typeio.c:1056
#: plpy_typeio.c:1057
#, c-format
msgid "could not create string representation of Python object"
msgstr "kunde inte skapa strängrepresentation av Python-objekt"
#: plpy_typeio.c:1067
#: plpy_typeio.c:1068
#, c-format
msgid "could not convert Python object into cstring: Python string representation appears to contain null bytes"
msgstr "kunde inte konvertera Python-objekt till cstring: Python-strängrepresentationen verkar innehålla noll-bytes"
#: plpy_typeio.c:1176
#, c-format
msgid "number of array dimensions exceeds the maximum allowed (%d)"
msgstr "antal array-dimensioner överskriver maximalt tillåtna (%d)"
#: plpy_typeio.c:1180
#, c-format
msgid "could not determine sequence length for function return value"
msgstr "kunde inte bestämma sekvenslängd för funktionens returvärde"
#: plpy_typeio.c:1183 plpy_typeio.c:1187
#, c-format
msgid "array size exceeds the maximum allowed"
msgstr "array-storlek överskrider maximalt tillåtna"
#: plpy_typeio.c:1213
#: plpy_typeio.c:1166
#, c-format
msgid "return value of function with array return type is not a Python sequence"
msgstr "returvärde för funktion med array-returtyp är inte en Python-sekvens"
#: plpy_typeio.c:1259
#: plpy_typeio.c:1211
#, c-format
msgid "wrong length of inner sequence: has length %d, but %d was expected"
msgstr "fel längd på inre sekvens: har längd %d, men %d förväntades"
msgid "could not determine sequence length for function return value"
msgstr "kunde inte bestämma sekvenslängd för funktionens returvärde"
#: plpy_typeio.c:1261
#: plpy_typeio.c:1231 plpy_typeio.c:1246 plpy_typeio.c:1262
#, c-format
msgid "To construct a multidimensional array, the inner sequences must all have the same length."
msgstr "För att skapa en multidimensionell array så skall alla de inre sekvenserna ha samma längd."
msgid "multidimensional arrays must have array expressions with matching dimensions"
msgstr "flerdimensionella vektorer måste ha array-uttryck av passande dimensioner"
#: plpy_typeio.c:1340
#: plpy_typeio.c:1236
#, c-format
msgid "number of array dimensions exceeds the maximum allowed (%d)"
msgstr "antal array-dimensioner överskriver maximalt tillåtna (%d)"
#: plpy_typeio.c:1341
#, c-format
msgid "malformed record literal: \"%s\""
msgstr "felaktig postliteral: \"%s\""
#: plpy_typeio.c:1341
#: plpy_typeio.c:1342
#, c-format
msgid "Missing left parenthesis."
msgstr "Saknar vänster parentes"
#: plpy_typeio.c:1342 plpy_typeio.c:1543
#: plpy_typeio.c:1343 plpy_typeio.c:1544
#, c-format
msgid "To return a composite type in an array, return the composite type as a Python tuple, e.g., \"[('foo',)]\"."
msgstr "För att returnera en composite-typ i en array, returnera composite-typen som en Python-tupel, t.ex. \"[('foo',)]\"."
#: plpy_typeio.c:1389
#: plpy_typeio.c:1390
#, c-format
msgid "key \"%s\" not found in mapping"
msgstr "nyckeln \"%s\" hittades inte i mapping"
#: plpy_typeio.c:1390
#: plpy_typeio.c:1391
#, c-format
msgid "To return null in a column, add the value None to the mapping with the key named after the column."
msgstr "För att returnera null i en kolumn så lägg till värdet None till mappningen med nyckelnamn taget från kolumnen."
#: plpy_typeio.c:1443
#: plpy_typeio.c:1444
#, c-format
msgid "length of returned sequence did not match number of columns in row"
msgstr "längden på den returnerade sekvensen matchade inte antal kolumner i raden"
#: plpy_typeio.c:1541
#: plpy_typeio.c:1542
#, c-format
msgid "attribute \"%s\" does not exist in Python object"
msgstr "attributet \"%s\" finns inte i Python-objektet"
#: plpy_typeio.c:1544
#: plpy_typeio.c:1545
#, c-format
msgid "To return null in a column, let the returned object have an attribute named after column with value None."
msgstr "För att returnera null i en kolumn så låt det returnerade objektet ha ett attribut med namn efter kolumnen och med värdet None."

View File

@ -49,9 +49,7 @@ msgstr "traitement du paramètre %s"
#: pltcl.c:830
#, 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:994
#, c-format

View File

@ -2,8 +2,8 @@
#include "pg_config.h"
VS_VERSION_INFO VERSIONINFO
FILEVERSION 11,0,21,0
PRODUCTVERSION 11,0,21,0
FILEVERSION 11,0,22,0
PRODUCTVERSION 11,0,22,0
FILEFLAGSMASK 0x17L
FILEFLAGS 0x0L
FILEOS VOS_NT_WINDOWS32

View File

@ -1523,6 +1523,13 @@ SELECT jsonb_object_agg(name, type) FROM foo;
INSERT INTO foo VALUES (999999, NULL, 'bar');
SELECT jsonb_object_agg(name, type) FROM foo;
ERROR: field name must not be null
-- edge case for parser
SELECT jsonb_object_agg(DISTINCT 'a', 'abc');
jsonb_object_agg
------------------
{"a": "abc"}
(1 row)
-- jsonb_object
-- empty object, one dimension
SELECT jsonb_object('{}');

View File

@ -1718,6 +1718,24 @@ SELECT * FROM pg_largeobject LIMIT 0;
SET SESSION AUTHORIZATION regress_priv_user1;
SELECT * FROM pg_largeobject LIMIT 0; -- to be denied
ERROR: permission denied for table pg_largeobject
-- pg_signal_backend can't signal superusers
RESET SESSION AUTHORIZATION;
BEGIN;
CREATE OR REPLACE FUNCTION terminate_nothrow(pid int) RETURNS bool
LANGUAGE plpgsql SECURITY DEFINER SET client_min_messages = error AS $$
BEGIN
RETURN pg_terminate_backend($1);
EXCEPTION WHEN OTHERS THEN
RETURN false;
END$$;
ALTER FUNCTION terminate_nothrow OWNER TO pg_signal_backend;
SELECT backend_type FROM pg_stat_activity
WHERE CASE WHEN COALESCE(usesysid, 10) = 10 THEN terminate_nothrow(pid) END;
backend_type
--------------
(0 rows)
ROLLBACK;
-- test default ACLs
\c -
CREATE SCHEMA testns;

View File

@ -376,6 +376,9 @@ SELECT jsonb_object_agg(name, type) FROM foo;
INSERT INTO foo VALUES (999999, NULL, 'bar');
SELECT jsonb_object_agg(name, type) FROM foo;
-- edge case for parser
SELECT jsonb_object_agg(DISTINCT 'a', 'abc');
-- jsonb_object
-- empty object, one dimension

View File

@ -1053,6 +1053,21 @@ SELECT * FROM pg_largeobject LIMIT 0;
SET SESSION AUTHORIZATION regress_priv_user1;
SELECT * FROM pg_largeobject LIMIT 0; -- to be denied
-- pg_signal_backend can't signal superusers
RESET SESSION AUTHORIZATION;
BEGIN;
CREATE OR REPLACE FUNCTION terminate_nothrow(pid int) RETURNS bool
LANGUAGE plpgsql SECURITY DEFINER SET client_min_messages = error AS $$
BEGIN
RETURN pg_terminate_backend($1);
EXCEPTION WHEN OTHERS THEN
RETURN false;
END$$;
ALTER FUNCTION terminate_nothrow OWNER TO pg_signal_backend;
SELECT backend_type FROM pg_stat_activity
WHERE CASE WHEN COALESCE(usesysid, 10) = 10 THEN terminate_nothrow(pid) END;
ROLLBACK;
-- test default ACLs
\c -